"github.com/cloudfoundry-incubator/docker_app_lifecycle/Godeps/_workspace/src/github.com/onsi/gomega/gbytes" "github.com/cloudfoundry-incubator/docker_app_lifecycle/Godeps/_workspace/src/github.com/onsi/gomega/gexec" ) var _ = Describe("Running Specs", func() { var pathToTest string Context("when pointed at the current directory", func() { BeforeEach(func() { pathToTest = tmpPath("ginkgo") copyIn("passing_ginkgo_tests", pathToTest) }) It("should run the tests in the working directory", func() { session := startGinkgo(pathToTest, "--noColor") Eventually(session).Should(gexec.Exit(0)) output := string(session.Out.Contents()) Ω(output).Should(ContainSubstring("Running Suite: Passing_ginkgo_tests Suite")) Ω(output).Should(ContainSubstring("••••")) Ω(output).Should(ContainSubstring("SUCCESS! -- 4 Passed")) Ω(output).Should(ContainSubstring("Test Suite Passed")) }) }) Context("when passed an explicit package to run", func() { BeforeEach(func() { pathToTest = tmpPath("ginkgo") copyIn("passing_ginkgo_tests", pathToTest) })
"github.com/cloudfoundry-incubator/docker_app_lifecycle/Godeps/_workspace/src/github.com/onsi/gomega/gexec" ) var _ = Describe("Verbose And Succinct Mode", func() { var pathToTest string var otherPathToTest string Context("when running one package", func() { BeforeEach(func() { pathToTest = tmpPath("ginkgo") copyIn("passing_ginkgo_tests", pathToTest) }) It("should default to non-succinct mode", func() { session := startGinkgo(pathToTest, "--noColor") Eventually(session).Should(gexec.Exit(0)) output := session.Out.Contents() Ω(output).Should(ContainSubstring("Running Suite: Passing_ginkgo_tests Suite")) }) }) Context("when running more than one package", func() { BeforeEach(func() { pathToTest = tmpPath("ginkgo") copyIn("passing_ginkgo_tests", pathToTest) otherPathToTest = tmpPath("more_ginkgo") copyIn("more_ginkgo_tests", otherPathToTest) }) Context("with no flags set", func() {
import ( . "github.com/cloudfoundry-incubator/docker_app_lifecycle/Godeps/_workspace/src/github.com/onsi/ginkgo" . "github.com/cloudfoundry-incubator/docker_app_lifecycle/Godeps/_workspace/src/github.com/onsi/gomega" "github.com/cloudfoundry-incubator/docker_app_lifecycle/Godeps/_workspace/src/github.com/onsi/gomega/gexec" "os" "os/exec" ) 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)) })
} if len(dockerEmail) > 0 { args = append(args, "-dockerEmail", dockerEmail) } builderCmd = exec.Command(builderPath, args...) builderCmd.Env = os.Environ() }) Context("when running the main", func() { Context("with no docker image arg specified", func() { It("should exit with an error", func() { session := setupBuilder() Eventually(session.Err).Should(gbytes.Say("missing flag: dockerImageURL or dockerRef required")) Eventually(session).Should(gexec.Exit(1)) }) }) Context("with an invalid output path", func() { It("should exit with an error", func() { session := setupBuilder() Eventually(session).Should(gexec.Exit(1)) }) }) Context("with an invalid docker registry addesses", func() { var invalidRegistryAddress string Context("when an address has a scheme", func() { BeforeEach(func() {