]> git.ipfire.org Git - thirdparty/Python/cpython.git/commit
gh-98458: unittest: bugfix for infinite loop while handling chained exceptions that...
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Sun, 4 Dec 2022 20:06:42 +0000 (12:06 -0800)
committerGitHub <noreply@github.com>
Sun, 4 Dec 2022 20:06:42 +0000 (12:06 -0800)
commit9bcc68b045fd06af3896d15d6375fa4d96b706cc
tree4bf24b3f4d734d9c50dd3fc29368d8c1b10110de
parent7aa87bba056c9c548812a82cefbd122c67c71b88
gh-98458: unittest: bugfix for infinite loop while handling chained exceptions that contain cycles (GH-98459)

* Bugfix addressing infinite loop while handling self-referencing chained exception in TestResult._clean_tracebacks()
* Bugfix extended to properly handle exception cycles in _clean_tracebacks. The "seen" set follows the approach used in the TracebackException class (thank you @iritkatriel for pointing it out)
* adds a test for a single chained exception that holds a self-loop in its __cause__ and __context__ attributes
(cherry picked from commit 72ec518203c3f3577a5e888b12f10bb49060e6c2)

Co-authored-by: AlexTate <0xalextate@gmail.com>
Lib/unittest/result.py
Lib/unittest/test/test_result.py
Misc/NEWS.d/next/Library/2022-10-19-18-31-53.gh-issue-98458.vwyq7O.rst [new file with mode: 0644]