github.com/tboehle/gogen@v0.1.1/specific/process_test.go (about) 1 package specific 2 3 import ( 4 "fmt" 5 "io/ioutil" 6 "os" 7 "os/exec" 8 "testing" 9 ) 10 11 func TestProcessContainerRingBuildsWithString(t *testing.T) { 12 out, err := ioutil.TempDir("", "container-ring") 13 if err != nil { 14 t.Fatal(err) 15 } 16 defer os.Remove(out) 17 18 Process("container/ring", out, "string", func(opts *Options) { 19 opts.SkipTestFiles = true 20 }) 21 22 if err := build(out); err != nil { 23 t.Fatalf("failed to build resulting package\n%s", err.Error()) 24 } 25 } 26 27 func TestProcessContainerRingBuildsWithOsFile(t *testing.T) { 28 out, err := ioutil.TempDir("", "container-ring") 29 if err != nil { 30 t.Fatal(err) 31 } 32 defer os.Remove(out) 33 34 Process("container/ring", out, "*os.File", func(opts *Options) { 35 opts.SkipTestFiles = true 36 }) 37 38 if err := build(out); err != nil { 39 t.Fatalf("failed to build resulting package\n%s", err.Error()) 40 } 41 } 42 43 func TestProcessContainerList(t *testing.T) { 44 out, err := ioutil.TempDir("", "container-list") 45 if err != nil { 46 t.Fatal(err) 47 } 48 defer os.Remove(out) 49 50 Process("container/list", out, "string", func(opts *Options) { 51 opts.SkipTestFiles = true 52 }) 53 54 if err := build(out); err != nil { 55 t.Fatalf("failed to build resulting package\n%s", err.Error()) 56 } 57 } 58 59 func TestProcessTestPkg(t *testing.T) { 60 out, err := ioutil.TempDir("", "testpkg") 61 if err != nil { 62 t.Fatal(err) 63 } 64 defer os.Remove(out) 65 66 Process("github.com/ernesto-jimenez/gogen/specific/_testpkg", out, "string", func(opts *Options) { 67 opts.SkipTestFiles = true 68 }) 69 70 if err := build(out); err != nil { 71 t.Fatalf("failed to build resulting package\n%s", err.Error()) 72 } 73 } 74 75 func build(dir string) error { 76 os.Chdir(dir) 77 cmd := exec.Command("go", "build") 78 out, err := cmd.CombinedOutput() 79 if err != nil { 80 return fmt.Errorf("%s\n%s", err.Error(), out) 81 } 82 return nil 83 }