@@ -249,13 +249,25 @@ def test_usedforsecurity_false(self):
249
249
self ._hashlib .new ("md5" , usedforsecurity = False )
250
250
self ._hashlib .openssl_md5 (usedforsecurity = False )
251
251
252
+ @unittest .skipIf (get_fips_mode (), "skip in FIPS mode" )
252
253
def test_clinic_signature (self ):
253
254
for constructor in self .hash_constructors :
254
255
with self .subTest (constructor .__name__ ):
255
256
constructor (b'' )
256
257
constructor (data = b'' )
257
258
constructor (string = b'' ) # should be deprecated in the future
258
259
260
+ digest_name = constructor (b'' ).name
261
+ with self .subTest (digest_name ):
262
+ hashlib .new (digest_name , b'' )
263
+ hashlib .new (digest_name , data = b'' )
264
+ hashlib .new (digest_name , string = b'' )
265
+ if self ._hashlib :
266
+ self ._hashlib .new (digest_name , b'' )
267
+ self ._hashlib .new (digest_name , data = b'' )
268
+ self ._hashlib .new (digest_name , string = b'' )
269
+
270
+ @unittest .skipIf (get_fips_mode (), "skip in FIPS mode" )
259
271
def test_clinic_signature_errors (self ):
260
272
nomsg = b''
261
273
mymsg = b'msg'
@@ -295,9 +307,16 @@ def test_clinic_signature_errors(self):
295
307
[(), dict (data = nomsg , string = nomsg ), conflicting_call ],
296
308
]:
297
309
for constructor in self .hash_constructors :
310
+ digest_name = constructor (b'' ).name
298
311
with self .subTest (constructor .__name__ , args = args , kwds = kwds ):
299
312
with self .assertRaisesRegex (TypeError , errmsg ):
300
313
constructor (* args , ** kwds )
314
+ with self .subTest (digest_name , args = args , kwds = kwds ):
315
+ with self .assertRaisesRegex (TypeError , errmsg ):
316
+ hashlib .new (digest_name , * args , ** kwds )
317
+ if self ._hashlib :
318
+ with self .assertRaisesRegex (TypeError , errmsg ):
319
+ self ._hashlib .new (digest_name , * args , ** kwds )
301
320
302
321
def test_unknown_hash (self ):
303
322
self .assertRaises (ValueError , hashlib .new , 'spam spam spam spam spam' )
0 commit comments