diff options
author | Dong-hee Na <donghee.na@python.org> | 2022-01-08 08:14:40 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-01-08 08:14:40 (GMT) |
commit | 45d44b950f1dab0ef90d0a8f4fa75ffaae71500b (patch) | |
tree | 95cde421fbc6555f3af48e468b53769aca610d2e | |
parent | e63066cfed27511c9b786d61761f87f7a532571a (diff) | |
download | cpython-45d44b950f1dab0ef90d0a8f4fa75ffaae71500b.zip cpython-45d44b950f1dab0ef90d0a8f4fa75ffaae71500b.tar.gz cpython-45d44b950f1dab0ef90d0a8f4fa75ffaae71500b.tar.bz2 |
bpo-46299: Improve test_descr (GH-30475)
-rw-r--r-- | Lib/test/test_descr.py | 36 |
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... |