From 92657c671f85843ae5f0df85b954d844a5cdd9d1 Mon Sep 17 00:00:00 2001 From: Paul Sokolovsky Date: Wed, 3 May 2017 17:16:19 +0300 Subject: [PATCH] tests/cpydiff/core_import_split_ns_pkgs: Test for split namespace packages. --- tests/cpydiff/core_import_split_ns_pkgs.py | 14 ++++++++++++++ tests/cpydiff/modules/subpkg/foo.py | 0 tests/cpydiff/modules2/subpkg/bar.py | 0 3 files changed, 14 insertions(+) create mode 100644 tests/cpydiff/core_import_split_ns_pkgs.py create mode 100644 tests/cpydiff/modules/subpkg/foo.py create mode 100644 tests/cpydiff/modules2/subpkg/bar.py diff --git a/tests/cpydiff/core_import_split_ns_pkgs.py b/tests/cpydiff/core_import_split_ns_pkgs.py new file mode 100644 index 0000000000..700620c470 --- /dev/null +++ b/tests/cpydiff/core_import_split_ns_pkgs.py @@ -0,0 +1,14 @@ +""" +categories: Core,import +description: MicroPython does't support namespace packages split across filesystem. +cause: MicroPython's import system is highly optimized for simplicity, minimal memory usage, and minimal filesystem search overhead. +workaround: Don't install modules belonging to the same namespace package in different directories. For MicroPython, it's recommended to have at most 3-component module search paths: for your current application, per-user (writable), system-wide (non-writable). +""" +import sys +sys.path.append(sys.path[1] + "/modules") +sys.path.append(sys.path[1] + "/modules2") + +import subpkg.foo +import subpkg.bar + +print("Two modules of a split namespace package imported") diff --git a/tests/cpydiff/modules/subpkg/foo.py b/tests/cpydiff/modules/subpkg/foo.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/cpydiff/modules2/subpkg/bar.py b/tests/cpydiff/modules2/subpkg/bar.py new file mode 100644 index 0000000000..e69de29bb2