diff --git a/tests/test_fprintd_utils.py b/tests/test_fprintd_utils.py index de9df50..03b61fe 100755 --- a/tests/test_fprintd_utils.py +++ b/tests/test_fprintd_utils.py @@ -89,8 +89,10 @@ class TestFprintdUtilsBase(dbusmock.DBusTestCase): super().tearDown() def setup_device(self): - device_path = self.obj_fprintd_mock.AddDevice('FDO Trigger Finger Laser Reader', 3, 'swipe') - self.device_mock = self.dbus_con.get_object('net.reactivated.Fprint', device_path) + self.device_path = self.obj_fprintd_mock.AddDevice( + 'FDO Trigger Finger Laser Reader', 3, 'swipe') + self.device_mock = self.dbus_con.get_object('net.reactivated.Fprint', + self.device_path) self.set_enrolled_fingers(['left-little-finger', 'right-little-finger']) def set_enrolled_fingers(self, fingers, user='toto'): @@ -236,6 +238,19 @@ class TestFprintdUtilsVerify(TestFprintdUtilsBase): time.sleep(self.sleep_time) self.assertVerifyMatch(True) + def test_fprintd_verify_any_finger_identification(self): + self.obj_fprintd_mock.RemoveDevice(self.device_path) + self.device_path = self.obj_fprintd_mock.AddDevice('Full powered device', + 3, 'press', True) + self.device_mock = self.dbus_con.get_object('net.reactivated.Fprint', + self.device_path) + self.set_enrolled_fingers(VALID_FINGER_NAMES) + self.start_verify_process(finger='any') + + self.device_mock.EmitVerifyStatus('verify-match', True) + time.sleep(self.sleep_time) + self.assertVerifyMatch(True) + def test_fprintd_verify_not_enrolled_fingers(self): for finger in [f for f in VALID_FINGER_NAMES if f not in self.enrolled_fingers]: regex = r'Finger \'{}\' not enrolled'.format(finger) diff --git a/utils/verify.c b/utils/verify.c index 71952b0..719b736 100644 --- a/utils/verify.c +++ b/utils/verify.c @@ -108,8 +108,7 @@ static void find_finger(DBusGProxy *dev, const char *username) exit(1); } - if (finger_name == NULL || strcmp (finger_name, "any") == 0) { - g_free (finger_name); + if (finger_name == NULL) { finger_name = g_strdup (fingers[0]); }