On my Fedora 31 system, this currently fails because the test
expects the file mode bits to be printed as "-rw-r--r--" but
I get "-rw-r--r--." instead, perhaps due to selinux.
Fix this to use stat --format instead to extract the bits we
want to check here (user, group, mode, timestamp).
While at it, I noticed that this test has some confusion with
timezones and only worked because 'ls -l' doesn't show the
time in this case since the file is so old. Fix that by making
_everything_ here use UTC, instead of just some parts.
Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
print strftime('%Y-%m-%d-%H%M%S', localtime($secs))"
}
+export TZ=UTC
+
WVPASS bup init
WVPASS cd "$tmpdir"
WVSTART "extended metadata"
WVPASS bup fuse --meta mnt
-result=$(TZ=UTC LC_ALL=C WVPASS ls -l mnt/src/latest/) || exit $?
readonly user=$(WVPASS id -un) || $?
readonly group=$(WVPASS id -gn) || $?
-WVPASSEQ "$result" "total 1
--rw-r--r-- 1 $user $group 8 Nov 11 2011 foo
--rw-r--r-- 1 $user $group 8 Jan 1 1970 pre-epoch"
+result="$(stat --format='%A %U %G %x' mnt/src/latest/foo)"
+WVPASSEQ "$result" "-rw-r--r-- $user $group 2011-11-11 11:11:00.000000000 +0000"
+result="$(stat --format='%A %U %G %x' mnt/src/latest/pre-epoch)"
+WVPASSEQ "$result" "-rw-r--r-- $user $group 1970-01-01 00:00:00.000000000 +0000"
WVPASS fusermount -uz mnt
WVPASS rm -rf "$tmpdir"