mutant 0.8.10 → 0.8.11
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/.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
|