Skip to content

Commit 9652313

Browse files
committed
Attempt to reduce flakiness of scheduler_test
1 parent b61bbdf commit 9652313

File tree

3 files changed

+16
-8
lines changed

3 files changed

+16
-8
lines changed

test/integration/instrumentation_test.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ class InstrumentationTest < ActiveSupport::TestCase
5353
end
5454

5555
test "stopping a worker with claimed executions emits release_claimed events" do
56-
StoreResultJob.perform_later(42, pause: SolidQueue.shutdown_timeout + 100.second)
56+
StoreResultJob.perform_later(42, pause: SolidQueue.shutdown_timeout + 15.seconds)
5757
process = nil
5858

5959
events = subscribed(/release.*_claimed\.solid_queue/) do
@@ -88,7 +88,7 @@ class InstrumentationTest < ActiveSupport::TestCase
8888
end
8989

9090
test "starting and stopping a worker emits register_process and deregister_process events" do
91-
StoreResultJob.perform_later(42, pause: SolidQueue.shutdown_timeout + 100.second)
91+
StoreResultJob.perform_later(42, pause: SolidQueue.shutdown_timeout + 15.seconds)
9292
process = nil
9393

9494
events = subscribed(/(register|deregister)_process\.solid_queue/) do

test/test_helper.rb

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -30,10 +30,22 @@ class ExpectedTestError < RuntimeError; end
3030
class ActiveSupport::TestCase
3131
include ConfigurationTestHelper, ProcessesTestHelper, JobsTestHelper
3232

33+
def destroy_records
34+
SolidQueue::Job.destroy_all
35+
SolidQueue::Process.destroy_all
36+
SolidQueue::Semaphore.delete_all
37+
SolidQueue::RecurringTask.delete_all
38+
JobResult.delete_all
39+
end
40+
3341
setup do
3442
@_on_thread_error = SolidQueue.on_thread_error
3543
SolidQueue.on_thread_error = silent_on_thread_error_for(ExpectedTestError, @_on_thread_error)
3644
ActiveJob::QueueAdapters::SolidQueueAdapter.stopping = false
45+
46+
unless self.class.use_transactional_tests
47+
destroy_records
48+
end
3749
end
3850

3951
teardown do
@@ -45,11 +57,7 @@ class ActiveSupport::TestCase
4557
end
4658

4759
unless self.class.use_transactional_tests
48-
SolidQueue::Job.destroy_all
49-
SolidQueue::Process.destroy_all
50-
SolidQueue::Semaphore.delete_all
51-
SolidQueue::RecurringTask.delete_all
52-
JobResult.delete_all
60+
destroy_records
5361
end
5462
end
5563

test/unit/scheduler_test.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ class SchedulerTest < ActiveSupport::TestCase
2424
end
2525

2626
schedulers.each(&:start)
27-
sleep 2
27+
wait_while_with_timeout(2.5.seconds) { SolidQueue::RecurringExecution.count != 2 }
2828
schedulers.each(&:stop)
2929

3030
assert_equal SolidQueue::Job.count, SolidQueue::RecurringExecution.count

0 commit comments

Comments
 (0)