Browse Source

bpo-43916: Rewrite new hashlib tests, fix typo (GH-25791)

* bpo-43916: Rewrite new hashlib tests, fix typo
* Flag test as cpython only
pull/25801/head
Christian Heimes 5 years ago
committed by GitHub
parent
commit
ddbef71a2c
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 42
      Lib/test/test_hashlib.py

42
Lib/test/test_hashlib.py

@ -901,36 +901,18 @@ class HashLibTestCase(unittest.TestCase):
if fips_mode is not None:
self.assertIsInstance(fips_mode, int)
def test_disallow_instanciation(self):
constructors = []
try:
import _md5
constructors.append(_md5.md5)
except ImportError:
pass
try:
import _sha1
constructors.append(_sha1.sha1)
except ImportError:
pass
try:
import _sha256
constructors.append(_sha256.sha224)
constructors.append(_sha256.sha256)
except ImportError:
pass
try:
import _sha512
constructors.append(_sha512.sha384)
constructors.append(_sha512.sha512)
except ImportError:
pass
for constructor in constructors:
h = constructor()
with self.subTest(constructor=constructor):
hash_type = type(h)
self.assertRaises(TypeError, hash_type)
@support.cpython_only
def test_disallow_instantiation(self):
for algorithm, constructors in self.constructors_to_test.items():
if algorithm.startswith(("sha3_", "shake", "blake")):
# _sha3 and _blake types can be instantiated
continue
# all other types have DISALLOW_INSTANTIATION
for constructor in constructors:
h = constructor()
with self.subTest(constructor=constructor):
hash_type = type(h)
self.assertRaises(TypeError, hash_type)
@unittest.skipUnless(HASH is not None, 'need _hashlib')
def test_hash_disallow_instanciation(self):

Loading…
Cancel
Save