parallel_tests 3.6.0 → 3.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: 05ee67a0bc76b53a3da04722d4d0d1b2ab5d82373b40255edd3ece18f486e026
4
- data.tar.gz: 2a3c9a39d71ccebe4d938f4005798c3aab95d5d9f9be6a8da50e1b4c5f474a6a
3
+ metadata.gz: 52c2ebdfc604b9e238867ea3d7d78cb919d60c951ab45bd2ead93db8893352f4
4
+ data.tar.gz: 441cf2b41a814746e1704fd794cd147638dbd261f1b294fd74b49adb9bc6d0da
5
5
  SHA512:
6
- metadata.gz: d755fbc5e33402153ab3db7ca7f01ac035650b2f84ceb22c5d860bd824d2b1fe2e530b84a5266702f1089f55737f21d6b110255125cfbfa28074ad95e1a22eea
7
- data.tar.gz: 74a6c4dd4c6a027113a59b1240b287906600adc00062a010462f0c4f3bb6934ba2b781a510844b8e9f5b0fee1d4de5e8523008b8b8b29e8ab520d6cbff593a90
6
+ metadata.gz: a20853e2eac4f7b4260ea3ac3a9515b3d83fa3b47ff411a5f9567fcde257044825b2e9a81047e01f4d72722c02a6fdd2dbffba026dafb236cff8c2be2b712134
7
+ data.tar.gz: 4483fac06b11b0615b2bd39dcc5487713a02105cac547cf50177ec30805a8b17ebdbbac679e88a84f57da702235998cc0f67b80e382ea0bd27e784f4e89639a0
data/Readme.md CHANGED
@@ -202,22 +202,21 @@ Options are:
202
202
  -p, --pattern [PATTERN] run tests matching this regex pattern
203
203
  --exclude-pattern [PATTERN] exclude tests matching this regex pattern
204
204
  --group-by [TYPE] group tests by:
205
- found - order of finding files
206
- steps - number of cucumber/spinach steps
207
- scenarios - individual cucumber scenarios
208
- filesize - by size of the file
209
- runtime - info from runtime log
210
- default - runtime when runtime log is filled otherwise filesize
205
+ found - order of finding files
206
+ steps - number of cucumber/spinach steps
207
+ scenarios - individual cucumber scenarios
208
+ filesize - by size of the file
209
+ runtime - info from runtime log
210
+ default - runtime when runtime log is filled otherwise filesize
211
211
  -m, --multiply-processes [FLOAT] use given number as a multiplier of processes to run
212
212
  -s, --single [PATTERN] Run all matching files in the same process
213
- -i, --isolate Do not run any other tests in the group used by --single(-s).
214
- Automatically turned on if --isolate-n is set above 0.
215
- --isolate-n Number of processes for isolated groups. Default to 1 when --isolate is on.
213
+ -i, --isolate Do not run any other tests in the group used by --single(-s)
214
+ --isolate-n [PROCESSES] Use 'isolate' singles with number of processes, default: 1.
215
+ --highest-exit-status Exit with the highest exit status provided by test run(s)
216
216
  --specify-groups [SPECS] Use 'specify-groups' if you want to specify multiple specs running in multiple
217
217
  processes in a specific formation. Commas indicate specs in the same process,
218
- pipes indicate specs in a new process. Cannot use with --single, --isolate, or
218
+ pipes indicate specs in a new process. Cannot use with --single, --isolate, or
219
219
  --isolate-n. Ex.
220
- Ex.
221
220
  $ parallel_tests -n 3 . --specify-groups '1_spec.rb,2_spec.rb|3_spec.rb'
222
221
  Process 1 will contain 1_spec.rb and 2_spec.rb
223
222
  Process 2 will contain 3_spec.rb
@@ -227,8 +226,8 @@ Options are:
227
226
  -o, --test-options '[OPTIONS]' execute test commands with those options
228
227
  -t, --type [TYPE] test(default) / rspec / cucumber / spinach
229
228
  --suffix [PATTERN] override built in test file pattern (should match suffix):
230
- '_spec.rb$' - matches rspec files
231
- '_(test|spec).rb$' - matches test or spec files
229
+ '_spec.rb$' - matches rspec files
230
+ '_(test|spec).rb$' - matches test or spec files
232
231
  --serialize-stdout Serialize stdout output, nothing will be written until everything is done
233
232
  --prefix-output-with-test-env-number
234
233
  Prefixes test env number to the output when not using --serialize-stdout
@@ -84,7 +84,18 @@ module ParallelTests
84
84
  report_time_taken(&run_tests_proc)
85
85
  end
86
86
 
87
- abort final_fail_message if any_test_failed?(test_results)
87
+ if any_test_failed?(test_results)
88
+ warn final_fail_message
89
+
90
+ # return the highest exit status to allow sub-processes to send things other than 1
91
+ exit_status = if options[:highest_exit_status]
92
+ test_results.map { |data| data.fetch(:exit_status) }.max
93
+ else
94
+ 1
95
+ end
96
+
97
+ exit exit_status
98
+ end
88
99
  end
89
100
 
90
101
  def run_tests(group, process_number, num_processes, options)
@@ -207,6 +218,10 @@ module ParallelTests
207
218
  "Use 'isolate' singles with number of processes, default: 1."
208
219
  ) { |n| options[:isolate_count] = n }
209
220
 
221
+ opts.on("--highest-exit-status", "Exit with the highest exit status provided by test run(s)") do
222
+ options[:highest_exit_status] = true
223
+ end
224
+
210
225
  opts.on(
211
226
  "--specify-groups [SPECS]",
212
227
  <<~TEXT.rstrip.split("\n").join("\n#{newline_padding}")
@@ -1,4 +1,4 @@
1
1
  # frozen_string_literal: true
2
2
  module ParallelTests
3
- VERSION = '3.6.0'
3
+ VERSION = '3.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: 3.6.0
4
+ version: 3.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: 2021-03-25 00:00:00.000000000 Z
11
+ date: 2021-04-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: parallel
@@ -68,8 +68,8 @@ licenses:
68
68
  - MIT
69
69
  metadata:
70
70
  bug_tracker_uri: https://github.com/grosser/parallel_tests/issues
71
- documentation_uri: https://github.com/grosser/parallel_tests/blob/v3.6.0/Readme.md
72
- source_code_uri: https://github.com/grosser/parallel_tests/tree/v3.6.0
71
+ documentation_uri: https://github.com/grosser/parallel_tests/blob/v3.7.0/Readme.md
72
+ source_code_uri: https://github.com/grosser/parallel_tests/tree/v3.7.0
73
73
  wiki_uri: https://github.com/grosser/parallel_tests/wiki
74
74
  post_install_message:
75
75
  rdoc_options: []