diff options
author | Martin Pärtel <martin.partel@gmail.com> | 2013-09-23 23:57:51 +0300 |
---|---|---|
committer | Martin Pärtel <martin.partel@gmail.com> | 2013-09-23 23:57:51 +0300 |
commit | 189a8d53fa68f0a630ce671fa2ddcccc15588441 (patch) | |
tree | f6ce7d0ee23a14d08df8d3a8f18030b69f00bebd /tests/test_bindfs.rb | |
parent | e17adbb805c7363b8e6a18fe49d4269a94d4c8b8 (diff) | |
download | bindfs-189a8d53fa68f0a630ce671fa2ddcccc15588441.tar.gz |
Implement fuse_utimens instead of fuse_utime.
Fixes utime'ing symlinks.
Seems to also fix an attribute caching problem.
Diffstat (limited to 'tests/test_bindfs.rb')
-rwxr-xr-x | tests/test_bindfs.rb | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/tests/test_bindfs.rb b/tests/test_bindfs.rb index f8a9d89..6e95020 100755 --- a/tests/test_bindfs.rb +++ b/tests/test_bindfs.rb @@ -371,6 +371,21 @@ root_testenv("", :title => "setgid directories") do assert { File.stat('mnt/dir/file').gid == $nogroup_gid } end +root_testenv("", :title => "utimens on symlinks") do + touch('mnt/file') + Dir.chdir "mnt" do + system('ln -sf file link') + end + + system("#{$tests_dir}/utimens_nofollow mnt/link 12 34 56 78") + raise "Failed to run utimens_nofollow: #{$?.inspect}" unless $?.success? + + assert { File.lstat('mnt/link').atime.to_i < 100 } + assert { File.lstat('mnt/link').mtime.to_i < 100 } + assert { File.lstat('mnt/file').atime.to_i > 100 } + assert { File.lstat('mnt/file').mtime.to_i > 100 } +end + # FIXME: this stuff around testenv is a hax, and testenv may also exit(), which defeats the 'ensure' below. # the test setup ought to be refactored. It might well use MiniTest or something. if Process.uid == 0 |