parallel_tests 3.6.0 → 3.7.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
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: []