mutant 0.8.10 → 0.8.11
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rubocop.yml +1 -4
- data/Changelog.md +8 -0
- data/README.md +112 -43
- data/Rakefile +2 -16
- data/circle.yml +1 -1
- data/config/flay.yml +2 -2
- data/config/flog.yml +1 -1
- data/config/reek.yml +3 -4
- data/config/rubocop.yml +53 -16
- data/lib/mutant.rb +27 -6
- data/lib/mutant/ast/meta/const.rb +2 -0
- data/lib/mutant/ast/meta/optarg.rb +2 -0
- data/lib/mutant/ast/meta/resbody.rb +2 -0
- data/lib/mutant/ast/meta/restarg.rb +2 -0
- data/lib/mutant/ast/meta/send.rb +4 -0
- data/lib/mutant/ast/meta/symbol.rb +2 -0
- data/lib/mutant/ast/named_children.rb +14 -4
- data/lib/mutant/ast/nodes.rb +3 -1
- data/lib/mutant/ast/regexp.rb +53 -0
- data/lib/mutant/ast/regexp/transformer.rb +185 -0
- data/lib/mutant/ast/regexp/transformer/alternative.rb +39 -0
- data/lib/mutant/ast/regexp/transformer/character_set.rb +46 -0
- data/lib/mutant/ast/regexp/transformer/direct.rb +99 -0
- data/lib/mutant/ast/regexp/transformer/options_group.rb +66 -0
- data/lib/mutant/ast/regexp/transformer/quantifier.rb +112 -0
- data/lib/mutant/ast/regexp/transformer/recursive.rb +50 -0
- data/lib/mutant/ast/regexp/transformer/root.rb +29 -0
- data/lib/mutant/ast/regexp/transformer/text.rb +55 -0
- data/lib/mutant/ast/types.rb +92 -5
- data/lib/mutant/cli.rb +2 -14
- data/lib/mutant/color.rb +1 -1
- data/lib/mutant/config.rb +1 -3
- data/lib/mutant/expression/methods.rb +1 -1
- data/lib/mutant/expression/namespace.rb +2 -2
- data/lib/mutant/expression/parser.rb +1 -1
- data/lib/mutant/integration.rb +10 -28
- data/lib/mutant/isolation.rb +9 -60
- data/lib/mutant/isolation/fork.rb +72 -0
- data/lib/mutant/isolation/none.rb +25 -0
- data/lib/mutant/matcher/config.rb +2 -0
- data/lib/mutant/matcher/method/singleton.rb +5 -4
- data/lib/mutant/meta.rb +11 -4
- data/lib/mutant/meta/example.rb +2 -116
- data/lib/mutant/meta/example/dsl.rb +22 -19
- data/lib/mutant/meta/example/verification.rb +86 -0
- data/lib/mutant/mutator.rb +22 -49
- data/lib/mutant/mutator/node.rb +15 -19
- data/lib/mutant/mutator/node/and_asgn.rb +1 -1
- data/lib/mutant/mutator/node/argument.rb +10 -5
- data/lib/mutant/mutator/node/arguments.rb +5 -9
- data/lib/mutant/mutator/node/begin.rb +4 -17
- data/lib/mutant/mutator/node/block.rb +1 -1
- data/lib/mutant/mutator/node/break.rb +1 -1
- data/lib/mutant/mutator/node/class.rb +21 -0
- data/lib/mutant/mutator/node/conditional_loop.rb +1 -1
- data/lib/mutant/mutator/node/define.rb +1 -1
- data/lib/mutant/mutator/node/defined.rb +1 -1
- data/lib/mutant/mutator/node/dstr.rb +1 -1
- data/lib/mutant/mutator/node/dsym.rb +1 -1
- data/lib/mutant/mutator/node/generic.rb +3 -3
- data/lib/mutant/mutator/node/kwbegin.rb +1 -1
- data/lib/mutant/mutator/node/literal.rb +9 -0
- data/lib/mutant/mutator/node/literal/boolean.rb +1 -1
- data/lib/mutant/mutator/node/literal/fixnum.rb +2 -2
- data/lib/mutant/mutator/node/literal/float.rb +4 -6
- data/lib/mutant/mutator/node/literal/hash.rb +1 -1
- data/lib/mutant/mutator/node/literal/nil.rb +1 -1
- data/lib/mutant/mutator/node/literal/range.rb +2 -19
- data/lib/mutant/mutator/node/literal/regex.rb +43 -3
- data/lib/mutant/mutator/node/literal/string.rb +1 -1
- data/lib/mutant/mutator/node/literal/symbol.rb +2 -4
- data/lib/mutant/mutator/node/masgn.rb +1 -1
- data/lib/mutant/mutator/node/match_current_line.rb +1 -1
- data/lib/mutant/mutator/node/mlhs.rb +2 -3
- data/lib/mutant/mutator/node/named_value/access.rb +2 -2
- data/lib/mutant/mutator/node/named_value/constant_assignment.rb +4 -3
- data/lib/mutant/mutator/node/named_value/variable_assignment.rb +4 -4
- data/lib/mutant/mutator/node/next.rb +1 -1
- data/lib/mutant/mutator/node/nthref.rb +1 -1
- data/lib/mutant/mutator/node/or_asgn.rb +1 -1
- data/lib/mutant/mutator/node/regexp.rb +44 -0
- data/lib/mutant/mutator/node/regopt.rb +31 -0
- data/lib/mutant/mutator/node/resbody.rb +1 -1
- data/lib/mutant/mutator/node/rescue.rb +1 -3
- data/lib/mutant/mutator/node/return.rb +1 -1
- data/lib/mutant/mutator/node/send.rb +43 -3
- data/lib/mutant/mutator/node/send/attribute_assignment.rb +4 -1
- data/lib/mutant/mutator/node/send/conditional.rb +23 -0
- data/lib/mutant/mutator/node/send/index.rb +1 -1
- data/lib/mutant/mutator/node/splat.rb +1 -1
- data/lib/mutant/mutator/node/when.rb +1 -1
- data/lib/mutant/mutator/node/yield.rb +1 -1
- data/lib/mutant/mutator/util.rb +0 -30
- data/lib/mutant/mutator/util/array.rb +4 -16
- data/lib/mutant/parallel.rb +1 -1
- data/lib/mutant/parallel/worker.rb +1 -1
- data/lib/mutant/registry.rb +44 -0
- data/lib/mutant/reporter/cli/format.rb +2 -0
- data/lib/mutant/reporter/cli/printer.rb +2 -2
- data/lib/mutant/reporter/cli/printer/config.rb +0 -1
- data/lib/mutant/reporter/cli/printer/env_progress.rb +1 -11
- data/lib/mutant/reporter/cli/printer/mutation_progress_result.rb +1 -1
- data/lib/mutant/reporter/cli/printer/mutation_result.rb +2 -0
- data/lib/mutant/reporter/cli/tput.rb +1 -1
- data/lib/mutant/reporter/sequence.rb +3 -0
- data/lib/mutant/require_highjack.rb +6 -2
- data/lib/mutant/result.rb +1 -1
- data/lib/mutant/subject.rb +5 -5
- data/lib/mutant/subject/method/instance.rb +1 -2
- data/lib/mutant/util.rb +18 -0
- data/lib/mutant/version.rb +1 -1
- data/lib/mutant/zombifier.rb +5 -3
- data/meta/and.rb +1 -1
- data/meta/and_asgn.rb +1 -1
- data/meta/array.rb +2 -2
- data/meta/begin.rb +2 -2
- data/meta/block.rb +7 -7
- data/meta/block_pass.rb +1 -1
- data/meta/blockarg.rb +1 -1
- data/meta/break.rb +1 -1
- data/meta/case.rb +2 -2
- data/meta/casgn.rb +11 -2
- data/meta/cbase.rb +1 -1
- data/meta/class.rb +10 -0
- data/meta/const.rb +9 -1
- data/meta/csend.rb +8 -0
- data/meta/cvar.rb +1 -1
- data/meta/cvasgn.rb +1 -1
- data/meta/date.rb +4 -4
- data/meta/def.rb +14 -14
- data/meta/defined.rb +1 -1
- data/meta/dstr.rb +1 -1
- data/meta/dsym.rb +1 -1
- data/meta/ensure.rb +1 -1
- data/meta/false.rb +1 -1
- data/meta/float.rb +3 -3
- data/meta/gvar.rb +1 -1
- data/meta/gvasgn.rb +1 -1
- data/meta/hash.rb +1 -1
- data/meta/if.rb +17 -3
- data/meta/int.rb +1 -1
- data/meta/ivar.rb +1 -1
- data/meta/ivasgn.rb +14 -1
- data/meta/kwarg.rb +8 -0
- data/meta/kwbegin.rb +1 -1
- data/meta/kwoptarg.rb +11 -0
- data/meta/lvar.rb +1 -1
- data/meta/lvasgn.rb +1 -1
- data/meta/masgn.rb +1 -1
- data/meta/match_current_line.rb +2 -2
- data/meta/next.rb +1 -1
- data/meta/nil.rb +1 -1
- data/meta/nthref.rb +5 -5
- data/meta/op_assgn.rb +1 -1
- data/meta/or.rb +1 -1
- data/meta/or_asgn.rb +5 -5
- data/meta/range.rb +2 -8
- data/meta/redo.rb +1 -1
- data/meta/regexp.rb +106 -0
- data/meta/regexp/regexp_bol_anchor.rb +13 -0
- data/meta/regexp/regexp_bos_anchor.rb +26 -0
- data/meta/regexp/regexp_root_expression.rb +13 -0
- data/meta/regopt.rb +8 -0
- data/meta/rescue.rb +49 -4
- data/meta/restarg.rb +6 -9
- data/meta/return.rb +2 -2
- data/meta/self.rb +1 -1
- data/meta/send.rb +228 -55
- data/meta/str.rb +1 -1
- data/meta/super.rb +3 -3
- data/meta/{symbol.rb → sym.rb} +1 -1
- data/meta/true.rb +1 -1
- data/meta/until.rb +1 -1
- data/meta/while.rb +2 -2
- data/meta/yield.rb +1 -1
- data/mutant-rspec.gemspec +2 -2
- data/mutant.gemspec +6 -5
- data/spec/integration/mutant/isolation/fork_spec.rb +8 -0
- data/spec/integration/mutant/rspec_spec.rb +1 -1
- data/spec/integration/mutant/test_mutator_handles_types_spec.rb +1 -2
- data/spec/integrations.yml +93 -24
- data/spec/spec_helper.rb +12 -7
- data/spec/support/compress_helper.rb +1 -1
- data/spec/support/corpus.rb +115 -50
- data/spec/support/fake_actor.rb +5 -5
- data/spec/support/file_system.rb +1 -1
- data/spec/support/ice_nine_config.rb +3 -3
- data/spec/support/ruby_vm.rb +11 -12
- data/spec/support/shared_context.rb +22 -13
- data/spec/support/test_app.rb +1 -1
- data/spec/support/warning.rb +64 -0
- data/spec/support/warnings.yml +4 -0
- data/spec/support/xspec.rb +177 -0
- data/spec/unit/mutant/actor/env_spec.rb +2 -2
- data/spec/unit/mutant/actor/sender_spec.rb +1 -1
- data/spec/unit/mutant/ast/meta/send_spec.rb +1 -1
- data/spec/unit/mutant/ast/named_children_spec.rb +26 -0
- data/spec/unit/mutant/ast/regexp/parse_spec.rb +7 -0
- data/spec/unit/mutant/ast/regexp/supported_predicate_spec.rb +14 -0
- data/spec/unit/mutant/ast/regexp/transformer/lookup_table/table_spec.rb +19 -0
- data/spec/unit/mutant/ast/regexp/transformer/lookup_table_spec.rb +33 -0
- data/spec/unit/mutant/ast/regexp/transformer_spec.rb +19 -0
- data/spec/unit/mutant/ast/regexp_spec.rb +617 -0
- data/spec/unit/mutant/cli_spec.rb +7 -45
- data/spec/unit/mutant/context_spec.rb +4 -7
- data/spec/unit/mutant/env/{boostrap_spec.rb → bootstrap_spec.rb} +2 -2
- data/spec/unit/mutant/env_spec.rb +13 -16
- data/spec/unit/mutant/expression/namespace/{flat_spec.rb → exact_spec.rb} +0 -0
- data/spec/unit/mutant/integration/rspec_spec.rb +2 -2
- data/spec/unit/mutant/integration_spec.rb +14 -0
- data/spec/unit/mutant/isolation/fork_spec.rb +155 -0
- data/spec/unit/mutant/isolation/none_spec.rb +16 -0
- data/spec/unit/mutant/loader_spec.rb +1 -1
- data/spec/unit/mutant/matcher/methods/instance_spec.rb +2 -4
- data/spec/unit/mutant/meta/example/dsl_spec.rb +106 -0
- data/spec/unit/mutant/meta/example/verification_spec.rb +120 -0
- data/spec/unit/mutant/meta/example_spec.rb +32 -0
- data/spec/unit/mutant/mutator/node_spec.rb +37 -4
- data/spec/unit/mutant/mutator_spec.rb +21 -0
- data/spec/unit/mutant/{runner → parallel}/driver_spec.rb +0 -0
- data/spec/unit/mutant/parallel/master_spec.rb +13 -13
- data/spec/unit/mutant/registry_spec.rb +47 -0
- data/spec/unit/mutant/reporter/cli/printer/config_spec.rb +0 -4
- data/spec/unit/mutant/reporter/cli/printer/env_progress_spec.rb +0 -8
- data/spec/unit/mutant/reporter/cli/printer/env_result_spec.rb +0 -2
- data/spec/unit/mutant/reporter/cli/printer/status_progressive_spec.rb +0 -8
- data/spec/unit/mutant/reporter/cli/printer/status_spec.rb +0 -34
- data/spec/unit/mutant/reporter/cli_spec.rb +0 -22
- data/spec/unit/mutant/repository/diff_spec.rb +6 -6
- data/spec/unit/mutant/require_highjack_spec.rb +38 -14
- data/spec/unit/mutant/result/env_spec.rb +1 -4
- data/spec/unit/mutant/runner_spec.rb +1 -1
- data/spec/unit/mutant/subject/method/instance_spec.rb +1 -1
- data/spec/unit/mutant/subject_spec.rb +3 -3
- data/spec/unit/mutant/util/one_spec.rb +20 -0
- data/spec/unit/mutant/zombifier_spec.rb +18 -18
- data/test_app/{Gemfile.rspec3.3 → Gemfile.rspec3.5} +2 -2
- metadata +94 -24
- data/TODO +0 -21
- data/lib/mutant/mutator/node/blockarg.rb +0 -13
- data/lib/mutant/mutator/node/restarg.rb +0 -13
- data/lib/mutant/mutator/registry.rb +0 -49
- data/meta/boolean.rb +0 -13
- data/meta/regex.rb +0 -19
- data/spec/unit/mutant/isolation_spec.rb +0 -104
- data/spec/unit/mutant/mutator/registry_spec.rb +0 -57
@@ -10,14 +10,6 @@ RSpec.describe Mutant::Reporter::CLI::Printer::StatusProgressive do
|
|
10
10
|
it_reports <<-REPORT
|
11
11
|
(00/02) 100% - killtime: 0.00s runtime: 4.00s overhead: 4.00s
|
12
12
|
REPORT
|
13
|
-
|
14
|
-
context 'on non default coverage expectation' do
|
15
|
-
with(:config) { { expected_coverage: 0.1r } }
|
16
|
-
|
17
|
-
it_reports <<-REPORT
|
18
|
-
(00/02) 100% - killtime: 0.00s runtime: 4.00s overhead: 4.00s
|
19
|
-
REPORT
|
20
|
-
end
|
21
13
|
end
|
22
14
|
|
23
15
|
context 'with scheduler active on one subject' do
|
@@ -11,7 +11,6 @@ RSpec.describe Mutant::Reporter::CLI::Printer::Status do
|
|
11
11
|
Mutant configuration:
|
12
12
|
Matcher: #<Mutant::Matcher::Config empty>
|
13
13
|
Integration: Mutant::Integration::Null
|
14
|
-
Expect Coverage: 100.00%
|
15
14
|
Jobs: 1
|
16
15
|
Includes: []
|
17
16
|
Requires: []
|
@@ -25,35 +24,8 @@ RSpec.describe Mutant::Reporter::CLI::Printer::Status do
|
|
25
24
|
Overhead: Inf%
|
26
25
|
Mutations/s: 0.00
|
27
26
|
Coverage: 100.00%
|
28
|
-
Expected: 100.00%
|
29
27
|
Active subjects: 0
|
30
28
|
REPORT
|
31
|
-
|
32
|
-
context 'on non default coverage expectation' do
|
33
|
-
with(:config) { { expected_coverage: 0.1r } }
|
34
|
-
|
35
|
-
it_reports <<-REPORT
|
36
|
-
Mutant configuration:
|
37
|
-
Matcher: #<Mutant::Matcher::Config empty>
|
38
|
-
Integration: Mutant::Integration::Null
|
39
|
-
Expect Coverage: 10.00%
|
40
|
-
Jobs: 1
|
41
|
-
Includes: []
|
42
|
-
Requires: []
|
43
|
-
Subjects: 1
|
44
|
-
Mutations: 2
|
45
|
-
Results: 0
|
46
|
-
Kills: 0
|
47
|
-
Alive: 0
|
48
|
-
Runtime: 4.00s
|
49
|
-
Killtime: 0.00s
|
50
|
-
Overhead: Inf%
|
51
|
-
Mutations/s: 0.00
|
52
|
-
Coverage: 100.00%
|
53
|
-
Expected: 10.00%
|
54
|
-
Active subjects: 0
|
55
|
-
REPORT
|
56
|
-
end
|
57
29
|
end
|
58
30
|
|
59
31
|
context 'with scheduler active on one subject' do
|
@@ -64,7 +36,6 @@ RSpec.describe Mutant::Reporter::CLI::Printer::Status do
|
|
64
36
|
Mutant configuration:
|
65
37
|
Matcher: #<Mutant::Matcher::Config empty>
|
66
38
|
Integration: Mutant::Integration::Null
|
67
|
-
Expect Coverage: 100.00%
|
68
39
|
Jobs: 1
|
69
40
|
Includes: []
|
70
41
|
Requires: []
|
@@ -78,7 +49,6 @@ RSpec.describe Mutant::Reporter::CLI::Printer::Status do
|
|
78
49
|
Overhead: 100.00%
|
79
50
|
Mutations/s: 0.50
|
80
51
|
Coverage: 100.00%
|
81
|
-
Expected: 100.00%
|
82
52
|
Active subjects: 0
|
83
53
|
REPORT
|
84
54
|
end
|
@@ -93,7 +63,6 @@ RSpec.describe Mutant::Reporter::CLI::Printer::Status do
|
|
93
63
|
Mutant configuration:
|
94
64
|
Matcher: #<Mutant::Matcher::Config empty>
|
95
65
|
Integration: Mutant::Integration::Null
|
96
|
-
Expect Coverage: 100.00%
|
97
66
|
Jobs: 1
|
98
67
|
Includes: []
|
99
68
|
Requires: []
|
@@ -107,7 +76,6 @@ RSpec.describe Mutant::Reporter::CLI::Printer::Status do
|
|
107
76
|
Overhead: 100.00%
|
108
77
|
Mutations/s: 0.50
|
109
78
|
Coverage: 50.00%
|
110
|
-
Expected: 100.00%
|
111
79
|
Active Jobs:
|
112
80
|
0: evil:subject-a:d27d2
|
113
81
|
1: evil:subject-a:d5a9d
|
@@ -123,7 +91,6 @@ RSpec.describe Mutant::Reporter::CLI::Printer::Status do
|
|
123
91
|
Mutant configuration:
|
124
92
|
Matcher: #<Mutant::Matcher::Config empty>
|
125
93
|
Integration: Mutant::Integration::Null
|
126
|
-
Expect Coverage: 100.00%
|
127
94
|
Jobs: 1
|
128
95
|
Includes: []
|
129
96
|
Requires: []
|
@@ -137,7 +104,6 @@ RSpec.describe Mutant::Reporter::CLI::Printer::Status do
|
|
137
104
|
Overhead: 100.00%
|
138
105
|
Mutations/s: 0.50
|
139
106
|
Coverage: 100.00%
|
140
|
-
Expected: 100.00%
|
141
107
|
Active Jobs:
|
142
108
|
0: evil:subject-a:d27d2
|
143
109
|
1: evil:subject-a:d5a9d
|
@@ -2,7 +2,6 @@ RSpec.describe Mutant::Reporter::CLI do
|
|
2
2
|
setup_shared_context
|
3
3
|
|
4
4
|
let(:object) { described_class.new(output, format) }
|
5
|
-
let(:output) { StringIO.new }
|
6
5
|
|
7
6
|
let(:tput) do
|
8
7
|
instance_double(
|
@@ -123,23 +122,6 @@ RSpec.describe Mutant::Reporter::CLI do
|
|
123
122
|
Mutant configuration:
|
124
123
|
Matcher: #<Mutant::Matcher::Config empty>
|
125
124
|
Integration: Mutant::Integration::Null
|
126
|
-
Expect Coverage: 100.00%
|
127
|
-
Jobs: 1
|
128
|
-
Includes: []
|
129
|
-
Requires: []
|
130
|
-
REPORT
|
131
|
-
end
|
132
|
-
|
133
|
-
context 'with non default coverage expectation' do
|
134
|
-
let(:format) { progressive_format }
|
135
|
-
|
136
|
-
with(:config) { { expected_coverage: 0.1r } }
|
137
|
-
|
138
|
-
it_reports(<<-REPORT)
|
139
|
-
Mutant configuration:
|
140
|
-
Matcher: #<Mutant::Matcher::Config empty>
|
141
|
-
Integration: Mutant::Integration::Null
|
142
|
-
Expect Coverage: 10.00%
|
143
125
|
Jobs: 1
|
144
126
|
Includes: []
|
145
127
|
Requires: []
|
@@ -158,7 +140,6 @@ RSpec.describe Mutant::Reporter::CLI do
|
|
158
140
|
Mutant configuration:
|
159
141
|
Matcher: #<Mutant::Matcher::Config empty>
|
160
142
|
Integration: Mutant::Integration::Null
|
161
|
-
Expect Coverage: 100.00%
|
162
143
|
Jobs: 1
|
163
144
|
Includes: []
|
164
145
|
Requires: []
|
@@ -172,7 +153,6 @@ RSpec.describe Mutant::Reporter::CLI do
|
|
172
153
|
Overhead: 100.00%
|
173
154
|
Mutations/s: 0.50
|
174
155
|
Coverage: 100.00%
|
175
|
-
Expected: 100.00%
|
176
156
|
REPORT
|
177
157
|
end
|
178
158
|
|
@@ -186,7 +166,6 @@ RSpec.describe Mutant::Reporter::CLI do
|
|
186
166
|
[tput-restore]Mutant configuration:
|
187
167
|
Matcher: #<Mutant::Matcher::Config empty>
|
188
168
|
Integration: Mutant::Integration::Null
|
189
|
-
Expect Coverage: 100.00%
|
190
169
|
Jobs: 1
|
191
170
|
Includes: []
|
192
171
|
Requires: []
|
@@ -200,7 +179,6 @@ RSpec.describe Mutant::Reporter::CLI do
|
|
200
179
|
Overhead: 100.00%
|
201
180
|
Mutations/s: 0.50
|
202
181
|
Coverage: 100.00%
|
203
|
-
Expected: 100.00%
|
204
182
|
Active subjects: 0
|
205
183
|
REPORT
|
206
184
|
end
|
@@ -17,12 +17,12 @@ describe Mutant::Repository::Diff do
|
|
17
17
|
)
|
18
18
|
end
|
19
19
|
|
20
|
-
let(:pathname) {
|
21
|
-
let(:open3) {
|
22
|
-
let(:kernel) {
|
23
|
-
let(:pwd) { Pathname.new('/foo')
|
24
|
-
let(:path) { Pathname.new('/foo/bar.rb')
|
25
|
-
let(:line_range) { 1..2
|
20
|
+
let(:pathname) { class_double(Pathname, pwd: pwd) }
|
21
|
+
let(:open3) { class_double(Open3) }
|
22
|
+
let(:kernel) { class_double(Kernel) }
|
23
|
+
let(:pwd) { Pathname.new('/foo') }
|
24
|
+
let(:path) { Pathname.new('/foo/bar.rb') }
|
25
|
+
let(:line_range) { 1..2 }
|
26
26
|
|
27
27
|
subject { object.touches?(path, line_range) }
|
28
28
|
|
@@ -6,13 +6,15 @@ RSpec.describe Mutant::RequireHighjack do
|
|
6
6
|
acc = require_calls
|
7
7
|
Module.new do
|
8
8
|
define_method(:require, &acc.method(:<<))
|
9
|
-
|
10
|
-
module_function :require
|
11
|
-
public :require
|
9
|
+
define_singleton_method(:require, &acc.method(:<<))
|
12
10
|
end
|
13
11
|
end
|
14
12
|
|
15
|
-
def
|
13
|
+
def singleton_require(logical_name)
|
14
|
+
target_module.require(logical_name)
|
15
|
+
end
|
16
|
+
|
17
|
+
def instance_require(logical_name)
|
16
18
|
Object.new.extend(target_module).require(logical_name)
|
17
19
|
end
|
18
20
|
|
@@ -23,6 +25,10 @@ RSpec.describe Mutant::RequireHighjack do
|
|
23
25
|
described_class.call(target_module, highjacked_calls.method(:<<))
|
24
26
|
end
|
25
27
|
|
28
|
+
it 'prevents warnings' do
|
29
|
+
expect(Mutant::WarningFilter.use(&method(:apply))).to eql([])
|
30
|
+
end
|
31
|
+
|
26
32
|
it 'returns the original implementation from singleton' do
|
27
33
|
expect { apply.call(logical_name) }
|
28
34
|
.to change { require_calls }
|
@@ -30,18 +36,36 @@ RSpec.describe Mutant::RequireHighjack do
|
|
30
36
|
.to([logical_name])
|
31
37
|
end
|
32
38
|
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
+
context '#require' do
|
40
|
+
it 'does highjack calls' do
|
41
|
+
apply
|
42
|
+
expect { instance_require(logical_name) }
|
43
|
+
.to change { highjacked_calls }
|
44
|
+
.from([])
|
45
|
+
.to([logical_name])
|
46
|
+
end
|
47
|
+
|
48
|
+
it 'does not call original require' do
|
49
|
+
apply
|
50
|
+
expect { instance_require(logical_name) }
|
51
|
+
.not_to change { require_calls }.from([])
|
52
|
+
end
|
39
53
|
end
|
40
54
|
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
55
|
+
context '.require' do
|
56
|
+
it 'does highjack calls' do
|
57
|
+
apply
|
58
|
+
expect { singleton_require(logical_name) }
|
59
|
+
.to change { highjacked_calls }
|
60
|
+
.from([])
|
61
|
+
.to([logical_name])
|
62
|
+
end
|
63
|
+
|
64
|
+
it 'does not call original require' do
|
65
|
+
apply
|
66
|
+
expect { singleton_require(logical_name) }
|
67
|
+
.not_to change { require_calls }.from([])
|
68
|
+
end
|
45
69
|
end
|
46
70
|
end
|
47
71
|
end
|
@@ -6,7 +6,7 @@ RSpec.describe Mutant::Runner do
|
|
6
6
|
let(:delay) { instance_double(Float) }
|
7
7
|
let(:env_result) { instance_double(Mutant::Result::Env) }
|
8
8
|
let(:actor_env) { instance_double(Mutant::Actor::Env) }
|
9
|
-
let(:kernel) {
|
9
|
+
let(:kernel) { class_double(Kernel) }
|
10
10
|
let(:sleep) { instance_double(Method) }
|
11
11
|
|
12
12
|
let(:env) do
|
@@ -103,7 +103,7 @@ RSpec.describe Mutant::Subject::Method::Instance::Memoized do
|
|
103
103
|
it_should_behave_like 'a command method'
|
104
104
|
end
|
105
105
|
|
106
|
-
describe '#mutations' do
|
106
|
+
describe '#mutations', mutant_expression: 'Mutant::Subject#mutations' do
|
107
107
|
subject { object.mutations }
|
108
108
|
|
109
109
|
let(:expected) do
|
@@ -71,11 +71,11 @@ RSpec.describe Mutant::Subject do
|
|
71
71
|
subject { object.mutations }
|
72
72
|
|
73
73
|
before do
|
74
|
-
expect(Mutant::Mutator).to receive(:
|
74
|
+
expect(Mutant::Mutator).to receive(:mutate).with(node).and_return([mutation_a, mutation_b])
|
75
75
|
end
|
76
76
|
|
77
|
-
let(:mutation_a) {
|
78
|
-
let(:mutation_b) {
|
77
|
+
let(:mutation_a) { instance_double(Parser::AST::Node, :mutation_a) }
|
78
|
+
let(:mutation_b) { instance_double(Parser::AST::Node, :mutation_b) }
|
79
79
|
|
80
80
|
it 'generates neutral and evil mutations' do
|
81
81
|
should eql([
|
@@ -0,0 +1,20 @@
|
|
1
|
+
RSpec.describe Mutant::Util, '.one' do
|
2
|
+
let(:first) { instance_double(Object) }
|
3
|
+
let(:array) { instance_double(Array, one?: true, first: first) }
|
4
|
+
|
5
|
+
it 'returns first element' do
|
6
|
+
expect(described_class.one(array)).to be(first)
|
7
|
+
end
|
8
|
+
|
9
|
+
it 'fails if the list is empty' do
|
10
|
+
expect { described_class.one([]) }
|
11
|
+
.to raise_error(described_class::SizeError)
|
12
|
+
.with_message('expected size to be exactly 1 but size was 0')
|
13
|
+
end
|
14
|
+
|
15
|
+
it 'fails if the list has more than one element' do
|
16
|
+
expect { described_class.one([1, 2]) }
|
17
|
+
.to raise_error(described_class::SizeError)
|
18
|
+
.with_message('expected size to be exactly 1 but size was 2')
|
19
|
+
end
|
20
|
+
end
|
@@ -1,14 +1,14 @@
|
|
1
1
|
RSpec.describe Mutant::Zombifier do
|
2
2
|
let(:root_require) { Pathname.new('project') }
|
3
|
-
|
4
|
-
let(:pathname) do
|
5
|
-
instance_double(::Pathname.singleton_class)
|
6
|
-
end
|
3
|
+
let(:pathname) { class_double(Pathname) }
|
7
4
|
|
8
5
|
let(:require_highjack) do
|
9
6
|
lambda do |block|
|
10
7
|
original = ruby_vm.method(:require)
|
11
|
-
allow(ruby_vm).to receive(:require
|
8
|
+
allow(ruby_vm).to receive(:require) do |argument|
|
9
|
+
return_value = ruby_vm.expected_events.first.return_value
|
10
|
+
expect(block.call(argument)).to be(return_value)
|
11
|
+
end
|
12
12
|
original
|
13
13
|
end
|
14
14
|
end
|
@@ -31,7 +31,8 @@ RSpec.describe Mutant::Zombifier do
|
|
31
31
|
MutantSpec::RubyVM::EventExpectation::Require.new(
|
32
32
|
expected_payload: {
|
33
33
|
logical_name: 'project'
|
34
|
-
}
|
34
|
+
},
|
35
|
+
return_value: true
|
35
36
|
),
|
36
37
|
MutantSpec::RubyVM::EventExpectation::Eval.new(
|
37
38
|
expected_payload: {
|
@@ -39,18 +40,21 @@ RSpec.describe Mutant::Zombifier do
|
|
39
40
|
source: "module Zombie\n module Project\n end\nend",
|
40
41
|
source_location: 'a/project.rb'
|
41
42
|
},
|
42
|
-
trigger_requires: %w[foo bar]
|
43
|
+
trigger_requires: %w[foo bar],
|
44
|
+
return_value: nil
|
43
45
|
),
|
44
46
|
MutantSpec::RubyVM::EventExpectation::Require.new(
|
45
47
|
expected_payload: {
|
46
48
|
logical_name: 'foo'
|
47
49
|
},
|
48
|
-
trigger_requires: %w[bar]
|
50
|
+
trigger_requires: %w[bar],
|
51
|
+
return_value: true
|
49
52
|
),
|
50
53
|
MutantSpec::RubyVM::EventExpectation::Require.new(
|
51
54
|
expected_payload: {
|
52
55
|
logical_name: 'bar'
|
53
|
-
}
|
56
|
+
},
|
57
|
+
return_value: true
|
54
58
|
),
|
55
59
|
MutantSpec::RubyVM::EventExpectation::Eval.new(
|
56
60
|
expected_payload: {
|
@@ -58,23 +62,19 @@ RSpec.describe Mutant::Zombifier do
|
|
58
62
|
source: "module Zombie\n module Bar\n end\nend",
|
59
63
|
source_location: 'b/bar.rb'
|
60
64
|
},
|
61
|
-
trigger_requires: %w[]
|
65
|
+
trigger_requires: %w[],
|
66
|
+
return_value: nil
|
62
67
|
),
|
63
68
|
MutantSpec::RubyVM::EventExpectation::Require.new(
|
64
69
|
expected_payload: {
|
65
70
|
logical_name: 'bar'
|
66
|
-
}
|
71
|
+
},
|
72
|
+
return_value: false
|
67
73
|
)
|
68
74
|
]
|
69
75
|
)
|
70
76
|
end
|
71
77
|
|
72
|
-
let(:require_effects) do
|
73
|
-
{
|
74
|
-
'project' => { requires: [] }
|
75
|
-
}
|
76
|
-
end
|
77
|
-
|
78
78
|
let(:file_entries) do
|
79
79
|
{
|
80
80
|
'a/project.rb' => { file: true, contents: 'module Project; end' },
|
@@ -103,7 +103,7 @@ RSpec.describe Mutant::Zombifier do
|
|
103
103
|
expect(apply).to be(described_class)
|
104
104
|
end
|
105
105
|
|
106
|
-
it '
|
106
|
+
it 'walks the VM through expected steps' do
|
107
107
|
expect { apply }.to change(ruby_vm, :done?).from(false).to(true)
|
108
108
|
end
|
109
109
|
|
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.8.
|
4
|
+
version: 0.8.11
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Markus Schirp
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-01
|
11
|
+
date: 2016-08-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: parser
|
@@ -17,6 +17,9 @@ dependencies:
|
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: 2.3.0
|
20
|
+
- - ">="
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: 2.3.0.2
|
20
23
|
type: :runtime
|
21
24
|
prerelease: false
|
22
25
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -24,6 +27,9 @@ dependencies:
|
|
24
27
|
- - "~>"
|
25
28
|
- !ruby/object:Gem::Version
|
26
29
|
version: 2.3.0
|
30
|
+
- - ">="
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: 2.3.0.2
|
27
33
|
- !ruby/object:Gem::Dependency
|
28
34
|
name: ast
|
29
35
|
requirement: !ruby/object:Gem::Requirement
|
@@ -206,20 +212,34 @@ dependencies:
|
|
206
212
|
- - "~>"
|
207
213
|
- !ruby/object:Gem::Version
|
208
214
|
version: 0.1.5
|
215
|
+
- !ruby/object:Gem::Dependency
|
216
|
+
name: regexp_parser
|
217
|
+
requirement: !ruby/object:Gem::Requirement
|
218
|
+
requirements:
|
219
|
+
- - "~>"
|
220
|
+
- !ruby/object:Gem::Version
|
221
|
+
version: 0.3.6
|
222
|
+
type: :runtime
|
223
|
+
prerelease: false
|
224
|
+
version_requirements: !ruby/object:Gem::Requirement
|
225
|
+
requirements:
|
226
|
+
- - "~>"
|
227
|
+
- !ruby/object:Gem::Version
|
228
|
+
version: 0.3.6
|
209
229
|
- !ruby/object:Gem::Dependency
|
210
230
|
name: devtools
|
211
231
|
requirement: !ruby/object:Gem::Requirement
|
212
232
|
requirements:
|
213
233
|
- - "~>"
|
214
234
|
- !ruby/object:Gem::Version
|
215
|
-
version: 0.1.
|
235
|
+
version: 0.1.4
|
216
236
|
type: :development
|
217
237
|
prerelease: false
|
218
238
|
version_requirements: !ruby/object:Gem::Requirement
|
219
239
|
requirements:
|
220
240
|
- - "~>"
|
221
241
|
- !ruby/object:Gem::Version
|
222
|
-
version: 0.1.
|
242
|
+
version: 0.1.4
|
223
243
|
- !ruby/object:Gem::Dependency
|
224
244
|
name: bundler
|
225
245
|
requirement: !ruby/object:Gem::Requirement
|
@@ -255,7 +275,6 @@ executables:
|
|
255
275
|
- mutant
|
256
276
|
extensions: []
|
257
277
|
extra_rdoc_files:
|
258
|
-
- TODO
|
259
278
|
- LICENSE
|
260
279
|
files:
|
261
280
|
- ".gitignore"
|
@@ -268,7 +287,6 @@ files:
|
|
268
287
|
- LICENSE
|
269
288
|
- README.md
|
270
289
|
- Rakefile
|
271
|
-
- TODO
|
272
290
|
- bin/mutant
|
273
291
|
- circle.yml
|
274
292
|
- config/devtools.yml
|
@@ -295,6 +313,16 @@ files:
|
|
295
313
|
- lib/mutant/ast/named_children.rb
|
296
314
|
- lib/mutant/ast/node_predicates.rb
|
297
315
|
- lib/mutant/ast/nodes.rb
|
316
|
+
- lib/mutant/ast/regexp.rb
|
317
|
+
- lib/mutant/ast/regexp/transformer.rb
|
318
|
+
- lib/mutant/ast/regexp/transformer/alternative.rb
|
319
|
+
- lib/mutant/ast/regexp/transformer/character_set.rb
|
320
|
+
- lib/mutant/ast/regexp/transformer/direct.rb
|
321
|
+
- lib/mutant/ast/regexp/transformer/options_group.rb
|
322
|
+
- lib/mutant/ast/regexp/transformer/quantifier.rb
|
323
|
+
- lib/mutant/ast/regexp/transformer/recursive.rb
|
324
|
+
- lib/mutant/ast/regexp/transformer/root.rb
|
325
|
+
- lib/mutant/ast/regexp/transformer/text.rb
|
298
326
|
- lib/mutant/ast/sexp.rb
|
299
327
|
- lib/mutant/ast/types.rb
|
300
328
|
- lib/mutant/cli.rb
|
@@ -311,6 +339,8 @@ files:
|
|
311
339
|
- lib/mutant/expression/parser.rb
|
312
340
|
- lib/mutant/integration.rb
|
313
341
|
- lib/mutant/isolation.rb
|
342
|
+
- lib/mutant/isolation/fork.rb
|
343
|
+
- lib/mutant/isolation/none.rb
|
314
344
|
- lib/mutant/loader.rb
|
315
345
|
- lib/mutant/matcher.rb
|
316
346
|
- lib/mutant/matcher/chain.rb
|
@@ -328,6 +358,7 @@ files:
|
|
328
358
|
- lib/mutant/meta.rb
|
329
359
|
- lib/mutant/meta/example.rb
|
330
360
|
- lib/mutant/meta/example/dsl.rb
|
361
|
+
- lib/mutant/meta/example/verification.rb
|
331
362
|
- lib/mutant/mutation.rb
|
332
363
|
- lib/mutant/mutator.rb
|
333
364
|
- lib/mutant/mutator/node.rb
|
@@ -337,9 +368,9 @@ files:
|
|
337
368
|
- lib/mutant/mutator/node/begin.rb
|
338
369
|
- lib/mutant/mutator/node/binary.rb
|
339
370
|
- lib/mutant/mutator/node/block.rb
|
340
|
-
- lib/mutant/mutator/node/blockarg.rb
|
341
371
|
- lib/mutant/mutator/node/break.rb
|
342
372
|
- lib/mutant/mutator/node/case.rb
|
373
|
+
- lib/mutant/mutator/node/class.rb
|
343
374
|
- lib/mutant/mutator/node/conditional_loop.rb
|
344
375
|
- lib/mutant/mutator/node/const.rb
|
345
376
|
- lib/mutant/mutator/node/define.rb
|
@@ -371,20 +402,21 @@ files:
|
|
371
402
|
- lib/mutant/mutator/node/nthref.rb
|
372
403
|
- lib/mutant/mutator/node/op_asgn.rb
|
373
404
|
- lib/mutant/mutator/node/or_asgn.rb
|
405
|
+
- lib/mutant/mutator/node/regexp.rb
|
406
|
+
- lib/mutant/mutator/node/regopt.rb
|
374
407
|
- lib/mutant/mutator/node/resbody.rb
|
375
408
|
- lib/mutant/mutator/node/rescue.rb
|
376
|
-
- lib/mutant/mutator/node/restarg.rb
|
377
409
|
- lib/mutant/mutator/node/return.rb
|
378
410
|
- lib/mutant/mutator/node/send.rb
|
379
411
|
- lib/mutant/mutator/node/send/attribute_assignment.rb
|
380
412
|
- lib/mutant/mutator/node/send/binary.rb
|
413
|
+
- lib/mutant/mutator/node/send/conditional.rb
|
381
414
|
- lib/mutant/mutator/node/send/index.rb
|
382
415
|
- lib/mutant/mutator/node/splat.rb
|
383
416
|
- lib/mutant/mutator/node/super.rb
|
384
417
|
- lib/mutant/mutator/node/when.rb
|
385
418
|
- lib/mutant/mutator/node/yield.rb
|
386
419
|
- lib/mutant/mutator/node/zsuper.rb
|
387
|
-
- lib/mutant/mutator/registry.rb
|
388
420
|
- lib/mutant/mutator/util.rb
|
389
421
|
- lib/mutant/mutator/util/array.rb
|
390
422
|
- lib/mutant/mutator/util/symbol.rb
|
@@ -393,6 +425,7 @@ files:
|
|
393
425
|
- lib/mutant/parallel/source.rb
|
394
426
|
- lib/mutant/parallel/worker.rb
|
395
427
|
- lib/mutant/parser.rb
|
428
|
+
- lib/mutant/registry.rb
|
396
429
|
- lib/mutant/reporter.rb
|
397
430
|
- lib/mutant/reporter/cli.rb
|
398
431
|
- lib/mutant/reporter/cli/format.rb
|
@@ -423,6 +456,7 @@ files:
|
|
423
456
|
- lib/mutant/subject/method/instance.rb
|
424
457
|
- lib/mutant/subject/method/singleton.rb
|
425
458
|
- lib/mutant/test.rb
|
459
|
+
- lib/mutant/util.rb
|
426
460
|
- lib/mutant/version.rb
|
427
461
|
- lib/mutant/warning_filter.rb
|
428
462
|
- lib/mutant/zombifier.rb
|
@@ -433,12 +467,13 @@ files:
|
|
433
467
|
- meta/block.rb
|
434
468
|
- meta/block_pass.rb
|
435
469
|
- meta/blockarg.rb
|
436
|
-
- meta/boolean.rb
|
437
470
|
- meta/break.rb
|
438
471
|
- meta/case.rb
|
439
472
|
- meta/casgn.rb
|
440
473
|
- meta/cbase.rb
|
474
|
+
- meta/class.rb
|
441
475
|
- meta/const.rb
|
476
|
+
- meta/csend.rb
|
442
477
|
- meta/cvar.rb
|
443
478
|
- meta/cvasgn.rb
|
444
479
|
- meta/date.rb
|
@@ -456,7 +491,9 @@ files:
|
|
456
491
|
- meta/int.rb
|
457
492
|
- meta/ivar.rb
|
458
493
|
- meta/ivasgn.rb
|
494
|
+
- meta/kwarg.rb
|
459
495
|
- meta/kwbegin.rb
|
496
|
+
- meta/kwoptarg.rb
|
460
497
|
- meta/lvar.rb
|
461
498
|
- meta/lvasgn.rb
|
462
499
|
- meta/masgn.rb
|
@@ -469,7 +506,11 @@ files:
|
|
469
506
|
- meta/or_asgn.rb
|
470
507
|
- meta/range.rb
|
471
508
|
- meta/redo.rb
|
472
|
-
- meta/
|
509
|
+
- meta/regexp.rb
|
510
|
+
- meta/regexp/regexp_bol_anchor.rb
|
511
|
+
- meta/regexp/regexp_bos_anchor.rb
|
512
|
+
- meta/regexp/regexp_root_expression.rb
|
513
|
+
- meta/regopt.rb
|
473
514
|
- meta/rescue.rb
|
474
515
|
- meta/restarg.rb
|
475
516
|
- meta/return.rb
|
@@ -477,7 +518,7 @@ files:
|
|
477
518
|
- meta/send.rb
|
478
519
|
- meta/str.rb
|
479
520
|
- meta/super.rb
|
480
|
-
- meta/
|
521
|
+
- meta/sym.rb
|
481
522
|
- meta/true.rb
|
482
523
|
- meta/until.rb
|
483
524
|
- meta/while.rb
|
@@ -485,6 +526,7 @@ files:
|
|
485
526
|
- mutant-rspec.gemspec
|
486
527
|
- mutant.gemspec
|
487
528
|
- spec/integration/mutant/corpus_spec.rb
|
529
|
+
- spec/integration/mutant/isolation/fork_spec.rb
|
488
530
|
- spec/integration/mutant/null_spec.rb
|
489
531
|
- spec/integration/mutant/rspec_spec.rb
|
490
532
|
- spec/integration/mutant/test_mutator_handles_types_spec.rb
|
@@ -502,6 +544,9 @@ files:
|
|
502
544
|
- spec/support/ruby_vm.rb
|
503
545
|
- spec/support/shared_context.rb
|
504
546
|
- spec/support/test_app.rb
|
547
|
+
- spec/support/warning.rb
|
548
|
+
- spec/support/warnings.yml
|
549
|
+
- spec/support/xspec.rb
|
505
550
|
- spec/unit/mutant/actor/binding_spec.rb
|
506
551
|
- spec/unit/mutant/actor/env_spec.rb
|
507
552
|
- spec/unit/mutant/actor/mailbox_spec.rb
|
@@ -512,22 +557,29 @@ files:
|
|
512
557
|
- spec/unit/mutant/ast/meta/send/receiver_possible_top_level_const_predicate_spec.rb
|
513
558
|
- spec/unit/mutant/ast/meta/send_spec.rb
|
514
559
|
- spec/unit/mutant/ast/named_children_spec.rb
|
560
|
+
- spec/unit/mutant/ast/regexp/parse_spec.rb
|
561
|
+
- spec/unit/mutant/ast/regexp/supported_predicate_spec.rb
|
562
|
+
- spec/unit/mutant/ast/regexp/transformer/lookup_table/table_spec.rb
|
563
|
+
- spec/unit/mutant/ast/regexp/transformer/lookup_table_spec.rb
|
564
|
+
- spec/unit/mutant/ast/regexp/transformer_spec.rb
|
565
|
+
- spec/unit/mutant/ast/regexp_spec.rb
|
515
566
|
- spec/unit/mutant/ast/sexp_spec.rb
|
516
567
|
- spec/unit/mutant/ast_spec.rb
|
517
568
|
- spec/unit/mutant/cli_spec.rb
|
518
569
|
- spec/unit/mutant/context_spec.rb
|
519
570
|
- spec/unit/mutant/diff_spec.rb
|
520
|
-
- spec/unit/mutant/env/
|
571
|
+
- spec/unit/mutant/env/bootstrap_spec.rb
|
521
572
|
- spec/unit/mutant/env_spec.rb
|
522
573
|
- spec/unit/mutant/expression/method_spec.rb
|
523
574
|
- spec/unit/mutant/expression/methods_spec.rb
|
524
|
-
- spec/unit/mutant/expression/namespace/
|
575
|
+
- spec/unit/mutant/expression/namespace/exact_spec.rb
|
525
576
|
- spec/unit/mutant/expression/namespace/recursive_spec.rb
|
526
577
|
- spec/unit/mutant/expression/parser_spec.rb
|
527
578
|
- spec/unit/mutant/expression_spec.rb
|
528
579
|
- spec/unit/mutant/integration/rspec_spec.rb
|
529
580
|
- spec/unit/mutant/integration_spec.rb
|
530
|
-
- spec/unit/mutant/
|
581
|
+
- spec/unit/mutant/isolation/fork_spec.rb
|
582
|
+
- spec/unit/mutant/isolation/none_spec.rb
|
531
583
|
- spec/unit/mutant/loader_spec.rb
|
532
584
|
- spec/unit/mutant/matcher/chain_spec.rb
|
533
585
|
- spec/unit/mutant/matcher/compiler/subject_prefix_spec.rb
|
@@ -542,14 +594,19 @@ files:
|
|
542
594
|
- spec/unit/mutant/matcher/null_spec.rb
|
543
595
|
- spec/unit/mutant/matcher/scope_spec.rb
|
544
596
|
- spec/unit/mutant/matcher/static_spec.rb
|
597
|
+
- spec/unit/mutant/meta/example/dsl_spec.rb
|
598
|
+
- spec/unit/mutant/meta/example/verification_spec.rb
|
599
|
+
- spec/unit/mutant/meta/example_spec.rb
|
545
600
|
- spec/unit/mutant/mutation_spec.rb
|
546
601
|
- spec/unit/mutant/mutator/node_spec.rb
|
547
|
-
- spec/unit/mutant/
|
602
|
+
- spec/unit/mutant/mutator_spec.rb
|
603
|
+
- spec/unit/mutant/parallel/driver_spec.rb
|
548
604
|
- spec/unit/mutant/parallel/master_spec.rb
|
549
605
|
- spec/unit/mutant/parallel/source/array_spec.rb
|
550
606
|
- spec/unit/mutant/parallel/worker_spec.rb
|
551
607
|
- spec/unit/mutant/parallel_spec.rb
|
552
608
|
- spec/unit/mutant/parser_spec.rb
|
609
|
+
- spec/unit/mutant/registry_spec.rb
|
553
610
|
- spec/unit/mutant/reporter/cli/printer/config_spec.rb
|
554
611
|
- spec/unit/mutant/reporter/cli/printer/env_progress_spec.rb
|
555
612
|
- spec/unit/mutant/reporter/cli/printer/env_result_spec.rb
|
@@ -573,19 +630,19 @@ files:
|
|
573
630
|
- spec/unit/mutant/result/mutation_spec.rb
|
574
631
|
- spec/unit/mutant/result/subject_spec.rb
|
575
632
|
- spec/unit/mutant/result_spec.rb
|
576
|
-
- spec/unit/mutant/runner/driver_spec.rb
|
577
633
|
- spec/unit/mutant/runner/sink_spec.rb
|
578
634
|
- spec/unit/mutant/runner_spec.rb
|
579
635
|
- spec/unit/mutant/selector/expression_spec.rb
|
580
636
|
- spec/unit/mutant/subject/method/instance_spec.rb
|
581
637
|
- spec/unit/mutant/subject/method/singleton_spec.rb
|
582
638
|
- spec/unit/mutant/subject_spec.rb
|
639
|
+
- spec/unit/mutant/util/one_spec.rb
|
583
640
|
- spec/unit/mutant/warning_filter_spec.rb
|
584
641
|
- spec/unit/mutant/zombifier_spec.rb
|
585
642
|
- spec/unit/mutant_spec.rb
|
586
643
|
- test_app/.rspec
|
587
|
-
- test_app/Gemfile.rspec3.3
|
588
644
|
- test_app/Gemfile.rspec3.4
|
645
|
+
- test_app/Gemfile.rspec3.5
|
589
646
|
- test_app/lib/test_app.rb
|
590
647
|
- test_app/lib/test_app/literal.rb
|
591
648
|
- test_app/spec/spec_helper.rb
|
@@ -610,12 +667,13 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
610
667
|
version: '0'
|
611
668
|
requirements: []
|
612
669
|
rubyforge_project:
|
613
|
-
rubygems_version: 2.
|
670
|
+
rubygems_version: 2.5.1
|
614
671
|
signing_key:
|
615
672
|
specification_version: 4
|
616
673
|
summary: Mutation testing tool for ruby under MRI and Rubinius
|
617
674
|
test_files:
|
618
675
|
- spec/integration/mutant/corpus_spec.rb
|
676
|
+
- spec/integration/mutant/isolation/fork_spec.rb
|
619
677
|
- spec/integration/mutant/null_spec.rb
|
620
678
|
- spec/integration/mutant/rspec_spec.rb
|
621
679
|
- spec/integration/mutant/test_mutator_handles_types_spec.rb
|
@@ -629,22 +687,29 @@ test_files:
|
|
629
687
|
- spec/unit/mutant/ast/meta/send/receiver_possible_top_level_const_predicate_spec.rb
|
630
688
|
- spec/unit/mutant/ast/meta/send_spec.rb
|
631
689
|
- spec/unit/mutant/ast/named_children_spec.rb
|
690
|
+
- spec/unit/mutant/ast/regexp/parse_spec.rb
|
691
|
+
- spec/unit/mutant/ast/regexp/supported_predicate_spec.rb
|
692
|
+
- spec/unit/mutant/ast/regexp/transformer/lookup_table/table_spec.rb
|
693
|
+
- spec/unit/mutant/ast/regexp/transformer/lookup_table_spec.rb
|
694
|
+
- spec/unit/mutant/ast/regexp/transformer_spec.rb
|
695
|
+
- spec/unit/mutant/ast/regexp_spec.rb
|
632
696
|
- spec/unit/mutant/ast/sexp_spec.rb
|
633
697
|
- spec/unit/mutant/ast_spec.rb
|
634
698
|
- spec/unit/mutant/cli_spec.rb
|
635
699
|
- spec/unit/mutant/context_spec.rb
|
636
700
|
- spec/unit/mutant/diff_spec.rb
|
637
|
-
- spec/unit/mutant/env/
|
701
|
+
- spec/unit/mutant/env/bootstrap_spec.rb
|
638
702
|
- spec/unit/mutant/env_spec.rb
|
639
703
|
- spec/unit/mutant/expression/method_spec.rb
|
640
704
|
- spec/unit/mutant/expression/methods_spec.rb
|
641
|
-
- spec/unit/mutant/expression/namespace/
|
705
|
+
- spec/unit/mutant/expression/namespace/exact_spec.rb
|
642
706
|
- spec/unit/mutant/expression/namespace/recursive_spec.rb
|
643
707
|
- spec/unit/mutant/expression/parser_spec.rb
|
644
708
|
- spec/unit/mutant/expression_spec.rb
|
645
709
|
- spec/unit/mutant/integration/rspec_spec.rb
|
646
710
|
- spec/unit/mutant/integration_spec.rb
|
647
|
-
- spec/unit/mutant/
|
711
|
+
- spec/unit/mutant/isolation/fork_spec.rb
|
712
|
+
- spec/unit/mutant/isolation/none_spec.rb
|
648
713
|
- spec/unit/mutant/loader_spec.rb
|
649
714
|
- spec/unit/mutant/matcher/chain_spec.rb
|
650
715
|
- spec/unit/mutant/matcher/compiler/subject_prefix_spec.rb
|
@@ -659,14 +724,19 @@ test_files:
|
|
659
724
|
- spec/unit/mutant/matcher/null_spec.rb
|
660
725
|
- spec/unit/mutant/matcher/scope_spec.rb
|
661
726
|
- spec/unit/mutant/matcher/static_spec.rb
|
727
|
+
- spec/unit/mutant/meta/example/dsl_spec.rb
|
728
|
+
- spec/unit/mutant/meta/example/verification_spec.rb
|
729
|
+
- spec/unit/mutant/meta/example_spec.rb
|
662
730
|
- spec/unit/mutant/mutation_spec.rb
|
663
731
|
- spec/unit/mutant/mutator/node_spec.rb
|
664
|
-
- spec/unit/mutant/
|
732
|
+
- spec/unit/mutant/mutator_spec.rb
|
733
|
+
- spec/unit/mutant/parallel/driver_spec.rb
|
665
734
|
- spec/unit/mutant/parallel/master_spec.rb
|
666
735
|
- spec/unit/mutant/parallel/source/array_spec.rb
|
667
736
|
- spec/unit/mutant/parallel/worker_spec.rb
|
668
737
|
- spec/unit/mutant/parallel_spec.rb
|
669
738
|
- spec/unit/mutant/parser_spec.rb
|
739
|
+
- spec/unit/mutant/registry_spec.rb
|
670
740
|
- spec/unit/mutant/reporter/cli/printer/config_spec.rb
|
671
741
|
- spec/unit/mutant/reporter/cli/printer/env_progress_spec.rb
|
672
742
|
- spec/unit/mutant/reporter/cli/printer/env_result_spec.rb
|
@@ -690,13 +760,13 @@ test_files:
|
|
690
760
|
- spec/unit/mutant/result/mutation_spec.rb
|
691
761
|
- spec/unit/mutant/result/subject_spec.rb
|
692
762
|
- spec/unit/mutant/result_spec.rb
|
693
|
-
- spec/unit/mutant/runner/driver_spec.rb
|
694
763
|
- spec/unit/mutant/runner/sink_spec.rb
|
695
764
|
- spec/unit/mutant/runner_spec.rb
|
696
765
|
- spec/unit/mutant/selector/expression_spec.rb
|
697
766
|
- spec/unit/mutant/subject/method/instance_spec.rb
|
698
767
|
- spec/unit/mutant/subject/method/singleton_spec.rb
|
699
768
|
- spec/unit/mutant/subject_spec.rb
|
769
|
+
- spec/unit/mutant/util/one_spec.rb
|
700
770
|
- spec/unit/mutant/warning_filter_spec.rb
|
701
771
|
- spec/unit/mutant/zombifier_spec.rb
|
702
772
|
- spec/unit/mutant_spec.rb
|