diff --git a/tests/meson.build b/tests/meson.build index f15bd8a..291d806 100644 --- a/tests/meson.build +++ b/tests/meson.build @@ -209,6 +209,7 @@ if valgrind.found() timeout_multiplier: 10, env: [ 'G_SLICE=always-malloc', + 'UNDER_VALGRIND=1', ('LIBFPRINT_TEST_WRAPPER=@0@ --tool=memcheck --leak-check=full ' + '--suppressions=@1@ --suppressions=@2@').format( valgrind.path(), glib_suppressions, python_suppressions) diff --git a/tests/virtual-device.py b/tests/virtual-device.py index 58eb02e..789f385 100644 --- a/tests/virtual-device.py +++ b/tests/virtual-device.py @@ -146,6 +146,11 @@ class VirtualDevice(unittest.TestCase): else: raise Exception('No known type found for {}'.format(obj)) + def send_sleep(self, interval): + self.assertGreater(interval, 0) + multiplier = 5 if 'UNDER_VALGRIND' in os.environ else 1 + self.send_command('SLEEP', interval * multiplier) + def enroll_print(self, nick, finger, username='testuser', retry_scan=-1): self._enrolled = None @@ -357,7 +362,7 @@ class VirtualDevice(unittest.TestCase): self.cancel_verify() def test_finger_status_after_sleep(self): - self.send_command('SLEEP', 10) + self.send_sleep(10) self.start_verify(FPrint.Print.new(self.dev), identify=self.dev.supports_identify()) @@ -495,7 +500,7 @@ class VirtualDevice(unittest.TestCase): self.dev.close_sync() def test_device_sleep(self): - self.send_command('SLEEP', 1500) + self.send_sleep(1500) self.start_verify(FPrint.Print.new(self.dev), identify=self.dev.supports_identify()) @@ -511,7 +516,7 @@ class VirtualDevice(unittest.TestCase): def test_device_sleep_on_cancellation(self): self.send_command('SET_CANCELLATION_ENABLED', int(False)) - self.send_command('SLEEP', 1500) + self.send_sleep(1500) self.send_command('SCAN', 'foo-print') self.start_verify(FPrint.Print.new(self.dev), @@ -529,10 +534,10 @@ class VirtualDevice(unittest.TestCase): def test_device_sleep_before_completing_verify(self): enrolled = self.enroll_print('foo-print', FPrint.Finger.LEFT_RING) - self.send_command('SLEEP', 100) + self.send_sleep(100) self.start_verify(enrolled, identify=self.dev.supports_identify()) self.send_command('SCAN', 'bar-print') - self.send_command('SLEEP', 800) + self.send_sleep(800) while not self._verify_reported: ctx.iteration(False) @@ -555,7 +560,7 @@ class VirtualDevice(unittest.TestCase): except GLib.Error as e: close_res = e - self.send_command('SLEEP', 100) + self.send_sleep(100) self.send_error(FPrint.DeviceError.BUSY) self.dev.close(callback=on_closed) self.wait_timeout(2) @@ -616,7 +621,7 @@ class VirtualDeviceStorage(VirtualDevice): except GLib.Error as e: deleted_res = e - self.send_command('SLEEP', 100) + self.send_sleep(100) self.send_error(FPrint.DeviceError.DATA_NOT_FOUND) self.dev.delete_print(FPrint.Print.new(self.dev), callback=on_deleted) self.wait_timeout(2) @@ -637,7 +642,7 @@ class VirtualDeviceStorage(VirtualDevice): except GLib.Error as e: list_res = e - self.send_command('SLEEP', 100) + self.send_sleep(100) self.send_error(FPrint.DeviceError.BUSY) self.dev.list_prints(callback=on_listed) self.wait_timeout(2)