1package integration_test
2
3import (
4	. "github.com/onsi/ginkgo"
5	. "github.com/onsi/gomega"
6	"github.com/onsi/gomega/gexec"
7)
8
9var _ = Describe("Skipping Specs", func() {
10	var pathToTest string
11
12	BeforeEach(func() {
13		pathToTest = tmpPath("skipping")
14		copyIn(fixturePath("skip_fixture"), pathToTest, false)
15	})
16
17	It("should skip in all the possible ways", func() {
18		session := startGinkgo(pathToTest, "--noColor")
19		Eventually(session).Should(gexec.Exit(0))
20		output := string(session.Out.Contents())
21
22		Ω(output).ShouldNot(ContainSubstring("NEVER SEE THIS"))
23
24		Ω(output).Should(ContainSubstring("a top level skip on line 9"))
25		Ω(output).Should(ContainSubstring("skip_fixture_test.go:9"))
26		Ω(output).Should(ContainSubstring("an async top level skip on line 14"))
27		Ω(output).Should(ContainSubstring("skip_fixture_test.go:14"))
28		Ω(output).Should(ContainSubstring("a top level goroutine skip on line 21"))
29		Ω(output).Should(ContainSubstring("skip_fixture_test.go:21"))
30
31		Ω(output).Should(ContainSubstring("a sync SKIP"))
32		Ω(output).Should(ContainSubstring("an async SKIP"))
33		Ω(output).Should(ContainSubstring("a goroutine SKIP"))
34		Ω(output).Should(ContainSubstring("a measure SKIP"))
35
36		Ω(output).Should(ContainSubstring("S [SKIPPING] in Spec Setup (BeforeEach) ["))
37		Ω(output).Should(ContainSubstring("a BeforeEach SKIP"))
38		Ω(output).Should(ContainSubstring("S [SKIPPING] in Spec Teardown (AfterEach) ["))
39		Ω(output).Should(ContainSubstring("an AfterEach SKIP"))
40
41		Ω(output).Should(ContainSubstring("0 Passed | 0 Failed | 0 Pending | 9 Skipped"))
42	})
43})
44