mutant 0.7.9 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. checksums.yaml +4 -4
  2. data/Changelog.md +11 -1
  3. data/README.md +5 -12
  4. data/bin/mutant +17 -1
  5. data/config/flay.yml +1 -1
  6. data/config/flog.yml +1 -1
  7. data/config/reek.yml +4 -4
  8. data/config/rubocop.yml +21 -3
  9. data/lib/mutant.rb +15 -61
  10. data/lib/mutant/cli.rb +1 -7
  11. data/lib/mutant/color.rb +2 -2
  12. data/lib/mutant/config.rb +1 -1
  13. data/lib/mutant/expression/method.rb +1 -1
  14. data/lib/mutant/expression/methods.rb +1 -1
  15. data/lib/mutant/expression/namespace.rb +1 -1
  16. data/lib/mutant/mutator/node/send.rb +18 -18
  17. data/lib/mutant/reporter/cli.rb +1 -6
  18. data/lib/mutant/reporter/cli/format.rb +2 -2
  19. data/lib/mutant/reporter/cli/printer.rb +5 -500
  20. data/lib/mutant/reporter/cli/printer/config.rb +32 -0
  21. data/lib/mutant/reporter/cli/printer/env_progress.rb +66 -0
  22. data/lib/mutant/reporter/cli/printer/env_result.rb +23 -0
  23. data/lib/mutant/reporter/cli/printer/mutation_progress_result.rb +37 -0
  24. data/lib/mutant/reporter/cli/printer/mutation_result.rb +151 -0
  25. data/lib/mutant/reporter/cli/printer/status.rb +60 -0
  26. data/lib/mutant/reporter/cli/printer/status_progressive.rb +52 -0
  27. data/lib/mutant/reporter/cli/printer/subject_progress.rb +90 -0
  28. data/lib/mutant/reporter/cli/printer/subject_result.rb +28 -0
  29. data/lib/mutant/reporter/cli/printer/test_result.rb +33 -0
  30. data/lib/mutant/require_highjack.rb +11 -50
  31. data/lib/mutant/version.rb +1 -1
  32. data/lib/mutant/zombifier.rb +79 -37
  33. data/meta/send.rb +1 -1
  34. data/mutant-rspec.gemspec +1 -1
  35. data/mutant.gemspec +3 -3
  36. data/spec/integration/mutant/corpus_spec.rb +2 -2
  37. data/spec/integration/mutant/rspec_spec.rb +5 -15
  38. data/spec/integrations.yml +3 -3
  39. data/spec/spec_helper.rb +1 -0
  40. data/spec/support/corpus.rb +233 -220
  41. data/spec/support/file_system.rb +60 -0
  42. data/spec/support/rb_bug.rb +1 -1
  43. data/spec/support/ruby_vm.rb +82 -0
  44. data/spec/support/shared_context.rb +19 -10
  45. data/spec/unit/mutant/ast_spec.rb +2 -2
  46. data/spec/unit/mutant/cache_spec.rb +22 -0
  47. data/spec/unit/mutant/cli_spec.rb +1 -30
  48. data/spec/unit/mutant/context_spec.rb +1 -0
  49. data/spec/unit/mutant/expression/method_spec.rb +6 -4
  50. data/spec/unit/mutant/parallel/master_spec.rb +1 -1
  51. data/spec/unit/mutant/reporter/cli/printer/config_spec.rb +33 -0
  52. data/spec/unit/mutant/reporter/cli/printer/env_progress_spec.rb +76 -0
  53. data/spec/unit/mutant/reporter/cli/printer/env_result_spec.rb +35 -0
  54. data/spec/unit/mutant/reporter/cli/printer/mutation_progress_result_spec.rb +23 -0
  55. data/spec/unit/mutant/reporter/cli/printer/mutation_result_spec.rb +110 -0
  56. data/spec/unit/mutant/reporter/cli/printer/status_progressive_spec.rb +51 -0
  57. data/spec/unit/mutant/reporter/cli/printer/status_spec.rb +145 -0
  58. data/spec/unit/mutant/reporter/cli/printer/subject_progress_spec.rb +37 -0
  59. data/spec/unit/mutant/reporter/cli/printer/subject_result_spec.rb +37 -0
  60. data/spec/unit/mutant/reporter/cli/printer/test_result_spec.rb +14 -0
  61. data/spec/unit/mutant/reporter/cli/printer_spec.rb +140 -0
  62. data/spec/unit/mutant/reporter/cli_spec.rb +69 -313
  63. data/spec/unit/mutant/reporter/trace_spec.rb +12 -0
  64. data/spec/unit/mutant/require_highjack_spec.rb +25 -28
  65. data/spec/unit/mutant/warning_filter_spec.rb +7 -0
  66. data/spec/unit/mutant/zombifier_spec.rb +120 -0
  67. data/spec/unit/mutant_spec.rb +0 -43
  68. data/test_app/Gemfile.rspec3.3 +6 -0
  69. metadata +46 -17
  70. data/.travis.yml +0 -20
  71. data/lib/mutant/zombifier/file.rb +0 -100
  72. data/spec/integration/mutant/zombie_spec.rb +0 -6
@@ -6,4 +6,16 @@ RSpec.describe Mutant::Reporter::Trace do
6
6
 
7
7
  it { should eql(0.0) }
8
8
  end
9
+
10
+ let(:reportable) { double('Reportable') }
11
+
12
+ %i[report start progress].each do |name|
13
+ describe "##{name}" do
14
+ subject { object.public_send(name, reportable) }
15
+
16
+ it 'logs the reportable' do
17
+ expect { subject }.to change { object.public_send("#{name}_calls") }.from([]).to([reportable])
18
+ end
19
+ end
20
+ end
9
21
  end
@@ -1,50 +1,47 @@
1
1
  RSpec.describe Mutant::RequireHighjack do
2
- let(:object) { described_class.new(target, highjacked_calls.method(:push)) }
3
-
4
2
  let(:highjacked_calls) { [] }
5
3
  let(:require_calls) { [] }
6
4
 
7
- let(:target) do
5
+ let(:target_module) do
8
6
  acc = require_calls
9
7
  Module.new do
10
8
  define_method(:require, &acc.method(:<<))
9
+
11
10
  module_function :require
11
+ public :require
12
12
  end
13
13
  end
14
14
 
15
- describe '#run' do
16
- let(:block) { -> {} }
15
+ def target_require(logical_name)
16
+ Object.new.extend(target_module).require(logical_name)
17
+ end
18
+
19
+ describe '.call' do
17
20
  let(:logical_name) { double('Logical Name') }
18
21
 
19
- subject do
20
- object.run(&block)
22
+ def apply
23
+ described_class.call(target_module, highjacked_calls.method(:<<))
21
24
  end
22
25
 
23
- context 'require calls before run' do
24
- it 'does not highjack anything' do
25
- target.require(logical_name)
26
- expect(require_calls).to eql([logical_name])
27
- expect(highjacked_calls).to eql([])
28
- end
26
+ it 'returns the original implementation from singleton' do
27
+ expect { apply.call(logical_name) }
28
+ .to change { require_calls }
29
+ .from([])
30
+ .to([logical_name])
29
31
  end
30
32
 
31
- context 'require calls during run' do
32
- let(:block) { -> { target.require(logical_name) } }
33
-
34
- it 'does highjack the calls' do
35
- expect { subject }.to change { highjacked_calls }.from([]).to([logical_name])
36
- expect(require_calls).to eql([])
37
- end
33
+ it 'does highjack target object #requires calls' do
34
+ apply
35
+ expect { target_require(logical_name) }
36
+ .to change { highjacked_calls }
37
+ .from([])
38
+ .to([logical_name])
38
39
  end
39
40
 
40
- context 'require calls after run' do
41
-
42
- it 'does not the calls anything' do
43
- subject
44
- target.require(logical_name)
45
- expect(require_calls).to eql([logical_name])
46
- expect(highjacked_calls).to eql([])
47
- end
41
+ it 'does not call original require' do
42
+ apply
43
+ expect { target_require(logical_name) }
44
+ .not_to change { require_calls }.from([])
48
45
  end
49
46
  end
50
47
  end
@@ -88,6 +88,13 @@ RSpec.describe Mutant::WarningFilter do
88
88
  )
89
89
  end
90
90
 
91
+ it 'passes through non warning writes' do
92
+ expect($stderr).to receive(:write).with('foo')
93
+ object.use do
94
+ $stderr.write('foo')
95
+ end
96
+ end
97
+
91
98
  it 'resets to original stderr after execution' do
92
99
  original = $stderr
93
100
  object.use {}
@@ -0,0 +1,120 @@
1
+ RSpec.describe Mutant::Zombifier do
2
+ let(:root_require) { Pathname.new('project') }
3
+
4
+ let(:pathname) do
5
+ instance_double(::Pathname.singleton_class)
6
+ end
7
+
8
+ let(:require_highjack) do
9
+ lambda do |block|
10
+ original = ruby_vm.method(:require)
11
+ allow(ruby_vm).to receive(:require, &block)
12
+ original
13
+ end
14
+ end
15
+
16
+ let(:options) do
17
+ {
18
+ load_path: %w[a b],
19
+ includes: %w[project bar],
20
+ namespace: :Zombie,
21
+ require_highjack: require_highjack,
22
+ root_require: root_require,
23
+ pathname: pathname,
24
+ kernel: ruby_vm
25
+ }
26
+ end
27
+
28
+ let(:ruby_vm) do
29
+ MutantSpec::RubyVM.new(
30
+ [
31
+ MutantSpec::RubyVM::EventExpectation::Require.new(
32
+ expected_payload: {
33
+ logical_name: 'project'
34
+ }
35
+ ),
36
+ MutantSpec::RubyVM::EventExpectation::Eval.new(
37
+ expected_payload: {
38
+ binding: TOPLEVEL_BINDING,
39
+ source: "module Zombie\n module Project\n end\nend",
40
+ source_location: 'a/project.rb'
41
+ },
42
+ trigger_requires: %w[foo bar]
43
+ ),
44
+ MutantSpec::RubyVM::EventExpectation::Require.new(
45
+ expected_payload: {
46
+ logical_name: 'foo'
47
+ },
48
+ trigger_requires: %w[bar]
49
+ ),
50
+ MutantSpec::RubyVM::EventExpectation::Require.new(
51
+ expected_payload: {
52
+ logical_name: 'bar'
53
+ }
54
+ ),
55
+ MutantSpec::RubyVM::EventExpectation::Eval.new(
56
+ expected_payload: {
57
+ binding: TOPLEVEL_BINDING,
58
+ source: "module Zombie\n module Bar\n end\nend",
59
+ source_location: 'b/bar.rb'
60
+ },
61
+ trigger_requires: %w[]
62
+ ),
63
+ MutantSpec::RubyVM::EventExpectation::Require.new(
64
+ expected_payload: {
65
+ logical_name: 'bar'
66
+ }
67
+ )
68
+ ]
69
+ )
70
+ end
71
+
72
+ let(:require_effects) do
73
+ {
74
+ 'project' => { requires: [] }
75
+ }
76
+ end
77
+
78
+ let(:file_entries) do
79
+ {
80
+ 'a/project.rb' => { file: true, contents: 'module Project; end' },
81
+ 'b/bar.rb' => { file: true, contents: 'module Bar; end' }
82
+ }
83
+ end
84
+
85
+ let(:file_system) do
86
+ MutantSpec::FileSystem.new(
87
+ Hash[
88
+ file_entries.map { |key, attributes| [key, MutantSpec::FileState.new(attributes)] }
89
+ ]
90
+ )
91
+ end
92
+
93
+ describe '.call' do
94
+ def apply
95
+ described_class.call(options)
96
+ end
97
+
98
+ before do
99
+ allow(pathname).to receive(:new, &file_system.method(:path))
100
+ end
101
+
102
+ it 'returns self' do
103
+ expect(apply).to be(described_class)
104
+ end
105
+
106
+ it 'consumes walks the VM through expected steps' do
107
+ expect { apply }.to change(ruby_vm, :done?).from(false).to(true)
108
+ end
109
+
110
+ context 'when zombifier require fails' do
111
+ let(:file_entries) do
112
+ {}
113
+ end
114
+
115
+ it 'raises zombifier specific load error' do
116
+ expect { apply }.to raise_error(described_class::LoadError, 'Cannot find file "project.rb" in load path')
117
+ end
118
+ end
119
+ end
120
+ end
@@ -12,47 +12,4 @@ RSpec.describe Mutant do
12
12
 
13
13
  it { should be(result) }
14
14
  end
15
-
16
- describe '.zombify' do
17
- subject { object.zombify }
18
-
19
- it 'calls the zombifier' do
20
- expect(Mutant::Zombifier).to receive(:run).with('mutant', :Zombie)
21
- subject
22
- end
23
- end
24
-
25
- describe '.singleton_subclass_instance' do
26
- subject { object.singleton_subclass_instance(name, superclass, &block) }
27
-
28
- before { subject }
29
-
30
- let(:name) { 'Test' }
31
- let(:block) { proc { def foo; end } }
32
- let(:superclass) { Class.new }
33
-
34
- let(:generated) { superclass.const_get(:Test) }
35
-
36
- it_should_behave_like 'a command method'
37
-
38
- it 'sets expected name' do
39
- name = generated.class.name
40
- expect(name).to eql("::#{self.name}")
41
- expect(name).to be_frozen
42
- end
43
-
44
- it 'stores instance of subclass' do
45
- expect(generated).to be_kind_of(superclass)
46
- end
47
-
48
- it 'evaluates the context of proc inside subclass' do
49
- expect(generated).to respond_to(:foo)
50
- end
51
-
52
- it 'generates nice #inspect' do
53
- inspect = generated.inspect
54
- expect(inspect).to eql("::#{self.name}")
55
- expect(inspect).to be_frozen
56
- end
57
- end
58
15
  end
@@ -0,0 +1,6 @@
1
+ source 'https://rubygems.org'
2
+ gem 'rspec', '~> 3.3.0'
3
+ gem 'rspec-core', '~> 3.3.0'
4
+ gem 'mutant', path: '../'
5
+ gem 'mutant-rspec', path: '../'
6
+ gem 'adamantium'
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.7.9
4
+ version: 0.8.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Markus Schirp
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-05-30 00:00:00.000000000 Z
11
+ date: 2015-06-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: parser
@@ -16,20 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '2.2'
20
- - - ">="
21
- - !ruby/object:Gem::Version
22
- version: 2.2.0.2
19
+ version: 2.2.2
23
20
  type: :runtime
24
21
  prerelease: false
25
22
  version_requirements: !ruby/object:Gem::Requirement
26
23
  requirements:
27
24
  - - "~>"
28
25
  - !ruby/object:Gem::Version
29
- version: '2.2'
30
- - - ">="
31
- - !ruby/object:Gem::Version
32
- version: 2.2.0.2
26
+ version: 2.2.2
33
27
  - !ruby/object:Gem::Dependency
34
28
  name: ast
35
29
  requirement: !ruby/object:Gem::Requirement
@@ -120,14 +114,14 @@ dependencies:
120
114
  requirements:
121
115
  - - "~>"
122
116
  - !ruby/object:Gem::Version
123
- version: 0.2.2
117
+ version: 0.2.4
124
118
  type: :runtime
125
119
  prerelease: false
126
120
  version_requirements: !ruby/object:Gem::Requirement
127
121
  requirements:
128
122
  - - "~>"
129
123
  - !ruby/object:Gem::Version
130
- version: 0.2.2
124
+ version: 0.2.4
131
125
  - !ruby/object:Gem::Dependency
132
126
  name: ice_nine
133
127
  requirement: !ruby/object:Gem::Requirement
@@ -260,7 +254,6 @@ files:
260
254
  - ".rspec"
261
255
  - ".rubocop.yml"
262
256
  - ".ruby-gemset"
263
- - ".travis.yml"
264
257
  - Changelog.md
265
258
  - Gemfile
266
259
  - Guardfile
@@ -391,6 +384,16 @@ files:
391
384
  - lib/mutant/reporter/cli.rb
392
385
  - lib/mutant/reporter/cli/format.rb
393
386
  - lib/mutant/reporter/cli/printer.rb
387
+ - lib/mutant/reporter/cli/printer/config.rb
388
+ - lib/mutant/reporter/cli/printer/env_progress.rb
389
+ - lib/mutant/reporter/cli/printer/env_result.rb
390
+ - lib/mutant/reporter/cli/printer/mutation_progress_result.rb
391
+ - lib/mutant/reporter/cli/printer/mutation_result.rb
392
+ - lib/mutant/reporter/cli/printer/status.rb
393
+ - lib/mutant/reporter/cli/printer/status_progressive.rb
394
+ - lib/mutant/reporter/cli/printer/subject_progress.rb
395
+ - lib/mutant/reporter/cli/printer/subject_result.rb
396
+ - lib/mutant/reporter/cli/printer/test_result.rb
394
397
  - lib/mutant/reporter/cli/tput.rb
395
398
  - lib/mutant/reporter/null.rb
396
399
  - lib/mutant/reporter/trace.rb
@@ -408,7 +411,6 @@ files:
408
411
  - lib/mutant/version.rb
409
412
  - lib/mutant/warning_filter.rb
410
413
  - lib/mutant/zombifier.rb
411
- - lib/mutant/zombifier/file.rb
412
414
  - meta/and.rb
413
415
  - meta/and_asgn.rb
414
416
  - meta/array.rb
@@ -469,7 +471,6 @@ files:
469
471
  - spec/integration/mutant/null_spec.rb
470
472
  - spec/integration/mutant/rspec_spec.rb
471
473
  - spec/integration/mutant/test_mutator_handles_types_spec.rb
472
- - spec/integration/mutant/zombie_spec.rb
473
474
  - spec/integrations.yml
474
475
  - spec/rcov.opts
475
476
  - spec/shared/framework_integration_behavior.rb
@@ -478,10 +479,12 @@ files:
478
479
  - spec/support/compress_helper.rb
479
480
  - spec/support/corpus.rb
480
481
  - spec/support/fake_actor.rb
482
+ - spec/support/file_system.rb
481
483
  - spec/support/ice_nine_config.rb
482
484
  - spec/support/mutation_verifier.rb
483
485
  - spec/support/rb_bug.rb
484
486
  - spec/support/rspec.rb
487
+ - spec/support/ruby_vm.rb
485
488
  - spec/support/shared_context.rb
486
489
  - spec/support/test_app.rb
487
490
  - spec/unit/mutant/actor/binding_spec.rb
@@ -491,6 +494,7 @@ files:
491
494
  - spec/unit/mutant/actor/receiver_spec.rb
492
495
  - spec/unit/mutant/actor/sender_spec.rb
493
496
  - spec/unit/mutant/ast_spec.rb
497
+ - spec/unit/mutant/cache_spec.rb
494
498
  - spec/unit/mutant/cli_spec.rb
495
499
  - spec/unit/mutant/context/root_spec.rb
496
500
  - spec/unit/mutant/context/scope/root_spec.rb
@@ -525,6 +529,17 @@ files:
525
529
  - spec/unit/mutant/parallel/source/array_spec.rb
526
530
  - spec/unit/mutant/parallel/worker_spec.rb
527
531
  - spec/unit/mutant/parallel_spec.rb
532
+ - spec/unit/mutant/reporter/cli/printer/config_spec.rb
533
+ - spec/unit/mutant/reporter/cli/printer/env_progress_spec.rb
534
+ - spec/unit/mutant/reporter/cli/printer/env_result_spec.rb
535
+ - spec/unit/mutant/reporter/cli/printer/mutation_progress_result_spec.rb
536
+ - spec/unit/mutant/reporter/cli/printer/mutation_result_spec.rb
537
+ - spec/unit/mutant/reporter/cli/printer/status_progressive_spec.rb
538
+ - spec/unit/mutant/reporter/cli/printer/status_spec.rb
539
+ - spec/unit/mutant/reporter/cli/printer/subject_progress_spec.rb
540
+ - spec/unit/mutant/reporter/cli/printer/subject_result_spec.rb
541
+ - spec/unit/mutant/reporter/cli/printer/test_result_spec.rb
542
+ - spec/unit/mutant/reporter/cli/printer_spec.rb
528
543
  - spec/unit/mutant/reporter/cli/tput_spec.rb
529
544
  - spec/unit/mutant/reporter/cli_spec.rb
530
545
  - spec/unit/mutant/reporter/null_spec.rb
@@ -540,11 +555,13 @@ files:
540
555
  - spec/unit/mutant/subject/method/singleton_spec.rb
541
556
  - spec/unit/mutant/subject_spec.rb
542
557
  - spec/unit/mutant/warning_filter_spec.rb
558
+ - spec/unit/mutant/zombifier_spec.rb
543
559
  - spec/unit/mutant_spec.rb
544
560
  - test_app/.rspec
545
561
  - test_app/Gemfile.rspec3.0
546
562
  - test_app/Gemfile.rspec3.1
547
563
  - test_app/Gemfile.rspec3.2
564
+ - test_app/Gemfile.rspec3.3
548
565
  - test_app/lib/test_app.rb
549
566
  - test_app/lib/test_app/literal.rb
550
567
  - test_app/spec/spec_helper.rb
@@ -561,7 +578,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
561
578
  requirements:
562
579
  - - ">="
563
580
  - !ruby/object:Gem::Version
564
- version: 1.9.3
581
+ version: '2.1'
565
582
  required_rubygems_version: !ruby/object:Gem::Requirement
566
583
  requirements:
567
584
  - - ">="
@@ -578,7 +595,6 @@ test_files:
578
595
  - spec/integration/mutant/null_spec.rb
579
596
  - spec/integration/mutant/rspec_spec.rb
580
597
  - spec/integration/mutant/test_mutator_handles_types_spec.rb
581
- - spec/integration/mutant/zombie_spec.rb
582
598
  - spec/unit/mutant/actor/binding_spec.rb
583
599
  - spec/unit/mutant/actor/env_spec.rb
584
600
  - spec/unit/mutant/actor/mailbox_spec.rb
@@ -586,6 +602,7 @@ test_files:
586
602
  - spec/unit/mutant/actor/receiver_spec.rb
587
603
  - spec/unit/mutant/actor/sender_spec.rb
588
604
  - spec/unit/mutant/ast_spec.rb
605
+ - spec/unit/mutant/cache_spec.rb
589
606
  - spec/unit/mutant/cli_spec.rb
590
607
  - spec/unit/mutant/context/root_spec.rb
591
608
  - spec/unit/mutant/context/scope/root_spec.rb
@@ -620,6 +637,17 @@ test_files:
620
637
  - spec/unit/mutant/parallel/source/array_spec.rb
621
638
  - spec/unit/mutant/parallel/worker_spec.rb
622
639
  - spec/unit/mutant/parallel_spec.rb
640
+ - spec/unit/mutant/reporter/cli/printer/config_spec.rb
641
+ - spec/unit/mutant/reporter/cli/printer/env_progress_spec.rb
642
+ - spec/unit/mutant/reporter/cli/printer/env_result_spec.rb
643
+ - spec/unit/mutant/reporter/cli/printer/mutation_progress_result_spec.rb
644
+ - spec/unit/mutant/reporter/cli/printer/mutation_result_spec.rb
645
+ - spec/unit/mutant/reporter/cli/printer/status_progressive_spec.rb
646
+ - spec/unit/mutant/reporter/cli/printer/status_spec.rb
647
+ - spec/unit/mutant/reporter/cli/printer/subject_progress_spec.rb
648
+ - spec/unit/mutant/reporter/cli/printer/subject_result_spec.rb
649
+ - spec/unit/mutant/reporter/cli/printer/test_result_spec.rb
650
+ - spec/unit/mutant/reporter/cli/printer_spec.rb
623
651
  - spec/unit/mutant/reporter/cli/tput_spec.rb
624
652
  - spec/unit/mutant/reporter/cli_spec.rb
625
653
  - spec/unit/mutant/reporter/null_spec.rb
@@ -635,5 +663,6 @@ test_files:
635
663
  - spec/unit/mutant/subject/method/singleton_spec.rb
636
664
  - spec/unit/mutant/subject_spec.rb
637
665
  - spec/unit/mutant/warning_filter_spec.rb
666
+ - spec/unit/mutant/zombifier_spec.rb
638
667
  - spec/unit/mutant_spec.rb
639
668
  has_rdoc: