From a5b804fec49917c996532b5a22ad4eda07e4e659 Mon Sep 17 00:00:00 2001 From: Penar Musaraj Date: Wed, 1 May 2019 22:47:18 -0400 Subject: [PATCH] DEV: Add --profile and --fail-fast when running plugin specs, tweak parallel test balancing --- lib/tasks/docker.rake | 5 +++-- lib/tasks/plugin.rake | 3 ++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/lib/tasks/docker.rake b/lib/tasks/docker.rake index d4f09ff0479..95d81aaafe1 100644 --- a/lib/tasks/docker.rake +++ b/lib/tasks/docker.rake @@ -139,7 +139,8 @@ task 'docker:test' do spec_partials = Dir["spec/**/*_spec.rb"].sort.in_groups(total, false) # quick and dirty load balancing if (spec_partials.count > 3) - spec_partials[0].concat(spec_partials[total - 1].shift(40)) + spec_partials[0].concat(spec_partials[total - 1].shift(30)) + spec_partials[1].concat(spec_partials[total - 2].shift(30)) end params << spec_partials[subset].join(' ') @@ -154,7 +155,7 @@ task 'docker:test' do if ENV["SINGLE_PLUGIN"] @good &&= run_or_fail("bundle exec rake plugin:spec['#{ENV["SINGLE_PLUGIN"]}']") else - @good &&= run_or_fail("bundle exec rake plugin:spec") + @good &&= run_or_fail("RSPEC_FAILFAST=1 bundle exec rake plugin:spec") end end puts "travis_fold:end:ruby_tests" if ENV["TRAVIS"] diff --git a/lib/tasks/plugin.rake b/lib/tasks/plugin.rake index c77525038f5..afd36da4302 100644 --- a/lib/tasks/plugin.rake +++ b/lib/tasks/plugin.rake @@ -86,10 +86,11 @@ end desc 'run plugin specs' task 'plugin:spec', :plugin do |t, args| args.with_defaults(plugin: "*") + params = ENV['RSPEC_FAILFAST'] ? '--profile --fail-fast' : '--profile' ruby = `which ruby`.strip files = Dir.glob("./plugins/#{args[:plugin]}/spec/**/*_spec.rb") if files.length > 0 - sh "LOAD_PLUGINS=1 #{ruby} -S rspec #{files.join(' ')}" + sh "LOAD_PLUGINS=1 #{ruby} -S rspec #{files.join(' ')} #{params}" else abort "No specs found." end