aboutsummaryrefslogtreecommitdiffstats
path: root/activejob/Rakefile
diff options
context:
space:
mode:
authorAbdelkader Boudih <terminale@gmail.com>2014-08-12 09:17:19 +0000
committerAbdelkader Boudih <terminale@gmail.com>2014-08-12 09:17:19 +0000
commita75f085941b2d6aed160f5f2f7e64e5fc7e03826 (patch)
tree23174b264983a15c3108ec912b355829c5f17a80 /activejob/Rakefile
parentb45b99894a60eda434abec94d133a1cfd8de2dda (diff)
parent14f74a8331f94150dfee653224de8fc837797709 (diff)
downloadrails-a75f085941b2d6aed160f5f2f7e64e5fc7e03826.tar.gz
rails-a75f085941b2d6aed160f5f2f7e64e5fc7e03826.tar.bz2
rails-a75f085941b2d6aed160f5f2f7e64e5fc7e03826.zip
Add 'activejob/' from commit '14f74a8331f94150dfee653224de8fc837797709'
git-subtree-dir: activejob git-subtree-mainline: b45b99894a60eda434abec94d133a1cfd8de2dda git-subtree-split: 14f74a8331f94150dfee653224de8fc837797709
Diffstat (limited to 'activejob/Rakefile')
-rw-r--r--activejob/Rakefile68
1 files changed, 68 insertions, 0 deletions
diff --git a/activejob/Rakefile b/activejob/Rakefile
new file mode 100644
index 0000000000..b2910de81d
--- /dev/null
+++ b/activejob/Rakefile
@@ -0,0 +1,68 @@
+require 'bundler/gem_tasks'
+
+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
+
+ADAPTERS = %w(inline delayed_job qu que queue_classic resque sidekiq sneakers sucker_punch backburner)
+
+desc 'Run all adapter tests'
+task :test do
+ tasks = ADAPTERS.map{|a| "test_#{a}" }+["integration_test"]
+ run_without_aborting(*tasks)
+end
+
+ADAPTERS.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
+
+
+
+desc 'Run all adapter integration tests'
+task :integration_test do
+ tasks = (ADAPTERS-['inline']).map{|a| "integration_test_#{a}" }
+ run_without_aborting(*tasks)
+end
+
+(ADAPTERS-['inline']).each do |adapter|
+ Rake::TestTask.new("integration_test_#{adapter}") do |t|
+ t.libs << 'test'
+ t.test_files = FileList['test/integration/**/*_test.rb']
+ t.verbose = true
+ end
+
+ namespace "integration_#{adapter}" do
+ task test: "integration_test_#{adapter}"
+ task(:env) do
+ ENV['AJADAPTER'] = adapter
+ ENV['AJ_INTEGRATION_TESTS'] = "1"
+ end
+ end
+
+ task "integration_test_#{adapter}" => "integration_#{adapter}:env"
+end