metric_fu 4.11.3 → 4.11.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (188) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +0 -0
  3. data.tar.gz.sig +0 -0
  4. data/.rubocop.yml +15 -0
  5. data/.rubocop_todo.yml +69 -0
  6. data/.travis.yml +0 -1
  7. data/CONTRIBUTORS +1 -1
  8. data/Gemfile +23 -20
  9. data/Guardfile +9 -9
  10. data/HISTORY.md +10 -1
  11. data/checksum/metric_fu-4.11.3.gem.sha512 +1 -0
  12. data/config/rubocop.yml +269 -0
  13. data/gem_tasks/rubocop.rake +10 -0
  14. data/lib/metric_fu.rb +11 -9
  15. data/lib/metric_fu/calculate.rb +0 -1
  16. data/lib/metric_fu/cli/client.rb +6 -6
  17. data/lib/metric_fu/cli/helper.rb +22 -13
  18. data/lib/metric_fu/cli/parser.rb +14 -18
  19. data/lib/metric_fu/configuration.rb +7 -11
  20. data/lib/metric_fu/constantize.rb +4 -4
  21. data/lib/metric_fu/data_structures/line_numbers.rb +10 -11
  22. data/lib/metric_fu/data_structures/location.rb +12 -14
  23. data/lib/metric_fu/data_structures/sexp_node.rb +31 -13
  24. data/lib/metric_fu/environment.rb +29 -31
  25. data/lib/metric_fu/formatter.rb +4 -6
  26. data/lib/metric_fu/formatter/html.rb +13 -13
  27. data/lib/metric_fu/formatter/syntax.rb +5 -7
  28. data/lib/metric_fu/formatter/yaml.rb +1 -1
  29. data/lib/metric_fu/gem_run.rb +13 -15
  30. data/lib/metric_fu/gem_version.rb +9 -11
  31. data/lib/metric_fu/generator.rb +5 -8
  32. data/lib/metric_fu/io.rb +13 -15
  33. data/lib/metric_fu/loader.rb +17 -18
  34. data/lib/metric_fu/logger.rb +15 -18
  35. data/lib/metric_fu/logging/mf_debugger.rb +4 -4
  36. data/lib/metric_fu/metric.rb +11 -12
  37. data/lib/metric_fu/metrics/cane/generator.rb +10 -9
  38. data/lib/metric_fu/metrics/cane/grapher.rb +5 -7
  39. data/lib/metric_fu/metrics/cane/metric.rb +6 -8
  40. data/lib/metric_fu/metrics/cane/report.html.erb +3 -3
  41. data/lib/metric_fu/metrics/cane/violations.rb +6 -6
  42. data/lib/metric_fu/metrics/churn/generator.rb +2 -6
  43. data/lib/metric_fu/metrics/churn/hotspot.rb +1 -3
  44. data/lib/metric_fu/metrics/churn/metric.rb +5 -7
  45. data/lib/metric_fu/metrics/flay/generator.rb +7 -11
  46. data/lib/metric_fu/metrics/flay/grapher.rb +5 -6
  47. data/lib/metric_fu/metrics/flay/hotspot.rb +5 -7
  48. data/lib/metric_fu/metrics/flay/metric.rb +5 -7
  49. data/lib/metric_fu/metrics/flog/generator.rb +22 -23
  50. data/lib/metric_fu/metrics/flog/grapher.rb +11 -11
  51. data/lib/metric_fu/metrics/flog/hotspot.rb +3 -5
  52. data/lib/metric_fu/metrics/flog/metric.rb +3 -5
  53. data/lib/metric_fu/metrics/hotspots/analysis/analyzed_problems.rb +0 -1
  54. data/lib/metric_fu/metrics/hotspots/analysis/analyzer_tables.rb +19 -18
  55. data/lib/metric_fu/metrics/hotspots/analysis/grouping.rb +0 -2
  56. data/lib/metric_fu/metrics/hotspots/analysis/groupings.rb +1 -3
  57. data/lib/metric_fu/metrics/hotspots/analysis/problems.rb +4 -6
  58. data/lib/metric_fu/metrics/hotspots/analysis/ranked_problem_location.rb +14 -9
  59. data/lib/metric_fu/metrics/hotspots/analysis/ranking.rb +4 -5
  60. data/lib/metric_fu/metrics/hotspots/analysis/rankings.rb +1 -3
  61. data/lib/metric_fu/metrics/hotspots/analysis/record.rb +3 -5
  62. data/lib/metric_fu/metrics/hotspots/analysis/scoring_strategies.rb +0 -2
  63. data/lib/metric_fu/metrics/hotspots/analysis/table.rb +3 -4
  64. data/lib/metric_fu/metrics/hotspots/generator.rb +3 -6
  65. data/lib/metric_fu/metrics/hotspots/hotspot.rb +13 -13
  66. data/lib/metric_fu/metrics/hotspots/hotspot_analyzer.rb +5 -8
  67. data/lib/metric_fu/metrics/hotspots/metric.rb +1 -3
  68. data/lib/metric_fu/metrics/hotspots/report.html.erb +1 -1
  69. data/lib/metric_fu/metrics/rails_best_practices/generator.rb +10 -12
  70. data/lib/metric_fu/metrics/rails_best_practices/grapher.rb +5 -6
  71. data/lib/metric_fu/metrics/rails_best_practices/metric.rb +1 -3
  72. data/lib/metric_fu/metrics/rcov/external_client.rb +1 -3
  73. data/lib/metric_fu/metrics/rcov/generator.rb +13 -15
  74. data/lib/metric_fu/metrics/rcov/grapher.rb +6 -7
  75. data/lib/metric_fu/metrics/rcov/hotspot.rb +5 -7
  76. data/lib/metric_fu/metrics/rcov/metric.rb +5 -7
  77. data/lib/metric_fu/metrics/rcov/rcov_format_coverage.rb +16 -55
  78. data/lib/metric_fu/metrics/rcov/rcov_line.rb +48 -0
  79. data/lib/metric_fu/metrics/rcov/report.html.erb +2 -2
  80. data/lib/metric_fu/metrics/rcov/simplecov_formatter.rb +10 -11
  81. data/lib/metric_fu/metrics/reek/generator.rb +22 -23
  82. data/lib/metric_fu/metrics/reek/grapher.rb +5 -6
  83. data/lib/metric_fu/metrics/reek/hotspot.rb +5 -7
  84. data/lib/metric_fu/metrics/reek/metric.rb +2 -4
  85. data/lib/metric_fu/metrics/roodi/generator.rb +9 -10
  86. data/lib/metric_fu/metrics/roodi/grapher.rb +5 -6
  87. data/lib/metric_fu/metrics/roodi/hotspot.rb +1 -3
  88. data/lib/metric_fu/metrics/roodi/metric.rb +2 -4
  89. data/lib/metric_fu/metrics/saikuro/generator.rb +23 -27
  90. data/lib/metric_fu/metrics/saikuro/hotspot.rb +1 -3
  91. data/lib/metric_fu/metrics/saikuro/metric.rb +7 -8
  92. data/lib/metric_fu/metrics/saikuro/parsing_element.rb +6 -8
  93. data/lib/metric_fu/metrics/saikuro/report.html.erb +1 -1
  94. data/lib/metric_fu/metrics/saikuro/scratch_file.rb +24 -29
  95. data/lib/metric_fu/metrics/stats/generator.rb +9 -12
  96. data/lib/metric_fu/metrics/stats/grapher.rb +8 -9
  97. data/lib/metric_fu/metrics/stats/hotspot.rb +1 -3
  98. data/lib/metric_fu/metrics/stats/metric.rb +3 -5
  99. data/lib/metric_fu/reporter.rb +1 -1
  100. data/lib/metric_fu/reporting/graphs/graph.rb +8 -12
  101. data/lib/metric_fu/reporting/graphs/grapher.rb +7 -9
  102. data/lib/metric_fu/reporting/result.rb +0 -3
  103. data/lib/metric_fu/run.rb +12 -3
  104. data/lib/metric_fu/tasks/metric_fu.rake +8 -8
  105. data/lib/metric_fu/templates/configuration.rb +2 -5
  106. data/lib/metric_fu/templates/metrics_template.rb +19 -19
  107. data/lib/metric_fu/templates/report.rb +5 -8
  108. data/lib/metric_fu/templates/template.rb +20 -24
  109. data/lib/metric_fu/utility.rb +7 -8
  110. data/lib/metric_fu/version.rb +1 -1
  111. data/metric_fu.gemspec +31 -32
  112. data/spec/cli/helper_spec.rb +7 -14
  113. data/spec/dummy/lib/bad_encoding.rb +1 -1
  114. data/spec/fixtures/coverage-153.rb +2 -2
  115. data/spec/fixtures/coverage.rb +2 -2
  116. data/spec/metric_fu/calculate_spec.rb +3 -3
  117. data/spec/metric_fu/configuration_spec.rb +70 -82
  118. data/spec/metric_fu/data_structures/line_numbers_spec.rb +3 -5
  119. data/spec/metric_fu/data_structures/location_spec.rb +13 -31
  120. data/spec/metric_fu/formatter/configuration_spec.rb +11 -13
  121. data/spec/metric_fu/formatter/html_spec.rb +21 -28
  122. data/spec/metric_fu/formatter/yaml_spec.rb +9 -17
  123. data/spec/metric_fu/formatter_spec.rb +6 -6
  124. data/spec/metric_fu/gem_version_spec.rb +3 -5
  125. data/spec/metric_fu/generator_spec.rb +28 -38
  126. data/spec/metric_fu/loader_spec.rb +1 -3
  127. data/spec/metric_fu/metric_spec.rb +17 -21
  128. data/spec/metric_fu/metrics/cane/configuration_spec.rb +8 -8
  129. data/spec/metric_fu/metrics/cane/generator_spec.rb +26 -29
  130. data/spec/metric_fu/metrics/churn/configuration_spec.rb +6 -8
  131. data/spec/metric_fu/metrics/churn/generator_spec.rb +6 -11
  132. data/spec/metric_fu/metrics/flay/configuration_spec.rb +6 -8
  133. data/spec/metric_fu/metrics/flay/generator_spec.rb +36 -37
  134. data/spec/metric_fu/metrics/flay/grapher_spec.rb +2 -2
  135. data/spec/metric_fu/metrics/flog/configuration_spec.rb +11 -13
  136. data/spec/metric_fu/metrics/flog/generator_spec.rb +29 -31
  137. data/spec/metric_fu/metrics/flog/grapher_spec.rb +8 -10
  138. data/spec/metric_fu/metrics/hotspots/analysis/analyzed_problems_spec.rb +18 -24
  139. data/spec/metric_fu/metrics/hotspots/analysis/analyzer_tables_spec.rb +12 -17
  140. data/spec/metric_fu/metrics/hotspots/analysis/ranking_spec.rb +2 -6
  141. data/spec/metric_fu/metrics/hotspots/analysis/rankings_spec.rb +5 -14
  142. data/spec/metric_fu/metrics/hotspots/analysis/table_spec.rb +1 -3
  143. data/spec/metric_fu/metrics/hotspots/generator_spec.rb +6 -8
  144. data/spec/metric_fu/metrics/hotspots/hotspot_analyzer_spec.rb +1 -3
  145. data/spec/metric_fu/metrics/hotspots/hotspot_spec.rb +4 -5
  146. data/spec/metric_fu/metrics/rails_best_practices/configuration_spec.rb +6 -10
  147. data/spec/metric_fu/metrics/rails_best_practices/generator_spec.rb +2 -3
  148. data/spec/metric_fu/metrics/rails_best_practices/grapher_spec.rb +3 -3
  149. data/spec/metric_fu/metrics/rcov/configuration_spec.rb +20 -22
  150. data/spec/metric_fu/metrics/rcov/generator_spec.rb +6 -10
  151. data/spec/metric_fu/metrics/rcov/grapher_spec.rb +2 -2
  152. data/spec/metric_fu/metrics/rcov/hotspot_spec.rb +8 -8
  153. data/spec/metric_fu/metrics/rcov/rcov_line_spec.rb +89 -0
  154. data/spec/metric_fu/metrics/rcov/simplecov_formatter_spec.rb +31 -33
  155. data/spec/metric_fu/metrics/reek/configuration_spec.rb +6 -6
  156. data/spec/metric_fu/metrics/reek/generator_spec.rb +19 -20
  157. data/spec/metric_fu/metrics/reek/grapher_spec.rb +4 -4
  158. data/spec/metric_fu/metrics/roodi/configuration_spec.rb +7 -9
  159. data/spec/metric_fu/metrics/roodi/generator_spec.rb +3 -3
  160. data/spec/metric_fu/metrics/roodi/grapher_spec.rb +2 -2
  161. data/spec/metric_fu/metrics/saikuro/configuration_spec.rb +18 -19
  162. data/spec/metric_fu/metrics/saikuro/generator_spec.rb +7 -7
  163. data/spec/metric_fu/metrics/stats/generator_spec.rb +9 -9
  164. data/spec/metric_fu/metrics/stats/grapher_spec.rb +2 -2
  165. data/spec/metric_fu/reporter_spec.rb +3 -4
  166. data/spec/metric_fu/reporting/graphs/graph_spec.rb +1 -4
  167. data/spec/metric_fu/reporting/graphs/grapher_spec.rb +5 -5
  168. data/spec/metric_fu/reporting/result_spec.rb +9 -11
  169. data/spec/metric_fu/run_spec.rb +18 -32
  170. data/spec/metric_fu/templates/configuration_spec.rb +28 -34
  171. data/spec/metric_fu/templates/metrics_template_spec.rb +11 -0
  172. data/spec/metric_fu/templates/report_spec.rb +4 -4
  173. data/spec/metric_fu/templates/template_spec.rb +62 -48
  174. data/spec/metric_fu/utility_spec.rb +2 -2
  175. data/spec/metric_fu_spec.rb +5 -7
  176. data/spec/shared/configured.rb +9 -11
  177. data/spec/shared/test_coverage.rb +5 -9
  178. data/spec/spec_helper.rb +9 -9
  179. data/spec/support/deferred_garbaged_collection.rb +1 -2
  180. data/spec/support/matcher_create_file.rb +2 -4
  181. data/spec/support/matcher_create_files.rb +2 -4
  182. data/spec/support/suite.rb +3 -3
  183. data/spec/support/test_fixtures.rb +5 -7
  184. data/spec/support/timeout.rb +1 -1
  185. data/spec/support/usage_test.rb +23 -24
  186. data/spec/usage_test_spec.rb +18 -20
  187. metadata +12 -2
  188. metadata.gz.sig +0 -0
@@ -1,6 +1,5 @@
1
1
  class DeferredGarbageCollection
2
-
3
- DEFERRED_GC_THRESHOLD = (ENV['DEFER_GC'] || 15.0).to_f
2
+ DEFERRED_GC_THRESHOLD = (ENV["DEFER_GC"] || 15.0).to_f
4
3
 
5
4
  @@last_gc_run = Time.now
6
5
 
@@ -1,5 +1,4 @@
1
1
  RSpec::Matchers.define :create_file do |expected|
2
-
3
2
  match do |block|
4
3
  @before = exists?(expected)
5
4
  block.call
@@ -7,13 +6,13 @@ RSpec::Matchers.define :create_file do |expected|
7
6
  !@before && @after
8
7
  end
9
8
 
10
- failure_message do |block|
9
+ failure_message do |_block|
11
10
  existed_before_message expected do
12
11
  "The file #{expected.inspect} was not created"
13
12
  end
14
13
  end
15
14
 
16
- failure_message_when_negated do |block|
15
+ failure_message_when_negated do |_block|
17
16
  existed_before_message expected do
18
17
  "The file #{expected.inspect} was created"
19
18
  end
@@ -35,5 +34,4 @@ RSpec::Matchers.define :create_file do |expected|
35
34
  yield
36
35
  end
37
36
  end
38
-
39
37
  end
@@ -1,5 +1,4 @@
1
1
  RSpec::Matchers.define :create_files do |expected|
2
-
3
2
  match do |block|
4
3
  @before = false
5
4
  @after = true
@@ -13,13 +12,13 @@ RSpec::Matchers.define :create_files do |expected|
13
12
  !@before && @after
14
13
  end
15
14
 
16
- failure_message do |block|
15
+ failure_message do |_block|
17
16
  existed_before_message expected do
18
17
  "One or more files in [#{expected.inspect}] was not created."
19
18
  end
20
19
  end
21
20
 
22
- failure_message_when_negated do |block|
21
+ failure_message_when_negated do |_block|
23
22
  existed_before_message expected do
24
23
  "The files in [#{expected.inspect}] were created."
25
24
  end
@@ -41,5 +40,4 @@ RSpec::Matchers.define :create_files do |expected|
41
40
  yield
42
41
  end
43
42
  end
44
-
45
43
  end
@@ -1,14 +1,14 @@
1
- require 'fileutils'
1
+ require "fileutils"
2
2
  def directory(name)
3
3
  MetricFu::Io::FileSystem.directory(name)
4
4
  end
5
5
 
6
6
  def scratch_directory(name)
7
- File.join(MetricFu::Io::FileSystem.artifact_dir, 'scratch', name)
7
+ File.join(MetricFu::Io::FileSystem.artifact_dir, "scratch", name)
8
8
  end
9
9
 
10
10
  def artifact_test_dir
11
- @artficat_test_dir ||= File.join(MetricFu::APP_ROOT, 'tmp','metric_fu','test')
11
+ File.join(MetricFu::APP_ROOT, "tmp", "metric_fu", "test")
12
12
  end
13
13
 
14
14
  # Let's shift the output directories so that we don't interfere with
@@ -1,22 +1,21 @@
1
- require 'pathname'
1
+ require "pathname"
2
2
  class TestFixtures
3
-
4
3
  attr_reader :fixtures_path
5
4
 
6
5
  def initialize
7
6
  @loaded_data = {}
8
- @fixtures_path = Pathname(MetricFu.root_dir).join('spec','fixtures')
7
+ @fixtures_path = Pathname(MetricFu.root_dir).join("spec", "fixtures")
9
8
  end
10
9
 
11
10
  def load_metric(path)
12
11
  retrieve_data(path) do |path|
13
- YAML.load_file( fixture_path(path) )
12
+ YAML.load_file(fixture_path(path))
14
13
  end
15
14
  end
16
15
 
17
16
  def load_file(path)
18
17
  retrieve_data(path) do |path|
19
- File.read( fixture_path(path) )
18
+ File.read(fixture_path(path))
20
19
  end
21
20
  end
22
21
 
@@ -31,9 +30,8 @@ class TestFixtures
31
30
  @loaded_data[path] = yield(path)
32
31
  end
33
32
  end
34
-
35
33
  end
36
34
  FIXTURE = TestFixtures.new
37
35
  HOTSPOT_DATA = ->(paths) {
38
- FIXTURE.load_metric( ['hotspots'].concat(Array(paths)) )
36
+ FIXTURE.load_metric(["hotspots"].concat(Array(paths)))
39
37
  }
@@ -1,4 +1,4 @@
1
- require 'timeout'
1
+ require "timeout"
2
2
  # No spec should run longer than this
3
3
  # (define here to support the closure)
4
4
  p "setting timeout #{timeout = 15.0} seconds"
@@ -3,7 +3,7 @@
3
3
 
4
4
  # puts "SUCCESS!"
5
5
  # Process.exit! 0
6
- require 'open3'
6
+ require "open3"
7
7
 
8
8
  class UsageTest
9
9
  CodeBlock = Struct.new(:matchdata) do
@@ -12,6 +12,7 @@ class UsageTest
12
12
  def code
13
13
  matchdata[3].strip
14
14
  end
15
+
15
16
  def language
16
17
  matchdata[2].strip
17
18
  end
@@ -60,18 +61,18 @@ SnippetRunner = Struct.new(:code, :language) do
60
61
  test_result = run_code
61
62
  mf_debug "#{Time.now - time} seconds"
62
63
  if test_result.success
63
- print '.'
64
+ print "."
64
65
  else
65
- puts 'x'
66
+ puts "x"
66
67
  puts "Red :( language: #{language}, code #{code}, #{test_result.captured_output}"
67
68
  Process.exit! 1
68
69
  end
69
70
  end
70
71
 
71
- def run_code(test_result = TestResult.new(:no_result,''))
72
+ def run_code(test_result = TestResult.new(:no_result, ""))
72
73
  test_result.captured_output = case language
73
- when 'ruby' then eval_ruby
74
- when 'sh' then run_system_command
74
+ when "ruby" then eval_ruby
75
+ when "sh" then run_system_command
75
76
  else mf_debug "Cannot test language: #{language.inspect}"
76
77
  end
77
78
  test_result.success = true
@@ -87,18 +88,18 @@ SnippetRunner = Struct.new(:code, :language) do
87
88
  test_result
88
89
  end
89
90
 
90
- def eval_ruby(fail_on_empty=false)
91
+ def eval_ruby(fail_on_empty = false)
91
92
  capture_output(fail_on_empty) do
92
93
  instance_eval(code)
93
94
  end
94
95
  end
95
96
 
96
- def run_system_command(fail_on_empty=true)
97
- out = ''
98
- err = ''
97
+ def run_system_command(_fail_on_empty = true)
98
+ out = ""
99
+ err = ""
99
100
  pid = :not_set
100
101
  exit_status = :not_set
101
- Open3.popen3(code) do |stdin, stdout, stderr, wait_thr|
102
+ Open3.popen3(code) do |_stdin, stdout, stderr, wait_thr|
102
103
  out << stdout.read.chomp
103
104
  err << stderr.read.chomp
104
105
  pid = wait_thr.pid
@@ -110,7 +111,6 @@ SnippetRunner = Struct.new(:code, :language) do
110
111
  when (1..Float::INFINITY) then fail SystemCommandError.new("Failed with exit status #{exit_code}. #{err}----#{out}")
111
112
  else fail SystemCommandError.new("Execution failed with exit status #{exit_code}. #{err}----#{out}")
112
113
  end
113
-
114
114
  end
115
115
 
116
116
  def exception_message(e)
@@ -122,19 +122,19 @@ SnippetRunner = Struct.new(:code, :language) do
122
122
  stderr = :not_set
123
123
  stdout = :not_set
124
124
  MetricFu::Utility.capture_output(STDOUT) do
125
- stdout =
126
- MetricFu::Utility.capture_output(STDERR) do
127
- begin
128
- stderr = yield
129
- rescue Exception => e
130
- exception = e
131
- end
132
- end
125
+ stdout =
126
+ MetricFu::Utility.capture_output(STDERR) do
127
+ begin
128
+ stderr = yield
129
+ rescue Exception => e
130
+ exception = e
131
+ end
132
+ end
133
133
  end
134
- if [nil, '', :not_set].none? {|c| c == stderr }
134
+ if [nil, "", :not_set].none? { |c| c == stderr }
135
135
  mf_debug "Captured STDERR"
136
136
  stderr
137
- elsif [nil, '', :not_set].none? {|c| c == stdout }
137
+ elsif [nil, "", :not_set].none? { |c| c == stdout }
138
138
  mf_debug "Captured STDOUT"
139
139
  stdout
140
140
  elsif exception
@@ -143,9 +143,8 @@ SnippetRunner = Struct.new(:code, :language) do
143
143
  else
144
144
  mf_debug "Captured Nothing"
145
145
  if fail_on_empty
146
- fail SystemCommandError.new 'No output generated or exception caught'
146
+ fail SystemCommandError.new "No output generated or exception caught"
147
147
  end
148
148
  end
149
149
  end
150
-
151
150
  end
@@ -1,10 +1,10 @@
1
1
  describe "usage test" do
2
2
  ROOT_PATH = File.expand_path("..", File.dirname(__FILE__))
3
- require File.join(ROOT_PATH, 'spec/support/usage_test')
3
+ require File.join(ROOT_PATH, "spec/support/usage_test")
4
4
 
5
5
  it "extracts fenced code blocks, identifying the code and language" do
6
6
  ruby_code = "puts 'This is ruby'"
7
- shell_code = %Q(ruby -e "puts 'This is shell'")
7
+ shell_code = %(ruby -e "puts 'This is shell'")
8
8
  ruby_block, shell_block = UsageTest::CodeBlock.find_code_blocks(<<-README
9
9
  This is not code
10
10
 
@@ -21,75 +21,73 @@ Nope. Not code.
21
21
  Not code, either.
22
22
  README
23
23
  )
24
- expect(ruby_block.language).to eq('ruby')
24
+ expect(ruby_block.language).to eq("ruby")
25
25
  expect(ruby_block.code).to eq(ruby_code)
26
26
 
27
- expect(shell_block.language).to eq('sh')
27
+ expect(shell_block.language).to eq("sh")
28
28
  expect(shell_block.code).to eq(shell_code)
29
29
  end
30
30
 
31
31
  context "evaluating ruby code" do
32
32
  specify "succeeds when the code runs without errors" do
33
33
  code = "1 + 1"
34
- test_result = SnippetRunner.new(code, 'ruby').run_code
34
+ test_result = SnippetRunner.new(code, "ruby").run_code
35
35
  expect(test_result.captured_output).to eq(2)
36
36
  expect(test_result.success).to eq(true)
37
37
  end
38
38
  specify "fails when the code raises a standard error" do
39
39
  code = "fail NameError.new('no name')"
40
- test_result = SnippetRunner.new(code, 'ruby').run_code
41
- expect(test_result.captured_output).to match('NameError')
42
- expect(test_result.captured_output).to match('no name')
40
+ test_result = SnippetRunner.new(code, "ruby").run_code
41
+ expect(test_result.captured_output).to match("NameError")
42
+ expect(test_result.captured_output).to match("no name")
43
43
  expect(test_result.success).to eq(false)
44
44
  end
45
45
  specify "succeeds when the code exits with a zero exit status" do
46
46
  code = "puts 1 + 1; exit 0"
47
- test_result = SnippetRunner.new(code, 'ruby').run_code
48
- expect(test_result.captured_output).to match('SystemExit')
47
+ test_result = SnippetRunner.new(code, "ruby").run_code
48
+ expect(test_result.captured_output).to match("SystemExit")
49
49
  expect(test_result.success).to eq(true)
50
50
  end
51
51
  specify "fails when the code exits with a non-zero exit status" do
52
52
  code = "puts 1 + 1; exit 1"
53
- test_result = SnippetRunner.new(code, 'ruby').run_code
54
- expect(test_result.captured_output).to match('SystemExit')
53
+ test_result = SnippetRunner.new(code, "ruby").run_code
54
+ expect(test_result.captured_output).to match("SystemExit")
55
55
  expect(test_result.success).to eq(false)
56
56
  end
57
-
58
57
  end
59
58
  context "evaluating shell commands" do
60
59
  specify "succeeds when the command runs without errors" do
61
60
  code = "which ruby"
62
- test_result = SnippetRunner.new(code, 'sh').run_code
61
+ test_result = SnippetRunner.new(code, "sh").run_code
63
62
  expect(test_result.captured_output).to match("exit status 0")
64
63
  expect(test_result.success).to eq(true)
65
64
  end
66
65
  specify "fails when the command runs with an error" do
67
66
  code = "sandwhich_fu ruby"
68
- test_result = SnippetRunner.new(code, 'sh').run_code
67
+ test_result = SnippetRunner.new(code, "sh").run_code
69
68
  expect(test_result.captured_output).to match(failed_command_error)
70
69
  expect(test_result.success).to eq(false)
71
70
  end
72
71
  specify "succeeds when the code exits with a zero exit status" do
73
72
  code = "sh '#{fixtures_path.join('exit0.sh').to_path}'"
74
- test_result = SnippetRunner.new(code, 'sh').run_code
73
+ test_result = SnippetRunner.new(code, "sh").run_code
75
74
  expect(test_result.captured_output).to match("exit status 0")
76
75
  expect(test_result.success).to eq(true)
77
76
  end
78
77
  specify "fails when the code exits with a non-zero exit status" do
79
78
  code = "sh '#{fixtures_path.join('exit1.sh').to_path}'"
80
- test_result = SnippetRunner.new(code, 'sh').run_code
79
+ test_result = SnippetRunner.new(code, "sh").run_code
81
80
  expect(test_result.captured_output).to match("exit status 1")
82
81
  expect(test_result.success).to eq(false)
83
82
  end
84
-
85
83
  end
86
84
 
87
85
  def failed_command_error
88
- defined?(JRUBY_VERSION) ? 'IOError' : 'Errno::ENOENT'
86
+ defined?(JRUBY_VERSION) ? "IOError" : "Errno::ENOENT"
89
87
  end
90
88
 
91
89
  def fixtures_path
92
- fixtures_dir = File.join(File.expand_path('..', File.dirname(__FILE__)), 'spec', 'fixtures')
90
+ fixtures_dir = File.join(File.expand_path("..", File.dirname(__FILE__)), "spec", "fixtures")
93
91
  Pathname(fixtures_dir)
94
92
  end
95
93
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: metric_fu
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.11.3
4
+ version: 4.11.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jake Scruggs
@@ -42,7 +42,7 @@ cert_chain:
42
42
  lEs7ndJ1/vd/Hy0zQ1tIRWyql+ITLhqMi161Pw5flsYpQvPlRLR5pGJ4eD0/JdKE
43
43
  ZG9WSFH7QcGLY65mEYc=
44
44
  -----END CERTIFICATE-----
45
- date: 2015-01-28 00:00:00.000000000 Z
45
+ date: 2015-02-27 00:00:00.000000000 Z
46
46
  dependencies:
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: flay
@@ -339,6 +339,8 @@ files:
339
339
  - ".gitignore"
340
340
  - ".metrics"
341
341
  - ".rspec"
342
+ - ".rubocop.yml"
343
+ - ".rubocop_todo.yml"
342
344
  - ".simplecov"
343
345
  - ".travis.yml"
344
346
  - ".yardopts"
@@ -366,6 +368,7 @@ files:
366
368
  - checksum/metric_fu-4.11.0.gem.sha512
367
369
  - checksum/metric_fu-4.11.1.gem.sha512
368
370
  - checksum/metric_fu-4.11.2.gem.sha512
371
+ - checksum/metric_fu-4.11.3.gem.sha512
369
372
  - checksum/metric_fu-4.2.0.gem.sha512
370
373
  - checksum/metric_fu-4.2.1.gem.sha512
371
374
  - checksum/metric_fu-4.3.0.gem.sha512
@@ -387,7 +390,9 @@ files:
387
390
  - checksum/metric_fu-4.8.0.gem.sha512
388
391
  - checksum/metric_fu-4.9.0.gem.sha512
389
392
  - config/roodi_config.yml
393
+ - config/rubocop.yml
390
394
  - gem_tasks/build.rake
395
+ - gem_tasks/rubocop.rake
391
396
  - gem_tasks/usage_test.rake
392
397
  - gem_tasks/yard.rake
393
398
  - lib/metric_fu.rb
@@ -459,6 +464,7 @@ files:
459
464
  - lib/metric_fu/metrics/rcov/hotspot.rb
460
465
  - lib/metric_fu/metrics/rcov/metric.rb
461
466
  - lib/metric_fu/metrics/rcov/rcov_format_coverage.rb
467
+ - lib/metric_fu/metrics/rcov/rcov_line.rb
462
468
  - lib/metric_fu/metrics/rcov/report.html.erb
463
469
  - lib/metric_fu/metrics/rcov/simplecov_formatter.rb
464
470
  - lib/metric_fu/metrics/reek/generator.rb
@@ -584,6 +590,7 @@ files:
584
590
  - spec/metric_fu/metrics/rcov/generator_spec.rb
585
591
  - spec/metric_fu/metrics/rcov/grapher_spec.rb
586
592
  - spec/metric_fu/metrics/rcov/hotspot_spec.rb
593
+ - spec/metric_fu/metrics/rcov/rcov_line_spec.rb
587
594
  - spec/metric_fu/metrics/rcov/simplecov_formatter_spec.rb
588
595
  - spec/metric_fu/metrics/reek/configuration_spec.rb
589
596
  - spec/metric_fu/metrics/reek/generator_spec.rb
@@ -601,6 +608,7 @@ files:
601
608
  - spec/metric_fu/reporting/result_spec.rb
602
609
  - spec/metric_fu/run_spec.rb
603
610
  - spec/metric_fu/templates/configuration_spec.rb
611
+ - spec/metric_fu/templates/metrics_template_spec.rb
604
612
  - spec/metric_fu/templates/report_spec.rb
605
613
  - spec/metric_fu/templates/template_spec.rb
606
614
  - spec/metric_fu/utility_spec.rb
@@ -714,6 +722,7 @@ test_files:
714
722
  - spec/metric_fu/metrics/rcov/generator_spec.rb
715
723
  - spec/metric_fu/metrics/rcov/grapher_spec.rb
716
724
  - spec/metric_fu/metrics/rcov/hotspot_spec.rb
725
+ - spec/metric_fu/metrics/rcov/rcov_line_spec.rb
717
726
  - spec/metric_fu/metrics/rcov/simplecov_formatter_spec.rb
718
727
  - spec/metric_fu/metrics/reek/configuration_spec.rb
719
728
  - spec/metric_fu/metrics/reek/generator_spec.rb
@@ -731,6 +740,7 @@ test_files:
731
740
  - spec/metric_fu/reporting/result_spec.rb
732
741
  - spec/metric_fu/run_spec.rb
733
742
  - spec/metric_fu/templates/configuration_spec.rb
743
+ - spec/metric_fu/templates/metrics_template_spec.rb
734
744
  - spec/metric_fu/templates/report_spec.rb
735
745
  - spec/metric_fu/templates/template_spec.rb
736
746
  - spec/metric_fu/utility_spec.rb
metadata.gz.sig CHANGED
Binary file