parallel_tests 4.6.1 → 4.7.1

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: a00430ce92cb7dbfe80737cb601f269f463d60cdf6652e8932398bce2386dc2b
4
- data.tar.gz: 8638d842e945665c779e433b40b70775719a30839dc0a59476d1e7987df5ef1e
3
+ metadata.gz: b091de564b1cd9f2c57b94dd973bceea01f7722e4c6bafbe71e6b75c7a265421
4
+ data.tar.gz: bf14a02a03bef8046e2973a904701f03b10bdae1ef8a84654511c18631efe179
5
5
  SHA512:
6
- metadata.gz: b6ced0d1c0d23f42c14992977493f3712d8b60c6a0a933b2b0cfcd1ba413119dbe3084853f6915471946535e26399b0132fa8f7520bb002131941da09553eb6c
7
- data.tar.gz: 5d2d5a3d8b400e337345a0e0e13ae5e94a4a1a8a4c5ef6fa3132091c1d8f66f6dabddda1dd0f9f880adade03345d9fc84bed44a7b22432490e759094b8b77d9d
6
+ metadata.gz: d4d7df8aed6d01ba8a9b98064a4c88ad7b88270884d9b5f24c34c2094772974c81fef357c9534e97265e57603b780c9b61af4b1a70a32ae6891ba87256633dfd
7
+ data.tar.gz: a0f0e19e7d02d3046f41ebe8c51a72056bd840d25b54947564b5b015df8946f0e4b0c86920b3cabca7ff1a82f29dcbb44e53daeaf92ae3721de29b6388c92fe0
data/Readme.md CHANGED
@@ -250,8 +250,9 @@ Options are:
250
250
  -m, --multiply-processes [FLOAT] use given number as a multiplier of processes to run
251
251
  -s, --single [PATTERN] Run all matching files in the same process
252
252
  -i, --isolate Do not run any other tests in the group used by --single(-s)
253
- --isolate-n [PROCESSES] Use 'isolate' singles with number of processes, default: 1.
253
+ --isolate-n [PROCESSES] Use 'isolate' singles with number of processes, default: 1
254
254
  --highest-exit-status Exit with the highest exit status provided by test run(s)
255
+ --failure-exit-code [INT] Specify the exit code to use when tests fail
255
256
  --specify-groups [SPECS] Use 'specify-groups' if you want to specify multiple specs running in multiple
256
257
  processes in a specific formation. Commas indicate specs in the same process,
257
258
  pipes indicate specs in a new process. Cannot use with --single, --isolate, or
@@ -260,9 +261,8 @@ Options are:
260
261
  Process 1 will contain 1_spec.rb and 2_spec.rb
261
262
  Process 2 will contain 3_spec.rb
262
263
  Process 3 will contain all other specs
263
- --only-group INT[,INT] Only run the given group numbers. Note that this will force the 'filesize'
264
- grouping strategy (even when the runtime log is present) unless you explicitly
265
- set it otherwise via the '-group-by' flag.
264
+ --only-group INT[,INT] Only run the given group numbers.
265
+ Changes `--group-by` default to 'filesize'.
266
266
  -e, --exec [COMMAND] execute this code parallel and with ENV['TEST_ENV_NUMBER']
267
267
  -o, --test-options '[OPTIONS]' execute test commands with those options
268
268
  -t, --type [TYPE] test(default) / rspec / cucumber / spinach
@@ -279,12 +279,14 @@ Options are:
279
279
  --nice execute test commands with low priority.
280
280
  --runtime-log [PATH] Location of previously recorded test runtimes
281
281
  --allowed-missing [INT] Allowed percentage of missing runtimes (default = 50)
282
- --allow-duplicates When detecting files to run, allow duplicates. Useful for local debugging
282
+ --allow-duplicates When detecting files to run, allow duplicates
283
283
  --unknown-runtime [FLOAT] Use given number as unknown runtime (otherwise use average time)
284
284
  --first-is-1 Use "1" as TEST_ENV_NUMBER to not reuse the default test environment
285
285
  --fail-fast Stop all groups when one group fails (best used with --test-options '--fail-fast' if supported
286
286
  --verbose Print debug output
287
- --verbose-command Displays the command that will be executed by each process and when there are failures displays the command executed by each process that failed
287
+ --verbose-command Combines options --verbose-process-command and --verbose-rerun-command
288
+ --verbose-process-command Print the command that will be executed by each process before it begins
289
+ --verbose-rerun-command After a process fails, print the command executed by that process
288
290
  --quiet Print only tests output
289
291
  -v, --version Show Version
290
292
  -h, --help Show this.
@@ -440,6 +442,7 @@ inspired by [pivotal labs](https://blog.pivotal.io/labs/labs/parallelize-your-rs
440
442
  - [Adis Osmonov](https://github.com/adis-io)
441
443
  - [Josh Westbrook](https://github.com/joshwestbrook)
442
444
  - [Jay Dorsey](https://github.com/jaydorsey)
445
+ - [hatsu](https://github.com/hatsu38)
443
446
 
444
447
  [Michael Grosser](http://grosser.it)<br/>
445
448
  michael@grosser.it<br/>
@@ -96,8 +96,9 @@ module ParallelTests
96
96
  if any_test_failed?(test_results)
97
97
  warn final_fail_message
98
98
 
99
- # return the highest exit status to allow sub-processes to send things other than 1
100
- exit_status = if options[:highest_exit_status]
99
+ exit_status = if options[:failure_exit_code]
100
+ options[:failure_exit_code]
101
+ elsif options[:highest_exit_status]
101
102
  test_results.map { |data| data.fetch(:exit_status) }.max
102
103
  else
103
104
  1
@@ -145,7 +146,7 @@ module ParallelTests
145
146
  failing_sets = test_results.reject { |r| r[:exit_status] == 0 }
146
147
  return if failing_sets.none?
147
148
 
148
- if options[:verbose] || options[:verbose_command]
149
+ if options[:verbose] || options[:verbose_rerun_command]
149
150
  puts "\n\nTests have failed for a parallel_test group. Use the following command to run the group again:\n\n"
150
151
  failing_sets.each do |failing_set|
151
152
  command = failing_set[:command]
@@ -223,12 +224,19 @@ module ParallelTests
223
224
  opts.on(
224
225
  "--isolate-n [PROCESSES]",
225
226
  Integer,
226
- "Use 'isolate' singles with number of processes, default: 1."
227
+ "Use 'isolate' singles with number of processes, default: 1"
227
228
  ) { |n| options[:isolate_count] = n }
228
229
 
229
- opts.on("--highest-exit-status", "Exit with the highest exit status provided by test run(s)") do
230
- options[:highest_exit_status] = true
231
- end
230
+ opts.on(
231
+ "--highest-exit-status",
232
+ "Exit with the highest exit status provided by test run(s)"
233
+ ) { options[:highest_exit_status] = true }
234
+
235
+ opts.on(
236
+ "--failure-exit-code [INT]",
237
+ Integer,
238
+ "Specify the exit code to use when tests fail"
239
+ ) { |code| options[:failure_exit_code] = code }
232
240
 
233
241
  opts.on(
234
242
  "--specify-groups [SPECS]",
@@ -237,7 +245,7 @@ module ParallelTests
237
245
  processes in a specific formation. Commas indicate specs in the same process,
238
246
  pipes indicate specs in a new process. Cannot use with --single, --isolate, or
239
247
  --isolate-n. Ex.
240
- $ parallel_test -n 3 . --specify-groups '1_spec.rb,2_spec.rb|3_spec.rb'
248
+ $ parallel_tests -n 3 . --specify-groups '1_spec.rb,2_spec.rb|3_spec.rb'
241
249
  Process 1 will contain 1_spec.rb and 2_spec.rb
242
250
  Process 2 will contain 3_spec.rb
243
251
  Process 3 will contain all other specs
@@ -283,7 +291,9 @@ module ParallelTests
283
291
  opts.on("--first-is-1", "Use \"1\" as TEST_ENV_NUMBER to not reuse the default test environment") { options[:first_is_1] = true }
284
292
  opts.on("--fail-fast", "Stop all groups when one group fails (best used with --test-options '--fail-fast' if supported") { options[:fail_fast] = true }
285
293
  opts.on("--verbose", "Print debug output") { options[:verbose] = true }
286
- opts.on("--verbose-command", "Displays the command that will be executed by each process and when there are failures displays the command executed by each process that failed") { options[:verbose_command] = true }
294
+ opts.on("--verbose-command", "Combines options --verbose-process-command and --verbose-rerun-command") { options.merge! verbose_process_command: true, verbose_rerun_command: true }
295
+ opts.on("--verbose-process-command", "Print the command that will be executed by each process before it begins") { options[:verbose_process_command] = true }
296
+ opts.on("--verbose-rerun-command", "After a process fails, print the command executed by that process") { options[:verbose_rerun_command] = true }
287
297
  opts.on("--quiet", "Print only tests output") { options[:quiet] = true }
288
298
  opts.on("-v", "--version", "Show Version") do
289
299
  puts ParallelTests::VERSION
@@ -331,6 +341,10 @@ module ParallelTests
331
341
  raise "Can't pass --specify-groups with any of these keys: --single, --isolate, or --isolate-n"
332
342
  end
333
343
 
344
+ if options[:failure_exit_code] && options[:highest_exit_status]
345
+ raise "Can't pass --failure-exit-code and --highest-exit-status"
346
+ end
347
+
334
348
  options
335
349
  end
336
350
 
@@ -293,7 +293,7 @@ module ParallelTests
293
293
  end
294
294
 
295
295
  def report_process_command?(options)
296
- options[:verbose] || options[:verbose_command]
296
+ options[:verbose] || options[:verbose_process_command]
297
297
  end
298
298
  end
299
299
  end
@@ -1,4 +1,4 @@
1
1
  # frozen_string_literal: true
2
2
  module ParallelTests
3
- VERSION = '4.6.1'
3
+ VERSION = '4.7.1'
4
4
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: parallel_tests
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.6.1
4
+ version: 4.7.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michael Grosser
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-04-03 00:00:00.000000000 Z
11
+ date: 2024-04-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: parallel
@@ -69,8 +69,8 @@ licenses:
69
69
  - MIT
70
70
  metadata:
71
71
  bug_tracker_uri: https://github.com/grosser/parallel_tests/issues
72
- documentation_uri: https://github.com/grosser/parallel_tests/blob/v4.6.1/Readme.md
73
- source_code_uri: https://github.com/grosser/parallel_tests/tree/v4.6.1
72
+ documentation_uri: https://github.com/grosser/parallel_tests/blob/v4.7.1/Readme.md
73
+ source_code_uri: https://github.com/grosser/parallel_tests/tree/v4.7.1
74
74
  wiki_uri: https://github.com/grosser/parallel_tests/wiki
75
75
  post_install_message:
76
76
  rdoc_options: []