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