mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
Make AJ integration tests much less verbose
In passing, avoid a blind retry in QC: instead, just fix the problem.
This commit is contained in:
parent
d13b75bc26
commit
d7a058f785
8 changed files with 14 additions and 26 deletions
|
@ -10,7 +10,7 @@ module DelayedJobJobsManager
|
||||||
end
|
end
|
||||||
|
|
||||||
def start_workers
|
def start_workers
|
||||||
@worker = Delayed::Worker.new(quiet: false, sleep_delay: 0.5, queues: %w(integration_tests))
|
@worker = Delayed::Worker.new(quiet: true, sleep_delay: 0.5, queues: %w(integration_tests))
|
||||||
@thread = Thread.new { @worker.start }
|
@thread = Thread.new { @worker.start }
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -2,12 +2,12 @@ module QueJobsManager
|
||||||
def setup
|
def setup
|
||||||
require 'sequel'
|
require 'sequel'
|
||||||
ActiveJob::Base.queue_adapter = :que
|
ActiveJob::Base.queue_adapter = :que
|
||||||
que_url = ENV['QUE_DATABASE_URL'] || 'postgres://localhost/active_jobs_que_int_test'
|
que_url = ENV['QUE_DATABASE_URL'] || 'postgres:///active_jobs_que_int_test'
|
||||||
uri = URI.parse(que_url)
|
uri = URI.parse(que_url)
|
||||||
user = uri.user||ENV['USER']
|
user = uri.user||ENV['USER']
|
||||||
pass = uri.password
|
pass = uri.password
|
||||||
db = uri.path[1..-1]
|
db = uri.path[1..-1]
|
||||||
%x{#{"PGPASSWORD=\"#{pass}\"" if pass} psql -c 'drop database "#{db}"' -U #{user} -t template1}
|
%x{#{"PGPASSWORD=\"#{pass}\"" if pass} psql -c 'drop database if exists "#{db}"' -U #{user} -t template1}
|
||||||
%x{#{"PGPASSWORD=\"#{pass}\"" if pass} psql -c 'create database "#{db}"' -U #{user} -t template1}
|
%x{#{"PGPASSWORD=\"#{pass}\"" if pass} psql -c 'create database "#{db}"' -U #{user} -t template1}
|
||||||
Que.connection = Sequel.connect(que_url)
|
Que.connection = Sequel.connect(que_url)
|
||||||
Que.migrate!
|
Que.migrate!
|
||||||
|
|
|
@ -1,12 +1,12 @@
|
||||||
module QueueClassicJobsManager
|
module QueueClassicJobsManager
|
||||||
def setup
|
def setup
|
||||||
ENV['QC_DATABASE_URL'] ||= 'postgres://localhost/active_jobs_qc_int_test'
|
ENV['QC_DATABASE_URL'] ||= 'postgres:///active_jobs_qc_int_test'
|
||||||
ENV['QC_LISTEN_TIME'] = "0.5"
|
ENV['QC_LISTEN_TIME'] = "0.5"
|
||||||
uri = URI.parse(ENV['QC_DATABASE_URL'])
|
uri = URI.parse(ENV['QC_DATABASE_URL'])
|
||||||
user = uri.user||ENV['USER']
|
user = uri.user||ENV['USER']
|
||||||
pass = uri.password
|
pass = uri.password
|
||||||
db = uri.path[1..-1]
|
db = uri.path[1..-1]
|
||||||
%x{#{"PGPASSWORD=\"#{pass}\"" if pass} psql -c 'drop database "#{db}"' -U #{user} -t template1}
|
%x{#{"PGPASSWORD=\"#{pass}\"" if pass} psql -c 'drop database if exists "#{db}"' -U #{user} -t template1}
|
||||||
%x{#{"PGPASSWORD=\"#{pass}\"" if pass} psql -c 'create database "#{db}"' -U #{user} -t template1}
|
%x{#{"PGPASSWORD=\"#{pass}\"" if pass} psql -c 'create database "#{db}"' -U #{user} -t template1}
|
||||||
ActiveJob::Base.queue_adapter = :queue_classic
|
ActiveJob::Base.queue_adapter = :queue_classic
|
||||||
QC::Setup.create
|
QC::Setup.create
|
||||||
|
@ -17,23 +17,11 @@ module QueueClassicJobsManager
|
||||||
|
|
||||||
def clear_jobs
|
def clear_jobs
|
||||||
QC::Queue.new("integration_tests").delete_all
|
QC::Queue.new("integration_tests").delete_all
|
||||||
retried = false
|
|
||||||
rescue => e
|
|
||||||
puts "Got exception while trying to clear jobs: #{e.inspect}"
|
|
||||||
if retried
|
|
||||||
puts "Already retried. Raising exception"
|
|
||||||
raise e
|
|
||||||
else
|
|
||||||
puts "Retrying"
|
|
||||||
retried = true
|
|
||||||
QC::Conn.connection = QC::Conn.connect
|
|
||||||
retry
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
||||||
def start_workers
|
def start_workers
|
||||||
|
QC::Conn.disconnect
|
||||||
@pid = fork do
|
@pid = fork do
|
||||||
QC::Conn.connection = QC::Conn.connect
|
|
||||||
worker = QC::Worker.new(q_name: 'integration_tests')
|
worker = QC::Worker.new(q_name: 'integration_tests')
|
||||||
worker.start
|
worker.start
|
||||||
end
|
end
|
||||||
|
|
|
@ -17,13 +17,15 @@ module ResqueJobsManager
|
||||||
|
|
||||||
def start_workers
|
def start_workers
|
||||||
@resque_thread = Thread.new do
|
@resque_thread = Thread.new do
|
||||||
Resque::Worker.new("integration_tests").work(0.5)
|
w = Resque::Worker.new("integration_tests")
|
||||||
|
w.term_child = true
|
||||||
|
w.work(0.5)
|
||||||
end
|
end
|
||||||
@scheduler_thread = Thread.new do
|
@scheduler_thread = Thread.new do
|
||||||
Resque::Scheduler.configure do |c|
|
Resque::Scheduler.configure do |c|
|
||||||
c.poll_sleep_amount = 0.5
|
c.poll_sleep_amount = 0.5
|
||||||
c.dynamic = true
|
c.dynamic = true
|
||||||
c.verbose = true
|
c.quiet = true
|
||||||
c.logfile = nil
|
c.logfile = nil
|
||||||
end
|
end
|
||||||
Resque::Scheduler.master_lock.release!
|
Resque::Scheduler.master_lock.release!
|
||||||
|
|
|
@ -29,7 +29,6 @@ module SidekiqJobsManager
|
||||||
"--concurrency", "1",
|
"--concurrency", "1",
|
||||||
"--timeout", "1",
|
"--timeout", "1",
|
||||||
"--daemon",
|
"--daemon",
|
||||||
"--verbose"
|
|
||||||
])
|
])
|
||||||
require 'celluloid'
|
require 'celluloid'
|
||||||
require 'sidekiq/scheduled'
|
require 'sidekiq/scheduled'
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
module SuckerPunchJobsManager
|
module SuckerPunchJobsManager
|
||||||
def setup
|
def setup
|
||||||
ActiveJob::Base.queue_adapter = :sucker_punch
|
ActiveJob::Base.queue_adapter = :sucker_punch
|
||||||
|
SuckerPunch.logger = nil
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
if ENV['AJADAPTER'] == 'delayed_job'
|
if ENV['AJADAPTER'] == 'delayed_job'
|
||||||
generate "delayed_job:active_record"
|
generate "delayed_job:active_record", "--quiet"
|
||||||
rake("db:migrate")
|
rake("db:migrate")
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,4 @@
|
||||||
puts "\n\n"
|
puts "*** rake aj:integration:#{ENV['AJADAPTER']} ***\n"
|
||||||
puts "*** Running integration tests for #{ENV['AJADAPTER']} ***"
|
|
||||||
puts "\n\n"
|
|
||||||
|
|
||||||
ENV["RAILS_ENV"] = "test"
|
ENV["RAILS_ENV"] = "test"
|
||||||
ActiveJob::Base.queue_name_prefix = nil
|
ActiveJob::Base.queue_name_prefix = nil
|
||||||
|
@ -10,7 +8,7 @@ require 'rails/generators/rails/app/app_generator'
|
||||||
dummy_app_path = Dir.mktmpdir + "/dummy"
|
dummy_app_path = Dir.mktmpdir + "/dummy"
|
||||||
dummy_app_template = File.expand_path("../dummy_app_template.rb", __FILE__)
|
dummy_app_template = File.expand_path("../dummy_app_template.rb", __FILE__)
|
||||||
args = Rails::Generators::ARGVScrubber.new(["new", dummy_app_path, "--skip-gemfile", "--skip-bundle",
|
args = Rails::Generators::ARGVScrubber.new(["new", dummy_app_path, "--skip-gemfile", "--skip-bundle",
|
||||||
"--skip-git", "--skip-spring", "-d", "sqlite3", "--skip-javascript", "--force", "--quite",
|
"--skip-git", "--skip-spring", "-d", "sqlite3", "--skip-javascript", "--force", "--quiet",
|
||||||
"--template", dummy_app_template]).prepare!
|
"--template", dummy_app_template]).prepare!
|
||||||
Rails::Generators::AppGenerator.start args
|
Rails::Generators::AppGenerator.start args
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue