From d266d9188c3893459ac72d1b0ccbde2dbcbb9472 Mon Sep 17 00:00:00 2001 From: gedi Date: Thu, 8 Nov 2018 17:08:56 +0200 Subject: [PATCH] extract go1.11 specific build scenarios --- builder_go111_test.go | 93 +++++++++++++++++++++++++++++++++++++++++++ builder_test.go | 83 -------------------------------------- 2 files changed, 93 insertions(+), 83 deletions(-) create mode 100644 builder_go111_test.go diff --git a/builder_go111_test.go b/builder_go111_test.go new file mode 100644 index 0000000..0c16714 --- /dev/null +++ b/builder_go111_test.go @@ -0,0 +1,93 @@ +// +build go1.11 + +package godog + +import ( + "bytes" + "os" + "os/exec" + "path/filepath" + "testing" +) + +func TestGodogBuildWithModuleOutsideGopath(t *testing.T) { + dir := filepath.Join(os.TempDir(), "godogs") + err := buildTestPackage(dir, builderFeatureFile, builderMainCodeFile, builderTestFile) + if err != nil { + os.RemoveAll(dir) + t.Fatal(err) + } + defer os.RemoveAll(dir) + + prevDir, err := os.Getwd() + if err != nil { + t.Fatal(err) + } + + if err := os.Chdir(dir); err != nil { + t.Fatal(err) + } + defer os.Chdir(prevDir) + + if out, err := exec.Command("go", "mod", "init", "godogs").CombinedOutput(); err != nil { + t.Log(string(out)) + t.Fatal(err) + } + + var stdout, stderr bytes.Buffer + cmd := exec.Command("godog", "godogs.feature") + cmd.Stdout = &stdout + cmd.Stderr = &stderr + cmd.Env = os.Environ() + + if err := cmd.Run(); err != nil { + t.Log(stdout.String()) + t.Log(stderr.String()) + t.Fatal(err) + } +} + +// func TestGodogBuildWithModuleInsideGopath(t *testing.T) { +// gopath := filepath.Join(os.TempDir(), "_gp") +// dir := filepath.Join(gopath, "src", "godogs") +// err := buildTestPackage(dir, builderFeatureFile, builderMainCodeFile, builderTestFile) +// if err != nil { +// os.RemoveAll(gopath) +// t.Fatal(err) +// } +// defer os.RemoveAll(gopath) + +// prevDir, err := os.Getwd() +// if err != nil { +// t.Fatal(err) +// } + +// if err := os.Chdir(dir); err != nil { +// t.Fatal(err) +// } +// defer os.Chdir(prevDir) + +// c := exec.Command("go", "mod", "init", "godogs") +// c.Env = os.Environ() +// c.Env = append(c.Env, "GOPATH="+gopath) +// c.Env = append(c.Env, "GO111MODULE=on") +// if out, err := c.CombinedOutput(); err != nil { +// t.Log(string(out)) +// t.Fatal(err) +// } + +// var stdout, stderr bytes.Buffer +// cmd := exec.Command("godog", "godogs.feature") +// cmd.Stdout = &stdout +// cmd.Stderr = &stderr +// cmd.Env = os.Environ() +// cmd.Env = append(cmd.Env, "GOPATH="+gopath) +// cmd.Env = append(cmd.Env, "GO111MODULE=on") + +// if err := cmd.Run(); err != nil { +// t.Log(stdout.String()) +// t.Log(stderr.String()) +// t.Fatal(err) +// } +// fmt.Println(stdout.String()) +// } diff --git a/builder_test.go b/builder_test.go index f6c13d0..fa8794d 100644 --- a/builder_test.go +++ b/builder_test.go @@ -2,7 +2,6 @@ package godog import ( "bytes" - "fmt" "io/ioutil" "os" "os/exec" @@ -277,88 +276,6 @@ func TestGodogBuildWithVendoredGodog(t *testing.T) { } } -func TestGodogBuildWithModuleOutsideGopath(t *testing.T) { - dir := filepath.Join(os.TempDir(), "godogs") - err := buildTestPackage(dir, builderFeatureFile, builderMainCodeFile, builderTestFile) - if err != nil { - os.RemoveAll(dir) - t.Fatal(err) - } - defer os.RemoveAll(dir) - - prevDir, err := os.Getwd() - if err != nil { - t.Fatal(err) - } - - if err := os.Chdir(dir); err != nil { - t.Fatal(err) - } - defer os.Chdir(prevDir) - - if out, err := exec.Command("go", "mod", "init", "godogs").CombinedOutput(); err != nil { - t.Log(string(out)) - t.Fatal(err) - } - - var stdout, stderr bytes.Buffer - cmd := exec.Command("godog", "godogs.feature") - cmd.Stdout = &stdout - cmd.Stderr = &stderr - cmd.Env = os.Environ() - - if err := cmd.Run(); err != nil { - t.Log(stdout.String()) - t.Log(stderr.String()) - t.Fatal(err) - } -} - -func TestGodogBuildWithModuleInsideGopath(t *testing.T) { - gopath := filepath.Join(os.TempDir(), "_gp") - dir := filepath.Join(gopath, "src", "godogs") - err := buildTestPackage(dir, builderFeatureFile, builderMainCodeFile, builderTestFile) - if err != nil { - os.RemoveAll(gopath) - t.Fatal(err) - } - defer os.RemoveAll(gopath) - - prevDir, err := os.Getwd() - if err != nil { - t.Fatal(err) - } - - if err := os.Chdir(dir); err != nil { - t.Fatal(err) - } - defer os.Chdir(prevDir) - - c := exec.Command("go", "mod", "init", "godogs") - c.Env = os.Environ() - c.Env = append(c.Env, "GOPATH="+gopath) - c.Env = append(c.Env, "GO111MODULE=on") - if out, err := c.CombinedOutput(); err != nil { - t.Log(string(out)) - t.Fatal(err) - } - - var stdout, stderr bytes.Buffer - cmd := exec.Command("godog", "godogs.feature") - cmd.Stdout = &stdout - cmd.Stderr = &stderr - cmd.Env = os.Environ() - cmd.Env = append(cmd.Env, "GOPATH="+gopath) - cmd.Env = append(cmd.Env, "GO111MODULE=on") - - if err := cmd.Run(); err != nil { - t.Log(stdout.String()) - t.Log(stderr.String()) - t.Fatal(err) - } - fmt.Println(stdout.String()) -} - func TestBuildTestRunner(t *testing.T) { bin := filepath.Join(os.TempDir(), "godog.test") if err := Build(bin); err != nil {