From b116ed3c30ab5058bf372d9b80964561fe2fb090 Mon Sep 17 00:00:00 2001 From: Charalampos Stratakis Date: Mon, 31 May 2021 18:07:10 +0200 Subject: [PATCH] bpo-44048: Fix two hashlib test cases under FIPS mode 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. --- 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 e419b388460dcd..1623bf350e2875 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): support.check_disallow_instantiation(self, type(h)) @@ -923,7 +927,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