mutant 0.8.0 → 0.8.1

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 (187) hide show
  1. checksums.yaml +4 -4
  2. data/Changelog.md +7 -0
  3. data/config/flay.yml +1 -1
  4. data/config/reek.yml +1 -0
  5. data/lib/mutant.rb +10 -3
  6. data/lib/mutant/actor.rb +2 -5
  7. data/lib/mutant/actor/env.rb +1 -3
  8. data/lib/mutant/actor/mailbox.rb +2 -4
  9. data/lib/mutant/actor/receiver.rb +0 -2
  10. data/lib/mutant/actor/sender.rb +0 -1
  11. data/lib/mutant/ast.rb +22 -28
  12. data/lib/mutant/ast/meta.rb +8 -88
  13. data/lib/mutant/ast/named_children.rb +1 -8
  14. data/lib/mutant/ast/sexp.rb +0 -2
  15. data/lib/mutant/cache.rb +1 -3
  16. data/lib/mutant/cli.rb +9 -19
  17. data/lib/mutant/color.rb +0 -3
  18. data/lib/mutant/config.rb +6 -2
  19. data/lib/mutant/context.rb +2 -4
  20. data/lib/mutant/context/scope.rb +10 -16
  21. data/lib/mutant/delegator.rb +0 -3
  22. data/lib/mutant/diff.rb +8 -17
  23. data/lib/mutant/env.rb +3 -5
  24. data/lib/mutant/env/bootstrap.rb +32 -39
  25. data/lib/mutant/expression.rb +14 -132
  26. data/lib/mutant/expression/method.rb +25 -42
  27. data/lib/mutant/expression/methods.rb +17 -29
  28. data/lib/mutant/expression/namespace.rb +33 -28
  29. data/lib/mutant/expression/parser.rb +71 -0
  30. data/lib/mutant/integration.rb +17 -16
  31. data/lib/mutant/isolation.rb +14 -14
  32. data/lib/mutant/loader.rb +2 -4
  33. data/lib/mutant/matcher.rb +1 -11
  34. data/lib/mutant/matcher/chain.rb +0 -1
  35. data/lib/mutant/matcher/compiler.rb +19 -52
  36. data/lib/mutant/matcher/config.rb +65 -5
  37. data/lib/mutant/matcher/filter.rb +11 -1
  38. data/lib/mutant/matcher/method.rb +11 -21
  39. data/lib/mutant/matcher/method/instance.rb +2 -16
  40. data/lib/mutant/matcher/method/singleton.rb +3 -20
  41. data/lib/mutant/matcher/methods.rb +11 -21
  42. data/lib/mutant/matcher/namespace.rb +0 -4
  43. data/lib/mutant/matcher/null.rb +0 -1
  44. data/lib/mutant/matcher/scope.rb +0 -12
  45. data/lib/mutant/meta.rb +0 -1
  46. data/lib/mutant/meta/example.rb +12 -26
  47. data/lib/mutant/meta/example/dsl.rb +1 -8
  48. data/lib/mutant/mutation.rb +6 -14
  49. data/lib/mutant/mutator.rb +2 -14
  50. data/lib/mutant/mutator/node.rb +6 -33
  51. data/lib/mutant/mutator/node/and_asgn.rb +0 -1
  52. data/lib/mutant/mutator/node/argument.rb +0 -5
  53. data/lib/mutant/mutator/node/arguments.rb +1 -7
  54. data/lib/mutant/mutator/node/begin.rb +0 -2
  55. data/lib/mutant/mutator/node/binary.rb +0 -3
  56. data/lib/mutant/mutator/node/block.rb +0 -2
  57. data/lib/mutant/mutator/node/break.rb +0 -1
  58. data/lib/mutant/mutator/node/case.rb +0 -3
  59. data/lib/mutant/mutator/node/conditional_loop.rb +0 -1
  60. data/lib/mutant/mutator/node/const.rb +0 -1
  61. data/lib/mutant/mutator/node/define.rb +0 -1
  62. data/lib/mutant/mutator/node/defined.rb +0 -1
  63. data/lib/mutant/mutator/node/dstr.rb +0 -1
  64. data/lib/mutant/mutator/node/dsym.rb +0 -1
  65. data/lib/mutant/mutator/node/generic.rb +0 -1
  66. data/lib/mutant/mutator/node/if.rb +0 -4
  67. data/lib/mutant/mutator/node/kwbegin.rb +0 -1
  68. data/lib/mutant/mutator/node/literal/array.rb +0 -2
  69. data/lib/mutant/mutator/node/literal/boolean.rb +0 -1
  70. data/lib/mutant/mutator/node/literal/fixnum.rb +2 -5
  71. data/lib/mutant/mutator/node/literal/float.rb +1 -4
  72. data/lib/mutant/mutator/node/literal/hash.rb +0 -3
  73. data/lib/mutant/mutator/node/literal/nil.rb +0 -1
  74. data/lib/mutant/mutator/node/literal/range.rb +1 -5
  75. data/lib/mutant/mutator/node/literal/regex.rb +1 -3
  76. data/lib/mutant/mutator/node/literal/string.rb +0 -1
  77. data/lib/mutant/mutator/node/literal/symbol.rb +0 -1
  78. data/lib/mutant/mutator/node/masgn.rb +0 -1
  79. data/lib/mutant/mutator/node/match_current_line.rb +0 -1
  80. data/lib/mutant/mutator/node/mlhs.rb +0 -1
  81. data/lib/mutant/mutator/node/named_value/access.rb +0 -1
  82. data/lib/mutant/mutator/node/named_value/constant_assignment.rb +0 -2
  83. data/lib/mutant/mutator/node/named_value/variable_assignment.rb +0 -2
  84. data/lib/mutant/mutator/node/next.rb +0 -1
  85. data/lib/mutant/mutator/node/noop.rb +0 -1
  86. data/lib/mutant/mutator/node/nthref.rb +0 -1
  87. data/lib/mutant/mutator/node/op_asgn.rb +0 -1
  88. data/lib/mutant/mutator/node/or_asgn.rb +1 -2
  89. data/lib/mutant/mutator/node/resbody.rb +0 -2
  90. data/lib/mutant/mutator/node/rescue.rb +1 -6
  91. data/lib/mutant/mutator/node/return.rb +0 -1
  92. data/lib/mutant/mutator/node/send.rb +16 -17
  93. data/lib/mutant/mutator/node/send/attribute_assignment.rb +0 -3
  94. data/lib/mutant/mutator/node/send/binary.rb +0 -1
  95. data/lib/mutant/mutator/node/send/index.rb +0 -3
  96. data/lib/mutant/mutator/node/splat.rb +0 -1
  97. data/lib/mutant/mutator/node/super.rb +0 -1
  98. data/lib/mutant/mutator/node/when.rb +2 -7
  99. data/lib/mutant/mutator/node/yield.rb +0 -1
  100. data/lib/mutant/mutator/node/zsuper.rb +0 -1
  101. data/lib/mutant/mutator/registry.rb +1 -4
  102. data/lib/mutant/mutator/util.rb +0 -2
  103. data/lib/mutant/mutator/util/array.rb +0 -3
  104. data/lib/mutant/mutator/util/symbol.rb +0 -1
  105. data/lib/mutant/parallel.rb +3 -9
  106. data/lib/mutant/parallel/master.rb +7 -17
  107. data/lib/mutant/parallel/source.rb +2 -7
  108. data/lib/mutant/parallel/worker.rb +1 -5
  109. data/lib/mutant/reporter.rb +0 -4
  110. data/lib/mutant/reporter/cli.rb +1 -8
  111. data/lib/mutant/reporter/cli/format.rb +7 -18
  112. data/lib/mutant/reporter/cli/printer.rb +2 -12
  113. data/lib/mutant/reporter/cli/printer/config.rb +1 -4
  114. data/lib/mutant/reporter/cli/printer/env_progress.rb +3 -7
  115. data/lib/mutant/reporter/cli/printer/env_result.rb +0 -1
  116. data/lib/mutant/reporter/cli/printer/mutation_progress_result.rb +0 -2
  117. data/lib/mutant/reporter/cli/printer/mutation_result.rb +3 -11
  118. data/lib/mutant/reporter/cli/printer/status.rb +1 -4
  119. data/lib/mutant/reporter/cli/printer/status_progressive.rb +1 -3
  120. data/lib/mutant/reporter/cli/printer/subject_progress.rb +0 -5
  121. data/lib/mutant/reporter/cli/printer/subject_result.rb +0 -1
  122. data/lib/mutant/reporter/cli/printer/test_result.rb +0 -1
  123. data/lib/mutant/reporter/cli/tput.rb +4 -1
  124. data/lib/mutant/reporter/trace.rb +2 -4
  125. data/lib/mutant/repository.rb +88 -0
  126. data/lib/mutant/require_highjack.rb +0 -1
  127. data/lib/mutant/result.rb +25 -48
  128. data/lib/mutant/runner.rb +7 -16
  129. data/lib/mutant/runner/sink.rb +3 -11
  130. data/lib/mutant/selector.rb +1 -2
  131. data/lib/mutant/selector/expression.rb +1 -2
  132. data/lib/mutant/subject.rb +10 -21
  133. data/lib/mutant/subject/method.rb +11 -12
  134. data/lib/mutant/subject/method/instance.rb +1 -5
  135. data/lib/mutant/subject/method/singleton.rb +1 -3
  136. data/lib/mutant/test.rb +1 -2
  137. data/lib/mutant/version.rb +2 -2
  138. data/lib/mutant/warning_filter.rb +2 -7
  139. data/lib/mutant/zombifier.rb +6 -10
  140. data/meta/send.rb +8 -0
  141. data/spec/spec_helper.rb +5 -1
  142. data/spec/support/corpus.rb +5 -9
  143. data/spec/support/rb_bug.rb +0 -1
  144. data/spec/support/rspec.rb +0 -1
  145. data/spec/support/ruby_vm.rb +0 -2
  146. data/spec/unit/mutant/ast/meta/send_spec.rb +42 -0
  147. data/spec/unit/mutant/ast/named_children_spec.rb +51 -0
  148. data/spec/unit/mutant/ast/sexp_spec.rb +36 -0
  149. data/spec/unit/mutant/ast_spec.rb +8 -0
  150. data/spec/unit/mutant/cli_spec.rb +34 -19
  151. data/spec/unit/mutant/context/scope_spec.rb +11 -0
  152. data/spec/unit/mutant/env/boostrap_spec.rb +5 -2
  153. data/spec/unit/mutant/env_spec.rb +14 -15
  154. data/spec/unit/mutant/expression/method_spec.rb +10 -14
  155. data/spec/unit/mutant/expression/methods_spec.rb +24 -11
  156. data/spec/unit/mutant/expression/namespace/flat_spec.rb +5 -6
  157. data/spec/unit/mutant/expression/namespace/recursive_spec.rb +16 -10
  158. data/spec/unit/mutant/expression/parser_spec.rb +67 -0
  159. data/spec/unit/mutant/expression_spec.rb +24 -57
  160. data/spec/unit/mutant/integration/rspec_spec.rb +7 -7
  161. data/spec/unit/mutant/integration_spec.rb +2 -2
  162. data/spec/unit/mutant/isolation_spec.rb +31 -29
  163. data/spec/unit/mutant/matcher/compiler/subject_prefix_spec.rb +2 -2
  164. data/spec/unit/mutant/matcher/compiler_spec.rb +27 -58
  165. data/spec/unit/mutant/matcher/config_spec.rb +45 -0
  166. data/spec/unit/mutant/matcher/filter_spec.rb +12 -5
  167. data/spec/unit/mutant/matcher/method/instance_spec.rb +0 -1
  168. data/spec/unit/mutant/matcher/method/singleton_spec.rb +0 -1
  169. data/spec/unit/mutant/matcher/namespace_spec.rb +4 -4
  170. data/spec/unit/mutant/parallel/worker_spec.rb +1 -1
  171. data/spec/unit/mutant/reporter/cli/printer/config_spec.rb +4 -4
  172. data/spec/unit/mutant/reporter/cli/printer/env_progress_spec.rb +7 -7
  173. data/spec/unit/mutant/reporter/cli/printer/env_result_spec.rb +2 -2
  174. data/spec/unit/mutant/reporter/cli/printer/status_progressive_spec.rb +2 -2
  175. data/spec/unit/mutant/reporter/cli/printer/status_spec.rb +12 -12
  176. data/spec/unit/mutant/reporter/cli/printer/subject_progress_spec.rb +1 -1
  177. data/spec/unit/mutant/reporter/cli_spec.rb +9 -10
  178. data/spec/unit/mutant/repository/diff_spec.rb +80 -0
  179. data/spec/unit/mutant/repository/subject_filter_spec.rb +28 -0
  180. data/spec/unit/mutant/result/env_spec.rb +1 -1
  181. data/spec/unit/mutant/runner_spec.rb +0 -1
  182. data/spec/unit/mutant/selector/expression_spec.rb +14 -14
  183. data/spec/unit/mutant/subject/method/instance_spec.rb +2 -2
  184. data/spec/unit/mutant/subject/method/singleton_spec.rb +2 -2
  185. data/spec/unit/mutant/subject_spec.rb +5 -2
  186. metadata +20 -3
  187. data/spec/support/mutation_verifier.rb +0 -96
@@ -6,7 +6,7 @@ module Mutant
6
6
 
7
7
  NoJobError = Class.new(RuntimeError)
8
8
 
9
- # Return next job
9
+ # Next job
10
10
  #
11
11
  # @return [Object]
12
12
  #
@@ -14,7 +14,6 @@ module Mutant
14
14
  # when no next job is available
15
15
  #
16
16
  # @api private
17
- #
18
17
  abstract_method :next
19
18
 
20
19
  # Test if next job is available
@@ -22,7 +21,6 @@ module Mutant
22
21
  # @return [Boolean]
23
22
  #
24
23
  # @api private
25
- #
26
24
  abstract_method :next?
27
25
 
28
26
  # Job source backed by a finite array
@@ -34,7 +32,6 @@ module Mutant
34
32
  # @return [undefined]
35
33
  #
36
34
  # @api private
37
- #
38
35
  def initialize(*)
39
36
  super
40
37
 
@@ -46,12 +43,11 @@ module Mutant
46
43
  # @return [Boolean]
47
44
  #
48
45
  # @api private
49
- #
50
46
  def next?
51
47
  @next_index < jobs.length
52
48
  end
53
49
 
54
- # Return next job
50
+ # Next job
55
51
  #
56
52
  # @return [Object]
57
53
  #
@@ -59,7 +55,6 @@ module Mutant
59
55
  # when no next job is available
60
56
  #
61
57
  # @api private
62
- #
63
58
  def next
64
59
  fail NoJobError unless next?
65
60
  jobs.fetch(@next_index).tap do
@@ -11,7 +11,6 @@ module Mutant
11
11
  # @return [self]
12
12
  #
13
13
  # @api private
14
- #
15
14
  def self.run(attributes)
16
15
  new(attributes).run
17
16
  self
@@ -23,10 +22,9 @@ module Mutant
23
22
  #
24
23
  # @return [self]
25
24
  #
26
- # @api private
27
- #
28
25
  # rubocop:disable Lint/Loop
29
26
  #
27
+ # @api private
30
28
  def run
31
29
  begin
32
30
  parent.call(Actor::Message.new(:ready, mailbox.sender))
@@ -42,7 +40,6 @@ module Mutant
42
40
  # @return [Boolean]
43
41
  #
44
42
  # @api private
45
- #
46
43
  def handle(message)
47
44
  type, payload = message.type, message.payload
48
45
  case message.type
@@ -63,7 +60,6 @@ module Mutant
63
60
  # @return [undefined]
64
61
  #
65
62
  # @api private
66
- #
67
63
  def handle_job(job)
68
64
  result = processor.call(job.payload)
69
65
  parent.call(Actor::Message.new(:result, JobResult.new(job: job, payload: result)))
@@ -10,7 +10,6 @@ module Mutant
10
10
  # @return [self]
11
11
  #
12
12
  # @api private
13
- #
14
13
  abstract_method :warn
15
14
 
16
15
  # Report start
@@ -20,7 +19,6 @@ module Mutant
20
19
  # @return [self]
21
20
  #
22
21
  # @api private
23
- #
24
22
  abstract_method :start
25
23
 
26
24
  # Report collector state
@@ -30,7 +28,6 @@ module Mutant
30
28
  # @return [self]
31
29
  #
32
30
  # @api private
33
- #
34
31
  abstract_method :report
35
32
 
36
33
  # Report progress on object
@@ -40,7 +37,6 @@ module Mutant
40
37
  # @return [self]
41
38
  #
42
39
  # @api private
43
- #
44
40
  abstract_method :progress
45
41
 
46
42
  end # Reporter
@@ -11,7 +11,6 @@ module Mutant
11
11
  # @return [Reporter::CLI]
12
12
  #
13
13
  # @api private
14
- #
15
14
  def self.build(output)
16
15
  tput = Tput.detect
17
16
  tty = output.respond_to?(:tty?) && output.tty?
@@ -30,7 +29,6 @@ module Mutant
30
29
  # @return [self]
31
30
  #
32
31
  # @api private
33
- #
34
32
  def start(env)
35
33
  write(format.start(env))
36
34
  self
@@ -43,20 +41,18 @@ module Mutant
43
41
  # @return [self]
44
42
  #
45
43
  # @api private
46
- #
47
44
  def progress(status)
48
45
  write(format.progress(status))
49
46
  self
50
47
  end
51
48
 
52
- # Return report delay in seconds
49
+ # Report delay in seconds
53
50
  #
54
51
  # TODO: Move this to a callback registration
55
52
  #
56
53
  # @return [Float]
57
54
  #
58
55
  # @api private
59
- #
60
56
  def delay
61
57
  format.delay
62
58
  end
@@ -68,7 +64,6 @@ module Mutant
68
64
  # @return [self]
69
65
  #
70
66
  # @api private
71
- #
72
67
  def warn(message)
73
68
  output.puts(message)
74
69
  self
@@ -81,7 +76,6 @@ module Mutant
81
76
  # @return [self]
82
77
  #
83
78
  # @api private
84
- #
85
79
  def report(env)
86
80
  Printer::EnvResult.call(output, env)
87
81
  self
@@ -96,7 +90,6 @@ module Mutant
96
90
  # @return [undefined]
97
91
  #
98
92
  # @api private
99
- #
100
93
  def write(frame)
101
94
  output.write(frame)
102
95
  end
@@ -5,32 +5,29 @@ module Mutant
5
5
  class Format
6
6
  include AbstractType, Anima.new(:tty)
7
7
 
8
- # Return start representation
8
+ # Start representation
9
9
  #
10
10
  # @param [Env] env
11
11
  #
12
12
  # @return [String]
13
13
  #
14
14
  # @api private
15
- #
16
15
  abstract_method :start
17
16
 
18
- # Return progress representation
17
+ # Progress representation
19
18
  #
20
19
  # @param [Runner::Status] status
21
20
  #
22
21
  # @return [String]
23
22
  #
24
23
  # @api private
25
- #
26
24
  abstract_method :progress
27
25
 
28
- # Return report delay in seconds
26
+ # Report delay in seconds
29
27
  #
30
28
  # @return [Float]
31
29
  #
32
30
  # @api private
33
- #
34
31
  def delay
35
32
  self.class::REPORT_DELAY
36
33
  end
@@ -44,7 +41,6 @@ module Mutant
44
41
  # @return [Boolean]
45
42
  #
46
43
  # @api private
47
- #
48
44
  def tty?
49
45
  @tty
50
46
  end
@@ -66,7 +62,6 @@ module Mutant
66
62
  # @return [String]
67
63
  #
68
64
  # @api private
69
- #
70
65
  def format(printer, object)
71
66
  buffer = new_buffer
72
67
  printer.call(Output.new(tty, buffer), object)
@@ -80,34 +75,31 @@ module Mutant
80
75
  REPORT_FREQUENCY = 1.0
81
76
  REPORT_DELAY = 1 / REPORT_FREQUENCY
82
77
 
83
- # Return start representation
78
+ # Start representation
84
79
  #
85
80
  # @return [String]
86
81
  #
87
82
  # @api private
88
- #
89
83
  def start(env)
90
84
  format(Printer::Config, env.config)
91
85
  end
92
86
 
93
- # Return progress representation
87
+ # Progress representation
94
88
  #
95
89
  # @return [String]
96
90
  #
97
91
  # @api private
98
- #
99
92
  def progress(status)
100
93
  format(Printer::StatusProgressive, status)
101
94
  end
102
95
 
103
96
  private
104
97
 
105
- # Return new buffer
98
+ # New buffer
106
99
  #
107
100
  # @return [StringIO]
108
101
  #
109
102
  # @api private
110
- #
111
103
  def new_buffer
112
104
  StringIO.new
113
105
  end
@@ -130,7 +122,6 @@ module Mutant
130
122
  # @return [String]
131
123
  #
132
124
  # @api private
133
- #
134
125
  def start(_env)
135
126
  tput.prepare
136
127
  end
@@ -142,19 +133,17 @@ module Mutant
142
133
  # @return [String]
143
134
  #
144
135
  # @api private
145
- #
146
136
  def progress(status)
147
137
  format(Printer::Status, status)
148
138
  end
149
139
 
150
140
  private
151
141
 
152
- # Return new buffer
142
+ # New buffer
153
143
  #
154
144
  # @return [StringIO]
155
145
  #
156
146
  # @api private
157
- #
158
147
  def new_buffer
159
148
  # For some reason this raises an Ernno::EACCESS errror:
160
149
  #
@@ -16,17 +16,15 @@ module Mutant
16
16
  # @return [self]
17
17
  #
18
18
  # @api private
19
- #
20
19
  abstract_method :run
21
20
 
22
21
  private
23
22
 
24
- # Return status color
23
+ # Status color
25
24
  #
26
25
  # @return [Color]
27
26
  #
28
27
  # @api private
29
- #
30
28
  def status_color
31
29
  success? ? Color::GREEN : Color::RED
32
30
  end
@@ -39,7 +37,6 @@ module Mutant
39
37
  # @return [undefined]
40
38
  #
41
39
  # @api private
42
- #
43
40
  def visit_collection(printer, collection)
44
41
  collection.each do |object|
45
42
  visit(printer, object)
@@ -54,7 +51,6 @@ module Mutant
54
51
  # @return [undefined]
55
52
  #
56
53
  # @api private
57
- #
58
54
  def visit(printer, object)
59
55
  printer.call(output, object)
60
56
  end
@@ -64,7 +60,6 @@ module Mutant
64
60
  # @return [undefined]
65
61
  #
66
62
  # @api private
67
- #
68
63
  def info(string, *arguments)
69
64
  puts(format(string, *arguments))
70
65
  end
@@ -74,7 +69,6 @@ module Mutant
74
69
  # @return [undefined]
75
70
  #
76
71
  # @api private
77
- #
78
72
  def status(string, *arguments)
79
73
  puts(colorize(status_color, format(string, *arguments)))
80
74
  end
@@ -84,7 +78,6 @@ module Mutant
84
78
  # @return [undefined]
85
79
  #
86
80
  # @api private
87
- #
88
81
  def puts(string)
89
82
  output.puts(string)
90
83
  end
@@ -94,12 +87,11 @@ module Mutant
94
87
  # @param [Color] color
95
88
  # @param [String] message
96
89
  #
97
- # @api private
98
- #
99
90
  # @return [String]
100
91
  # if color is enabled
101
92
  # unmodified message otherwise
102
93
  #
94
+ # @api private
103
95
  def colorize(color, message)
104
96
  color = Color::NONE unless tty?
105
97
  color.format(message)
@@ -110,7 +102,6 @@ module Mutant
110
102
  # @return [Boolean]
111
103
  #
112
104
  # @api private
113
- #
114
105
  def tty?
115
106
  output.tty?
116
107
  end
@@ -120,7 +111,6 @@ module Mutant
120
111
  # @return [Boolean]
121
112
  #
122
113
  # @api private
123
- #
124
114
  alias_method :color?, :tty?
125
115
  end # Printer
126
116
  end # CLI
@@ -12,13 +12,10 @@ module Mutant
12
12
  # @return [undefined]
13
13
  #
14
14
  # @api private
15
- #
16
- # rubocop:disable AbcSize
17
- #
18
15
  def run
19
16
  info 'Mutant configuration:'
20
17
  info 'Matcher: %s', object.matcher.inspect
21
- info 'Integration: %s', object.integration.name
18
+ info 'Integration: %s', object.integration
22
19
  info 'Expect Coverage: %0.2f%%', (object.expected_coverage * 100)
23
20
  info 'Jobs: %d', object.jobs
24
21
  info 'Includes: %s', object.includes
@@ -20,11 +20,9 @@ module Mutant
20
20
  #
21
21
  # @return [undefined]
22
22
  #
23
- # @api private
24
- #
25
- # rubocop:disable MethodLength
26
23
  # rubocop:disable AbcSize
27
24
  #
25
+ # @api private
28
26
  def run
29
27
  visit(Config, env.config)
30
28
  info 'Subjects: %s', amount_subjects
@@ -40,22 +38,20 @@ module Mutant
40
38
 
41
39
  private
42
40
 
43
- # Return coverage percent
41
+ # Coverage in percent
44
42
  #
45
43
  # @return [Float]
46
44
  #
47
45
  # @api private
48
- #
49
46
  def coverage_percent
50
47
  coverage * 100
51
48
  end
52
49
 
53
- # Return overhead percent
50
+ # Overhead in percent
54
51
  #
55
52
  # @return [Float]
56
53
  #
57
54
  # @api private
58
- #
59
55
  def overhead_percent
60
56
  (overhead / killtime) * 100
61
57
  end
@@ -11,7 +11,6 @@ module Mutant
11
11
  # @return [undefined]
12
12
  #
13
13
  # @api private
14
- #
15
14
  def run
16
15
  visit_collection(SubjectResult, failed_subject_results)
17
16
  visit(EnvProgress, object)
@@ -12,7 +12,6 @@ module Mutant
12
12
  # @return [undefined]
13
13
  #
14
14
  # @api private
15
- #
16
15
  def run
17
16
  char(success? ? SUCCESS : FAILURE)
18
17
  end
@@ -26,7 +25,6 @@ module Mutant
26
25
  # @return [undefined]
27
26
  #
28
27
  # @api private
29
- #
30
28
  def char(char)
31
29
  output.write(colorize(status_color, char))
32
30
  end