mutant 0.9.10 → 0.10.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/bin/mutant +16 -11
- data/lib/mutant.rb +8 -4
- data/lib/mutant/bootstrap.rb +14 -1
- data/lib/mutant/cli.rb +9 -162
- data/lib/mutant/cli/command.rb +196 -0
- data/lib/mutant/cli/command/root.rb +13 -0
- data/lib/mutant/cli/command/run.rb +151 -0
- data/lib/mutant/cli/command/subscription.rb +54 -0
- data/lib/mutant/expression.rb +0 -1
- data/lib/mutant/isolation.rb +1 -1
- data/lib/mutant/isolation/fork.rb +2 -2
- data/lib/mutant/isolation/none.rb +1 -1
- data/lib/mutant/license.rb +9 -35
- data/lib/mutant/license/subscription.rb +31 -9
- data/lib/mutant/license/subscription/commercial.rb +2 -4
- data/lib/mutant/license/subscription/opensource.rb +7 -7
- data/lib/mutant/matcher/config.rb +2 -0
- data/lib/mutant/meta/example.rb +16 -4
- data/lib/mutant/meta/example/dsl.rb +33 -16
- data/lib/mutant/meta/example/verification.rb +70 -28
- data/lib/mutant/minitest/coverage.rb +53 -0
- data/lib/mutant/mutator/node.rb +2 -2
- data/lib/mutant/mutator/node/block_pass.rb +29 -0
- data/lib/mutant/mutator/node/{dstr.rb → dynamic_literal.rb} +7 -5
- data/lib/mutant/mutator/node/index.rb +4 -4
- data/lib/mutant/mutator/node/literal/range.rb +5 -2
- data/lib/mutant/mutator/node/named_value/variable_assignment.rb +1 -1
- data/lib/mutant/mutator/node/noop.rb +1 -1
- data/lib/mutant/mutator/node/op_asgn.rb +15 -1
- data/lib/mutant/mutator/node/send.rb +25 -1
- data/lib/mutant/mutator/node/send/attribute_assignment.rb +1 -0
- data/lib/mutant/reporter/cli/printer/isolation_result.rb +9 -3
- data/lib/mutant/subject/method/instance.rb +1 -1
- data/lib/mutant/version.rb +1 -1
- metadata +18 -336
- data/.github/workflows/ci.yml +0 -121
- data/.gitignore +0 -38
- data/.rspec +0 -5
- data/.rubocop.yml +0 -210
- data/Changelog.md +0 -87
- data/Gemfile +0 -7
- data/Gemfile.lock +0 -107
- data/Gemfile.shared +0 -10
- data/README.md +0 -199
- data/Rakefile +0 -5
- data/config/devtools.yml +0 -2
- data/config/reek.yml +0 -139
- data/config/yardstick.yml +0 -2
- data/docs/commercial-support.md +0 -14
- data/docs/concurrency.md +0 -39
- data/docs/incremental.md +0 -76
- data/docs/known-problems.md +0 -30
- data/docs/limitations.md +0 -50
- data/docs/mutant-minitest.md +0 -149
- data/docs/mutant-rspec.md +0 -130
- data/docs/nomenclature.md +0 -82
- data/docs/reading-reports.md +0 -74
- data/lib/mutant/mutator/node/dsym.rb +0 -22
- data/meta/and.rb +0 -13
- data/meta/and_asgn.rb +0 -14
- data/meta/array.rb +0 -27
- data/meta/begin.rb +0 -20
- data/meta/block.rb +0 -199
- data/meta/block_pass.rb +0 -8
- data/meta/blockarg.rb +0 -10
- data/meta/break.rb +0 -9
- data/meta/case.rb +0 -217
- data/meta/casgn.rb +0 -25
- data/meta/cbase.rb +0 -8
- data/meta/class.rb +0 -12
- data/meta/const.rb +0 -17
- data/meta/csend.rb +0 -10
- data/meta/cvar.rb +0 -7
- data/meta/cvasgn.rb +0 -9
- data/meta/date.rb +0 -59
- data/meta/def.rb +0 -196
- data/meta/defined.rb +0 -9
- data/meta/dstr.rb +0 -13
- data/meta/dsym.rb +0 -14
- data/meta/ensure.rb +0 -8
- data/meta/false.rb +0 -7
- data/meta/file.rb +0 -5
- data/meta/float.rb +0 -37
- data/meta/gvar.rb +0 -7
- data/meta/gvasgn.rb +0 -9
- data/meta/hash.rb +0 -20
- data/meta/if.rb +0 -72
- data/meta/index.rb +0 -133
- data/meta/indexasgn.rb +0 -31
- data/meta/int.rb +0 -18
- data/meta/ivar.rb +0 -8
- data/meta/ivasgn.rb +0 -22
- data/meta/kwarg.rb +0 -10
- data/meta/kwbegin.rb +0 -8
- data/meta/kwoptarg.rb +0 -13
- data/meta/lambda.rb +0 -23
- data/meta/line.rb +0 -5
- data/meta/lvar.rb +0 -16
- data/meta/lvasgn.rb +0 -24
- data/meta/masgn.rb +0 -7
- data/meta/match_current_line.rb +0 -14
- data/meta/next.rb +0 -10
- data/meta/nil.rb +0 -5
- data/meta/nthref.rb +0 -14
- data/meta/op_assgn.rb +0 -17
- data/meta/or.rb +0 -13
- data/meta/or_asgn.rb +0 -50
- data/meta/range.rb +0 -65
- data/meta/redo.rb +0 -5
- data/meta/regexp.rb +0 -80
- data/meta/regopt.rb +0 -10
- data/meta/rescue.rb +0 -84
- data/meta/return.rb +0 -16
- data/meta/sclass.rb +0 -12
- data/meta/self.rb +0 -7
- data/meta/send.rb +0 -600
- data/meta/str.rb +0 -7
- data/meta/super.rb +0 -27
- data/meta/sym.rb +0 -8
- data/meta/true.rb +0 -7
- data/meta/until.rb +0 -16
- data/meta/while.rb +0 -24
- data/meta/yield.rb +0 -9
- data/mutant-minitest.gemspec +0 -22
- data/mutant-rspec.gemspec +0 -22
- data/mutant.gemspec +0 -44
- data/mutant.sh +0 -12
- data/mutant.yml +0 -6
- data/spec/integration/mutant/corpus_spec.rb +0 -15
- data/spec/integration/mutant/isolation/fork_spec.rb +0 -28
- data/spec/integration/mutant/minitest_spec.rb +0 -11
- data/spec/integration/mutant/null_spec.rb +0 -16
- data/spec/integration/mutant/rspec_spec.rb +0 -15
- data/spec/integration/mutant/test_mutator_handles_types_spec.rb +0 -9
- data/spec/integrations.yml +0 -63
- data/spec/shared/framework_integration_behavior.rb +0 -70
- data/spec/shared/method_matcher_behavior.rb +0 -47
- data/spec/spec_helper.rb +0 -90
- data/spec/support/corpus.rb +0 -318
- data/spec/support/file_system.rb +0 -62
- data/spec/support/ice_nine_config.rb +0 -10
- data/spec/support/ruby_vm.rb +0 -84
- data/spec/support/shared_context.rb +0 -169
- data/spec/support/xspec.rb +0 -183
- data/spec/unit/mutant/ast/find_metaclass_containing_spec.rb +0 -64
- data/spec/unit/mutant/ast/meta/optarg_spec.rb +0 -24
- data/spec/unit/mutant/ast/meta/send/proc_predicate_spec.rb +0 -30
- data/spec/unit/mutant/ast/meta/send/receiver_possible_top_level_const_predicate_spec.rb +0 -39
- data/spec/unit/mutant/ast/meta/send_spec.rb +0 -42
- data/spec/unit/mutant/ast/named_children_spec.rb +0 -89
- data/spec/unit/mutant/ast/sexp_spec.rb +0 -38
- data/spec/unit/mutant/ast_spec.rb +0 -57
- data/spec/unit/mutant/bootstrap_spec.rb +0 -216
- data/spec/unit/mutant/cli_spec.rb +0 -305
- data/spec/unit/mutant/clock_monotonic_spec.rb +0 -52
- data/spec/unit/mutant/config_spec.rb +0 -126
- data/spec/unit/mutant/context_spec.rb +0 -111
- data/spec/unit/mutant/env_spec.rb +0 -229
- data/spec/unit/mutant/expression/method_spec.rb +0 -62
- data/spec/unit/mutant/expression/methods_spec.rb +0 -66
- data/spec/unit/mutant/expression/namespace/exact_spec.rb +0 -28
- data/spec/unit/mutant/expression/namespace/recursive_spec.rb +0 -66
- data/spec/unit/mutant/expression/parser_spec.rb +0 -65
- data/spec/unit/mutant/expression_spec.rb +0 -45
- data/spec/unit/mutant/integration/rspec_spec.rb +0 -201
- data/spec/unit/mutant/integration_spec.rb +0 -150
- data/spec/unit/mutant/isolation/fork_spec.rb +0 -309
- data/spec/unit/mutant/isolation/none_spec.rb +0 -23
- data/spec/unit/mutant/isolation/result_spec.rb +0 -73
- data/spec/unit/mutant/license_spec.rb +0 -305
- data/spec/unit/mutant/loader_spec.rb +0 -79
- data/spec/unit/mutant/matcher/chain_spec.rb +0 -26
- data/spec/unit/mutant/matcher/compiler_spec.rb +0 -0
- data/spec/unit/mutant/matcher/config_spec.rb +0 -47
- data/spec/unit/mutant/matcher/filter_spec.rb +0 -22
- data/spec/unit/mutant/matcher/method/instance_spec.rb +0 -164
- data/spec/unit/mutant/matcher/method/metaclass_spec.rb +0 -108
- data/spec/unit/mutant/matcher/method/singleton_spec.rb +0 -90
- data/spec/unit/mutant/matcher/methods/instance_spec.rb +0 -54
- data/spec/unit/mutant/matcher/methods/metaclass_spec.rb +0 -62
- data/spec/unit/mutant/matcher/methods/singleton_spec.rb +0 -51
- data/spec/unit/mutant/matcher/namespace_spec.rb +0 -39
- data/spec/unit/mutant/matcher/null_spec.rb +0 -12
- data/spec/unit/mutant/matcher/scope_spec.rb +0 -45
- data/spec/unit/mutant/matcher/static_spec.rb +0 -13
- data/spec/unit/mutant/matcher_spec.rb +0 -102
- data/spec/unit/mutant/meta/example/dsl_spec.rb +0 -108
- data/spec/unit/mutant/meta/example/verification_spec.rb +0 -154
- data/spec/unit/mutant/meta/example_spec.rb +0 -34
- data/spec/unit/mutant/mutation_spec.rb +0 -140
- data/spec/unit/mutant/mutator/node_spec.rb +0 -47
- data/spec/unit/mutant/mutator_spec.rb +0 -21
- data/spec/unit/mutant/parallel/driver_spec.rb +0 -126
- data/spec/unit/mutant/parallel/source/array_spec.rb +0 -57
- data/spec/unit/mutant/parallel/worker_spec.rb +0 -206
- data/spec/unit/mutant/parallel_spec.rb +0 -115
- data/spec/unit/mutant/parser_spec.rb +0 -26
- data/spec/unit/mutant/range_spec.rb +0 -141
- data/spec/unit/mutant/registry_spec.rb +0 -74
- data/spec/unit/mutant/reporter/cli/printer/config_spec.rb +0 -17
- data/spec/unit/mutant/reporter/cli/printer/env_progress_spec.rb +0 -85
- data/spec/unit/mutant/reporter/cli/printer/env_result_spec.rb +0 -45
- data/spec/unit/mutant/reporter/cli/printer/isolation_result_spec.rb +0 -132
- data/spec/unit/mutant/reporter/cli/printer/mutation_progress_result_spec.rb +0 -25
- data/spec/unit/mutant/reporter/cli/printer/mutation_result_spec.rb +0 -153
- data/spec/unit/mutant/reporter/cli/printer/status_progressive_spec.rb +0 -45
- data/spec/unit/mutant/reporter/cli/printer/subject_progress_spec.rb +0 -36
- data/spec/unit/mutant/reporter/cli/printer/subject_result_spec.rb +0 -44
- data/spec/unit/mutant/reporter/cli/printer/test_result_spec.rb +0 -16
- data/spec/unit/mutant/reporter/cli/printer_spec.rb +0 -163
- data/spec/unit/mutant/reporter/cli_spec.rb +0 -137
- data/spec/unit/mutant/reporter/null_spec.rb +0 -14
- data/spec/unit/mutant/reporter/sequence_spec.rb +0 -31
- data/spec/unit/mutant/repository/diff/ranges_spec.rb +0 -180
- data/spec/unit/mutant/repository/diff_spec.rb +0 -122
- data/spec/unit/mutant/repository/subject_filter_spec.rb +0 -30
- data/spec/unit/mutant/require_highjack_spec.rb +0 -73
- data/spec/unit/mutant/result/class_methods_spec.rb +0 -51
- data/spec/unit/mutant/result/env_spec.rb +0 -161
- data/spec/unit/mutant/result/mutation_spec.rb +0 -70
- data/spec/unit/mutant/result/subject_spec.rb +0 -111
- data/spec/unit/mutant/result/test_spec.rb +0 -14
- data/spec/unit/mutant/result_spec.rb +0 -33
- data/spec/unit/mutant/runner/sink_spec.rb +0 -174
- data/spec/unit/mutant/runner_spec.rb +0 -121
- data/spec/unit/mutant/selector/expression_spec.rb +0 -62
- data/spec/unit/mutant/selector/null_spec.rb +0 -17
- data/spec/unit/mutant/subject/method/instance_spec.rb +0 -276
- data/spec/unit/mutant/subject/method/metaclass_spec.rb +0 -63
- data/spec/unit/mutant/subject/method/singleton_spec.rb +0 -61
- data/spec/unit/mutant/subject_spec.rb +0 -93
- data/spec/unit/mutant/transform/array_spec.rb +0 -92
- data/spec/unit/mutant/transform/bool_spec.rb +0 -63
- data/spec/unit/mutant/transform/error_spec.rb +0 -132
- data/spec/unit/mutant/transform/exception_spec.rb +0 -44
- data/spec/unit/mutant/transform/hash_spec.rb +0 -236
- data/spec/unit/mutant/transform/index_spec.rb +0 -92
- data/spec/unit/mutant/transform/named_spec.rb +0 -49
- data/spec/unit/mutant/transform/primitive_spec.rb +0 -56
- data/spec/unit/mutant/transform/sequence_spec.rb +0 -98
- data/spec/unit/mutant/util/one_spec.rb +0 -22
- data/spec/unit/mutant/warnings_spec.rb +0 -89
- data/spec/unit/mutant/world_spec.rb +0 -63
- data/spec/unit/mutant/zombifier_spec.rb +0 -122
- data/test_app/.rspec +0 -1
- data/test_app/Gemfile.minitest +0 -6
- data/test_app/Gemfile.rspec3.8 +0 -7
- data/test_app/lib/test_app.rb +0 -114
- data/test_app/lib/test_app/literal.rb +0 -35
- data/test_app/lib/test_app/metaclasses.rb +0 -108
- data/test_app/spec/spec_helper.rb +0 -9
- data/test_app/spec/unit/test_app/literal_spec.rb +0 -20
- data/test_app/test/unit/test_app/literal_test.rb +0 -16
data/.github/workflows/ci.yml
DELETED
@@ -1,121 +0,0 @@
|
|
1
|
-
name: CI
|
2
|
-
|
3
|
-
on: push
|
4
|
-
|
5
|
-
jobs:
|
6
|
-
base:
|
7
|
-
name: Base steps
|
8
|
-
runs-on: ubuntu-latest
|
9
|
-
steps:
|
10
|
-
- uses: actions/checkout@v2
|
11
|
-
- name: Check Whitespace
|
12
|
-
run: git diff --check -- HEAD~1
|
13
|
-
ruby-spec:
|
14
|
-
name: Unit Specs
|
15
|
-
runs-on: ${{ matrix.os }}
|
16
|
-
timeout-minutes: 5
|
17
|
-
strategy:
|
18
|
-
fail-fast: false
|
19
|
-
matrix:
|
20
|
-
ruby: ['2.5', '2.6', '2.7']
|
21
|
-
os: [ubuntu-latest]
|
22
|
-
steps:
|
23
|
-
- uses: actions/checkout@v2
|
24
|
-
- uses: actions/setup-ruby@v1
|
25
|
-
with:
|
26
|
-
ruby-version: ${{ matrix.ruby }}
|
27
|
-
- run: |
|
28
|
-
gem install bundler
|
29
|
-
bundle install
|
30
|
-
- run: bundle exec rspec spec/unit
|
31
|
-
ruby-mutant:
|
32
|
-
name: Mutation coverage
|
33
|
-
runs-on: ${{ matrix.os }}
|
34
|
-
timeout-minutes: 30
|
35
|
-
strategy:
|
36
|
-
fail-fast: false
|
37
|
-
matrix:
|
38
|
-
ruby: ['2.6', '2.7']
|
39
|
-
os: [ubuntu-latest]
|
40
|
-
steps:
|
41
|
-
- uses: actions/checkout@v2
|
42
|
-
with:
|
43
|
-
fetch-depth: 0
|
44
|
-
- uses: actions/setup-ruby@v1
|
45
|
-
with:
|
46
|
-
ruby-version: ${{ matrix.ruby }}
|
47
|
-
- run: |
|
48
|
-
gem install bundler
|
49
|
-
bundle install
|
50
|
-
- run: ./mutant.sh
|
51
|
-
ruby-integration-minitest:
|
52
|
-
name: Integration Minitest
|
53
|
-
runs-on: ${{ matrix.os }}
|
54
|
-
timeout-minutes: 5
|
55
|
-
strategy:
|
56
|
-
fail-fast: false
|
57
|
-
matrix:
|
58
|
-
ruby: ['2.5', '2.6', '2.7']
|
59
|
-
os: [ubuntu-latest]
|
60
|
-
steps:
|
61
|
-
- uses: actions/checkout@v2
|
62
|
-
- uses: actions/setup-ruby@v1
|
63
|
-
with:
|
64
|
-
ruby-version: ${{ matrix.ruby }}
|
65
|
-
- run: gem list
|
66
|
-
- run: |
|
67
|
-
gem install bundler
|
68
|
-
bundle install
|
69
|
-
- run: bundle exec rspec spec/integration -e minitest
|
70
|
-
ruby-integration-rspec:
|
71
|
-
name: Integration RSpec
|
72
|
-
runs-on: ${{ matrix.os }}
|
73
|
-
timeout-minutes: 10
|
74
|
-
strategy:
|
75
|
-
fail-fast: false
|
76
|
-
matrix:
|
77
|
-
ruby: ['2.5', '2.6', '2.7']
|
78
|
-
os: [ubuntu-latest]
|
79
|
-
steps:
|
80
|
-
- uses: actions/checkout@v2
|
81
|
-
- uses: actions/setup-ruby@v1
|
82
|
-
with:
|
83
|
-
ruby-version: ${{ matrix.ruby }}
|
84
|
-
- run: |
|
85
|
-
gem install bundler
|
86
|
-
bundle install
|
87
|
-
- run: bundle exec rspec spec/integration -e rspec
|
88
|
-
ruby-integration-generation:
|
89
|
-
name: Integration Mutation Generation
|
90
|
-
runs-on: ${{ matrix.os }}
|
91
|
-
timeout-minutes: 5
|
92
|
-
strategy:
|
93
|
-
fail-fast: false
|
94
|
-
matrix:
|
95
|
-
ruby: ['2.5', '2.6', '2.7']
|
96
|
-
os: [ubuntu-latest]
|
97
|
-
steps:
|
98
|
-
- uses: actions/checkout@v2
|
99
|
-
- uses: actions/setup-ruby@v1
|
100
|
-
with:
|
101
|
-
ruby-version: ${{ matrix.ruby }}
|
102
|
-
- run: |
|
103
|
-
gem install bundler
|
104
|
-
bundle install
|
105
|
-
- run: bundle exec rspec spec/integration -e generation
|
106
|
-
ruby-rubocop:
|
107
|
-
name: Rubocop
|
108
|
-
runs-on: ${{ matrix.os }}
|
109
|
-
timeout-minutes: 5
|
110
|
-
strategy:
|
111
|
-
fail-fast: false
|
112
|
-
matrix:
|
113
|
-
ruby: ['2.7']
|
114
|
-
os: [ubuntu-latest]
|
115
|
-
steps:
|
116
|
-
- uses: actions/checkout@v2
|
117
|
-
- uses: actions/setup-ruby@v1
|
118
|
-
with:
|
119
|
-
ruby-version: ${{ matrix.ruby }}
|
120
|
-
- run: bundle install
|
121
|
-
- run: bundle exec rubocop
|
data/.gitignore
DELETED
@@ -1,38 +0,0 @@
|
|
1
|
-
## MAC OS
|
2
|
-
.DS_Store
|
3
|
-
|
4
|
-
## TEXTMATE
|
5
|
-
*.tmproj
|
6
|
-
tmtags
|
7
|
-
|
8
|
-
## EMACS
|
9
|
-
*~
|
10
|
-
\#*
|
11
|
-
.\#*
|
12
|
-
|
13
|
-
## VIM
|
14
|
-
*.sw[op]
|
15
|
-
|
16
|
-
## Rubinius
|
17
|
-
*.rbc
|
18
|
-
.rbx
|
19
|
-
|
20
|
-
## PROJECT::GENERAL
|
21
|
-
*.gem
|
22
|
-
coverage
|
23
|
-
profiling
|
24
|
-
turbulence
|
25
|
-
rdoc
|
26
|
-
pkg
|
27
|
-
tmp
|
28
|
-
doc
|
29
|
-
log
|
30
|
-
.yardoc
|
31
|
-
measurements
|
32
|
-
|
33
|
-
## BUNDLER
|
34
|
-
.bundle
|
35
|
-
Gemfile.*.lock
|
36
|
-
|
37
|
-
## PROJECT::SPECIFIC
|
38
|
-
/vendor
|
data/.rspec
DELETED
data/.rubocop.yml
DELETED
@@ -1,210 +0,0 @@
|
|
1
|
-
AllCops:
|
2
|
-
DisplayCopNames: true
|
3
|
-
Exclude:
|
4
|
-
- 'test_app/**/*'
|
5
|
-
- 'tmp/**/*'
|
6
|
-
- 'vendor/**/*'
|
7
|
-
TargetRubyVersion: 2.5
|
8
|
-
|
9
|
-
# Avoid parameter lists longer than five parameters.
|
10
|
-
ParameterLists:
|
11
|
-
Max: 3
|
12
|
-
CountKeywordArgs: true
|
13
|
-
|
14
|
-
# Avoid more than `Max` levels of nesting.
|
15
|
-
BlockNesting:
|
16
|
-
Max: 3
|
17
|
-
|
18
|
-
# Align with the style guide.
|
19
|
-
CollectionMethods:
|
20
|
-
Enabled: true
|
21
|
-
PreferredMethods:
|
22
|
-
collect: 'map'
|
23
|
-
inject: 'reduce'
|
24
|
-
find: 'detect'
|
25
|
-
find_all: 'select'
|
26
|
-
|
27
|
-
AccessModifierIndentation:
|
28
|
-
Enabled: false
|
29
|
-
|
30
|
-
# Limit line length
|
31
|
-
LineLength:
|
32
|
-
Max: 120
|
33
|
-
|
34
|
-
# Disable documentation checking until a class needs to be documented once
|
35
|
-
Documentation:
|
36
|
-
Enabled: false
|
37
|
-
|
38
|
-
# Permit
|
39
|
-
#
|
40
|
-
# boolean_check? or fail
|
41
|
-
#
|
42
|
-
# Reject
|
43
|
-
#
|
44
|
-
# if foo or bar
|
45
|
-
# ...
|
46
|
-
# end
|
47
|
-
AndOr:
|
48
|
-
EnforcedStyle: conditionals
|
49
|
-
|
50
|
-
# Do not favor modifier if/unless usage when you have a single-line body
|
51
|
-
IfUnlessModifier:
|
52
|
-
Enabled: false
|
53
|
-
|
54
|
-
# Allow case equality operator (in limited use within the specs)
|
55
|
-
CaseEquality:
|
56
|
-
Enabled: false
|
57
|
-
|
58
|
-
# Constants do not always have to use SCREAMING_SNAKE_CASE
|
59
|
-
ConstantName:
|
60
|
-
Enabled: false
|
61
|
-
|
62
|
-
# Not all trivial readers/writers can be defined with attr_* methods
|
63
|
-
TrivialAccessors:
|
64
|
-
Enabled: false
|
65
|
-
|
66
|
-
# Allow empty lines around class body
|
67
|
-
EmptyLinesAroundClassBody:
|
68
|
-
Enabled: false
|
69
|
-
|
70
|
-
# Allow empty lines around module body
|
71
|
-
EmptyLinesAroundModuleBody:
|
72
|
-
Enabled: false
|
73
|
-
|
74
|
-
# Allow empty lines around block body
|
75
|
-
EmptyLinesAroundBlockBody:
|
76
|
-
Enabled: false
|
77
|
-
|
78
|
-
# Allow multiple line operations to not require indentation
|
79
|
-
MultilineOperationIndentation:
|
80
|
-
Enabled: false
|
81
|
-
|
82
|
-
# Prefer String#% over Kernel#sprintf
|
83
|
-
FormatString:
|
84
|
-
EnforcedStyle: percent
|
85
|
-
|
86
|
-
# Use square brackets for literal Array objects
|
87
|
-
PercentLiteralDelimiters:
|
88
|
-
PreferredDelimiters:
|
89
|
-
'%': '{}'
|
90
|
-
'%i': '[]'
|
91
|
-
'%q': ()
|
92
|
-
'%Q': ()
|
93
|
-
'%r': '{}'
|
94
|
-
'%s': ()
|
95
|
-
'%w': '[]'
|
96
|
-
'%W': '[]'
|
97
|
-
'%x': ()
|
98
|
-
|
99
|
-
# Use %i[...] for arrays of symbols
|
100
|
-
SymbolArray:
|
101
|
-
Enabled: true
|
102
|
-
|
103
|
-
# Prefer #kind_of? over #is_a?
|
104
|
-
ClassCheck:
|
105
|
-
EnforcedStyle: kind_of?
|
106
|
-
|
107
|
-
# Do not prefer double quotes to be used when %q or %Q is more appropriate
|
108
|
-
Style/RedundantPercentQ:
|
109
|
-
Enabled: false
|
110
|
-
|
111
|
-
# Allow a maximum ABC score
|
112
|
-
Metrics/AbcSize:
|
113
|
-
Max: 21.02
|
114
|
-
|
115
|
-
Metrics/BlockLength:
|
116
|
-
Exclude:
|
117
|
-
- 'spec/**/*.rb'
|
118
|
-
- 'mutant.gemspec'
|
119
|
-
|
120
|
-
# Buggy cop, returns false positive for our code base
|
121
|
-
NonLocalExitFromIterator:
|
122
|
-
Enabled: false
|
123
|
-
|
124
|
-
# To allow alignment of similar expressions we want to allow more than one
|
125
|
-
# space around operators:
|
126
|
-
#
|
127
|
-
# let(:a) { bar + something }
|
128
|
-
# let(:b) { foobar + something }
|
129
|
-
#
|
130
|
-
SpaceAroundOperators:
|
131
|
-
Enabled: false
|
132
|
-
|
133
|
-
# We use parallel assignments with great success
|
134
|
-
ParallelAssignment:
|
135
|
-
Enabled: false
|
136
|
-
|
137
|
-
# Allow additional specs
|
138
|
-
ExtraSpacing:
|
139
|
-
AllowForAlignment: true
|
140
|
-
|
141
|
-
# Buggy
|
142
|
-
FormatParameterMismatch:
|
143
|
-
Enabled: false
|
144
|
-
|
145
|
-
# Different preference
|
146
|
-
SignalException:
|
147
|
-
EnforcedStyle: semantic
|
148
|
-
|
149
|
-
# Do not use `alias`
|
150
|
-
Alias:
|
151
|
-
EnforcedStyle: prefer_alias_method
|
152
|
-
|
153
|
-
# Do not waste my horizontal or vertical space
|
154
|
-
Layout/FirstArrayElementIndentation:
|
155
|
-
Enabled: false
|
156
|
-
|
157
|
-
# Prefer
|
158
|
-
#
|
159
|
-
# some_receiver
|
160
|
-
# .foo
|
161
|
-
# .bar
|
162
|
-
# .baz
|
163
|
-
#
|
164
|
-
# Over
|
165
|
-
#
|
166
|
-
# some_receiver.foo
|
167
|
-
# .bar
|
168
|
-
# .baz
|
169
|
-
MultilineMethodCallIndentation:
|
170
|
-
EnforcedStyle: indented
|
171
|
-
|
172
|
-
# Prefer `public_send` and `__send__` over `send`
|
173
|
-
Send:
|
174
|
-
Enabled: true
|
175
|
-
|
176
|
-
Layout/HashAlignment:
|
177
|
-
EnforcedColonStyle: table
|
178
|
-
EnforcedHashRocketStyle: table
|
179
|
-
Layout/EmptyLineAfterGuardClause:
|
180
|
-
Enabled: false
|
181
|
-
Layout/SpaceInsideArrayLiteralBrackets:
|
182
|
-
Enabled: false
|
183
|
-
Lint/BooleanSymbol:
|
184
|
-
Enabled: false
|
185
|
-
Lint/InterpolationCheck:
|
186
|
-
Enabled: false
|
187
|
-
Lint/MissingCopEnableDirective:
|
188
|
-
Enabled: false
|
189
|
-
Lint/UnifiedInteger:
|
190
|
-
Enabled: false
|
191
|
-
Naming/FileName:
|
192
|
-
Enabled: false
|
193
|
-
Style/AccessModifierDeclarations:
|
194
|
-
Enabled: false
|
195
|
-
Style/CommentedKeyword:
|
196
|
-
Enabled: false
|
197
|
-
Style/MixinGrouping:
|
198
|
-
Enabled: false
|
199
|
-
Style/RaiseArgs:
|
200
|
-
Enabled: false
|
201
|
-
Style/RescueStandardError:
|
202
|
-
Enabled: false
|
203
|
-
Style/StderrPuts:
|
204
|
-
Enabled: false
|
205
|
-
# suggesting single letter variablesl bah
|
206
|
-
Naming/RescuedExceptionsVariableName:
|
207
|
-
Enabled: false
|
208
|
-
# false positive on private keywords
|
209
|
-
Layout/IndentationWidth:
|
210
|
-
Enabled: false
|
data/Changelog.md
DELETED
@@ -1,87 +0,0 @@
|
|
1
|
-
# v0.9.10 unreleased
|
2
|
-
|
3
|
-
* Remove bounds to allow `diff-lcs 1.4.x` [#1032](https://github.com/mbj/mutant/pull/1032).
|
4
|
-
* Fix crash on endless ranges [#1026](https://github.com/mbj/mutant/pull/1026).
|
5
|
-
* Fix memoized subjects to preserve freezer option [#973](https://github.com/mbj/mutant/pull/973).
|
6
|
-
|
7
|
-
# v0.9.9 2020-09-25
|
8
|
-
|
9
|
-
+ Add support for mutating methods inside eigenclasses `class <<`. [#1009](https://github.com/mbj/mutant/pull/1009)
|
10
|
-
- Remove `<` -> `<=` and `>` -> `>=` mutations as non canonical. [#1020](https://github.com/mbj/mutant/pull/1020)
|
11
|
-
- Remove `true` -> `nil` and `false` -> `nil` mutations as non canonical. [#1018](https://github.com/mbj/mutant/pull/1018)
|
12
|
-
|
13
|
-
# v0.9.8 2020-08-02
|
14
|
-
|
15
|
-
* Change to generic catch all node mutator. This allows better cross parser version compatibility.
|
16
|
-
|
17
|
-
# v0.9.7 2020-07-22
|
18
|
-
|
19
|
-
* Bump parser dependency to 2.7.1, note this still does not support Ruby 2.7 syntax.
|
20
|
-
But it supports running bundling with that parser version.
|
21
|
-
* Nail diff-lcs to 1.3 till output difference for 1.4 can be addressed.
|
22
|
-
|
23
|
-
# v0.9.6 2020-04-20
|
24
|
-
|
25
|
-
* Dependencies upgrade, should not change user facing semantics.
|
26
|
-
* Bump license nudge to 40s
|
27
|
-
|
28
|
-
# v0.9.5 2020-02-02
|
29
|
-
|
30
|
-
* Change to 2.7 parser series.
|
31
|
-
This does not drop support for < 2.7 but enables to in the future add full Ruby 2.7 support.
|
32
|
-
|
33
|
-
# v0.9.4 2020-01-03
|
34
|
-
|
35
|
-
* Bump unparser dependency
|
36
|
-
|
37
|
-
# v0.9.3 2020-01-03
|
38
|
-
|
39
|
-
* Change to soft dependency on mutant-license.
|
40
|
-
Rationale its fine to bundle mutant if not used.
|
41
|
-
This can easily happen on transitive dependencies.
|
42
|
-
|
43
|
-
# v0.9.2 2020-01-02
|
44
|
-
|
45
|
-
* Upgrade to parser ~> 2.6.5
|
46
|
-
|
47
|
-
# v0.9.1 2020-01-02
|
48
|
-
|
49
|
-
* Packaging bugfix.
|
50
|
-
|
51
|
-
# v0.9.0 2020-01-02
|
52
|
-
|
53
|
-
* New license.
|
54
|
-
* Fix mutations to void value expressions to not be reported as integration error.
|
55
|
-
* Remove regexp body mutations
|
56
|
-
* Remove restarg mutations
|
57
|
-
* Remove support for rspec-3.{4,5,6}
|
58
|
-
|
59
|
-
# v0.8.25 2018-12-31
|
60
|
-
|
61
|
-
* Change to {I,M}Var based concurrency
|
62
|
-
* Remove actors
|
63
|
-
|
64
|
-
# v0.8.24 2018-12-29
|
65
|
-
|
66
|
-
* Change to always insert mutations with frozen string literals
|
67
|
-
* Fix various invalid AST or source mutations
|
68
|
-
* Handle regexp `regexp_parser` cannot parse but MRI accepts gracefully
|
69
|
-
|
70
|
-
# v0.8.23 2018-12-23
|
71
|
-
|
72
|
-
* Improved isolation error reporting
|
73
|
-
* Errors between isolation and tests do not kill mutations anymore.
|
74
|
-
|
75
|
-
# v0.8.22 2018-12-04
|
76
|
-
|
77
|
-
* Remove hard ruby version requirement. 2.5 is still the only officially supported version.
|
78
|
-
|
79
|
-
# v0.8.21 2018-12-03
|
80
|
-
|
81
|
-
* Change to modern ast format via unparser-0.4.1.
|
82
|
-
|
83
|
-
# v0.8.20 2018-11-27
|
84
|
-
|
85
|
-
* Replace internal timers with monotonic ones.
|
86
|
-
|
87
|
-
Find older changelogs in the project [history](https://github.com/mbj/mutant/blob/84d119fe49ebad51b213cb08285b95e6e7c4fab6/Changelog.md#v0821-2018-12-03)
|