From 0aea6be751a9d3be8af2730a6e9a8a6d8dd87de2 Mon Sep 17 00:00:00 2001 From: mendespedro Date: Tue, 22 Jul 2025 10:50:48 -0300 Subject: [PATCH 1/2] supressing expected warning for test suite --- test/dummy/app/jobs/infinite_recursion_job.rb | 2 ++ test/models/solid_queue/failed_execution_test.rb | 11 +++++------ 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/test/dummy/app/jobs/infinite_recursion_job.rb b/test/dummy/app/jobs/infinite_recursion_job.rb index ee008e7e..942c07a0 100644 --- a/test/dummy/app/jobs/infinite_recursion_job.rb +++ b/test/dummy/app/jobs/infinite_recursion_job.rb @@ -3,6 +3,8 @@ class InfiniteRecursionJob < ApplicationJob def perform start + rescue SystemStackError + raise ExpectedTestError, "stack level too deep" end private diff --git a/test/models/solid_queue/failed_execution_test.rb b/test/models/solid_queue/failed_execution_test.rb index c2299b8a..fda90e3a 100644 --- a/test/models/solid_queue/failed_execution_test.rb +++ b/test/models/solid_queue/failed_execution_test.rb @@ -15,13 +15,12 @@ class SolidQueue::FailedExecutionTest < ActiveSupport::TestCase end test "run job that fails with a SystemStackError (stack level too deep)" do - silence_on_thread_error_for(SystemStackError) do - InfiniteRecursionJob.perform_later - @worker.start + InfiniteRecursionJob.perform_later + @worker.start - assert_equal 1, SolidQueue::FailedExecution.count - assert SolidQueue::Job.last.failed? - end + assert_equal 1, SolidQueue::FailedExecution.count + assert SolidQueue::Job.last.failed? + assert_equal "stack level too deep", SolidQueue::FailedExecution.last.message end test "retry failed job" do From e70eef1c749e1e0e96bd7719aa7d82baa2ae9be9 Mon Sep 17 00:00:00 2001 From: mendespedro Date: Tue, 22 Jul 2025 16:11:18 -0300 Subject: [PATCH 2/2] passing original backtrace to ExpectedTestError --- test/dummy/app/jobs/infinite_recursion_job.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/dummy/app/jobs/infinite_recursion_job.rb b/test/dummy/app/jobs/infinite_recursion_job.rb index 942c07a0..cb5165c6 100644 --- a/test/dummy/app/jobs/infinite_recursion_job.rb +++ b/test/dummy/app/jobs/infinite_recursion_job.rb @@ -3,8 +3,8 @@ class InfiniteRecursionJob < ApplicationJob def perform start - rescue SystemStackError - raise ExpectedTestError, "stack level too deep" + rescue SystemStackError => e + raise ExpectedTestError, "stack level too deep", e.backtrace end private