mutant 0.8.19 → 0.8.20

Sign up to get free protection for your applications and to get access to all the features.
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__)