* 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
This commit is contained in:
akr 2011-06-15 03:36:57 +00:00
Родитель 071b8d76f0
Коммит 19853fc49b
3 изменённых файлов: 43 добавлений и 26 удалений

Просмотреть файл

@ -1,3 +1,11 @@
Wed Jun 15 12:35:11 2011 Tanaka Akira <akr@fsij.org>
* 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 <naruse@ruby-lang.org>
* file.c (rb_stat_rdev): use DEVT2NUM.

Просмотреть файл

@ -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", "..")

Просмотреть файл

@ -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
ensure
_, status = Process.waitpid2(pid) if pid
end
s2.close
nr.times do
assert_equal megacontent.bytesize, IO.copy_stream("megasrc", s1)
end
assert_equal(1, @usr1_rcvd)
s1.close
_, status = Process.waitpid2(pid)
assert status.success?, status.inspect
end
}