mirror of
https://gitlab.com/mishakmak/pam-fprint-grosshack.git
synced 2026-04-08 20:03:34 +02:00
tests/fprintd: Add tests for 'verify' utility
This commit is contained in:
@ -3012,6 +3012,65 @@ class FPrintdUtilsTest(FPrintdVirtualStorageDeviceBaseTest):
|
|||||||
self.assertNotEqual(enroll.wait(), 0)
|
self.assertNotEqual(enroll.wait(), 0)
|
||||||
self.assertLess(enroll.wait(), 128)
|
self.assertLess(enroll.wait(), 128)
|
||||||
|
|
||||||
|
def run_verify(self, finger, match, error=None):
|
||||||
|
self.device.Claim('(s)', 'testuser')
|
||||||
|
finger_name = self.get_finger_name(finger)
|
||||||
|
override = {} if finger is FPrint.Finger.UNKNOWN else {
|
||||||
|
finger_name: 'print-id',
|
||||||
|
}
|
||||||
|
enrolled, enroll_map = self.enroll_multiple_images(
|
||||||
|
images_override=override)
|
||||||
|
self.set_keep_alive(True)
|
||||||
|
self.device.Release()
|
||||||
|
|
||||||
|
verify, out = self.util_start(
|
||||||
|
'verify', ['-f', finger_name, 'testuser'])
|
||||||
|
out.check_line('Using device {}'.format(
|
||||||
|
self.device.get_object_path()), get_timeout())
|
||||||
|
out.check_line('Verify started!', get_timeout())
|
||||||
|
out.check_line('Verifying: {}'.format(finger_name), get_timeout())
|
||||||
|
|
||||||
|
if error:
|
||||||
|
self.send_error(error)
|
||||||
|
self.assertNotEqual(verify.wait(), 0)
|
||||||
|
self.assertLess(verify.wait(), 128)
|
||||||
|
out.check_line('Verify result: verify-disconnected (done)', get_timeout())
|
||||||
|
elif match:
|
||||||
|
verify_finger = enrolled[0] if finger is FPrint.Finger.UNKNOWN else finger_name
|
||||||
|
self.send_image(enroll_map[verify_finger])
|
||||||
|
out.check_line('Verify result: verify-match (done)', get_timeout())
|
||||||
|
self.assertEqual(verify.wait(), 0)
|
||||||
|
else:
|
||||||
|
if finger is FPrint.Finger.UNKNOWN:
|
||||||
|
verify_image = 'another-print'
|
||||||
|
else:
|
||||||
|
enroll_map.pop(finger_name)
|
||||||
|
verify_image = list(enroll_map.values())[0]
|
||||||
|
self.send_image(verify_image)
|
||||||
|
out.check_line('Verify result: verify-no-match (done)', get_timeout())
|
||||||
|
self.assertNotEqual(verify.wait(), 0)
|
||||||
|
self.assertLess(verify.wait(), 128)
|
||||||
|
|
||||||
|
def test_verify_match(self):
|
||||||
|
self.run_verify(finger=FPrint.Finger.RIGHT_THUMB, match=True)
|
||||||
|
|
||||||
|
def test_verify_no_match(self):
|
||||||
|
self.run_verify(finger=FPrint.Finger.LEFT_MIDDLE, match=False)
|
||||||
|
|
||||||
|
def test_verify_error(self):
|
||||||
|
self.run_verify(finger=FPrint.Finger.RIGHT_THUMB, match=False,
|
||||||
|
error=FPrint.DeviceError.PROTO)
|
||||||
|
|
||||||
|
def test_verify_any_finger_match(self):
|
||||||
|
self.run_verify(finger=FPrint.Finger.UNKNOWN, match=True)
|
||||||
|
|
||||||
|
def test_verify_any_finger_no_match(self):
|
||||||
|
self.run_verify(finger=FPrint.Finger.UNKNOWN, match=False)
|
||||||
|
|
||||||
|
def test_verify_any_finger_error(self):
|
||||||
|
self.run_verify(finger=FPrint.Finger.UNKNOWN, match=False,
|
||||||
|
error=FPrint.DeviceError.PROTO)
|
||||||
|
|
||||||
|
|
||||||
def list_tests():
|
def list_tests():
|
||||||
import unittest_inspector
|
import unittest_inspector
|
||||||
|
|||||||
Reference in New Issue
Block a user