Source: python-phx-class-registry
Version: 3.0.5-4
Severity: serious
Justification: FTBFS
Tags: trixie sid ftbfs
User: lu...@debian.org
Usertags: ftbfs-20230925 ftbfs-trixie

Hi,

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


Relevant part (hopefully):
> make[1]: Entering directory '/<<PKGBUILDDIR>>'
> dh_auto_build
> I: pybuild base:291: /usr/bin/python3 setup.py build 
> running build
> running build_py
> creating 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_phx-class-registry/build/class_registry
> copying class_registry/cache.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_phx-class-registry/build/class_registry
> copying class_registry/entry_points.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_phx-class-registry/build/class_registry
> copying class_registry/__init__.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_phx-class-registry/build/class_registry
> copying class_registry/auto_register.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_phx-class-registry/build/class_registry
> copying class_registry/patcher.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_phx-class-registry/build/class_registry
> copying class_registry/registry.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_phx-class-registry/build/class_registry
> PYTHONPATH=. http_proxy='127.0.0.1:9' python3 -m sphinx -N -bhtml docs 
> build/html
> Running Sphinx v5.3.0
> WARNING: Invalid configuration value found: 'language = None'. Update your 
> configuration to a valid language code. Falling back to 'en' (English).
> making output directory... done
> WARNING: html_static_path entry '_static' does not exist
> building [mo]: targets for 0 po files that are out of date
> building [html]: targets for 6 source files that are out of date
> updating environment: [new config] 6 added, 0 changed, 0 removed
> reading sources... [ 16%] advanced_topics
> reading sources... [ 33%] entry_points
> reading sources... [ 50%] factories_vs_registries
> reading sources... [ 66%] getting_started
> reading sources... [ 83%] index
> reading sources... [100%] iterating_over_registries
> 
> looking for now-outdated files... none found
> pickling environment... done
> checking consistency... done
> preparing documents... done
> writing output... [ 16%] advanced_topics
> writing output... [ 33%] entry_points
> writing output... [ 50%] factories_vs_registries
> writing output... [ 66%] getting_started
> writing output... [ 83%] index
> writing output... [100%] iterating_over_registries
> 
> generating indices... genindex done
> writing additional pages... search done
> copying static files... done
> copying extra files... done
> dumping search index in English (code: en)... done
> dumping object inventory... done
> build succeeded, 2 warnings.
> 
> The HTML pages are in build/html.
> make[1]: Leaving directory '/<<PKGBUILDDIR>>'
>    dh_auto_test -O--buildsystem=pybuild
> I: pybuild base:291: cd 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_phx-class-registry/build; python3.11 
> -m pytest test
> ============================= test session starts 
> ==============================
> platform linux -- Python 3.11.5, pytest-7.4.2, pluggy-1.3.0
> rootdir: /<<PKGBUILDDIR>>
> collected 24 items
> 
> test/auto_register_test.py ...                                           [ 
> 12%]
> test/cache_test.py ...                                                   [ 
> 25%]
> test/entry_points_test.py F.FF                                           [ 
> 41%]
> test/patcher_test.py ..                                                  [ 
> 50%]
> test/registry_test.py ............                                       
> [100%]
> 
> =================================== FAILURES 
> ===================================
> ________________ EntryPointClassRegistryTestCase.test_branding 
> _________________
> 
> self = <test.entry_points_test.EntryPointClassRegistryTestCase 
> testMethod=test_branding>
> 
>     def test_branding(self):
>         """
>         Configuring the registry to "brand" each class/instance with its
>         corresponding key.
>         """
>         registry = EntryPointClassRegistry('pokemon', attr_name='poke_type')
>         try:
>             # Branding is applied immediately to each registered class.
> >           self.assertEqual(getattr(Charmander, 'poke_type'), 'fire')
> E           AttributeError: type object 'Charmander' has no attribute 
> 'poke_type'
> 
> test/entry_points_test.py:57: AttributeError
> _______________ EntryPointClassRegistryTestCase.test_happy_path 
> ________________
> 
> self = EntryPointClassRegistry(group='pokemon'), key = 'fire'
> 
>     def get_class(self, key):
>         try:
> >           cls = self._get_cache()[key]
> E           KeyError: 'fire'
> 
> class_registry/entry_points.py:74: KeyError
> 
> During handling of the above exception, another exception occurred:
> 
> self = <test.entry_points_test.EntryPointClassRegistryTestCase 
> testMethod=test_happy_path>
> 
>     def test_happy_path(self):
>         """
>         Loading classes automatically via entry points.
>     
>         See ``dummy_package.egg-info/entry_points.txt`` for more info.
>         """
>         registry = EntryPointClassRegistry('pokemon')
>     
> >       fire = registry['fire']
> 
> test/entry_points_test.py:31: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> class_registry/registry.py:52: in __getitem__
>     return self.get(key)
> class_registry/entry_points.py:62: in get
>     super(EntryPointClassRegistry, self).get(key, *args, **kwargs)
> class_registry/registry.py:106: in get
>     return self.create_instance(self.get_class(key), *args, **kwargs)
> class_registry/entry_points.py:76: in get_class
>     cls = self.__missing__(key)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> self = EntryPointClassRegistry(group='pokemon'), key = 'fire'
> 
>     def __missing__(self, key):
>         """
>         Returns the result (or raises an exception) when the requested
>         key can't be found in the registry.
>         """
> >       raise RegistryKeyError(key)
> E       class_registry.registry.RegistryKeyError: 'fire'
> 
> class_registry/registry.py:75: RegistryKeyError
> ___________________ EntryPointClassRegistryTestCase.test_len 
> ___________________
> 
> self = <test.entry_points_test.EntryPointClassRegistryTestCase 
> testMethod=test_len>
> 
>     def test_len(self):
>         """
>         Getting the length of an entry point class registry.
>         """
>         # Just in case some other package defines pokémon entry
>         # points (:
>         expected = len(list(iter_entry_points('pokemon')))
>     
>         # Quick sanity check, to make sure our test pokémon are
>         # registered correctly.
> >       self.assertGreaterEqual(expected, 4)
> E       AssertionError: 0 not greater than or equal to 4
> 
> test/entry_points_test.py:92: AssertionError
> =============================== warnings summary 
> ===============================
> class_registry/entry_points.py:3
>   
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_phx-class-registry/build/class_registry/entry_points.py:3:
>  DeprecationWarning: pkg_resources is deprecated as an API. See 
> https://setuptools.pypa.io/en/latest/pkg_resources.html
>     from pkg_resources import iter_entry_points
> 
> -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
> =========================== short test summary info 
> ============================
> FAILED 
> test/entry_points_test.py::EntryPointClassRegistryTestCase::test_branding
> FAILED 
> test/entry_points_test.py::EntryPointClassRegistryTestCase::test_happy_path
> FAILED test/entry_points_test.py::EntryPointClassRegistryTestCase::test_len
> =================== 3 failed, 21 passed, 1 warning in 0.16s 
> ====================
> E: pybuild pybuild:395: test: plugin distutils failed with: exit code=1: cd 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_phx-class-registry/build; python3.11 
> -m pytest test
> dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p 3.11 
> returned exit code 13


The full build log is available from:
http://qa-logs.debian.net/2023/09/25/python-phx-class-registry_3.0.5-4_unstable.log

All bugs filed during this archive rebuild are listed at:
https://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=ftbfs-20230925;users=lu...@debian.org
or:
https://udd.debian.org/bugs/?release=na&merged=ign&fnewerval=7&flastmodval=7&fusertag=only&fusertagtag=ftbfs-20230925&fusertaguser=lu...@debian.org&allbugs=1&cseverity=1&ctags=1&caffected=1#results

A list of current common problems and possible solutions is available at
http://wiki.debian.org/qa.debian.org/FTBFS . You're welcome to contribute!

If you reassign this bug to another package, please mark it as 'affects'-ing
this package. See https://www.debian.org/Bugs/server-control#affects

If you fail to reproduce this, please provide a build log and diff it with mine
so that we can identify if something relevant changed in the meantime.

Reply via email to