diff --git a/test/integration/instrumentation_test.rb b/test/integration/instrumentation_test.rb index 046700d0..4440fe61 100644 --- a/test/integration/instrumentation_test.rb +++ b/test/integration/instrumentation_test.rb @@ -53,7 +53,7 @@ class InstrumentationTest < ActiveSupport::TestCase end test "stopping a worker with claimed executions emits release_claimed events" do - StoreResultJob.perform_later(42, pause: SolidQueue.shutdown_timeout + 100.second) + StoreResultJob.perform_later(42, pause: SolidQueue.shutdown_timeout + 15.seconds) process = nil events = subscribed(/release.*_claimed\.solid_queue/) do @@ -88,7 +88,7 @@ class InstrumentationTest < ActiveSupport::TestCase end test "starting and stopping a worker emits register_process and deregister_process events" do - StoreResultJob.perform_later(42, pause: SolidQueue.shutdown_timeout + 100.second) + StoreResultJob.perform_later(42, pause: SolidQueue.shutdown_timeout + 15.seconds) process = nil events = subscribed(/(register|deregister)_process\.solid_queue/) do diff --git a/test/test_helper.rb b/test/test_helper.rb index 9e743f96..89e8df9f 100644 --- a/test/test_helper.rb +++ b/test/test_helper.rb @@ -30,10 +30,22 @@ class ExpectedTestError < RuntimeError; end class ActiveSupport::TestCase include ConfigurationTestHelper, ProcessesTestHelper, JobsTestHelper + def destroy_records + SolidQueue::Job.destroy_all + SolidQueue::Process.destroy_all + SolidQueue::Semaphore.delete_all + SolidQueue::RecurringTask.delete_all + JobResult.delete_all + end + setup do @_on_thread_error = SolidQueue.on_thread_error SolidQueue.on_thread_error = silent_on_thread_error_for(ExpectedTestError, @_on_thread_error) ActiveJob::QueueAdapters::SolidQueueAdapter.stopping = false + + unless self.class.use_transactional_tests + destroy_records + end end teardown do @@ -45,11 +57,7 @@ class ActiveSupport::TestCase end unless self.class.use_transactional_tests - SolidQueue::Job.destroy_all - SolidQueue::Process.destroy_all - SolidQueue::Semaphore.delete_all - SolidQueue::RecurringTask.delete_all - JobResult.delete_all + destroy_records end end diff --git a/test/unit/scheduler_test.rb b/test/unit/scheduler_test.rb index 9478b9f1..6608b31e 100644 --- a/test/unit/scheduler_test.rb +++ b/test/unit/scheduler_test.rb @@ -24,7 +24,7 @@ class SchedulerTest < ActiveSupport::TestCase end schedulers.each(&:start) - sleep 2 + wait_while_with_timeout(2.5.seconds) { SolidQueue::RecurringExecution.count != 2 } schedulers.each(&:stop) assert_equal SolidQueue::Job.count, SolidQueue::RecurringExecution.count