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>
pull/11456/head
Jim Mussared 2023-05-23 22:03:50 +10:00 zatwierdzone przez Damien George
rodzic dfa7677e2f
commit 99a0c45aef
4 zmienionych plików z 24 dodań i 0 usunięć

Wyświetl plik

@ -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__)

Wyświetl plik

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

Wyświetl plik

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

Wyświetl plik

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