All checks were successful
		
		
	
	Test / Create distribution (push) Successful in 33s
				
			Test / Sandbox (push) Successful in 2m9s
				
			Test / Hakurei (push) Successful in 3m5s
				
			Test / Hpkg (push) Successful in 4m4s
				
			Test / Sandbox (race detector) (push) Successful in 4m9s
				
			Test / Hakurei (race detector) (push) Successful in 4m46s
				
			Test / Flake checks (push) Successful in 1m30s
				
			These names are less ambiguous and should be understandable without reading the source code. Signed-off-by: Ophestra <cat@gensokyo.uk>
		
			
				
	
	
		
			46 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			46 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| package internal
 | |
| 
 | |
| import (
 | |
| 	"reflect"
 | |
| 	"testing"
 | |
| 
 | |
| 	"hakurei.app/container/check"
 | |
| )
 | |
| 
 | |
| func TestMustCheckPath(t *testing.T) {
 | |
| 	t.Parallel()
 | |
| 
 | |
| 	testCases := []struct {
 | |
| 		name      string
 | |
| 		pathname  string
 | |
| 		wantFatal string
 | |
| 	}{
 | |
| 		{"zero", "", "invalid test path, this program is compiled incorrectly"},
 | |
| 		{"not absolute", "\x00", `path "\x00" is not absolute`},
 | |
| 		{"success", "/proc/nonexistent", ""},
 | |
| 	}
 | |
| 	for _, tc := range testCases {
 | |
| 		t.Run(tc.name, func(t *testing.T) {
 | |
| 			t.Parallel()
 | |
| 			fatal := func(v ...any) { t.Fatal(append([]any{"invalid call to fatal:"}, v...)...) }
 | |
| 			if tc.wantFatal != "" {
 | |
| 				fatal = func(v ...any) {
 | |
| 					if len(v) != 1 {
 | |
| 						t.Errorf("mustCheckPath: fatal %#v", v)
 | |
| 					} else if gotFatal, ok := v[0].(string); !ok {
 | |
| 						t.Errorf("mustCheckPath: fatal = %#v", v[0])
 | |
| 					} else if gotFatal != tc.wantFatal {
 | |
| 						t.Errorf("mustCheckPath: fatal = %q, want %q", gotFatal, tc.wantFatal)
 | |
| 					}
 | |
| 
 | |
| 					// do not simulate exit
 | |
| 				}
 | |
| 			}
 | |
| 
 | |
| 			if got := mustCheckPath(fatal, "test", tc.pathname); got != nil && !reflect.DeepEqual(got, check.MustAbs(tc.pathname)) {
 | |
| 				t.Errorf("mustCheckPath: %q", got)
 | |
| 			}
 | |
| 		})
 | |
| 	}
 | |
| }
 |