parallel_tests 2.3.1 → 2.4.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 +33 -15
- data/lib/parallel_tests/tasks.rb +11 -1
- 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: ac1a67e85b702af960f6e713e19430eddfd076b5
|
4
|
+
data.tar.gz: ee8509f054d88880bd2ae77d03b33fdc6fc03ed2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2ee3f49cf7cf8e120e1df061477ee8211c76f3fb8a60ec605c9b838ce99fdad8d015e12492a4f9317e896541a4b96c43a6f138d340b9fc993a08492a235dc02b
|
7
|
+
data.tar.gz: fa4dba5b0c02c298b871612dc4c5934a0063cb31272547fe3b376edfe379eaaff0b562eb8786c61186744582ff76fcbb04f7ec04be56a82d9cd7857b147954b5
|
data/Readme.md
CHANGED
@@ -36,6 +36,9 @@ test:
|
|
36
36
|
### Copy development schema (repeat after migrations)
|
37
37
|
rake parallel:prepare
|
38
38
|
|
39
|
+
### Setup environment from scratch (create db and loads schema, useful for CI)
|
40
|
+
rake parallel:setup
|
41
|
+
|
39
42
|
### Run!
|
40
43
|
rake parallel:test # Test::Unit
|
41
44
|
rake parallel:spec # RSpec
|
@@ -230,26 +233,41 @@ You can run any kind of code in parallel with -e / --exec
|
|
230
233
|
|
231
234
|
TIPS
|
232
235
|
====
|
233
|
-
|
234
|
-
|
235
|
-
|
236
|
-
-
|
237
|
-
-
|
238
|
-
-
|
239
|
-
- [
|
240
|
-
|
241
|
-
|
242
|
-
|
236
|
+
|
237
|
+
### RSpec
|
238
|
+
|
239
|
+
- Add a `.rspec_parallel` to use different options, e.g. **no --drb**
|
240
|
+
- Remove `--loadby` from `.rspec`
|
241
|
+
- Instantly see failures (instead of just a red F) with [rspec-instafail](https://github.com/grosser/rspec-instafail)
|
242
|
+
- Use [rspec-retry](https://github.com/NoRedInk/rspec-retry) (not rspec-rerun) to rerun failed tests.
|
243
|
+
|
244
|
+
### Cucumber
|
245
|
+
|
246
|
+
- Add a `parallel: foo` profile to your `config/cucumber.yml` and it will be used to run parallel tests
|
247
|
+
- [ReportBuilder](https://github.com/rajatthareja/ReportBuilder) can help with combining parallel test results
|
248
|
+
- Supports Cucumber 2.0+ and is actively maintained
|
249
|
+
- Combines many JSON files into a single file
|
250
|
+
- Builds a HTML report from JSON with support for debug msgs & embedded Base64 images.
|
251
|
+
|
252
|
+
### General
|
243
253
|
- [SQL schema format] use :ruby schema format to get faster parallel:prepare`
|
244
254
|
- [ZSH] use quotes to use rake arguments `rake "parallel:prepare[3]"`
|
245
|
-
- [
|
246
|
-
|
247
|
-
- [
|
248
|
-
- [Distributed parallel test (e.g. Travis Support)](https://github.com/grosser/parallel_tests/wiki/Distributed-Parallel-Tests-and-Travis-Support)
|
255
|
+
- [Memcached] use different namespaces<br/>
|
256
|
+
e.g. `config.cache_store = ..., namespace: "test_#{ENV['TEST_ENV_NUMBER']}"`
|
257
|
+
- Debug errors that only happen with multiple files using `--verbose` and [cleanser](https://github.com/grosser/cleanser)
|
249
258
|
- `export PARALLEL_TEST_PROCESSORS=13` to override default processor count
|
250
259
|
- Shell alias: `alias prspec='parallel_rspec -m 2 --'`
|
251
260
|
- [Spring] to use spring you have to [patch it](https://github.com/grosser/parallel_tests/wiki/Spring)
|
252
|
-
-
|
261
|
+
- `--first-is-1` will make the first environment be `1`, so you can test while running your full suite.<br/>
|
262
|
+
`export PARALLEL_TEST_FIRST_IS_1=true` will provide the same result
|
263
|
+
- [email_spec and/or action_mailer_cache_delivery](https://github.com/grosser/parallel_tests/wiki)
|
264
|
+
- [zeus-parallel_tests](https://github.com/sevos/zeus-parallel_tests)
|
265
|
+
- [Distributed parallel test (e.g. Travis Support)](https://github.com/grosser/parallel_tests/wiki/Distributed-Parallel-Tests-and-Travis-Support)
|
266
|
+
- [Capybara setup](https://github.com/grosser/parallel_tests/wiki)
|
267
|
+
- [Sphinx setup](https://github.com/grosser/parallel_tests/wiki)
|
268
|
+
- [Capistrano setup](https://github.com/grosser/parallel_tests/wiki/Remotely-with-capistrano) let your tests run on a big box instead of your laptop
|
269
|
+
|
270
|
+
Contribute your own gotaches to the [Wiki](https://github.com/grosser/parallel_tests/wiki) or even better open a PR :)
|
253
271
|
|
254
272
|
TODO
|
255
273
|
====
|
data/lib/parallel_tests/tasks.rb
CHANGED
@@ -43,6 +43,10 @@ module ParallelTests
|
|
43
43
|
end
|
44
44
|
end
|
45
45
|
|
46
|
+
def suppress_schema_load_output(command)
|
47
|
+
ParallelTests::Tasks.suppress_output(command, "^ ->\\|^-- ")
|
48
|
+
end
|
49
|
+
|
46
50
|
def check_for_pending_migrations
|
47
51
|
["db:abort_if_pending_migrations", "app:db:abort_if_pending_migrations"].each do |abort_migrations|
|
48
52
|
if Rake::Task.task_defined?(abort_migrations)
|
@@ -72,6 +76,12 @@ module ParallelTests
|
|
72
76
|
end
|
73
77
|
|
74
78
|
namespace :parallel do
|
79
|
+
desc "setup test databases via db:setup --> parallel:setup[num_cpus]"
|
80
|
+
task :setup, :count do |_,args|
|
81
|
+
command = "rake db:setup RAILS_ENV=#{ParallelTests::Tasks.rails_env}"
|
82
|
+
ParallelTests::Tasks.run_in_parallel(ParallelTests::Tasks.suppress_schema_load_output(command), args)
|
83
|
+
end
|
84
|
+
|
75
85
|
desc "create test databases via db:create --> parallel:create[num_cpus]"
|
76
86
|
task :create, :count do |_,args|
|
77
87
|
ParallelTests::Tasks.run_in_parallel("rake db:create RAILS_ENV=#{ParallelTests::Tasks.rails_env}", args)
|
@@ -107,7 +117,7 @@ namespace :parallel do
|
|
107
117
|
desc "load dumped schema for test databases via db:schema:load --> parallel:load_schema[num_cpus]"
|
108
118
|
task :load_schema, :count do |_,args|
|
109
119
|
command = "rake #{ParallelTests::Tasks.purge_before_load} db:schema:load RAILS_ENV=#{ParallelTests::Tasks.rails_env}"
|
110
|
-
ParallelTests::Tasks.run_in_parallel(ParallelTests::Tasks.
|
120
|
+
ParallelTests::Tasks.run_in_parallel(ParallelTests::Tasks.suppress_schema_load_output(command), args)
|
111
121
|
end
|
112
122
|
|
113
123
|
# load the structure from the structure.sql file
|
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.4.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-
|
11
|
+
date: 2016-02-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: parallel
|