parallel_tests 4.7.0 → 4.7.2

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: 24dc3cca9e186c8d0f50a1a9e4b5fb0e9e9e25f7b42df4108cbaa697165f509f
4
- data.tar.gz: 2685a07430f93fbad45300ae897472c806d68faa6cfbdb5fc573e41ec96639b5
3
+ metadata.gz: e432543f3ce9e19888f91f4a11e14b073305a7f3fa8fa69a31cd3db96606d187
4
+ data.tar.gz: 1c78c9c74dbbef031ca758d3bec296e4b5d74e7beb8108f604679a45899db070
5
5
  SHA512:
6
- metadata.gz: c26d0cd7643ce0b728d6a2d482e319b6ea4fd13f168e7a64bf00ad0c18355eaf4bb93ce42b05c239b2b385c6ef1e0b56aafe56117d072081ee61bb0ced066866
7
- data.tar.gz: 67e6cedb8619d5c8cd094e4ae365372b93c6a806b084f04e3f24e621cb4a7cb077d3095a3d30951298e316c9d75d8020719efea54d8114387171816eaf7997c4
6
+ metadata.gz: 95cf6bc8c16eca666478417a73d674b5707506c798f3418bbfee339c27de173b5284de9e53d4120ebb4be6ee559f0a042b64e515bde05e4d7e3f08ff568baf21
7
+ data.tar.gz: a02b65aa9fdd77cb9c42f6c1e96ecff0c84affa85b525dc273b020dafc73d3715b40a0b4b64059d6cbc69940a5c7e3604bb1c9f61ff243c416bfe0aaedec3dd4
data/Readme.md CHANGED
@@ -1,7 +1,7 @@
1
1
  # parallel_tests
2
2
 
3
3
  [![Gem Version](https://badge.fury.io/rb/parallel_tests.svg)](https://rubygems.org/gems/parallel_tests)
4
- [![Build status](https://github.com/grosser/parallel_tests/workflows/test/badge.svg)](https://github.com/grosser/parallel_tests/actions?query=workflow%3Atest)
4
+ [![Build status](https://github.com/grosser/parallel_tests/workflows/test/badge.svg)](https://github.com/grosser/parallel_tests/actions?query=workflow%3Atest&branch=master)
5
5
 
6
6
  Speedup Minitest + RSpec + Turnip + Cucumber + Spinach by running parallel on multiple CPU cores.<br/>
7
7
  ParallelTests splits tests into balanced groups (by number of lines or runtime) and runs each group in a process with its own database.
@@ -93,7 +93,7 @@ rake "parallel:rake[my:custom:task,2]"
93
93
  ```
94
94
 
95
95
 
96
- Running things once
96
+ Running setup or teardown once
97
97
  ===================
98
98
 
99
99
  ```Ruby
@@ -121,8 +121,11 @@ Even test group runtimes
121
121
 
122
122
  Test groups will often run for different times, making the full test run as slow as the slowest group.
123
123
 
124
- Step 1: Use these loggers (see below) to record test runtime
125
- Step 2: Your next run will use the recorded test runtimes (use `--runtime-log <file>` if you picked a location different from below)
124
+ **Step 1**: Use these loggers (see below) to record test runtime
125
+
126
+ **Step 2**: The next test run will use the recorded test runtimes (use `--runtime-log <file>` if you picked a location different from below)
127
+
128
+ **Step 3**: Automate upload/download of test runtime from your CI system [example](https://github.com/grosser/parallel_rails_example/blob/master/.github/workflows/test.yml) (chunks need to be combined, an alternative is [amend](https://github.com/grosser/amend))
126
129
 
127
130
  ### RSpec
128
131
 
@@ -143,8 +146,6 @@ require 'parallel_tests/test/runtime_logger' if ENV['RECORD_RUNTIME']
143
146
  results will be logged to `tmp/parallel_runtime_test.log` when `RECORD_RUNTIME` is set,
144
147
  so it is not always required or overwritten.
145
148
 
146
- ### TODO: add instructions for other frameworks
147
-
148
149
  Loggers
149
150
  =======
150
151
 
@@ -284,7 +285,9 @@ Options are:
284
285
  --first-is-1 Use "1" as TEST_ENV_NUMBER to not reuse the default test environment
285
286
  --fail-fast Stop all groups when one group fails (best used with --test-options '--fail-fast' if supported
286
287
  --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
288
+ --verbose-command Combines options --verbose-process-command and --verbose-rerun-command
289
+ --verbose-process-command Print the command that will be executed by each process before it begins
290
+ --verbose-rerun-command After a process fails, print the command executed by that process
288
291
  --quiet Print only tests output
289
292
  -v, --version Show Version
290
293
  -h, --help Show this.
@@ -440,6 +443,7 @@ inspired by [pivotal labs](https://blog.pivotal.io/labs/labs/parallelize-your-rs
440
443
  - [Adis Osmonov](https://github.com/adis-io)
441
444
  - [Josh Westbrook](https://github.com/joshwestbrook)
442
445
  - [Jay Dorsey](https://github.com/jaydorsey)
446
+ - [hatsu](https://github.com/hatsu38)
443
447
 
444
448
  [Michael Grosser](http://grosser.it)<br/>
445
449
  michael@grosser.it<br/>
@@ -146,7 +146,7 @@ module ParallelTests
146
146
  failing_sets = test_results.reject { |r| r[:exit_status] == 0 }
147
147
  return if failing_sets.none?
148
148
 
149
- if options[:verbose] || options[:verbose_command]
149
+ if options[:verbose] || options[:verbose_rerun_command]
150
150
  puts "\n\nTests have failed for a parallel_test group. Use the following command to run the group again:\n\n"
151
151
  failing_sets.each do |failing_set|
152
152
  command = failing_set[:command]
@@ -291,7 +291,9 @@ module ParallelTests
291
291
  opts.on("--first-is-1", "Use \"1\" as TEST_ENV_NUMBER to not reuse the default test environment") { options[:first_is_1] = true }
292
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 }
293
293
  opts.on("--verbose", "Print debug output") { options[:verbose] = true }
294
- 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 }
295
297
  opts.on("--quiet", "Print only tests output") { options[:quiet] = true }
296
298
  opts.on("-v", "--version", "Show Version") do
297
299
  puts ParallelTests::VERSION
@@ -4,8 +4,8 @@ require "parallel_tests/gherkin/runner"
4
4
  module ParallelTests
5
5
  module Cucumber
6
6
  class Runner < ParallelTests::Gherkin::Runner
7
- SCENARIOS_RESULTS_BOUNDARY_REGEX = /^(Failing|Flaky) Scenarios:$/.freeze
8
- SCENARIO_REGEX = %r{^cucumber features/.+:\d+}.freeze
7
+ SCENARIOS_RESULTS_BOUNDARY_REGEX = /^(Failing|Flaky) Scenarios:$/
8
+ SCENARIO_REGEX = %r{^cucumber features/.+:\d+}
9
9
 
10
10
  class << self
11
11
  def name
@@ -158,7 +158,7 @@ module ParallelTests
158
158
 
159
159
  def executable
160
160
  if (executable = ENV['PARALLEL_TESTS_EXECUTABLE'])
161
- [executable]
161
+ Shellwords.shellsplit(executable)
162
162
  else
163
163
  determine_executable
164
164
  end
@@ -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.7.0'
3
+ VERSION = '4.7.2'
4
4
  end
@@ -44,7 +44,7 @@ module ParallelTests
44
44
 
45
45
  def stop_all_processes
46
46
  pids.all.each { |pid| Process.kill(:INT, pid) }
47
- rescue Errno::ESRCH
47
+ rescue Errno::ESRCH, Errno::EPERM
48
48
  # Process already terminated, do nothing
49
49
  end
50
50
 
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.7.0
4
+ version: 4.7.2
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-23 00:00:00.000000000 Z
11
+ date: 2024-09-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: parallel
@@ -69,8 +69,9 @@ 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.7.0/Readme.md
73
- source_code_uri: https://github.com/grosser/parallel_tests/tree/v4.7.0
72
+ changelog_uri: https://github.com/grosser/parallel_tests/blob/v4.7.2/CHANGELOG.md
73
+ documentation_uri: https://github.com/grosser/parallel_tests/blob/v4.7.2/Readme.md
74
+ source_code_uri: https://github.com/grosser/parallel_tests/tree/v4.7.2
74
75
  wiki_uri: https://github.com/grosser/parallel_tests/wiki
75
76
  post_install_message:
76
77
  rdoc_options: []
@@ -80,7 +81,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
80
81
  requirements:
81
82
  - - ">="
82
83
  - !ruby/object:Gem::Version
83
- version: 2.7.0
84
+ version: 3.0.0
84
85
  required_rubygems_version: !ruby/object:Gem::Requirement
85
86
  requirements:
86
87
  - - ">="