Skip to content

Commit 0e1e330

Browse files
committed
Increasing timeout gaps in processes_lifecycle_test
1 parent 99ed783 commit 0e1e330

File tree

1 file changed

+12
-7
lines changed

1 file changed

+12
-7
lines changed

test/integration/processes_lifecycle_test.rb

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ class ProcessesLifecycleTest < ActiveSupport::TestCase
5858
signal_process(@pid, :TERM, wait: 0.1.second)
5959
end
6060

61-
sleep(1.second)
61+
wait_while_with_timeout(SolidQueue.shutdown_timeout + 1.second) { process_exists?(@pid) }
6262
assert_clean_termination
6363
end
6464

@@ -121,14 +121,14 @@ class ProcessesLifecycleTest < ActiveSupport::TestCase
121121

122122
test "term supervisor exceeding timeout while there are jobs in-flight" do
123123
no_pause = enqueue_store_result_job("no pause")
124-
pause = enqueue_store_result_job("pause", pause: SolidQueue.shutdown_timeout + 10.second)
124+
pause = enqueue_store_result_job("pause", pause: SolidQueue.shutdown_timeout + 10.seconds)
125125

126126
wait_while_with_timeout(1.second) { SolidQueue::ReadyExecution.count > 1 }
127127

128128
signal_process(@pid, :TERM, wait: 0.5.second)
129129
wait_for_jobs_to_finish_for(2.seconds, except: pause)
130130

131-
wait_while_with_timeout!(SolidQueue.shutdown_timeout + 1.second) { process_exists?(@pid) }
131+
wait_while_with_timeout!(SolidQueue.shutdown_timeout + 5.seconds) { process_exists?(@pid) }
132132
assert_not process_exists?(@pid)
133133

134134
assert_completed_job_results("no pause")
@@ -170,10 +170,13 @@ class ProcessesLifecycleTest < ActiveSupport::TestCase
170170
enqueue_store_result_job("no exit", :background)
171171
enqueue_store_result_job("no exit", :default)
172172
end
173-
enqueue_store_result_job("paused no exit", :default, pause: 0.5)
174-
exit_job = enqueue_store_result_job("exit", :background, exit_value: 1, pause: 0.2)
175-
pause_job = enqueue_store_result_job("exit", :background, pause: 0.3)
173+
enqueue_store_result_job("paused no exit", :default, pause: 0.5.second)
174+
# the worker for :background queue will exit abnormally
175+
exit_job = enqueue_store_result_job("exit", :background, exit_value: 1, pause: 0.5.second)
176+
# this will run *after* exit_job (pause: 1.second) - should also be marked as failed
177+
pause_job = enqueue_store_result_job("exit", :background, pause: 1.second)
176178

179+
# this will run *before* exit_job (no pause) - should complete normally
177180
2.times { enqueue_store_result_job("no exit", :background) }
178181

179182
wait_for_jobs_to_finish_for(3.seconds, except: [ exit_job, pause_job ])
@@ -228,9 +231,11 @@ class ProcessesLifecycleTest < ActiveSupport::TestCase
228231
end
229232

230233
test "kill worker individually" do
231-
killed_pause = enqueue_store_result_job("killed_pause", pause: 1.second)
234+
killed_pause = enqueue_store_result_job("killed_pause", pause: 2.seconds)
232235
enqueue_store_result_job("pause", :default, pause: 0.5.seconds)
233236

237+
wait_for_jobs_to_finish_for(1.second, except: [ killed_pause ])
238+
234239
worker = find_processes_registered_as("Worker").detect { |process| process.metadata["queues"].include? "background" }
235240
signal_process(worker.pid, :KILL, wait: 0.5.seconds)
236241

0 commit comments

Comments
 (0)