From 36304b736bc4538bce84819ea79366fd610ca095 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marco=20Trevisan=20=28Trevi=C3=B1o=29?= Date: Wed, 27 Jan 2021 15:02:17 +0100 Subject: [PATCH] tests/virtual-device: Properly handle exceptions on enroll callback We need to get them back to the caller function to be caught by the test suite. --- tests/virtual-device.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/tests/virtual-device.py b/tests/virtual-device.py index dea25ebc..949a6c99 100644 --- a/tests/virtual-device.py +++ b/tests/virtual-device.py @@ -156,7 +156,10 @@ class VirtualDevice(unittest.TestCase): def done_cb(dev, res): print("Enroll done") - self._enrolled = dev.enroll_finish(res) + try: + self._enrolled = dev.enroll_finish(res) + except Exception as e: + self._enrolled = e self._enroll_stage = -1 def progress_cb(dev, stage, pnt, data, error): @@ -172,6 +175,9 @@ class VirtualDevice(unittest.TestCase): if self._enroll_stage < 0 and not self._enrolled: return True + if isinstance(self._enrolled, Exception): + raise(self._enrolled) + nonlocal retries self.assertLessEqual(self._enroll_stage, self.dev.get_nr_enroll_stages()) if should_retry and retries > retry_scan: