From 3fe268f6f28583a82cc2cf16d95c17d590d4befd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marco=20Trevisan=20=28Trevi=C3=B1o=29?= Date: Thu, 17 Dec 2020 01:00:54 +0100 Subject: [PATCH] tests/fprintd: Move permissions checks to a single function --- tests/fprintd.py | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/tests/fprintd.py b/tests/fprintd.py index 5ed17c2..6f5ea9e 100755 --- a/tests/fprintd.py +++ b/tests/fprintd.py @@ -297,6 +297,13 @@ class FPrintdTest(dbusmock.DBusTestCase): return self.assertRaisesRegex(GLib.Error, '.*net\.reactivated\.Fprint\.Error\.{}.*'.format(fprint_error)) + def skipTestIfCanWrite(self, path): + try: + os.open(os.path.join(path, "testfile"), os.O_CREAT | os.O_WRONLY) + self.skipTest('Permissions aren\'t respected (CI environment?)') + except PermissionError: + pass + @property def finger_needed(self): return self.device.get_cached_property('finger-needed').unpack() @@ -1236,11 +1243,7 @@ class FPrintdVirtualDeviceClaimedTest(FPrintdVirtualDeviceBaseTest): os.makedirs(self.state_dir, mode=0o500) self.addCleanup(os.chmod, self.state_dir, mode=0o700) - try: - os.open(os.path.join(self.state_dir, "testfile"), os.O_CREAT | os.O_WRONLY) - self.skipTest('Permissions aren\'t respected (CI environment?)') - except PermissionError: - pass + self.skipTestIfCanWrite(self.state_dir) self.enroll_image('whorl', expected_result='enroll-failed') @@ -1249,11 +1252,7 @@ class FPrintdVirtualDeviceClaimedTest(FPrintdVirtualDeviceBaseTest): os.chmod(self.state_dir, mode=0o000) self.addCleanup(os.chmod, self.state_dir, mode=0o700) - try: - os.open(os.path.join(self.state_dir, "testfile"), os.O_CREAT | os.O_WRONLY) - self.skipTest('Permissions aren\'t respected (CI environment?)') - except PermissionError: - pass + self.skipTestIfCanWrite(self.state_dir) with self.assertFprintError('NoEnrolledPrints'): self.device.VerifyStart('(s)', 'any')