From d3740ec34f1ad98311a3ac606643db972d5130e9 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Mon, 19 Sep 2016 23:00:58 +0100 Subject: tests: run in parallel --- Library/Homebrew/dev-cmd/tests.rb | 14 +++++++++----- Library/Homebrew/test/Gemfile | 1 + Library/Homebrew/test/Gemfile.lock | 6 +++++- Library/Homebrew/test/Rakefile | 29 ----------------------------- Library/Homebrew/test/test_inreplace.rb | 13 ++++++++----- Library/Homebrew/test/testing_env.rb | 2 +- 6 files changed, 24 insertions(+), 41 deletions(-) delete mode 100644 Library/Homebrew/test/Rakefile diff --git a/Library/Homebrew/dev-cmd/tests.rb b/Library/Homebrew/dev-cmd/tests.rb index aa2a3bff9..aba2fa3b6 100644 --- a/Library/Homebrew/dev-cmd/tests.rb +++ b/Library/Homebrew/dev-cmd/tests.rb @@ -6,7 +6,7 @@ require "tap" module Homebrew def tests - (HOMEBREW_LIBRARY/"Homebrew/test").cd do + (HOMEBREW_LIBRARY/"Homebrew").cd do ENV["HOMEBREW_NO_ANALYTICS_THIS_RUN"] = "1" ENV["HOMEBREW_DEVELOPER"] = "1" ENV["TESTOPTS"] = "-v" if ARGV.verbose? @@ -19,9 +19,11 @@ module Homebrew if ARGV.include? "--coverage" ENV["HOMEBREW_TESTS_COVERAGE"] = "1" - FileUtils.rm_f "coverage/.resultset.json" + FileUtils.rm_f "test/coverage/.resultset.json" end + ENV["BUNDLE_GEMFILE"] = "#{Dir.pwd}/test/Gemfile" + # Override author/committer as global settings might be invalid and thus # will cause silent failure during the setup of dummy Git repositories. %w[AUTHOR COMMITTER].each do |role| @@ -37,16 +39,18 @@ module Homebrew # Make it easier to reproduce test runs. ENV["SEED"] = ARGV.next if ARGV.include? "--seed" + files = Dir["test/test_*.rb"] + files -= Dir["test/test_os_mac_*.rb"] unless OS.mac? args = [] args << "--trace" if ARGV.include? "--trace" if ARGV.value("only") ENV["HOMEBREW_TESTS_ONLY"] = "1" test_name, test_method = ARGV.value("only").split("/", 2) - args << "TEST=test_#{test_name}.rb" - args << "TESTOPTS=--name=test_#{test_method}" if test_method + files = ["test/test_#{test_name}.rb"] + args << "--name=test_#{test_method}" if test_method end args += ARGV.named.select { |v| v[/^TEST(OPTS)?=/] } - system "bundle", "exec", "rake", "test", *args + system "bundle", "exec", "parallel_test", "--", *args, "--", *files Homebrew.failed = !$?.success? diff --git a/Library/Homebrew/test/Gemfile b/Library/Homebrew/test/Gemfile index b7666e551..193604dd7 100644 --- a/Library/Homebrew/test/Gemfile +++ b/Library/Homebrew/test/Gemfile @@ -3,6 +3,7 @@ source "https://rubygems.org" gem "mocha", "~> 1.1" gem "minitest", "~> 5.3" gem "rake", "~> 10.3" +gem "parallel_tests", "~> 2.9" group :coverage do # This is SimpleCov v0.12.0 with one PR merged on top, that finally resolves diff --git a/Library/Homebrew/test/Gemfile.lock b/Library/Homebrew/test/Gemfile.lock index ceb11128d..841ff0b5c 100644 --- a/Library/Homebrew/test/Gemfile.lock +++ b/Library/Homebrew/test/Gemfile.lock @@ -21,6 +21,9 @@ GEM minitest (5.9.0) mocha (1.1.0) metaclass (~> 0.0.1) + parallel (1.9.0) + parallel_tests (2.9.0) + parallel rake (10.5.0) simplecov-html (0.10.0) url (0.3.2) @@ -32,8 +35,9 @@ DEPENDENCIES codecov minitest (~> 5.3) mocha (~> 1.1) + parallel_tests (~> 2.9) rake (~> 10.3) simplecov (= 0.12.0)! BUNDLED WITH - 1.12.5 + 1.13.1 diff --git a/Library/Homebrew/test/Rakefile b/Library/Homebrew/test/Rakefile deleted file mode 100644 index a2db861f2..000000000 --- a/Library/Homebrew/test/Rakefile +++ /dev/null @@ -1,29 +0,0 @@ -require "rake" -require "rake/testtask" - -def mac? - return false if ENV["HOMEBREW_TEST_GENERIC_OS"] - RUBY_PLATFORM.to_s.downcase.include? "darwin" -end - -TEST_DIRECTORY = File.dirname(File.expand_path(__FILE__)) -TEST_FILES = Dir["#{TEST_DIRECTORY}/test_*.rb"].reject do |f| - f.include?("/test_os_mac_") && !mac? -end - -task default: :test - -Rake::TestTask.new(:test) do |t| - t.libs << TEST_DIRECTORY - t.test_files = TEST_FILES -end - -namespace :test do - TEST_FILES.each do |file| - name = file[/test_(.+)\.rb/, 1] - Rake::TestTask.new(name) do |t| - t.libs << TEST_DIRECTORY - t.test_files = [file] - end - end -end diff --git a/Library/Homebrew/test/test_inreplace.rb b/Library/Homebrew/test/test_inreplace.rb index 91d57f942..0e62f9d3f 100644 --- a/Library/Homebrew/test/test_inreplace.rb +++ b/Library/Homebrew/test/test_inreplace.rb @@ -91,26 +91,29 @@ class InreplaceTest < Homebrew::TestCase end def test_inreplace_errors + require "tempfile" extend(Utils::Inreplace) - open("test", "w") { |f| f.write "a\nb\nc\n" } + file = Tempfile.new("test") + + file.write "a\nb\nc\n" assert_raises(Utils::InreplaceError) do - inreplace "test", "d", "f" + inreplace file.path, "d", "f" end assert_raises(Utils::InreplaceError) do # Under current context, we are testing `String#gsub!`, so let's disable rubocop temporarily. - inreplace("test") { |s| s.gsub!("d", "f") } # rubocop:disable Performance/StringReplacement + inreplace(file.path) { |s| s.gsub!("d", "f") } # rubocop:disable Performance/StringReplacement end assert_raises(Utils::InreplaceError) do - inreplace("test") do |s| + inreplace(file.path) do |s| s.change_make_var! "VAR", "value" s.remove_make_var! "VAR2" end end ensure - File.unlink("test") + file.unlink end end diff --git a/Library/Homebrew/test/testing_env.rb b/Library/Homebrew/test/testing_env.rb index aa89ba2bd..396d92e13 100644 --- a/Library/Homebrew/test/testing_env.rb +++ b/Library/Homebrew/test/testing_env.rb @@ -42,7 +42,7 @@ module Homebrew module FSLeakLogger def self.included(klass) require "find" - @@log = File.open("fs_leak_log", "w") + @@log = File.open("#{__dir__}/fs_leak_log", "w") klass.make_my_diffs_pretty! end -- cgit v1.2.3 From 176c82516f4d81d29d8354e99273afc8cd889338 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Tue, 20 Sep 2016 00:02:04 +0100 Subject: cask-tests: run in parallel --- Library/Homebrew/cask/Gemfile | 1 + Library/Homebrew/cask/Gemfile.lock | 4 ++++ Library/Homebrew/cask/Rakefile | 31 +--------------------------- Library/Homebrew/cask/cmd/brew-cask-tests.rb | 23 ++++++++++++++++----- 4 files changed, 24 insertions(+), 35 deletions(-) diff --git a/Library/Homebrew/cask/Gemfile b/Library/Homebrew/cask/Gemfile index af1c8d3bc..e252b5f3d 100644 --- a/Library/Homebrew/cask/Gemfile +++ b/Library/Homebrew/cask/Gemfile @@ -16,6 +16,7 @@ group :test do gem "minitest", "5.4.1" gem "minitest-reporters" gem "mocha", "1.1.0", require: false + gem "parallel_tests" gem "rspec", "~> 3.0.0" gem "rspec-its", require: false gem "rspec-wait", require: false diff --git a/Library/Homebrew/cask/Gemfile.lock b/Library/Homebrew/cask/Gemfile.lock index c9c2b5cca..fa5dcf9a9 100644 --- a/Library/Homebrew/cask/Gemfile.lock +++ b/Library/Homebrew/cask/Gemfile.lock @@ -23,6 +23,9 @@ GEM ruby-progressbar mocha (1.1.0) metaclass (~> 0.0.1) + parallel (1.9.0) + parallel_tests (2.9.0) + parallel parser (2.3.1.2) ast (~> 2.2) powerpack (0.1.1) @@ -80,6 +83,7 @@ DEPENDENCIES minitest (= 5.4.1) minitest-reporters mocha (= 1.1.0) + parallel_tests pry pry-byebug rake diff --git a/Library/Homebrew/cask/Rakefile b/Library/Homebrew/cask/Rakefile index 25deee407..c30b2f671 100644 --- a/Library/Homebrew/cask/Rakefile +++ b/Library/Homebrew/cask/Rakefile @@ -6,40 +6,11 @@ homebrew_repo = `brew --repository`.chomp $LOAD_PATH.unshift(File.expand_path("#{homebrew_repo}/Library/Homebrew")) $LOAD_PATH.unshift(File.expand_path("../lib", __FILE__)) -namespace :test do - Rake::TestTask.new(:minitest) do |t| - # TODO: setting the --seed here is an ugly temporary hack, to remain only - # until test-suite glitches are fixed. - ENV["TESTOPTS"] = "--seed=14830" if ENV["TRAVIS"] - t.pattern = "test/**/*_test.rb" - t.libs << "test" - end - - RSpec::Core::RakeTask.new(:rspec) - - desc "Run tests for minitest and RSpec with coverage" - task :coverage do - ENV["HOMEBREW_TESTS_COVERAGE"] = "1" - - Rake::Task[:test].invoke - - if ENV["CODECOV_TOKEN"] - require "simplecov" - require "codecov" - formatter = SimpleCov::Formatter::Codecov.new - formatter.format(SimpleCov::ResultMerger.merged_result) - end - end -end - -desc "Run tests for minitest and RSpec" -task test: ["test:minitest", "test:rspec"] - RuboCop::RakeTask.new(:rubocop) do |t| t.options = ["--force-exclusion"] end -task default: [:test, :rubocop] +task default: [:rubocop] desc "Open a REPL for debugging and experimentation" task :console do diff --git a/Library/Homebrew/cask/cmd/brew-cask-tests.rb b/Library/Homebrew/cask/cmd/brew-cask-tests.rb index 92ef3ddd9..20f343047 100755 --- a/Library/Homebrew/cask/cmd/brew-cask-tests.rb +++ b/Library/Homebrew/cask/cmd/brew-cask-tests.rb @@ -1,5 +1,9 @@ require "English" +def run_tests(executable, files, args = []) + system "bundle", "exec", executable, "--", *args, "--", *files +end + repo_root = Pathname(__FILE__).realpath.parent.parent repo_root.cd do ENV["HOMEBREW_NO_ANALYTICS_THIS_RUN"] = "1" @@ -9,12 +13,21 @@ repo_root.cd do system "bundle", "install", "--path", "vendor/bundle" end - test_task = "test" - %w[rspec minitest coverage].each do |subtask| - next unless ARGV.flag?("--#{subtask}") - test_task = "test:#{subtask}" + rspec = ARGV.flag?("--rspec") || !ARGV.flag?("--minitest") + minitest = ARGV.flag?("--minitest") || !ARGV.flag?("--rspec") + + ENV["TESTOPTS"] = "--seed=14830" if ENV["TRAVIS"] + ENV["HOMEBREW_TESTS_COVERAGE"] = "1" if ARGV.flag?("--coverage") + + run_tests "parallel_rspec", Dir["spec/**/*_spec.rb"] if rspec + run_tests "parallel_test", Dir["test/**/*_test.rb"] if minitest + + if ENV["CODECOV_TOKEN"] + require "simplecov" + require "codecov" + formatter = SimpleCov::Formatter::Codecov.new + formatter.format(SimpleCov::ResultMerger.merged_result) end - system "bundle", "exec", "rake", test_task Homebrew.failed = !$CHILD_STATUS.success? end -- cgit v1.2.3 From 1c4ae988232050ac22785fe062f3c912ed70cdfc Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Tue, 20 Sep 2016 13:16:11 +0100 Subject: tests, cask-tests: log test runtimes --- .gitignore | 2 ++ Library/Homebrew/cask/cmd/brew-cask-tests.rb | 13 +++++++++++-- Library/Homebrew/cask/test/test_helper.rb | 2 ++ Library/Homebrew/test/testing_env.rb | 1 + 4 files changed, 16 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 4b42e327d..54caa8def 100644 --- a/.gitignore +++ b/.gitignore @@ -13,11 +13,13 @@ /Library/Homebrew/cask/bin /Library/Homebrew/cask/vendor /Library/Homebrew/cask/coverage +/Library/Homebrew/cask/tmp /Library/Homebrew/test/.bundle /Library/Homebrew/test/bin /Library/Homebrew/test/vendor /Library/Homebrew/test/coverage /Library/Homebrew/test/fs_leak_log +/Library/Homebrew/tmp /Library/LinkedKegs /Library/Locks /Library/PinnedKegs diff --git a/Library/Homebrew/cask/cmd/brew-cask-tests.rb b/Library/Homebrew/cask/cmd/brew-cask-tests.rb index 20f343047..283b8516a 100755 --- a/Library/Homebrew/cask/cmd/brew-cask-tests.rb +++ b/Library/Homebrew/cask/cmd/brew-cask-tests.rb @@ -19,8 +19,17 @@ repo_root.cd do ENV["TESTOPTS"] = "--seed=14830" if ENV["TRAVIS"] ENV["HOMEBREW_TESTS_COVERAGE"] = "1" if ARGV.flag?("--coverage") - run_tests "parallel_rspec", Dir["spec/**/*_spec.rb"] if rspec - run_tests "parallel_test", Dir["test/**/*_test.rb"] if minitest + if rspec + run_tests "parallel_rspec", Dir["spec/**/*_spec.rb"], %w[ + --format progress + --format ParallelTests::RSpec::RuntimeLogger + --out tmp/parallel_runtime_rspec.log + ] + end + + if minitest + run_tests "parallel_test", Dir["test/**/*_test.rb"] + end if ENV["CODECOV_TOKEN"] require "simplecov" diff --git a/Library/Homebrew/cask/test/test_helper.rb b/Library/Homebrew/cask/test/test_helper.rb index e4fd72170..bf557f66b 100644 --- a/Library/Homebrew/cask/test/test_helper.rb +++ b/Library/Homebrew/cask/test/test_helper.rb @@ -39,6 +39,8 @@ require "minitest/autorun" require "minitest/reporters" Minitest::Reporters.use! Minitest::Reporters::DefaultReporter.new(color: true) +require "parallel_tests/test/runtime_logger" + # Force mocha to patch MiniTest since we have both loaded thanks to homebrew's testing_env require "mocha/api" require "mocha/integration/mini_test" diff --git a/Library/Homebrew/test/testing_env.rb b/Library/Homebrew/test/testing_env.rb index 396d92e13..676badf82 100644 --- a/Library/Homebrew/test/testing_env.rb +++ b/Library/Homebrew/test/testing_env.rb @@ -15,6 +15,7 @@ TEST_DIRECTORY = File.dirname(File.expand_path(__FILE__)) begin require "rubygems" require "minitest/autorun" + require "parallel_tests/test/runtime_logger" require "mocha/setup" rescue LoadError abort "Run `bundle install` or install the mocha and minitest gems before running the tests" -- cgit v1.2.3 From 651303f62df934d61dd3c317b84b417537d91d8b Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Tue, 20 Sep 2016 13:48:38 +0100 Subject: cask-tests: re-add removed comment --- Library/Homebrew/cask/cmd/brew-cask-tests.rb | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Library/Homebrew/cask/cmd/brew-cask-tests.rb b/Library/Homebrew/cask/cmd/brew-cask-tests.rb index 283b8516a..019c3ca24 100755 --- a/Library/Homebrew/cask/cmd/brew-cask-tests.rb +++ b/Library/Homebrew/cask/cmd/brew-cask-tests.rb @@ -16,7 +16,10 @@ repo_root.cd do rspec = ARGV.flag?("--rspec") || !ARGV.flag?("--minitest") minitest = ARGV.flag?("--minitest") || !ARGV.flag?("--rspec") + # TODO: setting the --seed here is an ugly temporary hack, to remain only + # until test-suite glitches are fixed. ENV["TESTOPTS"] = "--seed=14830" if ENV["TRAVIS"] + ENV["HOMEBREW_TESTS_COVERAGE"] = "1" if ARGV.flag?("--coverage") if rspec -- cgit v1.2.3 From 869fb0214971f3dbcccbe1915702ffc7e7d69d16 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Tue, 20 Sep 2016 14:57:08 +0100 Subject: tests, cask-tests: serialize stdout on CI --- Library/Homebrew/cask/cmd/brew-cask-tests.rb | 5 ++++- Library/Homebrew/dev-cmd/tests.rb | 10 +++++++++- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/Library/Homebrew/cask/cmd/brew-cask-tests.rb b/Library/Homebrew/cask/cmd/brew-cask-tests.rb index 019c3ca24..2523061a2 100755 --- a/Library/Homebrew/cask/cmd/brew-cask-tests.rb +++ b/Library/Homebrew/cask/cmd/brew-cask-tests.rb @@ -1,7 +1,10 @@ require "English" def run_tests(executable, files, args = []) - system "bundle", "exec", executable, "--", *args, "--", *files + opts = [] + opts << "--serialize-stdout" if ENV["CI"] + + system "bundle", "exec", executable, *opts, "--", *args, "--", *files end repo_root = Pathname(__FILE__).realpath.parent.parent diff --git a/Library/Homebrew/dev-cmd/tests.rb b/Library/Homebrew/dev-cmd/tests.rb index aba2fa3b6..9b15f9f3e 100644 --- a/Library/Homebrew/dev-cmd/tests.rb +++ b/Library/Homebrew/dev-cmd/tests.rb @@ -41,16 +41,24 @@ module Homebrew files = Dir["test/test_*.rb"] files -= Dir["test/test_os_mac_*.rb"] unless OS.mac? + + opts = [] + opts << "--serialize-stdout" if ENV["CI"] + args = [] args << "--trace" if ARGV.include? "--trace" + if ARGV.value("only") ENV["HOMEBREW_TESTS_ONLY"] = "1" test_name, test_method = ARGV.value("only").split("/", 2) files = ["test/test_#{test_name}.rb"] args << "--name=test_#{test_method}" if test_method end + args += ARGV.named.select { |v| v[/^TEST(OPTS)?=/] } - system "bundle", "exec", "parallel_test", "--", *args, "--", *files + + system "bundle", "exec", "parallel_test", *opts, + "--", *args, "--", *files Homebrew.failed = !$?.success? -- cgit v1.2.3 From ad17bbff9c59ef5d0490e6af317f7ce2d3069f69 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Tue, 20 Sep 2016 16:39:16 +0100 Subject: cask-tests: fix loading simplecov --- Library/Homebrew/cask/Rakefile | 12 ++++++++++++ Library/Homebrew/cask/cmd/brew-cask-tests.rb | 5 +---- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/Library/Homebrew/cask/Rakefile b/Library/Homebrew/cask/Rakefile index c30b2f671..fe3e75c98 100644 --- a/Library/Homebrew/cask/Rakefile +++ b/Library/Homebrew/cask/Rakefile @@ -6,6 +6,18 @@ homebrew_repo = `brew --repository`.chomp $LOAD_PATH.unshift(File.expand_path("#{homebrew_repo}/Library/Homebrew")) $LOAD_PATH.unshift(File.expand_path("../lib", __FILE__)) +namespace :test do + namespace :coverage do + desc "Upload coverage to Codecov" + task :upload do + require "simplecov" + require "codecov" + formatter = SimpleCov::Formatter::Codecov.new + formatter.format(SimpleCov::ResultMerger.merged_result) + end + end +end + RuboCop::RakeTask.new(:rubocop) do |t| t.options = ["--force-exclusion"] end diff --git a/Library/Homebrew/cask/cmd/brew-cask-tests.rb b/Library/Homebrew/cask/cmd/brew-cask-tests.rb index 2523061a2..19a21275e 100755 --- a/Library/Homebrew/cask/cmd/brew-cask-tests.rb +++ b/Library/Homebrew/cask/cmd/brew-cask-tests.rb @@ -38,10 +38,7 @@ repo_root.cd do end if ENV["CODECOV_TOKEN"] - require "simplecov" - require "codecov" - formatter = SimpleCov::Formatter::Codecov.new - formatter.format(SimpleCov::ResultMerger.merged_result) + system "bundle", "exec", "rake", "test:coverage:upload" end Homebrew.failed = !$CHILD_STATUS.success? -- cgit v1.2.3 From 9033af6bda721c88bdb14f6e18b844ab41bbcb84 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Tue, 20 Sep 2016 17:02:35 +0000 Subject: tests, cask-tests: (maybe) fix coverage --- Library/Homebrew/.simplecov | 45 ++++++++++++++++++++++++++++++++++++++++ Library/Homebrew/cask/.simplecov | 2 +- Library/Homebrew/test/.simplecov | 45 ---------------------------------------- 3 files changed, 46 insertions(+), 46 deletions(-) create mode 100755 Library/Homebrew/.simplecov delete mode 100755 Library/Homebrew/test/.simplecov diff --git a/Library/Homebrew/.simplecov b/Library/Homebrew/.simplecov new file mode 100755 index 000000000..7b057e878 --- /dev/null +++ b/Library/Homebrew/.simplecov @@ -0,0 +1,45 @@ +#!/usr/bin/env ruby + +SimpleCov.start do + 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/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 diff --git a/Library/Homebrew/cask/.simplecov b/Library/Homebrew/cask/.simplecov index d1b045262..75a078be4 120000 --- a/Library/Homebrew/cask/.simplecov +++ b/Library/Homebrew/cask/.simplecov @@ -1 +1 @@ -../test/.simplecov \ No newline at end of file +../.simplecov \ No newline at end of file diff --git a/Library/Homebrew/test/.simplecov b/Library/Homebrew/test/.simplecov deleted file mode 100755 index 7b057e878..000000000 --- a/Library/Homebrew/test/.simplecov +++ /dev/null @@ -1,45 +0,0 @@ -#!/usr/bin/env ruby - -SimpleCov.start do - 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/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 -- cgit v1.2.3 From b3a85aaf348c82d94daab2c2207afb8f3dba94d5 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Wed, 21 Sep 2016 22:58:35 +0100 Subject: test, cask-tests: update simplecov paths --- Library/Homebrew/.simplecov | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Library/Homebrew/.simplecov b/Library/Homebrew/.simplecov index 7b057e878..a7758c448 100755 --- a/Library/Homebrew/.simplecov +++ b/Library/Homebrew/.simplecov @@ -1,8 +1,8 @@ #!/usr/bin/env ruby SimpleCov.start do - coverage_dir File.expand_path("../coverage", File.realpath(__FILE__)) - root File.expand_path("../..", File.realpath(__FILE__)) + 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 -- cgit v1.2.3 From 5c5c416d1cb2df75f430c30a8044c82e041f530c Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Wed, 21 Sep 2016 23:26:42 +0100 Subject: cask-tests: remove Travis seed This hack has been in Homebrew Cask for more than two years (since 51f93e6dc9c3da4ab2118459ea95e45c104386ec), and it originated even earlier (6d2f7bc55af0b2aa915b2396d213e30a4446256c). Cask tests apparently aren't even run on Travis anymore, so this can be safely removed. --- Library/Homebrew/cask/cmd/brew-cask-tests.rb | 4 ---- 1 file changed, 4 deletions(-) diff --git a/Library/Homebrew/cask/cmd/brew-cask-tests.rb b/Library/Homebrew/cask/cmd/brew-cask-tests.rb index 19a21275e..7ae71020e 100755 --- a/Library/Homebrew/cask/cmd/brew-cask-tests.rb +++ b/Library/Homebrew/cask/cmd/brew-cask-tests.rb @@ -19,10 +19,6 @@ repo_root.cd do rspec = ARGV.flag?("--rspec") || !ARGV.flag?("--minitest") minitest = ARGV.flag?("--minitest") || !ARGV.flag?("--rspec") - # TODO: setting the --seed here is an ugly temporary hack, to remain only - # until test-suite glitches are fixed. - ENV["TESTOPTS"] = "--seed=14830" if ENV["TRAVIS"] - ENV["HOMEBREW_TESTS_COVERAGE"] = "1" if ARGV.flag?("--coverage") if rspec -- cgit v1.2.3