Your message dated Mon, 25 Nov 2024 10:02:43 -0500
with message-id <[email protected]>
and subject line Re: python-bottle: FTBFS: ImportError: cannot import name 
'test' from 'bottle.ext' (/<<PKGBUILDDIR>>/bottle.py)
has caused the Debian Bug report #1058087,
regarding python-bottle: FTBFS: ImportError: cannot import name 'test' from 
'bottle.ext' (/<<PKGBUILDDIR>>/bottle.py)
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)


-- 
1058087: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1058087
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Source: python-bottle
Version: 0.12.25-1
Severity: serious
Justification: FTBFS
Tags: trixie sid ftbfs
User: [email protected]
Usertags: ftbfs-20231212 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
>       pybuild --build -i python{version} -p "3.12 3.11"
> I: pybuild base:310: /usr/bin/python3.12 setup.py build 
> running build
> running build_py
> copying bottle.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_bottle/build
> I: pybuild base:310: /usr/bin/python3 setup.py build 
> running build
> running build_py
> copying bottle.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_bottle/build
> PYTHONPATH=. http_proxy='http://127.0.0.1:9/' sphinx-build -N -E -bhtml docs 
> build/html
> Running Sphinx v7.2.6
> making output directory... done
> loading intersphinx inventory from http://docs.python.org/objects.inv...
> loading intersphinx inventory from 
> http://werkzeug.pocoo.org/docs/objects.inv...
> WARNING: failed to reach any of the inventories with the following issues:
> intersphinx inventory 'http://docs.python.org/objects.inv' not fetchable due 
> to <class 'requests.exceptions.ProxyError'>: 
> HTTPConnectionPool(host='127.0.0.1', port=9): Max retries exceeded with url: 
> http://docs.python.org/objects.inv (Caused by ProxyError('Cannot connect to 
> proxy.', NewConnectionError('<urllib3.connection.HTTPConnection object at 
> 0x7f4c44dc7910>: Failed to establish a new connection: [Errno 111] Connection 
> refused')))
> WARNING: failed to reach any of the inventories with the following issues:
> intersphinx inventory 'http://werkzeug.pocoo.org/docs/objects.inv' not 
> fetchable due to <class 'requests.exceptions.ProxyError'>: 
> HTTPConnectionPool(host='127.0.0.1', port=9): Max retries exceeded with url: 
> http://werkzeug.pocoo.org/docs/objects.inv (Caused by ProxyError('Cannot 
> connect to proxy.', NewConnectionError('<urllib3.connection.HTTPConnection 
> object at 0x7f4c44dd4c50>: Failed to establish a new connection: [Errno 111] 
> Connection refused')))
> building [mo]: targets for 0 po files that are out of date
> writing output... 
> building [html]: targets for 19 source files that are out of date
> updating environment: [new config] 19 added, 0 changed, 0 removed
> reading sources... [  5%] api
> reading sources... [ 11%] async
> reading sources... [ 16%] changelog
> reading sources... [ 21%] cli
> reading sources... [ 26%] configuration
> reading sources... [ 32%] contact
> reading sources... [ 37%] deployment
> reading sources... [ 42%] development
> reading sources... [ 47%] faq
> reading sources... [ 53%] index
> reading sources... [ 58%] plugindev
> reading sources... [ 63%] plugins/index
> reading sources... [ 68%] plugins/sqlite
> reading sources... [ 74%] plugins/werkzeug
> reading sources... [ 79%] recipes
> reading sources... [ 84%] routing
> reading sources... [ 89%] stpl
> reading sources... [ 95%] tutorial
> reading sources... [100%] tutorial_app
> 
> /<<PKGBUILDDIR>>/bottle.py:docstring of bottle.request:1: WARNING: duplicate 
> object description of bottle.request, other instance in api, use :no-index: 
> for one of them
> /<<PKGBUILDDIR>>/bottle.py:docstring of bottle.ConfigDict.load_config:1: 
> WARNING: Inline emphasis start-string without end-string.
> /<<PKGBUILDDIR>>/docs/contact.rst:: WARNING: image file not readable: 
> _static/myface_small.png
> /<<PKGBUILDDIR>>/docs/faq.rst:1: WARNING: duplicate object description of 
> bottle, other instance in api, use :no-index: for one of them
> /<<PKGBUILDDIR>>/docs/plugindev.rst:1: WARNING: duplicate object description 
> of bottle, other instance in faq, use :no-index: for one of them
> /<<PKGBUILDDIR>>/docs/plugins/index.rst:1: WARNING: duplicate object 
> description of bottle, other instance in plugindev, use :no-index: for one of 
> them
> /<<PKGBUILDDIR>>/docs/recipes.rst:1: WARNING: duplicate object description of 
> bottle, other instance in plugins/index, use :no-index: for one of them
> /<<PKGBUILDDIR>>/docs/tutorial.rst:1: WARNING: duplicate object description 
> of bottle, other instance in recipes, use :no-index: for one of them
> looking for now-outdated files... none found
> pickling environment... done
> checking consistency... /<<PKGBUILDDIR>>/docs/cli.rst: WARNING: document 
> isn't included in any toctree
> /<<PKGBUILDDIR>>/docs/contact.rst: WARNING: document isn't included in any 
> toctree
> /<<PKGBUILDDIR>>/docs/deployment.rst: WARNING: document isn't included in any 
> toctree
> done
> preparing documents... done
> copying assets... copying static files... done
> copying extra files... done
> done
> writing output... [  5%] api
> writing output... [ 11%] async
> writing output... [ 16%] changelog
> writing output... [ 21%] cli
> writing output... [ 26%] configuration
> writing output... [ 32%] contact
> writing output... [ 37%] deployment
> writing output... [ 42%] development
> writing output... [ 47%] faq
> writing output... [ 53%] index
> writing output... [ 58%] plugindev
> writing output... [ 63%] plugins/index
> writing output... [ 68%] plugins/sqlite
> writing output... [ 74%] plugins/werkzeug
> writing output... [ 79%] recipes
> writing output... [ 84%] routing
> writing output... [ 89%] stpl
> writing output... [ 95%] tutorial
> writing output... [100%] tutorial_app
> 
> /<<PKGBUILDDIR>>/docs/stpl.rst:89: WARNING: undefined label: 
> 'stpl-custom-tokens'
> /<<PKGBUILDDIR>>/docs/stpl.rst:61: WARNING: Lexing literal_block '% name = 
> "Bob"  # a line of python code\n<p>Some plain text in between</p>\n<%\n  # A 
> block of python code\n  name = name.title().strip()\n%>\n<p>More plain 
> text</p>' as "html+django" resulted in an error at token: '<'. Retrying in 
> relaxed mode.
> /<<PKGBUILDDIR>>/docs/stpl.rst:84: WARNING: Lexing literal_block "This line 
> contains % and <% but no python code.\n\\% This text-line starts with the '%' 
> token.\n\\<% Another line that starts with a token but is rendered as 
> text.\n{{'\\\\%'}} this line starts with an escaped token." as "html+django" 
> resulted in an error at token: '<'. Retrying in relaxed mode.
> /<<PKGBUILDDIR>>/docs/tutorial.rst:175: WARNING: unknown document: 'Routing'
> /<<PKGBUILDDIR>>/docs/tutorial.rst:287: WARNING: undefined label: 
> 'tutorial-output-filter'
> generating indices... genindex py-modindex done
> highlighting module code... [100%] bottle
> 
> writing additional pages... search done
> dumping search index in English (code: en)... done
> dumping object inventory... done
> build succeeded, 18 warnings.
> 
> The HTML pages are in build/html.
> PYTHONPATH=. http_proxy='http://127.0.0.1:9/' sphinx-build -N -E -bman docs 
> build/man
> Running Sphinx v7.2.6
> making output directory... done
> loading intersphinx inventory from http://docs.python.org/objects.inv...
> loading intersphinx inventory from 
> http://werkzeug.pocoo.org/docs/objects.inv...
> WARNING: failed to reach any of the inventories with the following issues:
> intersphinx inventory 'http://werkzeug.pocoo.org/docs/objects.inv' not 
> fetchable due to <class 'requests.exceptions.ProxyError'>: 
> HTTPConnectionPool(host='127.0.0.1', port=9): Max retries exceeded with url: 
> http://werkzeug.pocoo.org/docs/objects.inv (Caused by ProxyError('Cannot 
> connect to proxy.', NewConnectionError('<urllib3.connection.HTTPConnection 
> object at 0x7fb633a4a510>: Failed to establish a new connection: [Errno 111] 
> Connection refused')))
> WARNING: failed to reach any of the inventories with the following issues:
> intersphinx inventory 'http://docs.python.org/objects.inv' not fetchable due 
> to <class 'requests.exceptions.ProxyError'>: 
> HTTPConnectionPool(host='127.0.0.1', port=9): Max retries exceeded with url: 
> http://docs.python.org/objects.inv (Caused by ProxyError('Cannot connect to 
> proxy.', NewConnectionError('<urllib3.connection.HTTPConnection object at 
> 0x7fb633a49010>: Failed to establish a new connection: [Errno 111] Connection 
> refused')))
> building [mo]: targets for 0 po files that are out of date
> writing output... 
> building [man]: all manpages
> updating environment: [new config] 19 added, 0 changed, 0 removed
> reading sources... [  5%] api
> reading sources... [ 11%] async
> reading sources... [ 16%] changelog
> reading sources... [ 21%] cli
> reading sources... [ 26%] configuration
> reading sources... [ 32%] contact
> reading sources... [ 37%] deployment
> reading sources... [ 42%] development
> reading sources... [ 47%] faq
> reading sources... [ 53%] index
> reading sources... [ 58%] plugindev
> reading sources... [ 63%] plugins/index
> reading sources... [ 68%] plugins/sqlite
> reading sources... [ 74%] plugins/werkzeug
> reading sources... [ 79%] recipes
> reading sources... [ 84%] routing
> reading sources... [ 89%] stpl
> reading sources... [ 95%] tutorial
> reading sources... [100%] tutorial_app
> 
> /<<PKGBUILDDIR>>/bottle.py:docstring of bottle.request:1: WARNING: duplicate 
> object description of bottle.request, other instance in api, use :no-index: 
> for one of them
> /<<PKGBUILDDIR>>/bottle.py:docstring of bottle.ConfigDict.load_config:1: 
> WARNING: Inline emphasis start-string without end-string.
> /<<PKGBUILDDIR>>/docs/contact.rst:: WARNING: image file not readable: 
> _static/myface_small.png
> /<<PKGBUILDDIR>>/docs/faq.rst:1: WARNING: duplicate object description of 
> bottle, other instance in api, use :no-index: for one of them
> /<<PKGBUILDDIR>>/docs/plugindev.rst:1: WARNING: duplicate object description 
> of bottle, other instance in faq, use :no-index: for one of them
> /<<PKGBUILDDIR>>/docs/plugins/index.rst:1: WARNING: duplicate object 
> description of bottle, other instance in plugindev, use :no-index: for one of 
> them
> /<<PKGBUILDDIR>>/docs/recipes.rst:1: WARNING: duplicate object description of 
> bottle, other instance in plugins/index, use :no-index: for one of them
> /<<PKGBUILDDIR>>/docs/tutorial.rst:1: WARNING: duplicate object description 
> of bottle, other instance in recipes, use :no-index: for one of them
> looking for now-outdated files... none found
> pickling environment... done
> checking consistency... /<<PKGBUILDDIR>>/docs/cli.rst: WARNING: document 
> isn't included in any toctree
> /<<PKGBUILDDIR>>/docs/contact.rst: WARNING: document isn't included in any 
> toctree
> /<<PKGBUILDDIR>>/docs/deployment.rst: WARNING: document isn't included in any 
> toctree
> done
> writing... bottle.1 { } done
> build succeeded, 13 warnings.
> 
> The manual pages are in build/man.
> rm -rf ./build/html/.doctrees
> make[1]: Leaving directory '/<<PKGBUILDDIR>>'
>    dh_auto_test -O--buildsystem=pybuild -O--test-tox
>       pybuild --test --test-tox -i python{version} -p "3.12 3.11"
> I: pybuild base:310: /usr/bin/python3.12 -c "import setuptools, runpy; 
> runpy.run_path('setup.py')" bdist_wheel 
> running bdist_wheel
> running build
> running build_py
> creating build/lib
> copying bottle.py -> build/lib
> /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:66: 
> SetuptoolsDeprecationWarning: setup.py install is deprecated.
> !!
> 
>         
> ********************************************************************************
>         Please avoid running ``setup.py`` directly.
>         Instead, use pypa/build, pypa/installer or other
>         standards-based tools.
> 
>         See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html 
> for details.
>         
> ********************************************************************************
> 
> !!
>   self.initialize_options()
> installing to build/bdist.linux-x86_64/wheel
> running install
> running install_lib
> creating build/bdist.linux-x86_64
> creating build/bdist.linux-x86_64/wheel
> copying build/lib/bottle.py -> build/bdist.linux-x86_64/wheel
> running install_egg_info
> running egg_info
> creating bottle.egg-info
> writing bottle.egg-info/PKG-INFO
> writing dependency_links to bottle.egg-info/dependency_links.txt
> writing top-level names to bottle.egg-info/top_level.txt
> writing manifest file 'bottle.egg-info/SOURCES.txt'
> reading manifest file 'bottle.egg-info/SOURCES.txt'
> reading manifest template 'MANIFEST.in'
> warning: no files found matching 'LICENSE.txt'
> adding license file 'LICENSE'
> adding license file 'AUTHORS'
> writing manifest file 'bottle.egg-info/SOURCES.txt'
> Copying bottle.egg-info to 
> build/bdist.linux-x86_64/wheel/bottle-0.12.25.egg-info
> running install_scripts
> creating build/bdist.linux-x86_64/wheel/bottle-0.12.25.dist-info/WHEEL
> creating 'dist/bottle-0.12.25-py3-none-any.whl' and adding 
> 'build/bdist.linux-x86_64/wheel' to it
> adding 'bottle.py'
> adding 'bottle-0.12.25.dist-info/AUTHORS'
> adding 'bottle-0.12.25.dist-info/LICENSE'
> adding 'bottle-0.12.25.dist-info/METADATA'
> adding 'bottle-0.12.25.dist-info/WHEEL'
> adding 'bottle-0.12.25.dist-info/top_level.txt'
> adding 'bottle-0.12.25.dist-info/RECORD'
> removing build/bdist.linux-x86_64/wheel
> I: pybuild base:310: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_bottle/build; 
> tox -c /<<PKGBUILDDIR>>/tox.ini --sitepackages -e py312 -x 
> testenv.passenv+=_PYTHON_HOST_PLATFORM --installpkg 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_bottle/bottle-0.12.25-py3-none-any.whl
>  
> py312: install_deps .pybuild/cpython3_3.12_bottle/build> python -I -m pip 
> install jinja2 Mako
> py312: install_package .pybuild/cpython3_3.12_bottle/build> python -I -m pip 
> install --force-reinstall --no-deps 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_bottle/bottle-0.12.25-py3-none-any.whl
> py312: commands[0] .pybuild/cpython3_3.12_bottle/build> .tox/py312/bin/python 
> -m unittest discover
> /<<PKGBUILDDIR>>/test/test_server.py:53: SyntaxWarning: "is" with 'int' 
> literal. Did you mean "=="?
>   if rv is 128: # Import error
> /<<PKGBUILDDIR>>/test/test_server.py:57: SyntaxWarning: "is" with 'int' 
> literal. Did you mean "=="?
>   if rv is 3: # Port in use
> ....../<<PKGBUILDDIR>>/test/test_configdict.py:30: DeprecationWarning: 
> Attribute assignment is deprecated.
>   c.test = 5
> /<<PKGBUILDDIR>>/test/test_configdict.py:31: DeprecationWarning: Attribute 
> access is deprecated.
>   self.assertEqual(5, c.test)
> /<<PKGBUILDDIR>>/test/test_configdict.py:34: DeprecationWarning: Attribute 
> access is deprecated.
>   self.assertEqual(6, c.test)
> /<<PKGBUILDDIR>>/test/test_configdict.py:38: DeprecationWarning: Attribute 
> access is deprecated.
>   self.assertEqual(None, c.test)
> ./<<PKGBUILDDIR>>/test/test_configdict.py:61: DeprecationWarning: Calling 
> ConfDict is deprecated. Use the update() method.
>   self.assertEqual(c, c(a=1))
> /<<PKGBUILDDIR>>/test/test_configdict.py:63: DeprecationWarning: Attribute 
> access is deprecated.
>   self.assertEqual(1, c.a)
> ./<<PKGBUILDDIR>>/test/test_configdict.py:12: DeprecationWarning: Constructor 
> does no longer accept parameters.
>   d, m = dict(a=5), ConfigDict(a=5)
> ./<<PKGBUILDDIR>>/test/test_configdict.py:70: DeprecationWarning: Accessing 
> namespaces as dicts is discouraged. Only use flat item access: 
> cfg["names"]["pace"]["key"] -> cfg["name.space.key"]
>   self.assertEqual('c', c['a']['b'])
> <frozen _collections_abc>:894: DeprecationWarning: Accessing namespaces as 
> dicts is discouraged. Only use flat item access: cfg["names"]["pace"]["key"] 
> -> cfg["name.space.key"]
> ../<<PKGBUILDDIR>>/test/test_configdict.py:43: DeprecationWarning: Attribute 
> access is deprecated.
>   self.assertEqual(ConfigDict.Namespace, c.Name.Space.__class__)
> <frozen _collections_abc>:807: DeprecationWarning: Accessing namespaces as 
> dicts is discouraged. Only use flat item access: cfg["names"]["pace"]["key"] 
> -> cfg["name.space.key"]
> /<<PKGBUILDDIR>>/test/test_configdict.py:44: DeprecationWarning: Attribute 
> access is deprecated.
>   c.Name.Space.value = 5
> /<<PKGBUILDDIR>>/test/test_configdict.py:44: DeprecationWarning: Attribute 
> assignment is deprecated.
>   c.Name.Space.value = 5
> /<<PKGBUILDDIR>>/test/test_configdict.py:45: DeprecationWarning: Attribute 
> access is deprecated.
>   self.assertEqual(5, c.Name.Space.value)
> /<<PKGBUILDDIR>>/test/test_configdict.py:46: DeprecationWarning: Attribute 
> access is deprecated.
>   self.assertTrue('value' in c.Name.Space)
> /<<PKGBUILDDIR>>/test/test_configdict.py:47: DeprecationWarning: Attribute 
> access is deprecated.
>   self.assertTrue('Space' in c.Name)
> /<<PKGBUILDDIR>>/test/test_configdict.py:51: DeprecationWarning: Attribute 
> assignment is deprecated.
>   self.assertRaises(AttributeError, lambda: setattr(c, 'Name', 5))
> /<<PKGBUILDDIR>>/test/test_configdict.py:53: DeprecationWarning: Attribute 
> assignment is deprecated.
>   self.assertRaises(AttributeError, lambda: setattr(c, 'keys', 5))
> /<<PKGBUILDDIR>>/test/test_configdict.py:56: DeprecationWarning: Attribute 
> access is deprecated.
>   self.assertEqual(5, c.Name)
> ....................................../usr/lib/python3.12/mimetypes.py:86: 
> ResourceWarning: unclosed file <_io.FileIO name=3 mode='rb+' closefd=True>
>   def add_type(self, type, ext, strict=True):
> ResourceWarning: Enable tracemalloc to get the object allocation traceback
> ....................s./<<PKGBUILDDIR>>/bottle.py:1596: DeprecationWarning: 
> datetime.datetime.utcfromtimestamp() is deprecated and scheduled for removal 
> in a future version. Use timezone-aware objects to represent datetimes in 
> UTC: datetime.datetime.fromtimestamp(timestamp, datetime.UTC).
>   reader=lambda x: datetime.utcfromtimestamp(parse_date(x)),
> /<<PKGBUILDDIR>>/test/test_environ.py:710: DeprecationWarning: 
> datetime.datetime.utcfromtimestamp() is deprecated and scheduled for removal 
> in a future version. Use timezone-aware objects to represent datetimes in 
> UTC: datetime.datetime.fromtimestamp(timestamp, datetime.UTC).
>   now2 = datetime.datetime.utcfromtimestamp(
> ................../usr/lib/python3.12/unittest/case.py:589: ResourceWarning: 
> unclosed file <_io.BufferedReader 
> name='/<<PKGBUILDDIR>>/test/test_fileupload.py'>
>   if method() is not None:
> ResourceWarning: Enable tracemalloc to get the object allocation traceback
> ./<<PKGBUILDDIR>>/test/test_fileupload.py:67: ResourceWarning: unclosed file 
> <_io.BufferedReader name='/tmp/tmpqub8s3om/test_fileupload.py'>
>   self.assertEqual(fu.file.read(), open(filepath, 'rb').read())
> ResourceWarning: Enable tracemalloc to get the object allocation traceback
> ./usr/lib/python3.12/unittest/case.py:589: ResourceWarning: unclosed file 
> <_io.BufferedRandom name=4>
>   if method() is not None:
> ResourceWarning: Enable tracemalloc to get the object allocation traceback
> ......EE.E..../<<PKGBUILDDIR>>/bottle.py:3268: DeprecationWarning: The 
> template lookup path list should not be empty.
>   self.filename = self.search(self.name, self.lookup)
> /<<PKGBUILDDIR>>/bottle.py:3268: DeprecationWarning: Absolute template path 
> names are deprecated.
>   self.filename = self.search(self.name, self.lookup)
> /<<PKGBUILDDIR>>/bottle.py:3383: DeprecationWarning: The template lookup path 
> list should not be empty.
>   fname = self.search(name, self.lookup)
> /<<PKGBUILDDIR>>/bottle.py:3383: DeprecationWarning: Absolute template path 
> names are deprecated.
>   fname = self.search(name, self.lookup)
> ..................................................../<<PKGBUILDDIR>>/bottle.py:539:
>  DeprecationWarning: Switch to Plugin API v2 and access the Route object 
> directly.
>   context = self if api > 1 else self._context
> ..................../<<PKGBUILDDIR>>/test/test_resources.py:76: 
> ResourceWarning: unclosed file <_io.TextIOWrapper 
> name='/<<PKGBUILDDIR>>/test/test_resources.py' mode='r' encoding='UTF-8'>
>   self.assertEqual(fp.read(), open(__file__).read())
> ResourceWarning: Enable tracemalloc to get the object allocation traceback
> /usr/lib/python3.12/unittest/case.py:589: ResourceWarning: unclosed file 
> <_io.TextIOWrapper name='/<<PKGBUILDDIR>>/test/test_resources.py' mode='r' 
> encoding='UTF-8'>
>   if method() is not None:
> ResourceWarning: Enable tracemalloc to get the object allocation traceback
> ............./<<PKGBUILDDIR>>/bottle.py:392: RuntimeWarning: Route <GET 
> /object/<id:float>> overwrites a previously defined route
>   warnings.warn(msg % (method, rule), RuntimeWarning)
> .../<<PKGBUILDDIR>>/bottle.py:392: RuntimeWarning: Route <GET 
> /func2(:param#(foo|bar)#)> overwrites a previously defined route
>   warnings.warn(msg % (method, rule), RuntimeWarning)
> ................................/<<PKGBUILDDIR>>/test/test_sendfile.py:87: 
> ResourceWarning: unclosed file <_io.BufferedReader 
> name='/<<PKGBUILDDIR>>/test/test_sendfile.py'>
>   f = static_file(basename, root=root)
> ResourceWarning: Enable tracemalloc to get the object allocation traceback
> /<<PKGBUILDDIR>>/test/test_sendfile.py:88: ResourceWarning: unclosed file 
> <_io.BufferedReader name='/<<PKGBUILDDIR>>/test/test_sendfile.py'>
>   self.assertEqual(open(__file__,'rb').read(), f.body.read())
> ResourceWarning: Enable tracemalloc to get the object allocation traceback
> /usr/lib/python3.12/unittest/case.py:589: ResourceWarning: unclosed file 
> <_io.BufferedReader name='/<<PKGBUILDDIR>>/test/test_sendfile.py'>
>   if method() is not None:
> ResourceWarning: Enable tracemalloc to get the object allocation traceback
> ./<<PKGBUILDDIR>>/test/test_sendfile.py:80: ResourceWarning: unclosed file 
> <_io.BufferedReader name='/<<PKGBUILDDIR>>/test/test_sendfile.py'>
>   self.assertEqual(open(__file__,'rb').read(), static_file(basename, 
> root=root).body.read())
> ResourceWarning: Enable tracemalloc to get the object allocation traceback
> ../<<PKGBUILDDIR>>/test/test_sendfile.py:65: ResourceWarning: unclosed file 
> <_io.BufferedReader name='/<<PKGBUILDDIR>>/test/test_sendfile.py'>
>   f = static_file(basename, root=root, mimetype='some/type')
> ResourceWarning: Enable tracemalloc to get the object allocation traceback
> /<<PKGBUILDDIR>>/test/test_sendfile.py:67: ResourceWarning: unclosed file 
> <_io.BufferedReader name='/<<PKGBUILDDIR>>/test/test_sendfile.py'>
>   f = static_file(basename, root=root, mimetype='text/foo')
> ResourceWarning: Enable tracemalloc to get the object allocation traceback
> /<<PKGBUILDDIR>>/test/test_sendfile.py:69: ResourceWarning: unclosed file 
> <_io.BufferedReader name='/<<PKGBUILDDIR>>/test/test_sendfile.py'>
>   f = static_file(basename, root=root, mimetype='text/foo', charset='latin1')
> ResourceWarning: Enable tracemalloc to get the object allocation traceback
> ./<<PKGBUILDDIR>>/test/test_sendfile.py:94: ResourceWarning: unclosed file 
> <_io.BufferedReader name='/<<PKGBUILDDIR>>/test/test_sendfile.py'>
>   self.assertEqual(c.read(16), tob('').join(f.body))
> ResourceWarning: Enable tracemalloc to get the object allocation traceback
> /<<PKGBUILDDIR>>/test/test_sendfile.py:95: ResourceWarning: unclosed file 
> <_io.BufferedReader name='/<<PKGBUILDDIR>>/test/test_sendfile.py'>
>   self.assertEqual('bytes 10-25/%d' % len(open(__file__, 'rb').read()),
> ResourceWarning: Enable tracemalloc to get the object allocation traceback
> ../<<PKGBUILDDIR>>/test/test_sendfile.py:46: ResourceWarning: unclosed file 
> <_io.BufferedReader name='/<<PKGBUILDDIR>>/test/test_sendfile.py'>
>   self.assertEqual(open(__file__,'rb').read(), out.body.read())
> ResourceWarning: Enable tracemalloc to get the object allocation traceback
> ./<<PKGBUILDDIR>>/test/test_server.py:47: ResourceWarning: unclosed 
> <socket.socket fd=4, family=2, type=1, proto=0, laddr=('0.0.0.0', 44868)>
>   if ping('127.0.0.1', port): return
> ResourceWarning: Enable tracemalloc to get the object allocation traceback
> /<<PKGBUILDDIR>>/test/test_server.py:47: ResourceWarning: unclosed 
> <socket.socket fd=4, family=2, type=1, proto=0, laddr=('0.0.0.0', 44882)>
>   if ping('127.0.0.1', port): return
> ResourceWarning: Enable tracemalloc to get the object allocation traceback
> WARNING: Skipping 'meinheld' test (ImportError).
> ./usr/lib/python3.12/unittest/suite.py:84: ResourceWarning: unclosed file 
> <_io.BufferedReader name=3>
>   return self.run(*args, **kwds)
> ResourceWarning: Enable tracemalloc to get the object allocation traceback
> /usr/lib/python3.12/unittest/suite.py:84: ResourceWarning: unclosed file 
> <_io.BufferedReader name=5>
>   return self.run(*args, **kwds)
> ResourceWarning: Enable tracemalloc to get the object allocation traceback
> /<<PKGBUILDDIR>>/test/test_server.py:47: ResourceWarning: unclosed 
> <socket.socket fd=4, family=2, type=1, proto=0, laddr=('0.0.0.0', 44898)>
>   if ping('127.0.0.1', port): return
> ResourceWarning: Enable tracemalloc to get the object allocation traceback
> WARNING: Skipping 'bjoern' test (ImportError).
> ./<<PKGBUILDDIR>>/test/test_server.py:47: ResourceWarning: unclosed 
> <socket.socket fd=4, family=2, type=1, proto=0, laddr=('0.0.0.0', 44906)>
>   if ping('127.0.0.1', port): return
> ResourceWarning: Enable tracemalloc to get the object allocation traceback
> WARNING: Skipping 'cherrypy' test (ImportError).
> ./<<PKGBUILDDIR>>/test/test_server.py:47: ResourceWarning: unclosed 
> <socket.socket fd=4, family=2, type=1, proto=0, laddr=('0.0.0.0', 44912)>
>   if ping('127.0.0.1', port): return
> ResourceWarning: Enable tracemalloc to get the object allocation traceback
> WARNING: Skipping 'diesel' test (ImportError).
> ./<<PKGBUILDDIR>>/test/test_server.py:47: ResourceWarning: unclosed 
> <socket.socket fd=4, family=2, type=1, proto=0, laddr=('0.0.0.0', 44918)>
>   if ping('127.0.0.1', port): return
> ResourceWarning: Enable tracemalloc to get the object allocation traceback
> WARNING: Skipping 'eventlet' test (ImportError).
> ./<<PKGBUILDDIR>>/test/test_server.py:47: ResourceWarning: unclosed 
> <socket.socket fd=4, family=2, type=1, proto=0, laddr=('0.0.0.0', 44922)>
>   if ping('127.0.0.1', port): return
> ResourceWarning: Enable tracemalloc to get the object allocation traceback
> WARNING: Skipping 'fapws3' test (ImportError).
> ./<<PKGBUILDDIR>>/test/test_server.py:47: ResourceWarning: unclosed 
> <socket.socket fd=4, family=2, type=1, proto=0, laddr=('0.0.0.0', 44936)>
>   if ping('127.0.0.1', port): return
> ResourceWarning: Enable tracemalloc to get the object allocation traceback
> WARNING: Skipping 'gevent' test (ImportError).
> ./<<PKGBUILDDIR>>/test/test_server.py:47: ResourceWarning: unclosed 
> <socket.socket fd=4, family=2, type=1, proto=0, laddr=('0.0.0.0', 44940)>
>   if ping('127.0.0.1', port): return
> ResourceWarning: Enable tracemalloc to get the object allocation traceback
> WARNING: Skipping 'gunicorn' test (ImportError).
> ../<<PKGBUILDDIR>>/test/test_server.py:47: ResourceWarning: unclosed 
> <socket.socket fd=4, family=2, type=1, proto=0, laddr=('0.0.0.0', 44958)>
>   if ping('127.0.0.1', port): return
> ResourceWarning: Enable tracemalloc to get the object allocation traceback
> /<<PKGBUILDDIR>>/test/test_server.py:47: ResourceWarning: unclosed 
> <socket.socket fd=4, family=2, type=1, proto=0, laddr=('0.0.0.0', 44972)>
>   if ping('127.0.0.1', port): return
> ResourceWarning: Enable tracemalloc to get the object allocation traceback
> WARNING: Skipping 'rocket' test (ImportError).
> ../<<PKGBUILDDIR>>/test/test_server.py:47: ResourceWarning: unclosed 
> <socket.socket fd=4, family=2, type=1, proto=0, laddr=('0.0.0.0', 45002)>
>   if ping('127.0.0.1', port): return
> ResourceWarning: Enable tracemalloc to get the object allocation traceback
> ./<<PKGBUILDDIR>>/test/test_server.py:47: ResourceWarning: unclosed 
> <socket.socket fd=4, family=2, type=1, proto=0, laddr=('0.0.0.0', 45024)>
>   if ping('127.0.0.1', port): return
> ResourceWarning: Enable tracemalloc to get the object allocation traceback
> /<<PKGBUILDDIR>>/test/test_server.py:47: ResourceWarning: unclosed 
> <socket.socket fd=4, family=2, type=1, proto=0, laddr=('0.0.0.0', 45040)>
>   if ping('127.0.0.1', port): return
> ResourceWarning: Enable tracemalloc to get the object allocation traceback
> WARNING: Skipping 'twisted' test (ImportError).
> ........../<<PKGBUILDDIR>>/bottle.py:3622: DeprecationWarning: The include 
> and rebase keywords are functions now.
>   line, comment = self.fix_backward_compatibility(line, comment)
> ...../<<PKGBUILDDIR>>/bottle.py:3622: DeprecationWarning: PEP263 encoding 
> strings in templates are deprecated.
>   line, comment = self.fix_backward_compatibility(line, comment)
> ....../<<PKGBUILDDIR>>/bottle.py:201: DeprecationWarning: Template encodings 
> other than utf8 are no longer supported.
>   value = obj.__dict__[self.func.__name__] = self.func(obj)
> ..../<<PKGBUILDDIR>>/bottle.py:3416: DeprecationWarning: Escape code lines 
> with a backslash.
>   code = parser.translate()
> ................................................................
> ======================================================================
> ERROR: test_data_import 
> (test.test_importhook.TestImportHooks.test_data_import)
> ----------------------------------------------------------------------
> Traceback (most recent call last):
>   File "/<<PKGBUILDDIR>>/test/test_importhook.py", line 26, in 
> test_data_import
>     from bottle.ext.test import item
> ModuleNotFoundError: No module named 'bottle.ext.test'
> 
> ======================================================================
> ERROR: test_direkt_import 
> (test.test_importhook.TestImportHooks.test_direkt_import)
> ----------------------------------------------------------------------
> Traceback (most recent call last):
>   File "/<<PKGBUILDDIR>>/test/test_importhook.py", line 16, in 
> test_direkt_import
>     import bottle.ext.test
> ModuleNotFoundError: No module named 'bottle.ext.test'
> 
> ======================================================================
> {'field1': ['value1'], 'field2': ['value2', '万难']} False
> ERROR: test_from_import 
> (test.test_importhook.TestImportHooks.test_from_import)
> ----------------------------------------------------------------------
> Traceback (most recent call last):
>   File "/<<PKGBUILDDIR>>/test/test_importhook.py", line 21, in 
> test_from_import
>     from bottle.ext import test
> ImportError: cannot import name 'test' from 'bottle.ext' 
> (/<<PKGBUILDDIR>>/bottle.py)
> 
> ----------------------------------------------------------------------
> Ran 332 tests in 3.674s
> 
> FAILED (errors=3, skipped=1)
> py312: exit 1 (3.88 seconds) /<<PKGBUILDDIR>>> .tox/py312/bin/python -m 
> unittest discover pid=871097
>   py312: FAIL code 1 (6.41=setup[2.52]+cmd[3.88] seconds)
>   evaluation failed :( (6.48 seconds)
> E: pybuild pybuild:395: test: plugin distutils failed with: exit code=1: cd 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_bottle/build; tox -c 
> /<<PKGBUILDDIR>>/tox.ini --sitepackages -e py312 -x 
> testenv.passenv+=_PYTHON_HOST_PLATFORM --installpkg 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_bottle/bottle-0.12.25-py3-none-any.whl
>  
> I: pybuild base:310: /usr/bin/python3 -c "import setuptools, runpy; 
> runpy.run_path('setup.py')" bdist_wheel 
> running bdist_wheel
> running build
> running build_py
> /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:66: 
> SetuptoolsDeprecationWarning: setup.py install is deprecated.
> !!
> 
>         
> ********************************************************************************
>         Please avoid running ``setup.py`` directly.
>         Instead, use pypa/build, pypa/installer or other
>         standards-based tools.
> 
>         See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html 
> for details.
>         
> ********************************************************************************
> 
> !!
>   self.initialize_options()
> installing to build/bdist.linux-x86_64/wheel
> running install
> running install_lib
> creating build/bdist.linux-x86_64/wheel
> copying build/lib/bottle.py -> build/bdist.linux-x86_64/wheel
> running install_egg_info
> running egg_info
> writing bottle.egg-info/PKG-INFO
> writing dependency_links to bottle.egg-info/dependency_links.txt
> writing top-level names to bottle.egg-info/top_level.txt
> reading manifest file 'bottle.egg-info/SOURCES.txt'
> reading manifest template 'MANIFEST.in'
> warning: no files found matching 'LICENSE.txt'
> adding license file 'LICENSE'
> adding license file 'AUTHORS'
> writing manifest file 'bottle.egg-info/SOURCES.txt'
> Copying bottle.egg-info to 
> build/bdist.linux-x86_64/wheel/bottle-0.12.25.egg-info
> running install_scripts
> creating build/bdist.linux-x86_64/wheel/bottle-0.12.25.dist-info/WHEEL
> creating 'dist/bottle-0.12.25-py3-none-any.whl' and adding 
> 'build/bdist.linux-x86_64/wheel' to it
> adding 'bottle.py'
> adding 'bottle-0.12.25.dist-info/AUTHORS'
> adding 'bottle-0.12.25.dist-info/LICENSE'
> adding 'bottle-0.12.25.dist-info/METADATA'
> adding 'bottle-0.12.25.dist-info/WHEEL'
> adding 'bottle-0.12.25.dist-info/top_level.txt'
> adding 'bottle-0.12.25.dist-info/RECORD'
> removing build/bdist.linux-x86_64/wheel
> I: pybuild base:310: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_bottle/build; 
> tox -c /<<PKGBUILDDIR>>/tox.ini --sitepackages -e py311 -x 
> testenv.passenv+=_PYTHON_HOST_PLATFORM --installpkg 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_bottle/bottle-0.12.25-py3-none-any.whl
>  
> py311: install_deps .pybuild/cpython3_3.11_bottle/build> python -I -m pip 
> install jinja2 Mako
> py311: install_package .pybuild/cpython3_3.11_bottle/build> python -I -m pip 
> install --force-reinstall --no-deps 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_bottle/bottle-0.12.25-py3-none-any.whl
> py311: commands[0] .pybuild/cpython3_3.11_bottle/build> .tox/py311/bin/python 
> -m unittest discover
> /<<PKGBUILDDIR>>/test/test_server.py:53: SyntaxWarning: "is" with a literal. 
> Did you mean "=="?
>   if rv is 128: # Import error
> /<<PKGBUILDDIR>>/test/test_server.py:57: SyntaxWarning: "is" with a literal. 
> Did you mean "=="?
>   if rv is 3: # Port in use
> ....../<<PKGBUILDDIR>>/test/test_configdict.py:30: DeprecationWarning: 
> Attribute assignment is deprecated.
>   c.test = 5
> /<<PKGBUILDDIR>>/test/test_configdict.py:31: DeprecationWarning: Attribute 
> access is deprecated.
>   self.assertEqual(5, c.test)
> /<<PKGBUILDDIR>>/test/test_configdict.py:34: DeprecationWarning: Attribute 
> access is deprecated.
>   self.assertEqual(6, c.test)
> /<<PKGBUILDDIR>>/test/test_configdict.py:38: DeprecationWarning: Attribute 
> access is deprecated.
>   self.assertEqual(None, c.test)
> ./<<PKGBUILDDIR>>/test/test_configdict.py:61: DeprecationWarning: Calling 
> ConfDict is deprecated. Use the update() method.
>   self.assertEqual(c, c(a=1))
> /<<PKGBUILDDIR>>/test/test_configdict.py:63: DeprecationWarning: Attribute 
> access is deprecated.
>   self.assertEqual(1, c.a)
> ./<<PKGBUILDDIR>>/test/test_configdict.py:12: DeprecationWarning: Constructor 
> does no longer accept parameters.
>   d, m = dict(a=5), ConfigDict(a=5)
> ./<<PKGBUILDDIR>>/test/test_configdict.py:70: DeprecationWarning: Accessing 
> namespaces as dicts is discouraged. Only use flat item access: 
> cfg["names"]["pace"]["key"] -> cfg["name.space.key"]
>   self.assertEqual('c', c['a']['b'])
> <frozen _collections_abc>:861: DeprecationWarning: Accessing namespaces as 
> dicts is discouraged. Only use flat item access: cfg["names"]["pace"]["key"] 
> -> cfg["name.space.key"]
> ../<<PKGBUILDDIR>>/test/test_configdict.py:43: DeprecationWarning: Attribute 
> access is deprecated.
>   self.assertEqual(ConfigDict.Namespace, c.Name.Space.__class__)
> <frozen _collections_abc>:774: DeprecationWarning: Accessing namespaces as 
> dicts is discouraged. Only use flat item access: cfg["names"]["pace"]["key"] 
> -> cfg["name.space.key"]
> /<<PKGBUILDDIR>>/test/test_configdict.py:44: DeprecationWarning: Attribute 
> access is deprecated.
>   c.Name.Space.value = 5
> /<<PKGBUILDDIR>>/test/test_configdict.py:44: DeprecationWarning: Attribute 
> assignment is deprecated.
>   c.Name.Space.value = 5
> /<<PKGBUILDDIR>>/test/test_configdict.py:45: DeprecationWarning: Attribute 
> access is deprecated.
>   self.assertEqual(5, c.Name.Space.value)
> /<<PKGBUILDDIR>>/test/test_configdict.py:46: DeprecationWarning: Attribute 
> access is deprecated.
>   self.assertTrue('value' in c.Name.Space)
> /<<PKGBUILDDIR>>/test/test_configdict.py:47: DeprecationWarning: Attribute 
> access is deprecated.
>   self.assertTrue('Space' in c.Name)
> /<<PKGBUILDDIR>>/test/test_configdict.py:51: DeprecationWarning: Attribute 
> assignment is deprecated.
>   self.assertRaises(AttributeError, lambda: setattr(c, 'Name', 5))
> /<<PKGBUILDDIR>>/test/test_configdict.py:53: DeprecationWarning: Attribute 
> assignment is deprecated.
>   self.assertRaises(AttributeError, lambda: setattr(c, 'keys', 5))
> /<<PKGBUILDDIR>>/test/test_configdict.py:56: DeprecationWarning: Attribute 
> access is deprecated.
>   self.assertEqual(5, c.Name)
> ....................................../usr/lib/python3.11/mimetypes.py:232: 
> ResourceWarning: unclosed file <_io.FileIO name=3 mode='rb+' closefd=True>
>   for suff in suffixes:
> ResourceWarning: Enable tracemalloc to get the object allocation traceback
> ....................s.................../usr/lib/python3.11/unittest/case.py:579:
>  ResourceWarning: unclosed file <_io.BufferedReader 
> name='/<<PKGBUILDDIR>>/test/test_fileupload.py'>
>   if method() is not None:
> ResourceWarning: Enable tracemalloc to get the object allocation traceback
> ./<<PKGBUILDDIR>>/test/test_fileupload.py:67: ResourceWarning: unclosed file 
> <_io.BufferedReader name='/tmp/tmpp70gr3ln/test_fileupload.py'>
>   self.assertEqual(fu.file.read(), open(filepath, 'rb').read())
> ResourceWarning: Enable tracemalloc to get the object allocation traceback
> ./usr/lib/python3.11/unittest/case.py:579: ResourceWarning: unclosed file 
> <_io.BufferedRandom name=4>
>   if method() is not None:
> ResourceWarning: Enable tracemalloc to get the object allocation traceback
> ......<frozen importlib._bootstrap>:1047: ImportWarning: 
> _ImportRedirect.find_spec() not found; falling back to find_module()
> <frozen importlib._bootstrap>:673: ImportWarning: 
> _ImportRedirect.exec_module() not found; falling back to load_module()
> ......../<<PKGBUILDDIR>>/bottle.py:3268: DeprecationWarning: The template 
> lookup path list should not be empty.
>   self.filename = self.search(self.name, self.lookup)
> /<<PKGBUILDDIR>>/bottle.py:3268: DeprecationWarning: Absolute template path 
> names are deprecated.
>   self.filename = self.search(self.name, self.lookup)
> /<<PKGBUILDDIR>>/bottle.py:3383: DeprecationWarning: The template lookup path 
> list should not be empty.
>   fname = self.search(name, self.lookup)
> /<<PKGBUILDDIR>>/bottle.py:3383: DeprecationWarning: Absolute template path 
> names are deprecated.
>   fname = self.search(name, self.lookup)
> ..................................................../<<PKGBUILDDIR>>/bottle.py:539:
>  DeprecationWarning: Switch to Plugin API v2 and access the Route object 
> directly.
>   context = self if api > 1 else self._context
> ..................../<<PKGBUILDDIR>>/test/test_resources.py:76: 
> ResourceWarning: unclosed file <_io.TextIOWrapper 
> name='/<<PKGBUILDDIR>>/test/test_resources.py' mode='r' encoding='UTF-8'>
>   self.assertEqual(fp.read(), open(__file__).read())
> ResourceWarning: Enable tracemalloc to get the object allocation traceback
> /usr/lib/python3.11/unittest/case.py:579: ResourceWarning: unclosed file 
> <_io.TextIOWrapper name='/<<PKGBUILDDIR>>/test/test_resources.py' mode='r' 
> encoding='UTF-8'>
>   if method() is not None:
> ResourceWarning: Enable tracemalloc to get the object allocation traceback
> ............./<<PKGBUILDDIR>>/bottle.py:392: RuntimeWarning: Route <GET 
> /object/<id:float>> overwrites a previously defined route
>   warnings.warn(msg % (method, rule), RuntimeWarning)
> .../<<PKGBUILDDIR>>/bottle.py:392: RuntimeWarning: Route <GET 
> /func2(:param#(foo|bar)#)> overwrites a previously defined route
>   warnings.warn(msg % (method, rule), RuntimeWarning)
> ................................/<<PKGBUILDDIR>>/test/test_sendfile.py:87: 
> ResourceWarning: unclosed file <_io.BufferedReader 
> name='/<<PKGBUILDDIR>>/test/test_sendfile.py'>
>   f = static_file(basename, root=root)
> ResourceWarning: Enable tracemalloc to get the object allocation traceback
> /<<PKGBUILDDIR>>/test/test_sendfile.py:88: ResourceWarning: unclosed file 
> <_io.BufferedReader name='/<<PKGBUILDDIR>>/test/test_sendfile.py'>
>   self.assertEqual(open(__file__,'rb').read(), f.body.read())
> ResourceWarning: Enable tracemalloc to get the object allocation traceback
> /usr/lib/python3.11/unittest/case.py:579: ResourceWarning: unclosed file 
> <_io.BufferedReader name='/<<PKGBUILDDIR>>/test/test_sendfile.py'>
>   if method() is not None:
> ResourceWarning: Enable tracemalloc to get the object allocation traceback
> ./<<PKGBUILDDIR>>/test/test_sendfile.py:80: ResourceWarning: unclosed file 
> <_io.BufferedReader name='/<<PKGBUILDDIR>>/test/test_sendfile.py'>
>   self.assertEqual(open(__file__,'rb').read(), static_file(basename, 
> root=root).body.read())
> ResourceWarning: Enable tracemalloc to get the object allocation traceback
> ../<<PKGBUILDDIR>>/test/test_sendfile.py:65: ResourceWarning: unclosed file 
> <_io.BufferedReader name='/<<PKGBUILDDIR>>/test/test_sendfile.py'>
>   f = static_file(basename, root=root, mimetype='some/type')
> ResourceWarning: Enable tracemalloc to get the object allocation traceback
> /<<PKGBUILDDIR>>/test/test_sendfile.py:67: ResourceWarning: unclosed file 
> <_io.BufferedReader name='/<<PKGBUILDDIR>>/test/test_sendfile.py'>
>   f = static_file(basename, root=root, mimetype='text/foo')
> ResourceWarning: Enable tracemalloc to get the object allocation traceback
> /<<PKGBUILDDIR>>/test/test_sendfile.py:69: ResourceWarning: unclosed file 
> <_io.BufferedReader name='/<<PKGBUILDDIR>>/test/test_sendfile.py'>
>   f = static_file(basename, root=root, mimetype='text/foo', charset='latin1')
> ResourceWarning: Enable tracemalloc to get the object allocation traceback
> ./<<PKGBUILDDIR>>/test/test_sendfile.py:94: ResourceWarning: unclosed file 
> <_io.BufferedReader name='/<<PKGBUILDDIR>>/test/test_sendfile.py'>
>   self.assertEqual(c.read(16), tob('').join(f.body))
> ResourceWarning: Enable tracemalloc to get the object allocation traceback
> /<<PKGBUILDDIR>>/test/test_sendfile.py:95: ResourceWarning: unclosed file 
> <_io.BufferedReader name='/<<PKGBUILDDIR>>/test/test_sendfile.py'>
>   self.assertEqual('bytes 10-25/%d' % len(open(__file__, 'rb').read()),
> ResourceWarning: Enable tracemalloc to get the object allocation traceback
> ../<<PKGBUILDDIR>>/test/test_sendfile.py:46: ResourceWarning: unclosed file 
> <_io.BufferedReader name='/<<PKGBUILDDIR>>/test/test_sendfile.py'>
>   self.assertEqual(open(__file__,'rb').read(), out.body.read())
> ResourceWarning: Enable tracemalloc to get the object allocation traceback
> ./<<PKGBUILDDIR>>/test/test_server.py:47: ResourceWarning: unclosed 
> <socket.socket fd=4, family=2, type=1, proto=0, laddr=('0.0.0.0', 60204)>
>   if ping('127.0.0.1', port): return
> ResourceWarning: Enable tracemalloc to get the object allocation traceback
> WARNING: Skipping 'meinheld' test (ImportError).
> ./usr/lib/python3.11/unittest/suite.py:84: ResourceWarning: unclosed file 
> <_io.BufferedReader name=3>
>   return self.run(*args, **kwds)
> ResourceWarning: Enable tracemalloc to get the object allocation traceback
> /usr/lib/python3.11/unittest/suite.py:84: ResourceWarning: unclosed file 
> <_io.BufferedReader name=5>
>   return self.run(*args, **kwds)
> ResourceWarning: Enable tracemalloc to get the object allocation traceback
> /<<PKGBUILDDIR>>/test/test_server.py:47: ResourceWarning: unclosed 
> <socket.socket fd=4, family=2, type=1, proto=0, laddr=('0.0.0.0', 60218)>
>   if ping('127.0.0.1', port): return
> ResourceWarning: Enable tracemalloc to get the object allocation traceback
> /<<PKGBUILDDIR>>/test/test_server.py:47: ResourceWarning: unclosed 
> <socket.socket fd=4, family=2, type=1, proto=0, laddr=('0.0.0.0', 60228)>
>   if ping('127.0.0.1', port): return
> ResourceWarning: Enable tracemalloc to get the object allocation traceback
> WARNING: Skipping 'bjoern' test (ImportError).
> ./<<PKGBUILDDIR>>/test/test_server.py:47: ResourceWarning: unclosed 
> <socket.socket fd=4, family=2, type=1, proto=0, laddr=('0.0.0.0', 60232)>
>   if ping('127.0.0.1', port): return
> ResourceWarning: Enable tracemalloc to get the object allocation traceback
> WARNING: Skipping 'cherrypy' test (ImportError).
> ./<<PKGBUILDDIR>>/test/test_server.py:47: ResourceWarning: unclosed 
> <socket.socket fd=4, family=2, type=1, proto=0, laddr=('0.0.0.0', 60244)>
>   if ping('127.0.0.1', port): return
> ResourceWarning: Enable tracemalloc to get the object allocation traceback
> /<<PKGBUILDDIR>>/test/test_server.py:47: ResourceWarning: unclosed 
> <socket.socket fd=4, family=2, type=1, proto=0, laddr=('0.0.0.0', 60258)>
>   if ping('127.0.0.1', port): return
> ResourceWarning: Enable tracemalloc to get the object allocation traceback
> WARNING: Skipping 'diesel' test (ImportError).
> ./<<PKGBUILDDIR>>/test/test_server.py:47: ResourceWarning: unclosed 
> <socket.socket fd=4, family=2, type=1, proto=0, laddr=('0.0.0.0', 60270)>
>   if ping('127.0.0.1', port): return
> ResourceWarning: Enable tracemalloc to get the object allocation traceback
> /<<PKGBUILDDIR>>/test/test_server.py:47: ResourceWarning: unclosed 
> <socket.socket fd=4, family=2, type=1, proto=0, laddr=('0.0.0.0', 60274)>
>   if ping('127.0.0.1', port): return
> ResourceWarning: Enable tracemalloc to get the object allocation traceback
> WARNING: Skipping 'eventlet' test (ImportError).
> ./<<PKGBUILDDIR>>/test/test_server.py:47: ResourceWarning: unclosed 
> <socket.socket fd=4, family=2, type=1, proto=0, laddr=('0.0.0.0', 60284)>
>   if ping('127.0.0.1', port): return
> ResourceWarning: Enable tracemalloc to get the object allocation traceback
> WARNING: Skipping 'fapws3' test (ImportError).
> ./<<PKGBUILDDIR>>/test/test_server.py:47: ResourceWarning: unclosed 
> <socket.socket fd=4, family=2, type=1, proto=0, laddr=('0.0.0.0', 60300)>
>   if ping('127.0.0.1', port): return
> ResourceWarning: Enable tracemalloc to get the object allocation traceback
> WARNING: Skipping 'gevent' test (ImportError).
> ./<<PKGBUILDDIR>>/test/test_server.py:47: ResourceWarning: unclosed 
> <socket.socket fd=4, family=2, type=1, proto=0, laddr=('0.0.0.0', 60308)>
>   if ping('127.0.0.1', port): return
> ResourceWarning: Enable tracemalloc to get the object allocation traceback
> /<<PKGBUILDDIR>>/test/test_server.py:47: ResourceWarning: unclosed 
> <socket.socket fd=4, family=2, type=1, proto=0, laddr=('0.0.0.0', 60318)>
>   if ping('127.0.0.1', port): return
> ResourceWarning: Enable tracemalloc to get the object allocation traceback
> WARNING: Skipping 'gunicorn' test (ImportError).
> ../<<PKGBUILDDIR>>/test/test_server.py:47: ResourceWarning: unclosed 
> <socket.socket fd=4, family=2, type=1, proto=0, laddr=('0.0.0.0', 60346)>
>   if ping('127.0.0.1', port): return
> ResourceWarning: Enable tracemalloc to get the object allocation traceback
> WARNING: Skipping 'rocket' test (ImportError).
> ./<<PKGBUILDDIR>>/test/test_server.py:47: ResourceWarning: unclosed 
> <socket.socket fd=4, family=2, type=1, proto=0, laddr=('0.0.0.0', 60350)>
>   if ping('127.0.0.1', port): return
> ResourceWarning: Enable tracemalloc to get the object allocation traceback
> ./<<PKGBUILDDIR>>/test/test_server.py:47: ResourceWarning: unclosed 
> <socket.socket fd=4, family=2, type=1, proto=0, laddr=('0.0.0.0', 60380)>
>   if ping('127.0.0.1', port): return
> ResourceWarning: Enable tracemalloc to get the object allocation traceback
> ./<<PKGBUILDDIR>>/test/test_server.py:47: ResourceWarning: unclosed 
> <socket.socket fd=4, family=2, type=1, proto=0, laddr=('0.0.0.0', 60420)>
>   if ping('127.0.0.1', port): return
> ResourceWarning: Enable tracemalloc to get the object allocation traceback
> WARNING: Skipping 'twisted' test (ImportError).
> ........../<<PKGBUILDDIR>>/bottle.py:3622: DeprecationWarning: The include 
> and rebase keywords are functions now.
>   line, comment = self.fix_backward_compatibility(line, comment)
> ...../<<PKGBUILDDIR>>/bottle.py:3622: DeprecationWarning: PEP263 encoding 
> strings in templates are deprecated.
>   line, comment = self.fix_backward_compatibility(line, comment)
> ....../<<PKGBUILDDIR>>/bottle.py:201: DeprecationWarning: Template encodings 
> other than utf8 are no longer supported.
>   value = obj.__dict__[self.func.__name__] = self.func(obj)
> ..../<<PKGBUILDDIR>>/bottle.py:3416: DeprecationWarning: Escape code lines 
> with a backslash.
>   code = parser.translate()
> ................................................................
> ----------------------------------------------------------------------
> Ran 333 tests in 3.756s
> 
> OK (skipped=1)
> {'field1': ['value1'], 'field2': ['value2', '万难']} False
>   py311: OK (6.19=setup[2.19]+cmd[4.00] seconds)
>   congratulations :) (6.28 seconds)
>       rm -fr -- /tmp/dh-xdg-rundir-eb3KHmbX
> dh_auto_test: error: pybuild --test --test-tox -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/python-bottle_0.12.25-1_unstable.log

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

--- End Message ---
--- Begin Message ---
Version: 0.13.2-1

On Tue, 12 Dec 2023 09:02:11 +0100 Lucas Nussbaum <[email protected]> wrote:
> Source: python-bottle
> Version: 0.12.25-1
> Severity: serious
> Justification: FTBFS
> Tags: trixie sid ftbfs
> User: [email protected]
> Usertags: ftbfs-20231212 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
> >     pybuild --build -i python{version} -p "3.12 3.11"
> > I: pybuild base:310: /usr/bin/python3.12 setup.py build 
> > running build
> > running build_py
> > copying bottle.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_bottle/build
> > I: pybuild base:310: /usr/bin/python3 setup.py build 
> > running build
> > running build_py
> > copying bottle.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_bottle/build
> > PYTHONPATH=. http_proxy='http://127.0.0.1:9/' sphinx-build -N -E -bhtml 
> > docs build/html
> > Running Sphinx v7.2.6
> > making output directory... done
> > loading intersphinx inventory from http://docs.python.org/objects.inv...
> > loading intersphinx inventory from 
> > http://werkzeug.pocoo.org/docs/objects.inv...
> > WARNING: failed to reach any of the inventories with the following issues:
> > intersphinx inventory 'http://docs.python.org/objects.inv' not fetchable 
> > due to <class 'requests.exceptions.ProxyError'>: 
> > HTTPConnectionPool(host='127.0.0.1', port=9): Max
retries exceeded with url: http://docs.python.org/objects.inv (Caused by 
ProxyError('Cannot connect to proxy.', 
NewConnectionError('<urllib3.connection.HTTPConnection object
at 0x7f4c44dc7910>: Failed to establish a new connection: [Errno 111] 
Connection refused')))
> > WARNING: failed to reach any of the inventories with the following issues:
> > intersphinx inventory 'http://werkzeug.pocoo.org/docs/objects.inv' not 
> > fetchable due to <class 'requests.exceptions.ProxyError'>: 
> > HTTPConnectionPool(host='127.0.0.1',
port=9): Max retries exceeded with url: 
http://werkzeug.pocoo.org/docs/objects.inv (Caused by ProxyError('Cannot 
connect to proxy.',
NewConnectionError('<urllib3.connection.HTTPConnection object at 
0x7f4c44dd4c50>: Failed to establish a new connection: [Errno 111] Connection 
refused')))
> > building [mo]: targets for 0 po files that are out of date
> > writing output... 
> > building [html]: targets for 19 source files that are out of date
> > updating environment: [new config] 19 added, 0 changed, 0 removed
> > reading sources... [  5%] api
> > reading sources... [ 11%] async
> > reading sources... [ 16%] changelog
> > reading sources... [ 21%] cli
> > reading sources... [ 26%] configuration
> > reading sources... [ 32%] contact
> > reading sources... [ 37%] deployment
> > reading sources... [ 42%] development
> > reading sources... [ 47%] faq
> > reading sources... [ 53%] index
> > reading sources... [ 58%] plugindev
> > reading sources... [ 63%] plugins/index
> > reading sources... [ 68%] plugins/sqlite
> > reading sources... [ 74%] plugins/werkzeug
> > reading sources... [ 79%] recipes
> > reading sources... [ 84%] routing
> > reading sources... [ 89%] stpl
> > reading sources... [ 95%] tutorial
> > reading sources... [100%] tutorial_app
> > 
> > /<<PKGBUILDDIR>>/bottle.py:docstring of bottle.request:1: WARNING: 
> > duplicate object description of bottle.request, other instance in api, use 
> > :no-index: for one of them


The package can now be correctly built in v0.13.2-1.

Thanks,
Boyuan Yang

Attachment: signature.asc
Description: This is a digitally signed message part


--- End Message ---

Reply via email to