summaryrefslogtreecommitdiffstats
path: root/Lib/test
diff options
context:
space:
mode:
authorErlend Egeberg Aasland <erlend.aasland@innova.no>2021-05-27 06:43:52 (GMT)
committerGitHub <noreply@github.com>2021-05-27 06:43:52 (GMT)
commitfbff5387c3e1f3904420fa5a27738c6c5881305b (patch)
treea4e01083dde3afdde7306e55f70c1493fdc07b0a /Lib/test
parent3e7ee02327db13e4337374597cdc4458ecb9e3ad (diff)
downloadcpython-fbff5387c3e1f3904420fa5a27738c6c5881305b.zip
cpython-fbff5387c3e1f3904420fa5a27738c6c5881305b.tar.gz
cpython-fbff5387c3e1f3904420fa5a27738c6c5881305b.tar.bz2
bpo-43988: Use check disallow instantiation helper (GH-26392)
Diffstat (limited to 'Lib/test')
-rw-r--r--Lib/test/support/__init__.py8
-rw-r--r--Lib/test/test_array.py5
-rw-r--r--Lib/test/test_curses.py5
-rw-r--r--Lib/test/test_dbm_gnu.py3
-rw-r--r--Lib/test/test_embed.py4
-rw-r--r--Lib/test/test_functools.py5
-rw-r--r--Lib/test/test_hashlib.py15
-rw-r--r--Lib/test/test_hmac.py8
-rw-r--r--Lib/test/test_re.py10
-rw-r--r--Lib/test/test_select.py6
-rw-r--r--Lib/test/test_ssl.py6
-rw-r--r--Lib/test/test_threading.py3
-rw-r--r--Lib/test/test_unicodedata.py4
-rw-r--r--Lib/test/test_zlib.py6
14 files changed, 37 insertions, 51 deletions
diff --git a/Lib/test/support/__init__.py b/Lib/test/support/__init__.py
index 8c6e554..42ca614 100644
--- a/Lib/test/support/__init__.py
+++ b/Lib/test/support/__init__.py
@@ -1991,5 +1991,11 @@ def check_disallow_instantiation(testcase, tp, *args, **kwds):
See bpo-43916.
"""
- msg = f"cannot create '{tp.__module__}\.{tp.__name__}' instances"
+ mod = tp.__module__
+ name = tp.__name__
+ if mod != 'builtins':
+ qualname = f"{mod}.{name}"
+ else:
+ qualname = f"{name}"
+ msg = f"cannot create '{re.escape(qualname)}' instances"
testcase.assertRaisesRegex(TypeError, msg, tp, *args, **kwds)
diff --git a/Lib/test/test_array.py b/Lib/test/test_array.py
index e7cddf2..18f78d5 100644
--- a/Lib/test/test_array.py
+++ b/Lib/test/test_array.py
@@ -43,8 +43,9 @@ class MiscTest(unittest.TestCase):
@support.cpython_only
def test_disallow_instantiation(self):
my_array = array.array("I")
- tp = type(iter(my_array))
- support.check_disallow_instantiation(self, tp, my_array)
+ support.check_disallow_instantiation(
+ self, type(iter(my_array)), my_array
+ )
@support.cpython_only
def test_immutable(self):
diff --git a/Lib/test/test_curses.py b/Lib/test/test_curses.py
index 8bf48a6..d3c152c 100644
--- a/Lib/test/test_curses.py
+++ b/Lib/test/test_curses.py
@@ -6,7 +6,8 @@ import sys
import tempfile
import unittest
-from test.support import requires, verbose, SaveSignals, cpython_only
+from test.support import (requires, verbose, SaveSignals, cpython_only,
+ check_disallow_instantiation)
from test.support.import_helper import import_module
# Optionally test curses module. This currently requires that the
@@ -1052,7 +1053,7 @@ class TestCurses(unittest.TestCase):
# Ensure that the type disallows instantiation (bpo-43916)
w = curses.newwin(10, 10)
panel = curses.panel.new_panel(w)
- self.assertRaises(TypeError, type(panel))
+ check_disallow_instantiation(self, type(panel))
@requires_curses_func('is_term_resized')
def test_is_term_resized(self):
diff --git a/Lib/test/test_dbm_gnu.py b/Lib/test/test_dbm_gnu.py
index b3e5572..f39b002 100644
--- a/Lib/test/test_dbm_gnu.py
+++ b/Lib/test/test_dbm_gnu.py
@@ -31,8 +31,7 @@ class TestGdbm(unittest.TestCase):
def test_disallow_instantiation(self):
# Ensure that the type disallows instantiation (bpo-43916)
self.g = gdbm.open(filename, 'c')
- tp = type(self.g)
- self.assertRaises(TypeError, tp)
+ support.check_disallow_instantiation(self, type(self.g))
def test_key_methods(self):
self.g = gdbm.open(filename, 'c')
diff --git a/Lib/test/test_embed.py b/Lib/test/test_embed.py
index f4a18fd..373fcf0 100644
--- a/Lib/test/test_embed.py
+++ b/Lib/test/test_embed.py
@@ -1549,9 +1549,7 @@ class StdPrinterTests(EmbeddingTestsMixin, unittest.TestCase):
def test_disallow_instantiation(self):
fd = self.get_stdout_fd()
printer = self.create_printer(fd)
- PyStdPrinter_Type = type(printer)
- with self.assertRaises(TypeError):
- PyStdPrinter_Type(fd)
+ support.check_disallow_instantiation(self, type(printer))
if __name__ == "__main__":
diff --git a/Lib/test/test_functools.py b/Lib/test/test_functools.py
index 3320ab7..78a8a5f 100644
--- a/Lib/test/test_functools.py
+++ b/Lib/test/test_functools.py
@@ -951,8 +951,9 @@ class TestCmpToKeyC(TestCmpToKey, unittest.TestCase):
@support.cpython_only
def test_disallow_instantiation(self):
# Ensure that the type disallows instantiation (bpo-43916)
- tp = type(c_functools.cmp_to_key(None))
- self.assertRaises(TypeError, tp)
+ support.check_disallow_instantiation(
+ self, type(c_functools.cmp_to_key(None))
+ )
class TestCmpToKeyPy(TestCmpToKey, unittest.TestCase):
diff --git a/Lib/test/test_hashlib.py b/Lib/test/test_hashlib.py
index ad2ed69..e419b38 100644
--- a/Lib/test/test_hashlib.py
+++ b/Lib/test/test_hashlib.py
@@ -911,20 +911,13 @@ class HashLibTestCase(unittest.TestCase):
for constructor in constructors:
h = constructor()
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():
diff --git a/Lib/test/test_hmac.py b/Lib/test/test_hmac.py
index 964acd0..7cf9973 100644
--- a/Lib/test/test_hmac.py
+++ b/Lib/test/test_hmac.py
@@ -6,7 +6,7 @@ import unittest
import unittest.mock
import warnings
-from test.support import hashlib_helper
+from test.support import hashlib_helper, check_disallow_instantiation
from _operator import _compare_digest as operator_compare_digest
@@ -439,11 +439,7 @@ class ConstructorTestCase(unittest.TestCase):
@unittest.skipUnless(C_HMAC is not None, 'need _hashlib')
def test_internal_types(self):
# internal types like _hashlib.C_HMAC are not constructable
- with self.assertRaisesRegex(
- TypeError, "cannot create '_hashlib.HMAC' instance"
- ):
- C_HMAC()
-
+ check_disallow_instantiation(self, C_HMAC)
with self.assertRaisesRegex(TypeError, "immutable type"):
C_HMAC.value = None
diff --git a/Lib/test/test_re.py b/Lib/test/test_re.py
index 0ed243d..18fa24a 100644
--- a/Lib/test/test_re.py
+++ b/Lib/test/test_re.py
@@ -1,5 +1,6 @@
from test.support import (gc_collect, bigmemtest, _2G,
- cpython_only, captured_stdout)
+ cpython_only, captured_stdout,
+ check_disallow_instantiation)
import locale
import re
import sre_compile
@@ -2224,11 +2225,10 @@ class ImplementationTest(unittest.TestCase):
@cpython_only
def test_disallow_instantiation(self):
# Ensure that the type disallows instantiation (bpo-43916)
- self.assertRaises(TypeError, re.Match)
- self.assertRaises(TypeError, re.Pattern)
+ check_disallow_instantiation(self, re.Match)
+ check_disallow_instantiation(self, re.Pattern)
pat = re.compile("")
- tp = type(pat.scanner(""))
- self.assertRaises(TypeError, tp)
+ check_disallow_instantiation(self, type(pat.scanner("")))
class ExternalTests(unittest.TestCase):
diff --git a/Lib/test/test_select.py b/Lib/test/test_select.py
index 957a633..cf32cf2 100644
--- a/Lib/test/test_select.py
+++ b/Lib/test/test_select.py
@@ -88,12 +88,10 @@ class SelectTestCase(unittest.TestCase):
self.assertEqual(select.select([], a, []), ([], a[:5], []))
def test_disallow_instantiation(self):
- tp = type(select.poll())
- self.assertRaises(TypeError, tp)
+ support.check_disallow_instantiation(self, type(select.poll()))
if hasattr(select, 'devpoll'):
- tp = type(select.devpoll())
- self.assertRaises(TypeError, tp)
+ support.check_disallow_instantiation(self, type(select.devpoll()))
def tearDownModule():
support.reap_children()
diff --git a/Lib/test/test_ssl.py b/Lib/test/test_ssl.py
index 00d5eff..0d38d77 100644
--- a/Lib/test/test_ssl.py
+++ b/Lib/test/test_ssl.py
@@ -358,11 +358,7 @@ class BasicSocketTests(unittest.TestCase):
with self.subTest(ssl_type=ssl_type):
with self.assertRaisesRegex(TypeError, "immutable type"):
ssl_type.value = None
- with self.assertRaisesRegex(
- TypeError,
- "cannot create '_ssl.Certificate' instances"
- ):
- _ssl.Certificate()
+ support.check_disallow_instantiation(self, _ssl.Certificate)
def test_private_init(self):
with self.assertRaisesRegex(TypeError, "public constructor"):
diff --git a/Lib/test/test_threading.py b/Lib/test/test_threading.py
index b563797..f648a8b 100644
--- a/Lib/test/test_threading.py
+++ b/Lib/test/test_threading.py
@@ -124,8 +124,7 @@ class ThreadTests(BaseTestCase):
def test_disallow_instantiation(self):
# Ensure that the type disallows instantiation (bpo-43916)
lock = threading.Lock()
- tp = type(lock)
- self.assertRaises(TypeError, tp)
+ test.support.check_disallow_instantiation(self, type(lock))
# Create a bunch of threads, let each do some work, wait until all are
# done.
diff --git a/Lib/test/test_unicodedata.py b/Lib/test/test_unicodedata.py
index c6bbe3f..213b3cf 100644
--- a/Lib/test/test_unicodedata.py
+++ b/Lib/test/test_unicodedata.py
@@ -12,7 +12,7 @@ import sys
import unicodedata
import unittest
from test.support import (open_urlresource, requires_resource, script_helper,
- cpython_only)
+ cpython_only, check_disallow_instantiation)
class UnicodeMethodsTest(unittest.TestCase):
@@ -229,7 +229,7 @@ class UnicodeMiscTest(UnicodeDatabaseTest):
@cpython_only
def test_disallow_instantiation(self):
# Ensure that the type disallows instantiation (bpo-43916)
- self.assertRaises(TypeError, unicodedata.UCD)
+ check_disallow_instantiation(self, unicodedata.UCD)
def test_failed_import_during_compiling(self):
# Issue 4367
diff --git a/Lib/test/test_zlib.py b/Lib/test/test_zlib.py
index 694ef6e..cb06108 100644
--- a/Lib/test/test_zlib.py
+++ b/Lib/test/test_zlib.py
@@ -132,10 +132,8 @@ class ExceptionTestCase(unittest.TestCase):
@support.cpython_only
def test_disallow_instantiation(self):
# Ensure that the type disallows instantiation (bpo-43916)
- comp_type = type(zlib.compressobj())
- decomp_type = type(zlib.decompressobj())
- self.assertRaises(TypeError, comp_type)
- self.assertRaises(TypeError, decomp_type)
+ support.check_disallow_instantiation(self, type(zlib.compressobj()))
+ support.check_disallow_instantiation(self, type(zlib.decompressobj()))
class BaseCompressTestCase(object):