diff options
author | Nobuyoshi Nakada <nobu@ruby-lang.org> | 2023-10-18 19:50:17 +0900 |
---|---|---|
committer | Nobuyoshi Nakada <nobu@ruby-lang.org> | 2023-10-18 23:41:23 +0900 |
commit | 4f4016497e12af1b1a227bf0f7ff5e6b6e6f92ec (patch) | |
tree | 8edcda0f3d00f2dc31edb5977cd94b2b955799a9 /tool | |
parent | 9c973f9555c2ccfb7f7637bde08a5261baad0e05 (diff) | |
download | ruby-4f4016497e12af1b1a227bf0f7ff5e6b6e6f92ec.tar.gz |
Handle `Timeout::Error` reported from workers
Diffstat (limited to 'tool')
-rw-r--r-- | tool/lib/test/unit.rb | 2 | ||||
-rw-r--r-- | tool/test/testunit/test4test_timeout.rb | 15 | ||||
-rw-r--r-- | tool/test/testunit/test_timeout.rb | 10 |
3 files changed, 26 insertions, 1 deletions
diff --git a/tool/lib/test/unit.rb b/tool/lib/test/unit.rb index ecb7edd29f..4dc4392fc0 100644 --- a/tool/lib/test/unit.rb +++ b/tool/lib/test/unit.rb @@ -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) diff --git a/tool/test/testunit/test4test_timeout.rb b/tool/test/testunit/test4test_timeout.rb new file mode 100644 index 0000000000..3225f66398 --- /dev/null +++ b/tool/test/testunit/test4test_timeout.rb @@ -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 diff --git a/tool/test/testunit/test_timeout.rb b/tool/test/testunit/test_timeout.rb new file mode 100644 index 0000000000..5864c8e7c5 --- /dev/null +++ b/tool/test/testunit/test_timeout.rb @@ -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 |