From 1a4eb14b1642bbdddf0e51aa7894c562b5afc87a Mon Sep 17 00:00:00 2001 From: Kaito Udagawa <umireon@gmail.com> Date: Thu, 10 Nov 2016 08:50:21 +0900 Subject: [PATCH] cask-tests: fix cask-tests always fail on the test failure `brew cask-tests` collected the test results in an improper way so that it reports a false success in certain situations. Specially, the session under BrewTestBot always reports success regardless of the test status. With this update, the exit code of `brew cask-tests` is 1 when the test fails, and then CI preperly works. --- Library/Homebrew/cask/cmd/brew-cask-tests.rb | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/Library/Homebrew/cask/cmd/brew-cask-tests.rb b/Library/Homebrew/cask/cmd/brew-cask-tests.rb index 3126490e3d..0bfc4b037f 100755 --- a/Library/Homebrew/cask/cmd/brew-cask-tests.rb +++ b/Library/Homebrew/cask/cmd/brew-cask-tests.rb @@ -26,6 +26,8 @@ repo_root.cd do ENV["HOMEBREW_TESTS_COVERAGE"] = "1" if ARGV.flag?("--coverage") + failed = false + if rspec run_tests "parallel_rspec", Dir["spec/**/*_spec.rb"], %w[ --color @@ -34,15 +36,17 @@ repo_root.cd do --format ParallelTests::RSpec::RuntimeLogger --out tmp/parallel_runtime_rspec.log ] + failed ||= !$CHILD_STATUS.success? end if minitest run_tests "parallel_test", Dir["test/**/*_test.rb"] + failed ||= !$CHILD_STATUS.success? end + Homebrew.failed = failed + if ENV["CODECOV_TOKEN"] system "bundle", "exec", "rake", "test:coverage:upload" end - - Homebrew.failed = !$CHILD_STATUS.success? end -- GitLab