]> 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 19:58:31 +0000 (11:58 -0800)
committerGitHub <noreply@github.com>
Sun, 4 Dec 2022 19:58:31 +0000 (11:58 -0800)
commite699e5c20fc495952905597edfa82de0c1848f8c
tree1be944629ed9854a163b6050bef883a7caa60ab3
parentac781282712ab39cd6339e3c780c11e0027d22ab
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]