diff --git a/test/dummy/app/jobs/infinite_recursion_job.rb b/test/dummy/app/jobs/infinite_recursion_job.rb index ee008e7e..cb5165c6 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 => e + raise ExpectedTestError, "stack level too deep", e.backtrace 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