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



(cherry picked from commit 4f725261c6cf23d259e8fdc205e12b76ef4d2d31, fbff5387c3e1f3904420fa5a27738c6c5881305b, and 8cec740820fc875117bfa7b6bdb10202ebeb8fd5)

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

Automerge-Triggered-By: GH:vstinner
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 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 @@ def test_disallow_instantiation(self):
         # 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):