diff options
Diffstat (limited to 'ruby_1_8_6/test/ruby/test_signal.rb')
-rw-r--r-- | ruby_1_8_6/test/ruby/test_signal.rb | 68 |
1 files changed, 0 insertions, 68 deletions
diff --git a/ruby_1_8_6/test/ruby/test_signal.rb b/ruby_1_8_6/test/ruby/test_signal.rb deleted file mode 100644 index 43e16b8c79..0000000000 --- a/ruby_1_8_6/test/ruby/test_signal.rb +++ /dev/null @@ -1,68 +0,0 @@ -require 'test/unit' -require 'timeout' - -class TestSignal < Test::Unit::TestCase - def have_fork? - begin - fork{} - true - rescue NotImplementedError - false - end - end - - def test_signal - defined?(Process.kill) or return - begin - $x = 0 - oldtrap = trap "SIGINT", proc{|sig| $x = 2} - Process.kill "SIGINT", $$ - sleep 0.1 - assert_equal(2, $x) - - trap "SIGINT", proc{raise "Interrupt"} - - x = assert_raises(RuntimeError) do - Process.kill "SIGINT", $$ - sleep 0.1 - end - assert(x) - assert_match(/Interrupt/, x.message) - ensure - trap "SIGINT", oldtrap - end - end - - def test_exit_action - return unless have_fork? # snip this test - begin - r, w = IO.pipe - r0, w0 = IO.pipe - pid = fork { - trap(:USR1, "EXIT") - w0.close - w.syswrite("a") - Thread.start { Thread.pass } - r0.sysread(4096) - } - r.sysread(1) - sleep 0.1 - assert_nothing_raised("[ruby-dev:26128]") { - Process.kill(:USR1, pid) - begin - Timeout.timeout(10) { - Process.waitpid pid - } - rescue Timeout::Error - Process.kill(:TERM, pid) - raise - end - } - ensure - r.close - w.close - r0.close - w0.close - end - end -end |