evilution 1.3.0 → 1.4.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.
- checksums.yaml +4 -4
- data/.beads/interactions.jsonl +62 -0
- data/.rubocop_todo.yml +5 -0
- data/CHANGELOG.md +77 -0
- data/README.md +80 -24
- data/docs/architecture.md +89 -9
- data/docs/ast_pattern_syntax.md +50 -5
- data/docs/isolation.md +39 -2
- data/docs/migration-from-mutant.md +1 -1
- data/lib/evilution/ast/aasm_declaration.rb +133 -0
- data/lib/evilution/ast/callback_declaration.rb +91 -0
- data/lib/evilution/ast/included_block.rb +27 -0
- data/lib/evilution/ast/literal_callable.rb +21 -0
- data/lib/evilution/ast/parser.rb +119 -16
- data/lib/evilution/ast/pattern/method_name.rb +63 -0
- data/lib/evilution/ast/pattern/parser.rb +14 -15
- data/lib/evilution/ast/regexp_pattern.rb +104 -0
- data/lib/evilution/ast/scope_declaration.rb +45 -0
- data/lib/evilution/ast/uncovered_code.rb +88 -0
- data/lib/evilution/ast/value_object_definition.rb +25 -0
- data/lib/evilution/baseline/failure_formatter.rb +27 -0
- data/lib/evilution/baseline/report.rb +66 -0
- data/lib/evilution/baseline/spec_failure.rb +38 -0
- data/lib/evilution/baseline.rb +67 -30
- data/lib/evilution/cli/parser/file_args.rb +2 -1
- data/lib/evilution/cli/parser/options_builder.rb +1 -1
- data/lib/evilution/cli.rb +3 -2
- data/lib/evilution/config/validators/spec_mappings.rb +2 -1
- data/lib/evilution/config.rb +3 -2
- data/lib/evilution/equivalent/detector.rb +3 -1
- data/lib/evilution/equivalent/heuristic/guarded_index_fetch/condition.rb +66 -0
- data/lib/evilution/equivalent/heuristic/guarded_index_fetch/disturbance.rb +54 -0
- data/lib/evilution/equivalent/heuristic/guarded_index_fetch/early_exit.rb +73 -0
- data/lib/evilution/equivalent/heuristic/guarded_index_fetch/guard.rb +36 -0
- data/lib/evilution/equivalent/heuristic/guarded_index_fetch/index_read.rb +82 -0
- data/lib/evilution/equivalent/heuristic/guarded_index_fetch/node_path.rb +43 -0
- data/lib/evilution/equivalent/heuristic/guarded_index_fetch.rb +65 -0
- data/lib/evilution/example_filter.rb +45 -0
- data/lib/evilution/hooks/registry.rb +2 -1
- data/lib/evilution/integration/base.rb +2 -0
- data/lib/evilution/integration/known_failures.rb +26 -0
- data/lib/evilution/integration/loading/body_call_neutralizer.rb +132 -13
- data/lib/evilution/integration/loading/callback_redeclaration.rb +186 -0
- data/lib/evilution/integration/loading/concern_redeclaration.rb +61 -0
- data/lib/evilution/integration/loading/concern_state_cleaner.rb +19 -12
- data/lib/evilution/integration/loading/mutation_applier.rb +16 -0
- data/lib/evilution/integration/loading/test_class_cache.rb +46 -0
- data/lib/evilution/integration/minitest/test_ids.rb +21 -0
- data/lib/evilution/integration/minitest.rb +45 -6
- data/lib/evilution/integration/rspec/baseline_runner.rb +47 -3
- data/lib/evilution/integration/rspec/example_ids.rb +35 -0
- data/lib/evilution/integration/rspec/result_builder.rb +6 -1
- data/lib/evilution/integration/rspec/state_guard/anonymous_example_group_examples.rb +36 -0
- data/lib/evilution/integration/rspec/state_guard.rb +4 -1
- data/lib/evilution/integration/rspec.rb +22 -4
- data/lib/evilution/integration/test_unit/result_builder.rb +6 -0
- data/lib/evilution/integration/test_unit/test_ids.rb +18 -0
- data/lib/evilution/integration/test_unit.rb +37 -9
- data/lib/evilution/isolation/fork.rb +2 -1
- data/lib/evilution/isolation/in_process.rb +21 -4
- data/lib/evilution/mcp/info_tool/status_glossary.rb +2 -2
- data/lib/evilution/mcp/mutate_tool/progress_streamer.rb +2 -1
- data/lib/evilution/memory/leak_check.rb +27 -3
- data/lib/evilution/mutation.rb +7 -2
- data/lib/evilution/mutator/base.rb +49 -5
- data/lib/evilution/mutator/operator/alias_removal.rb +126 -0
- data/lib/evilution/mutator/operator/argument_order_permutation.rb +101 -0
- data/lib/evilution/mutator/operator/argument_removal.rb +9 -1
- data/lib/evilution/mutator/operator/comparison_operand_swap.rb +54 -0
- data/lib/evilution/mutator/operator/data_struct_member.rb +82 -0
- data/lib/evilution/mutator/operator/exception_swallow.rb +84 -0
- data/lib/evilution/mutator/operator/format_specifier_swap.rb +100 -0
- data/lib/evilution/mutator/operator/forwarded_argument_drop.rb +142 -0
- data/lib/evilution/mutator/operator/integer_division_to_fdiv.rb +62 -0
- data/lib/evilution/mutator/operator/keyword_argument.rb +25 -2
- data/lib/evilution/mutator/operator/keyword_value_swap.rb +75 -0
- data/lib/evilution/mutator/operator/no_matching_pattern_else.rb +47 -0
- data/lib/evilution/mutator/operator/numbered_parameter_swap.rb +78 -0
- data/lib/evilution/mutator/operator/off_by_one_boundary.rb +68 -0
- data/lib/evilution/mutator/operator/optional_parameter_to_required.rb +14 -3
- data/lib/evilution/mutator/operator/pattern_matching_array.rb +12 -1
- data/lib/evilution/mutator/operator/pattern_wildcard_widening.rb +117 -0
- data/lib/evilution/mutator/operator/pin_operator_removal.rb +48 -0
- data/lib/evilution/mutator/operator/regex_simplification.rb +53 -132
- data/lib/evilution/mutator/operator/regexp_alternation_branch_deletion.rb +54 -0
- data/lib/evilution/mutator/operator/regexp_anchor_promotion.rb +43 -0
- data/lib/evilution/mutator/operator/regexp_capture_to_passive.rb +61 -0
- data/lib/evilution/mutator/operator/regexp_character_type_complement.rb +54 -0
- data/lib/evilution/mutator/operator/regexp_named_group_rename.rb +106 -0
- data/lib/evilution/mutator/operator/regexp_option_removal.rb +51 -0
- data/lib/evilution/mutator/operator/regexp_quantifier_minimum_swap.rb +45 -0
- data/lib/evilution/mutator/operator/rescue_else_concatenation.rb +62 -0
- data/lib/evilution/mutator/operator/rescue_handler_concatenation.rb +69 -0
- data/lib/evilution/mutator/operator/rescue_handler_promotion.rb +65 -0
- data/lib/evilution/mutator/operator/return_keyword_removal.rb +79 -0
- data/lib/evilution/mutator/operator/rightward_assignment.rb +46 -0
- data/lib/evilution/mutator/operator/send_mutation.rb +2 -0
- data/lib/evilution/mutator/operator/splat_operator.rb +38 -13
- data/lib/evilution/mutator/operator/statement_reorder.rb +153 -0
- data/lib/evilution/mutator/registry.rb +31 -2
- data/lib/evilution/mutator/rescue_handlers.rb +81 -0
- data/lib/evilution/process_supervisor.rb +3 -2
- data/lib/evilution/reporter/cli/line_formatters/baseline_neutralized_notice.rb +55 -0
- data/lib/evilution/reporter/cli/metrics_block.rb +2 -0
- data/lib/evilution/reporter/json/baseline.rb +15 -0
- data/lib/evilution/reporter/json.rb +7 -2
- data/lib/evilution/result/baseline_neutralization.rb +10 -0
- data/lib/evilution/result/mutation_result.rb +9 -1
- data/lib/evilution/result/summary.rb +42 -2
- data/lib/evilution/runner/baseline_runner.rb +9 -4
- data/lib/evilution/runner/canary.rb +2 -57
- data/lib/evilution/runner/canary_failure_message.rb +101 -0
- data/lib/evilution/runner/mutation_executor/neutralizer/baseline_failed.rb +22 -8
- data/lib/evilution/runner/mutation_executor/result_cache.rb +3 -0
- data/lib/evilution/runner/mutation_executor/result_packer.rb +4 -2
- data/lib/evilution/runner/mutation_executor.rb +1 -1
- data/lib/evilution/runner/mutation_planner.rb +11 -2
- data/lib/evilution/runner/report_publisher.rb +3 -2
- data/lib/evilution/runner/subject_pipeline.rb +46 -1
- data/lib/evilution/runner.rb +4 -1
- data/lib/evilution/subject.rb +8 -2
- data/lib/evilution/version.rb +1 -1
- data/lib/evilution.rb +28 -0
- data/script/memory_check +62 -16
- metadata +83 -4
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: evilution
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.
|
|
4
|
+
version: 1.4.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Denis Kiselev
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-
|
|
11
|
+
date: 2026-10-08 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: diff-lcs
|
|
@@ -19,7 +19,7 @@ dependencies:
|
|
|
19
19
|
version: '1.5'
|
|
20
20
|
- - "<"
|
|
21
21
|
- !ruby/object:Gem::Version
|
|
22
|
-
version: '
|
|
22
|
+
version: '2'
|
|
23
23
|
type: :runtime
|
|
24
24
|
prerelease: false
|
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -29,7 +29,7 @@ dependencies:
|
|
|
29
29
|
version: '1.5'
|
|
30
30
|
- - "<"
|
|
31
31
|
- !ruby/object:Gem::Version
|
|
32
|
-
version: '
|
|
32
|
+
version: '2'
|
|
33
33
|
- !ruby/object:Gem::Dependency
|
|
34
34
|
name: mcp
|
|
35
35
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -70,6 +70,26 @@ dependencies:
|
|
|
70
70
|
- - "<"
|
|
71
71
|
- !ruby/object:Gem::Version
|
|
72
72
|
version: '2'
|
|
73
|
+
- !ruby/object:Gem::Dependency
|
|
74
|
+
name: regexp_parser
|
|
75
|
+
requirement: !ruby/object:Gem::Requirement
|
|
76
|
+
requirements:
|
|
77
|
+
- - ">="
|
|
78
|
+
- !ruby/object:Gem::Version
|
|
79
|
+
version: '2.9'
|
|
80
|
+
- - "<"
|
|
81
|
+
- !ruby/object:Gem::Version
|
|
82
|
+
version: '3'
|
|
83
|
+
type: :runtime
|
|
84
|
+
prerelease: false
|
|
85
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
86
|
+
requirements:
|
|
87
|
+
- - ">="
|
|
88
|
+
- !ruby/object:Gem::Version
|
|
89
|
+
version: '2.9'
|
|
90
|
+
- - "<"
|
|
91
|
+
- !ruby/object:Gem::Version
|
|
92
|
+
version: '3'
|
|
73
93
|
description: Evilution is a mutation testing tool for Ruby. It validates test suite
|
|
74
94
|
quality by making small code changes and checking if tests catch them. AI-agent-first
|
|
75
95
|
design with JSON output, diff-based targeting, and coverage-based filtering.
|
|
@@ -120,18 +140,30 @@ files:
|
|
|
120
140
|
- exe/evilution
|
|
121
141
|
- lib/evilution.rb
|
|
122
142
|
- lib/evilution/ast.rb
|
|
143
|
+
- lib/evilution/ast/aasm_declaration.rb
|
|
144
|
+
- lib/evilution/ast/callback_declaration.rb
|
|
123
145
|
- lib/evilution/ast/constant_names.rb
|
|
124
146
|
- lib/evilution/ast/heredoc_span.rb
|
|
147
|
+
- lib/evilution/ast/included_block.rb
|
|
125
148
|
- lib/evilution/ast/inheritance_scanner.rb
|
|
149
|
+
- lib/evilution/ast/literal_callable.rb
|
|
126
150
|
- lib/evilution/ast/local_reads.rb
|
|
127
151
|
- lib/evilution/ast/parser.rb
|
|
128
152
|
- lib/evilution/ast/pattern.rb
|
|
129
153
|
- lib/evilution/ast/pattern/filter.rb
|
|
130
154
|
- lib/evilution/ast/pattern/matcher.rb
|
|
155
|
+
- lib/evilution/ast/pattern/method_name.rb
|
|
131
156
|
- lib/evilution/ast/pattern/parser.rb
|
|
157
|
+
- lib/evilution/ast/regexp_pattern.rb
|
|
158
|
+
- lib/evilution/ast/scope_declaration.rb
|
|
132
159
|
- lib/evilution/ast/sorbet_sig_detector.rb
|
|
133
160
|
- lib/evilution/ast/source_surgeon.rb
|
|
161
|
+
- lib/evilution/ast/uncovered_code.rb
|
|
162
|
+
- lib/evilution/ast/value_object_definition.rb
|
|
134
163
|
- lib/evilution/baseline.rb
|
|
164
|
+
- lib/evilution/baseline/failure_formatter.rb
|
|
165
|
+
- lib/evilution/baseline/report.rb
|
|
166
|
+
- lib/evilution/baseline/spec_failure.rb
|
|
135
167
|
- lib/evilution/cache.rb
|
|
136
168
|
- lib/evilution/child_output.rb
|
|
137
169
|
- lib/evilution/cli.rb
|
|
@@ -218,6 +250,13 @@ files:
|
|
|
218
250
|
- lib/evilution/equivalent/heuristic/arithmetic_identity.rb
|
|
219
251
|
- lib/evilution/equivalent/heuristic/comment_marking.rb
|
|
220
252
|
- lib/evilution/equivalent/heuristic/dead_code.rb
|
|
253
|
+
- lib/evilution/equivalent/heuristic/guarded_index_fetch.rb
|
|
254
|
+
- lib/evilution/equivalent/heuristic/guarded_index_fetch/condition.rb
|
|
255
|
+
- lib/evilution/equivalent/heuristic/guarded_index_fetch/disturbance.rb
|
|
256
|
+
- lib/evilution/equivalent/heuristic/guarded_index_fetch/early_exit.rb
|
|
257
|
+
- lib/evilution/equivalent/heuristic/guarded_index_fetch/guard.rb
|
|
258
|
+
- lib/evilution/equivalent/heuristic/guarded_index_fetch/index_read.rb
|
|
259
|
+
- lib/evilution/equivalent/heuristic/guarded_index_fetch/node_path.rb
|
|
221
260
|
- lib/evilution/equivalent/heuristic/method_body_nil.rb
|
|
222
261
|
- lib/evilution/equivalent/heuristic/noop_source.rb
|
|
223
262
|
- lib/evilution/equivalent/heuristic/void_context.rb
|
|
@@ -235,8 +274,11 @@ files:
|
|
|
235
274
|
- lib/evilution/integration.rb
|
|
236
275
|
- lib/evilution/integration/base.rb
|
|
237
276
|
- lib/evilution/integration/crash_detector.rb
|
|
277
|
+
- lib/evilution/integration/known_failures.rb
|
|
238
278
|
- lib/evilution/integration/loading.rb
|
|
239
279
|
- lib/evilution/integration/loading/body_call_neutralizer.rb
|
|
280
|
+
- lib/evilution/integration/loading/callback_redeclaration.rb
|
|
281
|
+
- lib/evilution/integration/loading/concern_redeclaration.rb
|
|
240
282
|
- lib/evilution/integration/loading/concern_state_cleaner.rb
|
|
241
283
|
- lib/evilution/integration/loading/constant_pinner.rb
|
|
242
284
|
- lib/evilution/integration/loading/mutation_applier.rb
|
|
@@ -244,16 +286,20 @@ files:
|
|
|
244
286
|
- lib/evilution/integration/loading/reeval_warning_filter.rb
|
|
245
287
|
- lib/evilution/integration/loading/source_evaluator.rb
|
|
246
288
|
- lib/evilution/integration/loading/syntax_validator.rb
|
|
289
|
+
- lib/evilution/integration/loading/test_class_cache.rb
|
|
247
290
|
- lib/evilution/integration/loading/test_load_path.rb
|
|
248
291
|
- lib/evilution/integration/minitest.rb
|
|
292
|
+
- lib/evilution/integration/minitest/test_ids.rb
|
|
249
293
|
- lib/evilution/integration/minitest_crash_detector.rb
|
|
250
294
|
- lib/evilution/integration/rspec.rb
|
|
251
295
|
- lib/evilution/integration/rspec/baseline_runner.rb
|
|
252
296
|
- lib/evilution/integration/rspec/crash_detector_lifecycle.rb
|
|
253
297
|
- lib/evilution/integration/rspec/example_filter_applier.rb
|
|
298
|
+
- lib/evilution/integration/rspec/example_ids.rb
|
|
254
299
|
- lib/evilution/integration/rspec/framework_loader.rb
|
|
255
300
|
- lib/evilution/integration/rspec/result_builder.rb
|
|
256
301
|
- lib/evilution/integration/rspec/state_guard.rb
|
|
302
|
+
- lib/evilution/integration/rspec/state_guard/anonymous_example_group_examples.rb
|
|
257
303
|
- lib/evilution/integration/rspec/state_guard/configuration_state.rb
|
|
258
304
|
- lib/evilution/integration/rspec/state_guard/configuration_streams.rb
|
|
259
305
|
- lib/evilution/integration/rspec/state_guard/example_groups_constants.rb
|
|
@@ -271,6 +317,7 @@ files:
|
|
|
271
317
|
- lib/evilution/integration/test_unit/result_builder.rb
|
|
272
318
|
- lib/evilution/integration/test_unit/subject_class_registry.rb
|
|
273
319
|
- lib/evilution/integration/test_unit/test_file_resolver.rb
|
|
320
|
+
- lib/evilution/integration/test_unit/test_ids.rb
|
|
274
321
|
- lib/evilution/integration/test_unit_crash_detector.rb
|
|
275
322
|
- lib/evilution/isolation.rb
|
|
276
323
|
- lib/evilution/isolation/fork.rb
|
|
@@ -307,9 +354,11 @@ files:
|
|
|
307
354
|
- lib/evilution/mutator.rb
|
|
308
355
|
- lib/evilution/mutator/base.rb
|
|
309
356
|
- lib/evilution/mutator/operator.rb
|
|
357
|
+
- lib/evilution/mutator/operator/alias_removal.rb
|
|
310
358
|
- lib/evilution/mutator/operator/argument_list_removal.rb
|
|
311
359
|
- lib/evilution/mutator/operator/argument_method_call_replacement.rb
|
|
312
360
|
- lib/evilution/mutator/operator/argument_nil_substitution.rb
|
|
361
|
+
- lib/evilution/mutator/operator/argument_order_permutation.rb
|
|
313
362
|
- lib/evilution/mutator/operator/argument_propagation.rb
|
|
314
363
|
- lib/evilution/mutator/operator/argument_removal.rb
|
|
315
364
|
- lib/evilution/mutator/operator/arithmetic_replacement.rb
|
|
@@ -341,20 +390,25 @@ files:
|
|
|
341
390
|
- lib/evilution/mutator/operator/coercion_emptying.rb
|
|
342
391
|
- lib/evilution/mutator/operator/collection_replacement.rb
|
|
343
392
|
- lib/evilution/mutator/operator/collection_return.rb
|
|
393
|
+
- lib/evilution/mutator/operator/comparison_operand_swap.rb
|
|
344
394
|
- lib/evilution/mutator/operator/comparison_replacement.rb
|
|
345
395
|
- lib/evilution/mutator/operator/compound_assignment.rb
|
|
346
396
|
- lib/evilution/mutator/operator/conditional_branch.rb
|
|
347
397
|
- lib/evilution/mutator/operator/conditional_flip.rb
|
|
348
398
|
- lib/evilution/mutator/operator/conditional_negation.rb
|
|
349
399
|
- lib/evilution/mutator/operator/const_get_to_constant_path.rb
|
|
400
|
+
- lib/evilution/mutator/operator/data_struct_member.rb
|
|
350
401
|
- lib/evilution/mutator/operator/defined_check.rb
|
|
351
402
|
- lib/evilution/mutator/operator/dig_to_fetch_chain.rb
|
|
352
403
|
- lib/evilution/mutator/operator/double_negation_removal.rb
|
|
353
404
|
- lib/evilution/mutator/operator/dynamic_dispatch_resolution.rb
|
|
354
405
|
- lib/evilution/mutator/operator/ensure_removal.rb
|
|
355
406
|
- lib/evilution/mutator/operator/equality_to_identity.rb
|
|
407
|
+
- lib/evilution/mutator/operator/exception_swallow.rb
|
|
356
408
|
- lib/evilution/mutator/operator/explicit_super_mutation.rb
|
|
357
409
|
- lib/evilution/mutator/operator/float_literal.rb
|
|
410
|
+
- lib/evilution/mutator/operator/format_specifier_swap.rb
|
|
411
|
+
- lib/evilution/mutator/operator/forwarded_argument_drop.rb
|
|
358
412
|
- lib/evilution/mutator/operator/forwarding_super_to_explicit.rb
|
|
359
413
|
- lib/evilution/mutator/operator/global_variable_write.rb
|
|
360
414
|
- lib/evilution/mutator/operator/hash_literal.rb
|
|
@@ -366,9 +420,11 @@ files:
|
|
|
366
420
|
- lib/evilution/mutator/operator/inequality_to_negated_identity.rb
|
|
367
421
|
- lib/evilution/mutator/operator/inline_rescue.rb
|
|
368
422
|
- lib/evilution/mutator/operator/instance_variable_write.rb
|
|
423
|
+
- lib/evilution/mutator/operator/integer_division_to_fdiv.rb
|
|
369
424
|
- lib/evilution/mutator/operator/integer_literal.rb
|
|
370
425
|
- lib/evilution/mutator/operator/keyword_argument.rb
|
|
371
426
|
- lib/evilution/mutator/operator/keyword_argument_removal.rb
|
|
427
|
+
- lib/evilution/mutator/operator/keyword_value_swap.rb
|
|
372
428
|
- lib/evilution/mutator/operator/lambda_body.rb
|
|
373
429
|
- lib/evilution/mutator/operator/last_expression_removal.rb
|
|
374
430
|
- lib/evilution/mutator/operator/local_variable_assignment.rb
|
|
@@ -383,12 +439,17 @@ files:
|
|
|
383
439
|
- lib/evilution/mutator/operator/negation_insertion.rb
|
|
384
440
|
- lib/evilution/mutator/operator/next_statement.rb
|
|
385
441
|
- lib/evilution/mutator/operator/nil_replacement.rb
|
|
442
|
+
- lib/evilution/mutator/operator/no_matching_pattern_else.rb
|
|
443
|
+
- lib/evilution/mutator/operator/numbered_parameter_swap.rb
|
|
444
|
+
- lib/evilution/mutator/operator/off_by_one_boundary.rb
|
|
386
445
|
- lib/evilution/mutator/operator/optional_default_injection.rb
|
|
387
446
|
- lib/evilution/mutator/operator/optional_parameter_to_required.rb
|
|
388
447
|
- lib/evilution/mutator/operator/pattern_matching_alternative.rb
|
|
389
448
|
- lib/evilution/mutator/operator/pattern_matching_array.rb
|
|
390
449
|
- lib/evilution/mutator/operator/pattern_matching_guard.rb
|
|
391
450
|
- lib/evilution/mutator/operator/pattern_predicate.rb
|
|
451
|
+
- lib/evilution/mutator/operator/pattern_wildcard_widening.rb
|
|
452
|
+
- lib/evilution/mutator/operator/pin_operator_removal.rb
|
|
392
453
|
- lib/evilution/mutator/operator/predicate_replacement.rb
|
|
393
454
|
- lib/evilution/mutator/operator/predicate_to_nil.rb
|
|
394
455
|
- lib/evilution/mutator/operator/proc_to_lambda.rb
|
|
@@ -399,17 +460,30 @@ files:
|
|
|
399
460
|
- lib/evilution/mutator/operator/reduce_to_sum.rb
|
|
400
461
|
- lib/evilution/mutator/operator/regex_capture.rb
|
|
401
462
|
- lib/evilution/mutator/operator/regex_simplification.rb
|
|
463
|
+
- lib/evilution/mutator/operator/regexp_alternation_branch_deletion.rb
|
|
464
|
+
- lib/evilution/mutator/operator/regexp_anchor_promotion.rb
|
|
402
465
|
- lib/evilution/mutator/operator/regexp_anchor_to_predicate.rb
|
|
466
|
+
- lib/evilution/mutator/operator/regexp_capture_to_passive.rb
|
|
467
|
+
- lib/evilution/mutator/operator/regexp_character_type_complement.rb
|
|
403
468
|
- lib/evilution/mutator/operator/regexp_mutation.rb
|
|
469
|
+
- lib/evilution/mutator/operator/regexp_named_group_rename.rb
|
|
470
|
+
- lib/evilution/mutator/operator/regexp_option_removal.rb
|
|
471
|
+
- lib/evilution/mutator/operator/regexp_quantifier_minimum_swap.rb
|
|
404
472
|
- lib/evilution/mutator/operator/rescue_body_replacement.rb
|
|
473
|
+
- lib/evilution/mutator/operator/rescue_else_concatenation.rb
|
|
474
|
+
- lib/evilution/mutator/operator/rescue_handler_concatenation.rb
|
|
475
|
+
- lib/evilution/mutator/operator/rescue_handler_promotion.rb
|
|
405
476
|
- lib/evilution/mutator/operator/rescue_removal.rb
|
|
406
477
|
- lib/evilution/mutator/operator/retry_removal.rb
|
|
478
|
+
- lib/evilution/mutator/operator/return_keyword_removal.rb
|
|
407
479
|
- lib/evilution/mutator/operator/return_value_removal.rb
|
|
480
|
+
- lib/evilution/mutator/operator/rightward_assignment.rb
|
|
408
481
|
- lib/evilution/mutator/operator/safe_navigation_removal.rb
|
|
409
482
|
- lib/evilution/mutator/operator/scalar_return.rb
|
|
410
483
|
- lib/evilution/mutator/operator/send_mutation.rb
|
|
411
484
|
- lib/evilution/mutator/operator/splat_operator.rb
|
|
412
485
|
- lib/evilution/mutator/operator/statement_deletion.rb
|
|
486
|
+
- lib/evilution/mutator/operator/statement_reorder.rb
|
|
413
487
|
- lib/evilution/mutator/operator/string_interpolation.rb
|
|
414
488
|
- lib/evilution/mutator/operator/string_literal.rb
|
|
415
489
|
- lib/evilution/mutator/operator/superclass_removal.rb
|
|
@@ -421,6 +495,7 @@ files:
|
|
|
421
495
|
- lib/evilution/mutator/operator/zsuper_removal.rb
|
|
422
496
|
- lib/evilution/mutator/primitives.rb
|
|
423
497
|
- lib/evilution/mutator/registry.rb
|
|
498
|
+
- lib/evilution/mutator/rescue_handlers.rb
|
|
424
499
|
- lib/evilution/parallel.rb
|
|
425
500
|
- lib/evilution/parallel/pool.rb
|
|
426
501
|
- lib/evilution/parallel/work_queue.rb
|
|
@@ -453,6 +528,7 @@ files:
|
|
|
453
528
|
- lib/evilution/reporter/cli/item_formatters/subject_score.rb
|
|
454
529
|
- lib/evilution/reporter/cli/item_formatters/subject_score_group.rb
|
|
455
530
|
- lib/evilution/reporter/cli/line_formatters.rb
|
|
531
|
+
- lib/evilution/reporter/cli/line_formatters/baseline_neutralized_notice.rb
|
|
456
532
|
- lib/evilution/reporter/cli/line_formatters/duration.rb
|
|
457
533
|
- lib/evilution/reporter/cli/line_formatters/efficiency.rb
|
|
458
534
|
- lib/evilution/reporter/cli/line_formatters/error_rate_warning.rb
|
|
@@ -508,6 +584,7 @@ files:
|
|
|
508
584
|
- lib/evilution/reporter/html/templates/unparseable_details.html.erb
|
|
509
585
|
- lib/evilution/reporter/html/templates/unresolved_details.html.erb
|
|
510
586
|
- lib/evilution/reporter/json.rb
|
|
587
|
+
- lib/evilution/reporter/json/baseline.rb
|
|
511
588
|
- lib/evilution/reporter/json/subjects.rb
|
|
512
589
|
- lib/evilution/reporter/progress_bar.rb
|
|
513
590
|
- lib/evilution/reporter/suggestion.rb
|
|
@@ -519,6 +596,7 @@ files:
|
|
|
519
596
|
- lib/evilution/reporter/suggestion/templates/minitest.rb
|
|
520
597
|
- lib/evilution/reporter/suggestion/templates/rspec.rb
|
|
521
598
|
- lib/evilution/result.rb
|
|
599
|
+
- lib/evilution/result/baseline_neutralization.rb
|
|
522
600
|
- lib/evilution/result/coverage_gap.rb
|
|
523
601
|
- lib/evilution/result/coverage_gap_grouper.rb
|
|
524
602
|
- lib/evilution/result/error_info.rb
|
|
@@ -531,6 +609,7 @@ files:
|
|
|
531
609
|
- lib/evilution/runner.rb
|
|
532
610
|
- lib/evilution/runner/baseline_runner.rb
|
|
533
611
|
- lib/evilution/runner/canary.rb
|
|
612
|
+
- lib/evilution/runner/canary_failure_message.rb
|
|
534
613
|
- lib/evilution/runner/diagnostics.rb
|
|
535
614
|
- lib/evilution/runner/isolation_resolver.rb
|
|
536
615
|
- lib/evilution/runner/mutation_executor.rb
|