Your message dated Wed, 27 Sep 2023 08:38:27 +0000
with message-id <e1qlq3v-00cyfb...@fasolo.debian.org>
and subject line Bug#1052736: fixed in extension-helpers 1.1.0-2
has caused the Debian Bug report #1052736,
regarding extension-helpers: FTBFS: ModuleNotFoundError: No module named 'tomli'
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact ow...@bugs.debian.org
immediately.)


-- 
1052736: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1052736
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- 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 ---
--- Begin Message ---
Source: extension-helpers
Source-Version: 1.1.0-2
Done: Ole Streicher <oleb...@debian.org>

We believe that the bug you reported is fixed in the latest version of
extension-helpers, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 1052...@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Ole Streicher <oleb...@debian.org> (supplier of updated extension-helpers 
package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmas...@ftp-master.debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Format: 1.8
Date: Wed, 27 Sep 2023 09:44:12 +0200
Source: extension-helpers
Architecture: source
Version: 1.1.0-2
Distribution: unstable
Urgency: medium
Maintainer: Debian Python Team <team+pyt...@tracker.debian.org>
Changed-By: Ole Streicher <oleb...@debian.org>
Closes: 1052736
Changes:
 extension-helpers (1.1.0-2) unstable; urgency=medium
 .
   * Add missing build dependency python3-tomli (Closes: #1052736)
Checksums-Sha1:
 2c2ea8e5f4ddca8a0ee81c34bddc2afde1777560 2197 extension-helpers_1.1.0-2.dsc
 413b8ccf6a656fdb167fe7a480e22fe41b8c3e75 2924 
extension-helpers_1.1.0-2.debian.tar.xz
 3aab7d3c8489f36eebbef14547ea9b8707ce012a 7385 
extension-helpers_1.1.0-2_amd64.buildinfo
Checksums-Sha256:
 1f574a0c8f3b9ec34ef5e92d3d97785420f863dba8158507cff8c34fabc7ba0f 2197 
extension-helpers_1.1.0-2.dsc
 68ff24344021fc22fb5696d0a0cc4ca64e170c4590fb546c63924f46722644ca 2924 
extension-helpers_1.1.0-2.debian.tar.xz
 979286188e9508f7e2bb8d5730ffac3354a0a917881df3bad283fb820ea21e66 7385 
extension-helpers_1.1.0-2_amd64.buildinfo
Files:
 62b5d7814591475c40d809876137b484 2197 python optional 
extension-helpers_1.1.0-2.dsc
 122e25b988db7ddd7a2d0322206d716b 2924 python optional 
extension-helpers_1.1.0-2.debian.tar.xz
 acae986e2e427bac1fe002cfb570e0fb 7385 python optional 
extension-helpers_1.1.0-2_amd64.buildinfo

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEuvxshffLFD/utvsVcRWv0HcQ3PcFAmUT5aIACgkQcRWv0HcQ
3PdSbRAAlV9a3r5V8Of3fD8nueuRoJG8UL9s6noGpiKTq6TZTWDvP5bR+SXODvgi
T5YWb9rTDgRR4M7o2R6jRufnPH+XW/IaiYBhpHOgyfb7V3PiWk2kYgifk9g/l1UK
xOcHX05bR5OxOZ7Yjnvtcc87/M1Fxg42c/vNizymYpDXXW8TZkG2o5MVRVurYiYo
LnOX3lDOevUVP26YUP6crMoWNDpm4qHFjstVPRRkSLbSXE7NK6yAa/0VMZwQ5GZk
ob1RZSDluwhWWsflKssLt13xeTA1924ZBlAaJFm7xVE6jB4PCQWQuTUDfce6HDAk
TzLcvNea1qspF1QKUAEzugWozSJS++bsJcr07aOm4FjekzFKgOKgpDF9JXpK5d3R
SxYFcYx921rWIHbEutOdD3YxBCy1nOLgdTk9kCGa0QViLzmYi9GpuRBDo/ve2Crn
aUiLU9ffMX5k+cLzJL3JxMUKK4zylDxB+mzxDVpNbx7gUPzEGpTFoOZ3LBlBWOZx
gZQhweSRrtV+KTcWdFjsTBEmkbPBMQPWw3p7Nm71NpwDaW41P7fPCFqKoXINEvpt
sg4kCTrv4W7eIacxzrdMkQ9hxH4VP1VXGcH8HpcQr0Zgu8lWDezBeI9Z1PHnsTe2
ph35zCwloku720/uKGR9kB3R8LT3slvTFe2Qj3N/MRNSncgsZ3w=
=XJQ0
-----END PGP SIGNATURE-----

--- End Message ---

Reply via email to