diff options
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | test/fileutils/fileasserts.rb | 19 |
2 files changed, 24 insertions, 1 deletions
@@ -1,3 +1,9 @@ +Wed Nov 21 16:39:21 2007 Tanaka Akira <akr@fsij.org> + + * test/fileutils/fileasserts.rb (assert_equal_timestamp): new assert + to test tv_sec only for filestamp resolution portability. + (assert_same_entry): use assert_same_entry for mtime comparison. + Wed Nov 21 14:55:13 2007 Koichi Sasada <ko1@atdot.net> * array.c (rb_ary_permutation): add gc guard codes. diff --git a/test/fileutils/fileasserts.rb b/test/fileutils/fileasserts.rb index 9347f6863a..41469a6ac6 100644 --- a/test/fileutils/fileasserts.rb +++ b/test/fileutils/fileasserts.rb @@ -17,7 +17,7 @@ module Test b = File.stat(to) assert_equal a.mode, b.mode, "mode #{a.mode} != #{b.mode}" #assert_equal a.atime, b.atime - assert_equal_time a.mtime, b.mtime, "mtime #{a.mtime} != #{b.mtime}" + assert_equal_timestamp a.mtime, b.mtime, "mtime #{a.mtime} != #{b.mtime}" assert_equal a.uid, b.uid, "uid #{a.uid} != #{b.uid}" assert_equal a.gid, b.gid, "gid #{a.gid} != #{b.gid}" end @@ -78,6 +78,23 @@ EOT } end + def assert_equal_timestamp(expected, actual, message=nil) + _wrap_assertion { + expected_str = expected.to_s + actual_str = actual.to_s + if expected_str == actual_str + expected_str << " (nsec=#{expected.nsec})" + actual_str << " (nsec=#{actual.nsec})" + end + full_message = build_message(message, <<EOT) +<#{expected_str}> expected but was +<#{actual_str}>. +EOT + # subsecond timestamp is not portable. + assert_block(full_message) { expected.tv_sec == actual.tv_sec } + } + end + end end end |