aboutsummaryrefslogtreecommitdiffstats
path: root/Rakefile
diff options
context:
space:
mode:
authorDavid Heinemeier Hansson <david@loudthinking.com>2014-05-18 13:11:00 +0200
committerDavid Heinemeier Hansson <david@loudthinking.com>2014-05-18 13:11:00 +0200
commiteed52c8808fceb0004e488f77f0bc6904f7aaddf (patch)
tree1813d45e25e5f94552f809c1eebba5b83e93c83c /Rakefile
parent30973e35a0271ed0cfab524a017a0e77d34352b6 (diff)
downloadrails-eed52c8808fceb0004e488f77f0bc6904f7aaddf.tar.gz
rails-eed52c8808fceb0004e488f77f0bc6904f7aaddf.tar.bz2
rails-eed52c8808fceb0004e488f77f0bc6904f7aaddf.zip
Add ResqueAdapter and provide test infrastructure for the now multiple adapters
Diffstat (limited to 'Rakefile')
-rw-r--r--Rakefile41
1 files changed, 36 insertions, 5 deletions
diff --git a/Rakefile b/Rakefile
index 7e9f53ef41..2c94fbcace 100644
--- a/Rakefile
+++ b/Rakefile
@@ -2,13 +2,44 @@ dir = File.dirname(__FILE__)
require 'rake/testtask'
+def run_without_aborting(*tasks)
+ errors = []
+
+ tasks.each do |task|
+ begin
+ Rake::Task[task].invoke
+ rescue Exception
+ errors << task
+ end
+ end
+
+ abort "Errors running #{errors.join(', ')}" if errors.any?
+end
+
+
+
task :default => :test
-Rake::TestTask.new do |t|
- t.libs << "test"
- t.test_files = Dir.glob("#{dir}/test/cases/**/*_test.rb").sort
- t.warning = true
- t.verbose = true
+desc 'Run all adapter tests'
+task :test do
+ tasks = %w(test_inline test_resque)
+ run_without_aborting(*tasks)
+end
+
+
+%w( inline resque ).each do |adapter|
+ Rake::TestTask.new("test_#{adapter}") do |t|
+ t.libs << 'test'
+ t.test_files = FileList['test/cases/**/*_test.rb']
+ t.verbose = true
+ end
+
+ namespace adapter do
+ task :test => "test_#{adapter}"
+ task(:env) { ENV['AJADAPTER'] = adapter }
+ end
+
+ task "test_#{adapter}" => "#{adapter}:env"
end
require 'rubygems/package_task'