--- Begin Message ---
Source: extension-helpers
Version: 1.1.0-1
Severity: serious
Justification: FTBFS
Tags: trixie sid ftbfs
User: lu...@debian.org
Usertags: ftbfs-20230925 ftbfs-trixie
Hi,
During a rebuild of all packages in sid, your package failed to build
on amd64.
Relevant part (hopefully):
> make[1]: Entering directory '/<<PKGBUILDDIR>>'
> dh_auto_test
> I: pybuild base:291: cd
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_extension-helpers/build; python3.11
> -m pytest
> ============================= test session starts
> ==============================
> platform linux -- Python 3.11.5, pytest-7.4.2, pluggy-1.3.0
> rootdir: /<<PKGBUILDDIR>>
> configfile: setup.cfg
> collected 16 items
>
> extension_helpers/tests/test_openmp_helpers.py .. [
> 12%]
> extension_helpers/tests/test_setup_helpers.py ..FFFFFFFFFF [
> 87%]
> extension_helpers/tests/test_utils.py ..
> [100%]
>
> =================================== FAILURES
> ===================================
> _____________________________ test_compiler_module
> _____________________________
>
> capsys = <_pytest.capture.CaptureFixture object at 0x7f32c7e29590>
> c_extension_test_package =
> local('/tmp/pytest-of-user42/pytest-17/test_compiler_module0/test_pkg')
>
> def test_compiler_module(capsys, c_extension_test_package):
> """
> Test ensuring that the compiler module is built and installed for
> packages
> that have extension modules.
> """
>
> test_pkg = c_extension_test_package
> install_temp = test_pkg.mkdir("install_temp")
>
> with test_pkg.as_cwd():
> # This is one of the simplest ways to install just a package into
> a
> # test directory
> > run_setup(
> "setup.py",
> [
> "install",
> "--single-version-externally-managed",
> f"--install-lib={install_temp}",
> "--record={}".format(install_temp.join("record.txt")),
> ],
> )
>
> extension_helpers/tests/test_setup_helpers.py:186:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
>
> setup_script = 'setup.py'
> args = ['install', '--single-version-externally-managed',
> '--install-lib=/tmp/pytest-of-user42/pytest-17/test_compiler_module...t_pkg/install_temp',
>
> '--record=/tmp/pytest-of-user42/pytest-17/test_compiler_module0/test_pkg/install_temp/record.txt']
>
> def run_setup(setup_script, args):
> # This used to call setuptools.sandbox's run_setup, but due to issues
> with
> # this and Cython (which caused segmentation faults), we now use
> subprocess.
>
> setup_script = os.path.abspath(setup_script)
>
> path = os.path.dirname(setup_script)
> setup_script = os.path.basename(setup_script)
>
> if HAS_COVERAGE:
> # In this case, we run the command using the coverage command and
> we
> # then collect the coverage data into a SUBPROCESS_COVERAGE list
> which
> # is set up at the start of the testing process and is then
> combined
> # into a single .coverage file at the end of the testing process.
>
> p = sp.Popen(
> ["coverage", "run", setup_script] + list(args), cwd=path,
> stdout=sp.PIPE, stderr=sp.PIPE
> )
> stdout, stderr = p.communicate()
>
> cdata = CoverageData()
> if HAS_COVERAGE >= 5:
> # Support coverage<5 and >=5; see
> # https://github.com/astropy/extension-helpers/issues/24
> cdata.read()
> else:
> cdata.read_file(os.path.join(path, ".coverage"))
>
> SUBPROCESS_COVERAGE.append(cdata)
>
> else:
> # Otherwise we just run the tests with Python
>
> p = sp.Popen(
> [sys.executable, setup_script] + list(args), cwd=path,
> stdout=sp.PIPE, stderr=sp.PIPE
> )
> stdout, stderr = p.communicate()
>
> sys.stdout.write(stdout.decode("utf-8"))
> sys.stderr.write(stderr.decode("utf-8"))
>
> if p.returncode != 0:
> > raise SystemExit(p.returncode)
> E SystemExit: 1
>
> extension_helpers/tests/__init__.py:83: SystemExit
> ----------------------------- Captured stderr call
> -----------------------------
> Traceback (most recent call last):
> File
> "/tmp/pytest-of-user42/pytest-17/test_compiler_module0/test_pkg/setup.py",
> line 7, in <module>
> setup(
> File "/usr/lib/python3/dist-packages/setuptools/__init__.py", line 107, in
> setup
> return distutils.core.setup(**attrs)
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> File "/usr/lib/python3/dist-packages/setuptools/_distutils/core.py", line
> 147, in setup
> _setup_distribution = dist = klass(attrs)
> ^^^^^^^^^^^^
> File "/usr/lib/python3/dist-packages/setuptools/dist.py", line 485, in
> __init__
> _Distribution.__init__(
> File "/usr/lib/python3/dist-packages/setuptools/_distutils/dist.py", line
> 283, in __init__
> self.finalize_options()
> File "/usr/lib/python3/dist-packages/setuptools/dist.py", line 926, in
> finalize_options
> ep(self)
> File
> "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_extension-helpers/build/extension_helpers/__init__.py",
> line 17, in _finalize_distribution_hook
> import tomli
> ModuleNotFoundError: No module named 'tomli'
> _________________________ test_no_setup_py[None-None]
> __________________________
>
> tmpdir = local('/tmp/pytest-of-user42/pytest-17/test_no_setup_py_None_None_0')
> use_extension_helpers = None, pyproject_use_helpers = None
>
> @pytest.mark.parametrize("use_extension_helpers", [None, False, True])
> @pytest.mark.parametrize("pyproject_use_helpers", [None, False, True])
> def test_no_setup_py(tmpdir, use_extension_helpers,
> pyproject_use_helpers):
> """
> Test that makes sure that extension-helpers can be enabled without a
> setup.py file.
> """
>
> package_name = "helpers_test_package_" +
> str(uuid.uuid4()).replace("-", "_")
>
> test_pkg = tmpdir.mkdir("test_pkg")
> test_pkg.mkdir(package_name).ensure("__init__.py")
>
> simple_c = test_pkg.join(package_name, "simple.c")
>
> simple_c.write(
> dedent(
> """\
> #include <Python.h>
>
> static struct PyModuleDef moduledef = {
> PyModuleDef_HEAD_INIT,
> "simple",
> NULL,
> -1,
> NULL
> };
> PyMODINIT_FUNC
> PyInit_simple(void) {
> return PyModule_Create(&moduledef);
> }
> """
> )
> )
>
> test_pkg.join(package_name, "setup_package.py").write(
> dedent(
> f"""\
> from setuptools import Extension
> from os.path import join
> def get_extensions():
> return [Extension('{package_name}.simple',
> [join('{package_name}', 'simple.c')])]
> """
> )
> )
>
> if use_extension_helpers is None:
> test_pkg.join("setup.cfg").write(
> dedent(
> f"""\
> [metadata]
> name = {package_name}
> version = 0.1
>
> [options]
> packages = find:
> """
> )
> )
> else:
> test_pkg.join("setup.cfg").write(
> dedent(
> f"""\
> [metadata]
> name = {package_name}
> version = 0.1
>
> [options]
> packages = find:
>
> [extension-helpers]
> use_extension_helpers = {str(use_extension_helpers).lower()}
> """
> )
> )
>
> if pyproject_use_helpers is None:
> test_pkg.join("pyproject.toml").write(
> dedent(
> """\
> [build-system]
> requires = ["setuptools>=43.0.0",
> "wheel"]
> build-backend = 'setuptools.build_meta'
> """
> )
> )
> else:
> test_pkg.join("pyproject.toml").write(
> dedent(
> f"""\
> [build-system]
> requires = ["setuptools>=43.0.0",
> "wheel"]
> build-backend = 'setuptools.build_meta'
>
> [tool.extension-helpers]
> use_extension_helpers = {str(pyproject_use_helpers).lower()}
> """
> )
> )
>
> install_temp = test_pkg.mkdir("install_temp")
>
> with test_pkg.as_cwd():
> # NOTE: we disable build isolation as we need to pick up the
> current
> # developer version of extension-helpers
> subprocess.call(
> [
> sys.executable,
> "-m",
> "pip",
> "install",
> ".",
> "--no-build-isolation",
> f"--target={install_temp}",
> ]
> )
>
> if "" in sys.path:
> sys.path.remove("")
>
> sys.path.insert(0, "")
>
> with install_temp.as_cwd():
> > importlib.import_module(package_name)
>
> extension_helpers/tests/test_setup_helpers.py:333:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
> /usr/lib/python3.11/importlib/__init__.py:126: in import_module
> return _bootstrap._gcd_import(name[level:], package, level)
> <frozen importlib._bootstrap>:1204: in _gcd_import
> ???
> <frozen importlib._bootstrap>:1176: in _find_and_load
> ???
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
>
> name = 'helpers_test_package_541f06c2_3064_4604_946a_e2ad573262b5'
> import_ = <function _gcd_import at 0x7f32c8c6bd80>
>
> > ???
> E ModuleNotFoundError: No module named
> 'helpers_test_package_541f06c2_3064_4604_946a_e2ad573262b5'
>
> <frozen importlib._bootstrap>:1140: ModuleNotFoundError
> ----------------------------- Captured stdout call
> -----------------------------
> Processing
> /tmp/pytest-of-user42/pytest-17/test_no_setup_py_None_None_0/test_pkg
> Preparing metadata (pyproject.toml): started
> Preparing metadata (pyproject.toml): finished with status 'error'
> ----------------------------- Captured stderr call
> -----------------------------
> error: subprocess-exited-with-error
>
> × Preparing metadata (pyproject.toml) did not run successfully.
> │ exit code: 1
> ╰─> [29 lines of output]
> Traceback (most recent call last):
> File
> "/usr/lib/python3/dist-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py",
> line 353, in <module>
> main()
> File
> "/usr/lib/python3/dist-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py",
> line 335, in main
> json_out['return_val'] = hook(**hook_input['kwargs'])
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> File
> "/usr/lib/python3/dist-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py",
> line 149, in prepare_metadata_for_build_wheel
> return hook(metadata_directory, config_settings)
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> File "/usr/lib/python3/dist-packages/setuptools/build_meta.py", line
> 396, in prepare_metadata_for_build_wheel
> self.run_setup()
> File "/usr/lib/python3/dist-packages/setuptools/build_meta.py", line
> 341, in run_setup
> exec(code, locals())
> File "<string>", line 1, in <module>
> File "/usr/lib/python3/dist-packages/setuptools/__init__.py", line
> 107, in setup
> return distutils.core.setup(**attrs)
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> File "/usr/lib/python3/dist-packages/setuptools/_distutils/core.py",
> line 147, in setup
> _setup_distribution = dist = klass(attrs)
> ^^^^^^^^^^^^
> File "/usr/lib/python3/dist-packages/setuptools/dist.py", line 485,
> in __init__
> _Distribution.__init__(
> File "/usr/lib/python3/dist-packages/setuptools/_distutils/dist.py",
> line 283, in __init__
> self.finalize_options()
> File "/usr/lib/python3/dist-packages/setuptools/dist.py", line 926,
> in finalize_options
> ep(self)
> File
> "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_extension-helpers/build/extension_helpers/__init__.py",
> line 17, in _finalize_distribution_hook
> import tomli
> ModuleNotFoundError: No module named 'tomli'
> [end of output]
>
> note: This error originates from a subprocess, and is likely not a problem
> with pip.
> error: metadata-generation-failed
>
> × Encountered error while generating package metadata.
> ╰─> See above for output.
>
> note: This is an issue with the package mentioned above, not pip.
> hint: See above for details.
> _________________________ test_no_setup_py[None-False]
> _________________________
>
> tmpdir =
> local('/tmp/pytest-of-user42/pytest-17/test_no_setup_py_None_False_0')
> use_extension_helpers = False, pyproject_use_helpers = None
>
> @pytest.mark.parametrize("use_extension_helpers", [None, False, True])
> @pytest.mark.parametrize("pyproject_use_helpers", [None, False, True])
> def test_no_setup_py(tmpdir, use_extension_helpers,
> pyproject_use_helpers):
> """
> Test that makes sure that extension-helpers can be enabled without a
> setup.py file.
> """
>
> package_name = "helpers_test_package_" +
> str(uuid.uuid4()).replace("-", "_")
>
> test_pkg = tmpdir.mkdir("test_pkg")
> test_pkg.mkdir(package_name).ensure("__init__.py")
>
> simple_c = test_pkg.join(package_name, "simple.c")
>
> simple_c.write(
> dedent(
> """\
> #include <Python.h>
>
> static struct PyModuleDef moduledef = {
> PyModuleDef_HEAD_INIT,
> "simple",
> NULL,
> -1,
> NULL
> };
> PyMODINIT_FUNC
> PyInit_simple(void) {
> return PyModule_Create(&moduledef);
> }
> """
> )
> )
>
> test_pkg.join(package_name, "setup_package.py").write(
> dedent(
> f"""\
> from setuptools import Extension
> from os.path import join
> def get_extensions():
> return [Extension('{package_name}.simple',
> [join('{package_name}', 'simple.c')])]
> """
> )
> )
>
> if use_extension_helpers is None:
> test_pkg.join("setup.cfg").write(
> dedent(
> f"""\
> [metadata]
> name = {package_name}
> version = 0.1
>
> [options]
> packages = find:
> """
> )
> )
> else:
> test_pkg.join("setup.cfg").write(
> dedent(
> f"""\
> [metadata]
> name = {package_name}
> version = 0.1
>
> [options]
> packages = find:
>
> [extension-helpers]
> use_extension_helpers = {str(use_extension_helpers).lower()}
> """
> )
> )
>
> if pyproject_use_helpers is None:
> test_pkg.join("pyproject.toml").write(
> dedent(
> """\
> [build-system]
> requires = ["setuptools>=43.0.0",
> "wheel"]
> build-backend = 'setuptools.build_meta'
> """
> )
> )
> else:
> test_pkg.join("pyproject.toml").write(
> dedent(
> f"""\
> [build-system]
> requires = ["setuptools>=43.0.0",
> "wheel"]
> build-backend = 'setuptools.build_meta'
>
> [tool.extension-helpers]
> use_extension_helpers = {str(pyproject_use_helpers).lower()}
> """
> )
> )
>
> install_temp = test_pkg.mkdir("install_temp")
>
> with test_pkg.as_cwd():
> # NOTE: we disable build isolation as we need to pick up the
> current
> # developer version of extension-helpers
> subprocess.call(
> [
> sys.executable,
> "-m",
> "pip",
> "install",
> ".",
> "--no-build-isolation",
> f"--target={install_temp}",
> ]
> )
>
> if "" in sys.path:
> sys.path.remove("")
>
> sys.path.insert(0, "")
>
> with install_temp.as_cwd():
> > importlib.import_module(package_name)
>
> extension_helpers/tests/test_setup_helpers.py:333:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
> /usr/lib/python3.11/importlib/__init__.py:126: in import_module
> return _bootstrap._gcd_import(name[level:], package, level)
> <frozen importlib._bootstrap>:1204: in _gcd_import
> ???
> <frozen importlib._bootstrap>:1176: in _find_and_load
> ???
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
>
> name = 'helpers_test_package_cbee52f5_8cf5_42fc_925d_5c2dfaf4c54f'
> import_ = <function _gcd_import at 0x7f32c8c6bd80>
>
> > ???
> E ModuleNotFoundError: No module named
> 'helpers_test_package_cbee52f5_8cf5_42fc_925d_5c2dfaf4c54f'
>
> <frozen importlib._bootstrap>:1140: ModuleNotFoundError
> ----------------------------- Captured stdout call
> -----------------------------
> Processing
> /tmp/pytest-of-user42/pytest-17/test_no_setup_py_None_False_0/test_pkg
> Preparing metadata (pyproject.toml): started
> Preparing metadata (pyproject.toml): finished with status 'error'
> ----------------------------- Captured stderr call
> -----------------------------
> error: subprocess-exited-with-error
>
> × Preparing metadata (pyproject.toml) did not run successfully.
> │ exit code: 1
> ╰─> [29 lines of output]
> Traceback (most recent call last):
> File
> "/usr/lib/python3/dist-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py",
> line 353, in <module>
> main()
> File
> "/usr/lib/python3/dist-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py",
> line 335, in main
> json_out['return_val'] = hook(**hook_input['kwargs'])
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> File
> "/usr/lib/python3/dist-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py",
> line 149, in prepare_metadata_for_build_wheel
> return hook(metadata_directory, config_settings)
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> File "/usr/lib/python3/dist-packages/setuptools/build_meta.py", line
> 396, in prepare_metadata_for_build_wheel
> self.run_setup()
> File "/usr/lib/python3/dist-packages/setuptools/build_meta.py", line
> 341, in run_setup
> exec(code, locals())
> File "<string>", line 1, in <module>
> File "/usr/lib/python3/dist-packages/setuptools/__init__.py", line
> 107, in setup
> return distutils.core.setup(**attrs)
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> File "/usr/lib/python3/dist-packages/setuptools/_distutils/core.py",
> line 147, in setup
> _setup_distribution = dist = klass(attrs)
> ^^^^^^^^^^^^
> File "/usr/lib/python3/dist-packages/setuptools/dist.py", line 485,
> in __init__
> _Distribution.__init__(
> File "/usr/lib/python3/dist-packages/setuptools/_distutils/dist.py",
> line 283, in __init__
> self.finalize_options()
> File "/usr/lib/python3/dist-packages/setuptools/dist.py", line 926,
> in finalize_options
> ep(self)
> File
> "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_extension-helpers/build/extension_helpers/__init__.py",
> line 17, in _finalize_distribution_hook
> import tomli
> ModuleNotFoundError: No module named 'tomli'
> [end of output]
>
> note: This error originates from a subprocess, and is likely not a problem
> with pip.
> error: metadata-generation-failed
>
> × Encountered error while generating package metadata.
> ╰─> See above for output.
>
> note: This is an issue with the package mentioned above, not pip.
> hint: See above for details.
> _________________________ test_no_setup_py[None-True]
> __________________________
>
> tmpdir = local('/tmp/pytest-of-user42/pytest-17/test_no_setup_py_None_True_0')
> use_extension_helpers = True, pyproject_use_helpers = None
>
> @pytest.mark.parametrize("use_extension_helpers", [None, False, True])
> @pytest.mark.parametrize("pyproject_use_helpers", [None, False, True])
> def test_no_setup_py(tmpdir, use_extension_helpers,
> pyproject_use_helpers):
> """
> Test that makes sure that extension-helpers can be enabled without a
> setup.py file.
> """
>
> package_name = "helpers_test_package_" +
> str(uuid.uuid4()).replace("-", "_")
>
> test_pkg = tmpdir.mkdir("test_pkg")
> test_pkg.mkdir(package_name).ensure("__init__.py")
>
> simple_c = test_pkg.join(package_name, "simple.c")
>
> simple_c.write(
> dedent(
> """\
> #include <Python.h>
>
> static struct PyModuleDef moduledef = {
> PyModuleDef_HEAD_INIT,
> "simple",
> NULL,
> -1,
> NULL
> };
> PyMODINIT_FUNC
> PyInit_simple(void) {
> return PyModule_Create(&moduledef);
> }
> """
> )
> )
>
> test_pkg.join(package_name, "setup_package.py").write(
> dedent(
> f"""\
> from setuptools import Extension
> from os.path import join
> def get_extensions():
> return [Extension('{package_name}.simple',
> [join('{package_name}', 'simple.c')])]
> """
> )
> )
>
> if use_extension_helpers is None:
> test_pkg.join("setup.cfg").write(
> dedent(
> f"""\
> [metadata]
> name = {package_name}
> version = 0.1
>
> [options]
> packages = find:
> """
> )
> )
> else:
> test_pkg.join("setup.cfg").write(
> dedent(
> f"""\
> [metadata]
> name = {package_name}
> version = 0.1
>
> [options]
> packages = find:
>
> [extension-helpers]
> use_extension_helpers = {str(use_extension_helpers).lower()}
> """
> )
> )
>
> if pyproject_use_helpers is None:
> test_pkg.join("pyproject.toml").write(
> dedent(
> """\
> [build-system]
> requires = ["setuptools>=43.0.0",
> "wheel"]
> build-backend = 'setuptools.build_meta'
> """
> )
> )
> else:
> test_pkg.join("pyproject.toml").write(
> dedent(
> f"""\
> [build-system]
> requires = ["setuptools>=43.0.0",
> "wheel"]
> build-backend = 'setuptools.build_meta'
>
> [tool.extension-helpers]
> use_extension_helpers = {str(pyproject_use_helpers).lower()}
> """
> )
> )
>
> install_temp = test_pkg.mkdir("install_temp")
>
> with test_pkg.as_cwd():
> # NOTE: we disable build isolation as we need to pick up the
> current
> # developer version of extension-helpers
> subprocess.call(
> [
> sys.executable,
> "-m",
> "pip",
> "install",
> ".",
> "--no-build-isolation",
> f"--target={install_temp}",
> ]
> )
>
> if "" in sys.path:
> sys.path.remove("")
>
> sys.path.insert(0, "")
>
> with install_temp.as_cwd():
> > importlib.import_module(package_name)
>
> extension_helpers/tests/test_setup_helpers.py:333:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
> /usr/lib/python3.11/importlib/__init__.py:126: in import_module
> return _bootstrap._gcd_import(name[level:], package, level)
> <frozen importlib._bootstrap>:1204: in _gcd_import
> ???
> <frozen importlib._bootstrap>:1176: in _find_and_load
> ???
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
>
> name = 'helpers_test_package_513b21fd_17e7_4fbd_a405_80b7871ba373'
> import_ = <function _gcd_import at 0x7f32c8c6bd80>
>
> > ???
> E ModuleNotFoundError: No module named
> 'helpers_test_package_513b21fd_17e7_4fbd_a405_80b7871ba373'
>
> <frozen importlib._bootstrap>:1140: ModuleNotFoundError
> ----------------------------- Captured stdout call
> -----------------------------
> Processing
> /tmp/pytest-of-user42/pytest-17/test_no_setup_py_None_True_0/test_pkg
> Preparing metadata (pyproject.toml): started
> Preparing metadata (pyproject.toml): finished with status 'error'
> ----------------------------- Captured stderr call
> -----------------------------
> error: subprocess-exited-with-error
>
> × Preparing metadata (pyproject.toml) did not run successfully.
> │ exit code: 1
> ╰─> [29 lines of output]
> Traceback (most recent call last):
> File
> "/usr/lib/python3/dist-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py",
> line 353, in <module>
> main()
> File
> "/usr/lib/python3/dist-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py",
> line 335, in main
> json_out['return_val'] = hook(**hook_input['kwargs'])
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> File
> "/usr/lib/python3/dist-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py",
> line 149, in prepare_metadata_for_build_wheel
> return hook(metadata_directory, config_settings)
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> File "/usr/lib/python3/dist-packages/setuptools/build_meta.py", line
> 396, in prepare_metadata_for_build_wheel
> self.run_setup()
> File "/usr/lib/python3/dist-packages/setuptools/build_meta.py", line
> 341, in run_setup
> exec(code, locals())
> File "<string>", line 1, in <module>
> File "/usr/lib/python3/dist-packages/setuptools/__init__.py", line
> 107, in setup
> return distutils.core.setup(**attrs)
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> File "/usr/lib/python3/dist-packages/setuptools/_distutils/core.py",
> line 147, in setup
> _setup_distribution = dist = klass(attrs)
> ^^^^^^^^^^^^
> File "/usr/lib/python3/dist-packages/setuptools/dist.py", line 485,
> in __init__
> _Distribution.__init__(
> File "/usr/lib/python3/dist-packages/setuptools/_distutils/dist.py",
> line 283, in __init__
> self.finalize_options()
> File "/usr/lib/python3/dist-packages/setuptools/dist.py", line 926,
> in finalize_options
> ep(self)
> File
> "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_extension-helpers/build/extension_helpers/__init__.py",
> line 17, in _finalize_distribution_hook
> import tomli
> ModuleNotFoundError: No module named 'tomli'
> [end of output]
>
> note: This error originates from a subprocess, and is likely not a problem
> with pip.
> error: metadata-generation-failed
>
> × Encountered error while generating package metadata.
> ╰─> See above for output.
>
> note: This is an issue with the package mentioned above, not pip.
> hint: See above for details.
> _________________________ test_no_setup_py[False-None]
> _________________________
>
> tmpdir =
> local('/tmp/pytest-of-user42/pytest-17/test_no_setup_py_False_None_0')
> use_extension_helpers = None, pyproject_use_helpers = False
>
> @pytest.mark.parametrize("use_extension_helpers", [None, False, True])
> @pytest.mark.parametrize("pyproject_use_helpers", [None, False, True])
> def test_no_setup_py(tmpdir, use_extension_helpers,
> pyproject_use_helpers):
> """
> Test that makes sure that extension-helpers can be enabled without a
> setup.py file.
> """
>
> package_name = "helpers_test_package_" +
> str(uuid.uuid4()).replace("-", "_")
>
> test_pkg = tmpdir.mkdir("test_pkg")
> test_pkg.mkdir(package_name).ensure("__init__.py")
>
> simple_c = test_pkg.join(package_name, "simple.c")
>
> simple_c.write(
> dedent(
> """\
> #include <Python.h>
>
> static struct PyModuleDef moduledef = {
> PyModuleDef_HEAD_INIT,
> "simple",
> NULL,
> -1,
> NULL
> };
> PyMODINIT_FUNC
> PyInit_simple(void) {
> return PyModule_Create(&moduledef);
> }
> """
> )
> )
>
> test_pkg.join(package_name, "setup_package.py").write(
> dedent(
> f"""\
> from setuptools import Extension
> from os.path import join
> def get_extensions():
> return [Extension('{package_name}.simple',
> [join('{package_name}', 'simple.c')])]
> """
> )
> )
>
> if use_extension_helpers is None:
> test_pkg.join("setup.cfg").write(
> dedent(
> f"""\
> [metadata]
> name = {package_name}
> version = 0.1
>
> [options]
> packages = find:
> """
> )
> )
> else:
> test_pkg.join("setup.cfg").write(
> dedent(
> f"""\
> [metadata]
> name = {package_name}
> version = 0.1
>
> [options]
> packages = find:
>
> [extension-helpers]
> use_extension_helpers = {str(use_extension_helpers).lower()}
> """
> )
> )
>
> if pyproject_use_helpers is None:
> test_pkg.join("pyproject.toml").write(
> dedent(
> """\
> [build-system]
> requires = ["setuptools>=43.0.0",
> "wheel"]
> build-backend = 'setuptools.build_meta'
> """
> )
> )
> else:
> test_pkg.join("pyproject.toml").write(
> dedent(
> f"""\
> [build-system]
> requires = ["setuptools>=43.0.0",
> "wheel"]
> build-backend = 'setuptools.build_meta'
>
> [tool.extension-helpers]
> use_extension_helpers = {str(pyproject_use_helpers).lower()}
> """
> )
> )
>
> install_temp = test_pkg.mkdir("install_temp")
>
> with test_pkg.as_cwd():
> # NOTE: we disable build isolation as we need to pick up the
> current
> # developer version of extension-helpers
> subprocess.call(
> [
> sys.executable,
> "-m",
> "pip",
> "install",
> ".",
> "--no-build-isolation",
> f"--target={install_temp}",
> ]
> )
>
> if "" in sys.path:
> sys.path.remove("")
>
> sys.path.insert(0, "")
>
> with install_temp.as_cwd():
> > importlib.import_module(package_name)
>
> extension_helpers/tests/test_setup_helpers.py:333:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
> /usr/lib/python3.11/importlib/__init__.py:126: in import_module
> return _bootstrap._gcd_import(name[level:], package, level)
> <frozen importlib._bootstrap>:1204: in _gcd_import
> ???
> <frozen importlib._bootstrap>:1176: in _find_and_load
> ???
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
>
> name = 'helpers_test_package_5b9da9c3_6721_4631_86ca_d830d2250e39'
> import_ = <function _gcd_import at 0x7f32c8c6bd80>
>
> > ???
> E ModuleNotFoundError: No module named
> 'helpers_test_package_5b9da9c3_6721_4631_86ca_d830d2250e39'
>
> <frozen importlib._bootstrap>:1140: ModuleNotFoundError
> ----------------------------- Captured stdout call
> -----------------------------
> Processing
> /tmp/pytest-of-user42/pytest-17/test_no_setup_py_False_None_0/test_pkg
> Preparing metadata (pyproject.toml): started
> Preparing metadata (pyproject.toml): finished with status 'error'
> ----------------------------- Captured stderr call
> -----------------------------
> error: subprocess-exited-with-error
>
> × Preparing metadata (pyproject.toml) did not run successfully.
> │ exit code: 1
> ╰─> [29 lines of output]
> Traceback (most recent call last):
> File
> "/usr/lib/python3/dist-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py",
> line 353, in <module>
> main()
> File
> "/usr/lib/python3/dist-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py",
> line 335, in main
> json_out['return_val'] = hook(**hook_input['kwargs'])
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> File
> "/usr/lib/python3/dist-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py",
> line 149, in prepare_metadata_for_build_wheel
> return hook(metadata_directory, config_settings)
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> File "/usr/lib/python3/dist-packages/setuptools/build_meta.py", line
> 396, in prepare_metadata_for_build_wheel
> self.run_setup()
> File "/usr/lib/python3/dist-packages/setuptools/build_meta.py", line
> 341, in run_setup
> exec(code, locals())
> File "<string>", line 1, in <module>
> File "/usr/lib/python3/dist-packages/setuptools/__init__.py", line
> 107, in setup
> return distutils.core.setup(**attrs)
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> File "/usr/lib/python3/dist-packages/setuptools/_distutils/core.py",
> line 147, in setup
> _setup_distribution = dist = klass(attrs)
> ^^^^^^^^^^^^
> File "/usr/lib/python3/dist-packages/setuptools/dist.py", line 485,
> in __init__
> _Distribution.__init__(
> File "/usr/lib/python3/dist-packages/setuptools/_distutils/dist.py",
> line 283, in __init__
> self.finalize_options()
> File "/usr/lib/python3/dist-packages/setuptools/dist.py", line 926,
> in finalize_options
> ep(self)
> File
> "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_extension-helpers/build/extension_helpers/__init__.py",
> line 17, in _finalize_distribution_hook
> import tomli
> ModuleNotFoundError: No module named 'tomli'
> [end of output]
>
> note: This error originates from a subprocess, and is likely not a problem
> with pip.
> error: metadata-generation-failed
>
> × Encountered error while generating package metadata.
> ╰─> See above for output.
>
> note: This is an issue with the package mentioned above, not pip.
> hint: See above for details.
> ________________________ test_no_setup_py[False-False]
> _________________________
>
> tmpdir =
> local('/tmp/pytest-of-user42/pytest-17/test_no_setup_py_False_False_0')
> use_extension_helpers = False, pyproject_use_helpers = False
>
> @pytest.mark.parametrize("use_extension_helpers", [None, False, True])
> @pytest.mark.parametrize("pyproject_use_helpers", [None, False, True])
> def test_no_setup_py(tmpdir, use_extension_helpers,
> pyproject_use_helpers):
> """
> Test that makes sure that extension-helpers can be enabled without a
> setup.py file.
> """
>
> package_name = "helpers_test_package_" +
> str(uuid.uuid4()).replace("-", "_")
>
> test_pkg = tmpdir.mkdir("test_pkg")
> test_pkg.mkdir(package_name).ensure("__init__.py")
>
> simple_c = test_pkg.join(package_name, "simple.c")
>
> simple_c.write(
> dedent(
> """\
> #include <Python.h>
>
> static struct PyModuleDef moduledef = {
> PyModuleDef_HEAD_INIT,
> "simple",
> NULL,
> -1,
> NULL
> };
> PyMODINIT_FUNC
> PyInit_simple(void) {
> return PyModule_Create(&moduledef);
> }
> """
> )
> )
>
> test_pkg.join(package_name, "setup_package.py").write(
> dedent(
> f"""\
> from setuptools import Extension
> from os.path import join
> def get_extensions():
> return [Extension('{package_name}.simple',
> [join('{package_name}', 'simple.c')])]
> """
> )
> )
>
> if use_extension_helpers is None:
> test_pkg.join("setup.cfg").write(
> dedent(
> f"""\
> [metadata]
> name = {package_name}
> version = 0.1
>
> [options]
> packages = find:
> """
> )
> )
> else:
> test_pkg.join("setup.cfg").write(
> dedent(
> f"""\
> [metadata]
> name = {package_name}
> version = 0.1
>
> [options]
> packages = find:
>
> [extension-helpers]
> use_extension_helpers = {str(use_extension_helpers).lower()}
> """
> )
> )
>
> if pyproject_use_helpers is None:
> test_pkg.join("pyproject.toml").write(
> dedent(
> """\
> [build-system]
> requires = ["setuptools>=43.0.0",
> "wheel"]
> build-backend = 'setuptools.build_meta'
> """
> )
> )
> else:
> test_pkg.join("pyproject.toml").write(
> dedent(
> f"""\
> [build-system]
> requires = ["setuptools>=43.0.0",
> "wheel"]
> build-backend = 'setuptools.build_meta'
>
> [tool.extension-helpers]
> use_extension_helpers = {str(pyproject_use_helpers).lower()}
> """
> )
> )
>
> install_temp = test_pkg.mkdir("install_temp")
>
> with test_pkg.as_cwd():
> # NOTE: we disable build isolation as we need to pick up the
> current
> # developer version of extension-helpers
> subprocess.call(
> [
> sys.executable,
> "-m",
> "pip",
> "install",
> ".",
> "--no-build-isolation",
> f"--target={install_temp}",
> ]
> )
>
> if "" in sys.path:
> sys.path.remove("")
>
> sys.path.insert(0, "")
>
> with install_temp.as_cwd():
> > importlib.import_module(package_name)
>
> extension_helpers/tests/test_setup_helpers.py:333:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
> /usr/lib/python3.11/importlib/__init__.py:126: in import_module
> return _bootstrap._gcd_import(name[level:], package, level)
> <frozen importlib._bootstrap>:1204: in _gcd_import
> ???
> <frozen importlib._bootstrap>:1176: in _find_and_load
> ???
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
>
> name = 'helpers_test_package_54c17625_4219_4970_9f08_853fd42e157b'
> import_ = <function _gcd_import at 0x7f32c8c6bd80>
>
> > ???
> E ModuleNotFoundError: No module named
> 'helpers_test_package_54c17625_4219_4970_9f08_853fd42e157b'
>
> <frozen importlib._bootstrap>:1140: ModuleNotFoundError
> ----------------------------- Captured stdout call
> -----------------------------
> Processing
> /tmp/pytest-of-user42/pytest-17/test_no_setup_py_False_False_0/test_pkg
> Preparing metadata (pyproject.toml): started
> Preparing metadata (pyproject.toml): finished with status 'error'
> ----------------------------- Captured stderr call
> -----------------------------
> error: subprocess-exited-with-error
>
> × Preparing metadata (pyproject.toml) did not run successfully.
> │ exit code: 1
> ╰─> [29 lines of output]
> Traceback (most recent call last):
> File
> "/usr/lib/python3/dist-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py",
> line 353, in <module>
> main()
> File
> "/usr/lib/python3/dist-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py",
> line 335, in main
> json_out['return_val'] = hook(**hook_input['kwargs'])
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> File
> "/usr/lib/python3/dist-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py",
> line 149, in prepare_metadata_for_build_wheel
> return hook(metadata_directory, config_settings)
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> File "/usr/lib/python3/dist-packages/setuptools/build_meta.py", line
> 396, in prepare_metadata_for_build_wheel
> self.run_setup()
> File "/usr/lib/python3/dist-packages/setuptools/build_meta.py", line
> 341, in run_setup
> exec(code, locals())
> File "<string>", line 1, in <module>
> File "/usr/lib/python3/dist-packages/setuptools/__init__.py", line
> 107, in setup
> return distutils.core.setup(**attrs)
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> File "/usr/lib/python3/dist-packages/setuptools/_distutils/core.py",
> line 147, in setup
> _setup_distribution = dist = klass(attrs)
> ^^^^^^^^^^^^
> File "/usr/lib/python3/dist-packages/setuptools/dist.py", line 485,
> in __init__
> _Distribution.__init__(
> File "/usr/lib/python3/dist-packages/setuptools/_distutils/dist.py",
> line 283, in __init__
> self.finalize_options()
> File "/usr/lib/python3/dist-packages/setuptools/dist.py", line 926,
> in finalize_options
> ep(self)
> File
> "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_extension-helpers/build/extension_helpers/__init__.py",
> line 17, in _finalize_distribution_hook
> import tomli
> ModuleNotFoundError: No module named 'tomli'
> [end of output]
>
> note: This error originates from a subprocess, and is likely not a problem
> with pip.
> error: metadata-generation-failed
>
> × Encountered error while generating package metadata.
> ╰─> See above for output.
>
> note: This is an issue with the package mentioned above, not pip.
> hint: See above for details.
> _________________________ test_no_setup_py[False-True]
> _________________________
>
> tmpdir =
> local('/tmp/pytest-of-user42/pytest-17/test_no_setup_py_False_True_0')
> use_extension_helpers = True, pyproject_use_helpers = False
>
> @pytest.mark.parametrize("use_extension_helpers", [None, False, True])
> @pytest.mark.parametrize("pyproject_use_helpers", [None, False, True])
> def test_no_setup_py(tmpdir, use_extension_helpers,
> pyproject_use_helpers):
> """
> Test that makes sure that extension-helpers can be enabled without a
> setup.py file.
> """
>
> package_name = "helpers_test_package_" +
> str(uuid.uuid4()).replace("-", "_")
>
> test_pkg = tmpdir.mkdir("test_pkg")
> test_pkg.mkdir(package_name).ensure("__init__.py")
>
> simple_c = test_pkg.join(package_name, "simple.c")
>
> simple_c.write(
> dedent(
> """\
> #include <Python.h>
>
> static struct PyModuleDef moduledef = {
> PyModuleDef_HEAD_INIT,
> "simple",
> NULL,
> -1,
> NULL
> };
> PyMODINIT_FUNC
> PyInit_simple(void) {
> return PyModule_Create(&moduledef);
> }
> """
> )
> )
>
> test_pkg.join(package_name, "setup_package.py").write(
> dedent(
> f"""\
> from setuptools import Extension
> from os.path import join
> def get_extensions():
> return [Extension('{package_name}.simple',
> [join('{package_name}', 'simple.c')])]
> """
> )
> )
>
> if use_extension_helpers is None:
> test_pkg.join("setup.cfg").write(
> dedent(
> f"""\
> [metadata]
> name = {package_name}
> version = 0.1
>
> [options]
> packages = find:
> """
> )
> )
> else:
> test_pkg.join("setup.cfg").write(
> dedent(
> f"""\
> [metadata]
> name = {package_name}
> version = 0.1
>
> [options]
> packages = find:
>
> [extension-helpers]
> use_extension_helpers = {str(use_extension_helpers).lower()}
> """
> )
> )
>
> if pyproject_use_helpers is None:
> test_pkg.join("pyproject.toml").write(
> dedent(
> """\
> [build-system]
> requires = ["setuptools>=43.0.0",
> "wheel"]
> build-backend = 'setuptools.build_meta'
> """
> )
> )
> else:
> test_pkg.join("pyproject.toml").write(
> dedent(
> f"""\
> [build-system]
> requires = ["setuptools>=43.0.0",
> "wheel"]
> build-backend = 'setuptools.build_meta'
>
> [tool.extension-helpers]
> use_extension_helpers = {str(pyproject_use_helpers).lower()}
> """
> )
> )
>
> install_temp = test_pkg.mkdir("install_temp")
>
> with test_pkg.as_cwd():
> # NOTE: we disable build isolation as we need to pick up the
> current
> # developer version of extension-helpers
> subprocess.call(
> [
> sys.executable,
> "-m",
> "pip",
> "install",
> ".",
> "--no-build-isolation",
> f"--target={install_temp}",
> ]
> )
>
> if "" in sys.path:
> sys.path.remove("")
>
> sys.path.insert(0, "")
>
> with install_temp.as_cwd():
> > importlib.import_module(package_name)
>
> extension_helpers/tests/test_setup_helpers.py:333:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
> /usr/lib/python3.11/importlib/__init__.py:126: in import_module
> return _bootstrap._gcd_import(name[level:], package, level)
> <frozen importlib._bootstrap>:1204: in _gcd_import
> ???
> <frozen importlib._bootstrap>:1176: in _find_and_load
> ???
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
>
> name = 'helpers_test_package_110a8b5b_7257_4294_ac30_8167b8554fb4'
> import_ = <function _gcd_import at 0x7f32c8c6bd80>
>
> > ???
> E ModuleNotFoundError: No module named
> 'helpers_test_package_110a8b5b_7257_4294_ac30_8167b8554fb4'
>
> <frozen importlib._bootstrap>:1140: ModuleNotFoundError
> ----------------------------- Captured stdout call
> -----------------------------
> Processing
> /tmp/pytest-of-user42/pytest-17/test_no_setup_py_False_True_0/test_pkg
> Preparing metadata (pyproject.toml): started
> Preparing metadata (pyproject.toml): finished with status 'error'
> ----------------------------- Captured stderr call
> -----------------------------
> error: subprocess-exited-with-error
>
> × Preparing metadata (pyproject.toml) did not run successfully.
> │ exit code: 1
> ╰─> [29 lines of output]
> Traceback (most recent call last):
> File
> "/usr/lib/python3/dist-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py",
> line 353, in <module>
> main()
> File
> "/usr/lib/python3/dist-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py",
> line 335, in main
> json_out['return_val'] = hook(**hook_input['kwargs'])
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> File
> "/usr/lib/python3/dist-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py",
> line 149, in prepare_metadata_for_build_wheel
> return hook(metadata_directory, config_settings)
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> File "/usr/lib/python3/dist-packages/setuptools/build_meta.py", line
> 396, in prepare_metadata_for_build_wheel
> self.run_setup()
> File "/usr/lib/python3/dist-packages/setuptools/build_meta.py", line
> 341, in run_setup
> exec(code, locals())
> File "<string>", line 1, in <module>
> File "/usr/lib/python3/dist-packages/setuptools/__init__.py", line
> 107, in setup
> return distutils.core.setup(**attrs)
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> File "/usr/lib/python3/dist-packages/setuptools/_distutils/core.py",
> line 147, in setup
> _setup_distribution = dist = klass(attrs)
> ^^^^^^^^^^^^
> File "/usr/lib/python3/dist-packages/setuptools/dist.py", line 485,
> in __init__
> _Distribution.__init__(
> File "/usr/lib/python3/dist-packages/setuptools/_distutils/dist.py",
> line 283, in __init__
> self.finalize_options()
> File "/usr/lib/python3/dist-packages/setuptools/dist.py", line 926,
> in finalize_options
> ep(self)
> File
> "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_extension-helpers/build/extension_helpers/__init__.py",
> line 17, in _finalize_distribution_hook
> import tomli
> ModuleNotFoundError: No module named 'tomli'
> [end of output]
>
> note: This error originates from a subprocess, and is likely not a problem
> with pip.
> error: metadata-generation-failed
>
> × Encountered error while generating package metadata.
> ╰─> See above for output.
>
> note: This is an issue with the package mentioned above, not pip.
> hint: See above for details.
> _________________________ test_no_setup_py[True-None]
> __________________________
>
> tmpdir = local('/tmp/pytest-of-user42/pytest-17/test_no_setup_py_True_None_0')
> use_extension_helpers = None, pyproject_use_helpers = True
>
> @pytest.mark.parametrize("use_extension_helpers", [None, False, True])
> @pytest.mark.parametrize("pyproject_use_helpers", [None, False, True])
> def test_no_setup_py(tmpdir, use_extension_helpers,
> pyproject_use_helpers):
> """
> Test that makes sure that extension-helpers can be enabled without a
> setup.py file.
> """
>
> package_name = "helpers_test_package_" +
> str(uuid.uuid4()).replace("-", "_")
>
> test_pkg = tmpdir.mkdir("test_pkg")
> test_pkg.mkdir(package_name).ensure("__init__.py")
>
> simple_c = test_pkg.join(package_name, "simple.c")
>
> simple_c.write(
> dedent(
> """\
> #include <Python.h>
>
> static struct PyModuleDef moduledef = {
> PyModuleDef_HEAD_INIT,
> "simple",
> NULL,
> -1,
> NULL
> };
> PyMODINIT_FUNC
> PyInit_simple(void) {
> return PyModule_Create(&moduledef);
> }
> """
> )
> )
>
> test_pkg.join(package_name, "setup_package.py").write(
> dedent(
> f"""\
> from setuptools import Extension
> from os.path import join
> def get_extensions():
> return [Extension('{package_name}.simple',
> [join('{package_name}', 'simple.c')])]
> """
> )
> )
>
> if use_extension_helpers is None:
> test_pkg.join("setup.cfg").write(
> dedent(
> f"""\
> [metadata]
> name = {package_name}
> version = 0.1
>
> [options]
> packages = find:
> """
> )
> )
> else:
> test_pkg.join("setup.cfg").write(
> dedent(
> f"""\
> [metadata]
> name = {package_name}
> version = 0.1
>
> [options]
> packages = find:
>
> [extension-helpers]
> use_extension_helpers = {str(use_extension_helpers).lower()}
> """
> )
> )
>
> if pyproject_use_helpers is None:
> test_pkg.join("pyproject.toml").write(
> dedent(
> """\
> [build-system]
> requires = ["setuptools>=43.0.0",
> "wheel"]
> build-backend = 'setuptools.build_meta'
> """
> )
> )
> else:
> test_pkg.join("pyproject.toml").write(
> dedent(
> f"""\
> [build-system]
> requires = ["setuptools>=43.0.0",
> "wheel"]
> build-backend = 'setuptools.build_meta'
>
> [tool.extension-helpers]
> use_extension_helpers = {str(pyproject_use_helpers).lower()}
> """
> )
> )
>
> install_temp = test_pkg.mkdir("install_temp")
>
> with test_pkg.as_cwd():
> # NOTE: we disable build isolation as we need to pick up the
> current
> # developer version of extension-helpers
> subprocess.call(
> [
> sys.executable,
> "-m",
> "pip",
> "install",
> ".",
> "--no-build-isolation",
> f"--target={install_temp}",
> ]
> )
>
> if "" in sys.path:
> sys.path.remove("")
>
> sys.path.insert(0, "")
>
> with install_temp.as_cwd():
> > importlib.import_module(package_name)
>
> extension_helpers/tests/test_setup_helpers.py:333:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
> /usr/lib/python3.11/importlib/__init__.py:126: in import_module
> return _bootstrap._gcd_import(name[level:], package, level)
> <frozen importlib._bootstrap>:1204: in _gcd_import
> ???
> <frozen importlib._bootstrap>:1176: in _find_and_load
> ???
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
>
> name = 'helpers_test_package_f0783c3a_4f13_4794_91b9_0dee025383e5'
> import_ = <function _gcd_import at 0x7f32c8c6bd80>
>
> > ???
> E ModuleNotFoundError: No module named
> 'helpers_test_package_f0783c3a_4f13_4794_91b9_0dee025383e5'
>
> <frozen importlib._bootstrap>:1140: ModuleNotFoundError
> ----------------------------- Captured stdout call
> -----------------------------
> Processing
> /tmp/pytest-of-user42/pytest-17/test_no_setup_py_True_None_0/test_pkg
> Preparing metadata (pyproject.toml): started
> Preparing metadata (pyproject.toml): finished with status 'error'
> ----------------------------- Captured stderr call
> -----------------------------
> error: subprocess-exited-with-error
>
> × Preparing metadata (pyproject.toml) did not run successfully.
> │ exit code: 1
> ╰─> [29 lines of output]
> Traceback (most recent call last):
> File
> "/usr/lib/python3/dist-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py",
> line 353, in <module>
> main()
> File
> "/usr/lib/python3/dist-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py",
> line 335, in main
> json_out['return_val'] = hook(**hook_input['kwargs'])
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> File
> "/usr/lib/python3/dist-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py",
> line 149, in prepare_metadata_for_build_wheel
> return hook(metadata_directory, config_settings)
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> File "/usr/lib/python3/dist-packages/setuptools/build_meta.py", line
> 396, in prepare_metadata_for_build_wheel
> self.run_setup()
> File "/usr/lib/python3/dist-packages/setuptools/build_meta.py", line
> 341, in run_setup
> exec(code, locals())
> File "<string>", line 1, in <module>
> File "/usr/lib/python3/dist-packages/setuptools/__init__.py", line
> 107, in setup
> return distutils.core.setup(**attrs)
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> File "/usr/lib/python3/dist-packages/setuptools/_distutils/core.py",
> line 147, in setup
> _setup_distribution = dist = klass(attrs)
> ^^^^^^^^^^^^
> File "/usr/lib/python3/dist-packages/setuptools/dist.py", line 485,
> in __init__
> _Distribution.__init__(
> File "/usr/lib/python3/dist-packages/setuptools/_distutils/dist.py",
> line 283, in __init__
> self.finalize_options()
> File "/usr/lib/python3/dist-packages/setuptools/dist.py", line 926,
> in finalize_options
> ep(self)
> File
> "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_extension-helpers/build/extension_helpers/__init__.py",
> line 17, in _finalize_distribution_hook
> import tomli
> ModuleNotFoundError: No module named 'tomli'
> [end of output]
>
> note: This error originates from a subprocess, and is likely not a problem
> with pip.
> error: metadata-generation-failed
>
> × Encountered error while generating package metadata.
> ╰─> See above for output.
>
> note: This is an issue with the package mentioned above, not pip.
> hint: See above for details.
> _________________________ test_no_setup_py[True-False]
> _________________________
>
> tmpdir =
> local('/tmp/pytest-of-user42/pytest-17/test_no_setup_py_True_False_0')
> use_extension_helpers = False, pyproject_use_helpers = True
>
> @pytest.mark.parametrize("use_extension_helpers", [None, False, True])
> @pytest.mark.parametrize("pyproject_use_helpers", [None, False, True])
> def test_no_setup_py(tmpdir, use_extension_helpers,
> pyproject_use_helpers):
> """
> Test that makes sure that extension-helpers can be enabled without a
> setup.py file.
> """
>
> package_name = "helpers_test_package_" +
> str(uuid.uuid4()).replace("-", "_")
>
> test_pkg = tmpdir.mkdir("test_pkg")
> test_pkg.mkdir(package_name).ensure("__init__.py")
>
> simple_c = test_pkg.join(package_name, "simple.c")
>
> simple_c.write(
> dedent(
> """\
> #include <Python.h>
>
> static struct PyModuleDef moduledef = {
> PyModuleDef_HEAD_INIT,
> "simple",
> NULL,
> -1,
> NULL
> };
> PyMODINIT_FUNC
> PyInit_simple(void) {
> return PyModule_Create(&moduledef);
> }
> """
> )
> )
>
> test_pkg.join(package_name, "setup_package.py").write(
> dedent(
> f"""\
> from setuptools import Extension
> from os.path import join
> def get_extensions():
> return [Extension('{package_name}.simple',
> [join('{package_name}', 'simple.c')])]
> """
> )
> )
>
> if use_extension_helpers is None:
> test_pkg.join("setup.cfg").write(
> dedent(
> f"""\
> [metadata]
> name = {package_name}
> version = 0.1
>
> [options]
> packages = find:
> """
> )
> )
> else:
> test_pkg.join("setup.cfg").write(
> dedent(
> f"""\
> [metadata]
> name = {package_name}
> version = 0.1
>
> [options]
> packages = find:
>
> [extension-helpers]
> use_extension_helpers = {str(use_extension_helpers).lower()}
> """
> )
> )
>
> if pyproject_use_helpers is None:
> test_pkg.join("pyproject.toml").write(
> dedent(
> """\
> [build-system]
> requires = ["setuptools>=43.0.0",
> "wheel"]
> build-backend = 'setuptools.build_meta'
> """
> )
> )
> else:
> test_pkg.join("pyproject.toml").write(
> dedent(
> f"""\
> [build-system]
> requires = ["setuptools>=43.0.0",
> "wheel"]
> build-backend = 'setuptools.build_meta'
>
> [tool.extension-helpers]
> use_extension_helpers = {str(pyproject_use_helpers).lower()}
> """
> )
> )
>
> install_temp = test_pkg.mkdir("install_temp")
>
> with test_pkg.as_cwd():
> # NOTE: we disable build isolation as we need to pick up the
> current
> # developer version of extension-helpers
> subprocess.call(
> [
> sys.executable,
> "-m",
> "pip",
> "install",
> ".",
> "--no-build-isolation",
> f"--target={install_temp}",
> ]
> )
>
> if "" in sys.path:
> sys.path.remove("")
>
> sys.path.insert(0, "")
>
> with install_temp.as_cwd():
> > importlib.import_module(package_name)
>
> extension_helpers/tests/test_setup_helpers.py:333:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
> /usr/lib/python3.11/importlib/__init__.py:126: in import_module
> return _bootstrap._gcd_import(name[level:], package, level)
> <frozen importlib._bootstrap>:1204: in _gcd_import
> ???
> <frozen importlib._bootstrap>:1176: in _find_and_load
> ???
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
>
> name = 'helpers_test_package_94e43b2b_db41_4ae9_a592_eda9b65dfe31'
> import_ = <function _gcd_import at 0x7f32c8c6bd80>
>
> > ???
> E ModuleNotFoundError: No module named
> 'helpers_test_package_94e43b2b_db41_4ae9_a592_eda9b65dfe31'
>
> <frozen importlib._bootstrap>:1140: ModuleNotFoundError
> ----------------------------- Captured stdout call
> -----------------------------
> Processing
> /tmp/pytest-of-user42/pytest-17/test_no_setup_py_True_False_0/test_pkg
> Preparing metadata (pyproject.toml): started
> Preparing metadata (pyproject.toml): finished with status 'error'
> ----------------------------- Captured stderr call
> -----------------------------
> error: subprocess-exited-with-error
>
> × Preparing metadata (pyproject.toml) did not run successfully.
> │ exit code: 1
> ╰─> [29 lines of output]
> Traceback (most recent call last):
> File
> "/usr/lib/python3/dist-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py",
> line 353, in <module>
> main()
> File
> "/usr/lib/python3/dist-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py",
> line 335, in main
> json_out['return_val'] = hook(**hook_input['kwargs'])
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> File
> "/usr/lib/python3/dist-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py",
> line 149, in prepare_metadata_for_build_wheel
> return hook(metadata_directory, config_settings)
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> File "/usr/lib/python3/dist-packages/setuptools/build_meta.py", line
> 396, in prepare_metadata_for_build_wheel
> self.run_setup()
> File "/usr/lib/python3/dist-packages/setuptools/build_meta.py", line
> 341, in run_setup
> exec(code, locals())
> File "<string>", line 1, in <module>
> File "/usr/lib/python3/dist-packages/setuptools/__init__.py", line
> 107, in setup
> return distutils.core.setup(**attrs)
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> File "/usr/lib/python3/dist-packages/setuptools/_distutils/core.py",
> line 147, in setup
> _setup_distribution = dist = klass(attrs)
> ^^^^^^^^^^^^
> File "/usr/lib/python3/dist-packages/setuptools/dist.py", line 485,
> in __init__
> _Distribution.__init__(
> File "/usr/lib/python3/dist-packages/setuptools/_distutils/dist.py",
> line 283, in __init__
> self.finalize_options()
> File "/usr/lib/python3/dist-packages/setuptools/dist.py", line 926,
> in finalize_options
> ep(self)
> File
> "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_extension-helpers/build/extension_helpers/__init__.py",
> line 17, in _finalize_distribution_hook
> import tomli
> ModuleNotFoundError: No module named 'tomli'
> [end of output]
>
> note: This error originates from a subprocess, and is likely not a problem
> with pip.
> error: metadata-generation-failed
>
> × Encountered error while generating package metadata.
> ╰─> See above for output.
>
> note: This is an issue with the package mentioned above, not pip.
> hint: See above for details.
> _________________________ test_no_setup_py[True-True]
> __________________________
>
> tmpdir = local('/tmp/pytest-of-user42/pytest-17/test_no_setup_py_True_True_0')
> use_extension_helpers = True, pyproject_use_helpers = True
>
> @pytest.mark.parametrize("use_extension_helpers", [None, False, True])
> @pytest.mark.parametrize("pyproject_use_helpers", [None, False, True])
> def test_no_setup_py(tmpdir, use_extension_helpers,
> pyproject_use_helpers):
> """
> Test that makes sure that extension-helpers can be enabled without a
> setup.py file.
> """
>
> package_name = "helpers_test_package_" +
> str(uuid.uuid4()).replace("-", "_")
>
> test_pkg = tmpdir.mkdir("test_pkg")
> test_pkg.mkdir(package_name).ensure("__init__.py")
>
> simple_c = test_pkg.join(package_name, "simple.c")
>
> simple_c.write(
> dedent(
> """\
> #include <Python.h>
>
> static struct PyModuleDef moduledef = {
> PyModuleDef_HEAD_INIT,
> "simple",
> NULL,
> -1,
> NULL
> };
> PyMODINIT_FUNC
> PyInit_simple(void) {
> return PyModule_Create(&moduledef);
> }
> """
> )
> )
>
> test_pkg.join(package_name, "setup_package.py").write(
> dedent(
> f"""\
> from setuptools import Extension
> from os.path import join
> def get_extensions():
> return [Extension('{package_name}.simple',
> [join('{package_name}', 'simple.c')])]
> """
> )
> )
>
> if use_extension_helpers is None:
> test_pkg.join("setup.cfg").write(
> dedent(
> f"""\
> [metadata]
> name = {package_name}
> version = 0.1
>
> [options]
> packages = find:
> """
> )
> )
> else:
> test_pkg.join("setup.cfg").write(
> dedent(
> f"""\
> [metadata]
> name = {package_name}
> version = 0.1
>
> [options]
> packages = find:
>
> [extension-helpers]
> use_extension_helpers = {str(use_extension_helpers).lower()}
> """
> )
> )
>
> if pyproject_use_helpers is None:
> test_pkg.join("pyproject.toml").write(
> dedent(
> """\
> [build-system]
> requires = ["setuptools>=43.0.0",
> "wheel"]
> build-backend = 'setuptools.build_meta'
> """
> )
> )
> else:
> test_pkg.join("pyproject.toml").write(
> dedent(
> f"""\
> [build-system]
> requires = ["setuptools>=43.0.0",
> "wheel"]
> build-backend = 'setuptools.build_meta'
>
> [tool.extension-helpers]
> use_extension_helpers = {str(pyproject_use_helpers).lower()}
> """
> )
> )
>
> install_temp = test_pkg.mkdir("install_temp")
>
> with test_pkg.as_cwd():
> # NOTE: we disable build isolation as we need to pick up the
> current
> # developer version of extension-helpers
> subprocess.call(
> [
> sys.executable,
> "-m",
> "pip",
> "install",
> ".",
> "--no-build-isolation",
> f"--target={install_temp}",
> ]
> )
>
> if "" in sys.path:
> sys.path.remove("")
>
> sys.path.insert(0, "")
>
> with install_temp.as_cwd():
> > importlib.import_module(package_name)
>
> extension_helpers/tests/test_setup_helpers.py:333:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
> /usr/lib/python3.11/importlib/__init__.py:126: in import_module
> return _bootstrap._gcd_import(name[level:], package, level)
> <frozen importlib._bootstrap>:1204: in _gcd_import
> ???
> <frozen importlib._bootstrap>:1176: in _find_and_load
> ???
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
>
> name = 'helpers_test_package_08dd512a_e7af_43f9_952e_a5841d8ed7be'
> import_ = <function _gcd_import at 0x7f32c8c6bd80>
>
> > ???
> E ModuleNotFoundError: No module named
> 'helpers_test_package_08dd512a_e7af_43f9_952e_a5841d8ed7be'
>
> <frozen importlib._bootstrap>:1140: ModuleNotFoundError
> ----------------------------- Captured stdout call
> -----------------------------
> Processing
> /tmp/pytest-of-user42/pytest-17/test_no_setup_py_True_True_0/test_pkg
> Preparing metadata (pyproject.toml): started
> Preparing metadata (pyproject.toml): finished with status 'error'
> ----------------------------- Captured stderr call
> -----------------------------
> error: subprocess-exited-with-error
>
> × Preparing metadata (pyproject.toml) did not run successfully.
> │ exit code: 1
> ╰─> [29 lines of output]
> Traceback (most recent call last):
> File
> "/usr/lib/python3/dist-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py",
> line 353, in <module>
> main()
> File
> "/usr/lib/python3/dist-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py",
> line 335, in main
> json_out['return_val'] = hook(**hook_input['kwargs'])
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> File
> "/usr/lib/python3/dist-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py",
> line 149, in prepare_metadata_for_build_wheel
> return hook(metadata_directory, config_settings)
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> File "/usr/lib/python3/dist-packages/setuptools/build_meta.py", line
> 396, in prepare_metadata_for_build_wheel
> self.run_setup()
> File "/usr/lib/python3/dist-packages/setuptools/build_meta.py", line
> 341, in run_setup
> exec(code, locals())
> File "<string>", line 1, in <module>
> File "/usr/lib/python3/dist-packages/setuptools/__init__.py", line
> 107, in setup
> return distutils.core.setup(**attrs)
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> File "/usr/lib/python3/dist-packages/setuptools/_distutils/core.py",
> line 147, in setup
> _setup_distribution = dist = klass(attrs)
> ^^^^^^^^^^^^
> File "/usr/lib/python3/dist-packages/setuptools/dist.py", line 485,
> in __init__
> _Distribution.__init__(
> File "/usr/lib/python3/dist-packages/setuptools/_distutils/dist.py",
> line 283, in __init__
> self.finalize_options()
> File "/usr/lib/python3/dist-packages/setuptools/dist.py", line 926,
> in finalize_options
> ep(self)
> File
> "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_extension-helpers/build/extension_helpers/__init__.py",
> line 17, in _finalize_distribution_hook
> import tomli
> ModuleNotFoundError: No module named 'tomli'
> [end of output]
>
> note: This error originates from a subprocess, and is likely not a problem
> with pip.
> error: metadata-generation-failed
>
> × Encountered error while generating package metadata.
> ╰─> See above for output.
>
> note: This is an issue with the package mentioned above, not pip.
> hint: See above for details.
> =============================== warnings summary
> ===============================
> .pybuild/cpython3_3.11_extension-helpers/build/extension_helpers/tests/test_utils.py::test_import_file
> <frozen importlib._bootstrap>:283: DeprecationWarning: the load_module()
> method is deprecated and slated for removal in Python 3.12; use exec_module()
> instead
>
> -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
> =========================== short test summary info
> ============================
> FAILED extension_helpers/tests/test_setup_helpers.py::test_compiler_module -
> ...
> FAILED
> extension_helpers/tests/test_setup_helpers.py::test_no_setup_py[None-None]
> FAILED
> extension_helpers/tests/test_setup_helpers.py::test_no_setup_py[None-False]
> FAILED
> extension_helpers/tests/test_setup_helpers.py::test_no_setup_py[None-True]
> FAILED
> extension_helpers/tests/test_setup_helpers.py::test_no_setup_py[False-None]
> FAILED
> extension_helpers/tests/test_setup_helpers.py::test_no_setup_py[False-False]
> FAILED
> extension_helpers/tests/test_setup_helpers.py::test_no_setup_py[False-True]
> FAILED
> extension_helpers/tests/test_setup_helpers.py::test_no_setup_py[True-None]
> FAILED
> extension_helpers/tests/test_setup_helpers.py::test_no_setup_py[True-False]
> FAILED
> extension_helpers/tests/test_setup_helpers.py::test_no_setup_py[True-True]
> =================== 10 failed, 6 passed, 1 warning in 7.50s
> ====================
> E: pybuild pybuild:395: test: plugin pyproject failed with: exit code=1: cd
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_extension-helpers/build; python3.11
> -m pytest
> dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p 3.11
> returned exit code 13
The full build log is available from:
http://qa-logs.debian.net/2023/09/25/extension-helpers_1.1.0-1_unstable.log
All bugs filed during this archive rebuild are listed at:
https://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=ftbfs-20230925;users=lu...@debian.org
or:
https://udd.debian.org/bugs/?release=na&merged=ign&fnewerval=7&flastmodval=7&fusertag=only&fusertagtag=ftbfs-20230925&fusertaguser=lu...@debian.org&allbugs=1&cseverity=1&ctags=1&caffected=1#results
A list of current common problems and possible solutions is available at
http://wiki.debian.org/qa.debian.org/FTBFS . You're welcome to contribute!
If you reassign this bug to another package, please mark it as 'affects'-ing
this package. See https://www.debian.org/Bugs/server-control#affects
If you fail to reproduce this, please provide a build log and diff it with mine
so that we can identify if something relevant changed in the meantime.
--- End Message ---