rspec-multiprocess_runner 1.2.3 → 1.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 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