github.com/youyuanwu/go-swagger@v0.19.0/cmd/swagger/commands/generate/support_test.go (about) 1 package generate_test 2 3 import ( 4 "io/ioutil" 5 "log" 6 "os" 7 "path/filepath" 8 "testing" 9 10 "github.com/go-swagger/go-swagger/cmd/swagger/commands/generate" 11 flags "github.com/jessevdk/go-flags" 12 ) 13 14 func TestGenerateSupport(t *testing.T) { 15 specs := []string{ 16 "tasklist.basic.yml", 17 } 18 log.SetOutput(ioutil.Discard) 19 defer log.SetOutput(os.Stdout) 20 21 base := filepath.FromSlash("../../../../") 22 for i, spec := range specs { 23 _ = t.Run(spec, func(t *testing.T) { 24 path := filepath.Join(base, "fixtures/codegen", spec) 25 generated, err := ioutil.TempDir(filepath.Dir(path), "generated") 26 if err != nil { 27 t.Fatalf("TempDir()=%s", generated) 28 } 29 defer func() { 30 _ = os.RemoveAll(generated) 31 }() 32 m := &generate.Support{} 33 if i == 0 { 34 m.CopyrightFile = flags.Filename(filepath.Join(base, "LICENSE")) 35 } 36 _, _ = flags.Parse(m) 37 m.Spec = flags.Filename(path) 38 m.Target = flags.Filename(generated) 39 40 if err := m.Execute([]string{}); err != nil { 41 t.Error(err) 42 } 43 }) 44 } 45 }