summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_descr.py
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/test/test_descr.py')
-rw-r--r--Lib/test/test_descr.py36
1 files changed, 10 insertions, 26 deletions
diff --git a/Lib/test/test_descr.py b/Lib/test/test_descr.py
index e8ecacb..707c931 100644
--- a/Lib/test/test_descr.py
+++ b/Lib/test/test_descr.py
@@ -13,6 +13,7 @@ import warnings
import weakref
from copy import deepcopy
+from contextlib import redirect_stdout
from test import support
try:
@@ -1445,12 +1446,9 @@ order (MRO) for bases """
raise AttributeError
return object.__setattr__(self, name, value)
C.__setattr__ = mysetattr
- try:
+ with self.assertRaises(AttributeError):
a.spam = "not spam"
- except AttributeError:
- pass
- else:
- self.fail("expected AttributeError")
+
self.assertEqual(a.spam, "spam")
class D(C):
pass
@@ -2431,12 +2429,8 @@ order (MRO) for bases """
else:
self.fail("no TypeError from dict(%r)" % badarg)
- try:
+ with self.assertRaises(TypeError):
dict({}, {})
- except TypeError:
- pass
- else:
- self.fail("no TypeError from dict({}, {})")
class Mapping:
# Lacks a .keys() method; will be added later.
@@ -3589,12 +3583,8 @@ order (MRO) for bases """
pass
A.__call__ = A()
- try:
+ with self.assertRaises(RecursionError):
A()()
- except RecursionError:
- pass
- else:
- self.fail("Recursion limit should have been reached for __call__()")
def test_delete_hook(self):
# Testing __del__ hook...
@@ -4440,20 +4430,14 @@ order (MRO) for bases """
def test_file_fault(self):
# Testing sys.stdout is changed in getattr...
- test_stdout = sys.stdout
class StdoutGuard:
def __getattr__(self, attr):
sys.stdout = sys.__stdout__
- raise RuntimeError("Premature access to sys.stdout.%s" % attr)
- sys.stdout = StdoutGuard()
- try:
- print("Oops!")
- except RuntimeError:
- pass
- else:
- self.fail("Didn't raise RuntimeError")
- finally:
- sys.stdout = test_stdout
+ raise RuntimeError(f"Premature access to sys.stdout.{attr}")
+
+ with redirect_stdout(StdoutGuard()):
+ with self.assertRaises(RuntimeError):
+ print("Oops!")
def test_vicious_descriptor_nonsense(self):
# Testing vicious_descriptor_nonsense...