mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
27 lines
483 B
Ruby
27 lines
483 B
Ruby
|
require 'test/unit'
|
||
|
|
||
|
$KCODE = 'none'
|
||
|
|
||
|
class TestSignal < Test::Unit::TestCase
|
||
|
def test_signal
|
||
|
if defined? Process.kill
|
||
|
$x = 0
|
||
|
trap "SIGINT", proc{|sig| $x = 2}
|
||
|
Process.kill "SIGINT", $$
|
||
|
sleep 0.1
|
||
|
assert($x == 2)
|
||
|
|
||
|
trap "SIGINT", proc{raise "Interrupt"}
|
||
|
|
||
|
x = false
|
||
|
begin
|
||
|
Process.kill "SIGINT", $$
|
||
|
sleep 0.1
|
||
|
rescue
|
||
|
x = $!
|
||
|
end
|
||
|
assert(x && /Interrupt/ =~ x.message)
|
||
|
end
|
||
|
end
|
||
|
end
|