summaryrefslogtreecommitdiff
path: root/test/-ext-
diff options
context:
space:
mode:
Diffstat (limited to 'test/-ext-')
-rw-r--r--test/-ext-/old_thread_select/test_old_thread_select.rb103
1 files changed, 0 insertions, 103 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
deleted file mode 100644
index 99a0a506bd..0000000000
--- a/test/-ext-/old_thread_select/test_old_thread_select.rb
+++ /dev/null
@@ -1,103 +0,0 @@
-require 'test/unit'
-
-class TestOldThreadSelect < Test::Unit::TestCase
- require '-test-/old_thread_select/old_thread_select'
-
- ANCIENT_LINUX = RUBY_PLATFORM =~ /linux/ && `uname -r`.chomp < '2.6.32'
- DARWIN_10 = RUBY_PLATFORM =~ /darwin10/
- WINDOWS = RUBY_PLATFORM =~ /mswin|mingw/
-
- def with_pipe
- r, w = IO.pipe
- begin
- yield r, w
- ensure
- r.close unless r.closed?
- w.close unless w.closed?
- end
- end
-
- def test_old_select_read_timeout
- with_pipe do |r, w|
- t0 = Time.now
- rc = IO.old_thread_select([r.fileno], nil, nil, 0.001)
- diff = Time.now - t0
- assert_equal 0, rc
- assert_operator diff, :>=, 0.001, "returned too early: diff=#{diff}"
- end
- end unless ANCIENT_LINUX
-
- def test_old_select_error_timeout
- bug5299 = '[ruby-core:39380]'
- with_pipe do |r, w|
- t0 = Time.now
- rc = IO.old_thread_select(nil, nil, [r.fileno], 0.001)
- diff = Time.now - t0
- assert_equal 0, rc, bug5299
- assert_operator diff, :>=, 0.001, "returned too early: diff=#{diff}"
- end
- end unless ANCIENT_LINUX
-
- 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)
- diff = Time.now - t0
- assert_equal [ r.fileno ], rfds, bug5306
- assert_equal 1, rc, bug5306
- assert_operator diff, :>=, 0, "returned too early: diff=#{diff}"
- end
- end
- end
-
- def test_old_select_read_write_check
- with_pipe do |r, w|
- w.syswrite('.')
- rc = IO.old_thread_select([r.fileno], nil, nil, nil)
- assert_equal 1, rc
-
- rc = IO.old_thread_select([r.fileno], [w.fileno], nil, nil)
- assert_equal 2, rc
-
- assert_equal '.', r.read(1)
-
- rc = IO.old_thread_select([r.fileno], [w.fileno], nil, nil)
- assert_equal 1, rc
- end
- end
-
- def test_old_select_signal_safe
- return unless Process.respond_to?(:kill)
- received = false
- trap(:INT) { received = true }
- main = Thread.current
- thr = Thread.new do
- Thread.pass until main.stop?
- Process.kill(:INT, $$)
- true
- end
-
- rc = nil
- diff = nil
- with_pipe do |r,w|
- assert_nothing_raised do
- t0 = Time.now
- rc = IO.old_thread_select([r.fileno], nil, nil, 1)
- diff = Time.now - t0
- end
- end
-
- unless ANCIENT_LINUX || DARWIN_10 || WINDOWS
- assert_operator diff, :>=, 1, "interrupted or short wait: diff=#{diff}"
- end
- assert_equal 0, rc
- assert_equal true, thr.value
- assert_not_equal false, received, "SIGINT not received"
- ensure
- trap(:INT, "DEFAULT")
- end
-end