diff options
Diffstat (limited to 'test/ruby/test_file_exhaustive.rb')
-rw-r--r-- | test/ruby/test_file_exhaustive.rb | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/test/ruby/test_file_exhaustive.rb b/test/ruby/test_file_exhaustive.rb index 4c5540eb4c..6f2fbb1bd2 100644 --- a/test/ruby/test_file_exhaustive.rb +++ b/test/ruby/test_file_exhaustive.rb @@ -647,6 +647,36 @@ class TestFileExhaustive < Test::Unit::TestCase assert_equal(t + 2, File.mtime(zerofile)) end + def test_utime_symlinkfile + return unless symlinkfile + t = Time.local(2000) + stat = File.lstat(symlinkfile) + assert_equal(File.utime(t, t, symlinkfile), 1) + assert_equal(File.stat(regular_file).atime, t) + assert_equal(File.stat(regular_file).mtime, t) + assert_equal(File.lstat(symlinkfile).atime, stat.atime) + assert_equal(File.lstat(symlinkfile).mtime, stat.mtime) + end + + def test_lutime + return unless File.respond_to?(:lutime) + return unless symlinkfile + + r = File.stat(regular_file) + t = Time.local(2000) + File.lutime(t + 1, t + 2, symlinkfile) + rescue NotImplementedError => e + skip(e.message) + else + stat = File.stat(regular_file) + assert_equal(r.atime, stat.atime) + assert_equal(r.mtime, stat.mtime) + + stat = File.lstat(symlinkfile) + assert_equal(t + 1, stat.atime) + assert_equal(t + 2, stat.mtime) + end + def test_hardlink return unless hardlinkfile assert_equal("file", File.ftype(hardlinkfile)) |