Bug#1058398: ros-rosdep: FTBFS: dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p "3.12 3.11" returned exit code 13

Lucas Nussbaum lucas at debian.org
Tue Dec 12 08:24:50 GMT 2023


Source: ros-rosdep
Version: 0.22.2-2
Severity: serious
Justification: FTBFS
Tags: trixie sid ftbfs
User: lucas at debian.org
Usertags: ftbfs-20231212 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
> I: pybuild base:310: python3.12 setup.py config 
> running config
> I: pybuild base:310: python3.11 setup.py config 
> running config
>    dh_auto_build -O--buildsystem=pybuild
> I: pybuild base:310: /usr/bin/python3.12 setup.py build 
> running build
> running build_py
> creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/rosdep2
> copying src/rosdep2/gbpdistro_support.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/rosdep2
> copying src/rosdep2/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/rosdep2
> copying src/rosdep2/installers.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/rosdep2
> copying src/rosdep2/main.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/rosdep2
> copying src/rosdep2/lookup.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/rosdep2
> copying src/rosdep2/_version.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/rosdep2
> copying src/rosdep2/dependency_graph.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/rosdep2
> copying src/rosdep2/catkin_support.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/rosdep2
> copying src/rosdep2/__main__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/rosdep2
> copying src/rosdep2/rospkg_loader.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/rosdep2
> copying src/rosdep2/rosdistrohelper.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/rosdep2
> copying src/rosdep2/cache_tools.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/rosdep2
> copying src/rosdep2/rep3.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/rosdep2
> copying src/rosdep2/loader.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/rosdep2
> copying src/rosdep2/url_utils.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/rosdep2
> copying src/rosdep2/catkin_packages.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/rosdep2
> copying src/rosdep2/sources_list.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/rosdep2
> copying src/rosdep2/install.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/rosdep2
> copying src/rosdep2/core.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/rosdep2
> copying src/rosdep2/model.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/rosdep2
> copying src/rosdep2/rospack.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/rosdep2
> copying src/rosdep2/shell_utils.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/rosdep2
> copying src/rosdep2/meta.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/rosdep2
> creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/rosdep2/ament_packages
> copying src/rosdep2/ament_packages/resources.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/rosdep2/ament_packages
> copying src/rosdep2/ament_packages/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/rosdep2/ament_packages
> copying src/rosdep2/ament_packages/search_paths.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/rosdep2/ament_packages
> copying src/rosdep2/ament_packages/constants.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/rosdep2/ament_packages
> copying src/rosdep2/ament_packages/packages.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/rosdep2/ament_packages
> creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/rosdep2/platforms
> copying src/rosdep2/platforms/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/rosdep2/platforms
> copying src/rosdep2/platforms/source.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/rosdep2/platforms
> copying src/rosdep2/platforms/arch.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/rosdep2/platforms
> copying src/rosdep2/platforms/openembedded.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/rosdep2/platforms
> copying src/rosdep2/platforms/slackware.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/rosdep2/platforms
> copying src/rosdep2/platforms/npm.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/rosdep2/platforms
> copying src/rosdep2/platforms/nix.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/rosdep2/platforms
> copying src/rosdep2/platforms/gem.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/rosdep2/platforms
> copying src/rosdep2/platforms/debian.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/rosdep2/platforms
> copying src/rosdep2/platforms/opensuse.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/rosdep2/platforms
> copying src/rosdep2/platforms/redhat.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/rosdep2/platforms
> copying src/rosdep2/platforms/osx.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/rosdep2/platforms
> copying src/rosdep2/platforms/cygwin.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/rosdep2/platforms
> copying src/rosdep2/platforms/freebsd.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/rosdep2/platforms
> copying src/rosdep2/platforms/alpine.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/rosdep2/platforms
> copying src/rosdep2/platforms/pip.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/rosdep2/platforms
> copying src/rosdep2/platforms/gentoo.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/rosdep2/platforms
> I: pybuild base:310: /usr/bin/python3 setup.py build 
> running build
> running build_py
> creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/rosdep2
> copying src/rosdep2/gbpdistro_support.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/rosdep2
> copying src/rosdep2/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/rosdep2
> copying src/rosdep2/installers.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/rosdep2
> copying src/rosdep2/main.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/rosdep2
> copying src/rosdep2/lookup.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/rosdep2
> copying src/rosdep2/_version.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/rosdep2
> copying src/rosdep2/dependency_graph.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/rosdep2
> copying src/rosdep2/catkin_support.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/rosdep2
> copying src/rosdep2/__main__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/rosdep2
> copying src/rosdep2/rospkg_loader.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/rosdep2
> copying src/rosdep2/rosdistrohelper.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/rosdep2
> copying src/rosdep2/cache_tools.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/rosdep2
> copying src/rosdep2/rep3.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/rosdep2
> copying src/rosdep2/loader.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/rosdep2
> copying src/rosdep2/url_utils.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/rosdep2
> copying src/rosdep2/catkin_packages.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/rosdep2
> copying src/rosdep2/sources_list.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/rosdep2
> copying src/rosdep2/install.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/rosdep2
> copying src/rosdep2/core.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/rosdep2
> copying src/rosdep2/model.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/rosdep2
> copying src/rosdep2/rospack.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/rosdep2
> copying src/rosdep2/shell_utils.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/rosdep2
> copying src/rosdep2/meta.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/rosdep2
> creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/rosdep2/ament_packages
> copying src/rosdep2/ament_packages/resources.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/rosdep2/ament_packages
> copying src/rosdep2/ament_packages/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/rosdep2/ament_packages
> copying src/rosdep2/ament_packages/search_paths.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/rosdep2/ament_packages
> copying src/rosdep2/ament_packages/constants.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/rosdep2/ament_packages
> copying src/rosdep2/ament_packages/packages.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/rosdep2/ament_packages
> creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/rosdep2/platforms
> copying src/rosdep2/platforms/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/rosdep2/platforms
> copying src/rosdep2/platforms/source.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/rosdep2/platforms
> copying src/rosdep2/platforms/arch.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/rosdep2/platforms
> copying src/rosdep2/platforms/openembedded.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/rosdep2/platforms
> copying src/rosdep2/platforms/slackware.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/rosdep2/platforms
> copying src/rosdep2/platforms/npm.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/rosdep2/platforms
> copying src/rosdep2/platforms/nix.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/rosdep2/platforms
> copying src/rosdep2/platforms/gem.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/rosdep2/platforms
> copying src/rosdep2/platforms/debian.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/rosdep2/platforms
> copying src/rosdep2/platforms/opensuse.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/rosdep2/platforms
> copying src/rosdep2/platforms/redhat.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/rosdep2/platforms
> copying src/rosdep2/platforms/osx.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/rosdep2/platforms
> copying src/rosdep2/platforms/cygwin.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/rosdep2/platforms
> copying src/rosdep2/platforms/freebsd.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/rosdep2/platforms
> copying src/rosdep2/platforms/alpine.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/rosdep2/platforms
> copying src/rosdep2/platforms/pip.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/rosdep2/platforms
> copying src/rosdep2/platforms/gentoo.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/rosdep2/platforms
>    dh_auto_test -O--buildsystem=pybuild
> I: pybuild base:310: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build; python3.12 -m pytest "-m not online"
> ============================= test session starts ==============================
> platform linux -- Python 3.12.1, pytest-7.4.3, pluggy-1.3.0
> rootdir: /<<PKGBUILDDIR>>
> configfile: setup.cfg
> collected 139 items / 14 deselected / 125 selected
> 
> test/test_flake8.py F                                                    [  0%]
> test/test_metadata.py ......                                             [  5%]
> test/test_rosdep.py .                                                    [  6%]
> test/test_rosdep_alpine.py ..                                            [  8%]
> test/test_rosdep_arch.py .                                               [  8%]
> test/test_rosdep_catkin_packages.py .                                    [  9%]
> test/test_rosdep_core.py ...                                             [ 12%]
> test/test_rosdep_cygwin.py .                                             [ 12%]
> test/test_rosdep_debian.py ...                                           [ 15%]
> test/test_rosdep_dependency_graph.py .......                             [ 20%]
> test/test_rosdep_freebsd.py ..                                           [ 22%]
> test/test_rosdep_gbpdistro_support.py ...                                [ 24%]
> test/test_rosdep_gem.py ...                                              [ 27%]
> test/test_rosdep_gentoo.py ...                                           [ 29%]
> test/test_rosdep_installers.py ................                          [ 42%]
> test/test_rosdep_issue30.py .                                            [ 43%]
> test/test_rosdep_loader.py .                                             [ 44%]
> test/test_rosdep_lookup.py ..............                                [ 55%]
> test/test_rosdep_main.py ........                                        [ 61%]
> test/test_rosdep_model.py ...                                            [ 64%]
> test/test_rosdep_npm.py ...                                              [ 66%]
> test/test_rosdep_opensuse.py .                                           [ 67%]
> test/test_rosdep_osx.py ..                                               [ 68%]
> test/test_rosdep_pip.py ....                                             [ 72%]
> test/test_rosdep_redhat.py ......                                        [ 76%]
> test/test_rosdep_rospkg_loader.py ...                                    [ 79%]
> test/test_rosdep_shell_utils.py ..                                       [ 80%]
> test/test_rosdep_slackware.py ....                                       [ 84%]
> test/test_rosdep_source.py .........                                     [ 91%]
> test/test_rosdep_sources_list.py ...........                             [100%]
> 
> =================================== FAILURES ===================================
> _________________________________ test_flake8 __________________________________
> 
>     @pytest.mark.flake8
>     @pytest.mark.linter
>     def test_flake8():
>         style_guide = get_style_guide(
>             exclude=['conf.py'],
>             ignore=[
>                 'C402',  # ignore presence of unnecessary generators
>                 'C405',  # ignore presence of unnecessary literals
>                 'C407',  # ignore presence of unnecessary comprehensions
>                 'C408',  # ignore presence of unnecessary tuple/list/dict
>                 'D',  # ignore documentation related warnings
>                 'F401',  # ignore presence of unused imports
>                 'F841',  # ignore presence of unused variables
>                 'I',  # ignore import order related warnings
>                 'N802',  # ignore presence of upper case in function names
>                 'W504',  # ignore line breaks after binary operator (new rule added in 2018)
>             ],
>             max_line_length=200,
>             max_complexity=10,
>             show_source=True,
>         )
>     
>         stdout = sys.stdout
>         sys.stdout = sys.stderr
>         # implicitly calls report_errors()
>         report = style_guide.check_files([
>             os.path.dirname(os.path.dirname(__file__)),
>         ])
>         sys.stdout = stdout
>     
>         if report.total_errors:
>             # output summary with per-category counts
>             print()
>             report._application.formatter.show_statistics(report._stats)
>             print(
>                 'flake8 reported {report.total_errors} errors'
>                 .format(**locals()), file=sys.stderr)
>     
> >       assert not report.total_errors, \
>             'flake8 reported {report.total_errors} errors'.format(**locals())
> E       AssertionError: flake8 reported 22 errors
> E       assert not 22
> E        +  where 22 = <flake8.api.legacy.Report object at 0x7f0bc775bfe0>.total_errors
> 
> test/test_flake8.py:62: AssertionError
> ----------------------------- Captured stdout call -----------------------------
> 
> 3     E231 missing whitespace after ','
> 19    E721 do not compare types, for exact checks use `is` / `is not`, for instance checks use `isinstance()`
> ----------------------------- Captured stderr call -----------------------------
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/rosdep2/catkin_packages.py:36:8: E721 do not compare types, for exact checks use `is` / `is not`, for instance checks use `isinstance()`
>     if type(packages) == dict and packages != {}:
>        ^
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/rosdep2/gbpdistro_support.py:77:16: E721 do not compare types, for exact checks use `is` / `is not`, for instance checks use `isinstance()`
>         if not type(targets_data) == dict:
>                ^
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/rosdep2/gbpdistro_support.py:79:16: E721 do not compare types, for exact checks use `is` / `is not`, for instance checks use `isinstance()`
>         if not type(gbpdistro_data) == dict:
>                ^
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/rosdep2/gbpdistro_support.py:97:12: E721 do not compare types, for exact checks use `is` / `is not`, for instance checks use `isinstance()`
>         if type(gbp_repos) != dict:
>            ^
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/rosdep2/gbpdistro_support.py:101:16: E721 do not compare types, for exact checks use `is` / `is not`, for instance checks use `isinstance()`
>             if type(repo) != dict:
>                ^
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/rosdep2/installers.py:344:12: E721 do not compare types, for exact checks use `is` / `is not`, for instance checks use `isinstance()`
>         if type(rosdep_args) == dict:
>            ^
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/rosdep2/installers.py:350:14: E721 do not compare types, for exact checks use `is` / `is not`, for instance checks use `isinstance()`
>         elif type(rosdep_args) == list:
>              ^
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/rosdep2/installers.py:402:38: E721 do not compare types, for exact checks use `is` / `is not`, for instance checks use `isinstance()`
>         if self.supports_depends and type(rosdep_args) == dict:
>                                      ^
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/rosdep2/lookup.py:105:12: E721 do not compare types, for exact checks use `is` / `is not`, for instance checks use `isinstance()`
>         if type(data) != dict:
>            ^
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/rosdep2/lookup.py:110:18: E721 do not compare types, for exact checks use `is` / `is not`, for instance checks use `isinstance()`
>             elif type(data['*']) != dict:
>                  ^
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/rosdep2/lookup.py:119:12: E721 do not compare types, for exact checks use `is` / `is not`, for instance checks use `isinstance()`
>         if type(data) == dict:
>            ^
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/rosdep2/lookup.py:127:20: E721 do not compare types, for exact checks use `is` / `is not`, for instance checks use `isinstance()`
>                 if type(data) == dict:
>                    ^
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/rosdep2/lookup.py:146:24: E721 do not compare types, for exact checks use `is` / `is not`, for instance checks use `isinstance()`
>                     if type(data) == dict:
>                        ^
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/rosdep2/main.py:68:69: E231 missing whitespace after ','
> from .sources_list import update_sources_list, get_sources_cache_dir,\
>     download_default_sources_list, SourcesListLoader, CACHE_INDEX,\
>     get_sources_list_dir, get_default_sources_list_file,\
>     DEFAULT_SOURCES_LIST_URL
>                                                                     ^
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/rosdep2/main.py:69:66: E231 missing whitespace after ','
> from .sources_list import update_sources_list, get_sources_cache_dir,\
>     download_default_sources_list, SourcesListLoader, CACHE_INDEX,\
>     get_sources_list_dir, get_default_sources_list_file,\
>     DEFAULT_SOURCES_LIST_URL
>                                                                  ^
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/rosdep2/main.py:70:56: E231 missing whitespace after ','
> from .sources_list import update_sources_list, get_sources_cache_dir,\
>     download_default_sources_list, SourcesListLoader, CACHE_INDEX,\
>     get_sources_list_dir, get_default_sources_list_file,\
>     DEFAULT_SOURCES_LIST_URL
>                                                        ^
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/rosdep2/platforms/osx.py:326:16: E721 do not compare types, for exact checks use `is` / `is not`, for instance checks use `isinstance()`
>             if type(rosdep_args) == dict:
>                ^
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/rosdep2/rep3.py:65:8: E721 do not compare types, for exact checks use `is` / `is not`, for instance checks use `isinstance()`
>     if type(targets_data) == list:
>        ^
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/rosdep2/sources_list.py:147:16: E721 do not compare types, for exact checks use `is` / `is not`, for instance checks use `isinstance()`
>         if not type(tags) == list:
>                ^
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/rosdep2/sources_list.py:307:12: E721 do not compare types, for exact checks use `is` / `is not`, for instance checks use `isinstance()`
>         if type(data) != dict:
>            ^
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/test/test_rosdep_source.py:215:12: E721 do not compare types, for exact checks use `is` / `is not`, for instance checks use `isinstance()`
>     assert type(resolved) == list
>            ^
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/test/test_rosdep_source.py:227:12: E721 do not compare types, for exact checks use `is` / `is not`, for instance checks use `isinstance()`
>     assert type(resolved) == list, 'Cache should also return a list'
>            ^
> flake8 reported 22 errors
> =============================== warnings summary ===============================
> rosdep2/platforms/pip.py:33
>   /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/rosdep2/platforms/pip.py:33: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
>     import pkg_resources
> 
> .pybuild/cpython3_3.12/build/test/test_rosdep_issue30.py::Issue30TestCase::testIssue30
>   /usr/lib/python3.12/unittest/case.py:692: DeprecationWarning: It is deprecated to return a value that is not None from a test case (<bound method Issue30TestCase.testIssue30 of <test.test_rosdep_issue30.Issue30TestCase testMethod=testIssue30>>)
>     return self.run(*args, **kwds)
> 
> -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
> =========================== short test summary info ============================
> FAILED test/test_flake8.py::test_flake8 - AssertionError: flake8 reported 22 ...
> =========== 1 failed, 124 passed, 14 deselected, 2 warnings in 6.63s ===========
> E: pybuild pybuild:395: test: plugin distutils failed with: exit code=1: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build; python3.12 -m pytest "-m not online"
> I: pybuild base:310: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build; python3.11 -m pytest "-m not online"
> ============================= test session starts ==============================
> platform linux -- Python 3.11.7, pytest-7.4.3, pluggy-1.3.0
> rootdir: /<<PKGBUILDDIR>>
> configfile: setup.cfg
> collected 139 items / 14 deselected / 125 selected
> 
> test/test_flake8.py F                                                    [  0%]
> test/test_metadata.py ......                                             [  5%]
> test/test_rosdep.py .                                                    [  6%]
> test/test_rosdep_alpine.py ..                                            [  8%]
> test/test_rosdep_arch.py .                                               [  8%]
> test/test_rosdep_catkin_packages.py .                                    [  9%]
> test/test_rosdep_core.py ...                                             [ 12%]
> test/test_rosdep_cygwin.py .                                             [ 12%]
> test/test_rosdep_debian.py ...                                           [ 15%]
> test/test_rosdep_dependency_graph.py .......                             [ 20%]
> test/test_rosdep_freebsd.py ..                                           [ 22%]
> test/test_rosdep_gbpdistro_support.py ...                                [ 24%]
> test/test_rosdep_gem.py ...                                              [ 27%]
> test/test_rosdep_gentoo.py ...                                           [ 29%]
> test/test_rosdep_installers.py ................                          [ 42%]
> test/test_rosdep_issue30.py .                                            [ 43%]
> test/test_rosdep_loader.py .                                             [ 44%]
> test/test_rosdep_lookup.py ..............                                [ 55%]
> test/test_rosdep_main.py ........                                        [ 61%]
> test/test_rosdep_model.py ...                                            [ 64%]
> test/test_rosdep_npm.py ...                                              [ 66%]
> test/test_rosdep_opensuse.py .                                           [ 67%]
> test/test_rosdep_osx.py ..                                               [ 68%]
> test/test_rosdep_pip.py ....                                             [ 72%]
> test/test_rosdep_redhat.py ......                                        [ 76%]
> test/test_rosdep_rospkg_loader.py ...                                    [ 79%]
> test/test_rosdep_shell_utils.py ..                                       [ 80%]
> test/test_rosdep_slackware.py ....                                       [ 84%]
> test/test_rosdep_source.py .........                                     [ 91%]
> test/test_rosdep_sources_list.py ...........                             [100%]
> 
> =================================== FAILURES ===================================
> _________________________________ test_flake8 __________________________________
> 
>     @pytest.mark.flake8
>     @pytest.mark.linter
>     def test_flake8():
>         style_guide = get_style_guide(
>             exclude=['conf.py'],
>             ignore=[
>                 'C402',  # ignore presence of unnecessary generators
>                 'C405',  # ignore presence of unnecessary literals
>                 'C407',  # ignore presence of unnecessary comprehensions
>                 'C408',  # ignore presence of unnecessary tuple/list/dict
>                 'D',  # ignore documentation related warnings
>                 'F401',  # ignore presence of unused imports
>                 'F841',  # ignore presence of unused variables
>                 'I',  # ignore import order related warnings
>                 'N802',  # ignore presence of upper case in function names
>                 'W504',  # ignore line breaks after binary operator (new rule added in 2018)
>             ],
>             max_line_length=200,
>             max_complexity=10,
>             show_source=True,
>         )
>     
>         stdout = sys.stdout
>         sys.stdout = sys.stderr
>         # implicitly calls report_errors()
>         report = style_guide.check_files([
>             os.path.dirname(os.path.dirname(__file__)),
>         ])
>         sys.stdout = stdout
>     
>         if report.total_errors:
>             # output summary with per-category counts
>             print()
>             report._application.formatter.show_statistics(report._stats)
>             print(
>                 'flake8 reported {report.total_errors} errors'
>                 .format(**locals()), file=sys.stderr)
>     
> >       assert not report.total_errors, \
>             'flake8 reported {report.total_errors} errors'.format(**locals())
> E       AssertionError: flake8 reported 22 errors
> E       assert not 22
> E        +  where 22 = <flake8.api.legacy.Report object at 0x7fe6168e9f90>.total_errors
> 
> test/test_flake8.py:62: AssertionError
> ----------------------------- Captured stdout call -----------------------------
> 
> 3     E231 missing whitespace after ','
> 19    E721 do not compare types, for exact checks use `is` / `is not`, for instance checks use `isinstance()`
> ----------------------------- Captured stderr call -----------------------------
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/rosdep2/catkin_packages.py:36:8: E721 do not compare types, for exact checks use `is` / `is not`, for instance checks use `isinstance()`
>     if type(packages) == dict and packages != {}:
>        ^
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/rosdep2/gbpdistro_support.py:77:16: E721 do not compare types, for exact checks use `is` / `is not`, for instance checks use `isinstance()`
>         if not type(targets_data) == dict:
>                ^
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/rosdep2/gbpdistro_support.py:79:16: E721 do not compare types, for exact checks use `is` / `is not`, for instance checks use `isinstance()`
>         if not type(gbpdistro_data) == dict:
>                ^
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/rosdep2/gbpdistro_support.py:97:12: E721 do not compare types, for exact checks use `is` / `is not`, for instance checks use `isinstance()`
>         if type(gbp_repos) != dict:
>            ^
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/rosdep2/gbpdistro_support.py:101:16: E721 do not compare types, for exact checks use `is` / `is not`, for instance checks use `isinstance()`
>             if type(repo) != dict:
>                ^
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/rosdep2/installers.py:344:12: E721 do not compare types, for exact checks use `is` / `is not`, for instance checks use `isinstance()`
>         if type(rosdep_args) == dict:
>            ^
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/rosdep2/installers.py:350:14: E721 do not compare types, for exact checks use `is` / `is not`, for instance checks use `isinstance()`
>         elif type(rosdep_args) == list:
>              ^
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/rosdep2/installers.py:402:38: E721 do not compare types, for exact checks use `is` / `is not`, for instance checks use `isinstance()`
>         if self.supports_depends and type(rosdep_args) == dict:
>                                      ^
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/rosdep2/lookup.py:105:12: E721 do not compare types, for exact checks use `is` / `is not`, for instance checks use `isinstance()`
>         if type(data) != dict:
>            ^
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/rosdep2/lookup.py:110:18: E721 do not compare types, for exact checks use `is` / `is not`, for instance checks use `isinstance()`
>             elif type(data['*']) != dict:
>                  ^
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/rosdep2/lookup.py:119:12: E721 do not compare types, for exact checks use `is` / `is not`, for instance checks use `isinstance()`
>         if type(data) == dict:
>            ^
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/rosdep2/lookup.py:127:20: E721 do not compare types, for exact checks use `is` / `is not`, for instance checks use `isinstance()`
>                 if type(data) == dict:
>                    ^
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/rosdep2/lookup.py:146:24: E721 do not compare types, for exact checks use `is` / `is not`, for instance checks use `isinstance()`
>                     if type(data) == dict:
>                        ^
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/rosdep2/main.py:68:69: E231 missing whitespace after ','
> from .sources_list import update_sources_list, get_sources_cache_dir,\
>     download_default_sources_list, SourcesListLoader, CACHE_INDEX,\
>     get_sources_list_dir, get_default_sources_list_file,\
>     DEFAULT_SOURCES_LIST_URL
>                                                                     ^
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/rosdep2/main.py:69:66: E231 missing whitespace after ','
> from .sources_list import update_sources_list, get_sources_cache_dir,\
>     download_default_sources_list, SourcesListLoader, CACHE_INDEX,\
>     get_sources_list_dir, get_default_sources_list_file,\
>     DEFAULT_SOURCES_LIST_URL
>                                                                  ^
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/rosdep2/main.py:70:56: E231 missing whitespace after ','
> from .sources_list import update_sources_list, get_sources_cache_dir,\
>     download_default_sources_list, SourcesListLoader, CACHE_INDEX,\
>     get_sources_list_dir, get_default_sources_list_file,\
>     DEFAULT_SOURCES_LIST_URL
>                                                        ^
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/rosdep2/platforms/osx.py:326:16: E721 do not compare types, for exact checks use `is` / `is not`, for instance checks use `isinstance()`
>             if type(rosdep_args) == dict:
>                ^
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/rosdep2/rep3.py:65:8: E721 do not compare types, for exact checks use `is` / `is not`, for instance checks use `isinstance()`
>     if type(targets_data) == list:
>        ^
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/rosdep2/sources_list.py:147:16: E721 do not compare types, for exact checks use `is` / `is not`, for instance checks use `isinstance()`
>         if not type(tags) == list:
>                ^
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/rosdep2/sources_list.py:307:12: E721 do not compare types, for exact checks use `is` / `is not`, for instance checks use `isinstance()`
>         if type(data) != dict:
>            ^
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/test/test_rosdep_source.py:215:12: E721 do not compare types, for exact checks use `is` / `is not`, for instance checks use `isinstance()`
>     assert type(resolved) == list
>            ^
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/test/test_rosdep_source.py:227:12: E721 do not compare types, for exact checks use `is` / `is not`, for instance checks use `isinstance()`
>     assert type(resolved) == list, 'Cache should also return a list'
>            ^
> flake8 reported 22 errors
> =============================== warnings summary ===============================
> rosdep2/platforms/pip.py:33
>   /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/rosdep2/platforms/pip.py:33: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
>     import pkg_resources
> 
> .pybuild/cpython3_3.11/build/test/test_rosdep_issue30.py::Issue30TestCase::testIssue30
>   /usr/lib/python3.11/unittest/case.py:678: DeprecationWarning: It is deprecated to return a value that is not None from a test case (<bound method Issue30TestCase.testIssue30 of <test.test_rosdep_issue30.Issue30TestCase testMethod=testIssue30>>)
>     return self.run(*args, **kwds)
> 
> -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
> =========================== short test summary info ============================
> FAILED test/test_flake8.py::test_flake8 - AssertionError: flake8 reported 22 ...
> =========== 1 failed, 124 passed, 14 deselected, 2 warnings in 6.50s ===========
> E: pybuild pybuild:395: test: plugin distutils failed with: exit code=1: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build; python3.11 -m pytest "-m not online"
> 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/2023/12/12/ros-rosdep_0.22.2-2_unstable.log

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



More information about the debian-science-maintainers mailing list