rspec-multiprocess_runner 0.2.1 → 0.2.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.
- data/CHANGELOG.md +4 -0
- data/README.md +15 -0
- data/lib/rspec/multiprocess_runner/coordinator.rb +10 -1
- data/lib/rspec/multiprocess_runner/version.rb +1 -1
- metadata +30 -20
- checksums.yaml +0 -7
data/CHANGELOG.md
CHANGED
data/README.md
CHANGED
@@ -117,6 +117,21 @@ Bug reports and pull requests are welcome on GitHub at https://github.com/cdd/rs
|
|
117
117
|
* [](https://travis-ci.org/cdd/rspec-multiprocess_runner)
|
118
118
|
[Continuous Integration on Travis-CI](https://travis-ci.org/cdd/rspec-multiprocess_runner)
|
119
119
|
|
120
|
+
### Release process
|
121
|
+
|
122
|
+
1. Verify that all desired changes have been merged & pushed to master.
|
123
|
+
2. Verify that the changelog is up to date (it should be kept up to date as
|
124
|
+
changes are made, so this should just be a quick check).
|
125
|
+
3. Verify that the current master has passed on Travis.
|
126
|
+
4. Edit `version.rb` and remove `".pre"` from the version number. Save and commit.
|
127
|
+
5. Run `rake release`. This packages the gem and submits it to rubygems.org.
|
128
|
+
6. Edit `version.rb` and update to the next patch-level release, plus `.pre`.
|
129
|
+
E.g. if you just released 0.6.10, update the version in `version.rb` to
|
130
|
+
`"0.6.11.pre"`.
|
131
|
+
7. Add a heading for the new version number to `CHANGELOG.md`. E.g., if you
|
132
|
+
just released 0.6.10, add "# 0.6.11" to the top of the changelog.
|
133
|
+
8. Save and commit the changes from steps 6 and 7.
|
134
|
+
|
120
135
|
## License
|
121
136
|
|
122
137
|
The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).
|
@@ -9,7 +9,7 @@ module RSpec::MultiprocessRunner
|
|
9
9
|
@file_timeout_seconds = options[:file_timeout_seconds]
|
10
10
|
@example_timeout_seconds = options[:example_timeout_seconds]
|
11
11
|
@rspec_options = options[:rspec_options]
|
12
|
-
@spec_files = files
|
12
|
+
@spec_files = sort_files(files)
|
13
13
|
@workers = []
|
14
14
|
@stopped_workers = []
|
15
15
|
end
|
@@ -48,6 +48,15 @@ module RSpec::MultiprocessRunner
|
|
48
48
|
|
49
49
|
private
|
50
50
|
|
51
|
+
# Sorting by decreasing size attempts to ensure we don't send the slowest
|
52
|
+
# file to a worker right before all the other workers finish and then end up
|
53
|
+
# waiting for that one process to finish.
|
54
|
+
# In the future it would be nice to log execution time and sort by that.
|
55
|
+
def sort_files(files)
|
56
|
+
# #sort_by caches the File.size result so we only call it once per file.
|
57
|
+
files.sort_by { |file| -File.size(file) }
|
58
|
+
end
|
59
|
+
|
51
60
|
def worker_sockets
|
52
61
|
@workers.map(&:socket)
|
53
62
|
end
|
metadata
CHANGED
@@ -1,75 +1,84 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rspec-multiprocess_runner
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.2
|
5
|
+
prerelease:
|
5
6
|
platform: ruby
|
6
7
|
authors:
|
7
8
|
- Rhett Sutphin
|
8
9
|
autorequire:
|
9
10
|
bindir: exe
|
10
11
|
cert_chain: []
|
11
|
-
date:
|
12
|
+
date: 2016-01-04 00:00:00.000000000 Z
|
12
13
|
dependencies:
|
13
14
|
- !ruby/object:Gem::Dependency
|
14
15
|
name: rspec-core
|
15
16
|
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
16
18
|
requirements:
|
17
|
-
- -
|
19
|
+
- - ~>
|
18
20
|
- !ruby/object:Gem::Version
|
19
21
|
version: '2.0'
|
20
|
-
- -
|
22
|
+
- - <
|
21
23
|
- !ruby/object:Gem::Version
|
22
24
|
version: 2.99.0
|
23
25
|
type: :runtime
|
24
26
|
prerelease: false
|
25
27
|
version_requirements: !ruby/object:Gem::Requirement
|
28
|
+
none: false
|
26
29
|
requirements:
|
27
|
-
- -
|
30
|
+
- - ~>
|
28
31
|
- !ruby/object:Gem::Version
|
29
32
|
version: '2.0'
|
30
|
-
- -
|
33
|
+
- - <
|
31
34
|
- !ruby/object:Gem::Version
|
32
35
|
version: 2.99.0
|
33
36
|
- !ruby/object:Gem::Dependency
|
34
37
|
name: bundler
|
35
38
|
requirement: !ruby/object:Gem::Requirement
|
39
|
+
none: false
|
36
40
|
requirements:
|
37
|
-
- -
|
41
|
+
- - ~>
|
38
42
|
- !ruby/object:Gem::Version
|
39
43
|
version: '1.10'
|
40
44
|
type: :development
|
41
45
|
prerelease: false
|
42
46
|
version_requirements: !ruby/object:Gem::Requirement
|
47
|
+
none: false
|
43
48
|
requirements:
|
44
|
-
- -
|
49
|
+
- - ~>
|
45
50
|
- !ruby/object:Gem::Version
|
46
51
|
version: '1.10'
|
47
52
|
- !ruby/object:Gem::Dependency
|
48
53
|
name: rake
|
49
54
|
requirement: !ruby/object:Gem::Requirement
|
55
|
+
none: false
|
50
56
|
requirements:
|
51
|
-
- -
|
57
|
+
- - ~>
|
52
58
|
- !ruby/object:Gem::Version
|
53
59
|
version: '10.0'
|
54
60
|
type: :development
|
55
61
|
prerelease: false
|
56
62
|
version_requirements: !ruby/object:Gem::Requirement
|
63
|
+
none: false
|
57
64
|
requirements:
|
58
|
-
- -
|
65
|
+
- - ~>
|
59
66
|
- !ruby/object:Gem::Version
|
60
67
|
version: '10.0'
|
61
68
|
- !ruby/object:Gem::Dependency
|
62
69
|
name: rspec
|
63
70
|
requirement: !ruby/object:Gem::Requirement
|
71
|
+
none: false
|
64
72
|
requirements:
|
65
|
-
- -
|
73
|
+
- - ! '>='
|
66
74
|
- !ruby/object:Gem::Version
|
67
75
|
version: '0'
|
68
76
|
type: :development
|
69
77
|
prerelease: false
|
70
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
none: false
|
71
80
|
requirements:
|
72
|
-
- -
|
81
|
+
- - ! '>='
|
73
82
|
- !ruby/object:Gem::Version
|
74
83
|
version: '0'
|
75
84
|
description:
|
@@ -80,9 +89,9 @@ executables:
|
|
80
89
|
extensions: []
|
81
90
|
extra_rdoc_files: []
|
82
91
|
files:
|
83
|
-
-
|
84
|
-
-
|
85
|
-
-
|
92
|
+
- .gitignore
|
93
|
+
- .rspec
|
94
|
+
- .travis.yml
|
86
95
|
- CHANGELOG.md
|
87
96
|
- Gemfile
|
88
97
|
- LICENSE.txt
|
@@ -103,25 +112,26 @@ files:
|
|
103
112
|
homepage: https://github.com/cdd/rspec-multiprocess_runner
|
104
113
|
licenses:
|
105
114
|
- MIT
|
106
|
-
metadata: {}
|
107
115
|
post_install_message:
|
108
116
|
rdoc_options: []
|
109
117
|
require_paths:
|
110
118
|
- lib
|
111
119
|
required_ruby_version: !ruby/object:Gem::Requirement
|
120
|
+
none: false
|
112
121
|
requirements:
|
113
|
-
- -
|
122
|
+
- - ! '>='
|
114
123
|
- !ruby/object:Gem::Version
|
115
124
|
version: '0'
|
116
125
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
126
|
+
none: false
|
117
127
|
requirements:
|
118
|
-
- -
|
128
|
+
- - ! '>='
|
119
129
|
- !ruby/object:Gem::Version
|
120
130
|
version: '0'
|
121
131
|
requirements: []
|
122
132
|
rubyforge_project:
|
123
|
-
rubygems_version:
|
133
|
+
rubygems_version: 1.8.23.2
|
124
134
|
signing_key:
|
125
|
-
specification_version:
|
135
|
+
specification_version: 3
|
126
136
|
summary: A runner for RSpec 2 that uses multiple processes to execute specs in parallel
|
127
137
|
test_files: []
|
checksums.yaml
DELETED
@@ -1,7 +0,0 @@
|
|
1
|
-
---
|
2
|
-
SHA1:
|
3
|
-
metadata.gz: f9657102aa587ca6acd499b828177dbf398b6e6b
|
4
|
-
data.tar.gz: 3a8c98ed3e373fef1b4b7dfd18402144cc392b8f
|
5
|
-
SHA512:
|
6
|
-
metadata.gz: ab7389b7741bcc49e0a0c035f0c9c995cf5894cee84d8c69bda5833e3913b3d1834f67d1f3e5ac51d7722f1ed2887858afcbfa9650e4fb549fed489e43b05886
|
7
|
-
data.tar.gz: 3419d3061983fab7408ea2eec18871ff5a83db427c0178e7fcae7424a9c97cf1d47cecf791e774e9a9a54befeffb5f106dca62baa5a1ba2078dd3f3ebc6f4e05
|