summaryrefslogtreecommitdiff
path: root/test/ruby/test_signal.rb
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-03-02 04:04:30 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-03-02 04:04:30 +0000
commit76d1d5269f72e72e8fb39877bb1850aca823158d (patch)
tree893db691c0b42bfb7d8643ed8b4929123c5df741 /test/ruby/test_signal.rb
parentba536e41549f694d5c7434edb967ee571b2161c2 (diff)
signal.c: nil for invalid signum
* signal.c (sig_signame): return nil if the argument is a valid signal number. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49801 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/ruby/test_signal.rb')
-rw-r--r--test/ruby/test_signal.rb9
1 files changed, 9 insertions, 0 deletions
diff --git a/test/ruby/test_signal.rb b/test/ruby/test_signal.rb
index 4a59aa66c8..781045d30a 100644
--- a/test/ruby/test_signal.rb
+++ b/test/ruby/test_signal.rb
@@ -218,6 +218,15 @@ class TestSignal < Test::Unit::TestCase
end
def test_signame
+ Signal.list.each do |name, num|
+ assert_equal(num, Signal.list[Signal.signame(num)], name)
+ end
+ assert_nil(Signal.signame(-1))
+ signums = Signal.list.invert
+ assert_nil(Signal.signame((1..1000).find {|num| !signums[num]}))
+ end
+
+ def test_signame_delivered
10.times do
IO.popen([EnvUtil.rubybin, "-e", <<EOS, :err => File::NULL]) do |child|
Signal.trap("INT") do |signo|