summaryrefslogtreecommitdiff
path: root/vendor/github.com/onsi/ginkgo/internal/spec_iterator/index_computer_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/onsi/ginkgo/internal/spec_iterator/index_computer_test.go')
-rw-r--r--vendor/github.com/onsi/ginkgo/internal/spec_iterator/index_computer_test.go149
1 files changed, 149 insertions, 0 deletions
diff --git a/vendor/github.com/onsi/ginkgo/internal/spec_iterator/index_computer_test.go b/vendor/github.com/onsi/ginkgo/internal/spec_iterator/index_computer_test.go
new file mode 100644
index 000000000..65da9837c
--- /dev/null
+++ b/vendor/github.com/onsi/ginkgo/internal/spec_iterator/index_computer_test.go
@@ -0,0 +1,149 @@
+package spec_iterator_test
+
+import (
+ . "github.com/onsi/ginkgo"
+ . "github.com/onsi/ginkgo/internal/spec_iterator"
+ . "github.com/onsi/gomega"
+)
+
+var _ = Describe("ParallelizedIndexRange", func() {
+ var startIndex, count int
+
+ It("should return the correct index range for 4 tests on 2 nodes", func() {
+ startIndex, count = ParallelizedIndexRange(4, 2, 1)
+ Ω(startIndex).Should(Equal(0))
+ Ω(count).Should(Equal(2))
+
+ startIndex, count = ParallelizedIndexRange(4, 2, 2)
+ Ω(startIndex).Should(Equal(2))
+ Ω(count).Should(Equal(2))
+ })
+
+ It("should return the correct index range for 5 tests on 2 nodes", func() {
+ startIndex, count = ParallelizedIndexRange(5, 2, 1)
+ Ω(startIndex).Should(Equal(0))
+ Ω(count).Should(Equal(3))
+
+ startIndex, count = ParallelizedIndexRange(5, 2, 2)
+ Ω(startIndex).Should(Equal(3))
+ Ω(count).Should(Equal(2))
+ })
+
+ It("should return the correct index range for 5 tests on 3 nodes", func() {
+ startIndex, count = ParallelizedIndexRange(5, 3, 1)
+ Ω(startIndex).Should(Equal(0))
+ Ω(count).Should(Equal(2))
+
+ startIndex, count = ParallelizedIndexRange(5, 3, 2)
+ Ω(startIndex).Should(Equal(2))
+ Ω(count).Should(Equal(2))
+
+ startIndex, count = ParallelizedIndexRange(5, 3, 3)
+ Ω(startIndex).Should(Equal(4))
+ Ω(count).Should(Equal(1))
+ })
+
+ It("should return the correct index range for 5 tests on 4 nodes", func() {
+ startIndex, count = ParallelizedIndexRange(5, 4, 1)
+ Ω(startIndex).Should(Equal(0))
+ Ω(count).Should(Equal(2))
+
+ startIndex, count = ParallelizedIndexRange(5, 4, 2)
+ Ω(startIndex).Should(Equal(2))
+ Ω(count).Should(Equal(1))
+
+ startIndex, count = ParallelizedIndexRange(5, 4, 3)
+ Ω(startIndex).Should(Equal(3))
+ Ω(count).Should(Equal(1))
+
+ startIndex, count = ParallelizedIndexRange(5, 4, 4)
+ Ω(startIndex).Should(Equal(4))
+ Ω(count).Should(Equal(1))
+ })
+
+ It("should return the correct index range for 5 tests on 5 nodes", func() {
+ startIndex, count = ParallelizedIndexRange(5, 5, 1)
+ Ω(startIndex).Should(Equal(0))
+ Ω(count).Should(Equal(1))
+
+ startIndex, count = ParallelizedIndexRange(5, 5, 2)
+ Ω(startIndex).Should(Equal(1))
+ Ω(count).Should(Equal(1))
+
+ startIndex, count = ParallelizedIndexRange(5, 5, 3)
+ Ω(startIndex).Should(Equal(2))
+ Ω(count).Should(Equal(1))
+
+ startIndex, count = ParallelizedIndexRange(5, 5, 4)
+ Ω(startIndex).Should(Equal(3))
+ Ω(count).Should(Equal(1))
+
+ startIndex, count = ParallelizedIndexRange(5, 5, 5)
+ Ω(startIndex).Should(Equal(4))
+ Ω(count).Should(Equal(1))
+ })
+
+ It("should return the correct index range for 5 tests on 6 nodes", func() {
+ startIndex, count = ParallelizedIndexRange(5, 6, 1)
+ Ω(startIndex).Should(Equal(0))
+ Ω(count).Should(Equal(1))
+
+ startIndex, count = ParallelizedIndexRange(5, 6, 2)
+ Ω(startIndex).Should(Equal(1))
+ Ω(count).Should(Equal(1))
+
+ startIndex, count = ParallelizedIndexRange(5, 6, 3)
+ Ω(startIndex).Should(Equal(2))
+ Ω(count).Should(Equal(1))
+
+ startIndex, count = ParallelizedIndexRange(5, 6, 4)
+ Ω(startIndex).Should(Equal(3))
+ Ω(count).Should(Equal(1))
+
+ startIndex, count = ParallelizedIndexRange(5, 6, 5)
+ Ω(startIndex).Should(Equal(4))
+ Ω(count).Should(Equal(1))
+
+ startIndex, count = ParallelizedIndexRange(5, 6, 6)
+ Ω(count).Should(Equal(0))
+ })
+
+ It("should return the correct index range for 5 tests on 7 nodes", func() {
+ startIndex, count = ParallelizedIndexRange(5, 7, 6)
+ Ω(count).Should(Equal(0))
+
+ startIndex, count = ParallelizedIndexRange(5, 7, 7)
+ Ω(count).Should(Equal(0))
+ })
+
+ It("should return the correct index range for 11 tests on 7 nodes", func() {
+ startIndex, count = ParallelizedIndexRange(11, 7, 1)
+ Ω(startIndex).Should(Equal(0))
+ Ω(count).Should(Equal(2))
+
+ startIndex, count = ParallelizedIndexRange(11, 7, 2)
+ Ω(startIndex).Should(Equal(2))
+ Ω(count).Should(Equal(2))
+
+ startIndex, count = ParallelizedIndexRange(11, 7, 3)
+ Ω(startIndex).Should(Equal(4))
+ Ω(count).Should(Equal(2))
+
+ startIndex, count = ParallelizedIndexRange(11, 7, 4)
+ Ω(startIndex).Should(Equal(6))
+ Ω(count).Should(Equal(2))
+
+ startIndex, count = ParallelizedIndexRange(11, 7, 5)
+ Ω(startIndex).Should(Equal(8))
+ Ω(count).Should(Equal(1))
+
+ startIndex, count = ParallelizedIndexRange(11, 7, 6)
+ Ω(startIndex).Should(Equal(9))
+ Ω(count).Should(Equal(1))
+
+ startIndex, count = ParallelizedIndexRange(11, 7, 7)
+ Ω(startIndex).Should(Equal(10))
+ Ω(count).Should(Equal(1))
+ })
+
+})