test-queue 0.2.13 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.gitignore +1 -0
- data/.travis.yml +18 -0
- data/Gemfile +2 -0
- data/Gemfile-cucumber1-3 +4 -0
- data/Gemfile-cucumber1-3.lock +33 -0
- data/Gemfile-cucumber2-4 +4 -0
- data/Gemfile-cucumber2-4.lock +37 -0
- data/Gemfile-minitest4.lock +4 -23
- data/Gemfile-minitest5 +3 -0
- data/Gemfile-minitest5.lock +19 -0
- data/Gemfile-rspec2-1 +3 -0
- data/Gemfile-rspec2-1.lock +27 -0
- data/Gemfile-rspec3-0.lock +4 -13
- data/Gemfile-rspec3-1.lock +4 -13
- data/Gemfile-rspec3-2.lock +4 -13
- data/Gemfile-testunit.lock +4 -27
- data/Gemfile.lock +4 -1
- data/README.md +4 -0
- data/bin/minitest-queue +0 -1
- data/bin/testunit-queue +0 -1
- data/lib/test_queue/iterator.rb +41 -10
- data/lib/test_queue/runner.rb +167 -58
- data/lib/test_queue/runner/cucumber.rb +81 -12
- data/lib/test_queue/runner/minitest.rb +0 -4
- data/lib/test_queue/runner/minitest4.rb +25 -2
- data/lib/test_queue/runner/minitest5.rb +36 -11
- data/lib/test_queue/runner/rspec.rb +55 -7
- data/lib/test_queue/runner/rspec2.rb +11 -8
- data/lib/test_queue/runner/rspec3.rb +10 -7
- data/lib/test_queue/runner/sample.rb +0 -2
- data/lib/test_queue/runner/testunit.rb +25 -7
- data/lib/test_queue/stats.rb +95 -0
- data/lib/test_queue/test_framework.rb +29 -0
- data/script/bootstrap +12 -0
- data/script/cibuild +19 -0
- data/script/spec +7 -0
- data/spec/stats_spec.rb +76 -0
- data/test-queue.gemspec +1 -4
- data/test/cucumber.bats +57 -0
- data/test/minitest4.bats +34 -0
- data/test/minitest5.bats +111 -0
- data/test/rspec.bats +38 -0
- data/{features → test/samples/features}/bad.feature +0 -0
- data/{features → test/samples/features}/sample.feature +0 -0
- data/{features → test/samples/features}/sample2.feature +0 -0
- data/{features → test/samples/features}/step_definitions/common.rb +5 -1
- data/test/{sample_minispec.rb → samples/sample_minispec.rb} +6 -0
- data/test/{sample_minitest4.rb → samples/sample_minitest4.rb} +5 -3
- data/test/{sample_minitest5.rb → samples/sample_minitest5.rb} +5 -3
- data/test/{sample_spec.rb → samples/sample_spec.rb} +5 -3
- data/test/samples/sample_split_spec.rb +17 -0
- data/test/{sample_testunit.rb → samples/sample_testunit.rb} +5 -3
- data/test/testlib.bash +81 -0
- data/test/testunit.bats +20 -0
- metadata +40 -60
- data/test-multi.sh +0 -8
- data/test.sh +0 -23
@@ -0,0 +1,17 @@
|
|
1
|
+
require "rspec"
|
2
|
+
|
3
|
+
describe 'SplittableGroup', :no_split => !!ENV["NOSPLIT"] do
|
4
|
+
2.times do |i|
|
5
|
+
it "runs test #{i}" do
|
6
|
+
# Sleep longer in CI to make the distribution of examples across workers
|
7
|
+
# more deterministic.
|
8
|
+
if ENV["CI"]
|
9
|
+
sleep(5)
|
10
|
+
else
|
11
|
+
sleep(1)
|
12
|
+
end
|
13
|
+
|
14
|
+
expect(1).to eq 1
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
data/test/testlib.bash
ADDED
@@ -0,0 +1,81 @@
|
|
1
|
+
# Skip this test unless the bundle contains a gem matching the required
|
2
|
+
# version. Example:
|
3
|
+
#
|
4
|
+
# require_gem "minitest" "~> 5.3"
|
5
|
+
require_gem() {
|
6
|
+
name=$1
|
7
|
+
requirement=$2
|
8
|
+
|
9
|
+
set +e
|
10
|
+
version=$(bundle exec ruby - <<RUBY
|
11
|
+
spec = Gem.loaded_specs['$name']
|
12
|
+
exit unless spec
|
13
|
+
puts spec.version
|
14
|
+
exit Gem::Dependency.new('$name', '$requirement').match?(spec)
|
15
|
+
RUBY
|
16
|
+
)
|
17
|
+
result=$?
|
18
|
+
set -e
|
19
|
+
|
20
|
+
if [ "$version" = "" ]; then
|
21
|
+
skip "$name is not installed"
|
22
|
+
elif [ $result -ne 0 ]; then
|
23
|
+
skip "$name $version is not $requirement"
|
24
|
+
fi
|
25
|
+
}
|
26
|
+
|
27
|
+
assert_status() {
|
28
|
+
expected=$1
|
29
|
+
[ "$status" -eq "$expected" ] || {
|
30
|
+
echo "Expected status to be $expected but was $status. Full output:"
|
31
|
+
echo "$output"
|
32
|
+
return 1
|
33
|
+
}
|
34
|
+
return 0
|
35
|
+
}
|
36
|
+
|
37
|
+
refute_status() {
|
38
|
+
expected=$1
|
39
|
+
[ "$status" -ne "$expected" ] || {
|
40
|
+
echo "Expected status not to be $expected. Full output:"
|
41
|
+
echo "$output"
|
42
|
+
return 1
|
43
|
+
}
|
44
|
+
return 0
|
45
|
+
}
|
46
|
+
|
47
|
+
assert_output_contains() {
|
48
|
+
echo "$output" | fgrep --quiet "$@" || {
|
49
|
+
echo "Expected to find \"$@\" in:"
|
50
|
+
echo "$output"
|
51
|
+
return 1
|
52
|
+
}
|
53
|
+
return 0
|
54
|
+
}
|
55
|
+
|
56
|
+
refute_output_contains() {
|
57
|
+
assert_output_contains "$@" && {
|
58
|
+
echo "Expected not to find \"$@\" in:"
|
59
|
+
echo "$output"
|
60
|
+
return 1
|
61
|
+
}
|
62
|
+
return 0
|
63
|
+
}
|
64
|
+
|
65
|
+
assert_output_matches() {
|
66
|
+
echo "$output" | egrep --quiet "$@" || {
|
67
|
+
echo "Expected to \"$@\" to match within:"
|
68
|
+
echo "$output"
|
69
|
+
return 1
|
70
|
+
}
|
71
|
+
return 0
|
72
|
+
}
|
73
|
+
|
74
|
+
refute_output_matches() {
|
75
|
+
assert_output_matches "$@" && {
|
76
|
+
echo "Expected \"$@\" not to match within:"
|
77
|
+
echo "$output"
|
78
|
+
return 1
|
79
|
+
}
|
80
|
+
return 0
|
81
|
+
}
|
data/test/testunit.bats
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
load "testlib"
|
2
|
+
|
3
|
+
setup() {
|
4
|
+
require_gem "test-unit" ">= 3.0"
|
5
|
+
}
|
6
|
+
|
7
|
+
@test "testunit-queue succeeds when all tests pass" {
|
8
|
+
run bundle exec testunit-queue ./test/samples/*_testunit.rb
|
9
|
+
assert_status 0
|
10
|
+
assert_output_contains "Starting test-queue master"
|
11
|
+
}
|
12
|
+
|
13
|
+
@test "testunit-queue fails when a test fails" {
|
14
|
+
export FAIL=1
|
15
|
+
run bundle exec testunit-queue ./test/samples/*_testunit.rb
|
16
|
+
assert_status 1
|
17
|
+
assert_output_contains "Starting test-queue master"
|
18
|
+
assert_output_contains "Failure:"
|
19
|
+
assert_output_contains "test_fail(TestUnitFailure)"
|
20
|
+
}
|
metadata
CHANGED
@@ -1,54 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: test-queue
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
5
|
-
prerelease:
|
4
|
+
version: 0.3.0
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Aman Gupta
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
13
|
-
dependencies:
|
14
|
-
- !ruby/object:Gem::Dependency
|
15
|
-
name: rspec
|
16
|
-
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
|
-
requirements:
|
19
|
-
- - ! '>='
|
20
|
-
- !ruby/object:Gem::Version
|
21
|
-
version: '2.13'
|
22
|
-
- - <
|
23
|
-
- !ruby/object:Gem::Version
|
24
|
-
version: '4.0'
|
25
|
-
type: :development
|
26
|
-
prerelease: false
|
27
|
-
version_requirements: !ruby/object:Gem::Requirement
|
28
|
-
none: false
|
29
|
-
requirements:
|
30
|
-
- - ! '>='
|
31
|
-
- !ruby/object:Gem::Version
|
32
|
-
version: '2.13'
|
33
|
-
- - <
|
34
|
-
- !ruby/object:Gem::Version
|
35
|
-
version: '4.0'
|
36
|
-
- !ruby/object:Gem::Dependency
|
37
|
-
name: cucumber
|
38
|
-
requirement: !ruby/object:Gem::Requirement
|
39
|
-
none: false
|
40
|
-
requirements:
|
41
|
-
- - ~>
|
42
|
-
- !ruby/object:Gem::Version
|
43
|
-
version: 1.3.10
|
44
|
-
type: :development
|
45
|
-
prerelease: false
|
46
|
-
version_requirements: !ruby/object:Gem::Requirement
|
47
|
-
none: false
|
48
|
-
requirements:
|
49
|
-
- - ~>
|
50
|
-
- !ruby/object:Gem::Version
|
51
|
-
version: 1.3.10
|
11
|
+
date: 2016-09-20 00:00:00.000000000 Z
|
12
|
+
dependencies: []
|
52
13
|
description: minitest/rspec parallel test runner for CI environments
|
53
14
|
email: ruby@tmm1.net
|
54
15
|
executables:
|
@@ -59,9 +20,19 @@ executables:
|
|
59
20
|
extensions: []
|
60
21
|
extra_rdoc_files: []
|
61
22
|
files:
|
23
|
+
- ".gitignore"
|
24
|
+
- ".travis.yml"
|
62
25
|
- Gemfile
|
26
|
+
- Gemfile-cucumber1-3
|
27
|
+
- Gemfile-cucumber1-3.lock
|
28
|
+
- Gemfile-cucumber2-4
|
29
|
+
- Gemfile-cucumber2-4.lock
|
63
30
|
- Gemfile-minitest4
|
64
31
|
- Gemfile-minitest4.lock
|
32
|
+
- Gemfile-minitest5
|
33
|
+
- Gemfile-minitest5.lock
|
34
|
+
- Gemfile-rspec2-1
|
35
|
+
- Gemfile-rspec2-1.lock
|
65
36
|
- Gemfile-rspec3-0
|
66
37
|
- Gemfile-rspec3-0.lock
|
67
38
|
- Gemfile-rspec3-1
|
@@ -76,10 +47,6 @@ files:
|
|
76
47
|
- bin/minitest-queue
|
77
48
|
- bin/rspec-queue
|
78
49
|
- bin/testunit-queue
|
79
|
-
- features/bad.feature
|
80
|
-
- features/sample.feature
|
81
|
-
- features/sample2.feature
|
82
|
-
- features/step_definitions/common.rb
|
83
50
|
- lib/test-queue.rb
|
84
51
|
- lib/test_queue.rb
|
85
52
|
- lib/test_queue/iterator.rb
|
@@ -94,38 +61,51 @@ files:
|
|
94
61
|
- lib/test_queue/runner/rspec3.rb
|
95
62
|
- lib/test_queue/runner/sample.rb
|
96
63
|
- lib/test_queue/runner/testunit.rb
|
97
|
-
-
|
64
|
+
- lib/test_queue/stats.rb
|
65
|
+
- lib/test_queue/test_framework.rb
|
66
|
+
- script/bootstrap
|
67
|
+
- script/cibuild
|
68
|
+
- script/spec
|
69
|
+
- spec/stats_spec.rb
|
98
70
|
- test-queue.gemspec
|
99
|
-
- test.
|
100
|
-
- test/
|
101
|
-
- test/
|
102
|
-
- test/
|
103
|
-
- test/
|
104
|
-
- test/
|
71
|
+
- test/cucumber.bats
|
72
|
+
- test/minitest4.bats
|
73
|
+
- test/minitest5.bats
|
74
|
+
- test/rspec.bats
|
75
|
+
- test/samples/features/bad.feature
|
76
|
+
- test/samples/features/sample.feature
|
77
|
+
- test/samples/features/sample2.feature
|
78
|
+
- test/samples/features/step_definitions/common.rb
|
79
|
+
- test/samples/sample_minispec.rb
|
80
|
+
- test/samples/sample_minitest4.rb
|
81
|
+
- test/samples/sample_minitest5.rb
|
82
|
+
- test/samples/sample_spec.rb
|
83
|
+
- test/samples/sample_split_spec.rb
|
84
|
+
- test/samples/sample_testunit.rb
|
85
|
+
- test/testlib.bash
|
86
|
+
- test/testunit.bats
|
105
87
|
homepage: http://github.com/tmm1/test-queue
|
106
88
|
licenses:
|
107
89
|
- MIT
|
90
|
+
metadata: {}
|
108
91
|
post_install_message:
|
109
92
|
rdoc_options: []
|
110
93
|
require_paths:
|
111
94
|
- lib
|
112
95
|
required_ruby_version: !ruby/object:Gem::Requirement
|
113
|
-
none: false
|
114
96
|
requirements:
|
115
|
-
- -
|
97
|
+
- - ">="
|
116
98
|
- !ruby/object:Gem::Version
|
117
99
|
version: '0'
|
118
100
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
119
|
-
none: false
|
120
101
|
requirements:
|
121
|
-
- -
|
102
|
+
- - ">="
|
122
103
|
- !ruby/object:Gem::Version
|
123
104
|
version: '0'
|
124
105
|
requirements: []
|
125
106
|
rubyforge_project:
|
126
|
-
rubygems_version:
|
107
|
+
rubygems_version: 2.4.5
|
127
108
|
signing_key:
|
128
|
-
specification_version:
|
109
|
+
specification_version: 4
|
129
110
|
summary: parallel test runner
|
130
111
|
test_files: []
|
131
|
-
has_rdoc: false
|
data/test-multi.sh
DELETED
data/test.sh
DELETED
@@ -1,23 +0,0 @@
|
|
1
|
-
#!/bin/sh
|
2
|
-
set -x
|
3
|
-
|
4
|
-
export TEST_QUEUE_WORKERS=2 TEST_QUEUE_VERBOSE=1
|
5
|
-
|
6
|
-
export BUNDLE_GEMFILE=Gemfile-testunit
|
7
|
-
bundle install
|
8
|
-
bundle exec testunit-queue ./test/*_testunit.rb
|
9
|
-
|
10
|
-
export BUNDLE_GEMFILE=Gemfile-minitest4
|
11
|
-
bundle install
|
12
|
-
bundle exec minitest-queue ./test/*_minitest4.rb
|
13
|
-
bundle exec minitest-queue ./test/*_minispec.rb
|
14
|
-
|
15
|
-
export BUNDLE_GEMFILE=Gemfile
|
16
|
-
bundle install
|
17
|
-
bundle exec minitest-queue ./test/*_minitest4.rb
|
18
|
-
bundle exec minitest-queue ./test/*_minitest5.rb
|
19
|
-
bundle exec minitest-queue ./test/*_minispec.rb
|
20
|
-
bundle exec rspec-queue test
|
21
|
-
bundle exec cucumber-queue
|
22
|
-
|
23
|
-
TEST_QUEUE_WORKERS=1 TEST_QUEUE_FORCE="MiniTestSleep21,MiniTestSleep8,MiniTestFailure" bundle exec minitest-queue ./test/*_minitest5.rb
|