diff --git a/tests/import/import_pkg7.py b/tests/import/import_pkg7.py index be8564ef66884ce4ad1cf92b42dc99e35f7f007f..e1463ebbf8a3a9010f4b6ca57050313e3ae1d026 100644 --- a/tests/import/import_pkg7.py +++ b/tests/import/import_pkg7.py @@ -1,2 +1,2 @@ -# This tests ... relative imports as used in pkg7 +# This tests ... relative imports as used in pkg7 and imports beyond package root import pkg7.subpkg1.subpkg2.mod3 diff --git a/tests/import/import_pkg8.py b/tests/import/import_pkg8.py new file mode 100644 index 0000000000000000000000000000000000000000..4c1e832f2c3948b48eb730c5129f0801a431809a --- /dev/null +++ b/tests/import/import_pkg8.py @@ -0,0 +1,2 @@ +# import with no __init__.py files +import pkg8.mod diff --git a/tests/import/pkg7/subpkg1/subpkg2/mod3.py b/tests/import/pkg7/subpkg1/subpkg2/mod3.py index b85b34e60433e4fe9373a57e16606ea5bc85d25f..747cde03b6399a2aa9b857375de0a3029116267b 100644 --- a/tests/import/pkg7/subpkg1/subpkg2/mod3.py +++ b/tests/import/pkg7/subpkg1/subpkg2/mod3.py @@ -2,3 +2,10 @@ from ... import mod1 from ...mod2 import bar print(mod1.foo) print(bar) + +# when attempting relative import beyond top-level package uPy raises ImportError +# whereas CPython raises a ValueError +try: + from .... import mod1 +except (ImportError, ValueError): + print('Error') diff --git a/tests/import/pkg8/mod.py b/tests/import/pkg8/mod.py new file mode 100644 index 0000000000000000000000000000000000000000..b98f02ce6e01d1a3a6942feaabc7dbb15498e644 --- /dev/null +++ b/tests/import/pkg8/mod.py @@ -0,0 +1 @@ +print('foo')