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", ""),