diff options
Diffstat (limited to 'test/-ext-')
-rw-r--r-- | test/-ext-/old_thread_select/test_old_thread_select.rb | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/test/-ext-/old_thread_select/test_old_thread_select.rb b/test/-ext-/old_thread_select/test_old_thread_select.rb index b40f3a429b..b70e1d3862 100644 --- a/test/-ext-/old_thread_select/test_old_thread_select.rb +++ b/test/-ext-/old_thread_select/test_old_thread_select.rb @@ -34,6 +34,20 @@ class TestOldThreadSelect < Test::Unit::TestCase end end + def test_old_select_false_positive + bug5306 = '[ruby-core:39435]' + with_pipe do |r2, w2| + with_pipe do |r, w| + t0 = Time.now + w.syswrite '.' + rfds = [ r.fileno, r2.fileno ] + rc = IO.old_thread_select(rfds, nil, nil, nil) + assert_equal [ r.fileno ], rfds, bug5306 + assert_equal 1, rc, bug5306 + end + end + end + def test_old_select_read_write_check with_pipe do |r, w| w.syswrite('.') |