From 19853fc49b20626052d6cc92dbd7b08ecce03039 Mon Sep 17 00:00:00 2001 From: akr Date: Wed, 15 Jun 2011 03:36:57 +0000 Subject: * test/ruby/test_io.rb (test_copy_stream_socket): wait a child process before SIGUSR1 handler is removed. * test/pathname/test_pathname.rb (define_assertion): use line number for test method names. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32099 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 8 ++++++++ test/pathname/test_pathname.rb | 32 +++++++++++++++++++------------- test/ruby/test_io.rb | 29 ++++++++++++++++------------- 3 files changed, 43 insertions(+), 26 deletions(-) diff --git a/ChangeLog b/ChangeLog index 83b4d8b32b..e1a9686465 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +Wed Jun 15 12:35:11 2011 Tanaka Akira + + * test/ruby/test_io.rb (test_copy_stream_socket): wait a child process + before SIGUSR1 handler is removed. + + * test/pathname/test_pathname.rb (define_assertion): use line number + for test method names. + Wed Jun 15 10:37:43 2011 NARUSE, Yui * file.c (rb_stat_rdev): use DEVT2NUM. diff --git a/test/pathname/test_pathname.rb b/test/pathname/test_pathname.rb index 8f2445eacd..ac9b415022 100644 --- a/test/pathname/test_pathname.rb +++ b/test/pathname/test_pathname.rb @@ -10,15 +10,21 @@ require 'enumerator' require_relative '../ruby/envutil' class TestPathname < Test::Unit::TestCase - def self.define_assertion(name, &block) - @defassert_num ||= {} - @defassert_num[name] ||= 0 - @defassert_num[name] += 1 - define_method("test_#{name}_#{@defassert_num[name]}", &block) + def self.define_assertion(name, linenum, &block) + name = "test_#{name}_#{linenum}" + define_method(name, &block) + end + + def self.get_linenum + if /:(\d+):/ =~ caller[1] + $1.to_i + else + nil + end end def self.defassert(name, result, *args) - define_assertion(name) { + define_assertion(name, get_linenum) { mesg = "#{name}(#{args.map {|a| a.inspect }.join(', ')})" assert_nothing_raised(mesg) { assert_equal(result, self.send(name, *args), mesg) @@ -26,6 +32,13 @@ class TestPathname < Test::Unit::TestCase } end + def self.defassert_raise(name, exc, *args) + define_assertion(name, get_linenum) { + message = "#{name}(#{args.map {|a| a.inspect }.join(', ')})" + assert_raise(exc, message) { self.send(name, *args) } + } + end + DOSISH = File::ALT_SEPARATOR != nil DOSISH_DRIVE_LETTER = File.dirname("A:") == "A:." DOSISH_UNC = File.dirname("//") == "//" @@ -294,13 +307,6 @@ class TestPathname < Test::Unit::TestCase defassert(:relative_path_from, "a", "a", "b/..") defassert(:relative_path_from, "b/c", "b/c", "b/..") - def self.defassert_raise(name, exc, *args) - define_assertion(name) { - message = "#{name}(#{args.map {|a| a.inspect }.join(', ')})" - assert_raise(exc, message) { self.send(name, *args) } - } - end - defassert_raise(:relative_path_from, ArgumentError, "/", ".") defassert_raise(:relative_path_from, ArgumentError, ".", "/") defassert_raise(:relative_path_from, ArgumentError, "a", "..") diff --git a/test/ruby/test_io.rb b/test/ruby/test_io.rb index 0a100b1457..fba0800499 100644 --- a/test/ruby/test_io.rb +++ b/test/ruby/test_io.rb @@ -82,8 +82,8 @@ class TestIO < Test::Unit::TestCase @usr1_rcvd = 0 trap(:USR1) { @usr1_rcvd += 1 } yield - ensure - trap(:USR1, "DEFAULT") + ensure + trap(:USR1, "DEFAULT") end def test_pipe @@ -610,19 +610,22 @@ class TestIO < Test::Unit::TestCase end trapping_usr1 do nr = 10 - pid = fork do + begin + pid = fork do + s1.close + IO.select([s2]) + Process.kill(:USR1, Process.ppid) + s2.read + end + s2.close + nr.times do + assert_equal megacontent.bytesize, IO.copy_stream("megasrc", s1) + end + assert_equal(1, @usr1_rcvd) s1.close - IO.select([s2]) - Process.kill(:USR1, Process.ppid) - s2.read - end - s2.close - nr.times do - assert_equal megacontent.bytesize, IO.copy_stream("megasrc", s1) + ensure + _, status = Process.waitpid2(pid) if pid end - assert_equal(1, @usr1_rcvd) - s1.close - _, status = Process.waitpid2(pid) assert status.success?, status.inspect end } -- cgit v1.2.3