Merge pull request #773 from reitermarkus/report-cask-coverage

Also report Cask coverage.
This commit is contained in:
Mike McQuaid 2016-09-01 20:31:40 +01:00 committed by GitHub
commit 0dc0bc1617
6 changed files with 24 additions and 31 deletions

View File

@ -1,6 +0,0 @@
SimpleCov.start do
add_filter 'lib/vendor/'
add_filter 'doc/'
add_filter 'spec/'
add_filter 'test/'
end

View File

@ -0,0 +1 @@
../test/.simplecov

View File

@ -1,4 +1,3 @@
require "coveralls/rake/task"
require "rake/testtask"
require "rspec/core/rake_task"
require "rubocop/rake_task"
@ -20,16 +19,21 @@ namespace :test do
desc "Run tests for minitest and RSpec with coverage"
task :coverage do
ENV["COVERAGE"] = "1"
ENV["HOMEBREW_TESTS_COVERAGE"] = "1"
Rake::Task[:test].invoke
if ENV["TRAVIS"]
require "coveralls/rake/task"
Coveralls::RakeTask.new
Rake::Task['coveralls:push'].invoke
end
end
end
desc "Run tests for minitest and RSpec"
task test: ["test:minitest", "test:rspec"]
Coveralls::RakeTask.new
RuboCop::RakeTask.new(:rubocop) do |t|
t.options = ["--force-exclusion"]
end

View File

@ -2,9 +2,9 @@ require "pathname"
require "rspec/its"
require "rspec/wait"
if ENV["COVERAGE"]
require "coveralls"
Coveralls.wear_merged!
if ENV["HOMEBREW_TESTS_COVERAGE"]
require "simplecov"
SimpleCov.command_name "test:cask:rspec"
end
project_root = Pathname.new(File.expand_path("../..", __FILE__))

View File

@ -2,9 +2,9 @@ require "bundler"
require "bundler/setup"
require "pathname"
if ENV["COVERAGE"]
require "coveralls"
Coveralls.wear_merged!
if ENV["HOMEBREW_TESTS_COVERAGE"]
require "simplecov"
SimpleCov.command_name "test:cask:minitest"
end
project_root = Pathname.new(File.expand_path("../..", __FILE__))

View File

@ -659,7 +659,9 @@ module Homebrew
test "brew", "readall", "--syntax"
if OS.mac?
run_as_not_developer { test "brew", "tap", "caskroom/cask" }
test "brew", "cask-tests"
tests_args_cask = []
tests_args_cask << "--coverage" if ARGV.include?("--coverage")
test "brew", "cask-tests", *tests_args_cask
end
# TODO: try to fix this on Linux at some stage.

20
Library/Homebrew/test/.simplecov Normal file → Executable file
View File

@ -1,18 +1,16 @@
# vim: filetype=ruby
#!/usr/bin/env ruby
SimpleCov.start do
tests_path = File.dirname(__FILE__)
minimum_coverage 40 unless ENV["HOMEBREW_TESTS_ONLY"]
coverage_dir File.expand_path("#{tests_path}/coverage")
root File.expand_path("#{tests_path}/..")
coverage_dir File.expand_path("../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/"
add_filter "/Homebrew/cask/spec/"
add_filter "/Homebrew/cask/test/"
add_filter "/Homebrew/compat/"
add_filter "/Homebrew/test/"
add_filter "/Homebrew/vendor/"
@ -33,6 +31,7 @@ SimpleCov.start do
# 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/]
@ -44,10 +43,3 @@ SimpleCov.start do
/Homebrew/test.rb
]
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