0s autopkgtest [17:13:10]: starting date and time: 2024-12-27 17:13:10+0000 0s autopkgtest [17:13:10]: git checkout: 325255d2 Merge branch 'pin-any-arch' into 'ubuntu/production' 0s autopkgtest [17:13:10]: host juju-7f2275-prod-proposed-migration-environment-2; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.asu1itct/out --timeout-copy=6000 --setup-commands /home/ubuntu/autopkgtest-cloud/worker-config-production/setup-canonical.sh --apt-pocket=proposed=src:python3-defaults --apt-upgrade python-pecan --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 --env=ADT_TEST_TRIGGERS=python3-defaults/3.12.8-1 -- ssh -s /home/ubuntu/autopkgtest/ssh-setup/nova -- --flavor autopkgtest-s390x --security-groups autopkgtest-juju-7f2275-prod-proposed-migration-environment-2@bos03-s390x-24.secgroup --name adt-plucky-s390x-python-pecan-20241227-171310-juju-7f2275-prod-proposed-migration-environment-2-94c42252-010a-42b3-a2bb-40e5f7c621ee --image adt/ubuntu-plucky-s390x-server --keyname testbed-juju-7f2275-prod-proposed-migration-environment-2 --net-id=net_prod-proposed-migration-s390x -e TERM=linux -e ''"'"'http_proxy=http://squid.internal:3128'"'"'' -e ''"'"'https_proxy=http://squid.internal:3128'"'"'' -e ''"'"'no_proxy=127.0.0.1,127.0.1.1,login.ubuntu.com,localhost,localdomain,novalocal,internal,archive.ubuntu.com,ports.ubuntu.com,security.ubuntu.com,ddebs.ubuntu.com,changelogs.ubuntu.com,keyserver.ubuntu.com,launchpadlibrarian.net,launchpadcontent.net,launchpad.net,10.24.0.0/24,keystone.ps5.canonical.com,objectstorage.prodstack5.canonical.com,radosgw.ps5.canonical.com'"'"'' --mirror=http://ftpmaster.internal/ubuntu/ 96s autopkgtest [17:14:46]: testbed dpkg architecture: s390x 96s autopkgtest [17:14:46]: testbed apt version: 2.9.18 96s autopkgtest [17:14:46]: @@@@@@@@@@@@@@@@@@@@ test bed setup 97s autopkgtest [17:14:47]: testbed release detected to be: None 97s autopkgtest [17:14:47]: updating testbed package index (apt update) 98s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [73.9 kB] 98s Hit:2 http://ftpmaster.internal/ubuntu plucky InRelease 98s Hit:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease 98s Hit:4 http://ftpmaster.internal/ubuntu plucky-security InRelease 98s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [620 kB] 98s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [56.0 kB] 98s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/restricted Sources [9708 B] 98s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [11.5 kB] 98s Get:9 http://ftpmaster.internal/ubuntu plucky-proposed/main s390x Packages [57.3 kB] 98s Get:10 http://ftpmaster.internal/ubuntu plucky-proposed/restricted s390x Packages [756 B] 98s Get:11 http://ftpmaster.internal/ubuntu plucky-proposed/universe s390x Packages [469 kB] 98s Get:12 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse s390x Packages [4260 B] 98s Fetched 1303 kB in 1s (1462 kB/s) 99s Reading package lists... 100s Reading package lists... 100s Building dependency tree... 100s Reading state information... 100s Calculating upgrade... 100s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 100s Reading package lists... 100s Building dependency tree... 100s Reading state information... 100s 0 upgraded, 0 newly installed, 0 to remove and 3 not upgraded. 100s autopkgtest [17:14:50]: upgrading testbed (apt dist-upgrade and autopurge) 100s Reading package lists... 101s Building dependency tree... 101s Reading state information... 101s Calculating upgrade...Starting pkgProblemResolver with broken count: 0 101s Starting 2 pkgProblemResolver with broken count: 0 101s Done 101s Entering ResolveByKeep 101s 101s The following packages will be upgraded: 101s libpython3-stdlib python3 python3-minimal 101s 3 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 101s Need to get 61.5 kB of archives. 101s After this operation, 0 B of additional disk space will be used. 101s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed/main s390x python3-minimal s390x 3.12.8-1 [27.5 kB] 101s Get:2 http://ftpmaster.internal/ubuntu plucky-proposed/main s390x python3 s390x 3.12.8-1 [23.9 kB] 101s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/main s390x libpython3-stdlib s390x 3.12.8-1 [10.1 kB] 102s Fetched 61.5 kB in 0s (231 kB/s) 102s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 55491 files and directories currently installed.) 102s Preparing to unpack .../python3-minimal_3.12.8-1_s390x.deb ... 102s Unpacking python3-minimal (3.12.8-1) over (3.12.7-1) ... 102s Setting up python3-minimal (3.12.8-1) ... 102s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 55491 files and directories currently installed.) 102s Preparing to unpack .../python3_3.12.8-1_s390x.deb ... 102s Unpacking python3 (3.12.8-1) over (3.12.7-1) ... 102s Preparing to unpack .../libpython3-stdlib_3.12.8-1_s390x.deb ... 102s Unpacking libpython3-stdlib:s390x (3.12.8-1) over (3.12.7-1) ... 102s Setting up libpython3-stdlib:s390x (3.12.8-1) ... 102s Setting up python3 (3.12.8-1) ... 102s Processing triggers for man-db (2.13.0-1) ... 103s Reading package lists... 103s Building dependency tree... 103s Reading state information... 103s Starting pkgProblemResolver with broken count: 0 103s Starting 2 pkgProblemResolver with broken count: 0 103s Done 103s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 106s autopkgtest [17:14:56]: testbed running kernel: Linux 6.11.0-8-generic #8-Ubuntu SMP Mon Sep 16 12:49:35 UTC 2024 106s autopkgtest [17:14:56]: @@@@@@@@@@@@@@@@@@@@ apt-source python-pecan 108s Get:1 http://ftpmaster.internal/ubuntu plucky/main python-pecan 1.5.1-6 (dsc) [2445 B] 108s Get:2 http://ftpmaster.internal/ubuntu plucky/main python-pecan 1.5.1-6 (tar) [139 kB] 108s Get:3 http://ftpmaster.internal/ubuntu plucky/main python-pecan 1.5.1-6 (diff) [6360 B] 108s gpgv: Signature made Mon Oct 14 10:13:06 2024 UTC 108s gpgv: using RSA key A0B1A9F3508956130E7A425CD416AD15AC6B43FE 108s gpgv: Can't check signature: No public key 108s dpkg-source: warning: cannot verify inline signature for ./python-pecan_1.5.1-6.dsc: no acceptable signature found 108s autopkgtest [17:14:58]: testing package python-pecan version 1.5.1-6 108s autopkgtest [17:14:58]: build not needed 109s autopkgtest [17:14:59]: test unittests: preparing testbed 109s Reading package lists... 109s Building dependency tree... 109s Reading state information... 109s Starting pkgProblemResolver with broken count: 0 109s Starting 2 pkgProblemResolver with broken count: 0 109s Done 109s The following NEW packages will be installed: 109s autoconf automake autopoint autotools-dev build-essential cpp cpp-14 109s cpp-14-s390x-linux-gnu cpp-s390x-linux-gnu debhelper debugedit dh-autoreconf 109s dh-python dh-strip-nondeterminism docutils-common dwz g++ g++-14 109s g++-14-s390x-linux-gnu g++-s390x-linux-gnu gcc gcc-14 gcc-14-s390x-linux-gnu 109s gcc-s390x-linux-gnu gettext gunicorn intltool-debian libarchive-zip-perl 109s libasan8 libcc1-0 libdebhelper-perl libfile-stripnondeterminism-perl 109s libgcc-14-dev libgomp1 libisl23 libitm1 libjs-jquery libjs-sphinxdoc 109s libjs-underscore libjson-perl libmpc3 libpython3.13-minimal 109s libpython3.13-stdlib libstdc++-14-dev libtool libubsan1 m4 109s openstack-pkg-tools po-debconf python-pecan-doc python3-alabaster 109s python3-all python3-bs4 python3-defusedxml python3-distlib python3-docutils 109s python3-filelock python3-genshi python3-greenlet python3-gunicorn 109s python3-imagesize python3-iniconfig python3-kajiki python3-legacy-cgi 109s python3-linetable python3-logutils python3-mako python3-packaging 109s python3-paste python3-pastedeploy python3-pastedeploy-tpl python3-pecan 109s python3-pip python3-pip-whl python3-platformdirs python3-pluggy 109s python3-pytest python3-roman python3-setuptools-whl python3-simplegeneric 109s python3-six python3-snowballstemmer python3-soupsieve python3-sphinx 109s python3-sqlalchemy python3-tempita python3-virtualenv python3-waitress 109s python3-webob python3-webtest python3-wheel python3-wheel-whl python3.13 109s python3.13-minimal sgml-base sphinx-common xml-core 110s 0 upgraded, 97 newly installed, 0 to remove and 0 not upgraded. 110s Need to get 69.2 MB of archives. 110s After this operation, 236 MB of additional disk space will be used. 110s Get:1 http://ftpmaster.internal/ubuntu plucky/main s390x libpython3.13-minimal s390x 3.13.1-2 [880 kB] 110s Get:2 http://ftpmaster.internal/ubuntu plucky/main s390x python3.13-minimal s390x 3.13.1-2 [2364 kB] 110s Get:3 http://ftpmaster.internal/ubuntu plucky/main s390x sgml-base all 1.31 [11.4 kB] 110s Get:4 http://ftpmaster.internal/ubuntu plucky/main s390x m4 s390x 1.4.19-4build1 [256 kB] 110s Get:5 http://ftpmaster.internal/ubuntu plucky/main s390x autoconf all 2.72-3 [382 kB] 110s Get:6 http://ftpmaster.internal/ubuntu plucky/main s390x autotools-dev all 20220109.1 [44.9 kB] 110s Get:7 http://ftpmaster.internal/ubuntu plucky/main s390x automake all 1:1.16.5-1.3ubuntu1 [558 kB] 110s Get:8 http://ftpmaster.internal/ubuntu plucky/main s390x autopoint all 0.22.5-3 [616 kB] 110s Get:9 http://ftpmaster.internal/ubuntu plucky/main s390x libisl23 s390x 0.27-1 [704 kB] 110s Get:10 http://ftpmaster.internal/ubuntu plucky/main s390x libmpc3 s390x 1.3.1-1build2 [57.8 kB] 110s Get:11 http://ftpmaster.internal/ubuntu plucky/main s390x cpp-14-s390x-linux-gnu s390x 14.2.0-11ubuntu1 [9575 kB] 111s Get:12 http://ftpmaster.internal/ubuntu plucky/main s390x cpp-14 s390x 14.2.0-11ubuntu1 [1028 B] 111s Get:13 http://ftpmaster.internal/ubuntu plucky/main s390x cpp-s390x-linux-gnu s390x 4:14.1.0-2ubuntu1 [5452 B] 111s Get:14 http://ftpmaster.internal/ubuntu plucky/main s390x cpp s390x 4:14.1.0-2ubuntu1 [22.4 kB] 111s Get:15 http://ftpmaster.internal/ubuntu plucky/main s390x libcc1-0 s390x 14.2.0-11ubuntu1 [50.7 kB] 111s Get:16 http://ftpmaster.internal/ubuntu plucky/main s390x libgomp1 s390x 14.2.0-11ubuntu1 [151 kB] 111s Get:17 http://ftpmaster.internal/ubuntu plucky/main s390x libitm1 s390x 14.2.0-11ubuntu1 [30.9 kB] 111s Get:18 http://ftpmaster.internal/ubuntu plucky/main s390x libasan8 s390x 14.2.0-11ubuntu1 [2964 kB] 111s Get:19 http://ftpmaster.internal/ubuntu plucky/main s390x libubsan1 s390x 14.2.0-11ubuntu1 [1184 kB] 111s Get:20 http://ftpmaster.internal/ubuntu plucky/main s390x libgcc-14-dev s390x 14.2.0-11ubuntu1 [1036 kB] 111s Get:21 http://ftpmaster.internal/ubuntu plucky/main s390x gcc-14-s390x-linux-gnu s390x 14.2.0-11ubuntu1 [18.7 MB] 112s Get:22 http://ftpmaster.internal/ubuntu plucky/main s390x gcc-14 s390x 14.2.0-11ubuntu1 [521 kB] 112s Get:23 http://ftpmaster.internal/ubuntu plucky/main s390x gcc-s390x-linux-gnu s390x 4:14.1.0-2ubuntu1 [1204 B] 112s Get:24 http://ftpmaster.internal/ubuntu plucky/main s390x gcc s390x 4:14.1.0-2ubuntu1 [4996 B] 112s Get:25 http://ftpmaster.internal/ubuntu plucky/main s390x libstdc++-14-dev s390x 14.2.0-11ubuntu1 [2610 kB] 113s Get:26 http://ftpmaster.internal/ubuntu plucky/main s390x g++-14-s390x-linux-gnu s390x 14.2.0-11ubuntu1 [11.0 MB] 113s Get:27 http://ftpmaster.internal/ubuntu plucky/main s390x g++-14 s390x 14.2.0-11ubuntu1 [20.1 kB] 113s Get:28 http://ftpmaster.internal/ubuntu plucky/main s390x g++-s390x-linux-gnu s390x 4:14.1.0-2ubuntu1 [956 B] 113s Get:29 http://ftpmaster.internal/ubuntu plucky/main s390x g++ s390x 4:14.1.0-2ubuntu1 [1076 B] 113s Get:30 http://ftpmaster.internal/ubuntu plucky/main s390x build-essential s390x 12.10ubuntu1 [4930 B] 113s Get:31 http://ftpmaster.internal/ubuntu plucky/main s390x libdebhelper-perl all 13.20ubuntu1 [94.2 kB] 113s Get:32 http://ftpmaster.internal/ubuntu plucky/main s390x libtool all 2.4.7-8 [166 kB] 113s Get:33 http://ftpmaster.internal/ubuntu plucky/main s390x dh-autoreconf all 20 [16.1 kB] 113s Get:34 http://ftpmaster.internal/ubuntu plucky/main s390x libarchive-zip-perl all 1.68-1 [90.2 kB] 113s Get:35 http://ftpmaster.internal/ubuntu plucky/main s390x libfile-stripnondeterminism-perl all 1.14.0-1 [20.1 kB] 113s Get:36 http://ftpmaster.internal/ubuntu plucky/main s390x dh-strip-nondeterminism all 1.14.0-1 [5058 B] 113s Get:37 http://ftpmaster.internal/ubuntu plucky/main s390x debugedit s390x 1:5.1-1 [49.9 kB] 113s Get:38 http://ftpmaster.internal/ubuntu plucky/main s390x dwz s390x 0.15-1build6 [122 kB] 113s Get:39 http://ftpmaster.internal/ubuntu plucky/main s390x gettext s390x 0.22.5-3 [997 kB] 113s Get:40 http://ftpmaster.internal/ubuntu plucky/main s390x intltool-debian all 0.35.0+20060710.6 [23.2 kB] 113s Get:41 http://ftpmaster.internal/ubuntu plucky/main s390x po-debconf all 1.0.21+nmu1 [233 kB] 113s Get:42 http://ftpmaster.internal/ubuntu plucky/main s390x debhelper all 13.20ubuntu1 [893 kB] 113s Get:43 http://ftpmaster.internal/ubuntu plucky/universe s390x dh-python all 6.20241217 [117 kB] 113s Get:44 http://ftpmaster.internal/ubuntu plucky/main s390x xml-core all 0.19 [20.3 kB] 113s Get:45 http://ftpmaster.internal/ubuntu plucky/main s390x docutils-common all 0.21.2+dfsg-2 [131 kB] 113s Get:46 http://ftpmaster.internal/ubuntu plucky/main s390x python3-packaging all 24.2-1 [51.5 kB] 113s Get:47 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-gunicorn all 23.0.0-1 [63.8 kB] 113s Get:48 http://ftpmaster.internal/ubuntu plucky/universe s390x gunicorn all 23.0.0-1 [9516 B] 113s Get:49 http://ftpmaster.internal/ubuntu plucky/main s390x libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 113s Get:50 http://ftpmaster.internal/ubuntu plucky/main s390x libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [118 kB] 113s Get:51 http://ftpmaster.internal/ubuntu plucky/main s390x libjs-sphinxdoc all 8.1.3-2 [30.8 kB] 114s Get:52 http://ftpmaster.internal/ubuntu plucky/main s390x libjson-perl all 4.10000-1 [81.9 kB] 114s Get:53 http://ftpmaster.internal/ubuntu plucky/main s390x libpython3.13-stdlib s390x 3.13.1-2 [2074 kB] 114s Get:54 http://ftpmaster.internal/ubuntu plucky/main s390x python-pecan-doc all 1.5.1-6 [123 kB] 114s Get:55 http://ftpmaster.internal/ubuntu plucky/main s390x python3.13 s390x 3.13.1-2 [729 kB] 114s Get:56 http://ftpmaster.internal/ubuntu plucky-proposed/main s390x python3-all s390x 3.12.8-1 [894 B] 114s Get:57 http://ftpmaster.internal/ubuntu plucky/main s390x python3-soupsieve all 2.6-1 [33.0 kB] 114s Get:58 http://ftpmaster.internal/ubuntu plucky/main s390x python3-bs4 all 4.12.3-3 [109 kB] 114s Get:59 http://ftpmaster.internal/ubuntu plucky/main s390x python3-defusedxml all 0.7.1-3 [42.2 kB] 114s Get:60 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-distlib all 0.3.9-1 [267 kB] 114s Get:61 http://ftpmaster.internal/ubuntu plucky/main s390x python3-roman all 4.2-1 [10.0 kB] 114s Get:62 http://ftpmaster.internal/ubuntu plucky/main s390x python3-docutils all 0.21.2+dfsg-2 [409 kB] 114s Get:63 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-filelock all 3.16.1-1 [12.8 kB] 114s Get:64 http://ftpmaster.internal/ubuntu plucky/main s390x python3-six all 1.17.0-1 [13.2 kB] 114s Get:65 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-genshi s390x 0.7.9-2 [128 kB] 114s Get:66 http://ftpmaster.internal/ubuntu plucky/main s390x python3-imagesize all 1.4.1-1 [6844 B] 114s Get:67 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-iniconfig all 1.1.1-2 [6024 B] 114s Get:68 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-legacy-cgi all 2.6.1-2 [16.3 kB] 114s Get:69 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-linetable all 0.0.3-1 [5146 B] 114s Get:70 http://ftpmaster.internal/ubuntu plucky/main s390x python3-logutils all 0.3.5-4 [17.7 kB] 114s Get:71 http://ftpmaster.internal/ubuntu plucky/main s390x python3-mako all 1.3.6-1 [63.5 kB] 114s Get:72 http://ftpmaster.internal/ubuntu plucky/main s390x python3-tempita all 0.6.0-1 [14.8 kB] 114s Get:73 http://ftpmaster.internal/ubuntu plucky/main s390x python3-paste all 3.10.1-1 [210 kB] 114s Get:74 http://ftpmaster.internal/ubuntu plucky/main s390x python3-pastedeploy-tpl all 3.1-1 [5652 B] 114s Get:75 http://ftpmaster.internal/ubuntu plucky/main s390x python3-pastedeploy all 3.1-1 [13.5 kB] 114s Get:76 http://ftpmaster.internal/ubuntu plucky/main s390x python3-simplegeneric all 0.8.1-5 [10.7 kB] 114s Get:77 http://ftpmaster.internal/ubuntu plucky/main s390x python3-webob all 1:1.8.7-1ubuntu1 [86.4 kB] 114s Get:78 http://ftpmaster.internal/ubuntu plucky/main s390x python3-pecan all 1.5.1-6 [86.8 kB] 114s Get:79 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-wheel all 0.45.1-1 [57.7 kB] 114s Get:80 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-pip all 24.3.1+dfsg-1 [1404 kB] 114s Get:81 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-pip-whl all 24.3.1+dfsg-1 [1427 kB] 114s Get:82 http://ftpmaster.internal/ubuntu plucky/main s390x python3-platformdirs all 4.3.6-1 [16.8 kB] 114s Get:83 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-pluggy all 1.5.0-1 [21.0 kB] 114s Get:84 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-pytest all 8.3.3-1 [251 kB] 114s Get:85 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-setuptools-whl all 75.6.0-1 [1147 kB] 114s Get:86 http://ftpmaster.internal/ubuntu plucky/main s390x python3-snowballstemmer all 2.2.0-4build1 [59.8 kB] 114s Get:87 http://ftpmaster.internal/ubuntu plucky/main s390x sphinx-common all 8.1.3-2 [662 kB] 114s Get:88 http://ftpmaster.internal/ubuntu plucky/main s390x python3-alabaster all 0.7.16-0.1 [18.5 kB] 114s Get:89 http://ftpmaster.internal/ubuntu plucky/main s390x python3-sphinx all 8.1.3-2 [474 kB] 114s Get:90 http://ftpmaster.internal/ubuntu plucky/main s390x python3-greenlet s390x 3.1.0-1 [176 kB] 114s Get:91 http://ftpmaster.internal/ubuntu plucky/main s390x python3-sqlalchemy all 2.0.32+ds1-1ubuntu3 [1206 kB] 114s Get:92 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-wheel-whl all 0.45.1-1 [74.6 kB] 114s Get:93 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-virtualenv all 20.28.0+ds-1 [72.2 kB] 114s Get:94 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-waitress all 3.0.2-1 [46.3 kB] 114s Get:95 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-webtest all 3.0.0-4 [28.7 kB] 114s Get:96 http://ftpmaster.internal/ubuntu plucky/universe s390x openstack-pkg-tools all 123ubuntu2 [94.5 kB] 114s Get:97 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-kajiki all 0.9.2-1 [34.1 kB] 115s Fetched 69.2 MB in 5s (13.8 MB/s) 115s Selecting previously unselected package libpython3.13-minimal:s390x. 115s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 55491 files and directories currently installed.) 115s Preparing to unpack .../00-libpython3.13-minimal_3.13.1-2_s390x.deb ... 115s Unpacking libpython3.13-minimal:s390x (3.13.1-2) ... 115s Selecting previously unselected package python3.13-minimal. 115s Preparing to unpack .../01-python3.13-minimal_3.13.1-2_s390x.deb ... 115s Unpacking python3.13-minimal (3.13.1-2) ... 115s Selecting previously unselected package sgml-base. 115s Preparing to unpack .../02-sgml-base_1.31_all.deb ... 115s Unpacking sgml-base (1.31) ... 115s Selecting previously unselected package m4. 115s Preparing to unpack .../03-m4_1.4.19-4build1_s390x.deb ... 115s Unpacking m4 (1.4.19-4build1) ... 115s Selecting previously unselected package autoconf. 115s Preparing to unpack .../04-autoconf_2.72-3_all.deb ... 115s Unpacking autoconf (2.72-3) ... 115s Selecting previously unselected package autotools-dev. 115s Preparing to unpack .../05-autotools-dev_20220109.1_all.deb ... 115s Unpacking autotools-dev (20220109.1) ... 115s Selecting previously unselected package automake. 115s Preparing to unpack .../06-automake_1%3a1.16.5-1.3ubuntu1_all.deb ... 115s Unpacking automake (1:1.16.5-1.3ubuntu1) ... 115s Selecting previously unselected package autopoint. 115s Preparing to unpack .../07-autopoint_0.22.5-3_all.deb ... 115s Unpacking autopoint (0.22.5-3) ... 115s Selecting previously unselected package libisl23:s390x. 115s Preparing to unpack .../08-libisl23_0.27-1_s390x.deb ... 115s Unpacking libisl23:s390x (0.27-1) ... 115s Selecting previously unselected package libmpc3:s390x. 115s Preparing to unpack .../09-libmpc3_1.3.1-1build2_s390x.deb ... 115s Unpacking libmpc3:s390x (1.3.1-1build2) ... 115s Selecting previously unselected package cpp-14-s390x-linux-gnu. 115s Preparing to unpack .../10-cpp-14-s390x-linux-gnu_14.2.0-11ubuntu1_s390x.deb ... 115s Unpacking cpp-14-s390x-linux-gnu (14.2.0-11ubuntu1) ... 115s Selecting previously unselected package cpp-14. 115s Preparing to unpack .../11-cpp-14_14.2.0-11ubuntu1_s390x.deb ... 115s Unpacking cpp-14 (14.2.0-11ubuntu1) ... 115s Selecting previously unselected package cpp-s390x-linux-gnu. 115s Preparing to unpack .../12-cpp-s390x-linux-gnu_4%3a14.1.0-2ubuntu1_s390x.deb ... 115s Unpacking cpp-s390x-linux-gnu (4:14.1.0-2ubuntu1) ... 115s Selecting previously unselected package cpp. 115s Preparing to unpack .../13-cpp_4%3a14.1.0-2ubuntu1_s390x.deb ... 115s Unpacking cpp (4:14.1.0-2ubuntu1) ... 115s Selecting previously unselected package libcc1-0:s390x. 115s Preparing to unpack .../14-libcc1-0_14.2.0-11ubuntu1_s390x.deb ... 115s Unpacking libcc1-0:s390x (14.2.0-11ubuntu1) ... 115s Selecting previously unselected package libgomp1:s390x. 115s Preparing to unpack .../15-libgomp1_14.2.0-11ubuntu1_s390x.deb ... 115s Unpacking libgomp1:s390x (14.2.0-11ubuntu1) ... 115s Selecting previously unselected package libitm1:s390x. 115s Preparing to unpack .../16-libitm1_14.2.0-11ubuntu1_s390x.deb ... 115s Unpacking libitm1:s390x (14.2.0-11ubuntu1) ... 115s Selecting previously unselected package libasan8:s390x. 115s Preparing to unpack .../17-libasan8_14.2.0-11ubuntu1_s390x.deb ... 115s Unpacking libasan8:s390x (14.2.0-11ubuntu1) ... 115s Selecting previously unselected package libubsan1:s390x. 115s Preparing to unpack .../18-libubsan1_14.2.0-11ubuntu1_s390x.deb ... 115s Unpacking libubsan1:s390x (14.2.0-11ubuntu1) ... 115s Selecting previously unselected package libgcc-14-dev:s390x. 115s Preparing to unpack .../19-libgcc-14-dev_14.2.0-11ubuntu1_s390x.deb ... 115s Unpacking libgcc-14-dev:s390x (14.2.0-11ubuntu1) ... 115s Selecting previously unselected package gcc-14-s390x-linux-gnu. 115s Preparing to unpack .../20-gcc-14-s390x-linux-gnu_14.2.0-11ubuntu1_s390x.deb ... 115s Unpacking gcc-14-s390x-linux-gnu (14.2.0-11ubuntu1) ... 116s Selecting previously unselected package gcc-14. 116s Preparing to unpack .../21-gcc-14_14.2.0-11ubuntu1_s390x.deb ... 116s Unpacking gcc-14 (14.2.0-11ubuntu1) ... 116s Selecting previously unselected package gcc-s390x-linux-gnu. 116s Preparing to unpack .../22-gcc-s390x-linux-gnu_4%3a14.1.0-2ubuntu1_s390x.deb ... 116s Unpacking gcc-s390x-linux-gnu (4:14.1.0-2ubuntu1) ... 116s Selecting previously unselected package gcc. 116s Preparing to unpack .../23-gcc_4%3a14.1.0-2ubuntu1_s390x.deb ... 116s Unpacking gcc (4:14.1.0-2ubuntu1) ... 116s Selecting previously unselected package libstdc++-14-dev:s390x. 116s Preparing to unpack .../24-libstdc++-14-dev_14.2.0-11ubuntu1_s390x.deb ... 116s Unpacking libstdc++-14-dev:s390x (14.2.0-11ubuntu1) ... 116s Selecting previously unselected package g++-14-s390x-linux-gnu. 116s Preparing to unpack .../25-g++-14-s390x-linux-gnu_14.2.0-11ubuntu1_s390x.deb ... 116s Unpacking g++-14-s390x-linux-gnu (14.2.0-11ubuntu1) ... 116s Selecting previously unselected package g++-14. 116s Preparing to unpack .../26-g++-14_14.2.0-11ubuntu1_s390x.deb ... 116s Unpacking g++-14 (14.2.0-11ubuntu1) ... 116s Selecting previously unselected package g++-s390x-linux-gnu. 116s Preparing to unpack .../27-g++-s390x-linux-gnu_4%3a14.1.0-2ubuntu1_s390x.deb ... 116s Unpacking g++-s390x-linux-gnu (4:14.1.0-2ubuntu1) ... 116s Selecting previously unselected package g++. 116s Preparing to unpack .../28-g++_4%3a14.1.0-2ubuntu1_s390x.deb ... 116s Unpacking g++ (4:14.1.0-2ubuntu1) ... 116s Selecting previously unselected package build-essential. 116s Preparing to unpack .../29-build-essential_12.10ubuntu1_s390x.deb ... 116s Unpacking build-essential (12.10ubuntu1) ... 116s Selecting previously unselected package libdebhelper-perl. 116s Preparing to unpack .../30-libdebhelper-perl_13.20ubuntu1_all.deb ... 116s Unpacking libdebhelper-perl (13.20ubuntu1) ... 116s Selecting previously unselected package libtool. 116s Preparing to unpack .../31-libtool_2.4.7-8_all.deb ... 116s Unpacking libtool (2.4.7-8) ... 116s Selecting previously unselected package dh-autoreconf. 116s Preparing to unpack .../32-dh-autoreconf_20_all.deb ... 116s Unpacking dh-autoreconf (20) ... 116s Selecting previously unselected package libarchive-zip-perl. 116s Preparing to unpack .../33-libarchive-zip-perl_1.68-1_all.deb ... 116s Unpacking libarchive-zip-perl (1.68-1) ... 116s Selecting previously unselected package libfile-stripnondeterminism-perl. 116s Preparing to unpack .../34-libfile-stripnondeterminism-perl_1.14.0-1_all.deb ... 116s Unpacking libfile-stripnondeterminism-perl (1.14.0-1) ... 116s Selecting previously unselected package dh-strip-nondeterminism. 116s Preparing to unpack .../35-dh-strip-nondeterminism_1.14.0-1_all.deb ... 116s Unpacking dh-strip-nondeterminism (1.14.0-1) ... 116s Selecting previously unselected package debugedit. 116s Preparing to unpack .../36-debugedit_1%3a5.1-1_s390x.deb ... 116s Unpacking debugedit (1:5.1-1) ... 116s Selecting previously unselected package dwz. 116s Preparing to unpack .../37-dwz_0.15-1build6_s390x.deb ... 116s Unpacking dwz (0.15-1build6) ... 116s Selecting previously unselected package gettext. 116s Preparing to unpack .../38-gettext_0.22.5-3_s390x.deb ... 116s Unpacking gettext (0.22.5-3) ... 116s Selecting previously unselected package intltool-debian. 116s Preparing to unpack .../39-intltool-debian_0.35.0+20060710.6_all.deb ... 116s Unpacking intltool-debian (0.35.0+20060710.6) ... 116s Selecting previously unselected package po-debconf. 116s Preparing to unpack .../40-po-debconf_1.0.21+nmu1_all.deb ... 116s Unpacking po-debconf (1.0.21+nmu1) ... 116s Selecting previously unselected package debhelper. 116s Preparing to unpack .../41-debhelper_13.20ubuntu1_all.deb ... 116s Unpacking debhelper (13.20ubuntu1) ... 116s Selecting previously unselected package dh-python. 116s Preparing to unpack .../42-dh-python_6.20241217_all.deb ... 116s Unpacking dh-python (6.20241217) ... 116s Selecting previously unselected package xml-core. 116s Preparing to unpack .../43-xml-core_0.19_all.deb ... 116s Unpacking xml-core (0.19) ... 116s Selecting previously unselected package docutils-common. 116s Preparing to unpack .../44-docutils-common_0.21.2+dfsg-2_all.deb ... 116s Unpacking docutils-common (0.21.2+dfsg-2) ... 116s Selecting previously unselected package python3-packaging. 116s Preparing to unpack .../45-python3-packaging_24.2-1_all.deb ... 116s Unpacking python3-packaging (24.2-1) ... 116s Selecting previously unselected package python3-gunicorn. 116s Preparing to unpack .../46-python3-gunicorn_23.0.0-1_all.deb ... 116s Unpacking python3-gunicorn (23.0.0-1) ... 116s Selecting previously unselected package gunicorn. 116s Preparing to unpack .../47-gunicorn_23.0.0-1_all.deb ... 116s Unpacking gunicorn (23.0.0-1) ... 116s Selecting previously unselected package libjs-jquery. 116s Preparing to unpack .../48-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 116s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 116s Selecting previously unselected package libjs-underscore. 116s Preparing to unpack .../49-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... 116s Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 116s Selecting previously unselected package libjs-sphinxdoc. 116s Preparing to unpack .../50-libjs-sphinxdoc_8.1.3-2_all.deb ... 116s Unpacking libjs-sphinxdoc (8.1.3-2) ... 116s Selecting previously unselected package libjson-perl. 116s Preparing to unpack .../51-libjson-perl_4.10000-1_all.deb ... 116s Unpacking libjson-perl (4.10000-1) ... 116s Selecting previously unselected package libpython3.13-stdlib:s390x. 116s Preparing to unpack .../52-libpython3.13-stdlib_3.13.1-2_s390x.deb ... 116s Unpacking libpython3.13-stdlib:s390x (3.13.1-2) ... 116s Selecting previously unselected package python-pecan-doc. 116s Preparing to unpack .../53-python-pecan-doc_1.5.1-6_all.deb ... 116s Unpacking python-pecan-doc (1.5.1-6) ... 116s Selecting previously unselected package python3.13. 116s Preparing to unpack .../54-python3.13_3.13.1-2_s390x.deb ... 116s Unpacking python3.13 (3.13.1-2) ... 116s Selecting previously unselected package python3-all. 116s Preparing to unpack .../55-python3-all_3.12.8-1_s390x.deb ... 116s Unpacking python3-all (3.12.8-1) ... 116s Selecting previously unselected package python3-soupsieve. 116s Preparing to unpack .../56-python3-soupsieve_2.6-1_all.deb ... 116s Unpacking python3-soupsieve (2.6-1) ... 116s Selecting previously unselected package python3-bs4. 116s Preparing to unpack .../57-python3-bs4_4.12.3-3_all.deb ... 116s Unpacking python3-bs4 (4.12.3-3) ... 116s Selecting previously unselected package python3-defusedxml. 116s Preparing to unpack .../58-python3-defusedxml_0.7.1-3_all.deb ... 116s Unpacking python3-defusedxml (0.7.1-3) ... 116s Selecting previously unselected package python3-distlib. 116s Preparing to unpack .../59-python3-distlib_0.3.9-1_all.deb ... 116s Unpacking python3-distlib (0.3.9-1) ... 116s Selecting previously unselected package python3-roman. 116s Preparing to unpack .../60-python3-roman_4.2-1_all.deb ... 116s Unpacking python3-roman (4.2-1) ... 116s Selecting previously unselected package python3-docutils. 116s Preparing to unpack .../61-python3-docutils_0.21.2+dfsg-2_all.deb ... 116s Unpacking python3-docutils (0.21.2+dfsg-2) ... 116s Selecting previously unselected package python3-filelock. 116s Preparing to unpack .../62-python3-filelock_3.16.1-1_all.deb ... 116s Unpacking python3-filelock (3.16.1-1) ... 116s Selecting previously unselected package python3-six. 116s Preparing to unpack .../63-python3-six_1.17.0-1_all.deb ... 116s Unpacking python3-six (1.17.0-1) ... 116s Selecting previously unselected package python3-genshi. 116s Preparing to unpack .../64-python3-genshi_0.7.9-2_s390x.deb ... 116s Unpacking python3-genshi (0.7.9-2) ... 116s Selecting previously unselected package python3-imagesize. 116s Preparing to unpack .../65-python3-imagesize_1.4.1-1_all.deb ... 116s Unpacking python3-imagesize (1.4.1-1) ... 116s Selecting previously unselected package python3-iniconfig. 116s Preparing to unpack .../66-python3-iniconfig_1.1.1-2_all.deb ... 116s Unpacking python3-iniconfig (1.1.1-2) ... 116s Selecting previously unselected package python3-legacy-cgi. 116s Preparing to unpack .../67-python3-legacy-cgi_2.6.1-2_all.deb ... 116s Unpacking python3-legacy-cgi (2.6.1-2) ... 116s Selecting previously unselected package python3-linetable. 116s Preparing to unpack .../68-python3-linetable_0.0.3-1_all.deb ... 116s Unpacking python3-linetable (0.0.3-1) ... 116s Selecting previously unselected package python3-logutils. 116s Preparing to unpack .../69-python3-logutils_0.3.5-4_all.deb ... 116s Unpacking python3-logutils (0.3.5-4) ... 116s Selecting previously unselected package python3-mako. 116s Preparing to unpack .../70-python3-mako_1.3.6-1_all.deb ... 116s Unpacking python3-mako (1.3.6-1) ... 116s Selecting previously unselected package python3-tempita. 116s Preparing to unpack .../71-python3-tempita_0.6.0-1_all.deb ... 116s Unpacking python3-tempita (0.6.0-1) ... 116s Selecting previously unselected package python3-paste. 116s Preparing to unpack .../72-python3-paste_3.10.1-1_all.deb ... 116s Unpacking python3-paste (3.10.1-1) ... 116s Selecting previously unselected package python3-pastedeploy-tpl. 116s Preparing to unpack .../73-python3-pastedeploy-tpl_3.1-1_all.deb ... 116s Unpacking python3-pastedeploy-tpl (3.1-1) ... 116s Selecting previously unselected package python3-pastedeploy. 116s Preparing to unpack .../74-python3-pastedeploy_3.1-1_all.deb ... 116s Unpacking python3-pastedeploy (3.1-1) ... 116s Selecting previously unselected package python3-simplegeneric. 116s Preparing to unpack .../75-python3-simplegeneric_0.8.1-5_all.deb ... 116s Unpacking python3-simplegeneric (0.8.1-5) ... 116s Selecting previously unselected package python3-webob. 116s Preparing to unpack .../76-python3-webob_1%3a1.8.7-1ubuntu1_all.deb ... 116s Unpacking python3-webob (1:1.8.7-1ubuntu1) ... 117s Selecting previously unselected package python3-pecan. 117s Preparing to unpack .../77-python3-pecan_1.5.1-6_all.deb ... 117s Unpacking python3-pecan (1.5.1-6) ... 117s Selecting previously unselected package python3-wheel. 117s Preparing to unpack .../78-python3-wheel_0.45.1-1_all.deb ... 117s Unpacking python3-wheel (0.45.1-1) ... 117s Selecting previously unselected package python3-pip. 117s Preparing to unpack .../79-python3-pip_24.3.1+dfsg-1_all.deb ... 117s Unpacking python3-pip (24.3.1+dfsg-1) ... 117s Selecting previously unselected package python3-pip-whl. 117s Preparing to unpack .../80-python3-pip-whl_24.3.1+dfsg-1_all.deb ... 117s Unpacking python3-pip-whl (24.3.1+dfsg-1) ... 117s Selecting previously unselected package python3-platformdirs. 117s Preparing to unpack .../81-python3-platformdirs_4.3.6-1_all.deb ... 117s Unpacking python3-platformdirs (4.3.6-1) ... 117s Selecting previously unselected package python3-pluggy. 117s Preparing to unpack .../82-python3-pluggy_1.5.0-1_all.deb ... 117s Unpacking python3-pluggy (1.5.0-1) ... 117s Selecting previously unselected package python3-pytest. 117s Preparing to unpack .../83-python3-pytest_8.3.3-1_all.deb ... 117s Unpacking python3-pytest (8.3.3-1) ... 117s Selecting previously unselected package python3-setuptools-whl. 117s Preparing to unpack .../84-python3-setuptools-whl_75.6.0-1_all.deb ... 117s Unpacking python3-setuptools-whl (75.6.0-1) ... 117s Selecting previously unselected package python3-snowballstemmer. 117s Preparing to unpack .../85-python3-snowballstemmer_2.2.0-4build1_all.deb ... 117s Unpacking python3-snowballstemmer (2.2.0-4build1) ... 117s Selecting previously unselected package sphinx-common. 117s Preparing to unpack .../86-sphinx-common_8.1.3-2_all.deb ... 117s Unpacking sphinx-common (8.1.3-2) ... 117s Selecting previously unselected package python3-alabaster. 117s Preparing to unpack .../87-python3-alabaster_0.7.16-0.1_all.deb ... 117s Unpacking python3-alabaster (0.7.16-0.1) ... 117s Selecting previously unselected package python3-sphinx. 117s Preparing to unpack .../88-python3-sphinx_8.1.3-2_all.deb ... 117s Unpacking python3-sphinx (8.1.3-2) ... 117s Selecting previously unselected package python3-greenlet. 117s Preparing to unpack .../89-python3-greenlet_3.1.0-1_s390x.deb ... 117s Unpacking python3-greenlet (3.1.0-1) ... 117s Selecting previously unselected package python3-sqlalchemy. 117s Preparing to unpack .../90-python3-sqlalchemy_2.0.32+ds1-1ubuntu3_all.deb ... 117s Unpacking python3-sqlalchemy (2.0.32+ds1-1ubuntu3) ... 117s Selecting previously unselected package python3-wheel-whl. 117s Preparing to unpack .../91-python3-wheel-whl_0.45.1-1_all.deb ... 117s Unpacking python3-wheel-whl (0.45.1-1) ... 117s Selecting previously unselected package python3-virtualenv. 117s Preparing to unpack .../92-python3-virtualenv_20.28.0+ds-1_all.deb ... 117s Unpacking python3-virtualenv (20.28.0+ds-1) ... 117s Selecting previously unselected package python3-waitress. 117s Preparing to unpack .../93-python3-waitress_3.0.2-1_all.deb ... 117s Unpacking python3-waitress (3.0.2-1) ... 117s Selecting previously unselected package python3-webtest. 117s Preparing to unpack .../94-python3-webtest_3.0.0-4_all.deb ... 117s Unpacking python3-webtest (3.0.0-4) ... 117s Selecting previously unselected package openstack-pkg-tools. 117s Preparing to unpack .../95-openstack-pkg-tools_123ubuntu2_all.deb ... 117s Unpacking openstack-pkg-tools (123ubuntu2) ... 117s Selecting previously unselected package python3-kajiki. 117s Preparing to unpack .../96-python3-kajiki_0.9.2-1_all.deb ... 117s Unpacking python3-kajiki (0.9.2-1) ... 117s Setting up dh-python (6.20241217) ... 117s Setting up python3-iniconfig (1.1.1-2) ... 117s Setting up python3-setuptools-whl (75.6.0-1) ... 117s Setting up python3-filelock (3.16.1-1) ... 117s Setting up python3-waitress (3.0.2-1) ... 118s Setting up python3-linetable (0.0.3-1) ... 118s Setting up python3-pip-whl (24.3.1+dfsg-1) ... 118s Setting up python3-defusedxml (0.7.1-3) ... 118s Setting up libarchive-zip-perl (1.68-1) ... 118s Setting up python3-alabaster (0.7.16-0.1) ... 118s Setting up libdebhelper-perl (13.20ubuntu1) ... 118s Setting up m4 (1.4.19-4build1) ... 118s Setting up python3-distlib (0.3.9-1) ... 118s Setting up libgomp1:s390x (14.2.0-11ubuntu1) ... 118s Setting up python3-wheel (0.45.1-1) ... 118s Setting up python3-platformdirs (4.3.6-1) ... 118s Setting up python3-six (1.17.0-1) ... 119s Setting up libpython3.13-minimal:s390x (3.13.1-2) ... 119s Setting up python3-genshi (0.7.9-2) ... 119s Setting up python3-roman (4.2-1) ... 119s Setting up autotools-dev (20220109.1) ... 119s Setting up python3-tempita (0.6.0-1) ... 119s Setting up python3-packaging (24.2-1) ... 119s Setting up python3-paste (3.10.1-1) ... 120s Setting up python3-snowballstemmer (2.2.0-4build1) ... 120s Setting up python3-greenlet (3.1.0-1) ... 120s Setting up python3-pastedeploy-tpl (3.1-1) ... 120s Setting up libmpc3:s390x (1.3.1-1build2) ... 120s Setting up autopoint (0.22.5-3) ... 120s Setting up python3-gunicorn (23.0.0-1) ... 121s Setting up python3-pip (24.3.1+dfsg-1) ... 122s Setting up python3-kajiki (0.9.2-1) ... 122s Setting up autoconf (2.72-3) ... 122s Setting up python3-pluggy (1.5.0-1) ... 123s Setting up libubsan1:s390x (14.2.0-11ubuntu1) ... 123s Setting up python3-legacy-cgi (2.6.1-2) ... 123s Setting up dwz (0.15-1build6) ... 123s Setting up libasan8:s390x (14.2.0-11ubuntu1) ... 123s Setting up libjson-perl (4.10000-1) ... 123s Setting up debugedit (1:5.1-1) ... 123s Setting up python3.13-minimal (3.13.1-2) ... 123s Setting up sgml-base (1.31) ... 123s Setting up python3-logutils (0.3.5-4) ... 123s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 123s Setting up libisl23:s390x (0.27-1) ... 123s Setting up python3-simplegeneric (0.8.1-5) ... 123s Setting up python3-wheel-whl (0.45.1-1) ... 123s Setting up libpython3.13-stdlib:s390x (3.13.1-2) ... 123s Setting up python3-soupsieve (2.6-1) ... 124s Setting up libcc1-0:s390x (14.2.0-11ubuntu1) ... 124s Setting up libitm1:s390x (14.2.0-11ubuntu1) ... 124s Setting up python3-mako (1.3.6-1) ... 124s Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 124s Setting up python3-webob (1:1.8.7-1ubuntu1) ... 124s Setting up python3-imagesize (1.4.1-1) ... 124s Setting up automake (1:1.16.5-1.3ubuntu1) ... 124s update-alternatives: using /usr/bin/automake-1.16 to provide /usr/bin/automake (automake) in auto mode 124s Setting up libfile-stripnondeterminism-perl (1.14.0-1) ... 124s Setting up python3-pecan (1.5.1-6) ... 125s Setting up gettext (0.22.5-3) ... 125s Setting up python3.13 (3.13.1-2) ... 125s Setting up python3-pytest (8.3.3-1) ... 126s Setting up python3-pastedeploy (3.1-1) ... 126s Setting up python3-virtualenv (20.28.0+ds-1) ... 126s Setting up python3-all (3.12.8-1) ... 126s Setting up gunicorn (23.0.0-1) ... 126s Setting up python3-bs4 (4.12.3-3) ... 126s Setting up python3-sqlalchemy (2.0.32+ds1-1ubuntu3) ... 128s Setting up intltool-debian (0.35.0+20060710.6) ... 128s Setting up libjs-sphinxdoc (8.1.3-2) ... 129s Setting up cpp-14-s390x-linux-gnu (14.2.0-11ubuntu1) ... 129s Setting up cpp-14 (14.2.0-11ubuntu1) ... 129s Setting up dh-strip-nondeterminism (1.14.0-1) ... 129s Setting up xml-core (0.19) ... 129s Setting up python3-webtest (3.0.0-4) ... 129s Setting up libgcc-14-dev:s390x (14.2.0-11ubuntu1) ... 129s Setting up libstdc++-14-dev:s390x (14.2.0-11ubuntu1) ... 129s Setting up python-pecan-doc (1.5.1-6) ... 129s Setting up cpp-s390x-linux-gnu (4:14.1.0-2ubuntu1) ... 129s Setting up po-debconf (1.0.21+nmu1) ... 129s Setting up openstack-pkg-tools (123ubuntu2) ... 129s Setting up gcc-14-s390x-linux-gnu (14.2.0-11ubuntu1) ... 129s Setting up gcc-s390x-linux-gnu (4:14.1.0-2ubuntu1) ... 129s Setting up sphinx-common (8.1.3-2) ... 129s Setting up g++-14-s390x-linux-gnu (14.2.0-11ubuntu1) ... 129s Setting up cpp (4:14.1.0-2ubuntu1) ... 129s Setting up g++-s390x-linux-gnu (4:14.1.0-2ubuntu1) ... 129s Setting up gcc-14 (14.2.0-11ubuntu1) ... 129s Setting up g++-14 (14.2.0-11ubuntu1) ... 129s Setting up libtool (2.4.7-8) ... 129s Setting up gcc (4:14.1.0-2ubuntu1) ... 129s Setting up dh-autoreconf (20) ... 129s Setting up g++ (4:14.1.0-2ubuntu1) ... 129s update-alternatives: using /usr/bin/g++ to provide /usr/bin/c++ (c++) in auto mode 129s Setting up build-essential (12.10ubuntu1) ... 129s Setting up debhelper (13.20ubuntu1) ... 129s Processing triggers for install-info (7.1.1-1) ... 129s Processing triggers for libc-bin (2.40-4ubuntu1) ... 129s Processing triggers for systemd (257-2ubuntu1) ... 129s Processing triggers for man-db (2.13.0-1) ... 129s Processing triggers for sgml-base (1.31) ... 130s Setting up docutils-common (0.21.2+dfsg-2) ... 130s Processing triggers for sgml-base (1.31) ... 130s Setting up python3-docutils (0.21.2+dfsg-2) ... 130s Setting up python3-sphinx (8.1.3-2) ... 132s autopkgtest [17:15:22]: test unittests: [----------------------- 133s ============================= test session starts ============================== 133s platform linux -- Python 3.13.1, pytest-8.3.3, pluggy-1.5.0 -- /usr/bin/python3.13 133s cachedir: .pytest_cache 133s rootdir: /tmp/autopkgtest.pf9SnE/build.pik/src 133s configfile: setup.cfg 133s plugins: typeguard-4.4.1 135s collecting ... collected 543 items / 3 deselected / 540 selected 135s 135s pecan/tests/middleware/test_errordocument.py::TestErrorDocumentMiddleware::test_error_endpoint_with_query_string PASSED [ 0%] 135s pecan/tests/middleware/test_errordocument.py::TestErrorDocumentMiddleware::test_error_with_recursion_loop PASSED [ 0%] 135s pecan/tests/middleware/test_errordocument.py::TestErrorDocumentMiddleware::test_hit_error_page PASSED [ 0%] 135s pecan/tests/middleware/test_errordocument.py::TestErrorDocumentMiddleware::test_middleware_routes_to_404_message PASSED [ 0%] 135s pecan/tests/middleware/test_errordocument.py::TestErrorDocumentMiddleware::test_original_exception PASSED [ 0%] 135s pecan/tests/middleware/test_recursive.py::TestRecursiveMiddleware::test_ForwardRequestException PASSED [ 1%] 135s pecan/tests/middleware/test_recursive.py::TestRecursiveMiddleware::test_ForwardRequest_environ PASSED [ 1%] 135s pecan/tests/middleware/test_recursive.py::TestRecursiveMiddleware::test_ForwardRequest_factory PASSED [ 1%] 135s pecan/tests/middleware/test_recursive.py::TestRecursiveMiddleware::test_ForwardRequest_url PASSED [ 1%] 135s pecan/tests/middleware/test_recursive.py::TestRecursiveMiddleware::test_ForwardRequest_url_with_params PASSED [ 1%] 135s pecan/tests/middleware/test_static.py::TestStaticFileMiddleware::test_date_dumping_on_unix_timestamps PASSED [ 2%] 135s pecan/tests/middleware/test_static.py::TestStaticFileMiddleware::test_file_can_be_closed PASSED [ 2%] 135s pecan/tests/middleware/test_static.py::TestStaticFileMiddleware::test_file_can_be_found PASSED [ 2%] 135s pecan/tests/middleware/test_static.py::TestStaticFileMiddleware::test_file_can_be_iterated_over PASSED [ 2%] 135s pecan/tests/middleware/test_static.py::TestStaticFileMiddleware::test_mime_type_works_for_png_files PASSED [ 2%] 135s pecan/tests/middleware/test_static.py::TestStaticFileMiddleware::test_no_file_found_causes_passthrough PASSED [ 2%] 135s pecan/tests/middleware/test_static.py::TestStaticFileMiddleware::test_separator_sanitization_still_finds_file PASSED [ 3%] 135s pecan/tests/test_base.py::TestAppRoot::test_controller_lookup_by_string_path PASSED [ 3%] 135s pecan/tests/test_base.py::TestEmptyContent::test_empty_body PASSED [ 3%] 135s pecan/tests/test_base.py::TestEmptyContent::test_empty_index PASSED [ 3%] 135s pecan/tests/test_base.py::TestEmptyContent::test_empty_text PASSED [ 3%] 135s pecan/tests/test_base.py::TestEmptyContent::test_explicit_body PASSED [ 4%] 135s pecan/tests/test_base.py::TestEmptyContent::test_explicit_json PASSED [ 4%] 135s pecan/tests/test_base.py::TestEmptyContent::test_explicit_json_body PASSED [ 4%] 135s pecan/tests/test_base.py::TestEmptyContent::test_explicit_text PASSED [ 4%] 135s pecan/tests/test_base.py::TestEmptyContent::test_index_with_non_unicode PASSED [ 4%] 135s pecan/tests/test_base.py::TestAppIterFile::test_body_generator PASSED [ 5%] 135s pecan/tests/test_base.py::TestAppIterFile::test_empty_body_generator PASSED [ 5%] 135s pecan/tests/test_base.py::TestInvalidURLEncoding::test_rest_with_non_utf_8_body PASSED [ 5%] 135s pecan/tests/test_base.py::TestIndexRouting::test_empty_root PASSED [ 5%] 135s pecan/tests/test_base.py::TestIndexRouting::test_index PASSED [ 5%] 135s pecan/tests/test_base.py::TestIndexRouting::test_index_html PASSED [ 5%] 135s pecan/tests/test_base.py::TestObjectDispatch::test_index PASSED [ 6%] 135s pecan/tests/test_base.py::TestObjectDispatch::test_one_level PASSED [ 6%] 135s pecan/tests/test_base.py::TestObjectDispatch::test_one_level_with_trailing PASSED [ 6%] 135s pecan/tests/test_base.py::TestObjectDispatch::test_three_levels PASSED [ 6%] 135s pecan/tests/test_base.py::TestObjectDispatch::test_two_levels PASSED [ 6%] 135s pecan/tests/test_base.py::TestObjectDispatch::test_two_levels_with_trailing PASSED [ 7%] 135s pecan/tests/test_base.py::TestUnicodePathSegments::test_unicode_child PASSED [ 7%] 135s pecan/tests/test_base.py::TestUnicodePathSegments::test_unicode_methods PASSED [ 7%] 135s pecan/tests/test_base.py::TestLookups::test_index PASSED [ 7%] 135s pecan/tests/test_base.py::TestLookups::test_lookup PASSED [ 7%] 135s pecan/tests/test_base.py::TestLookups::test_lookup_with_method PASSED [ 7%] 135s pecan/tests/test_base.py::TestLookups::test_lookup_with_wrong_argspec PASSED [ 8%] 135s pecan/tests/test_base.py::TestLookups::test_lookup_with_wrong_return PASSED [ 8%] 135s pecan/tests/test_base.py::TestCanonicalLookups::test_canonical_lookup PASSED [ 8%] 135s pecan/tests/test_base.py::TestControllerArguments::test_argument_and_keyword_argument PASSED [ 8%] 135s pecan/tests/test_base.py::TestControllerArguments::test_duplicate_query_parameters_GET PASSED [ 8%] 135s pecan/tests/test_base.py::TestControllerArguments::test_duplicate_query_parameters_POST PASSED [ 9%] 135s pecan/tests/test_base.py::TestControllerArguments::test_duplicate_query_parameters_POST_mixed PASSED [ 9%] 135s pecan/tests/test_base.py::TestControllerArguments::test_duplicate_query_parameters_POST_mixed_json PASSED [ 9%] 135s pecan/tests/test_base.py::TestControllerArguments::test_encoded_argument_and_keyword_argument PASSED [ 9%] 135s pecan/tests/test_base.py::TestControllerArguments::test_explicit_json_kwargs PASSED [ 9%] 135s pecan/tests/test_base.py::TestControllerArguments::test_explicit_kwargs PASSED [ 10%] 135s pecan/tests/test_base.py::TestControllerArguments::test_json_kwargs_from_root PASSED [ 10%] 135s pecan/tests/test_base.py::TestControllerArguments::test_keyword_argument PASSED [ 10%] 135s pecan/tests/test_base.py::TestControllerArguments::test_keyword_argument_with_encoded_plus PASSED [ 10%] 135s pecan/tests/test_base.py::TestControllerArguments::test_keyword_argument_with_encoded_url PASSED [ 10%] 135s pecan/tests/test_base.py::TestControllerArguments::test_keyword_argument_with_plus PASSED [ 10%] 135s pecan/tests/test_base.py::TestControllerArguments::test_kwargs_from_root PASSED [ 11%] 135s pecan/tests/test_base.py::TestControllerArguments::test_many_remainders PASSED [ 11%] 135s pecan/tests/test_base.py::TestControllerArguments::test_multiple_args_with_url_encoded_kwargs PASSED [ 11%] 135s pecan/tests/test_base.py::TestControllerArguments::test_multiple_encoded_variable_args PASSED [ 11%] 135s pecan/tests/test_base.py::TestControllerArguments::test_multiple_kwargs PASSED [ 11%] 135s pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional PASSED [ 12%] 135s pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_args_with_last_encoded_kwarg PASSED [ 12%] 135s pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_args_with_last_kwarg PASSED [ 12%] 135s pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_args_with_middle_arg PASSED [ 12%] 135s pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_args_with_multiple_dict_kwargs PASSED [ 12%] 135s pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_args_with_multiple_encoded_dict_kwargs PASSED [ 12%] 135s pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_args_with_multiple_encoded_kwargs PASSED [ 13%] 135s pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_args_with_multiple_json_kwargs PASSED [ 13%] 135s pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_args_with_multiple_kwargs PASSED [ 13%] 135s pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_encoded_positional_args_and_dict_kwargs PASSED [ 13%] 135s pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_missing PASSED [ 13%] 135s pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_positional_args PASSED [ 14%] 135s pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_positional_args_all_args PASSED [ 14%] 135s pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_positional_args_all_url_encoded_args PASSED [ 14%] 135s pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_positional_args_and_dict_kwargs PASSED [ 14%] 135s pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_positional_args_and_json_kwargs PASSED [ 14%] 135s pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_positional_args_one_arg PASSED [ 15%] 135s pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_positional_args_one_url_encoded_arg PASSED [ 15%] 135s pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_positional_args_too_many_args PASSED [ 15%] 135s pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_positional_args_with_dict_kwargs PASSED [ 15%] 135s pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_positional_args_with_encoded_dict_kwargs PASSED [ 15%] 135s pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_positional_args_with_encoded_str_kwargs PASSED [ 15%] 135s pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_positional_args_with_json_kwargs PASSED [ 16%] 135s pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_positional_args_with_kwargs PASSED [ 16%] 135s pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_positional_args_with_string_kwargs PASSED [ 16%] 135s pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_positional_args_with_url_encoded_kwargs PASSED [ 16%] 135s pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_url_encoded PASSED [ 16%] 135s pecan/tests/test_base.py::TestControllerArguments::test_multiple_positional_arguments PASSED [ 17%] 135s pecan/tests/test_base.py::TestControllerArguments::test_multiple_positional_arguments_with_dictionary_kwargs PASSED [ 17%] 135s pecan/tests/test_base.py::TestControllerArguments::test_multiple_positional_arguments_with_json_kwargs PASSED [ 17%] 135s pecan/tests/test_base.py::TestControllerArguments::test_multiple_positional_arguments_with_kwargs PASSED [ 17%] 135s pecan/tests/test_base.py::TestControllerArguments::test_multiple_positional_arguments_with_url_encode PASSED [ 17%] 135s pecan/tests/test_base.py::TestControllerArguments::test_multiple_positional_arguments_with_url_encoded_kwargs PASSED [ 17%] 135s pecan/tests/test_base.py::TestControllerArguments::test_multiple_positional_url_encoded_arguments_with_kwargs PASSED [ 18%] 135s pecan/tests/test_base.py::TestControllerArguments::test_multiple_variable_args PASSED [ 18%] 135s pecan/tests/test_base.py::TestControllerArguments::test_multiple_variable_kwargs PASSED [ 18%] 135s pecan/tests/test_base.py::TestControllerArguments::test_multiple_variable_kwargs_with_dict_kwargs PASSED [ 18%] 135s pecan/tests/test_base.py::TestControllerArguments::test_multiple_variable_kwargs_with_encoded_dict_kwargs PASSED [ 18%] 135s pecan/tests/test_base.py::TestControllerArguments::test_multiple_variable_kwargs_with_explicit_encoded_kwargs PASSED [ 19%] 135s pecan/tests/test_base.py::TestControllerArguments::test_multiple_variable_kwargs_with_explicit_kwargs PASSED [ 19%] 135s pecan/tests/test_base.py::TestControllerArguments::test_multiple_variable_kwargs_with_json_kwargs PASSED [ 19%] 135s pecan/tests/test_base.py::TestControllerArguments::test_multiple_with_kwargs PASSED [ 19%] 135s pecan/tests/test_base.py::TestControllerArguments::test_multiple_with_url_encoded_kwargs PASSED [ 19%] 135s pecan/tests/test_base.py::TestControllerArguments::test_no_remainder PASSED [ 20%] 135s pecan/tests/test_base.py::TestControllerArguments::test_one_remainder PASSED [ 20%] 135s pecan/tests/test_base.py::TestControllerArguments::test_optional_arg PASSED [ 20%] 135s pecan/tests/test_base.py::TestControllerArguments::test_optional_arg_with_json_kwargs PASSED [ 20%] 135s pecan/tests/test_base.py::TestControllerArguments::test_optional_arg_with_kwargs PASSED [ 20%] 135s pecan/tests/test_base.py::TestControllerArguments::test_optional_arg_with_multiple_dictionary_kwargs PASSED [ 20%] 135s pecan/tests/test_base.py::TestControllerArguments::test_optional_arg_with_multiple_json_kwargs PASSED [ 21%] 135s pecan/tests/test_base.py::TestControllerArguments::test_optional_arg_with_multiple_kwargs PASSED [ 21%] 135s pecan/tests/test_base.py::TestControllerArguments::test_optional_arg_with_multiple_url_encoded_dictionary_kwargs PASSED [ 21%] 135s pecan/tests/test_base.py::TestControllerArguments::test_optional_arg_with_multiple_url_encoded_kwargs PASSED [ 21%] 135s pecan/tests/test_base.py::TestControllerArguments::test_optional_arg_with_url_encoded_kwargs PASSED [ 21%] 135s pecan/tests/test_base.py::TestControllerArguments::test_path_with_explicit_json_kwargs PASSED [ 22%] 135s pecan/tests/test_base.py::TestControllerArguments::test_path_with_explicit_kwargs PASSED [ 22%] 135s pecan/tests/test_base.py::TestControllerArguments::test_positional_args_with_dictionary_kwargs PASSED [ 22%] 135s pecan/tests/test_base.py::TestControllerArguments::test_positional_args_with_json_kwargs PASSED [ 22%] 135s pecan/tests/test_base.py::TestControllerArguments::test_positional_args_with_url_encoded_dictionary_kwargs PASSED [ 22%] 135s pecan/tests/test_base.py::TestControllerArguments::test_post_empty_remainder_with_json_kwargs PASSED [ 22%] 135s pecan/tests/test_base.py::TestControllerArguments::test_post_many_remainders PASSED [ 23%] 135s pecan/tests/test_base.py::TestControllerArguments::test_post_many_remainders_with_many_json_kwargs PASSED [ 23%] 135s pecan/tests/test_base.py::TestControllerArguments::test_post_many_remainders_with_many_kwargs PASSED [ 23%] 135s pecan/tests/test_base.py::TestControllerArguments::test_post_remainder PASSED [ 23%] 135s pecan/tests/test_base.py::TestControllerArguments::test_post_remainder_with_json_kwargs PASSED [ 23%] 135s pecan/tests/test_base.py::TestControllerArguments::test_post_remainder_with_kwargs PASSED [ 24%] 135s pecan/tests/test_base.py::TestControllerArguments::test_post_three_remainders PASSED [ 24%] 135s pecan/tests/test_base.py::TestControllerArguments::test_remainder_with_kwargs PASSED [ 24%] 135s pecan/tests/test_base.py::TestControllerArguments::test_remainder_with_many_kwargs PASSED [ 24%] 135s pecan/tests/test_base.py::TestControllerArguments::test_required_argument PASSED [ 24%] 135s pecan/tests/test_base.py::TestControllerArguments::test_single_argument PASSED [ 25%] 135s pecan/tests/test_base.py::TestControllerArguments::test_single_argument_with_encoded_plus PASSED [ 25%] 135s pecan/tests/test_base.py::TestControllerArguments::test_single_argument_with_encoded_url PASSED [ 25%] 135s pecan/tests/test_base.py::TestControllerArguments::test_single_argument_with_plus PASSED [ 25%] 135s pecan/tests/test_base.py::TestControllerArguments::test_staticmethod PASSED [ 25%] 135s pecan/tests/test_base.py::TestControllerArguments::test_two_arguments PASSED [ 25%] 135s pecan/tests/test_base.py::TestControllerArguments::test_two_remainders PASSED [ 26%] 135s pecan/tests/test_base.py::TestControllerArguments::test_url_encoded_positional_args PASSED [ 26%] 135s pecan/tests/test_base.py::TestControllerArguments::test_variable_all PASSED [ 26%] 135s pecan/tests/test_base.py::TestControllerArguments::test_variable_all_with_one_extra PASSED [ 26%] 135s pecan/tests/test_base.py::TestControllerArguments::test_variable_all_with_two_extras PASSED [ 26%] 135s pecan/tests/test_base.py::TestControllerArguments::test_variable_args PASSED [ 27%] 135s pecan/tests/test_base.py::TestControllerArguments::test_variable_args_with_dict_kwargs PASSED [ 27%] 135s pecan/tests/test_base.py::TestControllerArguments::test_variable_args_with_json_kwargs PASSED [ 27%] 135s pecan/tests/test_base.py::TestControllerArguments::test_variable_args_with_kwargs PASSED [ 27%] 135s pecan/tests/test_base.py::TestControllerArguments::test_variable_kwargs PASSED [ 27%] 135s pecan/tests/test_base.py::TestControllerArguments::test_variable_mixed PASSED [ 27%] 135s pecan/tests/test_base.py::TestControllerArguments::test_variable_mixed_explicit PASSED [ 28%] 135s pecan/tests/test_base.py::TestControllerArguments::test_variable_post PASSED [ 28%] 135s pecan/tests/test_base.py::TestControllerArguments::test_variable_post_mixed PASSED [ 28%] 135s pecan/tests/test_base.py::TestControllerArguments::test_variable_post_mixed_with_json PASSED [ 28%] 135s pecan/tests/test_base.py::TestControllerArguments::test_variable_post_with_json_kwargs PASSED [ 28%] 135s pecan/tests/test_base.py::TestControllerArguments::test_variable_post_with_kwargs PASSED [ 29%] 135s pecan/tests/test_base.py::TestDefaultErrorRendering::test_html_error PASSED [ 29%] 135s pecan/tests/test_base.py::TestDefaultErrorRendering::test_json_error PASSED [ 29%] 135s pecan/tests/test_base.py::TestDefaultErrorRendering::test_plain_error PASSED [ 29%] 135s pecan/tests/test_base.py::TestAbort::test_abort PASSED [ 29%] 135s pecan/tests/test_base.py::TestAbort::test_abort_keeps_traceback PASSED [ 30%] 135s pecan/tests/test_base.py::TestAbort::test_abort_with_detail PASSED [ 30%] 135s pecan/tests/test_base.py::TestScriptName::test_handle_script_name PASSED [ 30%] 135s pecan/tests/test_base.py::TestRedirect::test_index PASSED [ 30%] 135s pecan/tests/test_base.py::TestRedirect::test_internal PASSED [ 30%] 135s pecan/tests/test_base.py::TestRedirect::test_internal_with_301 PASSED [ 30%] 135s pecan/tests/test_base.py::TestRedirect::test_permanent_redirect PASSED [ 31%] 135s pecan/tests/test_base.py::TestRedirect::test_x_forward_proto PASSED [ 31%] 135s pecan/tests/test_base.py::TestInternalRedirectContext::test_context_does_not_bleed PASSED [ 31%] 135s pecan/tests/test_base.py::TestInternalRedirectContext::test_internal_with_request_context PASSED [ 31%] 135s pecan/tests/test_base.py::TestStreamedResponse::test_streaming_response PASSED [ 31%] 135s pecan/tests/test_base.py::TestManualResponse::test_manual_response PASSED [ 32%] 135s pecan/tests/test_base.py::TestCustomResponseandRequest::test_custom_objects PASSED [ 32%] 135s pecan/tests/test_base.py::TestThreadLocalState::test_request_state_cleanup PASSED [ 32%] 135s pecan/tests/test_base.py::TestThreadLocalState::test_thread_local_dir PASSED [ 32%] 135s pecan/tests/test_base.py::TestFileTypeExtensions::test_bad_content_type PASSED [ 32%] 135s pecan/tests/test_base.py::TestFileTypeExtensions::test_content_type_guessing_disabled PASSED [ 32%] 135s pecan/tests/test_base.py::TestFileTypeExtensions::test_guessing_disabled PASSED [ 33%] 135s pecan/tests/test_base.py::TestFileTypeExtensions::test_hidden_file PASSED [ 33%] 135s pecan/tests/test_base.py::TestFileTypeExtensions::test_html_extension PASSED [ 33%] 135s pecan/tests/test_base.py::TestFileTypeExtensions::test_image_extension PASSED [ 33%] 135s pecan/tests/test_base.py::TestFileTypeExtensions::test_multi_dot_extension PASSED [ 33%] 135s pecan/tests/test_base.py::TestFileTypeExtensions::test_unknown_file_extension PASSED [ 34%] 135s pecan/tests/test_base.py::TestContentTypeByAcceptHeaders::test_accept_header_missing PASSED [ 34%] 135s pecan/tests/test_base.py::TestContentTypeByAcceptHeaders::test_discarded_accept_parameters PASSED [ 34%] 135s pecan/tests/test_base.py::TestContentTypeByAcceptHeaders::test_file_extension_has_higher_precedence PASSED [ 34%] 135s pecan/tests/test_base.py::TestContentTypeByAcceptHeaders::test_missing_accept PASSED [ 34%] 135s pecan/tests/test_base.py::TestContentTypeByAcceptHeaders::test_not_acceptable PASSED [ 35%] 135s pecan/tests/test_base.py::TestContentTypeByAcceptHeaders::test_quality PASSED [ 35%] 135s pecan/tests/test_base.py::TestCanonicalRouting::test_accept_noncanonical PASSED [ 35%] 135s pecan/tests/test_base.py::TestCanonicalRouting::test_accept_noncanonical_no_trailing_slash PASSED [ 35%] 135s pecan/tests/test_base.py::TestCanonicalRouting::test_broken_clients PASSED [ 35%] 135s pecan/tests/test_base.py::TestCanonicalRouting::test_index PASSED [ 35%] 135s pecan/tests/test_base.py::TestCanonicalRouting::test_posts_fail PASSED [ 36%] 135s pecan/tests/test_base.py::TestCanonicalRouting::test_root PASSED [ 36%] 135s pecan/tests/test_base.py::TestCanonicalRouting::test_sub_controller_redirect PASSED [ 36%] 135s pecan/tests/test_base.py::TestCanonicalRouting::test_sub_controller_with_trailing PASSED [ 36%] 135s pecan/tests/test_base.py::TestCanonicalRouting::test_with_args PASSED [ 36%] 135s pecan/tests/test_base.py::TestCanonicalRouting::test_with_query_string PASSED [ 37%] 135s pecan/tests/test_base.py::TestNonCanonical::test_app_wrap PASSED [ 37%] 135s pecan/tests/test_base.py::TestNonCanonical::test_index PASSED [ 37%] 135s pecan/tests/test_base.py::TestNonCanonical::test_proxy PASSED [ 37%] 135s pecan/tests/test_base.py::TestNonCanonical::test_sub_controller_with_trailing PASSED [ 37%] 135s pecan/tests/test_base.py::TestNonCanonical::test_subcontroller PASSED [ 37%] 135s pecan/tests/test_base.py::TestNonCanonical::test_subcontroller_with_kwargs PASSED [ 38%] 135s pecan/tests/test_base.py::TestLogging::test_logging_setup PASSED [ 38%] 135s pecan/tests/test_base.py::TestLogging::test_logging_setup_with_config_obj PASSED [ 38%] 135s pecan/tests/test_base.py::TestEngines::test_custom_renderer PASSED [ 38%] 135s pecan/tests/test_base.py::TestEngines::test_default_json_renderer PASSED [ 38%] 135s pecan/tests/test_base.py::TestEngines::test_default_json_renderer_with_explicit_content_type PASSED [ 39%] 135s pecan/tests/test_base.py::TestEngines::test_jinja PASSED [ 39%] 135s pecan/tests/test_base.py::TestEngines::test_json PASSED [ 39%] 135s pecan/tests/test_base.py::TestEngines::test_kajiki PASSED [ 39%] 135s pecan/tests/test_base.py::TestEngines::test_override_template PASSED [ 39%] 135s pecan/tests/test_base.py::TestEngines::test_render PASSED [ 40%] 135s pecan/tests/test_base.py::TestEngines::test_renderer_not_found PASSED [ 40%] 135s pecan/tests/test_base.py::TestDeprecatedRouteMethod::test_required_argument PASSED [ 40%] 135s pecan/tests/test_base.py::TestExplicitRoute::test_alternate_route PASSED [ 40%] 135s pecan/tests/test_base.py::TestExplicitRoute::test_conflicting_custom_routes PASSED [ 40%] 135s pecan/tests/test_base.py::TestExplicitRoute::test_conflicting_custom_routes_in_subclass PASSED [ 40%] 135s pecan/tests/test_base.py::TestExplicitRoute::test_custom_route_on_index PASSED [ 41%] 135s pecan/tests/test_base.py::TestExplicitRoute::test_custom_route_prohibited_on_default PASSED [ 41%] 135s pecan/tests/test_base.py::TestExplicitRoute::test_custom_route_prohibited_on_generic_controllers PASSED [ 41%] 135s pecan/tests/test_base.py::TestExplicitRoute::test_custom_route_prohibited_on_lookup PASSED [ 41%] 135s pecan/tests/test_base.py::TestExplicitRoute::test_custom_route_prohibited_on_route PASSED [ 41%] 135s pecan/tests/test_base.py::TestExplicitRoute::test_custom_route_with_attribute_conflict PASSED [ 42%] 135s pecan/tests/test_base.py::TestExplicitRoute::test_custom_route_with_generic_controllers PASSED [ 42%] 135s pecan/tests/test_base.py::TestExplicitRoute::test_invalid_route_arguments PASSED [ 42%] 135s pecan/tests/test_base.py::TestExplicitRoute::test_manual_route PASSED [ 42%] 135s pecan/tests/test_base.py::TestExplicitRoute::test_manual_route_conflict PASSED [ 42%] 135s pecan/tests/test_commands.py::TestCommandManager::test_commands PASSED [ 42%] 135s pecan/tests/test_commands.py::TestCommandRunner::test_commands PASSED [ 43%] 135s pecan/tests/test_commands.py::TestCommandRunner::test_run PASSED [ 43%] 135s pecan/tests/test_commands.py::TestCreateCommand::test_run PASSED [ 43%] 135s pecan/tests/test_conf.py::TestConf::test_config_bad_key PASSED [ 43%] 135s pecan/tests/test_conf.py::TestConf::test_config_dir PASSED [ 43%] 135s pecan/tests/test_conf.py::TestConf::test_config_from_dict PASSED [ 44%] 135s pecan/tests/test_conf.py::TestConf::test_config_from_file PASSED [ 44%] 135s pecan/tests/test_conf.py::TestConf::test_config_get_invalid_key PASSED [ 44%] 135s pecan/tests/test_conf.py::TestConf::test_config_get_invalid_key_return_default PASSED [ 44%] 135s pecan/tests/test_conf.py::TestConf::test_config_get_valid_key PASSED [ 44%] 135s pecan/tests/test_conf.py::TestConf::test_config_illegal_ids PASSED [ 45%] 135s pecan/tests/test_conf.py::TestConf::test_config_missing_file PASSED [ 45%] 135s pecan/tests/test_conf.py::TestConf::test_config_missing_file_on_path PASSED [ 45%] 135s pecan/tests/test_conf.py::TestConf::test_config_repr PASSED [ 45%] 135s pecan/tests/test_conf.py::TestConf::test_config_to_dict PASSED [ 45%] 135s pecan/tests/test_conf.py::TestConf::test_config_to_dict_nested PASSED [ 45%] 135s pecan/tests/test_conf.py::TestConf::test_config_to_dict_prefixed PASSED [ 46%] 135s pecan/tests/test_conf.py::TestConf::test_config_with_bad_import PASSED [ 46%] 135s pecan/tests/test_conf.py::TestConf::test_config_with_syntax_error PASSED [ 46%] 135s pecan/tests/test_conf.py::TestConf::test_update_config_fail_identifier PASSED [ 46%] 135s pecan/tests/test_conf.py::TestConf::test_update_config_fail_message PASSED [ 46%] 135s pecan/tests/test_conf.py::TestConf::test_update_config_with_dict PASSED [ 47%] 135s pecan/tests/test_conf.py::TestConf::test_update_force_dict PASSED [ 47%] 135s pecan/tests/test_conf.py::TestConf::test_update_set_config PASSED [ 47%] 135s pecan/tests/test_conf.py::TestConf::test_update_set_default_config PASSED [ 47%] 135s pecan/tests/test_conf.py::TestGlobalConfig::test_overwrite_from_dict PASSED [ 47%] 135s pecan/tests/test_conf.py::TestGlobalConfig::test_overwrite_from_file PASSED [ 47%] 135s pecan/tests/test_conf.py::TestGlobalConfig::test_paint_from_dict PASSED [ 48%] 135s pecan/tests/test_conf.py::TestGlobalConfig::test_paint_from_file PASSED [ 48%] 135s pecan/tests/test_conf.py::TestGlobalConfig::test_set_config_none_type PASSED [ 48%] 135s pecan/tests/test_conf.py::TestGlobalConfig::test_set_config_to_dir PASSED [ 48%] 135s pecan/tests/test_conf.py::TestConfFromEnv::test_invalid_path PASSED [ 48%] 135s pecan/tests/test_conf.py::TestConfFromEnv::test_is_not_set PASSED [ 49%] 135s pecan/tests/test_conf.py::TestConfFromEnv::test_return_valid_path PASSED [ 49%] 135s pecan/tests/test_conf.py::TestConfigCleanup::test_conf_changed PASSED [ 49%] 135s pecan/tests/test_conf.py::TestConfigCleanup::test_conf_default PASSED [ 49%] 135s pecan/tests/test_generic.py::TestGeneric::test_generic_allow_header PASSED [ 49%] 135s pecan/tests/test_generic.py::TestGeneric::test_nested_generic PASSED [ 50%] 135s pecan/tests/test_generic.py::TestGeneric::test_simple_generic PASSED [ 50%] 135s pecan/tests/test_generic.py::TestGenericWithSpecialMethods::test_generics_not_allowed PASSED [ 50%] 135s pecan/tests/test_hooks.py::TestHooks::test_basic_isolated_hook PASSED [ 50%] 135s pecan/tests/test_hooks.py::TestHooks::test_basic_multi_hook PASSED [ 50%] 135s pecan/tests/test_hooks.py::TestHooks::test_basic_single_hook PASSED [ 50%] 135s pecan/tests/test_hooks.py::TestHooks::test_internal_redirect_with_after_hook PASSED [ 51%] 135s pecan/tests/test_hooks.py::TestHooks::test_isolated_hook_with_global_hook PASSED [ 51%] 135s pecan/tests/test_hooks.py::TestHooks::test_mixin_hooks PASSED [ 51%] 135s pecan/tests/test_hooks.py::TestHooks::test_on_error_response_hook PASSED [ 51%] 135s pecan/tests/test_hooks.py::TestHooks::test_partial_hooks PASSED [ 51%] 135s pecan/tests/test_hooks.py::TestHooks::test_prioritized_hooks PASSED [ 52%] 135s pecan/tests/test_hooks.py::TestStateAccess::test_mixed_args PASSED [ 52%] 135s pecan/tests/test_hooks.py::TestStateAccess::test_no_args PASSED [ 52%] 135s pecan/tests/test_hooks.py::TestStateAccess::test_single_arg PASSED [ 52%] 135s pecan/tests/test_hooks.py::TestStateAccess::test_single_kw PASSED [ 52%] 135s pecan/tests/test_hooks.py::TestStateAccess::test_single_kw_post PASSED [ 52%] 135s pecan/tests/test_hooks.py::TestStateAccess::test_single_vararg PASSED [ 53%] 135s pecan/tests/test_hooks.py::TestStateAccessWithoutThreadLocals::test_mixed_args PASSED [ 53%] 135s pecan/tests/test_hooks.py::TestStateAccessWithoutThreadLocals::test_no_args PASSED [ 53%] 135s pecan/tests/test_hooks.py::TestStateAccessWithoutThreadLocals::test_single_arg PASSED [ 53%] 135s pecan/tests/test_hooks.py::TestStateAccessWithoutThreadLocals::test_single_kw PASSED [ 53%] 135s pecan/tests/test_hooks.py::TestStateAccessWithoutThreadLocals::test_single_kw_post PASSED [ 54%] 135s pecan/tests/test_hooks.py::TestStateAccessWithoutThreadLocals::test_single_vararg PASSED [ 54%] 135s pecan/tests/test_hooks.py::TestRestControllerStateAccess::test_delete PASSED [ 54%] 135s pecan/tests/test_hooks.py::TestRestControllerStateAccess::test_delete_with_kwargs PASSED [ 54%] 135s pecan/tests/test_hooks.py::TestRestControllerStateAccess::test_delete_with_method_argument PASSED [ 54%] 135s pecan/tests/test_hooks.py::TestRestControllerStateAccess::test_delete_with_varargs PASSED [ 55%] 135s pecan/tests/test_hooks.py::TestRestControllerStateAccess::test_get_all PASSED [ 55%] 135s pecan/tests/test_hooks.py::TestRestControllerStateAccess::test_get_all_with_kwargs PASSED [ 55%] 135s pecan/tests/test_hooks.py::TestRestControllerStateAccess::test_get_one PASSED [ 55%] 135s pecan/tests/test_hooks.py::TestRestControllerStateAccess::test_get_one_with_kwargs PASSED [ 55%] 135s pecan/tests/test_hooks.py::TestRestControllerStateAccess::test_get_one_with_varargs PASSED [ 55%] 135s pecan/tests/test_hooks.py::TestRestControllerStateAccess::test_post PASSED [ 56%] 135s pecan/tests/test_hooks.py::TestRestControllerStateAccess::test_post_with_invalid_method_kwarg PASSED [ 56%] 135s pecan/tests/test_hooks.py::TestRestControllerStateAccess::test_post_with_kwargs PASSED [ 56%] 135s pecan/tests/test_hooks.py::TestRestControllerStateAccess::test_post_with_varargs PASSED [ 56%] 135s pecan/tests/test_hooks.py::TestRestControllerStateAccess::test_put PASSED [ 56%] 135s pecan/tests/test_hooks.py::TestRestControllerStateAccess::test_put_with_kwargs PASSED [ 57%] 135s pecan/tests/test_hooks.py::TestRestControllerStateAccess::test_put_with_method_argument PASSED [ 57%] 135s pecan/tests/test_hooks.py::TestRestControllerStateAccess::test_put_with_varargs PASSED [ 57%] 135s pecan/tests/test_hooks.py::TestTransactionHook::test_transaction_hook PASSED [ 57%] 135s pecan/tests/test_hooks.py::TestTransactionHook::test_transaction_hook_with_after_actions PASSED [ 57%] 135s pecan/tests/test_hooks.py::TestTransactionHook::test_transaction_hook_with_broken_hook PASSED [ 57%] 135s pecan/tests/test_hooks.py::TestTransactionHook::test_transaction_hook_with_transactional_class_decorator PASSED [ 58%] 135s pecan/tests/test_hooks.py::TestTransactionHook::test_transaction_hook_with_transactional_decorator PASSED [ 58%] 135s pecan/tests/test_hooks.py::TestRequestViewerHook::test_bad_response_from_app PASSED [ 58%] 135s pecan/tests/test_hooks.py::TestRequestViewerHook::test_basic_single_default_hook PASSED [ 58%] 135s pecan/tests/test_hooks.py::TestRequestViewerHook::test_deal_with_pecan_configs PASSED [ 58%] 135s pecan/tests/test_hooks.py::TestRequestViewerHook::test_hook_formatting PASSED [ 59%] 135s pecan/tests/test_hooks.py::TestRequestViewerHook::test_item_not_in_defaults PASSED [ 59%] 135s pecan/tests/test_hooks.py::TestRequestViewerHook::test_single_blacklist_item PASSED [ 59%] 135s pecan/tests/test_hooks.py::TestRequestViewerHook::test_single_item PASSED [ 59%] 135s pecan/tests/test_hooks.py::TestRestControllerWithHooks::test_restcontroller_with_hooks PASSED [ 59%] 135s pecan/tests/test_jsonify.py::test_simple_rule PASSED [ 60%] 135s pecan/tests/test_jsonify.py::TestJsonify::test_simple_jsonify PASSED [ 60%] 135s pecan/tests/test_jsonify.py::TestJsonifyGenericEncoder::test_datetime PASSED [ 60%] 135s pecan/tests/test_jsonify.py::TestJsonifyGenericEncoder::test_decimal PASSED [ 60%] 135s pecan/tests/test_jsonify.py::TestJsonifyGenericEncoder::test_fallback_to_builtin_encoder PASSED [ 60%] 135s pecan/tests/test_jsonify.py::TestJsonifyGenericEncoder::test_json_callable PASSED [ 60%] 135s pecan/tests/test_jsonify.py::TestJsonifyGenericEncoder::test_multidict PASSED [ 61%] 135s pecan/tests/test_jsonify.py::TestJsonifySQLAlchemyGenericEncoder::test_result_proxy PASSED [ 61%] 135s pecan/tests/test_jsonify.py::TestJsonifySQLAlchemyGenericEncoder::test_row_proxy PASSED [ 61%] 135s pecan/tests/test_jsonify.py::TestJsonifySQLAlchemyGenericEncoder::test_sa_object PASSED [ 61%] 135s pecan/tests/test_no_thread_locals.py::TestThreadingLocalUsage::test_locals_are_not_used PASSED [ 61%] 135s pecan/tests/test_no_thread_locals.py::TestThreadingLocalUsage::test_threadlocal_argument_warning PASSED [ 62%] 135s pecan/tests/test_no_thread_locals.py::TestThreadingLocalUsage::test_threadlocal_argument_warning_on_generic PASSED [ 62%] 135s pecan/tests/test_no_thread_locals.py::TestThreadingLocalUsage::test_threadlocal_argument_warning_on_generic_delegate PASSED [ 62%] 135s pecan/tests/test_no_thread_locals.py::TestIndexRouting::test_empty_root PASSED [ 62%] 135s pecan/tests/test_no_thread_locals.py::TestIndexRouting::test_index PASSED [ 62%] 135s pecan/tests/test_no_thread_locals.py::TestIndexRouting::test_index_html PASSED [ 62%] 135s pecan/tests/test_no_thread_locals.py::TestManualResponse::test_manual_response PASSED [ 63%] 135s pecan/tests/test_no_thread_locals.py::TestDispatch::test_index PASSED [ 63%] 135s pecan/tests/test_no_thread_locals.py::TestDispatch::test_one_level PASSED [ 63%] 135s pecan/tests/test_no_thread_locals.py::TestDispatch::test_one_level_with_trailing PASSED [ 63%] 135s pecan/tests/test_no_thread_locals.py::TestDispatch::test_three_levels PASSED [ 63%] 135s pecan/tests/test_no_thread_locals.py::TestDispatch::test_two_levels PASSED [ 64%] 135s pecan/tests/test_no_thread_locals.py::TestDispatch::test_two_levels_with_trailing PASSED [ 64%] 135s pecan/tests/test_no_thread_locals.py::TestLookups::test_index PASSED [ 64%] 135s pecan/tests/test_no_thread_locals.py::TestLookups::test_lookup PASSED [ 64%] 135s pecan/tests/test_no_thread_locals.py::TestLookups::test_lookup_with_method PASSED [ 64%] 135s pecan/tests/test_no_thread_locals.py::TestLookups::test_lookup_with_wrong_argspec PASSED [ 65%] 135s pecan/tests/test_no_thread_locals.py::TestCanonicalLookups::test_canonical_lookup PASSED [ 65%] 135s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_argument_and_keyword_argument PASSED [ 65%] 135s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_encoded_argument_and_keyword_argument PASSED [ 65%] 135s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_explicit_kwargs PASSED [ 65%] 135s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_keyword_argument PASSED [ 65%] 135s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_keyword_argument_with_encoded_url PASSED [ 66%] 135s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_kwargs_from_root PASSED [ 66%] 135s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_many_remainders PASSED [ 66%] 135s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_args_with_url_encoded_kwargs PASSED [ 66%] 135s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_encoded_variable_args PASSED [ 66%] 135s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_kwargs PASSED [ 67%] 135s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional PASSED [ 67%] 135s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional_args_with_last_encoded_kwarg PASSED [ 67%] 135s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional_args_with_last_kwarg PASSED [ 67%] 135s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional_args_with_middle_arg PASSED [ 67%] 135s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional_args_with_multiple_dict_kwargs PASSED [ 67%] 135s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional_args_with_multiple_encoded_dict_kwargs PASSED [ 68%] 135s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional_args_with_multiple_encoded_kwargs PASSED [ 68%] 135s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional_args_with_multiple_kwargs PASSED [ 68%] 135s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional_encoded_positional_args_and_dict_kwargs PASSED [ 68%] 135s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional_missing PASSED [ 68%] 135s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional_positional_args PASSED [ 69%] 135s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional_positional_args_all_args PASSED [ 69%] 135s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional_positional_args_all_url_encoded_args PASSED [ 69%] 135s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional_positional_args_and_dict_kwargs PASSED [ 69%] 135s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional_positional_args_one_arg PASSED [ 69%] 135s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional_positional_args_one_url_encoded_arg PASSED [ 70%] 135s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional_positional_args_too_many_args PASSED [ 70%] 135s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional_positional_args_with_dict_kwargs PASSED [ 70%] 135s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional_positional_args_with_encoded_dict_kwargs PASSED [ 70%] 135s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional_positional_args_with_encoded_str_kwargs PASSED [ 70%] 135s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional_positional_args_with_kwargs PASSED [ 70%] 135s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional_positional_args_with_string_kwargs PASSED [ 71%] 135s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional_positional_args_with_url_encoded_kwargs PASSED [ 71%] 135s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional_url_encoded PASSED [ 71%] 135s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_positional_arguments PASSED [ 71%] 135s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_positional_arguments_with_dictionary_kwargs PASSED [ 71%] 135s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_positional_arguments_with_kwargs PASSED [ 72%] 135s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_positional_arguments_with_url_encode PASSED [ 72%] 135s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_positional_arguments_with_url_encoded_kwargs PASSED [ 72%] 135s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_positional_url_encoded_arguments_with_kwargs PASSED [ 72%] 135s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_variable_args PASSED [ 72%] 135s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_variable_kwargs PASSED [ 72%] 135s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_variable_kwargs_with_dict_kwargs PASSED [ 73%] 135s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_variable_kwargs_with_encoded_dict_kwargs PASSED [ 73%] 135s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_variable_kwargs_with_explicit_encoded_kwargs PASSED [ 73%] 135s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_variable_kwargs_with_explicit_kwargs PASSED [ 73%] 135s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_with_kwargs PASSED [ 73%] 135s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_with_url_encoded_kwargs PASSED [ 74%] 135s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_no_remainder PASSED [ 74%] 135s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_one_remainder PASSED [ 74%] 135s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_optional_arg PASSED [ 74%] 135s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_optional_arg_with_kwargs PASSED [ 74%] 135s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_optional_arg_with_multiple_dictionary_kwargs PASSED [ 75%] 135s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_optional_arg_with_multiple_kwargs PASSED [ 75%] 135s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_optional_arg_with_multiple_url_encoded_dictionary_kwargs PASSED [ 75%] 135s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_optional_arg_with_multiple_url_encoded_kwargs PASSED [ 75%] 135s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_optional_arg_with_url_encoded_kwargs PASSED [ 75%] 135s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_path_with_explicit_kwargs PASSED [ 75%] 135s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_positional_args_with_dictionary_kwargs PASSED [ 76%] 135s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_positional_args_with_url_encoded_dictionary_kwargs PASSED [ 76%] 135s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_post_many_remainders PASSED [ 76%] 135s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_post_many_remainders_with_many_kwargs PASSED [ 76%] 135s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_post_remainder PASSED [ 76%] 135s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_post_remainder_with_kwargs PASSED [ 77%] 135s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_post_three_remainders PASSED [ 77%] 135s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_remainder_with_kwargs PASSED [ 77%] 135s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_remainder_with_many_kwargs PASSED [ 77%] 135s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_required_argument PASSED [ 77%] 135s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_single_argument PASSED [ 77%] 135s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_single_argument_with_encoded_url PASSED [ 78%] 135s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_two_arguments PASSED [ 78%] 135s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_two_remainders PASSED [ 78%] 135s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_url_encoded_positional_args PASSED [ 78%] 135s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_variable_all PASSED [ 78%] 135s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_variable_all_with_one_extra PASSED [ 79%] 135s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_variable_all_with_two_extras PASSED [ 79%] 135s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_variable_args PASSED [ 79%] 135s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_variable_args_with_dict_kwargs PASSED [ 79%] 135s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_variable_args_with_kwargs PASSED [ 79%] 135s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_variable_kwargs PASSED [ 80%] 135s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_variable_mixed PASSED [ 80%] 135s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_variable_mixed_explicit PASSED [ 80%] 135s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_variable_post PASSED [ 80%] 135s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_variable_post_mixed PASSED [ 80%] 135s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_variable_post_with_kwargs PASSED [ 80%] 135s pecan/tests/test_no_thread_locals.py::TestRestController::test_custom_action PASSED [ 81%] 135s pecan/tests/test_no_thread_locals.py::TestRestController::test_custom_method_type PASSED [ 81%] 135s pecan/tests/test_no_thread_locals.py::TestRestController::test_custom_method_type_with_method_parameter PASSED [ 81%] 135s pecan/tests/test_no_thread_locals.py::TestRestController::test_delete_method PASSED [ 81%] 135s pecan/tests/test_no_thread_locals.py::TestRestController::test_delete_with_method_parameter PASSED [ 81%] 135s pecan/tests/test_no_thread_locals.py::TestRestController::test_delete_with_method_parameter_and_post PASSED [ 82%] 135s pecan/tests/test_no_thread_locals.py::TestRestController::test_get_all PASSED [ 82%] 135s pecan/tests/test_no_thread_locals.py::TestRestController::test_get_delete PASSED [ 82%] 135s pecan/tests/test_no_thread_locals.py::TestRestController::test_get_one PASSED [ 82%] 135s pecan/tests/test_no_thread_locals.py::TestRestController::test_invalid_custom_action PASSED [ 82%] 135s pecan/tests/test_no_thread_locals.py::TestRestController::test_named_action PASSED [ 82%] 135s pecan/tests/test_no_thread_locals.py::TestRestController::test_named_nested_action PASSED [ 83%] 135s pecan/tests/test_no_thread_locals.py::TestRestController::test_nested_controller_with_trailing_slash PASSED [ 83%] 135s pecan/tests/test_no_thread_locals.py::TestRestController::test_nested_controller_without_trailing_slash PASSED [ 83%] 135s pecan/tests/test_no_thread_locals.py::TestRestController::test_nested_post PASSED [ 83%] 135s pecan/tests/test_no_thread_locals.py::TestRestController::test_options PASSED [ 83%] 135s pecan/tests/test_no_thread_locals.py::TestRestController::test_options_with_method_parameter PASSED [ 84%] 135s pecan/tests/test_no_thread_locals.py::TestRestController::test_other_custom_action PASSED [ 84%] 135s pecan/tests/test_no_thread_locals.py::TestRestController::test_other_custom_action_with_method_parameter PASSED [ 84%] 135s pecan/tests/test_no_thread_locals.py::TestRestController::test_post PASSED [ 84%] 135s pecan/tests/test_no_thread_locals.py::TestRestController::test_put PASSED [ 84%] 135s pecan/tests/test_no_thread_locals.py::TestRestController::test_put_with_method_parameter_and_get PASSED [ 85%] 135s pecan/tests/test_no_thread_locals.py::TestRestController::test_put_with_method_parameter_and_post PASSED [ 85%] 135s pecan/tests/test_no_thread_locals.py::TestHooks::test_basic_isolated_hook PASSED [ 85%] 135s pecan/tests/test_no_thread_locals.py::TestHooks::test_basic_multi_hook PASSED [ 85%] 135s pecan/tests/test_no_thread_locals.py::TestHooks::test_basic_single_hook PASSED [ 85%] 135s pecan/tests/test_no_thread_locals.py::TestHooks::test_isolated_hook_with_global_hook PASSED [ 85%] 135s pecan/tests/test_no_thread_locals.py::TestHooks::test_on_error_response_hook PASSED [ 86%] 135s pecan/tests/test_no_thread_locals.py::TestHooks::test_partial_hooks PASSED [ 86%] 135s pecan/tests/test_no_thread_locals.py::TestHooks::test_prioritized_hooks PASSED [ 86%] 135s pecan/tests/test_no_thread_locals.py::TestGeneric::test_generics_with_im_self_default PASSED [ 86%] 135s pecan/tests/test_no_thread_locals.py::TestGeneric::test_generics_with_im_self_with_extra_args PASSED [ 86%] 135s pecan/tests/test_no_thread_locals.py::TestGeneric::test_generics_with_im_self_with_method PASSED [ 87%] 135s pecan/tests/test_no_thread_locals.py::TestGeneric::test_generics_with_im_self_with_path PASSED [ 87%] 135s pecan/tests/test_rest.py::TestRestController::test_405_with_lookup PASSED [ 87%] 135s pecan/tests/test_rest.py::TestRestController::test_bad_rest PASSED [ 87%] 135s pecan/tests/test_rest.py::TestRestController::test_basic_rest PASSED [ 87%] 135s pecan/tests/test_rest.py::TestRestController::test_complicated_nested_rest PASSED [ 87%] 135s pecan/tests/test_rest.py::TestRestController::test_custom_delete PASSED [ 88%] 135s pecan/tests/test_rest.py::TestRestController::test_custom_with_trailing_slash PASSED [ 88%] 135s pecan/tests/test_rest.py::TestRestController::test_dynamic_rest_lookup PASSED [ 88%] 135s pecan/tests/test_rest.py::TestRestController::test_get_with_var_args PASSED [ 88%] 135s pecan/tests/test_rest.py::TestRestController::test_getall_with_lookup PASSED [ 88%] 135s pecan/tests/test_rest.py::TestRestController::test_getall_with_trailing_slash PASSED [ 89%] 135s pecan/tests/test_rest.py::TestRestController::test_method_not_allowed_delete PASSED [ 89%] 135s pecan/tests/test_rest.py::TestRestController::test_method_not_allowed_get PASSED [ 89%] 135s pecan/tests/test_rest.py::TestRestController::test_method_not_allowed_post PASSED [ 89%] 135s pecan/tests/test_rest.py::TestRestController::test_method_not_allowed_put PASSED [ 89%] 135s pecan/tests/test_rest.py::TestRestController::test_nested_get_all PASSED [ 90%] 135s pecan/tests/test_rest.py::TestRestController::test_nested_get_all_with_lookup PASSED [ 90%] 135s pecan/tests/test_rest.py::TestRestController::test_nested_rest_with_default PASSED [ 90%] 135s pecan/tests/test_rest.py::TestRestController::test_nested_rest_with_lookup PASSED [ 90%] 135s pecan/tests/test_rest.py::TestRestController::test_nested_rest_with_missing_intermediate_id PASSED [ 90%] 135s pecan/tests/test_rest.py::TestRestController::test_post_with_kwargs_only PASSED [ 90%] 135s pecan/tests/test_rest.py::TestRestController::test_proper_allow_header_multiple_gets PASSED [ 91%] 135s pecan/tests/test_rest.py::TestRestController::test_rest_with_utf8_endpoint PASSED [ 91%] 135s pecan/tests/test_rest.py::TestRestController::test_rest_with_utf8_uri PASSED [ 91%] 135s pecan/tests/test_rest.py::TestRestController::test_simple_nested_rest PASSED [ 91%] 135s pecan/tests/test_rest.py::TestRestController::test_sub_nested_rest PASSED [ 91%] 135s pecan/tests/test_rest.py::TestRestController::test_sub_nested_rest_with_overwrites PASSED [ 92%] 135s pecan/tests/test_rest.py::TestExplicitRoute::test_alternate_route PASSED [ 92%] 135s pecan/tests/test_scaffolds.py::TestPecanScaffold::test_normalize_pkg_name PASSED [ 92%] 135s pecan/tests/test_scaffolds.py::TestScaffoldUtils::test_copy_dir PASSED [ 92%] 135s pecan/tests/test_scaffolds.py::TestScaffoldUtils::test_copy_dir_with_file_content_substitution PASSED [ 92%] 135s pecan/tests/test_scaffolds.py::TestScaffoldUtils::test_copy_dir_with_filename_substitution PASSED [ 92%] 135s pecan/tests/test_scaffolds.py::TestScaffoldUtils::test_destination_directory_already_exists PASSED [ 93%] 135s pecan/tests/test_scaffolds.py::TestScaffoldUtils::test_destination_directory_levels_deep PASSED [ 93%] 135s pecan/tests/test_secure.py::TestSecure::test_secure_attribute PASSED [ 93%] 135s pecan/tests/test_secure.py::TestSecure::test_secure_obj_only_failure PASSED [ 93%] 135s pecan/tests/test_secure.py::TestSecure::test_secured_generic_controller PASSED [ 93%] 135s pecan/tests/test_secure.py::TestSecure::test_secured_generic_controller_lambda PASSED [ 94%] 135s pecan/tests/test_secure.py::TestSecure::test_secured_generic_controller_secure_attribute PASSED [ 94%] 135s pecan/tests/test_secure.py::TestSecure::test_secured_generic_controller_secure_attribute_with_unlocked PASSED [ 94%] 135s pecan/tests/test_secure.py::TestSecure::test_simple_secure PASSED [ 94%] 135s pecan/tests/test_secure.py::TestSecure::test_state_attribute PASSED [ 94%] 135s pecan/tests/test_secure.py::TestSecure::test_unlocked_attribute PASSED [ 95%] 135s pecan/tests/test_secure.py::TestObjectPathSecurity::test_cyclical_protection PASSED [ 95%] 135s pecan/tests/test_secure.py::TestObjectPathSecurity::test_independent_check_failure PASSED [ 95%] 135s pecan/tests/test_secure.py::TestObjectPathSecurity::test_independent_check_success PASSED [ 95%] 135s pecan/tests/test_secure.py::TestObjectPathSecurity::test_layered_protection PASSED [ 95%] 135s pecan/tests/test_secure.py::TestObjectPathSecurity::test_lookup_to_wrapped_attribute_on_self PASSED [ 95%] 135s pecan/tests/test_secure.py::TestObjectPathSecurity::test_mixed_protection PASSED [ 96%] 135s pecan/tests/test_secure.py::TestObjectPathSecurity::test_protected_lookup PASSED [ 96%] 135s pecan/tests/test_secure.py::TestObjectPathSecurity::test_secret_through_lookup PASSED [ 96%] 135s pecan/tests/test_secure.py::TestObjectPathSecurity::test_secured_notfound_lookup PASSED [ 96%] 135s pecan/tests/test_secure.py::TestObjectPathSecurity::test_sub_of_both_not_secret PASSED [ 96%] 135s pecan/tests/test_secure.py::TestObjectPathSecurity::test_unlocked_attribute_in_insecure PASSED [ 97%] 135s pecan/tests/test_secure.py::TestObjectPathSecurity::test_unlocked_lookup PASSED [ 97%] 135s pecan/tests/test_secure.py::TestObjectPathSecurity::test_wrapped_attribute_failure PASSED [ 97%] 135s pecan/tests/test_secure.py::TestObjectPathSecurity::test_wrapped_attribute_success PASSED [ 97%] 135s pecan/tests/test_secure.py::SecureControllerSharedPermissionsRegression::test_inherited_security PASSED [ 97%] 135s pecan/tests/test_templating.py::TestTemplate::test_available PASSED [ 97%] 135s pecan/tests/test_templating.py::TestTemplate::test_create_bad PASSED [ 98%] 135s pecan/tests/test_templating.py::TestTemplate::test_extra_vars PASSED [ 98%] 135s pecan/tests/test_templating.py::TestTemplate::test_update_extra_vars PASSED [ 98%] 135s pecan/tests/test_templating.py::TestTemplateLineFormat::test_format_line_context PASSED [ 98%] 135s pecan/tests/test_util.py::TestArgSpec::test_class_based_decorator PASSED [ 98%] 135s pecan/tests/test_util.py::TestArgSpec::test_decorator_with_args PASSED [ 99%] 135s pecan/tests/test_util.py::TestArgSpec::test_multiple_decorators PASSED [ 99%] 135s pecan/tests/test_util.py::TestArgSpec::test_nested_cells PASSED [ 99%] 135s pecan/tests/test_util.py::TestArgSpec::test_no_decorator PASSED [ 99%] 135s pecan/tests/test_util.py::TestArgSpec::test_simple_decorator PASSED [ 99%] 135s pecan/tests/test_util.py::TestArgSpec::test_simple_wrapper PASSED [100%] 135s 135s =============================== warnings summary =============================== 135s ../../../../usr/lib/python3/dist-packages/kajiki/loader.py:3 135s /usr/lib/python3/dist-packages/kajiki/loader.py:3: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html 135s import pkg_resources 135s 135s pecan/tests/middleware/test_static.py::TestStaticFileMiddleware::test_file_can_be_closed 135s pecan/tests/middleware/test_static.py::TestStaticFileMiddleware::test_file_can_be_found 135s pecan/tests/middleware/test_static.py::TestStaticFileMiddleware::test_file_can_be_iterated_over 135s pecan/tests/middleware/test_static.py::TestStaticFileMiddleware::test_mime_type_works_for_png_files 135s pecan/tests/middleware/test_static.py::TestStaticFileMiddleware::test_separator_sanitization_still_finds_file 135s /tmp/autopkgtest.pf9SnE/build.pik/src/pecan/middleware/static.py:118: DeprecationWarning: datetime.datetime.utcfromtimestamp() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.fromtimestamp(timestamp, datetime.UTC). 135s datetime.utcfromtimestamp(os.path.getmtime(filename)), 135s 135s pecan/tests/test_conf.py::TestConf::test_config_from_file 135s pecan/tests/test_conf.py::TestConf::test_config_illegal_ids 135s pecan/tests/test_conf.py::TestConf::test_config_with_bad_import 135s pecan/tests/test_conf.py::TestConf::test_update_force_dict 135s pecan/tests/test_conf.py::TestConf::test_update_set_config 135s pecan/tests/test_conf.py::TestConf::test_update_set_default_config 135s pecan/tests/test_conf.py::TestGlobalConfig::test_overwrite_from_file 135s pecan/tests/test_conf.py::TestGlobalConfig::test_paint_from_file 135s :530: DeprecationWarning: the load_module() method is deprecated and slated for removal in Python 3.12; use exec_module() instead 135s 135s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 135s ================ 540 passed, 3 deselected, 14 warnings in 2.60s ================ 136s ============================= test session starts ============================== 136s platform linux -- Python 3.12.8, pytest-8.3.3, pluggy-1.5.0 -- /usr/bin/python3.12 136s cachedir: .pytest_cache 136s rootdir: /tmp/autopkgtest.pf9SnE/build.pik/src 136s configfile: setup.cfg 136s plugins: typeguard-4.4.1 137s collecting ... collected 543 items / 3 deselected / 540 selected 137s 137s pecan/tests/middleware/test_errordocument.py::TestErrorDocumentMiddleware::test_error_endpoint_with_query_string PASSED [ 0%] 137s pecan/tests/middleware/test_errordocument.py::TestErrorDocumentMiddleware::test_error_with_recursion_loop PASSED [ 0%] 137s pecan/tests/middleware/test_errordocument.py::TestErrorDocumentMiddleware::test_hit_error_page PASSED [ 0%] 137s pecan/tests/middleware/test_errordocument.py::TestErrorDocumentMiddleware::test_middleware_routes_to_404_message PASSED [ 0%] 137s pecan/tests/middleware/test_errordocument.py::TestErrorDocumentMiddleware::test_original_exception PASSED [ 0%] 137s pecan/tests/middleware/test_recursive.py::TestRecursiveMiddleware::test_ForwardRequestException PASSED [ 1%] 137s pecan/tests/middleware/test_recursive.py::TestRecursiveMiddleware::test_ForwardRequest_environ PASSED [ 1%] 137s pecan/tests/middleware/test_recursive.py::TestRecursiveMiddleware::test_ForwardRequest_factory PASSED [ 1%] 137s pecan/tests/middleware/test_recursive.py::TestRecursiveMiddleware::test_ForwardRequest_url PASSED [ 1%] 137s pecan/tests/middleware/test_recursive.py::TestRecursiveMiddleware::test_ForwardRequest_url_with_params PASSED [ 1%] 137s pecan/tests/middleware/test_static.py::TestStaticFileMiddleware::test_date_dumping_on_unix_timestamps PASSED [ 2%] 137s pecan/tests/middleware/test_static.py::TestStaticFileMiddleware::test_file_can_be_closed PASSED [ 2%] 137s pecan/tests/middleware/test_static.py::TestStaticFileMiddleware::test_file_can_be_found PASSED [ 2%] 137s pecan/tests/middleware/test_static.py::TestStaticFileMiddleware::test_file_can_be_iterated_over PASSED [ 2%] 137s pecan/tests/middleware/test_static.py::TestStaticFileMiddleware::test_mime_type_works_for_png_files PASSED [ 2%] 137s pecan/tests/middleware/test_static.py::TestStaticFileMiddleware::test_no_file_found_causes_passthrough PASSED [ 2%] 137s pecan/tests/middleware/test_static.py::TestStaticFileMiddleware::test_separator_sanitization_still_finds_file PASSED [ 3%] 137s pecan/tests/test_base.py::TestAppRoot::test_controller_lookup_by_string_path PASSED [ 3%] 137s pecan/tests/test_base.py::TestEmptyContent::test_empty_body PASSED [ 3%] 137s pecan/tests/test_base.py::TestEmptyContent::test_empty_index PASSED [ 3%] 137s pecan/tests/test_base.py::TestEmptyContent::test_empty_text PASSED [ 3%] 137s pecan/tests/test_base.py::TestEmptyContent::test_explicit_body PASSED [ 4%] 137s pecan/tests/test_base.py::TestEmptyContent::test_explicit_json PASSED [ 4%] 137s pecan/tests/test_base.py::TestEmptyContent::test_explicit_json_body PASSED [ 4%] 137s pecan/tests/test_base.py::TestEmptyContent::test_explicit_text PASSED [ 4%] 137s pecan/tests/test_base.py::TestEmptyContent::test_index_with_non_unicode PASSED [ 4%] 137s pecan/tests/test_base.py::TestAppIterFile::test_body_generator PASSED [ 5%] 137s pecan/tests/test_base.py::TestAppIterFile::test_empty_body_generator PASSED [ 5%] 137s pecan/tests/test_base.py::TestInvalidURLEncoding::test_rest_with_non_utf_8_body PASSED [ 5%] 137s pecan/tests/test_base.py::TestIndexRouting::test_empty_root PASSED [ 5%] 137s pecan/tests/test_base.py::TestIndexRouting::test_index PASSED [ 5%] 137s pecan/tests/test_base.py::TestIndexRouting::test_index_html PASSED [ 5%] 137s pecan/tests/test_base.py::TestObjectDispatch::test_index PASSED [ 6%] 137s pecan/tests/test_base.py::TestObjectDispatch::test_one_level PASSED [ 6%] 137s pecan/tests/test_base.py::TestObjectDispatch::test_one_level_with_trailing PASSED [ 6%] 137s pecan/tests/test_base.py::TestObjectDispatch::test_three_levels PASSED [ 6%] 137s pecan/tests/test_base.py::TestObjectDispatch::test_two_levels PASSED [ 6%] 137s pecan/tests/test_base.py::TestObjectDispatch::test_two_levels_with_trailing PASSED [ 7%] 137s pecan/tests/test_base.py::TestUnicodePathSegments::test_unicode_child PASSED [ 7%] 137s pecan/tests/test_base.py::TestUnicodePathSegments::test_unicode_methods PASSED [ 7%] 137s pecan/tests/test_base.py::TestLookups::test_index PASSED [ 7%] 137s pecan/tests/test_base.py::TestLookups::test_lookup PASSED [ 7%] 137s pecan/tests/test_base.py::TestLookups::test_lookup_with_method PASSED [ 7%] 137s pecan/tests/test_base.py::TestLookups::test_lookup_with_wrong_argspec PASSED [ 8%] 137s pecan/tests/test_base.py::TestLookups::test_lookup_with_wrong_return PASSED [ 8%] 137s pecan/tests/test_base.py::TestCanonicalLookups::test_canonical_lookup PASSED [ 8%] 137s pecan/tests/test_base.py::TestControllerArguments::test_argument_and_keyword_argument PASSED [ 8%] 137s pecan/tests/test_base.py::TestControllerArguments::test_duplicate_query_parameters_GET PASSED [ 8%] 137s pecan/tests/test_base.py::TestControllerArguments::test_duplicate_query_parameters_POST PASSED [ 9%] 137s pecan/tests/test_base.py::TestControllerArguments::test_duplicate_query_parameters_POST_mixed PASSED [ 9%] 137s pecan/tests/test_base.py::TestControllerArguments::test_duplicate_query_parameters_POST_mixed_json PASSED [ 9%] 137s pecan/tests/test_base.py::TestControllerArguments::test_encoded_argument_and_keyword_argument PASSED [ 9%] 137s pecan/tests/test_base.py::TestControllerArguments::test_explicit_json_kwargs PASSED [ 9%] 137s pecan/tests/test_base.py::TestControllerArguments::test_explicit_kwargs PASSED [ 10%] 137s pecan/tests/test_base.py::TestControllerArguments::test_json_kwargs_from_root PASSED [ 10%] 137s pecan/tests/test_base.py::TestControllerArguments::test_keyword_argument PASSED [ 10%] 137s pecan/tests/test_base.py::TestControllerArguments::test_keyword_argument_with_encoded_plus PASSED [ 10%] 137s pecan/tests/test_base.py::TestControllerArguments::test_keyword_argument_with_encoded_url PASSED [ 10%] 137s pecan/tests/test_base.py::TestControllerArguments::test_keyword_argument_with_plus PASSED [ 10%] 137s pecan/tests/test_base.py::TestControllerArguments::test_kwargs_from_root PASSED [ 11%] 137s pecan/tests/test_base.py::TestControllerArguments::test_many_remainders PASSED [ 11%] 137s pecan/tests/test_base.py::TestControllerArguments::test_multiple_args_with_url_encoded_kwargs PASSED [ 11%] 137s pecan/tests/test_base.py::TestControllerArguments::test_multiple_encoded_variable_args PASSED [ 11%] 137s pecan/tests/test_base.py::TestControllerArguments::test_multiple_kwargs PASSED [ 11%] 137s pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional PASSED [ 12%] 137s pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_args_with_last_encoded_kwarg PASSED [ 12%] 137s pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_args_with_last_kwarg PASSED [ 12%] 137s pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_args_with_middle_arg PASSED [ 12%] 137s pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_args_with_multiple_dict_kwargs PASSED [ 12%] 137s pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_args_with_multiple_encoded_dict_kwargs PASSED [ 12%] 137s pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_args_with_multiple_encoded_kwargs PASSED [ 13%] 137s pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_args_with_multiple_json_kwargs PASSED [ 13%] 137s pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_args_with_multiple_kwargs PASSED [ 13%] 137s pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_encoded_positional_args_and_dict_kwargs PASSED [ 13%] 137s pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_missing PASSED [ 13%] 137s pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_positional_args PASSED [ 14%] 137s pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_positional_args_all_args PASSED [ 14%] 137s pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_positional_args_all_url_encoded_args PASSED [ 14%] 137s pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_positional_args_and_dict_kwargs PASSED [ 14%] 137s pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_positional_args_and_json_kwargs PASSED [ 14%] 137s pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_positional_args_one_arg PASSED [ 15%] 137s pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_positional_args_one_url_encoded_arg PASSED [ 15%] 137s pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_positional_args_too_many_args PASSED [ 15%] 137s pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_positional_args_with_dict_kwargs PASSED [ 15%] 137s pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_positional_args_with_encoded_dict_kwargs PASSED [ 15%] 137s pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_positional_args_with_encoded_str_kwargs PASSED [ 15%] 137s pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_positional_args_with_json_kwargs PASSED [ 16%] 137s pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_positional_args_with_kwargs PASSED [ 16%] 137s pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_positional_args_with_string_kwargs PASSED [ 16%] 137s pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_positional_args_with_url_encoded_kwargs PASSED [ 16%] 137s pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_url_encoded PASSED [ 16%] 137s pecan/tests/test_base.py::TestControllerArguments::test_multiple_positional_arguments PASSED [ 17%] 137s pecan/tests/test_base.py::TestControllerArguments::test_multiple_positional_arguments_with_dictionary_kwargs PASSED [ 17%] 137s pecan/tests/test_base.py::TestControllerArguments::test_multiple_positional_arguments_with_json_kwargs PASSED [ 17%] 137s pecan/tests/test_base.py::TestControllerArguments::test_multiple_positional_arguments_with_kwargs PASSED [ 17%] 137s pecan/tests/test_base.py::TestControllerArguments::test_multiple_positional_arguments_with_url_encode PASSED [ 17%] 137s pecan/tests/test_base.py::TestControllerArguments::test_multiple_positional_arguments_with_url_encoded_kwargs PASSED [ 17%] 137s pecan/tests/test_base.py::TestControllerArguments::test_multiple_positional_url_encoded_arguments_with_kwargs PASSED [ 18%] 137s pecan/tests/test_base.py::TestControllerArguments::test_multiple_variable_args PASSED [ 18%] 137s pecan/tests/test_base.py::TestControllerArguments::test_multiple_variable_kwargs PASSED [ 18%] 137s pecan/tests/test_base.py::TestControllerArguments::test_multiple_variable_kwargs_with_dict_kwargs PASSED [ 18%] 137s pecan/tests/test_base.py::TestControllerArguments::test_multiple_variable_kwargs_with_encoded_dict_kwargs PASSED [ 18%] 137s pecan/tests/test_base.py::TestControllerArguments::test_multiple_variable_kwargs_with_explicit_encoded_kwargs PASSED [ 19%] 137s pecan/tests/test_base.py::TestControllerArguments::test_multiple_variable_kwargs_with_explicit_kwargs PASSED [ 19%] 137s pecan/tests/test_base.py::TestControllerArguments::test_multiple_variable_kwargs_with_json_kwargs PASSED [ 19%] 137s pecan/tests/test_base.py::TestControllerArguments::test_multiple_with_kwargs PASSED [ 19%] 137s pecan/tests/test_base.py::TestControllerArguments::test_multiple_with_url_encoded_kwargs PASSED [ 19%] 137s pecan/tests/test_base.py::TestControllerArguments::test_no_remainder PASSED [ 20%] 137s pecan/tests/test_base.py::TestControllerArguments::test_one_remainder PASSED [ 20%] 137s pecan/tests/test_base.py::TestControllerArguments::test_optional_arg PASSED [ 20%] 137s pecan/tests/test_base.py::TestControllerArguments::test_optional_arg_with_json_kwargs PASSED [ 20%] 137s pecan/tests/test_base.py::TestControllerArguments::test_optional_arg_with_kwargs PASSED [ 20%] 137s pecan/tests/test_base.py::TestControllerArguments::test_optional_arg_with_multiple_dictionary_kwargs PASSED [ 20%] 137s pecan/tests/test_base.py::TestControllerArguments::test_optional_arg_with_multiple_json_kwargs PASSED [ 21%] 137s pecan/tests/test_base.py::TestControllerArguments::test_optional_arg_with_multiple_kwargs PASSED [ 21%] 137s pecan/tests/test_base.py::TestControllerArguments::test_optional_arg_with_multiple_url_encoded_dictionary_kwargs PASSED [ 21%] 137s pecan/tests/test_base.py::TestControllerArguments::test_optional_arg_with_multiple_url_encoded_kwargs PASSED [ 21%] 137s pecan/tests/test_base.py::TestControllerArguments::test_optional_arg_with_url_encoded_kwargs PASSED [ 21%] 137s pecan/tests/test_base.py::TestControllerArguments::test_path_with_explicit_json_kwargs PASSED [ 22%] 137s pecan/tests/test_base.py::TestControllerArguments::test_path_with_explicit_kwargs PASSED [ 22%] 137s pecan/tests/test_base.py::TestControllerArguments::test_positional_args_with_dictionary_kwargs PASSED [ 22%] 137s pecan/tests/test_base.py::TestControllerArguments::test_positional_args_with_json_kwargs PASSED [ 22%] 137s pecan/tests/test_base.py::TestControllerArguments::test_positional_args_with_url_encoded_dictionary_kwargs PASSED [ 22%] 137s pecan/tests/test_base.py::TestControllerArguments::test_post_empty_remainder_with_json_kwargs PASSED [ 22%] 137s pecan/tests/test_base.py::TestControllerArguments::test_post_many_remainders PASSED [ 23%] 137s pecan/tests/test_base.py::TestControllerArguments::test_post_many_remainders_with_many_json_kwargs PASSED [ 23%] 137s pecan/tests/test_base.py::TestControllerArguments::test_post_many_remainders_with_many_kwargs PASSED [ 23%] 137s pecan/tests/test_base.py::TestControllerArguments::test_post_remainder PASSED [ 23%] 137s pecan/tests/test_base.py::TestControllerArguments::test_post_remainder_with_json_kwargs PASSED [ 23%] 137s pecan/tests/test_base.py::TestControllerArguments::test_post_remainder_with_kwargs PASSED [ 24%] 137s pecan/tests/test_base.py::TestControllerArguments::test_post_three_remainders PASSED [ 24%] 137s pecan/tests/test_base.py::TestControllerArguments::test_remainder_with_kwargs PASSED [ 24%] 137s pecan/tests/test_base.py::TestControllerArguments::test_remainder_with_many_kwargs PASSED [ 24%] 137s pecan/tests/test_base.py::TestControllerArguments::test_required_argument PASSED [ 24%] 137s pecan/tests/test_base.py::TestControllerArguments::test_single_argument PASSED [ 25%] 137s pecan/tests/test_base.py::TestControllerArguments::test_single_argument_with_encoded_plus PASSED [ 25%] 137s pecan/tests/test_base.py::TestControllerArguments::test_single_argument_with_encoded_url PASSED [ 25%] 137s pecan/tests/test_base.py::TestControllerArguments::test_single_argument_with_plus PASSED [ 25%] 137s pecan/tests/test_base.py::TestControllerArguments::test_staticmethod PASSED [ 25%] 137s pecan/tests/test_base.py::TestControllerArguments::test_two_arguments PASSED [ 25%] 137s pecan/tests/test_base.py::TestControllerArguments::test_two_remainders PASSED [ 26%] 137s pecan/tests/test_base.py::TestControllerArguments::test_url_encoded_positional_args PASSED [ 26%] 137s pecan/tests/test_base.py::TestControllerArguments::test_variable_all PASSED [ 26%] 137s pecan/tests/test_base.py::TestControllerArguments::test_variable_all_with_one_extra PASSED [ 26%] 137s pecan/tests/test_base.py::TestControllerArguments::test_variable_all_with_two_extras PASSED [ 26%] 137s pecan/tests/test_base.py::TestControllerArguments::test_variable_args PASSED [ 27%] 137s pecan/tests/test_base.py::TestControllerArguments::test_variable_args_with_dict_kwargs PASSED [ 27%] 137s pecan/tests/test_base.py::TestControllerArguments::test_variable_args_with_json_kwargs PASSED [ 27%] 137s pecan/tests/test_base.py::TestControllerArguments::test_variable_args_with_kwargs PASSED [ 27%] 137s pecan/tests/test_base.py::TestControllerArguments::test_variable_kwargs PASSED [ 27%] 137s pecan/tests/test_base.py::TestControllerArguments::test_variable_mixed PASSED [ 27%] 137s pecan/tests/test_base.py::TestControllerArguments::test_variable_mixed_explicit PASSED [ 28%] 137s pecan/tests/test_base.py::TestControllerArguments::test_variable_post PASSED [ 28%] 137s pecan/tests/test_base.py::TestControllerArguments::test_variable_post_mixed PASSED [ 28%] 137s pecan/tests/test_base.py::TestControllerArguments::test_variable_post_mixed_with_json PASSED [ 28%] 137s pecan/tests/test_base.py::TestControllerArguments::test_variable_post_with_json_kwargs PASSED [ 28%] 137s pecan/tests/test_base.py::TestControllerArguments::test_variable_post_with_kwargs PASSED [ 29%] 137s pecan/tests/test_base.py::TestDefaultErrorRendering::test_html_error PASSED [ 29%] 137s pecan/tests/test_base.py::TestDefaultErrorRendering::test_json_error PASSED [ 29%] 137s pecan/tests/test_base.py::TestDefaultErrorRendering::test_plain_error PASSED [ 29%] 137s pecan/tests/test_base.py::TestAbort::test_abort PASSED [ 29%] 137s pecan/tests/test_base.py::TestAbort::test_abort_keeps_traceback PASSED [ 30%] 137s pecan/tests/test_base.py::TestAbort::test_abort_with_detail PASSED [ 30%] 137s pecan/tests/test_base.py::TestScriptName::test_handle_script_name PASSED [ 30%] 137s pecan/tests/test_base.py::TestRedirect::test_index PASSED [ 30%] 137s pecan/tests/test_base.py::TestRedirect::test_internal PASSED [ 30%] 137s pecan/tests/test_base.py::TestRedirect::test_internal_with_301 PASSED [ 30%] 137s pecan/tests/test_base.py::TestRedirect::test_permanent_redirect PASSED [ 31%] 137s pecan/tests/test_base.py::TestRedirect::test_x_forward_proto PASSED [ 31%] 138s pecan/tests/test_base.py::TestInternalRedirectContext::test_context_does_not_bleed PASSED [ 31%] 138s pecan/tests/test_base.py::TestInternalRedirectContext::test_internal_with_request_context PASSED [ 31%] 138s pecan/tests/test_base.py::TestStreamedResponse::test_streaming_response PASSED [ 31%] 138s pecan/tests/test_base.py::TestManualResponse::test_manual_response PASSED [ 32%] 138s pecan/tests/test_base.py::TestCustomResponseandRequest::test_custom_objects PASSED [ 32%] 138s pecan/tests/test_base.py::TestThreadLocalState::test_request_state_cleanup PASSED [ 32%] 138s pecan/tests/test_base.py::TestThreadLocalState::test_thread_local_dir PASSED [ 32%] 138s pecan/tests/test_base.py::TestFileTypeExtensions::test_bad_content_type PASSED [ 32%] 138s pecan/tests/test_base.py::TestFileTypeExtensions::test_content_type_guessing_disabled PASSED [ 32%] 138s pecan/tests/test_base.py::TestFileTypeExtensions::test_guessing_disabled PASSED [ 33%] 138s pecan/tests/test_base.py::TestFileTypeExtensions::test_hidden_file PASSED [ 33%] 138s pecan/tests/test_base.py::TestFileTypeExtensions::test_html_extension PASSED [ 33%] 138s pecan/tests/test_base.py::TestFileTypeExtensions::test_image_extension PASSED [ 33%] 138s pecan/tests/test_base.py::TestFileTypeExtensions::test_multi_dot_extension PASSED [ 33%] 138s pecan/tests/test_base.py::TestFileTypeExtensions::test_unknown_file_extension PASSED [ 34%] 138s pecan/tests/test_base.py::TestContentTypeByAcceptHeaders::test_accept_header_missing PASSED [ 34%] 138s pecan/tests/test_base.py::TestContentTypeByAcceptHeaders::test_discarded_accept_parameters PASSED [ 34%] 138s pecan/tests/test_base.py::TestContentTypeByAcceptHeaders::test_file_extension_has_higher_precedence PASSED [ 34%] 138s pecan/tests/test_base.py::TestContentTypeByAcceptHeaders::test_missing_accept PASSED [ 34%] 138s pecan/tests/test_base.py::TestContentTypeByAcceptHeaders::test_not_acceptable PASSED [ 35%] 138s pecan/tests/test_base.py::TestContentTypeByAcceptHeaders::test_quality PASSED [ 35%] 138s pecan/tests/test_base.py::TestCanonicalRouting::test_accept_noncanonical PASSED [ 35%] 138s pecan/tests/test_base.py::TestCanonicalRouting::test_accept_noncanonical_no_trailing_slash PASSED [ 35%] 138s pecan/tests/test_base.py::TestCanonicalRouting::test_broken_clients PASSED [ 35%] 138s pecan/tests/test_base.py::TestCanonicalRouting::test_index PASSED [ 35%] 138s pecan/tests/test_base.py::TestCanonicalRouting::test_posts_fail PASSED [ 36%] 138s pecan/tests/test_base.py::TestCanonicalRouting::test_root PASSED [ 36%] 138s pecan/tests/test_base.py::TestCanonicalRouting::test_sub_controller_redirect PASSED [ 36%] 138s pecan/tests/test_base.py::TestCanonicalRouting::test_sub_controller_with_trailing PASSED [ 36%] 138s pecan/tests/test_base.py::TestCanonicalRouting::test_with_args PASSED [ 36%] 138s pecan/tests/test_base.py::TestCanonicalRouting::test_with_query_string PASSED [ 37%] 138s pecan/tests/test_base.py::TestNonCanonical::test_app_wrap PASSED [ 37%] 138s pecan/tests/test_base.py::TestNonCanonical::test_index PASSED [ 37%] 138s pecan/tests/test_base.py::TestNonCanonical::test_proxy PASSED [ 37%] 138s pecan/tests/test_base.py::TestNonCanonical::test_sub_controller_with_trailing PASSED [ 37%] 138s pecan/tests/test_base.py::TestNonCanonical::test_subcontroller PASSED [ 37%] 138s pecan/tests/test_base.py::TestNonCanonical::test_subcontroller_with_kwargs PASSED [ 38%] 138s pecan/tests/test_base.py::TestLogging::test_logging_setup PASSED [ 38%] 138s pecan/tests/test_base.py::TestLogging::test_logging_setup_with_config_obj PASSED [ 38%] 138s pecan/tests/test_base.py::TestEngines::test_custom_renderer PASSED [ 38%] 138s pecan/tests/test_base.py::TestEngines::test_default_json_renderer PASSED [ 38%] 138s pecan/tests/test_base.py::TestEngines::test_default_json_renderer_with_explicit_content_type PASSED [ 39%] 138s pecan/tests/test_base.py::TestEngines::test_jinja PASSED [ 39%] 138s pecan/tests/test_base.py::TestEngines::test_json PASSED [ 39%] 138s pecan/tests/test_base.py::TestEngines::test_kajiki PASSED [ 39%] 138s pecan/tests/test_base.py::TestEngines::test_override_template PASSED [ 39%] 138s pecan/tests/test_base.py::TestEngines::test_render PASSED [ 40%] 138s pecan/tests/test_base.py::TestEngines::test_renderer_not_found PASSED [ 40%] 138s pecan/tests/test_base.py::TestDeprecatedRouteMethod::test_required_argument PASSED [ 40%] 138s pecan/tests/test_base.py::TestExplicitRoute::test_alternate_route PASSED [ 40%] 138s pecan/tests/test_base.py::TestExplicitRoute::test_conflicting_custom_routes PASSED [ 40%] 138s pecan/tests/test_base.py::TestExplicitRoute::test_conflicting_custom_routes_in_subclass PASSED [ 40%] 138s pecan/tests/test_base.py::TestExplicitRoute::test_custom_route_on_index PASSED [ 41%] 138s pecan/tests/test_base.py::TestExplicitRoute::test_custom_route_prohibited_on_default PASSED [ 41%] 138s pecan/tests/test_base.py::TestExplicitRoute::test_custom_route_prohibited_on_generic_controllers PASSED [ 41%] 138s pecan/tests/test_base.py::TestExplicitRoute::test_custom_route_prohibited_on_lookup PASSED [ 41%] 138s pecan/tests/test_base.py::TestExplicitRoute::test_custom_route_prohibited_on_route PASSED [ 41%] 138s pecan/tests/test_base.py::TestExplicitRoute::test_custom_route_with_attribute_conflict PASSED [ 42%] 138s pecan/tests/test_base.py::TestExplicitRoute::test_custom_route_with_generic_controllers PASSED [ 42%] 138s pecan/tests/test_base.py::TestExplicitRoute::test_invalid_route_arguments PASSED [ 42%] 138s pecan/tests/test_base.py::TestExplicitRoute::test_manual_route PASSED [ 42%] 138s pecan/tests/test_base.py::TestExplicitRoute::test_manual_route_conflict PASSED [ 42%] 138s pecan/tests/test_commands.py::TestCommandManager::test_commands PASSED [ 42%] 138s pecan/tests/test_commands.py::TestCommandRunner::test_commands PASSED [ 43%] 138s pecan/tests/test_commands.py::TestCommandRunner::test_run PASSED [ 43%] 138s pecan/tests/test_commands.py::TestCreateCommand::test_run PASSED [ 43%] 138s pecan/tests/test_conf.py::TestConf::test_config_bad_key PASSED [ 43%] 138s pecan/tests/test_conf.py::TestConf::test_config_dir PASSED [ 43%] 138s pecan/tests/test_conf.py::TestConf::test_config_from_dict PASSED [ 44%] 138s pecan/tests/test_conf.py::TestConf::test_config_from_file PASSED [ 44%] 138s pecan/tests/test_conf.py::TestConf::test_config_get_invalid_key PASSED [ 44%] 138s pecan/tests/test_conf.py::TestConf::test_config_get_invalid_key_return_default PASSED [ 44%] 138s pecan/tests/test_conf.py::TestConf::test_config_get_valid_key PASSED [ 44%] 138s pecan/tests/test_conf.py::TestConf::test_config_illegal_ids PASSED [ 45%] 138s pecan/tests/test_conf.py::TestConf::test_config_missing_file PASSED [ 45%] 138s pecan/tests/test_conf.py::TestConf::test_config_missing_file_on_path PASSED [ 45%] 138s pecan/tests/test_conf.py::TestConf::test_config_repr PASSED [ 45%] 138s pecan/tests/test_conf.py::TestConf::test_config_to_dict PASSED [ 45%] 138s pecan/tests/test_conf.py::TestConf::test_config_to_dict_nested PASSED [ 45%] 138s pecan/tests/test_conf.py::TestConf::test_config_to_dict_prefixed PASSED [ 46%] 138s pecan/tests/test_conf.py::TestConf::test_config_with_bad_import PASSED [ 46%] 138s pecan/tests/test_conf.py::TestConf::test_config_with_syntax_error PASSED [ 46%] 138s pecan/tests/test_conf.py::TestConf::test_update_config_fail_identifier PASSED [ 46%] 138s pecan/tests/test_conf.py::TestConf::test_update_config_fail_message PASSED [ 46%] 138s pecan/tests/test_conf.py::TestConf::test_update_config_with_dict PASSED [ 47%] 138s pecan/tests/test_conf.py::TestConf::test_update_force_dict PASSED [ 47%] 138s pecan/tests/test_conf.py::TestConf::test_update_set_config PASSED [ 47%] 138s pecan/tests/test_conf.py::TestConf::test_update_set_default_config PASSED [ 47%] 138s pecan/tests/test_conf.py::TestGlobalConfig::test_overwrite_from_dict PASSED [ 47%] 138s pecan/tests/test_conf.py::TestGlobalConfig::test_overwrite_from_file PASSED [ 47%] 138s pecan/tests/test_conf.py::TestGlobalConfig::test_paint_from_dict PASSED [ 48%] 138s pecan/tests/test_conf.py::TestGlobalConfig::test_paint_from_file PASSED [ 48%] 138s pecan/tests/test_conf.py::TestGlobalConfig::test_set_config_none_type PASSED [ 48%] 138s pecan/tests/test_conf.py::TestGlobalConfig::test_set_config_to_dir PASSED [ 48%] 138s pecan/tests/test_conf.py::TestConfFromEnv::test_invalid_path PASSED [ 48%] 138s pecan/tests/test_conf.py::TestConfFromEnv::test_is_not_set PASSED [ 49%] 138s pecan/tests/test_conf.py::TestConfFromEnv::test_return_valid_path PASSED [ 49%] 138s pecan/tests/test_conf.py::TestConfigCleanup::test_conf_changed PASSED [ 49%] 138s pecan/tests/test_conf.py::TestConfigCleanup::test_conf_default PASSED [ 49%] 138s pecan/tests/test_generic.py::TestGeneric::test_generic_allow_header PASSED [ 49%] 138s pecan/tests/test_generic.py::TestGeneric::test_nested_generic PASSED [ 50%] 138s pecan/tests/test_generic.py::TestGeneric::test_simple_generic PASSED [ 50%] 138s pecan/tests/test_generic.py::TestGenericWithSpecialMethods::test_generics_not_allowed PASSED [ 50%] 138s pecan/tests/test_hooks.py::TestHooks::test_basic_isolated_hook PASSED [ 50%] 138s pecan/tests/test_hooks.py::TestHooks::test_basic_multi_hook PASSED [ 50%] 138s pecan/tests/test_hooks.py::TestHooks::test_basic_single_hook PASSED [ 50%] 138s pecan/tests/test_hooks.py::TestHooks::test_internal_redirect_with_after_hook PASSED [ 51%] 138s pecan/tests/test_hooks.py::TestHooks::test_isolated_hook_with_global_hook PASSED [ 51%] 138s pecan/tests/test_hooks.py::TestHooks::test_mixin_hooks PASSED [ 51%] 138s pecan/tests/test_hooks.py::TestHooks::test_on_error_response_hook PASSED [ 51%] 138s pecan/tests/test_hooks.py::TestHooks::test_partial_hooks PASSED [ 51%] 138s pecan/tests/test_hooks.py::TestHooks::test_prioritized_hooks PASSED [ 52%] 138s pecan/tests/test_hooks.py::TestStateAccess::test_mixed_args PASSED [ 52%] 138s pecan/tests/test_hooks.py::TestStateAccess::test_no_args PASSED [ 52%] 138s pecan/tests/test_hooks.py::TestStateAccess::test_single_arg PASSED [ 52%] 138s pecan/tests/test_hooks.py::TestStateAccess::test_single_kw PASSED [ 52%] 138s pecan/tests/test_hooks.py::TestStateAccess::test_single_kw_post PASSED [ 52%] 138s pecan/tests/test_hooks.py::TestStateAccess::test_single_vararg PASSED [ 53%] 138s pecan/tests/test_hooks.py::TestStateAccessWithoutThreadLocals::test_mixed_args PASSED [ 53%] 138s pecan/tests/test_hooks.py::TestStateAccessWithoutThreadLocals::test_no_args PASSED [ 53%] 138s pecan/tests/test_hooks.py::TestStateAccessWithoutThreadLocals::test_single_arg PASSED [ 53%] 138s pecan/tests/test_hooks.py::TestStateAccessWithoutThreadLocals::test_single_kw PASSED [ 53%] 138s pecan/tests/test_hooks.py::TestStateAccessWithoutThreadLocals::test_single_kw_post PASSED [ 54%] 138s pecan/tests/test_hooks.py::TestStateAccessWithoutThreadLocals::test_single_vararg PASSED [ 54%] 138s pecan/tests/test_hooks.py::TestRestControllerStateAccess::test_delete PASSED [ 54%] 138s pecan/tests/test_hooks.py::TestRestControllerStateAccess::test_delete_with_kwargs PASSED [ 54%] 138s pecan/tests/test_hooks.py::TestRestControllerStateAccess::test_delete_with_method_argument PASSED [ 54%] 138s pecan/tests/test_hooks.py::TestRestControllerStateAccess::test_delete_with_varargs PASSED [ 55%] 138s pecan/tests/test_hooks.py::TestRestControllerStateAccess::test_get_all PASSED [ 55%] 138s pecan/tests/test_hooks.py::TestRestControllerStateAccess::test_get_all_with_kwargs PASSED [ 55%] 138s pecan/tests/test_hooks.py::TestRestControllerStateAccess::test_get_one PASSED [ 55%] 138s pecan/tests/test_hooks.py::TestRestControllerStateAccess::test_get_one_with_kwargs PASSED [ 55%] 138s pecan/tests/test_hooks.py::TestRestControllerStateAccess::test_get_one_with_varargs PASSED [ 55%] 138s pecan/tests/test_hooks.py::TestRestControllerStateAccess::test_post PASSED [ 56%] 138s pecan/tests/test_hooks.py::TestRestControllerStateAccess::test_post_with_invalid_method_kwarg PASSED [ 56%] 138s pecan/tests/test_hooks.py::TestRestControllerStateAccess::test_post_with_kwargs PASSED [ 56%] 138s pecan/tests/test_hooks.py::TestRestControllerStateAccess::test_post_with_varargs PASSED [ 56%] 138s pecan/tests/test_hooks.py::TestRestControllerStateAccess::test_put PASSED [ 56%] 138s pecan/tests/test_hooks.py::TestRestControllerStateAccess::test_put_with_kwargs PASSED [ 57%] 138s pecan/tests/test_hooks.py::TestRestControllerStateAccess::test_put_with_method_argument PASSED [ 57%] 138s pecan/tests/test_hooks.py::TestRestControllerStateAccess::test_put_with_varargs PASSED [ 57%] 138s pecan/tests/test_hooks.py::TestTransactionHook::test_transaction_hook PASSED [ 57%] 138s pecan/tests/test_hooks.py::TestTransactionHook::test_transaction_hook_with_after_actions PASSED [ 57%] 138s pecan/tests/test_hooks.py::TestTransactionHook::test_transaction_hook_with_broken_hook PASSED [ 57%] 138s pecan/tests/test_hooks.py::TestTransactionHook::test_transaction_hook_with_transactional_class_decorator PASSED [ 58%] 138s pecan/tests/test_hooks.py::TestTransactionHook::test_transaction_hook_with_transactional_decorator PASSED [ 58%] 138s pecan/tests/test_hooks.py::TestRequestViewerHook::test_bad_response_from_app PASSED [ 58%] 138s pecan/tests/test_hooks.py::TestRequestViewerHook::test_basic_single_default_hook PASSED [ 58%] 138s pecan/tests/test_hooks.py::TestRequestViewerHook::test_deal_with_pecan_configs PASSED [ 58%] 138s pecan/tests/test_hooks.py::TestRequestViewerHook::test_hook_formatting PASSED [ 59%] 138s pecan/tests/test_hooks.py::TestRequestViewerHook::test_item_not_in_defaults PASSED [ 59%] 138s pecan/tests/test_hooks.py::TestRequestViewerHook::test_single_blacklist_item PASSED [ 59%] 138s pecan/tests/test_hooks.py::TestRequestViewerHook::test_single_item PASSED [ 59%] 138s pecan/tests/test_hooks.py::TestRestControllerWithHooks::test_restcontroller_with_hooks PASSED [ 59%] 138s pecan/tests/test_jsonify.py::test_simple_rule PASSED [ 60%] 138s pecan/tests/test_jsonify.py::TestJsonify::test_simple_jsonify PASSED [ 60%] 138s pecan/tests/test_jsonify.py::TestJsonifyGenericEncoder::test_datetime PASSED [ 60%] 138s pecan/tests/test_jsonify.py::TestJsonifyGenericEncoder::test_decimal PASSED [ 60%] 138s pecan/tests/test_jsonify.py::TestJsonifyGenericEncoder::test_fallback_to_builtin_encoder PASSED [ 60%] 138s pecan/tests/test_jsonify.py::TestJsonifyGenericEncoder::test_json_callable PASSED [ 60%] 138s pecan/tests/test_jsonify.py::TestJsonifyGenericEncoder::test_multidict PASSED [ 61%] 138s pecan/tests/test_jsonify.py::TestJsonifySQLAlchemyGenericEncoder::test_result_proxy PASSED [ 61%] 138s pecan/tests/test_jsonify.py::TestJsonifySQLAlchemyGenericEncoder::test_row_proxy PASSED [ 61%] 138s pecan/tests/test_jsonify.py::TestJsonifySQLAlchemyGenericEncoder::test_sa_object PASSED [ 61%] 138s pecan/tests/test_no_thread_locals.py::TestThreadingLocalUsage::test_locals_are_not_used PASSED [ 61%] 138s pecan/tests/test_no_thread_locals.py::TestThreadingLocalUsage::test_threadlocal_argument_warning PASSED [ 62%] 138s pecan/tests/test_no_thread_locals.py::TestThreadingLocalUsage::test_threadlocal_argument_warning_on_generic PASSED [ 62%] 138s pecan/tests/test_no_thread_locals.py::TestThreadingLocalUsage::test_threadlocal_argument_warning_on_generic_delegate PASSED [ 62%] 138s pecan/tests/test_no_thread_locals.py::TestIndexRouting::test_empty_root PASSED [ 62%] 138s pecan/tests/test_no_thread_locals.py::TestIndexRouting::test_index PASSED [ 62%] 138s pecan/tests/test_no_thread_locals.py::TestIndexRouting::test_index_html PASSED [ 62%] 138s pecan/tests/test_no_thread_locals.py::TestManualResponse::test_manual_response PASSED [ 63%] 138s pecan/tests/test_no_thread_locals.py::TestDispatch::test_index PASSED [ 63%] 138s pecan/tests/test_no_thread_locals.py::TestDispatch::test_one_level PASSED [ 63%] 138s pecan/tests/test_no_thread_locals.py::TestDispatch::test_one_level_with_trailing PASSED [ 63%] 138s pecan/tests/test_no_thread_locals.py::TestDispatch::test_three_levels PASSED [ 63%] 138s pecan/tests/test_no_thread_locals.py::TestDispatch::test_two_levels PASSED [ 64%] 138s pecan/tests/test_no_thread_locals.py::TestDispatch::test_two_levels_with_trailing PASSED [ 64%] 138s pecan/tests/test_no_thread_locals.py::TestLookups::test_index PASSED [ 64%] 138s pecan/tests/test_no_thread_locals.py::TestLookups::test_lookup PASSED [ 64%] 138s pecan/tests/test_no_thread_locals.py::TestLookups::test_lookup_with_method PASSED [ 64%] 138s pecan/tests/test_no_thread_locals.py::TestLookups::test_lookup_with_wrong_argspec PASSED [ 65%] 138s pecan/tests/test_no_thread_locals.py::TestCanonicalLookups::test_canonical_lookup PASSED [ 65%] 138s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_argument_and_keyword_argument PASSED [ 65%] 138s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_encoded_argument_and_keyword_argument PASSED [ 65%] 138s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_explicit_kwargs PASSED [ 65%] 138s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_keyword_argument PASSED [ 65%] 138s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_keyword_argument_with_encoded_url PASSED [ 66%] 138s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_kwargs_from_root PASSED [ 66%] 138s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_many_remainders PASSED [ 66%] 138s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_args_with_url_encoded_kwargs PASSED [ 66%] 138s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_encoded_variable_args PASSED [ 66%] 138s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_kwargs PASSED [ 67%] 138s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional PASSED [ 67%] 138s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional_args_with_last_encoded_kwarg PASSED [ 67%] 138s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional_args_with_last_kwarg PASSED [ 67%] 138s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional_args_with_middle_arg PASSED [ 67%] 138s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional_args_with_multiple_dict_kwargs PASSED [ 67%] 138s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional_args_with_multiple_encoded_dict_kwargs PASSED [ 68%] 138s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional_args_with_multiple_encoded_kwargs PASSED [ 68%] 138s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional_args_with_multiple_kwargs PASSED [ 68%] 138s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional_encoded_positional_args_and_dict_kwargs PASSED [ 68%] 138s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional_missing PASSED [ 68%] 138s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional_positional_args PASSED [ 69%] 138s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional_positional_args_all_args PASSED [ 69%] 138s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional_positional_args_all_url_encoded_args PASSED [ 69%] 138s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional_positional_args_and_dict_kwargs PASSED [ 69%] 138s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional_positional_args_one_arg PASSED [ 69%] 138s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional_positional_args_one_url_encoded_arg PASSED [ 70%] 138s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional_positional_args_too_many_args PASSED [ 70%] 138s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional_positional_args_with_dict_kwargs PASSED [ 70%] 138s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional_positional_args_with_encoded_dict_kwargs PASSED [ 70%] 138s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional_positional_args_with_encoded_str_kwargs PASSED [ 70%] 138s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional_positional_args_with_kwargs PASSED [ 70%] 138s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional_positional_args_with_string_kwargs PASSED [ 71%] 138s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional_positional_args_with_url_encoded_kwargs PASSED [ 71%] 138s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional_url_encoded PASSED [ 71%] 138s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_positional_arguments PASSED [ 71%] 138s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_positional_arguments_with_dictionary_kwargs PASSED [ 71%] 138s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_positional_arguments_with_kwargs PASSED [ 72%] 138s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_positional_arguments_with_url_encode PASSED [ 72%] 138s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_positional_arguments_with_url_encoded_kwargs PASSED [ 72%] 138s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_positional_url_encoded_arguments_with_kwargs PASSED [ 72%] 138s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_variable_args PASSED [ 72%] 138s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_variable_kwargs PASSED [ 72%] 138s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_variable_kwargs_with_dict_kwargs PASSED [ 73%] 138s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_variable_kwargs_with_encoded_dict_kwargs PASSED [ 73%] 138s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_variable_kwargs_with_explicit_encoded_kwargs PASSED [ 73%] 138s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_variable_kwargs_with_explicit_kwargs PASSED [ 73%] 138s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_with_kwargs PASSED [ 73%] 138s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_with_url_encoded_kwargs PASSED [ 74%] 138s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_no_remainder PASSED [ 74%] 138s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_one_remainder PASSED [ 74%] 138s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_optional_arg PASSED [ 74%] 138s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_optional_arg_with_kwargs PASSED [ 74%] 138s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_optional_arg_with_multiple_dictionary_kwargs PASSED [ 75%] 138s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_optional_arg_with_multiple_kwargs PASSED [ 75%] 138s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_optional_arg_with_multiple_url_encoded_dictionary_kwargs PASSED [ 75%] 138s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_optional_arg_with_multiple_url_encoded_kwargs PASSED [ 75%] 138s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_optional_arg_with_url_encoded_kwargs PASSED [ 75%] 138s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_path_with_explicit_kwargs PASSED [ 75%] 138s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_positional_args_with_dictionary_kwargs PASSED [ 76%] 138s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_positional_args_with_url_encoded_dictionary_kwargs PASSED [ 76%] 138s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_post_many_remainders PASSED [ 76%] 138s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_post_many_remainders_with_many_kwargs PASSED [ 76%] 138s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_post_remainder PASSED [ 76%] 138s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_post_remainder_with_kwargs PASSED [ 77%] 138s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_post_three_remainders PASSED [ 77%] 138s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_remainder_with_kwargs PASSED [ 77%] 138s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_remainder_with_many_kwargs PASSED [ 77%] 138s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_required_argument PASSED [ 77%] 138s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_single_argument PASSED [ 77%] 138s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_single_argument_with_encoded_url PASSED [ 78%] 138s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_two_arguments PASSED [ 78%] 138s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_two_remainders PASSED [ 78%] 138s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_url_encoded_positional_args PASSED [ 78%] 138s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_variable_all PASSED [ 78%] 138s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_variable_all_with_one_extra PASSED [ 79%] 138s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_variable_all_with_two_extras PASSED [ 79%] 138s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_variable_args PASSED [ 79%] 138s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_variable_args_with_dict_kwargs PASSED [ 79%] 138s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_variable_args_with_kwargs PASSED [ 79%] 138s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_variable_kwargs PASSED [ 80%] 138s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_variable_mixed PASSED [ 80%] 138s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_variable_mixed_explicit PASSED [ 80%] 138s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_variable_post PASSED [ 80%] 138s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_variable_post_mixed PASSED [ 80%] 138s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_variable_post_with_kwargs PASSED [ 80%] 138s pecan/tests/test_no_thread_locals.py::TestRestController::test_custom_action PASSED [ 81%] 138s pecan/tests/test_no_thread_locals.py::TestRestController::test_custom_method_type PASSED [ 81%] 138s pecan/tests/test_no_thread_locals.py::TestRestController::test_custom_method_type_with_method_parameter PASSED [ 81%] 138s pecan/tests/test_no_thread_locals.py::TestRestController::test_delete_method PASSED [ 81%] 138s pecan/tests/test_no_thread_locals.py::TestRestController::test_delete_with_method_parameter PASSED [ 81%] 138s pecan/tests/test_no_thread_locals.py::TestRestController::test_delete_with_method_parameter_and_post PASSED [ 82%] 138s pecan/tests/test_no_thread_locals.py::TestRestController::test_get_all PASSED [ 82%] 138s pecan/tests/test_no_thread_locals.py::TestRestController::test_get_delete PASSED [ 82%] 138s pecan/tests/test_no_thread_locals.py::TestRestController::test_get_one PASSED [ 82%] 138s pecan/tests/test_no_thread_locals.py::TestRestController::test_invalid_custom_action PASSED [ 82%] 138s pecan/tests/test_no_thread_locals.py::TestRestController::test_named_action PASSED [ 82%] 138s pecan/tests/test_no_thread_locals.py::TestRestController::test_named_nested_action PASSED [ 83%] 138s pecan/tests/test_no_thread_locals.py::TestRestController::test_nested_controller_with_trailing_slash PASSED [ 83%] 138s pecan/tests/test_no_thread_locals.py::TestRestController::test_nested_controller_without_trailing_slash PASSED [ 83%] 138s pecan/tests/test_no_thread_locals.py::TestRestController::test_nested_post PASSED [ 83%] 138s pecan/tests/test_no_thread_locals.py::TestRestController::test_options PASSED [ 83%] 138s pecan/tests/test_no_thread_locals.py::TestRestController::test_options_with_method_parameter PASSED [ 84%] 138s pecan/tests/test_no_thread_locals.py::TestRestController::test_other_custom_action PASSED [ 84%] 138s pecan/tests/test_no_thread_locals.py::TestRestController::test_other_custom_action_with_method_parameter PASSED [ 84%] 138s pecan/tests/test_no_thread_locals.py::TestRestController::test_post PASSED [ 84%] 138s pecan/tests/test_no_thread_locals.py::TestRestController::test_put PASSED [ 84%] 138s pecan/tests/test_no_thread_locals.py::TestRestController::test_put_with_method_parameter_and_get PASSED [ 85%] 138s pecan/tests/test_no_thread_locals.py::TestRestController::test_put_with_method_parameter_and_post PASSED [ 85%] 138s pecan/tests/test_no_thread_locals.py::TestHooks::test_basic_isolated_hook PASSED [ 85%] 138s pecan/tests/test_no_thread_locals.py::TestHooks::test_basic_multi_hook PASSED [ 85%] 138s pecan/tests/test_no_thread_locals.py::TestHooks::test_basic_single_hook PASSED [ 85%] 138s pecan/tests/test_no_thread_locals.py::TestHooks::test_isolated_hook_with_global_hook PASSED [ 85%] 138s pecan/tests/test_no_thread_locals.py::TestHooks::test_on_error_response_hook PASSED [ 86%] 138s pecan/tests/test_no_thread_locals.py::TestHooks::test_partial_hooks PASSED [ 86%] 138s pecan/tests/test_no_thread_locals.py::TestHooks::test_prioritized_hooks PASSED [ 86%] 138s pecan/tests/test_no_thread_locals.py::TestGeneric::test_generics_with_im_self_default PASSED [ 86%] 138s pecan/tests/test_no_thread_locals.py::TestGeneric::test_generics_with_im_self_with_extra_args PASSED [ 86%] 138s pecan/tests/test_no_thread_locals.py::TestGeneric::test_generics_with_im_self_with_method PASSED [ 87%] 138s pecan/tests/test_no_thread_locals.py::TestGeneric::test_generics_with_im_self_with_path PASSED [ 87%] 138s pecan/tests/test_rest.py::TestRestController::test_405_with_lookup PASSED [ 87%] 138s pecan/tests/test_rest.py::TestRestController::test_bad_rest PASSED [ 87%] 138s pecan/tests/test_rest.py::TestRestController::test_basic_rest PASSED [ 87%] 138s pecan/tests/test_rest.py::TestRestController::test_complicated_nested_rest PASSED [ 87%] 138s pecan/tests/test_rest.py::TestRestController::test_custom_delete PASSED [ 88%] 138s pecan/tests/test_rest.py::TestRestController::test_custom_with_trailing_slash PASSED [ 88%] 138s pecan/tests/test_rest.py::TestRestController::test_dynamic_rest_lookup PASSED [ 88%] 138s pecan/tests/test_rest.py::TestRestController::test_get_with_var_args PASSED [ 88%] 138s pecan/tests/test_rest.py::TestRestController::test_getall_with_lookup PASSED [ 88%] 138s pecan/tests/test_rest.py::TestRestController::test_getall_with_trailing_slash PASSED [ 89%] 138s pecan/tests/test_rest.py::TestRestController::test_method_not_allowed_delete PASSED [ 89%] 138s pecan/tests/test_rest.py::TestRestController::test_method_not_allowed_get PASSED [ 89%] 138s pecan/tests/test_rest.py::TestRestController::test_method_not_allowed_post PASSED [ 89%] 138s pecan/tests/test_rest.py::TestRestController::test_method_not_allowed_put PASSED [ 89%] 138s pecan/tests/test_rest.py::TestRestController::test_nested_get_all PASSED [ 90%] 138s pecan/tests/test_rest.py::TestRestController::test_nested_get_all_with_lookup PASSED [ 90%] 138s pecan/tests/test_rest.py::TestRestController::test_nested_rest_with_default PASSED [ 90%] 138s pecan/tests/test_rest.py::TestRestController::test_nested_rest_with_lookup PASSED [ 90%] 138s pecan/tests/test_rest.py::TestRestController::test_nested_rest_with_missing_intermediate_id PASSED [ 90%] 138s pecan/tests/test_rest.py::TestRestController::test_post_with_kwargs_only PASSED [ 90%] 138s pecan/tests/test_rest.py::TestRestController::test_proper_allow_header_multiple_gets PASSED [ 91%] 138s pecan/tests/test_rest.py::TestRestController::test_rest_with_utf8_endpoint PASSED [ 91%] 138s pecan/tests/test_rest.py::TestRestController::test_rest_with_utf8_uri PASSED [ 91%] 138s pecan/tests/test_rest.py::TestRestController::test_simple_nested_rest PASSED [ 91%] 138s pecan/tests/test_rest.py::TestRestController::test_sub_nested_rest PASSED [ 91%] 138s pecan/tests/test_rest.py::TestRestController::test_sub_nested_rest_with_overwrites PASSED [ 92%] 138s pecan/tests/test_rest.py::TestExplicitRoute::test_alternate_route PASSED [ 92%] 138s pecan/tests/test_scaffolds.py::TestPecanScaffold::test_normalize_pkg_name PASSED [ 92%] 138s pecan/tests/test_scaffolds.py::TestScaffoldUtils::test_copy_dir PASSED [ 92%] 138s pecan/tests/test_scaffolds.py::TestScaffoldUtils::test_copy_dir_with_file_content_substitution PASSED [ 92%] 138s pecan/tests/test_scaffolds.py::TestScaffoldUtils::test_copy_dir_with_filename_substitution PASSED [ 92%] 138s pecan/tests/test_scaffolds.py::TestScaffoldUtils::test_destination_directory_already_exists PASSED [ 93%] 138s pecan/tests/test_scaffolds.py::TestScaffoldUtils::test_destination_directory_levels_deep PASSED [ 93%] 138s pecan/tests/test_secure.py::TestSecure::test_secure_attribute PASSED [ 93%] 138s pecan/tests/test_secure.py::TestSecure::test_secure_obj_only_failure PASSED [ 93%] 138s pecan/tests/test_secure.py::TestSecure::test_secured_generic_controller PASSED [ 93%] 138s pecan/tests/test_secure.py::TestSecure::test_secured_generic_controller_lambda PASSED [ 94%] 138s pecan/tests/test_secure.py::TestSecure::test_secured_generic_controller_secure_attribute PASSED [ 94%] 138s pecan/tests/test_secure.py::TestSecure::test_secured_generic_controller_secure_attribute_with_unlocked PASSED [ 94%] 138s pecan/tests/test_secure.py::TestSecure::test_simple_secure PASSED [ 94%] 138s pecan/tests/test_secure.py::TestSecure::test_state_attribute PASSED [ 94%] 138s pecan/tests/test_secure.py::TestSecure::test_unlocked_attribute PASSED [ 95%] 138s pecan/tests/test_secure.py::TestObjectPathSecurity::test_cyclical_protection PASSED [ 95%] 138s pecan/tests/test_secure.py::TestObjectPathSecurity::test_independent_check_failure PASSED [ 95%] 138s pecan/tests/test_secure.py::TestObjectPathSecurity::test_independent_check_success PASSED [ 95%] 138s pecan/tests/test_secure.py::TestObjectPathSecurity::test_layered_protection PASSED [ 95%] 138s pecan/tests/test_secure.py::TestObjectPathSecurity::test_lookup_to_wrapped_attribute_on_self PASSED [ 95%] 138s pecan/tests/test_secure.py::TestObjectPathSecurity::test_mixed_protection PASSED [ 96%] 138s pecan/tests/test_secure.py::TestObjectPathSecurity::test_protected_lookup PASSED [ 96%] 138s pecan/tests/test_secure.py::TestObjectPathSecurity::test_secret_through_lookup PASSED [ 96%] 138s pecan/tests/test_secure.py::TestObjectPathSecurity::test_secured_notfound_lookup PASSED [ 96%] 138s pecan/tests/test_secure.py::TestObjectPathSecurity::test_sub_of_both_not_secret PASSED [ 96%] 138s pecan/tests/test_secure.py::TestObjectPathSecurity::test_unlocked_attribute_in_insecure PASSED [ 97%] 138s pecan/tests/test_secure.py::TestObjectPathSecurity::test_unlocked_lookup PASSED [ 97%] 138s pecan/tests/test_secure.py::TestObjectPathSecurity::test_wrapped_attribute_failure PASSED [ 97%] 138s pecan/tests/test_secure.py::TestObjectPathSecurity::test_wrapped_attribute_success PASSED [ 97%] 138s pecan/tests/test_secure.py::SecureControllerSharedPermissionsRegression::test_inherited_security PASSED [ 97%] 138s pecan/tests/test_templating.py::TestTemplate::test_available PASSED [ 97%] 138s pecan/tests/test_templating.py::TestTemplate::test_create_bad PASSED [ 98%] 138s pecan/tests/test_templating.py::TestTemplate::test_extra_vars PASSED [ 98%] 138s pecan/tests/test_templating.py::TestTemplate::test_update_extra_vars PASSED [ 98%] 138s pecan/tests/test_templating.py::TestTemplateLineFormat::test_format_line_context PASSED [ 98%] 138s pecan/tests/test_util.py::TestArgSpec::test_class_based_decorator PASSED [ 98%] 138s pecan/tests/test_util.py::TestArgSpec::test_decorator_with_args PASSED [ 99%] 138s pecan/tests/test_util.py::TestArgSpec::test_multiple_decorators PASSED [ 99%] 138s pecan/tests/test_util.py::TestArgSpec::test_nested_cells PASSED [ 99%] 138s pecan/tests/test_util.py::TestArgSpec::test_no_decorator PASSED [ 99%] 138s pecan/tests/test_util.py::TestArgSpec::test_simple_decorator PASSED [ 99%] 138s pecan/tests/test_util.py::TestArgSpec::test_simple_wrapper PASSED [100%] 138s 138s =============================== warnings summary =============================== 138s ../../../../usr/lib/python3/dist-packages/webob/compat.py:5 138s /usr/lib/python3/dist-packages/webob/compat.py:5: DeprecationWarning: 'cgi' is deprecated and slated for removal in Python 3.13 138s from cgi import parse_header 138s 138s ../../../../usr/lib/python3/dist-packages/kajiki/loader.py:3 138s /usr/lib/python3/dist-packages/kajiki/loader.py:3: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html 138s import pkg_resources 138s 138s pecan/tests/middleware/test_static.py::TestStaticFileMiddleware::test_file_can_be_closed 138s pecan/tests/middleware/test_static.py::TestStaticFileMiddleware::test_file_can_be_found 138s pecan/tests/middleware/test_static.py::TestStaticFileMiddleware::test_file_can_be_iterated_over 138s pecan/tests/middleware/test_static.py::TestStaticFileMiddleware::test_mime_type_works_for_png_files 138s pecan/tests/middleware/test_static.py::TestStaticFileMiddleware::test_separator_sanitization_still_finds_file 138s /tmp/autopkgtest.pf9SnE/build.pik/src/pecan/middleware/static.py:118: DeprecationWarning: datetime.datetime.utcfromtimestamp() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.fromtimestamp(timestamp, datetime.UTC). 138s datetime.utcfromtimestamp(os.path.getmtime(filename)), 138s 138s pecan/tests/test_conf.py::TestConf::test_config_from_file 138s pecan/tests/test_conf.py::TestConf::test_config_illegal_ids 138s pecan/tests/test_conf.py::TestConf::test_config_with_bad_import 138s pecan/tests/test_conf.py::TestConf::test_update_force_dict 138s pecan/tests/test_conf.py::TestConf::test_update_set_config 138s pecan/tests/test_conf.py::TestConf::test_update_set_default_config 138s pecan/tests/test_conf.py::TestGlobalConfig::test_overwrite_from_file 138s pecan/tests/test_conf.py::TestGlobalConfig::test_paint_from_file 138s :530: DeprecationWarning: the load_module() method is deprecated and slated for removal in Python 3.12; use exec_module() instead 138s 138s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 138s ================ 540 passed, 3 deselected, 15 warnings in 2.57s ================ 139s autopkgtest [17:15:29]: test unittests: -----------------------] 139s autopkgtest [17:15:29]: test unittests: - - - - - - - - - - results - - - - - - - - - - 139s unittests PASS 140s autopkgtest [17:15:30]: test autodep8-python3: preparing testbed 223s autopkgtest [17:16:53]: testbed dpkg architecture: s390x 223s autopkgtest [17:16:53]: testbed apt version: 2.9.18 223s autopkgtest [17:16:53]: @@@@@@@@@@@@@@@@@@@@ test bed setup 223s autopkgtest [17:16:53]: testbed release detected to be: plucky 224s autopkgtest [17:16:54]: updating testbed package index (apt update) 224s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [73.9 kB] 225s Hit:2 http://ftpmaster.internal/ubuntu plucky InRelease 225s Hit:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease 225s Hit:4 http://ftpmaster.internal/ubuntu plucky-security InRelease 225s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [11.5 kB] 225s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/restricted Sources [9708 B] 225s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [620 kB] 225s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [56.0 kB] 225s Get:9 http://ftpmaster.internal/ubuntu plucky-proposed/main s390x Packages [57.3 kB] 225s Get:10 http://ftpmaster.internal/ubuntu plucky-proposed/restricted s390x Packages [756 B] 225s Get:11 http://ftpmaster.internal/ubuntu plucky-proposed/universe s390x Packages [469 kB] 225s Get:12 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse s390x Packages [4260 B] 225s Fetched 1303 kB in 1s (1500 kB/s) 226s Reading package lists... 226s Reading package lists... 226s Building dependency tree... 226s Reading state information... 227s Calculating upgrade... 227s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 227s Reading package lists... 227s Building dependency tree... 227s Reading state information... 227s 0 upgraded, 0 newly installed, 0 to remove and 3 not upgraded. 227s autopkgtest [17:16:57]: upgrading testbed (apt dist-upgrade and autopurge) 227s Reading package lists... 227s Building dependency tree... 227s Reading state information... 227s Calculating upgrade...Starting pkgProblemResolver with broken count: 0 227s Starting 2 pkgProblemResolver with broken count: 0 227s Done 227s Entering ResolveByKeep 228s 228s The following packages will be upgraded: 228s libpython3-stdlib python3 python3-minimal 228s 3 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 228s Need to get 61.5 kB of archives. 228s After this operation, 0 B of additional disk space will be used. 228s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed/main s390x python3-minimal s390x 3.12.8-1 [27.5 kB] 228s Get:2 http://ftpmaster.internal/ubuntu plucky-proposed/main s390x python3 s390x 3.12.8-1 [23.9 kB] 228s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/main s390x libpython3-stdlib s390x 3.12.8-1 [10.1 kB] 228s Fetched 61.5 kB in 0s (233 kB/s) 228s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 55491 files and directories currently installed.) 228s Preparing to unpack .../python3-minimal_3.12.8-1_s390x.deb ... 228s Unpacking python3-minimal (3.12.8-1) over (3.12.7-1) ... 228s Setting up python3-minimal (3.12.8-1) ... 228s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 55491 files and directories currently installed.) 228s Preparing to unpack .../python3_3.12.8-1_s390x.deb ... 228s Unpacking python3 (3.12.8-1) over (3.12.7-1) ... 228s Preparing to unpack .../libpython3-stdlib_3.12.8-1_s390x.deb ... 228s Unpacking libpython3-stdlib:s390x (3.12.8-1) over (3.12.7-1) ... 228s Setting up libpython3-stdlib:s390x (3.12.8-1) ... 228s Setting up python3 (3.12.8-1) ... 229s Processing triggers for man-db (2.13.0-1) ... 229s Reading package lists... 229s Building dependency tree... 229s Reading state information... 230s Starting pkgProblemResolver with broken count: 0 230s Starting 2 pkgProblemResolver with broken count: 0 230s Done 230s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 232s Reading package lists... 232s Building dependency tree... 232s Reading state information... 232s Starting pkgProblemResolver with broken count: 0 232s Starting 2 pkgProblemResolver with broken count: 0 232s Done 233s The following NEW packages will be installed: 233s libpython3.13-minimal libpython3.13-stdlib python3-all python3-logutils 233s python3-mako python3-pecan python3-simplegeneric python3-webob python3.13 233s python3.13-minimal 233s 0 upgraded, 10 newly installed, 0 to remove and 0 not upgraded. 233s Need to get 6313 kB of archives. 233s After this operation, 24.4 MB of additional disk space will be used. 233s Get:1 http://ftpmaster.internal/ubuntu plucky/main s390x libpython3.13-minimal s390x 3.13.1-2 [880 kB] 233s Get:2 http://ftpmaster.internal/ubuntu plucky/main s390x python3.13-minimal s390x 3.13.1-2 [2364 kB] 233s Get:3 http://ftpmaster.internal/ubuntu plucky/main s390x libpython3.13-stdlib s390x 3.13.1-2 [2074 kB] 233s Get:4 http://ftpmaster.internal/ubuntu plucky/main s390x python3.13 s390x 3.13.1-2 [729 kB] 233s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/main s390x python3-all s390x 3.12.8-1 [894 B] 233s Get:6 http://ftpmaster.internal/ubuntu plucky/main s390x python3-logutils all 0.3.5-4 [17.7 kB] 233s Get:7 http://ftpmaster.internal/ubuntu plucky/main s390x python3-mako all 1.3.6-1 [63.5 kB] 233s Get:8 http://ftpmaster.internal/ubuntu plucky/main s390x python3-simplegeneric all 0.8.1-5 [10.7 kB] 233s Get:9 http://ftpmaster.internal/ubuntu plucky/main s390x python3-webob all 1:1.8.7-1ubuntu1 [86.4 kB] 233s Get:10 http://ftpmaster.internal/ubuntu plucky/main s390x python3-pecan all 1.5.1-6 [86.8 kB] 234s Fetched 6313 kB in 1s (7905 kB/s) 234s Selecting previously unselected package libpython3.13-minimal:s390x. 234s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 55491 files and directories currently installed.) 234s Preparing to unpack .../0-libpython3.13-minimal_3.13.1-2_s390x.deb ... 234s Unpacking libpython3.13-minimal:s390x (3.13.1-2) ... 234s Selecting previously unselected package python3.13-minimal. 234s Preparing to unpack .../1-python3.13-minimal_3.13.1-2_s390x.deb ... 234s Unpacking python3.13-minimal (3.13.1-2) ... 234s Selecting previously unselected package libpython3.13-stdlib:s390x. 234s Preparing to unpack .../2-libpython3.13-stdlib_3.13.1-2_s390x.deb ... 234s Unpacking libpython3.13-stdlib:s390x (3.13.1-2) ... 234s Selecting previously unselected package python3.13. 234s Preparing to unpack .../3-python3.13_3.13.1-2_s390x.deb ... 234s Unpacking python3.13 (3.13.1-2) ... 234s Selecting previously unselected package python3-all. 234s Preparing to unpack .../4-python3-all_3.12.8-1_s390x.deb ... 234s Unpacking python3-all (3.12.8-1) ... 234s Selecting previously unselected package python3-logutils. 234s Preparing to unpack .../5-python3-logutils_0.3.5-4_all.deb ... 234s Unpacking python3-logutils (0.3.5-4) ... 234s Selecting previously unselected package python3-mako. 234s Preparing to unpack .../6-python3-mako_1.3.6-1_all.deb ... 234s Unpacking python3-mako (1.3.6-1) ... 234s Selecting previously unselected package python3-simplegeneric. 234s Preparing to unpack .../7-python3-simplegeneric_0.8.1-5_all.deb ... 234s Unpacking python3-simplegeneric (0.8.1-5) ... 234s Selecting previously unselected package python3-webob. 234s Preparing to unpack .../8-python3-webob_1%3a1.8.7-1ubuntu1_all.deb ... 234s Unpacking python3-webob (1:1.8.7-1ubuntu1) ... 234s Selecting previously unselected package python3-pecan. 234s Preparing to unpack .../9-python3-pecan_1.5.1-6_all.deb ... 234s Unpacking python3-pecan (1.5.1-6) ... 234s Setting up libpython3.13-minimal:s390x (3.13.1-2) ... 234s Setting up python3.13-minimal (3.13.1-2) ... 234s Setting up python3-logutils (0.3.5-4) ... 235s Setting up python3-simplegeneric (0.8.1-5) ... 235s Setting up libpython3.13-stdlib:s390x (3.13.1-2) ... 235s Setting up python3-mako (1.3.6-1) ... 235s Setting up python3-webob (1:1.8.7-1ubuntu1) ... 235s Setting up python3-pecan (1.5.1-6) ... 235s Setting up python3.13 (3.13.1-2) ... 236s Setting up python3-all (3.12.8-1) ... 236s Processing triggers for man-db (2.13.0-1) ... 236s Processing triggers for systemd (257-2ubuntu1) ... 238s autopkgtest [17:17:08]: test autodep8-python3: set -e ; for py in $(py3versions -r 2>/dev/null) ; do cd "$AUTOPKGTEST_TMP" ; echo "Testing with $py:" ; $py -c "import pecan; print(pecan)" ; done 238s autopkgtest [17:17:08]: test autodep8-python3: [----------------------- 239s Testing with python3.13: 239s Traceback (most recent call last): 239s File "", line 1, in 239s import pecan; print(pecan) 239s ^^^^^^^^^^^^ 239s File "/usr/lib/python3/dist-packages/pecan/__init__.py", line 1, in 239s from .core import ( 239s ...<2 lines>... 239s ) 239s File "/usr/lib/python3/dist-packages/pecan/core.py", line 10, in 239s from webob import (Request as WebObRequest, Response as WebObResponse, exc, 239s acceptparse) 239s File "/usr/lib/python3/dist-packages/webob/__init__.py", line 1, in 239s from webob.datetime_utils import ( # noqa: F401 239s ...<13 lines>... 239s ) 239s File "/usr/lib/python3/dist-packages/webob/datetime_utils.py", line 18, in 239s from webob.compat import ( 239s ...<4 lines>... 239s ) 239s File "/usr/lib/python3/dist-packages/webob/compat.py", line 5, in 239s from cgi import parse_header 239s ModuleNotFoundError: No module named 'cgi' 239s autopkgtest [17:17:09]: test autodep8-python3: -----------------------] 239s autopkgtest [17:17:09]: test autodep8-python3: - - - - - - - - - - results - - - - - - - - - - 239s autodep8-python3 FAIL non-zero exit status 1 240s autopkgtest [17:17:10]: @@@@@@@@@@@@@@@@@@@@ summary 240s unittests PASS 240s autodep8-python3 FAIL non-zero exit status 1 246s nova [W] Using flock in prodstack6-s390x 246s flock: timeout while waiting to get lock 246s Creating nova instance adt-plucky-s390x-python-pecan-20241227-171310-juju-7f2275-prod-proposed-migration-environment-2-94c42252-010a-42b3-a2bb-40e5f7c621ee from image adt/ubuntu-plucky-s390x-server-20241227.img (UUID d15d5a0a-5e13-427a-80a7-01b67a54bf40)... 246s nova [W] Timed out waiting for b6dd87a4-6333-4977-be62-5347cefdb1ac to get deleted. 246s nova [W] Using flock in prodstack6-s390x 246s Creating nova instance adt-plucky-s390x-python-pecan-20241227-171310-juju-7f2275-prod-proposed-migration-environment-2-94c42252-010a-42b3-a2bb-40e5f7c621ee from image adt/ubuntu-plucky-s390x-server-20241227.img (UUID d15d5a0a-5e13-427a-80a7-01b67a54bf40)... 246s nova [W] Timed out waiting for 5a9f62cb-9114-43bd-b3bb-cd00ec0edcc7 to get deleted.