ports: Move '.frozen' to second entry in sys.path.

In commit 86ce442607 the '.frozen' entry was
added at the start of sys.path, to allow control over when frozen modules
are searched during import, and retain existing behaviour whereby frozen
was searched before the filesystem.

But Python semantics of sys.path require sys.path[0] to be the directory of
the currently executing script, or ''.

This commit moves the '.frozen' entry to second place in sys.path, so
sys.path[0] retains its correct value (described above).

Signed-off-by: Damien George <damien@micropython.org>
This commit is contained in:
Damien George
2021-12-21 23:07:00 +11:00
parent 028776d97b
commit aac5a97d08
7 changed files with 26 additions and 11 deletions

16
tests/basics/sys_path.py Normal file
View File

@@ -0,0 +1,16 @@
# test sys.path
try:
import usys as sys
except ImportError:
import sys
# check that this script was executed from a file of the same name
if "__file__" not in globals() or "sys_path.py" not in __file__:
print("SKIP")
raise SystemExit
# test that sys.path[0] is the directory containing this script
with open(sys.path[0] + "/sys_path.py") as f:
for _ in range(4):
print(f.readline())