test-queue 0.8.0 → 0.9.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b99d05b99bd64f0b8efb578d5641077984fae57a6cef805f3ed92beb0fadb56b
4
- data.tar.gz: dec70c7bef1dd759350333fa913ee780494dab07575342baa9e6545a9808c42a
3
+ metadata.gz: 0270d50dbfc6b383940e726188a854e9cbba7b9fa5f1979f85e04ade484f04f9
4
+ data.tar.gz: 36990b90f5f47ccddabea471dd858aee75f29892640d4513e8023315a3dd71b8
5
5
  SHA512:
6
- metadata.gz: 8ac80e29b3b5f7ac78db7f4167a8d75de63e3e5295f00139182257b99991003abd801f38c9c216310ab21566fba1ac216585c3621204d59df1a58f917e2cbf30
7
- data.tar.gz: caf10f2498bd05f890dad0cc4feb45c5b0d2824d4ef3a3a00c9e1255fdbdf777437eee4ea9a4543752125c90f5cea7361778bec0b1eb64527ce895bdea93ec5b
6
+ metadata.gz: b7aba755710f56ae58b21e4bfbbc07b0b3832a54933ec74555fd28ae9f101a957c8c3d6950def76b63c56f54217d7fecc0638909a98ac71d83c88236b43e6951
7
+ data.tar.gz: c9435e822ed3abbec345791994be8aa8aa926bc8028bf1c14749f70a7e0a4821b92899dc89209e808f52c413e5073f07489aeb1096a58ecb77ed191a33c0f2d9
@@ -1,12 +1,10 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- begin
4
- require 'minitest'
5
- require_relative '../runner/minitest5'
6
- rescue LoadError
7
- require 'minitest/unit'
8
- require_relative '../runner/minitest4'
9
- end
3
+ require 'minitest'
4
+
5
+ raise 'requires Minitest version 5' unless Minitest::VERSION.to_i == 5
6
+
7
+ require_relative '../runner/minitest5'
10
8
 
11
9
  module TestQueue
12
10
  class Runner
@@ -1,16 +1,11 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative '../runner'
4
3
  require 'rspec/core'
5
4
 
6
- case RSpec::Core::Version::STRING.to_i
7
- when 2
8
- require_relative 'rspec2'
9
- when 3, 4
10
- require_relative 'rspec3'
11
- else
12
- raise 'requires rspec version 2, 3, or 4'
13
- end
5
+ raise 'requires RSpec version 3 or 4' unless [3, 4].include?(RSpec::Core::Version::STRING.to_i)
6
+
7
+ require_relative 'rspec_ext'
8
+ require_relative '../runner'
14
9
 
15
10
  module TestQueue
16
11
  class Runner
@@ -90,13 +90,7 @@ module TestQueue
90
90
  @run_token = ENV['TEST_QUEUE_RELAY_TOKEN'] || SecureRandom.hex(8)
91
91
  @socket = socket || ENV['TEST_QUEUE_SOCKET'] || "/tmp/test_queue_#{$$}_#{object_id}.sock"
92
92
  @relay = relay || ENV['TEST_QUEUE_RELAY']
93
-
94
- @remote_master_message = if ENV.key?('TEST_QUEUE_REMOTE_MASTER_MESSAGE')
95
- ENV['TEST_QUEUE_REMOTE_MASTER_MESSAGE']
96
- elsif ENV.key?('TEST_QUEUE_SLAVE_MESSAGE')
97
- warn('`TEST_QUEUE_SLAVE_MESSAGE` is deprecated. Use `TEST_QUEUE_REMOTE_MASTER_MESSAGE` instead.')
98
- ENV['TEST_QUEUE_SLAVE_MESSAGE']
99
- end
93
+ @remote_master_message = ENV['TEST_QUEUE_REMOTE_MASTER_MESSAGE'] if ENV.key?('TEST_QUEUE_REMOTE_MASTER_MESSAGE')
100
94
 
101
95
  if @relay == @socket
102
96
  warn '*** Detected TEST_QUEUE_RELAY == TEST_QUEUE_SOCKET. Disabling relay mode.'
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module TestQueue
4
- VERSION = '0.8.0'
4
+ VERSION = '0.9.0'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: test-queue
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.0
4
+ version: 0.9.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Aman Gupta
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-05-07 00:00:00.000000000 Z
11
+ date: 2023-05-13 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: minitest/rspec parallel test runner for CI environments
14
14
  email: ruby@tmm1.net
@@ -33,12 +33,10 @@ files:
33
33
  - lib/test_queue/runner/cucumber.rb
34
34
  - lib/test_queue/runner/example.rb
35
35
  - lib/test_queue/runner/minitest.rb
36
- - lib/test_queue/runner/minitest4.rb
37
36
  - lib/test_queue/runner/minitest5.rb
38
37
  - lib/test_queue/runner/puppet_lint.rb
39
38
  - lib/test_queue/runner/rspec.rb
40
- - lib/test_queue/runner/rspec2.rb
41
- - lib/test_queue/runner/rspec3.rb
39
+ - lib/test_queue/runner/rspec_ext.rb
42
40
  - lib/test_queue/runner/testunit.rb
43
41
  - lib/test_queue/stats.rb
44
42
  - lib/test_queue/test_framework.rb
@@ -1,93 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative '../runner'
4
- require 'set'
5
- require 'stringio'
6
-
7
- class MiniTestQueueRunner < MiniTest::Unit
8
- def _run_suites(suites, type)
9
- self.class.output = $stdout
10
-
11
- if defined?(ParallelEach)
12
- # Ignore its _run_suites implementation since we don't handle it gracefully.
13
- # If we don't do this #partition is called on the iterator and all suites
14
- # distributed immediately, instead of picked up as workers are available.
15
- suites.map { |suite| _run_suite suite, type }
16
- else
17
- super
18
- end
19
- end
20
-
21
- def _run_anything(*)
22
- ret = super
23
- output.puts
24
- ret
25
- end
26
-
27
- def _run_suite(suite, type)
28
- output.print ' '
29
- output.print suite
30
- output.print ': '
31
-
32
- start = Time.now
33
- ret = super
34
- diff = Time.now - start
35
-
36
- output.puts(' <%.3f>' % diff)
37
- ret
38
- end
39
-
40
- self.runner = new
41
- self.output = StringIO.new
42
- end
43
-
44
- class MiniTest::Unit::TestCase
45
- class << self
46
- attr_accessor :test_suites
47
-
48
- def original_test_suites
49
- @@test_suites.keys.reject { |s| s.test_methods.empty? }
50
- end
51
- end
52
-
53
- def failure_count
54
- failures.length
55
- end
56
- end
57
-
58
- module TestQueue
59
- class Runner
60
- class Minitest < Runner
61
- def initialize
62
- if ::MiniTest::Unit::TestCase.original_test_suites.any?
63
- raise 'Do not `require` test files. Pass them via ARGV instead and they will be required as needed.'
64
- end
65
-
66
- super(TestFramework::Minitest.new)
67
- end
68
-
69
- def run_worker(iterator)
70
- ::MiniTest::Unit::TestCase.test_suites = iterator
71
- ::MiniTest::Unit.new.run
72
- end
73
- end
74
- MiniTest = Minitest # For compatibility with test-queue 0.7.0 and earlier.
75
- end
76
-
77
- class TestFramework
78
- class Minitest < TestFramework
79
- def all_suite_files
80
- ARGV
81
- end
82
-
83
- def suites_from_file(path)
84
- ::MiniTest::Unit::TestCase.reset
85
- require File.absolute_path(path)
86
- ::MiniTest::Unit::TestCase.original_test_suites.map { |suite|
87
- [suite.name, suite]
88
- }
89
- end
90
- end
91
- MiniTest = Minitest # For compatibility with test-queue 0.7.0 and earlier.
92
- end
93
- end
@@ -1,44 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- class ::RSpec::Core::ExampleGroup
4
- def self.failure_count
5
- examples.map { |e| e.execution_result[:status] == 'failed' }.length
6
- end
7
- end
8
-
9
- module RSpec::Core
10
- class QueueRunner < CommandLine
11
- def initialize
12
- super(ARGV)
13
- @configuration.output_stream = $stdout
14
- @configuration.error_stream = $stderr
15
- end
16
-
17
- def run_each(iterator)
18
- @configuration.reporter.report(0, @configuration.randomize? ? @configuration.seed : nil) do |reporter|
19
- @configuration.run_hook(:before, :suite)
20
- iterator.map { |g|
21
- if g.is_a? ::RSpec::Core::Example
22
- print " #{g.full_description}: "
23
- example = g
24
- g = example.example_group
25
- ::RSpec.world.filtered_examples.clear
26
- examples = [example]
27
- examples.extend(::RSpec::Core::Extensions::Ordered::Examples)
28
- ::RSpec.world.filtered_examples[g] = examples
29
- else
30
- print " #{g.description}: "
31
- end
32
- start = Time.now
33
- ret = g.run(reporter)
34
- diff = Time.now - start
35
- puts(' <%.3f>' % diff)
36
-
37
- ret
38
- }.all? ? 0 : @configuration.failure_exit_code
39
- ensure
40
- @configuration.run_hook(:after, :suite)
41
- end
42
- end
43
- end
44
- end
File without changes