diff options
author | David Heinemeier Hansson <david@loudthinking.com> | 2014-05-18 13:11:00 +0200 |
---|---|---|
committer | David Heinemeier Hansson <david@loudthinking.com> | 2014-05-18 13:11:00 +0200 |
commit | eed52c8808fceb0004e488f77f0bc6904f7aaddf (patch) | |
tree | 1813d45e25e5f94552f809c1eebba5b83e93c83c /Rakefile | |
parent | 30973e35a0271ed0cfab524a017a0e77d34352b6 (diff) | |
download | rails-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-- | Rakefile | 41 |
1 files changed, 36 insertions, 5 deletions
@@ -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' |