From 76d1d5269f72e72e8fb39877bb1850aca823158d Mon Sep 17 00:00:00 2001 From: nobu Date: Mon, 2 Mar 2015 04:04:30 +0000 Subject: 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 --- test/ruby/test_signal.rb | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'test/ruby') 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", < File::NULL]) do |child| Signal.trap("INT") do |signo| -- cgit v1.2.3