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