From fb8f6779448b53c068960b9e0e4b933ce2641bec Mon Sep 17 00:00:00 2001 From: stratakis Date: Fri, 4 Jun 2021 18:47:59 +0200 Subject: [PATCH] bpo-44048: Fix two hashlib test cases under FIPS mode (GH-26470) test_disallow_instantiation and test_readonly_types try to test all the available digests, however under FIPS mode, while the algorithms are available, trying to use them will fail with a ValueError. (cherry picked from commit a46c220edc5cf716d0b71eb80ac29ecdb4ebb430) Co-authored-by: stratakis --- Lib/test/test_hashlib.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/Lib/test/test_hashlib.py b/Lib/test/test_hashlib.py index ad2ed69e24b2c4..76754b6b8e13da 100644 --- a/Lib/test/test_hashlib.py +++ b/Lib/test/test_hashlib.py @@ -909,7 +909,11 @@ def test_disallow_instantiation(self): continue # all other types have DISALLOW_INSTANTIATION for constructor in constructors: - h = constructor() + # In FIPS mode some algorithms are not available raising ValueError + try: + h = constructor() + except ValueError: + continue with self.subTest(constructor=constructor): hash_type = type(h) self.assertRaises(TypeError, hash_type) @@ -930,7 +934,11 @@ def test_readonly_types(self): for algorithm, constructors in self.constructors_to_test.items(): # all other types have DISALLOW_INSTANTIATION for constructor in constructors: - hash_type = type(constructor()) + # In FIPS mode some algorithms are not available raising ValueError + try: + hash_type = type(constructor()) + except ValueError: + continue with self.subTest(hash_type=hash_type): with self.assertRaisesRegex(TypeError, "immutable type"): hash_type.value = False