mirror of https://github.com/python/cpython
bpo-43916: Rewrite new hashlib tests, fix typo (GH-25791)
* bpo-43916: Rewrite new hashlib tests, fix typo * Flag test as cpython only
This commit is contained in:
parent
55e5c680dd
commit
ddbef71a2c
|
@ -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…
Reference in New Issue