mutant 0.9.4 → 0.9.5
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/Changelog.md +5 -0
- data/Gemfile +0 -8
- data/Gemfile.lock +35 -49
- data/LICENSE +1 -1
- data/README.md +9 -0
- data/config/rubocop.yml +10 -3
- data/docs/commercial-support.md +14 -0
- data/lib/mutant/cli.rb +1 -1
- data/lib/mutant/meta.rb +1 -3
- data/lib/mutant/meta/example/verification.rb +1 -1
- data/lib/mutant/mutator/node/generic.rb +18 -2
- data/lib/mutant/mutator/node/send.rb +1 -1
- data/lib/mutant/reporter/cli/format.rb +1 -1
- data/lib/mutant/version.rb +1 -1
- data/lib/mutant/zombifier.rb +2 -0
- data/mutant.gemspec +2 -2
- data/spec/support/corpus.rb +3 -3
- data/spec/support/ruby_vm.rb +1 -2
- data/spec/support/shared_context.rb +3 -3
- data/spec/support/xspec.rb +2 -2
- data/spec/unit/mutant/repository/diff/ranges_spec.rb +2 -2
- metadata +8 -7
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: da54128dceeae02111b3708c3b3bdc80d49d926661069bb1e852468ceaad0502
|
|
4
|
+
data.tar.gz: 3a925f8be1f50b4fa767047324e06a268a8ba3f6b2b5797b795bd1581c69a84f
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: bd0520621ef6fb51b2e31ca9232d1d56226a867a8684e7246a83b20382e506ac0e86457f8ac7a1d9d602f70f7459207153464e3c1cabb63144f3634a85f1a73f
|
|
7
|
+
data.tar.gz: 7293cb707fee3343a7e089b4c7ba35487262c35740a3caf3392fad5ec7f3d956a2fd54c43f5925deb1cb6e99e2f0b146fc2af4ab2a16ad5e339206e5d71c178e
|
data/Changelog.md
CHANGED
data/Gemfile
CHANGED
|
@@ -6,14 +6,6 @@ gemspec name: 'mutant'
|
|
|
6
6
|
|
|
7
7
|
eval_gemfile File.expand_path('Gemfile.shared', __dir__)
|
|
8
8
|
|
|
9
|
-
gem 'unparser', git: 'https://github.com/mbj/unparser.git'
|
|
10
|
-
|
|
11
|
-
gem(
|
|
12
|
-
'devtools',
|
|
13
|
-
git: 'https://github.com/mbj/devtools.git',
|
|
14
|
-
ref: '26ba0a1053e6cf7b79fc72d513a73457f9a38ead'
|
|
15
|
-
)
|
|
16
|
-
|
|
17
9
|
# Mutant itself uses an opensource license key.
|
|
18
10
|
# Scoped to https://github.com/mbj/mutant it'll
|
|
19
11
|
# not be useful elsewhere.
|
data/Gemfile.lock
CHANGED
|
@@ -1,39 +1,3 @@
|
|
|
1
|
-
GIT
|
|
2
|
-
remote: https://github.com/mbj/devtools.git
|
|
3
|
-
revision: 26ba0a1053e6cf7b79fc72d513a73457f9a38ead
|
|
4
|
-
ref: 26ba0a1053e6cf7b79fc72d513a73457f9a38ead
|
|
5
|
-
specs:
|
|
6
|
-
devtools (0.1.23)
|
|
7
|
-
abstract_type (~> 0.0.7)
|
|
8
|
-
adamantium (~> 0.2.0)
|
|
9
|
-
anima (~> 0.3.0)
|
|
10
|
-
concord (~> 0.1.5)
|
|
11
|
-
flay (~> 2.12.0)
|
|
12
|
-
flog (~> 4.6.2)
|
|
13
|
-
procto (~> 0.0.3)
|
|
14
|
-
rake (~> 12.3.0)
|
|
15
|
-
reek (~> 5.3.0)
|
|
16
|
-
rspec (~> 3.8.0)
|
|
17
|
-
rspec-core (~> 3.8.0)
|
|
18
|
-
rspec-its (~> 1.2.0)
|
|
19
|
-
rubocop (~> 0.61.1)
|
|
20
|
-
simplecov (~> 0.16.1)
|
|
21
|
-
yard (~> 0.9.16)
|
|
22
|
-
yardstick (~> 0.9.9)
|
|
23
|
-
|
|
24
|
-
GIT
|
|
25
|
-
remote: https://github.com/mbj/unparser.git
|
|
26
|
-
revision: 157a5b3b43e9f1d540da74b1751dc2b6f7601c3b
|
|
27
|
-
specs:
|
|
28
|
-
unparser (0.4.6)
|
|
29
|
-
abstract_type (~> 0.0.7)
|
|
30
|
-
adamantium (~> 0.2.0)
|
|
31
|
-
concord (~> 0.1.5)
|
|
32
|
-
diff-lcs (~> 1.3)
|
|
33
|
-
equalizer (~> 0.0.9)
|
|
34
|
-
parser (~> 2.6.5)
|
|
35
|
-
procto (~> 0.0.2)
|
|
36
|
-
|
|
37
1
|
PATH
|
|
38
2
|
remote: .
|
|
39
3
|
specs:
|
|
@@ -48,7 +12,7 @@ PATH
|
|
|
48
12
|
ice_nine (~> 0.11.1)
|
|
49
13
|
memoizable (~> 0.4.2)
|
|
50
14
|
mprelude (~> 0.1.0)
|
|
51
|
-
parser (~> 2.
|
|
15
|
+
parser (~> 2.7.0.2)
|
|
52
16
|
procto (~> 0.0.2)
|
|
53
17
|
unparser (~> 0.4.6)
|
|
54
18
|
|
|
@@ -78,6 +42,23 @@ GEM
|
|
|
78
42
|
equalizer (~> 0.0.9)
|
|
79
43
|
descendants_tracker (0.0.4)
|
|
80
44
|
thread_safe (~> 0.3, >= 0.3.1)
|
|
45
|
+
devtools (0.1.25)
|
|
46
|
+
abstract_type (~> 0.0.7)
|
|
47
|
+
adamantium (~> 0.2.0)
|
|
48
|
+
anima (~> 0.3.0)
|
|
49
|
+
concord (~> 0.1.5)
|
|
50
|
+
flay (~> 2.12.0)
|
|
51
|
+
flog (~> 4.6.2)
|
|
52
|
+
procto (~> 0.0.3)
|
|
53
|
+
rake (~> 12.3.0)
|
|
54
|
+
reek (~> 5.6.0)
|
|
55
|
+
rspec (~> 3.8.0)
|
|
56
|
+
rspec-core (~> 3.8.0)
|
|
57
|
+
rspec-its (~> 1.2.0)
|
|
58
|
+
rubocop (~> 0.79.0)
|
|
59
|
+
simplecov (~> 0.16.1)
|
|
60
|
+
yard (~> 0.9.16)
|
|
61
|
+
yardstick (~> 0.9.9)
|
|
81
62
|
diff-lcs (1.3)
|
|
82
63
|
docile (1.3.2)
|
|
83
64
|
equalizer (0.0.11)
|
|
@@ -106,18 +87,17 @@ GEM
|
|
|
106
87
|
procto (~> 0.0.2)
|
|
107
88
|
mutant-license (0.1.0)
|
|
108
89
|
parallel (1.19.1)
|
|
109
|
-
parser (2.
|
|
90
|
+
parser (2.7.0.2)
|
|
110
91
|
ast (~> 2.4.0)
|
|
111
92
|
path_expander (1.1.0)
|
|
112
|
-
powerpack (0.1.2)
|
|
113
93
|
procto (0.0.3)
|
|
114
94
|
psych (3.1.0)
|
|
115
95
|
rainbow (3.0.0)
|
|
116
96
|
rake (12.3.3)
|
|
117
|
-
reek (5.
|
|
97
|
+
reek (5.6.0)
|
|
118
98
|
codeclimate-engine-rb (~> 0.4.0)
|
|
119
99
|
kwalify (~> 0.7.0)
|
|
120
|
-
parser (>= 2.5.0.0, < 2.
|
|
100
|
+
parser (>= 2.5.0.0, < 2.8, != 2.5.1.1)
|
|
121
101
|
psych (~> 3.1.0)
|
|
122
102
|
rainbow (>= 2.0, < 4.0)
|
|
123
103
|
rspec (3.8.0)
|
|
@@ -136,14 +116,13 @@ GEM
|
|
|
136
116
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
137
117
|
rspec-support (~> 3.8.0)
|
|
138
118
|
rspec-support (3.8.3)
|
|
139
|
-
rubocop (0.
|
|
119
|
+
rubocop (0.79.0)
|
|
140
120
|
jaro_winkler (~> 1.5.1)
|
|
141
121
|
parallel (~> 1.10)
|
|
142
|
-
parser (>= 2.
|
|
143
|
-
powerpack (~> 0.1)
|
|
122
|
+
parser (>= 2.7.0.1)
|
|
144
123
|
rainbow (>= 2.2.2, < 4.0)
|
|
145
124
|
ruby-progressbar (~> 1.7)
|
|
146
|
-
unicode-display_width (
|
|
125
|
+
unicode-display_width (>= 1.4.0, < 1.7)
|
|
147
126
|
ruby-progressbar (1.10.1)
|
|
148
127
|
ruby_parser (3.14.1)
|
|
149
128
|
sexp_processor (~> 4.9)
|
|
@@ -154,13 +133,21 @@ GEM
|
|
|
154
133
|
simplecov-html (~> 0.10.0)
|
|
155
134
|
simplecov-html (0.10.2)
|
|
156
135
|
thread_safe (0.3.6)
|
|
157
|
-
unicode-display_width (1.
|
|
136
|
+
unicode-display_width (1.6.1)
|
|
137
|
+
unparser (0.4.7)
|
|
138
|
+
abstract_type (~> 0.0.7)
|
|
139
|
+
adamantium (~> 0.2.0)
|
|
140
|
+
concord (~> 0.1.5)
|
|
141
|
+
diff-lcs (~> 1.3)
|
|
142
|
+
equalizer (~> 0.0.9)
|
|
143
|
+
parser (>= 2.6.5)
|
|
144
|
+
procto (~> 0.0.2)
|
|
158
145
|
virtus (1.0.5)
|
|
159
146
|
axiom-types (~> 0.1)
|
|
160
147
|
coercible (~> 1.0)
|
|
161
148
|
descendants_tracker (~> 0.0, >= 0.0.3)
|
|
162
149
|
equalizer (~> 0.0, >= 0.0.9)
|
|
163
|
-
yard (0.9.
|
|
150
|
+
yard (0.9.24)
|
|
164
151
|
yardstick (0.9.9)
|
|
165
152
|
yard (~> 0.8, >= 0.8.7.2)
|
|
166
153
|
|
|
@@ -168,11 +155,10 @@ PLATFORMS
|
|
|
168
155
|
ruby
|
|
169
156
|
|
|
170
157
|
DEPENDENCIES
|
|
171
|
-
devtools
|
|
158
|
+
devtools (~> 0.1.25)
|
|
172
159
|
mutant!
|
|
173
160
|
mutant-license!
|
|
174
161
|
parallel (~> 1.3)
|
|
175
|
-
unparser!
|
|
176
162
|
|
|
177
163
|
BUNDLED WITH
|
|
178
164
|
1.17.3
|
data/LICENSE
CHANGED
|
@@ -116,7 +116,7 @@ the net income of Schirp DSO LTD).
|
|
|
116
116
|
|
|
117
117
|
6. Support, Maintenance and Services. Subject to the terms and conditions of
|
|
118
118
|
this Agreement, as set forth in your invoice, and as set forth on the Mutant
|
|
119
|
-
support page (https://github.com/mbj/mutant/
|
|
119
|
+
support page (https://github.com/mbj/mutant/blob/master/docs/commercial-support.md)
|
|
120
120
|
support and maintenance services may be included with the purchase of your
|
|
121
121
|
license subscription.
|
|
122
122
|
|
data/README.md
CHANGED
|
@@ -29,6 +29,15 @@ On each detection of uncovered semantics you have the opportunity to:
|
|
|
29
29
|
to test only the code you had been touching. See the [incremental](#only-mutating-changed-code)
|
|
30
30
|
mutation testing documentation.
|
|
31
31
|
|
|
32
|
+
## Ruby Versions
|
|
33
|
+
|
|
34
|
+
Mutant currently only works on cRuby/MRI. Starting with version 2.5.x. It supports all syntax features upto and
|
|
35
|
+
including Ruby 2.6.
|
|
36
|
+
|
|
37
|
+
Support for 2.7 syntax features is pending, see unparser issue: https://github.com/mbj/unparser/issues/129.
|
|
38
|
+
|
|
39
|
+
Mutant will work under Ruby 2.7 just fine, unless a 2.7 syntax feature is used. This will be resolved shortly.
|
|
40
|
+
|
|
32
41
|
## Licensing
|
|
33
42
|
|
|
34
43
|
Mutant was recently transitioned commercial software, with a free usage plan for opensource projects.
|
data/config/rubocop.yml
CHANGED
|
@@ -99,7 +99,7 @@ ClassCheck:
|
|
|
99
99
|
EnforcedStyle: kind_of?
|
|
100
100
|
|
|
101
101
|
# Do not prefer double quotes to be used when %q or %Q is more appropriate
|
|
102
|
-
|
|
102
|
+
Style/RedundantPercentQ:
|
|
103
103
|
Enabled: false
|
|
104
104
|
|
|
105
105
|
# Allow a maximum ABC score
|
|
@@ -145,7 +145,7 @@ Alias:
|
|
|
145
145
|
EnforcedStyle: prefer_alias_method
|
|
146
146
|
|
|
147
147
|
# Do not waste my horizontal or vertical space
|
|
148
|
-
|
|
148
|
+
Layout/FirstArrayElementIndentation:
|
|
149
149
|
Enabled: false
|
|
150
150
|
|
|
151
151
|
# Prefer
|
|
@@ -167,7 +167,7 @@ MultilineMethodCallIndentation:
|
|
|
167
167
|
Send:
|
|
168
168
|
Enabled: true
|
|
169
169
|
|
|
170
|
-
Layout/
|
|
170
|
+
Layout/HashAlignment:
|
|
171
171
|
EnforcedColonStyle: table
|
|
172
172
|
EnforcedHashRocketStyle: table
|
|
173
173
|
Layout/EmptyLineAfterGuardClause:
|
|
@@ -196,3 +196,10 @@ Style/RescueStandardError:
|
|
|
196
196
|
Enabled: false
|
|
197
197
|
Style/StderrPuts:
|
|
198
198
|
Enabled: false
|
|
199
|
+
# suggesting single letter variablesl bah
|
|
200
|
+
Naming/RescuedExceptionsVariableName:
|
|
201
|
+
Enabled: false
|
|
202
|
+
# false positive on private keywords
|
|
203
|
+
Layout/IndentationWidth:
|
|
204
|
+
Enabled: false
|
|
205
|
+
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# Commercial Support
|
|
2
|
+
|
|
3
|
+
Mutant offers only community support.
|
|
4
|
+
|
|
5
|
+
Commercial license customers are entited to priority support via email.
|
|
6
|
+
|
|
7
|
+
## Priority Support
|
|
8
|
+
|
|
9
|
+
Covers 1 incident per quarter, with a max response time of 7 days.
|
|
10
|
+
Scope is limited to mutant not the application or infrastructure.
|
|
11
|
+
|
|
12
|
+
For support email [Markus Schirp](mailto:mbj@schirp-dso.com?subject=Mutant%20Support).
|
|
13
|
+
Please email using the same domain as the roiginal license email or explain
|
|
14
|
+
your connection to the license.
|
data/lib/mutant/cli.rb
CHANGED
|
@@ -105,7 +105,7 @@ module Mutant
|
|
|
105
105
|
#
|
|
106
106
|
# @return [undefined]
|
|
107
107
|
#
|
|
108
|
-
# rubocop:disable MethodLength
|
|
108
|
+
# rubocop:disable Metrics/MethodLength
|
|
109
109
|
def add_environment_options(opts)
|
|
110
110
|
opts.separator('Environment:')
|
|
111
111
|
opts.on('--zombie', 'Run mutant zombified') do
|
data/lib/mutant/meta.rb
CHANGED
|
@@ -10,14 +10,12 @@ module Mutant
|
|
|
10
10
|
# Mutation example
|
|
11
11
|
class Example
|
|
12
12
|
|
|
13
|
-
# rubocop:disable MutableConstant
|
|
13
|
+
# rubocop:disable Style/MutableConstant
|
|
14
14
|
ALL = []
|
|
15
15
|
|
|
16
16
|
# Add example
|
|
17
17
|
#
|
|
18
18
|
# @return [undefined]
|
|
19
|
-
#
|
|
20
|
-
# rubocop:disable Performance/Caller
|
|
21
19
|
def self.add(*types, &block)
|
|
22
20
|
file = caller.first.split(':in', 2).first
|
|
23
21
|
ALL << DSL.call(file, Set.new(types), block)
|
|
@@ -61,7 +61,7 @@ module Mutant
|
|
|
61
61
|
def invalid_syntax
|
|
62
62
|
mutations.reject do |mutation|
|
|
63
63
|
::Parser::CurrentRuby.parse(mutation.source)
|
|
64
|
-
rescue ::Parser::SyntaxError # rubocop:disable Lint/
|
|
64
|
+
rescue ::Parser::SyntaxError # rubocop:disable Lint/SuppressedException
|
|
65
65
|
end
|
|
66
66
|
end
|
|
67
67
|
memoize :invalid_syntax
|
|
@@ -12,28 +12,43 @@ module Mutant
|
|
|
12
12
|
__LINE__
|
|
13
13
|
alias
|
|
14
14
|
arg_expr
|
|
15
|
+
array_pattern
|
|
16
|
+
array_pattern_with_tail
|
|
15
17
|
back_ref
|
|
16
18
|
blockarg
|
|
17
19
|
blockarg_expr
|
|
20
|
+
case_match
|
|
18
21
|
complex
|
|
22
|
+
const_pattern
|
|
19
23
|
eflipflop
|
|
20
24
|
empty
|
|
21
25
|
ensure
|
|
22
26
|
for
|
|
27
|
+
forward_args
|
|
28
|
+
forwarded_args
|
|
29
|
+
hash_pattern
|
|
23
30
|
ident
|
|
31
|
+
if_guard
|
|
24
32
|
iflipflop
|
|
33
|
+
in_match
|
|
34
|
+
in_pattern
|
|
25
35
|
kwnilarg
|
|
26
36
|
kwrestarg
|
|
27
37
|
kwsplat
|
|
38
|
+
match_alt
|
|
39
|
+
match_as
|
|
40
|
+
match_nil_pattern
|
|
41
|
+
match_rest
|
|
42
|
+
match_var
|
|
28
43
|
match_with_lvasgn
|
|
29
|
-
|
|
44
|
+
match_with_trailing_comma
|
|
30
45
|
module
|
|
31
46
|
numargs
|
|
32
47
|
numblock
|
|
33
|
-
numparam
|
|
34
48
|
objc_kwarg
|
|
35
49
|
objc_restarg
|
|
36
50
|
objc_varargs
|
|
51
|
+
pin
|
|
37
52
|
postexe
|
|
38
53
|
preexe
|
|
39
54
|
rational
|
|
@@ -45,6 +60,7 @@ module Mutant
|
|
|
45
60
|
sclass
|
|
46
61
|
shadowarg
|
|
47
62
|
undef
|
|
63
|
+
unless_guard
|
|
48
64
|
until_post
|
|
49
65
|
while_post
|
|
50
66
|
xstr
|
data/lib/mutant/version.rb
CHANGED
data/lib/mutant/zombifier.rb
CHANGED
data/mutant.gemspec
CHANGED
|
@@ -31,10 +31,10 @@ Gem::Specification.new do |gem|
|
|
|
31
31
|
gem.add_runtime_dependency('ice_nine', '~> 0.11.1')
|
|
32
32
|
gem.add_runtime_dependency('memoizable', '~> 0.4.2')
|
|
33
33
|
gem.add_runtime_dependency('mprelude', '~> 0.1.0')
|
|
34
|
-
gem.add_runtime_dependency('parser', '~> 2.
|
|
34
|
+
gem.add_runtime_dependency('parser', '~> 2.7.0.2')
|
|
35
35
|
gem.add_runtime_dependency('procto', '~> 0.0.2')
|
|
36
36
|
gem.add_runtime_dependency('unparser', '~> 0.4.6')
|
|
37
37
|
|
|
38
|
-
gem.add_development_dependency('devtools', '~> 0.1.
|
|
38
|
+
gem.add_development_dependency('devtools', '~> 0.1.25')
|
|
39
39
|
gem.add_development_dependency('parallel', '~> 1.3')
|
|
40
40
|
end
|
data/spec/support/corpus.rb
CHANGED
|
@@ -10,7 +10,7 @@ module MutantSpec
|
|
|
10
10
|
|
|
11
11
|
# Namespace module for corpus testing
|
|
12
12
|
#
|
|
13
|
-
# rubocop:disable MethodLength
|
|
13
|
+
# rubocop:disable Metrics/MethodLength
|
|
14
14
|
module Corpus
|
|
15
15
|
TMP = ROOT.join('tmp').freeze
|
|
16
16
|
EXCLUDE_GLOB_FORMAT = '{%s}'
|
|
@@ -22,7 +22,7 @@ module MutantSpec
|
|
|
22
22
|
private_constant(*constants(false))
|
|
23
23
|
|
|
24
24
|
# Project under corpus test
|
|
25
|
-
# rubocop:disable ClassLength
|
|
25
|
+
# rubocop:disable Metrics/ClassLength
|
|
26
26
|
class Project
|
|
27
27
|
MUTEX = Mutex.new
|
|
28
28
|
|
|
@@ -259,7 +259,7 @@ module MutantSpec
|
|
|
259
259
|
#
|
|
260
260
|
# @param [Array<String>] arguments
|
|
261
261
|
#
|
|
262
|
-
# rubocop:disable GuardClause - guard clause without else does not make sense
|
|
262
|
+
# rubocop:disable Style/GuardClause - guard clause without else does not make sense
|
|
263
263
|
def system(arguments)
|
|
264
264
|
return if Kernel.system(*arguments)
|
|
265
265
|
|
data/spec/support/ruby_vm.rb
CHANGED
|
@@ -26,8 +26,7 @@ module MutantSpec
|
|
|
26
26
|
super(DEFAULTS.merge(attributes))
|
|
27
27
|
end
|
|
28
28
|
|
|
29
|
-
# rubocop:disable Naming/
|
|
30
|
-
def handle(vm, observation)
|
|
29
|
+
def handle(vm, observation) # rubocop:disable Naming/MethodParameterName
|
|
31
30
|
unless match?(observation)
|
|
32
31
|
fail "Unexpected event observation: #{observation.inspect}, expected #{inspect}"
|
|
33
32
|
end
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
# rubocop:disable ModuleLength
|
|
3
|
+
# rubocop:disable Metrics/ModuleLength
|
|
4
4
|
module SharedContext
|
|
5
5
|
# Prepend an anonymous module with the new `with` method
|
|
6
6
|
#
|
|
@@ -25,8 +25,8 @@ module SharedContext
|
|
|
25
25
|
end
|
|
26
26
|
end
|
|
27
27
|
|
|
28
|
-
# rubocop:disable MethodLength
|
|
29
|
-
# rubocop:disable AbcSize
|
|
28
|
+
# rubocop:disable Metrics/MethodLength
|
|
29
|
+
# rubocop:disable Metrics/AbcSize
|
|
30
30
|
def setup_shared_context
|
|
31
31
|
let(:mutation_a) { Mutant::Mutation::Evil.new(subject_a, mutation_a_node) }
|
|
32
32
|
let(:mutation_a_node) { s(:false) }
|
data/spec/support/xspec.rb
CHANGED
|
@@ -93,7 +93,7 @@ module XSpec
|
|
|
93
93
|
class MessageExpectation
|
|
94
94
|
include Anima.new(:receiver, :selector, :arguments, :reaction)
|
|
95
95
|
|
|
96
|
-
# rubocop:disable ParameterLists
|
|
96
|
+
# rubocop:disable Metrics/ParameterLists
|
|
97
97
|
def self.parse(receiver:, selector:, arguments: [], reaction: nil)
|
|
98
98
|
new(
|
|
99
99
|
receiver: receiver,
|
|
@@ -152,7 +152,7 @@ module XSpec
|
|
|
152
152
|
expectations.empty? or fail "unconsumed expectations:\n#{expectations.map(&:inspect).join("\n")}"
|
|
153
153
|
end
|
|
154
154
|
|
|
155
|
-
# rubocop:disable MethodLength
|
|
155
|
+
# rubocop:disable Metrics/MethodLength
|
|
156
156
|
def self.verify(rspec_context, expectations)
|
|
157
157
|
verifier = new(expectations)
|
|
158
158
|
|
|
@@ -13,7 +13,7 @@ describe Mutant::Repository::Diff::Ranges do
|
|
|
13
13
|
Tempfile.open('new') do |new_file|
|
|
14
14
|
new_file.write(new)
|
|
15
15
|
new_file.flush
|
|
16
|
-
# rubocop:disable Lint/
|
|
16
|
+
# rubocop:disable Lint/RedundantSplatExpansion
|
|
17
17
|
stdout, status = Open3.capture2(
|
|
18
18
|
*%W[
|
|
19
19
|
git
|
|
@@ -25,7 +25,7 @@ describe Mutant::Repository::Diff::Ranges do
|
|
|
25
25
|
#{new_file.path}
|
|
26
26
|
]
|
|
27
27
|
)
|
|
28
|
-
# rubocop:enable Lint/
|
|
28
|
+
# rubocop:enable Lint/RedundantSplatExpansion
|
|
29
29
|
|
|
30
30
|
fail unless [0, 256].include?(status.to_i)
|
|
31
31
|
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: mutant
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.9.
|
|
4
|
+
version: 0.9.5
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Markus Schirp
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2020-
|
|
11
|
+
date: 2020-02-02 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: abstract_type
|
|
@@ -156,14 +156,14 @@ dependencies:
|
|
|
156
156
|
requirements:
|
|
157
157
|
- - "~>"
|
|
158
158
|
- !ruby/object:Gem::Version
|
|
159
|
-
version: 2.
|
|
159
|
+
version: 2.7.0.2
|
|
160
160
|
type: :runtime
|
|
161
161
|
prerelease: false
|
|
162
162
|
version_requirements: !ruby/object:Gem::Requirement
|
|
163
163
|
requirements:
|
|
164
164
|
- - "~>"
|
|
165
165
|
- !ruby/object:Gem::Version
|
|
166
|
-
version: 2.
|
|
166
|
+
version: 2.7.0.2
|
|
167
167
|
- !ruby/object:Gem::Dependency
|
|
168
168
|
name: procto
|
|
169
169
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -198,14 +198,14 @@ dependencies:
|
|
|
198
198
|
requirements:
|
|
199
199
|
- - "~>"
|
|
200
200
|
- !ruby/object:Gem::Version
|
|
201
|
-
version: 0.1.
|
|
201
|
+
version: 0.1.25
|
|
202
202
|
type: :development
|
|
203
203
|
prerelease: false
|
|
204
204
|
version_requirements: !ruby/object:Gem::Requirement
|
|
205
205
|
requirements:
|
|
206
206
|
- - "~>"
|
|
207
207
|
- !ruby/object:Gem::Version
|
|
208
|
-
version: 0.1.
|
|
208
|
+
version: 0.1.25
|
|
209
209
|
- !ruby/object:Gem::Dependency
|
|
210
210
|
name: parallel
|
|
211
211
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -245,6 +245,7 @@ files:
|
|
|
245
245
|
- config/reek.yml
|
|
246
246
|
- config/rubocop.yml
|
|
247
247
|
- config/yardstick.yml
|
|
248
|
+
- docs/commercial-support.md
|
|
248
249
|
- docs/concurrency.md
|
|
249
250
|
- docs/incremental.md
|
|
250
251
|
- docs/known-problems.md
|
|
@@ -624,7 +625,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
624
625
|
- !ruby/object:Gem::Version
|
|
625
626
|
version: '0'
|
|
626
627
|
requirements: []
|
|
627
|
-
rubygems_version: 3.0.
|
|
628
|
+
rubygems_version: 3.0.3
|
|
628
629
|
signing_key:
|
|
629
630
|
specification_version: 4
|
|
630
631
|
summary: ''
|