Handle `Timeout::Error` reported from workers

This commit is contained in:
Nobuyoshi Nakada 2023-10-18 19:50:17 +09:00
Родитель 9c973f9555
Коммит 4f4016497e
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 3582D74E1FEE4465
3 изменённых файлов: 26 добавлений и 1 удалений

Просмотреть файл

@ -1065,7 +1065,7 @@ module Test
runner.add_status(" = #$1")
when /\A\.+\z/
runner.succeed
when /\A\.*[EFS][EFS.]*\z/
when /\A\.*[EFST][EFST.]*\z/
runner.failed(s)
else
$stdout.print(s)

Просмотреть файл

@ -0,0 +1,15 @@
# frozen_string_literal: true
$LOAD_PATH.unshift "#{File.dirname(__FILE__)}/../../lib"
require 'test/unit'
require 'timeout'
class TestForTestTimeout < Test::Unit::TestCase
10.times do |i|
define_method("test_timeout_#{i}") do
Timeout.timeout(0.001) do
sleep
end
end
end
end

Просмотреть файл

@ -0,0 +1,10 @@
# frozen_string_literal: false
require 'test/unit'
class TestTiemout < Test::Unit::TestCase
def test_timeout
cmd = [*@options[:ruby], "#{File.dirname(__FILE__)}/test4test_timeout.rb"]
result = IO.popen(cmd, err: [:child, :out], &:read)
assert_not_match(/^T{10}$/, result)
end
end