Source: python-phx-class-registry
Version: 3.0.5-4
Severity: serious
Justification: FTBFS
Tags: trixie sid ftbfs
User: [email protected]
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;[email protected]
or:
https://udd.debian.org/bugs/?release=na&merged=ign&fnewerval=7&flastmodval=7&fusertag=only&fusertagtag=ftbfs-20230925&[email protected]&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.