mutest 0.0.9 → 0.0.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (236) hide show
  1. checksums.yaml +5 -5
  2. data/.circleci/config.yml +38 -0
  3. data/{config/rubocop.yml → .rubocop.yml} +80 -183
  4. data/CHANGELOG.md +8 -0
  5. data/Gemfile +2 -3
  6. data/Gemfile.lock +41 -52
  7. data/README.md +16 -0
  8. data/Rakefile +1 -1
  9. data/lib/mutest.rb +5 -4
  10. data/lib/mutest/actor.rb +7 -6
  11. data/lib/mutest/actor/env.rb +3 -3
  12. data/lib/mutest/actor/mailbox.rb +5 -4
  13. data/lib/mutest/actor/receiver.rb +6 -5
  14. data/lib/mutest/actor/sender.rb +5 -4
  15. data/lib/mutest/ast.rb +4 -3
  16. data/lib/mutest/ast/meta.rb +3 -3
  17. data/lib/mutest/ast/meta/const.rb +7 -5
  18. data/lib/mutest/ast/meta/optarg.rb +6 -5
  19. data/lib/mutest/ast/meta/resbody.rb +6 -5
  20. data/lib/mutest/ast/meta/restarg.rb +6 -5
  21. data/lib/mutest/ast/meta/send.rb +8 -20
  22. data/lib/mutest/ast/meta/symbol.rb +6 -5
  23. data/lib/mutest/ast/named_children.rb +5 -5
  24. data/lib/mutest/ast/node_predicates.rb +4 -4
  25. data/lib/mutest/ast/nodes.rb +3 -3
  26. data/lib/mutest/ast/regexp.rb +3 -3
  27. data/lib/mutest/ast/regexp/transformer.rb +19 -11
  28. data/lib/mutest/ast/regexp/transformer/alternative.rb +6 -6
  29. data/lib/mutest/ast/regexp/transformer/character_set.rb +7 -7
  30. data/lib/mutest/ast/regexp/transformer/direct.rb +7 -7
  31. data/lib/mutest/ast/regexp/transformer/options_group.rb +7 -7
  32. data/lib/mutest/ast/regexp/transformer/quantifier.rb +11 -13
  33. data/lib/mutest/ast/regexp/transformer/recursive.rb +7 -7
  34. data/lib/mutest/ast/regexp/transformer/root.rb +6 -6
  35. data/lib/mutest/ast/regexp/transformer/text.rb +7 -7
  36. data/lib/mutest/ast/sexp.rb +3 -3
  37. data/lib/mutest/ast/types.rb +8 -6
  38. data/lib/mutest/cli.rb +5 -3
  39. data/lib/mutest/color.rb +4 -3
  40. data/lib/mutest/config.rb +4 -3
  41. data/lib/mutest/context.rb +4 -3
  42. data/lib/mutest/diff.rb +5 -3
  43. data/lib/mutest/env.rb +5 -5
  44. data/lib/mutest/env/bootstrap.rb +7 -5
  45. data/lib/mutest/expression.rb +7 -5
  46. data/lib/mutest/expression/method.rb +4 -4
  47. data/lib/mutest/expression/methods.rb +4 -4
  48. data/lib/mutest/expression/namespace.rb +9 -8
  49. data/lib/mutest/expression/parser.rb +9 -8
  50. data/lib/mutest/integration.rb +5 -3
  51. data/lib/mutest/integration/null.rb +3 -3
  52. data/lib/mutest/isolation.rb +2 -2
  53. data/lib/mutest/isolation/fork.rb +4 -4
  54. data/lib/mutest/isolation/none.rb +4 -4
  55. data/lib/mutest/loader.rb +2 -2
  56. data/lib/mutest/matcher.rb +4 -3
  57. data/lib/mutest/matcher/chain.rb +3 -3
  58. data/lib/mutest/matcher/compiler.rb +7 -5
  59. data/lib/mutest/matcher/config.rb +5 -4
  60. data/lib/mutest/matcher/filter.rb +3 -3
  61. data/lib/mutest/matcher/method.rb +13 -13
  62. data/lib/mutest/matcher/method/instance.rb +6 -6
  63. data/lib/mutest/matcher/method/singleton.rb +5 -5
  64. data/lib/mutest/matcher/methods.rb +7 -6
  65. data/lib/mutest/matcher/namespace.rb +3 -3
  66. data/lib/mutest/matcher/null.rb +3 -3
  67. data/lib/mutest/matcher/scope.rb +3 -3
  68. data/lib/mutest/matcher/static.rb +3 -3
  69. data/lib/mutest/meta.rb +4 -4
  70. data/lib/mutest/meta/example.rb +5 -4
  71. data/lib/mutest/meta/example/dsl.rb +12 -11
  72. data/lib/mutest/meta/example/verification.rb +7 -6
  73. data/lib/mutest/mutation.rb +7 -6
  74. data/lib/mutest/mutator.rb +6 -6
  75. data/lib/mutest/mutator/node.rb +19 -7
  76. data/lib/mutest/mutator/node/and_asgn.rb +4 -4
  77. data/lib/mutest/mutator/node/argument.rb +6 -5
  78. data/lib/mutest/mutator/node/arguments.rb +18 -5
  79. data/lib/mutest/mutator/node/begin.rb +4 -4
  80. data/lib/mutest/mutator/node/binary.rb +4 -4
  81. data/lib/mutest/mutator/node/block.rb +6 -5
  82. data/lib/mutest/mutator/node/block_pass.rb +4 -4
  83. data/lib/mutest/mutator/node/break.rb +4 -4
  84. data/lib/mutest/mutator/node/case.rb +6 -4
  85. data/lib/mutest/mutator/node/class.rb +4 -4
  86. data/lib/mutest/mutator/node/conditional_loop.rb +4 -4
  87. data/lib/mutest/mutator/node/const.rb +4 -4
  88. data/lib/mutest/mutator/node/define.rb +6 -6
  89. data/lib/mutest/mutator/node/defined.rb +4 -4
  90. data/lib/mutest/mutator/node/dstr.rb +4 -4
  91. data/lib/mutest/mutator/node/dsym.rb +4 -4
  92. data/lib/mutest/mutator/node/generic.rb +5 -4
  93. data/lib/mutest/mutator/node/if.rb +6 -4
  94. data/lib/mutest/mutator/node/index.rb +128 -0
  95. data/lib/mutest/mutator/node/kwbegin.rb +4 -4
  96. data/lib/mutest/mutator/node/literal.rb +4 -4
  97. data/lib/mutest/mutator/node/literal/array.rb +8 -6
  98. data/lib/mutest/mutator/node/literal/boolean.rb +5 -5
  99. data/lib/mutest/mutator/node/literal/fixnum.rb +5 -5
  100. data/lib/mutest/mutator/node/literal/float.rb +5 -5
  101. data/lib/mutest/mutator/node/literal/hash.rb +6 -6
  102. data/lib/mutest/mutator/node/literal/nil.rb +5 -5
  103. data/lib/mutest/mutator/node/literal/range.rb +5 -5
  104. data/lib/mutest/mutator/node/literal/regex.rb +5 -5
  105. data/lib/mutest/mutator/node/literal/string.rb +5 -5
  106. data/lib/mutest/mutator/node/literal/symbol.rb +5 -5
  107. data/lib/mutest/mutator/node/masgn.rb +4 -4
  108. data/lib/mutest/mutator/node/match_current_line.rb +4 -4
  109. data/lib/mutest/mutator/node/mlhs.rb +4 -4
  110. data/lib/mutest/mutator/node/named_value/access.rb +6 -6
  111. data/lib/mutest/mutator/node/named_value/constant_assignment.rb +6 -5
  112. data/lib/mutest/mutator/node/named_value/variable_assignment.rb +5 -5
  113. data/lib/mutest/mutator/node/next.rb +4 -4
  114. data/lib/mutest/mutator/node/nthref.rb +4 -4
  115. data/lib/mutest/mutator/node/op_asgn.rb +4 -4
  116. data/lib/mutest/mutator/node/or_asgn.rb +5 -4
  117. data/lib/mutest/mutator/node/procarg_zero.rb +45 -0
  118. data/lib/mutest/mutator/node/regexp.rb +6 -6
  119. data/lib/mutest/mutator/node/regexp/alternation_meta.rb +5 -5
  120. data/lib/mutest/mutator/node/regexp/capture_group.rb +5 -5
  121. data/lib/mutest/mutator/node/regexp/character_type.rb +5 -5
  122. data/lib/mutest/mutator/node/regexp/end_of_line_anchor.rb +5 -5
  123. data/lib/mutest/mutator/node/regexp/end_of_string_or_before_end_of_line_anchor.rb +5 -5
  124. data/lib/mutest/mutator/node/regexp/one_or_more.rb +5 -5
  125. data/lib/mutest/mutator/node/regexp/zero_or_more.rb +5 -5
  126. data/lib/mutest/mutator/node/regopt.rb +4 -4
  127. data/lib/mutest/mutator/node/resbody.rb +6 -4
  128. data/lib/mutest/mutator/node/rescue.rb +6 -4
  129. data/lib/mutest/mutator/node/return.rb +5 -4
  130. data/lib/mutest/mutator/node/send.rb +6 -34
  131. data/lib/mutest/mutator/node/send/attribute_assignment.rb +5 -5
  132. data/lib/mutest/mutator/node/send/binary.rb +5 -5
  133. data/lib/mutest/mutator/node/send/conditional.rb +5 -5
  134. data/lib/mutest/mutator/node/splat.rb +4 -4
  135. data/lib/mutest/mutator/node/super.rb +4 -4
  136. data/lib/mutest/mutator/node/when.rb +4 -4
  137. data/lib/mutest/mutator/node/yield.rb +4 -4
  138. data/lib/mutest/mutator/node/zsuper.rb +4 -4
  139. data/lib/mutest/mutator/util.rb +3 -3
  140. data/lib/mutest/mutator/util/array.rb +6 -6
  141. data/lib/mutest/mutator/util/symbol.rb +4 -4
  142. data/lib/mutest/parallel.rb +16 -12
  143. data/lib/mutest/parallel/master.rb +4 -4
  144. data/lib/mutest/parallel/source.rb +6 -5
  145. data/lib/mutest/parallel/worker.rb +6 -5
  146. data/lib/mutest/parser.rb +4 -3
  147. data/lib/mutest/registry.rb +6 -5
  148. data/lib/mutest/reporter.rb +2 -2
  149. data/lib/mutest/reporter/cli.rb +3 -3
  150. data/lib/mutest/reporter/cli/format.rb +9 -8
  151. data/lib/mutest/reporter/cli/printer.rb +8 -8
  152. data/lib/mutest/reporter/cli/printer/config.rb +5 -5
  153. data/lib/mutest/reporter/cli/printer/env_progress.rb +16 -16
  154. data/lib/mutest/reporter/cli/printer/env_result.rb +5 -5
  155. data/lib/mutest/reporter/cli/printer/mutation_progress_result.rb +5 -5
  156. data/lib/mutest/reporter/cli/printer/mutation_result.rb +5 -5
  157. data/lib/mutest/reporter/cli/printer/status.rb +6 -5
  158. data/lib/mutest/reporter/cli/printer/status_progressive.rb +5 -5
  159. data/lib/mutest/reporter/cli/printer/subject_progress.rb +5 -5
  160. data/lib/mutest/reporter/cli/printer/subject_result.rb +5 -5
  161. data/lib/mutest/reporter/cli/printer/test_result.rb +5 -5
  162. data/lib/mutest/reporter/cli/tput.rb +6 -5
  163. data/lib/mutest/reporter/null.rb +3 -3
  164. data/lib/mutest/reporter/sequence.rb +3 -3
  165. data/lib/mutest/repository.rb +9 -7
  166. data/lib/mutest/require_highjack.rb +2 -2
  167. data/lib/mutest/requirer.rb +2 -2
  168. data/lib/mutest/result.rb +18 -12
  169. data/lib/mutest/runner.rb +6 -3
  170. data/lib/mutest/runner/sink.rb +3 -3
  171. data/lib/mutest/scope.rb +2 -2
  172. data/lib/mutest/selector.rb +4 -3
  173. data/lib/mutest/selector/expression.rb +3 -3
  174. data/lib/mutest/source_file.rb +6 -5
  175. data/lib/mutest/subject.rb +5 -3
  176. data/lib/mutest/subject/method.rb +3 -3
  177. data/lib/mutest/subject/method/instance.rb +5 -5
  178. data/lib/mutest/subject/method/singleton.rb +4 -4
  179. data/lib/mutest/test.rb +4 -3
  180. data/lib/mutest/util.rb +3 -3
  181. data/lib/mutest/version.rb +2 -2
  182. data/lib/mutest/warning_filter.rb +3 -3
  183. data/lib/mutest/zombifier.rb +5 -4
  184. data/meta/block.rb +22 -3
  185. data/meta/case.rb +29 -1
  186. data/meta/index.rb +132 -0
  187. data/meta/indexasgn.rb +42 -0
  188. data/meta/lambda.rb +17 -0
  189. data/meta/send.rb +5 -139
  190. data/mutest-rspec.gemspec +1 -1
  191. data/mutest.gemspec +11 -12
  192. data/spec/integration/mutest/rspec_spec.rb +1 -1
  193. data/spec/shared/framework_integration_behavior.rb +1 -1
  194. data/spec/shared/idempotent_method_behavior.rb +2 -1
  195. data/spec/spec_helper.rb +5 -5
  196. data/spec/support/compress_helper.rb +2 -1
  197. data/spec/support/corpus.rb +12 -8
  198. data/spec/support/fake_actor.rb +19 -14
  199. data/spec/support/file_system.rb +10 -7
  200. data/spec/support/ice_nine_config.rb +3 -3
  201. data/spec/support/ruby_vm.rb +10 -11
  202. data/spec/support/shared_context.rb +1 -1
  203. data/spec/support/test_app.rb +1 -1
  204. data/spec/support/warning.rb +8 -7
  205. data/spec/support/xspec.rb +18 -17
  206. data/spec/unit/mutest/actor/binding_spec.rb +1 -0
  207. data/spec/unit/mutest/ast/meta/optarg_spec.rb +1 -0
  208. data/spec/unit/mutest/ast/meta/send/proc_predicate_spec.rb +1 -1
  209. data/spec/unit/mutest/ast/meta/send/receiver_possible_top_level_const_predicate_spec.rb +1 -1
  210. data/spec/unit/mutest/ast/meta/send_spec.rb +14 -18
  211. data/spec/unit/mutest/ast/regexp_spec.rb +4 -3
  212. data/spec/unit/mutest/ast_spec.rb +1 -1
  213. data/spec/unit/mutest/cli_spec.rb +15 -15
  214. data/spec/unit/mutest/env/bootstrap_spec.rb +1 -1
  215. data/spec/unit/mutest/integration_spec.rb +1 -0
  216. data/spec/unit/mutest/isolation/none_spec.rb +1 -1
  217. data/spec/unit/mutest/matcher/config_spec.rb +1 -0
  218. data/spec/unit/mutest/mutator/node_spec.rb +1 -1
  219. data/spec/unit/mutest/parallel/master_spec.rb +3 -3
  220. data/spec/unit/mutest/reporter/cli/printer_spec.rb +2 -0
  221. data/spec/unit/mutest/reporter/cli/tput_spec.rb +2 -0
  222. data/spec/unit/mutest/reporter/cli_spec.rb +2 -0
  223. data/spec/unit/mutest/repository/diff_spec.rb +1 -1
  224. data/spec/unit/mutest/runner_spec.rb +1 -1
  225. data/spec/unit/mutest/subject_spec.rb +1 -1
  226. data/spec/unit/mutest/warning_filter_spec.rb +2 -3
  227. data/spec/unit/mutest/zombifier_spec.rb +1 -1
  228. data/test_app/Gemfile.rspec3.8 +7 -0
  229. metadata +67 -68
  230. data/.buildkite/hooks/pre-command +0 -3
  231. data/.buildkite/pipeline.yml +0 -38
  232. data/.gitmodules +0 -3
  233. data/circle.yml +0 -10
  234. data/config/triage.yml +0 -2
  235. data/config/yardstick.yml +0 -2
  236. data/lib/mutest/mutator/node/send/index.rb +0 -47
@@ -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