[3.10] bpo-43988: Add test.support.check_disallow_instantiation() (GH-25757) (GH-26885)

(cherry picked from commit 4f725261c6, fbff5387c3, and 8cec740820)

Co-authored-by: Erlend Egeberg Aasland <erlend.aasland@innova.no>

Automerge-Triggered-By: GH:vstinner
This commit is contained in:
Erlend Egeberg Aasland 2021-06-24 01:46:25 +02:00 committed by GitHub
parent ece3841d3d
commit 0a3452e7cf
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
16 changed files with 58 additions and 53 deletions

View file

@ -915,20 +915,13 @@ def test_disallow_instantiation(self):
except ValueError:
continue
with self.subTest(constructor=constructor):
hash_type = type(h)
self.assertRaises(TypeError, hash_type)
support.check_disallow_instantiation(self, type(h))
@unittest.skipUnless(HASH is not None, 'need _hashlib')
def test_hash_disallow_instanciation(self):
def test_hash_disallow_instantiation(self):
# internal types like _hashlib.HASH are not constructable
with self.assertRaisesRegex(
TypeError, "cannot create '_hashlib.HASH' instance"
):
HASH()
with self.assertRaisesRegex(
TypeError, "cannot create '_hashlib.HASHXOF' instance"
):
HASHXOF()
support.check_disallow_instantiation(self, HASH)
support.check_disallow_instantiation(self, HASHXOF)
def test_readonly_types(self):
for algorithm, constructors in self.constructors_to_test.items():