mirror of
https://github.com/python/cpython.git
synced 2025-08-04 08:59:19 +00:00
bpo-33237: Improve AttributeError message for partially initialized module. (GH-6398)
This commit is contained in:
parent
95b6acf951
commit
3e429dcc24
7 changed files with 67 additions and 23 deletions
|
@ -1271,6 +1271,19 @@ class CircularImportTests(unittest.TestCase):
|
|||
except ImportError:
|
||||
self.fail('circular import with binding a submodule to a name failed')
|
||||
|
||||
def test_crossreference1(self):
|
||||
import test.test_import.data.circular_imports.use
|
||||
import test.test_import.data.circular_imports.source
|
||||
|
||||
def test_crossreference2(self):
|
||||
with self.assertRaises(AttributeError) as cm:
|
||||
import test.test_import.data.circular_imports.source
|
||||
errmsg = str(cm.exception)
|
||||
self.assertIn('test.test_import.data.circular_imports.source', errmsg)
|
||||
self.assertIn('spam', errmsg)
|
||||
self.assertIn('partially initialized module', errmsg)
|
||||
self.assertIn('circular import', errmsg)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
# Test needs to be a package, so we can do relative imports.
|
||||
|
|
2
Lib/test/test_import/data/circular_imports/source.py
Normal file
2
Lib/test/test_import/data/circular_imports/source.py
Normal file
|
@ -0,0 +1,2 @@
|
|||
from . import use
|
||||
spam = 1
|
2
Lib/test/test_import/data/circular_imports/use.py
Normal file
2
Lib/test/test_import/data/circular_imports/use.py
Normal file
|
@ -0,0 +1,2 @@
|
|||
from . import source
|
||||
source.spam
|
Loading…
Add table
Add a link
Reference in a new issue