aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/.simplecov
diff options
context:
space:
mode:
Diffstat (limited to 'Library/Homebrew/.simplecov')
-rwxr-xr-xLibrary/Homebrew/.simplecov45
1 files changed, 45 insertions, 0 deletions
diff --git a/Library/Homebrew/.simplecov b/Library/Homebrew/.simplecov
new file mode 100755
index 000000000..a7758c448
--- /dev/null
+++ b/Library/Homebrew/.simplecov
@@ -0,0 +1,45 @@
+#!/usr/bin/env ruby
+
+SimpleCov.start do
+ coverage_dir File.expand_path("../test/coverage", File.realpath(__FILE__))
+ root File.expand_path("..", File.realpath(__FILE__))
+
+ # We manage the result cache ourselves and the default of 10 minutes can be
+ # too low (particularly on Travis CI), causing results from some integration
+ # tests to be dropped. This causes random fluctuations in test coverage.
+ merge_timeout 86400
+
+ add_filter "/Homebrew/cask/spec/"
+ add_filter "/Homebrew/cask/test/"
+ add_filter "/Homebrew/compat/"
+ add_filter "/Homebrew/test/"
+ add_filter "/Homebrew/vendor/"
+
+ if ENV["HOMEBREW_INTEGRATION_TEST"]
+ command_name ENV["HOMEBREW_INTEGRATION_TEST"]
+ 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
+ else
+ # Not using this during integration tests makes the tests 4x times faster
+ # without changing the coverage.
+ track_files "#{SimpleCov.root}/**/*.rb"
+ end
+
+ # Add groups and the proper project name to the output.
+ project_name "Homebrew"
+ add_group "Cask", "/Homebrew/cask/"
+ add_group "Commands", %w[/Homebrew/cmd/ /Homebrew/dev-cmd/]
+ add_group "Extensions", "/Homebrew/extend/"
+ add_group "OS", %w[/Homebrew/extend/os/ /Homebrew/os/]
+ add_group "Requirements", "/Homebrew/requirements/"
+ add_group "Scripts", %w[
+ /Homebrew/brew.rb
+ /Homebrew/build.rb
+ /Homebrew/postinstall.rb
+ /Homebrew/test.rb
+ ]
+end