From b46aba6fb25eaa181a728d3dc172b296febe93e7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marco=20Trevisan=20=28Trevi=C3=B1o=29?= Date: Wed, 27 Jan 2021 17:50:49 +0100 Subject: [PATCH] tests/fprintd: Ensure stored print deletion error has higher prio than device error --- tests/fprintd.py | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/tests/fprintd.py b/tests/fprintd.py index 07d3f46..8c8fe74 100644 --- a/tests/fprintd.py +++ b/tests/fprintd.py @@ -70,6 +70,7 @@ def get_timeout(topic='default'): vals = { 'valgrind': { 'test': 300, + 'device_sleep': 600, 'default': 20, 'daemon_start': 60, 'daemon_stop': 10, @@ -77,11 +78,13 @@ def get_timeout(topic='default'): 'asan': { 'test': 120, 'default': 6, + 'device_sleep': 400, 'daemon_start': 10, 'daemon_stop': 8, }, 'default': { 'test': 60, + 'device_sleep': 100, 'default': 3, 'daemon_start': 5, 'daemon_stop': 2, @@ -2246,6 +2249,49 @@ class FPrintdVirtualDeviceStorageClaimedTest(FPrintdVirtualStorageDeviceBaseTest with self.assertFprintError('PrintsNotDeletedFromDevice'): self.device.DeleteEnrolledFinger('(s)', 'left-thumb') + def test_delete_enrolled_fingers_storage_error_has_higher_priority(self): + self.enroll_print('deleted-print', finger='left-thumb') + self.send_sleep(get_timeout('device_sleep')) + self.send_error(FPrint.DeviceError.BUSY) + + self.call_device_method_async('DeleteEnrolledFingers', '(s)', ['testuser']) + self.wait_for_result(max_wait=10) + self.assertFalse(self.get_all_async_replies()) + + self.set_print_not_writable('testuser', FPrint.Finger.LEFT_THUMB) + + with self.assertFprintError('PrintsNotDeleted'): + self.wait_for_device_reply() + + def test_delete_enrolled_fingers2_storage_error_has_higher_priority(self): + self.enroll_print('deleted-print', finger='left-thumb') + self.send_sleep(get_timeout('device_sleep')) + self.send_error(FPrint.DeviceError.BUSY) + + self.call_device_method_async('DeleteEnrolledFingers2', '()', []) + self.wait_for_result(max_wait=10) + self.assertFalse(self.get_all_async_replies()) + + self.set_print_not_writable('testuser', FPrint.Finger.LEFT_THUMB) + + with self.assertFprintError('PrintsNotDeleted'): + self.wait_for_device_reply() + + def test_delete_enrolled_finger_storage_error_has_higher_priority(self): + self.enroll_print('deleted-print', finger='left-thumb') + self.send_sleep(get_timeout('device_sleep')) + self.send_error(FPrint.DeviceError.BUSY) + + self.call_device_method_async('DeleteEnrolledFinger', '(s)', ['left-thumb']) + self.wait_for_result(max_wait=10) + self.assertFalse(self.get_all_async_replies()) + + self.set_print_not_writable('testuser', FPrint.Finger.LEFT_THUMB) + + with self.assertFprintError('PrintsNotDeleted'): + self.wait_for_device_reply() + + class FPrintdVirtualDeviceVerificationTests(FPrintdVirtualDeviceBaseTest): @classmethod