From 4891d33e2a6dda7b91d3585f8fa36397ec5286a4 Mon Sep 17 00:00:00 2001 From: Marian Beermann Date: Tue, 12 Jul 2016 16:45:20 +0200 Subject: [PATCH] test_atime: detect O_NOATIME support by checking atime and flags --- borg/testsuite/archiver.py | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/borg/testsuite/archiver.py b/borg/testsuite/archiver.py index 0ec78587f..e523e7233 100644 --- a/borg/testsuite/archiver.py +++ b/borg/testsuite/archiver.py @@ -363,14 +363,20 @@ class ArchiverTestCase(ArchiverTestCaseBase): self.assert_equal(filter(info_output), filter(info_output2)) def test_atime(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.create_test_files() atime, mtime = 123456780, 234567890 - try: - os.close(os.open('input/file1', flags_noatime)) - except PermissionError: - have_noatime = False - else: - have_noatime = (flags_noatime != flags_normal and sys.platform != 'gnu0') + have_noatime = has_noatime('input/file1') os.utime('input/file1', (atime, mtime)) self.cmd('init', self.repository_location) self.cmd('create', self.repository_location + '::test', 'input')