0s autopkgtest [23:58:39]: starting date and time: 2025-12-05 23:58:39+0000 0s autopkgtest [23:58:39]: git checkout: 4b346b80 nova: make wait_reboot return success even when a no-op 0s autopkgtest [23:58:39]: host juju-7f2275-prod-proposed-migration-environment-20; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.kd_42xad/out --timeout-copy=6000 --setup-commands /home/ubuntu/autopkgtest-cloud/worker-config-production/setup-canonical.sh --apt-pocket=proposed=src:python3-defaults --apt-upgrade python-pecan --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 --env=ADT_TEST_TRIGGERS=python3-defaults/3.13.9-2 -- ssh -s /home/ubuntu/autopkgtest/ssh-setup/nova -- --flavor autopkgtest-cpu2-ram4-disk20-arm64 --security-groups autopkgtest-juju-7f2275-prod-proposed-migration-environment-20@sto01-arm64-18.secgroup --name adt-resolute-arm64-python-pecan-20251205-235839-juju-7f2275-prod-proposed-migration-environment-20-c15bc4cb-4373-4dc9-badf-7388ead91016 --image adt/ubuntu-resolute-arm64-server --keyname testbed-juju-7f2275-prod-proposed-migration-environment-20 --net-id=net_prod-autopkgtest-workers-arm64 -e TERM=linux --mirror=http://ftpmaster.internal/ubuntu/ 3s Creating nova instance adt-resolute-arm64-python-pecan-20251205-235839-juju-7f2275-prod-proposed-migration-environment-20-c15bc4cb-4373-4dc9-badf-7388ead91016 from image adt/ubuntu-resolute-arm64-server-20251205.img (UUID 37bdf92c-2d31-48d2-a8f3-3e7306fd9ba8)... 50s autopkgtest [23:59:29]: testbed dpkg architecture: arm64 50s autopkgtest [23:59:29]: testbed apt version: 3.1.12 50s autopkgtest [23:59:29]: @@@@@@@@@@@@@@@@@@@@ test bed setup 50s autopkgtest [23:59:29]: testbed release detected to be: None 51s autopkgtest [23:59:30]: updating testbed package index (apt update) 51s Get:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease [124 kB] 51s Hit:2 http://ftpmaster.internal/ubuntu resolute InRelease 51s Hit:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease 51s Hit:4 http://ftpmaster.internal/ubuntu resolute-security InRelease 51s Get:5 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse Sources [23.4 kB] 51s Get:6 http://ftpmaster.internal/ubuntu resolute-proposed/universe Sources [847 kB] 51s Get:7 http://ftpmaster.internal/ubuntu resolute-proposed/main Sources [143 kB] 51s Get:8 http://ftpmaster.internal/ubuntu resolute-proposed/main arm64 Packages [222 kB] 52s Get:9 http://ftpmaster.internal/ubuntu resolute-proposed/main arm64 c-n-f Metadata [7468 B] 52s Get:10 http://ftpmaster.internal/ubuntu resolute-proposed/restricted arm64 c-n-f Metadata [120 B] 52s Get:11 http://ftpmaster.internal/ubuntu resolute-proposed/universe arm64 Packages [704 kB] 52s Get:12 http://ftpmaster.internal/ubuntu resolute-proposed/universe arm64 c-n-f Metadata [19.6 kB] 52s Get:13 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse arm64 Packages [8180 B] 52s Get:14 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse arm64 c-n-f Metadata [588 B] 54s Fetched 2100 kB in 1s (4097 kB/s) 55s Reading package lists... 56s Hit:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease 56s Hit:2 http://ftpmaster.internal/ubuntu resolute InRelease 56s Hit:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease 56s Hit:4 http://ftpmaster.internal/ubuntu resolute-security InRelease 56s Reading package lists... 56s Reading package lists... 57s Building dependency tree... 57s Reading state information... 57s Calculating upgrade... 57s The following packages will be upgraded: 57s libnftnl11 libpython3-stdlib lxd-installer python3 python3-attr python3-gdbm 57s python3-minimal 57s 7 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 57s Need to get 203 kB of archives. 57s After this operation, 16.4 kB of additional disk space will be used. 57s Get:1 http://ftpmaster.internal/ubuntu resolute-proposed/main arm64 python3-minimal arm64 3.13.9-2 [28.1 kB] 57s Get:2 http://ftpmaster.internal/ubuntu resolute-proposed/main arm64 python3 arm64 3.13.9-2 [23.0 kB] 57s Get:3 http://ftpmaster.internal/ubuntu resolute-proposed/main arm64 libpython3-stdlib arm64 3.13.9-2 [10.8 kB] 57s Get:4 http://ftpmaster.internal/ubuntu resolute/main arm64 libnftnl11 arm64 1.3.1-1 [70.7 kB] 57s Get:5 http://ftpmaster.internal/ubuntu resolute-proposed/main arm64 python3-gdbm arm64 3.13.9-2 [11.0 kB] 57s Get:6 http://ftpmaster.internal/ubuntu resolute/main arm64 lxd-installer all 14ubuntu0 [5428 B] 57s Get:7 http://ftpmaster.internal/ubuntu resolute/main arm64 python3-attr all 25.4.0-1 [53.6 kB] 58s dpkg-preconfigure: unable to re-open stdin: No such file or directory 58s Fetched 203 kB in 0s (6355 kB/s) 58s (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 ... 88300 files and directories currently installed.) 58s Preparing to unpack .../python3-minimal_3.13.9-2_arm64.deb ... 58s Unpacking python3-minimal (3.13.9-2) over (3.13.7-1) ... 58s Setting up python3-minimal (3.13.9-2) ... 58s (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 ... 88300 files and directories currently installed.) 58s Preparing to unpack .../0-python3_3.13.9-2_arm64.deb ... 58s running python pre-rtupdate hooks for python3.13... 58s Unpacking python3 (3.13.9-2) over (3.13.7-1) ... 58s Preparing to unpack .../1-libpython3-stdlib_3.13.9-2_arm64.deb ... 58s Unpacking libpython3-stdlib:arm64 (3.13.9-2) over (3.13.7-1) ... 58s Preparing to unpack .../2-libnftnl11_1.3.1-1_arm64.deb ... 58s Unpacking libnftnl11:arm64 (1.3.1-1) over (1.3.0-1) ... 58s Preparing to unpack .../3-python3-gdbm_3.13.9-2_arm64.deb ... 58s Unpacking python3-gdbm (3.13.9-2) over (3.13.9-1) ... 58s Preparing to unpack .../4-lxd-installer_14ubuntu0_all.deb ... 58s Unpacking lxd-installer (14ubuntu0) over (13ubuntu0) ... 58s Preparing to unpack .../5-python3-attr_25.4.0-1_all.deb ... 59s Unpacking python3-attr (25.4.0-1) over (25.3.0-1) ... 59s Setting up python3-gdbm (3.13.9-2) ... 59s Setting up libnftnl11:arm64 (1.3.1-1) ... 59s Setting up lxd-installer (14ubuntu0) ... 59s Setting up libpython3-stdlib:arm64 (3.13.9-2) ... 59s Setting up python3 (3.13.9-2) ... 59s running python rtupdate hooks for python3.13... 59s running python post-rtupdate hooks for python3.13... 59s Setting up python3-attr (25.4.0-1) ... 59s Processing triggers for man-db (2.13.1-1) ... 60s Processing triggers for libc-bin (2.42-2ubuntu2) ... 60s autopkgtest [23:59:39]: upgrading testbed (apt dist-upgrade and autopurge) 60s Reading package lists... 60s Building dependency tree... 60s Reading state information... 61s Calculating upgrade... 61s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 61s Reading package lists... 61s Building dependency tree... 61s Reading state information... 61s Solving dependencies... 62s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 62s autopkgtest [23:59:41]: rebooting testbed after setup commands that affected boot 95s autopkgtest [00:00:14]: testbed running kernel: Linux 6.17.0-6-generic #6-Ubuntu SMP PREEMPT_DYNAMIC Tue Oct 7 14:22:06 UTC 2025 97s autopkgtest [00:00:16]: @@@@@@@@@@@@@@@@@@@@ apt-source python-pecan 99s Get:1 http://ftpmaster.internal/ubuntu resolute/main python-pecan 1.5.1-6 (dsc) [2445 B] 99s Get:2 http://ftpmaster.internal/ubuntu resolute/main python-pecan 1.5.1-6 (tar) [139 kB] 99s Get:3 http://ftpmaster.internal/ubuntu resolute/main python-pecan 1.5.1-6 (diff) [6360 B] 99s gpgv: Signature made Mon Oct 14 10:13:06 2024 UTC 99s gpgv: using RSA key A0B1A9F3508956130E7A425CD416AD15AC6B43FE 99s gpgv: Can't check signature: No public key 99s dpkg-source: warning: cannot verify inline signature for ./python-pecan_1.5.1-6.dsc: no acceptable signature found 99s autopkgtest [00:00:18]: testing package python-pecan version 1.5.1-6 99s autopkgtest [00:00:18]: build not needed 100s autopkgtest [00:00:19]: test unittests: preparing testbed 100s Reading package lists... 100s Building dependency tree... 100s Reading state information... 100s Solving dependencies... 101s The following NEW packages will be installed: 101s autoconf automake autopoint autotools-dev build-essential cpp cpp-15 101s cpp-15-aarch64-linux-gnu cpp-aarch64-linux-gnu debhelper debugedit 101s dh-autoreconf dh-python dh-strip-nondeterminism docutils-common dwz g++ 101s g++-15 g++-15-aarch64-linux-gnu g++-aarch64-linux-gnu gcc gcc-15 101s gcc-15-aarch64-linux-gnu gcc-aarch64-linux-gnu gettext gunicorn 101s intltool-debian libarchive-zip-perl libasan8 libcc1-0 libdebhelper-perl 101s libfile-stripnondeterminism-perl libgcc-15-dev libgomp1 libhwasan0 libisl23 101s libitm1 libjs-jquery libjs-sphinxdoc libjs-underscore libjson-perl liblsan0 101s libmpc3 libpython3.14-minimal libpython3.14-stdlib libstdc++-15-dev libtool 101s libtsan2 libubsan1 m4 openstack-pkg-tools po-debconf python-pecan-doc 101s python3-alabaster python3-all python3-bs4 python3-defusedxml python3-distlib 101s python3-docutils python3-filelock python3-genshi python3-greenlet 101s python3-gunicorn python3-imagesize python3-iniconfig python3-kajiki 101s python3-legacy-cgi python3-linetable python3-logutils python3-mako 101s python3-pecan python3-pip python3-pip-whl python3-platformdirs 101s python3-pluggy python3-pytest python3-roman python3-roman-numerals 101s python3-setuptools-whl python3-simplegeneric python3-snowballstemmer 101s python3-soupsieve python3-sphinx python3-sqlalchemy python3-virtualenv 101s python3-waitress python3-webob python3-webtest python3-wheel python3.14 101s python3.14-minimal sgml-base sphinx-common xml-core 101s 0 upgraded, 94 newly installed, 0 to remove and 0 not upgraded. 101s Need to get 85.2 MB of archives. 101s After this operation, 308 MB of additional disk space will be used. 101s Get:1 http://ftpmaster.internal/ubuntu resolute/main arm64 libpython3.14-minimal arm64 3.14.0-4 [903 kB] 101s Get:2 http://ftpmaster.internal/ubuntu resolute/main arm64 python3.14-minimal arm64 3.14.0-4 [2543 kB] 101s Get:3 http://ftpmaster.internal/ubuntu resolute/main arm64 m4 arm64 1.4.20-2 [213 kB] 101s Get:4 http://ftpmaster.internal/ubuntu resolute/main arm64 autoconf all 2.72-3.1ubuntu1 [384 kB] 101s Get:5 http://ftpmaster.internal/ubuntu resolute/main arm64 autotools-dev all 20240727.1 [43.4 kB] 101s Get:6 http://ftpmaster.internal/ubuntu resolute/main arm64 automake all 1:1.18.1-3 [582 kB] 101s Get:7 http://ftpmaster.internal/ubuntu resolute/main arm64 autopoint all 0.23.2-1 [620 kB] 101s Get:8 http://ftpmaster.internal/ubuntu resolute/main arm64 libisl23 arm64 0.27-1 [676 kB] 101s Get:9 http://ftpmaster.internal/ubuntu resolute/main arm64 libmpc3 arm64 1.3.1-2 [55.6 kB] 101s Get:10 http://ftpmaster.internal/ubuntu resolute/main arm64 cpp-15-aarch64-linux-gnu arm64 15.2.0-9ubuntu1 [11.7 MB] 102s Get:11 http://ftpmaster.internal/ubuntu resolute/main arm64 cpp-15 arm64 15.2.0-9ubuntu1 [1030 B] 102s Get:12 http://ftpmaster.internal/ubuntu resolute/main arm64 cpp-aarch64-linux-gnu arm64 4:15.2.0-4ubuntu1 [5736 B] 102s Get:13 http://ftpmaster.internal/ubuntu resolute/main arm64 cpp arm64 4:15.2.0-4ubuntu1 [22.4 kB] 102s Get:14 http://ftpmaster.internal/ubuntu resolute/main arm64 libcc1-0 arm64 15.2.0-9ubuntu1 [49.0 kB] 102s Get:15 http://ftpmaster.internal/ubuntu resolute/main arm64 libgomp1 arm64 15.2.0-9ubuntu1 [147 kB] 102s Get:16 http://ftpmaster.internal/ubuntu resolute/main arm64 libitm1 arm64 15.2.0-9ubuntu1 [28.0 kB] 102s Get:17 http://ftpmaster.internal/ubuntu resolute/main arm64 libasan8 arm64 15.2.0-9ubuntu1 [2922 kB] 102s Get:18 http://ftpmaster.internal/ubuntu resolute/main arm64 liblsan0 arm64 15.2.0-9ubuntu1 [1316 kB] 102s Get:19 http://ftpmaster.internal/ubuntu resolute/main arm64 libtsan2 arm64 15.2.0-9ubuntu1 [2689 kB] 102s Get:20 http://ftpmaster.internal/ubuntu resolute/main arm64 libubsan1 arm64 15.2.0-9ubuntu1 [1175 kB] 102s Get:21 http://ftpmaster.internal/ubuntu resolute/main arm64 libhwasan0 arm64 15.2.0-9ubuntu1 [1638 kB] 102s Get:22 http://ftpmaster.internal/ubuntu resolute/main arm64 libgcc-15-dev arm64 15.2.0-9ubuntu1 [2601 kB] 102s Get:23 http://ftpmaster.internal/ubuntu resolute/main arm64 gcc-15-aarch64-linux-gnu arm64 15.2.0-9ubuntu1 [23.1 MB] 103s Get:24 http://ftpmaster.internal/ubuntu resolute/main arm64 gcc-15 arm64 15.2.0-9ubuntu1 [516 kB] 103s Get:25 http://ftpmaster.internal/ubuntu resolute/main arm64 gcc-aarch64-linux-gnu arm64 4:15.2.0-4ubuntu1 [1206 B] 103s Get:26 http://ftpmaster.internal/ubuntu resolute/main arm64 gcc arm64 4:15.2.0-4ubuntu1 [5016 B] 103s Get:27 http://ftpmaster.internal/ubuntu resolute/main arm64 libstdc++-15-dev arm64 15.2.0-9ubuntu1 [2547 kB] 103s Get:28 http://ftpmaster.internal/ubuntu resolute/main arm64 g++-15-aarch64-linux-gnu arm64 15.2.0-9ubuntu1 [13.2 MB] 103s Get:29 http://ftpmaster.internal/ubuntu resolute/main arm64 g++-15 arm64 15.2.0-9ubuntu1 [24.3 kB] 103s Get:30 http://ftpmaster.internal/ubuntu resolute/main arm64 g++-aarch64-linux-gnu arm64 4:15.2.0-4ubuntu1 [956 B] 103s Get:31 http://ftpmaster.internal/ubuntu resolute/main arm64 g++ arm64 4:15.2.0-4ubuntu1 [1080 B] 103s Get:32 http://ftpmaster.internal/ubuntu resolute/main arm64 build-essential arm64 12.12ubuntu2 [5254 B] 103s Get:33 http://ftpmaster.internal/ubuntu resolute/main arm64 libdebhelper-perl all 13.24.2ubuntu1 [95.7 kB] 103s Get:34 http://ftpmaster.internal/ubuntu resolute/main arm64 libtool all 2.5.4-7 [169 kB] 103s Get:35 http://ftpmaster.internal/ubuntu resolute/main arm64 dh-autoreconf all 21 [12.5 kB] 103s Get:36 http://ftpmaster.internal/ubuntu resolute/main arm64 libarchive-zip-perl all 1.68-1 [90.2 kB] 103s Get:37 http://ftpmaster.internal/ubuntu resolute/main arm64 libfile-stripnondeterminism-perl all 1.15.0-1 [20.5 kB] 103s Get:38 http://ftpmaster.internal/ubuntu resolute/main arm64 dh-strip-nondeterminism all 1.15.0-1 [5090 B] 103s Get:39 http://ftpmaster.internal/ubuntu resolute/main arm64 debugedit arm64 1:5.2-3 [49.1 kB] 103s Get:40 http://ftpmaster.internal/ubuntu resolute/main arm64 dwz arm64 0.16-2 [113 kB] 103s Get:41 http://ftpmaster.internal/ubuntu resolute/main arm64 gettext arm64 0.23.2-1 [998 kB] 103s Get:42 http://ftpmaster.internal/ubuntu resolute/main arm64 intltool-debian all 0.35.0+20060710.6build1 [24.1 kB] 103s Get:43 http://ftpmaster.internal/ubuntu resolute/main arm64 po-debconf all 1.0.21+nmu1 [233 kB] 103s Get:44 http://ftpmaster.internal/ubuntu resolute/main arm64 debhelper all 13.24.2ubuntu1 [896 kB] 103s Get:45 http://ftpmaster.internal/ubuntu resolute/universe arm64 dh-python all 6.20251029 [120 kB] 103s Get:46 http://ftpmaster.internal/ubuntu resolute/main arm64 sgml-base all 1.31+nmu1 [11.0 kB] 103s Get:47 http://ftpmaster.internal/ubuntu resolute/main arm64 xml-core all 0.19 [20.3 kB] 103s Get:48 http://ftpmaster.internal/ubuntu resolute/main arm64 docutils-common all 0.22.3+dfsg-1 [130 kB] 103s Get:49 http://ftpmaster.internal/ubuntu resolute/universe arm64 python3-gunicorn all 23.0.0-1 [63.8 kB] 103s Get:50 http://ftpmaster.internal/ubuntu resolute/universe arm64 gunicorn all 23.0.0-1 [9516 B] 103s Get:51 http://ftpmaster.internal/ubuntu resolute/main arm64 libjs-jquery all 3.7.1+dfsg+~3.5.33-1build1 [321 kB] 103s Get:52 http://ftpmaster.internal/ubuntu resolute/main arm64 libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [118 kB] 103s Get:53 http://ftpmaster.internal/ubuntu resolute/main arm64 libjs-sphinxdoc all 8.2.3-1ubuntu2 [28.0 kB] 103s Get:54 http://ftpmaster.internal/ubuntu resolute/main arm64 libjson-perl all 4.10000-1 [81.9 kB] 103s Get:55 http://ftpmaster.internal/ubuntu resolute/main arm64 libpython3.14-stdlib arm64 3.14.0-4 [2349 kB] 104s Get:56 http://ftpmaster.internal/ubuntu resolute/main arm64 python-pecan-doc all 1.5.1-6 [123 kB] 104s Get:57 http://ftpmaster.internal/ubuntu resolute/main arm64 python3.14 arm64 3.14.0-4 [805 kB] 104s Get:58 http://ftpmaster.internal/ubuntu resolute-proposed/main arm64 python3-all arm64 3.13.9-2 [892 B] 104s Get:59 http://ftpmaster.internal/ubuntu resolute/main arm64 python3-soupsieve all 2.7-2 [33.6 kB] 104s Get:60 http://ftpmaster.internal/ubuntu resolute/main arm64 python3-bs4 all 4.14.2-1 [82.8 kB] 104s Get:61 http://ftpmaster.internal/ubuntu resolute/main arm64 python3-defusedxml all 0.7.1-3 [42.2 kB] 104s Get:62 http://ftpmaster.internal/ubuntu resolute/universe arm64 python3-distlib all 0.4.0-1 [267 kB] 104s Get:63 http://ftpmaster.internal/ubuntu resolute/main arm64 python3-roman-numerals all 3.1.0-2 [8470 B] 104s Get:64 http://ftpmaster.internal/ubuntu resolute/main arm64 python3-docutils all 0.22.3+dfsg-1 [438 kB] 104s Get:65 http://ftpmaster.internal/ubuntu resolute/universe arm64 python3-filelock all 3.18.0-1 [13.0 kB] 104s Get:66 http://ftpmaster.internal/ubuntu resolute/universe arm64 python3-genshi arm64 0.7.10-1 [131 kB] 104s Get:67 http://ftpmaster.internal/ubuntu resolute/main arm64 python3-imagesize all 1.4.1-1build1 [6900 B] 104s Get:68 http://ftpmaster.internal/ubuntu resolute/universe arm64 python3-iniconfig all 2.1.0-1 [6840 B] 104s Get:69 http://ftpmaster.internal/ubuntu resolute/main arm64 python3-legacy-cgi all 2.6.4-1 [17.0 kB] 104s Get:70 http://ftpmaster.internal/ubuntu resolute/universe arm64 python3-linetable all 0.0.3-1 [5146 B] 104s Get:71 http://ftpmaster.internal/ubuntu resolute/main arm64 python3-logutils all 0.3.5-5 [17.8 kB] 104s Get:72 http://ftpmaster.internal/ubuntu resolute/main arm64 python3-mako all 1.3.10-3 [63.8 kB] 104s Get:73 http://ftpmaster.internal/ubuntu resolute/main arm64 python3-simplegeneric all 0.8.1-5build1 [11.0 kB] 104s Get:74 http://ftpmaster.internal/ubuntu resolute/main arm64 python3-webob all 1:1.8.9-1 [86.8 kB] 104s Get:75 http://ftpmaster.internal/ubuntu resolute/main arm64 python3-pecan all 1.5.1-6 [86.8 kB] 104s Get:76 http://ftpmaster.internal/ubuntu resolute/universe arm64 python3-wheel all 0.46.1-2 [22.1 kB] 104s Get:77 http://ftpmaster.internal/ubuntu resolute/universe arm64 python3-pip all 25.1.1+dfsg-1ubuntu2 [1416 kB] 104s Get:78 http://ftpmaster.internal/ubuntu resolute/universe arm64 python3-pip-whl all 25.1.1+dfsg-1ubuntu2 [1430 kB] 104s Get:79 http://ftpmaster.internal/ubuntu resolute/main arm64 python3-platformdirs all 4.4.0-1 [16.9 kB] 104s Get:80 http://ftpmaster.internal/ubuntu resolute/universe arm64 python3-pluggy all 1.6.0-1 [21.0 kB] 104s Get:81 http://ftpmaster.internal/ubuntu resolute/universe arm64 python3-pytest all 8.3.5-2 [252 kB] 104s Get:82 http://ftpmaster.internal/ubuntu resolute/main arm64 python3-roman all 5.2-1 [10.8 kB] 104s Get:83 http://ftpmaster.internal/ubuntu resolute/universe arm64 python3-setuptools-whl all 78.1.1-0.1 [1174 kB] 104s Get:84 http://ftpmaster.internal/ubuntu resolute/main arm64 python3-snowballstemmer all 3.0.1-1 [65.9 kB] 104s Get:85 http://ftpmaster.internal/ubuntu resolute/main arm64 sphinx-common all 8.2.3-1ubuntu2 [656 kB] 104s Get:86 http://ftpmaster.internal/ubuntu resolute/main arm64 python3-alabaster all 0.7.16-0.1 [18.5 kB] 104s Get:87 http://ftpmaster.internal/ubuntu resolute/main arm64 python3-sphinx all 8.2.3-1ubuntu2 [482 kB] 104s Get:88 http://ftpmaster.internal/ubuntu resolute/main arm64 python3-greenlet arm64 3.2.4-2 [178 kB] 104s Get:89 http://ftpmaster.internal/ubuntu resolute/main arm64 python3-sqlalchemy all 2.0.40+ds1-2 [1220 kB] 104s Get:90 http://ftpmaster.internal/ubuntu resolute/universe arm64 python3-virtualenv all 20.35.4+ds-1 [76.1 kB] 104s Get:91 http://ftpmaster.internal/ubuntu resolute/universe arm64 python3-waitress all 3.0.2-2 [46.3 kB] 104s Get:92 http://ftpmaster.internal/ubuntu resolute/universe arm64 python3-webtest all 3.0.7-1 [29.5 kB] 104s Get:93 http://ftpmaster.internal/ubuntu resolute/universe arm64 openstack-pkg-tools all 138 [100 kB] 104s Get:94 http://ftpmaster.internal/ubuntu resolute/universe arm64 python3-kajiki all 1.0.2-1 [32.0 kB] 105s Fetched 85.2 MB in 3s (25.1 MB/s) 105s Selecting previously unselected package libpython3.14-minimal:arm64. 105s (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 ... 88300 files and directories currently installed.) 105s Preparing to unpack .../00-libpython3.14-minimal_3.14.0-4_arm64.deb ... 105s Unpacking libpython3.14-minimal:arm64 (3.14.0-4) ... 105s Selecting previously unselected package python3.14-minimal. 105s Preparing to unpack .../01-python3.14-minimal_3.14.0-4_arm64.deb ... 105s Unpacking python3.14-minimal (3.14.0-4) ... 105s Selecting previously unselected package m4. 105s Preparing to unpack .../02-m4_1.4.20-2_arm64.deb ... 105s Unpacking m4 (1.4.20-2) ... 105s Selecting previously unselected package autoconf. 105s Preparing to unpack .../03-autoconf_2.72-3.1ubuntu1_all.deb ... 105s Unpacking autoconf (2.72-3.1ubuntu1) ... 105s Selecting previously unselected package autotools-dev. 105s Preparing to unpack .../04-autotools-dev_20240727.1_all.deb ... 105s Unpacking autotools-dev (20240727.1) ... 105s Selecting previously unselected package automake. 105s Preparing to unpack .../05-automake_1%3a1.18.1-3_all.deb ... 105s Unpacking automake (1:1.18.1-3) ... 105s Selecting previously unselected package autopoint. 105s Preparing to unpack .../06-autopoint_0.23.2-1_all.deb ... 105s Unpacking autopoint (0.23.2-1) ... 105s Selecting previously unselected package libisl23:arm64. 105s Preparing to unpack .../07-libisl23_0.27-1_arm64.deb ... 105s Unpacking libisl23:arm64 (0.27-1) ... 105s Selecting previously unselected package libmpc3:arm64. 105s Preparing to unpack .../08-libmpc3_1.3.1-2_arm64.deb ... 105s Unpacking libmpc3:arm64 (1.3.1-2) ... 105s Selecting previously unselected package cpp-15-aarch64-linux-gnu. 105s Preparing to unpack .../09-cpp-15-aarch64-linux-gnu_15.2.0-9ubuntu1_arm64.deb ... 105s Unpacking cpp-15-aarch64-linux-gnu (15.2.0-9ubuntu1) ... 105s Selecting previously unselected package cpp-15. 105s Preparing to unpack .../10-cpp-15_15.2.0-9ubuntu1_arm64.deb ... 105s Unpacking cpp-15 (15.2.0-9ubuntu1) ... 105s Selecting previously unselected package cpp-aarch64-linux-gnu. 105s Preparing to unpack .../11-cpp-aarch64-linux-gnu_4%3a15.2.0-4ubuntu1_arm64.deb ... 105s Unpacking cpp-aarch64-linux-gnu (4:15.2.0-4ubuntu1) ... 105s Selecting previously unselected package cpp. 105s Preparing to unpack .../12-cpp_4%3a15.2.0-4ubuntu1_arm64.deb ... 105s Unpacking cpp (4:15.2.0-4ubuntu1) ... 105s Selecting previously unselected package libcc1-0:arm64. 105s Preparing to unpack .../13-libcc1-0_15.2.0-9ubuntu1_arm64.deb ... 105s Unpacking libcc1-0:arm64 (15.2.0-9ubuntu1) ... 105s Selecting previously unselected package libgomp1:arm64. 105s Preparing to unpack .../14-libgomp1_15.2.0-9ubuntu1_arm64.deb ... 105s Unpacking libgomp1:arm64 (15.2.0-9ubuntu1) ... 105s Selecting previously unselected package libitm1:arm64. 105s Preparing to unpack .../15-libitm1_15.2.0-9ubuntu1_arm64.deb ... 106s Unpacking libitm1:arm64 (15.2.0-9ubuntu1) ... 106s Selecting previously unselected package libasan8:arm64. 106s Preparing to unpack .../16-libasan8_15.2.0-9ubuntu1_arm64.deb ... 106s Unpacking libasan8:arm64 (15.2.0-9ubuntu1) ... 106s Selecting previously unselected package liblsan0:arm64. 106s Preparing to unpack .../17-liblsan0_15.2.0-9ubuntu1_arm64.deb ... 106s Unpacking liblsan0:arm64 (15.2.0-9ubuntu1) ... 106s Selecting previously unselected package libtsan2:arm64. 106s Preparing to unpack .../18-libtsan2_15.2.0-9ubuntu1_arm64.deb ... 106s Unpacking libtsan2:arm64 (15.2.0-9ubuntu1) ... 106s Selecting previously unselected package libubsan1:arm64. 106s Preparing to unpack .../19-libubsan1_15.2.0-9ubuntu1_arm64.deb ... 106s Unpacking libubsan1:arm64 (15.2.0-9ubuntu1) ... 106s Selecting previously unselected package libhwasan0:arm64. 106s Preparing to unpack .../20-libhwasan0_15.2.0-9ubuntu1_arm64.deb ... 106s Unpacking libhwasan0:arm64 (15.2.0-9ubuntu1) ... 106s Selecting previously unselected package libgcc-15-dev:arm64. 106s Preparing to unpack .../21-libgcc-15-dev_15.2.0-9ubuntu1_arm64.deb ... 106s Unpacking libgcc-15-dev:arm64 (15.2.0-9ubuntu1) ... 106s Selecting previously unselected package gcc-15-aarch64-linux-gnu. 106s Preparing to unpack .../22-gcc-15-aarch64-linux-gnu_15.2.0-9ubuntu1_arm64.deb ... 106s Unpacking gcc-15-aarch64-linux-gnu (15.2.0-9ubuntu1) ... 106s Selecting previously unselected package gcc-15. 106s Preparing to unpack .../23-gcc-15_15.2.0-9ubuntu1_arm64.deb ... 106s Unpacking gcc-15 (15.2.0-9ubuntu1) ... 106s Selecting previously unselected package gcc-aarch64-linux-gnu. 106s Preparing to unpack .../24-gcc-aarch64-linux-gnu_4%3a15.2.0-4ubuntu1_arm64.deb ... 106s Unpacking gcc-aarch64-linux-gnu (4:15.2.0-4ubuntu1) ... 106s Selecting previously unselected package gcc. 106s Preparing to unpack .../25-gcc_4%3a15.2.0-4ubuntu1_arm64.deb ... 106s Unpacking gcc (4:15.2.0-4ubuntu1) ... 106s Selecting previously unselected package libstdc++-15-dev:arm64. 106s Preparing to unpack .../26-libstdc++-15-dev_15.2.0-9ubuntu1_arm64.deb ... 106s Unpacking libstdc++-15-dev:arm64 (15.2.0-9ubuntu1) ... 107s Selecting previously unselected package g++-15-aarch64-linux-gnu. 107s Preparing to unpack .../27-g++-15-aarch64-linux-gnu_15.2.0-9ubuntu1_arm64.deb ... 107s Unpacking g++-15-aarch64-linux-gnu (15.2.0-9ubuntu1) ... 107s Selecting previously unselected package g++-15. 107s Preparing to unpack .../28-g++-15_15.2.0-9ubuntu1_arm64.deb ... 107s Unpacking g++-15 (15.2.0-9ubuntu1) ... 107s Selecting previously unselected package g++-aarch64-linux-gnu. 107s Preparing to unpack .../29-g++-aarch64-linux-gnu_4%3a15.2.0-4ubuntu1_arm64.deb ... 107s Unpacking g++-aarch64-linux-gnu (4:15.2.0-4ubuntu1) ... 107s Selecting previously unselected package g++. 107s Preparing to unpack .../30-g++_4%3a15.2.0-4ubuntu1_arm64.deb ... 107s Unpacking g++ (4:15.2.0-4ubuntu1) ... 107s Selecting previously unselected package build-essential. 107s Preparing to unpack .../31-build-essential_12.12ubuntu2_arm64.deb ... 107s Unpacking build-essential (12.12ubuntu2) ... 107s Selecting previously unselected package libdebhelper-perl. 107s Preparing to unpack .../32-libdebhelper-perl_13.24.2ubuntu1_all.deb ... 107s Unpacking libdebhelper-perl (13.24.2ubuntu1) ... 107s Selecting previously unselected package libtool. 107s Preparing to unpack .../33-libtool_2.5.4-7_all.deb ... 107s Unpacking libtool (2.5.4-7) ... 107s Selecting previously unselected package dh-autoreconf. 107s Preparing to unpack .../34-dh-autoreconf_21_all.deb ... 107s Unpacking dh-autoreconf (21) ... 107s Selecting previously unselected package libarchive-zip-perl. 107s Preparing to unpack .../35-libarchive-zip-perl_1.68-1_all.deb ... 107s Unpacking libarchive-zip-perl (1.68-1) ... 107s Selecting previously unselected package libfile-stripnondeterminism-perl. 107s Preparing to unpack .../36-libfile-stripnondeterminism-perl_1.15.0-1_all.deb ... 107s Unpacking libfile-stripnondeterminism-perl (1.15.0-1) ... 107s Selecting previously unselected package dh-strip-nondeterminism. 107s Preparing to unpack .../37-dh-strip-nondeterminism_1.15.0-1_all.deb ... 107s Unpacking dh-strip-nondeterminism (1.15.0-1) ... 107s Selecting previously unselected package debugedit. 107s Preparing to unpack .../38-debugedit_1%3a5.2-3_arm64.deb ... 107s Unpacking debugedit (1:5.2-3) ... 107s Selecting previously unselected package dwz. 107s Preparing to unpack .../39-dwz_0.16-2_arm64.deb ... 107s Unpacking dwz (0.16-2) ... 107s Selecting previously unselected package gettext. 107s Preparing to unpack .../40-gettext_0.23.2-1_arm64.deb ... 107s Unpacking gettext (0.23.2-1) ... 107s Selecting previously unselected package intltool-debian. 107s Preparing to unpack .../41-intltool-debian_0.35.0+20060710.6build1_all.deb ... 107s Unpacking intltool-debian (0.35.0+20060710.6build1) ... 107s Selecting previously unselected package po-debconf. 107s Preparing to unpack .../42-po-debconf_1.0.21+nmu1_all.deb ... 107s Unpacking po-debconf (1.0.21+nmu1) ... 107s Selecting previously unselected package debhelper. 107s Preparing to unpack .../43-debhelper_13.24.2ubuntu1_all.deb ... 107s Unpacking debhelper (13.24.2ubuntu1) ... 107s Selecting previously unselected package dh-python. 107s Preparing to unpack .../44-dh-python_6.20251029_all.deb ... 107s Unpacking dh-python (6.20251029) ... 107s Selecting previously unselected package sgml-base. 107s Preparing to unpack .../45-sgml-base_1.31+nmu1_all.deb ... 107s Unpacking sgml-base (1.31+nmu1) ... 107s Selecting previously unselected package xml-core. 107s Preparing to unpack .../46-xml-core_0.19_all.deb ... 108s Unpacking xml-core (0.19) ... 108s Selecting previously unselected package docutils-common. 108s Preparing to unpack .../47-docutils-common_0.22.3+dfsg-1_all.deb ... 108s Unpacking docutils-common (0.22.3+dfsg-1) ... 108s Selecting previously unselected package python3-gunicorn. 108s Preparing to unpack .../48-python3-gunicorn_23.0.0-1_all.deb ... 108s Unpacking python3-gunicorn (23.0.0-1) ... 108s Selecting previously unselected package gunicorn. 108s Preparing to unpack .../49-gunicorn_23.0.0-1_all.deb ... 108s Unpacking gunicorn (23.0.0-1) ... 108s Selecting previously unselected package libjs-jquery. 108s Preparing to unpack .../50-libjs-jquery_3.7.1+dfsg+~3.5.33-1build1_all.deb ... 108s Unpacking libjs-jquery (3.7.1+dfsg+~3.5.33-1build1) ... 108s Selecting previously unselected package libjs-underscore. 108s Preparing to unpack .../51-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... 108s Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 108s Selecting previously unselected package libjs-sphinxdoc. 108s Preparing to unpack .../52-libjs-sphinxdoc_8.2.3-1ubuntu2_all.deb ... 108s Unpacking libjs-sphinxdoc (8.2.3-1ubuntu2) ... 108s Selecting previously unselected package libjson-perl. 108s Preparing to unpack .../53-libjson-perl_4.10000-1_all.deb ... 108s Unpacking libjson-perl (4.10000-1) ... 108s Selecting previously unselected package libpython3.14-stdlib:arm64. 108s Preparing to unpack .../54-libpython3.14-stdlib_3.14.0-4_arm64.deb ... 108s Unpacking libpython3.14-stdlib:arm64 (3.14.0-4) ... 108s Selecting previously unselected package python-pecan-doc. 108s Preparing to unpack .../55-python-pecan-doc_1.5.1-6_all.deb ... 108s Unpacking python-pecan-doc (1.5.1-6) ... 108s Selecting previously unselected package python3.14. 108s Preparing to unpack .../56-python3.14_3.14.0-4_arm64.deb ... 108s Unpacking python3.14 (3.14.0-4) ... 108s Selecting previously unselected package python3-all. 108s Preparing to unpack .../57-python3-all_3.13.9-2_arm64.deb ... 108s Unpacking python3-all (3.13.9-2) ... 108s Selecting previously unselected package python3-soupsieve. 108s Preparing to unpack .../58-python3-soupsieve_2.7-2_all.deb ... 108s Unpacking python3-soupsieve (2.7-2) ... 108s Selecting previously unselected package python3-bs4. 108s Preparing to unpack .../59-python3-bs4_4.14.2-1_all.deb ... 108s Unpacking python3-bs4 (4.14.2-1) ... 108s Selecting previously unselected package python3-defusedxml. 108s Preparing to unpack .../60-python3-defusedxml_0.7.1-3_all.deb ... 108s Unpacking python3-defusedxml (0.7.1-3) ... 108s Selecting previously unselected package python3-distlib. 108s Preparing to unpack .../61-python3-distlib_0.4.0-1_all.deb ... 108s Unpacking python3-distlib (0.4.0-1) ... 108s Selecting previously unselected package python3-roman-numerals. 108s Preparing to unpack .../62-python3-roman-numerals_3.1.0-2_all.deb ... 108s Unpacking python3-roman-numerals (3.1.0-2) ... 108s Selecting previously unselected package python3-docutils. 108s Preparing to unpack .../63-python3-docutils_0.22.3+dfsg-1_all.deb ... 108s Unpacking python3-docutils (0.22.3+dfsg-1) ... 108s Selecting previously unselected package python3-filelock. 108s Preparing to unpack .../64-python3-filelock_3.18.0-1_all.deb ... 108s Unpacking python3-filelock (3.18.0-1) ... 108s Selecting previously unselected package python3-genshi. 108s Preparing to unpack .../65-python3-genshi_0.7.10-1_arm64.deb ... 108s Unpacking python3-genshi (0.7.10-1) ... 108s Selecting previously unselected package python3-imagesize. 108s Preparing to unpack .../66-python3-imagesize_1.4.1-1build1_all.deb ... 108s Unpacking python3-imagesize (1.4.1-1build1) ... 108s Selecting previously unselected package python3-iniconfig. 108s Preparing to unpack .../67-python3-iniconfig_2.1.0-1_all.deb ... 108s Unpacking python3-iniconfig (2.1.0-1) ... 108s Selecting previously unselected package python3-legacy-cgi. 108s Preparing to unpack .../68-python3-legacy-cgi_2.6.4-1_all.deb ... 108s Unpacking python3-legacy-cgi (2.6.4-1) ... 108s Selecting previously unselected package python3-linetable. 108s Preparing to unpack .../69-python3-linetable_0.0.3-1_all.deb ... 108s Unpacking python3-linetable (0.0.3-1) ... 108s Selecting previously unselected package python3-logutils. 108s Preparing to unpack .../70-python3-logutils_0.3.5-5_all.deb ... 108s Unpacking python3-logutils (0.3.5-5) ... 108s Selecting previously unselected package python3-mako. 108s Preparing to unpack .../71-python3-mako_1.3.10-3_all.deb ... 108s Unpacking python3-mako (1.3.10-3) ... 108s Selecting previously unselected package python3-simplegeneric. 108s Preparing to unpack .../72-python3-simplegeneric_0.8.1-5build1_all.deb ... 108s Unpacking python3-simplegeneric (0.8.1-5build1) ... 108s Selecting previously unselected package python3-webob. 108s Preparing to unpack .../73-python3-webob_1%3a1.8.9-1_all.deb ... 108s Unpacking python3-webob (1:1.8.9-1) ... 108s Selecting previously unselected package python3-pecan. 109s Preparing to unpack .../74-python3-pecan_1.5.1-6_all.deb ... 109s Unpacking python3-pecan (1.5.1-6) ... 109s Selecting previously unselected package python3-wheel. 109s Preparing to unpack .../75-python3-wheel_0.46.1-2_all.deb ... 109s Unpacking python3-wheel (0.46.1-2) ... 109s Selecting previously unselected package python3-pip. 109s Preparing to unpack .../76-python3-pip_25.1.1+dfsg-1ubuntu2_all.deb ... 109s Unpacking python3-pip (25.1.1+dfsg-1ubuntu2) ... 109s Selecting previously unselected package python3-pip-whl. 109s Preparing to unpack .../77-python3-pip-whl_25.1.1+dfsg-1ubuntu2_all.deb ... 109s Unpacking python3-pip-whl (25.1.1+dfsg-1ubuntu2) ... 109s Selecting previously unselected package python3-platformdirs. 109s Preparing to unpack .../78-python3-platformdirs_4.4.0-1_all.deb ... 109s Unpacking python3-platformdirs (4.4.0-1) ... 109s Selecting previously unselected package python3-pluggy. 109s Preparing to unpack .../79-python3-pluggy_1.6.0-1_all.deb ... 109s Unpacking python3-pluggy (1.6.0-1) ... 109s Selecting previously unselected package python3-pytest. 109s Preparing to unpack .../80-python3-pytest_8.3.5-2_all.deb ... 109s Unpacking python3-pytest (8.3.5-2) ... 109s Selecting previously unselected package python3-roman. 109s Preparing to unpack .../81-python3-roman_5.2-1_all.deb ... 109s Unpacking python3-roman (5.2-1) ... 109s Selecting previously unselected package python3-setuptools-whl. 109s Preparing to unpack .../82-python3-setuptools-whl_78.1.1-0.1_all.deb ... 109s Unpacking python3-setuptools-whl (78.1.1-0.1) ... 109s Selecting previously unselected package python3-snowballstemmer. 109s Preparing to unpack .../83-python3-snowballstemmer_3.0.1-1_all.deb ... 109s Unpacking python3-snowballstemmer (3.0.1-1) ... 109s Selecting previously unselected package sphinx-common. 109s Preparing to unpack .../84-sphinx-common_8.2.3-1ubuntu2_all.deb ... 109s Unpacking sphinx-common (8.2.3-1ubuntu2) ... 109s Selecting previously unselected package python3-alabaster. 109s Preparing to unpack .../85-python3-alabaster_0.7.16-0.1_all.deb ... 109s Unpacking python3-alabaster (0.7.16-0.1) ... 109s Selecting previously unselected package python3-sphinx. 109s Preparing to unpack .../86-python3-sphinx_8.2.3-1ubuntu2_all.deb ... 109s Unpacking python3-sphinx (8.2.3-1ubuntu2) ... 109s Selecting previously unselected package python3-greenlet. 109s Preparing to unpack .../87-python3-greenlet_3.2.4-2_arm64.deb ... 109s Unpacking python3-greenlet (3.2.4-2) ... 109s Selecting previously unselected package python3-sqlalchemy. 109s Preparing to unpack .../88-python3-sqlalchemy_2.0.40+ds1-2_all.deb ... 109s Unpacking python3-sqlalchemy (2.0.40+ds1-2) ... 109s Selecting previously unselected package python3-virtualenv. 109s Preparing to unpack .../89-python3-virtualenv_20.35.4+ds-1_all.deb ... 109s Unpacking python3-virtualenv (20.35.4+ds-1) ... 109s Selecting previously unselected package python3-waitress. 109s Preparing to unpack .../90-python3-waitress_3.0.2-2_all.deb ... 109s Unpacking python3-waitress (3.0.2-2) ... 109s Selecting previously unselected package python3-webtest. 109s Preparing to unpack .../91-python3-webtest_3.0.7-1_all.deb ... 109s Unpacking python3-webtest (3.0.7-1) ... 109s Selecting previously unselected package openstack-pkg-tools. 109s Preparing to unpack .../92-openstack-pkg-tools_138_all.deb ... 109s Unpacking openstack-pkg-tools (138) ... 109s Selecting previously unselected package python3-kajiki. 109s Preparing to unpack .../93-python3-kajiki_1.0.2-1_all.deb ... 109s Unpacking python3-kajiki (1.0.2-1) ... 109s Setting up dh-python (6.20251029) ... 110s Setting up python3-iniconfig (2.1.0-1) ... 110s Setting up python3-setuptools-whl (78.1.1-0.1) ... 110s Setting up python3-filelock (3.18.0-1) ... 110s Setting up python3-waitress (3.0.2-2) ... 110s Setting up python3-linetable (0.0.3-1) ... 110s Setting up python3-pip-whl (25.1.1+dfsg-1ubuntu2) ... 110s Setting up python3-defusedxml (0.7.1-3) ... 111s Setting up libarchive-zip-perl (1.68-1) ... 111s Setting up python3-alabaster (0.7.16-0.1) ... 111s Setting up libdebhelper-perl (13.24.2ubuntu1) ... 111s Setting up libpython3.14-minimal:arm64 (3.14.0-4) ... 111s Setting up m4 (1.4.20-2) ... 111s Setting up python3-distlib (0.4.0-1) ... 111s Setting up libgomp1:arm64 (15.2.0-9ubuntu1) ... 111s Setting up python3-wheel (0.46.1-2) ... 111s Setting up python3-platformdirs (4.4.0-1) ... 112s Setting up python3-genshi (0.7.10-1) ... 112s Setting up python3-roman (5.2-1) ... 112s Setting up autotools-dev (20240727.1) ... 112s Setting up python3-snowballstemmer (3.0.1-1) ... 113s Setting up python3-greenlet (3.2.4-2) ... 113s Setting up libmpc3:arm64 (1.3.1-2) ... 113s Setting up autopoint (0.23.2-1) ... 113s Setting up python3-gunicorn (23.0.0-1) ... 113s Setting up python3-pip (25.1.1+dfsg-1ubuntu2) ... 115s Setting up python3-kajiki (1.0.2-1) ... 115s Setting up autoconf (2.72-3.1ubuntu1) ... 115s Setting up python3-pluggy (1.6.0-1) ... 116s Setting up libubsan1:arm64 (15.2.0-9ubuntu1) ... 116s Setting up python3-legacy-cgi (2.6.4-1) ... 116s Setting up dwz (0.16-2) ... 116s Setting up libhwasan0:arm64 (15.2.0-9ubuntu1) ... 116s Setting up libasan8:arm64 (15.2.0-9ubuntu1) ... 116s Setting up libjson-perl (4.10000-1) ... 116s Setting up debugedit (1:5.2-3) ... 116s Setting up python3-roman-numerals (3.1.0-2) ... 116s Setting up sgml-base (1.31+nmu1) ... 116s Setting up python3-logutils (0.3.5-5) ... 116s Setting up libtsan2:arm64 (15.2.0-9ubuntu1) ... 116s Setting up libjs-jquery (3.7.1+dfsg+~3.5.33-1build1) ... 116s Setting up libisl23:arm64 (0.27-1) ... 116s Setting up python3-simplegeneric (0.8.1-5build1) ... 116s Setting up python3-soupsieve (2.7-2) ... 117s Setting up python3.14-minimal (3.14.0-4) ... 117s Setting up libcc1-0:arm64 (15.2.0-9ubuntu1) ... 117s Setting up liblsan0:arm64 (15.2.0-9ubuntu1) ... 117s Setting up libitm1:arm64 (15.2.0-9ubuntu1) ... 117s Setting up python3-mako (1.3.10-3) ... 118s Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 118s Setting up python3-webob (1:1.8.9-1) ... 118s Setting up python3-imagesize (1.4.1-1build1) ... 118s Setting up automake (1:1.18.1-3) ... 118s update-alternatives: using /usr/bin/automake-1.18 to provide /usr/bin/automake (automake) in auto mode 118s Setting up libfile-stripnondeterminism-perl (1.15.0-1) ... 118s Setting up python3-pecan (1.5.1-6) ... 119s Setting up cpp-15-aarch64-linux-gnu (15.2.0-9ubuntu1) ... 119s Setting up gettext (0.23.2-1) ... 119s Setting up libgcc-15-dev:arm64 (15.2.0-9ubuntu1) ... 119s Setting up libpython3.14-stdlib:arm64 (3.14.0-4) ... 119s Setting up python3-pytest (8.3.5-2) ... 119s Setting up python3-virtualenv (20.35.4+ds-1) ... 120s Setting up gunicorn (23.0.0-1) ... 120s Setting up python3-bs4 (4.14.2-1) ... 120s Setting up python3-sqlalchemy (2.0.40+ds1-2) ... 122s Setting up intltool-debian (0.35.0+20060710.6build1) ... 122s Setting up cpp-aarch64-linux-gnu (4:15.2.0-4ubuntu1) ... 122s Setting up libstdc++-15-dev:arm64 (15.2.0-9ubuntu1) ... 122s Setting up libjs-sphinxdoc (8.2.3-1ubuntu2) ... 122s Setting up dh-strip-nondeterminism (1.15.0-1) ... 122s Setting up cpp-15 (15.2.0-9ubuntu1) ... 122s Setting up cpp (4:15.2.0-4ubuntu1) ... 122s Setting up xml-core (0.19) ... 123s Setting up python3-webtest (3.0.7-1) ... 123s /usr/lib/python3/dist-packages/webtest/http.py:133: SyntaxWarning: 'return' in a 'finally' block 123s return False 123s Setting up python3.14 (3.14.0-4) ... 124s Setting up gcc-15-aarch64-linux-gnu (15.2.0-9ubuntu1) ... 124s Setting up python-pecan-doc (1.5.1-6) ... 124s Setting up po-debconf (1.0.21+nmu1) ... 124s Setting up python3-all (3.13.9-2) ... 124s Setting up openstack-pkg-tools (138) ... 124s Setting up gcc-15 (15.2.0-9ubuntu1) ... 124s Setting up g++-15-aarch64-linux-gnu (15.2.0-9ubuntu1) ... 124s Setting up sphinx-common (8.2.3-1ubuntu2) ... 124s Setting up g++-15 (15.2.0-9ubuntu1) ... 124s Setting up gcc-aarch64-linux-gnu (4:15.2.0-4ubuntu1) ... 124s Setting up libtool (2.5.4-7) ... 124s Setting up gcc (4:15.2.0-4ubuntu1) ... 124s Setting up dh-autoreconf (21) ... 124s Setting up g++-aarch64-linux-gnu (4:15.2.0-4ubuntu1) ... 124s Setting up debhelper (13.24.2ubuntu1) ... 124s Setting up g++ (4:15.2.0-4ubuntu1) ... 124s update-alternatives: using /usr/bin/g++ to provide /usr/bin/c++ (c++) in auto mode 124s Setting up build-essential (12.12ubuntu2) ... 124s Processing triggers for install-info (7.2-5) ... 124s Processing triggers for libc-bin (2.42-2ubuntu2) ... 124s Processing triggers for systemd (257.9-0ubuntu2) ... 124s Processing triggers for man-db (2.13.1-1) ... 125s Processing triggers for sgml-base (1.31+nmu1) ... 125s Setting up docutils-common (0.22.3+dfsg-1) ... 125s Processing triggers for sgml-base (1.31+nmu1) ... 125s Setting up python3-docutils (0.22.3+dfsg-1) ... 126s Setting up python3-sphinx (8.2.3-1ubuntu2) ... 129s autopkgtest [00:00:48]: test unittests: [----------------------- 129s ============================= test session starts ============================== 129s platform linux -- Python 3.14.0, pytest-8.3.5, pluggy-1.6.0 -- /usr/bin/python3.14 129s cachedir: .pytest_cache 129s rootdir: /tmp/autopkgtest.kypXMw/build.gAY/src 129s configfile: setup.cfg 129s plugins: typeguard-4.4.2 131s collecting ... collected 543 items / 3 deselected / 540 selected 131s 131s pecan/tests/middleware/test_errordocument.py::TestErrorDocumentMiddleware::test_error_endpoint_with_query_string PASSED [ 0%] 131s pecan/tests/middleware/test_errordocument.py::TestErrorDocumentMiddleware::test_error_with_recursion_loop PASSED [ 0%] 131s pecan/tests/middleware/test_errordocument.py::TestErrorDocumentMiddleware::test_hit_error_page PASSED [ 0%] 131s pecan/tests/middleware/test_errordocument.py::TestErrorDocumentMiddleware::test_middleware_routes_to_404_message PASSED [ 0%] 131s pecan/tests/middleware/test_errordocument.py::TestErrorDocumentMiddleware::test_original_exception PASSED [ 0%] 131s pecan/tests/middleware/test_recursive.py::TestRecursiveMiddleware::test_ForwardRequestException PASSED [ 1%] 131s pecan/tests/middleware/test_recursive.py::TestRecursiveMiddleware::test_ForwardRequest_environ PASSED [ 1%] 131s pecan/tests/middleware/test_recursive.py::TestRecursiveMiddleware::test_ForwardRequest_factory PASSED [ 1%] 131s pecan/tests/middleware/test_recursive.py::TestRecursiveMiddleware::test_ForwardRequest_url PASSED [ 1%] 131s pecan/tests/middleware/test_recursive.py::TestRecursiveMiddleware::test_ForwardRequest_url_with_params PASSED [ 1%] 131s pecan/tests/middleware/test_static.py::TestStaticFileMiddleware::test_date_dumping_on_unix_timestamps PASSED [ 2%] 131s pecan/tests/middleware/test_static.py::TestStaticFileMiddleware::test_file_can_be_closed PASSED [ 2%] 131s pecan/tests/middleware/test_static.py::TestStaticFileMiddleware::test_file_can_be_found PASSED [ 2%] 131s pecan/tests/middleware/test_static.py::TestStaticFileMiddleware::test_file_can_be_iterated_over PASSED [ 2%] 131s pecan/tests/middleware/test_static.py::TestStaticFileMiddleware::test_mime_type_works_for_png_files PASSED [ 2%] 131s pecan/tests/middleware/test_static.py::TestStaticFileMiddleware::test_no_file_found_causes_passthrough PASSED [ 2%] 131s pecan/tests/middleware/test_static.py::TestStaticFileMiddleware::test_separator_sanitization_still_finds_file PASSED [ 3%] 131s pecan/tests/test_base.py::TestAppRoot::test_controller_lookup_by_string_path PASSED [ 3%] 131s pecan/tests/test_base.py::TestEmptyContent::test_empty_body PASSED [ 3%] 131s pecan/tests/test_base.py::TestEmptyContent::test_empty_index PASSED [ 3%] 131s pecan/tests/test_base.py::TestEmptyContent::test_empty_text PASSED [ 3%] 131s pecan/tests/test_base.py::TestEmptyContent::test_explicit_body PASSED [ 4%] 131s pecan/tests/test_base.py::TestEmptyContent::test_explicit_json PASSED [ 4%] 131s pecan/tests/test_base.py::TestEmptyContent::test_explicit_json_body PASSED [ 4%] 131s pecan/tests/test_base.py::TestEmptyContent::test_explicit_text PASSED [ 4%] 131s pecan/tests/test_base.py::TestEmptyContent::test_index_with_non_unicode PASSED [ 4%] 131s pecan/tests/test_base.py::TestAppIterFile::test_body_generator PASSED [ 5%] 131s pecan/tests/test_base.py::TestAppIterFile::test_empty_body_generator PASSED [ 5%] 131s pecan/tests/test_base.py::TestInvalidURLEncoding::test_rest_with_non_utf_8_body PASSED [ 5%] 131s pecan/tests/test_base.py::TestIndexRouting::test_empty_root PASSED [ 5%] 131s pecan/tests/test_base.py::TestIndexRouting::test_index PASSED [ 5%] 131s pecan/tests/test_base.py::TestIndexRouting::test_index_html PASSED [ 5%] 131s pecan/tests/test_base.py::TestObjectDispatch::test_index PASSED [ 6%] 131s pecan/tests/test_base.py::TestObjectDispatch::test_one_level PASSED [ 6%] 131s pecan/tests/test_base.py::TestObjectDispatch::test_one_level_with_trailing PASSED [ 6%] 131s pecan/tests/test_base.py::TestObjectDispatch::test_three_levels PASSED [ 6%] 131s pecan/tests/test_base.py::TestObjectDispatch::test_two_levels PASSED [ 6%] 131s pecan/tests/test_base.py::TestObjectDispatch::test_two_levels_with_trailing PASSED [ 7%] 131s pecan/tests/test_base.py::TestUnicodePathSegments::test_unicode_child PASSED [ 7%] 131s pecan/tests/test_base.py::TestUnicodePathSegments::test_unicode_methods PASSED [ 7%] 131s pecan/tests/test_base.py::TestLookups::test_index PASSED [ 7%] 131s pecan/tests/test_base.py::TestLookups::test_lookup PASSED [ 7%] 131s pecan/tests/test_base.py::TestLookups::test_lookup_with_method PASSED [ 7%] 131s pecan/tests/test_base.py::TestLookups::test_lookup_with_wrong_argspec PASSED [ 8%] 131s pecan/tests/test_base.py::TestLookups::test_lookup_with_wrong_return PASSED [ 8%] 131s pecan/tests/test_base.py::TestCanonicalLookups::test_canonical_lookup PASSED [ 8%] 131s pecan/tests/test_base.py::TestControllerArguments::test_argument_and_keyword_argument PASSED [ 8%] 131s pecan/tests/test_base.py::TestControllerArguments::test_duplicate_query_parameters_GET PASSED [ 8%] 131s pecan/tests/test_base.py::TestControllerArguments::test_duplicate_query_parameters_POST PASSED [ 9%] 131s pecan/tests/test_base.py::TestControllerArguments::test_duplicate_query_parameters_POST_mixed PASSED [ 9%] 131s pecan/tests/test_base.py::TestControllerArguments::test_duplicate_query_parameters_POST_mixed_json PASSED [ 9%] 131s pecan/tests/test_base.py::TestControllerArguments::test_encoded_argument_and_keyword_argument PASSED [ 9%] 131s pecan/tests/test_base.py::TestControllerArguments::test_explicit_json_kwargs PASSED [ 9%] 131s pecan/tests/test_base.py::TestControllerArguments::test_explicit_kwargs PASSED [ 10%] 131s pecan/tests/test_base.py::TestControllerArguments::test_json_kwargs_from_root PASSED [ 10%] 131s pecan/tests/test_base.py::TestControllerArguments::test_keyword_argument PASSED [ 10%] 131s pecan/tests/test_base.py::TestControllerArguments::test_keyword_argument_with_encoded_plus PASSED [ 10%] 131s pecan/tests/test_base.py::TestControllerArguments::test_keyword_argument_with_encoded_url PASSED [ 10%] 131s pecan/tests/test_base.py::TestControllerArguments::test_keyword_argument_with_plus PASSED [ 10%] 131s pecan/tests/test_base.py::TestControllerArguments::test_kwargs_from_root PASSED [ 11%] 131s pecan/tests/test_base.py::TestControllerArguments::test_many_remainders PASSED [ 11%] 131s pecan/tests/test_base.py::TestControllerArguments::test_multiple_args_with_url_encoded_kwargs PASSED [ 11%] 131s pecan/tests/test_base.py::TestControllerArguments::test_multiple_encoded_variable_args PASSED [ 11%] 131s pecan/tests/test_base.py::TestControllerArguments::test_multiple_kwargs PASSED [ 11%] 131s pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional PASSED [ 12%] 131s pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_args_with_last_encoded_kwarg PASSED [ 12%] 131s pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_args_with_last_kwarg PASSED [ 12%] 131s pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_args_with_middle_arg PASSED [ 12%] 131s pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_args_with_multiple_dict_kwargs PASSED [ 12%] 131s pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_args_with_multiple_encoded_dict_kwargs PASSED [ 12%] 131s pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_args_with_multiple_encoded_kwargs PASSED [ 13%] 131s pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_args_with_multiple_json_kwargs PASSED [ 13%] 131s pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_args_with_multiple_kwargs PASSED [ 13%] 131s pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_encoded_positional_args_and_dict_kwargs PASSED [ 13%] 131s pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_missing PASSED [ 13%] 131s pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_positional_args PASSED [ 14%] 131s pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_positional_args_all_args PASSED [ 14%] 131s pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_positional_args_all_url_encoded_args PASSED [ 14%] 131s pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_positional_args_and_dict_kwargs PASSED [ 14%] 131s pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_positional_args_and_json_kwargs PASSED [ 14%] 131s pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_positional_args_one_arg PASSED [ 15%] 131s pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_positional_args_one_url_encoded_arg PASSED [ 15%] 131s pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_positional_args_too_many_args PASSED [ 15%] 131s pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_positional_args_with_dict_kwargs PASSED [ 15%] 131s pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_positional_args_with_encoded_dict_kwargs PASSED [ 15%] 131s pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_positional_args_with_encoded_str_kwargs PASSED [ 15%] 131s pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_positional_args_with_json_kwargs PASSED [ 16%] 131s pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_positional_args_with_kwargs PASSED [ 16%] 131s pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_positional_args_with_string_kwargs PASSED [ 16%] 131s pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_positional_args_with_url_encoded_kwargs PASSED [ 16%] 131s pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_url_encoded PASSED [ 16%] 131s pecan/tests/test_base.py::TestControllerArguments::test_multiple_positional_arguments PASSED [ 17%] 131s pecan/tests/test_base.py::TestControllerArguments::test_multiple_positional_arguments_with_dictionary_kwargs PASSED [ 17%] 131s pecan/tests/test_base.py::TestControllerArguments::test_multiple_positional_arguments_with_json_kwargs PASSED [ 17%] 131s pecan/tests/test_base.py::TestControllerArguments::test_multiple_positional_arguments_with_kwargs PASSED [ 17%] 131s pecan/tests/test_base.py::TestControllerArguments::test_multiple_positional_arguments_with_url_encode PASSED [ 17%] 131s pecan/tests/test_base.py::TestControllerArguments::test_multiple_positional_arguments_with_url_encoded_kwargs PASSED [ 17%] 131s pecan/tests/test_base.py::TestControllerArguments::test_multiple_positional_url_encoded_arguments_with_kwargs PASSED [ 18%] 131s pecan/tests/test_base.py::TestControllerArguments::test_multiple_variable_args PASSED [ 18%] 131s pecan/tests/test_base.py::TestControllerArguments::test_multiple_variable_kwargs PASSED [ 18%] 131s pecan/tests/test_base.py::TestControllerArguments::test_multiple_variable_kwargs_with_dict_kwargs PASSED [ 18%] 131s pecan/tests/test_base.py::TestControllerArguments::test_multiple_variable_kwargs_with_encoded_dict_kwargs PASSED [ 18%] 131s pecan/tests/test_base.py::TestControllerArguments::test_multiple_variable_kwargs_with_explicit_encoded_kwargs PASSED [ 19%] 131s pecan/tests/test_base.py::TestControllerArguments::test_multiple_variable_kwargs_with_explicit_kwargs PASSED [ 19%] 131s pecan/tests/test_base.py::TestControllerArguments::test_multiple_variable_kwargs_with_json_kwargs PASSED [ 19%] 131s pecan/tests/test_base.py::TestControllerArguments::test_multiple_with_kwargs PASSED [ 19%] 131s pecan/tests/test_base.py::TestControllerArguments::test_multiple_with_url_encoded_kwargs PASSED [ 19%] 131s pecan/tests/test_base.py::TestControllerArguments::test_no_remainder PASSED [ 20%] 131s pecan/tests/test_base.py::TestControllerArguments::test_one_remainder PASSED [ 20%] 131s pecan/tests/test_base.py::TestControllerArguments::test_optional_arg PASSED [ 20%] 131s pecan/tests/test_base.py::TestControllerArguments::test_optional_arg_with_json_kwargs PASSED [ 20%] 131s pecan/tests/test_base.py::TestControllerArguments::test_optional_arg_with_kwargs PASSED [ 20%] 131s pecan/tests/test_base.py::TestControllerArguments::test_optional_arg_with_multiple_dictionary_kwargs PASSED [ 20%] 131s pecan/tests/test_base.py::TestControllerArguments::test_optional_arg_with_multiple_json_kwargs PASSED [ 21%] 131s pecan/tests/test_base.py::TestControllerArguments::test_optional_arg_with_multiple_kwargs PASSED [ 21%] 131s pecan/tests/test_base.py::TestControllerArguments::test_optional_arg_with_multiple_url_encoded_dictionary_kwargs PASSED [ 21%] 131s pecan/tests/test_base.py::TestControllerArguments::test_optional_arg_with_multiple_url_encoded_kwargs PASSED [ 21%] 131s pecan/tests/test_base.py::TestControllerArguments::test_optional_arg_with_url_encoded_kwargs PASSED [ 21%] 131s pecan/tests/test_base.py::TestControllerArguments::test_path_with_explicit_json_kwargs PASSED [ 22%] 131s pecan/tests/test_base.py::TestControllerArguments::test_path_with_explicit_kwargs PASSED [ 22%] 131s pecan/tests/test_base.py::TestControllerArguments::test_positional_args_with_dictionary_kwargs PASSED [ 22%] 131s pecan/tests/test_base.py::TestControllerArguments::test_positional_args_with_json_kwargs PASSED [ 22%] 131s pecan/tests/test_base.py::TestControllerArguments::test_positional_args_with_url_encoded_dictionary_kwargs PASSED [ 22%] 131s pecan/tests/test_base.py::TestControllerArguments::test_post_empty_remainder_with_json_kwargs PASSED [ 22%] 131s pecan/tests/test_base.py::TestControllerArguments::test_post_many_remainders PASSED [ 23%] 131s pecan/tests/test_base.py::TestControllerArguments::test_post_many_remainders_with_many_json_kwargs PASSED [ 23%] 131s pecan/tests/test_base.py::TestControllerArguments::test_post_many_remainders_with_many_kwargs PASSED [ 23%] 131s pecan/tests/test_base.py::TestControllerArguments::test_post_remainder PASSED [ 23%] 131s pecan/tests/test_base.py::TestControllerArguments::test_post_remainder_with_json_kwargs PASSED [ 23%] 131s pecan/tests/test_base.py::TestControllerArguments::test_post_remainder_with_kwargs PASSED [ 24%] 131s pecan/tests/test_base.py::TestControllerArguments::test_post_three_remainders PASSED [ 24%] 131s pecan/tests/test_base.py::TestControllerArguments::test_remainder_with_kwargs PASSED [ 24%] 131s pecan/tests/test_base.py::TestControllerArguments::test_remainder_with_many_kwargs PASSED [ 24%] 131s pecan/tests/test_base.py::TestControllerArguments::test_required_argument PASSED [ 24%] 131s pecan/tests/test_base.py::TestControllerArguments::test_single_argument PASSED [ 25%] 131s pecan/tests/test_base.py::TestControllerArguments::test_single_argument_with_encoded_plus PASSED [ 25%] 131s pecan/tests/test_base.py::TestControllerArguments::test_single_argument_with_encoded_url PASSED [ 25%] 131s pecan/tests/test_base.py::TestControllerArguments::test_single_argument_with_plus PASSED [ 25%] 131s pecan/tests/test_base.py::TestControllerArguments::test_staticmethod PASSED [ 25%] 131s pecan/tests/test_base.py::TestControllerArguments::test_two_arguments PASSED [ 25%] 131s pecan/tests/test_base.py::TestControllerArguments::test_two_remainders PASSED [ 26%] 131s pecan/tests/test_base.py::TestControllerArguments::test_url_encoded_positional_args PASSED [ 26%] 131s pecan/tests/test_base.py::TestControllerArguments::test_variable_all PASSED [ 26%] 131s pecan/tests/test_base.py::TestControllerArguments::test_variable_all_with_one_extra PASSED [ 26%] 131s pecan/tests/test_base.py::TestControllerArguments::test_variable_all_with_two_extras PASSED [ 26%] 131s pecan/tests/test_base.py::TestControllerArguments::test_variable_args PASSED [ 27%] 131s pecan/tests/test_base.py::TestControllerArguments::test_variable_args_with_dict_kwargs PASSED [ 27%] 131s pecan/tests/test_base.py::TestControllerArguments::test_variable_args_with_json_kwargs PASSED [ 27%] 131s pecan/tests/test_base.py::TestControllerArguments::test_variable_args_with_kwargs PASSED [ 27%] 131s pecan/tests/test_base.py::TestControllerArguments::test_variable_kwargs PASSED [ 27%] 131s pecan/tests/test_base.py::TestControllerArguments::test_variable_mixed PASSED [ 27%] 131s pecan/tests/test_base.py::TestControllerArguments::test_variable_mixed_explicit PASSED [ 28%] 131s pecan/tests/test_base.py::TestControllerArguments::test_variable_post PASSED [ 28%] 131s pecan/tests/test_base.py::TestControllerArguments::test_variable_post_mixed PASSED [ 28%] 131s pecan/tests/test_base.py::TestControllerArguments::test_variable_post_mixed_with_json PASSED [ 28%] 131s pecan/tests/test_base.py::TestControllerArguments::test_variable_post_with_json_kwargs PASSED [ 28%] 131s pecan/tests/test_base.py::TestControllerArguments::test_variable_post_with_kwargs PASSED [ 29%] 131s pecan/tests/test_base.py::TestDefaultErrorRendering::test_html_error PASSED [ 29%] 131s pecan/tests/test_base.py::TestDefaultErrorRendering::test_json_error PASSED [ 29%] 131s pecan/tests/test_base.py::TestDefaultErrorRendering::test_plain_error PASSED [ 29%] 131s pecan/tests/test_base.py::TestAbort::test_abort PASSED [ 29%] 131s pecan/tests/test_base.py::TestAbort::test_abort_keeps_traceback PASSED [ 30%] 131s pecan/tests/test_base.py::TestAbort::test_abort_with_detail PASSED [ 30%] 131s pecan/tests/test_base.py::TestScriptName::test_handle_script_name PASSED [ 30%] 131s pecan/tests/test_base.py::TestRedirect::test_index PASSED [ 30%] 131s pecan/tests/test_base.py::TestRedirect::test_internal PASSED [ 30%] 131s pecan/tests/test_base.py::TestRedirect::test_internal_with_301 PASSED [ 30%] 131s pecan/tests/test_base.py::TestRedirect::test_permanent_redirect PASSED [ 31%] 131s pecan/tests/test_base.py::TestRedirect::test_x_forward_proto PASSED [ 31%] 131s pecan/tests/test_base.py::TestInternalRedirectContext::test_context_does_not_bleed PASSED [ 31%] 131s pecan/tests/test_base.py::TestInternalRedirectContext::test_internal_with_request_context PASSED [ 31%] 131s pecan/tests/test_base.py::TestStreamedResponse::test_streaming_response PASSED [ 31%] 131s pecan/tests/test_base.py::TestManualResponse::test_manual_response PASSED [ 32%] 131s pecan/tests/test_base.py::TestCustomResponseandRequest::test_custom_objects PASSED [ 32%] 131s pecan/tests/test_base.py::TestThreadLocalState::test_request_state_cleanup PASSED [ 32%] 131s pecan/tests/test_base.py::TestThreadLocalState::test_thread_local_dir PASSED [ 32%] 131s pecan/tests/test_base.py::TestFileTypeExtensions::test_bad_content_type PASSED [ 32%] 131s pecan/tests/test_base.py::TestFileTypeExtensions::test_content_type_guessing_disabled PASSED [ 32%] 131s pecan/tests/test_base.py::TestFileTypeExtensions::test_guessing_disabled PASSED [ 33%] 131s pecan/tests/test_base.py::TestFileTypeExtensions::test_hidden_file PASSED [ 33%] 131s pecan/tests/test_base.py::TestFileTypeExtensions::test_html_extension PASSED [ 33%] 131s pecan/tests/test_base.py::TestFileTypeExtensions::test_image_extension PASSED [ 33%] 131s pecan/tests/test_base.py::TestFileTypeExtensions::test_multi_dot_extension PASSED [ 33%] 131s pecan/tests/test_base.py::TestFileTypeExtensions::test_unknown_file_extension PASSED [ 34%] 131s pecan/tests/test_base.py::TestContentTypeByAcceptHeaders::test_accept_header_missing PASSED [ 34%] 131s pecan/tests/test_base.py::TestContentTypeByAcceptHeaders::test_discarded_accept_parameters PASSED [ 34%] 131s pecan/tests/test_base.py::TestContentTypeByAcceptHeaders::test_file_extension_has_higher_precedence PASSED [ 34%] 131s pecan/tests/test_base.py::TestContentTypeByAcceptHeaders::test_missing_accept PASSED [ 34%] 131s pecan/tests/test_base.py::TestContentTypeByAcceptHeaders::test_not_acceptable PASSED [ 35%] 131s pecan/tests/test_base.py::TestContentTypeByAcceptHeaders::test_quality PASSED [ 35%] 131s pecan/tests/test_base.py::TestCanonicalRouting::test_accept_noncanonical PASSED [ 35%] 131s pecan/tests/test_base.py::TestCanonicalRouting::test_accept_noncanonical_no_trailing_slash PASSED [ 35%] 131s pecan/tests/test_base.py::TestCanonicalRouting::test_broken_clients PASSED [ 35%] 131s pecan/tests/test_base.py::TestCanonicalRouting::test_index PASSED [ 35%] 131s pecan/tests/test_base.py::TestCanonicalRouting::test_posts_fail PASSED [ 36%] 131s pecan/tests/test_base.py::TestCanonicalRouting::test_root PASSED [ 36%] 132s pecan/tests/test_base.py::TestCanonicalRouting::test_sub_controller_redirect PASSED [ 36%] 132s pecan/tests/test_base.py::TestCanonicalRouting::test_sub_controller_with_trailing PASSED [ 36%] 132s pecan/tests/test_base.py::TestCanonicalRouting::test_with_args PASSED [ 36%] 132s pecan/tests/test_base.py::TestCanonicalRouting::test_with_query_string PASSED [ 37%] 132s pecan/tests/test_base.py::TestNonCanonical::test_app_wrap PASSED [ 37%] 132s pecan/tests/test_base.py::TestNonCanonical::test_index PASSED [ 37%] 132s pecan/tests/test_base.py::TestNonCanonical::test_proxy PASSED [ 37%] 132s pecan/tests/test_base.py::TestNonCanonical::test_sub_controller_with_trailing PASSED [ 37%] 132s pecan/tests/test_base.py::TestNonCanonical::test_subcontroller PASSED [ 37%] 132s pecan/tests/test_base.py::TestNonCanonical::test_subcontroller_with_kwargs PASSED [ 38%] 132s pecan/tests/test_base.py::TestLogging::test_logging_setup PASSED [ 38%] 132s pecan/tests/test_base.py::TestLogging::test_logging_setup_with_config_obj PASSED [ 38%] 132s pecan/tests/test_base.py::TestEngines::test_custom_renderer PASSED [ 38%] 132s pecan/tests/test_base.py::TestEngines::test_default_json_renderer PASSED [ 38%] 132s pecan/tests/test_base.py::TestEngines::test_default_json_renderer_with_explicit_content_type PASSED [ 39%] 132s pecan/tests/test_base.py::TestEngines::test_jinja PASSED [ 39%] 132s pecan/tests/test_base.py::TestEngines::test_json PASSED [ 39%] 132s pecan/tests/test_base.py::TestEngines::test_kajiki PASSED [ 39%] 132s pecan/tests/test_base.py::TestEngines::test_override_template PASSED [ 39%] 132s pecan/tests/test_base.py::TestEngines::test_render PASSED [ 40%] 132s pecan/tests/test_base.py::TestEngines::test_renderer_not_found PASSED [ 40%] 132s pecan/tests/test_base.py::TestDeprecatedRouteMethod::test_required_argument PASSED [ 40%] 132s pecan/tests/test_base.py::TestExplicitRoute::test_alternate_route PASSED [ 40%] 132s pecan/tests/test_base.py::TestExplicitRoute::test_conflicting_custom_routes PASSED [ 40%] 132s pecan/tests/test_base.py::TestExplicitRoute::test_conflicting_custom_routes_in_subclass PASSED [ 40%] 132s pecan/tests/test_base.py::TestExplicitRoute::test_custom_route_on_index PASSED [ 41%] 132s pecan/tests/test_base.py::TestExplicitRoute::test_custom_route_prohibited_on_default PASSED [ 41%] 132s pecan/tests/test_base.py::TestExplicitRoute::test_custom_route_prohibited_on_generic_controllers PASSED [ 41%] 132s pecan/tests/test_base.py::TestExplicitRoute::test_custom_route_prohibited_on_lookup PASSED [ 41%] 132s pecan/tests/test_base.py::TestExplicitRoute::test_custom_route_prohibited_on_route PASSED [ 41%] 132s pecan/tests/test_base.py::TestExplicitRoute::test_custom_route_with_attribute_conflict PASSED [ 42%] 132s pecan/tests/test_base.py::TestExplicitRoute::test_custom_route_with_generic_controllers PASSED [ 42%] 132s pecan/tests/test_base.py::TestExplicitRoute::test_invalid_route_arguments PASSED [ 42%] 132s pecan/tests/test_base.py::TestExplicitRoute::test_manual_route PASSED [ 42%] 132s pecan/tests/test_base.py::TestExplicitRoute::test_manual_route_conflict PASSED [ 42%] 132s pecan/tests/test_commands.py::TestCommandManager::test_commands PASSED [ 42%] 132s pecan/tests/test_commands.py::TestCommandRunner::test_commands PASSED [ 43%] 132s pecan/tests/test_commands.py::TestCommandRunner::test_run PASSED [ 43%] 132s pecan/tests/test_commands.py::TestCreateCommand::test_run PASSED [ 43%] 132s pecan/tests/test_conf.py::TestConf::test_config_bad_key PASSED [ 43%] 132s pecan/tests/test_conf.py::TestConf::test_config_dir PASSED [ 43%] 132s pecan/tests/test_conf.py::TestConf::test_config_from_dict PASSED [ 44%] 132s pecan/tests/test_conf.py::TestConf::test_config_from_file PASSED [ 44%] 132s pecan/tests/test_conf.py::TestConf::test_config_get_invalid_key PASSED [ 44%] 132s pecan/tests/test_conf.py::TestConf::test_config_get_invalid_key_return_default PASSED [ 44%] 132s pecan/tests/test_conf.py::TestConf::test_config_get_valid_key PASSED [ 44%] 132s pecan/tests/test_conf.py::TestConf::test_config_illegal_ids PASSED [ 45%] 132s pecan/tests/test_conf.py::TestConf::test_config_missing_file PASSED [ 45%] 132s pecan/tests/test_conf.py::TestConf::test_config_missing_file_on_path PASSED [ 45%] 132s pecan/tests/test_conf.py::TestConf::test_config_repr PASSED [ 45%] 132s pecan/tests/test_conf.py::TestConf::test_config_to_dict PASSED [ 45%] 132s pecan/tests/test_conf.py::TestConf::test_config_to_dict_nested PASSED [ 45%] 132s pecan/tests/test_conf.py::TestConf::test_config_to_dict_prefixed PASSED [ 46%] 132s pecan/tests/test_conf.py::TestConf::test_config_with_bad_import PASSED [ 46%] 132s pecan/tests/test_conf.py::TestConf::test_config_with_syntax_error PASSED [ 46%] 132s pecan/tests/test_conf.py::TestConf::test_update_config_fail_identifier PASSED [ 46%] 132s pecan/tests/test_conf.py::TestConf::test_update_config_fail_message PASSED [ 46%] 132s pecan/tests/test_conf.py::TestConf::test_update_config_with_dict PASSED [ 47%] 132s pecan/tests/test_conf.py::TestConf::test_update_force_dict PASSED [ 47%] 132s pecan/tests/test_conf.py::TestConf::test_update_set_config PASSED [ 47%] 132s pecan/tests/test_conf.py::TestConf::test_update_set_default_config PASSED [ 47%] 132s pecan/tests/test_conf.py::TestGlobalConfig::test_overwrite_from_dict PASSED [ 47%] 132s pecan/tests/test_conf.py::TestGlobalConfig::test_overwrite_from_file PASSED [ 47%] 132s pecan/tests/test_conf.py::TestGlobalConfig::test_paint_from_dict PASSED [ 48%] 132s pecan/tests/test_conf.py::TestGlobalConfig::test_paint_from_file PASSED [ 48%] 132s pecan/tests/test_conf.py::TestGlobalConfig::test_set_config_none_type PASSED [ 48%] 132s pecan/tests/test_conf.py::TestGlobalConfig::test_set_config_to_dir PASSED [ 48%] 132s pecan/tests/test_conf.py::TestConfFromEnv::test_invalid_path PASSED [ 48%] 132s pecan/tests/test_conf.py::TestConfFromEnv::test_is_not_set PASSED [ 49%] 132s pecan/tests/test_conf.py::TestConfFromEnv::test_return_valid_path PASSED [ 49%] 132s pecan/tests/test_conf.py::TestConfigCleanup::test_conf_changed PASSED [ 49%] 132s pecan/tests/test_conf.py::TestConfigCleanup::test_conf_default PASSED [ 49%] 132s pecan/tests/test_generic.py::TestGeneric::test_generic_allow_header PASSED [ 49%] 132s pecan/tests/test_generic.py::TestGeneric::test_nested_generic PASSED [ 50%] 132s pecan/tests/test_generic.py::TestGeneric::test_simple_generic PASSED [ 50%] 132s pecan/tests/test_generic.py::TestGenericWithSpecialMethods::test_generics_not_allowed PASSED [ 50%] 132s pecan/tests/test_hooks.py::TestHooks::test_basic_isolated_hook PASSED [ 50%] 132s pecan/tests/test_hooks.py::TestHooks::test_basic_multi_hook PASSED [ 50%] 132s pecan/tests/test_hooks.py::TestHooks::test_basic_single_hook PASSED [ 50%] 132s pecan/tests/test_hooks.py::TestHooks::test_internal_redirect_with_after_hook PASSED [ 51%] 132s pecan/tests/test_hooks.py::TestHooks::test_isolated_hook_with_global_hook PASSED [ 51%] 132s pecan/tests/test_hooks.py::TestHooks::test_mixin_hooks PASSED [ 51%] 132s pecan/tests/test_hooks.py::TestHooks::test_on_error_response_hook PASSED [ 51%] 132s pecan/tests/test_hooks.py::TestHooks::test_partial_hooks PASSED [ 51%] 132s pecan/tests/test_hooks.py::TestHooks::test_prioritized_hooks PASSED [ 52%] 132s pecan/tests/test_hooks.py::TestStateAccess::test_mixed_args PASSED [ 52%] 132s pecan/tests/test_hooks.py::TestStateAccess::test_no_args PASSED [ 52%] 132s pecan/tests/test_hooks.py::TestStateAccess::test_single_arg PASSED [ 52%] 132s pecan/tests/test_hooks.py::TestStateAccess::test_single_kw PASSED [ 52%] 132s pecan/tests/test_hooks.py::TestStateAccess::test_single_kw_post PASSED [ 52%] 132s pecan/tests/test_hooks.py::TestStateAccess::test_single_vararg PASSED [ 53%] 132s pecan/tests/test_hooks.py::TestStateAccessWithoutThreadLocals::test_mixed_args PASSED [ 53%] 132s pecan/tests/test_hooks.py::TestStateAccessWithoutThreadLocals::test_no_args PASSED [ 53%] 132s pecan/tests/test_hooks.py::TestStateAccessWithoutThreadLocals::test_single_arg PASSED [ 53%] 132s pecan/tests/test_hooks.py::TestStateAccessWithoutThreadLocals::test_single_kw PASSED [ 53%] 132s pecan/tests/test_hooks.py::TestStateAccessWithoutThreadLocals::test_single_kw_post PASSED [ 54%] 132s pecan/tests/test_hooks.py::TestStateAccessWithoutThreadLocals::test_single_vararg PASSED [ 54%] 132s pecan/tests/test_hooks.py::TestRestControllerStateAccess::test_delete PASSED [ 54%] 132s pecan/tests/test_hooks.py::TestRestControllerStateAccess::test_delete_with_kwargs PASSED [ 54%] 132s pecan/tests/test_hooks.py::TestRestControllerStateAccess::test_delete_with_method_argument PASSED [ 54%] 132s pecan/tests/test_hooks.py::TestRestControllerStateAccess::test_delete_with_varargs PASSED [ 55%] 132s pecan/tests/test_hooks.py::TestRestControllerStateAccess::test_get_all PASSED [ 55%] 132s pecan/tests/test_hooks.py::TestRestControllerStateAccess::test_get_all_with_kwargs PASSED [ 55%] 132s pecan/tests/test_hooks.py::TestRestControllerStateAccess::test_get_one PASSED [ 55%] 132s pecan/tests/test_hooks.py::TestRestControllerStateAccess::test_get_one_with_kwargs PASSED [ 55%] 132s pecan/tests/test_hooks.py::TestRestControllerStateAccess::test_get_one_with_varargs PASSED [ 55%] 132s pecan/tests/test_hooks.py::TestRestControllerStateAccess::test_post PASSED [ 56%] 132s pecan/tests/test_hooks.py::TestRestControllerStateAccess::test_post_with_invalid_method_kwarg PASSED [ 56%] 132s pecan/tests/test_hooks.py::TestRestControllerStateAccess::test_post_with_kwargs PASSED [ 56%] 132s pecan/tests/test_hooks.py::TestRestControllerStateAccess::test_post_with_varargs PASSED [ 56%] 132s pecan/tests/test_hooks.py::TestRestControllerStateAccess::test_put PASSED [ 56%] 132s pecan/tests/test_hooks.py::TestRestControllerStateAccess::test_put_with_kwargs PASSED [ 57%] 132s pecan/tests/test_hooks.py::TestRestControllerStateAccess::test_put_with_method_argument PASSED [ 57%] 132s pecan/tests/test_hooks.py::TestRestControllerStateAccess::test_put_with_varargs PASSED [ 57%] 132s pecan/tests/test_hooks.py::TestTransactionHook::test_transaction_hook PASSED [ 57%] 132s pecan/tests/test_hooks.py::TestTransactionHook::test_transaction_hook_with_after_actions PASSED [ 57%] 132s pecan/tests/test_hooks.py::TestTransactionHook::test_transaction_hook_with_broken_hook PASSED [ 57%] 132s pecan/tests/test_hooks.py::TestTransactionHook::test_transaction_hook_with_transactional_class_decorator PASSED [ 58%] 132s pecan/tests/test_hooks.py::TestTransactionHook::test_transaction_hook_with_transactional_decorator PASSED [ 58%] 132s pecan/tests/test_hooks.py::TestRequestViewerHook::test_bad_response_from_app PASSED [ 58%] 132s pecan/tests/test_hooks.py::TestRequestViewerHook::test_basic_single_default_hook PASSED [ 58%] 132s pecan/tests/test_hooks.py::TestRequestViewerHook::test_deal_with_pecan_configs PASSED [ 58%] 132s pecan/tests/test_hooks.py::TestRequestViewerHook::test_hook_formatting PASSED [ 59%] 132s pecan/tests/test_hooks.py::TestRequestViewerHook::test_item_not_in_defaults PASSED [ 59%] 132s pecan/tests/test_hooks.py::TestRequestViewerHook::test_single_blacklist_item PASSED [ 59%] 132s pecan/tests/test_hooks.py::TestRequestViewerHook::test_single_item PASSED [ 59%] 132s pecan/tests/test_hooks.py::TestRestControllerWithHooks::test_restcontroller_with_hooks PASSED [ 59%] 132s pecan/tests/test_jsonify.py::test_simple_rule PASSED [ 60%] 132s pecan/tests/test_jsonify.py::TestJsonify::test_simple_jsonify PASSED [ 60%] 132s pecan/tests/test_jsonify.py::TestJsonifyGenericEncoder::test_datetime PASSED [ 60%] 132s pecan/tests/test_jsonify.py::TestJsonifyGenericEncoder::test_decimal PASSED [ 60%] 132s pecan/tests/test_jsonify.py::TestJsonifyGenericEncoder::test_fallback_to_builtin_encoder PASSED [ 60%] 132s pecan/tests/test_jsonify.py::TestJsonifyGenericEncoder::test_json_callable PASSED [ 60%] 132s pecan/tests/test_jsonify.py::TestJsonifyGenericEncoder::test_multidict PASSED [ 61%] 132s pecan/tests/test_jsonify.py::TestJsonifySQLAlchemyGenericEncoder::test_result_proxy PASSED [ 61%] 132s pecan/tests/test_jsonify.py::TestJsonifySQLAlchemyGenericEncoder::test_row_proxy PASSED [ 61%] 132s pecan/tests/test_jsonify.py::TestJsonifySQLAlchemyGenericEncoder::test_sa_object PASSED [ 61%] 132s pecan/tests/test_no_thread_locals.py::TestThreadingLocalUsage::test_locals_are_not_used PASSED [ 61%] 132s pecan/tests/test_no_thread_locals.py::TestThreadingLocalUsage::test_threadlocal_argument_warning PASSED [ 62%] 132s pecan/tests/test_no_thread_locals.py::TestThreadingLocalUsage::test_threadlocal_argument_warning_on_generic PASSED [ 62%] 132s pecan/tests/test_no_thread_locals.py::TestThreadingLocalUsage::test_threadlocal_argument_warning_on_generic_delegate PASSED [ 62%] 132s pecan/tests/test_no_thread_locals.py::TestIndexRouting::test_empty_root PASSED [ 62%] 132s pecan/tests/test_no_thread_locals.py::TestIndexRouting::test_index PASSED [ 62%] 132s pecan/tests/test_no_thread_locals.py::TestIndexRouting::test_index_html PASSED [ 62%] 132s pecan/tests/test_no_thread_locals.py::TestManualResponse::test_manual_response PASSED [ 63%] 132s pecan/tests/test_no_thread_locals.py::TestDispatch::test_index PASSED [ 63%] 132s pecan/tests/test_no_thread_locals.py::TestDispatch::test_one_level PASSED [ 63%] 132s pecan/tests/test_no_thread_locals.py::TestDispatch::test_one_level_with_trailing PASSED [ 63%] 132s pecan/tests/test_no_thread_locals.py::TestDispatch::test_three_levels PASSED [ 63%] 132s pecan/tests/test_no_thread_locals.py::TestDispatch::test_two_levels PASSED [ 64%] 132s pecan/tests/test_no_thread_locals.py::TestDispatch::test_two_levels_with_trailing PASSED [ 64%] 132s pecan/tests/test_no_thread_locals.py::TestLookups::test_index PASSED [ 64%] 132s pecan/tests/test_no_thread_locals.py::TestLookups::test_lookup PASSED [ 64%] 132s pecan/tests/test_no_thread_locals.py::TestLookups::test_lookup_with_method PASSED [ 64%] 132s pecan/tests/test_no_thread_locals.py::TestLookups::test_lookup_with_wrong_argspec PASSED [ 65%] 132s pecan/tests/test_no_thread_locals.py::TestCanonicalLookups::test_canonical_lookup PASSED [ 65%] 132s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_argument_and_keyword_argument PASSED [ 65%] 132s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_encoded_argument_and_keyword_argument PASSED [ 65%] 132s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_explicit_kwargs PASSED [ 65%] 132s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_keyword_argument PASSED [ 65%] 132s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_keyword_argument_with_encoded_url PASSED [ 66%] 132s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_kwargs_from_root PASSED [ 66%] 132s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_many_remainders PASSED [ 66%] 132s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_args_with_url_encoded_kwargs PASSED [ 66%] 132s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_encoded_variable_args PASSED [ 66%] 132s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_kwargs PASSED [ 67%] 132s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional PASSED [ 67%] 132s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional_args_with_last_encoded_kwarg PASSED [ 67%] 132s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional_args_with_last_kwarg PASSED [ 67%] 132s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional_args_with_middle_arg PASSED [ 67%] 132s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional_args_with_multiple_dict_kwargs PASSED [ 67%] 132s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional_args_with_multiple_encoded_dict_kwargs PASSED [ 68%] 132s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional_args_with_multiple_encoded_kwargs PASSED [ 68%] 132s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional_args_with_multiple_kwargs PASSED [ 68%] 132s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional_encoded_positional_args_and_dict_kwargs PASSED [ 68%] 132s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional_missing PASSED [ 68%] 132s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional_positional_args PASSED [ 69%] 132s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional_positional_args_all_args PASSED [ 69%] 132s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional_positional_args_all_url_encoded_args PASSED [ 69%] 132s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional_positional_args_and_dict_kwargs PASSED [ 69%] 132s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional_positional_args_one_arg PASSED [ 69%] 132s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional_positional_args_one_url_encoded_arg PASSED [ 70%] 132s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional_positional_args_too_many_args PASSED [ 70%] 132s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional_positional_args_with_dict_kwargs PASSED [ 70%] 132s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional_positional_args_with_encoded_dict_kwargs PASSED [ 70%] 132s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional_positional_args_with_encoded_str_kwargs PASSED [ 70%] 132s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional_positional_args_with_kwargs PASSED [ 70%] 132s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional_positional_args_with_string_kwargs PASSED [ 71%] 132s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional_positional_args_with_url_encoded_kwargs PASSED [ 71%] 132s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional_url_encoded PASSED [ 71%] 132s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_positional_arguments PASSED [ 71%] 132s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_positional_arguments_with_dictionary_kwargs PASSED [ 71%] 132s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_positional_arguments_with_kwargs PASSED [ 72%] 132s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_positional_arguments_with_url_encode PASSED [ 72%] 132s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_positional_arguments_with_url_encoded_kwargs PASSED [ 72%] 132s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_positional_url_encoded_arguments_with_kwargs PASSED [ 72%] 132s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_variable_args PASSED [ 72%] 132s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_variable_kwargs PASSED [ 72%] 132s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_variable_kwargs_with_dict_kwargs PASSED [ 73%] 132s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_variable_kwargs_with_encoded_dict_kwargs PASSED [ 73%] 132s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_variable_kwargs_with_explicit_encoded_kwargs PASSED [ 73%] 132s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_variable_kwargs_with_explicit_kwargs PASSED [ 73%] 132s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_with_kwargs PASSED [ 73%] 132s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_with_url_encoded_kwargs PASSED [ 74%] 132s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_no_remainder PASSED [ 74%] 132s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_one_remainder PASSED [ 74%] 132s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_optional_arg PASSED [ 74%] 132s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_optional_arg_with_kwargs PASSED [ 74%] 132s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_optional_arg_with_multiple_dictionary_kwargs PASSED [ 75%] 132s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_optional_arg_with_multiple_kwargs PASSED [ 75%] 132s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_optional_arg_with_multiple_url_encoded_dictionary_kwargs PASSED [ 75%] 132s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_optional_arg_with_multiple_url_encoded_kwargs PASSED [ 75%] 132s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_optional_arg_with_url_encoded_kwargs PASSED [ 75%] 132s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_path_with_explicit_kwargs PASSED [ 75%] 132s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_positional_args_with_dictionary_kwargs PASSED [ 76%] 132s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_positional_args_with_url_encoded_dictionary_kwargs PASSED [ 76%] 132s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_post_many_remainders PASSED [ 76%] 132s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_post_many_remainders_with_many_kwargs PASSED [ 76%] 132s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_post_remainder PASSED [ 76%] 132s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_post_remainder_with_kwargs PASSED [ 77%] 132s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_post_three_remainders PASSED [ 77%] 132s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_remainder_with_kwargs PASSED [ 77%] 132s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_remainder_with_many_kwargs PASSED [ 77%] 132s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_required_argument PASSED [ 77%] 132s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_single_argument PASSED [ 77%] 132s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_single_argument_with_encoded_url PASSED [ 78%] 132s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_two_arguments PASSED [ 78%] 132s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_two_remainders PASSED [ 78%] 132s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_url_encoded_positional_args PASSED [ 78%] 132s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_variable_all PASSED [ 78%] 132s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_variable_all_with_one_extra PASSED [ 79%] 132s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_variable_all_with_two_extras PASSED [ 79%] 132s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_variable_args PASSED [ 79%] 132s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_variable_args_with_dict_kwargs PASSED [ 79%] 132s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_variable_args_with_kwargs PASSED [ 79%] 132s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_variable_kwargs PASSED [ 80%] 132s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_variable_mixed PASSED [ 80%] 132s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_variable_mixed_explicit PASSED [ 80%] 132s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_variable_post PASSED [ 80%] 132s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_variable_post_mixed PASSED [ 80%] 132s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_variable_post_with_kwargs PASSED [ 80%] 132s pecan/tests/test_no_thread_locals.py::TestRestController::test_custom_action PASSED [ 81%] 132s pecan/tests/test_no_thread_locals.py::TestRestController::test_custom_method_type PASSED [ 81%] 132s pecan/tests/test_no_thread_locals.py::TestRestController::test_custom_method_type_with_method_parameter PASSED [ 81%] 132s pecan/tests/test_no_thread_locals.py::TestRestController::test_delete_method PASSED [ 81%] 132s pecan/tests/test_no_thread_locals.py::TestRestController::test_delete_with_method_parameter PASSED [ 81%] 132s pecan/tests/test_no_thread_locals.py::TestRestController::test_delete_with_method_parameter_and_post PASSED [ 82%] 132s pecan/tests/test_no_thread_locals.py::TestRestController::test_get_all PASSED [ 82%] 132s pecan/tests/test_no_thread_locals.py::TestRestController::test_get_delete PASSED [ 82%] 132s pecan/tests/test_no_thread_locals.py::TestRestController::test_get_one PASSED [ 82%] 132s pecan/tests/test_no_thread_locals.py::TestRestController::test_invalid_custom_action PASSED [ 82%] 132s pecan/tests/test_no_thread_locals.py::TestRestController::test_named_action PASSED [ 82%] 132s pecan/tests/test_no_thread_locals.py::TestRestController::test_named_nested_action PASSED [ 83%] 132s pecan/tests/test_no_thread_locals.py::TestRestController::test_nested_controller_with_trailing_slash PASSED [ 83%] 132s pecan/tests/test_no_thread_locals.py::TestRestController::test_nested_controller_without_trailing_slash PASSED [ 83%] 132s pecan/tests/test_no_thread_locals.py::TestRestController::test_nested_post PASSED [ 83%] 132s pecan/tests/test_no_thread_locals.py::TestRestController::test_options PASSED [ 83%] 132s pecan/tests/test_no_thread_locals.py::TestRestController::test_options_with_method_parameter PASSED [ 84%] 132s pecan/tests/test_no_thread_locals.py::TestRestController::test_other_custom_action PASSED [ 84%] 132s pecan/tests/test_no_thread_locals.py::TestRestController::test_other_custom_action_with_method_parameter PASSED [ 84%] 132s pecan/tests/test_no_thread_locals.py::TestRestController::test_post PASSED [ 84%] 132s pecan/tests/test_no_thread_locals.py::TestRestController::test_put PASSED [ 84%] 132s pecan/tests/test_no_thread_locals.py::TestRestController::test_put_with_method_parameter_and_get PASSED [ 85%] 132s pecan/tests/test_no_thread_locals.py::TestRestController::test_put_with_method_parameter_and_post PASSED [ 85%] 132s pecan/tests/test_no_thread_locals.py::TestHooks::test_basic_isolated_hook PASSED [ 85%] 132s pecan/tests/test_no_thread_locals.py::TestHooks::test_basic_multi_hook PASSED [ 85%] 132s pecan/tests/test_no_thread_locals.py::TestHooks::test_basic_single_hook PASSED [ 85%] 132s pecan/tests/test_no_thread_locals.py::TestHooks::test_isolated_hook_with_global_hook PASSED [ 85%] 132s pecan/tests/test_no_thread_locals.py::TestHooks::test_on_error_response_hook PASSED [ 86%] 132s pecan/tests/test_no_thread_locals.py::TestHooks::test_partial_hooks PASSED [ 86%] 132s pecan/tests/test_no_thread_locals.py::TestHooks::test_prioritized_hooks PASSED [ 86%] 132s pecan/tests/test_no_thread_locals.py::TestGeneric::test_generics_with_im_self_default PASSED [ 86%] 132s pecan/tests/test_no_thread_locals.py::TestGeneric::test_generics_with_im_self_with_extra_args PASSED [ 86%] 132s pecan/tests/test_no_thread_locals.py::TestGeneric::test_generics_with_im_self_with_method PASSED [ 87%] 132s pecan/tests/test_no_thread_locals.py::TestGeneric::test_generics_with_im_self_with_path PASSED [ 87%] 132s pecan/tests/test_rest.py::TestRestController::test_405_with_lookup PASSED [ 87%] 132s pecan/tests/test_rest.py::TestRestController::test_bad_rest PASSED [ 87%] 132s pecan/tests/test_rest.py::TestRestController::test_basic_rest PASSED [ 87%] 132s pecan/tests/test_rest.py::TestRestController::test_complicated_nested_rest PASSED [ 87%] 132s pecan/tests/test_rest.py::TestRestController::test_custom_delete PASSED [ 88%] 132s pecan/tests/test_rest.py::TestRestController::test_custom_with_trailing_slash PASSED [ 88%] 132s pecan/tests/test_rest.py::TestRestController::test_dynamic_rest_lookup PASSED [ 88%] 132s pecan/tests/test_rest.py::TestRestController::test_get_with_var_args PASSED [ 88%] 133s pecan/tests/test_rest.py::TestRestController::test_getall_with_lookup PASSED [ 88%] 133s pecan/tests/test_rest.py::TestRestController::test_getall_with_trailing_slash PASSED [ 89%] 133s pecan/tests/test_rest.py::TestRestController::test_method_not_allowed_delete PASSED [ 89%] 133s pecan/tests/test_rest.py::TestRestController::test_method_not_allowed_get PASSED [ 89%] 133s pecan/tests/test_rest.py::TestRestController::test_method_not_allowed_post PASSED [ 89%] 133s pecan/tests/test_rest.py::TestRestController::test_method_not_allowed_put PASSED [ 89%] 133s pecan/tests/test_rest.py::TestRestController::test_nested_get_all PASSED [ 90%] 133s pecan/tests/test_rest.py::TestRestController::test_nested_get_all_with_lookup PASSED [ 90%] 133s pecan/tests/test_rest.py::TestRestController::test_nested_rest_with_default PASSED [ 90%] 133s pecan/tests/test_rest.py::TestRestController::test_nested_rest_with_lookup PASSED [ 90%] 133s pecan/tests/test_rest.py::TestRestController::test_nested_rest_with_missing_intermediate_id PASSED [ 90%] 133s pecan/tests/test_rest.py::TestRestController::test_post_with_kwargs_only PASSED [ 90%] 133s pecan/tests/test_rest.py::TestRestController::test_proper_allow_header_multiple_gets PASSED [ 91%] 133s pecan/tests/test_rest.py::TestRestController::test_rest_with_utf8_endpoint PASSED [ 91%] 133s pecan/tests/test_rest.py::TestRestController::test_rest_with_utf8_uri PASSED [ 91%] 133s pecan/tests/test_rest.py::TestRestController::test_simple_nested_rest PASSED [ 91%] 133s pecan/tests/test_rest.py::TestRestController::test_sub_nested_rest PASSED [ 91%] 133s pecan/tests/test_rest.py::TestRestController::test_sub_nested_rest_with_overwrites PASSED [ 92%] 133s pecan/tests/test_rest.py::TestExplicitRoute::test_alternate_route PASSED [ 92%] 133s pecan/tests/test_scaffolds.py::TestPecanScaffold::test_normalize_pkg_name PASSED [ 92%] 133s pecan/tests/test_scaffolds.py::TestScaffoldUtils::test_copy_dir PASSED [ 92%] 133s pecan/tests/test_scaffolds.py::TestScaffoldUtils::test_copy_dir_with_file_content_substitution PASSED [ 92%] 133s pecan/tests/test_scaffolds.py::TestScaffoldUtils::test_copy_dir_with_filename_substitution PASSED [ 92%] 133s pecan/tests/test_scaffolds.py::TestScaffoldUtils::test_destination_directory_already_exists PASSED [ 93%] 133s pecan/tests/test_scaffolds.py::TestScaffoldUtils::test_destination_directory_levels_deep PASSED [ 93%] 133s pecan/tests/test_secure.py::TestSecure::test_secure_attribute PASSED [ 93%] 133s pecan/tests/test_secure.py::TestSecure::test_secure_obj_only_failure PASSED [ 93%] 133s pecan/tests/test_secure.py::TestSecure::test_secured_generic_controller PASSED [ 93%] 133s pecan/tests/test_secure.py::TestSecure::test_secured_generic_controller_lambda PASSED [ 94%] 133s pecan/tests/test_secure.py::TestSecure::test_secured_generic_controller_secure_attribute PASSED [ 94%] 133s pecan/tests/test_secure.py::TestSecure::test_secured_generic_controller_secure_attribute_with_unlocked PASSED [ 94%] 133s pecan/tests/test_secure.py::TestSecure::test_simple_secure PASSED [ 94%] 133s pecan/tests/test_secure.py::TestSecure::test_state_attribute PASSED [ 94%] 133s pecan/tests/test_secure.py::TestSecure::test_unlocked_attribute PASSED [ 95%] 133s pecan/tests/test_secure.py::TestObjectPathSecurity::test_cyclical_protection PASSED [ 95%] 133s pecan/tests/test_secure.py::TestObjectPathSecurity::test_independent_check_failure PASSED [ 95%] 133s pecan/tests/test_secure.py::TestObjectPathSecurity::test_independent_check_success PASSED [ 95%] 133s pecan/tests/test_secure.py::TestObjectPathSecurity::test_layered_protection PASSED [ 95%] 133s pecan/tests/test_secure.py::TestObjectPathSecurity::test_lookup_to_wrapped_attribute_on_self PASSED [ 95%] 133s pecan/tests/test_secure.py::TestObjectPathSecurity::test_mixed_protection PASSED [ 96%] 133s pecan/tests/test_secure.py::TestObjectPathSecurity::test_protected_lookup PASSED [ 96%] 133s pecan/tests/test_secure.py::TestObjectPathSecurity::test_secret_through_lookup PASSED [ 96%] 133s pecan/tests/test_secure.py::TestObjectPathSecurity::test_secured_notfound_lookup PASSED [ 96%] 133s pecan/tests/test_secure.py::TestObjectPathSecurity::test_sub_of_both_not_secret PASSED [ 96%] 133s pecan/tests/test_secure.py::TestObjectPathSecurity::test_unlocked_attribute_in_insecure PASSED [ 97%] 133s pecan/tests/test_secure.py::TestObjectPathSecurity::test_unlocked_lookup PASSED [ 97%] 133s pecan/tests/test_secure.py::TestObjectPathSecurity::test_wrapped_attribute_failure PASSED [ 97%] 133s pecan/tests/test_secure.py::TestObjectPathSecurity::test_wrapped_attribute_success PASSED [ 97%] 133s pecan/tests/test_secure.py::SecureControllerSharedPermissionsRegression::test_inherited_security PASSED [ 97%] 133s pecan/tests/test_templating.py::TestTemplate::test_available PASSED [ 97%] 133s pecan/tests/test_templating.py::TestTemplate::test_create_bad PASSED [ 98%] 133s pecan/tests/test_templating.py::TestTemplate::test_extra_vars PASSED [ 98%] 133s pecan/tests/test_templating.py::TestTemplate::test_update_extra_vars PASSED [ 98%] 133s pecan/tests/test_templating.py::TestTemplateLineFormat::test_format_line_context PASSED [ 98%] 133s pecan/tests/test_util.py::TestArgSpec::test_class_based_decorator PASSED [ 98%] 133s pecan/tests/test_util.py::TestArgSpec::test_decorator_with_args PASSED [ 99%] 133s pecan/tests/test_util.py::TestArgSpec::test_multiple_decorators PASSED [ 99%] 133s pecan/tests/test_util.py::TestArgSpec::test_nested_cells PASSED [ 99%] 133s pecan/tests/test_util.py::TestArgSpec::test_no_decorator PASSED [ 99%] 133s pecan/tests/test_util.py::TestArgSpec::test_simple_decorator PASSED [ 99%] 133s pecan/tests/test_util.py::TestArgSpec::test_simple_wrapper PASSED [100%] 133s 133s =============================== warnings summary =============================== 133s pecan/tests/middleware/test_static.py::TestStaticFileMiddleware::test_file_can_be_closed 133s pecan/tests/middleware/test_static.py::TestStaticFileMiddleware::test_file_can_be_found 133s pecan/tests/middleware/test_static.py::TestStaticFileMiddleware::test_file_can_be_iterated_over 133s pecan/tests/middleware/test_static.py::TestStaticFileMiddleware::test_mime_type_works_for_png_files 133s pecan/tests/middleware/test_static.py::TestStaticFileMiddleware::test_separator_sanitization_still_finds_file 133s /tmp/autopkgtest.kypXMw/build.gAY/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). 133s datetime.utcfromtimestamp(os.path.getmtime(filename)), 133s 133s pecan/tests/test_commands.py::TestCommandManager::test_commands 133s /tmp/autopkgtest.kypXMw/build.gAY/src/pecan/commands/base.py:1: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html 133s import pkg_resources 133s 133s pecan/tests/test_conf.py::TestConf::test_config_from_file 133s pecan/tests/test_conf.py::TestConf::test_config_illegal_ids 133s pecan/tests/test_conf.py::TestConf::test_config_with_bad_import 133s pecan/tests/test_conf.py::TestConf::test_update_force_dict 133s pecan/tests/test_conf.py::TestConf::test_update_set_config 133s pecan/tests/test_conf.py::TestConf::test_update_set_default_config 133s pecan/tests/test_conf.py::TestGlobalConfig::test_overwrite_from_file 133s pecan/tests/test_conf.py::TestGlobalConfig::test_paint_from_file 133s :533: DeprecationWarning: the load_module() method is deprecated and slated for removal in Python 3.15; use exec_module() instead 133s 133s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 133s ================ 540 passed, 3 deselected, 14 warnings in 3.61s ================ 133s ============================= test session starts ============================== 133s platform linux -- Python 3.13.9, pytest-8.3.5, pluggy-1.6.0 -- /usr/bin/python3.13 133s cachedir: .pytest_cache 133s rootdir: /tmp/autopkgtest.kypXMw/build.gAY/src 133s configfile: setup.cfg 133s plugins: typeguard-4.4.2 135s collecting ... collected 543 items / 3 deselected / 540 selected 135s 135s pecan/tests/middleware/test_errordocument.py::TestErrorDocumentMiddleware::test_error_endpoint_with_query_string PASSED [ 0%] 135s pecan/tests/middleware/test_errordocument.py::TestErrorDocumentMiddleware::test_error_with_recursion_loop PASSED [ 0%] 135s pecan/tests/middleware/test_errordocument.py::TestErrorDocumentMiddleware::test_hit_error_page PASSED [ 0%] 135s pecan/tests/middleware/test_errordocument.py::TestErrorDocumentMiddleware::test_middleware_routes_to_404_message PASSED [ 0%] 135s pecan/tests/middleware/test_errordocument.py::TestErrorDocumentMiddleware::test_original_exception PASSED [ 0%] 135s pecan/tests/middleware/test_recursive.py::TestRecursiveMiddleware::test_ForwardRequestException PASSED [ 1%] 135s pecan/tests/middleware/test_recursive.py::TestRecursiveMiddleware::test_ForwardRequest_environ PASSED [ 1%] 135s pecan/tests/middleware/test_recursive.py::TestRecursiveMiddleware::test_ForwardRequest_factory PASSED [ 1%] 135s pecan/tests/middleware/test_recursive.py::TestRecursiveMiddleware::test_ForwardRequest_url PASSED [ 1%] 135s pecan/tests/middleware/test_recursive.py::TestRecursiveMiddleware::test_ForwardRequest_url_with_params PASSED [ 1%] 135s pecan/tests/middleware/test_static.py::TestStaticFileMiddleware::test_date_dumping_on_unix_timestamps PASSED [ 2%] 135s pecan/tests/middleware/test_static.py::TestStaticFileMiddleware::test_file_can_be_closed PASSED [ 2%] 135s pecan/tests/middleware/test_static.py::TestStaticFileMiddleware::test_file_can_be_found PASSED [ 2%] 135s pecan/tests/middleware/test_static.py::TestStaticFileMiddleware::test_file_can_be_iterated_over PASSED [ 2%] 135s pecan/tests/middleware/test_static.py::TestStaticFileMiddleware::test_mime_type_works_for_png_files PASSED [ 2%] 135s pecan/tests/middleware/test_static.py::TestStaticFileMiddleware::test_no_file_found_causes_passthrough PASSED [ 2%] 135s pecan/tests/middleware/test_static.py::TestStaticFileMiddleware::test_separator_sanitization_still_finds_file PASSED [ 3%] 135s pecan/tests/test_base.py::TestAppRoot::test_controller_lookup_by_string_path PASSED [ 3%] 135s pecan/tests/test_base.py::TestEmptyContent::test_empty_body PASSED [ 3%] 135s pecan/tests/test_base.py::TestEmptyContent::test_empty_index PASSED [ 3%] 135s pecan/tests/test_base.py::TestEmptyContent::test_empty_text PASSED [ 3%] 135s pecan/tests/test_base.py::TestEmptyContent::test_explicit_body PASSED [ 4%] 135s pecan/tests/test_base.py::TestEmptyContent::test_explicit_json PASSED [ 4%] 135s pecan/tests/test_base.py::TestEmptyContent::test_explicit_json_body PASSED [ 4%] 135s pecan/tests/test_base.py::TestEmptyContent::test_explicit_text PASSED [ 4%] 135s pecan/tests/test_base.py::TestEmptyContent::test_index_with_non_unicode PASSED [ 4%] 135s pecan/tests/test_base.py::TestAppIterFile::test_body_generator PASSED [ 5%] 135s pecan/tests/test_base.py::TestAppIterFile::test_empty_body_generator PASSED [ 5%] 135s pecan/tests/test_base.py::TestInvalidURLEncoding::test_rest_with_non_utf_8_body PASSED [ 5%] 135s pecan/tests/test_base.py::TestIndexRouting::test_empty_root PASSED [ 5%] 135s pecan/tests/test_base.py::TestIndexRouting::test_index PASSED [ 5%] 135s pecan/tests/test_base.py::TestIndexRouting::test_index_html PASSED [ 5%] 135s pecan/tests/test_base.py::TestObjectDispatch::test_index PASSED [ 6%] 135s pecan/tests/test_base.py::TestObjectDispatch::test_one_level PASSED [ 6%] 135s pecan/tests/test_base.py::TestObjectDispatch::test_one_level_with_trailing PASSED [ 6%] 135s pecan/tests/test_base.py::TestObjectDispatch::test_three_levels PASSED [ 6%] 135s pecan/tests/test_base.py::TestObjectDispatch::test_two_levels PASSED [ 6%] 135s pecan/tests/test_base.py::TestObjectDispatch::test_two_levels_with_trailing PASSED [ 7%] 135s pecan/tests/test_base.py::TestUnicodePathSegments::test_unicode_child PASSED [ 7%] 135s pecan/tests/test_base.py::TestUnicodePathSegments::test_unicode_methods PASSED [ 7%] 135s pecan/tests/test_base.py::TestLookups::test_index PASSED [ 7%] 135s pecan/tests/test_base.py::TestLookups::test_lookup PASSED [ 7%] 135s pecan/tests/test_base.py::TestLookups::test_lookup_with_method PASSED [ 7%] 135s pecan/tests/test_base.py::TestLookups::test_lookup_with_wrong_argspec PASSED [ 8%] 135s pecan/tests/test_base.py::TestLookups::test_lookup_with_wrong_return PASSED [ 8%] 135s pecan/tests/test_base.py::TestCanonicalLookups::test_canonical_lookup PASSED [ 8%] 135s pecan/tests/test_base.py::TestControllerArguments::test_argument_and_keyword_argument PASSED [ 8%] 135s pecan/tests/test_base.py::TestControllerArguments::test_duplicate_query_parameters_GET PASSED [ 8%] 135s pecan/tests/test_base.py::TestControllerArguments::test_duplicate_query_parameters_POST PASSED [ 9%] 135s pecan/tests/test_base.py::TestControllerArguments::test_duplicate_query_parameters_POST_mixed PASSED [ 9%] 135s pecan/tests/test_base.py::TestControllerArguments::test_duplicate_query_parameters_POST_mixed_json PASSED [ 9%] 135s pecan/tests/test_base.py::TestControllerArguments::test_encoded_argument_and_keyword_argument PASSED [ 9%] 135s pecan/tests/test_base.py::TestControllerArguments::test_explicit_json_kwargs PASSED [ 9%] 135s pecan/tests/test_base.py::TestControllerArguments::test_explicit_kwargs PASSED [ 10%] 135s pecan/tests/test_base.py::TestControllerArguments::test_json_kwargs_from_root PASSED [ 10%] 135s pecan/tests/test_base.py::TestControllerArguments::test_keyword_argument PASSED [ 10%] 135s pecan/tests/test_base.py::TestControllerArguments::test_keyword_argument_with_encoded_plus PASSED [ 10%] 135s pecan/tests/test_base.py::TestControllerArguments::test_keyword_argument_with_encoded_url PASSED [ 10%] 135s pecan/tests/test_base.py::TestControllerArguments::test_keyword_argument_with_plus PASSED [ 10%] 135s pecan/tests/test_base.py::TestControllerArguments::test_kwargs_from_root PASSED [ 11%] 135s pecan/tests/test_base.py::TestControllerArguments::test_many_remainders PASSED [ 11%] 135s pecan/tests/test_base.py::TestControllerArguments::test_multiple_args_with_url_encoded_kwargs PASSED [ 11%] 135s pecan/tests/test_base.py::TestControllerArguments::test_multiple_encoded_variable_args PASSED [ 11%] 135s pecan/tests/test_base.py::TestControllerArguments::test_multiple_kwargs PASSED [ 11%] 135s pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional PASSED [ 12%] 135s pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_args_with_last_encoded_kwarg PASSED [ 12%] 135s pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_args_with_last_kwarg PASSED [ 12%] 135s pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_args_with_middle_arg PASSED [ 12%] 135s pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_args_with_multiple_dict_kwargs PASSED [ 12%] 135s pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_args_with_multiple_encoded_dict_kwargs PASSED [ 12%] 135s pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_args_with_multiple_encoded_kwargs PASSED [ 13%] 135s pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_args_with_multiple_json_kwargs PASSED [ 13%] 135s pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_args_with_multiple_kwargs PASSED [ 13%] 135s pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_encoded_positional_args_and_dict_kwargs PASSED [ 13%] 135s pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_missing PASSED [ 13%] 135s pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_positional_args PASSED [ 14%] 135s pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_positional_args_all_args PASSED [ 14%] 135s pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_positional_args_all_url_encoded_args PASSED [ 14%] 135s pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_positional_args_and_dict_kwargs PASSED [ 14%] 135s pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_positional_args_and_json_kwargs PASSED [ 14%] 135s pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_positional_args_one_arg PASSED [ 15%] 135s pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_positional_args_one_url_encoded_arg PASSED [ 15%] 135s pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_positional_args_too_many_args PASSED [ 15%] 135s pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_positional_args_with_dict_kwargs PASSED [ 15%] 135s pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_positional_args_with_encoded_dict_kwargs PASSED [ 15%] 135s pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_positional_args_with_encoded_str_kwargs PASSED [ 15%] 135s pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_positional_args_with_json_kwargs PASSED [ 16%] 135s pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_positional_args_with_kwargs PASSED [ 16%] 135s pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_positional_args_with_string_kwargs PASSED [ 16%] 135s pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_positional_args_with_url_encoded_kwargs PASSED [ 16%] 135s pecan/tests/test_base.py::TestControllerArguments::test_multiple_optional_url_encoded PASSED [ 16%] 135s pecan/tests/test_base.py::TestControllerArguments::test_multiple_positional_arguments PASSED [ 17%] 135s pecan/tests/test_base.py::TestControllerArguments::test_multiple_positional_arguments_with_dictionary_kwargs PASSED [ 17%] 135s pecan/tests/test_base.py::TestControllerArguments::test_multiple_positional_arguments_with_json_kwargs PASSED [ 17%] 135s pecan/tests/test_base.py::TestControllerArguments::test_multiple_positional_arguments_with_kwargs PASSED [ 17%] 135s pecan/tests/test_base.py::TestControllerArguments::test_multiple_positional_arguments_with_url_encode PASSED [ 17%] 135s pecan/tests/test_base.py::TestControllerArguments::test_multiple_positional_arguments_with_url_encoded_kwargs PASSED [ 17%] 135s pecan/tests/test_base.py::TestControllerArguments::test_multiple_positional_url_encoded_arguments_with_kwargs PASSED [ 18%] 135s pecan/tests/test_base.py::TestControllerArguments::test_multiple_variable_args PASSED [ 18%] 135s pecan/tests/test_base.py::TestControllerArguments::test_multiple_variable_kwargs PASSED [ 18%] 135s pecan/tests/test_base.py::TestControllerArguments::test_multiple_variable_kwargs_with_dict_kwargs PASSED [ 18%] 135s pecan/tests/test_base.py::TestControllerArguments::test_multiple_variable_kwargs_with_encoded_dict_kwargs PASSED [ 18%] 135s pecan/tests/test_base.py::TestControllerArguments::test_multiple_variable_kwargs_with_explicit_encoded_kwargs PASSED [ 19%] 135s pecan/tests/test_base.py::TestControllerArguments::test_multiple_variable_kwargs_with_explicit_kwargs PASSED [ 19%] 135s pecan/tests/test_base.py::TestControllerArguments::test_multiple_variable_kwargs_with_json_kwargs PASSED [ 19%] 135s pecan/tests/test_base.py::TestControllerArguments::test_multiple_with_kwargs PASSED [ 19%] 135s pecan/tests/test_base.py::TestControllerArguments::test_multiple_with_url_encoded_kwargs PASSED [ 19%] 135s pecan/tests/test_base.py::TestControllerArguments::test_no_remainder PASSED [ 20%] 135s pecan/tests/test_base.py::TestControllerArguments::test_one_remainder PASSED [ 20%] 135s pecan/tests/test_base.py::TestControllerArguments::test_optional_arg PASSED [ 20%] 135s pecan/tests/test_base.py::TestControllerArguments::test_optional_arg_with_json_kwargs PASSED [ 20%] 135s pecan/tests/test_base.py::TestControllerArguments::test_optional_arg_with_kwargs PASSED [ 20%] 135s pecan/tests/test_base.py::TestControllerArguments::test_optional_arg_with_multiple_dictionary_kwargs PASSED [ 20%] 135s pecan/tests/test_base.py::TestControllerArguments::test_optional_arg_with_multiple_json_kwargs PASSED [ 21%] 135s pecan/tests/test_base.py::TestControllerArguments::test_optional_arg_with_multiple_kwargs PASSED [ 21%] 135s pecan/tests/test_base.py::TestControllerArguments::test_optional_arg_with_multiple_url_encoded_dictionary_kwargs PASSED [ 21%] 135s pecan/tests/test_base.py::TestControllerArguments::test_optional_arg_with_multiple_url_encoded_kwargs PASSED [ 21%] 135s pecan/tests/test_base.py::TestControllerArguments::test_optional_arg_with_url_encoded_kwargs PASSED [ 21%] 135s pecan/tests/test_base.py::TestControllerArguments::test_path_with_explicit_json_kwargs PASSED [ 22%] 135s pecan/tests/test_base.py::TestControllerArguments::test_path_with_explicit_kwargs PASSED [ 22%] 135s pecan/tests/test_base.py::TestControllerArguments::test_positional_args_with_dictionary_kwargs PASSED [ 22%] 135s pecan/tests/test_base.py::TestControllerArguments::test_positional_args_with_json_kwargs PASSED [ 22%] 135s pecan/tests/test_base.py::TestControllerArguments::test_positional_args_with_url_encoded_dictionary_kwargs PASSED [ 22%] 135s pecan/tests/test_base.py::TestControllerArguments::test_post_empty_remainder_with_json_kwargs PASSED [ 22%] 135s pecan/tests/test_base.py::TestControllerArguments::test_post_many_remainders PASSED [ 23%] 135s pecan/tests/test_base.py::TestControllerArguments::test_post_many_remainders_with_many_json_kwargs PASSED [ 23%] 135s pecan/tests/test_base.py::TestControllerArguments::test_post_many_remainders_with_many_kwargs PASSED [ 23%] 135s pecan/tests/test_base.py::TestControllerArguments::test_post_remainder PASSED [ 23%] 135s pecan/tests/test_base.py::TestControllerArguments::test_post_remainder_with_json_kwargs PASSED [ 23%] 135s pecan/tests/test_base.py::TestControllerArguments::test_post_remainder_with_kwargs PASSED [ 24%] 135s pecan/tests/test_base.py::TestControllerArguments::test_post_three_remainders PASSED [ 24%] 135s pecan/tests/test_base.py::TestControllerArguments::test_remainder_with_kwargs PASSED [ 24%] 135s pecan/tests/test_base.py::TestControllerArguments::test_remainder_with_many_kwargs PASSED [ 24%] 135s pecan/tests/test_base.py::TestControllerArguments::test_required_argument PASSED [ 24%] 135s pecan/tests/test_base.py::TestControllerArguments::test_single_argument PASSED [ 25%] 135s pecan/tests/test_base.py::TestControllerArguments::test_single_argument_with_encoded_plus PASSED [ 25%] 135s pecan/tests/test_base.py::TestControllerArguments::test_single_argument_with_encoded_url PASSED [ 25%] 135s pecan/tests/test_base.py::TestControllerArguments::test_single_argument_with_plus PASSED [ 25%] 135s pecan/tests/test_base.py::TestControllerArguments::test_staticmethod PASSED [ 25%] 135s pecan/tests/test_base.py::TestControllerArguments::test_two_arguments PASSED [ 25%] 135s pecan/tests/test_base.py::TestControllerArguments::test_two_remainders PASSED [ 26%] 135s pecan/tests/test_base.py::TestControllerArguments::test_url_encoded_positional_args PASSED [ 26%] 135s pecan/tests/test_base.py::TestControllerArguments::test_variable_all PASSED [ 26%] 135s pecan/tests/test_base.py::TestControllerArguments::test_variable_all_with_one_extra PASSED [ 26%] 135s pecan/tests/test_base.py::TestControllerArguments::test_variable_all_with_two_extras PASSED [ 26%] 135s pecan/tests/test_base.py::TestControllerArguments::test_variable_args PASSED [ 27%] 135s pecan/tests/test_base.py::TestControllerArguments::test_variable_args_with_dict_kwargs PASSED [ 27%] 135s pecan/tests/test_base.py::TestControllerArguments::test_variable_args_with_json_kwargs PASSED [ 27%] 135s pecan/tests/test_base.py::TestControllerArguments::test_variable_args_with_kwargs PASSED [ 27%] 135s pecan/tests/test_base.py::TestControllerArguments::test_variable_kwargs PASSED [ 27%] 135s pecan/tests/test_base.py::TestControllerArguments::test_variable_mixed PASSED [ 27%] 135s pecan/tests/test_base.py::TestControllerArguments::test_variable_mixed_explicit PASSED [ 28%] 135s pecan/tests/test_base.py::TestControllerArguments::test_variable_post PASSED [ 28%] 135s pecan/tests/test_base.py::TestControllerArguments::test_variable_post_mixed PASSED [ 28%] 135s pecan/tests/test_base.py::TestControllerArguments::test_variable_post_mixed_with_json PASSED [ 28%] 135s pecan/tests/test_base.py::TestControllerArguments::test_variable_post_with_json_kwargs PASSED [ 28%] 135s pecan/tests/test_base.py::TestControllerArguments::test_variable_post_with_kwargs PASSED [ 29%] 135s pecan/tests/test_base.py::TestDefaultErrorRendering::test_html_error PASSED [ 29%] 135s pecan/tests/test_base.py::TestDefaultErrorRendering::test_json_error PASSED [ 29%] 135s pecan/tests/test_base.py::TestDefaultErrorRendering::test_plain_error PASSED [ 29%] 135s pecan/tests/test_base.py::TestAbort::test_abort PASSED [ 29%] 135s pecan/tests/test_base.py::TestAbort::test_abort_keeps_traceback PASSED [ 30%] 135s pecan/tests/test_base.py::TestAbort::test_abort_with_detail PASSED [ 30%] 135s pecan/tests/test_base.py::TestScriptName::test_handle_script_name PASSED [ 30%] 135s pecan/tests/test_base.py::TestRedirect::test_index PASSED [ 30%] 135s pecan/tests/test_base.py::TestRedirect::test_internal PASSED [ 30%] 135s pecan/tests/test_base.py::TestRedirect::test_internal_with_301 PASSED [ 30%] 135s pecan/tests/test_base.py::TestRedirect::test_permanent_redirect PASSED [ 31%] 135s pecan/tests/test_base.py::TestRedirect::test_x_forward_proto PASSED [ 31%] 135s pecan/tests/test_base.py::TestInternalRedirectContext::test_context_does_not_bleed PASSED [ 31%] 135s pecan/tests/test_base.py::TestInternalRedirectContext::test_internal_with_request_context PASSED [ 31%] 135s pecan/tests/test_base.py::TestStreamedResponse::test_streaming_response PASSED [ 31%] 135s pecan/tests/test_base.py::TestManualResponse::test_manual_response PASSED [ 32%] 135s pecan/tests/test_base.py::TestCustomResponseandRequest::test_custom_objects PASSED [ 32%] 135s pecan/tests/test_base.py::TestThreadLocalState::test_request_state_cleanup PASSED [ 32%] 135s pecan/tests/test_base.py::TestThreadLocalState::test_thread_local_dir PASSED [ 32%] 135s pecan/tests/test_base.py::TestFileTypeExtensions::test_bad_content_type PASSED [ 32%] 135s pecan/tests/test_base.py::TestFileTypeExtensions::test_content_type_guessing_disabled PASSED [ 32%] 135s pecan/tests/test_base.py::TestFileTypeExtensions::test_guessing_disabled PASSED [ 33%] 135s pecan/tests/test_base.py::TestFileTypeExtensions::test_hidden_file PASSED [ 33%] 135s pecan/tests/test_base.py::TestFileTypeExtensions::test_html_extension PASSED [ 33%] 135s pecan/tests/test_base.py::TestFileTypeExtensions::test_image_extension PASSED [ 33%] 135s pecan/tests/test_base.py::TestFileTypeExtensions::test_multi_dot_extension PASSED [ 33%] 135s pecan/tests/test_base.py::TestFileTypeExtensions::test_unknown_file_extension PASSED [ 34%] 135s pecan/tests/test_base.py::TestContentTypeByAcceptHeaders::test_accept_header_missing PASSED [ 34%] 135s pecan/tests/test_base.py::TestContentTypeByAcceptHeaders::test_discarded_accept_parameters PASSED [ 34%] 135s pecan/tests/test_base.py::TestContentTypeByAcceptHeaders::test_file_extension_has_higher_precedence PASSED [ 34%] 135s pecan/tests/test_base.py::TestContentTypeByAcceptHeaders::test_missing_accept PASSED [ 34%] 135s pecan/tests/test_base.py::TestContentTypeByAcceptHeaders::test_not_acceptable PASSED [ 35%] 135s pecan/tests/test_base.py::TestContentTypeByAcceptHeaders::test_quality PASSED [ 35%] 135s pecan/tests/test_base.py::TestCanonicalRouting::test_accept_noncanonical PASSED [ 35%] 135s pecan/tests/test_base.py::TestCanonicalRouting::test_accept_noncanonical_no_trailing_slash PASSED [ 35%] 135s pecan/tests/test_base.py::TestCanonicalRouting::test_broken_clients PASSED [ 35%] 135s pecan/tests/test_base.py::TestCanonicalRouting::test_index PASSED [ 35%] 135s pecan/tests/test_base.py::TestCanonicalRouting::test_posts_fail PASSED [ 36%] 135s pecan/tests/test_base.py::TestCanonicalRouting::test_root PASSED [ 36%] 135s pecan/tests/test_base.py::TestCanonicalRouting::test_sub_controller_redirect PASSED [ 36%] 135s pecan/tests/test_base.py::TestCanonicalRouting::test_sub_controller_with_trailing PASSED [ 36%] 135s pecan/tests/test_base.py::TestCanonicalRouting::test_with_args PASSED [ 36%] 135s pecan/tests/test_base.py::TestCanonicalRouting::test_with_query_string PASSED [ 37%] 135s pecan/tests/test_base.py::TestNonCanonical::test_app_wrap PASSED [ 37%] 136s pecan/tests/test_base.py::TestNonCanonical::test_index PASSED [ 37%] 136s pecan/tests/test_base.py::TestNonCanonical::test_proxy PASSED [ 37%] 136s pecan/tests/test_base.py::TestNonCanonical::test_sub_controller_with_trailing PASSED [ 37%] 136s pecan/tests/test_base.py::TestNonCanonical::test_subcontroller PASSED [ 37%] 136s pecan/tests/test_base.py::TestNonCanonical::test_subcontroller_with_kwargs PASSED [ 38%] 136s pecan/tests/test_base.py::TestLogging::test_logging_setup PASSED [ 38%] 136s pecan/tests/test_base.py::TestLogging::test_logging_setup_with_config_obj PASSED [ 38%] 136s pecan/tests/test_base.py::TestEngines::test_custom_renderer PASSED [ 38%] 136s pecan/tests/test_base.py::TestEngines::test_default_json_renderer PASSED [ 38%] 136s pecan/tests/test_base.py::TestEngines::test_default_json_renderer_with_explicit_content_type PASSED [ 39%] 136s pecan/tests/test_base.py::TestEngines::test_jinja PASSED [ 39%] 136s pecan/tests/test_base.py::TestEngines::test_json PASSED [ 39%] 136s pecan/tests/test_base.py::TestEngines::test_kajiki PASSED [ 39%] 136s pecan/tests/test_base.py::TestEngines::test_override_template PASSED [ 39%] 136s pecan/tests/test_base.py::TestEngines::test_render PASSED [ 40%] 136s pecan/tests/test_base.py::TestEngines::test_renderer_not_found PASSED [ 40%] 136s pecan/tests/test_base.py::TestDeprecatedRouteMethod::test_required_argument PASSED [ 40%] 136s pecan/tests/test_base.py::TestExplicitRoute::test_alternate_route PASSED [ 40%] 136s pecan/tests/test_base.py::TestExplicitRoute::test_conflicting_custom_routes PASSED [ 40%] 136s pecan/tests/test_base.py::TestExplicitRoute::test_conflicting_custom_routes_in_subclass PASSED [ 40%] 136s pecan/tests/test_base.py::TestExplicitRoute::test_custom_route_on_index PASSED [ 41%] 136s pecan/tests/test_base.py::TestExplicitRoute::test_custom_route_prohibited_on_default PASSED [ 41%] 136s pecan/tests/test_base.py::TestExplicitRoute::test_custom_route_prohibited_on_generic_controllers PASSED [ 41%] 136s pecan/tests/test_base.py::TestExplicitRoute::test_custom_route_prohibited_on_lookup PASSED [ 41%] 136s pecan/tests/test_base.py::TestExplicitRoute::test_custom_route_prohibited_on_route PASSED [ 41%] 136s pecan/tests/test_base.py::TestExplicitRoute::test_custom_route_with_attribute_conflict PASSED [ 42%] 136s pecan/tests/test_base.py::TestExplicitRoute::test_custom_route_with_generic_controllers PASSED [ 42%] 136s pecan/tests/test_base.py::TestExplicitRoute::test_invalid_route_arguments PASSED [ 42%] 136s pecan/tests/test_base.py::TestExplicitRoute::test_manual_route PASSED [ 42%] 136s pecan/tests/test_base.py::TestExplicitRoute::test_manual_route_conflict PASSED [ 42%] 136s pecan/tests/test_commands.py::TestCommandManager::test_commands PASSED [ 42%] 136s pecan/tests/test_commands.py::TestCommandRunner::test_commands PASSED [ 43%] 136s pecan/tests/test_commands.py::TestCommandRunner::test_run PASSED [ 43%] 136s pecan/tests/test_commands.py::TestCreateCommand::test_run PASSED [ 43%] 136s pecan/tests/test_conf.py::TestConf::test_config_bad_key PASSED [ 43%] 136s pecan/tests/test_conf.py::TestConf::test_config_dir PASSED [ 43%] 136s pecan/tests/test_conf.py::TestConf::test_config_from_dict PASSED [ 44%] 136s pecan/tests/test_conf.py::TestConf::test_config_from_file PASSED [ 44%] 136s pecan/tests/test_conf.py::TestConf::test_config_get_invalid_key PASSED [ 44%] 136s pecan/tests/test_conf.py::TestConf::test_config_get_invalid_key_return_default PASSED [ 44%] 136s pecan/tests/test_conf.py::TestConf::test_config_get_valid_key PASSED [ 44%] 136s pecan/tests/test_conf.py::TestConf::test_config_illegal_ids PASSED [ 45%] 136s pecan/tests/test_conf.py::TestConf::test_config_missing_file PASSED [ 45%] 136s pecan/tests/test_conf.py::TestConf::test_config_missing_file_on_path PASSED [ 45%] 136s pecan/tests/test_conf.py::TestConf::test_config_repr PASSED [ 45%] 136s pecan/tests/test_conf.py::TestConf::test_config_to_dict PASSED [ 45%] 136s pecan/tests/test_conf.py::TestConf::test_config_to_dict_nested PASSED [ 45%] 136s pecan/tests/test_conf.py::TestConf::test_config_to_dict_prefixed PASSED [ 46%] 136s pecan/tests/test_conf.py::TestConf::test_config_with_bad_import PASSED [ 46%] 136s pecan/tests/test_conf.py::TestConf::test_config_with_syntax_error PASSED [ 46%] 136s pecan/tests/test_conf.py::TestConf::test_update_config_fail_identifier PASSED [ 46%] 136s pecan/tests/test_conf.py::TestConf::test_update_config_fail_message PASSED [ 46%] 136s pecan/tests/test_conf.py::TestConf::test_update_config_with_dict PASSED [ 47%] 136s pecan/tests/test_conf.py::TestConf::test_update_force_dict PASSED [ 47%] 136s pecan/tests/test_conf.py::TestConf::test_update_set_config PASSED [ 47%] 136s pecan/tests/test_conf.py::TestConf::test_update_set_default_config PASSED [ 47%] 136s pecan/tests/test_conf.py::TestGlobalConfig::test_overwrite_from_dict PASSED [ 47%] 136s pecan/tests/test_conf.py::TestGlobalConfig::test_overwrite_from_file PASSED [ 47%] 136s pecan/tests/test_conf.py::TestGlobalConfig::test_paint_from_dict PASSED [ 48%] 136s pecan/tests/test_conf.py::TestGlobalConfig::test_paint_from_file PASSED [ 48%] 136s pecan/tests/test_conf.py::TestGlobalConfig::test_set_config_none_type PASSED [ 48%] 136s pecan/tests/test_conf.py::TestGlobalConfig::test_set_config_to_dir PASSED [ 48%] 136s pecan/tests/test_conf.py::TestConfFromEnv::test_invalid_path PASSED [ 48%] 136s pecan/tests/test_conf.py::TestConfFromEnv::test_is_not_set PASSED [ 49%] 136s pecan/tests/test_conf.py::TestConfFromEnv::test_return_valid_path PASSED [ 49%] 136s pecan/tests/test_conf.py::TestConfigCleanup::test_conf_changed PASSED [ 49%] 136s pecan/tests/test_conf.py::TestConfigCleanup::test_conf_default PASSED [ 49%] 136s pecan/tests/test_generic.py::TestGeneric::test_generic_allow_header PASSED [ 49%] 136s pecan/tests/test_generic.py::TestGeneric::test_nested_generic PASSED [ 50%] 136s pecan/tests/test_generic.py::TestGeneric::test_simple_generic PASSED [ 50%] 136s pecan/tests/test_generic.py::TestGenericWithSpecialMethods::test_generics_not_allowed PASSED [ 50%] 136s pecan/tests/test_hooks.py::TestHooks::test_basic_isolated_hook PASSED [ 50%] 136s pecan/tests/test_hooks.py::TestHooks::test_basic_multi_hook PASSED [ 50%] 136s pecan/tests/test_hooks.py::TestHooks::test_basic_single_hook PASSED [ 50%] 136s pecan/tests/test_hooks.py::TestHooks::test_internal_redirect_with_after_hook PASSED [ 51%] 136s pecan/tests/test_hooks.py::TestHooks::test_isolated_hook_with_global_hook PASSED [ 51%] 136s pecan/tests/test_hooks.py::TestHooks::test_mixin_hooks PASSED [ 51%] 136s pecan/tests/test_hooks.py::TestHooks::test_on_error_response_hook PASSED [ 51%] 136s pecan/tests/test_hooks.py::TestHooks::test_partial_hooks PASSED [ 51%] 136s pecan/tests/test_hooks.py::TestHooks::test_prioritized_hooks PASSED [ 52%] 136s pecan/tests/test_hooks.py::TestStateAccess::test_mixed_args PASSED [ 52%] 136s pecan/tests/test_hooks.py::TestStateAccess::test_no_args PASSED [ 52%] 136s pecan/tests/test_hooks.py::TestStateAccess::test_single_arg PASSED [ 52%] 136s pecan/tests/test_hooks.py::TestStateAccess::test_single_kw PASSED [ 52%] 136s pecan/tests/test_hooks.py::TestStateAccess::test_single_kw_post PASSED [ 52%] 136s pecan/tests/test_hooks.py::TestStateAccess::test_single_vararg PASSED [ 53%] 136s pecan/tests/test_hooks.py::TestStateAccessWithoutThreadLocals::test_mixed_args PASSED [ 53%] 136s pecan/tests/test_hooks.py::TestStateAccessWithoutThreadLocals::test_no_args PASSED [ 53%] 136s pecan/tests/test_hooks.py::TestStateAccessWithoutThreadLocals::test_single_arg PASSED [ 53%] 136s pecan/tests/test_hooks.py::TestStateAccessWithoutThreadLocals::test_single_kw PASSED [ 53%] 136s pecan/tests/test_hooks.py::TestStateAccessWithoutThreadLocals::test_single_kw_post PASSED [ 54%] 136s pecan/tests/test_hooks.py::TestStateAccessWithoutThreadLocals::test_single_vararg PASSED [ 54%] 136s pecan/tests/test_hooks.py::TestRestControllerStateAccess::test_delete PASSED [ 54%] 136s pecan/tests/test_hooks.py::TestRestControllerStateAccess::test_delete_with_kwargs PASSED [ 54%] 136s pecan/tests/test_hooks.py::TestRestControllerStateAccess::test_delete_with_method_argument PASSED [ 54%] 136s pecan/tests/test_hooks.py::TestRestControllerStateAccess::test_delete_with_varargs PASSED [ 55%] 136s pecan/tests/test_hooks.py::TestRestControllerStateAccess::test_get_all PASSED [ 55%] 136s pecan/tests/test_hooks.py::TestRestControllerStateAccess::test_get_all_with_kwargs PASSED [ 55%] 136s pecan/tests/test_hooks.py::TestRestControllerStateAccess::test_get_one PASSED [ 55%] 136s pecan/tests/test_hooks.py::TestRestControllerStateAccess::test_get_one_with_kwargs PASSED [ 55%] 136s pecan/tests/test_hooks.py::TestRestControllerStateAccess::test_get_one_with_varargs PASSED [ 55%] 136s pecan/tests/test_hooks.py::TestRestControllerStateAccess::test_post PASSED [ 56%] 136s pecan/tests/test_hooks.py::TestRestControllerStateAccess::test_post_with_invalid_method_kwarg PASSED [ 56%] 136s pecan/tests/test_hooks.py::TestRestControllerStateAccess::test_post_with_kwargs PASSED [ 56%] 136s pecan/tests/test_hooks.py::TestRestControllerStateAccess::test_post_with_varargs PASSED [ 56%] 136s pecan/tests/test_hooks.py::TestRestControllerStateAccess::test_put PASSED [ 56%] 136s pecan/tests/test_hooks.py::TestRestControllerStateAccess::test_put_with_kwargs PASSED [ 57%] 136s pecan/tests/test_hooks.py::TestRestControllerStateAccess::test_put_with_method_argument PASSED [ 57%] 136s pecan/tests/test_hooks.py::TestRestControllerStateAccess::test_put_with_varargs PASSED [ 57%] 136s pecan/tests/test_hooks.py::TestTransactionHook::test_transaction_hook PASSED [ 57%] 136s pecan/tests/test_hooks.py::TestTransactionHook::test_transaction_hook_with_after_actions PASSED [ 57%] 136s pecan/tests/test_hooks.py::TestTransactionHook::test_transaction_hook_with_broken_hook PASSED [ 57%] 136s pecan/tests/test_hooks.py::TestTransactionHook::test_transaction_hook_with_transactional_class_decorator PASSED [ 58%] 136s pecan/tests/test_hooks.py::TestTransactionHook::test_transaction_hook_with_transactional_decorator PASSED [ 58%] 136s pecan/tests/test_hooks.py::TestRequestViewerHook::test_bad_response_from_app PASSED [ 58%] 136s pecan/tests/test_hooks.py::TestRequestViewerHook::test_basic_single_default_hook PASSED [ 58%] 136s pecan/tests/test_hooks.py::TestRequestViewerHook::test_deal_with_pecan_configs PASSED [ 58%] 136s pecan/tests/test_hooks.py::TestRequestViewerHook::test_hook_formatting PASSED [ 59%] 136s pecan/tests/test_hooks.py::TestRequestViewerHook::test_item_not_in_defaults PASSED [ 59%] 136s pecan/tests/test_hooks.py::TestRequestViewerHook::test_single_blacklist_item PASSED [ 59%] 136s pecan/tests/test_hooks.py::TestRequestViewerHook::test_single_item PASSED [ 59%] 136s pecan/tests/test_hooks.py::TestRestControllerWithHooks::test_restcontroller_with_hooks PASSED [ 59%] 136s pecan/tests/test_jsonify.py::test_simple_rule PASSED [ 60%] 136s pecan/tests/test_jsonify.py::TestJsonify::test_simple_jsonify PASSED [ 60%] 136s pecan/tests/test_jsonify.py::TestJsonifyGenericEncoder::test_datetime PASSED [ 60%] 136s pecan/tests/test_jsonify.py::TestJsonifyGenericEncoder::test_decimal PASSED [ 60%] 136s pecan/tests/test_jsonify.py::TestJsonifyGenericEncoder::test_fallback_to_builtin_encoder PASSED [ 60%] 136s pecan/tests/test_jsonify.py::TestJsonifyGenericEncoder::test_json_callable PASSED [ 60%] 136s pecan/tests/test_jsonify.py::TestJsonifyGenericEncoder::test_multidict PASSED [ 61%] 136s pecan/tests/test_jsonify.py::TestJsonifySQLAlchemyGenericEncoder::test_result_proxy PASSED [ 61%] 136s pecan/tests/test_jsonify.py::TestJsonifySQLAlchemyGenericEncoder::test_row_proxy PASSED [ 61%] 136s pecan/tests/test_jsonify.py::TestJsonifySQLAlchemyGenericEncoder::test_sa_object PASSED [ 61%] 136s pecan/tests/test_no_thread_locals.py::TestThreadingLocalUsage::test_locals_are_not_used PASSED [ 61%] 136s pecan/tests/test_no_thread_locals.py::TestThreadingLocalUsage::test_threadlocal_argument_warning PASSED [ 62%] 136s pecan/tests/test_no_thread_locals.py::TestThreadingLocalUsage::test_threadlocal_argument_warning_on_generic PASSED [ 62%] 136s pecan/tests/test_no_thread_locals.py::TestThreadingLocalUsage::test_threadlocal_argument_warning_on_generic_delegate PASSED [ 62%] 136s pecan/tests/test_no_thread_locals.py::TestIndexRouting::test_empty_root PASSED [ 62%] 136s pecan/tests/test_no_thread_locals.py::TestIndexRouting::test_index PASSED [ 62%] 136s pecan/tests/test_no_thread_locals.py::TestIndexRouting::test_index_html PASSED [ 62%] 136s pecan/tests/test_no_thread_locals.py::TestManualResponse::test_manual_response PASSED [ 63%] 136s pecan/tests/test_no_thread_locals.py::TestDispatch::test_index PASSED [ 63%] 136s pecan/tests/test_no_thread_locals.py::TestDispatch::test_one_level PASSED [ 63%] 136s pecan/tests/test_no_thread_locals.py::TestDispatch::test_one_level_with_trailing PASSED [ 63%] 136s pecan/tests/test_no_thread_locals.py::TestDispatch::test_three_levels PASSED [ 63%] 136s pecan/tests/test_no_thread_locals.py::TestDispatch::test_two_levels PASSED [ 64%] 136s pecan/tests/test_no_thread_locals.py::TestDispatch::test_two_levels_with_trailing PASSED [ 64%] 136s pecan/tests/test_no_thread_locals.py::TestLookups::test_index PASSED [ 64%] 136s pecan/tests/test_no_thread_locals.py::TestLookups::test_lookup PASSED [ 64%] 136s pecan/tests/test_no_thread_locals.py::TestLookups::test_lookup_with_method PASSED [ 64%] 136s pecan/tests/test_no_thread_locals.py::TestLookups::test_lookup_with_wrong_argspec PASSED [ 65%] 136s pecan/tests/test_no_thread_locals.py::TestCanonicalLookups::test_canonical_lookup PASSED [ 65%] 136s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_argument_and_keyword_argument PASSED [ 65%] 136s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_encoded_argument_and_keyword_argument PASSED [ 65%] 136s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_explicit_kwargs PASSED [ 65%] 136s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_keyword_argument PASSED [ 65%] 136s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_keyword_argument_with_encoded_url PASSED [ 66%] 136s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_kwargs_from_root PASSED [ 66%] 136s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_many_remainders PASSED [ 66%] 136s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_args_with_url_encoded_kwargs PASSED [ 66%] 136s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_encoded_variable_args PASSED [ 66%] 136s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_kwargs PASSED [ 67%] 136s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional PASSED [ 67%] 136s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional_args_with_last_encoded_kwarg PASSED [ 67%] 136s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional_args_with_last_kwarg PASSED [ 67%] 136s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional_args_with_middle_arg PASSED [ 67%] 136s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional_args_with_multiple_dict_kwargs PASSED [ 67%] 136s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional_args_with_multiple_encoded_dict_kwargs PASSED [ 68%] 136s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional_args_with_multiple_encoded_kwargs PASSED [ 68%] 136s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional_args_with_multiple_kwargs PASSED [ 68%] 136s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional_encoded_positional_args_and_dict_kwargs PASSED [ 68%] 136s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional_missing PASSED [ 68%] 136s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional_positional_args PASSED [ 69%] 136s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional_positional_args_all_args PASSED [ 69%] 136s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional_positional_args_all_url_encoded_args PASSED [ 69%] 136s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional_positional_args_and_dict_kwargs PASSED [ 69%] 136s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional_positional_args_one_arg PASSED [ 69%] 136s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional_positional_args_one_url_encoded_arg PASSED [ 70%] 136s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional_positional_args_too_many_args PASSED [ 70%] 136s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional_positional_args_with_dict_kwargs PASSED [ 70%] 136s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional_positional_args_with_encoded_dict_kwargs PASSED [ 70%] 136s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional_positional_args_with_encoded_str_kwargs PASSED [ 70%] 136s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional_positional_args_with_kwargs PASSED [ 70%] 136s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional_positional_args_with_string_kwargs PASSED [ 71%] 136s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional_positional_args_with_url_encoded_kwargs PASSED [ 71%] 136s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_optional_url_encoded PASSED [ 71%] 136s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_positional_arguments PASSED [ 71%] 136s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_positional_arguments_with_dictionary_kwargs PASSED [ 71%] 136s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_positional_arguments_with_kwargs PASSED [ 72%] 136s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_positional_arguments_with_url_encode PASSED [ 72%] 136s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_positional_arguments_with_url_encoded_kwargs PASSED [ 72%] 136s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_positional_url_encoded_arguments_with_kwargs PASSED [ 72%] 136s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_variable_args PASSED [ 72%] 136s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_variable_kwargs PASSED [ 72%] 136s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_variable_kwargs_with_dict_kwargs PASSED [ 73%] 136s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_variable_kwargs_with_encoded_dict_kwargs PASSED [ 73%] 136s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_variable_kwargs_with_explicit_encoded_kwargs PASSED [ 73%] 136s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_variable_kwargs_with_explicit_kwargs PASSED [ 73%] 136s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_with_kwargs PASSED [ 73%] 136s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_multiple_with_url_encoded_kwargs PASSED [ 74%] 136s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_no_remainder PASSED [ 74%] 136s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_one_remainder PASSED [ 74%] 136s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_optional_arg PASSED [ 74%] 136s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_optional_arg_with_kwargs PASSED [ 74%] 136s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_optional_arg_with_multiple_dictionary_kwargs PASSED [ 75%] 136s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_optional_arg_with_multiple_kwargs PASSED [ 75%] 136s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_optional_arg_with_multiple_url_encoded_dictionary_kwargs PASSED [ 75%] 136s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_optional_arg_with_multiple_url_encoded_kwargs PASSED [ 75%] 136s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_optional_arg_with_url_encoded_kwargs PASSED [ 75%] 136s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_path_with_explicit_kwargs PASSED [ 75%] 136s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_positional_args_with_dictionary_kwargs PASSED [ 76%] 136s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_positional_args_with_url_encoded_dictionary_kwargs PASSED [ 76%] 136s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_post_many_remainders PASSED [ 76%] 136s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_post_many_remainders_with_many_kwargs PASSED [ 76%] 136s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_post_remainder PASSED [ 76%] 136s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_post_remainder_with_kwargs PASSED [ 77%] 136s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_post_three_remainders PASSED [ 77%] 136s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_remainder_with_kwargs PASSED [ 77%] 136s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_remainder_with_many_kwargs PASSED [ 77%] 136s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_required_argument PASSED [ 77%] 136s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_single_argument PASSED [ 77%] 136s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_single_argument_with_encoded_url PASSED [ 78%] 136s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_two_arguments PASSED [ 78%] 136s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_two_remainders PASSED [ 78%] 136s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_url_encoded_positional_args PASSED [ 78%] 136s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_variable_all PASSED [ 78%] 136s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_variable_all_with_one_extra PASSED [ 79%] 136s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_variable_all_with_two_extras PASSED [ 79%] 136s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_variable_args PASSED [ 79%] 136s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_variable_args_with_dict_kwargs PASSED [ 79%] 136s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_variable_args_with_kwargs PASSED [ 79%] 136s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_variable_kwargs PASSED [ 80%] 136s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_variable_mixed PASSED [ 80%] 136s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_variable_mixed_explicit PASSED [ 80%] 136s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_variable_post PASSED [ 80%] 136s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_variable_post_mixed PASSED [ 80%] 136s pecan/tests/test_no_thread_locals.py::TestControllerArguments::test_variable_post_with_kwargs PASSED [ 80%] 136s pecan/tests/test_no_thread_locals.py::TestRestController::test_custom_action PASSED [ 81%] 136s pecan/tests/test_no_thread_locals.py::TestRestController::test_custom_method_type PASSED [ 81%] 136s pecan/tests/test_no_thread_locals.py::TestRestController::test_custom_method_type_with_method_parameter PASSED [ 81%] 136s pecan/tests/test_no_thread_locals.py::TestRestController::test_delete_method PASSED [ 81%] 136s pecan/tests/test_no_thread_locals.py::TestRestController::test_delete_with_method_parameter PASSED [ 81%] 136s pecan/tests/test_no_thread_locals.py::TestRestController::test_delete_with_method_parameter_and_post PASSED [ 82%] 136s pecan/tests/test_no_thread_locals.py::TestRestController::test_get_all PASSED [ 82%] 136s pecan/tests/test_no_thread_locals.py::TestRestController::test_get_delete PASSED [ 82%] 136s pecan/tests/test_no_thread_locals.py::TestRestController::test_get_one PASSED [ 82%] 136s pecan/tests/test_no_thread_locals.py::TestRestController::test_invalid_custom_action PASSED [ 82%] 136s pecan/tests/test_no_thread_locals.py::TestRestController::test_named_action PASSED [ 82%] 136s pecan/tests/test_no_thread_locals.py::TestRestController::test_named_nested_action PASSED [ 83%] 136s pecan/tests/test_no_thread_locals.py::TestRestController::test_nested_controller_with_trailing_slash PASSED [ 83%] 136s pecan/tests/test_no_thread_locals.py::TestRestController::test_nested_controller_without_trailing_slash PASSED [ 83%] 136s pecan/tests/test_no_thread_locals.py::TestRestController::test_nested_post PASSED [ 83%] 136s pecan/tests/test_no_thread_locals.py::TestRestController::test_options PASSED [ 83%] 136s pecan/tests/test_no_thread_locals.py::TestRestController::test_options_with_method_parameter PASSED [ 84%] 136s pecan/tests/test_no_thread_locals.py::TestRestController::test_other_custom_action PASSED [ 84%] 136s pecan/tests/test_no_thread_locals.py::TestRestController::test_other_custom_action_with_method_parameter PASSED [ 84%] 136s pecan/tests/test_no_thread_locals.py::TestRestController::test_post PASSED [ 84%] 136s pecan/tests/test_no_thread_locals.py::TestRestController::test_put PASSED [ 84%] 136s pecan/tests/test_no_thread_locals.py::TestRestController::test_put_with_method_parameter_and_get PASSED [ 85%] 136s pecan/tests/test_no_thread_locals.py::TestRestController::test_put_with_method_parameter_and_post PASSED [ 85%] 136s pecan/tests/test_no_thread_locals.py::TestHooks::test_basic_isolated_hook PASSED [ 85%] 136s pecan/tests/test_no_thread_locals.py::TestHooks::test_basic_multi_hook PASSED [ 85%] 136s pecan/tests/test_no_thread_locals.py::TestHooks::test_basic_single_hook PASSED [ 85%] 136s pecan/tests/test_no_thread_locals.py::TestHooks::test_isolated_hook_with_global_hook PASSED [ 85%] 136s pecan/tests/test_no_thread_locals.py::TestHooks::test_on_error_response_hook PASSED [ 86%] 136s pecan/tests/test_no_thread_locals.py::TestHooks::test_partial_hooks PASSED [ 86%] 136s pecan/tests/test_no_thread_locals.py::TestHooks::test_prioritized_hooks PASSED [ 86%] 136s pecan/tests/test_no_thread_locals.py::TestGeneric::test_generics_with_im_self_default PASSED [ 86%] 136s pecan/tests/test_no_thread_locals.py::TestGeneric::test_generics_with_im_self_with_extra_args PASSED [ 86%] 136s pecan/tests/test_no_thread_locals.py::TestGeneric::test_generics_with_im_self_with_method PASSED [ 87%] 136s pecan/tests/test_no_thread_locals.py::TestGeneric::test_generics_with_im_self_with_path PASSED [ 87%] 136s pecan/tests/test_rest.py::TestRestController::test_405_with_lookup PASSED [ 87%] 136s pecan/tests/test_rest.py::TestRestController::test_bad_rest PASSED [ 87%] 136s pecan/tests/test_rest.py::TestRestController::test_basic_rest PASSED [ 87%] 136s pecan/tests/test_rest.py::TestRestController::test_complicated_nested_rest PASSED [ 87%] 136s pecan/tests/test_rest.py::TestRestController::test_custom_delete PASSED [ 88%] 136s pecan/tests/test_rest.py::TestRestController::test_custom_with_trailing_slash PASSED [ 88%] 136s pecan/tests/test_rest.py::TestRestController::test_dynamic_rest_lookup PASSED [ 88%] 136s pecan/tests/test_rest.py::TestRestController::test_get_with_var_args PASSED [ 88%] 136s pecan/tests/test_rest.py::TestRestController::test_getall_with_lookup PASSED [ 88%] 136s pecan/tests/test_rest.py::TestRestController::test_getall_with_trailing_slash PASSED [ 89%] 136s pecan/tests/test_rest.py::TestRestController::test_method_not_allowed_delete PASSED [ 89%] 136s pecan/tests/test_rest.py::TestRestController::test_method_not_allowed_get PASSED [ 89%] 136s pecan/tests/test_rest.py::TestRestController::test_method_not_allowed_post PASSED [ 89%] 136s pecan/tests/test_rest.py::TestRestController::test_method_not_allowed_put PASSED [ 89%] 136s pecan/tests/test_rest.py::TestRestController::test_nested_get_all PASSED [ 90%] 136s pecan/tests/test_rest.py::TestRestController::test_nested_get_all_with_lookup PASSED [ 90%] 136s pecan/tests/test_rest.py::TestRestController::test_nested_rest_with_default PASSED [ 90%] 136s pecan/tests/test_rest.py::TestRestController::test_nested_rest_with_lookup PASSED [ 90%] 136s pecan/tests/test_rest.py::TestRestController::test_nested_rest_with_missing_intermediate_id PASSED [ 90%] 136s pecan/tests/test_rest.py::TestRestController::test_post_with_kwargs_only PASSED [ 90%] 136s pecan/tests/test_rest.py::TestRestController::test_proper_allow_header_multiple_gets PASSED [ 91%] 136s pecan/tests/test_rest.py::TestRestController::test_rest_with_utf8_endpoint PASSED [ 91%] 136s pecan/tests/test_rest.py::TestRestController::test_rest_with_utf8_uri PASSED [ 91%] 136s pecan/tests/test_rest.py::TestRestController::test_simple_nested_rest PASSED [ 91%] 137s pecan/tests/test_rest.py::TestRestController::test_sub_nested_rest PASSED [ 91%] 137s pecan/tests/test_rest.py::TestRestController::test_sub_nested_rest_with_overwrites PASSED [ 92%] 137s pecan/tests/test_rest.py::TestExplicitRoute::test_alternate_route PASSED [ 92%] 137s pecan/tests/test_scaffolds.py::TestPecanScaffold::test_normalize_pkg_name PASSED [ 92%] 137s pecan/tests/test_scaffolds.py::TestScaffoldUtils::test_copy_dir PASSED [ 92%] 137s pecan/tests/test_scaffolds.py::TestScaffoldUtils::test_copy_dir_with_file_content_substitution PASSED [ 92%] 137s pecan/tests/test_scaffolds.py::TestScaffoldUtils::test_copy_dir_with_filename_substitution PASSED [ 92%] 137s pecan/tests/test_scaffolds.py::TestScaffoldUtils::test_destination_directory_already_exists PASSED [ 93%] 137s pecan/tests/test_scaffolds.py::TestScaffoldUtils::test_destination_directory_levels_deep PASSED [ 93%] 137s pecan/tests/test_secure.py::TestSecure::test_secure_attribute PASSED [ 93%] 137s pecan/tests/test_secure.py::TestSecure::test_secure_obj_only_failure PASSED [ 93%] 137s pecan/tests/test_secure.py::TestSecure::test_secured_generic_controller PASSED [ 93%] 137s pecan/tests/test_secure.py::TestSecure::test_secured_generic_controller_lambda PASSED [ 94%] 137s pecan/tests/test_secure.py::TestSecure::test_secured_generic_controller_secure_attribute PASSED [ 94%] 137s pecan/tests/test_secure.py::TestSecure::test_secured_generic_controller_secure_attribute_with_unlocked PASSED [ 94%] 137s pecan/tests/test_secure.py::TestSecure::test_simple_secure PASSED [ 94%] 137s pecan/tests/test_secure.py::TestSecure::test_state_attribute PASSED [ 94%] 137s pecan/tests/test_secure.py::TestSecure::test_unlocked_attribute PASSED [ 95%] 137s pecan/tests/test_secure.py::TestObjectPathSecurity::test_cyclical_protection PASSED [ 95%] 137s pecan/tests/test_secure.py::TestObjectPathSecurity::test_independent_check_failure PASSED [ 95%] 137s pecan/tests/test_secure.py::TestObjectPathSecurity::test_independent_check_success PASSED [ 95%] 137s pecan/tests/test_secure.py::TestObjectPathSecurity::test_layered_protection PASSED [ 95%] 137s pecan/tests/test_secure.py::TestObjectPathSecurity::test_lookup_to_wrapped_attribute_on_self PASSED [ 95%] 137s pecan/tests/test_secure.py::TestObjectPathSecurity::test_mixed_protection PASSED [ 96%] 137s pecan/tests/test_secure.py::TestObjectPathSecurity::test_protected_lookup PASSED [ 96%] 137s pecan/tests/test_secure.py::TestObjectPathSecurity::test_secret_through_lookup PASSED [ 96%] 137s pecan/tests/test_secure.py::TestObjectPathSecurity::test_secured_notfound_lookup PASSED [ 96%] 137s pecan/tests/test_secure.py::TestObjectPathSecurity::test_sub_of_both_not_secret PASSED [ 96%] 137s pecan/tests/test_secure.py::TestObjectPathSecurity::test_unlocked_attribute_in_insecure PASSED [ 97%] 137s pecan/tests/test_secure.py::TestObjectPathSecurity::test_unlocked_lookup PASSED [ 97%] 137s pecan/tests/test_secure.py::TestObjectPathSecurity::test_wrapped_attribute_failure PASSED [ 97%] 137s pecan/tests/test_secure.py::TestObjectPathSecurity::test_wrapped_attribute_success PASSED [ 97%] 137s pecan/tests/test_secure.py::SecureControllerSharedPermissionsRegression::test_inherited_security PASSED [ 97%] 137s pecan/tests/test_templating.py::TestTemplate::test_available PASSED [ 97%] 137s pecan/tests/test_templating.py::TestTemplate::test_create_bad PASSED [ 98%] 137s pecan/tests/test_templating.py::TestTemplate::test_extra_vars PASSED [ 98%] 137s pecan/tests/test_templating.py::TestTemplate::test_update_extra_vars PASSED [ 98%] 137s pecan/tests/test_templating.py::TestTemplateLineFormat::test_format_line_context PASSED [ 98%] 137s pecan/tests/test_util.py::TestArgSpec::test_class_based_decorator PASSED [ 98%] 137s pecan/tests/test_util.py::TestArgSpec::test_decorator_with_args PASSED [ 99%] 137s pecan/tests/test_util.py::TestArgSpec::test_multiple_decorators PASSED [ 99%] 137s pecan/tests/test_util.py::TestArgSpec::test_nested_cells PASSED [ 99%] 137s pecan/tests/test_util.py::TestArgSpec::test_no_decorator PASSED [ 99%] 137s pecan/tests/test_util.py::TestArgSpec::test_simple_decorator PASSED [ 99%] 137s pecan/tests/test_util.py::TestArgSpec::test_simple_wrapper PASSED [100%] 137s 137s =============================== warnings summary =============================== 137s pecan/tests/middleware/test_static.py::TestStaticFileMiddleware::test_file_can_be_closed 137s pecan/tests/middleware/test_static.py::TestStaticFileMiddleware::test_file_can_be_found 137s pecan/tests/middleware/test_static.py::TestStaticFileMiddleware::test_file_can_be_iterated_over 137s pecan/tests/middleware/test_static.py::TestStaticFileMiddleware::test_mime_type_works_for_png_files 137s pecan/tests/middleware/test_static.py::TestStaticFileMiddleware::test_separator_sanitization_still_finds_file 137s /tmp/autopkgtest.kypXMw/build.gAY/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). 137s datetime.utcfromtimestamp(os.path.getmtime(filename)), 137s 137s pecan/tests/test_commands.py::TestCommandManager::test_commands 137s /tmp/autopkgtest.kypXMw/build.gAY/src/pecan/commands/base.py:1: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html 137s import pkg_resources 137s 137s pecan/tests/test_conf.py::TestConf::test_config_from_file 137s pecan/tests/test_conf.py::TestConf::test_config_illegal_ids 137s pecan/tests/test_conf.py::TestConf::test_config_with_bad_import 137s pecan/tests/test_conf.py::TestConf::test_update_force_dict 137s pecan/tests/test_conf.py::TestConf::test_update_set_config 137s pecan/tests/test_conf.py::TestConf::test_update_set_default_config 137s pecan/tests/test_conf.py::TestGlobalConfig::test_overwrite_from_file 137s pecan/tests/test_conf.py::TestGlobalConfig::test_paint_from_file 137s :530: DeprecationWarning: the load_module() method is deprecated and slated for removal in Python 3.15; use exec_module() instead 137s 137s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 137s ================ 540 passed, 3 deselected, 14 warnings in 3.16s ================ 137s autopkgtest [00:00:56]: test unittests: -----------------------] 138s autopkgtest [00:00:57]: test unittests: - - - - - - - - - - results - - - - - - - - - - 138s unittests PASS 138s autopkgtest [00:00:57]: test autodep8-python3: preparing testbed 157s Creating nova instance adt-resolute-arm64-python-pecan-20251205-235839-juju-7f2275-prod-proposed-migration-environment-20-c15bc4cb-4373-4dc9-badf-7388ead91016 from image adt/ubuntu-resolute-arm64-server-20251205.img (UUID 37bdf92c-2d31-48d2-a8f3-3e7306fd9ba8)... 203s autopkgtest [00:02:02]: testbed dpkg architecture: arm64 203s autopkgtest [00:02:02]: testbed apt version: 3.1.12 204s autopkgtest [00:02:03]: @@@@@@@@@@@@@@@@@@@@ test bed setup 204s autopkgtest [00:02:03]: testbed release detected to be: resolute 205s autopkgtest [00:02:04]: updating testbed package index (apt update) 205s Get:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease [124 kB] 205s Hit:2 http://ftpmaster.internal/ubuntu resolute InRelease 205s Hit:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease 205s Hit:4 http://ftpmaster.internal/ubuntu resolute-security InRelease 205s Get:5 http://ftpmaster.internal/ubuntu resolute-proposed/universe Sources [847 kB] 205s Get:6 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse Sources [23.4 kB] 205s Get:7 http://ftpmaster.internal/ubuntu resolute-proposed/main Sources [143 kB] 205s Get:8 http://ftpmaster.internal/ubuntu resolute-proposed/main arm64 Packages [222 kB] 206s Get:9 http://ftpmaster.internal/ubuntu resolute-proposed/main arm64 c-n-f Metadata [7468 B] 206s Get:10 http://ftpmaster.internal/ubuntu resolute-proposed/restricted arm64 c-n-f Metadata [120 B] 206s Get:11 http://ftpmaster.internal/ubuntu resolute-proposed/universe arm64 Packages [704 kB] 206s Get:12 http://ftpmaster.internal/ubuntu resolute-proposed/universe arm64 c-n-f Metadata [19.6 kB] 206s Get:13 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse arm64 Packages [8180 B] 206s Get:14 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse arm64 c-n-f Metadata [588 B] 208s Fetched 2100 kB in 1s (2302 kB/s) 209s Reading package lists... 210s Hit:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease 210s Hit:2 http://ftpmaster.internal/ubuntu resolute InRelease 210s Hit:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease 210s Hit:4 http://ftpmaster.internal/ubuntu resolute-security InRelease 211s Reading package lists... 211s Reading package lists... 211s Building dependency tree... 211s Reading state information... 211s Calculating upgrade... 211s The following packages will be upgraded: 211s libnftnl11 libpython3-stdlib lxd-installer python3 python3-attr python3-gdbm 211s python3-minimal 211s 7 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 211s Need to get 203 kB of archives. 211s After this operation, 16.4 kB of additional disk space will be used. 211s Get:1 http://ftpmaster.internal/ubuntu resolute-proposed/main arm64 python3-minimal arm64 3.13.9-2 [28.1 kB] 211s Get:2 http://ftpmaster.internal/ubuntu resolute-proposed/main arm64 python3 arm64 3.13.9-2 [23.0 kB] 211s Get:3 http://ftpmaster.internal/ubuntu resolute-proposed/main arm64 libpython3-stdlib arm64 3.13.9-2 [10.8 kB] 211s Get:4 http://ftpmaster.internal/ubuntu resolute/main arm64 libnftnl11 arm64 1.3.1-1 [70.7 kB] 211s Get:5 http://ftpmaster.internal/ubuntu resolute-proposed/main arm64 python3-gdbm arm64 3.13.9-2 [11.0 kB] 211s Get:6 http://ftpmaster.internal/ubuntu resolute/main arm64 lxd-installer all 14ubuntu0 [5428 B] 211s Get:7 http://ftpmaster.internal/ubuntu resolute/main arm64 python3-attr all 25.4.0-1 [53.6 kB] 212s dpkg-preconfigure: unable to re-open stdin: No such file or directory 212s Fetched 203 kB in 0s (9392 kB/s) 212s (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 ... 88300 files and directories currently installed.) 212s Preparing to unpack .../python3-minimal_3.13.9-2_arm64.deb ... 212s Unpacking python3-minimal (3.13.9-2) over (3.13.7-1) ... 212s Setting up python3-minimal (3.13.9-2) ... 212s (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 ... 88300 files and directories currently installed.) 212s Preparing to unpack .../0-python3_3.13.9-2_arm64.deb ... 212s running python pre-rtupdate hooks for python3.13... 212s Unpacking python3 (3.13.9-2) over (3.13.7-1) ... 212s Preparing to unpack .../1-libpython3-stdlib_3.13.9-2_arm64.deb ... 212s Unpacking libpython3-stdlib:arm64 (3.13.9-2) over (3.13.7-1) ... 212s Preparing to unpack .../2-libnftnl11_1.3.1-1_arm64.deb ... 213s Unpacking libnftnl11:arm64 (1.3.1-1) over (1.3.0-1) ... 213s Preparing to unpack .../3-python3-gdbm_3.13.9-2_arm64.deb ... 213s Unpacking python3-gdbm (3.13.9-2) over (3.13.9-1) ... 213s Preparing to unpack .../4-lxd-installer_14ubuntu0_all.deb ... 213s Unpacking lxd-installer (14ubuntu0) over (13ubuntu0) ... 213s Preparing to unpack .../5-python3-attr_25.4.0-1_all.deb ... 213s Unpacking python3-attr (25.4.0-1) over (25.3.0-1) ... 213s Setting up python3-gdbm (3.13.9-2) ... 213s Setting up libnftnl11:arm64 (1.3.1-1) ... 213s Setting up lxd-installer (14ubuntu0) ... 213s Setting up libpython3-stdlib:arm64 (3.13.9-2) ... 213s Setting up python3 (3.13.9-2) ... 213s running python rtupdate hooks for python3.13... 213s running python post-rtupdate hooks for python3.13... 213s Setting up python3-attr (25.4.0-1) ... 213s Processing triggers for man-db (2.13.1-1) ... 214s Processing triggers for libc-bin (2.42-2ubuntu2) ... 214s autopkgtest [00:02:13]: upgrading testbed (apt dist-upgrade and autopurge) 214s Reading package lists... 215s Building dependency tree... 215s Reading state information... 215s Calculating upgrade... 215s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 215s Reading package lists... 216s Building dependency tree... 216s Reading state information... 216s Solving dependencies... 216s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 216s autopkgtest [00:02:15]: rebooting testbed after setup commands that affected boot 255s Reading package lists... 255s Building dependency tree... 255s Reading state information... 255s Solving dependencies... 256s The following NEW packages will be installed: 256s libpython3.14-minimal libpython3.14-stdlib python3-all python3-legacy-cgi 256s python3-logutils python3-mako python3-pecan python3-simplegeneric 256s python3-webob python3.14 python3.14-minimal 256s 0 upgraded, 11 newly installed, 0 to remove and 0 not upgraded. 256s Need to get 6885 kB of archives. 256s After this operation, 27.6 MB of additional disk space will be used. 256s Get:1 http://ftpmaster.internal/ubuntu resolute/main arm64 libpython3.14-minimal arm64 3.14.0-4 [903 kB] 256s Get:2 http://ftpmaster.internal/ubuntu resolute/main arm64 python3.14-minimal arm64 3.14.0-4 [2543 kB] 256s Get:3 http://ftpmaster.internal/ubuntu resolute/main arm64 libpython3.14-stdlib arm64 3.14.0-4 [2349 kB] 256s Get:4 http://ftpmaster.internal/ubuntu resolute/main arm64 python3.14 arm64 3.14.0-4 [805 kB] 256s Get:5 http://ftpmaster.internal/ubuntu resolute-proposed/main arm64 python3-all arm64 3.13.9-2 [892 B] 256s Get:6 http://ftpmaster.internal/ubuntu resolute/main arm64 python3-legacy-cgi all 2.6.4-1 [17.0 kB] 256s Get:7 http://ftpmaster.internal/ubuntu resolute/main arm64 python3-logutils all 0.3.5-5 [17.8 kB] 256s Get:8 http://ftpmaster.internal/ubuntu resolute/main arm64 python3-mako all 1.3.10-3 [63.8 kB] 256s Get:9 http://ftpmaster.internal/ubuntu resolute/main arm64 python3-simplegeneric all 0.8.1-5build1 [11.0 kB] 256s Get:10 http://ftpmaster.internal/ubuntu resolute/main arm64 python3-webob all 1:1.8.9-1 [86.8 kB] 256s Get:11 http://ftpmaster.internal/ubuntu resolute/main arm64 python3-pecan all 1.5.1-6 [86.8 kB] 256s Fetched 6885 kB in 0s (16.0 MB/s) 256s Selecting previously unselected package libpython3.14-minimal:arm64. 257s (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 ... 88300 files and directories currently installed.) 257s Preparing to unpack .../00-libpython3.14-minimal_3.14.0-4_arm64.deb ... 257s Unpacking libpython3.14-minimal:arm64 (3.14.0-4) ... 257s Selecting previously unselected package python3.14-minimal. 257s Preparing to unpack .../01-python3.14-minimal_3.14.0-4_arm64.deb ... 257s Unpacking python3.14-minimal (3.14.0-4) ... 257s Selecting previously unselected package libpython3.14-stdlib:arm64. 257s Preparing to unpack .../02-libpython3.14-stdlib_3.14.0-4_arm64.deb ... 257s Unpacking libpython3.14-stdlib:arm64 (3.14.0-4) ... 257s Selecting previously unselected package python3.14. 257s Preparing to unpack .../03-python3.14_3.14.0-4_arm64.deb ... 257s Unpacking python3.14 (3.14.0-4) ... 257s Selecting previously unselected package python3-all. 257s Preparing to unpack .../04-python3-all_3.13.9-2_arm64.deb ... 257s Unpacking python3-all (3.13.9-2) ... 257s Selecting previously unselected package python3-legacy-cgi. 257s Preparing to unpack .../05-python3-legacy-cgi_2.6.4-1_all.deb ... 257s Unpacking python3-legacy-cgi (2.6.4-1) ... 257s Selecting previously unselected package python3-logutils. 257s Preparing to unpack .../06-python3-logutils_0.3.5-5_all.deb ... 257s Unpacking python3-logutils (0.3.5-5) ... 257s Selecting previously unselected package python3-mako. 257s Preparing to unpack .../07-python3-mako_1.3.10-3_all.deb ... 257s Unpacking python3-mako (1.3.10-3) ... 257s Selecting previously unselected package python3-simplegeneric. 257s Preparing to unpack .../08-python3-simplegeneric_0.8.1-5build1_all.deb ... 257s Unpacking python3-simplegeneric (0.8.1-5build1) ... 257s Selecting previously unselected package python3-webob. 257s Preparing to unpack .../09-python3-webob_1%3a1.8.9-1_all.deb ... 257s Unpacking python3-webob (1:1.8.9-1) ... 257s Selecting previously unselected package python3-pecan. 257s Preparing to unpack .../10-python3-pecan_1.5.1-6_all.deb ... 257s Unpacking python3-pecan (1.5.1-6) ... 257s Setting up libpython3.14-minimal:arm64 (3.14.0-4) ... 257s Setting up python3-legacy-cgi (2.6.4-1) ... 257s Setting up python3-logutils (0.3.5-5) ... 258s Setting up python3-simplegeneric (0.8.1-5build1) ... 258s Setting up python3.14-minimal (3.14.0-4) ... 259s Setting up python3-mako (1.3.10-3) ... 259s Setting up python3-webob (1:1.8.9-1) ... 259s Setting up python3-pecan (1.5.1-6) ... 260s Setting up libpython3.14-stdlib:arm64 (3.14.0-4) ... 260s Setting up python3.14 (3.14.0-4) ... 261s Setting up python3-all (3.13.9-2) ... 261s Processing triggers for man-db (2.13.1-1) ... 261s Processing triggers for systemd (257.9-0ubuntu2) ... 264s autopkgtest [00:03:03]: 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 264s autopkgtest [00:03:03]: test autodep8-python3: [----------------------- 264s Testing with python3.14: 265s 265s Testing with python3.13: 265s 265s autopkgtest [00:03:04]: test autodep8-python3: -----------------------] 266s autodep8-python3 PASS (superficial) 266s autopkgtest [00:03:05]: test autodep8-python3: - - - - - - - - - - results - - - - - - - - - - 266s autopkgtest [00:03:05]: @@@@@@@@@@@@@@@@@@@@ summary 266s unittests PASS 266s autodep8-python3 PASS (superficial)