<86>Aug 22 02:25:35 userdel[3099628]: delete user 'rooter' <86>Aug 22 02:25:35 userdel[3099628]: removed group 'rooter' owned by 'rooter' <86>Aug 22 02:25:35 userdel[3099628]: removed shadow group 'rooter' owned by 'rooter' <86>Aug 22 02:25:35 groupadd[3099641]: group added to /etc/group: name=rooter, GID=1838 <86>Aug 22 02:25:35 groupadd[3099641]: group added to /etc/gshadow: name=rooter <86>Aug 22 02:25:35 groupadd[3099641]: new group: name=rooter, GID=1838 <86>Aug 22 02:25:35 useradd[3099652]: new user: name=rooter, UID=1838, GID=1838, home=/root, shell=/bin/bash, from=none <86>Aug 22 02:25:35 userdel[3099670]: delete user 'builder' <86>Aug 22 02:25:35 userdel[3099670]: removed group 'builder' owned by 'builder' <86>Aug 22 02:25:35 userdel[3099670]: removed shadow group 'builder' owned by 'builder' <86>Aug 22 02:25:35 groupadd[3099696]: group added to /etc/group: name=builder, GID=1839 <86>Aug 22 02:25:35 groupadd[3099696]: group added to /etc/gshadow: name=builder <86>Aug 22 02:25:35 groupadd[3099696]: new group: name=builder, GID=1839 <86>Aug 22 02:25:35 useradd[3099713]: new user: name=builder, UID=1839, GID=1839, home=/usr/src, shell=/bin/bash, from=none <13>Aug 22 02:25:38 rpmi: libmpdec3-2.5.1-alt3 sisyphus+314490.500.5.1 1675432004 installed <13>Aug 22 02:25:38 rpmi: libgdbm-1.8.3-alt10 sisyphus+346222.200.3.2 1716468404 installed <13>Aug 22 02:25:38 rpmi: libexpat-2.5.0-alt1 sisyphus+346180.200.2.1 1716349835 installed <13>Aug 22 02:25:38 rpmi: libb2-0.98.1-alt1_1 sisyphus+291614.100.1.1 1638962877 installed <13>Aug 22 02:25:38 rpmi: libp11-kit-1:0.25.5-alt1 sisyphus+352553.100.1.1 1720622573 installed <13>Aug 22 02:25:38 rpmi: libtasn1-4.19.0-alt3 sisyphus+327816.100.1.1 1692802615 installed <13>Aug 22 02:25:38 rpmi: rpm-macros-alternatives-0.5.2-alt2 sisyphus+315270.200.2.1 1676457367 installed <13>Aug 22 02:25:38 rpmi: alternatives-0.5.2-alt2 sisyphus+315270.200.2.1 1676457367 installed <13>Aug 22 02:25:38 rpmi: ca-certificates-2024.07.01-alt1 sisyphus+351897.100.1.1 1719826350 installed <13>Aug 22 02:25:38 rpmi: ca-trust-0.2.0-alt1 sisyphus+344843.100.1.1 1712743326 installed <13>Aug 22 02:25:38 rpmi: p11-kit-trust-1:0.25.5-alt1 sisyphus+352553.100.1.1 1720622573 installed <13>Aug 22 02:25:38 rpmi: libcrypto3-3.1.6-alt1 sisyphus+350419.100.1.1 1717605656 installed <13>Aug 22 02:25:38 rpmi: libssl3-3.1.6-alt1 sisyphus+350419.100.1.1 1717605656 installed <13>Aug 22 02:25:38 rpmi: python3-3.12.5-alt1 sisyphus+355289.200.2.1 1723833848 installed <13>Aug 22 02:25:39 rpmi: python3-base-3.12.5-alt1 sisyphus+355289.200.2.1 1723833848 installed <13>Aug 22 02:25:39 rpmi: python3-module-py3dephell-0.1.0-alt2 sisyphus+328191.600.5.1 1693609196 installed <13>Aug 22 02:25:39 rpmi: python3-module-pyproject-installer-0.5.4-alt1 sisyphus+352023.140.3.1 1720195943 installed <13>Aug 22 02:25:39 rpmi: rpm-macros-pyproject-0.0.6-alt1 sisyphus+352023.260.4.1 1720458032 installed <13>Aug 22 02:25:39 rpmi: tests-for-installed-python3-pkgs-0.1.25-alt1 sisyphus+344685.100.1.1 1712595070 installed <13>Aug 22 02:25:39 rpmi: rpm-build-python3-0.1.25-alt1 sisyphus+344685.100.1.1 1712595070 installed <13>Aug 22 02:25:39 rpmi: rpm-build-pyproject-0.0.6-alt1 sisyphus+352023.260.4.1 1720458032 installed <13>Aug 22 02:25:42 rpmi: libidn2-2.3.7-alt1 sisyphus+339505.100.1.2 1706718968 installed <13>Aug 22 02:25:42 rpmi: libnettle8-3.9.1-alt1 sisyphus+322548.100.1.2 1686176879 installed <13>Aug 22 02:25:42 rpmi: python3-module-packaging-24.1-alt1 sisyphus+350717.100.2.1 1718268656 installed <13>Aug 22 02:25:42 rpmi: python3-module-pyasn1-0.6.0-alt1 sisyphus+343691.100.1.1 1711530038 installed <13>Aug 22 02:25:42 rpmi: python3-module-pyasn1-modules-0.4.0-alt1 sisyphus+343691.200.1.1 1711530070 installed <13>Aug 22 02:25:42 rpmi: libhogweed6-3.9.1-alt1 sisyphus+322548.100.1.2 1686176879 installed <13>Aug 22 02:25:42 rpmi: libgnutls30-3.8.4-alt1 sisyphus+343729.100.2.1 1711571288 installed <13>Aug 22 02:25:42 rpmi: libngtcp2.16-1.6.0-alt1 sisyphus+351909.200.1.1 1719836983 installed <13>Aug 22 02:25:42 rpmi: libngtcp2_crypto_gnutls8-1.6.0-alt1 sisyphus+351909.200.1.1 1719836983 installed <13>Aug 22 02:25:42 rpmi: python3-module-pluggy-1.5.0-alt1 sisyphus+345632.100.2.1 1713864244 installed <13>Aug 22 02:25:42 rpmi: python3-module-pkg_resources-1:70.3.0-alt1 sisyphus+352532.100.2.1 1720689192 installed <13>Aug 22 02:25:42 rpmi: python3-module-iniconfig-2.0.0-alt1 sisyphus+314076.200.3.1 1674737275 installed <13>Aug 22 02:25:42 rpmi: python3-module-pytest-8.3.2-alt1 sisyphus+353657.100.2.1 1722243941 installed <13>Aug 22 02:25:42 rpmi: python3-module-urllib3-2:2.2.2-alt1 sisyphus+351112.100.1.1 1718703196 installed <13>Aug 22 02:25:42 rpmi: python3-module-idna-3.7-alt1 sisyphus+345659.100.1.1 1713798399 installed <13>Aug 22 02:25:42 rpmi: python3-module-wcwidth-0.2.13-alt1 sisyphus+341792.100.2.1 1709543329 installed <13>Aug 22 02:25:42 rpmi: python3-module-prettytable-2.1.0-alt1 sisyphus+269172.200.1.1 1617824839 installed <13>Aug 22 02:25:42 rpmi: python3-module-charset-normalizer-3.2.0-alt1 sisyphus+347396.200.2.1 1714733155 installed <13>Aug 22 02:25:42 rpmi: python3-module-requests-2.32.3-alt1 sisyphus+349946.100.1.1 1717059877 installed <13>Aug 22 02:25:43 rpmi: python3-module-bson-4.8.0-alt1 sisyphus+352488.100.1.1 1720527952 installed <13>Aug 22 02:25:43 rpmi: python3-module-bottle-1:0.12.25-alt1 sisyphus+316623.100.1.1 1678651894 installed <13>Aug 22 02:25:43 rpmi: python3-module-attrs-24.2.0-alt2 sisyphus+355603.200.1.1 1724160494 installed <13>Aug 22 02:25:43 rpmi: python3-module-argcomplete-3.5.0-alt1 sisyphus+355599.100.1.1 1724154718 installed <13>Aug 22 02:25:43 rpmi: python3-module-pycparser-2.21-alt1.1 sisyphus+309935.7300.4.1 1668527005 installed <13>Aug 22 02:25:43 rpmi: python3-module-cffi-1.16.0-alt1 sisyphus+333513.10400.71.1 1704539931 installed <13>Aug 22 02:25:43 rpmi: python3-module-cryptography-43.0.0-alt1 sisyphus+353417.100.1.1 1721731007 installed <13>Aug 22 02:25:43 rpmi: python3-module-openssl-24.2.1-alt1 sisyphus+353417.200.1.1 1721731036 installed <13>Aug 22 02:25:43 rpmi: python3-module-service_identity-24.1.0-alt1 sisyphus+338892.100.1.2 1706114425 installed <13>Aug 22 02:25:43 rpmi: python3-module-pymongo-4.8.0-alt1 sisyphus+352488.100.1.1 1720527952 installed <13>Aug 22 02:25:43 rpmi: python3-module-servicemanager-2.0.7-alt1 sisyphus+275998.100.1.1 1624811123 installed <13>Aug 22 02:25:43 rpmi: python3-module-execnet-2.1.1-alt1 sisyphus+344737.100.1.1 1712657795 installed <13>Aug 22 02:25:43 rpmi: libpython3-3.12.5-alt1 sisyphus+355289.200.2.1 1723833848 installed <13>Aug 22 02:25:43 rpmi: libncurses6-6.3.20220618-alt4 sisyphus+327286.4600.14.1 1711486705 installed <13>Aug 22 02:25:43 rpmi: libtinfo-devel-6.3.20220618-alt4 sisyphus+327286.4600.14.1 1711486705 installed <13>Aug 22 02:25:43 rpmi: libncurses-devel-6.3.20220618-alt4 sisyphus+327286.4600.14.1 1711486705 installed <13>Aug 22 02:25:44 rpmi: python3-dev-3.12.5-alt1 sisyphus+355289.200.2.1 1723833848 installed <13>Aug 22 02:25:44 rpmi: libssh2-1.11.0-alt2 sisyphus+339356.100.1.1 1706593137 installed <13>Aug 22 02:25:44 rpmi: publicsuffix-list-dafsa-20240701-alt1 sisyphus+352081.100.1.1 1720015477 installed <13>Aug 22 02:25:44 rpmi: libpsl-0.21.5-alt1 sisyphus+338474.100.1.1 1705684769 installed <13>Aug 22 02:25:44 rpmi: libnghttp3.9-1.4.0-alt1 sisyphus+351909.100.1.1 1719836924 installed <13>Aug 22 02:25:44 rpmi: libnghttp2-1.62.1-alt1 sisyphus+347555.100.1.1 1716185760 installed <13>Aug 22 02:25:44 rpmi: openldap-common-2.6.8-alt1 sisyphus+351621.100.1.1 1719420449 installed <13>Aug 22 02:25:44 rpmi: libntlm-1.5-alt1 sisyphus+278100.3300.1.1 1626058899 installed <13>Aug 22 02:25:44 rpmi: libidn-1.37-alt2 sisyphus+300849.100.1.1 1653769687 installed <13>Aug 22 02:25:44 rpmi: libbrotlicommon-1.1.0-alt1 sisyphus+328501.100.1.1 1693598419 installed <13>Aug 22 02:25:44 rpmi: libbrotlidec-1.1.0-alt1 sisyphus+328501.100.1.1 1693598419 installed <13>Aug 22 02:25:44 rpmi: libxxhash-0.8.2-alt1 sisyphus+336514.200.7.1 1702672118 installed <13>Aug 22 02:25:44 rpmi: liblz4-1:1.9.4-alt1 sisyphus+309416.100.1.1 1667412981 installed <13>Aug 22 02:25:44 rpmi: rsync-3.2.7-alt1 sisyphus+325006.2000.1.1 1689497333 installed <13>Aug 22 02:25:44 rpmi: openssh-common-9.6p1-alt2 sisyphus+351911.100.1.1 1719838544 installed <13>Aug 22 02:25:44 rpmi: libverto-0.3.2-alt1_1 sisyphus+321176.2200.10.2 1684803947 installed <13>Aug 22 02:25:44 rpmi: liblmdb-0.9.32-alt1 sisyphus+342426.100.1.1 1710124288 installed <13>Aug 22 02:25:44 rpmi: libkeyutils-1.6.3-alt1 sisyphus+346336.200.2.2 1716472658 installed <13>Aug 22 02:25:44 rpmi: libcom_err-1.46.4.0.5.4cda-alt1 sisyphus+283826.100.1.1 1629975345 installed <86>Aug 22 02:25:44 groupadd[3122089]: group added to /etc/group: name=_keytab, GID=999 <86>Aug 22 02:25:44 groupadd[3122089]: group added to /etc/gshadow: name=_keytab <86>Aug 22 02:25:44 groupadd[3122089]: new group: name=_keytab, GID=999 <13>Aug 22 02:25:44 rpmi: libkrb5-1.21.3-alt2 sisyphus+351857.100.1.1 1719735141 installed <13>Aug 22 02:25:44 rpmi: libgsasl-2.2.0-alt1 sisyphus+333173.100.1.1 1698696954 installed <86>Aug 22 02:25:44 groupadd[3122237]: group added to /etc/group: name=sasl, GID=998 <86>Aug 22 02:25:44 groupadd[3122237]: group added to /etc/gshadow: name=sasl <86>Aug 22 02:25:44 groupadd[3122237]: new group: name=sasl, GID=998 <13>Aug 22 02:25:44 rpmi: libsasl2-3-2.1.28-alt2 sisyphus+343335.100.1.1 1711112544 installed <13>Aug 22 02:25:44 rpmi: libldap2-2.6.8-alt1 sisyphus+351621.100.1.1 1719420449 installed <13>Aug 22 02:25:44 rpmi: libcurl-8.9.1-alt1 sisyphus+353987.100.1.1 1722417670 installed <13>Aug 22 02:25:44 rpmi: libedit3-3.1.20230828-alt1 sisyphus+330914.200.3.1 1696922743 installed <86>Aug 22 02:25:44 groupadd[3122387]: group added to /etc/group: name=sshagent, GID=997 <86>Aug 22 02:25:44 groupadd[3122387]: group added to /etc/gshadow: name=sshagent <86>Aug 22 02:25:44 groupadd[3122387]: new group: name=sshagent, GID=997 <13>Aug 22 02:25:44 rpmi: openssh-clients-9.6p1-alt2 sisyphus+351911.100.1.1 1719838544 installed <13>Aug 22 02:25:44 rpmi: less-633-alt1 sisyphus+328181.300.2.1 1693321749 installed <13>Aug 22 02:25:44 rpmi: diffstat-1.64-alt1 sisyphus+346132.200.3.2 1716466240 installed <13>Aug 22 02:25:44 rpmi: git-core-2.42.2-alt1 sisyphus+348068.100.1.1 1715721632 installed <13>Aug 22 02:25:44 rpmi: python3-module-setuptools-1:70.3.0-alt1 sisyphus+352532.100.2.1 1720689192 installed <13>Aug 22 02:25:44 rpmi: python3-module-pytest-xdist-3.6.1-alt1 sisyphus+347405.100.1.1 1714737453 installed <13>Aug 22 02:25:45 rpmi: mercurial-6.6.3-alt1 sisyphus+353835.100.1.1 1722176764 installed <13>Aug 22 02:25:45 rpmi: python3-module-pyproject-metadata-0.8.0-alt1 sisyphus+345395.100.1.1 1713440101 installed <13>Aug 22 02:25:45 rpmi: python3-module-tomli_w-1.0.0-alt1 sisyphus+294142.100.1.1 1643206939 installed <13>Aug 22 02:25:45 rpmi: python3-module-tomli-2.0.1-alt2 sisyphus+305000.3300.2.1 1660575675 installed <13>Aug 22 02:25:45 rpmi: python3-module-editables-0.5-alt1 sisyphus+325524.100.1.1 1690277257 installed Building target platforms: x86_64 Building for target x86_64 Wrote: /usr/src/in/nosrpm/python3-module-pdm-backend-2.3.3-alt1.nosrc.rpm (w1.gzdio) Installing python3-module-pdm-backend-2.3.3-alt1.src.rpm Building target platforms: x86_64 Building for target x86_64 Executing(%prep): /bin/sh -e /usr/src/tmp/rpm-tmp.25124 + umask 022 + /bin/mkdir -p /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + rm -rf python3-module-pdm-backend-2.3.3 + echo 'Source #0 (python3-module-pdm-backend-2.3.3.tar):' Source #0 (python3-module-pdm-backend-2.3.3.tar): + /bin/tar -xf /usr/src/RPM/SOURCES/python3-module-pdm-backend-2.3.3.tar + cd python3-module-pdm-backend-2.3.3 + /bin/chmod -c -Rf u+rwX,go-w . + echo 'Patch #0 (python3-module-pdm-backend-2.3.3-alt.patch):' Patch #0 (python3-module-pdm-backend-2.3.3-alt.patch): + /usr/bin/patch -p1 patching file tests/pdm/backend/hooks/version/test_scm.py patching file tests/test_api.py + /usr/bin/python3 -m pyproject_installer deps --depsconfig /usr/src/RPM/SOURCES/pyproject_deps.json show vendored + /usr/bin/python3 -m pyproject_installer deps --depsconfig /usr/src/RPM/SOURCES/pyproject_deps.json sync --verify vendored + VENDORED_PATH=src/pdm/backend/_vendor + UNVENDORED_PATH=src/pdm/backend/_vendor/__init__.py + rm -r src/pdm/backend/_vendor + mkdir src/pdm/backend/_vendor + cp /usr/src/RPM/SOURCES/debundler.py.in src/pdm/backend/_vendor/__init__.py + sed -i -e 's/@VENDORED_ROOT@/"pdm.backend._vendor"/' -e s/@VENDORED_FAKE_PACKAGES@/None/ src/pdm/backend/_vendor/__init__.py + '[' '!' -d .git ']' + git init hint: Using 'master' as the name for the initial branch. This default branch name hint: is subject to change. To configure the initial branch name to use in all hint: of your new repositories, which will suppress this warning, call: hint: hint: git config --global init.defaultBranch hint: hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and hint: 'development'. The just-created branch can be renamed via this command: hint: hint: git branch -m Initialized empty Git repository in /usr/src/RPM/BUILD/python3-module-pdm-backend-2.3.3/.git/ + git config user.email author@example.com + git config user.name author + git add . + git commit -m release [master (root-commit) da5172f] release 172 files changed, 7812 insertions(+) create mode 100644 .github/workflows/ci.yml create mode 100644 .github/workflows/release.yml create mode 100644 .gitignore create mode 100644 .pre-commit-config.yaml create mode 100644 CODE_OF_CONDUCT.md create mode 100644 CONTRIBUTING.md create mode 100644 LICENSE create mode 100644 README.md create mode 100644 changelogithub.config.json create mode 100644 docs/api.md create mode 100644 docs/build_config.md create mode 100644 docs/hooks.md create mode 100644 docs/index.md create mode 100644 docs/metadata.md create mode 100644 docs/migration.md create mode 100644 mkdocs.yml create mode 100644 netlify.toml create mode 100644 pdm.lock create mode 100644 pyproject.toml create mode 100644 runtime.txt create mode 100644 scripts/build.py create mode 100644 scripts/patches/pyproject_metadata.patch create mode 100644 setup.cfg create mode 100644 src/pdm/backend/__init__.py create mode 100644 src/pdm/backend/_vendor/__init__.py create mode 100644 src/pdm/backend/base.py create mode 100644 src/pdm/backend/config.py create mode 100644 src/pdm/backend/editable.py create mode 100644 src/pdm/backend/exceptions.py create mode 100644 src/pdm/backend/hooks/__init__.py create mode 100644 src/pdm/backend/hooks/base.py create mode 100644 src/pdm/backend/hooks/setuptools.py create mode 100644 src/pdm/backend/hooks/version/__init__.py create mode 100644 src/pdm/backend/hooks/version/scm.py create mode 100644 src/pdm/backend/intree.py create mode 100644 src/pdm/backend/py.typed create mode 100644 src/pdm/backend/sdist.py create mode 100644 src/pdm/backend/structures.py create mode 100644 src/pdm/backend/utils.py create mode 100644 src/pdm/backend/wheel.py create mode 100644 tests/__init__.py create mode 100644 tests/conftest.py create mode 100644 tests/fixtures/hooks/hook_class.py create mode 100644 tests/fixtures/hooks/hook_module.py create mode 100644 tests/fixtures/hooks/local_hook.py create mode 100644 tests/fixtures/projects/demo-cextension-in-src/LICENSE create mode 100644 tests/fixtures/projects/demo-cextension-in-src/pdm.lock create mode 100644 tests/fixtures/projects/demo-cextension-in-src/pdm_build.py create mode 100644 tests/fixtures/projects/demo-cextension-in-src/pyproject.toml create mode 100644 tests/fixtures/projects/demo-cextension-in-src/src/my_package/__init__.py create mode 100644 tests/fixtures/projects/demo-cextension-in-src/src/my_package/hellomodule.c create mode 100644 tests/fixtures/projects/demo-cextension/LICENSE create mode 100644 tests/fixtures/projects/demo-cextension/my_package/__init__.py create mode 100644 tests/fixtures/projects/demo-cextension/my_package/hellomodule.c create mode 100644 tests/fixtures/projects/demo-cextension/pdm.lock create mode 100644 tests/fixtures/projects/demo-cextension/pdm_build.py create mode 100644 tests/fixtures/projects/demo-cextension/pyproject.toml create mode 100644 tests/fixtures/projects/demo-combined-extras/LICENSE create mode 100644 tests/fixtures/projects/demo-combined-extras/demo.py create mode 100644 tests/fixtures/projects/demo-combined-extras/pyproject.toml create mode 100644 tests/fixtures/projects/demo-explicit-package-dir/LICENSE create mode 100644 tests/fixtures/projects/demo-explicit-package-dir/README.md create mode 100644 tests/fixtures/projects/demo-explicit-package-dir/data_out.json create mode 100644 tests/fixtures/projects/demo-explicit-package-dir/foo/my_package/__init__.py create mode 100644 tests/fixtures/projects/demo-explicit-package-dir/foo/my_package/data.json create mode 100644 tests/fixtures/projects/demo-explicit-package-dir/pyproject.toml create mode 100644 tests/fixtures/projects/demo-explicit-package-dir/single_module.py create mode 100644 tests/fixtures/projects/demo-metadata-test/LICENSE create mode 100644 tests/fixtures/projects/demo-metadata-test/README.md create mode 100644 tests/fixtures/projects/demo-metadata-test/pyproject.toml create mode 100644 tests/fixtures/projects/demo-module/LICENSE create mode 100644 tests/fixtures/projects/demo-module/README.md create mode 100644 tests/fixtures/projects/demo-module/bar_module.py create mode 100644 tests/fixtures/projects/demo-module/foo_module.py create mode 100644 tests/fixtures/projects/demo-module/pyproject.toml create mode 100644 tests/fixtures/projects/demo-no-license/README.md create mode 100644 tests/fixtures/projects/demo-no-license/pyproject.toml create mode 100644 tests/fixtures/projects/demo-no-license/src/foo_module.py create mode 100644 tests/fixtures/projects/demo-no-version/README.md create mode 120000 tests/fixtures/projects/demo-no-version/anothername.toml create mode 100644 tests/fixtures/projects/demo-no-version/pyproject.toml create mode 100644 tests/fixtures/projects/demo-package-include-error/LICENSE create mode 100644 tests/fixtures/projects/demo-package-include-error/README.md create mode 100644 tests/fixtures/projects/demo-package-include-error/data_out.json create mode 100644 tests/fixtures/projects/demo-package-include-error/my_package/__init__.py create mode 100644 tests/fixtures/projects/demo-package-include-error/my_package/data.json create mode 100644 tests/fixtures/projects/demo-package-include-error/pdm.lock create mode 100644 tests/fixtures/projects/demo-package-include-error/pyproject.toml create mode 100644 tests/fixtures/projects/demo-package-include-error/requirements.txt create mode 100644 tests/fixtures/projects/demo-package-include-error/requirements_simple.txt create mode 100644 tests/fixtures/projects/demo-package-include-error/single_module.py create mode 100644 tests/fixtures/projects/demo-package-include/LICENSE create mode 100644 tests/fixtures/projects/demo-package-include/README.md create mode 100644 tests/fixtures/projects/demo-package-include/data_out.json create mode 100644 tests/fixtures/projects/demo-package-include/my_package/__init__.py create mode 100644 tests/fixtures/projects/demo-package-include/my_package/data.json create mode 100644 tests/fixtures/projects/demo-package-include/pdm.lock create mode 100644 tests/fixtures/projects/demo-package-include/pyproject.toml create mode 100644 tests/fixtures/projects/demo-package-include/requirements.txt create mode 100644 tests/fixtures/projects/demo-package-include/requirements_simple.txt create mode 100755 tests/fixtures/projects/demo-package-include/scripts/data/my_script.sh create mode 100644 tests/fixtures/projects/demo-package-include/single_module.py create mode 100644 tests/fixtures/projects/demo-package-with-deep-path/LICENSE create mode 100644 tests/fixtures/projects/demo-package-with-deep-path/README.md create mode 100644 tests/fixtures/projects/demo-package-with-deep-path/my_package/__init__.py create mode 100644 tests/fixtures/projects/demo-package-with-deep-path/my_package/data/data_a.json create mode 100644 tests/fixtures/projects/demo-package-with-deep-path/my_package/data/data_inner/data_b.json create mode 100644 tests/fixtures/projects/demo-package-with-deep-path/pyproject.toml create mode 100644 tests/fixtures/projects/demo-package-with-tests/LICENSE create mode 100644 tests/fixtures/projects/demo-package-with-tests/README.md create mode 100644 tests/fixtures/projects/demo-package-with-tests/my_package/__init__.py create mode 100644 tests/fixtures/projects/demo-package-with-tests/my_package/data.json create mode 100644 tests/fixtures/projects/demo-package-with-tests/pdm.lock create mode 100644 tests/fixtures/projects/demo-package-with-tests/pyproject.toml create mode 100644 tests/fixtures/projects/demo-package-with-tests/tests/__init__.py create mode 100644 tests/fixtures/projects/demo-package/LICENSE create mode 100644 tests/fixtures/projects/demo-package/README.md create mode 100644 tests/fixtures/projects/demo-package/data_out.json create mode 100644 tests/fixtures/projects/demo-package/my_package/__init__.py create mode 100644 tests/fixtures/projects/demo-package/my_package/data.json create mode 100755 tests/fixtures/projects/demo-package/my_package/executable create mode 100644 tests/fixtures/projects/demo-package/pdm.lock create mode 100644 tests/fixtures/projects/demo-package/pyproject.toml create mode 100644 tests/fixtures/projects/demo-package/requirements.txt create mode 100644 tests/fixtures/projects/demo-package/requirements_simple.txt create mode 100644 tests/fixtures/projects/demo-package/single_module.py create mode 100644 tests/fixtures/projects/demo-pep420-package/LICENSE create mode 100644 tests/fixtures/projects/demo-pep420-package/README.md create mode 100644 tests/fixtures/projects/demo-pep420-package/foo/my_package/__init__.py create mode 100644 tests/fixtures/projects/demo-pep420-package/foo/my_package/data.json create mode 100644 tests/fixtures/projects/demo-pep420-package/pyproject.toml create mode 100644 tests/fixtures/projects/demo-purelib-with-build/LICENSE create mode 100644 tests/fixtures/projects/demo-purelib-with-build/my_build.py create mode 100644 tests/fixtures/projects/demo-purelib-with-build/my_package/__init__.py create mode 100644 tests/fixtures/projects/demo-purelib-with-build/pdm.lock create mode 100644 tests/fixtures/projects/demo-purelib-with-build/pyproject.toml create mode 100644 tests/fixtures/projects/demo-reuse-spec/LICENSES/MPL-2.0.txt create mode 100644 tests/fixtures/projects/demo-reuse-spec/README.md create mode 100644 tests/fixtures/projects/demo-reuse-spec/pyproject.toml create mode 100644 tests/fixtures/projects/demo-reuse-spec/src/foo_module.py create mode 100644 tests/fixtures/projects/demo-src-package-include/LICENSE create mode 100644 tests/fixtures/projects/demo-src-package-include/README.md create mode 100644 tests/fixtures/projects/demo-src-package-include/data_out.json create mode 100644 tests/fixtures/projects/demo-src-package-include/pyproject.toml create mode 100644 tests/fixtures/projects/demo-src-package-include/single_module.py create mode 100644 tests/fixtures/projects/demo-src-package-include/sub/my_package/__init__.py create mode 100644 tests/fixtures/projects/demo-src-package-include/sub/my_package/data.json create mode 100644 tests/fixtures/projects/demo-src-package/LICENSE create mode 100644 tests/fixtures/projects/demo-src-package/README.md create mode 100644 tests/fixtures/projects/demo-src-package/data_out.json create mode 100644 tests/fixtures/projects/demo-src-package/pyproject.toml create mode 100644 tests/fixtures/projects/demo-src-package/single_module.py create mode 100644 tests/fixtures/projects/demo-src-package/src/my_package/__init__.py create mode 100644 tests/fixtures/projects/demo-src-package/src/my_package/data.json create mode 100644 tests/fixtures/projects/demo-src-pymodule/LICENSE create mode 100644 tests/fixtures/projects/demo-src-pymodule/README.md create mode 100644 tests/fixtures/projects/demo-src-pymodule/pyproject.toml create mode 100644 tests/fixtures/projects/demo-src-pymodule/src/foo_module.py create mode 100644 tests/fixtures/projects/demo-using-scm/.gitignore create mode 100644 tests/fixtures/projects/demo-using-scm/LICENSE create mode 100644 tests/fixtures/projects/demo-using-scm/README.md create mode 100644 tests/fixtures/projects/demo-using-scm/foo/__init__.py create mode 100644 tests/fixtures/projects/demo-using-scm/pyproject.toml create mode 100644 tests/fixtures/projects/demo-using-scm/version.py create mode 100644 tests/pdm/backend/hooks/version/test_scm.py create mode 100644 tests/test_api.py create mode 100644 tests/test_file_finder.py create mode 100644 tests/test_hooks.py create mode 100644 tests/test_metadata.py create mode 100644 tests/test_utils.py create mode 100644 tests/test_wheel.py create mode 100644 tests/testutils.py + git tag 2.3.3 + /usr/bin/python3 -m pyproject_installer deps --depsconfig /usr/src/RPM/SOURCES/pyproject_deps.json show pep518 + /usr/bin/python3 -m pyproject_installer deps --depsconfig /usr/src/RPM/SOURCES/pyproject_deps.json sync --verify pep518 + /usr/bin/python3 -m pyproject_installer deps --depsconfig /usr/src/RPM/SOURCES/pyproject_deps.json show pep517 + /usr/bin/python3 -m pyproject_installer deps --depsconfig /usr/src/RPM/SOURCES/pyproject_deps.json sync --verify pep517 --verify-exclude 'wheel$' + /usr/bin/python3 -m pyproject_installer deps --depsconfig /usr/src/RPM/SOURCES/pyproject_deps.json show metadata + /usr/bin/python3 -m pyproject_installer deps --depsconfig /usr/src/RPM/SOURCES/pyproject_deps.json sync --verify metadata INFO : Building metadata INFO : Building metadata with prepare_metadata_for_build_wheel INFO : Source tree: /usr/src/RPM/BUILD/python3-module-pdm-backend-2.3.3 INFO : Output dir: /usr/src/tmp/tmpjl5c0b2y + /usr/bin/python3 -m pyproject_installer deps --depsconfig /usr/src/RPM/SOURCES/pyproject_deps.json show pdm_test + /usr/bin/python3 -m pyproject_installer deps --depsconfig /usr/src/RPM/SOURCES/pyproject_deps.json sync --verify pdm_test + /usr/bin/python3 -m pyproject_installer deps --depsconfig /usr/src/RPM/SOURCES/pyproject_deps.json show pdm_dev + /usr/bin/python3 -m pyproject_installer deps --depsconfig /usr/src/RPM/SOURCES/pyproject_deps.json sync --verify pdm_dev + exit 0 Executing(%build): /bin/sh -e /usr/src/tmp/rpm-tmp.91982 + umask 022 + /bin/mkdir -p /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + cd python3-module-pdm-backend-2.3.3 + export 'CFLAGS=-pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto' + CFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto' + export 'CXXFLAGS=-pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto' + CXXFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto' + export 'FFLAGS=-pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto' + FFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto' + /usr/bin/python3 -m pyproject_installer -v build INFO : pyproject_installer.build_cmd._build : Building wheel INFO : pyproject_installer.build_cmd._build : Source tree: /usr/src/RPM/BUILD/python3-module-pdm-backend-2.3.3 INFO : pyproject_installer.build_cmd._build : Output dir: /usr/src/RPM/BUILD/python3-module-pdm-backend-2.3.3/dist DEBUG : pyproject_installer.lib.build_backend : Validating source path DEBUG : pyproject_installer.lib.build_backend : Checking for PEP517 spec DEBUG : pyproject_installer.lib.build_backend : Parsing configuration file: /usr/src/RPM/BUILD/python3-module-pdm-backend-2.3.3/pyproject.toml INFO : backend_caller.py : Calling hook build_wheel in subprocess INFO : backend_caller.py : Build backend: pdm.backend.intree INFO : backend_caller.py : In-tree backend paths: src INFO : backend_caller.py : Hook args: ['/usr/src/RPM/BUILD/python3-module-pdm-backend-2.3.3/dist'] INFO : backend_caller.py : Hook kwargs: {'config_settings': None} - Adding src/pdm/backend/__init__.py -> pdm/backend/__init__.py - Adding src/pdm/backend/_vendor/__init__.py -> pdm/backend/_vendor/__init__.py - Adding src/pdm/backend/base.py -> pdm/backend/base.py - Adding src/pdm/backend/config.py -> pdm/backend/config.py - Adding src/pdm/backend/editable.py -> pdm/backend/editable.py - Adding src/pdm/backend/exceptions.py -> pdm/backend/exceptions.py - Adding src/pdm/backend/hooks/__init__.py -> pdm/backend/hooks/__init__.py - Adding src/pdm/backend/hooks/base.py -> pdm/backend/hooks/base.py - Adding src/pdm/backend/hooks/setuptools.py -> pdm/backend/hooks/setuptools.py - Adding src/pdm/backend/hooks/version/__init__.py -> pdm/backend/hooks/version/__init__.py - Adding src/pdm/backend/hooks/version/scm.py -> pdm/backend/hooks/version/scm.py - Adding src/pdm/backend/intree.py -> pdm/backend/intree.py - Adding src/pdm/backend/py.typed -> pdm/backend/py.typed - Adding src/pdm/backend/sdist.py -> pdm/backend/sdist.py - Adding src/pdm/backend/structures.py -> pdm/backend/structures.py - Adding src/pdm/backend/utils.py -> pdm/backend/utils.py - Adding src/pdm/backend/wheel.py -> pdm/backend/wheel.py - Adding .pdm-build/pdm_backend-2.3.3.dist-info/METADATA -> pdm_backend-2.3.3.dist-info/METADATA - Adding .pdm-build/pdm_backend-2.3.3.dist-info/WHEEL -> pdm_backend-2.3.3.dist-info/WHEEL - Adding .pdm-build/pdm_backend-2.3.3.dist-info/licenses/LICENSE -> pdm_backend-2.3.3.dist-info/licenses/LICENSE - Adding pdm_backend-2.3.3.dist-info/RECORD -> pdm_backend-2.3.3.dist-info/RECORD INFO : pyproject_installer.build_cmd._build : Built wheel: pdm_backend-2.3.3-py3-none-any.whl + exit 0 Executing(%install): /bin/sh -e /usr/src/tmp/rpm-tmp.91982 + umask 022 + /bin/mkdir -p /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + /bin/chmod -Rf u+rwX -- /usr/src/tmp/python3-module-pdm-backend-buildroot + : + /bin/rm -rf -- /usr/src/tmp/python3-module-pdm-backend-buildroot + PATH=/usr/libexec/rpm-build:/usr/src/bin:/usr/bin:/bin:/usr/local/bin:/usr/games + cd python3-module-pdm-backend-2.3.3 + /usr/bin/python3 -m pyproject_installer -v install --destdir=/usr/src/tmp/python3-module-pdm-backend-buildroot INFO : pyproject_installer.install_cmd._install : Installing wheel INFO : pyproject_installer.install_cmd._install : Wheel directory: /usr/src/RPM/BUILD/python3-module-pdm-backend-2.3.3/dist INFO : pyproject_installer.install_cmd._install : Wheel filename: pdm_backend-2.3.3-py3-none-any.whl INFO : pyproject_installer.install_cmd._install : Destination: /usr/src/tmp/python3-module-pdm-backend-buildroot DEBUG : pyproject_installer.lib.wheel : Parsing wheel filename DEBUG : pyproject_installer.lib.wheel : Validating wheel file DEBUG : pyproject_installer.lib.wheel : Validating wheel spec version DEBUG : pyproject_installer.lib.wheel : Parsing wheel spec metadata DEBUG : pyproject_installer.lib.wheel : Validating RECORD INFO : pyproject_installer.install_cmd._install : Wheel installation root: /usr/src/tmp/python3-module-pdm-backend-buildroot/usr/lib/python3/site-packages INFO : pyproject_installer.install_cmd._install : Extracting wheel DEBUG : pyproject_installer.install_cmd._install : Filtering out not allowed file: pdm_backend-2.3.3.dist-info/WHEEL DEBUG : pyproject_installer.install_cmd._install : Filtering out not allowed file: pdm_backend-2.3.3.dist-info/licenses/LICENSE DEBUG : pyproject_installer.install_cmd._install : Filtering out not allowed file: pdm_backend-2.3.3.dist-info/RECORD INFO : pyproject_installer.install_cmd._install : Wheel was installed + /usr/lib/rpm/brp-alt Cleaning files in /usr/src/tmp/python3-module-pdm-backend-buildroot (auto) Verifying and fixing files in /usr/src/tmp/python3-module-pdm-backend-buildroot (binconfig,pkgconfig,libtool,desktop,gnuconfig) Checking contents of files in /usr/src/tmp/python3-module-pdm-backend-buildroot/ (default) Compressing files in /usr/src/tmp/python3-module-pdm-backend-buildroot (auto) Adjusting library links in /usr/src/tmp/python3-module-pdm-backend-buildroot ./usr/lib: (from :0) Verifying ELF objects in /usr/src/tmp/python3-module-pdm-backend-buildroot (arch=normal,fhs=normal,lfs=relaxed,lint=relaxed,rpath=normal,stack=normal,textrel=normal,unresolved=normal) Splitting links to aliased files under /{,s}bin in /usr/src/tmp/python3-module-pdm-backend-buildroot Bytecompiling python3 modules in /usr/src/tmp/python3-module-pdm-backend-buildroot using /usr/bin/python3 /usr/src/tmp/python3-module-pdm-backend-buildroot/usr/lib/python3/site-packages/pdm/backend/_vendor/__init__.py:1: SyntaxWarning: invalid escape sequence '\.' """ compile /usr/src/tmp/python3-module-pdm-backend-buildroot/usr/lib/python3/site-packages/pdm/backend/_vendor/__init__.py compile /usr/src/tmp/python3-module-pdm-backend-buildroot/usr/lib/python3/site-packages/pdm/backend/hooks/version/__init__.py compile /usr/src/tmp/python3-module-pdm-backend-buildroot/usr/lib/python3/site-packages/pdm/backend/hooks/version/scm.py compile /usr/src/tmp/python3-module-pdm-backend-buildroot/usr/lib/python3/site-packages/pdm/backend/hooks/__init__.py compile /usr/src/tmp/python3-module-pdm-backend-buildroot/usr/lib/python3/site-packages/pdm/backend/hooks/base.py compile /usr/src/tmp/python3-module-pdm-backend-buildroot/usr/lib/python3/site-packages/pdm/backend/hooks/setuptools.py compile /usr/src/tmp/python3-module-pdm-backend-buildroot/usr/lib/python3/site-packages/pdm/backend/__init__.py compile /usr/src/tmp/python3-module-pdm-backend-buildroot/usr/lib/python3/site-packages/pdm/backend/base.py compile /usr/src/tmp/python3-module-pdm-backend-buildroot/usr/lib/python3/site-packages/pdm/backend/config.py compile /usr/src/tmp/python3-module-pdm-backend-buildroot/usr/lib/python3/site-packages/pdm/backend/editable.py compile /usr/src/tmp/python3-module-pdm-backend-buildroot/usr/lib/python3/site-packages/pdm/backend/exceptions.py compile /usr/src/tmp/python3-module-pdm-backend-buildroot/usr/lib/python3/site-packages/pdm/backend/intree.py compile /usr/src/tmp/python3-module-pdm-backend-buildroot/usr/lib/python3/site-packages/pdm/backend/sdist.py compile /usr/src/tmp/python3-module-pdm-backend-buildroot/usr/lib/python3/site-packages/pdm/backend/structures.py compile /usr/src/tmp/python3-module-pdm-backend-buildroot/usr/lib/python3/site-packages/pdm/backend/utils.py compile /usr/src/tmp/python3-module-pdm-backend-buildroot/usr/lib/python3/site-packages/pdm/backend/wheel.py Bytecompiling python3 modules with optimization in /usr/src/tmp/python3-module-pdm-backend-buildroot using /usr/bin/python3 -O /usr/src/tmp/python3-module-pdm-backend-buildroot/usr/lib/python3/site-packages/pdm/backend/_vendor/__init__.py:1: SyntaxWarning: invalid escape sequence '\.' """ compile /usr/src/tmp/python3-module-pdm-backend-buildroot/usr/lib/python3/site-packages/pdm/backend/_vendor/__init__.py compile /usr/src/tmp/python3-module-pdm-backend-buildroot/usr/lib/python3/site-packages/pdm/backend/hooks/version/__init__.py compile /usr/src/tmp/python3-module-pdm-backend-buildroot/usr/lib/python3/site-packages/pdm/backend/hooks/version/scm.py compile /usr/src/tmp/python3-module-pdm-backend-buildroot/usr/lib/python3/site-packages/pdm/backend/hooks/__init__.py compile /usr/src/tmp/python3-module-pdm-backend-buildroot/usr/lib/python3/site-packages/pdm/backend/hooks/base.py compile /usr/src/tmp/python3-module-pdm-backend-buildroot/usr/lib/python3/site-packages/pdm/backend/hooks/setuptools.py compile /usr/src/tmp/python3-module-pdm-backend-buildroot/usr/lib/python3/site-packages/pdm/backend/__init__.py compile /usr/src/tmp/python3-module-pdm-backend-buildroot/usr/lib/python3/site-packages/pdm/backend/base.py compile /usr/src/tmp/python3-module-pdm-backend-buildroot/usr/lib/python3/site-packages/pdm/backend/config.py compile /usr/src/tmp/python3-module-pdm-backend-buildroot/usr/lib/python3/site-packages/pdm/backend/editable.py compile /usr/src/tmp/python3-module-pdm-backend-buildroot/usr/lib/python3/site-packages/pdm/backend/exceptions.py compile /usr/src/tmp/python3-module-pdm-backend-buildroot/usr/lib/python3/site-packages/pdm/backend/intree.py compile /usr/src/tmp/python3-module-pdm-backend-buildroot/usr/lib/python3/site-packages/pdm/backend/sdist.py compile /usr/src/tmp/python3-module-pdm-backend-buildroot/usr/lib/python3/site-packages/pdm/backend/structures.py compile /usr/src/tmp/python3-module-pdm-backend-buildroot/usr/lib/python3/site-packages/pdm/backend/utils.py compile /usr/src/tmp/python3-module-pdm-backend-buildroot/usr/lib/python3/site-packages/pdm/backend/wheel.py Bytecompiling python3 modules with optimization-2 in /usr/src/tmp/python3-module-pdm-backend-buildroot using /usr/bin/python3 -OO /usr/src/tmp/python3-module-pdm-backend-buildroot/usr/lib/python3/site-packages/pdm/backend/_vendor/__init__.py:1: SyntaxWarning: invalid escape sequence '\.' """ compile /usr/src/tmp/python3-module-pdm-backend-buildroot/usr/lib/python3/site-packages/pdm/backend/_vendor/__init__.py compile /usr/src/tmp/python3-module-pdm-backend-buildroot/usr/lib/python3/site-packages/pdm/backend/hooks/version/__init__.py compile /usr/src/tmp/python3-module-pdm-backend-buildroot/usr/lib/python3/site-packages/pdm/backend/hooks/version/scm.py compile /usr/src/tmp/python3-module-pdm-backend-buildroot/usr/lib/python3/site-packages/pdm/backend/hooks/__init__.py compile /usr/src/tmp/python3-module-pdm-backend-buildroot/usr/lib/python3/site-packages/pdm/backend/hooks/base.py compile /usr/src/tmp/python3-module-pdm-backend-buildroot/usr/lib/python3/site-packages/pdm/backend/hooks/setuptools.py compile /usr/src/tmp/python3-module-pdm-backend-buildroot/usr/lib/python3/site-packages/pdm/backend/__init__.py compile /usr/src/tmp/python3-module-pdm-backend-buildroot/usr/lib/python3/site-packages/pdm/backend/base.py compile /usr/src/tmp/python3-module-pdm-backend-buildroot/usr/lib/python3/site-packages/pdm/backend/config.py compile /usr/src/tmp/python3-module-pdm-backend-buildroot/usr/lib/python3/site-packages/pdm/backend/editable.py compile /usr/src/tmp/python3-module-pdm-backend-buildroot/usr/lib/python3/site-packages/pdm/backend/exceptions.py compile /usr/src/tmp/python3-module-pdm-backend-buildroot/usr/lib/python3/site-packages/pdm/backend/intree.py compile /usr/src/tmp/python3-module-pdm-backend-buildroot/usr/lib/python3/site-packages/pdm/backend/sdist.py compile /usr/src/tmp/python3-module-pdm-backend-buildroot/usr/lib/python3/site-packages/pdm/backend/structures.py compile /usr/src/tmp/python3-module-pdm-backend-buildroot/usr/lib/python3/site-packages/pdm/backend/utils.py compile /usr/src/tmp/python3-module-pdm-backend-buildroot/usr/lib/python3/site-packages/pdm/backend/wheel.py Hardlinking identical .pyc and .opt-?.pyc files './usr/lib/python3/site-packages/pdm/backend/__pycache__/__init__.cpython-312.opt-1.pyc' => './usr/lib/python3/site-packages/pdm/backend/__pycache__/__init__.cpython-312.pyc' './usr/lib/python3/site-packages/pdm/backend/__pycache__/config.cpython-312.opt-1.pyc' => './usr/lib/python3/site-packages/pdm/backend/__pycache__/config.cpython-312.pyc' './usr/lib/python3/site-packages/pdm/backend/__pycache__/editable.cpython-312.opt-1.pyc' => './usr/lib/python3/site-packages/pdm/backend/__pycache__/editable.cpython-312.pyc' './usr/lib/python3/site-packages/pdm/backend/__pycache__/editable.cpython-312.opt-2.pyc' => './usr/lib/python3/site-packages/pdm/backend/__pycache__/editable.cpython-312.opt-1.pyc' './usr/lib/python3/site-packages/pdm/backend/__pycache__/exceptions.cpython-312.opt-1.pyc' => './usr/lib/python3/site-packages/pdm/backend/__pycache__/exceptions.cpython-312.pyc' './usr/lib/python3/site-packages/pdm/backend/__pycache__/exceptions.cpython-312.opt-2.pyc' => './usr/lib/python3/site-packages/pdm/backend/__pycache__/exceptions.cpython-312.opt-1.pyc' './usr/lib/python3/site-packages/pdm/backend/__pycache__/intree.cpython-312.opt-1.pyc' => './usr/lib/python3/site-packages/pdm/backend/__pycache__/intree.cpython-312.pyc' './usr/lib/python3/site-packages/pdm/backend/__pycache__/intree.cpython-312.opt-2.pyc' => './usr/lib/python3/site-packages/pdm/backend/__pycache__/intree.cpython-312.opt-1.pyc' './usr/lib/python3/site-packages/pdm/backend/__pycache__/sdist.cpython-312.opt-1.pyc' => './usr/lib/python3/site-packages/pdm/backend/__pycache__/sdist.cpython-312.pyc' './usr/lib/python3/site-packages/pdm/backend/__pycache__/structures.cpython-312.opt-1.pyc' => './usr/lib/python3/site-packages/pdm/backend/__pycache__/structures.cpython-312.pyc' './usr/lib/python3/site-packages/pdm/backend/__pycache__/structures.cpython-312.opt-2.pyc' => './usr/lib/python3/site-packages/pdm/backend/__pycache__/structures.cpython-312.opt-1.pyc' './usr/lib/python3/site-packages/pdm/backend/__pycache__/utils.cpython-312.opt-1.pyc' => './usr/lib/python3/site-packages/pdm/backend/__pycache__/utils.cpython-312.pyc' './usr/lib/python3/site-packages/pdm/backend/__pycache__/wheel.cpython-312.opt-1.pyc' => './usr/lib/python3/site-packages/pdm/backend/__pycache__/wheel.cpython-312.pyc' './usr/lib/python3/site-packages/pdm/backend/_vendor/__pycache__/__init__.cpython-312.opt-1.pyc' => './usr/lib/python3/site-packages/pdm/backend/_vendor/__pycache__/__init__.cpython-312.pyc' './usr/lib/python3/site-packages/pdm/backend/hooks/__pycache__/__init__.cpython-312.opt-1.pyc' => './usr/lib/python3/site-packages/pdm/backend/hooks/__pycache__/__init__.cpython-312.pyc' './usr/lib/python3/site-packages/pdm/backend/hooks/__pycache__/__init__.cpython-312.opt-2.pyc' => './usr/lib/python3/site-packages/pdm/backend/hooks/__pycache__/__init__.cpython-312.opt-1.pyc' './usr/lib/python3/site-packages/pdm/backend/hooks/__pycache__/base.cpython-312.opt-1.pyc' => './usr/lib/python3/site-packages/pdm/backend/hooks/__pycache__/base.cpython-312.pyc' './usr/lib/python3/site-packages/pdm/backend/hooks/__pycache__/setuptools.cpython-312.opt-1.pyc' => './usr/lib/python3/site-packages/pdm/backend/hooks/__pycache__/setuptools.cpython-312.pyc' './usr/lib/python3/site-packages/pdm/backend/hooks/version/__pycache__/__init__.cpython-312.opt-1.pyc' => './usr/lib/python3/site-packages/pdm/backend/hooks/version/__pycache__/__init__.cpython-312.pyc' Executing(%check): /bin/sh -e /usr/src/tmp/rpm-tmp.81292 + umask 022 + /bin/mkdir -p /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + cd python3-module-pdm-backend-2.3.3 + export 'CFLAGS=-pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto' + CFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto' + export 'CXXFLAGS=-pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto' + CXXFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto' + export 'FFLAGS=-pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto' + FFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto' + export NO_INTERNET=YES + NO_INTERNET=YES + /usr/bin/python3 -m pyproject_installer run -- python3 -m pytest -ra -Wignore tests INFO : Creating venv INFO : Installing console scripts INFO : Installing package: /usr/src/RPM/BUILD/python3-module-pdm-backend-2.3.3/dist/pdm_backend-2.3.3-py3-none-any.whl INFO : Running command: ['/usr/src/RPM/BUILD/python3-module-pdm-backend-2.3.3/.run_venv/bin/python3', '-m', 'pyproject_installer', 'install', '/usr/src/RPM/BUILD/python3-module-pdm-backend-2.3.3/dist/pdm_backend-2.3.3-py3-none-any.whl'] INFO : Running command: ['python3', '-m', 'pytest', '-ra', '-Wignore', 'tests'] ============================= test session starts ============================== platform linux -- Python 3.12.5, pytest-8.3.2, pluggy-1.5.0 rootdir: /usr/src/RPM/BUILD/python3-module-pdm-backend-2.3.3 configfile: pyproject.toml plugins: xdist-3.6.1 collected 87 items tests/pdm/backend/hooks/version/test_scm.py .E.E.E.E.E..EE..EE [ 20%] tests/test_api.py .................................. [ 59%] tests/test_file_finder.py .................... [ 82%] tests/test_hooks.py . [ 83%] tests/test_metadata.py ......... [ 94%] tests/test_utils.py .s [ 96%] tests/test_wheel.py ... [100%] ==================================== ERRORS ==================================== _ ERROR at setup of test__get_version_from_scm__returns_tag_if_method_unspecified[hg] _ request = > scm_dir = PosixPath('/usr/src/tmp/tmptjq8w8bu') @pytest.fixture(params=["git", "hg"]) def scm(request: pytest.FixtureRequest, scm_dir: Path) -> Scm: > scm = cast(Scm, request.getfixturevalue(request.param)) tests/pdm/backend/hooks/version/test_scm.py:172: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/site-packages/_pytest/fixtures.py:531: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) /usr/lib/python3/site-packages/_pytest/fixtures.py:616: in _get_active_fixturedef fixturedef.execute(request=subrequest) /usr/lib/python3/site-packages/_pytest/fixtures.py:1090: in execute result = ihook.pytest_fixture_setup(fixturedef=self, request=request) /usr/lib/python3/site-packages/pluggy/_hooks.py:513: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) /usr/lib/python3/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) /usr/lib/python3/site-packages/_pytest/setuponly.py:36: in pytest_fixture_setup return (yield) /usr/lib/python3/site-packages/_pytest/fixtures.py:1139: in pytest_fixture_setup result = call_fixture_func(fixturefunc, request, kwargs) /usr/lib/python3/site-packages/_pytest/fixtures.py:897: in call_fixture_func fixture_result = fixturefunc(**kwargs) tests/pdm/backend/hooks/version/test_scm.py:165: in hg scm = HgScm(Path(hg), scm_dir) tests/pdm/backend/hooks/version/test_scm.py:62: in __init__ self._init() tests/pdm/backend/hooks/version/test_scm.py:128: in _init self.run("init") tests/pdm/backend/hooks/version/test_scm.py:65: in run result = subprocess.run( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ input = None, capture_output = True, timeout = None, check = True popenargs = ([PosixPath('/usr/bin/hg'), 'init'],) kwargs = {'cwd': PosixPath('/usr/src/tmp/tmptjq8w8bu'), 'encoding': 'utf-8', 'stderr': -1, 'stdout': -1} process = stdout = '' stderr = 'Traceback (most recent call last):\n File "/usr/bin/hg", line 57, in \n from mercurial import dispatch\n ...eError: partially initialized module \'threading\' has no attribute \'RLock\' (most likely due to a circular import)\n' retcode = 1 def run(*popenargs, input=None, capture_output=False, timeout=None, check=False, **kwargs): """Run command with arguments and return a CompletedProcess instance. The returned instance will have attributes args, returncode, stdout and stderr. By default, stdout and stderr are not captured, and those attributes will be None. Pass stdout=PIPE and/or stderr=PIPE in order to capture them, or pass capture_output=True to capture both. If check is True and the exit code was non-zero, it raises a CalledProcessError. The CalledProcessError object will have the return code in the returncode attribute, and output & stderr attributes if those streams were captured. If timeout is given, and the process takes too long, a TimeoutExpired exception will be raised. There is an optional argument "input", allowing you to pass bytes or a string to the subprocess's stdin. If you use this argument you may not also use the Popen constructor's "stdin" argument, as it will be used internally. By default, all communication is in bytes, and therefore any "input" should be bytes, and the stdout and stderr will be bytes. If in text mode, any "input" should be a string, and stdout and stderr will be strings decoded according to locale encoding, or by "encoding" if set. Text mode is triggered by setting any of text, encoding, errors or universal_newlines. The other arguments are the same as for the Popen constructor. """ if input is not None: if kwargs.get('stdin') is not None: raise ValueError('stdin and input arguments may not both be used.') kwargs['stdin'] = PIPE if capture_output: if kwargs.get('stdout') is not None or kwargs.get('stderr') is not None: raise ValueError('stdout and stderr arguments may not be used ' 'with capture_output.') kwargs['stdout'] = PIPE kwargs['stderr'] = PIPE with Popen(*popenargs, **kwargs) as process: try: stdout, stderr = process.communicate(input, timeout=timeout) except TimeoutExpired as exc: process.kill() if _mswindows: # Windows accumulates the output in a single blocking # read() call run on child threads, with the timeout # being done in a join() on those threads. communicate() # _after_ kill() is required to collect that and add it # to the exception. exc.stdout, exc.stderr = process.communicate() else: # POSIX _communicate already populated the output so # far into the TimeoutExpired exception. process.wait() raise except: # Including KeyboardInterrupt, communicate handled that. process.kill() # We don't call process.wait() as .__exit__ does that for us. raise retcode = process.poll() if check and retcode: > raise CalledProcessError(retcode, process.args, output=stdout, stderr=stderr) E subprocess.CalledProcessError: Command '[PosixPath('/usr/bin/hg'), 'init']' returned non-zero exit status 1. /usr/lib64/python3.12/subprocess.py:571: CalledProcessError _ ERROR at setup of test__get_version_from_scm__adds_details_if_project_is_dirty[hg] _ request = > scm_dir = PosixPath('/usr/src/tmp/tmp057ddnzz') @pytest.fixture(params=["git", "hg"]) def scm(request: pytest.FixtureRequest, scm_dir: Path) -> Scm: > scm = cast(Scm, request.getfixturevalue(request.param)) tests/pdm/backend/hooks/version/test_scm.py:172: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/site-packages/_pytest/fixtures.py:531: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) /usr/lib/python3/site-packages/_pytest/fixtures.py:616: in _get_active_fixturedef fixturedef.execute(request=subrequest) /usr/lib/python3/site-packages/_pytest/fixtures.py:1090: in execute result = ihook.pytest_fixture_setup(fixturedef=self, request=request) /usr/lib/python3/site-packages/pluggy/_hooks.py:513: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) /usr/lib/python3/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) /usr/lib/python3/site-packages/_pytest/setuponly.py:36: in pytest_fixture_setup return (yield) /usr/lib/python3/site-packages/_pytest/fixtures.py:1139: in pytest_fixture_setup result = call_fixture_func(fixturefunc, request, kwargs) /usr/lib/python3/site-packages/_pytest/fixtures.py:897: in call_fixture_func fixture_result = fixturefunc(**kwargs) tests/pdm/backend/hooks/version/test_scm.py:165: in hg scm = HgScm(Path(hg), scm_dir) tests/pdm/backend/hooks/version/test_scm.py:62: in __init__ self._init() tests/pdm/backend/hooks/version/test_scm.py:128: in _init self.run("init") tests/pdm/backend/hooks/version/test_scm.py:65: in run result = subprocess.run( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ input = None, capture_output = True, timeout = None, check = True popenargs = ([PosixPath('/usr/bin/hg'), 'init'],) kwargs = {'cwd': PosixPath('/usr/src/tmp/tmp057ddnzz'), 'encoding': 'utf-8', 'stderr': -1, 'stdout': -1} process = stdout = '' stderr = 'Traceback (most recent call last):\n File "/usr/bin/hg", line 57, in \n from mercurial import dispatch\n ...eError: partially initialized module \'threading\' has no attribute \'RLock\' (most likely due to a circular import)\n' retcode = 1 def run(*popenargs, input=None, capture_output=False, timeout=None, check=False, **kwargs): """Run command with arguments and return a CompletedProcess instance. The returned instance will have attributes args, returncode, stdout and stderr. By default, stdout and stderr are not captured, and those attributes will be None. Pass stdout=PIPE and/or stderr=PIPE in order to capture them, or pass capture_output=True to capture both. If check is True and the exit code was non-zero, it raises a CalledProcessError. The CalledProcessError object will have the return code in the returncode attribute, and output & stderr attributes if those streams were captured. If timeout is given, and the process takes too long, a TimeoutExpired exception will be raised. There is an optional argument "input", allowing you to pass bytes or a string to the subprocess's stdin. If you use this argument you may not also use the Popen constructor's "stdin" argument, as it will be used internally. By default, all communication is in bytes, and therefore any "input" should be bytes, and the stdout and stderr will be bytes. If in text mode, any "input" should be a string, and stdout and stderr will be strings decoded according to locale encoding, or by "encoding" if set. Text mode is triggered by setting any of text, encoding, errors or universal_newlines. The other arguments are the same as for the Popen constructor. """ if input is not None: if kwargs.get('stdin') is not None: raise ValueError('stdin and input arguments may not both be used.') kwargs['stdin'] = PIPE if capture_output: if kwargs.get('stdout') is not None or kwargs.get('stderr') is not None: raise ValueError('stdout and stderr arguments may not be used ' 'with capture_output.') kwargs['stdout'] = PIPE kwargs['stderr'] = PIPE with Popen(*popenargs, **kwargs) as process: try: stdout, stderr = process.communicate(input, timeout=timeout) except TimeoutExpired as exc: process.kill() if _mswindows: # Windows accumulates the output in a single blocking # read() call run on child threads, with the timeout # being done in a join() on those threads. communicate() # _after_ kill() is required to collect that and add it # to the exception. exc.stdout, exc.stderr = process.communicate() else: # POSIX _communicate already populated the output so # far into the TimeoutExpired exception. process.wait() raise except: # Including KeyboardInterrupt, communicate handled that. process.kill() # We don't call process.wait() as .__exit__ does that for us. raise retcode = process.poll() if check and retcode: > raise CalledProcessError(retcode, process.args, output=stdout, stderr=stderr) E subprocess.CalledProcessError: Command '[PosixPath('/usr/bin/hg'), 'init']' returned non-zero exit status 1. /usr/lib64/python3.12/subprocess.py:571: CalledProcessError _ ERROR at setup of test__get_version_from_scm__returns_version_if_tag_has_v[hg] _ request = > scm_dir = PosixPath('/usr/src/tmp/tmpq8waywlj') @pytest.fixture(params=["git", "hg"]) def scm(request: pytest.FixtureRequest, scm_dir: Path) -> Scm: > scm = cast(Scm, request.getfixturevalue(request.param)) tests/pdm/backend/hooks/version/test_scm.py:172: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/site-packages/_pytest/fixtures.py:531: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) /usr/lib/python3/site-packages/_pytest/fixtures.py:616: in _get_active_fixturedef fixturedef.execute(request=subrequest) /usr/lib/python3/site-packages/_pytest/fixtures.py:1090: in execute result = ihook.pytest_fixture_setup(fixturedef=self, request=request) /usr/lib/python3/site-packages/pluggy/_hooks.py:513: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) /usr/lib/python3/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) /usr/lib/python3/site-packages/_pytest/setuponly.py:36: in pytest_fixture_setup return (yield) /usr/lib/python3/site-packages/_pytest/fixtures.py:1139: in pytest_fixture_setup result = call_fixture_func(fixturefunc, request, kwargs) /usr/lib/python3/site-packages/_pytest/fixtures.py:897: in call_fixture_func fixture_result = fixturefunc(**kwargs) tests/pdm/backend/hooks/version/test_scm.py:165: in hg scm = HgScm(Path(hg), scm_dir) tests/pdm/backend/hooks/version/test_scm.py:62: in __init__ self._init() tests/pdm/backend/hooks/version/test_scm.py:128: in _init self.run("init") tests/pdm/backend/hooks/version/test_scm.py:65: in run result = subprocess.run( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ input = None, capture_output = True, timeout = None, check = True popenargs = ([PosixPath('/usr/bin/hg'), 'init'],) kwargs = {'cwd': PosixPath('/usr/src/tmp/tmpq8waywlj'), 'encoding': 'utf-8', 'stderr': -1, 'stdout': -1} process = stdout = '' stderr = 'Traceback (most recent call last):\n File "/usr/bin/hg", line 57, in \n from mercurial import dispatch\n ...eError: partially initialized module \'threading\' has no attribute \'RLock\' (most likely due to a circular import)\n' retcode = 1 def run(*popenargs, input=None, capture_output=False, timeout=None, check=False, **kwargs): """Run command with arguments and return a CompletedProcess instance. The returned instance will have attributes args, returncode, stdout and stderr. By default, stdout and stderr are not captured, and those attributes will be None. Pass stdout=PIPE and/or stderr=PIPE in order to capture them, or pass capture_output=True to capture both. If check is True and the exit code was non-zero, it raises a CalledProcessError. The CalledProcessError object will have the return code in the returncode attribute, and output & stderr attributes if those streams were captured. If timeout is given, and the process takes too long, a TimeoutExpired exception will be raised. There is an optional argument "input", allowing you to pass bytes or a string to the subprocess's stdin. If you use this argument you may not also use the Popen constructor's "stdin" argument, as it will be used internally. By default, all communication is in bytes, and therefore any "input" should be bytes, and the stdout and stderr will be bytes. If in text mode, any "input" should be a string, and stdout and stderr will be strings decoded according to locale encoding, or by "encoding" if set. Text mode is triggered by setting any of text, encoding, errors or universal_newlines. The other arguments are the same as for the Popen constructor. """ if input is not None: if kwargs.get('stdin') is not None: raise ValueError('stdin and input arguments may not both be used.') kwargs['stdin'] = PIPE if capture_output: if kwargs.get('stdout') is not None or kwargs.get('stderr') is not None: raise ValueError('stdout and stderr arguments may not be used ' 'with capture_output.') kwargs['stdout'] = PIPE kwargs['stderr'] = PIPE with Popen(*popenargs, **kwargs) as process: try: stdout, stderr = process.communicate(input, timeout=timeout) except TimeoutExpired as exc: process.kill() if _mswindows: # Windows accumulates the output in a single blocking # read() call run on child threads, with the timeout # being done in a join() on those threads. communicate() # _after_ kill() is required to collect that and add it # to the exception. exc.stdout, exc.stderr = process.communicate() else: # POSIX _communicate already populated the output so # far into the TimeoutExpired exception. process.wait() raise except: # Including KeyboardInterrupt, communicate handled that. process.kill() # We don't call process.wait() as .__exit__ does that for us. raise retcode = process.poll() if check and retcode: > raise CalledProcessError(retcode, process.args, output=stdout, stderr=stderr) E subprocess.CalledProcessError: Command '[PosixPath('/usr/bin/hg'), 'init']' returned non-zero exit status 1. /usr/lib64/python3.12/subprocess.py:571: CalledProcessError _ ERROR at setup of test__get_version_from_scm__returns_default_if_tag_cannot_be_parsed[hg] _ request = > scm_dir = PosixPath('/usr/src/tmp/tmpwvwj4pha') @pytest.fixture(params=["git", "hg"]) def scm(request: pytest.FixtureRequest, scm_dir: Path) -> Scm: > scm = cast(Scm, request.getfixturevalue(request.param)) tests/pdm/backend/hooks/version/test_scm.py:172: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/site-packages/_pytest/fixtures.py:531: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) /usr/lib/python3/site-packages/_pytest/fixtures.py:616: in _get_active_fixturedef fixturedef.execute(request=subrequest) /usr/lib/python3/site-packages/_pytest/fixtures.py:1090: in execute result = ihook.pytest_fixture_setup(fixturedef=self, request=request) /usr/lib/python3/site-packages/pluggy/_hooks.py:513: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) /usr/lib/python3/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) /usr/lib/python3/site-packages/_pytest/setuponly.py:36: in pytest_fixture_setup return (yield) /usr/lib/python3/site-packages/_pytest/fixtures.py:1139: in pytest_fixture_setup result = call_fixture_func(fixturefunc, request, kwargs) /usr/lib/python3/site-packages/_pytest/fixtures.py:897: in call_fixture_func fixture_result = fixturefunc(**kwargs) tests/pdm/backend/hooks/version/test_scm.py:165: in hg scm = HgScm(Path(hg), scm_dir) tests/pdm/backend/hooks/version/test_scm.py:62: in __init__ self._init() tests/pdm/backend/hooks/version/test_scm.py:128: in _init self.run("init") tests/pdm/backend/hooks/version/test_scm.py:65: in run result = subprocess.run( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ input = None, capture_output = True, timeout = None, check = True popenargs = ([PosixPath('/usr/bin/hg'), 'init'],) kwargs = {'cwd': PosixPath('/usr/src/tmp/tmpwvwj4pha'), 'encoding': 'utf-8', 'stderr': -1, 'stdout': -1} process = stdout = '' stderr = 'Traceback (most recent call last):\n File "/usr/bin/hg", line 57, in \n from mercurial import dispatch\n ...eError: partially initialized module \'threading\' has no attribute \'RLock\' (most likely due to a circular import)\n' retcode = 1 def run(*popenargs, input=None, capture_output=False, timeout=None, check=False, **kwargs): """Run command with arguments and return a CompletedProcess instance. The returned instance will have attributes args, returncode, stdout and stderr. By default, stdout and stderr are not captured, and those attributes will be None. Pass stdout=PIPE and/or stderr=PIPE in order to capture them, or pass capture_output=True to capture both. If check is True and the exit code was non-zero, it raises a CalledProcessError. The CalledProcessError object will have the return code in the returncode attribute, and output & stderr attributes if those streams were captured. If timeout is given, and the process takes too long, a TimeoutExpired exception will be raised. There is an optional argument "input", allowing you to pass bytes or a string to the subprocess's stdin. If you use this argument you may not also use the Popen constructor's "stdin" argument, as it will be used internally. By default, all communication is in bytes, and therefore any "input" should be bytes, and the stdout and stderr will be bytes. If in text mode, any "input" should be a string, and stdout and stderr will be strings decoded according to locale encoding, or by "encoding" if set. Text mode is triggered by setting any of text, encoding, errors or universal_newlines. The other arguments are the same as for the Popen constructor. """ if input is not None: if kwargs.get('stdin') is not None: raise ValueError('stdin and input arguments may not both be used.') kwargs['stdin'] = PIPE if capture_output: if kwargs.get('stdout') is not None or kwargs.get('stderr') is not None: raise ValueError('stdout and stderr arguments may not be used ' 'with capture_output.') kwargs['stdout'] = PIPE kwargs['stderr'] = PIPE with Popen(*popenargs, **kwargs) as process: try: stdout, stderr = process.communicate(input, timeout=timeout) except TimeoutExpired as exc: process.kill() if _mswindows: # Windows accumulates the output in a single blocking # read() call run on child threads, with the timeout # being done in a join() on those threads. communicate() # _after_ kill() is required to collect that and add it # to the exception. exc.stdout, exc.stderr = process.communicate() else: # POSIX _communicate already populated the output so # far into the TimeoutExpired exception. process.wait() raise except: # Including KeyboardInterrupt, communicate handled that. process.kill() # We don't call process.wait() as .__exit__ does that for us. raise retcode = process.poll() if check and retcode: > raise CalledProcessError(retcode, process.args, output=stdout, stderr=stderr) E subprocess.CalledProcessError: Command '[PosixPath('/usr/bin/hg'), 'init']' returned non-zero exit status 1. /usr/lib64/python3.12/subprocess.py:571: CalledProcessError _________ ERROR at setup of test__get_version_from_scm__tag_regex[hg] __________ request = > scm_dir = PosixPath('/usr/src/tmp/tmpui711n1a') @pytest.fixture(params=["git", "hg"]) def scm(request: pytest.FixtureRequest, scm_dir: Path) -> Scm: > scm = cast(Scm, request.getfixturevalue(request.param)) tests/pdm/backend/hooks/version/test_scm.py:172: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/site-packages/_pytest/fixtures.py:531: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) /usr/lib/python3/site-packages/_pytest/fixtures.py:616: in _get_active_fixturedef fixturedef.execute(request=subrequest) /usr/lib/python3/site-packages/_pytest/fixtures.py:1090: in execute result = ihook.pytest_fixture_setup(fixturedef=self, request=request) /usr/lib/python3/site-packages/pluggy/_hooks.py:513: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) /usr/lib/python3/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) /usr/lib/python3/site-packages/_pytest/setuponly.py:36: in pytest_fixture_setup return (yield) /usr/lib/python3/site-packages/_pytest/fixtures.py:1139: in pytest_fixture_setup result = call_fixture_func(fixturefunc, request, kwargs) /usr/lib/python3/site-packages/_pytest/fixtures.py:897: in call_fixture_func fixture_result = fixturefunc(**kwargs) tests/pdm/backend/hooks/version/test_scm.py:165: in hg scm = HgScm(Path(hg), scm_dir) tests/pdm/backend/hooks/version/test_scm.py:62: in __init__ self._init() tests/pdm/backend/hooks/version/test_scm.py:128: in _init self.run("init") tests/pdm/backend/hooks/version/test_scm.py:65: in run result = subprocess.run( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ input = None, capture_output = True, timeout = None, check = True popenargs = ([PosixPath('/usr/bin/hg'), 'init'],) kwargs = {'cwd': PosixPath('/usr/src/tmp/tmpui711n1a'), 'encoding': 'utf-8', 'stderr': -1, 'stdout': -1} process = stdout = '' stderr = 'Traceback (most recent call last):\n File "/usr/bin/hg", line 57, in \n from mercurial import dispatch\n ...eError: partially initialized module \'threading\' has no attribute \'RLock\' (most likely due to a circular import)\n' retcode = 1 def run(*popenargs, input=None, capture_output=False, timeout=None, check=False, **kwargs): """Run command with arguments and return a CompletedProcess instance. The returned instance will have attributes args, returncode, stdout and stderr. By default, stdout and stderr are not captured, and those attributes will be None. Pass stdout=PIPE and/or stderr=PIPE in order to capture them, or pass capture_output=True to capture both. If check is True and the exit code was non-zero, it raises a CalledProcessError. The CalledProcessError object will have the return code in the returncode attribute, and output & stderr attributes if those streams were captured. If timeout is given, and the process takes too long, a TimeoutExpired exception will be raised. There is an optional argument "input", allowing you to pass bytes or a string to the subprocess's stdin. If you use this argument you may not also use the Popen constructor's "stdin" argument, as it will be used internally. By default, all communication is in bytes, and therefore any "input" should be bytes, and the stdout and stderr will be bytes. If in text mode, any "input" should be a string, and stdout and stderr will be strings decoded according to locale encoding, or by "encoding" if set. Text mode is triggered by setting any of text, encoding, errors or universal_newlines. The other arguments are the same as for the Popen constructor. """ if input is not None: if kwargs.get('stdin') is not None: raise ValueError('stdin and input arguments may not both be used.') kwargs['stdin'] = PIPE if capture_output: if kwargs.get('stdout') is not None or kwargs.get('stderr') is not None: raise ValueError('stdout and stderr arguments may not be used ' 'with capture_output.') kwargs['stdout'] = PIPE kwargs['stderr'] = PIPE with Popen(*popenargs, **kwargs) as process: try: stdout, stderr = process.communicate(input, timeout=timeout) except TimeoutExpired as exc: process.kill() if _mswindows: # Windows accumulates the output in a single blocking # read() call run on child threads, with the timeout # being done in a join() on those threads. communicate() # _after_ kill() is required to collect that and add it # to the exception. exc.stdout, exc.stderr = process.communicate() else: # POSIX _communicate already populated the output so # far into the TimeoutExpired exception. process.wait() raise except: # Including KeyboardInterrupt, communicate handled that. process.kill() # We don't call process.wait() as .__exit__ does that for us. raise retcode = process.poll() if check and retcode: > raise CalledProcessError(retcode, process.args, output=stdout, stderr=stderr) E subprocess.CalledProcessError: Command '[PosixPath('/usr/bin/hg'), 'init']' returned non-zero exit status 1. /usr/lib64/python3.12/subprocess.py:571: CalledProcessError _ ERROR at setup of test__get_version_from_scm__selects_by_tag_filter_on_same_commit[hg-0] _ request = > scm_dir = PosixPath('/usr/src/tmp/tmpgj_uczop') @pytest.fixture(params=["git", "hg"]) def scm(request: pytest.FixtureRequest, scm_dir: Path) -> Scm: > scm = cast(Scm, request.getfixturevalue(request.param)) tests/pdm/backend/hooks/version/test_scm.py:172: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/site-packages/_pytest/fixtures.py:531: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) /usr/lib/python3/site-packages/_pytest/fixtures.py:616: in _get_active_fixturedef fixturedef.execute(request=subrequest) /usr/lib/python3/site-packages/_pytest/fixtures.py:1090: in execute result = ihook.pytest_fixture_setup(fixturedef=self, request=request) /usr/lib/python3/site-packages/pluggy/_hooks.py:513: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) /usr/lib/python3/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) /usr/lib/python3/site-packages/_pytest/setuponly.py:36: in pytest_fixture_setup return (yield) /usr/lib/python3/site-packages/_pytest/fixtures.py:1139: in pytest_fixture_setup result = call_fixture_func(fixturefunc, request, kwargs) /usr/lib/python3/site-packages/_pytest/fixtures.py:897: in call_fixture_func fixture_result = fixturefunc(**kwargs) tests/pdm/backend/hooks/version/test_scm.py:165: in hg scm = HgScm(Path(hg), scm_dir) tests/pdm/backend/hooks/version/test_scm.py:62: in __init__ self._init() tests/pdm/backend/hooks/version/test_scm.py:128: in _init self.run("init") tests/pdm/backend/hooks/version/test_scm.py:65: in run result = subprocess.run( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ input = None, capture_output = True, timeout = None, check = True popenargs = ([PosixPath('/usr/bin/hg'), 'init'],) kwargs = {'cwd': PosixPath('/usr/src/tmp/tmpgj_uczop'), 'encoding': 'utf-8', 'stderr': -1, 'stdout': -1} process = stdout = '' stderr = 'Traceback (most recent call last):\n File "/usr/bin/hg", line 57, in \n from mercurial import dispatch\n ...eError: partially initialized module \'threading\' has no attribute \'RLock\' (most likely due to a circular import)\n' retcode = 1 def run(*popenargs, input=None, capture_output=False, timeout=None, check=False, **kwargs): """Run command with arguments and return a CompletedProcess instance. The returned instance will have attributes args, returncode, stdout and stderr. By default, stdout and stderr are not captured, and those attributes will be None. Pass stdout=PIPE and/or stderr=PIPE in order to capture them, or pass capture_output=True to capture both. If check is True and the exit code was non-zero, it raises a CalledProcessError. The CalledProcessError object will have the return code in the returncode attribute, and output & stderr attributes if those streams were captured. If timeout is given, and the process takes too long, a TimeoutExpired exception will be raised. There is an optional argument "input", allowing you to pass bytes or a string to the subprocess's stdin. If you use this argument you may not also use the Popen constructor's "stdin" argument, as it will be used internally. By default, all communication is in bytes, and therefore any "input" should be bytes, and the stdout and stderr will be bytes. If in text mode, any "input" should be a string, and stdout and stderr will be strings decoded according to locale encoding, or by "encoding" if set. Text mode is triggered by setting any of text, encoding, errors or universal_newlines. The other arguments are the same as for the Popen constructor. """ if input is not None: if kwargs.get('stdin') is not None: raise ValueError('stdin and input arguments may not both be used.') kwargs['stdin'] = PIPE if capture_output: if kwargs.get('stdout') is not None or kwargs.get('stderr') is not None: raise ValueError('stdout and stderr arguments may not be used ' 'with capture_output.') kwargs['stdout'] = PIPE kwargs['stderr'] = PIPE with Popen(*popenargs, **kwargs) as process: try: stdout, stderr = process.communicate(input, timeout=timeout) except TimeoutExpired as exc: process.kill() if _mswindows: # Windows accumulates the output in a single blocking # read() call run on child threads, with the timeout # being done in a join() on those threads. communicate() # _after_ kill() is required to collect that and add it # to the exception. exc.stdout, exc.stderr = process.communicate() else: # POSIX _communicate already populated the output so # far into the TimeoutExpired exception. process.wait() raise except: # Including KeyboardInterrupt, communicate handled that. process.kill() # We don't call process.wait() as .__exit__ does that for us. raise retcode = process.poll() if check and retcode: > raise CalledProcessError(retcode, process.args, output=stdout, stderr=stderr) E subprocess.CalledProcessError: Command '[PosixPath('/usr/bin/hg'), 'init']' returned non-zero exit status 1. /usr/lib64/python3.12/subprocess.py:571: CalledProcessError _ ERROR at setup of test__get_version_from_scm__selects_by_tag_filter_on_same_commit[hg-1] _ request = > scm_dir = PosixPath('/usr/src/tmp/tmphy1z2ikq') @pytest.fixture(params=["git", "hg"]) def scm(request: pytest.FixtureRequest, scm_dir: Path) -> Scm: > scm = cast(Scm, request.getfixturevalue(request.param)) tests/pdm/backend/hooks/version/test_scm.py:172: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/site-packages/_pytest/fixtures.py:531: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) /usr/lib/python3/site-packages/_pytest/fixtures.py:616: in _get_active_fixturedef fixturedef.execute(request=subrequest) /usr/lib/python3/site-packages/_pytest/fixtures.py:1090: in execute result = ihook.pytest_fixture_setup(fixturedef=self, request=request) /usr/lib/python3/site-packages/pluggy/_hooks.py:513: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) /usr/lib/python3/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) /usr/lib/python3/site-packages/_pytest/setuponly.py:36: in pytest_fixture_setup return (yield) /usr/lib/python3/site-packages/_pytest/fixtures.py:1139: in pytest_fixture_setup result = call_fixture_func(fixturefunc, request, kwargs) /usr/lib/python3/site-packages/_pytest/fixtures.py:897: in call_fixture_func fixture_result = fixturefunc(**kwargs) tests/pdm/backend/hooks/version/test_scm.py:165: in hg scm = HgScm(Path(hg), scm_dir) tests/pdm/backend/hooks/version/test_scm.py:62: in __init__ self._init() tests/pdm/backend/hooks/version/test_scm.py:128: in _init self.run("init") tests/pdm/backend/hooks/version/test_scm.py:65: in run result = subprocess.run( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ input = None, capture_output = True, timeout = None, check = True popenargs = ([PosixPath('/usr/bin/hg'), 'init'],) kwargs = {'cwd': PosixPath('/usr/src/tmp/tmphy1z2ikq'), 'encoding': 'utf-8', 'stderr': -1, 'stdout': -1} process = stdout = '' stderr = 'Traceback (most recent call last):\n File "/usr/bin/hg", line 57, in \n from mercurial import dispatch\n ...eError: partially initialized module \'threading\' has no attribute \'RLock\' (most likely due to a circular import)\n' retcode = 1 def run(*popenargs, input=None, capture_output=False, timeout=None, check=False, **kwargs): """Run command with arguments and return a CompletedProcess instance. The returned instance will have attributes args, returncode, stdout and stderr. By default, stdout and stderr are not captured, and those attributes will be None. Pass stdout=PIPE and/or stderr=PIPE in order to capture them, or pass capture_output=True to capture both. If check is True and the exit code was non-zero, it raises a CalledProcessError. The CalledProcessError object will have the return code in the returncode attribute, and output & stderr attributes if those streams were captured. If timeout is given, and the process takes too long, a TimeoutExpired exception will be raised. There is an optional argument "input", allowing you to pass bytes or a string to the subprocess's stdin. If you use this argument you may not also use the Popen constructor's "stdin" argument, as it will be used internally. By default, all communication is in bytes, and therefore any "input" should be bytes, and the stdout and stderr will be bytes. If in text mode, any "input" should be a string, and stdout and stderr will be strings decoded according to locale encoding, or by "encoding" if set. Text mode is triggered by setting any of text, encoding, errors or universal_newlines. The other arguments are the same as for the Popen constructor. """ if input is not None: if kwargs.get('stdin') is not None: raise ValueError('stdin and input arguments may not both be used.') kwargs['stdin'] = PIPE if capture_output: if kwargs.get('stdout') is not None or kwargs.get('stderr') is not None: raise ValueError('stdout and stderr arguments may not be used ' 'with capture_output.') kwargs['stdout'] = PIPE kwargs['stderr'] = PIPE with Popen(*popenargs, **kwargs) as process: try: stdout, stderr = process.communicate(input, timeout=timeout) except TimeoutExpired as exc: process.kill() if _mswindows: # Windows accumulates the output in a single blocking # read() call run on child threads, with the timeout # being done in a join() on those threads. communicate() # _after_ kill() is required to collect that and add it # to the exception. exc.stdout, exc.stderr = process.communicate() else: # POSIX _communicate already populated the output so # far into the TimeoutExpired exception. process.wait() raise except: # Including KeyboardInterrupt, communicate handled that. process.kill() # We don't call process.wait() as .__exit__ does that for us. raise retcode = process.poll() if check and retcode: > raise CalledProcessError(retcode, process.args, output=stdout, stderr=stderr) E subprocess.CalledProcessError: Command '[PosixPath('/usr/bin/hg'), 'init']' returned non-zero exit status 1. /usr/lib64/python3.12/subprocess.py:571: CalledProcessError _ ERROR at setup of test__get_version_from_scm__selects_by_tag_filter_on_different_commits[hg-0] _ request = > scm_dir = PosixPath('/usr/src/tmp/tmpi5o6l67s') @pytest.fixture(params=["git", "hg"]) def scm(request: pytest.FixtureRequest, scm_dir: Path) -> Scm: > scm = cast(Scm, request.getfixturevalue(request.param)) tests/pdm/backend/hooks/version/test_scm.py:172: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/site-packages/_pytest/fixtures.py:531: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) /usr/lib/python3/site-packages/_pytest/fixtures.py:616: in _get_active_fixturedef fixturedef.execute(request=subrequest) /usr/lib/python3/site-packages/_pytest/fixtures.py:1090: in execute result = ihook.pytest_fixture_setup(fixturedef=self, request=request) /usr/lib/python3/site-packages/pluggy/_hooks.py:513: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) /usr/lib/python3/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) /usr/lib/python3/site-packages/_pytest/setuponly.py:36: in pytest_fixture_setup return (yield) /usr/lib/python3/site-packages/_pytest/fixtures.py:1139: in pytest_fixture_setup result = call_fixture_func(fixturefunc, request, kwargs) /usr/lib/python3/site-packages/_pytest/fixtures.py:897: in call_fixture_func fixture_result = fixturefunc(**kwargs) tests/pdm/backend/hooks/version/test_scm.py:165: in hg scm = HgScm(Path(hg), scm_dir) tests/pdm/backend/hooks/version/test_scm.py:62: in __init__ self._init() tests/pdm/backend/hooks/version/test_scm.py:128: in _init self.run("init") tests/pdm/backend/hooks/version/test_scm.py:65: in run result = subprocess.run( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ input = None, capture_output = True, timeout = None, check = True popenargs = ([PosixPath('/usr/bin/hg'), 'init'],) kwargs = {'cwd': PosixPath('/usr/src/tmp/tmpi5o6l67s'), 'encoding': 'utf-8', 'stderr': -1, 'stdout': -1} process = stdout = '' stderr = 'Traceback (most recent call last):\n File "/usr/bin/hg", line 57, in \n from mercurial import dispatch\n ...eError: partially initialized module \'threading\' has no attribute \'RLock\' (most likely due to a circular import)\n' retcode = 1 def run(*popenargs, input=None, capture_output=False, timeout=None, check=False, **kwargs): """Run command with arguments and return a CompletedProcess instance. The returned instance will have attributes args, returncode, stdout and stderr. By default, stdout and stderr are not captured, and those attributes will be None. Pass stdout=PIPE and/or stderr=PIPE in order to capture them, or pass capture_output=True to capture both. If check is True and the exit code was non-zero, it raises a CalledProcessError. The CalledProcessError object will have the return code in the returncode attribute, and output & stderr attributes if those streams were captured. If timeout is given, and the process takes too long, a TimeoutExpired exception will be raised. There is an optional argument "input", allowing you to pass bytes or a string to the subprocess's stdin. If you use this argument you may not also use the Popen constructor's "stdin" argument, as it will be used internally. By default, all communication is in bytes, and therefore any "input" should be bytes, and the stdout and stderr will be bytes. If in text mode, any "input" should be a string, and stdout and stderr will be strings decoded according to locale encoding, or by "encoding" if set. Text mode is triggered by setting any of text, encoding, errors or universal_newlines. The other arguments are the same as for the Popen constructor. """ if input is not None: if kwargs.get('stdin') is not None: raise ValueError('stdin and input arguments may not both be used.') kwargs['stdin'] = PIPE if capture_output: if kwargs.get('stdout') is not None or kwargs.get('stderr') is not None: raise ValueError('stdout and stderr arguments may not be used ' 'with capture_output.') kwargs['stdout'] = PIPE kwargs['stderr'] = PIPE with Popen(*popenargs, **kwargs) as process: try: stdout, stderr = process.communicate(input, timeout=timeout) except TimeoutExpired as exc: process.kill() if _mswindows: # Windows accumulates the output in a single blocking # read() call run on child threads, with the timeout # being done in a join() on those threads. communicate() # _after_ kill() is required to collect that and add it # to the exception. exc.stdout, exc.stderr = process.communicate() else: # POSIX _communicate already populated the output so # far into the TimeoutExpired exception. process.wait() raise except: # Including KeyboardInterrupt, communicate handled that. process.kill() # We don't call process.wait() as .__exit__ does that for us. raise retcode = process.poll() if check and retcode: > raise CalledProcessError(retcode, process.args, output=stdout, stderr=stderr) E subprocess.CalledProcessError: Command '[PosixPath('/usr/bin/hg'), 'init']' returned non-zero exit status 1. /usr/lib64/python3.12/subprocess.py:571: CalledProcessError _ ERROR at setup of test__get_version_from_scm__selects_by_tag_filter_on_different_commits[hg-1] _ request = > scm_dir = PosixPath('/usr/src/tmp/tmpds2mc8i3') @pytest.fixture(params=["git", "hg"]) def scm(request: pytest.FixtureRequest, scm_dir: Path) -> Scm: > scm = cast(Scm, request.getfixturevalue(request.param)) tests/pdm/backend/hooks/version/test_scm.py:172: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/site-packages/_pytest/fixtures.py:531: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) /usr/lib/python3/site-packages/_pytest/fixtures.py:616: in _get_active_fixturedef fixturedef.execute(request=subrequest) /usr/lib/python3/site-packages/_pytest/fixtures.py:1090: in execute result = ihook.pytest_fixture_setup(fixturedef=self, request=request) /usr/lib/python3/site-packages/pluggy/_hooks.py:513: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) /usr/lib/python3/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) /usr/lib/python3/site-packages/_pytest/setuponly.py:36: in pytest_fixture_setup return (yield) /usr/lib/python3/site-packages/_pytest/fixtures.py:1139: in pytest_fixture_setup result = call_fixture_func(fixturefunc, request, kwargs) /usr/lib/python3/site-packages/_pytest/fixtures.py:897: in call_fixture_func fixture_result = fixturefunc(**kwargs) tests/pdm/backend/hooks/version/test_scm.py:165: in hg scm = HgScm(Path(hg), scm_dir) tests/pdm/backend/hooks/version/test_scm.py:62: in __init__ self._init() tests/pdm/backend/hooks/version/test_scm.py:128: in _init self.run("init") tests/pdm/backend/hooks/version/test_scm.py:65: in run result = subprocess.run( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ input = None, capture_output = True, timeout = None, check = True popenargs = ([PosixPath('/usr/bin/hg'), 'init'],) kwargs = {'cwd': PosixPath('/usr/src/tmp/tmpds2mc8i3'), 'encoding': 'utf-8', 'stderr': -1, 'stdout': -1} process = stdout = '' stderr = 'Traceback (most recent call last):\n File "/usr/bin/hg", line 57, in \n from mercurial import dispatch\n ...eError: partially initialized module \'threading\' has no attribute \'RLock\' (most likely due to a circular import)\n' retcode = 1 def run(*popenargs, input=None, capture_output=False, timeout=None, check=False, **kwargs): """Run command with arguments and return a CompletedProcess instance. The returned instance will have attributes args, returncode, stdout and stderr. By default, stdout and stderr are not captured, and those attributes will be None. Pass stdout=PIPE and/or stderr=PIPE in order to capture them, or pass capture_output=True to capture both. If check is True and the exit code was non-zero, it raises a CalledProcessError. The CalledProcessError object will have the return code in the returncode attribute, and output & stderr attributes if those streams were captured. If timeout is given, and the process takes too long, a TimeoutExpired exception will be raised. There is an optional argument "input", allowing you to pass bytes or a string to the subprocess's stdin. If you use this argument you may not also use the Popen constructor's "stdin" argument, as it will be used internally. By default, all communication is in bytes, and therefore any "input" should be bytes, and the stdout and stderr will be bytes. If in text mode, any "input" should be a string, and stdout and stderr will be strings decoded according to locale encoding, or by "encoding" if set. Text mode is triggered by setting any of text, encoding, errors or universal_newlines. The other arguments are the same as for the Popen constructor. """ if input is not None: if kwargs.get('stdin') is not None: raise ValueError('stdin and input arguments may not both be used.') kwargs['stdin'] = PIPE if capture_output: if kwargs.get('stdout') is not None or kwargs.get('stderr') is not None: raise ValueError('stdout and stderr arguments may not be used ' 'with capture_output.') kwargs['stdout'] = PIPE kwargs['stderr'] = PIPE with Popen(*popenargs, **kwargs) as process: try: stdout, stderr = process.communicate(input, timeout=timeout) except TimeoutExpired as exc: process.kill() if _mswindows: # Windows accumulates the output in a single blocking # read() call run on child threads, with the timeout # being done in a join() on those threads. communicate() # _after_ kill() is required to collect that and add it # to the exception. exc.stdout, exc.stderr = process.communicate() else: # POSIX _communicate already populated the output so # far into the TimeoutExpired exception. process.wait() raise except: # Including KeyboardInterrupt, communicate handled that. process.kill() # We don't call process.wait() as .__exit__ does that for us. raise retcode = process.poll() if check and retcode: > raise CalledProcessError(retcode, process.args, output=stdout, stderr=stderr) E subprocess.CalledProcessError: Command '[PosixPath('/usr/bin/hg'), 'init']' returned non-zero exit status 1. /usr/lib64/python3.12/subprocess.py:571: CalledProcessError =========================== short test summary info ============================ SKIPPED [1] tests/test_utils.py:20: Windows path ERROR tests/pdm/backend/hooks/version/test_scm.py::test__get_version_from_scm__returns_tag_if_method_unspecified[hg] ERROR tests/pdm/backend/hooks/version/test_scm.py::test__get_version_from_scm__adds_details_if_project_is_dirty[hg] ERROR tests/pdm/backend/hooks/version/test_scm.py::test__get_version_from_scm__returns_version_if_tag_has_v[hg] ERROR tests/pdm/backend/hooks/version/test_scm.py::test__get_version_from_scm__returns_default_if_tag_cannot_be_parsed[hg] ERROR tests/pdm/backend/hooks/version/test_scm.py::test__get_version_from_scm__tag_regex[hg] ERROR tests/pdm/backend/hooks/version/test_scm.py::test__get_version_from_scm__selects_by_tag_filter_on_same_commit[hg-0] ERROR tests/pdm/backend/hooks/version/test_scm.py::test__get_version_from_scm__selects_by_tag_filter_on_same_commit[hg-1] ERROR tests/pdm/backend/hooks/version/test_scm.py::test__get_version_from_scm__selects_by_tag_filter_on_different_commits[hg-0] ERROR tests/pdm/backend/hooks/version/test_scm.py::test__get_version_from_scm__selects_by_tag_filter_on_different_commits[hg-1] =================== 77 passed, 1 skipped, 9 errors in 2.54s ==================== INFO : Command's result: FAILURE INFO : Command's error: Command '['python3', '-m', 'pytest', '-ra', '-Wignore', 'tests']' returned non-zero exit status 1. error: Bad exit status from /usr/src/tmp/rpm-tmp.81292 (%check) RPM build errors: Bad exit status from /usr/src/tmp/rpm-tmp.81292 (%check) Command exited with non-zero status 1 4.58user 1.58system 0:06.09elapsed 101%CPU (0avgtext+0avgdata 47312maxresident)k 0inputs+0outputs (0major+296949minor)pagefaults 0swaps hsh-rebuild: rebuild of `python3-module-pdm-backend-2.3.3-alt1.src.rpm' failed. Command exited with non-zero status 1 5.30user 3.13system 0:22.17elapsed 38%CPU (0avgtext+0avgdata 135156maxresident)k 0inputs+0outputs (0major+302192minor)pagefaults 0swaps