aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/cask/cmd/brew-cask-tests.rb
diff options
context:
space:
mode:
Diffstat (limited to 'Library/Homebrew/cask/cmd/brew-cask-tests.rb')
-rwxr-xr-xLibrary/Homebrew/cask/cmd/brew-cask-tests.rb31
1 files changed, 26 insertions, 5 deletions
diff --git a/Library/Homebrew/cask/cmd/brew-cask-tests.rb b/Library/Homebrew/cask/cmd/brew-cask-tests.rb
index 92ef3ddd9..7ae71020e 100755
--- a/Library/Homebrew/cask/cmd/brew-cask-tests.rb
+++ b/Library/Homebrew/cask/cmd/brew-cask-tests.rb
@@ -1,5 +1,12 @@
require "English"
+def run_tests(executable, files, args = [])
+ opts = []
+ opts << "--serialize-stdout" if ENV["CI"]
+
+ system "bundle", "exec", executable, *opts, "--", *args, "--", *files
+end
+
repo_root = Pathname(__FILE__).realpath.parent.parent
repo_root.cd do
ENV["HOMEBREW_NO_ANALYTICS_THIS_RUN"] = "1"
@@ -9,12 +16,26 @@ 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["HOMEBREW_TESTS_COVERAGE"] = "1" if ARGV.flag?("--coverage")
+
+ 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"]
+ system "bundle", "exec", "rake", "test:coverage:upload"
end
- system "bundle", "exec", "rake", test_task
Homebrew.failed = !$CHILD_STATUS.success?
end