gh-99947: Ensure unreported errors are chained for SystemError during import (GH-99946)

This commit is contained in:
Sebastian Berg 2022-12-24 00:43:19 +01:00 committed by GitHub
parent a68e585c8b
commit 474220e3a5
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 13 additions and 7 deletions

View file

@ -351,9 +351,14 @@ class MultiPhaseExtensionModuleTests(abc.LoaderTests):
]:
with self.subTest(name_base):
name = self.name + '_' + name_base
with self.assertRaises(SystemError):
with self.assertRaises(SystemError) as cm:
self.load_module_by_name(name)
# If there is an unreported exception, it should be chained
# with the `SystemError`.
if "unreported_exception" in name_base:
self.assertIsNotNone(cm.exception.__cause__)
def test_nonascii(self):
# Test that modules with non-ASCII names can be loaded.
# punycode behaves slightly differently in some-ASCII and no-ASCII