ruby-changes:2501
From: ko1@a...
Date: 21 Nov 2007 16:40:55 +0900
Subject: [ruby-changes:2501] akr - Ruby:r13992 (trunk): * test/fileutils/fileasserts.rb (assert_equal_timestamp): new assert
akr 2007-11-21 16:40:36 +0900 (Wed, 21 Nov 2007) New Revision: 13992 Modified files: trunk/ChangeLog trunk/test/fileutils/fileasserts.rb Log: * 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. http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/ChangeLog?r1=13992&r2=13991 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/test/fileutils/fileasserts.rb?r1=13992&r2=13991 Index: ChangeLog =================================================================== --- ChangeLog (revision 13991) +++ ChangeLog (revision 13992) @@ -1,3 +1,9 @@ +Wed Nov 21 16:39:21 2007 Tanaka Akira <akr@f...> + + * 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@a...> * array.c (rb_ary_permutation): add gc guard codes. Index: test/fileutils/fileasserts.rb =================================================================== --- test/fileutils/fileasserts.rb (revision 13991) +++ test/fileutils/fileasserts.rb (revision 13992) @@ -17,7 +17,7 @@ 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 @@ } 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 -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml