diff options
| -rw-r--r-- | Library/Homebrew/dev-cmd/tests.rb | 11 | ||||
| -rw-r--r-- | Library/Homebrew/test/spec_helper.rb | 1 | ||||
| -rw-r--r-- | Library/Homebrew/test/support/no_seed_progress_formatter.rb | 7 |
3 files changed, 16 insertions, 3 deletions
diff --git a/Library/Homebrew/dev-cmd/tests.rb b/Library/Homebrew/dev-cmd/tests.rb index af9dcc575..db2a6d33e 100644 --- a/Library/Homebrew/dev-cmd/tests.rb +++ b/Library/Homebrew/dev-cmd/tests.rb @@ -82,17 +82,20 @@ module Homebrew ] end + # Generate seed ourselves and output later to avoid multiple different + # seeds being output when running parallel tests. + seed = ARGV.include?("--seed") ? ARGV.next : rand(0xFFFF).to_i + args = ["-I", HOMEBREW_LIBRARY_PATH/"test"] args += %W[ + --seed #{seed} --color --require spec_helper - --format progress + --format NoSeedProgressFormatter --format ParallelTests::RSpec::RuntimeLogger --out #{HOMEBREW_CACHE}/tests/parallel_runtime_rspec.log ] - args << "--seed" << ARGV.next if ARGV.include? "--seed" - unless OS.mac? args << "--tag" << "~needs_macos" files = files.reject { |p| p =~ %r{^test/(os/mac|cask)(/.*|_spec\.rb)$} } @@ -102,6 +105,8 @@ module Homebrew files = files.reject { |p| p =~ %r{^test/os/linux(/.*|_spec\.rb)$} } end + puts "Randomized with seed #{seed}" + if parallel system "bundle", "exec", "parallel_rspec", *opts, "--", *args, "--", *files else diff --git a/Library/Homebrew/test/spec_helper.rb b/Library/Homebrew/test/spec_helper.rb index 08766ea37..be184b6e0 100644 --- a/Library/Homebrew/test/spec_helper.rb +++ b/Library/Homebrew/test/spec_helper.rb @@ -5,6 +5,7 @@ require "rspec/wait" require "rubocop" require "rubocop/rspec/support" require "set" +require "support/no_seed_progress_formatter" if ENV["HOMEBREW_TESTS_COVERAGE"] require "simplecov" diff --git a/Library/Homebrew/test/support/no_seed_progress_formatter.rb b/Library/Homebrew/test/support/no_seed_progress_formatter.rb new file mode 100644 index 000000000..e87a58143 --- /dev/null +++ b/Library/Homebrew/test/support/no_seed_progress_formatter.rb @@ -0,0 +1,7 @@ +require "rspec/core/formatters/progress_formatter" + +class NoSeedProgressFormatter < RSpec::Core::Formatters::ProgressFormatter + RSpec::Core::Formatters.register self, :seed + + def seed(notification); end +end |
