X-Git-Url: http://git.annexia.org/?a=blobdiff_plain;f=fuse%2Ftest-fuse.sh;h=dfc944dd9f015ff85c95f7b3f2847089b6a650e5;hb=b83dc098ab79b99ae647cae38ac77b8c8f259321;hp=fffd851f021bfa727dbd3743d11fedd67a4cdc96;hpb=5c2da21b2ae56adc16bbd5bf9740a04ca70f9f19;p=libguestfs.git diff --git a/fuse/test-fuse.sh b/fuse/test-fuse.sh index fffd851..dfc944d 100755 --- a/fuse/test-fuse.sh +++ b/fuse/test-fuse.sh @@ -1,6 +1,6 @@ #!/bin/bash - # libguestfs -# Copyright (C) 2009 Red Hat Inc. +# Copyright (C) 2009-2011 Red Hat Inc. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -69,8 +69,8 @@ function cleanup () # you from unmounting it! Hence the need for this loop. count=10 while ! fusermount -u "$mp" && [ $count -gt 0 ]; do - sleep 1 - ((count--)) + sleep 1 + ((count--)) done rm -f "$image" @@ -86,20 +86,29 @@ function stage () ((s++)) } -stage Create filesystem with some inital content +stage Create filesystem with some initial content $guestfish < /dev/null EOF stage Mounting the filesystem -$guestmount -a "$image" -m /dev/sda1 "$mp" +$guestmount \ + -a "$image" -m /dev/sda1 \ + -o uid="$(id -u)" -o gid="$(id -g)" "$mp" +# To debug guestmount, add this to the end of the preceding command: +# -v -x & sleep 60 stage Changing into mounted directory cd "$mp" @@ -195,17 +204,29 @@ truncate -c -s 0 truncated [ "$(stat -c %s truncated)" -eq 0 ] rm -f truncated -stage Checking utimens and timestamps -for ts in 12345 1234567 987654321; do - # NB: It's not possible to set the ctime with touch. - touch -a -d @$ts timestamp - [ "$(stat -c %X timestamp)" -eq $ts ] - touch -m -d @$ts timestamp - [ "$(stat -c %Y timestamp)" -eq $ts ] - touch -d @$ts timestamp - [ "$(stat -c %X timestamp)" -eq $ts ] - [ "$(stat -c %Y timestamp)" -eq $ts ] -done +# Disabled because of RHBZ#660687 on Debian. +# stage Checking utimens and timestamps +# for ts in 12345 1234567 987654321; do +# # NB: It's not possible to set the ctime with touch. +# touch -a -d @$ts timestamp +# [ "$(stat -c %X timestamp)" -eq $ts ] +# touch -m -d @$ts timestamp +# [ "$(stat -c %Y timestamp)" -eq $ts ] +# touch -d @$ts timestamp +# [ "$(stat -c %X timestamp)" -eq $ts ] +# [ "$(stat -c %Y timestamp)" -eq $ts ] +# done + +stage Checking writes +cp hello.txt copy.txt +echo >> copy.txt +echo world >> copy.txt +echo bigger >> copy.txt +echo biggest >> copy.txt +[ "$(cat copy.txt)" = "hello +world +bigger +biggest" ] # These ones are not yet tested by the current script: #stage XXX statfs/statvfs