summaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2005-06-03 14:39:15 +0000
committerakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2005-06-03 14:39:15 +0000
commit88babbed551c94dbf4d4da6effb68029e4f66a23 (patch)
tree196649d51b10f3c195e4605dbd11ffd0c732790d /test
parent9579d87a23a6e774d7721fb1a06b9ee79bb71577 (diff)
downloadruby-88babbed551c94dbf4d4da6effb68029e4f66a23.tar.gz
ruby-88babbed551c94dbf4d4da6effb68029e4f66a23.tar.xz
ruby-88babbed551c94dbf4d4da6effb68029e4f66a23.zip
add a test for [ruby-dev:26128].
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@8553 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test')
-rw-r--r--test/ruby/test_signal.rb23
1 files changed, 23 insertions, 0 deletions
diff --git a/test/ruby/test_signal.rb b/test/ruby/test_signal.rb
index d212f9fcc..7a75f57fb 100644
--- a/test/ruby/test_signal.rb
+++ b/test/ruby/test_signal.rb
@@ -1,4 +1,5 @@
require 'test/unit'
+require 'timeout'
class TestSignal < Test::Unit::TestCase
def test_signal
@@ -22,4 +23,26 @@ class TestSignal < Test::Unit::TestCase
trap "SIGINT", oldtrap
end
end
+
+ def test_exit_action
+ begin
+ r, w = IO.pipe
+ pid = fork {
+ r0, w0 = IO.pipe
+ trap(:USR1, "EXIT")
+ Thread.start { Thread.pass }
+ r0.sysread(4096)
+ }
+ sleep 0.1
+ assert_nothing_raised("[ruby-dev:26128]") {
+ Process.kill(:USR1, pid)
+ Timeout.timeout(1) {
+ Process.waitpid pid
+ }
+ }
+ ensure
+ r.close
+ w.close
+ end
+ end
end