Source: python-plaster Version: 1.0-3 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[2]: Entering directory '/<<PKGBUILDDIR>>/docs' > sphinx-build -b html -d _build/doctrees . _build/html > Running Sphinx v5.3.0 > making output directory... done > building [mo]: targets for 0 po files that are out of date > building [html]: targets for 5 source files that are out of date > updating environment: [new config] 5 added, 0 changed, 0 removed > reading sources... [ 20%] api > reading sources... [ 40%] changes > reading sources... [ 60%] contributing > reading sources... [ 80%] glossary > reading sources... [100%] index > > looking for now-outdated files... none found > pickling environment... done > checking consistency... done > preparing documents... done > writing output... [ 20%] api > writing output... [ 40%] changes > writing output... [ 60%] contributing > writing output... [ 80%] glossary > writing output... [100%] index > > generating indices... genindex py-modindex done > highlighting module code... [ 20%] plaster.exceptions > highlighting module code... [ 40%] plaster.interfaces > highlighting module code... [ 60%] plaster.loaders > highlighting module code... [ 80%] plaster.protocols > highlighting module code... [100%] plaster.uri > > 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. > > The HTML pages are in _build/html. > > Build finished. The HTML pages are in _build/html. > make[2]: Leaving directory '/<<PKGBUILDDIR>>/docs' > make[1]: Leaving directory '/<<PKGBUILDDIR>>' > dh_auto_test -O--buildsystem=pybuild > I: pybuild base:291: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build; > python3.11 -m pytest tests > ============================= test session starts > ============================== > platform linux -- Python 3.11.5, pytest-7.4.2, pluggy-1.3.0 > rootdir: /<<PKGBUILDDIR>> > configfile: setup.cfg > collected 57 items > > tests/test_exceptions.py .......... [ > 17%] > tests/test_loaders.py FFFFFFFF.F..FFFFFFF..F.FFFFF.FF. [ > 73%] > tests/test_protocols.py . [ > 75%] > tests/test_uri.py .............. > [100%] > > =================================== FAILURES > =================================== > _______________________ Test_get_loader.test_simple_uri > ________________________ > > self = <tests.test_loaders.Test_get_loader object at 0x7fd5b969bd10> > > def test_simple_uri(self): > > loader = self._callFUT('development.conf') > > tests/test_loaders.py:10: > _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > _ > tests/test_loaders.py:7: in _callFUT > return get_loader(*args, **kwargs) > _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > _ > > config_uri = PlasterURL('file+conf://development.conf'), protocols = None > > def get_loader(config_uri, protocols=None): > """ > Find a :class:`plaster.ILoader` object capable of handling > ``config_uri``. > > :param config_uri: Anything that can be parsed by > :func:`plaster.parse_uri`. > > :param protocols: Zero or more :term:`loader protocol` identifiers > that > the loader must implement to match the desired ``config_uri``. > > :returns: A :class:`plaster.ILoader` object. > :raises plaster.LoaderNotFound: If no loader could be found. > :raises plaster.MultipleLoadersFound: If multiple loaders match the > requested criteria. If this happens, you can disambiguate the > lookup > by appending the package name to the scheme for the loader you > wish > to use. For example if ``ini`` is ambiguous then specify > ``ini+myapp`` to use the ini loader from the ``myapp`` package. > > """ > config_uri = parse_uri(config_uri) > requested_scheme = config_uri.scheme > > matched_loaders = find_loaders(requested_scheme, protocols=protocols) > > if len(matched_loaders) < 1: > > raise LoaderNotFound(requested_scheme, protocols=protocols) > E plaster.exceptions.LoaderNotFound: Could not find a matching > loader for the scheme "file+conf". > > plaster/loaders.py:109: LoaderNotFound > _______________________ Test_get_loader.test_scheme_uri > ________________________ > > self = <tests.test_loaders.Test_get_loader object at 0x7fd5b969b8d0> > > def test_scheme_uri(self): > > loader = self._callFUT('conf://development.conf') > > tests/test_loaders.py:14: > _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > _ > tests/test_loaders.py:7: in _callFUT > return get_loader(*args, **kwargs) > _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > _ > > config_uri = PlasterURL('conf://development.conf'), protocols = None > > def get_loader(config_uri, protocols=None): > """ > Find a :class:`plaster.ILoader` object capable of handling > ``config_uri``. > > :param config_uri: Anything that can be parsed by > :func:`plaster.parse_uri`. > > :param protocols: Zero or more :term:`loader protocol` identifiers > that > the loader must implement to match the desired ``config_uri``. > > :returns: A :class:`plaster.ILoader` object. > :raises plaster.LoaderNotFound: If no loader could be found. > :raises plaster.MultipleLoadersFound: If multiple loaders match the > requested criteria. If this happens, you can disambiguate the > lookup > by appending the package name to the scheme for the loader you > wish > to use. For example if ``ini`` is ambiguous then specify > ``ini+myapp`` to use the ini loader from the ``myapp`` package. > > """ > config_uri = parse_uri(config_uri) > requested_scheme = config_uri.scheme > > matched_loaders = find_loaders(requested_scheme, protocols=protocols) > > if len(matched_loaders) < 1: > > raise LoaderNotFound(requested_scheme, protocols=protocols) > E plaster.exceptions.LoaderNotFound: Could not find a matching > loader for the scheme "conf". > > plaster/loaders.py:109: LoaderNotFound > ___________________ Test_get_loader.test_scheme_uri_for_pkg > ____________________ > > self = <tests.test_loaders.Test_get_loader object at 0x7fd5b969a4d0> > > def test_scheme_uri_for_pkg(self): > > loader = self._callFUT('app1+conf://') > > tests/test_loaders.py:18: > _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > _ > tests/test_loaders.py:7: in _callFUT > return get_loader(*args, **kwargs) > _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > _ > > config_uri = PlasterURL('app1+conf://'), protocols = None > > def get_loader(config_uri, protocols=None): > """ > Find a :class:`plaster.ILoader` object capable of handling > ``config_uri``. > > :param config_uri: Anything that can be parsed by > :func:`plaster.parse_uri`. > > :param protocols: Zero or more :term:`loader protocol` identifiers > that > the loader must implement to match the desired ``config_uri``. > > :returns: A :class:`plaster.ILoader` object. > :raises plaster.LoaderNotFound: If no loader could be found. > :raises plaster.MultipleLoadersFound: If multiple loaders match the > requested criteria. If this happens, you can disambiguate the > lookup > by appending the package name to the scheme for the loader you > wish > to use. For example if ``ini`` is ambiguous then specify > ``ini+myapp`` to use the ini loader from the ``myapp`` package. > > """ > config_uri = parse_uri(config_uri) > requested_scheme = config_uri.scheme > > matched_loaders = find_loaders(requested_scheme, protocols=protocols) > > if len(matched_loaders) < 1: > > raise LoaderNotFound(requested_scheme, protocols=protocols) > E plaster.exceptions.LoaderNotFound: Could not find a matching > loader for the scheme "app1+conf". > > plaster/loaders.py:109: LoaderNotFound > ___________________ Test_get_loader.test_path_with_extension > ___________________ > > self = <tests.test_loaders.Test_get_loader object at 0x7fd5b9699fd0> > > def test_path_with_extension(self): > > loader = self._callFUT('development.ini') > > tests/test_loaders.py:22: > _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > _ > tests/test_loaders.py:7: in _callFUT > return get_loader(*args, **kwargs) > _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > _ > > config_uri = PlasterURL('file+ini://development.ini'), protocols = None > > def get_loader(config_uri, protocols=None): > """ > Find a :class:`plaster.ILoader` object capable of handling > ``config_uri``. > > :param config_uri: Anything that can be parsed by > :func:`plaster.parse_uri`. > > :param protocols: Zero or more :term:`loader protocol` identifiers > that > the loader must implement to match the desired ``config_uri``. > > :returns: A :class:`plaster.ILoader` object. > :raises plaster.LoaderNotFound: If no loader could be found. > :raises plaster.MultipleLoadersFound: If multiple loaders match the > requested criteria. If this happens, you can disambiguate the > lookup > by appending the package name to the scheme for the loader you > wish > to use. For example if ``ini`` is ambiguous then specify > ``ini+myapp`` to use the ini loader from the ``myapp`` package. > > """ > config_uri = parse_uri(config_uri) > requested_scheme = config_uri.scheme > > matched_loaders = find_loaders(requested_scheme, protocols=protocols) > > if len(matched_loaders) < 1: > > raise LoaderNotFound(requested_scheme, protocols=protocols) > E plaster.exceptions.LoaderNotFound: Could not find a matching > loader for the scheme "file+ini". > > plaster/loaders.py:109: LoaderNotFound > ____________ Test_get_loader.test_path_with_extension_and_protocol > _____________ > > self = <tests.test_loaders.Test_get_loader object at 0x7fd5b9699890> > > def test_path_with_extension_and_protocol(self): > > loader = self._callFUT('development.ini', protocols=['wsgi']) > > tests/test_loaders.py:26: > _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > _ > tests/test_loaders.py:7: in _callFUT > return get_loader(*args, **kwargs) > _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > _ > > config_uri = PlasterURL('file+ini://development.ini'), protocols = ['wsgi'] > > def get_loader(config_uri, protocols=None): > """ > Find a :class:`plaster.ILoader` object capable of handling > ``config_uri``. > > :param config_uri: Anything that can be parsed by > :func:`plaster.parse_uri`. > > :param protocols: Zero or more :term:`loader protocol` identifiers > that > the loader must implement to match the desired ``config_uri``. > > :returns: A :class:`plaster.ILoader` object. > :raises plaster.LoaderNotFound: If no loader could be found. > :raises plaster.MultipleLoadersFound: If multiple loaders match the > requested criteria. If this happens, you can disambiguate the > lookup > by appending the package name to the scheme for the loader you > wish > to use. For example if ``ini`` is ambiguous then specify > ``ini+myapp`` to use the ini loader from the ``myapp`` package. > > """ > config_uri = parse_uri(config_uri) > requested_scheme = config_uri.scheme > > matched_loaders = find_loaders(requested_scheme, protocols=protocols) > > if len(matched_loaders) < 1: > > raise LoaderNotFound(requested_scheme, protocols=protocols) > E plaster.exceptions.LoaderNotFound: Could not find a matching > loader for the scheme "file+ini", protocol "wsgi". > > plaster/loaders.py:109: LoaderNotFound > ___________________________ Test_get_loader.test_dup > ___________________________ > > self = <tests.test_loaders.Test_get_loader object at 0x7fd5b969b2d0> > > def test_dup(self): > from plaster.exceptions import MultipleLoadersFound > with pytest.raises(MultipleLoadersFound): > > self._callFUT('dup://development.ini') > > tests/test_loaders.py:32: > _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > _ > tests/test_loaders.py:7: in _callFUT > return get_loader(*args, **kwargs) > _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > _ > > config_uri = PlasterURL('dup://development.ini'), protocols = None > > def get_loader(config_uri, protocols=None): > """ > Find a :class:`plaster.ILoader` object capable of handling > ``config_uri``. > > :param config_uri: Anything that can be parsed by > :func:`plaster.parse_uri`. > > :param protocols: Zero or more :term:`loader protocol` identifiers > that > the loader must implement to match the desired ``config_uri``. > > :returns: A :class:`plaster.ILoader` object. > :raises plaster.LoaderNotFound: If no loader could be found. > :raises plaster.MultipleLoadersFound: If multiple loaders match the > requested criteria. If this happens, you can disambiguate the > lookup > by appending the package name to the scheme for the loader you > wish > to use. For example if ``ini`` is ambiguous then specify > ``ini+myapp`` to use the ini loader from the ``myapp`` package. > > """ > config_uri = parse_uri(config_uri) > requested_scheme = config_uri.scheme > > matched_loaders = find_loaders(requested_scheme, protocols=protocols) > > if len(matched_loaders) < 1: > > raise LoaderNotFound(requested_scheme, protocols=protocols) > E plaster.exceptions.LoaderNotFound: Could not find a matching > loader for the scheme "dup". > > plaster/loaders.py:109: LoaderNotFound > _______________________ Test_get_loader.test_dedup_app1 > ________________________ > > self = <tests.test_loaders.Test_get_loader object at 0x7fd5b969b090> > > def test_dedup_app1(self): > > loader = self._callFUT('app1+dup://development.ini') > > tests/test_loaders.py:35: > _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > _ > tests/test_loaders.py:7: in _callFUT > return get_loader(*args, **kwargs) > _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > _ > > config_uri = PlasterURL('app1+dup://development.ini'), protocols = None > > def get_loader(config_uri, protocols=None): > """ > Find a :class:`plaster.ILoader` object capable of handling > ``config_uri``. > > :param config_uri: Anything that can be parsed by > :func:`plaster.parse_uri`. > > :param protocols: Zero or more :term:`loader protocol` identifiers > that > the loader must implement to match the desired ``config_uri``. > > :returns: A :class:`plaster.ILoader` object. > :raises plaster.LoaderNotFound: If no loader could be found. > :raises plaster.MultipleLoadersFound: If multiple loaders match the > requested criteria. If this happens, you can disambiguate the > lookup > by appending the package name to the scheme for the loader you > wish > to use. For example if ``ini`` is ambiguous then specify > ``ini+myapp`` to use the ini loader from the ``myapp`` package. > > """ > config_uri = parse_uri(config_uri) > requested_scheme = config_uri.scheme > > matched_loaders = find_loaders(requested_scheme, protocols=protocols) > > if len(matched_loaders) < 1: > > raise LoaderNotFound(requested_scheme, protocols=protocols) > E plaster.exceptions.LoaderNotFound: Could not find a matching > loader for the scheme "app1+dup". > > plaster/loaders.py:109: LoaderNotFound > _______________________ Test_get_loader.test_dedup_app2 > ________________________ > > self = <tests.test_loaders.Test_get_loader object at 0x7fd5b96983d0> > > def test_dedup_app2(self): > > loader = self._callFUT('app2+dup://development.ini') > > tests/test_loaders.py:39: > _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > _ > tests/test_loaders.py:7: in _callFUT > return get_loader(*args, **kwargs) > _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > _ > > config_uri = PlasterURL('app2+dup://development.ini'), protocols = None > > def get_loader(config_uri, protocols=None): > """ > Find a :class:`plaster.ILoader` object capable of handling > ``config_uri``. > > :param config_uri: Anything that can be parsed by > :func:`plaster.parse_uri`. > > :param protocols: Zero or more :term:`loader protocol` identifiers > that > the loader must implement to match the desired ``config_uri``. > > :returns: A :class:`plaster.ILoader` object. > :raises plaster.LoaderNotFound: If no loader could be found. > :raises plaster.MultipleLoadersFound: If multiple loaders match the > requested criteria. If this happens, you can disambiguate the > lookup > by appending the package name to the scheme for the loader you > wish > to use. For example if ``ini`` is ambiguous then specify > ``ini+myapp`` to use the ini loader from the ``myapp`` package. > > """ > config_uri = parse_uri(config_uri) > requested_scheme = config_uri.scheme > > matched_loaders = find_loaders(requested_scheme, protocols=protocols) > > if len(matched_loaders) < 1: > > raise LoaderNotFound(requested_scheme, protocols=protocols) > E plaster.exceptions.LoaderNotFound: Could not find a matching > loader for the scheme "app2+dup". > > plaster/loaders.py:109: LoaderNotFound > ___________________________ Test_get_loader.test_bad > ___________________________ > > self = <tests.test_loaders.Test_get_loader object at 0x7fd5b9699110> > > def test_bad(self): > from app1.loaders import BadLoader > > loader = self._callFUT('bad:development') > > tests/test_loaders.py:49: > _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > _ > tests/test_loaders.py:7: in _callFUT > return get_loader(*args, **kwargs) > _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > _ > > config_uri = PlasterURL('bad://development'), protocols = None > > def get_loader(config_uri, protocols=None): > """ > Find a :class:`plaster.ILoader` object capable of handling > ``config_uri``. > > :param config_uri: Anything that can be parsed by > :func:`plaster.parse_uri`. > > :param protocols: Zero or more :term:`loader protocol` identifiers > that > the loader must implement to match the desired ``config_uri``. > > :returns: A :class:`plaster.ILoader` object. > :raises plaster.LoaderNotFound: If no loader could be found. > :raises plaster.MultipleLoadersFound: If multiple loaders match the > requested criteria. If this happens, you can disambiguate the > lookup > by appending the package name to the scheme for the loader you > wish > to use. For example if ``ini`` is ambiguous then specify > ``ini+myapp`` to use the ini loader from the ``myapp`` package. > > """ > config_uri = parse_uri(config_uri) > requested_scheme = config_uri.scheme > > matched_loaders = find_loaders(requested_scheme, protocols=protocols) > > if len(matched_loaders) < 1: > > raise LoaderNotFound(requested_scheme, protocols=protocols) > E plaster.exceptions.LoaderNotFound: Could not find a matching > loader for the scheme "bad". > > plaster/loaders.py:109: LoaderNotFound > _________________ Test_get_loader.test_fallback_non_pkg_scheme > _________________ > > self = <tests.test_loaders.Test_get_loader object at 0x7fd5b96818d0> > > def test_fallback_non_pkg_scheme(self): > > loader = self._callFUT('yaml+bar://development.yml') > > tests/test_loaders.py:62: > _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > _ > tests/test_loaders.py:7: in _callFUT > return get_loader(*args, **kwargs) > _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > _ > > config_uri = PlasterURL('yaml+bar://development.yml'), protocols = None > > def get_loader(config_uri, protocols=None): > """ > Find a :class:`plaster.ILoader` object capable of handling > ``config_uri``. > > :param config_uri: Anything that can be parsed by > :func:`plaster.parse_uri`. > > :param protocols: Zero or more :term:`loader protocol` identifiers > that > the loader must implement to match the desired ``config_uri``. > > :returns: A :class:`plaster.ILoader` object. > :raises plaster.LoaderNotFound: If no loader could be found. > :raises plaster.MultipleLoadersFound: If multiple loaders match the > requested criteria. If this happens, you can disambiguate the > lookup > by appending the package name to the scheme for the loader you > wish > to use. For example if ``ini`` is ambiguous then specify > ``ini+myapp`` to use the ini loader from the ``myapp`` package. > > """ > config_uri = parse_uri(config_uri) > requested_scheme = config_uri.scheme > > matched_loaders = find_loaders(requested_scheme, protocols=protocols) > > if len(matched_loaders) < 1: > > raise LoaderNotFound(requested_scheme, protocols=protocols) > E plaster.exceptions.LoaderNotFound: Could not find a matching > loader for the scheme "yaml+bar". > > plaster/loaders.py:109: LoaderNotFound > ______________________ Test_find_loaders.test_simple_uri > _______________________ > > self = <tests.test_loaders.Test_find_loaders object at 0x7fd5b96820d0> > > def test_simple_uri(self): > loaders = self._callFUT('conf') > > assert len(loaders) == 1 > E assert 0 == 1 > E + where 0 = len([]) > > tests/test_loaders.py:74: AssertionError > ________________ Test_find_loaders.test_case_insensitive_scheme > ________________ > > self = <tests.test_loaders.Test_find_loaders object at 0x7fd5b9681f10> > > def test_case_insensitive_scheme(self): > loaders = self._callFUT('CONF') > > assert len(loaders) == 1 > E assert 0 == 1 > E + where 0 = len([]) > > tests/test_loaders.py:81: AssertionError > __________________ Test_find_loaders.test_scheme_specific_uri > __________________ > > self = <tests.test_loaders.Test_find_loaders object at 0x7fd5b9681710> > > def test_scheme_specific_uri(self): > loaders = self._callFUT('ini') > > assert len(loaders) == 1 > E assert 0 == 1 > E + where 0 = len([]) > > tests/test_loaders.py:88: AssertionError > _________________ Test_find_loaders.test_multiple_yaml_loaders > _________________ > > self = <tests.test_loaders.Test_find_loaders object at 0x7fd5b9681150> > > def test_multiple_yaml_loaders(self): > loaders = self._callFUT('dup') > > assert len(loaders) == 2 > E assert 0 == 2 > E + where 0 = len([]) > > tests/test_loaders.py:95: AssertionError > _____________________ Test_find_loaders.test_one_protocol > ______________________ > > self = <tests.test_loaders.Test_find_loaders object at 0x7fd5b9680c90> > > def test_one_protocol(self): > loaders = self._callFUT('ini', protocols=['wsgi']) > > assert len(loaders) == 1 > E assert 0 == 1 > E + where 0 = len([]) > > tests/test_loaders.py:102: AssertionError > __________________ Test_find_loaders.test_multiple_protocols > ___________________ > > self = <tests.test_loaders.Test_find_loaders object at 0x7fd5b9680810> > > def test_multiple_protocols(self): > loaders = self._callFUT('ini', protocols=['wsgi', 'dummy1']) > > assert len(loaders) == 1 > E assert 0 == 1 > E + where 0 = len([]) > > tests/test_loaders.py:108: AssertionError > __________________________ Test_get_sections.test_it > ___________________________ > > self = <tests.test_loaders.Test_get_sections object at 0x7fd5b96824d0> > > def test_it(self): > > result = self._callFUT('development.ini') > > tests/test_loaders.py:128: > _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > _ > tests/test_loaders.py:125: in _callFUT > return get_sections(config_uri) > plaster/loaders.py:29: in get_sections > loader = get_loader(config_uri) > _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > _ > > config_uri = PlasterURL('file+ini://development.ini'), protocols = None > > def get_loader(config_uri, protocols=None): > """ > Find a :class:`plaster.ILoader` object capable of handling > ``config_uri``. > > :param config_uri: Anything that can be parsed by > :func:`plaster.parse_uri`. > > :param protocols: Zero or more :term:`loader protocol` identifiers > that > the loader must implement to match the desired ``config_uri``. > > :returns: A :class:`plaster.ILoader` object. > :raises plaster.LoaderNotFound: If no loader could be found. > :raises plaster.MultipleLoadersFound: If multiple loaders match the > requested criteria. If this happens, you can disambiguate the > lookup > by appending the package name to the scheme for the loader you > wish > to use. For example if ``ini`` is ambiguous then specify > ``ini+myapp`` to use the ini loader from the ``myapp`` package. > > """ > config_uri = parse_uri(config_uri) > requested_scheme = config_uri.scheme > > matched_loaders = find_loaders(requested_scheme, protocols=protocols) > > if len(matched_loaders) < 1: > > raise LoaderNotFound(requested_scheme, protocols=protocols) > E plaster.exceptions.LoaderNotFound: Could not find a matching > loader for the scheme "file+ini". > > plaster/loaders.py:109: LoaderNotFound > _____________________ Test_get_settings.test_it_explicit_a > _____________________ > > self = <tests.test_loaders.Test_get_settings object at 0x7fd5b9680c50> > > def test_it_explicit_a(self): > > result = self._callFUT('development.ini', 'a') > > tests/test_loaders.py:143: > _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > _ > tests/test_loaders.py:140: in _callFUT > return get_settings(config_uri, section=section, defaults=defaults) > plaster/loaders.py:59: in get_settings > loader = get_loader(config_uri) > _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > _ > > config_uri = PlasterURL('file+ini://development.ini'), protocols = None > > def get_loader(config_uri, protocols=None): > """ > Find a :class:`plaster.ILoader` object capable of handling > ``config_uri``. > > :param config_uri: Anything that can be parsed by > :func:`plaster.parse_uri`. > > :param protocols: Zero or more :term:`loader protocol` identifiers > that > the loader must implement to match the desired ``config_uri``. > > :returns: A :class:`plaster.ILoader` object. > :raises plaster.LoaderNotFound: If no loader could be found. > :raises plaster.MultipleLoadersFound: If multiple loaders match the > requested criteria. If this happens, you can disambiguate the > lookup > by appending the package name to the scheme for the loader you > wish > to use. For example if ``ini`` is ambiguous then specify > ``ini+myapp`` to use the ini loader from the ``myapp`` package. > > """ > config_uri = parse_uri(config_uri) > requested_scheme = config_uri.scheme > > matched_loaders = find_loaders(requested_scheme, protocols=protocols) > > if len(matched_loaders) < 1: > > raise LoaderNotFound(requested_scheme, protocols=protocols) > E plaster.exceptions.LoaderNotFound: Could not find a matching > loader for the scheme "file+ini". > > plaster/loaders.py:109: LoaderNotFound > _____________________ Test_get_settings.test_it_explicit_b > _____________________ > > self = <tests.test_loaders.Test_get_settings object at 0x7fd5b96a9010> > > def test_it_explicit_b(self): > > result = self._callFUT('development.ini', 'b') > > tests/test_loaders.py:147: > _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > _ > tests/test_loaders.py:140: in _callFUT > return get_settings(config_uri, section=section, defaults=defaults) > plaster/loaders.py:59: in get_settings > loader = get_loader(config_uri) > _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > _ > > config_uri = PlasterURL('file+ini://development.ini'), protocols = None > > def get_loader(config_uri, protocols=None): > """ > Find a :class:`plaster.ILoader` object capable of handling > ``config_uri``. > > :param config_uri: Anything that can be parsed by > :func:`plaster.parse_uri`. > > :param protocols: Zero or more :term:`loader protocol` identifiers > that > the loader must implement to match the desired ``config_uri``. > > :returns: A :class:`plaster.ILoader` object. > :raises plaster.LoaderNotFound: If no loader could be found. > :raises plaster.MultipleLoadersFound: If multiple loaders match the > requested criteria. If this happens, you can disambiguate the > lookup > by appending the package name to the scheme for the loader you > wish > to use. For example if ``ini`` is ambiguous then specify > ``ini+myapp`` to use the ini loader from the ``myapp`` package. > > """ > config_uri = parse_uri(config_uri) > requested_scheme = config_uri.scheme > > matched_loaders = find_loaders(requested_scheme, protocols=protocols) > > if len(matched_loaders) < 1: > > raise LoaderNotFound(requested_scheme, protocols=protocols) > E plaster.exceptions.LoaderNotFound: Could not find a matching > loader for the scheme "file+ini". > > plaster/loaders.py:109: LoaderNotFound > ______________________ Test_get_settings.test_it_fragment > ______________________ > > self = <tests.test_loaders.Test_get_settings object at 0x7fd5b96a8b10> > > def test_it_fragment(self): > > result = self._callFUT('development.ini#a') > > tests/test_loaders.py:151: > _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > _ > tests/test_loaders.py:140: in _callFUT > return get_settings(config_uri, section=section, defaults=defaults) > plaster/loaders.py:59: in get_settings > loader = get_loader(config_uri) > _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > _ > > config_uri = PlasterURL('file+ini://development.ini#a'), protocols = None > > def get_loader(config_uri, protocols=None): > """ > Find a :class:`plaster.ILoader` object capable of handling > ``config_uri``. > > :param config_uri: Anything that can be parsed by > :func:`plaster.parse_uri`. > > :param protocols: Zero or more :term:`loader protocol` identifiers > that > the loader must implement to match the desired ``config_uri``. > > :returns: A :class:`plaster.ILoader` object. > :raises plaster.LoaderNotFound: If no loader could be found. > :raises plaster.MultipleLoadersFound: If multiple loaders match the > requested criteria. If this happens, you can disambiguate the > lookup > by appending the package name to the scheme for the loader you > wish > to use. For example if ``ini`` is ambiguous then specify > ``ini+myapp`` to use the ini loader from the ``myapp`` package. > > """ > config_uri = parse_uri(config_uri) > requested_scheme = config_uri.scheme > > matched_loaders = find_loaders(requested_scheme, protocols=protocols) > > if len(matched_loaders) < 1: > > raise LoaderNotFound(requested_scheme, protocols=protocols) > E plaster.exceptions.LoaderNotFound: Could not find a matching > loader for the scheme "file+ini". > > plaster/loaders.py:109: LoaderNotFound > _______________________ Test_get_settings.test_defaults > ________________________ > > self = <tests.test_loaders.Test_get_settings object at 0x7fd5b96aa190> > > def test_defaults(self): > > result = self._callFUT('development.ini', 'a', {'baz': 'foo'}) > > tests/test_loaders.py:155: > _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > _ > tests/test_loaders.py:140: in _callFUT > return get_settings(config_uri, section=section, defaults=defaults) > plaster/loaders.py:59: in get_settings > loader = get_loader(config_uri) > _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > _ > > config_uri = PlasterURL('file+ini://development.ini'), protocols = None > > def get_loader(config_uri, protocols=None): > """ > Find a :class:`plaster.ILoader` object capable of handling > ``config_uri``. > > :param config_uri: Anything that can be parsed by > :func:`plaster.parse_uri`. > > :param protocols: Zero or more :term:`loader protocol` identifiers > that > the loader must implement to match the desired ``config_uri``. > > :returns: A :class:`plaster.ILoader` object. > :raises plaster.LoaderNotFound: If no loader could be found. > :raises plaster.MultipleLoadersFound: If multiple loaders match the > requested criteria. If this happens, you can disambiguate the > lookup > by appending the package name to the scheme for the loader you > wish > to use. For example if ``ini`` is ambiguous then specify > ``ini+myapp`` to use the ini loader from the ``myapp`` package. > > """ > config_uri = parse_uri(config_uri) > requested_scheme = config_uri.scheme > > matched_loaders = find_loaders(requested_scheme, protocols=protocols) > > if len(matched_loaders) < 1: > > raise LoaderNotFound(requested_scheme, protocols=protocols) > E plaster.exceptions.LoaderNotFound: Could not find a matching > loader for the scheme "file+ini". > > plaster/loaders.py:109: LoaderNotFound > ____________________ Test_get_settings.test_invalid_section > ____________________ > > self = <tests.test_loaders.Test_get_settings object at 0x7fd5b96abb90> > > def test_invalid_section(self): > > result = self._callFUT('development.ini', 'c') > > tests/test_loaders.py:159: > _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > _ > tests/test_loaders.py:140: in _callFUT > return get_settings(config_uri, section=section, defaults=defaults) > plaster/loaders.py:59: in get_settings > loader = get_loader(config_uri) > _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > _ > > config_uri = PlasterURL('file+ini://development.ini'), protocols = None > > def get_loader(config_uri, protocols=None): > """ > Find a :class:`plaster.ILoader` object capable of handling > ``config_uri``. > > :param config_uri: Anything that can be parsed by > :func:`plaster.parse_uri`. > > :param protocols: Zero or more :term:`loader protocol` identifiers > that > the loader must implement to match the desired ``config_uri``. > > :returns: A :class:`plaster.ILoader` object. > :raises plaster.LoaderNotFound: If no loader could be found. > :raises plaster.MultipleLoadersFound: If multiple loaders match the > requested criteria. If this happens, you can disambiguate the > lookup > by appending the package name to the scheme for the loader you > wish > to use. For example if ``ini`` is ambiguous then specify > ``ini+myapp`` to use the ini loader from the ``myapp`` package. > > """ > config_uri = parse_uri(config_uri) > requested_scheme = config_uri.scheme > > matched_loaders = find_loaders(requested_scheme, protocols=protocols) > > if len(matched_loaders) < 1: > > raise LoaderNotFound(requested_scheme, protocols=protocols) > E plaster.exceptions.LoaderNotFound: Could not find a matching > loader for the scheme "file+ini". > > plaster/loaders.py:109: LoaderNotFound > __________________________ Test_setup_logging.test_it > __________________________ > > self = <tests.test_loaders.Test_setup_logging object at 0x7fd5b96a8950> > > def test_it(self): > > loader = self._makeOne('development.ini#a') > > tests/test_loaders.py:178: > _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > _ > tests/test_loaders.py:171: in _makeOne > return get_loader(config_uri) > _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > _ > > config_uri = PlasterURL('file+ini://development.ini#a'), protocols = None > > def get_loader(config_uri, protocols=None): > """ > Find a :class:`plaster.ILoader` object capable of handling > ``config_uri``. > > :param config_uri: Anything that can be parsed by > :func:`plaster.parse_uri`. > > :param protocols: Zero or more :term:`loader protocol` identifiers > that > the loader must implement to match the desired ``config_uri``. > > :returns: A :class:`plaster.ILoader` object. > :raises plaster.LoaderNotFound: If no loader could be found. > :raises plaster.MultipleLoadersFound: If multiple loaders match the > requested criteria. If this happens, you can disambiguate the > lookup > by appending the package name to the scheme for the loader you > wish > to use. For example if ``ini`` is ambiguous then specify > ``ini+myapp`` to use the ini loader from the ``myapp`` package. > > """ > config_uri = parse_uri(config_uri) > requested_scheme = config_uri.scheme > > matched_loaders = find_loaders(requested_scheme, protocols=protocols) > > if len(matched_loaders) < 1: > > raise LoaderNotFound(requested_scheme, protocols=protocols) > E plaster.exceptions.LoaderNotFound: Could not find a matching > loader for the scheme "file+ini". > > plaster/loaders.py:109: LoaderNotFound > _____________________ Test_setup_logging.test_it_top_level > _____________________ > > self = <tests.test_loaders.Test_setup_logging object at 0x7fd5b96a9d10> > > def test_it_top_level(self): > > self._callFUT('development.ini#a') > > tests/test_loaders.py:184: > _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > _ > tests/test_loaders.py:175: in _callFUT > return setup_logging(config_uri, defaults=defaults) > plaster/loaders.py:80: in setup_logging > loader = get_loader(config_uri) > _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > _ > > config_uri = PlasterURL('file+ini://development.ini#a'), protocols = None > > def get_loader(config_uri, protocols=None): > """ > Find a :class:`plaster.ILoader` object capable of handling > ``config_uri``. > > :param config_uri: Anything that can be parsed by > :func:`plaster.parse_uri`. > > :param protocols: Zero or more :term:`loader protocol` identifiers > that > the loader must implement to match the desired ``config_uri``. > > :returns: A :class:`plaster.ILoader` object. > :raises plaster.LoaderNotFound: If no loader could be found. > :raises plaster.MultipleLoadersFound: If multiple loaders match the > requested criteria. If this happens, you can disambiguate the > lookup > by appending the package name to the scheme for the loader you > wish > to use. For example if ``ini`` is ambiguous then specify > ``ini+myapp`` to use the ini loader from the ``myapp`` package. > > """ > config_uri = parse_uri(config_uri) > requested_scheme = config_uri.scheme > > matched_loaders = find_loaders(requested_scheme, protocols=protocols) > > if len(matched_loaders) < 1: > > raise LoaderNotFound(requested_scheme, protocols=protocols) > E plaster.exceptions.LoaderNotFound: Could not find a matching > loader for the scheme "file+ini". > > plaster/loaders.py:109: LoaderNotFound > =============================== warnings summary > =============================== > tests/conftest.py:2 > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/tests/conftest.py:2: > DeprecationWarning: pkg_resources is deprecated as an API. See > https://setuptools.pypa.io/en/latest/pkg_resources.html > import pkg_resources > > -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html > =========================== short test summary info > ============================ > FAILED tests/test_loaders.py::Test_get_loader::test_simple_uri - > plaster.exce... > FAILED tests/test_loaders.py::Test_get_loader::test_scheme_uri - > plaster.exce... > FAILED tests/test_loaders.py::Test_get_loader::test_scheme_uri_for_pkg - > plas... > FAILED tests/test_loaders.py::Test_get_loader::test_path_with_extension - > pla... > FAILED > tests/test_loaders.py::Test_get_loader::test_path_with_extension_and_protocol > FAILED tests/test_loaders.py::Test_get_loader::test_dup - > plaster.exceptions.... > FAILED tests/test_loaders.py::Test_get_loader::test_dedup_app1 - > plaster.exce... > FAILED tests/test_loaders.py::Test_get_loader::test_dedup_app2 - > plaster.exce... > FAILED tests/test_loaders.py::Test_get_loader::test_bad - > plaster.exceptions.... > FAILED tests/test_loaders.py::Test_get_loader::test_fallback_non_pkg_scheme > FAILED tests/test_loaders.py::Test_find_loaders::test_simple_uri - assert 0 > == 1 > FAILED tests/test_loaders.py::Test_find_loaders::test_case_insensitive_scheme > FAILED tests/test_loaders.py::Test_find_loaders::test_scheme_specific_uri - > a... > FAILED tests/test_loaders.py::Test_find_loaders::test_multiple_yaml_loaders > FAILED tests/test_loaders.py::Test_find_loaders::test_one_protocol - assert > 0... > FAILED tests/test_loaders.py::Test_find_loaders::test_multiple_protocols - > as... > FAILED tests/test_loaders.py::Test_get_sections::test_it - > plaster.exceptions... > FAILED tests/test_loaders.py::Test_get_settings::test_it_explicit_a - > plaster... > FAILED tests/test_loaders.py::Test_get_settings::test_it_explicit_b - > plaster... > FAILED tests/test_loaders.py::Test_get_settings::test_it_fragment - > plaster.e... > FAILED tests/test_loaders.py::Test_get_settings::test_defaults - > plaster.exce... > FAILED tests/test_loaders.py::Test_get_settings::test_invalid_section - > plast... > FAILED tests/test_loaders.py::Test_setup_logging::test_it - > plaster.exception... > FAILED tests/test_loaders.py::Test_setup_logging::test_it_top_level - > plaster... > =================== 24 failed, 33 passed, 1 warning in 0.37s > =================== > E: pybuild pybuild:395: test: plugin distutils failed with: exit code=1: cd > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build; python3.11 -m pytest tests > 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-plaster_1.0-3_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.