github.com/posener/gitfs@v1.2.2-0.20200410105819-ea4e48d73ab9/cmd/gitfs/templates/test.go.gotmpl (about) 1 // Code generated by gitfs; DO NOT EDIT 2 package {{.Package}} 3 4 import ( 5 "testing" 6 "context" 7 8 "github.com/posener/gitfs" 9 "github.com/posener/gitfs/fsutil" 10 ) 11 12 // Test{{ .TestName }} checks that packed binary matches the local conent. 13 // To skip generating this test run gitfs with -skip-test-gen flag. 14 func Test{{ .TestName }}(t *testing.T) { 15 ctx := context.Background() 16 projects := []struct{ 17 project string 18 glob []string 19 }{ 20 {{ range $_, $config := .Calls -}} 21 { 22 project: "{{ $config.Project }}", 23 {{ if .GlobPatterns -}} 24 glob: []string{ 25 {{ range $glob, $_ := .GlobPatterns -}} 26 "{{ $glob }}", 27 {{ end -}} 28 }, 29 {{ end }} 30 }, 31 {{ end -}} 32 } 33 for _, tt := range projects { 34 t.Run(tt.project, func(t *testing.T) { 35 binary, err := gitfs.New(ctx, tt.project, gitfs.OptGlob(tt.glob...)) 36 if err != nil { 37 t.Fatalf("Failed loading binary project %q: %s", tt.project, err) 38 } 39 local, err := gitfs.New(ctx, tt.project, gitfs.OptLocal("."), gitfs.OptGlob(tt.glob...)) 40 if err != nil { 41 t.Fatalf("Failed loading local project %q: %s", tt.project, err) 42 } 43 diff, err := fsutil.Diff(local, binary) 44 if err != nil { 45 t.Fatalf("Failed performing filesystem diff: %s", err) 46 } 47 diff.A = "local" 48 diff.B = "binary" 49 50 if d := diff.String(); d != "" { 51 t.Errorf("Filesystem was modified after last binary generated. Please regenerae.\nDiff:\n%s",d) 52 } 53 }) 54 } 55 }