0s autopkgtest [14:49:00]: starting date and time: 2025-03-15 14:49:00+0000 0s autopkgtest [14:49:00]: git checkout: 325255d2 Merge branch 'pin-any-arch' into 'ubuntu/production' 0s autopkgtest [14:49:00]: host juju-7f2275-prod-proposed-migration-environment-15; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.ldt1zzhd/out --timeout-copy=6000 --setup-commands /home/ubuntu/autopkgtest-cloud/worker-config-production/setup-canonical.sh --apt-pocket=proposed=src:glibc --apt-upgrade python-falcon --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 --env=ADT_TEST_TRIGGERS=glibc/2.41-1ubuntu2 -- ssh -s /home/ubuntu/autopkgtest/ssh-setup/nova -- --flavor autopkgtest --security-groups autopkgtest-juju-7f2275-prod-proposed-migration-environment-15@bos03-arm64-15.secgroup --name adt-plucky-arm64-python-falcon-20250315-144900-juju-7f2275-prod-proposed-migration-environment-15-e0d51d92-7b6b-4d59-be7d-9143166c7d17 --image adt/ubuntu-plucky-arm64-server --keyname testbed-juju-7f2275-prod-proposed-migration-environment-15 --net-id=net_prod-proposed-migration -e TERM=linux -e ''"'"'http_proxy=http://squid.internal:3128'"'"'' -e ''"'"'https_proxy=http://squid.internal:3128'"'"'' -e ''"'"'no_proxy=127.0.0.1,127.0.1.1,login.ubuntu.com,localhost,localdomain,novalocal,internal,archive.ubuntu.com,ports.ubuntu.com,security.ubuntu.com,ddebs.ubuntu.com,changelogs.ubuntu.com,keyserver.ubuntu.com,launchpadlibrarian.net,launchpadcontent.net,launchpad.net,10.24.0.0/24,keystone.ps5.canonical.com,objectstorage.prodstack5.canonical.com,radosgw.ps5.canonical.com'"'"'' --mirror=http://ftpmaster.internal/ubuntu/ 174s autopkgtest [14:51:54]: testbed dpkg architecture: arm64 174s autopkgtest [14:51:54]: testbed apt version: 2.9.33 174s autopkgtest [14:51:54]: @@@@@@@@@@@@@@@@@@@@ test bed setup 175s autopkgtest [14:51:55]: testbed release detected to be: None 175s autopkgtest [14:51:55]: updating testbed package index (apt update) 176s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [126 kB] 176s Hit:2 http://ftpmaster.internal/ubuntu plucky InRelease 176s Hit:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease 176s Hit:4 http://ftpmaster.internal/ubuntu plucky-security InRelease 176s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [101 kB] 176s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [15.8 kB] 176s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [404 kB] 177s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 Packages [78.2 kB] 177s Get:9 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 c-n-f Metadata [1976 B] 177s Get:10 http://ftpmaster.internal/ubuntu plucky-proposed/restricted arm64 c-n-f Metadata [116 B] 177s Get:11 http://ftpmaster.internal/ubuntu plucky-proposed/universe arm64 Packages [346 kB] 177s Get:12 http://ftpmaster.internal/ubuntu plucky-proposed/universe arm64 c-n-f Metadata [15.8 kB] 177s Get:13 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse arm64 Packages [4948 B] 177s Get:14 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse arm64 c-n-f Metadata [572 B] 178s Fetched 1094 kB in 2s (585 kB/s) 179s Reading package lists... 179s + lsb_release --codename --short 179s + RELEASE=plucky 179s + cat 179s + [ plucky != trusty ] 179s + DEBIAN_FRONTEND=noninteractive eatmydata apt-get -y --allow-downgrades -o Dpkg::Options::=--force-confnew dist-upgrade 179s Reading package lists... 180s Building dependency tree... 180s Reading state information... 181s Calculating upgrade... 181s Calculating upgrade... 181s The following packages will be upgraded: 181s python3-jinja2 strace 181s 2 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 181s Need to get 608 kB of archives. 181s After this operation, 11.3 kB of additional disk space will be used. 181s Get:1 http://ftpmaster.internal/ubuntu plucky/main arm64 strace arm64 6.13+ds-1ubuntu1 [499 kB] 181s Get:2 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-jinja2 all 3.1.5-2ubuntu1 [109 kB] 182s Fetched 608 kB in 1s (568 kB/s) 182s (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 ... 117701 files and directories currently installed.) 182s Preparing to unpack .../strace_6.13+ds-1ubuntu1_arm64.deb ... 182s Unpacking strace (6.13+ds-1ubuntu1) over (6.11-0ubuntu1) ... 183s Preparing to unpack .../python3-jinja2_3.1.5-2ubuntu1_all.deb ... 183s Unpacking python3-jinja2 (3.1.5-2ubuntu1) over (3.1.5-2) ... 183s Setting up python3-jinja2 (3.1.5-2ubuntu1) ... 183s Setting up strace (6.13+ds-1ubuntu1) ... 183s Processing triggers for man-db (2.13.0-1) ... 184s + rm /etc/apt/preferences.d/force-downgrade-to-release.pref 184s + /usr/lib/apt/apt-helper analyze-pattern ?true 184s + uname -r 184s + sed s/\./\\./g 184s + running_kernel_pattern=^linux-.*6\.14\.0-10-generic.* 184s + apt list ?obsolete 184s + tail -n+2 184s + + grep -v ^linux-.*6\.14\.0-10-generic.* 184s cut -d/ -f1 184s + obsolete_pkgs=linux-headers-6.11.0-8-generic 184s linux-headers-6.11.0-8 184s linux-image-6.11.0-8-generic 184s linux-modules-6.11.0-8-generic 184s linux-tools-6.11.0-8-generic 184s linux-tools-6.11.0-8 184s + DEBIAN_FRONTEND=noninteractive eatmydata apt-get -y purge --autoremove linux-headers-6.11.0-8-generic linux-headers-6.11.0-8 linux-image-6.11.0-8-generic linux-modules-6.11.0-8-generic linux-tools-6.11.0-8-generic linux-tools-6.11.0-8 184s Reading package lists... 184s Building dependency tree... 184s Reading state information... 185s Solving dependencies... 185s The following packages will be REMOVED: 185s libnsl2* libpython3.12-minimal* libpython3.12-stdlib* libpython3.12t64* 185s libunwind8* linux-headers-6.11.0-8* linux-headers-6.11.0-8-generic* 185s linux-image-6.11.0-8-generic* linux-modules-6.11.0-8-generic* 185s linux-tools-6.11.0-8* linux-tools-6.11.0-8-generic* 186s 0 upgraded, 0 newly installed, 11 to remove and 5 not upgraded. 186s After this operation, 267 MB disk space will be freed. 186s (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 ... 117701 files and directories currently installed.) 186s Removing linux-tools-6.11.0-8-generic (6.11.0-8.8) ... 186s Removing linux-tools-6.11.0-8 (6.11.0-8.8) ... 186s Removing libpython3.12t64:arm64 (3.12.9-1) ... 186s Removing libpython3.12-stdlib:arm64 (3.12.9-1) ... 186s Removing libnsl2:arm64 (1.3.0-3build3) ... 186s Removing libpython3.12-minimal:arm64 (3.12.9-1) ... 186s Removing libunwind8:arm64 (1.6.2-3.1) ... 186s Removing linux-headers-6.11.0-8-generic (6.11.0-8.8) ... 186s Removing linux-headers-6.11.0-8 (6.11.0-8.8) ... 188s Removing linux-image-6.11.0-8-generic (6.11.0-8.8) ... 189s I: /boot/vmlinuz.old is now a symlink to vmlinuz-6.14.0-10-generic 189s I: /boot/initrd.img.old is now a symlink to initrd.img-6.14.0-10-generic 189s /etc/kernel/postrm.d/initramfs-tools: 189s update-initramfs: Deleting /boot/initrd.img-6.11.0-8-generic 189s /etc/kernel/postrm.d/zz-flash-kernel: 189s flash-kernel: Kernel 6.11.0-8-generic has been removed. 189s flash-kernel: A higher version (6.14.0-10-generic) is still installed, no reflashing required. 189s /etc/kernel/postrm.d/zz-update-grub: 189s Sourcing file `/etc/default/grub' 189s Sourcing file `/etc/default/grub.d/50-cloudimg-settings.cfg' 189s Generating grub configuration file ... 189s Found linux image: /boot/vmlinuz-6.14.0-10-generic 189s Found initrd image: /boot/initrd.img-6.14.0-10-generic 190s Warning: os-prober will not be executed to detect other bootable partitions. 190s Systems on them will not be added to the GRUB boot configuration. 190s Check GRUB_DISABLE_OS_PROBER documentation entry. 190s Adding boot menu entry for UEFI Firmware Settings ... 190s done 190s Removing linux-modules-6.11.0-8-generic (6.11.0-8.8) ... 190s Processing triggers for libc-bin (2.41-1ubuntu1) ... 190s (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 ... 81650 files and directories currently installed.) 190s Purging configuration files for linux-image-6.11.0-8-generic (6.11.0-8.8) ... 190s Purging configuration files for libpython3.12-minimal:arm64 (3.12.9-1) ... 190s Purging configuration files for linux-modules-6.11.0-8-generic (6.11.0-8.8) ... 190s + grep -q trusty /etc/lsb-release 190s + [ ! -d /usr/share/doc/unattended-upgrades ] 190s + [ ! -d /usr/share/doc/lxd ] 190s + [ ! -d /usr/share/doc/lxd-client ] 190s + [ ! -d /usr/share/doc/snapd ] 190s + type iptables 190s + cat 190s + chmod 755 /etc/rc.local 190s + . /etc/rc.local 190s + iptables -w -t mangle -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu 190s + iptables -A OUTPUT -d 10.255.255.1/32 -p tcp -j DROP 190s + iptables -A OUTPUT -d 10.255.255.2/32 -p tcp -j DROP 190s + uname -m 190s + [ aarch64 = ppc64le ] 190s + [ -d /run/systemd/system ] 190s + systemd-detect-virt --quiet --vm 190s + mkdir -p /etc/systemd/system/systemd-random-seed.service.d/ 190s + cat 190s + grep -q lz4 /etc/initramfs-tools/initramfs.conf 190s + echo COMPRESS=lz4 190s autopkgtest [14:52:10]: upgrading testbed (apt dist-upgrade and autopurge) 191s Reading package lists... 191s Building dependency tree... 191s Reading state information... 192s Calculating upgrade...Starting pkgProblemResolver with broken count: 0 192s Starting 2 pkgProblemResolver with broken count: 0 192s Done 192s Entering ResolveByKeep 193s 193s Calculating upgrade... 193s The following packages will be upgraded: 193s libc-bin libc-dev-bin libc6 libc6-dev locales 193s 5 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 193s Need to get 9530 kB of archives. 193s After this operation, 0 B of additional disk space will be used. 193s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 libc6-dev arm64 2.41-1ubuntu2 [1750 kB] 196s Get:2 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 libc-dev-bin arm64 2.41-1ubuntu2 [24.0 kB] 196s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 libc6 arm64 2.41-1ubuntu2 [2910 kB] 199s Get:4 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 libc-bin arm64 2.41-1ubuntu2 [600 kB] 200s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 locales all 2.41-1ubuntu2 [4246 kB] 207s Preconfiguring packages ... 207s Fetched 9530 kB in 13s (735 kB/s) 207s (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 ... 81647 files and directories currently installed.) 207s Preparing to unpack .../libc6-dev_2.41-1ubuntu2_arm64.deb ... 207s Unpacking libc6-dev:arm64 (2.41-1ubuntu2) over (2.41-1ubuntu1) ... 207s Preparing to unpack .../libc-dev-bin_2.41-1ubuntu2_arm64.deb ... 207s Unpacking libc-dev-bin (2.41-1ubuntu2) over (2.41-1ubuntu1) ... 207s Preparing to unpack .../libc6_2.41-1ubuntu2_arm64.deb ... 207s Unpacking libc6:arm64 (2.41-1ubuntu2) over (2.41-1ubuntu1) ... 207s Setting up libc6:arm64 (2.41-1ubuntu2) ... 207s (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 ... 81647 files and directories currently installed.) 207s Preparing to unpack .../libc-bin_2.41-1ubuntu2_arm64.deb ... 208s Unpacking libc-bin (2.41-1ubuntu2) over (2.41-1ubuntu1) ... 208s Setting up libc-bin (2.41-1ubuntu2) ... 208s (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 ... 81647 files and directories currently installed.) 208s Preparing to unpack .../locales_2.41-1ubuntu2_all.deb ... 208s Unpacking locales (2.41-1ubuntu2) over (2.41-1ubuntu1) ... 208s Setting up locales (2.41-1ubuntu2) ... 209s Generating locales (this might take a while)... 210s en_US.UTF-8... done 210s Generation complete. 210s Setting up libc-dev-bin (2.41-1ubuntu2) ... 210s Setting up libc6-dev:arm64 (2.41-1ubuntu2) ... 210s Processing triggers for man-db (2.13.0-1) ... 211s Processing triggers for systemd (257.3-1ubuntu3) ... 212s Reading package lists... 213s Building dependency tree... 213s Reading state information... 213s Starting pkgProblemResolver with broken count: 0 213s Starting 2 pkgProblemResolver with broken count: 0 213s Done 214s Solving dependencies... 214s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 214s autopkgtest [14:52:34]: rebooting testbed after setup commands that affected boot 238s autopkgtest [14:52:58]: testbed running kernel: Linux 6.14.0-10-generic #10-Ubuntu SMP PREEMPT_DYNAMIC Wed Mar 12 15:45:31 UTC 2025 240s autopkgtest [14:53:00]: @@@@@@@@@@@@@@@@@@@@ apt-source python-falcon 243s Get:1 http://ftpmaster.internal/ubuntu plucky/universe python-falcon 3.1.1-5build1 (dsc) [2491 B] 243s Get:2 http://ftpmaster.internal/ubuntu plucky/universe python-falcon 3.1.1-5build1 (tar) [1057 kB] 243s Get:3 http://ftpmaster.internal/ubuntu plucky/universe python-falcon 3.1.1-5build1 (diff) [10.2 kB] 244s gpgv: Signature made Tue Mar 4 16:12:03 2025 UTC 244s gpgv: using RSA key 25E3FF2D7F469DBE7D0D4E50AFCFEC8E669CE1C2 244s gpgv: Can't check signature: No public key 244s dpkg-source: warning: cannot verify inline signature for ./python-falcon_3.1.1-5build1.dsc: no acceptable signature found 244s autopkgtest [14:53:04]: testing package python-falcon version 3.1.1-5build1 244s autopkgtest [14:53:04]: build not needed 245s autopkgtest [14:53:05]: test unittests: preparing testbed 245s Reading package lists... 245s Building dependency tree... 245s Reading state information... 246s Starting pkgProblemResolver with broken count: 0 246s Starting 2 pkgProblemResolver with broken count: 0 246s Done 246s The following NEW packages will be installed: 246s autoconf automake autopoint autotools-dev build-essential cpp cpp-14 246s cpp-14-aarch64-linux-gnu cpp-aarch64-linux-gnu cython3 debhelper debugedit 246s dh-autoreconf dh-python dh-strip-nondeterminism dwz g++ g++-14 246s g++-14-aarch64-linux-gnu g++-aarch64-linux-gnu gcc gcc-14 246s gcc-14-aarch64-linux-gnu gcc-aarch64-linux-gnu gettext intltool-debian 246s libarchive-zip-perl libasan8 libcc1-0 libdebhelper-perl 246s libdouble-conversion3 libexpat1-dev libfile-stripnondeterminism-perl 246s libgcc-14-dev libgomp1 libhwasan0 libisl23 libitm1 libjs-jquery 246s libjs-sphinxdoc libjs-underscore liblsan0 libmpc3 libpython3-all-dev 246s libpython3-dev libpython3.13-dev libstdc++-14-dev libtool libtsan2 libubsan1 246s m4 openstack-pkg-tools po-debconf python3-aiofiles python3-all 246s python3-all-dev python3-anyio python3-asgiref python3-cbor2 python3-click 246s python3-coverage python3-ddt python3-dev python3-falcon python3-h11 246s python3-httpcore python3-httpx python3-iniconfig python3-mimeparse 246s python3-msgpack python3-mujson python3-packaging python3-pip python3-pluggy 246s python3-pytest python3-rapidjson python3-sniffio python3-testtools 246s python3-ujson python3-uvicorn python3-uvloop python3-websockets 246s python3-wheel python3-wsproto python3.13-dev uvicorn zlib1g-dev 247s 0 upgraded, 87 newly installed, 0 to remove and 0 not upgraded. 247s Need to get 79.6 MB of archives. 247s After this operation, 289 MB of additional disk space will be used. 247s Get:1 http://ftpmaster.internal/ubuntu plucky/main arm64 m4 arm64 1.4.19-7 [244 kB] 247s Get:2 http://ftpmaster.internal/ubuntu plucky/main arm64 autoconf all 2.72-3ubuntu1 [383 kB] 248s Get:3 http://ftpmaster.internal/ubuntu plucky/main arm64 autotools-dev all 20220109.1 [44.9 kB] 248s Get:4 http://ftpmaster.internal/ubuntu plucky/main arm64 automake all 1:1.17-3ubuntu1 [572 kB] 249s Get:5 http://ftpmaster.internal/ubuntu plucky/main arm64 autopoint all 0.23.1-1 [619 kB] 249s Get:6 http://ftpmaster.internal/ubuntu plucky/main arm64 libisl23 arm64 0.27-1 [676 kB] 250s Get:7 http://ftpmaster.internal/ubuntu plucky/main arm64 libmpc3 arm64 1.3.1-1build2 [56.8 kB] 250s Get:8 http://ftpmaster.internal/ubuntu plucky/main arm64 cpp-14-aarch64-linux-gnu arm64 14.2.0-17ubuntu3 [10.6 MB] 265s Get:9 http://ftpmaster.internal/ubuntu plucky/main arm64 cpp-14 arm64 14.2.0-17ubuntu3 [1028 B] 265s Get:10 http://ftpmaster.internal/ubuntu plucky/main arm64 cpp-aarch64-linux-gnu arm64 4:14.2.0-1ubuntu1 [5558 B] 265s Get:11 http://ftpmaster.internal/ubuntu plucky/main arm64 cpp arm64 4:14.2.0-1ubuntu1 [22.4 kB] 265s Get:12 http://ftpmaster.internal/ubuntu plucky/main arm64 libcc1-0 arm64 15-20250222-0ubuntu1 [44.2 kB] 265s Get:13 http://ftpmaster.internal/ubuntu plucky/main arm64 libgomp1 arm64 15-20250222-0ubuntu1 [146 kB] 265s Get:14 http://ftpmaster.internal/ubuntu plucky/main arm64 libitm1 arm64 15-20250222-0ubuntu1 [28.0 kB] 265s Get:15 http://ftpmaster.internal/ubuntu plucky/main arm64 libasan8 arm64 15-20250222-0ubuntu1 [2924 kB] 270s Get:16 http://ftpmaster.internal/ubuntu plucky/main arm64 liblsan0 arm64 15-20250222-0ubuntu1 [1319 kB] 272s Get:17 http://ftpmaster.internal/ubuntu plucky/main arm64 libtsan2 arm64 15-20250222-0ubuntu1 [2694 kB] 276s Get:18 http://ftpmaster.internal/ubuntu plucky/main arm64 libubsan1 arm64 15-20250222-0ubuntu1 [1178 kB] 277s Get:19 http://ftpmaster.internal/ubuntu plucky/main arm64 libhwasan0 arm64 15-20250222-0ubuntu1 [1642 kB] 280s Get:20 http://ftpmaster.internal/ubuntu plucky/main arm64 libgcc-14-dev arm64 14.2.0-17ubuntu3 [2593 kB] 283s Get:21 http://ftpmaster.internal/ubuntu plucky/main arm64 gcc-14-aarch64-linux-gnu arm64 14.2.0-17ubuntu3 [20.9 MB] 310s Get:22 http://ftpmaster.internal/ubuntu plucky/main arm64 gcc-14 arm64 14.2.0-17ubuntu3 [526 kB] 311s Get:23 http://ftpmaster.internal/ubuntu plucky/main arm64 gcc-aarch64-linux-gnu arm64 4:14.2.0-1ubuntu1 [1200 B] 311s Get:24 http://ftpmaster.internal/ubuntu plucky/main arm64 gcc arm64 4:14.2.0-1ubuntu1 [4998 B] 311s Get:25 http://ftpmaster.internal/ubuntu plucky/main arm64 libstdc++-14-dev arm64 14.2.0-17ubuntu3 [2499 kB] 314s Get:26 http://ftpmaster.internal/ubuntu plucky/main arm64 g++-14-aarch64-linux-gnu arm64 14.2.0-17ubuntu3 [12.1 MB] 331s Get:27 http://ftpmaster.internal/ubuntu plucky/main arm64 g++-14 arm64 14.2.0-17ubuntu3 [21.8 kB] 331s Get:28 http://ftpmaster.internal/ubuntu plucky/main arm64 g++-aarch64-linux-gnu arm64 4:14.2.0-1ubuntu1 [956 B] 331s Get:29 http://ftpmaster.internal/ubuntu plucky/main arm64 g++ arm64 4:14.2.0-1ubuntu1 [1080 B] 331s Get:30 http://ftpmaster.internal/ubuntu plucky/main arm64 build-essential arm64 12.10ubuntu1 [4932 B] 331s Get:31 http://ftpmaster.internal/ubuntu plucky/universe arm64 cython3 arm64 3.0.11+dfsg-2ubuntu2 [2436 kB] 335s Get:32 http://ftpmaster.internal/ubuntu plucky/main arm64 libdebhelper-perl all 13.24.1ubuntu2 [95.4 kB] 335s Get:33 http://ftpmaster.internal/ubuntu plucky/main arm64 libtool all 2.5.4-4 [168 kB] 335s Get:34 http://ftpmaster.internal/ubuntu plucky/main arm64 dh-autoreconf all 20 [16.1 kB] 335s Get:35 http://ftpmaster.internal/ubuntu plucky/main arm64 libarchive-zip-perl all 1.68-1 [90.2 kB] 335s Get:36 http://ftpmaster.internal/ubuntu plucky/main arm64 libfile-stripnondeterminism-perl all 1.14.1-2 [20.3 kB] 335s Get:37 http://ftpmaster.internal/ubuntu plucky/main arm64 dh-strip-nondeterminism all 1.14.1-2 [5064 B] 335s Get:38 http://ftpmaster.internal/ubuntu plucky/main arm64 debugedit arm64 1:5.1-2 [46.1 kB] 335s Get:39 http://ftpmaster.internal/ubuntu plucky/main arm64 dwz arm64 0.15-1build6 [113 kB] 336s Get:40 http://ftpmaster.internal/ubuntu plucky/main arm64 gettext arm64 0.23.1-1 [998 kB] 337s Get:41 http://ftpmaster.internal/ubuntu plucky/main arm64 intltool-debian all 0.35.0+20060710.6 [23.2 kB] 337s Get:42 http://ftpmaster.internal/ubuntu plucky/main arm64 po-debconf all 1.0.21+nmu1 [233 kB] 337s Get:43 http://ftpmaster.internal/ubuntu plucky/main arm64 debhelper all 13.24.1ubuntu2 [895 kB] 338s Get:44 http://ftpmaster.internal/ubuntu plucky/universe arm64 dh-python all 6.20250308 [118 kB] 339s Get:45 http://ftpmaster.internal/ubuntu plucky/universe arm64 libdouble-conversion3 arm64 3.3.1-1 [38.8 kB] 339s Get:46 http://ftpmaster.internal/ubuntu plucky/main arm64 libexpat1-dev arm64 2.6.4-1 [129 kB] 339s Get:47 http://ftpmaster.internal/ubuntu plucky/main arm64 libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 339s Get:48 http://ftpmaster.internal/ubuntu plucky/main arm64 libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [118 kB] 339s Get:49 http://ftpmaster.internal/ubuntu plucky/main arm64 libjs-sphinxdoc all 8.1.3-4 [30.9 kB] 339s Get:50 http://ftpmaster.internal/ubuntu plucky/main arm64 zlib1g-dev arm64 1:1.3.dfsg+really1.3.1-1ubuntu1 [894 kB] 341s Get:51 http://ftpmaster.internal/ubuntu plucky/main arm64 libpython3.13-dev arm64 3.13.2-2 [5399 kB] 348s Get:52 http://ftpmaster.internal/ubuntu plucky/main arm64 libpython3-dev arm64 3.13.2-2 [10.7 kB] 348s Get:53 http://ftpmaster.internal/ubuntu plucky/main arm64 libpython3-all-dev arm64 3.13.2-2 [910 B] 348s Get:54 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-aiofiles all 24.1.0-2 [10.9 kB] 348s Get:55 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-all arm64 3.13.2-2 [886 B] 348s Get:56 http://ftpmaster.internal/ubuntu plucky/main arm64 python3.13-dev arm64 3.13.2-2 [509 kB] 349s Get:57 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-dev arm64 3.13.2-2 [26.7 kB] 349s Get:58 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-all-dev arm64 3.13.2-2 [914 B] 349s Get:59 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-sniffio all 1.3.1-1 [7262 B] 349s Get:60 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-anyio all 4.8.0-2 [63.4 kB] 349s Get:61 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-asgiref all 3.8.1-1 [24.8 kB] 349s Get:62 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-cbor2 arm64 5.6.5-1build1 [21.1 kB] 349s Get:63 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-click all 8.2.0+0.really.8.1.8-1 [80.0 kB] 349s Get:64 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-coverage arm64 7.6.0+dfsg1-2build1 [153 kB] 349s Get:65 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-ddt all 1.7.2-4 [8862 B] 349s Get:66 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-mimeparse all 2.0.0-1 [7330 B] 349s Get:67 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-msgpack arm64 1.0.3-3build4 [82.7 kB] 350s Get:68 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-rapidjson arm64 1.4-3build1 [177 kB] 350s Get:69 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-falcon arm64 3.1.1-5build1 [1354 kB] 352s Get:70 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-h11 all 0.14.0-1 [51.1 kB] 352s Get:71 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-httpcore all 1.0.7-1 [38.8 kB] 352s Get:72 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-httpx all 0.27.2-1 [61.3 kB] 352s Get:73 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-iniconfig all 1.1.1-2 [6024 B] 352s Get:74 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-mujson all 1.4-4 [7776 B] 352s Get:75 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-packaging all 24.2-1 [51.5 kB] 352s Get:76 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-wheel all 0.45.1-1 [57.7 kB] 352s Get:77 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-pip all 25.0+dfsg-1 [1417 kB] 355s Get:78 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-pluggy all 1.5.0-1 [21.0 kB] 355s Get:79 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-pytest all 8.3.5-1 [252 kB] 355s Get:80 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-testtools all 2.7.2-5 [124 kB] 355s Get:81 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-ujson arm64 5.10.0-1build2 [27.4 kB] 355s Get:82 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-wsproto all 1.2.0-1 [23.6 kB] 355s Get:83 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-uvloop arm64 0.21.0+ds1-2build1 [584 kB] 356s Get:84 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-uvicorn all 0.32.0-3 [44.3 kB] 356s Get:85 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-websockets arm64 14.1-1build1 [91.2 kB] 357s Get:86 http://ftpmaster.internal/ubuntu plucky/universe arm64 uvicorn all 0.32.0-3 [4840 B] 357s Get:87 http://ftpmaster.internal/ubuntu plucky/universe arm64 openstack-pkg-tools all 123ubuntu2 [94.5 kB] 357s Fetched 79.6 MB in 1min 50s (722 kB/s) 357s Selecting previously unselected package m4. 358s (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 ... 81647 files and directories currently installed.) 358s Preparing to unpack .../00-m4_1.4.19-7_arm64.deb ... 358s Unpacking m4 (1.4.19-7) ... 358s Selecting previously unselected package autoconf. 358s Preparing to unpack .../01-autoconf_2.72-3ubuntu1_all.deb ... 358s Unpacking autoconf (2.72-3ubuntu1) ... 358s Selecting previously unselected package autotools-dev. 358s Preparing to unpack .../02-autotools-dev_20220109.1_all.deb ... 358s Unpacking autotools-dev (20220109.1) ... 358s Selecting previously unselected package automake. 358s Preparing to unpack .../03-automake_1%3a1.17-3ubuntu1_all.deb ... 358s Unpacking automake (1:1.17-3ubuntu1) ... 358s Selecting previously unselected package autopoint. 358s Preparing to unpack .../04-autopoint_0.23.1-1_all.deb ... 358s Unpacking autopoint (0.23.1-1) ... 358s Selecting previously unselected package libisl23:arm64. 358s Preparing to unpack .../05-libisl23_0.27-1_arm64.deb ... 358s Unpacking libisl23:arm64 (0.27-1) ... 358s Selecting previously unselected package libmpc3:arm64. 358s Preparing to unpack .../06-libmpc3_1.3.1-1build2_arm64.deb ... 358s Unpacking libmpc3:arm64 (1.3.1-1build2) ... 358s Selecting previously unselected package cpp-14-aarch64-linux-gnu. 358s Preparing to unpack .../07-cpp-14-aarch64-linux-gnu_14.2.0-17ubuntu3_arm64.deb ... 358s Unpacking cpp-14-aarch64-linux-gnu (14.2.0-17ubuntu3) ... 358s Selecting previously unselected package cpp-14. 358s Preparing to unpack .../08-cpp-14_14.2.0-17ubuntu3_arm64.deb ... 358s Unpacking cpp-14 (14.2.0-17ubuntu3) ... 358s Selecting previously unselected package cpp-aarch64-linux-gnu. 358s Preparing to unpack .../09-cpp-aarch64-linux-gnu_4%3a14.2.0-1ubuntu1_arm64.deb ... 358s Unpacking cpp-aarch64-linux-gnu (4:14.2.0-1ubuntu1) ... 358s Selecting previously unselected package cpp. 358s Preparing to unpack .../10-cpp_4%3a14.2.0-1ubuntu1_arm64.deb ... 358s Unpacking cpp (4:14.2.0-1ubuntu1) ... 358s Selecting previously unselected package libcc1-0:arm64. 358s Preparing to unpack .../11-libcc1-0_15-20250222-0ubuntu1_arm64.deb ... 358s Unpacking libcc1-0:arm64 (15-20250222-0ubuntu1) ... 358s Selecting previously unselected package libgomp1:arm64. 358s Preparing to unpack .../12-libgomp1_15-20250222-0ubuntu1_arm64.deb ... 358s Unpacking libgomp1:arm64 (15-20250222-0ubuntu1) ... 358s Selecting previously unselected package libitm1:arm64. 358s Preparing to unpack .../13-libitm1_15-20250222-0ubuntu1_arm64.deb ... 358s Unpacking libitm1:arm64 (15-20250222-0ubuntu1) ... 358s Selecting previously unselected package libasan8:arm64. 358s Preparing to unpack .../14-libasan8_15-20250222-0ubuntu1_arm64.deb ... 358s Unpacking libasan8:arm64 (15-20250222-0ubuntu1) ... 358s Selecting previously unselected package liblsan0:arm64. 358s Preparing to unpack .../15-liblsan0_15-20250222-0ubuntu1_arm64.deb ... 358s Unpacking liblsan0:arm64 (15-20250222-0ubuntu1) ... 358s Selecting previously unselected package libtsan2:arm64. 358s Preparing to unpack .../16-libtsan2_15-20250222-0ubuntu1_arm64.deb ... 358s Unpacking libtsan2:arm64 (15-20250222-0ubuntu1) ... 359s Selecting previously unselected package libubsan1:arm64. 359s Preparing to unpack .../17-libubsan1_15-20250222-0ubuntu1_arm64.deb ... 359s Unpacking libubsan1:arm64 (15-20250222-0ubuntu1) ... 359s Selecting previously unselected package libhwasan0:arm64. 359s Preparing to unpack .../18-libhwasan0_15-20250222-0ubuntu1_arm64.deb ... 359s Unpacking libhwasan0:arm64 (15-20250222-0ubuntu1) ... 359s Selecting previously unselected package libgcc-14-dev:arm64. 359s Preparing to unpack .../19-libgcc-14-dev_14.2.0-17ubuntu3_arm64.deb ... 359s Unpacking libgcc-14-dev:arm64 (14.2.0-17ubuntu3) ... 359s Selecting previously unselected package gcc-14-aarch64-linux-gnu. 359s Preparing to unpack .../20-gcc-14-aarch64-linux-gnu_14.2.0-17ubuntu3_arm64.deb ... 359s Unpacking gcc-14-aarch64-linux-gnu (14.2.0-17ubuntu3) ... 359s Selecting previously unselected package gcc-14. 359s Preparing to unpack .../21-gcc-14_14.2.0-17ubuntu3_arm64.deb ... 359s Unpacking gcc-14 (14.2.0-17ubuntu3) ... 359s Selecting previously unselected package gcc-aarch64-linux-gnu. 359s Preparing to unpack .../22-gcc-aarch64-linux-gnu_4%3a14.2.0-1ubuntu1_arm64.deb ... 359s Unpacking gcc-aarch64-linux-gnu (4:14.2.0-1ubuntu1) ... 359s Selecting previously unselected package gcc. 359s Preparing to unpack .../23-gcc_4%3a14.2.0-1ubuntu1_arm64.deb ... 359s Unpacking gcc (4:14.2.0-1ubuntu1) ... 359s Selecting previously unselected package libstdc++-14-dev:arm64. 359s Preparing to unpack .../24-libstdc++-14-dev_14.2.0-17ubuntu3_arm64.deb ... 359s Unpacking libstdc++-14-dev:arm64 (14.2.0-17ubuntu3) ... 359s Selecting previously unselected package g++-14-aarch64-linux-gnu. 359s Preparing to unpack .../25-g++-14-aarch64-linux-gnu_14.2.0-17ubuntu3_arm64.deb ... 359s Unpacking g++-14-aarch64-linux-gnu (14.2.0-17ubuntu3) ... 360s Selecting previously unselected package g++-14. 360s Preparing to unpack .../26-g++-14_14.2.0-17ubuntu3_arm64.deb ... 360s Unpacking g++-14 (14.2.0-17ubuntu3) ... 360s Selecting previously unselected package g++-aarch64-linux-gnu. 360s Preparing to unpack .../27-g++-aarch64-linux-gnu_4%3a14.2.0-1ubuntu1_arm64.deb ... 360s Unpacking g++-aarch64-linux-gnu (4:14.2.0-1ubuntu1) ... 360s Selecting previously unselected package g++. 360s Preparing to unpack .../28-g++_4%3a14.2.0-1ubuntu1_arm64.deb ... 360s Unpacking g++ (4:14.2.0-1ubuntu1) ... 360s Selecting previously unselected package build-essential. 360s Preparing to unpack .../29-build-essential_12.10ubuntu1_arm64.deb ... 360s Unpacking build-essential (12.10ubuntu1) ... 360s Selecting previously unselected package cython3. 360s Preparing to unpack .../30-cython3_3.0.11+dfsg-2ubuntu2_arm64.deb ... 360s Unpacking cython3 (3.0.11+dfsg-2ubuntu2) ... 360s Selecting previously unselected package libdebhelper-perl. 360s Preparing to unpack .../31-libdebhelper-perl_13.24.1ubuntu2_all.deb ... 360s Unpacking libdebhelper-perl (13.24.1ubuntu2) ... 360s Selecting previously unselected package libtool. 360s Preparing to unpack .../32-libtool_2.5.4-4_all.deb ... 360s Unpacking libtool (2.5.4-4) ... 360s Selecting previously unselected package dh-autoreconf. 360s Preparing to unpack .../33-dh-autoreconf_20_all.deb ... 360s Unpacking dh-autoreconf (20) ... 360s Selecting previously unselected package libarchive-zip-perl. 360s Preparing to unpack .../34-libarchive-zip-perl_1.68-1_all.deb ... 360s Unpacking libarchive-zip-perl (1.68-1) ... 360s Selecting previously unselected package libfile-stripnondeterminism-perl. 360s Preparing to unpack .../35-libfile-stripnondeterminism-perl_1.14.1-2_all.deb ... 360s Unpacking libfile-stripnondeterminism-perl (1.14.1-2) ... 360s Selecting previously unselected package dh-strip-nondeterminism. 360s Preparing to unpack .../36-dh-strip-nondeterminism_1.14.1-2_all.deb ... 360s Unpacking dh-strip-nondeterminism (1.14.1-2) ... 360s Selecting previously unselected package debugedit. 360s Preparing to unpack .../37-debugedit_1%3a5.1-2_arm64.deb ... 360s Unpacking debugedit (1:5.1-2) ... 360s Selecting previously unselected package dwz. 360s Preparing to unpack .../38-dwz_0.15-1build6_arm64.deb ... 360s Unpacking dwz (0.15-1build6) ... 360s Selecting previously unselected package gettext. 360s Preparing to unpack .../39-gettext_0.23.1-1_arm64.deb ... 360s Unpacking gettext (0.23.1-1) ... 360s Selecting previously unselected package intltool-debian. 360s Preparing to unpack .../40-intltool-debian_0.35.0+20060710.6_all.deb ... 360s Unpacking intltool-debian (0.35.0+20060710.6) ... 360s Selecting previously unselected package po-debconf. 360s Preparing to unpack .../41-po-debconf_1.0.21+nmu1_all.deb ... 360s Unpacking po-debconf (1.0.21+nmu1) ... 360s Selecting previously unselected package debhelper. 360s Preparing to unpack .../42-debhelper_13.24.1ubuntu2_all.deb ... 360s Unpacking debhelper (13.24.1ubuntu2) ... 360s Selecting previously unselected package dh-python. 360s Preparing to unpack .../43-dh-python_6.20250308_all.deb ... 360s Unpacking dh-python (6.20250308) ... 360s Selecting previously unselected package libdouble-conversion3:arm64. 360s Preparing to unpack .../44-libdouble-conversion3_3.3.1-1_arm64.deb ... 360s Unpacking libdouble-conversion3:arm64 (3.3.1-1) ... 360s Selecting previously unselected package libexpat1-dev:arm64. 360s Preparing to unpack .../45-libexpat1-dev_2.6.4-1_arm64.deb ... 360s Unpacking libexpat1-dev:arm64 (2.6.4-1) ... 360s Selecting previously unselected package libjs-jquery. 360s Preparing to unpack .../46-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 360s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 360s Selecting previously unselected package libjs-underscore. 360s Preparing to unpack .../47-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... 360s Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 360s Selecting previously unselected package libjs-sphinxdoc. 360s Preparing to unpack .../48-libjs-sphinxdoc_8.1.3-4_all.deb ... 360s Unpacking libjs-sphinxdoc (8.1.3-4) ... 361s Selecting previously unselected package zlib1g-dev:arm64. 361s Preparing to unpack .../49-zlib1g-dev_1%3a1.3.dfsg+really1.3.1-1ubuntu1_arm64.deb ... 361s Unpacking zlib1g-dev:arm64 (1:1.3.dfsg+really1.3.1-1ubuntu1) ... 361s Selecting previously unselected package libpython3.13-dev:arm64. 361s Preparing to unpack .../50-libpython3.13-dev_3.13.2-2_arm64.deb ... 361s Unpacking libpython3.13-dev:arm64 (3.13.2-2) ... 361s Selecting previously unselected package libpython3-dev:arm64. 361s Preparing to unpack .../51-libpython3-dev_3.13.2-2_arm64.deb ... 361s Unpacking libpython3-dev:arm64 (3.13.2-2) ... 361s Selecting previously unselected package libpython3-all-dev:arm64. 361s Preparing to unpack .../52-libpython3-all-dev_3.13.2-2_arm64.deb ... 361s Unpacking libpython3-all-dev:arm64 (3.13.2-2) ... 361s Selecting previously unselected package python3-aiofiles. 361s Preparing to unpack .../53-python3-aiofiles_24.1.0-2_all.deb ... 361s Unpacking python3-aiofiles (24.1.0-2) ... 361s Selecting previously unselected package python3-all. 361s Preparing to unpack .../54-python3-all_3.13.2-2_arm64.deb ... 361s Unpacking python3-all (3.13.2-2) ... 361s Selecting previously unselected package python3.13-dev. 361s Preparing to unpack .../55-python3.13-dev_3.13.2-2_arm64.deb ... 361s Unpacking python3.13-dev (3.13.2-2) ... 361s Selecting previously unselected package python3-dev. 361s Preparing to unpack .../56-python3-dev_3.13.2-2_arm64.deb ... 361s Unpacking python3-dev (3.13.2-2) ... 361s Selecting previously unselected package python3-all-dev. 361s Preparing to unpack .../57-python3-all-dev_3.13.2-2_arm64.deb ... 361s Unpacking python3-all-dev (3.13.2-2) ... 361s Selecting previously unselected package python3-sniffio. 361s Preparing to unpack .../58-python3-sniffio_1.3.1-1_all.deb ... 361s Unpacking python3-sniffio (1.3.1-1) ... 361s Selecting previously unselected package python3-anyio. 361s Preparing to unpack .../59-python3-anyio_4.8.0-2_all.deb ... 361s Unpacking python3-anyio (4.8.0-2) ... 361s Selecting previously unselected package python3-asgiref. 361s Preparing to unpack .../60-python3-asgiref_3.8.1-1_all.deb ... 361s Unpacking python3-asgiref (3.8.1-1) ... 361s Selecting previously unselected package python3-cbor2. 361s Preparing to unpack .../61-python3-cbor2_5.6.5-1build1_arm64.deb ... 361s Unpacking python3-cbor2 (5.6.5-1build1) ... 361s Selecting previously unselected package python3-click. 361s Preparing to unpack .../62-python3-click_8.2.0+0.really.8.1.8-1_all.deb ... 361s Unpacking python3-click (8.2.0+0.really.8.1.8-1) ... 361s Selecting previously unselected package python3-coverage. 361s Preparing to unpack .../63-python3-coverage_7.6.0+dfsg1-2build1_arm64.deb ... 361s Unpacking python3-coverage (7.6.0+dfsg1-2build1) ... 361s Selecting previously unselected package python3-ddt. 361s Preparing to unpack .../64-python3-ddt_1.7.2-4_all.deb ... 361s Unpacking python3-ddt (1.7.2-4) ... 361s Selecting previously unselected package python3-mimeparse. 361s Preparing to unpack .../65-python3-mimeparse_2.0.0-1_all.deb ... 361s Unpacking python3-mimeparse (2.0.0-1) ... 361s Selecting previously unselected package python3-msgpack. 361s Preparing to unpack .../66-python3-msgpack_1.0.3-3build4_arm64.deb ... 361s Unpacking python3-msgpack (1.0.3-3build4) ... 361s Selecting previously unselected package python3-rapidjson. 361s Preparing to unpack .../67-python3-rapidjson_1.4-3build1_arm64.deb ... 361s Unpacking python3-rapidjson (1.4-3build1) ... 361s Selecting previously unselected package python3-falcon. 361s Preparing to unpack .../68-python3-falcon_3.1.1-5build1_arm64.deb ... 361s Unpacking python3-falcon (3.1.1-5build1) ... 361s Selecting previously unselected package python3-h11. 361s Preparing to unpack .../69-python3-h11_0.14.0-1_all.deb ... 361s Unpacking python3-h11 (0.14.0-1) ... 361s Selecting previously unselected package python3-httpcore. 361s Preparing to unpack .../70-python3-httpcore_1.0.7-1_all.deb ... 361s Unpacking python3-httpcore (1.0.7-1) ... 361s Selecting previously unselected package python3-httpx. 361s Preparing to unpack .../71-python3-httpx_0.27.2-1_all.deb ... 361s Unpacking python3-httpx (0.27.2-1) ... 361s Selecting previously unselected package python3-iniconfig. 362s Preparing to unpack .../72-python3-iniconfig_1.1.1-2_all.deb ... 362s Unpacking python3-iniconfig (1.1.1-2) ... 362s Selecting previously unselected package python3-mujson. 362s Preparing to unpack .../73-python3-mujson_1.4-4_all.deb ... 362s Unpacking python3-mujson (1.4-4) ... 362s Selecting previously unselected package python3-packaging. 362s Preparing to unpack .../74-python3-packaging_24.2-1_all.deb ... 362s Unpacking python3-packaging (24.2-1) ... 362s Selecting previously unselected package python3-wheel. 362s Preparing to unpack .../75-python3-wheel_0.45.1-1_all.deb ... 362s Unpacking python3-wheel (0.45.1-1) ... 362s Selecting previously unselected package python3-pip. 362s Preparing to unpack .../76-python3-pip_25.0+dfsg-1_all.deb ... 362s Unpacking python3-pip (25.0+dfsg-1) ... 362s Selecting previously unselected package python3-pluggy. 362s Preparing to unpack .../77-python3-pluggy_1.5.0-1_all.deb ... 362s Unpacking python3-pluggy (1.5.0-1) ... 362s Selecting previously unselected package python3-pytest. 362s Preparing to unpack .../78-python3-pytest_8.3.5-1_all.deb ... 362s Unpacking python3-pytest (8.3.5-1) ... 362s Selecting previously unselected package python3-testtools. 362s Preparing to unpack .../79-python3-testtools_2.7.2-5_all.deb ... 362s Unpacking python3-testtools (2.7.2-5) ... 362s Selecting previously unselected package python3-ujson:arm64. 362s Preparing to unpack .../80-python3-ujson_5.10.0-1build2_arm64.deb ... 362s Unpacking python3-ujson:arm64 (5.10.0-1build2) ... 362s Selecting previously unselected package python3-wsproto. 362s Preparing to unpack .../81-python3-wsproto_1.2.0-1_all.deb ... 362s Unpacking python3-wsproto (1.2.0-1) ... 362s Selecting previously unselected package python3-uvloop. 362s Preparing to unpack .../82-python3-uvloop_0.21.0+ds1-2build1_arm64.deb ... 362s Unpacking python3-uvloop (0.21.0+ds1-2build1) ... 362s Selecting previously unselected package python3-uvicorn. 362s Preparing to unpack .../83-python3-uvicorn_0.32.0-3_all.deb ... 362s Unpacking python3-uvicorn (0.32.0-3) ... 362s Selecting previously unselected package python3-websockets. 362s Preparing to unpack .../84-python3-websockets_14.1-1build1_arm64.deb ... 362s Unpacking python3-websockets (14.1-1build1) ... 362s Selecting previously unselected package uvicorn. 362s Preparing to unpack .../85-uvicorn_0.32.0-3_all.deb ... 362s Unpacking uvicorn (0.32.0-3) ... 362s Selecting previously unselected package openstack-pkg-tools. 362s Preparing to unpack .../86-openstack-pkg-tools_123ubuntu2_all.deb ... 362s Unpacking openstack-pkg-tools (123ubuntu2) ... 362s Setting up dh-python (6.20250308) ... 362s Setting up python3-iniconfig (1.1.1-2) ... 362s Setting up python3-sniffio (1.3.1-1) ... 363s Setting up python3-testtools (2.7.2-5) ... 363s Setting up libdouble-conversion3:arm64 (3.3.1-1) ... 363s Setting up python3-ddt (1.7.2-4) ... 363s Setting up python3-aiofiles (24.1.0-2) ... 363s Setting up python3-anyio (4.8.0-2) ... 363s Setting up libarchive-zip-perl (1.68-1) ... 363s Setting up libdebhelper-perl (13.24.1ubuntu2) ... 363s Setting up python3-rapidjson (1.4-3build1) ... 363s Setting up m4 (1.4.19-7) ... 363s Setting up python3-all (3.13.2-2) ... 363s Setting up python3-coverage (7.6.0+dfsg1-2build1) ... 363s Setting up libgomp1:arm64 (15-20250222-0ubuntu1) ... 363s Setting up python3-click (8.2.0+0.really.8.1.8-1) ... 364s Setting up python3-wheel (0.45.1-1) ... 364s Setting up python3-ujson:arm64 (5.10.0-1build2) ... 364s Setting up autotools-dev (20220109.1) ... 364s Setting up python3-packaging (24.2-1) ... 364s Setting up libexpat1-dev:arm64 (2.6.4-1) ... 364s Setting up libmpc3:arm64 (1.3.1-1build2) ... 364s Setting up cython3 (3.0.11+dfsg-2ubuntu2) ... 365s Setting up python3-h11 (0.14.0-1) ... 365s Setting up autopoint (0.23.1-1) ... 365s Setting up python3-cbor2 (5.6.5-1build1) ... 365s Setting up python3-pip (25.0+dfsg-1) ... 366s Setting up python3-uvloop (0.21.0+ds1-2build1) ... 366s Setting up autoconf (2.72-3ubuntu1) ... 366s Setting up python3-pluggy (1.5.0-1) ... 366s Setting up libubsan1:arm64 (15-20250222-0ubuntu1) ... 366s Setting up zlib1g-dev:arm64 (1:1.3.dfsg+really1.3.1-1ubuntu1) ... 366s Setting up dwz (0.15-1build6) ... 366s Setting up libhwasan0:arm64 (15-20250222-0ubuntu1) ... 366s Setting up libasan8:arm64 (15-20250222-0ubuntu1) ... 366s Setting up debugedit (1:5.1-2) ... 366s Setting up python3-msgpack (1.0.3-3build4) ... 366s Setting up libtsan2:arm64 (15-20250222-0ubuntu1) ... 366s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 366s Setting up libisl23:arm64 (0.27-1) ... 366s Setting up python3-mujson (1.4-4) ... 366s Setting up python3-mimeparse (2.0.0-1) ... 367s Setting up libcc1-0:arm64 (15-20250222-0ubuntu1) ... 367s Setting up liblsan0:arm64 (15-20250222-0ubuntu1) ... 367s Setting up libitm1:arm64 (15-20250222-0ubuntu1) ... 367s Setting up python3-asgiref (3.8.1-1) ... 367s Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 367s Setting up python3-websockets (14.1-1build1) ... 367s Setting up automake (1:1.17-3ubuntu1) ... 367s update-alternatives: using /usr/bin/automake-1.17 to provide /usr/bin/automake (automake) in auto mode 367s Setting up libfile-stripnondeterminism-perl (1.14.1-2) ... 367s Setting up python3-httpcore (1.0.7-1) ... 367s Setting up gettext (0.23.1-1) ... 367s Setting up python3-wsproto (1.2.0-1) ... 367s Setting up python3-pytest (8.3.5-1) ... 367s Setting up python3-falcon (3.1.1-5build1) ... 368s Setting up intltool-debian (0.35.0+20060710.6) ... 368s Setting up python3-httpx (0.27.2-1) ... 368s Setting up libpython3.13-dev:arm64 (3.13.2-2) ... 368s Setting up libjs-sphinxdoc (8.1.3-4) ... 368s Setting up dh-strip-nondeterminism (1.14.1-2) ... 368s Setting up cpp-14-aarch64-linux-gnu (14.2.0-17ubuntu3) ... 368s Setting up libgcc-14-dev:arm64 (14.2.0-17ubuntu3) ... 368s Setting up libstdc++-14-dev:arm64 (14.2.0-17ubuntu3) ... 368s Setting up libpython3-dev:arm64 (3.13.2-2) ... 368s Setting up python3-uvicorn (0.32.0-3) ... 368s Setting up python3.13-dev (3.13.2-2) ... 368s Setting up po-debconf (1.0.21+nmu1) ... 368s Setting up openstack-pkg-tools (123ubuntu2) ... 368s Setting up cpp-aarch64-linux-gnu (4:14.2.0-1ubuntu1) ... 368s Setting up libpython3-all-dev:arm64 (3.13.2-2) ... 368s Setting up python3-dev (3.13.2-2) ... 368s Setting up cpp-14 (14.2.0-17ubuntu3) ... 368s Setting up cpp (4:14.2.0-1ubuntu1) ... 368s Setting up gcc-14-aarch64-linux-gnu (14.2.0-17ubuntu3) ... 368s Setting up python3-all-dev (3.13.2-2) ... 368s Setting up gcc-aarch64-linux-gnu (4:14.2.0-1ubuntu1) ... 368s Setting up uvicorn (0.32.0-3) ... 368s Setting up g++-14-aarch64-linux-gnu (14.2.0-17ubuntu3) ... 368s Setting up gcc-14 (14.2.0-17ubuntu3) ... 368s Setting up g++-aarch64-linux-gnu (4:14.2.0-1ubuntu1) ... 368s Setting up g++-14 (14.2.0-17ubuntu3) ... 368s Setting up libtool (2.5.4-4) ... 368s Setting up gcc (4:14.2.0-1ubuntu1) ... 368s Setting up dh-autoreconf (20) ... 368s Setting up g++ (4:14.2.0-1ubuntu1) ... 368s update-alternatives: using /usr/bin/g++ to provide /usr/bin/c++ (c++) in auto mode 368s Setting up build-essential (12.10ubuntu1) ... 368s Setting up debhelper (13.24.1ubuntu2) ... 368s Processing triggers for install-info (7.1.1-1) ... 368s Processing triggers for libc-bin (2.41-1ubuntu2) ... 368s Processing triggers for man-db (2.13.0-1) ... 371s autopkgtest [14:55:11]: test unittests: [----------------------- 372s ============================= test session starts ============================== 372s platform linux -- Python 3.13.2, pytest-8.3.5, pluggy-1.5.0 -- /usr/bin/python3.13 372s cachedir: .pytest_cache 372s rootdir: /tmp/autopkgtest.eK8hvm/build.h1W/src 372s configfile: setup.cfg 372s plugins: anyio-4.8.0, typeguard-4.4.2 376s collecting ... collected 3309 items 376s 376s tests/asgi/test_asgi_conductor.py::test_default_headers SKIPPED (asy...) [ 0%] 376s tests/asgi/test_asgi_conductor.py::test_generic_request[request] SKIPPED [ 0%] 376s tests/asgi/test_asgi_conductor.py::test_generic_request[simulate_request] SKIPPED [ 0%] 376s tests/asgi/test_asgi_conductor.py::test_wsgi_not_supported SKIPPED (...) [ 0%] 376s tests/asgi/test_asgi_conductor.py::test_responders[alias-get] SKIPPED [ 0%] 376s tests/asgi/test_asgi_conductor.py::test_responders[alias-head] SKIPPED [ 0%] 376s tests/asgi/test_asgi_conductor.py::test_responders[alias-post] SKIPPED [ 0%] 376s tests/asgi/test_asgi_conductor.py::test_responders[alias-put] SKIPPED [ 0%] 376s tests/asgi/test_asgi_conductor.py::test_responders[alias-options] SKIPPED [ 0%] 376s tests/asgi/test_asgi_conductor.py::test_responders[alias-patch] SKIPPED [ 0%] 376s tests/asgi/test_asgi_conductor.py::test_responders[alias-delete] SKIPPED [ 0%] 376s tests/asgi/test_asgi_conductor.py::test_responders[simulate-get] SKIPPED [ 0%] 376s tests/asgi/test_asgi_conductor.py::test_responders[simulate-head] SKIPPED [ 0%] 376s tests/asgi/test_asgi_conductor.py::test_responders[simulate-post] SKIPPED [ 0%] 376s tests/asgi/test_asgi_conductor.py::test_responders[simulate-put] SKIPPED [ 0%] 376s tests/asgi/test_asgi_conductor.py::test_responders[simulate-options] SKIPPED [ 0%] 376s tests/asgi/test_asgi_conductor.py::test_responders[simulate-patch] SKIPPED [ 0%] 376s tests/asgi/test_asgi_conductor.py::test_responders[simulate-delete] SKIPPED [ 0%] 376s tests/asgi/test_asgi_helpers.py::test_intricate_app PASSED [ 0%] 376s tests/asgi/test_boundedstream_asgi.py::test_read_all[True-True-empty] PASSED [ 0%] 376s tests/asgi/test_boundedstream_asgi.py::test_read_all[True-True-null] PASSED [ 0%] 376s tests/asgi/test_boundedstream_asgi.py::test_read_all[True-True-null-ff] PASSED [ 0%] 376s tests/asgi/test_boundedstream_asgi.py::test_read_all[True-True-normal] PASSED [ 0%] 376s tests/asgi/test_boundedstream_asgi.py::test_read_all[True-True-long] PASSED [ 0%] 376s tests/asgi/test_boundedstream_asgi.py::test_read_all[True-True-random] PASSED [ 0%] 377s tests/asgi/test_boundedstream_asgi.py::test_read_all[True-True-random-large] PASSED [ 0%] 377s tests/asgi/test_boundedstream_asgi.py::test_read_all[True-False-empty] PASSED [ 0%] 377s tests/asgi/test_boundedstream_asgi.py::test_read_all[True-False-null] PASSED [ 0%] 377s tests/asgi/test_boundedstream_asgi.py::test_read_all[True-False-null-ff] PASSED [ 0%] 377s tests/asgi/test_boundedstream_asgi.py::test_read_all[True-False-normal] PASSED [ 0%] 377s tests/asgi/test_boundedstream_asgi.py::test_read_all[True-False-long] PASSED [ 0%] 377s tests/asgi/test_boundedstream_asgi.py::test_read_all[True-False-random] PASSED [ 0%] 378s tests/asgi/test_boundedstream_asgi.py::test_read_all[True-False-random-large] PASSED [ 0%] 378s tests/asgi/test_boundedstream_asgi.py::test_read_all[False-True-empty] SKIPPED [ 1%] 378s tests/asgi/test_boundedstream_asgi.py::test_read_all[False-True-null] SKIPPED [ 1%] 378s tests/asgi/test_boundedstream_asgi.py::test_read_all[False-True-null-ff] SKIPPED [ 1%] 378s tests/asgi/test_boundedstream_asgi.py::test_read_all[False-True-normal] SKIPPED [ 1%] 378s tests/asgi/test_boundedstream_asgi.py::test_read_all[False-True-long] SKIPPED [ 1%] 378s tests/asgi/test_boundedstream_asgi.py::test_read_all[False-True-random] SKIPPED [ 1%] 378s tests/asgi/test_boundedstream_asgi.py::test_read_all[False-True-random-large] SKIPPED [ 1%] 378s tests/asgi/test_boundedstream_asgi.py::test_read_all[False-False-empty] PASSED [ 1%] 378s tests/asgi/test_boundedstream_asgi.py::test_read_all[False-False-null] PASSED [ 1%] 378s tests/asgi/test_boundedstream_asgi.py::test_read_all[False-False-null-ff] PASSED [ 1%] 378s tests/asgi/test_boundedstream_asgi.py::test_read_all[False-False-normal] PASSED [ 1%] 378s tests/asgi/test_boundedstream_asgi.py::test_read_all[False-False-long] PASSED [ 1%] 378s tests/asgi/test_boundedstream_asgi.py::test_read_all[False-False-random] PASSED [ 1%] 379s tests/asgi/test_boundedstream_asgi.py::test_read_all[False-False-random-large] PASSED [ 1%] 379s tests/asgi/test_boundedstream_asgi.py::test_filelike PASSED [ 1%] 379s tests/asgi/test_boundedstream_asgi.py::test_iterate_streaming_request PASSED [ 1%] 379s tests/asgi/test_boundedstream_asgi.py::test_read_chunks[1-empty] PASSED [ 1%] 379s tests/asgi/test_boundedstream_asgi.py::test_read_chunks[1-null] PASSED [ 1%] 379s tests/asgi/test_boundedstream_asgi.py::test_read_chunks[1-null-ff] PASSED [ 1%] 379s tests/asgi/test_boundedstream_asgi.py::test_read_chunks[1-normal] PASSED [ 1%] 379s tests/asgi/test_boundedstream_asgi.py::test_read_chunks[1-long] PASSED [ 1%] 379s tests/asgi/test_boundedstream_asgi.py::test_read_chunks[1-random] PASSED [ 1%] 379s tests/asgi/test_boundedstream_asgi.py::test_read_chunks[2-empty] PASSED [ 1%] 379s tests/asgi/test_boundedstream_asgi.py::test_read_chunks[2-null] PASSED [ 1%] 379s tests/asgi/test_boundedstream_asgi.py::test_read_chunks[2-null-ff] PASSED [ 1%] 379s tests/asgi/test_boundedstream_asgi.py::test_read_chunks[2-normal] PASSED [ 1%] 379s tests/asgi/test_boundedstream_asgi.py::test_read_chunks[2-long] PASSED [ 1%] 379s tests/asgi/test_boundedstream_asgi.py::test_read_chunks[2-random] PASSED [ 1%] 379s tests/asgi/test_boundedstream_asgi.py::test_read_chunks[10-empty] PASSED [ 1%] 379s tests/asgi/test_boundedstream_asgi.py::test_read_chunks[10-null] PASSED [ 1%] 379s tests/asgi/test_boundedstream_asgi.py::test_read_chunks[10-null-ff] PASSED [ 1%] 379s tests/asgi/test_boundedstream_asgi.py::test_read_chunks[10-normal] PASSED [ 1%] 379s tests/asgi/test_boundedstream_asgi.py::test_read_chunks[10-long] PASSED [ 1%] 379s tests/asgi/test_boundedstream_asgi.py::test_read_chunks[10-random] PASSED [ 2%] 379s tests/asgi/test_boundedstream_asgi.py::test_read_chunks[64-empty] PASSED [ 2%] 379s tests/asgi/test_boundedstream_asgi.py::test_read_chunks[64-null] PASSED [ 2%] 379s tests/asgi/test_boundedstream_asgi.py::test_read_chunks[64-null-ff] PASSED [ 2%] 379s tests/asgi/test_boundedstream_asgi.py::test_read_chunks[64-normal] PASSED [ 2%] 379s tests/asgi/test_boundedstream_asgi.py::test_read_chunks[64-long] PASSED [ 2%] 379s tests/asgi/test_boundedstream_asgi.py::test_read_chunks[64-random] PASSED [ 2%] 379s tests/asgi/test_boundedstream_asgi.py::test_read_chunks[100-empty] PASSED [ 2%] 379s tests/asgi/test_boundedstream_asgi.py::test_read_chunks[100-null] PASSED [ 2%] 379s tests/asgi/test_boundedstream_asgi.py::test_read_chunks[100-null-ff] PASSED [ 2%] 379s tests/asgi/test_boundedstream_asgi.py::test_read_chunks[100-normal] PASSED [ 2%] 379s tests/asgi/test_boundedstream_asgi.py::test_read_chunks[100-long] PASSED [ 2%] 379s tests/asgi/test_boundedstream_asgi.py::test_read_chunks[100-random] PASSED [ 2%] 379s tests/asgi/test_boundedstream_asgi.py::test_read_chunks[1000-empty] PASSED [ 2%] 379s tests/asgi/test_boundedstream_asgi.py::test_read_chunks[1000-null] PASSED [ 2%] 379s tests/asgi/test_boundedstream_asgi.py::test_read_chunks[1000-null-ff] PASSED [ 2%] 379s tests/asgi/test_boundedstream_asgi.py::test_read_chunks[1000-normal] PASSED [ 2%] 379s tests/asgi/test_boundedstream_asgi.py::test_read_chunks[1000-long] PASSED [ 2%] 379s tests/asgi/test_boundedstream_asgi.py::test_read_chunks[1000-random] PASSED [ 2%] 379s tests/asgi/test_boundedstream_asgi.py::test_read_chunks[10000-empty] PASSED [ 2%] 379s tests/asgi/test_boundedstream_asgi.py::test_read_chunks[10000-null] PASSED [ 2%] 379s tests/asgi/test_boundedstream_asgi.py::test_read_chunks[10000-null-ff] PASSED [ 2%] 379s tests/asgi/test_boundedstream_asgi.py::test_read_chunks[10000-normal] PASSED [ 2%] 379s tests/asgi/test_boundedstream_asgi.py::test_read_chunks[10000-long] PASSED [ 2%] 379s tests/asgi/test_boundedstream_asgi.py::test_read_chunks[10000-random] PASSED [ 2%] 379s tests/asgi/test_boundedstream_asgi.py::test_exhaust_with_disconnect PASSED [ 2%] 379s tests/asgi/test_boundedstream_asgi.py::test_exhaust PASSED [ 2%] 379s tests/asgi/test_boundedstream_asgi.py::test_iteration_already_started PASSED [ 2%] 379s tests/asgi/test_buffered_reader.py::test_basic_aiter PASSED [ 2%] 379s tests/asgi/test_buffered_reader.py::test_aiter_from_buffer PASSED [ 2%] 379s tests/asgi/test_buffered_reader.py::test_delimit[H-expected0] PASSED [ 2%] 379s tests/asgi/test_buffered_reader.py::test_delimit[Hello-expected1] PASSED [ 2%] 379s tests/asgi/test_buffered_reader.py::test_delimit[o-expected2] PASSED [ 2%] 379s tests/asgi/test_buffered_reader.py::test_delimit[ting-expected3] PASSED [ 3%] 379s tests/asgi/test_buffered_reader.py::test_delimit[404-expected4] PASSED [ 3%] 379s tests/asgi/test_buffered_reader.py::test_exhaust PASSED [ 3%] 379s tests/asgi/test_buffered_reader.py::test_peek[1] PASSED [ 3%] 379s tests/asgi/test_buffered_reader.py::test_peek[2] PASSED [ 3%] 379s tests/asgi/test_buffered_reader.py::test_peek[3] PASSED [ 3%] 379s tests/asgi/test_buffered_reader.py::test_peek[5] PASSED [ 3%] 379s tests/asgi/test_buffered_reader.py::test_peek[7] PASSED [ 3%] 379s tests/asgi/test_buffered_reader.py::test_peek[8] PASSED [ 3%] 379s tests/asgi/test_buffered_reader.py::test_peek_at_eof PASSED [ 3%] 379s tests/asgi/test_buffered_reader.py::test_pipe PASSED [ 3%] 379s tests/asgi/test_buffered_reader.py::test_pipe_until_delimiter_not_found PASSED [ 3%] 379s tests/asgi/test_buffered_reader.py::test_read[sizes0-expected0] PASSED [ 3%] 379s tests/asgi/test_buffered_reader.py::test_read[sizes1-expected1] PASSED [ 3%] 379s tests/asgi/test_buffered_reader.py::test_read[sizes2-expected2] PASSED [ 3%] 379s tests/asgi/test_buffered_reader.py::test_read[sizes3-expected3] PASSED [ 3%] 380s tests/asgi/test_buffered_reader.py::test_varying_read_size[1] PASSED [ 3%] 380s tests/asgi/test_buffered_reader.py::test_varying_read_size[16777216] PASSED [ 3%] 380s tests/asgi/test_buffered_reader.py::test_readall[0] PASSED [ 3%] 380s tests/asgi/test_buffered_reader.py::test_readall[1] PASSED [ 3%] 380s tests/asgi/test_buffered_reader.py::test_readall[8] PASSED [ 3%] 380s tests/asgi/test_buffered_reader.py::test_read_until[0-, -4-Hell-False] PASSED [ 3%] 380s tests/asgi/test_buffered_reader.py::test_read_until[0-, -4-Hell-True] PASSED [ 3%] 380s tests/asgi/test_buffered_reader.py::test_read_until[0-, -5-Hello-False] PASSED [ 3%] 380s tests/asgi/test_buffered_reader.py::test_read_until[0-, -5-Hello-True] PASSED [ 3%] 380s tests/asgi/test_buffered_reader.py::test_read_until[0-, --1-Hello-False] PASSED [ 3%] 380s tests/asgi/test_buffered_reader.py::test_read_until[0-, --1-Hello-True] PASSED [ 3%] 380s tests/asgi/test_buffered_reader.py::test_read_until[20- -4-esti-False] PASSED [ 3%] 380s tests/asgi/test_buffered_reader.py::test_read_until[20- -4-esti-True] PASSED [ 3%] 380s tests/asgi/test_buffered_reader.py::test_read_until[20- -5-estin-False] PASSED [ 3%] 380s tests/asgi/test_buffered_reader.py::test_read_until[20- -5-estin-True] PASSED [ 3%] 380s tests/asgi/test_buffered_reader.py::test_read_until[20- -6-esting-False] PASSED [ 3%] 380s tests/asgi/test_buffered_reader.py::test_read_until[20- -6-esting-True] PASSED [ 3%] 380s tests/asgi/test_buffered_reader.py::test_read_until[20- -20-esting-False] PASSED [ 4%] 380s tests/asgi/test_buffered_reader.py::test_read_until[20- -20-esting-True] PASSED [ 4%] 380s tests/asgi/test_buffered_reader.py::test_read_until[20- -None-esting-False] PASSED [ 4%] 380s tests/asgi/test_buffered_reader.py::test_read_until[20- -None-esting-True] PASSED [ 4%] 380s tests/asgi/test_buffered_reader.py::test_read_until[0-Hell-13--False] PASSED [ 4%] 380s tests/asgi/test_buffered_reader.py::test_read_until[0-Hell-13--True] PASSED [ 4%] 380s tests/asgi/test_buffered_reader.py::test_read_until[1-ell-13--False] PASSED [ 4%] 380s tests/asgi/test_buffered_reader.py::test_read_until[1-ell-13--True] PASSED [ 4%] 380s tests/asgi/test_buffered_reader.py::test_read_until[2-ll-13--False] PASSED [ 4%] 380s tests/asgi/test_buffered_reader.py::test_read_until[2-ll-13--True] PASSED [ 4%] 380s tests/asgi/test_buffered_reader.py::test_read_until[3-l-13--False] PASSED [ 4%] 380s tests/asgi/test_buffered_reader.py::test_read_until[3-l-13--True] PASSED [ 4%] 380s tests/asgi/test_buffered_reader.py::test_read_until[2-l-13--False] PASSED [ 4%] 380s tests/asgi/test_buffered_reader.py::test_read_until[2-l-13--True] PASSED [ 4%] 380s tests/asgi/test_buffered_reader.py::test_read_until[0-good-13-Hello, World!-False] PASSED [ 4%] 380s tests/asgi/test_buffered_reader.py::test_read_until[0-good-13-Hello, World!-True] PASSED [ 4%] 380s tests/asgi/test_buffered_reader.py::test_read_until[7-good-19-World!\nJust testing-False] PASSED [ 4%] 380s tests/asgi/test_buffered_reader.py::test_read_until[7-good-19-World!\nJust testing-True] PASSED [ 4%] 380s tests/asgi/test_buffered_reader.py::test_read_until[7-good-33-World!\nJust testing some iterator-False] PASSED [ 4%] 380s tests/asgi/test_buffered_reader.py::test_read_until[7-good-33-World!\nJust testing some iterator-True] PASSED [ 4%] 380s tests/asgi/test_buffered_reader.py::test_read_until[7-good-34-World!\nJust testing some iterator -False] PASSED [ 4%] 380s tests/asgi/test_buffered_reader.py::test_read_until[7-good-34-World!\nJust testing some iterator -True] PASSED [ 4%] 380s tests/asgi/test_buffered_reader.py::test_read_until[7-good-1337-World!\nJust testing some iterator -False] PASSED [ 4%] 380s tests/asgi/test_buffered_reader.py::test_read_until[7-good-1337-World!\nJust testing some iterator -True] PASSED [ 4%] 380s tests/asgi/test_buffered_reader.py::test_read_until[7-good--1-World!\nJust testing some iterator -False] PASSED [ 4%] 380s tests/asgi/test_buffered_reader.py::test_read_until[7-good--1-World!\nJust testing some iterator -True] PASSED [ 4%] 380s tests/asgi/test_buffered_reader.py::test_read_until_with_buffer_edge_case PASSED [ 4%] 380s tests/asgi/test_buffered_reader.py::test_placeholder_methods PASSED [ 4%] 380s tests/asgi/test_buffered_reader.py::test_iteration_started PASSED [ 4%] 380s tests/asgi/test_buffered_reader.py::test_invalid_delimiter_length PASSED [ 4%] 380s tests/asgi/test_buffered_reader.py::test_irregular_large_read_until[11003077-22000721] PASSED [ 4%] 380s tests/asgi/test_buffered_reader.py::test_irregular_large_read_until[13372477-51637898] PASSED [ 4%] 380s tests/asgi/test_buffered_reader.py::test_read_until_shared_boundary[46] PASSED [ 4%] 380s tests/asgi/test_buffered_reader.py::test_read_until_shared_boundary[47] PASSED [ 5%] 380s tests/asgi/test_buffered_reader.py::test_read_until_shared_boundary[48] PASSED [ 5%] 380s tests/asgi/test_buffered_reader.py::test_read_until_shared_boundary[49] PASSED [ 5%] 380s tests/asgi/test_buffered_reader.py::test_read_until_shared_boundary[50] PASSED [ 5%] 380s tests/asgi/test_buffered_reader.py::test_read_until_shared_boundary[51] PASSED [ 5%] 380s tests/asgi/test_buffered_reader.py::test_read_until_shared_boundary[52] PASSED [ 5%] 380s tests/asgi/test_buffered_reader.py::test_read_until_shared_boundary[53] PASSED [ 5%] 380s tests/asgi/test_buffered_reader.py::test_read_until_shared_boundary[54] PASSED [ 5%] 380s tests/asgi/test_buffered_reader.py::test_read_until_shared_boundary[55] PASSED [ 5%] 380s tests/asgi/test_buffered_reader.py::test_read_until_shared_boundary[56] PASSED [ 5%] 380s tests/asgi/test_buffered_reader.py::test_read_until_shared_boundary[57] PASSED [ 5%] 380s tests/asgi/test_buffered_reader.py::test_read_until_shared_boundary[58] PASSED [ 5%] 380s tests/asgi/test_buffered_reader.py::test_read_until_shared_boundary[59] PASSED [ 5%] 380s tests/asgi/test_buffered_reader.py::test_read_until_shared_boundary[60] PASSED [ 5%] 380s tests/asgi/test_buffered_reader.py::test_read_until_shared_boundary[61] PASSED [ 5%] 380s tests/asgi/test_buffered_reader.py::test_read_until_shared_boundary[62] PASSED [ 5%] 380s tests/asgi/test_buffered_reader.py::test_small_reads PASSED [ 5%] 381s tests/asgi/test_buffered_reader.py::test_small_reads_with_delimiter PASSED [ 5%] 381s tests/asgi/test_hello_asgi.py::TestHelloWorld::test_env_headers_list_of_tuples PASSED [ 5%] 381s tests/asgi/test_hello_asgi.py::TestHelloWorld::test_root_route PASSED [ 5%] 381s tests/asgi/test_hello_asgi.py::TestHelloWorld::test_no_route PASSED [ 5%] 381s tests/asgi/test_hello_asgi.py::TestHelloWorld::test_body[/body-resource0-] PASSED [ 5%] 381s tests/asgi/test_hello_asgi.py::TestHelloWorld::test_body[/bytes-resource1-] PASSED [ 5%] 381s tests/asgi/test_hello_asgi.py::TestHelloWorld::test_body[/data-resource2-] PASSED [ 5%] 381s tests/asgi/test_hello_asgi.py::TestHelloWorld::test_no_body_on_head PASSED [ 5%] 381s tests/asgi/test_hello_asgi.py::TestHelloWorld::test_stream_chunked PASSED [ 5%] 381s tests/asgi/test_hello_asgi.py::TestHelloWorld::test_stream_known_len PASSED [ 5%] 381s tests/asgi/test_hello_asgi.py::TestHelloWorld::test_filelike PASSED [ 5%] 381s tests/asgi/test_hello_asgi.py::TestHelloWorld::test_genfunc_error PASSED [ 5%] 381s tests/asgi/test_hello_asgi.py::TestHelloWorld::test_nongenfunc_error PASSED [ 5%] 381s tests/asgi/test_hello_asgi.py::TestHelloWorld::test_filelike_closing[DataReader-True] PASSED [ 5%] 381s tests/asgi/test_hello_asgi.py::TestHelloWorld::test_filelike_closing[DataReaderWithoutClose-False] PASSED [ 5%] 381s tests/asgi/test_hello_asgi.py::TestHelloWorld::test_filelike_closing_aiofiles PASSED [ 5%] 381s tests/asgi/test_hello_asgi.py::TestHelloWorld::test_filelike_using_helper PASSED [ 6%] 381s tests/asgi/test_hello_asgi.py::TestHelloWorld::test_closing_stream[10-3-3\n3\n3\n1\n-None] PASSED [ 6%] 381s tests/asgi/test_hello_asgi.py::TestHelloWorld::test_closing_stream[10-7-7\n3\n-None] PASSED [ 6%] 381s tests/asgi/test_hello_asgi.py::TestHelloWorld::test_closing_stream[10-17-10\n-None] PASSED [ 6%] 381s tests/asgi/test_hello_asgi.py::TestHelloWorld::test_closing_stream[20-0--ZeroDivisionError] PASSED [ 6%] 381s tests/asgi/test_hello_asgi.py::TestHelloWorld::test_status_not_set PASSED [ 6%] 381s tests/asgi/test_hello_asgi.py::TestHelloWorld::test_coroutine_required PASSED [ 6%] 381s tests/asgi/test_hello_asgi.py::TestHelloWorld::test_noncoroutine_required PASSED [ 6%] 381s tests/asgi/test_lifespan_handlers.py::test_at_least_one_event_method_required PASSED [ 6%] 381s tests/asgi/test_lifespan_handlers.py::test_startup_only PASSED [ 6%] 381s tests/asgi/test_lifespan_handlers.py::test_startup_raises PASSED [ 6%] 381s tests/asgi/test_lifespan_handlers.py::test_shutdown_raises PASSED [ 6%] 381s tests/asgi/test_lifespan_handlers.py::test_shutdown_only PASSED [ 6%] 381s tests/asgi/test_lifespan_handlers.py::test_multiple_handlers PASSED [ 6%] 381s tests/asgi/test_lifespan_handlers.py::test_asgi_conductor_raised_error_skips_shutdown PASSED [ 6%] 381s tests/asgi/test_middleware_asgi.py::test_raise_on_incompatible[middleware0] PASSED [ 6%] 381s tests/asgi/test_middleware_asgi.py::test_raise_on_incompatible[middleware1] PASSED [ 6%] 381s tests/asgi/test_middleware_asgi.py::test_raise_on_incompatible[middleware2] PASSED [ 6%] 381s tests/asgi/test_middleware_asgi.py::test_raise_on_incompatible[middleware3] PASSED [ 6%] 381s tests/asgi/test_request_asgi.py::test_missing_server_in_scope PASSED [ 6%] 381s tests/asgi/test_request_asgi.py::test_log_error_not_supported PASSED [ 6%] 381s tests/asgi/test_request_body_asgi.py::TestRequestBody::test_empty_body PASSED [ 6%] 381s tests/asgi/test_request_body_asgi.py::TestRequestBody::test_tiny_body PASSED [ 6%] 381s tests/asgi/test_request_body_asgi.py::TestRequestBody::test_tiny_body_overflow PASSED [ 6%] 381s tests/asgi/test_request_body_asgi.py::TestRequestBody::test_content_length_smaller_than_body[1-0] SKIPPED [ 6%] 381s tests/asgi/test_request_body_asgi.py::TestRequestBody::test_content_length_smaller_than_body[2-1] SKIPPED [ 6%] 381s tests/asgi/test_request_body_asgi.py::TestRequestBody::test_content_length_smaller_than_body[3-2] SKIPPED [ 6%] 381s tests/asgi/test_request_body_asgi.py::TestRequestBody::test_content_length_smaller_than_body[100-None] SKIPPED [ 6%] 381s tests/asgi/test_request_body_asgi.py::TestRequestBody::test_content_length_smaller_than_body[100-50] SKIPPED [ 6%] 381s tests/asgi/test_request_body_asgi.py::TestRequestBody::test_content_length_smaller_than_body[8192-50] SKIPPED [ 6%] 381s tests/asgi/test_request_body_asgi.py::TestRequestBody::test_read_body PASSED [ 6%] 381s tests/asgi/test_request_body_asgi.py::TestRequestBody::test_bounded_stream_alias PASSED [ 6%] 381s tests/asgi/test_request_body_asgi.py::TestRequestBody::test_request_repr PASSED [ 6%] 381s tests/asgi/test_request_context_asgi.py::TestRequestContext::test_default_request_context PASSED [ 7%] 381s tests/asgi/test_request_context_asgi.py::TestRequestContext::test_custom_request_context PASSED [ 7%] 381s tests/asgi/test_request_context_asgi.py::TestRequestContext::test_custom_request_context_failure PASSED [ 7%] 381s tests/asgi/test_request_context_asgi.py::TestRequestContext::test_custom_request_context_request_access PASSED [ 7%] 381s tests/asgi/test_response_media_asgi.py::test_json[*/*] PASSED [ 7%] 381s tests/asgi/test_response_media_asgi.py::test_json[application/json] PASSED [ 7%] 381s tests/asgi/test_response_media_asgi.py::test_json[application/json; charset=utf-8] PASSED [ 7%] 381s tests/asgi/test_response_media_asgi.py::test_non_ascii_json_serialization[] PASSED [ 7%] 381s tests/asgi/test_response_media_asgi.py::test_non_ascii_json_serialization[I am a \u1d0a\ua731\u1d0f\u0274 string.] PASSED [ 7%] 381s tests/asgi/test_response_media_asgi.py::test_non_ascii_json_serialization[document2] PASSED [ 7%] 381s tests/asgi/test_response_media_asgi.py::test_non_ascii_json_serialization[document3] PASSED [ 7%] 381s tests/asgi/test_response_media_asgi.py::test_non_ascii_json_serialization[document4] PASSED [ 7%] 381s tests/asgi/test_response_media_asgi.py::test_msgpack[application/msgpack] PASSED [ 7%] 381s tests/asgi/test_response_media_asgi.py::test_msgpack[application/msgpack; charset=utf-8] PASSED [ 7%] 381s tests/asgi/test_response_media_asgi.py::test_msgpack[application/x-msgpack] PASSED [ 7%] 381s tests/asgi/test_response_media_asgi.py::test_custom_media_handler PASSED [ 7%] 381s tests/asgi/test_response_media_asgi.py::test_unknown_media_type PASSED [ 7%] 381s tests/asgi/test_response_media_asgi.py::test_default_media_type PASSED [ 7%] 381s tests/asgi/test_response_media_asgi.py::test_mimeparse_edgecases[True] PASSED [ 7%] 381s tests/asgi/test_response_media_asgi.py::test_mimeparse_edgecases[False] PASSED [ 7%] 381s tests/asgi/test_response_media_asgi.py::TestRenderBodyPrecedence::test_text PASSED [ 7%] 381s tests/asgi/test_response_media_asgi.py::TestRenderBodyPrecedence::test_body PASSED [ 7%] 381s tests/asgi/test_response_media_asgi.py::TestRenderBodyPrecedence::test_data PASSED [ 7%] 381s tests/asgi/test_response_media_asgi.py::TestRenderBodyPrecedence::test_data_masquerading_as_text PASSED [ 7%] 381s tests/asgi/test_response_media_asgi.py::TestRenderBodyPrecedence::test_media PASSED [ 7%] 381s tests/asgi/test_response_media_asgi.py::test_media_rendered_cached PASSED [ 7%] 381s tests/asgi/test_response_media_asgi.py::test_custom_render_body PASSED [ 7%] 382s tests/asgi/test_scheduled_callbacks.py::test_multiple PASSED [ 7%] 382s tests/asgi/test_scheduled_callbacks.py::test_callback[GET-/-Hello, World!\n] PASSED [ 7%] 382s tests/asgi/test_scheduled_callbacks.py::test_callback[HEAD-/-] PASSED [ 7%] 382s tests/asgi/test_scheduled_callbacks.py::test_callback[GET-/sse-: ping\n\n] PASSED [ 7%] 382s tests/asgi/test_scheduled_callbacks.py::test_callback[GET-/stream-One\nTwo\nThree\n] PASSED [ 7%] 382s tests/asgi/test_scope.py::test_missing_asgi_version PASSED [ 7%] 382s tests/asgi/test_scope.py::test_unsupported_http_version[0.9] PASSED [ 8%] 382s tests/asgi/test_scope.py::test_unsupported_http_version[1.9] PASSED [ 8%] 382s tests/asgi/test_scope.py::test_unsupported_http_version[4.0] PASSED [ 8%] 382s tests/asgi/test_scope.py::test_unsupported_http_version[1337] PASSED [ 8%] 382s tests/asgi/test_scope.py::test_supported_asgi_version[3.0-True] PASSED [ 8%] 382s tests/asgi/test_scope.py::test_supported_asgi_version[3.1-True] PASSED [ 8%] 382s tests/asgi/test_scope.py::test_supported_asgi_version[3.10-True] PASSED [ 8%] 382s tests/asgi/test_scope.py::test_supported_asgi_version[30.0-False] PASSED [ 8%] 382s tests/asgi/test_scope.py::test_supported_asgi_version[31.0-False] PASSED [ 8%] 382s tests/asgi/test_scope.py::test_supported_asgi_version[4.0-False] PASSED [ 8%] 382s tests/asgi/test_scope.py::test_supported_asgi_version[4.1-False] PASSED [ 8%] 382s tests/asgi/test_scope.py::test_supported_asgi_version[4.10-False] PASSED [ 8%] 382s tests/asgi/test_scope.py::test_supported_asgi_version[40.0-False] PASSED [ 8%] 382s tests/asgi/test_scope.py::test_supported_asgi_version[41.0-False] PASSED [ 8%] 382s tests/asgi/test_scope.py::test_supported_asgi_version[2.0-False] PASSED [ 8%] 382s tests/asgi/test_scope.py::test_supported_asgi_version[2.1-False] PASSED [ 8%] 382s tests/asgi/test_scope.py::test_supported_asgi_version[2.10-False] PASSED [ 8%] 382s tests/asgi/test_scope.py::test_supported_asgi_version[None-False] PASSED [ 8%] 382s tests/asgi/test_scope.py::test_unsupported_scope_type[tubes] PASSED [ 8%] 382s tests/asgi/test_scope.py::test_unsupported_scope_type[http3] PASSED [ 8%] 382s tests/asgi/test_scope.py::test_unsupported_scope_type[htt] PASSED [ 8%] 382s tests/asgi/test_scope.py::test_supported_http_spec[0.0-False] PASSED [ 8%] 382s tests/asgi/test_scope.py::test_supported_http_spec[1.0-False] PASSED [ 8%] 382s tests/asgi/test_scope.py::test_supported_http_spec[11.0-False] PASSED [ 8%] 382s tests/asgi/test_scope.py::test_supported_http_spec[2.0-True] PASSED [ 8%] 382s tests/asgi/test_scope.py::test_supported_http_spec[2.1-True] PASSED [ 8%] 382s tests/asgi/test_scope.py::test_supported_http_spec[2.10-True] PASSED [ 8%] 382s tests/asgi/test_scope.py::test_supported_http_spec[20.0-False] PASSED [ 8%] 382s tests/asgi/test_scope.py::test_supported_http_spec[22.0-False] PASSED [ 8%] 382s tests/asgi/test_scope.py::test_supported_http_spec[3.0-False] PASSED [ 8%] 382s tests/asgi/test_scope.py::test_supported_http_spec[3.1-False] PASSED [ 8%] 382s tests/asgi/test_scope.py::test_supported_http_spec[30.0-False] PASSED [ 8%] 382s tests/asgi/test_scope.py::test_lifespan_scope_default_version PASSED [ 8%] 382s tests/asgi/test_scope.py::test_lifespan_scope_version[0.0-False] PASSED [ 9%] 382s tests/asgi/test_scope.py::test_lifespan_scope_version[1.0-True] PASSED [ 9%] 382s tests/asgi/test_scope.py::test_lifespan_scope_version[1.1-True] PASSED [ 9%] 382s tests/asgi/test_scope.py::test_lifespan_scope_version[1.10-True] PASSED [ 9%] 382s tests/asgi/test_scope.py::test_lifespan_scope_version[2.0-True] PASSED [ 9%] 382s tests/asgi/test_scope.py::test_lifespan_scope_version[2.1-True] PASSED [ 9%] 382s tests/asgi/test_scope.py::test_lifespan_scope_version[2.10-True] PASSED [ 9%] 382s tests/asgi/test_scope.py::test_lifespan_scope_version[3.0-False] PASSED [ 9%] 382s tests/asgi/test_scope.py::test_lifespan_scope_version[4.0-False] PASSED [ 9%] 382s tests/asgi/test_scope.py::test_lifespan_scope_version[11.0-False] PASSED [ 9%] 382s tests/asgi/test_scope.py::test_lifespan_scope_version[22.0-False] PASSED [ 9%] 382s tests/asgi/test_scope.py::test_query_string_values PASSED [ 9%] 382s tests/asgi/test_scope.py::test_scheme[http-True] PASSED [ 9%] 382s tests/asgi/test_scope.py::test_scheme[https-True] PASSED [ 9%] 382s tests/asgi/test_scope.py::test_scheme[htt-False] PASSED [ 9%] 382s tests/asgi/test_scope.py::test_scheme[http:-False] PASSED [ 9%] 382s tests/asgi/test_scope.py::test_scheme[https:-False] PASSED [ 9%] 382s tests/asgi/test_scope.py::test_scheme[ftp-False] PASSED [ 9%] 382s tests/asgi/test_scope.py::test_scheme[gopher-False] PASSED [ 9%] 382s tests/asgi/test_scope.py::test_cookies[cookies0] PASSED [ 9%] 382s tests/asgi/test_scope.py::test_cookies[cookies1] PASSED [ 9%] 382s tests/asgi/test_scope.py::test_cookies_options_meathod PASSED [ 9%] 382s tests/asgi/test_sse.py::test_no_events PASSED [ 9%] 382s tests/asgi/test_sse.py::test_single_event PASSED [ 9%] 382s tests/asgi/test_sse.py::test_multiple_events PASSED [ 9%] 382s tests/asgi/test_sse.py::test_multiple_events_early_disconnect PASSED [ 9%] 382s tests/asgi/test_sse.py::TestSerializeJson::test_use_media_handler_dumps PASSED [ 9%] 382s tests/asgi/test_sse.py::TestSerializeJson::test_no_json_media_handler PASSED [ 9%] 382s tests/asgi/test_sse.py::test_invalid_event_values PASSED [ 9%] 382s tests/asgi/test_sse.py::test_non_iterable PASSED [ 9%] 385s tests/asgi/test_sync.py::test_sync_helpers PASSED [ 9%] 385s tests/asgi/test_testing_asgi.py::test_asgi_request_event_emitter_hang SKIPPED [ 9%] 385s tests/asgi/test_testing_asgi.py::test_ignore_extra_asgi_events SKIPPED [ 9%] 385s tests/asgi/test_testing_asgi.py::test_invalid_asgi_events SKIPPED (a...) [ 10%] 385s tests/asgi/test_testing_asgi.py::test_is_asgi_app_cls PASSED [ 10%] 385s tests/asgi/test_testing_asgi.py::test_cookies_jar PASSED [ 10%] 385s tests/asgi/test_testing_asgi.py::test_create_scope_default_ua PASSED [ 10%] 385s tests/asgi/test_testing_asgi.py::test_create_scope_default_ua_override PASSED [ 10%] 385s tests/asgi/test_testing_asgi.py::test_create_scope_default_ua_modify_global PASSED [ 10%] 385s tests/asgi/test_testing_asgi.py::test_missing_header_is_none PASSED [ 10%] 385s tests/asgi/test_testing_asgi.py::test_immediate_disconnect PASSED [ 10%] 385s tests/asgi/test_ws.py::test_ws_not_accepted[/ws/yes] SKIPPED (async ...) [ 10%] 385s tests/asgi/test_ws.py::test_ws_not_accepted[/ws/no] SKIPPED (async d...) [ 10%] 385s tests/asgi/test_ws.py::test_echo SKIPPED (async def function and no ...) [ 10%] 385s tests/asgi/test_ws.py::test_path_not_found SKIPPED (async def functi...) [ 10%] 385s tests/asgi/test_ws.py::test_responder_raises_unhandled_error[True] SKIPPED [ 10%] 385s tests/asgi/test_ws.py::test_responder_raises_unhandled_error[False] SKIPPED [ 10%] 385s tests/asgi/test_ws.py::test_client_disconnect_early[True-True-send] SKIPPED [ 10%] 385s tests/asgi/test_ws.py::test_client_disconnect_early[True-True-receive] SKIPPED [ 10%] 385s tests/asgi/test_ws.py::test_client_disconnect_early[True-False-send] SKIPPED [ 10%] 385s tests/asgi/test_ws.py::test_client_disconnect_early[True-False-receive] SKIPPED [ 10%] 385s tests/asgi/test_ws.py::test_client_disconnect_early[False-True-send] SKIPPED [ 10%] 385s tests/asgi/test_ws.py::test_client_disconnect_early[False-True-receive] SKIPPED [ 10%] 385s tests/asgi/test_ws.py::test_client_disconnect_early[False-False-send] SKIPPED [ 10%] 385s tests/asgi/test_ws.py::test_client_disconnect_early[False-False-receive] SKIPPED [ 10%] 385s tests/asgi/test_ws.py::test_media[True-True] SKIPPED (async def func...) [ 10%] 385s tests/asgi/test_ws.py::test_media[True-False] SKIPPED (async def fun...) [ 10%] 385s tests/asgi/test_ws.py::test_media[False-True] SKIPPED (async def fun...) [ 10%] 385s tests/asgi/test_ws.py::test_media[False-False] SKIPPED (async def fu...) [ 10%] 385s tests/asgi/test_ws.py::test_send_receive_data[123] SKIPPED (async de...) [ 10%] 385s tests/asgi/test_ws.py::test_send_receive_data[] SKIPPED (async def f...) [ 10%] 385s tests/asgi/test_ws.py::test_send_receive_data[\xe1\x9a\xa0\xe1] SKIPPED [ 10%] 385s tests/asgi/test_ws.py::test_send_receive_data[\x00] SKIPPED (async d...) [ 10%] 385s tests/asgi/test_ws.py::test_subprotocol[subprotocols0] SKIPPED (asyn...) [ 10%] 385s tests/asgi/test_ws.py::test_subprotocol[subprotocols1] SKIPPED (asyn...) [ 10%] 385s tests/asgi/test_ws.py::test_subprotocol[subprotocols2] SKIPPED (asyn...) [ 10%] 385s tests/asgi/test_ws.py::test_subprotocol[None] SKIPPED (async def fun...) [ 11%] 385s tests/asgi/test_ws.py::test_accept_with_headers[None] SKIPPED (async...) [ 11%] 385s tests/asgi/test_ws.py::test_accept_with_headers[headers1] SKIPPED (a...) [ 11%] 385s tests/asgi/test_ws.py::test_accept_with_headers[headers2] SKIPPED (a...) [ 11%] 385s tests/asgi/test_ws.py::test_accept_with_headers[headers3] SKIPPED (a...) [ 11%] 385s tests/asgi/test_ws.py::test_accept_with_headers[headers4] SKIPPED (a...) [ 11%] 385s tests/asgi/test_ws.py::test_accept_with_headers[headers5] SKIPPED (a...) [ 11%] 385s tests/asgi/test_ws.py::test_accept_with_headers[headers6] SKIPPED (a...) [ 11%] 385s tests/asgi/test_ws.py::test_accept_with_bad_headers[headers0] SKIPPED [ 11%] 385s tests/asgi/test_ws.py::test_accept_with_bad_headers[headers1] SKIPPED [ 11%] 385s tests/asgi/test_ws.py::test_accept_with_bad_headers[headers2] SKIPPED [ 11%] 385s tests/asgi/test_ws.py::test_accept_with_headers_not_supported SKIPPED [ 11%] 385s tests/asgi/test_ws.py::test_missing_ws_handler SKIPPED (async def fu...) [ 11%] 385s tests/asgi/test_ws.py::test_unexpected_param SKIPPED (async def func...) [ 11%] 385s tests/asgi/test_ws.py::test_subprotocol_bad_type[DEADBEEF] SKIPPED (...) [ 11%] 385s tests/asgi/test_ws.py::test_subprotocol_bad_type[subprotocol1] SKIPPED [ 11%] 385s tests/asgi/test_ws.py::test_subprotocol_bad_type[subprotocol2] SKIPPED [ 11%] 385s tests/asgi/test_ws.py::test_subprotocol_bad_type[subprotocol3] SKIPPED [ 11%] 385s tests/asgi/test_ws.py::test_subprotocol_bad_type[subprotocol4] SKIPPED [ 11%] 385s tests/asgi/test_ws.py::test_subprotocol_bad_type[OK] SKIPPED (async ...) [ 11%] 385s tests/asgi/test_ws.py::test_send_receive_wrong_type SKIPPED (async d...) [ 11%] 385s tests/asgi/test_ws.py::test_client_disconnect_uncaught_error[999] SKIPPED [ 11%] 385s tests/asgi/test_ws.py::test_client_disconnect_uncaught_error[100] SKIPPED [ 11%] 385s tests/asgi/test_ws.py::test_client_disconnect_uncaught_error[0] SKIPPED [ 11%] 385s tests/asgi/test_ws.py::test_client_disconnect_uncaught_error[-1] SKIPPED [ 11%] 385s tests/asgi/test_ws.py::test_client_disconnect_uncaught_error[1004] SKIPPED [ 11%] 385s tests/asgi/test_ws.py::test_client_disconnect_uncaught_error[1005] SKIPPED [ 11%] 385s tests/asgi/test_ws.py::test_client_disconnect_uncaught_error[1006] SKIPPED [ 11%] 385s tests/asgi/test_ws.py::test_client_disconnect_uncaught_error[1015] SKIPPED [ 11%] 385s tests/asgi/test_ws.py::test_client_disconnect_uncaught_error[1016] SKIPPED [ 11%] 385s tests/asgi/test_ws.py::test_client_disconnect_uncaught_error[1017] SKIPPED [ 11%] 385s tests/asgi/test_ws.py::test_client_disconnect_uncaught_error[1050] SKIPPED [ 11%] 385s tests/asgi/test_ws.py::test_client_disconnect_uncaught_error[1099] SKIPPED [ 11%] 385s tests/asgi/test_ws.py::test_client_disconnect_uncaught_error[NaN] SKIPPED [ 11%] 385s tests/asgi/test_ws.py::test_mw_methods_must_be_coroutines PASSED [ 12%] 385s tests/asgi/test_ws.py::test_bad_spec_version[1.9] SKIPPED (async def...) [ 12%] 385s tests/asgi/test_ws.py::test_bad_spec_version[20.5] SKIPPED (async de...) [ 12%] 385s tests/asgi/test_ws.py::test_bad_spec_version[3.0] SKIPPED (async def...) [ 12%] 385s tests/asgi/test_ws.py::test_bad_spec_version[3.1] SKIPPED (async def...) [ 12%] 385s tests/asgi/test_ws.py::test_bad_http_version[1.0] SKIPPED (async def...) [ 12%] 385s tests/asgi/test_ws.py::test_bad_http_version[1] SKIPPED (async def f...) [ 12%] 385s tests/asgi/test_ws.py::test_bad_first_event SKIPPED (async def funct...) [ 12%] 385s tests/asgi/test_ws.py::test_missing_http_version SKIPPED (async def ...) [ 12%] 385s tests/asgi/test_ws.py::test_missing_spec_version SKIPPED (async def ...) [ 12%] 385s tests/asgi/test_ws.py::test_translate_webserver_error SKIPPED (async...) [ 12%] 385s tests/asgi/test_ws.py::test_ws_base_not_implemented PASSED [ 12%] 385s tests/asgi/test_ws.py::test_ws_context_timeout SKIPPED (async def fu...) [ 12%] 385s tests/asgi/test_ws.py::test_ws_simulator_client_require_accepted SKIPPED [ 12%] 385s tests/asgi/test_ws.py::test_ws_simulator_collect_edge_cases SKIPPED [ 12%] 385s tests/asgi/test_ws.py::test_msgpack_missing SKIPPED (test requires m...) [ 12%] 385s tests/test_after_hooks.py::test_output_validator[asgi] PASSED [ 12%] 385s tests/test_after_hooks.py::test_output_validator[wsgi] PASSED [ 12%] 385s tests/test_after_hooks.py::test_serializer[asgi] PASSED [ 12%] 385s tests/test_after_hooks.py::test_serializer[wsgi] PASSED [ 12%] 385s tests/test_after_hooks.py::test_hook_as_callable_class[asgi] PASSED [ 12%] 385s tests/test_after_hooks.py::test_hook_as_callable_class[wsgi] PASSED [ 12%] 385s tests/test_after_hooks.py::test_resource_with_uri_fields[asgi-resource0] PASSED [ 12%] 385s tests/test_after_hooks.py::test_resource_with_uri_fields[asgi-resource1] PASSED [ 12%] 385s tests/test_after_hooks.py::test_resource_with_uri_fields[wsgi-resource0] PASSED [ 12%] 385s tests/test_after_hooks.py::test_resource_with_uri_fields[wsgi-resource1] PASSED [ 12%] 385s tests/test_after_hooks.py::test_resource_with_uri_fields_async PASSED [ 12%] 385s tests/test_after_hooks.py::test_wrapped_resource[asgi-resource0] PASSED [ 12%] 385s tests/test_after_hooks.py::test_wrapped_resource[asgi-resource1] PASSED [ 12%] 385s tests/test_after_hooks.py::test_wrapped_resource[wsgi-resource0] PASSED [ 12%] 385s tests/test_after_hooks.py::test_wrapped_resource[wsgi-resource1] PASSED [ 12%] 385s tests/test_after_hooks.py::test_wrapped_resource_with_hooks_aware_of_resource[asgi] PASSED [ 12%] 385s tests/test_after_hooks.py::test_wrapped_resource_with_hooks_aware_of_resource[wsgi] PASSED [ 12%] 385s tests/test_after_hooks.py::test_after_hooks_on_suffixed_resource[paper-/once-paper, rock, scissors] PASSED [ 13%] 385s tests/test_after_hooks.py::test_after_hooks_on_suffixed_resource[scissors-/twice-scissors, paper, rock, scissors] PASSED [ 13%] 385s tests/test_after_hooks.py::test_after_hooks_on_suffixed_resource[rock-/thrice-rock, scissors, paper, rock, scissors] PASSED [ 13%] 385s tests/test_after_hooks.py::test_after_hooks_on_suffixed_resource[paper-/thrice-paper, rock, scissors, paper, rock] PASSED [ 13%] 385s tests/test_alias.py::test_cookies PASSED [ 13%] 385s tests/test_alias.py::test_alias_equals_to_app PASSED [ 13%] 385s tests/test_app_initializers.py::test_api_media_type_overriding[App] PASSED [ 13%] 385s tests/test_app_initializers.py::test_api_media_type_overriding[API] PASSED [ 13%] 385s tests/test_before_hooks.py::test_multiple_resource_hooks[asgi-resource0] PASSED [ 13%] 385s tests/test_before_hooks.py::test_multiple_resource_hooks[asgi-resource1] PASSED [ 13%] 385s tests/test_before_hooks.py::test_multiple_resource_hooks[wsgi-resource0] PASSED [ 13%] 385s tests/test_before_hooks.py::test_multiple_resource_hooks[wsgi-resource1] PASSED [ 13%] 385s tests/test_before_hooks.py::test_input_validator[asgi] PASSED [ 13%] 385s tests/test_before_hooks.py::test_input_validator[wsgi] PASSED [ 13%] 385s tests/test_before_hooks.py::test_input_validator_inherited[asgi] PASSED [ 13%] 385s tests/test_before_hooks.py::test_input_validator_inherited[wsgi] PASSED [ 13%] 385s tests/test_before_hooks.py::test_param_validator[asgi] PASSED [ 13%] 385s tests/test_before_hooks.py::test_param_validator[wsgi] PASSED [ 13%] 385s tests/test_before_hooks.py::test_field_validator[asgi-resource0] PASSED [ 13%] 385s tests/test_before_hooks.py::test_field_validator[asgi-resource1] PASSED [ 13%] 385s tests/test_before_hooks.py::test_field_validator[asgi-resource2] PASSED [ 13%] 385s tests/test_before_hooks.py::test_field_validator[wsgi-resource0] PASSED [ 13%] 385s tests/test_before_hooks.py::test_field_validator[wsgi-resource1] PASSED [ 13%] 385s tests/test_before_hooks.py::test_field_validator[wsgi-resource2] PASSED [ 13%] 385s tests/test_before_hooks.py::test_parser_sync[{"animal": "falcon"}-doc0] PASSED [ 13%] 385s tests/test_before_hooks.py::test_parser_sync[{}-doc1] PASSED [ 13%] 385s tests/test_before_hooks.py::test_parser_sync[-None] PASSED [ 13%] 385s tests/test_before_hooks.py::test_parser_sync[None-None] PASSED [ 13%] 385s tests/test_before_hooks.py::test_parser_async[{"animal": "falcon"}-doc0] PASSED [ 13%] 385s tests/test_before_hooks.py::test_parser_async[{}-doc1] PASSED [ 13%] 385s tests/test_before_hooks.py::test_parser_async[-None] PASSED [ 13%] 385s tests/test_before_hooks.py::test_parser_async[None-None] PASSED [ 13%] 385s tests/test_before_hooks.py::test_wrapped_resource[asgi] PASSED [ 13%] 385s tests/test_before_hooks.py::test_wrapped_resource[wsgi] PASSED [ 14%] 385s tests/test_before_hooks.py::test_wrapped_resource_with_hooks_aware_of_resource[asgi] PASSED [ 14%] 385s tests/test_before_hooks.py::test_wrapped_resource_with_hooks_aware_of_resource[wsgi] PASSED [ 14%] 385s tests/test_before_hooks.py::test_piggybacking_resource_post_item[True] PASSED [ 14%] 385s tests/test_before_hooks.py::test_piggybacking_resource_post_item[False] PASSED [ 14%] 385s tests/test_before_hooks.py::test_piggybacking_resource_post_and_delete[True] PASSED [ 14%] 385s tests/test_before_hooks.py::test_piggybacking_resource_post_and_delete[False] PASSED [ 14%] 385s tests/test_before_hooks.py::test_decorable_name_pattern PASSED [ 14%] 385s tests/test_boundedstream.py::test_not_writable PASSED [ 14%] 385s tests/test_buffered_reader.py::test_peek PASSED [ 14%] 385s tests/test_buffered_reader.py::test_peek_eof PASSED [ 14%] 385s tests/test_buffered_reader.py::test_bounded_read PASSED [ 14%] 385s tests/test_buffered_reader.py::test_read_from_buffer[0] PASSED [ 14%] 385s tests/test_buffered_reader.py::test_read_from_buffer[1] PASSED [ 14%] 385s tests/test_buffered_reader.py::test_read_from_buffer[2] PASSED [ 14%] 385s tests/test_buffered_reader.py::test_read_from_buffer[7] PASSED [ 14%] 385s tests/test_buffered_reader.py::test_read_from_buffer[62] PASSED [ 14%] 385s tests/test_buffered_reader.py::test_read_from_buffer[63] PASSED [ 14%] 385s tests/test_buffered_reader.py::test_read_from_buffer[64] PASSED [ 14%] 385s tests/test_buffered_reader.py::test_read_from_buffer[65] PASSED [ 14%] 385s tests/test_buffered_reader.py::test_read_from_buffer[126] PASSED [ 14%] 385s tests/test_buffered_reader.py::test_read_from_buffer[127] PASSED [ 14%] 385s tests/test_buffered_reader.py::test_read_from_buffer[128] PASSED [ 14%] 385s tests/test_buffered_reader.py::test_read_from_buffer[129] PASSED [ 14%] 385s tests/test_buffered_reader.py::test_read_from_buffer[1000] PASSED [ 14%] 385s tests/test_buffered_reader.py::test_read_from_buffer[10000] PASSED [ 14%] 385s tests/test_buffered_reader.py::test_read_until_delimiter_size_check PASSED [ 14%] 385s tests/test_buffered_reader.py::test_read_until_with_size[0] PASSED [ 14%] 385s tests/test_buffered_reader.py::test_read_until_with_size[1] PASSED [ 14%] 385s tests/test_buffered_reader.py::test_read_until_with_size[2] PASSED [ 14%] 385s tests/test_buffered_reader.py::test_read_until_with_size[7] PASSED [ 14%] 385s tests/test_buffered_reader.py::test_read_until_with_size[62] PASSED [ 14%] 385s tests/test_buffered_reader.py::test_read_until_with_size[63] PASSED [ 14%] 385s tests/test_buffered_reader.py::test_read_until_with_size[64] PASSED [ 15%] 385s tests/test_buffered_reader.py::test_read_until_with_size[65] PASSED [ 15%] 385s tests/test_buffered_reader.py::test_read_until_with_size[126] PASSED [ 15%] 385s tests/test_buffered_reader.py::test_read_until_with_size[127] PASSED [ 15%] 385s tests/test_buffered_reader.py::test_read_until_with_size[128] PASSED [ 15%] 385s tests/test_buffered_reader.py::test_read_until_with_size[129] PASSED [ 15%] 385s tests/test_buffered_reader.py::test_read_until_with_size[1000] PASSED [ 15%] 385s tests/test_buffered_reader.py::test_read_until_with_size[10000] PASSED [ 15%] 386s tests/test_buffered_reader.py::test_read_until PASSED [ 15%] 386s tests/test_buffered_reader.py::test_irregular_large_read_until[11003077-22000721] PASSED [ 15%] 386s tests/test_buffered_reader.py::test_irregular_large_read_until[13372477-51637898] PASSED [ 15%] 386s tests/test_buffered_reader.py::test_read_until_from_buffer[0] PASSED [ 15%] 386s tests/test_buffered_reader.py::test_read_until_from_buffer[1] PASSED [ 15%] 386s tests/test_buffered_reader.py::test_read_until_from_buffer[2] PASSED [ 15%] 386s tests/test_buffered_reader.py::test_read_until_from_buffer[7] PASSED [ 15%] 386s tests/test_buffered_reader.py::test_read_until_from_buffer[62] PASSED [ 15%] 386s tests/test_buffered_reader.py::test_read_until_from_buffer[63] PASSED [ 15%] 386s tests/test_buffered_reader.py::test_read_until_from_buffer[64] PASSED [ 15%] 386s tests/test_buffered_reader.py::test_read_until_from_buffer[65] PASSED [ 15%] 386s tests/test_buffered_reader.py::test_read_until_from_buffer[126] PASSED [ 15%] 386s tests/test_buffered_reader.py::test_read_until_from_buffer[127] PASSED [ 15%] 386s tests/test_buffered_reader.py::test_read_until_from_buffer[128] PASSED [ 15%] 386s tests/test_buffered_reader.py::test_read_until_from_buffer[129] PASSED [ 15%] 386s tests/test_buffered_reader.py::test_read_until_from_buffer[1000] PASSED [ 15%] 386s tests/test_buffered_reader.py::test_read_until_missing_delimiter PASSED [ 15%] 386s tests/test_buffered_reader.py::test_consume_delimiter PASSED [ 15%] 386s tests/test_buffered_reader.py::test_read_until_shared_boundary[46] PASSED [ 15%] 386s tests/test_buffered_reader.py::test_read_until_shared_boundary[47] PASSED [ 15%] 386s tests/test_buffered_reader.py::test_read_until_shared_boundary[48] PASSED [ 15%] 386s tests/test_buffered_reader.py::test_read_until_shared_boundary[49] PASSED [ 15%] 386s tests/test_buffered_reader.py::test_read_until_shared_boundary[50] PASSED [ 15%] 386s tests/test_buffered_reader.py::test_read_until_shared_boundary[51] PASSED [ 15%] 386s tests/test_buffered_reader.py::test_read_until_shared_boundary[52] PASSED [ 15%] 386s tests/test_buffered_reader.py::test_read_until_shared_boundary[53] PASSED [ 16%] 386s tests/test_buffered_reader.py::test_read_until_shared_boundary[54] PASSED [ 16%] 386s tests/test_buffered_reader.py::test_read_until_shared_boundary[55] PASSED [ 16%] 386s tests/test_buffered_reader.py::test_read_until_shared_boundary[56] PASSED [ 16%] 386s tests/test_buffered_reader.py::test_read_until_shared_boundary[57] PASSED [ 16%] 386s tests/test_buffered_reader.py::test_read_until_shared_boundary[58] PASSED [ 16%] 386s tests/test_buffered_reader.py::test_read_until_shared_boundary[59] PASSED [ 16%] 386s tests/test_buffered_reader.py::test_read_until_shared_boundary[60] PASSED [ 16%] 386s tests/test_buffered_reader.py::test_read_until_shared_boundary[61] PASSED [ 16%] 386s tests/test_buffered_reader.py::test_read_until_shared_boundary[62] PASSED [ 16%] 386s tests/test_buffered_reader.py::test_pipe PASSED [ 16%] 386s tests/test_buffered_reader.py::test_pipe_until PASSED [ 16%] 386s tests/test_buffered_reader.py::test_pipe_until_without_destination PASSED [ 16%] 386s tests/test_buffered_reader.py::test_exhaust PASSED [ 16%] 386s tests/test_buffered_reader.py::test_readline PASSED [ 16%] 386s tests/test_buffered_reader.py::test_readline_with_size PASSED [ 16%] 386s tests/test_buffered_reader.py::test_readlines PASSED [ 16%] 386s tests/test_buffered_reader.py::test_readlines_hint[8] PASSED [ 16%] 387s tests/test_buffered_reader.py::test_readlines_hint[16] PASSED [ 16%] 387s tests/test_buffered_reader.py::test_readlines_hint[256] PASSED [ 16%] 387s tests/test_buffered_reader.py::test_readlines_hint[1024] PASSED [ 16%] 387s tests/test_buffered_reader.py::test_readlines_hint[65536] PASSED [ 16%] 387s tests/test_buffered_reader.py::test_duck_compatibility_with_io_base PASSED [ 16%] 387s tests/test_buffered_reader.py::test_fragmented_reads PASSED [ 16%] 387s tests/test_cmd_inspect_app.py::TestMakeParser::test_make_parser[args0-exp0] PASSED [ 16%] 387s tests/test_cmd_inspect_app.py::TestMakeParser::test_make_parser[args1-exp1] PASSED [ 16%] 387s tests/test_cmd_inspect_app.py::TestMakeParser::test_make_parser[args2-exp2] PASSED [ 16%] 387s tests/test_cmd_inspect_app.py::TestMakeParser::test_make_parser[args3-exp3] PASSED [ 16%] 387s tests/test_cmd_inspect_app.py::TestMakeParser::test_make_parser[args4-exp4] PASSED [ 16%] 387s tests/test_cmd_inspect_app.py::TestMakeParser::test_make_parser[args5-exp5] PASSED [ 16%] 387s tests/test_cmd_inspect_app.py::TestMakeParser::test_make_parser[args6-exp6] PASSED [ 16%] 387s tests/test_cmd_inspect_app.py::TestMakeParser::test_make_parser[args7-exp7] PASSED [ 16%] 387s tests/test_cmd_inspect_app.py::TestMakeParser::test_make_parser_error PASSED [ 16%] 387s tests/test_cmd_inspect_app.py::TestLoadApp::test_load_app[_APP] PASSED [ 17%] 387s tests/test_cmd_inspect_app.py::TestLoadApp::test_load_app[make_app] PASSED [ 17%] 387s tests/test_cmd_inspect_app.py::TestLoadApp::test_load_app_error[foo] PASSED [ 17%] 387s tests/test_cmd_inspect_app.py::TestLoadApp::test_load_app_error[_MODULE] PASSED [ 17%] 387s tests/test_cmd_inspect_app.py::TestLoadApp::test_load_app_error[DummyResource] PASSED [ 17%] 387s tests/test_cmd_inspect_app.py::TestLoadApp::test_load_app_module_error PASSED [ 17%] 387s tests/test_cmd_inspect_app.py::TestMain::test_routes_only[internal-verbose] PASSED [ 17%] 387s tests/test_cmd_inspect_app.py::TestMain::test_routes_only[internal-not-verbose] PASSED [ 17%] 387s tests/test_cmd_inspect_app.py::TestMain::test_routes_only[not-internal-verbose] PASSED [ 17%] 387s tests/test_cmd_inspect_app.py::TestMain::test_routes_only[not-internal-not-verbose] PASSED [ 17%] 387s tests/test_cmd_inspect_app.py::TestMain::test_inspect[internal-verbose] PASSED [ 17%] 387s tests/test_cmd_inspect_app.py::TestMain::test_inspect[internal-not-verbose] PASSED [ 17%] 387s tests/test_cmd_inspect_app.py::TestMain::test_inspect[not-internal-verbose] PASSED [ 17%] 387s tests/test_cmd_inspect_app.py::TestMain::test_inspect[not-internal-not-verbose] PASSED [ 17%] 387s tests/test_cmd_inspect_app.py::test_route_main PASSED [ 17%] 387s tests/test_compiled_router.py::test_find_src PASSED [ 17%] 387s tests/test_compiled_router.py::test_no_compile_kw[kwargs0] PASSED [ 17%] 387s tests/test_compiled_router.py::test_no_compile_kw[kwargs1] PASSED [ 17%] 387s tests/test_compiled_router.py::test_no_compile_kw[kwargs2] PASSED [ 17%] 387s tests/test_compiled_router.py::test_no_compile_kw[kwargs3] PASSED [ 17%] 387s tests/test_compiled_router.py::test_compile PASSED [ 17%] 387s tests/test_compiled_router.py::test_add_route_after_first_request PASSED [ 17%] 387s tests/test_compiled_router.py::test_multithread_compile PASSED [ 17%] 387s tests/test_cookies.py::test_response_base_case[asgi] PASSED [ 17%] 387s tests/test_cookies.py::test_response_base_case[wsgi] PASSED [ 17%] 387s tests/test_cookies.py::test_response_disable_secure_globally[asgi] PASSED [ 17%] 387s tests/test_cookies.py::test_response_disable_secure_globally[wsgi] PASSED [ 17%] 387s tests/test_cookies.py::test_response_complex_case[asgi] PASSED [ 17%] 387s tests/test_cookies.py::test_response_complex_case[wsgi] PASSED [ 17%] 387s tests/test_cookies.py::test_unset_cookies[asgi] PASSED [ 17%] 387s tests/test_cookies.py::test_unset_cookies[wsgi] PASSED [ 17%] 387s tests/test_cookies.py::test_cookie_expires_naive[asgi] PASSED [ 17%] 387s tests/test_cookies.py::test_cookie_expires_naive[wsgi] PASSED [ 17%] 387s tests/test_cookies.py::test_cookie_expires_aware[asgi] PASSED [ 18%] 387s tests/test_cookies.py::test_cookie_expires_aware[wsgi] PASSED [ 18%] 387s tests/test_cookies.py::test_cookies_setable[asgi] PASSED [ 18%] 387s tests/test_cookies.py::test_cookies_setable[wsgi] PASSED [ 18%] 387s tests/test_cookies.py::test_cookie_max_age_float_and_string[asgi-foofloat] PASSED [ 18%] 387s tests/test_cookies.py::test_cookie_max_age_float_and_string[asgi-foostring] PASSED [ 18%] 387s tests/test_cookies.py::test_cookie_max_age_float_and_string[wsgi-foofloat] PASSED [ 18%] 387s tests/test_cookies.py::test_cookie_max_age_float_and_string[wsgi-foostring] PASSED [ 18%] 387s tests/test_cookies.py::test_response_unset_cookie[asgi] PASSED [ 18%] 387s tests/test_cookies.py::test_response_unset_cookie[wsgi] PASSED [ 18%] 387s tests/test_cookies.py::test_cookie_timezone[asgi] PASSED [ 18%] 387s tests/test_cookies.py::test_cookie_timezone[wsgi] PASSED [ 18%] 387s tests/test_cookies.py::test_request_cookie_parsing PASSED [ 18%] 387s tests/test_cookies.py::test_invalid_cookies_are_ignored PASSED [ 18%] 387s tests/test_cookies.py::test_duplicate_cookie PASSED [ 18%] 387s tests/test_cookies.py::test_cookie_header_is_missing PASSED [ 18%] 387s tests/test_cookies.py::test_unicode_inside_ascii_range PASSED [ 18%] 387s tests/test_cookies.py::test_non_ascii_name[Unicode_\xc3\xa6\xc3\xb8] PASSED [ 18%] 387s tests/test_cookies.py::test_non_ascii_name[Unicode_\xc3\x83\xc2\xa6\xc3\x83\xc2\xb8] PASSED [ 18%] 387s tests/test_cookies.py::test_non_ascii_name[42] PASSED [ 18%] 387s tests/test_cookies.py::test_non_ascii_value[Unicode_\xc3\xa6\xc3\xb8] PASSED [ 18%] 387s tests/test_cookies.py::test_non_ascii_value[Unicode_\xc3\x83\xc2\xa6\xc3\x83\xc2\xb8] PASSED [ 18%] 387s tests/test_cookies.py::test_non_ascii_value[42] PASSED [ 18%] 387s tests/test_cookies.py::test_lax_same_site_value[asgi] PASSED [ 18%] 387s tests/test_cookies.py::test_lax_same_site_value[wsgi] PASSED [ 18%] 387s tests/test_cookies.py::test_strict_same_site_value[asgi] PASSED [ 18%] 387s tests/test_cookies.py::test_strict_same_site_value[wsgi] PASSED [ 18%] 387s tests/test_cookies.py::test_none_same_site_value[asgi] PASSED [ 18%] 387s tests/test_cookies.py::test_none_same_site_value[wsgi] PASSED [ 18%] 387s tests/test_cookies.py::test_same_site_empty_string[asgi] PASSED [ 18%] 387s tests/test_cookies.py::test_same_site_empty_string[wsgi] PASSED [ 18%] 387s tests/test_cookies.py::test_same_site_value_case_insensitive[laX] PASSED [ 18%] 387s tests/test_cookies.py::test_same_site_value_case_insensitive[lax] PASSED [ 18%] 387s tests/test_cookies.py::test_same_site_value_case_insensitive[STRICT] PASSED [ 19%] 387s tests/test_cookies.py::test_same_site_value_case_insensitive[strict] PASSED [ 19%] 387s tests/test_cookies.py::test_same_site_value_case_insensitive[None] PASSED [ 19%] 387s tests/test_cookies.py::test_same_site_value_case_insensitive[none] PASSED [ 19%] 387s tests/test_cookies.py::test_invalid_same_site_value[bogus] PASSED [ 19%] 387s tests/test_cookies.py::test_invalid_same_site_value[laxx] PASSED [ 19%] 387s tests/test_cookies.py::test_invalid_same_site_value[stric] PASSED [ 19%] 387s tests/test_cors_middleware.py::TestCorsMiddleware::test_disabled_cors_should_not_add_any_extra_headers[asgi] PASSED [ 19%] 387s tests/test_cors_middleware.py::TestCorsMiddleware::test_disabled_cors_should_not_add_any_extra_headers[wsgi] PASSED [ 19%] 387s tests/test_cors_middleware.py::TestCorsMiddleware::test_enabled_cors_no_origin[asgi] PASSED [ 19%] 387s tests/test_cors_middleware.py::TestCorsMiddleware::test_enabled_cors_no_origin[wsgi] PASSED [ 19%] 387s tests/test_cors_middleware.py::TestCorsMiddleware::test_enabled_cors_should_add_extra_headers_on_response[asgi] PASSED [ 19%] 387s tests/test_cors_middleware.py::TestCorsMiddleware::test_enabled_cors_should_add_extra_headers_on_response[wsgi] PASSED [ 19%] 387s tests/test_cors_middleware.py::TestCorsMiddleware::test_enabled_cors_should_accept_all_origins_requests[asgi] PASSED [ 19%] 387s tests/test_cors_middleware.py::TestCorsMiddleware::test_enabled_cors_should_accept_all_origins_requests[wsgi] PASSED [ 19%] 387s tests/test_cors_middleware.py::TestCorsMiddleware::test_enabled_cors_handles_preflighting[asgi] PASSED [ 19%] 387s tests/test_cors_middleware.py::TestCorsMiddleware::test_enabled_cors_handles_preflighting[wsgi] PASSED [ 19%] 387s tests/test_cors_middleware.py::TestCorsMiddleware::test_enabled_cors_handles_preflighting_no_headers_in_req[asgi] PASSED [ 19%] 387s tests/test_cors_middleware.py::TestCorsMiddleware::test_enabled_cors_handles_preflighting_no_headers_in_req[wsgi] PASSED [ 19%] 387s tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_raises PASSED [ 19%] 387s tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_allow_origin[asgi-*-fail_origins0-success_origins0] PASSED [ 19%] 387s tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_allow_origin[asgi-test-fail_origins1-success_origins1] PASSED [ 19%] 387s tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_allow_origin[asgi-allow2-fail_origins2-success_origins2] PASSED [ 19%] 387s tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_allow_origin[wsgi-*-fail_origins0-success_origins0] PASSED [ 19%] 387s tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_allow_origin[wsgi-test-fail_origins1-success_origins1] PASSED [ 19%] 387s tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_allow_origin[wsgi-allow2-fail_origins2-success_origins2] PASSED [ 19%] 387s tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_allow_credential_wildcard[asgi] PASSED [ 19%] 387s tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_allow_credential_wildcard[wsgi] PASSED [ 19%] 387s tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_allow_credential_list_or_str[asgi-allow0-successOrigin0] PASSED [ 19%] 387s tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_allow_credential_list_or_str[asgi-foo-successOrigin1] PASSED [ 19%] 387s tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_allow_credential_list_or_str[wsgi-allow0-successOrigin0] PASSED [ 19%] 387s tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_allow_credential_list_or_str[wsgi-foo-successOrigin1] PASSED [ 19%] 387s tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_allow_credential_existing_origin[asgi] PASSED [ 19%] 387s tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_allow_credential_existing_origin[wsgi] PASSED [ 20%] 387s tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_allow_origin_allow_credential[asgi] PASSED [ 20%] 387s tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_allow_origin_allow_credential[wsgi] PASSED [ 20%] 387s tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_expose_headers[asgi-foo-foo] PASSED [ 20%] 387s tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_expose_headers[asgi-foo, bar-foo, bar] PASSED [ 20%] 387s tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_expose_headers[asgi-attr2-foo, bar] PASSED [ 20%] 387s tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_expose_headers[wsgi-foo-foo] PASSED [ 20%] 387s tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_expose_headers[wsgi-foo, bar-foo, bar] PASSED [ 20%] 387s tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_expose_headers[wsgi-attr2-foo, bar] PASSED [ 20%] 387s tests/test_custom_router.py::test_custom_router_add_route_should_be_used[True] PASSED [ 20%] 387s tests/test_custom_router.py::test_custom_router_add_route_should_be_used[False] PASSED [ 20%] 387s tests/test_custom_router.py::test_custom_router_find_should_be_used[True] PASSED [ 20%] 387s tests/test_custom_router.py::test_custom_router_find_should_be_used[False] PASSED [ 20%] 387s tests/test_custom_router.py::test_can_pass_additional_params_to_add_route[True] PASSED [ 20%] 387s tests/test_custom_router.py::test_can_pass_additional_params_to_add_route[False] PASSED [ 20%] 387s tests/test_custom_router.py::test_custom_router_takes_req_positional_argument[True] PASSED [ 20%] 387s tests/test_custom_router.py::test_custom_router_takes_req_positional_argument[False] PASSED [ 20%] 387s tests/test_custom_router.py::test_custom_router_takes_req_keyword_argument[True] PASSED [ 20%] 387s tests/test_custom_router.py::test_custom_router_takes_req_keyword_argument[False] PASSED [ 20%] 387s tests/test_default_router.py::test_user_regression_versioned_url PASSED [ 20%] 387s tests/test_default_router.py::test_user_regression_recipes PASSED [ 20%] 387s tests/test_default_router.py::test_user_regression_special_chars[/serviceRoot/People|{field}-/serviceRoot/People|susie-expected_params0] PASSED [ 20%] 387s tests/test_default_router.py::test_user_regression_special_chars[/serviceRoot/People[{field}]-/serviceRoot/People['calvin']-expected_params1] PASSED [ 20%] 387s tests/test_default_router.py::test_user_regression_special_chars[/serviceRoot/People({field})-/serviceRoot/People('hobbes')-expected_params2] PASSED [ 20%] 387s tests/test_default_router.py::test_user_regression_special_chars[/serviceRoot/People({field})-/serviceRoot/People('hob)bes')-expected_params3] PASSED [ 20%] 387s tests/test_default_router.py::test_user_regression_special_chars[/serviceRoot/People({field})(z)-/serviceRoot/People(hobbes)(z)-expected_params4] PASSED [ 20%] 387s tests/test_default_router.py::test_user_regression_special_chars[/serviceRoot/People('{field}')-/serviceRoot/People('rosalyn')-expected_params5] PASSED [ 20%] 387s tests/test_default_router.py::test_user_regression_special_chars[/^{field}-/^42-expected_params6] PASSED [ 20%] 387s tests/test_default_router.py::test_user_regression_special_chars[/+{field}-/+42-expected_params7] PASSED [ 20%] 387s tests/test_default_router.py::test_user_regression_special_chars[/foo/{first}_{second}/bar-/foo/abc_def_ghijk/bar-expected_params8] PASSED [ 20%] 387s tests/test_default_router.py::test_user_regression_special_chars[/items/{x}?{y}-/items/1080?768-expected_params9] PASSED [ 20%] 387s tests/test_default_router.py::test_user_regression_special_chars[/items/{x}|{y}-/items/1080|768-expected_params10] PASSED [ 20%] 387s tests/test_default_router.py::test_user_regression_special_chars[/items/{x},{y}-/items/1080,768-expected_params11] PASSED [ 20%] 387s tests/test_default_router.py::test_user_regression_special_chars[/items/{x}^^{y}-/items/1080^^768-expected_params12] PASSED [ 21%] 387s tests/test_default_router.py::test_user_regression_special_chars[/items/{x}*{y}*-/items/1080*768*-expected_params13] PASSED [ 21%] 387s tests/test_default_router.py::test_user_regression_special_chars[/thing-2/something+{field}+-/thing-2/something+42+-expected_params14] PASSED [ 21%] 387s tests/test_default_router.py::test_user_regression_special_chars[/thing-2/something*{field}/notes-/thing-2/something*42/notes-expected_params15] PASSED [ 21%] 387s tests/test_default_router.py::test_user_regression_special_chars[/thing-2/something+{field}|{q}/notes-/thing-2/something+else|z/notes-expected_params16] PASSED [ 21%] 387s tests/test_default_router.py::test_user_regression_special_chars[serviceRoot/$metadata#Airports('{field}')/Name-serviceRoot/$metadata#Airports('KSFO')/Name-expected_params17] PASSED [ 21%] 387s tests/test_default_router.py::test_not_str[uri_template0-True] PASSED [ 21%] 387s tests/test_default_router.py::test_not_str[uri_template0-False] PASSED [ 21%] 387s tests/test_default_router.py::test_not_str[uri_template1-True] PASSED [ 21%] 387s tests/test_default_router.py::test_not_str[uri_template1-False] PASSED [ 21%] 387s tests/test_default_router.py::test_not_str[uri_template2-True] PASSED [ 21%] 387s tests/test_default_router.py::test_not_str[uri_template2-False] PASSED [ 21%] 387s tests/test_default_router.py::test_root_path PASSED [ 21%] 387s tests/test_default_router.py::test_duplicate_field_names[/{field}{field}] PASSED [ 21%] 387s tests/test_default_router.py::test_duplicate_field_names[/{field}...{field}] PASSED [ 21%] 387s tests/test_default_router.py::test_duplicate_field_names[/{field}/{another}/{field}] PASSED [ 21%] 387s tests/test_default_router.py::test_duplicate_field_names[/{field}/something/something/{field}/something] PASSED [ 21%] 387s tests/test_default_router.py::test_match_entire_path[/items/thing-/items/t] PASSED [ 21%] 387s tests/test_default_router.py::test_match_entire_path[/items/{x}|{y}|-/items/1080|768] PASSED [ 21%] 387s tests/test_default_router.py::test_match_entire_path[/items/{x}*{y}foo-/items/1080*768foobar] PASSED [ 21%] 387s tests/test_default_router.py::test_match_entire_path[/items/{x}*768*-/items/1080*768***] PASSED [ 21%] 387s tests/test_default_router.py::test_conflict[/teams/{conflict}] PASSED [ 21%] 387s tests/test_default_router.py::test_conflict[/emojis/signs/{id_too}] PASSED [ 21%] 387s tests/test_default_router.py::test_conflict[/repos/{org}/{repo}/compare/{complex}:{vs}...{complex2}:{conflict}] PASSED [ 21%] 387s tests/test_default_router.py::test_conflict[/teams/{id:int}/settings] PASSED [ 21%] 387s tests/test_default_router.py::test_non_conflict[/repos/{org}/{repo}/compare/{simple_vs_complex}] PASSED [ 21%] 387s tests/test_default_router.py::test_non_conflict[/repos/{complex}.{vs}.{simple}] PASSED [ 21%] 387s tests/test_default_router.py::test_non_conflict[/repos/{org}/{repo}/compare/{complex}:{vs}...{complex2}/full] PASSED [ 21%] 387s tests/test_default_router.py::test_invalid_field_name[/{}] PASSED [ 21%] 387s tests/test_default_router.py::test_invalid_field_name[/repos/{org}/{repo}/compare/{}] PASSED [ 21%] 387s tests/test_default_router.py::test_invalid_field_name[/repos/{complex}.{}.{thing}] PASSED [ 21%] 387s tests/test_default_router.py::test_invalid_field_name[/{9v}] PASSED [ 21%] 387s tests/test_default_router.py::test_invalid_field_name[/{524hello}/world] PASSED [ 21%] 387s tests/test_default_router.py::test_invalid_field_name[/hello/{1world}] PASSED [ 22%] 387s tests/test_default_router.py::test_invalid_field_name[/repos/{complex}.{9v}.{thing}/etc] PASSED [ 22%] 387s tests/test_default_router.py::test_invalid_field_name[/{*kgriffs}] PASSED [ 22%] 387s tests/test_default_router.py::test_invalid_field_name[/{@kgriffs}] PASSED [ 22%] 387s tests/test_default_router.py::test_invalid_field_name[/repos/{complex}.{v}.{@thing}/etc] PASSED [ 22%] 387s tests/test_default_router.py::test_invalid_field_name[/{-kgriffs}] PASSED [ 22%] 387s tests/test_default_router.py::test_invalid_field_name[/repos/{complex}.{-v}.{thing}/etc] PASSED [ 22%] 387s tests/test_default_router.py::test_invalid_field_name[/repos/{simple-thing}/etc] PASSED [ 22%] 387s tests/test_default_router.py::test_invalid_field_name[/this and that] PASSED [ 22%] 387s tests/test_default_router.py::test_invalid_field_name[/this\tand\tthat/this\nand\nthat/{thing }/world] PASSED [ 22%] 387s tests/test_default_router.py::test_invalid_field_name[/{thing\t}/world] PASSED [ 22%] 387s tests/test_default_router.py::test_invalid_field_name[/{\nthing}/world] PASSED [ 22%] 387s tests/test_default_router.py::test_invalid_field_name[/{th\x0bing}/world] PASSED [ 22%] 387s tests/test_default_router.py::test_invalid_field_name[/{ thing}/world] PASSED [ 22%] 387s tests/test_default_router.py::test_invalid_field_name[/{ thing }/world] PASSED [ 22%] 387s tests/test_default_router.py::test_invalid_field_name[/{thing}/wo rld] PASSED [ 22%] 387s tests/test_default_router.py::test_invalid_field_name[/{thing} /world] PASSED [ 22%] 387s tests/test_default_router.py::test_invalid_field_name[/repos/{or g}/{repo}/compare/{thing}] PASSED [ 22%] 387s tests/test_default_router.py::test_invalid_field_name[/repos/{org}/{repo}/compare/{th\ting}] PASSED [ 22%] 387s tests/test_default_router.py::test_print_src PASSED [ 22%] 387s tests/test_default_router.py::test_override PASSED [ 22%] 387s tests/test_default_router.py::test_literal_segment PASSED [ 22%] 387s tests/test_default_router.py::test_dead_segment[/teams] PASSED [ 22%] 387s tests/test_default_router.py::test_dead_segment[/emojis/signs] PASSED [ 22%] 387s tests/test_default_router.py::test_dead_segment[/gists] PASSED [ 22%] 387s tests/test_default_router.py::test_dead_segment[/gists/42] PASSED [ 22%] 387s tests/test_default_router.py::test_malformed_pattern[/repos/racker/falcon/compare/foo] PASSED [ 22%] 387s tests/test_default_router.py::test_malformed_pattern[/repos/racker/falcon/compare/foo/full] PASSED [ 22%] 387s tests/test_default_router.py::test_literal PASSED [ 22%] 387s tests/test_default_router.py::test_converters[/cvt/teams/007-expected_params0] PASSED [ 22%] 387s tests/test_default_router.py::test_converters[/cvt/teams/1234/members-expected_params1] PASSED [ 22%] 387s tests/test_default_router.py::test_converters[/cvt/teams/default/members/700-5-expected_params2] PASSED [ 22%] 387s tests/test_default_router.py::test_converters[/cvt/repos/org/repo/compare/xkcd:353-expected_params3] PASSED [ 22%] 387s tests/test_default_router.py::test_converters[/cvt/repos/org/repo/compare/gunmachan:1234...kumamon:5678/part-expected_params4] PASSED [ 22%] 387s tests/test_default_router.py::test_converters[/cvt/repos/xkcd/353/compare/susan:0001/full-expected_params5] PASSED [ 23%] 387s tests/test_default_router.py::test_converters_with_invalid_options[/foo/{bar:int(0)}] PASSED [ 23%] 387s tests/test_default_router.py::test_converters_with_invalid_options[/foo/{bar:int(num_digits=0)}] PASSED [ 23%] 387s tests/test_default_router.py::test_converters_with_invalid_options[/foo/{bar:int(-1)}/baz] PASSED [ 23%] 387s tests/test_default_router.py::test_converters_with_invalid_options[/foo/{bar:int(num_digits=-1)}/baz] PASSED [ 23%] 387s tests/test_default_router.py::test_converters_malformed_specification[/foo/{bar:}] PASSED [ 23%] 387s tests/test_default_router.py::test_converters_malformed_specification[/foo/{bar:unknown}/baz] PASSED [ 23%] 387s tests/test_default_router.py::test_variable PASSED [ 23%] 387s tests/test_default_router.py::test_single_character_field_name PASSED [ 23%] 387s tests/test_default_router.py::test_literal_vs_variable[/teams/default-19] PASSED [ 23%] 387s tests/test_default_router.py::test_literal_vs_variable[/teams/default/members-7] PASSED [ 23%] 387s tests/test_default_router.py::test_literal_vs_variable[/cvt/teams/default-31] PASSED [ 23%] 387s tests/test_default_router.py::test_literal_vs_variable[/cvt/teams/default/members/1234-10-32] PASSED [ 23%] 387s tests/test_default_router.py::test_literal_vs_variable[/teams/1234-6] PASSED [ 23%] 387s tests/test_default_router.py::test_literal_vs_variable[/teams/1234/members-7] PASSED [ 23%] 387s tests/test_default_router.py::test_literal_vs_variable[/gists/first-20] PASSED [ 23%] 387s tests/test_default_router.py::test_literal_vs_variable[/gists/first/raw-18] PASSED [ 23%] 387s tests/test_default_router.py::test_literal_vs_variable[/gists/first/pdf-21] PASSED [ 23%] 387s tests/test_default_router.py::test_literal_vs_variable[/gists/1776/pdf-21] PASSED [ 23%] 387s tests/test_default_router.py::test_literal_vs_variable[/emojis/signs/78-13] PASSED [ 23%] 387s tests/test_default_router.py::test_literal_vs_variable[/emojis/signs/78/small.png-24] PASSED [ 23%] 387s tests/test_default_router.py::test_literal_vs_variable[/emojis/signs/78/small(png)-25] PASSED [ 23%] 387s tests/test_default_router.py::test_literal_vs_variable[/emojis/signs/78/small_png-26] PASSED [ 23%] 387s tests/test_default_router.py::test_not_found[/this/does/not/exist] PASSED [ 23%] 387s tests/test_default_router.py::test_not_found[/user/bogus] PASSED [ 23%] 387s tests/test_default_router.py::test_not_found[/repos/racker/falcon/compare/johndoe:master...janedoe:dev/bogus] PASSED [ 23%] 387s tests/test_default_router.py::test_not_found[/teams] PASSED [ 23%] 387s tests/test_default_router.py::test_not_found[/teams/42/members/undefined] PASSED [ 23%] 387s tests/test_default_router.py::test_not_found[/teams/42/undefined] PASSED [ 23%] 387s tests/test_default_router.py::test_not_found[/teams/42/undefined/segments] PASSED [ 23%] 387s tests/test_default_router.py::test_not_found[/teams/default/members/undefined] PASSED [ 23%] 387s tests/test_default_router.py::test_not_found[/teams/default/members/thing/undefined] PASSED [ 23%] 387s tests/test_default_router.py::test_not_found[/teams/default/members/thing/undefined/segments] PASSED [ 23%] 387s tests/test_default_router.py::test_not_found[/teams/default/undefined] PASSED [ 24%] 387s tests/test_default_router.py::test_not_found[/teams/default/undefined/segments] PASSED [ 24%] 387s tests/test_default_router.py::test_not_found[/cvt/teams/default/members] PASSED [ 24%] 387s tests/test_default_router.py::test_not_found[/cvt/teams/NaN] PASSED [ 24%] 387s tests/test_default_router.py::test_not_found[/cvt/teams/default/members/NaN] PASSED [ 24%] 387s tests/test_default_router.py::test_not_found[/emojis/signs] PASSED [ 24%] 387s tests/test_default_router.py::test_not_found[/emojis/signs/0/small] PASSED [ 24%] 387s tests/test_default_router.py::test_not_found[/emojis/signs/0/undefined] PASSED [ 24%] 387s tests/test_default_router.py::test_not_found[/emojis/signs/0/undefined/segments] PASSED [ 24%] 387s tests/test_default_router.py::test_not_found[/emojis/signs/20/small] PASSED [ 24%] 387s tests/test_default_router.py::test_not_found[/emojis/signs/20/undefined] PASSED [ 24%] 387s tests/test_default_router.py::test_not_found[/emojis/signs/42/undefined] PASSED [ 24%] 387s tests/test_default_router.py::test_not_found[/emojis/signs/78/undefined] PASSED [ 24%] 387s tests/test_default_router.py::test_subsegment_not_found PASSED [ 24%] 387s tests/test_default_router.py::test_multivar PASSED [ 24%] 387s tests/test_default_router.py::test_complex[-5] PASSED [ 24%] 387s tests/test_default_router.py::test_complex[/full-10] PASSED [ 24%] 387s tests/test_default_router.py::test_complex[/part-15] PASSED [ 24%] 387s tests/test_default_router.py::test_complex_alt[-16-/repos/{org}/{repo}/compare/{usr0}:{branch0}] PASSED [ 24%] 387s tests/test_default_router.py::test_complex_alt[/full-17-/repos/{org}/{repo}/compare/{usr0}:{branch0}/full] PASSED [ 24%] 387s tests/test_default_router.py::test_options_converters_set PASSED [ 24%] 387s tests/test_default_router.py::test_options_converters_update[spam] PASSED [ 24%] 387s tests/test_default_router.py::test_options_converters_update[spam_2] PASSED [ 24%] 387s tests/test_default_router.py::test_options_converters_invalid_name[has whitespace] PASSED [ 24%] 387s tests/test_default_router.py::test_options_converters_invalid_name[whitespace ] PASSED [ 24%] 387s tests/test_default_router.py::test_options_converters_invalid_name[ whitespace ] PASSED [ 24%] 387s tests/test_default_router.py::test_options_converters_invalid_name[ whitespace] PASSED [ 24%] 387s tests/test_default_router.py::test_options_converters_invalid_name[funky$character] PASSED [ 24%] 387s tests/test_default_router.py::test_options_converters_invalid_name[42istheanswer] PASSED [ 24%] 387s tests/test_default_router.py::test_options_converters_invalid_name[with-hyphen] PASSED [ 24%] 387s tests/test_default_router.py::test_options_converters_invalid_name_on_update PASSED [ 24%] 387s tests/test_default_router.py::test_params_in_non_taken_branches[/c/foo/arg/baz-expected0-1] PASSED [ 24%] 387s tests/test_default_router.py::test_params_in_non_taken_branches[/c/foo/bar/other-expected1-2] PASSED [ 24%] 387s tests/test_default_router.py::test_params_in_non_taken_branches[/c/foo/42-7/baz-expected2-1] PASSED [ 25%] 387s tests/test_default_router.py::test_params_in_non_taken_branches[/upload/youtube/auth/token-expected3-4] PASSED [ 25%] 387s tests/test_default_router.py::test_params_in_non_taken_branches[/x/y/o.o/w-expected4-7] PASSED [ 25%] 387s tests/test_deprecations.py::test_bounded_stream PASSED [ 25%] 387s tests/test_deprecations.py::TestApiHelpers::test_imports PASSED [ 25%] 387s tests/test_deprecations.py::TestApiHelpers::test_warning SKIPPED (Re...) [ 25%] 387s tests/test_deps.py::test_deps_mimeparse_correct_package PASSED [ 25%] 387s tests/test_error.py::test_with_default_title_and_desc[HTTPBadRequest-400 Bad Request] PASSED [ 25%] 387s tests/test_error.py::test_with_default_title_and_desc[HTTPUnauthorized-401 Unauthorized] PASSED [ 25%] 387s tests/test_error.py::test_with_default_title_and_desc[HTTPForbidden-403 Forbidden] PASSED [ 25%] 387s tests/test_error.py::test_with_default_title_and_desc[HTTPNotFound-404 Not Found] PASSED [ 25%] 387s tests/test_error.py::test_with_default_title_and_desc[HTTPRouteNotFound-404 Not Found] PASSED [ 25%] 387s tests/test_error.py::test_with_default_title_and_desc[HTTPNotAcceptable-406 Not Acceptable] PASSED [ 25%] 387s tests/test_error.py::test_with_default_title_and_desc[HTTPConflict-409 Conflict] PASSED [ 25%] 387s tests/test_error.py::test_with_default_title_and_desc[HTTPGone-410 Gone] PASSED [ 25%] 388s tests/test_error.py::test_with_default_title_and_desc[HTTPLengthRequired-411 Length Required] PASSED [ 25%] 388s tests/test_error.py::test_with_default_title_and_desc[HTTPPreconditionFailed-412 Precondition Failed] PASSED [ 25%] 388s tests/test_error.py::test_with_default_title_and_desc[HTTPPayloadTooLarge-413 Payload Too Large] PASSED [ 25%] 388s tests/test_error.py::test_with_default_title_and_desc[HTTPUriTooLong-414 URI Too Long] PASSED [ 25%] 388s tests/test_error.py::test_with_default_title_and_desc[HTTPUnsupportedMediaType-415 Unsupported Media Type] PASSED [ 25%] 388s tests/test_error.py::test_with_default_title_and_desc[HTTPUnprocessableEntity-422 Unprocessable Entity] PASSED [ 25%] 388s tests/test_error.py::test_with_default_title_and_desc[HTTPLocked-423 Locked] PASSED [ 25%] 388s tests/test_error.py::test_with_default_title_and_desc[HTTPFailedDependency-424 Failed Dependency] PASSED [ 25%] 388s tests/test_error.py::test_with_default_title_and_desc[HTTPPreconditionRequired-428 Precondition Required] PASSED [ 25%] 388s tests/test_error.py::test_with_default_title_and_desc[HTTPTooManyRequests-429 Too Many Requests] PASSED [ 25%] 388s tests/test_error.py::test_with_default_title_and_desc[HTTPRequestHeaderFieldsTooLarge-431 Request Header Fields Too Large] PASSED [ 25%] 388s tests/test_error.py::test_with_default_title_and_desc[HTTPUnavailableForLegalReasons-451 Unavailable For Legal Reasons] PASSED [ 25%] 388s tests/test_error.py::test_with_default_title_and_desc[HTTPInternalServerError-500 Internal Server Error] PASSED [ 25%] 388s tests/test_error.py::test_with_default_title_and_desc[HTTPNotImplemented-501 Not Implemented] PASSED [ 25%] 388s tests/test_error.py::test_with_default_title_and_desc[HTTPBadGateway-502 Bad Gateway] PASSED [ 25%] 388s tests/test_error.py::test_with_default_title_and_desc[HTTPServiceUnavailable-503 Service Unavailable] PASSED [ 25%] 388s tests/test_error.py::test_with_default_title_and_desc[HTTPGatewayTimeout-504 Gateway Timeout] PASSED [ 25%] 388s tests/test_error.py::test_with_default_title_and_desc[HTTPVersionNotSupported-505 HTTP Version Not Supported] PASSED [ 25%] 388s tests/test_error.py::test_with_default_title_and_desc[HTTPInsufficientStorage-507 Insufficient Storage] PASSED [ 26%] 388s tests/test_error.py::test_with_default_title_and_desc[HTTPLoopDetected-508 Loop Detected] PASSED [ 26%] 388s tests/test_error.py::test_with_default_title_and_desc[HTTPNetworkAuthenticationRequired-511 Network Authentication Required] PASSED [ 26%] 388s tests/test_error.py::test_with_default_title_and_desc_args[HTTPMethodNotAllowed-405 Method Not Allowed-args0] PASSED [ 26%] 388s tests/test_error.py::test_with_default_title_and_desc_args[HTTPRangeNotSatisfiable-416 Range Not Satisfiable-args1] PASSED [ 26%] 388s tests/test_error.py::test_with_title_desc_and_headers[HTTPBadRequest] PASSED [ 26%] 388s tests/test_error.py::test_with_title_desc_and_headers[HTTPUnauthorized] PASSED [ 26%] 388s tests/test_error.py::test_with_title_desc_and_headers[HTTPForbidden] PASSED [ 26%] 388s tests/test_error.py::test_with_title_desc_and_headers[HTTPNotFound] PASSED [ 26%] 388s tests/test_error.py::test_with_title_desc_and_headers[HTTPRouteNotFound] PASSED [ 26%] 388s tests/test_error.py::test_with_title_desc_and_headers[HTTPNotAcceptable] PASSED [ 26%] 388s tests/test_error.py::test_with_title_desc_and_headers[HTTPConflict] PASSED [ 26%] 388s tests/test_error.py::test_with_title_desc_and_headers[HTTPGone] PASSED [ 26%] 388s tests/test_error.py::test_with_title_desc_and_headers[HTTPLengthRequired] PASSED [ 26%] 388s tests/test_error.py::test_with_title_desc_and_headers[HTTPPreconditionFailed] PASSED [ 26%] 388s tests/test_error.py::test_with_title_desc_and_headers[HTTPPayloadTooLarge] PASSED [ 26%] 388s tests/test_error.py::test_with_title_desc_and_headers[HTTPUriTooLong] PASSED [ 26%] 388s tests/test_error.py::test_with_title_desc_and_headers[HTTPUnsupportedMediaType] PASSED [ 26%] 388s tests/test_error.py::test_with_title_desc_and_headers[HTTPUnprocessableEntity] PASSED [ 26%] 388s tests/test_error.py::test_with_title_desc_and_headers[HTTPLocked] PASSED [ 26%] 388s tests/test_error.py::test_with_title_desc_and_headers[HTTPFailedDependency] PASSED [ 26%] 388s tests/test_error.py::test_with_title_desc_and_headers[HTTPPreconditionRequired] PASSED [ 26%] 388s tests/test_error.py::test_with_title_desc_and_headers[HTTPTooManyRequests] PASSED [ 26%] 388s tests/test_error.py::test_with_title_desc_and_headers[HTTPRequestHeaderFieldsTooLarge] PASSED [ 26%] 388s tests/test_error.py::test_with_title_desc_and_headers[HTTPUnavailableForLegalReasons] PASSED [ 26%] 388s tests/test_error.py::test_with_title_desc_and_headers[HTTPInternalServerError] PASSED [ 26%] 388s tests/test_error.py::test_with_title_desc_and_headers[HTTPNotImplemented] PASSED [ 26%] 388s tests/test_error.py::test_with_title_desc_and_headers[HTTPBadGateway] PASSED [ 26%] 388s tests/test_error.py::test_with_title_desc_and_headers[HTTPServiceUnavailable] PASSED [ 26%] 388s tests/test_error.py::test_with_title_desc_and_headers[HTTPGatewayTimeout] PASSED [ 26%] 388s tests/test_error.py::test_with_title_desc_and_headers[HTTPVersionNotSupported] PASSED [ 26%] 388s tests/test_error.py::test_with_title_desc_and_headers[HTTPInsufficientStorage] PASSED [ 26%] 388s tests/test_error.py::test_with_title_desc_and_headers[HTTPLoopDetected] PASSED [ 26%] 388s tests/test_error.py::test_with_title_desc_and_headers[HTTPNetworkAuthenticationRequired] PASSED [ 27%] 388s tests/test_error.py::test_kw_only[HTTPBadRequest] PASSED [ 27%] 388s tests/test_error.py::test_kw_only[HTTPUnauthorized] PASSED [ 27%] 388s tests/test_error.py::test_kw_only[HTTPForbidden] PASSED [ 27%] 388s tests/test_error.py::test_kw_only[HTTPNotFound] PASSED [ 27%] 388s tests/test_error.py::test_kw_only[HTTPRouteNotFound] PASSED [ 27%] 388s tests/test_error.py::test_kw_only[HTTPNotAcceptable] PASSED [ 27%] 388s tests/test_error.py::test_kw_only[HTTPConflict] PASSED [ 27%] 388s tests/test_error.py::test_kw_only[HTTPGone] PASSED [ 27%] 388s tests/test_error.py::test_kw_only[HTTPLengthRequired] PASSED [ 27%] 388s tests/test_error.py::test_kw_only[HTTPPreconditionFailed] PASSED [ 27%] 388s tests/test_error.py::test_kw_only[HTTPPayloadTooLarge] PASSED [ 27%] 388s tests/test_error.py::test_kw_only[HTTPUriTooLong] PASSED [ 27%] 388s tests/test_error.py::test_kw_only[HTTPUnsupportedMediaType] PASSED [ 27%] 388s tests/test_error.py::test_kw_only[HTTPUnprocessableEntity] PASSED [ 27%] 388s tests/test_error.py::test_kw_only[HTTPLocked] PASSED [ 27%] 388s tests/test_error.py::test_kw_only[HTTPFailedDependency] PASSED [ 27%] 388s tests/test_error.py::test_kw_only[HTTPPreconditionRequired] PASSED [ 27%] 388s tests/test_error.py::test_kw_only[HTTPTooManyRequests] PASSED [ 27%] 388s tests/test_error.py::test_kw_only[HTTPRequestHeaderFieldsTooLarge] PASSED [ 27%] 388s tests/test_error.py::test_kw_only[HTTPUnavailableForLegalReasons] PASSED [ 27%] 388s tests/test_error.py::test_kw_only[HTTPInternalServerError] PASSED [ 27%] 388s tests/test_error.py::test_kw_only[HTTPNotImplemented] PASSED [ 27%] 388s tests/test_error.py::test_kw_only[HTTPBadGateway] PASSED [ 27%] 388s tests/test_error.py::test_kw_only[HTTPServiceUnavailable] PASSED [ 27%] 388s tests/test_error.py::test_kw_only[HTTPGatewayTimeout] PASSED [ 27%] 388s tests/test_error.py::test_kw_only[HTTPVersionNotSupported] PASSED [ 27%] 388s tests/test_error.py::test_kw_only[HTTPInsufficientStorage] PASSED [ 27%] 388s tests/test_error.py::test_kw_only[HTTPLoopDetected] PASSED [ 27%] 388s tests/test_error.py::test_kw_only[HTTPNetworkAuthenticationRequired] PASSED [ 27%] 388s tests/test_error.py::test_with_title_desc_and_headers_args[HTTPMethodNotAllowed-args0] PASSED [ 27%] 388s tests/test_error.py::test_with_title_desc_and_headers_args[HTTPRangeNotSatisfiable-args1] PASSED [ 27%] 388s tests/test_error.py::test_args_kw_only[HTTPMethodNotAllowed-args0] PASSED [ 27%] 388s tests/test_error.py::test_args_kw_only[HTTPRangeNotSatisfiable-args1] PASSED [ 28%] 388s tests/test_error.py::test_args_kw_only[HTTPInvalidHeader-args2] PASSED [ 28%] 388s tests/test_error.py::test_args_kw_only[HTTPMissingHeader-args3] PASSED [ 28%] 388s tests/test_error.py::test_args_kw_only[HTTPInvalidParam-args4] PASSED [ 28%] 388s tests/test_error.py::test_args_kw_only[HTTPMissingParam-args5] PASSED [ 28%] 388s tests/test_error.py::test_with_retry_after[HTTPServiceUnavailable] PASSED [ 28%] 388s tests/test_error.py::test_with_retry_after[HTTPTooManyRequests] PASSED [ 28%] 388s tests/test_error.py::test_with_retry_after[HTTPPayloadTooLarge] PASSED [ 28%] 388s tests/test_error.py::test_with_retry_after_and_headers[HTTPServiceUnavailable] PASSED [ 28%] 388s tests/test_error.py::test_with_retry_after_and_headers[HTTPTooManyRequests] PASSED [ 28%] 388s tests/test_error.py::test_with_retry_after_and_headers[HTTPPayloadTooLarge] PASSED [ 28%] 388s tests/test_error.py::test_http_error_repr PASSED [ 28%] 388s tests/test_error.py::test_custom_400[HTTPInvalidHeader-args0-Invalid header value-The value provided for the "bar" header is invalid. foo] PASSED [ 28%] 388s tests/test_error.py::test_custom_400[HTTPMissingHeader-args1-Missing header value-The "foo" header is required.] PASSED [ 28%] 388s tests/test_error.py::test_custom_400[HTTPInvalidParam-args2-Invalid parameter-The "bar" parameter is invalid. foo] PASSED [ 28%] 388s tests/test_error.py::test_custom_400[HTTPMissingParam-args3-Missing parameter-The "foo" parameter is required.] PASSED [ 28%] 388s tests/test_error.py::TestErrorsWithHeadersKW::test_no_header[HTTPUnauthorized-WWW-Authenticate-challenges-args0-a, b-False] PASSED [ 28%] 388s tests/test_error.py::TestErrorsWithHeadersKW::test_no_header[HTTPMethodNotAllowed-Allow-allowed_methods-args1-a, b-True] PASSED [ 28%] 388s tests/test_error.py::TestErrorsWithHeadersKW::test_no_header[HTTPPayloadTooLarge-Retry-After-retry_after-123-123-False] PASSED [ 28%] 388s tests/test_error.py::TestErrorsWithHeadersKW::test_no_header[HTTPRangeNotSatisfiable-Content-Range-resource_length-123-bytes */123-True] PASSED [ 28%] 388s tests/test_error.py::TestErrorsWithHeadersKW::test_no_header[HTTPTooManyRequests-Retry-After-retry_after-123-123-False] PASSED [ 28%] 388s tests/test_error.py::TestErrorsWithHeadersKW::test_no_header[HTTPServiceUnavailable-Retry-After-retry_after-123-123-False] PASSED [ 28%] 388s tests/test_error.py::TestErrorsWithHeadersKW::test_other_header[HTTPUnauthorized-WWW-Authenticate-challenges-args0-a, b-False] PASSED [ 28%] 388s tests/test_error.py::TestErrorsWithHeadersKW::test_other_header[HTTPMethodNotAllowed-Allow-allowed_methods-args1-a, b-True] PASSED [ 28%] 388s tests/test_error.py::TestErrorsWithHeadersKW::test_other_header[HTTPPayloadTooLarge-Retry-After-retry_after-123-123-False] PASSED [ 28%] 388s tests/test_error.py::TestErrorsWithHeadersKW::test_other_header[HTTPRangeNotSatisfiable-Content-Range-resource_length-123-bytes */123-True] PASSED [ 28%] 388s tests/test_error.py::TestErrorsWithHeadersKW::test_other_header[HTTPTooManyRequests-Retry-After-retry_after-123-123-False] PASSED [ 28%] 388s tests/test_error.py::TestErrorsWithHeadersKW::test_other_header[HTTPServiceUnavailable-Retry-After-retry_after-123-123-False] PASSED [ 28%] 388s tests/test_error.py::TestErrorsWithHeadersKW::test_override_header[HTTPUnauthorized-WWW-Authenticate-challenges-args0-a, b-False] PASSED [ 28%] 388s tests/test_error.py::TestErrorsWithHeadersKW::test_override_header[HTTPMethodNotAllowed-Allow-allowed_methods-args1-a, b-True] PASSED [ 28%] 388s tests/test_error.py::TestErrorsWithHeadersKW::test_override_header[HTTPPayloadTooLarge-Retry-After-retry_after-123-123-False] PASSED [ 28%] 388s tests/test_error.py::TestErrorsWithHeadersKW::test_override_header[HTTPRangeNotSatisfiable-Content-Range-resource_length-123-bytes */123-True] PASSED [ 28%] 388s tests/test_error.py::TestErrorsWithHeadersKW::test_override_header[HTTPTooManyRequests-Retry-After-retry_after-123-123-False] PASSED [ 28%] 388s tests/test_error.py::TestErrorsWithHeadersKW::test_override_header[HTTPServiceUnavailable-Retry-After-retry_after-123-123-False] PASSED [ 29%] 388s tests/test_error.py::TestErrorsWithHeadersKW::test_other_header_list[HTTPUnauthorized-WWW-Authenticate-challenges-args0-a, b-False] PASSED [ 29%] 388s tests/test_error.py::TestErrorsWithHeadersKW::test_other_header_list[HTTPMethodNotAllowed-Allow-allowed_methods-args1-a, b-True] PASSED [ 29%] 388s tests/test_error.py::TestErrorsWithHeadersKW::test_other_header_list[HTTPPayloadTooLarge-Retry-After-retry_after-123-123-False] PASSED [ 29%] 388s tests/test_error.py::TestErrorsWithHeadersKW::test_other_header_list[HTTPRangeNotSatisfiable-Content-Range-resource_length-123-bytes */123-True] PASSED [ 29%] 388s tests/test_error.py::TestErrorsWithHeadersKW::test_other_header_list[HTTPTooManyRequests-Retry-After-retry_after-123-123-False] PASSED [ 29%] 388s tests/test_error.py::TestErrorsWithHeadersKW::test_other_header_list[HTTPServiceUnavailable-Retry-After-retry_after-123-123-False] PASSED [ 29%] 388s tests/test_error.py::TestErrorsWithHeadersKW::test_override_header_list[HTTPUnauthorized-WWW-Authenticate-challenges-args0-a, b-False] PASSED [ 29%] 388s tests/test_error.py::TestErrorsWithHeadersKW::test_override_header_list[HTTPMethodNotAllowed-Allow-allowed_methods-args1-a, b-True] PASSED [ 29%] 388s tests/test_error.py::TestErrorsWithHeadersKW::test_override_header_list[HTTPPayloadTooLarge-Retry-After-retry_after-123-123-False] PASSED [ 29%] 388s tests/test_error.py::TestErrorsWithHeadersKW::test_override_header_list[HTTPRangeNotSatisfiable-Content-Range-resource_length-123-bytes */123-True] PASSED [ 29%] 388s tests/test_error.py::TestErrorsWithHeadersKW::test_override_header_list[HTTPTooManyRequests-Retry-After-retry_after-123-123-False] PASSED [ 29%] 388s tests/test_error.py::TestErrorsWithHeadersKW::test_override_header_list[HTTPServiceUnavailable-Retry-After-retry_after-123-123-False] PASSED [ 29%] 388s tests/test_error_handlers.py::TestErrorHandler::test_caught_error[asgi] PASSED [ 29%] 388s tests/test_error_handlers.py::TestErrorHandler::test_caught_error[wsgi] PASSED [ 29%] 388s tests/test_error_handlers.py::TestErrorHandler::test_uncaught_python_error[asgi-None-application/json-{"] PASSED [ 29%] 388s tests/test_error_handlers.py::TestErrorHandler::test_uncaught_python_error[asgi-get_headers1-application/json-{"] PASSED [ 29%] 388s tests/test_error_handlers.py::TestErrorHandler::test_uncaught_python_error[asgi-get_headers2-application/xml-; rel=alternate] PASSED [ 34%] 388s tests/test_headers.py::TestHeaders::test_append_link_crossorigin[asgi-anonymous-; rel=alternate; crossorigin] PASSED [ 34%] 388s tests/test_headers.py::TestHeaders::test_append_link_crossorigin[asgi-Anonymous-; rel=alternate; crossorigin] PASSED [ 34%] 388s tests/test_headers.py::TestHeaders::test_append_link_crossorigin[asgi-AnOnYmOUs-; rel=alternate; crossorigin] PASSED [ 34%] 388s tests/test_headers.py::TestHeaders::test_append_link_crossorigin[asgi-Use-Credentials-; rel=alternate; crossorigin="use-credentials"] PASSED [ 34%] 388s tests/test_headers.py::TestHeaders::test_append_link_crossorigin[asgi-use-credentials-; rel=alternate; crossorigin="use-credentials"] PASSED [ 34%] 388s tests/test_headers.py::TestHeaders::test_append_link_crossorigin[wsgi-None-; rel=alternate] PASSED [ 35%] 388s tests/test_headers.py::TestHeaders::test_append_link_crossorigin[wsgi-anonymous-; rel=alternate; crossorigin] PASSED [ 35%] 388s tests/test_headers.py::TestHeaders::test_append_link_crossorigin[wsgi-Anonymous-; rel=alternate; crossorigin] PASSED [ 35%] 388s tests/test_headers.py::TestHeaders::test_append_link_crossorigin[wsgi-AnOnYmOUs-; rel=alternate; crossorigin] PASSED [ 35%] 388s tests/test_headers.py::TestHeaders::test_append_link_crossorigin[wsgi-Use-Credentials-; rel=alternate; crossorigin="use-credentials"] PASSED [ 35%] 388s tests/test_headers.py::TestHeaders::test_append_link_crossorigin[wsgi-use-credentials-; rel=alternate; crossorigin="use-credentials"] PASSED [ 35%] 388s tests/test_headers.py::TestHeaders::test_append_link_invalid_crossorigin_value[*] PASSED [ 35%] 388s tests/test_headers.py::TestHeaders::test_append_link_invalid_crossorigin_value[Allow-all] PASSED [ 35%] 388s tests/test_headers.py::TestHeaders::test_append_link_invalid_crossorigin_value[Lax] PASSED [ 35%] 388s tests/test_headers.py::TestHeaders::test_append_link_invalid_crossorigin_value[MUST-REVALIDATE] PASSED [ 35%] 388s tests/test_headers.py::TestHeaders::test_append_link_invalid_crossorigin_value[Strict] PASSED [ 35%] 388s tests/test_headers.py::TestHeaders::test_append_link_invalid_crossorigin_value[deny] PASSED [ 35%] 388s tests/test_headers.py::TestHeaders::test_content_length_options[asgi] PASSED [ 35%] 388s tests/test_headers.py::TestHeaders::test_content_length_options[wsgi] PASSED [ 35%] 388s tests/test_headers.py::TestHeaders::test_set_headers_with_custom_class[asgi] PASSED [ 35%] 388s tests/test_headers.py::TestHeaders::test_set_headers_with_custom_class[wsgi] PASSED [ 35%] 388s tests/test_headers.py::TestHeaders::test_headers_with_custom_class_not_callable[asgi] PASSED [ 35%] 388s tests/test_headers.py::TestHeaders::test_headers_with_custom_class_not_callable[wsgi] PASSED [ 35%] 388s tests/test_headers.py::TestHeaders::test_request_multiple_header[asgi] PASSED [ 35%] 388s tests/test_headers.py::TestHeaders::test_request_multiple_header[wsgi] PASSED [ 35%] 388s tests/test_hello.py::TestHelloWorld::test_env_headers_list_of_tuples PASSED [ 35%] 388s tests/test_hello.py::TestHelloWorld::test_root_route PASSED [ 35%] 388s tests/test_hello.py::TestHelloWorld::test_no_route PASSED [ 35%] 388s tests/test_hello.py::TestHelloWorld::test_body[/body-resource0-] PASSED [ 35%] 388s tests/test_hello.py::TestHelloWorld::test_body[/bytes-resource1-] PASSED [ 35%] 388s tests/test_hello.py::TestHelloWorld::test_body[/data-resource2-] PASSED [ 35%] 388s tests/test_hello.py::TestHelloWorld::test_no_body_on_head PASSED [ 35%] 388s tests/test_hello.py::TestHelloWorld::test_stream_chunked PASSED [ 35%] 388s tests/test_hello.py::TestHelloWorld::test_stream_known_len PASSED [ 35%] 388s tests/test_hello.py::TestHelloWorld::test_filelike PASSED [ 35%] 388s tests/test_hello.py::TestHelloWorld::test_filelike_closing[ClosingBytesIO-True] PASSED [ 35%] 388s tests/test_hello.py::TestHelloWorld::test_filelike_closing[NonClosingBytesIO-False] PASSED [ 35%] 388s tests/test_hello.py::TestHelloWorld::test_filelike_using_helper PASSED [ 35%] 388s tests/test_hello.py::TestHelloWorld::test_status_not_set PASSED [ 36%] 388s tests/test_http_custom_method_routing.py::test_map_http_methods[asgi] PASSED [ 36%] 388s tests/test_http_custom_method_routing.py::test_map_http_methods[wsgi] PASSED [ 36%] 388s tests/test_http_custom_method_routing.py::test_environment_override[foo-expected0] SKIPPED [ 36%] 388s tests/test_http_custom_method_routing.py::test_environment_override[FOO-expected1] SKIPPED [ 36%] 388s tests/test_http_custom_method_routing.py::test_environment_override[FOO,-expected2] SKIPPED [ 36%] 388s tests/test_http_custom_method_routing.py::test_environment_override[FOO,BAR-expected3] SKIPPED [ 36%] 388s tests/test_http_custom_method_routing.py::test_environment_override[FOO, BAR-expected4] SKIPPED [ 36%] 388s tests/test_http_custom_method_routing.py::test_environment_override[ foo , BAR -expected5] SKIPPED [ 36%] 388s tests/test_http_custom_method_routing.py::test_foo[asgi] PASSED [ 36%] 388s tests/test_http_custom_method_routing.py::test_foo[wsgi] PASSED [ 36%] 388s tests/test_http_custom_method_routing.py::test_bar[asgi] PASSED [ 36%] 388s tests/test_http_custom_method_routing.py::test_bar[wsgi] PASSED [ 36%] 388s tests/test_http_method_routing.py::TestHttpMethodRouting::test_get[asgi] PASSED [ 36%] 388s tests/test_http_method_routing.py::TestHttpMethodRouting::test_get[wsgi] PASSED [ 36%] 388s tests/test_http_method_routing.py::TestHttpMethodRouting::test_put[asgi] PASSED [ 36%] 388s tests/test_http_method_routing.py::TestHttpMethodRouting::test_put[wsgi] PASSED [ 36%] 388s tests/test_http_method_routing.py::TestHttpMethodRouting::test_post_not_allowed[asgi] PASSED [ 36%] 388s tests/test_http_method_routing.py::TestHttpMethodRouting::test_post_not_allowed[wsgi] PASSED [ 36%] 388s tests/test_http_method_routing.py::TestHttpMethodRouting::test_report[asgi] PASSED [ 36%] 388s tests/test_http_method_routing.py::TestHttpMethodRouting::test_report[wsgi] PASSED [ 36%] 388s tests/test_http_method_routing.py::TestHttpMethodRouting::test_misc[asgi] PASSED [ 36%] 388s tests/test_http_method_routing.py::TestHttpMethodRouting::test_misc[wsgi] PASSED [ 36%] 388s tests/test_http_method_routing.py::TestHttpMethodRouting::test_methods_not_allowed_simple[asgi] PASSED [ 36%] 388s tests/test_http_method_routing.py::TestHttpMethodRouting::test_methods_not_allowed_simple[wsgi] PASSED [ 36%] 388s tests/test_http_method_routing.py::TestHttpMethodRouting::test_methods_not_allowed_complex[asgi] PASSED [ 36%] 388s tests/test_http_method_routing.py::TestHttpMethodRouting::test_methods_not_allowed_complex[wsgi] PASSED [ 36%] 388s tests/test_http_method_routing.py::TestHttpMethodRouting::test_method_not_allowed_with_param[asgi] PASSED [ 36%] 388s tests/test_http_method_routing.py::TestHttpMethodRouting::test_method_not_allowed_with_param[wsgi] PASSED [ 36%] 388s tests/test_http_method_routing.py::TestHttpMethodRouting::test_default_on_options[asgi] PASSED [ 36%] 388s tests/test_http_method_routing.py::TestHttpMethodRouting::test_default_on_options[wsgi] PASSED [ 36%] 388s tests/test_http_method_routing.py::TestHttpMethodRouting::test_on_options[asgi] PASSED [ 36%] 388s tests/test_http_method_routing.py::TestHttpMethodRouting::test_on_options[wsgi] PASSED [ 36%] 388s tests/test_http_method_routing.py::TestHttpMethodRouting::test_meta_and_others_disallowed[asgi-WEBSOCKET] PASSED [ 37%] 388s tests/test_http_method_routing.py::TestHttpMethodRouting::test_meta_and_others_disallowed[asgi-SETECASTRONOMY] PASSED [ 37%] 388s tests/test_http_method_routing.py::TestHttpMethodRouting::test_meta_and_others_disallowed[wsgi-WEBSOCKET] PASSED [ 37%] 388s tests/test_http_method_routing.py::TestHttpMethodRouting::test_meta_and_others_disallowed[wsgi-SETECASTRONOMY] PASSED [ 37%] 388s tests/test_httperror.py::TestHTTPError::test_base_class[asgi] PASSED [ 37%] 388s tests/test_httperror.py::TestHTTPError::test_base_class[wsgi] PASSED [ 37%] 388s tests/test_httperror.py::TestHTTPError::test_has_representation PASSED [ 37%] 388s tests/test_httperror.py::TestHTTPError::test_no_description_json[asgi] PASSED [ 37%] 388s tests/test_httperror.py::TestHTTPError::test_no_description_json[wsgi] PASSED [ 37%] 388s tests/test_httperror.py::TestHTTPError::test_no_description_xml[asgi] PASSED [ 37%] 388s tests/test_httperror.py::TestHTTPError::test_no_description_xml[wsgi] PASSED [ 37%] 388s tests/test_httperror.py::TestHTTPError::test_client_does_not_accept_json_or_xml[asgi] PASSED [ 37%] 388s tests/test_httperror.py::TestHTTPError::test_client_does_not_accept_json_or_xml[wsgi] PASSED [ 37%] 388s tests/test_httperror.py::TestHTTPError::test_custom_error_serializer[asgi] PASSED [ 37%] 388s tests/test_httperror.py::TestHTTPError::test_custom_error_serializer[wsgi] PASSED [ 37%] 388s tests/test_httperror.py::TestHTTPError::test_custom_error_serializer_optional_representation[asgi-GET-/404-404] PASSED [ 37%] 388s tests/test_httperror.py::TestHTTPError::test_custom_error_serializer_optional_representation[asgi-GET-/notfound-404] PASSED [ 37%] 388s tests/test_httperror.py::TestHTTPError::test_custom_error_serializer_optional_representation[asgi-REPORT-/404-405] PASSED [ 37%] 388s tests/test_httperror.py::TestHTTPError::test_custom_error_serializer_optional_representation[asgi-BREW-/notfound-400] PASSED [ 37%] 388s tests/test_httperror.py::TestHTTPError::test_custom_error_serializer_optional_representation[wsgi-GET-/404-404] PASSED [ 37%] 388s tests/test_httperror.py::TestHTTPError::test_custom_error_serializer_optional_representation[wsgi-GET-/notfound-404] PASSED [ 37%] 388s tests/test_httperror.py::TestHTTPError::test_custom_error_serializer_optional_representation[wsgi-REPORT-/404-405] PASSED [ 37%] 388s tests/test_httperror.py::TestHTTPError::test_custom_error_serializer_optional_representation[wsgi-BREW-/notfound-400] PASSED [ 37%] 388s tests/test_httperror.py::TestHTTPError::test_custom_serializer_no_representation[asgi] PASSED [ 37%] 388s tests/test_httperror.py::TestHTTPError::test_custom_serializer_no_representation[wsgi] PASSED [ 37%] 388s tests/test_httperror.py::TestHTTPError::test_client_does_not_accept_anything[asgi] PASSED [ 37%] 388s tests/test_httperror.py::TestHTTPError::test_client_does_not_accept_anything[wsgi] PASSED [ 37%] 388s tests/test_httperror.py::TestHTTPError::test_forbidden[asgi-application/json] PASSED [ 37%] 388s tests/test_httperror.py::TestHTTPError::test_forbidden[asgi-application/vnd.company.system.project.resource+json;v=1.1] PASSED [ 37%] 388s tests/test_httperror.py::TestHTTPError::test_forbidden[asgi-application/json-patch+json] PASSED [ 37%] 388s tests/test_httperror.py::TestHTTPError::test_forbidden[wsgi-application/json] PASSED [ 37%] 388s tests/test_httperror.py::TestHTTPError::test_forbidden[wsgi-application/vnd.company.system.project.resource+json;v=1.1] PASSED [ 37%] 388s tests/test_httperror.py::TestHTTPError::test_forbidden[wsgi-application/json-patch+json] PASSED [ 37%] 388s tests/test_httperror.py::TestHTTPError::test_epic_fail_json[asgi] PASSED [ 38%] 388s tests/test_httperror.py::TestHTTPError::test_epic_fail_json[wsgi] PASSED [ 38%] 388s tests/test_httperror.py::TestHTTPError::test_epic_fail_xml[asgi-text/xml] PASSED [ 38%] 388s tests/test_httperror.py::TestHTTPError::test_epic_fail_xml[asgi-application/xml] PASSED [ 38%] 388s tests/test_httperror.py::TestHTTPError::test_epic_fail_xml[asgi-application/vnd.company.system.project.resource+xml;v=1.1] PASSED [ 38%] 388s tests/test_httperror.py::TestHTTPError::test_epic_fail_xml[asgi-application/atom+xml] PASSED [ 38%] 388s tests/test_httperror.py::TestHTTPError::test_epic_fail_xml[wsgi-text/xml] PASSED [ 38%] 388s tests/test_httperror.py::TestHTTPError::test_epic_fail_xml[wsgi-application/xml] PASSED [ 38%] 388s tests/test_httperror.py::TestHTTPError::test_epic_fail_xml[wsgi-application/vnd.company.system.project.resource+xml;v=1.1] PASSED [ 38%] 388s tests/test_httperror.py::TestHTTPError::test_epic_fail_xml[wsgi-application/atom+xml] PASSED [ 38%] 388s tests/test_httperror.py::TestHTTPError::test_unicode_json[asgi] PASSED [ 38%] 388s tests/test_httperror.py::TestHTTPError::test_unicode_json[wsgi] PASSED [ 38%] 388s tests/test_httperror.py::TestHTTPError::test_unicode_xml[asgi] PASSED [ 38%] 388s tests/test_httperror.py::TestHTTPError::test_unicode_xml[wsgi] PASSED [ 38%] 388s tests/test_httperror.py::TestHTTPError::test_401[asgi] PASSED [ 38%] 388s tests/test_httperror.py::TestHTTPError::test_401[wsgi] PASSED [ 38%] 388s tests/test_httperror.py::TestHTTPError::test_404_without_body[asgi] PASSED [ 38%] 388s tests/test_httperror.py::TestHTTPError::test_404_without_body[wsgi] PASSED [ 38%] 388s tests/test_httperror.py::TestHTTPError::test_404_with_body[asgi] PASSED [ 38%] 388s tests/test_httperror.py::TestHTTPError::test_404_with_body[wsgi] PASSED [ 38%] 388s tests/test_httperror.py::TestHTTPError::test_405_without_body[asgi] PASSED [ 38%] 388s tests/test_httperror.py::TestHTTPError::test_405_without_body[wsgi] PASSED [ 38%] 388s tests/test_httperror.py::TestHTTPError::test_405_without_body_with_extra_headers[asgi] PASSED [ 38%] 388s tests/test_httperror.py::TestHTTPError::test_405_without_body_with_extra_headers[wsgi] PASSED [ 38%] 388s tests/test_httperror.py::TestHTTPError::test_405_without_body_with_extra_headers_double_check[asgi] PASSED [ 38%] 388s tests/test_httperror.py::TestHTTPError::test_405_without_body_with_extra_headers_double_check[wsgi] PASSED [ 38%] 388s tests/test_httperror.py::TestHTTPError::test_405_with_body[asgi] PASSED [ 38%] 388s tests/test_httperror.py::TestHTTPError::test_405_with_body[wsgi] PASSED [ 38%] 388s tests/test_httperror.py::TestHTTPError::test_410_without_body[asgi] PASSED [ 38%] 388s tests/test_httperror.py::TestHTTPError::test_410_without_body[wsgi] PASSED [ 38%] 388s tests/test_httperror.py::TestHTTPError::test_410_with_body[asgi] PASSED [ 38%] 388s tests/test_httperror.py::TestHTTPError::test_410_with_body[wsgi] PASSED [ 38%] 388s tests/test_httperror.py::TestHTTPError::test_411[asgi] PASSED [ 38%] 388s tests/test_httperror.py::TestHTTPError::test_411[wsgi] PASSED [ 39%] 388s tests/test_httperror.py::TestHTTPError::test_413[asgi] PASSED [ 39%] 388s tests/test_httperror.py::TestHTTPError::test_413[wsgi] PASSED [ 39%] 388s tests/test_httperror.py::TestHTTPError::test_temporary_413_integer_retry_after[asgi] PASSED [ 39%] 388s tests/test_httperror.py::TestHTTPError::test_temporary_413_integer_retry_after[wsgi] PASSED [ 39%] 388s tests/test_httperror.py::TestHTTPError::test_temporary_413_datetime_retry_after[asgi] PASSED [ 39%] 388s tests/test_httperror.py::TestHTTPError::test_temporary_413_datetime_retry_after[wsgi] PASSED [ 39%] 388s tests/test_httperror.py::TestHTTPError::test_414[asgi] PASSED [ 39%] 388s tests/test_httperror.py::TestHTTPError::test_414[wsgi] PASSED [ 39%] 388s tests/test_httperror.py::TestHTTPError::test_414_with_title[asgi] PASSED [ 39%] 388s tests/test_httperror.py::TestHTTPError::test_414_with_title[wsgi] PASSED [ 39%] 388s tests/test_httperror.py::TestHTTPError::test_414_with_description[asgi] PASSED [ 39%] 388s tests/test_httperror.py::TestHTTPError::test_414_with_description[wsgi] PASSED [ 39%] 388s tests/test_httperror.py::TestHTTPError::test_414_with_custom_kwargs[asgi] PASSED [ 39%] 388s tests/test_httperror.py::TestHTTPError::test_414_with_custom_kwargs[wsgi] PASSED [ 39%] 388s tests/test_httperror.py::TestHTTPError::test_416[asgi] PASSED [ 39%] 388s tests/test_httperror.py::TestHTTPError::test_416[wsgi] PASSED [ 39%] 388s tests/test_httperror.py::TestHTTPError::test_429_no_retry_after[asgi] PASSED [ 39%] 388s tests/test_httperror.py::TestHTTPError::test_429_no_retry_after[wsgi] PASSED [ 39%] 388s tests/test_httperror.py::TestHTTPError::test_429[asgi] PASSED [ 39%] 388s tests/test_httperror.py::TestHTTPError::test_429[wsgi] PASSED [ 39%] 388s tests/test_httperror.py::TestHTTPError::test_429_datetime[asgi] PASSED [ 39%] 388s tests/test_httperror.py::TestHTTPError::test_429_datetime[wsgi] PASSED [ 39%] 388s tests/test_httperror.py::TestHTTPError::test_503_integer_retry_after[asgi] PASSED [ 39%] 388s tests/test_httperror.py::TestHTTPError::test_503_integer_retry_after[wsgi] PASSED [ 39%] 388s tests/test_httperror.py::TestHTTPError::test_503_datetime_retry_after[asgi] PASSED [ 39%] 388s tests/test_httperror.py::TestHTTPError::test_503_datetime_retry_after[wsgi] PASSED [ 39%] 388s tests/test_httperror.py::TestHTTPError::test_invalid_header[asgi] PASSED [ 39%] 388s tests/test_httperror.py::TestHTTPError::test_invalid_header[wsgi] PASSED [ 39%] 388s tests/test_httperror.py::TestHTTPError::test_missing_header[asgi] PASSED [ 39%] 388s tests/test_httperror.py::TestHTTPError::test_missing_header[wsgi] PASSED [ 39%] 388s tests/test_httperror.py::TestHTTPError::test_invalid_param[asgi] PASSED [ 39%] 388s tests/test_httperror.py::TestHTTPError::test_invalid_param[wsgi] PASSED [ 39%] 388s tests/test_httperror.py::TestHTTPError::test_missing_param[asgi] PASSED [ 40%] 388s tests/test_httperror.py::TestHTTPError::test_missing_param[wsgi] PASSED [ 40%] 388s tests/test_httperror.py::TestHTTPError::test_misc[asgi] PASSED [ 40%] 388s tests/test_httperror.py::TestHTTPError::test_misc[wsgi] PASSED [ 40%] 388s tests/test_httperror.py::TestHTTPError::test_title_default_message_if_none[asgi] PASSED [ 40%] 388s tests/test_httperror.py::TestHTTPError::test_title_default_message_if_none[wsgi] PASSED [ 40%] 388s tests/test_httperror.py::TestHTTPError::test_to_json_dumps PASSED [ 40%] 388s tests/test_httperror.py::TestHTTPError::test_serialize_error_uses_media_handler[asgi] PASSED [ 40%] 388s tests/test_httperror.py::TestHTTPError::test_serialize_error_uses_media_handler[wsgi] PASSED [ 40%] 388s tests/test_httperror.py::TestHTTPError::test_serialize_no_json_media_handler[asgi] PASSED [ 40%] 388s tests/test_httperror.py::TestHTTPError::test_serialize_no_json_media_handler[wsgi] PASSED [ 40%] 388s tests/test_httperror.py::TestHTTPError::test_MediaMalformedError PASSED [ 40%] 388s tests/test_httperror.py::test_kw_only PASSED [ 40%] 388s tests/test_httperror.py::test_NoRepresentation PASSED [ 40%] 388s tests/test_httperror.py::TestOptionalRepresentation::test_OptionalRepresentation_false PASSED [ 40%] 388s tests/test_httperror.py::TestOptionalRepresentation::test_OptionalRepresentation_true PASSED [ 40%] 388s tests/test_httpstatus.py::TestHTTPStatus::test_raise_status_in_before_hook[True] PASSED [ 40%] 388s tests/test_httpstatus.py::TestHTTPStatus::test_raise_status_in_before_hook[False] PASSED [ 40%] 388s tests/test_httpstatus.py::TestHTTPStatus::test_raise_status_in_responder[True] PASSED [ 40%] 388s tests/test_httpstatus.py::TestHTTPStatus::test_raise_status_in_responder[False] PASSED [ 40%] 388s tests/test_httpstatus.py::TestHTTPStatus::test_raise_status_runs_after_hooks[True] PASSED [ 40%] 388s tests/test_httpstatus.py::TestHTTPStatus::test_raise_status_runs_after_hooks[False] PASSED [ 40%] 388s tests/test_httpstatus.py::TestHTTPStatus::test_raise_status_survives_after_hooks[True] PASSED [ 40%] 388s tests/test_httpstatus.py::TestHTTPStatus::test_raise_status_survives_after_hooks[False] PASSED [ 40%] 388s tests/test_httpstatus.py::TestHTTPStatus::test_raise_status_empty_body[True] PASSED [ 40%] 388s tests/test_httpstatus.py::TestHTTPStatus::test_raise_status_empty_body[False] PASSED [ 40%] 388s tests/test_httpstatus.py::TestHTTPStatusWithMiddleware::test_raise_status_in_process_request[True] PASSED [ 40%] 388s tests/test_httpstatus.py::TestHTTPStatusWithMiddleware::test_raise_status_in_process_request[False] PASSED [ 40%] 388s tests/test_httpstatus.py::TestHTTPStatusWithMiddleware::test_raise_status_in_process_resource[True] PASSED [ 40%] 388s tests/test_httpstatus.py::TestHTTPStatusWithMiddleware::test_raise_status_in_process_resource[False] PASSED [ 40%] 388s tests/test_httpstatus.py::TestHTTPStatusWithMiddleware::test_raise_status_runs_process_response[True] PASSED [ 40%] 388s tests/test_httpstatus.py::TestHTTPStatusWithMiddleware::test_raise_status_runs_process_response[False] PASSED [ 40%] 388s tests/test_httpstatus.py::TestNoBodyWithStatus::test_data_is_set[asgi] PASSED [ 40%] 388s tests/test_httpstatus.py::TestNoBodyWithStatus::test_data_is_set[wsgi] PASSED [ 41%] 388s tests/test_httpstatus.py::TestNoBodyWithStatus::test_media_is_set[asgi] PASSED [ 41%] 388s tests/test_httpstatus.py::TestNoBodyWithStatus::test_media_is_set[wsgi] PASSED [ 41%] 388s tests/test_httpstatus.py::TestNoBodyWithStatus::test_body_is_set[asgi] PASSED [ 41%] 388s tests/test_httpstatus.py::TestNoBodyWithStatus::test_body_is_set[wsgi] PASSED [ 41%] 388s tests/test_httpstatus.py::test_non_string_status[asgi-200-200_0] PASSED [ 41%] 388s tests/test_httpstatus.py::test_non_string_status[asgi-202-202] PASSED [ 41%] 388s tests/test_httpstatus.py::test_non_string_status[asgi-403-403] PASSED [ 41%] 388s tests/test_httpstatus.py::test_non_string_status[asgi-500-500_0] PASSED [ 41%] 388s tests/test_httpstatus.py::test_non_string_status[asgi-200-200_1] PASSED [ 41%] 388s tests/test_httpstatus.py::test_non_string_status[asgi-305-305] PASSED [ 41%] 388s tests/test_httpstatus.py::test_non_string_status[asgi-404-404] PASSED [ 41%] 388s tests/test_httpstatus.py::test_non_string_status[asgi-501-501] PASSED [ 41%] 388s tests/test_httpstatus.py::test_non_string_status[asgi-200-200_2] PASSED [ 41%] 388s tests/test_httpstatus.py::test_non_string_status[asgi-307-307] PASSED [ 41%] 388s tests/test_httpstatus.py::test_non_string_status[asgi-500-500_1] PASSED [ 41%] 388s tests/test_httpstatus.py::test_non_string_status[asgi-702-702] PASSED [ 41%] 388s tests/test_httpstatus.py::test_non_string_status[asgi-200 OK-200] PASSED [ 41%] 388s tests/test_httpstatus.py::test_non_string_status[asgi-702 Emacs-702] PASSED [ 41%] 388s tests/test_httpstatus.py::test_non_string_status[wsgi-200-200_0] PASSED [ 41%] 388s tests/test_httpstatus.py::test_non_string_status[wsgi-202-202] PASSED [ 41%] 388s tests/test_httpstatus.py::test_non_string_status[wsgi-403-403] PASSED [ 41%] 388s tests/test_httpstatus.py::test_non_string_status[wsgi-500-500_0] PASSED [ 41%] 388s tests/test_httpstatus.py::test_non_string_status[wsgi-200-200_1] PASSED [ 41%] 388s tests/test_httpstatus.py::test_non_string_status[wsgi-305-305] PASSED [ 41%] 388s tests/test_httpstatus.py::test_non_string_status[wsgi-404-404] PASSED [ 41%] 388s tests/test_httpstatus.py::test_non_string_status[wsgi-501-501] PASSED [ 41%] 388s tests/test_httpstatus.py::test_non_string_status[wsgi-200-200_2] PASSED [ 41%] 388s tests/test_httpstatus.py::test_non_string_status[wsgi-307-307] PASSED [ 41%] 388s tests/test_httpstatus.py::test_non_string_status[wsgi-500-500_1] PASSED [ 41%] 388s tests/test_httpstatus.py::test_non_string_status[wsgi-702-702] PASSED [ 41%] 388s tests/test_httpstatus.py::test_non_string_status[wsgi-200 OK-200] PASSED [ 41%] 388s tests/test_httpstatus.py::test_non_string_status[wsgi-702 Emacs-702] PASSED [ 41%] 388s tests/test_httpstatus.py::test_deprecated_body PASSED [ 42%] 388s tests/test_inspect.py::TestInspectApp::test_empty_app[asgi] PASSED [ 42%] 388s tests/test_inspect.py::TestInspectApp::test_empty_app[wsgi] PASSED [ 42%] 388s tests/test_inspect.py::TestInspectApp::test_dependent_middleware[asgi] PASSED [ 42%] 388s tests/test_inspect.py::TestInspectApp::test_dependent_middleware[wsgi] PASSED [ 42%] 388s tests/test_inspect.py::TestInspectApp::test_app[asgi] PASSED [ 42%] 388s tests/test_inspect.py::TestInspectApp::test_app[wsgi] PASSED [ 42%] 388s tests/test_inspect.py::TestInspectApp::test_routes[asgi] PASSED [ 42%] 388s tests/test_inspect.py::TestInspectApp::test_routes[wsgi] PASSED [ 42%] 388s tests/test_inspect.py::TestInspectApp::test_routes_empty_paths[asgi] PASSED [ 42%] 388s tests/test_inspect.py::TestInspectApp::test_routes_empty_paths[wsgi] PASSED [ 42%] 389s tests/test_inspect.py::TestInspectApp::test_static_routes[asgi] PASSED [ 42%] 389s tests/test_inspect.py::TestInspectApp::test_static_routes[wsgi] PASSED [ 42%] 389s tests/test_inspect.py::TestInspectApp::test_sink[asgi] PASSED [ 42%] 389s tests/test_inspect.py::TestInspectApp::test_sink[wsgi] PASSED [ 42%] 389s tests/test_inspect.py::TestInspectApp::test_error_handler[asgi] PASSED [ 42%] 389s tests/test_inspect.py::TestInspectApp::test_error_handler[wsgi] PASSED [ 42%] 389s tests/test_inspect.py::TestInspectApp::test_middleware[asgi] PASSED [ 42%] 389s tests/test_inspect.py::TestInspectApp::test_middleware[wsgi] PASSED [ 42%] 389s tests/test_inspect.py::TestInspectApp::test_middleware_tree[asgi] PASSED [ 42%] 389s tests/test_inspect.py::TestInspectApp::test_middleware_tree[wsgi] PASSED [ 42%] 389s tests/test_inspect.py::test_route_method_info_suffix PASSED [ 42%] 389s tests/test_inspect.py::TestRouter::test_compiled_partial PASSED [ 42%] 389s tests/test_inspect.py::TestRouter::test_compiled_no_method_map PASSED [ 42%] 389s tests/test_inspect.py::TestRouter::test_register_router_not_found PASSED [ 42%] 389s tests/test_inspect.py::TestRouter::test_register_other_router PASSED [ 42%] 389s tests/test_inspect.py::TestRouter::test_register_router_multiple_time PASSED [ 42%] 389s tests/test_inspect.py::test_info_class_repr_to_string PASSED [ 42%] 389s tests/test_inspect.py::TestInspectVisitor::test_inspect_visitor PASSED [ 42%] 389s tests/test_inspect.py::TestInspectVisitor::test_process PASSED [ 42%] 389s tests/test_inspect.py::test_string_visitor_class PASSED [ 42%] 389s tests/test_inspect.py::TestStringVisitor::test_route_method[True] PASSED [ 42%] 389s tests/test_inspect.py::TestStringVisitor::test_route_method[False] PASSED [ 42%] 389s tests/test_inspect.py::TestStringVisitor::test_route_method_verbose[True] PASSED [ 43%] 389s tests/test_inspect.py::TestStringVisitor::test_route_method_verbose[False] PASSED [ 43%] 389s tests/test_inspect.py::TestStringVisitor::test_route[True] PASSED [ 43%] 389s tests/test_inspect.py::TestStringVisitor::test_route[False] PASSED [ 43%] 389s tests/test_inspect.py::TestStringVisitor::test_route_verbose[True] PASSED [ 43%] 389s tests/test_inspect.py::TestStringVisitor::test_route_verbose[False] PASSED [ 43%] 389s tests/test_inspect.py::TestStringVisitor::test_route_no_methods[True] PASSED [ 43%] 389s tests/test_inspect.py::TestStringVisitor::test_route_no_methods[False] PASSED [ 43%] 389s tests/test_inspect.py::TestStringVisitor::test_static_route[True-True] PASSED [ 43%] 389s tests/test_inspect.py::TestStringVisitor::test_static_route[True-False] PASSED [ 43%] 389s tests/test_inspect.py::TestStringVisitor::test_static_route[False-True] PASSED [ 43%] 389s tests/test_inspect.py::TestStringVisitor::test_static_route[False-False] PASSED [ 43%] 389s tests/test_inspect.py::TestStringVisitor::test_sink[True] PASSED [ 43%] 389s tests/test_inspect.py::TestStringVisitor::test_sink[False] PASSED [ 43%] 389s tests/test_inspect.py::TestStringVisitor::test_sink_verbose[True] PASSED [ 43%] 389s tests/test_inspect.py::TestStringVisitor::test_sink_verbose[False] PASSED [ 43%] 389s tests/test_inspect.py::TestStringVisitor::test_error_handler[True] PASSED [ 43%] 389s tests/test_inspect.py::TestStringVisitor::test_error_handler[False] PASSED [ 43%] 389s tests/test_inspect.py::TestStringVisitor::test_error_handler_verbose[True] PASSED [ 43%] 389s tests/test_inspect.py::TestStringVisitor::test_error_handler_verbose[False] PASSED [ 43%] 389s tests/test_inspect.py::TestStringVisitor::test_middleware_method[True] PASSED [ 43%] 389s tests/test_inspect.py::TestStringVisitor::test_middleware_method[False] PASSED [ 43%] 389s tests/test_inspect.py::TestStringVisitor::test_middleware_method_verbose[True] PASSED [ 43%] 389s tests/test_inspect.py::TestStringVisitor::test_middleware_method_verbose[False] PASSED [ 43%] 389s tests/test_inspect.py::TestStringVisitor::test_middleware_class[True] PASSED [ 43%] 389s tests/test_inspect.py::TestStringVisitor::test_middleware_class[False] PASSED [ 43%] 389s tests/test_inspect.py::TestStringVisitor::test_middleware_class_verbose[True] PASSED [ 43%] 389s tests/test_inspect.py::TestStringVisitor::test_middleware_class_verbose[False] PASSED [ 43%] 389s tests/test_inspect.py::TestStringVisitor::test_middleware_class_no_methods[True] PASSED [ 43%] 389s tests/test_inspect.py::TestStringVisitor::test_middleware_class_no_methods[False] PASSED [ 43%] 389s tests/test_inspect.py::TestStringVisitor::test_middleware_tree_item[True-True] PASSED [ 43%] 389s tests/test_inspect.py::TestStringVisitor::test_middleware_tree_item[True-False] PASSED [ 43%] 389s tests/test_inspect.py::TestStringVisitor::test_middleware_tree_item[False-True] PASSED [ 43%] 389s tests/test_inspect.py::TestStringVisitor::test_middleware_tree_item[False-False] PASSED [ 44%] 389s tests/test_inspect.py::TestStringVisitor::test_middleware_tree[True-True] PASSED [ 44%] 389s tests/test_inspect.py::TestStringVisitor::test_middleware_tree[True-False] PASSED [ 44%] 389s tests/test_inspect.py::TestStringVisitor::test_middleware_tree[False-True] PASSED [ 44%] 389s tests/test_inspect.py::TestStringVisitor::test_middleware_tree[False-False] PASSED [ 44%] 389s tests/test_inspect.py::TestStringVisitor::test_middleware_tree_response_only[True] PASSED [ 44%] 389s tests/test_inspect.py::TestStringVisitor::test_middleware_tree_response_only[False] PASSED [ 44%] 389s tests/test_inspect.py::TestStringVisitor::test_middleware_tree_no_response[True] PASSED [ 44%] 389s tests/test_inspect.py::TestStringVisitor::test_middleware_tree_no_response[False] PASSED [ 44%] 389s tests/test_inspect.py::TestStringVisitor::test_middleware_tree_no_resource[True] PASSED [ 44%] 389s tests/test_inspect.py::TestStringVisitor::test_middleware_tree_no_resource[False] PASSED [ 44%] 389s tests/test_inspect.py::TestStringVisitor::test_middleware[True] PASSED [ 44%] 389s tests/test_inspect.py::TestStringVisitor::test_middleware[False] PASSED [ 44%] 389s tests/test_inspect.py::TestStringVisitor::test_middleware_verbose[True] PASSED [ 44%] 389s tests/test_inspect.py::TestStringVisitor::test_middleware_verbose[False] PASSED [ 44%] 389s tests/test_inspect.py::TestStringVisitor::test_app[True-True] PASSED [ 44%] 389s tests/test_inspect.py::TestStringVisitor::test_app[True-False] PASSED [ 44%] 389s tests/test_inspect.py::TestStringVisitor::test_app[False-True] PASSED [ 44%] 389s tests/test_inspect.py::TestStringVisitor::test_app[False-False] PASSED [ 44%] 389s tests/test_inspect.py::TestStringVisitor::test_app_no_routes[True-True] PASSED [ 44%] 389s tests/test_inspect.py::TestStringVisitor::test_app_no_routes[True-False] PASSED [ 44%] 389s tests/test_inspect.py::TestStringVisitor::test_app_no_routes[False-True] PASSED [ 44%] 389s tests/test_inspect.py::TestStringVisitor::test_app_no_routes[False-False] PASSED [ 44%] 389s tests/test_inspect.py::TestStringVisitor::test_app_no_middleware[True-True] PASSED [ 44%] 389s tests/test_inspect.py::TestStringVisitor::test_app_no_middleware[True-False] PASSED [ 44%] 389s tests/test_inspect.py::TestStringVisitor::test_app_no_middleware[False-True] PASSED [ 44%] 389s tests/test_inspect.py::TestStringVisitor::test_app_no_middleware[False-False] PASSED [ 44%] 389s tests/test_inspect.py::TestStringVisitor::test_app_static_routes[True-True] PASSED [ 44%] 389s tests/test_inspect.py::TestStringVisitor::test_app_static_routes[True-False] PASSED [ 44%] 389s tests/test_inspect.py::TestStringVisitor::test_app_static_routes[False-True] PASSED [ 44%] 389s tests/test_inspect.py::TestStringVisitor::test_app_static_routes[False-False] PASSED [ 44%] 389s tests/test_inspect.py::TestStringVisitor::test_app_no_sink[True-True] PASSED [ 44%] 389s tests/test_inspect.py::TestStringVisitor::test_app_no_sink[True-False] PASSED [ 44%] 389s tests/test_inspect.py::TestStringVisitor::test_app_no_sink[False-True] PASSED [ 44%] 389s tests/test_inspect.py::TestStringVisitor::test_app_no_sink[False-False] PASSED [ 45%] 389s tests/test_inspect.py::TestStringVisitor::test_app_no_errors[True-True] PASSED [ 45%] 389s tests/test_inspect.py::TestStringVisitor::test_app_no_errors[True-False] PASSED [ 45%] 389s tests/test_inspect.py::TestStringVisitor::test_app_no_errors[False-True] PASSED [ 45%] 389s tests/test_inspect.py::TestStringVisitor::test_app_no_errors[False-False] PASSED [ 45%] 389s tests/test_inspect.py::TestStringVisitor::test_app_name[True] PASSED [ 45%] 389s tests/test_inspect.py::TestStringVisitor::test_app_name[False] PASSED [ 45%] 389s tests/test_inspect.py::test_is_internal PASSED [ 45%] 389s tests/test_media_handlers.py::test_serialization[asgi-None-body0-{"test":"value"}] PASSED [ 45%] 389s tests/test_media_handlers.py::test_serialization[asgi-func1-body1-{"test":"value"}] PASSED [ 45%] 389s tests/test_media_handlers.py::test_serialization[asgi-dumps-body2-{"test":"value"}] PASSED [ 45%] 389s tests/test_media_handlers.py::test_serialization[asgi-func3-body3-[{"test":"value"},{"ensure_ascii":true}]] PASSED [ 45%] 389s tests/test_media_handlers.py::test_serialization[asgi-None-body4-{"yen":"\xc2\xa5"}] PASSED [ 45%] 389s tests/test_media_handlers.py::test_serialization[asgi-dumps-body5-{"test":"value"}] PASSED [ 45%] 389s tests/test_media_handlers.py::test_serialization[wsgi-None-body0-{"test":"value"}] PASSED [ 45%] 389s tests/test_media_handlers.py::test_serialization[wsgi-func1-body1-{"test":"value"}] PASSED [ 45%] 389s tests/test_media_handlers.py::test_serialization[wsgi-dumps-body2-{"test":"value"}] PASSED [ 45%] 389s tests/test_media_handlers.py::test_serialization[wsgi-func3-body3-[{"test":"value"},{"ensure_ascii":true}]] PASSED [ 45%] 389s tests/test_media_handlers.py::test_serialization[wsgi-None-body4-{"yen":"\xc2\xa5"}] PASSED [ 45%] 389s tests/test_media_handlers.py::test_serialization[wsgi-dumps-body5-{"test":"value"}] PASSED [ 45%] 389s tests/test_media_handlers.py::test_deserialization[asgi-None-[1, 2]-expected0] PASSED [ 45%] 389s tests/test_media_handlers.py::test_deserialization[asgi-func1-{"key": "value"}-expected1] PASSED [ 45%] 389s tests/test_media_handlers.py::test_deserialization[asgi-temp_json_func-{"test": "value"}-expected2] PASSED [ 45%] 389s tests/test_media_handlers.py::test_deserialization[asgi-loads-{"test": "value"}-expected3] PASSED [ 45%] 389s tests/test_media_handlers.py::test_deserialization[asgi-loads-{"test": "value"}-expected4] PASSED [ 45%] 389s tests/test_media_handlers.py::test_deserialization[wsgi-None-[1, 2]-expected0] PASSED [ 45%] 389s tests/test_media_handlers.py::test_deserialization[wsgi-func1-{"key": "value"}-expected1] PASSED [ 45%] 389s tests/test_media_handlers.py::test_deserialization[wsgi-temp_json_func-{"test": "value"}-expected2] PASSED [ 45%] 389s tests/test_media_handlers.py::test_deserialization[wsgi-loads-{"test": "value"}-expected3] PASSED [ 45%] 389s tests/test_media_handlers.py::test_deserialization[wsgi-loads-{"test": "value"}-expected4] PASSED [ 45%] 389s tests/test_media_handlers.py::test_full_app[asgi-True-dumps-loads0] PASSED [ 45%] 389s tests/test_media_handlers.py::test_full_app[asgi-True-dumps1-temp_json_func] PASSED [ 45%] 389s tests/test_media_handlers.py::test_full_app[asgi-True-dumps-loads1] PASSED [ 45%] 389s tests/test_media_handlers.py::test_full_app[asgi-True-dumps-loads2] PASSED [ 46%] 389s tests/test_media_handlers.py::test_full_app[asgi-False-dumps-loads0] PASSED [ 46%] 389s tests/test_media_handlers.py::test_full_app[asgi-False-dumps1-temp_json_func] PASSED [ 46%] 389s tests/test_media_handlers.py::test_full_app[asgi-False-dumps-loads1] PASSED [ 46%] 389s tests/test_media_handlers.py::test_full_app[asgi-False-dumps-loads2] PASSED [ 46%] 389s tests/test_media_handlers.py::test_full_app[wsgi-True-dumps-loads0] PASSED [ 46%] 389s tests/test_media_handlers.py::test_full_app[wsgi-True-dumps1-temp_json_func] PASSED [ 46%] 389s tests/test_media_handlers.py::test_full_app[wsgi-True-dumps-loads1] PASSED [ 46%] 389s tests/test_media_handlers.py::test_full_app[wsgi-True-dumps-loads2] PASSED [ 46%] 389s tests/test_media_handlers.py::test_full_app[wsgi-False-dumps-loads0] PASSED [ 46%] 389s tests/test_media_handlers.py::test_full_app[wsgi-False-dumps1-temp_json_func] PASSED [ 46%] 389s tests/test_media_handlers.py::test_full_app[wsgi-False-dumps-loads1] PASSED [ 46%] 389s tests/test_media_handlers.py::test_full_app[wsgi-False-dumps-loads2] PASSED [ 46%] 389s tests/test_media_handlers.py::test_deserialization_raises[asgi-application/json-True] PASSED [ 46%] 389s tests/test_media_handlers.py::test_deserialization_raises[asgi-application/json-False] PASSED [ 46%] 389s tests/test_media_handlers.py::test_deserialization_raises[asgi-application/json; answer=42-True] PASSED [ 46%] 389s tests/test_media_handlers.py::test_deserialization_raises[asgi-application/json; answer=42-False] PASSED [ 46%] 389s tests/test_media_handlers.py::test_deserialization_raises[wsgi-application/json-True] PASSED [ 46%] 389s tests/test_media_handlers.py::test_deserialization_raises[wsgi-application/json-False] PASSED [ 46%] 389s tests/test_media_handlers.py::test_deserialization_raises[wsgi-application/json; answer=42-True] PASSED [ 46%] 389s tests/test_media_handlers.py::test_deserialization_raises[wsgi-application/json; answer=42-False] PASSED [ 46%] 389s tests/test_media_handlers.py::test_sync_methods_not_overridden[asgi] PASSED [ 46%] 389s tests/test_media_handlers.py::test_sync_methods_not_overridden[wsgi] PASSED [ 46%] 389s tests/test_media_handlers.py::test_async_methods_not_overridden PASSED [ 46%] 389s tests/test_media_handlers.py::test_async_handler_returning_none PASSED [ 46%] 389s tests/test_media_handlers.py::test_json_err_no_handler[asgi-True] PASSED [ 46%] 389s tests/test_media_handlers.py::test_json_err_no_handler[asgi-False] PASSED [ 46%] 389s tests/test_media_handlers.py::test_json_err_no_handler[wsgi-True] PASSED [ 46%] 389s tests/test_media_handlers.py::test_json_err_no_handler[wsgi-False] PASSED [ 46%] 389s tests/test_media_handlers.py::TestBaseHandler::test_defaultError PASSED [ 46%] 389s tests/test_media_handlers.py::TestBaseHandler::test_json PASSED [ 46%] 389s tests/test_media_multipart.py::test_parse[5b11af82ab65407ba8cdccf37d2a9c4f] PASSED [ 46%] 389s tests/test_media_multipart.py::test_parse[---------------------------1574247108204320607285918568] PASSED [ 46%] 389s tests/test_media_multipart.py::test_parse[BOUNDARY] PASSED [ 47%] 389s tests/test_media_multipart.py::test_parse[boundary] PASSED [ 47%] 389s tests/test_media_multipart.py::test_parsing_correctness[32-7] PASSED [ 47%] 389s tests/test_media_multipart.py::test_parsing_correctness[32-8] PASSED [ 47%] 389s tests/test_media_multipart.py::test_parsing_correctness[32-9] PASSED [ 47%] 389s tests/test_media_multipart.py::test_parsing_correctness[32-10] PASSED [ 47%] 389s tests/test_media_multipart.py::test_parsing_correctness[32-32] PASSED [ 47%] 389s tests/test_media_multipart.py::test_parsing_correctness[32-64] PASSED [ 47%] 389s tests/test_media_multipart.py::test_parsing_correctness[32-128] PASSED [ 47%] 389s tests/test_media_multipart.py::test_parsing_correctness[32-256] PASSED [ 47%] 389s tests/test_media_multipart.py::test_parsing_correctness[64-7] PASSED [ 47%] 389s tests/test_media_multipart.py::test_parsing_correctness[64-8] PASSED [ 47%] 389s tests/test_media_multipart.py::test_parsing_correctness[64-9] PASSED [ 47%] 389s tests/test_media_multipart.py::test_parsing_correctness[64-10] PASSED [ 47%] 389s tests/test_media_multipart.py::test_parsing_correctness[64-32] PASSED [ 47%] 389s tests/test_media_multipart.py::test_parsing_correctness[64-64] PASSED [ 47%] 389s tests/test_media_multipart.py::test_parsing_correctness[64-128] PASSED [ 47%] 389s tests/test_media_multipart.py::test_parsing_correctness[64-256] PASSED [ 47%] 389s tests/test_media_multipart.py::test_parsing_correctness[128-7] PASSED [ 47%] 389s tests/test_media_multipart.py::test_parsing_correctness[128-8] PASSED [ 47%] 389s tests/test_media_multipart.py::test_parsing_correctness[128-9] PASSED [ 47%] 389s tests/test_media_multipart.py::test_parsing_correctness[128-10] PASSED [ 47%] 389s tests/test_media_multipart.py::test_parsing_correctness[128-32] PASSED [ 47%] 389s tests/test_media_multipart.py::test_parsing_correctness[128-64] PASSED [ 47%] 389s tests/test_media_multipart.py::test_parsing_correctness[128-128] PASSED [ 47%] 389s tests/test_media_multipart.py::test_parsing_correctness[128-256] PASSED [ 47%] 389s tests/test_media_multipart.py::test_parsing_correctness[256-7] PASSED [ 47%] 389s tests/test_media_multipart.py::test_parsing_correctness[256-8] PASSED [ 47%] 389s tests/test_media_multipart.py::test_parsing_correctness[256-9] PASSED [ 47%] 389s tests/test_media_multipart.py::test_parsing_correctness[256-10] PASSED [ 47%] 389s tests/test_media_multipart.py::test_parsing_correctness[256-32] PASSED [ 47%] 389s tests/test_media_multipart.py::test_parsing_correctness[256-64] PASSED [ 47%] 389s tests/test_media_multipart.py::test_parsing_correctness[256-128] PASSED [ 47%] 389s tests/test_media_multipart.py::test_parsing_correctness[256-256] PASSED [ 48%] 389s tests/test_media_multipart.py::test_missing_boundary PASSED [ 48%] 389s tests/test_media_multipart.py::test_empty_input PASSED [ 48%] 389s tests/test_media_multipart.py::test_serialize PASSED [ 48%] 389s tests/test_media_multipart.py::test_invalid_text_or_charset[utf-8-Impossible byte: \xff] PASSED [ 48%] 389s tests/test_media_multipart.py::test_invalid_text_or_charset[utf-8-Overlong... \xfc\x83\xbf\xbf\xbf\xbf ... sequence] PASSED [ 48%] 389s tests/test_media_multipart.py::test_invalid_text_or_charset[ascii-\x80\x80\x80] PASSED [ 48%] 389s tests/test_media_multipart.py::test_invalid_text_or_charset[pecyn-AAHEHlRoZSBGYWxjb24gV2ViIEZyYW1ld29yaywgMjAxOQ==] PASSED [ 48%] 389s tests/test_media_multipart.py::test_unknown_header PASSED [ 48%] 389s tests/test_media_multipart.py::test_from_buffered_stream PASSED [ 48%] 389s tests/test_media_multipart.py::test_body_part_media PASSED [ 48%] 389s tests/test_media_multipart.py::test_body_part_properties PASSED [ 48%] 389s tests/test_media_multipart.py::test_empty_filename PASSED [ 48%] 389s tests/test_media_multipart.py::test_async_unsupported SKIPPED (Testi...) [ 48%] 389s tests/test_media_multipart.py::test_upload_multipart[asgi] PASSED [ 48%] 389s tests/test_media_multipart.py::test_upload_multipart[wsgi] PASSED [ 48%] 389s tests/test_media_multipart.py::test_truncated_form[asgi-1] PASSED [ 48%] 389s tests/test_media_multipart.py::test_truncated_form[asgi-2] PASSED [ 48%] 389s tests/test_media_multipart.py::test_truncated_form[asgi-3] PASSED [ 48%] 389s tests/test_media_multipart.py::test_truncated_form[asgi-4] PASSED [ 48%] 389s tests/test_media_multipart.py::test_truncated_form[wsgi-1] PASSED [ 48%] 389s tests/test_media_multipart.py::test_truncated_form[wsgi-2] PASSED [ 48%] 389s tests/test_media_multipart.py::test_truncated_form[wsgi-3] PASSED [ 48%] 389s tests/test_media_multipart.py::test_truncated_form[wsgi-4] PASSED [ 48%] 389s tests/test_media_multipart.py::test_unexected_form_structure[asgi] PASSED [ 48%] 389s tests/test_media_multipart.py::test_unexected_form_structure[wsgi] PASSED [ 48%] 389s tests/test_media_multipart.py::test_data_too_large[asgi] PASSED [ 48%] 389s tests/test_media_multipart.py::test_data_too_large[wsgi] PASSED [ 48%] 389s tests/test_media_multipart.py::test_too_many_body_parts[asgi-0] PASSED [ 48%] 389s tests/test_media_multipart.py::test_too_many_body_parts[asgi-1] PASSED [ 48%] 389s tests/test_media_multipart.py::test_too_many_body_parts[asgi-2] PASSED [ 48%] 389s tests/test_media_multipart.py::test_too_many_body_parts[asgi-3] PASSED [ 48%] 389s tests/test_media_multipart.py::test_too_many_body_parts[asgi-4] PASSED [ 48%] 389s tests/test_media_multipart.py::test_too_many_body_parts[asgi-5] PASSED [ 49%] 389s tests/test_media_multipart.py::test_too_many_body_parts[asgi-6] PASSED [ 49%] 389s tests/test_media_multipart.py::test_too_many_body_parts[asgi-100] PASSED [ 49%] 389s tests/test_media_multipart.py::test_too_many_body_parts[asgi-1000] PASSED [ 49%] 389s tests/test_media_multipart.py::test_too_many_body_parts[wsgi-0] PASSED [ 49%] 389s tests/test_media_multipart.py::test_too_many_body_parts[wsgi-1] PASSED [ 49%] 389s tests/test_media_multipart.py::test_too_many_body_parts[wsgi-2] PASSED [ 49%] 389s tests/test_media_multipart.py::test_too_many_body_parts[wsgi-3] PASSED [ 49%] 389s tests/test_media_multipart.py::test_too_many_body_parts[wsgi-4] PASSED [ 49%] 389s tests/test_media_multipart.py::test_too_many_body_parts[wsgi-5] PASSED [ 49%] 389s tests/test_media_multipart.py::test_too_many_body_parts[wsgi-6] PASSED [ 49%] 389s tests/test_media_multipart.py::test_too_many_body_parts[wsgi-100] PASSED [ 49%] 389s tests/test_media_multipart.py::test_too_many_body_parts[wsgi-1000] PASSED [ 49%] 389s tests/test_media_multipart.py::test_random_form[asgi] PASSED [ 49%] 389s tests/test_media_multipart.py::test_random_form[wsgi] PASSED [ 49%] 389s tests/test_media_multipart.py::test_invalid_random_form[asgi] PASSED [ 49%] 389s tests/test_media_multipart.py::test_invalid_random_form[wsgi] PASSED [ 49%] 389s tests/test_media_multipart.py::test_nested_multipart_mixed PASSED [ 49%] 389s tests/test_media_multipart.py::test_content_transfer_encoding_header[asgi] PASSED [ 49%] 389s tests/test_media_multipart.py::test_content_transfer_encoding_header[wsgi] PASSED [ 49%] 389s tests/test_media_multipart.py::test_unsupported_charset[asgi] PASSED [ 49%] 389s tests/test_media_multipart.py::test_unsupported_charset[wsgi] PASSED [ 49%] 389s tests/test_media_multipart.py::test_filename_star[asgi] PASSED [ 49%] 389s tests/test_media_multipart.py::test_filename_star[wsgi] PASSED [ 49%] 389s tests/test_media_multipart.py::test_headers_edge_cases[asgi-64] PASSED [ 49%] 389s tests/test_media_multipart.py::test_headers_edge_cases[asgi-140] PASSED [ 49%] 389s tests/test_media_multipart.py::test_headers_edge_cases[asgi-141] PASSED [ 49%] 389s tests/test_media_multipart.py::test_headers_edge_cases[asgi-142] PASSED [ 49%] 389s tests/test_media_multipart.py::test_headers_edge_cases[asgi-256] PASSED [ 49%] 389s tests/test_media_multipart.py::test_headers_edge_cases[asgi-1024] PASSED [ 49%] 389s tests/test_media_multipart.py::test_headers_edge_cases[wsgi-64] PASSED [ 49%] 389s tests/test_media_multipart.py::test_headers_edge_cases[wsgi-140] PASSED [ 49%] 389s tests/test_media_multipart.py::test_headers_edge_cases[wsgi-141] PASSED [ 49%] 389s tests/test_media_multipart.py::test_headers_edge_cases[wsgi-142] PASSED [ 50%] 389s tests/test_media_multipart.py::test_headers_edge_cases[wsgi-256] PASSED [ 50%] 389s tests/test_media_multipart.py::test_headers_edge_cases[wsgi-1024] PASSED [ 50%] 389s tests/test_media_multipart.py::test_deserialize_part_media[asgi] PASSED [ 50%] 389s tests/test_media_multipart.py::test_deserialize_part_media[wsgi] PASSED [ 50%] 389s tests/test_media_multipart.py::test_deserialize_custom_media[asgi] PASSED [ 50%] 389s tests/test_media_multipart.py::test_deserialize_custom_media[wsgi] PASSED [ 50%] 389s tests/test_media_urlencoded.py::test_deserialize_empty_form PASSED [ 50%] 389s tests/test_media_urlencoded.py::test_deserialize_invalid_unicode PASSED [ 50%] 389s tests/test_media_urlencoded.py::test_urlencoded_form_handler_serialize[data0-hello=world] PASSED [ 50%] 389s tests/test_media_urlencoded.py::test_urlencoded_form_handler_serialize[data1-number=1&number=2] PASSED [ 50%] 389s tests/test_media_urlencoded.py::test_empty_form[asgi] PASSED [ 50%] 389s tests/test_media_urlencoded.py::test_empty_form[wsgi] PASSED [ 50%] 389s tests/test_media_urlencoded.py::test_urlencoded_form[asgi-a=1&b=&c=3-expected0] PASSED [ 50%] 389s tests/test_media_urlencoded.py::test_urlencoded_form[asgi-param=undefined-expected1] PASSED [ 50%] 389s tests/test_media_urlencoded.py::test_urlencoded_form[asgi-color=green&color=black-expected2] PASSED [ 50%] 389s tests/test_media_urlencoded.py::test_urlencoded_form[asgi-food=hamburger+%28%F0%9F%8D%94%29&sauce=BBQ-expected3] PASSED [ 50%] 389s tests/test_media_urlencoded.py::test_urlencoded_form[asgi-flag%1&flag%2&flag%1&flag%2-expected4] PASSED [ 50%] 389s tests/test_media_urlencoded.py::test_urlencoded_form[wsgi-a=1&b=&c=3-expected0] PASSED [ 50%] 389s tests/test_media_urlencoded.py::test_urlencoded_form[wsgi-param=undefined-expected1] PASSED [ 50%] 389s tests/test_media_urlencoded.py::test_urlencoded_form[wsgi-color=green&color=black-expected2] PASSED [ 50%] 389s tests/test_media_urlencoded.py::test_urlencoded_form[wsgi-food=hamburger+%28%F0%9F%8D%94%29&sauce=BBQ-expected3] PASSED [ 50%] 389s tests/test_media_urlencoded.py::test_urlencoded_form[wsgi-flag%1&flag%2&flag%1&flag%2-expected4] PASSED [ 50%] 389s tests/test_mediatypes.py::test_parse_header[-expected0] PASSED [ 50%] 389s tests/test_mediatypes.py::test_parse_header[strange-expected1] PASSED [ 50%] 389s tests/test_mediatypes.py::test_parse_header[text/plain-expected2] PASSED [ 50%] 389s tests/test_mediatypes.py::test_parse_header[text/plain -expected3] PASSED [ 50%] 389s tests/test_mediatypes.py::test_parse_header[ text/plain-expected4] PASSED [ 50%] 389s tests/test_mediatypes.py::test_parse_header[ text/plain -expected5] PASSED [ 50%] 389s tests/test_mediatypes.py::test_parse_header[ text/plain -expected6] PASSED [ 50%] 389s tests/test_mediatypes.py::test_parse_header[falcon/peregrine; key1; key2=value; key3-expected7] PASSED [ 50%] 389s tests/test_mediatypes.py::test_parse_header[audio/pcm;rate=48000;encoding=float;bits=32-expected8] PASSED [ 50%] 389s tests/test_mediatypes.py::test_parse_header[falcon/*; genus=falco; family=falconidae; class=aves; -expected9] PASSED [ 50%] 389s tests/test_mediatypes.py::test_parse_header["falcon/peregrine" ; key="value"-expected10] PASSED [ 51%] 389s tests/test_mediatypes.py::test_parse_header[falcon/peregrine; empty=""-expected11] PASSED [ 51%] 389s tests/test_mediatypes.py::test_parse_header[falcon/peregrine; quote="-expected12] PASSED [ 51%] 389s tests/test_mediatypes.py::test_parse_header[text/plain; charset=utf-8-expected13] PASSED [ 51%] 389s tests/test_mediatypes.py::test_parse_header[stuff/strange; missing-value; missing-another-expected14] PASSED [ 51%] 389s tests/test_mediatypes.py::test_parse_header[stuff/strange; missing-value\\missing-another-expected15] PASSED [ 51%] 389s tests/test_mediatypes.py::test_parse_header[application/falcon; P1 = "key; value"; P2="\\""-expected16] PASSED [ 51%] 389s tests/test_middleware.py::TestRequestTimeMiddleware::test_skip_process_resource[asgi] PASSED [ 51%] 389s tests/test_middleware.py::TestRequestTimeMiddleware::test_skip_process_resource[wsgi] PASSED [ 51%] 389s tests/test_middleware.py::TestRequestTimeMiddleware::test_add_invalid_middleware[asgi] PASSED [ 51%] 389s tests/test_middleware.py::TestRequestTimeMiddleware::test_add_invalid_middleware[wsgi] PASSED [ 51%] 389s tests/test_middleware.py::TestRequestTimeMiddleware::test_response_middleware_raises_exception[asgi] PASSED [ 51%] 389s tests/test_middleware.py::TestRequestTimeMiddleware::test_response_middleware_raises_exception[wsgi] PASSED [ 51%] 389s tests/test_middleware.py::TestRequestTimeMiddleware::test_log_get_request[asgi-True] PASSED [ 51%] 389s tests/test_middleware.py::TestRequestTimeMiddleware::test_log_get_request[asgi-False] PASSED [ 51%] 389s tests/test_middleware.py::TestRequestTimeMiddleware::test_log_get_request[wsgi-True] PASSED [ 51%] 389s tests/test_middleware.py::TestRequestTimeMiddleware::test_log_get_request[wsgi-False] PASSED [ 51%] 389s tests/test_middleware.py::TestTransactionIdMiddleware::test_generate_trans_id_with_request[asgi] PASSED [ 51%] 389s tests/test_middleware.py::TestTransactionIdMiddleware::test_generate_trans_id_with_request[wsgi] PASSED [ 51%] 389s tests/test_middleware.py::TestSeveralMiddlewares::test_generate_trans_id_and_time_with_request[asgi-True] PASSED [ 51%] 389s tests/test_middleware.py::TestSeveralMiddlewares::test_generate_trans_id_and_time_with_request[asgi-False] PASSED [ 51%] 389s tests/test_middleware.py::TestSeveralMiddlewares::test_generate_trans_id_and_time_with_request[wsgi-True] PASSED [ 51%] 389s tests/test_middleware.py::TestSeveralMiddlewares::test_generate_trans_id_and_time_with_request[wsgi-False] PASSED [ 51%] 389s tests/test_middleware.py::TestSeveralMiddlewares::test_legacy_middleware_called_with_correct_args[asgi] PASSED [ 51%] 389s tests/test_middleware.py::TestSeveralMiddlewares::test_legacy_middleware_called_with_correct_args[wsgi] PASSED [ 51%] 389s tests/test_middleware.py::TestSeveralMiddlewares::test_middleware_execution_order[asgi] PASSED [ 51%] 389s tests/test_middleware.py::TestSeveralMiddlewares::test_middleware_execution_order[wsgi] PASSED [ 51%] 389s tests/test_middleware.py::TestSeveralMiddlewares::test_independent_middleware_execution_order[asgi] PASSED [ 51%] 389s tests/test_middleware.py::TestSeveralMiddlewares::test_independent_middleware_execution_order[wsgi] PASSED [ 51%] 389s tests/test_middleware.py::TestSeveralMiddlewares::test_multiple_response_mw_throw_exception[asgi] PASSED [ 51%] 389s tests/test_middleware.py::TestSeveralMiddlewares::test_multiple_response_mw_throw_exception[wsgi] PASSED [ 51%] 389s tests/test_middleware.py::TestSeveralMiddlewares::test_inner_mw_throw_exception[asgi] PASSED [ 51%] 389s tests/test_middleware.py::TestSeveralMiddlewares::test_inner_mw_throw_exception[wsgi] PASSED [ 51%] 389s tests/test_middleware.py::TestSeveralMiddlewares::test_inner_mw_throw_exception_while_processing_resp[asgi] PASSED [ 52%] 389s tests/test_middleware.py::TestSeveralMiddlewares::test_inner_mw_throw_exception_while_processing_resp[wsgi] PASSED [ 52%] 389s tests/test_middleware.py::TestSeveralMiddlewares::test_inner_mw_with_ex_handler_throw_exception[asgi] PASSED [ 52%] 389s tests/test_middleware.py::TestSeveralMiddlewares::test_inner_mw_with_ex_handler_throw_exception[wsgi] PASSED [ 52%] 389s tests/test_middleware.py::TestSeveralMiddlewares::test_outer_mw_with_ex_handler_throw_exception[asgi] PASSED [ 52%] 389s tests/test_middleware.py::TestSeveralMiddlewares::test_outer_mw_with_ex_handler_throw_exception[wsgi] PASSED [ 52%] 389s tests/test_middleware.py::TestSeveralMiddlewares::test_order_mw_executed_when_exception_in_resp[asgi] PASSED [ 52%] 389s tests/test_middleware.py::TestSeveralMiddlewares::test_order_mw_executed_when_exception_in_resp[wsgi] PASSED [ 52%] 389s tests/test_middleware.py::TestSeveralMiddlewares::test_order_independent_mw_executed_when_exception_in_resp[asgi] PASSED [ 52%] 389s tests/test_middleware.py::TestSeveralMiddlewares::test_order_independent_mw_executed_when_exception_in_resp[wsgi] PASSED [ 52%] 389s tests/test_middleware.py::TestSeveralMiddlewares::test_order_mw_executed_when_exception_in_req[asgi] PASSED [ 52%] 389s tests/test_middleware.py::TestSeveralMiddlewares::test_order_mw_executed_when_exception_in_req[wsgi] PASSED [ 52%] 389s tests/test_middleware.py::TestSeveralMiddlewares::test_order_independent_mw_executed_when_exception_in_req[asgi] PASSED [ 52%] 389s tests/test_middleware.py::TestSeveralMiddlewares::test_order_independent_mw_executed_when_exception_in_req[wsgi] PASSED [ 52%] 389s tests/test_middleware.py::TestSeveralMiddlewares::test_order_mw_executed_when_exception_in_rsrc[asgi] PASSED [ 52%] 389s tests/test_middleware.py::TestSeveralMiddlewares::test_order_mw_executed_when_exception_in_rsrc[wsgi] PASSED [ 52%] 389s tests/test_middleware.py::TestSeveralMiddlewares::test_order_independent_mw_executed_when_exception_in_rsrc[asgi] PASSED [ 52%] 389s tests/test_middleware.py::TestSeveralMiddlewares::test_order_independent_mw_executed_when_exception_in_rsrc[wsgi] PASSED [ 52%] 389s tests/test_middleware.py::TestRemoveBasePathMiddleware::test_base_path_is_removed_before_routing[asgi] PASSED [ 52%] 389s tests/test_middleware.py::TestRemoveBasePathMiddleware::test_base_path_is_removed_before_routing[wsgi] PASSED [ 52%] 389s tests/test_middleware.py::TestResourceMiddleware::test_can_access_resource_params[asgi-True] PASSED [ 52%] 389s tests/test_middleware.py::TestResourceMiddleware::test_can_access_resource_params[asgi-False] PASSED [ 52%] 389s tests/test_middleware.py::TestResourceMiddleware::test_can_access_resource_params[wsgi-True] PASSED [ 52%] 389s tests/test_middleware.py::TestResourceMiddleware::test_can_access_resource_params[wsgi-False] PASSED [ 52%] 389s tests/test_middleware.py::TestEmptySignatureMiddleware::test_dont_need_params_in_signature[asgi] PASSED [ 52%] 389s tests/test_middleware.py::TestEmptySignatureMiddleware::test_dont_need_params_in_signature[wsgi] PASSED [ 52%] 389s tests/test_middleware.py::TestErrorHandling::test_error_composed_before_resp_middleware_called[asgi] PASSED [ 52%] 389s tests/test_middleware.py::TestErrorHandling::test_error_composed_before_resp_middleware_called[wsgi] PASSED [ 52%] 389s tests/test_middleware.py::TestErrorHandling::test_http_status_raised_from_error_handler[asgi] PASSED [ 52%] 389s tests/test_middleware.py::TestErrorHandling::test_http_status_raised_from_error_handler[wsgi] PASSED [ 52%] 389s tests/test_middleware.py::TestShortCircuiting::test_process_request_not_cached[asgi] PASSED [ 52%] 389s tests/test_middleware.py::TestShortCircuiting::test_process_request_not_cached[wsgi] PASSED [ 52%] 389s tests/test_middleware.py::TestShortCircuiting::test_process_request_cached[asgi-True] PASSED [ 52%] 389s tests/test_middleware.py::TestShortCircuiting::test_process_request_cached[asgi-False] PASSED [ 53%] 389s tests/test_middleware.py::TestShortCircuiting::test_process_request_cached[wsgi-True] PASSED [ 53%] 389s tests/test_middleware.py::TestShortCircuiting::test_process_request_cached[wsgi-False] PASSED [ 53%] 389s tests/test_middleware.py::TestShortCircuiting::test_process_resource_cached[asgi-True] PASSED [ 53%] 389s tests/test_middleware.py::TestShortCircuiting::test_process_resource_cached[asgi-False] PASSED [ 53%] 389s tests/test_middleware.py::TestShortCircuiting::test_process_resource_cached[wsgi-True] PASSED [ 53%] 389s tests/test_middleware.py::TestShortCircuiting::test_process_resource_cached[wsgi-False] PASSED [ 53%] 389s tests/test_middleware.py::TestCORSMiddlewareWithAnotherMiddleware::test_api_initialization_with_cors_enabled_and_middleware_param[asgi-mw0] PASSED [ 53%] 389s tests/test_middleware.py::TestCORSMiddlewareWithAnotherMiddleware::test_api_initialization_with_cors_enabled_and_middleware_param[asgi-mw1] PASSED [ 53%] 389s tests/test_middleware.py::TestCORSMiddlewareWithAnotherMiddleware::test_api_initialization_with_cors_enabled_and_middleware_param[asgi-mw2] PASSED [ 53%] 389s tests/test_middleware.py::TestCORSMiddlewareWithAnotherMiddleware::test_api_initialization_with_cors_enabled_and_middleware_param[asgi-mw3] PASSED [ 53%] 389s tests/test_middleware.py::TestCORSMiddlewareWithAnotherMiddleware::test_api_initialization_with_cors_enabled_and_middleware_param[wsgi-mw0] PASSED [ 53%] 389s tests/test_middleware.py::TestCORSMiddlewareWithAnotherMiddleware::test_api_initialization_with_cors_enabled_and_middleware_param[wsgi-mw1] PASSED [ 53%] 389s tests/test_middleware.py::TestCORSMiddlewareWithAnotherMiddleware::test_api_initialization_with_cors_enabled_and_middleware_param[wsgi-mw2] PASSED [ 53%] 389s tests/test_middleware.py::TestCORSMiddlewareWithAnotherMiddleware::test_api_initialization_with_cors_enabled_and_middleware_param[wsgi-mw3] PASSED [ 53%] 389s tests/test_middleware.py::test_async_postfix_method_must_be_coroutine SKIPPED [ 53%] 389s tests/test_options.py::TestRequestOptions::test_option_defaults PASSED [ 53%] 389s tests/test_options.py::TestRequestOptions::test_options_toggle[keep_blank_qs_values] PASSED [ 53%] 389s tests/test_options.py::TestRequestOptions::test_options_toggle[auto_parse_form_urlencoded] PASSED [ 53%] 389s tests/test_options.py::TestRequestOptions::test_options_toggle[auto_parse_qs_csv] PASSED [ 53%] 389s tests/test_options.py::TestRequestOptions::test_options_toggle[strip_url_path_trailing_slash] PASSED [ 53%] 389s tests/test_options.py::TestRequestOptions::test_incorrect_options PASSED [ 53%] 389s tests/test_python_version_requirements.py::test_asgi PASSED [ 53%] 389s tests/test_query_params.py::TestQueryParams::test_none[simulate_request_get_query_params-asgi] PASSED [ 53%] 389s tests/test_query_params.py::TestQueryParams::test_none[simulate_request_get_query_params-wsgi] PASSED [ 53%] 389s tests/test_query_params.py::TestQueryParams::test_default[simulate_request_get_query_params-asgi] PASSED [ 53%] 389s tests/test_query_params.py::TestQueryParams::test_default[simulate_request_get_query_params-wsgi] PASSED [ 53%] 389s tests/test_query_params.py::TestQueryParams::test_blank[simulate_request_get_query_params-asgi] PASSED [ 53%] 389s tests/test_query_params.py::TestQueryParams::test_blank[simulate_request_get_query_params-wsgi] PASSED [ 53%] 389s tests/test_query_params.py::TestQueryParams::test_simple[simulate_request_get_query_params-asgi] PASSED [ 53%] 389s tests/test_query_params.py::TestQueryParams::test_simple[simulate_request_get_query_params-wsgi] PASSED [ 53%] 389s tests/test_query_params.py::TestQueryParams::test_percent_encoded[simulate_request_get_query_params-asgi] PASSED [ 53%] 389s tests/test_query_params.py::TestQueryParams::test_percent_encoded[simulate_request_get_query_params-wsgi] PASSED [ 53%] 389s tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_simple_false[simulate_request_get_query_params-asgi] PASSED [ 54%] 389s tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_simple_false[simulate_request_get_query_params-wsgi] PASSED [ 54%] 389s tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_simple_true[simulate_request_get_query_params-asgi] PASSED [ 54%] 389s tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_simple_true[simulate_request_get_query_params-wsgi] PASSED [ 54%] 389s tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_multiple_fields_false[simulate_request_get_query_params-asgi] PASSED [ 54%] 389s tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_multiple_fields_false[simulate_request_get_query_params-wsgi] PASSED [ 54%] 389s tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_multiple_fields_true[simulate_request_get_query_params-asgi-t=1&t=3,4-False-expected0] PASSED [ 54%] 389s tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_multiple_fields_true[simulate_request_get_query_params-asgi-t=1&t=2&t=3,4-False-expected1] PASSED [ 54%] 389s tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_multiple_fields_true[simulate_request_get_query_params-asgi-t=1,2&t=3,4-False-expected2] PASSED [ 54%] 389s tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_multiple_fields_true[simulate_request_get_query_params-asgi-t=1,,2&t=3,4-False-expected3] PASSED [ 54%] 389s tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_multiple_fields_true[simulate_request_get_query_params-asgi-t=1,,2&t=3,4-True-expected4] PASSED [ 54%] 389s tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_multiple_fields_true[simulate_request_get_query_params-asgi-t=1,2&t=3,4,,5-False-expected5] PASSED [ 54%] 389s tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_multiple_fields_true[simulate_request_get_query_params-asgi-t=1&t=,1,4,,5-False-expected6] PASSED [ 54%] 389s tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_multiple_fields_true[simulate_request_get_query_params-asgi-t=1&t=,1,4,,5-True-expected7] PASSED [ 54%] 389s tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_multiple_fields_true[simulate_request_get_query_params-asgi-t=1&t=,1,4,,5&t=a,b,c-True-expected8] PASSED [ 54%] 389s tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_multiple_fields_true[simulate_request_get_query_params-wsgi-t=1&t=3,4-False-expected0] PASSED [ 54%] 389s tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_multiple_fields_true[simulate_request_get_query_params-wsgi-t=1&t=2&t=3,4-False-expected1] PASSED [ 54%] 389s tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_multiple_fields_true[simulate_request_get_query_params-wsgi-t=1,2&t=3,4-False-expected2] PASSED [ 54%] 389s tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_multiple_fields_true[simulate_request_get_query_params-wsgi-t=1,,2&t=3,4-False-expected3] PASSED [ 54%] 389s tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_multiple_fields_true[simulate_request_get_query_params-wsgi-t=1,,2&t=3,4-True-expected4] PASSED [ 54%] 389s tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_multiple_fields_true[simulate_request_get_query_params-wsgi-t=1,2&t=3,4,,5-False-expected5] PASSED [ 54%] 389s tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_multiple_fields_true[simulate_request_get_query_params-wsgi-t=1&t=,1,4,,5-False-expected6] PASSED [ 54%] 389s tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_multiple_fields_true[simulate_request_get_query_params-wsgi-t=1&t=,1,4,,5-True-expected7] PASSED [ 54%] 389s tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_multiple_fields_true[simulate_request_get_query_params-wsgi-t=1&t=,1,4,,5&t=a,b,c-True-expected8] PASSED [ 54%] 389s tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_complex_false[simulate_request_get_query_params-asgi] PASSED [ 54%] 389s tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_complex_false[simulate_request_get_query_params-wsgi] PASSED [ 54%] 389s tests/test_query_params.py::TestQueryParams::test_default_auto_parse_csv_behaviour[simulate_request_get_query_params-asgi] PASSED [ 54%] 389s tests/test_query_params.py::TestQueryParams::test_default_auto_parse_csv_behaviour[simulate_request_get_query_params-wsgi] PASSED [ 54%] 389s tests/test_query_params.py::TestQueryParams::test_bad_percentage[simulate_request_get_query_params-asgi] PASSED [ 54%] 389s tests/test_query_params.py::TestQueryParams::test_bad_percentage[simulate_request_get_query_params-wsgi] PASSED [ 54%] 389s tests/test_query_params.py::TestQueryParams::test_allowed_names[simulate_request_get_query_params-asgi] PASSED [ 54%] 389s tests/test_query_params.py::TestQueryParams::test_allowed_names[simulate_request_get_query_params-wsgi] PASSED [ 54%] 389s tests/test_query_params.py::TestQueryParams::test_required[simulate_request_get_query_params-asgi-get_param] PASSED [ 54%] 389s tests/test_query_params.py::TestQueryParams::test_required[simulate_request_get_query_params-asgi-get_param_as_int] PASSED [ 55%] 389s tests/test_query_params.py::TestQueryParams::test_required[simulate_request_get_query_params-asgi-get_param_as_float] PASSED [ 55%] 389s tests/test_query_params.py::TestQueryParams::test_required[simulate_request_get_query_params-asgi-get_param_as_uuid] PASSED [ 55%] 389s tests/test_query_params.py::TestQueryParams::test_required[simulate_request_get_query_params-asgi-get_param_as_bool] PASSED [ 55%] 389s tests/test_query_params.py::TestQueryParams::test_required[simulate_request_get_query_params-asgi-get_param_as_list] PASSED [ 55%] 389s tests/test_query_params.py::TestQueryParams::test_required[simulate_request_get_query_params-wsgi-get_param] PASSED [ 55%] 389s tests/test_query_params.py::TestQueryParams::test_required[simulate_request_get_query_params-wsgi-get_param_as_int] PASSED [ 55%] 389s tests/test_query_params.py::TestQueryParams::test_required[simulate_request_get_query_params-wsgi-get_param_as_float] PASSED [ 55%] 389s tests/test_query_params.py::TestQueryParams::test_required[simulate_request_get_query_params-wsgi-get_param_as_uuid] PASSED [ 55%] 389s tests/test_query_params.py::TestQueryParams::test_required[simulate_request_get_query_params-wsgi-get_param_as_bool] PASSED [ 55%] 389s tests/test_query_params.py::TestQueryParams::test_required[simulate_request_get_query_params-wsgi-get_param_as_list] PASSED [ 55%] 389s tests/test_query_params.py::TestQueryParams::test_int[simulate_request_get_query_params-asgi] PASSED [ 55%] 389s tests/test_query_params.py::TestQueryParams::test_int[simulate_request_get_query_params-wsgi] PASSED [ 55%] 389s tests/test_query_params.py::TestQueryParams::test_int_neg[simulate_request_get_query_params-asgi] PASSED [ 55%] 389s tests/test_query_params.py::TestQueryParams::test_int_neg[simulate_request_get_query_params-wsgi] PASSED [ 55%] 389s tests/test_query_params.py::TestQueryParams::test_float[simulate_request_get_query_params-asgi] PASSED [ 55%] 389s tests/test_query_params.py::TestQueryParams::test_float[simulate_request_get_query_params-wsgi] PASSED [ 55%] 389s tests/test_query_params.py::TestQueryParams::test_float_neg[simulate_request_get_query_params-asgi] PASSED [ 55%] 389s tests/test_query_params.py::TestQueryParams::test_float_neg[simulate_request_get_query_params-wsgi] PASSED [ 55%] 389s tests/test_query_params.py::TestQueryParams::test_uuid[simulate_request_get_query_params-asgi] PASSED [ 55%] 389s tests/test_query_params.py::TestQueryParams::test_uuid[simulate_request_get_query_params-wsgi] PASSED [ 55%] 389s tests/test_query_params.py::TestQueryParams::test_boolean[simulate_request_get_query_params-asgi] PASSED [ 55%] 389s tests/test_query_params.py::TestQueryParams::test_boolean[simulate_request_get_query_params-wsgi] PASSED [ 55%] 389s tests/test_query_params.py::TestQueryParams::test_boolean_blank[simulate_request_get_query_params-asgi] PASSED [ 55%] 389s tests/test_query_params.py::TestQueryParams::test_boolean_blank[simulate_request_get_query_params-wsgi] PASSED [ 55%] 389s tests/test_query_params.py::TestQueryParams::test_list_type[simulate_request_get_query_params-asgi] PASSED [ 55%] 389s tests/test_query_params.py::TestQueryParams::test_list_type[simulate_request_get_query_params-wsgi] PASSED [ 55%] 389s tests/test_query_params.py::TestQueryParams::test_list_type_blank[simulate_request_get_query_params-asgi] PASSED [ 55%] 389s tests/test_query_params.py::TestQueryParams::test_list_type_blank[simulate_request_get_query_params-wsgi] PASSED [ 55%] 389s tests/test_query_params.py::TestQueryParams::test_list_transformer[simulate_request_get_query_params-asgi] PASSED [ 55%] 389s tests/test_query_params.py::TestQueryParams::test_list_transformer[simulate_request_get_query_params-wsgi] PASSED [ 55%] 389s tests/test_query_params.py::TestQueryParams::test_param_property[simulate_request_get_query_params-asgi] PASSED [ 55%] 389s tests/test_query_params.py::TestQueryParams::test_param_property[simulate_request_get_query_params-wsgi] PASSED [ 55%] 389s tests/test_query_params.py::TestQueryParams::test_multiple_form_keys[simulate_request_get_query_params-asgi] PASSED [ 55%] 389s tests/test_query_params.py::TestQueryParams::test_multiple_form_keys[simulate_request_get_query_params-wsgi] PASSED [ 56%] 389s tests/test_query_params.py::TestQueryParams::test_multiple_keys_as_bool[simulate_request_get_query_params-asgi] PASSED [ 56%] 389s tests/test_query_params.py::TestQueryParams::test_multiple_keys_as_bool[simulate_request_get_query_params-wsgi] PASSED [ 56%] 389s tests/test_query_params.py::TestQueryParams::test_multiple_keys_as_int[simulate_request_get_query_params-asgi] PASSED [ 56%] 389s tests/test_query_params.py::TestQueryParams::test_multiple_keys_as_int[simulate_request_get_query_params-wsgi] PASSED [ 56%] 389s tests/test_query_params.py::TestQueryParams::test_multiple_keys_as_float[simulate_request_get_query_params-asgi] PASSED [ 56%] 389s tests/test_query_params.py::TestQueryParams::test_multiple_keys_as_float[simulate_request_get_query_params-wsgi] PASSED [ 56%] 389s tests/test_query_params.py::TestQueryParams::test_multiple_form_keys_as_list[simulate_request_get_query_params-asgi] PASSED [ 56%] 389s tests/test_query_params.py::TestQueryParams::test_multiple_form_keys_as_list[simulate_request_get_query_params-wsgi] PASSED [ 56%] 389s tests/test_query_params.py::TestQueryParams::test_get_date_valid[simulate_request_get_query_params-asgi] PASSED [ 56%] 389s tests/test_query_params.py::TestQueryParams::test_get_date_valid[simulate_request_get_query_params-wsgi] PASSED [ 56%] 389s tests/test_query_params.py::TestQueryParams::test_get_date_missing_param[simulate_request_get_query_params-asgi] PASSED [ 56%] 389s tests/test_query_params.py::TestQueryParams::test_get_date_missing_param[simulate_request_get_query_params-wsgi] PASSED [ 56%] 389s tests/test_query_params.py::TestQueryParams::test_get_date_valid_with_format[simulate_request_get_query_params-asgi] PASSED [ 56%] 389s tests/test_query_params.py::TestQueryParams::test_get_date_valid_with_format[simulate_request_get_query_params-wsgi] PASSED [ 56%] 389s tests/test_query_params.py::TestQueryParams::test_get_date_store[simulate_request_get_query_params-asgi] PASSED [ 56%] 389s tests/test_query_params.py::TestQueryParams::test_get_date_store[simulate_request_get_query_params-wsgi] PASSED [ 56%] 389s tests/test_query_params.py::TestQueryParams::test_get_date_invalid[simulate_request_get_query_params-asgi] PASSED [ 56%] 389s tests/test_query_params.py::TestQueryParams::test_get_date_invalid[simulate_request_get_query_params-wsgi] PASSED [ 56%] 389s tests/test_query_params.py::TestQueryParams::test_get_datetime_valid[simulate_request_get_query_params-asgi] PASSED [ 56%] 389s tests/test_query_params.py::TestQueryParams::test_get_datetime_valid[simulate_request_get_query_params-wsgi] PASSED [ 56%] 389s tests/test_query_params.py::TestQueryParams::test_get_datetime_missing_param[simulate_request_get_query_params-asgi] PASSED [ 56%] 389s tests/test_query_params.py::TestQueryParams::test_get_datetime_missing_param[simulate_request_get_query_params-wsgi] PASSED [ 56%] 389s tests/test_query_params.py::TestQueryParams::test_get_datetime_valid_with_format[simulate_request_get_query_params-asgi] PASSED [ 56%] 389s tests/test_query_params.py::TestQueryParams::test_get_datetime_valid_with_format[simulate_request_get_query_params-wsgi] PASSED [ 56%] 389s tests/test_query_params.py::TestQueryParams::test_get_datetime_store[simulate_request_get_query_params-asgi] PASSED [ 56%] 389s tests/test_query_params.py::TestQueryParams::test_get_datetime_store[simulate_request_get_query_params-wsgi] PASSED [ 56%] 389s tests/test_query_params.py::TestQueryParams::test_get_datetime_invalid[simulate_request_get_query_params-asgi] PASSED [ 56%] 389s tests/test_query_params.py::TestQueryParams::test_get_datetime_invalid[simulate_request_get_query_params-wsgi] PASSED [ 56%] 389s tests/test_query_params.py::TestQueryParams::test_get_dict_valid[simulate_request_get_query_params-asgi] PASSED [ 56%] 389s tests/test_query_params.py::TestQueryParams::test_get_dict_valid[simulate_request_get_query_params-wsgi] PASSED [ 56%] 389s tests/test_query_params.py::TestQueryParams::test_get_dict_missing_param[simulate_request_get_query_params-asgi] PASSED [ 56%] 389s tests/test_query_params.py::TestQueryParams::test_get_dict_missing_param[simulate_request_get_query_params-wsgi] PASSED [ 56%] 389s tests/test_query_params.py::TestQueryParams::test_get_dict_store[simulate_request_get_query_params-asgi] PASSED [ 57%] 389s tests/test_query_params.py::TestQueryParams::test_get_dict_store[simulate_request_get_query_params-wsgi] PASSED [ 57%] 389s tests/test_query_params.py::TestQueryParams::test_get_dict_invalid[simulate_request_get_query_params-asgi] PASSED [ 57%] 390s tests/test_query_params.py::TestQueryParams::test_get_dict_invalid[simulate_request_get_query_params-wsgi] PASSED [ 57%] 390s tests/test_query_params.py::TestQueryParams::test_has_param[simulate_request_get_query_params-asgi] PASSED [ 57%] 390s tests/test_query_params.py::TestQueryParams::test_has_param[simulate_request_get_query_params-wsgi] PASSED [ 57%] 390s tests/test_query_params.py::TestQueryParams::test_none[simulate_request_post_query_params-asgi] SKIPPED [ 57%] 390s tests/test_query_params.py::TestQueryParams::test_none[simulate_request_post_query_params-wsgi] PASSED [ 57%] 390s tests/test_query_params.py::TestQueryParams::test_default[simulate_request_post_query_params-asgi] SKIPPED [ 57%] 390s tests/test_query_params.py::TestQueryParams::test_default[simulate_request_post_query_params-wsgi] PASSED [ 57%] 390s tests/test_query_params.py::TestQueryParams::test_blank[simulate_request_post_query_params-asgi] SKIPPED [ 57%] 390s tests/test_query_params.py::TestQueryParams::test_blank[simulate_request_post_query_params-wsgi] PASSED [ 57%] 390s tests/test_query_params.py::TestQueryParams::test_simple[simulate_request_post_query_params-asgi] SKIPPED [ 57%] 390s tests/test_query_params.py::TestQueryParams::test_simple[simulate_request_post_query_params-wsgi] PASSED [ 57%] 390s tests/test_query_params.py::TestQueryParams::test_percent_encoded[simulate_request_post_query_params-asgi] SKIPPED [ 57%] 390s tests/test_query_params.py::TestQueryParams::test_percent_encoded[simulate_request_post_query_params-wsgi] PASSED [ 57%] 390s tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_simple_false[simulate_request_post_query_params-asgi] SKIPPED [ 57%] 390s tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_simple_false[simulate_request_post_query_params-wsgi] PASSED [ 57%] 390s tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_simple_true[simulate_request_post_query_params-asgi] SKIPPED [ 57%] 390s tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_simple_true[simulate_request_post_query_params-wsgi] PASSED [ 57%] 390s tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_multiple_fields_false[simulate_request_post_query_params-asgi] SKIPPED [ 57%] 390s tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_multiple_fields_false[simulate_request_post_query_params-wsgi] PASSED [ 57%] 390s tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_multiple_fields_true[simulate_request_post_query_params-asgi-t=1&t=3,4-False-expected0] SKIPPED [ 57%] 390s tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_multiple_fields_true[simulate_request_post_query_params-asgi-t=1&t=2&t=3,4-False-expected1] SKIPPED [ 57%] 390s tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_multiple_fields_true[simulate_request_post_query_params-asgi-t=1,2&t=3,4-False-expected2] SKIPPED [ 57%] 390s tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_multiple_fields_true[simulate_request_post_query_params-asgi-t=1,,2&t=3,4-False-expected3] SKIPPED [ 57%] 390s tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_multiple_fields_true[simulate_request_post_query_params-asgi-t=1,,2&t=3,4-True-expected4] SKIPPED [ 57%] 390s tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_multiple_fields_true[simulate_request_post_query_params-asgi-t=1,2&t=3,4,,5-False-expected5] SKIPPED [ 57%] 390s tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_multiple_fields_true[simulate_request_post_query_params-asgi-t=1&t=,1,4,,5-False-expected6] SKIPPED [ 57%] 390s tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_multiple_fields_true[simulate_request_post_query_params-asgi-t=1&t=,1,4,,5-True-expected7] SKIPPED [ 57%] 390s tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_multiple_fields_true[simulate_request_post_query_params-asgi-t=1&t=,1,4,,5&t=a,b,c-True-expected8] SKIPPED [ 57%] 390s tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_multiple_fields_true[simulate_request_post_query_params-wsgi-t=1&t=3,4-False-expected0] PASSED [ 57%] 390s tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_multiple_fields_true[simulate_request_post_query_params-wsgi-t=1&t=2&t=3,4-False-expected1] PASSED [ 57%] 390s tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_multiple_fields_true[simulate_request_post_query_params-wsgi-t=1,2&t=3,4-False-expected2] PASSED [ 58%] 390s tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_multiple_fields_true[simulate_request_post_query_params-wsgi-t=1,,2&t=3,4-False-expected3] PASSED [ 58%] 390s tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_multiple_fields_true[simulate_request_post_query_params-wsgi-t=1,,2&t=3,4-True-expected4] PASSED [ 58%] 390s tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_multiple_fields_true[simulate_request_post_query_params-wsgi-t=1,2&t=3,4,,5-False-expected5] PASSED [ 58%] 390s tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_multiple_fields_true[simulate_request_post_query_params-wsgi-t=1&t=,1,4,,5-False-expected6] PASSED [ 58%] 390s tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_multiple_fields_true[simulate_request_post_query_params-wsgi-t=1&t=,1,4,,5-True-expected7] PASSED [ 58%] 390s tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_multiple_fields_true[simulate_request_post_query_params-wsgi-t=1&t=,1,4,,5&t=a,b,c-True-expected8] PASSED [ 58%] 390s tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_complex_false[simulate_request_post_query_params-asgi] SKIPPED [ 58%] 390s tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_complex_false[simulate_request_post_query_params-wsgi] PASSED [ 58%] 390s tests/test_query_params.py::TestQueryParams::test_default_auto_parse_csv_behaviour[simulate_request_post_query_params-asgi] SKIPPED [ 58%] 390s tests/test_query_params.py::TestQueryParams::test_default_auto_parse_csv_behaviour[simulate_request_post_query_params-wsgi] PASSED [ 58%] 390s tests/test_query_params.py::TestQueryParams::test_bad_percentage[simulate_request_post_query_params-asgi] SKIPPED [ 58%] 390s tests/test_query_params.py::TestQueryParams::test_bad_percentage[simulate_request_post_query_params-wsgi] PASSED [ 58%] 390s tests/test_query_params.py::TestQueryParams::test_allowed_names[simulate_request_post_query_params-asgi] SKIPPED [ 58%] 390s tests/test_query_params.py::TestQueryParams::test_allowed_names[simulate_request_post_query_params-wsgi] PASSED [ 58%] 390s tests/test_query_params.py::TestQueryParams::test_required[simulate_request_post_query_params-asgi-get_param] SKIPPED [ 58%] 390s tests/test_query_params.py::TestQueryParams::test_required[simulate_request_post_query_params-asgi-get_param_as_int] SKIPPED [ 58%] 390s tests/test_query_params.py::TestQueryParams::test_required[simulate_request_post_query_params-asgi-get_param_as_float] SKIPPED [ 58%] 390s tests/test_query_params.py::TestQueryParams::test_required[simulate_request_post_query_params-asgi-get_param_as_uuid] SKIPPED [ 58%] 390s tests/test_query_params.py::TestQueryParams::test_required[simulate_request_post_query_params-asgi-get_param_as_bool] SKIPPED [ 58%] 390s tests/test_query_params.py::TestQueryParams::test_required[simulate_request_post_query_params-asgi-get_param_as_list] SKIPPED [ 58%] 390s tests/test_query_params.py::TestQueryParams::test_required[simulate_request_post_query_params-wsgi-get_param] PASSED [ 58%] 390s tests/test_query_params.py::TestQueryParams::test_required[simulate_request_post_query_params-wsgi-get_param_as_int] PASSED [ 58%] 390s tests/test_query_params.py::TestQueryParams::test_required[simulate_request_post_query_params-wsgi-get_param_as_float] PASSED [ 58%] 390s tests/test_query_params.py::TestQueryParams::test_required[simulate_request_post_query_params-wsgi-get_param_as_uuid] PASSED [ 58%] 390s tests/test_query_params.py::TestQueryParams::test_required[simulate_request_post_query_params-wsgi-get_param_as_bool] PASSED [ 58%] 390s tests/test_query_params.py::TestQueryParams::test_required[simulate_request_post_query_params-wsgi-get_param_as_list] PASSED [ 58%] 390s tests/test_query_params.py::TestQueryParams::test_int[simulate_request_post_query_params-asgi] SKIPPED [ 58%] 390s tests/test_query_params.py::TestQueryParams::test_int[simulate_request_post_query_params-wsgi] PASSED [ 58%] 390s tests/test_query_params.py::TestQueryParams::test_int_neg[simulate_request_post_query_params-asgi] SKIPPED [ 58%] 390s tests/test_query_params.py::TestQueryParams::test_int_neg[simulate_request_post_query_params-wsgi] PASSED [ 58%] 390s tests/test_query_params.py::TestQueryParams::test_float[simulate_request_post_query_params-asgi] SKIPPED [ 58%] 390s tests/test_query_params.py::TestQueryParams::test_float[simulate_request_post_query_params-wsgi] PASSED [ 58%] 390s tests/test_query_params.py::TestQueryParams::test_float_neg[simulate_request_post_query_params-asgi] SKIPPED [ 59%] 390s tests/test_query_params.py::TestQueryParams::test_float_neg[simulate_request_post_query_params-wsgi] PASSED [ 59%] 390s tests/test_query_params.py::TestQueryParams::test_uuid[simulate_request_post_query_params-asgi] SKIPPED [ 59%] 390s tests/test_query_params.py::TestQueryParams::test_uuid[simulate_request_post_query_params-wsgi] PASSED [ 59%] 390s tests/test_query_params.py::TestQueryParams::test_boolean[simulate_request_post_query_params-asgi] SKIPPED [ 59%] 390s tests/test_query_params.py::TestQueryParams::test_boolean[simulate_request_post_query_params-wsgi] PASSED [ 59%] 390s tests/test_query_params.py::TestQueryParams::test_boolean_blank[simulate_request_post_query_params-asgi] SKIPPED [ 59%] 390s tests/test_query_params.py::TestQueryParams::test_boolean_blank[simulate_request_post_query_params-wsgi] PASSED [ 59%] 390s tests/test_query_params.py::TestQueryParams::test_list_type[simulate_request_post_query_params-asgi] SKIPPED [ 59%] 390s tests/test_query_params.py::TestQueryParams::test_list_type[simulate_request_post_query_params-wsgi] PASSED [ 59%] 390s tests/test_query_params.py::TestQueryParams::test_list_type_blank[simulate_request_post_query_params-asgi] SKIPPED [ 59%] 390s tests/test_query_params.py::TestQueryParams::test_list_type_blank[simulate_request_post_query_params-wsgi] PASSED [ 59%] 390s tests/test_query_params.py::TestQueryParams::test_list_transformer[simulate_request_post_query_params-asgi] SKIPPED [ 59%] 390s tests/test_query_params.py::TestQueryParams::test_list_transformer[simulate_request_post_query_params-wsgi] PASSED [ 59%] 390s tests/test_query_params.py::TestQueryParams::test_param_property[simulate_request_post_query_params-asgi] SKIPPED [ 59%] 390s tests/test_query_params.py::TestQueryParams::test_param_property[simulate_request_post_query_params-wsgi] PASSED [ 59%] 390s tests/test_query_params.py::TestQueryParams::test_multiple_form_keys[simulate_request_post_query_params-asgi] SKIPPED [ 59%] 390s tests/test_query_params.py::TestQueryParams::test_multiple_form_keys[simulate_request_post_query_params-wsgi] PASSED [ 59%] 390s tests/test_query_params.py::TestQueryParams::test_multiple_keys_as_bool[simulate_request_post_query_params-asgi] SKIPPED [ 59%] 390s tests/test_query_params.py::TestQueryParams::test_multiple_keys_as_bool[simulate_request_post_query_params-wsgi] PASSED [ 59%] 390s tests/test_query_params.py::TestQueryParams::test_multiple_keys_as_int[simulate_request_post_query_params-asgi] SKIPPED [ 59%] 390s tests/test_query_params.py::TestQueryParams::test_multiple_keys_as_int[simulate_request_post_query_params-wsgi] PASSED [ 59%] 390s tests/test_query_params.py::TestQueryParams::test_multiple_keys_as_float[simulate_request_post_query_params-asgi] SKIPPED [ 59%] 390s tests/test_query_params.py::TestQueryParams::test_multiple_keys_as_float[simulate_request_post_query_params-wsgi] PASSED [ 59%] 390s tests/test_query_params.py::TestQueryParams::test_multiple_form_keys_as_list[simulate_request_post_query_params-asgi] SKIPPED [ 59%] 390s tests/test_query_params.py::TestQueryParams::test_multiple_form_keys_as_list[simulate_request_post_query_params-wsgi] PASSED [ 59%] 390s tests/test_query_params.py::TestQueryParams::test_get_date_valid[simulate_request_post_query_params-asgi] SKIPPED [ 59%] 390s tests/test_query_params.py::TestQueryParams::test_get_date_valid[simulate_request_post_query_params-wsgi] PASSED [ 59%] 390s tests/test_query_params.py::TestQueryParams::test_get_date_missing_param[simulate_request_post_query_params-asgi] SKIPPED [ 59%] 390s tests/test_query_params.py::TestQueryParams::test_get_date_missing_param[simulate_request_post_query_params-wsgi] PASSED [ 59%] 390s tests/test_query_params.py::TestQueryParams::test_get_date_valid_with_format[simulate_request_post_query_params-asgi] SKIPPED [ 59%] 390s tests/test_query_params.py::TestQueryParams::test_get_date_valid_with_format[simulate_request_post_query_params-wsgi] PASSED [ 59%] 390s tests/test_query_params.py::TestQueryParams::test_get_date_store[simulate_request_post_query_params-asgi] SKIPPED [ 59%] 390s tests/test_query_params.py::TestQueryParams::test_get_date_store[simulate_request_post_query_params-wsgi] PASSED [ 60%] 390s tests/test_query_params.py::TestQueryParams::test_get_date_invalid[simulate_request_post_query_params-asgi] SKIPPED [ 60%] 390s tests/test_query_params.py::TestQueryParams::test_get_date_invalid[simulate_request_post_query_params-wsgi] PASSED [ 60%] 390s tests/test_query_params.py::TestQueryParams::test_get_datetime_valid[simulate_request_post_query_params-asgi] SKIPPED [ 60%] 390s tests/test_query_params.py::TestQueryParams::test_get_datetime_valid[simulate_request_post_query_params-wsgi] PASSED [ 60%] 390s tests/test_query_params.py::TestQueryParams::test_get_datetime_missing_param[simulate_request_post_query_params-asgi] SKIPPED [ 60%] 390s tests/test_query_params.py::TestQueryParams::test_get_datetime_missing_param[simulate_request_post_query_params-wsgi] PASSED [ 60%] 390s tests/test_query_params.py::TestQueryParams::test_get_datetime_valid_with_format[simulate_request_post_query_params-asgi] SKIPPED [ 60%] 390s tests/test_query_params.py::TestQueryParams::test_get_datetime_valid_with_format[simulate_request_post_query_params-wsgi] PASSED [ 60%] 390s tests/test_query_params.py::TestQueryParams::test_get_datetime_store[simulate_request_post_query_params-asgi] SKIPPED [ 60%] 390s tests/test_query_params.py::TestQueryParams::test_get_datetime_store[simulate_request_post_query_params-wsgi] PASSED [ 60%] 390s tests/test_query_params.py::TestQueryParams::test_get_datetime_invalid[simulate_request_post_query_params-asgi] SKIPPED [ 60%] 390s tests/test_query_params.py::TestQueryParams::test_get_datetime_invalid[simulate_request_post_query_params-wsgi] PASSED [ 60%] 390s tests/test_query_params.py::TestQueryParams::test_get_dict_valid[simulate_request_post_query_params-asgi] SKIPPED [ 60%] 390s tests/test_query_params.py::TestQueryParams::test_get_dict_valid[simulate_request_post_query_params-wsgi] PASSED [ 60%] 390s tests/test_query_params.py::TestQueryParams::test_get_dict_missing_param[simulate_request_post_query_params-asgi] SKIPPED [ 60%] 390s tests/test_query_params.py::TestQueryParams::test_get_dict_missing_param[simulate_request_post_query_params-wsgi] PASSED [ 60%] 390s tests/test_query_params.py::TestQueryParams::test_get_dict_store[simulate_request_post_query_params-asgi] SKIPPED [ 60%] 390s tests/test_query_params.py::TestQueryParams::test_get_dict_store[simulate_request_post_query_params-wsgi] PASSED [ 60%] 390s tests/test_query_params.py::TestQueryParams::test_get_dict_invalid[simulate_request_post_query_params-asgi] SKIPPED [ 60%] 390s tests/test_query_params.py::TestQueryParams::test_get_dict_invalid[simulate_request_post_query_params-wsgi] PASSED [ 60%] 390s tests/test_query_params.py::TestQueryParams::test_has_param[simulate_request_post_query_params-asgi] SKIPPED [ 60%] 390s tests/test_query_params.py::TestQueryParams::test_has_param[simulate_request_post_query_params-wsgi] PASSED [ 60%] 390s tests/test_query_params.py::TestQueryParams::test_get_param_as_json_handler_json[asgi] PASSED [ 60%] 390s tests/test_query_params.py::TestQueryParams::test_get_param_as_json_handler_json[wsgi] PASSED [ 60%] 390s tests/test_query_params.py::TestQueryParams::test_get_param_as_json_no_handler_json[asgi] PASSED [ 60%] 390s tests/test_query_params.py::TestQueryParams::test_get_param_as_json_no_handler_json[wsgi] PASSED [ 60%] 390s tests/test_query_params.py::TestPostQueryParams::test_http_methods_body_expected[asgi-POST] SKIPPED [ 60%] 390s tests/test_query_params.py::TestPostQueryParams::test_http_methods_body_expected[asgi-PUT] SKIPPED [ 60%] 390s tests/test_query_params.py::TestPostQueryParams::test_http_methods_body_expected[asgi-PATCH] SKIPPED [ 60%] 390s tests/test_query_params.py::TestPostQueryParams::test_http_methods_body_expected[asgi-DELETE] SKIPPED [ 60%] 390s tests/test_query_params.py::TestPostQueryParams::test_http_methods_body_expected[asgi-OPTIONS] SKIPPED [ 60%] 390s tests/test_query_params.py::TestPostQueryParams::test_http_methods_body_expected[wsgi-POST] PASSED [ 60%] 390s tests/test_query_params.py::TestPostQueryParams::test_http_methods_body_expected[wsgi-PUT] PASSED [ 61%] 390s tests/test_query_params.py::TestPostQueryParams::test_http_methods_body_expected[wsgi-PATCH] PASSED [ 61%] 390s tests/test_query_params.py::TestPostQueryParams::test_http_methods_body_expected[wsgi-DELETE] PASSED [ 61%] 390s tests/test_query_params.py::TestPostQueryParams::test_http_methods_body_expected[wsgi-OPTIONS] PASSED [ 61%] 390s tests/test_query_params.py::TestPostQueryParams::test_http_methods_body_not_expected[asgi-GET] SKIPPED [ 61%] 390s tests/test_query_params.py::TestPostQueryParams::test_http_methods_body_not_expected[asgi-HEAD] SKIPPED [ 61%] 390s tests/test_query_params.py::TestPostQueryParams::test_http_methods_body_not_expected[wsgi-GET] PASSED [ 61%] 390s tests/test_query_params.py::TestPostQueryParams::test_http_methods_body_not_expected[wsgi-HEAD] PASSED [ 61%] 390s tests/test_query_params.py::TestPostQueryParams::test_non_ascii[asgi] SKIPPED [ 61%] 390s tests/test_query_params.py::TestPostQueryParams::test_non_ascii[wsgi] PASSED [ 61%] 390s tests/test_query_params.py::TestPostQueryParams::test_empty_body[asgi] SKIPPED [ 61%] 390s tests/test_query_params.py::TestPostQueryParams::test_empty_body[wsgi] PASSED [ 61%] 390s tests/test_query_params.py::TestPostQueryParams::test_empty_body_no_content_length[asgi] SKIPPED [ 61%] 390s tests/test_query_params.py::TestPostQueryParams::test_empty_body_no_content_length[wsgi] PASSED [ 61%] 390s tests/test_query_params.py::TestPostQueryParams::test_explicitly_disable_auto_parse[asgi] SKIPPED [ 61%] 390s tests/test_query_params.py::TestPostQueryParams::test_explicitly_disable_auto_parse[wsgi] PASSED [ 61%] 390s tests/test_query_params.py::TestPostQueryParams::test_asgi_raises_error PASSED [ 61%] 390s tests/test_query_params.py::TestPostQueryParamsDefaultBehavior::test_dont_auto_parse_by_default[True] PASSED [ 61%] 390s tests/test_query_params.py::TestPostQueryParamsDefaultBehavior::test_dont_auto_parse_by_default[False] PASSED [ 61%] 390s tests/test_redirects.py::TestRedirects::test_redirect[asgi-GET-301 Moved Permanently-/moved/perm] PASSED [ 61%] 390s tests/test_redirects.py::TestRedirects::test_redirect[asgi-POST-302 Found-/found] PASSED [ 61%] 390s tests/test_redirects.py::TestRedirects::test_redirect[asgi-PUT-303 See Other-/see/other] PASSED [ 61%] 390s tests/test_redirects.py::TestRedirects::test_redirect[asgi-DELETE-307 Temporary Redirect-/tmp/redirect] PASSED [ 61%] 390s tests/test_redirects.py::TestRedirects::test_redirect[asgi-HEAD-308 Permanent Redirect-/perm/redirect] PASSED [ 61%] 390s tests/test_redirects.py::TestRedirects::test_redirect[wsgi-GET-301 Moved Permanently-/moved/perm] PASSED [ 61%] 390s tests/test_redirects.py::TestRedirects::test_redirect[wsgi-POST-302 Found-/found] PASSED [ 61%] 390s tests/test_redirects.py::TestRedirects::test_redirect[wsgi-PUT-303 See Other-/see/other] PASSED [ 61%] 390s tests/test_redirects.py::TestRedirects::test_redirect[wsgi-DELETE-307 Temporary Redirect-/tmp/redirect] PASSED [ 61%] 390s tests/test_redirects.py::TestRedirects::test_redirect[wsgi-HEAD-308 Permanent Redirect-/perm/redirect] PASSED [ 61%] 390s tests/test_redirects.py::TestRedirects::test_redirect_with_headers[asgi-GET-301 Moved Permanently-/moved/perm] PASSED [ 61%] 390s tests/test_redirects.py::TestRedirects::test_redirect_with_headers[asgi-POST-302 Found-/found] PASSED [ 61%] 390s tests/test_redirects.py::TestRedirects::test_redirect_with_headers[asgi-PUT-303 See Other-/see/other] PASSED [ 61%] 390s tests/test_redirects.py::TestRedirects::test_redirect_with_headers[asgi-DELETE-307 Temporary Redirect-/tmp/redirect] PASSED [ 61%] 390s tests/test_redirects.py::TestRedirects::test_redirect_with_headers[asgi-HEAD-308 Permanent Redirect-/perm/redirect] PASSED [ 62%] 390s tests/test_redirects.py::TestRedirects::test_redirect_with_headers[wsgi-GET-301 Moved Permanently-/moved/perm] PASSED [ 62%] 390s tests/test_redirects.py::TestRedirects::test_redirect_with_headers[wsgi-POST-302 Found-/found] PASSED [ 62%] 390s tests/test_redirects.py::TestRedirects::test_redirect_with_headers[wsgi-PUT-303 See Other-/see/other] PASSED [ 62%] 390s tests/test_redirects.py::TestRedirects::test_redirect_with_headers[wsgi-DELETE-307 Temporary Redirect-/tmp/redirect] PASSED [ 62%] 390s tests/test_redirects.py::TestRedirects::test_redirect_with_headers[wsgi-HEAD-308 Permanent Redirect-/perm/redirect] PASSED [ 62%] 390s tests/test_request_access_route.py::test_remote_addr_default[asgi] PASSED [ 62%] 390s tests/test_request_access_route.py::test_remote_addr_default[wsgi] PASSED [ 62%] 390s tests/test_request_access_route.py::test_remote_addr_non_default[asgi] PASSED [ 62%] 390s tests/test_request_access_route.py::test_remote_addr_non_default[wsgi] PASSED [ 62%] 390s tests/test_request_access_route.py::test_remote_addr_only[asgi] PASSED [ 62%] 390s tests/test_request_access_route.py::test_remote_addr_only[wsgi] PASSED [ 62%] 390s tests/test_request_access_route.py::test_rfc_forwarded[asgi] PASSED [ 62%] 390s tests/test_request_access_route.py::test_rfc_forwarded[wsgi] PASSED [ 62%] 390s tests/test_request_access_route.py::test_malformed_rfc_forwarded[asgi] PASSED [ 62%] 390s tests/test_request_access_route.py::test_malformed_rfc_forwarded[wsgi] PASSED [ 62%] 390s tests/test_request_access_route.py::test_x_forwarded_for[asgi-True] PASSED [ 62%] 390s tests/test_request_access_route.py::test_x_forwarded_for[asgi-False] PASSED [ 62%] 390s tests/test_request_access_route.py::test_x_forwarded_for[wsgi-True] PASSED [ 62%] 390s tests/test_request_access_route.py::test_x_forwarded_for[wsgi-False] PASSED [ 62%] 390s tests/test_request_access_route.py::test_x_real_ip[asgi] PASSED [ 62%] 390s tests/test_request_access_route.py::test_x_real_ip[wsgi] PASSED [ 62%] 390s tests/test_request_access_route.py::test_remote_addr[asgi-10.0.0.1] PASSED [ 62%] 390s tests/test_request_access_route.py::test_remote_addr[asgi-98.245.211.177] PASSED [ 62%] 390s tests/test_request_access_route.py::test_remote_addr[wsgi-10.0.0.1] PASSED [ 62%] 390s tests/test_request_access_route.py::test_remote_addr[wsgi-98.245.211.177] PASSED [ 62%] 390s tests/test_request_access_route.py::test_remote_addr_missing PASSED [ 62%] 390s tests/test_request_attrs.py::test_missing_qs PASSED [ 62%] 390s tests/test_request_attrs.py::test_app_missing PASSED [ 62%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_empty[True] PASSED [ 62%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_empty[False] PASSED [ 62%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_host[True] PASSED [ 62%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_host[False] PASSED [ 62%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_subdomain[True] PASSED [ 63%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_subdomain[False] PASSED [ 63%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_reconstruct_url[True] PASSED [ 63%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_reconstruct_url[False] PASSED [ 63%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_nonlatin_path[/hello_\u043f\u0440\u0438\u0432\u0435\u0442-True] PASSED [ 63%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_nonlatin_path[/hello_\u043f\u0440\u0438\u0432\u0435\u0442-False] PASSED [ 63%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_nonlatin_path[/test/%E5%BB%B6%E5%AE%89-True] PASSED [ 63%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_nonlatin_path[/test/%E5%BB%B6%E5%AE%89-False] PASSED [ 63%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_nonlatin_path[/test/%C3%A4%C3%B6%C3%BC%C3%9F%E2%82%AC-True] PASSED [ 63%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_nonlatin_path[/test/%C3%A4%C3%B6%C3%BC%C3%9F%E2%82%AC-False] PASSED [ 63%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_uri[True] PASSED [ 63%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_uri[False] PASSED [ 63%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_uri_https[True] PASSED [ 63%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_uri_https[False] PASSED [ 63%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_uri_http_1_0[True] PASSED [ 63%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_uri_http_1_0[False] PASSED [ 63%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_relative_uri[True] PASSED [ 63%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_relative_uri[False] PASSED [ 63%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_client_accepts[True] PASSED [ 63%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_client_accepts[False] PASSED [ 63%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_client_accepts_bogus[True] PASSED [ 63%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_client_accepts_bogus[False] PASSED [ 63%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_client_accepts_props[True] PASSED [ 63%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_client_accepts_props[False] PASSED [ 63%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_client_prefers[True] PASSED [ 63%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_client_prefers[False] PASSED [ 63%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_range[True] PASSED [ 63%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_range[False] PASSED [ 63%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_range_unit[True] PASSED [ 63%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_range_unit[False] PASSED [ 63%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_range_invalid[True] PASSED [ 63%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_range_invalid[False] PASSED [ 63%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_missing_attribute_header[True] PASSED [ 63%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_missing_attribute_header[False] PASSED [ 64%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_content_length[True] PASSED [ 64%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_content_length[False] PASSED [ 64%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_bogus_content_length_nan[True] PASSED [ 64%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_bogus_content_length_nan[False] PASSED [ 64%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_bogus_content_length_neg[True] PASSED [ 64%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_bogus_content_length_neg[False] PASSED [ 64%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_date[Date-date-True] PASSED [ 64%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_date[Date-date-False] PASSED [ 64%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_date[If-Modified-Since-if_modified_since-True] PASSED [ 64%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_date[If-Modified-Since-if_modified_since-False] PASSED [ 64%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_date[If-Unmodified-Since-if_unmodified_since-True] PASSED [ 64%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_date[If-Unmodified-Since-if_unmodified_since-False] PASSED [ 64%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_date_invalid[Date-date-True] PASSED [ 64%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_date_invalid[Date-date-False] PASSED [ 64%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_date_invalid[If-Modified-Since-if_modified_since-True] PASSED [ 64%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_date_invalid[If-Modified-Since-if_modified_since-False] PASSED [ 64%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_date_invalid[If-Unmodified-Since-if_unmodified_since-True] PASSED [ 64%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_date_invalid[If-Unmodified-Since-if_unmodified_since-False] PASSED [ 64%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_date_missing[date-True] PASSED [ 64%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_date_missing[date-False] PASSED [ 64%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_date_missing[if_modified_since-True] PASSED [ 64%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_date_missing[if_modified_since-False] PASSED [ 64%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_date_missing[if_unmodified_since-True] PASSED [ 64%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_date_missing[if_unmodified_since-False] PASSED [ 64%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_attribute_headers[Accept-x-falcon-accept-*/*-True] PASSED [ 64%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_attribute_headers[Accept-x-falcon-accept-*/*-False] PASSED [ 64%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_attribute_headers[Authorization-HMAC_SHA1 c590afa9bb59191ffab30f223791e82d3fd3e3af-auth-None-True] PASSED [ 64%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_attribute_headers[Authorization-HMAC_SHA1 c590afa9bb59191ffab30f223791e82d3fd3e3af-auth-None-False] PASSED [ 64%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_attribute_headers[Content-Type-text/plain-content_type-None-True] PASSED [ 64%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_attribute_headers[Content-Type-text/plain-content_type-None-False] PASSED [ 64%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_attribute_headers[Expect-100-continue-expect-None-True] PASSED [ 64%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_attribute_headers[Expect-100-continue-expect-None-False] PASSED [ 64%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_attribute_headers[If-Range-Wed, 21 Oct 2015 07:28:00 GMT-if_range-None-True] PASSED [ 65%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_attribute_headers[If-Range-Wed, 21 Oct 2015 07:28:00 GMT-if_range-None-False] PASSED [ 65%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_attribute_headers[User-Agent-testing/3.0-user_agent-falcon-client/3.1.1-True] PASSED [ 65%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_attribute_headers[User-Agent-testing/3.0-user_agent-falcon-client/3.1.1-False] PASSED [ 65%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_attribute_headers[Referer-https://www.google.com/-referer-None-True] PASSED [ 65%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_attribute_headers[Referer-https://www.google.com/-referer-None-False] PASSED [ 65%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_method[True] PASSED [ 65%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_method[False] PASSED [ 65%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_empty_path[True] PASSED [ 65%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_empty_path[False] PASSED [ 65%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_content_type_method[True] PASSED [ 65%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_content_type_method[False] PASSED [ 65%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_content_length_method[True] PASSED [ 65%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_content_length_method[False] PASSED [ 65%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_port_explicit[1.0-True] PASSED [ 65%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_port_explicit[1.0-False] PASSED [ 65%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_port_explicit[1.1-True] PASSED [ 65%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_port_explicit[1.1-False] PASSED [ 65%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_port_explicit[2-True] PASSED [ 65%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_port_explicit[2-False] PASSED [ 65%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_scheme_https[1.0-True] PASSED [ 65%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_scheme_https[1.0-False] PASSED [ 65%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_scheme_https[1.1-True] PASSED [ 65%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_scheme_https[1.1-False] PASSED [ 65%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_scheme_https[2-True] PASSED [ 65%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_scheme_https[2-False] PASSED [ 65%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_scheme_http[1.0-True-True] PASSED [ 65%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_scheme_http[1.0-True-False] PASSED [ 65%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_scheme_http[1.0-False-True] PASSED [ 65%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_scheme_http[1.0-False-False] PASSED [ 65%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_scheme_http[1.1-True-True] PASSED [ 65%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_scheme_http[1.1-True-False] PASSED [ 65%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_scheme_http[1.1-False-True] PASSED [ 65%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_scheme_http[1.1-False-False] PASSED [ 66%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_scheme_http[2-True-True] PASSED [ 66%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_scheme_http[2-True-False] PASSED [ 66%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_scheme_http[2-False-True] PASSED [ 66%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_scheme_http[2-False-False] PASSED [ 66%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_netloc_default_port[1.0-True] PASSED [ 66%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_netloc_default_port[1.0-False] PASSED [ 66%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_netloc_default_port[1.1-True] PASSED [ 66%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_netloc_default_port[1.1-False] PASSED [ 66%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_netloc_default_port[2-True] PASSED [ 66%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_netloc_default_port[2-False] PASSED [ 66%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_netloc_nondefault_port[1.0-True] PASSED [ 66%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_netloc_nondefault_port[1.0-False] PASSED [ 66%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_netloc_nondefault_port[1.1-True] PASSED [ 66%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_netloc_nondefault_port[1.1-False] PASSED [ 66%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_netloc_nondefault_port[2-True] PASSED [ 66%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_netloc_nondefault_port[2-False] PASSED [ 66%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_netloc_from_env[1.0-True] PASSED [ 66%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_netloc_from_env[1.0-False] PASSED [ 66%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_netloc_from_env[1.1-True] PASSED [ 66%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_netloc_from_env[1.1-False] PASSED [ 66%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_netloc_from_env[2-True] PASSED [ 66%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_netloc_from_env[2-False] PASSED [ 66%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_app_present[True] PASSED [ 66%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_app_present[False] PASSED [ 66%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_app_blank[True] PASSED [ 66%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_app_blank[False] PASSED [ 66%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match--None-True] PASSED [ 66%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match--None-False] PASSED [ 66%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match- -None-True] PASSED [ 66%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match- -None-False] PASSED [ 66%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match- -None-True] PASSED [ 66%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match- -None-False] PASSED [ 66%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-\t-None-True] PASSED [ 66%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-\t-None-False] PASSED [ 67%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match- \t-None-True] PASSED [ 67%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match- \t-None-False] PASSED [ 67%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-,-None-True] PASSED [ 67%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-,-None-False] PASSED [ 67%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-,,-None-True] PASSED [ 67%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-,,-None-False] PASSED [ 67%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-,, -None-True] PASSED [ 67%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-,, -None-False] PASSED [ 67%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-, , -None-True] PASSED [ 67%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-, , -None-False] PASSED [ 67%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-*-expected_value9-True] PASSED [ 67%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-*-expected_value9-False] PASSED [ 67%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-W/"67ab43"-expected_value10-True] PASSED [ 67%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-W/"67ab43"-expected_value10-False] PASSED [ 67%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-w/"67ab43"-expected_value11-True] PASSED [ 67%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-w/"67ab43"-expected_value11-False] PASSED [ 67%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match- w/"67ab43"-expected_value12-True] PASSED [ 67%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match- w/"67ab43"-expected_value12-False] PASSED [ 67%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-w/"67ab43" -expected_value13-True] PASSED [ 67%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-w/"67ab43" -expected_value13-False] PASSED [ 67%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-w/"67ab43 " -expected_value14-True] PASSED [ 67%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-w/"67ab43 " -expected_value14-False] PASSED [ 67%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-"67ab43"-expected_value15-True] PASSED [ 67%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-"67ab43"-expected_value15-False] PASSED [ 67%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match- "67ab43"-expected_value16-True] PASSED [ 67%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match- "67ab43"-expected_value16-False] PASSED [ 67%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match- "67ab43" -expected_value17-True] PASSED [ 67%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match- "67ab43" -expected_value17-False] PASSED [ 67%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-"67ab43" -expected_value18-True] PASSED [ 67%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-"67ab43" -expected_value18-False] PASSED [ 67%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-" 67ab43" -expected_value19-True] PASSED [ 67%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-" 67ab43" -expected_value19-False] PASSED [ 67%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-67ab43"-expected_value20-True] PASSED [ 68%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-67ab43"-expected_value20-False] PASSED [ 68%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-"67ab43-expected_value21-True] PASSED [ 68%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-"67ab43-expected_value21-False] PASSED [ 68%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-67ab43-expected_value22-True] PASSED [ 68%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-67ab43-expected_value22-False] PASSED [ 68%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-67ab43 -expected_value23-True] PASSED [ 68%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-67ab43 -expected_value23-False] PASSED [ 68%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match- 67ab43 -expected_value24-True] PASSED [ 68%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match- 67ab43 -expected_value24-False] PASSED [ 68%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match- 67ab43-expected_value25-True] PASSED [ 68%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match- 67ab43-expected_value25-False] PASSED [ 68%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-W/"67ab43", "54ed21", junk"F9,22", junk "41, 7F", unquoted, w/"22, 41, 7F", "", W/""-expected_value26-True] PASSED [ 68%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-W/"67ab43", "54ed21", junk"F9,22", junk "41, 7F", unquoted, w/"22, 41, 7F", "", W/""-expected_value26-False] PASSED [ 68%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match--None-True] PASSED [ 68%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match--None-False] PASSED [ 68%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match- -None-True] PASSED [ 68%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match- -None-False] PASSED [ 68%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match- -None-True] PASSED [ 68%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match- -None-False] PASSED [ 68%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-\t-None-True] PASSED [ 68%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-\t-None-False] PASSED [ 68%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match- \t-None-True] PASSED [ 68%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match- \t-None-False] PASSED [ 68%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-,-None-True] PASSED [ 68%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-,-None-False] PASSED [ 68%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-,,-None-True] PASSED [ 68%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-,,-None-False] PASSED [ 68%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-,, -None-True] PASSED [ 68%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-,, -None-False] PASSED [ 68%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-, , -None-True] PASSED [ 68%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-, , -None-False] PASSED [ 68%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-*-expected_value9-True] PASSED [ 68%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-*-expected_value9-False] PASSED [ 69%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-W/"67ab43"-expected_value10-True] PASSED [ 69%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-W/"67ab43"-expected_value10-False] PASSED [ 69%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-w/"67ab43"-expected_value11-True] PASSED [ 69%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-w/"67ab43"-expected_value11-False] PASSED [ 69%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match- w/"67ab43"-expected_value12-True] PASSED [ 69%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match- w/"67ab43"-expected_value12-False] PASSED [ 69%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-w/"67ab43" -expected_value13-True] PASSED [ 69%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-w/"67ab43" -expected_value13-False] PASSED [ 69%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-w/"67ab43 " -expected_value14-True] PASSED [ 69%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-w/"67ab43 " -expected_value14-False] PASSED [ 69%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-"67ab43"-expected_value15-True] PASSED [ 69%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-"67ab43"-expected_value15-False] PASSED [ 69%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match- "67ab43"-expected_value16-True] PASSED [ 69%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match- "67ab43"-expected_value16-False] PASSED [ 69%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match- "67ab43" -expected_value17-True] PASSED [ 69%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match- "67ab43" -expected_value17-False] PASSED [ 69%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-"67ab43" -expected_value18-True] PASSED [ 69%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-"67ab43" -expected_value18-False] PASSED [ 69%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-" 67ab43" -expected_value19-True] PASSED [ 69%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-" 67ab43" -expected_value19-False] PASSED [ 69%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-67ab43"-expected_value20-True] PASSED [ 69%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-67ab43"-expected_value20-False] PASSED [ 69%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-"67ab43-expected_value21-True] PASSED [ 69%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-"67ab43-expected_value21-False] PASSED [ 69%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-67ab43-expected_value22-True] PASSED [ 69%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-67ab43-expected_value22-False] PASSED [ 69%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-67ab43 -expected_value23-True] PASSED [ 69%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-67ab43 -expected_value23-False] PASSED [ 69%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match- 67ab43 -expected_value24-True] PASSED [ 69%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match- 67ab43 -expected_value24-False] PASSED [ 69%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match- 67ab43-expected_value25-True] PASSED [ 69%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match- 67ab43-expected_value25-False] PASSED [ 69%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-W/"67ab43", "54ed21", junk"F9,22", junk "41, 7F", unquoted, w/"22, 41, 7F", "", W/""-expected_value26-True] PASSED [ 70%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-W/"67ab43", "54ed21", junk"F9,22", junk "41, 7F", unquoted, w/"22, 41, 7F", "", W/""-expected_value26-False] PASSED [ 70%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_etag_is_missing[True] PASSED [ 70%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_etag_is_missing[False] PASSED [ 70%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_etag_parsing_helper[-True] PASSED [ 70%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_etag_parsing_helper[-False] PASSED [ 70%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_etag_parsing_helper[ -True] PASSED [ 70%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_etag_parsing_helper[ -False] PASSED [ 70%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_etag_parsing_helper[ -True] PASSED [ 70%] 390s tests/test_request_attrs.py::TestRequestAttributes::test_etag_parsing_helper[ -False] PASSED [ 70%] 390s tests/test_request_body.py::TestRequestBody::test_empty_body PASSED [ 70%] 390s tests/test_request_body.py::TestRequestBody::test_tiny_body PASSED [ 70%] 390s tests/test_request_body.py::TestRequestBody::test_tiny_body_overflow PASSED [ 70%] 390s tests/test_request_body.py::TestRequestBody::test_read_body PASSED [ 70%] 390s tests/test_request_body.py::TestRequestBody::test_bounded_stream_property_empty_body PASSED [ 70%] 390s tests/test_request_body.py::TestRequestBody::test_body_stream_wrapper PASSED [ 70%] 390s tests/test_request_body.py::TestRequestBody::test_request_repr PASSED [ 70%] 390s tests/test_request_context.py::TestRequestContext::test_default_request_context PASSED [ 70%] 390s tests/test_request_context.py::TestRequestContext::test_custom_request_context PASSED [ 70%] 390s tests/test_request_context.py::TestRequestContext::test_custom_request_context_failure PASSED [ 70%] 390s tests/test_request_context.py::TestRequestContext::test_custom_request_context_request_access PASSED [ 70%] 390s tests/test_request_forwarded.py::test_no_forwarded_headers[asgi] PASSED [ 70%] 390s tests/test_request_forwarded.py::test_no_forwarded_headers[wsgi] PASSED [ 70%] 390s tests/test_request_forwarded.py::test_no_forwarded_headers_with_port[asgi] PASSED [ 70%] 390s tests/test_request_forwarded.py::test_no_forwarded_headers_with_port[wsgi] PASSED [ 70%] 390s tests/test_request_forwarded.py::test_x_forwarded_host[asgi] PASSED [ 70%] 390s tests/test_request_forwarded.py::test_x_forwarded_host[wsgi] PASSED [ 70%] 390s tests/test_request_forwarded.py::test_x_forwarded_host_with_port[asgi] PASSED [ 70%] 390s tests/test_request_forwarded.py::test_x_forwarded_host_with_port[wsgi] PASSED [ 70%] 390s tests/test_request_forwarded.py::test_x_forwarded_proto[asgi] PASSED [ 70%] 390s tests/test_request_forwarded.py::test_x_forwarded_proto[wsgi] PASSED [ 70%] 390s tests/test_request_forwarded.py::test_forwarded_host[asgi] PASSED [ 70%] 390s tests/test_request_forwarded.py::test_forwarded_host[wsgi] PASSED [ 70%] 390s tests/test_request_forwarded.py::test_forwarded_invalid[asgi] PASSED [ 71%] 390s tests/test_request_forwarded.py::test_forwarded_invalid[wsgi] PASSED [ 71%] 390s tests/test_request_forwarded.py::test_forwarded_multiple_params[asgi] PASSED [ 71%] 390s tests/test_request_forwarded.py::test_forwarded_multiple_params[wsgi] PASSED [ 71%] 390s tests/test_request_forwarded.py::test_forwarded_missing_first_hop_host[asgi] PASSED [ 71%] 390s tests/test_request_forwarded.py::test_forwarded_missing_first_hop_host[wsgi] PASSED [ 71%] 390s tests/test_request_forwarded.py::test_forwarded_quote_escaping[asgi] PASSED [ 71%] 390s tests/test_request_forwarded.py::test_forwarded_quote_escaping[wsgi] PASSED [ 71%] 390s tests/test_request_forwarded.py::test_escape_malformed_requests[asgi-for=1.2.3.4;by="-None] PASSED [ 71%] 390s tests/test_request_forwarded.py::test_escape_malformed_requests[asgi-for=1.2.3.4;by=4\\.3.2.1thing=blah-4] PASSED [ 71%] 390s tests/test_request_forwarded.py::test_escape_malformed_requests[asgi-for=1.2.3.4;by="\\4.3.2.1"thing=blah-4.3.2.1] PASSED [ 71%] 390s tests/test_request_forwarded.py::test_escape_malformed_requests[asgi-for=1.2.3.4;by="4.3.2.\\1"thing="blah"-4.3.2.1] PASSED [ 71%] 390s tests/test_request_forwarded.py::test_escape_malformed_requests[asgi-for=1.2.3.4;by="4.3.\\2\\.1" thing="blah"-4.3.2.1] PASSED [ 71%] 390s tests/test_request_forwarded.py::test_escape_malformed_requests[wsgi-for=1.2.3.4;by="-None] PASSED [ 71%] 390s tests/test_request_forwarded.py::test_escape_malformed_requests[wsgi-for=1.2.3.4;by=4\\.3.2.1thing=blah-4] PASSED [ 71%] 390s tests/test_request_forwarded.py::test_escape_malformed_requests[wsgi-for=1.2.3.4;by="\\4.3.2.1"thing=blah-4.3.2.1] PASSED [ 71%] 390s tests/test_request_forwarded.py::test_escape_malformed_requests[wsgi-for=1.2.3.4;by="4.3.2.\\1"thing="blah"-4.3.2.1] PASSED [ 71%] 390s tests/test_request_forwarded.py::test_escape_malformed_requests[wsgi-for=1.2.3.4;by="4.3.\\2\\.1" thing="blah"-4.3.2.1] PASSED [ 71%] 390s tests/test_request_media.py::test_json[asgi-None] PASSED [ 71%] 390s tests/test_request_media.py::test_json[asgi-*/*] PASSED [ 71%] 390s tests/test_request_media.py::test_json[asgi-application/json] PASSED [ 71%] 390s tests/test_request_media.py::test_json[asgi-application/json; charset=utf-8] PASSED [ 71%] 390s tests/test_request_media.py::test_json[wsgi-None] PASSED [ 71%] 390s tests/test_request_media.py::test_json[wsgi-*/*] PASSED [ 71%] 390s tests/test_request_media.py::test_json[wsgi-application/json] PASSED [ 71%] 390s tests/test_request_media.py::test_json[wsgi-application/json; charset=utf-8] PASSED [ 71%] 390s tests/test_request_media.py::test_msgpack[asgi-application/msgpack] PASSED [ 71%] 390s tests/test_request_media.py::test_msgpack[asgi-application/msgpack; charset=utf-8] PASSED [ 71%] 390s tests/test_request_media.py::test_msgpack[asgi-application/x-msgpack] PASSED [ 71%] 390s tests/test_request_media.py::test_msgpack[wsgi-application/msgpack] PASSED [ 71%] 390s tests/test_request_media.py::test_msgpack[wsgi-application/msgpack; charset=utf-8] PASSED [ 71%] 390s tests/test_request_media.py::test_msgpack[wsgi-application/x-msgpack] PASSED [ 71%] 390s tests/test_request_media.py::test_unknown_media_type[asgi-nope/json] PASSED [ 71%] 390s tests/test_request_media.py::test_unknown_media_type[wsgi-nope/json] PASSED [ 72%] 390s tests/test_request_media.py::test_empty_body[asgi-application/json] PASSED [ 72%] 390s tests/test_request_media.py::test_empty_body[asgi-application/msgpack] PASSED [ 72%] 390s tests/test_request_media.py::test_empty_body[wsgi-application/json] PASSED [ 72%] 390s tests/test_request_media.py::test_empty_body[wsgi-application/msgpack] PASSED [ 72%] 390s tests/test_request_media.py::test_invalid_json[asgi] PASSED [ 72%] 390s tests/test_request_media.py::test_invalid_json[wsgi] PASSED [ 72%] 390s tests/test_request_media.py::test_invalid_msgpack[asgi] PASSED [ 72%] 390s tests/test_request_media.py::test_invalid_msgpack[wsgi] PASSED [ 72%] 390s tests/test_request_media.py::test_complete_consumption[asgi] PASSED [ 72%] 390s tests/test_request_media.py::test_complete_consumption[wsgi] PASSED [ 72%] 390s tests/test_request_media.py::test_empty_json_media[asgi-False] PASSED [ 72%] 390s tests/test_request_media.py::test_empty_json_media[asgi-0] PASSED [ 72%] 390s tests/test_request_media.py::test_empty_json_media[asgi-0.0] PASSED [ 72%] 390s tests/test_request_media.py::test_empty_json_media[asgi-] PASSED [ 72%] 390s tests/test_request_media.py::test_empty_json_media[asgi-payload4] PASSED [ 72%] 390s tests/test_request_media.py::test_empty_json_media[asgi-payload5] PASSED [ 72%] 390s tests/test_request_media.py::test_empty_json_media[wsgi-False] PASSED [ 72%] 390s tests/test_request_media.py::test_empty_json_media[wsgi-0] PASSED [ 72%] 390s tests/test_request_media.py::test_empty_json_media[wsgi-0.0] PASSED [ 72%] 390s tests/test_request_media.py::test_empty_json_media[wsgi-] PASSED [ 72%] 390s tests/test_request_media.py::test_empty_json_media[wsgi-payload4] PASSED [ 72%] 390s tests/test_request_media.py::test_empty_json_media[wsgi-payload5] PASSED [ 72%] 390s tests/test_request_media.py::test_null_json_media[asgi] PASSED [ 72%] 390s tests/test_request_media.py::test_null_json_media[wsgi] PASSED [ 72%] 390s tests/test_request_media.py::test_fallback[asgi] PASSED [ 72%] 390s tests/test_request_media.py::test_fallback[wsgi] PASSED [ 72%] 390s tests/test_request_media.py::test_fallback_not_for_error_body[asgi-True-True] PASSED [ 72%] 390s tests/test_request_media.py::test_fallback_not_for_error_body[asgi-True-False] PASSED [ 72%] 390s tests/test_request_media.py::test_fallback_not_for_error_body[asgi-False-True] PASSED [ 72%] 390s tests/test_request_media.py::test_fallback_not_for_error_body[asgi-False-False] PASSED [ 72%] 390s tests/test_request_media.py::test_fallback_not_for_error_body[wsgi-True-True] PASSED [ 72%] 390s tests/test_request_media.py::test_fallback_not_for_error_body[wsgi-True-False] PASSED [ 72%] 390s tests/test_request_media.py::test_fallback_not_for_error_body[wsgi-False-True] PASSED [ 73%] 390s tests/test_request_media.py::test_fallback_not_for_error_body[wsgi-False-False] PASSED [ 73%] 390s tests/test_request_media.py::test_fallback_does_not_override_media_default[asgi] PASSED [ 73%] 390s tests/test_request_media.py::test_fallback_does_not_override_media_default[wsgi] PASSED [ 73%] 390s tests/test_request_media.py::test_repeated_error[asgi-{] PASSED [ 73%] 390s tests/test_request_media.py::test_repeated_error[asgi-] PASSED [ 73%] 390s tests/test_request_media.py::test_repeated_error[wsgi-{] PASSED [ 73%] 390s tests/test_request_media.py::test_repeated_error[wsgi-] PASSED [ 73%] 390s tests/test_request_media.py::test_error_after_first_default[asgi] PASSED [ 73%] 390s tests/test_request_media.py::test_error_after_first_default[wsgi] PASSED [ 73%] 390s tests/test_response.py::test_response_set_content_type_set[True] PASSED [ 73%] 390s tests/test_response.py::test_response_set_content_type_set[False] PASSED [ 73%] 390s tests/test_response.py::test_response_set_content_type_not_set[True] PASSED [ 73%] 390s tests/test_response.py::test_response_set_content_type_not_set[False] PASSED [ 73%] 390s tests/test_response.py::test_response_get_headers[True] PASSED [ 73%] 390s tests/test_response.py::test_response_get_headers[False] PASSED [ 73%] 390s tests/test_response.py::test_response_attempt_to_set_read_only_headers[True] PASSED [ 73%] 390s tests/test_response.py::test_response_attempt_to_set_read_only_headers[False] PASSED [ 73%] 390s tests/test_response.py::test_response_removed_stream_len[True] PASSED [ 73%] 390s tests/test_response.py::test_response_removed_stream_len[False] PASSED [ 73%] 390s tests/test_response.py::test_response_option_mimetype_init PASSED [ 73%] 390s tests/test_response_body.py::test_append_body[asgi] PASSED [ 73%] 390s tests/test_response_body.py::test_append_body[wsgi] PASSED [ 73%] 390s tests/test_response_body.py::test_response_repr[asgi] PASSED [ 73%] 390s tests/test_response_body.py::test_response_repr[wsgi] PASSED [ 73%] 390s tests/test_response_body.py::test_content_length_set_on_head_with_no_body[asgi] PASSED [ 73%] 390s tests/test_response_body.py::test_content_length_set_on_head_with_no_body[wsgi] PASSED [ 73%] 390s tests/test_response_body.py::test_content_length_not_set_when_streaming_response[asgi-GET] PASSED [ 73%] 390s tests/test_response_body.py::test_content_length_not_set_when_streaming_response[asgi-HEAD] PASSED [ 73%] 390s tests/test_response_body.py::test_content_length_not_set_when_streaming_response[wsgi-GET] PASSED [ 73%] 390s tests/test_response_body.py::test_content_length_not_set_when_streaming_response[wsgi-HEAD] PASSED [ 73%] 390s tests/test_response_body.py::test_unsupported_response_content_type[asgi] PASSED [ 73%] 390s tests/test_response_body.py::test_unsupported_response_content_type[wsgi] PASSED [ 73%] 390s tests/test_response_body.py::test_response_body_rendition_error[asgi] PASSED [ 74%] 390s tests/test_response_body.py::test_response_body_rendition_error[wsgi] PASSED [ 74%] 390s tests/test_response_context.py::TestResponseContext::test_default_response_context[True] PASSED [ 74%] 390s tests/test_response_context.py::TestResponseContext::test_default_response_context[False] PASSED [ 74%] 390s tests/test_response_context.py::TestResponseContext::test_custom_response_context[True] PASSED [ 74%] 390s tests/test_response_context.py::TestResponseContext::test_custom_response_context[False] PASSED [ 74%] 390s tests/test_response_context.py::TestResponseContext::test_custom_response_context_failure[True] PASSED [ 74%] 390s tests/test_response_context.py::TestResponseContext::test_custom_response_context_failure[False] PASSED [ 74%] 390s tests/test_response_context.py::TestResponseContext::test_custom_response_context_factory[True] PASSED [ 74%] 390s tests/test_response_context.py::TestResponseContext::test_custom_response_context_factory[False] PASSED [ 74%] 390s tests/test_response_media.py::test_json[*/*] PASSED [ 74%] 390s tests/test_response_media.py::test_json[application/json] PASSED [ 74%] 390s tests/test_response_media.py::test_json[application/json; charset=utf-8] PASSED [ 74%] 390s tests/test_response_media.py::test_non_ascii_json_serialization[] PASSED [ 74%] 390s tests/test_response_media.py::test_non_ascii_json_serialization[I am a \u1d0a\ua731\u1d0f\u0274 string.] PASSED [ 74%] 390s tests/test_response_media.py::test_non_ascii_json_serialization[document2] PASSED [ 74%] 390s tests/test_response_media.py::test_non_ascii_json_serialization[document3] PASSED [ 74%] 390s tests/test_response_media.py::test_non_ascii_json_serialization[document4] PASSED [ 74%] 390s tests/test_response_media.py::test_msgpack[application/msgpack] PASSED [ 74%] 390s tests/test_response_media.py::test_msgpack[application/msgpack; charset=utf-8] PASSED [ 74%] 390s tests/test_response_media.py::test_msgpack[application/x-msgpack] PASSED [ 74%] 390s tests/test_response_media.py::test_unknown_media_type PASSED [ 74%] 390s tests/test_response_media.py::test_use_cached_media PASSED [ 74%] 390s tests/test_response_media.py::test_default_media_type PASSED [ 74%] 390s tests/test_response_media.py::test_mimeparse_edgecases PASSED [ 74%] 390s tests/test_response_media.py::TestRenderBodyPrecedence::test_text PASSED [ 74%] 390s tests/test_response_media.py::TestRenderBodyPrecedence::test_body PASSED [ 74%] 390s tests/test_response_media.py::TestRenderBodyPrecedence::test_data PASSED [ 74%] 390s tests/test_response_media.py::TestRenderBodyPrecedence::test_media PASSED [ 74%] 390s tests/test_response_media.py::test_media_rendered_cached PASSED [ 74%] 390s tests/test_sink_and_static.py::test_sink_before_static_route[asgi] PASSED [ 74%] 390s tests/test_sink_and_static.py::test_sink_before_static_route[wsgi] PASSED [ 74%] 390s tests/test_sink_and_static.py::test_sink_after_static_route[asgi] PASSED [ 74%] 390s tests/test_sink_and_static.py::test_sink_after_static_route[wsgi] PASSED [ 75%] 390s tests/test_sinks.py::TestDefaultRouting::test_single_default_pattern[asgi] PASSED [ 75%] 390s tests/test_sinks.py::TestDefaultRouting::test_single_default_pattern[wsgi] PASSED [ 75%] 390s tests/test_sinks.py::TestDefaultRouting::test_single_simple_pattern[asgi] PASSED [ 75%] 390s tests/test_sinks.py::TestDefaultRouting::test_single_simple_pattern[wsgi] PASSED [ 75%] 390s tests/test_sinks.py::TestDefaultRouting::test_single_compiled_pattern[asgi] PASSED [ 75%] 390s tests/test_sinks.py::TestDefaultRouting::test_single_compiled_pattern[wsgi] PASSED [ 75%] 390s tests/test_sinks.py::TestDefaultRouting::test_named_groups[asgi] PASSED [ 75%] 390s tests/test_sinks.py::TestDefaultRouting::test_named_groups[wsgi] PASSED [ 75%] 390s tests/test_sinks.py::TestDefaultRouting::test_multiple_patterns[asgi] PASSED [ 75%] 390s tests/test_sinks.py::TestDefaultRouting::test_multiple_patterns[wsgi] PASSED [ 75%] 390s tests/test_sinks.py::TestDefaultRouting::test_with_route[asgi] PASSED [ 75%] 390s tests/test_sinks.py::TestDefaultRouting::test_with_route[wsgi] PASSED [ 75%] 390s tests/test_sinks.py::TestDefaultRouting::test_route_precedence[asgi] PASSED [ 75%] 390s tests/test_sinks.py::TestDefaultRouting::test_route_precedence[wsgi] PASSED [ 75%] 390s tests/test_sinks.py::TestDefaultRouting::test_route_precedence_with_id[asgi] PASSED [ 75%] 390s tests/test_sinks.py::TestDefaultRouting::test_route_precedence_with_id[wsgi] PASSED [ 75%] 390s tests/test_sinks.py::TestDefaultRouting::test_route_precedence_with_both_id[asgi] PASSED [ 75%] 390s tests/test_sinks.py::TestDefaultRouting::test_route_precedence_with_both_id[wsgi] PASSED [ 75%] 390s tests/test_sinks.py::TestSinkMethodCompatibility::test_add_async_sink[asgi] PASSED [ 75%] 390s tests/test_sinks.py::TestSinkMethodCompatibility::test_add_async_sink[wsgi] PASSED [ 75%] 390s tests/test_sinks.py::TestSinkMethodCompatibility::test_add_sync_sink[asgi] PASSED [ 75%] 390s tests/test_sinks.py::TestSinkMethodCompatibility::test_add_sync_sink[wsgi] PASSED [ 75%] 390s tests/test_sinks.py::TestSinkMethodCompatibility::test_add_sync_sink_with_wrapping[asgi] PASSED [ 75%] 390s tests/test_sinks.py::TestSinkMethodCompatibility::test_add_sync_sink_with_wrapping[wsgi] PASSED [ 75%] 390s tests/test_slots.py::TestSlots::test_slots_request[asgi] PASSED [ 75%] 390s tests/test_slots.py::TestSlots::test_slots_request[wsgi] PASSED [ 75%] 390s tests/test_slots.py::TestSlots::test_slots_response[asgi] PASSED [ 75%] 390s tests/test_slots.py::TestSlots::test_slots_response[wsgi] PASSED [ 75%] 390s tests/test_static.py::test_bad_path[asgi-/static] PASSED [ 75%] 390s tests/test_static.py::test_bad_path[asgi-/static/] PASSED [ 75%] 390s tests/test_static.py::test_bad_path[asgi-/static/.] PASSED [ 75%] 390s tests/test_static.py::test_bad_path[asgi-/static/..] PASSED [ 75%] 390s tests/test_static.py::test_bad_path[asgi-/static/../.] PASSED [ 76%] 390s tests/test_static.py::test_bad_path[asgi-/static/.././etc/passwd] PASSED [ 76%] 390s tests/test_static.py::test_bad_path[asgi-/static/../etc/passwd] PASSED [ 76%] 390s tests/test_static.py::test_bad_path[asgi-/static/css/../../secret] PASSED [ 76%] 390s tests/test_static.py::test_bad_path[asgi-/static/css/../../etc/passwd] PASSED [ 76%] 390s tests/test_static.py::test_bad_path[asgi-/static/./../etc/passwd] PASSED [ 76%] 390s tests/test_static.py::test_bad_path[asgi-/static/css/../.\\056/etc/passwd] PASSED [ 76%] 390s tests/test_static.py::test_bad_path[asgi-/static/./\\056./etc/passwd] PASSED [ 76%] 390s tests/test_static.py::test_bad_path[asgi-/static/\\056\\056/etc/passwd] PASSED [ 76%] 390s tests/test_static.py::test_bad_path[asgi-/static//test.css] PASSED [ 76%] 390s tests/test_static.py::test_bad_path[asgi-/static//COM10] PASSED [ 76%] 390s tests/test_static.py::test_bad_path[asgi-/static/path//test.css] PASSED [ 76%] 390s tests/test_static.py::test_bad_path[asgi-/static/path///test.css] PASSED [ 76%] 390s tests/test_static.py::test_bad_path[asgi-/static/path////test.css] PASSED [ 76%] 390s tests/test_static.py::test_bad_path[asgi-/static/path/foo//test.css] PASSED [ 76%] 390s tests/test_static.py::test_bad_path[asgi-/static/.\x00ssh/authorized_keys] PASSED [ 76%] 390s tests/test_static.py::test_bad_path[asgi-/static/.\x1fssh/authorized_keys] PASSED [ 76%] 390s tests/test_static.py::test_bad_path[asgi-/static/.\x80ssh/authorized_keys] PASSED [ 76%] 390s tests/test_static.py::test_bad_path[asgi-/static/.\x9fssh/authorized_keys] PASSED [ 76%] 390s tests/test_static.py::test_bad_path[asgi-/static/~/.ssh/authorized_keys] PASSED [ 76%] 390s tests/test_static.py::test_bad_path[asgi-/static/.ssh/authorized_key?] PASSED [ 76%] 390s tests/test_static.py::test_bad_path[asgi-/static/.ssh/authorized_key>foo] PASSED [ 76%] 390s tests/test_static.py::test_bad_path[asgi-/static/.ssh/authorized_key|foo] PASSED [ 76%] 390s tests/test_static.py::test_bad_path[asgi-/static/.ssh/authorized_keyfoo] PASSED [ 77%] 391s tests/test_static.py::test_bad_path[wsgi-/static/.ssh/authorized_key|foo] PASSED [ 77%] 391s tests/test_static.py::test_bad_path[wsgi-/static/.ssh/authorized_key 396s 396s Traceback (most recent call last): 396s File "", line 1, in 396s TypeError: 'bool' object is not callable 396s 396s warnings.warn(pytest.PytestUnraisableExceptionWarning(msg)) 396s 396s tests/test_middleware.py: 26 warnings 396s /tmp/autopkgtest.eK8hvm/build.h1W/src/tests/test_middleware.py:39: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC). 396s context['start_time'] = datetime.utcnow() 396s 396s tests/test_middleware.py: 24 warnings 396s /tmp/autopkgtest.eK8hvm/build.h1W/src/tests/test_middleware.py:47: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC). 396s context['end_time'] = datetime.utcnow() 396s 396s tests/test_middleware.py: 16 warnings 396s /tmp/autopkgtest.eK8hvm/build.h1W/src/tests/test_middleware.py:43: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC). 396s context['mid_time'] = datetime.utcnow() 396s 396s tests/test_utils.py::TestFalconUtils::test_http_now 396s /tmp/autopkgtest.eK8hvm/build.h1W/src/tests/test_utils.py:112: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC). 396s expected = datetime.utcnow() 396s 396s tests/test_utils.py::TestFalconUtils::test_http_now 396s /tmp/autopkgtest.eK8hvm/build.h1W/src/falcon/util/misc.py:138: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC). 396s return dt_to_http(utcnow()) 396s 396s tests/test_wsgi.py::TestWSGIServer::test_get 396s /usr/lib/python3.13/multiprocessing/popen_fork.py:67: DeprecationWarning: This process (pid=2393) is multi-threaded, use of fork() may lead to deadlocks in the child. 396s self.pid = os.fork() 396s 396s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 396s =============== 3090 passed, 219 skipped, 219 warnings in 23.66s =============== 397s autopkgtest [14:55:37]: test unittests: -----------------------] 397s autopkgtest [14:55:37]: test unittests: - - - - - - - - - - results - - - - - - - - - - 397s unittests PASS 398s autopkgtest [14:55:38]: @@@@@@@@@@@@@@@@@@@@ summary 398s unittests PASS 416s nova [W] Using flock in prodstack6-arm64 416s flock: timeout while waiting to get lock 416s Creating nova instance adt-plucky-arm64-python-falcon-20250315-144900-juju-7f2275-prod-proposed-migration-environment-15-e0d51d92-7b6b-4d59-be7d-9143166c7d17 from image adt/ubuntu-plucky-arm64-server-20250315.img (UUID bd6e766c-b51f-4b53-86d6-23aa4d18f524)... 416s nova [W] Timed out waiting for 347c856e-02a6-46f6-b6fc-41ba7ac4343c to get deleted.