From b312a5e54098117726535934844a5323a2de56b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marco=20Trevisan=20=28Trevi=C3=B1o=29?= Date: Mon, 10 Feb 2020 17:22:50 +0100 Subject: [PATCH] device: Return 'enroll-failed' on cancelled enrollment We were returning an 'enroll-unknown-error' while we actually know what happened, so better to return a soft operation failure. --- src/device.c | 2 ++ tests/fprintd.py | 7 +++++++ 2 files changed, 9 insertions(+) diff --git a/src/device.c b/src/device.c index 5237bd6..68a0143 100644 --- a/src/device.c +++ b/src/device.c @@ -381,6 +381,8 @@ enroll_result_to_name (gboolean completed, gboolean enrolled, GError *error) return "enroll-disconnected"; else if (g_error_matches (error, FP_DEVICE_ERROR, FP_DEVICE_ERROR_DATA_FULL)) return "enroll-data-full"; + else if (g_error_matches (error, G_IO_ERROR, G_IO_ERROR_CANCELLED)) + return "enroll-failed"; return "enroll-unknown-error"; } diff --git a/tests/fprintd.py b/tests/fprintd.py index f398c99..1883f0d 100755 --- a/tests/fprintd.py +++ b/tests/fprintd.py @@ -521,6 +521,13 @@ class FPrintdVirtualDeviceTest(FPrintdTest): self.device.Release() + def test_enroll_stop_cancels(self): + self.device.Claim('(s)', 'testuser') + self.device.EnrollStart('(s)', 'left-index-finger') + self.device.EnrollStop() + self.wait_for_result(expected='enroll-failed') + + if __name__ == '__main__': if len(sys.argv) == 2 and sys.argv[1] == "list-tests": for machine, human in list_tests():