public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Sam James" <sam@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] proj/portage:master commit in: lib/portage/tests/emerge/
Date: Mon, 30 Oct 2023 03:14:30 +0000 (UTC)	[thread overview]
Message-ID: <1698635665.a9c81ffe93fdd24cf148e119de7d8ad14007b18b.sam@gentoo> (raw)

commit:     a9c81ffe93fdd24cf148e119de7d8ad14007b18b
Author:     David Palao <david.palao <AT> gmail <DOT> com>
AuthorDate: Mon Oct 16 15:34:04 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Oct 30 03:14:25 2023 +0000
URL:        https://gitweb.gentoo.org/proj/portage.git/commit/?id=a9c81ffe

tests/emerge/test_simple.py: remove it.

It has been renamed to test_baseline.py

Signed-off-by: David Palao <david.palao <AT> gmail.com>
Signed-off-by: Sam James <sam <AT> gentoo.org>

 lib/portage/tests/emerge/test_simple.py | 727 --------------------------------
 1 file changed, 727 deletions(-)

diff --git a/lib/portage/tests/emerge/test_simple.py b/lib/portage/tests/emerge/test_simple.py
deleted file mode 100644
index f452a84c6b..0000000000
--- a/lib/portage/tests/emerge/test_simple.py
+++ /dev/null
@@ -1,727 +0,0 @@
-# Copyright 2011-2021, 2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-import argparse
-import subprocess
-import sys
-
-import pytest
-
-import portage
-from portage import shutil, os
-from portage.const import (
-    BASH_BINARY,
-    BINREPOS_CONF_FILE,
-    PORTAGE_PYM_PATH,
-    USER_CONFIG_PATH,
-    SUPPORTED_GENTOO_BINPKG_FORMATS,
-)
-from portage.cache.mappings import Mapping
-from portage.process import find_binary
-from portage.tests import cnf_bindir, cnf_sbindir, cnf_etc_path
-from portage.tests.resolver.ResolverPlayground import ResolverPlayground
-from portage.tests.util.test_socks5 import AsyncHTTPServer
-from portage.util import ensure_dirs, find_updated_config_files, shlex_split
-from portage.util.futures import asyncio
-from portage.output import colorize
-
-
-class BinhostContentMap(Mapping):
-    def __init__(self, remote_path, local_path):
-        self._remote_path = remote_path
-        self._local_path = local_path
-
-
-@pytest.mark.ft
-def test_simple_emerge(async_loop, playground, binhost, simple_command):
-    async_loop.run_until_complete(
-        asyncio.ensure_future(
-            _async_test_simple(
-                playground,
-                binhost,
-                simple_command,
-                _METADATA_XML_FILES,
-                loop=async_loop,
-            ),
-            loop=async_loop,
-        )
-        try:
-            with open(local_path, "rb") as f:
-                return f.read()
-        except OSError:
-            raise KeyError(request_path)
-
-
-class SimpleEmergeTestCase(TestCase):
-    def _have_python_xml(self):
-        try:
-            __import__("xml.etree.ElementTree")
-            __import__("xml.parsers.expat").parsers.expat.ExpatError
-        except (AttributeError, ImportError):
-            return False
-        return True
-
-    def testSimple(self):
-        debug = False
-
-        install_something = """
-S="${WORKDIR}"
-
-pkg_pretend() {
-	einfo "called pkg_pretend for $CATEGORY/$PF"
-}
-
-src_install() {
-	einfo "installing something..."
-	insinto /usr/lib/${P}
-	echo "blah blah blah" > "${T}"/regular-file
-	doins "${T}"/regular-file
-	dosym regular-file /usr/lib/${P}/symlink || die
-
-	# Test CONFIG_PROTECT
-	insinto /etc
-	newins "${T}"/regular-file ${PN}-${SLOT%/*}
-
-	# Test code for bug #381629, using a copyright symbol encoded with latin-1.
-	# We use $(printf "\\xa9") rather than $'\\xa9', since printf apparently
-	# works in any case, while $'\\xa9' transforms to \\xef\\xbf\\xbd under
-	# some conditions. TODO: Find out why it transforms to \\xef\\xbf\\xbd when
-	# running tests for Python 3.2 (even though it's bash that is ultimately
-	# responsible for performing the transformation).
-	local latin_1_dir=/usr/lib/${P}/latin-1-$(printf "\\xa9")-directory
-	insinto "${latin_1_dir}"
-	echo "blah blah blah" > "${T}"/latin-1-$(printf "\\xa9")-regular-file || die
-	doins "${T}"/latin-1-$(printf "\\xa9")-regular-file
-	dosym latin-1-$(printf "\\xa9")-regular-file ${latin_1_dir}/latin-1-$(printf "\\xa9")-symlink || die
-
-	call_has_and_best_version
-}
-
-pkg_config() {
-	einfo "called pkg_config for $CATEGORY/$PF"
-}
-
-pkg_info() {
-	einfo "called pkg_info for $CATEGORY/$PF"
-}
-
-pkg_preinst() {
-	if ! ___eapi_best_version_and_has_version_support_-b_-d_-r; then
-		# The BROOT variable is unset during pkg_* phases for EAPI 7,
-		# therefore best/has_version -b is expected to fail if we attempt
-		# to call it for EAPI 7 here.
-		call_has_and_best_version
-	fi
-}
-
-call_has_and_best_version() {
-	local root_arg
-	if ___eapi_best_version_and_has_version_support_-b_-d_-r; then
-		root_arg="-b"
-	else
-		root_arg="--host-root"
-	fi
-	einfo "called ${EBUILD_PHASE_FUNC} for $CATEGORY/$PF"
-	einfo "EPREFIX=${EPREFIX}"
-	einfo "PORTAGE_OVERRIDE_EPREFIX=${PORTAGE_OVERRIDE_EPREFIX}"
-	einfo "ROOT=${ROOT}"
-	einfo "EROOT=${EROOT}"
-	einfo "SYSROOT=${SYSROOT}"
-	einfo "ESYSROOT=${ESYSROOT}"
-	einfo "BROOT=${BROOT}"
-	# Test that has_version and best_version work correctly with
-	# prefix (involves internal ROOT -> EROOT calculation in order
-	# to support ROOT override via the environment with EAPIs 3
-	# and later which support prefix).
-	if has_version $CATEGORY/$PN:$SLOT ; then
-		einfo "has_version detects an installed instance of $CATEGORY/$PN:$SLOT"
-		einfo "best_version reports that the installed instance is $(best_version $CATEGORY/$PN:$SLOT)"
-	else
-		einfo "has_version does not detect an installed instance of $CATEGORY/$PN:$SLOT"
-	fi
-	if [[ ${EPREFIX} != ${PORTAGE_OVERRIDE_EPREFIX} ]] ; then
-		if has_version ${root_arg} $CATEGORY/$PN:$SLOT ; then
-			einfo "has_version ${root_arg} detects an installed instance of $CATEGORY/$PN:$SLOT"
-			einfo "best_version ${root_arg} reports that the installed instance is $(best_version ${root_arg} $CATEGORY/$PN:$SLOT)"
-		else
-			einfo "has_version ${root_arg} does not detect an installed instance of $CATEGORY/$PN:$SLOT"
-		fi
-	fi
-}
-
-"""
-
-        _AVAILABLE_EBUILDS = {
-            "dev-libs/A-1": {
-                "EAPI": "5",
-                "IUSE": "+flag",
-                "KEYWORDS": "x86",
-                "LICENSE": "GPL-2",
-                "MISC_CONTENT": _INSTALL_SOMETHING,
-                "RDEPEND": "flag? ( dev-libs/B[flag] )",
-            },
-            "dev-libs/B-1": {
-                "EAPI": "5",
-                "IUSE": "+flag",
-                "KEYWORDS": "x86",
-                "LICENSE": "GPL-2",
-                "MISC_CONTENT": _INSTALL_SOMETHING,
-            },
-            "dev-libs/C-1": {
-                "EAPI": "7",
-                "KEYWORDS": "~x86",
-                "RDEPEND": "dev-libs/D[flag]",
-                "MISC_CONTENT": _INSTALL_SOMETHING,
-            },
-            "dev-libs/D-1": {
-                "EAPI": "7",
-                "KEYWORDS": "~x86",
-                "IUSE": "flag",
-                "MISC_CONTENT": _INSTALL_SOMETHING,
-            },
-            "virtual/foo-0": {
-                "EAPI": "5",
-                "KEYWORDS": "x86",
-                "LICENSE": "GPL-2",
-            },
-        }
-
-        installed = {
-            "dev-libs/A-1": {
-                "EAPI": "5",
-                "IUSE": "+flag",
-                "KEYWORDS": "x86",
-                "LICENSE": "GPL-2",
-                "RDEPEND": "flag? ( dev-libs/B[flag] )",
-                "USE": "flag",
-            },
-            "dev-libs/B-1": {
-                "EAPI": "5",
-                "IUSE": "+flag",
-                "KEYWORDS": "x86",
-                "LICENSE": "GPL-2",
-                "USE": "flag",
-            },
-            "dev-libs/depclean-me-1": {
-                "EAPI": "5",
-                "IUSE": "",
-                "KEYWORDS": "x86",
-                "LICENSE": "GPL-2",
-                "USE": "",
-            },
-            "app-misc/depclean-me-1": {
-                "EAPI": "5",
-                "IUSE": "",
-                "KEYWORDS": "x86",
-                "LICENSE": "GPL-2",
-                "RDEPEND": "dev-libs/depclean-me",
-                "USE": "",
-            },
-        }
-
-        metadata_xml_files = (
-            (
-                "dev-libs/A",
-                {
-                    "flags": "<flag name='flag'>Description of how USE='flag' affects this package</flag>",
-                },
-            ),
-            (
-                "dev-libs/B",
-                {
-                    "flags": "<flag name='flag'>Description of how USE='flag' affects this package</flag>",
-                },
-            ),
-        )
-        try:
-            with open(local_path, "rb") as f:
-                return f.read()
-        except OSError:
-            raise KeyError(request_path)
-
-
-def test_simple_emerge():
-    debug = False
-
-    for binpkg_format in SUPPORTED_GENTOO_BINPKG_FORMATS:
-        playground = ResolverPlayground(
-            ebuilds=_AVAILABLE_EBUILDS,
-            installed=_INSTALLED_EBUILDS,
-            debug=debug,
-            user_config={
-                "make.conf": (f'BINPKG_FORMAT="{binpkg_format}"',),
-            },
-        )
-
-        loop = asyncio._wrap_loop()
-        loop.run_until_complete(
-            asyncio.ensure_future(
-                _async_test_simple(playground, _METADATA_XML_FILES, loop=loop),
-                loop=loop,
-            )
-        )
-
-
-async def _async_test_simple(playground, metadata_xml_files, loop):
-    debug = playground.debug
-    settings = playground.settings
-    eprefix = settings["EPREFIX"]
-    eroot = settings["EROOT"]
-    trees = playground.trees
-    portdb = trees[eroot]["porttree"].dbapi
-    test_repo_location = settings.repositories["test_repo"].location
-    var_cache_edb = os.path.join(eprefix, "var", "cache", "edb")
-    cachedir = os.path.join(var_cache_edb, "dep")
-    cachedir_pregen = os.path.join(test_repo_location, "metadata", "md5-cache")
-
-    portage_python = portage._python_interpreter
-    dispatch_conf_cmd = (
-        portage_python,
-        "-b",
-        "-Wd",
-        os.path.join(cnf_sbindir, "dispatch-conf"),
-    )
-    ebuild_cmd = (portage_python, "-b", "-Wd", os.path.join(cnf_bindir, "ebuild"))
-    egencache_cmd = (
-        portage_python,
-        "-b",
-        "-Wd",
-        os.path.join(cnf_bindir, "egencache"),
-        "--repo",
-        "test_repo",
-        "--repositories-configuration",
-        settings.repositories.config_string(),
-    )
-    emerge_cmd = (portage_python, "-b", "-Wd", os.path.join(cnf_bindir, "emerge"))
-    emaint_cmd = (portage_python, "-b", "-Wd", os.path.join(cnf_sbindir, "emaint"))
-    env_update_cmd = (
-        portage_python,
-        "-b",
-        "-Wd",
-        os.path.join(cnf_sbindir, "env-update"),
-    )
-    etc_update_cmd = (BASH_BINARY, os.path.join(cnf_sbindir, "etc-update"))
-    fixpackages_cmd = (
-        portage_python,
-        "-b",
-        "-Wd",
-        os.path.join(cnf_sbindir, "fixpackages"),
-    )
-    portageq_cmd = (
-        portage_python,
-        "-b",
-        "-Wd",
-        os.path.join(cnf_bindir, "portageq"),
-    )
-    quickpkg_cmd = (
-        portage_python,
-        "-b",
-        "-Wd",
-        os.path.join(cnf_bindir, "quickpkg"),
-    )
-    regenworld_cmd = (
-        portage_python,
-        "-b",
-        "-Wd",
-        os.path.join(cnf_sbindir, "regenworld"),
-    )
-
-    rm_binary = find_binary("rm")
-    assert rm_binary is not None, "rm command not found"
-    rm_cmd = (rm_binary,)
-
-    egencache_extra_args = []
-    if _have_python_xml():
-        egencache_extra_args.append("--update-use-local-desc")
-
-    test_ebuild = portdb.findname("dev-libs/A-1")
-    assert test_ebuild is not None
-
-    cross_prefix = os.path.join(eprefix, "cross_prefix")
-    cross_root = os.path.join(eprefix, "cross_root")
-    cross_eroot = os.path.join(cross_root, eprefix.lstrip(os.sep))
-
-    binhost_dir = os.path.join(eprefix, "binhost")
-    binhost_address = "127.0.0.1"
-    binhost_remote_path = "/binhost"
-    binhost_server = AsyncHTTPServer(
-        binhost_address, BinhostContentMap(binhost_remote_path, binhost_dir), loop
-    ).__enter__()
-    binhost_uri = "http://{address}:{port}{path}".format(
-        address=binhost_address,
-        port=binhost_server.server_port,
-        path=binhost_remote_path,
-    )
-
-    binpkg_format = settings.get("BINPKG_FORMAT", SUPPORTED_GENTOO_BINPKG_FORMATS[0])
-    assert binpkg_format in ("xpak", "gpkg")
-    if binpkg_format == "xpak":
-        foo_filename = "foo-0-1.xpak"
-    elif binpkg_format == "gpkg":
-        foo_filename = "foo-0-1.gpkg.tar"
-
-    test_commands = ()
-
-    if hasattr(argparse.ArgumentParser, "parse_intermixed_args"):
-        test_commands += (emerge_cmd + ("--oneshot", "dev-libs/A", "-v", "dev-libs/A"),)
-
-    test_commands += (
-        emerge_cmd
-        + (
-            "--usepkgonly",
-            "--root",
-            cross_root,
-            "--quickpkg-direct=y",
-            "--quickpkg-direct-root",
-            "/",
-            "dev-libs/A",
-        ),
-        emerge_cmd
-        + (
-            "--usepkgonly",
-            "--quickpkg-direct=y",
-            "--quickpkg-direct-root",
-            cross_root,
-            "dev-libs/A",
-        ),
-        env_update_cmd,
-        portageq_cmd
-        + (
-            "envvar",
-            "-v",
-            "CONFIG_PROTECT",
-            "EROOT",
-            "PORTAGE_CONFIGROOT",
-            "PORTAGE_TMPDIR",
-            "USERLAND",
-        ),
-        etc_update_cmd,
-        dispatch_conf_cmd,
-        emerge_cmd + ("--version",),
-        emerge_cmd + ("--info",),
-        emerge_cmd + ("--info", "--verbose"),
-        emerge_cmd + ("--list-sets",),
-        emerge_cmd + ("--check-news",),
-        rm_cmd + ("-rf", cachedir),
-        rm_cmd + ("-rf", cachedir_pregen),
-        emerge_cmd + ("--regen",),
-        rm_cmd + ("-rf", cachedir),
-        ({"FEATURES": "metadata-transfer"},) + emerge_cmd + ("--regen",),
-        rm_cmd + ("-rf", cachedir),
-        ({"FEATURES": "metadata-transfer"},) + emerge_cmd + ("--regen",),
-        rm_cmd + ("-rf", cachedir),
-        egencache_cmd + ("--update",) + tuple(egencache_extra_args),
-        ({"FEATURES": "metadata-transfer"},) + emerge_cmd + ("--metadata",),
-        rm_cmd + ("-rf", cachedir),
-        ({"FEATURES": "metadata-transfer"},) + emerge_cmd + ("--metadata",),
-        emerge_cmd + ("--metadata",),
-        rm_cmd + ("-rf", cachedir),
-        emerge_cmd + ("--oneshot", "virtual/foo"),
-        lambda: self.assertFalse(
-            os.path.exists(os.path.join(pkgdir, "virtual", "foo", foo_filename))
-        ),
-        ({"FEATURES": "unmerge-backup"},) + emerge_cmd + ("--unmerge", "virtual/foo"),
-        lambda: self.assertTrue(
-            os.path.exists(os.path.join(pkgdir, "virtual", "foo", foo_filename))
-        ),
-        emerge_cmd + ("--pretend", "dev-libs/A"),
-        ebuild_cmd + (test_ebuild, "manifest", "clean", "package", "merge"),
-        emerge_cmd + ("--pretend", "--tree", "--complete-graph", "dev-libs/A"),
-        emerge_cmd + ("-p", "dev-libs/B"),
-        emerge_cmd + ("-p", "--newrepo", "dev-libs/B"),
-        emerge_cmd
-        + (
-            "-B",
-            "dev-libs/B",
-        ),
-        emerge_cmd
-        + (
-            "--oneshot",
-            "--usepkg",
-            "dev-libs/B",
-        ),
-        # trigger clean prior to pkg_pretend as in bug #390711
-        ebuild_cmd + (test_ebuild, "unpack"),
-        emerge_cmd
-        + (
-            "--oneshot",
-            "dev-libs/A",
-        ),
-        emerge_cmd
-        + (
-            "--noreplace",
-            "dev-libs/A",
-        ),
-        emerge_cmd
-        + (
-            "--config",
-            "dev-libs/A",
-        ),
-        emerge_cmd + ("--info", "dev-libs/A", "dev-libs/B"),
-        emerge_cmd + ("--pretend", "--depclean", "--verbose", "dev-libs/B"),
-        emerge_cmd
-        + (
-            "--pretend",
-            "--depclean",
-        ),
-        emerge_cmd + ("--depclean",),
-        quickpkg_cmd
-        + (
-            "--include-config",
-            "y",
-            "dev-libs/A",
-        ),
-        # Test bug #523684, where a file renamed or removed by the
-        # admin forces replacement files to be merged with config
-        # protection.
-        lambda: self.assertEqual(
-            0,
-            len(
-                list(
-                    find_updated_config_files(
-                        eroot, shlex_split(settings["CONFIG_PROTECT"])
-                    )
-                )
-            ),
-        ),
-        lambda: os.unlink(os.path.join(eprefix, "etc", "A-0")),
-        emerge_cmd + ("--usepkgonly", "dev-libs/A"),
-        lambda: self.assertEqual(
-            1,
-            len(
-                list(
-                    find_updated_config_files(
-                        eroot, shlex_split(settings["CONFIG_PROTECT"])
-                    )
-                )
-            ),
-        ),
-        emaint_cmd + ("--check", "all"),
-        emaint_cmd + ("--fix", "all"),
-        fixpackages_cmd,
-        regenworld_cmd,
-        portageq_cmd + ("match", eroot, "dev-libs/A"),
-        portageq_cmd + ("best_visible", eroot, "dev-libs/A"),
-        portageq_cmd + ("best_visible", eroot, "binary", "dev-libs/A"),
-        portageq_cmd + ("contents", eroot, "dev-libs/A-1"),
-        portageq_cmd
-        + ("metadata", eroot, "ebuild", "dev-libs/A-1", "EAPI", "IUSE", "RDEPEND"),
-        portageq_cmd
-        + ("metadata", eroot, "binary", "dev-libs/A-1", "EAPI", "USE", "RDEPEND"),
-        portageq_cmd
-        + (
-            "metadata",
-            eroot,
-            "installed",
-            "dev-libs/A-1",
-            "EAPI",
-            "USE",
-            "RDEPEND",
-        ),
-        portageq_cmd + ("owners", eroot, eroot + "usr"),
-        emerge_cmd + ("-p", eroot + "usr"),
-        emerge_cmd + ("-p", "--unmerge", "-q", eroot + "usr"),
-        emerge_cmd + ("--unmerge", "--quiet", "dev-libs/A"),
-        emerge_cmd + ("-C", "--quiet", "dev-libs/B"),
-        # If EMERGE_DEFAULT_OPTS contains --autounmask=n, then --autounmask
-        # must be specified with --autounmask-continue.
-        ({"EMERGE_DEFAULT_OPTS": "--autounmask=n"},)
-        + emerge_cmd
-        + (
-            "--autounmask",
-            "--autounmask-continue",
-            "dev-libs/C",
-        ),
-        # Verify that the above --autounmask-continue command caused
-        # USE=flag to be applied correctly to dev-libs/D.
-        portageq_cmd + ("match", eroot, "dev-libs/D[flag]"),
-        # Test cross-prefix usage, including chpathtool for binpkgs.
-        # EAPI 7
-        ({"EPREFIX": cross_prefix},) + emerge_cmd + ("dev-libs/C",),
-        ({"EPREFIX": cross_prefix},)
-        + portageq_cmd
-        + ("has_version", cross_prefix, "dev-libs/C"),
-        ({"EPREFIX": cross_prefix},)
-        + portageq_cmd
-        + ("has_version", cross_prefix, "dev-libs/D"),
-        ({"ROOT": cross_root},) + emerge_cmd + ("dev-libs/D",),
-        portageq_cmd + ("has_version", cross_eroot, "dev-libs/D"),
-        # EAPI 5
-        ({"EPREFIX": cross_prefix},) + emerge_cmd + ("--usepkgonly", "dev-libs/A"),
-        ({"EPREFIX": cross_prefix},)
-        + portageq_cmd
-        + ("has_version", cross_prefix, "dev-libs/A"),
-        ({"EPREFIX": cross_prefix},)
-        + portageq_cmd
-        + ("has_version", cross_prefix, "dev-libs/B"),
-        ({"EPREFIX": cross_prefix},) + emerge_cmd + ("-C", "--quiet", "dev-libs/B"),
-        ({"EPREFIX": cross_prefix},) + emerge_cmd + ("-C", "--quiet", "dev-libs/A"),
-        ({"EPREFIX": cross_prefix},) + emerge_cmd + ("dev-libs/A",),
-        ({"EPREFIX": cross_prefix},)
-        + portageq_cmd
-        + ("has_version", cross_prefix, "dev-libs/A"),
-        ({"EPREFIX": cross_prefix},)
-        + portageq_cmd
-        + ("has_version", cross_prefix, "dev-libs/B"),
-        # Test ROOT support
-        ({"ROOT": cross_root},) + emerge_cmd + ("dev-libs/B",),
-        portageq_cmd + ("has_version", cross_eroot, "dev-libs/B"),
-    )
-
-    # Test binhost support if FETCHCOMMAND is available.
-    binrepos_conf_file = os.path.join(os.sep, eprefix, BINREPOS_CONF_FILE)
-    with open(binrepos_conf_file, "w") as f:
-        f.write("[test-binhost]\n")
-        f.write(f"sync-uri = {binhost_uri}\n")
-    fetchcommand = portage.util.shlex_split(playground.settings["FETCHCOMMAND"])
-    fetch_bin = portage.process.find_binary(fetchcommand[0])
-    if fetch_bin is not None:
-        test_commands = test_commands + (
-            lambda: os.rename(pkgdir, binhost_dir),
-            emerge_cmd + ("-e", "--getbinpkgonly", "dev-libs/A"),
-            lambda: shutil.rmtree(pkgdir),
-            lambda: os.rename(binhost_dir, pkgdir),
-            # Remove binrepos.conf and test PORTAGE_BINHOST.
-            lambda: os.unlink(binrepos_conf_file),
-            lambda: os.rename(pkgdir, binhost_dir),
-            ({"PORTAGE_BINHOST": binhost_uri},)
-            + emerge_cmd
-            + ("-fe", "--getbinpkgonly", "dev-libs/A"),
-            lambda: shutil.rmtree(pkgdir),
-            lambda: os.rename(binhost_dir, pkgdir),
-        )
-
-    distdir = playground.distdir
-    pkgdir = playground.pkgdir
-    fake_bin = os.path.join(eprefix, "bin")
-    portage_tmpdir = os.path.join(eprefix, "var", "tmp", "portage")
-    profile_path = settings.profile_path
-    user_config_dir = os.path.join(os.sep, eprefix, USER_CONFIG_PATH)
-
-    path = os.environ.get("PATH")
-    if path is not None and not path.strip():
-        path = None
-    if path is None:
-        path = ""
-    else:
-        path = ":" + path
-    path = fake_bin + path
-
-    pythonpath = os.environ.get("PYTHONPATH")
-    if pythonpath is not None and not pythonpath.strip():
-        pythonpath = None
-    if pythonpath is not None and pythonpath.split(":")[0] == PORTAGE_PYM_PATH:
-        pass
-    else:
-        if pythonpath is None:
-            pythonpath = ""
-        else:
-            pythonpath = ":" + pythonpath
-        pythonpath = PORTAGE_PYM_PATH + pythonpath
-
-    env = {
-        "PORTAGE_OVERRIDE_EPREFIX": eprefix,
-        "CLEAN_DELAY": "0",
-        "DISTDIR": distdir,
-        "EMERGE_WARNING_DELAY": "0",
-        "INFODIR": "",
-        "INFOPATH": "",
-        "PATH": path,
-        "PKGDIR": pkgdir,
-        "PORTAGE_INST_GID": str(os.getgid()),  # str(portage.data.portage_gid),
-        "PORTAGE_INST_UID": str(os.getuid()),  # str(portage.data.portage_uid),
-        "PORTAGE_PYTHON": portage_python,
-        "PORTAGE_REPOSITORIES": settings.repositories.config_string(),
-        "PORTAGE_TMPDIR": portage_tmpdir,
-        "PORTAGE_LOGDIR": portage_tmpdir,
-        "PYTHONDONTWRITEBYTECODE": os.environ.get("PYTHONDONTWRITEBYTECODE", ""),
-        "PYTHONPATH": pythonpath,
-        "__PORTAGE_TEST_PATH_OVERRIDE": fake_bin,
-    }
-
-    if "__PORTAGE_TEST_HARDLINK_LOCKS" in os.environ:
-        env["__PORTAGE_TEST_HARDLINK_LOCKS"] = os.environ[
-            "__PORTAGE_TEST_HARDLINK_LOCKS"
-        ]
-
-    updates_dir = os.path.join(test_repo_location, "profiles", "updates")
-    dirs = [
-        cachedir,
-        cachedir_pregen,
-        cross_eroot,
-        cross_prefix,
-        distdir,
-        fake_bin,
-        portage_tmpdir,
-        updates_dir,
-        user_config_dir,
-        var_cache_edb,
-    ]
-    etc_symlinks = ("dispatch-conf.conf", "etc-update.conf")
-    # Override things that may be unavailable, or may have portability
-    # issues when running tests in exotic environments.
-    #   prepstrip - bug #447810 (bash read builtin EINTR problem)
-    true_symlinks = ["find", "prepstrip", "sed", "scanelf"]
-    true_binary = find_binary("true")
-    assert true_binary is not None, "true command not found"
-    try:
-        for d in dirs:
-            ensure_dirs(d)
-        for x in true_symlinks:
-            os.symlink(true_binary, os.path.join(fake_bin, x))
-        for x in etc_symlinks:
-            os.symlink(os.path.join(cnf_etc_path, x), os.path.join(eprefix, "etc", x))
-        with open(os.path.join(var_cache_edb, "counter"), "wb") as f:
-            f.write(b"100")
-        # non-empty system set keeps --depclean quiet
-        with open(os.path.join(profile_path, "packages"), "w") as f:
-            f.write("*dev-libs/token-system-pkg")
-        for cp, xml_data in metadata_xml_files:
-            with open(os.path.join(test_repo_location, cp, "metadata.xml"), "w") as f:
-                f.write(playground.metadata_xml_template % xml_data)
-            with open(os.path.join(updates_dir, "1Q-2010"), "w") as f:
-                f.write(
-                    """
-slotmove =app-doc/pms-3 2 3
-move dev-util/git dev-vcs/git
-"""
-                )
-
-        if debug:
-            # The subprocess inherits both stdout and stderr, for
-            # debugging purposes.
-            stdout = None
-        else:
-            # The subprocess inherits stderr so that any warnings
-            # triggered by python -Wd will be visible.
-            stdout = subprocess.PIPE
-
-        for idx, args in enumerate(test_commands):
-            if hasattr(args, "__call__"):
-                args()
-                continue
-
-            if isinstance(args[0], dict):
-                local_env = env.copy()
-                local_env.update(args[0])
-                args = args[1:]
-            else:
-                local_env = env
-
-            # with self.subTest(cmd=args, i=idx):
-            proc = await asyncio.create_subprocess_exec(
-                *args, env=local_env, stderr=None, stdout=stdout
-            )
-
-            if debug:
-                await proc.wait()
-            else:
-                output, _err = await proc.communicate()
-                await proc.wait()
-                if proc.returncode != os.EX_OK:
-                    portage.writemsg(output)
-
-            assert os.EX_OK == proc.returncode, f"emerge failed with args {args}"
-    finally:
-        binhost_server.__exit__(None, None, None)
-        playground.cleanup()


             reply	other threads:[~2023-10-30  3:14 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-10-30  3:14 Sam James [this message]
  -- strict thread matches above, loose matches on Subject: below --
2024-02-25  8:25 [gentoo-commits] proj/portage:master commit in: lib/portage/tests/emerge/ Sam James
2024-02-24  3:36 Zac Medico
2024-01-03 19:59 Sam James
2023-10-30  3:14 Sam James
2023-10-30  3:14 Sam James
2023-10-30  3:14 Sam James
2023-10-30  3:14 Sam James
2023-10-30  3:14 Sam James
2023-10-30  3:14 Sam James
2023-10-30  3:14 Sam James
2023-10-30  3:14 Sam James
2023-10-30  3:14 Sam James
2023-10-30  3:14 Sam James
2023-10-30  3:14 Sam James
2023-10-30  3:14 Sam James
2023-10-30  3:14 Sam James
2023-10-30  3:14 Sam James
2023-10-30  3:14 Sam James
2023-10-30  3:14 Sam James
2023-10-30  3:14 Sam James
2023-10-30  3:14 Sam James
2023-10-30  3:14 Sam James
2023-10-30  3:14 Sam James
2023-10-30  3:14 Sam James
2023-10-30  3:14 Sam James
2023-10-30  3:14 Sam James
2023-10-30  3:14 Sam James
2023-05-26 15:45 Sam James
2023-05-26 15:45 Sam James
2022-09-25 19:12 Mike Gilbert
2021-01-18 12:20 Zac Medico
2020-10-17  9:21 Zac Medico
2020-10-12 18:03 Zac Medico
2020-08-03 23:28 Zac Medico
2020-08-03 19:30 Zac Medico
2020-03-08 22:29 Zac Medico
2020-03-08  7:33 Zac Medico

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1698635665.a9c81ffe93fdd24cf148e119de7d8ad14007b18b.sam@gentoo \
    --to=sam@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox