mirror of
https://github.com/borgbackup/borg.git
synced 2025-02-23 06:31:58 +00:00
fix fuse tests on OS X, fixes #1433
NOATIME support needed checking and the flagfile was UF_NODUMP and thus not there in the backup archive. Note: i have just duplicated the has_noatime function instead of refactoring it to be global, to avoid merge conflicts in case we cherry-pick the test improvements from master.
This commit is contained in:
parent
e5a3229fd2
commit
40163c2e9f
1 changed files with 17 additions and 1 deletions
|
@ -998,10 +998,25 @@ def test_help(self):
|
|||
|
||||
@unittest.skipUnless(has_llfuse, 'llfuse not installed')
|
||||
def test_fuse(self):
|
||||
def has_noatime(some_file):
|
||||
atime_before = os.stat(some_file).st_atime_ns
|
||||
try:
|
||||
os.close(os.open(some_file, flags_noatime))
|
||||
except PermissionError:
|
||||
return False
|
||||
else:
|
||||
atime_after = os.stat(some_file).st_atime_ns
|
||||
noatime_used = flags_noatime != flags_normal
|
||||
return noatime_used and atime_before == atime_after
|
||||
|
||||
self.cmd('init', self.repository_location)
|
||||
self.create_test_files()
|
||||
have_noatime = has_noatime('input/file1')
|
||||
self.cmd('create', self.repository_location + '::archive', 'input')
|
||||
self.cmd('create', self.repository_location + '::archive2', 'input')
|
||||
if has_lchflags:
|
||||
# remove the file we did not backup, so input and mount become equal
|
||||
os.remove(os.path.join('input', 'flagfile'))
|
||||
mountpoint = os.path.join(self.tmpdir, 'mountpoint')
|
||||
# mount the whole repository, archive contents shall show up in archivename subdirs of mountpoint:
|
||||
with self.fuse_mount(self.repository_location, mountpoint):
|
||||
|
@ -1020,6 +1035,7 @@ def test_fuse(self):
|
|||
assert sti1.st_uid == sto1.st_uid
|
||||
assert sti1.st_gid == sto1.st_gid
|
||||
assert sti1.st_size == sto1.st_size
|
||||
if have_noatime:
|
||||
assert sti1.st_atime == sto1.st_atime
|
||||
assert sti1.st_ctime == sto1.st_ctime
|
||||
assert sti1.st_mtime == sto1.st_mtime
|
||||
|
|
Loading…
Reference in a new issue