diff options
| author | Chris Liechti <cliechti@gmx.net> | 2020-11-30 16:40:56 +0100 |
|---|---|---|
| committer | Damien George <damien@micropython.org> | 2025-11-21 00:01:01 +1100 |
| commit | 48d96b400e73e7fbcca8365d0bebc0c41402dde5 (patch) | |
| tree | b8c555c47655b4e939cd240f510365c1c4a4b269 /tests/import/import_override2.py | |
| parent | c07fda73f7115d2d2d4e2d4bba00a3e8dfd1367e (diff) | |
py/builtinimport: Support relative import in custom __import__ callback.
The globals need to be forwarded from the caller's context.
Signed-off-by: Damien George <damien@micropython.org>
Diffstat (limited to 'tests/import/import_override2.py')
| -rw-r--r-- | tests/import/import_override2.py | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/tests/import/import_override2.py b/tests/import/import_override2.py new file mode 100644 index 000000000..25aac44fe --- /dev/null +++ b/tests/import/import_override2.py @@ -0,0 +1,18 @@ +# test overriding __import__ combined with importing from the filesystem + + +def custom_import(name, globals, locals, fromlist, level): + if level > 0: + print("import", name, fromlist, level) + return orig_import(name, globals, locals, fromlist, level) + + +orig_import = __import__ +try: + __import__("builtins").__import__ = custom_import +except AttributeError: + print("SKIP") + raise SystemExit + +# import calls __import__ behind the scenes +import pkg7.subpkg1.subpkg2.mod3 |
