mutant 0.8.19 → 0.8.20

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 (41) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +46 -8
  3. data/Changelog.md +4 -0
  4. data/Gemfile.lock +10 -12
  5. data/README.md +22 -250
  6. data/config/flay.yml +1 -1
  7. data/docs/concurrency.md +39 -0
  8. data/docs/known-problems.md +44 -0
  9. data/docs/limitations.md +50 -0
  10. data/docs/mutant-minitest.md +147 -0
  11. data/docs/mutant-rspec.md +62 -0
  12. data/docs/nomenclature.md +82 -0
  13. data/docs/reading-reports.md +74 -0
  14. data/lib/mutant.rb +4 -3
  15. data/lib/mutant/env.rb +2 -2
  16. data/lib/mutant/expression/namespace.rb +3 -1
  17. data/lib/mutant/runner/sink.rb +2 -2
  18. data/lib/mutant/timer.rb +21 -0
  19. data/lib/mutant/version.rb +1 -1
  20. data/mutant-minitest.gemspec +22 -0
  21. data/mutant.gemspec +4 -5
  22. data/spec/integration/mutant/corpus_spec.rb +1 -7
  23. data/spec/integration/mutant/minitest_spec.rb +10 -0
  24. data/spec/integration/mutant/rspec_spec.rb +1 -1
  25. data/spec/integrations.yml +14 -0
  26. data/spec/shared/framework_integration_behavior.rb +8 -5
  27. data/spec/support/corpus.rb +20 -14
  28. data/spec/unit/mutant/clock_monotonic_spec.rb +52 -0
  29. data/spec/unit/mutant/env_spec.rb +2 -2
  30. data/spec/unit/mutant/expression/namespace/recursive_spec.rb +1 -1
  31. data/spec/unit/mutant/integration/rspec_spec.rb +1 -1
  32. data/spec/unit/mutant/reporter/cli_spec.rb +1 -1
  33. data/spec/unit/mutant/runner/sink_spec.rb +1 -1
  34. data/test_app/Gemfile.minitest +6 -0
  35. data/test_app/{Gemfile.rspec3.6 → Gemfile.rspec3.8} +2 -2
  36. data/test_app/test/unit/test_app/literal_test.rb +16 -0
  37. metadata +23 -26
  38. data/spec/rcov.opts +0 -7
  39. data/spec/support/rb_bug.rb +0 -18
  40. data/test_app/Gemfile.rspec3.4 +0 -7
  41. data/test_app/Gemfile.rspec3.5 +0 -7
@@ -126,7 +126,7 @@ RSpec.describe Mutant::Integration::Rspec do
126
126
  .and_return(rspec_runner)
127
127
 
128
128
  expect(RSpec).to receive_messages(world: world)
129
- allow(Time).to receive_messages(now: Time.now)
129
+ allow(Mutant::Timer).to receive_messages(now: Mutant::Timer.now)
130
130
  end
131
131
 
132
132
  describe '#all_tests' do
@@ -41,7 +41,7 @@ RSpec.describe Mutant::Reporter::CLI do
41
41
  end
42
42
 
43
43
  before do
44
- allow(Time).to receive(:now).and_return(Time.now)
44
+ allow(Mutant::Timer).to receive_messages(now: Mutant::Timer.now)
45
45
  end
46
46
 
47
47
  describe '.build' do
@@ -19,7 +19,7 @@ describe Mutant::Runner::Sink do
19
19
  let(:object) { described_class.new(env) }
20
20
 
21
21
  before do
22
- allow(Time).to receive(:now).and_return(Time.now)
22
+ allow(Mutant::Timer).to receive_messages(now: Mutant::Timer.now)
23
23
  end
24
24
 
25
25
  describe '#result' do
@@ -0,0 +1,6 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gem 'minitest', '~> 5.11'
4
+ gem 'mutant', path: '../'
5
+ gem 'mutant-minitest', path: '../'
6
+ gem 'adamantium'
@@ -1,6 +1,6 @@
1
1
  source 'https://rubygems.org'
2
- gem 'rspec', '~> 3.6.0'
3
- gem 'rspec-core', '~> 3.6.0'
2
+ gem 'rspec', '~> 3.8.0'
3
+ gem 'rspec-core', '~> 3.8.0'
4
4
  gem 'mutant', path: '../'
5
5
  gem 'mutant-rspec', path: '../'
6
6
  gem 'adamantium'
@@ -0,0 +1,16 @@
1
+ require 'minitest/autorun'
2
+ require 'mutant/minitest/coverage'
3
+
4
+ class LiteralTest < Minitest::Test
5
+ cover 'TestApp::Literal*'
6
+
7
+ def test_command
8
+ object = ::TestApp::Literal.new
9
+
10
+ assert_equal(object, object.command('x'))
11
+ end
12
+
13
+ def test_string
14
+ assert_equal('string', ::TestApp::Literal.new.string)
15
+ end
16
+ end
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.19
4
+ version: 0.8.20
5
5
  platform: ruby
6
6
  authors:
7
7
  - Markus Schirp
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-11-06 00:00:00.000000000 Z
11
+ date: 2018-11-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: abstract_type
@@ -150,20 +150,6 @@ dependencies:
150
150
  - - "~>"
151
151
  - !ruby/object:Gem::Version
152
152
  version: 0.2.6
153
- - !ruby/object:Gem::Dependency
154
- name: parallel
155
- requirement: !ruby/object:Gem::Requirement
156
- requirements:
157
- - - "~>"
158
- - !ruby/object:Gem::Version
159
- version: '1.3'
160
- type: :runtime
161
- prerelease: false
162
- version_requirements: !ruby/object:Gem::Requirement
163
- requirements:
164
- - - "~>"
165
- - !ruby/object:Gem::Version
166
- version: '1.3'
167
153
  - !ruby/object:Gem::Dependency
168
154
  name: parser
169
155
  requirement: !ruby/object:Gem::Requirement
@@ -212,14 +198,14 @@ dependencies:
212
198
  requirements:
213
199
  - - "~>"
214
200
  - !ruby/object:Gem::Version
215
- version: 0.2.5
201
+ version: 0.3.0
216
202
  type: :runtime
217
203
  prerelease: false
218
204
  version_requirements: !ruby/object:Gem::Requirement
219
205
  requirements:
220
206
  - - "~>"
221
207
  - !ruby/object:Gem::Version
222
- version: 0.2.5
208
+ version: 0.3.0
223
209
  - !ruby/object:Gem::Dependency
224
210
  name: bundler
225
211
  requirement: !ruby/object:Gem::Requirement
@@ -249,19 +235,19 @@ dependencies:
249
235
  - !ruby/object:Gem::Version
250
236
  version: 0.1.21
251
237
  - !ruby/object:Gem::Dependency
252
- name: ffi
238
+ name: parallel
253
239
  requirement: !ruby/object:Gem::Requirement
254
240
  requirements:
255
241
  - - "~>"
256
242
  - !ruby/object:Gem::Version
257
- version: 1.9.6
243
+ version: '1.3'
258
244
  type: :development
259
245
  prerelease: false
260
246
  version_requirements: !ruby/object:Gem::Requirement
261
247
  requirements:
262
248
  - - "~>"
263
249
  - !ruby/object:Gem::Version
264
- version: 1.9.6
250
+ version: '1.3'
265
251
  description: Mutation testing for ruby
266
252
  email:
267
253
  - mbj@schirp-dso.com
@@ -292,6 +278,13 @@ files:
292
278
  - config/rubocop.yml
293
279
  - config/triage.yml
294
280
  - config/yardstick.yml
281
+ - docs/concurrency.md
282
+ - docs/known-problems.md
283
+ - docs/limitations.md
284
+ - docs/mutant-minitest.md
285
+ - docs/mutant-rspec.md
286
+ - docs/nomenclature.md
287
+ - docs/reading-reports.md
295
288
  - lib/mutant.rb
296
289
  - lib/mutant/actor.rb
297
290
  - lib/mutant/actor/env.rb
@@ -457,6 +450,7 @@ files:
457
450
  - lib/mutant/subject/method/instance.rb
458
451
  - lib/mutant/subject/method/singleton.rb
459
452
  - lib/mutant/test.rb
453
+ - lib/mutant/timer.rb
460
454
  - lib/mutant/util.rb
461
455
  - lib/mutant/version.rb
462
456
  - lib/mutant/warning_filter.rb
@@ -531,15 +525,16 @@ files:
531
525
  - meta/until.rb
532
526
  - meta/while.rb
533
527
  - meta/yield.rb
528
+ - mutant-minitest.gemspec
534
529
  - mutant-rspec.gemspec
535
530
  - mutant.gemspec
536
531
  - spec/integration/mutant/corpus_spec.rb
537
532
  - spec/integration/mutant/isolation/fork_spec.rb
533
+ - spec/integration/mutant/minitest_spec.rb
538
534
  - spec/integration/mutant/null_spec.rb
539
535
  - spec/integration/mutant/rspec_spec.rb
540
536
  - spec/integration/mutant/test_mutator_handles_types_spec.rb
541
537
  - spec/integrations.yml
542
- - spec/rcov.opts
543
538
  - spec/shared/framework_integration_behavior.rb
544
539
  - spec/shared/method_matcher_behavior.rb
545
540
  - spec/spec_helper.rb
@@ -547,7 +542,6 @@ files:
547
542
  - spec/support/fake_actor.rb
548
543
  - spec/support/file_system.rb
549
544
  - spec/support/ice_nine_config.rb
550
- - spec/support/rb_bug.rb
551
545
  - spec/support/ruby_vm.rb
552
546
  - spec/support/shared_context.rb
553
547
  - spec/support/test_app.rb
@@ -573,6 +567,7 @@ files:
573
567
  - spec/unit/mutant/ast/sexp_spec.rb
574
568
  - spec/unit/mutant/ast_spec.rb
575
569
  - spec/unit/mutant/cli_spec.rb
570
+ - spec/unit/mutant/clock_monotonic_spec.rb
576
571
  - spec/unit/mutant/context_spec.rb
577
572
  - spec/unit/mutant/diff_spec.rb
578
573
  - spec/unit/mutant/env/bootstrap_spec.rb
@@ -648,14 +643,14 @@ files:
648
643
  - spec/unit/mutant/zombifier_spec.rb
649
644
  - spec/unit/mutant_spec.rb
650
645
  - test_app/.rspec
651
- - test_app/Gemfile.rspec3.4
652
- - test_app/Gemfile.rspec3.5
653
- - test_app/Gemfile.rspec3.6
646
+ - test_app/Gemfile.minitest
654
647
  - test_app/Gemfile.rspec3.7
648
+ - test_app/Gemfile.rspec3.8
655
649
  - test_app/lib/test_app.rb
656
650
  - test_app/lib/test_app/literal.rb
657
651
  - test_app/spec/spec_helper.rb
658
652
  - test_app/spec/unit/test_app/literal_spec.rb
653
+ - test_app/test/unit/test_app/literal_test.rb
659
654
  homepage: https://github.com/mbj/mutant
660
655
  licenses:
661
656
  - MIT
@@ -683,6 +678,7 @@ summary: Mutation testing tool for ruby under MRI and Rubinius
683
678
  test_files:
684
679
  - spec/integration/mutant/corpus_spec.rb
685
680
  - spec/integration/mutant/isolation/fork_spec.rb
681
+ - spec/integration/mutant/minitest_spec.rb
686
682
  - spec/integration/mutant/null_spec.rb
687
683
  - spec/integration/mutant/rspec_spec.rb
688
684
  - spec/integration/mutant/test_mutator_handles_types_spec.rb
@@ -705,6 +701,7 @@ test_files:
705
701
  - spec/unit/mutant/ast/sexp_spec.rb
706
702
  - spec/unit/mutant/ast_spec.rb
707
703
  - spec/unit/mutant/cli_spec.rb
704
+ - spec/unit/mutant/clock_monotonic_spec.rb
708
705
  - spec/unit/mutant/context_spec.rb
709
706
  - spec/unit/mutant/diff_spec.rb
710
707
  - spec/unit/mutant/env/bootstrap_spec.rb
@@ -1,7 +0,0 @@
1
- --exclude-only "spec/,^/"
2
- --sort coverage
3
- --callsites
4
- --xrefs
5
- --profile
6
- --text-summary
7
- --failure-threshold 100
@@ -1,18 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'ffi'
4
-
5
- # @api private
6
- module RbBug
7
- extend FFI::Library
8
- ffi_lib 'ruby'
9
- attach_function :rb_bug, %i[string varargs], :void
10
-
11
- # Call the test bug
12
- #
13
- # @return [undefined]
14
- def self.call
15
- rb_bug('%s', :string, 'test bug')
16
- end
17
-
18
- end # RbBug
@@ -1,7 +0,0 @@
1
- source 'https://rubygems.org'
2
- gem 'rspec', '~> 3.4.0'
3
- gem 'rspec-core', '~> 3.4.0'
4
- gem 'mutant', path: '../'
5
- gem 'mutant-rspec', path: '../'
6
- gem 'adamantium'
7
- eval_gemfile File.expand_path('../../Gemfile.shared', __FILE__)
@@ -1,7 +0,0 @@
1
- source 'https://rubygems.org'
2
- gem 'rspec', '~> 3.5.0'
3
- gem 'rspec-core', '~> 3.5.0'
4
- gem 'mutant', path: '../'
5
- gem 'mutant-rspec', path: '../'
6
- gem 'adamantium'
7
- eval_gemfile File.expand_path('../../Gemfile.shared', __FILE__)