tests/import/import_pkg9.py: Add test for subpackage attribute.

When foo.bar is imported, bar is added as an attribute to foo. Previously
this happened on every import, but should only happen on first import.

This verifies the behavior for relative imports and overriding.

This work was funded through GitHub Sponsors.

Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
This commit is contained in:
Jim Mussared 2023-05-23 22:03:50 +10:00 committed by Damien George
parent dfa7677e2f
commit 99a0c45aef
4 changed files with 24 additions and 0 deletions

View File

@ -0,0 +1,16 @@
# tests that import only sets subpackage attribute on first import
import pkg9
pkg9.mod1()
pkg9.mod2()
import pkg9.mod1
pkg9.mod1()
pkg9.mod2()
import pkg9.mod2
pkg9.mod1()
print(pkg9.mod2.__name__, type(pkg9.mod2).__name__)

View File

@ -0,0 +1,5 @@
from .mod1 import mod1
def mod2():
print("mod2")

View File

@ -0,0 +1,2 @@
def mod1():
print("mod1")

View File

@ -0,0 +1 @@
from . import mod2