rdobuilder ed0f26
From b88042cfb32866a00d39b678bb224eb55ecf53c1 Mon Sep 17 00:00:00 2001
rdobuilder ed0f26
From: Lumir Balhar <lbalhar@redhat.com>
rdobuilder ed0f26
Date: Tue, 22 Jun 2021 22:10:17 +0200
rdobuilder ed0f26
Subject: [PATCH] Preserve any existing PYTHONPATH in tests
rdobuilder ed0f26
rdobuilder ed0f26
---
rdobuilder ed0f26
 tests/conftest.py | 10 ++++++++--
rdobuilder ed0f26
 1 file changed, 8 insertions(+), 2 deletions(-)
rdobuilder ed0f26
rdobuilder ed0f26
diff --git a/tests/conftest.py b/tests/conftest.py
rdobuilder ed0f26
index 4ad1ff23..7200d286 100644
rdobuilder ed0f26
--- a/tests/conftest.py
rdobuilder ed0f26
+++ b/tests/conftest.py
rdobuilder ed0f26
@@ -118,9 +118,15 @@ def dev_server(xprocess, request, tmp_path):
rdobuilder ed0f26
         class Starter(ProcessStarter):
rdobuilder ed0f26
             args = [sys.executable, run_path, name, json.dumps(kwargs)]
rdobuilder ed0f26
             # Extend the existing env, otherwise Windows and CI fails.
rdobuilder ed0f26
-            # Modules will be imported from tmp_path for the reloader.
rdobuilder ed0f26
+            # Modules will be imported from tmp_path for the reloader
rdobuilder ed0f26
+            # but any existing PYTHONPATH is preserved.
rdobuilder ed0f26
             # Unbuffered output so the logs update immediately.
rdobuilder ed0f26
-            env = {**os.environ, "PYTHONPATH": str(tmp_path), "PYTHONUNBUFFERED": "1"}
rdobuilder ed0f26
+            original_python_path = os.getenv("PYTHONPATH")
rdobuilder ed0f26
+            if original_python_path:
rdobuilder ed0f26
+                new_python_path = os.pathsep.join((original_python_path, str(tmp_path)))
rdobuilder ed0f26
+            else:
rdobuilder ed0f26
+                new_python_path = str(tmp_path)
rdobuilder ed0f26
+            env = {**os.environ, "PYTHONPATH": new_python_path, "PYTHONUNBUFFERED": "1"}
rdobuilder ed0f26
 
rdobuilder ed0f26
             @cached_property
rdobuilder ed0f26
             def pattern(self):
rdobuilder ed0f26
-- 
rdobuilder ed0f26
2.31.1
rdobuilder ed0f26