mutant 0.9.11 → 0.10.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (255) hide show
  1. checksums.yaml +4 -4
  2. data/bin/mutant +16 -11
  3. data/lib/mutant.rb +8 -4
  4. data/lib/mutant/bootstrap.rb +14 -1
  5. data/lib/mutant/cli.rb +9 -162
  6. data/lib/mutant/cli/command.rb +196 -0
  7. data/lib/mutant/cli/command/root.rb +13 -0
  8. data/lib/mutant/cli/command/run.rb +151 -0
  9. data/lib/mutant/cli/command/subscription.rb +54 -0
  10. data/lib/mutant/expression.rb +0 -1
  11. data/lib/mutant/isolation.rb +1 -1
  12. data/lib/mutant/isolation/fork.rb +2 -2
  13. data/lib/mutant/isolation/none.rb +1 -1
  14. data/lib/mutant/license.rb +9 -35
  15. data/lib/mutant/license/subscription.rb +31 -9
  16. data/lib/mutant/license/subscription/commercial.rb +2 -4
  17. data/lib/mutant/license/subscription/opensource.rb +7 -7
  18. data/lib/mutant/matcher/config.rb +2 -0
  19. data/lib/mutant/meta/example.rb +16 -4
  20. data/lib/mutant/meta/example/dsl.rb +33 -16
  21. data/lib/mutant/meta/example/verification.rb +70 -28
  22. data/lib/mutant/minitest/coverage.rb +51 -0
  23. data/lib/mutant/mutator/node.rb +2 -2
  24. data/lib/mutant/mutator/node/block_pass.rb +29 -0
  25. data/lib/mutant/mutator/node/{dstr.rb → dynamic_literal.rb} +7 -5
  26. data/lib/mutant/mutator/node/index.rb +4 -4
  27. data/lib/mutant/mutator/node/named_value/variable_assignment.rb +1 -1
  28. data/lib/mutant/mutator/node/noop.rb +1 -1
  29. data/lib/mutant/mutator/node/op_asgn.rb +15 -1
  30. data/lib/mutant/mutator/node/send.rb +25 -1
  31. data/lib/mutant/mutator/node/send/attribute_assignment.rb +1 -0
  32. data/lib/mutant/reporter/cli/printer/isolation_result.rb +9 -3
  33. data/lib/mutant/selector/expression.rb +3 -1
  34. data/lib/mutant/subject/method/instance.rb +1 -1
  35. data/lib/mutant/test.rb +1 -1
  36. data/lib/mutant/version.rb +1 -1
  37. metadata +18 -336
  38. data/.github/workflows/ci.yml +0 -121
  39. data/.gitignore +0 -38
  40. data/.rspec +0 -5
  41. data/.rubocop.yml +0 -210
  42. data/Changelog.md +0 -91
  43. data/Gemfile +0 -7
  44. data/Gemfile.lock +0 -107
  45. data/Gemfile.shared +0 -10
  46. data/README.md +0 -199
  47. data/Rakefile +0 -5
  48. data/config/devtools.yml +0 -2
  49. data/config/reek.yml +0 -139
  50. data/config/yardstick.yml +0 -2
  51. data/docs/commercial-support.md +0 -14
  52. data/docs/concurrency.md +0 -39
  53. data/docs/incremental.md +0 -76
  54. data/docs/known-problems.md +0 -30
  55. data/docs/limitations.md +0 -50
  56. data/docs/mutant-minitest.md +0 -149
  57. data/docs/mutant-rspec.md +0 -130
  58. data/docs/nomenclature.md +0 -82
  59. data/docs/reading-reports.md +0 -74
  60. data/lib/mutant/mutator/node/dsym.rb +0 -22
  61. data/meta/and.rb +0 -13
  62. data/meta/and_asgn.rb +0 -14
  63. data/meta/array.rb +0 -27
  64. data/meta/begin.rb +0 -20
  65. data/meta/block.rb +0 -199
  66. data/meta/block_pass.rb +0 -8
  67. data/meta/blockarg.rb +0 -10
  68. data/meta/break.rb +0 -9
  69. data/meta/case.rb +0 -217
  70. data/meta/casgn.rb +0 -25
  71. data/meta/cbase.rb +0 -8
  72. data/meta/class.rb +0 -12
  73. data/meta/const.rb +0 -17
  74. data/meta/csend.rb +0 -10
  75. data/meta/cvar.rb +0 -7
  76. data/meta/cvasgn.rb +0 -9
  77. data/meta/date.rb +0 -59
  78. data/meta/def.rb +0 -196
  79. data/meta/defined.rb +0 -9
  80. data/meta/dstr.rb +0 -13
  81. data/meta/dsym.rb +0 -14
  82. data/meta/ensure.rb +0 -8
  83. data/meta/false.rb +0 -7
  84. data/meta/file.rb +0 -5
  85. data/meta/float.rb +0 -37
  86. data/meta/gvar.rb +0 -7
  87. data/meta/gvasgn.rb +0 -9
  88. data/meta/hash.rb +0 -20
  89. data/meta/if.rb +0 -72
  90. data/meta/index.rb +0 -133
  91. data/meta/indexasgn.rb +0 -31
  92. data/meta/int.rb +0 -18
  93. data/meta/ivar.rb +0 -8
  94. data/meta/ivasgn.rb +0 -22
  95. data/meta/kwarg.rb +0 -10
  96. data/meta/kwbegin.rb +0 -8
  97. data/meta/kwoptarg.rb +0 -13
  98. data/meta/lambda.rb +0 -23
  99. data/meta/line.rb +0 -5
  100. data/meta/lvar.rb +0 -16
  101. data/meta/lvasgn.rb +0 -24
  102. data/meta/masgn.rb +0 -7
  103. data/meta/match_current_line.rb +0 -14
  104. data/meta/next.rb +0 -10
  105. data/meta/nil.rb +0 -5
  106. data/meta/nthref.rb +0 -14
  107. data/meta/op_assgn.rb +0 -17
  108. data/meta/or.rb +0 -13
  109. data/meta/or_asgn.rb +0 -50
  110. data/meta/range.rb +0 -63
  111. data/meta/redo.rb +0 -5
  112. data/meta/regexp.rb +0 -80
  113. data/meta/regopt.rb +0 -10
  114. data/meta/rescue.rb +0 -84
  115. data/meta/return.rb +0 -16
  116. data/meta/sclass.rb +0 -12
  117. data/meta/self.rb +0 -7
  118. data/meta/send.rb +0 -600
  119. data/meta/str.rb +0 -7
  120. data/meta/super.rb +0 -27
  121. data/meta/sym.rb +0 -8
  122. data/meta/true.rb +0 -7
  123. data/meta/until.rb +0 -16
  124. data/meta/while.rb +0 -24
  125. data/meta/yield.rb +0 -9
  126. data/mutant-minitest.gemspec +0 -22
  127. data/mutant-rspec.gemspec +0 -22
  128. data/mutant.gemspec +0 -44
  129. data/mutant.sh +0 -12
  130. data/mutant.yml +0 -6
  131. data/spec/integration/mutant/corpus_spec.rb +0 -15
  132. data/spec/integration/mutant/isolation/fork_spec.rb +0 -28
  133. data/spec/integration/mutant/minitest_spec.rb +0 -11
  134. data/spec/integration/mutant/null_spec.rb +0 -16
  135. data/spec/integration/mutant/rspec_spec.rb +0 -15
  136. data/spec/integration/mutant/test_mutator_handles_types_spec.rb +0 -9
  137. data/spec/integrations.yml +0 -63
  138. data/spec/shared/framework_integration_behavior.rb +0 -70
  139. data/spec/shared/method_matcher_behavior.rb +0 -47
  140. data/spec/spec_helper.rb +0 -90
  141. data/spec/support/corpus.rb +0 -318
  142. data/spec/support/file_system.rb +0 -62
  143. data/spec/support/ice_nine_config.rb +0 -10
  144. data/spec/support/ruby_vm.rb +0 -84
  145. data/spec/support/shared_context.rb +0 -169
  146. data/spec/support/xspec.rb +0 -183
  147. data/spec/unit/mutant/ast/find_metaclass_containing_spec.rb +0 -64
  148. data/spec/unit/mutant/ast/meta/optarg_spec.rb +0 -24
  149. data/spec/unit/mutant/ast/meta/send/proc_predicate_spec.rb +0 -30
  150. data/spec/unit/mutant/ast/meta/send/receiver_possible_top_level_const_predicate_spec.rb +0 -39
  151. data/spec/unit/mutant/ast/meta/send_spec.rb +0 -42
  152. data/spec/unit/mutant/ast/named_children_spec.rb +0 -89
  153. data/spec/unit/mutant/ast/sexp_spec.rb +0 -38
  154. data/spec/unit/mutant/ast_spec.rb +0 -57
  155. data/spec/unit/mutant/bootstrap_spec.rb +0 -216
  156. data/spec/unit/mutant/cli_spec.rb +0 -305
  157. data/spec/unit/mutant/clock_monotonic_spec.rb +0 -52
  158. data/spec/unit/mutant/config_spec.rb +0 -126
  159. data/spec/unit/mutant/context_spec.rb +0 -111
  160. data/spec/unit/mutant/env_spec.rb +0 -229
  161. data/spec/unit/mutant/expression/method_spec.rb +0 -62
  162. data/spec/unit/mutant/expression/methods_spec.rb +0 -66
  163. data/spec/unit/mutant/expression/namespace/exact_spec.rb +0 -28
  164. data/spec/unit/mutant/expression/namespace/recursive_spec.rb +0 -66
  165. data/spec/unit/mutant/expression/parser_spec.rb +0 -65
  166. data/spec/unit/mutant/expression_spec.rb +0 -45
  167. data/spec/unit/mutant/integration/rspec_spec.rb +0 -201
  168. data/spec/unit/mutant/integration_spec.rb +0 -150
  169. data/spec/unit/mutant/isolation/fork_spec.rb +0 -309
  170. data/spec/unit/mutant/isolation/none_spec.rb +0 -23
  171. data/spec/unit/mutant/isolation/result_spec.rb +0 -73
  172. data/spec/unit/mutant/license_spec.rb +0 -305
  173. data/spec/unit/mutant/loader_spec.rb +0 -79
  174. data/spec/unit/mutant/matcher/chain_spec.rb +0 -26
  175. data/spec/unit/mutant/matcher/compiler_spec.rb +0 -0
  176. data/spec/unit/mutant/matcher/config_spec.rb +0 -47
  177. data/spec/unit/mutant/matcher/filter_spec.rb +0 -22
  178. data/spec/unit/mutant/matcher/method/instance_spec.rb +0 -164
  179. data/spec/unit/mutant/matcher/method/metaclass_spec.rb +0 -108
  180. data/spec/unit/mutant/matcher/method/singleton_spec.rb +0 -90
  181. data/spec/unit/mutant/matcher/methods/instance_spec.rb +0 -54
  182. data/spec/unit/mutant/matcher/methods/metaclass_spec.rb +0 -62
  183. data/spec/unit/mutant/matcher/methods/singleton_spec.rb +0 -51
  184. data/spec/unit/mutant/matcher/namespace_spec.rb +0 -39
  185. data/spec/unit/mutant/matcher/null_spec.rb +0 -12
  186. data/spec/unit/mutant/matcher/scope_spec.rb +0 -45
  187. data/spec/unit/mutant/matcher/static_spec.rb +0 -13
  188. data/spec/unit/mutant/matcher_spec.rb +0 -102
  189. data/spec/unit/mutant/meta/example/dsl_spec.rb +0 -108
  190. data/spec/unit/mutant/meta/example/verification_spec.rb +0 -154
  191. data/spec/unit/mutant/meta/example_spec.rb +0 -34
  192. data/spec/unit/mutant/mutation_spec.rb +0 -140
  193. data/spec/unit/mutant/mutator/node_spec.rb +0 -47
  194. data/spec/unit/mutant/mutator_spec.rb +0 -21
  195. data/spec/unit/mutant/parallel/driver_spec.rb +0 -126
  196. data/spec/unit/mutant/parallel/source/array_spec.rb +0 -57
  197. data/spec/unit/mutant/parallel/worker_spec.rb +0 -206
  198. data/spec/unit/mutant/parallel_spec.rb +0 -115
  199. data/spec/unit/mutant/parser_spec.rb +0 -26
  200. data/spec/unit/mutant/range_spec.rb +0 -141
  201. data/spec/unit/mutant/registry_spec.rb +0 -74
  202. data/spec/unit/mutant/reporter/cli/printer/config_spec.rb +0 -17
  203. data/spec/unit/mutant/reporter/cli/printer/env_progress_spec.rb +0 -85
  204. data/spec/unit/mutant/reporter/cli/printer/env_result_spec.rb +0 -45
  205. data/spec/unit/mutant/reporter/cli/printer/isolation_result_spec.rb +0 -132
  206. data/spec/unit/mutant/reporter/cli/printer/mutation_progress_result_spec.rb +0 -25
  207. data/spec/unit/mutant/reporter/cli/printer/mutation_result_spec.rb +0 -153
  208. data/spec/unit/mutant/reporter/cli/printer/status_progressive_spec.rb +0 -45
  209. data/spec/unit/mutant/reporter/cli/printer/subject_progress_spec.rb +0 -36
  210. data/spec/unit/mutant/reporter/cli/printer/subject_result_spec.rb +0 -44
  211. data/spec/unit/mutant/reporter/cli/printer/test_result_spec.rb +0 -16
  212. data/spec/unit/mutant/reporter/cli/printer_spec.rb +0 -163
  213. data/spec/unit/mutant/reporter/cli_spec.rb +0 -137
  214. data/spec/unit/mutant/reporter/null_spec.rb +0 -14
  215. data/spec/unit/mutant/reporter/sequence_spec.rb +0 -31
  216. data/spec/unit/mutant/repository/diff/ranges_spec.rb +0 -180
  217. data/spec/unit/mutant/repository/diff_spec.rb +0 -122
  218. data/spec/unit/mutant/repository/subject_filter_spec.rb +0 -30
  219. data/spec/unit/mutant/require_highjack_spec.rb +0 -73
  220. data/spec/unit/mutant/result/class_methods_spec.rb +0 -51
  221. data/spec/unit/mutant/result/env_spec.rb +0 -161
  222. data/spec/unit/mutant/result/mutation_spec.rb +0 -70
  223. data/spec/unit/mutant/result/subject_spec.rb +0 -111
  224. data/spec/unit/mutant/result/test_spec.rb +0 -14
  225. data/spec/unit/mutant/result_spec.rb +0 -33
  226. data/spec/unit/mutant/runner/sink_spec.rb +0 -174
  227. data/spec/unit/mutant/runner_spec.rb +0 -121
  228. data/spec/unit/mutant/selector/expression_spec.rb +0 -62
  229. data/spec/unit/mutant/selector/null_spec.rb +0 -17
  230. data/spec/unit/mutant/subject/method/instance_spec.rb +0 -276
  231. data/spec/unit/mutant/subject/method/metaclass_spec.rb +0 -63
  232. data/spec/unit/mutant/subject/method/singleton_spec.rb +0 -61
  233. data/spec/unit/mutant/subject_spec.rb +0 -93
  234. data/spec/unit/mutant/transform/array_spec.rb +0 -92
  235. data/spec/unit/mutant/transform/bool_spec.rb +0 -63
  236. data/spec/unit/mutant/transform/error_spec.rb +0 -132
  237. data/spec/unit/mutant/transform/exception_spec.rb +0 -44
  238. data/spec/unit/mutant/transform/hash_spec.rb +0 -236
  239. data/spec/unit/mutant/transform/index_spec.rb +0 -92
  240. data/spec/unit/mutant/transform/named_spec.rb +0 -49
  241. data/spec/unit/mutant/transform/primitive_spec.rb +0 -56
  242. data/spec/unit/mutant/transform/sequence_spec.rb +0 -98
  243. data/spec/unit/mutant/util/one_spec.rb +0 -22
  244. data/spec/unit/mutant/warnings_spec.rb +0 -89
  245. data/spec/unit/mutant/world_spec.rb +0 -63
  246. data/spec/unit/mutant/zombifier_spec.rb +0 -122
  247. data/test_app/.rspec +0 -1
  248. data/test_app/Gemfile.minitest +0 -6
  249. data/test_app/Gemfile.rspec3.8 +0 -7
  250. data/test_app/lib/test_app.rb +0 -114
  251. data/test_app/lib/test_app/literal.rb +0 -35
  252. data/test_app/lib/test_app/metaclasses.rb +0 -108
  253. data/test_app/spec/spec_helper.rb +0 -9
  254. data/test_app/spec/unit/test_app/literal_spec.rb +0 -20
  255. data/test_app/test/unit/test_app/literal_test.rb +0 -16
@@ -79,6 +79,8 @@ module Mutant
79
79
  end
80
80
 
81
81
  def emit_selector_specific_mutations
82
+ emit_array_mutation
83
+ emit_static_send
82
84
  emit_const_get_mutation
83
85
  emit_integer_mutation
84
86
  emit_dig_mutation
@@ -86,6 +88,28 @@ module Mutant
86
88
  emit_lambda_mutation
87
89
  end
88
90
 
91
+ def emit_array_mutation
92
+ return unless selector.equal?(:Array) && possible_kernel_method?
93
+
94
+ emit(s(:array, *arguments))
95
+ end
96
+
97
+ def emit_static_send
98
+ return unless %i[__send__ send public_send].include?(selector)
99
+
100
+ dynamic_selector, *actual_arguments = *arguments
101
+
102
+ return unless n_sym?(dynamic_selector)
103
+
104
+ method_name = AST::Meta::Symbol.new(dynamic_selector).name
105
+
106
+ emit(s(node.type, receiver, method_name, *actual_arguments))
107
+ end
108
+
109
+ def possible_kernel_method?
110
+ receiver.nil? || receiver.eql?(s(:const, nil, :Kernel))
111
+ end
112
+
89
113
  def emit_receiver_selector_mutations
90
114
  return unless meta.receiver_possible_top_level_const?
91
115
 
@@ -135,7 +159,7 @@ module Mutant
135
159
  end
136
160
 
137
161
  def emit_naked_receiver
138
- emit(receiver) if receiver
162
+ emit(receiver) if receiver && !left_op_assignment?
139
163
  end
140
164
 
141
165
  def mutate_arguments
@@ -8,6 +8,7 @@ module Mutant
8
8
  class AttributeAssignment < self
9
9
 
10
10
  ATTRIBUTE_RANGE = (0..-2).freeze
11
+
11
12
  private_constant(*constants(false))
12
13
 
13
14
  private
@@ -28,7 +28,7 @@ module Mutant
28
28
  * Bug in your test suite
29
29
  * Bug in your test suite under concurrency
30
30
 
31
- The following exception was raised:
31
+ The following exception was raised while reading the killfork result:
32
32
 
33
33
  ```
34
34
  %s
@@ -60,8 +60,8 @@ module Mutant
60
60
  #
61
61
  # @return [undefined]
62
62
  def run
63
- __send__(MAP.fetch(object.class))
64
63
  print_log_messages
64
+ __send__(MAP.fetch(object.class))
65
65
  end
66
66
 
67
67
  private
@@ -73,7 +73,13 @@ module Mutant
73
73
  def print_log_messages
74
74
  log = object.log
75
75
 
76
- puts(LOG_MESSAGES % log) unless log.empty?
76
+ return if log.empty?
77
+
78
+ puts('Log messages (combined stderr and stdout):')
79
+
80
+ log.each_line do |line|
81
+ puts('[killfork] %<line>s' % { line: line })
82
+ end
77
83
  end
78
84
 
79
85
  def visit_child_error
@@ -14,7 +14,9 @@ module Mutant
14
14
  def call(subject)
15
15
  subject.match_expressions.each do |match_expression|
16
16
  subject_tests = integration.all_tests.select do |test|
17
- match_expression.prefix?(test.expression)
17
+ test.expressions.any? do |test_expression|
18
+ match_expression.prefix?(test_expression)
19
+ end
18
20
  end
19
21
  return subject_tests if subject_tests.any?
20
22
  end
@@ -42,7 +42,7 @@ module Mutant
42
42
  private
43
43
 
44
44
  def wrap_node(mutant)
45
- s(:begin, mutant, s(:send, nil, :memoize, s(:args, s(:sym, name), *options)))
45
+ s(:begin, mutant, s(:send, nil, :memoize, s(:sym, name), *options))
46
46
  end
47
47
 
48
48
  # The optional AST node for adamantium memoization options
@@ -4,7 +4,7 @@ module Mutant
4
4
  # Abstract base class for test that might kill a mutation
5
5
  class Test
6
6
  include Adamantium::Flat, Anima.new(
7
- :expression,
7
+ :expressions,
8
8
  :id
9
9
  )
10
10
 
@@ -2,5 +2,5 @@
2
2
 
3
3
  module Mutant
4
4
  # Current mutant version
5
- VERSION = '0.9.11'
5
+ VERSION = '0.10.1'
6
6
  end # Mutant
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.9.11
4
+ version: 0.10.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Markus Schirp
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-08-25 00:00:00.000000000 Z
11
+ date: 2020-10-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: abstract_type
@@ -184,14 +184,14 @@ dependencies:
184
184
  requirements:
185
185
  - - "~>"
186
186
  - !ruby/object:Gem::Version
187
- version: 0.4.8
187
+ version: 0.5.3
188
188
  type: :runtime
189
189
  prerelease: false
190
190
  version_requirements: !ruby/object:Gem::Requirement
191
191
  requirements:
192
192
  - - "~>"
193
193
  - !ruby/object:Gem::Version
194
- version: 0.4.8
194
+ version: 0.5.3
195
195
  - !ruby/object:Gem::Dependency
196
196
  name: variable
197
197
  requirement: !ruby/object:Gem::Requirement
@@ -254,28 +254,28 @@ dependencies:
254
254
  requirements:
255
255
  - - "~>"
256
256
  - !ruby/object:Gem::Version
257
- version: 1.2.0
257
+ version: 1.3.0
258
258
  type: :development
259
259
  prerelease: false
260
260
  version_requirements: !ruby/object:Gem::Requirement
261
261
  requirements:
262
262
  - - "~>"
263
263
  - !ruby/object:Gem::Version
264
- version: 1.2.0
264
+ version: 1.3.0
265
265
  - !ruby/object:Gem::Dependency
266
266
  name: rubocop
267
267
  requirement: !ruby/object:Gem::Requirement
268
268
  requirements:
269
269
  - - "~>"
270
270
  - !ruby/object:Gem::Version
271
- version: 0.79.0
271
+ version: '1.0'
272
272
  type: :development
273
273
  prerelease: false
274
274
  version_requirements: !ruby/object:Gem::Requirement
275
275
  requirements:
276
276
  - - "~>"
277
277
  - !ruby/object:Gem::Version
278
- version: 0.79.0
278
+ version: '1.0'
279
279
  description: Mutation Testing for Ruby.
280
280
  email:
281
281
  - mbj@schirp-dso.com
@@ -285,30 +285,8 @@ extensions: []
285
285
  extra_rdoc_files:
286
286
  - LICENSE
287
287
  files:
288
- - ".github/workflows/ci.yml"
289
- - ".gitignore"
290
- - ".rspec"
291
- - ".rubocop.yml"
292
- - Changelog.md
293
- - Gemfile
294
- - Gemfile.lock
295
- - Gemfile.shared
296
288
  - LICENSE
297
- - README.md
298
- - Rakefile
299
289
  - bin/mutant
300
- - config/devtools.yml
301
- - config/reek.yml
302
- - config/yardstick.yml
303
- - docs/commercial-support.md
304
- - docs/concurrency.md
305
- - docs/incremental.md
306
- - docs/known-problems.md
307
- - docs/limitations.md
308
- - docs/mutant-minitest.md
309
- - docs/mutant-rspec.md
310
- - docs/nomenclature.md
311
- - docs/reading-reports.md
312
290
  - lib/mutant.rb
313
291
  - lib/mutant/ast.rb
314
292
  - lib/mutant/ast/find_metaclass_containing.rb
@@ -325,6 +303,10 @@ files:
325
303
  - lib/mutant/ast/types.rb
326
304
  - lib/mutant/bootstrap.rb
327
305
  - lib/mutant/cli.rb
306
+ - lib/mutant/cli/command.rb
307
+ - lib/mutant/cli/command/root.rb
308
+ - lib/mutant/cli/command/run.rb
309
+ - lib/mutant/cli/command/subscription.rb
328
310
  - lib/mutant/config.rb
329
311
  - lib/mutant/context.rb
330
312
  - lib/mutant/env.rb
@@ -360,6 +342,7 @@ files:
360
342
  - lib/mutant/meta/example.rb
361
343
  - lib/mutant/meta/example/dsl.rb
362
344
  - lib/mutant/meta/example/verification.rb
345
+ - lib/mutant/minitest/coverage.rb
363
346
  - lib/mutant/mutation.rb
364
347
  - lib/mutant/mutator.rb
365
348
  - lib/mutant/mutator/node.rb
@@ -369,6 +352,7 @@ files:
369
352
  - lib/mutant/mutator/node/begin.rb
370
353
  - lib/mutant/mutator/node/binary.rb
371
354
  - lib/mutant/mutator/node/block.rb
355
+ - lib/mutant/mutator/node/block_pass.rb
372
356
  - lib/mutant/mutator/node/break.rb
373
357
  - lib/mutant/mutator/node/case.rb
374
358
  - lib/mutant/mutator/node/class.rb
@@ -376,8 +360,7 @@ files:
376
360
  - lib/mutant/mutator/node/const.rb
377
361
  - lib/mutant/mutator/node/define.rb
378
362
  - lib/mutant/mutator/node/defined.rb
379
- - lib/mutant/mutator/node/dstr.rb
380
- - lib/mutant/mutator/node/dsym.rb
363
+ - lib/mutant/mutator/node/dynamic_literal.rb
381
364
  - lib/mutant/mutator/node/generic.rb
382
365
  - lib/mutant/mutator/node/if.rb
383
366
  - lib/mutant/mutator/node/index.rb
@@ -469,201 +452,6 @@ files:
469
452
  - lib/mutant/version.rb
470
453
  - lib/mutant/warnings.rb
471
454
  - lib/mutant/zombifier.rb
472
- - meta/and.rb
473
- - meta/and_asgn.rb
474
- - meta/array.rb
475
- - meta/begin.rb
476
- - meta/block.rb
477
- - meta/block_pass.rb
478
- - meta/blockarg.rb
479
- - meta/break.rb
480
- - meta/case.rb
481
- - meta/casgn.rb
482
- - meta/cbase.rb
483
- - meta/class.rb
484
- - meta/const.rb
485
- - meta/csend.rb
486
- - meta/cvar.rb
487
- - meta/cvasgn.rb
488
- - meta/date.rb
489
- - meta/def.rb
490
- - meta/defined.rb
491
- - meta/dstr.rb
492
- - meta/dsym.rb
493
- - meta/ensure.rb
494
- - meta/false.rb
495
- - meta/file.rb
496
- - meta/float.rb
497
- - meta/gvar.rb
498
- - meta/gvasgn.rb
499
- - meta/hash.rb
500
- - meta/if.rb
501
- - meta/index.rb
502
- - meta/indexasgn.rb
503
- - meta/int.rb
504
- - meta/ivar.rb
505
- - meta/ivasgn.rb
506
- - meta/kwarg.rb
507
- - meta/kwbegin.rb
508
- - meta/kwoptarg.rb
509
- - meta/lambda.rb
510
- - meta/line.rb
511
- - meta/lvar.rb
512
- - meta/lvasgn.rb
513
- - meta/masgn.rb
514
- - meta/match_current_line.rb
515
- - meta/next.rb
516
- - meta/nil.rb
517
- - meta/nthref.rb
518
- - meta/op_assgn.rb
519
- - meta/or.rb
520
- - meta/or_asgn.rb
521
- - meta/range.rb
522
- - meta/redo.rb
523
- - meta/regexp.rb
524
- - meta/regopt.rb
525
- - meta/rescue.rb
526
- - meta/return.rb
527
- - meta/sclass.rb
528
- - meta/self.rb
529
- - meta/send.rb
530
- - meta/str.rb
531
- - meta/super.rb
532
- - meta/sym.rb
533
- - meta/true.rb
534
- - meta/until.rb
535
- - meta/while.rb
536
- - meta/yield.rb
537
- - mutant-minitest.gemspec
538
- - mutant-rspec.gemspec
539
- - mutant.gemspec
540
- - mutant.sh
541
- - mutant.yml
542
- - spec/integration/mutant/corpus_spec.rb
543
- - spec/integration/mutant/isolation/fork_spec.rb
544
- - spec/integration/mutant/minitest_spec.rb
545
- - spec/integration/mutant/null_spec.rb
546
- - spec/integration/mutant/rspec_spec.rb
547
- - spec/integration/mutant/test_mutator_handles_types_spec.rb
548
- - spec/integrations.yml
549
- - spec/shared/framework_integration_behavior.rb
550
- - spec/shared/method_matcher_behavior.rb
551
- - spec/spec_helper.rb
552
- - spec/support/corpus.rb
553
- - spec/support/file_system.rb
554
- - spec/support/ice_nine_config.rb
555
- - spec/support/ruby_vm.rb
556
- - spec/support/shared_context.rb
557
- - spec/support/xspec.rb
558
- - spec/unit/mutant/ast/find_metaclass_containing_spec.rb
559
- - spec/unit/mutant/ast/meta/optarg_spec.rb
560
- - spec/unit/mutant/ast/meta/send/proc_predicate_spec.rb
561
- - spec/unit/mutant/ast/meta/send/receiver_possible_top_level_const_predicate_spec.rb
562
- - spec/unit/mutant/ast/meta/send_spec.rb
563
- - spec/unit/mutant/ast/named_children_spec.rb
564
- - spec/unit/mutant/ast/sexp_spec.rb
565
- - spec/unit/mutant/ast_spec.rb
566
- - spec/unit/mutant/bootstrap_spec.rb
567
- - spec/unit/mutant/cli_spec.rb
568
- - spec/unit/mutant/clock_monotonic_spec.rb
569
- - spec/unit/mutant/config_spec.rb
570
- - spec/unit/mutant/context_spec.rb
571
- - spec/unit/mutant/env_spec.rb
572
- - spec/unit/mutant/expression/method_spec.rb
573
- - spec/unit/mutant/expression/methods_spec.rb
574
- - spec/unit/mutant/expression/namespace/exact_spec.rb
575
- - spec/unit/mutant/expression/namespace/recursive_spec.rb
576
- - spec/unit/mutant/expression/parser_spec.rb
577
- - spec/unit/mutant/expression_spec.rb
578
- - spec/unit/mutant/integration/rspec_spec.rb
579
- - spec/unit/mutant/integration_spec.rb
580
- - spec/unit/mutant/isolation/fork_spec.rb
581
- - spec/unit/mutant/isolation/none_spec.rb
582
- - spec/unit/mutant/isolation/result_spec.rb
583
- - spec/unit/mutant/license_spec.rb
584
- - spec/unit/mutant/loader_spec.rb
585
- - spec/unit/mutant/matcher/chain_spec.rb
586
- - spec/unit/mutant/matcher/compiler_spec.rb
587
- - spec/unit/mutant/matcher/config_spec.rb
588
- - spec/unit/mutant/matcher/filter_spec.rb
589
- - spec/unit/mutant/matcher/method/instance_spec.rb
590
- - spec/unit/mutant/matcher/method/metaclass_spec.rb
591
- - spec/unit/mutant/matcher/method/singleton_spec.rb
592
- - spec/unit/mutant/matcher/methods/instance_spec.rb
593
- - spec/unit/mutant/matcher/methods/metaclass_spec.rb
594
- - spec/unit/mutant/matcher/methods/singleton_spec.rb
595
- - spec/unit/mutant/matcher/namespace_spec.rb
596
- - spec/unit/mutant/matcher/null_spec.rb
597
- - spec/unit/mutant/matcher/scope_spec.rb
598
- - spec/unit/mutant/matcher/static_spec.rb
599
- - spec/unit/mutant/matcher_spec.rb
600
- - spec/unit/mutant/meta/example/dsl_spec.rb
601
- - spec/unit/mutant/meta/example/verification_spec.rb
602
- - spec/unit/mutant/meta/example_spec.rb
603
- - spec/unit/mutant/mutation_spec.rb
604
- - spec/unit/mutant/mutator/node_spec.rb
605
- - spec/unit/mutant/mutator_spec.rb
606
- - spec/unit/mutant/parallel/driver_spec.rb
607
- - spec/unit/mutant/parallel/source/array_spec.rb
608
- - spec/unit/mutant/parallel/worker_spec.rb
609
- - spec/unit/mutant/parallel_spec.rb
610
- - spec/unit/mutant/parser_spec.rb
611
- - spec/unit/mutant/range_spec.rb
612
- - spec/unit/mutant/registry_spec.rb
613
- - spec/unit/mutant/reporter/cli/printer/config_spec.rb
614
- - spec/unit/mutant/reporter/cli/printer/env_progress_spec.rb
615
- - spec/unit/mutant/reporter/cli/printer/env_result_spec.rb
616
- - spec/unit/mutant/reporter/cli/printer/isolation_result_spec.rb
617
- - spec/unit/mutant/reporter/cli/printer/mutation_progress_result_spec.rb
618
- - spec/unit/mutant/reporter/cli/printer/mutation_result_spec.rb
619
- - spec/unit/mutant/reporter/cli/printer/status_progressive_spec.rb
620
- - spec/unit/mutant/reporter/cli/printer/subject_progress_spec.rb
621
- - spec/unit/mutant/reporter/cli/printer/subject_result_spec.rb
622
- - spec/unit/mutant/reporter/cli/printer/test_result_spec.rb
623
- - spec/unit/mutant/reporter/cli/printer_spec.rb
624
- - spec/unit/mutant/reporter/cli_spec.rb
625
- - spec/unit/mutant/reporter/null_spec.rb
626
- - spec/unit/mutant/reporter/sequence_spec.rb
627
- - spec/unit/mutant/repository/diff/ranges_spec.rb
628
- - spec/unit/mutant/repository/diff_spec.rb
629
- - spec/unit/mutant/repository/subject_filter_spec.rb
630
- - spec/unit/mutant/require_highjack_spec.rb
631
- - spec/unit/mutant/result/class_methods_spec.rb
632
- - spec/unit/mutant/result/env_spec.rb
633
- - spec/unit/mutant/result/mutation_spec.rb
634
- - spec/unit/mutant/result/subject_spec.rb
635
- - spec/unit/mutant/result/test_spec.rb
636
- - spec/unit/mutant/result_spec.rb
637
- - spec/unit/mutant/runner/sink_spec.rb
638
- - spec/unit/mutant/runner_spec.rb
639
- - spec/unit/mutant/selector/expression_spec.rb
640
- - spec/unit/mutant/selector/null_spec.rb
641
- - spec/unit/mutant/subject/method/instance_spec.rb
642
- - spec/unit/mutant/subject/method/metaclass_spec.rb
643
- - spec/unit/mutant/subject/method/singleton_spec.rb
644
- - spec/unit/mutant/subject_spec.rb
645
- - spec/unit/mutant/transform/array_spec.rb
646
- - spec/unit/mutant/transform/bool_spec.rb
647
- - spec/unit/mutant/transform/error_spec.rb
648
- - spec/unit/mutant/transform/exception_spec.rb
649
- - spec/unit/mutant/transform/hash_spec.rb
650
- - spec/unit/mutant/transform/index_spec.rb
651
- - spec/unit/mutant/transform/named_spec.rb
652
- - spec/unit/mutant/transform/primitive_spec.rb
653
- - spec/unit/mutant/transform/sequence_spec.rb
654
- - spec/unit/mutant/util/one_spec.rb
655
- - spec/unit/mutant/warnings_spec.rb
656
- - spec/unit/mutant/world_spec.rb
657
- - spec/unit/mutant/zombifier_spec.rb
658
- - test_app/.rspec
659
- - test_app/Gemfile.minitest
660
- - test_app/Gemfile.rspec3.8
661
- - test_app/lib/test_app.rb
662
- - test_app/lib/test_app/literal.rb
663
- - test_app/lib/test_app/metaclasses.rb
664
- - test_app/spec/spec_helper.rb
665
- - test_app/spec/unit/test_app/literal_spec.rb
666
- - test_app/test/unit/test_app/literal_test.rb
667
455
  homepage: https://github.com/mbj/mutant
668
456
  licenses:
669
457
  - Nonstandard
@@ -676,121 +464,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
676
464
  requirements:
677
465
  - - ">="
678
466
  - !ruby/object:Gem::Version
679
- version: '0'
467
+ version: '2.5'
680
468
  required_rubygems_version: !ruby/object:Gem::Requirement
681
469
  requirements:
682
470
  - - ">="
683
471
  - !ruby/object:Gem::Version
684
472
  version: '0'
685
473
  requirements: []
686
- rubygems_version: 3.0.3
474
+ rubygems_version: 3.1.4
687
475
  signing_key:
688
476
  specification_version: 4
689
477
  summary: ''
690
- test_files:
691
- - spec/integration/mutant/corpus_spec.rb
692
- - spec/integration/mutant/isolation/fork_spec.rb
693
- - spec/integration/mutant/minitest_spec.rb
694
- - spec/integration/mutant/null_spec.rb
695
- - spec/integration/mutant/rspec_spec.rb
696
- - spec/integration/mutant/test_mutator_handles_types_spec.rb
697
- - spec/unit/mutant/ast/find_metaclass_containing_spec.rb
698
- - spec/unit/mutant/ast/meta/optarg_spec.rb
699
- - spec/unit/mutant/ast/meta/send/proc_predicate_spec.rb
700
- - spec/unit/mutant/ast/meta/send/receiver_possible_top_level_const_predicate_spec.rb
701
- - spec/unit/mutant/ast/meta/send_spec.rb
702
- - spec/unit/mutant/ast/named_children_spec.rb
703
- - spec/unit/mutant/ast/sexp_spec.rb
704
- - spec/unit/mutant/ast_spec.rb
705
- - spec/unit/mutant/bootstrap_spec.rb
706
- - spec/unit/mutant/cli_spec.rb
707
- - spec/unit/mutant/clock_monotonic_spec.rb
708
- - spec/unit/mutant/config_spec.rb
709
- - spec/unit/mutant/context_spec.rb
710
- - spec/unit/mutant/env_spec.rb
711
- - spec/unit/mutant/expression/method_spec.rb
712
- - spec/unit/mutant/expression/methods_spec.rb
713
- - spec/unit/mutant/expression/namespace/exact_spec.rb
714
- - spec/unit/mutant/expression/namespace/recursive_spec.rb
715
- - spec/unit/mutant/expression/parser_spec.rb
716
- - spec/unit/mutant/expression_spec.rb
717
- - spec/unit/mutant/integration/rspec_spec.rb
718
- - spec/unit/mutant/integration_spec.rb
719
- - spec/unit/mutant/isolation/fork_spec.rb
720
- - spec/unit/mutant/isolation/none_spec.rb
721
- - spec/unit/mutant/isolation/result_spec.rb
722
- - spec/unit/mutant/license_spec.rb
723
- - spec/unit/mutant/loader_spec.rb
724
- - spec/unit/mutant/matcher/chain_spec.rb
725
- - spec/unit/mutant/matcher/compiler_spec.rb
726
- - spec/unit/mutant/matcher/config_spec.rb
727
- - spec/unit/mutant/matcher/filter_spec.rb
728
- - spec/unit/mutant/matcher/method/instance_spec.rb
729
- - spec/unit/mutant/matcher/method/metaclass_spec.rb
730
- - spec/unit/mutant/matcher/method/singleton_spec.rb
731
- - spec/unit/mutant/matcher/methods/instance_spec.rb
732
- - spec/unit/mutant/matcher/methods/metaclass_spec.rb
733
- - spec/unit/mutant/matcher/methods/singleton_spec.rb
734
- - spec/unit/mutant/matcher/namespace_spec.rb
735
- - spec/unit/mutant/matcher/null_spec.rb
736
- - spec/unit/mutant/matcher/scope_spec.rb
737
- - spec/unit/mutant/matcher/static_spec.rb
738
- - spec/unit/mutant/matcher_spec.rb
739
- - spec/unit/mutant/meta/example/dsl_spec.rb
740
- - spec/unit/mutant/meta/example/verification_spec.rb
741
- - spec/unit/mutant/meta/example_spec.rb
742
- - spec/unit/mutant/mutation_spec.rb
743
- - spec/unit/mutant/mutator/node_spec.rb
744
- - spec/unit/mutant/mutator_spec.rb
745
- - spec/unit/mutant/parallel/driver_spec.rb
746
- - spec/unit/mutant/parallel/source/array_spec.rb
747
- - spec/unit/mutant/parallel/worker_spec.rb
748
- - spec/unit/mutant/parallel_spec.rb
749
- - spec/unit/mutant/parser_spec.rb
750
- - spec/unit/mutant/range_spec.rb
751
- - spec/unit/mutant/registry_spec.rb
752
- - spec/unit/mutant/reporter/cli/printer/config_spec.rb
753
- - spec/unit/mutant/reporter/cli/printer/env_progress_spec.rb
754
- - spec/unit/mutant/reporter/cli/printer/env_result_spec.rb
755
- - spec/unit/mutant/reporter/cli/printer/isolation_result_spec.rb
756
- - spec/unit/mutant/reporter/cli/printer/mutation_progress_result_spec.rb
757
- - spec/unit/mutant/reporter/cli/printer/mutation_result_spec.rb
758
- - spec/unit/mutant/reporter/cli/printer/status_progressive_spec.rb
759
- - spec/unit/mutant/reporter/cli/printer/subject_progress_spec.rb
760
- - spec/unit/mutant/reporter/cli/printer/subject_result_spec.rb
761
- - spec/unit/mutant/reporter/cli/printer/test_result_spec.rb
762
- - spec/unit/mutant/reporter/cli/printer_spec.rb
763
- - spec/unit/mutant/reporter/cli_spec.rb
764
- - spec/unit/mutant/reporter/null_spec.rb
765
- - spec/unit/mutant/reporter/sequence_spec.rb
766
- - spec/unit/mutant/repository/diff/ranges_spec.rb
767
- - spec/unit/mutant/repository/diff_spec.rb
768
- - spec/unit/mutant/repository/subject_filter_spec.rb
769
- - spec/unit/mutant/require_highjack_spec.rb
770
- - spec/unit/mutant/result/class_methods_spec.rb
771
- - spec/unit/mutant/result/env_spec.rb
772
- - spec/unit/mutant/result/mutation_spec.rb
773
- - spec/unit/mutant/result/subject_spec.rb
774
- - spec/unit/mutant/result/test_spec.rb
775
- - spec/unit/mutant/result_spec.rb
776
- - spec/unit/mutant/runner/sink_spec.rb
777
- - spec/unit/mutant/runner_spec.rb
778
- - spec/unit/mutant/selector/expression_spec.rb
779
- - spec/unit/mutant/selector/null_spec.rb
780
- - spec/unit/mutant/subject/method/instance_spec.rb
781
- - spec/unit/mutant/subject/method/metaclass_spec.rb
782
- - spec/unit/mutant/subject/method/singleton_spec.rb
783
- - spec/unit/mutant/subject_spec.rb
784
- - spec/unit/mutant/transform/array_spec.rb
785
- - spec/unit/mutant/transform/bool_spec.rb
786
- - spec/unit/mutant/transform/error_spec.rb
787
- - spec/unit/mutant/transform/exception_spec.rb
788
- - spec/unit/mutant/transform/hash_spec.rb
789
- - spec/unit/mutant/transform/index_spec.rb
790
- - spec/unit/mutant/transform/named_spec.rb
791
- - spec/unit/mutant/transform/primitive_spec.rb
792
- - spec/unit/mutant/transform/sequence_spec.rb
793
- - spec/unit/mutant/util/one_spec.rb
794
- - spec/unit/mutant/warnings_spec.rb
795
- - spec/unit/mutant/world_spec.rb
796
- - spec/unit/mutant/zombifier_spec.rb
478
+ test_files: []