summaryrefslogtreecommitdiff
path: root/ruby_1_8_5/test/ruby/test_signal.rb
diff options
context:
space:
mode:
authorshyouhei <shyouhei@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-08-15 20:57:30 +0000
committershyouhei <shyouhei@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-08-15 20:57:30 +0000
commit54ec1c4fe81672ca66f327ef6ae170f458cd79e5 (patch)
tree45a752c60a9a08d681a792b70f43c89903b638a2 /ruby_1_8_5/test/ruby/test_signal.rb
parentd464704f111d211c1f1ff9ef23ef1d755054be00 (diff)
sorry. I made wrong tags.v1_8_5_54
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/tags/v1_8_5_54@13009 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ruby_1_8_5/test/ruby/test_signal.rb')
-rw-r--r--ruby_1_8_5/test/ruby/test_signal.rb68
1 files changed, 0 insertions, 68 deletions
diff --git a/ruby_1_8_5/test/ruby/test_signal.rb b/ruby_1_8_5/test/ruby/test_signal.rb
deleted file mode 100644
index 43e16b8c79..0000000000
--- a/ruby_1_8_5/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