commit:     b7c3bfc042cc33278f161af1b73e040f6500ba8d
Author:     Zac Medico <zmedico <AT> gentoo <DOT> org>
AuthorDate: Mon Dec 18 04:11:54 2023 +0000
Commit:     Zac Medico <zmedico <AT> gentoo <DOT> org>
CommitDate: Mon Dec 18 18:27:12 2023 +0000
URL:        https://gitweb.gentoo.org/proj/portage.git/commit/?id=b7c3bfc0

ResolverPlayground: Create $EPREFIX/usr/bin/python symlink

This ensures that CrossDepPriorityTestCase uses the correct
python implementation when it calls emerge, by overriding
behavior of #!/usr/bin/env python shebangs.

Fixes: 1d856747ada4 ("DepPriority{Normal,Satisfied}Range: weaken 
_ignore_runtime for cross root")
Signed-off-by: Zac Medico <zmedico <AT> gentoo.org>

 lib/portage/tests/dbapi/test_portdb_cache.py                   | 2 +-
 lib/portage/tests/emerge/test_baseline.py                      | 2 +-
 lib/portage/tests/emerge/test_config_protect.py                | 2 +-
 lib/portage/tests/emerge/test_emerge_blocker_file_collision.py | 2 +-
 lib/portage/tests/emerge/test_emerge_slot_abi.py               | 2 +-
 lib/portage/tests/emerge/test_libc_dep_inject.py               | 4 ++--
 lib/portage/tests/resolver/ResolverPlayground.py               | 5 +++--
 lib/portage/tests/sync/test_sync_local.py                      | 2 +-
 8 files changed, 11 insertions(+), 10 deletions(-)

diff --git a/lib/portage/tests/dbapi/test_portdb_cache.py 
b/lib/portage/tests/dbapi/test_portdb_cache.py
index 2f14b7bdf0..c7c6913b49 100644
--- a/lib/portage/tests/dbapi/test_portdb_cache.py
+++ b/lib/portage/tests/dbapi/test_portdb_cache.py
@@ -223,7 +223,7 @@ class PortdbCacheTestCase(TestCase):
             pythonpath = PORTAGE_PYM_PATH + pythonpath
 
         env = {
-            "PATH": os.environ.get("PATH", ""),
+            "PATH": settings["PATH"],
             "PORTAGE_OVERRIDE_EPREFIX": eprefix,
             "PORTAGE_PYTHON": portage_python,
             "PORTAGE_REPOSITORIES": settings.repositories.config_string(),

diff --git a/lib/portage/tests/emerge/test_baseline.py 
b/lib/portage/tests/emerge/test_baseline.py
index 8f44528949..eb4a3372d0 100644
--- a/lib/portage/tests/emerge/test_baseline.py
+++ b/lib/portage/tests/emerge/test_baseline.py
@@ -97,7 +97,7 @@ async def _async_test_baseline(playground, binhost, commands):
     profile_path = settings.profile_path
     user_config_dir = os.path.join(os.sep, eprefix, USER_CONFIG_PATH)
 
-    path = os.environ.get("PATH")
+    path = settings.get("PATH")
     if path is not None and not path.strip():
         path = None
     if path is None:

diff --git a/lib/portage/tests/emerge/test_config_protect.py 
b/lib/portage/tests/emerge/test_config_protect.py
index 560a49a769..e04fc1a920 100644
--- a/lib/portage/tests/emerge/test_config_protect.py
+++ b/lib/portage/tests/emerge/test_config_protect.py
@@ -191,7 +191,7 @@ src_install() {
         fake_bin = os.path.join(eprefix, "bin")
         portage_tmpdir = os.path.join(eprefix, "var", "tmp", "portage")
 
-        path = os.environ.get("PATH")
+        path = settings.get("PATH")
         if path is not None and not path.strip():
             path = None
         if path is None:

diff --git a/lib/portage/tests/emerge/test_emerge_blocker_file_collision.py 
b/lib/portage/tests/emerge/test_emerge_blocker_file_collision.py
index b29a83fce8..1eb7da79fb 100644
--- a/lib/portage/tests/emerge/test_emerge_blocker_file_collision.py
+++ b/lib/portage/tests/emerge/test_emerge_blocker_file_collision.py
@@ -98,7 +98,7 @@ src_install() {
         portage_tmpdir = os.path.join(eprefix, "var", "tmp", "portage")
         profile_path = settings.profile_path
 
-        path = os.environ.get("PATH")
+        path = settings.get("PATH")
         if path is not None and not path.strip():
             path = None
         if path is None:

diff --git a/lib/portage/tests/emerge/test_emerge_slot_abi.py 
b/lib/portage/tests/emerge/test_emerge_slot_abi.py
index 70a18b35c2..c1a8fe8946 100644
--- a/lib/portage/tests/emerge/test_emerge_slot_abi.py
+++ b/lib/portage/tests/emerge/test_emerge_slot_abi.py
@@ -111,7 +111,7 @@ class SlotAbiEmergeTestCase(TestCase):
         portage_tmpdir = os.path.join(eprefix, "var", "tmp", "portage")
         profile_path = settings.profile_path
 
-        path = os.environ.get("PATH")
+        path = settings.get("PATH")
         if path is not None and not path.strip():
             path = None
         if path is None:

diff --git a/lib/portage/tests/emerge/test_libc_dep_inject.py 
b/lib/portage/tests/emerge/test_libc_dep_inject.py
index 31a66e8614..933affcd73 100644
--- a/lib/portage/tests/emerge/test_libc_dep_inject.py
+++ b/lib/portage/tests/emerge/test_libc_dep_inject.py
@@ -186,7 +186,7 @@ class LibcDepInjectEmergeTestCase(TestCase):
         portage_tmpdir = os.path.join(eprefix, "var", "tmp", "portage")
         profile_path = settings.profile_path
 
-        path = os.environ.get("PATH")
+        path = settings.get("PATH")
         if path is not None and not path.strip():
             path = None
         if path is None:
@@ -420,7 +420,7 @@ class LibcDepInjectEmergeTestCase(TestCase):
         portage_tmpdir = os.path.join(eprefix, "var", "tmp", "portage")
         profile_path = settings.profile_path
 
-        path = os.environ.get("PATH")
+        path = settings.get("PATH")
         if path is not None and not path.strip():
             path = None
         if path is None:

diff --git a/lib/portage/tests/resolver/ResolverPlayground.py 
b/lib/portage/tests/resolver/ResolverPlayground.py
index 962550df37..592f5cc5dc 100644
--- a/lib/portage/tests/resolver/ResolverPlayground.py
+++ b/lib/portage/tests/resolver/ResolverPlayground.py
@@ -1,4 +1,4 @@
-# Copyright 2010-2021 Gentoo Authors
+# Copyright 2010-2023 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 import bz2
@@ -139,6 +139,7 @@ class ResolverPlayground:
             # EPREFIX/bin is used by fake true_binaries. Real binaries goes 
into EPREFIX/usr/bin
             eubin = os.path.join(self.eprefix, "usr", "bin")
             ensure_dirs(eubin)
+            os.symlink(portage._python_interpreter, os.path.join(eubin, 
"python"))
             for x in self.portage_bin:
                 os.symlink(os.path.join(PORTAGE_BIN_PATH, x), 
os.path.join(eubin, x))
 
@@ -683,7 +684,7 @@ class ResolverPlayground:
             create_trees_kwargs["target_root"] = self.target_root
 
         env = {
-            "PATH": os.environ["PATH"],
+            "PATH": 
f"{self.eprefix}/usr/sbin:{self.eprefix}/usr/bin:{os.environ['PATH']}",
             "PORTAGE_REPOSITORIES": "\n".join(
                 "[%s]\n%s"
                 % (

diff --git a/lib/portage/tests/sync/test_sync_local.py 
b/lib/portage/tests/sync/test_sync_local.py
index 339d37c250..aeeb5d0b13 100644
--- a/lib/portage/tests/sync/test_sync_local.py
+++ b/lib/portage/tests/sync/test_sync_local.py
@@ -387,7 +387,7 @@ class SyncLocalTestCase(TestCase):
             "GENTOO_COMMITTER_NAME": committer_name,
             "GENTOO_COMMITTER_EMAIL": committer_email,
             "HOME": homedir,
-            "PATH": os.environ["PATH"],
+            "PATH": settings["PATH"],
             "PORTAGE_GRPNAME": os.environ["PORTAGE_GRPNAME"],
             "PORTAGE_USERNAME": os.environ["PORTAGE_USERNAME"],
             "PYTHONDONTWRITEBYTECODE": 
os.environ.get("PYTHONDONTWRITEBYTECODE", ""),

Reply via email to