Source: python-pyfakefs
Version: 5.3.2-1
Severity: serious
Justification: FTBFS
Tags: trixie sid ftbfs
User: lu...@debian.org
Usertags: ftbfs-20240615 ftbfs-trixie

Hi,

During a rebuild of all packages in sid, your package failed to build
on amd64.


Relevant part (hopefully):
>  debian/rules binary
> dh binary --buildsystem=pybuild
>    dh_update_autotools_config -O--buildsystem=pybuild
>    dh_autoreconf -O--buildsystem=pybuild
>    dh_auto_configure -O--buildsystem=pybuild
>    dh_auto_build -O--buildsystem=pybuild
> I: pybuild plugin_pyproject:129: Building wheel for python3.12 with "build" 
> module
> I: pybuild base:311: python3.12 -m build --skip-dependency-check 
> --no-isolation --wheel --outdir 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_pyfakefs  
> * Building wheel...
> running bdist_wheel
> running build
> running build_py
> creating build
> creating build/lib
> creating build/lib/pyfakefs
> copying pyfakefs/__init__.py -> build/lib/pyfakefs
> copying pyfakefs/fake_scandir.py -> build/lib/pyfakefs
> copying pyfakefs/fake_pathlib.py -> build/lib/pyfakefs
> copying pyfakefs/_version.py -> build/lib/pyfakefs
> copying pyfakefs/fake_filesystem_unittest.py -> build/lib/pyfakefs
> copying pyfakefs/fake_open.py -> build/lib/pyfakefs
> copying pyfakefs/fake_filesystem_shutil.py -> build/lib/pyfakefs
> copying pyfakefs/extra_packages.py -> build/lib/pyfakefs
> copying pyfakefs/fake_filesystem.py -> build/lib/pyfakefs
> copying pyfakefs/helpers.py -> build/lib/pyfakefs
> copying pyfakefs/fake_file.py -> build/lib/pyfakefs
> copying pyfakefs/patched_packages.py -> build/lib/pyfakefs
> copying pyfakefs/fake_io.py -> build/lib/pyfakefs
> copying pyfakefs/mox3_stubout.py -> build/lib/pyfakefs
> copying pyfakefs/fake_path.py -> build/lib/pyfakefs
> copying pyfakefs/pytest_plugin.py -> build/lib/pyfakefs
> copying pyfakefs/fake_os.py -> build/lib/pyfakefs
> creating build/lib/pyfakefs/tests
> copying pyfakefs/tests/mox3_stubout_test.py -> build/lib/pyfakefs/tests
> copying pyfakefs/tests/fake_os_test.py -> build/lib/pyfakefs/tests
> copying pyfakefs/tests/__init__.py -> build/lib/pyfakefs/tests
> copying pyfakefs/tests/import_as_example.py -> build/lib/pyfakefs/tests
> copying pyfakefs/tests/patched_packages_test.py -> build/lib/pyfakefs/tests
> copying pyfakefs/tests/dynamic_patch_test.py -> build/lib/pyfakefs/tests
> copying pyfakefs/tests/mox3_stubout_example.py -> build/lib/pyfakefs/tests
> copying pyfakefs/tests/fake_filesystem_glob_test.py -> 
> build/lib/pyfakefs/tests
> copying pyfakefs/tests/all_tests_without_extra_packages.py -> 
> build/lib/pyfakefs/tests
> copying pyfakefs/tests/fake_stat_time_test.py -> build/lib/pyfakefs/tests
> copying pyfakefs/tests/fake_pathlib_test.py -> build/lib/pyfakefs/tests
> copying pyfakefs/tests/all_tests.py -> build/lib/pyfakefs/tests
> copying pyfakefs/tests/example.py -> build/lib/pyfakefs/tests
> copying pyfakefs/tests/example_test.py -> build/lib/pyfakefs/tests
> copying pyfakefs/tests/test_utils.py -> build/lib/pyfakefs/tests
> copying pyfakefs/tests/fake_filesystem_unittest_test.py -> 
> build/lib/pyfakefs/tests
> copying pyfakefs/tests/fake_filesystem_test.py -> build/lib/pyfakefs/tests
> copying pyfakefs/tests/fake_tempfile_test.py -> build/lib/pyfakefs/tests
> copying pyfakefs/tests/fake_filesystem_shutil_test.py -> 
> build/lib/pyfakefs/tests
> copying pyfakefs/tests/fake_open_test.py -> build/lib/pyfakefs/tests
> copying pyfakefs/tests/fake_filesystem_vs_real_test.py -> 
> build/lib/pyfakefs/tests
> copying pyfakefs/tests/performance_test.py -> build/lib/pyfakefs/tests
> copying pyfakefs/tests/logsio.py -> build/lib/pyfakefs/tests
> creating build/lib/pyfakefs/pytest_tests
> copying pyfakefs/pytest_tests/pytest_module_fixture_test.py -> 
> build/lib/pyfakefs/pytest_tests
> copying pyfakefs/pytest_tests/pytest_doctest_test.py -> 
> build/lib/pyfakefs/pytest_tests
> copying pyfakefs/pytest_tests/__init__.py -> build/lib/pyfakefs/pytest_tests
> copying pyfakefs/pytest_tests/pytest_plugin_failing_helper.py -> 
> build/lib/pyfakefs/pytest_tests
> copying pyfakefs/pytest_tests/pytest_check_failed_plugin_test.py -> 
> build/lib/pyfakefs/pytest_tests
> copying pyfakefs/pytest_tests/io.py -> build/lib/pyfakefs/pytest_tests
> copying pyfakefs/pytest_tests/example.py -> build/lib/pyfakefs/pytest_tests
> copying pyfakefs/pytest_tests/conftest.py -> build/lib/pyfakefs/pytest_tests
> copying pyfakefs/pytest_tests/pytest_plugin_test.py -> 
> build/lib/pyfakefs/pytest_tests
> copying pyfakefs/pytest_tests/pytest_fixture_param_test.py -> 
> build/lib/pyfakefs/pytest_tests
> copying pyfakefs/pytest_tests/pytest_fixture_test.py -> 
> build/lib/pyfakefs/pytest_tests
> creating build/lib/pyfakefs/tests/fixtures
> copying pyfakefs/tests/fixtures/__init__.py -> 
> build/lib/pyfakefs/tests/fixtures
> copying pyfakefs/tests/fixtures/deprecated_property.py -> 
> build/lib/pyfakefs/tests/fixtures
> copying pyfakefs/tests/fixtures/config_module.py -> 
> build/lib/pyfakefs/tests/fixtures
> copying pyfakefs/tests/fixtures/module_with_attributes.py -> 
> build/lib/pyfakefs/tests/fixtures
> running egg_info
> creating pyfakefs.egg-info
> writing pyfakefs.egg-info/PKG-INFO
> writing dependency_links to pyfakefs.egg-info/dependency_links.txt
> writing entry points to pyfakefs.egg-info/entry_points.txt
> writing top-level names to pyfakefs.egg-info/top_level.txt
> writing manifest file 'pyfakefs.egg-info/SOURCES.txt'
> reading manifest file 'pyfakefs.egg-info/SOURCES.txt'
> reading manifest template 'MANIFEST.in'
> adding license file 'COPYING'
> writing manifest file 'pyfakefs.egg-info/SOURCES.txt'
> copying pyfakefs/py.typed -> build/lib/pyfakefs
> installing to build/bdist.linux-x86_64/wheel
> running install
> running install_lib
> creating build/bdist.linux-x86_64
> creating build/bdist.linux-x86_64/wheel
> creating build/bdist.linux-x86_64/wheel/pyfakefs
> copying build/lib/pyfakefs/__init__.py -> 
> build/bdist.linux-x86_64/wheel/pyfakefs
> copying build/lib/pyfakefs/fake_scandir.py -> 
> build/bdist.linux-x86_64/wheel/pyfakefs
> creating build/bdist.linux-x86_64/wheel/pyfakefs/tests
> copying build/lib/pyfakefs/tests/mox3_stubout_test.py -> 
> build/bdist.linux-x86_64/wheel/pyfakefs/tests
> copying build/lib/pyfakefs/tests/fake_os_test.py -> 
> build/bdist.linux-x86_64/wheel/pyfakefs/tests
> copying build/lib/pyfakefs/tests/__init__.py -> 
> build/bdist.linux-x86_64/wheel/pyfakefs/tests
> copying build/lib/pyfakefs/tests/import_as_example.py -> 
> build/bdist.linux-x86_64/wheel/pyfakefs/tests
> creating build/bdist.linux-x86_64/wheel/pyfakefs/tests/fixtures
> copying build/lib/pyfakefs/tests/fixtures/__init__.py -> 
> build/bdist.linux-x86_64/wheel/pyfakefs/tests/fixtures
> copying build/lib/pyfakefs/tests/fixtures/deprecated_property.py -> 
> build/bdist.linux-x86_64/wheel/pyfakefs/tests/fixtures
> copying build/lib/pyfakefs/tests/fixtures/config_module.py -> 
> build/bdist.linux-x86_64/wheel/pyfakefs/tests/fixtures
> copying build/lib/pyfakefs/tests/fixtures/module_with_attributes.py -> 
> build/bdist.linux-x86_64/wheel/pyfakefs/tests/fixtures
> copying build/lib/pyfakefs/tests/patched_packages_test.py -> 
> build/bdist.linux-x86_64/wheel/pyfakefs/tests
> copying build/lib/pyfakefs/tests/dynamic_patch_test.py -> 
> build/bdist.linux-x86_64/wheel/pyfakefs/tests
> copying build/lib/pyfakefs/tests/mox3_stubout_example.py -> 
> build/bdist.linux-x86_64/wheel/pyfakefs/tests
> copying build/lib/pyfakefs/tests/fake_filesystem_glob_test.py -> 
> build/bdist.linux-x86_64/wheel/pyfakefs/tests
> copying build/lib/pyfakefs/tests/all_tests_without_extra_packages.py -> 
> build/bdist.linux-x86_64/wheel/pyfakefs/tests
> copying build/lib/pyfakefs/tests/fake_stat_time_test.py -> 
> build/bdist.linux-x86_64/wheel/pyfakefs/tests
> copying build/lib/pyfakefs/tests/fake_pathlib_test.py -> 
> build/bdist.linux-x86_64/wheel/pyfakefs/tests
> copying build/lib/pyfakefs/tests/all_tests.py -> 
> build/bdist.linux-x86_64/wheel/pyfakefs/tests
> copying build/lib/pyfakefs/tests/example.py -> 
> build/bdist.linux-x86_64/wheel/pyfakefs/tests
> copying build/lib/pyfakefs/tests/example_test.py -> 
> build/bdist.linux-x86_64/wheel/pyfakefs/tests
> copying build/lib/pyfakefs/tests/test_utils.py -> 
> build/bdist.linux-x86_64/wheel/pyfakefs/tests
> copying build/lib/pyfakefs/tests/fake_filesystem_unittest_test.py -> 
> build/bdist.linux-x86_64/wheel/pyfakefs/tests
> copying build/lib/pyfakefs/tests/fake_filesystem_test.py -> 
> build/bdist.linux-x86_64/wheel/pyfakefs/tests
> copying build/lib/pyfakefs/tests/fake_tempfile_test.py -> 
> build/bdist.linux-x86_64/wheel/pyfakefs/tests
> copying build/lib/pyfakefs/tests/fake_filesystem_shutil_test.py -> 
> build/bdist.linux-x86_64/wheel/pyfakefs/tests
> copying build/lib/pyfakefs/tests/fake_open_test.py -> 
> build/bdist.linux-x86_64/wheel/pyfakefs/tests
> copying build/lib/pyfakefs/tests/fake_filesystem_vs_real_test.py -> 
> build/bdist.linux-x86_64/wheel/pyfakefs/tests
> copying build/lib/pyfakefs/tests/performance_test.py -> 
> build/bdist.linux-x86_64/wheel/pyfakefs/tests
> copying build/lib/pyfakefs/tests/logsio.py -> 
> build/bdist.linux-x86_64/wheel/pyfakefs/tests
> copying build/lib/pyfakefs/fake_pathlib.py -> 
> build/bdist.linux-x86_64/wheel/pyfakefs
> copying build/lib/pyfakefs/_version.py -> 
> build/bdist.linux-x86_64/wheel/pyfakefs
> copying build/lib/pyfakefs/fake_filesystem_unittest.py -> 
> build/bdist.linux-x86_64/wheel/pyfakefs
> copying build/lib/pyfakefs/fake_open.py -> 
> build/bdist.linux-x86_64/wheel/pyfakefs
> copying build/lib/pyfakefs/fake_filesystem_shutil.py -> 
> build/bdist.linux-x86_64/wheel/pyfakefs
> copying build/lib/pyfakefs/extra_packages.py -> 
> build/bdist.linux-x86_64/wheel/pyfakefs
> copying build/lib/pyfakefs/py.typed -> build/bdist.linux-x86_64/wheel/pyfakefs
> copying build/lib/pyfakefs/fake_filesystem.py -> 
> build/bdist.linux-x86_64/wheel/pyfakefs
> copying build/lib/pyfakefs/helpers.py -> 
> build/bdist.linux-x86_64/wheel/pyfakefs
> copying build/lib/pyfakefs/fake_file.py -> 
> build/bdist.linux-x86_64/wheel/pyfakefs
> copying build/lib/pyfakefs/patched_packages.py -> 
> build/bdist.linux-x86_64/wheel/pyfakefs
> copying build/lib/pyfakefs/fake_io.py -> 
> build/bdist.linux-x86_64/wheel/pyfakefs
> creating build/bdist.linux-x86_64/wheel/pyfakefs/pytest_tests
> copying build/lib/pyfakefs/pytest_tests/pytest_module_fixture_test.py -> 
> build/bdist.linux-x86_64/wheel/pyfakefs/pytest_tests
> copying build/lib/pyfakefs/pytest_tests/pytest_doctest_test.py -> 
> build/bdist.linux-x86_64/wheel/pyfakefs/pytest_tests
> copying build/lib/pyfakefs/pytest_tests/__init__.py -> 
> build/bdist.linux-x86_64/wheel/pyfakefs/pytest_tests
> copying build/lib/pyfakefs/pytest_tests/pytest_plugin_failing_helper.py -> 
> build/bdist.linux-x86_64/wheel/pyfakefs/pytest_tests
> copying build/lib/pyfakefs/pytest_tests/pytest_check_failed_plugin_test.py -> 
> build/bdist.linux-x86_64/wheel/pyfakefs/pytest_tests
> copying build/lib/pyfakefs/pytest_tests/io.py -> 
> build/bdist.linux-x86_64/wheel/pyfakefs/pytest_tests
> copying build/lib/pyfakefs/pytest_tests/example.py -> 
> build/bdist.linux-x86_64/wheel/pyfakefs/pytest_tests
> copying build/lib/pyfakefs/pytest_tests/conftest.py -> 
> build/bdist.linux-x86_64/wheel/pyfakefs/pytest_tests
> copying build/lib/pyfakefs/pytest_tests/pytest_plugin_test.py -> 
> build/bdist.linux-x86_64/wheel/pyfakefs/pytest_tests
> copying build/lib/pyfakefs/pytest_tests/pytest_fixture_param_test.py -> 
> build/bdist.linux-x86_64/wheel/pyfakefs/pytest_tests
> copying build/lib/pyfakefs/pytest_tests/pytest_fixture_test.py -> 
> build/bdist.linux-x86_64/wheel/pyfakefs/pytest_tests
> copying build/lib/pyfakefs/mox3_stubout.py -> 
> build/bdist.linux-x86_64/wheel/pyfakefs
> copying build/lib/pyfakefs/fake_path.py -> 
> build/bdist.linux-x86_64/wheel/pyfakefs
> copying build/lib/pyfakefs/pytest_plugin.py -> 
> build/bdist.linux-x86_64/wheel/pyfakefs
> copying build/lib/pyfakefs/fake_os.py -> 
> build/bdist.linux-x86_64/wheel/pyfakefs
> running install_egg_info
> Copying pyfakefs.egg-info to 
> build/bdist.linux-x86_64/wheel/pyfakefs-5.3.2.egg-info
> running install_scripts
> creating build/bdist.linux-x86_64/wheel/pyfakefs-5.3.2.dist-info/WHEEL
> creating 
> '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_pyfakefs/.tmp-ebkc0803/pyfakefs-5.3.2-py3-none-any.whl'
>  and adding 'build/bdist.linux-x86_64/wheel' to it
> adding 'pyfakefs/__init__.py'
> adding 'pyfakefs/_version.py'
> adding 'pyfakefs/extra_packages.py'
> adding 'pyfakefs/fake_file.py'
> adding 'pyfakefs/fake_filesystem.py'
> adding 'pyfakefs/fake_filesystem_shutil.py'
> adding 'pyfakefs/fake_filesystem_unittest.py'
> adding 'pyfakefs/fake_io.py'
> adding 'pyfakefs/fake_open.py'
> adding 'pyfakefs/fake_os.py'
> adding 'pyfakefs/fake_path.py'
> adding 'pyfakefs/fake_pathlib.py'
> adding 'pyfakefs/fake_scandir.py'
> adding 'pyfakefs/helpers.py'
> adding 'pyfakefs/mox3_stubout.py'
> adding 'pyfakefs/patched_packages.py'
> adding 'pyfakefs/py.typed'
> adding 'pyfakefs/pytest_plugin.py'
> adding 'pyfakefs/pytest_tests/__init__.py'
> adding 'pyfakefs/pytest_tests/conftest.py'
> adding 'pyfakefs/pytest_tests/example.py'
> adding 'pyfakefs/pytest_tests/io.py'
> adding 'pyfakefs/pytest_tests/pytest_check_failed_plugin_test.py'
> adding 'pyfakefs/pytest_tests/pytest_doctest_test.py'
> adding 'pyfakefs/pytest_tests/pytest_fixture_param_test.py'
> adding 'pyfakefs/pytest_tests/pytest_fixture_test.py'
> adding 'pyfakefs/pytest_tests/pytest_module_fixture_test.py'
> adding 'pyfakefs/pytest_tests/pytest_plugin_failing_helper.py'
> adding 'pyfakefs/pytest_tests/pytest_plugin_test.py'
> adding 'pyfakefs/tests/__init__.py'
> adding 'pyfakefs/tests/all_tests.py'
> adding 'pyfakefs/tests/all_tests_without_extra_packages.py'
> adding 'pyfakefs/tests/dynamic_patch_test.py'
> adding 'pyfakefs/tests/example.py'
> adding 'pyfakefs/tests/example_test.py'
> adding 'pyfakefs/tests/fake_filesystem_glob_test.py'
> adding 'pyfakefs/tests/fake_filesystem_shutil_test.py'
> adding 'pyfakefs/tests/fake_filesystem_test.py'
> adding 'pyfakefs/tests/fake_filesystem_unittest_test.py'
> adding 'pyfakefs/tests/fake_filesystem_vs_real_test.py'
> adding 'pyfakefs/tests/fake_open_test.py'
> adding 'pyfakefs/tests/fake_os_test.py'
> adding 'pyfakefs/tests/fake_pathlib_test.py'
> adding 'pyfakefs/tests/fake_stat_time_test.py'
> adding 'pyfakefs/tests/fake_tempfile_test.py'
> adding 'pyfakefs/tests/import_as_example.py'
> adding 'pyfakefs/tests/logsio.py'
> adding 'pyfakefs/tests/mox3_stubout_example.py'
> adding 'pyfakefs/tests/mox3_stubout_test.py'
> adding 'pyfakefs/tests/patched_packages_test.py'
> adding 'pyfakefs/tests/performance_test.py'
> adding 'pyfakefs/tests/test_utils.py'
> adding 'pyfakefs/tests/fixtures/__init__.py'
> adding 'pyfakefs/tests/fixtures/config_module.py'
> adding 'pyfakefs/tests/fixtures/deprecated_property.py'
> adding 'pyfakefs/tests/fixtures/module_with_attributes.py'
> adding 'pyfakefs-5.3.2.dist-info/COPYING'
> adding 'pyfakefs-5.3.2.dist-info/METADATA'
> adding 'pyfakefs-5.3.2.dist-info/WHEEL'
> adding 'pyfakefs-5.3.2.dist-info/entry_points.txt'
> adding 'pyfakefs-5.3.2.dist-info/top_level.txt'
> adding 'pyfakefs-5.3.2.dist-info/RECORD'
> removing build/bdist.linux-x86_64/wheel
> Successfully built pyfakefs-5.3.2-py3-none-any.whl
> I: pybuild plugin_pyproject:144: Unpacking wheel built for python3.12 with 
> "installer" module
> I: pybuild plugin_pyproject:129: Building wheel for python3.11 with "build" 
> module
> I: pybuild base:311: python3.11 -m build --skip-dependency-check 
> --no-isolation --wheel --outdir 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_pyfakefs  
> * Building wheel...
> running bdist_wheel
> running build
> running build_py
> running egg_info
> writing pyfakefs.egg-info/PKG-INFO
> writing dependency_links to pyfakefs.egg-info/dependency_links.txt
> writing entry points to pyfakefs.egg-info/entry_points.txt
> writing top-level names to pyfakefs.egg-info/top_level.txt
> reading manifest file 'pyfakefs.egg-info/SOURCES.txt'
> reading manifest template 'MANIFEST.in'
> adding license file 'COPYING'
> writing manifest file 'pyfakefs.egg-info/SOURCES.txt'
> installing to build/bdist.linux-x86_64/wheel
> running install
> running install_lib
> creating build/bdist.linux-x86_64/wheel
> creating build/bdist.linux-x86_64/wheel/pyfakefs
> copying build/lib/pyfakefs/__init__.py -> 
> build/bdist.linux-x86_64/wheel/pyfakefs
> copying build/lib/pyfakefs/fake_scandir.py -> 
> build/bdist.linux-x86_64/wheel/pyfakefs
> creating build/bdist.linux-x86_64/wheel/pyfakefs/tests
> copying build/lib/pyfakefs/tests/mox3_stubout_test.py -> 
> build/bdist.linux-x86_64/wheel/pyfakefs/tests
> copying build/lib/pyfakefs/tests/fake_os_test.py -> 
> build/bdist.linux-x86_64/wheel/pyfakefs/tests
> copying build/lib/pyfakefs/tests/__init__.py -> 
> build/bdist.linux-x86_64/wheel/pyfakefs/tests
> copying build/lib/pyfakefs/tests/import_as_example.py -> 
> build/bdist.linux-x86_64/wheel/pyfakefs/tests
> creating build/bdist.linux-x86_64/wheel/pyfakefs/tests/fixtures
> copying build/lib/pyfakefs/tests/fixtures/__init__.py -> 
> build/bdist.linux-x86_64/wheel/pyfakefs/tests/fixtures
> copying build/lib/pyfakefs/tests/fixtures/deprecated_property.py -> 
> build/bdist.linux-x86_64/wheel/pyfakefs/tests/fixtures
> copying build/lib/pyfakefs/tests/fixtures/config_module.py -> 
> build/bdist.linux-x86_64/wheel/pyfakefs/tests/fixtures
> copying build/lib/pyfakefs/tests/fixtures/module_with_attributes.py -> 
> build/bdist.linux-x86_64/wheel/pyfakefs/tests/fixtures
> copying build/lib/pyfakefs/tests/patched_packages_test.py -> 
> build/bdist.linux-x86_64/wheel/pyfakefs/tests
> copying build/lib/pyfakefs/tests/dynamic_patch_test.py -> 
> build/bdist.linux-x86_64/wheel/pyfakefs/tests
> copying build/lib/pyfakefs/tests/mox3_stubout_example.py -> 
> build/bdist.linux-x86_64/wheel/pyfakefs/tests
> copying build/lib/pyfakefs/tests/fake_filesystem_glob_test.py -> 
> build/bdist.linux-x86_64/wheel/pyfakefs/tests
> copying build/lib/pyfakefs/tests/all_tests_without_extra_packages.py -> 
> build/bdist.linux-x86_64/wheel/pyfakefs/tests
> copying build/lib/pyfakefs/tests/fake_stat_time_test.py -> 
> build/bdist.linux-x86_64/wheel/pyfakefs/tests
> copying build/lib/pyfakefs/tests/fake_pathlib_test.py -> 
> build/bdist.linux-x86_64/wheel/pyfakefs/tests
> copying build/lib/pyfakefs/tests/all_tests.py -> 
> build/bdist.linux-x86_64/wheel/pyfakefs/tests
> copying build/lib/pyfakefs/tests/example.py -> 
> build/bdist.linux-x86_64/wheel/pyfakefs/tests
> copying build/lib/pyfakefs/tests/example_test.py -> 
> build/bdist.linux-x86_64/wheel/pyfakefs/tests
> copying build/lib/pyfakefs/tests/test_utils.py -> 
> build/bdist.linux-x86_64/wheel/pyfakefs/tests
> copying build/lib/pyfakefs/tests/fake_filesystem_unittest_test.py -> 
> build/bdist.linux-x86_64/wheel/pyfakefs/tests
> copying build/lib/pyfakefs/tests/fake_filesystem_test.py -> 
> build/bdist.linux-x86_64/wheel/pyfakefs/tests
> copying build/lib/pyfakefs/tests/fake_tempfile_test.py -> 
> build/bdist.linux-x86_64/wheel/pyfakefs/tests
> copying build/lib/pyfakefs/tests/fake_filesystem_shutil_test.py -> 
> build/bdist.linux-x86_64/wheel/pyfakefs/tests
> copying build/lib/pyfakefs/tests/fake_open_test.py -> 
> build/bdist.linux-x86_64/wheel/pyfakefs/tests
> copying build/lib/pyfakefs/tests/fake_filesystem_vs_real_test.py -> 
> build/bdist.linux-x86_64/wheel/pyfakefs/tests
> copying build/lib/pyfakefs/tests/performance_test.py -> 
> build/bdist.linux-x86_64/wheel/pyfakefs/tests
> copying build/lib/pyfakefs/tests/logsio.py -> 
> build/bdist.linux-x86_64/wheel/pyfakefs/tests
> copying build/lib/pyfakefs/fake_pathlib.py -> 
> build/bdist.linux-x86_64/wheel/pyfakefs
> copying build/lib/pyfakefs/_version.py -> 
> build/bdist.linux-x86_64/wheel/pyfakefs
> copying build/lib/pyfakefs/fake_filesystem_unittest.py -> 
> build/bdist.linux-x86_64/wheel/pyfakefs
> copying build/lib/pyfakefs/fake_open.py -> 
> build/bdist.linux-x86_64/wheel/pyfakefs
> copying build/lib/pyfakefs/fake_filesystem_shutil.py -> 
> build/bdist.linux-x86_64/wheel/pyfakefs
> copying build/lib/pyfakefs/extra_packages.py -> 
> build/bdist.linux-x86_64/wheel/pyfakefs
> copying build/lib/pyfakefs/py.typed -> build/bdist.linux-x86_64/wheel/pyfakefs
> copying build/lib/pyfakefs/fake_filesystem.py -> 
> build/bdist.linux-x86_64/wheel/pyfakefs
> copying build/lib/pyfakefs/helpers.py -> 
> build/bdist.linux-x86_64/wheel/pyfakefs
> copying build/lib/pyfakefs/fake_file.py -> 
> build/bdist.linux-x86_64/wheel/pyfakefs
> copying build/lib/pyfakefs/patched_packages.py -> 
> build/bdist.linux-x86_64/wheel/pyfakefs
> copying build/lib/pyfakefs/fake_io.py -> 
> build/bdist.linux-x86_64/wheel/pyfakefs
> creating build/bdist.linux-x86_64/wheel/pyfakefs/pytest_tests
> copying build/lib/pyfakefs/pytest_tests/pytest_module_fixture_test.py -> 
> build/bdist.linux-x86_64/wheel/pyfakefs/pytest_tests
> copying build/lib/pyfakefs/pytest_tests/pytest_doctest_test.py -> 
> build/bdist.linux-x86_64/wheel/pyfakefs/pytest_tests
> copying build/lib/pyfakefs/pytest_tests/__init__.py -> 
> build/bdist.linux-x86_64/wheel/pyfakefs/pytest_tests
> copying build/lib/pyfakefs/pytest_tests/pytest_plugin_failing_helper.py -> 
> build/bdist.linux-x86_64/wheel/pyfakefs/pytest_tests
> copying build/lib/pyfakefs/pytest_tests/pytest_check_failed_plugin_test.py -> 
> build/bdist.linux-x86_64/wheel/pyfakefs/pytest_tests
> copying build/lib/pyfakefs/pytest_tests/io.py -> 
> build/bdist.linux-x86_64/wheel/pyfakefs/pytest_tests
> copying build/lib/pyfakefs/pytest_tests/example.py -> 
> build/bdist.linux-x86_64/wheel/pyfakefs/pytest_tests
> copying build/lib/pyfakefs/pytest_tests/conftest.py -> 
> build/bdist.linux-x86_64/wheel/pyfakefs/pytest_tests
> copying build/lib/pyfakefs/pytest_tests/pytest_plugin_test.py -> 
> build/bdist.linux-x86_64/wheel/pyfakefs/pytest_tests
> copying build/lib/pyfakefs/pytest_tests/pytest_fixture_param_test.py -> 
> build/bdist.linux-x86_64/wheel/pyfakefs/pytest_tests
> copying build/lib/pyfakefs/pytest_tests/pytest_fixture_test.py -> 
> build/bdist.linux-x86_64/wheel/pyfakefs/pytest_tests
> copying build/lib/pyfakefs/mox3_stubout.py -> 
> build/bdist.linux-x86_64/wheel/pyfakefs
> copying build/lib/pyfakefs/fake_path.py -> 
> build/bdist.linux-x86_64/wheel/pyfakefs
> copying build/lib/pyfakefs/pytest_plugin.py -> 
> build/bdist.linux-x86_64/wheel/pyfakefs
> copying build/lib/pyfakefs/fake_os.py -> 
> build/bdist.linux-x86_64/wheel/pyfakefs
> running install_egg_info
> Copying pyfakefs.egg-info to 
> build/bdist.linux-x86_64/wheel/pyfakefs-5.3.2.egg-info
> running install_scripts
> creating build/bdist.linux-x86_64/wheel/pyfakefs-5.3.2.dist-info/WHEEL
> creating 
> '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_pyfakefs/.tmp-cra785i8/pyfakefs-5.3.2-py3-none-any.whl'
>  and adding 'build/bdist.linux-x86_64/wheel' to it
> adding 'pyfakefs/__init__.py'
> adding 'pyfakefs/_version.py'
> adding 'pyfakefs/extra_packages.py'
> adding 'pyfakefs/fake_file.py'
> adding 'pyfakefs/fake_filesystem.py'
> adding 'pyfakefs/fake_filesystem_shutil.py'
> adding 'pyfakefs/fake_filesystem_unittest.py'
> adding 'pyfakefs/fake_io.py'
> adding 'pyfakefs/fake_open.py'
> adding 'pyfakefs/fake_os.py'
> adding 'pyfakefs/fake_path.py'
> adding 'pyfakefs/fake_pathlib.py'
> adding 'pyfakefs/fake_scandir.py'
> adding 'pyfakefs/helpers.py'
> adding 'pyfakefs/mox3_stubout.py'
> adding 'pyfakefs/patched_packages.py'
> adding 'pyfakefs/py.typed'
> adding 'pyfakefs/pytest_plugin.py'
> adding 'pyfakefs/pytest_tests/__init__.py'
> adding 'pyfakefs/pytest_tests/conftest.py'
> adding 'pyfakefs/pytest_tests/example.py'
> adding 'pyfakefs/pytest_tests/io.py'
> adding 'pyfakefs/pytest_tests/pytest_check_failed_plugin_test.py'
> adding 'pyfakefs/pytest_tests/pytest_doctest_test.py'
> adding 'pyfakefs/pytest_tests/pytest_fixture_param_test.py'
> adding 'pyfakefs/pytest_tests/pytest_fixture_test.py'
> adding 'pyfakefs/pytest_tests/pytest_module_fixture_test.py'
> adding 'pyfakefs/pytest_tests/pytest_plugin_failing_helper.py'
> adding 'pyfakefs/pytest_tests/pytest_plugin_test.py'
> adding 'pyfakefs/tests/__init__.py'
> adding 'pyfakefs/tests/all_tests.py'
> adding 'pyfakefs/tests/all_tests_without_extra_packages.py'
> adding 'pyfakefs/tests/dynamic_patch_test.py'
> adding 'pyfakefs/tests/example.py'
> adding 'pyfakefs/tests/example_test.py'
> adding 'pyfakefs/tests/fake_filesystem_glob_test.py'
> adding 'pyfakefs/tests/fake_filesystem_shutil_test.py'
> adding 'pyfakefs/tests/fake_filesystem_test.py'
> adding 'pyfakefs/tests/fake_filesystem_unittest_test.py'
> adding 'pyfakefs/tests/fake_filesystem_vs_real_test.py'
> adding 'pyfakefs/tests/fake_open_test.py'
> adding 'pyfakefs/tests/fake_os_test.py'
> adding 'pyfakefs/tests/fake_pathlib_test.py'
> adding 'pyfakefs/tests/fake_stat_time_test.py'
> adding 'pyfakefs/tests/fake_tempfile_test.py'
> adding 'pyfakefs/tests/import_as_example.py'
> adding 'pyfakefs/tests/logsio.py'
> adding 'pyfakefs/tests/mox3_stubout_example.py'
> adding 'pyfakefs/tests/mox3_stubout_test.py'
> adding 'pyfakefs/tests/patched_packages_test.py'
> adding 'pyfakefs/tests/performance_test.py'
> adding 'pyfakefs/tests/test_utils.py'
> adding 'pyfakefs/tests/fixtures/__init__.py'
> adding 'pyfakefs/tests/fixtures/config_module.py'
> adding 'pyfakefs/tests/fixtures/deprecated_property.py'
> adding 'pyfakefs/tests/fixtures/module_with_attributes.py'
> adding 'pyfakefs-5.3.2.dist-info/COPYING'
> adding 'pyfakefs-5.3.2.dist-info/METADATA'
> adding 'pyfakefs-5.3.2.dist-info/WHEEL'
> adding 'pyfakefs-5.3.2.dist-info/entry_points.txt'
> adding 'pyfakefs-5.3.2.dist-info/top_level.txt'
> adding 'pyfakefs-5.3.2.dist-info/RECORD'
> removing build/bdist.linux-x86_64/wheel
> Successfully built pyfakefs-5.3.2-py3-none-any.whl
> I: pybuild plugin_pyproject:144: Unpacking wheel built for python3.11 with 
> "installer" module
>    dh_auto_test -O--buildsystem=pybuild
> I: pybuild base:311: cd 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_pyfakefs/build; python3.12 -m pytest 
> ============================= test session starts 
> ==============================
> platform linux -- Python 3.12.4, pytest-8.2.2, pluggy-1.5.0
> rootdir: /<<PKGBUILDDIR>>
> configfile: pyproject.toml
> plugins: pyfakefs-5.3.2
> collected 2164 items
> 
> pyfakefs/pytest_tests/pytest_check_failed_plugin_test.py s               [  
> 0%]
> pyfakefs/pytest_tests/pytest_fixture_param_test.py X..                   [  
> 0%]
> pyfakefs/pytest_tests/pytest_fixture_test.py X..                         [  
> 0%]
> pyfakefs/pytest_tests/pytest_module_fixture_test.py ..                   [  
> 0%]
> pyfakefs/pytest_tests/pytest_plugin_test.py .........                    [  
> 0%]
> pyfakefs/tests/dynamic_patch_test.py .....                               [  
> 1%]
> pyfakefs/tests/example_test.py ......Fs                                  [  
> 1%]
> pyfakefs/tests/fake_filesystem_glob_test.py .........                    [  
> 1%]
> pyfakefs/tests/fake_filesystem_shutil_test.py ...............FFFsFFFssss [  
> 3%]
> ssssssssssssssssssss.F.........sssssssssss                               [  
> 4%]
> pyfakefs/tests/fake_filesystem_test.py ................................. [  
> 6%]
> ........................................................................ [  
> 9%]
> ..............s........................................................s [ 
> 13%]
> ........................................................................ [ 
> 16%]
> .........................                                                [ 
> 17%]
> pyfakefs/tests/fake_filesystem_unittest_test.py .........F.............. [ 
> 18%]
> ....x...............................x..........................s.s..     [ 
> 21%]
> pyfakefs/tests/fake_filesystem_vs_real_test.py ......................... [ 
> 23%]
> ..                                                                       [ 
> 23%]
> pyfakefs/tests/fake_open_test.py ....................................... [ 
> 24%]
> ................................ssssssssssssssssssssssssssssssssssssssss [ 
> 28%]
> sssssssssssssssssssssssssssssss........ssssssss..s.ssss..sss............ [ 
> 31%]
> ssssssssssss..........ssssssssss..s.....ssssssss.....sssss.....sss..ss.. [ 
> 34%]
> ...sssss..................ssssssssssssssssss                             [ 
> 36%]
> pyfakefs/tests/fake_os_test.py ......................................... [ 
> 38%]
> ........................................................................ [ 
> 42%]
> ........................................................................ [ 
> 45%]
> ........................................................................ [ 
> 48%]
> ...........................sssssssssssssssssssssssssssssssssssssssssssss [ 
> 52%]
> ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 
> 55%]
> ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 
> 58%]
> ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 
> 62%]
> sssssssssssssssssssssss................................................. [ 
> 65%]
> ....................................ssssssssssssssssssssssssssssssssssss [ 
> 68%]
> sssssssssssssssssssssssssssssssssssssssssssssssss.................s..... [ 
> 72%]
> ..............................s......sssssssssssssssssssssssssssssssssss [ 
> 75%]
> ssssssssssssss...........sssssssssss.................................... [ 
> 78%]
> ...sssssssssssssss.............sssssssssssssss.............sssssssssssss [ 
> 82%]
> ss.............sssssssssssssss.................sssssssssssss             [ 
> 84%]
> pyfakefs/tests/fake_pathlib_test.py ....s.ssssssssssssss..s......sssssss [ 
> 86%]
> ss.....s.s......s....sssssssssssssssssss...s...s..ss.................sss [ 
> 89%]
> ssssssssssssssssssssssssss............................................ss [ 
> 93%]
> ssssssssssssssssssssssssssssssssssssssssss.....s                         [ 
> 95%]
> pyfakefs/tests/fake_stat_time_test.py .......sssssss........ssssssss.... [ 
> 96%]
> ...sssssss........ssssssss.....sssss......ssssss                         [ 
> 99%]
> pyfakefs/tests/fake_tempfile_test.py .....F..                            [ 
> 99%]
> pyfakefs/tests/mox3_stubout_test.py .........                            
> [100%]
> 
> =================================== FAILURES 
> ===================================
> ___________________________ TestExample.test_rm_tree 
> ___________________________
> 
> self = <pyfakefs.tests.example_test.TestExample testMethod=test_rm_tree>
> 
>     def test_rm_tree(self):
>         """Test example.rm_tree() using `shutil.rmtree()`."""
>         self.fs.create_dir("/test/dir1/dir2a")
>         # os.mkdirs() works, too.
>         os.makedirs("/test/dir1/dir2b")
>         self.assertTrue(os.path.isdir("/test/dir1/dir2b"))
>         self.assertTrue(os.path.isdir("/test/dir1/dir2a"))
>     
> >       example.rm_tree("/test/dir1")
> 
> pyfakefs/tests/example_test.py:124: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> pyfakefs/tests/example.py:136: in rm_tree
>     shutil.rmtree(path)
> /usr/lib/python3.12/shutil.py:759: in rmtree
>     _rmtree_safe_fd(stack, onexc)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> stack = [], onexc = <function rmtree.<locals>.onexc at 0x7faddaf36480>
> 
>     def _rmtree_safe_fd(stack, onexc):
>         # Each stack item has four elements:
>         # * func: The first operation to perform: os.lstat, os.close or 
> os.rmdir.
>         #   Walking a directory starts with an os.lstat() to detect symlinks; 
> in
>         #   this case, func is updated before subsequent operations and 
> passed to
>         #   onexc() if an error occurs.
>         # * dirfd: Open file descriptor, or None if we're processing the 
> top-level
>         #   directory given to rmtree() and the user didn't supply dir_fd.
>         # * path: Path of file to operate upon. This is passed to onexc() if 
> an
>         #   error occurs.
>         # * orig_entry: os.DirEntry, or None if we're processing the top-level
>         #   directory given to rmtree(). We used the cached stat() of the 
> entry to
>         #   save a call to os.lstat() when walking subdirectories.
>         func, dirfd, path, orig_entry = stack.pop()
>         name = path if orig_entry is None else orig_entry.name
>         try:
>             if func is os.close:
>                 os.close(dirfd)
>                 return
>             if func is os.rmdir:
>                 os.rmdir(name, dir_fd=dirfd)
>                 return
>     
>             # Note: To guard against symlink races, we use the standard
>             # lstat()/open()/fstat() trick.
> >           assert func is os.lstat
> E           AssertionError
> 
> /usr/lib/python3.12/shutil.py:667: AssertionError
> _______________________ FakeShutilModuleTest.test_rmtree 
> _______________________
> 
> self = <pyfakefs.tests.fake_filesystem_shutil_test.FakeShutilModuleTest 
> testMethod=test_rmtree>
> 
>     def test_rmtree(self):
>         directory = self.make_path("xyzzy")
>         dir_path = os.path.join(directory, "subdir")
>         self.create_dir(dir_path)
>         file_path = os.path.join(directory, "subfile")
>         self.create_file(file_path)
>         self.assertTrue(os.path.exists(directory))
> >       shutil.rmtree(directory)
> 
> pyfakefs/tests/fake_filesystem_shutil_test.py:87: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> /usr/lib/python3.12/shutil.py:759: in rmtree
>     _rmtree_safe_fd(stack, onexc)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> stack = [], onexc = <function rmtree.<locals>.onexc at 0x7faddb549300>
> 
>     def _rmtree_safe_fd(stack, onexc):
>         # Each stack item has four elements:
>         # * func: The first operation to perform: os.lstat, os.close or 
> os.rmdir.
>         #   Walking a directory starts with an os.lstat() to detect symlinks; 
> in
>         #   this case, func is updated before subsequent operations and 
> passed to
>         #   onexc() if an error occurs.
>         # * dirfd: Open file descriptor, or None if we're processing the 
> top-level
>         #   directory given to rmtree() and the user didn't supply dir_fd.
>         # * path: Path of file to operate upon. This is passed to onexc() if 
> an
>         #   error occurs.
>         # * orig_entry: os.DirEntry, or None if we're processing the top-level
>         #   directory given to rmtree(). We used the cached stat() of the 
> entry to
>         #   save a call to os.lstat() when walking subdirectories.
>         func, dirfd, path, orig_entry = stack.pop()
>         name = path if orig_entry is None else orig_entry.name
>         try:
>             if func is os.close:
>                 os.close(dirfd)
>                 return
>             if func is os.rmdir:
>                 os.rmdir(name, dir_fd=dirfd)
>                 return
>     
>             # Note: To guard against symlink races, we use the standard
>             # lstat()/open()/fstat() trick.
> >           assert func is os.lstat
> E           AssertionError
> 
> /usr/lib/python3.12/shutil.py:667: AssertionError
> ______________ FakeShutilModuleTest.test_rmtree_non_existing_dir 
> _______________
> 
> self = <pyfakefs.tests.fake_filesystem_shutil_test.FakeShutilModuleTest 
> testMethod=test_rmtree_non_existing_dir>
> 
>     def test_rmtree_non_existing_dir(self):
>         directory = "nonexisting"
>         with self.assertRaises(OSError):
> >           shutil.rmtree(directory)
> 
> pyfakefs/tests/fake_filesystem_shutil_test.py:159: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> /usr/lib/python3.12/shutil.py:759: in rmtree
>     _rmtree_safe_fd(stack, onexc)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
>     def _rmtree_safe_fd(stack, onexc):
>         # Each stack item has four elements:
>         # * func: The first operation to perform: os.lstat, os.close or 
> os.rmdir.
>         #   Walking a directory starts with an os.lstat() to detect symlinks; 
> in
>         #   this case, func is updated before subsequent operations and 
> passed to
>         #   onexc() if an error occurs.
>         # * dirfd: Open file descriptor, or None if we're processing the 
> top-level
>         #   directory given to rmtree() and the user didn't supply dir_fd.
>         # * path: Path of file to operate upon. This is passed to onexc() if 
> an
>         #   error occurs.
>         # * orig_entry: os.DirEntry, or None if we're processing the top-level
>         #   directory given to rmtree(). We used the cached stat() of the 
> entry to
>         #   save a call to os.lstat() when walking subdirectories.
>         func, dirfd, path, orig_entry = stack.pop()
>         name = path if orig_entry is None else orig_entry.name
>         try:
>             if func is os.close:
>                 os.close(dirfd)
>                 return
>             if func is os.rmdir:
>                 os.rmdir(name, dir_fd=dirfd)
>                 return
>     
>             # Note: To guard against symlink races, we use the standard
>             # lstat()/open()/fstat() trick.
> >           assert func is os.lstat
> E           AssertionError
> 
> /usr/lib/python3.12/shutil.py:667: AssertionError
> ________ FakeShutilModuleTest.test_rmtree_non_existing_dir_with_handler 
> ________
> 
> self = <pyfakefs.tests.fake_filesystem_shutil_test.FakeShutilModuleTest 
> testMethod=test_rmtree_non_existing_dir_with_handler>
> 
>     def test_rmtree_non_existing_dir_with_handler(self):
>         class NonLocal:
>             pass
>     
>         def error_handler(_, path, _error_info):
>             NonLocal.errorHandled = True
>             NonLocal.errorPath = path
>     
>         directory = self.make_path("nonexisting")
>         NonLocal.errorHandled = False
>         NonLocal.errorPath = ""
>         try:
> >           shutil.rmtree(directory, onerror=error_handler)
> 
> pyfakefs/tests/fake_filesystem_shutil_test.py:177: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> /usr/lib/python3.12/shutil.py:759: in rmtree
>     _rmtree_safe_fd(stack, onexc)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> stack = [], onexc = <function rmtree.<locals>.onexc at 0x7faddb54a660>
> 
>     def _rmtree_safe_fd(stack, onexc):
>         # Each stack item has four elements:
>         # * func: The first operation to perform: os.lstat, os.close or 
> os.rmdir.
>         #   Walking a directory starts with an os.lstat() to detect symlinks; 
> in
>         #   this case, func is updated before subsequent operations and 
> passed to
>         #   onexc() if an error occurs.
>         # * dirfd: Open file descriptor, or None if we're processing the 
> top-level
>         #   directory given to rmtree() and the user didn't supply dir_fd.
>         # * path: Path of file to operate upon. This is passed to onexc() if 
> an
>         #   error occurs.
>         # * orig_entry: os.DirEntry, or None if we're processing the top-level
>         #   directory given to rmtree(). We used the cached stat() of the 
> entry to
>         #   save a call to os.lstat() when walking subdirectories.
>         func, dirfd, path, orig_entry = stack.pop()
>         name = path if orig_entry is None else orig_entry.name
>         try:
>             if func is os.close:
>                 os.close(dirfd)
>                 return
>             if func is os.rmdir:
>                 os.rmdir(name, dir_fd=dirfd)
>                 return
>     
>             # Note: To guard against symlink races, we use the standard
>             # lstat()/open()/fstat() trick.
> >           assert func is os.lstat
> E           AssertionError
> 
> /usr/lib/python3.12/shutil.py:667: AssertionError
> ____________ FakeShutilModuleTest.test_rmtree_with_open_file_posix 
> _____________
> 
> self = <pyfakefs.tests.fake_filesystem_shutil_test.FakeShutilModuleTest 
> testMethod=test_rmtree_with_open_file_posix>
> 
>     @unittest.skipIf(is_windows, "Posix specific behavior")
>     def test_rmtree_with_open_file_posix(self):
>         self.check_posix_only()
>         dir_path = self.make_path("foo")
>         self.create_file(os.path.join(dir_path, "bar"))
>         file_path = os.path.join(dir_path, "baz")
>         self.create_file(file_path)
>         with open(file_path):
> >           shutil.rmtree(dir_path)
> 
> pyfakefs/tests/fake_filesystem_shutil_test.py:141: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> /usr/lib/python3.12/shutil.py:759: in rmtree
>     _rmtree_safe_fd(stack, onexc)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> stack = [], onexc = <function rmtree.<locals>.onexc at 0x7faddb566700>
> 
>     def _rmtree_safe_fd(stack, onexc):
>         # Each stack item has four elements:
>         # * func: The first operation to perform: os.lstat, os.close or 
> os.rmdir.
>         #   Walking a directory starts with an os.lstat() to detect symlinks; 
> in
>         #   this case, func is updated before subsequent operations and 
> passed to
>         #   onexc() if an error occurs.
>         # * dirfd: Open file descriptor, or None if we're processing the 
> top-level
>         #   directory given to rmtree() and the user didn't supply dir_fd.
>         # * path: Path of file to operate upon. This is passed to onexc() if 
> an
>         #   error occurs.
>         # * orig_entry: os.DirEntry, or None if we're processing the top-level
>         #   directory given to rmtree(). We used the cached stat() of the 
> entry to
>         #   save a call to os.lstat() when walking subdirectories.
>         func, dirfd, path, orig_entry = stack.pop()
>         name = path if orig_entry is None else orig_entry.name
>         try:
>             if func is os.close:
>                 os.close(dirfd)
>                 return
>             if func is os.rmdir:
>                 os.rmdir(name, dir_fd=dirfd)
>                 return
>     
>             # Note: To guard against symlink races, we use the standard
>             # lstat()/open()/fstat() trick.
> >           assert func is os.lstat
> E           AssertionError
> 
> /usr/lib/python3.12/shutil.py:667: AssertionError
> _____________ FakeShutilModuleTest.test_rmtree_with_trailing_slash 
> _____________
> 
> self = <pyfakefs.tests.fake_filesystem_shutil_test.FakeShutilModuleTest 
> testMethod=test_rmtree_with_trailing_slash>
> 
>     def test_rmtree_with_trailing_slash(self):
>         directory = self.make_path("xyzzy")
>         dir_path = os.path.join(directory, "subdir")
>         self.create_dir(dir_path)
>         file_path = os.path.join(directory, "subfile")
>         self.create_file(file_path)
> >       shutil.rmtree(directory + "/")
> 
> pyfakefs/tests/fake_filesystem_shutil_test.py:98: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> /usr/lib/python3.12/shutil.py:759: in rmtree
>     _rmtree_safe_fd(stack, onexc)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> stack = [], onexc = <function rmtree.<locals>.onexc at 0x7faddb5b07c0>
> 
>     def _rmtree_safe_fd(stack, onexc):
>         # Each stack item has four elements:
>         # * func: The first operation to perform: os.lstat, os.close or 
> os.rmdir.
>         #   Walking a directory starts with an os.lstat() to detect symlinks; 
> in
>         #   this case, func is updated before subsequent operations and 
> passed to
>         #   onexc() if an error occurs.
>         # * dirfd: Open file descriptor, or None if we're processing the 
> top-level
>         #   directory given to rmtree() and the user didn't supply dir_fd.
>         # * path: Path of file to operate upon. This is passed to onexc() if 
> an
>         #   error occurs.
>         # * orig_entry: os.DirEntry, or None if we're processing the top-level
>         #   directory given to rmtree(). We used the cached stat() of the 
> entry to
>         #   save a call to os.lstat() when walking subdirectories.
>         func, dirfd, path, orig_entry = stack.pop()
>         name = path if orig_entry is None else orig_entry.name
>         try:
>             if func is os.close:
>                 os.close(dirfd)
>                 return
>             if func is os.rmdir:
>                 os.rmdir(name, dir_fd=dirfd)
>                 return
>     
>             # Note: To guard against symlink races, we use the standard
>             # lstat()/open()/fstat() trick.
> >           assert func is os.lstat
> E           AssertionError
> 
> /usr/lib/python3.12/shutil.py:667: AssertionError
> ____ FakeShutilModuleTest.test_rmtree_without_permission_for_a_dir_in_posix 
> ____
> 
> self = <pyfakefs.tests.fake_filesystem_shutil_test.FakeShutilModuleTest 
> testMethod=test_rmtree_without_permission_for_a_dir_in_posix>
> 
>     @unittest.skipIf(is_windows, "Posix specific behavior")
>     def test_rmtree_without_permission_for_a_dir_in_posix(self):
>         self.check_posix_only()
>         dir_path = self.make_path("foo")
>         self.create_file(os.path.join(dir_path, "bar"))
>         file_path = os.path.join(dir_path, "baz")
>         self.create_file(file_path)
>         self.os.chmod(dir_path, 0o555)
>         if not is_root():
>             with self.assertRaises(OSError):
> >               shutil.rmtree(dir_path)
> 
> pyfakefs/tests/fake_filesystem_shutil_test.py:126: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> /usr/lib/python3.12/shutil.py:759: in rmtree
>     _rmtree_safe_fd(stack, onexc)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
>     def _rmtree_safe_fd(stack, onexc):
>         # Each stack item has four elements:
>         # * func: The first operation to perform: os.lstat, os.close or 
> os.rmdir.
>         #   Walking a directory starts with an os.lstat() to detect symlinks; 
> in
>         #   this case, func is updated before subsequent operations and 
> passed to
>         #   onexc() if an error occurs.
>         # * dirfd: Open file descriptor, or None if we're processing the 
> top-level
>         #   directory given to rmtree() and the user didn't supply dir_fd.
>         # * path: Path of file to operate upon. This is passed to onexc() if 
> an
>         #   error occurs.
>         # * orig_entry: os.DirEntry, or None if we're processing the top-level
>         #   directory given to rmtree(). We used the cached stat() of the 
> entry to
>         #   save a call to os.lstat() when walking subdirectories.
>         func, dirfd, path, orig_entry = stack.pop()
>         name = path if orig_entry is None else orig_entry.name
>         try:
>             if func is os.close:
>                 os.close(dirfd)
>                 return
>             if func is os.rmdir:
>                 os.rmdir(name, dir_fd=dirfd)
>                 return
>     
>             # Note: To guard against symlink races, we use the standard
>             # lstat()/open()/fstat() trick.
> >           assert func is os.lstat
> E           AssertionError
> 
> /usr/lib/python3.12/shutil.py:667: AssertionError
> __________________ FakeCopyFileTest.test_moving_dir_into_dir 
> ___________________
> 
> self = <pyfakefs.tests.fake_filesystem_shutil_test.FakeCopyFileTest 
> testMethod=test_moving_dir_into_dir>
> 
>     def test_moving_dir_into_dir(self):
>         # regression test for #515
>         source_dir = tempfile.mkdtemp()
>         target_dir = tempfile.mkdtemp()
>         filename = "foo.pdf"
>         with open(os.path.join(source_dir, filename), "wb") as fp:
>             fp.write(b"stub")
>     
>         shutil.move(source_dir, target_dir)
> >       shutil.rmtree(target_dir)
> 
> pyfakefs/tests/fake_filesystem_shutil_test.py:544: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> /usr/lib/python3.12/shutil.py:759: in rmtree
>     _rmtree_safe_fd(stack, onexc)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> stack = [], onexc = <function rmtree.<locals>.onexc at 0x7faddb5b2a20>
> 
>     def _rmtree_safe_fd(stack, onexc):
>         # Each stack item has four elements:
>         # * func: The first operation to perform: os.lstat, os.close or 
> os.rmdir.
>         #   Walking a directory starts with an os.lstat() to detect symlinks; 
> in
>         #   this case, func is updated before subsequent operations and 
> passed to
>         #   onexc() if an error occurs.
>         # * dirfd: Open file descriptor, or None if we're processing the 
> top-level
>         #   directory given to rmtree() and the user didn't supply dir_fd.
>         # * path: Path of file to operate upon. This is passed to onexc() if 
> an
>         #   error occurs.
>         # * orig_entry: os.DirEntry, or None if we're processing the top-level
>         #   directory given to rmtree(). We used the cached stat() of the 
> entry to
>         #   save a call to os.lstat() when walking subdirectories.
>         func, dirfd, path, orig_entry = stack.pop()
>         name = path if orig_entry is None else orig_entry.name
>         try:
>             if func is os.close:
>                 os.close(dirfd)
>                 return
>             if func is os.rmdir:
>                 os.rmdir(name, dir_fd=dirfd)
>                 return
>     
>             # Note: To guard against symlink races, we use the standard
>             # lstat()/open()/fstat() trick.
> >           assert func is os.lstat
> E           AssertionError
> 
> /usr/lib/python3.12/shutil.py:667: AssertionError
> _______________________ TestPyfakefsUnittest.test_shutil 
> _______________________
> 
> self = <pyfakefs.tests.fake_filesystem_unittest_test.TestPyfakefsUnittest 
> testMethod=test_shutil>
> 
>     def test_shutil(self):
>         """Fake shutil module is bound"""
>         self.fs.create_dir("/test/dir1/dir2a")
>         self.fs.create_dir("/test/dir1/dir2b")
>         self.assertTrue(self.fs.exists("/test/dir1/dir2b"))
>         self.assertTrue(self.fs.exists("/test/dir1/dir2a"))
>     
> >       shutil.rmtree("/test/dir1")
> 
> pyfakefs/tests/fake_filesystem_unittest_test.py:157: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> /usr/lib/python3.12/shutil.py:759: in rmtree
>     _rmtree_safe_fd(stack, onexc)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> stack = [], onexc = <function rmtree.<locals>.onexc at 0x7fadda718c20>
> 
>     def _rmtree_safe_fd(stack, onexc):
>         # Each stack item has four elements:
>         # * func: The first operation to perform: os.lstat, os.close or 
> os.rmdir.
>         #   Walking a directory starts with an os.lstat() to detect symlinks; 
> in
>         #   this case, func is updated before subsequent operations and 
> passed to
>         #   onexc() if an error occurs.
>         # * dirfd: Open file descriptor, or None if we're processing the 
> top-level
>         #   directory given to rmtree() and the user didn't supply dir_fd.
>         # * path: Path of file to operate upon. This is passed to onexc() if 
> an
>         #   error occurs.
>         # * orig_entry: os.DirEntry, or None if we're processing the top-level
>         #   directory given to rmtree(). We used the cached stat() of the 
> entry to
>         #   save a call to os.lstat() when walking subdirectories.
>         func, dirfd, path, orig_entry = stack.pop()
>         name = path if orig_entry is None else orig_entry.name
>         try:
>             if func is os.close:
>                 os.close(dirfd)
>                 return
>             if func is os.rmdir:
>                 os.rmdir(name, dir_fd=dirfd)
>                 return
>     
>             # Note: To guard against symlink races, we use the standard
>             # lstat()/open()/fstat() trick.
> >           assert func is os.lstat
> E           AssertionError
> 
> /usr/lib/python3.12/shutil.py:667: AssertionError
> _______________ FakeTempfileModuleTest.test_temporary_directory 
> ________________
> 
> self = <pyfakefs.tests.fake_tempfile_test.FakeTempfileModuleTest 
> testMethod=test_temporary_directory>
> 
>     def test_temporary_directory(self):
> >       with tempfile.TemporaryDirectory() as tmpdir:
> 
> pyfakefs/tests/fake_tempfile_test.py:92: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> /usr/lib/python3.12/tempfile.py:1085: in __exit__
>     self.cleanup()
> /usr/lib/python3.12/tempfile.py:1089: in cleanup
>     self._rmtree(self.name, ignore_errors=self._ignore_cleanup_errors)
> /usr/lib/python3.12/tempfile.py:1069: in _rmtree
>     _rmtree(name, onexc=onexc)
> /usr/lib/python3.12/shutil.py:759: in rmtree
>     _rmtree_safe_fd(stack, onexc)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> stack = []
> onexc = <function TemporaryDirectory._rmtree.<locals>.onexc at 0x7faddad47d80>
> 
>     def _rmtree_safe_fd(stack, onexc):
>         # Each stack item has four elements:
>         # * func: The first operation to perform: os.lstat, os.close or 
> os.rmdir.
>         #   Walking a directory starts with an os.lstat() to detect symlinks; 
> in
>         #   this case, func is updated before subsequent operations and 
> passed to
>         #   onexc() if an error occurs.
>         # * dirfd: Open file descriptor, or None if we're processing the 
> top-level
>         #   directory given to rmtree() and the user didn't supply dir_fd.
>         # * path: Path of file to operate upon. This is passed to onexc() if 
> an
>         #   error occurs.
>         # * orig_entry: os.DirEntry, or None if we're processing the top-level
>         #   directory given to rmtree(). We used the cached stat() of the 
> entry to
>         #   save a call to os.lstat() when walking subdirectories.
>         func, dirfd, path, orig_entry = stack.pop()
>         name = path if orig_entry is None else orig_entry.name
>         try:
>             if func is os.close:
>                 os.close(dirfd)
>                 return
>             if func is os.rmdir:
>                 os.rmdir(name, dir_fd=dirfd)
>                 return
>     
>             # Note: To guard against symlink races, we use the standard
>             # lstat()/open()/fstat() trick.
> >           assert func is os.lstat
> E           AssertionError
> 
> /usr/lib/python3.12/shutil.py:667: AssertionError
> =========================== short test summary info 
> ============================
> FAILED pyfakefs/tests/example_test.py::TestExample::test_rm_tree - 
> AssertionE...
> FAILED 
> pyfakefs/tests/fake_filesystem_shutil_test.py::FakeShutilModuleTest::test_rmtree
> FAILED 
> pyfakefs/tests/fake_filesystem_shutil_test.py::FakeShutilModuleTest::test_rmtree_non_existing_dir
> FAILED 
> pyfakefs/tests/fake_filesystem_shutil_test.py::FakeShutilModuleTest::test_rmtree_non_existing_dir_with_handler
> FAILED 
> pyfakefs/tests/fake_filesystem_shutil_test.py::FakeShutilModuleTest::test_rmtree_with_open_file_posix
> FAILED 
> pyfakefs/tests/fake_filesystem_shutil_test.py::FakeShutilModuleTest::test_rmtree_with_trailing_slash
> FAILED 
> pyfakefs/tests/fake_filesystem_shutil_test.py::FakeShutilModuleTest::test_rmtree_without_permission_for_a_dir_in_posix
> FAILED 
> pyfakefs/tests/fake_filesystem_shutil_test.py::FakeCopyFileTest::test_moving_dir_into_dir
> FAILED 
> pyfakefs/tests/fake_filesystem_unittest_test.py::TestPyfakefsUnittest::test_shutil
> FAILED 
> pyfakefs/tests/fake_tempfile_test.py::FakeTempfileModuleTest::test_temporary_directory
> ====== 10 failed, 1287 passed, 863 skipped, 2 xfailed, 2 xpassed in 5.46s 
> ======
> E: pybuild pybuild:389: test: plugin pyproject failed with: exit code=1: cd 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_pyfakefs/build; python3.12 -m pytest 
> I: pybuild base:311: cd 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_pyfakefs/build; python3.11 -m pytest 
> ============================= test session starts 
> ==============================
> platform linux -- Python 3.11.9, pytest-8.2.2, pluggy-1.5.0
> rootdir: /<<PKGBUILDDIR>>
> configfile: pyproject.toml
> plugins: pyfakefs-5.3.2
> collected 2166 items
> 
> pyfakefs/pytest_tests/pytest_check_failed_plugin_test.py s               [  
> 0%]
> pyfakefs/pytest_tests/pytest_fixture_param_test.py X..                   [  
> 0%]
> pyfakefs/pytest_tests/pytest_fixture_test.py X..                         [  
> 0%]
> pyfakefs/pytest_tests/pytest_module_fixture_test.py ..                   [  
> 0%]
> pyfakefs/pytest_tests/pytest_plugin_test.py .........                    [  
> 0%]
> pyfakefs/tests/dynamic_patch_test.py .....                               [  
> 1%]
> pyfakefs/tests/example_test.py .......s                                  [  
> 1%]
> pyfakefs/tests/fake_filesystem_glob_test.py .........                    [  
> 1%]
> pyfakefs/tests/fake_filesystem_shutil_test.py ..................s...ssss [  
> 3%]
> ssssssssssssssssssss...........sssssssssss                               [  
> 4%]
> pyfakefs/tests/fake_filesystem_test.py ................................. [  
> 6%]
> ........................................................................ [  
> 9%]
> ..............s........................................................s [ 
> 13%]
> ........................................................................ [ 
> 16%]
> .........................                                                [ 
> 17%]
> pyfakefs/tests/fake_filesystem_unittest_test.py ........................ [ 
> 18%]
> ....x...............................x............................s.s..   [ 
> 21%]
> pyfakefs/tests/fake_filesystem_vs_real_test.py ......................... [ 
> 23%]
> ..                                                                       [ 
> 23%]
> pyfakefs/tests/fake_open_test.py ....................................... [ 
> 25%]
> ................................ssssssssssssssssssssssssssssssssssssssss [ 
> 28%]
> sssssssssssssssssssssssssssssss........ssssssss..s.ssss..sss............ [ 
> 31%]
> ssssssssssss..........ssssssssss..s.....ssssssss.....sssss.....sss..ss.. [ 
> 34%]
> ...sssss..................ssssssssssssssssss                             [ 
> 37%]
> pyfakefs/tests/fake_os_test.py ......................................... [ 
> 38%]
> ........................................................................ [ 
> 42%]
> ........................................................................ [ 
> 45%]
> ........................................................................ [ 
> 48%]
> ...........................sssssssssssssssssssssssssssssssssssssssssssss [ 
> 52%]
> ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 
> 55%]
> ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 
> 58%]
> ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 
> 62%]
> sssssssssssssssssssssss................................................. [ 
> 65%]
> ....................................ssssssssssssssssssssssssssssssssssss [ 
> 68%]
> sssssssssssssssssssssssssssssssssssssssssssssssss.................s..... [ 
> 72%]
> ..............................s......sssssssssssssssssssssssssssssssssss [ 
> 75%]
> ssssssssssssss...........sssssssssss.................................... [ 
> 78%]
> ...sssssssssssssss.............sssssssssssssss.............sssssssssssss [ 
> 82%]
> ss.............sssssssssssssss.................sssssssssssss             [ 
> 84%]
> pyfakefs/tests/fake_pathlib_test.py ....s.ssssssssssssss..s......sssssss [ 
> 86%]
> ss.....s.s......s....sssssssssssssssssss...s.s....ss.................sss [ 
> 89%]
> ssssssssssssssssssssssssss............................................ss [ 
> 93%]
> ssssssssssssssssssssssssssssssssssssssssss.....s                         [ 
> 95%]
> pyfakefs/tests/fake_stat_time_test.py .......sssssss........ssssssss.... [ 
> 96%]
> ...sssssss........ssssssss.....sssss......ssssss                         [ 
> 99%]
> pyfakefs/tests/fake_tempfile_test.py ........                            [ 
> 99%]
> pyfakefs/tests/mox3_stubout_test.py .........                            
> [100%]
> 
> =============================== warnings summary 
> ===============================
> .pybuild/cpython3_3.11_pyfakefs/build/pyfakefs/tests/fake_pathlib_test.py::FakePathlibPathFileOperationTest::test_link_to
>   
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_pyfakefs/build/pyfakefs/tests/fake_pathlib_test.py:665:
>  DeprecationWarning: pathlib.Path.link_to() is deprecated and is scheduled 
> for removal in Python 3.12. Use pathlib.Path.hardlink_to() instead.
>     path.link_to(link_name)
> 
> -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
> ====== 1299 passed, 863 skipped, 2 xfailed, 2 xpassed, 1 warning in 6.13s 
> ======
> dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p "3.12 
> 3.11" returned exit code 13


The full build log is available from:
http://qa-logs.debian.net/2024/06/15/python-pyfakefs_5.3.2-1_unstable.log

All bugs filed during this archive rebuild are listed at:
https://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=ftbfs-20240615;users=lu...@debian.org
or:
https://udd.debian.org/bugs/?release=na&merged=ign&fnewerval=7&flastmodval=7&fusertag=only&fusertagtag=ftbfs-20240615&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.

Reply via email to