aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/test/.simplecov
blob: b6c759979ec888f7379bf086036337f54ebdf402 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
# vim: filetype=ruby

SimpleCov.start do
  tests_path = File.dirname(__FILE__)

  minimum_coverage 40
  coverage_dir File.expand_path("#{tests_path}/coverage")
  root File.expand_path("#{tests_path}/../../")

  add_filter "Formula/"
  add_filter "Homebrew/compat/"
  add_filter "Homebrew/test/"
  add_filter "Homebrew/vendor/"
  add_filter "Taps/"

  # Not using this during integration tests makes the tests 4x times faster
  # without changing the coverage.
  unless ENV["HOMEBREW_INTEGRATION_TEST"]
    track_files "#{SimpleCov.root}/**/*.rb"
  end

  # Add groups and the proper project name to the output.
  project_name "Homebrew"
  add_group "Commands", %w[/Homebrew/cmd/ /Homebrew/dev-cmd/]
  add_group "Extensions", "/Homebrew/extend/"
  add_group "OS", "/Homebrew/os/"
  add_group "Requirements", "/Homebrew/requirements/"
  add_group "Scripts", %w[
    /brew.rb
    /Homebrew/build.rb
    /Homebrew/postinstall.rb
    /Homebrew/test.rb
  ]
end

if ENV["HOMEBREW_INTEGRATION_TEST"]
  SimpleCov.command_name ENV["HOMEBREW_INTEGRATION_TEST"]
  SimpleCov.at_exit do
    exit_code = $!.nil? ? 0 : $!.status
    $stdout.reopen("/dev/null")
    SimpleCov.result # Just save result, but don't write formatted output.
    exit! exit_code
  end
end

# Don't use Coveralls outside of CI, as it will override SimpleCov's default
# formatter causing the `index.html` not to be written once all tests finish.
if RUBY_VERSION.split(".").first.to_i >= 2 && !ENV["HOMEBREW_INTEGRATION_TEST"] && ENV["CI"]
  require "coveralls"
  Coveralls.wear!
end