mutant 0.9.9 → 0.9.14

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 (252) hide show
  1. checksums.yaml +4 -4
  2. data/lib/mutant.rb +2 -4
  3. data/lib/mutant/bootstrap.rb +14 -1
  4. data/lib/mutant/cli.rb +6 -0
  5. data/lib/mutant/isolation.rb +1 -1
  6. data/lib/mutant/isolation/fork.rb +2 -2
  7. data/lib/mutant/isolation/none.rb +1 -1
  8. data/lib/mutant/matcher/config.rb +2 -0
  9. data/lib/mutant/meta/example.rb +16 -4
  10. data/lib/mutant/meta/example/dsl.rb +33 -16
  11. data/lib/mutant/meta/example/verification.rb +70 -28
  12. data/lib/mutant/minitest/coverage.rb +53 -0
  13. data/lib/mutant/mutator/node.rb +2 -2
  14. data/lib/mutant/mutator/node/block_pass.rb +29 -0
  15. data/lib/mutant/mutator/node/{dstr.rb → dynamic_literal.rb} +7 -5
  16. data/lib/mutant/mutator/node/index.rb +4 -4
  17. data/lib/mutant/mutator/node/literal/range.rb +4 -1
  18. data/lib/mutant/mutator/node/noop.rb +1 -1
  19. data/lib/mutant/mutator/node/op_asgn.rb +15 -1
  20. data/lib/mutant/mutator/node/send.rb +25 -1
  21. data/lib/mutant/mutator/node/send/attribute_assignment.rb +1 -0
  22. data/lib/mutant/reporter/cli/printer.rb +2 -2
  23. data/lib/mutant/reporter/cli/printer/isolation_result.rb +9 -3
  24. data/lib/mutant/reporter/cli/printer/mutation_result.rb +1 -1
  25. data/lib/mutant/subject/method/instance.rb +41 -2
  26. data/lib/mutant/version.rb +1 -1
  27. metadata +59 -347
  28. data/.github/workflows/ci.yml +0 -121
  29. data/.gitignore +0 -38
  30. data/.rspec +0 -5
  31. data/.rubocop.yml +0 -7
  32. data/Changelog.md +0 -81
  33. data/Gemfile +0 -7
  34. data/Gemfile.lock +0 -167
  35. data/Gemfile.shared +0 -10
  36. data/README.md +0 -178
  37. data/Rakefile +0 -5
  38. data/config/devtools.yml +0 -2
  39. data/config/reek.yml +0 -139
  40. data/config/rubocop.yml +0 -205
  41. data/config/yardstick.yml +0 -2
  42. data/docs/commercial-support.md +0 -14
  43. data/docs/concurrency.md +0 -39
  44. data/docs/incremental.md +0 -76
  45. data/docs/known-problems.md +0 -30
  46. data/docs/limitations.md +0 -50
  47. data/docs/mutant-minitest.md +0 -149
  48. data/docs/mutant-rspec.md +0 -130
  49. data/docs/nomenclature.md +0 -82
  50. data/docs/reading-reports.md +0 -74
  51. data/lib/mutant/color.rb +0 -40
  52. data/lib/mutant/diff.rb +0 -97
  53. data/lib/mutant/mutator/node/dsym.rb +0 -22
  54. data/meta/and.rb +0 -13
  55. data/meta/and_asgn.rb +0 -14
  56. data/meta/array.rb +0 -27
  57. data/meta/begin.rb +0 -20
  58. data/meta/block.rb +0 -199
  59. data/meta/block_pass.rb +0 -8
  60. data/meta/blockarg.rb +0 -10
  61. data/meta/break.rb +0 -9
  62. data/meta/case.rb +0 -217
  63. data/meta/casgn.rb +0 -25
  64. data/meta/cbase.rb +0 -8
  65. data/meta/class.rb +0 -12
  66. data/meta/const.rb +0 -17
  67. data/meta/csend.rb +0 -10
  68. data/meta/cvar.rb +0 -7
  69. data/meta/cvasgn.rb +0 -9
  70. data/meta/date.rb +0 -59
  71. data/meta/def.rb +0 -196
  72. data/meta/defined.rb +0 -9
  73. data/meta/dstr.rb +0 -13
  74. data/meta/dsym.rb +0 -14
  75. data/meta/ensure.rb +0 -8
  76. data/meta/false.rb +0 -7
  77. data/meta/file.rb +0 -5
  78. data/meta/float.rb +0 -37
  79. data/meta/gvar.rb +0 -7
  80. data/meta/gvasgn.rb +0 -9
  81. data/meta/hash.rb +0 -20
  82. data/meta/if.rb +0 -72
  83. data/meta/index.rb +0 -133
  84. data/meta/indexasgn.rb +0 -31
  85. data/meta/int.rb +0 -18
  86. data/meta/ivar.rb +0 -8
  87. data/meta/ivasgn.rb +0 -22
  88. data/meta/kwarg.rb +0 -10
  89. data/meta/kwbegin.rb +0 -8
  90. data/meta/kwoptarg.rb +0 -13
  91. data/meta/lambda.rb +0 -23
  92. data/meta/line.rb +0 -5
  93. data/meta/lvar.rb +0 -16
  94. data/meta/lvasgn.rb +0 -24
  95. data/meta/masgn.rb +0 -7
  96. data/meta/match_current_line.rb +0 -14
  97. data/meta/next.rb +0 -10
  98. data/meta/nil.rb +0 -5
  99. data/meta/nthref.rb +0 -14
  100. data/meta/op_assgn.rb +0 -17
  101. data/meta/or.rb +0 -13
  102. data/meta/or_asgn.rb +0 -50
  103. data/meta/range.rb +0 -39
  104. data/meta/redo.rb +0 -5
  105. data/meta/regexp.rb +0 -80
  106. data/meta/regopt.rb +0 -10
  107. data/meta/rescue.rb +0 -84
  108. data/meta/return.rb +0 -16
  109. data/meta/sclass.rb +0 -12
  110. data/meta/self.rb +0 -7
  111. data/meta/send.rb +0 -600
  112. data/meta/str.rb +0 -7
  113. data/meta/super.rb +0 -27
  114. data/meta/sym.rb +0 -8
  115. data/meta/true.rb +0 -7
  116. data/meta/until.rb +0 -16
  117. data/meta/while.rb +0 -24
  118. data/meta/yield.rb +0 -9
  119. data/mutant-minitest.gemspec +0 -22
  120. data/mutant-rspec.gemspec +0 -22
  121. data/mutant.gemspec +0 -41
  122. data/mutant.sh +0 -12
  123. data/mutant.yml +0 -6
  124. data/spec/integration/mutant/corpus_spec.rb +0 -15
  125. data/spec/integration/mutant/isolation/fork_spec.rb +0 -28
  126. data/spec/integration/mutant/minitest_spec.rb +0 -11
  127. data/spec/integration/mutant/null_spec.rb +0 -16
  128. data/spec/integration/mutant/rspec_spec.rb +0 -15
  129. data/spec/integration/mutant/test_mutator_handles_types_spec.rb +0 -9
  130. data/spec/integrations.yml +0 -63
  131. data/spec/shared/base_behavior.rb +0 -45
  132. data/spec/shared/framework_integration_behavior.rb +0 -70
  133. data/spec/shared/method_matcher_behavior.rb +0 -47
  134. data/spec/spec_helper.rb +0 -75
  135. data/spec/support/corpus.rb +0 -318
  136. data/spec/support/file_system.rb +0 -62
  137. data/spec/support/ice_nine_config.rb +0 -10
  138. data/spec/support/ruby_vm.rb +0 -84
  139. data/spec/support/shared_context.rb +0 -169
  140. data/spec/support/test_app.rb +0 -7
  141. data/spec/support/warnings.yml +0 -6
  142. data/spec/support/xspec.rb +0 -183
  143. data/spec/unit/mutant/ast/find_metaclass_containing_spec.rb +0 -64
  144. data/spec/unit/mutant/ast/meta/optarg_spec.rb +0 -24
  145. data/spec/unit/mutant/ast/meta/send/proc_predicate_spec.rb +0 -30
  146. data/spec/unit/mutant/ast/meta/send/receiver_possible_top_level_const_predicate_spec.rb +0 -39
  147. data/spec/unit/mutant/ast/meta/send_spec.rb +0 -42
  148. data/spec/unit/mutant/ast/named_children_spec.rb +0 -89
  149. data/spec/unit/mutant/ast/sexp_spec.rb +0 -38
  150. data/spec/unit/mutant/ast_spec.rb +0 -57
  151. data/spec/unit/mutant/bootstrap_spec.rb +0 -216
  152. data/spec/unit/mutant/cli_spec.rb +0 -305
  153. data/spec/unit/mutant/clock_monotonic_spec.rb +0 -52
  154. data/spec/unit/mutant/config_spec.rb +0 -126
  155. data/spec/unit/mutant/context_spec.rb +0 -111
  156. data/spec/unit/mutant/diff_spec.rb +0 -189
  157. data/spec/unit/mutant/env_spec.rb +0 -229
  158. data/spec/unit/mutant/expression/method_spec.rb +0 -62
  159. data/spec/unit/mutant/expression/methods_spec.rb +0 -66
  160. data/spec/unit/mutant/expression/namespace/exact_spec.rb +0 -28
  161. data/spec/unit/mutant/expression/namespace/recursive_spec.rb +0 -66
  162. data/spec/unit/mutant/expression/parser_spec.rb +0 -65
  163. data/spec/unit/mutant/expression_spec.rb +0 -45
  164. data/spec/unit/mutant/integration/rspec_spec.rb +0 -201
  165. data/spec/unit/mutant/integration_spec.rb +0 -150
  166. data/spec/unit/mutant/isolation/fork_spec.rb +0 -309
  167. data/spec/unit/mutant/isolation/none_spec.rb +0 -23
  168. data/spec/unit/mutant/isolation/result_spec.rb +0 -73
  169. data/spec/unit/mutant/license_spec.rb +0 -305
  170. data/spec/unit/mutant/loader_spec.rb +0 -79
  171. data/spec/unit/mutant/matcher/chain_spec.rb +0 -26
  172. data/spec/unit/mutant/matcher/compiler_spec.rb +0 -0
  173. data/spec/unit/mutant/matcher/config_spec.rb +0 -47
  174. data/spec/unit/mutant/matcher/filter_spec.rb +0 -22
  175. data/spec/unit/mutant/matcher/method/instance_spec.rb +0 -164
  176. data/spec/unit/mutant/matcher/method/metaclass_spec.rb +0 -108
  177. data/spec/unit/mutant/matcher/method/singleton_spec.rb +0 -90
  178. data/spec/unit/mutant/matcher/methods/instance_spec.rb +0 -54
  179. data/spec/unit/mutant/matcher/methods/metaclass_spec.rb +0 -62
  180. data/spec/unit/mutant/matcher/methods/singleton_spec.rb +0 -51
  181. data/spec/unit/mutant/matcher/namespace_spec.rb +0 -39
  182. data/spec/unit/mutant/matcher/null_spec.rb +0 -12
  183. data/spec/unit/mutant/matcher/scope_spec.rb +0 -45
  184. data/spec/unit/mutant/matcher/static_spec.rb +0 -13
  185. data/spec/unit/mutant/matcher_spec.rb +0 -102
  186. data/spec/unit/mutant/meta/example/dsl_spec.rb +0 -108
  187. data/spec/unit/mutant/meta/example/verification_spec.rb +0 -154
  188. data/spec/unit/mutant/meta/example_spec.rb +0 -34
  189. data/spec/unit/mutant/mutation_spec.rb +0 -140
  190. data/spec/unit/mutant/mutator/node_spec.rb +0 -47
  191. data/spec/unit/mutant/mutator_spec.rb +0 -21
  192. data/spec/unit/mutant/parallel/driver_spec.rb +0 -126
  193. data/spec/unit/mutant/parallel/source/array_spec.rb +0 -57
  194. data/spec/unit/mutant/parallel/worker_spec.rb +0 -206
  195. data/spec/unit/mutant/parallel_spec.rb +0 -115
  196. data/spec/unit/mutant/parser_spec.rb +0 -26
  197. data/spec/unit/mutant/range_spec.rb +0 -141
  198. data/spec/unit/mutant/registry_spec.rb +0 -74
  199. data/spec/unit/mutant/reporter/cli/printer/config_spec.rb +0 -17
  200. data/spec/unit/mutant/reporter/cli/printer/env_progress_spec.rb +0 -85
  201. data/spec/unit/mutant/reporter/cli/printer/env_result_spec.rb +0 -45
  202. data/spec/unit/mutant/reporter/cli/printer/isolation_result_spec.rb +0 -132
  203. data/spec/unit/mutant/reporter/cli/printer/mutation_progress_result_spec.rb +0 -25
  204. data/spec/unit/mutant/reporter/cli/printer/mutation_result_spec.rb +0 -153
  205. data/spec/unit/mutant/reporter/cli/printer/status_progressive_spec.rb +0 -45
  206. data/spec/unit/mutant/reporter/cli/printer/subject_progress_spec.rb +0 -36
  207. data/spec/unit/mutant/reporter/cli/printer/subject_result_spec.rb +0 -44
  208. data/spec/unit/mutant/reporter/cli/printer/test_result_spec.rb +0 -16
  209. data/spec/unit/mutant/reporter/cli/printer_spec.rb +0 -163
  210. data/spec/unit/mutant/reporter/cli_spec.rb +0 -137
  211. data/spec/unit/mutant/reporter/null_spec.rb +0 -14
  212. data/spec/unit/mutant/reporter/sequence_spec.rb +0 -31
  213. data/spec/unit/mutant/repository/diff/ranges_spec.rb +0 -180
  214. data/spec/unit/mutant/repository/diff_spec.rb +0 -122
  215. data/spec/unit/mutant/repository/subject_filter_spec.rb +0 -30
  216. data/spec/unit/mutant/require_highjack_spec.rb +0 -73
  217. data/spec/unit/mutant/result/class_methods_spec.rb +0 -51
  218. data/spec/unit/mutant/result/env_spec.rb +0 -161
  219. data/spec/unit/mutant/result/mutation_spec.rb +0 -70
  220. data/spec/unit/mutant/result/subject_spec.rb +0 -111
  221. data/spec/unit/mutant/result/test_spec.rb +0 -14
  222. data/spec/unit/mutant/result_spec.rb +0 -33
  223. data/spec/unit/mutant/runner/sink_spec.rb +0 -174
  224. data/spec/unit/mutant/runner_spec.rb +0 -121
  225. data/spec/unit/mutant/selector/expression_spec.rb +0 -62
  226. data/spec/unit/mutant/selector/null_spec.rb +0 -17
  227. data/spec/unit/mutant/subject/method/instance_spec.rb +0 -181
  228. data/spec/unit/mutant/subject/method/metaclass_spec.rb +0 -63
  229. data/spec/unit/mutant/subject/method/singleton_spec.rb +0 -61
  230. data/spec/unit/mutant/subject_spec.rb +0 -93
  231. data/spec/unit/mutant/transform/array_spec.rb +0 -92
  232. data/spec/unit/mutant/transform/bool_spec.rb +0 -63
  233. data/spec/unit/mutant/transform/error_spec.rb +0 -132
  234. data/spec/unit/mutant/transform/exception_spec.rb +0 -44
  235. data/spec/unit/mutant/transform/hash_spec.rb +0 -236
  236. data/spec/unit/mutant/transform/index_spec.rb +0 -92
  237. data/spec/unit/mutant/transform/named_spec.rb +0 -49
  238. data/spec/unit/mutant/transform/primitive_spec.rb +0 -56
  239. data/spec/unit/mutant/transform/sequence_spec.rb +0 -98
  240. data/spec/unit/mutant/util/one_spec.rb +0 -22
  241. data/spec/unit/mutant/warnings_spec.rb +0 -89
  242. data/spec/unit/mutant/world_spec.rb +0 -63
  243. data/spec/unit/mutant/zombifier_spec.rb +0 -122
  244. data/test_app/.rspec +0 -1
  245. data/test_app/Gemfile.minitest +0 -4
  246. data/test_app/Gemfile.rspec3.8 +0 -7
  247. data/test_app/lib/test_app.rb +0 -110
  248. data/test_app/lib/test_app/literal.rb +0 -35
  249. data/test_app/lib/test_app/metaclasses.rb +0 -108
  250. data/test_app/spec/spec_helper.rb +0 -9
  251. data/test_app/spec/unit/test_app/literal_spec.rb +0 -20
  252. data/test_app/test/unit/test_app/literal_test.rb +0 -16
@@ -1,8 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- Mutant::Meta::Example.add :kwbegin do
4
- source 'begin; true; end'
5
-
6
- singleton_mutations
7
- mutation 'begin; false; end'
8
- end
@@ -1,13 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- Mutant::Meta::Example.add :kwarg do
4
- source 'def foo(bar: baz); end'
5
-
6
- mutation 'def foo; end'
7
- mutation 'def foo(bar: baz); raise; end'
8
- mutation 'def foo(bar: baz); super; end'
9
- mutation 'def foo(bar: nil); end'
10
- mutation 'def foo(bar: self); end'
11
- mutation 'def foo(bar:); end'
12
- mutation 'def foo(_bar: baz); end'
13
- end
@@ -1,23 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- Mutant::Meta::Example.add :block, :lambda do
4
- source '->() {}'
5
-
6
- singleton_mutations
7
-
8
- mutation '->() { raise }'
9
- end
10
-
11
- Mutant::Meta::Example.add :block, :lambda do
12
- source '->() { foo.bar }'
13
-
14
- singleton_mutations
15
-
16
- mutation '->() { }'
17
- mutation '->() { self }'
18
- mutation '->() { nil }'
19
- mutation '->() { raise }'
20
- mutation '->() { self.bar }'
21
- mutation '->() { foo }'
22
- mutation 'foo.bar'
23
- end
@@ -1,5 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- Mutant::Meta::Example.add do
4
- source '__LINE__'
5
- end
@@ -1,16 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- Mutant::Meta::Example.add :lvar do
4
- source 'a = nil; a'
5
-
6
- mutation 'a = nil; nil'
7
- mutation 'a = nil; self'
8
- mutation 'a = nil'
9
- # TODO: fix invalid AST
10
- # These ASTs are not valid and should NOT be emitted
11
- # Mutations of lvarasgn need to be special cased to avoid this.
12
- mutation s(:begin, s(:lvasgn, :a__mutant__, s(:nil)), s(:lvar, :a))
13
- mutation s(:begin, s(:nil), s(:lvar, :a))
14
- mutation s(:begin, s(:self), s(:lvar, :a))
15
- mutation s(:lvar, :a)
16
- end
@@ -1,24 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- Mutant::Meta::Example.add :lvasgn do
4
- source 'a = true'
5
-
6
- singleton_mutations
7
- mutation 'a__mutant__ = true'
8
- mutation 'a = false'
9
- end
10
-
11
- Mutant::Meta::Example.add :array, :lvasgn do
12
- source 'a = *b'
13
-
14
- singleton_mutations
15
- mutation 'a__mutant__ = *b'
16
- mutation 'a = nil'
17
- mutation 'a = self'
18
- mutation 'a = []'
19
- mutation 'a = [nil]'
20
- mutation 'a = [self]'
21
- mutation 'a = [*self]'
22
- mutation 'a = [*nil]'
23
- mutation 'a = [b]'
24
- end
@@ -1,7 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- Mutant::Meta::Example.add :masgn do
4
- source 'a, b = c, d'
5
-
6
- singleton_mutations
7
- end
@@ -1,14 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- Mutant::Meta::Example.add :match_current_line do
4
- source 'true if /foo/'
5
-
6
- singleton_mutations
7
- mutation 'false if /foo/'
8
- mutation 'true if //'
9
- mutation 'true if true'
10
- mutation 'true if false'
11
- mutation 'true if nil'
12
- mutation 'true if /nomatch\A/'
13
- mutation 'true'
14
- end
@@ -1,10 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- Mutant::Meta::Example.add :next do
4
- source 'next true'
5
-
6
- singleton_mutations
7
- mutation 'next false'
8
- mutation 'next'
9
- mutation 'break true'
10
- end
@@ -1,5 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- Mutant::Meta::Example.add :nil do
4
- source 'nil'
5
- end
@@ -1,14 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- Mutant::Meta::Example.add :nth_ref do
4
- source '$1'
5
-
6
- mutation '$2'
7
- end
8
-
9
- Mutant::Meta::Example.add :nth_ref do
10
- source '$3'
11
-
12
- mutation '$2'
13
- mutation '$4'
14
- end
@@ -1,17 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- Mutant::Meta::Example.add :op_asgn do
4
- source '@a.b += 1'
5
-
6
- singleton_mutations
7
- mutation 'a.b += 1'
8
- mutation '@a.b += -1'
9
- mutation '@a.b += 2'
10
- mutation '@a.b += 0'
11
- mutation '@a.b += nil'
12
- mutation '@a.b += self'
13
- mutation 'self.b += 1'
14
- # TODO: fix invalid AST
15
- # This should not get emitted as invalid AST with valid unparsed source
16
- mutation s(:op_asgn, s(:ivar, :@a), :+, s(:int, 1))
17
- end
data/meta/or.rb DELETED
@@ -1,13 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- Mutant::Meta::Example.add :or do
4
- source 'true or false'
5
-
6
- singleton_mutations
7
- mutation 'true'
8
- mutation 'false'
9
- mutation 'false or false'
10
- mutation 'true or true'
11
- mutation 'true and false'
12
- mutation '!true or false'
13
- end
@@ -1,50 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- Mutant::Meta::Example.add :or_asgn do
4
- source 'a ||= 1'
5
-
6
- singleton_mutations
7
- mutation 'a__mutant__ ||= 1'
8
- mutation 'a ||= nil'
9
- mutation 'a ||= self'
10
- mutation 'a ||= 0'
11
- mutation 'a ||= -1'
12
- mutation 'a ||= 2'
13
- end
14
-
15
- Mutant::Meta::Example.add :or_asgn do
16
- source '@a ||= 1'
17
-
18
- singleton_mutations
19
- mutation '@a ||= nil'
20
- mutation '@a ||= self'
21
- mutation '@a ||= 0'
22
- mutation '@a ||= -1'
23
- mutation '@a ||= 2'
24
- end
25
-
26
- Mutant::Meta::Example.add :or_asgn do
27
- source 'Foo ||= nil'
28
-
29
- singleton_mutations
30
- end
31
-
32
- Mutant::Meta::Example.add :or_asgn do
33
- source '@a ||= self.bar'
34
-
35
- singleton_mutations
36
- mutation '@a ||= nil'
37
- mutation '@a ||= self'
38
- mutation '@a ||= bar'
39
- end
40
-
41
- Mutant::Meta::Example.add :or_asgn do
42
- source 'foo[:bar] ||= 1'
43
-
44
- singleton_mutations
45
- mutation 'foo[:bar] ||= nil'
46
- mutation 'foo[:bar] ||= self'
47
- mutation 'foo[:bar] ||= 0'
48
- mutation 'foo[:bar] ||= -1'
49
- mutation 'foo[:bar] ||= 2'
50
- end
@@ -1,39 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- Mutant::Meta::Example.add :irange do
4
- source '1..100'
5
-
6
- singleton_mutations
7
- mutation '1...100'
8
- mutation '-1..100'
9
- mutation '0..100'
10
- mutation '2..100'
11
- mutation 'nil..100'
12
- mutation 'self..100'
13
- mutation '1..nil'
14
- mutation '1..self'
15
- mutation '1..0'
16
- mutation '1..1'
17
- mutation '1..99'
18
- mutation '1..101'
19
- mutation '1..-100'
20
- end
21
-
22
- Mutant::Meta::Example.add :erange do
23
- source '1...100'
24
-
25
- singleton_mutations
26
- mutation '1..100'
27
- mutation '-1...100'
28
- mutation '0...100'
29
- mutation '2...100'
30
- mutation 'nil...100'
31
- mutation 'self...100'
32
- mutation '1...nil'
33
- mutation '1...self'
34
- mutation '1...0'
35
- mutation '1...1'
36
- mutation '1...99'
37
- mutation '1...101'
38
- mutation '1...-100'
39
- end
@@ -1,5 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- Mutant::Meta::Example.add :redo do
4
- source 'redo'
5
- end
@@ -1,80 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- Mutant::Meta::Example.add :regexp do
4
- source '/foo/'
5
-
6
- singleton_mutations
7
-
8
- mutation '//'
9
- mutation '/nomatch\A/'
10
- end
11
-
12
- Mutant::Meta::Example.add :regexp do
13
- source '/#{foo.bar}n/'
14
-
15
- singleton_mutations
16
-
17
- mutation '/#{foo}n/'
18
- mutation '/#{nil}n/'
19
- mutation '/#{self.bar}n/'
20
- mutation '/#{self}n/'
21
- mutation '//'
22
- mutation '/nomatch\A/'
23
- end
24
-
25
- Mutant::Meta::Example.add :regexp do
26
- source '/#{foo}/'
27
-
28
- singleton_mutations
29
-
30
- mutation '/#{self}/'
31
- mutation '/#{nil}/'
32
- mutation '//'
33
- mutation '/nomatch\A/'
34
- end
35
-
36
- Mutant::Meta::Example.add :regexp do
37
- source '/#{foo}#{nil}/'
38
-
39
- singleton_mutations
40
-
41
- mutation '/#{nil}#{nil}/'
42
- mutation '/#{self}#{nil}/'
43
- mutation '//'
44
- mutation '/nomatch\A/'
45
- end
46
-
47
- Mutant::Meta::Example.add :regexp do
48
- source '//'
49
-
50
- singleton_mutations
51
-
52
- # match no input
53
- mutation '/nomatch\A/'
54
- end
55
-
56
- Mutant::Meta::Example.add :regexp do
57
- source 'true if /foo/'
58
-
59
- singleton_mutations
60
- mutation 'false if /foo/'
61
- mutation 'true if true'
62
- mutation 'true if false'
63
- mutation 'true if nil'
64
- mutation 'true'
65
-
66
- # match all inputs
67
- mutation 'true if //'
68
-
69
- # match no input
70
- mutation 'true if /nomatch\A/'
71
- end
72
-
73
- # Case where MRI would accept an expression but regexp_parser not.
74
- Mutant::Meta::Example.add :regexp do
75
- source '/u{/'
76
-
77
- singleton_mutations
78
- mutation '//'
79
- mutation '/nomatch\A/'
80
- end
@@ -1,10 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- Mutant::Meta::Example.add :regopt do
4
- source '/foo/ixom'
5
-
6
- singleton_mutations
7
- mutation '//ixom'
8
- mutation '/nomatch\\A/ixom'
9
- mutation '/foo/xom'
10
- end
@@ -1,84 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- Mutant::Meta::Example.add :rescue do
4
- source 'begin; rescue ExceptionA, ExceptionB => error; true; end'
5
-
6
- singleton_mutations
7
- mutation 'begin; rescue ExceptionA, ExceptionB; true; end'
8
- mutation 'begin; rescue self, ExceptionB => error; true; end'
9
- mutation 'begin; rescue ExceptionA, self => error; true; end'
10
- mutation 'begin; rescue ExceptionA, ExceptionB => error; false; end'
11
- mutation 'begin; true; end'
12
-
13
- end
14
-
15
- Mutant::Meta::Example.add :rescue do
16
- source 'begin; rescue SomeException => error; true; end'
17
-
18
- singleton_mutations
19
- mutation 'begin; rescue SomeException; true; end'
20
- mutation 'begin; rescue SomeException => error; false; end'
21
- mutation 'begin; rescue self => error; true; end'
22
- mutation 'begin; true; end'
23
- end
24
-
25
- Mutant::Meta::Example.add :rescue do
26
- source 'begin; rescue => error; true end'
27
-
28
- singleton_mutations
29
- mutation 'begin; rescue => error; false; end'
30
- mutation 'begin; rescue; true; end'
31
- mutation 'begin; true; end'
32
- end
33
-
34
- Mutant::Meta::Example.add :rescue do
35
- source 'begin; rescue; true end'
36
-
37
- singleton_mutations
38
- mutation 'begin; rescue; false; end'
39
- mutation 'begin; true end'
40
- end
41
-
42
- Mutant::Meta::Example.add :rescue do
43
- source 'begin; true; end'
44
-
45
- singleton_mutations
46
- mutation 'begin; false; end'
47
- end
48
-
49
- Mutant::Meta::Example.add :rescue do
50
- source 'def a; foo; rescue; bar; else; baz; end'
51
-
52
- # Mutate all bodies
53
- mutation 'def a; nil; rescue; bar; else; baz; end'
54
- mutation 'def a; self; rescue; bar; else; baz; end'
55
- mutation 'def a; foo; rescue; nil; else; baz; end'
56
- mutation 'def a; foo; rescue; self; else; baz; end'
57
- mutation 'def a; foo; rescue; bar; else; nil; end'
58
- mutation 'def a; foo; rescue; bar; else; self; end'
59
-
60
- # Promote and concat rescue resbody bodies
61
- mutation 'def a; foo; bar; end'
62
-
63
- # Promote and concat else body
64
- mutation 'def a; foo; baz; end'
65
-
66
- # Promote rescue body
67
- mutation 'def a; foo; end'
68
-
69
- # Empty body
70
- mutation 'def a; end'
71
-
72
- # Failing body
73
- mutation 'def a; raise; end'
74
-
75
- # Superclass implementation
76
- mutation 'def a; super; end'
77
- end
78
-
79
- Mutant::Meta::Example.add :rescue do
80
- source 'begin; rescue; ensure; true; end'
81
-
82
- singleton_mutations
83
- mutation 'begin; rescue; ensure; false; end'
84
- end