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