| package integration_test |
| |
| import ( |
| "os" |
| "os/exec" |
| "path/filepath" |
| |
| . "github.com/onsi/ginkgo" |
| . "github.com/onsi/gomega" |
| "github.com/onsi/gomega/gbytes" |
| "github.com/onsi/gomega/gexec" |
| ) |
| |
| var _ = Describe("ginkgo build", func() { |
| var pathToTest string |
| |
| BeforeEach(func() { |
| pathToTest = tmpPath("passing_ginkgo_tests") |
| copyIn("passing_ginkgo_tests", pathToTest) |
| session := startGinkgo(pathToTest, "build") |
| Eventually(session).Should(gexec.Exit(0)) |
| output := string(session.Out.Contents()) |
| Ω(output).Should(ContainSubstring("Compiling passing_ginkgo_tests")) |
| Ω(output).Should(ContainSubstring("compiled passing_ginkgo_tests.test")) |
| }) |
| |
| It("should build a test binary", func() { |
| _, err := os.Stat(filepath.Join(pathToTest, "passing_ginkgo_tests.test")) |
| Ω(err).ShouldNot(HaveOccurred()) |
| }) |
| |
| It("should be possible to run the test binary directly", func() { |
| cmd := exec.Command("./passing_ginkgo_tests.test") |
| cmd.Dir = pathToTest |
| session, err := gexec.Start(cmd, GinkgoWriter, GinkgoWriter) |
| Ω(err).ShouldNot(HaveOccurred()) |
| Eventually(session).Should(gexec.Exit(0)) |
| Ω(session).Should(gbytes.Say("Running Suite: Passing_ginkgo_tests Suite")) |
| }) |
| |
| It("should be possible to run the test binary via ginkgo", func() { |
| session := startGinkgo(pathToTest, "./passing_ginkgo_tests.test") |
| Eventually(session).Should(gexec.Exit(0)) |
| Ω(session).Should(gbytes.Say("Running Suite: Passing_ginkgo_tests Suite")) |
| }) |
| |
| It("should be possible to run the test binary in parallel", func() { |
| session := startGinkgo(pathToTest, "--nodes=4", "--noColor", "./passing_ginkgo_tests.test") |
| Eventually(session).Should(gexec.Exit(0)) |
| Ω(session).Should(gbytes.Say("Running Suite: Passing_ginkgo_tests Suite")) |
| Ω(session).Should(gbytes.Say("Running in parallel across 4 nodes")) |
| }) |
| }) |