aboutsummaryrefslogtreecommitdiffstats
path: root/railties/lib
diff options
context:
space:
mode:
authorKasper Timm Hansen <kaspth@gmail.com>2017-02-05 17:02:58 +0100
committerGitHub <noreply@github.com>2017-02-05 17:02:58 +0100
commit2cb6c27310452da11b93d729c3b760ce988106e1 (patch)
tree85d9135baa1eab5e8e228164bb8e71c4f585ec13 /railties/lib
parent28934172042505156f7c60ac2534dd92f32170d9 (diff)
parent1c8a4cdf63134f34d638703a956c2706d8e3789f (diff)
downloadrails-2cb6c27310452da11b93d729c3b760ce988106e1.tar.gz
rails-2cb6c27310452da11b93d729c3b760ce988106e1.tar.bz2
rails-2cb6c27310452da11b93d729c3b760ce988106e1.zip
Merge pull request #27802 from domcleal/27801-multiple-rake-tests
Collect all file patterns when running multiple rake test tasks
Diffstat (limited to 'railties/lib')
-rw-r--r--railties/lib/rails/test_unit/minitest_plugin.rb14
1 files changed, 7 insertions, 7 deletions
diff --git a/railties/lib/rails/test_unit/minitest_plugin.rb b/railties/lib/rails/test_unit/minitest_plugin.rb
index e3c70b0b3d..4df3e7f0f2 100644
--- a/railties/lib/rails/test_unit/minitest_plugin.rb
+++ b/railties/lib/rails/test_unit/minitest_plugin.rb
@@ -59,19 +59,18 @@ module Minitest
options[:color] = true
options[:output_inline] = true
- options[:patterns] = defined?(@rake_patterns) ? @rake_patterns : opts.order!
+ options[:patterns] = opts.order! unless run_via[:rake]
end
- # Running several Rake tasks in a single command would trip up the runner,
- # as the patterns would also contain the other Rake tasks.
def self.rake_run(patterns) # :nodoc:
- @rake_patterns = patterns
+ run_via[:rake] = true
+ ::Rails::TestRequirer.require_files(patterns)
autorun
end
module RunRespectingRakeTestopts
def run(args = [])
- if defined?(@rake_patterns)
+ if run_via[:rake]
args = Shellwords.split(ENV["TESTOPTS"] || "")
end
@@ -86,8 +85,9 @@ module Minitest
def self.plugin_rails_init(options)
ENV["RAILS_ENV"] = options[:environment] || "test"
- # If run via `ruby` we've been passed the files to run directly.
- unless run_via[:ruby]
+ # If run via `ruby` we've been passed the files to run directly, or if run
+ # via `rake` then they have already been eagerly required.
+ unless run_via[:ruby] || run_via[:rake]
::Rails::TestRequirer.require_files(options[:patterns])
end