mutant 0.9.7 → 0.9.12

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 (336) hide show
  1. checksums.yaml +4 -4
  2. data/lib/mutant.rb +5 -2
  3. data/lib/mutant/ast.rb +0 -9
  4. data/lib/mutant/ast/find_metaclass_containing.rb +48 -0
  5. data/lib/mutant/ast/meta/send.rb +0 -6
  6. data/lib/mutant/bootstrap.rb +0 -36
  7. data/lib/mutant/cli.rb +5 -49
  8. data/lib/mutant/config.rb +0 -8
  9. data/lib/mutant/context.rb +0 -3
  10. data/lib/mutant/env.rb +0 -6
  11. data/lib/mutant/expression/method.rb +6 -6
  12. data/lib/mutant/expression/methods.rb +6 -6
  13. data/lib/mutant/expression/parser.rb +0 -6
  14. data/lib/mutant/integration.rb +0 -18
  15. data/lib/mutant/isolation.rb +1 -1
  16. data/lib/mutant/isolation/fork.rb +2 -24
  17. data/lib/mutant/isolation/none.rb +1 -1
  18. data/lib/mutant/license.rb +11 -0
  19. data/lib/mutant/matcher.rb +0 -14
  20. data/lib/mutant/matcher/config.rb +0 -11
  21. data/lib/mutant/matcher/method.rb +0 -31
  22. data/lib/mutant/matcher/method/instance.rb +0 -8
  23. data/lib/mutant/matcher/method/metaclass.rb +86 -0
  24. data/lib/mutant/matcher/method/singleton.rb +0 -25
  25. data/lib/mutant/matcher/methods.rb +17 -28
  26. data/lib/mutant/matcher/namespace.rb +0 -10
  27. data/lib/mutant/matcher/scope.rb +2 -4
  28. data/lib/mutant/meta/example/dsl.rb +0 -21
  29. data/lib/mutant/meta/example/verification.rb +0 -20
  30. data/lib/mutant/minitest/coverage.rb +53 -0
  31. data/lib/mutant/mutation.rb +0 -3
  32. data/lib/mutant/mutator.rb +1 -29
  33. data/lib/mutant/mutator/node.rb +1 -66
  34. data/lib/mutant/mutator/node/and_asgn.rb +0 -3
  35. data/lib/mutant/mutator/node/argument.rb +0 -15
  36. data/lib/mutant/mutator/node/arguments.rb +0 -20
  37. data/lib/mutant/mutator/node/begin.rb +0 -3
  38. data/lib/mutant/mutator/node/binary.rb +0 -23
  39. data/lib/mutant/mutator/node/block.rb +0 -15
  40. data/lib/mutant/mutator/node/block_pass.rb +29 -0
  41. data/lib/mutant/mutator/node/break.rb +0 -3
  42. data/lib/mutant/mutator/node/case.rb +0 -9
  43. data/lib/mutant/mutator/node/class.rb +0 -3
  44. data/lib/mutant/mutator/node/conditional_loop.rb +0 -3
  45. data/lib/mutant/mutator/node/const.rb +0 -3
  46. data/lib/mutant/mutator/node/define.rb +0 -11
  47. data/lib/mutant/mutator/node/defined.rb +0 -3
  48. data/lib/mutant/mutator/node/dstr.rb +0 -3
  49. data/lib/mutant/mutator/node/dsym.rb +0 -3
  50. data/lib/mutant/mutator/node/generic.rb +0 -74
  51. data/lib/mutant/mutator/node/if.rb +0 -12
  52. data/lib/mutant/mutator/node/index.rb +0 -27
  53. data/lib/mutant/mutator/node/kwbegin.rb +0 -3
  54. data/lib/mutant/mutator/node/literal.rb +0 -3
  55. data/lib/mutant/mutator/node/literal/array.rb +0 -6
  56. data/lib/mutant/mutator/node/literal/boolean.rb +0 -4
  57. data/lib/mutant/mutator/node/literal/float.rb +0 -9
  58. data/lib/mutant/mutator/node/literal/hash.rb +0 -9
  59. data/lib/mutant/mutator/node/literal/integer.rb +0 -9
  60. data/lib/mutant/mutator/node/literal/nil.rb +0 -3
  61. data/lib/mutant/mutator/node/literal/range.rb +4 -7
  62. data/lib/mutant/mutator/node/literal/regex.rb +0 -6
  63. data/lib/mutant/mutator/node/literal/string.rb +0 -3
  64. data/lib/mutant/mutator/node/literal/symbol.rb +0 -3
  65. data/lib/mutant/mutator/node/masgn.rb +0 -3
  66. data/lib/mutant/mutator/node/match_current_line.rb +0 -3
  67. data/lib/mutant/mutator/node/mlhs.rb +0 -3
  68. data/lib/mutant/mutator/node/named_value/access.rb +2 -14
  69. data/lib/mutant/mutator/node/named_value/constant_assignment.rb +0 -9
  70. data/lib/mutant/mutator/node/named_value/variable_assignment.rb +0 -6
  71. data/lib/mutant/mutator/node/next.rb +0 -3
  72. data/lib/mutant/mutator/node/noop.rb +1 -4
  73. data/lib/mutant/mutator/node/nthref.rb +0 -3
  74. data/lib/mutant/mutator/node/op_asgn.rb +0 -3
  75. data/lib/mutant/mutator/node/or_asgn.rb +0 -3
  76. data/lib/mutant/mutator/node/procarg_zero.rb +0 -3
  77. data/lib/mutant/mutator/node/regopt.rb +0 -6
  78. data/lib/mutant/mutator/node/resbody.rb +0 -6
  79. data/lib/mutant/mutator/node/rescue.rb +2 -19
  80. data/lib/mutant/mutator/node/return.rb +0 -3
  81. data/lib/mutant/mutator/node/sclass.rb +20 -0
  82. data/lib/mutant/mutator/node/send.rb +26 -61
  83. data/lib/mutant/mutator/node/send/attribute_assignment.rb +0 -9
  84. data/lib/mutant/mutator/node/send/binary.rb +0 -11
  85. data/lib/mutant/mutator/node/send/conditional.rb +0 -3
  86. data/lib/mutant/mutator/node/splat.rb +0 -3
  87. data/lib/mutant/mutator/node/super.rb +0 -3
  88. data/lib/mutant/mutator/node/when.rb +0 -19
  89. data/lib/mutant/mutator/node/yield.rb +0 -3
  90. data/lib/mutant/mutator/node/zsuper.rb +0 -3
  91. data/lib/mutant/mutator/util/array.rb +0 -6
  92. data/lib/mutant/mutator/util/symbol.rb +0 -3
  93. data/lib/mutant/parallel.rb +0 -13
  94. data/lib/mutant/parallel/driver.rb +0 -10
  95. data/lib/mutant/parallel/worker.rb +0 -22
  96. data/lib/mutant/registry.rb +2 -7
  97. data/lib/mutant/reporter/cli.rb +0 -5
  98. data/lib/mutant/reporter/cli/format.rb +0 -9
  99. data/lib/mutant/reporter/cli/printer.rb +2 -42
  100. data/lib/mutant/reporter/cli/printer/env_progress.rb +0 -15
  101. data/lib/mutant/reporter/cli/printer/isolation_result.rb +0 -18
  102. data/lib/mutant/reporter/cli/printer/mutation_progress_result.rb +0 -5
  103. data/lib/mutant/reporter/cli/printer/mutation_result.rb +1 -22
  104. data/lib/mutant/reporter/cli/printer/status_progressive.rb +0 -8
  105. data/lib/mutant/reporter/cli/printer/subject_progress.rb +0 -9
  106. data/lib/mutant/repository/diff.rb +1 -13
  107. data/lib/mutant/repository/diff/ranges.rb +0 -11
  108. data/lib/mutant/result.rb +0 -3
  109. data/lib/mutant/runner.rb +0 -18
  110. data/lib/mutant/runner/sink.rb +0 -5
  111. data/lib/mutant/subject.rb +0 -8
  112. data/lib/mutant/subject/method.rb +0 -3
  113. data/lib/mutant/subject/method/instance.rb +40 -6
  114. data/lib/mutant/subject/method/metaclass.rb +30 -0
  115. data/lib/mutant/transform.rb +0 -92
  116. data/lib/mutant/version.rb +1 -1
  117. data/lib/mutant/warnings.rb +0 -6
  118. data/lib/mutant/zombifier.rb +2 -34
  119. metadata +61 -333
  120. data/.circleci/config.yml +0 -53
  121. data/.gitignore +0 -38
  122. data/.rspec +0 -5
  123. data/.rubocop.yml +0 -7
  124. data/Changelog.md +0 -71
  125. data/Gemfile +0 -14
  126. data/Gemfile.lock +0 -167
  127. data/Gemfile.shared +0 -3
  128. data/README.md +0 -138
  129. data/Rakefile +0 -5
  130. data/config/devtools.yml +0 -2
  131. data/config/reek.yml +0 -138
  132. data/config/rubocop.yml +0 -205
  133. data/config/yardstick.yml +0 -2
  134. data/docs/commercial-support.md +0 -14
  135. data/docs/concurrency.md +0 -39
  136. data/docs/incremental.md +0 -76
  137. data/docs/known-problems.md +0 -30
  138. data/docs/limitations.md +0 -50
  139. data/docs/mutant-minitest.md +0 -149
  140. data/docs/mutant-rspec.md +0 -130
  141. data/docs/nomenclature.md +0 -82
  142. data/docs/reading-reports.md +0 -74
  143. data/lib/mutant/color.rb +0 -43
  144. data/lib/mutant/diff.rb +0 -114
  145. data/meta/and.rb +0 -15
  146. data/meta/and_asgn.rb +0 -14
  147. data/meta/array.rb +0 -30
  148. data/meta/begin.rb +0 -23
  149. data/meta/block.rb +0 -202
  150. data/meta/block_pass.rb +0 -8
  151. data/meta/blockarg.rb +0 -10
  152. data/meta/break.rb +0 -10
  153. data/meta/case.rb +0 -223
  154. data/meta/casgn.rb +0 -28
  155. data/meta/cbase.rb +0 -8
  156. data/meta/class.rb +0 -12
  157. data/meta/const.rb +0 -17
  158. data/meta/csend.rb +0 -10
  159. data/meta/cvar.rb +0 -7
  160. data/meta/cvasgn.rb +0 -10
  161. data/meta/date.rb +0 -59
  162. data/meta/def.rb +0 -203
  163. data/meta/defined.rb +0 -9
  164. data/meta/dstr.rb +0 -13
  165. data/meta/dsym.rb +0 -14
  166. data/meta/ensure.rb +0 -9
  167. data/meta/false.rb +0 -8
  168. data/meta/file.rb +0 -5
  169. data/meta/float.rb +0 -37
  170. data/meta/gvar.rb +0 -7
  171. data/meta/gvasgn.rb +0 -10
  172. data/meta/hash.rb +0 -24
  173. data/meta/if.rb +0 -77
  174. data/meta/index.rb +0 -133
  175. data/meta/indexasgn.rb +0 -31
  176. data/meta/int.rb +0 -18
  177. data/meta/ivar.rb +0 -8
  178. data/meta/ivasgn.rb +0 -23
  179. data/meta/kwarg.rb +0 -10
  180. data/meta/kwbegin.rb +0 -9
  181. data/meta/kwoptarg.rb +0 -13
  182. data/meta/lambda.rb +0 -23
  183. data/meta/line.rb +0 -5
  184. data/meta/lvar.rb +0 -16
  185. data/meta/lvasgn.rb +0 -25
  186. data/meta/masgn.rb +0 -7
  187. data/meta/match_current_line.rb +0 -15
  188. data/meta/next.rb +0 -11
  189. data/meta/nil.rb +0 -5
  190. data/meta/nthref.rb +0 -14
  191. data/meta/op_assgn.rb +0 -17
  192. data/meta/or.rb +0 -15
  193. data/meta/or_asgn.rb +0 -50
  194. data/meta/range.rb +0 -39
  195. data/meta/redo.rb +0 -5
  196. data/meta/regexp.rb +0 -81
  197. data/meta/regopt.rb +0 -10
  198. data/meta/rescue.rb +0 -90
  199. data/meta/return.rb +0 -16
  200. data/meta/self.rb +0 -7
  201. data/meta/send.rb +0 -604
  202. data/meta/str.rb +0 -7
  203. data/meta/super.rb +0 -27
  204. data/meta/sym.rb +0 -8
  205. data/meta/true.rb +0 -8
  206. data/meta/until.rb +0 -17
  207. data/meta/while.rb +0 -26
  208. data/meta/yield.rb +0 -10
  209. data/mutant-minitest.gemspec +0 -22
  210. data/mutant-rspec.gemspec +0 -22
  211. data/mutant.gemspec +0 -41
  212. data/mutant.yml +0 -6
  213. data/spec/integration/mutant/corpus_spec.rb +0 -15
  214. data/spec/integration/mutant/isolation/fork_spec.rb +0 -28
  215. data/spec/integration/mutant/minitest_spec.rb +0 -11
  216. data/spec/integration/mutant/null_spec.rb +0 -16
  217. data/spec/integration/mutant/rspec_spec.rb +0 -15
  218. data/spec/integration/mutant/test_mutator_handles_types_spec.rb +0 -9
  219. data/spec/integrations.yml +0 -63
  220. data/spec/shared/base_behavior.rb +0 -45
  221. data/spec/shared/framework_integration_behavior.rb +0 -70
  222. data/spec/shared/method_matcher_behavior.rb +0 -47
  223. data/spec/spec_helper.rb +0 -75
  224. data/spec/support/corpus.rb +0 -318
  225. data/spec/support/file_system.rb +0 -62
  226. data/spec/support/ice_nine_config.rb +0 -10
  227. data/spec/support/ruby_vm.rb +0 -84
  228. data/spec/support/shared_context.rb +0 -169
  229. data/spec/support/test_app.rb +0 -7
  230. data/spec/support/warnings.yml +0 -6
  231. data/spec/support/xspec.rb +0 -183
  232. data/spec/unit/mutant/ast/meta/optarg_spec.rb +0 -24
  233. data/spec/unit/mutant/ast/meta/send/proc_predicate_spec.rb +0 -30
  234. data/spec/unit/mutant/ast/meta/send/receiver_possible_top_level_const_predicate_spec.rb +0 -39
  235. data/spec/unit/mutant/ast/meta/send_spec.rb +0 -42
  236. data/spec/unit/mutant/ast/named_children_spec.rb +0 -89
  237. data/spec/unit/mutant/ast/sexp_spec.rb +0 -38
  238. data/spec/unit/mutant/ast_spec.rb +0 -57
  239. data/spec/unit/mutant/bootstrap_spec.rb +0 -216
  240. data/spec/unit/mutant/cli_spec.rb +0 -305
  241. data/spec/unit/mutant/clock_monotonic_spec.rb +0 -52
  242. data/spec/unit/mutant/config_spec.rb +0 -126
  243. data/spec/unit/mutant/context_spec.rb +0 -111
  244. data/spec/unit/mutant/diff_spec.rb +0 -189
  245. data/spec/unit/mutant/env_spec.rb +0 -229
  246. data/spec/unit/mutant/expression/method_spec.rb +0 -62
  247. data/spec/unit/mutant/expression/methods_spec.rb +0 -61
  248. data/spec/unit/mutant/expression/namespace/exact_spec.rb +0 -28
  249. data/spec/unit/mutant/expression/namespace/recursive_spec.rb +0 -66
  250. data/spec/unit/mutant/expression/parser_spec.rb +0 -65
  251. data/spec/unit/mutant/expression_spec.rb +0 -45
  252. data/spec/unit/mutant/integration/rspec_spec.rb +0 -201
  253. data/spec/unit/mutant/integration_spec.rb +0 -150
  254. data/spec/unit/mutant/isolation/fork_spec.rb +0 -309
  255. data/spec/unit/mutant/isolation/none_spec.rb +0 -23
  256. data/spec/unit/mutant/isolation/result_spec.rb +0 -73
  257. data/spec/unit/mutant/license_spec.rb +0 -293
  258. data/spec/unit/mutant/loader_spec.rb +0 -79
  259. data/spec/unit/mutant/matcher/chain_spec.rb +0 -26
  260. data/spec/unit/mutant/matcher/compiler_spec.rb +0 -0
  261. data/spec/unit/mutant/matcher/config_spec.rb +0 -47
  262. data/spec/unit/mutant/matcher/filter_spec.rb +0 -22
  263. data/spec/unit/mutant/matcher/method/instance_spec.rb +0 -164
  264. data/spec/unit/mutant/matcher/method/singleton_spec.rb +0 -90
  265. data/spec/unit/mutant/matcher/methods/instance_spec.rb +0 -54
  266. data/spec/unit/mutant/matcher/methods/singleton_spec.rb +0 -51
  267. data/spec/unit/mutant/matcher/namespace_spec.rb +0 -37
  268. data/spec/unit/mutant/matcher/null_spec.rb +0 -12
  269. data/spec/unit/mutant/matcher/scope_spec.rb +0 -35
  270. data/spec/unit/mutant/matcher/static_spec.rb +0 -13
  271. data/spec/unit/mutant/matcher_spec.rb +0 -102
  272. data/spec/unit/mutant/meta/example/dsl_spec.rb +0 -108
  273. data/spec/unit/mutant/meta/example/verification_spec.rb +0 -154
  274. data/spec/unit/mutant/meta/example_spec.rb +0 -34
  275. data/spec/unit/mutant/mutation_spec.rb +0 -140
  276. data/spec/unit/mutant/mutator/node_spec.rb +0 -52
  277. data/spec/unit/mutant/mutator_spec.rb +0 -21
  278. data/spec/unit/mutant/parallel/driver_spec.rb +0 -126
  279. data/spec/unit/mutant/parallel/source/array_spec.rb +0 -57
  280. data/spec/unit/mutant/parallel/worker_spec.rb +0 -206
  281. data/spec/unit/mutant/parallel_spec.rb +0 -115
  282. data/spec/unit/mutant/parser_spec.rb +0 -26
  283. data/spec/unit/mutant/range_spec.rb +0 -141
  284. data/spec/unit/mutant/registry_spec.rb +0 -47
  285. data/spec/unit/mutant/reporter/cli/printer/config_spec.rb +0 -17
  286. data/spec/unit/mutant/reporter/cli/printer/env_progress_spec.rb +0 -85
  287. data/spec/unit/mutant/reporter/cli/printer/env_result_spec.rb +0 -45
  288. data/spec/unit/mutant/reporter/cli/printer/isolation_result_spec.rb +0 -132
  289. data/spec/unit/mutant/reporter/cli/printer/mutation_progress_result_spec.rb +0 -25
  290. data/spec/unit/mutant/reporter/cli/printer/mutation_result_spec.rb +0 -153
  291. data/spec/unit/mutant/reporter/cli/printer/status_progressive_spec.rb +0 -45
  292. data/spec/unit/mutant/reporter/cli/printer/subject_progress_spec.rb +0 -36
  293. data/spec/unit/mutant/reporter/cli/printer/subject_result_spec.rb +0 -44
  294. data/spec/unit/mutant/reporter/cli/printer/test_result_spec.rb +0 -16
  295. data/spec/unit/mutant/reporter/cli/printer_spec.rb +0 -163
  296. data/spec/unit/mutant/reporter/cli_spec.rb +0 -137
  297. data/spec/unit/mutant/reporter/null_spec.rb +0 -14
  298. data/spec/unit/mutant/reporter/sequence_spec.rb +0 -31
  299. data/spec/unit/mutant/repository/diff/ranges_spec.rb +0 -180
  300. data/spec/unit/mutant/repository/diff_spec.rb +0 -122
  301. data/spec/unit/mutant/repository/subject_filter_spec.rb +0 -30
  302. data/spec/unit/mutant/require_highjack_spec.rb +0 -73
  303. data/spec/unit/mutant/result/class_methods_spec.rb +0 -51
  304. data/spec/unit/mutant/result/env_spec.rb +0 -161
  305. data/spec/unit/mutant/result/mutation_spec.rb +0 -70
  306. data/spec/unit/mutant/result/subject_spec.rb +0 -111
  307. data/spec/unit/mutant/result/test_spec.rb +0 -14
  308. data/spec/unit/mutant/result_spec.rb +0 -33
  309. data/spec/unit/mutant/runner/sink_spec.rb +0 -174
  310. data/spec/unit/mutant/runner_spec.rb +0 -121
  311. data/spec/unit/mutant/selector/expression_spec.rb +0 -62
  312. data/spec/unit/mutant/selector/null_spec.rb +0 -17
  313. data/spec/unit/mutant/subject/method/instance_spec.rb +0 -181
  314. data/spec/unit/mutant/subject/method/singleton_spec.rb +0 -61
  315. data/spec/unit/mutant/subject_spec.rb +0 -93
  316. data/spec/unit/mutant/transform/array_spec.rb +0 -92
  317. data/spec/unit/mutant/transform/bool_spec.rb +0 -63
  318. data/spec/unit/mutant/transform/error_spec.rb +0 -132
  319. data/spec/unit/mutant/transform/exception_spec.rb +0 -44
  320. data/spec/unit/mutant/transform/hash_spec.rb +0 -236
  321. data/spec/unit/mutant/transform/index_spec.rb +0 -92
  322. data/spec/unit/mutant/transform/named_spec.rb +0 -49
  323. data/spec/unit/mutant/transform/primitive_spec.rb +0 -56
  324. data/spec/unit/mutant/transform/sequence_spec.rb +0 -98
  325. data/spec/unit/mutant/util/one_spec.rb +0 -22
  326. data/spec/unit/mutant/warnings_spec.rb +0 -89
  327. data/spec/unit/mutant/world_spec.rb +0 -63
  328. data/spec/unit/mutant/zombifier_spec.rb +0 -122
  329. data/test_app/.rspec +0 -1
  330. data/test_app/Gemfile.minitest +0 -4
  331. data/test_app/Gemfile.rspec3.8 +0 -7
  332. data/test_app/lib/test_app.rb +0 -109
  333. data/test_app/lib/test_app/literal.rb +0 -35
  334. data/test_app/spec/spec_helper.rb +0 -9
  335. data/test_app/spec/unit/test_app/literal_spec.rb +0 -20
  336. data/test_app/test/unit/test_app/literal_test.rb +0 -16
@@ -1,53 +0,0 @@
1
- defaults: &defaults
2
- working_directory: ~/mutant
3
- docker:
4
- - image: circleci/ruby:2.6.0
5
- version: 2
6
- jobs:
7
- unit_specs:
8
- <<: *defaults
9
- steps:
10
- - checkout
11
- - run: bundle install
12
- - run: bundle exec rspec spec/unit spec/integration/mutant/test_mutator_handles_types_spec.rb
13
- integration_minitest:
14
- <<: *defaults
15
- steps:
16
- - checkout
17
- - run: bundle install
18
- - run: bundle exec rspec spec/integration -e minitest
19
- integration_rspec:
20
- <<: *defaults
21
- steps:
22
- - checkout
23
- - run: bundle install
24
- - run: bundle exec rspec spec/integration -e rspec
25
- integration_mutation_generation:
26
- <<: *defaults
27
- steps:
28
- - checkout
29
- - run: bundle install
30
- - run: bundle exec rspec spec/integration -e generation
31
- metrics:
32
- <<: *defaults
33
- steps:
34
- - checkout
35
- - run: bundle install
36
- - run: bundle exec rake metrics:rubocop
37
- - run: bundle exec rake metrics:reek
38
- mutant:
39
- <<: *defaults
40
- steps:
41
- - checkout
42
- - run: bundle install
43
- - run: bundle exec mutant --jobs 4 --since HEAD~1 --zombie -- 'Mutant*'
44
- workflows:
45
- version: 2
46
- test:
47
- jobs:
48
- - unit_specs
49
- - integration_rspec
50
- - integration_minitest
51
- - integration_mutation_generation
52
- - metrics
53
- - mutant
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,7 +0,0 @@
1
- AllCops:
2
- DisplayCopNames: true
3
- Exclude:
4
- - 'test_app/**/*'
5
- - 'tmp/**/*'
6
- - 'vendor/**/*'
7
- TargetRubyVersion: 2.5
@@ -1,71 +0,0 @@
1
- # v0.9.7 2020-07-22
2
-
3
- * Bump parser dependency to 2.7.1, note this still does not support Ruby 2.7 syntax.
4
- But it supports running bundling with that parser version.
5
- * Nail diff-lcs to 1.3 till output difference for 1.4 can be addressed.
6
-
7
- # v0.9.6 2020-04-20
8
-
9
- * Dependencies upgrade, should not change user facing semantics.
10
- * Bump license nudge to 40s
11
-
12
- # v0.9.5 2020-02-02
13
-
14
- * Change to 2.7 parser series.
15
- This does not drop support for < 2.7 but enables to in the future add full Ruby 2.7 support.
16
-
17
- # v0.9.4 2020-01-03
18
-
19
- * Bump unparser dependency
20
-
21
- # v0.9.3 2020-01-03
22
-
23
- * Change to soft dependency on mutant-license.
24
- Rationale its fine to bundle mutant if not used.
25
- This can easily happen on transitive dependencies.
26
-
27
- # v0.9.2 2020-01-02
28
-
29
- * Upgrade to parser ~> 2.6.5
30
-
31
- # v0.9.1 2020-01-02
32
-
33
- * Packaging bugfix.
34
-
35
- # v0.9.0 2020-01-02
36
-
37
- * New license.
38
- * Fix mutations to void value expressions to not be reported as integration error.
39
- * Remove regexp body mutations
40
- * Remove restarg mutations
41
- * Remove support for rspec-3.{4,5,6}
42
-
43
- # v0.8.25 2018-12-31
44
-
45
- * Change to {I,M}Var based concurrency
46
- * Remove actors
47
-
48
- # v0.8.24 2018-12-29
49
-
50
- * Change to always insert mutations with frozen string literals
51
- * Fix various invalid AST or source mutations
52
- * Handle regexp `regexp_parser` cannot parse but MRI accepts gracefully
53
-
54
- # v0.8.23 2018-12-23
55
-
56
- * Improved isolation error reporting
57
- * Errors between isolation and tests do not kill mutations anymore.
58
-
59
- # v0.8.22 2018-12-04
60
-
61
- * Remove hard ruby version requirement. 2.5 is still the only officially supported version.
62
-
63
- # v0.8.21 2018-12-03
64
-
65
- * Change to modern ast format via unparser-0.4.1.
66
-
67
- # v0.8.20 2018-11-27
68
-
69
- * Replace internal timers with monotonic ones.
70
-
71
- Find older changelogs in the project [history](https://github.com/mbj/mutant/blob/84d119fe49ebad51b213cb08285b95e6e7c4fab6/Changelog.md#v0821-2018-12-03)
data/Gemfile DELETED
@@ -1,14 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- source 'https://rubygems.org'
4
-
5
- gemspec name: 'mutant'
6
-
7
- eval_gemfile File.expand_path('Gemfile.shared', __dir__)
8
-
9
- # Mutant itself uses an opensource license key.
10
- # Scoped to https://github.com/mbj/mutant it'll
11
- # not be useful elsewhere.
12
- source 'https://oss:Px2ENN7S91OmWaD5G7MIQJi1dmtmYrEh@gem.mutant.dev' do
13
- gem 'mutant-license'
14
- end
@@ -1,167 +0,0 @@
1
- PATH
2
- remote: .
3
- specs:
4
- mutant (0.9.6)
5
- abstract_type (~> 0.0.7)
6
- adamantium (~> 0.2.0)
7
- anima (~> 0.3.1)
8
- ast (~> 2.2)
9
- concord (~> 0.1.5)
10
- diff-lcs (= 1.3)
11
- equalizer (~> 0.0.9)
12
- ice_nine (~> 0.11.1)
13
- memoizable (~> 0.4.2)
14
- mprelude (~> 0.1.0)
15
- parser (~> 2.7.1)
16
- procto (~> 0.0.2)
17
- unparser (~> 0.4.6)
18
- variable (~> 0.0.1)
19
-
20
- GEM
21
- remote: https://rubygems.org/
22
- remote: https://oss:Px2ENN7S91OmWaD5G7MIQJi1dmtmYrEh@gem.mutant.dev/
23
- specs:
24
- abstract_type (0.0.7)
25
- adamantium (0.2.0)
26
- ice_nine (~> 0.11.0)
27
- memoizable (~> 0.4.0)
28
- anima (0.3.1)
29
- abstract_type (~> 0.0.7)
30
- adamantium (~> 0.2)
31
- equalizer (~> 0.0.11)
32
- ast (2.4.1)
33
- axiom-types (0.1.1)
34
- descendants_tracker (~> 0.0.4)
35
- ice_nine (~> 0.11.0)
36
- thread_safe (~> 0.3, >= 0.3.1)
37
- codeclimate-engine-rb (0.4.1)
38
- virtus (~> 1.0)
39
- coercible (1.0.0)
40
- descendants_tracker (~> 0.0.1)
41
- concord (0.1.5)
42
- adamantium (~> 0.2.0)
43
- equalizer (~> 0.0.9)
44
- descendants_tracker (0.0.4)
45
- thread_safe (~> 0.3, >= 0.3.1)
46
- devtools (0.1.26)
47
- abstract_type (~> 0.0.7)
48
- adamantium (~> 0.2.0)
49
- anima (~> 0.3.0)
50
- concord (~> 0.1.5)
51
- flay (~> 2.12.0)
52
- flog (~> 4.6.2)
53
- procto (~> 0.0.3)
54
- rake (~> 12.3.0)
55
- reek (~> 5.6.0)
56
- rspec (~> 3.8.0)
57
- rspec-core (~> 3.8.0)
58
- rspec-its (~> 1.2.0)
59
- rubocop (~> 0.79.0)
60
- simplecov (~> 0.16.1)
61
- yard (~> 0.9.16)
62
- yardstick (~> 0.9.9)
63
- diff-lcs (1.3)
64
- docile (1.3.2)
65
- equalizer (0.0.11)
66
- erubis (2.7.0)
67
- flay (2.12.1)
68
- erubis (~> 2.7.0)
69
- path_expander (~> 1.0)
70
- ruby_parser (~> 3.0)
71
- sexp_processor (~> 4.0)
72
- flog (4.6.4)
73
- path_expander (~> 1.0)
74
- ruby_parser (~> 3.1, > 3.1.0)
75
- sexp_processor (~> 4.8)
76
- ice_nine (0.11.2)
77
- jaro_winkler (1.5.4)
78
- json (2.3.1)
79
- kwalify (0.7.2)
80
- memoizable (0.4.2)
81
- thread_safe (~> 0.3, >= 0.3.1)
82
- mprelude (0.1.0)
83
- abstract_type (~> 0.0.7)
84
- adamantium (~> 0.2.0)
85
- concord (~> 0.1.5)
86
- equalizer (~> 0.0.9)
87
- ice_nine (~> 0.11.1)
88
- procto (~> 0.0.2)
89
- mutant-license (0.1.0)
90
- parallel (1.19.2)
91
- parser (2.7.1.4)
92
- ast (~> 2.4.1)
93
- path_expander (1.1.0)
94
- procto (0.0.3)
95
- psych (3.1.0)
96
- rainbow (3.0.0)
97
- rake (12.3.3)
98
- reek (5.6.0)
99
- codeclimate-engine-rb (~> 0.4.0)
100
- kwalify (~> 0.7.0)
101
- parser (>= 2.5.0.0, < 2.8, != 2.5.1.1)
102
- psych (~> 3.1.0)
103
- rainbow (>= 2.0, < 4.0)
104
- rspec (3.8.0)
105
- rspec-core (~> 3.8.0)
106
- rspec-expectations (~> 3.8.0)
107
- rspec-mocks (~> 3.8.0)
108
- rspec-core (3.8.2)
109
- rspec-support (~> 3.8.0)
110
- rspec-expectations (3.8.6)
111
- diff-lcs (>= 1.2.0, < 2.0)
112
- rspec-support (~> 3.8.0)
113
- rspec-its (1.2.0)
114
- rspec-core (>= 3.0.0)
115
- rspec-expectations (>= 3.0.0)
116
- rspec-mocks (3.8.2)
117
- diff-lcs (>= 1.2.0, < 2.0)
118
- rspec-support (~> 3.8.0)
119
- rspec-support (3.8.3)
120
- rubocop (0.79.0)
121
- jaro_winkler (~> 1.5.1)
122
- parallel (~> 1.10)
123
- parser (>= 2.7.0.1)
124
- rainbow (>= 2.2.2, < 4.0)
125
- ruby-progressbar (~> 1.7)
126
- unicode-display_width (>= 1.4.0, < 1.7)
127
- ruby-progressbar (1.10.1)
128
- ruby_parser (3.14.2)
129
- sexp_processor (~> 4.9)
130
- sexp_processor (4.15.0)
131
- simplecov (0.16.1)
132
- docile (~> 1.1)
133
- json (>= 1.8, < 3)
134
- simplecov-html (~> 0.10.0)
135
- simplecov-html (0.10.2)
136
- thread_safe (0.3.6)
137
- unicode-display_width (1.6.1)
138
- unparser (0.4.7)
139
- abstract_type (~> 0.0.7)
140
- adamantium (~> 0.2.0)
141
- concord (~> 0.1.5)
142
- diff-lcs (~> 1.3)
143
- equalizer (~> 0.0.9)
144
- parser (>= 2.6.5)
145
- procto (~> 0.0.2)
146
- variable (0.0.1)
147
- equalizer (~> 0.0.11)
148
- virtus (1.0.5)
149
- axiom-types (~> 0.1)
150
- coercible (~> 1.0)
151
- descendants_tracker (~> 0.0, >= 0.0.3)
152
- equalizer (~> 0.0, >= 0.0.9)
153
- yard (0.9.25)
154
- yardstick (0.9.9)
155
- yard (~> 0.8, >= 0.8.7.2)
156
-
157
- PLATFORMS
158
- ruby
159
-
160
- DEPENDENCIES
161
- devtools (~> 0.1.25)
162
- mutant!
163
- mutant-license!
164
- parallel (~> 1.3)
165
-
166
- BUNDLED WITH
167
- 1.17.3
@@ -1,3 +0,0 @@
1
- # Place for shared git sources, used for developing updates to depedencies
2
- # where the git sources (without this file) need to be consistently edited
3
- # into multiple Gemfiles.
data/README.md DELETED
@@ -1,138 +0,0 @@
1
- mutant
2
- ======
3
-
4
- [![Build Status](https://circleci.com/gh/mbj/mutant.svg?style=shield&circle-token=1afd77e8f0f9d0a11fd8f15f5d7b10270f4665e2)](https://circleci.com/gh/mbj/mutant/tree/master)
5
- [![Gem Version](https://img.shields.io/gem/v/mutant.svg)](https://rubygems.org/gems/mutant)
6
- [![Slack Status](https://mutation-testing-slack.herokuapp.com/badge.svg)](https://mutation-testing.slack.com/messages/mutant)
7
-
8
- ## What is Mutant?
9
-
10
- Mutant is a mutation testing tool for Ruby. Mutation testing is a technique to verify semantic coverage of your code.
11
-
12
- ## Why do I want it?
13
-
14
- Mutant adds to your toolbox: Detection of uncovered semantics in your code.
15
- Coverage becomes a meaningful metric!
16
-
17
- On each detection of uncovered semantics you have the opportunity to:
18
-
19
- * Delete dead code, as you do not want the extra semantics not specified by the tests
20
- * Add (or improve a test) to cover the unwanted semantics.
21
- * Learn something new about the semantics of Ruby and your direct and indirect dependencies.
22
-
23
- ## How Do I use it?
24
-
25
- * Start with reading the [nomenclature](/docs/nomenclature.md) documentation.
26
- * Then select and setup your [integration](/docs/nomenclature.md#integration), also make sure
27
- you can reproduce the examples in the integration specific documentation.
28
- * Identify your preferred mutation testing strategy. It is recommended to start at the commit level,
29
- to test only the code you had been touching. See the [incremental](#only-mutating-changed-code)
30
- mutation testing documentation.
31
-
32
- ## Ruby Versions
33
-
34
- Mutant currently only works on cRuby/MRI. Starting with version 2.5.x. It supports all syntax features upto and
35
- including Ruby 2.6.
36
-
37
- Support for 2.7 syntax features is pending, see unparser issue: https://github.com/mbj/unparser/issues/129.
38
-
39
- Mutant will work under Ruby 2.7 just fine, unless a 2.7 syntax feature is used. This will be resolved shortly.
40
-
41
- ## Licensing
42
-
43
- Mutant was recently transitioned commercial software, with a free usage plan for opensource projects.
44
-
45
- Commercial projects have to acquire a license per developer, with unlimited repositories
46
- per developer.
47
-
48
- Opensource projects have to acquire their free license per repository.
49
-
50
- The license distribution happens through the `mutant-license` gem in mutants dependencies.
51
- This gem is dynamically generated per licensee and comes with a unique license gem source
52
- URL.
53
-
54
- After signup for a license the following has to be added to your `Gemfile` replacing `${key}`
55
- with the license key and `${plan}` with `com` for commercial or `oss` for opensource usage.
56
-
57
- ```ruby
58
- source 'https://${plan}:${key}@gem.mutant.dev' do
59
- gem 'mutant-license'
60
- end
61
- ```
62
-
63
- The mutant license gem contains metadata that allows mutant to verify licensed use.
64
-
65
- For commercial licenses mutant checks the git commit author or the configured git email
66
- to be in the set of licensed developers.
67
-
68
- For opensource licenses mutant checks the git remotes against the license whitelist.
69
- This allows the project maintainer to sign up and not bother collaborators with the details.
70
-
71
- There are, apart from initial license gem installation, no remote interactions for
72
- license validation.
73
-
74
- To inquire for license please contact [Markus Schirp](mailto:mbj@schirp-dso.com?subject=Mutant%20License).
75
-
76
- ### Pricing
77
-
78
- Only relevant for commercial use.
79
-
80
- Mutant offers a subscription model under a monthly plan.
81
- Yearly prepayments with discounts are available.
82
-
83
- For higher volumes different arrangements can be negotiated.
84
-
85
- ## Topics
86
-
87
- * [Nomenclature](/docs/nomenclature.md)
88
- * [Reading Reports](/docs/reading-reports.md)
89
- * [Known Problems](/docs/known-problems.md)
90
- * [Limitations](/docs/limitations.md)
91
- * [Concurrency](/docs/concurrency.md)
92
- * [Rspec Integration](/docs/mutant-rspec.md)
93
- * [Minitest Integration](/docs/mutant-minitest.md)
94
-
95
- ## Communication
96
-
97
- Try the following:
98
-
99
- * [Github Issues](https://github.com/mbj/mutant/issues)
100
- * [Release Announcement Mailing List](https://announce.mutant.dev/signup)
101
- * [Slack channel](mutation-testing.slack.com) request invite from [Markus Schirp](mailto:mbj@schirp-dso.com?subject=Mutation%20Testing%20Slack%20Channel%20Invite).
102
-
103
- ## Sponsoring
104
-
105
- Mutant, as published in the opensource version, would not exist without the help
106
- of [contributors](https://github.com/mbj/mutant/graphs/contributors) spending lots
107
- of their private time.
108
-
109
- Additionally, the following features where sponsored by organizations:
110
-
111
- * The `mutant-minitest` integration was sponsored by [Arkency](https://arkency.com/)
112
- * Mutant's initial concurrency support was sponsored by an undisclosed company that does
113
- currently not wish to be listed here.
114
-
115
- ### Legal
116
-
117
- Contents of this repository are maintained by:
118
-
119
- ```
120
- Schirp DSO LTD
121
- Director: Markus Schirp
122
- Email: info@schirp-dso.com
123
- Vat-ID: MT24186727
124
- Registration: C80467
125
-
126
- Office address:
127
- 2, Carob Lane,
128
- Sir Harry Luke Street
129
- Naxxar NXR 2209,
130
- Malta
131
-
132
- Registred Address
133
- Phoenix Business Centre,
134
- The Penthouse,
135
- Old Railway Track,
136
- Santa Venera SVR9022,
137
- Malta
138
- ```