diff options
author | Serhiy Storchaka <storchaka@gmail.com> | 2017-10-25 13:30:13 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-10-25 13:30:13 (GMT) |
commit | 0f261583bae7e60e410709ed96398dd1b14c5454 (patch) | |
tree | 99c2379d299a624d88b2ac594f3b3fa727257488 /Lib | |
parent | 086c3ae5f0995a62092b9080f32dd118c2923453 (diff) | |
download | cpython-0f261583bae7e60e410709ed96398dd1b14c5454.zip cpython-0f261583bae7e60e410709ed96398dd1b14c5454.tar.gz cpython-0f261583bae7e60e410709ed96398dd1b14c5454.tar.bz2 |
bpo-31664: Fix test_crypt for the openwall implementation of crypt. (#4116)
Diffstat (limited to 'Lib')
-rw-r--r-- | Lib/test/test_crypt.py | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/Lib/test/test_crypt.py b/Lib/test/test_crypt.py index 8db1aef..796fd07 100644 --- a/Lib/test/test_crypt.py +++ b/Lib/test/test_crypt.py @@ -57,7 +57,13 @@ class CryptTestCase(unittest.TestCase): 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__": |