diff --git a/Library/Homebrew/cask/.simplecov b/Library/Homebrew/cask/.simplecov deleted file mode 100644 index e1a2a4001a..0000000000 --- a/Library/Homebrew/cask/.simplecov +++ /dev/null @@ -1,6 +0,0 @@ -SimpleCov.start do - add_filter 'lib/vendor/' - add_filter 'doc/' - add_filter 'spec/' - add_filter 'test/' -end diff --git a/Library/Homebrew/cask/.simplecov b/Library/Homebrew/cask/.simplecov new file mode 120000 index 0000000000..d1b0452626 --- /dev/null +++ b/Library/Homebrew/cask/.simplecov @@ -0,0 +1 @@ +../test/.simplecov \ No newline at end of file diff --git a/Library/Homebrew/cask/Rakefile b/Library/Homebrew/cask/Rakefile index 6a6f76e6f5..7a276b347b 100644 --- a/Library/Homebrew/cask/Rakefile +++ b/Library/Homebrew/cask/Rakefile @@ -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 diff --git a/Library/Homebrew/cask/spec/spec_helper.rb b/Library/Homebrew/cask/spec/spec_helper.rb index d197db9835..6bb13bdcf1 100644 --- a/Library/Homebrew/cask/spec/spec_helper.rb +++ b/Library/Homebrew/cask/spec/spec_helper.rb @@ -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__)) diff --git a/Library/Homebrew/cask/test/test_helper.rb b/Library/Homebrew/cask/test/test_helper.rb index 24c9795351..e4fd721703 100644 --- a/Library/Homebrew/cask/test/test_helper.rb +++ b/Library/Homebrew/cask/test/test_helper.rb @@ -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__)) diff --git a/Library/Homebrew/dev-cmd/test-bot.rb b/Library/Homebrew/dev-cmd/test-bot.rb index 4052daac28..d35e763458 100644 --- a/Library/Homebrew/dev-cmd/test-bot.rb +++ b/Library/Homebrew/dev-cmd/test-bot.rb @@ -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. diff --git a/Library/Homebrew/test/.simplecov b/Library/Homebrew/test/.simplecov old mode 100644 new mode 100755 index 3cbd539431..7b057e878c --- a/Library/Homebrew/test/.simplecov +++ b/Library/Homebrew/test/.simplecov @@ -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