diff --git a/tests/multi_net/asyncio_tls_server_client.py b/tests/multi_net/asyncio_tls_server_client.py index 996cdb3e0d..59e13ec45d 100644 --- a/tests/multi_net/asyncio_tls_server_client.py +++ b/tests/multi_net/asyncio_tls_server_client.py @@ -11,8 +11,8 @@ except ImportError: PORT = 8000 # These are test certificates. See tests/README.md for details. -cert = cafile = "multi_net/rsa_cert.der" -key = "multi_net/rsa_key.der" +cert = cafile = "rsa_cert.der" +key = "rsa_key.der" try: os.stat(cafile) diff --git a/tests/multi_net/asyncio_tls_server_client_cert_required_error.py b/tests/multi_net/asyncio_tls_server_client_cert_required_error.py index bd4d7b82ea..8607e4ff10 100644 --- a/tests/multi_net/asyncio_tls_server_client_cert_required_error.py +++ b/tests/multi_net/asyncio_tls_server_client_cert_required_error.py @@ -11,8 +11,8 @@ except ImportError: PORT = 8000 # These are test certificates. See tests/README.md for details. -cert = cafile = "multi_net/rsa_cert.der" -key = "multi_net/rsa_key.der" +cert = cafile = "rsa_cert.der" +key = "rsa_key.der" try: os.stat(cafile) diff --git a/tests/multi_net/asyncio_tls_server_client_readline.py b/tests/multi_net/asyncio_tls_server_client_readline.py index 28add38f5d..fd8685f5af 100644 --- a/tests/multi_net/asyncio_tls_server_client_readline.py +++ b/tests/multi_net/asyncio_tls_server_client_readline.py @@ -11,8 +11,8 @@ except ImportError: PORT = 8000 # These are test certificates. See tests/README.md for details. -cert = cafile = "multi_net/rsa_cert.der" -key = "multi_net/rsa_key.der" +cert = cafile = "rsa_cert.der" +key = "rsa_key.der" try: os.stat(cafile) diff --git a/tests/multi_net/asyncio_tls_server_client_verify_error.py b/tests/multi_net/asyncio_tls_server_client_verify_error.py index 46a476addf..c600dcc2c8 100644 --- a/tests/multi_net/asyncio_tls_server_client_verify_error.py +++ b/tests/multi_net/asyncio_tls_server_client_verify_error.py @@ -11,8 +11,8 @@ except ImportError: PORT = 8000 # These are test certificates. See tests/README.md for details. -cert = cafile = "multi_net/rsa_cert.der" -key = "multi_net/rsa_key.der" +cert = cafile = "rsa_cert.der" +key = "rsa_key.der" try: os.stat(cafile) diff --git a/tests/multi_net/ssl_cert_rsa.py b/tests/multi_net/ssl_cert_rsa.py index 71c9a34797..d148c8ebcf 100644 --- a/tests/multi_net/ssl_cert_rsa.py +++ b/tests/multi_net/ssl_cert_rsa.py @@ -10,8 +10,8 @@ except ImportError: PORT = 8000 # These are test certificates. See tests/README.md for details. -certfile = "multi_net/rsa_cert.der" -keyfile = "multi_net/rsa_key.der" +certfile = "rsa_cert.der" +keyfile = "rsa_key.der" try: os.stat(certfile) diff --git a/tests/multi_net/sslcontext_check_hostname_error.py b/tests/multi_net/sslcontext_check_hostname_error.py index 94bd472767..ac39211b09 100644 --- a/tests/multi_net/sslcontext_check_hostname_error.py +++ b/tests/multi_net/sslcontext_check_hostname_error.py @@ -11,8 +11,8 @@ except ImportError: PORT = 8000 # These are test certificates. See tests/README.md for details. -cert = cafile = "multi_net/rsa_cert.der" -key = "multi_net/rsa_key.der" +cert = cafile = "rsa_cert.der" +key = "rsa_key.der" try: os.stat(cafile) diff --git a/tests/multi_net/sslcontext_getpeercert.py b/tests/multi_net/sslcontext_getpeercert.py index c75a37952e..8748c1f78e 100644 --- a/tests/multi_net/sslcontext_getpeercert.py +++ b/tests/multi_net/sslcontext_getpeercert.py @@ -12,8 +12,8 @@ except ImportError: PORT = 8000 # These are test certificates. See tests/README.md for details. -cert = cafile = "multi_net/rsa_cert.der" -key = "multi_net/rsa_key.der" +cert = cafile = "rsa_cert.der" +key = "rsa_key.der" try: os.stat(cafile) diff --git a/tests/multi_net/sslcontext_server_client.py b/tests/multi_net/sslcontext_server_client.py index 4d2ac06c58..c263ae31bb 100644 --- a/tests/multi_net/sslcontext_server_client.py +++ b/tests/multi_net/sslcontext_server_client.py @@ -11,8 +11,8 @@ except ImportError: PORT = 8000 # These are test certificates. See tests/README.md for details. -certfile = "multi_net/rsa_cert.der" -keyfile = "multi_net/rsa_key.der" +certfile = "rsa_cert.der" +keyfile = "rsa_key.der" try: os.stat(certfile) diff --git a/tests/multi_net/sslcontext_server_client_ciphers.py b/tests/multi_net/sslcontext_server_client_ciphers.py index e2de4e6ad4..be7c332b4c 100644 --- a/tests/multi_net/sslcontext_server_client_ciphers.py +++ b/tests/multi_net/sslcontext_server_client_ciphers.py @@ -11,8 +11,8 @@ except ImportError: PORT = 8000 # These are test certificates. See tests/README.md for details. -cert = cafile = "multi_net/rsa_cert.der" -key = "multi_net/rsa_key.der" +cert = cafile = "rsa_cert.der" +key = "rsa_key.der" try: os.stat(cafile) diff --git a/tests/multi_net/sslcontext_server_client_files.py b/tests/multi_net/sslcontext_server_client_files.py index 2c8af21d23..e1ea1b3aa8 100644 --- a/tests/multi_net/sslcontext_server_client_files.py +++ b/tests/multi_net/sslcontext_server_client_files.py @@ -11,8 +11,8 @@ except ImportError: PORT = 8000 # These are test certificates. See tests/README.md for details. -cert = cafile = "multi_net/rsa_cert.der" -key = "multi_net/rsa_key.der" +cert = cafile = "rsa_cert.der" +key = "rsa_key.der" try: os.stat(cafile) diff --git a/tests/multi_net/sslcontext_verify_error.py b/tests/multi_net/sslcontext_verify_error.py index 4feb4ce983..4a7a6cfcc1 100644 --- a/tests/multi_net/sslcontext_verify_error.py +++ b/tests/multi_net/sslcontext_verify_error.py @@ -11,8 +11,8 @@ except ImportError: PORT = 8000 # These are test certificates. See tests/README.md for details. -cert = cafile = "multi_net/rsa_cert.der" -key = "multi_net/rsa_key.der" +cert = cafile = "rsa_cert.der" +key = "rsa_key.der" try: os.stat(cafile) diff --git a/tests/multi_net/sslcontext_verify_time_error.py b/tests/multi_net/sslcontext_verify_time_error.py index 36711acfc8..e5dc496451 100644 --- a/tests/multi_net/sslcontext_verify_time_error.py +++ b/tests/multi_net/sslcontext_verify_time_error.py @@ -11,8 +11,8 @@ except ImportError: PORT = 8000 # These are test certificates. See tests/README.md for details. -cert = cafile = "multi_net/expired_cert.der" -key = "multi_net/rsa_key.der" +cert = cafile = "expired_cert.der" +key = "rsa_key.der" try: os.stat(cafile) diff --git a/tests/run-multitests.py b/tests/run-multitests.py index 5ae8b8ea48..93a6d3844d 100755 --- a/tests/run-multitests.py +++ b/tests/run-multitests.py @@ -27,13 +27,15 @@ import pyboard if os.name == "nt": CPYTHON3 = os.getenv("MICROPY_CPYTHON3", "python3.exe") - MICROPYTHON = os.getenv( - "MICROPY_MICROPYTHON", test_dir + "/../ports/windows/build-standard/micropython.exe" + MICROPYTHON = os.path.abspath( + os.getenv( + "MICROPY_MICROPYTHON", test_dir + "/../ports/windows/build-standard/micropython.exe" + ) ) else: CPYTHON3 = os.getenv("MICROPY_CPYTHON3", "python3") - MICROPYTHON = os.getenv( - "MICROPY_MICROPYTHON", test_dir + "/../ports/unix/build-standard/micropython" + MICROPYTHON = os.path.abspath( + os.getenv("MICROPY_MICROPYTHON", test_dir + "/../ports/unix/build-standard/micropython") ) # For diff'ing test output @@ -155,6 +157,7 @@ class PyInstance: class PyInstanceSubProcess(PyInstance): def __init__(self, argv, env=None): self.argv = argv + self.cwd = None self.env = {n: v for n, v in (i.split("=") for i in env)} if env else None self.popen = None self.finished = True @@ -163,8 +166,9 @@ class PyInstanceSubProcess(PyInstance): return self.argv[0].rsplit("/")[-1] def prepare_script_from_file(self, filename, prepend, append): - # Make tests run in an isolated environment (i.e. `import io` would - # otherwise get the `tests/io` directory). + # Make tests run in the directory of the test file, and in an isolated environment + # (i.e. `import io` would otherwise get the `tests/io` directory). + self.cwd = os.path.dirname(filename) remove_cwd_from_sys_path = b"import sys\nsys.path.remove('')\n\n" return remove_cwd_from_sys_path + super().prepare_script_from_file( filename, prepend, append @@ -179,6 +183,7 @@ class PyInstanceSubProcess(PyInstance): stdout=subprocess.PIPE, stderr=subprocess.STDOUT, input=script, + cwd=self.cwd, env=self.env, ) output = p.stdout @@ -192,6 +197,7 @@ class PyInstanceSubProcess(PyInstance): stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, + cwd=self.cwd, env=self.env, ) self.finished = False