From 91f43da00e68c05ff6374a29c96c9fb8df160bff Mon Sep 17 00:00:00 2001 From: Serhiy Storchaka Date: Wed, 25 Oct 2017 14:54:38 +0300 Subject: [PATCH] bpo-31664: Fix test_crypt for the openwall implementation of crypt. --- Lib/test/test_crypt.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/Lib/test/test_crypt.py b/Lib/test/test_crypt.py index 8db1aefdf1ef271..796fd076c6a5e5b 100644 --- a/Lib/test/test_crypt.py +++ b/Lib/test/test_crypt.py @@ -57,7 +57,13 @@ def test_log_rounds(self): def test_invalid_log_rounds(self): for log_rounds in (1, -1, 999): salt = crypt.mksalt(crypt.METHOD_BLOWFISH, log_rounds=log_rounds) - self.assertIsNone(crypt.crypt('mypassword', salt)) + cr = crypt.crypt('mypassword', salt) + if cr is not None: + # On failure the openwall implementation returns a magic + # string that is shorter than 13 characters and is guaranteed + # to differ from a salt. + self.assertNotEqual(cr, salt) + self.assertLess(len(cr), 13) if __name__ == "__main__":