var _ = Describe("Flags Specs", func() { var pathToTest string BeforeEach(func() { pathToTest = tmpPath("flags") copyIn("flags_tests", pathToTest) }) getRandomOrders := func(output string) []int { return []int{strings.Index(output, "RANDOM_A"), strings.Index(output, "RANDOM_B"), strings.Index(output, "RANDOM_C")} } It("normally passes, runs measurements, prints out noisy pendings, does not randomize tests, and honors the programmatic focus", func() { session := startGinkgo(pathToTest, "--noColor") Eventually(session).Should(gexec.Exit(types.GINKGO_FOCUS_EXIT_CODE)) output := string(session.Out.Contents()) Ω(output).Should(ContainSubstring("Ran 3 samples:"), "has a measurement") Ω(output).Should(ContainSubstring("10 Passed")) Ω(output).Should(ContainSubstring("0 Failed")) Ω(output).Should(ContainSubstring("1 Pending")) Ω(output).Should(ContainSubstring("2 Skipped")) Ω(output).Should(ContainSubstring("[PENDING]")) Ω(output).Should(ContainSubstring("marshmallow")) Ω(output).Should(ContainSubstring("chocolate")) Ω(output).Should(ContainSubstring("CUSTOM_FLAG: default")) Ω(output).Should(ContainSubstring("Detected Programmatic Focus - setting exit status to %d", types.GINKGO_FOCUS_EXIT_CODE)) Ω(output).ShouldNot(ContainSubstring("smores")) Ω(output).ShouldNot(ContainSubstring("SLOW TEST")) Ω(output).ShouldNot(ContainSubstring("should honor -slowSpecThreshold"))
"path/filepath" . "github.com/kellyp/lowprofile/Godeps/_workspace/src/github.com/onsi/ginkgo" . "github.com/kellyp/lowprofile/Godeps/_workspace/src/github.com/onsi/gomega" "github.com/kellyp/lowprofile/Godeps/_workspace/src/github.com/onsi/gomega/gbytes" "github.com/kellyp/lowprofile/Godeps/_workspace/src/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())
"os" "os/exec" . "github.com/kellyp/lowprofile/Godeps/_workspace/src/github.com/onsi/ginkgo" . "github.com/kellyp/lowprofile/Godeps/_workspace/src/github.com/onsi/gomega" "github.com/kellyp/lowprofile/Godeps/_workspace/src/github.com/onsi/gomega/gexec" ) var _ = Describe("Coverage Specs", func() { AfterEach(func() { os.RemoveAll("./_fixtures/coverage_fixture/coverage_fixture.coverprofile") }) It("runs coverage analysis in series and in parallel", func() { session := startGinkgo("./_fixtures/coverage_fixture", "-cover") Eventually(session).Should(gexec.Exit(0)) output := session.Out.Contents() Ω(output).Should(ContainSubstring("coverage: 80.0% of statements")) serialCoverProfileOutput, err := exec.Command("go", "tool", "cover", "-func=./_fixtures/coverage_fixture/coverage_fixture.coverprofile").CombinedOutput() Ω(err).ShouldNot(HaveOccurred()) os.RemoveAll("./_fixtures/coverage_fixture/coverage_fixture.coverprofile") Eventually(startGinkgo("./_fixtures/coverage_fixture", "-cover", "-nodes=4")).Should(gexec.Exit(0)) parallelCoverProfileOutput, err := exec.Command("go", "tool", "cover", "-func=./_fixtures/coverage_fixture/coverage_fixture.coverprofile").CombinedOutput() Ω(err).ShouldNot(HaveOccurred()) Ω(parallelCoverProfileOutput).Should(Equal(serialCoverProfileOutput)) })