Source: python-pecan
Version: 1.4.1-1
Severity: serious
Justification: FTBFS
Tags: bookworm sid ftbfs
User: lu...@debian.org
Usertags: ftbfs-20221220 ftbfs-bookworm

Hi,

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


Relevant part (hopefully):
> make[1]: Entering directory '/<<PKGBUILDDIR>>'
> make[1]: pyversions: No such file or directory
> py3versions: no X-Python3-Version in control file, using supported versions
> pkgos-dh_auto_install --no-py2 --in-tmp
> + PKGOS_IN_TMP=no
> + echo WARNING: --no-py2 is deprecated and always on.
> WARNING: --no-py2 is deprecated and always on.
> + shift
> + PKGOS_IN_TMP=yes
> + shift
> + dpkg-parsechangelog -SSource
> + SRC_PKG_NAME=python-pecan
> + echo python-pecan
> + sed s/python-//
> + PY_MODULE_NAME=pecan
> + py3versions -vr
> + PYTHON3S=3.11 3.10
> + [ yes = yes ]
> + TARGET_DIR=tmp
> + pwd
> + python3.11 setup.py install --install-layout=deb --root 
> /<<PKGBUILDDIR>>/debian/tmp
> running install
> /usr/lib/python3/dist-packages/setuptools/command/install.py:34: 
> SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and 
> pip and other standards-based tools.
>   warnings.warn(
> running build
> running build_py
> creating build
> creating build/lib
> creating build/lib/pecan
> copying pecan/__init__.py -> build/lib/pecan
> copying pecan/core.py -> build/lib/pecan
> copying pecan/util.py -> build/lib/pecan
> copying pecan/hooks.py -> build/lib/pecan
> copying pecan/log.py -> build/lib/pecan
> copying pecan/decorators.py -> build/lib/pecan
> copying pecan/secure.py -> build/lib/pecan
> copying pecan/extensions.py -> build/lib/pecan
> copying pecan/rest.py -> build/lib/pecan
> copying pecan/deploy.py -> build/lib/pecan
> copying pecan/routing.py -> build/lib/pecan
> copying pecan/templating.py -> build/lib/pecan
> copying pecan/testing.py -> build/lib/pecan
> copying pecan/configuration.py -> build/lib/pecan
> copying pecan/jsonify.py -> build/lib/pecan
> creating build/lib/pecan/commands
> copying pecan/commands/__init__.py -> build/lib/pecan/commands
> copying pecan/commands/shell.py -> build/lib/pecan/commands
> copying pecan/commands/base.py -> build/lib/pecan/commands
> copying pecan/commands/serve.py -> build/lib/pecan/commands
> copying pecan/commands/create.py -> build/lib/pecan/commands
> creating build/lib/pecan/compat
> copying pecan/compat/__init__.py -> build/lib/pecan/compat
> creating build/lib/pecan/tests
> copying pecan/tests/__init__.py -> build/lib/pecan/tests
> copying pecan/tests/test_jsonify.py -> build/lib/pecan/tests
> copying pecan/tests/test_templating.py -> build/lib/pecan/tests
> copying pecan/tests/test_no_thread_locals.py -> build/lib/pecan/tests
> copying pecan/tests/scaffold_builder.py -> build/lib/pecan/tests
> copying pecan/tests/test_rest.py -> build/lib/pecan/tests
> copying pecan/tests/test_scaffolds.py -> build/lib/pecan/tests
> copying pecan/tests/test_commands.py -> build/lib/pecan/tests
> copying pecan/tests/test_base.py -> build/lib/pecan/tests
> copying pecan/tests/test_hooks.py -> build/lib/pecan/tests
> copying pecan/tests/test_generic.py -> build/lib/pecan/tests
> copying pecan/tests/test_conf.py -> build/lib/pecan/tests
> copying pecan/tests/test_util.py -> build/lib/pecan/tests
> copying pecan/tests/test_secure.py -> build/lib/pecan/tests
> creating build/lib/pecan/ext
> copying pecan/ext/__init__.py -> build/lib/pecan/ext
> creating build/lib/pecan/scaffolds
> copying pecan/scaffolds/__init__.py -> build/lib/pecan/scaffolds
> creating build/lib/pecan/middleware
> copying pecan/middleware/__init__.py -> build/lib/pecan/middleware
> copying pecan/middleware/recursive.py -> build/lib/pecan/middleware
> copying pecan/middleware/debug.py -> build/lib/pecan/middleware
> copying pecan/middleware/static.py -> build/lib/pecan/middleware
> copying pecan/middleware/errordocument.py -> build/lib/pecan/middleware
> creating build/lib/pecan/tests/templates
> copying pecan/tests/templates/__init__.py -> build/lib/pecan/tests/templates
> creating build/lib/pecan/tests/middleware
> copying pecan/tests/middleware/__init__.py -> build/lib/pecan/tests/middleware
> copying pecan/tests/middleware/test_static.py -> 
> build/lib/pecan/tests/middleware
> copying pecan/tests/middleware/test_recursive.py -> 
> build/lib/pecan/tests/middleware
> copying pecan/tests/middleware/test_errordocument.py -> 
> build/lib/pecan/tests/middleware
> creating build/lib/pecan/tests/scaffold_fixtures
> copying pecan/tests/scaffold_fixtures/__init__.py -> 
> build/lib/pecan/tests/scaffold_fixtures
> running egg_info
> creating pecan.egg-info
> writing pecan.egg-info/PKG-INFO
> writing dependency_links to pecan.egg-info/dependency_links.txt
> writing entry points to pecan.egg-info/entry_points.txt
> writing requirements to pecan.egg-info/requires.txt
> writing top-level names to pecan.egg-info/top_level.txt
> writing manifest file 'pecan.egg-info/SOURCES.txt'
> reading manifest file 'pecan.egg-info/SOURCES.txt'
> reading manifest template 'MANIFEST.in'
> warning: no files found matching 'pecan/middleware/resources/*'
> adding license file 'LICENSE'
> adding license file 'AUTHORS'
> writing manifest file 'pecan.egg-info/SOURCES.txt'
> /usr/lib/python3/dist-packages/setuptools/command/build_py.py:202: 
> SetuptoolsDeprecationWarning:     Installing 'pecan.scaffolds.base' as data 
> is deprecated, please list it in `packages`.
>     !!
> 
> 
>     ############################
>     # Package would be ignored #
>     ############################
>     Python recognizes 'pecan.scaffolds.base' as an importable package,
>     but it is not listed in the `packages` configuration of setuptools.
> 
>     'pecan.scaffolds.base' has been automatically added to the distribution 
> only
>     because it may contain data files, but this behavior is likely to change
>     in future versions of setuptools (and therefore is considered deprecated).
> 
>     Please make sure that 'pecan.scaffolds.base' is included as a package by 
> using
>     the `packages` configuration field or the proper discovery methods
>     (for example by using `find_namespace_packages(...)`/`find_namespace:`
>     instead of `find_packages(...)`/`find:`).
> 
>     You can read more about "package discovery" and "data files" on setuptools
>     documentation page.
> 
> 
> !!
> 
>   check.warn(importable)
> /usr/lib/python3/dist-packages/setuptools/command/build_py.py:202: 
> SetuptoolsDeprecationWarning:     Installing 
> 'pecan.scaffolds.base.public.css' as data is deprecated, please list it in 
> `packages`.
>     !!
> 
> 
>     ############################
>     # Package would be ignored #
>     ############################
>     Python recognizes 'pecan.scaffolds.base.public.css' as an importable 
> package,
>     but it is not listed in the `packages` configuration of setuptools.
> 
>     'pecan.scaffolds.base.public.css' has been automatically added to the 
> distribution only
>     because it may contain data files, but this behavior is likely to change
>     in future versions of setuptools (and therefore is considered deprecated).
> 
>     Please make sure that 'pecan.scaffolds.base.public.css' is included as a 
> package by using
>     the `packages` configuration field or the proper discovery methods
>     (for example by using `find_namespace_packages(...)`/`find_namespace:`
>     instead of `find_packages(...)`/`find:`).
> 
>     You can read more about "package discovery" and "data files" on setuptools
>     documentation page.
> 
> 
> !!
> 
>   check.warn(importable)
> /usr/lib/python3/dist-packages/setuptools/command/build_py.py:202: 
> SetuptoolsDeprecationWarning:     Installing 
> 'pecan.scaffolds.base.public.images' as data is deprecated, please list it in 
> `packages`.
>     !!
> 
> 
>     ############################
>     # Package would be ignored #
>     ############################
>     Python recognizes 'pecan.scaffolds.base.public.images' as an importable 
> package,
>     but it is not listed in the `packages` configuration of setuptools.
> 
>     'pecan.scaffolds.base.public.images' has been automatically added to the 
> distribution only
>     because it may contain data files, but this behavior is likely to change
>     in future versions of setuptools (and therefore is considered deprecated).
> 
>     Please make sure that 'pecan.scaffolds.base.public.images' is included as 
> a package by using
>     the `packages` configuration field or the proper discovery methods
>     (for example by using `find_namespace_packages(...)`/`find_namespace:`
>     instead of `find_packages(...)`/`find:`).
> 
>     You can read more about "package discovery" and "data files" on setuptools
>     documentation page.
> 
> 
> !!
> 
>   check.warn(importable)
> /usr/lib/python3/dist-packages/setuptools/command/build_py.py:202: 
> SetuptoolsDeprecationWarning:     Installing 'pecan.tests.config_fixtures' as 
> data is deprecated, please list it in `packages`.
>     !!
> 
> 
>     ############################
>     # Package would be ignored #
>     ############################
>     Python recognizes 'pecan.tests.config_fixtures' as an importable package,
>     but it is not listed in the `packages` configuration of setuptools.
> 
>     'pecan.tests.config_fixtures' has been automatically added to the 
> distribution only
>     because it may contain data files, but this behavior is likely to change
>     in future versions of setuptools (and therefore is considered deprecated).
> 
>     Please make sure that 'pecan.tests.config_fixtures' is included as a 
> package by using
>     the `packages` configuration field or the proper discovery methods
>     (for example by using `find_namespace_packages(...)`/`find_namespace:`
>     instead of `find_packages(...)`/`find:`).
> 
>     You can read more about "package discovery" and "data files" on setuptools
>     documentation page.
> 
> 
> !!
> 
>   check.warn(importable)
> /usr/lib/python3/dist-packages/setuptools/command/build_py.py:202: 
> SetuptoolsDeprecationWarning:     Installing 
> 'pecan.tests.config_fixtures.bad' as data is deprecated, please list it in 
> `packages`.
>     !!
> 
> 
>     ############################
>     # Package would be ignored #
>     ############################
>     Python recognizes 'pecan.tests.config_fixtures.bad' as an importable 
> package,
>     but it is not listed in the `packages` configuration of setuptools.
> 
>     'pecan.tests.config_fixtures.bad' has been automatically added to the 
> distribution only
>     because it may contain data files, but this behavior is likely to change
>     in future versions of setuptools (and therefore is considered deprecated).
> 
>     Please make sure that 'pecan.tests.config_fixtures.bad' is included as a 
> package by using
>     the `packages` configuration field or the proper discovery methods
>     (for example by using `find_namespace_packages(...)`/`find_namespace:`
>     instead of `find_packages(...)`/`find:`).
> 
>     You can read more about "package discovery" and "data files" on setuptools
>     documentation page.
> 
> 
> !!
> 
>   check.warn(importable)
> /usr/lib/python3/dist-packages/setuptools/command/build_py.py:202: 
> SetuptoolsDeprecationWarning:     Installing 
> 'pecan.tests.middleware.static_fixtures' as data is deprecated, please list 
> it in `packages`.
>     !!
> 
> 
>     ############################
>     # Package would be ignored #
>     ############################
>     Python recognizes 'pecan.tests.middleware.static_fixtures' as an 
> importable package,
>     but it is not listed in the `packages` configuration of setuptools.
> 
>     'pecan.tests.middleware.static_fixtures' has been automatically added to 
> the distribution only
>     because it may contain data files, but this behavior is likely to change
>     in future versions of setuptools (and therefore is considered deprecated).
> 
>     Please make sure that 'pecan.tests.middleware.static_fixtures' is 
> included as a package by using
>     the `packages` configuration field or the proper discovery methods
>     (for example by using `find_namespace_packages(...)`/`find_namespace:`
>     instead of `find_packages(...)`/`find:`).
> 
>     You can read more about "package discovery" and "data files" on setuptools
>     documentation page.
> 
> 
> !!
> 
>   check.warn(importable)
> /usr/lib/python3/dist-packages/setuptools/command/build_py.py:202: 
> SetuptoolsDeprecationWarning:     Installing 
> 'pecan.tests.scaffold_fixtures.content_sub' as data is deprecated, please 
> list it in `packages`.
>     !!
> 
> 
>     ############################
>     # Package would be ignored #
>     ############################
>     Python recognizes 'pecan.tests.scaffold_fixtures.content_sub' as an 
> importable package,
>     but it is not listed in the `packages` configuration of setuptools.
> 
>     'pecan.tests.scaffold_fixtures.content_sub' has been automatically added 
> to the distribution only
>     because it may contain data files, but this behavior is likely to change
>     in future versions of setuptools (and therefore is considered deprecated).
> 
>     Please make sure that 'pecan.tests.scaffold_fixtures.content_sub' is 
> included as a package by using
>     the `packages` configuration field or the proper discovery methods
>     (for example by using `find_namespace_packages(...)`/`find_namespace:`
>     instead of `find_packages(...)`/`find:`).
> 
>     You can read more about "package discovery" and "data files" on setuptools
>     documentation page.
> 
> 
> !!
> 
>   check.warn(importable)
> /usr/lib/python3/dist-packages/setuptools/command/build_py.py:202: 
> SetuptoolsDeprecationWarning:     Installing 
> 'pecan.tests.scaffold_fixtures.content_sub.bar' as data is deprecated, please 
> list it in `packages`.
>     !!
> 
> 
>     ############################
>     # Package would be ignored #
>     ############################
>     Python recognizes 'pecan.tests.scaffold_fixtures.content_sub.bar' as an 
> importable package,
>     but it is not listed in the `packages` configuration of setuptools.
> 
>     'pecan.tests.scaffold_fixtures.content_sub.bar' has been automatically 
> added to the distribution only
>     because it may contain data files, but this behavior is likely to change
>     in future versions of setuptools (and therefore is considered deprecated).
> 
>     Please make sure that 'pecan.tests.scaffold_fixtures.content_sub.bar' is 
> included as a package by using
>     the `packages` configuration field or the proper discovery methods
>     (for example by using `find_namespace_packages(...)`/`find_namespace:`
>     instead of `find_packages(...)`/`find:`).
> 
>     You can read more about "package discovery" and "data files" on setuptools
>     documentation page.
> 
> 
> !!
> 
>   check.warn(importable)
> /usr/lib/python3/dist-packages/setuptools/command/build_py.py:202: 
> SetuptoolsDeprecationWarning:     Installing 
> 'pecan.tests.scaffold_fixtures.file_sub' as data is deprecated, please list 
> it in `packages`.
>     !!
> 
> 
>     ############################
>     # Package would be ignored #
>     ############################
>     Python recognizes 'pecan.tests.scaffold_fixtures.file_sub' as an 
> importable package,
>     but it is not listed in the `packages` configuration of setuptools.
> 
>     'pecan.tests.scaffold_fixtures.file_sub' has been automatically added to 
> the distribution only
>     because it may contain data files, but this behavior is likely to change
>     in future versions of setuptools (and therefore is considered deprecated).
> 
>     Please make sure that 'pecan.tests.scaffold_fixtures.file_sub' is 
> included as a package by using
>     the `packages` configuration field or the proper discovery methods
>     (for example by using `find_namespace_packages(...)`/`find_namespace:`
>     instead of `find_packages(...)`/`find:`).
> 
>     You can read more about "package discovery" and "data files" on setuptools
>     documentation page.
> 
> 
> !!
> 
>   check.warn(importable)
> /usr/lib/python3/dist-packages/setuptools/command/build_py.py:202: 
> SetuptoolsDeprecationWarning:     Installing 
> 'pecan.tests.scaffold_fixtures.simple' as data is deprecated, please list it 
> in `packages`.
>     !!
> 
> 
>     ############################
>     # Package would be ignored #
>     ############################
>     Python recognizes 'pecan.tests.scaffold_fixtures.simple' as an importable 
> package,
>     but it is not listed in the `packages` configuration of setuptools.
> 
>     'pecan.tests.scaffold_fixtures.simple' has been automatically added to 
> the distribution only
>     because it may contain data files, but this behavior is likely to change
>     in future versions of setuptools (and therefore is considered deprecated).
> 
>     Please make sure that 'pecan.tests.scaffold_fixtures.simple' is included 
> as a package by using
>     the `packages` configuration field or the proper discovery methods
>     (for example by using `find_namespace_packages(...)`/`find_namespace:`
>     instead of `find_packages(...)`/`find:`).
> 
>     You can read more about "package discovery" and "data files" on setuptools
>     documentation page.
> 
> 
> !!
> 
>   check.warn(importable)
> /usr/lib/python3/dist-packages/setuptools/command/build_py.py:202: 
> SetuptoolsDeprecationWarning:     Installing 
> 'pecan.tests.scaffold_fixtures.simple.bar' as data is deprecated, please list 
> it in `packages`.
>     !!
> 
> 
>     ############################
>     # Package would be ignored #
>     ############################
>     Python recognizes 'pecan.tests.scaffold_fixtures.simple.bar' as an 
> importable package,
>     but it is not listed in the `packages` configuration of setuptools.
> 
>     'pecan.tests.scaffold_fixtures.simple.bar' has been automatically added 
> to the distribution only
>     because it may contain data files, but this behavior is likely to change
>     in future versions of setuptools (and therefore is considered deprecated).
> 
>     Please make sure that 'pecan.tests.scaffold_fixtures.simple.bar' is 
> included as a package by using
>     the `packages` configuration field or the proper discovery methods
>     (for example by using `find_namespace_packages(...)`/`find_namespace:`
>     instead of `find_packages(...)`/`find:`).
> 
>     You can read more about "package discovery" and "data files" on setuptools
>     documentation page.
> 
> 
> !!
> 
>   check.warn(importable)
> creating build/lib/pecan/tests/config_fixtures
> copying pecan/tests/config_fixtures/config.py -> 
> build/lib/pecan/tests/config_fixtures
> copying pecan/tests/config_fixtures/empty.py -> 
> build/lib/pecan/tests/config_fixtures
> copying pecan/tests/config_fixtures/foobar.py -> 
> build/lib/pecan/tests/config_fixtures
> copying pecan/tests/config_fixtures/forcedict.py -> 
> build/lib/pecan/tests/config_fixtures
> creating build/lib/pecan/tests/config_fixtures/bad
> copying pecan/tests/config_fixtures/bad/importerror.py -> 
> build/lib/pecan/tests/config_fixtures/bad
> copying pecan/tests/config_fixtures/bad/module_and_underscore.py -> 
> build/lib/pecan/tests/config_fixtures/bad
> creating build/lib/pecan/scaffolds/base
> copying pecan/scaffolds/base/MANIFEST.in -> build/lib/pecan/scaffolds/base
> copying pecan/scaffolds/base/config.py_tmpl -> build/lib/pecan/scaffolds/base
> copying pecan/scaffolds/base/setup.cfg_tmpl -> build/lib/pecan/scaffolds/base
> copying pecan/scaffolds/base/setup.py_tmpl -> build/lib/pecan/scaffolds/base
> creating build/lib/pecan/scaffolds/base/+package+
> copying pecan/scaffolds/base/+package+/__init__.py -> 
> build/lib/pecan/scaffolds/base/+package+
> copying pecan/scaffolds/base/+package+/app.py_tmpl -> 
> build/lib/pecan/scaffolds/base/+package+
> creating build/lib/pecan/scaffolds/base/+package+/controllers
> copying pecan/scaffolds/base/+package+/controllers/__init__.py -> 
> build/lib/pecan/scaffolds/base/+package+/controllers
> copying pecan/scaffolds/base/+package+/controllers/root.py -> 
> build/lib/pecan/scaffolds/base/+package+/controllers
> creating build/lib/pecan/scaffolds/base/+package+/model
> copying pecan/scaffolds/base/+package+/model/__init__.py -> 
> build/lib/pecan/scaffolds/base/+package+/model
> creating build/lib/pecan/scaffolds/base/+package+/templates
> copying pecan/scaffolds/base/+package+/templates/error.html -> 
> build/lib/pecan/scaffolds/base/+package+/templates
> copying pecan/scaffolds/base/+package+/templates/index.html -> 
> build/lib/pecan/scaffolds/base/+package+/templates
> copying pecan/scaffolds/base/+package+/templates/layout.html -> 
> build/lib/pecan/scaffolds/base/+package+/templates
> creating build/lib/pecan/scaffolds/base/+package+/tests
> copying pecan/scaffolds/base/+package+/tests/__init__.py_tmpl -> 
> build/lib/pecan/scaffolds/base/+package+/tests
> copying pecan/scaffolds/base/+package+/tests/config.py_tmpl -> 
> build/lib/pecan/scaffolds/base/+package+/tests
> copying pecan/scaffolds/base/+package+/tests/test_functional.py_tmpl -> 
> build/lib/pecan/scaffolds/base/+package+/tests
> copying pecan/scaffolds/base/+package+/tests/test_units.py -> 
> build/lib/pecan/scaffolds/base/+package+/tests
> creating build/lib/pecan/scaffolds/base/public
> creating build/lib/pecan/scaffolds/base/public/css
> copying pecan/scaffolds/base/public/css/style.css -> 
> build/lib/pecan/scaffolds/base/public/css
> creating build/lib/pecan/scaffolds/base/public/images
> copying pecan/scaffolds/base/public/images/logo.png -> 
> build/lib/pecan/scaffolds/base/public/images
> creating build/lib/pecan/scaffolds/rest-api
> copying pecan/scaffolds/rest-api/config.py_tmpl -> 
> build/lib/pecan/scaffolds/rest-api
> copying pecan/scaffolds/rest-api/setup.cfg_tmpl -> 
> build/lib/pecan/scaffolds/rest-api
> copying pecan/scaffolds/rest-api/setup.py_tmpl -> 
> build/lib/pecan/scaffolds/rest-api
> creating build/lib/pecan/scaffolds/rest-api/+package+
> copying pecan/scaffolds/rest-api/+package+/__init__.py -> 
> build/lib/pecan/scaffolds/rest-api/+package+
> copying pecan/scaffolds/rest-api/+package+/app.py_tmpl -> 
> build/lib/pecan/scaffolds/rest-api/+package+
> copying pecan/scaffolds/rest-api/+package+/errors.py -> 
> build/lib/pecan/scaffolds/rest-api/+package+
> creating build/lib/pecan/scaffolds/rest-api/+package+/controllers
> copying pecan/scaffolds/rest-api/+package+/controllers/__init__.py -> 
> build/lib/pecan/scaffolds/rest-api/+package+/controllers
> copying pecan/scaffolds/rest-api/+package+/controllers/root.py -> 
> build/lib/pecan/scaffolds/rest-api/+package+/controllers
> creating build/lib/pecan/scaffolds/rest-api/+package+/model
> copying pecan/scaffolds/rest-api/+package+/model/__init__.py -> 
> build/lib/pecan/scaffolds/rest-api/+package+/model
> creating build/lib/pecan/scaffolds/rest-api/+package+/tests
> copying pecan/scaffolds/rest-api/+package+/tests/__init__.py_tmpl -> 
> build/lib/pecan/scaffolds/rest-api/+package+/tests
> copying pecan/scaffolds/rest-api/+package+/tests/config.py_tmpl -> 
> build/lib/pecan/scaffolds/rest-api/+package+/tests
> copying pecan/scaffolds/rest-api/+package+/tests/test_functional.py_tmpl -> 
> build/lib/pecan/scaffolds/rest-api/+package+/tests
> copying pecan/scaffolds/rest-api/+package+/tests/test_units.py -> 
> build/lib/pecan/scaffolds/rest-api/+package+/tests
> copying pecan/tests/templates/form_colors.html -> 
> build/lib/pecan/tests/templates
> copying pecan/tests/templates/form_colors_invalid.html -> 
> build/lib/pecan/tests/templates
> copying pecan/tests/templates/form_colors_valid.html -> 
> build/lib/pecan/tests/templates
> copying pecan/tests/templates/form_login_invalid.html -> 
> build/lib/pecan/tests/templates
> copying pecan/tests/templates/form_login_valid.html -> 
> build/lib/pecan/tests/templates
> copying pecan/tests/templates/form_name.html -> 
> build/lib/pecan/tests/templates
> copying pecan/tests/templates/form_name_invalid.html -> 
> build/lib/pecan/tests/templates
> copying pecan/tests/templates/form_name_invalid_custom.html -> 
> build/lib/pecan/tests/templates
> copying pecan/tests/templates/form_name_valid.html -> 
> build/lib/pecan/tests/templates
> copying pecan/tests/templates/genshi.html -> build/lib/pecan/tests/templates
> copying pecan/tests/templates/genshi_bad.html -> 
> build/lib/pecan/tests/templates
> copying pecan/tests/templates/jinja.html -> build/lib/pecan/tests/templates
> copying pecan/tests/templates/jinja_bad.html -> 
> build/lib/pecan/tests/templates
> copying pecan/tests/templates/kajiki.html -> build/lib/pecan/tests/templates
> copying pecan/tests/templates/mako.html -> build/lib/pecan/tests/templates
> copying pecan/tests/templates/mako_bad.html -> build/lib/pecan/tests/templates
> creating build/lib/pecan/tests/middleware/static_fixtures
> copying pecan/tests/middleware/static_fixtures/self.png -> 
> build/lib/pecan/tests/middleware/static_fixtures
> copying pecan/tests/middleware/static_fixtures/text.txt -> 
> build/lib/pecan/tests/middleware/static_fixtures
> creating build/lib/pecan/tests/scaffold_fixtures/content_sub
> copying pecan/tests/scaffold_fixtures/content_sub/foo_tmpl -> 
> build/lib/pecan/tests/scaffold_fixtures/content_sub
> creating build/lib/pecan/tests/scaffold_fixtures/content_sub/bar
> copying pecan/tests/scaffold_fixtures/content_sub/bar/spam.txt_tmpl -> 
> build/lib/pecan/tests/scaffold_fixtures/content_sub/bar
> creating build/lib/pecan/tests/scaffold_fixtures/file_sub
> copying pecan/tests/scaffold_fixtures/file_sub/foo_+package+ -> 
> build/lib/pecan/tests/scaffold_fixtures/file_sub
> creating build/lib/pecan/tests/scaffold_fixtures/file_sub/bar_+package+
> copying pecan/tests/scaffold_fixtures/file_sub/bar_+package+/spam.txt -> 
> build/lib/pecan/tests/scaffold_fixtures/file_sub/bar_+package+
> creating build/lib/pecan/tests/scaffold_fixtures/simple
> copying pecan/tests/scaffold_fixtures/simple/foo -> 
> build/lib/pecan/tests/scaffold_fixtures/simple
> creating build/lib/pecan/tests/scaffold_fixtures/simple/bar
> copying pecan/tests/scaffold_fixtures/simple/bar/spam.txt -> 
> build/lib/pecan/tests/scaffold_fixtures/simple/bar
> running build_scripts
> creating build/scripts-3.11
> copying and adjusting bin/pecan -> build/scripts-3.11
> changing mode of build/scripts-3.11/pecan from 644 to 755
> running install_lib
> creating /<<PKGBUILDDIR>>/debian/tmp
> creating /<<PKGBUILDDIR>>/debian/tmp/usr
> creating /<<PKGBUILDDIR>>/debian/tmp/usr/lib
> creating /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3
> creating /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages
> creating /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan
> creating 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/commands
> copying build/lib/pecan/commands/__init__.py -> 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/commands
> copying build/lib/pecan/commands/shell.py -> 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/commands
> copying build/lib/pecan/commands/base.py -> 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/commands
> copying build/lib/pecan/commands/serve.py -> 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/commands
> copying build/lib/pecan/commands/create.py -> 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/commands
> copying build/lib/pecan/__init__.py -> 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan
> creating 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/compat
> copying build/lib/pecan/compat/__init__.py -> 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/compat
> copying build/lib/pecan/core.py -> 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan
> copying build/lib/pecan/util.py -> 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan
> copying build/lib/pecan/hooks.py -> 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan
> copying build/lib/pecan/log.py -> 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan
> copying build/lib/pecan/decorators.py -> 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan
> copying build/lib/pecan/secure.py -> 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan
> copying build/lib/pecan/extensions.py -> 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan
> copying build/lib/pecan/rest.py -> 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan
> copying build/lib/pecan/deploy.py -> 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan
> copying build/lib/pecan/routing.py -> 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan
> creating /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/tests
> copying build/lib/pecan/tests/__init__.py -> 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/tests
> copying build/lib/pecan/tests/test_jsonify.py -> 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/tests
> copying build/lib/pecan/tests/test_templating.py -> 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/tests
> copying build/lib/pecan/tests/test_no_thread_locals.py -> 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/tests
> copying build/lib/pecan/tests/scaffold_builder.py -> 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/tests
> copying build/lib/pecan/tests/test_rest.py -> 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/tests
> creating 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/tests/config_fixtures
> copying build/lib/pecan/tests/config_fixtures/forcedict.py -> 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/tests/config_fixtures
> copying build/lib/pecan/tests/config_fixtures/empty.py -> 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/tests/config_fixtures
> copying build/lib/pecan/tests/config_fixtures/foobar.py -> 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/tests/config_fixtures
> creating 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/tests/config_fixtures/bad
> copying build/lib/pecan/tests/config_fixtures/bad/importerror.py -> 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/tests/config_fixtures/bad
> copying build/lib/pecan/tests/config_fixtures/bad/module_and_underscore.py -> 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/tests/config_fixtures/bad
> copying build/lib/pecan/tests/config_fixtures/config.py -> 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/tests/config_fixtures
> creating 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/tests/templates
> copying build/lib/pecan/tests/templates/__init__.py -> 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/tests/templates
> copying build/lib/pecan/tests/templates/form_login_invalid.html -> 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/tests/templates
> copying build/lib/pecan/tests/templates/genshi_bad.html -> 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/tests/templates
> copying build/lib/pecan/tests/templates/form_colors_valid.html -> 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/tests/templates
> copying build/lib/pecan/tests/templates/mako_bad.html -> 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/tests/templates
> copying build/lib/pecan/tests/templates/form_name_invalid.html -> 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/tests/templates
> copying build/lib/pecan/tests/templates/kajiki.html -> 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/tests/templates
> copying build/lib/pecan/tests/templates/form_name_invalid_custom.html -> 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/tests/templates
> copying build/lib/pecan/tests/templates/form_colors_invalid.html -> 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/tests/templates
> copying build/lib/pecan/tests/templates/mako.html -> 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/tests/templates
> copying build/lib/pecan/tests/templates/genshi.html -> 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/tests/templates
> copying build/lib/pecan/tests/templates/form_colors.html -> 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/tests/templates
> copying build/lib/pecan/tests/templates/form_login_valid.html -> 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/tests/templates
> copying build/lib/pecan/tests/templates/jinja_bad.html -> 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/tests/templates
> copying build/lib/pecan/tests/templates/form_name.html -> 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/tests/templates
> copying build/lib/pecan/tests/templates/jinja.html -> 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/tests/templates
> copying build/lib/pecan/tests/templates/form_name_valid.html -> 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/tests/templates
> copying build/lib/pecan/tests/test_scaffolds.py -> 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/tests
> copying build/lib/pecan/tests/test_commands.py -> 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/tests
> copying build/lib/pecan/tests/test_base.py -> 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/tests
> copying build/lib/pecan/tests/test_hooks.py -> 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/tests
> copying build/lib/pecan/tests/test_generic.py -> 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/tests
> copying build/lib/pecan/tests/test_conf.py -> 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/tests
> copying build/lib/pecan/tests/test_util.py -> 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/tests
> creating 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/tests/middleware
> copying build/lib/pecan/tests/middleware/__init__.py -> 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/tests/middleware
> copying build/lib/pecan/tests/middleware/test_static.py -> 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/tests/middleware
> copying build/lib/pecan/tests/middleware/test_recursive.py -> 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/tests/middleware
> creating 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/tests/middleware/static_fixtures
> copying build/lib/pecan/tests/middleware/static_fixtures/self.png -> 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/tests/middleware/static_fixtures
> copying build/lib/pecan/tests/middleware/static_fixtures/text.txt -> 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/tests/middleware/static_fixtures
> copying build/lib/pecan/tests/middleware/test_errordocument.py -> 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/tests/middleware
> copying build/lib/pecan/tests/test_secure.py -> 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/tests
> creating 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/tests/scaffold_fixtures
> copying build/lib/pecan/tests/scaffold_fixtures/__init__.py -> 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/tests/scaffold_fixtures
> creating 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/tests/scaffold_fixtures/content_sub
> creating 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/tests/scaffold_fixtures/content_sub/bar
> copying build/lib/pecan/tests/scaffold_fixtures/content_sub/bar/spam.txt_tmpl 
> -> 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/tests/scaffold_fixtures/content_sub/bar
> copying build/lib/pecan/tests/scaffold_fixtures/content_sub/foo_tmpl -> 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/tests/scaffold_fixtures/content_sub
> creating 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/tests/scaffold_fixtures/file_sub
> copying build/lib/pecan/tests/scaffold_fixtures/file_sub/foo_+package+ -> 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/tests/scaffold_fixtures/file_sub
> creating 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/tests/scaffold_fixtures/file_sub/bar_+package+
> copying 
> build/lib/pecan/tests/scaffold_fixtures/file_sub/bar_+package+/spam.txt -> 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/tests/scaffold_fixtures/file_sub/bar_+package+
> creating 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/tests/scaffold_fixtures/simple
> copying build/lib/pecan/tests/scaffold_fixtures/simple/foo -> 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/tests/scaffold_fixtures/simple
> creating 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/tests/scaffold_fixtures/simple/bar
> copying build/lib/pecan/tests/scaffold_fixtures/simple/bar/spam.txt -> 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/tests/scaffold_fixtures/simple/bar
> creating /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/ext
> copying build/lib/pecan/ext/__init__.py -> 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/ext
> copying build/lib/pecan/templating.py -> 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan
> copying build/lib/pecan/testing.py -> 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan
> creating 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/scaffolds
> copying build/lib/pecan/scaffolds/__init__.py -> 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/scaffolds
> creating 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/scaffolds/rest-api
> copying build/lib/pecan/scaffolds/rest-api/setup.py_tmpl -> 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/scaffolds/rest-api
> creating 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/scaffolds/rest-api/+package+
> copying build/lib/pecan/scaffolds/rest-api/+package+/__init__.py -> 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/scaffolds/rest-api/+package+
> copying build/lib/pecan/scaffolds/rest-api/+package+/errors.py -> 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/scaffolds/rest-api/+package+
> creating 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/scaffolds/rest-api/+package+/model
> copying build/lib/pecan/scaffolds/rest-api/+package+/model/__init__.py -> 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/scaffolds/rest-api/+package+/model
> creating 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/scaffolds/rest-api/+package+/controllers
> copying build/lib/pecan/scaffolds/rest-api/+package+/controllers/__init__.py 
> -> 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/scaffolds/rest-api/+package+/controllers
> copying build/lib/pecan/scaffolds/rest-api/+package+/controllers/root.py -> 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/scaffolds/rest-api/+package+/controllers
> copying build/lib/pecan/scaffolds/rest-api/+package+/app.py_tmpl -> 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/scaffolds/rest-api/+package+
> creating 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/scaffolds/rest-api/+package+/tests
> copying 
> build/lib/pecan/scaffolds/rest-api/+package+/tests/test_functional.py_tmpl -> 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/scaffolds/rest-api/+package+/tests
> copying build/lib/pecan/scaffolds/rest-api/+package+/tests/test_units.py -> 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/scaffolds/rest-api/+package+/tests
> copying build/lib/pecan/scaffolds/rest-api/+package+/tests/__init__.py_tmpl 
> -> 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/scaffolds/rest-api/+package+/tests
> copying build/lib/pecan/scaffolds/rest-api/+package+/tests/config.py_tmpl -> 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/scaffolds/rest-api/+package+/tests
> copying build/lib/pecan/scaffolds/rest-api/setup.cfg_tmpl -> 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/scaffolds/rest-api
> copying build/lib/pecan/scaffolds/rest-api/config.py_tmpl -> 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/scaffolds/rest-api
> creating 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/scaffolds/base
> copying build/lib/pecan/scaffolds/base/setup.py_tmpl -> 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/scaffolds/base
> creating 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/scaffolds/base/+package+
> copying build/lib/pecan/scaffolds/base/+package+/__init__.py -> 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/scaffolds/base/+package+
> creating 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/scaffolds/base/+package+/model
> copying build/lib/pecan/scaffolds/base/+package+/model/__init__.py -> 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/scaffolds/base/+package+/model
> creating 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/scaffolds/base/+package+/templates
> copying build/lib/pecan/scaffolds/base/+package+/templates/index.html -> 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/scaffolds/base/+package+/templates
> copying build/lib/pecan/scaffolds/base/+package+/templates/error.html -> 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/scaffolds/base/+package+/templates
> copying build/lib/pecan/scaffolds/base/+package+/templates/layout.html -> 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/scaffolds/base/+package+/templates
> creating 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/scaffolds/base/+package+/controllers
> copying build/lib/pecan/scaffolds/base/+package+/controllers/__init__.py -> 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/scaffolds/base/+package+/controllers
> copying build/lib/pecan/scaffolds/base/+package+/controllers/root.py -> 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/scaffolds/base/+package+/controllers
> copying build/lib/pecan/scaffolds/base/+package+/app.py_tmpl -> 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/scaffolds/base/+package+
> creating 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/scaffolds/base/+package+/tests
> copying 
> build/lib/pecan/scaffolds/base/+package+/tests/test_functional.py_tmpl -> 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/scaffolds/base/+package+/tests
> copying build/lib/pecan/scaffolds/base/+package+/tests/test_units.py -> 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/scaffolds/base/+package+/tests
> copying build/lib/pecan/scaffolds/base/+package+/tests/__init__.py_tmpl -> 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/scaffolds/base/+package+/tests
> copying build/lib/pecan/scaffolds/base/+package+/tests/config.py_tmpl -> 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/scaffolds/base/+package+/tests
> copying build/lib/pecan/scaffolds/base/setup.cfg_tmpl -> 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/scaffolds/base
> copying build/lib/pecan/scaffolds/base/config.py_tmpl -> 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/scaffolds/base
> copying build/lib/pecan/scaffolds/base/MANIFEST.in -> 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/scaffolds/base
> creating 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/scaffolds/base/public
> creating 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/scaffolds/base/public/css
> copying build/lib/pecan/scaffolds/base/public/css/style.css -> 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/scaffolds/base/public/css
> creating 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/scaffolds/base/public/images
> copying build/lib/pecan/scaffolds/base/public/images/logo.png -> 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/scaffolds/base/public/images
> creating 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/middleware
> copying build/lib/pecan/middleware/__init__.py -> 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/middleware
> copying build/lib/pecan/middleware/recursive.py -> 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/middleware
> copying build/lib/pecan/middleware/debug.py -> 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/middleware
> copying build/lib/pecan/middleware/static.py -> 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/middleware
> copying build/lib/pecan/middleware/errordocument.py -> 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/middleware
> copying build/lib/pecan/configuration.py -> 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan
> copying build/lib/pecan/jsonify.py -> 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/commands/__init__.py
>  to __init__.cpython-311.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/commands/shell.py
>  to shell.cpython-311.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/commands/base.py
>  to base.cpython-311.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/commands/serve.py
>  to serve.cpython-311.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/commands/create.py
>  to create.cpython-311.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/__init__.py 
> to __init__.cpython-311.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/compat/__init__.py
>  to __init__.cpython-311.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/core.py to 
> core.cpython-311.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/util.py to 
> util.cpython-311.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/hooks.py to 
> hooks.cpython-311.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/log.py to 
> log.cpython-311.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/decorators.py 
> to decorators.cpython-311.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/secure.py to 
> secure.cpython-311.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/extensions.py 
> to extensions.cpython-311.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/rest.py to 
> rest.cpython-311.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/deploy.py to 
> deploy.cpython-311.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/routing.py to 
> routing.cpython-311.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/tests/__init__.py
>  to __init__.cpython-311.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/tests/test_jsonify.py
>  to test_jsonify.cpython-311.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/tests/test_templating.py
>  to test_templating.cpython-311.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/tests/test_no_thread_locals.py
>  to test_no_thread_locals.cpython-311.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/tests/scaffold_builder.py
>  to scaffold_builder.cpython-311.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/tests/test_rest.py
>  to test_rest.cpython-311.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/tests/config_fixtures/forcedict.py
>  to forcedict.cpython-311.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/tests/config_fixtures/empty.py
>  to empty.cpython-311.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/tests/config_fixtures/foobar.py
>  to foobar.cpython-311.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/tests/config_fixtures/bad/importerror.py
>  to importerror.cpython-311.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/tests/config_fixtures/bad/module_and_underscore.py
>  to module_and_underscore.cpython-311.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/tests/config_fixtures/config.py
>  to config.cpython-311.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/tests/templates/__init__.py
>  to __init__.cpython-311.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/tests/test_scaffolds.py
>  to test_scaffolds.cpython-311.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/tests/test_commands.py
>  to test_commands.cpython-311.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/tests/test_base.py
>  to test_base.cpython-311.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/tests/test_hooks.py
>  to test_hooks.cpython-311.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/tests/test_generic.py
>  to test_generic.cpython-311.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/tests/test_conf.py
>  to test_conf.cpython-311.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/tests/test_util.py
>  to test_util.cpython-311.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/tests/middleware/__init__.py
>  to __init__.cpython-311.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/tests/middleware/test_static.py
>  to test_static.cpython-311.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/tests/middleware/test_recursive.py
>  to test_recursive.cpython-311.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/tests/middleware/test_errordocument.py
>  to test_errordocument.cpython-311.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/tests/test_secure.py
>  to test_secure.cpython-311.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/tests/scaffold_fixtures/__init__.py
>  to __init__.cpython-311.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/ext/__init__.py
>  to __init__.cpython-311.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/templating.py 
> to templating.cpython-311.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/testing.py to 
> testing.cpython-311.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/scaffolds/__init__.py
>  to __init__.cpython-311.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/scaffolds/rest-api/+package+/__init__.py
>  to __init__.cpython-311.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/scaffolds/rest-api/+package+/errors.py
>  to errors.cpython-311.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/scaffolds/rest-api/+package+/model/__init__.py
>  to __init__.cpython-311.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/scaffolds/rest-api/+package+/controllers/__init__.py
>  to __init__.cpython-311.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/scaffolds/rest-api/+package+/controllers/root.py
>  to root.cpython-311.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/scaffolds/rest-api/+package+/tests/test_units.py
>  to test_units.cpython-311.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/scaffolds/base/+package+/__init__.py
>  to __init__.cpython-311.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/scaffolds/base/+package+/model/__init__.py
>  to __init__.cpython-311.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/scaffolds/base/+package+/controllers/__init__.py
>  to __init__.cpython-311.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/scaffolds/base/+package+/controllers/root.py
>  to root.cpython-311.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/scaffolds/base/+package+/tests/test_units.py
>  to test_units.cpython-311.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/middleware/__init__.py
>  to __init__.cpython-311.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/middleware/recursive.py
>  to recursive.cpython-311.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/middleware/debug.py
>  to debug.cpython-311.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/middleware/static.py
>  to static.cpython-311.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/middleware/errordocument.py
>  to errordocument.cpython-311.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/configuration.py
>  to configuration.cpython-311.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/jsonify.py to 
> jsonify.cpython-311.pyc
> running install_egg_info
> Copying pecan.egg-info to 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan-1.4.1.egg-info
> Skipping SOURCES.txt
> running install_scripts
> creating /<<PKGBUILDDIR>>/debian/tmp/usr/bin
> copying build/scripts-3.11/pecan -> /<<PKGBUILDDIR>>/debian/tmp/usr/bin
> changing mode of /<<PKGBUILDDIR>>/debian/tmp/usr/bin/pecan to 755
> Installing gunicorn_pecan script to /<<PKGBUILDDIR>>/debian/tmp/usr/bin
> Installing pecan script to /<<PKGBUILDDIR>>/debian/tmp/usr/bin
> + pwd
> + python3.10 setup.py install --install-layout=deb --root 
> /<<PKGBUILDDIR>>/debian/tmp
> running install
> /usr/lib/python3/dist-packages/setuptools/command/install.py:34: 
> SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and 
> pip and other standards-based tools.
>   warnings.warn(
> running build
> running build_py
> running egg_info
> writing pecan.egg-info/PKG-INFO
> writing dependency_links to pecan.egg-info/dependency_links.txt
> writing entry points to pecan.egg-info/entry_points.txt
> writing requirements to pecan.egg-info/requires.txt
> writing top-level names to pecan.egg-info/top_level.txt
> reading manifest file 'pecan.egg-info/SOURCES.txt'
> reading manifest template 'MANIFEST.in'
> warning: no files found matching 'pecan/middleware/resources/*'
> adding license file 'LICENSE'
> adding license file 'AUTHORS'
> writing manifest file 'pecan.egg-info/SOURCES.txt'
> /usr/lib/python3/dist-packages/setuptools/command/build_py.py:202: 
> SetuptoolsDeprecationWarning:     Installing 'pecan.scaffolds.base' as data 
> is deprecated, please list it in `packages`.
>     !!
> 
> 
>     ############################
>     # Package would be ignored #
>     ############################
>     Python recognizes 'pecan.scaffolds.base' as an importable package,
>     but it is not listed in the `packages` configuration of setuptools.
> 
>     'pecan.scaffolds.base' has been automatically added to the distribution 
> only
>     because it may contain data files, but this behavior is likely to change
>     in future versions of setuptools (and therefore is considered deprecated).
> 
>     Please make sure that 'pecan.scaffolds.base' is included as a package by 
> using
>     the `packages` configuration field or the proper discovery methods
>     (for example by using `find_namespace_packages(...)`/`find_namespace:`
>     instead of `find_packages(...)`/`find:`).
> 
>     You can read more about "package discovery" and "data files" on setuptools
>     documentation page.
> 
> 
> !!
> 
>   check.warn(importable)
> /usr/lib/python3/dist-packages/setuptools/command/build_py.py:202: 
> SetuptoolsDeprecationWarning:     Installing 
> 'pecan.scaffolds.base.public.css' as data is deprecated, please list it in 
> `packages`.
>     !!
> 
> 
>     ############################
>     # Package would be ignored #
>     ############################
>     Python recognizes 'pecan.scaffolds.base.public.css' as an importable 
> package,
>     but it is not listed in the `packages` configuration of setuptools.
> 
>     'pecan.scaffolds.base.public.css' has been automatically added to the 
> distribution only
>     because it may contain data files, but this behavior is likely to change
>     in future versions of setuptools (and therefore is considered deprecated).
> 
>     Please make sure that 'pecan.scaffolds.base.public.css' is included as a 
> package by using
>     the `packages` configuration field or the proper discovery methods
>     (for example by using `find_namespace_packages(...)`/`find_namespace:`
>     instead of `find_packages(...)`/`find:`).
> 
>     You can read more about "package discovery" and "data files" on setuptools
>     documentation page.
> 
> 
> !!
> 
>   check.warn(importable)
> /usr/lib/python3/dist-packages/setuptools/command/build_py.py:202: 
> SetuptoolsDeprecationWarning:     Installing 
> 'pecan.scaffolds.base.public.images' as data is deprecated, please list it in 
> `packages`.
>     !!
> 
> 
>     ############################
>     # Package would be ignored #
>     ############################
>     Python recognizes 'pecan.scaffolds.base.public.images' as an importable 
> package,
>     but it is not listed in the `packages` configuration of setuptools.
> 
>     'pecan.scaffolds.base.public.images' has been automatically added to the 
> distribution only
>     because it may contain data files, but this behavior is likely to change
>     in future versions of setuptools (and therefore is considered deprecated).
> 
>     Please make sure that 'pecan.scaffolds.base.public.images' is included as 
> a package by using
>     the `packages` configuration field or the proper discovery methods
>     (for example by using `find_namespace_packages(...)`/`find_namespace:`
>     instead of `find_packages(...)`/`find:`).
> 
>     You can read more about "package discovery" and "data files" on setuptools
>     documentation page.
> 
> 
> !!
> 
>   check.warn(importable)
> /usr/lib/python3/dist-packages/setuptools/command/build_py.py:202: 
> SetuptoolsDeprecationWarning:     Installing 'pecan.tests.config_fixtures' as 
> data is deprecated, please list it in `packages`.
>     !!
> 
> 
>     ############################
>     # Package would be ignored #
>     ############################
>     Python recognizes 'pecan.tests.config_fixtures' as an importable package,
>     but it is not listed in the `packages` configuration of setuptools.
> 
>     'pecan.tests.config_fixtures' has been automatically added to the 
> distribution only
>     because it may contain data files, but this behavior is likely to change
>     in future versions of setuptools (and therefore is considered deprecated).
> 
>     Please make sure that 'pecan.tests.config_fixtures' is included as a 
> package by using
>     the `packages` configuration field or the proper discovery methods
>     (for example by using `find_namespace_packages(...)`/`find_namespace:`
>     instead of `find_packages(...)`/`find:`).
> 
>     You can read more about "package discovery" and "data files" on setuptools
>     documentation page.
> 
> 
> !!
> 
>   check.warn(importable)
> /usr/lib/python3/dist-packages/setuptools/command/build_py.py:202: 
> SetuptoolsDeprecationWarning:     Installing 
> 'pecan.tests.config_fixtures.bad' as data is deprecated, please list it in 
> `packages`.
>     !!
> 
> 
>     ############################
>     # Package would be ignored #
>     ############################
>     Python recognizes 'pecan.tests.config_fixtures.bad' as an importable 
> package,
>     but it is not listed in the `packages` configuration of setuptools.
> 
>     'pecan.tests.config_fixtures.bad' has been automatically added to the 
> distribution only
>     because it may contain data files, but this behavior is likely to change
>     in future versions of setuptools (and therefore is considered deprecated).
> 
>     Please make sure that 'pecan.tests.config_fixtures.bad' is included as a 
> package by using
>     the `packages` configuration field or the proper discovery methods
>     (for example by using `find_namespace_packages(...)`/`find_namespace:`
>     instead of `find_packages(...)`/`find:`).
> 
>     You can read more about "package discovery" and "data files" on setuptools
>     documentation page.
> 
> 
> !!
> 
>   check.warn(importable)
> /usr/lib/python3/dist-packages/setuptools/command/build_py.py:202: 
> SetuptoolsDeprecationWarning:     Installing 
> 'pecan.tests.middleware.static_fixtures' as data is deprecated, please list 
> it in `packages`.
>     !!
> 
> 
>     ############################
>     # Package would be ignored #
>     ############################
>     Python recognizes 'pecan.tests.middleware.static_fixtures' as an 
> importable package,
>     but it is not listed in the `packages` configuration of setuptools.
> 
>     'pecan.tests.middleware.static_fixtures' has been automatically added to 
> the distribution only
>     because it may contain data files, but this behavior is likely to change
>     in future versions of setuptools (and therefore is considered deprecated).
> 
>     Please make sure that 'pecan.tests.middleware.static_fixtures' is 
> included as a package by using
>     the `packages` configuration field or the proper discovery methods
>     (for example by using `find_namespace_packages(...)`/`find_namespace:`
>     instead of `find_packages(...)`/`find:`).
> 
>     You can read more about "package discovery" and "data files" on setuptools
>     documentation page.
> 
> 
> !!
> 
>   check.warn(importable)
> /usr/lib/python3/dist-packages/setuptools/command/build_py.py:202: 
> SetuptoolsDeprecationWarning:     Installing 
> 'pecan.tests.scaffold_fixtures.content_sub' as data is deprecated, please 
> list it in `packages`.
>     !!
> 
> 
>     ############################
>     # Package would be ignored #
>     ############################
>     Python recognizes 'pecan.tests.scaffold_fixtures.content_sub' as an 
> importable package,
>     but it is not listed in the `packages` configuration of setuptools.
> 
>     'pecan.tests.scaffold_fixtures.content_sub' has been automatically added 
> to the distribution only
>     because it may contain data files, but this behavior is likely to change
>     in future versions of setuptools (and therefore is considered deprecated).
> 
>     Please make sure that 'pecan.tests.scaffold_fixtures.content_sub' is 
> included as a package by using
>     the `packages` configuration field or the proper discovery methods
>     (for example by using `find_namespace_packages(...)`/`find_namespace:`
>     instead of `find_packages(...)`/`find:`).
> 
>     You can read more about "package discovery" and "data files" on setuptools
>     documentation page.
> 
> 
> !!
> 
>   check.warn(importable)
> /usr/lib/python3/dist-packages/setuptools/command/build_py.py:202: 
> SetuptoolsDeprecationWarning:     Installing 
> 'pecan.tests.scaffold_fixtures.content_sub.bar' as data is deprecated, please 
> list it in `packages`.
>     !!
> 
> 
>     ############################
>     # Package would be ignored #
>     ############################
>     Python recognizes 'pecan.tests.scaffold_fixtures.content_sub.bar' as an 
> importable package,
>     but it is not listed in the `packages` configuration of setuptools.
> 
>     'pecan.tests.scaffold_fixtures.content_sub.bar' has been automatically 
> added to the distribution only
>     because it may contain data files, but this behavior is likely to change
>     in future versions of setuptools (and therefore is considered deprecated).
> 
>     Please make sure that 'pecan.tests.scaffold_fixtures.content_sub.bar' is 
> included as a package by using
>     the `packages` configuration field or the proper discovery methods
>     (for example by using `find_namespace_packages(...)`/`find_namespace:`
>     instead of `find_packages(...)`/`find:`).
> 
>     You can read more about "package discovery" and "data files" on setuptools
>     documentation page.
> 
> 
> !!
> 
>   check.warn(importable)
> /usr/lib/python3/dist-packages/setuptools/command/build_py.py:202: 
> SetuptoolsDeprecationWarning:     Installing 
> 'pecan.tests.scaffold_fixtures.file_sub' as data is deprecated, please list 
> it in `packages`.
>     !!
> 
> 
>     ############################
>     # Package would be ignored #
>     ############################
>     Python recognizes 'pecan.tests.scaffold_fixtures.file_sub' as an 
> importable package,
>     but it is not listed in the `packages` configuration of setuptools.
> 
>     'pecan.tests.scaffold_fixtures.file_sub' has been automatically added to 
> the distribution only
>     because it may contain data files, but this behavior is likely to change
>     in future versions of setuptools (and therefore is considered deprecated).
> 
>     Please make sure that 'pecan.tests.scaffold_fixtures.file_sub' is 
> included as a package by using
>     the `packages` configuration field or the proper discovery methods
>     (for example by using `find_namespace_packages(...)`/`find_namespace:`
>     instead of `find_packages(...)`/`find:`).
> 
>     You can read more about "package discovery" and "data files" on setuptools
>     documentation page.
> 
> 
> !!
> 
>   check.warn(importable)
> /usr/lib/python3/dist-packages/setuptools/command/build_py.py:202: 
> SetuptoolsDeprecationWarning:     Installing 
> 'pecan.tests.scaffold_fixtures.simple' as data is deprecated, please list it 
> in `packages`.
>     !!
> 
> 
>     ############################
>     # Package would be ignored #
>     ############################
>     Python recognizes 'pecan.tests.scaffold_fixtures.simple' as an importable 
> package,
>     but it is not listed in the `packages` configuration of setuptools.
> 
>     'pecan.tests.scaffold_fixtures.simple' has been automatically added to 
> the distribution only
>     because it may contain data files, but this behavior is likely to change
>     in future versions of setuptools (and therefore is considered deprecated).
> 
>     Please make sure that 'pecan.tests.scaffold_fixtures.simple' is included 
> as a package by using
>     the `packages` configuration field or the proper discovery methods
>     (for example by using `find_namespace_packages(...)`/`find_namespace:`
>     instead of `find_packages(...)`/`find:`).
> 
>     You can read more about "package discovery" and "data files" on setuptools
>     documentation page.
> 
> 
> !!
> 
>   check.warn(importable)
> /usr/lib/python3/dist-packages/setuptools/command/build_py.py:202: 
> SetuptoolsDeprecationWarning:     Installing 
> 'pecan.tests.scaffold_fixtures.simple.bar' as data is deprecated, please list 
> it in `packages`.
>     !!
> 
> 
>     ############################
>     # Package would be ignored #
>     ############################
>     Python recognizes 'pecan.tests.scaffold_fixtures.simple.bar' as an 
> importable package,
>     but it is not listed in the `packages` configuration of setuptools.
> 
>     'pecan.tests.scaffold_fixtures.simple.bar' has been automatically added 
> to the distribution only
>     because it may contain data files, but this behavior is likely to change
>     in future versions of setuptools (and therefore is considered deprecated).
> 
>     Please make sure that 'pecan.tests.scaffold_fixtures.simple.bar' is 
> included as a package by using
>     the `packages` configuration field or the proper discovery methods
>     (for example by using `find_namespace_packages(...)`/`find_namespace:`
>     instead of `find_packages(...)`/`find:`).
> 
>     You can read more about "package discovery" and "data files" on setuptools
>     documentation page.
> 
> 
> !!
> 
>   check.warn(importable)
> running build_scripts
> creating build/scripts-3.10
> copying and adjusting bin/pecan -> build/scripts-3.10
> changing mode of build/scripts-3.10/pecan from 644 to 755
> running install_lib
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/commands/__init__.py
>  to __init__.cpython-310.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/commands/shell.py
>  to shell.cpython-310.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/commands/base.py
>  to base.cpython-310.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/commands/serve.py
>  to serve.cpython-310.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/commands/create.py
>  to create.cpython-310.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/__init__.py 
> to __init__.cpython-310.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/compat/__init__.py
>  to __init__.cpython-310.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/core.py to 
> core.cpython-310.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/util.py to 
> util.cpython-310.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/hooks.py to 
> hooks.cpython-310.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/log.py to 
> log.cpython-310.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/decorators.py 
> to decorators.cpython-310.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/secure.py to 
> secure.cpython-310.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/extensions.py 
> to extensions.cpython-310.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/rest.py to 
> rest.cpython-310.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/deploy.py to 
> deploy.cpython-310.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/routing.py to 
> routing.cpython-310.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/tests/__init__.py
>  to __init__.cpython-310.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/tests/test_jsonify.py
>  to test_jsonify.cpython-310.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/tests/test_templating.py
>  to test_templating.cpython-310.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/tests/test_no_thread_locals.py
>  to test_no_thread_locals.cpython-310.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/tests/scaffold_builder.py
>  to scaffold_builder.cpython-310.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/tests/test_rest.py
>  to test_rest.cpython-310.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/tests/config_fixtures/forcedict.py
>  to forcedict.cpython-310.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/tests/config_fixtures/empty.py
>  to empty.cpython-310.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/tests/config_fixtures/foobar.py
>  to foobar.cpython-310.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/tests/config_fixtures/bad/importerror.py
>  to importerror.cpython-310.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/tests/config_fixtures/bad/module_and_underscore.py
>  to module_and_underscore.cpython-310.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/tests/config_fixtures/config.py
>  to config.cpython-310.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/tests/templates/__init__.py
>  to __init__.cpython-310.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/tests/test_scaffolds.py
>  to test_scaffolds.cpython-310.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/tests/test_commands.py
>  to test_commands.cpython-310.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/tests/test_base.py
>  to test_base.cpython-310.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/tests/test_hooks.py
>  to test_hooks.cpython-310.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/tests/test_generic.py
>  to test_generic.cpython-310.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/tests/test_conf.py
>  to test_conf.cpython-310.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/tests/test_util.py
>  to test_util.cpython-310.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/tests/middleware/__init__.py
>  to __init__.cpython-310.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/tests/middleware/test_static.py
>  to test_static.cpython-310.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/tests/middleware/test_recursive.py
>  to test_recursive.cpython-310.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/tests/middleware/test_errordocument.py
>  to test_errordocument.cpython-310.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/tests/test_secure.py
>  to test_secure.cpython-310.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/tests/scaffold_fixtures/__init__.py
>  to __init__.cpython-310.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/ext/__init__.py
>  to __init__.cpython-310.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/templating.py 
> to templating.cpython-310.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/testing.py to 
> testing.cpython-310.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/scaffolds/__init__.py
>  to __init__.cpython-310.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/scaffolds/rest-api/+package+/__init__.py
>  to __init__.cpython-310.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/scaffolds/rest-api/+package+/errors.py
>  to errors.cpython-310.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/scaffolds/rest-api/+package+/model/__init__.py
>  to __init__.cpython-310.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/scaffolds/rest-api/+package+/controllers/__init__.py
>  to __init__.cpython-310.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/scaffolds/rest-api/+package+/controllers/root.py
>  to root.cpython-310.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/scaffolds/rest-api/+package+/tests/test_units.py
>  to test_units.cpython-310.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/scaffolds/base/+package+/__init__.py
>  to __init__.cpython-310.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/scaffolds/base/+package+/model/__init__.py
>  to __init__.cpython-310.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/scaffolds/base/+package+/controllers/__init__.py
>  to __init__.cpython-310.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/scaffolds/base/+package+/controllers/root.py
>  to root.cpython-310.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/scaffolds/base/+package+/tests/test_units.py
>  to test_units.cpython-310.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/middleware/__init__.py
>  to __init__.cpython-310.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/middleware/recursive.py
>  to recursive.cpython-310.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/middleware/debug.py
>  to debug.cpython-310.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/middleware/static.py
>  to static.cpython-310.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/middleware/errordocument.py
>  to errordocument.cpython-310.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/configuration.py
>  to configuration.cpython-310.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan/jsonify.py to 
> jsonify.cpython-310.pyc
> running install_egg_info
> removing 
> '/<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan-1.4.1.egg-info'
>  (and everything under it)
> Copying pecan.egg-info to 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pecan-1.4.1.egg-info
> Skipping SOURCES.txt
> running install_scripts
> changing mode of /<<PKGBUILDDIR>>/debian/tmp/usr/bin/pecan to 755
> Installing gunicorn_pecan script to /<<PKGBUILDDIR>>/debian/tmp/usr/bin
> Installing pecan script to /<<PKGBUILDDIR>>/debian/tmp/usr/bin
> + pwd
> + rm -rf /<<PKGBUILDDIR>>/debian/python*/usr/lib/python*/dist-packages/*.pth
> + pwd
> + rm -rf /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python*/dist-packages/*.pth
> set -e && for pyvers in 3.11 3.10 ; do \
>       PYTHONPATH=/<<PKGBUILDDIR>>/tmp/usr/lib/python3/dist-packages 
> python$pyvers -m pytest pecan/tests -v ; \
> done
> ============================= test session starts 
> ==============================
> platform linux -- Python 3.11.1, pytest-7.2.0, pluggy-1.0.0+repack -- 
> /usr/bin/python3.11
> cachedir: .pytest_cache
> rootdir: /<<PKGBUILDDIR>>, configfile: setup.cfg
> collecting ... collected 543 items
> 
> pecan/tests/test_base.py::TestAppRoot::test_controller_lookup_by_string_path 
> PASSED [  0%]
> pecan/tests/test_base.py::TestEmptyContent::test_empty_body PASSED       [  
> 0%]
> pecan/tests/test_base.py::TestEmptyContent::test_empty_index PASSED      [  
> 0%]
> pecan/tests/test_base.py::TestEmptyContent::test_empty_text PASSED       [  
> 0%]
> pecan/tests/test_base.py::TestEmptyContent::test_explicit_body PASSED    [  
> 0%]
> pecan/tests/test_base.py::TestEmptyContent::test_explicit_json PASSED    [  
> 1%]
> pecan/tests/test_base.py::TestEmptyContent::test_explicit_json_body PASSED [  
> 1%]
> pecan/tests/test_base.py::TestEmptyContent::test_explicit_text PASSED    [  
> 1%]
> pecan/tests/test_base.py::TestEmptyContent::test_index_with_non_unicode 
> PASSED [  1%]
> pecan/tests/test_base.py::TestAppIterFile::test_body_generator PASSED    [  
> 1%]
> pecan/tests/test_base.py::TestAppIterFile::test_empty_body_generator PASSED [ 
>  2%]
> pecan/tests/test_base.py::TestInvalidURLEncoding::test_rest_with_non_utf_8_body
>  PASSED [  2%]
> pecan/tests/test_base.py::TestIndexRouting::test_empty_root PASSED       [  
> 2%]
> pecan/tests/test_base.py::TestIndexRouting::test_index PASSED            [  
> 2%]
> pecan/tests/test_base.py::TestIndexRouting::test_index_html PASSED       [  
> 2%]
> pecan/tests/test_base.py::TestObjectDispatch::test_index PASSED          [  
> 2%]
> pecan/tests/test_base.py::TestObjectDispatch::test_one_level PASSED      [  
> 3%]
> pecan/tests/test_base.py::TestObjectDispatch::test_one_level_with_trailing 
> PASSED [  3%]
> pecan/tests/test_base.py::TestObjectDispatch::test_three_levels PASSED   [  
> 3%]
> pecan/tests/test_base.py::TestObjectDispatch::test_two_levels PASSED     [  
> 3%]
> pecan/tests/test_base.py::TestObjectDispatch::test_two_levels_with_trailing 
> PASSED [  3%]
> pecan/tests/test_base.py::TestUnicodePathSegments::test_unicode_child PASSED 
> [  4%]
> pecan/tests/test_base.py::TestUnicodePathSegments::test_unicode_methods 
> PASSED [  4%]
> pecan/tests/test_base.py::TestLookups::test_index PASSED                 [  
> 4%]
> pecan/tests/test_base.py::TestLookups::test_lookup PASSED                [  
> 4%]
> pecan/tests/test_base.py::TestLookups::test_lookup_with_method PASSED    [  
> 4%]
> pecan/tests/test_base.py::TestLookups::test_lookup_with_wrong_argspec PASSED 
> [  4%]
> pecan/tests/test_base.py::TestLookups::test_lookup_with_wrong_return PASSED [ 
>  5%]
> pecan/tests/test_base.py::TestCanonicalLookups::test_canonical_lookup PASSED 
> [  5%]
> pecan/tests/test_base.py::TestControllerArguments::test_argument_and_keyword_argument
>  PASSED [  5%]
> pecan/tests/test_base.py::TestControllerArguments::test_duplicate_query_parameters_GET
>  PASSED [  5%]
> pecan/tests/test_base.py::TestControllerArguments::test_duplicate_query_parameters_POST
>  PASSED [  5%]
> pecan/tests/test_base.py::TestControllerArguments::test_duplicate_query_parameters_POST_mixed
>  PASSED [  6%]
> pecan/tests/test_base.py::TestControllerArguments::test_duplicate_query_parameters_POST_mixed_json
>  PASSED [  6%]
> pecan/tests/test_base.py::TestControllerArguments::test_encoded_argument_and_keyword_argument
>  PASSED [  6%]
> pecan/tests/test_base.py::TestControllerArguments::test_explicit_json_kwargs 
> PASSED [  6%]
> pecan/tests/test_base.py::TestControllerArguments::test_explicit_kwargs 
> PASSED [  6%]
> pecan/tests/test_base.py::TestControllerArguments::test_json_kwargs_from_root 
> PASSED [  6%]
> pecan/tests/test_base.py::TestControllerArguments::test_keyword_argument 
> PASSED [  7%]
> pecan/tests/test_base.py::TestControllerArguments::test_keyword_argument_with_encoded_plus
>  PASSED [  7%]
> pecan/tests/test_base.py::TestControllerArguments::test_keyword_argument_with_encoded_url
>  PASSED [  7%]
> pecan/tests/test_base.py::TestControllerArguments::test_keyword_argument_with_plus
>  PASSED [  7%]
> pecan/tests/test_base.py::TestControllerArguments::test_kwargs_from_root 
> PASSED [  7%]
> pecan/tests/test_base.py::TestControllerArguments::test_many_remainders 
> PASSED [  8%]
> pecan/tests/test_base.py::TestControllerArguments::test_multiple_args_with_url_encoded_kwargs
>  PASSED [  8%]
> pecan/tests/test_base.py::TestControllerArguments::test_multiple_encoded_variable_args
>  PASSED [  8%]
> pecan/tests/test_base.py::TestControllerArguments::test_multiple_kwargs 
> PASSED [  8%]
> pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional 
> PASSED [  8%]
> pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_args_with_last_encoded_kwarg
>  PASSED [  9%]
> pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_args_with_last_kwarg
>  PASSED [  9%]
> pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_args_with_middle_arg
>  PASSED [  9%]
> pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_args_with_multiple_dict_kwargs
>  PASSED [  9%]
> pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_args_with_multiple_encoded_dict_kwargs
>  PASSED [  9%]
> pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_args_with_multiple_encoded_kwargs
>  PASSED [  9%]
> pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_args_with_multiple_json_kwargs
>  PASSED [ 10%]
> pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_args_with_multiple_kwargs
>  PASSED [ 10%]
> pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_encoded_positional_args_and_dict_kwargs
>  PASSED [ 10%]
> pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_missing
>  PASSED [ 10%]
> pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_positional_args
>  PASSED [ 10%]
> pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_positional_args_all_args
>  PASSED [ 11%]
> pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_positional_args_all_url_encoded_args
>  PASSED [ 11%]
> pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_positional_args_and_dict_kwargs
>  PASSED [ 11%]
> pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_positional_args_and_json_kwargs
>  PASSED [ 11%]
> pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_positional_args_one_arg
>  PASSED [ 11%]
> pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_positional_args_one_url_encoded_arg
>  PASSED [ 11%]
> pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_positional_args_too_many_args
>  PASSED [ 12%]
> pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_positional_args_with_dict_kwargs
>  PASSED [ 12%]
> pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_positional_args_with_encoded_dict_kwargs
>  PASSED [ 12%]
> pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_positional_args_with_encoded_str_kwargs
>  PASSED [ 12%]
> pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_positional_args_with_json_kwargs
>  PASSED [ 12%]
> pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_positional_args_with_kwargs
>  PASSED [ 13%]
> pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_positional_args_with_string_kwargs
>  PASSED [ 13%]
> pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_positional_args_with_url_encoded_kwargs
>  PASSED [ 13%]
> pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_url_encoded
>  PASSED [ 13%]
> pecan/tests/test_base.py::TestControllerArguments::test_multiple_positional_arguments
>  PASSED [ 13%]
> pecan/tests/test_base.py::TestControllerArguments::test_multiple_positional_arguments_with_dictionary_kwargs
>  PASSED [ 13%]
> pecan/tests/test_base.py::TestControllerArguments::test_multiple_positional_arguments_with_json_kwargs
>  PASSED [ 14%]
> pecan/tests/test_base.py::TestControllerArguments::test_multiple_positional_arguments_with_kwargs
>  PASSED [ 14%]
> pecan/tests/test_base.py::TestControllerArguments::test_multiple_positional_arguments_with_url_encode
>  PASSED [ 14%]
> pecan/tests/test_base.py::TestControllerArguments::test_multiple_positional_arguments_with_url_encoded_kwargs
>  PASSED [ 14%]
> pecan/tests/test_base.py::TestControllerArguments::test_multiple_positional_url_encoded_arguments_with_kwargs
>  PASSED [ 14%]
> pecan/tests/test_base.py::TestControllerArguments::test_multiple_variable_args
>  PASSED [ 15%]
> pecan/tests/test_base.py::TestControllerArguments::test_multiple_variable_kwargs
>  PASSED [ 15%]
> pecan/tests/test_base.py::TestControllerArguments::test_multiple_variable_kwargs_with_dict_kwargs
>  PASSED [ 15%]
> pecan/tests/test_base.py::TestControllerArguments::test_multiple_variable_kwargs_with_encoded_dict_kwargs
>  PASSED [ 15%]
> pecan/tests/test_base.py::TestControllerArguments::test_multiple_variable_kwargs_with_explicit_encoded_kwargs
>  PASSED [ 15%]
> pecan/tests/test_base.py::TestControllerArguments::test_multiple_variable_kwargs_with_explicit_kwargs
>  PASSED [ 16%]
> pecan/tests/test_base.py::TestControllerArguments::test_multiple_variable_kwargs_with_json_kwargs
>  PASSED [ 16%]
> pecan/tests/test_base.py::TestControllerArguments::test_multiple_with_kwargs 
> PASSED [ 16%]
> pecan/tests/test_base.py::TestControllerArguments::test_multiple_with_url_encoded_kwargs
>  PASSED [ 16%]
> pecan/tests/test_base.py::TestControllerArguments::test_no_remainder PASSED [ 
> 16%]
> pecan/tests/test_base.py::TestControllerArguments::test_one_remainder PASSED 
> [ 16%]
> pecan/tests/test_base.py::TestControllerArguments::test_optional_arg PASSED [ 
> 17%]
> pecan/tests/test_base.py::TestControllerArguments::test_optional_arg_with_json_kwargs
>  PASSED [ 17%]
> pecan/tests/test_base.py::TestControllerArguments::test_optional_arg_with_kwargs
>  PASSED [ 17%]
> pecan/tests/test_base.py::TestControllerArguments::test_optional_arg_with_multiple_dictionary_kwargs
>  PASSED [ 17%]
> pecan/tests/test_base.py::TestControllerArguments::test_optional_arg_with_multiple_json_kwargs
>  PASSED [ 17%]
> pecan/tests/test_base.py::TestControllerArguments::test_optional_arg_with_multiple_kwargs
>  PASSED [ 18%]
> pecan/tests/test_base.py::TestControllerArguments::test_optional_arg_with_multiple_url_encoded_dictionary_kwargs
>  PASSED [ 18%]
> pecan/tests/test_base.py::TestControllerArguments::test_optional_arg_with_multiple_url_encoded_kwargs
>  PASSED [ 18%]
> pecan/tests/test_base.py::TestControllerArguments::test_optional_arg_with_url_encoded_kwargs
>  PASSED [ 18%]
> pecan/tests/test_base.py::TestControllerArguments::test_path_with_explicit_json_kwargs
>  PASSED [ 18%]
> pecan/tests/test_base.py::TestControllerArguments::test_path_with_explicit_kwargs
>  PASSED [ 18%]
> pecan/tests/test_base.py::TestControllerArguments::test_positional_args_with_dictionary_kwargs
>  PASSED [ 19%]
> pecan/tests/test_base.py::TestControllerArguments::test_positional_args_with_json_kwargs
>  PASSED [ 19%]
> pecan/tests/test_base.py::TestControllerArguments::test_positional_args_with_url_encoded_dictionary_kwargs
>  PASSED [ 19%]
> pecan/tests/test_base.py::TestControllerArguments::test_post_empty_remainder_with_json_kwargs
>  PASSED [ 19%]
> pecan/tests/test_base.py::TestControllerArguments::test_post_many_remainders 
> PASSED [ 19%]
> pecan/tests/test_base.py::TestControllerArguments::test_post_many_remainders_with_many_json_kwargs
>  PASSED [ 20%]
> pecan/tests/test_base.py::TestControllerArguments::test_post_many_remainders_with_many_kwargs
>  PASSED [ 20%]
> pecan/tests/test_base.py::TestControllerArguments::test_post_remainder PASSED 
> [ 20%]
> pecan/tests/test_base.py::TestControllerArguments::test_post_remainder_with_json_kwargs
>  PASSED [ 20%]
> pecan/tests/test_base.py::TestControllerArguments::test_post_remainder_with_kwargs
>  PASSED [ 20%]
> pecan/tests/test_base.py::TestControllerArguments::test_post_three_remainders 
> PASSED [ 20%]
> pecan/tests/test_base.py::TestControllerArguments::test_remainder_with_kwargs 
> PASSED [ 21%]
> pecan/tests/test_base.py::TestControllerArguments::test_remainder_with_many_kwargs
>  PASSED [ 21%]
> pecan/tests/test_base.py::TestControllerArguments::test_required_argument 
> PASSED [ 21%]
> pecan/tests/test_base.py::TestControllerArguments::test_single_argument 
> PASSED [ 21%]
> pecan/tests/test_base.py::TestControllerArguments::test_single_argument_with_encoded_plus
>  PASSED [ 21%]
> pecan/tests/test_base.py::TestControllerArguments::test_single_argument_with_encoded_url
>  PASSED [ 22%]
> pecan/tests/test_base.py::TestControllerArguments::test_single_argument_with_plus
>  PASSED [ 22%]
> pecan/tests/test_base.py::TestControllerArguments::test_staticmethod PASSED [ 
> 22%]
> pecan/tests/test_base.py::TestControllerArguments::test_two_arguments PASSED 
> [ 22%]
> pecan/tests/test_base.py::TestControllerArguments::test_two_remainders PASSED 
> [ 22%]
> pecan/tests/test_base.py::TestControllerArguments::test_url_encoded_positional_args
>  PASSED [ 23%]
> pecan/tests/test_base.py::TestControllerArguments::test_variable_all PASSED [ 
> 23%]
> pecan/tests/test_base.py::TestControllerArguments::test_variable_all_with_one_extra
>  PASSED [ 23%]
> pecan/tests/test_base.py::TestControllerArguments::test_variable_all_with_two_extras
>  PASSED [ 23%]
> pecan/tests/test_base.py::TestControllerArguments::test_variable_args PASSED 
> [ 23%]
> pecan/tests/test_base.py::TestControllerArguments::test_variable_args_with_dict_kwargs
>  PASSED [ 23%]
> pecan/tests/test_base.py::TestControllerArguments::test_variable_args_with_json_kwargs
>  PASSED [ 24%]
> pecan/tests/test_base.py::TestControllerArguments::test_variable_args_with_kwargs
>  PASSED [ 24%]
> pecan/tests/test_base.py::TestControllerArguments::test_variable_kwargs 
> PASSED [ 24%]
> pecan/tests/test_base.py::TestControllerArguments::test_variable_mixed PASSED 
> [ 24%]
> pecan/tests/test_base.py::TestControllerArguments::test_variable_mixed_explicit
>  PASSED [ 24%]
> pecan/tests/test_base.py::TestControllerArguments::test_variable_post PASSED 
> [ 25%]
> pecan/tests/test_base.py::TestControllerArguments::test_variable_post_mixed 
> PASSED [ 25%]
> pecan/tests/test_base.py::TestControllerArguments::test_variable_post_mixed_with_json
>  PASSED [ 25%]
> pecan/tests/test_base.py::TestControllerArguments::test_variable_post_with_json_kwargs
>  PASSED [ 25%]
> pecan/tests/test_base.py::TestControllerArguments::test_variable_post_with_kwargs
>  PASSED [ 25%]
> pecan/tests/test_base.py::TestDefaultErrorRendering::test_html_error PASSED [ 
> 25%]
> pecan/tests/test_base.py::TestDefaultErrorRendering::test_json_error PASSED [ 
> 26%]
> pecan/tests/test_base.py::TestDefaultErrorRendering::test_plain_error PASSED 
> [ 26%]
> pecan/tests/test_base.py::TestAbort::test_abort PASSED                   [ 
> 26%]
> pecan/tests/test_base.py::TestAbort::test_abort_keeps_traceback PASSED   [ 
> 26%]
> pecan/tests/test_base.py::TestAbort::test_abort_with_detail PASSED       [ 
> 26%]
> pecan/tests/test_base.py::TestScriptName::test_handle_script_name PASSED [ 
> 27%]
> pecan/tests/test_base.py::TestRedirect::test_index PASSED                [ 
> 27%]
> pecan/tests/test_base.py::TestRedirect::test_internal PASSED             [ 
> 27%]
> pecan/tests/test_base.py::TestRedirect::test_internal_with_301 PASSED    [ 
> 27%]
> pecan/tests/test_base.py::TestRedirect::test_permanent_redirect PASSED   [ 
> 27%]
> pecan/tests/test_base.py::TestRedirect::test_x_forward_proto PASSED      [ 
> 27%]
> pecan/tests/test_base.py::TestInternalRedirectContext::test_context_does_not_bleed
>  PASSED [ 28%]
> pecan/tests/test_base.py::TestInternalRedirectContext::test_internal_with_request_context
>  PASSED [ 28%]
> pecan/tests/test_base.py::TestStreamedResponse::test_streaming_response 
> PASSED [ 28%]
> pecan/tests/test_base.py::TestManualResponse::test_manual_response PASSED [ 
> 28%]
> pecan/tests/test_base.py::TestCustomResponseandRequest::test_custom_objects 
> PASSED [ 28%]
> pecan/tests/test_base.py::TestThreadLocalState::test_request_state_cleanup 
> PASSED [ 29%]
> pecan/tests/test_base.py::TestThreadLocalState::test_thread_local_dir PASSED 
> [ 29%]
> pecan/tests/test_base.py::TestFileTypeExtensions::test_bad_content_type 
> PASSED [ 29%]
> pecan/tests/test_base.py::TestFileTypeExtensions::test_content_type_guessing_disabled
>  PASSED [ 29%]
> pecan/tests/test_base.py::TestFileTypeExtensions::test_guessing_disabled 
> PASSED [ 29%]
> pecan/tests/test_base.py::TestFileTypeExtensions::test_hidden_file PASSED [ 
> 30%]
> pecan/tests/test_base.py::TestFileTypeExtensions::test_html_extension PASSED 
> [ 30%]
> pecan/tests/test_base.py::TestFileTypeExtensions::test_image_extension PASSED 
> [ 30%]
> pecan/tests/test_base.py::TestFileTypeExtensions::test_multi_dot_extension 
> PASSED [ 30%]
> pecan/tests/test_base.py::TestFileTypeExtensions::test_unknown_file_extension 
> PASSED [ 30%]
> pecan/tests/test_base.py::TestContentTypeByAcceptHeaders::test_accept_header_missing
>  PASSED [ 30%]
> pecan/tests/test_base.py::TestContentTypeByAcceptHeaders::test_discarded_accept_parameters
>  PASSED [ 31%]
> pecan/tests/test_base.py::TestContentTypeByAcceptHeaders::test_file_extension_has_higher_precedence
>  PASSED [ 31%]
> pecan/tests/test_base.py::TestContentTypeByAcceptHeaders::test_missing_accept 
> PASSED [ 31%]
> pecan/tests/test_base.py::TestContentTypeByAcceptHeaders::test_not_acceptable 
> PASSED [ 31%]
> pecan/tests/test_base.py::TestContentTypeByAcceptHeaders::test_quality PASSED 
> [ 31%]
> pecan/tests/test_base.py::TestCanonicalRouting::test_accept_noncanonical 
> PASSED [ 32%]
> pecan/tests/test_base.py::TestCanonicalRouting::test_accept_noncanonical_no_trailing_slash
>  PASSED [ 32%]
> pecan/tests/test_base.py::TestCanonicalRouting::test_broken_clients PASSED [ 
> 32%]
> pecan/tests/test_base.py::TestCanonicalRouting::test_index PASSED        [ 
> 32%]
> pecan/tests/test_base.py::TestCanonicalRouting::test_posts_fail PASSED   [ 
> 32%]
> pecan/tests/test_base.py::TestCanonicalRouting::test_root PASSED         [ 
> 32%]
> pecan/tests/test_base.py::TestCanonicalRouting::test_sub_controller_redirect 
> PASSED [ 33%]
> pecan/tests/test_base.py::TestCanonicalRouting::test_sub_controller_with_trailing
>  PASSED [ 33%]
> pecan/tests/test_base.py::TestCanonicalRouting::test_with_args PASSED    [ 
> 33%]
> pecan/tests/test_base.py::TestCanonicalRouting::test_with_query_string PASSED 
> [ 33%]
> pecan/tests/test_base.py::TestNonCanonical::test_app_wrap PASSED         [ 
> 33%]
> pecan/tests/test_base.py::TestNonCanonical::test_index PASSED            [ 
> 34%]
> pecan/tests/test_base.py::TestNonCanonical::test_proxy PASSED            [ 
> 34%]
> pecan/tests/test_base.py::TestNonCanonical::test_sub_controller_with_trailing 
> PASSED [ 34%]
> pecan/tests/test_base.py::TestNonCanonical::test_subcontroller PASSED    [ 
> 34%]
> pecan/tests/test_base.py::TestNonCanonical::test_subcontroller_with_kwargs 
> PASSED [ 34%]
> pecan/tests/test_base.py::TestLogging::test_logging_setup PASSED         [ 
> 34%]
> pecan/tests/test_base.py::TestLogging::test_logging_setup_with_config_obj 
> PASSED [ 35%]
> pecan/tests/test_base.py::TestEngines::test_custom_renderer PASSED       [ 
> 35%]
> pecan/tests/test_base.py::TestEngines::test_default_json_renderer PASSED [ 
> 35%]
> pecan/tests/test_base.py::TestEngines::test_default_json_renderer_with_explicit_content_type
>  PASSED [ 35%]
> pecan/tests/test_base.py::TestEngines::test_genshi SKIPPED (Genshi t...) [ 
> 35%]
> pecan/tests/test_base.py::TestEngines::test_jinja PASSED                 [ 
> 36%]
> pecan/tests/test_base.py::TestEngines::test_json PASSED                  [ 
> 36%]
> pecan/tests/test_base.py::TestEngines::test_kajiki FAILED                [ 
> 36%]
> pecan/tests/test_base.py::TestEngines::test_mako SKIPPED (mako test ...) [ 
> 36%]
> pecan/tests/test_base.py::TestEngines::test_override_template PASSED     [ 
> 36%]
> pecan/tests/test_base.py::TestEngines::test_render PASSED                [ 
> 37%]
> pecan/tests/test_base.py::TestEngines::test_renderer_not_found PASSED    [ 
> 37%]
> pecan/tests/test_base.py::TestDeprecatedRouteMethod::test_required_argument 
> PASSED [ 37%]
> pecan/tests/test_base.py::TestExplicitRoute::test_alternate_route PASSED [ 
> 37%]
> pecan/tests/test_base.py::TestExplicitRoute::test_conflicting_custom_routes 
> PASSED [ 37%]
> pecan/tests/test_base.py::TestExplicitRoute::test_conflicting_custom_routes_in_subclass
>  PASSED [ 37%]
> pecan/tests/test_base.py::TestExplicitRoute::test_custom_route_on_index 
> PASSED [ 38%]
> pecan/tests/test_base.py::TestExplicitRoute::test_custom_route_prohibited_on_default
>  PASSED [ 38%]
> pecan/tests/test_base.py::TestExplicitRoute::test_custom_route_prohibited_on_generic_controllers
>  PASSED [ 38%]
> pecan/tests/test_base.py::TestExplicitRoute::test_custom_route_prohibited_on_lookup
>  PASSED [ 38%]
> pecan/tests/test_base.py::TestExplicitRoute::test_custom_route_prohibited_on_route
>  PASSED [ 38%]
> pecan/tests/test_base.py::TestExplicitRoute::test_custom_route_with_attribute_conflict
>  PASSED [ 39%]
> pecan/tests/test_base.py::TestExplicitRoute::test_custom_route_with_generic_controllers
>  PASSED [ 39%]
> pecan/tests/test_base.py::TestExplicitRoute::test_invalid_route_arguments 
> PASSED [ 39%]
> pecan/tests/test_base.py::TestExplicitRoute::test_manual_route PASSED    [ 
> 39%]
> pecan/tests/test_base.py::TestExplicitRoute::test_manual_route_conflict 
> PASSED [ 39%]
> pecan/tests/test_commands.py::TestCommandManager::test_commands PASSED   [ 
> 39%]
> pecan/tests/test_commands.py::TestCommandRunner::test_commands PASSED    [ 
> 40%]
> pecan/tests/test_commands.py::TestCommandRunner::test_run PASSED         [ 
> 40%]
> pecan/tests/test_commands.py::TestCreateCommand::test_run PASSED         [ 
> 40%]
> pecan/tests/test_conf.py::TestConf::test_config_bad_key PASSED           [ 
> 40%]
> pecan/tests/test_conf.py::TestConf::test_config_dir PASSED               [ 
> 40%]
> pecan/tests/test_conf.py::TestConf::test_config_from_dict PASSED         [ 
> 41%]
> pecan/tests/test_conf.py::TestConf::test_config_from_file PASSED         [ 
> 41%]
> pecan/tests/test_conf.py::TestConf::test_config_get_invalid_key PASSED   [ 
> 41%]
> pecan/tests/test_conf.py::TestConf::test_config_get_invalid_key_return_default
>  PASSED [ 41%]
> pecan/tests/test_conf.py::TestConf::test_config_get_valid_key PASSED     [ 
> 41%]
> pecan/tests/test_conf.py::TestConf::test_config_illegal_ids PASSED       [ 
> 41%]
> pecan/tests/test_conf.py::TestConf::test_config_missing_file PASSED      [ 
> 42%]
> pecan/tests/test_conf.py::TestConf::test_config_missing_file_on_path PASSED [ 
> 42%]
> pecan/tests/test_conf.py::TestConf::test_config_repr PASSED              [ 
> 42%]
> pecan/tests/test_conf.py::TestConf::test_config_to_dict PASSED           [ 
> 42%]
> pecan/tests/test_conf.py::TestConf::test_config_to_dict_nested PASSED    [ 
> 42%]
> pecan/tests/test_conf.py::TestConf::test_config_to_dict_prefixed PASSED  [ 
> 43%]
> pecan/tests/test_conf.py::TestConf::test_config_with_bad_import PASSED   [ 
> 43%]
> pecan/tests/test_conf.py::TestConf::test_config_with_syntax_error PASSED [ 
> 43%]
> pecan/tests/test_conf.py::TestConf::test_update_config_fail_identifier PASSED 
> [ 43%]
> pecan/tests/test_conf.py::TestConf::test_update_config_fail_message PASSED [ 
> 43%]
> pecan/tests/test_conf.py::TestConf::test_update_config_with_dict PASSED  [ 
> 44%]
> pecan/tests/test_conf.py::TestConf::test_update_force_dict PASSED        [ 
> 44%]
> pecan/tests/test_conf.py::TestConf::test_update_set_config PASSED        [ 
> 44%]
> pecan/tests/test_conf.py::TestConf::test_update_set_default_config PASSED [ 
> 44%]
> pecan/tests/test_conf.py::TestGlobalConfig::test_overwrite_from_dict PASSED [ 
> 44%]
> pecan/tests/test_conf.py::TestGlobalConfig::test_overwrite_from_file PASSED [ 
> 44%]
> pecan/tests/test_conf.py::TestGlobalConfig::test_paint_from_dict PASSED  [ 
> 45%]
> pecan/tests/test_conf.py::TestGlobalConfig::test_paint_from_file PASSED  [ 
> 45%]
> pecan/tests/test_conf.py::TestGlobalConfig::test_set_config_none_type PASSED 
> [ 45%]
> pecan/tests/test_conf.py::TestGlobalConfig::test_set_config_to_dir PASSED [ 
> 45%]
> pecan/tests/test_conf.py::TestConfFromEnv::test_invalid_path PASSED      [ 
> 45%]
> pecan/tests/test_conf.py::TestConfFromEnv::test_is_not_set PASSED        [ 
> 46%]
> pecan/tests/test_conf.py::TestConfFromEnv::test_return_valid_path PASSED [ 
> 46%]
> pecan/tests/test_conf.py::TestConfigCleanup::test_conf_changed PASSED    [ 
> 46%]
> pecan/tests/test_conf.py::TestConfigCleanup::test_conf_default PASSED    [ 
> 46%]
> pecan/tests/test_generic.py::TestGeneric::test_generic_allow_header PASSED [ 
> 46%]
> pecan/tests/test_generic.py::TestGeneric::test_nested_generic PASSED     [ 
> 46%]
> pecan/tests/test_generic.py::TestGeneric::test_simple_generic PASSED     [ 
> 47%]
> pecan/tests/test_generic.py::TestGenericWithSpecialMethods::test_generics_not_allowed
>  PASSED [ 47%]
> pecan/tests/test_hooks.py::TestHooks::test_basic_isolated_hook PASSED    [ 
> 47%]
> pecan/tests/test_hooks.py::TestHooks::test_basic_multi_hook PASSED       [ 
> 47%]
> pecan/tests/test_hooks.py::TestHooks::test_basic_single_hook PASSED      [ 
> 47%]
> pecan/tests/test_hooks.py::TestHooks::test_internal_redirect_with_after_hook 
> PASSED [ 48%]
> pecan/tests/test_hooks.py::TestHooks::test_isolated_hook_with_global_hook 
> PASSED [ 48%]
> pecan/tests/test_hooks.py::TestHooks::test_mixin_hooks PASSED            [ 
> 48%]
> pecan/tests/test_hooks.py::TestHooks::test_on_error_response_hook PASSED [ 
> 48%]
> pecan/tests/test_hooks.py::TestHooks::test_partial_hooks PASSED          [ 
> 48%]
> pecan/tests/test_hooks.py::TestHooks::test_prioritized_hooks PASSED      [ 
> 48%]
> pecan/tests/test_hooks.py::TestStateAccess::test_mixed_args PASSED       [ 
> 49%]
> pecan/tests/test_hooks.py::TestStateAccess::test_no_args PASSED          [ 
> 49%]
> pecan/tests/test_hooks.py::TestStateAccess::test_single_arg PASSED       [ 
> 49%]
> pecan/tests/test_hooks.py::TestStateAccess::test_single_kw PASSED        [ 
> 49%]
> pecan/tests/test_hooks.py::TestStateAccess::test_single_kw_post PASSED   [ 
> 49%]
> pecan/tests/test_hooks.py::TestStateAccess::test_single_vararg PASSED    [ 
> 50%]
> pecan/tests/test_hooks.py::TestStateAccessWithoutThreadLocals::test_mixed_args
>  PASSED [ 50%]
> pecan/tests/test_hooks.py::TestStateAccessWithoutThreadLocals::test_no_args 
> PASSED [ 50%]
> pecan/tests/test_hooks.py::TestStateAccessWithoutThreadLocals::test_single_arg
>  PASSED [ 50%]
> pecan/tests/test_hooks.py::TestStateAccessWithoutThreadLocals::test_single_kw 
> PASSED [ 50%]
> pecan/tests/test_hooks.py::TestStateAccessWithoutThreadLocals::test_single_kw_post
>  PASSED [ 51%]
> pecan/tests/test_hooks.py::TestStateAccessWithoutThreadLocals::test_single_vararg
>  PASSED [ 51%]
> pecan/tests/test_hooks.py::TestRestControllerStateAccess::test_delete PASSED 
> [ 51%]
> pecan/tests/test_hooks.py::TestRestControllerStateAccess::test_delete_with_kwargs
>  PASSED [ 51%]
> pecan/tests/test_hooks.py::TestRestControllerStateAccess::test_delete_with_method_argument
>  PASSED [ 51%]
> pecan/tests/test_hooks.py::TestRestControllerStateAccess::test_delete_with_varargs
>  PASSED [ 51%]
> pecan/tests/test_hooks.py::TestRestControllerStateAccess::test_get_all PASSED 
> [ 52%]
> pecan/tests/test_hooks.py::TestRestControllerStateAccess::test_get_all_with_kwargs
>  PASSED [ 52%]
> pecan/tests/test_hooks.py::TestRestControllerStateAccess::test_get_one PASSED 
> [ 52%]
> pecan/tests/test_hooks.py::TestRestControllerStateAccess::test_get_one_with_kwargs
>  PASSED [ 52%]
> pecan/tests/test_hooks.py::TestRestControllerStateAccess::test_get_one_with_varargs
>  PASSED [ 52%]
> pecan/tests/test_hooks.py::TestRestControllerStateAccess::test_post PASSED [ 
> 53%]
> pecan/tests/test_hooks.py::TestRestControllerStateAccess::test_post_with_invalid_method_kwarg
>  PASSED [ 53%]
> pecan/tests/test_hooks.py::TestRestControllerStateAccess::test_post_with_kwargs
>  PASSED [ 53%]
> pecan/tests/test_hooks.py::TestRestControllerStateAccess::test_post_with_varargs
>  PASSED [ 53%]
> pecan/tests/test_hooks.py::TestRestControllerStateAccess::test_put PASSED [ 
> 53%]
> pecan/tests/test_hooks.py::TestRestControllerStateAccess::test_put_with_kwargs
>  PASSED [ 53%]
> pecan/tests/test_hooks.py::TestRestControllerStateAccess::test_put_with_method_argument
>  PASSED [ 54%]
> pecan/tests/test_hooks.py::TestRestControllerStateAccess::test_put_with_varargs
>  PASSED [ 54%]
> pecan/tests/test_hooks.py::TestTransactionHook::test_transaction_hook PASSED 
> [ 54%]
> pecan/tests/test_hooks.py::TestTransactionHook::test_transaction_hook_with_after_actions
>  PASSED [ 54%]
> pecan/tests/test_hooks.py::TestTransactionHook::test_transaction_hook_with_broken_hook
>  PASSED [ 54%]
> pecan/tests/test_hooks.py::TestTransactionHook::test_transaction_hook_with_transactional_class_decorator
>  PASSED [ 55%]
> pecan/tests/test_hooks.py::TestTransactionHook::test_transaction_hook_with_transactional_decorator
>  PASSED [ 55%]
> pecan/tests/test_hooks.py::TestRequestViewerHook::test_bad_response_from_app 
> PASSED [ 55%]
> pecan/tests/test_hooks.py::TestRequestViewerHook::test_basic_single_default_hook
>  PASSED [ 55%]
> pecan/tests/test_hooks.py::TestRequestViewerHook::test_deal_with_pecan_configs
>  PASSED [ 55%]
> pecan/tests/test_hooks.py::TestRequestViewerHook::test_hook_formatting PASSED 
> [ 55%]
> pecan/tests/test_hooks.py::TestRequestViewerHook::test_item_not_in_defaults 
> PASSED [ 56%]
> pecan/tests/test_hooks.py::TestRequestViewerHook::test_single_blacklist_item 
> PASSED [ 56%]
> pecan/tests/test_hooks.py::TestRequestViewerHook::test_single_item PASSED [ 
> 56%]
> pecan/tests/test_hooks.py::TestRestControllerWithHooks::test_restcontroller_with_hooks
>  PASSED [ 56%]
> pecan/tests/test_jsonify.py::test_simple_rule PASSED                     [ 
> 56%]
> pecan/tests/test_jsonify.py::TestJsonify::test_simple_jsonify PASSED     [ 
> 57%]
> pecan/tests/test_jsonify.py::TestJsonifyGenericEncoder::test_datetime PASSED 
> [ 57%]
> pecan/tests/test_jsonify.py::TestJsonifyGenericEncoder::test_decimal PASSED [ 
> 57%]
> pecan/tests/test_jsonify.py::TestJsonifyGenericEncoder::test_fallback_to_builtin_encoder
>  PASSED [ 57%]
> pecan/tests/test_jsonify.py::TestJsonifyGenericEncoder::test_json_callable 
> PASSED [ 57%]
> pecan/tests/test_jsonify.py::TestJsonifyGenericEncoder::test_multidict PASSED 
> [ 58%]
> pecan/tests/test_jsonify.py::TestJsonifySQLAlchemyGenericEncoder::test_result_proxy
>  PASSED [ 58%]
> pecan/tests/test_jsonify.py::TestJsonifySQLAlchemyGenericEncoder::test_row_proxy
>  PASSED [ 58%]
> pecan/tests/test_jsonify.py::TestJsonifySQLAlchemyGenericEncoder::test_sa_object
>  PASSED [ 58%]
> pecan/tests/test_no_thread_locals.py::TestThreadingLocalUsage::test_locals_are_not_used
>  PASSED [ 58%]
> pecan/tests/test_no_thread_locals.py::TestThreadingLocalUsage::test_threadlocal_argument_warning
>  PASSED [ 58%]
> pecan/tests/test_no_thread_locals.py::TestThreadingLocalUsage::test_threadlocal_argument_warning_on_generic
>  PASSED [ 59%]
> pecan/tests/test_no_thread_locals.py::TestThreadingLocalUsage::test_threadlocal_argument_warning_on_generic_delegate
>  PASSED [ 59%]
> pecan/tests/test_no_thread_locals.py::TestIndexRouting::test_empty_root 
> PASSED [ 59%]
> pecan/tests/test_no_thread_locals.py::TestIndexRouting::test_index PASSED [ 
> 59%]
> pecan/tests/test_no_thread_locals.py::TestIndexRouting::test_index_html 
> PASSED [ 59%]
> pecan/tests/test_no_thread_locals.py::TestManualResponse::test_manual_response
>  PASSED [ 60%]
> pecan/tests/test_no_thread_locals.py::TestDispatch::test_index PASSED    [ 
> 60%]
> pecan/tests/test_no_thread_locals.py::TestDispatch::test_one_level PASSED [ 
> 60%]
> pecan/tests/test_no_thread_locals.py::TestDispatch::test_one_level_with_trailing
>  PASSED [ 60%]
> pecan/tests/test_no_thread_locals.py::TestDispatch::test_three_levels PASSED 
> [ 60%]
> pecan/tests/test_no_thread_locals.py::TestDispatch::test_two_levels PASSED [ 
> 60%]
> pecan/tests/test_no_thread_locals.py::TestDispatch::test_two_levels_with_trailing
>  PASSED [ 61%]
> pecan/tests/test_no_thread_locals.py::TestLookups::test_index PASSED     [ 
> 61%]
> pecan/tests/test_no_thread_locals.py::TestLookups::test_lookup PASSED    [ 
> 61%]
> pecan/tests/test_no_thread_locals.py::TestLookups::test_lookup_with_method 
> PASSED [ 61%]
> pecan/tests/test_no_thread_locals.py::TestLookups::test_lookup_with_wrong_argspec
>  PASSED [ 61%]
> pecan/tests/test_no_thread_locals.py::TestCanonicalLookups::test_canonical_lookup
>  PASSED [ 62%]
> pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_argument_and_keyword_argument
>  PASSED [ 62%]
> pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_encoded_argument_and_keyword_argument
>  PASSED [ 62%]
> pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_explicit_kwargs
>  PASSED [ 62%]
> pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_keyword_argument
>  PASSED [ 62%]
> pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_keyword_argument_with_encoded_url
>  PASSED [ 62%]
> pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_kwargs_from_root
>  PASSED [ 63%]
> pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_many_remainders
>  PASSED [ 63%]
> pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_args_with_url_encoded_kwargs
>  PASSED [ 63%]
> pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_encoded_variable_args
>  PASSED [ 63%]
> pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_kwargs
>  PASSED [ 63%]
> pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional
>  PASSED [ 64%]
> pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional_args_with_last_encoded_kwarg
>  PASSED [ 64%]
> pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional_args_with_last_kwarg
>  PASSED [ 64%]
> pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional_args_with_middle_arg
>  PASSED [ 64%]
> pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional_args_with_multiple_dict_kwargs
>  PASSED [ 64%]
> pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional_args_with_multiple_encoded_dict_kwargs
>  PASSED [ 65%]
> pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional_args_with_multiple_encoded_kwargs
>  PASSED [ 65%]
> pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional_args_with_multiple_kwargs
>  PASSED [ 65%]
> pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional_encoded_positional_args_and_dict_kwargs
>  PASSED [ 65%]
> pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional_missing
>  PASSED [ 65%]
> pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional_positional_args
>  PASSED [ 65%]
> pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional_positional_args_all_args
>  PASSED [ 66%]
> pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional_positional_args_all_url_encoded_args
>  PASSED [ 66%]
> pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional_positional_args_and_dict_kwargs
>  PASSED [ 66%]
> pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional_positional_args_one_arg
>  PASSED [ 66%]
> pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional_positional_args_one_url_encoded_arg
>  PASSED [ 66%]
> pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional_positional_args_too_many_args
>  PASSED [ 67%]
> pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional_positional_args_with_dict_kwargs
>  PASSED [ 67%]
> pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional_positional_args_with_encoded_dict_kwargs
>  PASSED [ 67%]
> pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional_positional_args_with_encoded_str_kwargs
>  PASSED [ 67%]
> pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional_positional_args_with_kwargs
>  PASSED [ 67%]
> pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional_positional_args_with_string_kwargs
>  PASSED [ 67%]
> pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional_positional_args_with_url_encoded_kwargs
>  PASSED [ 68%]
> pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional_url_encoded
>  PASSED [ 68%]
> pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_positional_arguments
>  PASSED [ 68%]
> pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_positional_arguments_with_dictionary_kwargs
>  PASSED [ 68%]
> pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_positional_arguments_with_kwargs
>  PASSED [ 68%]
> pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_positional_arguments_with_url_encode
>  PASSED [ 69%]
> pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_positional_arguments_with_url_encoded_kwargs
>  PASSED [ 69%]
> pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_positional_url_encoded_arguments_with_kwargs
>  PASSED [ 69%]
> pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_variable_args
>  PASSED [ 69%]
> pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_variable_kwargs
>  PASSED [ 69%]
> pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_variable_kwargs_with_dict_kwargs
>  PASSED [ 69%]
> pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_variable_kwargs_with_encoded_dict_kwargs
>  PASSED [ 70%]
> pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_variable_kwargs_with_explicit_encoded_kwargs
>  PASSED [ 70%]
> pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_variable_kwargs_with_explicit_kwargs
>  PASSED [ 70%]
> pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_with_kwargs
>  PASSED [ 70%]
> pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_with_url_encoded_kwargs
>  PASSED [ 70%]
> pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_no_remainder
>  PASSED [ 71%]
> pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_one_remainder
>  PASSED [ 71%]
> pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_optional_arg
>  PASSED [ 71%]
> pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_optional_arg_with_kwargs
>  PASSED [ 71%]
> pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_optional_arg_with_multiple_dictionary_kwargs
>  PASSED [ 71%]
> pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_optional_arg_with_multiple_kwargs
>  PASSED [ 72%]
> pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_optional_arg_with_multiple_url_encoded_dictionary_kwargs
>  PASSED [ 72%]
> pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_optional_arg_with_multiple_url_encoded_kwargs
>  PASSED [ 72%]
> pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_optional_arg_with_url_encoded_kwargs
>  PASSED [ 72%]
> pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_path_with_explicit_kwargs
>  PASSED [ 72%]
> pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_positional_args_with_dictionary_kwargs
>  PASSED [ 72%]
> pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_positional_args_with_url_encoded_dictionary_kwargs
>  PASSED [ 73%]
> pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_post_many_remainders
>  PASSED [ 73%]
> pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_post_many_remainders_with_many_kwargs
>  PASSED [ 73%]
> pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_post_remainder
>  PASSED [ 73%]
> pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_post_remainder_with_kwargs
>  PASSED [ 73%]
> pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_post_three_remainders
>  PASSED [ 74%]
> pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_remainder_with_kwargs
>  PASSED [ 74%]
> pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_remainder_with_many_kwargs
>  PASSED [ 74%]
> pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_required_argument
>  PASSED [ 74%]
> pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_single_argument
>  PASSED [ 74%]
> pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_single_argument_with_encoded_url
>  PASSED [ 74%]
> pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_two_arguments
>  PASSED [ 75%]
> pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_two_remainders
>  PASSED [ 75%]
> pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_url_encoded_positional_args
>  PASSED [ 75%]
> pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_variable_all
>  PASSED [ 75%]
> pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_variable_all_with_one_extra
>  PASSED [ 75%]
> pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_variable_all_with_two_extras
>  PASSED [ 76%]
> pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_variable_args
>  PASSED [ 76%]
> pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_variable_args_with_dict_kwargs
>  PASSED [ 76%]
> pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_variable_args_with_kwargs
>  PASSED [ 76%]
> pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_variable_kwargs
>  PASSED [ 76%]
> pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_variable_mixed
>  PASSED [ 76%]
> pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_variable_mixed_explicit
>  PASSED [ 77%]
> pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_variable_post
>  PASSED [ 77%]
> pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_variable_post_mixed
>  PASSED [ 77%]
> pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_variable_post_with_kwargs
>  PASSED [ 77%]
> pecan/tests/test_no_thread_locals.py::TestRestController::test_custom_action 
> PASSED [ 77%]
> pecan/tests/test_no_thread_locals.py::TestRestController::test_custom_method_type
>  PASSED [ 78%]
> pecan/tests/test_no_thread_locals.py::TestRestController::test_custom_method_type_with_method_parameter
>  PASSED [ 78%]
> pecan/tests/test_no_thread_locals.py::TestRestController::test_delete_method 
> PASSED [ 78%]
> pecan/tests/test_no_thread_locals.py::TestRestController::test_delete_with_method_parameter
>  PASSED [ 78%]
> pecan/tests/test_no_thread_locals.py::TestRestController::test_delete_with_method_parameter_and_post
>  PASSED [ 78%]
> pecan/tests/test_no_thread_locals.py::TestRestController::test_get_all PASSED 
> [ 79%]
> pecan/tests/test_no_thread_locals.py::TestRestController::test_get_delete 
> PASSED [ 79%]
> pecan/tests/test_no_thread_locals.py::TestRestController::test_get_one PASSED 
> [ 79%]
> pecan/tests/test_no_thread_locals.py::TestRestController::test_invalid_custom_action
>  PASSED [ 79%]
> pecan/tests/test_no_thread_locals.py::TestRestController::test_named_action 
> PASSED [ 79%]
> pecan/tests/test_no_thread_locals.py::TestRestController::test_named_nested_action
>  PASSED [ 79%]
> pecan/tests/test_no_thread_locals.py::TestRestController::test_nested_controller_with_trailing_slash
>  PASSED [ 80%]
> pecan/tests/test_no_thread_locals.py::TestRestController::test_nested_controller_without_trailing_slash
>  PASSED [ 80%]
> pecan/tests/test_no_thread_locals.py::TestRestController::test_nested_post 
> PASSED [ 80%]
> pecan/tests/test_no_thread_locals.py::TestRestController::test_options PASSED 
> [ 80%]
> pecan/tests/test_no_thread_locals.py::TestRestController::test_options_with_method_parameter
>  PASSED [ 80%]
> pecan/tests/test_no_thread_locals.py::TestRestController::test_other_custom_action
>  PASSED [ 81%]
> pecan/tests/test_no_thread_locals.py::TestRestController::test_other_custom_action_with_method_parameter
>  PASSED [ 81%]
> pecan/tests/test_no_thread_locals.py::TestRestController::test_post PASSED [ 
> 81%]
> pecan/tests/test_no_thread_locals.py::TestRestController::test_put PASSED [ 
> 81%]
> pecan/tests/test_no_thread_locals.py::TestRestController::test_put_with_method_parameter_and_get
>  PASSED [ 81%]
> pecan/tests/test_no_thread_locals.py::TestRestController::test_put_with_method_parameter_and_post
>  PASSED [ 81%]
> pecan/tests/test_no_thread_locals.py::TestHooks::test_basic_isolated_hook 
> PASSED [ 82%]
> pecan/tests/test_no_thread_locals.py::TestHooks::test_basic_multi_hook PASSED 
> [ 82%]
> pecan/tests/test_no_thread_locals.py::TestHooks::test_basic_single_hook 
> PASSED [ 82%]
> pecan/tests/test_no_thread_locals.py::TestHooks::test_isolated_hook_with_global_hook
>  PASSED [ 82%]
> pecan/tests/test_no_thread_locals.py::TestHooks::test_on_error_response_hook 
> PASSED [ 82%]
> pecan/tests/test_no_thread_locals.py::TestHooks::test_partial_hooks PASSED [ 
> 83%]
> pecan/tests/test_no_thread_locals.py::TestHooks::test_prioritized_hooks 
> PASSED [ 83%]
> pecan/tests/test_no_thread_locals.py::TestGeneric::test_generics_with_im_self_default
>  PASSED [ 83%]
> pecan/tests/test_no_thread_locals.py::TestGeneric::test_generics_with_im_self_with_extra_args
>  PASSED [ 83%]
> pecan/tests/test_no_thread_locals.py::TestGeneric::test_generics_with_im_self_with_method
>  PASSED [ 83%]
> pecan/tests/test_no_thread_locals.py::TestGeneric::test_generics_with_im_self_with_path
>  PASSED [ 83%]
> pecan/tests/test_rest.py::TestRestController::test_405_with_lookup PASSED [ 
> 84%]
> pecan/tests/test_rest.py::TestRestController::test_bad_rest PASSED       [ 
> 84%]
> pecan/tests/test_rest.py::TestRestController::test_basic_rest PASSED     [ 
> 84%]
> pecan/tests/test_rest.py::TestRestController::test_complicated_nested_rest 
> PASSED [ 84%]
> pecan/tests/test_rest.py::TestRestController::test_custom_delete PASSED  [ 
> 84%]
> pecan/tests/test_rest.py::TestRestController::test_custom_with_trailing_slash 
> PASSED [ 85%]
> pecan/tests/test_rest.py::TestRestController::test_dynamic_rest_lookup PASSED 
> [ 85%]
> pecan/tests/test_rest.py::TestRestController::test_get_with_var_args PASSED [ 
> 85%]
> pecan/tests/test_rest.py::TestRestController::test_getall_with_lookup PASSED 
> [ 85%]
> pecan/tests/test_rest.py::TestRestController::test_getall_with_trailing_slash 
> PASSED [ 85%]
> pecan/tests/test_rest.py::TestRestController::test_method_not_allowed_delete 
> PASSED [ 86%]
> pecan/tests/test_rest.py::TestRestController::test_method_not_allowed_get 
> PASSED [ 86%]
> pecan/tests/test_rest.py::TestRestController::test_method_not_allowed_post 
> PASSED [ 86%]
> pecan/tests/test_rest.py::TestRestController::test_method_not_allowed_put 
> PASSED [ 86%]
> pecan/tests/test_rest.py::TestRestController::test_nested_get_all PASSED [ 
> 86%]
> pecan/tests/test_rest.py::TestRestController::test_nested_get_all_with_lookup 
> PASSED [ 86%]
> pecan/tests/test_rest.py::TestRestController::test_nested_rest_with_default 
> PASSED [ 87%]
> pecan/tests/test_rest.py::TestRestController::test_nested_rest_with_lookup 
> PASSED [ 87%]
> pecan/tests/test_rest.py::TestRestController::test_nested_rest_with_missing_intermediate_id
>  PASSED [ 87%]
> pecan/tests/test_rest.py::TestRestController::test_post_with_kwargs_only 
> PASSED [ 87%]
> pecan/tests/test_rest.py::TestRestController::test_proper_allow_header_multiple_gets
>  PASSED [ 87%]
> pecan/tests/test_rest.py::TestRestController::test_rest_with_non_utf_8_body 
> PASSED [ 88%]
> pecan/tests/test_rest.py::TestRestController::test_rest_with_utf8_endpoint 
> PASSED [ 88%]
> pecan/tests/test_rest.py::TestRestController::test_rest_with_utf8_uri PASSED 
> [ 88%]
> pecan/tests/test_rest.py::TestRestController::test_simple_nested_rest PASSED 
> [ 88%]
> pecan/tests/test_rest.py::TestRestController::test_sub_nested_rest PASSED [ 
> 88%]
> pecan/tests/test_rest.py::TestRestController::test_sub_nested_rest_with_overwrites
>  PASSED [ 88%]
> pecan/tests/test_rest.py::TestExplicitRoute::test_alternate_route PASSED [ 
> 89%]
> pecan/tests/test_scaffolds.py::TestPecanScaffold::test_normalize_pkg_name 
> PASSED [ 89%]
> pecan/tests/test_scaffolds.py::TestScaffoldUtils::test_copy_dir PASSED   [ 
> 89%]
> pecan/tests/test_scaffolds.py::TestScaffoldUtils::test_copy_dir_with_file_content_substitution
>  PASSED [ 89%]
> pecan/tests/test_scaffolds.py::TestScaffoldUtils::test_copy_dir_with_filename_substitution
>  PASSED [ 89%]
> pecan/tests/test_scaffolds.py::TestScaffoldUtils::test_destination_directory_already_exists
>  PASSED [ 90%]
> pecan/tests/test_scaffolds.py::TestScaffoldUtils::test_destination_directory_levels_deep
>  PASSED [ 90%]
> pecan/tests/test_secure.py::TestSecure::test_secure_attribute PASSED     [ 
> 90%]
> pecan/tests/test_secure.py::TestSecure::test_secure_obj_only_failure PASSED [ 
> 90%]
> pecan/tests/test_secure.py::TestSecure::test_secured_generic_controller 
> PASSED [ 90%]
> pecan/tests/test_secure.py::TestSecure::test_secured_generic_controller_lambda
>  PASSED [ 90%]
> pecan/tests/test_secure.py::TestSecure::test_secured_generic_controller_secure_attribute
>  PASSED [ 91%]
> pecan/tests/test_secure.py::TestSecure::test_secured_generic_controller_secure_attribute_with_unlocked
>  PASSED [ 91%]
> pecan/tests/test_secure.py::TestSecure::test_simple_secure PASSED        [ 
> 91%]
> pecan/tests/test_secure.py::TestSecure::test_state_attribute PASSED      [ 
> 91%]
> pecan/tests/test_secure.py::TestSecure::test_unlocked_attribute PASSED   [ 
> 91%]
> pecan/tests/test_secure.py::TestObjectPathSecurity::test_cyclical_protection 
> PASSED [ 92%]
> pecan/tests/test_secure.py::TestObjectPathSecurity::test_independent_check_failure
>  PASSED [ 92%]
> pecan/tests/test_secure.py::TestObjectPathSecurity::test_independent_check_success
>  PASSED [ 92%]
> pecan/tests/test_secure.py::TestObjectPathSecurity::test_layered_protection 
> PASSED [ 92%]
> pecan/tests/test_secure.py::TestObjectPathSecurity::test_lookup_to_wrapped_attribute_on_self
>  PASSED [ 92%]
> pecan/tests/test_secure.py::TestObjectPathSecurity::test_mixed_protection 
> PASSED [ 93%]
> pecan/tests/test_secure.py::TestObjectPathSecurity::test_protected_lookup 
> PASSED [ 93%]
> pecan/tests/test_secure.py::TestObjectPathSecurity::test_secret_through_lookup
>  PASSED [ 93%]
> pecan/tests/test_secure.py::TestObjectPathSecurity::test_secured_notfound_lookup
>  PASSED [ 93%]
> pecan/tests/test_secure.py::TestObjectPathSecurity::test_sub_of_both_not_secret
>  PASSED [ 93%]
> pecan/tests/test_secure.py::TestObjectPathSecurity::test_unlocked_attribute_in_insecure
>  PASSED [ 93%]
> pecan/tests/test_secure.py::TestObjectPathSecurity::test_unlocked_lookup 
> PASSED [ 94%]
> pecan/tests/test_secure.py::TestObjectPathSecurity::test_wrapped_attribute_failure
>  PASSED [ 94%]
> pecan/tests/test_secure.py::TestObjectPathSecurity::test_wrapped_attribute_success
>  PASSED [ 94%]
> pecan/tests/test_secure.py::SecureControllerSharedPermissionsRegression::test_inherited_security
>  PASSED [ 94%]
> pecan/tests/test_templating.py::TestTemplate::test_available PASSED      [ 
> 94%]
> pecan/tests/test_templating.py::TestTemplate::test_create_bad PASSED     [ 
> 95%]
> pecan/tests/test_templating.py::TestTemplate::test_extra_vars PASSED     [ 
> 95%]
> pecan/tests/test_templating.py::TestTemplate::test_update_extra_vars PASSED [ 
> 95%]
> pecan/tests/test_templating.py::TestTemplateLineFormat::test_format_line_context
>  PASSED [ 95%]
> pecan/tests/test_util.py::TestArgSpec::test_class_based_decorator PASSED [ 
> 95%]
> pecan/tests/test_util.py::TestArgSpec::test_decorator_with_args PASSED   [ 
> 95%]
> pecan/tests/test_util.py::TestArgSpec::test_multiple_decorators PASSED   [ 
> 96%]
> pecan/tests/test_util.py::TestArgSpec::test_nested_cells PASSED          [ 
> 96%]
> pecan/tests/test_util.py::TestArgSpec::test_no_decorator PASSED          [ 
> 96%]
> pecan/tests/test_util.py::TestArgSpec::test_simple_decorator PASSED      [ 
> 96%]
> pecan/tests/test_util.py::TestArgSpec::test_simple_wrapper PASSED        [ 
> 96%]
> pecan/tests/middleware/test_errordocument.py::TestErrorDocumentMiddleware::test_error_endpoint_with_query_string
>  PASSED [ 97%]
> pecan/tests/middleware/test_errordocument.py::TestErrorDocumentMiddleware::test_error_with_recursion_loop
>  PASSED [ 97%]
> pecan/tests/middleware/test_errordocument.py::TestErrorDocumentMiddleware::test_hit_error_page
>  PASSED [ 97%]
> pecan/tests/middleware/test_errordocument.py::TestErrorDocumentMiddleware::test_middleware_routes_to_404_message
>  PASSED [ 97%]
> pecan/tests/middleware/test_errordocument.py::TestErrorDocumentMiddleware::test_original_exception
>  PASSED [ 97%]
> pecan/tests/middleware/test_recursive.py::TestRecursiveMiddleware::test_ForwardRequestException
>  PASSED [ 97%]
> pecan/tests/middleware/test_recursive.py::TestRecursiveMiddleware::test_ForwardRequest_environ
>  PASSED [ 98%]
> pecan/tests/middleware/test_recursive.py::TestRecursiveMiddleware::test_ForwardRequest_factory
>  PASSED [ 98%]
> pecan/tests/middleware/test_recursive.py::TestRecursiveMiddleware::test_ForwardRequest_url
>  PASSED [ 98%]
> pecan/tests/middleware/test_recursive.py::TestRecursiveMiddleware::test_ForwardRequest_url_with_params
>  PASSED [ 98%]
> pecan/tests/middleware/test_static.py::TestStaticFileMiddleware::test_date_dumping_on_unix_timestamps
>  PASSED [ 98%]
> pecan/tests/middleware/test_static.py::TestStaticFileMiddleware::test_file_can_be_closed
>  PASSED [ 99%]
> pecan/tests/middleware/test_static.py::TestStaticFileMiddleware::test_file_can_be_found
>  PASSED [ 99%]
> pecan/tests/middleware/test_static.py::TestStaticFileMiddleware::test_file_can_be_iterated_over
>  PASSED [ 99%]
> pecan/tests/middleware/test_static.py::TestStaticFileMiddleware::test_mime_type_works_for_png_files
>  PASSED [ 99%]
> pecan/tests/middleware/test_static.py::TestStaticFileMiddleware::test_no_file_found_causes_passthrough
>  PASSED [ 99%]
> pecan/tests/middleware/test_static.py::TestStaticFileMiddleware::test_separator_sanitization_still_finds_file
>  PASSED [100%]
> 
> =================================== FAILURES 
> ===================================
> ___________________________ TestEngines.test_kajiki 
> ____________________________
> 
> self = <pecan.tests.test_base.TestEngines testMethod=test_kajiki>
> 
>     @unittest.skipIf('kajiki' not in builtin_renderers, 'Kajiki not 
> installed')
>     def test_kajiki(self):
>     
>         class RootController(object):
>             @expose('kajiki:kajiki.html')
>             def index(self, name='Jonathan'):
>                 return dict(name=name)
>     
>         app = TestApp(
>             Pecan(RootController(), template_path=self.template_path)
>         )
> >       r = app.get('/')
> 
> pecan/tests/test_base.py:1859: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> /usr/lib/python3/dist-packages/webtest/app.py:324: in get
>     return self.do_request(req, status=status,
> /usr/lib/python3/dist-packages/webtest/app.py:620: in do_request
>     res = req.get_response(app, catch_exc_info=True)
> /usr/lib/python3/dist-packages/webob/request.py:1309: in send
>     status, headers, app_iter, exc_info = self.call_application(
> /usr/lib/python3/dist-packages/webob/request.py:1278: in call_application
>     app_iter = application(self.environ, start_response)
> /usr/lib/python3/dist-packages/webtest/lint.py:196: in lint_app
>     iterator = application(environ, start_response_wrapper)
> pecan/core.py:852: in __call__
>     return super(Pecan, self).__call__(environ, start_response)
> pecan/core.py:693: in __call__
>     self.invoke_controller(controller, args, kwargs, state)
> pecan/core.py:614: in invoke_controller
>     result = self.render(template, result)
> pecan/core.py:425: in render
>     return renderer.render(template, namespace)
> pecan/templating.py:131: in render
>     Template = self.loader.import_(template_path)
> /usr/lib/python3/dist-packages/kajiki/loader.py:83: in import_
>     return super().import_(name, *args, **kwargs)
> /usr/lib/python3/dist-packages/kajiki/loader.py:17: in import_
>     mod = self._load(name, *args, **kwargs)
> /usr/lib/python3/dist-packages/kajiki/loader.py:113: in _load
>     return self.extension_map[ext](
> /usr/lib/python3/dist-packages/kajiki/loader.py:66: in <lambda>
>     html=lambda *a, **kw: XMLTemplate(mode="html", *a, **kw),
> /usr/lib/python3/dist-packages/kajiki/xml_template.py:62: in XMLTemplate
>     t = template.from_ir(ir_, base_globals=base_globals)
> /usr/lib/python3/dist-packages/kajiki/template.py:336: in from_ir
>     tpl.annotate_lnotab(py_linenos)
> /usr/lib/python3/dist-packages/kajiki/template.py:267: in annotate_lnotab
>     meth.annotate_lnotab(cls.filename, py_to_tpl, dict(py_to_tpl))
> /usr/lib/python3/dist-packages/kajiki/template.py:397: in annotate_lnotab
>     new_code = patch_code_file_lines(code, filename, new_firstlineno, 
> new_lnotab)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> code = <code object __main__ at 0x3268e00, file "<string>", line 2>
> filename = '/<<PKGBUILDDIR>>/pecan/tests/templates/kajiki.html'
> firstlineno = 0
> lnotab = b'\x00\x00\x06\x01\x08\x03B\x00L\x00B\x00\x08\x04B\x00L\x00B\x00'
> 
>     def patch_code_file_lines(code, filename, firstlineno, lnotab):
>         code_args = (
>             code.co_argcount,
>             code.co_posonlyargcount if version_info >= (3, 8) else "REMOVE",
>             code.co_kwonlyargcount,
>             code.co_nlocals,
>             code.co_stacksize,
>             code.co_flags,
>             code.co_code,
>             code.co_consts,
>             code.co_names,
>             code.co_varnames,
>             filename,
>             code.co_name,
>             code.co_qualname if version_info >= (3, 11) else "REMOVE",
>             firstlineno,
>             lnotab,
> >           code.co_endlinetable if version_info >= (3, 11) else "REMOVE",
>             code.co_columntable if version_info >= (3, 11) else "REMOVE",
>             code.co_exceptiontable if version_info >= (3, 11) else "REMOVE",
>             code.co_freevars,
>             code.co_cellvars,
>         )
> E       AttributeError: 'code' object has no attribute 'co_endlinetable'
> 
> /usr/lib/python3/dist-packages/kajiki/template.py:419: AttributeError
> =============================== warnings summary 
> ===============================
> pecan/core.py:331
>   /<<PKGBUILDDIR>>/pecan/core.py:331: DeprecationWarning: invalid escape 
> sequence '\*'
>     '''
> 
> ../../../usr/lib/python3/dist-packages/webob/compat.py:5
>   /usr/lib/python3/dist-packages/webob/compat.py:5: DeprecationWarning: 'cgi' 
> is deprecated and slated for removal in Python 3.13
>     from cgi import parse_header
> 
> pecan/routing.py:49
>   /<<PKGBUILDDIR>>/pecan/routing.py:49: DeprecationWarning: invalid escape 
> sequence '\('
>     '^[0-9a-zA-Z-_$\(\)\.~!,;:*+@=]+$', route
> 
> pecan/middleware/debug.py:24
>   /<<PKGBUILDDIR>>/pecan/middleware/debug.py:24: DeprecationWarning: invalid 
> escape sequence '\g'
>     yield self.body_re.sub(b('\g<1>%s' % __CONFIG_HELP__), part)
> 
> pecan/tests/test_conf.py::TestConf::test_config_from_file
> pecan/tests/test_conf.py::TestConf::test_config_illegal_ids
> pecan/tests/test_conf.py::TestConf::test_config_with_bad_import
> pecan/tests/test_conf.py::TestConf::test_update_force_dict
> pecan/tests/test_conf.py::TestConf::test_update_set_config
> pecan/tests/test_conf.py::TestConf::test_update_set_default_config
> pecan/tests/test_conf.py::TestGlobalConfig::test_overwrite_from_file
> pecan/tests/test_conf.py::TestGlobalConfig::test_paint_from_file
>   <frozen importlib._bootstrap>:283: DeprecationWarning: the load_module() 
> method is deprecated and slated for removal in Python 3.12; use exec_module() 
> instead
> 
> pecan/tests/test_no_thread_locals.py::TestRestController::test_custom_method_type
> pecan/tests/test_rest.py::TestRestController::test_basic_rest
>   /usr/lib/python3/dist-packages/webtest/lint.py:366: WSGIWarning: Unknown 
> REQUEST_METHOD: 'RESET'
>     warnings.warn(
> 
> -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
> =========================== short test summary info 
> ============================
> FAILED pecan/tests/test_base.py::TestEngines::test_kajiki - AttributeError: 
> '...
> ============ 1 failed, 540 passed, 2 skipped, 14 warnings in 4.61s 
> =============
> make[1]: *** [debian/rules:20: override_dh_auto_install] Error 1


The full build log is available from:
http://qa-logs.debian.net/2022/12/20/python-pecan_1.4.1-1_unstable.log

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

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

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

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

Reply via email to