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.