[Python-checkins] bpo-44048: Fix two hashlib test cases under FIPS mode (GH-26470)

pablogsal webhook-mailer at python.org
Fri Jun 4 12:48:04 EDT 2021


https://github.com/python/cpython/commit/a46c220edc5cf716d0b71eb80ac29ecdb4ebb430
commit: a46c220edc5cf716d0b71eb80ac29ecdb4ebb430
branch: main
author: stratakis <cstratak at redhat.com>
committer: pablogsal <Pablogsal at gmail.com>
date: 2021-06-04T17:47:59+01:00
summary:

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.

files:
M Lib/test/test_hashlib.py

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



More information about the Python-checkins mailing list