mutest 0.0.9 → 0.0.10

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 (236) hide show
  1. checksums.yaml +5 -5
  2. data/.circleci/config.yml +38 -0
  3. data/{config/rubocop.yml → .rubocop.yml} +80 -183
  4. data/CHANGELOG.md +8 -0
  5. data/Gemfile +2 -3
  6. data/Gemfile.lock +41 -52
  7. data/README.md +16 -0
  8. data/Rakefile +1 -1
  9. data/lib/mutest.rb +5 -4
  10. data/lib/mutest/actor.rb +7 -6
  11. data/lib/mutest/actor/env.rb +3 -3
  12. data/lib/mutest/actor/mailbox.rb +5 -4
  13. data/lib/mutest/actor/receiver.rb +6 -5
  14. data/lib/mutest/actor/sender.rb +5 -4
  15. data/lib/mutest/ast.rb +4 -3
  16. data/lib/mutest/ast/meta.rb +3 -3
  17. data/lib/mutest/ast/meta/const.rb +7 -5
  18. data/lib/mutest/ast/meta/optarg.rb +6 -5
  19. data/lib/mutest/ast/meta/resbody.rb +6 -5
  20. data/lib/mutest/ast/meta/restarg.rb +6 -5
  21. data/lib/mutest/ast/meta/send.rb +8 -20
  22. data/lib/mutest/ast/meta/symbol.rb +6 -5
  23. data/lib/mutest/ast/named_children.rb +5 -5
  24. data/lib/mutest/ast/node_predicates.rb +4 -4
  25. data/lib/mutest/ast/nodes.rb +3 -3
  26. data/lib/mutest/ast/regexp.rb +3 -3
  27. data/lib/mutest/ast/regexp/transformer.rb +19 -11
  28. data/lib/mutest/ast/regexp/transformer/alternative.rb +6 -6
  29. data/lib/mutest/ast/regexp/transformer/character_set.rb +7 -7
  30. data/lib/mutest/ast/regexp/transformer/direct.rb +7 -7
  31. data/lib/mutest/ast/regexp/transformer/options_group.rb +7 -7
  32. data/lib/mutest/ast/regexp/transformer/quantifier.rb +11 -13
  33. data/lib/mutest/ast/regexp/transformer/recursive.rb +7 -7
  34. data/lib/mutest/ast/regexp/transformer/root.rb +6 -6
  35. data/lib/mutest/ast/regexp/transformer/text.rb +7 -7
  36. data/lib/mutest/ast/sexp.rb +3 -3
  37. data/lib/mutest/ast/types.rb +8 -6
  38. data/lib/mutest/cli.rb +5 -3
  39. data/lib/mutest/color.rb +4 -3
  40. data/lib/mutest/config.rb +4 -3
  41. data/lib/mutest/context.rb +4 -3
  42. data/lib/mutest/diff.rb +5 -3
  43. data/lib/mutest/env.rb +5 -5
  44. data/lib/mutest/env/bootstrap.rb +7 -5
  45. data/lib/mutest/expression.rb +7 -5
  46. data/lib/mutest/expression/method.rb +4 -4
  47. data/lib/mutest/expression/methods.rb +4 -4
  48. data/lib/mutest/expression/namespace.rb +9 -8
  49. data/lib/mutest/expression/parser.rb +9 -8
  50. data/lib/mutest/integration.rb +5 -3
  51. data/lib/mutest/integration/null.rb +3 -3
  52. data/lib/mutest/isolation.rb +2 -2
  53. data/lib/mutest/isolation/fork.rb +4 -4
  54. data/lib/mutest/isolation/none.rb +4 -4
  55. data/lib/mutest/loader.rb +2 -2
  56. data/lib/mutest/matcher.rb +4 -3
  57. data/lib/mutest/matcher/chain.rb +3 -3
  58. data/lib/mutest/matcher/compiler.rb +7 -5
  59. data/lib/mutest/matcher/config.rb +5 -4
  60. data/lib/mutest/matcher/filter.rb +3 -3
  61. data/lib/mutest/matcher/method.rb +13 -13
  62. data/lib/mutest/matcher/method/instance.rb +6 -6
  63. data/lib/mutest/matcher/method/singleton.rb +5 -5
  64. data/lib/mutest/matcher/methods.rb +7 -6
  65. data/lib/mutest/matcher/namespace.rb +3 -3
  66. data/lib/mutest/matcher/null.rb +3 -3
  67. data/lib/mutest/matcher/scope.rb +3 -3
  68. data/lib/mutest/matcher/static.rb +3 -3
  69. data/lib/mutest/meta.rb +4 -4
  70. data/lib/mutest/meta/example.rb +5 -4
  71. data/lib/mutest/meta/example/dsl.rb +12 -11
  72. data/lib/mutest/meta/example/verification.rb +7 -6
  73. data/lib/mutest/mutation.rb +7 -6
  74. data/lib/mutest/mutator.rb +6 -6
  75. data/lib/mutest/mutator/node.rb +19 -7
  76. data/lib/mutest/mutator/node/and_asgn.rb +4 -4
  77. data/lib/mutest/mutator/node/argument.rb +6 -5
  78. data/lib/mutest/mutator/node/arguments.rb +18 -5
  79. data/lib/mutest/mutator/node/begin.rb +4 -4
  80. data/lib/mutest/mutator/node/binary.rb +4 -4
  81. data/lib/mutest/mutator/node/block.rb +6 -5
  82. data/lib/mutest/mutator/node/block_pass.rb +4 -4
  83. data/lib/mutest/mutator/node/break.rb +4 -4
  84. data/lib/mutest/mutator/node/case.rb +6 -4
  85. data/lib/mutest/mutator/node/class.rb +4 -4
  86. data/lib/mutest/mutator/node/conditional_loop.rb +4 -4
  87. data/lib/mutest/mutator/node/const.rb +4 -4
  88. data/lib/mutest/mutator/node/define.rb +6 -6
  89. data/lib/mutest/mutator/node/defined.rb +4 -4
  90. data/lib/mutest/mutator/node/dstr.rb +4 -4
  91. data/lib/mutest/mutator/node/dsym.rb +4 -4
  92. data/lib/mutest/mutator/node/generic.rb +5 -4
  93. data/lib/mutest/mutator/node/if.rb +6 -4
  94. data/lib/mutest/mutator/node/index.rb +128 -0
  95. data/lib/mutest/mutator/node/kwbegin.rb +4 -4
  96. data/lib/mutest/mutator/node/literal.rb +4 -4
  97. data/lib/mutest/mutator/node/literal/array.rb +8 -6
  98. data/lib/mutest/mutator/node/literal/boolean.rb +5 -5
  99. data/lib/mutest/mutator/node/literal/fixnum.rb +5 -5
  100. data/lib/mutest/mutator/node/literal/float.rb +5 -5
  101. data/lib/mutest/mutator/node/literal/hash.rb +6 -6
  102. data/lib/mutest/mutator/node/literal/nil.rb +5 -5
  103. data/lib/mutest/mutator/node/literal/range.rb +5 -5
  104. data/lib/mutest/mutator/node/literal/regex.rb +5 -5
  105. data/lib/mutest/mutator/node/literal/string.rb +5 -5
  106. data/lib/mutest/mutator/node/literal/symbol.rb +5 -5
  107. data/lib/mutest/mutator/node/masgn.rb +4 -4
  108. data/lib/mutest/mutator/node/match_current_line.rb +4 -4
  109. data/lib/mutest/mutator/node/mlhs.rb +4 -4
  110. data/lib/mutest/mutator/node/named_value/access.rb +6 -6
  111. data/lib/mutest/mutator/node/named_value/constant_assignment.rb +6 -5
  112. data/lib/mutest/mutator/node/named_value/variable_assignment.rb +5 -5
  113. data/lib/mutest/mutator/node/next.rb +4 -4
  114. data/lib/mutest/mutator/node/nthref.rb +4 -4
  115. data/lib/mutest/mutator/node/op_asgn.rb +4 -4
  116. data/lib/mutest/mutator/node/or_asgn.rb +5 -4
  117. data/lib/mutest/mutator/node/procarg_zero.rb +45 -0
  118. data/lib/mutest/mutator/node/regexp.rb +6 -6
  119. data/lib/mutest/mutator/node/regexp/alternation_meta.rb +5 -5
  120. data/lib/mutest/mutator/node/regexp/capture_group.rb +5 -5
  121. data/lib/mutest/mutator/node/regexp/character_type.rb +5 -5
  122. data/lib/mutest/mutator/node/regexp/end_of_line_anchor.rb +5 -5
  123. data/lib/mutest/mutator/node/regexp/end_of_string_or_before_end_of_line_anchor.rb +5 -5
  124. data/lib/mutest/mutator/node/regexp/one_or_more.rb +5 -5
  125. data/lib/mutest/mutator/node/regexp/zero_or_more.rb +5 -5
  126. data/lib/mutest/mutator/node/regopt.rb +4 -4
  127. data/lib/mutest/mutator/node/resbody.rb +6 -4
  128. data/lib/mutest/mutator/node/rescue.rb +6 -4
  129. data/lib/mutest/mutator/node/return.rb +5 -4
  130. data/lib/mutest/mutator/node/send.rb +6 -34
  131. data/lib/mutest/mutator/node/send/attribute_assignment.rb +5 -5
  132. data/lib/mutest/mutator/node/send/binary.rb +5 -5
  133. data/lib/mutest/mutator/node/send/conditional.rb +5 -5
  134. data/lib/mutest/mutator/node/splat.rb +4 -4
  135. data/lib/mutest/mutator/node/super.rb +4 -4
  136. data/lib/mutest/mutator/node/when.rb +4 -4
  137. data/lib/mutest/mutator/node/yield.rb +4 -4
  138. data/lib/mutest/mutator/node/zsuper.rb +4 -4
  139. data/lib/mutest/mutator/util.rb +3 -3
  140. data/lib/mutest/mutator/util/array.rb +6 -6
  141. data/lib/mutest/mutator/util/symbol.rb +4 -4
  142. data/lib/mutest/parallel.rb +16 -12
  143. data/lib/mutest/parallel/master.rb +4 -4
  144. data/lib/mutest/parallel/source.rb +6 -5
  145. data/lib/mutest/parallel/worker.rb +6 -5
  146. data/lib/mutest/parser.rb +4 -3
  147. data/lib/mutest/registry.rb +6 -5
  148. data/lib/mutest/reporter.rb +2 -2
  149. data/lib/mutest/reporter/cli.rb +3 -3
  150. data/lib/mutest/reporter/cli/format.rb +9 -8
  151. data/lib/mutest/reporter/cli/printer.rb +8 -8
  152. data/lib/mutest/reporter/cli/printer/config.rb +5 -5
  153. data/lib/mutest/reporter/cli/printer/env_progress.rb +16 -16
  154. data/lib/mutest/reporter/cli/printer/env_result.rb +5 -5
  155. data/lib/mutest/reporter/cli/printer/mutation_progress_result.rb +5 -5
  156. data/lib/mutest/reporter/cli/printer/mutation_result.rb +5 -5
  157. data/lib/mutest/reporter/cli/printer/status.rb +6 -5
  158. data/lib/mutest/reporter/cli/printer/status_progressive.rb +5 -5
  159. data/lib/mutest/reporter/cli/printer/subject_progress.rb +5 -5
  160. data/lib/mutest/reporter/cli/printer/subject_result.rb +5 -5
  161. data/lib/mutest/reporter/cli/printer/test_result.rb +5 -5
  162. data/lib/mutest/reporter/cli/tput.rb +6 -5
  163. data/lib/mutest/reporter/null.rb +3 -3
  164. data/lib/mutest/reporter/sequence.rb +3 -3
  165. data/lib/mutest/repository.rb +9 -7
  166. data/lib/mutest/require_highjack.rb +2 -2
  167. data/lib/mutest/requirer.rb +2 -2
  168. data/lib/mutest/result.rb +18 -12
  169. data/lib/mutest/runner.rb +6 -3
  170. data/lib/mutest/runner/sink.rb +3 -3
  171. data/lib/mutest/scope.rb +2 -2
  172. data/lib/mutest/selector.rb +4 -3
  173. data/lib/mutest/selector/expression.rb +3 -3
  174. data/lib/mutest/source_file.rb +6 -5
  175. data/lib/mutest/subject.rb +5 -3
  176. data/lib/mutest/subject/method.rb +3 -3
  177. data/lib/mutest/subject/method/instance.rb +5 -5
  178. data/lib/mutest/subject/method/singleton.rb +4 -4
  179. data/lib/mutest/test.rb +4 -3
  180. data/lib/mutest/util.rb +3 -3
  181. data/lib/mutest/version.rb +2 -2
  182. data/lib/mutest/warning_filter.rb +3 -3
  183. data/lib/mutest/zombifier.rb +5 -4
  184. data/meta/block.rb +22 -3
  185. data/meta/case.rb +29 -1
  186. data/meta/index.rb +132 -0
  187. data/meta/indexasgn.rb +42 -0
  188. data/meta/lambda.rb +17 -0
  189. data/meta/send.rb +5 -139
  190. data/mutest-rspec.gemspec +1 -1
  191. data/mutest.gemspec +11 -12
  192. data/spec/integration/mutest/rspec_spec.rb +1 -1
  193. data/spec/shared/framework_integration_behavior.rb +1 -1
  194. data/spec/shared/idempotent_method_behavior.rb +2 -1
  195. data/spec/spec_helper.rb +5 -5
  196. data/spec/support/compress_helper.rb +2 -1
  197. data/spec/support/corpus.rb +12 -8
  198. data/spec/support/fake_actor.rb +19 -14
  199. data/spec/support/file_system.rb +10 -7
  200. data/spec/support/ice_nine_config.rb +3 -3
  201. data/spec/support/ruby_vm.rb +10 -11
  202. data/spec/support/shared_context.rb +1 -1
  203. data/spec/support/test_app.rb +1 -1
  204. data/spec/support/warning.rb +8 -7
  205. data/spec/support/xspec.rb +18 -17
  206. data/spec/unit/mutest/actor/binding_spec.rb +1 -0
  207. data/spec/unit/mutest/ast/meta/optarg_spec.rb +1 -0
  208. data/spec/unit/mutest/ast/meta/send/proc_predicate_spec.rb +1 -1
  209. data/spec/unit/mutest/ast/meta/send/receiver_possible_top_level_const_predicate_spec.rb +1 -1
  210. data/spec/unit/mutest/ast/meta/send_spec.rb +14 -18
  211. data/spec/unit/mutest/ast/regexp_spec.rb +4 -3
  212. data/spec/unit/mutest/ast_spec.rb +1 -1
  213. data/spec/unit/mutest/cli_spec.rb +15 -15
  214. data/spec/unit/mutest/env/bootstrap_spec.rb +1 -1
  215. data/spec/unit/mutest/integration_spec.rb +1 -0
  216. data/spec/unit/mutest/isolation/none_spec.rb +1 -1
  217. data/spec/unit/mutest/matcher/config_spec.rb +1 -0
  218. data/spec/unit/mutest/mutator/node_spec.rb +1 -1
  219. data/spec/unit/mutest/parallel/master_spec.rb +3 -3
  220. data/spec/unit/mutest/reporter/cli/printer_spec.rb +2 -0
  221. data/spec/unit/mutest/reporter/cli/tput_spec.rb +2 -0
  222. data/spec/unit/mutest/reporter/cli_spec.rb +2 -0
  223. data/spec/unit/mutest/repository/diff_spec.rb +1 -1
  224. data/spec/unit/mutest/runner_spec.rb +1 -1
  225. data/spec/unit/mutest/subject_spec.rb +1 -1
  226. data/spec/unit/mutest/warning_filter_spec.rb +2 -3
  227. data/spec/unit/mutest/zombifier_spec.rb +1 -1
  228. data/test_app/Gemfile.rspec3.8 +7 -0
  229. metadata +67 -68
  230. data/.buildkite/hooks/pre-command +0 -3
  231. data/.buildkite/pipeline.yml +0 -38
  232. data/.gitmodules +0 -3
  233. data/circle.yml +0 -10
  234. data/config/triage.yml +0 -2
  235. data/config/yardstick.yml +0 -2
  236. data/lib/mutest/mutator/node/send/index.rb +0 -47
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mutest
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.9
4
+ version: 0.0.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniel Gollahon
@@ -9,224 +9,224 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2018-04-23 00:00:00.000000000 Z
12
+ date: 2019-02-11 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
- name: parser
15
+ name: abstract_type
16
16
  requirement: !ruby/object:Gem::Requirement
17
17
  requirements:
18
- - - ">="
19
- - !ruby/object:Gem::Version
20
- version: 2.5.0.1
21
- - - "<"
18
+ - - "~>"
22
19
  - !ruby/object:Gem::Version
23
- version: '2.6'
20
+ version: 0.0.7
24
21
  type: :runtime
25
22
  prerelease: false
26
23
  version_requirements: !ruby/object:Gem::Requirement
27
24
  requirements:
28
- - - ">="
29
- - !ruby/object:Gem::Version
30
- version: 2.5.0.1
31
- - - "<"
25
+ - - "~>"
32
26
  - !ruby/object:Gem::Version
33
- version: '2.6'
27
+ version: 0.0.7
34
28
  - !ruby/object:Gem::Dependency
35
- name: ast
29
+ name: adamantium
36
30
  requirement: !ruby/object:Gem::Requirement
37
31
  requirements:
38
32
  - - "~>"
39
33
  - !ruby/object:Gem::Version
40
- version: '2.2'
34
+ version: 0.2.0
41
35
  type: :runtime
42
36
  prerelease: false
43
37
  version_requirements: !ruby/object:Gem::Requirement
44
38
  requirements:
45
39
  - - "~>"
46
40
  - !ruby/object:Gem::Version
47
- version: '2.2'
41
+ version: 0.2.0
48
42
  - !ruby/object:Gem::Dependency
49
- name: diff-lcs
43
+ name: anima
50
44
  requirement: !ruby/object:Gem::Requirement
51
45
  requirements:
52
46
  - - "~>"
53
47
  - !ruby/object:Gem::Version
54
- version: '1.2'
48
+ version: 0.3.0
55
49
  type: :runtime
56
50
  prerelease: false
57
51
  version_requirements: !ruby/object:Gem::Requirement
58
52
  requirements:
59
53
  - - "~>"
60
54
  - !ruby/object:Gem::Version
61
- version: '1.2'
55
+ version: 0.3.0
62
56
  - !ruby/object:Gem::Dependency
63
- name: parallel
57
+ name: ast
64
58
  requirement: !ruby/object:Gem::Requirement
65
59
  requirements:
66
60
  - - "~>"
67
61
  - !ruby/object:Gem::Version
68
- version: '1.3'
62
+ version: '2.2'
69
63
  type: :runtime
70
64
  prerelease: false
71
65
  version_requirements: !ruby/object:Gem::Requirement
72
66
  requirements:
73
67
  - - "~>"
74
68
  - !ruby/object:Gem::Version
75
- version: '1.3'
69
+ version: '2.2'
76
70
  - !ruby/object:Gem::Dependency
77
- name: morpher
71
+ name: concord
78
72
  requirement: !ruby/object:Gem::Requirement
79
73
  requirements:
80
74
  - - "~>"
81
75
  - !ruby/object:Gem::Version
82
- version: 0.2.6
76
+ version: 0.1.5
83
77
  type: :runtime
84
78
  prerelease: false
85
79
  version_requirements: !ruby/object:Gem::Requirement
86
80
  requirements:
87
81
  - - "~>"
88
82
  - !ruby/object:Gem::Version
89
- version: 0.2.6
83
+ version: 0.1.5
90
84
  - !ruby/object:Gem::Dependency
91
- name: procto
85
+ name: diff-lcs
92
86
  requirement: !ruby/object:Gem::Requirement
93
87
  requirements:
94
88
  - - "~>"
95
89
  - !ruby/object:Gem::Version
96
- version: 0.0.2
90
+ version: '1.2'
97
91
  type: :runtime
98
92
  prerelease: false
99
93
  version_requirements: !ruby/object:Gem::Requirement
100
94
  requirements:
101
95
  - - "~>"
102
96
  - !ruby/object:Gem::Version
103
- version: 0.0.2
97
+ version: '1.2'
104
98
  - !ruby/object:Gem::Dependency
105
- name: abstract_type
99
+ name: equalizer
106
100
  requirement: !ruby/object:Gem::Requirement
107
101
  requirements:
108
102
  - - "~>"
109
103
  - !ruby/object:Gem::Version
110
- version: 0.0.7
104
+ version: 0.0.9
111
105
  type: :runtime
112
106
  prerelease: false
113
107
  version_requirements: !ruby/object:Gem::Requirement
114
108
  requirements:
115
109
  - - "~>"
116
110
  - !ruby/object:Gem::Version
117
- version: 0.0.7
111
+ version: 0.0.9
118
112
  - !ruby/object:Gem::Dependency
119
- name: unparser
113
+ name: ice_nine
120
114
  requirement: !ruby/object:Gem::Requirement
121
115
  requirements:
122
116
  - - "~>"
123
117
  - !ruby/object:Gem::Version
124
- version: 0.2.5
118
+ version: 0.11.1
125
119
  type: :runtime
126
120
  prerelease: false
127
121
  version_requirements: !ruby/object:Gem::Requirement
128
122
  requirements:
129
123
  - - "~>"
130
124
  - !ruby/object:Gem::Version
131
- version: 0.2.5
125
+ version: 0.11.1
132
126
  - !ruby/object:Gem::Dependency
133
- name: ice_nine
127
+ name: memoizable
134
128
  requirement: !ruby/object:Gem::Requirement
135
129
  requirements:
136
130
  - - "~>"
137
131
  - !ruby/object:Gem::Version
138
- version: 0.11.1
132
+ version: 0.4.2
139
133
  type: :runtime
140
134
  prerelease: false
141
135
  version_requirements: !ruby/object:Gem::Requirement
142
136
  requirements:
143
137
  - - "~>"
144
138
  - !ruby/object:Gem::Version
145
- version: 0.11.1
139
+ version: 0.4.2
146
140
  - !ruby/object:Gem::Dependency
147
- name: adamantium
141
+ name: morpher
148
142
  requirement: !ruby/object:Gem::Requirement
149
143
  requirements:
150
144
  - - "~>"
151
145
  - !ruby/object:Gem::Version
152
- version: 0.2.0
146
+ version: 0.2.6
153
147
  type: :runtime
154
148
  prerelease: false
155
149
  version_requirements: !ruby/object:Gem::Requirement
156
150
  requirements:
157
151
  - - "~>"
158
152
  - !ruby/object:Gem::Version
159
- version: 0.2.0
153
+ version: 0.2.6
160
154
  - !ruby/object:Gem::Dependency
161
- name: memoizable
155
+ name: parallel
162
156
  requirement: !ruby/object:Gem::Requirement
163
157
  requirements:
164
158
  - - "~>"
165
159
  - !ruby/object:Gem::Version
166
- version: 0.4.2
160
+ version: '1.3'
167
161
  type: :runtime
168
162
  prerelease: false
169
163
  version_requirements: !ruby/object:Gem::Requirement
170
164
  requirements:
171
165
  - - "~>"
172
166
  - !ruby/object:Gem::Version
173
- version: 0.4.2
167
+ version: '1.3'
174
168
  - !ruby/object:Gem::Dependency
175
- name: equalizer
169
+ name: parser
176
170
  requirement: !ruby/object:Gem::Requirement
177
171
  requirements:
178
- - - "~>"
172
+ - - ">="
179
173
  - !ruby/object:Gem::Version
180
- version: 0.0.9
174
+ version: 2.5.0.1
175
+ - - "<"
176
+ - !ruby/object:Gem::Version
177
+ version: '2.6'
181
178
  type: :runtime
182
179
  prerelease: false
183
180
  version_requirements: !ruby/object:Gem::Requirement
184
181
  requirements:
185
- - - "~>"
182
+ - - ">="
186
183
  - !ruby/object:Gem::Version
187
- version: 0.0.9
184
+ version: 2.5.0.1
185
+ - - "<"
186
+ - !ruby/object:Gem::Version
187
+ version: '2.6'
188
188
  - !ruby/object:Gem::Dependency
189
- name: anima
189
+ name: procto
190
190
  requirement: !ruby/object:Gem::Requirement
191
191
  requirements:
192
192
  - - "~>"
193
193
  - !ruby/object:Gem::Version
194
- version: 0.3.0
194
+ version: 0.0.2
195
195
  type: :runtime
196
196
  prerelease: false
197
197
  version_requirements: !ruby/object:Gem::Requirement
198
198
  requirements:
199
199
  - - "~>"
200
200
  - !ruby/object:Gem::Version
201
- version: 0.3.0
201
+ version: 0.0.2
202
202
  - !ruby/object:Gem::Dependency
203
- name: concord
203
+ name: regexp_parser
204
204
  requirement: !ruby/object:Gem::Requirement
205
205
  requirements:
206
206
  - - "~>"
207
207
  - !ruby/object:Gem::Version
208
- version: 0.1.5
208
+ version: 0.4.9
209
209
  type: :runtime
210
210
  prerelease: false
211
211
  version_requirements: !ruby/object:Gem::Requirement
212
212
  requirements:
213
213
  - - "~>"
214
214
  - !ruby/object:Gem::Version
215
- version: 0.1.5
215
+ version: 0.4.9
216
216
  - !ruby/object:Gem::Dependency
217
- name: regexp_parser
217
+ name: unparser
218
218
  requirement: !ruby/object:Gem::Requirement
219
219
  requirements:
220
220
  - - "~>"
221
221
  - !ruby/object:Gem::Version
222
- version: 0.4.9
222
+ version: 0.4.2
223
223
  type: :runtime
224
224
  prerelease: false
225
225
  version_requirements: !ruby/object:Gem::Requirement
226
226
  requirements:
227
227
  - - "~>"
228
228
  - !ruby/object:Gem::Version
229
- version: 0.4.9
229
+ version: 0.4.2
230
230
  description: Mutation testing for ruby
231
231
  email:
232
232
  - johncbackus@gmail.com
@@ -237,12 +237,11 @@ extensions: []
237
237
  extra_rdoc_files:
238
238
  - LICENSE
239
239
  files:
240
- - ".buildkite/hooks/pre-command"
241
- - ".buildkite/pipeline.yml"
240
+ - ".circleci/config.yml"
242
241
  - ".gitattributes"
243
242
  - ".gitignore"
244
- - ".gitmodules"
245
243
  - ".rspec"
244
+ - ".rubocop.yml"
246
245
  - CHANGELOG.md
247
246
  - Gemfile
248
247
  - Gemfile.lock
@@ -251,10 +250,6 @@ files:
251
250
  - README.md
252
251
  - Rakefile
253
252
  - bin/mutest
254
- - circle.yml
255
- - config/rubocop.yml
256
- - config/triage.yml
257
- - config/yardstick.yml
258
253
  - lib/mutest.rb
259
254
  - lib/mutest/actor.rb
260
255
  - lib/mutest/actor/env.rb
@@ -340,6 +335,7 @@ files:
340
335
  - lib/mutest/mutator/node/dsym.rb
341
336
  - lib/mutest/mutator/node/generic.rb
342
337
  - lib/mutest/mutator/node/if.rb
338
+ - lib/mutest/mutator/node/index.rb
343
339
  - lib/mutest/mutator/node/kwbegin.rb
344
340
  - lib/mutest/mutator/node/literal.rb
345
341
  - lib/mutest/mutator/node/literal/array.rb
@@ -362,6 +358,7 @@ files:
362
358
  - lib/mutest/mutator/node/nthref.rb
363
359
  - lib/mutest/mutator/node/op_asgn.rb
364
360
  - lib/mutest/mutator/node/or_asgn.rb
361
+ - lib/mutest/mutator/node/procarg_zero.rb
365
362
  - lib/mutest/mutator/node/regexp.rb
366
363
  - lib/mutest/mutator/node/regexp/alternation_meta.rb
367
364
  - lib/mutest/mutator/node/regexp/capture_group.rb
@@ -378,7 +375,6 @@ files:
378
375
  - lib/mutest/mutator/node/send/attribute_assignment.rb
379
376
  - lib/mutest/mutator/node/send/binary.rb
380
377
  - lib/mutest/mutator/node/send/conditional.rb
381
- - lib/mutest/mutator/node/send/index.rb
382
378
  - lib/mutest/mutator/node/splat.rb
383
379
  - lib/mutest/mutator/node/super.rb
384
380
  - lib/mutest/mutator/node/when.rb
@@ -457,6 +453,8 @@ files:
457
453
  - meta/gvasgn.rb
458
454
  - meta/hash.rb
459
455
  - meta/if.rb
456
+ - meta/index.rb
457
+ - meta/indexasgn.rb
460
458
  - meta/int.rb
461
459
  - meta/ivar.rb
462
460
  - meta/ivasgn.rb
@@ -464,6 +462,7 @@ files:
464
462
  - meta/kwbegin.rb
465
463
  - meta/kwoptarg.rb
466
464
  - meta/kwrestarg.rb
465
+ - meta/lambda.rb
467
466
  - meta/lvar.rb
468
467
  - meta/lvasgn.rb
469
468
  - meta/masgn.rb
@@ -629,6 +628,7 @@ files:
629
628
  - test_app/Gemfile.rspec3.5
630
629
  - test_app/Gemfile.rspec3.6
631
630
  - test_app/Gemfile.rspec3.7
631
+ - test_app/Gemfile.rspec3.8
632
632
  - test_app/lib/test_app.rb
633
633
  - test_app/lib/test_app/literal.rb
634
634
  - test_app/spec/spec_helper.rb
@@ -645,15 +645,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
645
645
  requirements:
646
646
  - - ">="
647
647
  - !ruby/object:Gem::Version
648
- version: '2.1'
648
+ version: '2.3'
649
649
  required_rubygems_version: !ruby/object:Gem::Requirement
650
650
  requirements:
651
651
  - - ">="
652
652
  - !ruby/object:Gem::Version
653
653
  version: '0'
654
654
  requirements: []
655
- rubyforge_project:
656
- rubygems_version: 2.6.13
655
+ rubygems_version: 3.0.1
657
656
  signing_key:
658
657
  specification_version: 4
659
658
  summary: Mutation testing for ruby
@@ -1,3 +0,0 @@
1
- #!/bin/bash
2
-
3
- docker pull backus/ruby-matrix
@@ -1,38 +0,0 @@
1
- steps:
2
- - command: "build/run 2.3.3 'rspec spec/unit'"
3
- label: ":rspec: RSpec"
4
- agents:
5
- - queue=elastic
6
- env:
7
- COVERAGE: 'true'
8
-
9
- - name: ':rspec: Corpus tests (rubyspec)'
10
- command: build/run 2.3.3 'rspec --tag corpus:rubyspec'
11
- agents:
12
- - queue=elastic
13
-
14
- - name: ':rspec: Corpus tests (regexp_parser)'
15
- command: build/run 2.3.3 'rspec --tag corpus:regexp_parser'
16
- agents:
17
- - queue=elastic
18
-
19
- - name: ':rspec: Corpus tests (axiom)'
20
- command: build/run 2.3.3 'rspec --tag corpus:axiom'
21
- agents:
22
- - queue=elastic
23
-
24
- - name: ':rspec: Integration tests'
25
- command: build/run 2.3.3 'rspec --exclude-pattern "**/corpus_spec.rb" --format documentation spec/integration'
26
- agents:
27
- - queue=elastic
28
-
29
- - name: ':skull: Mutest'
30
- command: build/run 2.3.3 'rake metrics:mutest'
31
- timeout_in_minutes: 10
32
- agents:
33
- - queue=elastic
34
-
35
- - name: ':rubocop: Rubocop'
36
- command: build/run 2.3.3 'rubocop --config config/rubocop.yml'
37
- agents:
38
- - queue=elastic
@@ -1,3 +0,0 @@
1
- [submodule "build"]
2
- path = build
3
- url = https://github.com/backus/buildkite-ruby-matrix.git
data/circle.yml DELETED
@@ -1,10 +0,0 @@
1
- ---
2
- machine:
3
- ruby:
4
- version: '2.3.3'
5
- test:
6
- override:
7
- - bundle exec rubocop --config config/rubocop.yml
8
- - COVERAGE=true bundle exec rspec spec/unit
9
- - bundle exec rspec spec/integration
10
- - bundle exec rake metrics:mutest
@@ -1,2 +0,0 @@
1
- ---
2
- unit_test_timeout: 5.0
@@ -1,2 +0,0 @@
1
- ---
2
- threshold: 100
@@ -1,47 +0,0 @@
1
- module Mutest
2
- class Mutator
3
- class Node
4
- class Send
5
- # Base mutator for index operations
6
- class Index < self
7
- # Mutator for index assignments
8
- class Assign < self
9
- define_named_child(:value, -1)
10
-
11
- INDEX_RANGE = (2..-2).freeze
12
-
13
- private
14
-
15
- # Emit mutations
16
- #
17
- # @return [undefined]
18
- def dispatch
19
- emit_naked_receiver
20
- emit_value_mutations
21
- emit_index_read
22
- emit(value)
23
- mutate_indices
24
- end
25
-
26
- # Mutate indices
27
- #
28
- # @return [undefined]
29
- def mutate_indices
30
- children_indices(INDEX_RANGE).each do |index|
31
- delete_child(index)
32
- mutate_child(index)
33
- end
34
- end
35
-
36
- # Emit index read
37
- #
38
- # @return [undefined]
39
- def emit_index_read
40
- emit_type(receiver, :[], *children[INDEX_RANGE])
41
- end
42
- end # Assign
43
- end # Index
44
- end # Send
45
- end # Node
46
- end # Mutator
47
- end # Mutest