parallel_tests 2.2.2 → 2.3.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|