aboutsummaryrefslogtreecommitdiffstats
path: root/test/fileutils/fileasserts.rb
diff options
context:
space:
mode:
Diffstat (limited to 'test/fileutils/fileasserts.rb')
-rw-r--r--test/fileutils/fileasserts.rb19
1 files changed, 18 insertions, 1 deletions
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