mutest 0.0.9 → 0.0.10

Sign up to get free protection for your applications and to get access to all the features.
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