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.
Files changed (254) 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 +53 -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/literal/range.rb +5 -2
  28. data/lib/mutant/mutator/node/named_value/variable_assignment.rb +1 -1
  29. data/lib/mutant/mutator/node/noop.rb +1 -1
  30. data/lib/mutant/mutator/node/op_asgn.rb +15 -1
  31. data/lib/mutant/mutator/node/send.rb +25 -1
  32. data/lib/mutant/mutator/node/send/attribute_assignment.rb +1 -0
  33. data/lib/mutant/reporter/cli/printer/isolation_result.rb +9 -3
  34. data/lib/mutant/subject/method/instance.rb +1 -1
  35. data/lib/mutant/version.rb +1 -1
  36. metadata +18 -336
  37. data/.github/workflows/ci.yml +0 -121
  38. data/.gitignore +0 -38
  39. data/.rspec +0 -5
  40. data/.rubocop.yml +0 -210
  41. data/Changelog.md +0 -87
  42. data/Gemfile +0 -7
  43. data/Gemfile.lock +0 -107
  44. data/Gemfile.shared +0 -10
  45. data/README.md +0 -199
  46. data/Rakefile +0 -5
  47. data/config/devtools.yml +0 -2
  48. data/config/reek.yml +0 -139
  49. data/config/yardstick.yml +0 -2
  50. data/docs/commercial-support.md +0 -14
  51. data/docs/concurrency.md +0 -39
  52. data/docs/incremental.md +0 -76
  53. data/docs/known-problems.md +0 -30
  54. data/docs/limitations.md +0 -50
  55. data/docs/mutant-minitest.md +0 -149
  56. data/docs/mutant-rspec.md +0 -130
  57. data/docs/nomenclature.md +0 -82
  58. data/docs/reading-reports.md +0 -74
  59. data/lib/mutant/mutator/node/dsym.rb +0 -22
  60. data/meta/and.rb +0 -13
  61. data/meta/and_asgn.rb +0 -14
  62. data/meta/array.rb +0 -27
  63. data/meta/begin.rb +0 -20
  64. data/meta/block.rb +0 -199
  65. data/meta/block_pass.rb +0 -8
  66. data/meta/blockarg.rb +0 -10
  67. data/meta/break.rb +0 -9
  68. data/meta/case.rb +0 -217
  69. data/meta/casgn.rb +0 -25
  70. data/meta/cbase.rb +0 -8
  71. data/meta/class.rb +0 -12
  72. data/meta/const.rb +0 -17
  73. data/meta/csend.rb +0 -10
  74. data/meta/cvar.rb +0 -7
  75. data/meta/cvasgn.rb +0 -9
  76. data/meta/date.rb +0 -59
  77. data/meta/def.rb +0 -196
  78. data/meta/defined.rb +0 -9
  79. data/meta/dstr.rb +0 -13
  80. data/meta/dsym.rb +0 -14
  81. data/meta/ensure.rb +0 -8
  82. data/meta/false.rb +0 -7
  83. data/meta/file.rb +0 -5
  84. data/meta/float.rb +0 -37
  85. data/meta/gvar.rb +0 -7
  86. data/meta/gvasgn.rb +0 -9
  87. data/meta/hash.rb +0 -20
  88. data/meta/if.rb +0 -72
  89. data/meta/index.rb +0 -133
  90. data/meta/indexasgn.rb +0 -31
  91. data/meta/int.rb +0 -18
  92. data/meta/ivar.rb +0 -8
  93. data/meta/ivasgn.rb +0 -22
  94. data/meta/kwarg.rb +0 -10
  95. data/meta/kwbegin.rb +0 -8
  96. data/meta/kwoptarg.rb +0 -13
  97. data/meta/lambda.rb +0 -23
  98. data/meta/line.rb +0 -5
  99. data/meta/lvar.rb +0 -16
  100. data/meta/lvasgn.rb +0 -24
  101. data/meta/masgn.rb +0 -7
  102. data/meta/match_current_line.rb +0 -14
  103. data/meta/next.rb +0 -10
  104. data/meta/nil.rb +0 -5
  105. data/meta/nthref.rb +0 -14
  106. data/meta/op_assgn.rb +0 -17
  107. data/meta/or.rb +0 -13
  108. data/meta/or_asgn.rb +0 -50
  109. data/meta/range.rb +0 -65
  110. data/meta/redo.rb +0 -5
  111. data/meta/regexp.rb +0 -80
  112. data/meta/regopt.rb +0 -10
  113. data/meta/rescue.rb +0 -84
  114. data/meta/return.rb +0 -16
  115. data/meta/sclass.rb +0 -12
  116. data/meta/self.rb +0 -7
  117. data/meta/send.rb +0 -600
  118. data/meta/str.rb +0 -7
  119. data/meta/super.rb +0 -27
  120. data/meta/sym.rb +0 -8
  121. data/meta/true.rb +0 -7
  122. data/meta/until.rb +0 -16
  123. data/meta/while.rb +0 -24
  124. data/meta/yield.rb +0 -9
  125. data/mutant-minitest.gemspec +0 -22
  126. data/mutant-rspec.gemspec +0 -22
  127. data/mutant.gemspec +0 -44
  128. data/mutant.sh +0 -12
  129. data/mutant.yml +0 -6
  130. data/spec/integration/mutant/corpus_spec.rb +0 -15
  131. data/spec/integration/mutant/isolation/fork_spec.rb +0 -28
  132. data/spec/integration/mutant/minitest_spec.rb +0 -11
  133. data/spec/integration/mutant/null_spec.rb +0 -16
  134. data/spec/integration/mutant/rspec_spec.rb +0 -15
  135. data/spec/integration/mutant/test_mutator_handles_types_spec.rb +0 -9
  136. data/spec/integrations.yml +0 -63
  137. data/spec/shared/framework_integration_behavior.rb +0 -70
  138. data/spec/shared/method_matcher_behavior.rb +0 -47
  139. data/spec/spec_helper.rb +0 -90
  140. data/spec/support/corpus.rb +0 -318
  141. data/spec/support/file_system.rb +0 -62
  142. data/spec/support/ice_nine_config.rb +0 -10
  143. data/spec/support/ruby_vm.rb +0 -84
  144. data/spec/support/shared_context.rb +0 -169
  145. data/spec/support/xspec.rb +0 -183
  146. data/spec/unit/mutant/ast/find_metaclass_containing_spec.rb +0 -64
  147. data/spec/unit/mutant/ast/meta/optarg_spec.rb +0 -24
  148. data/spec/unit/mutant/ast/meta/send/proc_predicate_spec.rb +0 -30
  149. data/spec/unit/mutant/ast/meta/send/receiver_possible_top_level_const_predicate_spec.rb +0 -39
  150. data/spec/unit/mutant/ast/meta/send_spec.rb +0 -42
  151. data/spec/unit/mutant/ast/named_children_spec.rb +0 -89
  152. data/spec/unit/mutant/ast/sexp_spec.rb +0 -38
  153. data/spec/unit/mutant/ast_spec.rb +0 -57
  154. data/spec/unit/mutant/bootstrap_spec.rb +0 -216
  155. data/spec/unit/mutant/cli_spec.rb +0 -305
  156. data/spec/unit/mutant/clock_monotonic_spec.rb +0 -52
  157. data/spec/unit/mutant/config_spec.rb +0 -126
  158. data/spec/unit/mutant/context_spec.rb +0 -111
  159. data/spec/unit/mutant/env_spec.rb +0 -229
  160. data/spec/unit/mutant/expression/method_spec.rb +0 -62
  161. data/spec/unit/mutant/expression/methods_spec.rb +0 -66
  162. data/spec/unit/mutant/expression/namespace/exact_spec.rb +0 -28
  163. data/spec/unit/mutant/expression/namespace/recursive_spec.rb +0 -66
  164. data/spec/unit/mutant/expression/parser_spec.rb +0 -65
  165. data/spec/unit/mutant/expression_spec.rb +0 -45
  166. data/spec/unit/mutant/integration/rspec_spec.rb +0 -201
  167. data/spec/unit/mutant/integration_spec.rb +0 -150
  168. data/spec/unit/mutant/isolation/fork_spec.rb +0 -309
  169. data/spec/unit/mutant/isolation/none_spec.rb +0 -23
  170. data/spec/unit/mutant/isolation/result_spec.rb +0 -73
  171. data/spec/unit/mutant/license_spec.rb +0 -305
  172. data/spec/unit/mutant/loader_spec.rb +0 -79
  173. data/spec/unit/mutant/matcher/chain_spec.rb +0 -26
  174. data/spec/unit/mutant/matcher/compiler_spec.rb +0 -0
  175. data/spec/unit/mutant/matcher/config_spec.rb +0 -47
  176. data/spec/unit/mutant/matcher/filter_spec.rb +0 -22
  177. data/spec/unit/mutant/matcher/method/instance_spec.rb +0 -164
  178. data/spec/unit/mutant/matcher/method/metaclass_spec.rb +0 -108
  179. data/spec/unit/mutant/matcher/method/singleton_spec.rb +0 -90
  180. data/spec/unit/mutant/matcher/methods/instance_spec.rb +0 -54
  181. data/spec/unit/mutant/matcher/methods/metaclass_spec.rb +0 -62
  182. data/spec/unit/mutant/matcher/methods/singleton_spec.rb +0 -51
  183. data/spec/unit/mutant/matcher/namespace_spec.rb +0 -39
  184. data/spec/unit/mutant/matcher/null_spec.rb +0 -12
  185. data/spec/unit/mutant/matcher/scope_spec.rb +0 -45
  186. data/spec/unit/mutant/matcher/static_spec.rb +0 -13
  187. data/spec/unit/mutant/matcher_spec.rb +0 -102
  188. data/spec/unit/mutant/meta/example/dsl_spec.rb +0 -108
  189. data/spec/unit/mutant/meta/example/verification_spec.rb +0 -154
  190. data/spec/unit/mutant/meta/example_spec.rb +0 -34
  191. data/spec/unit/mutant/mutation_spec.rb +0 -140
  192. data/spec/unit/mutant/mutator/node_spec.rb +0 -47
  193. data/spec/unit/mutant/mutator_spec.rb +0 -21
  194. data/spec/unit/mutant/parallel/driver_spec.rb +0 -126
  195. data/spec/unit/mutant/parallel/source/array_spec.rb +0 -57
  196. data/spec/unit/mutant/parallel/worker_spec.rb +0 -206
  197. data/spec/unit/mutant/parallel_spec.rb +0 -115
  198. data/spec/unit/mutant/parser_spec.rb +0 -26
  199. data/spec/unit/mutant/range_spec.rb +0 -141
  200. data/spec/unit/mutant/registry_spec.rb +0 -74
  201. data/spec/unit/mutant/reporter/cli/printer/config_spec.rb +0 -17
  202. data/spec/unit/mutant/reporter/cli/printer/env_progress_spec.rb +0 -85
  203. data/spec/unit/mutant/reporter/cli/printer/env_result_spec.rb +0 -45
  204. data/spec/unit/mutant/reporter/cli/printer/isolation_result_spec.rb +0 -132
  205. data/spec/unit/mutant/reporter/cli/printer/mutation_progress_result_spec.rb +0 -25
  206. data/spec/unit/mutant/reporter/cli/printer/mutation_result_spec.rb +0 -153
  207. data/spec/unit/mutant/reporter/cli/printer/status_progressive_spec.rb +0 -45
  208. data/spec/unit/mutant/reporter/cli/printer/subject_progress_spec.rb +0 -36
  209. data/spec/unit/mutant/reporter/cli/printer/subject_result_spec.rb +0 -44
  210. data/spec/unit/mutant/reporter/cli/printer/test_result_spec.rb +0 -16
  211. data/spec/unit/mutant/reporter/cli/printer_spec.rb +0 -163
  212. data/spec/unit/mutant/reporter/cli_spec.rb +0 -137
  213. data/spec/unit/mutant/reporter/null_spec.rb +0 -14
  214. data/spec/unit/mutant/reporter/sequence_spec.rb +0 -31
  215. data/spec/unit/mutant/repository/diff/ranges_spec.rb +0 -180
  216. data/spec/unit/mutant/repository/diff_spec.rb +0 -122
  217. data/spec/unit/mutant/repository/subject_filter_spec.rb +0 -30
  218. data/spec/unit/mutant/require_highjack_spec.rb +0 -73
  219. data/spec/unit/mutant/result/class_methods_spec.rb +0 -51
  220. data/spec/unit/mutant/result/env_spec.rb +0 -161
  221. data/spec/unit/mutant/result/mutation_spec.rb +0 -70
  222. data/spec/unit/mutant/result/subject_spec.rb +0 -111
  223. data/spec/unit/mutant/result/test_spec.rb +0 -14
  224. data/spec/unit/mutant/result_spec.rb +0 -33
  225. data/spec/unit/mutant/runner/sink_spec.rb +0 -174
  226. data/spec/unit/mutant/runner_spec.rb +0 -121
  227. data/spec/unit/mutant/selector/expression_spec.rb +0 -62
  228. data/spec/unit/mutant/selector/null_spec.rb +0 -17
  229. data/spec/unit/mutant/subject/method/instance_spec.rb +0 -276
  230. data/spec/unit/mutant/subject/method/metaclass_spec.rb +0 -63
  231. data/spec/unit/mutant/subject/method/singleton_spec.rb +0 -61
  232. data/spec/unit/mutant/subject_spec.rb +0 -93
  233. data/spec/unit/mutant/transform/array_spec.rb +0 -92
  234. data/spec/unit/mutant/transform/bool_spec.rb +0 -63
  235. data/spec/unit/mutant/transform/error_spec.rb +0 -132
  236. data/spec/unit/mutant/transform/exception_spec.rb +0 -44
  237. data/spec/unit/mutant/transform/hash_spec.rb +0 -236
  238. data/spec/unit/mutant/transform/index_spec.rb +0 -92
  239. data/spec/unit/mutant/transform/named_spec.rb +0 -49
  240. data/spec/unit/mutant/transform/primitive_spec.rb +0 -56
  241. data/spec/unit/mutant/transform/sequence_spec.rb +0 -98
  242. data/spec/unit/mutant/util/one_spec.rb +0 -22
  243. data/spec/unit/mutant/warnings_spec.rb +0 -89
  244. data/spec/unit/mutant/world_spec.rb +0 -63
  245. data/spec/unit/mutant/zombifier_spec.rb +0 -122
  246. data/test_app/.rspec +0 -1
  247. data/test_app/Gemfile.minitest +0 -6
  248. data/test_app/Gemfile.rspec3.8 +0 -7
  249. data/test_app/lib/test_app.rb +0 -114
  250. data/test_app/lib/test_app/literal.rb +0 -35
  251. data/test_app/lib/test_app/metaclasses.rb +0 -108
  252. data/test_app/spec/spec_helper.rb +0 -9
  253. data/test_app/spec/unit/test_app/literal_spec.rb +0 -20
  254. data/test_app/test/unit/test_app/literal_test.rb +0 -16
@@ -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
@@ -1,5 +0,0 @@
1
- --color
2
- --require spec_helper
3
- --format progress
4
- --warnings
5
- --order random
@@ -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
@@ -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)