rails/activejob/Rakefile
Rafael Mendonça França c2e30f8e45 Disable warnings on activejob tests
The implementations seems to not be interested to remove the warnings so
enabling them we are just making harder to read the outputs
2015-05-03 18:01:10 -03:00

91 lines
2.4 KiB
Ruby

require 'rake/testtask'
require 'rubygems/package_task'
ACTIVEJOB_ADAPTERS = %w(inline delayed_job qu que queue_classic resque sidekiq sneakers sucker_punch backburner test)
ACTIVEJOB_ADAPTERS -= %w(queue_classic) if defined?(JRUBY_VERSION)
task default: :test
task test: 'test:default'
namespace :test do
desc 'Run all adapter tests'
task :default do
run_without_aborting ACTIVEJOB_ADAPTERS.map { |a| "test:#{a}" }
end
desc 'Run all adapter tests in isolation'
task :isolated do
run_without_aborting ACTIVEJOB_ADAPTERS.map { |a| "test:isolated:#{a}" }
end
desc 'Run integration tests for all adapters'
task :integration do
run_without_aborting (ACTIVEJOB_ADAPTERS - ['test']).map { |a| "test:integration:#{a}" }
end
task 'env:integration' do
ENV['AJ_INTEGRATION_TESTS'] = "1"
end
ACTIVEJOB_ADAPTERS.each do |adapter|
task("env:#{adapter}") { ENV['AJ_ADAPTER'] = adapter }
Rake::TestTask.new(adapter => "test:env:#{adapter}") do |t|
t.description = "Run adapter tests for #{adapter}"
t.libs << 'test'
t.test_files = FileList['test/cases/**/*_test.rb']
t.verbose = true
t.warning = false
t.ruby_opts = ["--dev"] if defined?(JRUBY_VERSION)
end
namespace :isolated do
task adapter => "test:env:#{adapter}" do
dir = File.dirname(__FILE__)
Dir.glob("#{dir}/test/cases/**/*_test.rb").all? do |file|
sh(Gem.ruby, '-w', "-I#{dir}/lib", "-I#{dir}/test", file)
end or raise 'Failures'
end
end
namespace :integration do
Rake::TestTask.new(adapter => ["test:env:#{adapter}", 'test:env:integration']) do |t|
t.description = "Run integration tests for #{adapter}"
t.libs << 'test'
t.test_files = FileList['test/integration/**/*_test.rb']
t.verbose = true
t.warning = false
t.ruby_opts = ["--dev"] if defined?(JRUBY_VERSION)
end
end
end
end
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
spec = eval(File.read('activejob.gemspec'))
Gem::PackageTask.new(spec) do |p|
p.gem_spec = spec
end
desc 'Release to rubygems'
task release: :package do
require 'rake/gemcutter'
Rake::Gemcutter::Tasks.new(spec).define
Rake::Task['gem:push'].invoke
end