From 319d8591071886230ee8c6d7889f26b2a19243e9 Mon Sep 17 00:00:00 2001 From: Bastien Nocera Date: Tue, 4 Feb 2020 13:35:48 +0100 Subject: [PATCH] tests: Add PAM test that succeeds on last try Exhaust all the tries (minus 1) before having a match on the last try. This should not throw a warning. --- tests/pam/test_pam_fprintd.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/tests/pam/test_pam_fprintd.py b/tests/pam/test_pam_fprintd.py index def88b2..fe160d1 100755 --- a/tests/pam/test_pam_fprintd.py +++ b/tests/pam/test_pam_fprintd.py @@ -119,6 +119,23 @@ class TestPamFprintd(dbusmock.DBusTestCase): self.assertRegex(res.info[0], r'Place your left middle finger on FDO Sandpaper Reader') self.assertEqual(len(res.errors), 0) + def test_pam_fprintd_last_try_auth(self): + self.setup_device() + script = [ + ( 'verify-no-match', True, 1 ), + ( 'verify-no-match', True, 1 ), + ( 'verify-match', True, 1 ), + ] + self.device_mock.SetVerifyScript(script) + + tc = pypamtest.TestCase(pypamtest.PAMTEST_AUTHENTICATE, expected_rv=PAM_SUCCESS) + res = pypamtest.run_pamtest("toto", "fprintd-pam-test", [tc], [ 'unused' ]) + + self.assertRegex(res.info[0], r'Swipe your left little finger across the fingerprint reader') + self.assertEqual(len(res.errors), 2) + self.assertRegex(res.errors[0], r'Failed to match fingerprint') + self.assertRegex(res.errors[1], r'Failed to match fingerprint') + def test_pam_fprintd_failed_auth(self): self.setup_device() script = [