diff options
| author | Mike McQuaid | 2016-09-23 07:57:35 +0100 |
|---|---|---|
| committer | GitHub | 2016-09-23 07:57:35 +0100 |
| commit | 5cf3838f4292f3c47bc6a66e6d532fa290bcc5e0 (patch) | |
| tree | d70a95c2da4ce92c716b37bbe4765d42017e29e1 /Library/Homebrew/cask/cmd | |
| parent | b7e7434bdbe59412505662df4ae919884990264b (diff) | |
| parent | 5c5c416d1cb2df75f430c30a8044c82e041f530c (diff) | |
| download | brew-5cf3838f4292f3c47bc6a66e6d532fa290bcc5e0.tar.bz2 | |
Merge pull request #1041 from penman/parallel_tests
Parallelise test suite
Diffstat (limited to 'Library/Homebrew/cask/cmd')
| -rwxr-xr-x | Library/Homebrew/cask/cmd/brew-cask-tests.rb | 31 |
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 |
