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
@@ -14,8 +14,8 @@ module Mutest
14
14
  super()
15
15
  emit(s(:send, *children))
16
16
  end
17
- end # Conditional
18
- end # Send
19
- end # Node
20
- end # Mutator
21
- end # Mutest
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
@@ -19,7 +19,7 @@ module Mutest
19
19
  end
20
20
  emit(expression)
21
21
  end
22
- end # Splat
23
- end # Node
24
- end # Mutator
25
- end # Mutest
22
+ end
23
+ end
24
+ end
25
+ end
@@ -18,7 +18,7 @@ module Mutest
18
18
  delete_child(index)
19
19
  end
20
20
  end
21
- end # Super
22
- end # Node
23
- end # Mutator
24
- end # Mutest
21
+ end
22
+ end
23
+ end
24
+ end
@@ -54,7 +54,7 @@ module Mutest
54
54
  def body_index
55
55
  children.length - 1
56
56
  end
57
- end # When
58
- end # Node
59
- end # Mutator
60
- end # Mutest
57
+ end
58
+ end
59
+ end
60
+ end
@@ -15,7 +15,7 @@ module Mutest
15
15
  emit_singletons
16
16
  children.each_index(&method(:delete_child))
17
17
  end
18
- end # Yield
19
- end # Node
20
- end # Mutator
21
- end # Mutest
18
+ end
19
+ end
20
+ end
21
+ end
@@ -14,7 +14,7 @@ module Mutest
14
14
  emit_singletons
15
15
  emit(N_EMPTY_SUPER)
16
16
  end
17
- end # ZSuper
18
- end # Node
19
- end # Mutator
20
- end # Mutest
17
+ end
18
+ end
19
+ end
20
+ end
@@ -6,6 +6,6 @@ module Mutest
6
6
 
7
7
  def disabled?
8
8
  end
9
- end # Util
10
- end # Mutator
11
- end # Mutest
9
+ end
10
+ end
11
+ end
@@ -17,7 +17,7 @@ module Mutest
17
17
  emit(dup)
18
18
  end
19
19
  end
20
- end # Presence
20
+ end
21
21
 
22
22
  # Array element mutator
23
23
  class Element < Util
@@ -35,8 +35,8 @@ module Mutest
35
35
  end
36
36
  end
37
37
  end
38
- end # Element
39
- end # Array
40
- end # Util
41
- end # Mutator
42
- end # Mutest
38
+ end
39
+ end
40
+ end
41
+ end
42
+ end
@@ -13,7 +13,7 @@ module Mutest
13
13
  def dispatch
14
14
  emit((input.to_s + POSTFIX).to_sym)
15
15
  end
16
- end # Symbol
17
- end # Util
18
- end # Mutator
19
- end # Mutest
16
+ end
17
+ end
18
+ end
19
+ end
@@ -19,7 +19,7 @@ module Mutest
19
19
  binding.call(__method__)
20
20
  self
21
21
  end
22
- end # Driver
22
+ end
23
23
 
24
24
  # Run async computation returning driver
25
25
  #
@@ -48,42 +48,46 @@ module Mutest
48
48
  #
49
49
  # @return [Boolean]
50
50
  abstract_method :stop?
51
- end # Sink
51
+ end
52
52
 
53
53
  # Job to push to workers
54
54
  class Job
55
- include Adamantium::Flat, Anima.new(
55
+ include Anima.new(
56
56
  :index,
57
57
  :payload
58
58
  )
59
- end # Job
59
+ include Adamantium::Flat
60
+ end
60
61
 
61
62
  # Job result object received from workers
62
63
  class JobResult
63
- include Adamantium::Flat, Anima.new(
64
+ include Anima.new(
64
65
  :job,
65
66
  :payload
66
67
  )
67
- end # JobResult
68
+ include Adamantium::Flat
69
+ end
68
70
 
69
71
  # Parallel run configuration
70
72
  class Config
71
- include Adamantium::Flat, Anima.new(
73
+ include Anima.new(
72
74
  :env,
73
75
  :jobs,
74
76
  :processor,
75
77
  :sink,
76
78
  :source
77
79
  )
78
- end # Config
80
+ include Adamantium::Flat
81
+ end
79
82
 
80
83
  # Parallel execution status
81
84
  class Status
82
- include Adamantium::Flat, Anima.new(
85
+ include Anima.new(
83
86
  :active_jobs,
84
87
  :done,
85
88
  :payload
86
89
  )
87
- end # Status
88
- end # Parallel
89
- end # Mutest
90
+ include Adamantium::Flat
91
+ end
92
+ end
93
+ end
@@ -69,7 +69,7 @@ module Mutest
69
69
 
70
70
  method =
71
71
  MAP.fetch(type) do
72
- fail Actor::ProtocolError, "Unexpected message: #{type.inspect}"
72
+ raise Actor::ProtocolError, "Unexpected message: #{type.inspect}"
73
73
  end
74
74
  __send__(method, payload)
75
75
  end
@@ -176,6 +176,6 @@ module Mutest
176
176
  def sink
177
177
  config.sink
178
178
  end
179
- end # Master
180
- end # Parallel
181
- end # Mutest
179
+ end
180
+ end
181
+ end
@@ -46,12 +46,13 @@ module Mutest
46
46
  # @raise [NoJobError]
47
47
  # when no next job is available
48
48
  def next
49
- fail NoJobError unless next?
49
+ raise NoJobError unless next?
50
+
50
51
  jobs.fetch(@next_index).tap do
51
52
  @next_index += 1
52
53
  end
53
54
  end
54
- end # Array
55
- end # Source
56
- end # Parallel
57
- end # Mutest
55
+ end
56
+ end
57
+ end
58
+ end
@@ -2,11 +2,12 @@ module Mutest
2
2
  module Parallel
3
3
  # Parallel execution worker
4
4
  class Worker
5
- include Adamantium::Flat, Anima.new(
5
+ include Anima.new(
6
6
  :mailbox,
7
7
  :parent,
8
8
  :processor
9
9
  )
10
+ include Adamantium::Flat
10
11
 
11
12
  # Run worker
12
13
  #
@@ -49,7 +50,7 @@ module Mutest
49
50
  when :stop
50
51
  true
51
52
  else
52
- fail Actor::ProtocolError, "Unknown command: #{type.inspect}"
53
+ raise Actor::ProtocolError, "Unknown command: #{type.inspect}"
53
54
  end
54
55
  end
55
56
 
@@ -71,6 +72,6 @@ module Mutest
71
72
  )
72
73
  )
73
74
  end
74
- end # Worker
75
- end # Parallel
76
- end # Mutest
75
+ end
76
+ end
77
+ end
@@ -1,7 +1,8 @@
1
1
  module Mutest
2
2
  # An AST Parser
3
3
  class Parser
4
- include Adamantium::Mutable, Equalizer.new
4
+ include Equalizer.new
5
+ include Adamantium::Mutable
5
6
 
6
7
  # Initialize object
7
8
  #
@@ -18,5 +19,5 @@ module Mutest
18
19
  def open(path)
19
20
  @cache[path] ||= SourceFile.read(path)
20
21
  end
21
- end # Parser
22
- end # Mutest
22
+ end
23
+ end
@@ -20,8 +20,9 @@ module Mutest
20
20
  #
21
21
  # @return [self]
22
22
  def register(type, klass)
23
- fail RegistryError, "Invalid type registration: #{type.inspect}" unless AST::Types::ALL.include?(type)
24
- fail RegistryError, "Duplicate type registration: #{type.inspect}" if contents.key?(type)
23
+ raise RegistryError, "Invalid type registration: #{type.inspect}" unless AST::Types::ALL.include?(type)
24
+ raise RegistryError, "Duplicate type registration: #{type.inspect}" if contents.key?(type)
25
+
25
26
  contents[type] = klass
26
27
  self
27
28
  end
@@ -36,8 +37,8 @@ module Mutest
36
37
  # raises argument error when class cannot be found
37
38
  def lookup(type)
38
39
  contents.fetch(type) do
39
- fail RegistryError, "No entry for: #{type.inspect}"
40
+ raise RegistryError, "No entry for: #{type.inspect}"
40
41
  end
41
42
  end
42
- end # Registry
43
- end # Mutest
43
+ end
44
+ end
@@ -35,5 +35,5 @@ module Mutest
35
35
  #
36
36
  # @return [Float]
37
37
  abstract_method :delay
38
- end # Reporter
39
- end # Mutest
38
+ end
39
+ end
@@ -80,6 +80,6 @@ module Mutest
80
80
  def write(frame)
81
81
  output.write(frame)
82
82
  end
83
- end # CLI
84
- end # Reporter
85
- end # Mutest
83
+ end
84
+ end
85
+ end
@@ -4,7 +4,8 @@ module Mutest
4
4
  # CLI output format
5
5
  #
6
6
  class Format
7
- include AbstractType, Anima.new(:tty)
7
+ include Anima.new(:tty)
8
+ include AbstractType
8
9
 
9
10
  # Start representation
10
11
  #
@@ -42,7 +43,7 @@ module Mutest
42
43
  buffer.public_send(name, *args, &block)
43
44
  end
44
45
  end
45
- end # Output
46
+ end
46
47
 
47
48
  private
48
49
 
@@ -86,7 +87,7 @@ module Mutest
86
87
  def new_buffer
87
88
  StringIO.new
88
89
  end
89
- end # Progressive
90
+ end
90
91
 
91
92
  # Format for framed rewindable output
92
93
  class Framed < self
@@ -128,8 +129,8 @@ module Mutest
128
129
  buffer = StringIO.new
129
130
  buffer << tput.restore
130
131
  end
131
- end # Framed
132
- end # Format
133
- end # CLI
134
- end # Reporter
135
- end # Mutest
132
+ end
133
+ end
134
+ end
135
+ end
136
+ end
@@ -3,10 +3,10 @@ module Mutest
3
3
  class CLI
4
4
  # CLI runner status printer base class
5
5
  class Printer
6
- include AbstractType,
7
- Adamantium::Flat,
8
- Concord.new(:output, :object),
9
- Procto.call(:run)
6
+ include Procto.call(:run)
7
+ include Concord.new(:output, :object)
8
+ include Adamantium::Flat
9
+ include AbstractType
10
10
 
11
11
  private_class_method :new
12
12
 
@@ -118,7 +118,7 @@ module Mutest
118
118
  #
119
119
  # @api private
120
120
  alias_method :color?, :tty?
121
- end # Printer
122
- end # CLI
123
- end # Reporter
124
- end # Mutest
121
+ end
122
+ end
123
+ end
124
+ end
@@ -17,8 +17,8 @@ module Mutest
17
17
  info 'Includes: %s', object.includes
18
18
  info 'Requires: %s', object.requires
19
19
  end
20
- end # Config
21
- end # Printer
22
- end # CLI
23
- end # Reporter
24
- end # Mutest
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end
@@ -17,18 +17,18 @@ module Mutest
17
17
  :env
18
18
  )
19
19
 
20
- # rubocop:disable SpaceInsideBrackets
20
+ # rubocop:disable Layout/SpaceInsideArrayLiteralBrackets
21
21
  FORMATS = IceNine.deep_freeze([
22
- [:info, 'Subjects: %s', :amount_subjects ],
23
- [:info, 'Mutations: %s', :amount_mutations ],
24
- [:info, 'Results: %s', :amount_mutation_results ],
25
- [:info, 'Kills: %s', :amount_mutations_killed ],
26
- [:info, 'Alive: %s', :amount_mutations_alive ],
27
- [:info, 'Runtime: %0.2fs', :runtime ],
28
- [:info, 'Killtime: %0.2fs', :killtime ],
29
- [:info, 'Overhead: %0.2f%%', :overhead_percent ],
30
- [:info, 'Mutations/s: %0.2f', :mutations_per_second ],
31
- [:status, 'Coverage: %0.2f%%', :coverage_percent ]
22
+ [:info, 'Subjects: %s', :amount_subjects ],
23
+ [:info, 'Mutations: %s', :amount_mutations ],
24
+ [:info, 'Results: %s', :amount_mutation_results],
25
+ [:info, 'Kills: %s', :amount_mutations_killed],
26
+ [:info, 'Alive: %s', :amount_mutations_alive ],
27
+ [:info, 'Runtime: %0.2fs', :runtime ],
28
+ [:info, 'Killtime: %0.2fs', :killtime ],
29
+ [:info, 'Overhead: %0.2f%%', :overhead_percent ],
30
+ [:info, 'Mutations/s: %0.2f', :mutations_per_second ],
31
+ [:status, 'Coverage: %0.2f%%', :coverage_percent ]
32
32
  ])
33
33
 
34
34
  # Run printer
@@ -69,8 +69,8 @@ module Mutest
69
69
  def overhead_percent
70
70
  (overhead / killtime) * 100
71
71
  end
72
- end # EnvProgress
73
- end # Printer
74
- end # CLI
75
- end # Reporter
76
- end # Mutest
72
+ end
73
+ end
74
+ end
75
+ end
76
+ end