parallel_tests 2.2.2 → 2.3.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 +4 -4
- data/Readme.md +4 -4
- data/lib/parallel_tests.rb +1 -1
- data/lib/parallel_tests/cli.rb +8 -0
- data/lib/parallel_tests/test/runner.rb +7 -3
- data/lib/parallel_tests/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bf3c37871a820f86c06a1f2a5a5a9dabadf6e7c5
|
4
|
+
data.tar.gz: aa7f9ae0f442390ddd4fb38ad5bfe5dc46448806
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4d63c6145253a47d09b065b76acc923b6ee2acc37189523b8ffef02854e8a0127ba6b1f10d732820482a15f13ac518481b30cf81b2bcd3331b6f0988283ec557
|
7
|
+
data.tar.gz: f158a3f0c44ffa43411c43a86dbc8ef89a415bb7a0862489acc84895249e6d9697d12f5d5d840f578911beabeebef5639725e7e8402e28a9114f8eb891fa4287
|
data/Readme.md
CHANGED
@@ -228,8 +228,9 @@ You can run any kind of code in parallel with -e / --exec
|
|
228
228
|
|
229
229
|
TIPS
|
230
230
|
====
|
231
|
+
- `--first-is-1` or `export PARALLEL_TEST_FIRST_IS_1=true` will make the first environment be `1`, so you can test while running your full suite
|
232
|
+
- Debug errors that only happen with multiple files using `--verbose` and [cleanser](https://github.com/grosser/cleanser)
|
231
233
|
- [RSpec] add a `.rspec_parallel` to use different options, e.g. **no --drb**
|
232
|
-
- Spring does not work with parallel_tests, use `DISABLE_SPRING=1 rake parallel:spec` if you have spring hardcoded in your binaries
|
233
234
|
- [RSpec] remove `--loadby` from `.rspec`
|
234
235
|
- [RSpec] Instantly see failures (instead of just a red F) with [rspec-instafail](https://github.com/grosser/rspec-instafail)
|
235
236
|
- [RSpec] use [rspec-retry](https://github.com/NoRedInk/rspec-retry) (not rspec-rerun) to rerun failed tests.
|
@@ -238,13 +239,12 @@ TIPS
|
|
238
239
|
- [Sphinx setup](https://github.com/grosser/parallel_tests/wiki)
|
239
240
|
- [Capistrano setup](https://github.com/grosser/parallel_tests/wiki/Remotely-with-capistrano) let your tests run on a big box instead of your laptop
|
240
241
|
- [SQL schema format] use :ruby schema format to get faster parallel:prepare`
|
241
|
-
- `export PARALLEL_TEST_PROCESSORS=X` in your environment and parallel_tests will use this number of processors by default
|
242
242
|
- [ZSH] use quotes to use rake arguments `rake "parallel:prepare[3]"`
|
243
243
|
- [email_spec and/or action_mailer_cache_delivery](https://github.com/grosser/parallel_tests/wiki)
|
244
244
|
- [Memcached] use different namespaces e.g. `config.cache_store = ..., namespace: "test_#{ENV['TEST_ENV_NUMBER']}"`
|
245
245
|
- [zeus-parallel_tests](https://github.com/sevos/zeus-parallel_tests)
|
246
246
|
- [Distributed parallel test (e.g. Travis Support)](https://github.com/grosser/parallel_tests/wiki/Distributed-Parallel-Tests-and-Travis-Support)
|
247
|
-
-
|
247
|
+
- `export PARALLEL_TEST_PROCESSORS=13` to override default processor count
|
248
248
|
- Shell alias: `alias prspec='parallel_rspec -m 2 --'`
|
249
249
|
- [Spring] to use spring you have to [patch it](https://github.com/grosser/parallel_tests/wiki/Spring)
|
250
250
|
- Contribute your own gotaches to the [Wiki](https://github.com/grosser/parallel_tests/wiki) or even better open a PR :)
|
@@ -257,7 +257,7 @@ TODO
|
|
257
257
|
|
258
258
|
Authors
|
259
259
|
====
|
260
|
-
inspired by [pivotal labs](
|
260
|
+
inspired by [pivotal labs](https://blog.pivotal.io/labs/labs/parallelize-your-rspec-suite)
|
261
261
|
|
262
262
|
### [Contributors](https://github.com/grosser/parallel_tests/contributors)
|
263
263
|
- [Charles Finkel](http://charlesfinkel.com/)
|
data/lib/parallel_tests.rb
CHANGED
data/lib/parallel_tests/cli.rb
CHANGED
@@ -13,6 +13,8 @@ module ParallelTests
|
|
13
13
|
num_processes = ParallelTests.determine_number_of_processes(options[:count])
|
14
14
|
num_processes = num_processes * (options[:multiply] || 1)
|
15
15
|
|
16
|
+
options[:first_is_1] ||= first_is_1?
|
17
|
+
|
16
18
|
if options[:execute]
|
17
19
|
execute_shell_command_in_parallel(options[:execute], num_processes, options)
|
18
20
|
else
|
@@ -190,6 +192,7 @@ module ParallelTests
|
|
190
192
|
opts.on("--runtime-log [PATH]", "Location of previously recorded test runtimes") { |path| options[:runtime_log] = path }
|
191
193
|
opts.on("--allowed-missing [INT]", Integer, "Allowed percentage of missing runtimes (default = 50)") { |percent| options[:allowed_missing_percent] = percent }
|
192
194
|
opts.on("--unknown-runtime [FLOAT]", Float, "Use given number as unknown runtime (otherwise use average time)") { |time| options[:unknown_runtime] = time }
|
195
|
+
opts.on("--first-is-1", "Use \"1\" as TEST_ENV_NUMBER to not reuse the default test environment") { options[:first_is_1] = true }
|
193
196
|
opts.on("--verbose", "Print more output") { options[:verbose] = true }
|
194
197
|
opts.on("-v", "--version", "Show Version") { puts ParallelTests::VERSION; exit }
|
195
198
|
opts.on("-h", "--help", "Show this.") { puts opts; exit }
|
@@ -286,5 +289,10 @@ module ParallelTests
|
|
286
289
|
def use_colors?
|
287
290
|
$stdout.tty?
|
288
291
|
end
|
292
|
+
|
293
|
+
def first_is_1?
|
294
|
+
val = ENV["PARALLEL_TEST_FIRST_IS_1"]
|
295
|
+
['1', 'true'].include?(val)
|
296
|
+
end
|
289
297
|
end
|
290
298
|
end
|
@@ -71,7 +71,7 @@ module ParallelTests
|
|
71
71
|
|
72
72
|
def execute_command(cmd, process_number, num_processes, options)
|
73
73
|
env = (options[:env] || {}).merge(
|
74
|
-
"TEST_ENV_NUMBER" => test_env_number(process_number),
|
74
|
+
"TEST_ENV_NUMBER" => test_env_number(process_number, options),
|
75
75
|
"PARALLEL_TEST_GROUPS" => num_processes
|
76
76
|
)
|
77
77
|
cmd = "nice #{cmd}" if options[:nice]
|
@@ -108,8 +108,12 @@ module ParallelTests
|
|
108
108
|
}.compact
|
109
109
|
end
|
110
110
|
|
111
|
-
def test_env_number(process_number)
|
112
|
-
process_number == 0
|
111
|
+
def test_env_number(process_number, options={})
|
112
|
+
if process_number == 0 && !options[:first_is_1]
|
113
|
+
''
|
114
|
+
else
|
115
|
+
process_number + 1
|
116
|
+
end
|
113
117
|
end
|
114
118
|
|
115
119
|
def summarize_results(results)
|
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: 2.
|
4
|
+
version: 2.3.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: 2016-01-
|
11
|
+
date: 2016-01-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: parallel
|