mirror of
https://github.com/github/rails.git
synced 2026-04-26 03:00:59 -04:00
Fix that failed tests should exit with a nonzero error code.
Partially reverts 14c89e7285d4e7cd40a542fbc31d9345f60c3aa4. Hat tip to @tenderlove for paring down the TestTask!
This commit is contained in:
committed by
Aaron Patterson
parent
73fcbaaa78
commit
92acd5d0e7
@@ -1,36 +1,8 @@
|
||||
module Rails
|
||||
# Don't abort when tests fail; move on the next test task.
|
||||
# Silence the default description to cut down on `rake -T` noise.
|
||||
class SubTestTask < Rake::TestTask
|
||||
# Create the tasks defined by this task lib.
|
||||
def define
|
||||
lib_path = @libs.join(File::PATH_SEPARATOR)
|
||||
task @name do
|
||||
run_code = ''
|
||||
RakeFileUtils.verbose(@verbose) do
|
||||
run_code =
|
||||
case @loader
|
||||
when :direct
|
||||
"-e 'ARGV.each{|f| load f}'"
|
||||
when :testrb
|
||||
"-S testrb #{fix}"
|
||||
when :rake
|
||||
rake_loader
|
||||
end
|
||||
@ruby_opts.unshift( "-I\"#{lib_path}\"" )
|
||||
@ruby_opts.unshift( "-w" ) if @warning
|
||||
|
||||
begin
|
||||
ruby @ruby_opts.join(" ") +
|
||||
" \"#{run_code}\" " +
|
||||
file_list.collect { |fn| "\"#{fn}\"" }.join(' ') +
|
||||
" #{option_list}"
|
||||
rescue => error
|
||||
warn "Error running #{name}: #{error.inspect}"
|
||||
end
|
||||
end
|
||||
end
|
||||
self
|
||||
def desc(string)
|
||||
# Ignore the description.
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -55,7 +55,21 @@ namespace :test do
|
||||
# Placeholder task for other Railtie and plugins to enhance. See Active Record for an example.
|
||||
end
|
||||
|
||||
task :run => %w(test:units test:functionals test:integration)
|
||||
task :run do
|
||||
errors = %w(test:units test:functionals test:integration).collect do |task|
|
||||
begin
|
||||
Rake::Task[task].invoke
|
||||
nil
|
||||
rescue => e
|
||||
{ :task => task, :exception => e }
|
||||
end
|
||||
end.compact
|
||||
|
||||
if errors.any?
|
||||
puts errors.map { |e| "Errors running #{e[:task]}! #{e[:exception].inspect}" }.join("\n")
|
||||
abort
|
||||
end
|
||||
end
|
||||
|
||||
Rake::TestTask.new(:recent => "test:prepare") do |t|
|
||||
since = TEST_CHANGES_SINCE
|
||||
|
||||
Reference in New Issue
Block a user