mutest 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (401) hide show
  1. checksums.yaml +4 -4
  2. data/.buildkite/hooks/pre-command +3 -0
  3. data/.buildkite/pipeline.yml +51 -0
  4. data/.gitattributes +1 -0
  5. data/.gitignore +38 -0
  6. data/.rspec +5 -0
  7. data/Gemfile +13 -0
  8. data/Gemfile.lock +216 -0
  9. data/Gemfile.shared +3 -0
  10. data/LICENSE +21 -0
  11. data/README.md +8 -0
  12. data/Rakefile +24 -0
  13. data/bin/mutest +39 -0
  14. data/build/Dockerfile +71 -0
  15. data/build/docker-bootstrap.sh +85 -0
  16. data/build/docker-exec +29 -0
  17. data/build/make-docker +3 -0
  18. data/build/ruby_matrix +1 -0
  19. data/build/run +5 -0
  20. data/build/strict-mode.sh +16 -0
  21. data/circle.yml +7 -0
  22. data/config/devtools.yml +2 -0
  23. data/config/flay.yml +3 -0
  24. data/config/flog.yml +2 -0
  25. data/config/reek.yml +137 -0
  26. data/config/rubocop.yml +395 -0
  27. data/config/triage.yml +2 -0
  28. data/config/yardstick.yml +2 -0
  29. data/lib/mutest.rb +243 -0
  30. data/lib/mutest/actor.rb +52 -0
  31. data/lib/mutest/actor/env.rb +28 -0
  32. data/lib/mutest/actor/mailbox.rb +31 -0
  33. data/lib/mutest/actor/receiver.rb +39 -0
  34. data/lib/mutest/actor/sender.rb +22 -0
  35. data/lib/mutest/ast.rb +44 -0
  36. data/lib/mutest/ast/meta.rb +7 -0
  37. data/lib/mutest/ast/meta/const.rb +22 -0
  38. data/lib/mutest/ast/meta/optarg.rb +24 -0
  39. data/lib/mutest/ast/meta/resbody.rb +15 -0
  40. data/lib/mutest/ast/meta/restarg.rb +15 -0
  41. data/lib/mutest/ast/meta/send.rb +89 -0
  42. data/lib/mutest/ast/meta/symbol.rb +15 -0
  43. data/lib/mutest/ast/named_children.rb +86 -0
  44. data/lib/mutest/ast/node_predicates.rb +17 -0
  45. data/lib/mutest/ast/nodes.rb +22 -0
  46. data/lib/mutest/ast/regexp.rb +50 -0
  47. data/lib/mutest/ast/regexp/transformer.rb +184 -0
  48. data/lib/mutest/ast/regexp/transformer/alternative.rb +39 -0
  49. data/lib/mutest/ast/regexp/transformer/character_set.rb +46 -0
  50. data/lib/mutest/ast/regexp/transformer/direct.rb +101 -0
  51. data/lib/mutest/ast/regexp/transformer/options_group.rb +65 -0
  52. data/lib/mutest/ast/regexp/transformer/quantifier.rb +112 -0
  53. data/lib/mutest/ast/regexp/transformer/recursive.rb +50 -0
  54. data/lib/mutest/ast/regexp/transformer/root.rb +28 -0
  55. data/lib/mutest/ast/regexp/transformer/text.rb +55 -0
  56. data/lib/mutest/ast/sexp.rb +26 -0
  57. data/lib/mutest/ast/types.rb +140 -0
  58. data/lib/mutest/cli.rb +196 -0
  59. data/lib/mutest/color.rb +39 -0
  60. data/lib/mutest/config.rb +28 -0
  61. data/lib/mutest/context.rb +98 -0
  62. data/lib/mutest/diff.rb +111 -0
  63. data/lib/mutest/env.rb +59 -0
  64. data/lib/mutest/env/bootstrap.rb +159 -0
  65. data/lib/mutest/expression.rb +55 -0
  66. data/lib/mutest/expression/method.rb +54 -0
  67. data/lib/mutest/expression/methods.rb +58 -0
  68. data/lib/mutest/expression/namespace.rb +75 -0
  69. data/lib/mutest/expression/parser.rb +64 -0
  70. data/lib/mutest/integration.rb +75 -0
  71. data/lib/mutest/isolation.rb +11 -0
  72. data/lib/mutest/isolation/fork.rb +72 -0
  73. data/lib/mutest/isolation/none.rb +23 -0
  74. data/lib/mutest/loader.rb +27 -0
  75. data/lib/mutest/matcher.rb +14 -0
  76. data/lib/mutest/matcher/chain.rb +19 -0
  77. data/lib/mutest/matcher/compiler.rb +55 -0
  78. data/lib/mutest/matcher/config.rb +81 -0
  79. data/lib/mutest/matcher/filter.rb +19 -0
  80. data/lib/mutest/matcher/method.rb +138 -0
  81. data/lib/mutest/matcher/method/instance.rb +63 -0
  82. data/lib/mutest/matcher/method/singleton.rb +88 -0
  83. data/lib/mutest/matcher/methods.rb +109 -0
  84. data/lib/mutest/matcher/namespace.rb +41 -0
  85. data/lib/mutest/matcher/null.rb +17 -0
  86. data/lib/mutest/matcher/scope.rb +38 -0
  87. data/lib/mutest/matcher/static.rb +15 -0
  88. data/lib/mutest/meta.rb +33 -0
  89. data/lib/mutest/meta/example.rb +32 -0
  90. data/lib/mutest/meta/example/dsl.rb +107 -0
  91. data/lib/mutest/meta/example/verification.rb +85 -0
  92. data/lib/mutest/mutation.rb +101 -0
  93. data/lib/mutest/mutator.rb +117 -0
  94. data/lib/mutest/mutator/node.rb +166 -0
  95. data/lib/mutest/mutator/node/and_asgn.rb +25 -0
  96. data/lib/mutest/mutator/node/argument.rb +68 -0
  97. data/lib/mutest/mutator/node/arguments.rb +90 -0
  98. data/lib/mutest/mutator/node/begin.rb +21 -0
  99. data/lib/mutest/mutator/node/binary.rb +64 -0
  100. data/lib/mutest/mutator/node/block.rb +51 -0
  101. data/lib/mutest/mutator/node/break.rb +21 -0
  102. data/lib/mutest/mutator/node/case.rb +47 -0
  103. data/lib/mutest/mutator/node/class.rb +21 -0
  104. data/lib/mutest/mutator/node/conditional_loop.rb +25 -0
  105. data/lib/mutest/mutator/node/const.rb +23 -0
  106. data/lib/mutest/mutator/node/define.rb +79 -0
  107. data/lib/mutest/mutator/node/defined.rb +24 -0
  108. data/lib/mutest/mutator/node/dstr.rb +20 -0
  109. data/lib/mutest/mutator/node/dsym.rb +20 -0
  110. data/lib/mutest/mutator/node/generic.rb +77 -0
  111. data/lib/mutest/mutator/node/if.rb +57 -0
  112. data/lib/mutest/mutator/node/kwbegin.rb +20 -0
  113. data/lib/mutest/mutator/node/literal.rb +19 -0
  114. data/lib/mutest/mutator/node/literal/array.rb +37 -0
  115. data/lib/mutest/mutator/node/literal/boolean.rb +27 -0
  116. data/lib/mutest/mutator/node/literal/fixnum.rb +36 -0
  117. data/lib/mutest/mutator/node/literal/float.rb +45 -0
  118. data/lib/mutest/mutator/node/literal/hash.rb +52 -0
  119. data/lib/mutest/mutator/node/literal/nil.rb +20 -0
  120. data/lib/mutest/mutator/node/literal/range.rb +38 -0
  121. data/lib/mutest/mutator/node/literal/regex.rb +76 -0
  122. data/lib/mutest/mutator/node/literal/string.rb +21 -0
  123. data/lib/mutest/mutator/node/literal/symbol.rb +26 -0
  124. data/lib/mutest/mutator/node/masgn.rb +21 -0
  125. data/lib/mutest/mutator/node/match_current_line.rb +22 -0
  126. data/lib/mutest/mutator/node/mlhs.rb +21 -0
  127. data/lib/mutest/mutator/node/named_value/access.rb +54 -0
  128. data/lib/mutest/mutator/node/named_value/constant_assignment.rb +42 -0
  129. data/lib/mutest/mutator/node/named_value/variable_assignment.rb +47 -0
  130. data/lib/mutest/mutator/node/next.rb +22 -0
  131. data/lib/mutest/mutator/node/noop.rb +19 -0
  132. data/lib/mutest/mutator/node/nthref.rb +22 -0
  133. data/lib/mutest/mutator/node/op_asgn.rb +50 -0
  134. data/lib/mutest/mutator/node/or_asgn.rb +26 -0
  135. data/lib/mutest/mutator/node/regexp.rb +33 -0
  136. data/lib/mutest/mutator/node/regexp/alternation_meta.rb +21 -0
  137. data/lib/mutest/mutator/node/regexp/capture_group.rb +26 -0
  138. data/lib/mutest/mutator/node/regexp/character_type.rb +29 -0
  139. data/lib/mutest/mutator/node/regexp/end_of_line_anchor.rb +21 -0
  140. data/lib/mutest/mutator/node/regexp/end_of_string_or_before_end_of_line_anchor.rb +21 -0
  141. data/lib/mutest/mutator/node/regexp/one_or_more.rb +29 -0
  142. data/lib/mutest/mutator/node/regexp/zero_or_more.rb +29 -0
  143. data/lib/mutest/mutator/node/regopt.rb +28 -0
  144. data/lib/mutest/mutator/node/resbody.rb +34 -0
  145. data/lib/mutest/mutator/node/rescue.rb +69 -0
  146. data/lib/mutest/mutator/node/return.rb +24 -0
  147. data/lib/mutest/mutator/node/send.rb +270 -0
  148. data/lib/mutest/mutator/node/send/attribute_assignment.rb +39 -0
  149. data/lib/mutest/mutator/node/send/binary.rb +45 -0
  150. data/lib/mutest/mutator/node/send/conditional.rb +21 -0
  151. data/lib/mutest/mutator/node/send/index.rb +47 -0
  152. data/lib/mutest/mutator/node/splat.rb +23 -0
  153. data/lib/mutest/mutator/node/super.rb +24 -0
  154. data/lib/mutest/mutator/node/when.rb +60 -0
  155. data/lib/mutest/mutator/node/yield.rb +21 -0
  156. data/lib/mutest/mutator/node/zsuper.rb +20 -0
  157. data/lib/mutest/mutator/util.rb +11 -0
  158. data/lib/mutest/mutator/util/array.rb +42 -0
  159. data/lib/mutest/mutator/util/symbol.rb +19 -0
  160. data/lib/mutest/parallel.rb +89 -0
  161. data/lib/mutest/parallel/master.rb +181 -0
  162. data/lib/mutest/parallel/source.rb +57 -0
  163. data/lib/mutest/parallel/worker.rb +76 -0
  164. data/lib/mutest/parser.rb +22 -0
  165. data/lib/mutest/registry.rb +43 -0
  166. data/lib/mutest/reporter.rb +39 -0
  167. data/lib/mutest/reporter/cli.rb +87 -0
  168. data/lib/mutest/reporter/cli/format.rb +135 -0
  169. data/lib/mutest/reporter/cli/printer.rb +124 -0
  170. data/lib/mutest/reporter/cli/printer/config.rb +24 -0
  171. data/lib/mutest/reporter/cli/printer/env_progress.rb +76 -0
  172. data/lib/mutest/reporter/cli/printer/env_result.rb +20 -0
  173. data/lib/mutest/reporter/cli/printer/mutation_progress_result.rb +31 -0
  174. data/lib/mutest/reporter/cli/printer/mutation_result.rb +127 -0
  175. data/lib/mutest/reporter/cli/printer/status.rb +49 -0
  176. data/lib/mutest/reporter/cli/printer/status_progressive.rb +46 -0
  177. data/lib/mutest/reporter/cli/printer/subject_progress.rb +65 -0
  178. data/lib/mutest/reporter/cli/printer/subject_result.rb +23 -0
  179. data/lib/mutest/reporter/cli/printer/test_result.rb +28 -0
  180. data/lib/mutest/reporter/cli/tput.rb +43 -0
  181. data/lib/mutest/reporter/null.rb +14 -0
  182. data/lib/mutest/reporter/sequence.rb +24 -0
  183. data/lib/mutest/repository.rb +80 -0
  184. data/lib/mutest/require_highjack.rb +24 -0
  185. data/lib/mutest/result.rb +212 -0
  186. data/lib/mutest/runner.rb +81 -0
  187. data/lib/mutest/runner/sink.rb +63 -0
  188. data/lib/mutest/scope.rb +6 -0
  189. data/lib/mutest/selector.rb +13 -0
  190. data/lib/mutest/selector/expression.rb +25 -0
  191. data/lib/mutest/source_file.rb +47 -0
  192. data/lib/mutest/subject.rb +94 -0
  193. data/lib/mutest/subject/method.rb +42 -0
  194. data/lib/mutest/subject/method/instance.rb +43 -0
  195. data/lib/mutest/subject/method/singleton.rb +19 -0
  196. data/lib/mutest/test.rb +14 -0
  197. data/lib/mutest/util.rb +18 -0
  198. data/lib/mutest/version.rb +4 -0
  199. data/lib/mutest/warning_filter.rb +58 -0
  200. data/lib/mutest/zombifier.rb +119 -0
  201. data/meta/and.rb +13 -0
  202. data/meta/and_asgn.rb +12 -0
  203. data/meta/array.rb +28 -0
  204. data/meta/begin.rb +19 -0
  205. data/meta/block.rb +104 -0
  206. data/meta/block_pass.rb +6 -0
  207. data/meta/blockarg.rb +8 -0
  208. data/meta/break.rb +8 -0
  209. data/meta/case.rb +221 -0
  210. data/meta/casgn.rb +26 -0
  211. data/meta/cbase.rb +6 -0
  212. data/meta/class.rb +10 -0
  213. data/meta/const.rb +15 -0
  214. data/meta/csend.rb +8 -0
  215. data/meta/cvar.rb +5 -0
  216. data/meta/cvasgn.rb +8 -0
  217. data/meta/date.rb +57 -0
  218. data/meta/def.rb +260 -0
  219. data/meta/defined.rb +7 -0
  220. data/meta/dstr.rb +11 -0
  221. data/meta/dsym.rb +12 -0
  222. data/meta/ensure.rb +7 -0
  223. data/meta/false.rb +6 -0
  224. data/meta/float.rb +35 -0
  225. data/meta/gvar.rb +5 -0
  226. data/meta/gvasgn.rb +8 -0
  227. data/meta/hash.rb +22 -0
  228. data/meta/if.rb +75 -0
  229. data/meta/int.rb +16 -0
  230. data/meta/ivar.rb +6 -0
  231. data/meta/ivasgn.rb +21 -0
  232. data/meta/kwarg.rb +8 -0
  233. data/meta/kwbegin.rb +7 -0
  234. data/meta/kwoptarg.rb +11 -0
  235. data/meta/kwrestarg.rb +17 -0
  236. data/meta/lvar.rb +14 -0
  237. data/meta/lvasgn.rb +8 -0
  238. data/meta/masgn.rb +5 -0
  239. data/meta/match_current_line.rb +13 -0
  240. data/meta/next.rb +9 -0
  241. data/meta/nil.rb +3 -0
  242. data/meta/nthref.rb +12 -0
  243. data/meta/op_assgn.rb +39 -0
  244. data/meta/or.rb +13 -0
  245. data/meta/or_asgn.rb +48 -0
  246. data/meta/range.rb +37 -0
  247. data/meta/redo.rb +3 -0
  248. data/meta/regexp.rb +84 -0
  249. data/meta/regexp/character_types.rb +20 -0
  250. data/meta/regexp/regexp_alternation_meta.rb +11 -0
  251. data/meta/regexp/regexp_bol_anchor.rb +8 -0
  252. data/meta/regexp/regexp_bos_anchor.rb +16 -0
  253. data/meta/regexp/regexp_capture_group.rb +17 -0
  254. data/meta/regexp/regexp_eol_anchor.rb +8 -0
  255. data/meta/regexp/regexp_eos_anchor.rb +6 -0
  256. data/meta/regexp/regexp_eos_ob_eol_anchor.rb +8 -0
  257. data/meta/regexp/regexp_one_or_more.rb +32 -0
  258. data/meta/regexp/regexp_root_expression.rb +8 -0
  259. data/meta/regexp/regexp_zero_or_more.rb +32 -0
  260. data/meta/regopt.rb +8 -0
  261. data/meta/rescue.rb +87 -0
  262. data/meta/restarg.rb +9 -0
  263. data/meta/return.rb +14 -0
  264. data/meta/self.rb +5 -0
  265. data/meta/send.rb +849 -0
  266. data/meta/str.rb +5 -0
  267. data/meta/super.rb +25 -0
  268. data/meta/sym.rb +6 -0
  269. data/meta/true.rb +6 -0
  270. data/meta/until.rb +15 -0
  271. data/meta/while.rb +24 -0
  272. data/meta/yield.rb +8 -0
  273. data/mutest-rspec.gemspec +22 -0
  274. data/mutest.gemspec +45 -0
  275. data/spec/integration/mutest/corpus_spec.rb +18 -0
  276. data/spec/integration/mutest/isolation/fork_spec.rb +8 -0
  277. data/spec/integration/mutest/null_spec.rb +13 -0
  278. data/spec/integration/mutest/rspec_spec.rb +11 -0
  279. data/spec/integration/mutest/test_mutator_handles_types_spec.rb +7 -0
  280. data/spec/integrations.yml +32 -0
  281. data/spec/rcov.opts +7 -0
  282. data/spec/shared/framework_integration_behavior.rb +44 -0
  283. data/spec/shared/method_matcher_behavior.rb +49 -0
  284. data/spec/spec_helper.rb +70 -0
  285. data/spec/support/compress_helper.rb +9 -0
  286. data/spec/support/corpus.rb +331 -0
  287. data/spec/support/fake_actor.rb +107 -0
  288. data/spec/support/file_system.rb +60 -0
  289. data/spec/support/ice_nine_config.rb +8 -0
  290. data/spec/support/rb_bug.rb +15 -0
  291. data/spec/support/ruby_vm.rb +82 -0
  292. data/spec/support/shared_context.rb +125 -0
  293. data/spec/support/test_app.rb +5 -0
  294. data/spec/support/warning.rb +73 -0
  295. data/spec/support/warnings.yml +5 -0
  296. data/spec/support/xspec.rb +175 -0
  297. data/spec/unit/mutest/actor/binding_spec.rb +32 -0
  298. data/spec/unit/mutest/actor/env_spec.rb +29 -0
  299. data/spec/unit/mutest/actor/mailbox_spec.rb +25 -0
  300. data/spec/unit/mutest/actor/message_spec.rb +22 -0
  301. data/spec/unit/mutest/actor/receiver_spec.rb +56 -0
  302. data/spec/unit/mutest/actor/sender_spec.rb +22 -0
  303. data/spec/unit/mutest/ast/meta/optarg_spec.rb +21 -0
  304. data/spec/unit/mutest/ast/meta/send/proc_predicate_spec.rb +28 -0
  305. data/spec/unit/mutest/ast/meta/send/receiver_possible_top_level_const_predicate_spec.rb +37 -0
  306. data/spec/unit/mutest/ast/meta/send_spec.rb +42 -0
  307. data/spec/unit/mutest/ast/named_children_spec.rb +87 -0
  308. data/spec/unit/mutest/ast/regexp/parse_spec.rb +5 -0
  309. data/spec/unit/mutest/ast/regexp/supported_predicate_spec.rb +14 -0
  310. data/spec/unit/mutest/ast/regexp/transformer/lookup_table/table_spec.rb +19 -0
  311. data/spec/unit/mutest/ast/regexp/transformer/lookup_table_spec.rb +33 -0
  312. data/spec/unit/mutest/ast/regexp/transformer_spec.rb +19 -0
  313. data/spec/unit/mutest/ast/regexp_spec.rb +625 -0
  314. data/spec/unit/mutest/ast/sexp_spec.rb +36 -0
  315. data/spec/unit/mutest/ast_spec.rb +55 -0
  316. data/spec/unit/mutest/cli_spec.rb +247 -0
  317. data/spec/unit/mutest/context_spec.rb +141 -0
  318. data/spec/unit/mutest/diff_spec.rb +185 -0
  319. data/spec/unit/mutest/env/bootstrap_spec.rb +188 -0
  320. data/spec/unit/mutest/env_spec.rb +100 -0
  321. data/spec/unit/mutest/expression/method_spec.rb +44 -0
  322. data/spec/unit/mutest/expression/methods_spec.rb +59 -0
  323. data/spec/unit/mutest/expression/namespace/exact_spec.rb +26 -0
  324. data/spec/unit/mutest/expression/namespace/recursive_spec.rb +64 -0
  325. data/spec/unit/mutest/expression/parser_spec.rb +67 -0
  326. data/spec/unit/mutest/expression_spec.rb +45 -0
  327. data/spec/unit/mutest/integration/null_spec.rb +28 -0
  328. data/spec/unit/mutest/integration/rspec_spec.rb +197 -0
  329. data/spec/unit/mutest/integration_spec.rb +26 -0
  330. data/spec/unit/mutest/isolation/fork_spec.rb +155 -0
  331. data/spec/unit/mutest/isolation/none_spec.rb +16 -0
  332. data/spec/unit/mutest/loader_spec.rb +42 -0
  333. data/spec/unit/mutest/matcher/chain_spec.rb +24 -0
  334. data/spec/unit/mutest/matcher/compiler/subject_prefix_spec.rb +24 -0
  335. data/spec/unit/mutest/matcher/compiler_spec.rb +76 -0
  336. data/spec/unit/mutest/matcher/config_spec.rb +45 -0
  337. data/spec/unit/mutest/matcher/filter_spec.rb +20 -0
  338. data/spec/unit/mutest/matcher/method/instance_spec.rb +125 -0
  339. data/spec/unit/mutest/matcher/method/singleton_spec.rb +85 -0
  340. data/spec/unit/mutest/matcher/methods/instance_spec.rb +58 -0
  341. data/spec/unit/mutest/matcher/methods/singleton_spec.rb +54 -0
  342. data/spec/unit/mutest/matcher/namespace_spec.rb +35 -0
  343. data/spec/unit/mutest/matcher/null_spec.rb +10 -0
  344. data/spec/unit/mutest/matcher/scope_spec.rb +33 -0
  345. data/spec/unit/mutest/matcher/static_spec.rb +11 -0
  346. data/spec/unit/mutest/meta/example/dsl_spec.rb +123 -0
  347. data/spec/unit/mutest/meta/example/verification_spec.rb +120 -0
  348. data/spec/unit/mutest/meta/example_spec.rb +32 -0
  349. data/spec/unit/mutest/mutation_spec.rb +129 -0
  350. data/spec/unit/mutest/mutator/node_spec.rb +43 -0
  351. data/spec/unit/mutest/mutator_spec.rb +30 -0
  352. data/spec/unit/mutest/parallel/driver_spec.rb +26 -0
  353. data/spec/unit/mutest/parallel/master_spec.rb +335 -0
  354. data/spec/unit/mutest/parallel/source/array_spec.rb +47 -0
  355. data/spec/unit/mutest/parallel/worker_spec.rb +65 -0
  356. data/spec/unit/mutest/parallel_spec.rb +16 -0
  357. data/spec/unit/mutest/parser_spec.rb +24 -0
  358. data/spec/unit/mutest/registry_spec.rb +45 -0
  359. data/spec/unit/mutest/reporter/cli/printer/config_spec.rb +29 -0
  360. data/spec/unit/mutest/reporter/cli/printer/env_progress_spec.rb +74 -0
  361. data/spec/unit/mutest/reporter/cli/printer/env_result_spec.rb +35 -0
  362. data/spec/unit/mutest/reporter/cli/printer/mutation_progress_result_spec.rb +23 -0
  363. data/spec/unit/mutest/reporter/cli/printer/mutation_result_spec.rb +110 -0
  364. data/spec/unit/mutest/reporter/cli/printer/status_progressive_spec.rb +43 -0
  365. data/spec/unit/mutest/reporter/cli/printer/status_spec.rb +119 -0
  366. data/spec/unit/mutest/reporter/cli/printer/subject_progress_spec.rb +34 -0
  367. data/spec/unit/mutest/reporter/cli/printer/subject_result_spec.rb +37 -0
  368. data/spec/unit/mutest/reporter/cli/printer/test_result_spec.rb +14 -0
  369. data/spec/unit/mutest/reporter/cli/printer_spec.rb +161 -0
  370. data/spec/unit/mutest/reporter/cli/tput_spec.rb +48 -0
  371. data/spec/unit/mutest/reporter/cli_spec.rb +212 -0
  372. data/spec/unit/mutest/reporter/null_spec.rb +12 -0
  373. data/spec/unit/mutest/reporter/sequence_spec.rb +29 -0
  374. data/spec/unit/mutest/repository/diff_spec.rb +106 -0
  375. data/spec/unit/mutest/repository/subject_filter_spec.rb +28 -0
  376. data/spec/unit/mutest/require_highjack_spec.rb +71 -0
  377. data/spec/unit/mutest/result/class_methods_spec.rb +49 -0
  378. data/spec/unit/mutest/result/env_spec.rb +82 -0
  379. data/spec/unit/mutest/result/mutation_spec.rb +37 -0
  380. data/spec/unit/mutest/result/subject_spec.rb +109 -0
  381. data/spec/unit/mutest/result_spec.rb +31 -0
  382. data/spec/unit/mutest/runner/sink_spec.rb +172 -0
  383. data/spec/unit/mutest/runner_spec.rb +69 -0
  384. data/spec/unit/mutest/selector/expression_spec.rb +59 -0
  385. data/spec/unit/mutest/source_file_spec.rb +42 -0
  386. data/spec/unit/mutest/subject/method/instance/memoized_spec.rb +78 -0
  387. data/spec/unit/mutest/subject/method/instance_spec.rb +64 -0
  388. data/spec/unit/mutest/subject/method/singleton_spec.rb +51 -0
  389. data/spec/unit/mutest/subject_spec.rb +87 -0
  390. data/spec/unit/mutest/util/one_spec.rb +20 -0
  391. data/spec/unit/mutest/warning_filter_spec.rb +99 -0
  392. data/spec/unit/mutest/zombifier_spec.rb +120 -0
  393. data/spec/unit/mutest_spec.rb +15 -0
  394. data/test_app/.rspec +1 -0
  395. data/test_app/Gemfile.rspec3.4 +7 -0
  396. data/test_app/Gemfile.rspec3.5 +7 -0
  397. data/test_app/lib/test_app.rb +109 -0
  398. data/test_app/lib/test_app/literal.rb +40 -0
  399. data/test_app/spec/spec_helper.rb +9 -0
  400. data/test_app/spec/unit/test_app/literal_spec.rb +20 -0
  401. metadata +784 -9
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.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniel Gollahon
@@ -9,16 +9,689 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2017-01-28 00:00:00.000000000 Z
13
- dependencies: []
14
- description: ''
12
+ date: 2017-01-30 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: parser
16
+ requirement: !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - "~>"
19
+ - !ruby/object:Gem::Version
20
+ version: 2.3.1
21
+ - - ">="
22
+ - !ruby/object:Gem::Version
23
+ version: 2.3.1.4
24
+ type: :runtime
25
+ prerelease: false
26
+ version_requirements: !ruby/object:Gem::Requirement
27
+ requirements:
28
+ - - "~>"
29
+ - !ruby/object:Gem::Version
30
+ version: 2.3.1
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: 2.3.1.4
34
+ - !ruby/object:Gem::Dependency
35
+ name: ast
36
+ requirement: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '2.2'
41
+ type: :runtime
42
+ prerelease: false
43
+ version_requirements: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '2.2'
48
+ - !ruby/object:Gem::Dependency
49
+ name: diff-lcs
50
+ requirement: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '1.2'
55
+ type: :runtime
56
+ prerelease: false
57
+ version_requirements: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '1.2'
62
+ - !ruby/object:Gem::Dependency
63
+ name: parallel
64
+ requirement: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '1.3'
69
+ type: :runtime
70
+ prerelease: false
71
+ version_requirements: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '1.3'
76
+ - !ruby/object:Gem::Dependency
77
+ name: morpher
78
+ requirement: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: 0.2.6
83
+ type: :runtime
84
+ prerelease: false
85
+ version_requirements: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: 0.2.6
90
+ - !ruby/object:Gem::Dependency
91
+ name: procto
92
+ requirement: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: 0.0.2
97
+ type: :runtime
98
+ prerelease: false
99
+ version_requirements: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: 0.0.2
104
+ - !ruby/object:Gem::Dependency
105
+ name: abstract_type
106
+ requirement: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: 0.0.7
111
+ type: :runtime
112
+ prerelease: false
113
+ version_requirements: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - "~>"
116
+ - !ruby/object:Gem::Version
117
+ version: 0.0.7
118
+ - !ruby/object:Gem::Dependency
119
+ name: unparser
120
+ requirement: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - "~>"
123
+ - !ruby/object:Gem::Version
124
+ version: 0.2.5
125
+ type: :runtime
126
+ prerelease: false
127
+ version_requirements: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - "~>"
130
+ - !ruby/object:Gem::Version
131
+ version: 0.2.5
132
+ - !ruby/object:Gem::Dependency
133
+ name: ice_nine
134
+ requirement: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - "~>"
137
+ - !ruby/object:Gem::Version
138
+ version: 0.11.1
139
+ type: :runtime
140
+ prerelease: false
141
+ version_requirements: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - "~>"
144
+ - !ruby/object:Gem::Version
145
+ version: 0.11.1
146
+ - !ruby/object:Gem::Dependency
147
+ name: adamantium
148
+ requirement: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - "~>"
151
+ - !ruby/object:Gem::Version
152
+ version: 0.2.0
153
+ type: :runtime
154
+ prerelease: false
155
+ version_requirements: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - "~>"
158
+ - !ruby/object:Gem::Version
159
+ version: 0.2.0
160
+ - !ruby/object:Gem::Dependency
161
+ name: memoizable
162
+ requirement: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - "~>"
165
+ - !ruby/object:Gem::Version
166
+ version: 0.4.2
167
+ type: :runtime
168
+ prerelease: false
169
+ version_requirements: !ruby/object:Gem::Requirement
170
+ requirements:
171
+ - - "~>"
172
+ - !ruby/object:Gem::Version
173
+ version: 0.4.2
174
+ - !ruby/object:Gem::Dependency
175
+ name: equalizer
176
+ requirement: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - "~>"
179
+ - !ruby/object:Gem::Version
180
+ version: 0.0.9
181
+ type: :runtime
182
+ prerelease: false
183
+ version_requirements: !ruby/object:Gem::Requirement
184
+ requirements:
185
+ - - "~>"
186
+ - !ruby/object:Gem::Version
187
+ version: 0.0.9
188
+ - !ruby/object:Gem::Dependency
189
+ name: anima
190
+ requirement: !ruby/object:Gem::Requirement
191
+ requirements:
192
+ - - "~>"
193
+ - !ruby/object:Gem::Version
194
+ version: 0.3.0
195
+ type: :runtime
196
+ prerelease: false
197
+ version_requirements: !ruby/object:Gem::Requirement
198
+ requirements:
199
+ - - "~>"
200
+ - !ruby/object:Gem::Version
201
+ version: 0.3.0
202
+ - !ruby/object:Gem::Dependency
203
+ name: concord
204
+ requirement: !ruby/object:Gem::Requirement
205
+ requirements:
206
+ - - "~>"
207
+ - !ruby/object:Gem::Version
208
+ version: 0.1.5
209
+ type: :runtime
210
+ prerelease: false
211
+ version_requirements: !ruby/object:Gem::Requirement
212
+ requirements:
213
+ - - "~>"
214
+ - !ruby/object:Gem::Version
215
+ version: 0.1.5
216
+ - !ruby/object:Gem::Dependency
217
+ name: regexp_parser
218
+ requirement: !ruby/object:Gem::Requirement
219
+ requirements:
220
+ - - "~>"
221
+ - !ruby/object:Gem::Version
222
+ version: 0.4.1
223
+ type: :runtime
224
+ prerelease: false
225
+ version_requirements: !ruby/object:Gem::Requirement
226
+ requirements:
227
+ - - "~>"
228
+ - !ruby/object:Gem::Version
229
+ version: 0.4.1
230
+ - !ruby/object:Gem::Dependency
231
+ name: rubocop-rspec
232
+ requirement: !ruby/object:Gem::Requirement
233
+ requirements:
234
+ - - "~>"
235
+ - !ruby/object:Gem::Version
236
+ version: 1.10.0
237
+ type: :development
238
+ prerelease: false
239
+ version_requirements: !ruby/object:Gem::Requirement
240
+ requirements:
241
+ - - "~>"
242
+ - !ruby/object:Gem::Version
243
+ version: 1.10.0
244
+ - !ruby/object:Gem::Dependency
245
+ name: devtools
246
+ requirement: !ruby/object:Gem::Requirement
247
+ requirements:
248
+ - - "~>"
249
+ - !ruby/object:Gem::Version
250
+ version: 0.1.16
251
+ type: :development
252
+ prerelease: false
253
+ version_requirements: !ruby/object:Gem::Requirement
254
+ requirements:
255
+ - - "~>"
256
+ - !ruby/object:Gem::Version
257
+ version: 0.1.16
258
+ - !ruby/object:Gem::Dependency
259
+ name: bundler
260
+ requirement: !ruby/object:Gem::Requirement
261
+ requirements:
262
+ - - "~>"
263
+ - !ruby/object:Gem::Version
264
+ version: '1.10'
265
+ type: :development
266
+ prerelease: false
267
+ version_requirements: !ruby/object:Gem::Requirement
268
+ requirements:
269
+ - - "~>"
270
+ - !ruby/object:Gem::Version
271
+ version: '1.10'
272
+ - !ruby/object:Gem::Dependency
273
+ name: ffi
274
+ requirement: !ruby/object:Gem::Requirement
275
+ requirements:
276
+ - - "~>"
277
+ - !ruby/object:Gem::Version
278
+ version: 1.9.6
279
+ type: :development
280
+ prerelease: false
281
+ version_requirements: !ruby/object:Gem::Requirement
282
+ requirements:
283
+ - - "~>"
284
+ - !ruby/object:Gem::Version
285
+ version: 1.9.6
286
+ description: Mutation testing for ruby
15
287
  email:
16
288
  - johncbackus@gmail.com
17
289
  - daniel.gollahon@gmail.com
18
- executables: []
290
+ executables:
291
+ - mutest
19
292
  extensions: []
20
- extra_rdoc_files: []
21
- files: []
293
+ extra_rdoc_files:
294
+ - LICENSE
295
+ files:
296
+ - ".buildkite/hooks/pre-command"
297
+ - ".buildkite/pipeline.yml"
298
+ - ".gitattributes"
299
+ - ".gitignore"
300
+ - ".rspec"
301
+ - Gemfile
302
+ - Gemfile.lock
303
+ - Gemfile.shared
304
+ - LICENSE
305
+ - README.md
306
+ - Rakefile
307
+ - bin/mutest
308
+ - build/Dockerfile
309
+ - build/docker-bootstrap.sh
310
+ - build/docker-exec
311
+ - build/make-docker
312
+ - build/ruby_matrix
313
+ - build/run
314
+ - build/strict-mode.sh
315
+ - circle.yml
316
+ - config/devtools.yml
317
+ - config/flay.yml
318
+ - config/flog.yml
319
+ - config/reek.yml
320
+ - config/rubocop.yml
321
+ - config/triage.yml
322
+ - config/yardstick.yml
323
+ - lib/mutest.rb
324
+ - lib/mutest/actor.rb
325
+ - lib/mutest/actor/env.rb
326
+ - lib/mutest/actor/mailbox.rb
327
+ - lib/mutest/actor/receiver.rb
328
+ - lib/mutest/actor/sender.rb
329
+ - lib/mutest/ast.rb
330
+ - lib/mutest/ast/meta.rb
331
+ - lib/mutest/ast/meta/const.rb
332
+ - lib/mutest/ast/meta/optarg.rb
333
+ - lib/mutest/ast/meta/resbody.rb
334
+ - lib/mutest/ast/meta/restarg.rb
335
+ - lib/mutest/ast/meta/send.rb
336
+ - lib/mutest/ast/meta/symbol.rb
337
+ - lib/mutest/ast/named_children.rb
338
+ - lib/mutest/ast/node_predicates.rb
339
+ - lib/mutest/ast/nodes.rb
340
+ - lib/mutest/ast/regexp.rb
341
+ - lib/mutest/ast/regexp/transformer.rb
342
+ - lib/mutest/ast/regexp/transformer/alternative.rb
343
+ - lib/mutest/ast/regexp/transformer/character_set.rb
344
+ - lib/mutest/ast/regexp/transformer/direct.rb
345
+ - lib/mutest/ast/regexp/transformer/options_group.rb
346
+ - lib/mutest/ast/regexp/transformer/quantifier.rb
347
+ - lib/mutest/ast/regexp/transformer/recursive.rb
348
+ - lib/mutest/ast/regexp/transformer/root.rb
349
+ - lib/mutest/ast/regexp/transformer/text.rb
350
+ - lib/mutest/ast/sexp.rb
351
+ - lib/mutest/ast/types.rb
352
+ - lib/mutest/cli.rb
353
+ - lib/mutest/color.rb
354
+ - lib/mutest/config.rb
355
+ - lib/mutest/context.rb
356
+ - lib/mutest/diff.rb
357
+ - lib/mutest/env.rb
358
+ - lib/mutest/env/bootstrap.rb
359
+ - lib/mutest/expression.rb
360
+ - lib/mutest/expression/method.rb
361
+ - lib/mutest/expression/methods.rb
362
+ - lib/mutest/expression/namespace.rb
363
+ - lib/mutest/expression/parser.rb
364
+ - lib/mutest/integration.rb
365
+ - lib/mutest/isolation.rb
366
+ - lib/mutest/isolation/fork.rb
367
+ - lib/mutest/isolation/none.rb
368
+ - lib/mutest/loader.rb
369
+ - lib/mutest/matcher.rb
370
+ - lib/mutest/matcher/chain.rb
371
+ - lib/mutest/matcher/compiler.rb
372
+ - lib/mutest/matcher/config.rb
373
+ - lib/mutest/matcher/filter.rb
374
+ - lib/mutest/matcher/method.rb
375
+ - lib/mutest/matcher/method/instance.rb
376
+ - lib/mutest/matcher/method/singleton.rb
377
+ - lib/mutest/matcher/methods.rb
378
+ - lib/mutest/matcher/namespace.rb
379
+ - lib/mutest/matcher/null.rb
380
+ - lib/mutest/matcher/scope.rb
381
+ - lib/mutest/matcher/static.rb
382
+ - lib/mutest/meta.rb
383
+ - lib/mutest/meta/example.rb
384
+ - lib/mutest/meta/example/dsl.rb
385
+ - lib/mutest/meta/example/verification.rb
386
+ - lib/mutest/mutation.rb
387
+ - lib/mutest/mutator.rb
388
+ - lib/mutest/mutator/node.rb
389
+ - lib/mutest/mutator/node/and_asgn.rb
390
+ - lib/mutest/mutator/node/argument.rb
391
+ - lib/mutest/mutator/node/arguments.rb
392
+ - lib/mutest/mutator/node/begin.rb
393
+ - lib/mutest/mutator/node/binary.rb
394
+ - lib/mutest/mutator/node/block.rb
395
+ - lib/mutest/mutator/node/break.rb
396
+ - lib/mutest/mutator/node/case.rb
397
+ - lib/mutest/mutator/node/class.rb
398
+ - lib/mutest/mutator/node/conditional_loop.rb
399
+ - lib/mutest/mutator/node/const.rb
400
+ - lib/mutest/mutator/node/define.rb
401
+ - lib/mutest/mutator/node/defined.rb
402
+ - lib/mutest/mutator/node/dstr.rb
403
+ - lib/mutest/mutator/node/dsym.rb
404
+ - lib/mutest/mutator/node/generic.rb
405
+ - lib/mutest/mutator/node/if.rb
406
+ - lib/mutest/mutator/node/kwbegin.rb
407
+ - lib/mutest/mutator/node/literal.rb
408
+ - lib/mutest/mutator/node/literal/array.rb
409
+ - lib/mutest/mutator/node/literal/boolean.rb
410
+ - lib/mutest/mutator/node/literal/fixnum.rb
411
+ - lib/mutest/mutator/node/literal/float.rb
412
+ - lib/mutest/mutator/node/literal/hash.rb
413
+ - lib/mutest/mutator/node/literal/nil.rb
414
+ - lib/mutest/mutator/node/literal/range.rb
415
+ - lib/mutest/mutator/node/literal/regex.rb
416
+ - lib/mutest/mutator/node/literal/string.rb
417
+ - lib/mutest/mutator/node/literal/symbol.rb
418
+ - lib/mutest/mutator/node/masgn.rb
419
+ - lib/mutest/mutator/node/match_current_line.rb
420
+ - lib/mutest/mutator/node/mlhs.rb
421
+ - lib/mutest/mutator/node/named_value/access.rb
422
+ - lib/mutest/mutator/node/named_value/constant_assignment.rb
423
+ - lib/mutest/mutator/node/named_value/variable_assignment.rb
424
+ - lib/mutest/mutator/node/next.rb
425
+ - lib/mutest/mutator/node/noop.rb
426
+ - lib/mutest/mutator/node/nthref.rb
427
+ - lib/mutest/mutator/node/op_asgn.rb
428
+ - lib/mutest/mutator/node/or_asgn.rb
429
+ - lib/mutest/mutator/node/regexp.rb
430
+ - lib/mutest/mutator/node/regexp/alternation_meta.rb
431
+ - lib/mutest/mutator/node/regexp/capture_group.rb
432
+ - lib/mutest/mutator/node/regexp/character_type.rb
433
+ - lib/mutest/mutator/node/regexp/end_of_line_anchor.rb
434
+ - lib/mutest/mutator/node/regexp/end_of_string_or_before_end_of_line_anchor.rb
435
+ - lib/mutest/mutator/node/regexp/one_or_more.rb
436
+ - lib/mutest/mutator/node/regexp/zero_or_more.rb
437
+ - lib/mutest/mutator/node/regopt.rb
438
+ - lib/mutest/mutator/node/resbody.rb
439
+ - lib/mutest/mutator/node/rescue.rb
440
+ - lib/mutest/mutator/node/return.rb
441
+ - lib/mutest/mutator/node/send.rb
442
+ - lib/mutest/mutator/node/send/attribute_assignment.rb
443
+ - lib/mutest/mutator/node/send/binary.rb
444
+ - lib/mutest/mutator/node/send/conditional.rb
445
+ - lib/mutest/mutator/node/send/index.rb
446
+ - lib/mutest/mutator/node/splat.rb
447
+ - lib/mutest/mutator/node/super.rb
448
+ - lib/mutest/mutator/node/when.rb
449
+ - lib/mutest/mutator/node/yield.rb
450
+ - lib/mutest/mutator/node/zsuper.rb
451
+ - lib/mutest/mutator/util.rb
452
+ - lib/mutest/mutator/util/array.rb
453
+ - lib/mutest/mutator/util/symbol.rb
454
+ - lib/mutest/parallel.rb
455
+ - lib/mutest/parallel/master.rb
456
+ - lib/mutest/parallel/source.rb
457
+ - lib/mutest/parallel/worker.rb
458
+ - lib/mutest/parser.rb
459
+ - lib/mutest/registry.rb
460
+ - lib/mutest/reporter.rb
461
+ - lib/mutest/reporter/cli.rb
462
+ - lib/mutest/reporter/cli/format.rb
463
+ - lib/mutest/reporter/cli/printer.rb
464
+ - lib/mutest/reporter/cli/printer/config.rb
465
+ - lib/mutest/reporter/cli/printer/env_progress.rb
466
+ - lib/mutest/reporter/cli/printer/env_result.rb
467
+ - lib/mutest/reporter/cli/printer/mutation_progress_result.rb
468
+ - lib/mutest/reporter/cli/printer/mutation_result.rb
469
+ - lib/mutest/reporter/cli/printer/status.rb
470
+ - lib/mutest/reporter/cli/printer/status_progressive.rb
471
+ - lib/mutest/reporter/cli/printer/subject_progress.rb
472
+ - lib/mutest/reporter/cli/printer/subject_result.rb
473
+ - lib/mutest/reporter/cli/printer/test_result.rb
474
+ - lib/mutest/reporter/cli/tput.rb
475
+ - lib/mutest/reporter/null.rb
476
+ - lib/mutest/reporter/sequence.rb
477
+ - lib/mutest/repository.rb
478
+ - lib/mutest/require_highjack.rb
479
+ - lib/mutest/result.rb
480
+ - lib/mutest/runner.rb
481
+ - lib/mutest/runner/sink.rb
482
+ - lib/mutest/scope.rb
483
+ - lib/mutest/selector.rb
484
+ - lib/mutest/selector/expression.rb
485
+ - lib/mutest/source_file.rb
486
+ - lib/mutest/subject.rb
487
+ - lib/mutest/subject/method.rb
488
+ - lib/mutest/subject/method/instance.rb
489
+ - lib/mutest/subject/method/singleton.rb
490
+ - lib/mutest/test.rb
491
+ - lib/mutest/util.rb
492
+ - lib/mutest/version.rb
493
+ - lib/mutest/warning_filter.rb
494
+ - lib/mutest/zombifier.rb
495
+ - meta/and.rb
496
+ - meta/and_asgn.rb
497
+ - meta/array.rb
498
+ - meta/begin.rb
499
+ - meta/block.rb
500
+ - meta/block_pass.rb
501
+ - meta/blockarg.rb
502
+ - meta/break.rb
503
+ - meta/case.rb
504
+ - meta/casgn.rb
505
+ - meta/cbase.rb
506
+ - meta/class.rb
507
+ - meta/const.rb
508
+ - meta/csend.rb
509
+ - meta/cvar.rb
510
+ - meta/cvasgn.rb
511
+ - meta/date.rb
512
+ - meta/def.rb
513
+ - meta/defined.rb
514
+ - meta/dstr.rb
515
+ - meta/dsym.rb
516
+ - meta/ensure.rb
517
+ - meta/false.rb
518
+ - meta/float.rb
519
+ - meta/gvar.rb
520
+ - meta/gvasgn.rb
521
+ - meta/hash.rb
522
+ - meta/if.rb
523
+ - meta/int.rb
524
+ - meta/ivar.rb
525
+ - meta/ivasgn.rb
526
+ - meta/kwarg.rb
527
+ - meta/kwbegin.rb
528
+ - meta/kwoptarg.rb
529
+ - meta/kwrestarg.rb
530
+ - meta/lvar.rb
531
+ - meta/lvasgn.rb
532
+ - meta/masgn.rb
533
+ - meta/match_current_line.rb
534
+ - meta/next.rb
535
+ - meta/nil.rb
536
+ - meta/nthref.rb
537
+ - meta/op_assgn.rb
538
+ - meta/or.rb
539
+ - meta/or_asgn.rb
540
+ - meta/range.rb
541
+ - meta/redo.rb
542
+ - meta/regexp.rb
543
+ - meta/regexp/character_types.rb
544
+ - meta/regexp/regexp_alternation_meta.rb
545
+ - meta/regexp/regexp_bol_anchor.rb
546
+ - meta/regexp/regexp_bos_anchor.rb
547
+ - meta/regexp/regexp_capture_group.rb
548
+ - meta/regexp/regexp_eol_anchor.rb
549
+ - meta/regexp/regexp_eos_anchor.rb
550
+ - meta/regexp/regexp_eos_ob_eol_anchor.rb
551
+ - meta/regexp/regexp_one_or_more.rb
552
+ - meta/regexp/regexp_root_expression.rb
553
+ - meta/regexp/regexp_zero_or_more.rb
554
+ - meta/regopt.rb
555
+ - meta/rescue.rb
556
+ - meta/restarg.rb
557
+ - meta/return.rb
558
+ - meta/self.rb
559
+ - meta/send.rb
560
+ - meta/str.rb
561
+ - meta/super.rb
562
+ - meta/sym.rb
563
+ - meta/true.rb
564
+ - meta/until.rb
565
+ - meta/while.rb
566
+ - meta/yield.rb
567
+ - mutest-rspec.gemspec
568
+ - mutest.gemspec
569
+ - spec/integration/mutest/corpus_spec.rb
570
+ - spec/integration/mutest/isolation/fork_spec.rb
571
+ - spec/integration/mutest/null_spec.rb
572
+ - spec/integration/mutest/rspec_spec.rb
573
+ - spec/integration/mutest/test_mutator_handles_types_spec.rb
574
+ - spec/integrations.yml
575
+ - spec/rcov.opts
576
+ - spec/shared/framework_integration_behavior.rb
577
+ - spec/shared/method_matcher_behavior.rb
578
+ - spec/spec_helper.rb
579
+ - spec/support/compress_helper.rb
580
+ - spec/support/corpus.rb
581
+ - spec/support/fake_actor.rb
582
+ - spec/support/file_system.rb
583
+ - spec/support/ice_nine_config.rb
584
+ - spec/support/rb_bug.rb
585
+ - spec/support/ruby_vm.rb
586
+ - spec/support/shared_context.rb
587
+ - spec/support/test_app.rb
588
+ - spec/support/warning.rb
589
+ - spec/support/warnings.yml
590
+ - spec/support/xspec.rb
591
+ - spec/unit/mutest/actor/binding_spec.rb
592
+ - spec/unit/mutest/actor/env_spec.rb
593
+ - spec/unit/mutest/actor/mailbox_spec.rb
594
+ - spec/unit/mutest/actor/message_spec.rb
595
+ - spec/unit/mutest/actor/receiver_spec.rb
596
+ - spec/unit/mutest/actor/sender_spec.rb
597
+ - spec/unit/mutest/ast/meta/optarg_spec.rb
598
+ - spec/unit/mutest/ast/meta/send/proc_predicate_spec.rb
599
+ - spec/unit/mutest/ast/meta/send/receiver_possible_top_level_const_predicate_spec.rb
600
+ - spec/unit/mutest/ast/meta/send_spec.rb
601
+ - spec/unit/mutest/ast/named_children_spec.rb
602
+ - spec/unit/mutest/ast/regexp/parse_spec.rb
603
+ - spec/unit/mutest/ast/regexp/supported_predicate_spec.rb
604
+ - spec/unit/mutest/ast/regexp/transformer/lookup_table/table_spec.rb
605
+ - spec/unit/mutest/ast/regexp/transformer/lookup_table_spec.rb
606
+ - spec/unit/mutest/ast/regexp/transformer_spec.rb
607
+ - spec/unit/mutest/ast/regexp_spec.rb
608
+ - spec/unit/mutest/ast/sexp_spec.rb
609
+ - spec/unit/mutest/ast_spec.rb
610
+ - spec/unit/mutest/cli_spec.rb
611
+ - spec/unit/mutest/context_spec.rb
612
+ - spec/unit/mutest/diff_spec.rb
613
+ - spec/unit/mutest/env/bootstrap_spec.rb
614
+ - spec/unit/mutest/env_spec.rb
615
+ - spec/unit/mutest/expression/method_spec.rb
616
+ - spec/unit/mutest/expression/methods_spec.rb
617
+ - spec/unit/mutest/expression/namespace/exact_spec.rb
618
+ - spec/unit/mutest/expression/namespace/recursive_spec.rb
619
+ - spec/unit/mutest/expression/parser_spec.rb
620
+ - spec/unit/mutest/expression_spec.rb
621
+ - spec/unit/mutest/integration/null_spec.rb
622
+ - spec/unit/mutest/integration/rspec_spec.rb
623
+ - spec/unit/mutest/integration_spec.rb
624
+ - spec/unit/mutest/isolation/fork_spec.rb
625
+ - spec/unit/mutest/isolation/none_spec.rb
626
+ - spec/unit/mutest/loader_spec.rb
627
+ - spec/unit/mutest/matcher/chain_spec.rb
628
+ - spec/unit/mutest/matcher/compiler/subject_prefix_spec.rb
629
+ - spec/unit/mutest/matcher/compiler_spec.rb
630
+ - spec/unit/mutest/matcher/config_spec.rb
631
+ - spec/unit/mutest/matcher/filter_spec.rb
632
+ - spec/unit/mutest/matcher/method/instance_spec.rb
633
+ - spec/unit/mutest/matcher/method/singleton_spec.rb
634
+ - spec/unit/mutest/matcher/methods/instance_spec.rb
635
+ - spec/unit/mutest/matcher/methods/singleton_spec.rb
636
+ - spec/unit/mutest/matcher/namespace_spec.rb
637
+ - spec/unit/mutest/matcher/null_spec.rb
638
+ - spec/unit/mutest/matcher/scope_spec.rb
639
+ - spec/unit/mutest/matcher/static_spec.rb
640
+ - spec/unit/mutest/meta/example/dsl_spec.rb
641
+ - spec/unit/mutest/meta/example/verification_spec.rb
642
+ - spec/unit/mutest/meta/example_spec.rb
643
+ - spec/unit/mutest/mutation_spec.rb
644
+ - spec/unit/mutest/mutator/node_spec.rb
645
+ - spec/unit/mutest/mutator_spec.rb
646
+ - spec/unit/mutest/parallel/driver_spec.rb
647
+ - spec/unit/mutest/parallel/master_spec.rb
648
+ - spec/unit/mutest/parallel/source/array_spec.rb
649
+ - spec/unit/mutest/parallel/worker_spec.rb
650
+ - spec/unit/mutest/parallel_spec.rb
651
+ - spec/unit/mutest/parser_spec.rb
652
+ - spec/unit/mutest/registry_spec.rb
653
+ - spec/unit/mutest/reporter/cli/printer/config_spec.rb
654
+ - spec/unit/mutest/reporter/cli/printer/env_progress_spec.rb
655
+ - spec/unit/mutest/reporter/cli/printer/env_result_spec.rb
656
+ - spec/unit/mutest/reporter/cli/printer/mutation_progress_result_spec.rb
657
+ - spec/unit/mutest/reporter/cli/printer/mutation_result_spec.rb
658
+ - spec/unit/mutest/reporter/cli/printer/status_progressive_spec.rb
659
+ - spec/unit/mutest/reporter/cli/printer/status_spec.rb
660
+ - spec/unit/mutest/reporter/cli/printer/subject_progress_spec.rb
661
+ - spec/unit/mutest/reporter/cli/printer/subject_result_spec.rb
662
+ - spec/unit/mutest/reporter/cli/printer/test_result_spec.rb
663
+ - spec/unit/mutest/reporter/cli/printer_spec.rb
664
+ - spec/unit/mutest/reporter/cli/tput_spec.rb
665
+ - spec/unit/mutest/reporter/cli_spec.rb
666
+ - spec/unit/mutest/reporter/null_spec.rb
667
+ - spec/unit/mutest/reporter/sequence_spec.rb
668
+ - spec/unit/mutest/repository/diff_spec.rb
669
+ - spec/unit/mutest/repository/subject_filter_spec.rb
670
+ - spec/unit/mutest/require_highjack_spec.rb
671
+ - spec/unit/mutest/result/class_methods_spec.rb
672
+ - spec/unit/mutest/result/env_spec.rb
673
+ - spec/unit/mutest/result/mutation_spec.rb
674
+ - spec/unit/mutest/result/subject_spec.rb
675
+ - spec/unit/mutest/result_spec.rb
676
+ - spec/unit/mutest/runner/sink_spec.rb
677
+ - spec/unit/mutest/runner_spec.rb
678
+ - spec/unit/mutest/selector/expression_spec.rb
679
+ - spec/unit/mutest/source_file_spec.rb
680
+ - spec/unit/mutest/subject/method/instance/memoized_spec.rb
681
+ - spec/unit/mutest/subject/method/instance_spec.rb
682
+ - spec/unit/mutest/subject/method/singleton_spec.rb
683
+ - spec/unit/mutest/subject_spec.rb
684
+ - spec/unit/mutest/util/one_spec.rb
685
+ - spec/unit/mutest/warning_filter_spec.rb
686
+ - spec/unit/mutest/zombifier_spec.rb
687
+ - spec/unit/mutest_spec.rb
688
+ - test_app/.rspec
689
+ - test_app/Gemfile.rspec3.4
690
+ - test_app/Gemfile.rspec3.5
691
+ - test_app/lib/test_app.rb
692
+ - test_app/lib/test_app/literal.rb
693
+ - test_app/spec/spec_helper.rb
694
+ - test_app/spec/unit/test_app/literal_spec.rb
22
695
  homepage: https://github.com/backus/mutest
23
696
  licenses:
24
697
  - MIT
@@ -42,5 +715,107 @@ rubyforge_project:
42
715
  rubygems_version: 2.5.1
43
716
  signing_key:
44
717
  specification_version: 4
45
- summary: ''
46
- test_files: []
718
+ summary: Mutation testing for ruby
719
+ test_files:
720
+ - spec/integration/mutest/corpus_spec.rb
721
+ - spec/integration/mutest/isolation/fork_spec.rb
722
+ - spec/integration/mutest/null_spec.rb
723
+ - spec/integration/mutest/rspec_spec.rb
724
+ - spec/integration/mutest/test_mutator_handles_types_spec.rb
725
+ - spec/unit/mutest/actor/binding_spec.rb
726
+ - spec/unit/mutest/actor/env_spec.rb
727
+ - spec/unit/mutest/actor/mailbox_spec.rb
728
+ - spec/unit/mutest/actor/message_spec.rb
729
+ - spec/unit/mutest/actor/receiver_spec.rb
730
+ - spec/unit/mutest/actor/sender_spec.rb
731
+ - spec/unit/mutest/ast/meta/optarg_spec.rb
732
+ - spec/unit/mutest/ast/meta/send/proc_predicate_spec.rb
733
+ - spec/unit/mutest/ast/meta/send/receiver_possible_top_level_const_predicate_spec.rb
734
+ - spec/unit/mutest/ast/meta/send_spec.rb
735
+ - spec/unit/mutest/ast/named_children_spec.rb
736
+ - spec/unit/mutest/ast/regexp/parse_spec.rb
737
+ - spec/unit/mutest/ast/regexp/supported_predicate_spec.rb
738
+ - spec/unit/mutest/ast/regexp/transformer/lookup_table/table_spec.rb
739
+ - spec/unit/mutest/ast/regexp/transformer/lookup_table_spec.rb
740
+ - spec/unit/mutest/ast/regexp/transformer_spec.rb
741
+ - spec/unit/mutest/ast/regexp_spec.rb
742
+ - spec/unit/mutest/ast/sexp_spec.rb
743
+ - spec/unit/mutest/ast_spec.rb
744
+ - spec/unit/mutest/cli_spec.rb
745
+ - spec/unit/mutest/context_spec.rb
746
+ - spec/unit/mutest/diff_spec.rb
747
+ - spec/unit/mutest/env/bootstrap_spec.rb
748
+ - spec/unit/mutest/env_spec.rb
749
+ - spec/unit/mutest/expression/method_spec.rb
750
+ - spec/unit/mutest/expression/methods_spec.rb
751
+ - spec/unit/mutest/expression/namespace/exact_spec.rb
752
+ - spec/unit/mutest/expression/namespace/recursive_spec.rb
753
+ - spec/unit/mutest/expression/parser_spec.rb
754
+ - spec/unit/mutest/expression_spec.rb
755
+ - spec/unit/mutest/integration/null_spec.rb
756
+ - spec/unit/mutest/integration/rspec_spec.rb
757
+ - spec/unit/mutest/integration_spec.rb
758
+ - spec/unit/mutest/isolation/fork_spec.rb
759
+ - spec/unit/mutest/isolation/none_spec.rb
760
+ - spec/unit/mutest/loader_spec.rb
761
+ - spec/unit/mutest/matcher/chain_spec.rb
762
+ - spec/unit/mutest/matcher/compiler/subject_prefix_spec.rb
763
+ - spec/unit/mutest/matcher/compiler_spec.rb
764
+ - spec/unit/mutest/matcher/config_spec.rb
765
+ - spec/unit/mutest/matcher/filter_spec.rb
766
+ - spec/unit/mutest/matcher/method/instance_spec.rb
767
+ - spec/unit/mutest/matcher/method/singleton_spec.rb
768
+ - spec/unit/mutest/matcher/methods/instance_spec.rb
769
+ - spec/unit/mutest/matcher/methods/singleton_spec.rb
770
+ - spec/unit/mutest/matcher/namespace_spec.rb
771
+ - spec/unit/mutest/matcher/null_spec.rb
772
+ - spec/unit/mutest/matcher/scope_spec.rb
773
+ - spec/unit/mutest/matcher/static_spec.rb
774
+ - spec/unit/mutest/meta/example/dsl_spec.rb
775
+ - spec/unit/mutest/meta/example/verification_spec.rb
776
+ - spec/unit/mutest/meta/example_spec.rb
777
+ - spec/unit/mutest/mutation_spec.rb
778
+ - spec/unit/mutest/mutator/node_spec.rb
779
+ - spec/unit/mutest/mutator_spec.rb
780
+ - spec/unit/mutest/parallel/driver_spec.rb
781
+ - spec/unit/mutest/parallel/master_spec.rb
782
+ - spec/unit/mutest/parallel/source/array_spec.rb
783
+ - spec/unit/mutest/parallel/worker_spec.rb
784
+ - spec/unit/mutest/parallel_spec.rb
785
+ - spec/unit/mutest/parser_spec.rb
786
+ - spec/unit/mutest/registry_spec.rb
787
+ - spec/unit/mutest/reporter/cli/printer/config_spec.rb
788
+ - spec/unit/mutest/reporter/cli/printer/env_progress_spec.rb
789
+ - spec/unit/mutest/reporter/cli/printer/env_result_spec.rb
790
+ - spec/unit/mutest/reporter/cli/printer/mutation_progress_result_spec.rb
791
+ - spec/unit/mutest/reporter/cli/printer/mutation_result_spec.rb
792
+ - spec/unit/mutest/reporter/cli/printer/status_progressive_spec.rb
793
+ - spec/unit/mutest/reporter/cli/printer/status_spec.rb
794
+ - spec/unit/mutest/reporter/cli/printer/subject_progress_spec.rb
795
+ - spec/unit/mutest/reporter/cli/printer/subject_result_spec.rb
796
+ - spec/unit/mutest/reporter/cli/printer/test_result_spec.rb
797
+ - spec/unit/mutest/reporter/cli/printer_spec.rb
798
+ - spec/unit/mutest/reporter/cli/tput_spec.rb
799
+ - spec/unit/mutest/reporter/cli_spec.rb
800
+ - spec/unit/mutest/reporter/null_spec.rb
801
+ - spec/unit/mutest/reporter/sequence_spec.rb
802
+ - spec/unit/mutest/repository/diff_spec.rb
803
+ - spec/unit/mutest/repository/subject_filter_spec.rb
804
+ - spec/unit/mutest/require_highjack_spec.rb
805
+ - spec/unit/mutest/result/class_methods_spec.rb
806
+ - spec/unit/mutest/result/env_spec.rb
807
+ - spec/unit/mutest/result/mutation_spec.rb
808
+ - spec/unit/mutest/result/subject_spec.rb
809
+ - spec/unit/mutest/result_spec.rb
810
+ - spec/unit/mutest/runner/sink_spec.rb
811
+ - spec/unit/mutest/runner_spec.rb
812
+ - spec/unit/mutest/selector/expression_spec.rb
813
+ - spec/unit/mutest/source_file_spec.rb
814
+ - spec/unit/mutest/subject/method/instance/memoized_spec.rb
815
+ - spec/unit/mutest/subject/method/instance_spec.rb
816
+ - spec/unit/mutest/subject/method/singleton_spec.rb
817
+ - spec/unit/mutest/subject_spec.rb
818
+ - spec/unit/mutest/util/one_spec.rb
819
+ - spec/unit/mutest/warning_filter_spec.rb
820
+ - spec/unit/mutest/zombifier_spec.rb
821
+ - spec/unit/mutest_spec.rb