github.com/cozy/cozy-stack@v0.0.0-20240603063001-31110fa4cae1/tests/system/lib/test/timeout.rb (about) 1 # Adapted from https://github.com/grosser/maxitest/blob/master/lib/maxitest/timeout.rb 2 # It looks like it is not compatible with pry-rescue 3 require 'minitest' 4 require 'timeout' 5 6 module TestTimeout 7 class << self 8 attr_accessor :timeout 9 end 10 11 class TestCaseTimeout < StandardError 12 def message 13 "Test took too long to finish, aborting." 14 end 15 end 16 17 def run(*, &block) 18 timeout = TestTimeout.timeout || 500 19 begin 20 ::Timeout.timeout(timeout, TestCaseTimeout) { super } 21 rescue TestCaseTimeout => e 22 failures << UnexpectedError.new(e) 23 end 24 end 25 end 26 27 Minitest::Test.send :prepend, TestTimeout