test-queue 0.2.11 → 0.2.12

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.
data/Gemfile-testunit ADDED
@@ -0,0 +1,3 @@
1
+ source 'https://rubygems.org'
2
+ gemspec
3
+ gem 'test-unit', '3.0.8'
@@ -0,0 +1,44 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ test-queue (0.2.11)
5
+
6
+ GEM
7
+ remote: https://rubygems.org/
8
+ specs:
9
+ builder (3.2.2)
10
+ cucumber (1.3.18)
11
+ builder (>= 2.1.2)
12
+ diff-lcs (>= 1.1.3)
13
+ gherkin (~> 2.12)
14
+ multi_json (>= 1.7.5, < 2.0)
15
+ multi_test (>= 0.1.1)
16
+ diff-lcs (1.2.5)
17
+ gherkin (2.12.2)
18
+ multi_json (~> 1.3)
19
+ multi_json (1.10.1)
20
+ multi_test (0.1.1)
21
+ power_assert (0.2.2)
22
+ rspec (3.1.0)
23
+ rspec-core (~> 3.1.0)
24
+ rspec-expectations (~> 3.1.0)
25
+ rspec-mocks (~> 3.1.0)
26
+ rspec-core (3.1.7)
27
+ rspec-support (~> 3.1.0)
28
+ rspec-expectations (3.1.2)
29
+ diff-lcs (>= 1.2.0, < 2.0)
30
+ rspec-support (~> 3.1.0)
31
+ rspec-mocks (3.1.3)
32
+ rspec-support (~> 3.1.0)
33
+ rspec-support (3.1.2)
34
+ test-unit (3.0.8)
35
+ power_assert
36
+
37
+ PLATFORMS
38
+ ruby
39
+
40
+ DEPENDENCIES
41
+ cucumber (~> 1.3.10)
42
+ rspec (>= 2.13, < 4.0)
43
+ test-queue!
44
+ test-unit (= 3.0.8)
data/README.md CHANGED
@@ -38,14 +38,14 @@ the workload and relay results back to a central master.
38
38
 
39
39
  ### usage
40
40
 
41
- test-queue bundles `minitest-queue` and `rspec-queue` binaries which can be used directly:
41
+ test-queue bundles `testunit-queue`, `minitest-queue` and `rspec-queue` binaries which can be used directly:
42
42
 
43
43
  ```
44
44
  $ minitest-queue $(find test/ -name \*_test.rb)
45
45
  $ rspec-queue --format progress spec
46
46
  ```
47
47
 
48
- But the underlying `TestQueue::Runner::MiniTest` and `TestQueue::Runner::Rspec` are
48
+ But the underlying `TestQueue::Runner::TestUnit`, `TestQueue::Runner::MiniTest` and `TestQueue::Runner::RSpec` are
49
49
  built to be subclassed by your application. I recommend checking a new
50
50
  executable into your project using one of these superclasses.
51
51
 
@@ -90,7 +90,7 @@ class MyAppTestRunner < TestQueue::Runner::MiniTest
90
90
  end
91
91
  end
92
92
 
93
- CustomMiniTestRunner.new.execute
93
+ MyAppTestRunner.new.execute
94
94
  ```
95
95
 
96
96
  ### distributed mode
@@ -0,0 +1,5 @@
1
+ #!/usr/bin/env ruby
2
+ require 'test_queue'
3
+ require 'test_queue/runner/testunit'
4
+ ARGV.each{ |f| require(f) }
5
+ TestQueue::Runner::TestUnit.new.execute
@@ -0,0 +1,56 @@
1
+ require 'test_queue/runner'
2
+
3
+ gem 'test-unit'
4
+ require 'test/unit'
5
+ require 'test/unit/collector/descendant'
6
+ require 'test/unit/testresult'
7
+ require 'test/unit/testsuite'
8
+ require 'test/unit/ui/console/testrunner'
9
+
10
+ class Test::Unit::TestSuite
11
+ attr_accessor :iterator
12
+
13
+ def run(result, &progress_block)
14
+ @start_time = Time.now
15
+ yield(STARTED, name)
16
+ yield(STARTED_OBJECT, self)
17
+ run_startup(result)
18
+ (@iterator || @tests).each do |test|
19
+ @n_tests += test.size
20
+ run_test(test, result, &progress_block)
21
+ @passed = false unless test.passed?
22
+ end
23
+ run_shutdown(result)
24
+ ensure
25
+ @elapsed_time = Time.now - @start_time
26
+ yield(FINISHED, name)
27
+ yield(FINISHED_OBJECT, self)
28
+ end
29
+ end
30
+
31
+ module TestQueue
32
+ class Runner
33
+ class TestUnit < Runner
34
+ def initialize
35
+ @suite = Test::Unit::Collector::Descendant.new.collect
36
+ tests = @suite.tests.sort_by{ |s| -(stats[s.to_s] || 0) }
37
+ super(tests)
38
+ end
39
+
40
+ def run_worker(iterator)
41
+ @suite.iterator = iterator
42
+ res = Test::Unit::UI::Console::TestRunner.new(@suite).start
43
+ res.run_count - res.pass_count
44
+ end
45
+
46
+ def summarize_worker(worker)
47
+ worker.stats.each do |s, val|
48
+ stats[s.to_s] = val
49
+ end
50
+
51
+ worker.summary = worker.output.split("\n").grep(/^\d+ tests?/).first
52
+ worker.failure_output = worker.output.scan(/^Failure:\n(.*)\n=======================*/m).join("\n")
53
+ end
54
+ end
55
+ end
56
+ end
data/test-queue.gemspec CHANGED
@@ -1,6 +1,6 @@
1
1
  spec = Gem::Specification.new do |s|
2
2
  s.name = 'test-queue'
3
- s.version = '0.2.11'
3
+ s.version = '0.2.12'
4
4
  s.summary = 'parallel test runner'
5
5
  s.description = 'minitest/rspec parallel test runner for CI environments'
6
6
 
@@ -14,10 +14,10 @@ spec = Gem::Specification.new do |s|
14
14
  s.bindir = 'bin'
15
15
  s.executables << 'rspec-queue'
16
16
  s.executables << 'minitest-queue'
17
+ s.executables << 'testunit-queue'
17
18
  s.executables << 'cucumber-queue'
18
19
 
19
20
  s.add_development_dependency 'rspec', '>= 2.13', '< 4.0'
20
- s.add_development_dependency 'minitest', '>= 4.7.3'
21
21
  s.add_development_dependency 'cucumber', '~> 1.3.10'
22
22
 
23
23
  s.files = `git ls-files`.split("\n")
data/test.sh CHANGED
@@ -3,10 +3,16 @@ set -x
3
3
 
4
4
  export TEST_QUEUE_WORKERS=2 TEST_QUEUE_VERBOSE=1
5
5
 
6
- bundle install --gemfile=Gemfile-minitest4
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
7
12
  bundle exec minitest-queue ./test/*_minitest4.rb
8
13
  bundle exec minitest-queue ./test/*_minispec.rb
9
14
 
15
+ export BUNDLE_GEMFILE=Gemfile
10
16
  bundle install
11
17
  bundle exec minitest-queue ./test/*_minitest4.rb
12
18
  bundle exec minitest-queue ./test/*_minitest5.rb
@@ -0,0 +1,23 @@
1
+ require 'test/unit'
2
+
3
+ class TestUnitEqual < Test::Unit::TestCase
4
+ def test_equal
5
+ assert_equal 1, 1
6
+ end
7
+ end
8
+
9
+ 30.times do |i|
10
+ Object.const_set("TestUnitSleep#{i}", Class.new(Test::Unit::TestCase) do
11
+ define_method('test_sleep') do
12
+ start = Time.now
13
+ sleep(0.25)
14
+ assert_in_delta Time.now-start, 0.25, 0.02
15
+ end
16
+ end)
17
+ end
18
+
19
+ class TestUnitFailure < Test::Unit::TestCase
20
+ def test_fail
21
+ assert_equal 0, 1
22
+ end
23
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: test-queue
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.11
4
+ version: 0.2.12
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-12-20 00:00:00.000000000 Z
12
+ date: 2015-01-01 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rspec
@@ -33,22 +33,6 @@ dependencies:
33
33
  - - <
34
34
  - !ruby/object:Gem::Version
35
35
  version: '4.0'
36
- - !ruby/object:Gem::Dependency
37
- name: minitest
38
- requirement: !ruby/object:Gem::Requirement
39
- none: false
40
- requirements:
41
- - - ! '>='
42
- - !ruby/object:Gem::Version
43
- version: 4.7.3
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: 4.7.3
52
36
  - !ruby/object:Gem::Dependency
53
37
  name: cucumber
54
38
  requirement: !ruby/object:Gem::Requirement
@@ -70,6 +54,7 @@ email: ruby@tmm1.net
70
54
  executables:
71
55
  - rspec-queue
72
56
  - minitest-queue
57
+ - testunit-queue
73
58
  - cucumber-queue
74
59
  extensions: []
75
60
  extra_rdoc_files: []
@@ -77,11 +62,14 @@ files:
77
62
  - Gemfile
78
63
  - Gemfile-minitest4
79
64
  - Gemfile-minitest4.lock
65
+ - Gemfile-testunit
66
+ - Gemfile-testunit.lock
80
67
  - Gemfile.lock
81
68
  - README.md
82
69
  - bin/cucumber-queue
83
70
  - bin/minitest-queue
84
71
  - bin/rspec-queue
72
+ - bin/testunit-queue
85
73
  - features/bad.feature
86
74
  - features/sample.feature
87
75
  - features/sample2.feature
@@ -99,6 +87,7 @@ files:
99
87
  - lib/test_queue/runner/rspec2.rb
100
88
  - lib/test_queue/runner/rspec3.rb
101
89
  - lib/test_queue/runner/sample.rb
90
+ - lib/test_queue/runner/testunit.rb
102
91
  - test-multi.sh
103
92
  - test-queue.gemspec
104
93
  - test.sh
@@ -106,6 +95,7 @@ files:
106
95
  - test/sample_minitest4.rb
107
96
  - test/sample_minitest5.rb
108
97
  - test/sample_spec.rb
98
+ - test/sample_testunit.rb
109
99
  homepage: http://github.com/tmm1/test-queue
110
100
  licenses:
111
101
  - MIT