parallel_tests 4.6.1 → 4.7.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: a00430ce92cb7dbfe80737cb601f269f463d60cdf6652e8932398bce2386dc2b
4
- data.tar.gz: 8638d842e945665c779e433b40b70775719a30839dc0a59476d1e7987df5ef1e
3
+ metadata.gz: 24dc3cca9e186c8d0f50a1a9e4b5fb0e9e9e25f7b42df4108cbaa697165f509f
4
+ data.tar.gz: 2685a07430f93fbad45300ae897472c806d68faa6cfbdb5fc573e41ec96639b5
5
5
  SHA512:
6
- metadata.gz: b6ced0d1c0d23f42c14992977493f3712d8b60c6a0a933b2b0cfcd1ba413119dbe3084853f6915471946535e26399b0132fa8f7520bb002131941da09553eb6c
7
- data.tar.gz: 5d2d5a3d8b400e337345a0e0e13ae5e94a4a1a8a4c5ef6fa3132091c1d8f66f6dabddda1dd0f9f880adade03345d9fc84bed44a7b22432490e759094b8b77d9d
6
+ metadata.gz: c26d0cd7643ce0b728d6a2d482e319b6ea4fd13f168e7a64bf00ad0c18355eaf4bb93ce42b05c239b2b385c6ef1e0b56aafe56117d072081ee61bb0ced066866
7
+ data.tar.gz: 67e6cedb8619d5c8cd094e4ae365372b93c6a806b084f04e3f24e621cb4a7cb077d3095a3d30951298e316c9d75d8020719efea54d8114387171816eaf7997c4
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,7 +279,7 @@ 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
@@ -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
@@ -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
@@ -331,6 +339,10 @@ module ParallelTests
331
339
  raise "Can't pass --specify-groups with any of these keys: --single, --isolate, or --isolate-n"
332
340
  end
333
341
 
342
+ if options[:failure_exit_code] && options[:highest_exit_status]
343
+ raise "Can't pass --failure-exit-code and --highest-exit-status"
344
+ end
345
+
334
346
  options
335
347
  end
336
348
 
@@ -1,4 +1,4 @@
1
1
  # frozen_string_literal: true
2
2
  module ParallelTests
3
- VERSION = '4.6.1'
3
+ VERSION = '4.7.0'
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.0
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-23 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.0/Readme.md
73
+ source_code_uri: https://github.com/grosser/parallel_tests/tree/v4.7.0
74
74
  wiki_uri: https://github.com/grosser/parallel_tests/wiki
75
75
  post_install_message:
76
76
  rdoc_options: []