summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog8
-rw-r--r--test/pathname/test_pathname.rb32
-rw-r--r--test/ruby/test_io.rb29
3 files changed, 43 insertions, 26 deletions
diff --git a/ChangeLog b/ChangeLog
index 83b4d8b..e1a9686 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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.
diff --git a/test/pathname/test_pathname.rb b/test/pathname/test_pathname.rb
index 8f2445e..ac9b415 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 0a100b1..fba0800 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
}