rspec-multiprocess_runner 1.2.3 → 1.3.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 185d6d6ded0da773c7c679f4be6f3fdfb2b1001f
4
- data.tar.gz: 1cbda7661ed4231a77716bba89b1a9404d3a3c56
2
+ SHA256:
3
+ metadata.gz: 2f561425e9f9c62eba1610b84278f1f3d86a5448d0c671324125bb88c0150f81
4
+ data.tar.gz: 3b79c2b0e07224cc2fe64204b0adf5e7ca90099846e84cc2078ad771c617c05d
5
5
  SHA512:
6
- metadata.gz: 1af1843259763c862b5e09603420e9969af398adbbd25b49dff3c8dfe54b48ceee9d57f8410d94ba0a3fadf95d0759c851518f87a4d2b836e05e891b30988e1b
7
- data.tar.gz: d08ecf9ca8d527298b06e900c276035c7eb5b7fb40413c526ef475801a0489a9f49436f5cff58d9d1da890fa33f327ef04446dce774b0ef8e2c35773d1b643a1
6
+ metadata.gz: ea71c613e8309da1d384f2c04778dce6871131bfa623ab4edabd4df6226d3393b39b6a1d3f688146881827650c56490a5b688139ba5c8bbcb76a199bced318d5
7
+ data.tar.gz: 0db27a58d409e7485c4c4ae934f59f53ea86d63fa2125194813fbbefdd28f39db90ea59355cf205e6b39610f344b99447d112d72adc293a12b303f29b2df1f1c
data/CHANGELOG.md CHANGED
@@ -1,3 +1,9 @@
1
+ # 1.3.0
2
+
3
+ * Add file output option
4
+
5
+ # 1.2.4
6
+
1
7
  # 1.2.3
2
8
 
3
9
  * Fix time library sporadic failure
data/Gemfile.lock ADDED
@@ -0,0 +1,48 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ rspec-multiprocess_runner (1.3.0)
5
+ rspec (>= 3.0)
6
+
7
+ GEM
8
+ remote: https://rubygems.org/
9
+ specs:
10
+ byebug (11.0.1)
11
+ coderay (1.1.2)
12
+ diff-lcs (1.3)
13
+ method_source (0.9.2)
14
+ pry (0.12.2)
15
+ coderay (~> 1.1.0)
16
+ method_source (~> 0.9.0)
17
+ pry-byebug (3.7.0)
18
+ byebug (~> 11.0)
19
+ pry (~> 0.10)
20
+ rake (10.5.0)
21
+ rspec (3.8.0)
22
+ rspec-core (~> 3.8.0)
23
+ rspec-expectations (~> 3.8.0)
24
+ rspec-mocks (~> 3.8.0)
25
+ rspec-core (3.8.2)
26
+ rspec-support (~> 3.8.0)
27
+ rspec-expectations (3.8.5)
28
+ diff-lcs (>= 1.2.0, < 2.0)
29
+ rspec-support (~> 3.8.0)
30
+ rspec-mocks (3.8.2)
31
+ diff-lcs (>= 1.2.0, < 2.0)
32
+ rspec-support (~> 3.8.0)
33
+ rspec-support (3.8.3)
34
+ stub_env (1.0.4)
35
+ rspec (>= 2.0, < 4.0)
36
+
37
+ PLATFORMS
38
+ ruby
39
+
40
+ DEPENDENCIES
41
+ bundler (>= 1.10)
42
+ pry-byebug
43
+ rake (~> 10.0)
44
+ rspec-multiprocess_runner!
45
+ stub_env
46
+
47
+ BUNDLED WITH
48
+ 2.0.2
data/exe/multirspec CHANGED
@@ -9,19 +9,7 @@ exit(64) unless options
9
9
  coordinator = RSpec::MultiprocessRunner::Coordinator.new(
10
10
  options.worker_count,
11
11
  options.files_to_run,
12
- {
13
- file_timeout_seconds: options.file_timeout_seconds,
14
- example_timeout_seconds: options.example_timeout_seconds,
15
- test_env_number_first_is_1: options.first_is_1,
16
- rspec_options: options.rspec_options,
17
- log_failing_files: options.log_failing_files,
18
- use_given_order: options.use_given_order,
19
- head_node: options.head_node,
20
- port: options.port,
21
- hostname: options.hostname,
22
- max_nodes: options.max_nodes,
23
- run_identifier: options.run_identifier
24
- }
12
+ options
25
13
  )
26
14
 
27
15
  trap("INT") do
@@ -3,12 +3,11 @@ require 'optparse'
3
3
  require 'pathname'
4
4
 
5
5
  module RSpec::MultiprocessRunner
6
- # @private
7
6
  class CommandLineOptions
8
7
  attr_accessor :worker_count, :file_timeout_seconds, :example_timeout_seconds,
9
8
  :rspec_options, :explicit_files_or_directories, :pattern, :log_failing_files,
10
9
  :first_is_1, :use_given_order, :port, :head_node, :hostname, :max_nodes,
11
- :run_identifier
10
+ :run_identifier, :summary_filename
12
11
 
13
12
  DEFAULT_WORKER_COUNT = 3
14
13
 
@@ -25,6 +24,7 @@ module RSpec::MultiprocessRunner
25
24
  self.hostname = "localhost"
26
25
  self.head_node = true
27
26
  self.max_nodes = 5
27
+ self.summary_filename = nil
28
28
  end
29
29
 
30
30
  def parse(command_line_args, error_stream=$stderr)
@@ -144,6 +144,10 @@ module RSpec::MultiprocessRunner
144
144
  self.run_identifier = string
145
145
  end
146
146
 
147
+ parser.on("-f", "--summary-filename STRING", "Save summary to a file") do |string|
148
+ self.summary_filename = string
149
+ end
150
+
147
151
  parser.on_tail("-h", "--help", "Prints this help") do
148
152
  help_requested!
149
153
  end
@@ -5,13 +5,10 @@ require 'rspec/multiprocess_runner/file_coordinator'
5
5
 
6
6
  module RSpec::MultiprocessRunner
7
7
  class Coordinator
8
- def initialize(worker_count, files, options={})
9
- @worker_count = worker_count
10
- @file_timeout_seconds = options[:file_timeout_seconds]
11
- @example_timeout_seconds = options[:example_timeout_seconds]
12
- @test_env_number_first_is_1 = options[:test_env_number_first_is_1]
13
- @log_failing_files = options[:log_failing_files]
14
- @rspec_options = options[:rspec_options]
8
+ attr_accessor :options
9
+
10
+ def initialize(worker_count, files, options)
11
+ self.options = options
15
12
  @file_buffer = []
16
13
  @workers = []
17
14
  @stopped_workers = []
@@ -55,10 +52,10 @@ module RSpec::MultiprocessRunner
55
52
  end_workers_in_parallel(@workers.dup, :kill_now)
56
53
  else
57
54
  @shutting_down = true
58
- print "Shutting down #{pluralize(@workers.size, "worker")} …" if options[:print_summary]
55
+ print "Shutting down #{pluralize(@workers.size, "worker")} …" if options.print_summary
59
56
  # end_workers_in_parallel modifies @workers, so dup before sending in
60
57
  end_workers_in_parallel(@workers.dup, :shutdown_now)
61
- if options[:print_summary]
58
+ if options.print_summary
62
59
  puts " done"
63
60
  print_summary
64
61
  end
@@ -175,19 +172,13 @@ module RSpec::MultiprocessRunner
175
172
  end
176
173
 
177
174
  def expected_worker_numbers
178
- (1..@worker_count).to_a
175
+ (1..options.worker_count).to_a
179
176
  end
180
177
 
181
178
  def create_and_start_worker_if_necessary(n)
182
179
  if work_left_to_do?
183
180
  $stderr.puts "(Re)starting worker #{n}"
184
- new_worker = Worker.new(
185
- n,
186
- file_timeout_seconds: @file_timeout_seconds,
187
- example_timeout_seconds: @example_timeout_seconds,
188
- rspec_options: @rspec_options,
189
- test_env_number_first_is_1: @test_env_number_first_is_1
190
- )
181
+ new_worker = Worker.new(n, options)
191
182
  @workers << new_worker
192
183
  new_worker.start
193
184
  file = get_file
@@ -196,7 +187,7 @@ module RSpec::MultiprocessRunner
196
187
  end
197
188
 
198
189
  def start_missing_workers
199
- if @workers.size < @worker_count && work_left_to_do?
190
+ if @workers.size < options.worker_count && work_left_to_do?
200
191
  running_process_numbers = @workers.map(&:environment_number)
201
192
  missing_process_numbers = expected_worker_numbers - running_process_numbers
202
193
  missing_process_numbers.each do |n|
@@ -218,16 +209,20 @@ module RSpec::MultiprocessRunner
218
209
  idx[result.status] << result
219
210
  end
220
211
 
221
- print_skipped_files_details
222
- print_pending_example_details(by_status_and_time["pending"])
223
- print_failed_example_details(by_status_and_time["failed"])
224
- print_missing_files
225
- log_failed_files(by_status_and_time["failed"].map(&:filename).uniq + @file_coordinator.missing_files.to_a) if @log_failing_files
226
- print_failed_process_details
227
- puts
228
- print_elapsed_time(elapsed)
229
- puts failed? ? "FAILURE" : "SUCCESS"
230
- print_example_counts(by_status_and_time)
212
+ outputs = [STDOUT]
213
+ outputs << File.new(options.summary_filename, 'w') if (options.summary_filename)
214
+ outputs.each do |output|
215
+ print_skipped_files_details(output)
216
+ print_pending_example_details(output, by_status_and_time["pending"])
217
+ print_failed_example_details(output, by_status_and_time["failed"])
218
+ print_missing_files(output)
219
+ log_failed_files(by_status_and_time["failed"].map(&:filename).uniq + @file_coordinator.missing_files.to_a) if options.log_failing_files
220
+ print_failed_process_details(output)
221
+ output.puts
222
+ print_elapsed_time(output, elapsed)
223
+ output.puts failed? ? "FAILURE" : "SUCCESS"
224
+ print_example_counts(output, by_status_and_time)
225
+ end
231
226
  end
232
227
 
233
228
  def combine_example_results
@@ -238,41 +233,41 @@ module RSpec::MultiprocessRunner
238
233
  @file_coordinator.results.detect { |r| r.status == "failed" }
239
234
  end
240
235
 
241
- def print_skipped_files_details
236
+ def print_skipped_files_details(output)
242
237
  return if !work_left_to_do?
243
- puts
244
- puts "Skipped files:"
238
+ output.puts
239
+ output.puts "Skipped files:"
245
240
  @file_coordinator.remaining_files.each do |spec_file|
246
- puts " - #{spec_file}"
241
+ output.puts " - #{spec_file}"
247
242
  end
248
243
  end
249
244
 
250
- def print_pending_example_details(pending_example_results)
245
+ def print_pending_example_details(output, pending_example_results)
251
246
  return if pending_example_results.nil?
252
- puts
253
- puts "Pending:"
247
+ output.puts
248
+ output.puts "Pending:"
254
249
  pending_example_results.each do |pending|
255
- puts
256
- puts pending.details.sub(/^\s*Pending:\s*/, '')
250
+ output.puts
251
+ output.puts pending.details.sub(/^\s*Pending:\s*/, '')
257
252
  end
258
253
  end
259
254
 
260
- def print_failed_example_details(failed_example_results)
255
+ def print_failed_example_details(output, failed_example_results)
261
256
  return if failed_example_results.nil?
262
- puts
263
- puts "Failures:"
257
+ output.puts
258
+ output.puts "Failures:"
264
259
  failed_example_results.each_with_index do |failure, i|
265
- puts
266
- puts " #{i.next}) #{failure.description}"
267
- puts failure.details
260
+ output.puts
261
+ output.puts " #{i.next}) #{failure.description}"
262
+ output.puts failure.details
268
263
  end
269
264
  end
270
265
 
271
266
  def log_failed_files(failed_files)
272
267
  return if failed_files.nil?
273
- puts
274
- puts "Writing failures to file: #{@log_failing_files}"
275
- File.open(@log_failing_files, "w+") do |io|
268
+ output.puts
269
+ output.puts "Writing failures to file: #{options.log_failing_files}"
270
+ File.open(options.log_failing_files, "w+") do |io|
276
271
  failed_files.each do |file|
277
272
  io << file
278
273
  io << "\n"
@@ -285,7 +280,7 @@ module RSpec::MultiprocessRunner
285
280
  "#{count} #{string}#{'s' unless count.to_f == 1}"
286
281
  end
287
282
 
288
- def print_example_counts(by_status_and_time)
283
+ def print_example_counts(output, by_status_and_time)
289
284
  example_count = by_status_and_time.map { |status, results| results.size }.inject(0) { |sum, ct| sum + ct }
290
285
  failure_count = by_status_and_time["failed"] ? by_status_and_time["failed"].size : 0
291
286
  pending_count = by_status_and_time["pending"] ? by_status_and_time["pending"].size : 0
@@ -300,26 +295,26 @@ module RSpec::MultiprocessRunner
300
295
  summary << ", " << pluralize(process_failure_count, "failed proc") if process_failure_count > 0
301
296
  summary << ", " << pluralize(skipped_count, "skipped file") if skipped_count > 0
302
297
  summary << ", " << pluralize(missing_count, "missing file") if missing_count > 0
303
- puts summary
298
+ output.puts summary
304
299
  end
305
300
 
306
- def print_failed_process_details
301
+ def print_failed_process_details(output)
307
302
  return if failed_workers.empty?
308
- puts
309
- puts "Failed processes:"
303
+ output.puts
304
+ output.puts "Failed processes:"
310
305
  failed_workers.each do |worker|
311
- puts " - #{worker.node}:#{worker.pid} (env #{worker.environment_number}) #{worker.deactivation_reason} on #{worker.current_file}"
306
+ output.puts " - #{worker.node}:#{worker.pid} (env #{worker.environment_number}) #{worker.deactivation_reason} on #{worker.current_file}"
312
307
  end
313
308
  end
314
309
 
315
- def print_missing_files
310
+ def print_missing_files(output)
316
311
  return if @file_coordinator.missing_files.empty?
317
- puts
318
- puts "Missing files from disconnects:"
319
- @file_coordinator.missing_files.each { |file| puts " + #{file} was given to a node, which disconnected" }
312
+ output.puts
313
+ output.puts "Missing files from disconnects:"
314
+ @file_coordinator.missing_files.each { |file| output.puts " + #{file} was given to a node, which disconnected" }
320
315
  end
321
316
 
322
- def print_elapsed_time(seconds_elapsed)
317
+ def print_elapsed_time(output, seconds_elapsed)
323
318
  minutes = seconds_elapsed.to_i / 60
324
319
  seconds = seconds_elapsed % 60
325
320
  m =
@@ -330,7 +325,7 @@ module RSpec::MultiprocessRunner
330
325
  if seconds > 0
331
326
  "%.2f second%s" % [seconds, seconds == 1 ? '' : 's']
332
327
  end
333
- puts "Finished in #{[m, s].compact.join(", ")}"
328
+ output.puts "Finished in #{[m, s].compact.join(", ")}"
334
329
  end
335
330
  end
336
331
  end
@@ -1,10 +1,12 @@
1
1
  # encoding: utf-8
2
2
  require 'rspec/multiprocess_runner'
3
3
  require 'socket'
4
+ require 'set'
4
5
 
5
6
  module RSpec::MultiprocessRunner
6
7
  class FileCoordinator
7
8
  attr_reader :results, :failed_workers
9
+ attr_accessor :options
8
10
 
9
11
  COMMAND_FILE = "file"
10
12
  COMMAND_RESULTS = "results"
@@ -17,14 +19,10 @@ module RSpec::MultiprocessRunner
17
19
  @results = Set.new
18
20
  @threads = []
19
21
  @failed_workers = []
22
+ self.options = options
20
23
  @spec_files_reference = files.to_set
21
- @hostname = options[:hostname]
22
- @port = options[:port]
23
- @max_threads = options[:max_nodes]
24
- @head_node = options[:head_node]
25
- @start_string = options[:run_identifier]
26
- if @head_node
27
- @spec_files = options[:use_given_order] ? files : sort_files(files)
24
+ if options.head_node
25
+ @spec_files = options.use_given_order ? files : sort_files(files)
28
26
  Thread.start { run_tcp_server }
29
27
  @node_socket, head_node_socket = Socket.pair(:UNIX, :STREAM)
30
28
  Thread.start { server_connection_established(head_node_socket) }
@@ -32,7 +30,7 @@ module RSpec::MultiprocessRunner
32
30
  count = 100
33
31
  while @node_socket.nil? do
34
32
  begin
35
- @node_socket = TCPSocket.new @hostname, @port
33
+ @node_socket = TCPSocket.new options.hostname, options.port
36
34
  raise unless start?
37
35
  rescue BadStartStringError
38
36
  @node_socket.close if @node_socket
@@ -55,7 +53,7 @@ module RSpec::MultiprocessRunner
55
53
  end
56
54
 
57
55
  def missing_files
58
- if @head_node
56
+ if options.head_node
59
57
  @spec_files_reference - @results.map(&:filename) - @failed_workers.map(&:current_file) - @spec_files
60
58
  else
61
59
  []
@@ -85,7 +83,7 @@ module RSpec::MultiprocessRunner
85
83
  end
86
84
 
87
85
  def finished
88
- if @head_node
86
+ if options.head_node
89
87
  if @tcp_server_running
90
88
  @tcp_server_running = false
91
89
  @threads.each(&:join)
@@ -108,10 +106,10 @@ module RSpec::MultiprocessRunner
108
106
  end
109
107
 
110
108
  def run_tcp_server
111
- server = TCPServer.new @port
109
+ server = TCPServer.new options.port
112
110
  @tcp_server_running = true
113
111
  ObjectSpace.define_finalizer( self, proc { server.close } )
114
- while @threads.size < @max_threads && @tcp_server_running
112
+ while @threads.size < options.max_nodes && @tcp_server_running
115
113
  @threads << Thread.start(server.accept) do |client|
116
114
  server_connection_established(client) if @tcp_server_running
117
115
  end
@@ -124,7 +122,7 @@ module RSpec::MultiprocessRunner
124
122
  break unless raw_response
125
123
  command, results, node = JSON.parse(raw_response)
126
124
  if command == COMMAND_START
127
- if results == @start_string
125
+ if results == options.start_string
128
126
  socket.puts COMMAND_START
129
127
  else
130
128
  socket.puts COMMAND_FINISHED
@@ -145,7 +143,7 @@ module RSpec::MultiprocessRunner
145
143
 
146
144
  def start?
147
145
  begin
148
- @node_socket.puts [COMMAND_START, @start_string].to_json
146
+ @node_socket.puts [COMMAND_START, options.start_string].to_json
149
147
  response = @node_socket.gets
150
148
  response = response.chomp if response
151
149
  raise BadStartStringError if response == COMMAND_FINISHED
@@ -1,5 +1,5 @@
1
1
  module RSpec
2
2
  module MultiprocessRunner
3
- VERSION = "1.2.3"
3
+ VERSION = "1.3.0"
4
4
  end
5
5
  end
@@ -22,7 +22,7 @@ module RSpec::MultiprocessRunner
22
22
  # @private
23
23
  class Worker
24
24
  attr_reader :pid, :environment_number, :example_results, :current_file
25
- attr_accessor :deactivation_reason
25
+ attr_accessor :deactivation_reason, :options
26
26
 
27
27
  COMMAND_QUIT = "quit"
28
28
  COMMAND_RUN_FILE = "run_file"
@@ -33,10 +33,8 @@ module RSpec::MultiprocessRunner
33
33
  def initialize(environment_number, options)
34
34
  @environment_number = environment_number
35
35
  @worker_socket, @coordinator_socket = Socket.pair(:UNIX, :STREAM)
36
- @rspec_arguments = (options[:rspec_options] || []) + ["--format", ReportingFormatter.to_s]
37
- @example_timeout_seconds = options[:example_timeout_seconds]
38
- @file_timeout_seconds = options[:file_timeout_seconds]
39
- @test_env_number_first_is_1 = options[:test_env_number_first_is_1]
36
+ @rspec_arguments = (options.rspec_options || []) + ["--format", ReportingFormatter.to_s]
37
+ self.options = options
40
38
  @example_results = []
41
39
  end
42
40
 
@@ -52,7 +50,7 @@ module RSpec::MultiprocessRunner
52
50
  end
53
51
 
54
52
  def test_env_number
55
- if environment_number == 1 && !@test_env_number_first_is_1
53
+ if environment_number == 1 && !options.first_is_1
56
54
  ""
57
55
  else
58
56
  environment_number.to_s
@@ -120,12 +118,12 @@ module RSpec::MultiprocessRunner
120
118
 
121
119
  def stalled?
122
120
  file_stalled =
123
- if @file_timeout_seconds
124
- working? && (Time.now - @current_file_started_at > @file_timeout_seconds)
121
+ if options.file_timeout_seconds
122
+ working? && (Time.now - @current_file_started_at > options.file_timeout_seconds)
125
123
  end
126
124
  example_stalled =
127
- if @example_timeout_seconds
128
- working? && (Time.now - @current_example_started_at > @example_timeout_seconds)
125
+ if options.example_timeout_seconds
126
+ working? && (Time.now - @current_example_started_at > options.example_timeout_seconds)
129
127
  end
130
128
  file_stalled || example_stalled
131
129
  end
@@ -6,21 +6,21 @@ require 'rspec/multiprocess_runner/version'
6
6
  Gem::Specification.new do |spec|
7
7
  spec.name = "rspec-multiprocess_runner"
8
8
  spec.version = RSpec::MultiprocessRunner::VERSION
9
- spec.authors = ["Rhett Sutphin"]
10
- spec.email = ["rhett@detailedbalance.net"]
9
+ spec.authors = ["Rhett Sutphin", 'Jacob Bloom', 'Peter Nyberg', 'Kurt Werle']
10
+ spec.email = ["rspec-multiprocess_runner@collaborativedrug.com"]
11
11
 
12
12
  spec.summary = %q{A runner for RSpec 3 that uses multiple processes to execute specs in parallel}
13
13
  spec.homepage = "https://github.com/cdd/rspec-multiprocess_runner"
14
14
  spec.license = "MIT"
15
15
 
16
- spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features|manual_test_specs)/}) }
16
+ spec.files = Dir.glob('{bin,lib,exe}/**/*') + %w[rspec-multiprocess_runner.gemspec Gemfile Gemfile.lock Rakefile CHANGELOG.md LICENSE.txt README.md TODO.md]
17
17
  spec.bindir = "exe"
18
18
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
19
19
  spec.require_paths = ["lib"]
20
20
 
21
- spec.add_dependency "rspec", ">= 2.99"
21
+ spec.add_dependency "rspec", ">= 3.0"
22
22
 
23
- spec.add_development_dependency "bundler", "~> 1.10"
23
+ spec.add_development_dependency "bundler", ">= 1.10"
24
24
  spec.add_development_dependency "pry-byebug"
25
25
  spec.add_development_dependency "rake", "~> 10.0"
26
26
  spec.add_development_dependency "stub_env"
metadata CHANGED
@@ -1,14 +1,17 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rspec-multiprocess_runner
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.3
4
+ version: 1.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rhett Sutphin
8
+ - Jacob Bloom
9
+ - Peter Nyberg
10
+ - Kurt Werle
8
11
  autorequire:
9
12
  bindir: exe
10
13
  cert_chain: []
11
- date: 2017-03-15 00:00:00.000000000 Z
14
+ date: 2019-10-02 00:00:00.000000000 Z
12
15
  dependencies:
13
16
  - !ruby/object:Gem::Dependency
14
17
  name: rspec
@@ -16,26 +19,26 @@ dependencies:
16
19
  requirements:
17
20
  - - ">="
18
21
  - !ruby/object:Gem::Version
19
- version: '2.99'
22
+ version: '3.0'
20
23
  type: :runtime
21
24
  prerelease: false
22
25
  version_requirements: !ruby/object:Gem::Requirement
23
26
  requirements:
24
27
  - - ">="
25
28
  - !ruby/object:Gem::Version
26
- version: '2.99'
29
+ version: '3.0'
27
30
  - !ruby/object:Gem::Dependency
28
31
  name: bundler
29
32
  requirement: !ruby/object:Gem::Requirement
30
33
  requirements:
31
- - - "~>"
34
+ - - ">="
32
35
  - !ruby/object:Gem::Version
33
36
  version: '1.10'
34
37
  type: :development
35
38
  prerelease: false
36
39
  version_requirements: !ruby/object:Gem::Requirement
37
40
  requirements:
38
- - - "~>"
41
+ - - ">="
39
42
  - !ruby/object:Gem::Version
40
43
  version: '1.10'
41
44
  - !ruby/object:Gem::Dependency
@@ -82,17 +85,15 @@ dependencies:
82
85
  version: '0'
83
86
  description:
84
87
  email:
85
- - rhett@detailedbalance.net
88
+ - rspec-multiprocess_runner@collaborativedrug.com
86
89
  executables:
87
90
  - multirspec
88
91
  extensions: []
89
92
  extra_rdoc_files: []
90
93
  files:
91
- - ".gitignore"
92
- - ".rspec"
93
- - ".travis.yml"
94
94
  - CHANGELOG.md
95
95
  - Gemfile
96
+ - Gemfile.lock
96
97
  - LICENSE.txt
97
98
  - README.md
98
99
  - Rakefile
@@ -131,7 +132,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
131
132
  version: '0'
132
133
  requirements: []
133
134
  rubyforge_project:
134
- rubygems_version: 2.5.1
135
+ rubygems_version: 2.7.6.2
135
136
  signing_key:
136
137
  specification_version: 4
137
138
  summary: A runner for RSpec 3 that uses multiple processes to execute specs in parallel
data/.gitignore DELETED
@@ -1,13 +0,0 @@
1
- /.bundle/
2
- /.yardoc
3
- /Gemfile.lock
4
- /_yardoc/
5
- /coverage/
6
- /doc/
7
- /pkg/
8
- /spec/reports/
9
- /spec/tmp
10
- /tmp/
11
- /manual_test_specs/*
12
- !/manual_test_specs/.keep
13
- /vendor
data/.rspec DELETED
@@ -1,2 +0,0 @@
1
- --format documentation
2
- --color
data/.travis.yml DELETED
@@ -1,6 +0,0 @@
1
- language: ruby
2
- rvm:
3
- - 2.1.10
4
- - 2.2.5
5
- - 2.3.1
6
- before_install: gem install bundler -v 1.10.6