summaryrefslogtreecommitdiff
path: root/vendor/github.com/onsi/ginkgo/internal/spec_iterator/sharded_parallel_spec_iterator_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/onsi/ginkgo/internal/spec_iterator/sharded_parallel_spec_iterator_test.go')
-rw-r--r--vendor/github.com/onsi/ginkgo/internal/spec_iterator/sharded_parallel_spec_iterator_test.go62
1 files changed, 62 insertions, 0 deletions
diff --git a/vendor/github.com/onsi/ginkgo/internal/spec_iterator/sharded_parallel_spec_iterator_test.go b/vendor/github.com/onsi/ginkgo/internal/spec_iterator/sharded_parallel_spec_iterator_test.go
new file mode 100644
index 000000000..c3786e03a
--- /dev/null
+++ b/vendor/github.com/onsi/ginkgo/internal/spec_iterator/sharded_parallel_spec_iterator_test.go
@@ -0,0 +1,62 @@
+package spec_iterator_test
+
+import (
+ . "github.com/onsi/ginkgo/internal/spec_iterator"
+
+ "github.com/onsi/ginkgo/internal/codelocation"
+ "github.com/onsi/ginkgo/internal/containernode"
+ "github.com/onsi/ginkgo/internal/leafnodes"
+ "github.com/onsi/ginkgo/internal/spec"
+ "github.com/onsi/ginkgo/types"
+
+ . "github.com/onsi/ginkgo"
+ . "github.com/onsi/gomega"
+)
+
+var _ = Describe("ShardedParallelSpecIterator", func() {
+ var specs []*spec.Spec
+ var iterator *ShardedParallelIterator
+
+ newSpec := func(text string, flag types.FlagType) *spec.Spec {
+ subject := leafnodes.NewItNode(text, func() {}, flag, codelocation.New(0), 0, nil, 0)
+ return spec.New(subject, []*containernode.ContainerNode{}, false)
+ }
+
+ BeforeEach(func() {
+ specs = []*spec.Spec{
+ newSpec("A", types.FlagTypePending),
+ newSpec("B", types.FlagTypeNone),
+ newSpec("C", types.FlagTypeNone),
+ newSpec("D", types.FlagTypeNone),
+ }
+ specs[3].Skip()
+
+ iterator = NewShardedParallelIterator(specs, 2, 1)
+ })
+
+ It("should report the total number of specs", func() {
+ Ω(iterator.NumberOfSpecsPriorToIteration()).Should(Equal(4))
+ })
+
+ It("should report the number to be processed", func() {
+ n, known := iterator.NumberOfSpecsToProcessIfKnown()
+ Ω(n).Should(Equal(2))
+ Ω(known).Should(BeTrue())
+ })
+
+ It("should report the number that will be run", func() {
+ n, known := iterator.NumberOfSpecsThatWillBeRunIfKnown()
+ Ω(n).Should(Equal(1))
+ Ω(known).Should(BeTrue())
+ })
+
+ Describe("iterating", func() {
+ It("should return the specs in order", func() {
+ Ω(iterator.Next()).Should(Equal(specs[0]))
+ Ω(iterator.Next()).Should(Equal(specs[1]))
+ spec, err := iterator.Next()
+ Ω(spec).Should(BeNil())
+ Ω(err).Should(MatchError(ErrClosed))
+ })
+ })
+})