0s autopkgtest [01:20:34]: starting date and time: 2026-02-10 01:20:34+0000 0s autopkgtest [01:20:34]: git checkout: 4b346b80 nova: make wait_reboot return success even when a no-op 0s autopkgtest [01:20:34]: host juju-7f2275-prod-proposed-migration-environment-20; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.wozhur28/out --timeout-copy=6000 --needs-internet=try --setup-commands /home/ubuntu/autopkgtest-cloud/worker-config-production/setup-canonical.sh --apt-pocket=proposed=src:python-msgpack --apt-upgrade python-falcon --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 --env=ADT_TEST_TRIGGERS=python-msgpack/1.1.2-2 -- ssh -s /home/ubuntu/autopkgtest/ssh-setup/nova -- --flavor autopkgtest-cpu2-ram4-disk20-amd64 --security-groups autopkgtest-juju-7f2275-prod-proposed-migration-environment-20@sto01-27.secgroup --name adt-resolute-amd64-python-falcon-20260210-012034-juju-7f2275-prod-proposed-migration-environment-20-36a7e0fe-be5b-457a-933b-765a1941591b --image adt/ubuntu-resolute-amd64-server --keyname testbed-juju-7f2275-prod-proposed-migration-environment-20 --net-id=net_prod-autopkgtest-workers-amd64 -e TERM=linux --mirror=http://ftpmaster.internal/ubuntu/ 4s Creating nova instance adt-resolute-amd64-python-falcon-20260210-012034-juju-7f2275-prod-proposed-migration-environment-20-36a7e0fe-be5b-457a-933b-765a1941591b from image adt/ubuntu-resolute-amd64-server-20260204.img (UUID fedf54b4-458b-493e-8072-6425c19717b4)... 74s autopkgtest [01:21:48]: testbed dpkg architecture: amd64 74s autopkgtest [01:21:48]: testbed apt version: 3.1.14 75s autopkgtest [01:21:49]: @@@@@@@@@@@@@@@@@@@@ test bed setup 75s autopkgtest [01:21:49]: testbed release detected to be: None 75s autopkgtest [01:21:49]: updating testbed package index (apt update) 76s Get:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease [124 kB] 76s Hit:2 http://ftpmaster.internal/ubuntu resolute InRelease 76s Hit:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease 76s Hit:4 http://ftpmaster.internal/ubuntu resolute-security InRelease 76s Get:5 http://ftpmaster.internal/ubuntu resolute-proposed/universe Sources [1637 kB] 76s Get:6 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse Sources [29.4 kB] 76s Get:7 http://ftpmaster.internal/ubuntu resolute-proposed/main Sources [173 kB] 76s Get:8 http://ftpmaster.internal/ubuntu resolute-proposed/main i386 Packages [201 kB] 76s Get:9 http://ftpmaster.internal/ubuntu resolute-proposed/main amd64 Packages [253 kB] 76s Get:10 http://ftpmaster.internal/ubuntu resolute-proposed/main amd64 c-n-f Metadata [5996 B] 76s Get:11 http://ftpmaster.internal/ubuntu resolute-proposed/restricted amd64 c-n-f Metadata [316 B] 76s Get:12 http://ftpmaster.internal/ubuntu resolute-proposed/universe i386 Packages [639 kB] 76s Get:13 http://ftpmaster.internal/ubuntu resolute-proposed/universe amd64 Packages [1584 kB] 77s Get:14 http://ftpmaster.internal/ubuntu resolute-proposed/universe amd64 c-n-f Metadata [33.3 kB] 77s Get:15 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse amd64 Packages [25.2 kB] 77s Get:16 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse i386 Packages [4320 B] 77s Get:17 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse amd64 c-n-f Metadata [996 B] 77s Fetched 4710 kB in 1s (4157 kB/s) 78s Reading package lists... 78s Hit:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease 78s Hit:2 http://ftpmaster.internal/ubuntu resolute InRelease 78s Hit:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease 78s Hit:4 http://ftpmaster.internal/ubuntu resolute-security InRelease 79s Reading package lists... 79s Reading package lists... 79s Building dependency tree... 79s Reading state information... 79s Calculating upgrade... 79s The following package was automatically installed and is no longer required: 79s libpython3.13 79s Use 'sudo apt autoremove' to remove it. 79s The following NEW packages will be installed: 79s gcc-16-base libpython3.14 libpython3.14-minimal libpython3.14-stdlib 79s linux-headers-6.19.0-3 linux-headers-6.19.0-3-generic 79s linux-image-6.19.0-3-generic linux-modules-6.19.0-3-generic 79s linux-tools-6.19.0-3 linux-tools-6.19.0-3-generic 79s The following packages will be upgraded: 79s 3cpio amd64-microcode apt bpftool busybox-initramfs busybox-static 79s cryptsetup-bin dash dbus dbus-bin dbus-daemon dbus-session-bus-common 79s dbus-system-bus-common dbus-user-session debianutils dmsetup dracut-install 79s ethtool findutils gir1.2-girepository-3.0 gir1.2-glib-2.0 hwdata iproute2 79s iptables less libapt-pkg7.0 libatomic1 libattr1 libbpf1 libbsd0 79s libcryptsetup12 libdbus-1-3 libdevmapper1.02.1 libdrm-amdgpu1 libdrm-common 79s libdrm2 libevent-core-2.1-7t64 libgcc-s1 libgdbm-compat4t64 libgdbm6t64 79s libgirepository-2.0-0 libglib2.0-0t64 libglib2.0-data libgpm2 libgudev-1.0-0 79s libidn2-0 libip4tc2 libip6tc2 libjansson4 libkeyutils1 liblsof0 79s libmaxminddb0 libnetfilter-conntrack3 libnpth0t64 libonig5 libpcap0.8t64 79s libpci3 libsensors-config libsensors5 libstdc++6 libusb-1.0-0 libwrap0 79s libxau6 libxkbcommon0 libxtables12 linux-generic linux-headers-generic 79s linux-headers-virtual linux-image-generic linux-image-virtual linux-perf 79s linux-tools-common linux-virtual lsof man-db mawk patch pciutils pnp.ids 79s pollinate python3-linkify-it python3-markdown-it python3-referencing sed 79s shared-mime-info tar tcpdump ubuntu-kernel-accessories ubuntu-standard wget 80s 90 upgraded, 10 newly installed, 0 to remove and 0 not upgraded. 80s Need to get 237 MB of archives. 80s After this operation, 339 MB of additional disk space will be used. 80s Get:1 http://ftpmaster.internal/ubuntu resolute/main amd64 debianutils amd64 5.23.2build1 [93.3 kB] 80s Get:2 http://ftpmaster.internal/ubuntu resolute/main amd64 dash amd64 0.5.12-12ubuntu3 [96.0 kB] 80s Get:3 http://ftpmaster.internal/ubuntu resolute/main amd64 findutils amd64 4.10.0-3build2 [307 kB] 80s Get:4 http://ftpmaster.internal/ubuntu resolute/main amd64 sed amd64 4.9-2build3 [195 kB] 80s Get:5 http://ftpmaster.internal/ubuntu resolute/main amd64 tar amd64 1.35+dfsg-3.1build2 [257 kB] 80s Get:6 http://ftpmaster.internal/ubuntu resolute/main amd64 libattr1 amd64 1:2.5.2-3build2 [11.4 kB] 80s Get:7 http://ftpmaster.internal/ubuntu resolute/main amd64 gcc-16-base amd64 16-20260208-1ubuntu1 [59.7 kB] 80s Get:8 http://ftpmaster.internal/ubuntu resolute/main amd64 libgcc-s1 amd64 16-20260208-1ubuntu1 [80.3 kB] 80s Get:9 http://ftpmaster.internal/ubuntu resolute/main amd64 libbsd0 amd64 0.12.2-2build2 [42.3 kB] 80s Get:10 http://ftpmaster.internal/ubuntu resolute/main amd64 mawk amd64 1.3.4.20260129-1 [133 kB] 80s Get:11 http://ftpmaster.internal/ubuntu resolute/main amd64 libstdc++6 amd64 16-20260208-1ubuntu1 [844 kB] 80s Get:12 http://ftpmaster.internal/ubuntu resolute/main amd64 libapt-pkg7.0 amd64 3.1.15 [1151 kB] 80s Get:13 http://ftpmaster.internal/ubuntu resolute/main amd64 apt amd64 3.1.15 [1479 kB] 80s Get:14 http://ftpmaster.internal/ubuntu resolute/main amd64 dbus-system-bus-common all 1.16.2-2ubuntu3 [55.8 kB] 80s Get:15 http://ftpmaster.internal/ubuntu resolute/main amd64 dbus-session-bus-common all 1.16.2-2ubuntu3 [54.4 kB] 80s Get:16 http://ftpmaster.internal/ubuntu resolute/main amd64 dbus-user-session amd64 1.16.2-2ubuntu3 [9696 B] 80s Get:17 http://ftpmaster.internal/ubuntu resolute/main amd64 dbus-daemon amd64 1.16.2-2ubuntu3 [119 kB] 80s Get:18 http://ftpmaster.internal/ubuntu resolute/main amd64 dbus-bin amd64 1.16.2-2ubuntu3 [40.1 kB] 80s Get:19 http://ftpmaster.internal/ubuntu resolute/main amd64 dbus amd64 1.16.2-2ubuntu3 [24.2 kB] 80s Get:20 http://ftpmaster.internal/ubuntu resolute/main amd64 libdbus-1-3 amd64 1.16.2-2ubuntu3 [185 kB] 80s Get:21 http://ftpmaster.internal/ubuntu resolute/main amd64 libdevmapper1.02.1 amd64 2:1.02.205-2ubuntu3 [142 kB] 80s Get:22 http://ftpmaster.internal/ubuntu resolute/main amd64 dmsetup amd64 2:1.02.205-2ubuntu3 [79.4 kB] 80s Get:23 http://ftpmaster.internal/ubuntu resolute/main amd64 ethtool amd64 1:6.15-3build1 [318 kB] 80s Get:24 http://ftpmaster.internal/ubuntu resolute/main amd64 gir1.2-girepository-3.0 amd64 2.87.2-2 [25.2 kB] 80s Get:25 http://ftpmaster.internal/ubuntu resolute/main amd64 libgirepository-2.0-0 amd64 2.87.2-2 [76.1 kB] 80s Get:26 http://ftpmaster.internal/ubuntu resolute/main amd64 libatomic1 amd64 16-20260208-1ubuntu1 [11.4 kB] 80s Get:27 http://ftpmaster.internal/ubuntu resolute/main amd64 gir1.2-glib-2.0 amd64 2.87.2-2 [182 kB] 80s Get:28 http://ftpmaster.internal/ubuntu resolute/main amd64 libglib2.0-0t64 amd64 2.87.2-2 [1613 kB] 80s Get:29 http://ftpmaster.internal/ubuntu resolute/main amd64 libbpf1 amd64 1:1.6.2-1build1 [184 kB] 80s Get:30 http://ftpmaster.internal/ubuntu resolute/main amd64 iptables amd64 1.8.11-2ubuntu3 [381 kB] 80s Get:31 http://ftpmaster.internal/ubuntu resolute/main amd64 libip4tc2 amd64 1.8.11-2ubuntu3 [24.2 kB] 80s Get:32 http://ftpmaster.internal/ubuntu resolute/main amd64 libip6tc2 amd64 1.8.11-2ubuntu3 [24.4 kB] 80s Get:33 http://ftpmaster.internal/ubuntu resolute/main amd64 libnetfilter-conntrack3 amd64 1.1.1-1 [47.5 kB] 80s Get:34 http://ftpmaster.internal/ubuntu resolute/main amd64 libxtables12 amd64 1.8.11-2ubuntu3 [36.6 kB] 80s Get:35 http://ftpmaster.internal/ubuntu resolute/main amd64 iproute2 amd64 6.18.0-1ubuntu1 [1178 kB] 81s Get:36 http://ftpmaster.internal/ubuntu resolute/main amd64 less amd64 668-1build1 [172 kB] 81s Get:37 http://ftpmaster.internal/ubuntu resolute/main amd64 libcryptsetup12 amd64 2:2.8.0-1ubuntu3 [283 kB] 81s Get:38 http://ftpmaster.internal/ubuntu resolute/main amd64 libglib2.0-data all 2.87.2-2 [58.2 kB] 81s Get:39 http://ftpmaster.internal/ubuntu resolute/main amd64 libidn2-0 amd64 2.3.8-4build1 [67.6 kB] 81s Get:40 http://ftpmaster.internal/ubuntu resolute/main amd64 libkeyutils1 amd64 1.6.3-6ubuntu3 [10.6 kB] 81s Get:41 http://ftpmaster.internal/ubuntu resolute/main amd64 python3-linkify-it all 2.0.3-1ubuntu3 [19.4 kB] 81s Get:42 http://ftpmaster.internal/ubuntu resolute/main amd64 python3-markdown-it all 3.0.0-3build1 [54.4 kB] 81s Get:43 http://ftpmaster.internal/ubuntu resolute/main amd64 shared-mime-info amd64 2.4-5build3 [476 kB] 81s Get:44 http://ftpmaster.internal/ubuntu resolute/main amd64 busybox-static amd64 1:1.37.0-7ubuntu1 [1034 kB] 81s Get:45 http://ftpmaster.internal/ubuntu resolute/main amd64 libdrm-common all 2.4.131-1 [9774 B] 81s Get:46 http://ftpmaster.internal/ubuntu resolute/main amd64 libdrm2 amd64 2.4.131-1 [42.3 kB] 81s Get:47 http://ftpmaster.internal/ubuntu resolute/main amd64 libgdbm6t64 amd64 1.26-1build1 [36.5 kB] 81s Get:48 http://ftpmaster.internal/ubuntu resolute/main amd64 libgpm2 amd64 1.20.7-12build1 [14.4 kB] 81s Get:49 http://ftpmaster.internal/ubuntu resolute/main amd64 libjansson4 amd64 2.14-2build4 [33.2 kB] 81s Get:50 http://ftpmaster.internal/ubuntu resolute/main amd64 lsof amd64 4.99.4+dfsg-2build2 [239 kB] 81s Get:51 http://ftpmaster.internal/ubuntu resolute/main amd64 liblsof0 amd64 4.99.4+dfsg-2build2 [56.5 kB] 81s Get:52 http://ftpmaster.internal/ubuntu resolute/main amd64 libmaxminddb0 amd64 1.12.2-1build2 [18.9 kB] 81s Get:53 http://ftpmaster.internal/ubuntu resolute/main amd64 libpcap0.8t64 amd64 1.10.5-2ubuntu3 [154 kB] 81s Get:54 http://ftpmaster.internal/ubuntu resolute/main amd64 pciutils amd64 1:3.14.0-1build2 [95.5 kB] 81s Get:55 http://ftpmaster.internal/ubuntu resolute/main amd64 libpci3 amd64 1:3.14.0-1build2 [38.1 kB] 81s Get:56 http://ftpmaster.internal/ubuntu resolute/main amd64 libsensors-config all 1:3.6.2-2build1 [6862 B] 81s Get:57 http://ftpmaster.internal/ubuntu resolute/main amd64 libsensors5 amd64 1:3.6.2-2build1 [28.9 kB] 81s Get:58 http://ftpmaster.internal/ubuntu resolute/main amd64 libusb-1.0-0 amd64 2:1.0.29-2build1 [56.9 kB] 81s Get:59 http://ftpmaster.internal/ubuntu resolute/main amd64 libxau6 amd64 1:1.0.11-1build2 [7502 B] 81s Get:60 http://ftpmaster.internal/ubuntu resolute/main amd64 libxkbcommon0 amd64 1.13.1-1 [159 kB] 81s Get:61 http://ftpmaster.internal/ubuntu resolute/main amd64 man-db amd64 2.13.1-1build1 [1392 kB] 81s Get:62 http://ftpmaster.internal/ubuntu resolute/main amd64 tcpdump amd64 4.99.5-2ubuntu3 [477 kB] 81s Get:63 http://ftpmaster.internal/ubuntu resolute/main amd64 wget amd64 1.25.0-2ubuntu4 [353 kB] 81s Get:64 http://ftpmaster.internal/ubuntu resolute/main amd64 ubuntu-standard amd64 1.564 [13.3 kB] 81s Get:65 http://ftpmaster.internal/ubuntu resolute/main amd64 3cpio amd64 0.14.0-1ubuntu1 [285 kB] 81s Get:66 http://ftpmaster.internal/ubuntu resolute/main amd64 bpftool amd64 7.7.0+6.19.0-3.3 [1229 kB] 81s Get:67 http://ftpmaster.internal/ubuntu resolute/main amd64 busybox-initramfs amd64 1:1.37.0-7ubuntu1 [191 kB] 81s Get:68 http://ftpmaster.internal/ubuntu resolute/main amd64 cryptsetup-bin amd64 2:2.8.0-1ubuntu3 [228 kB] 81s Get:69 http://ftpmaster.internal/ubuntu resolute/main amd64 dracut-install amd64 109-11ubuntu1 [45.8 kB] 81s Get:70 http://ftpmaster.internal/ubuntu resolute/main amd64 hwdata all 0.394-1build1 [1566 B] 81s Get:71 http://ftpmaster.internal/ubuntu resolute/main amd64 pnp.ids all 0.394-1build1 [29.6 kB] 81s Get:72 http://ftpmaster.internal/ubuntu resolute/main amd64 libdrm-amdgpu1 amd64 2.4.131-1 [23.2 kB] 81s Get:73 http://ftpmaster.internal/ubuntu resolute/main amd64 libevent-core-2.1-7t64 amd64 2.1.12-stable-10build2 [93.1 kB] 81s Get:74 http://ftpmaster.internal/ubuntu resolute/main amd64 libgdbm-compat4t64 amd64 1.26-1build1 [6796 B] 81s Get:75 http://ftpmaster.internal/ubuntu resolute/main amd64 libgudev-1.0-0 amd64 1:238-7build1 [15.9 kB] 81s Get:76 http://ftpmaster.internal/ubuntu resolute/main amd64 libnpth0t64 amd64 1.8-3build1 [9302 B] 81s Get:77 http://ftpmaster.internal/ubuntu resolute/main amd64 libonig5 amd64 6.9.10-1build1 [174 kB] 81s Get:78 http://ftpmaster.internal/ubuntu resolute/main amd64 libpython3.14-minimal amd64 3.14.2-1 [920 kB] 81s Get:79 http://ftpmaster.internal/ubuntu resolute/main amd64 libpython3.14-stdlib amd64 3.14.2-1 [2398 kB] 81s Get:80 http://ftpmaster.internal/ubuntu resolute/main amd64 libpython3.14 amd64 3.14.2-1 [2568 kB] 81s Get:81 http://ftpmaster.internal/ubuntu resolute/main amd64 libwrap0 amd64 7.6.q-36build2 [48.5 kB] 81s Get:82 http://ftpmaster.internal/ubuntu resolute/main amd64 linux-modules-6.19.0-3-generic amd64 6.19.0-3.3 [171 MB] 84s Get:83 http://ftpmaster.internal/ubuntu resolute/main amd64 linux-image-6.19.0-3-generic amd64 6.19.0-3.3+1 [16.8 MB] 85s Get:84 http://ftpmaster.internal/ubuntu resolute/main amd64 amd64-microcode amd64 3.20251202.1ubuntu1 [459 kB] 85s Get:85 http://ftpmaster.internal/ubuntu resolute/main amd64 linux-generic amd64 6.19.0-3.3 [1698 B] 85s Get:86 http://ftpmaster.internal/ubuntu resolute/main amd64 linux-image-generic amd64 6.19.0-3.3 [12.2 kB] 85s Get:87 http://ftpmaster.internal/ubuntu resolute/main amd64 linux-virtual amd64 6.19.0-3.3 [1700 B] 85s Get:88 http://ftpmaster.internal/ubuntu resolute/main amd64 linux-image-virtual amd64 6.19.0-3.3 [12.1 kB] 85s Get:89 http://ftpmaster.internal/ubuntu resolute/main amd64 linux-headers-virtual amd64 6.19.0-3.3 [1646 B] 85s Get:90 http://ftpmaster.internal/ubuntu resolute/main amd64 linux-headers-6.19.0-3 all 6.19.0-3.3 [14.9 MB] 85s Get:91 http://ftpmaster.internal/ubuntu resolute/main amd64 linux-headers-6.19.0-3-generic amd64 6.19.0-3.3 [4330 kB] 85s Get:92 http://ftpmaster.internal/ubuntu resolute/main amd64 linux-headers-generic amd64 6.19.0-3.3 [12.0 kB] 85s Get:93 http://ftpmaster.internal/ubuntu resolute/main amd64 linux-perf amd64 6.19.0-3.3 [4480 kB] 85s Get:94 http://ftpmaster.internal/ubuntu resolute/main amd64 linux-tools-common all 6.19.0-3.3 [345 kB] 85s Get:95 http://ftpmaster.internal/ubuntu resolute/main amd64 linux-tools-6.19.0-3 amd64 6.19.0-3.3 [1455 kB] 85s Get:96 http://ftpmaster.internal/ubuntu resolute/main amd64 linux-tools-6.19.0-3-generic amd64 6.19.0-3.3 [1612 B] 85s Get:97 http://ftpmaster.internal/ubuntu resolute/main amd64 patch amd64 2.8-2build1 [95.7 kB] 85s Get:98 http://ftpmaster.internal/ubuntu resolute/main amd64 pollinate all 4.33-4ubuntu5 [14.0 kB] 85s Get:99 http://ftpmaster.internal/ubuntu resolute/main amd64 python3-referencing all 0.36.2-1ubuntu2 [22.2 kB] 85s Get:100 http://ftpmaster.internal/ubuntu resolute/main amd64 ubuntu-kernel-accessories amd64 1.564 [13.1 kB] 86s dpkg-preconfigure: unable to re-open stdin: No such file or directory 86s Fetched 237 MB in 6s (40.6 MB/s) 86s (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 ... 83957 files and directories currently installed.) 86s Preparing to unpack .../debianutils_5.23.2build1_amd64.deb ... 86s Unpacking debianutils (5.23.2build1) over (5.23.2) ... 86s Setting up debianutils (5.23.2build1) ... 86s (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 ... 83957 files and directories currently installed.) 86s Preparing to unpack .../dash_0.5.12-12ubuntu3_amd64.deb ... 86s Unpacking dash (0.5.12-12ubuntu3) over (0.5.12-12ubuntu2) ... 86s Setting up dash (0.5.12-12ubuntu3) ... 86s (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 ... 83957 files and directories currently installed.) 86s Preparing to unpack .../findutils_4.10.0-3build2_amd64.deb ... 86s Unpacking findutils (4.10.0-3build2) over (4.10.0-3build1) ... 86s Setting up findutils (4.10.0-3build2) ... 86s (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 ... 83957 files and directories currently installed.) 86s Preparing to unpack .../sed_4.9-2build3_amd64.deb ... 86s Unpacking sed (4.9-2build3) over (4.9-2build2) ... 86s Setting up sed (4.9-2build3) ... 86s (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 ... 83957 files and directories currently installed.) 86s Preparing to unpack .../tar_1.35+dfsg-3.1build2_amd64.deb ... 86s Unpacking tar (1.35+dfsg-3.1build2) over (1.35+dfsg-3.1build1) ... 86s Setting up tar (1.35+dfsg-3.1build2) ... 86s (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 ... 83957 files and directories currently installed.) 86s Preparing to unpack .../libattr1_1%3a2.5.2-3build2_amd64.deb ... 86s Unpacking libattr1:amd64 (1:2.5.2-3build2) over (1:2.5.2-3build1) ... 86s Setting up libattr1:amd64 (1:2.5.2-3build2) ... 86s Selecting previously unselected package gcc-16-base:amd64. 86s (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 ... 83957 files and directories currently installed.) 86s Preparing to unpack .../gcc-16-base_16-20260208-1ubuntu1_amd64.deb ... 86s Unpacking gcc-16-base:amd64 (16-20260208-1ubuntu1) ... 86s Setting up gcc-16-base:amd64 (16-20260208-1ubuntu1) ... 86s (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 ... 83962 files and directories currently installed.) 86s Preparing to unpack .../libgcc-s1_16-20260208-1ubuntu1_amd64.deb ... 86s Unpacking libgcc-s1:amd64 (16-20260208-1ubuntu1) over (15.2.0-12ubuntu1) ... 86s Setting up libgcc-s1:amd64 (16-20260208-1ubuntu1) ... 86s (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 ... 83962 files and directories currently installed.) 86s Preparing to unpack .../00-libbsd0_0.12.2-2build2_amd64.deb ... 86s Unpacking libbsd0:amd64 (0.12.2-2build2) over (0.12.2-2build1) ... 86s Preparing to unpack .../01-mawk_1.3.4.20260129-1_amd64.deb ... 86s Unpacking mawk (1.3.4.20260129-1) over (1.3.4.20250131-2) ... 86s Preparing to unpack .../02-libstdc++6_16-20260208-1ubuntu1_amd64.deb ... 87s Unpacking libstdc++6:amd64 (16-20260208-1ubuntu1) over (15.2.0-12ubuntu1) ... 87s Preparing to unpack .../03-libapt-pkg7.0_3.1.15_amd64.deb ... 87s Unpacking libapt-pkg7.0:amd64 (3.1.15) over (3.1.14) ... 87s Preparing to unpack .../04-apt_3.1.15_amd64.deb ... 87s Unpacking apt (3.1.15) over (3.1.14) ... 87s Preparing to unpack .../05-dbus-system-bus-common_1.16.2-2ubuntu3_all.deb ... 87s Unpacking dbus-system-bus-common (1.16.2-2ubuntu3) over (1.16.2-2ubuntu2) ... 87s Preparing to unpack .../06-dbus-session-bus-common_1.16.2-2ubuntu3_all.deb ... 87s Unpacking dbus-session-bus-common (1.16.2-2ubuntu3) over (1.16.2-2ubuntu2) ... 87s Preparing to unpack .../07-dbus-user-session_1.16.2-2ubuntu3_amd64.deb ... 87s Unpacking dbus-user-session (1.16.2-2ubuntu3) over (1.16.2-2ubuntu2) ... 87s Preparing to unpack .../08-dbus-daemon_1.16.2-2ubuntu3_amd64.deb ... 87s Unpacking dbus-daemon (1.16.2-2ubuntu3) over (1.16.2-2ubuntu2) ... 87s Preparing to unpack .../09-dbus-bin_1.16.2-2ubuntu3_amd64.deb ... 87s Unpacking dbus-bin (1.16.2-2ubuntu3) over (1.16.2-2ubuntu2) ... 87s Preparing to unpack .../10-dbus_1.16.2-2ubuntu3_amd64.deb ... 87s Unpacking dbus (1.16.2-2ubuntu3) over (1.16.2-2ubuntu2) ... 87s Preparing to unpack .../11-libdbus-1-3_1.16.2-2ubuntu3_amd64.deb ... 87s Unpacking libdbus-1-3:amd64 (1.16.2-2ubuntu3) over (1.16.2-2ubuntu2) ... 87s Preparing to unpack .../12-libdevmapper1.02.1_2%3a1.02.205-2ubuntu3_amd64.deb ... 87s Unpacking libdevmapper1.02.1:amd64 (2:1.02.205-2ubuntu3) over (2:1.02.205-2ubuntu2) ... 87s Preparing to unpack .../13-dmsetup_2%3a1.02.205-2ubuntu3_amd64.deb ... 87s Unpacking dmsetup (2:1.02.205-2ubuntu3) over (2:1.02.205-2ubuntu2) ... 87s Preparing to unpack .../14-ethtool_1%3a6.15-3build1_amd64.deb ... 87s Unpacking ethtool (1:6.15-3build1) over (1:6.15-3) ... 87s Preparing to unpack .../15-gir1.2-girepository-3.0_2.87.2-2_amd64.deb ... 87s Unpacking gir1.2-girepository-3.0:amd64 (2.87.2-2) over (2.86.3-4) ... 87s Preparing to unpack .../16-libgirepository-2.0-0_2.87.2-2_amd64.deb ... 87s Unpacking libgirepository-2.0-0:amd64 (2.87.2-2) over (2.86.3-4) ... 87s Preparing to unpack .../17-libatomic1_16-20260208-1ubuntu1_amd64.deb ... 87s Unpacking libatomic1:amd64 (16-20260208-1ubuntu1) over (15.2.0-12ubuntu1) ... 87s Preparing to unpack .../18-gir1.2-glib-2.0_2.87.2-2_amd64.deb ... 87s Unpacking gir1.2-glib-2.0:amd64 (2.87.2-2) over (2.86.3-4) ... 87s Preparing to unpack .../19-libglib2.0-0t64_2.87.2-2_amd64.deb ... 87s Unpacking libglib2.0-0t64:amd64 (2.87.2-2) over (2.86.3-4) ... 87s Preparing to unpack .../20-libbpf1_1%3a1.6.2-1build1_amd64.deb ... 87s Unpacking libbpf1:amd64 (1:1.6.2-1build1) over (1:1.6.2-1) ... 87s Preparing to unpack .../21-iptables_1.8.11-2ubuntu3_amd64.deb ... 87s Unpacking iptables (1.8.11-2ubuntu3) over (1.8.11-2ubuntu2) ... 87s Preparing to unpack .../22-libip4tc2_1.8.11-2ubuntu3_amd64.deb ... 87s Unpacking libip4tc2:amd64 (1.8.11-2ubuntu3) over (1.8.11-2ubuntu2) ... 87s Preparing to unpack .../23-libip6tc2_1.8.11-2ubuntu3_amd64.deb ... 87s Unpacking libip6tc2:amd64 (1.8.11-2ubuntu3) over (1.8.11-2ubuntu2) ... 87s Preparing to unpack .../24-libnetfilter-conntrack3_1.1.1-1_amd64.deb ... 87s Unpacking libnetfilter-conntrack3:amd64 (1.1.1-1) over (1.1.0-1build1) ... 87s Preparing to unpack .../25-libxtables12_1.8.11-2ubuntu3_amd64.deb ... 87s Unpacking libxtables12:amd64 (1.8.11-2ubuntu3) over (1.8.11-2ubuntu2) ... 87s Preparing to unpack .../26-iproute2_6.18.0-1ubuntu1_amd64.deb ... 87s Unpacking iproute2 (6.18.0-1ubuntu1) over (6.16.0-1ubuntu3) ... 88s Preparing to unpack .../27-less_668-1build1_amd64.deb ... 88s Unpacking less (668-1build1) over (668-1) ... 88s Preparing to unpack .../28-libcryptsetup12_2%3a2.8.0-1ubuntu3_amd64.deb ... 88s Unpacking libcryptsetup12:amd64 (2:2.8.0-1ubuntu3) over (2:2.8.0-1ubuntu2) ... 88s Preparing to unpack .../29-libglib2.0-data_2.87.2-2_all.deb ... 88s Unpacking libglib2.0-data (2.87.2-2) over (2.86.3-4) ... 88s Preparing to unpack .../30-libidn2-0_2.3.8-4build1_amd64.deb ... 88s Unpacking libidn2-0:amd64 (2.3.8-4build1) over (2.3.8-4) ... 88s Preparing to unpack .../31-libkeyutils1_1.6.3-6ubuntu3_amd64.deb ... 88s Unpacking libkeyutils1:amd64 (1.6.3-6ubuntu3) over (1.6.3-6ubuntu2) ... 88s Preparing to unpack .../32-python3-linkify-it_2.0.3-1ubuntu3_all.deb ... 88s Unpacking python3-linkify-it (2.0.3-1ubuntu3) over (2.0.3-1ubuntu2) ... 88s Preparing to unpack .../33-python3-markdown-it_3.0.0-3build1_all.deb ... 88s Unpacking python3-markdown-it (3.0.0-3build1) over (3.0.0-3) ... 88s Preparing to unpack .../34-shared-mime-info_2.4-5build3_amd64.deb ... 88s Unpacking shared-mime-info (2.4-5build3) over (2.4-5build2) ... 88s Preparing to unpack .../35-busybox-static_1%3a1.37.0-7ubuntu1_amd64.deb ... 88s Unpacking busybox-static (1:1.37.0-7ubuntu1) over (1:1.37.0-4ubuntu1) ... 88s Preparing to unpack .../36-libdrm-common_2.4.131-1_all.deb ... 88s Unpacking libdrm-common (2.4.131-1) over (2.4.129-1) ... 88s Preparing to unpack .../37-libdrm2_2.4.131-1_amd64.deb ... 88s Unpacking libdrm2:amd64 (2.4.131-1) over (2.4.129-1) ... 88s Preparing to unpack .../38-libgdbm6t64_1.26-1build1_amd64.deb ... 88s Unpacking libgdbm6t64:amd64 (1.26-1build1) over (1.26-1) ... 88s Preparing to unpack .../39-libgpm2_1.20.7-12build1_amd64.deb ... 88s Unpacking libgpm2:amd64 (1.20.7-12build1) over (1.20.7-12) ... 88s Preparing to unpack .../40-libjansson4_2.14-2build4_amd64.deb ... 88s Unpacking libjansson4:amd64 (2.14-2build4) over (2.14-2build3) ... 88s Preparing to unpack .../41-lsof_4.99.4+dfsg-2build2_amd64.deb ... 88s Unpacking lsof (4.99.4+dfsg-2build2) over (4.99.4+dfsg-2build1) ... 88s Preparing to unpack .../42-liblsof0_4.99.4+dfsg-2build2_amd64.deb ... 88s Unpacking liblsof0 (4.99.4+dfsg-2build2) over (4.99.4+dfsg-2build1) ... 88s Preparing to unpack .../43-libmaxminddb0_1.12.2-1build2_amd64.deb ... 88s Unpacking libmaxminddb0:amd64 (1.12.2-1build2) over (1.12.2-1build1) ... 88s Preparing to unpack .../44-libpcap0.8t64_1.10.5-2ubuntu3_amd64.deb ... 88s Unpacking libpcap0.8t64:amd64 (1.10.5-2ubuntu3) over (1.10.5-2ubuntu2) ... 88s Preparing to unpack .../45-pciutils_1%3a3.14.0-1build2_amd64.deb ... 88s Unpacking pciutils (1:3.14.0-1build2) over (1:3.14.0-1build1) ... 88s Preparing to unpack .../46-libpci3_1%3a3.14.0-1build2_amd64.deb ... 88s Unpacking libpci3:amd64 (1:3.14.0-1build2) over (1:3.14.0-1build1) ... 88s Preparing to unpack .../47-libsensors-config_1%3a3.6.2-2build1_all.deb ... 88s Unpacking libsensors-config (1:3.6.2-2build1) over (1:3.6.2-2) ... 88s Preparing to unpack .../48-libsensors5_1%3a3.6.2-2build1_amd64.deb ... 88s Unpacking libsensors5:amd64 (1:3.6.2-2build1) over (1:3.6.2-2) ... 88s Preparing to unpack .../49-libusb-1.0-0_2%3a1.0.29-2build1_amd64.deb ... 88s Unpacking libusb-1.0-0:amd64 (2:1.0.29-2build1) over (2:1.0.29-2) ... 88s Preparing to unpack .../50-libxau6_1%3a1.0.11-1build2_amd64.deb ... 88s Unpacking libxau6:amd64 (1:1.0.11-1build2) over (1:1.0.11-1build1) ... 88s Preparing to unpack .../51-libxkbcommon0_1.13.1-1_amd64.deb ... 88s Unpacking libxkbcommon0:amd64 (1.13.1-1) over (1.12.3-1) ... 89s Preparing to unpack .../52-man-db_2.13.1-1build1_amd64.deb ... 89s Unpacking man-db (2.13.1-1build1) over (2.13.1-1) ... 89s Preparing to unpack .../53-tcpdump_4.99.5-2ubuntu3_amd64.deb ... 89s Unpacking tcpdump (4.99.5-2ubuntu3) over (4.99.5-2ubuntu2) ... 89s Preparing to unpack .../54-wget_1.25.0-2ubuntu4_amd64.deb ... 89s Unpacking wget (1.25.0-2ubuntu4) over (1.25.0-2ubuntu3) ... 89s Preparing to unpack .../55-ubuntu-standard_1.564_amd64.deb ... 89s Unpacking ubuntu-standard (1.564) over (1.563) ... 89s Preparing to unpack .../56-3cpio_0.14.0-1ubuntu1_amd64.deb ... 89s Unpacking 3cpio (0.14.0-1ubuntu1) over (0.13.1-1ubuntu1) ... 89s Preparing to unpack .../57-bpftool_7.7.0+6.19.0-3.3_amd64.deb ... 89s Unpacking bpftool (7.7.0+6.19.0-3.3) over (7.7.0+6.18.0-9.9) ... 89s Preparing to unpack .../58-busybox-initramfs_1%3a1.37.0-7ubuntu1_amd64.deb ... 89s Unpacking busybox-initramfs (1:1.37.0-7ubuntu1) over (1:1.37.0-4ubuntu1) ... 89s Preparing to unpack .../59-cryptsetup-bin_2%3a2.8.0-1ubuntu3_amd64.deb ... 89s Unpacking cryptsetup-bin (2:2.8.0-1ubuntu3) over (2:2.8.0-1ubuntu2) ... 89s Preparing to unpack .../60-dracut-install_109-11ubuntu1_amd64.deb ... 89s Unpacking dracut-install (109-11ubuntu1) over (109-9ubuntu1) ... 89s Preparing to unpack .../61-hwdata_0.394-1build1_all.deb ... 89s Unpacking hwdata (0.394-1build1) over (0.394-1) ... 89s Preparing to unpack .../62-pnp.ids_0.394-1build1_all.deb ... 89s Unpacking pnp.ids (0.394-1build1) over (0.394-1) ... 89s Preparing to unpack .../63-libdrm-amdgpu1_2.4.131-1_amd64.deb ... 89s Unpacking libdrm-amdgpu1:amd64 (2.4.131-1) over (2.4.129-1) ... 89s Preparing to unpack .../64-libevent-core-2.1-7t64_2.1.12-stable-10build2_amd64.deb ... 89s Unpacking libevent-core-2.1-7t64:amd64 (2.1.12-stable-10build2) over (2.1.12-stable-10build1) ... 89s Preparing to unpack .../65-libgdbm-compat4t64_1.26-1build1_amd64.deb ... 89s Unpacking libgdbm-compat4t64:amd64 (1.26-1build1) over (1.26-1) ... 89s Preparing to unpack .../66-libgudev-1.0-0_1%3a238-7build1_amd64.deb ... 89s Unpacking libgudev-1.0-0:amd64 (1:238-7build1) over (1:238-7) ... 89s Preparing to unpack .../67-libnpth0t64_1.8-3build1_amd64.deb ... 89s Unpacking libnpth0t64:amd64 (1.8-3build1) over (1.8-3) ... 89s Preparing to unpack .../68-libonig5_6.9.10-1build1_amd64.deb ... 89s Unpacking libonig5:amd64 (6.9.10-1build1) over (6.9.10-1) ... 89s Selecting previously unselected package libpython3.14-minimal:amd64. 89s Preparing to unpack .../69-libpython3.14-minimal_3.14.2-1_amd64.deb ... 89s Unpacking libpython3.14-minimal:amd64 (3.14.2-1) ... 89s Selecting previously unselected package libpython3.14-stdlib:amd64. 89s Preparing to unpack .../70-libpython3.14-stdlib_3.14.2-1_amd64.deb ... 89s Unpacking libpython3.14-stdlib:amd64 (3.14.2-1) ... 89s Selecting previously unselected package libpython3.14:amd64. 89s Preparing to unpack .../71-libpython3.14_3.14.2-1_amd64.deb ... 89s Unpacking libpython3.14:amd64 (3.14.2-1) ... 89s Preparing to unpack .../72-libwrap0_7.6.q-36build2_amd64.deb ... 89s Unpacking libwrap0:amd64 (7.6.q-36build2) over (7.6.q-36build1) ... 89s Selecting previously unselected package linux-modules-6.19.0-3-generic. 89s Preparing to unpack .../73-linux-modules-6.19.0-3-generic_6.19.0-3.3_amd64.deb ... 89s Unpacking linux-modules-6.19.0-3-generic (6.19.0-3.3) ... 90s Selecting previously unselected package linux-image-6.19.0-3-generic. 90s Preparing to unpack .../74-linux-image-6.19.0-3-generic_6.19.0-3.3+1_amd64.deb ... 90s Unpacking linux-image-6.19.0-3-generic (6.19.0-3.3+1) ... 90s Preparing to unpack .../75-amd64-microcode_3.20251202.1ubuntu1_amd64.deb ... 90s Unpacking amd64-microcode (3.20251202.1ubuntu1) over (3.20250708.1ubuntu1) ... 90s Preparing to unpack .../76-linux-generic_6.19.0-3.3_amd64.deb ... 90s Unpacking linux-generic (6.19.0-3.3) over (6.18.0-9.9+1) ... 90s Preparing to unpack .../77-linux-image-generic_6.19.0-3.3_amd64.deb ... 90s Unpacking linux-image-generic (6.19.0-3.3) over (6.18.0-9.9+1) ... 90s Preparing to unpack .../78-linux-virtual_6.19.0-3.3_amd64.deb ... 90s Unpacking linux-virtual (6.19.0-3.3) over (6.18.0-9.9+1) ... 90s Preparing to unpack .../79-linux-image-virtual_6.19.0-3.3_amd64.deb ... 90s Unpacking linux-image-virtual (6.19.0-3.3) over (6.18.0-9.9+1) ... 90s Preparing to unpack .../80-linux-headers-virtual_6.19.0-3.3_amd64.deb ... 90s Unpacking linux-headers-virtual (6.19.0-3.3) over (6.18.0-9.9+1) ... 90s Selecting previously unselected package linux-headers-6.19.0-3. 90s Preparing to unpack .../81-linux-headers-6.19.0-3_6.19.0-3.3_all.deb ... 90s Unpacking linux-headers-6.19.0-3 (6.19.0-3.3) ... 92s Selecting previously unselected package linux-headers-6.19.0-3-generic. 92s Preparing to unpack .../82-linux-headers-6.19.0-3-generic_6.19.0-3.3_amd64.deb ... 92s Unpacking linux-headers-6.19.0-3-generic (6.19.0-3.3) ... 92s Preparing to unpack .../83-linux-headers-generic_6.19.0-3.3_amd64.deb ... 92s Unpacking linux-headers-generic (6.19.0-3.3) over (6.18.0-9.9+1) ... 92s Preparing to unpack .../84-linux-perf_6.19.0-3.3_amd64.deb ... 92s Unpacking linux-perf (6.19.0-3.3) over (6.18.0-9.9) ... 92s Preparing to unpack .../85-linux-tools-common_6.19.0-3.3_all.deb ... 92s Unpacking linux-tools-common (6.19.0-3.3) over (6.18.0-9.9) ... 92s Selecting previously unselected package linux-tools-6.19.0-3. 92s Preparing to unpack .../86-linux-tools-6.19.0-3_6.19.0-3.3_amd64.deb ... 92s Unpacking linux-tools-6.19.0-3 (6.19.0-3.3) ... 92s Selecting previously unselected package linux-tools-6.19.0-3-generic. 92s Preparing to unpack .../87-linux-tools-6.19.0-3-generic_6.19.0-3.3_amd64.deb ... 92s Unpacking linux-tools-6.19.0-3-generic (6.19.0-3.3) ... 92s Preparing to unpack .../88-patch_2.8-2build1_amd64.deb ... 92s Unpacking patch (2.8-2build1) over (2.8-2) ... 92s Preparing to unpack .../89-pollinate_4.33-4ubuntu5_all.deb ... 92s Unpacking pollinate (4.33-4ubuntu5) over (4.33-4ubuntu4) ... 92s Preparing to unpack .../90-python3-referencing_0.36.2-1ubuntu2_all.deb ... 92s Unpacking python3-referencing (0.36.2-1ubuntu2) over (0.36.2-1ubuntu1) ... 92s Preparing to unpack .../91-ubuntu-kernel-accessories_1.564_amd64.deb ... 92s Unpacking ubuntu-kernel-accessories (1.564) over (1.563) ... 92s Setting up libip4tc2:amd64 (1.8.11-2ubuntu3) ... 92s Setting up 3cpio (0.14.0-1ubuntu1) ... 92s Setting up libxau6:amd64 (1:1.0.11-1build2) ... 92s Setting up libnpth0t64:amd64 (1.8-3build1) ... 92s Setting up libkeyutils1:amd64 (1.6.3-6ubuntu3) ... 92s Setting up ubuntu-kernel-accessories (1.564) ... 92s Setting up libgpm2:amd64 (1.20.7-12build1) ... 92s Setting up libgdbm6t64:amd64 (1.26-1build1) ... 92s Setting up linux-modules-6.19.0-3-generic (6.19.0-3.3) ... 94s Setting up libgdbm-compat4t64:amd64 (1.26-1build1) ... 94s Setting up bpftool (7.7.0+6.19.0-3.3) ... 94s Setting up libip6tc2:amd64 (1.8.11-2ubuntu3) ... 94s Setting up liblsof0 (4.99.4+dfsg-2build2) ... 94s Setting up libmaxminddb0:amd64 (1.12.2-1build2) ... 94s Setting up libpython3.14-minimal:amd64 (3.14.2-1) ... 94s Setting up libsensors-config (1:3.6.2-2build1) ... 94s Setting up less (668-1build1) ... 94s Setting up linux-headers-6.19.0-3 (6.19.0-3.3) ... 94s Setting up libidn2-0:amd64 (2.3.8-4build1) ... 102s Setting up amd64-microcode (3.20251202.1ubuntu1) ... 102s amd64-microcode: microcode will be updated at next boot 102s Setting up man-db (2.13.1-1build1) ... 102s Updating database of manual pages ... 102s man-db.service is a disabled or a static unit not running, not starting it. 102s Setting up libjansson4:amd64 (2.14-2build4) ... 102s Setting up libglib2.0-data (2.87.2-2) ... 102s Setting up pollinate (4.33-4ubuntu5) ... 105s Setting up busybox-static (1:1.37.0-7ubuntu1) ... 105s Setting up libwrap0:amd64 (7.6.q-36build2) ... 106s Setting up linux-image-6.19.0-3-generic (6.19.0-3.3+1) ... 107s I: /boot/vmlinuz is now a symlink to vmlinuz-6.19.0-3-generic 107s I: /boot/initrd.img is now a symlink to initrd.img-6.19.0-3-generic 107s Setting up libdbus-1-3:amd64 (1.16.2-2ubuntu3) ... 107s Setting up libatomic1:amd64 (16-20260208-1ubuntu1) ... 107s Setting up patch (2.8-2build1) ... 107s Setting up libsensors5:amd64 (1:3.6.2-2build1) ... 107s Setting up busybox-initramfs (1:1.37.0-7ubuntu1) ... 107s Setting up libxtables12:amd64 (1.8.11-2ubuntu3) ... 107s Setting up lsof (4.99.4+dfsg-2build2) ... 107s Setting up libpci3:amd64 (1:3.14.0-1build2) ... 107s Setting up libdevmapper1.02.1:amd64 (2:1.02.205-2ubuntu3) ... 107s Setting up dracut-install (109-11ubuntu1) ... 107s Setting up dmsetup (2:1.02.205-2ubuntu3) ... 107s Setting up libnetfilter-conntrack3:amd64 (1.1.1-1) ... 107s Setting up pnp.ids (0.394-1build1) ... 107s Setting up dbus-session-bus-common (1.16.2-2ubuntu3) ... 107s Setting up python3-linkify-it (2.0.3-1ubuntu3) ... 107s Setting up libpcap0.8t64:amd64 (1.10.5-2ubuntu3) ... 107s Setting up libcryptsetup12:amd64 (2:2.8.0-1ubuntu3) ... 107s Setting up mawk (1.3.4.20260129-1) ... 107s Setting up libevent-core-2.1-7t64:amd64 (2.1.12-stable-10build2) ... 107s Setting up libusb-1.0-0:amd64 (2:1.0.29-2build1) ... 107s Setting up linux-image-virtual (6.19.0-3.3) ... 107s Setting up dbus-system-bus-common (1.16.2-2ubuntu3) ... 107s Setting up libbsd0:amd64 (0.12.2-2build2) ... 107s Setting up libdrm-common (2.4.131-1) ... 107s Setting up libstdc++6:amd64 (16-20260208-1ubuntu1) ... 107s Setting up dbus-bin (1.16.2-2ubuntu3) ... 107s Setting up libonig5:amd64 (6.9.10-1build1) ... 107s Setting up libbpf1:amd64 (1:1.6.2-1build1) ... 107s Setting up ethtool (1:6.15-3build1) ... 107s Setting up python3-referencing (0.36.2-1ubuntu2) ... 107s Setting up libxkbcommon0:amd64 (1.13.1-1) ... 107s Setting up cryptsetup-bin (2:2.8.0-1ubuntu3) ... 107s Setting up linux-headers-6.19.0-3-generic (6.19.0-3.3) ... 107s Setting up tcpdump (4.99.5-2ubuntu3) ... 107s Setting up linux-image-generic (6.19.0-3.3) ... 107s Setting up wget (1.25.0-2ubuntu4) ... 107s Setting up libpython3.14-stdlib:amd64 (3.14.2-1) ... 107s Setting up iptables (1.8.11-2ubuntu3) ... 107s Setting up iproute2 (6.18.0-1ubuntu1) ... 107s Setting up linux-headers-generic (6.19.0-3.3) ... 107s Setting up dbus-daemon (1.16.2-2ubuntu3) ... 107s Setting up hwdata (0.394-1build1) ... 107s Setting up dbus-user-session (1.16.2-2ubuntu3) ... 107s Setting up libglib2.0-0t64:amd64 (2.87.2-2) ... 107s No schema files found: doing nothing. 107s Setting up dbus (1.16.2-2ubuntu3) ... 107s A reboot is required to replace the running dbus-daemon. 107s Please reboot the system when convenient. 107s Setting up shared-mime-info (2.4-5build3) ... 108s Setting up gir1.2-glib-2.0:amd64 (2.87.2-2) ... 108s Setting up pciutils (1:3.14.0-1build2) ... 108s Setting up python3-markdown-it (3.0.0-3build1) ... 108s Setting up libdrm2:amd64 (2.4.131-1) ... 108s Setting up libpython3.14:amd64 (3.14.2-1) ... 108s Setting up libapt-pkg7.0:amd64 (3.1.15) ... 108s Setting up linux-tools-common (6.19.0-3.3) ... 108s Setting up libgudev-1.0-0:amd64 (1:238-7build1) ... 108s Setting up libdrm-amdgpu1:amd64 (2.4.131-1) ... 108s Setting up apt (3.1.15) ... 109s Setting up linux-headers-virtual (6.19.0-3.3) ... 109s Setting up linux-generic (6.19.0-3.3) ... 109s Setting up libgirepository-2.0-0:amd64 (2.87.2-2) ... 109s Setting up linux-tools-6.19.0-3 (6.19.0-3.3) ... 109s Setting up ubuntu-standard (1.564) ... 109s Setting up gir1.2-girepository-3.0:amd64 (2.87.2-2) ... 109s Setting up linux-virtual (6.19.0-3.3) ... 109s Setting up linux-perf (6.19.0-3.3) ... 109s Setting up linux-tools-6.19.0-3-generic (6.19.0-3.3) ... 109s Processing triggers for debianutils (5.23.2build1) ... 109s Processing triggers for install-info (7.2-5) ... 109s Processing triggers for initramfs-tools (0.150ubuntu7) ... 109s update-initramfs: Generating /boot/initrd.img-6.18.0-9-generic 113s Processing triggers for libc-bin (2.42-2ubuntu4) ... 113s Processing triggers for linux-image-6.19.0-3-generic (6.19.0-3.3+1) ... 113s /etc/kernel/postinst.d/initramfs-tools: 113s update-initramfs: Generating /boot/initrd.img-6.19.0-3-generic 117s /etc/kernel/postinst.d/zz-update-grub: 117s Sourcing file `/etc/default/grub' 117s Sourcing file `/etc/default/grub.d/50-cloudimg-settings.cfg' 117s Sourcing file `/etc/default/grub.d/90-autopkgtest.cfg' 117s Generating grub configuration file ... 117s Found linux image: /boot/vmlinuz-6.19.0-3-generic 117s Found initrd image: /boot/initrd.img-6.19.0-3-generic 117s Found linux image: /boot/vmlinuz-6.18.0-9-generic 117s Found initrd image: /boot/initrd.img-6.18.0-9-generic 117s Warning: os-prober will not be executed to detect other bootable partitions. 117s Systems on them will not be added to the GRUB boot configuration. 117s Check GRUB_DISABLE_OS_PROBER documentation entry. 117s Adding boot menu entry for UEFI Firmware Settings ... 117s done 117s autopkgtest [01:22:31]: upgrading testbed (apt dist-upgrade and autopurge) 118s Reading package lists... 118s Building dependency tree... 118s Reading state information... 118s Calculating upgrade... 118s The following package was automatically installed and is no longer required: 118s libpython3.13 118s Use 'sudo apt autoremove' to remove it. 118s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 118s Reading package lists... 119s Building dependency tree... 119s Reading state information... 119s Solving dependencies... 119s The following packages will be REMOVED: 119s libpython3.13* 119s 0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded. 119s After this operation, 7599 kB disk space will be freed. 119s (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 ... 125273 files and directories currently installed.) 119s Removing libpython3.13:amd64 (3.13.11-1) ... 119s Processing triggers for libc-bin (2.42-2ubuntu4) ... 119s autopkgtest [01:22:33]: rebooting testbed after setup commands that affected boot 147s autopkgtest [01:23:01]: testbed running kernel: Linux 6.19.0-3-generic #3-Ubuntu SMP PREEMPT_DYNAMIC Fri Jan 23 20:01:24 UTC 2026 150s autopkgtest [01:23:04]: @@@@@@@@@@@@@@@@@@@@ apt-source python-falcon 151s Get:1 http://ftpmaster.internal/ubuntu resolute/universe python-falcon 4.0.2-2 (dsc) [2441 B] 151s Get:2 http://ftpmaster.internal/ubuntu resolute/universe python-falcon 4.0.2-2 (tar) [886 kB] 151s Get:3 http://ftpmaster.internal/ubuntu resolute/universe python-falcon 4.0.2-2 (diff) [7088 B] 151s gpgv: Signature made Mon Sep 29 12:27:19 2025 UTC 151s gpgv: using RSA key A0B1A9F3508956130E7A425CD416AD15AC6B43FE 151s gpgv: Can't check signature: No public key 151s dpkg-source: warning: cannot verify inline signature for ./python-falcon_4.0.2-2.dsc: no acceptable signature found 151s autopkgtest [01:23:05]: testing package python-falcon version 4.0.2-2 151s autopkgtest [01:23:05]: build not needed 152s autopkgtest [01:23:06]: test unittests: preparing testbed 152s Reading package lists... 152s Building dependency tree... 152s Reading state information... 152s Solving dependencies... 153s The following NEW packages will be installed: 153s autoconf automake autopoint autotools-dev build-essential cpp cpp-15 153s cpp-15-x86-64-linux-gnu cpp-x86-64-linux-gnu cython3 debhelper debugedit 153s dh-autoreconf dh-python dh-strip-nondeterminism dwz g++ g++-15 153s g++-15-x86-64-linux-gnu g++-x86-64-linux-gnu gcc gcc-15 153s gcc-15-x86-64-linux-gnu gcc-x86-64-linux-gnu gettext intltool-debian 153s libarchive-zip-perl libasan8 libc-dev-bin libc6-dev libcc1-0 libcrypt-dev 153s libdebhelper-perl libdouble-conversion3 libexpat1-dev 153s libfile-stripnondeterminism-perl libgcc-15-dev libgomp1 libhwasan0 libisl23 153s libitm1 liblsan0 libmpc3 libpython3-all-dev libpython3-dev libpython3.13 153s libpython3.13-dev libpython3.14-dev libquadmath0 libstdc++-15-dev libtool 153s libtsan2 libubsan1 linux-libc-dev m4 openstack-pkg-tools po-debconf 153s python3-aiofiles python3-all python3-all-dev python3-anyio python3-asgiref 153s python3-cbor2 python3-click python3-coverage python3-ddt python3-dev 153s python3-falcon python3-h11 python3-httpcore python3-httpx python3-iniconfig 153s python3-mimeparse python3-msgpack python3-mujson python3-pip python3-pluggy 153s python3-pytest python3-rapidjson python3-sniffio python3-testtools 153s python3-ujson python3-uvicorn python3-uvloop python3-websockets 153s python3-wheel python3-wsproto python3.13-dev python3.14 python3.14-dev 153s python3.14-minimal rpcsvc-proto uvicorn zlib1g-dev 153s 0 upgraded, 94 newly installed, 0 to remove and 0 not upgraded. 153s Need to get 109 MB of archives. 153s After this operation, 401 MB of additional disk space will be used. 153s Get:1 http://ftpmaster.internal/ubuntu resolute/main amd64 python3.14-minimal amd64 3.14.2-1 [2563 kB] 153s Get:2 http://ftpmaster.internal/ubuntu resolute/main amd64 m4 amd64 1.4.21-1 [219 kB] 153s Get:3 http://ftpmaster.internal/ubuntu resolute/main amd64 autoconf all 2.72-3.1ubuntu2 [384 kB] 153s Get:4 http://ftpmaster.internal/ubuntu resolute/main amd64 autotools-dev all 20240727.1build1 [43.4 kB] 153s Get:5 http://ftpmaster.internal/ubuntu resolute/main amd64 automake all 1:1.18.1-3build1 [582 kB] 153s Get:6 http://ftpmaster.internal/ubuntu resolute/main amd64 autopoint all 0.23.2-1 [620 kB] 153s Get:7 http://ftpmaster.internal/ubuntu resolute/main amd64 libc-dev-bin amd64 2.42-2ubuntu4 [23.3 kB] 153s Get:8 http://ftpmaster.internal/ubuntu resolute/main amd64 linux-libc-dev amd64 6.19.0-3.3 [1846 kB] 153s Get:9 http://ftpmaster.internal/ubuntu resolute/main amd64 libcrypt-dev amd64 1:4.5.1-1 [122 kB] 153s Get:10 http://ftpmaster.internal/ubuntu resolute/main amd64 rpcsvc-proto amd64 1.4.3-1build1 [68.3 kB] 153s Get:11 http://ftpmaster.internal/ubuntu resolute/main amd64 libc6-dev amd64 2.42-2ubuntu4 [2207 kB] 153s Get:12 http://ftpmaster.internal/ubuntu resolute/main amd64 libisl23 amd64 0.27-1build1 [691 kB] 153s Get:13 http://ftpmaster.internal/ubuntu resolute/main amd64 libmpc3 amd64 1.3.1-2 [54.8 kB] 153s Get:14 http://ftpmaster.internal/ubuntu resolute/main amd64 cpp-15-x86-64-linux-gnu amd64 15.2.0-12ubuntu1 [12.9 MB] 154s Get:15 http://ftpmaster.internal/ubuntu resolute/main amd64 cpp-15 amd64 15.2.0-12ubuntu1 [1034 B] 154s Get:16 http://ftpmaster.internal/ubuntu resolute/main amd64 cpp-x86-64-linux-gnu amd64 4:15.2.0-4ubuntu1 [5746 B] 154s Get:17 http://ftpmaster.internal/ubuntu resolute/main amd64 cpp amd64 4:15.2.0-4ubuntu1 [22.4 kB] 154s Get:18 http://ftpmaster.internal/ubuntu resolute/main amd64 libcc1-0 amd64 16-20260208-1ubuntu1 [51.2 kB] 154s Get:19 http://ftpmaster.internal/ubuntu resolute/main amd64 libgomp1 amd64 16-20260208-1ubuntu1 [162 kB] 154s Get:20 http://ftpmaster.internal/ubuntu resolute/main amd64 libitm1 amd64 16-20260208-1ubuntu1 [30.2 kB] 154s Get:21 http://ftpmaster.internal/ubuntu resolute/main amd64 libasan8 amd64 16-20260208-1ubuntu1 [3182 kB] 154s Get:22 http://ftpmaster.internal/ubuntu resolute/main amd64 liblsan0 amd64 16-20260208-1ubuntu1 [1392 kB] 154s Get:23 http://ftpmaster.internal/ubuntu resolute/main amd64 libtsan2 amd64 16-20260208-1ubuntu1 [2838 kB] 154s Get:24 http://ftpmaster.internal/ubuntu resolute/main amd64 libubsan1 amd64 16-20260208-1ubuntu1 [1238 kB] 154s Get:25 http://ftpmaster.internal/ubuntu resolute/main amd64 libhwasan0 amd64 16-20260208-1ubuntu1 [1729 kB] 154s Get:26 http://ftpmaster.internal/ubuntu resolute/main amd64 libquadmath0 amd64 16-20260208-1ubuntu1 [155 kB] 154s Get:27 http://ftpmaster.internal/ubuntu resolute/main amd64 libgcc-15-dev amd64 15.2.0-12ubuntu1 [2866 kB] 154s Get:28 http://ftpmaster.internal/ubuntu resolute/main amd64 gcc-15-x86-64-linux-gnu amd64 15.2.0-12ubuntu1 [25.4 MB] 155s Get:29 http://ftpmaster.internal/ubuntu resolute/main amd64 gcc-15 amd64 15.2.0-12ubuntu1 [530 kB] 155s Get:30 http://ftpmaster.internal/ubuntu resolute/main amd64 gcc-x86-64-linux-gnu amd64 4:15.2.0-4ubuntu1 [1208 B] 155s Get:31 http://ftpmaster.internal/ubuntu resolute/main amd64 gcc amd64 4:15.2.0-4ubuntu1 [5024 B] 155s Get:32 http://ftpmaster.internal/ubuntu resolute/main amd64 libstdc++-15-dev amd64 15.2.0-12ubuntu1 [2553 kB] 155s Get:33 http://ftpmaster.internal/ubuntu resolute/main amd64 g++-15-x86-64-linux-gnu amd64 15.2.0-12ubuntu1 [14.4 MB] 155s Get:34 http://ftpmaster.internal/ubuntu resolute/main amd64 g++-15 amd64 15.2.0-12ubuntu1 [25.3 kB] 155s Get:35 http://ftpmaster.internal/ubuntu resolute/main amd64 g++-x86-64-linux-gnu amd64 4:15.2.0-4ubuntu1 [966 B] 155s Get:36 http://ftpmaster.internal/ubuntu resolute/main amd64 g++ amd64 4:15.2.0-4ubuntu1 [1100 B] 155s Get:37 http://ftpmaster.internal/ubuntu resolute/main amd64 build-essential amd64 12.12ubuntu2 [5256 B] 155s Get:38 http://ftpmaster.internal/ubuntu resolute/universe amd64 cython3 amd64 3.1.6+dfsg-1ubuntu1 [3428 kB] 155s Get:39 http://ftpmaster.internal/ubuntu resolute/main amd64 libdebhelper-perl all 13.28ubuntu1 [97.4 kB] 155s Get:40 http://ftpmaster.internal/ubuntu resolute/main amd64 libtool all 2.5.4-9 [169 kB] 155s Get:41 http://ftpmaster.internal/ubuntu resolute/main amd64 dh-autoreconf all 21+nmu1 [11.9 kB] 155s Get:42 http://ftpmaster.internal/ubuntu resolute/main amd64 libarchive-zip-perl all 1.68-1 [90.2 kB] 155s Get:43 http://ftpmaster.internal/ubuntu resolute/main amd64 libfile-stripnondeterminism-perl all 1.15.0-1build1 [20.6 kB] 155s Get:44 http://ftpmaster.internal/ubuntu resolute/main amd64 dh-strip-nondeterminism all 1.15.0-1build1 [5110 B] 155s Get:45 http://ftpmaster.internal/ubuntu resolute/main amd64 debugedit amd64 1:5.2-3build1 [48.8 kB] 155s Get:46 http://ftpmaster.internal/ubuntu resolute/main amd64 dwz amd64 0.16-2build1 [113 kB] 155s Get:47 http://ftpmaster.internal/ubuntu resolute/main amd64 gettext amd64 0.23.2-1 [1019 kB] 155s Get:48 http://ftpmaster.internal/ubuntu resolute/main amd64 intltool-debian all 0.35.0+20060710.6build1 [24.1 kB] 155s Get:49 http://ftpmaster.internal/ubuntu resolute/main amd64 po-debconf all 1.0.22 [215 kB] 155s Get:50 http://ftpmaster.internal/ubuntu resolute/main amd64 debhelper all 13.28ubuntu1 [916 kB] 155s Get:51 http://ftpmaster.internal/ubuntu resolute/universe amd64 dh-python all 7.20260125 [122 kB] 155s Get:52 http://ftpmaster.internal/ubuntu resolute/universe amd64 libdouble-conversion3 amd64 3.4.0-1 [41.4 kB] 155s Get:53 http://ftpmaster.internal/ubuntu resolute/main amd64 libexpat1-dev amd64 2.7.4-1 [145 kB] 155s Get:54 http://ftpmaster.internal/ubuntu resolute/main amd64 libpython3.13 amd64 3.13.11-1 [2363 kB] 156s Get:55 http://ftpmaster.internal/ubuntu resolute/main amd64 zlib1g-dev amd64 1:1.3.dfsg+really1.3.1-1ubuntu2 [898 kB] 156s Get:56 http://ftpmaster.internal/ubuntu resolute/main amd64 libpython3.13-dev amd64 3.13.11-1 [5798 kB] 156s Get:57 http://ftpmaster.internal/ubuntu resolute/main amd64 libpython3-dev amd64 3.13.9-3 [11.2 kB] 156s Get:58 http://ftpmaster.internal/ubuntu resolute/main amd64 libpython3.14-dev amd64 3.14.2-1 [5963 kB] 156s Get:59 http://ftpmaster.internal/ubuntu resolute/main amd64 libpython3-all-dev amd64 3.13.9-3 [916 B] 156s Get:60 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-aiofiles all 25.1.0-2 [9810 B] 156s Get:61 http://ftpmaster.internal/ubuntu resolute/main amd64 python3.14 amd64 3.14.2-1 [816 kB] 156s Get:62 http://ftpmaster.internal/ubuntu resolute/main amd64 python3-all amd64 3.13.9-3 [890 B] 156s Get:63 http://ftpmaster.internal/ubuntu resolute/main amd64 python3.13-dev amd64 3.13.11-1 [508 kB] 156s Get:64 http://ftpmaster.internal/ubuntu resolute/main amd64 python3-dev amd64 3.13.9-3 [26.6 kB] 156s Get:65 http://ftpmaster.internal/ubuntu resolute/main amd64 python3.14-dev amd64 3.14.2-1 [510 kB] 156s Get:66 http://ftpmaster.internal/ubuntu resolute/main amd64 python3-all-dev amd64 3.13.9-3 [914 B] 156s Get:67 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-sniffio all 1.3.1-1 [7262 B] 156s Get:68 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-anyio all 4.11.0-3 [72.6 kB] 156s Get:69 http://ftpmaster.internal/ubuntu resolute/main amd64 python3-asgiref all 3.11.0-1 [25.2 kB] 156s Get:70 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-cbor2 amd64 5.8.0-1 [21.3 kB] 156s Get:71 http://ftpmaster.internal/ubuntu resolute/main amd64 python3-click all 8.2.0+0.really.8.1.8-1build1 [80.2 kB] 156s Get:72 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-coverage amd64 7.8.2+dfsg1-1ubuntu1 [159 kB] 156s Get:73 http://ftpmaster.internal/ubuntu resolute/main amd64 python3-ddt all 1.7.2-4build1 [9036 B] 156s Get:74 http://ftpmaster.internal/ubuntu resolute/main amd64 python3-mimeparse all 2.0.0-2 [6958 B] 156s Get:75 http://ftpmaster.internal/ubuntu resolute-proposed/main amd64 python3-msgpack amd64 1.1.2-2 [107 kB] 156s Get:76 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-rapidjson amd64 1.4-3build2 [244 kB] 156s Get:77 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-falcon amd64 4.0.2-2 [2260 kB] 156s Get:78 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-h11 all 0.14.0-1.1 [51.6 kB] 156s Get:79 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-httpcore all 1.0.9-1 [38.9 kB] 156s Get:80 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-httpx all 0.28.1-1build1 [59.4 kB] 156s Get:81 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-iniconfig all 2.1.0-2 [6962 B] 156s Get:82 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-mujson all 1.4-4 [7776 B] 156s Get:83 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-wheel all 0.46.3-1 [27.9 kB] 156s Get:84 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-pip all 25.1.1+dfsg-1ubuntu2 [1416 kB] 156s Get:85 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-pluggy all 1.6.0-2 [21.1 kB] 156s Get:86 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-pytest all 9.0.2-2 [277 kB] 156s Get:87 http://ftpmaster.internal/ubuntu resolute/main amd64 python3-testtools all 2.8.2-2 [72.1 kB] 156s Get:88 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-ujson amd64 5.11.0-3 [30.6 kB] 156s Get:89 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-uvloop amd64 0.22.1+ds1-2 [882 kB] 156s Get:90 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-wsproto all 1.3.2-1 [21.8 kB] 156s Get:91 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-uvicorn all 0.38.0-1 [45.9 kB] 156s Get:92 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-websockets amd64 15.0.1-1build1 [98.4 kB] 156s Get:93 http://ftpmaster.internal/ubuntu resolute/universe amd64 uvicorn all 0.38.0-1 [4882 B] 156s Get:94 http://ftpmaster.internal/ubuntu resolute/universe amd64 openstack-pkg-tools all 140 [103 kB] 157s Fetched 109 MB in 4s (29.0 MB/s) 157s Selecting previously unselected package python3.14-minimal. 157s (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 ... 125269 files and directories currently installed.) 157s Preparing to unpack .../00-python3.14-minimal_3.14.2-1_amd64.deb ... 157s Unpacking python3.14-minimal (3.14.2-1) ... 157s Selecting previously unselected package m4. 157s Preparing to unpack .../01-m4_1.4.21-1_amd64.deb ... 157s Unpacking m4 (1.4.21-1) ... 157s Selecting previously unselected package autoconf. 157s Preparing to unpack .../02-autoconf_2.72-3.1ubuntu2_all.deb ... 157s Unpacking autoconf (2.72-3.1ubuntu2) ... 157s Selecting previously unselected package autotools-dev. 157s Preparing to unpack .../03-autotools-dev_20240727.1build1_all.deb ... 157s Unpacking autotools-dev (20240727.1build1) ... 157s Selecting previously unselected package automake. 157s Preparing to unpack .../04-automake_1%3a1.18.1-3build1_all.deb ... 157s Unpacking automake (1:1.18.1-3build1) ... 157s Selecting previously unselected package autopoint. 157s Preparing to unpack .../05-autopoint_0.23.2-1_all.deb ... 157s Unpacking autopoint (0.23.2-1) ... 157s Selecting previously unselected package libc-dev-bin. 157s Preparing to unpack .../06-libc-dev-bin_2.42-2ubuntu4_amd64.deb ... 157s Unpacking libc-dev-bin (2.42-2ubuntu4) ... 157s Selecting previously unselected package linux-libc-dev:amd64. 157s Preparing to unpack .../07-linux-libc-dev_6.19.0-3.3_amd64.deb ... 157s Unpacking linux-libc-dev:amd64 (6.19.0-3.3) ... 157s Selecting previously unselected package libcrypt-dev:amd64. 157s Preparing to unpack .../08-libcrypt-dev_1%3a4.5.1-1_amd64.deb ... 157s Unpacking libcrypt-dev:amd64 (1:4.5.1-1) ... 157s Selecting previously unselected package rpcsvc-proto. 157s Preparing to unpack .../09-rpcsvc-proto_1.4.3-1build1_amd64.deb ... 157s Unpacking rpcsvc-proto (1.4.3-1build1) ... 157s Selecting previously unselected package libc6-dev:amd64. 157s Preparing to unpack .../10-libc6-dev_2.42-2ubuntu4_amd64.deb ... 157s Unpacking libc6-dev:amd64 (2.42-2ubuntu4) ... 157s Selecting previously unselected package libisl23:amd64. 157s Preparing to unpack .../11-libisl23_0.27-1build1_amd64.deb ... 157s Unpacking libisl23:amd64 (0.27-1build1) ... 157s Selecting previously unselected package libmpc3:amd64. 157s Preparing to unpack .../12-libmpc3_1.3.1-2_amd64.deb ... 157s Unpacking libmpc3:amd64 (1.3.1-2) ... 157s Selecting previously unselected package cpp-15-x86-64-linux-gnu. 157s Preparing to unpack .../13-cpp-15-x86-64-linux-gnu_15.2.0-12ubuntu1_amd64.deb ... 157s Unpacking cpp-15-x86-64-linux-gnu (15.2.0-12ubuntu1) ... 157s Selecting previously unselected package cpp-15. 157s Preparing to unpack .../14-cpp-15_15.2.0-12ubuntu1_amd64.deb ... 157s Unpacking cpp-15 (15.2.0-12ubuntu1) ... 157s Selecting previously unselected package cpp-x86-64-linux-gnu. 157s Preparing to unpack .../15-cpp-x86-64-linux-gnu_4%3a15.2.0-4ubuntu1_amd64.deb ... 157s Unpacking cpp-x86-64-linux-gnu (4:15.2.0-4ubuntu1) ... 157s Selecting previously unselected package cpp. 157s Preparing to unpack .../16-cpp_4%3a15.2.0-4ubuntu1_amd64.deb ... 157s Unpacking cpp (4:15.2.0-4ubuntu1) ... 157s Selecting previously unselected package libcc1-0:amd64. 157s Preparing to unpack .../17-libcc1-0_16-20260208-1ubuntu1_amd64.deb ... 157s Unpacking libcc1-0:amd64 (16-20260208-1ubuntu1) ... 157s Selecting previously unselected package libgomp1:amd64. 157s Preparing to unpack .../18-libgomp1_16-20260208-1ubuntu1_amd64.deb ... 157s Unpacking libgomp1:amd64 (16-20260208-1ubuntu1) ... 157s Selecting previously unselected package libitm1:amd64. 157s Preparing to unpack .../19-libitm1_16-20260208-1ubuntu1_amd64.deb ... 157s Unpacking libitm1:amd64 (16-20260208-1ubuntu1) ... 157s Selecting previously unselected package libasan8:amd64. 157s Preparing to unpack .../20-libasan8_16-20260208-1ubuntu1_amd64.deb ... 157s Unpacking libasan8:amd64 (16-20260208-1ubuntu1) ... 157s Selecting previously unselected package liblsan0:amd64. 157s Preparing to unpack .../21-liblsan0_16-20260208-1ubuntu1_amd64.deb ... 157s Unpacking liblsan0:amd64 (16-20260208-1ubuntu1) ... 157s Selecting previously unselected package libtsan2:amd64. 157s Preparing to unpack .../22-libtsan2_16-20260208-1ubuntu1_amd64.deb ... 157s Unpacking libtsan2:amd64 (16-20260208-1ubuntu1) ... 157s Selecting previously unselected package libubsan1:amd64. 157s Preparing to unpack .../23-libubsan1_16-20260208-1ubuntu1_amd64.deb ... 157s Unpacking libubsan1:amd64 (16-20260208-1ubuntu1) ... 157s Selecting previously unselected package libhwasan0:amd64. 157s Preparing to unpack .../24-libhwasan0_16-20260208-1ubuntu1_amd64.deb ... 157s Unpacking libhwasan0:amd64 (16-20260208-1ubuntu1) ... 158s Selecting previously unselected package libquadmath0:amd64. 158s Preparing to unpack .../25-libquadmath0_16-20260208-1ubuntu1_amd64.deb ... 158s Unpacking libquadmath0:amd64 (16-20260208-1ubuntu1) ... 158s Selecting previously unselected package libgcc-15-dev:amd64. 158s Preparing to unpack .../26-libgcc-15-dev_15.2.0-12ubuntu1_amd64.deb ... 158s Unpacking libgcc-15-dev:amd64 (15.2.0-12ubuntu1) ... 158s Selecting previously unselected package gcc-15-x86-64-linux-gnu. 158s Preparing to unpack .../27-gcc-15-x86-64-linux-gnu_15.2.0-12ubuntu1_amd64.deb ... 158s Unpacking gcc-15-x86-64-linux-gnu (15.2.0-12ubuntu1) ... 158s Selecting previously unselected package gcc-15. 158s Preparing to unpack .../28-gcc-15_15.2.0-12ubuntu1_amd64.deb ... 158s Unpacking gcc-15 (15.2.0-12ubuntu1) ... 158s Selecting previously unselected package gcc-x86-64-linux-gnu. 158s Preparing to unpack .../29-gcc-x86-64-linux-gnu_4%3a15.2.0-4ubuntu1_amd64.deb ... 158s Unpacking gcc-x86-64-linux-gnu (4:15.2.0-4ubuntu1) ... 158s Selecting previously unselected package gcc. 158s Preparing to unpack .../30-gcc_4%3a15.2.0-4ubuntu1_amd64.deb ... 158s Unpacking gcc (4:15.2.0-4ubuntu1) ... 158s Selecting previously unselected package libstdc++-15-dev:amd64. 158s Preparing to unpack .../31-libstdc++-15-dev_15.2.0-12ubuntu1_amd64.deb ... 158s Unpacking libstdc++-15-dev:amd64 (15.2.0-12ubuntu1) ... 158s Selecting previously unselected package g++-15-x86-64-linux-gnu. 158s Preparing to unpack .../32-g++-15-x86-64-linux-gnu_15.2.0-12ubuntu1_amd64.deb ... 158s Unpacking g++-15-x86-64-linux-gnu (15.2.0-12ubuntu1) ... 158s Selecting previously unselected package g++-15. 158s Preparing to unpack .../33-g++-15_15.2.0-12ubuntu1_amd64.deb ... 158s Unpacking g++-15 (15.2.0-12ubuntu1) ... 158s Selecting previously unselected package g++-x86-64-linux-gnu. 158s Preparing to unpack .../34-g++-x86-64-linux-gnu_4%3a15.2.0-4ubuntu1_amd64.deb ... 158s Unpacking g++-x86-64-linux-gnu (4:15.2.0-4ubuntu1) ... 158s Selecting previously unselected package g++. 158s Preparing to unpack .../35-g++_4%3a15.2.0-4ubuntu1_amd64.deb ... 158s Unpacking g++ (4:15.2.0-4ubuntu1) ... 158s Selecting previously unselected package build-essential. 158s Preparing to unpack .../36-build-essential_12.12ubuntu2_amd64.deb ... 158s Unpacking build-essential (12.12ubuntu2) ... 158s Selecting previously unselected package cython3. 158s Preparing to unpack .../37-cython3_3.1.6+dfsg-1ubuntu1_amd64.deb ... 158s Unpacking cython3 (3.1.6+dfsg-1ubuntu1) ... 158s Selecting previously unselected package libdebhelper-perl. 158s Preparing to unpack .../38-libdebhelper-perl_13.28ubuntu1_all.deb ... 158s Unpacking libdebhelper-perl (13.28ubuntu1) ... 158s Selecting previously unselected package libtool. 158s Preparing to unpack .../39-libtool_2.5.4-9_all.deb ... 158s Unpacking libtool (2.5.4-9) ... 158s Selecting previously unselected package dh-autoreconf. 158s Preparing to unpack .../40-dh-autoreconf_21+nmu1_all.deb ... 158s Unpacking dh-autoreconf (21+nmu1) ... 158s Selecting previously unselected package libarchive-zip-perl. 158s Preparing to unpack .../41-libarchive-zip-perl_1.68-1_all.deb ... 158s Unpacking libarchive-zip-perl (1.68-1) ... 158s Selecting previously unselected package libfile-stripnondeterminism-perl. 158s Preparing to unpack .../42-libfile-stripnondeterminism-perl_1.15.0-1build1_all.deb ... 158s Unpacking libfile-stripnondeterminism-perl (1.15.0-1build1) ... 158s Selecting previously unselected package dh-strip-nondeterminism. 158s Preparing to unpack .../43-dh-strip-nondeterminism_1.15.0-1build1_all.deb ... 158s Unpacking dh-strip-nondeterminism (1.15.0-1build1) ... 158s Selecting previously unselected package debugedit. 158s Preparing to unpack .../44-debugedit_1%3a5.2-3build1_amd64.deb ... 158s Unpacking debugedit (1:5.2-3build1) ... 158s Selecting previously unselected package dwz. 158s Preparing to unpack .../45-dwz_0.16-2build1_amd64.deb ... 158s Unpacking dwz (0.16-2build1) ... 158s Selecting previously unselected package gettext. 158s Preparing to unpack .../46-gettext_0.23.2-1_amd64.deb ... 158s Unpacking gettext (0.23.2-1) ... 158s Selecting previously unselected package intltool-debian. 158s Preparing to unpack .../47-intltool-debian_0.35.0+20060710.6build1_all.deb ... 158s Unpacking intltool-debian (0.35.0+20060710.6build1) ... 158s Selecting previously unselected package po-debconf. 158s Preparing to unpack .../48-po-debconf_1.0.22_all.deb ... 158s Unpacking po-debconf (1.0.22) ... 158s Selecting previously unselected package debhelper. 158s Preparing to unpack .../49-debhelper_13.28ubuntu1_all.deb ... 158s Unpacking debhelper (13.28ubuntu1) ... 158s Selecting previously unselected package dh-python. 158s Preparing to unpack .../50-dh-python_7.20260125_all.deb ... 158s Unpacking dh-python (7.20260125) ... 158s Selecting previously unselected package libdouble-conversion3:amd64. 158s Preparing to unpack .../51-libdouble-conversion3_3.4.0-1_amd64.deb ... 158s Unpacking libdouble-conversion3:amd64 (3.4.0-1) ... 158s Selecting previously unselected package libexpat1-dev:amd64. 158s Preparing to unpack .../52-libexpat1-dev_2.7.4-1_amd64.deb ... 158s Unpacking libexpat1-dev:amd64 (2.7.4-1) ... 158s Selecting previously unselected package libpython3.13:amd64. 158s Preparing to unpack .../53-libpython3.13_3.13.11-1_amd64.deb ... 158s Unpacking libpython3.13:amd64 (3.13.11-1) ... 158s Selecting previously unselected package zlib1g-dev:amd64. 158s Preparing to unpack .../54-zlib1g-dev_1%3a1.3.dfsg+really1.3.1-1ubuntu2_amd64.deb ... 158s Unpacking zlib1g-dev:amd64 (1:1.3.dfsg+really1.3.1-1ubuntu2) ... 159s Selecting previously unselected package libpython3.13-dev:amd64. 159s Preparing to unpack .../55-libpython3.13-dev_3.13.11-1_amd64.deb ... 159s Unpacking libpython3.13-dev:amd64 (3.13.11-1) ... 159s Selecting previously unselected package libpython3-dev:amd64. 159s Preparing to unpack .../56-libpython3-dev_3.13.9-3_amd64.deb ... 159s Unpacking libpython3-dev:amd64 (3.13.9-3) ... 159s Selecting previously unselected package libpython3.14-dev:amd64. 159s Preparing to unpack .../57-libpython3.14-dev_3.14.2-1_amd64.deb ... 159s Unpacking libpython3.14-dev:amd64 (3.14.2-1) ... 159s Selecting previously unselected package libpython3-all-dev:amd64. 159s Preparing to unpack .../58-libpython3-all-dev_3.13.9-3_amd64.deb ... 159s Unpacking libpython3-all-dev:amd64 (3.13.9-3) ... 159s Selecting previously unselected package python3-aiofiles. 159s Preparing to unpack .../59-python3-aiofiles_25.1.0-2_all.deb ... 159s Unpacking python3-aiofiles (25.1.0-2) ... 159s Selecting previously unselected package python3.14. 159s Preparing to unpack .../60-python3.14_3.14.2-1_amd64.deb ... 159s Unpacking python3.14 (3.14.2-1) ... 159s Selecting previously unselected package python3-all. 159s Preparing to unpack .../61-python3-all_3.13.9-3_amd64.deb ... 159s Unpacking python3-all (3.13.9-3) ... 159s Selecting previously unselected package python3.13-dev. 159s Preparing to unpack .../62-python3.13-dev_3.13.11-1_amd64.deb ... 159s Unpacking python3.13-dev (3.13.11-1) ... 159s Selecting previously unselected package python3-dev. 159s Preparing to unpack .../63-python3-dev_3.13.9-3_amd64.deb ... 159s Unpacking python3-dev (3.13.9-3) ... 159s Selecting previously unselected package python3.14-dev. 159s Preparing to unpack .../64-python3.14-dev_3.14.2-1_amd64.deb ... 159s Unpacking python3.14-dev (3.14.2-1) ... 159s Selecting previously unselected package python3-all-dev. 159s Preparing to unpack .../65-python3-all-dev_3.13.9-3_amd64.deb ... 159s Unpacking python3-all-dev (3.13.9-3) ... 159s Selecting previously unselected package python3-sniffio. 159s Preparing to unpack .../66-python3-sniffio_1.3.1-1_all.deb ... 159s Unpacking python3-sniffio (1.3.1-1) ... 159s Selecting previously unselected package python3-anyio. 159s Preparing to unpack .../67-python3-anyio_4.11.0-3_all.deb ... 159s Unpacking python3-anyio (4.11.0-3) ... 159s Selecting previously unselected package python3-asgiref. 159s Preparing to unpack .../68-python3-asgiref_3.11.0-1_all.deb ... 159s Unpacking python3-asgiref (3.11.0-1) ... 159s Selecting previously unselected package python3-cbor2. 159s Preparing to unpack .../69-python3-cbor2_5.8.0-1_amd64.deb ... 159s Unpacking python3-cbor2 (5.8.0-1) ... 159s Selecting previously unselected package python3-click. 159s Preparing to unpack .../70-python3-click_8.2.0+0.really.8.1.8-1build1_all.deb ... 159s Unpacking python3-click (8.2.0+0.really.8.1.8-1build1) ... 159s Selecting previously unselected package python3-coverage. 159s Preparing to unpack .../71-python3-coverage_7.8.2+dfsg1-1ubuntu1_amd64.deb ... 159s Unpacking python3-coverage (7.8.2+dfsg1-1ubuntu1) ... 159s Selecting previously unselected package python3-ddt. 159s Preparing to unpack .../72-python3-ddt_1.7.2-4build1_all.deb ... 159s Unpacking python3-ddt (1.7.2-4build1) ... 159s Selecting previously unselected package python3-mimeparse. 159s Preparing to unpack .../73-python3-mimeparse_2.0.0-2_all.deb ... 159s Unpacking python3-mimeparse (2.0.0-2) ... 159s Selecting previously unselected package python3-msgpack. 159s Preparing to unpack .../74-python3-msgpack_1.1.2-2_amd64.deb ... 159s Unpacking python3-msgpack (1.1.2-2) ... 159s Selecting previously unselected package python3-rapidjson. 159s Preparing to unpack .../75-python3-rapidjson_1.4-3build2_amd64.deb ... 159s Unpacking python3-rapidjson (1.4-3build2) ... 159s Selecting previously unselected package python3-falcon. 159s Preparing to unpack .../76-python3-falcon_4.0.2-2_amd64.deb ... 159s Unpacking python3-falcon (4.0.2-2) ... 159s Selecting previously unselected package python3-h11. 159s Preparing to unpack .../77-python3-h11_0.14.0-1.1_all.deb ... 159s Unpacking python3-h11 (0.14.0-1.1) ... 159s Selecting previously unselected package python3-httpcore. 159s Preparing to unpack .../78-python3-httpcore_1.0.9-1_all.deb ... 159s Unpacking python3-httpcore (1.0.9-1) ... 159s Selecting previously unselected package python3-httpx. 159s Preparing to unpack .../79-python3-httpx_0.28.1-1build1_all.deb ... 159s Unpacking python3-httpx (0.28.1-1build1) ... 159s Selecting previously unselected package python3-iniconfig. 159s Preparing to unpack .../80-python3-iniconfig_2.1.0-2_all.deb ... 159s Unpacking python3-iniconfig (2.1.0-2) ... 159s Selecting previously unselected package python3-mujson. 159s Preparing to unpack .../81-python3-mujson_1.4-4_all.deb ... 159s Unpacking python3-mujson (1.4-4) ... 159s Selecting previously unselected package python3-wheel. 159s Preparing to unpack .../82-python3-wheel_0.46.3-1_all.deb ... 159s Unpacking python3-wheel (0.46.3-1) ... 159s Selecting previously unselected package python3-pip. 159s Preparing to unpack .../83-python3-pip_25.1.1+dfsg-1ubuntu2_all.deb ... 159s Unpacking python3-pip (25.1.1+dfsg-1ubuntu2) ... 159s Selecting previously unselected package python3-pluggy. 159s Preparing to unpack .../84-python3-pluggy_1.6.0-2_all.deb ... 159s Unpacking python3-pluggy (1.6.0-2) ... 159s Selecting previously unselected package python3-pytest. 159s Preparing to unpack .../85-python3-pytest_9.0.2-2_all.deb ... 159s Unpacking python3-pytest (9.0.2-2) ... 159s Selecting previously unselected package python3-testtools. 159s Preparing to unpack .../86-python3-testtools_2.8.2-2_all.deb ... 159s Unpacking python3-testtools (2.8.2-2) ... 159s Selecting previously unselected package python3-ujson:amd64. 159s Preparing to unpack .../87-python3-ujson_5.11.0-3_amd64.deb ... 159s Unpacking python3-ujson:amd64 (5.11.0-3) ... 159s Selecting previously unselected package python3-uvloop. 159s Preparing to unpack .../88-python3-uvloop_0.22.1+ds1-2_amd64.deb ... 159s Unpacking python3-uvloop (0.22.1+ds1-2) ... 159s Selecting previously unselected package python3-wsproto. 159s Preparing to unpack .../89-python3-wsproto_1.3.2-1_all.deb ... 159s Unpacking python3-wsproto (1.3.2-1) ... 159s Selecting previously unselected package python3-uvicorn. 159s Preparing to unpack .../90-python3-uvicorn_0.38.0-1_all.deb ... 159s Unpacking python3-uvicorn (0.38.0-1) ... 159s Selecting previously unselected package python3-websockets. 159s Preparing to unpack .../91-python3-websockets_15.0.1-1build1_amd64.deb ... 159s Unpacking python3-websockets (15.0.1-1build1) ... 159s Selecting previously unselected package uvicorn. 159s Preparing to unpack .../92-uvicorn_0.38.0-1_all.deb ... 159s Unpacking uvicorn (0.38.0-1) ... 159s Selecting previously unselected package openstack-pkg-tools. 159s Preparing to unpack .../93-openstack-pkg-tools_140_all.deb ... 159s Unpacking openstack-pkg-tools (140) ... 159s Setting up libpython3.13:amd64 (3.13.11-1) ... 159s Setting up dh-python (7.20260125) ... 160s Setting up python3-iniconfig (2.1.0-2) ... 160s Setting up python3-sniffio (1.3.1-1) ... 160s Setting up python3-testtools (2.8.2-2) ... 160s Setting up libdouble-conversion3:amd64 (3.4.0-1) ... 160s Setting up python3-ddt (1.7.2-4build1) ... 160s Setting up python3-aiofiles (25.1.0-2) ... 160s Setting up python3-anyio (4.11.0-3) ... 160s Setting up libarchive-zip-perl (1.68-1) ... 160s Setting up libdebhelper-perl (13.28ubuntu1) ... 160s Setting up python3-rapidjson (1.4-3build2) ... 160s Setting up linux-libc-dev:amd64 (6.19.0-3.3) ... 160s Setting up m4 (1.4.21-1) ... 160s Setting up libgomp1:amd64 (16-20260208-1ubuntu1) ... 160s Setting up python3-click (8.2.0+0.really.8.1.8-1build1) ... 161s Setting up python3-wheel (0.46.3-1) ... 161s Setting up python3-ujson:amd64 (5.11.0-3) ... 161s Setting up autotools-dev (20240727.1build1) ... 161s Setting up rpcsvc-proto (1.4.3-1build1) ... 161s Setting up libquadmath0:amd64 (16-20260208-1ubuntu1) ... 161s Setting up libmpc3:amd64 (1.3.1-2) ... 161s Setting up cython3 (3.1.6+dfsg-1ubuntu1) ... 162s Setting up python3-h11 (0.14.0-1.1) ... 162s Setting up autopoint (0.23.2-1) ... 162s Setting up python3-cbor2 (5.8.0-1) ... 162s Setting up python3-pip (25.1.1+dfsg-1ubuntu2) ... 163s Setting up python3-uvloop (0.22.1+ds1-2) ... 163s Setting up autoconf (2.72-3.1ubuntu2) ... 163s Setting up python3-pluggy (1.6.0-2) ... 163s Setting up libubsan1:amd64 (16-20260208-1ubuntu1) ... 163s Setting up dwz (0.16-2build1) ... 163s Setting up libhwasan0:amd64 (16-20260208-1ubuntu1) ... 163s Setting up libcrypt-dev:amd64 (1:4.5.1-1) ... 164s Setting up libasan8:amd64 (16-20260208-1ubuntu1) ... 164s Setting up debugedit (1:5.2-3build1) ... 164s Setting up python3-msgpack (1.1.2-2) ... 164s Setting up libtsan2:amd64 (16-20260208-1ubuntu1) ... 164s Setting up libisl23:amd64 (0.27-1build1) ... 164s Setting up libc-dev-bin (2.42-2ubuntu4) ... 164s Setting up python3-mujson (1.4-4) ... 164s Setting up python3-mimeparse (2.0.0-2) ... 164s Setting up python3.14-minimal (3.14.2-1) ... 164s Setting up libcc1-0:amd64 (16-20260208-1ubuntu1) ... 164s Setting up liblsan0:amd64 (16-20260208-1ubuntu1) ... 164s Setting up libitm1:amd64 (16-20260208-1ubuntu1) ... 164s Setting up python3-asgiref (3.11.0-1) ... 165s Setting up python3-websockets (15.0.1-1build1) ... 165s Setting up automake (1:1.18.1-3build1) ... 165s update-alternatives: using /usr/bin/automake-1.18 to provide /usr/bin/automake (automake) in auto mode 165s Setting up libfile-stripnondeterminism-perl (1.15.0-1build1) ... 165s Setting up python3-httpcore (1.0.9-1) ... 165s Setting up gettext (0.23.2-1) ... 165s Setting up libgcc-15-dev:amd64 (15.2.0-12ubuntu1) ... 165s Setting up python3-wsproto (1.3.2-1) ... 165s Setting up python3-pytest (9.0.2-2) ... 165s Setting up python3-falcon (4.0.2-2) ... 166s Setting up cpp-15-x86-64-linux-gnu (15.2.0-12ubuntu1) ... 166s Setting up intltool-debian (0.35.0+20060710.6build1) ... 166s Setting up gcc-15-x86-64-linux-gnu (15.2.0-12ubuntu1) ... 166s Setting up python3-httpx (0.28.1-1build1) ... 166s Setting up dh-strip-nondeterminism (1.15.0-1build1) ... 166s Setting up cpp-15 (15.2.0-12ubuntu1) ... 166s Setting up libc6-dev:amd64 (2.42-2ubuntu4) ... 166s Setting up python3.14 (3.14.2-1) ... 167s Setting up cpp-x86-64-linux-gnu (4:15.2.0-4ubuntu1) ... 167s Setting up python3-uvicorn (0.38.0-1) ... 167s Setting up gcc-x86-64-linux-gnu (4:15.2.0-4ubuntu1) ... 167s Setting up po-debconf (1.0.22) ... 167s Setting up python3-all (3.13.9-3) ... 167s Setting up python3-coverage (7.8.2+dfsg1-1ubuntu1) ... 167s Setting up openstack-pkg-tools (140) ... 167s Setting up gcc-15 (15.2.0-12ubuntu1) ... 167s Setting up libstdc++-15-dev:amd64 (15.2.0-12ubuntu1) ... 167s Setting up libexpat1-dev:amd64 (2.7.4-1) ... 167s Setting up zlib1g-dev:amd64 (1:1.3.dfsg+really1.3.1-1ubuntu2) ... 167s Setting up cpp (4:15.2.0-4ubuntu1) ... 167s Setting up libpython3.14-dev:amd64 (3.14.2-1) ... 167s Setting up uvicorn (0.38.0-1) ... 167s Setting up g++-15-x86-64-linux-gnu (15.2.0-12ubuntu1) ... 167s Setting up python3.14-dev (3.14.2-1) ... 167s Setting up libtool (2.5.4-9) ... 167s Setting up gcc (4:15.2.0-4ubuntu1) ... 167s Setting up dh-autoreconf (21+nmu1) ... 167s Setting up libpython3.13-dev:amd64 (3.13.11-1) ... 167s Setting up g++-x86-64-linux-gnu (4:15.2.0-4ubuntu1) ... 167s Setting up g++-15 (15.2.0-12ubuntu1) ... 167s Setting up libpython3-dev:amd64 (3.13.9-3) ... 167s Setting up python3.13-dev (3.13.11-1) ... 167s Setting up debhelper (13.28ubuntu1) ... 167s Setting up libpython3-all-dev:amd64 (3.13.9-3) ... 167s Setting up python3-dev (3.13.9-3) ... 167s Setting up g++ (4:15.2.0-4ubuntu1) ... 167s update-alternatives: using /usr/bin/g++ to provide /usr/bin/c++ (c++) in auto mode 167s Setting up build-essential (12.12ubuntu2) ... 167s Setting up python3-all-dev (3.13.9-3) ... 167s Processing triggers for systemd (259-1ubuntu3) ... 167s Processing triggers for man-db (2.13.1-1build1) ... 168s Processing triggers for install-info (7.2-5) ... 168s Processing triggers for libc-bin (2.42-2ubuntu4) ... 169s autopkgtest [01:23:23]: test unittests: [----------------------- 170s ============================= test session starts ============================== 170s platform linux -- Python 3.14.2, pytest-9.0.2, pluggy-1.6.0 -- /usr/bin/python3.14 170s cachedir: .pytest_cache 170s rootdir: /tmp/autopkgtest.hBgQOA/build.LIm/src 170s configfile: pyproject.toml 170s plugins: typeguard-4.4.4, anyio-4.11.0 172s collecting ... collected 3915 items 172s 172s tests/asgi/test_asgi_conductor.py::test_default_headers PASSED [ 0%] 172s tests/asgi/test_asgi_conductor.py::test_generic_request[request] PASSED [ 0%] 172s tests/asgi/test_asgi_conductor.py::test_generic_request[simulate_request] PASSED [ 0%] 172s tests/asgi/test_asgi_conductor.py::test_wsgi_not_supported PASSED [ 0%] 172s tests/asgi/test_asgi_conductor.py::test_responders[alias-get] PASSED [ 0%] 172s tests/asgi/test_asgi_conductor.py::test_responders[alias-head] PASSED [ 0%] 172s tests/asgi/test_asgi_conductor.py::test_responders[alias-post] PASSED [ 0%] 172s tests/asgi/test_asgi_conductor.py::test_responders[alias-put] PASSED [ 0%] 172s tests/asgi/test_asgi_conductor.py::test_responders[alias-options] PASSED [ 0%] 172s tests/asgi/test_asgi_conductor.py::test_responders[alias-patch] PASSED [ 0%] 172s tests/asgi/test_asgi_conductor.py::test_responders[alias-delete] PASSED [ 0%] 172s tests/asgi/test_asgi_conductor.py::test_responders[simulate-get] PASSED [ 0%] 172s tests/asgi/test_asgi_conductor.py::test_responders[simulate-head] PASSED [ 0%] 172s tests/asgi/test_asgi_conductor.py::test_responders[simulate-post] PASSED [ 0%] 172s tests/asgi/test_asgi_conductor.py::test_responders[simulate-put] PASSED [ 0%] 172s tests/asgi/test_asgi_conductor.py::test_responders[simulate-options] PASSED [ 0%] 172s tests/asgi/test_asgi_conductor.py::test_responders[simulate-patch] PASSED [ 0%] 172s tests/asgi/test_asgi_conductor.py::test_responders[simulate-delete] PASSED [ 0%] 172s tests/asgi/test_asgi_helpers.py::test_intricate_app PASSED [ 0%] 172s tests/asgi/test_boundedstream_asgi.py::test_read_all[True-True-empty] PASSED [ 0%] 172s tests/asgi/test_boundedstream_asgi.py::test_read_all[True-True-null] PASSED [ 0%] 172s tests/asgi/test_boundedstream_asgi.py::test_read_all[True-True-null-ff] PASSED [ 0%] 172s tests/asgi/test_boundedstream_asgi.py::test_read_all[True-True-normal] PASSED [ 0%] 172s tests/asgi/test_boundedstream_asgi.py::test_read_all[True-True-long] PASSED [ 0%] 172s tests/asgi/test_boundedstream_asgi.py::test_read_all[True-True-random] PASSED [ 0%] 173s tests/asgi/test_boundedstream_asgi.py::test_read_all[True-True-random-large] PASSED [ 0%] 173s tests/asgi/test_boundedstream_asgi.py::test_read_all[True-False-empty] PASSED [ 0%] 173s tests/asgi/test_boundedstream_asgi.py::test_read_all[True-False-null] PASSED [ 0%] 173s tests/asgi/test_boundedstream_asgi.py::test_read_all[True-False-null-ff] PASSED [ 0%] 173s tests/asgi/test_boundedstream_asgi.py::test_read_all[True-False-normal] PASSED [ 0%] 173s tests/asgi/test_boundedstream_asgi.py::test_read_all[True-False-long] PASSED [ 0%] 173s tests/asgi/test_boundedstream_asgi.py::test_read_all[True-False-random] PASSED [ 0%] 174s tests/asgi/test_boundedstream_asgi.py::test_read_all[True-False-random-large] PASSED [ 0%] 174s tests/asgi/test_boundedstream_asgi.py::test_read_all[False-True-empty] SKIPPED [ 0%] 174s tests/asgi/test_boundedstream_asgi.py::test_read_all[False-True-null] SKIPPED [ 0%] 174s tests/asgi/test_boundedstream_asgi.py::test_read_all[False-True-null-ff] SKIPPED [ 0%] 174s tests/asgi/test_boundedstream_asgi.py::test_read_all[False-True-normal] SKIPPED [ 0%] 174s tests/asgi/test_boundedstream_asgi.py::test_read_all[False-True-long] SKIPPED [ 0%] 174s tests/asgi/test_boundedstream_asgi.py::test_read_all[False-True-random] SKIPPED [ 0%] 174s tests/asgi/test_boundedstream_asgi.py::test_read_all[False-True-random-large] SKIPPED [ 1%] 174s tests/asgi/test_boundedstream_asgi.py::test_read_all[False-False-empty] PASSED [ 1%] 174s tests/asgi/test_boundedstream_asgi.py::test_read_all[False-False-null] PASSED [ 1%] 174s tests/asgi/test_boundedstream_asgi.py::test_read_all[False-False-null-ff] PASSED [ 1%] 174s tests/asgi/test_boundedstream_asgi.py::test_read_all[False-False-normal] PASSED [ 1%] 174s tests/asgi/test_boundedstream_asgi.py::test_read_all[False-False-long] PASSED [ 1%] 174s tests/asgi/test_boundedstream_asgi.py::test_read_all[False-False-random] PASSED [ 1%] 174s tests/asgi/test_boundedstream_asgi.py::test_read_all[False-False-random-large] PASSED [ 1%] 174s tests/asgi/test_boundedstream_asgi.py::test_filelike PASSED [ 1%] 174s tests/asgi/test_boundedstream_asgi.py::test_iterate_streaming_request PASSED [ 1%] 174s tests/asgi/test_boundedstream_asgi.py::test_read_chunks[1-empty] PASSED [ 1%] 174s tests/asgi/test_boundedstream_asgi.py::test_read_chunks[1-null] PASSED [ 1%] 174s tests/asgi/test_boundedstream_asgi.py::test_read_chunks[1-null-ff] PASSED [ 1%] 174s tests/asgi/test_boundedstream_asgi.py::test_read_chunks[1-normal] PASSED [ 1%] 174s tests/asgi/test_boundedstream_asgi.py::test_read_chunks[1-long] PASSED [ 1%] 174s tests/asgi/test_boundedstream_asgi.py::test_read_chunks[1-random] PASSED [ 1%] 174s tests/asgi/test_boundedstream_asgi.py::test_read_chunks[2-empty] PASSED [ 1%] 174s tests/asgi/test_boundedstream_asgi.py::test_read_chunks[2-null] PASSED [ 1%] 174s tests/asgi/test_boundedstream_asgi.py::test_read_chunks[2-null-ff] PASSED [ 1%] 174s tests/asgi/test_boundedstream_asgi.py::test_read_chunks[2-normal] PASSED [ 1%] 174s tests/asgi/test_boundedstream_asgi.py::test_read_chunks[2-long] PASSED [ 1%] 174s tests/asgi/test_boundedstream_asgi.py::test_read_chunks[2-random] PASSED [ 1%] 174s tests/asgi/test_boundedstream_asgi.py::test_read_chunks[10-empty] PASSED [ 1%] 174s tests/asgi/test_boundedstream_asgi.py::test_read_chunks[10-null] PASSED [ 1%] 174s tests/asgi/test_boundedstream_asgi.py::test_read_chunks[10-null-ff] PASSED [ 1%] 174s tests/asgi/test_boundedstream_asgi.py::test_read_chunks[10-normal] PASSED [ 1%] 174s tests/asgi/test_boundedstream_asgi.py::test_read_chunks[10-long] PASSED [ 1%] 174s tests/asgi/test_boundedstream_asgi.py::test_read_chunks[10-random] PASSED [ 1%] 174s tests/asgi/test_boundedstream_asgi.py::test_read_chunks[64-empty] PASSED [ 1%] 174s tests/asgi/test_boundedstream_asgi.py::test_read_chunks[64-null] PASSED [ 1%] 174s tests/asgi/test_boundedstream_asgi.py::test_read_chunks[64-null-ff] PASSED [ 1%] 174s tests/asgi/test_boundedstream_asgi.py::test_read_chunks[64-normal] PASSED [ 1%] 174s tests/asgi/test_boundedstream_asgi.py::test_read_chunks[64-long] PASSED [ 1%] 174s tests/asgi/test_boundedstream_asgi.py::test_read_chunks[64-random] PASSED [ 1%] 174s tests/asgi/test_boundedstream_asgi.py::test_read_chunks[100-empty] PASSED [ 1%] 174s tests/asgi/test_boundedstream_asgi.py::test_read_chunks[100-null] PASSED [ 1%] 174s tests/asgi/test_boundedstream_asgi.py::test_read_chunks[100-null-ff] PASSED [ 1%] 174s tests/asgi/test_boundedstream_asgi.py::test_read_chunks[100-normal] PASSED [ 1%] 174s tests/asgi/test_boundedstream_asgi.py::test_read_chunks[100-long] PASSED [ 1%] 174s tests/asgi/test_boundedstream_asgi.py::test_read_chunks[100-random] PASSED [ 2%] 174s tests/asgi/test_boundedstream_asgi.py::test_read_chunks[1000-empty] PASSED [ 2%] 174s tests/asgi/test_boundedstream_asgi.py::test_read_chunks[1000-null] PASSED [ 2%] 174s tests/asgi/test_boundedstream_asgi.py::test_read_chunks[1000-null-ff] PASSED [ 2%] 174s tests/asgi/test_boundedstream_asgi.py::test_read_chunks[1000-normal] PASSED [ 2%] 174s tests/asgi/test_boundedstream_asgi.py::test_read_chunks[1000-long] PASSED [ 2%] 174s tests/asgi/test_boundedstream_asgi.py::test_read_chunks[1000-random] PASSED [ 2%] 174s tests/asgi/test_boundedstream_asgi.py::test_read_chunks[10000-empty] PASSED [ 2%] 174s tests/asgi/test_boundedstream_asgi.py::test_read_chunks[10000-null] PASSED [ 2%] 174s tests/asgi/test_boundedstream_asgi.py::test_read_chunks[10000-null-ff] PASSED [ 2%] 174s tests/asgi/test_boundedstream_asgi.py::test_read_chunks[10000-normal] PASSED [ 2%] 174s tests/asgi/test_boundedstream_asgi.py::test_read_chunks[10000-long] PASSED [ 2%] 174s tests/asgi/test_boundedstream_asgi.py::test_read_chunks[10000-random] PASSED [ 2%] 174s tests/asgi/test_boundedstream_asgi.py::test_exhaust_with_disconnect PASSED [ 2%] 174s tests/asgi/test_boundedstream_asgi.py::test_exhaust PASSED [ 2%] 174s tests/asgi/test_boundedstream_asgi.py::test_iteration_already_started PASSED [ 2%] 174s tests/asgi/test_buffered_reader.py::test_basic_aiter PASSED [ 2%] 174s tests/asgi/test_buffered_reader.py::test_aiter_from_buffer PASSED [ 2%] 174s tests/asgi/test_buffered_reader.py::test_delimit[H-expected0] PASSED [ 2%] 174s tests/asgi/test_buffered_reader.py::test_delimit[Hello-expected1] PASSED [ 2%] 174s tests/asgi/test_buffered_reader.py::test_delimit[o-expected2] PASSED [ 2%] 174s tests/asgi/test_buffered_reader.py::test_delimit[ting-expected3] PASSED [ 2%] 174s tests/asgi/test_buffered_reader.py::test_delimit[404-expected4] PASSED [ 2%] 174s tests/asgi/test_buffered_reader.py::test_exhaust PASSED [ 2%] 174s tests/asgi/test_buffered_reader.py::test_peek[1] PASSED [ 2%] 174s tests/asgi/test_buffered_reader.py::test_peek[2] PASSED [ 2%] 174s tests/asgi/test_buffered_reader.py::test_peek[3] PASSED [ 2%] 174s tests/asgi/test_buffered_reader.py::test_peek[5] PASSED [ 2%] 174s tests/asgi/test_buffered_reader.py::test_peek[7] PASSED [ 2%] 174s tests/asgi/test_buffered_reader.py::test_peek[8] PASSED [ 2%] 174s tests/asgi/test_buffered_reader.py::test_peek_at_eof PASSED [ 2%] 174s tests/asgi/test_buffered_reader.py::test_pipe PASSED [ 2%] 174s tests/asgi/test_buffered_reader.py::test_pipe_until_delimiter_not_found PASSED [ 2%] 174s tests/asgi/test_buffered_reader.py::test_read[sizes0-expected0] PASSED [ 2%] 174s tests/asgi/test_buffered_reader.py::test_read[sizes1-expected1] PASSED [ 2%] 174s tests/asgi/test_buffered_reader.py::test_read[sizes2-expected2] PASSED [ 2%] 174s tests/asgi/test_buffered_reader.py::test_read[sizes3-expected3] PASSED [ 2%] 174s tests/asgi/test_buffered_reader.py::test_varying_read_size[1] PASSED [ 2%] 175s tests/asgi/test_buffered_reader.py::test_varying_read_size[16777216] PASSED [ 2%] 175s tests/asgi/test_buffered_reader.py::test_readall[0] PASSED [ 3%] 175s tests/asgi/test_buffered_reader.py::test_readall[1] PASSED [ 3%] 175s tests/asgi/test_buffered_reader.py::test_readall[8] PASSED [ 3%] 175s tests/asgi/test_buffered_reader.py::test_read_until[0-, -4-Hell-False] PASSED [ 3%] 175s tests/asgi/test_buffered_reader.py::test_read_until[0-, -4-Hell-True] PASSED [ 3%] 175s tests/asgi/test_buffered_reader.py::test_read_until[0-, -5-Hello-False] PASSED [ 3%] 175s tests/asgi/test_buffered_reader.py::test_read_until[0-, -5-Hello-True] PASSED [ 3%] 175s tests/asgi/test_buffered_reader.py::test_read_until[0-, --1-Hello-False] PASSED [ 3%] 175s tests/asgi/test_buffered_reader.py::test_read_until[0-, --1-Hello-True] PASSED [ 3%] 175s tests/asgi/test_buffered_reader.py::test_read_until[20- -4-esti-False] PASSED [ 3%] 175s tests/asgi/test_buffered_reader.py::test_read_until[20- -4-esti-True] PASSED [ 3%] 175s tests/asgi/test_buffered_reader.py::test_read_until[20- -5-estin-False] PASSED [ 3%] 175s tests/asgi/test_buffered_reader.py::test_read_until[20- -5-estin-True] PASSED [ 3%] 175s tests/asgi/test_buffered_reader.py::test_read_until[20- -6-esting-False] PASSED [ 3%] 175s tests/asgi/test_buffered_reader.py::test_read_until[20- -6-esting-True] PASSED [ 3%] 175s tests/asgi/test_buffered_reader.py::test_read_until[20- -20-esting-False] PASSED [ 3%] 175s tests/asgi/test_buffered_reader.py::test_read_until[20- -20-esting-True] PASSED [ 3%] 175s tests/asgi/test_buffered_reader.py::test_read_until[20- -None-esting-False] PASSED [ 3%] 175s tests/asgi/test_buffered_reader.py::test_read_until[20- -None-esting-True] PASSED [ 3%] 175s tests/asgi/test_buffered_reader.py::test_read_until[0-Hell-13--False] PASSED [ 3%] 175s tests/asgi/test_buffered_reader.py::test_read_until[0-Hell-13--True] PASSED [ 3%] 175s tests/asgi/test_buffered_reader.py::test_read_until[1-ell-13--False] PASSED [ 3%] 175s tests/asgi/test_buffered_reader.py::test_read_until[1-ell-13--True] PASSED [ 3%] 175s tests/asgi/test_buffered_reader.py::test_read_until[2-ll-13--False] PASSED [ 3%] 175s tests/asgi/test_buffered_reader.py::test_read_until[2-ll-13--True] PASSED [ 3%] 175s tests/asgi/test_buffered_reader.py::test_read_until[3-l-13--False] PASSED [ 3%] 175s tests/asgi/test_buffered_reader.py::test_read_until[3-l-13--True] PASSED [ 3%] 175s tests/asgi/test_buffered_reader.py::test_read_until[2-l-13--False] PASSED [ 3%] 175s tests/asgi/test_buffered_reader.py::test_read_until[2-l-13--True] PASSED [ 3%] 175s tests/asgi/test_buffered_reader.py::test_read_until[0-good-13-Hello, World!-False] PASSED [ 3%] 175s tests/asgi/test_buffered_reader.py::test_read_until[0-good-13-Hello, World!-True] PASSED [ 3%] 175s tests/asgi/test_buffered_reader.py::test_read_until[7-good-19-World!\nJust testing-False] PASSED [ 3%] 175s tests/asgi/test_buffered_reader.py::test_read_until[7-good-19-World!\nJust testing-True] PASSED [ 3%] 175s tests/asgi/test_buffered_reader.py::test_read_until[7-good-33-World!\nJust testing some iterator-False] PASSED [ 3%] 175s tests/asgi/test_buffered_reader.py::test_read_until[7-good-33-World!\nJust testing some iterator-True] PASSED [ 3%] 175s tests/asgi/test_buffered_reader.py::test_read_until[7-good-34-World!\nJust testing some iterator -False] PASSED [ 3%] 175s tests/asgi/test_buffered_reader.py::test_read_until[7-good-34-World!\nJust testing some iterator -True] PASSED [ 3%] 175s tests/asgi/test_buffered_reader.py::test_read_until[7-good-1337-World!\nJust testing some iterator -False] PASSED [ 3%] 175s tests/asgi/test_buffered_reader.py::test_read_until[7-good-1337-World!\nJust testing some iterator -True] PASSED [ 3%] 175s tests/asgi/test_buffered_reader.py::test_read_until[7-good--1-World!\nJust testing some iterator -False] PASSED [ 4%] 175s tests/asgi/test_buffered_reader.py::test_read_until[7-good--1-World!\nJust testing some iterator -True] PASSED [ 4%] 175s tests/asgi/test_buffered_reader.py::test_read_until_with_buffer_edge_case PASSED [ 4%] 175s tests/asgi/test_buffered_reader.py::test_placeholder_methods PASSED [ 4%] 175s tests/asgi/test_buffered_reader.py::test_iteration_started PASSED [ 4%] 175s tests/asgi/test_buffered_reader.py::test_invalid_delimiter_length PASSED [ 4%] 175s tests/asgi/test_buffered_reader.py::test_irregular_large_read_until[11003077-22000721] PASSED [ 4%] 175s tests/asgi/test_buffered_reader.py::test_irregular_large_read_until[13372477-51637898] PASSED [ 4%] 175s tests/asgi/test_buffered_reader.py::test_read_until_shared_boundary[46] PASSED [ 4%] 175s tests/asgi/test_buffered_reader.py::test_read_until_shared_boundary[47] PASSED [ 4%] 175s tests/asgi/test_buffered_reader.py::test_read_until_shared_boundary[48] PASSED [ 4%] 175s tests/asgi/test_buffered_reader.py::test_read_until_shared_boundary[49] PASSED [ 4%] 175s tests/asgi/test_buffered_reader.py::test_read_until_shared_boundary[50] PASSED [ 4%] 175s tests/asgi/test_buffered_reader.py::test_read_until_shared_boundary[51] PASSED [ 4%] 175s tests/asgi/test_buffered_reader.py::test_read_until_shared_boundary[52] PASSED [ 4%] 175s tests/asgi/test_buffered_reader.py::test_read_until_shared_boundary[53] PASSED [ 4%] 175s tests/asgi/test_buffered_reader.py::test_read_until_shared_boundary[54] PASSED [ 4%] 175s tests/asgi/test_buffered_reader.py::test_read_until_shared_boundary[55] PASSED [ 4%] 175s tests/asgi/test_buffered_reader.py::test_read_until_shared_boundary[56] PASSED [ 4%] 175s tests/asgi/test_buffered_reader.py::test_read_until_shared_boundary[57] PASSED [ 4%] 175s tests/asgi/test_buffered_reader.py::test_read_until_shared_boundary[58] PASSED [ 4%] 175s tests/asgi/test_buffered_reader.py::test_read_until_shared_boundary[59] PASSED [ 4%] 175s tests/asgi/test_buffered_reader.py::test_read_until_shared_boundary[60] PASSED [ 4%] 175s tests/asgi/test_buffered_reader.py::test_read_until_shared_boundary[61] PASSED [ 4%] 175s tests/asgi/test_buffered_reader.py::test_read_until_shared_boundary[62] PASSED [ 4%] 175s tests/asgi/test_buffered_reader.py::test_small_reads PASSED [ 4%] 175s tests/asgi/test_buffered_reader.py::test_small_reads_with_delimiter PASSED [ 4%] 175s tests/asgi/test_hello_asgi.py::TestHelloWorld::test_env_headers_list_of_tuples PASSED [ 4%] 175s tests/asgi/test_hello_asgi.py::TestHelloWorld::test_root_route PASSED [ 4%] 175s tests/asgi/test_hello_asgi.py::TestHelloWorld::test_no_route PASSED [ 4%] 175s tests/asgi/test_hello_asgi.py::TestHelloWorld::test_body[/body-resource0-] PASSED [ 4%] 175s tests/asgi/test_hello_asgi.py::TestHelloWorld::test_body[/bytes-resource1-] PASSED [ 4%] 175s tests/asgi/test_hello_asgi.py::TestHelloWorld::test_body[/data-resource2-] PASSED [ 4%] 175s tests/asgi/test_hello_asgi.py::TestHelloWorld::test_no_body_on_head PASSED [ 4%] 175s tests/asgi/test_hello_asgi.py::TestHelloWorld::test_stream_chunked PASSED [ 4%] 175s tests/asgi/test_hello_asgi.py::TestHelloWorld::test_stream_known_len PASSED [ 4%] 175s tests/asgi/test_hello_asgi.py::TestHelloWorld::test_filelike PASSED [ 4%] 175s tests/asgi/test_hello_asgi.py::TestHelloWorld::test_genfunc_error PASSED [ 4%] 175s tests/asgi/test_hello_asgi.py::TestHelloWorld::test_nongenfunc_error PASSED [ 4%] 175s tests/asgi/test_hello_asgi.py::TestHelloWorld::test_filelike_closing[DataReader-True] PASSED [ 5%] 175s tests/asgi/test_hello_asgi.py::TestHelloWorld::test_filelike_closing[DataReaderWithoutClose-False] PASSED [ 5%] 175s tests/asgi/test_hello_asgi.py::TestHelloWorld::test_filelike_closing_aiofiles PASSED [ 5%] 175s tests/asgi/test_hello_asgi.py::TestHelloWorld::test_filelike_using_helper PASSED [ 5%] 175s tests/asgi/test_hello_asgi.py::TestHelloWorld::test_closing_stream[10-3-3\n3\n3\n1\n-None] PASSED [ 5%] 175s tests/asgi/test_hello_asgi.py::TestHelloWorld::test_closing_stream[10-7-7\n3\n-None] PASSED [ 5%] 175s tests/asgi/test_hello_asgi.py::TestHelloWorld::test_closing_stream[10-17-10\n-None] PASSED [ 5%] 175s tests/asgi/test_hello_asgi.py::TestHelloWorld::test_closing_stream[20-0--ZeroDivisionError] PASSED [ 5%] 175s tests/asgi/test_hello_asgi.py::TestHelloWorld::test_status_not_set PASSED [ 5%] 175s tests/asgi/test_hello_asgi.py::TestHelloWorld::test_coroutine_required PASSED [ 5%] 175s tests/asgi/test_hello_asgi.py::TestHelloWorld::test_noncoroutine_required PASSED [ 5%] 175s tests/asgi/test_lifespan_handlers.py::test_at_least_one_event_method_required PASSED [ 5%] 175s tests/asgi/test_lifespan_handlers.py::test_startup_only PASSED [ 5%] 175s tests/asgi/test_lifespan_handlers.py::test_startup_raises PASSED [ 5%] 175s tests/asgi/test_lifespan_handlers.py::test_shutdown_raises PASSED [ 5%] 175s tests/asgi/test_lifespan_handlers.py::test_shutdown_only PASSED [ 5%] 175s tests/asgi/test_lifespan_handlers.py::test_multiple_handlers PASSED [ 5%] 175s tests/asgi/test_lifespan_handlers.py::test_asgi_conductor_raised_error_skips_shutdown PASSED [ 5%] 175s tests/asgi/test_middleware_asgi.py::test_raise_on_incompatible[middleware0] PASSED [ 5%] 175s tests/asgi/test_middleware_asgi.py::test_raise_on_incompatible[middleware1] PASSED [ 5%] 175s tests/asgi/test_middleware_asgi.py::test_raise_on_incompatible[middleware2] PASSED [ 5%] 175s tests/asgi/test_middleware_asgi.py::test_raise_on_incompatible[middleware3] PASSED [ 5%] 175s tests/asgi/test_misc.py::test_http_status_not_impl PASSED [ 5%] 175s tests/asgi/test_misc.py::test_http_error_not_impl PASSED [ 5%] 175s tests/asgi/test_misc.py::test_python_error_not_impl PASSED [ 5%] 175s tests/asgi/test_request_asgi.py::test_missing_server_in_scope PASSED [ 5%] 175s tests/asgi/test_request_asgi.py::test_log_error_not_supported PASSED [ 5%] 175s tests/asgi/test_request_asgi.py::test_env_not_supported PASSED [ 5%] 175s tests/asgi/test_request_body_asgi.py::TestRequestBody::test_empty_body PASSED [ 5%] 175s tests/asgi/test_request_body_asgi.py::TestRequestBody::test_tiny_body PASSED [ 5%] 175s tests/asgi/test_request_body_asgi.py::TestRequestBody::test_tiny_body_overflow PASSED [ 5%] 175s tests/asgi/test_request_body_asgi.py::TestRequestBody::test_content_length_smaller_than_body[1-0] PASSED [ 5%] 175s tests/asgi/test_request_body_asgi.py::TestRequestBody::test_content_length_smaller_than_body[2-1] PASSED [ 5%] 175s tests/asgi/test_request_body_asgi.py::TestRequestBody::test_content_length_smaller_than_body[3-2] PASSED [ 5%] 175s tests/asgi/test_request_body_asgi.py::TestRequestBody::test_content_length_smaller_than_body[100-None] PASSED [ 5%] 175s tests/asgi/test_request_body_asgi.py::TestRequestBody::test_content_length_smaller_than_body[100-50] PASSED [ 5%] 175s tests/asgi/test_request_body_asgi.py::TestRequestBody::test_content_length_smaller_than_body[8192-50] PASSED [ 5%] 175s tests/asgi/test_request_body_asgi.py::TestRequestBody::test_read_body PASSED [ 5%] 175s tests/asgi/test_request_body_asgi.py::TestRequestBody::test_bounded_stream_alias PASSED [ 5%] 175s tests/asgi/test_request_body_asgi.py::TestRequestBody::test_request_repr PASSED [ 6%] 175s tests/asgi/test_request_context_asgi.py::TestRequestContext::test_default_request_context PASSED [ 6%] 175s tests/asgi/test_request_context_asgi.py::TestRequestContext::test_custom_request_context PASSED [ 6%] 175s tests/asgi/test_request_context_asgi.py::TestRequestContext::test_custom_request_context_failure PASSED [ 6%] 175s tests/asgi/test_request_context_asgi.py::TestRequestContext::test_custom_request_context_request_access PASSED [ 6%] 175s tests/asgi/test_response_media_asgi.py::test_json[*/*] PASSED [ 6%] 175s tests/asgi/test_response_media_asgi.py::test_json[application/json] PASSED [ 6%] 175s tests/asgi/test_response_media_asgi.py::test_json[application/json; charset=utf-8] PASSED [ 6%] 175s tests/asgi/test_response_media_asgi.py::test_non_ascii_json_serialization[] PASSED [ 6%] 175s tests/asgi/test_response_media_asgi.py::test_non_ascii_json_serialization[I am a \u1d0a\ua731\u1d0f\u0274 string.] PASSED [ 6%] 175s tests/asgi/test_response_media_asgi.py::test_non_ascii_json_serialization[document2] PASSED [ 6%] 175s tests/asgi/test_response_media_asgi.py::test_non_ascii_json_serialization[document3] PASSED [ 6%] 175s tests/asgi/test_response_media_asgi.py::test_non_ascii_json_serialization[document4] PASSED [ 6%] 175s tests/asgi/test_response_media_asgi.py::test_msgpack[application/msgpack] PASSED [ 6%] 175s tests/asgi/test_response_media_asgi.py::test_msgpack[application/msgpack; charset=utf-8] PASSED [ 6%] 175s tests/asgi/test_response_media_asgi.py::test_msgpack[application/x-msgpack] PASSED [ 6%] 175s tests/asgi/test_response_media_asgi.py::test_custom_media_handler PASSED [ 6%] 175s tests/asgi/test_response_media_asgi.py::test_unknown_media_type PASSED [ 6%] 175s tests/asgi/test_response_media_asgi.py::test_default_media_type PASSED [ 6%] 175s tests/asgi/test_response_media_asgi.py::test_mimeparse_edgecases PASSED [ 6%] 175s tests/asgi/test_response_media_asgi.py::TestRenderBodyPrecedence::test_text PASSED [ 6%] 175s tests/asgi/test_response_media_asgi.py::TestRenderBodyPrecedence::test_data PASSED [ 6%] 175s tests/asgi/test_response_media_asgi.py::TestRenderBodyPrecedence::test_data_masquerading_as_text PASSED [ 6%] 175s tests/asgi/test_response_media_asgi.py::TestRenderBodyPrecedence::test_media PASSED [ 6%] 175s tests/asgi/test_response_media_asgi.py::test_media_rendered_cached PASSED [ 6%] 175s tests/asgi/test_response_media_asgi.py::test_custom_render_body PASSED [ 6%] 176s tests/asgi/test_scheduled_callbacks.py::test_multiple PASSED [ 6%] 176s tests/asgi/test_scheduled_callbacks.py::test_callback[GET-/-Hello, World!\n] PASSED [ 6%] 176s tests/asgi/test_scheduled_callbacks.py::test_callback[HEAD-/-] PASSED [ 6%] 176s tests/asgi/test_scheduled_callbacks.py::test_callback[GET-/sse-: ping\n\n] PASSED [ 6%] 176s tests/asgi/test_scheduled_callbacks.py::test_callback[GET-/stream-One\nTwo\nThree\n] PASSED [ 6%] 176s tests/asgi/test_scope.py::test_missing_asgi_version PASSED [ 6%] 176s tests/asgi/test_scope.py::test_unsupported_http_version[0.9] PASSED [ 6%] 176s tests/asgi/test_scope.py::test_unsupported_http_version[1.9] PASSED [ 6%] 176s tests/asgi/test_scope.py::test_unsupported_http_version[4.0] PASSED [ 6%] 176s tests/asgi/test_scope.py::test_unsupported_http_version[1337] PASSED [ 6%] 176s tests/asgi/test_scope.py::test_supported_asgi_version[3.0-True] PASSED [ 6%] 176s tests/asgi/test_scope.py::test_supported_asgi_version[3.1-True] PASSED [ 6%] 176s tests/asgi/test_scope.py::test_supported_asgi_version[3.10-True] PASSED [ 6%] 176s tests/asgi/test_scope.py::test_supported_asgi_version[30.0-False] PASSED [ 6%] 176s tests/asgi/test_scope.py::test_supported_asgi_version[31.0-False] PASSED [ 7%] 176s tests/asgi/test_scope.py::test_supported_asgi_version[4.0-False] PASSED [ 7%] 176s tests/asgi/test_scope.py::test_supported_asgi_version[4.1-False] PASSED [ 7%] 176s tests/asgi/test_scope.py::test_supported_asgi_version[4.10-False] PASSED [ 7%] 176s tests/asgi/test_scope.py::test_supported_asgi_version[40.0-False] PASSED [ 7%] 176s tests/asgi/test_scope.py::test_supported_asgi_version[41.0-False] PASSED [ 7%] 176s tests/asgi/test_scope.py::test_supported_asgi_version[2.0-False] PASSED [ 7%] 176s tests/asgi/test_scope.py::test_supported_asgi_version[2.1-False] PASSED [ 7%] 176s tests/asgi/test_scope.py::test_supported_asgi_version[2.10-False] PASSED [ 7%] 176s tests/asgi/test_scope.py::test_supported_asgi_version[None-False] PASSED [ 7%] 176s tests/asgi/test_scope.py::test_unsupported_scope_type[tubes] PASSED [ 7%] 176s tests/asgi/test_scope.py::test_unsupported_scope_type[http3] PASSED [ 7%] 176s tests/asgi/test_scope.py::test_unsupported_scope_type[htt] PASSED [ 7%] 176s tests/asgi/test_scope.py::test_supported_http_spec[0.0-False] PASSED [ 7%] 176s tests/asgi/test_scope.py::test_supported_http_spec[1.0-False] PASSED [ 7%] 176s tests/asgi/test_scope.py::test_supported_http_spec[11.0-False] PASSED [ 7%] 176s tests/asgi/test_scope.py::test_supported_http_spec[2.0-True] PASSED [ 7%] 176s tests/asgi/test_scope.py::test_supported_http_spec[2.1-True] PASSED [ 7%] 176s tests/asgi/test_scope.py::test_supported_http_spec[2.10-True] PASSED [ 7%] 176s tests/asgi/test_scope.py::test_supported_http_spec[20.0-False] PASSED [ 7%] 176s tests/asgi/test_scope.py::test_supported_http_spec[22.0-False] PASSED [ 7%] 176s tests/asgi/test_scope.py::test_supported_http_spec[3.0-False] PASSED [ 7%] 176s tests/asgi/test_scope.py::test_supported_http_spec[3.1-False] PASSED [ 7%] 176s tests/asgi/test_scope.py::test_supported_http_spec[30.0-False] PASSED [ 7%] 176s tests/asgi/test_scope.py::test_lifespan_scope_default_version PASSED [ 7%] 176s tests/asgi/test_scope.py::test_lifespan_scope_version[0.0-False] PASSED [ 7%] 176s tests/asgi/test_scope.py::test_lifespan_scope_version[1.0-True] PASSED [ 7%] 176s tests/asgi/test_scope.py::test_lifespan_scope_version[1.1-True] PASSED [ 7%] 176s tests/asgi/test_scope.py::test_lifespan_scope_version[1.10-True] PASSED [ 7%] 176s tests/asgi/test_scope.py::test_lifespan_scope_version[2.0-True] PASSED [ 7%] 176s tests/asgi/test_scope.py::test_lifespan_scope_version[2.1-True] PASSED [ 7%] 176s tests/asgi/test_scope.py::test_lifespan_scope_version[2.10-True] PASSED [ 7%] 176s tests/asgi/test_scope.py::test_lifespan_scope_version[3.0-False] PASSED [ 7%] 176s tests/asgi/test_scope.py::test_lifespan_scope_version[4.0-False] PASSED [ 7%] 176s tests/asgi/test_scope.py::test_lifespan_scope_version[11.0-False] PASSED [ 7%] 176s tests/asgi/test_scope.py::test_lifespan_scope_version[22.0-False] PASSED [ 7%] 176s tests/asgi/test_scope.py::test_query_string_values PASSED [ 7%] 176s tests/asgi/test_scope.py::test_scheme[http-True] PASSED [ 7%] 176s tests/asgi/test_scope.py::test_scheme[https-True] PASSED [ 7%] 176s tests/asgi/test_scope.py::test_scheme[htt-False] PASSED [ 8%] 176s tests/asgi/test_scope.py::test_scheme[http:-False] PASSED [ 8%] 176s tests/asgi/test_scope.py::test_scheme[https:-False] PASSED [ 8%] 176s tests/asgi/test_scope.py::test_scheme[ftp-False] PASSED [ 8%] 176s tests/asgi/test_scope.py::test_scheme[gopher-False] PASSED [ 8%] 176s tests/asgi/test_scope.py::test_cookies[cookies0] PASSED [ 8%] 176s tests/asgi/test_scope.py::test_cookies[cookies1] PASSED [ 8%] 176s tests/asgi/test_scope.py::test_cookies_options_meathod PASSED [ 8%] 176s tests/asgi/test_sse.py::test_no_events PASSED [ 8%] 176s tests/asgi/test_sse.py::test_single_event PASSED [ 8%] 176s tests/asgi/test_sse.py::test_multiple_events PASSED [ 8%] 176s tests/asgi/test_sse.py::test_multiple_events_early_disconnect PASSED [ 8%] 176s tests/asgi/test_sse.py::TestSerializeJson::test_use_media_handler_dumps PASSED [ 8%] 176s tests/asgi/test_sse.py::TestSerializeJson::test_no_json_media_handler PASSED [ 8%] 176s tests/asgi/test_sse.py::test_invalid_event_values PASSED [ 8%] 176s tests/asgi/test_sse.py::test_non_iterable PASSED [ 8%] 179s tests/asgi/test_sync.py::test_sync_helpers PASSED [ 8%] 179s tests/asgi/test_sync.py::test_sync_asyncio_aliases PASSED [ 8%] 180s tests/asgi/test_testing_asgi.py::test_asgi_request_event_emitter_hang PASSED [ 8%] 180s tests/asgi/test_testing_asgi.py::test_ignore_extra_asgi_events PASSED [ 8%] 180s tests/asgi/test_testing_asgi.py::test_invalid_asgi_events PASSED [ 8%] 180s tests/asgi/test_testing_asgi.py::test_is_asgi_app_cls PASSED [ 8%] 180s tests/asgi/test_testing_asgi.py::test_cookies_jar PASSED [ 8%] 180s tests/asgi/test_testing_asgi.py::test_create_scope_default_ua PASSED [ 8%] 180s tests/asgi/test_testing_asgi.py::test_create_scope_default_ua_override PASSED [ 8%] 180s tests/asgi/test_testing_asgi.py::test_create_scope_default_ua_modify_global PASSED [ 8%] 180s tests/asgi/test_testing_asgi.py::test_missing_header_is_none PASSED [ 8%] 180s tests/asgi/test_testing_asgi.py::test_immediate_disconnect PASSED [ 8%] 180s tests/asgi/test_ws.py::test_ws_not_accepted[/ws/yes] PASSED [ 8%] 180s tests/asgi/test_ws.py::test_ws_not_accepted[/ws/no] PASSED [ 8%] 190s tests/asgi/test_ws.py::test_echo PASSED [ 8%] 190s tests/asgi/test_ws.py::test_path_not_found PASSED [ 8%] 190s tests/asgi/test_ws.py::test_responder_raises_unhandled_error[True] PASSED [ 8%] 190s tests/asgi/test_ws.py::test_responder_raises_unhandled_error[False] PASSED [ 8%] 190s tests/asgi/test_ws.py::test_client_disconnect_early[True-True-send] PASSED [ 8%] 191s tests/asgi/test_ws.py::test_client_disconnect_early[True-True-receive] PASSED [ 8%] 191s tests/asgi/test_ws.py::test_client_disconnect_early[True-False-send] PASSED [ 8%] 191s tests/asgi/test_ws.py::test_client_disconnect_early[True-False-receive] PASSED [ 8%] 191s tests/asgi/test_ws.py::test_client_disconnect_early[False-True-send] PASSED [ 8%] 191s tests/asgi/test_ws.py::test_client_disconnect_early[False-True-receive] PASSED [ 9%] 191s tests/asgi/test_ws.py::test_client_disconnect_early[False-False-send] PASSED [ 9%] 191s tests/asgi/test_ws.py::test_client_disconnect_early[False-False-receive] PASSED [ 9%] 191s tests/asgi/test_ws.py::test_media[True-True] PASSED [ 9%] 191s tests/asgi/test_ws.py::test_media[True-False] PASSED [ 9%] 191s tests/asgi/test_ws.py::test_media[False-True] PASSED [ 9%] 191s tests/asgi/test_ws.py::test_media[False-False] PASSED [ 9%] 191s tests/asgi/test_ws.py::test_send_receive_data[123] PASSED [ 9%] 191s tests/asgi/test_ws.py::test_send_receive_data[] PASSED [ 9%] 191s tests/asgi/test_ws.py::test_send_receive_data[\xe1\x9a\xa0\xe1] PASSED [ 9%] 191s tests/asgi/test_ws.py::test_send_receive_data[\x00] PASSED [ 9%] 191s tests/asgi/test_ws.py::test_subprotocol[subprotocols0] PASSED [ 9%] 191s tests/asgi/test_ws.py::test_subprotocol[subprotocols1] PASSED [ 9%] 191s tests/asgi/test_ws.py::test_subprotocol[subprotocols2] PASSED [ 9%] 191s tests/asgi/test_ws.py::test_subprotocol[None] PASSED [ 9%] 191s tests/asgi/test_ws.py::test_accept_with_headers[None] PASSED [ 9%] 191s tests/asgi/test_ws.py::test_accept_with_headers[headers1] PASSED [ 9%] 191s tests/asgi/test_ws.py::test_accept_with_headers[headers2] PASSED [ 9%] 191s tests/asgi/test_ws.py::test_accept_with_headers[headers3] PASSED [ 9%] 191s tests/asgi/test_ws.py::test_accept_with_headers[headers4] PASSED [ 9%] 191s tests/asgi/test_ws.py::test_accept_with_headers[headers5] PASSED [ 9%] 191s tests/asgi/test_ws.py::test_accept_with_headers[headers6] PASSED [ 9%] 191s tests/asgi/test_ws.py::test_accept_with_bad_headers[headers0] PASSED [ 9%] 191s tests/asgi/test_ws.py::test_accept_with_bad_headers[headers1] PASSED [ 9%] 191s tests/asgi/test_ws.py::test_accept_with_bad_headers[headers2] PASSED [ 9%] 191s tests/asgi/test_ws.py::test_accept_with_headers_not_supported PASSED [ 9%] 191s tests/asgi/test_ws.py::test_missing_ws_handler PASSED [ 9%] 191s tests/asgi/test_ws.py::test_unexpected_param PASSED [ 9%] 191s tests/asgi/test_ws.py::test_subprotocol_bad_type[DEADBEEF] PASSED [ 9%] 191s tests/asgi/test_ws.py::test_subprotocol_bad_type[subprotocol1] PASSED [ 9%] 191s tests/asgi/test_ws.py::test_subprotocol_bad_type[subprotocol2] PASSED [ 9%] 191s tests/asgi/test_ws.py::test_subprotocol_bad_type[subprotocol3] PASSED [ 9%] 191s tests/asgi/test_ws.py::test_subprotocol_bad_type[subprotocol4] PASSED [ 9%] 191s tests/asgi/test_ws.py::test_subprotocol_bad_type[OK] PASSED [ 9%] 191s tests/asgi/test_ws.py::test_send_receive_wrong_type PASSED [ 9%] 191s tests/asgi/test_ws.py::test_client_disconnect_uncaught_error[999] PASSED [ 9%] 191s tests/asgi/test_ws.py::test_client_disconnect_uncaught_error[100] PASSED [ 9%] 191s tests/asgi/test_ws.py::test_client_disconnect_uncaught_error[0] PASSED [ 9%] 191s tests/asgi/test_ws.py::test_client_disconnect_uncaught_error[-1] PASSED [ 9%] 191s tests/asgi/test_ws.py::test_client_disconnect_uncaught_error[1004] PASSED [ 10%] 191s tests/asgi/test_ws.py::test_client_disconnect_uncaught_error[1005] PASSED [ 10%] 191s tests/asgi/test_ws.py::test_client_disconnect_uncaught_error[1006] PASSED [ 10%] 191s tests/asgi/test_ws.py::test_client_disconnect_uncaught_error[1015] PASSED [ 10%] 191s tests/asgi/test_ws.py::test_client_disconnect_uncaught_error[1016] PASSED [ 10%] 191s tests/asgi/test_ws.py::test_client_disconnect_uncaught_error[1017] PASSED [ 10%] 191s tests/asgi/test_ws.py::test_client_disconnect_uncaught_error[1050] PASSED [ 10%] 191s tests/asgi/test_ws.py::test_client_disconnect_uncaught_error[1099] PASSED [ 10%] 191s tests/asgi/test_ws.py::test_client_disconnect_uncaught_error[NaN] PASSED [ 10%] 191s tests/asgi/test_ws.py::test_mw_methods_must_be_coroutines PASSED [ 10%] 191s tests/asgi/test_ws.py::test_bad_spec_version[1.9] PASSED [ 10%] 191s tests/asgi/test_ws.py::test_bad_spec_version[20.5] PASSED [ 10%] 191s tests/asgi/test_ws.py::test_bad_spec_version[3.0] PASSED [ 10%] 191s tests/asgi/test_ws.py::test_bad_spec_version[3.1] PASSED [ 10%] 191s tests/asgi/test_ws.py::test_bad_http_version[1.0] PASSED [ 10%] 191s tests/asgi/test_ws.py::test_bad_http_version[1] PASSED [ 10%] 191s tests/asgi/test_ws.py::test_bad_first_event[2.1] PASSED [ 10%] 191s tests/asgi/test_ws.py::test_bad_first_event[2.3] PASSED [ 10%] 191s tests/asgi/test_ws.py::test_bad_first_event[2.10.3] PASSED [ 10%] 191s tests/asgi/test_ws.py::test_missing_http_version PASSED [ 10%] 191s tests/asgi/test_ws.py::test_missing_spec_version PASSED [ 10%] 191s tests/asgi/test_ws.py::test_translate_webserver_error PASSED [ 10%] 191s tests/asgi/test_ws.py::test_ws_base_not_implemented PASSED [ 10%] 196s tests/asgi/test_ws.py::test_ws_context_timeout PASSED [ 10%] 196s tests/asgi/test_ws.py::test_ws_simulator_client_require_accepted PASSED [ 10%] 196s tests/asgi/test_ws.py::test_ws_simulator_collect_edge_cases PASSED [ 10%] 196s tests/asgi/test_ws.py::test_ws_responder_never_ready PASSED [ 10%] 196s tests/asgi/test_ws.py::test_msgpack_missing SKIPPED (test requires m...) [ 10%] 196s tests/asgi/test_ws.py::test_client_close_with_reason[Client closing connection] PASSED [ 10%] 196s tests/asgi/test_ws.py::test_client_close_with_reason[] PASSED [ 10%] 196s tests/asgi/test_ws.py::test_client_close_with_reason[None] PASSED [ 10%] 196s tests/asgi/test_ws.py::test_close_with_reason_no_cm[PEBCAK] PASSED [ 10%] 196s tests/asgi/test_ws.py::test_close_with_reason_no_cm[wow such reason] PASSED [ 10%] 196s tests/asgi/test_ws.py::test_close_with_reason_no_cm[] PASSED [ 10%] 196s tests/asgi/test_ws.py::test_close_with_reason_no_cm[None] PASSED [ 10%] 196s tests/asgi/test_ws.py::test_close_with_reason[2.2-PEBCAK] PASSED [ 10%] 196s tests/asgi/test_ws.py::test_close_with_reason[2.2-wow such reason] PASSED [ 10%] 196s tests/asgi/test_ws.py::test_close_with_reason[2.2-] PASSED [ 10%] 196s tests/asgi/test_ws.py::test_close_with_reason[2.2-None] PASSED [ 10%] 196s tests/asgi/test_ws.py::test_close_with_reason[2.3-PEBCAK] PASSED [ 11%] 196s tests/asgi/test_ws.py::test_close_with_reason[2.3-wow such reason] PASSED [ 11%] 196s tests/asgi/test_ws.py::test_close_with_reason[2.3-] PASSED [ 11%] 196s tests/asgi/test_ws.py::test_close_with_reason[2.3-None] PASSED [ 11%] 196s tests/asgi/test_ws.py::test_close_with_reason[2.4-PEBCAK] PASSED [ 11%] 196s tests/asgi/test_ws.py::test_close_with_reason[2.4-wow such reason] PASSED [ 11%] 196s tests/asgi/test_ws.py::test_close_with_reason[2.4-] PASSED [ 11%] 196s tests/asgi/test_ws.py::test_close_with_reason[2.4-None] PASSED [ 11%] 196s tests/asgi/test_ws.py::test_reason_mapping[None-Normal Closure-True] PASSED [ 11%] 196s tests/asgi/test_ws.py::test_reason_mapping[None-Normal Closure-False] PASSED [ 11%] 196s tests/asgi/test_ws.py::test_reason_mapping[1011-Internal Server Error-True] PASSED [ 11%] 196s tests/asgi/test_ws.py::test_reason_mapping[1011-Internal Server Error-False] PASSED [ 11%] 196s tests/asgi/test_ws.py::test_reason_mapping[3405-Method Not Allowed-True] PASSED [ 11%] 196s tests/asgi/test_ws.py::test_reason_mapping[3405-Method Not Allowed-False] PASSED [ 11%] 196s tests/asgi/test_ws.py::test_reason_mapping[3701--True] PASSED [ 11%] 196s tests/asgi/test_ws.py::test_reason_mapping[3701--False] PASSED [ 11%] 196s tests/asgi/test_ws.py::test_reason_mapping[3702-Emacs-True] PASSED [ 11%] 196s tests/asgi/test_ws.py::test_reason_mapping[3702-Emacs-False] PASSED [ 11%] 196s tests/asgi/test_ws.py::test_reason_mapping[4042--True] PASSED [ 11%] 196s tests/asgi/test_ws.py::test_reason_mapping[4042--False] PASSED [ 11%] 196s tests/asgi/test_ws.py::test_reason_mapping[4099-wow such reason-True] PASSED [ 11%] 196s tests/asgi/test_ws.py::test_reason_mapping[4099-wow such reason-False] PASSED [ 11%] 196s tests/asgi/test_ws.py::test_ws_http_error_or_status_response[True-HTTPStatus-200] PASSED [ 11%] 196s tests/asgi/test_ws.py::test_ws_http_error_or_status_response[True-HTTPStatus-500] PASSED [ 11%] 196s tests/asgi/test_ws.py::test_ws_http_error_or_status_response[True-HTTPStatus-422] PASSED [ 11%] 196s tests/asgi/test_ws.py::test_ws_http_error_or_status_response[True-HTTPStatus-400] PASSED [ 11%] 196s tests/asgi/test_ws.py::test_ws_http_error_or_status_response[True-HTTPError-200] PASSED [ 11%] 196s tests/asgi/test_ws.py::test_ws_http_error_or_status_response[True-HTTPError-500] PASSED [ 11%] 196s tests/asgi/test_ws.py::test_ws_http_error_or_status_response[True-HTTPError-422] PASSED [ 11%] 196s tests/asgi/test_ws.py::test_ws_http_error_or_status_response[True-HTTPError-400] PASSED [ 11%] 196s tests/asgi/test_ws.py::test_ws_http_error_or_status_response[False-HTTPStatus-200] PASSED [ 11%] 196s tests/asgi/test_ws.py::test_ws_http_error_or_status_response[False-HTTPStatus-500] PASSED [ 11%] 196s tests/asgi/test_ws.py::test_ws_http_error_or_status_response[False-HTTPStatus-422] PASSED [ 11%] 196s tests/asgi/test_ws.py::test_ws_http_error_or_status_response[False-HTTPStatus-400] PASSED [ 11%] 196s tests/asgi/test_ws.py::test_ws_http_error_or_status_response[False-HTTPError-200] PASSED [ 11%] 196s tests/asgi/test_ws.py::test_ws_http_error_or_status_response[False-HTTPError-500] PASSED [ 11%] 196s tests/asgi/test_ws.py::test_ws_http_error_or_status_response[False-HTTPError-422] PASSED [ 11%] 196s tests/asgi/test_ws.py::test_ws_http_error_or_status_response[False-HTTPError-400] PASSED [ 11%] 196s tests/asgi/test_ws.py::test_ws_http_error_or_status_middleware[request-HTTPStatus-200] PASSED [ 11%] 196s tests/asgi/test_ws.py::test_ws_http_error_or_status_middleware[request-HTTPStatus-500] PASSED [ 12%] 196s tests/asgi/test_ws.py::test_ws_http_error_or_status_middleware[request-HTTPStatus-422] PASSED [ 12%] 196s tests/asgi/test_ws.py::test_ws_http_error_or_status_middleware[request-HTTPStatus-400] PASSED [ 12%] 196s tests/asgi/test_ws.py::test_ws_http_error_or_status_middleware[request-HTTPError-200] PASSED [ 12%] 196s tests/asgi/test_ws.py::test_ws_http_error_or_status_middleware[request-HTTPError-500] PASSED [ 12%] 196s tests/asgi/test_ws.py::test_ws_http_error_or_status_middleware[request-HTTPError-422] PASSED [ 12%] 196s tests/asgi/test_ws.py::test_ws_http_error_or_status_middleware[request-HTTPError-400] PASSED [ 12%] 196s tests/asgi/test_ws.py::test_ws_http_error_or_status_middleware[resource-HTTPStatus-200] PASSED [ 12%] 196s tests/asgi/test_ws.py::test_ws_http_error_or_status_middleware[resource-HTTPStatus-500] PASSED [ 12%] 196s tests/asgi/test_ws.py::test_ws_http_error_or_status_middleware[resource-HTTPStatus-422] PASSED [ 12%] 196s tests/asgi/test_ws.py::test_ws_http_error_or_status_middleware[resource-HTTPStatus-400] PASSED [ 12%] 196s tests/asgi/test_ws.py::test_ws_http_error_or_status_middleware[resource-HTTPError-200] PASSED [ 12%] 196s tests/asgi/test_ws.py::test_ws_http_error_or_status_middleware[resource-HTTPError-500] PASSED [ 12%] 196s tests/asgi/test_ws.py::test_ws_http_error_or_status_middleware[resource-HTTPError-422] PASSED [ 12%] 196s tests/asgi/test_ws.py::test_ws_http_error_or_status_middleware[resource-HTTPError-400] PASSED [ 12%] 196s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-request-HTTPStatus-200] PASSED [ 12%] 196s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-request-HTTPStatus-500] PASSED [ 12%] 196s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-request-HTTPStatus-422] PASSED [ 12%] 196s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-request-HTTPStatus-400] PASSED [ 12%] 196s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-request-HTTPError-200] PASSED [ 12%] 196s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-request-HTTPError-500] PASSED [ 12%] 196s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-request-HTTPError-422] PASSED [ 12%] 196s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-request-HTTPError-400] PASSED [ 12%] 196s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-resource-HTTPStatus-200] PASSED [ 12%] 196s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-resource-HTTPStatus-500] PASSED [ 12%] 196s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-resource-HTTPStatus-422] PASSED [ 12%] 196s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-resource-HTTPStatus-400] PASSED [ 12%] 196s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-resource-HTTPError-200] PASSED [ 12%] 196s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-resource-HTTPError-500] PASSED [ 12%] 196s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-resource-HTTPError-422] PASSED [ 12%] 196s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-resource-HTTPError-400] PASSED [ 12%] 196s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-ws_before_accept-HTTPStatus-200] PASSED [ 12%] 196s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-ws_before_accept-HTTPStatus-500] PASSED [ 12%] 196s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-ws_before_accept-HTTPStatus-422] PASSED [ 12%] 196s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-ws_before_accept-HTTPStatus-400] PASSED [ 12%] 196s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-ws_before_accept-HTTPError-200] PASSED [ 12%] 196s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-ws_before_accept-HTTPError-500] PASSED [ 12%] 196s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-ws_before_accept-HTTPError-422] PASSED [ 12%] 196s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-ws_before_accept-HTTPError-400] PASSED [ 12%] 196s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-ws_after_accept-HTTPStatus-200] PASSED [ 13%] 196s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-ws_after_accept-HTTPStatus-500] PASSED [ 13%] 196s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-ws_after_accept-HTTPStatus-422] PASSED [ 13%] 196s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-ws_after_accept-HTTPStatus-400] PASSED [ 13%] 196s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-ws_after_accept-HTTPError-200] PASSED [ 13%] 196s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-ws_after_accept-HTTPError-500] PASSED [ 13%] 196s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-ws_after_accept-HTTPError-422] PASSED [ 13%] 196s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-ws_after_accept-HTTPError-400] PASSED [ 13%] 196s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-request-HTTPStatus-200] PASSED [ 13%] 196s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-request-HTTPStatus-500] PASSED [ 13%] 196s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-request-HTTPStatus-422] PASSED [ 13%] 196s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-request-HTTPStatus-400] PASSED [ 13%] 196s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-request-HTTPError-200] PASSED [ 13%] 196s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-request-HTTPError-500] PASSED [ 13%] 196s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-request-HTTPError-422] PASSED [ 13%] 196s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-request-HTTPError-400] PASSED [ 13%] 196s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-resource-HTTPStatus-200] PASSED [ 13%] 196s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-resource-HTTPStatus-500] PASSED [ 13%] 196s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-resource-HTTPStatus-422] PASSED [ 13%] 196s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-resource-HTTPStatus-400] PASSED [ 13%] 196s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-resource-HTTPError-200] PASSED [ 13%] 196s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-resource-HTTPError-500] PASSED [ 13%] 196s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-resource-HTTPError-422] PASSED [ 13%] 196s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-resource-HTTPError-400] PASSED [ 13%] 196s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-ws_before_accept-HTTPStatus-200] PASSED [ 13%] 196s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-ws_before_accept-HTTPStatus-500] PASSED [ 13%] 196s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-ws_before_accept-HTTPStatus-422] PASSED [ 13%] 196s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-ws_before_accept-HTTPStatus-400] PASSED [ 13%] 196s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-ws_before_accept-HTTPError-200] PASSED [ 13%] 196s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-ws_before_accept-HTTPError-500] PASSED [ 13%] 196s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-ws_before_accept-HTTPError-422] PASSED [ 13%] 196s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-ws_before_accept-HTTPError-400] PASSED [ 13%] 196s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-ws_after_accept-HTTPStatus-200] PASSED [ 13%] 196s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-ws_after_accept-HTTPStatus-500] PASSED [ 13%] 196s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-ws_after_accept-HTTPStatus-422] PASSED [ 13%] 196s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-ws_after_accept-HTTPStatus-400] PASSED [ 13%] 196s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-ws_after_accept-HTTPError-200] PASSED [ 13%] 196s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-ws_after_accept-HTTPError-500] PASSED [ 13%] 196s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-ws_after_accept-HTTPError-422] PASSED [ 13%] 196s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-ws_after_accept-HTTPError-400] PASSED [ 13%] 196s tests/asgi/test_ws.py::test_max_receive_queue_sizes[0] PASSED [ 14%] 196s tests/asgi/test_ws.py::test_max_receive_queue_sizes[1] PASSED [ 14%] 196s tests/asgi/test_ws.py::test_max_receive_queue_sizes[4] PASSED [ 14%] 196s tests/asgi/test_ws.py::test_max_receive_queue_sizes[7] PASSED [ 14%] 196s tests/asgi/test_ws.py::test_max_receive_queue_sizes[17] PASSED [ 14%] 196s tests/test_after_hooks.py::test_output_validator[asgi] PASSED [ 14%] 196s tests/test_after_hooks.py::test_output_validator[wsgi] PASSED [ 14%] 196s tests/test_after_hooks.py::test_serializer[asgi] PASSED [ 14%] 196s tests/test_after_hooks.py::test_serializer[wsgi] PASSED [ 14%] 196s tests/test_after_hooks.py::test_hook_as_callable_class[asgi] PASSED [ 14%] 196s tests/test_after_hooks.py::test_hook_as_callable_class[wsgi] PASSED [ 14%] 196s tests/test_after_hooks.py::test_resource_with_uri_fields[asgi-resource0] PASSED [ 14%] 196s tests/test_after_hooks.py::test_resource_with_uri_fields[asgi-resource1] PASSED [ 14%] 196s tests/test_after_hooks.py::test_resource_with_uri_fields[wsgi-resource0] PASSED [ 14%] 196s tests/test_after_hooks.py::test_resource_with_uri_fields[wsgi-resource1] PASSED [ 14%] 196s tests/test_after_hooks.py::test_resource_with_uri_fields_async PASSED [ 14%] 196s tests/test_after_hooks.py::test_wrapped_resource[asgi-resource0] PASSED [ 14%] 196s tests/test_after_hooks.py::test_wrapped_resource[asgi-resource1] PASSED [ 14%] 196s tests/test_after_hooks.py::test_wrapped_resource[wsgi-resource0] PASSED [ 14%] 196s tests/test_after_hooks.py::test_wrapped_resource[wsgi-resource1] PASSED [ 14%] 196s tests/test_after_hooks.py::test_wrapped_resource_with_hooks_aware_of_resource[asgi] PASSED [ 14%] 196s tests/test_after_hooks.py::test_wrapped_resource_with_hooks_aware_of_resource[wsgi] PASSED [ 14%] 196s tests/test_after_hooks.py::test_after_hooks_on_suffixed_resource[paper-/once-paper, rock, scissors] PASSED [ 14%] 196s tests/test_after_hooks.py::test_after_hooks_on_suffixed_resource[scissors-/twice-scissors, paper, rock, scissors] PASSED [ 14%] 196s tests/test_after_hooks.py::test_after_hooks_on_suffixed_resource[rock-/thrice-rock, scissors, paper, rock, scissors] PASSED [ 14%] 196s tests/test_after_hooks.py::test_after_hooks_on_suffixed_resource[paper-/thrice-paper, rock, scissors, paper, rock] PASSED [ 14%] 196s tests/test_alias.py::test_cookies PASSED [ 14%] 196s tests/test_alias.py::test_alias_equals_to_app PASSED [ 14%] 196s tests/test_app_initializers.py::test_api_media_type_overriding[App] PASSED [ 14%] 196s tests/test_app_initializers.py::test_api_media_type_overriding[API] PASSED [ 14%] 196s tests/test_before_hooks.py::test_multiple_resource_hooks[asgi-resource0] PASSED [ 14%] 196s tests/test_before_hooks.py::test_multiple_resource_hooks[asgi-resource1] PASSED [ 14%] 196s tests/test_before_hooks.py::test_multiple_resource_hooks[wsgi-resource0] PASSED [ 14%] 196s tests/test_before_hooks.py::test_multiple_resource_hooks[wsgi-resource1] PASSED [ 14%] 196s tests/test_before_hooks.py::test_input_validator[asgi] PASSED [ 14%] 196s tests/test_before_hooks.py::test_input_validator[wsgi] PASSED [ 14%] 196s tests/test_before_hooks.py::test_input_validator_inherited[asgi] PASSED [ 14%] 196s tests/test_before_hooks.py::test_input_validator_inherited[wsgi] PASSED [ 14%] 196s tests/test_before_hooks.py::test_param_validator[asgi] PASSED [ 14%] 196s tests/test_before_hooks.py::test_param_validator[wsgi] PASSED [ 15%] 196s tests/test_before_hooks.py::test_field_validator[asgi-resource0] PASSED [ 15%] 196s tests/test_before_hooks.py::test_field_validator[asgi-resource1] PASSED [ 15%] 196s tests/test_before_hooks.py::test_field_validator[asgi-resource2] PASSED [ 15%] 196s tests/test_before_hooks.py::test_field_validator[wsgi-resource0] PASSED [ 15%] 196s tests/test_before_hooks.py::test_field_validator[wsgi-resource1] PASSED [ 15%] 196s tests/test_before_hooks.py::test_field_validator[wsgi-resource2] PASSED [ 15%] 196s tests/test_before_hooks.py::test_parser_sync[{"animal": "falcon"}-doc0] PASSED [ 15%] 196s tests/test_before_hooks.py::test_parser_sync[{}-doc1] PASSED [ 15%] 196s tests/test_before_hooks.py::test_parser_sync[-None] PASSED [ 15%] 196s tests/test_before_hooks.py::test_parser_sync[None-None] PASSED [ 15%] 196s tests/test_before_hooks.py::test_parser_async[{"animal": "falcon"}-doc0] PASSED [ 15%] 196s tests/test_before_hooks.py::test_parser_async[{}-doc1] PASSED [ 15%] 196s tests/test_before_hooks.py::test_parser_async[-None] PASSED [ 15%] 196s tests/test_before_hooks.py::test_parser_async[None-None] PASSED [ 15%] 196s tests/test_before_hooks.py::test_wrapped_resource[asgi] PASSED [ 15%] 196s tests/test_before_hooks.py::test_wrapped_resource[wsgi] PASSED [ 15%] 196s tests/test_before_hooks.py::test_wrapped_resource_with_hooks_aware_of_resource[asgi] PASSED [ 15%] 196s tests/test_before_hooks.py::test_wrapped_resource_with_hooks_aware_of_resource[wsgi] PASSED [ 15%] 196s tests/test_before_hooks.py::test_piggybacking_resource_post_item[asgi] PASSED [ 15%] 196s tests/test_before_hooks.py::test_piggybacking_resource_post_item[wsgi] PASSED [ 15%] 196s tests/test_before_hooks.py::test_piggybacking_resource_post_and_delete[asgi] PASSED [ 15%] 196s tests/test_before_hooks.py::test_piggybacking_resource_post_and_delete[wsgi] PASSED [ 15%] 196s tests/test_before_hooks.py::test_decorable_name_pattern PASSED [ 15%] 196s tests/test_boundedstream.py::test_not_writable PASSED [ 15%] 196s tests/test_boundedstream.py::test_exhausted PASSED [ 15%] 196s tests/test_buffered_reader.py::test_peek PASSED [ 15%] 196s tests/test_buffered_reader.py::test_peek_eof PASSED [ 15%] 196s tests/test_buffered_reader.py::test_bounded_read PASSED [ 15%] 196s tests/test_buffered_reader.py::test_read_from_buffer[0] PASSED [ 15%] 196s tests/test_buffered_reader.py::test_read_from_buffer[1] PASSED [ 15%] 196s tests/test_buffered_reader.py::test_read_from_buffer[2] PASSED [ 15%] 196s tests/test_buffered_reader.py::test_read_from_buffer[7] PASSED [ 15%] 196s tests/test_buffered_reader.py::test_read_from_buffer[62] PASSED [ 15%] 196s tests/test_buffered_reader.py::test_read_from_buffer[63] PASSED [ 15%] 196s tests/test_buffered_reader.py::test_read_from_buffer[64] PASSED [ 15%] 196s tests/test_buffered_reader.py::test_read_from_buffer[65] PASSED [ 15%] 196s tests/test_buffered_reader.py::test_read_from_buffer[126] PASSED [ 15%] 196s tests/test_buffered_reader.py::test_read_from_buffer[127] PASSED [ 15%] 196s tests/test_buffered_reader.py::test_read_from_buffer[128] PASSED [ 16%] 196s tests/test_buffered_reader.py::test_read_from_buffer[129] PASSED [ 16%] 196s tests/test_buffered_reader.py::test_read_from_buffer[1000] PASSED [ 16%] 196s tests/test_buffered_reader.py::test_read_from_buffer[10000] PASSED [ 16%] 196s tests/test_buffered_reader.py::test_read_until_delimiter_size_check PASSED [ 16%] 196s tests/test_buffered_reader.py::test_read_until_with_size[0] PASSED [ 16%] 196s tests/test_buffered_reader.py::test_read_until_with_size[1] PASSED [ 16%] 196s tests/test_buffered_reader.py::test_read_until_with_size[2] PASSED [ 16%] 196s tests/test_buffered_reader.py::test_read_until_with_size[7] PASSED [ 16%] 196s tests/test_buffered_reader.py::test_read_until_with_size[62] PASSED [ 16%] 196s tests/test_buffered_reader.py::test_read_until_with_size[63] PASSED [ 16%] 196s tests/test_buffered_reader.py::test_read_until_with_size[64] PASSED [ 16%] 196s tests/test_buffered_reader.py::test_read_until_with_size[65] PASSED [ 16%] 196s tests/test_buffered_reader.py::test_read_until_with_size[126] PASSED [ 16%] 196s tests/test_buffered_reader.py::test_read_until_with_size[127] PASSED [ 16%] 196s tests/test_buffered_reader.py::test_read_until_with_size[128] PASSED [ 16%] 196s tests/test_buffered_reader.py::test_read_until_with_size[129] PASSED [ 16%] 196s tests/test_buffered_reader.py::test_read_until_with_size[1000] PASSED [ 16%] 196s tests/test_buffered_reader.py::test_read_until_with_size[10000] PASSED [ 16%] 197s tests/test_buffered_reader.py::test_read_until PASSED [ 16%] 197s tests/test_buffered_reader.py::test_irregular_large_read_until[11003077-22000721] PASSED [ 16%] 197s tests/test_buffered_reader.py::test_irregular_large_read_until[13372477-51637898] PASSED [ 16%] 197s tests/test_buffered_reader.py::test_read_until_from_buffer[0] PASSED [ 16%] 197s tests/test_buffered_reader.py::test_read_until_from_buffer[1] PASSED [ 16%] 197s tests/test_buffered_reader.py::test_read_until_from_buffer[2] PASSED [ 16%] 197s tests/test_buffered_reader.py::test_read_until_from_buffer[7] PASSED [ 16%] 197s tests/test_buffered_reader.py::test_read_until_from_buffer[62] PASSED [ 16%] 197s tests/test_buffered_reader.py::test_read_until_from_buffer[63] PASSED [ 16%] 197s tests/test_buffered_reader.py::test_read_until_from_buffer[64] PASSED [ 16%] 197s tests/test_buffered_reader.py::test_read_until_from_buffer[65] PASSED [ 16%] 197s tests/test_buffered_reader.py::test_read_until_from_buffer[126] PASSED [ 16%] 197s tests/test_buffered_reader.py::test_read_until_from_buffer[127] PASSED [ 16%] 197s tests/test_buffered_reader.py::test_read_until_from_buffer[128] PASSED [ 16%] 197s tests/test_buffered_reader.py::test_read_until_from_buffer[129] PASSED [ 16%] 197s tests/test_buffered_reader.py::test_read_until_from_buffer[1000] PASSED [ 16%] 197s tests/test_buffered_reader.py::test_read_until_missing_delimiter PASSED [ 16%] 197s tests/test_buffered_reader.py::test_consume_delimiter PASSED [ 16%] 197s tests/test_buffered_reader.py::test_read_until_shared_boundary[46] PASSED [ 16%] 197s tests/test_buffered_reader.py::test_read_until_shared_boundary[47] PASSED [ 16%] 197s tests/test_buffered_reader.py::test_read_until_shared_boundary[48] PASSED [ 17%] 197s tests/test_buffered_reader.py::test_read_until_shared_boundary[49] PASSED [ 17%] 197s tests/test_buffered_reader.py::test_read_until_shared_boundary[50] PASSED [ 17%] 197s tests/test_buffered_reader.py::test_read_until_shared_boundary[51] PASSED [ 17%] 197s tests/test_buffered_reader.py::test_read_until_shared_boundary[52] PASSED [ 17%] 197s tests/test_buffered_reader.py::test_read_until_shared_boundary[53] PASSED [ 17%] 197s tests/test_buffered_reader.py::test_read_until_shared_boundary[54] PASSED [ 17%] 197s tests/test_buffered_reader.py::test_read_until_shared_boundary[55] PASSED [ 17%] 197s tests/test_buffered_reader.py::test_read_until_shared_boundary[56] PASSED [ 17%] 197s tests/test_buffered_reader.py::test_read_until_shared_boundary[57] PASSED [ 17%] 197s tests/test_buffered_reader.py::test_read_until_shared_boundary[58] PASSED [ 17%] 197s tests/test_buffered_reader.py::test_read_until_shared_boundary[59] PASSED [ 17%] 197s tests/test_buffered_reader.py::test_read_until_shared_boundary[60] PASSED [ 17%] 197s tests/test_buffered_reader.py::test_read_until_shared_boundary[61] PASSED [ 17%] 197s tests/test_buffered_reader.py::test_read_until_shared_boundary[62] PASSED [ 17%] 197s tests/test_buffered_reader.py::test_pipe PASSED [ 17%] 197s tests/test_buffered_reader.py::test_pipe_until PASSED [ 17%] 197s tests/test_buffered_reader.py::test_pipe_until_without_destination PASSED [ 17%] 197s tests/test_buffered_reader.py::test_exhaust PASSED [ 17%] 197s tests/test_buffered_reader.py::test_readline PASSED [ 17%] 197s tests/test_buffered_reader.py::test_readline_with_size PASSED [ 17%] 197s tests/test_buffered_reader.py::test_readlines PASSED [ 17%] 197s tests/test_buffered_reader.py::test_readlines_hint[8] PASSED [ 17%] 197s tests/test_buffered_reader.py::test_readlines_hint[16] PASSED [ 17%] 197s tests/test_buffered_reader.py::test_readlines_hint[256] PASSED [ 17%] 197s tests/test_buffered_reader.py::test_readlines_hint[1024] PASSED [ 17%] 197s tests/test_buffered_reader.py::test_readlines_hint[65536] PASSED [ 17%] 197s tests/test_buffered_reader.py::test_duck_compatibility_with_io_base PASSED [ 17%] 197s tests/test_buffered_reader.py::test_fragmented_reads PASSED [ 17%] 197s tests/test_cmd_inspect_app.py::TestMakeParser::test_make_parser[args0-exp0] PASSED [ 17%] 197s tests/test_cmd_inspect_app.py::TestMakeParser::test_make_parser[args1-exp1] PASSED [ 17%] 197s tests/test_cmd_inspect_app.py::TestMakeParser::test_make_parser[args2-exp2] PASSED [ 17%] 197s tests/test_cmd_inspect_app.py::TestMakeParser::test_make_parser[args3-exp3] PASSED [ 17%] 197s tests/test_cmd_inspect_app.py::TestMakeParser::test_make_parser[args4-exp4] PASSED [ 17%] 197s tests/test_cmd_inspect_app.py::TestMakeParser::test_make_parser[args5-exp5] PASSED [ 17%] 197s tests/test_cmd_inspect_app.py::TestMakeParser::test_make_parser[args6-exp6] PASSED [ 17%] 197s tests/test_cmd_inspect_app.py::TestMakeParser::test_make_parser[args7-exp7] PASSED [ 17%] 197s tests/test_cmd_inspect_app.py::TestMakeParser::test_make_parser_error PASSED [ 17%] 197s tests/test_cmd_inspect_app.py::TestLoadApp::test_load_app[_APP] PASSED [ 17%] 197s tests/test_cmd_inspect_app.py::TestLoadApp::test_load_app[make_app] PASSED [ 18%] 197s tests/test_cmd_inspect_app.py::TestLoadApp::test_load_app_error[foo] PASSED [ 18%] 197s tests/test_cmd_inspect_app.py::TestLoadApp::test_load_app_error[_MODULE] PASSED [ 18%] 197s tests/test_cmd_inspect_app.py::TestLoadApp::test_load_app_error[DummyResource] PASSED [ 18%] 197s tests/test_cmd_inspect_app.py::TestLoadApp::test_load_app_module_error PASSED [ 18%] 197s tests/test_cmd_inspect_app.py::TestMain::test_routes_only[internal-verbose] PASSED [ 18%] 197s tests/test_cmd_inspect_app.py::TestMain::test_routes_only[internal-not-verbose] PASSED [ 18%] 197s tests/test_cmd_inspect_app.py::TestMain::test_routes_only[not-internal-verbose] PASSED [ 18%] 197s tests/test_cmd_inspect_app.py::TestMain::test_routes_only[not-internal-not-verbose] PASSED [ 18%] 197s tests/test_cmd_inspect_app.py::TestMain::test_inspect[internal-verbose] PASSED [ 18%] 197s tests/test_cmd_inspect_app.py::TestMain::test_inspect[internal-not-verbose] PASSED [ 18%] 197s tests/test_cmd_inspect_app.py::TestMain::test_inspect[not-internal-verbose] PASSED [ 18%] 197s tests/test_cmd_inspect_app.py::TestMain::test_inspect[not-internal-not-verbose] PASSED [ 18%] 197s tests/test_cmd_inspect_app.py::test_route_main PASSED [ 18%] 197s tests/test_compiled_router.py::test_find_src PASSED [ 18%] 197s tests/test_compiled_router.py::test_no_compile_kw[kwargs0] PASSED [ 18%] 197s tests/test_compiled_router.py::test_no_compile_kw[kwargs1] PASSED [ 18%] 197s tests/test_compiled_router.py::test_no_compile_kw[kwargs2] PASSED [ 18%] 197s tests/test_compiled_router.py::test_no_compile_kw[kwargs3] PASSED [ 18%] 197s tests/test_compiled_router.py::test_compile PASSED [ 18%] 197s tests/test_compiled_router.py::test_add_route_after_first_request PASSED [ 18%] 197s tests/test_compiled_router.py::test_multithread_compile PASSED [ 18%] 197s tests/test_compiled_router.py::test_cannot_replace_compiled PASSED [ 18%] 197s tests/test_compiled_router.py::test_converter_not_subclass PASSED [ 18%] 197s tests/test_compiled_router.py::test_base_classes PASSED [ 18%] 197s tests/test_cookies.py::test_response_base_case[asgi] PASSED [ 18%] 197s tests/test_cookies.py::test_response_base_case[wsgi] PASSED [ 18%] 197s tests/test_cookies.py::test_response_disable_secure_globally[asgi] PASSED [ 18%] 197s tests/test_cookies.py::test_response_disable_secure_globally[wsgi] PASSED [ 18%] 197s tests/test_cookies.py::test_response_complex_case[asgi] PASSED [ 18%] 197s tests/test_cookies.py::test_response_complex_case[wsgi] PASSED [ 18%] 197s tests/test_cookies.py::test_unset_cookies[asgi] PASSED [ 18%] 197s tests/test_cookies.py::test_unset_cookies[wsgi] PASSED [ 18%] 197s tests/test_cookies.py::test_unset_cookies_samesite[asgi] PASSED [ 18%] 197s tests/test_cookies.py::test_unset_cookies_samesite[wsgi] PASSED [ 18%] 197s tests/test_cookies.py::test_cookie_expires_naive[asgi] PASSED [ 18%] 197s tests/test_cookies.py::test_cookie_expires_naive[wsgi] PASSED [ 18%] 197s tests/test_cookies.py::test_cookie_expires_aware[asgi] PASSED [ 18%] 197s tests/test_cookies.py::test_cookie_expires_aware[wsgi] PASSED [ 18%] 197s tests/test_cookies.py::test_cookies_setable PASSED [ 19%] 197s tests/test_cookies.py::test_cookie_max_age_float_and_string[asgi-foofloat] PASSED [ 19%] 197s tests/test_cookies.py::test_cookie_max_age_float_and_string[asgi-foostring] PASSED [ 19%] 197s tests/test_cookies.py::test_cookie_max_age_float_and_string[wsgi-foofloat] PASSED [ 19%] 197s tests/test_cookies.py::test_cookie_max_age_float_and_string[wsgi-foostring] PASSED [ 19%] 197s tests/test_cookies.py::test_response_unset_cookie PASSED [ 19%] 197s tests/test_cookies.py::test_request_cookie_parsing PASSED [ 19%] 197s tests/test_cookies.py::test_invalid_cookies_are_ignored PASSED [ 19%] 197s tests/test_cookies.py::test_duplicate_cookie PASSED [ 19%] 197s tests/test_cookies.py::test_cookie_header_is_missing PASSED [ 19%] 197s tests/test_cookies.py::test_unicode_inside_ascii_range PASSED [ 19%] 197s tests/test_cookies.py::test_non_ascii_name[Unicode_\xc3\xa6\xc3\xb8] PASSED [ 19%] 197s tests/test_cookies.py::test_non_ascii_name[Unicode_\xc3\x83\xc2\xa6\xc3\x83\xc2\xb8] PASSED [ 19%] 197s tests/test_cookies.py::test_non_ascii_name[42] PASSED [ 19%] 197s tests/test_cookies.py::test_non_ascii_value[Unicode_\xc3\xa6\xc3\xb8] PASSED [ 19%] 197s tests/test_cookies.py::test_non_ascii_value[Unicode_\xc3\x83\xc2\xa6\xc3\x83\xc2\xb8] PASSED [ 19%] 197s tests/test_cookies.py::test_non_ascii_value[42] PASSED [ 19%] 197s tests/test_cookies.py::test_lax_same_site_value[asgi] PASSED [ 19%] 197s tests/test_cookies.py::test_lax_same_site_value[wsgi] PASSED [ 19%] 197s tests/test_cookies.py::test_strict_same_site_value[asgi] PASSED [ 19%] 197s tests/test_cookies.py::test_strict_same_site_value[wsgi] PASSED [ 19%] 197s tests/test_cookies.py::test_none_same_site_value[asgi] PASSED [ 19%] 197s tests/test_cookies.py::test_none_same_site_value[wsgi] PASSED [ 19%] 197s tests/test_cookies.py::test_same_site_empty_string[asgi] PASSED [ 19%] 197s tests/test_cookies.py::test_same_site_empty_string[wsgi] PASSED [ 19%] 197s tests/test_cookies.py::test_same_site_value_case_insensitive[laX] PASSED [ 19%] 197s tests/test_cookies.py::test_same_site_value_case_insensitive[lax] PASSED [ 19%] 197s tests/test_cookies.py::test_same_site_value_case_insensitive[STRICT] PASSED [ 19%] 197s tests/test_cookies.py::test_same_site_value_case_insensitive[strict] PASSED [ 19%] 197s tests/test_cookies.py::test_same_site_value_case_insensitive[None] PASSED [ 19%] 197s tests/test_cookies.py::test_same_site_value_case_insensitive[none] PASSED [ 19%] 197s tests/test_cookies.py::test_invalid_same_site_value[bogus] PASSED [ 19%] 197s tests/test_cookies.py::test_invalid_same_site_value[laxx] PASSED [ 19%] 197s tests/test_cookies.py::test_invalid_same_site_value[stric] PASSED [ 19%] 197s tests/test_cookies.py::test_partitioned_value[asgi] PASSED [ 19%] 197s tests/test_cookies.py::test_partitioned_value[wsgi] PASSED [ 19%] 197s tests/test_cors_middleware.py::TestCorsMiddleware::test_disabled_cors_should_not_add_any_extra_headers[asgi] PASSED [ 19%] 197s tests/test_cors_middleware.py::TestCorsMiddleware::test_disabled_cors_should_not_add_any_extra_headers[wsgi] PASSED [ 19%] 197s tests/test_cors_middleware.py::TestCorsMiddleware::test_enabled_cors_no_origin[asgi] PASSED [ 19%] 197s tests/test_cors_middleware.py::TestCorsMiddleware::test_enabled_cors_no_origin[wsgi] PASSED [ 20%] 197s tests/test_cors_middleware.py::TestCorsMiddleware::test_enabled_cors_should_add_extra_headers_on_response[asgi] PASSED [ 20%] 197s tests/test_cors_middleware.py::TestCorsMiddleware::test_enabled_cors_should_add_extra_headers_on_response[wsgi] PASSED [ 20%] 197s tests/test_cors_middleware.py::TestCorsMiddleware::test_enabled_cors_should_accept_all_origins_requests[asgi] PASSED [ 20%] 197s tests/test_cors_middleware.py::TestCorsMiddleware::test_enabled_cors_should_accept_all_origins_requests[wsgi] PASSED [ 20%] 197s tests/test_cors_middleware.py::TestCorsMiddleware::test_enabled_cors_handles_preflighting[asgi] PASSED [ 20%] 197s tests/test_cors_middleware.py::TestCorsMiddleware::test_enabled_cors_handles_preflighting[wsgi] PASSED [ 20%] 197s tests/test_cors_middleware.py::TestCorsMiddleware::test_enabled_cors_handles_preflight_custom_option[asgi] PASSED [ 20%] 197s tests/test_cors_middleware.py::TestCorsMiddleware::test_enabled_cors_handles_preflight_custom_option[wsgi] PASSED [ 20%] 197s tests/test_cors_middleware.py::TestCorsMiddleware::test_enabled_cors_handles_preflighting_no_headers_in_req[asgi] PASSED [ 20%] 197s tests/test_cors_middleware.py::TestCorsMiddleware::test_enabled_cors_handles_preflighting_no_headers_in_req[wsgi] PASSED [ 20%] 197s tests/test_cors_middleware.py::TestCorsMiddleware::test_enabled_cors_static_route[asgi] PASSED [ 20%] 197s tests/test_cors_middleware.py::TestCorsMiddleware::test_enabled_cors_static_route[wsgi] PASSED [ 20%] 197s tests/test_cors_middleware.py::TestCorsMiddleware::test_enabled_cors_sink_route[asgi-True] PASSED [ 20%] 197s tests/test_cors_middleware.py::TestCorsMiddleware::test_enabled_cors_sink_route[asgi-False] PASSED [ 20%] 197s tests/test_cors_middleware.py::TestCorsMiddleware::test_enabled_cors_sink_route[wsgi-True] PASSED [ 20%] 197s tests/test_cors_middleware.py::TestCorsMiddleware::test_enabled_cors_sink_route[wsgi-False] PASSED [ 20%] 197s tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_raises PASSED [ 20%] 197s tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_allow_origin[asgi-*-fail_origins0-success_origins0] PASSED [ 20%] 197s tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_allow_origin[asgi-test-fail_origins1-success_origins1] PASSED [ 20%] 197s tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_allow_origin[asgi-allow2-fail_origins2-success_origins2] PASSED [ 20%] 197s tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_allow_origin[wsgi-*-fail_origins0-success_origins0] PASSED [ 20%] 197s tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_allow_origin[wsgi-test-fail_origins1-success_origins1] PASSED [ 20%] 197s tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_allow_origin[wsgi-allow2-fail_origins2-success_origins2] PASSED [ 20%] 197s tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_allow_credential_wildcard[asgi] PASSED [ 20%] 197s tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_allow_credential_wildcard[wsgi] PASSED [ 20%] 197s tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_allow_credential_list_or_str[asgi-allow0-successOrigin0] PASSED [ 20%] 197s tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_allow_credential_list_or_str[asgi-foo-successOrigin1] PASSED [ 20%] 197s tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_allow_credential_list_or_str[wsgi-allow0-successOrigin0] PASSED [ 20%] 197s tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_allow_credential_list_or_str[wsgi-foo-successOrigin1] PASSED [ 20%] 197s tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_allow_credential_existing_origin[asgi] PASSED [ 20%] 197s tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_allow_credential_existing_origin[wsgi] PASSED [ 20%] 197s tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_allow_origin_allow_credential[asgi] PASSED [ 20%] 197s tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_allow_origin_allow_credential[wsgi] PASSED [ 20%] 197s tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_expose_headers[asgi-foo-foo] PASSED [ 20%] 197s tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_expose_headers[asgi-foo, bar-foo, bar] PASSED [ 20%] 197s tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_expose_headers[asgi-attr2-foo, bar] PASSED [ 20%] 197s tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_expose_headers[wsgi-foo-foo] PASSED [ 20%] 197s tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_expose_headers[wsgi-foo, bar-foo, bar] PASSED [ 20%] 197s tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_expose_headers[wsgi-attr2-foo, bar] PASSED [ 20%] 197s tests/test_custom_router.py::test_custom_router_add_route_should_be_used[asgi] PASSED [ 21%] 197s tests/test_custom_router.py::test_custom_router_add_route_should_be_used[wsgi] PASSED [ 21%] 197s tests/test_custom_router.py::test_custom_router_find_should_be_used[asgi] PASSED [ 21%] 197s tests/test_custom_router.py::test_custom_router_find_should_be_used[wsgi] PASSED [ 21%] 197s tests/test_custom_router.py::test_can_pass_additional_params_to_add_route[asgi] PASSED [ 21%] 197s tests/test_custom_router.py::test_can_pass_additional_params_to_add_route[wsgi] PASSED [ 21%] 197s tests/test_custom_router.py::test_custom_router_takes_req_positional_argument[asgi] PASSED [ 21%] 197s tests/test_custom_router.py::test_custom_router_takes_req_positional_argument[wsgi] PASSED [ 21%] 197s tests/test_custom_router.py::test_custom_router_takes_req_keyword_argument[asgi] PASSED [ 21%] 197s tests/test_custom_router.py::test_custom_router_takes_req_keyword_argument[wsgi] PASSED [ 21%] 197s tests/test_default_router.py::test_user_regression_versioned_url PASSED [ 21%] 197s tests/test_default_router.py::test_user_regression_recipes PASSED [ 21%] 197s tests/test_default_router.py::test_user_regression_special_chars[/serviceRoot/People|{field}-/serviceRoot/People|susie-expected_params0] PASSED [ 21%] 197s tests/test_default_router.py::test_user_regression_special_chars[/serviceRoot/People[{field}]-/serviceRoot/People['calvin']-expected_params1] PASSED [ 21%] 197s tests/test_default_router.py::test_user_regression_special_chars[/serviceRoot/People({field})-/serviceRoot/People('hobbes')-expected_params2] PASSED [ 21%] 197s tests/test_default_router.py::test_user_regression_special_chars[/serviceRoot/People({field})-/serviceRoot/People('hob)bes')-expected_params3] PASSED [ 21%] 197s tests/test_default_router.py::test_user_regression_special_chars[/serviceRoot/People({field})(z)-/serviceRoot/People(hobbes)(z)-expected_params4] PASSED [ 21%] 197s tests/test_default_router.py::test_user_regression_special_chars[/serviceRoot/People('{field}')-/serviceRoot/People('rosalyn')-expected_params5] PASSED [ 21%] 197s tests/test_default_router.py::test_user_regression_special_chars[/^{field}-/^42-expected_params6] PASSED [ 21%] 197s tests/test_default_router.py::test_user_regression_special_chars[/+{field}-/+42-expected_params7] PASSED [ 21%] 197s tests/test_default_router.py::test_user_regression_special_chars[/foo/{first}_{second}/bar-/foo/abc_def_ghijk/bar-expected_params8] PASSED [ 21%] 197s tests/test_default_router.py::test_user_regression_special_chars[/items/{x}?{y}-/items/1080?768-expected_params9] PASSED [ 21%] 197s tests/test_default_router.py::test_user_regression_special_chars[/items/{x}|{y}-/items/1080|768-expected_params10] PASSED [ 21%] 197s tests/test_default_router.py::test_user_regression_special_chars[/items/{x},{y}-/items/1080,768-expected_params11] PASSED [ 21%] 197s tests/test_default_router.py::test_user_regression_special_chars[/items/{x}^^{y}-/items/1080^^768-expected_params12] PASSED [ 21%] 197s tests/test_default_router.py::test_user_regression_special_chars[/items/{x}*{y}*-/items/1080*768*-expected_params13] PASSED [ 21%] 197s tests/test_default_router.py::test_user_regression_special_chars[/thing-2/something+{field}+-/thing-2/something+42+-expected_params14] PASSED [ 21%] 197s tests/test_default_router.py::test_user_regression_special_chars[/thing-2/something*{field}/notes-/thing-2/something*42/notes-expected_params15] PASSED [ 21%] 197s 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%] 197s tests/test_default_router.py::test_user_regression_special_chars[serviceRoot/$metadata#Airports('{field}')/Name-serviceRoot/$metadata#Airports('KSFO')/Name-expected_params17] PASSED [ 21%] 197s tests/test_default_router.py::test_not_str[asgi-uri_template0] PASSED [ 21%] 197s tests/test_default_router.py::test_not_str[asgi-uri_template1] PASSED [ 21%] 197s tests/test_default_router.py::test_not_str[asgi-uri_template2] PASSED [ 21%] 197s tests/test_default_router.py::test_not_str[wsgi-uri_template0] PASSED [ 21%] 197s tests/test_default_router.py::test_not_str[wsgi-uri_template1] PASSED [ 21%] 197s tests/test_default_router.py::test_not_str[wsgi-uri_template2] PASSED [ 21%] 197s tests/test_default_router.py::test_root_path PASSED [ 21%] 197s tests/test_default_router.py::test_duplicate_field_names[/{field}{field}] PASSED [ 21%] 197s tests/test_default_router.py::test_duplicate_field_names[/{field}...{field}] PASSED [ 21%] 197s tests/test_default_router.py::test_duplicate_field_names[/{field}/{another}/{field}] PASSED [ 22%] 197s tests/test_default_router.py::test_duplicate_field_names[/{field}/something/something/{field}/something] PASSED [ 22%] 197s tests/test_default_router.py::test_match_entire_path[/items/thing-/items/t] PASSED [ 22%] 197s tests/test_default_router.py::test_match_entire_path[/items/{x}|{y}|-/items/1080|768] PASSED [ 22%] 197s tests/test_default_router.py::test_match_entire_path[/items/{x}*{y}foo-/items/1080*768foobar] PASSED [ 22%] 197s tests/test_default_router.py::test_match_entire_path[/items/{x}*768*-/items/1080*768***] PASSED [ 22%] 197s tests/test_default_router.py::test_conflict[/teams/{conflict}] PASSED [ 22%] 197s tests/test_default_router.py::test_conflict[/emojis/signs/{id_too}] PASSED [ 22%] 197s tests/test_default_router.py::test_conflict[/repos/{org}/{repo}/compare/{complex}:{vs}...{complex2}:{conflict}] PASSED [ 22%] 197s tests/test_default_router.py::test_conflict[/teams/{id:int}/settings] PASSED [ 22%] 198s tests/test_default_router.py::test_non_conflict[/repos/{org}/{repo}/compare/{simple_vs_complex}] PASSED [ 22%] 198s tests/test_default_router.py::test_non_conflict[/repos/{complex}.{vs}.{simple}] PASSED [ 22%] 198s tests/test_default_router.py::test_non_conflict[/repos/{org}/{repo}/compare/{complex}:{vs}...{complex2}/full] PASSED [ 22%] 198s tests/test_default_router.py::test_invalid_field_name[/{}] PASSED [ 22%] 198s tests/test_default_router.py::test_invalid_field_name[/repos/{org}/{repo}/compare/{}] PASSED [ 22%] 198s tests/test_default_router.py::test_invalid_field_name[/repos/{complex}.{}.{thing}] PASSED [ 22%] 198s tests/test_default_router.py::test_invalid_field_name[/{9v}] PASSED [ 22%] 198s tests/test_default_router.py::test_invalid_field_name[/{524hello}/world] PASSED [ 22%] 198s tests/test_default_router.py::test_invalid_field_name[/hello/{1world}] PASSED [ 22%] 198s tests/test_default_router.py::test_invalid_field_name[/repos/{complex}.{9v}.{thing}/etc] PASSED [ 22%] 198s tests/test_default_router.py::test_invalid_field_name[/{*kgriffs}] PASSED [ 22%] 198s tests/test_default_router.py::test_invalid_field_name[/{@kgriffs}] PASSED [ 22%] 198s tests/test_default_router.py::test_invalid_field_name[/repos/{complex}.{v}.{@thing}/etc] PASSED [ 22%] 198s tests/test_default_router.py::test_invalid_field_name[/{-kgriffs}] PASSED [ 22%] 198s tests/test_default_router.py::test_invalid_field_name[/repos/{complex}.{-v}.{thing}/etc] PASSED [ 22%] 198s tests/test_default_router.py::test_invalid_field_name[/repos/{simple-thing}/etc] PASSED [ 22%] 198s tests/test_default_router.py::test_invalid_field_name[/this and that] PASSED [ 22%] 198s tests/test_default_router.py::test_invalid_field_name[/this\tand\tthat/this\nand\nthat/{thing }/world] PASSED [ 22%] 198s tests/test_default_router.py::test_invalid_field_name[/{thing\t}/world] PASSED [ 22%] 198s tests/test_default_router.py::test_invalid_field_name[/{\nthing}/world] PASSED [ 22%] 198s tests/test_default_router.py::test_invalid_field_name[/{th\x0bing}/world] PASSED [ 22%] 198s tests/test_default_router.py::test_invalid_field_name[/{ thing}/world] PASSED [ 22%] 198s tests/test_default_router.py::test_invalid_field_name[/{ thing }/world] PASSED [ 22%] 198s tests/test_default_router.py::test_invalid_field_name[/{thing}/wo rld] PASSED [ 22%] 198s tests/test_default_router.py::test_invalid_field_name[/{thing} /world] PASSED [ 22%] 198s tests/test_default_router.py::test_invalid_field_name[/repos/{or g}/{repo}/compare/{thing}] PASSED [ 22%] 198s tests/test_default_router.py::test_invalid_field_name[/repos/{org}/{repo}/compare/{th\ting}] PASSED [ 22%] 198s tests/test_default_router.py::test_print_src PASSED [ 22%] 198s tests/test_default_router.py::test_override PASSED [ 22%] 198s tests/test_default_router.py::test_literal_segment PASSED [ 23%] 198s tests/test_default_router.py::test_dead_segment[/teams] PASSED [ 23%] 198s tests/test_default_router.py::test_dead_segment[/emojis/signs] PASSED [ 23%] 198s tests/test_default_router.py::test_dead_segment[/gists] PASSED [ 23%] 198s tests/test_default_router.py::test_dead_segment[/gists/42] PASSED [ 23%] 198s tests/test_default_router.py::test_malformed_pattern[/repos/racker/falcon/compare/foo] PASSED [ 23%] 198s tests/test_default_router.py::test_malformed_pattern[/repos/racker/falcon/compare/foo/full] PASSED [ 23%] 198s tests/test_default_router.py::test_literal PASSED [ 23%] 198s tests/test_default_router.py::test_converters[/cvt/teams/007-expected_params0] PASSED [ 23%] 198s tests/test_default_router.py::test_converters[/cvt/teams/1234/members-expected_params1] PASSED [ 23%] 198s tests/test_default_router.py::test_converters[/cvt/teams/default/members/700-5-expected_params2] PASSED [ 23%] 198s tests/test_default_router.py::test_converters[/cvt/repos/org/repo/compare/xkcd:353-expected_params3] PASSED [ 23%] 198s tests/test_default_router.py::test_converters[/cvt/repos/org/repo/compare/gunmachan:1234...kumamon:5678/part-expected_params4] PASSED [ 23%] 198s tests/test_default_router.py::test_converters[/cvt/repos/xkcd/353/compare/susan:0001/full-expected_params5] PASSED [ 23%] 198s tests/test_default_router.py::test_converters_with_invalid_options[/foo/{bar:int(0)}] PASSED [ 23%] 198s tests/test_default_router.py::test_converters_with_invalid_options[/foo/{bar:int(num_digits=0)}] PASSED [ 23%] 198s tests/test_default_router.py::test_converters_with_invalid_options[/foo/{bar:int(-1)}/baz] PASSED [ 23%] 198s tests/test_default_router.py::test_converters_with_invalid_options[/foo/{bar:int(num_digits=-1)}/baz] PASSED [ 23%] 198s tests/test_default_router.py::test_converters_malformed_specification[/foo/{bar:}] PASSED [ 23%] 198s tests/test_default_router.py::test_converters_malformed_specification[/foo/{bar:unknown}/baz] PASSED [ 23%] 198s tests/test_default_router.py::test_variable PASSED [ 23%] 198s tests/test_default_router.py::test_single_character_field_name PASSED [ 23%] 198s tests/test_default_router.py::test_literal_vs_variable[/teams/default-19] PASSED [ 23%] 198s tests/test_default_router.py::test_literal_vs_variable[/teams/default/members-7] PASSED [ 23%] 198s tests/test_default_router.py::test_literal_vs_variable[/cvt/teams/default-31] PASSED [ 23%] 198s tests/test_default_router.py::test_literal_vs_variable[/cvt/teams/default/members/1234-10-32] PASSED [ 23%] 198s tests/test_default_router.py::test_literal_vs_variable[/teams/1234-6] PASSED [ 23%] 198s tests/test_default_router.py::test_literal_vs_variable[/teams/1234/members-7] PASSED [ 23%] 198s tests/test_default_router.py::test_literal_vs_variable[/gists/first-20] PASSED [ 23%] 198s tests/test_default_router.py::test_literal_vs_variable[/gists/first/raw-18] PASSED [ 23%] 198s tests/test_default_router.py::test_literal_vs_variable[/gists/first/pdf-21] PASSED [ 23%] 198s tests/test_default_router.py::test_literal_vs_variable[/gists/1776/pdf-21] PASSED [ 23%] 198s tests/test_default_router.py::test_literal_vs_variable[/emojis/signs/78-13] PASSED [ 23%] 198s tests/test_default_router.py::test_literal_vs_variable[/emojis/signs/78/small.png-24] PASSED [ 23%] 198s tests/test_default_router.py::test_literal_vs_variable[/emojis/signs/78/small(png)-25] PASSED [ 23%] 198s tests/test_default_router.py::test_literal_vs_variable[/emojis/signs/78/small_png-26] PASSED [ 23%] 198s tests/test_default_router.py::test_not_found[/this/does/not/exist] PASSED [ 23%] 198s tests/test_default_router.py::test_not_found[/user/bogus] PASSED [ 23%] 198s tests/test_default_router.py::test_not_found[/repos/racker/falcon/compare/johndoe:master...janedoe:dev/bogus] PASSED [ 23%] 198s tests/test_default_router.py::test_not_found[/teams] PASSED [ 24%] 198s tests/test_default_router.py::test_not_found[/teams/42/members/undefined] PASSED [ 24%] 198s tests/test_default_router.py::test_not_found[/teams/42/undefined] PASSED [ 24%] 198s tests/test_default_router.py::test_not_found[/teams/42/undefined/segments] PASSED [ 24%] 198s tests/test_default_router.py::test_not_found[/teams/default/members/undefined] PASSED [ 24%] 198s tests/test_default_router.py::test_not_found[/teams/default/members/thing/undefined] PASSED [ 24%] 198s tests/test_default_router.py::test_not_found[/teams/default/members/thing/undefined/segments] PASSED [ 24%] 198s tests/test_default_router.py::test_not_found[/teams/default/undefined] PASSED [ 24%] 198s tests/test_default_router.py::test_not_found[/teams/default/undefined/segments] PASSED [ 24%] 198s tests/test_default_router.py::test_not_found[/cvt/teams/default/members] PASSED [ 24%] 198s tests/test_default_router.py::test_not_found[/cvt/teams/NaN] PASSED [ 24%] 198s tests/test_default_router.py::test_not_found[/cvt/teams/default/members/NaN] PASSED [ 24%] 198s tests/test_default_router.py::test_not_found[/emojis/signs] PASSED [ 24%] 198s tests/test_default_router.py::test_not_found[/emojis/signs/0/small] PASSED [ 24%] 198s tests/test_default_router.py::test_not_found[/emojis/signs/0/undefined] PASSED [ 24%] 198s tests/test_default_router.py::test_not_found[/emojis/signs/0/undefined/segments] PASSED [ 24%] 198s tests/test_default_router.py::test_not_found[/emojis/signs/20/small] PASSED [ 24%] 198s tests/test_default_router.py::test_not_found[/emojis/signs/20/undefined] PASSED [ 24%] 198s tests/test_default_router.py::test_not_found[/emojis/signs/42/undefined] PASSED [ 24%] 198s tests/test_default_router.py::test_not_found[/emojis/signs/78/undefined] PASSED [ 24%] 198s tests/test_default_router.py::test_subsegment_not_found PASSED [ 24%] 198s tests/test_default_router.py::test_multivar PASSED [ 24%] 198s tests/test_default_router.py::test_complex[-5] PASSED [ 24%] 198s tests/test_default_router.py::test_complex[/full-10] PASSED [ 24%] 198s tests/test_default_router.py::test_complex[/part-15] PASSED [ 24%] 198s tests/test_default_router.py::test_complex_alt[-16-/repos/{org}/{repo}/compare/{usr0}:{branch0}] PASSED [ 24%] 198s tests/test_default_router.py::test_complex_alt[/full-17-/repos/{org}/{repo}/compare/{usr0}:{branch0}/full] PASSED [ 24%] 198s tests/test_default_router.py::test_options_converters_set PASSED [ 24%] 198s tests/test_default_router.py::test_options_converters_update[spam] PASSED [ 24%] 198s tests/test_default_router.py::test_options_converters_update[spam_2] PASSED [ 24%] 198s tests/test_default_router.py::test_options_converters_invalid_name[has whitespace] PASSED [ 24%] 198s tests/test_default_router.py::test_options_converters_invalid_name[whitespace ] PASSED [ 24%] 198s tests/test_default_router.py::test_options_converters_invalid_name[ whitespace ] PASSED [ 24%] 198s tests/test_default_router.py::test_options_converters_invalid_name[ whitespace] PASSED [ 24%] 198s tests/test_default_router.py::test_options_converters_invalid_name[funky$character] PASSED [ 24%] 198s tests/test_default_router.py::test_options_converters_invalid_name[42istheanswer] PASSED [ 24%] 198s tests/test_default_router.py::test_options_converters_invalid_name[with-hyphen] PASSED [ 24%] 198s tests/test_default_router.py::test_options_converters_invalid_name_on_update PASSED [ 24%] 198s tests/test_default_router.py::test_params_in_non_taken_branches[/c/foo/arg/baz-expected0-1] PASSED [ 24%] 198s tests/test_default_router.py::test_params_in_non_taken_branches[/c/foo/bar/other-expected1-2] PASSED [ 25%] 198s tests/test_default_router.py::test_params_in_non_taken_branches[/c/foo/42-7/baz-expected2-1] PASSED [ 25%] 198s tests/test_default_router.py::test_params_in_non_taken_branches[/upload/youtube/auth/token-expected3-4] PASSED [ 25%] 198s tests/test_default_router.py::test_params_in_non_taken_branches[/x/y/o.o/w-expected4-7] PASSED [ 25%] 198s tests/test_default_router.py::test_capture_path_no_children PASSED [ 25%] 198s tests/test_default_router.py::test_capture_path_complex[/foo/{bar:path}-x] PASSED [ 25%] 198s tests/test_default_router.py::test_capture_path_complex[/foo/x-{bar:path}] PASSED [ 25%] 198s tests/test_default_router.py::test_capture_path_complex[/foo/{x}-{bar:path}] PASSED [ 25%] 198s tests/test_default_router.py::test_capture_path_complex[/foo/{bar:path}-{x}] PASSED [ 25%] 198s tests/test_default_router.py::test_capture_path[/foo/bar/baz-expected0-1] PASSED [ 25%] 198s tests/test_default_router.py::test_capture_path[/foo/some/path/here-expected1-2] PASSED [ 25%] 198s tests/test_default_router.py::test_capture_path[/foo/bar/bar-expected2-3] PASSED [ 25%] 198s tests/test_default_router.py::test_capture_path[/foo/bar/bar-1/2/3/4/5/5/6/7/8/98/9/0/-/9/-expected3-3] PASSED [ 25%] 198s tests/test_default_router.py::test_capture_path[/x/1/2/3-expected4-5] PASSED [ 25%] 198s tests/test_default_router.py::test_capture_path[/x/1/2/3/4/5/6-expected5-5] PASSED [ 25%] 198s tests/test_default_router.py::test_capture_path[/upload/youtube/auth/token-expected6-4] PASSED [ 25%] 198s tests/test_default_router.py::test_capture_path[/x/y/o.o/w-expected7-4] PASSED [ 25%] 198s tests/test_default_router.py::test_capture_path[/foo-expected8-4] PASSED [ 25%] 198s tests/test_default_router.py::test_capture_path[/foo/-expected9-2] PASSED [ 25%] 198s tests/test_default_router.py::test_capture_path[/foo/bar-expected10-2] PASSED [ 25%] 198s tests/test_default_router.py::test_capture_path[/foo/bar/-expected11-3] PASSED [ 25%] 198s tests/test_default_router.py::test_capture_path[/foo/bar/baz/other-expected12-3] PASSED [ 25%] 198s tests/test_default_router.py::test_capture_path[/y/1/2/3-expected13-6] PASSED [ 25%] 198s tests/test_default_router.py::test_capture_path[/y/1/a/3-expected14-4] PASSED [ 25%] 198s tests/test_default_router.py::test_capture_path_no_match PASSED [ 25%] 198s tests/test_error.py::test_with_default_title_and_desc[HTTPBadRequest-400 Bad Request] PASSED [ 25%] 198s tests/test_error.py::test_with_default_title_and_desc[HTTPUnauthorized-401 Unauthorized] PASSED [ 25%] 198s tests/test_error.py::test_with_default_title_and_desc[HTTPForbidden-403 Forbidden] PASSED [ 25%] 198s tests/test_error.py::test_with_default_title_and_desc[HTTPNotFound-404 Not Found] PASSED [ 25%] 198s tests/test_error.py::test_with_default_title_and_desc[HTTPRouteNotFound-404 Not Found] PASSED [ 25%] 198s tests/test_error.py::test_with_default_title_and_desc[HTTPNotAcceptable-406 Not Acceptable] PASSED [ 25%] 198s tests/test_error.py::test_with_default_title_and_desc[HTTPConflict-409 Conflict] PASSED [ 25%] 198s tests/test_error.py::test_with_default_title_and_desc[HTTPGone-410 Gone] PASSED [ 25%] 198s tests/test_error.py::test_with_default_title_and_desc[HTTPLengthRequired-411 Length Required] PASSED [ 25%] 198s tests/test_error.py::test_with_default_title_and_desc[HTTPPreconditionFailed-412 Precondition Failed] PASSED [ 25%] 198s tests/test_error.py::test_with_default_title_and_desc[HTTPContentTooLarge-413 Content Too Large] PASSED [ 25%] 198s tests/test_error.py::test_with_default_title_and_desc[HTTPUriTooLong-414 URI Too Long] PASSED [ 25%] 198s tests/test_error.py::test_with_default_title_and_desc[HTTPUnsupportedMediaType-415 Unsupported Media Type] PASSED [ 25%] 198s tests/test_error.py::test_with_default_title_and_desc[HTTPUnprocessableEntity-422 Unprocessable Entity] PASSED [ 25%] 198s tests/test_error.py::test_with_default_title_and_desc[HTTPLocked-423 Locked] PASSED [ 26%] 198s tests/test_error.py::test_with_default_title_and_desc[HTTPFailedDependency-424 Failed Dependency] PASSED [ 26%] 198s tests/test_error.py::test_with_default_title_and_desc[HTTPPreconditionRequired-428 Precondition Required] PASSED [ 26%] 198s tests/test_error.py::test_with_default_title_and_desc[HTTPTooManyRequests-429 Too Many Requests] PASSED [ 26%] 198s tests/test_error.py::test_with_default_title_and_desc[HTTPRequestHeaderFieldsTooLarge-431 Request Header Fields Too Large] PASSED [ 26%] 198s tests/test_error.py::test_with_default_title_and_desc[HTTPUnavailableForLegalReasons-451 Unavailable For Legal Reasons] PASSED [ 26%] 198s tests/test_error.py::test_with_default_title_and_desc[HTTPInternalServerError-500 Internal Server Error] PASSED [ 26%] 198s tests/test_error.py::test_with_default_title_and_desc[HTTPNotImplemented-501 Not Implemented] PASSED [ 26%] 198s tests/test_error.py::test_with_default_title_and_desc[HTTPBadGateway-502 Bad Gateway] PASSED [ 26%] 198s tests/test_error.py::test_with_default_title_and_desc[HTTPServiceUnavailable-503 Service Unavailable] PASSED [ 26%] 198s tests/test_error.py::test_with_default_title_and_desc[HTTPGatewayTimeout-504 Gateway Timeout] PASSED [ 26%] 198s tests/test_error.py::test_with_default_title_and_desc[HTTPVersionNotSupported-505 HTTP Version Not Supported] PASSED [ 26%] 198s tests/test_error.py::test_with_default_title_and_desc[HTTPInsufficientStorage-507 Insufficient Storage] PASSED [ 26%] 198s tests/test_error.py::test_with_default_title_and_desc[HTTPLoopDetected-508 Loop Detected] PASSED [ 26%] 198s tests/test_error.py::test_with_default_title_and_desc[HTTPNetworkAuthenticationRequired-511 Network Authentication Required] PASSED [ 26%] 198s tests/test_error.py::test_with_default_title_and_desc_args[HTTPMethodNotAllowed-405 Method Not Allowed-args0] PASSED [ 26%] 198s tests/test_error.py::test_with_default_title_and_desc_args[HTTPRangeNotSatisfiable-416 Range Not Satisfiable-args1] PASSED [ 26%] 198s tests/test_error.py::test_with_title_desc_and_headers[HTTPBadRequest] PASSED [ 26%] 198s tests/test_error.py::test_with_title_desc_and_headers[HTTPUnauthorized] PASSED [ 26%] 198s tests/test_error.py::test_with_title_desc_and_headers[HTTPForbidden] PASSED [ 26%] 198s tests/test_error.py::test_with_title_desc_and_headers[HTTPNotFound] PASSED [ 26%] 198s tests/test_error.py::test_with_title_desc_and_headers[HTTPRouteNotFound] PASSED [ 26%] 198s tests/test_error.py::test_with_title_desc_and_headers[HTTPNotAcceptable] PASSED [ 26%] 198s tests/test_error.py::test_with_title_desc_and_headers[HTTPConflict] PASSED [ 26%] 198s tests/test_error.py::test_with_title_desc_and_headers[HTTPGone] PASSED [ 26%] 198s tests/test_error.py::test_with_title_desc_and_headers[HTTPLengthRequired] PASSED [ 26%] 198s tests/test_error.py::test_with_title_desc_and_headers[HTTPPreconditionFailed] PASSED [ 26%] 198s tests/test_error.py::test_with_title_desc_and_headers[HTTPContentTooLarge] PASSED [ 26%] 198s tests/test_error.py::test_with_title_desc_and_headers[HTTPUriTooLong] PASSED [ 26%] 198s tests/test_error.py::test_with_title_desc_and_headers[HTTPUnsupportedMediaType] PASSED [ 26%] 198s tests/test_error.py::test_with_title_desc_and_headers[HTTPUnprocessableEntity] PASSED [ 26%] 198s tests/test_error.py::test_with_title_desc_and_headers[HTTPLocked] PASSED [ 26%] 198s tests/test_error.py::test_with_title_desc_and_headers[HTTPFailedDependency] PASSED [ 26%] 198s tests/test_error.py::test_with_title_desc_and_headers[HTTPPreconditionRequired] PASSED [ 26%] 198s tests/test_error.py::test_with_title_desc_and_headers[HTTPTooManyRequests] PASSED [ 26%] 198s tests/test_error.py::test_with_title_desc_and_headers[HTTPRequestHeaderFieldsTooLarge] PASSED [ 26%] 198s tests/test_error.py::test_with_title_desc_and_headers[HTTPUnavailableForLegalReasons] PASSED [ 26%] 198s tests/test_error.py::test_with_title_desc_and_headers[HTTPInternalServerError] PASSED [ 26%] 198s tests/test_error.py::test_with_title_desc_and_headers[HTTPNotImplemented] PASSED [ 26%] 198s tests/test_error.py::test_with_title_desc_and_headers[HTTPBadGateway] PASSED [ 26%] 198s tests/test_error.py::test_with_title_desc_and_headers[HTTPServiceUnavailable] PASSED [ 27%] 198s tests/test_error.py::test_with_title_desc_and_headers[HTTPGatewayTimeout] PASSED [ 27%] 198s tests/test_error.py::test_with_title_desc_and_headers[HTTPVersionNotSupported] PASSED [ 27%] 198s tests/test_error.py::test_with_title_desc_and_headers[HTTPInsufficientStorage] PASSED [ 27%] 198s tests/test_error.py::test_with_title_desc_and_headers[HTTPLoopDetected] PASSED [ 27%] 198s tests/test_error.py::test_with_title_desc_and_headers[HTTPNetworkAuthenticationRequired] PASSED [ 27%] 198s tests/test_error.py::test_kw_only[HTTPBadRequest] PASSED [ 27%] 198s tests/test_error.py::test_kw_only[HTTPUnauthorized] PASSED [ 27%] 198s tests/test_error.py::test_kw_only[HTTPForbidden] PASSED [ 27%] 198s tests/test_error.py::test_kw_only[HTTPNotFound] PASSED [ 27%] 198s tests/test_error.py::test_kw_only[HTTPRouteNotFound] PASSED [ 27%] 198s tests/test_error.py::test_kw_only[HTTPNotAcceptable] PASSED [ 27%] 198s tests/test_error.py::test_kw_only[HTTPConflict] PASSED [ 27%] 198s tests/test_error.py::test_kw_only[HTTPGone] PASSED [ 27%] 198s tests/test_error.py::test_kw_only[HTTPLengthRequired] PASSED [ 27%] 198s tests/test_error.py::test_kw_only[HTTPPreconditionFailed] PASSED [ 27%] 198s tests/test_error.py::test_kw_only[HTTPContentTooLarge] PASSED [ 27%] 198s tests/test_error.py::test_kw_only[HTTPUriTooLong] PASSED [ 27%] 198s tests/test_error.py::test_kw_only[HTTPUnsupportedMediaType] PASSED [ 27%] 198s tests/test_error.py::test_kw_only[HTTPUnprocessableEntity] PASSED [ 27%] 198s tests/test_error.py::test_kw_only[HTTPLocked] PASSED [ 27%] 198s tests/test_error.py::test_kw_only[HTTPFailedDependency] PASSED [ 27%] 198s tests/test_error.py::test_kw_only[HTTPPreconditionRequired] PASSED [ 27%] 198s tests/test_error.py::test_kw_only[HTTPTooManyRequests] PASSED [ 27%] 198s tests/test_error.py::test_kw_only[HTTPRequestHeaderFieldsTooLarge] PASSED [ 27%] 198s tests/test_error.py::test_kw_only[HTTPUnavailableForLegalReasons] PASSED [ 27%] 198s tests/test_error.py::test_kw_only[HTTPInternalServerError] PASSED [ 27%] 198s tests/test_error.py::test_kw_only[HTTPNotImplemented] PASSED [ 27%] 198s tests/test_error.py::test_kw_only[HTTPBadGateway] PASSED [ 27%] 198s tests/test_error.py::test_kw_only[HTTPServiceUnavailable] PASSED [ 27%] 198s tests/test_error.py::test_kw_only[HTTPGatewayTimeout] PASSED [ 27%] 198s tests/test_error.py::test_kw_only[HTTPVersionNotSupported] PASSED [ 27%] 198s tests/test_error.py::test_kw_only[HTTPInsufficientStorage] PASSED [ 27%] 198s tests/test_error.py::test_kw_only[HTTPLoopDetected] PASSED [ 27%] 198s tests/test_error.py::test_kw_only[HTTPNetworkAuthenticationRequired] PASSED [ 27%] 198s tests/test_error.py::test_with_title_desc_and_headers_args[HTTPMethodNotAllowed-args0] PASSED [ 27%] 198s tests/test_error.py::test_with_title_desc_and_headers_args[HTTPRangeNotSatisfiable-args1] PASSED [ 27%] 198s tests/test_error.py::test_args_kw_only[HTTPMethodNotAllowed-args0] PASSED [ 27%] 198s tests/test_error.py::test_args_kw_only[HTTPRangeNotSatisfiable-args1] PASSED [ 27%] 198s tests/test_error.py::test_args_kw_only[HTTPInvalidHeader-args2] PASSED [ 28%] 198s tests/test_error.py::test_args_kw_only[HTTPMissingHeader-args3] PASSED [ 28%] 198s tests/test_error.py::test_args_kw_only[HTTPInvalidParam-args4] PASSED [ 28%] 198s tests/test_error.py::test_args_kw_only[HTTPMissingParam-args5] PASSED [ 28%] 198s tests/test_error.py::test_with_retry_after[HTTPServiceUnavailable] PASSED [ 28%] 198s tests/test_error.py::test_with_retry_after[HTTPTooManyRequests] PASSED [ 28%] 198s tests/test_error.py::test_with_retry_after[HTTPContentTooLarge] PASSED [ 28%] 198s tests/test_error.py::test_with_retry_after_and_headers[HTTPServiceUnavailable] PASSED [ 28%] 198s tests/test_error.py::test_with_retry_after_and_headers[HTTPTooManyRequests] PASSED [ 28%] 198s tests/test_error.py::test_with_retry_after_and_headers[HTTPContentTooLarge] PASSED [ 28%] 198s tests/test_error.py::test_http_error_repr PASSED [ 28%] 198s tests/test_error.py::test_custom_400[HTTPInvalidHeader-args0-Invalid header value-The value provided for the "bar" header is invalid. foo] PASSED [ 28%] 198s tests/test_error.py::test_custom_400[HTTPMissingHeader-args1-Missing header value-The "foo" header is required.] PASSED [ 28%] 198s tests/test_error.py::test_custom_400[HTTPInvalidParam-args2-Invalid parameter-The "bar" parameter is invalid. foo] PASSED [ 28%] 198s tests/test_error.py::test_custom_400[HTTPMissingParam-args3-Missing parameter-The "foo" parameter is required.] PASSED [ 28%] 198s tests/test_error.py::TestErrorsWithHeadersKW::test_no_header[HTTPUnauthorized-WWW-Authenticate-challenges-args0-a, b-False] PASSED [ 28%] 198s tests/test_error.py::TestErrorsWithHeadersKW::test_no_header[HTTPMethodNotAllowed-Allow-allowed_methods-args1-a, b-True] PASSED [ 28%] 198s tests/test_error.py::TestErrorsWithHeadersKW::test_no_header[HTTPContentTooLarge-Retry-After-retry_after-123-123-False] PASSED [ 28%] 198s tests/test_error.py::TestErrorsWithHeadersKW::test_no_header[HTTPRangeNotSatisfiable-Content-Range-resource_length-123-bytes */123-True] PASSED [ 28%] 198s tests/test_error.py::TestErrorsWithHeadersKW::test_no_header[HTTPTooManyRequests-Retry-After-retry_after-123-123-False] PASSED [ 28%] 198s tests/test_error.py::TestErrorsWithHeadersKW::test_no_header[HTTPServiceUnavailable-Retry-After-retry_after-123-123-False] PASSED [ 28%] 198s tests/test_error.py::TestErrorsWithHeadersKW::test_other_header[HTTPUnauthorized-WWW-Authenticate-challenges-args0-a, b-False] PASSED [ 28%] 198s tests/test_error.py::TestErrorsWithHeadersKW::test_other_header[HTTPMethodNotAllowed-Allow-allowed_methods-args1-a, b-True] PASSED [ 28%] 198s tests/test_error.py::TestErrorsWithHeadersKW::test_other_header[HTTPContentTooLarge-Retry-After-retry_after-123-123-False] PASSED [ 28%] 198s tests/test_error.py::TestErrorsWithHeadersKW::test_other_header[HTTPRangeNotSatisfiable-Content-Range-resource_length-123-bytes */123-True] PASSED [ 28%] 198s tests/test_error.py::TestErrorsWithHeadersKW::test_other_header[HTTPTooManyRequests-Retry-After-retry_after-123-123-False] PASSED [ 28%] 198s tests/test_error.py::TestErrorsWithHeadersKW::test_other_header[HTTPServiceUnavailable-Retry-After-retry_after-123-123-False] PASSED [ 28%] 198s tests/test_error.py::TestErrorsWithHeadersKW::test_override_header[HTTPUnauthorized-WWW-Authenticate-challenges-args0-a, b-False] PASSED [ 28%] 198s tests/test_error.py::TestErrorsWithHeadersKW::test_override_header[HTTPMethodNotAllowed-Allow-allowed_methods-args1-a, b-True] PASSED [ 28%] 198s tests/test_error.py::TestErrorsWithHeadersKW::test_override_header[HTTPContentTooLarge-Retry-After-retry_after-123-123-False] PASSED [ 28%] 198s tests/test_error.py::TestErrorsWithHeadersKW::test_override_header[HTTPRangeNotSatisfiable-Content-Range-resource_length-123-bytes */123-True] PASSED [ 28%] 198s tests/test_error.py::TestErrorsWithHeadersKW::test_override_header[HTTPTooManyRequests-Retry-After-retry_after-123-123-False] PASSED [ 28%] 198s tests/test_error.py::TestErrorsWithHeadersKW::test_override_header[HTTPServiceUnavailable-Retry-After-retry_after-123-123-False] PASSED [ 28%] 198s tests/test_error.py::TestErrorsWithHeadersKW::test_other_header_list[HTTPUnauthorized-WWW-Authenticate-challenges-args0-a, b-False] PASSED [ 28%] 198s tests/test_error.py::TestErrorsWithHeadersKW::test_other_header_list[HTTPMethodNotAllowed-Allow-allowed_methods-args1-a, b-True] PASSED [ 28%] 198s tests/test_error.py::TestErrorsWithHeadersKW::test_other_header_list[HTTPContentTooLarge-Retry-After-retry_after-123-123-False] PASSED [ 28%] 198s tests/test_error.py::TestErrorsWithHeadersKW::test_other_header_list[HTTPRangeNotSatisfiable-Content-Range-resource_length-123-bytes */123-True] PASSED [ 28%] 198s tests/test_error.py::TestErrorsWithHeadersKW::test_other_header_list[HTTPTooManyRequests-Retry-After-retry_after-123-123-False] PASSED [ 28%] 198s tests/test_error.py::TestErrorsWithHeadersKW::test_other_header_list[HTTPServiceUnavailable-Retry-After-retry_after-123-123-False] PASSED [ 28%] 198s tests/test_error.py::TestErrorsWithHeadersKW::test_override_header_list[HTTPUnauthorized-WWW-Authenticate-challenges-args0-a, b-False] PASSED [ 29%] 198s tests/test_error.py::TestErrorsWithHeadersKW::test_override_header_list[HTTPMethodNotAllowed-Allow-allowed_methods-args1-a, b-True] PASSED [ 29%] 198s tests/test_error.py::TestErrorsWithHeadersKW::test_override_header_list[HTTPContentTooLarge-Retry-After-retry_after-123-123-False] PASSED [ 29%] 198s tests/test_error.py::TestErrorsWithHeadersKW::test_override_header_list[HTTPRangeNotSatisfiable-Content-Range-resource_length-123-bytes */123-True] PASSED [ 29%] 198s tests/test_error.py::TestErrorsWithHeadersKW::test_override_header_list[HTTPTooManyRequests-Retry-After-retry_after-123-123-False] PASSED [ 29%] 198s tests/test_error.py::TestErrorsWithHeadersKW::test_override_header_list[HTTPServiceUnavailable-Retry-After-retry_after-123-123-False] PASSED [ 29%] 198s tests/test_error.py::test_http_payload_too_large_deprecation PASSED [ 29%] 198s tests/test_error_handlers.py::TestErrorHandler::test_caught_error[asgi] PASSED [ 29%] 198s tests/test_error_handlers.py::TestErrorHandler::test_caught_error[wsgi] PASSED [ 29%] 198s tests/test_error_handlers.py::TestErrorHandler::test_uncaught_python_error[asgi-None-application/json-{"] PASSED [ 29%] 198s tests/test_error_handlers.py::TestErrorHandler::test_uncaught_python_error[asgi-get_headers1-application/json-{"] PASSED [ 29%] 198s tests/test_error_handlers.py::TestErrorHandler::test_uncaught_python_error[asgi-get_headers2-application/xml-; rel=alternate] PASSED [ 33%] 198s tests/test_headers.py::TestHeaders::test_append_link_crossorigin[asgi-anonymous-; rel=alternate; crossorigin] PASSED [ 33%] 198s tests/test_headers.py::TestHeaders::test_append_link_crossorigin[asgi-Anonymous-; rel=alternate; crossorigin] PASSED [ 34%] 198s tests/test_headers.py::TestHeaders::test_append_link_crossorigin[asgi-AnOnYmOUs-; rel=alternate; crossorigin] PASSED [ 34%] 198s tests/test_headers.py::TestHeaders::test_append_link_crossorigin[asgi-Use-Credentials-; rel=alternate; crossorigin="use-credentials"] PASSED [ 34%] 198s tests/test_headers.py::TestHeaders::test_append_link_crossorigin[asgi-use-credentials-; rel=alternate; crossorigin="use-credentials"] PASSED [ 34%] 198s tests/test_headers.py::TestHeaders::test_append_link_crossorigin[wsgi-None-; rel=alternate] PASSED [ 34%] 198s tests/test_headers.py::TestHeaders::test_append_link_crossorigin[wsgi-anonymous-; rel=alternate; crossorigin] PASSED [ 34%] 198s tests/test_headers.py::TestHeaders::test_append_link_crossorigin[wsgi-Anonymous-; rel=alternate; crossorigin] PASSED [ 34%] 198s tests/test_headers.py::TestHeaders::test_append_link_crossorigin[wsgi-AnOnYmOUs-; rel=alternate; crossorigin] PASSED [ 34%] 198s tests/test_headers.py::TestHeaders::test_append_link_crossorigin[wsgi-Use-Credentials-; rel=alternate; crossorigin="use-credentials"] PASSED [ 34%] 198s tests/test_headers.py::TestHeaders::test_append_link_crossorigin[wsgi-use-credentials-; rel=alternate; crossorigin="use-credentials"] PASSED [ 34%] 198s tests/test_headers.py::TestHeaders::test_append_link_invalid_crossorigin_value[*] PASSED [ 34%] 198s tests/test_headers.py::TestHeaders::test_append_link_invalid_crossorigin_value[Allow-all] PASSED [ 34%] 198s tests/test_headers.py::TestHeaders::test_append_link_invalid_crossorigin_value[Lax] PASSED [ 34%] 198s tests/test_headers.py::TestHeaders::test_append_link_invalid_crossorigin_value[MUST-REVALIDATE] PASSED [ 34%] 198s tests/test_headers.py::TestHeaders::test_append_link_invalid_crossorigin_value[Strict] PASSED [ 34%] 198s tests/test_headers.py::TestHeaders::test_append_link_invalid_crossorigin_value[deny] PASSED [ 34%] 198s tests/test_headers.py::TestHeaders::test_append_link_with_link_extension[asgi] PASSED [ 34%] 198s tests/test_headers.py::TestHeaders::test_append_link_with_link_extension[wsgi] PASSED [ 34%] 198s tests/test_headers.py::TestHeaders::test_content_length_options[asgi] PASSED [ 34%] 198s tests/test_headers.py::TestHeaders::test_content_length_options[wsgi] PASSED [ 34%] 198s tests/test_headers.py::TestHeaders::test_set_headers_with_custom_class[asgi] PASSED [ 34%] 198s tests/test_headers.py::TestHeaders::test_set_headers_with_custom_class[wsgi] PASSED [ 34%] 198s tests/test_headers.py::TestHeaders::test_headers_with_custom_class_not_callable[asgi] PASSED [ 34%] 198s tests/test_headers.py::TestHeaders::test_headers_with_custom_class_not_callable[wsgi] PASSED [ 34%] 198s tests/test_headers.py::TestHeaders::test_request_multiple_header[asgi] PASSED [ 34%] 198s tests/test_headers.py::TestHeaders::test_request_multiple_header[wsgi] PASSED [ 34%] 198s tests/test_hello.py::TestHelloWorld::test_env_headers_list_of_tuples PASSED [ 34%] 198s tests/test_hello.py::TestHelloWorld::test_root_route PASSED [ 34%] 198s tests/test_hello.py::TestHelloWorld::test_no_route PASSED [ 34%] 198s tests/test_hello.py::TestHelloWorld::test_body[/body-resource0-] PASSED [ 34%] 198s tests/test_hello.py::TestHelloWorld::test_body[/bytes-resource1-] PASSED [ 34%] 198s tests/test_hello.py::TestHelloWorld::test_body[/data-resource2-] PASSED [ 34%] 198s tests/test_hello.py::TestHelloWorld::test_no_body_on_head PASSED [ 34%] 198s tests/test_hello.py::TestHelloWorld::test_stream_chunked PASSED [ 34%] 198s tests/test_hello.py::TestHelloWorld::test_stream_known_len PASSED [ 34%] 198s tests/test_hello.py::TestHelloWorld::test_filelike PASSED [ 34%] 198s tests/test_hello.py::TestHelloWorld::test_filelike_closing[ClosingBytesIO-True] PASSED [ 34%] 198s tests/test_hello.py::TestHelloWorld::test_filelike_closing[NonClosingBytesIO-False] PASSED [ 34%] 198s tests/test_hello.py::TestHelloWorld::test_filelike_using_helper PASSED [ 34%] 198s tests/test_hello.py::TestHelloWorld::test_status_not_set PASSED [ 35%] 198s tests/test_http_custom_method_routing.py::test_map_http_methods[asgi] PASSED [ 35%] 198s tests/test_http_custom_method_routing.py::test_map_http_methods[wsgi] PASSED [ 35%] 198s tests/test_http_custom_method_routing.py::test_environment_override[foo-expected0] SKIPPED [ 35%] 198s tests/test_http_custom_method_routing.py::test_environment_override[FOO-expected1] SKIPPED [ 35%] 198s tests/test_http_custom_method_routing.py::test_environment_override[FOO,-expected2] SKIPPED [ 35%] 198s tests/test_http_custom_method_routing.py::test_environment_override[FOO,BAR-expected3] SKIPPED [ 35%] 198s tests/test_http_custom_method_routing.py::test_environment_override[FOO, BAR-expected4] SKIPPED [ 35%] 198s tests/test_http_custom_method_routing.py::test_environment_override[ foo , BAR -expected5] SKIPPED [ 35%] 198s tests/test_http_custom_method_routing.py::test_foo[asgi] PASSED [ 35%] 198s tests/test_http_custom_method_routing.py::test_foo[wsgi] PASSED [ 35%] 198s tests/test_http_custom_method_routing.py::test_bar[asgi] PASSED [ 35%] 198s tests/test_http_custom_method_routing.py::test_bar[wsgi] PASSED [ 35%] 198s tests/test_http_method_routing.py::TestHttpMethodRouting::test_get[asgi] PASSED [ 35%] 198s tests/test_http_method_routing.py::TestHttpMethodRouting::test_get[wsgi] PASSED [ 35%] 198s tests/test_http_method_routing.py::TestHttpMethodRouting::test_put[asgi] PASSED [ 35%] 198s tests/test_http_method_routing.py::TestHttpMethodRouting::test_put[wsgi] PASSED [ 35%] 198s tests/test_http_method_routing.py::TestHttpMethodRouting::test_post_not_allowed[asgi] PASSED [ 35%] 198s tests/test_http_method_routing.py::TestHttpMethodRouting::test_post_not_allowed[wsgi] PASSED [ 35%] 198s tests/test_http_method_routing.py::TestHttpMethodRouting::test_report[asgi] PASSED [ 35%] 198s tests/test_http_method_routing.py::TestHttpMethodRouting::test_report[wsgi] PASSED [ 35%] 198s tests/test_http_method_routing.py::TestHttpMethodRouting::test_misc[asgi] PASSED [ 35%] 198s tests/test_http_method_routing.py::TestHttpMethodRouting::test_misc[wsgi] PASSED [ 35%] 198s tests/test_http_method_routing.py::TestHttpMethodRouting::test_methods_not_allowed_simple[asgi] PASSED [ 35%] 198s tests/test_http_method_routing.py::TestHttpMethodRouting::test_methods_not_allowed_simple[wsgi] PASSED [ 35%] 198s tests/test_http_method_routing.py::TestHttpMethodRouting::test_methods_not_allowed_complex[asgi] PASSED [ 35%] 198s tests/test_http_method_routing.py::TestHttpMethodRouting::test_methods_not_allowed_complex[wsgi] PASSED [ 35%] 198s tests/test_http_method_routing.py::TestHttpMethodRouting::test_method_not_allowed_with_param[asgi] PASSED [ 35%] 198s tests/test_http_method_routing.py::TestHttpMethodRouting::test_method_not_allowed_with_param[wsgi] PASSED [ 35%] 198s tests/test_http_method_routing.py::TestHttpMethodRouting::test_default_on_options[asgi] PASSED [ 35%] 198s tests/test_http_method_routing.py::TestHttpMethodRouting::test_default_on_options[wsgi] PASSED [ 35%] 198s tests/test_http_method_routing.py::TestHttpMethodRouting::test_on_options[asgi] PASSED [ 35%] 198s tests/test_http_method_routing.py::TestHttpMethodRouting::test_on_options[wsgi] PASSED [ 35%] 198s tests/test_http_method_routing.py::TestHttpMethodRouting::test_meta_and_others_disallowed[asgi-WEBSOCKET] PASSED [ 35%] 198s tests/test_http_method_routing.py::TestHttpMethodRouting::test_meta_and_others_disallowed[asgi-SETECASTRONOMY] PASSED [ 35%] 198s tests/test_http_method_routing.py::TestHttpMethodRouting::test_meta_and_others_disallowed[wsgi-WEBSOCKET] PASSED [ 35%] 198s tests/test_http_method_routing.py::TestHttpMethodRouting::test_meta_and_others_disallowed[wsgi-SETECASTRONOMY] PASSED [ 35%] 198s tests/test_httperror.py::TestHTTPError::test_base_class[asgi] PASSED [ 35%] 198s tests/test_httperror.py::TestHTTPError::test_base_class[wsgi] PASSED [ 35%] 198s tests/test_httperror.py::TestHTTPError::test_no_description_json[asgi] PASSED [ 36%] 198s tests/test_httperror.py::TestHTTPError::test_no_description_json[wsgi] PASSED [ 36%] 198s tests/test_httperror.py::TestHTTPError::test_no_description_xml[asgi] PASSED [ 36%] 198s tests/test_httperror.py::TestHTTPError::test_no_description_xml[wsgi] PASSED [ 36%] 198s tests/test_httperror.py::TestHTTPError::test_xml_enable[with_xml-asgi-True] PASSED [ 36%] 198s tests/test_httperror.py::TestHTTPError::test_xml_enable[with_xml-asgi-False] PASSED [ 36%] 198s tests/test_httperror.py::TestHTTPError::test_xml_enable[with_xml-wsgi-True] PASSED [ 36%] 198s tests/test_httperror.py::TestHTTPError::test_xml_enable[with_xml-wsgi-False] PASSED [ 36%] 198s tests/test_httperror.py::TestHTTPError::test_xml_enable[without_xml-asgi-True] PASSED [ 36%] 198s tests/test_httperror.py::TestHTTPError::test_xml_enable[without_xml-asgi-False] PASSED [ 36%] 198s tests/test_httperror.py::TestHTTPError::test_xml_enable[without_xml-wsgi-True] PASSED [ 36%] 198s tests/test_httperror.py::TestHTTPError::test_xml_enable[without_xml-wsgi-False] PASSED [ 36%] 198s tests/test_httperror.py::TestHTTPError::test_xml_enable[default_xml-asgi-True] PASSED [ 36%] 198s tests/test_httperror.py::TestHTTPError::test_xml_enable[default_xml-asgi-False] PASSED [ 36%] 198s tests/test_httperror.py::TestHTTPError::test_xml_enable[default_xml-wsgi-True] PASSED [ 36%] 198s tests/test_httperror.py::TestHTTPError::test_xml_enable[default_xml-wsgi-False] PASSED [ 36%] 198s tests/test_httperror.py::TestHTTPError::test_to_xml_deprecated PASSED [ 36%] 198s tests/test_httperror.py::TestHTTPError::test_client_does_not_accept_json_or_xml[asgi] PASSED [ 36%] 198s tests/test_httperror.py::TestHTTPError::test_client_does_not_accept_json_or_xml[wsgi] PASSED [ 36%] 198s tests/test_httperror.py::TestHTTPError::test_custom_error_serializer[asgi] PASSED [ 36%] 198s tests/test_httperror.py::TestHTTPError::test_custom_error_serializer[wsgi] PASSED [ 36%] 198s tests/test_httperror.py::TestHTTPError::test_custom_error_serializer_optional_representation[asgi-GET-/404-404] PASSED [ 36%] 198s tests/test_httperror.py::TestHTTPError::test_custom_error_serializer_optional_representation[asgi-GET-/notfound-404] PASSED [ 36%] 198s tests/test_httperror.py::TestHTTPError::test_custom_error_serializer_optional_representation[asgi-REPORT-/404-405] PASSED [ 36%] 198s tests/test_httperror.py::TestHTTPError::test_custom_error_serializer_optional_representation[asgi-BREW-/notfound-400] PASSED [ 36%] 198s tests/test_httperror.py::TestHTTPError::test_custom_error_serializer_optional_representation[wsgi-GET-/404-404] PASSED [ 36%] 198s tests/test_httperror.py::TestHTTPError::test_custom_error_serializer_optional_representation[wsgi-GET-/notfound-404] PASSED [ 36%] 198s tests/test_httperror.py::TestHTTPError::test_custom_error_serializer_optional_representation[wsgi-REPORT-/404-405] PASSED [ 36%] 198s tests/test_httperror.py::TestHTTPError::test_custom_error_serializer_optional_representation[wsgi-BREW-/notfound-400] PASSED [ 36%] 198s tests/test_httperror.py::TestHTTPError::test_custom_serializer_no_representation[asgi] PASSED [ 36%] 198s tests/test_httperror.py::TestHTTPError::test_custom_serializer_no_representation[wsgi] PASSED [ 36%] 198s tests/test_httperror.py::TestHTTPError::test_client_does_not_accept_anything[asgi] PASSED [ 36%] 198s tests/test_httperror.py::TestHTTPError::test_client_does_not_accept_anything[wsgi] PASSED [ 36%] 198s tests/test_httperror.py::TestHTTPError::test_forbidden[asgi-application/json] PASSED [ 36%] 198s tests/test_httperror.py::TestHTTPError::test_forbidden[asgi-application/vnd.company.system.project.resource+json;v=1.1] PASSED [ 36%] 198s tests/test_httperror.py::TestHTTPError::test_forbidden[asgi-application/json-patch+json] PASSED [ 36%] 198s tests/test_httperror.py::TestHTTPError::test_forbidden[wsgi-application/json] PASSED [ 36%] 198s tests/test_httperror.py::TestHTTPError::test_forbidden[wsgi-application/vnd.company.system.project.resource+json;v=1.1] PASSED [ 36%] 198s tests/test_httperror.py::TestHTTPError::test_forbidden[wsgi-application/json-patch+json] PASSED [ 36%] 198s tests/test_httperror.py::TestHTTPError::test_epic_fail_json[asgi] PASSED [ 37%] 198s tests/test_httperror.py::TestHTTPError::test_epic_fail_json[wsgi] PASSED [ 37%] 198s tests/test_httperror.py::TestHTTPError::test_epic_fail_xml[asgi-text/xml] PASSED [ 37%] 198s tests/test_httperror.py::TestHTTPError::test_epic_fail_xml[asgi-application/xml] PASSED [ 37%] 198s tests/test_httperror.py::TestHTTPError::test_epic_fail_xml[asgi-application/vnd.company.system.project.resource+xml;v=1.1] PASSED [ 37%] 198s tests/test_httperror.py::TestHTTPError::test_epic_fail_xml[asgi-application/atom+xml] PASSED [ 37%] 198s tests/test_httperror.py::TestHTTPError::test_epic_fail_xml[wsgi-text/xml] PASSED [ 37%] 198s tests/test_httperror.py::TestHTTPError::test_epic_fail_xml[wsgi-application/xml] PASSED [ 37%] 198s tests/test_httperror.py::TestHTTPError::test_epic_fail_xml[wsgi-application/vnd.company.system.project.resource+xml;v=1.1] PASSED [ 37%] 198s tests/test_httperror.py::TestHTTPError::test_epic_fail_xml[wsgi-application/atom+xml] PASSED [ 37%] 198s tests/test_httperror.py::TestHTTPError::test_unicode_json[asgi] PASSED [ 37%] 198s tests/test_httperror.py::TestHTTPError::test_unicode_json[wsgi] PASSED [ 37%] 198s tests/test_httperror.py::TestHTTPError::test_unicode_xml[asgi] PASSED [ 37%] 198s tests/test_httperror.py::TestHTTPError::test_unicode_xml[wsgi] PASSED [ 37%] 198s tests/test_httperror.py::TestHTTPError::test_401[asgi] PASSED [ 37%] 198s tests/test_httperror.py::TestHTTPError::test_401[wsgi] PASSED [ 37%] 198s tests/test_httperror.py::TestHTTPError::test_404_without_body[asgi] PASSED [ 37%] 198s tests/test_httperror.py::TestHTTPError::test_404_without_body[wsgi] PASSED [ 37%] 198s tests/test_httperror.py::TestHTTPError::test_404_with_body[asgi] PASSED [ 37%] 198s tests/test_httperror.py::TestHTTPError::test_404_with_body[wsgi] PASSED [ 37%] 198s tests/test_httperror.py::TestHTTPError::test_405_without_body[asgi] PASSED [ 37%] 198s tests/test_httperror.py::TestHTTPError::test_405_without_body[wsgi] PASSED [ 37%] 198s tests/test_httperror.py::TestHTTPError::test_405_without_body_with_extra_headers[asgi] PASSED [ 37%] 198s tests/test_httperror.py::TestHTTPError::test_405_without_body_with_extra_headers[wsgi] PASSED [ 37%] 198s tests/test_httperror.py::TestHTTPError::test_405_without_body_with_extra_headers_double_check[asgi] PASSED [ 37%] 198s tests/test_httperror.py::TestHTTPError::test_405_without_body_with_extra_headers_double_check[wsgi] PASSED [ 37%] 198s tests/test_httperror.py::TestHTTPError::test_405_with_body[asgi] PASSED [ 37%] 198s tests/test_httperror.py::TestHTTPError::test_405_with_body[wsgi] PASSED [ 37%] 198s tests/test_httperror.py::TestHTTPError::test_410_without_body[asgi] PASSED [ 37%] 198s tests/test_httperror.py::TestHTTPError::test_410_without_body[wsgi] PASSED [ 37%] 198s tests/test_httperror.py::TestHTTPError::test_410_with_body[asgi] PASSED [ 37%] 198s tests/test_httperror.py::TestHTTPError::test_410_with_body[wsgi] PASSED [ 37%] 198s tests/test_httperror.py::TestHTTPError::test_411[asgi] PASSED [ 37%] 198s tests/test_httperror.py::TestHTTPError::test_411[wsgi] PASSED [ 37%] 198s tests/test_httperror.py::TestHTTPError::test_413[asgi] PASSED [ 37%] 198s tests/test_httperror.py::TestHTTPError::test_413[wsgi] PASSED [ 37%] 198s tests/test_httperror.py::TestHTTPError::test_temporary_413_integer_retry_after[asgi] PASSED [ 37%] 198s tests/test_httperror.py::TestHTTPError::test_temporary_413_integer_retry_after[wsgi] PASSED [ 37%] 198s tests/test_httperror.py::TestHTTPError::test_temporary_413_datetime_retry_after[asgi] PASSED [ 37%] 198s tests/test_httperror.py::TestHTTPError::test_temporary_413_datetime_retry_after[wsgi] PASSED [ 38%] 198s tests/test_httperror.py::TestHTTPError::test_414[asgi] PASSED [ 38%] 198s tests/test_httperror.py::TestHTTPError::test_414[wsgi] PASSED [ 38%] 198s tests/test_httperror.py::TestHTTPError::test_414_with_title[asgi] PASSED [ 38%] 198s tests/test_httperror.py::TestHTTPError::test_414_with_title[wsgi] PASSED [ 38%] 198s tests/test_httperror.py::TestHTTPError::test_414_with_description[asgi] PASSED [ 38%] 198s tests/test_httperror.py::TestHTTPError::test_414_with_description[wsgi] PASSED [ 38%] 198s tests/test_httperror.py::TestHTTPError::test_414_with_custom_kwargs[asgi] PASSED [ 38%] 198s tests/test_httperror.py::TestHTTPError::test_414_with_custom_kwargs[wsgi] PASSED [ 38%] 198s tests/test_httperror.py::TestHTTPError::test_416[asgi] PASSED [ 38%] 198s tests/test_httperror.py::TestHTTPError::test_416[wsgi] PASSED [ 38%] 198s tests/test_httperror.py::TestHTTPError::test_429_no_retry_after[asgi] PASSED [ 38%] 198s tests/test_httperror.py::TestHTTPError::test_429_no_retry_after[wsgi] PASSED [ 38%] 198s tests/test_httperror.py::TestHTTPError::test_429[asgi] PASSED [ 38%] 198s tests/test_httperror.py::TestHTTPError::test_429[wsgi] PASSED [ 38%] 198s tests/test_httperror.py::TestHTTPError::test_429_datetime[asgi] PASSED [ 38%] 198s tests/test_httperror.py::TestHTTPError::test_429_datetime[wsgi] PASSED [ 38%] 198s tests/test_httperror.py::TestHTTPError::test_503_integer_retry_after[asgi] PASSED [ 38%] 198s tests/test_httperror.py::TestHTTPError::test_503_integer_retry_after[wsgi] PASSED [ 38%] 198s tests/test_httperror.py::TestHTTPError::test_503_datetime_retry_after[asgi] PASSED [ 38%] 198s tests/test_httperror.py::TestHTTPError::test_503_datetime_retry_after[wsgi] PASSED [ 38%] 198s tests/test_httperror.py::TestHTTPError::test_invalid_header[asgi] PASSED [ 38%] 198s tests/test_httperror.py::TestHTTPError::test_invalid_header[wsgi] PASSED [ 38%] 198s tests/test_httperror.py::TestHTTPError::test_missing_header[asgi] PASSED [ 38%] 198s tests/test_httperror.py::TestHTTPError::test_missing_header[wsgi] PASSED [ 38%] 198s tests/test_httperror.py::TestHTTPError::test_invalid_param[asgi] PASSED [ 38%] 198s tests/test_httperror.py::TestHTTPError::test_invalid_param[wsgi] PASSED [ 38%] 198s tests/test_httperror.py::TestHTTPError::test_missing_param[asgi] PASSED [ 38%] 198s tests/test_httperror.py::TestHTTPError::test_missing_param[wsgi] PASSED [ 38%] 198s tests/test_httperror.py::TestHTTPError::test_misc[asgi] PASSED [ 38%] 198s tests/test_httperror.py::TestHTTPError::test_misc[wsgi] PASSED [ 38%] 198s tests/test_httperror.py::TestHTTPError::test_title_default_message_if_none[asgi-503 Service Unavailable-str] PASSED [ 38%] 198s tests/test_httperror.py::TestHTTPError::test_title_default_message_if_none[asgi-503 Service Unavailable-bytes] PASSED [ 38%] 198s tests/test_httperror.py::TestHTTPError::test_title_default_message_if_none[asgi-503-int] PASSED [ 38%] 198s tests/test_httperror.py::TestHTTPError::test_title_default_message_if_none[asgi-503-str] PASSED [ 38%] 198s tests/test_httperror.py::TestHTTPError::test_title_default_message_if_none[asgi-503-bytes] PASSED [ 38%] 198s tests/test_httperror.py::TestHTTPError::test_title_default_message_if_none[asgi-503-HTTPStatus] PASSED [ 38%] 198s tests/test_httperror.py::TestHTTPError::test_title_default_message_if_none[wsgi-503 Service Unavailable-str] PASSED [ 38%] 198s tests/test_httperror.py::TestHTTPError::test_title_default_message_if_none[wsgi-503 Service Unavailable-bytes] PASSED [ 38%] 198s tests/test_httperror.py::TestHTTPError::test_title_default_message_if_none[wsgi-503-int] PASSED [ 39%] 198s tests/test_httperror.py::TestHTTPError::test_title_default_message_if_none[wsgi-503-str] PASSED [ 39%] 198s tests/test_httperror.py::TestHTTPError::test_title_default_message_if_none[wsgi-503-bytes] PASSED [ 39%] 198s tests/test_httperror.py::TestHTTPError::test_title_default_message_if_none[wsgi-503-HTTPStatus] PASSED [ 39%] 198s tests/test_httperror.py::TestHTTPError::test_to_json_dumps PASSED [ 39%] 198s tests/test_httperror.py::TestHTTPError::test_serialize_error_uses_media_handler[asgi] PASSED [ 39%] 198s tests/test_httperror.py::TestHTTPError::test_serialize_error_uses_media_handler[wsgi] PASSED [ 39%] 198s tests/test_httperror.py::TestHTTPError::test_serialize_no_json_media_handler[asgi] PASSED [ 39%] 198s tests/test_httperror.py::TestHTTPError::test_serialize_no_json_media_handler[wsgi] PASSED [ 39%] 198s tests/test_httperror.py::TestHTTPError::test_MediaMalformedError PASSED [ 39%] 198s tests/test_httperror.py::TestHTTPError::test_kw_only PASSED [ 39%] 198s tests/test_httperror.py::TestDefaultSerializeError::test_unknown_accept[asgi] PASSED [ 39%] 198s tests/test_httperror.py::TestDefaultSerializeError::test_unknown_accept[wsgi] PASSED [ 39%] 198s tests/test_httperror.py::TestDefaultSerializeError::test_defaults_to_json[asgi-True] PASSED [ 39%] 198s tests/test_httperror.py::TestDefaultSerializeError::test_defaults_to_json[asgi-False] PASSED [ 39%] 198s tests/test_httperror.py::TestDefaultSerializeError::test_defaults_to_json[wsgi-True] PASSED [ 39%] 198s tests/test_httperror.py::TestDefaultSerializeError::test_defaults_to_json[wsgi-False] PASSED [ 39%] 198s tests/test_httperror.py::TestDefaultSerializeError::test_serializes_error_to_preferred_by_sender[asgi-application/json-application/json-{"title": "410 Gone"}] PASSED [ 39%] 198s tests/test_httperror.py::TestDefaultSerializeError::test_serializes_error_to_preferred_by_sender[asgi-application/xml-application/xml-410 Gone] PASSED [ 39%] 198s tests/test_httperror.py::TestDefaultSerializeError::test_serializes_error_to_preferred_by_sender[asgi-custom/any+json-application/json-{"title": "410 Gone"}] PASSED [ 39%] 198s tests/test_httperror.py::TestDefaultSerializeError::test_serializes_error_to_preferred_by_sender[asgi-custom/any+xml-application/xml-410 Gone] PASSED [ 39%] 198s tests/test_httperror.py::TestDefaultSerializeError::test_serializes_error_to_preferred_by_sender[asgi-application/yaml-application/yaml-title: 410 Gone!] PASSED [ 39%] 198s tests/test_httperror.py::TestDefaultSerializeError::test_serializes_error_to_preferred_by_sender[asgi-application/only_async-application/only_async-this is async] PASSED [ 39%] 198s tests/test_httperror.py::TestDefaultSerializeError::test_serializes_error_to_preferred_by_sender[asgi-application/async_with_sync-application/async_with_sync-this is sync instead] PASSED [ 39%] 198s tests/test_httperror.py::TestDefaultSerializeError::test_serializes_error_to_preferred_by_sender[wsgi-application/json-application/json-{"title": "410 Gone"}] PASSED [ 39%] 198s tests/test_httperror.py::TestDefaultSerializeError::test_serializes_error_to_preferred_by_sender[wsgi-application/xml-application/xml-410 Gone] PASSED [ 39%] 198s tests/test_httperror.py::TestDefaultSerializeError::test_serializes_error_to_preferred_by_sender[wsgi-custom/any+json-application/json-{"title": "410 Gone"}] PASSED [ 39%] 199s tests/test_httperror.py::TestDefaultSerializeError::test_serializes_error_to_preferred_by_sender[wsgi-custom/any+xml-application/xml-410 Gone] PASSED [ 39%] 199s tests/test_httperror.py::TestDefaultSerializeError::test_serializes_error_to_preferred_by_sender[wsgi-application/yaml-application/yaml-title: 410 Gone!] PASSED [ 39%] 199s tests/test_httperror.py::TestDefaultSerializeError::test_serializes_error_to_preferred_by_sender[wsgi-application/only_async-application/only_async-this is async] PASSED [ 39%] 199s tests/test_httperror.py::TestDefaultSerializeError::test_serializes_error_to_preferred_by_sender[wsgi-application/async_with_sync-application/async_with_sync-this is sync instead] PASSED [ 39%] 199s tests/test_httperror.py::TestDefaultSerializeError::test_json_async_only_error PASSED [ 39%] 199s tests/test_httperror.py::TestDefaultSerializeError::test_add_xml_handler[with_xml-asgi-application/xml] PASSED [ 39%] 199s tests/test_httperror.py::TestDefaultSerializeError::test_add_xml_handler[with_xml-asgi-application/xhtml+xml] PASSED [ 39%] 199s tests/test_httperror.py::TestDefaultSerializeError::test_add_xml_handler[with_xml-wsgi-application/xml] PASSED [ 39%] 199s tests/test_httperror.py::TestDefaultSerializeError::test_add_xml_handler[with_xml-wsgi-application/xhtml+xml] PASSED [ 39%] 199s tests/test_httperror.py::TestDefaultSerializeError::test_add_xml_handler[without_xml-asgi-application/xml] PASSED [ 39%] 199s tests/test_httperror.py::TestDefaultSerializeError::test_add_xml_handler[without_xml-asgi-application/xhtml+xml] PASSED [ 39%] 199s tests/test_httperror.py::TestDefaultSerializeError::test_add_xml_handler[without_xml-wsgi-application/xml] PASSED [ 39%] 199s tests/test_httperror.py::TestDefaultSerializeError::test_add_xml_handler[without_xml-wsgi-application/xhtml+xml] PASSED [ 40%] 199s tests/test_httperror.py::TestDefaultSerializeError::test_add_xml_handler[default_xml-asgi-application/xml] PASSED [ 40%] 199s tests/test_httperror.py::TestDefaultSerializeError::test_add_xml_handler[default_xml-asgi-application/xhtml+xml] PASSED [ 40%] 199s tests/test_httperror.py::TestDefaultSerializeError::test_add_xml_handler[default_xml-wsgi-application/xml] PASSED [ 40%] 199s tests/test_httperror.py::TestDefaultSerializeError::test_add_xml_handler[default_xml-wsgi-application/xhtml+xml] PASSED [ 40%] 199s tests/test_httperror.py::TestDefaultSerializeError::test_hard_content_types[with_xml-asgi-text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/png,image/svg+xml,*/*;q=0.8-application/xml] PASSED [ 40%] 199s tests/test_httperror.py::TestDefaultSerializeError::test_hard_content_types[with_xml-asgi-text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8-application/xml] PASSED [ 40%] 199s tests/test_httperror.py::TestDefaultSerializeError::test_hard_content_types[with_xml-asgi-text/html, application/xhtml+xml, image/jxr, */*-application/json] PASSED [ 40%] 199s tests/test_httperror.py::TestDefaultSerializeError::test_hard_content_types[with_xml-asgi-text/html,application/yaml;q=0.8,*/*;q=0.7-application/yaml] PASSED [ 40%] 199s tests/test_httperror.py::TestDefaultSerializeError::test_hard_content_types[with_xml-asgi-text/html,application/yaml;q=0.8,application/json;q=0.8-application/json] PASSED [ 40%] 199s tests/test_httperror.py::TestDefaultSerializeError::test_hard_content_types[with_xml-wsgi-text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/png,image/svg+xml,*/*;q=0.8-application/xml] PASSED [ 40%] 199s tests/test_httperror.py::TestDefaultSerializeError::test_hard_content_types[with_xml-wsgi-text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8-application/xml] PASSED [ 40%] 199s tests/test_httperror.py::TestDefaultSerializeError::test_hard_content_types[with_xml-wsgi-text/html, application/xhtml+xml, image/jxr, */*-application/json] PASSED [ 40%] 199s tests/test_httperror.py::TestDefaultSerializeError::test_hard_content_types[with_xml-wsgi-text/html,application/yaml;q=0.8,*/*;q=0.7-application/yaml] PASSED [ 40%] 199s tests/test_httperror.py::TestDefaultSerializeError::test_hard_content_types[with_xml-wsgi-text/html,application/yaml;q=0.8,application/json;q=0.8-application/json] PASSED [ 40%] 199s tests/test_httperror.py::TestDefaultSerializeError::test_hard_content_types[without_xml-asgi-text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/png,image/svg+xml,*/*;q=0.8-application/xml] PASSED [ 40%] 199s tests/test_httperror.py::TestDefaultSerializeError::test_hard_content_types[without_xml-asgi-text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8-application/xml] PASSED [ 40%] 199s tests/test_httperror.py::TestDefaultSerializeError::test_hard_content_types[without_xml-asgi-text/html, application/xhtml+xml, image/jxr, */*-application/json] PASSED [ 40%] 199s tests/test_httperror.py::TestDefaultSerializeError::test_hard_content_types[without_xml-asgi-text/html,application/yaml;q=0.8,*/*;q=0.7-application/yaml] PASSED [ 40%] 199s tests/test_httperror.py::TestDefaultSerializeError::test_hard_content_types[without_xml-asgi-text/html,application/yaml;q=0.8,application/json;q=0.8-application/json] PASSED [ 40%] 199s tests/test_httperror.py::TestDefaultSerializeError::test_hard_content_types[without_xml-wsgi-text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/png,image/svg+xml,*/*;q=0.8-application/xml] PASSED [ 40%] 199s tests/test_httperror.py::TestDefaultSerializeError::test_hard_content_types[without_xml-wsgi-text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8-application/xml] PASSED [ 40%] 199s tests/test_httperror.py::TestDefaultSerializeError::test_hard_content_types[without_xml-wsgi-text/html, application/xhtml+xml, image/jxr, */*-application/json] PASSED [ 40%] 199s tests/test_httperror.py::TestDefaultSerializeError::test_hard_content_types[without_xml-wsgi-text/html,application/yaml;q=0.8,*/*;q=0.7-application/yaml] PASSED [ 40%] 199s tests/test_httperror.py::TestDefaultSerializeError::test_hard_content_types[without_xml-wsgi-text/html,application/yaml;q=0.8,application/json;q=0.8-application/json] PASSED [ 40%] 199s tests/test_httperror.py::TestDefaultSerializeError::test_hard_content_types[default_xml-asgi-text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/png,image/svg+xml,*/*;q=0.8-application/xml] PASSED [ 40%] 199s tests/test_httperror.py::TestDefaultSerializeError::test_hard_content_types[default_xml-asgi-text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8-application/xml] PASSED [ 40%] 199s tests/test_httperror.py::TestDefaultSerializeError::test_hard_content_types[default_xml-asgi-text/html, application/xhtml+xml, image/jxr, */*-application/json] PASSED [ 40%] 199s tests/test_httperror.py::TestDefaultSerializeError::test_hard_content_types[default_xml-asgi-text/html,application/yaml;q=0.8,*/*;q=0.7-application/yaml] PASSED [ 40%] 199s tests/test_httperror.py::TestDefaultSerializeError::test_hard_content_types[default_xml-asgi-text/html,application/yaml;q=0.8,application/json;q=0.8-application/json] PASSED [ 40%] 199s tests/test_httperror.py::TestDefaultSerializeError::test_hard_content_types[default_xml-wsgi-text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/png,image/svg+xml,*/*;q=0.8-application/xml] PASSED [ 40%] 199s tests/test_httperror.py::TestDefaultSerializeError::test_hard_content_types[default_xml-wsgi-text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8-application/xml] PASSED [ 40%] 199s tests/test_httperror.py::TestDefaultSerializeError::test_hard_content_types[default_xml-wsgi-text/html, application/xhtml+xml, image/jxr, */*-application/json] PASSED [ 40%] 199s tests/test_httperror.py::TestDefaultSerializeError::test_hard_content_types[default_xml-wsgi-text/html,application/yaml;q=0.8,*/*;q=0.7-application/yaml] PASSED [ 40%] 199s tests/test_httperror.py::TestDefaultSerializeError::test_hard_content_types[default_xml-wsgi-text/html,application/yaml;q=0.8,application/json;q=0.8-application/json] PASSED [ 40%] 199s tests/test_httpstatus.py::TestHTTPStatus::test_raise_status_in_before_hook[asgi] PASSED [ 40%] 199s tests/test_httpstatus.py::TestHTTPStatus::test_raise_status_in_before_hook[wsgi] PASSED [ 40%] 199s tests/test_httpstatus.py::TestHTTPStatus::test_raise_status_in_responder[asgi] PASSED [ 40%] 199s tests/test_httpstatus.py::TestHTTPStatus::test_raise_status_in_responder[wsgi] PASSED [ 40%] 199s tests/test_httpstatus.py::TestHTTPStatus::test_raise_status_runs_after_hooks[asgi] PASSED [ 40%] 199s tests/test_httpstatus.py::TestHTTPStatus::test_raise_status_runs_after_hooks[wsgi] PASSED [ 41%] 199s tests/test_httpstatus.py::TestHTTPStatus::test_raise_status_survives_after_hooks[asgi] PASSED [ 41%] 199s tests/test_httpstatus.py::TestHTTPStatus::test_raise_status_survives_after_hooks[wsgi] PASSED [ 41%] 199s tests/test_httpstatus.py::TestHTTPStatus::test_raise_status_empty_body[asgi] PASSED [ 41%] 199s tests/test_httpstatus.py::TestHTTPStatus::test_raise_status_empty_body[wsgi] PASSED [ 41%] 199s tests/test_httpstatus.py::TestHTTPStatusWithMiddleware::test_raise_status_in_process_request[asgi] PASSED [ 41%] 199s tests/test_httpstatus.py::TestHTTPStatusWithMiddleware::test_raise_status_in_process_request[wsgi] PASSED [ 41%] 199s tests/test_httpstatus.py::TestHTTPStatusWithMiddleware::test_raise_status_in_process_resource[asgi] PASSED [ 41%] 199s tests/test_httpstatus.py::TestHTTPStatusWithMiddleware::test_raise_status_in_process_resource[wsgi] PASSED [ 41%] 199s tests/test_httpstatus.py::TestHTTPStatusWithMiddleware::test_raise_status_runs_process_response[asgi] PASSED [ 41%] 199s tests/test_httpstatus.py::TestHTTPStatusWithMiddleware::test_raise_status_runs_process_response[wsgi] PASSED [ 41%] 199s tests/test_httpstatus.py::TestNoBodyWithStatus::test_data_is_set[asgi] PASSED [ 41%] 199s tests/test_httpstatus.py::TestNoBodyWithStatus::test_data_is_set[wsgi] PASSED [ 41%] 199s tests/test_httpstatus.py::TestNoBodyWithStatus::test_media_is_set[asgi] PASSED [ 41%] 199s tests/test_httpstatus.py::TestNoBodyWithStatus::test_media_is_set[wsgi] PASSED [ 41%] 199s tests/test_httpstatus.py::TestNoBodyWithStatus::test_body_is_set[asgi] PASSED [ 41%] 199s tests/test_httpstatus.py::TestNoBodyWithStatus::test_body_is_set[wsgi] PASSED [ 41%] 199s tests/test_httpstatus.py::test_non_string_status[asgi-200-200_0] PASSED [ 41%] 199s tests/test_httpstatus.py::test_non_string_status[asgi-202-202] PASSED [ 41%] 199s tests/test_httpstatus.py::test_non_string_status[asgi-403-403] PASSED [ 41%] 199s tests/test_httpstatus.py::test_non_string_status[asgi-500-500_0] PASSED [ 41%] 199s tests/test_httpstatus.py::test_non_string_status[asgi-200-200_1] PASSED [ 41%] 199s tests/test_httpstatus.py::test_non_string_status[asgi-305-305] PASSED [ 41%] 199s tests/test_httpstatus.py::test_non_string_status[asgi-404-404] PASSED [ 41%] 199s tests/test_httpstatus.py::test_non_string_status[asgi-501-501] PASSED [ 41%] 199s tests/test_httpstatus.py::test_non_string_status[asgi-200-200_2] PASSED [ 41%] 199s tests/test_httpstatus.py::test_non_string_status[asgi-307-307] PASSED [ 41%] 199s tests/test_httpstatus.py::test_non_string_status[asgi-500-500_1] PASSED [ 41%] 199s tests/test_httpstatus.py::test_non_string_status[asgi-702-702] PASSED [ 41%] 199s tests/test_httpstatus.py::test_non_string_status[asgi-200 OK-200] PASSED [ 41%] 199s tests/test_httpstatus.py::test_non_string_status[asgi-702 Emacs-702] PASSED [ 41%] 199s tests/test_httpstatus.py::test_non_string_status[wsgi-200-200_0] PASSED [ 41%] 199s tests/test_httpstatus.py::test_non_string_status[wsgi-202-202] PASSED [ 41%] 199s tests/test_httpstatus.py::test_non_string_status[wsgi-403-403] PASSED [ 41%] 199s tests/test_httpstatus.py::test_non_string_status[wsgi-500-500_0] PASSED [ 41%] 199s tests/test_httpstatus.py::test_non_string_status[wsgi-200-200_1] PASSED [ 41%] 199s tests/test_httpstatus.py::test_non_string_status[wsgi-305-305] PASSED [ 41%] 199s tests/test_httpstatus.py::test_non_string_status[wsgi-404-404] PASSED [ 41%] 199s tests/test_httpstatus.py::test_non_string_status[wsgi-501-501] PASSED [ 41%] 199s tests/test_httpstatus.py::test_non_string_status[wsgi-200-200_2] PASSED [ 42%] 199s tests/test_httpstatus.py::test_non_string_status[wsgi-307-307] PASSED [ 42%] 199s tests/test_httpstatus.py::test_non_string_status[wsgi-500-500_1] PASSED [ 42%] 199s tests/test_httpstatus.py::test_non_string_status[wsgi-702-702] PASSED [ 42%] 199s tests/test_httpstatus.py::test_non_string_status[wsgi-200 OK-200] PASSED [ 42%] 199s tests/test_httpstatus.py::test_non_string_status[wsgi-702 Emacs-702] PASSED [ 42%] 199s tests/test_httpstatus.py::test_deprecated_body PASSED [ 42%] 199s tests/test_inspect.py::TestInspectApp::test_empty_app[asgi] PASSED [ 42%] 199s tests/test_inspect.py::TestInspectApp::test_empty_app[wsgi] PASSED [ 42%] 199s tests/test_inspect.py::TestInspectApp::test_dependent_middleware[asgi] PASSED [ 42%] 199s tests/test_inspect.py::TestInspectApp::test_dependent_middleware[wsgi] PASSED [ 42%] 199s tests/test_inspect.py::TestInspectApp::test_app[asgi] PASSED [ 42%] 199s tests/test_inspect.py::TestInspectApp::test_app[wsgi] PASSED [ 42%] 199s tests/test_inspect.py::TestInspectApp::test_routes[asgi] PASSED [ 42%] 199s tests/test_inspect.py::TestInspectApp::test_routes[wsgi] PASSED [ 42%] 199s tests/test_inspect.py::TestInspectApp::test_routes_empty_paths[asgi] PASSED [ 42%] 199s tests/test_inspect.py::TestInspectApp::test_routes_empty_paths[wsgi] PASSED [ 42%] 199s tests/test_inspect.py::TestInspectApp::test_static_routes[asgi] PASSED [ 42%] 199s tests/test_inspect.py::TestInspectApp::test_static_routes[wsgi] PASSED [ 42%] 199s tests/test_inspect.py::TestInspectApp::test_sink[asgi] PASSED [ 42%] 199s tests/test_inspect.py::TestInspectApp::test_sink[wsgi] PASSED [ 42%] 199s tests/test_inspect.py::TestInspectApp::test_error_handler[asgi] PASSED [ 42%] 199s tests/test_inspect.py::TestInspectApp::test_error_handler[wsgi] PASSED [ 42%] 199s tests/test_inspect.py::TestInspectApp::test_middleware[asgi] PASSED [ 42%] 199s tests/test_inspect.py::TestInspectApp::test_middleware[wsgi] PASSED [ 42%] 199s tests/test_inspect.py::TestInspectApp::test_middleware_tree[asgi] PASSED [ 42%] 199s tests/test_inspect.py::TestInspectApp::test_middleware_tree[wsgi] PASSED [ 42%] 199s tests/test_inspect.py::test_route_method_info_suffix PASSED [ 42%] 199s tests/test_inspect.py::TestRouter::test_compiled_partial PASSED [ 42%] 199s tests/test_inspect.py::TestRouter::test_compiled_no_method_map PASSED [ 42%] 199s tests/test_inspect.py::TestRouter::test_register_router_not_found PASSED [ 42%] 199s tests/test_inspect.py::TestRouter::test_register_other_router PASSED [ 42%] 199s tests/test_inspect.py::TestRouter::test_register_router_multiple_time PASSED [ 42%] 199s tests/test_inspect.py::test_info_class_repr_to_string PASSED [ 42%] 199s tests/test_inspect.py::TestInspectVisitor::test_inspect_visitor PASSED [ 42%] 199s tests/test_inspect.py::TestInspectVisitor::test_process PASSED [ 42%] 199s tests/test_inspect.py::test_string_visitor_class PASSED [ 42%] 199s tests/test_inspect.py::TestStringVisitor::test_route_method[True] PASSED [ 42%] 199s tests/test_inspect.py::TestStringVisitor::test_route_method[False] PASSED [ 42%] 199s tests/test_inspect.py::TestStringVisitor::test_route_method_verbose[True] PASSED [ 43%] 199s tests/test_inspect.py::TestStringVisitor::test_route_method_verbose[False] PASSED [ 43%] 199s tests/test_inspect.py::TestStringVisitor::test_route[True] PASSED [ 43%] 199s tests/test_inspect.py::TestStringVisitor::test_route[False] PASSED [ 43%] 199s tests/test_inspect.py::TestStringVisitor::test_route_verbose[True] PASSED [ 43%] 199s tests/test_inspect.py::TestStringVisitor::test_route_verbose[False] PASSED [ 43%] 199s tests/test_inspect.py::TestStringVisitor::test_route_no_methods[True] PASSED [ 43%] 199s tests/test_inspect.py::TestStringVisitor::test_route_no_methods[False] PASSED [ 43%] 199s tests/test_inspect.py::TestStringVisitor::test_static_route[True-True] PASSED [ 43%] 199s tests/test_inspect.py::TestStringVisitor::test_static_route[True-False] PASSED [ 43%] 199s tests/test_inspect.py::TestStringVisitor::test_static_route[False-True] PASSED [ 43%] 199s tests/test_inspect.py::TestStringVisitor::test_static_route[False-False] PASSED [ 43%] 199s tests/test_inspect.py::TestStringVisitor::test_sink[True] PASSED [ 43%] 199s tests/test_inspect.py::TestStringVisitor::test_sink[False] PASSED [ 43%] 199s tests/test_inspect.py::TestStringVisitor::test_sink_verbose[True] PASSED [ 43%] 199s tests/test_inspect.py::TestStringVisitor::test_sink_verbose[False] PASSED [ 43%] 199s tests/test_inspect.py::TestStringVisitor::test_error_handler[True] PASSED [ 43%] 199s tests/test_inspect.py::TestStringVisitor::test_error_handler[False] PASSED [ 43%] 199s tests/test_inspect.py::TestStringVisitor::test_error_handler_verbose[True] PASSED [ 43%] 199s tests/test_inspect.py::TestStringVisitor::test_error_handler_verbose[False] PASSED [ 43%] 199s tests/test_inspect.py::TestStringVisitor::test_middleware_method[True] PASSED [ 43%] 199s tests/test_inspect.py::TestStringVisitor::test_middleware_method[False] PASSED [ 43%] 199s tests/test_inspect.py::TestStringVisitor::test_middleware_method_verbose[True] PASSED [ 43%] 199s tests/test_inspect.py::TestStringVisitor::test_middleware_method_verbose[False] PASSED [ 43%] 199s tests/test_inspect.py::TestStringVisitor::test_middleware_class[True] PASSED [ 43%] 199s tests/test_inspect.py::TestStringVisitor::test_middleware_class[False] PASSED [ 43%] 199s tests/test_inspect.py::TestStringVisitor::test_middleware_class_verbose[True] PASSED [ 43%] 199s tests/test_inspect.py::TestStringVisitor::test_middleware_class_verbose[False] PASSED [ 43%] 199s tests/test_inspect.py::TestStringVisitor::test_middleware_class_no_methods[True] PASSED [ 43%] 199s tests/test_inspect.py::TestStringVisitor::test_middleware_class_no_methods[False] PASSED [ 43%] 199s tests/test_inspect.py::TestStringVisitor::test_middleware_tree_item[True-True] PASSED [ 43%] 199s tests/test_inspect.py::TestStringVisitor::test_middleware_tree_item[True-False] PASSED [ 43%] 199s tests/test_inspect.py::TestStringVisitor::test_middleware_tree_item[False-True] PASSED [ 43%] 199s tests/test_inspect.py::TestStringVisitor::test_middleware_tree_item[False-False] PASSED [ 43%] 199s tests/test_inspect.py::TestStringVisitor::test_middleware_tree[True-True] PASSED [ 43%] 199s tests/test_inspect.py::TestStringVisitor::test_middleware_tree[True-False] PASSED [ 43%] 199s tests/test_inspect.py::TestStringVisitor::test_middleware_tree[False-True] PASSED [ 43%] 199s tests/test_inspect.py::TestStringVisitor::test_middleware_tree[False-False] PASSED [ 43%] 199s tests/test_inspect.py::TestStringVisitor::test_middleware_tree_response_only[True] PASSED [ 43%] 199s tests/test_inspect.py::TestStringVisitor::test_middleware_tree_response_only[False] PASSED [ 44%] 199s tests/test_inspect.py::TestStringVisitor::test_middleware_tree_no_response[True] PASSED [ 44%] 199s tests/test_inspect.py::TestStringVisitor::test_middleware_tree_no_response[False] PASSED [ 44%] 199s tests/test_inspect.py::TestStringVisitor::test_middleware_tree_no_resource[True] PASSED [ 44%] 199s tests/test_inspect.py::TestStringVisitor::test_middleware_tree_no_resource[False] PASSED [ 44%] 199s tests/test_inspect.py::TestStringVisitor::test_middleware[True] PASSED [ 44%] 199s tests/test_inspect.py::TestStringVisitor::test_middleware[False] PASSED [ 44%] 199s tests/test_inspect.py::TestStringVisitor::test_middleware_verbose[True] PASSED [ 44%] 199s tests/test_inspect.py::TestStringVisitor::test_middleware_verbose[False] PASSED [ 44%] 199s tests/test_inspect.py::TestStringVisitor::test_app[True-True] PASSED [ 44%] 199s tests/test_inspect.py::TestStringVisitor::test_app[True-False] PASSED [ 44%] 199s tests/test_inspect.py::TestStringVisitor::test_app[False-True] PASSED [ 44%] 199s tests/test_inspect.py::TestStringVisitor::test_app[False-False] PASSED [ 44%] 199s tests/test_inspect.py::TestStringVisitor::test_app_no_routes[True-True] PASSED [ 44%] 199s tests/test_inspect.py::TestStringVisitor::test_app_no_routes[True-False] PASSED [ 44%] 199s tests/test_inspect.py::TestStringVisitor::test_app_no_routes[False-True] PASSED [ 44%] 199s tests/test_inspect.py::TestStringVisitor::test_app_no_routes[False-False] PASSED [ 44%] 199s tests/test_inspect.py::TestStringVisitor::test_app_no_middleware[True-True] PASSED [ 44%] 199s tests/test_inspect.py::TestStringVisitor::test_app_no_middleware[True-False] PASSED [ 44%] 199s tests/test_inspect.py::TestStringVisitor::test_app_no_middleware[False-True] PASSED [ 44%] 199s tests/test_inspect.py::TestStringVisitor::test_app_no_middleware[False-False] PASSED [ 44%] 199s tests/test_inspect.py::TestStringVisitor::test_app_static_routes[True-True] PASSED [ 44%] 199s tests/test_inspect.py::TestStringVisitor::test_app_static_routes[True-False] PASSED [ 44%] 199s tests/test_inspect.py::TestStringVisitor::test_app_static_routes[False-True] PASSED [ 44%] 199s tests/test_inspect.py::TestStringVisitor::test_app_static_routes[False-False] PASSED [ 44%] 199s tests/test_inspect.py::TestStringVisitor::test_app_no_sink[True-True] PASSED [ 44%] 199s tests/test_inspect.py::TestStringVisitor::test_app_no_sink[True-False] PASSED [ 44%] 199s tests/test_inspect.py::TestStringVisitor::test_app_no_sink[False-True] PASSED [ 44%] 199s tests/test_inspect.py::TestStringVisitor::test_app_no_sink[False-False] PASSED [ 44%] 199s tests/test_inspect.py::TestStringVisitor::test_app_no_errors[True-True] PASSED [ 44%] 199s tests/test_inspect.py::TestStringVisitor::test_app_no_errors[True-False] PASSED [ 44%] 199s tests/test_inspect.py::TestStringVisitor::test_app_no_errors[False-True] PASSED [ 44%] 199s tests/test_inspect.py::TestStringVisitor::test_app_no_errors[False-False] PASSED [ 44%] 199s tests/test_inspect.py::TestStringVisitor::test_app_name[True] PASSED [ 44%] 199s tests/test_inspect.py::TestStringVisitor::test_app_name[False] PASSED [ 44%] 199s tests/test_inspect.py::test_is_internal PASSED [ 44%] 199s tests/test_media_handlers.py::test_check_json_library[mujson] PASSED [ 44%] 199s tests/test_media_handlers.py::test_check_json_library[orjson] SKIPPED [ 44%] 199s tests/test_media_handlers.py::test_check_json_library[rapidjson] PASSED [ 44%] 199s tests/test_media_handlers.py::test_check_json_library[ujson] PASSED [ 45%] 199s tests/test_media_handlers.py::test_serialization[asgi-None-body0-{"test":"value"}] PASSED [ 45%] 199s tests/test_media_handlers.py::test_serialization[asgi-func1-body1-[{"test":"value"},{"ensure_ascii":true}]] PASSED [ 45%] 199s tests/test_media_handlers.py::test_serialization[asgi-None-body2-{"yen":"\xc2\xa5"}] PASSED [ 45%] 199s tests/test_media_handlers.py::test_serialization[asgi-func3-body3-{"test":"value"}] PASSED [ 45%] 199s tests/test_media_handlers.py::test_serialization[asgi-dumps-body4-{"test":"value"}] PASSED [ 45%] 199s tests/test_media_handlers.py::test_serialization[asgi-dumps-body5-{"test":"value"}] PASSED [ 45%] 199s tests/test_media_handlers.py::test_serialization[wsgi-None-body0-{"test":"value"}] PASSED [ 45%] 199s tests/test_media_handlers.py::test_serialization[wsgi-func1-body1-[{"test":"value"},{"ensure_ascii":true}]] PASSED [ 45%] 199s tests/test_media_handlers.py::test_serialization[wsgi-None-body2-{"yen":"\xc2\xa5"}] PASSED [ 45%] 199s tests/test_media_handlers.py::test_serialization[wsgi-func3-body3-{"test":"value"}] PASSED [ 45%] 199s tests/test_media_handlers.py::test_serialization[wsgi-dumps-body4-{"test":"value"}] PASSED [ 45%] 199s tests/test_media_handlers.py::test_serialization[wsgi-dumps-body5-{"test":"value"}] PASSED [ 45%] 199s tests/test_media_handlers.py::test_deserialization[asgi-None-[1, 2]-expected0] PASSED [ 45%] 199s tests/test_media_handlers.py::test_deserialization[asgi-func1-{"key": "value"}-expected1] PASSED [ 45%] 199s tests/test_media_handlers.py::test_deserialization[asgi-temp_json_func-{"test": "value"}-expected2] PASSED [ 45%] 199s tests/test_media_handlers.py::test_deserialization[asgi-loads-{"test": "value"}-expected3] PASSED [ 45%] 199s tests/test_media_handlers.py::test_deserialization[asgi-loads-{"test": "value"}-expected4] PASSED [ 45%] 199s tests/test_media_handlers.py::test_deserialization[wsgi-None-[1, 2]-expected0] PASSED [ 45%] 199s tests/test_media_handlers.py::test_deserialization[wsgi-func1-{"key": "value"}-expected1] PASSED [ 45%] 199s tests/test_media_handlers.py::test_deserialization[wsgi-temp_json_func-{"test": "value"}-expected2] PASSED [ 45%] 199s tests/test_media_handlers.py::test_deserialization[wsgi-loads-{"test": "value"}-expected3] PASSED [ 45%] 199s tests/test_media_handlers.py::test_deserialization[wsgi-loads-{"test": "value"}-expected4] PASSED [ 45%] 199s tests/test_media_handlers.py::test_full_app[asgi-True-stdlib] PASSED [ 45%] 199s tests/test_media_handlers.py::test_full_app[asgi-True-mujson] PASSED [ 45%] 199s tests/test_media_handlers.py::test_full_app[asgi-True-rapidjson] PASSED [ 45%] 199s tests/test_media_handlers.py::test_full_app[asgi-True-ujson] PASSED [ 45%] 199s tests/test_media_handlers.py::test_full_app[asgi-False-stdlib] PASSED [ 45%] 199s tests/test_media_handlers.py::test_full_app[asgi-False-mujson] PASSED [ 45%] 199s tests/test_media_handlers.py::test_full_app[asgi-False-rapidjson] PASSED [ 45%] 199s tests/test_media_handlers.py::test_full_app[asgi-False-ujson] PASSED [ 45%] 199s tests/test_media_handlers.py::test_full_app[wsgi-True-stdlib] PASSED [ 45%] 199s tests/test_media_handlers.py::test_full_app[wsgi-True-mujson] PASSED [ 45%] 199s tests/test_media_handlers.py::test_full_app[wsgi-True-rapidjson] PASSED [ 45%] 199s tests/test_media_handlers.py::test_full_app[wsgi-True-ujson] PASSED [ 45%] 199s tests/test_media_handlers.py::test_full_app[wsgi-False-stdlib] PASSED [ 45%] 199s tests/test_media_handlers.py::test_full_app[wsgi-False-mujson] PASSED [ 45%] 199s tests/test_media_handlers.py::test_full_app[wsgi-False-rapidjson] PASSED [ 45%] 199s tests/test_media_handlers.py::test_full_app[wsgi-False-ujson] PASSED [ 45%] 199s tests/test_media_handlers.py::test_deserialization_raises[asgi-application/json] PASSED [ 46%] 199s tests/test_media_handlers.py::test_deserialization_raises[asgi-application/json; answer=42] PASSED [ 46%] 199s tests/test_media_handlers.py::test_deserialization_raises[wsgi-application/json] PASSED [ 46%] 199s tests/test_media_handlers.py::test_deserialization_raises[wsgi-application/json; answer=42] PASSED [ 46%] 199s tests/test_media_handlers.py::test_sync_methods_not_overridden[asgi] PASSED [ 46%] 199s tests/test_media_handlers.py::test_sync_methods_not_overridden[wsgi] PASSED [ 46%] 199s tests/test_media_handlers.py::test_async_methods_not_overridden PASSED [ 46%] 199s tests/test_media_handlers.py::test_async_handler_returning_none PASSED [ 46%] 199s tests/test_media_handlers.py::test_json_err_no_handler[asgi] PASSED [ 46%] 199s tests/test_media_handlers.py::test_json_err_no_handler[wsgi] PASSED [ 46%] 199s tests/test_media_handlers.py::test_handlers_include_new_media_handlers_in_resolving PASSED [ 46%] 199s tests/test_media_handlers.py::TestBaseHandler::test_defaultError PASSED [ 46%] 199s tests/test_media_handlers.py::TestBaseHandler::test_json PASSED [ 46%] 199s tests/test_media_multipart.py::test_parse[5b11af82ab65407ba8cdccf37d2a9c4f] PASSED [ 46%] 199s tests/test_media_multipart.py::test_parse[---------------------------1574247108204320607285918568] PASSED [ 46%] 199s tests/test_media_multipart.py::test_parse[BOUNDARY] PASSED [ 46%] 199s tests/test_media_multipart.py::test_parse[boundary] PASSED [ 46%] 199s tests/test_media_multipart.py::test_parsing_correctness[32-7] PASSED [ 46%] 199s tests/test_media_multipart.py::test_parsing_correctness[32-8] PASSED [ 46%] 199s tests/test_media_multipart.py::test_parsing_correctness[32-9] PASSED [ 46%] 199s tests/test_media_multipart.py::test_parsing_correctness[32-10] PASSED [ 46%] 199s tests/test_media_multipart.py::test_parsing_correctness[32-32] PASSED [ 46%] 199s tests/test_media_multipart.py::test_parsing_correctness[32-64] PASSED [ 46%] 199s tests/test_media_multipart.py::test_parsing_correctness[32-128] PASSED [ 46%] 199s tests/test_media_multipart.py::test_parsing_correctness[32-256] PASSED [ 46%] 199s tests/test_media_multipart.py::test_parsing_correctness[64-7] PASSED [ 46%] 199s tests/test_media_multipart.py::test_parsing_correctness[64-8] PASSED [ 46%] 199s tests/test_media_multipart.py::test_parsing_correctness[64-9] PASSED [ 46%] 199s tests/test_media_multipart.py::test_parsing_correctness[64-10] PASSED [ 46%] 199s tests/test_media_multipart.py::test_parsing_correctness[64-32] PASSED [ 46%] 199s tests/test_media_multipart.py::test_parsing_correctness[64-64] PASSED [ 46%] 199s tests/test_media_multipart.py::test_parsing_correctness[64-128] PASSED [ 46%] 199s tests/test_media_multipart.py::test_parsing_correctness[64-256] PASSED [ 46%] 199s tests/test_media_multipart.py::test_parsing_correctness[128-7] PASSED [ 46%] 199s tests/test_media_multipart.py::test_parsing_correctness[128-8] PASSED [ 46%] 199s tests/test_media_multipart.py::test_parsing_correctness[128-9] PASSED [ 46%] 199s tests/test_media_multipart.py::test_parsing_correctness[128-10] PASSED [ 46%] 199s tests/test_media_multipart.py::test_parsing_correctness[128-32] PASSED [ 46%] 199s tests/test_media_multipart.py::test_parsing_correctness[128-64] PASSED [ 46%] 199s tests/test_media_multipart.py::test_parsing_correctness[128-128] PASSED [ 46%] 199s tests/test_media_multipart.py::test_parsing_correctness[128-256] PASSED [ 47%] 199s tests/test_media_multipart.py::test_parsing_correctness[256-7] PASSED [ 47%] 199s tests/test_media_multipart.py::test_parsing_correctness[256-8] PASSED [ 47%] 199s tests/test_media_multipart.py::test_parsing_correctness[256-9] PASSED [ 47%] 199s tests/test_media_multipart.py::test_parsing_correctness[256-10] PASSED [ 47%] 199s tests/test_media_multipart.py::test_parsing_correctness[256-32] PASSED [ 47%] 199s tests/test_media_multipart.py::test_parsing_correctness[256-64] PASSED [ 47%] 199s tests/test_media_multipart.py::test_parsing_correctness[256-128] PASSED [ 47%] 199s tests/test_media_multipart.py::test_parsing_correctness[256-256] PASSED [ 47%] 199s tests/test_media_multipart.py::test_missing_boundary PASSED [ 47%] 199s tests/test_media_multipart.py::test_empty_input PASSED [ 47%] 199s tests/test_media_multipart.py::test_serialize PASSED [ 47%] 199s tests/test_media_multipart.py::test_invalid_text_or_charset[utf-8-Impossible byte: \xff] PASSED [ 47%] 199s tests/test_media_multipart.py::test_invalid_text_or_charset[utf-8-Overlong... \xfc\x83\xbf\xbf\xbf\xbf ... sequence] PASSED [ 47%] 199s tests/test_media_multipart.py::test_invalid_text_or_charset[ascii-\x80\x80\x80] PASSED [ 47%] 199s tests/test_media_multipart.py::test_invalid_text_or_charset[pecyn-AAHEHlRoZSBGYWxjb24gV2ViIEZyYW1ld29yaywgMjAxOQ==] PASSED [ 47%] 199s tests/test_media_multipart.py::test_unknown_header PASSED [ 47%] 199s tests/test_media_multipart.py::test_from_buffered_stream PASSED [ 47%] 199s tests/test_media_multipart.py::test_body_part_media PASSED [ 47%] 199s tests/test_media_multipart.py::test_body_part_properties PASSED [ 47%] 199s tests/test_media_multipart.py::test_empty_or_missing_filename PASSED [ 47%] 199s tests/test_media_multipart.py::test_upload_multipart[asgi] PASSED [ 47%] 199s tests/test_media_multipart.py::test_upload_multipart[wsgi] PASSED [ 47%] 199s tests/test_media_multipart.py::test_epilogue[asgi-] PASSED [ 47%] 199s tests/test_media_multipart.py::test_epilogue[asgi---] PASSED [ 47%] 199s tests/test_media_multipart.py::test_epilogue[asgi-\n] PASSED [ 47%] 199s tests/test_media_multipart.py::test_epilogue[asgi-\n\n] PASSED [ 47%] 199s tests/test_media_multipart.py::test_epilogue[asgi- <-- no CRLF] PASSED [ 47%] 199s tests/test_media_multipart.py::test_epilogue[asgi-\U0001f4a5] PASSED [ 47%] 199s tests/test_media_multipart.py::test_epilogue[wsgi-] PASSED [ 47%] 199s tests/test_media_multipart.py::test_epilogue[wsgi---] PASSED [ 47%] 199s tests/test_media_multipart.py::test_epilogue[wsgi-\n] PASSED [ 47%] 199s tests/test_media_multipart.py::test_epilogue[wsgi-\n\n] PASSED [ 47%] 199s tests/test_media_multipart.py::test_epilogue[wsgi- <-- no CRLF] PASSED [ 47%] 199s tests/test_media_multipart.py::test_epilogue[wsgi-\U0001f4a5] PASSED [ 47%] 199s tests/test_media_multipart.py::test_truncated_form[asgi-1] PASSED [ 47%] 199s tests/test_media_multipart.py::test_truncated_form[asgi-2] PASSED [ 47%] 199s tests/test_media_multipart.py::test_truncated_form[asgi-3] PASSED [ 47%] 199s tests/test_media_multipart.py::test_truncated_form[asgi-4] PASSED [ 47%] 199s tests/test_media_multipart.py::test_truncated_form[wsgi-1] PASSED [ 48%] 199s tests/test_media_multipart.py::test_truncated_form[wsgi-2] PASSED [ 48%] 199s tests/test_media_multipart.py::test_truncated_form[wsgi-3] PASSED [ 48%] 199s tests/test_media_multipart.py::test_truncated_form[wsgi-4] PASSED [ 48%] 199s tests/test_media_multipart.py::test_unexpected_form_structure[asgi] PASSED [ 48%] 199s tests/test_media_multipart.py::test_unexpected_form_structure[wsgi] PASSED [ 48%] 199s tests/test_media_multipart.py::test_data_too_large[asgi] PASSED [ 48%] 199s tests/test_media_multipart.py::test_data_too_large[wsgi] PASSED [ 48%] 199s tests/test_media_multipart.py::test_too_many_body_parts[asgi-0] PASSED [ 48%] 199s tests/test_media_multipart.py::test_too_many_body_parts[asgi-1] PASSED [ 48%] 199s tests/test_media_multipart.py::test_too_many_body_parts[asgi-2] PASSED [ 48%] 199s tests/test_media_multipart.py::test_too_many_body_parts[asgi-3] PASSED [ 48%] 199s tests/test_media_multipart.py::test_too_many_body_parts[asgi-4] PASSED [ 48%] 199s tests/test_media_multipart.py::test_too_many_body_parts[asgi-5] PASSED [ 48%] 199s tests/test_media_multipart.py::test_too_many_body_parts[asgi-6] PASSED [ 48%] 199s tests/test_media_multipart.py::test_too_many_body_parts[asgi-100] PASSED [ 48%] 199s tests/test_media_multipart.py::test_too_many_body_parts[asgi-1000] PASSED [ 48%] 199s tests/test_media_multipart.py::test_too_many_body_parts[wsgi-0] PASSED [ 48%] 199s tests/test_media_multipart.py::test_too_many_body_parts[wsgi-1] PASSED [ 48%] 199s tests/test_media_multipart.py::test_too_many_body_parts[wsgi-2] PASSED [ 48%] 199s tests/test_media_multipart.py::test_too_many_body_parts[wsgi-3] PASSED [ 48%] 199s tests/test_media_multipart.py::test_too_many_body_parts[wsgi-4] PASSED [ 48%] 199s tests/test_media_multipart.py::test_too_many_body_parts[wsgi-5] PASSED [ 48%] 199s tests/test_media_multipart.py::test_too_many_body_parts[wsgi-6] PASSED [ 48%] 199s tests/test_media_multipart.py::test_too_many_body_parts[wsgi-100] PASSED [ 48%] 199s tests/test_media_multipart.py::test_too_many_body_parts[wsgi-1000] PASSED [ 48%] 199s tests/test_media_multipart.py::test_random_form[asgi---] PASSED [ 48%] 199s tests/test_media_multipart.py::test_random_form[asgi---\r\n] PASSED [ 48%] 199s tests/test_media_multipart.py::test_random_form[wsgi---] PASSED [ 48%] 199s tests/test_media_multipart.py::test_random_form[wsgi---\r\n] PASSED [ 48%] 199s tests/test_media_multipart.py::test_invalid_random_form[asgi] PASSED [ 48%] 199s tests/test_media_multipart.py::test_invalid_random_form[wsgi] PASSED [ 48%] 199s tests/test_media_multipart.py::test_nested_multipart_mixed PASSED [ 48%] 199s tests/test_media_multipart.py::test_content_transfer_encoding_header[asgi] PASSED [ 48%] 199s tests/test_media_multipart.py::test_content_transfer_encoding_header[wsgi] PASSED [ 48%] 199s tests/test_media_multipart.py::test_unsupported_charset[asgi] PASSED [ 48%] 199s tests/test_media_multipart.py::test_unsupported_charset[wsgi] PASSED [ 48%] 199s tests/test_media_multipart.py::test_filename_star[asgi] PASSED [ 48%] 199s tests/test_media_multipart.py::test_filename_star[wsgi] PASSED [ 48%] 199s tests/test_media_multipart.py::test_headers_edge_cases[asgi-64] PASSED [ 49%] 199s tests/test_media_multipart.py::test_headers_edge_cases[asgi-140] PASSED [ 49%] 199s tests/test_media_multipart.py::test_headers_edge_cases[asgi-141] PASSED [ 49%] 199s tests/test_media_multipart.py::test_headers_edge_cases[asgi-142] PASSED [ 49%] 199s tests/test_media_multipart.py::test_headers_edge_cases[asgi-256] PASSED [ 49%] 199s tests/test_media_multipart.py::test_headers_edge_cases[asgi-1024] PASSED [ 49%] 199s tests/test_media_multipart.py::test_headers_edge_cases[wsgi-64] PASSED [ 49%] 199s tests/test_media_multipart.py::test_headers_edge_cases[wsgi-140] PASSED [ 49%] 199s tests/test_media_multipart.py::test_headers_edge_cases[wsgi-141] PASSED [ 49%] 199s tests/test_media_multipart.py::test_headers_edge_cases[wsgi-142] PASSED [ 49%] 199s tests/test_media_multipart.py::test_headers_edge_cases[wsgi-256] PASSED [ 49%] 199s tests/test_media_multipart.py::test_headers_edge_cases[wsgi-1024] PASSED [ 49%] 199s tests/test_media_multipart.py::test_deserialize_part_media[asgi] PASSED [ 49%] 199s tests/test_media_multipart.py::test_deserialize_part_media[wsgi] PASSED [ 49%] 199s tests/test_media_multipart.py::test_deserialize_custom_media[asgi] PASSED [ 49%] 199s tests/test_media_multipart.py::test_deserialize_custom_media[wsgi] PASSED [ 49%] 199s tests/test_media_multipart.py::test_multipart_parse_options_default_handlers_unique PASSED [ 49%] 199s tests/test_media_urlencoded.py::test_deserialize_empty_form PASSED [ 49%] 199s tests/test_media_urlencoded.py::test_deserialize_invalid_unicode PASSED [ 49%] 199s tests/test_media_urlencoded.py::test_urlencoded_form_handler_serialize[data0-hello=world] PASSED [ 49%] 199s tests/test_media_urlencoded.py::test_urlencoded_form_handler_serialize[data1-number=1&number=2] PASSED [ 49%] 199s tests/test_media_urlencoded.py::test_empty_form[asgi] PASSED [ 49%] 199s tests/test_media_urlencoded.py::test_empty_form[wsgi] PASSED [ 49%] 199s tests/test_media_urlencoded.py::test_urlencoded_form[asgi-a=1&b=&c=3-expected0] PASSED [ 49%] 199s tests/test_media_urlencoded.py::test_urlencoded_form[asgi-param=undefined-expected1] PASSED [ 49%] 199s tests/test_media_urlencoded.py::test_urlencoded_form[asgi-color=green&color=black-expected2] PASSED [ 49%] 199s tests/test_media_urlencoded.py::test_urlencoded_form[asgi-food=hamburger+%28%F0%9F%8D%94%29&sauce=BBQ-expected3] PASSED [ 49%] 199s tests/test_media_urlencoded.py::test_urlencoded_form[asgi-flag%1&flag%2&flag%1&flag%2-expected4] PASSED [ 49%] 199s tests/test_media_urlencoded.py::test_urlencoded_form[wsgi-a=1&b=&c=3-expected0] PASSED [ 49%] 199s tests/test_media_urlencoded.py::test_urlencoded_form[wsgi-param=undefined-expected1] PASSED [ 49%] 199s tests/test_media_urlencoded.py::test_urlencoded_form[wsgi-color=green&color=black-expected2] PASSED [ 49%] 199s tests/test_media_urlencoded.py::test_urlencoded_form[wsgi-food=hamburger+%28%F0%9F%8D%94%29&sauce=BBQ-expected3] PASSED [ 49%] 199s tests/test_media_urlencoded.py::test_urlencoded_form[wsgi-flag%1&flag%2&flag%1&flag%2-expected4] PASSED [ 49%] 199s tests/test_mediatypes.py::test_parse_header[-expected0] PASSED [ 49%] 199s tests/test_mediatypes.py::test_parse_header[strange-expected1] PASSED [ 49%] 199s tests/test_mediatypes.py::test_parse_header[text/plain-expected2] PASSED [ 49%] 199s tests/test_mediatypes.py::test_parse_header[text/plain -expected3] PASSED [ 49%] 199s tests/test_mediatypes.py::test_parse_header[ text/plain-expected4] PASSED [ 49%] 199s tests/test_mediatypes.py::test_parse_header[ text/plain -expected5] PASSED [ 49%] 199s tests/test_mediatypes.py::test_parse_header[ text/plain -expected6] PASSED [ 50%] 199s tests/test_mediatypes.py::test_parse_header[falcon/peregrine; key1; key2=value; key3-expected7] PASSED [ 50%] 199s tests/test_mediatypes.py::test_parse_header[audio/pcm;rate=48000;encoding=float;bits=32-expected8] PASSED [ 50%] 199s tests/test_mediatypes.py::test_parse_header[falcon/*; genus=falco; family=falconidae; class=aves; -expected9] PASSED [ 50%] 199s tests/test_mediatypes.py::test_parse_header["falcon/peregrine" ; key="value"-expected10] PASSED [ 50%] 199s tests/test_mediatypes.py::test_parse_header[falcon/peregrine; empty=""-expected11] PASSED [ 50%] 199s tests/test_mediatypes.py::test_parse_header[falcon/peregrine; quote="-expected12] PASSED [ 50%] 199s tests/test_mediatypes.py::test_parse_header[text/plain; charset=utf-8-expected13] PASSED [ 50%] 199s tests/test_mediatypes.py::test_parse_header[stuff/strange; missing-value; missing-another-expected14] PASSED [ 50%] 199s tests/test_mediatypes.py::test_parse_header[stuff/strange; missing-value\\missing-another-expected15] PASSED [ 50%] 199s tests/test_mediatypes.py::test_parse_header[application/falcon; P1 = "key; value"; P2="\\""-expected16] PASSED [ 50%] 199s tests/test_mediatypes.py::test_media_type_private_cls PASSED [ 50%] 199s tests/test_mediatypes.py::test_media_range_private_cls PASSED [ 50%] 199s tests/test_mediatypes.py::test_quality_rfc_examples[RFC-7231-text/html;level=1-1.0] PASSED [ 50%] 199s tests/test_mediatypes.py::test_quality_rfc_examples[RFC-7231-text/html-0.7] PASSED [ 50%] 199s tests/test_mediatypes.py::test_quality_rfc_examples[RFC-7231-text/plain-0.3] PASSED [ 50%] 199s tests/test_mediatypes.py::test_quality_rfc_examples[RFC-7231-image/jpeg-0.5] PASSED [ 50%] 199s tests/test_mediatypes.py::test_quality_rfc_examples[RFC-7231-text/html;level=2-0.4] PASSED [ 50%] 199s tests/test_mediatypes.py::test_quality_rfc_examples[RFC-7231-text/html;level=3-0.7] PASSED [ 50%] 199s tests/test_mediatypes.py::test_quality_rfc_examples[RFC-9110-text/html;level=1-1.0] PASSED [ 50%] 199s tests/test_mediatypes.py::test_quality_rfc_examples[RFC-9110-text/html-0.7] PASSED [ 50%] 199s tests/test_mediatypes.py::test_quality_rfc_examples[RFC-9110-text/plain-0.3] PASSED [ 50%] 199s tests/test_mediatypes.py::test_quality_rfc_examples[RFC-9110-image/jpeg-0.5] PASSED [ 50%] 199s tests/test_mediatypes.py::test_quality_rfc_examples[RFC-9110-text/html;level=2-0.4] PASSED [ 50%] 199s tests/test_mediatypes.py::test_quality_rfc_examples[RFC-9110-text/html;level=3-0.7] PASSED [ 50%] 199s tests/test_mediatypes.py::test_quality[application/*, */wildcard; q=0.7, */*; q=0.25-test/wildcard; expect=pass-0.7] PASSED [ 50%] 199s tests/test_mediatypes.py::test_quality[application/*, */wildcard; q=0.7, */*; q=0.25-application/wildcard; expect=pass-1.0] PASSED [ 50%] 199s tests/test_mediatypes.py::test_quality[application/*, */wildcard; q=0.7, */*; q=0.25-test/something; expect=pass-0.25] PASSED [ 50%] 199s tests/test_mediatypes.py::test_quality[text/x-python, text/*; q=0.33, text/plain; format=fixed-text/plain; format=flowed-0.33] PASSED [ 50%] 199s tests/test_mediatypes.py::test_quality[text/*;q=0.3, text/html;level=1, text/html;q=0.7, text/html;level=2;q=0.4, */*;q=0.5-text/html; level=3-0.7] PASSED [ 50%] 199s tests/test_mediatypes.py::test_quality_prefer_exact_match[foo/bar, test/app; q=0.2, test/app; p=1; q=0.9, test/app;p=1;r=2-test/app] PASSED [ 50%] 199s tests/test_mediatypes.py::test_quality_prefer_exact_match[test/app; q=0.1, test/app; p=1; q=0.2, test/app;p=1;r=2-test/app; p=1] PASSED [ 50%] 199s tests/test_mediatypes.py::test_quality_prefer_exact_match[*/app; q=0.1, simple/app; test=true; q=0.2, simple/app; color=blue-simple/app; test=true] PASSED [ 50%] 199s tests/test_mediatypes.py::test_quality_none_matches[application/json-application/yaml] PASSED [ 50%] 199s tests/test_mediatypes.py::test_quality_none_matches[audio/*; q=0.2, audio/basic-video/mp3] PASSED [ 50%] 199s tests/test_mediatypes.py::test_quality_none_matches[falcon/peregrine; speed=high; unladen=true-falcon/peregrine; speed=average] PASSED [ 50%] 199s tests/test_mediatypes.py::test_quality_none_matches[text/html, text/plain-text/x-python] PASSED [ 50%] 199s tests/test_mediatypes.py::test_quality_none_matches[*/json; q=0.2, application/json-application/msgpack] PASSED [ 50%] 199s tests/test_mediatypes.py::test_quality_none_matches[text/x-python, image/*; q=0.33, text/plain; format=fixed-text/plain; format=flowed] PASSED [ 50%] 199s tests/test_mediatypes.py::test_best_match[media_types0-application/json-application/json] PASSED [ 51%] 199s tests/test_mediatypes.py::test_best_match[media_types1-application/json; charset=utf-8-application/json] PASSED [ 51%] 199s tests/test_mediatypes.py::test_best_match[media_types2-application/json, */*; q=0.2-application/json] PASSED [ 51%] 199s tests/test_mediatypes.py::test_best_match_none_matches[media_types0-application/yaml] PASSED [ 51%] 199s tests/test_mediatypes.py::test_best_match_none_matches[media_types1-video/mp3] PASSED [ 51%] 199s tests/test_mediatypes.py::test_best_match_none_matches[media_types2-falcon/peregrine; speed=average] PASSED [ 51%] 199s tests/test_mediatypes.py::test_best_match_none_matches[media_types3-text/x-python] PASSED [ 51%] 199s tests/test_mediatypes.py::test_best_match_none_matches[media_types4-application/msgpack] PASSED [ 51%] 199s tests/test_mediatypes.py::test_best_match_none_matches[media_types5-text/plain; format=flowed] PASSED [ 51%] 199s tests/test_mediatypes.py::test_best_match_none_matches[media_types6-application/xml, text/*; q=0.7] PASSED [ 51%] 199s tests/test_mediatypes.py::test_best_match_none_matches[media_types7-falcon/peregrine; load=heavy] PASSED [ 51%] 199s tests/test_mediatypes.py::test_invalid_media_type[] PASSED [ 51%] 199s tests/test_mediatypes.py::test_invalid_media_type[word document] PASSED [ 51%] 199s tests/test_mediatypes.py::test_invalid_media_type[text] PASSED [ 51%] 199s tests/test_mediatypes.py::test_invalid_media_range[] PASSED [ 51%] 199s tests/test_mediatypes.py::test_invalid_media_range[word document] PASSED [ 51%] 199s tests/test_mediatypes.py::test_invalid_media_range[text] PASSED [ 51%] 199s tests/test_mediatypes.py::test_invalid_media_range[text/plain; q=high] PASSED [ 51%] 199s tests/test_mediatypes.py::test_invalid_media_range[*/*; q=inf] PASSED [ 51%] 199s tests/test_mediatypes.py::test_invalid_media_range[*/*; q=-inf] PASSED [ 51%] 199s tests/test_mediatypes.py::test_invalid_media_range[*/*; q=nan] PASSED [ 51%] 199s tests/test_mediatypes.py::test_invalid_media_range[application/very-important; q=1337.0] PASSED [ 51%] 199s tests/test_mediatypes.py::test_empty_media_types[media_types0-*/*] PASSED [ 51%] 199s tests/test_mediatypes.py::test_empty_media_types[media_types0-application/xml, text/*; q=0.7, */*; q=0.3] PASSED [ 51%] 199s tests/test_mediatypes.py::test_empty_media_types[media_types1-*/*] PASSED [ 51%] 199s tests/test_mediatypes.py::test_empty_media_types[media_types1-application/xml, text/*; q=0.7, */*; q=0.3] PASSED [ 51%] 199s tests/test_mediatypes.py::test_empty_media_types[media_types2-*/*] PASSED [ 51%] 199s tests/test_mediatypes.py::test_empty_media_types[media_types2-application/xml, text/*; q=0.7, */*; q=0.3] PASSED [ 51%] 199s tests/test_mediatypes.py::test_empty_media_types[_generate_strings-*/*] PASSED [ 51%] 199s tests/test_mediatypes.py::test_empty_media_types[_generate_strings-application/xml, text/*; q=0.7, */*; q=0.3] PASSED [ 51%] 199s tests/test_middleware.py::TestRequestTimeMiddleware::test_skip_process_resource[asgi] PASSED [ 51%] 199s tests/test_middleware.py::TestRequestTimeMiddleware::test_skip_process_resource[wsgi] PASSED [ 51%] 199s tests/test_middleware.py::TestRequestTimeMiddleware::test_add_invalid_middleware[asgi] PASSED [ 51%] 199s tests/test_middleware.py::TestRequestTimeMiddleware::test_add_invalid_middleware[wsgi] PASSED [ 51%] 199s tests/test_middleware.py::TestRequestTimeMiddleware::test_response_middleware_raises_exception[asgi] PASSED [ 51%] 199s tests/test_middleware.py::TestRequestTimeMiddleware::test_response_middleware_raises_exception[wsgi] PASSED [ 51%] 199s tests/test_middleware.py::TestRequestTimeMiddleware::test_log_get_request[asgi-True] PASSED [ 51%] 199s tests/test_middleware.py::TestRequestTimeMiddleware::test_log_get_request[asgi-False] PASSED [ 51%] 199s tests/test_middleware.py::TestRequestTimeMiddleware::test_log_get_request[wsgi-True] PASSED [ 51%] 199s tests/test_middleware.py::TestRequestTimeMiddleware::test_log_get_request[wsgi-False] PASSED [ 52%] 199s tests/test_middleware.py::TestTransactionIdMiddleware::test_generate_trans_id_with_request[asgi] PASSED [ 52%] 199s tests/test_middleware.py::TestTransactionIdMiddleware::test_generate_trans_id_with_request[wsgi] PASSED [ 52%] 199s tests/test_middleware.py::TestSeveralMiddlewares::test_generate_trans_id_and_time_with_request[asgi-True] PASSED [ 52%] 199s tests/test_middleware.py::TestSeveralMiddlewares::test_generate_trans_id_and_time_with_request[asgi-False] PASSED [ 52%] 199s tests/test_middleware.py::TestSeveralMiddlewares::test_generate_trans_id_and_time_with_request[wsgi-True] PASSED [ 52%] 199s tests/test_middleware.py::TestSeveralMiddlewares::test_generate_trans_id_and_time_with_request[wsgi-False] PASSED [ 52%] 199s tests/test_middleware.py::TestSeveralMiddlewares::test_legacy_middleware_called_with_correct_args[asgi] PASSED [ 52%] 199s tests/test_middleware.py::TestSeveralMiddlewares::test_legacy_middleware_called_with_correct_args[wsgi] PASSED [ 52%] 199s tests/test_middleware.py::TestSeveralMiddlewares::test_middleware_execution_order[asgi] PASSED [ 52%] 199s tests/test_middleware.py::TestSeveralMiddlewares::test_middleware_execution_order[wsgi] PASSED [ 52%] 199s tests/test_middleware.py::TestSeveralMiddlewares::test_independent_middleware_execution_order[asgi] PASSED [ 52%] 199s tests/test_middleware.py::TestSeveralMiddlewares::test_independent_middleware_execution_order[wsgi] PASSED [ 52%] 199s tests/test_middleware.py::TestSeveralMiddlewares::test_multiple_response_mw_throw_exception[asgi] PASSED [ 52%] 199s tests/test_middleware.py::TestSeveralMiddlewares::test_multiple_response_mw_throw_exception[wsgi] PASSED [ 52%] 199s tests/test_middleware.py::TestSeveralMiddlewares::test_inner_mw_throw_exception[asgi] PASSED [ 52%] 199s tests/test_middleware.py::TestSeveralMiddlewares::test_inner_mw_throw_exception[wsgi] PASSED [ 52%] 199s tests/test_middleware.py::TestSeveralMiddlewares::test_inner_mw_throw_exception_while_processing_resp[asgi] PASSED [ 52%] 199s tests/test_middleware.py::TestSeveralMiddlewares::test_inner_mw_throw_exception_while_processing_resp[wsgi] PASSED [ 52%] 199s tests/test_middleware.py::TestSeveralMiddlewares::test_inner_mw_with_ex_handler_throw_exception[asgi] PASSED [ 52%] 199s tests/test_middleware.py::TestSeveralMiddlewares::test_inner_mw_with_ex_handler_throw_exception[wsgi] PASSED [ 52%] 199s tests/test_middleware.py::TestSeveralMiddlewares::test_outer_mw_with_ex_handler_throw_exception[asgi] PASSED [ 52%] 199s tests/test_middleware.py::TestSeveralMiddlewares::test_outer_mw_with_ex_handler_throw_exception[wsgi] PASSED [ 52%] 199s tests/test_middleware.py::TestSeveralMiddlewares::test_order_mw_executed_when_exception_in_resp[asgi] PASSED [ 52%] 199s tests/test_middleware.py::TestSeveralMiddlewares::test_order_mw_executed_when_exception_in_resp[wsgi] PASSED [ 52%] 199s tests/test_middleware.py::TestSeveralMiddlewares::test_order_independent_mw_executed_when_exception_in_resp[asgi] PASSED [ 52%] 199s tests/test_middleware.py::TestSeveralMiddlewares::test_order_independent_mw_executed_when_exception_in_resp[wsgi] PASSED [ 52%] 199s tests/test_middleware.py::TestSeveralMiddlewares::test_order_mw_executed_when_exception_in_req[asgi] PASSED [ 52%] 199s tests/test_middleware.py::TestSeveralMiddlewares::test_order_mw_executed_when_exception_in_req[wsgi] PASSED [ 52%] 199s tests/test_middleware.py::TestSeveralMiddlewares::test_order_independent_mw_executed_when_exception_in_req[asgi] PASSED [ 52%] 199s tests/test_middleware.py::TestSeveralMiddlewares::test_order_independent_mw_executed_when_exception_in_req[wsgi] PASSED [ 52%] 199s tests/test_middleware.py::TestSeveralMiddlewares::test_order_mw_executed_when_exception_in_rsrc[asgi] PASSED [ 52%] 199s tests/test_middleware.py::TestSeveralMiddlewares::test_order_mw_executed_when_exception_in_rsrc[wsgi] PASSED [ 52%] 199s tests/test_middleware.py::TestSeveralMiddlewares::test_order_independent_mw_executed_when_exception_in_rsrc[asgi] PASSED [ 52%] 199s tests/test_middleware.py::TestSeveralMiddlewares::test_order_independent_mw_executed_when_exception_in_rsrc[wsgi] PASSED [ 52%] 199s tests/test_middleware.py::TestRemoveBasePathMiddleware::test_base_path_is_removed_before_routing[asgi] PASSED [ 52%] 199s tests/test_middleware.py::TestRemoveBasePathMiddleware::test_base_path_is_removed_before_routing[wsgi] PASSED [ 52%] 199s tests/test_middleware.py::TestResourceMiddleware::test_can_access_resource_params[asgi-True] PASSED [ 52%] 199s tests/test_middleware.py::TestResourceMiddleware::test_can_access_resource_params[asgi-False] PASSED [ 52%] 199s tests/test_middleware.py::TestResourceMiddleware::test_can_access_resource_params[wsgi-True] PASSED [ 53%] 199s tests/test_middleware.py::TestResourceMiddleware::test_can_access_resource_params[wsgi-False] PASSED [ 53%] 199s tests/test_middleware.py::TestEmptySignatureMiddleware::test_dont_need_params_in_signature[asgi] PASSED [ 53%] 199s tests/test_middleware.py::TestEmptySignatureMiddleware::test_dont_need_params_in_signature[wsgi] PASSED [ 53%] 199s tests/test_middleware.py::TestErrorHandling::test_error_composed_before_resp_middleware_called[asgi] PASSED [ 53%] 199s tests/test_middleware.py::TestErrorHandling::test_error_composed_before_resp_middleware_called[wsgi] PASSED [ 53%] 199s tests/test_middleware.py::TestErrorHandling::test_http_status_raised_from_error_handler[asgi] PASSED [ 53%] 199s tests/test_middleware.py::TestErrorHandling::test_http_status_raised_from_error_handler[wsgi] PASSED [ 53%] 199s tests/test_middleware.py::TestShortCircuiting::test_process_request_not_cached[asgi] PASSED [ 53%] 199s tests/test_middleware.py::TestShortCircuiting::test_process_request_not_cached[wsgi] PASSED [ 53%] 199s tests/test_middleware.py::TestShortCircuiting::test_process_request_cached[asgi-True] PASSED [ 53%] 199s tests/test_middleware.py::TestShortCircuiting::test_process_request_cached[asgi-False] PASSED [ 53%] 199s tests/test_middleware.py::TestShortCircuiting::test_process_request_cached[wsgi-True] PASSED [ 53%] 199s tests/test_middleware.py::TestShortCircuiting::test_process_request_cached[wsgi-False] PASSED [ 53%] 199s tests/test_middleware.py::TestShortCircuiting::test_process_resource_cached[asgi-True] PASSED [ 53%] 199s tests/test_middleware.py::TestShortCircuiting::test_process_resource_cached[asgi-False] PASSED [ 53%] 199s tests/test_middleware.py::TestShortCircuiting::test_process_resource_cached[wsgi-True] PASSED [ 53%] 199s tests/test_middleware.py::TestShortCircuiting::test_process_resource_cached[wsgi-False] PASSED [ 53%] 199s tests/test_middleware.py::TestCORSMiddlewareWithAnotherMiddleware::test_api_initialization_with_cors_enabled_and_middleware_param[asgi-mw0-True] PASSED [ 53%] 199s tests/test_middleware.py::TestCORSMiddlewareWithAnotherMiddleware::test_api_initialization_with_cors_enabled_and_middleware_param[asgi-mw1-True] PASSED [ 53%] 199s tests/test_middleware.py::TestCORSMiddlewareWithAnotherMiddleware::test_api_initialization_with_cors_enabled_and_middleware_param[asgi-mw2-True] PASSED [ 53%] 199s tests/test_middleware.py::TestCORSMiddlewareWithAnotherMiddleware::test_api_initialization_with_cors_enabled_and_middleware_param[asgi-mw3-True] PASSED [ 53%] 199s tests/test_middleware.py::TestCORSMiddlewareWithAnotherMiddleware::test_api_initialization_with_cors_enabled_and_middleware_param[asgi-mw4-False] PASSED [ 53%] 199s tests/test_middleware.py::TestCORSMiddlewareWithAnotherMiddleware::test_api_initialization_with_cors_enabled_and_middleware_param[asgi-mw5-False] PASSED [ 53%] 199s tests/test_middleware.py::TestCORSMiddlewareWithAnotherMiddleware::test_api_initialization_with_cors_enabled_and_middleware_param[wsgi-mw0-True] PASSED [ 53%] 199s tests/test_middleware.py::TestCORSMiddlewareWithAnotherMiddleware::test_api_initialization_with_cors_enabled_and_middleware_param[wsgi-mw1-True] PASSED [ 53%] 199s tests/test_middleware.py::TestCORSMiddlewareWithAnotherMiddleware::test_api_initialization_with_cors_enabled_and_middleware_param[wsgi-mw2-True] PASSED [ 53%] 199s tests/test_middleware.py::TestCORSMiddlewareWithAnotherMiddleware::test_api_initialization_with_cors_enabled_and_middleware_param[wsgi-mw3-True] PASSED [ 53%] 199s tests/test_middleware.py::TestCORSMiddlewareWithAnotherMiddleware::test_api_initialization_with_cors_enabled_and_middleware_param[wsgi-mw4-False] PASSED [ 53%] 199s tests/test_middleware.py::TestCORSMiddlewareWithAnotherMiddleware::test_api_initialization_with_cors_enabled_and_middleware_param[wsgi-mw5-False] PASSED [ 53%] 199s tests/test_middleware.py::test_async_postfix_method_must_be_coroutine SKIPPED [ 53%] 199s tests/test_options.py::TestRequestOptions::test_option_defaults PASSED [ 53%] 199s tests/test_options.py::TestRequestOptions::test_options_toggle[keep_blank_qs_values] PASSED [ 53%] 199s tests/test_options.py::TestRequestOptions::test_options_toggle[auto_parse_form_urlencoded] PASSED [ 53%] 199s tests/test_options.py::TestRequestOptions::test_options_toggle[auto_parse_qs_csv] PASSED [ 53%] 199s tests/test_options.py::TestRequestOptions::test_options_toggle[strip_url_path_trailing_slash] PASSED [ 53%] 199s tests/test_options.py::TestRequestOptions::test_incorrect_options PASSED [ 53%] 199s tests/test_python_version_requirements.py::test_asgi PASSED [ 53%] 199s tests/test_query_params.py::TestQueryParams::test_none[simulate_request_get_query_params-asgi] PASSED [ 53%] 199s tests/test_query_params.py::TestQueryParams::test_none[simulate_request_get_query_params-wsgi] PASSED [ 53%] 199s tests/test_query_params.py::TestQueryParams::test_default[simulate_request_get_query_params-asgi] PASSED [ 54%] 199s tests/test_query_params.py::TestQueryParams::test_default[simulate_request_get_query_params-wsgi] PASSED [ 54%] 199s tests/test_query_params.py::TestQueryParams::test_blank[simulate_request_get_query_params-asgi] PASSED [ 54%] 199s tests/test_query_params.py::TestQueryParams::test_blank[simulate_request_get_query_params-wsgi] PASSED [ 54%] 199s tests/test_query_params.py::TestQueryParams::test_simple[simulate_request_get_query_params-asgi] PASSED [ 54%] 199s tests/test_query_params.py::TestQueryParams::test_simple[simulate_request_get_query_params-wsgi] PASSED [ 54%] 199s tests/test_query_params.py::TestQueryParams::test_percent_encoded[simulate_request_get_query_params-asgi] PASSED [ 54%] 199s tests/test_query_params.py::TestQueryParams::test_percent_encoded[simulate_request_get_query_params-wsgi] PASSED [ 54%] 199s tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_simple_false[simulate_request_get_query_params-asgi] PASSED [ 54%] 199s tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_simple_false[simulate_request_get_query_params-wsgi] PASSED [ 54%] 199s tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_simple_true[simulate_request_get_query_params-asgi] PASSED [ 54%] 199s tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_simple_true[simulate_request_get_query_params-wsgi] PASSED [ 54%] 199s tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_multiple_fields_false[simulate_request_get_query_params-asgi] PASSED [ 54%] 199s tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_multiple_fields_false[simulate_request_get_query_params-wsgi] PASSED [ 54%] 199s 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%] 199s 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%] 199s 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%] 199s 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%] 199s 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%] 199s 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%] 199s 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%] 199s 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%] 199s 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%] 199s 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%] 199s 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%] 199s 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%] 199s 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%] 199s 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%] 199s 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%] 199s 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%] 199s 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%] 199s 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%] 199s tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_complex_false[simulate_request_get_query_params-asgi] PASSED [ 54%] 199s tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_complex_false[simulate_request_get_query_params-wsgi] PASSED [ 54%] 199s tests/test_query_params.py::TestQueryParams::test_default_auto_parse_csv_behaviour[simulate_request_get_query_params-asgi] PASSED [ 54%] 199s tests/test_query_params.py::TestQueryParams::test_default_auto_parse_csv_behaviour[simulate_request_get_query_params-wsgi] PASSED [ 54%] 199s tests/test_query_params.py::TestQueryParams::test_bad_percentage[simulate_request_get_query_params-asgi] PASSED [ 54%] 199s tests/test_query_params.py::TestQueryParams::test_bad_percentage[simulate_request_get_query_params-wsgi] PASSED [ 54%] 199s tests/test_query_params.py::TestQueryParams::test_allowed_names[simulate_request_get_query_params-asgi] PASSED [ 54%] 199s tests/test_query_params.py::TestQueryParams::test_allowed_names[simulate_request_get_query_params-wsgi] PASSED [ 55%] 199s tests/test_query_params.py::TestQueryParams::test_required[simulate_request_get_query_params-asgi-get_param] PASSED [ 55%] 199s tests/test_query_params.py::TestQueryParams::test_required[simulate_request_get_query_params-asgi-get_param_as_int] PASSED [ 55%] 199s tests/test_query_params.py::TestQueryParams::test_required[simulate_request_get_query_params-asgi-get_param_as_float] PASSED [ 55%] 199s tests/test_query_params.py::TestQueryParams::test_required[simulate_request_get_query_params-asgi-get_param_as_uuid] PASSED [ 55%] 199s tests/test_query_params.py::TestQueryParams::test_required[simulate_request_get_query_params-asgi-get_param_as_bool] PASSED [ 55%] 199s tests/test_query_params.py::TestQueryParams::test_required[simulate_request_get_query_params-asgi-get_param_as_list] PASSED [ 55%] 199s tests/test_query_params.py::TestQueryParams::test_required[simulate_request_get_query_params-wsgi-get_param] PASSED [ 55%] 199s tests/test_query_params.py::TestQueryParams::test_required[simulate_request_get_query_params-wsgi-get_param_as_int] PASSED [ 55%] 199s tests/test_query_params.py::TestQueryParams::test_required[simulate_request_get_query_params-wsgi-get_param_as_float] PASSED [ 55%] 199s tests/test_query_params.py::TestQueryParams::test_required[simulate_request_get_query_params-wsgi-get_param_as_uuid] PASSED [ 55%] 199s tests/test_query_params.py::TestQueryParams::test_required[simulate_request_get_query_params-wsgi-get_param_as_bool] PASSED [ 55%] 199s tests/test_query_params.py::TestQueryParams::test_required[simulate_request_get_query_params-wsgi-get_param_as_list] PASSED [ 55%] 199s tests/test_query_params.py::TestQueryParams::test_int[simulate_request_get_query_params-asgi] PASSED [ 55%] 199s tests/test_query_params.py::TestQueryParams::test_int[simulate_request_get_query_params-wsgi] PASSED [ 55%] 199s tests/test_query_params.py::TestQueryParams::test_int_neg[simulate_request_get_query_params-asgi] PASSED [ 55%] 199s tests/test_query_params.py::TestQueryParams::test_int_neg[simulate_request_get_query_params-wsgi] PASSED [ 55%] 199s tests/test_query_params.py::TestQueryParams::test_float[simulate_request_get_query_params-asgi] PASSED [ 55%] 199s tests/test_query_params.py::TestQueryParams::test_float[simulate_request_get_query_params-wsgi] PASSED [ 55%] 199s tests/test_query_params.py::TestQueryParams::test_float_neg[simulate_request_get_query_params-asgi] PASSED [ 55%] 199s tests/test_query_params.py::TestQueryParams::test_float_neg[simulate_request_get_query_params-wsgi] PASSED [ 55%] 199s tests/test_query_params.py::TestQueryParams::test_uuid[simulate_request_get_query_params-asgi] PASSED [ 55%] 199s tests/test_query_params.py::TestQueryParams::test_uuid[simulate_request_get_query_params-wsgi] PASSED [ 55%] 199s tests/test_query_params.py::TestQueryParams::test_boolean[simulate_request_get_query_params-asgi] PASSED [ 55%] 199s tests/test_query_params.py::TestQueryParams::test_boolean[simulate_request_get_query_params-wsgi] PASSED [ 55%] 199s tests/test_query_params.py::TestQueryParams::test_boolean_blank[simulate_request_get_query_params-asgi] PASSED [ 55%] 199s tests/test_query_params.py::TestQueryParams::test_boolean_blank[simulate_request_get_query_params-wsgi] PASSED [ 55%] 199s tests/test_query_params.py::TestQueryParams::test_list_type[simulate_request_get_query_params-asgi] PASSED [ 55%] 199s tests/test_query_params.py::TestQueryParams::test_list_type[simulate_request_get_query_params-wsgi] PASSED [ 55%] 199s tests/test_query_params.py::TestQueryParams::test_list_type_blank[simulate_request_get_query_params-asgi] PASSED [ 55%] 199s tests/test_query_params.py::TestQueryParams::test_list_type_blank[simulate_request_get_query_params-wsgi] PASSED [ 55%] 199s tests/test_query_params.py::TestQueryParams::test_list_transformer[simulate_request_get_query_params-asgi] PASSED [ 55%] 199s tests/test_query_params.py::TestQueryParams::test_list_transformer[simulate_request_get_query_params-wsgi] PASSED [ 55%] 199s tests/test_query_params.py::TestQueryParams::test_param_property[simulate_request_get_query_params-asgi] PASSED [ 55%] 199s tests/test_query_params.py::TestQueryParams::test_param_property[simulate_request_get_query_params-wsgi] PASSED [ 55%] 199s tests/test_query_params.py::TestQueryParams::test_multiple_form_keys[simulate_request_get_query_params-asgi] PASSED [ 55%] 199s tests/test_query_params.py::TestQueryParams::test_multiple_form_keys[simulate_request_get_query_params-wsgi] PASSED [ 55%] 199s tests/test_query_params.py::TestQueryParams::test_multiple_keys_as_bool[simulate_request_get_query_params-asgi] PASSED [ 55%] 199s tests/test_query_params.py::TestQueryParams::test_multiple_keys_as_bool[simulate_request_get_query_params-wsgi] PASSED [ 55%] 199s tests/test_query_params.py::TestQueryParams::test_multiple_keys_as_int[simulate_request_get_query_params-asgi] PASSED [ 56%] 199s tests/test_query_params.py::TestQueryParams::test_multiple_keys_as_int[simulate_request_get_query_params-wsgi] PASSED [ 56%] 199s tests/test_query_params.py::TestQueryParams::test_multiple_keys_as_float[simulate_request_get_query_params-asgi] PASSED [ 56%] 199s tests/test_query_params.py::TestQueryParams::test_multiple_keys_as_float[simulate_request_get_query_params-wsgi] PASSED [ 56%] 199s tests/test_query_params.py::TestQueryParams::test_multiple_form_keys_as_list[simulate_request_get_query_params-asgi] PASSED [ 56%] 199s tests/test_query_params.py::TestQueryParams::test_multiple_form_keys_as_list[simulate_request_get_query_params-wsgi] PASSED [ 56%] 199s tests/test_query_params.py::TestQueryParams::test_get_date_valid[simulate_request_get_query_params-asgi] PASSED [ 56%] 199s tests/test_query_params.py::TestQueryParams::test_get_date_valid[simulate_request_get_query_params-wsgi] PASSED [ 56%] 199s tests/test_query_params.py::TestQueryParams::test_get_date_missing_param[simulate_request_get_query_params-asgi] PASSED [ 56%] 199s tests/test_query_params.py::TestQueryParams::test_get_date_missing_param[simulate_request_get_query_params-wsgi] PASSED [ 56%] 199s tests/test_query_params.py::TestQueryParams::test_get_date_valid_with_format[simulate_request_get_query_params-asgi] PASSED [ 56%] 199s tests/test_query_params.py::TestQueryParams::test_get_date_valid_with_format[simulate_request_get_query_params-wsgi] PASSED [ 56%] 199s tests/test_query_params.py::TestQueryParams::test_get_date_store[simulate_request_get_query_params-asgi] PASSED [ 56%] 199s tests/test_query_params.py::TestQueryParams::test_get_date_store[simulate_request_get_query_params-wsgi] PASSED [ 56%] 199s tests/test_query_params.py::TestQueryParams::test_get_date_invalid[simulate_request_get_query_params-asgi] PASSED [ 56%] 199s tests/test_query_params.py::TestQueryParams::test_get_date_invalid[simulate_request_get_query_params-wsgi] PASSED [ 56%] 199s tests/test_query_params.py::TestQueryParams::test_get_datetime_valid[simulate_request_get_query_params-asgi] PASSED [ 56%] 199s tests/test_query_params.py::TestQueryParams::test_get_datetime_valid[simulate_request_get_query_params-wsgi] PASSED [ 56%] 199s tests/test_query_params.py::TestQueryParams::test_get_datetime_missing_param[simulate_request_get_query_params-asgi] PASSED [ 56%] 199s tests/test_query_params.py::TestQueryParams::test_get_datetime_missing_param[simulate_request_get_query_params-wsgi] PASSED [ 56%] 199s tests/test_query_params.py::TestQueryParams::test_get_datetime_valid_with_format[simulate_request_get_query_params-asgi-%Y%m%d %H:%M:%S-20150420 10:10:10-expected0] PASSED [ 56%] 199s tests/test_query_params.py::TestQueryParams::test_get_datetime_valid_with_format[simulate_request_get_query_params-asgi-%Y-%m-%dT%H:%M:%SZ-2015-04-20T10:10:10Z-expected1] PASSED [ 56%] 199s tests/test_query_params.py::TestQueryParams::test_get_datetime_valid_with_format[simulate_request_get_query_params-asgi-%Y%m%dT%H:%M:%S.%fZ-20150420T10:10:10.133701Z-expected2] PASSED [ 56%] 199s tests/test_query_params.py::TestQueryParams::test_get_datetime_valid_with_format[simulate_request_get_query_params-wsgi-%Y%m%d %H:%M:%S-20150420 10:10:10-expected0] PASSED [ 56%] 199s tests/test_query_params.py::TestQueryParams::test_get_datetime_valid_with_format[simulate_request_get_query_params-wsgi-%Y-%m-%dT%H:%M:%SZ-2015-04-20T10:10:10Z-expected1] PASSED [ 56%] 199s tests/test_query_params.py::TestQueryParams::test_get_datetime_valid_with_format[simulate_request_get_query_params-wsgi-%Y%m%dT%H:%M:%S.%fZ-20150420T10:10:10.133701Z-expected2] PASSED [ 56%] 199s tests/test_query_params.py::TestQueryParams::test_get_datetime_store[simulate_request_get_query_params-asgi] PASSED [ 56%] 199s tests/test_query_params.py::TestQueryParams::test_get_datetime_store[simulate_request_get_query_params-wsgi] PASSED [ 56%] 199s tests/test_query_params.py::TestQueryParams::test_get_datetime_invalid[simulate_request_get_query_params-asgi] PASSED [ 56%] 199s tests/test_query_params.py::TestQueryParams::test_get_datetime_invalid[simulate_request_get_query_params-wsgi] PASSED [ 56%] 199s tests/test_query_params.py::TestQueryParams::test_get_dict_valid[simulate_request_get_query_params-asgi] PASSED [ 56%] 199s tests/test_query_params.py::TestQueryParams::test_get_dict_valid[simulate_request_get_query_params-wsgi] PASSED [ 56%] 199s tests/test_query_params.py::TestQueryParams::test_get_dict_missing_param[simulate_request_get_query_params-asgi] PASSED [ 56%] 199s tests/test_query_params.py::TestQueryParams::test_get_dict_missing_param[simulate_request_get_query_params-wsgi] PASSED [ 56%] 199s tests/test_query_params.py::TestQueryParams::test_get_dict_store[simulate_request_get_query_params-asgi] PASSED [ 56%] 199s tests/test_query_params.py::TestQueryParams::test_get_dict_store[simulate_request_get_query_params-wsgi] PASSED [ 56%] 199s tests/test_query_params.py::TestQueryParams::test_get_dict_invalid[simulate_request_get_query_params-asgi] PASSED [ 56%] 199s tests/test_query_params.py::TestQueryParams::test_get_dict_invalid[simulate_request_get_query_params-wsgi] PASSED [ 56%] 199s tests/test_query_params.py::TestQueryParams::test_has_param[simulate_request_get_query_params-asgi] PASSED [ 56%] 199s tests/test_query_params.py::TestQueryParams::test_has_param[simulate_request_get_query_params-wsgi] PASSED [ 57%] 199s tests/test_query_params.py::TestQueryParams::test_none[simulate_request_post_query_params-asgi] SKIPPED [ 57%] 199s tests/test_query_params.py::TestQueryParams::test_none[simulate_request_post_query_params-wsgi] PASSED [ 57%] 199s tests/test_query_params.py::TestQueryParams::test_default[simulate_request_post_query_params-asgi] SKIPPED [ 57%] 199s tests/test_query_params.py::TestQueryParams::test_default[simulate_request_post_query_params-wsgi] PASSED [ 57%] 199s tests/test_query_params.py::TestQueryParams::test_blank[simulate_request_post_query_params-asgi] SKIPPED [ 57%] 199s tests/test_query_params.py::TestQueryParams::test_blank[simulate_request_post_query_params-wsgi] PASSED [ 57%] 199s tests/test_query_params.py::TestQueryParams::test_simple[simulate_request_post_query_params-asgi] SKIPPED [ 57%] 199s tests/test_query_params.py::TestQueryParams::test_simple[simulate_request_post_query_params-wsgi] PASSED [ 57%] 199s tests/test_query_params.py::TestQueryParams::test_percent_encoded[simulate_request_post_query_params-asgi] SKIPPED [ 57%] 199s tests/test_query_params.py::TestQueryParams::test_percent_encoded[simulate_request_post_query_params-wsgi] PASSED [ 57%] 199s tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_simple_false[simulate_request_post_query_params-asgi] SKIPPED [ 57%] 199s tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_simple_false[simulate_request_post_query_params-wsgi] PASSED [ 57%] 199s tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_simple_true[simulate_request_post_query_params-asgi] SKIPPED [ 57%] 199s tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_simple_true[simulate_request_post_query_params-wsgi] PASSED [ 57%] 199s tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_multiple_fields_false[simulate_request_post_query_params-asgi] SKIPPED [ 57%] 199s tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_multiple_fields_false[simulate_request_post_query_params-wsgi] PASSED [ 57%] 199s 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%] 199s 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%] 199s 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%] 199s 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%] 199s 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%] 199s 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%] 199s 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%] 199s 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%] 199s 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%] 199s 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%] 199s 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%] 199s 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 [ 57%] 199s 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 [ 57%] 199s 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 [ 57%] 199s 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 [ 57%] 199s 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 [ 57%] 199s 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 [ 57%] 199s 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 [ 57%] 199s tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_complex_false[simulate_request_post_query_params-asgi] SKIPPED [ 57%] 199s tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_complex_false[simulate_request_post_query_params-wsgi] PASSED [ 57%] 199s tests/test_query_params.py::TestQueryParams::test_default_auto_parse_csv_behaviour[simulate_request_post_query_params-asgi] SKIPPED [ 57%] 199s tests/test_query_params.py::TestQueryParams::test_default_auto_parse_csv_behaviour[simulate_request_post_query_params-wsgi] PASSED [ 57%] 199s tests/test_query_params.py::TestQueryParams::test_bad_percentage[simulate_request_post_query_params-asgi] SKIPPED [ 58%] 199s tests/test_query_params.py::TestQueryParams::test_bad_percentage[simulate_request_post_query_params-wsgi] PASSED [ 58%] 199s tests/test_query_params.py::TestQueryParams::test_allowed_names[simulate_request_post_query_params-asgi] SKIPPED [ 58%] 199s tests/test_query_params.py::TestQueryParams::test_allowed_names[simulate_request_post_query_params-wsgi] PASSED [ 58%] 199s tests/test_query_params.py::TestQueryParams::test_required[simulate_request_post_query_params-asgi-get_param] SKIPPED [ 58%] 199s tests/test_query_params.py::TestQueryParams::test_required[simulate_request_post_query_params-asgi-get_param_as_int] SKIPPED [ 58%] 199s tests/test_query_params.py::TestQueryParams::test_required[simulate_request_post_query_params-asgi-get_param_as_float] SKIPPED [ 58%] 199s tests/test_query_params.py::TestQueryParams::test_required[simulate_request_post_query_params-asgi-get_param_as_uuid] SKIPPED [ 58%] 199s tests/test_query_params.py::TestQueryParams::test_required[simulate_request_post_query_params-asgi-get_param_as_bool] SKIPPED [ 58%] 199s tests/test_query_params.py::TestQueryParams::test_required[simulate_request_post_query_params-asgi-get_param_as_list] SKIPPED [ 58%] 199s tests/test_query_params.py::TestQueryParams::test_required[simulate_request_post_query_params-wsgi-get_param] PASSED [ 58%] 199s tests/test_query_params.py::TestQueryParams::test_required[simulate_request_post_query_params-wsgi-get_param_as_int] PASSED [ 58%] 199s tests/test_query_params.py::TestQueryParams::test_required[simulate_request_post_query_params-wsgi-get_param_as_float] PASSED [ 58%] 199s tests/test_query_params.py::TestQueryParams::test_required[simulate_request_post_query_params-wsgi-get_param_as_uuid] PASSED [ 58%] 199s tests/test_query_params.py::TestQueryParams::test_required[simulate_request_post_query_params-wsgi-get_param_as_bool] PASSED [ 58%] 199s tests/test_query_params.py::TestQueryParams::test_required[simulate_request_post_query_params-wsgi-get_param_as_list] PASSED [ 58%] 199s tests/test_query_params.py::TestQueryParams::test_int[simulate_request_post_query_params-asgi] SKIPPED [ 58%] 199s tests/test_query_params.py::TestQueryParams::test_int[simulate_request_post_query_params-wsgi] PASSED [ 58%] 199s tests/test_query_params.py::TestQueryParams::test_int_neg[simulate_request_post_query_params-asgi] SKIPPED [ 58%] 199s tests/test_query_params.py::TestQueryParams::test_int_neg[simulate_request_post_query_params-wsgi] PASSED [ 58%] 199s tests/test_query_params.py::TestQueryParams::test_float[simulate_request_post_query_params-asgi] SKIPPED [ 58%] 199s tests/test_query_params.py::TestQueryParams::test_float[simulate_request_post_query_params-wsgi] PASSED [ 58%] 199s tests/test_query_params.py::TestQueryParams::test_float_neg[simulate_request_post_query_params-asgi] SKIPPED [ 58%] 199s tests/test_query_params.py::TestQueryParams::test_float_neg[simulate_request_post_query_params-wsgi] PASSED [ 58%] 199s tests/test_query_params.py::TestQueryParams::test_uuid[simulate_request_post_query_params-asgi] SKIPPED [ 58%] 199s tests/test_query_params.py::TestQueryParams::test_uuid[simulate_request_post_query_params-wsgi] PASSED [ 58%] 199s tests/test_query_params.py::TestQueryParams::test_boolean[simulate_request_post_query_params-asgi] SKIPPED [ 58%] 199s tests/test_query_params.py::TestQueryParams::test_boolean[simulate_request_post_query_params-wsgi] PASSED [ 58%] 199s tests/test_query_params.py::TestQueryParams::test_boolean_blank[simulate_request_post_query_params-asgi] SKIPPED [ 58%] 199s tests/test_query_params.py::TestQueryParams::test_boolean_blank[simulate_request_post_query_params-wsgi] PASSED [ 58%] 199s tests/test_query_params.py::TestQueryParams::test_list_type[simulate_request_post_query_params-asgi] SKIPPED [ 58%] 199s tests/test_query_params.py::TestQueryParams::test_list_type[simulate_request_post_query_params-wsgi] PASSED [ 58%] 199s tests/test_query_params.py::TestQueryParams::test_list_type_blank[simulate_request_post_query_params-asgi] SKIPPED [ 58%] 199s tests/test_query_params.py::TestQueryParams::test_list_type_blank[simulate_request_post_query_params-wsgi] PASSED [ 58%] 199s tests/test_query_params.py::TestQueryParams::test_list_transformer[simulate_request_post_query_params-asgi] SKIPPED [ 58%] 199s tests/test_query_params.py::TestQueryParams::test_list_transformer[simulate_request_post_query_params-wsgi] PASSED [ 58%] 199s tests/test_query_params.py::TestQueryParams::test_param_property[simulate_request_post_query_params-asgi] SKIPPED [ 58%] 199s tests/test_query_params.py::TestQueryParams::test_param_property[simulate_request_post_query_params-wsgi] PASSED [ 58%] 199s tests/test_query_params.py::TestQueryParams::test_multiple_form_keys[simulate_request_post_query_params-asgi] SKIPPED [ 58%] 199s tests/test_query_params.py::TestQueryParams::test_multiple_form_keys[simulate_request_post_query_params-wsgi] PASSED [ 59%] 199s tests/test_query_params.py::TestQueryParams::test_multiple_keys_as_bool[simulate_request_post_query_params-asgi] SKIPPED [ 59%] 199s tests/test_query_params.py::TestQueryParams::test_multiple_keys_as_bool[simulate_request_post_query_params-wsgi] PASSED [ 59%] 199s tests/test_query_params.py::TestQueryParams::test_multiple_keys_as_int[simulate_request_post_query_params-asgi] SKIPPED [ 59%] 199s tests/test_query_params.py::TestQueryParams::test_multiple_keys_as_int[simulate_request_post_query_params-wsgi] PASSED [ 59%] 199s tests/test_query_params.py::TestQueryParams::test_multiple_keys_as_float[simulate_request_post_query_params-asgi] SKIPPED [ 59%] 199s tests/test_query_params.py::TestQueryParams::test_multiple_keys_as_float[simulate_request_post_query_params-wsgi] PASSED [ 59%] 199s tests/test_query_params.py::TestQueryParams::test_multiple_form_keys_as_list[simulate_request_post_query_params-asgi] SKIPPED [ 59%] 199s tests/test_query_params.py::TestQueryParams::test_multiple_form_keys_as_list[simulate_request_post_query_params-wsgi] PASSED [ 59%] 199s tests/test_query_params.py::TestQueryParams::test_get_date_valid[simulate_request_post_query_params-asgi] SKIPPED [ 59%] 199s tests/test_query_params.py::TestQueryParams::test_get_date_valid[simulate_request_post_query_params-wsgi] PASSED [ 59%] 199s tests/test_query_params.py::TestQueryParams::test_get_date_missing_param[simulate_request_post_query_params-asgi] SKIPPED [ 59%] 199s tests/test_query_params.py::TestQueryParams::test_get_date_missing_param[simulate_request_post_query_params-wsgi] PASSED [ 59%] 199s tests/test_query_params.py::TestQueryParams::test_get_date_valid_with_format[simulate_request_post_query_params-asgi] SKIPPED [ 59%] 199s tests/test_query_params.py::TestQueryParams::test_get_date_valid_with_format[simulate_request_post_query_params-wsgi] PASSED [ 59%] 199s tests/test_query_params.py::TestQueryParams::test_get_date_store[simulate_request_post_query_params-asgi] SKIPPED [ 59%] 199s tests/test_query_params.py::TestQueryParams::test_get_date_store[simulate_request_post_query_params-wsgi] PASSED [ 59%] 199s tests/test_query_params.py::TestQueryParams::test_get_date_invalid[simulate_request_post_query_params-asgi] SKIPPED [ 59%] 199s tests/test_query_params.py::TestQueryParams::test_get_date_invalid[simulate_request_post_query_params-wsgi] PASSED [ 59%] 199s tests/test_query_params.py::TestQueryParams::test_get_datetime_valid[simulate_request_post_query_params-asgi] SKIPPED [ 59%] 200s tests/test_query_params.py::TestQueryParams::test_get_datetime_valid[simulate_request_post_query_params-wsgi] PASSED [ 59%] 200s tests/test_query_params.py::TestQueryParams::test_get_datetime_missing_param[simulate_request_post_query_params-asgi] SKIPPED [ 59%] 200s tests/test_query_params.py::TestQueryParams::test_get_datetime_missing_param[simulate_request_post_query_params-wsgi] PASSED [ 59%] 200s tests/test_query_params.py::TestQueryParams::test_get_datetime_valid_with_format[simulate_request_post_query_params-asgi-%Y%m%d %H:%M:%S-20150420 10:10:10-expected0] SKIPPED [ 59%] 200s tests/test_query_params.py::TestQueryParams::test_get_datetime_valid_with_format[simulate_request_post_query_params-asgi-%Y-%m-%dT%H:%M:%SZ-2015-04-20T10:10:10Z-expected1] SKIPPED [ 59%] 200s tests/test_query_params.py::TestQueryParams::test_get_datetime_valid_with_format[simulate_request_post_query_params-asgi-%Y%m%dT%H:%M:%S.%fZ-20150420T10:10:10.133701Z-expected2] SKIPPED [ 59%] 200s tests/test_query_params.py::TestQueryParams::test_get_datetime_valid_with_format[simulate_request_post_query_params-wsgi-%Y%m%d %H:%M:%S-20150420 10:10:10-expected0] PASSED [ 59%] 200s tests/test_query_params.py::TestQueryParams::test_get_datetime_valid_with_format[simulate_request_post_query_params-wsgi-%Y-%m-%dT%H:%M:%SZ-2015-04-20T10:10:10Z-expected1] PASSED [ 59%] 200s tests/test_query_params.py::TestQueryParams::test_get_datetime_valid_with_format[simulate_request_post_query_params-wsgi-%Y%m%dT%H:%M:%S.%fZ-20150420T10:10:10.133701Z-expected2] PASSED [ 59%] 200s tests/test_query_params.py::TestQueryParams::test_get_datetime_store[simulate_request_post_query_params-asgi] SKIPPED [ 59%] 200s tests/test_query_params.py::TestQueryParams::test_get_datetime_store[simulate_request_post_query_params-wsgi] PASSED [ 59%] 200s tests/test_query_params.py::TestQueryParams::test_get_datetime_invalid[simulate_request_post_query_params-asgi] SKIPPED [ 59%] 200s tests/test_query_params.py::TestQueryParams::test_get_datetime_invalid[simulate_request_post_query_params-wsgi] PASSED [ 59%] 200s tests/test_query_params.py::TestQueryParams::test_get_dict_valid[simulate_request_post_query_params-asgi] SKIPPED [ 59%] 200s tests/test_query_params.py::TestQueryParams::test_get_dict_valid[simulate_request_post_query_params-wsgi] PASSED [ 59%] 200s tests/test_query_params.py::TestQueryParams::test_get_dict_missing_param[simulate_request_post_query_params-asgi] SKIPPED [ 59%] 200s tests/test_query_params.py::TestQueryParams::test_get_dict_missing_param[simulate_request_post_query_params-wsgi] PASSED [ 59%] 200s tests/test_query_params.py::TestQueryParams::test_get_dict_store[simulate_request_post_query_params-asgi] SKIPPED [ 59%] 200s tests/test_query_params.py::TestQueryParams::test_get_dict_store[simulate_request_post_query_params-wsgi] PASSED [ 59%] 200s tests/test_query_params.py::TestQueryParams::test_get_dict_invalid[simulate_request_post_query_params-asgi] SKIPPED [ 60%] 200s tests/test_query_params.py::TestQueryParams::test_get_dict_invalid[simulate_request_post_query_params-wsgi] PASSED [ 60%] 200s tests/test_query_params.py::TestQueryParams::test_has_param[simulate_request_post_query_params-asgi] SKIPPED [ 60%] 200s tests/test_query_params.py::TestQueryParams::test_has_param[simulate_request_post_query_params-wsgi] PASSED [ 60%] 200s tests/test_query_params.py::TestQueryParams::test_get_param_as_json_handler_json[asgi] PASSED [ 60%] 200s tests/test_query_params.py::TestQueryParams::test_get_param_as_json_handler_json[wsgi] PASSED [ 60%] 200s tests/test_query_params.py::TestQueryParams::test_get_param_as_json_no_handler_json[asgi] PASSED [ 60%] 200s tests/test_query_params.py::TestQueryParams::test_get_param_as_json_no_handler_json[wsgi] PASSED [ 60%] 200s tests/test_query_params.py::TestPostQueryParams::test_http_methods_body_expected[asgi-POST] SKIPPED [ 60%] 200s tests/test_query_params.py::TestPostQueryParams::test_http_methods_body_expected[asgi-PUT] SKIPPED [ 60%] 200s tests/test_query_params.py::TestPostQueryParams::test_http_methods_body_expected[asgi-PATCH] SKIPPED [ 60%] 200s tests/test_query_params.py::TestPostQueryParams::test_http_methods_body_expected[asgi-DELETE] SKIPPED [ 60%] 200s tests/test_query_params.py::TestPostQueryParams::test_http_methods_body_expected[asgi-OPTIONS] SKIPPED [ 60%] 200s tests/test_query_params.py::TestPostQueryParams::test_http_methods_body_expected[wsgi-POST] PASSED [ 60%] 200s tests/test_query_params.py::TestPostQueryParams::test_http_methods_body_expected[wsgi-PUT] PASSED [ 60%] 200s tests/test_query_params.py::TestPostQueryParams::test_http_methods_body_expected[wsgi-PATCH] PASSED [ 60%] 200s tests/test_query_params.py::TestPostQueryParams::test_http_methods_body_expected[wsgi-DELETE] PASSED [ 60%] 200s tests/test_query_params.py::TestPostQueryParams::test_http_methods_body_expected[wsgi-OPTIONS] PASSED [ 60%] 200s tests/test_query_params.py::TestPostQueryParams::test_http_methods_body_not_expected[asgi-GET] SKIPPED [ 60%] 200s tests/test_query_params.py::TestPostQueryParams::test_http_methods_body_not_expected[asgi-HEAD] SKIPPED [ 60%] 200s tests/test_query_params.py::TestPostQueryParams::test_http_methods_body_not_expected[wsgi-GET] PASSED [ 60%] 200s tests/test_query_params.py::TestPostQueryParams::test_http_methods_body_not_expected[wsgi-HEAD] PASSED [ 60%] 200s tests/test_query_params.py::TestPostQueryParams::test_non_ascii[asgi] SKIPPED [ 60%] 200s tests/test_query_params.py::TestPostQueryParams::test_non_ascii[wsgi] PASSED [ 60%] 200s tests/test_query_params.py::TestPostQueryParams::test_empty_body[asgi] SKIPPED [ 60%] 200s tests/test_query_params.py::TestPostQueryParams::test_empty_body[wsgi] PASSED [ 60%] 200s tests/test_query_params.py::TestPostQueryParams::test_empty_body_no_content_length[asgi] SKIPPED [ 60%] 200s tests/test_query_params.py::TestPostQueryParams::test_empty_body_no_content_length[wsgi] PASSED [ 60%] 200s tests/test_query_params.py::TestPostQueryParams::test_explicitly_disable_auto_parse[asgi] SKIPPED [ 60%] 200s tests/test_query_params.py::TestPostQueryParams::test_explicitly_disable_auto_parse[wsgi] PASSED [ 60%] 200s tests/test_query_params.py::TestPostQueryParams::test_asgi_raises_error PASSED [ 60%] 200s tests/test_query_params.py::TestPostQueryParamsDefaultBehavior::test_dont_auto_parse_by_default[asgi] PASSED [ 60%] 200s tests/test_query_params.py::TestPostQueryParamsDefaultBehavior::test_dont_auto_parse_by_default[wsgi] PASSED [ 60%] 200s tests/test_recipes.py::TestMultipartMixed::test_parse PASSED [ 60%] 200s tests/test_recipes.py::TestOutputCSV::test_csv_output[asgi-simple] PASSED [ 60%] 200s tests/test_recipes.py::TestOutputCSV::test_csv_output[asgi-stream] PASSED [ 60%] 200s tests/test_recipes.py::TestOutputCSV::test_csv_output[wsgi-simple] PASSED [ 60%] 200s tests/test_recipes.py::TestOutputCSV::test_csv_output[wsgi-stream] PASSED [ 60%] 200s tests/test_recipes.py::TestPrettyJSON::test_optional_indent PASSED [ 60%] 200s tests/test_recipes.py::TestRawURLPath::test_raw_path[asgi] PASSED [ 60%] 200s tests/test_recipes.py::TestRawURLPath::test_raw_path[wsgi] PASSED [ 61%] 200s tests/test_redirects.py::TestRedirects::test_redirect[asgi-GET-301 Moved Permanently-/moved/perm] PASSED [ 61%] 200s tests/test_redirects.py::TestRedirects::test_redirect[asgi-POST-302 Found-/found] PASSED [ 61%] 200s tests/test_redirects.py::TestRedirects::test_redirect[asgi-PUT-303 See Other-/see/other] PASSED [ 61%] 200s tests/test_redirects.py::TestRedirects::test_redirect[asgi-DELETE-307 Temporary Redirect-/tmp/redirect] PASSED [ 61%] 200s tests/test_redirects.py::TestRedirects::test_redirect[asgi-HEAD-308 Permanent Redirect-/perm/redirect] PASSED [ 61%] 200s tests/test_redirects.py::TestRedirects::test_redirect[wsgi-GET-301 Moved Permanently-/moved/perm] PASSED [ 61%] 200s tests/test_redirects.py::TestRedirects::test_redirect[wsgi-POST-302 Found-/found] PASSED [ 61%] 200s tests/test_redirects.py::TestRedirects::test_redirect[wsgi-PUT-303 See Other-/see/other] PASSED [ 61%] 200s tests/test_redirects.py::TestRedirects::test_redirect[wsgi-DELETE-307 Temporary Redirect-/tmp/redirect] PASSED [ 61%] 200s tests/test_redirects.py::TestRedirects::test_redirect[wsgi-HEAD-308 Permanent Redirect-/perm/redirect] PASSED [ 61%] 200s tests/test_redirects.py::TestRedirects::test_redirect_with_headers[asgi-GET-301 Moved Permanently-/moved/perm] PASSED [ 61%] 200s tests/test_redirects.py::TestRedirects::test_redirect_with_headers[asgi-POST-302 Found-/found] PASSED [ 61%] 200s tests/test_redirects.py::TestRedirects::test_redirect_with_headers[asgi-PUT-303 See Other-/see/other] PASSED [ 61%] 200s tests/test_redirects.py::TestRedirects::test_redirect_with_headers[asgi-DELETE-307 Temporary Redirect-/tmp/redirect] PASSED [ 61%] 200s tests/test_redirects.py::TestRedirects::test_redirect_with_headers[asgi-HEAD-308 Permanent Redirect-/perm/redirect] PASSED [ 61%] 200s tests/test_redirects.py::TestRedirects::test_redirect_with_headers[wsgi-GET-301 Moved Permanently-/moved/perm] PASSED [ 61%] 200s tests/test_redirects.py::TestRedirects::test_redirect_with_headers[wsgi-POST-302 Found-/found] PASSED [ 61%] 200s tests/test_redirects.py::TestRedirects::test_redirect_with_headers[wsgi-PUT-303 See Other-/see/other] PASSED [ 61%] 200s tests/test_redirects.py::TestRedirects::test_redirect_with_headers[wsgi-DELETE-307 Temporary Redirect-/tmp/redirect] PASSED [ 61%] 200s tests/test_redirects.py::TestRedirects::test_redirect_with_headers[wsgi-HEAD-308 Permanent Redirect-/perm/redirect] PASSED [ 61%] 200s tests/test_request_access_route.py::test_remote_addr_default[asgi] PASSED [ 61%] 200s tests/test_request_access_route.py::test_remote_addr_default[wsgi] PASSED [ 61%] 200s tests/test_request_access_route.py::test_remote_addr_non_default[asgi] PASSED [ 61%] 200s tests/test_request_access_route.py::test_remote_addr_non_default[wsgi] PASSED [ 61%] 200s tests/test_request_access_route.py::test_remote_addr_only[asgi] PASSED [ 61%] 200s tests/test_request_access_route.py::test_remote_addr_only[wsgi] PASSED [ 61%] 200s tests/test_request_access_route.py::test_rfc_forwarded[asgi] PASSED [ 61%] 200s tests/test_request_access_route.py::test_rfc_forwarded[wsgi] PASSED [ 61%] 200s tests/test_request_access_route.py::test_malformed_rfc_forwarded[asgi] PASSED [ 61%] 200s tests/test_request_access_route.py::test_malformed_rfc_forwarded[wsgi] PASSED [ 61%] 200s tests/test_request_access_route.py::test_x_forwarded_for[asgi-True] PASSED [ 61%] 200s tests/test_request_access_route.py::test_x_forwarded_for[asgi-False] PASSED [ 61%] 200s tests/test_request_access_route.py::test_x_forwarded_for[wsgi-True] PASSED [ 61%] 200s tests/test_request_access_route.py::test_x_forwarded_for[wsgi-False] PASSED [ 61%] 200s tests/test_request_access_route.py::test_x_real_ip[asgi] PASSED [ 61%] 200s tests/test_request_access_route.py::test_x_real_ip[wsgi] PASSED [ 61%] 200s tests/test_request_access_route.py::test_remote_addr[asgi-10.0.0.1] PASSED [ 61%] 200s tests/test_request_access_route.py::test_remote_addr[asgi-98.245.211.177] PASSED [ 61%] 200s tests/test_request_access_route.py::test_remote_addr[wsgi-10.0.0.1] PASSED [ 62%] 200s tests/test_request_access_route.py::test_remote_addr[wsgi-98.245.211.177] PASSED [ 62%] 200s tests/test_request_access_route.py::test_remote_addr_missing PASSED [ 62%] 200s tests/test_request_attrs.py::test_missing_qs PASSED [ 62%] 200s tests/test_request_attrs.py::test_app_missing PASSED [ 62%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_empty[asgi] PASSED [ 62%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_empty[wsgi] PASSED [ 62%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_host[asgi] PASSED [ 62%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_host[wsgi] PASSED [ 62%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_subdomain[asgi] PASSED [ 62%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_subdomain[wsgi] PASSED [ 62%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_reconstruct_url[asgi] PASSED [ 62%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_reconstruct_url[wsgi] PASSED [ 62%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_nonlatin_path[asgi-/hello_\u043f\u0440\u0438\u0432\u0435\u0442] PASSED [ 62%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_nonlatin_path[asgi-/test/%E5%BB%B6%E5%AE%89] PASSED [ 62%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_nonlatin_path[asgi-/test/%C3%A4%C3%B6%C3%BC%C3%9F%E2%82%AC] PASSED [ 62%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_nonlatin_path[wsgi-/hello_\u043f\u0440\u0438\u0432\u0435\u0442] PASSED [ 62%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_nonlatin_path[wsgi-/test/%E5%BB%B6%E5%AE%89] PASSED [ 62%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_nonlatin_path[wsgi-/test/%C3%A4%C3%B6%C3%BC%C3%9F%E2%82%AC] PASSED [ 62%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_uri[asgi] PASSED [ 62%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_uri[wsgi] PASSED [ 62%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_uri_https[asgi] PASSED [ 62%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_uri_https[wsgi] PASSED [ 62%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_uri_http_1_0[asgi] PASSED [ 62%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_uri_http_1_0[wsgi] PASSED [ 62%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_relative_uri[asgi] PASSED [ 62%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_relative_uri[wsgi] PASSED [ 62%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_client_accepts[asgi] PASSED [ 62%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_client_accepts[wsgi] PASSED [ 62%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_client_accepts_bogus[asgi] PASSED [ 62%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_client_accepts_bogus[wsgi] PASSED [ 62%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_client_accepts_props[asgi] PASSED [ 62%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_client_accepts_props[wsgi] PASSED [ 62%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_client_prefers[asgi] PASSED [ 62%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_client_prefers[wsgi] PASSED [ 62%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_range[asgi] PASSED [ 62%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_range[wsgi] PASSED [ 62%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_range_unit[asgi] PASSED [ 62%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_range_unit[wsgi] PASSED [ 62%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_range_invalid[asgi] PASSED [ 63%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_range_invalid[wsgi] PASSED [ 63%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_missing_attribute_header[asgi] PASSED [ 63%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_missing_attribute_header[wsgi] PASSED [ 63%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_content_length[asgi] PASSED [ 63%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_content_length[wsgi] PASSED [ 63%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_bogus_content_length_nan[asgi] PASSED [ 63%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_bogus_content_length_nan[wsgi] PASSED [ 63%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_bogus_content_length_neg[asgi] PASSED [ 63%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_bogus_content_length_neg[wsgi] PASSED [ 63%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_date[asgi-Date-date] PASSED [ 63%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_date[asgi-If-Modified-Since-if_modified_since] PASSED [ 63%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_date[asgi-If-Unmodified-Since-if_unmodified_since] PASSED [ 63%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_date[wsgi-Date-date] PASSED [ 63%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_date[wsgi-If-Modified-Since-if_modified_since] PASSED [ 63%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_date[wsgi-If-Unmodified-Since-if_unmodified_since] PASSED [ 63%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_date_invalid[asgi-Date-date] PASSED [ 63%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_date_invalid[asgi-If-Modified-Since-if_modified_since] PASSED [ 63%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_date_invalid[asgi-If-Unmodified-Since-if_unmodified_since] PASSED [ 63%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_date_invalid[wsgi-Date-date] PASSED [ 63%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_date_invalid[wsgi-If-Modified-Since-if_modified_since] PASSED [ 63%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_date_invalid[wsgi-If-Unmodified-Since-if_unmodified_since] PASSED [ 63%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_date_missing[asgi-date] PASSED [ 63%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_date_missing[asgi-if_modified_since] PASSED [ 63%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_date_missing[asgi-if_unmodified_since] PASSED [ 63%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_date_missing[wsgi-date] PASSED [ 63%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_date_missing[wsgi-if_modified_since] PASSED [ 63%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_date_missing[wsgi-if_unmodified_since] PASSED [ 63%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_attribute_headers[asgi-Accept-x-falcon-accept-*/*] PASSED [ 63%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_attribute_headers[asgi-Authorization-HMAC_SHA1 c590afa9bb59191ffab30f223791e82d3fd3e3af-auth-None] PASSED [ 63%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_attribute_headers[asgi-Content-Type-text/plain-content_type-None] PASSED [ 63%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_attribute_headers[asgi-Expect-100-continue-expect-None] PASSED [ 63%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_attribute_headers[asgi-If-Range-Wed, 21 Oct 2015 07:28:00 GMT-if_range-None] PASSED [ 63%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_attribute_headers[asgi-User-Agent-testing/3.0-user_agent-falcon-client/4.0.2] PASSED [ 63%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_attribute_headers[asgi-Referer-https://www.google.com/-referer-None] PASSED [ 63%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_attribute_headers[wsgi-Accept-x-falcon-accept-*/*] PASSED [ 63%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_attribute_headers[wsgi-Authorization-HMAC_SHA1 c590afa9bb59191ffab30f223791e82d3fd3e3af-auth-None] PASSED [ 63%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_attribute_headers[wsgi-Content-Type-text/plain-content_type-None] PASSED [ 63%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_attribute_headers[wsgi-Expect-100-continue-expect-None] PASSED [ 63%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_attribute_headers[wsgi-If-Range-Wed, 21 Oct 2015 07:28:00 GMT-if_range-None] PASSED [ 64%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_attribute_headers[wsgi-User-Agent-testing/3.0-user_agent-falcon-client/4.0.2] PASSED [ 64%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_attribute_headers[wsgi-Referer-https://www.google.com/-referer-None] PASSED [ 64%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_method[asgi] PASSED [ 64%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_method[wsgi] PASSED [ 64%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_empty_path[asgi] PASSED [ 64%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_empty_path[wsgi] PASSED [ 64%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_content_type_method[asgi] PASSED [ 64%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_content_type_method[wsgi] PASSED [ 64%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_content_length_method[asgi] PASSED [ 64%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_content_length_method[wsgi] PASSED [ 64%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_port_explicit[asgi-1.0] PASSED [ 64%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_port_explicit[asgi-1.1] PASSED [ 64%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_port_explicit[asgi-2] PASSED [ 64%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_port_explicit[wsgi-1.0] PASSED [ 64%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_port_explicit[wsgi-1.1] PASSED [ 64%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_port_explicit[wsgi-2] PASSED [ 64%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_scheme_https[asgi-1.0] PASSED [ 64%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_scheme_https[asgi-1.1] PASSED [ 64%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_scheme_https[asgi-2] PASSED [ 64%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_scheme_https[wsgi-1.0] PASSED [ 64%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_scheme_https[wsgi-1.1] PASSED [ 64%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_scheme_https[wsgi-2] PASSED [ 64%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_scheme_http[asgi-1.0-True] PASSED [ 64%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_scheme_http[asgi-1.0-False] PASSED [ 64%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_scheme_http[asgi-1.1-True] PASSED [ 64%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_scheme_http[asgi-1.1-False] PASSED [ 64%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_scheme_http[asgi-2-True] PASSED [ 64%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_scheme_http[asgi-2-False] PASSED [ 64%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_scheme_http[wsgi-1.0-True] PASSED [ 64%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_scheme_http[wsgi-1.0-False] PASSED [ 64%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_scheme_http[wsgi-1.1-True] PASSED [ 64%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_scheme_http[wsgi-1.1-False] PASSED [ 64%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_scheme_http[wsgi-2-True] PASSED [ 64%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_scheme_http[wsgi-2-False] PASSED [ 64%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_netloc_default_port[asgi-1.0] PASSED [ 64%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_netloc_default_port[asgi-1.1] PASSED [ 64%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_netloc_default_port[asgi-2] PASSED [ 64%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_netloc_default_port[wsgi-1.0] PASSED [ 64%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_netloc_default_port[wsgi-1.1] PASSED [ 65%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_netloc_default_port[wsgi-2] PASSED [ 65%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_netloc_nondefault_port[asgi-1.0] PASSED [ 65%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_netloc_nondefault_port[asgi-1.1] PASSED [ 65%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_netloc_nondefault_port[asgi-2] PASSED [ 65%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_netloc_nondefault_port[wsgi-1.0] PASSED [ 65%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_netloc_nondefault_port[wsgi-1.1] PASSED [ 65%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_netloc_nondefault_port[wsgi-2] PASSED [ 65%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_netloc_from_env[asgi-1.0] PASSED [ 65%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_netloc_from_env[asgi-1.1] PASSED [ 65%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_netloc_from_env[asgi-2] PASSED [ 65%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_netloc_from_env[wsgi-1.0] PASSED [ 65%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_netloc_from_env[wsgi-1.1] PASSED [ 65%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_netloc_from_env[wsgi-2] PASSED [ 65%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_app_present[asgi] PASSED [ 65%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_app_present[wsgi] PASSED [ 65%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_app_blank[asgi] PASSED [ 65%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_app_blank[wsgi] PASSED [ 65%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-Match-if_match--None] PASSED [ 65%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-Match-if_match- -None] PASSED [ 65%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-Match-if_match- -None] PASSED [ 65%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-Match-if_match-\t-None] PASSED [ 65%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-Match-if_match- \t-None] PASSED [ 65%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-Match-if_match-,-None] PASSED [ 65%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-Match-if_match-,,-None] PASSED [ 65%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-Match-if_match-,, -None] PASSED [ 65%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-Match-if_match-, , -None] PASSED [ 65%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-Match-if_match-*-expected_value9] PASSED [ 65%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-Match-if_match-W/"67ab43"-expected_value10] PASSED [ 65%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-Match-if_match-w/"67ab43"-expected_value11] PASSED [ 65%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-Match-if_match- w/"67ab43"-expected_value12] PASSED [ 65%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-Match-if_match-w/"67ab43" -expected_value13] PASSED [ 65%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-Match-if_match-w/"67ab43 " -expected_value14] PASSED [ 65%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-Match-if_match-"67ab43"-expected_value15] PASSED [ 65%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-Match-if_match- "67ab43"-expected_value16] PASSED [ 65%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-Match-if_match- "67ab43" -expected_value17] PASSED [ 65%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-Match-if_match-"67ab43" -expected_value18] PASSED [ 65%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-Match-if_match-" 67ab43" -expected_value19] PASSED [ 65%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-Match-if_match-67ab43"-expected_value20] PASSED [ 65%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-Match-if_match-"67ab43-expected_value21] PASSED [ 66%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-Match-if_match-67ab43-expected_value22] PASSED [ 66%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-Match-if_match-67ab43 -expected_value23] PASSED [ 66%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-Match-if_match- 67ab43 -expected_value24] PASSED [ 66%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-Match-if_match- 67ab43-expected_value25] PASSED [ 66%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-Match-if_match-W/"67ab43", "54ed21", junk"F9,22", junk "41, 7F", unquoted, w/"22, 41, 7F", "", W/""-expected_value26] PASSED [ 66%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-None-Match-if_none_match--None] PASSED [ 66%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-None-Match-if_none_match- -None] PASSED [ 66%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-None-Match-if_none_match- -None] PASSED [ 66%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-None-Match-if_none_match-\t-None] PASSED [ 66%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-None-Match-if_none_match- \t-None] PASSED [ 66%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-None-Match-if_none_match-,-None] PASSED [ 66%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-None-Match-if_none_match-,,-None] PASSED [ 66%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-None-Match-if_none_match-,, -None] PASSED [ 66%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-None-Match-if_none_match-, , -None] PASSED [ 66%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-None-Match-if_none_match-*-expected_value9] PASSED [ 66%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-None-Match-if_none_match-W/"67ab43"-expected_value10] PASSED [ 66%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-None-Match-if_none_match-w/"67ab43"-expected_value11] PASSED [ 66%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-None-Match-if_none_match- w/"67ab43"-expected_value12] PASSED [ 66%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-None-Match-if_none_match-w/"67ab43" -expected_value13] PASSED [ 66%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-None-Match-if_none_match-w/"67ab43 " -expected_value14] PASSED [ 66%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-None-Match-if_none_match-"67ab43"-expected_value15] PASSED [ 66%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-None-Match-if_none_match- "67ab43"-expected_value16] PASSED [ 66%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-None-Match-if_none_match- "67ab43" -expected_value17] PASSED [ 66%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-None-Match-if_none_match-"67ab43" -expected_value18] PASSED [ 66%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-None-Match-if_none_match-" 67ab43" -expected_value19] PASSED [ 66%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-None-Match-if_none_match-67ab43"-expected_value20] PASSED [ 66%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-None-Match-if_none_match-"67ab43-expected_value21] PASSED [ 66%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-None-Match-if_none_match-67ab43-expected_value22] PASSED [ 66%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-None-Match-if_none_match-67ab43 -expected_value23] PASSED [ 66%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-None-Match-if_none_match- 67ab43 -expected_value24] PASSED [ 66%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-None-Match-if_none_match- 67ab43-expected_value25] PASSED [ 66%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-None-Match-if_none_match-W/"67ab43", "54ed21", junk"F9,22", junk "41, 7F", unquoted, w/"22, 41, 7F", "", W/""-expected_value26] PASSED [ 66%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-Match-if_match--None] PASSED [ 66%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-Match-if_match- -None] PASSED [ 66%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-Match-if_match- -None] PASSED [ 66%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-Match-if_match-\t-None] PASSED [ 66%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-Match-if_match- \t-None] PASSED [ 66%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-Match-if_match-,-None] PASSED [ 66%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-Match-if_match-,,-None] PASSED [ 66%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-Match-if_match-,, -None] PASSED [ 67%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-Match-if_match-, , -None] PASSED [ 67%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-Match-if_match-*-expected_value9] PASSED [ 67%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-Match-if_match-W/"67ab43"-expected_value10] PASSED [ 67%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-Match-if_match-w/"67ab43"-expected_value11] PASSED [ 67%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-Match-if_match- w/"67ab43"-expected_value12] PASSED [ 67%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-Match-if_match-w/"67ab43" -expected_value13] PASSED [ 67%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-Match-if_match-w/"67ab43 " -expected_value14] PASSED [ 67%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-Match-if_match-"67ab43"-expected_value15] PASSED [ 67%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-Match-if_match- "67ab43"-expected_value16] PASSED [ 67%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-Match-if_match- "67ab43" -expected_value17] PASSED [ 67%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-Match-if_match-"67ab43" -expected_value18] PASSED [ 67%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-Match-if_match-" 67ab43" -expected_value19] PASSED [ 67%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-Match-if_match-67ab43"-expected_value20] PASSED [ 67%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-Match-if_match-"67ab43-expected_value21] PASSED [ 67%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-Match-if_match-67ab43-expected_value22] PASSED [ 67%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-Match-if_match-67ab43 -expected_value23] PASSED [ 67%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-Match-if_match- 67ab43 -expected_value24] PASSED [ 67%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-Match-if_match- 67ab43-expected_value25] PASSED [ 67%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-Match-if_match-W/"67ab43", "54ed21", junk"F9,22", junk "41, 7F", unquoted, w/"22, 41, 7F", "", W/""-expected_value26] PASSED [ 67%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-None-Match-if_none_match--None] PASSED [ 67%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-None-Match-if_none_match- -None] PASSED [ 67%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-None-Match-if_none_match- -None] PASSED [ 67%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-None-Match-if_none_match-\t-None] PASSED [ 67%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-None-Match-if_none_match- \t-None] PASSED [ 67%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-None-Match-if_none_match-,-None] PASSED [ 67%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-None-Match-if_none_match-,,-None] PASSED [ 67%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-None-Match-if_none_match-,, -None] PASSED [ 67%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-None-Match-if_none_match-, , -None] PASSED [ 67%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-None-Match-if_none_match-*-expected_value9] PASSED [ 67%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-None-Match-if_none_match-W/"67ab43"-expected_value10] PASSED [ 67%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-None-Match-if_none_match-w/"67ab43"-expected_value11] PASSED [ 67%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-None-Match-if_none_match- w/"67ab43"-expected_value12] PASSED [ 67%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-None-Match-if_none_match-w/"67ab43" -expected_value13] PASSED [ 67%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-None-Match-if_none_match-w/"67ab43 " -expected_value14] PASSED [ 67%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-None-Match-if_none_match-"67ab43"-expected_value15] PASSED [ 67%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-None-Match-if_none_match- "67ab43"-expected_value16] PASSED [ 67%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-None-Match-if_none_match- "67ab43" -expected_value17] PASSED [ 67%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-None-Match-if_none_match-"67ab43" -expected_value18] PASSED [ 67%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-None-Match-if_none_match-" 67ab43" -expected_value19] PASSED [ 68%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-None-Match-if_none_match-67ab43"-expected_value20] PASSED [ 68%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-None-Match-if_none_match-"67ab43-expected_value21] PASSED [ 68%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-None-Match-if_none_match-67ab43-expected_value22] PASSED [ 68%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-None-Match-if_none_match-67ab43 -expected_value23] PASSED [ 68%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-None-Match-if_none_match- 67ab43 -expected_value24] PASSED [ 68%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-None-Match-if_none_match- 67ab43-expected_value25] PASSED [ 68%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-None-Match-if_none_match-W/"67ab43", "54ed21", junk"F9,22", junk "41, 7F", unquoted, w/"22, 41, 7F", "", W/""-expected_value26] PASSED [ 68%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_etag_is_missing[asgi] PASSED [ 68%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_etag_is_missing[wsgi] PASSED [ 68%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_etag_parsing_helper[asgi-] PASSED [ 68%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_etag_parsing_helper[asgi- ] PASSED [ 68%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_etag_parsing_helper[asgi- ] PASSED [ 68%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_etag_parsing_helper[wsgi-] PASSED [ 68%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_etag_parsing_helper[wsgi- ] PASSED [ 68%] 200s tests/test_request_attrs.py::TestRequestAttributes::test_etag_parsing_helper[wsgi- ] PASSED [ 68%] 200s tests/test_request_body.py::TestRequestBody::test_empty_body PASSED [ 68%] 200s tests/test_request_body.py::TestRequestBody::test_tiny_body PASSED [ 68%] 200s tests/test_request_body.py::TestRequestBody::test_tiny_body_overflow PASSED [ 68%] 200s tests/test_request_body.py::TestRequestBody::test_read_body PASSED [ 68%] 200s tests/test_request_body.py::TestRequestBody::test_bounded_stream_property_empty_body PASSED [ 68%] 200s tests/test_request_body.py::TestRequestBody::test_body_stream_wrapper PASSED [ 68%] 200s tests/test_request_body.py::TestRequestBody::test_request_repr PASSED [ 68%] 200s tests/test_request_context.py::TestRequestContext::test_default_request_context PASSED [ 68%] 200s tests/test_request_context.py::TestRequestContext::test_custom_request_context PASSED [ 68%] 200s tests/test_request_context.py::TestRequestContext::test_custom_request_context_failure PASSED [ 68%] 200s tests/test_request_context.py::TestRequestContext::test_custom_request_context_request_access PASSED [ 68%] 200s tests/test_request_forwarded.py::test_no_forwarded_headers[asgi] PASSED [ 68%] 200s tests/test_request_forwarded.py::test_no_forwarded_headers[wsgi] PASSED [ 68%] 200s tests/test_request_forwarded.py::test_no_forwarded_headers_with_port[asgi] PASSED [ 68%] 200s tests/test_request_forwarded.py::test_no_forwarded_headers_with_port[wsgi] PASSED [ 68%] 200s tests/test_request_forwarded.py::test_x_forwarded_host[asgi] PASSED [ 68%] 200s tests/test_request_forwarded.py::test_x_forwarded_host[wsgi] PASSED [ 68%] 200s tests/test_request_forwarded.py::test_x_forwarded_host_with_port[asgi] PASSED [ 68%] 200s tests/test_request_forwarded.py::test_x_forwarded_host_with_port[wsgi] PASSED [ 68%] 200s tests/test_request_forwarded.py::test_x_forwarded_proto[asgi] PASSED [ 68%] 200s tests/test_request_forwarded.py::test_x_forwarded_proto[wsgi] PASSED [ 68%] 200s tests/test_request_forwarded.py::test_forwarded_host[asgi] PASSED [ 68%] 200s tests/test_request_forwarded.py::test_forwarded_host[wsgi] PASSED [ 68%] 200s tests/test_request_forwarded.py::test_forwarded_invalid[asgi] PASSED [ 69%] 200s tests/test_request_forwarded.py::test_forwarded_invalid[wsgi] PASSED [ 69%] 200s tests/test_request_forwarded.py::test_forwarded_multiple_params[asgi] PASSED [ 69%] 200s tests/test_request_forwarded.py::test_forwarded_multiple_params[wsgi] PASSED [ 69%] 200s tests/test_request_forwarded.py::test_forwarded_missing_first_hop_host[asgi] PASSED [ 69%] 200s tests/test_request_forwarded.py::test_forwarded_missing_first_hop_host[wsgi] PASSED [ 69%] 200s tests/test_request_forwarded.py::test_forwarded_quote_escaping[asgi] PASSED [ 69%] 200s tests/test_request_forwarded.py::test_forwarded_quote_escaping[wsgi] PASSED [ 69%] 200s tests/test_request_forwarded.py::test_escape_malformed_requests[asgi-for=1.2.3.4;by="-None] PASSED [ 69%] 200s tests/test_request_forwarded.py::test_escape_malformed_requests[asgi-for=1.2.3.4;by=4\\.3.2.1thing=blah-4] PASSED [ 69%] 200s 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 [ 69%] 200s 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 [ 69%] 200s 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 [ 69%] 200s tests/test_request_forwarded.py::test_escape_malformed_requests[wsgi-for=1.2.3.4;by="-None] PASSED [ 69%] 200s tests/test_request_forwarded.py::test_escape_malformed_requests[wsgi-for=1.2.3.4;by=4\\.3.2.1thing=blah-4] PASSED [ 69%] 200s 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 [ 69%] 200s 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 [ 69%] 200s 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 [ 69%] 200s tests/test_request_media.py::test_json[asgi-None] PASSED [ 69%] 200s tests/test_request_media.py::test_json[asgi-*/*] PASSED [ 69%] 200s tests/test_request_media.py::test_json[asgi-application/json] PASSED [ 69%] 200s tests/test_request_media.py::test_json[asgi-application/json; charset=utf-8] PASSED [ 69%] 200s tests/test_request_media.py::test_json[wsgi-None] PASSED [ 69%] 200s tests/test_request_media.py::test_json[wsgi-*/*] PASSED [ 69%] 200s tests/test_request_media.py::test_json[wsgi-application/json] PASSED [ 69%] 200s tests/test_request_media.py::test_json[wsgi-application/json; charset=utf-8] PASSED [ 69%] 200s tests/test_request_media.py::test_msgpack[asgi-application/msgpack] PASSED [ 69%] 200s tests/test_request_media.py::test_msgpack[asgi-application/msgpack; charset=utf-8] PASSED [ 69%] 200s tests/test_request_media.py::test_msgpack[asgi-application/x-msgpack] PASSED [ 69%] 200s tests/test_request_media.py::test_msgpack[wsgi-application/msgpack] PASSED [ 69%] 200s tests/test_request_media.py::test_msgpack[wsgi-application/msgpack; charset=utf-8] PASSED [ 69%] 200s tests/test_request_media.py::test_msgpack[wsgi-application/x-msgpack] PASSED [ 69%] 200s tests/test_request_media.py::test_unknown_media_type[asgi-nope/json] PASSED [ 69%] 200s tests/test_request_media.py::test_unknown_media_type[wsgi-nope/json] PASSED [ 69%] 200s tests/test_request_media.py::test_empty_body[asgi-application/json] PASSED [ 69%] 200s tests/test_request_media.py::test_empty_body[asgi-application/msgpack] PASSED [ 69%] 200s tests/test_request_media.py::test_empty_body[wsgi-application/json] PASSED [ 69%] 200s tests/test_request_media.py::test_empty_body[wsgi-application/msgpack] PASSED [ 69%] 200s tests/test_request_media.py::test_invalid_json[asgi] PASSED [ 69%] 200s tests/test_request_media.py::test_invalid_json[wsgi] PASSED [ 70%] 200s tests/test_request_media.py::test_invalid_msgpack[asgi] PASSED [ 70%] 200s tests/test_request_media.py::test_invalid_msgpack[wsgi] PASSED [ 70%] 200s tests/test_request_media.py::test_complete_consumption[asgi] PASSED [ 70%] 200s tests/test_request_media.py::test_complete_consumption[wsgi] PASSED [ 70%] 200s tests/test_request_media.py::test_empty_json_media[asgi-False] PASSED [ 70%] 200s tests/test_request_media.py::test_empty_json_media[asgi-0] PASSED [ 70%] 200s tests/test_request_media.py::test_empty_json_media[asgi-0.0] PASSED [ 70%] 200s tests/test_request_media.py::test_empty_json_media[asgi-] PASSED [ 70%] 200s tests/test_request_media.py::test_empty_json_media[asgi-payload4] PASSED [ 70%] 200s tests/test_request_media.py::test_empty_json_media[asgi-payload5] PASSED [ 70%] 200s tests/test_request_media.py::test_empty_json_media[wsgi-False] PASSED [ 70%] 200s tests/test_request_media.py::test_empty_json_media[wsgi-0] PASSED [ 70%] 200s tests/test_request_media.py::test_empty_json_media[wsgi-0.0] PASSED [ 70%] 200s tests/test_request_media.py::test_empty_json_media[wsgi-] PASSED [ 70%] 200s tests/test_request_media.py::test_empty_json_media[wsgi-payload4] PASSED [ 70%] 200s tests/test_request_media.py::test_empty_json_media[wsgi-payload5] PASSED [ 70%] 200s tests/test_request_media.py::test_null_json_media[asgi] PASSED [ 70%] 200s tests/test_request_media.py::test_null_json_media[wsgi] PASSED [ 70%] 200s tests/test_request_media.py::test_fallback[asgi] PASSED [ 70%] 200s tests/test_request_media.py::test_fallback[wsgi] PASSED [ 70%] 200s tests/test_request_media.py::test_fallback_not_for_error_body[asgi-True-True] PASSED [ 70%] 200s tests/test_request_media.py::test_fallback_not_for_error_body[asgi-True-False] PASSED [ 70%] 200s tests/test_request_media.py::test_fallback_not_for_error_body[asgi-False-True] PASSED [ 70%] 200s tests/test_request_media.py::test_fallback_not_for_error_body[asgi-False-False] PASSED [ 70%] 200s tests/test_request_media.py::test_fallback_not_for_error_body[wsgi-True-True] PASSED [ 70%] 200s tests/test_request_media.py::test_fallback_not_for_error_body[wsgi-True-False] PASSED [ 70%] 200s tests/test_request_media.py::test_fallback_not_for_error_body[wsgi-False-True] PASSED [ 70%] 200s tests/test_request_media.py::test_fallback_not_for_error_body[wsgi-False-False] PASSED [ 70%] 200s tests/test_request_media.py::test_fallback_does_not_override_media_default[asgi] PASSED [ 70%] 200s tests/test_request_media.py::test_fallback_does_not_override_media_default[wsgi] PASSED [ 70%] 200s tests/test_request_media.py::test_repeated_error[asgi-{] PASSED [ 70%] 200s tests/test_request_media.py::test_repeated_error[asgi-] PASSED [ 70%] 200s tests/test_request_media.py::test_repeated_error[wsgi-{] PASSED [ 70%] 200s tests/test_request_media.py::test_repeated_error[wsgi-] PASSED [ 70%] 200s tests/test_request_media.py::test_error_after_first_default[asgi] PASSED [ 70%] 200s tests/test_request_media.py::test_error_after_first_default[wsgi] PASSED [ 70%] 200s tests/test_response.py::test_response_set_content_type_set[asgi] PASSED [ 70%] 200s tests/test_response.py::test_response_set_content_type_set[wsgi] PASSED [ 70%] 200s tests/test_response.py::test_response_set_content_type_not_set[asgi] PASSED [ 71%] 200s tests/test_response.py::test_response_set_content_type_not_set[wsgi] PASSED [ 71%] 200s tests/test_response.py::test_response_get_headers[asgi] PASSED [ 71%] 200s tests/test_response.py::test_response_get_headers[wsgi] PASSED [ 71%] 200s tests/test_response.py::test_add_link_removed[asgi] PASSED [ 71%] 200s tests/test_response.py::test_add_link_removed[wsgi] PASSED [ 71%] 200s tests/test_response.py::test_body_removed[asgi] PASSED [ 71%] 200s tests/test_response.py::test_body_removed[wsgi] PASSED [ 71%] 200s tests/test_response.py::test_response_attempt_to_set_read_only_headers[asgi] PASSED [ 71%] 200s tests/test_response.py::test_response_attempt_to_set_read_only_headers[wsgi] PASSED [ 71%] 200s tests/test_response.py::test_response_option_mimetype_init PASSED [ 71%] 200s tests/test_response.py::test_response_set_stream[asgi-] PASSED [ 71%] 200s tests/test_response.py::test_response_set_stream[asgi-dummy content] PASSED [ 71%] 200s tests/test_response.py::test_response_set_stream[wsgi-] PASSED [ 71%] 200s tests/test_response.py::test_response_set_stream[wsgi-dummy content] PASSED [ 71%] 200s tests/test_response_body.py::test_append_body[asgi] PASSED [ 71%] 200s tests/test_response_body.py::test_append_body[wsgi] PASSED [ 71%] 200s tests/test_response_body.py::test_response_repr[asgi] PASSED [ 71%] 200s tests/test_response_body.py::test_response_repr[wsgi] PASSED [ 71%] 200s tests/test_response_body.py::test_content_length_set_on_head_with_no_body[asgi] PASSED [ 71%] 200s tests/test_response_body.py::test_content_length_set_on_head_with_no_body[wsgi] PASSED [ 71%] 200s tests/test_response_body.py::test_content_length_not_set_when_streaming_response[asgi-GET] PASSED [ 71%] 200s tests/test_response_body.py::test_content_length_not_set_when_streaming_response[asgi-HEAD] PASSED [ 71%] 200s tests/test_response_body.py::test_content_length_not_set_when_streaming_response[wsgi-GET] PASSED [ 71%] 200s tests/test_response_body.py::test_content_length_not_set_when_streaming_response[wsgi-HEAD] PASSED [ 71%] 200s tests/test_response_body.py::test_unsupported_response_content_type[asgi] PASSED [ 71%] 200s tests/test_response_body.py::test_unsupported_response_content_type[wsgi] PASSED [ 71%] 200s tests/test_response_body.py::test_response_body_rendition_error[asgi] PASSED [ 71%] 200s tests/test_response_body.py::test_response_body_rendition_error[wsgi] PASSED [ 71%] 200s tests/test_response_context.py::TestResponseContext::test_default_response_context[asgi.Response] PASSED [ 71%] 200s tests/test_response_context.py::TestResponseContext::test_default_response_context[Response] PASSED [ 71%] 200s tests/test_response_context.py::TestResponseContext::test_custom_response_context[asgi.Response] PASSED [ 71%] 200s tests/test_response_context.py::TestResponseContext::test_custom_response_context[Response] PASSED [ 71%] 200s tests/test_response_context.py::TestResponseContext::test_custom_response_context_failure[asgi.Response] PASSED [ 71%] 200s tests/test_response_context.py::TestResponseContext::test_custom_response_context_failure[Response] PASSED [ 71%] 200s tests/test_response_context.py::TestResponseContext::test_custom_response_context_factory[asgi.Response] PASSED [ 71%] 200s tests/test_response_context.py::TestResponseContext::test_custom_response_context_factory[Response] PASSED [ 71%] 200s tests/test_response_media.py::test_json[*/*] PASSED [ 71%] 200s tests/test_response_media.py::test_json[application/json] PASSED [ 71%] 200s tests/test_response_media.py::test_json[application/json; charset=utf-8] PASSED [ 72%] 200s tests/test_response_media.py::test_non_ascii_json_serialization[] PASSED [ 72%] 200s tests/test_response_media.py::test_non_ascii_json_serialization[I am a \u1d0a\ua731\u1d0f\u0274 string.] PASSED [ 72%] 200s tests/test_response_media.py::test_non_ascii_json_serialization[document2] PASSED [ 72%] 200s tests/test_response_media.py::test_non_ascii_json_serialization[document3] PASSED [ 72%] 200s tests/test_response_media.py::test_non_ascii_json_serialization[document4] PASSED [ 72%] 200s tests/test_response_media.py::test_msgpack[application/msgpack] PASSED [ 72%] 200s tests/test_response_media.py::test_msgpack[application/msgpack; charset=utf-8] PASSED [ 72%] 200s tests/test_response_media.py::test_msgpack[application/x-msgpack] PASSED [ 72%] 200s tests/test_response_media.py::test_unknown_media_type PASSED [ 72%] 200s tests/test_response_media.py::test_use_cached_media PASSED [ 72%] 200s tests/test_response_media.py::test_default_media_type PASSED [ 72%] 200s tests/test_response_media.py::test_mimeparse_edgecases PASSED [ 72%] 200s tests/test_response_media.py::TestRenderBodyPrecedence::test_text PASSED [ 72%] 200s tests/test_response_media.py::TestRenderBodyPrecedence::test_data PASSED [ 72%] 200s tests/test_response_media.py::TestRenderBodyPrecedence::test_media PASSED [ 72%] 200s tests/test_response_media.py::test_media_rendered_cached PASSED [ 72%] 200s tests/test_sink_and_static.py::test_sink_before_static_route[asgi] PASSED [ 72%] 200s tests/test_sink_and_static.py::test_sink_before_static_route[wsgi] PASSED [ 72%] 200s tests/test_sink_and_static.py::test_sink_after_static_route[asgi] PASSED [ 72%] 200s tests/test_sink_and_static.py::test_sink_after_static_route[wsgi] PASSED [ 72%] 200s tests/test_sinks.py::TestDefaultRouting::test_single_default_pattern[asgi] PASSED [ 72%] 200s tests/test_sinks.py::TestDefaultRouting::test_single_default_pattern[wsgi] PASSED [ 72%] 200s tests/test_sinks.py::TestDefaultRouting::test_single_simple_pattern[asgi] PASSED [ 72%] 200s tests/test_sinks.py::TestDefaultRouting::test_single_simple_pattern[wsgi] PASSED [ 72%] 200s tests/test_sinks.py::TestDefaultRouting::test_single_compiled_pattern[asgi] PASSED [ 72%] 200s tests/test_sinks.py::TestDefaultRouting::test_single_compiled_pattern[wsgi] PASSED [ 72%] 200s tests/test_sinks.py::TestDefaultRouting::test_named_groups[asgi] PASSED [ 72%] 200s tests/test_sinks.py::TestDefaultRouting::test_named_groups[wsgi] PASSED [ 72%] 200s tests/test_sinks.py::TestDefaultRouting::test_multiple_patterns[asgi] PASSED [ 72%] 200s tests/test_sinks.py::TestDefaultRouting::test_multiple_patterns[wsgi] PASSED [ 72%] 200s tests/test_sinks.py::TestDefaultRouting::test_with_route[asgi] PASSED [ 72%] 200s tests/test_sinks.py::TestDefaultRouting::test_with_route[wsgi] PASSED [ 72%] 200s tests/test_sinks.py::TestDefaultRouting::test_route_precedence[asgi] PASSED [ 72%] 200s tests/test_sinks.py::TestDefaultRouting::test_route_precedence[wsgi] PASSED [ 72%] 200s tests/test_sinks.py::TestDefaultRouting::test_route_precedence_with_id[asgi] PASSED [ 72%] 200s tests/test_sinks.py::TestDefaultRouting::test_route_precedence_with_id[wsgi] PASSED [ 72%] 200s tests/test_sinks.py::TestDefaultRouting::test_route_precedence_with_both_id[asgi] PASSED [ 72%] 200s tests/test_sinks.py::TestDefaultRouting::test_route_precedence_with_both_id[wsgi] PASSED [ 72%] 200s tests/test_sinks.py::TestSinkMethodCompatibility::test_add_async_sink[asgi] PASSED [ 73%] 200s tests/test_sinks.py::TestSinkMethodCompatibility::test_add_async_sink[wsgi] PASSED [ 73%] 200s tests/test_sinks.py::TestSinkMethodCompatibility::test_add_sync_sink[asgi] PASSED [ 73%] 200s tests/test_sinks.py::TestSinkMethodCompatibility::test_add_sync_sink[wsgi] PASSED [ 73%] 200s tests/test_sinks.py::TestSinkMethodCompatibility::test_add_sync_sink_with_wrapping[asgi] PASSED [ 73%] 200s tests/test_sinks.py::TestSinkMethodCompatibility::test_add_sync_sink_with_wrapping[wsgi] PASSED [ 73%] 200s tests/test_slots.py::TestSlots::test_slots_request[asgi] PASSED [ 73%] 200s tests/test_slots.py::TestSlots::test_slots_request[wsgi] PASSED [ 73%] 200s tests/test_slots.py::TestSlots::test_slots_response[asgi] PASSED [ 73%] 200s tests/test_slots.py::TestSlots::test_slots_response[wsgi] PASSED [ 73%] 200s tests/test_static.py::test_bad_path[asgi-/static] PASSED [ 73%] 200s tests/test_static.py::test_bad_path[asgi-/static/] PASSED [ 73%] 200s tests/test_static.py::test_bad_path[asgi-/static/.] PASSED [ 73%] 200s tests/test_static.py::test_bad_path[asgi-/static/..] PASSED [ 73%] 200s tests/test_static.py::test_bad_path[asgi-/static/../.] PASSED [ 73%] 200s tests/test_static.py::test_bad_path[asgi-/static/.././etc/passwd] PASSED [ 73%] 200s tests/test_static.py::test_bad_path[asgi-/static/../etc/passwd] PASSED [ 73%] 200s tests/test_static.py::test_bad_path[asgi-/static/css/../../secret] PASSED [ 73%] 200s tests/test_static.py::test_bad_path[asgi-/static/css/../../etc/passwd] PASSED [ 73%] 200s tests/test_static.py::test_bad_path[asgi-/static/./../etc/passwd] PASSED [ 73%] 200s tests/test_static.py::test_bad_path[asgi-/static/css/../.\\056/etc/passwd] PASSED [ 73%] 200s tests/test_static.py::test_bad_path[asgi-/static/./\\056./etc/passwd] PASSED [ 73%] 200s tests/test_static.py::test_bad_path[asgi-/static/\\056\\056/etc/passwd] PASSED [ 73%] 200s tests/test_static.py::test_bad_path[asgi-/static//test.css] PASSED [ 73%] 200s tests/test_static.py::test_bad_path[asgi-/static//COM10] PASSED [ 73%] 200s tests/test_static.py::test_bad_path[asgi-/static/path//test.css] PASSED [ 73%] 200s tests/test_static.py::test_bad_path[asgi-/static/path///test.css] PASSED [ 73%] 200s tests/test_static.py::test_bad_path[asgi-/static/path////test.css] PASSED [ 73%] 200s tests/test_static.py::test_bad_path[asgi-/static/path/foo//test.css] PASSED [ 73%] 200s tests/test_static.py::test_bad_path[asgi-/static/.\x00ssh/authorized_keys] PASSED [ 73%] 200s tests/test_static.py::test_bad_path[asgi-/static/.\x1fssh/authorized_keys] PASSED [ 73%] 200s tests/test_static.py::test_bad_path[asgi-/static/.\x80ssh/authorized_keys] PASSED [ 73%] 200s tests/test_static.py::test_bad_path[asgi-/static/.\x9fssh/authorized_keys] PASSED [ 73%] 200s tests/test_static.py::test_bad_path[asgi-/static/~/.ssh/authorized_keys] PASSED [ 73%] 200s tests/test_static.py::test_bad_path[asgi-/static/.ssh/authorized_key?] PASSED [ 73%] 200s tests/test_static.py::test_bad_path[asgi-/static/.ssh/authorized_key>foo] PASSED [ 73%] 200s tests/test_static.py::test_bad_path[asgi-/static/.ssh/authorized_key|foo] PASSED [ 73%] 200s tests/test_static.py::test_bad_path[asgi-/static/.ssh/authorized_keyfoo] PASSED [ 74%] 200s tests/test_static.py::test_bad_path[wsgi-/static/.ssh/authorized_key|foo] PASSED [ 74%] 200s tests/test_static.py::test_bad_path[wsgi-/static/.ssh/authorized_key] PASSED [ 4%] 211s tests/asgi/test_hello_asgi.py::TestHelloWorld::test_body[/bytes-resource1-] PASSED [ 4%] 211s tests/asgi/test_hello_asgi.py::TestHelloWorld::test_body[/data-resource2-] PASSED [ 4%] 211s tests/asgi/test_hello_asgi.py::TestHelloWorld::test_no_body_on_head PASSED [ 4%] 211s tests/asgi/test_hello_asgi.py::TestHelloWorld::test_stream_chunked PASSED [ 4%] 211s tests/asgi/test_hello_asgi.py::TestHelloWorld::test_stream_known_len PASSED [ 4%] 211s tests/asgi/test_hello_asgi.py::TestHelloWorld::test_filelike PASSED [ 4%] 211s tests/asgi/test_hello_asgi.py::TestHelloWorld::test_genfunc_error PASSED [ 4%] 211s tests/asgi/test_hello_asgi.py::TestHelloWorld::test_nongenfunc_error PASSED [ 4%] 211s tests/asgi/test_hello_asgi.py::TestHelloWorld::test_filelike_closing[DataReader-True] PASSED [ 5%] 211s tests/asgi/test_hello_asgi.py::TestHelloWorld::test_filelike_closing[DataReaderWithoutClose-False] PASSED [ 5%] 211s tests/asgi/test_hello_asgi.py::TestHelloWorld::test_filelike_closing_aiofiles PASSED [ 5%] 211s tests/asgi/test_hello_asgi.py::TestHelloWorld::test_filelike_using_helper PASSED [ 5%] 211s tests/asgi/test_hello_asgi.py::TestHelloWorld::test_closing_stream[10-3-3\n3\n3\n1\n-None] PASSED [ 5%] 211s tests/asgi/test_hello_asgi.py::TestHelloWorld::test_closing_stream[10-7-7\n3\n-None] PASSED [ 5%] 211s tests/asgi/test_hello_asgi.py::TestHelloWorld::test_closing_stream[10-17-10\n-None] PASSED [ 5%] 211s tests/asgi/test_hello_asgi.py::TestHelloWorld::test_closing_stream[20-0--ZeroDivisionError] PASSED [ 5%] 211s tests/asgi/test_hello_asgi.py::TestHelloWorld::test_status_not_set PASSED [ 5%] 211s tests/asgi/test_hello_asgi.py::TestHelloWorld::test_coroutine_required PASSED [ 5%] 211s tests/asgi/test_hello_asgi.py::TestHelloWorld::test_noncoroutine_required PASSED [ 5%] 211s tests/asgi/test_lifespan_handlers.py::test_at_least_one_event_method_required PASSED [ 5%] 211s tests/asgi/test_lifespan_handlers.py::test_startup_only PASSED [ 5%] 211s tests/asgi/test_lifespan_handlers.py::test_startup_raises PASSED [ 5%] 211s tests/asgi/test_lifespan_handlers.py::test_shutdown_raises PASSED [ 5%] 211s tests/asgi/test_lifespan_handlers.py::test_shutdown_only PASSED [ 5%] 211s tests/asgi/test_lifespan_handlers.py::test_multiple_handlers PASSED [ 5%] 211s tests/asgi/test_lifespan_handlers.py::test_asgi_conductor_raised_error_skips_shutdown PASSED [ 5%] 211s tests/asgi/test_middleware_asgi.py::test_raise_on_incompatible[middleware0] PASSED [ 5%] 211s tests/asgi/test_middleware_asgi.py::test_raise_on_incompatible[middleware1] PASSED [ 5%] 211s tests/asgi/test_middleware_asgi.py::test_raise_on_incompatible[middleware2] PASSED [ 5%] 211s tests/asgi/test_middleware_asgi.py::test_raise_on_incompatible[middleware3] PASSED [ 5%] 211s tests/asgi/test_misc.py::test_http_status_not_impl PASSED [ 5%] 211s tests/asgi/test_misc.py::test_http_error_not_impl PASSED [ 5%] 211s tests/asgi/test_misc.py::test_python_error_not_impl PASSED [ 5%] 211s tests/asgi/test_request_asgi.py::test_missing_server_in_scope PASSED [ 5%] 211s tests/asgi/test_request_asgi.py::test_log_error_not_supported PASSED [ 5%] 211s tests/asgi/test_request_asgi.py::test_env_not_supported PASSED [ 5%] 211s tests/asgi/test_request_body_asgi.py::TestRequestBody::test_empty_body PASSED [ 5%] 211s tests/asgi/test_request_body_asgi.py::TestRequestBody::test_tiny_body PASSED [ 5%] 211s tests/asgi/test_request_body_asgi.py::TestRequestBody::test_tiny_body_overflow PASSED [ 5%] 211s tests/asgi/test_request_body_asgi.py::TestRequestBody::test_content_length_smaller_than_body[1-0] PASSED [ 5%] 211s tests/asgi/test_request_body_asgi.py::TestRequestBody::test_content_length_smaller_than_body[2-1] PASSED [ 5%] 211s tests/asgi/test_request_body_asgi.py::TestRequestBody::test_content_length_smaller_than_body[3-2] PASSED [ 5%] 211s tests/asgi/test_request_body_asgi.py::TestRequestBody::test_content_length_smaller_than_body[100-None] PASSED [ 5%] 211s tests/asgi/test_request_body_asgi.py::TestRequestBody::test_content_length_smaller_than_body[100-50] PASSED [ 5%] 211s tests/asgi/test_request_body_asgi.py::TestRequestBody::test_content_length_smaller_than_body[8192-50] PASSED [ 5%] 211s tests/asgi/test_request_body_asgi.py::TestRequestBody::test_read_body PASSED [ 5%] 211s tests/asgi/test_request_body_asgi.py::TestRequestBody::test_bounded_stream_alias PASSED [ 5%] 211s tests/asgi/test_request_body_asgi.py::TestRequestBody::test_request_repr PASSED [ 6%] 211s tests/asgi/test_request_context_asgi.py::TestRequestContext::test_default_request_context PASSED [ 6%] 211s tests/asgi/test_request_context_asgi.py::TestRequestContext::test_custom_request_context PASSED [ 6%] 211s tests/asgi/test_request_context_asgi.py::TestRequestContext::test_custom_request_context_failure PASSED [ 6%] 211s tests/asgi/test_request_context_asgi.py::TestRequestContext::test_custom_request_context_request_access PASSED [ 6%] 211s tests/asgi/test_response_media_asgi.py::test_json[*/*] PASSED [ 6%] 211s tests/asgi/test_response_media_asgi.py::test_json[application/json] PASSED [ 6%] 211s tests/asgi/test_response_media_asgi.py::test_json[application/json; charset=utf-8] PASSED [ 6%] 211s tests/asgi/test_response_media_asgi.py::test_non_ascii_json_serialization[] PASSED [ 6%] 211s tests/asgi/test_response_media_asgi.py::test_non_ascii_json_serialization[I am a \u1d0a\ua731\u1d0f\u0274 string.] PASSED [ 6%] 211s tests/asgi/test_response_media_asgi.py::test_non_ascii_json_serialization[document2] PASSED [ 6%] 211s tests/asgi/test_response_media_asgi.py::test_non_ascii_json_serialization[document3] PASSED [ 6%] 211s tests/asgi/test_response_media_asgi.py::test_non_ascii_json_serialization[document4] PASSED [ 6%] 211s tests/asgi/test_response_media_asgi.py::test_msgpack[application/msgpack] PASSED [ 6%] 211s tests/asgi/test_response_media_asgi.py::test_msgpack[application/msgpack; charset=utf-8] PASSED [ 6%] 211s tests/asgi/test_response_media_asgi.py::test_msgpack[application/x-msgpack] PASSED [ 6%] 211s tests/asgi/test_response_media_asgi.py::test_custom_media_handler PASSED [ 6%] 211s tests/asgi/test_response_media_asgi.py::test_unknown_media_type PASSED [ 6%] 211s tests/asgi/test_response_media_asgi.py::test_default_media_type PASSED [ 6%] 211s tests/asgi/test_response_media_asgi.py::test_mimeparse_edgecases PASSED [ 6%] 211s tests/asgi/test_response_media_asgi.py::TestRenderBodyPrecedence::test_text PASSED [ 6%] 211s tests/asgi/test_response_media_asgi.py::TestRenderBodyPrecedence::test_data PASSED [ 6%] 211s tests/asgi/test_response_media_asgi.py::TestRenderBodyPrecedence::test_data_masquerading_as_text PASSED [ 6%] 211s tests/asgi/test_response_media_asgi.py::TestRenderBodyPrecedence::test_media PASSED [ 6%] 211s tests/asgi/test_response_media_asgi.py::test_media_rendered_cached PASSED [ 6%] 211s tests/asgi/test_response_media_asgi.py::test_custom_render_body PASSED [ 6%] 211s tests/asgi/test_scheduled_callbacks.py::test_multiple PASSED [ 6%] 211s tests/asgi/test_scheduled_callbacks.py::test_callback[GET-/-Hello, World!\n] PASSED [ 6%] 211s tests/asgi/test_scheduled_callbacks.py::test_callback[HEAD-/-] PASSED [ 6%] 211s tests/asgi/test_scheduled_callbacks.py::test_callback[GET-/sse-: ping\n\n] PASSED [ 6%] 211s tests/asgi/test_scheduled_callbacks.py::test_callback[GET-/stream-One\nTwo\nThree\n] PASSED [ 6%] 211s tests/asgi/test_scope.py::test_missing_asgi_version PASSED [ 6%] 211s tests/asgi/test_scope.py::test_unsupported_http_version[0.9] PASSED [ 6%] 211s tests/asgi/test_scope.py::test_unsupported_http_version[1.9] PASSED [ 6%] 211s tests/asgi/test_scope.py::test_unsupported_http_version[4.0] PASSED [ 6%] 211s tests/asgi/test_scope.py::test_unsupported_http_version[1337] PASSED [ 6%] 211s tests/asgi/test_scope.py::test_supported_asgi_version[3.0-True] PASSED [ 6%] 211s tests/asgi/test_scope.py::test_supported_asgi_version[3.1-True] PASSED [ 6%] 211s tests/asgi/test_scope.py::test_supported_asgi_version[3.10-True] PASSED [ 6%] 211s tests/asgi/test_scope.py::test_supported_asgi_version[30.0-False] PASSED [ 6%] 211s tests/asgi/test_scope.py::test_supported_asgi_version[31.0-False] PASSED [ 7%] 211s tests/asgi/test_scope.py::test_supported_asgi_version[4.0-False] PASSED [ 7%] 211s tests/asgi/test_scope.py::test_supported_asgi_version[4.1-False] PASSED [ 7%] 211s tests/asgi/test_scope.py::test_supported_asgi_version[4.10-False] PASSED [ 7%] 211s tests/asgi/test_scope.py::test_supported_asgi_version[40.0-False] PASSED [ 7%] 211s tests/asgi/test_scope.py::test_supported_asgi_version[41.0-False] PASSED [ 7%] 211s tests/asgi/test_scope.py::test_supported_asgi_version[2.0-False] PASSED [ 7%] 211s tests/asgi/test_scope.py::test_supported_asgi_version[2.1-False] PASSED [ 7%] 211s tests/asgi/test_scope.py::test_supported_asgi_version[2.10-False] PASSED [ 7%] 211s tests/asgi/test_scope.py::test_supported_asgi_version[None-False] PASSED [ 7%] 211s tests/asgi/test_scope.py::test_unsupported_scope_type[tubes] PASSED [ 7%] 211s tests/asgi/test_scope.py::test_unsupported_scope_type[http3] PASSED [ 7%] 211s tests/asgi/test_scope.py::test_unsupported_scope_type[htt] PASSED [ 7%] 211s tests/asgi/test_scope.py::test_supported_http_spec[0.0-False] PASSED [ 7%] 211s tests/asgi/test_scope.py::test_supported_http_spec[1.0-False] PASSED [ 7%] 211s tests/asgi/test_scope.py::test_supported_http_spec[11.0-False] PASSED [ 7%] 211s tests/asgi/test_scope.py::test_supported_http_spec[2.0-True] PASSED [ 7%] 211s tests/asgi/test_scope.py::test_supported_http_spec[2.1-True] PASSED [ 7%] 211s tests/asgi/test_scope.py::test_supported_http_spec[2.10-True] PASSED [ 7%] 211s tests/asgi/test_scope.py::test_supported_http_spec[20.0-False] PASSED [ 7%] 211s tests/asgi/test_scope.py::test_supported_http_spec[22.0-False] PASSED [ 7%] 211s tests/asgi/test_scope.py::test_supported_http_spec[3.0-False] PASSED [ 7%] 211s tests/asgi/test_scope.py::test_supported_http_spec[3.1-False] PASSED [ 7%] 211s tests/asgi/test_scope.py::test_supported_http_spec[30.0-False] PASSED [ 7%] 211s tests/asgi/test_scope.py::test_lifespan_scope_default_version PASSED [ 7%] 211s tests/asgi/test_scope.py::test_lifespan_scope_version[0.0-False] PASSED [ 7%] 211s tests/asgi/test_scope.py::test_lifespan_scope_version[1.0-True] PASSED [ 7%] 211s tests/asgi/test_scope.py::test_lifespan_scope_version[1.1-True] PASSED [ 7%] 211s tests/asgi/test_scope.py::test_lifespan_scope_version[1.10-True] PASSED [ 7%] 211s tests/asgi/test_scope.py::test_lifespan_scope_version[2.0-True] PASSED [ 7%] 211s tests/asgi/test_scope.py::test_lifespan_scope_version[2.1-True] PASSED [ 7%] 211s tests/asgi/test_scope.py::test_lifespan_scope_version[2.10-True] PASSED [ 7%] 211s tests/asgi/test_scope.py::test_lifespan_scope_version[3.0-False] PASSED [ 7%] 211s tests/asgi/test_scope.py::test_lifespan_scope_version[4.0-False] PASSED [ 7%] 211s tests/asgi/test_scope.py::test_lifespan_scope_version[11.0-False] PASSED [ 7%] 211s tests/asgi/test_scope.py::test_lifespan_scope_version[22.0-False] PASSED [ 7%] 211s tests/asgi/test_scope.py::test_query_string_values PASSED [ 7%] 211s tests/asgi/test_scope.py::test_scheme[http-True] PASSED [ 7%] 211s tests/asgi/test_scope.py::test_scheme[https-True] PASSED [ 7%] 211s tests/asgi/test_scope.py::test_scheme[htt-False] PASSED [ 8%] 211s tests/asgi/test_scope.py::test_scheme[http:-False] PASSED [ 8%] 211s tests/asgi/test_scope.py::test_scheme[https:-False] PASSED [ 8%] 211s tests/asgi/test_scope.py::test_scheme[ftp-False] PASSED [ 8%] 211s tests/asgi/test_scope.py::test_scheme[gopher-False] PASSED [ 8%] 211s tests/asgi/test_scope.py::test_cookies[cookies0] PASSED [ 8%] 211s tests/asgi/test_scope.py::test_cookies[cookies1] PASSED [ 8%] 211s tests/asgi/test_scope.py::test_cookies_options_meathod PASSED [ 8%] 211s tests/asgi/test_sse.py::test_no_events PASSED [ 8%] 211s tests/asgi/test_sse.py::test_single_event PASSED [ 8%] 211s tests/asgi/test_sse.py::test_multiple_events PASSED [ 8%] 211s tests/asgi/test_sse.py::test_multiple_events_early_disconnect PASSED [ 8%] 211s tests/asgi/test_sse.py::TestSerializeJson::test_use_media_handler_dumps PASSED [ 8%] 211s tests/asgi/test_sse.py::TestSerializeJson::test_no_json_media_handler PASSED [ 8%] 211s tests/asgi/test_sse.py::test_invalid_event_values PASSED [ 8%] 211s tests/asgi/test_sse.py::test_non_iterable PASSED [ 8%] 215s tests/asgi/test_sync.py::test_sync_helpers PASSED [ 8%] 215s tests/asgi/test_sync.py::test_sync_asyncio_aliases PASSED [ 8%] 216s tests/asgi/test_testing_asgi.py::test_asgi_request_event_emitter_hang PASSED [ 8%] 216s tests/asgi/test_testing_asgi.py::test_ignore_extra_asgi_events PASSED [ 8%] 216s tests/asgi/test_testing_asgi.py::test_invalid_asgi_events PASSED [ 8%] 216s tests/asgi/test_testing_asgi.py::test_is_asgi_app_cls PASSED [ 8%] 216s tests/asgi/test_testing_asgi.py::test_cookies_jar PASSED [ 8%] 216s tests/asgi/test_testing_asgi.py::test_create_scope_default_ua PASSED [ 8%] 216s tests/asgi/test_testing_asgi.py::test_create_scope_default_ua_override PASSED [ 8%] 216s tests/asgi/test_testing_asgi.py::test_create_scope_default_ua_modify_global PASSED [ 8%] 216s tests/asgi/test_testing_asgi.py::test_missing_header_is_none PASSED [ 8%] 216s tests/asgi/test_testing_asgi.py::test_immediate_disconnect PASSED [ 8%] 216s tests/asgi/test_ws.py::test_ws_not_accepted[/ws/yes] PASSED [ 8%] 216s tests/asgi/test_ws.py::test_ws_not_accepted[/ws/no] PASSED [ 8%] 226s tests/asgi/test_ws.py::test_echo PASSED [ 8%] 226s tests/asgi/test_ws.py::test_path_not_found PASSED [ 8%] 226s tests/asgi/test_ws.py::test_responder_raises_unhandled_error[True] PASSED [ 8%] 226s tests/asgi/test_ws.py::test_responder_raises_unhandled_error[False] PASSED [ 8%] 226s tests/asgi/test_ws.py::test_client_disconnect_early[True-True-send] PASSED [ 8%] 226s tests/asgi/test_ws.py::test_client_disconnect_early[True-True-receive] PASSED [ 8%] 226s tests/asgi/test_ws.py::test_client_disconnect_early[True-False-send] PASSED [ 8%] 226s tests/asgi/test_ws.py::test_client_disconnect_early[True-False-receive] PASSED [ 8%] 226s tests/asgi/test_ws.py::test_client_disconnect_early[False-True-send] PASSED [ 8%] 226s tests/asgi/test_ws.py::test_client_disconnect_early[False-True-receive] PASSED [ 9%] 226s tests/asgi/test_ws.py::test_client_disconnect_early[False-False-send] PASSED [ 9%] 226s tests/asgi/test_ws.py::test_client_disconnect_early[False-False-receive] PASSED [ 9%] 226s tests/asgi/test_ws.py::test_media[True-True] PASSED [ 9%] 226s tests/asgi/test_ws.py::test_media[True-False] PASSED [ 9%] 226s tests/asgi/test_ws.py::test_media[False-True] PASSED [ 9%] 226s tests/asgi/test_ws.py::test_media[False-False] PASSED [ 9%] 226s tests/asgi/test_ws.py::test_send_receive_data[123] PASSED [ 9%] 226s tests/asgi/test_ws.py::test_send_receive_data[] PASSED [ 9%] 226s tests/asgi/test_ws.py::test_send_receive_data[\xe1\x9a\xa0\xe1] PASSED [ 9%] 226s tests/asgi/test_ws.py::test_send_receive_data[\x00] PASSED [ 9%] 226s tests/asgi/test_ws.py::test_subprotocol[subprotocols0] PASSED [ 9%] 226s tests/asgi/test_ws.py::test_subprotocol[subprotocols1] PASSED [ 9%] 226s tests/asgi/test_ws.py::test_subprotocol[subprotocols2] PASSED [ 9%] 226s tests/asgi/test_ws.py::test_subprotocol[None] PASSED [ 9%] 226s tests/asgi/test_ws.py::test_accept_with_headers[None] PASSED [ 9%] 226s tests/asgi/test_ws.py::test_accept_with_headers[headers1] PASSED [ 9%] 226s tests/asgi/test_ws.py::test_accept_with_headers[headers2] PASSED [ 9%] 226s tests/asgi/test_ws.py::test_accept_with_headers[headers3] PASSED [ 9%] 226s tests/asgi/test_ws.py::test_accept_with_headers[headers4] PASSED [ 9%] 226s tests/asgi/test_ws.py::test_accept_with_headers[headers5] PASSED [ 9%] 226s tests/asgi/test_ws.py::test_accept_with_headers[headers6] PASSED [ 9%] 226s tests/asgi/test_ws.py::test_accept_with_bad_headers[headers0] PASSED [ 9%] 226s tests/asgi/test_ws.py::test_accept_with_bad_headers[headers1] PASSED [ 9%] 226s tests/asgi/test_ws.py::test_accept_with_bad_headers[headers2] PASSED [ 9%] 226s tests/asgi/test_ws.py::test_accept_with_headers_not_supported PASSED [ 9%] 226s tests/asgi/test_ws.py::test_missing_ws_handler PASSED [ 9%] 226s tests/asgi/test_ws.py::test_unexpected_param PASSED [ 9%] 226s tests/asgi/test_ws.py::test_subprotocol_bad_type[DEADBEEF] PASSED [ 9%] 226s tests/asgi/test_ws.py::test_subprotocol_bad_type[subprotocol1] PASSED [ 9%] 226s tests/asgi/test_ws.py::test_subprotocol_bad_type[subprotocol2] PASSED [ 9%] 226s tests/asgi/test_ws.py::test_subprotocol_bad_type[subprotocol3] PASSED [ 9%] 226s tests/asgi/test_ws.py::test_subprotocol_bad_type[subprotocol4] PASSED [ 9%] 226s tests/asgi/test_ws.py::test_subprotocol_bad_type[OK] PASSED [ 9%] 226s tests/asgi/test_ws.py::test_send_receive_wrong_type PASSED [ 9%] 226s tests/asgi/test_ws.py::test_client_disconnect_uncaught_error[999] PASSED [ 9%] 226s tests/asgi/test_ws.py::test_client_disconnect_uncaught_error[100] PASSED [ 9%] 226s tests/asgi/test_ws.py::test_client_disconnect_uncaught_error[0] PASSED [ 9%] 226s tests/asgi/test_ws.py::test_client_disconnect_uncaught_error[-1] PASSED [ 9%] 226s tests/asgi/test_ws.py::test_client_disconnect_uncaught_error[1004] PASSED [ 10%] 226s tests/asgi/test_ws.py::test_client_disconnect_uncaught_error[1005] PASSED [ 10%] 226s tests/asgi/test_ws.py::test_client_disconnect_uncaught_error[1006] PASSED [ 10%] 226s tests/asgi/test_ws.py::test_client_disconnect_uncaught_error[1015] PASSED [ 10%] 226s tests/asgi/test_ws.py::test_client_disconnect_uncaught_error[1016] PASSED [ 10%] 226s tests/asgi/test_ws.py::test_client_disconnect_uncaught_error[1017] PASSED [ 10%] 226s tests/asgi/test_ws.py::test_client_disconnect_uncaught_error[1050] PASSED [ 10%] 226s tests/asgi/test_ws.py::test_client_disconnect_uncaught_error[1099] PASSED [ 10%] 226s tests/asgi/test_ws.py::test_client_disconnect_uncaught_error[NaN] PASSED [ 10%] 226s tests/asgi/test_ws.py::test_mw_methods_must_be_coroutines PASSED [ 10%] 226s tests/asgi/test_ws.py::test_bad_spec_version[1.9] PASSED [ 10%] 226s tests/asgi/test_ws.py::test_bad_spec_version[20.5] PASSED [ 10%] 226s tests/asgi/test_ws.py::test_bad_spec_version[3.0] PASSED [ 10%] 226s tests/asgi/test_ws.py::test_bad_spec_version[3.1] PASSED [ 10%] 226s tests/asgi/test_ws.py::test_bad_http_version[1.0] PASSED [ 10%] 226s tests/asgi/test_ws.py::test_bad_http_version[1] PASSED [ 10%] 226s tests/asgi/test_ws.py::test_bad_first_event[2.1] PASSED [ 10%] 226s tests/asgi/test_ws.py::test_bad_first_event[2.3] PASSED [ 10%] 226s tests/asgi/test_ws.py::test_bad_first_event[2.10.3] PASSED [ 10%] 226s tests/asgi/test_ws.py::test_missing_http_version PASSED [ 10%] 226s tests/asgi/test_ws.py::test_missing_spec_version PASSED [ 10%] 226s tests/asgi/test_ws.py::test_translate_webserver_error PASSED [ 10%] 226s tests/asgi/test_ws.py::test_ws_base_not_implemented PASSED [ 10%] 231s tests/asgi/test_ws.py::test_ws_context_timeout PASSED [ 10%] 231s tests/asgi/test_ws.py::test_ws_simulator_client_require_accepted PASSED [ 10%] 231s tests/asgi/test_ws.py::test_ws_simulator_collect_edge_cases PASSED [ 10%] 232s tests/asgi/test_ws.py::test_ws_responder_never_ready PASSED [ 10%] 232s tests/asgi/test_ws.py::test_msgpack_missing SKIPPED (test requires m...) [ 10%] 232s tests/asgi/test_ws.py::test_client_close_with_reason[Client closing connection] PASSED [ 10%] 232s tests/asgi/test_ws.py::test_client_close_with_reason[] PASSED [ 10%] 232s tests/asgi/test_ws.py::test_client_close_with_reason[None] PASSED [ 10%] 232s tests/asgi/test_ws.py::test_close_with_reason_no_cm[PEBCAK] PASSED [ 10%] 232s tests/asgi/test_ws.py::test_close_with_reason_no_cm[wow such reason] PASSED [ 10%] 232s tests/asgi/test_ws.py::test_close_with_reason_no_cm[] PASSED [ 10%] 232s tests/asgi/test_ws.py::test_close_with_reason_no_cm[None] PASSED [ 10%] 232s tests/asgi/test_ws.py::test_close_with_reason[2.2-PEBCAK] PASSED [ 10%] 232s tests/asgi/test_ws.py::test_close_with_reason[2.2-wow such reason] PASSED [ 10%] 232s tests/asgi/test_ws.py::test_close_with_reason[2.2-] PASSED [ 10%] 232s tests/asgi/test_ws.py::test_close_with_reason[2.2-None] PASSED [ 10%] 232s tests/asgi/test_ws.py::test_close_with_reason[2.3-PEBCAK] PASSED [ 11%] 232s tests/asgi/test_ws.py::test_close_with_reason[2.3-wow such reason] PASSED [ 11%] 232s tests/asgi/test_ws.py::test_close_with_reason[2.3-] PASSED [ 11%] 232s tests/asgi/test_ws.py::test_close_with_reason[2.3-None] PASSED [ 11%] 232s tests/asgi/test_ws.py::test_close_with_reason[2.4-PEBCAK] PASSED [ 11%] 232s tests/asgi/test_ws.py::test_close_with_reason[2.4-wow such reason] PASSED [ 11%] 232s tests/asgi/test_ws.py::test_close_with_reason[2.4-] PASSED [ 11%] 232s tests/asgi/test_ws.py::test_close_with_reason[2.4-None] PASSED [ 11%] 232s tests/asgi/test_ws.py::test_reason_mapping[None-Normal Closure-True] PASSED [ 11%] 232s tests/asgi/test_ws.py::test_reason_mapping[None-Normal Closure-False] PASSED [ 11%] 232s tests/asgi/test_ws.py::test_reason_mapping[1011-Internal Server Error-True] PASSED [ 11%] 232s tests/asgi/test_ws.py::test_reason_mapping[1011-Internal Server Error-False] PASSED [ 11%] 232s tests/asgi/test_ws.py::test_reason_mapping[3405-Method Not Allowed-True] PASSED [ 11%] 232s tests/asgi/test_ws.py::test_reason_mapping[3405-Method Not Allowed-False] PASSED [ 11%] 232s tests/asgi/test_ws.py::test_reason_mapping[3701--True] PASSED [ 11%] 232s tests/asgi/test_ws.py::test_reason_mapping[3701--False] PASSED [ 11%] 232s tests/asgi/test_ws.py::test_reason_mapping[3702-Emacs-True] PASSED [ 11%] 232s tests/asgi/test_ws.py::test_reason_mapping[3702-Emacs-False] PASSED [ 11%] 232s tests/asgi/test_ws.py::test_reason_mapping[4042--True] PASSED [ 11%] 232s tests/asgi/test_ws.py::test_reason_mapping[4042--False] PASSED [ 11%] 232s tests/asgi/test_ws.py::test_reason_mapping[4099-wow such reason-True] PASSED [ 11%] 232s tests/asgi/test_ws.py::test_reason_mapping[4099-wow such reason-False] PASSED [ 11%] 232s tests/asgi/test_ws.py::test_ws_http_error_or_status_response[True-HTTPStatus-200] PASSED [ 11%] 232s tests/asgi/test_ws.py::test_ws_http_error_or_status_response[True-HTTPStatus-500] PASSED [ 11%] 232s tests/asgi/test_ws.py::test_ws_http_error_or_status_response[True-HTTPStatus-422] PASSED [ 11%] 232s tests/asgi/test_ws.py::test_ws_http_error_or_status_response[True-HTTPStatus-400] PASSED [ 11%] 232s tests/asgi/test_ws.py::test_ws_http_error_or_status_response[True-HTTPError-200] PASSED [ 11%] 232s tests/asgi/test_ws.py::test_ws_http_error_or_status_response[True-HTTPError-500] PASSED [ 11%] 232s tests/asgi/test_ws.py::test_ws_http_error_or_status_response[True-HTTPError-422] PASSED [ 11%] 232s tests/asgi/test_ws.py::test_ws_http_error_or_status_response[True-HTTPError-400] PASSED [ 11%] 232s tests/asgi/test_ws.py::test_ws_http_error_or_status_response[False-HTTPStatus-200] PASSED [ 11%] 232s tests/asgi/test_ws.py::test_ws_http_error_or_status_response[False-HTTPStatus-500] PASSED [ 11%] 232s tests/asgi/test_ws.py::test_ws_http_error_or_status_response[False-HTTPStatus-422] PASSED [ 11%] 232s tests/asgi/test_ws.py::test_ws_http_error_or_status_response[False-HTTPStatus-400] PASSED [ 11%] 232s tests/asgi/test_ws.py::test_ws_http_error_or_status_response[False-HTTPError-200] PASSED [ 11%] 232s tests/asgi/test_ws.py::test_ws_http_error_or_status_response[False-HTTPError-500] PASSED [ 11%] 232s tests/asgi/test_ws.py::test_ws_http_error_or_status_response[False-HTTPError-422] PASSED [ 11%] 232s tests/asgi/test_ws.py::test_ws_http_error_or_status_response[False-HTTPError-400] PASSED [ 11%] 232s tests/asgi/test_ws.py::test_ws_http_error_or_status_middleware[request-HTTPStatus-200] PASSED [ 11%] 232s tests/asgi/test_ws.py::test_ws_http_error_or_status_middleware[request-HTTPStatus-500] PASSED [ 12%] 232s tests/asgi/test_ws.py::test_ws_http_error_or_status_middleware[request-HTTPStatus-422] PASSED [ 12%] 232s tests/asgi/test_ws.py::test_ws_http_error_or_status_middleware[request-HTTPStatus-400] PASSED [ 12%] 232s tests/asgi/test_ws.py::test_ws_http_error_or_status_middleware[request-HTTPError-200] PASSED [ 12%] 232s tests/asgi/test_ws.py::test_ws_http_error_or_status_middleware[request-HTTPError-500] PASSED [ 12%] 232s tests/asgi/test_ws.py::test_ws_http_error_or_status_middleware[request-HTTPError-422] PASSED [ 12%] 232s tests/asgi/test_ws.py::test_ws_http_error_or_status_middleware[request-HTTPError-400] PASSED [ 12%] 232s tests/asgi/test_ws.py::test_ws_http_error_or_status_middleware[resource-HTTPStatus-200] PASSED [ 12%] 232s tests/asgi/test_ws.py::test_ws_http_error_or_status_middleware[resource-HTTPStatus-500] PASSED [ 12%] 232s tests/asgi/test_ws.py::test_ws_http_error_or_status_middleware[resource-HTTPStatus-422] PASSED [ 12%] 232s tests/asgi/test_ws.py::test_ws_http_error_or_status_middleware[resource-HTTPStatus-400] PASSED [ 12%] 232s tests/asgi/test_ws.py::test_ws_http_error_or_status_middleware[resource-HTTPError-200] PASSED [ 12%] 232s tests/asgi/test_ws.py::test_ws_http_error_or_status_middleware[resource-HTTPError-500] PASSED [ 12%] 232s tests/asgi/test_ws.py::test_ws_http_error_or_status_middleware[resource-HTTPError-422] PASSED [ 12%] 232s tests/asgi/test_ws.py::test_ws_http_error_or_status_middleware[resource-HTTPError-400] PASSED [ 12%] 232s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-request-HTTPStatus-200] PASSED [ 12%] 232s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-request-HTTPStatus-500] PASSED [ 12%] 232s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-request-HTTPStatus-422] PASSED [ 12%] 232s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-request-HTTPStatus-400] PASSED [ 12%] 232s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-request-HTTPError-200] PASSED [ 12%] 232s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-request-HTTPError-500] PASSED [ 12%] 232s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-request-HTTPError-422] PASSED [ 12%] 232s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-request-HTTPError-400] PASSED [ 12%] 232s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-resource-HTTPStatus-200] PASSED [ 12%] 232s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-resource-HTTPStatus-500] PASSED [ 12%] 232s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-resource-HTTPStatus-422] PASSED [ 12%] 232s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-resource-HTTPStatus-400] PASSED [ 12%] 232s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-resource-HTTPError-200] PASSED [ 12%] 232s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-resource-HTTPError-500] PASSED [ 12%] 232s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-resource-HTTPError-422] PASSED [ 12%] 232s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-resource-HTTPError-400] PASSED [ 12%] 232s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-ws_before_accept-HTTPStatus-200] PASSED [ 12%] 232s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-ws_before_accept-HTTPStatus-500] PASSED [ 12%] 232s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-ws_before_accept-HTTPStatus-422] PASSED [ 12%] 232s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-ws_before_accept-HTTPStatus-400] PASSED [ 12%] 232s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-ws_before_accept-HTTPError-200] PASSED [ 12%] 232s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-ws_before_accept-HTTPError-500] PASSED [ 12%] 232s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-ws_before_accept-HTTPError-422] PASSED [ 12%] 232s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-ws_before_accept-HTTPError-400] PASSED [ 12%] 232s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-ws_after_accept-HTTPStatus-200] PASSED [ 13%] 232s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-ws_after_accept-HTTPStatus-500] PASSED [ 13%] 232s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-ws_after_accept-HTTPStatus-422] PASSED [ 13%] 232s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-ws_after_accept-HTTPStatus-400] PASSED [ 13%] 232s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-ws_after_accept-HTTPError-200] PASSED [ 13%] 232s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-ws_after_accept-HTTPError-500] PASSED [ 13%] 232s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-ws_after_accept-HTTPError-422] PASSED [ 13%] 232s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-ws_after_accept-HTTPError-400] PASSED [ 13%] 232s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-request-HTTPStatus-200] PASSED [ 13%] 232s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-request-HTTPStatus-500] PASSED [ 13%] 232s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-request-HTTPStatus-422] PASSED [ 13%] 232s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-request-HTTPStatus-400] PASSED [ 13%] 232s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-request-HTTPError-200] PASSED [ 13%] 232s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-request-HTTPError-500] PASSED [ 13%] 232s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-request-HTTPError-422] PASSED [ 13%] 232s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-request-HTTPError-400] PASSED [ 13%] 232s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-resource-HTTPStatus-200] PASSED [ 13%] 232s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-resource-HTTPStatus-500] PASSED [ 13%] 232s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-resource-HTTPStatus-422] PASSED [ 13%] 232s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-resource-HTTPStatus-400] PASSED [ 13%] 232s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-resource-HTTPError-200] PASSED [ 13%] 232s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-resource-HTTPError-500] PASSED [ 13%] 232s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-resource-HTTPError-422] PASSED [ 13%] 232s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-resource-HTTPError-400] PASSED [ 13%] 232s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-ws_before_accept-HTTPStatus-200] PASSED [ 13%] 232s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-ws_before_accept-HTTPStatus-500] PASSED [ 13%] 232s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-ws_before_accept-HTTPStatus-422] PASSED [ 13%] 232s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-ws_before_accept-HTTPStatus-400] PASSED [ 13%] 232s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-ws_before_accept-HTTPError-200] PASSED [ 13%] 232s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-ws_before_accept-HTTPError-500] PASSED [ 13%] 232s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-ws_before_accept-HTTPError-422] PASSED [ 13%] 232s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-ws_before_accept-HTTPError-400] PASSED [ 13%] 232s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-ws_after_accept-HTTPStatus-200] PASSED [ 13%] 232s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-ws_after_accept-HTTPStatus-500] PASSED [ 13%] 232s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-ws_after_accept-HTTPStatus-422] PASSED [ 13%] 232s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-ws_after_accept-HTTPStatus-400] PASSED [ 13%] 232s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-ws_after_accept-HTTPError-200] PASSED [ 13%] 232s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-ws_after_accept-HTTPError-500] PASSED [ 13%] 232s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-ws_after_accept-HTTPError-422] PASSED [ 13%] 232s tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-ws_after_accept-HTTPError-400] PASSED [ 13%] 232s tests/asgi/test_ws.py::test_max_receive_queue_sizes[0] PASSED [ 14%] 232s tests/asgi/test_ws.py::test_max_receive_queue_sizes[1] PASSED [ 14%] 232s tests/asgi/test_ws.py::test_max_receive_queue_sizes[4] PASSED [ 14%] 232s tests/asgi/test_ws.py::test_max_receive_queue_sizes[7] PASSED [ 14%] 232s tests/asgi/test_ws.py::test_max_receive_queue_sizes[17] PASSED [ 14%] 232s tests/test_after_hooks.py::test_output_validator[asgi] PASSED [ 14%] 232s tests/test_after_hooks.py::test_output_validator[wsgi] PASSED [ 14%] 232s tests/test_after_hooks.py::test_serializer[asgi] PASSED [ 14%] 232s tests/test_after_hooks.py::test_serializer[wsgi] PASSED [ 14%] 232s tests/test_after_hooks.py::test_hook_as_callable_class[asgi] PASSED [ 14%] 232s tests/test_after_hooks.py::test_hook_as_callable_class[wsgi] PASSED [ 14%] 232s tests/test_after_hooks.py::test_resource_with_uri_fields[asgi-resource0] PASSED [ 14%] 232s tests/test_after_hooks.py::test_resource_with_uri_fields[asgi-resource1] PASSED [ 14%] 232s tests/test_after_hooks.py::test_resource_with_uri_fields[wsgi-resource0] PASSED [ 14%] 232s tests/test_after_hooks.py::test_resource_with_uri_fields[wsgi-resource1] PASSED [ 14%] 232s tests/test_after_hooks.py::test_resource_with_uri_fields_async PASSED [ 14%] 232s tests/test_after_hooks.py::test_wrapped_resource[asgi-resource0] PASSED [ 14%] 232s tests/test_after_hooks.py::test_wrapped_resource[asgi-resource1] PASSED [ 14%] 232s tests/test_after_hooks.py::test_wrapped_resource[wsgi-resource0] PASSED [ 14%] 232s tests/test_after_hooks.py::test_wrapped_resource[wsgi-resource1] PASSED [ 14%] 232s tests/test_after_hooks.py::test_wrapped_resource_with_hooks_aware_of_resource[asgi] PASSED [ 14%] 232s tests/test_after_hooks.py::test_wrapped_resource_with_hooks_aware_of_resource[wsgi] PASSED [ 14%] 232s tests/test_after_hooks.py::test_after_hooks_on_suffixed_resource[paper-/once-paper, rock, scissors] PASSED [ 14%] 232s tests/test_after_hooks.py::test_after_hooks_on_suffixed_resource[scissors-/twice-scissors, paper, rock, scissors] PASSED [ 14%] 232s tests/test_after_hooks.py::test_after_hooks_on_suffixed_resource[rock-/thrice-rock, scissors, paper, rock, scissors] PASSED [ 14%] 232s tests/test_after_hooks.py::test_after_hooks_on_suffixed_resource[paper-/thrice-paper, rock, scissors, paper, rock] PASSED [ 14%] 232s tests/test_alias.py::test_cookies PASSED [ 14%] 232s tests/test_alias.py::test_alias_equals_to_app PASSED [ 14%] 232s tests/test_app_initializers.py::test_api_media_type_overriding[App] PASSED [ 14%] 232s tests/test_app_initializers.py::test_api_media_type_overriding[API] PASSED [ 14%] 232s tests/test_before_hooks.py::test_multiple_resource_hooks[asgi-resource0] PASSED [ 14%] 232s tests/test_before_hooks.py::test_multiple_resource_hooks[asgi-resource1] PASSED [ 14%] 232s tests/test_before_hooks.py::test_multiple_resource_hooks[wsgi-resource0] PASSED [ 14%] 232s tests/test_before_hooks.py::test_multiple_resource_hooks[wsgi-resource1] PASSED [ 14%] 232s tests/test_before_hooks.py::test_input_validator[asgi] PASSED [ 14%] 232s tests/test_before_hooks.py::test_input_validator[wsgi] PASSED [ 14%] 232s tests/test_before_hooks.py::test_input_validator_inherited[asgi] PASSED [ 14%] 232s tests/test_before_hooks.py::test_input_validator_inherited[wsgi] PASSED [ 14%] 232s tests/test_before_hooks.py::test_param_validator[asgi] PASSED [ 14%] 232s tests/test_before_hooks.py::test_param_validator[wsgi] PASSED [ 15%] 232s tests/test_before_hooks.py::test_field_validator[asgi-resource0] PASSED [ 15%] 232s tests/test_before_hooks.py::test_field_validator[asgi-resource1] PASSED [ 15%] 232s tests/test_before_hooks.py::test_field_validator[asgi-resource2] PASSED [ 15%] 232s tests/test_before_hooks.py::test_field_validator[wsgi-resource0] PASSED [ 15%] 232s tests/test_before_hooks.py::test_field_validator[wsgi-resource1] PASSED [ 15%] 232s tests/test_before_hooks.py::test_field_validator[wsgi-resource2] PASSED [ 15%] 232s tests/test_before_hooks.py::test_parser_sync[{"animal": "falcon"}-doc0] PASSED [ 15%] 232s tests/test_before_hooks.py::test_parser_sync[{}-doc1] PASSED [ 15%] 232s tests/test_before_hooks.py::test_parser_sync[-None] PASSED [ 15%] 232s tests/test_before_hooks.py::test_parser_sync[None-None] PASSED [ 15%] 232s tests/test_before_hooks.py::test_parser_async[{"animal": "falcon"}-doc0] PASSED [ 15%] 232s tests/test_before_hooks.py::test_parser_async[{}-doc1] PASSED [ 15%] 232s tests/test_before_hooks.py::test_parser_async[-None] PASSED [ 15%] 232s tests/test_before_hooks.py::test_parser_async[None-None] PASSED [ 15%] 232s tests/test_before_hooks.py::test_wrapped_resource[asgi] PASSED [ 15%] 232s tests/test_before_hooks.py::test_wrapped_resource[wsgi] PASSED [ 15%] 232s tests/test_before_hooks.py::test_wrapped_resource_with_hooks_aware_of_resource[asgi] PASSED [ 15%] 232s tests/test_before_hooks.py::test_wrapped_resource_with_hooks_aware_of_resource[wsgi] PASSED [ 15%] 232s tests/test_before_hooks.py::test_piggybacking_resource_post_item[asgi] PASSED [ 15%] 232s tests/test_before_hooks.py::test_piggybacking_resource_post_item[wsgi] PASSED [ 15%] 232s tests/test_before_hooks.py::test_piggybacking_resource_post_and_delete[asgi] PASSED [ 15%] 232s tests/test_before_hooks.py::test_piggybacking_resource_post_and_delete[wsgi] PASSED [ 15%] 232s tests/test_before_hooks.py::test_decorable_name_pattern PASSED [ 15%] 232s tests/test_boundedstream.py::test_not_writable PASSED [ 15%] 232s tests/test_boundedstream.py::test_exhausted PASSED [ 15%] 232s tests/test_buffered_reader.py::test_peek PASSED [ 15%] 232s tests/test_buffered_reader.py::test_peek_eof PASSED [ 15%] 232s tests/test_buffered_reader.py::test_bounded_read PASSED [ 15%] 232s tests/test_buffered_reader.py::test_read_from_buffer[0] PASSED [ 15%] 232s tests/test_buffered_reader.py::test_read_from_buffer[1] PASSED [ 15%] 232s tests/test_buffered_reader.py::test_read_from_buffer[2] PASSED [ 15%] 232s tests/test_buffered_reader.py::test_read_from_buffer[7] PASSED [ 15%] 232s tests/test_buffered_reader.py::test_read_from_buffer[62] PASSED [ 15%] 232s tests/test_buffered_reader.py::test_read_from_buffer[63] PASSED [ 15%] 232s tests/test_buffered_reader.py::test_read_from_buffer[64] PASSED [ 15%] 232s tests/test_buffered_reader.py::test_read_from_buffer[65] PASSED [ 15%] 232s tests/test_buffered_reader.py::test_read_from_buffer[126] PASSED [ 15%] 232s tests/test_buffered_reader.py::test_read_from_buffer[127] PASSED [ 15%] 232s tests/test_buffered_reader.py::test_read_from_buffer[128] PASSED [ 16%] 232s tests/test_buffered_reader.py::test_read_from_buffer[129] PASSED [ 16%] 232s tests/test_buffered_reader.py::test_read_from_buffer[1000] PASSED [ 16%] 232s tests/test_buffered_reader.py::test_read_from_buffer[10000] PASSED [ 16%] 232s tests/test_buffered_reader.py::test_read_until_delimiter_size_check PASSED [ 16%] 232s tests/test_buffered_reader.py::test_read_until_with_size[0] PASSED [ 16%] 232s tests/test_buffered_reader.py::test_read_until_with_size[1] PASSED [ 16%] 232s tests/test_buffered_reader.py::test_read_until_with_size[2] PASSED [ 16%] 232s tests/test_buffered_reader.py::test_read_until_with_size[7] PASSED [ 16%] 232s tests/test_buffered_reader.py::test_read_until_with_size[62] PASSED [ 16%] 232s tests/test_buffered_reader.py::test_read_until_with_size[63] PASSED [ 16%] 232s tests/test_buffered_reader.py::test_read_until_with_size[64] PASSED [ 16%] 232s tests/test_buffered_reader.py::test_read_until_with_size[65] PASSED [ 16%] 232s tests/test_buffered_reader.py::test_read_until_with_size[126] PASSED [ 16%] 232s tests/test_buffered_reader.py::test_read_until_with_size[127] PASSED [ 16%] 232s tests/test_buffered_reader.py::test_read_until_with_size[128] PASSED [ 16%] 232s tests/test_buffered_reader.py::test_read_until_with_size[129] PASSED [ 16%] 232s tests/test_buffered_reader.py::test_read_until_with_size[1000] PASSED [ 16%] 232s tests/test_buffered_reader.py::test_read_until_with_size[10000] PASSED [ 16%] 232s tests/test_buffered_reader.py::test_read_until PASSED [ 16%] 232s tests/test_buffered_reader.py::test_irregular_large_read_until[11003077-22000721] PASSED [ 16%] 233s tests/test_buffered_reader.py::test_irregular_large_read_until[13372477-51637898] PASSED [ 16%] 233s tests/test_buffered_reader.py::test_read_until_from_buffer[0] PASSED [ 16%] 233s tests/test_buffered_reader.py::test_read_until_from_buffer[1] PASSED [ 16%] 233s tests/test_buffered_reader.py::test_read_until_from_buffer[2] PASSED [ 16%] 233s tests/test_buffered_reader.py::test_read_until_from_buffer[7] PASSED [ 16%] 233s tests/test_buffered_reader.py::test_read_until_from_buffer[62] PASSED [ 16%] 233s tests/test_buffered_reader.py::test_read_until_from_buffer[63] PASSED [ 16%] 233s tests/test_buffered_reader.py::test_read_until_from_buffer[64] PASSED [ 16%] 233s tests/test_buffered_reader.py::test_read_until_from_buffer[65] PASSED [ 16%] 233s tests/test_buffered_reader.py::test_read_until_from_buffer[126] PASSED [ 16%] 233s tests/test_buffered_reader.py::test_read_until_from_buffer[127] PASSED [ 16%] 233s tests/test_buffered_reader.py::test_read_until_from_buffer[128] PASSED [ 16%] 233s tests/test_buffered_reader.py::test_read_until_from_buffer[129] PASSED [ 16%] 233s tests/test_buffered_reader.py::test_read_until_from_buffer[1000] PASSED [ 16%] 233s tests/test_buffered_reader.py::test_read_until_missing_delimiter PASSED [ 16%] 233s tests/test_buffered_reader.py::test_consume_delimiter PASSED [ 16%] 233s tests/test_buffered_reader.py::test_read_until_shared_boundary[46] PASSED [ 16%] 233s tests/test_buffered_reader.py::test_read_until_shared_boundary[47] PASSED [ 16%] 233s tests/test_buffered_reader.py::test_read_until_shared_boundary[48] PASSED [ 17%] 233s tests/test_buffered_reader.py::test_read_until_shared_boundary[49] PASSED [ 17%] 233s tests/test_buffered_reader.py::test_read_until_shared_boundary[50] PASSED [ 17%] 233s tests/test_buffered_reader.py::test_read_until_shared_boundary[51] PASSED [ 17%] 233s tests/test_buffered_reader.py::test_read_until_shared_boundary[52] PASSED [ 17%] 233s tests/test_buffered_reader.py::test_read_until_shared_boundary[53] PASSED [ 17%] 233s tests/test_buffered_reader.py::test_read_until_shared_boundary[54] PASSED [ 17%] 233s tests/test_buffered_reader.py::test_read_until_shared_boundary[55] PASSED [ 17%] 233s tests/test_buffered_reader.py::test_read_until_shared_boundary[56] PASSED [ 17%] 233s tests/test_buffered_reader.py::test_read_until_shared_boundary[57] PASSED [ 17%] 233s tests/test_buffered_reader.py::test_read_until_shared_boundary[58] PASSED [ 17%] 233s tests/test_buffered_reader.py::test_read_until_shared_boundary[59] PASSED [ 17%] 233s tests/test_buffered_reader.py::test_read_until_shared_boundary[60] PASSED [ 17%] 233s tests/test_buffered_reader.py::test_read_until_shared_boundary[61] PASSED [ 17%] 233s tests/test_buffered_reader.py::test_read_until_shared_boundary[62] PASSED [ 17%] 233s tests/test_buffered_reader.py::test_pipe PASSED [ 17%] 233s tests/test_buffered_reader.py::test_pipe_until PASSED [ 17%] 233s tests/test_buffered_reader.py::test_pipe_until_without_destination PASSED [ 17%] 233s tests/test_buffered_reader.py::test_exhaust PASSED [ 17%] 233s tests/test_buffered_reader.py::test_readline PASSED [ 17%] 233s tests/test_buffered_reader.py::test_readline_with_size PASSED [ 17%] 233s tests/test_buffered_reader.py::test_readlines PASSED [ 17%] 233s tests/test_buffered_reader.py::test_readlines_hint[8] PASSED [ 17%] 233s tests/test_buffered_reader.py::test_readlines_hint[16] PASSED [ 17%] 233s tests/test_buffered_reader.py::test_readlines_hint[256] PASSED [ 17%] 233s tests/test_buffered_reader.py::test_readlines_hint[1024] PASSED [ 17%] 233s tests/test_buffered_reader.py::test_readlines_hint[65536] PASSED [ 17%] 233s tests/test_buffered_reader.py::test_duck_compatibility_with_io_base PASSED [ 17%] 233s tests/test_buffered_reader.py::test_fragmented_reads PASSED [ 17%] 233s tests/test_cmd_inspect_app.py::TestMakeParser::test_make_parser[args0-exp0] PASSED [ 17%] 233s tests/test_cmd_inspect_app.py::TestMakeParser::test_make_parser[args1-exp1] PASSED [ 17%] 233s tests/test_cmd_inspect_app.py::TestMakeParser::test_make_parser[args2-exp2] PASSED [ 17%] 233s tests/test_cmd_inspect_app.py::TestMakeParser::test_make_parser[args3-exp3] PASSED [ 17%] 233s tests/test_cmd_inspect_app.py::TestMakeParser::test_make_parser[args4-exp4] PASSED [ 17%] 233s tests/test_cmd_inspect_app.py::TestMakeParser::test_make_parser[args5-exp5] PASSED [ 17%] 233s tests/test_cmd_inspect_app.py::TestMakeParser::test_make_parser[args6-exp6] PASSED [ 17%] 233s tests/test_cmd_inspect_app.py::TestMakeParser::test_make_parser[args7-exp7] PASSED [ 17%] 233s tests/test_cmd_inspect_app.py::TestMakeParser::test_make_parser_error PASSED [ 17%] 233s tests/test_cmd_inspect_app.py::TestLoadApp::test_load_app[_APP] PASSED [ 17%] 233s tests/test_cmd_inspect_app.py::TestLoadApp::test_load_app[make_app] PASSED [ 18%] 233s tests/test_cmd_inspect_app.py::TestLoadApp::test_load_app_error[foo] PASSED [ 18%] 233s tests/test_cmd_inspect_app.py::TestLoadApp::test_load_app_error[_MODULE] PASSED [ 18%] 233s tests/test_cmd_inspect_app.py::TestLoadApp::test_load_app_error[DummyResource] PASSED [ 18%] 233s tests/test_cmd_inspect_app.py::TestLoadApp::test_load_app_module_error PASSED [ 18%] 233s tests/test_cmd_inspect_app.py::TestMain::test_routes_only[internal-verbose] PASSED [ 18%] 233s tests/test_cmd_inspect_app.py::TestMain::test_routes_only[internal-not-verbose] PASSED [ 18%] 233s tests/test_cmd_inspect_app.py::TestMain::test_routes_only[not-internal-verbose] PASSED [ 18%] 233s tests/test_cmd_inspect_app.py::TestMain::test_routes_only[not-internal-not-verbose] PASSED [ 18%] 233s tests/test_cmd_inspect_app.py::TestMain::test_inspect[internal-verbose] PASSED [ 18%] 233s tests/test_cmd_inspect_app.py::TestMain::test_inspect[internal-not-verbose] PASSED [ 18%] 233s tests/test_cmd_inspect_app.py::TestMain::test_inspect[not-internal-verbose] PASSED [ 18%] 233s tests/test_cmd_inspect_app.py::TestMain::test_inspect[not-internal-not-verbose] PASSED [ 18%] 233s tests/test_cmd_inspect_app.py::test_route_main PASSED [ 18%] 233s tests/test_compiled_router.py::test_find_src PASSED [ 18%] 233s tests/test_compiled_router.py::test_no_compile_kw[kwargs0] PASSED [ 18%] 233s tests/test_compiled_router.py::test_no_compile_kw[kwargs1] PASSED [ 18%] 233s tests/test_compiled_router.py::test_no_compile_kw[kwargs2] PASSED [ 18%] 233s tests/test_compiled_router.py::test_no_compile_kw[kwargs3] PASSED [ 18%] 233s tests/test_compiled_router.py::test_compile PASSED [ 18%] 233s tests/test_compiled_router.py::test_add_route_after_first_request PASSED [ 18%] 233s tests/test_compiled_router.py::test_multithread_compile PASSED [ 18%] 233s tests/test_compiled_router.py::test_cannot_replace_compiled PASSED [ 18%] 233s tests/test_compiled_router.py::test_converter_not_subclass PASSED [ 18%] 233s tests/test_compiled_router.py::test_base_classes PASSED [ 18%] 233s tests/test_cookies.py::test_response_base_case[asgi] PASSED [ 18%] 233s tests/test_cookies.py::test_response_base_case[wsgi] PASSED [ 18%] 233s tests/test_cookies.py::test_response_disable_secure_globally[asgi] PASSED [ 18%] 233s tests/test_cookies.py::test_response_disable_secure_globally[wsgi] PASSED [ 18%] 233s tests/test_cookies.py::test_response_complex_case[asgi] PASSED [ 18%] 233s tests/test_cookies.py::test_response_complex_case[wsgi] PASSED [ 18%] 233s tests/test_cookies.py::test_unset_cookies[asgi] PASSED [ 18%] 233s tests/test_cookies.py::test_unset_cookies[wsgi] PASSED [ 18%] 233s tests/test_cookies.py::test_unset_cookies_samesite[asgi] PASSED [ 18%] 233s tests/test_cookies.py::test_unset_cookies_samesite[wsgi] PASSED [ 18%] 233s tests/test_cookies.py::test_cookie_expires_naive[asgi] PASSED [ 18%] 233s tests/test_cookies.py::test_cookie_expires_naive[wsgi] PASSED [ 18%] 233s tests/test_cookies.py::test_cookie_expires_aware[asgi] PASSED [ 18%] 233s tests/test_cookies.py::test_cookie_expires_aware[wsgi] PASSED [ 18%] 233s tests/test_cookies.py::test_cookies_setable PASSED [ 19%] 233s tests/test_cookies.py::test_cookie_max_age_float_and_string[asgi-foofloat] PASSED [ 19%] 233s tests/test_cookies.py::test_cookie_max_age_float_and_string[asgi-foostring] PASSED [ 19%] 233s tests/test_cookies.py::test_cookie_max_age_float_and_string[wsgi-foofloat] PASSED [ 19%] 233s tests/test_cookies.py::test_cookie_max_age_float_and_string[wsgi-foostring] PASSED [ 19%] 233s tests/test_cookies.py::test_response_unset_cookie PASSED [ 19%] 233s tests/test_cookies.py::test_request_cookie_parsing PASSED [ 19%] 233s tests/test_cookies.py::test_invalid_cookies_are_ignored PASSED [ 19%] 233s tests/test_cookies.py::test_duplicate_cookie PASSED [ 19%] 233s tests/test_cookies.py::test_cookie_header_is_missing PASSED [ 19%] 233s tests/test_cookies.py::test_unicode_inside_ascii_range PASSED [ 19%] 233s tests/test_cookies.py::test_non_ascii_name[Unicode_\xc3\xa6\xc3\xb8] PASSED [ 19%] 233s tests/test_cookies.py::test_non_ascii_name[Unicode_\xc3\x83\xc2\xa6\xc3\x83\xc2\xb8] PASSED [ 19%] 233s tests/test_cookies.py::test_non_ascii_name[42] PASSED [ 19%] 233s tests/test_cookies.py::test_non_ascii_value[Unicode_\xc3\xa6\xc3\xb8] PASSED [ 19%] 233s tests/test_cookies.py::test_non_ascii_value[Unicode_\xc3\x83\xc2\xa6\xc3\x83\xc2\xb8] PASSED [ 19%] 233s tests/test_cookies.py::test_non_ascii_value[42] PASSED [ 19%] 233s tests/test_cookies.py::test_lax_same_site_value[asgi] PASSED [ 19%] 233s tests/test_cookies.py::test_lax_same_site_value[wsgi] PASSED [ 19%] 233s tests/test_cookies.py::test_strict_same_site_value[asgi] PASSED [ 19%] 233s tests/test_cookies.py::test_strict_same_site_value[wsgi] PASSED [ 19%] 233s tests/test_cookies.py::test_none_same_site_value[asgi] PASSED [ 19%] 233s tests/test_cookies.py::test_none_same_site_value[wsgi] PASSED [ 19%] 233s tests/test_cookies.py::test_same_site_empty_string[asgi] PASSED [ 19%] 233s tests/test_cookies.py::test_same_site_empty_string[wsgi] PASSED [ 19%] 233s tests/test_cookies.py::test_same_site_value_case_insensitive[laX] PASSED [ 19%] 233s tests/test_cookies.py::test_same_site_value_case_insensitive[lax] PASSED [ 19%] 233s tests/test_cookies.py::test_same_site_value_case_insensitive[STRICT] PASSED [ 19%] 233s tests/test_cookies.py::test_same_site_value_case_insensitive[strict] PASSED [ 19%] 233s tests/test_cookies.py::test_same_site_value_case_insensitive[None] PASSED [ 19%] 233s tests/test_cookies.py::test_same_site_value_case_insensitive[none] PASSED [ 19%] 233s tests/test_cookies.py::test_invalid_same_site_value[bogus] PASSED [ 19%] 233s tests/test_cookies.py::test_invalid_same_site_value[laxx] PASSED [ 19%] 233s tests/test_cookies.py::test_invalid_same_site_value[stric] PASSED [ 19%] 233s tests/test_cookies.py::test_partitioned_value[asgi] PASSED [ 19%] 233s tests/test_cookies.py::test_partitioned_value[wsgi] PASSED [ 19%] 233s tests/test_cors_middleware.py::TestCorsMiddleware::test_disabled_cors_should_not_add_any_extra_headers[asgi] PASSED [ 19%] 233s tests/test_cors_middleware.py::TestCorsMiddleware::test_disabled_cors_should_not_add_any_extra_headers[wsgi] PASSED [ 19%] 233s tests/test_cors_middleware.py::TestCorsMiddleware::test_enabled_cors_no_origin[asgi] PASSED [ 19%] 233s tests/test_cors_middleware.py::TestCorsMiddleware::test_enabled_cors_no_origin[wsgi] PASSED [ 20%] 233s tests/test_cors_middleware.py::TestCorsMiddleware::test_enabled_cors_should_add_extra_headers_on_response[asgi] PASSED [ 20%] 233s tests/test_cors_middleware.py::TestCorsMiddleware::test_enabled_cors_should_add_extra_headers_on_response[wsgi] PASSED [ 20%] 233s tests/test_cors_middleware.py::TestCorsMiddleware::test_enabled_cors_should_accept_all_origins_requests[asgi] PASSED [ 20%] 233s tests/test_cors_middleware.py::TestCorsMiddleware::test_enabled_cors_should_accept_all_origins_requests[wsgi] PASSED [ 20%] 233s tests/test_cors_middleware.py::TestCorsMiddleware::test_enabled_cors_handles_preflighting[asgi] PASSED [ 20%] 233s tests/test_cors_middleware.py::TestCorsMiddleware::test_enabled_cors_handles_preflighting[wsgi] PASSED [ 20%] 233s tests/test_cors_middleware.py::TestCorsMiddleware::test_enabled_cors_handles_preflight_custom_option[asgi] PASSED [ 20%] 233s tests/test_cors_middleware.py::TestCorsMiddleware::test_enabled_cors_handles_preflight_custom_option[wsgi] PASSED [ 20%] 233s tests/test_cors_middleware.py::TestCorsMiddleware::test_enabled_cors_handles_preflighting_no_headers_in_req[asgi] PASSED [ 20%] 233s tests/test_cors_middleware.py::TestCorsMiddleware::test_enabled_cors_handles_preflighting_no_headers_in_req[wsgi] PASSED [ 20%] 233s tests/test_cors_middleware.py::TestCorsMiddleware::test_enabled_cors_static_route[asgi] PASSED [ 20%] 233s tests/test_cors_middleware.py::TestCorsMiddleware::test_enabled_cors_static_route[wsgi] PASSED [ 20%] 233s tests/test_cors_middleware.py::TestCorsMiddleware::test_enabled_cors_sink_route[asgi-True] PASSED [ 20%] 233s tests/test_cors_middleware.py::TestCorsMiddleware::test_enabled_cors_sink_route[asgi-False] PASSED [ 20%] 233s tests/test_cors_middleware.py::TestCorsMiddleware::test_enabled_cors_sink_route[wsgi-True] PASSED [ 20%] 233s tests/test_cors_middleware.py::TestCorsMiddleware::test_enabled_cors_sink_route[wsgi-False] PASSED [ 20%] 233s tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_raises PASSED [ 20%] 233s tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_allow_origin[asgi-*-fail_origins0-success_origins0] PASSED [ 20%] 233s tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_allow_origin[asgi-test-fail_origins1-success_origins1] PASSED [ 20%] 233s tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_allow_origin[asgi-allow2-fail_origins2-success_origins2] PASSED [ 20%] 233s tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_allow_origin[wsgi-*-fail_origins0-success_origins0] PASSED [ 20%] 233s tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_allow_origin[wsgi-test-fail_origins1-success_origins1] PASSED [ 20%] 233s tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_allow_origin[wsgi-allow2-fail_origins2-success_origins2] PASSED [ 20%] 233s tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_allow_credential_wildcard[asgi] PASSED [ 20%] 233s tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_allow_credential_wildcard[wsgi] PASSED [ 20%] 233s tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_allow_credential_list_or_str[asgi-allow0-successOrigin0] PASSED [ 20%] 233s tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_allow_credential_list_or_str[asgi-foo-successOrigin1] PASSED [ 20%] 233s tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_allow_credential_list_or_str[wsgi-allow0-successOrigin0] PASSED [ 20%] 233s tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_allow_credential_list_or_str[wsgi-foo-successOrigin1] PASSED [ 20%] 233s tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_allow_credential_existing_origin[asgi] PASSED [ 20%] 233s tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_allow_credential_existing_origin[wsgi] PASSED [ 20%] 233s tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_allow_origin_allow_credential[asgi] PASSED [ 20%] 233s tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_allow_origin_allow_credential[wsgi] PASSED [ 20%] 233s tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_expose_headers[asgi-foo-foo] PASSED [ 20%] 233s tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_expose_headers[asgi-foo, bar-foo, bar] PASSED [ 20%] 233s tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_expose_headers[asgi-attr2-foo, bar] PASSED [ 20%] 233s tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_expose_headers[wsgi-foo-foo] PASSED [ 20%] 233s tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_expose_headers[wsgi-foo, bar-foo, bar] PASSED [ 20%] 233s tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_expose_headers[wsgi-attr2-foo, bar] PASSED [ 20%] 233s tests/test_custom_router.py::test_custom_router_add_route_should_be_used[asgi] PASSED [ 21%] 233s tests/test_custom_router.py::test_custom_router_add_route_should_be_used[wsgi] PASSED [ 21%] 233s tests/test_custom_router.py::test_custom_router_find_should_be_used[asgi] PASSED [ 21%] 233s tests/test_custom_router.py::test_custom_router_find_should_be_used[wsgi] PASSED [ 21%] 233s tests/test_custom_router.py::test_can_pass_additional_params_to_add_route[asgi] PASSED [ 21%] 233s tests/test_custom_router.py::test_can_pass_additional_params_to_add_route[wsgi] PASSED [ 21%] 233s tests/test_custom_router.py::test_custom_router_takes_req_positional_argument[asgi] PASSED [ 21%] 233s tests/test_custom_router.py::test_custom_router_takes_req_positional_argument[wsgi] PASSED [ 21%] 233s tests/test_custom_router.py::test_custom_router_takes_req_keyword_argument[asgi] PASSED [ 21%] 233s tests/test_custom_router.py::test_custom_router_takes_req_keyword_argument[wsgi] PASSED [ 21%] 233s tests/test_default_router.py::test_user_regression_versioned_url PASSED [ 21%] 233s tests/test_default_router.py::test_user_regression_recipes PASSED [ 21%] 233s tests/test_default_router.py::test_user_regression_special_chars[/serviceRoot/People|{field}-/serviceRoot/People|susie-expected_params0] PASSED [ 21%] 233s tests/test_default_router.py::test_user_regression_special_chars[/serviceRoot/People[{field}]-/serviceRoot/People['calvin']-expected_params1] PASSED [ 21%] 233s tests/test_default_router.py::test_user_regression_special_chars[/serviceRoot/People({field})-/serviceRoot/People('hobbes')-expected_params2] PASSED [ 21%] 233s tests/test_default_router.py::test_user_regression_special_chars[/serviceRoot/People({field})-/serviceRoot/People('hob)bes')-expected_params3] PASSED [ 21%] 233s tests/test_default_router.py::test_user_regression_special_chars[/serviceRoot/People({field})(z)-/serviceRoot/People(hobbes)(z)-expected_params4] PASSED [ 21%] 233s tests/test_default_router.py::test_user_regression_special_chars[/serviceRoot/People('{field}')-/serviceRoot/People('rosalyn')-expected_params5] PASSED [ 21%] 233s tests/test_default_router.py::test_user_regression_special_chars[/^{field}-/^42-expected_params6] PASSED [ 21%] 233s tests/test_default_router.py::test_user_regression_special_chars[/+{field}-/+42-expected_params7] PASSED [ 21%] 233s tests/test_default_router.py::test_user_regression_special_chars[/foo/{first}_{second}/bar-/foo/abc_def_ghijk/bar-expected_params8] PASSED [ 21%] 233s tests/test_default_router.py::test_user_regression_special_chars[/items/{x}?{y}-/items/1080?768-expected_params9] PASSED [ 21%] 233s tests/test_default_router.py::test_user_regression_special_chars[/items/{x}|{y}-/items/1080|768-expected_params10] PASSED [ 21%] 233s tests/test_default_router.py::test_user_regression_special_chars[/items/{x},{y}-/items/1080,768-expected_params11] PASSED [ 21%] 233s tests/test_default_router.py::test_user_regression_special_chars[/items/{x}^^{y}-/items/1080^^768-expected_params12] PASSED [ 21%] 233s tests/test_default_router.py::test_user_regression_special_chars[/items/{x}*{y}*-/items/1080*768*-expected_params13] PASSED [ 21%] 233s tests/test_default_router.py::test_user_regression_special_chars[/thing-2/something+{field}+-/thing-2/something+42+-expected_params14] PASSED [ 21%] 233s tests/test_default_router.py::test_user_regression_special_chars[/thing-2/something*{field}/notes-/thing-2/something*42/notes-expected_params15] PASSED [ 21%] 233s 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%] 233s tests/test_default_router.py::test_user_regression_special_chars[serviceRoot/$metadata#Airports('{field}')/Name-serviceRoot/$metadata#Airports('KSFO')/Name-expected_params17] PASSED [ 21%] 233s tests/test_default_router.py::test_not_str[asgi-uri_template0] PASSED [ 21%] 233s tests/test_default_router.py::test_not_str[asgi-uri_template1] PASSED [ 21%] 233s tests/test_default_router.py::test_not_str[asgi-uri_template2] PASSED [ 21%] 233s tests/test_default_router.py::test_not_str[wsgi-uri_template0] PASSED [ 21%] 233s tests/test_default_router.py::test_not_str[wsgi-uri_template1] PASSED [ 21%] 233s tests/test_default_router.py::test_not_str[wsgi-uri_template2] PASSED [ 21%] 233s tests/test_default_router.py::test_root_path PASSED [ 21%] 233s tests/test_default_router.py::test_duplicate_field_names[/{field}{field}] PASSED [ 21%] 233s tests/test_default_router.py::test_duplicate_field_names[/{field}...{field}] PASSED [ 21%] 233s tests/test_default_router.py::test_duplicate_field_names[/{field}/{another}/{field}] PASSED [ 22%] 233s tests/test_default_router.py::test_duplicate_field_names[/{field}/something/something/{field}/something] PASSED [ 22%] 233s tests/test_default_router.py::test_match_entire_path[/items/thing-/items/t] PASSED [ 22%] 233s tests/test_default_router.py::test_match_entire_path[/items/{x}|{y}|-/items/1080|768] PASSED [ 22%] 233s tests/test_default_router.py::test_match_entire_path[/items/{x}*{y}foo-/items/1080*768foobar] PASSED [ 22%] 233s tests/test_default_router.py::test_match_entire_path[/items/{x}*768*-/items/1080*768***] PASSED [ 22%] 233s tests/test_default_router.py::test_conflict[/teams/{conflict}] PASSED [ 22%] 233s tests/test_default_router.py::test_conflict[/emojis/signs/{id_too}] PASSED [ 22%] 233s tests/test_default_router.py::test_conflict[/repos/{org}/{repo}/compare/{complex}:{vs}...{complex2}:{conflict}] PASSED [ 22%] 233s tests/test_default_router.py::test_conflict[/teams/{id:int}/settings] PASSED [ 22%] 233s tests/test_default_router.py::test_non_conflict[/repos/{org}/{repo}/compare/{simple_vs_complex}] PASSED [ 22%] 233s tests/test_default_router.py::test_non_conflict[/repos/{complex}.{vs}.{simple}] PASSED [ 22%] 233s tests/test_default_router.py::test_non_conflict[/repos/{org}/{repo}/compare/{complex}:{vs}...{complex2}/full] PASSED [ 22%] 233s tests/test_default_router.py::test_invalid_field_name[/{}] PASSED [ 22%] 233s tests/test_default_router.py::test_invalid_field_name[/repos/{org}/{repo}/compare/{}] PASSED [ 22%] 233s tests/test_default_router.py::test_invalid_field_name[/repos/{complex}.{}.{thing}] PASSED [ 22%] 233s tests/test_default_router.py::test_invalid_field_name[/{9v}] PASSED [ 22%] 233s tests/test_default_router.py::test_invalid_field_name[/{524hello}/world] PASSED [ 22%] 233s tests/test_default_router.py::test_invalid_field_name[/hello/{1world}] PASSED [ 22%] 233s tests/test_default_router.py::test_invalid_field_name[/repos/{complex}.{9v}.{thing}/etc] PASSED [ 22%] 233s tests/test_default_router.py::test_invalid_field_name[/{*kgriffs}] PASSED [ 22%] 233s tests/test_default_router.py::test_invalid_field_name[/{@kgriffs}] PASSED [ 22%] 233s tests/test_default_router.py::test_invalid_field_name[/repos/{complex}.{v}.{@thing}/etc] PASSED [ 22%] 233s tests/test_default_router.py::test_invalid_field_name[/{-kgriffs}] PASSED [ 22%] 233s tests/test_default_router.py::test_invalid_field_name[/repos/{complex}.{-v}.{thing}/etc] PASSED [ 22%] 233s tests/test_default_router.py::test_invalid_field_name[/repos/{simple-thing}/etc] PASSED [ 22%] 233s tests/test_default_router.py::test_invalid_field_name[/this and that] PASSED [ 22%] 233s tests/test_default_router.py::test_invalid_field_name[/this\tand\tthat/this\nand\nthat/{thing }/world] PASSED [ 22%] 233s tests/test_default_router.py::test_invalid_field_name[/{thing\t}/world] PASSED [ 22%] 233s tests/test_default_router.py::test_invalid_field_name[/{\nthing}/world] PASSED [ 22%] 233s tests/test_default_router.py::test_invalid_field_name[/{th\x0bing}/world] PASSED [ 22%] 233s tests/test_default_router.py::test_invalid_field_name[/{ thing}/world] PASSED [ 22%] 233s tests/test_default_router.py::test_invalid_field_name[/{ thing }/world] PASSED [ 22%] 233s tests/test_default_router.py::test_invalid_field_name[/{thing}/wo rld] PASSED [ 22%] 233s tests/test_default_router.py::test_invalid_field_name[/{thing} /world] PASSED [ 22%] 233s tests/test_default_router.py::test_invalid_field_name[/repos/{or g}/{repo}/compare/{thing}] PASSED [ 22%] 233s tests/test_default_router.py::test_invalid_field_name[/repos/{org}/{repo}/compare/{th\ting}] PASSED [ 22%] 233s tests/test_default_router.py::test_print_src PASSED [ 22%] 233s tests/test_default_router.py::test_override PASSED [ 22%] 233s tests/test_default_router.py::test_literal_segment PASSED [ 23%] 233s tests/test_default_router.py::test_dead_segment[/teams] PASSED [ 23%] 233s tests/test_default_router.py::test_dead_segment[/emojis/signs] PASSED [ 23%] 233s tests/test_default_router.py::test_dead_segment[/gists] PASSED [ 23%] 233s tests/test_default_router.py::test_dead_segment[/gists/42] PASSED [ 23%] 233s tests/test_default_router.py::test_malformed_pattern[/repos/racker/falcon/compare/foo] PASSED [ 23%] 233s tests/test_default_router.py::test_malformed_pattern[/repos/racker/falcon/compare/foo/full] PASSED [ 23%] 233s tests/test_default_router.py::test_literal PASSED [ 23%] 233s tests/test_default_router.py::test_converters[/cvt/teams/007-expected_params0] PASSED [ 23%] 233s tests/test_default_router.py::test_converters[/cvt/teams/1234/members-expected_params1] PASSED [ 23%] 233s tests/test_default_router.py::test_converters[/cvt/teams/default/members/700-5-expected_params2] PASSED [ 23%] 233s tests/test_default_router.py::test_converters[/cvt/repos/org/repo/compare/xkcd:353-expected_params3] PASSED [ 23%] 233s tests/test_default_router.py::test_converters[/cvt/repos/org/repo/compare/gunmachan:1234...kumamon:5678/part-expected_params4] PASSED [ 23%] 233s tests/test_default_router.py::test_converters[/cvt/repos/xkcd/353/compare/susan:0001/full-expected_params5] PASSED [ 23%] 233s tests/test_default_router.py::test_converters_with_invalid_options[/foo/{bar:int(0)}] PASSED [ 23%] 233s tests/test_default_router.py::test_converters_with_invalid_options[/foo/{bar:int(num_digits=0)}] PASSED [ 23%] 233s tests/test_default_router.py::test_converters_with_invalid_options[/foo/{bar:int(-1)}/baz] PASSED [ 23%] 233s tests/test_default_router.py::test_converters_with_invalid_options[/foo/{bar:int(num_digits=-1)}/baz] PASSED [ 23%] 233s tests/test_default_router.py::test_converters_malformed_specification[/foo/{bar:}] PASSED [ 23%] 233s tests/test_default_router.py::test_converters_malformed_specification[/foo/{bar:unknown}/baz] PASSED [ 23%] 233s tests/test_default_router.py::test_variable PASSED [ 23%] 233s tests/test_default_router.py::test_single_character_field_name PASSED [ 23%] 233s tests/test_default_router.py::test_literal_vs_variable[/teams/default-19] PASSED [ 23%] 233s tests/test_default_router.py::test_literal_vs_variable[/teams/default/members-7] PASSED [ 23%] 233s tests/test_default_router.py::test_literal_vs_variable[/cvt/teams/default-31] PASSED [ 23%] 233s tests/test_default_router.py::test_literal_vs_variable[/cvt/teams/default/members/1234-10-32] PASSED [ 23%] 233s tests/test_default_router.py::test_literal_vs_variable[/teams/1234-6] PASSED [ 23%] 233s tests/test_default_router.py::test_literal_vs_variable[/teams/1234/members-7] PASSED [ 23%] 233s tests/test_default_router.py::test_literal_vs_variable[/gists/first-20] PASSED [ 23%] 233s tests/test_default_router.py::test_literal_vs_variable[/gists/first/raw-18] PASSED [ 23%] 233s tests/test_default_router.py::test_literal_vs_variable[/gists/first/pdf-21] PASSED [ 23%] 233s tests/test_default_router.py::test_literal_vs_variable[/gists/1776/pdf-21] PASSED [ 23%] 233s tests/test_default_router.py::test_literal_vs_variable[/emojis/signs/78-13] PASSED [ 23%] 233s tests/test_default_router.py::test_literal_vs_variable[/emojis/signs/78/small.png-24] PASSED [ 23%] 233s tests/test_default_router.py::test_literal_vs_variable[/emojis/signs/78/small(png)-25] PASSED [ 23%] 233s tests/test_default_router.py::test_literal_vs_variable[/emojis/signs/78/small_png-26] PASSED [ 23%] 233s tests/test_default_router.py::test_not_found[/this/does/not/exist] PASSED [ 23%] 233s tests/test_default_router.py::test_not_found[/user/bogus] PASSED [ 23%] 233s tests/test_default_router.py::test_not_found[/repos/racker/falcon/compare/johndoe:master...janedoe:dev/bogus] PASSED [ 23%] 233s tests/test_default_router.py::test_not_found[/teams] PASSED [ 24%] 233s tests/test_default_router.py::test_not_found[/teams/42/members/undefined] PASSED [ 24%] 233s tests/test_default_router.py::test_not_found[/teams/42/undefined] PASSED [ 24%] 233s tests/test_default_router.py::test_not_found[/teams/42/undefined/segments] PASSED [ 24%] 233s tests/test_default_router.py::test_not_found[/teams/default/members/undefined] PASSED [ 24%] 233s tests/test_default_router.py::test_not_found[/teams/default/members/thing/undefined] PASSED [ 24%] 233s tests/test_default_router.py::test_not_found[/teams/default/members/thing/undefined/segments] PASSED [ 24%] 233s tests/test_default_router.py::test_not_found[/teams/default/undefined] PASSED [ 24%] 233s tests/test_default_router.py::test_not_found[/teams/default/undefined/segments] PASSED [ 24%] 233s tests/test_default_router.py::test_not_found[/cvt/teams/default/members] PASSED [ 24%] 233s tests/test_default_router.py::test_not_found[/cvt/teams/NaN] PASSED [ 24%] 233s tests/test_default_router.py::test_not_found[/cvt/teams/default/members/NaN] PASSED [ 24%] 233s tests/test_default_router.py::test_not_found[/emojis/signs] PASSED [ 24%] 233s tests/test_default_router.py::test_not_found[/emojis/signs/0/small] PASSED [ 24%] 233s tests/test_default_router.py::test_not_found[/emojis/signs/0/undefined] PASSED [ 24%] 233s tests/test_default_router.py::test_not_found[/emojis/signs/0/undefined/segments] PASSED [ 24%] 233s tests/test_default_router.py::test_not_found[/emojis/signs/20/small] PASSED [ 24%] 233s tests/test_default_router.py::test_not_found[/emojis/signs/20/undefined] PASSED [ 24%] 233s tests/test_default_router.py::test_not_found[/emojis/signs/42/undefined] PASSED [ 24%] 233s tests/test_default_router.py::test_not_found[/emojis/signs/78/undefined] PASSED [ 24%] 233s tests/test_default_router.py::test_subsegment_not_found PASSED [ 24%] 233s tests/test_default_router.py::test_multivar PASSED [ 24%] 233s tests/test_default_router.py::test_complex[-5] PASSED [ 24%] 233s tests/test_default_router.py::test_complex[/full-10] PASSED [ 24%] 233s tests/test_default_router.py::test_complex[/part-15] PASSED [ 24%] 233s tests/test_default_router.py::test_complex_alt[-16-/repos/{org}/{repo}/compare/{usr0}:{branch0}] PASSED [ 24%] 233s tests/test_default_router.py::test_complex_alt[/full-17-/repos/{org}/{repo}/compare/{usr0}:{branch0}/full] PASSED [ 24%] 233s tests/test_default_router.py::test_options_converters_set PASSED [ 24%] 233s tests/test_default_router.py::test_options_converters_update[spam] PASSED [ 24%] 233s tests/test_default_router.py::test_options_converters_update[spam_2] PASSED [ 24%] 233s tests/test_default_router.py::test_options_converters_invalid_name[has whitespace] PASSED [ 24%] 233s tests/test_default_router.py::test_options_converters_invalid_name[whitespace ] PASSED [ 24%] 233s tests/test_default_router.py::test_options_converters_invalid_name[ whitespace ] PASSED [ 24%] 233s tests/test_default_router.py::test_options_converters_invalid_name[ whitespace] PASSED [ 24%] 233s tests/test_default_router.py::test_options_converters_invalid_name[funky$character] PASSED [ 24%] 233s tests/test_default_router.py::test_options_converters_invalid_name[42istheanswer] PASSED [ 24%] 233s tests/test_default_router.py::test_options_converters_invalid_name[with-hyphen] PASSED [ 24%] 233s tests/test_default_router.py::test_options_converters_invalid_name_on_update PASSED [ 24%] 233s tests/test_default_router.py::test_params_in_non_taken_branches[/c/foo/arg/baz-expected0-1] PASSED [ 24%] 233s tests/test_default_router.py::test_params_in_non_taken_branches[/c/foo/bar/other-expected1-2] PASSED [ 25%] 233s tests/test_default_router.py::test_params_in_non_taken_branches[/c/foo/42-7/baz-expected2-1] PASSED [ 25%] 233s tests/test_default_router.py::test_params_in_non_taken_branches[/upload/youtube/auth/token-expected3-4] PASSED [ 25%] 233s tests/test_default_router.py::test_params_in_non_taken_branches[/x/y/o.o/w-expected4-7] PASSED [ 25%] 233s tests/test_default_router.py::test_capture_path_no_children PASSED [ 25%] 233s tests/test_default_router.py::test_capture_path_complex[/foo/{bar:path}-x] PASSED [ 25%] 233s tests/test_default_router.py::test_capture_path_complex[/foo/x-{bar:path}] PASSED [ 25%] 233s tests/test_default_router.py::test_capture_path_complex[/foo/{x}-{bar:path}] PASSED [ 25%] 233s tests/test_default_router.py::test_capture_path_complex[/foo/{bar:path}-{x}] PASSED [ 25%] 233s tests/test_default_router.py::test_capture_path[/foo/bar/baz-expected0-1] PASSED [ 25%] 233s tests/test_default_router.py::test_capture_path[/foo/some/path/here-expected1-2] PASSED [ 25%] 233s tests/test_default_router.py::test_capture_path[/foo/bar/bar-expected2-3] PASSED [ 25%] 233s tests/test_default_router.py::test_capture_path[/foo/bar/bar-1/2/3/4/5/5/6/7/8/98/9/0/-/9/-expected3-3] PASSED [ 25%] 233s tests/test_default_router.py::test_capture_path[/x/1/2/3-expected4-5] PASSED [ 25%] 233s tests/test_default_router.py::test_capture_path[/x/1/2/3/4/5/6-expected5-5] PASSED [ 25%] 233s tests/test_default_router.py::test_capture_path[/upload/youtube/auth/token-expected6-4] PASSED [ 25%] 233s tests/test_default_router.py::test_capture_path[/x/y/o.o/w-expected7-4] PASSED [ 25%] 233s tests/test_default_router.py::test_capture_path[/foo-expected8-4] PASSED [ 25%] 233s tests/test_default_router.py::test_capture_path[/foo/-expected9-2] PASSED [ 25%] 233s tests/test_default_router.py::test_capture_path[/foo/bar-expected10-2] PASSED [ 25%] 233s tests/test_default_router.py::test_capture_path[/foo/bar/-expected11-3] PASSED [ 25%] 233s tests/test_default_router.py::test_capture_path[/foo/bar/baz/other-expected12-3] PASSED [ 25%] 233s tests/test_default_router.py::test_capture_path[/y/1/2/3-expected13-6] PASSED [ 25%] 233s tests/test_default_router.py::test_capture_path[/y/1/a/3-expected14-4] PASSED [ 25%] 233s tests/test_default_router.py::test_capture_path_no_match PASSED [ 25%] 233s tests/test_error.py::test_with_default_title_and_desc[HTTPBadRequest-400 Bad Request] PASSED [ 25%] 233s tests/test_error.py::test_with_default_title_and_desc[HTTPUnauthorized-401 Unauthorized] PASSED [ 25%] 233s tests/test_error.py::test_with_default_title_and_desc[HTTPForbidden-403 Forbidden] PASSED [ 25%] 233s tests/test_error.py::test_with_default_title_and_desc[HTTPNotFound-404 Not Found] PASSED [ 25%] 233s tests/test_error.py::test_with_default_title_and_desc[HTTPRouteNotFound-404 Not Found] PASSED [ 25%] 233s tests/test_error.py::test_with_default_title_and_desc[HTTPNotAcceptable-406 Not Acceptable] PASSED [ 25%] 233s tests/test_error.py::test_with_default_title_and_desc[HTTPConflict-409 Conflict] PASSED [ 25%] 233s tests/test_error.py::test_with_default_title_and_desc[HTTPGone-410 Gone] PASSED [ 25%] 233s tests/test_error.py::test_with_default_title_and_desc[HTTPLengthRequired-411 Length Required] PASSED [ 25%] 233s tests/test_error.py::test_with_default_title_and_desc[HTTPPreconditionFailed-412 Precondition Failed] PASSED [ 25%] 233s tests/test_error.py::test_with_default_title_and_desc[HTTPContentTooLarge-413 Content Too Large] PASSED [ 25%] 233s tests/test_error.py::test_with_default_title_and_desc[HTTPUriTooLong-414 URI Too Long] PASSED [ 25%] 233s tests/test_error.py::test_with_default_title_and_desc[HTTPUnsupportedMediaType-415 Unsupported Media Type] PASSED [ 25%] 233s tests/test_error.py::test_with_default_title_and_desc[HTTPUnprocessableEntity-422 Unprocessable Entity] PASSED [ 25%] 233s tests/test_error.py::test_with_default_title_and_desc[HTTPLocked-423 Locked] PASSED [ 26%] 233s tests/test_error.py::test_with_default_title_and_desc[HTTPFailedDependency-424 Failed Dependency] PASSED [ 26%] 233s tests/test_error.py::test_with_default_title_and_desc[HTTPPreconditionRequired-428 Precondition Required] PASSED [ 26%] 233s tests/test_error.py::test_with_default_title_and_desc[HTTPTooManyRequests-429 Too Many Requests] PASSED [ 26%] 233s tests/test_error.py::test_with_default_title_and_desc[HTTPRequestHeaderFieldsTooLarge-431 Request Header Fields Too Large] PASSED [ 26%] 233s tests/test_error.py::test_with_default_title_and_desc[HTTPUnavailableForLegalReasons-451 Unavailable For Legal Reasons] PASSED [ 26%] 233s tests/test_error.py::test_with_default_title_and_desc[HTTPInternalServerError-500 Internal Server Error] PASSED [ 26%] 233s tests/test_error.py::test_with_default_title_and_desc[HTTPNotImplemented-501 Not Implemented] PASSED [ 26%] 233s tests/test_error.py::test_with_default_title_and_desc[HTTPBadGateway-502 Bad Gateway] PASSED [ 26%] 233s tests/test_error.py::test_with_default_title_and_desc[HTTPServiceUnavailable-503 Service Unavailable] PASSED [ 26%] 233s tests/test_error.py::test_with_default_title_and_desc[HTTPGatewayTimeout-504 Gateway Timeout] PASSED [ 26%] 233s tests/test_error.py::test_with_default_title_and_desc[HTTPVersionNotSupported-505 HTTP Version Not Supported] PASSED [ 26%] 233s tests/test_error.py::test_with_default_title_and_desc[HTTPInsufficientStorage-507 Insufficient Storage] PASSED [ 26%] 233s tests/test_error.py::test_with_default_title_and_desc[HTTPLoopDetected-508 Loop Detected] PASSED [ 26%] 233s tests/test_error.py::test_with_default_title_and_desc[HTTPNetworkAuthenticationRequired-511 Network Authentication Required] PASSED [ 26%] 233s tests/test_error.py::test_with_default_title_and_desc_args[HTTPMethodNotAllowed-405 Method Not Allowed-args0] PASSED [ 26%] 233s tests/test_error.py::test_with_default_title_and_desc_args[HTTPRangeNotSatisfiable-416 Range Not Satisfiable-args1] PASSED [ 26%] 233s tests/test_error.py::test_with_title_desc_and_headers[HTTPBadRequest] PASSED [ 26%] 233s tests/test_error.py::test_with_title_desc_and_headers[HTTPUnauthorized] PASSED [ 26%] 233s tests/test_error.py::test_with_title_desc_and_headers[HTTPForbidden] PASSED [ 26%] 233s tests/test_error.py::test_with_title_desc_and_headers[HTTPNotFound] PASSED [ 26%] 233s tests/test_error.py::test_with_title_desc_and_headers[HTTPRouteNotFound] PASSED [ 26%] 233s tests/test_error.py::test_with_title_desc_and_headers[HTTPNotAcceptable] PASSED [ 26%] 233s tests/test_error.py::test_with_title_desc_and_headers[HTTPConflict] PASSED [ 26%] 233s tests/test_error.py::test_with_title_desc_and_headers[HTTPGone] PASSED [ 26%] 233s tests/test_error.py::test_with_title_desc_and_headers[HTTPLengthRequired] PASSED [ 26%] 233s tests/test_error.py::test_with_title_desc_and_headers[HTTPPreconditionFailed] PASSED [ 26%] 233s tests/test_error.py::test_with_title_desc_and_headers[HTTPContentTooLarge] PASSED [ 26%] 233s tests/test_error.py::test_with_title_desc_and_headers[HTTPUriTooLong] PASSED [ 26%] 233s tests/test_error.py::test_with_title_desc_and_headers[HTTPUnsupportedMediaType] PASSED [ 26%] 233s tests/test_error.py::test_with_title_desc_and_headers[HTTPUnprocessableEntity] PASSED [ 26%] 233s tests/test_error.py::test_with_title_desc_and_headers[HTTPLocked] PASSED [ 26%] 233s tests/test_error.py::test_with_title_desc_and_headers[HTTPFailedDependency] PASSED [ 26%] 233s tests/test_error.py::test_with_title_desc_and_headers[HTTPPreconditionRequired] PASSED [ 26%] 233s tests/test_error.py::test_with_title_desc_and_headers[HTTPTooManyRequests] PASSED [ 26%] 233s tests/test_error.py::test_with_title_desc_and_headers[HTTPRequestHeaderFieldsTooLarge] PASSED [ 26%] 233s tests/test_error.py::test_with_title_desc_and_headers[HTTPUnavailableForLegalReasons] PASSED [ 26%] 233s tests/test_error.py::test_with_title_desc_and_headers[HTTPInternalServerError] PASSED [ 26%] 233s tests/test_error.py::test_with_title_desc_and_headers[HTTPNotImplemented] PASSED [ 26%] 233s tests/test_error.py::test_with_title_desc_and_headers[HTTPBadGateway] PASSED [ 26%] 233s tests/test_error.py::test_with_title_desc_and_headers[HTTPServiceUnavailable] PASSED [ 27%] 233s tests/test_error.py::test_with_title_desc_and_headers[HTTPGatewayTimeout] PASSED [ 27%] 233s tests/test_error.py::test_with_title_desc_and_headers[HTTPVersionNotSupported] PASSED [ 27%] 233s tests/test_error.py::test_with_title_desc_and_headers[HTTPInsufficientStorage] PASSED [ 27%] 233s tests/test_error.py::test_with_title_desc_and_headers[HTTPLoopDetected] PASSED [ 27%] 233s tests/test_error.py::test_with_title_desc_and_headers[HTTPNetworkAuthenticationRequired] PASSED [ 27%] 233s tests/test_error.py::test_kw_only[HTTPBadRequest] PASSED [ 27%] 233s tests/test_error.py::test_kw_only[HTTPUnauthorized] PASSED [ 27%] 233s tests/test_error.py::test_kw_only[HTTPForbidden] PASSED [ 27%] 233s tests/test_error.py::test_kw_only[HTTPNotFound] PASSED [ 27%] 233s tests/test_error.py::test_kw_only[HTTPRouteNotFound] PASSED [ 27%] 233s tests/test_error.py::test_kw_only[HTTPNotAcceptable] PASSED [ 27%] 233s tests/test_error.py::test_kw_only[HTTPConflict] PASSED [ 27%] 233s tests/test_error.py::test_kw_only[HTTPGone] PASSED [ 27%] 233s tests/test_error.py::test_kw_only[HTTPLengthRequired] PASSED [ 27%] 233s tests/test_error.py::test_kw_only[HTTPPreconditionFailed] PASSED [ 27%] 233s tests/test_error.py::test_kw_only[HTTPContentTooLarge] PASSED [ 27%] 233s tests/test_error.py::test_kw_only[HTTPUriTooLong] PASSED [ 27%] 233s tests/test_error.py::test_kw_only[HTTPUnsupportedMediaType] PASSED [ 27%] 233s tests/test_error.py::test_kw_only[HTTPUnprocessableEntity] PASSED [ 27%] 233s tests/test_error.py::test_kw_only[HTTPLocked] PASSED [ 27%] 233s tests/test_error.py::test_kw_only[HTTPFailedDependency] PASSED [ 27%] 233s tests/test_error.py::test_kw_only[HTTPPreconditionRequired] PASSED [ 27%] 233s tests/test_error.py::test_kw_only[HTTPTooManyRequests] PASSED [ 27%] 233s tests/test_error.py::test_kw_only[HTTPRequestHeaderFieldsTooLarge] PASSED [ 27%] 233s tests/test_error.py::test_kw_only[HTTPUnavailableForLegalReasons] PASSED [ 27%] 233s tests/test_error.py::test_kw_only[HTTPInternalServerError] PASSED [ 27%] 233s tests/test_error.py::test_kw_only[HTTPNotImplemented] PASSED [ 27%] 233s tests/test_error.py::test_kw_only[HTTPBadGateway] PASSED [ 27%] 233s tests/test_error.py::test_kw_only[HTTPServiceUnavailable] PASSED [ 27%] 233s tests/test_error.py::test_kw_only[HTTPGatewayTimeout] PASSED [ 27%] 233s tests/test_error.py::test_kw_only[HTTPVersionNotSupported] PASSED [ 27%] 233s tests/test_error.py::test_kw_only[HTTPInsufficientStorage] PASSED [ 27%] 233s tests/test_error.py::test_kw_only[HTTPLoopDetected] PASSED [ 27%] 233s tests/test_error.py::test_kw_only[HTTPNetworkAuthenticationRequired] PASSED [ 27%] 233s tests/test_error.py::test_with_title_desc_and_headers_args[HTTPMethodNotAllowed-args0] PASSED [ 27%] 233s tests/test_error.py::test_with_title_desc_and_headers_args[HTTPRangeNotSatisfiable-args1] PASSED [ 27%] 233s tests/test_error.py::test_args_kw_only[HTTPMethodNotAllowed-args0] PASSED [ 27%] 233s tests/test_error.py::test_args_kw_only[HTTPRangeNotSatisfiable-args1] PASSED [ 27%] 233s tests/test_error.py::test_args_kw_only[HTTPInvalidHeader-args2] PASSED [ 28%] 233s tests/test_error.py::test_args_kw_only[HTTPMissingHeader-args3] PASSED [ 28%] 233s tests/test_error.py::test_args_kw_only[HTTPInvalidParam-args4] PASSED [ 28%] 233s tests/test_error.py::test_args_kw_only[HTTPMissingParam-args5] PASSED [ 28%] 233s tests/test_error.py::test_with_retry_after[HTTPServiceUnavailable] PASSED [ 28%] 233s tests/test_error.py::test_with_retry_after[HTTPTooManyRequests] PASSED [ 28%] 233s tests/test_error.py::test_with_retry_after[HTTPContentTooLarge] PASSED [ 28%] 233s tests/test_error.py::test_with_retry_after_and_headers[HTTPServiceUnavailable] PASSED [ 28%] 233s tests/test_error.py::test_with_retry_after_and_headers[HTTPTooManyRequests] PASSED [ 28%] 233s tests/test_error.py::test_with_retry_after_and_headers[HTTPContentTooLarge] PASSED [ 28%] 233s tests/test_error.py::test_http_error_repr PASSED [ 28%] 233s tests/test_error.py::test_custom_400[HTTPInvalidHeader-args0-Invalid header value-The value provided for the "bar" header is invalid. foo] PASSED [ 28%] 233s tests/test_error.py::test_custom_400[HTTPMissingHeader-args1-Missing header value-The "foo" header is required.] PASSED [ 28%] 233s tests/test_error.py::test_custom_400[HTTPInvalidParam-args2-Invalid parameter-The "bar" parameter is invalid. foo] PASSED [ 28%] 233s tests/test_error.py::test_custom_400[HTTPMissingParam-args3-Missing parameter-The "foo" parameter is required.] PASSED [ 28%] 233s tests/test_error.py::TestErrorsWithHeadersKW::test_no_header[HTTPUnauthorized-WWW-Authenticate-challenges-args0-a, b-False] PASSED [ 28%] 233s tests/test_error.py::TestErrorsWithHeadersKW::test_no_header[HTTPMethodNotAllowed-Allow-allowed_methods-args1-a, b-True] PASSED [ 28%] 233s tests/test_error.py::TestErrorsWithHeadersKW::test_no_header[HTTPContentTooLarge-Retry-After-retry_after-123-123-False] PASSED [ 28%] 233s tests/test_error.py::TestErrorsWithHeadersKW::test_no_header[HTTPRangeNotSatisfiable-Content-Range-resource_length-123-bytes */123-True] PASSED [ 28%] 233s tests/test_error.py::TestErrorsWithHeadersKW::test_no_header[HTTPTooManyRequests-Retry-After-retry_after-123-123-False] PASSED [ 28%] 233s tests/test_error.py::TestErrorsWithHeadersKW::test_no_header[HTTPServiceUnavailable-Retry-After-retry_after-123-123-False] PASSED [ 28%] 233s tests/test_error.py::TestErrorsWithHeadersKW::test_other_header[HTTPUnauthorized-WWW-Authenticate-challenges-args0-a, b-False] PASSED [ 28%] 233s tests/test_error.py::TestErrorsWithHeadersKW::test_other_header[HTTPMethodNotAllowed-Allow-allowed_methods-args1-a, b-True] PASSED [ 28%] 233s tests/test_error.py::TestErrorsWithHeadersKW::test_other_header[HTTPContentTooLarge-Retry-After-retry_after-123-123-False] PASSED [ 28%] 233s tests/test_error.py::TestErrorsWithHeadersKW::test_other_header[HTTPRangeNotSatisfiable-Content-Range-resource_length-123-bytes */123-True] PASSED [ 28%] 233s tests/test_error.py::TestErrorsWithHeadersKW::test_other_header[HTTPTooManyRequests-Retry-After-retry_after-123-123-False] PASSED [ 28%] 233s tests/test_error.py::TestErrorsWithHeadersKW::test_other_header[HTTPServiceUnavailable-Retry-After-retry_after-123-123-False] PASSED [ 28%] 233s tests/test_error.py::TestErrorsWithHeadersKW::test_override_header[HTTPUnauthorized-WWW-Authenticate-challenges-args0-a, b-False] PASSED [ 28%] 233s tests/test_error.py::TestErrorsWithHeadersKW::test_override_header[HTTPMethodNotAllowed-Allow-allowed_methods-args1-a, b-True] PASSED [ 28%] 233s tests/test_error.py::TestErrorsWithHeadersKW::test_override_header[HTTPContentTooLarge-Retry-After-retry_after-123-123-False] PASSED [ 28%] 233s tests/test_error.py::TestErrorsWithHeadersKW::test_override_header[HTTPRangeNotSatisfiable-Content-Range-resource_length-123-bytes */123-True] PASSED [ 28%] 233s tests/test_error.py::TestErrorsWithHeadersKW::test_override_header[HTTPTooManyRequests-Retry-After-retry_after-123-123-False] PASSED [ 28%] 233s tests/test_error.py::TestErrorsWithHeadersKW::test_override_header[HTTPServiceUnavailable-Retry-After-retry_after-123-123-False] PASSED [ 28%] 233s tests/test_error.py::TestErrorsWithHeadersKW::test_other_header_list[HTTPUnauthorized-WWW-Authenticate-challenges-args0-a, b-False] PASSED [ 28%] 233s tests/test_error.py::TestErrorsWithHeadersKW::test_other_header_list[HTTPMethodNotAllowed-Allow-allowed_methods-args1-a, b-True] PASSED [ 28%] 233s tests/test_error.py::TestErrorsWithHeadersKW::test_other_header_list[HTTPContentTooLarge-Retry-After-retry_after-123-123-False] PASSED [ 28%] 233s tests/test_error.py::TestErrorsWithHeadersKW::test_other_header_list[HTTPRangeNotSatisfiable-Content-Range-resource_length-123-bytes */123-True] PASSED [ 28%] 233s tests/test_error.py::TestErrorsWithHeadersKW::test_other_header_list[HTTPTooManyRequests-Retry-After-retry_after-123-123-False] PASSED [ 28%] 233s tests/test_error.py::TestErrorsWithHeadersKW::test_other_header_list[HTTPServiceUnavailable-Retry-After-retry_after-123-123-False] PASSED [ 28%] 233s tests/test_error.py::TestErrorsWithHeadersKW::test_override_header_list[HTTPUnauthorized-WWW-Authenticate-challenges-args0-a, b-False] PASSED [ 29%] 233s tests/test_error.py::TestErrorsWithHeadersKW::test_override_header_list[HTTPMethodNotAllowed-Allow-allowed_methods-args1-a, b-True] PASSED [ 29%] 233s tests/test_error.py::TestErrorsWithHeadersKW::test_override_header_list[HTTPContentTooLarge-Retry-After-retry_after-123-123-False] PASSED [ 29%] 233s tests/test_error.py::TestErrorsWithHeadersKW::test_override_header_list[HTTPRangeNotSatisfiable-Content-Range-resource_length-123-bytes */123-True] PASSED [ 29%] 233s tests/test_error.py::TestErrorsWithHeadersKW::test_override_header_list[HTTPTooManyRequests-Retry-After-retry_after-123-123-False] PASSED [ 29%] 233s tests/test_error.py::TestErrorsWithHeadersKW::test_override_header_list[HTTPServiceUnavailable-Retry-After-retry_after-123-123-False] PASSED [ 29%] 233s tests/test_error.py::test_http_payload_too_large_deprecation PASSED [ 29%] 233s tests/test_error_handlers.py::TestErrorHandler::test_caught_error[asgi] PASSED [ 29%] 233s tests/test_error_handlers.py::TestErrorHandler::test_caught_error[wsgi] PASSED [ 29%] 233s tests/test_error_handlers.py::TestErrorHandler::test_uncaught_python_error[asgi-None-application/json-{"] PASSED [ 29%] 233s tests/test_error_handlers.py::TestErrorHandler::test_uncaught_python_error[asgi-get_headers1-application/json-{"] PASSED [ 29%] 233s tests/test_error_handlers.py::TestErrorHandler::test_uncaught_python_error[asgi-get_headers2-application/xml-; rel=alternate] PASSED [ 33%] 234s tests/test_headers.py::TestHeaders::test_append_link_crossorigin[asgi-anonymous-; rel=alternate; crossorigin] PASSED [ 33%] 234s tests/test_headers.py::TestHeaders::test_append_link_crossorigin[asgi-Anonymous-; rel=alternate; crossorigin] PASSED [ 34%] 234s tests/test_headers.py::TestHeaders::test_append_link_crossorigin[asgi-AnOnYmOUs-; rel=alternate; crossorigin] PASSED [ 34%] 234s tests/test_headers.py::TestHeaders::test_append_link_crossorigin[asgi-Use-Credentials-; rel=alternate; crossorigin="use-credentials"] PASSED [ 34%] 234s tests/test_headers.py::TestHeaders::test_append_link_crossorigin[asgi-use-credentials-; rel=alternate; crossorigin="use-credentials"] PASSED [ 34%] 234s tests/test_headers.py::TestHeaders::test_append_link_crossorigin[wsgi-None-; rel=alternate] PASSED [ 34%] 234s tests/test_headers.py::TestHeaders::test_append_link_crossorigin[wsgi-anonymous-; rel=alternate; crossorigin] PASSED [ 34%] 234s tests/test_headers.py::TestHeaders::test_append_link_crossorigin[wsgi-Anonymous-; rel=alternate; crossorigin] PASSED [ 34%] 234s tests/test_headers.py::TestHeaders::test_append_link_crossorigin[wsgi-AnOnYmOUs-; rel=alternate; crossorigin] PASSED [ 34%] 234s tests/test_headers.py::TestHeaders::test_append_link_crossorigin[wsgi-Use-Credentials-; rel=alternate; crossorigin="use-credentials"] PASSED [ 34%] 234s tests/test_headers.py::TestHeaders::test_append_link_crossorigin[wsgi-use-credentials-; rel=alternate; crossorigin="use-credentials"] PASSED [ 34%] 234s tests/test_headers.py::TestHeaders::test_append_link_invalid_crossorigin_value[*] PASSED [ 34%] 234s tests/test_headers.py::TestHeaders::test_append_link_invalid_crossorigin_value[Allow-all] PASSED [ 34%] 234s tests/test_headers.py::TestHeaders::test_append_link_invalid_crossorigin_value[Lax] PASSED [ 34%] 234s tests/test_headers.py::TestHeaders::test_append_link_invalid_crossorigin_value[MUST-REVALIDATE] PASSED [ 34%] 234s tests/test_headers.py::TestHeaders::test_append_link_invalid_crossorigin_value[Strict] PASSED [ 34%] 234s tests/test_headers.py::TestHeaders::test_append_link_invalid_crossorigin_value[deny] PASSED [ 34%] 234s tests/test_headers.py::TestHeaders::test_append_link_with_link_extension[asgi] PASSED [ 34%] 234s tests/test_headers.py::TestHeaders::test_append_link_with_link_extension[wsgi] PASSED [ 34%] 234s tests/test_headers.py::TestHeaders::test_content_length_options[asgi] PASSED [ 34%] 234s tests/test_headers.py::TestHeaders::test_content_length_options[wsgi] PASSED [ 34%] 234s tests/test_headers.py::TestHeaders::test_set_headers_with_custom_class[asgi] PASSED [ 34%] 234s tests/test_headers.py::TestHeaders::test_set_headers_with_custom_class[wsgi] PASSED [ 34%] 234s tests/test_headers.py::TestHeaders::test_headers_with_custom_class_not_callable[asgi] PASSED [ 34%] 234s tests/test_headers.py::TestHeaders::test_headers_with_custom_class_not_callable[wsgi] PASSED [ 34%] 234s tests/test_headers.py::TestHeaders::test_request_multiple_header[asgi] PASSED [ 34%] 234s tests/test_headers.py::TestHeaders::test_request_multiple_header[wsgi] PASSED [ 34%] 234s tests/test_hello.py::TestHelloWorld::test_env_headers_list_of_tuples PASSED [ 34%] 234s tests/test_hello.py::TestHelloWorld::test_root_route PASSED [ 34%] 234s tests/test_hello.py::TestHelloWorld::test_no_route PASSED [ 34%] 234s tests/test_hello.py::TestHelloWorld::test_body[/body-resource0-] PASSED [ 34%] 234s tests/test_hello.py::TestHelloWorld::test_body[/bytes-resource1-] PASSED [ 34%] 234s tests/test_hello.py::TestHelloWorld::test_body[/data-resource2-] PASSED [ 34%] 234s tests/test_hello.py::TestHelloWorld::test_no_body_on_head PASSED [ 34%] 234s tests/test_hello.py::TestHelloWorld::test_stream_chunked PASSED [ 34%] 234s tests/test_hello.py::TestHelloWorld::test_stream_known_len PASSED [ 34%] 234s tests/test_hello.py::TestHelloWorld::test_filelike PASSED [ 34%] 234s tests/test_hello.py::TestHelloWorld::test_filelike_closing[ClosingBytesIO-True] PASSED [ 34%] 234s tests/test_hello.py::TestHelloWorld::test_filelike_closing[NonClosingBytesIO-False] PASSED [ 34%] 234s tests/test_hello.py::TestHelloWorld::test_filelike_using_helper PASSED [ 34%] 234s tests/test_hello.py::TestHelloWorld::test_status_not_set PASSED [ 35%] 234s tests/test_http_custom_method_routing.py::test_map_http_methods[asgi] PASSED [ 35%] 234s tests/test_http_custom_method_routing.py::test_map_http_methods[wsgi] PASSED [ 35%] 234s tests/test_http_custom_method_routing.py::test_environment_override[foo-expected0] SKIPPED [ 35%] 234s tests/test_http_custom_method_routing.py::test_environment_override[FOO-expected1] SKIPPED [ 35%] 234s tests/test_http_custom_method_routing.py::test_environment_override[FOO,-expected2] SKIPPED [ 35%] 234s tests/test_http_custom_method_routing.py::test_environment_override[FOO,BAR-expected3] SKIPPED [ 35%] 234s tests/test_http_custom_method_routing.py::test_environment_override[FOO, BAR-expected4] SKIPPED [ 35%] 234s tests/test_http_custom_method_routing.py::test_environment_override[ foo , BAR -expected5] SKIPPED [ 35%] 234s tests/test_http_custom_method_routing.py::test_foo[asgi] PASSED [ 35%] 234s tests/test_http_custom_method_routing.py::test_foo[wsgi] PASSED [ 35%] 234s tests/test_http_custom_method_routing.py::test_bar[asgi] PASSED [ 35%] 234s tests/test_http_custom_method_routing.py::test_bar[wsgi] PASSED [ 35%] 234s tests/test_http_method_routing.py::TestHttpMethodRouting::test_get[asgi] PASSED [ 35%] 234s tests/test_http_method_routing.py::TestHttpMethodRouting::test_get[wsgi] PASSED [ 35%] 234s tests/test_http_method_routing.py::TestHttpMethodRouting::test_put[asgi] PASSED [ 35%] 234s tests/test_http_method_routing.py::TestHttpMethodRouting::test_put[wsgi] PASSED [ 35%] 234s tests/test_http_method_routing.py::TestHttpMethodRouting::test_post_not_allowed[asgi] PASSED [ 35%] 234s tests/test_http_method_routing.py::TestHttpMethodRouting::test_post_not_allowed[wsgi] PASSED [ 35%] 234s tests/test_http_method_routing.py::TestHttpMethodRouting::test_report[asgi] PASSED [ 35%] 234s tests/test_http_method_routing.py::TestHttpMethodRouting::test_report[wsgi] PASSED [ 35%] 234s tests/test_http_method_routing.py::TestHttpMethodRouting::test_misc[asgi] PASSED [ 35%] 234s tests/test_http_method_routing.py::TestHttpMethodRouting::test_misc[wsgi] PASSED [ 35%] 234s tests/test_http_method_routing.py::TestHttpMethodRouting::test_methods_not_allowed_simple[asgi] PASSED [ 35%] 234s tests/test_http_method_routing.py::TestHttpMethodRouting::test_methods_not_allowed_simple[wsgi] PASSED [ 35%] 234s tests/test_http_method_routing.py::TestHttpMethodRouting::test_methods_not_allowed_complex[asgi] PASSED [ 35%] 234s tests/test_http_method_routing.py::TestHttpMethodRouting::test_methods_not_allowed_complex[wsgi] PASSED [ 35%] 234s tests/test_http_method_routing.py::TestHttpMethodRouting::test_method_not_allowed_with_param[asgi] PASSED [ 35%] 234s tests/test_http_method_routing.py::TestHttpMethodRouting::test_method_not_allowed_with_param[wsgi] PASSED [ 35%] 234s tests/test_http_method_routing.py::TestHttpMethodRouting::test_default_on_options[asgi] PASSED [ 35%] 234s tests/test_http_method_routing.py::TestHttpMethodRouting::test_default_on_options[wsgi] PASSED [ 35%] 234s tests/test_http_method_routing.py::TestHttpMethodRouting::test_on_options[asgi] PASSED [ 35%] 234s tests/test_http_method_routing.py::TestHttpMethodRouting::test_on_options[wsgi] PASSED [ 35%] 234s tests/test_http_method_routing.py::TestHttpMethodRouting::test_meta_and_others_disallowed[asgi-WEBSOCKET] PASSED [ 35%] 234s tests/test_http_method_routing.py::TestHttpMethodRouting::test_meta_and_others_disallowed[asgi-SETECASTRONOMY] PASSED [ 35%] 234s tests/test_http_method_routing.py::TestHttpMethodRouting::test_meta_and_others_disallowed[wsgi-WEBSOCKET] PASSED [ 35%] 234s tests/test_http_method_routing.py::TestHttpMethodRouting::test_meta_and_others_disallowed[wsgi-SETECASTRONOMY] PASSED [ 35%] 234s tests/test_httperror.py::TestHTTPError::test_base_class[asgi] PASSED [ 35%] 234s tests/test_httperror.py::TestHTTPError::test_base_class[wsgi] PASSED [ 35%] 234s tests/test_httperror.py::TestHTTPError::test_no_description_json[asgi] PASSED [ 36%] 234s tests/test_httperror.py::TestHTTPError::test_no_description_json[wsgi] PASSED [ 36%] 234s tests/test_httperror.py::TestHTTPError::test_no_description_xml[asgi] PASSED [ 36%] 234s tests/test_httperror.py::TestHTTPError::test_no_description_xml[wsgi] PASSED [ 36%] 234s tests/test_httperror.py::TestHTTPError::test_xml_enable[with_xml-asgi-True] PASSED [ 36%] 234s tests/test_httperror.py::TestHTTPError::test_xml_enable[with_xml-asgi-False] PASSED [ 36%] 234s tests/test_httperror.py::TestHTTPError::test_xml_enable[with_xml-wsgi-True] PASSED [ 36%] 234s tests/test_httperror.py::TestHTTPError::test_xml_enable[with_xml-wsgi-False] PASSED [ 36%] 234s tests/test_httperror.py::TestHTTPError::test_xml_enable[without_xml-asgi-True] PASSED [ 36%] 234s tests/test_httperror.py::TestHTTPError::test_xml_enable[without_xml-asgi-False] PASSED [ 36%] 234s tests/test_httperror.py::TestHTTPError::test_xml_enable[without_xml-wsgi-True] PASSED [ 36%] 234s tests/test_httperror.py::TestHTTPError::test_xml_enable[without_xml-wsgi-False] PASSED [ 36%] 234s tests/test_httperror.py::TestHTTPError::test_xml_enable[default_xml-asgi-True] PASSED [ 36%] 234s tests/test_httperror.py::TestHTTPError::test_xml_enable[default_xml-asgi-False] PASSED [ 36%] 234s tests/test_httperror.py::TestHTTPError::test_xml_enable[default_xml-wsgi-True] PASSED [ 36%] 234s tests/test_httperror.py::TestHTTPError::test_xml_enable[default_xml-wsgi-False] PASSED [ 36%] 234s tests/test_httperror.py::TestHTTPError::test_to_xml_deprecated PASSED [ 36%] 234s tests/test_httperror.py::TestHTTPError::test_client_does_not_accept_json_or_xml[asgi] PASSED [ 36%] 234s tests/test_httperror.py::TestHTTPError::test_client_does_not_accept_json_or_xml[wsgi] PASSED [ 36%] 234s tests/test_httperror.py::TestHTTPError::test_custom_error_serializer[asgi] PASSED [ 36%] 234s tests/test_httperror.py::TestHTTPError::test_custom_error_serializer[wsgi] PASSED [ 36%] 234s tests/test_httperror.py::TestHTTPError::test_custom_error_serializer_optional_representation[asgi-GET-/404-404] PASSED [ 36%] 234s tests/test_httperror.py::TestHTTPError::test_custom_error_serializer_optional_representation[asgi-GET-/notfound-404] PASSED [ 36%] 234s tests/test_httperror.py::TestHTTPError::test_custom_error_serializer_optional_representation[asgi-REPORT-/404-405] PASSED [ 36%] 234s tests/test_httperror.py::TestHTTPError::test_custom_error_serializer_optional_representation[asgi-BREW-/notfound-400] PASSED [ 36%] 234s tests/test_httperror.py::TestHTTPError::test_custom_error_serializer_optional_representation[wsgi-GET-/404-404] PASSED [ 36%] 234s tests/test_httperror.py::TestHTTPError::test_custom_error_serializer_optional_representation[wsgi-GET-/notfound-404] PASSED [ 36%] 234s tests/test_httperror.py::TestHTTPError::test_custom_error_serializer_optional_representation[wsgi-REPORT-/404-405] PASSED [ 36%] 234s tests/test_httperror.py::TestHTTPError::test_custom_error_serializer_optional_representation[wsgi-BREW-/notfound-400] PASSED [ 36%] 234s tests/test_httperror.py::TestHTTPError::test_custom_serializer_no_representation[asgi] PASSED [ 36%] 234s tests/test_httperror.py::TestHTTPError::test_custom_serializer_no_representation[wsgi] PASSED [ 36%] 234s tests/test_httperror.py::TestHTTPError::test_client_does_not_accept_anything[asgi] PASSED [ 36%] 234s tests/test_httperror.py::TestHTTPError::test_client_does_not_accept_anything[wsgi] PASSED [ 36%] 234s tests/test_httperror.py::TestHTTPError::test_forbidden[asgi-application/json] PASSED [ 36%] 234s tests/test_httperror.py::TestHTTPError::test_forbidden[asgi-application/vnd.company.system.project.resource+json;v=1.1] PASSED [ 36%] 234s tests/test_httperror.py::TestHTTPError::test_forbidden[asgi-application/json-patch+json] PASSED [ 36%] 234s tests/test_httperror.py::TestHTTPError::test_forbidden[wsgi-application/json] PASSED [ 36%] 234s tests/test_httperror.py::TestHTTPError::test_forbidden[wsgi-application/vnd.company.system.project.resource+json;v=1.1] PASSED [ 36%] 234s tests/test_httperror.py::TestHTTPError::test_forbidden[wsgi-application/json-patch+json] PASSED [ 36%] 234s tests/test_httperror.py::TestHTTPError::test_epic_fail_json[asgi] PASSED [ 37%] 234s tests/test_httperror.py::TestHTTPError::test_epic_fail_json[wsgi] PASSED [ 37%] 234s tests/test_httperror.py::TestHTTPError::test_epic_fail_xml[asgi-text/xml] PASSED [ 37%] 234s tests/test_httperror.py::TestHTTPError::test_epic_fail_xml[asgi-application/xml] PASSED [ 37%] 234s tests/test_httperror.py::TestHTTPError::test_epic_fail_xml[asgi-application/vnd.company.system.project.resource+xml;v=1.1] PASSED [ 37%] 234s tests/test_httperror.py::TestHTTPError::test_epic_fail_xml[asgi-application/atom+xml] PASSED [ 37%] 234s tests/test_httperror.py::TestHTTPError::test_epic_fail_xml[wsgi-text/xml] PASSED [ 37%] 234s tests/test_httperror.py::TestHTTPError::test_epic_fail_xml[wsgi-application/xml] PASSED [ 37%] 234s tests/test_httperror.py::TestHTTPError::test_epic_fail_xml[wsgi-application/vnd.company.system.project.resource+xml;v=1.1] PASSED [ 37%] 234s tests/test_httperror.py::TestHTTPError::test_epic_fail_xml[wsgi-application/atom+xml] PASSED [ 37%] 234s tests/test_httperror.py::TestHTTPError::test_unicode_json[asgi] PASSED [ 37%] 234s tests/test_httperror.py::TestHTTPError::test_unicode_json[wsgi] PASSED [ 37%] 234s tests/test_httperror.py::TestHTTPError::test_unicode_xml[asgi] PASSED [ 37%] 234s tests/test_httperror.py::TestHTTPError::test_unicode_xml[wsgi] PASSED [ 37%] 234s tests/test_httperror.py::TestHTTPError::test_401[asgi] PASSED [ 37%] 234s tests/test_httperror.py::TestHTTPError::test_401[wsgi] PASSED [ 37%] 234s tests/test_httperror.py::TestHTTPError::test_404_without_body[asgi] PASSED [ 37%] 234s tests/test_httperror.py::TestHTTPError::test_404_without_body[wsgi] PASSED [ 37%] 234s tests/test_httperror.py::TestHTTPError::test_404_with_body[asgi] PASSED [ 37%] 234s tests/test_httperror.py::TestHTTPError::test_404_with_body[wsgi] PASSED [ 37%] 234s tests/test_httperror.py::TestHTTPError::test_405_without_body[asgi] PASSED [ 37%] 234s tests/test_httperror.py::TestHTTPError::test_405_without_body[wsgi] PASSED [ 37%] 234s tests/test_httperror.py::TestHTTPError::test_405_without_body_with_extra_headers[asgi] PASSED [ 37%] 234s tests/test_httperror.py::TestHTTPError::test_405_without_body_with_extra_headers[wsgi] PASSED [ 37%] 234s tests/test_httperror.py::TestHTTPError::test_405_without_body_with_extra_headers_double_check[asgi] PASSED [ 37%] 234s tests/test_httperror.py::TestHTTPError::test_405_without_body_with_extra_headers_double_check[wsgi] PASSED [ 37%] 234s tests/test_httperror.py::TestHTTPError::test_405_with_body[asgi] PASSED [ 37%] 234s tests/test_httperror.py::TestHTTPError::test_405_with_body[wsgi] PASSED [ 37%] 234s tests/test_httperror.py::TestHTTPError::test_410_without_body[asgi] PASSED [ 37%] 234s tests/test_httperror.py::TestHTTPError::test_410_without_body[wsgi] PASSED [ 37%] 234s tests/test_httperror.py::TestHTTPError::test_410_with_body[asgi] PASSED [ 37%] 234s tests/test_httperror.py::TestHTTPError::test_410_with_body[wsgi] PASSED [ 37%] 234s tests/test_httperror.py::TestHTTPError::test_411[asgi] PASSED [ 37%] 234s tests/test_httperror.py::TestHTTPError::test_411[wsgi] PASSED [ 37%] 234s tests/test_httperror.py::TestHTTPError::test_413[asgi] PASSED [ 37%] 234s tests/test_httperror.py::TestHTTPError::test_413[wsgi] PASSED [ 37%] 234s tests/test_httperror.py::TestHTTPError::test_temporary_413_integer_retry_after[asgi] PASSED [ 37%] 234s tests/test_httperror.py::TestHTTPError::test_temporary_413_integer_retry_after[wsgi] PASSED [ 37%] 234s tests/test_httperror.py::TestHTTPError::test_temporary_413_datetime_retry_after[asgi] PASSED [ 37%] 234s tests/test_httperror.py::TestHTTPError::test_temporary_413_datetime_retry_after[wsgi] PASSED [ 38%] 234s tests/test_httperror.py::TestHTTPError::test_414[asgi] PASSED [ 38%] 234s tests/test_httperror.py::TestHTTPError::test_414[wsgi] PASSED [ 38%] 234s tests/test_httperror.py::TestHTTPError::test_414_with_title[asgi] PASSED [ 38%] 234s tests/test_httperror.py::TestHTTPError::test_414_with_title[wsgi] PASSED [ 38%] 234s tests/test_httperror.py::TestHTTPError::test_414_with_description[asgi] PASSED [ 38%] 234s tests/test_httperror.py::TestHTTPError::test_414_with_description[wsgi] PASSED [ 38%] 234s tests/test_httperror.py::TestHTTPError::test_414_with_custom_kwargs[asgi] PASSED [ 38%] 234s tests/test_httperror.py::TestHTTPError::test_414_with_custom_kwargs[wsgi] PASSED [ 38%] 234s tests/test_httperror.py::TestHTTPError::test_416[asgi] PASSED [ 38%] 234s tests/test_httperror.py::TestHTTPError::test_416[wsgi] PASSED [ 38%] 234s tests/test_httperror.py::TestHTTPError::test_429_no_retry_after[asgi] PASSED [ 38%] 234s tests/test_httperror.py::TestHTTPError::test_429_no_retry_after[wsgi] PASSED [ 38%] 234s tests/test_httperror.py::TestHTTPError::test_429[asgi] PASSED [ 38%] 234s tests/test_httperror.py::TestHTTPError::test_429[wsgi] PASSED [ 38%] 234s tests/test_httperror.py::TestHTTPError::test_429_datetime[asgi] PASSED [ 38%] 234s tests/test_httperror.py::TestHTTPError::test_429_datetime[wsgi] PASSED [ 38%] 234s tests/test_httperror.py::TestHTTPError::test_503_integer_retry_after[asgi] PASSED [ 38%] 234s tests/test_httperror.py::TestHTTPError::test_503_integer_retry_after[wsgi] PASSED [ 38%] 234s tests/test_httperror.py::TestHTTPError::test_503_datetime_retry_after[asgi] PASSED [ 38%] 234s tests/test_httperror.py::TestHTTPError::test_503_datetime_retry_after[wsgi] PASSED [ 38%] 234s tests/test_httperror.py::TestHTTPError::test_invalid_header[asgi] PASSED [ 38%] 234s tests/test_httperror.py::TestHTTPError::test_invalid_header[wsgi] PASSED [ 38%] 234s tests/test_httperror.py::TestHTTPError::test_missing_header[asgi] PASSED [ 38%] 234s tests/test_httperror.py::TestHTTPError::test_missing_header[wsgi] PASSED [ 38%] 234s tests/test_httperror.py::TestHTTPError::test_invalid_param[asgi] PASSED [ 38%] 234s tests/test_httperror.py::TestHTTPError::test_invalid_param[wsgi] PASSED [ 38%] 234s tests/test_httperror.py::TestHTTPError::test_missing_param[asgi] PASSED [ 38%] 234s tests/test_httperror.py::TestHTTPError::test_missing_param[wsgi] PASSED [ 38%] 234s tests/test_httperror.py::TestHTTPError::test_misc[asgi] PASSED [ 38%] 234s tests/test_httperror.py::TestHTTPError::test_misc[wsgi] PASSED [ 38%] 234s tests/test_httperror.py::TestHTTPError::test_title_default_message_if_none[asgi-503 Service Unavailable-str] PASSED [ 38%] 234s tests/test_httperror.py::TestHTTPError::test_title_default_message_if_none[asgi-503 Service Unavailable-bytes] PASSED [ 38%] 234s tests/test_httperror.py::TestHTTPError::test_title_default_message_if_none[asgi-503-int] PASSED [ 38%] 234s tests/test_httperror.py::TestHTTPError::test_title_default_message_if_none[asgi-503-str] PASSED [ 38%] 234s tests/test_httperror.py::TestHTTPError::test_title_default_message_if_none[asgi-503-bytes] PASSED [ 38%] 234s tests/test_httperror.py::TestHTTPError::test_title_default_message_if_none[asgi-503-HTTPStatus] PASSED [ 38%] 234s tests/test_httperror.py::TestHTTPError::test_title_default_message_if_none[wsgi-503 Service Unavailable-str] PASSED [ 38%] 234s tests/test_httperror.py::TestHTTPError::test_title_default_message_if_none[wsgi-503 Service Unavailable-bytes] PASSED [ 38%] 234s tests/test_httperror.py::TestHTTPError::test_title_default_message_if_none[wsgi-503-int] PASSED [ 39%] 234s tests/test_httperror.py::TestHTTPError::test_title_default_message_if_none[wsgi-503-str] PASSED [ 39%] 234s tests/test_httperror.py::TestHTTPError::test_title_default_message_if_none[wsgi-503-bytes] PASSED [ 39%] 234s tests/test_httperror.py::TestHTTPError::test_title_default_message_if_none[wsgi-503-HTTPStatus] PASSED [ 39%] 234s tests/test_httperror.py::TestHTTPError::test_to_json_dumps PASSED [ 39%] 234s tests/test_httperror.py::TestHTTPError::test_serialize_error_uses_media_handler[asgi] PASSED [ 39%] 234s tests/test_httperror.py::TestHTTPError::test_serialize_error_uses_media_handler[wsgi] PASSED [ 39%] 234s tests/test_httperror.py::TestHTTPError::test_serialize_no_json_media_handler[asgi] PASSED [ 39%] 234s tests/test_httperror.py::TestHTTPError::test_serialize_no_json_media_handler[wsgi] PASSED [ 39%] 234s tests/test_httperror.py::TestHTTPError::test_MediaMalformedError PASSED [ 39%] 234s tests/test_httperror.py::TestHTTPError::test_kw_only PASSED [ 39%] 234s tests/test_httperror.py::TestDefaultSerializeError::test_unknown_accept[asgi] PASSED [ 39%] 234s tests/test_httperror.py::TestDefaultSerializeError::test_unknown_accept[wsgi] PASSED [ 39%] 234s tests/test_httperror.py::TestDefaultSerializeError::test_defaults_to_json[asgi-True] PASSED [ 39%] 234s tests/test_httperror.py::TestDefaultSerializeError::test_defaults_to_json[asgi-False] PASSED [ 39%] 234s tests/test_httperror.py::TestDefaultSerializeError::test_defaults_to_json[wsgi-True] PASSED [ 39%] 234s tests/test_httperror.py::TestDefaultSerializeError::test_defaults_to_json[wsgi-False] PASSED [ 39%] 234s tests/test_httperror.py::TestDefaultSerializeError::test_serializes_error_to_preferred_by_sender[asgi-application/json-application/json-{"title": "410 Gone"}] PASSED [ 39%] 234s tests/test_httperror.py::TestDefaultSerializeError::test_serializes_error_to_preferred_by_sender[asgi-application/xml-application/xml-410 Gone] PASSED [ 39%] 234s tests/test_httperror.py::TestDefaultSerializeError::test_serializes_error_to_preferred_by_sender[asgi-custom/any+json-application/json-{"title": "410 Gone"}] PASSED [ 39%] 234s tests/test_httperror.py::TestDefaultSerializeError::test_serializes_error_to_preferred_by_sender[asgi-custom/any+xml-application/xml-410 Gone] PASSED [ 39%] 234s tests/test_httperror.py::TestDefaultSerializeError::test_serializes_error_to_preferred_by_sender[asgi-application/yaml-application/yaml-title: 410 Gone!] PASSED [ 39%] 234s tests/test_httperror.py::TestDefaultSerializeError::test_serializes_error_to_preferred_by_sender[asgi-application/only_async-application/only_async-this is async] PASSED [ 39%] 234s tests/test_httperror.py::TestDefaultSerializeError::test_serializes_error_to_preferred_by_sender[asgi-application/async_with_sync-application/async_with_sync-this is sync instead] PASSED [ 39%] 234s tests/test_httperror.py::TestDefaultSerializeError::test_serializes_error_to_preferred_by_sender[wsgi-application/json-application/json-{"title": "410 Gone"}] PASSED [ 39%] 234s tests/test_httperror.py::TestDefaultSerializeError::test_serializes_error_to_preferred_by_sender[wsgi-application/xml-application/xml-410 Gone] PASSED [ 39%] 234s tests/test_httperror.py::TestDefaultSerializeError::test_serializes_error_to_preferred_by_sender[wsgi-custom/any+json-application/json-{"title": "410 Gone"}] PASSED [ 39%] 234s tests/test_httperror.py::TestDefaultSerializeError::test_serializes_error_to_preferred_by_sender[wsgi-custom/any+xml-application/xml-410 Gone] PASSED [ 39%] 234s tests/test_httperror.py::TestDefaultSerializeError::test_serializes_error_to_preferred_by_sender[wsgi-application/yaml-application/yaml-title: 410 Gone!] PASSED [ 39%] 234s tests/test_httperror.py::TestDefaultSerializeError::test_serializes_error_to_preferred_by_sender[wsgi-application/only_async-application/only_async-this is async] PASSED [ 39%] 234s tests/test_httperror.py::TestDefaultSerializeError::test_serializes_error_to_preferred_by_sender[wsgi-application/async_with_sync-application/async_with_sync-this is sync instead] PASSED [ 39%] 234s tests/test_httperror.py::TestDefaultSerializeError::test_json_async_only_error PASSED [ 39%] 234s tests/test_httperror.py::TestDefaultSerializeError::test_add_xml_handler[with_xml-asgi-application/xml] PASSED [ 39%] 234s tests/test_httperror.py::TestDefaultSerializeError::test_add_xml_handler[with_xml-asgi-application/xhtml+xml] PASSED [ 39%] 234s tests/test_httperror.py::TestDefaultSerializeError::test_add_xml_handler[with_xml-wsgi-application/xml] PASSED [ 39%] 234s tests/test_httperror.py::TestDefaultSerializeError::test_add_xml_handler[with_xml-wsgi-application/xhtml+xml] PASSED [ 39%] 234s tests/test_httperror.py::TestDefaultSerializeError::test_add_xml_handler[without_xml-asgi-application/xml] PASSED [ 39%] 234s tests/test_httperror.py::TestDefaultSerializeError::test_add_xml_handler[without_xml-asgi-application/xhtml+xml] PASSED [ 39%] 234s tests/test_httperror.py::TestDefaultSerializeError::test_add_xml_handler[without_xml-wsgi-application/xml] PASSED [ 39%] 234s tests/test_httperror.py::TestDefaultSerializeError::test_add_xml_handler[without_xml-wsgi-application/xhtml+xml] PASSED [ 40%] 234s tests/test_httperror.py::TestDefaultSerializeError::test_add_xml_handler[default_xml-asgi-application/xml] PASSED [ 40%] 234s tests/test_httperror.py::TestDefaultSerializeError::test_add_xml_handler[default_xml-asgi-application/xhtml+xml] PASSED [ 40%] 234s tests/test_httperror.py::TestDefaultSerializeError::test_add_xml_handler[default_xml-wsgi-application/xml] PASSED [ 40%] 234s tests/test_httperror.py::TestDefaultSerializeError::test_add_xml_handler[default_xml-wsgi-application/xhtml+xml] PASSED [ 40%] 234s tests/test_httperror.py::TestDefaultSerializeError::test_hard_content_types[with_xml-asgi-text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/png,image/svg+xml,*/*;q=0.8-application/xml] PASSED [ 40%] 234s tests/test_httperror.py::TestDefaultSerializeError::test_hard_content_types[with_xml-asgi-text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8-application/xml] PASSED [ 40%] 234s tests/test_httperror.py::TestDefaultSerializeError::test_hard_content_types[with_xml-asgi-text/html, application/xhtml+xml, image/jxr, */*-application/json] PASSED [ 40%] 234s tests/test_httperror.py::TestDefaultSerializeError::test_hard_content_types[with_xml-asgi-text/html,application/yaml;q=0.8,*/*;q=0.7-application/yaml] PASSED [ 40%] 234s tests/test_httperror.py::TestDefaultSerializeError::test_hard_content_types[with_xml-asgi-text/html,application/yaml;q=0.8,application/json;q=0.8-application/json] PASSED [ 40%] 234s tests/test_httperror.py::TestDefaultSerializeError::test_hard_content_types[with_xml-wsgi-text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/png,image/svg+xml,*/*;q=0.8-application/xml] PASSED [ 40%] 234s tests/test_httperror.py::TestDefaultSerializeError::test_hard_content_types[with_xml-wsgi-text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8-application/xml] PASSED [ 40%] 234s tests/test_httperror.py::TestDefaultSerializeError::test_hard_content_types[with_xml-wsgi-text/html, application/xhtml+xml, image/jxr, */*-application/json] PASSED [ 40%] 234s tests/test_httperror.py::TestDefaultSerializeError::test_hard_content_types[with_xml-wsgi-text/html,application/yaml;q=0.8,*/*;q=0.7-application/yaml] PASSED [ 40%] 234s tests/test_httperror.py::TestDefaultSerializeError::test_hard_content_types[with_xml-wsgi-text/html,application/yaml;q=0.8,application/json;q=0.8-application/json] PASSED [ 40%] 234s tests/test_httperror.py::TestDefaultSerializeError::test_hard_content_types[without_xml-asgi-text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/png,image/svg+xml,*/*;q=0.8-application/xml] PASSED [ 40%] 234s tests/test_httperror.py::TestDefaultSerializeError::test_hard_content_types[without_xml-asgi-text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8-application/xml] PASSED [ 40%] 234s tests/test_httperror.py::TestDefaultSerializeError::test_hard_content_types[without_xml-asgi-text/html, application/xhtml+xml, image/jxr, */*-application/json] PASSED [ 40%] 234s tests/test_httperror.py::TestDefaultSerializeError::test_hard_content_types[without_xml-asgi-text/html,application/yaml;q=0.8,*/*;q=0.7-application/yaml] PASSED [ 40%] 234s tests/test_httperror.py::TestDefaultSerializeError::test_hard_content_types[without_xml-asgi-text/html,application/yaml;q=0.8,application/json;q=0.8-application/json] PASSED [ 40%] 234s tests/test_httperror.py::TestDefaultSerializeError::test_hard_content_types[without_xml-wsgi-text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/png,image/svg+xml,*/*;q=0.8-application/xml] PASSED [ 40%] 234s tests/test_httperror.py::TestDefaultSerializeError::test_hard_content_types[without_xml-wsgi-text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8-application/xml] PASSED [ 40%] 234s tests/test_httperror.py::TestDefaultSerializeError::test_hard_content_types[without_xml-wsgi-text/html, application/xhtml+xml, image/jxr, */*-application/json] PASSED [ 40%] 234s tests/test_httperror.py::TestDefaultSerializeError::test_hard_content_types[without_xml-wsgi-text/html,application/yaml;q=0.8,*/*;q=0.7-application/yaml] PASSED [ 40%] 234s tests/test_httperror.py::TestDefaultSerializeError::test_hard_content_types[without_xml-wsgi-text/html,application/yaml;q=0.8,application/json;q=0.8-application/json] PASSED [ 40%] 234s tests/test_httperror.py::TestDefaultSerializeError::test_hard_content_types[default_xml-asgi-text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/png,image/svg+xml,*/*;q=0.8-application/xml] PASSED [ 40%] 234s tests/test_httperror.py::TestDefaultSerializeError::test_hard_content_types[default_xml-asgi-text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8-application/xml] PASSED [ 40%] 234s tests/test_httperror.py::TestDefaultSerializeError::test_hard_content_types[default_xml-asgi-text/html, application/xhtml+xml, image/jxr, */*-application/json] PASSED [ 40%] 234s tests/test_httperror.py::TestDefaultSerializeError::test_hard_content_types[default_xml-asgi-text/html,application/yaml;q=0.8,*/*;q=0.7-application/yaml] PASSED [ 40%] 234s tests/test_httperror.py::TestDefaultSerializeError::test_hard_content_types[default_xml-asgi-text/html,application/yaml;q=0.8,application/json;q=0.8-application/json] PASSED [ 40%] 234s tests/test_httperror.py::TestDefaultSerializeError::test_hard_content_types[default_xml-wsgi-text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/png,image/svg+xml,*/*;q=0.8-application/xml] PASSED [ 40%] 234s tests/test_httperror.py::TestDefaultSerializeError::test_hard_content_types[default_xml-wsgi-text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8-application/xml] PASSED [ 40%] 234s tests/test_httperror.py::TestDefaultSerializeError::test_hard_content_types[default_xml-wsgi-text/html, application/xhtml+xml, image/jxr, */*-application/json] PASSED [ 40%] 234s tests/test_httperror.py::TestDefaultSerializeError::test_hard_content_types[default_xml-wsgi-text/html,application/yaml;q=0.8,*/*;q=0.7-application/yaml] PASSED [ 40%] 234s tests/test_httperror.py::TestDefaultSerializeError::test_hard_content_types[default_xml-wsgi-text/html,application/yaml;q=0.8,application/json;q=0.8-application/json] PASSED [ 40%] 234s tests/test_httpstatus.py::TestHTTPStatus::test_raise_status_in_before_hook[asgi] PASSED [ 40%] 234s tests/test_httpstatus.py::TestHTTPStatus::test_raise_status_in_before_hook[wsgi] PASSED [ 40%] 234s tests/test_httpstatus.py::TestHTTPStatus::test_raise_status_in_responder[asgi] PASSED [ 40%] 234s tests/test_httpstatus.py::TestHTTPStatus::test_raise_status_in_responder[wsgi] PASSED [ 40%] 234s tests/test_httpstatus.py::TestHTTPStatus::test_raise_status_runs_after_hooks[asgi] PASSED [ 40%] 234s tests/test_httpstatus.py::TestHTTPStatus::test_raise_status_runs_after_hooks[wsgi] PASSED [ 41%] 234s tests/test_httpstatus.py::TestHTTPStatus::test_raise_status_survives_after_hooks[asgi] PASSED [ 41%] 234s tests/test_httpstatus.py::TestHTTPStatus::test_raise_status_survives_after_hooks[wsgi] PASSED [ 41%] 234s tests/test_httpstatus.py::TestHTTPStatus::test_raise_status_empty_body[asgi] PASSED [ 41%] 234s tests/test_httpstatus.py::TestHTTPStatus::test_raise_status_empty_body[wsgi] PASSED [ 41%] 234s tests/test_httpstatus.py::TestHTTPStatusWithMiddleware::test_raise_status_in_process_request[asgi] PASSED [ 41%] 234s tests/test_httpstatus.py::TestHTTPStatusWithMiddleware::test_raise_status_in_process_request[wsgi] PASSED [ 41%] 234s tests/test_httpstatus.py::TestHTTPStatusWithMiddleware::test_raise_status_in_process_resource[asgi] PASSED [ 41%] 234s tests/test_httpstatus.py::TestHTTPStatusWithMiddleware::test_raise_status_in_process_resource[wsgi] PASSED [ 41%] 234s tests/test_httpstatus.py::TestHTTPStatusWithMiddleware::test_raise_status_runs_process_response[asgi] PASSED [ 41%] 234s tests/test_httpstatus.py::TestHTTPStatusWithMiddleware::test_raise_status_runs_process_response[wsgi] PASSED [ 41%] 234s tests/test_httpstatus.py::TestNoBodyWithStatus::test_data_is_set[asgi] PASSED [ 41%] 234s tests/test_httpstatus.py::TestNoBodyWithStatus::test_data_is_set[wsgi] PASSED [ 41%] 234s tests/test_httpstatus.py::TestNoBodyWithStatus::test_media_is_set[asgi] PASSED [ 41%] 234s tests/test_httpstatus.py::TestNoBodyWithStatus::test_media_is_set[wsgi] PASSED [ 41%] 234s tests/test_httpstatus.py::TestNoBodyWithStatus::test_body_is_set[asgi] PASSED [ 41%] 234s tests/test_httpstatus.py::TestNoBodyWithStatus::test_body_is_set[wsgi] PASSED [ 41%] 234s tests/test_httpstatus.py::test_non_string_status[asgi-200-200_0] PASSED [ 41%] 234s tests/test_httpstatus.py::test_non_string_status[asgi-202-202] PASSED [ 41%] 234s tests/test_httpstatus.py::test_non_string_status[asgi-403-403] PASSED [ 41%] 234s tests/test_httpstatus.py::test_non_string_status[asgi-500-500_0] PASSED [ 41%] 234s tests/test_httpstatus.py::test_non_string_status[asgi-200-200_1] PASSED [ 41%] 234s tests/test_httpstatus.py::test_non_string_status[asgi-305-305] PASSED [ 41%] 234s tests/test_httpstatus.py::test_non_string_status[asgi-404-404] PASSED [ 41%] 234s tests/test_httpstatus.py::test_non_string_status[asgi-501-501] PASSED [ 41%] 234s tests/test_httpstatus.py::test_non_string_status[asgi-200-200_2] PASSED [ 41%] 234s tests/test_httpstatus.py::test_non_string_status[asgi-307-307] PASSED [ 41%] 234s tests/test_httpstatus.py::test_non_string_status[asgi-500-500_1] PASSED [ 41%] 234s tests/test_httpstatus.py::test_non_string_status[asgi-702-702] PASSED [ 41%] 234s tests/test_httpstatus.py::test_non_string_status[asgi-200 OK-200] PASSED [ 41%] 234s tests/test_httpstatus.py::test_non_string_status[asgi-702 Emacs-702] PASSED [ 41%] 234s tests/test_httpstatus.py::test_non_string_status[wsgi-200-200_0] PASSED [ 41%] 234s tests/test_httpstatus.py::test_non_string_status[wsgi-202-202] PASSED [ 41%] 234s tests/test_httpstatus.py::test_non_string_status[wsgi-403-403] PASSED [ 41%] 234s tests/test_httpstatus.py::test_non_string_status[wsgi-500-500_0] PASSED [ 41%] 234s tests/test_httpstatus.py::test_non_string_status[wsgi-200-200_1] PASSED [ 41%] 234s tests/test_httpstatus.py::test_non_string_status[wsgi-305-305] PASSED [ 41%] 234s tests/test_httpstatus.py::test_non_string_status[wsgi-404-404] PASSED [ 41%] 234s tests/test_httpstatus.py::test_non_string_status[wsgi-501-501] PASSED [ 41%] 234s tests/test_httpstatus.py::test_non_string_status[wsgi-200-200_2] PASSED [ 42%] 234s tests/test_httpstatus.py::test_non_string_status[wsgi-307-307] PASSED [ 42%] 234s tests/test_httpstatus.py::test_non_string_status[wsgi-500-500_1] PASSED [ 42%] 234s tests/test_httpstatus.py::test_non_string_status[wsgi-702-702] PASSED [ 42%] 234s tests/test_httpstatus.py::test_non_string_status[wsgi-200 OK-200] PASSED [ 42%] 234s tests/test_httpstatus.py::test_non_string_status[wsgi-702 Emacs-702] PASSED [ 42%] 234s tests/test_httpstatus.py::test_deprecated_body PASSED [ 42%] 234s tests/test_inspect.py::TestInspectApp::test_empty_app[asgi] PASSED [ 42%] 234s tests/test_inspect.py::TestInspectApp::test_empty_app[wsgi] PASSED [ 42%] 234s tests/test_inspect.py::TestInspectApp::test_dependent_middleware[asgi] PASSED [ 42%] 234s tests/test_inspect.py::TestInspectApp::test_dependent_middleware[wsgi] PASSED [ 42%] 234s tests/test_inspect.py::TestInspectApp::test_app[asgi] PASSED [ 42%] 234s tests/test_inspect.py::TestInspectApp::test_app[wsgi] PASSED [ 42%] 234s tests/test_inspect.py::TestInspectApp::test_routes[asgi] PASSED [ 42%] 234s tests/test_inspect.py::TestInspectApp::test_routes[wsgi] PASSED [ 42%] 234s tests/test_inspect.py::TestInspectApp::test_routes_empty_paths[asgi] PASSED [ 42%] 234s tests/test_inspect.py::TestInspectApp::test_routes_empty_paths[wsgi] PASSED [ 42%] 234s tests/test_inspect.py::TestInspectApp::test_static_routes[asgi] PASSED [ 42%] 234s tests/test_inspect.py::TestInspectApp::test_static_routes[wsgi] PASSED [ 42%] 234s tests/test_inspect.py::TestInspectApp::test_sink[asgi] PASSED [ 42%] 234s tests/test_inspect.py::TestInspectApp::test_sink[wsgi] PASSED [ 42%] 234s tests/test_inspect.py::TestInspectApp::test_error_handler[asgi] PASSED [ 42%] 234s tests/test_inspect.py::TestInspectApp::test_error_handler[wsgi] PASSED [ 42%] 234s tests/test_inspect.py::TestInspectApp::test_middleware[asgi] PASSED [ 42%] 234s tests/test_inspect.py::TestInspectApp::test_middleware[wsgi] PASSED [ 42%] 234s tests/test_inspect.py::TestInspectApp::test_middleware_tree[asgi] PASSED [ 42%] 234s tests/test_inspect.py::TestInspectApp::test_middleware_tree[wsgi] PASSED [ 42%] 234s tests/test_inspect.py::test_route_method_info_suffix PASSED [ 42%] 234s tests/test_inspect.py::TestRouter::test_compiled_partial PASSED [ 42%] 234s tests/test_inspect.py::TestRouter::test_compiled_no_method_map PASSED [ 42%] 234s tests/test_inspect.py::TestRouter::test_register_router_not_found PASSED [ 42%] 234s tests/test_inspect.py::TestRouter::test_register_other_router PASSED [ 42%] 234s tests/test_inspect.py::TestRouter::test_register_router_multiple_time PASSED [ 42%] 234s tests/test_inspect.py::test_info_class_repr_to_string PASSED [ 42%] 234s tests/test_inspect.py::TestInspectVisitor::test_inspect_visitor PASSED [ 42%] 234s tests/test_inspect.py::TestInspectVisitor::test_process PASSED [ 42%] 234s tests/test_inspect.py::test_string_visitor_class PASSED [ 42%] 234s tests/test_inspect.py::TestStringVisitor::test_route_method[True] PASSED [ 42%] 234s tests/test_inspect.py::TestStringVisitor::test_route_method[False] PASSED [ 42%] 234s tests/test_inspect.py::TestStringVisitor::test_route_method_verbose[True] PASSED [ 43%] 234s tests/test_inspect.py::TestStringVisitor::test_route_method_verbose[False] PASSED [ 43%] 234s tests/test_inspect.py::TestStringVisitor::test_route[True] PASSED [ 43%] 234s tests/test_inspect.py::TestStringVisitor::test_route[False] PASSED [ 43%] 234s tests/test_inspect.py::TestStringVisitor::test_route_verbose[True] PASSED [ 43%] 234s tests/test_inspect.py::TestStringVisitor::test_route_verbose[False] PASSED [ 43%] 234s tests/test_inspect.py::TestStringVisitor::test_route_no_methods[True] PASSED [ 43%] 234s tests/test_inspect.py::TestStringVisitor::test_route_no_methods[False] PASSED [ 43%] 234s tests/test_inspect.py::TestStringVisitor::test_static_route[True-True] PASSED [ 43%] 234s tests/test_inspect.py::TestStringVisitor::test_static_route[True-False] PASSED [ 43%] 234s tests/test_inspect.py::TestStringVisitor::test_static_route[False-True] PASSED [ 43%] 234s tests/test_inspect.py::TestStringVisitor::test_static_route[False-False] PASSED [ 43%] 234s tests/test_inspect.py::TestStringVisitor::test_sink[True] PASSED [ 43%] 234s tests/test_inspect.py::TestStringVisitor::test_sink[False] PASSED [ 43%] 234s tests/test_inspect.py::TestStringVisitor::test_sink_verbose[True] PASSED [ 43%] 234s tests/test_inspect.py::TestStringVisitor::test_sink_verbose[False] PASSED [ 43%] 234s tests/test_inspect.py::TestStringVisitor::test_error_handler[True] PASSED [ 43%] 234s tests/test_inspect.py::TestStringVisitor::test_error_handler[False] PASSED [ 43%] 234s tests/test_inspect.py::TestStringVisitor::test_error_handler_verbose[True] PASSED [ 43%] 234s tests/test_inspect.py::TestStringVisitor::test_error_handler_verbose[False] PASSED [ 43%] 234s tests/test_inspect.py::TestStringVisitor::test_middleware_method[True] PASSED [ 43%] 234s tests/test_inspect.py::TestStringVisitor::test_middleware_method[False] PASSED [ 43%] 234s tests/test_inspect.py::TestStringVisitor::test_middleware_method_verbose[True] PASSED [ 43%] 234s tests/test_inspect.py::TestStringVisitor::test_middleware_method_verbose[False] PASSED [ 43%] 234s tests/test_inspect.py::TestStringVisitor::test_middleware_class[True] PASSED [ 43%] 234s tests/test_inspect.py::TestStringVisitor::test_middleware_class[False] PASSED [ 43%] 234s tests/test_inspect.py::TestStringVisitor::test_middleware_class_verbose[True] PASSED [ 43%] 234s tests/test_inspect.py::TestStringVisitor::test_middleware_class_verbose[False] PASSED [ 43%] 234s tests/test_inspect.py::TestStringVisitor::test_middleware_class_no_methods[True] PASSED [ 43%] 234s tests/test_inspect.py::TestStringVisitor::test_middleware_class_no_methods[False] PASSED [ 43%] 234s tests/test_inspect.py::TestStringVisitor::test_middleware_tree_item[True-True] PASSED [ 43%] 234s tests/test_inspect.py::TestStringVisitor::test_middleware_tree_item[True-False] PASSED [ 43%] 234s tests/test_inspect.py::TestStringVisitor::test_middleware_tree_item[False-True] PASSED [ 43%] 234s tests/test_inspect.py::TestStringVisitor::test_middleware_tree_item[False-False] PASSED [ 43%] 234s tests/test_inspect.py::TestStringVisitor::test_middleware_tree[True-True] PASSED [ 43%] 234s tests/test_inspect.py::TestStringVisitor::test_middleware_tree[True-False] PASSED [ 43%] 234s tests/test_inspect.py::TestStringVisitor::test_middleware_tree[False-True] PASSED [ 43%] 234s tests/test_inspect.py::TestStringVisitor::test_middleware_tree[False-False] PASSED [ 43%] 234s tests/test_inspect.py::TestStringVisitor::test_middleware_tree_response_only[True] PASSED [ 43%] 234s tests/test_inspect.py::TestStringVisitor::test_middleware_tree_response_only[False] PASSED [ 44%] 234s tests/test_inspect.py::TestStringVisitor::test_middleware_tree_no_response[True] PASSED [ 44%] 234s tests/test_inspect.py::TestStringVisitor::test_middleware_tree_no_response[False] PASSED [ 44%] 234s tests/test_inspect.py::TestStringVisitor::test_middleware_tree_no_resource[True] PASSED [ 44%] 234s tests/test_inspect.py::TestStringVisitor::test_middleware_tree_no_resource[False] PASSED [ 44%] 234s tests/test_inspect.py::TestStringVisitor::test_middleware[True] PASSED [ 44%] 234s tests/test_inspect.py::TestStringVisitor::test_middleware[False] PASSED [ 44%] 234s tests/test_inspect.py::TestStringVisitor::test_middleware_verbose[True] PASSED [ 44%] 234s tests/test_inspect.py::TestStringVisitor::test_middleware_verbose[False] PASSED [ 44%] 234s tests/test_inspect.py::TestStringVisitor::test_app[True-True] PASSED [ 44%] 234s tests/test_inspect.py::TestStringVisitor::test_app[True-False] PASSED [ 44%] 234s tests/test_inspect.py::TestStringVisitor::test_app[False-True] PASSED [ 44%] 234s tests/test_inspect.py::TestStringVisitor::test_app[False-False] PASSED [ 44%] 234s tests/test_inspect.py::TestStringVisitor::test_app_no_routes[True-True] PASSED [ 44%] 234s tests/test_inspect.py::TestStringVisitor::test_app_no_routes[True-False] PASSED [ 44%] 234s tests/test_inspect.py::TestStringVisitor::test_app_no_routes[False-True] PASSED [ 44%] 234s tests/test_inspect.py::TestStringVisitor::test_app_no_routes[False-False] PASSED [ 44%] 234s tests/test_inspect.py::TestStringVisitor::test_app_no_middleware[True-True] PASSED [ 44%] 234s tests/test_inspect.py::TestStringVisitor::test_app_no_middleware[True-False] PASSED [ 44%] 234s tests/test_inspect.py::TestStringVisitor::test_app_no_middleware[False-True] PASSED [ 44%] 234s tests/test_inspect.py::TestStringVisitor::test_app_no_middleware[False-False] PASSED [ 44%] 234s tests/test_inspect.py::TestStringVisitor::test_app_static_routes[True-True] PASSED [ 44%] 234s tests/test_inspect.py::TestStringVisitor::test_app_static_routes[True-False] PASSED [ 44%] 234s tests/test_inspect.py::TestStringVisitor::test_app_static_routes[False-True] PASSED [ 44%] 234s tests/test_inspect.py::TestStringVisitor::test_app_static_routes[False-False] PASSED [ 44%] 234s tests/test_inspect.py::TestStringVisitor::test_app_no_sink[True-True] PASSED [ 44%] 234s tests/test_inspect.py::TestStringVisitor::test_app_no_sink[True-False] PASSED [ 44%] 234s tests/test_inspect.py::TestStringVisitor::test_app_no_sink[False-True] PASSED [ 44%] 234s tests/test_inspect.py::TestStringVisitor::test_app_no_sink[False-False] PASSED [ 44%] 234s tests/test_inspect.py::TestStringVisitor::test_app_no_errors[True-True] PASSED [ 44%] 234s tests/test_inspect.py::TestStringVisitor::test_app_no_errors[True-False] PASSED [ 44%] 234s tests/test_inspect.py::TestStringVisitor::test_app_no_errors[False-True] PASSED [ 44%] 234s tests/test_inspect.py::TestStringVisitor::test_app_no_errors[False-False] PASSED [ 44%] 234s tests/test_inspect.py::TestStringVisitor::test_app_name[True] PASSED [ 44%] 234s tests/test_inspect.py::TestStringVisitor::test_app_name[False] PASSED [ 44%] 234s tests/test_inspect.py::test_is_internal PASSED [ 44%] 234s tests/test_media_handlers.py::test_check_json_library[mujson] PASSED [ 44%] 234s tests/test_media_handlers.py::test_check_json_library[orjson] SKIPPED [ 44%] 234s tests/test_media_handlers.py::test_check_json_library[rapidjson] PASSED [ 44%] 234s tests/test_media_handlers.py::test_check_json_library[ujson] PASSED [ 45%] 234s tests/test_media_handlers.py::test_serialization[asgi-None-body0-{"test":"value"}] PASSED [ 45%] 234s tests/test_media_handlers.py::test_serialization[asgi-func1-body1-[{"test":"value"},{"ensure_ascii":true}]] PASSED [ 45%] 234s tests/test_media_handlers.py::test_serialization[asgi-None-body2-{"yen":"\xc2\xa5"}] PASSED [ 45%] 234s tests/test_media_handlers.py::test_serialization[asgi-func3-body3-{"test":"value"}] PASSED [ 45%] 234s tests/test_media_handlers.py::test_serialization[asgi-dumps-body4-{"test":"value"}] PASSED [ 45%] 234s tests/test_media_handlers.py::test_serialization[asgi-dumps-body5-{"test":"value"}] PASSED [ 45%] 234s tests/test_media_handlers.py::test_serialization[wsgi-None-body0-{"test":"value"}] PASSED [ 45%] 234s tests/test_media_handlers.py::test_serialization[wsgi-func1-body1-[{"test":"value"},{"ensure_ascii":true}]] PASSED [ 45%] 234s tests/test_media_handlers.py::test_serialization[wsgi-None-body2-{"yen":"\xc2\xa5"}] PASSED [ 45%] 234s tests/test_media_handlers.py::test_serialization[wsgi-func3-body3-{"test":"value"}] PASSED [ 45%] 234s tests/test_media_handlers.py::test_serialization[wsgi-dumps-body4-{"test":"value"}] PASSED [ 45%] 234s tests/test_media_handlers.py::test_serialization[wsgi-dumps-body5-{"test":"value"}] PASSED [ 45%] 234s tests/test_media_handlers.py::test_deserialization[asgi-None-[1, 2]-expected0] PASSED [ 45%] 234s tests/test_media_handlers.py::test_deserialization[asgi-func1-{"key": "value"}-expected1] PASSED [ 45%] 234s tests/test_media_handlers.py::test_deserialization[asgi-temp_json_func-{"test": "value"}-expected2] PASSED [ 45%] 234s tests/test_media_handlers.py::test_deserialization[asgi-loads-{"test": "value"}-expected3] PASSED [ 45%] 234s tests/test_media_handlers.py::test_deserialization[asgi-loads-{"test": "value"}-expected4] PASSED [ 45%] 234s tests/test_media_handlers.py::test_deserialization[wsgi-None-[1, 2]-expected0] PASSED [ 45%] 234s tests/test_media_handlers.py::test_deserialization[wsgi-func1-{"key": "value"}-expected1] PASSED [ 45%] 234s tests/test_media_handlers.py::test_deserialization[wsgi-temp_json_func-{"test": "value"}-expected2] PASSED [ 45%] 234s tests/test_media_handlers.py::test_deserialization[wsgi-loads-{"test": "value"}-expected3] PASSED [ 45%] 234s tests/test_media_handlers.py::test_deserialization[wsgi-loads-{"test": "value"}-expected4] PASSED [ 45%] 234s tests/test_media_handlers.py::test_full_app[asgi-True-stdlib] PASSED [ 45%] 234s tests/test_media_handlers.py::test_full_app[asgi-True-mujson] PASSED [ 45%] 234s tests/test_media_handlers.py::test_full_app[asgi-True-rapidjson] PASSED [ 45%] 234s tests/test_media_handlers.py::test_full_app[asgi-True-ujson] PASSED [ 45%] 234s tests/test_media_handlers.py::test_full_app[asgi-False-stdlib] PASSED [ 45%] 234s tests/test_media_handlers.py::test_full_app[asgi-False-mujson] PASSED [ 45%] 234s tests/test_media_handlers.py::test_full_app[asgi-False-rapidjson] PASSED [ 45%] 234s tests/test_media_handlers.py::test_full_app[asgi-False-ujson] PASSED [ 45%] 234s tests/test_media_handlers.py::test_full_app[wsgi-True-stdlib] PASSED [ 45%] 234s tests/test_media_handlers.py::test_full_app[wsgi-True-mujson] PASSED [ 45%] 234s tests/test_media_handlers.py::test_full_app[wsgi-True-rapidjson] PASSED [ 45%] 234s tests/test_media_handlers.py::test_full_app[wsgi-True-ujson] PASSED [ 45%] 234s tests/test_media_handlers.py::test_full_app[wsgi-False-stdlib] PASSED [ 45%] 234s tests/test_media_handlers.py::test_full_app[wsgi-False-mujson] PASSED [ 45%] 234s tests/test_media_handlers.py::test_full_app[wsgi-False-rapidjson] PASSED [ 45%] 234s tests/test_media_handlers.py::test_full_app[wsgi-False-ujson] PASSED [ 45%] 234s tests/test_media_handlers.py::test_deserialization_raises[asgi-application/json] PASSED [ 46%] 234s tests/test_media_handlers.py::test_deserialization_raises[asgi-application/json; answer=42] PASSED [ 46%] 234s tests/test_media_handlers.py::test_deserialization_raises[wsgi-application/json] PASSED [ 46%] 234s tests/test_media_handlers.py::test_deserialization_raises[wsgi-application/json; answer=42] PASSED [ 46%] 234s tests/test_media_handlers.py::test_sync_methods_not_overridden[asgi] PASSED [ 46%] 234s tests/test_media_handlers.py::test_sync_methods_not_overridden[wsgi] PASSED [ 46%] 234s tests/test_media_handlers.py::test_async_methods_not_overridden PASSED [ 46%] 234s tests/test_media_handlers.py::test_async_handler_returning_none PASSED [ 46%] 234s tests/test_media_handlers.py::test_json_err_no_handler[asgi] PASSED [ 46%] 234s tests/test_media_handlers.py::test_json_err_no_handler[wsgi] PASSED [ 46%] 234s tests/test_media_handlers.py::test_handlers_include_new_media_handlers_in_resolving PASSED [ 46%] 234s tests/test_media_handlers.py::TestBaseHandler::test_defaultError PASSED [ 46%] 234s tests/test_media_handlers.py::TestBaseHandler::test_json PASSED [ 46%] 234s tests/test_media_multipart.py::test_parse[5b11af82ab65407ba8cdccf37d2a9c4f] PASSED [ 46%] 234s tests/test_media_multipart.py::test_parse[---------------------------1574247108204320607285918568] PASSED [ 46%] 234s tests/test_media_multipart.py::test_parse[BOUNDARY] PASSED [ 46%] 234s tests/test_media_multipart.py::test_parse[boundary] PASSED [ 46%] 234s tests/test_media_multipart.py::test_parsing_correctness[32-7] PASSED [ 46%] 234s tests/test_media_multipart.py::test_parsing_correctness[32-8] PASSED [ 46%] 234s tests/test_media_multipart.py::test_parsing_correctness[32-9] PASSED [ 46%] 234s tests/test_media_multipart.py::test_parsing_correctness[32-10] PASSED [ 46%] 234s tests/test_media_multipart.py::test_parsing_correctness[32-32] PASSED [ 46%] 234s tests/test_media_multipart.py::test_parsing_correctness[32-64] PASSED [ 46%] 234s tests/test_media_multipart.py::test_parsing_correctness[32-128] PASSED [ 46%] 234s tests/test_media_multipart.py::test_parsing_correctness[32-256] PASSED [ 46%] 234s tests/test_media_multipart.py::test_parsing_correctness[64-7] PASSED [ 46%] 234s tests/test_media_multipart.py::test_parsing_correctness[64-8] PASSED [ 46%] 234s tests/test_media_multipart.py::test_parsing_correctness[64-9] PASSED [ 46%] 234s tests/test_media_multipart.py::test_parsing_correctness[64-10] PASSED [ 46%] 234s tests/test_media_multipart.py::test_parsing_correctness[64-32] PASSED [ 46%] 234s tests/test_media_multipart.py::test_parsing_correctness[64-64] PASSED [ 46%] 234s tests/test_media_multipart.py::test_parsing_correctness[64-128] PASSED [ 46%] 234s tests/test_media_multipart.py::test_parsing_correctness[64-256] PASSED [ 46%] 234s tests/test_media_multipart.py::test_parsing_correctness[128-7] PASSED [ 46%] 234s tests/test_media_multipart.py::test_parsing_correctness[128-8] PASSED [ 46%] 234s tests/test_media_multipart.py::test_parsing_correctness[128-9] PASSED [ 46%] 234s tests/test_media_multipart.py::test_parsing_correctness[128-10] PASSED [ 46%] 234s tests/test_media_multipart.py::test_parsing_correctness[128-32] PASSED [ 46%] 234s tests/test_media_multipart.py::test_parsing_correctness[128-64] PASSED [ 46%] 234s tests/test_media_multipart.py::test_parsing_correctness[128-128] PASSED [ 46%] 234s tests/test_media_multipart.py::test_parsing_correctness[128-256] PASSED [ 47%] 234s tests/test_media_multipart.py::test_parsing_correctness[256-7] PASSED [ 47%] 234s tests/test_media_multipart.py::test_parsing_correctness[256-8] PASSED [ 47%] 234s tests/test_media_multipart.py::test_parsing_correctness[256-9] PASSED [ 47%] 234s tests/test_media_multipart.py::test_parsing_correctness[256-10] PASSED [ 47%] 234s tests/test_media_multipart.py::test_parsing_correctness[256-32] PASSED [ 47%] 234s tests/test_media_multipart.py::test_parsing_correctness[256-64] PASSED [ 47%] 234s tests/test_media_multipart.py::test_parsing_correctness[256-128] PASSED [ 47%] 234s tests/test_media_multipart.py::test_parsing_correctness[256-256] PASSED [ 47%] 234s tests/test_media_multipart.py::test_missing_boundary PASSED [ 47%] 234s tests/test_media_multipart.py::test_empty_input PASSED [ 47%] 234s tests/test_media_multipart.py::test_serialize PASSED [ 47%] 234s tests/test_media_multipart.py::test_invalid_text_or_charset[utf-8-Impossible byte: \xff] PASSED [ 47%] 234s tests/test_media_multipart.py::test_invalid_text_or_charset[utf-8-Overlong... \xfc\x83\xbf\xbf\xbf\xbf ... sequence] PASSED [ 47%] 234s tests/test_media_multipart.py::test_invalid_text_or_charset[ascii-\x80\x80\x80] PASSED [ 47%] 234s tests/test_media_multipart.py::test_invalid_text_or_charset[pecyn-AAHEHlRoZSBGYWxjb24gV2ViIEZyYW1ld29yaywgMjAxOQ==] PASSED [ 47%] 234s tests/test_media_multipart.py::test_unknown_header PASSED [ 47%] 234s tests/test_media_multipart.py::test_from_buffered_stream PASSED [ 47%] 234s tests/test_media_multipart.py::test_body_part_media PASSED [ 47%] 234s tests/test_media_multipart.py::test_body_part_properties PASSED [ 47%] 234s tests/test_media_multipart.py::test_empty_or_missing_filename PASSED [ 47%] 234s tests/test_media_multipart.py::test_upload_multipart[asgi] PASSED [ 47%] 234s tests/test_media_multipart.py::test_upload_multipart[wsgi] PASSED [ 47%] 234s tests/test_media_multipart.py::test_epilogue[asgi-] PASSED [ 47%] 234s tests/test_media_multipart.py::test_epilogue[asgi---] PASSED [ 47%] 234s tests/test_media_multipart.py::test_epilogue[asgi-\n] PASSED [ 47%] 234s tests/test_media_multipart.py::test_epilogue[asgi-\n\n] PASSED [ 47%] 234s tests/test_media_multipart.py::test_epilogue[asgi- <-- no CRLF] PASSED [ 47%] 234s tests/test_media_multipart.py::test_epilogue[asgi-\U0001f4a5] PASSED [ 47%] 234s tests/test_media_multipart.py::test_epilogue[wsgi-] PASSED [ 47%] 234s tests/test_media_multipart.py::test_epilogue[wsgi---] PASSED [ 47%] 234s tests/test_media_multipart.py::test_epilogue[wsgi-\n] PASSED [ 47%] 234s tests/test_media_multipart.py::test_epilogue[wsgi-\n\n] PASSED [ 47%] 234s tests/test_media_multipart.py::test_epilogue[wsgi- <-- no CRLF] PASSED [ 47%] 234s tests/test_media_multipart.py::test_epilogue[wsgi-\U0001f4a5] PASSED [ 47%] 234s tests/test_media_multipart.py::test_truncated_form[asgi-1] PASSED [ 47%] 234s tests/test_media_multipart.py::test_truncated_form[asgi-2] PASSED [ 47%] 234s tests/test_media_multipart.py::test_truncated_form[asgi-3] PASSED [ 47%] 234s tests/test_media_multipart.py::test_truncated_form[asgi-4] PASSED [ 47%] 234s tests/test_media_multipart.py::test_truncated_form[wsgi-1] PASSED [ 48%] 234s tests/test_media_multipart.py::test_truncated_form[wsgi-2] PASSED [ 48%] 234s tests/test_media_multipart.py::test_truncated_form[wsgi-3] PASSED [ 48%] 234s tests/test_media_multipart.py::test_truncated_form[wsgi-4] PASSED [ 48%] 234s tests/test_media_multipart.py::test_unexpected_form_structure[asgi] PASSED [ 48%] 234s tests/test_media_multipart.py::test_unexpected_form_structure[wsgi] PASSED [ 48%] 234s tests/test_media_multipart.py::test_data_too_large[asgi] PASSED [ 48%] 234s tests/test_media_multipart.py::test_data_too_large[wsgi] PASSED [ 48%] 234s tests/test_media_multipart.py::test_too_many_body_parts[asgi-0] PASSED [ 48%] 234s tests/test_media_multipart.py::test_too_many_body_parts[asgi-1] PASSED [ 48%] 234s tests/test_media_multipart.py::test_too_many_body_parts[asgi-2] PASSED [ 48%] 234s tests/test_media_multipart.py::test_too_many_body_parts[asgi-3] PASSED [ 48%] 234s tests/test_media_multipart.py::test_too_many_body_parts[asgi-4] PASSED [ 48%] 234s tests/test_media_multipart.py::test_too_many_body_parts[asgi-5] PASSED [ 48%] 234s tests/test_media_multipart.py::test_too_many_body_parts[asgi-6] PASSED [ 48%] 234s tests/test_media_multipart.py::test_too_many_body_parts[asgi-100] PASSED [ 48%] 234s tests/test_media_multipart.py::test_too_many_body_parts[asgi-1000] PASSED [ 48%] 234s tests/test_media_multipart.py::test_too_many_body_parts[wsgi-0] PASSED [ 48%] 234s tests/test_media_multipart.py::test_too_many_body_parts[wsgi-1] PASSED [ 48%] 234s tests/test_media_multipart.py::test_too_many_body_parts[wsgi-2] PASSED [ 48%] 234s tests/test_media_multipart.py::test_too_many_body_parts[wsgi-3] PASSED [ 48%] 234s tests/test_media_multipart.py::test_too_many_body_parts[wsgi-4] PASSED [ 48%] 234s tests/test_media_multipart.py::test_too_many_body_parts[wsgi-5] PASSED [ 48%] 234s tests/test_media_multipart.py::test_too_many_body_parts[wsgi-6] PASSED [ 48%] 234s tests/test_media_multipart.py::test_too_many_body_parts[wsgi-100] PASSED [ 48%] 234s tests/test_media_multipart.py::test_too_many_body_parts[wsgi-1000] PASSED [ 48%] 234s tests/test_media_multipart.py::test_random_form[asgi---] PASSED [ 48%] 234s tests/test_media_multipart.py::test_random_form[asgi---\r\n] PASSED [ 48%] 234s tests/test_media_multipart.py::test_random_form[wsgi---] PASSED [ 48%] 235s tests/test_media_multipart.py::test_random_form[wsgi---\r\n] PASSED [ 48%] 235s tests/test_media_multipart.py::test_invalid_random_form[asgi] PASSED [ 48%] 235s tests/test_media_multipart.py::test_invalid_random_form[wsgi] PASSED [ 48%] 235s tests/test_media_multipart.py::test_nested_multipart_mixed PASSED [ 48%] 235s tests/test_media_multipart.py::test_content_transfer_encoding_header[asgi] PASSED [ 48%] 235s tests/test_media_multipart.py::test_content_transfer_encoding_header[wsgi] PASSED [ 48%] 235s tests/test_media_multipart.py::test_unsupported_charset[asgi] PASSED [ 48%] 235s tests/test_media_multipart.py::test_unsupported_charset[wsgi] PASSED [ 48%] 235s tests/test_media_multipart.py::test_filename_star[asgi] PASSED [ 48%] 235s tests/test_media_multipart.py::test_filename_star[wsgi] PASSED [ 48%] 235s tests/test_media_multipart.py::test_headers_edge_cases[asgi-64] PASSED [ 49%] 235s tests/test_media_multipart.py::test_headers_edge_cases[asgi-140] PASSED [ 49%] 235s tests/test_media_multipart.py::test_headers_edge_cases[asgi-141] PASSED [ 49%] 235s tests/test_media_multipart.py::test_headers_edge_cases[asgi-142] PASSED [ 49%] 235s tests/test_media_multipart.py::test_headers_edge_cases[asgi-256] PASSED [ 49%] 235s tests/test_media_multipart.py::test_headers_edge_cases[asgi-1024] PASSED [ 49%] 235s tests/test_media_multipart.py::test_headers_edge_cases[wsgi-64] PASSED [ 49%] 235s tests/test_media_multipart.py::test_headers_edge_cases[wsgi-140] PASSED [ 49%] 235s tests/test_media_multipart.py::test_headers_edge_cases[wsgi-141] PASSED [ 49%] 235s tests/test_media_multipart.py::test_headers_edge_cases[wsgi-142] PASSED [ 49%] 235s tests/test_media_multipart.py::test_headers_edge_cases[wsgi-256] PASSED [ 49%] 235s tests/test_media_multipart.py::test_headers_edge_cases[wsgi-1024] PASSED [ 49%] 235s tests/test_media_multipart.py::test_deserialize_part_media[asgi] PASSED [ 49%] 235s tests/test_media_multipart.py::test_deserialize_part_media[wsgi] PASSED [ 49%] 235s tests/test_media_multipart.py::test_deserialize_custom_media[asgi] PASSED [ 49%] 235s tests/test_media_multipart.py::test_deserialize_custom_media[wsgi] PASSED [ 49%] 235s tests/test_media_multipart.py::test_multipart_parse_options_default_handlers_unique PASSED [ 49%] 235s tests/test_media_urlencoded.py::test_deserialize_empty_form PASSED [ 49%] 235s tests/test_media_urlencoded.py::test_deserialize_invalid_unicode PASSED [ 49%] 235s tests/test_media_urlencoded.py::test_urlencoded_form_handler_serialize[data0-hello=world] PASSED [ 49%] 235s tests/test_media_urlencoded.py::test_urlencoded_form_handler_serialize[data1-number=1&number=2] PASSED [ 49%] 235s tests/test_media_urlencoded.py::test_empty_form[asgi] PASSED [ 49%] 235s tests/test_media_urlencoded.py::test_empty_form[wsgi] PASSED [ 49%] 235s tests/test_media_urlencoded.py::test_urlencoded_form[asgi-a=1&b=&c=3-expected0] PASSED [ 49%] 235s tests/test_media_urlencoded.py::test_urlencoded_form[asgi-param=undefined-expected1] PASSED [ 49%] 235s tests/test_media_urlencoded.py::test_urlencoded_form[asgi-color=green&color=black-expected2] PASSED [ 49%] 235s tests/test_media_urlencoded.py::test_urlencoded_form[asgi-food=hamburger+%28%F0%9F%8D%94%29&sauce=BBQ-expected3] PASSED [ 49%] 235s tests/test_media_urlencoded.py::test_urlencoded_form[asgi-flag%1&flag%2&flag%1&flag%2-expected4] PASSED [ 49%] 235s tests/test_media_urlencoded.py::test_urlencoded_form[wsgi-a=1&b=&c=3-expected0] PASSED [ 49%] 235s tests/test_media_urlencoded.py::test_urlencoded_form[wsgi-param=undefined-expected1] PASSED [ 49%] 235s tests/test_media_urlencoded.py::test_urlencoded_form[wsgi-color=green&color=black-expected2] PASSED [ 49%] 235s tests/test_media_urlencoded.py::test_urlencoded_form[wsgi-food=hamburger+%28%F0%9F%8D%94%29&sauce=BBQ-expected3] PASSED [ 49%] 235s tests/test_media_urlencoded.py::test_urlencoded_form[wsgi-flag%1&flag%2&flag%1&flag%2-expected4] PASSED [ 49%] 235s tests/test_mediatypes.py::test_parse_header[-expected0] PASSED [ 49%] 235s tests/test_mediatypes.py::test_parse_header[strange-expected1] PASSED [ 49%] 235s tests/test_mediatypes.py::test_parse_header[text/plain-expected2] PASSED [ 49%] 235s tests/test_mediatypes.py::test_parse_header[text/plain -expected3] PASSED [ 49%] 235s tests/test_mediatypes.py::test_parse_header[ text/plain-expected4] PASSED [ 49%] 235s tests/test_mediatypes.py::test_parse_header[ text/plain -expected5] PASSED [ 49%] 235s tests/test_mediatypes.py::test_parse_header[ text/plain -expected6] PASSED [ 50%] 235s tests/test_mediatypes.py::test_parse_header[falcon/peregrine; key1; key2=value; key3-expected7] PASSED [ 50%] 235s tests/test_mediatypes.py::test_parse_header[audio/pcm;rate=48000;encoding=float;bits=32-expected8] PASSED [ 50%] 235s tests/test_mediatypes.py::test_parse_header[falcon/*; genus=falco; family=falconidae; class=aves; -expected9] PASSED [ 50%] 235s tests/test_mediatypes.py::test_parse_header["falcon/peregrine" ; key="value"-expected10] PASSED [ 50%] 235s tests/test_mediatypes.py::test_parse_header[falcon/peregrine; empty=""-expected11] PASSED [ 50%] 235s tests/test_mediatypes.py::test_parse_header[falcon/peregrine; quote="-expected12] PASSED [ 50%] 235s tests/test_mediatypes.py::test_parse_header[text/plain; charset=utf-8-expected13] PASSED [ 50%] 235s tests/test_mediatypes.py::test_parse_header[stuff/strange; missing-value; missing-another-expected14] PASSED [ 50%] 235s tests/test_mediatypes.py::test_parse_header[stuff/strange; missing-value\\missing-another-expected15] PASSED [ 50%] 235s tests/test_mediatypes.py::test_parse_header[application/falcon; P1 = "key; value"; P2="\\""-expected16] PASSED [ 50%] 235s tests/test_mediatypes.py::test_media_type_private_cls PASSED [ 50%] 235s tests/test_mediatypes.py::test_media_range_private_cls PASSED [ 50%] 235s tests/test_mediatypes.py::test_quality_rfc_examples[RFC-7231-text/html;level=1-1.0] PASSED [ 50%] 235s tests/test_mediatypes.py::test_quality_rfc_examples[RFC-7231-text/html-0.7] PASSED [ 50%] 235s tests/test_mediatypes.py::test_quality_rfc_examples[RFC-7231-text/plain-0.3] PASSED [ 50%] 235s tests/test_mediatypes.py::test_quality_rfc_examples[RFC-7231-image/jpeg-0.5] PASSED [ 50%] 235s tests/test_mediatypes.py::test_quality_rfc_examples[RFC-7231-text/html;level=2-0.4] PASSED [ 50%] 235s tests/test_mediatypes.py::test_quality_rfc_examples[RFC-7231-text/html;level=3-0.7] PASSED [ 50%] 235s tests/test_mediatypes.py::test_quality_rfc_examples[RFC-9110-text/html;level=1-1.0] PASSED [ 50%] 235s tests/test_mediatypes.py::test_quality_rfc_examples[RFC-9110-text/html-0.7] PASSED [ 50%] 235s tests/test_mediatypes.py::test_quality_rfc_examples[RFC-9110-text/plain-0.3] PASSED [ 50%] 235s tests/test_mediatypes.py::test_quality_rfc_examples[RFC-9110-image/jpeg-0.5] PASSED [ 50%] 235s tests/test_mediatypes.py::test_quality_rfc_examples[RFC-9110-text/html;level=2-0.4] PASSED [ 50%] 235s tests/test_mediatypes.py::test_quality_rfc_examples[RFC-9110-text/html;level=3-0.7] PASSED [ 50%] 235s tests/test_mediatypes.py::test_quality[application/*, */wildcard; q=0.7, */*; q=0.25-test/wildcard; expect=pass-0.7] PASSED [ 50%] 235s tests/test_mediatypes.py::test_quality[application/*, */wildcard; q=0.7, */*; q=0.25-application/wildcard; expect=pass-1.0] PASSED [ 50%] 235s tests/test_mediatypes.py::test_quality[application/*, */wildcard; q=0.7, */*; q=0.25-test/something; expect=pass-0.25] PASSED [ 50%] 235s tests/test_mediatypes.py::test_quality[text/x-python, text/*; q=0.33, text/plain; format=fixed-text/plain; format=flowed-0.33] PASSED [ 50%] 235s tests/test_mediatypes.py::test_quality[text/*;q=0.3, text/html;level=1, text/html;q=0.7, text/html;level=2;q=0.4, */*;q=0.5-text/html; level=3-0.7] PASSED [ 50%] 235s tests/test_mediatypes.py::test_quality_prefer_exact_match[foo/bar, test/app; q=0.2, test/app; p=1; q=0.9, test/app;p=1;r=2-test/app] PASSED [ 50%] 235s tests/test_mediatypes.py::test_quality_prefer_exact_match[test/app; q=0.1, test/app; p=1; q=0.2, test/app;p=1;r=2-test/app; p=1] PASSED [ 50%] 235s tests/test_mediatypes.py::test_quality_prefer_exact_match[*/app; q=0.1, simple/app; test=true; q=0.2, simple/app; color=blue-simple/app; test=true] PASSED [ 50%] 235s tests/test_mediatypes.py::test_quality_none_matches[application/json-application/yaml] PASSED [ 50%] 235s tests/test_mediatypes.py::test_quality_none_matches[audio/*; q=0.2, audio/basic-video/mp3] PASSED [ 50%] 235s tests/test_mediatypes.py::test_quality_none_matches[falcon/peregrine; speed=high; unladen=true-falcon/peregrine; speed=average] PASSED [ 50%] 235s tests/test_mediatypes.py::test_quality_none_matches[text/html, text/plain-text/x-python] PASSED [ 50%] 235s tests/test_mediatypes.py::test_quality_none_matches[*/json; q=0.2, application/json-application/msgpack] PASSED [ 50%] 235s tests/test_mediatypes.py::test_quality_none_matches[text/x-python, image/*; q=0.33, text/plain; format=fixed-text/plain; format=flowed] PASSED [ 50%] 235s tests/test_mediatypes.py::test_best_match[media_types0-application/json-application/json] PASSED [ 51%] 235s tests/test_mediatypes.py::test_best_match[media_types1-application/json; charset=utf-8-application/json] PASSED [ 51%] 235s tests/test_mediatypes.py::test_best_match[media_types2-application/json, */*; q=0.2-application/json] PASSED [ 51%] 235s tests/test_mediatypes.py::test_best_match_none_matches[media_types0-application/yaml] PASSED [ 51%] 235s tests/test_mediatypes.py::test_best_match_none_matches[media_types1-video/mp3] PASSED [ 51%] 235s tests/test_mediatypes.py::test_best_match_none_matches[media_types2-falcon/peregrine; speed=average] PASSED [ 51%] 235s tests/test_mediatypes.py::test_best_match_none_matches[media_types3-text/x-python] PASSED [ 51%] 235s tests/test_mediatypes.py::test_best_match_none_matches[media_types4-application/msgpack] PASSED [ 51%] 235s tests/test_mediatypes.py::test_best_match_none_matches[media_types5-text/plain; format=flowed] PASSED [ 51%] 235s tests/test_mediatypes.py::test_best_match_none_matches[media_types6-application/xml, text/*; q=0.7] PASSED [ 51%] 235s tests/test_mediatypes.py::test_best_match_none_matches[media_types7-falcon/peregrine; load=heavy] PASSED [ 51%] 235s tests/test_mediatypes.py::test_invalid_media_type[] PASSED [ 51%] 235s tests/test_mediatypes.py::test_invalid_media_type[word document] PASSED [ 51%] 235s tests/test_mediatypes.py::test_invalid_media_type[text] PASSED [ 51%] 235s tests/test_mediatypes.py::test_invalid_media_range[] PASSED [ 51%] 235s tests/test_mediatypes.py::test_invalid_media_range[word document] PASSED [ 51%] 235s tests/test_mediatypes.py::test_invalid_media_range[text] PASSED [ 51%] 235s tests/test_mediatypes.py::test_invalid_media_range[text/plain; q=high] PASSED [ 51%] 235s tests/test_mediatypes.py::test_invalid_media_range[*/*; q=inf] PASSED [ 51%] 235s tests/test_mediatypes.py::test_invalid_media_range[*/*; q=-inf] PASSED [ 51%] 235s tests/test_mediatypes.py::test_invalid_media_range[*/*; q=nan] PASSED [ 51%] 235s tests/test_mediatypes.py::test_invalid_media_range[application/very-important; q=1337.0] PASSED [ 51%] 235s tests/test_mediatypes.py::test_empty_media_types[media_types0-*/*] PASSED [ 51%] 235s tests/test_mediatypes.py::test_empty_media_types[media_types0-application/xml, text/*; q=0.7, */*; q=0.3] PASSED [ 51%] 235s tests/test_mediatypes.py::test_empty_media_types[media_types1-*/*] PASSED [ 51%] 235s tests/test_mediatypes.py::test_empty_media_types[media_types1-application/xml, text/*; q=0.7, */*; q=0.3] PASSED [ 51%] 235s tests/test_mediatypes.py::test_empty_media_types[media_types2-*/*] PASSED [ 51%] 235s tests/test_mediatypes.py::test_empty_media_types[media_types2-application/xml, text/*; q=0.7, */*; q=0.3] PASSED [ 51%] 235s tests/test_mediatypes.py::test_empty_media_types[_generate_strings-*/*] PASSED [ 51%] 235s tests/test_mediatypes.py::test_empty_media_types[_generate_strings-application/xml, text/*; q=0.7, */*; q=0.3] PASSED [ 51%] 235s tests/test_middleware.py::TestRequestTimeMiddleware::test_skip_process_resource[asgi] PASSED [ 51%] 235s tests/test_middleware.py::TestRequestTimeMiddleware::test_skip_process_resource[wsgi] PASSED [ 51%] 235s tests/test_middleware.py::TestRequestTimeMiddleware::test_add_invalid_middleware[asgi] PASSED [ 51%] 235s tests/test_middleware.py::TestRequestTimeMiddleware::test_add_invalid_middleware[wsgi] PASSED [ 51%] 235s tests/test_middleware.py::TestRequestTimeMiddleware::test_response_middleware_raises_exception[asgi] PASSED [ 51%] 235s tests/test_middleware.py::TestRequestTimeMiddleware::test_response_middleware_raises_exception[wsgi] PASSED [ 51%] 235s tests/test_middleware.py::TestRequestTimeMiddleware::test_log_get_request[asgi-True] PASSED [ 51%] 235s tests/test_middleware.py::TestRequestTimeMiddleware::test_log_get_request[asgi-False] PASSED [ 51%] 235s tests/test_middleware.py::TestRequestTimeMiddleware::test_log_get_request[wsgi-True] PASSED [ 51%] 235s tests/test_middleware.py::TestRequestTimeMiddleware::test_log_get_request[wsgi-False] PASSED [ 52%] 235s tests/test_middleware.py::TestTransactionIdMiddleware::test_generate_trans_id_with_request[asgi] PASSED [ 52%] 235s tests/test_middleware.py::TestTransactionIdMiddleware::test_generate_trans_id_with_request[wsgi] PASSED [ 52%] 235s tests/test_middleware.py::TestSeveralMiddlewares::test_generate_trans_id_and_time_with_request[asgi-True] PASSED [ 52%] 235s tests/test_middleware.py::TestSeveralMiddlewares::test_generate_trans_id_and_time_with_request[asgi-False] PASSED [ 52%] 235s tests/test_middleware.py::TestSeveralMiddlewares::test_generate_trans_id_and_time_with_request[wsgi-True] PASSED [ 52%] 235s tests/test_middleware.py::TestSeveralMiddlewares::test_generate_trans_id_and_time_with_request[wsgi-False] PASSED [ 52%] 235s tests/test_middleware.py::TestSeveralMiddlewares::test_legacy_middleware_called_with_correct_args[asgi] PASSED [ 52%] 235s tests/test_middleware.py::TestSeveralMiddlewares::test_legacy_middleware_called_with_correct_args[wsgi] PASSED [ 52%] 235s tests/test_middleware.py::TestSeveralMiddlewares::test_middleware_execution_order[asgi] PASSED [ 52%] 235s tests/test_middleware.py::TestSeveralMiddlewares::test_middleware_execution_order[wsgi] PASSED [ 52%] 235s tests/test_middleware.py::TestSeveralMiddlewares::test_independent_middleware_execution_order[asgi] PASSED [ 52%] 235s tests/test_middleware.py::TestSeveralMiddlewares::test_independent_middleware_execution_order[wsgi] PASSED [ 52%] 235s tests/test_middleware.py::TestSeveralMiddlewares::test_multiple_response_mw_throw_exception[asgi] PASSED [ 52%] 235s tests/test_middleware.py::TestSeveralMiddlewares::test_multiple_response_mw_throw_exception[wsgi] PASSED [ 52%] 235s tests/test_middleware.py::TestSeveralMiddlewares::test_inner_mw_throw_exception[asgi] PASSED [ 52%] 235s tests/test_middleware.py::TestSeveralMiddlewares::test_inner_mw_throw_exception[wsgi] PASSED [ 52%] 235s tests/test_middleware.py::TestSeveralMiddlewares::test_inner_mw_throw_exception_while_processing_resp[asgi] PASSED [ 52%] 235s tests/test_middleware.py::TestSeveralMiddlewares::test_inner_mw_throw_exception_while_processing_resp[wsgi] PASSED [ 52%] 235s tests/test_middleware.py::TestSeveralMiddlewares::test_inner_mw_with_ex_handler_throw_exception[asgi] PASSED [ 52%] 235s tests/test_middleware.py::TestSeveralMiddlewares::test_inner_mw_with_ex_handler_throw_exception[wsgi] PASSED [ 52%] 235s tests/test_middleware.py::TestSeveralMiddlewares::test_outer_mw_with_ex_handler_throw_exception[asgi] PASSED [ 52%] 235s tests/test_middleware.py::TestSeveralMiddlewares::test_outer_mw_with_ex_handler_throw_exception[wsgi] PASSED [ 52%] 235s tests/test_middleware.py::TestSeveralMiddlewares::test_order_mw_executed_when_exception_in_resp[asgi] PASSED [ 52%] 235s tests/test_middleware.py::TestSeveralMiddlewares::test_order_mw_executed_when_exception_in_resp[wsgi] PASSED [ 52%] 235s tests/test_middleware.py::TestSeveralMiddlewares::test_order_independent_mw_executed_when_exception_in_resp[asgi] PASSED [ 52%] 235s tests/test_middleware.py::TestSeveralMiddlewares::test_order_independent_mw_executed_when_exception_in_resp[wsgi] PASSED [ 52%] 235s tests/test_middleware.py::TestSeveralMiddlewares::test_order_mw_executed_when_exception_in_req[asgi] PASSED [ 52%] 235s tests/test_middleware.py::TestSeveralMiddlewares::test_order_mw_executed_when_exception_in_req[wsgi] PASSED [ 52%] 235s tests/test_middleware.py::TestSeveralMiddlewares::test_order_independent_mw_executed_when_exception_in_req[asgi] PASSED [ 52%] 235s tests/test_middleware.py::TestSeveralMiddlewares::test_order_independent_mw_executed_when_exception_in_req[wsgi] PASSED [ 52%] 235s tests/test_middleware.py::TestSeveralMiddlewares::test_order_mw_executed_when_exception_in_rsrc[asgi] PASSED [ 52%] 235s tests/test_middleware.py::TestSeveralMiddlewares::test_order_mw_executed_when_exception_in_rsrc[wsgi] PASSED [ 52%] 235s tests/test_middleware.py::TestSeveralMiddlewares::test_order_independent_mw_executed_when_exception_in_rsrc[asgi] PASSED [ 52%] 235s tests/test_middleware.py::TestSeveralMiddlewares::test_order_independent_mw_executed_when_exception_in_rsrc[wsgi] PASSED [ 52%] 235s tests/test_middleware.py::TestRemoveBasePathMiddleware::test_base_path_is_removed_before_routing[asgi] PASSED [ 52%] 235s tests/test_middleware.py::TestRemoveBasePathMiddleware::test_base_path_is_removed_before_routing[wsgi] PASSED [ 52%] 235s tests/test_middleware.py::TestResourceMiddleware::test_can_access_resource_params[asgi-True] PASSED [ 52%] 235s tests/test_middleware.py::TestResourceMiddleware::test_can_access_resource_params[asgi-False] PASSED [ 52%] 235s tests/test_middleware.py::TestResourceMiddleware::test_can_access_resource_params[wsgi-True] PASSED [ 53%] 235s tests/test_middleware.py::TestResourceMiddleware::test_can_access_resource_params[wsgi-False] PASSED [ 53%] 235s tests/test_middleware.py::TestEmptySignatureMiddleware::test_dont_need_params_in_signature[asgi] PASSED [ 53%] 235s tests/test_middleware.py::TestEmptySignatureMiddleware::test_dont_need_params_in_signature[wsgi] PASSED [ 53%] 235s tests/test_middleware.py::TestErrorHandling::test_error_composed_before_resp_middleware_called[asgi] PASSED [ 53%] 235s tests/test_middleware.py::TestErrorHandling::test_error_composed_before_resp_middleware_called[wsgi] PASSED [ 53%] 235s tests/test_middleware.py::TestErrorHandling::test_http_status_raised_from_error_handler[asgi] PASSED [ 53%] 235s tests/test_middleware.py::TestErrorHandling::test_http_status_raised_from_error_handler[wsgi] PASSED [ 53%] 235s tests/test_middleware.py::TestShortCircuiting::test_process_request_not_cached[asgi] PASSED [ 53%] 235s tests/test_middleware.py::TestShortCircuiting::test_process_request_not_cached[wsgi] PASSED [ 53%] 235s tests/test_middleware.py::TestShortCircuiting::test_process_request_cached[asgi-True] PASSED [ 53%] 235s tests/test_middleware.py::TestShortCircuiting::test_process_request_cached[asgi-False] PASSED [ 53%] 235s tests/test_middleware.py::TestShortCircuiting::test_process_request_cached[wsgi-True] PASSED [ 53%] 235s tests/test_middleware.py::TestShortCircuiting::test_process_request_cached[wsgi-False] PASSED [ 53%] 235s tests/test_middleware.py::TestShortCircuiting::test_process_resource_cached[asgi-True] PASSED [ 53%] 235s tests/test_middleware.py::TestShortCircuiting::test_process_resource_cached[asgi-False] PASSED [ 53%] 235s tests/test_middleware.py::TestShortCircuiting::test_process_resource_cached[wsgi-True] PASSED [ 53%] 235s tests/test_middleware.py::TestShortCircuiting::test_process_resource_cached[wsgi-False] PASSED [ 53%] 235s tests/test_middleware.py::TestCORSMiddlewareWithAnotherMiddleware::test_api_initialization_with_cors_enabled_and_middleware_param[asgi-mw0-True] PASSED [ 53%] 235s tests/test_middleware.py::TestCORSMiddlewareWithAnotherMiddleware::test_api_initialization_with_cors_enabled_and_middleware_param[asgi-mw1-True] PASSED [ 53%] 235s tests/test_middleware.py::TestCORSMiddlewareWithAnotherMiddleware::test_api_initialization_with_cors_enabled_and_middleware_param[asgi-mw2-True] PASSED [ 53%] 235s tests/test_middleware.py::TestCORSMiddlewareWithAnotherMiddleware::test_api_initialization_with_cors_enabled_and_middleware_param[asgi-mw3-True] PASSED [ 53%] 235s tests/test_middleware.py::TestCORSMiddlewareWithAnotherMiddleware::test_api_initialization_with_cors_enabled_and_middleware_param[asgi-mw4-False] PASSED [ 53%] 235s tests/test_middleware.py::TestCORSMiddlewareWithAnotherMiddleware::test_api_initialization_with_cors_enabled_and_middleware_param[asgi-mw5-False] PASSED [ 53%] 235s tests/test_middleware.py::TestCORSMiddlewareWithAnotherMiddleware::test_api_initialization_with_cors_enabled_and_middleware_param[wsgi-mw0-True] PASSED [ 53%] 235s tests/test_middleware.py::TestCORSMiddlewareWithAnotherMiddleware::test_api_initialization_with_cors_enabled_and_middleware_param[wsgi-mw1-True] PASSED [ 53%] 235s tests/test_middleware.py::TestCORSMiddlewareWithAnotherMiddleware::test_api_initialization_with_cors_enabled_and_middleware_param[wsgi-mw2-True] PASSED [ 53%] 235s tests/test_middleware.py::TestCORSMiddlewareWithAnotherMiddleware::test_api_initialization_with_cors_enabled_and_middleware_param[wsgi-mw3-True] PASSED [ 53%] 235s tests/test_middleware.py::TestCORSMiddlewareWithAnotherMiddleware::test_api_initialization_with_cors_enabled_and_middleware_param[wsgi-mw4-False] PASSED [ 53%] 235s tests/test_middleware.py::TestCORSMiddlewareWithAnotherMiddleware::test_api_initialization_with_cors_enabled_and_middleware_param[wsgi-mw5-False] PASSED [ 53%] 235s tests/test_middleware.py::test_async_postfix_method_must_be_coroutine SKIPPED [ 53%] 235s tests/test_options.py::TestRequestOptions::test_option_defaults PASSED [ 53%] 235s tests/test_options.py::TestRequestOptions::test_options_toggle[keep_blank_qs_values] PASSED [ 53%] 235s tests/test_options.py::TestRequestOptions::test_options_toggle[auto_parse_form_urlencoded] PASSED [ 53%] 235s tests/test_options.py::TestRequestOptions::test_options_toggle[auto_parse_qs_csv] PASSED [ 53%] 235s tests/test_options.py::TestRequestOptions::test_options_toggle[strip_url_path_trailing_slash] PASSED [ 53%] 235s tests/test_options.py::TestRequestOptions::test_incorrect_options PASSED [ 53%] 235s tests/test_python_version_requirements.py::test_asgi PASSED [ 53%] 235s tests/test_query_params.py::TestQueryParams::test_none[simulate_request_get_query_params-asgi] PASSED [ 53%] 235s tests/test_query_params.py::TestQueryParams::test_none[simulate_request_get_query_params-wsgi] PASSED [ 53%] 235s tests/test_query_params.py::TestQueryParams::test_default[simulate_request_get_query_params-asgi] PASSED [ 54%] 235s tests/test_query_params.py::TestQueryParams::test_default[simulate_request_get_query_params-wsgi] PASSED [ 54%] 235s tests/test_query_params.py::TestQueryParams::test_blank[simulate_request_get_query_params-asgi] PASSED [ 54%] 235s tests/test_query_params.py::TestQueryParams::test_blank[simulate_request_get_query_params-wsgi] PASSED [ 54%] 235s tests/test_query_params.py::TestQueryParams::test_simple[simulate_request_get_query_params-asgi] PASSED [ 54%] 235s tests/test_query_params.py::TestQueryParams::test_simple[simulate_request_get_query_params-wsgi] PASSED [ 54%] 235s tests/test_query_params.py::TestQueryParams::test_percent_encoded[simulate_request_get_query_params-asgi] PASSED [ 54%] 235s tests/test_query_params.py::TestQueryParams::test_percent_encoded[simulate_request_get_query_params-wsgi] PASSED [ 54%] 235s tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_simple_false[simulate_request_get_query_params-asgi] PASSED [ 54%] 235s tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_simple_false[simulate_request_get_query_params-wsgi] PASSED [ 54%] 235s tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_simple_true[simulate_request_get_query_params-asgi] PASSED [ 54%] 235s tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_simple_true[simulate_request_get_query_params-wsgi] PASSED [ 54%] 235s tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_multiple_fields_false[simulate_request_get_query_params-asgi] PASSED [ 54%] 235s tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_multiple_fields_false[simulate_request_get_query_params-wsgi] PASSED [ 54%] 235s 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%] 235s 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%] 235s 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%] 235s 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%] 235s 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%] 235s 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%] 235s 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%] 235s 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%] 235s 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%] 235s 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%] 235s 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%] 235s 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%] 235s 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%] 235s 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%] 235s 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%] 235s 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%] 235s 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%] 235s 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%] 235s tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_complex_false[simulate_request_get_query_params-asgi] PASSED [ 54%] 235s tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_complex_false[simulate_request_get_query_params-wsgi] PASSED [ 54%] 235s tests/test_query_params.py::TestQueryParams::test_default_auto_parse_csv_behaviour[simulate_request_get_query_params-asgi] PASSED [ 54%] 235s tests/test_query_params.py::TestQueryParams::test_default_auto_parse_csv_behaviour[simulate_request_get_query_params-wsgi] PASSED [ 54%] 235s tests/test_query_params.py::TestQueryParams::test_bad_percentage[simulate_request_get_query_params-asgi] PASSED [ 54%] 235s tests/test_query_params.py::TestQueryParams::test_bad_percentage[simulate_request_get_query_params-wsgi] PASSED [ 54%] 235s tests/test_query_params.py::TestQueryParams::test_allowed_names[simulate_request_get_query_params-asgi] PASSED [ 54%] 235s tests/test_query_params.py::TestQueryParams::test_allowed_names[simulate_request_get_query_params-wsgi] PASSED [ 55%] 235s tests/test_query_params.py::TestQueryParams::test_required[simulate_request_get_query_params-asgi-get_param] PASSED [ 55%] 235s tests/test_query_params.py::TestQueryParams::test_required[simulate_request_get_query_params-asgi-get_param_as_int] PASSED [ 55%] 235s tests/test_query_params.py::TestQueryParams::test_required[simulate_request_get_query_params-asgi-get_param_as_float] PASSED [ 55%] 235s tests/test_query_params.py::TestQueryParams::test_required[simulate_request_get_query_params-asgi-get_param_as_uuid] PASSED [ 55%] 235s tests/test_query_params.py::TestQueryParams::test_required[simulate_request_get_query_params-asgi-get_param_as_bool] PASSED [ 55%] 235s tests/test_query_params.py::TestQueryParams::test_required[simulate_request_get_query_params-asgi-get_param_as_list] PASSED [ 55%] 235s tests/test_query_params.py::TestQueryParams::test_required[simulate_request_get_query_params-wsgi-get_param] PASSED [ 55%] 235s tests/test_query_params.py::TestQueryParams::test_required[simulate_request_get_query_params-wsgi-get_param_as_int] PASSED [ 55%] 235s tests/test_query_params.py::TestQueryParams::test_required[simulate_request_get_query_params-wsgi-get_param_as_float] PASSED [ 55%] 235s tests/test_query_params.py::TestQueryParams::test_required[simulate_request_get_query_params-wsgi-get_param_as_uuid] PASSED [ 55%] 235s tests/test_query_params.py::TestQueryParams::test_required[simulate_request_get_query_params-wsgi-get_param_as_bool] PASSED [ 55%] 235s tests/test_query_params.py::TestQueryParams::test_required[simulate_request_get_query_params-wsgi-get_param_as_list] PASSED [ 55%] 235s tests/test_query_params.py::TestQueryParams::test_int[simulate_request_get_query_params-asgi] PASSED [ 55%] 235s tests/test_query_params.py::TestQueryParams::test_int[simulate_request_get_query_params-wsgi] PASSED [ 55%] 235s tests/test_query_params.py::TestQueryParams::test_int_neg[simulate_request_get_query_params-asgi] PASSED [ 55%] 235s tests/test_query_params.py::TestQueryParams::test_int_neg[simulate_request_get_query_params-wsgi] PASSED [ 55%] 235s tests/test_query_params.py::TestQueryParams::test_float[simulate_request_get_query_params-asgi] PASSED [ 55%] 235s tests/test_query_params.py::TestQueryParams::test_float[simulate_request_get_query_params-wsgi] PASSED [ 55%] 235s tests/test_query_params.py::TestQueryParams::test_float_neg[simulate_request_get_query_params-asgi] PASSED [ 55%] 235s tests/test_query_params.py::TestQueryParams::test_float_neg[simulate_request_get_query_params-wsgi] PASSED [ 55%] 235s tests/test_query_params.py::TestQueryParams::test_uuid[simulate_request_get_query_params-asgi] PASSED [ 55%] 235s tests/test_query_params.py::TestQueryParams::test_uuid[simulate_request_get_query_params-wsgi] PASSED [ 55%] 235s tests/test_query_params.py::TestQueryParams::test_boolean[simulate_request_get_query_params-asgi] PASSED [ 55%] 235s tests/test_query_params.py::TestQueryParams::test_boolean[simulate_request_get_query_params-wsgi] PASSED [ 55%] 235s tests/test_query_params.py::TestQueryParams::test_boolean_blank[simulate_request_get_query_params-asgi] PASSED [ 55%] 235s tests/test_query_params.py::TestQueryParams::test_boolean_blank[simulate_request_get_query_params-wsgi] PASSED [ 55%] 235s tests/test_query_params.py::TestQueryParams::test_list_type[simulate_request_get_query_params-asgi] PASSED [ 55%] 235s tests/test_query_params.py::TestQueryParams::test_list_type[simulate_request_get_query_params-wsgi] PASSED [ 55%] 235s tests/test_query_params.py::TestQueryParams::test_list_type_blank[simulate_request_get_query_params-asgi] PASSED [ 55%] 235s tests/test_query_params.py::TestQueryParams::test_list_type_blank[simulate_request_get_query_params-wsgi] PASSED [ 55%] 235s tests/test_query_params.py::TestQueryParams::test_list_transformer[simulate_request_get_query_params-asgi] PASSED [ 55%] 235s tests/test_query_params.py::TestQueryParams::test_list_transformer[simulate_request_get_query_params-wsgi] PASSED [ 55%] 235s tests/test_query_params.py::TestQueryParams::test_param_property[simulate_request_get_query_params-asgi] PASSED [ 55%] 235s tests/test_query_params.py::TestQueryParams::test_param_property[simulate_request_get_query_params-wsgi] PASSED [ 55%] 235s tests/test_query_params.py::TestQueryParams::test_multiple_form_keys[simulate_request_get_query_params-asgi] PASSED [ 55%] 235s tests/test_query_params.py::TestQueryParams::test_multiple_form_keys[simulate_request_get_query_params-wsgi] PASSED [ 55%] 235s tests/test_query_params.py::TestQueryParams::test_multiple_keys_as_bool[simulate_request_get_query_params-asgi] PASSED [ 55%] 235s tests/test_query_params.py::TestQueryParams::test_multiple_keys_as_bool[simulate_request_get_query_params-wsgi] PASSED [ 55%] 235s tests/test_query_params.py::TestQueryParams::test_multiple_keys_as_int[simulate_request_get_query_params-asgi] PASSED [ 56%] 235s tests/test_query_params.py::TestQueryParams::test_multiple_keys_as_int[simulate_request_get_query_params-wsgi] PASSED [ 56%] 235s tests/test_query_params.py::TestQueryParams::test_multiple_keys_as_float[simulate_request_get_query_params-asgi] PASSED [ 56%] 235s tests/test_query_params.py::TestQueryParams::test_multiple_keys_as_float[simulate_request_get_query_params-wsgi] PASSED [ 56%] 235s tests/test_query_params.py::TestQueryParams::test_multiple_form_keys_as_list[simulate_request_get_query_params-asgi] PASSED [ 56%] 235s tests/test_query_params.py::TestQueryParams::test_multiple_form_keys_as_list[simulate_request_get_query_params-wsgi] PASSED [ 56%] 235s tests/test_query_params.py::TestQueryParams::test_get_date_valid[simulate_request_get_query_params-asgi] PASSED [ 56%] 235s tests/test_query_params.py::TestQueryParams::test_get_date_valid[simulate_request_get_query_params-wsgi] PASSED [ 56%] 235s tests/test_query_params.py::TestQueryParams::test_get_date_missing_param[simulate_request_get_query_params-asgi] PASSED [ 56%] 235s tests/test_query_params.py::TestQueryParams::test_get_date_missing_param[simulate_request_get_query_params-wsgi] PASSED [ 56%] 235s tests/test_query_params.py::TestQueryParams::test_get_date_valid_with_format[simulate_request_get_query_params-asgi] PASSED [ 56%] 235s tests/test_query_params.py::TestQueryParams::test_get_date_valid_with_format[simulate_request_get_query_params-wsgi] PASSED [ 56%] 235s tests/test_query_params.py::TestQueryParams::test_get_date_store[simulate_request_get_query_params-asgi] PASSED [ 56%] 235s tests/test_query_params.py::TestQueryParams::test_get_date_store[simulate_request_get_query_params-wsgi] PASSED [ 56%] 235s tests/test_query_params.py::TestQueryParams::test_get_date_invalid[simulate_request_get_query_params-asgi] PASSED [ 56%] 235s tests/test_query_params.py::TestQueryParams::test_get_date_invalid[simulate_request_get_query_params-wsgi] PASSED [ 56%] 235s tests/test_query_params.py::TestQueryParams::test_get_datetime_valid[simulate_request_get_query_params-asgi] PASSED [ 56%] 235s tests/test_query_params.py::TestQueryParams::test_get_datetime_valid[simulate_request_get_query_params-wsgi] PASSED [ 56%] 235s tests/test_query_params.py::TestQueryParams::test_get_datetime_missing_param[simulate_request_get_query_params-asgi] PASSED [ 56%] 235s tests/test_query_params.py::TestQueryParams::test_get_datetime_missing_param[simulate_request_get_query_params-wsgi] PASSED [ 56%] 235s tests/test_query_params.py::TestQueryParams::test_get_datetime_valid_with_format[simulate_request_get_query_params-asgi-%Y%m%d %H:%M:%S-20150420 10:10:10-expected0] PASSED [ 56%] 235s tests/test_query_params.py::TestQueryParams::test_get_datetime_valid_with_format[simulate_request_get_query_params-asgi-%Y-%m-%dT%H:%M:%SZ-2015-04-20T10:10:10Z-expected1] PASSED [ 56%] 235s tests/test_query_params.py::TestQueryParams::test_get_datetime_valid_with_format[simulate_request_get_query_params-asgi-%Y%m%dT%H:%M:%S.%fZ-20150420T10:10:10.133701Z-expected2] PASSED [ 56%] 235s tests/test_query_params.py::TestQueryParams::test_get_datetime_valid_with_format[simulate_request_get_query_params-wsgi-%Y%m%d %H:%M:%S-20150420 10:10:10-expected0] PASSED [ 56%] 235s tests/test_query_params.py::TestQueryParams::test_get_datetime_valid_with_format[simulate_request_get_query_params-wsgi-%Y-%m-%dT%H:%M:%SZ-2015-04-20T10:10:10Z-expected1] PASSED [ 56%] 235s tests/test_query_params.py::TestQueryParams::test_get_datetime_valid_with_format[simulate_request_get_query_params-wsgi-%Y%m%dT%H:%M:%S.%fZ-20150420T10:10:10.133701Z-expected2] PASSED [ 56%] 235s tests/test_query_params.py::TestQueryParams::test_get_datetime_store[simulate_request_get_query_params-asgi] PASSED [ 56%] 235s tests/test_query_params.py::TestQueryParams::test_get_datetime_store[simulate_request_get_query_params-wsgi] PASSED [ 56%] 235s tests/test_query_params.py::TestQueryParams::test_get_datetime_invalid[simulate_request_get_query_params-asgi] PASSED [ 56%] 235s tests/test_query_params.py::TestQueryParams::test_get_datetime_invalid[simulate_request_get_query_params-wsgi] PASSED [ 56%] 235s tests/test_query_params.py::TestQueryParams::test_get_dict_valid[simulate_request_get_query_params-asgi] PASSED [ 56%] 235s tests/test_query_params.py::TestQueryParams::test_get_dict_valid[simulate_request_get_query_params-wsgi] PASSED [ 56%] 235s tests/test_query_params.py::TestQueryParams::test_get_dict_missing_param[simulate_request_get_query_params-asgi] PASSED [ 56%] 235s tests/test_query_params.py::TestQueryParams::test_get_dict_missing_param[simulate_request_get_query_params-wsgi] PASSED [ 56%] 235s tests/test_query_params.py::TestQueryParams::test_get_dict_store[simulate_request_get_query_params-asgi] PASSED [ 56%] 235s tests/test_query_params.py::TestQueryParams::test_get_dict_store[simulate_request_get_query_params-wsgi] PASSED [ 56%] 235s tests/test_query_params.py::TestQueryParams::test_get_dict_invalid[simulate_request_get_query_params-asgi] PASSED [ 56%] 235s tests/test_query_params.py::TestQueryParams::test_get_dict_invalid[simulate_request_get_query_params-wsgi] PASSED [ 56%] 235s tests/test_query_params.py::TestQueryParams::test_has_param[simulate_request_get_query_params-asgi] PASSED [ 56%] 235s tests/test_query_params.py::TestQueryParams::test_has_param[simulate_request_get_query_params-wsgi] PASSED [ 57%] 235s tests/test_query_params.py::TestQueryParams::test_none[simulate_request_post_query_params-asgi] SKIPPED [ 57%] 235s tests/test_query_params.py::TestQueryParams::test_none[simulate_request_post_query_params-wsgi] PASSED [ 57%] 235s tests/test_query_params.py::TestQueryParams::test_default[simulate_request_post_query_params-asgi] SKIPPED [ 57%] 235s tests/test_query_params.py::TestQueryParams::test_default[simulate_request_post_query_params-wsgi] PASSED [ 57%] 235s tests/test_query_params.py::TestQueryParams::test_blank[simulate_request_post_query_params-asgi] SKIPPED [ 57%] 235s tests/test_query_params.py::TestQueryParams::test_blank[simulate_request_post_query_params-wsgi] PASSED [ 57%] 235s tests/test_query_params.py::TestQueryParams::test_simple[simulate_request_post_query_params-asgi] SKIPPED [ 57%] 235s tests/test_query_params.py::TestQueryParams::test_simple[simulate_request_post_query_params-wsgi] PASSED [ 57%] 235s tests/test_query_params.py::TestQueryParams::test_percent_encoded[simulate_request_post_query_params-asgi] SKIPPED [ 57%] 235s tests/test_query_params.py::TestQueryParams::test_percent_encoded[simulate_request_post_query_params-wsgi] PASSED [ 57%] 235s tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_simple_false[simulate_request_post_query_params-asgi] SKIPPED [ 57%] 235s tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_simple_false[simulate_request_post_query_params-wsgi] PASSED [ 57%] 235s tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_simple_true[simulate_request_post_query_params-asgi] SKIPPED [ 57%] 235s tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_simple_true[simulate_request_post_query_params-wsgi] PASSED [ 57%] 235s tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_multiple_fields_false[simulate_request_post_query_params-asgi] SKIPPED [ 57%] 235s tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_multiple_fields_false[simulate_request_post_query_params-wsgi] PASSED [ 57%] 235s 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%] 235s 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%] 235s 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%] 235s 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%] 235s 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%] 235s 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%] 235s 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%] 235s 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%] 235s 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%] 235s 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%] 235s 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%] 235s 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 [ 57%] 235s 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 [ 57%] 235s 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 [ 57%] 235s 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 [ 57%] 235s 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 [ 57%] 235s 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 [ 57%] 235s 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 [ 57%] 235s tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_complex_false[simulate_request_post_query_params-asgi] SKIPPED [ 57%] 235s tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_complex_false[simulate_request_post_query_params-wsgi] PASSED [ 57%] 235s tests/test_query_params.py::TestQueryParams::test_default_auto_parse_csv_behaviour[simulate_request_post_query_params-asgi] SKIPPED [ 57%] 235s tests/test_query_params.py::TestQueryParams::test_default_auto_parse_csv_behaviour[simulate_request_post_query_params-wsgi] PASSED [ 57%] 235s tests/test_query_params.py::TestQueryParams::test_bad_percentage[simulate_request_post_query_params-asgi] SKIPPED [ 58%] 235s tests/test_query_params.py::TestQueryParams::test_bad_percentage[simulate_request_post_query_params-wsgi] PASSED [ 58%] 235s tests/test_query_params.py::TestQueryParams::test_allowed_names[simulate_request_post_query_params-asgi] SKIPPED [ 58%] 235s tests/test_query_params.py::TestQueryParams::test_allowed_names[simulate_request_post_query_params-wsgi] PASSED [ 58%] 235s tests/test_query_params.py::TestQueryParams::test_required[simulate_request_post_query_params-asgi-get_param] SKIPPED [ 58%] 235s tests/test_query_params.py::TestQueryParams::test_required[simulate_request_post_query_params-asgi-get_param_as_int] SKIPPED [ 58%] 235s tests/test_query_params.py::TestQueryParams::test_required[simulate_request_post_query_params-asgi-get_param_as_float] SKIPPED [ 58%] 235s tests/test_query_params.py::TestQueryParams::test_required[simulate_request_post_query_params-asgi-get_param_as_uuid] SKIPPED [ 58%] 235s tests/test_query_params.py::TestQueryParams::test_required[simulate_request_post_query_params-asgi-get_param_as_bool] SKIPPED [ 58%] 235s tests/test_query_params.py::TestQueryParams::test_required[simulate_request_post_query_params-asgi-get_param_as_list] SKIPPED [ 58%] 235s tests/test_query_params.py::TestQueryParams::test_required[simulate_request_post_query_params-wsgi-get_param] PASSED [ 58%] 235s tests/test_query_params.py::TestQueryParams::test_required[simulate_request_post_query_params-wsgi-get_param_as_int] PASSED [ 58%] 235s tests/test_query_params.py::TestQueryParams::test_required[simulate_request_post_query_params-wsgi-get_param_as_float] PASSED [ 58%] 235s tests/test_query_params.py::TestQueryParams::test_required[simulate_request_post_query_params-wsgi-get_param_as_uuid] PASSED [ 58%] 235s tests/test_query_params.py::TestQueryParams::test_required[simulate_request_post_query_params-wsgi-get_param_as_bool] PASSED [ 58%] 235s tests/test_query_params.py::TestQueryParams::test_required[simulate_request_post_query_params-wsgi-get_param_as_list] PASSED [ 58%] 235s tests/test_query_params.py::TestQueryParams::test_int[simulate_request_post_query_params-asgi] SKIPPED [ 58%] 235s tests/test_query_params.py::TestQueryParams::test_int[simulate_request_post_query_params-wsgi] PASSED [ 58%] 235s tests/test_query_params.py::TestQueryParams::test_int_neg[simulate_request_post_query_params-asgi] SKIPPED [ 58%] 235s tests/test_query_params.py::TestQueryParams::test_int_neg[simulate_request_post_query_params-wsgi] PASSED [ 58%] 235s tests/test_query_params.py::TestQueryParams::test_float[simulate_request_post_query_params-asgi] SKIPPED [ 58%] 235s tests/test_query_params.py::TestQueryParams::test_float[simulate_request_post_query_params-wsgi] PASSED [ 58%] 235s tests/test_query_params.py::TestQueryParams::test_float_neg[simulate_request_post_query_params-asgi] SKIPPED [ 58%] 235s tests/test_query_params.py::TestQueryParams::test_float_neg[simulate_request_post_query_params-wsgi] PASSED [ 58%] 235s tests/test_query_params.py::TestQueryParams::test_uuid[simulate_request_post_query_params-asgi] SKIPPED [ 58%] 235s tests/test_query_params.py::TestQueryParams::test_uuid[simulate_request_post_query_params-wsgi] PASSED [ 58%] 235s tests/test_query_params.py::TestQueryParams::test_boolean[simulate_request_post_query_params-asgi] SKIPPED [ 58%] 235s tests/test_query_params.py::TestQueryParams::test_boolean[simulate_request_post_query_params-wsgi] PASSED [ 58%] 235s tests/test_query_params.py::TestQueryParams::test_boolean_blank[simulate_request_post_query_params-asgi] SKIPPED [ 58%] 235s tests/test_query_params.py::TestQueryParams::test_boolean_blank[simulate_request_post_query_params-wsgi] PASSED [ 58%] 235s tests/test_query_params.py::TestQueryParams::test_list_type[simulate_request_post_query_params-asgi] SKIPPED [ 58%] 235s tests/test_query_params.py::TestQueryParams::test_list_type[simulate_request_post_query_params-wsgi] PASSED [ 58%] 235s tests/test_query_params.py::TestQueryParams::test_list_type_blank[simulate_request_post_query_params-asgi] SKIPPED [ 58%] 235s tests/test_query_params.py::TestQueryParams::test_list_type_blank[simulate_request_post_query_params-wsgi] PASSED [ 58%] 235s tests/test_query_params.py::TestQueryParams::test_list_transformer[simulate_request_post_query_params-asgi] SKIPPED [ 58%] 235s tests/test_query_params.py::TestQueryParams::test_list_transformer[simulate_request_post_query_params-wsgi] PASSED [ 58%] 235s tests/test_query_params.py::TestQueryParams::test_param_property[simulate_request_post_query_params-asgi] SKIPPED [ 58%] 235s tests/test_query_params.py::TestQueryParams::test_param_property[simulate_request_post_query_params-wsgi] PASSED [ 58%] 235s tests/test_query_params.py::TestQueryParams::test_multiple_form_keys[simulate_request_post_query_params-asgi] SKIPPED [ 58%] 235s tests/test_query_params.py::TestQueryParams::test_multiple_form_keys[simulate_request_post_query_params-wsgi] PASSED [ 59%] 235s tests/test_query_params.py::TestQueryParams::test_multiple_keys_as_bool[simulate_request_post_query_params-asgi] SKIPPED [ 59%] 235s tests/test_query_params.py::TestQueryParams::test_multiple_keys_as_bool[simulate_request_post_query_params-wsgi] PASSED [ 59%] 235s tests/test_query_params.py::TestQueryParams::test_multiple_keys_as_int[simulate_request_post_query_params-asgi] SKIPPED [ 59%] 235s tests/test_query_params.py::TestQueryParams::test_multiple_keys_as_int[simulate_request_post_query_params-wsgi] PASSED [ 59%] 235s tests/test_query_params.py::TestQueryParams::test_multiple_keys_as_float[simulate_request_post_query_params-asgi] SKIPPED [ 59%] 235s tests/test_query_params.py::TestQueryParams::test_multiple_keys_as_float[simulate_request_post_query_params-wsgi] PASSED [ 59%] 235s tests/test_query_params.py::TestQueryParams::test_multiple_form_keys_as_list[simulate_request_post_query_params-asgi] SKIPPED [ 59%] 235s tests/test_query_params.py::TestQueryParams::test_multiple_form_keys_as_list[simulate_request_post_query_params-wsgi] PASSED [ 59%] 235s tests/test_query_params.py::TestQueryParams::test_get_date_valid[simulate_request_post_query_params-asgi] SKIPPED [ 59%] 235s tests/test_query_params.py::TestQueryParams::test_get_date_valid[simulate_request_post_query_params-wsgi] PASSED [ 59%] 235s tests/test_query_params.py::TestQueryParams::test_get_date_missing_param[simulate_request_post_query_params-asgi] SKIPPED [ 59%] 235s tests/test_query_params.py::TestQueryParams::test_get_date_missing_param[simulate_request_post_query_params-wsgi] PASSED [ 59%] 235s tests/test_query_params.py::TestQueryParams::test_get_date_valid_with_format[simulate_request_post_query_params-asgi] SKIPPED [ 59%] 235s tests/test_query_params.py::TestQueryParams::test_get_date_valid_with_format[simulate_request_post_query_params-wsgi] PASSED [ 59%] 235s tests/test_query_params.py::TestQueryParams::test_get_date_store[simulate_request_post_query_params-asgi] SKIPPED [ 59%] 235s tests/test_query_params.py::TestQueryParams::test_get_date_store[simulate_request_post_query_params-wsgi] PASSED [ 59%] 235s tests/test_query_params.py::TestQueryParams::test_get_date_invalid[simulate_request_post_query_params-asgi] SKIPPED [ 59%] 235s tests/test_query_params.py::TestQueryParams::test_get_date_invalid[simulate_request_post_query_params-wsgi] PASSED [ 59%] 235s tests/test_query_params.py::TestQueryParams::test_get_datetime_valid[simulate_request_post_query_params-asgi] SKIPPED [ 59%] 235s tests/test_query_params.py::TestQueryParams::test_get_datetime_valid[simulate_request_post_query_params-wsgi] PASSED [ 59%] 235s tests/test_query_params.py::TestQueryParams::test_get_datetime_missing_param[simulate_request_post_query_params-asgi] SKIPPED [ 59%] 235s tests/test_query_params.py::TestQueryParams::test_get_datetime_missing_param[simulate_request_post_query_params-wsgi] PASSED [ 59%] 235s tests/test_query_params.py::TestQueryParams::test_get_datetime_valid_with_format[simulate_request_post_query_params-asgi-%Y%m%d %H:%M:%S-20150420 10:10:10-expected0] SKIPPED [ 59%] 235s tests/test_query_params.py::TestQueryParams::test_get_datetime_valid_with_format[simulate_request_post_query_params-asgi-%Y-%m-%dT%H:%M:%SZ-2015-04-20T10:10:10Z-expected1] SKIPPED [ 59%] 235s tests/test_query_params.py::TestQueryParams::test_get_datetime_valid_with_format[simulate_request_post_query_params-asgi-%Y%m%dT%H:%M:%S.%fZ-20150420T10:10:10.133701Z-expected2] SKIPPED [ 59%] 235s tests/test_query_params.py::TestQueryParams::test_get_datetime_valid_with_format[simulate_request_post_query_params-wsgi-%Y%m%d %H:%M:%S-20150420 10:10:10-expected0] PASSED [ 59%] 235s tests/test_query_params.py::TestQueryParams::test_get_datetime_valid_with_format[simulate_request_post_query_params-wsgi-%Y-%m-%dT%H:%M:%SZ-2015-04-20T10:10:10Z-expected1] PASSED [ 59%] 235s tests/test_query_params.py::TestQueryParams::test_get_datetime_valid_with_format[simulate_request_post_query_params-wsgi-%Y%m%dT%H:%M:%S.%fZ-20150420T10:10:10.133701Z-expected2] PASSED [ 59%] 235s tests/test_query_params.py::TestQueryParams::test_get_datetime_store[simulate_request_post_query_params-asgi] SKIPPED [ 59%] 235s tests/test_query_params.py::TestQueryParams::test_get_datetime_store[simulate_request_post_query_params-wsgi] PASSED [ 59%] 235s tests/test_query_params.py::TestQueryParams::test_get_datetime_invalid[simulate_request_post_query_params-asgi] SKIPPED [ 59%] 235s tests/test_query_params.py::TestQueryParams::test_get_datetime_invalid[simulate_request_post_query_params-wsgi] PASSED [ 59%] 235s tests/test_query_params.py::TestQueryParams::test_get_dict_valid[simulate_request_post_query_params-asgi] SKIPPED [ 59%] 235s tests/test_query_params.py::TestQueryParams::test_get_dict_valid[simulate_request_post_query_params-wsgi] PASSED [ 59%] 235s tests/test_query_params.py::TestQueryParams::test_get_dict_missing_param[simulate_request_post_query_params-asgi] SKIPPED [ 59%] 235s tests/test_query_params.py::TestQueryParams::test_get_dict_missing_param[simulate_request_post_query_params-wsgi] PASSED [ 59%] 235s tests/test_query_params.py::TestQueryParams::test_get_dict_store[simulate_request_post_query_params-asgi] SKIPPED [ 59%] 235s tests/test_query_params.py::TestQueryParams::test_get_dict_store[simulate_request_post_query_params-wsgi] PASSED [ 59%] 235s tests/test_query_params.py::TestQueryParams::test_get_dict_invalid[simulate_request_post_query_params-asgi] SKIPPED [ 60%] 235s tests/test_query_params.py::TestQueryParams::test_get_dict_invalid[simulate_request_post_query_params-wsgi] PASSED [ 60%] 235s tests/test_query_params.py::TestQueryParams::test_has_param[simulate_request_post_query_params-asgi] SKIPPED [ 60%] 235s tests/test_query_params.py::TestQueryParams::test_has_param[simulate_request_post_query_params-wsgi] PASSED [ 60%] 235s tests/test_query_params.py::TestQueryParams::test_get_param_as_json_handler_json[asgi] PASSED [ 60%] 235s tests/test_query_params.py::TestQueryParams::test_get_param_as_json_handler_json[wsgi] PASSED [ 60%] 235s tests/test_query_params.py::TestQueryParams::test_get_param_as_json_no_handler_json[asgi] PASSED [ 60%] 235s tests/test_query_params.py::TestQueryParams::test_get_param_as_json_no_handler_json[wsgi] PASSED [ 60%] 235s tests/test_query_params.py::TestPostQueryParams::test_http_methods_body_expected[asgi-POST] SKIPPED [ 60%] 235s tests/test_query_params.py::TestPostQueryParams::test_http_methods_body_expected[asgi-PUT] SKIPPED [ 60%] 235s tests/test_query_params.py::TestPostQueryParams::test_http_methods_body_expected[asgi-PATCH] SKIPPED [ 60%] 235s tests/test_query_params.py::TestPostQueryParams::test_http_methods_body_expected[asgi-DELETE] SKIPPED [ 60%] 235s tests/test_query_params.py::TestPostQueryParams::test_http_methods_body_expected[asgi-OPTIONS] SKIPPED [ 60%] 235s tests/test_query_params.py::TestPostQueryParams::test_http_methods_body_expected[wsgi-POST] PASSED [ 60%] 235s tests/test_query_params.py::TestPostQueryParams::test_http_methods_body_expected[wsgi-PUT] PASSED [ 60%] 235s tests/test_query_params.py::TestPostQueryParams::test_http_methods_body_expected[wsgi-PATCH] PASSED [ 60%] 235s tests/test_query_params.py::TestPostQueryParams::test_http_methods_body_expected[wsgi-DELETE] PASSED [ 60%] 235s tests/test_query_params.py::TestPostQueryParams::test_http_methods_body_expected[wsgi-OPTIONS] PASSED [ 60%] 235s tests/test_query_params.py::TestPostQueryParams::test_http_methods_body_not_expected[asgi-GET] SKIPPED [ 60%] 235s tests/test_query_params.py::TestPostQueryParams::test_http_methods_body_not_expected[asgi-HEAD] SKIPPED [ 60%] 235s tests/test_query_params.py::TestPostQueryParams::test_http_methods_body_not_expected[wsgi-GET] PASSED [ 60%] 235s tests/test_query_params.py::TestPostQueryParams::test_http_methods_body_not_expected[wsgi-HEAD] PASSED [ 60%] 235s tests/test_query_params.py::TestPostQueryParams::test_non_ascii[asgi] SKIPPED [ 60%] 235s tests/test_query_params.py::TestPostQueryParams::test_non_ascii[wsgi] PASSED [ 60%] 235s tests/test_query_params.py::TestPostQueryParams::test_empty_body[asgi] SKIPPED [ 60%] 235s tests/test_query_params.py::TestPostQueryParams::test_empty_body[wsgi] PASSED [ 60%] 235s tests/test_query_params.py::TestPostQueryParams::test_empty_body_no_content_length[asgi] SKIPPED [ 60%] 235s tests/test_query_params.py::TestPostQueryParams::test_empty_body_no_content_length[wsgi] PASSED [ 60%] 235s tests/test_query_params.py::TestPostQueryParams::test_explicitly_disable_auto_parse[asgi] SKIPPED [ 60%] 235s tests/test_query_params.py::TestPostQueryParams::test_explicitly_disable_auto_parse[wsgi] PASSED [ 60%] 235s tests/test_query_params.py::TestPostQueryParams::test_asgi_raises_error PASSED [ 60%] 235s tests/test_query_params.py::TestPostQueryParamsDefaultBehavior::test_dont_auto_parse_by_default[asgi] PASSED [ 60%] 235s tests/test_query_params.py::TestPostQueryParamsDefaultBehavior::test_dont_auto_parse_by_default[wsgi] PASSED [ 60%] 235s tests/test_recipes.py::TestMultipartMixed::test_parse PASSED [ 60%] 235s tests/test_recipes.py::TestOutputCSV::test_csv_output[asgi-simple] PASSED [ 60%] 235s tests/test_recipes.py::TestOutputCSV::test_csv_output[asgi-stream] PASSED [ 60%] 235s tests/test_recipes.py::TestOutputCSV::test_csv_output[wsgi-simple] PASSED [ 60%] 235s tests/test_recipes.py::TestOutputCSV::test_csv_output[wsgi-stream] PASSED [ 60%] 235s tests/test_recipes.py::TestPrettyJSON::test_optional_indent PASSED [ 60%] 235s tests/test_recipes.py::TestRawURLPath::test_raw_path[asgi] PASSED [ 60%] 235s tests/test_recipes.py::TestRawURLPath::test_raw_path[wsgi] PASSED [ 61%] 235s tests/test_redirects.py::TestRedirects::test_redirect[asgi-GET-301 Moved Permanently-/moved/perm] PASSED [ 61%] 235s tests/test_redirects.py::TestRedirects::test_redirect[asgi-POST-302 Found-/found] PASSED [ 61%] 235s tests/test_redirects.py::TestRedirects::test_redirect[asgi-PUT-303 See Other-/see/other] PASSED [ 61%] 235s tests/test_redirects.py::TestRedirects::test_redirect[asgi-DELETE-307 Temporary Redirect-/tmp/redirect] PASSED [ 61%] 235s tests/test_redirects.py::TestRedirects::test_redirect[asgi-HEAD-308 Permanent Redirect-/perm/redirect] PASSED [ 61%] 235s tests/test_redirects.py::TestRedirects::test_redirect[wsgi-GET-301 Moved Permanently-/moved/perm] PASSED [ 61%] 235s tests/test_redirects.py::TestRedirects::test_redirect[wsgi-POST-302 Found-/found] PASSED [ 61%] 235s tests/test_redirects.py::TestRedirects::test_redirect[wsgi-PUT-303 See Other-/see/other] PASSED [ 61%] 235s tests/test_redirects.py::TestRedirects::test_redirect[wsgi-DELETE-307 Temporary Redirect-/tmp/redirect] PASSED [ 61%] 235s tests/test_redirects.py::TestRedirects::test_redirect[wsgi-HEAD-308 Permanent Redirect-/perm/redirect] PASSED [ 61%] 235s tests/test_redirects.py::TestRedirects::test_redirect_with_headers[asgi-GET-301 Moved Permanently-/moved/perm] PASSED [ 61%] 235s tests/test_redirects.py::TestRedirects::test_redirect_with_headers[asgi-POST-302 Found-/found] PASSED [ 61%] 235s tests/test_redirects.py::TestRedirects::test_redirect_with_headers[asgi-PUT-303 See Other-/see/other] PASSED [ 61%] 235s tests/test_redirects.py::TestRedirects::test_redirect_with_headers[asgi-DELETE-307 Temporary Redirect-/tmp/redirect] PASSED [ 61%] 235s tests/test_redirects.py::TestRedirects::test_redirect_with_headers[asgi-HEAD-308 Permanent Redirect-/perm/redirect] PASSED [ 61%] 235s tests/test_redirects.py::TestRedirects::test_redirect_with_headers[wsgi-GET-301 Moved Permanently-/moved/perm] PASSED [ 61%] 235s tests/test_redirects.py::TestRedirects::test_redirect_with_headers[wsgi-POST-302 Found-/found] PASSED [ 61%] 235s tests/test_redirects.py::TestRedirects::test_redirect_with_headers[wsgi-PUT-303 See Other-/see/other] PASSED [ 61%] 235s tests/test_redirects.py::TestRedirects::test_redirect_with_headers[wsgi-DELETE-307 Temporary Redirect-/tmp/redirect] PASSED [ 61%] 235s tests/test_redirects.py::TestRedirects::test_redirect_with_headers[wsgi-HEAD-308 Permanent Redirect-/perm/redirect] PASSED [ 61%] 235s tests/test_request_access_route.py::test_remote_addr_default[asgi] PASSED [ 61%] 235s tests/test_request_access_route.py::test_remote_addr_default[wsgi] PASSED [ 61%] 235s tests/test_request_access_route.py::test_remote_addr_non_default[asgi] PASSED [ 61%] 235s tests/test_request_access_route.py::test_remote_addr_non_default[wsgi] PASSED [ 61%] 235s tests/test_request_access_route.py::test_remote_addr_only[asgi] PASSED [ 61%] 235s tests/test_request_access_route.py::test_remote_addr_only[wsgi] PASSED [ 61%] 235s tests/test_request_access_route.py::test_rfc_forwarded[asgi] PASSED [ 61%] 235s tests/test_request_access_route.py::test_rfc_forwarded[wsgi] PASSED [ 61%] 235s tests/test_request_access_route.py::test_malformed_rfc_forwarded[asgi] PASSED [ 61%] 235s tests/test_request_access_route.py::test_malformed_rfc_forwarded[wsgi] PASSED [ 61%] 235s tests/test_request_access_route.py::test_x_forwarded_for[asgi-True] PASSED [ 61%] 235s tests/test_request_access_route.py::test_x_forwarded_for[asgi-False] PASSED [ 61%] 235s tests/test_request_access_route.py::test_x_forwarded_for[wsgi-True] PASSED [ 61%] 235s tests/test_request_access_route.py::test_x_forwarded_for[wsgi-False] PASSED [ 61%] 235s tests/test_request_access_route.py::test_x_real_ip[asgi] PASSED [ 61%] 235s tests/test_request_access_route.py::test_x_real_ip[wsgi] PASSED [ 61%] 235s tests/test_request_access_route.py::test_remote_addr[asgi-10.0.0.1] PASSED [ 61%] 235s tests/test_request_access_route.py::test_remote_addr[asgi-98.245.211.177] PASSED [ 61%] 235s tests/test_request_access_route.py::test_remote_addr[wsgi-10.0.0.1] PASSED [ 62%] 235s tests/test_request_access_route.py::test_remote_addr[wsgi-98.245.211.177] PASSED [ 62%] 235s tests/test_request_access_route.py::test_remote_addr_missing PASSED [ 62%] 235s tests/test_request_attrs.py::test_missing_qs PASSED [ 62%] 235s tests/test_request_attrs.py::test_app_missing PASSED [ 62%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_empty[asgi] PASSED [ 62%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_empty[wsgi] PASSED [ 62%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_host[asgi] PASSED [ 62%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_host[wsgi] PASSED [ 62%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_subdomain[asgi] PASSED [ 62%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_subdomain[wsgi] PASSED [ 62%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_reconstruct_url[asgi] PASSED [ 62%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_reconstruct_url[wsgi] PASSED [ 62%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_nonlatin_path[asgi-/hello_\u043f\u0440\u0438\u0432\u0435\u0442] PASSED [ 62%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_nonlatin_path[asgi-/test/%E5%BB%B6%E5%AE%89] PASSED [ 62%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_nonlatin_path[asgi-/test/%C3%A4%C3%B6%C3%BC%C3%9F%E2%82%AC] PASSED [ 62%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_nonlatin_path[wsgi-/hello_\u043f\u0440\u0438\u0432\u0435\u0442] PASSED [ 62%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_nonlatin_path[wsgi-/test/%E5%BB%B6%E5%AE%89] PASSED [ 62%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_nonlatin_path[wsgi-/test/%C3%A4%C3%B6%C3%BC%C3%9F%E2%82%AC] PASSED [ 62%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_uri[asgi] PASSED [ 62%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_uri[wsgi] PASSED [ 62%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_uri_https[asgi] PASSED [ 62%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_uri_https[wsgi] PASSED [ 62%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_uri_http_1_0[asgi] PASSED [ 62%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_uri_http_1_0[wsgi] PASSED [ 62%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_relative_uri[asgi] PASSED [ 62%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_relative_uri[wsgi] PASSED [ 62%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_client_accepts[asgi] PASSED [ 62%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_client_accepts[wsgi] PASSED [ 62%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_client_accepts_bogus[asgi] PASSED [ 62%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_client_accepts_bogus[wsgi] PASSED [ 62%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_client_accepts_props[asgi] PASSED [ 62%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_client_accepts_props[wsgi] PASSED [ 62%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_client_prefers[asgi] PASSED [ 62%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_client_prefers[wsgi] PASSED [ 62%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_range[asgi] PASSED [ 62%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_range[wsgi] PASSED [ 62%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_range_unit[asgi] PASSED [ 62%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_range_unit[wsgi] PASSED [ 62%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_range_invalid[asgi] PASSED [ 63%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_range_invalid[wsgi] PASSED [ 63%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_missing_attribute_header[asgi] PASSED [ 63%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_missing_attribute_header[wsgi] PASSED [ 63%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_content_length[asgi] PASSED [ 63%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_content_length[wsgi] PASSED [ 63%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_bogus_content_length_nan[asgi] PASSED [ 63%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_bogus_content_length_nan[wsgi] PASSED [ 63%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_bogus_content_length_neg[asgi] PASSED [ 63%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_bogus_content_length_neg[wsgi] PASSED [ 63%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_date[asgi-Date-date] PASSED [ 63%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_date[asgi-If-Modified-Since-if_modified_since] PASSED [ 63%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_date[asgi-If-Unmodified-Since-if_unmodified_since] PASSED [ 63%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_date[wsgi-Date-date] PASSED [ 63%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_date[wsgi-If-Modified-Since-if_modified_since] PASSED [ 63%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_date[wsgi-If-Unmodified-Since-if_unmodified_since] PASSED [ 63%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_date_invalid[asgi-Date-date] PASSED [ 63%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_date_invalid[asgi-If-Modified-Since-if_modified_since] PASSED [ 63%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_date_invalid[asgi-If-Unmodified-Since-if_unmodified_since] PASSED [ 63%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_date_invalid[wsgi-Date-date] PASSED [ 63%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_date_invalid[wsgi-If-Modified-Since-if_modified_since] PASSED [ 63%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_date_invalid[wsgi-If-Unmodified-Since-if_unmodified_since] PASSED [ 63%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_date_missing[asgi-date] PASSED [ 63%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_date_missing[asgi-if_modified_since] PASSED [ 63%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_date_missing[asgi-if_unmodified_since] PASSED [ 63%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_date_missing[wsgi-date] PASSED [ 63%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_date_missing[wsgi-if_modified_since] PASSED [ 63%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_date_missing[wsgi-if_unmodified_since] PASSED [ 63%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_attribute_headers[asgi-Accept-x-falcon-accept-*/*] PASSED [ 63%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_attribute_headers[asgi-Authorization-HMAC_SHA1 c590afa9bb59191ffab30f223791e82d3fd3e3af-auth-None] PASSED [ 63%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_attribute_headers[asgi-Content-Type-text/plain-content_type-None] PASSED [ 63%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_attribute_headers[asgi-Expect-100-continue-expect-None] PASSED [ 63%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_attribute_headers[asgi-If-Range-Wed, 21 Oct 2015 07:28:00 GMT-if_range-None] PASSED [ 63%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_attribute_headers[asgi-User-Agent-testing/3.0-user_agent-falcon-client/4.0.2] PASSED [ 63%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_attribute_headers[asgi-Referer-https://www.google.com/-referer-None] PASSED [ 63%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_attribute_headers[wsgi-Accept-x-falcon-accept-*/*] PASSED [ 63%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_attribute_headers[wsgi-Authorization-HMAC_SHA1 c590afa9bb59191ffab30f223791e82d3fd3e3af-auth-None] PASSED [ 63%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_attribute_headers[wsgi-Content-Type-text/plain-content_type-None] PASSED [ 63%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_attribute_headers[wsgi-Expect-100-continue-expect-None] PASSED [ 63%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_attribute_headers[wsgi-If-Range-Wed, 21 Oct 2015 07:28:00 GMT-if_range-None] PASSED [ 64%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_attribute_headers[wsgi-User-Agent-testing/3.0-user_agent-falcon-client/4.0.2] PASSED [ 64%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_attribute_headers[wsgi-Referer-https://www.google.com/-referer-None] PASSED [ 64%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_method[asgi] PASSED [ 64%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_method[wsgi] PASSED [ 64%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_empty_path[asgi] PASSED [ 64%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_empty_path[wsgi] PASSED [ 64%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_content_type_method[asgi] PASSED [ 64%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_content_type_method[wsgi] PASSED [ 64%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_content_length_method[asgi] PASSED [ 64%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_content_length_method[wsgi] PASSED [ 64%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_port_explicit[asgi-1.0] PASSED [ 64%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_port_explicit[asgi-1.1] PASSED [ 64%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_port_explicit[asgi-2] PASSED [ 64%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_port_explicit[wsgi-1.0] PASSED [ 64%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_port_explicit[wsgi-1.1] PASSED [ 64%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_port_explicit[wsgi-2] PASSED [ 64%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_scheme_https[asgi-1.0] PASSED [ 64%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_scheme_https[asgi-1.1] PASSED [ 64%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_scheme_https[asgi-2] PASSED [ 64%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_scheme_https[wsgi-1.0] PASSED [ 64%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_scheme_https[wsgi-1.1] PASSED [ 64%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_scheme_https[wsgi-2] PASSED [ 64%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_scheme_http[asgi-1.0-True] PASSED [ 64%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_scheme_http[asgi-1.0-False] PASSED [ 64%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_scheme_http[asgi-1.1-True] PASSED [ 64%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_scheme_http[asgi-1.1-False] PASSED [ 64%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_scheme_http[asgi-2-True] PASSED [ 64%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_scheme_http[asgi-2-False] PASSED [ 64%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_scheme_http[wsgi-1.0-True] PASSED [ 64%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_scheme_http[wsgi-1.0-False] PASSED [ 64%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_scheme_http[wsgi-1.1-True] PASSED [ 64%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_scheme_http[wsgi-1.1-False] PASSED [ 64%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_scheme_http[wsgi-2-True] PASSED [ 64%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_scheme_http[wsgi-2-False] PASSED [ 64%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_netloc_default_port[asgi-1.0] PASSED [ 64%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_netloc_default_port[asgi-1.1] PASSED [ 64%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_netloc_default_port[asgi-2] PASSED [ 64%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_netloc_default_port[wsgi-1.0] PASSED [ 64%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_netloc_default_port[wsgi-1.1] PASSED [ 65%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_netloc_default_port[wsgi-2] PASSED [ 65%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_netloc_nondefault_port[asgi-1.0] PASSED [ 65%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_netloc_nondefault_port[asgi-1.1] PASSED [ 65%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_netloc_nondefault_port[asgi-2] PASSED [ 65%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_netloc_nondefault_port[wsgi-1.0] PASSED [ 65%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_netloc_nondefault_port[wsgi-1.1] PASSED [ 65%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_netloc_nondefault_port[wsgi-2] PASSED [ 65%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_netloc_from_env[asgi-1.0] PASSED [ 65%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_netloc_from_env[asgi-1.1] PASSED [ 65%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_netloc_from_env[asgi-2] PASSED [ 65%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_netloc_from_env[wsgi-1.0] PASSED [ 65%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_netloc_from_env[wsgi-1.1] PASSED [ 65%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_netloc_from_env[wsgi-2] PASSED [ 65%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_app_present[asgi] PASSED [ 65%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_app_present[wsgi] PASSED [ 65%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_app_blank[asgi] PASSED [ 65%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_app_blank[wsgi] PASSED [ 65%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-Match-if_match--None] PASSED [ 65%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-Match-if_match- -None] PASSED [ 65%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-Match-if_match- -None] PASSED [ 65%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-Match-if_match-\t-None] PASSED [ 65%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-Match-if_match- \t-None] PASSED [ 65%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-Match-if_match-,-None] PASSED [ 65%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-Match-if_match-,,-None] PASSED [ 65%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-Match-if_match-,, -None] PASSED [ 65%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-Match-if_match-, , -None] PASSED [ 65%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-Match-if_match-*-expected_value9] PASSED [ 65%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-Match-if_match-W/"67ab43"-expected_value10] PASSED [ 65%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-Match-if_match-w/"67ab43"-expected_value11] PASSED [ 65%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-Match-if_match- w/"67ab43"-expected_value12] PASSED [ 65%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-Match-if_match-w/"67ab43" -expected_value13] PASSED [ 65%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-Match-if_match-w/"67ab43 " -expected_value14] PASSED [ 65%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-Match-if_match-"67ab43"-expected_value15] PASSED [ 65%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-Match-if_match- "67ab43"-expected_value16] PASSED [ 65%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-Match-if_match- "67ab43" -expected_value17] PASSED [ 65%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-Match-if_match-"67ab43" -expected_value18] PASSED [ 65%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-Match-if_match-" 67ab43" -expected_value19] PASSED [ 65%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-Match-if_match-67ab43"-expected_value20] PASSED [ 65%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-Match-if_match-"67ab43-expected_value21] PASSED [ 66%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-Match-if_match-67ab43-expected_value22] PASSED [ 66%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-Match-if_match-67ab43 -expected_value23] PASSED [ 66%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-Match-if_match- 67ab43 -expected_value24] PASSED [ 66%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-Match-if_match- 67ab43-expected_value25] PASSED [ 66%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-Match-if_match-W/"67ab43", "54ed21", junk"F9,22", junk "41, 7F", unquoted, w/"22, 41, 7F", "", W/""-expected_value26] PASSED [ 66%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-None-Match-if_none_match--None] PASSED [ 66%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-None-Match-if_none_match- -None] PASSED [ 66%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-None-Match-if_none_match- -None] PASSED [ 66%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-None-Match-if_none_match-\t-None] PASSED [ 66%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-None-Match-if_none_match- \t-None] PASSED [ 66%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-None-Match-if_none_match-,-None] PASSED [ 66%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-None-Match-if_none_match-,,-None] PASSED [ 66%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-None-Match-if_none_match-,, -None] PASSED [ 66%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-None-Match-if_none_match-, , -None] PASSED [ 66%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-None-Match-if_none_match-*-expected_value9] PASSED [ 66%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-None-Match-if_none_match-W/"67ab43"-expected_value10] PASSED [ 66%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-None-Match-if_none_match-w/"67ab43"-expected_value11] PASSED [ 66%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-None-Match-if_none_match- w/"67ab43"-expected_value12] PASSED [ 66%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-None-Match-if_none_match-w/"67ab43" -expected_value13] PASSED [ 66%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-None-Match-if_none_match-w/"67ab43 " -expected_value14] PASSED [ 66%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-None-Match-if_none_match-"67ab43"-expected_value15] PASSED [ 66%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-None-Match-if_none_match- "67ab43"-expected_value16] PASSED [ 66%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-None-Match-if_none_match- "67ab43" -expected_value17] PASSED [ 66%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-None-Match-if_none_match-"67ab43" -expected_value18] PASSED [ 66%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-None-Match-if_none_match-" 67ab43" -expected_value19] PASSED [ 66%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-None-Match-if_none_match-67ab43"-expected_value20] PASSED [ 66%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-None-Match-if_none_match-"67ab43-expected_value21] PASSED [ 66%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-None-Match-if_none_match-67ab43-expected_value22] PASSED [ 66%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-None-Match-if_none_match-67ab43 -expected_value23] PASSED [ 66%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-None-Match-if_none_match- 67ab43 -expected_value24] PASSED [ 66%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-None-Match-if_none_match- 67ab43-expected_value25] PASSED [ 66%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-None-Match-if_none_match-W/"67ab43", "54ed21", junk"F9,22", junk "41, 7F", unquoted, w/"22, 41, 7F", "", W/""-expected_value26] PASSED [ 66%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-Match-if_match--None] PASSED [ 66%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-Match-if_match- -None] PASSED [ 66%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-Match-if_match- -None] PASSED [ 66%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-Match-if_match-\t-None] PASSED [ 66%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-Match-if_match- \t-None] PASSED [ 66%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-Match-if_match-,-None] PASSED [ 66%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-Match-if_match-,,-None] PASSED [ 66%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-Match-if_match-,, -None] PASSED [ 67%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-Match-if_match-, , -None] PASSED [ 67%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-Match-if_match-*-expected_value9] PASSED [ 67%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-Match-if_match-W/"67ab43"-expected_value10] PASSED [ 67%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-Match-if_match-w/"67ab43"-expected_value11] PASSED [ 67%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-Match-if_match- w/"67ab43"-expected_value12] PASSED [ 67%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-Match-if_match-w/"67ab43" -expected_value13] PASSED [ 67%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-Match-if_match-w/"67ab43 " -expected_value14] PASSED [ 67%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-Match-if_match-"67ab43"-expected_value15] PASSED [ 67%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-Match-if_match- "67ab43"-expected_value16] PASSED [ 67%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-Match-if_match- "67ab43" -expected_value17] PASSED [ 67%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-Match-if_match-"67ab43" -expected_value18] PASSED [ 67%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-Match-if_match-" 67ab43" -expected_value19] PASSED [ 67%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-Match-if_match-67ab43"-expected_value20] PASSED [ 67%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-Match-if_match-"67ab43-expected_value21] PASSED [ 67%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-Match-if_match-67ab43-expected_value22] PASSED [ 67%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-Match-if_match-67ab43 -expected_value23] PASSED [ 67%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-Match-if_match- 67ab43 -expected_value24] PASSED [ 67%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-Match-if_match- 67ab43-expected_value25] PASSED [ 67%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-Match-if_match-W/"67ab43", "54ed21", junk"F9,22", junk "41, 7F", unquoted, w/"22, 41, 7F", "", W/""-expected_value26] PASSED [ 67%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-None-Match-if_none_match--None] PASSED [ 67%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-None-Match-if_none_match- -None] PASSED [ 67%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-None-Match-if_none_match- -None] PASSED [ 67%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-None-Match-if_none_match-\t-None] PASSED [ 67%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-None-Match-if_none_match- \t-None] PASSED [ 67%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-None-Match-if_none_match-,-None] PASSED [ 67%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-None-Match-if_none_match-,,-None] PASSED [ 67%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-None-Match-if_none_match-,, -None] PASSED [ 67%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-None-Match-if_none_match-, , -None] PASSED [ 67%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-None-Match-if_none_match-*-expected_value9] PASSED [ 67%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-None-Match-if_none_match-W/"67ab43"-expected_value10] PASSED [ 67%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-None-Match-if_none_match-w/"67ab43"-expected_value11] PASSED [ 67%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-None-Match-if_none_match- w/"67ab43"-expected_value12] PASSED [ 67%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-None-Match-if_none_match-w/"67ab43" -expected_value13] PASSED [ 67%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-None-Match-if_none_match-w/"67ab43 " -expected_value14] PASSED [ 67%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-None-Match-if_none_match-"67ab43"-expected_value15] PASSED [ 67%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-None-Match-if_none_match- "67ab43"-expected_value16] PASSED [ 67%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-None-Match-if_none_match- "67ab43" -expected_value17] PASSED [ 67%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-None-Match-if_none_match-"67ab43" -expected_value18] PASSED [ 67%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-None-Match-if_none_match-" 67ab43" -expected_value19] PASSED [ 68%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-None-Match-if_none_match-67ab43"-expected_value20] PASSED [ 68%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-None-Match-if_none_match-"67ab43-expected_value21] PASSED [ 68%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-None-Match-if_none_match-67ab43-expected_value22] PASSED [ 68%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-None-Match-if_none_match-67ab43 -expected_value23] PASSED [ 68%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-None-Match-if_none_match- 67ab43 -expected_value24] PASSED [ 68%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-None-Match-if_none_match- 67ab43-expected_value25] PASSED [ 68%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-None-Match-if_none_match-W/"67ab43", "54ed21", junk"F9,22", junk "41, 7F", unquoted, w/"22, 41, 7F", "", W/""-expected_value26] PASSED [ 68%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_etag_is_missing[asgi] PASSED [ 68%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_etag_is_missing[wsgi] PASSED [ 68%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_etag_parsing_helper[asgi-] PASSED [ 68%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_etag_parsing_helper[asgi- ] PASSED [ 68%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_etag_parsing_helper[asgi- ] PASSED [ 68%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_etag_parsing_helper[wsgi-] PASSED [ 68%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_etag_parsing_helper[wsgi- ] PASSED [ 68%] 235s tests/test_request_attrs.py::TestRequestAttributes::test_etag_parsing_helper[wsgi- ] PASSED [ 68%] 235s tests/test_request_body.py::TestRequestBody::test_empty_body PASSED [ 68%] 235s tests/test_request_body.py::TestRequestBody::test_tiny_body PASSED [ 68%] 235s tests/test_request_body.py::TestRequestBody::test_tiny_body_overflow PASSED [ 68%] 235s tests/test_request_body.py::TestRequestBody::test_read_body PASSED [ 68%] 235s tests/test_request_body.py::TestRequestBody::test_bounded_stream_property_empty_body PASSED [ 68%] 235s tests/test_request_body.py::TestRequestBody::test_body_stream_wrapper PASSED [ 68%] 235s tests/test_request_body.py::TestRequestBody::test_request_repr PASSED [ 68%] 235s tests/test_request_context.py::TestRequestContext::test_default_request_context PASSED [ 68%] 235s tests/test_request_context.py::TestRequestContext::test_custom_request_context PASSED [ 68%] 235s tests/test_request_context.py::TestRequestContext::test_custom_request_context_failure PASSED [ 68%] 235s tests/test_request_context.py::TestRequestContext::test_custom_request_context_request_access PASSED [ 68%] 235s tests/test_request_forwarded.py::test_no_forwarded_headers[asgi] PASSED [ 68%] 235s tests/test_request_forwarded.py::test_no_forwarded_headers[wsgi] PASSED [ 68%] 235s tests/test_request_forwarded.py::test_no_forwarded_headers_with_port[asgi] PASSED [ 68%] 235s tests/test_request_forwarded.py::test_no_forwarded_headers_with_port[wsgi] PASSED [ 68%] 235s tests/test_request_forwarded.py::test_x_forwarded_host[asgi] PASSED [ 68%] 235s tests/test_request_forwarded.py::test_x_forwarded_host[wsgi] PASSED [ 68%] 235s tests/test_request_forwarded.py::test_x_forwarded_host_with_port[asgi] PASSED [ 68%] 235s tests/test_request_forwarded.py::test_x_forwarded_host_with_port[wsgi] PASSED [ 68%] 235s tests/test_request_forwarded.py::test_x_forwarded_proto[asgi] PASSED [ 68%] 235s tests/test_request_forwarded.py::test_x_forwarded_proto[wsgi] PASSED [ 68%] 235s tests/test_request_forwarded.py::test_forwarded_host[asgi] PASSED [ 68%] 235s tests/test_request_forwarded.py::test_forwarded_host[wsgi] PASSED [ 68%] 235s tests/test_request_forwarded.py::test_forwarded_invalid[asgi] PASSED [ 69%] 235s tests/test_request_forwarded.py::test_forwarded_invalid[wsgi] PASSED [ 69%] 235s tests/test_request_forwarded.py::test_forwarded_multiple_params[asgi] PASSED [ 69%] 235s tests/test_request_forwarded.py::test_forwarded_multiple_params[wsgi] PASSED [ 69%] 235s tests/test_request_forwarded.py::test_forwarded_missing_first_hop_host[asgi] PASSED [ 69%] 235s tests/test_request_forwarded.py::test_forwarded_missing_first_hop_host[wsgi] PASSED [ 69%] 235s tests/test_request_forwarded.py::test_forwarded_quote_escaping[asgi] PASSED [ 69%] 235s tests/test_request_forwarded.py::test_forwarded_quote_escaping[wsgi] PASSED [ 69%] 235s tests/test_request_forwarded.py::test_escape_malformed_requests[asgi-for=1.2.3.4;by="-None] PASSED [ 69%] 235s tests/test_request_forwarded.py::test_escape_malformed_requests[asgi-for=1.2.3.4;by=4\\.3.2.1thing=blah-4] PASSED [ 69%] 235s 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 [ 69%] 235s 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 [ 69%] 235s 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 [ 69%] 235s tests/test_request_forwarded.py::test_escape_malformed_requests[wsgi-for=1.2.3.4;by="-None] PASSED [ 69%] 235s tests/test_request_forwarded.py::test_escape_malformed_requests[wsgi-for=1.2.3.4;by=4\\.3.2.1thing=blah-4] PASSED [ 69%] 235s 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 [ 69%] 235s 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 [ 69%] 235s 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 [ 69%] 235s tests/test_request_media.py::test_json[asgi-None] PASSED [ 69%] 235s tests/test_request_media.py::test_json[asgi-*/*] PASSED [ 69%] 235s tests/test_request_media.py::test_json[asgi-application/json] PASSED [ 69%] 235s tests/test_request_media.py::test_json[asgi-application/json; charset=utf-8] PASSED [ 69%] 235s tests/test_request_media.py::test_json[wsgi-None] PASSED [ 69%] 235s tests/test_request_media.py::test_json[wsgi-*/*] PASSED [ 69%] 235s tests/test_request_media.py::test_json[wsgi-application/json] PASSED [ 69%] 235s tests/test_request_media.py::test_json[wsgi-application/json; charset=utf-8] PASSED [ 69%] 235s tests/test_request_media.py::test_msgpack[asgi-application/msgpack] PASSED [ 69%] 235s tests/test_request_media.py::test_msgpack[asgi-application/msgpack; charset=utf-8] PASSED [ 69%] 235s tests/test_request_media.py::test_msgpack[asgi-application/x-msgpack] PASSED [ 69%] 235s tests/test_request_media.py::test_msgpack[wsgi-application/msgpack] PASSED [ 69%] 235s tests/test_request_media.py::test_msgpack[wsgi-application/msgpack; charset=utf-8] PASSED [ 69%] 235s tests/test_request_media.py::test_msgpack[wsgi-application/x-msgpack] PASSED [ 69%] 235s tests/test_request_media.py::test_unknown_media_type[asgi-nope/json] PASSED [ 69%] 235s tests/test_request_media.py::test_unknown_media_type[wsgi-nope/json] PASSED [ 69%] 235s tests/test_request_media.py::test_empty_body[asgi-application/json] PASSED [ 69%] 235s tests/test_request_media.py::test_empty_body[asgi-application/msgpack] PASSED [ 69%] 235s tests/test_request_media.py::test_empty_body[wsgi-application/json] PASSED [ 69%] 235s tests/test_request_media.py::test_empty_body[wsgi-application/msgpack] PASSED [ 69%] 235s tests/test_request_media.py::test_invalid_json[asgi] PASSED [ 69%] 235s tests/test_request_media.py::test_invalid_json[wsgi] PASSED [ 70%] 235s tests/test_request_media.py::test_invalid_msgpack[asgi] PASSED [ 70%] 235s tests/test_request_media.py::test_invalid_msgpack[wsgi] PASSED [ 70%] 235s tests/test_request_media.py::test_complete_consumption[asgi] PASSED [ 70%] 235s tests/test_request_media.py::test_complete_consumption[wsgi] PASSED [ 70%] 235s tests/test_request_media.py::test_empty_json_media[asgi-False] PASSED [ 70%] 235s tests/test_request_media.py::test_empty_json_media[asgi-0] PASSED [ 70%] 235s tests/test_request_media.py::test_empty_json_media[asgi-0.0] PASSED [ 70%] 235s tests/test_request_media.py::test_empty_json_media[asgi-] PASSED [ 70%] 235s tests/test_request_media.py::test_empty_json_media[asgi-payload4] PASSED [ 70%] 235s tests/test_request_media.py::test_empty_json_media[asgi-payload5] PASSED [ 70%] 235s tests/test_request_media.py::test_empty_json_media[wsgi-False] PASSED [ 70%] 235s tests/test_request_media.py::test_empty_json_media[wsgi-0] PASSED [ 70%] 235s tests/test_request_media.py::test_empty_json_media[wsgi-0.0] PASSED [ 70%] 235s tests/test_request_media.py::test_empty_json_media[wsgi-] PASSED [ 70%] 235s tests/test_request_media.py::test_empty_json_media[wsgi-payload4] PASSED [ 70%] 235s tests/test_request_media.py::test_empty_json_media[wsgi-payload5] PASSED [ 70%] 235s tests/test_request_media.py::test_null_json_media[asgi] PASSED [ 70%] 235s tests/test_request_media.py::test_null_json_media[wsgi] PASSED [ 70%] 235s tests/test_request_media.py::test_fallback[asgi] PASSED [ 70%] 235s tests/test_request_media.py::test_fallback[wsgi] PASSED [ 70%] 235s tests/test_request_media.py::test_fallback_not_for_error_body[asgi-True-True] PASSED [ 70%] 235s tests/test_request_media.py::test_fallback_not_for_error_body[asgi-True-False] PASSED [ 70%] 235s tests/test_request_media.py::test_fallback_not_for_error_body[asgi-False-True] PASSED [ 70%] 235s tests/test_request_media.py::test_fallback_not_for_error_body[asgi-False-False] PASSED [ 70%] 235s tests/test_request_media.py::test_fallback_not_for_error_body[wsgi-True-True] PASSED [ 70%] 235s tests/test_request_media.py::test_fallback_not_for_error_body[wsgi-True-False] PASSED [ 70%] 235s tests/test_request_media.py::test_fallback_not_for_error_body[wsgi-False-True] PASSED [ 70%] 235s tests/test_request_media.py::test_fallback_not_for_error_body[wsgi-False-False] PASSED [ 70%] 235s tests/test_request_media.py::test_fallback_does_not_override_media_default[asgi] PASSED [ 70%] 235s tests/test_request_media.py::test_fallback_does_not_override_media_default[wsgi] PASSED [ 70%] 235s tests/test_request_media.py::test_repeated_error[asgi-{] PASSED [ 70%] 235s tests/test_request_media.py::test_repeated_error[asgi-] PASSED [ 70%] 235s tests/test_request_media.py::test_repeated_error[wsgi-{] PASSED [ 70%] 235s tests/test_request_media.py::test_repeated_error[wsgi-] PASSED [ 70%] 235s tests/test_request_media.py::test_error_after_first_default[asgi] PASSED [ 70%] 235s tests/test_request_media.py::test_error_after_first_default[wsgi] PASSED [ 70%] 235s tests/test_response.py::test_response_set_content_type_set[asgi] PASSED [ 70%] 235s tests/test_response.py::test_response_set_content_type_set[wsgi] PASSED [ 70%] 235s tests/test_response.py::test_response_set_content_type_not_set[asgi] PASSED [ 71%] 235s tests/test_response.py::test_response_set_content_type_not_set[wsgi] PASSED [ 71%] 235s tests/test_response.py::test_response_get_headers[asgi] PASSED [ 71%] 235s tests/test_response.py::test_response_get_headers[wsgi] PASSED [ 71%] 235s tests/test_response.py::test_add_link_removed[asgi] PASSED [ 71%] 235s tests/test_response.py::test_add_link_removed[wsgi] PASSED [ 71%] 235s tests/test_response.py::test_body_removed[asgi] PASSED [ 71%] 235s tests/test_response.py::test_body_removed[wsgi] PASSED [ 71%] 235s tests/test_response.py::test_response_attempt_to_set_read_only_headers[asgi] PASSED [ 71%] 235s tests/test_response.py::test_response_attempt_to_set_read_only_headers[wsgi] PASSED [ 71%] 235s tests/test_response.py::test_response_option_mimetype_init PASSED [ 71%] 235s tests/test_response.py::test_response_set_stream[asgi-] PASSED [ 71%] 235s tests/test_response.py::test_response_set_stream[asgi-dummy content] PASSED [ 71%] 235s tests/test_response.py::test_response_set_stream[wsgi-] PASSED [ 71%] 235s tests/test_response.py::test_response_set_stream[wsgi-dummy content] PASSED [ 71%] 235s tests/test_response_body.py::test_append_body[asgi] PASSED [ 71%] 235s tests/test_response_body.py::test_append_body[wsgi] PASSED [ 71%] 235s tests/test_response_body.py::test_response_repr[asgi] PASSED [ 71%] 235s tests/test_response_body.py::test_response_repr[wsgi] PASSED [ 71%] 235s tests/test_response_body.py::test_content_length_set_on_head_with_no_body[asgi] PASSED [ 71%] 235s tests/test_response_body.py::test_content_length_set_on_head_with_no_body[wsgi] PASSED [ 71%] 235s tests/test_response_body.py::test_content_length_not_set_when_streaming_response[asgi-GET] PASSED [ 71%] 235s tests/test_response_body.py::test_content_length_not_set_when_streaming_response[asgi-HEAD] PASSED [ 71%] 235s tests/test_response_body.py::test_content_length_not_set_when_streaming_response[wsgi-GET] PASSED [ 71%] 235s tests/test_response_body.py::test_content_length_not_set_when_streaming_response[wsgi-HEAD] PASSED [ 71%] 235s tests/test_response_body.py::test_unsupported_response_content_type[asgi] PASSED [ 71%] 235s tests/test_response_body.py::test_unsupported_response_content_type[wsgi] PASSED [ 71%] 235s tests/test_response_body.py::test_response_body_rendition_error[asgi] PASSED [ 71%] 235s tests/test_response_body.py::test_response_body_rendition_error[wsgi] PASSED [ 71%] 235s tests/test_response_context.py::TestResponseContext::test_default_response_context[asgi.Response] PASSED [ 71%] 235s tests/test_response_context.py::TestResponseContext::test_default_response_context[Response] PASSED [ 71%] 235s tests/test_response_context.py::TestResponseContext::test_custom_response_context[asgi.Response] PASSED [ 71%] 235s tests/test_response_context.py::TestResponseContext::test_custom_response_context[Response] PASSED [ 71%] 235s tests/test_response_context.py::TestResponseContext::test_custom_response_context_failure[asgi.Response] PASSED [ 71%] 235s tests/test_response_context.py::TestResponseContext::test_custom_response_context_failure[Response] PASSED [ 71%] 235s tests/test_response_context.py::TestResponseContext::test_custom_response_context_factory[asgi.Response] PASSED [ 71%] 235s tests/test_response_context.py::TestResponseContext::test_custom_response_context_factory[Response] PASSED [ 71%] 235s tests/test_response_media.py::test_json[*/*] PASSED [ 71%] 235s tests/test_response_media.py::test_json[application/json] PASSED [ 71%] 235s tests/test_response_media.py::test_json[application/json; charset=utf-8] PASSED [ 72%] 235s tests/test_response_media.py::test_non_ascii_json_serialization[] PASSED [ 72%] 235s tests/test_response_media.py::test_non_ascii_json_serialization[I am a \u1d0a\ua731\u1d0f\u0274 string.] PASSED [ 72%] 235s tests/test_response_media.py::test_non_ascii_json_serialization[document2] PASSED [ 72%] 235s tests/test_response_media.py::test_non_ascii_json_serialization[document3] PASSED [ 72%] 235s tests/test_response_media.py::test_non_ascii_json_serialization[document4] PASSED [ 72%] 235s tests/test_response_media.py::test_msgpack[application/msgpack] PASSED [ 72%] 235s tests/test_response_media.py::test_msgpack[application/msgpack; charset=utf-8] PASSED [ 72%] 235s tests/test_response_media.py::test_msgpack[application/x-msgpack] PASSED [ 72%] 235s tests/test_response_media.py::test_unknown_media_type PASSED [ 72%] 235s tests/test_response_media.py::test_use_cached_media PASSED [ 72%] 235s tests/test_response_media.py::test_default_media_type PASSED [ 72%] 235s tests/test_response_media.py::test_mimeparse_edgecases PASSED [ 72%] 235s tests/test_response_media.py::TestRenderBodyPrecedence::test_text PASSED [ 72%] 235s tests/test_response_media.py::TestRenderBodyPrecedence::test_data PASSED [ 72%] 235s tests/test_response_media.py::TestRenderBodyPrecedence::test_media PASSED [ 72%] 235s tests/test_response_media.py::test_media_rendered_cached PASSED [ 72%] 235s tests/test_sink_and_static.py::test_sink_before_static_route[asgi] PASSED [ 72%] 235s tests/test_sink_and_static.py::test_sink_before_static_route[wsgi] PASSED [ 72%] 235s tests/test_sink_and_static.py::test_sink_after_static_route[asgi] PASSED [ 72%] 235s tests/test_sink_and_static.py::test_sink_after_static_route[wsgi] PASSED [ 72%] 235s tests/test_sinks.py::TestDefaultRouting::test_single_default_pattern[asgi] PASSED [ 72%] 235s tests/test_sinks.py::TestDefaultRouting::test_single_default_pattern[wsgi] PASSED [ 72%] 235s tests/test_sinks.py::TestDefaultRouting::test_single_simple_pattern[asgi] PASSED [ 72%] 235s tests/test_sinks.py::TestDefaultRouting::test_single_simple_pattern[wsgi] PASSED [ 72%] 235s tests/test_sinks.py::TestDefaultRouting::test_single_compiled_pattern[asgi] PASSED [ 72%] 235s tests/test_sinks.py::TestDefaultRouting::test_single_compiled_pattern[wsgi] PASSED [ 72%] 235s tests/test_sinks.py::TestDefaultRouting::test_named_groups[asgi] PASSED [ 72%] 235s tests/test_sinks.py::TestDefaultRouting::test_named_groups[wsgi] PASSED [ 72%] 235s tests/test_sinks.py::TestDefaultRouting::test_multiple_patterns[asgi] PASSED [ 72%] 235s tests/test_sinks.py::TestDefaultRouting::test_multiple_patterns[wsgi] PASSED [ 72%] 235s tests/test_sinks.py::TestDefaultRouting::test_with_route[asgi] PASSED [ 72%] 235s tests/test_sinks.py::TestDefaultRouting::test_with_route[wsgi] PASSED [ 72%] 235s tests/test_sinks.py::TestDefaultRouting::test_route_precedence[asgi] PASSED [ 72%] 235s tests/test_sinks.py::TestDefaultRouting::test_route_precedence[wsgi] PASSED [ 72%] 235s tests/test_sinks.py::TestDefaultRouting::test_route_precedence_with_id[asgi] PASSED [ 72%] 235s tests/test_sinks.py::TestDefaultRouting::test_route_precedence_with_id[wsgi] PASSED [ 72%] 235s tests/test_sinks.py::TestDefaultRouting::test_route_precedence_with_both_id[asgi] PASSED [ 72%] 235s tests/test_sinks.py::TestDefaultRouting::test_route_precedence_with_both_id[wsgi] PASSED [ 72%] 235s tests/test_sinks.py::TestSinkMethodCompatibility::test_add_async_sink[asgi] PASSED [ 73%] 235s tests/test_sinks.py::TestSinkMethodCompatibility::test_add_async_sink[wsgi] PASSED [ 73%] 235s tests/test_sinks.py::TestSinkMethodCompatibility::test_add_sync_sink[asgi] PASSED [ 73%] 235s tests/test_sinks.py::TestSinkMethodCompatibility::test_add_sync_sink[wsgi] PASSED [ 73%] 235s tests/test_sinks.py::TestSinkMethodCompatibility::test_add_sync_sink_with_wrapping[asgi] PASSED [ 73%] 235s tests/test_sinks.py::TestSinkMethodCompatibility::test_add_sync_sink_with_wrapping[wsgi] PASSED [ 73%] 235s tests/test_slots.py::TestSlots::test_slots_request[asgi] PASSED [ 73%] 235s tests/test_slots.py::TestSlots::test_slots_request[wsgi] PASSED [ 73%] 235s tests/test_slots.py::TestSlots::test_slots_response[asgi] PASSED [ 73%] 235s tests/test_slots.py::TestSlots::test_slots_response[wsgi] PASSED [ 73%] 235s tests/test_static.py::test_bad_path[asgi-/static] PASSED [ 73%] 235s tests/test_static.py::test_bad_path[asgi-/static/] PASSED [ 73%] 235s tests/test_static.py::test_bad_path[asgi-/static/.] PASSED [ 73%] 235s tests/test_static.py::test_bad_path[asgi-/static/..] PASSED [ 73%] 235s tests/test_static.py::test_bad_path[asgi-/static/../.] PASSED [ 73%] 235s tests/test_static.py::test_bad_path[asgi-/static/.././etc/passwd] PASSED [ 73%] 235s tests/test_static.py::test_bad_path[asgi-/static/../etc/passwd] PASSED [ 73%] 235s tests/test_static.py::test_bad_path[asgi-/static/css/../../secret] PASSED [ 73%] 235s tests/test_static.py::test_bad_path[asgi-/static/css/../../etc/passwd] PASSED [ 73%] 235s tests/test_static.py::test_bad_path[asgi-/static/./../etc/passwd] PASSED [ 73%] 235s tests/test_static.py::test_bad_path[asgi-/static/css/../.\\056/etc/passwd] PASSED [ 73%] 235s tests/test_static.py::test_bad_path[asgi-/static/./\\056./etc/passwd] PASSED [ 73%] 235s tests/test_static.py::test_bad_path[asgi-/static/\\056\\056/etc/passwd] PASSED [ 73%] 235s tests/test_static.py::test_bad_path[asgi-/static//test.css] PASSED [ 73%] 235s tests/test_static.py::test_bad_path[asgi-/static//COM10] PASSED [ 73%] 235s tests/test_static.py::test_bad_path[asgi-/static/path//test.css] PASSED [ 73%] 235s tests/test_static.py::test_bad_path[asgi-/static/path///test.css] PASSED [ 73%] 235s tests/test_static.py::test_bad_path[asgi-/static/path////test.css] PASSED [ 73%] 235s tests/test_static.py::test_bad_path[asgi-/static/path/foo//test.css] PASSED [ 73%] 235s tests/test_static.py::test_bad_path[asgi-/static/.\x00ssh/authorized_keys] PASSED [ 73%] 235s tests/test_static.py::test_bad_path[asgi-/static/.\x1fssh/authorized_keys] PASSED [ 73%] 235s tests/test_static.py::test_bad_path[asgi-/static/.\x80ssh/authorized_keys] PASSED [ 73%] 235s tests/test_static.py::test_bad_path[asgi-/static/.\x9fssh/authorized_keys] PASSED [ 73%] 235s tests/test_static.py::test_bad_path[asgi-/static/~/.ssh/authorized_keys] PASSED [ 73%] 235s tests/test_static.py::test_bad_path[asgi-/static/.ssh/authorized_key?] PASSED [ 73%] 235s tests/test_static.py::test_bad_path[asgi-/static/.ssh/authorized_key>foo] PASSED [ 73%] 235s tests/test_static.py::test_bad_path[asgi-/static/.ssh/authorized_key|foo] PASSED [ 73%] 235s tests/test_static.py::test_bad_path[asgi-/static/.ssh/authorized_keyfoo] PASSED [ 74%] 236s tests/test_static.py::test_bad_path[wsgi-/static/.ssh/authorized_key|foo] PASSED [ 74%] 236s tests/test_static.py::test_bad_path[wsgi-/static/.ssh/authorized_key