|  | 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")) | 
|  | }) | 
|  | }) |