Wed Oct 1 05:33:14 UTC 2025 I: starting to build python-falcon/forky/arm64 on jenkins on '2025-10-01 05:33' Wed Oct 1 05:33:14 UTC 2025 I: The jenkins build log is/was available at https://jenkins.debian.net/userContent/reproducible/debian/build_service/arm64_2/116053/console.log Wed Oct 1 05:33:14 UTC 2025 I: Downloading source for forky/python-falcon=4.0.2-2 --2025-10-01 05:33:14-- http://deb.debian.org/debian/pool/main/p/python-falcon/python-falcon_4.0.2-2.dsc Connecting to 46.16.76.132:3128... connected. Proxy request sent, awaiting response... 200 OK Length: 2441 (2.4K) [text/prs.lines.tag] Saving to: ‘python-falcon_4.0.2-2.dsc’ 0K .. 100% 262M=0s 2025-10-01 05:33:14 (262 MB/s) - ‘python-falcon_4.0.2-2.dsc’ saved [2441/2441] Wed Oct 1 05:33:14 UTC 2025 I: python-falcon_4.0.2-2.dsc -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 Format: 3.0 (quilt) Source: python-falcon Binary: python3-falcon Architecture: any Version: 4.0.2-2 Maintainer: Debian OpenStack Uploaders: Thomas Goirand , Homepage: http://falconframework.org Standards-Version: 4.4.1 Vcs-Browser: https://salsa.debian.org/openstack-team/python/python-falcon Vcs-Git: https://salsa.debian.org/openstack-team/python/python-falcon.git Testsuite: autopkgtest Testsuite-Triggers: @builddeps@ Build-Depends: cython3, debhelper-compat (= 11), dh-python, lsb-release, openstack-pkg-tools, python3-aiofiles, python3-all, python3-all-dev, python3-asgiref, python3-cbor2, python3-coverage, python3-ddt, python3-httpx, python3-jsonschema, python3-mimeparse, python3-msgpack, python3-mujson, python3-pytest, python3-rapidjson, python3-requests, python3-setuptools, python3-testtools, python3-ujson, python3-uvicorn, python3-websockets, python3-yaml, uvicorn Package-List: python3-falcon deb python optional arch=any Checksums-Sha1: 1054c594015560672134fdff834ee18c158b333b 886176 python-falcon_4.0.2.orig.tar.xz 3d82248e60476635eef13e265a40654a5b11298d 7088 python-falcon_4.0.2-2.debian.tar.xz Checksums-Sha256: 23847f7795656f7cb582478a681de402a9f1ec4b3240f46ce553bc135d4c4a82 886176 python-falcon_4.0.2.orig.tar.xz c20f66abf9f33b7df05a5d3fdd701d675f40a4e5300c03875ae8215ffa31734f 7088 python-falcon_4.0.2-2.debian.tar.xz Files: af5030ca0e4ebe28d97e14d5d6690e78 886176 python-falcon_4.0.2.orig.tar.xz 6bc364993dc1c5cc4cd3ff9df206de03 7088 python-falcon_4.0.2-2.debian.tar.xz -----BEGIN PGP SIGNATURE----- iQIzBAEBCgAdFiEEoLGp81CJVhMOekJc1BatFaxrQ/4FAmjaeycACgkQ1BatFaxr Q/5Cxg//azzvW1Ad91fu97ZwjznhC0/qI1D81jvlwOKXCndInNbV0U8EjhYsz+8F Qg40HO4RT0BUFpNZt3vv1+/FYJiz0uA/QGzujsiGuXzHnk7c+2TGree8StpTrDZS MAPtxi/ccLfW4f86rFudBaV6NcVDllWC7A+ZBFHqXpkZNvq+uArdlOi7pYRBZUBA gIxa+0cpQtCflJW7r+RyQjxRZMDZQ84VxuZ9eHmMmSoKuXxCRSHfuj0n55iEdB9d n26qybtHHqAnr+gYirHOQKKpCYJTOgQ4TXk/lEOG057o2YkTN+vbOdeffz7vrN9r Hyf+m4nslG7ZytRXRqR1ykRpengvz+RPcU7DcAgI3oV7tftWFUJFFVWGajClRigb Vt6IV7RsC2ElIwWCtvoedJQrleEJrtYOkYPV9dcuaSCLLNX0MMPeUpbz6/rB48QY IBunX6s1mZaQXvErkszV5RxzPeh9R8yQZgc18lKRchDdBa6WruUwsSouHEcjk/Kw L9d7sEPzyNmqhCy26EAQRja8fwoUtNIz9JfkA0WRrsLBNbLDaFZOFx3Dpk7k53iT UM+3EJzfXCdNxKLZPpRp8BivscXBN1AsWlCzJXzFml3sqQTgEDGcEjsiLGnMU7LB sqelQ90QNQJFNHMoLqVhRptEgYOCHVv2zhiwUyI1aJbst1bKcdA= =vEp7 -----END PGP SIGNATURE----- Wed Oct 1 05:33:14 UTC 2025 I: Checking whether the package is not for us Wed Oct 1 05:33:14 UTC 2025 I: Starting 1st build on remote node codethink03-arm64.debian.net. Wed Oct 1 05:33:14 UTC 2025 I: Preparing to do remote build '1' on codethink03-arm64.debian.net. Wed Oct 1 05:38:56 UTC 2025 I: Deleting $TMPDIR on codethink03-arm64.debian.net. I: pbuilder: network access will be disabled during build I: Current time: Mon Nov 2 23:56:16 -12 2026 I: pbuilder-time-stamp: 1793706976 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/forky-reproducible-base.tgz] I: copying local configuration W: --override-config is not set; not updating apt.conf Read the manpage for details. I: mounting /proc filesystem I: mounting /sys filesystem I: creating /{dev,run}/shm I: mounting /dev/pts filesystem I: redirecting /dev/ptmx to /dev/pts/ptmx I: policy-rc.d already exists I: Copying source file I: copying [python-falcon_4.0.2-2.dsc] I: copying [./python-falcon_4.0.2.orig.tar.xz] I: copying [./python-falcon_4.0.2-2.debian.tar.xz] I: Extracting source dpkg-source: warning: cannot verify inline signature for ./python-falcon_4.0.2-2.dsc: no acceptable signature found dpkg-source: info: extracting python-falcon in python-falcon-4.0.2 dpkg-source: info: unpacking python-falcon_4.0.2.orig.tar.xz dpkg-source: info: unpacking python-falcon_4.0.2-2.debian.tar.xz dpkg-source: info: using patch list from debian/patches/series dpkg-source: info: applying fix-non-ascii-in-doc.patch dpkg-source: info: applying remove-test_cythonized_asgi.py.patch I: Not using root during the build. I: Installing the build-deps I: user script /srv/workspace/pbuilder/3037319/tmp/hooks/D02_print_environment starting I: set BUILDDIR='/build/reproducible-path' BUILDUSERGECOS='first user,first room,first work-phone,first home-phone,first other' BUILDUSERNAME='pbuilder1' BUILD_ARCH='arm64' DEBIAN_FRONTEND='noninteractive' DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=12 ' DISTRIBUTION='forky' HOME='/root' HOST_ARCH='arm64' IFS=' ' INVOCATION_ID='c6c009b4ee74419a842590c262dfe803' LANG='C' LANGUAGE='en_US:en' LC_ALL='C' MAIL='/var/mail/root' OPTIND='1' PATH='/usr/sbin:/usr/bin:/sbin:/bin:/usr/games' PBCURRENTCOMMANDLINEOPERATION='build' PBUILDER_OPERATION='build' PBUILDER_PKGDATADIR='/usr/share/pbuilder' PBUILDER_PKGLIBDIR='/usr/lib/pbuilder' PBUILDER_SYSCONFDIR='/etc' PPID='3037319' PS1='# ' PS2='> ' PS4='+ ' PWD='/' SHELL='/bin/bash' SHLVL='2' SUDO_COMMAND='/usr/bin/timeout -k 18.1h 18h /usr/bin/ionice -c 3 /usr/bin/nice /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.aiul3SFL/pbuilderrc_aFOv --distribution forky --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/forky-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.aiul3SFL/b1 --logfile b1/build.log python-falcon_4.0.2-2.dsc' SUDO_GID='109' SUDO_HOME='/var/lib/jenkins' SUDO_UID='104' SUDO_USER='jenkins' TERM='unknown' TZ='/usr/share/zoneinfo/Etc/GMT+12' USER='root' _='/usr/bin/systemd-run' http_proxy='http://192.168.101.4:3128' I: uname -a Linux codethink03-arm64 6.12.48+deb13-cloud-arm64 #1 SMP Debian 6.12.48-1 (2025-09-20) aarch64 GNU/Linux I: ls -l /bin lrwxrwxrwx 1 root root 7 Aug 10 2025 /bin -> usr/bin I: user script /srv/workspace/pbuilder/3037319/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy Version: 0.invalid.0 Architecture: arm64 Maintainer: Debian Pbuilder Team Description: Dummy package to satisfy dependencies with aptitude - created by pbuilder This package was created automatically by pbuilder to satisfy the build-dependencies of the package being currently built. Depends: cython3, debhelper-compat (= 11), dh-python, lsb-release, openstack-pkg-tools, python3-aiofiles, python3-all, python3-all-dev, python3-asgiref, python3-cbor2, python3-coverage, python3-ddt, python3-httpx, python3-jsonschema, python3-mimeparse, python3-msgpack, python3-mujson, python3-pytest, python3-rapidjson, python3-requests, python3-setuptools, python3-testtools, python3-ujson, python3-uvicorn, python3-websockets, python3-yaml, uvicorn dpkg-deb: building package 'pbuilder-satisfydepends-dummy' in '/tmp/satisfydepends-aptitude/pbuilder-satisfydepends-dummy.deb'. Selecting previously unselected package pbuilder-satisfydepends-dummy. (Reading database ... 20000 files and directories currently installed.) Preparing to unpack .../pbuilder-satisfydepends-dummy.deb ... Unpacking pbuilder-satisfydepends-dummy (0.invalid.0) ... dpkg: pbuilder-satisfydepends-dummy: dependency problems, but configuring anyway as you requested: pbuilder-satisfydepends-dummy depends on cython3; however: Package cython3 is not installed. pbuilder-satisfydepends-dummy depends on debhelper-compat (= 11); however: Package debhelper-compat is not installed. pbuilder-satisfydepends-dummy depends on dh-python; however: Package dh-python is not installed. pbuilder-satisfydepends-dummy depends on lsb-release; however: Package lsb-release is not installed. pbuilder-satisfydepends-dummy depends on openstack-pkg-tools; however: Package openstack-pkg-tools is not installed. pbuilder-satisfydepends-dummy depends on python3-aiofiles; however: Package python3-aiofiles is not installed. pbuilder-satisfydepends-dummy depends on python3-all; however: Package python3-all is not installed. pbuilder-satisfydepends-dummy depends on python3-all-dev; however: Package python3-all-dev is not installed. pbuilder-satisfydepends-dummy depends on python3-asgiref; however: Package python3-asgiref is not installed. pbuilder-satisfydepends-dummy depends on python3-cbor2; however: Package python3-cbor2 is not installed. pbuilder-satisfydepends-dummy depends on python3-coverage; however: Package python3-coverage is not installed. pbuilder-satisfydepends-dummy depends on python3-ddt; however: Package python3-ddt is not installed. pbuilder-satisfydepends-dummy depends on python3-httpx; however: Package python3-httpx is not installed. pbuilder-satisfydepends-dummy depends on python3-jsonschema; however: Package python3-jsonschema is not installed. pbuilder-satisfydepends-dummy depends on python3-mimeparse; however: Package python3-mimeparse is not installed. pbuilder-satisfydepends-dummy depends on python3-msgpack; however: Package python3-msgpack is not installed. pbuilder-satisfydepends-dummy depends on python3-mujson; however: Package python3-mujson is not installed. pbuilder-satisfydepends-dummy depends on python3-pytest; however: Package python3-pytest is not installed. pbuilder-satisfydepends-dummy depends on python3-rapidjson; however: Package python3-rapidjson is not installed. pbuilder-satisfydepends-dummy depends on python3-requests; however: Package python3-requests is not installed. pbuilder-satisfydepends-dummy depends on python3-setuptools; however: Package python3-setuptools is not installed. pbuilder-satisfydepends-dummy depends on python3-testtools; however: Package python3-testtools is not installed. pbuilder-satisfydepends-dummy depends on python3-ujson; however: Package python3-ujson is not installed. pbuilder-satisfydepends-dummy depends on python3-uvicorn; however: Package python3-uvicorn is not installed. pbuilder-satisfydepends-dummy depends on python3-websockets; however: Package python3-websockets is not installed. pbuilder-satisfydepends-dummy depends on python3-yaml; however: Package python3-yaml is not installed. pbuilder-satisfydepends-dummy depends on uvicorn; however: Package uvicorn is not installed. Setting up pbuilder-satisfydepends-dummy (0.invalid.0) ... Reading package lists... Building dependency tree... Reading state information... Initializing package states... Writing extended state information... Building tag database... pbuilder-satisfydepends-dummy is already installed at the requested version (0.invalid.0) pbuilder-satisfydepends-dummy is already installed at the requested version (0.invalid.0) The following NEW packages will be installed: autoconf{a} automake{a} autopoint{a} autotools-dev{a} bsdextrautils{a} ca-certificates{a} cython3{a} debhelper{a} dh-autoreconf{a} dh-python{a} dh-strip-nondeterminism{a} dwz{a} file{a} gettext{a} gettext-base{a} groff-base{a} intltool-debian{a} jq{a} libarchive-zip-perl{a} libdebhelper-perl{a} libdouble-conversion3{a} libelf1t64{a} libexpat1{a} libexpat1-dev{a} libffi8{a} libfile-stripnondeterminism-perl{a} libjq1{a} libjs-sphinxdoc{a} libmagic-mgc{a} libmagic1t64{a} libonig5{a} libpipeline1{a} libpython3-all-dev{a} libpython3-dev{a} libpython3-stdlib{a} libpython3.13{a} libpython3.13-dev{a} libpython3.13-minimal{a} libpython3.13-stdlib{a} libreadline8t64{a} libtool{a} libuchardet0{a} libunistring5{a} libuv1t64{a} libxml2-16{a} libyaml-0-2{a} lsb-release{a} m4{a} man-db{a} media-types{a} netbase{a} openssl{a} openstack-pkg-tools{a} po-debconf{a} python3{a} python3-aiofiles{a} python3-all{a} python3-all-dev{a} python3-anyio{a} python3-asgiref{a} python3-attr{a} python3-autocommand{a} python3-cbor2{a} python3-certifi{a} python3-chardet{a} python3-charset-normalizer{a} python3-click{a} python3-coverage{a} python3-ddt{a} python3-dev{a} python3-h11{a} python3-httpcore{a} python3-httpx{a} python3-idna{a} python3-inflect{a} python3-iniconfig{a} python3-jaraco.context{a} python3-jaraco.functools{a} python3-jaraco.text{a} python3-jsonschema{a} python3-jsonschema-specifications{a} python3-linkify-it{a} python3-markdown-it{a} python3-mdurl{a} python3-mimeparse{a} python3-minimal{a} python3-more-itertools{a} python3-msgpack{a} python3-mujson{a} python3-packaging{a} python3-pip{a} python3-pkg-resources{a} python3-pluggy{a} python3-pygments{a} python3-pytest{a} python3-rapidjson{a} python3-referencing{a} python3-requests{a} python3-rich{a} python3-rpds-py{a} python3-setuptools{a} python3-sniffio{a} python3-testtools{a} python3-typeguard{a} python3-typing-extensions{a} python3-uc-micro{a} python3-ujson{a} python3-urllib3{a} python3-uvicorn{a} python3-uvloop{a} python3-websockets{a} python3-wheel{a} python3-wsproto{a} python3-yaml{a} python3-zipp{a} python3.13{a} python3.13-dev{a} python3.13-minimal{a} readline-common{a} sensible-utils{a} tzdata{a} uvicorn{a} zlib1g-dev{a} The following packages are RECOMMENDED but will NOT be installed: autopkgtest curl libarchive-cpio-perl libltdl-dev libmail-sendmail-perl lynx madison-lite pristine-tar python3-fqdn python3-isoduration python3-json-pointer python3-rfc3339-validator python3-rfc3986-validator python3-rfc3987 python3-uritemplate python3-webcolors wget 0 packages upgraded, 123 newly installed, 0 to remove and 0 not upgraded. Need to get 37.3 MB of archives. After unpacking 163 MB will be used. Writing extended state information... Get: 1 http://deb.debian.org/debian forky/main arm64 libexpat1 arm64 2.7.3-1 [96.5 kB] Get: 2 http://deb.debian.org/debian forky/main arm64 libpython3.13-minimal arm64 3.13.7-1 [857 kB] Get: 3 http://deb.debian.org/debian forky/main arm64 python3.13-minimal arm64 3.13.7-1 [2001 kB] Get: 4 http://deb.debian.org/debian forky/main arm64 python3-minimal arm64 3.13.7-1 [27.2 kB] Get: 5 http://deb.debian.org/debian forky/main arm64 media-types all 13.0.0 [29.3 kB] Get: 6 http://deb.debian.org/debian forky/main arm64 netbase all 6.5 [12.4 kB] Get: 7 http://deb.debian.org/debian forky/main arm64 tzdata all 2025b-5 [260 kB] Get: 8 http://deb.debian.org/debian forky/main arm64 libffi8 arm64 3.5.2-2 [21.5 kB] Get: 9 http://deb.debian.org/debian forky/main arm64 readline-common all 8.3-3 [74.8 kB] Get: 10 http://deb.debian.org/debian forky/main arm64 libreadline8t64 arm64 8.3-3 [169 kB] Get: 11 http://deb.debian.org/debian forky/main arm64 libpython3.13-stdlib arm64 3.13.7-1 [1895 kB] Get: 12 http://deb.debian.org/debian forky/main arm64 python3.13 arm64 3.13.7-1 [761 kB] Get: 13 http://deb.debian.org/debian forky/main arm64 libpython3-stdlib arm64 3.13.7-1 [10.2 kB] Get: 14 http://deb.debian.org/debian forky/main arm64 python3 arm64 3.13.7-1 [28.3 kB] Get: 15 http://deb.debian.org/debian forky/main arm64 sensible-utils all 0.0.26 [27.0 kB] Get: 16 http://deb.debian.org/debian forky/main arm64 openssl arm64 3.5.3-1 [1457 kB] Get: 17 http://deb.debian.org/debian forky/main arm64 ca-certificates all 20250419 [162 kB] Get: 18 http://deb.debian.org/debian forky/main arm64 libmagic-mgc arm64 1:5.46-5 [338 kB] Get: 19 http://deb.debian.org/debian forky/main arm64 libmagic1t64 arm64 1:5.46-5 [103 kB] Get: 20 http://deb.debian.org/debian forky/main arm64 file arm64 1:5.46-5 [43.7 kB] Get: 21 http://deb.debian.org/debian forky/main arm64 gettext-base arm64 0.23.1-2+b1 [241 kB] Get: 22 http://deb.debian.org/debian forky/main arm64 libuchardet0 arm64 0.0.8-2 [69.0 kB] Get: 23 http://deb.debian.org/debian forky/main arm64 groff-base arm64 1.23.0-9 [1130 kB] Get: 24 http://deb.debian.org/debian forky/main arm64 bsdextrautils arm64 2.41.2-1 [94.3 kB] Get: 25 http://deb.debian.org/debian forky/main arm64 libpipeline1 arm64 1.5.8-1 [40.2 kB] Get: 26 http://deb.debian.org/debian forky/main arm64 man-db arm64 2.13.1-1 [1453 kB] Get: 27 http://deb.debian.org/debian forky/main arm64 m4 arm64 1.4.20-1 [316 kB] Get: 28 http://deb.debian.org/debian forky/main arm64 autoconf all 2.72-3.1 [494 kB] Get: 29 http://deb.debian.org/debian forky/main arm64 autotools-dev all 20240727.1 [60.2 kB] Get: 30 http://deb.debian.org/debian forky/main arm64 automake all 1:1.17-4 [862 kB] Get: 31 http://deb.debian.org/debian forky/main arm64 autopoint all 0.23.1-2 [770 kB] Get: 32 http://deb.debian.org/debian forky/main arm64 cython3 arm64 3.0.11+dfsg-2+b1 [2255 kB] Get: 33 http://deb.debian.org/debian forky/main arm64 libdebhelper-perl all 13.27 [92.2 kB] Get: 34 http://deb.debian.org/debian forky/main arm64 libtool all 2.5.4-5 [540 kB] Get: 35 http://deb.debian.org/debian forky/main arm64 dh-autoreconf all 21 [12.2 kB] Get: 36 http://deb.debian.org/debian forky/main arm64 libarchive-zip-perl all 1.68-1 [104 kB] Get: 37 http://deb.debian.org/debian forky/main arm64 libfile-stripnondeterminism-perl all 1.15.0-1 [19.9 kB] Get: 38 http://deb.debian.org/debian forky/main arm64 dh-strip-nondeterminism all 1.15.0-1 [8812 B] Get: 39 http://deb.debian.org/debian forky/main arm64 libelf1t64 arm64 0.193-3 [189 kB] Get: 40 http://deb.debian.org/debian forky/main arm64 dwz arm64 0.16-2 [100 kB] Get: 41 http://deb.debian.org/debian forky/main arm64 libunistring5 arm64 1.3-2 [453 kB] Get: 42 http://deb.debian.org/debian forky/main arm64 libxml2-16 arm64 2.14.5+dfsg-0.2 [582 kB] Get: 43 http://deb.debian.org/debian forky/main arm64 gettext arm64 0.23.1-2+b1 [1612 kB] Get: 44 http://deb.debian.org/debian forky/main arm64 intltool-debian all 0.35.0+20060710.6 [22.9 kB] Get: 45 http://deb.debian.org/debian forky/main arm64 po-debconf all 1.0.21+nmu1 [248 kB] Get: 46 http://deb.debian.org/debian forky/main arm64 debhelper all 13.27 [940 kB] Get: 47 http://deb.debian.org/debian forky/main arm64 dh-python all 6.20250414 [116 kB] Get: 48 http://deb.debian.org/debian forky/main arm64 libonig5 arm64 6.9.10-1 [187 kB] Get: 49 http://deb.debian.org/debian forky/main arm64 libjq1 arm64 1.8.1-4 [150 kB] Get: 50 http://deb.debian.org/debian forky/main arm64 jq arm64 1.8.1-4 [84.7 kB] Get: 51 http://deb.debian.org/debian forky/main arm64 libdouble-conversion3 arm64 3.3.1-1 [37.3 kB] Get: 52 http://deb.debian.org/debian forky/main arm64 libexpat1-dev arm64 2.7.3-1 [150 kB] Get: 53 http://deb.debian.org/debian forky/main arm64 libjs-sphinxdoc all 8.2.3-6 [27.5 kB] Get: 54 http://deb.debian.org/debian forky/main arm64 libpython3.13 arm64 3.13.7-1 [1978 kB] Get: 55 http://deb.debian.org/debian forky/main arm64 zlib1g-dev arm64 1:1.3.dfsg+really1.3.1-1+b1 [917 kB] Get: 56 http://deb.debian.org/debian forky/main arm64 libpython3.13-dev arm64 3.13.7-1 [4924 kB] Get: 57 http://deb.debian.org/debian forky/main arm64 libpython3-dev arm64 3.13.7-1 [10.5 kB] Get: 58 http://deb.debian.org/debian forky/main arm64 libpython3-all-dev arm64 3.13.7-1 [1068 B] Get: 59 http://deb.debian.org/debian forky/main arm64 libuv1t64 arm64 1.51.0-2 [150 kB] Get: 60 http://deb.debian.org/debian forky/main arm64 libyaml-0-2 arm64 0.2.5-2 [49.2 kB] Get: 61 http://deb.debian.org/debian forky/main arm64 lsb-release all 12.1-1 [5912 B] Get: 62 http://deb.debian.org/debian forky/main arm64 python3-packaging all 25.0-1 [56.6 kB] Get: 63 http://deb.debian.org/debian forky/main arm64 python3-wheel all 0.46.1-2 [21.7 kB] Get: 64 http://deb.debian.org/debian forky/main arm64 python3-pip all 25.2+dfsg-1 [1386 kB] Get: 65 http://deb.debian.org/debian forky/main arm64 openstack-pkg-tools all 135 [98.7 kB] Get: 66 http://deb.debian.org/debian forky/main arm64 python3-aiofiles all 24.1.0-2 [10.7 kB] Get: 67 http://deb.debian.org/debian forky/main arm64 python3-all arm64 3.13.7-1 [1044 B] Get: 68 http://deb.debian.org/debian forky/main arm64 python3.13-dev arm64 3.13.7-1 [504 kB] Get: 69 http://deb.debian.org/debian forky/main arm64 python3-dev arm64 3.13.7-1 [26.1 kB] Get: 70 http://deb.debian.org/debian forky/main arm64 python3-all-dev arm64 3.13.7-1 [1068 B] Get: 71 http://deb.debian.org/debian forky/main arm64 python3-idna all 3.10-1 [42.0 kB] Get: 72 http://deb.debian.org/debian forky/main arm64 python3-sniffio all 1.3.1-1 [7120 B] Get: 73 http://deb.debian.org/debian forky/main arm64 python3-typing-extensions all 4.15.0-1 [92.4 kB] Get: 74 http://deb.debian.org/debian forky/main arm64 python3-anyio all 4.8.0-3 [63.6 kB] Get: 75 http://deb.debian.org/debian forky/main arm64 python3-asgiref all 3.9.1-2 [29.3 kB] Get: 76 http://deb.debian.org/debian forky/main arm64 python3-attr all 25.3.0-1 [69.5 kB] Get: 77 http://deb.debian.org/debian forky/main arm64 python3-autocommand all 2.2.2-3 [13.6 kB] Get: 78 http://deb.debian.org/debian forky/main arm64 python3-cbor2 arm64 5.7.0-1 [21.1 kB] Get: 79 http://deb.debian.org/debian forky/main arm64 python3-certifi all 2025.1.31+ds-1 [9652 B] Get: 80 http://deb.debian.org/debian forky/main arm64 python3-chardet all 5.2.0+dfsg-2 [108 kB] Get: 81 http://deb.debian.org/debian forky/main arm64 python3-charset-normalizer arm64 3.4.3-1 [123 kB] Get: 82 http://deb.debian.org/debian forky/main arm64 python3-click all 8.2.0+0.really.8.1.8-1 [95.4 kB] Get: 83 http://deb.debian.org/debian forky/main arm64 python3-coverage arm64 7.8.2+dfsg1-1 [182 kB] Get: 84 http://deb.debian.org/debian forky/main arm64 python3-ddt all 1.7.2-4 [8668 B] Get: 85 http://deb.debian.org/debian forky/main arm64 python3-h11 all 0.14.0-1.1 [50.6 kB] Get: 86 http://deb.debian.org/debian forky/main arm64 python3-httpcore all 1.0.7-1 [44.7 kB] Get: 87 http://deb.debian.org/debian forky/main arm64 python3-pygments all 2.18.0+dfsg-2 [836 kB] Get: 88 http://deb.debian.org/debian forky/main arm64 python3-mdurl all 0.1.2-1 [9444 B] Get: 89 http://deb.debian.org/debian forky/main arm64 python3-uc-micro all 1.0.3-1 [5744 B] Get: 90 http://deb.debian.org/debian forky/main arm64 python3-linkify-it all 2.0.3-1 [18.7 kB] Get: 91 http://deb.debian.org/debian forky/main arm64 python3-markdown-it all 3.0.0-3 [59.5 kB] Get: 92 http://deb.debian.org/debian forky/main arm64 python3-rich all 13.9.4-1 [203 kB] Get: 93 http://deb.debian.org/debian forky/main arm64 python3-httpx all 0.28.1-1 [76.2 kB] Get: 94 http://deb.debian.org/debian forky/main arm64 python3-more-itertools all 10.8.0-1 [71.7 kB] Get: 95 http://deb.debian.org/debian forky/main arm64 python3-typeguard all 4.4.4-1 [37.1 kB] Get: 96 http://deb.debian.org/debian forky/main arm64 python3-inflect all 7.5.0-1 [33.0 kB] Get: 97 http://deb.debian.org/debian forky/main arm64 python3-iniconfig all 1.1.1-2 [6396 B] Get: 98 http://deb.debian.org/debian forky/main arm64 python3-jaraco.functools all 4.1.0-1 [12.0 kB] Get: 99 http://deb.debian.org/debian forky/main arm64 python3-pkg-resources all 78.1.1-0.1 [224 kB] Get: 100 http://deb.debian.org/debian forky/main arm64 python3-jaraco.text all 4.0.0-1 [11.4 kB] Get: 101 http://deb.debian.org/debian forky/main arm64 python3-zipp all 3.23.0-1 [11.0 kB] Get: 102 http://deb.debian.org/debian forky/main arm64 python3-setuptools all 78.1.1-0.1 [738 kB] Get: 103 http://deb.debian.org/debian forky/main arm64 python3-jaraco.context all 6.0.1-1 [8276 B] Get: 104 http://deb.debian.org/debian forky/main arm64 python3-rpds-py arm64 0.21.0-2+b1 [226 kB] Get: 105 http://deb.debian.org/debian forky/main arm64 python3-referencing all 0.36.2-1 [23.7 kB] Get: 106 http://deb.debian.org/debian forky/main arm64 python3-jsonschema-specifications all 2023.12.1-2 [9020 B] Get: 107 http://deb.debian.org/debian forky/main arm64 python3-jsonschema all 4.19.2-6 [71.4 kB] Get: 108 http://deb.debian.org/debian forky/main arm64 python3-mimeparse all 2.0.0-2 [6860 B] Get: 109 http://deb.debian.org/debian forky/main arm64 python3-msgpack arm64 1.0.3-3+b5 [77.4 kB] Get: 110 http://deb.debian.org/debian forky/main arm64 python3-mujson all 1.4-4 [7632 B] Get: 111 http://deb.debian.org/debian forky/main arm64 python3-pluggy all 1.6.0-1 [27.1 kB] Get: 112 http://deb.debian.org/debian forky/main arm64 python3-pytest all 8.4.2-1 [266 kB] Get: 113 http://deb.debian.org/debian forky/main arm64 python3-rapidjson arm64 1.4-3+b1 [154 kB] Get: 114 http://deb.debian.org/debian forky/main arm64 python3-urllib3 all 2.5.0-1 [116 kB] Get: 115 http://deb.debian.org/debian forky/main arm64 python3-requests all 2.32.5+dfsg-1 [72.4 kB] Get: 116 http://deb.debian.org/debian forky/main arm64 python3-testtools all 2.7.2-5 [123 kB] Get: 117 http://deb.debian.org/debian forky/main arm64 python3-ujson arm64 5.10.0-1+b4 [25.1 kB] Get: 118 http://deb.debian.org/debian forky/main arm64 python3-wsproto all 1.2.0-1 [25.4 kB] Get: 119 http://deb.debian.org/debian forky/main arm64 python3-uvloop arm64 0.21.0+ds1-3 [498 kB] Get: 120 http://deb.debian.org/debian forky/main arm64 python3-uvicorn all 0.32.0-3 [50.9 kB] Get: 121 http://deb.debian.org/debian forky/main arm64 python3-websockets arm64 15.0.1-1 [96.3 kB] Get: 122 http://deb.debian.org/debian forky/main arm64 python3-yaml arm64 6.0.2-2 [122 kB] Get: 123 http://deb.debian.org/debian forky/main arm64 uvicorn all 0.32.0-3 [14.7 kB] Fetched 37.3 MB in 0s (129 MB/s) Preconfiguring packages ... Selecting previously unselected package libexpat1:arm64. (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 ... 20000 files and directories currently installed.) Preparing to unpack .../libexpat1_2.7.3-1_arm64.deb ... Unpacking libexpat1:arm64 (2.7.3-1) ... Selecting previously unselected package libpython3.13-minimal:arm64. Preparing to unpack .../libpython3.13-minimal_3.13.7-1_arm64.deb ... Unpacking libpython3.13-minimal:arm64 (3.13.7-1) ... Selecting previously unselected package python3.13-minimal. Preparing to unpack .../python3.13-minimal_3.13.7-1_arm64.deb ... Unpacking python3.13-minimal (3.13.7-1) ... Setting up libpython3.13-minimal:arm64 (3.13.7-1) ... Setting up libexpat1:arm64 (2.7.3-1) ... Setting up python3.13-minimal (3.13.7-1) ... Selecting previously unselected package python3-minimal. (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 ... 20334 files and directories currently installed.) Preparing to unpack .../0-python3-minimal_3.13.7-1_arm64.deb ... Unpacking python3-minimal (3.13.7-1) ... Selecting previously unselected package media-types. Preparing to unpack .../1-media-types_13.0.0_all.deb ... Unpacking media-types (13.0.0) ... Selecting previously unselected package netbase. Preparing to unpack .../2-netbase_6.5_all.deb ... Unpacking netbase (6.5) ... Selecting previously unselected package tzdata. Preparing to unpack .../3-tzdata_2025b-5_all.deb ... Unpacking tzdata (2025b-5) ... Selecting previously unselected package libffi8:arm64. Preparing to unpack .../4-libffi8_3.5.2-2_arm64.deb ... Unpacking libffi8:arm64 (3.5.2-2) ... Selecting previously unselected package readline-common. Preparing to unpack .../5-readline-common_8.3-3_all.deb ... Unpacking readline-common (8.3-3) ... Selecting previously unselected package libreadline8t64:arm64. Preparing to unpack .../6-libreadline8t64_8.3-3_arm64.deb ... Adding 'diversion of /lib/aarch64-linux-gnu/libhistory.so.8 to /lib/aarch64-linux-gnu/libhistory.so.8.usr-is-merged by libreadline8t64' Adding 'diversion of /lib/aarch64-linux-gnu/libhistory.so.8.2 to /lib/aarch64-linux-gnu/libhistory.so.8.2.usr-is-merged by libreadline8t64' Adding 'diversion of /lib/aarch64-linux-gnu/libreadline.so.8 to /lib/aarch64-linux-gnu/libreadline.so.8.usr-is-merged by libreadline8t64' Adding 'diversion of /lib/aarch64-linux-gnu/libreadline.so.8.2 to /lib/aarch64-linux-gnu/libreadline.so.8.2.usr-is-merged by libreadline8t64' Unpacking libreadline8t64:arm64 (8.3-3) ... Selecting previously unselected package libpython3.13-stdlib:arm64. Preparing to unpack .../7-libpython3.13-stdlib_3.13.7-1_arm64.deb ... Unpacking libpython3.13-stdlib:arm64 (3.13.7-1) ... Selecting previously unselected package python3.13. Preparing to unpack .../8-python3.13_3.13.7-1_arm64.deb ... Unpacking python3.13 (3.13.7-1) ... Selecting previously unselected package libpython3-stdlib:arm64. Preparing to unpack .../9-libpython3-stdlib_3.13.7-1_arm64.deb ... Unpacking libpython3-stdlib:arm64 (3.13.7-1) ... Setting up python3-minimal (3.13.7-1) ... Selecting previously unselected package python3. (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 ... 21349 files and directories currently installed.) Preparing to unpack .../000-python3_3.13.7-1_arm64.deb ... Unpacking python3 (3.13.7-1) ... Selecting previously unselected package sensible-utils. Preparing to unpack .../001-sensible-utils_0.0.26_all.deb ... Unpacking sensible-utils (0.0.26) ... Selecting previously unselected package openssl. Preparing to unpack .../002-openssl_3.5.3-1_arm64.deb ... Unpacking openssl (3.5.3-1) ... Selecting previously unselected package ca-certificates. Preparing to unpack .../003-ca-certificates_20250419_all.deb ... Unpacking ca-certificates (20250419) ... Selecting previously unselected package libmagic-mgc. Preparing to unpack .../004-libmagic-mgc_1%3a5.46-5_arm64.deb ... Unpacking libmagic-mgc (1:5.46-5) ... Selecting previously unselected package libmagic1t64:arm64. Preparing to unpack .../005-libmagic1t64_1%3a5.46-5_arm64.deb ... Unpacking libmagic1t64:arm64 (1:5.46-5) ... Selecting previously unselected package file. Preparing to unpack .../006-file_1%3a5.46-5_arm64.deb ... Unpacking file (1:5.46-5) ... Selecting previously unselected package gettext-base. Preparing to unpack .../007-gettext-base_0.23.1-2+b1_arm64.deb ... Unpacking gettext-base (0.23.1-2+b1) ... Selecting previously unselected package libuchardet0:arm64. Preparing to unpack .../008-libuchardet0_0.0.8-2_arm64.deb ... Unpacking libuchardet0:arm64 (0.0.8-2) ... Selecting previously unselected package groff-base. Preparing to unpack .../009-groff-base_1.23.0-9_arm64.deb ... Unpacking groff-base (1.23.0-9) ... Selecting previously unselected package bsdextrautils. Preparing to unpack .../010-bsdextrautils_2.41.2-1_arm64.deb ... Unpacking bsdextrautils (2.41.2-1) ... Selecting previously unselected package libpipeline1:arm64. Preparing to unpack .../011-libpipeline1_1.5.8-1_arm64.deb ... Unpacking libpipeline1:arm64 (1.5.8-1) ... Selecting previously unselected package man-db. Preparing to unpack .../012-man-db_2.13.1-1_arm64.deb ... Unpacking man-db (2.13.1-1) ... Selecting previously unselected package m4. Preparing to unpack .../013-m4_1.4.20-1_arm64.deb ... Unpacking m4 (1.4.20-1) ... Selecting previously unselected package autoconf. Preparing to unpack .../014-autoconf_2.72-3.1_all.deb ... Unpacking autoconf (2.72-3.1) ... Selecting previously unselected package autotools-dev. Preparing to unpack .../015-autotools-dev_20240727.1_all.deb ... Unpacking autotools-dev (20240727.1) ... Selecting previously unselected package automake. Preparing to unpack .../016-automake_1%3a1.17-4_all.deb ... Unpacking automake (1:1.17-4) ... Selecting previously unselected package autopoint. Preparing to unpack .../017-autopoint_0.23.1-2_all.deb ... Unpacking autopoint (0.23.1-2) ... Selecting previously unselected package cython3. Preparing to unpack .../018-cython3_3.0.11+dfsg-2+b1_arm64.deb ... Unpacking cython3 (3.0.11+dfsg-2+b1) ... Selecting previously unselected package libdebhelper-perl. Preparing to unpack .../019-libdebhelper-perl_13.27_all.deb ... Unpacking libdebhelper-perl (13.27) ... Selecting previously unselected package libtool. Preparing to unpack .../020-libtool_2.5.4-5_all.deb ... Unpacking libtool (2.5.4-5) ... Selecting previously unselected package dh-autoreconf. Preparing to unpack .../021-dh-autoreconf_21_all.deb ... Unpacking dh-autoreconf (21) ... Selecting previously unselected package libarchive-zip-perl. Preparing to unpack .../022-libarchive-zip-perl_1.68-1_all.deb ... Unpacking libarchive-zip-perl (1.68-1) ... Selecting previously unselected package libfile-stripnondeterminism-perl. Preparing to unpack .../023-libfile-stripnondeterminism-perl_1.15.0-1_all.deb ... Unpacking libfile-stripnondeterminism-perl (1.15.0-1) ... Selecting previously unselected package dh-strip-nondeterminism. Preparing to unpack .../024-dh-strip-nondeterminism_1.15.0-1_all.deb ... Unpacking dh-strip-nondeterminism (1.15.0-1) ... Selecting previously unselected package libelf1t64:arm64. Preparing to unpack .../025-libelf1t64_0.193-3_arm64.deb ... Unpacking libelf1t64:arm64 (0.193-3) ... Selecting previously unselected package dwz. Preparing to unpack .../026-dwz_0.16-2_arm64.deb ... Unpacking dwz (0.16-2) ... Selecting previously unselected package libunistring5:arm64. Preparing to unpack .../027-libunistring5_1.3-2_arm64.deb ... Unpacking libunistring5:arm64 (1.3-2) ... Selecting previously unselected package libxml2-16:arm64. Preparing to unpack .../028-libxml2-16_2.14.5+dfsg-0.2_arm64.deb ... Unpacking libxml2-16:arm64 (2.14.5+dfsg-0.2) ... Selecting previously unselected package gettext. Preparing to unpack .../029-gettext_0.23.1-2+b1_arm64.deb ... Unpacking gettext (0.23.1-2+b1) ... Selecting previously unselected package intltool-debian. Preparing to unpack .../030-intltool-debian_0.35.0+20060710.6_all.deb ... Unpacking intltool-debian (0.35.0+20060710.6) ... Selecting previously unselected package po-debconf. Preparing to unpack .../031-po-debconf_1.0.21+nmu1_all.deb ... Unpacking po-debconf (1.0.21+nmu1) ... Selecting previously unselected package debhelper. Preparing to unpack .../032-debhelper_13.27_all.deb ... Unpacking debhelper (13.27) ... Selecting previously unselected package dh-python. Preparing to unpack .../033-dh-python_6.20250414_all.deb ... Unpacking dh-python (6.20250414) ... Selecting previously unselected package libonig5:arm64. Preparing to unpack .../034-libonig5_6.9.10-1_arm64.deb ... Unpacking libonig5:arm64 (6.9.10-1) ... Selecting previously unselected package libjq1:arm64. Preparing to unpack .../035-libjq1_1.8.1-4_arm64.deb ... Unpacking libjq1:arm64 (1.8.1-4) ... Selecting previously unselected package jq. Preparing to unpack .../036-jq_1.8.1-4_arm64.deb ... Unpacking jq (1.8.1-4) ... Selecting previously unselected package libdouble-conversion3:arm64. Preparing to unpack .../037-libdouble-conversion3_3.3.1-1_arm64.deb ... Unpacking libdouble-conversion3:arm64 (3.3.1-1) ... Selecting previously unselected package libexpat1-dev:arm64. Preparing to unpack .../038-libexpat1-dev_2.7.3-1_arm64.deb ... Unpacking libexpat1-dev:arm64 (2.7.3-1) ... Selecting previously unselected package libjs-sphinxdoc. Preparing to unpack .../039-libjs-sphinxdoc_8.2.3-6_all.deb ... Unpacking libjs-sphinxdoc (8.2.3-6) ... Selecting previously unselected package libpython3.13:arm64. Preparing to unpack .../040-libpython3.13_3.13.7-1_arm64.deb ... Unpacking libpython3.13:arm64 (3.13.7-1) ... Selecting previously unselected package zlib1g-dev:arm64. Preparing to unpack .../041-zlib1g-dev_1%3a1.3.dfsg+really1.3.1-1+b1_arm64.deb ... Unpacking zlib1g-dev:arm64 (1:1.3.dfsg+really1.3.1-1+b1) ... Selecting previously unselected package libpython3.13-dev:arm64. Preparing to unpack .../042-libpython3.13-dev_3.13.7-1_arm64.deb ... Unpacking libpython3.13-dev:arm64 (3.13.7-1) ... Selecting previously unselected package libpython3-dev:arm64. Preparing to unpack .../043-libpython3-dev_3.13.7-1_arm64.deb ... Unpacking libpython3-dev:arm64 (3.13.7-1) ... Selecting previously unselected package libpython3-all-dev:arm64. Preparing to unpack .../044-libpython3-all-dev_3.13.7-1_arm64.deb ... Unpacking libpython3-all-dev:arm64 (3.13.7-1) ... Selecting previously unselected package libuv1t64:arm64. Preparing to unpack .../045-libuv1t64_1.51.0-2_arm64.deb ... Unpacking libuv1t64:arm64 (1.51.0-2) ... Selecting previously unselected package libyaml-0-2:arm64. Preparing to unpack .../046-libyaml-0-2_0.2.5-2_arm64.deb ... Unpacking libyaml-0-2:arm64 (0.2.5-2) ... Selecting previously unselected package lsb-release. Preparing to unpack .../047-lsb-release_12.1-1_all.deb ... Unpacking lsb-release (12.1-1) ... Selecting previously unselected package python3-packaging. Preparing to unpack .../048-python3-packaging_25.0-1_all.deb ... Unpacking python3-packaging (25.0-1) ... Selecting previously unselected package python3-wheel. Preparing to unpack .../049-python3-wheel_0.46.1-2_all.deb ... Unpacking python3-wheel (0.46.1-2) ... Selecting previously unselected package python3-pip. Preparing to unpack .../050-python3-pip_25.2+dfsg-1_all.deb ... Unpacking python3-pip (25.2+dfsg-1) ... Selecting previously unselected package openstack-pkg-tools. Preparing to unpack .../051-openstack-pkg-tools_135_all.deb ... Unpacking openstack-pkg-tools (135) ... Selecting previously unselected package python3-aiofiles. Preparing to unpack .../052-python3-aiofiles_24.1.0-2_all.deb ... Unpacking python3-aiofiles (24.1.0-2) ... Selecting previously unselected package python3-all. Preparing to unpack .../053-python3-all_3.13.7-1_arm64.deb ... Unpacking python3-all (3.13.7-1) ... Selecting previously unselected package python3.13-dev. Preparing to unpack .../054-python3.13-dev_3.13.7-1_arm64.deb ... Unpacking python3.13-dev (3.13.7-1) ... Selecting previously unselected package python3-dev. Preparing to unpack .../055-python3-dev_3.13.7-1_arm64.deb ... Unpacking python3-dev (3.13.7-1) ... Selecting previously unselected package python3-all-dev. Preparing to unpack .../056-python3-all-dev_3.13.7-1_arm64.deb ... Unpacking python3-all-dev (3.13.7-1) ... Selecting previously unselected package python3-idna. Preparing to unpack .../057-python3-idna_3.10-1_all.deb ... Unpacking python3-idna (3.10-1) ... Selecting previously unselected package python3-sniffio. Preparing to unpack .../058-python3-sniffio_1.3.1-1_all.deb ... Unpacking python3-sniffio (1.3.1-1) ... Selecting previously unselected package python3-typing-extensions. Preparing to unpack .../059-python3-typing-extensions_4.15.0-1_all.deb ... Unpacking python3-typing-extensions (4.15.0-1) ... Selecting previously unselected package python3-anyio. Preparing to unpack .../060-python3-anyio_4.8.0-3_all.deb ... Unpacking python3-anyio (4.8.0-3) ... Selecting previously unselected package python3-asgiref. Preparing to unpack .../061-python3-asgiref_3.9.1-2_all.deb ... Unpacking python3-asgiref (3.9.1-2) ... Selecting previously unselected package python3-attr. Preparing to unpack .../062-python3-attr_25.3.0-1_all.deb ... Unpacking python3-attr (25.3.0-1) ... Selecting previously unselected package python3-autocommand. Preparing to unpack .../063-python3-autocommand_2.2.2-3_all.deb ... Unpacking python3-autocommand (2.2.2-3) ... Selecting previously unselected package python3-cbor2. Preparing to unpack .../064-python3-cbor2_5.7.0-1_arm64.deb ... Unpacking python3-cbor2 (5.7.0-1) ... Selecting previously unselected package python3-certifi. Preparing to unpack .../065-python3-certifi_2025.1.31+ds-1_all.deb ... Unpacking python3-certifi (2025.1.31+ds-1) ... Selecting previously unselected package python3-chardet. Preparing to unpack .../066-python3-chardet_5.2.0+dfsg-2_all.deb ... Unpacking python3-chardet (5.2.0+dfsg-2) ... Selecting previously unselected package python3-charset-normalizer. Preparing to unpack .../067-python3-charset-normalizer_3.4.3-1_arm64.deb ... Unpacking python3-charset-normalizer (3.4.3-1) ... Selecting previously unselected package python3-click. Preparing to unpack .../068-python3-click_8.2.0+0.really.8.1.8-1_all.deb ... Unpacking python3-click (8.2.0+0.really.8.1.8-1) ... Selecting previously unselected package python3-coverage. Preparing to unpack .../069-python3-coverage_7.8.2+dfsg1-1_arm64.deb ... Unpacking python3-coverage (7.8.2+dfsg1-1) ... Selecting previously unselected package python3-ddt. Preparing to unpack .../070-python3-ddt_1.7.2-4_all.deb ... Unpacking python3-ddt (1.7.2-4) ... Selecting previously unselected package python3-h11. Preparing to unpack .../071-python3-h11_0.14.0-1.1_all.deb ... Unpacking python3-h11 (0.14.0-1.1) ... Selecting previously unselected package python3-httpcore. Preparing to unpack .../072-python3-httpcore_1.0.7-1_all.deb ... Unpacking python3-httpcore (1.0.7-1) ... Selecting previously unselected package python3-pygments. Preparing to unpack .../073-python3-pygments_2.18.0+dfsg-2_all.deb ... Unpacking python3-pygments (2.18.0+dfsg-2) ... Selecting previously unselected package python3-mdurl. Preparing to unpack .../074-python3-mdurl_0.1.2-1_all.deb ... Unpacking python3-mdurl (0.1.2-1) ... Selecting previously unselected package python3-uc-micro. Preparing to unpack .../075-python3-uc-micro_1.0.3-1_all.deb ... Unpacking python3-uc-micro (1.0.3-1) ... Selecting previously unselected package python3-linkify-it. Preparing to unpack .../076-python3-linkify-it_2.0.3-1_all.deb ... Unpacking python3-linkify-it (2.0.3-1) ... Selecting previously unselected package python3-markdown-it. Preparing to unpack .../077-python3-markdown-it_3.0.0-3_all.deb ... Unpacking python3-markdown-it (3.0.0-3) ... Selecting previously unselected package python3-rich. Preparing to unpack .../078-python3-rich_13.9.4-1_all.deb ... Unpacking python3-rich (13.9.4-1) ... Selecting previously unselected package python3-httpx. Preparing to unpack .../079-python3-httpx_0.28.1-1_all.deb ... Unpacking python3-httpx (0.28.1-1) ... Selecting previously unselected package python3-more-itertools. Preparing to unpack .../080-python3-more-itertools_10.8.0-1_all.deb ... Unpacking python3-more-itertools (10.8.0-1) ... Selecting previously unselected package python3-typeguard. Preparing to unpack .../081-python3-typeguard_4.4.4-1_all.deb ... Unpacking python3-typeguard (4.4.4-1) ... Selecting previously unselected package python3-inflect. Preparing to unpack .../082-python3-inflect_7.5.0-1_all.deb ... Unpacking python3-inflect (7.5.0-1) ... Selecting previously unselected package python3-iniconfig. Preparing to unpack .../083-python3-iniconfig_1.1.1-2_all.deb ... Unpacking python3-iniconfig (1.1.1-2) ... Selecting previously unselected package python3-jaraco.functools. Preparing to unpack .../084-python3-jaraco.functools_4.1.0-1_all.deb ... Unpacking python3-jaraco.functools (4.1.0-1) ... Selecting previously unselected package python3-pkg-resources. Preparing to unpack .../085-python3-pkg-resources_78.1.1-0.1_all.deb ... Unpacking python3-pkg-resources (78.1.1-0.1) ... Selecting previously unselected package python3-jaraco.text. Preparing to unpack .../086-python3-jaraco.text_4.0.0-1_all.deb ... Unpacking python3-jaraco.text (4.0.0-1) ... Selecting previously unselected package python3-zipp. Preparing to unpack .../087-python3-zipp_3.23.0-1_all.deb ... Unpacking python3-zipp (3.23.0-1) ... Selecting previously unselected package python3-setuptools. Preparing to unpack .../088-python3-setuptools_78.1.1-0.1_all.deb ... Unpacking python3-setuptools (78.1.1-0.1) ... Selecting previously unselected package python3-jaraco.context. Preparing to unpack .../089-python3-jaraco.context_6.0.1-1_all.deb ... Unpacking python3-jaraco.context (6.0.1-1) ... Selecting previously unselected package python3-rpds-py. Preparing to unpack .../090-python3-rpds-py_0.21.0-2+b1_arm64.deb ... Unpacking python3-rpds-py (0.21.0-2+b1) ... Selecting previously unselected package python3-referencing. Preparing to unpack .../091-python3-referencing_0.36.2-1_all.deb ... Unpacking python3-referencing (0.36.2-1) ... Selecting previously unselected package python3-jsonschema-specifications. Preparing to unpack .../092-python3-jsonschema-specifications_2023.12.1-2_all.deb ... Unpacking python3-jsonschema-specifications (2023.12.1-2) ... Selecting previously unselected package python3-jsonschema. Preparing to unpack .../093-python3-jsonschema_4.19.2-6_all.deb ... Unpacking python3-jsonschema (4.19.2-6) ... Selecting previously unselected package python3-mimeparse. Preparing to unpack .../094-python3-mimeparse_2.0.0-2_all.deb ... Unpacking python3-mimeparse (2.0.0-2) ... Selecting previously unselected package python3-msgpack. Preparing to unpack .../095-python3-msgpack_1.0.3-3+b5_arm64.deb ... Unpacking python3-msgpack (1.0.3-3+b5) ... Selecting previously unselected package python3-mujson. Preparing to unpack .../096-python3-mujson_1.4-4_all.deb ... Unpacking python3-mujson (1.4-4) ... Selecting previously unselected package python3-pluggy. Preparing to unpack .../097-python3-pluggy_1.6.0-1_all.deb ... Unpacking python3-pluggy (1.6.0-1) ... Selecting previously unselected package python3-pytest. Preparing to unpack .../098-python3-pytest_8.4.2-1_all.deb ... Unpacking python3-pytest (8.4.2-1) ... Selecting previously unselected package python3-rapidjson. Preparing to unpack .../099-python3-rapidjson_1.4-3+b1_arm64.deb ... Unpacking python3-rapidjson (1.4-3+b1) ... Selecting previously unselected package python3-urllib3. Preparing to unpack .../100-python3-urllib3_2.5.0-1_all.deb ... Unpacking python3-urllib3 (2.5.0-1) ... Selecting previously unselected package python3-requests. Preparing to unpack .../101-python3-requests_2.32.5+dfsg-1_all.deb ... Unpacking python3-requests (2.32.5+dfsg-1) ... Selecting previously unselected package python3-testtools. Preparing to unpack .../102-python3-testtools_2.7.2-5_all.deb ... Unpacking python3-testtools (2.7.2-5) ... Selecting previously unselected package python3-ujson:arm64. Preparing to unpack .../103-python3-ujson_5.10.0-1+b4_arm64.deb ... Unpacking python3-ujson:arm64 (5.10.0-1+b4) ... Selecting previously unselected package python3-wsproto. Preparing to unpack .../104-python3-wsproto_1.2.0-1_all.deb ... Unpacking python3-wsproto (1.2.0-1) ... Selecting previously unselected package python3-uvloop. Preparing to unpack .../105-python3-uvloop_0.21.0+ds1-3_arm64.deb ... Unpacking python3-uvloop (0.21.0+ds1-3) ... Selecting previously unselected package python3-uvicorn. Preparing to unpack .../106-python3-uvicorn_0.32.0-3_all.deb ... Unpacking python3-uvicorn (0.32.0-3) ... Selecting previously unselected package python3-websockets. Preparing to unpack .../107-python3-websockets_15.0.1-1_arm64.deb ... Unpacking python3-websockets (15.0.1-1) ... Selecting previously unselected package python3-yaml. Preparing to unpack .../108-python3-yaml_6.0.2-2_arm64.deb ... Unpacking python3-yaml (6.0.2-2) ... Selecting previously unselected package uvicorn. Preparing to unpack .../109-uvicorn_0.32.0-3_all.deb ... Unpacking uvicorn (0.32.0-3) ... Setting up media-types (13.0.0) ... Setting up libpipeline1:arm64 (1.5.8-1) ... Setting up libdouble-conversion3:arm64 (3.3.1-1) ... Setting up bsdextrautils (2.41.2-1) ... Setting up libmagic-mgc (1:5.46-5) ... Setting up libarchive-zip-perl (1.68-1) ... Setting up libyaml-0-2:arm64 (0.2.5-2) ... Setting up libxml2-16:arm64 (2.14.5+dfsg-0.2) ... Setting up libdebhelper-perl (13.27) ... Setting up libuv1t64:arm64 (1.51.0-2) ... Setting up libmagic1t64:arm64 (1:5.46-5) ... Setting up gettext-base (0.23.1-2+b1) ... Setting up m4 (1.4.20-1) ... Setting up file (1:5.46-5) ... Setting up libelf1t64:arm64 (0.193-3) ... Setting up tzdata (2025b-5) ... Current default time zone: 'Etc/UTC' Local time is now: Tue Nov 3 11:56:40 UTC 2026. Universal Time is now: Tue Nov 3 11:56:40 UTC 2026. Run 'dpkg-reconfigure tzdata' if you wish to change it. Setting up autotools-dev (20240727.1) ... Setting up libexpat1-dev:arm64 (2.7.3-1) ... Setting up libunistring5:arm64 (1.3-2) ... Setting up autopoint (0.23.1-2) ... Setting up libjs-sphinxdoc (8.2.3-6) ... Setting up autoconf (2.72-3.1) ... Setting up zlib1g-dev:arm64 (1:1.3.dfsg+really1.3.1-1+b1) ... Setting up libffi8:arm64 (3.5.2-2) ... Setting up dwz (0.16-2) ... Setting up sensible-utils (0.0.26) ... Setting up libuchardet0:arm64 (0.0.8-2) ... Setting up netbase (6.5) ... Setting up lsb-release (12.1-1) ... Setting up openssl (3.5.3-1) ... Setting up readline-common (8.3-3) ... Setting up libonig5:arm64 (6.9.10-1) ... Setting up automake (1:1.17-4) ... update-alternatives: using /usr/bin/automake-1.17 to provide /usr/bin/automake (automake) in auto mode Setting up libfile-stripnondeterminism-perl (1.15.0-1) ... Setting up gettext (0.23.1-2+b1) ... Setting up libtool (2.5.4-5) ... Setting up libjq1:arm64 (1.8.1-4) ... Setting up intltool-debian (0.35.0+20060710.6) ... Setting up dh-autoreconf (21) ... Setting up ca-certificates (20250419) ... Updating certificates in /etc/ssl/certs... 150 added, 0 removed; done. Setting up libreadline8t64:arm64 (8.3-3) ... Setting up dh-strip-nondeterminism (1.15.0-1) ... Setting up groff-base (1.23.0-9) ... Setting up jq (1.8.1-4) ... Setting up libpython3.13-stdlib:arm64 (3.13.7-1) ... Setting up libpython3-stdlib:arm64 (3.13.7-1) ... Setting up libpython3.13:arm64 (3.13.7-1) ... Setting up python3.13 (3.13.7-1) ... Setting up po-debconf (1.0.21+nmu1) ... Setting up python3 (3.13.7-1) ... Setting up python3-zipp (3.23.0-1) ... Setting up python3-click (8.2.0+0.really.8.1.8-1) ... Setting up python3-autocommand (2.2.2-3) ... Setting up man-db (2.13.1-1) ... Not building database; man-db/auto-update is not 'true'. Setting up python3-uc-micro (1.0.3-1) ... Setting up python3-ujson:arm64 (5.10.0-1+b4) ... Setting up python3-pygments (2.18.0+dfsg-2) ... Setting up python3-packaging (25.0-1) ... Setting up python3-chardet (5.2.0+dfsg-2) ... Setting up python3-certifi (2025.1.31+ds-1) ... Setting up libpython3.13-dev:arm64 (3.13.7-1) ... Setting up python3-mdurl (0.1.2-1) ... Setting up python3-idna (3.10-1) ... Setting up cython3 (3.0.11+dfsg-2+b1) ... Setting up python3-h11 (0.14.0-1.1) ... Setting up python3-typing-extensions (4.15.0-1) ... Setting up python3-cbor2 (5.7.0-1) ... Setting up python3-uvloop (0.21.0+ds1-3) ... Setting up python3-urllib3 (2.5.0-1) ... Setting up python3-pluggy (1.6.0-1) ... Setting up python3-rpds-py (0.21.0-2+b1) ... Setting up python3-linkify-it (2.0.3-1) ... Setting up python3-msgpack (1.0.3-3+b5) ... Setting up python3-mujson (1.4-4) ... Setting up python3-mimeparse (2.0.0-2) ... Setting up python3-asgiref (3.9.1-2) ... Setting up python3-websockets (15.0.1-1) ... Setting up dh-python (6.20250414) ... Setting up python3-more-itertools (10.8.0-1) ... Setting up python3-httpcore (1.0.7-1) ... Setting up python3-iniconfig (1.1.1-2) ... Setting up python3-sniffio (1.3.1-1) ... Setting up python3-attr (25.3.0-1) ... Setting up python3-ddt (1.7.2-4) ... Setting up libpython3-dev:arm64 (3.13.7-1) ... Setting up python3-aiofiles (24.1.0-2) ... Setting up python3-jaraco.functools (4.1.0-1) ... Setting up python3-wsproto (1.2.0-1) ... Setting up python3-jaraco.context (6.0.1-1) ... Setting up python3-anyio (4.8.0-3) ... Setting up python3-charset-normalizer (3.4.3-1) ... Setting up python3.13-dev (3.13.7-1) ... Setting up python3-pytest (8.4.2-1) ... Setting up python3-typeguard (4.4.4-1) ... Setting up python3-rapidjson (1.4-3+b1) ... Setting up python3-all (3.13.7-1) ... Setting up python3-coverage (7.8.2+dfsg1-1) ... Setting up python3-yaml (6.0.2-2) ... Setting up debhelper (13.27) ... Setting up python3-wheel (0.46.1-2) ... Setting up python3-inflect (7.5.0-1) ... Setting up libpython3-all-dev:arm64 (3.13.7-1) ... Setting up python3-jaraco.text (4.0.0-1) ... Setting up python3-dev (3.13.7-1) ... Setting up python3-requests (2.32.5+dfsg-1) ... Setting up python3-pip (25.2+dfsg-1) ... Setting up python3-markdown-it (3.0.0-3) ... Setting up python3-referencing (0.36.2-1) ... Setting up python3-pkg-resources (78.1.1-0.1) ... Setting up python3-all-dev (3.13.7-1) ... Setting up python3-uvicorn (0.32.0-3) ... Setting up python3-setuptools (78.1.1-0.1) ... Setting up python3-rich (13.9.4-1) ... Setting up openstack-pkg-tools (135) ... Setting up python3-httpx (0.28.1-1) ... Setting up python3-jsonschema-specifications (2023.12.1-2) ... Setting up uvicorn (0.32.0-3) ... Setting up python3-testtools (2.7.2-5) ... Setting up python3-jsonschema (4.19.2-6) ... Processing triggers for libc-bin (2.41-12) ... Processing triggers for ca-certificates (20250419) ... Updating certificates in /etc/ssl/certs... 0 added, 0 removed; done. Running hooks in /etc/ca-certificates/update.d... done. Reading package lists... Building dependency tree... Reading state information... Reading extended state information... Initializing package states... Writing extended state information... Building tag database... -> Finished parsing the build-deps I: Building the package I: Running cd /build/reproducible-path/python-falcon-4.0.2/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-genchanges -S > ../python-falcon_4.0.2-2_source.changes dpkg-buildpackage: info: source package python-falcon dpkg-buildpackage: info: source version 4.0.2-2 dpkg-buildpackage: info: source distribution unstable dpkg-buildpackage: info: source changed by Thomas Goirand dpkg-source --before-build . dpkg-buildpackage: info: host architecture arm64 dpkg-source: info: using options from python-falcon-4.0.2/debian/source/options: --extend-diff-ignore=^[.]gitreview$ debian/rules clean make: pyversions: No such file or directory py3versions: no X-Python3-Version in control file, using supported versions debian/rules:40: warning: overriding recipe for target 'override_dh_installchangelogs' /usr/share/openstack-pkg-tools/pkgos.make:59: warning: ignoring old recipe for target 'override_dh_installchangelogs' dh clean --buildsystem=python_distutils --with python3 debian/rules override_dh_auto_clean make[1]: Entering directory '/build/reproducible-path/python-falcon-4.0.2' make[1]: pyversions: No such file or directory py3versions: no X-Python3-Version in control file, using supported versions debian/rules:40: warning: overriding recipe for target 'override_dh_installchangelogs' /usr/share/openstack-pkg-tools/pkgos.make:59: warning: ignoring old recipe for target 'override_dh_installchangelogs' rm -rf build .stestr *.egg-info .pytest_cache find falcon/ -iname '*.c' -delete find . -iname '*.pyc' -delete for i in $(find . -type d -iname __pycache__) ; do rm -rf $i ; done make[1]: Leaving directory '/build/reproducible-path/python-falcon-4.0.2' dh_autoreconf_clean -O--buildsystem=python_distutils dh_clean -O--buildsystem=python_distutils debian/rules binary make: pyversions: No such file or directory py3versions: no X-Python3-Version in control file, using supported versions debian/rules:40: warning: overriding recipe for target 'override_dh_installchangelogs' /usr/share/openstack-pkg-tools/pkgos.make:59: warning: ignoring old recipe for target 'override_dh_installchangelogs' dh binary --buildsystem=python_distutils --with python3 dh_update_autotools_config -O--buildsystem=python_distutils dh_autoreconf -O--buildsystem=python_distutils dh_auto_configure -O--buildsystem=python_distutils dh_auto_configure: warning: Please use the third-party "pybuild" build system instead of python-distutils dh_auto_configure: warning: This feature will be removed in compat 12. debian/rules override_dh_auto_build make[1]: Entering directory '/build/reproducible-path/python-falcon-4.0.2' make[1]: pyversions: No such file or directory py3versions: no X-Python3-Version in control file, using supported versions debian/rules:40: warning: overriding recipe for target 'override_dh_installchangelogs' /usr/share/openstack-pkg-tools/pkgos.make:59: warning: ignoring old recipe for target 'override_dh_installchangelogs' echo "Do nothing..." Do nothing... make[1]: Leaving directory '/build/reproducible-path/python-falcon-4.0.2' debian/rules override_dh_auto_test make[1]: Entering directory '/build/reproducible-path/python-falcon-4.0.2' make[1]: pyversions: No such file or directory py3versions: no X-Python3-Version in control file, using supported versions debian/rules:40: warning: overriding recipe for target 'override_dh_installchangelogs' /usr/share/openstack-pkg-tools/pkgos.make:59: warning: ignoring old recipe for target 'override_dh_installchangelogs' echo "Do nothing..." Do nothing... make[1]: Leaving directory '/build/reproducible-path/python-falcon-4.0.2' create-stamp debian/debhelper-build-stamp dh_testroot -O--buildsystem=python_distutils dh_prep -O--buildsystem=python_distutils debian/rules override_dh_auto_install make[1]: Entering directory '/build/reproducible-path/python-falcon-4.0.2' make[1]: pyversions: No such file or directory py3versions: no X-Python3-Version in control file, using supported versions debian/rules:40: warning: overriding recipe for target 'override_dh_installchangelogs' /usr/share/openstack-pkg-tools/pkgos.make:59: warning: ignoring old recipe for target 'override_dh_installchangelogs' pkgos-dh_auto_install --no-py2 --in-tmp + PKGOS_IN_TMP=no + echo WARNING: --no-py2 is deprecated and always on. WARNING: --no-py2 is deprecated and always on. + shift + PKGOS_IN_TMP=yes + shift + dpkg-parsechangelog -SSource + SRC_PKG_NAME=python-falcon + echo python-falcon + sed s/python-// + PY_MODULE_NAME=falcon + py3versions -vr + PYTHON3S=3.13 + [ yes = yes ] + TARGET_DIR=tmp + pwd + python3.13 setup.py install --install-layout=deb --root /build/reproducible-path/python-falcon-4.0.2/debian/tmp /usr/lib/python3/dist-packages/setuptools/config/_apply_pyprojecttoml.py:82: SetuptoolsDeprecationWarning: `project.license` as a TOML table is deprecated !! ******************************************************************************** Please use a simple string containing a SPDX expression for `project.license`. You can also use `project.license-files`. (Both options available on setuptools>=77.0.0). This deprecation is overdue, please update your project and remove deprecated calls to avoid build errors in the future. See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. ******************************************************************************** !! corresp(dist, value, root_dir) /usr/lib/python3/dist-packages/setuptools/config/_apply_pyprojecttoml.py:55: SetuptoolsDeprecationWarning: 'tool.setuptools.license-files' is deprecated in favor of 'project.license-files' (available on setuptools>=77.0.0). !! ******************************************************************************** This deprecation is overdue, please update your project and remove deprecated calls to avoid build errors in the future. See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license-files for details. ******************************************************************************** !! _apply_tool_table(dist, config, filename) /usr/lib/python3/dist-packages/setuptools/config/_apply_pyprojecttoml.py:61: SetuptoolsDeprecationWarning: License classifiers are deprecated. !! ******************************************************************************** Please consider removing the following classifiers in favor of a SPDX license expression: License :: OSI Approved :: Apache Software License See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. ******************************************************************************** !! dist._finalize_license_expression() /usr/lib/python3/dist-packages/setuptools/dist.py:759: SetuptoolsDeprecationWarning: License classifiers are deprecated. !! ******************************************************************************** Please consider removing the following classifiers in favor of a SPDX license expression: License :: OSI Approved :: Apache Software License See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. ******************************************************************************** !! self._finalize_license_expression() running install /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:90: SetuptoolsDeprecationWarning: setup.py install is deprecated. !! ******************************************************************************** Please avoid running ``setup.py`` directly. Instead, use pypa/build, pypa/installer or other standards-based tools. See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html for details. ******************************************************************************** !! self.initialize_options() running build running build_py creating build/lib.linux-aarch64-cpython-313/falcon copying falcon/version.py -> build/lib.linux-aarch64-cpython-313/falcon copying falcon/uri.py -> build/lib.linux-aarch64-cpython-313/falcon copying falcon/typing.py -> build/lib.linux-aarch64-cpython-313/falcon copying falcon/stream.py -> build/lib.linux-aarch64-cpython-313/falcon copying falcon/status_codes.py -> build/lib.linux-aarch64-cpython-313/falcon copying falcon/response_helpers.py -> build/lib.linux-aarch64-cpython-313/falcon copying falcon/response.py -> build/lib.linux-aarch64-cpython-313/falcon copying falcon/responders.py -> build/lib.linux-aarch64-cpython-313/falcon copying falcon/request_helpers.py -> build/lib.linux-aarch64-cpython-313/falcon copying falcon/request.py -> build/lib.linux-aarch64-cpython-313/falcon copying falcon/redirects.py -> build/lib.linux-aarch64-cpython-313/falcon copying falcon/middleware.py -> build/lib.linux-aarch64-cpython-313/falcon copying falcon/inspect.py -> build/lib.linux-aarch64-cpython-313/falcon copying falcon/http_status.py -> build/lib.linux-aarch64-cpython-313/falcon copying falcon/http_error.py -> build/lib.linux-aarch64-cpython-313/falcon copying falcon/hooks.py -> build/lib.linux-aarch64-cpython-313/falcon copying falcon/forwarded.py -> build/lib.linux-aarch64-cpython-313/falcon copying falcon/errors.py -> build/lib.linux-aarch64-cpython-313/falcon copying falcon/constants.py -> build/lib.linux-aarch64-cpython-313/falcon copying falcon/asgi_spec.py -> build/lib.linux-aarch64-cpython-313/falcon copying falcon/app_helpers.py -> build/lib.linux-aarch64-cpython-313/falcon copying falcon/app.py -> build/lib.linux-aarch64-cpython-313/falcon copying falcon/_typing.py -> build/lib.linux-aarch64-cpython-313/falcon copying falcon/__init__.py -> build/lib.linux-aarch64-cpython-313/falcon creating build/lib.linux-aarch64-cpython-313/falcon/util copying falcon/util/uri.py -> build/lib.linux-aarch64-cpython-313/falcon/util copying falcon/util/time.py -> build/lib.linux-aarch64-cpython-313/falcon/util copying falcon/util/sync.py -> build/lib.linux-aarch64-cpython-313/falcon/util copying falcon/util/structures.py -> build/lib.linux-aarch64-cpython-313/falcon/util copying falcon/util/reader.py -> build/lib.linux-aarch64-cpython-313/falcon/util copying falcon/util/misc.py -> build/lib.linux-aarch64-cpython-313/falcon/util copying falcon/util/mediatypes.py -> build/lib.linux-aarch64-cpython-313/falcon/util copying falcon/util/deprecation.py -> build/lib.linux-aarch64-cpython-313/falcon/util copying falcon/util/__init__.py -> build/lib.linux-aarch64-cpython-313/falcon/util creating build/lib.linux-aarch64-cpython-313/falcon/testing copying falcon/testing/test_case.py -> build/lib.linux-aarch64-cpython-313/falcon/testing copying falcon/testing/srmock.py -> build/lib.linux-aarch64-cpython-313/falcon/testing copying falcon/testing/resource.py -> build/lib.linux-aarch64-cpython-313/falcon/testing copying falcon/testing/helpers.py -> build/lib.linux-aarch64-cpython-313/falcon/testing copying falcon/testing/client.py -> build/lib.linux-aarch64-cpython-313/falcon/testing copying falcon/testing/__init__.py -> build/lib.linux-aarch64-cpython-313/falcon/testing creating build/lib.linux-aarch64-cpython-313/falcon/routing copying falcon/routing/util.py -> build/lib.linux-aarch64-cpython-313/falcon/routing copying falcon/routing/static.py -> build/lib.linux-aarch64-cpython-313/falcon/routing copying falcon/routing/converters.py -> build/lib.linux-aarch64-cpython-313/falcon/routing copying falcon/routing/compiled.py -> build/lib.linux-aarch64-cpython-313/falcon/routing copying falcon/routing/__init__.py -> build/lib.linux-aarch64-cpython-313/falcon/routing creating build/lib.linux-aarch64-cpython-313/falcon/media copying falcon/media/urlencoded.py -> build/lib.linux-aarch64-cpython-313/falcon/media copying falcon/media/multipart.py -> build/lib.linux-aarch64-cpython-313/falcon/media copying falcon/media/msgpack.py -> build/lib.linux-aarch64-cpython-313/falcon/media copying falcon/media/json.py -> build/lib.linux-aarch64-cpython-313/falcon/media copying falcon/media/handlers.py -> build/lib.linux-aarch64-cpython-313/falcon/media copying falcon/media/base.py -> build/lib.linux-aarch64-cpython-313/falcon/media copying falcon/media/__init__.py -> build/lib.linux-aarch64-cpython-313/falcon/media creating build/lib.linux-aarch64-cpython-313/falcon/cyutil copying falcon/cyutil/__init__.py -> build/lib.linux-aarch64-cpython-313/falcon/cyutil creating build/lib.linux-aarch64-cpython-313/falcon/cmd copying falcon/cmd/inspect_app.py -> build/lib.linux-aarch64-cpython-313/falcon/cmd copying falcon/cmd/bench.py -> build/lib.linux-aarch64-cpython-313/falcon/cmd copying falcon/cmd/__init__.py -> build/lib.linux-aarch64-cpython-313/falcon/cmd creating build/lib.linux-aarch64-cpython-313/falcon/bench copying falcon/bench/create.py -> build/lib.linux-aarch64-cpython-313/falcon/bench copying falcon/bench/bench.py -> build/lib.linux-aarch64-cpython-313/falcon/bench copying falcon/bench/__init__.py -> build/lib.linux-aarch64-cpython-313/falcon/bench creating build/lib.linux-aarch64-cpython-313/falcon/asgi copying falcon/asgi/ws.py -> build/lib.linux-aarch64-cpython-313/falcon/asgi copying falcon/asgi/structures.py -> build/lib.linux-aarch64-cpython-313/falcon/asgi copying falcon/asgi/stream.py -> build/lib.linux-aarch64-cpython-313/falcon/asgi copying falcon/asgi/response.py -> build/lib.linux-aarch64-cpython-313/falcon/asgi copying falcon/asgi/request.py -> build/lib.linux-aarch64-cpython-313/falcon/asgi copying falcon/asgi/reader.py -> build/lib.linux-aarch64-cpython-313/falcon/asgi copying falcon/asgi/multipart.py -> build/lib.linux-aarch64-cpython-313/falcon/asgi copying falcon/asgi/app.py -> build/lib.linux-aarch64-cpython-313/falcon/asgi copying falcon/asgi/_request_helpers.py -> build/lib.linux-aarch64-cpython-313/falcon/asgi copying falcon/asgi/_asgi_helpers.py -> build/lib.linux-aarch64-cpython-313/falcon/asgi copying falcon/asgi/__init__.py -> build/lib.linux-aarch64-cpython-313/falcon/asgi creating build/lib.linux-aarch64-cpython-313/falcon/media/validators copying falcon/media/validators/jsonschema.py -> build/lib.linux-aarch64-cpython-313/falcon/media/validators copying falcon/media/validators/__init__.py -> build/lib.linux-aarch64-cpython-313/falcon/media/validators creating build/lib.linux-aarch64-cpython-313/falcon/bench/queues copying falcon/bench/queues/stats.py -> build/lib.linux-aarch64-cpython-313/falcon/bench/queues copying falcon/bench/queues/queues.py -> build/lib.linux-aarch64-cpython-313/falcon/bench/queues copying falcon/bench/queues/messages.py -> build/lib.linux-aarch64-cpython-313/falcon/bench/queues copying falcon/bench/queues/claims.py -> build/lib.linux-aarch64-cpython-313/falcon/bench/queues copying falcon/bench/queues/api.py -> build/lib.linux-aarch64-cpython-313/falcon/bench/queues copying falcon/bench/queues/__init__.py -> build/lib.linux-aarch64-cpython-313/falcon/bench/queues creating build/lib.linux-aarch64-cpython-313/falcon/bench/nuts copying falcon/bench/nuts/setup.py -> build/lib.linux-aarch64-cpython-313/falcon/bench/nuts copying falcon/bench/nuts/config.py -> build/lib.linux-aarch64-cpython-313/falcon/bench/nuts copying falcon/bench/nuts/__init__.py -> build/lib.linux-aarch64-cpython-313/falcon/bench/nuts creating build/lib.linux-aarch64-cpython-313/falcon/bench/dj copying falcon/bench/dj/manage.py -> build/lib.linux-aarch64-cpython-313/falcon/bench/dj copying falcon/bench/dj/__init__.py -> build/lib.linux-aarch64-cpython-313/falcon/bench/dj creating build/lib.linux-aarch64-cpython-313/falcon/bench/nuts/nuts copying falcon/bench/nuts/nuts/app.py -> build/lib.linux-aarch64-cpython-313/falcon/bench/nuts/nuts copying falcon/bench/nuts/nuts/__init__.py -> build/lib.linux-aarch64-cpython-313/falcon/bench/nuts/nuts creating build/lib.linux-aarch64-cpython-313/falcon/bench/nuts/nuts/tests copying falcon/bench/nuts/nuts/tests/test_units.py -> build/lib.linux-aarch64-cpython-313/falcon/bench/nuts/nuts/tests copying falcon/bench/nuts/nuts/tests/test_functional.py -> build/lib.linux-aarch64-cpython-313/falcon/bench/nuts/nuts/tests copying falcon/bench/nuts/nuts/tests/config.py -> build/lib.linux-aarch64-cpython-313/falcon/bench/nuts/nuts/tests copying falcon/bench/nuts/nuts/tests/__init__.py -> build/lib.linux-aarch64-cpython-313/falcon/bench/nuts/nuts/tests creating build/lib.linux-aarch64-cpython-313/falcon/bench/nuts/nuts/model copying falcon/bench/nuts/nuts/model/__init__.py -> build/lib.linux-aarch64-cpython-313/falcon/bench/nuts/nuts/model creating build/lib.linux-aarch64-cpython-313/falcon/bench/nuts/nuts/controllers copying falcon/bench/nuts/nuts/controllers/root.py -> build/lib.linux-aarch64-cpython-313/falcon/bench/nuts/nuts/controllers copying falcon/bench/nuts/nuts/controllers/__init__.py -> build/lib.linux-aarch64-cpython-313/falcon/bench/nuts/nuts/controllers creating build/lib.linux-aarch64-cpython-313/falcon/bench/dj/hello copying falcon/bench/dj/hello/views.py -> build/lib.linux-aarch64-cpython-313/falcon/bench/dj/hello copying falcon/bench/dj/hello/tests.py -> build/lib.linux-aarch64-cpython-313/falcon/bench/dj/hello copying falcon/bench/dj/hello/models.py -> build/lib.linux-aarch64-cpython-313/falcon/bench/dj/hello copying falcon/bench/dj/hello/apps.py -> build/lib.linux-aarch64-cpython-313/falcon/bench/dj/hello copying falcon/bench/dj/hello/admin.py -> build/lib.linux-aarch64-cpython-313/falcon/bench/dj/hello copying falcon/bench/dj/hello/__init__.py -> build/lib.linux-aarch64-cpython-313/falcon/bench/dj/hello creating build/lib.linux-aarch64-cpython-313/falcon/bench/dj/dj copying falcon/bench/dj/dj/wsgi.py -> build/lib.linux-aarch64-cpython-313/falcon/bench/dj/dj copying falcon/bench/dj/dj/urls.py -> build/lib.linux-aarch64-cpython-313/falcon/bench/dj/dj copying falcon/bench/dj/dj/settings.py -> build/lib.linux-aarch64-cpython-313/falcon/bench/dj/dj copying falcon/bench/dj/dj/__init__.py -> build/lib.linux-aarch64-cpython-313/falcon/bench/dj/dj creating build/lib.linux-aarch64-cpython-313/falcon/bench/dj/hello/migrations copying falcon/bench/dj/hello/migrations/__init__.py -> build/lib.linux-aarch64-cpython-313/falcon/bench/dj/hello/migrations running egg_info creating falcon.egg-info writing falcon.egg-info/PKG-INFO writing dependency_links to falcon.egg-info/dependency_links.txt writing entry points to falcon.egg-info/entry_points.txt writing requirements to falcon.egg-info/requires.txt writing top-level names to falcon.egg-info/top_level.txt writing manifest file 'falcon.egg-info/SOURCES.txt' reading manifest file 'falcon.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' no previously-included directories found matching 'docs/_build' adding license file 'LICENSE' writing manifest file 'falcon.egg-info/SOURCES.txt' copying falcon/py.typed -> build/lib.linux-aarch64-cpython-313/falcon copying falcon/cyutil/misc.pyx -> build/lib.linux-aarch64-cpython-313/falcon/cyutil copying falcon/cyutil/reader.pyx -> build/lib.linux-aarch64-cpython-313/falcon/cyutil copying falcon/cyutil/uri.pyx -> build/lib.linux-aarch64-cpython-313/falcon/cyutil running build_ext Compiling falcon/version.py because it changed. [1/1] Cythonizing falcon/version.py building 'falcon.version' extension creating build/temp.linux-aarch64-cpython-313/falcon aarch64-linux-gnu-gcc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-4.0.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.13 -c falcon/version.c -o build/temp.linux-aarch64-cpython-313/falcon/version.o aarch64-linux-gnu-gcc -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -Wl,-z,relro -Wl,-z,now -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-4.0.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-aarch64-cpython-313/falcon/version.o -L/usr/lib/aarch64-linux-gnu -o build/lib.linux-aarch64-cpython-313/falcon/version.cpython-313-aarch64-linux-gnu.so /lib/aarch64-linux-gnu/libc.so.6: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/ld-linux-aarch64.so.1: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. Compiling falcon/uri.py because it changed. [1/1] Cythonizing falcon/uri.py building 'falcon.uri' extension aarch64-linux-gnu-gcc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-4.0.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.13 -c falcon/uri.c -o build/temp.linux-aarch64-cpython-313/falcon/uri.o aarch64-linux-gnu-gcc -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -Wl,-z,relro -Wl,-z,now -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-4.0.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-aarch64-cpython-313/falcon/uri.o -L/usr/lib/aarch64-linux-gnu -o build/lib.linux-aarch64-cpython-313/falcon/uri.cpython-313-aarch64-linux-gnu.so /lib/aarch64-linux-gnu/libc.so.6: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/ld-linux-aarch64.so.1: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. Compiling falcon/typing.py because it changed. [1/1] Cythonizing falcon/typing.py building 'falcon.typing' extension aarch64-linux-gnu-gcc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-4.0.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.13 -c falcon/typing.c -o build/temp.linux-aarch64-cpython-313/falcon/typing.o aarch64-linux-gnu-gcc -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -Wl,-z,relro -Wl,-z,now -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-4.0.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-aarch64-cpython-313/falcon/typing.o -L/usr/lib/aarch64-linux-gnu -o build/lib.linux-aarch64-cpython-313/falcon/typing.cpython-313-aarch64-linux-gnu.so /lib/aarch64-linux-gnu/libc.so.6: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/ld-linux-aarch64.so.1: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. Compiling falcon/stream.py because it changed. [1/1] Cythonizing falcon/stream.py building 'falcon.stream' extension aarch64-linux-gnu-gcc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-4.0.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.13 -c falcon/stream.c -o build/temp.linux-aarch64-cpython-313/falcon/stream.o aarch64-linux-gnu-gcc -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -Wl,-z,relro -Wl,-z,now -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-4.0.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-aarch64-cpython-313/falcon/stream.o -L/usr/lib/aarch64-linux-gnu -o build/lib.linux-aarch64-cpython-313/falcon/stream.cpython-313-aarch64-linux-gnu.so /lib/aarch64-linux-gnu/libc.so.6: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/ld-linux-aarch64.so.1: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. Compiling falcon/status_codes.py because it changed. [1/1] Cythonizing falcon/status_codes.py building 'falcon.status_codes' extension aarch64-linux-gnu-gcc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-4.0.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.13 -c falcon/status_codes.c -o build/temp.linux-aarch64-cpython-313/falcon/status_codes.o aarch64-linux-gnu-gcc -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -Wl,-z,relro -Wl,-z,now -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-4.0.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-aarch64-cpython-313/falcon/status_codes.o -L/usr/lib/aarch64-linux-gnu -o build/lib.linux-aarch64-cpython-313/falcon/status_codes.cpython-313-aarch64-linux-gnu.so /lib/aarch64-linux-gnu/libc.so.6: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/ld-linux-aarch64.so.1: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. Compiling falcon/response_helpers.py because it changed. [1/1] Cythonizing falcon/response_helpers.py building 'falcon.response_helpers' extension aarch64-linux-gnu-gcc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-4.0.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.13 -c falcon/response_helpers.c -o build/temp.linux-aarch64-cpython-313/falcon/response_helpers.o aarch64-linux-gnu-gcc -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -Wl,-z,relro -Wl,-z,now -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-4.0.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-aarch64-cpython-313/falcon/response_helpers.o -L/usr/lib/aarch64-linux-gnu -o build/lib.linux-aarch64-cpython-313/falcon/response_helpers.cpython-313-aarch64-linux-gnu.so /lib/aarch64-linux-gnu/libc.so.6: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/ld-linux-aarch64.so.1: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. Compiling falcon/response.py because it changed. [1/1] Cythonizing falcon/response.py building 'falcon.response' extension aarch64-linux-gnu-gcc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-4.0.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.13 -c falcon/response.c -o build/temp.linux-aarch64-cpython-313/falcon/response.o aarch64-linux-gnu-gcc -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -Wl,-z,relro -Wl,-z,now -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-4.0.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-aarch64-cpython-313/falcon/response.o -L/usr/lib/aarch64-linux-gnu -o build/lib.linux-aarch64-cpython-313/falcon/response.cpython-313-aarch64-linux-gnu.so /lib/aarch64-linux-gnu/libc.so.6: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/ld-linux-aarch64.so.1: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. Compiling falcon/request_helpers.py because it changed. [1/1] Cythonizing falcon/request_helpers.py building 'falcon.request_helpers' extension aarch64-linux-gnu-gcc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-4.0.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.13 -c falcon/request_helpers.c -o build/temp.linux-aarch64-cpython-313/falcon/request_helpers.o aarch64-linux-gnu-gcc -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -Wl,-z,relro -Wl,-z,now -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-4.0.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-aarch64-cpython-313/falcon/request_helpers.o -L/usr/lib/aarch64-linux-gnu -o build/lib.linux-aarch64-cpython-313/falcon/request_helpers.cpython-313-aarch64-linux-gnu.so /lib/aarch64-linux-gnu/libc.so.6: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/ld-linux-aarch64.so.1: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. Compiling falcon/request.py because it changed. [1/1] Cythonizing falcon/request.py building 'falcon.request' extension aarch64-linux-gnu-gcc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-4.0.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.13 -c falcon/request.c -o build/temp.linux-aarch64-cpython-313/falcon/request.o aarch64-linux-gnu-gcc -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -Wl,-z,relro -Wl,-z,now -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-4.0.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-aarch64-cpython-313/falcon/request.o -L/usr/lib/aarch64-linux-gnu -o build/lib.linux-aarch64-cpython-313/falcon/request.cpython-313-aarch64-linux-gnu.so /lib/aarch64-linux-gnu/libc.so.6: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/ld-linux-aarch64.so.1: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. Compiling falcon/redirects.py because it changed. [1/1] Cythonizing falcon/redirects.py building 'falcon.redirects' extension aarch64-linux-gnu-gcc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-4.0.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.13 -c falcon/redirects.c -o build/temp.linux-aarch64-cpython-313/falcon/redirects.o aarch64-linux-gnu-gcc -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -Wl,-z,relro -Wl,-z,now -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-4.0.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-aarch64-cpython-313/falcon/redirects.o -L/usr/lib/aarch64-linux-gnu -o build/lib.linux-aarch64-cpython-313/falcon/redirects.cpython-313-aarch64-linux-gnu.so /lib/aarch64-linux-gnu/libc.so.6: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/ld-linux-aarch64.so.1: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. Compiling falcon/middleware.py because it changed. [1/1] Cythonizing falcon/middleware.py building 'falcon.middleware' extension aarch64-linux-gnu-gcc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-4.0.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.13 -c falcon/middleware.c -o build/temp.linux-aarch64-cpython-313/falcon/middleware.o aarch64-linux-gnu-gcc -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -Wl,-z,relro -Wl,-z,now -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-4.0.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-aarch64-cpython-313/falcon/middleware.o -L/usr/lib/aarch64-linux-gnu -o build/lib.linux-aarch64-cpython-313/falcon/middleware.cpython-313-aarch64-linux-gnu.so /lib/aarch64-linux-gnu/libc.so.6: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/ld-linux-aarch64.so.1: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. Compiling falcon/http_status.py because it changed. [1/1] Cythonizing falcon/http_status.py building 'falcon.http_status' extension aarch64-linux-gnu-gcc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-4.0.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.13 -c falcon/http_status.c -o build/temp.linux-aarch64-cpython-313/falcon/http_status.o aarch64-linux-gnu-gcc -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -Wl,-z,relro -Wl,-z,now -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-4.0.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-aarch64-cpython-313/falcon/http_status.o -L/usr/lib/aarch64-linux-gnu -o build/lib.linux-aarch64-cpython-313/falcon/http_status.cpython-313-aarch64-linux-gnu.so /lib/aarch64-linux-gnu/libc.so.6: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/ld-linux-aarch64.so.1: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. Compiling falcon/http_error.py because it changed. [1/1] Cythonizing falcon/http_error.py building 'falcon.http_error' extension aarch64-linux-gnu-gcc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-4.0.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.13 -c falcon/http_error.c -o build/temp.linux-aarch64-cpython-313/falcon/http_error.o aarch64-linux-gnu-gcc -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -Wl,-z,relro -Wl,-z,now -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-4.0.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-aarch64-cpython-313/falcon/http_error.o -L/usr/lib/aarch64-linux-gnu -o build/lib.linux-aarch64-cpython-313/falcon/http_error.cpython-313-aarch64-linux-gnu.so /lib/aarch64-linux-gnu/libc.so.6: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/ld-linux-aarch64.so.1: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. Compiling falcon/forwarded.py because it changed. [1/1] Cythonizing falcon/forwarded.py building 'falcon.forwarded' extension aarch64-linux-gnu-gcc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-4.0.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.13 -c falcon/forwarded.c -o build/temp.linux-aarch64-cpython-313/falcon/forwarded.o aarch64-linux-gnu-gcc -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -Wl,-z,relro -Wl,-z,now -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-4.0.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-aarch64-cpython-313/falcon/forwarded.o -L/usr/lib/aarch64-linux-gnu -o build/lib.linux-aarch64-cpython-313/falcon/forwarded.cpython-313-aarch64-linux-gnu.so /lib/aarch64-linux-gnu/libc.so.6: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/ld-linux-aarch64.so.1: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. Compiling falcon/errors.py because it changed. [1/1] Cythonizing falcon/errors.py building 'falcon.errors' extension aarch64-linux-gnu-gcc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-4.0.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.13 -c falcon/errors.c -o build/temp.linux-aarch64-cpython-313/falcon/errors.o aarch64-linux-gnu-gcc -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -Wl,-z,relro -Wl,-z,now -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-4.0.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-aarch64-cpython-313/falcon/errors.o -L/usr/lib/aarch64-linux-gnu -o build/lib.linux-aarch64-cpython-313/falcon/errors.cpython-313-aarch64-linux-gnu.so /lib/aarch64-linux-gnu/libc.so.6: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/ld-linux-aarch64.so.1: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. Compiling falcon/constants.py because it changed. [1/1] Cythonizing falcon/constants.py building 'falcon.constants' extension aarch64-linux-gnu-gcc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-4.0.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.13 -c falcon/constants.c -o build/temp.linux-aarch64-cpython-313/falcon/constants.o aarch64-linux-gnu-gcc -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -Wl,-z,relro -Wl,-z,now -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-4.0.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-aarch64-cpython-313/falcon/constants.o -L/usr/lib/aarch64-linux-gnu -o build/lib.linux-aarch64-cpython-313/falcon/constants.cpython-313-aarch64-linux-gnu.so /lib/aarch64-linux-gnu/libc.so.6: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/ld-linux-aarch64.so.1: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. Compiling falcon/asgi_spec.py because it changed. [1/1] Cythonizing falcon/asgi_spec.py building 'falcon.asgi_spec' extension aarch64-linux-gnu-gcc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-4.0.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.13 -c falcon/asgi_spec.c -o build/temp.linux-aarch64-cpython-313/falcon/asgi_spec.o aarch64-linux-gnu-gcc -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -Wl,-z,relro -Wl,-z,now -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-4.0.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-aarch64-cpython-313/falcon/asgi_spec.o -L/usr/lib/aarch64-linux-gnu -o build/lib.linux-aarch64-cpython-313/falcon/asgi_spec.cpython-313-aarch64-linux-gnu.so /lib/aarch64-linux-gnu/libc.so.6: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/ld-linux-aarch64.so.1: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. Compiling falcon/app_helpers.py because it changed. [1/1] Cythonizing falcon/app_helpers.py building 'falcon.app_helpers' extension aarch64-linux-gnu-gcc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-4.0.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.13 -c falcon/app_helpers.c -o build/temp.linux-aarch64-cpython-313/falcon/app_helpers.o aarch64-linux-gnu-gcc -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -Wl,-z,relro -Wl,-z,now -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-4.0.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-aarch64-cpython-313/falcon/app_helpers.o -L/usr/lib/aarch64-linux-gnu -o build/lib.linux-aarch64-cpython-313/falcon/app_helpers.cpython-313-aarch64-linux-gnu.so /lib/aarch64-linux-gnu/libc.so.6: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/ld-linux-aarch64.so.1: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. Compiling falcon/app.py because it changed. [1/1] Cythonizing falcon/app.py building 'falcon.app' extension aarch64-linux-gnu-gcc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-4.0.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.13 -c falcon/app.c -o build/temp.linux-aarch64-cpython-313/falcon/app.o aarch64-linux-gnu-gcc -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -Wl,-z,relro -Wl,-z,now -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-4.0.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-aarch64-cpython-313/falcon/app.o -L/usr/lib/aarch64-linux-gnu -o build/lib.linux-aarch64-cpython-313/falcon/app.cpython-313-aarch64-linux-gnu.so /lib/aarch64-linux-gnu/libc.so.6: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/ld-linux-aarch64.so.1: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. Compiling falcon/_typing.py because it changed. [1/1] Cythonizing falcon/_typing.py building 'falcon._typing' extension aarch64-linux-gnu-gcc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-4.0.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.13 -c falcon/_typing.c -o build/temp.linux-aarch64-cpython-313/falcon/_typing.o aarch64-linux-gnu-gcc -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -Wl,-z,relro -Wl,-z,now -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-4.0.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-aarch64-cpython-313/falcon/_typing.o -L/usr/lib/aarch64-linux-gnu -o build/lib.linux-aarch64-cpython-313/falcon/_typing.cpython-313-aarch64-linux-gnu.so /lib/aarch64-linux-gnu/libc.so.6: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/ld-linux-aarch64.so.1: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. Compiling falcon/cyutil/uri.pyx because it changed. [1/1] Cythonizing falcon/cyutil/uri.pyx building 'falcon.cyutil.uri' extension creating build/temp.linux-aarch64-cpython-313/falcon/cyutil aarch64-linux-gnu-gcc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-4.0.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.13 -c falcon/cyutil/uri.c -o build/temp.linux-aarch64-cpython-313/falcon/cyutil/uri.o aarch64-linux-gnu-gcc -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -Wl,-z,relro -Wl,-z,now -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-4.0.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-aarch64-cpython-313/falcon/cyutil/uri.o -L/usr/lib/aarch64-linux-gnu -o build/lib.linux-aarch64-cpython-313/falcon/cyutil/uri.cpython-313-aarch64-linux-gnu.so /lib/aarch64-linux-gnu/libc.so.6: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/ld-linux-aarch64.so.1: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. Compiling falcon/cyutil/reader.pyx because it changed. [1/1] Cythonizing falcon/cyutil/reader.pyx building 'falcon.cyutil.reader' extension aarch64-linux-gnu-gcc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-4.0.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.13 -c falcon/cyutil/reader.c -o build/temp.linux-aarch64-cpython-313/falcon/cyutil/reader.o aarch64-linux-gnu-gcc -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -Wl,-z,relro -Wl,-z,now -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-4.0.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-aarch64-cpython-313/falcon/cyutil/reader.o -L/usr/lib/aarch64-linux-gnu -o build/lib.linux-aarch64-cpython-313/falcon/cyutil/reader.cpython-313-aarch64-linux-gnu.so /lib/aarch64-linux-gnu/libc.so.6: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/ld-linux-aarch64.so.1: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. Compiling falcon/cyutil/misc.pyx because it changed. [1/1] Cythonizing falcon/cyutil/misc.pyx building 'falcon.cyutil.misc' extension aarch64-linux-gnu-gcc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-4.0.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.13 -c falcon/cyutil/misc.c -o build/temp.linux-aarch64-cpython-313/falcon/cyutil/misc.o aarch64-linux-gnu-gcc -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -Wl,-z,relro -Wl,-z,now -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-4.0.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-aarch64-cpython-313/falcon/cyutil/misc.o -L/usr/lib/aarch64-linux-gnu -o build/lib.linux-aarch64-cpython-313/falcon/cyutil/misc.cpython-313-aarch64-linux-gnu.so /lib/aarch64-linux-gnu/libc.so.6: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/ld-linux-aarch64.so.1: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. Compiling falcon/media/urlencoded.py because it changed. [1/1] Cythonizing falcon/media/urlencoded.py building 'falcon.media.urlencoded' extension creating build/temp.linux-aarch64-cpython-313/falcon/media aarch64-linux-gnu-gcc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-4.0.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.13 -c falcon/media/urlencoded.c -o build/temp.linux-aarch64-cpython-313/falcon/media/urlencoded.o aarch64-linux-gnu-gcc -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -Wl,-z,relro -Wl,-z,now -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-4.0.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-aarch64-cpython-313/falcon/media/urlencoded.o -L/usr/lib/aarch64-linux-gnu -o build/lib.linux-aarch64-cpython-313/falcon/media/urlencoded.cpython-313-aarch64-linux-gnu.so /lib/aarch64-linux-gnu/libc.so.6: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/ld-linux-aarch64.so.1: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. Compiling falcon/media/multipart.py because it changed. [1/1] Cythonizing falcon/media/multipart.py building 'falcon.media.multipart' extension aarch64-linux-gnu-gcc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-4.0.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.13 -c falcon/media/multipart.c -o build/temp.linux-aarch64-cpython-313/falcon/media/multipart.o aarch64-linux-gnu-gcc -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -Wl,-z,relro -Wl,-z,now -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-4.0.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-aarch64-cpython-313/falcon/media/multipart.o -L/usr/lib/aarch64-linux-gnu -o build/lib.linux-aarch64-cpython-313/falcon/media/multipart.cpython-313-aarch64-linux-gnu.so /lib/aarch64-linux-gnu/libc.so.6: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/ld-linux-aarch64.so.1: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. Compiling falcon/media/msgpack.py because it changed. [1/1] Cythonizing falcon/media/msgpack.py building 'falcon.media.msgpack' extension aarch64-linux-gnu-gcc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-4.0.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.13 -c falcon/media/msgpack.c -o build/temp.linux-aarch64-cpython-313/falcon/media/msgpack.o aarch64-linux-gnu-gcc -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -Wl,-z,relro -Wl,-z,now -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-4.0.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-aarch64-cpython-313/falcon/media/msgpack.o -L/usr/lib/aarch64-linux-gnu -o build/lib.linux-aarch64-cpython-313/falcon/media/msgpack.cpython-313-aarch64-linux-gnu.so /lib/aarch64-linux-gnu/libc.so.6: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/ld-linux-aarch64.so.1: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. Compiling falcon/media/json.py because it changed. [1/1] Cythonizing falcon/media/json.py building 'falcon.media.json' extension aarch64-linux-gnu-gcc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-4.0.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.13 -c falcon/media/json.c -o build/temp.linux-aarch64-cpython-313/falcon/media/json.o aarch64-linux-gnu-gcc -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -Wl,-z,relro -Wl,-z,now -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-4.0.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-aarch64-cpython-313/falcon/media/json.o -L/usr/lib/aarch64-linux-gnu -o build/lib.linux-aarch64-cpython-313/falcon/media/json.cpython-313-aarch64-linux-gnu.so /lib/aarch64-linux-gnu/libc.so.6: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/ld-linux-aarch64.so.1: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. Compiling falcon/media/handlers.py because it changed. [1/1] Cythonizing falcon/media/handlers.py building 'falcon.media.handlers' extension aarch64-linux-gnu-gcc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-4.0.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.13 -c falcon/media/handlers.c -o build/temp.linux-aarch64-cpython-313/falcon/media/handlers.o aarch64-linux-gnu-gcc -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -Wl,-z,relro -Wl,-z,now -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-4.0.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-aarch64-cpython-313/falcon/media/handlers.o -L/usr/lib/aarch64-linux-gnu -o build/lib.linux-aarch64-cpython-313/falcon/media/handlers.cpython-313-aarch64-linux-gnu.so /lib/aarch64-linux-gnu/libc.so.6: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/ld-linux-aarch64.so.1: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. Compiling falcon/media/base.py because it changed. [1/1] Cythonizing falcon/media/base.py building 'falcon.media.base' extension aarch64-linux-gnu-gcc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-4.0.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.13 -c falcon/media/base.c -o build/temp.linux-aarch64-cpython-313/falcon/media/base.o aarch64-linux-gnu-gcc -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -Wl,-z,relro -Wl,-z,now -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-4.0.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-aarch64-cpython-313/falcon/media/base.o -L/usr/lib/aarch64-linux-gnu -o build/lib.linux-aarch64-cpython-313/falcon/media/base.cpython-313-aarch64-linux-gnu.so /lib/aarch64-linux-gnu/libc.so.6: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/ld-linux-aarch64.so.1: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. Compiling falcon/routing/util.py because it changed. [1/1] Cythonizing falcon/routing/util.py building 'falcon.routing.util' extension creating build/temp.linux-aarch64-cpython-313/falcon/routing aarch64-linux-gnu-gcc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-4.0.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.13 -c falcon/routing/util.c -o build/temp.linux-aarch64-cpython-313/falcon/routing/util.o aarch64-linux-gnu-gcc -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -Wl,-z,relro -Wl,-z,now -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-4.0.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-aarch64-cpython-313/falcon/routing/util.o -L/usr/lib/aarch64-linux-gnu -o build/lib.linux-aarch64-cpython-313/falcon/routing/util.cpython-313-aarch64-linux-gnu.so /lib/aarch64-linux-gnu/libc.so.6: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/ld-linux-aarch64.so.1: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. Compiling falcon/routing/static.py because it changed. [1/1] Cythonizing falcon/routing/static.py building 'falcon.routing.static' extension aarch64-linux-gnu-gcc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-4.0.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.13 -c falcon/routing/static.c -o build/temp.linux-aarch64-cpython-313/falcon/routing/static.o aarch64-linux-gnu-gcc -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -Wl,-z,relro -Wl,-z,now -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-4.0.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-aarch64-cpython-313/falcon/routing/static.o -L/usr/lib/aarch64-linux-gnu -o build/lib.linux-aarch64-cpython-313/falcon/routing/static.cpython-313-aarch64-linux-gnu.so /lib/aarch64-linux-gnu/libc.so.6: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/ld-linux-aarch64.so.1: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. Compiling falcon/routing/converters.py because it changed. [1/1] Cythonizing falcon/routing/converters.py building 'falcon.routing.converters' extension aarch64-linux-gnu-gcc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-4.0.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.13 -c falcon/routing/converters.c -o build/temp.linux-aarch64-cpython-313/falcon/routing/converters.o aarch64-linux-gnu-gcc -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -Wl,-z,relro -Wl,-z,now -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-4.0.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-aarch64-cpython-313/falcon/routing/converters.o -L/usr/lib/aarch64-linux-gnu -o build/lib.linux-aarch64-cpython-313/falcon/routing/converters.cpython-313-aarch64-linux-gnu.so /lib/aarch64-linux-gnu/libc.so.6: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/ld-linux-aarch64.so.1: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. Compiling falcon/routing/compiled.py because it changed. [1/1] Cythonizing falcon/routing/compiled.py building 'falcon.routing.compiled' extension aarch64-linux-gnu-gcc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-4.0.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.13 -c falcon/routing/compiled.c -o build/temp.linux-aarch64-cpython-313/falcon/routing/compiled.o aarch64-linux-gnu-gcc -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -Wl,-z,relro -Wl,-z,now -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-4.0.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-aarch64-cpython-313/falcon/routing/compiled.o -L/usr/lib/aarch64-linux-gnu -o build/lib.linux-aarch64-cpython-313/falcon/routing/compiled.cpython-313-aarch64-linux-gnu.so /lib/aarch64-linux-gnu/libc.so.6: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/ld-linux-aarch64.so.1: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. Compiling falcon/util/uri.py because it changed. [1/1] Cythonizing falcon/util/uri.py building 'falcon.util.uri' extension creating build/temp.linux-aarch64-cpython-313/falcon/util aarch64-linux-gnu-gcc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-4.0.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.13 -c falcon/util/uri.c -o build/temp.linux-aarch64-cpython-313/falcon/util/uri.o aarch64-linux-gnu-gcc -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -Wl,-z,relro -Wl,-z,now -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-4.0.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-aarch64-cpython-313/falcon/util/uri.o -L/usr/lib/aarch64-linux-gnu -o build/lib.linux-aarch64-cpython-313/falcon/util/uri.cpython-313-aarch64-linux-gnu.so /lib/aarch64-linux-gnu/libc.so.6: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/ld-linux-aarch64.so.1: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. Compiling falcon/util/time.py because it changed. [1/1] Cythonizing falcon/util/time.py building 'falcon.util.time' extension aarch64-linux-gnu-gcc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-4.0.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.13 -c falcon/util/time.c -o build/temp.linux-aarch64-cpython-313/falcon/util/time.o aarch64-linux-gnu-gcc -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -Wl,-z,relro -Wl,-z,now -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-4.0.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-aarch64-cpython-313/falcon/util/time.o -L/usr/lib/aarch64-linux-gnu -o build/lib.linux-aarch64-cpython-313/falcon/util/time.cpython-313-aarch64-linux-gnu.so /lib/aarch64-linux-gnu/libc.so.6: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/ld-linux-aarch64.so.1: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. Compiling falcon/util/structures.py because it changed. [1/1] Cythonizing falcon/util/structures.py building 'falcon.util.structures' extension aarch64-linux-gnu-gcc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-4.0.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.13 -c falcon/util/structures.c -o build/temp.linux-aarch64-cpython-313/falcon/util/structures.o aarch64-linux-gnu-gcc -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -Wl,-z,relro -Wl,-z,now -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-4.0.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-aarch64-cpython-313/falcon/util/structures.o -L/usr/lib/aarch64-linux-gnu -o build/lib.linux-aarch64-cpython-313/falcon/util/structures.cpython-313-aarch64-linux-gnu.so /lib/aarch64-linux-gnu/libc.so.6: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/ld-linux-aarch64.so.1: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. Compiling falcon/util/misc.py because it changed. [1/1] Cythonizing falcon/util/misc.py building 'falcon.util.misc' extension aarch64-linux-gnu-gcc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-4.0.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.13 -c falcon/util/misc.c -o build/temp.linux-aarch64-cpython-313/falcon/util/misc.o aarch64-linux-gnu-gcc -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -Wl,-z,relro -Wl,-z,now -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-4.0.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-aarch64-cpython-313/falcon/util/misc.o -L/usr/lib/aarch64-linux-gnu -o build/lib.linux-aarch64-cpython-313/falcon/util/misc.cpython-313-aarch64-linux-gnu.so /lib/aarch64-linux-gnu/libc.so.6: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/ld-linux-aarch64.so.1: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. Compiling falcon/util/mediatypes.py because it changed. [1/1] Cythonizing falcon/util/mediatypes.py building 'falcon.util.mediatypes' extension aarch64-linux-gnu-gcc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-4.0.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.13 -c falcon/util/mediatypes.c -o build/temp.linux-aarch64-cpython-313/falcon/util/mediatypes.o aarch64-linux-gnu-gcc -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -Wl,-z,relro -Wl,-z,now -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-4.0.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-aarch64-cpython-313/falcon/util/mediatypes.o -L/usr/lib/aarch64-linux-gnu -o build/lib.linux-aarch64-cpython-313/falcon/util/mediatypes.cpython-313-aarch64-linux-gnu.so /lib/aarch64-linux-gnu/libc.so.6: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/ld-linux-aarch64.so.1: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. Compiling falcon/util/deprecation.py because it changed. [1/1] Cythonizing falcon/util/deprecation.py building 'falcon.util.deprecation' extension aarch64-linux-gnu-gcc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-4.0.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.13 -c falcon/util/deprecation.c -o build/temp.linux-aarch64-cpython-313/falcon/util/deprecation.o aarch64-linux-gnu-gcc -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -Wl,-z,relro -Wl,-z,now -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-4.0.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-aarch64-cpython-313/falcon/util/deprecation.o -L/usr/lib/aarch64-linux-gnu -o build/lib.linux-aarch64-cpython-313/falcon/util/deprecation.cpython-313-aarch64-linux-gnu.so /lib/aarch64-linux-gnu/libc.so.6: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/ld-linux-aarch64.so.1: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. running install_lib creating /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages creating /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon copying build/lib.linux-aarch64-cpython-313/falcon/_typing.cpython-313-aarch64-linux-gnu.so -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon copying build/lib.linux-aarch64-cpython-313/falcon/app.cpython-313-aarch64-linux-gnu.so -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon copying build/lib.linux-aarch64-cpython-313/falcon/app_helpers.cpython-313-aarch64-linux-gnu.so -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon copying build/lib.linux-aarch64-cpython-313/falcon/asgi_spec.cpython-313-aarch64-linux-gnu.so -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon copying build/lib.linux-aarch64-cpython-313/falcon/constants.cpython-313-aarch64-linux-gnu.so -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon copying build/lib.linux-aarch64-cpython-313/falcon/errors.cpython-313-aarch64-linux-gnu.so -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon copying build/lib.linux-aarch64-cpython-313/falcon/forwarded.cpython-313-aarch64-linux-gnu.so -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon copying build/lib.linux-aarch64-cpython-313/falcon/http_error.cpython-313-aarch64-linux-gnu.so -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon copying build/lib.linux-aarch64-cpython-313/falcon/http_status.cpython-313-aarch64-linux-gnu.so -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon copying build/lib.linux-aarch64-cpython-313/falcon/middleware.cpython-313-aarch64-linux-gnu.so -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon copying build/lib.linux-aarch64-cpython-313/falcon/redirects.cpython-313-aarch64-linux-gnu.so -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon copying build/lib.linux-aarch64-cpython-313/falcon/request.cpython-313-aarch64-linux-gnu.so -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon copying build/lib.linux-aarch64-cpython-313/falcon/request_helpers.cpython-313-aarch64-linux-gnu.so -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon copying build/lib.linux-aarch64-cpython-313/falcon/response.cpython-313-aarch64-linux-gnu.so -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon copying build/lib.linux-aarch64-cpython-313/falcon/response_helpers.cpython-313-aarch64-linux-gnu.so -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon copying build/lib.linux-aarch64-cpython-313/falcon/status_codes.cpython-313-aarch64-linux-gnu.so -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon copying build/lib.linux-aarch64-cpython-313/falcon/stream.cpython-313-aarch64-linux-gnu.so -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon copying build/lib.linux-aarch64-cpython-313/falcon/typing.cpython-313-aarch64-linux-gnu.so -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon copying build/lib.linux-aarch64-cpython-313/falcon/uri.cpython-313-aarch64-linux-gnu.so -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon copying build/lib.linux-aarch64-cpython-313/falcon/version.cpython-313-aarch64-linux-gnu.so -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon copying build/lib.linux-aarch64-cpython-313/falcon/py.typed -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon creating /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/asgi copying build/lib.linux-aarch64-cpython-313/falcon/asgi/__init__.py -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/asgi copying build/lib.linux-aarch64-cpython-313/falcon/asgi/_asgi_helpers.py -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/asgi copying build/lib.linux-aarch64-cpython-313/falcon/asgi/_request_helpers.py -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/asgi copying build/lib.linux-aarch64-cpython-313/falcon/asgi/app.py -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/asgi copying build/lib.linux-aarch64-cpython-313/falcon/asgi/multipart.py -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/asgi copying build/lib.linux-aarch64-cpython-313/falcon/asgi/reader.py -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/asgi copying build/lib.linux-aarch64-cpython-313/falcon/asgi/request.py -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/asgi copying build/lib.linux-aarch64-cpython-313/falcon/asgi/response.py -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/asgi copying build/lib.linux-aarch64-cpython-313/falcon/asgi/stream.py -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/asgi copying build/lib.linux-aarch64-cpython-313/falcon/asgi/structures.py -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/asgi copying build/lib.linux-aarch64-cpython-313/falcon/asgi/ws.py -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/asgi creating /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/bench creating /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/dj creating /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/dj/dj copying build/lib.linux-aarch64-cpython-313/falcon/bench/dj/dj/__init__.py -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/dj/dj copying build/lib.linux-aarch64-cpython-313/falcon/bench/dj/dj/settings.py -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/dj/dj copying build/lib.linux-aarch64-cpython-313/falcon/bench/dj/dj/urls.py -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/dj/dj copying build/lib.linux-aarch64-cpython-313/falcon/bench/dj/dj/wsgi.py -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/dj/dj creating /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/dj/hello creating /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/dj/hello/migrations copying build/lib.linux-aarch64-cpython-313/falcon/bench/dj/hello/migrations/__init__.py -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/dj/hello/migrations copying build/lib.linux-aarch64-cpython-313/falcon/bench/dj/hello/__init__.py -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/dj/hello copying build/lib.linux-aarch64-cpython-313/falcon/bench/dj/hello/admin.py -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/dj/hello copying build/lib.linux-aarch64-cpython-313/falcon/bench/dj/hello/apps.py -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/dj/hello copying build/lib.linux-aarch64-cpython-313/falcon/bench/dj/hello/models.py -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/dj/hello copying build/lib.linux-aarch64-cpython-313/falcon/bench/dj/hello/tests.py -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/dj/hello copying build/lib.linux-aarch64-cpython-313/falcon/bench/dj/hello/views.py -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/dj/hello copying build/lib.linux-aarch64-cpython-313/falcon/bench/dj/__init__.py -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/dj copying build/lib.linux-aarch64-cpython-313/falcon/bench/dj/manage.py -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/dj creating /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/nuts creating /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/nuts/nuts creating /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/nuts/nuts/controllers copying build/lib.linux-aarch64-cpython-313/falcon/bench/nuts/nuts/controllers/__init__.py -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/nuts/nuts/controllers copying build/lib.linux-aarch64-cpython-313/falcon/bench/nuts/nuts/controllers/root.py -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/nuts/nuts/controllers creating /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/nuts/nuts/model copying build/lib.linux-aarch64-cpython-313/falcon/bench/nuts/nuts/model/__init__.py -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/nuts/nuts/model creating /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/nuts/nuts/tests copying build/lib.linux-aarch64-cpython-313/falcon/bench/nuts/nuts/tests/__init__.py -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/nuts/nuts/tests copying build/lib.linux-aarch64-cpython-313/falcon/bench/nuts/nuts/tests/config.py -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/nuts/nuts/tests copying build/lib.linux-aarch64-cpython-313/falcon/bench/nuts/nuts/tests/test_functional.py -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/nuts/nuts/tests copying build/lib.linux-aarch64-cpython-313/falcon/bench/nuts/nuts/tests/test_units.py -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/nuts/nuts/tests copying build/lib.linux-aarch64-cpython-313/falcon/bench/nuts/nuts/__init__.py -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/nuts/nuts copying build/lib.linux-aarch64-cpython-313/falcon/bench/nuts/nuts/app.py -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/nuts/nuts copying build/lib.linux-aarch64-cpython-313/falcon/bench/nuts/__init__.py -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/nuts copying build/lib.linux-aarch64-cpython-313/falcon/bench/nuts/config.py -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/nuts copying build/lib.linux-aarch64-cpython-313/falcon/bench/nuts/setup.py -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/nuts creating /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/queues copying build/lib.linux-aarch64-cpython-313/falcon/bench/queues/__init__.py -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/queues copying build/lib.linux-aarch64-cpython-313/falcon/bench/queues/api.py -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/queues copying build/lib.linux-aarch64-cpython-313/falcon/bench/queues/claims.py -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/queues copying build/lib.linux-aarch64-cpython-313/falcon/bench/queues/messages.py -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/queues copying build/lib.linux-aarch64-cpython-313/falcon/bench/queues/queues.py -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/queues copying build/lib.linux-aarch64-cpython-313/falcon/bench/queues/stats.py -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/queues copying build/lib.linux-aarch64-cpython-313/falcon/bench/__init__.py -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/bench copying build/lib.linux-aarch64-cpython-313/falcon/bench/bench.py -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/bench copying build/lib.linux-aarch64-cpython-313/falcon/bench/create.py -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/bench creating /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/cmd copying build/lib.linux-aarch64-cpython-313/falcon/cmd/__init__.py -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/cmd copying build/lib.linux-aarch64-cpython-313/falcon/cmd/bench.py -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/cmd copying build/lib.linux-aarch64-cpython-313/falcon/cmd/inspect_app.py -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/cmd creating /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/cyutil copying build/lib.linux-aarch64-cpython-313/falcon/cyutil/misc.cpython-313-aarch64-linux-gnu.so -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/cyutil copying build/lib.linux-aarch64-cpython-313/falcon/cyutil/reader.cpython-313-aarch64-linux-gnu.so -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/cyutil copying build/lib.linux-aarch64-cpython-313/falcon/cyutil/uri.cpython-313-aarch64-linux-gnu.so -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/cyutil copying build/lib.linux-aarch64-cpython-313/falcon/cyutil/uri.pyx -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/cyutil copying build/lib.linux-aarch64-cpython-313/falcon/cyutil/reader.pyx -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/cyutil copying build/lib.linux-aarch64-cpython-313/falcon/cyutil/misc.pyx -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/cyutil copying build/lib.linux-aarch64-cpython-313/falcon/cyutil/__init__.py -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/cyutil creating /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/media copying build/lib.linux-aarch64-cpython-313/falcon/media/base.cpython-313-aarch64-linux-gnu.so -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/media copying build/lib.linux-aarch64-cpython-313/falcon/media/handlers.cpython-313-aarch64-linux-gnu.so -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/media copying build/lib.linux-aarch64-cpython-313/falcon/media/json.cpython-313-aarch64-linux-gnu.so -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/media copying build/lib.linux-aarch64-cpython-313/falcon/media/msgpack.cpython-313-aarch64-linux-gnu.so -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/media copying build/lib.linux-aarch64-cpython-313/falcon/media/multipart.cpython-313-aarch64-linux-gnu.so -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/media copying build/lib.linux-aarch64-cpython-313/falcon/media/urlencoded.cpython-313-aarch64-linux-gnu.so -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/media creating /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/media/validators copying build/lib.linux-aarch64-cpython-313/falcon/media/validators/__init__.py -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/media/validators copying build/lib.linux-aarch64-cpython-313/falcon/media/validators/jsonschema.py -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/media/validators copying build/lib.linux-aarch64-cpython-313/falcon/media/__init__.py -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/media copying build/lib.linux-aarch64-cpython-313/falcon/media/base.py -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/media copying build/lib.linux-aarch64-cpython-313/falcon/media/handlers.py -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/media copying build/lib.linux-aarch64-cpython-313/falcon/media/json.py -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/media copying build/lib.linux-aarch64-cpython-313/falcon/media/msgpack.py -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/media copying build/lib.linux-aarch64-cpython-313/falcon/media/multipart.py -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/media copying build/lib.linux-aarch64-cpython-313/falcon/media/urlencoded.py -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/media creating /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/routing copying build/lib.linux-aarch64-cpython-313/falcon/routing/compiled.cpython-313-aarch64-linux-gnu.so -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/routing copying build/lib.linux-aarch64-cpython-313/falcon/routing/converters.cpython-313-aarch64-linux-gnu.so -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/routing copying build/lib.linux-aarch64-cpython-313/falcon/routing/static.cpython-313-aarch64-linux-gnu.so -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/routing copying build/lib.linux-aarch64-cpython-313/falcon/routing/util.cpython-313-aarch64-linux-gnu.so -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/routing copying build/lib.linux-aarch64-cpython-313/falcon/routing/__init__.py -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/routing copying build/lib.linux-aarch64-cpython-313/falcon/routing/compiled.py -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/routing copying build/lib.linux-aarch64-cpython-313/falcon/routing/converters.py -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/routing copying build/lib.linux-aarch64-cpython-313/falcon/routing/static.py -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/routing copying build/lib.linux-aarch64-cpython-313/falcon/routing/util.py -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/routing creating /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/testing copying build/lib.linux-aarch64-cpython-313/falcon/testing/__init__.py -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/testing copying build/lib.linux-aarch64-cpython-313/falcon/testing/client.py -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/testing copying build/lib.linux-aarch64-cpython-313/falcon/testing/helpers.py -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/testing copying build/lib.linux-aarch64-cpython-313/falcon/testing/resource.py -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/testing copying build/lib.linux-aarch64-cpython-313/falcon/testing/srmock.py -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/testing copying build/lib.linux-aarch64-cpython-313/falcon/testing/test_case.py -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/testing creating /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/util copying build/lib.linux-aarch64-cpython-313/falcon/util/deprecation.cpython-313-aarch64-linux-gnu.so -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/util copying build/lib.linux-aarch64-cpython-313/falcon/util/mediatypes.cpython-313-aarch64-linux-gnu.so -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/util copying build/lib.linux-aarch64-cpython-313/falcon/util/misc.cpython-313-aarch64-linux-gnu.so -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/util copying build/lib.linux-aarch64-cpython-313/falcon/util/structures.cpython-313-aarch64-linux-gnu.so -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/util copying build/lib.linux-aarch64-cpython-313/falcon/util/time.cpython-313-aarch64-linux-gnu.so -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/util copying build/lib.linux-aarch64-cpython-313/falcon/util/uri.cpython-313-aarch64-linux-gnu.so -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/util copying build/lib.linux-aarch64-cpython-313/falcon/util/__init__.py -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/util copying build/lib.linux-aarch64-cpython-313/falcon/util/deprecation.py -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/util copying build/lib.linux-aarch64-cpython-313/falcon/util/mediatypes.py -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/util copying build/lib.linux-aarch64-cpython-313/falcon/util/misc.py -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/util copying build/lib.linux-aarch64-cpython-313/falcon/util/reader.py -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/util copying build/lib.linux-aarch64-cpython-313/falcon/util/structures.py -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/util copying build/lib.linux-aarch64-cpython-313/falcon/util/sync.py -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/util copying build/lib.linux-aarch64-cpython-313/falcon/util/time.py -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/util copying build/lib.linux-aarch64-cpython-313/falcon/util/uri.py -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/util copying build/lib.linux-aarch64-cpython-313/falcon/__init__.py -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon copying build/lib.linux-aarch64-cpython-313/falcon/_typing.py -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon copying build/lib.linux-aarch64-cpython-313/falcon/app.py -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon copying build/lib.linux-aarch64-cpython-313/falcon/app_helpers.py -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon copying build/lib.linux-aarch64-cpython-313/falcon/asgi_spec.py -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon copying build/lib.linux-aarch64-cpython-313/falcon/constants.py -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon copying build/lib.linux-aarch64-cpython-313/falcon/errors.py -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon copying build/lib.linux-aarch64-cpython-313/falcon/forwarded.py -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon copying build/lib.linux-aarch64-cpython-313/falcon/hooks.py -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon copying build/lib.linux-aarch64-cpython-313/falcon/http_error.py -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon copying build/lib.linux-aarch64-cpython-313/falcon/http_status.py -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon copying build/lib.linux-aarch64-cpython-313/falcon/inspect.py -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon copying build/lib.linux-aarch64-cpython-313/falcon/middleware.py -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon copying build/lib.linux-aarch64-cpython-313/falcon/redirects.py -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon copying build/lib.linux-aarch64-cpython-313/falcon/request.py -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon copying build/lib.linux-aarch64-cpython-313/falcon/request_helpers.py -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon copying build/lib.linux-aarch64-cpython-313/falcon/responders.py -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon copying build/lib.linux-aarch64-cpython-313/falcon/response.py -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon copying build/lib.linux-aarch64-cpython-313/falcon/response_helpers.py -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon copying build/lib.linux-aarch64-cpython-313/falcon/status_codes.py -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon copying build/lib.linux-aarch64-cpython-313/falcon/stream.py -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon copying build/lib.linux-aarch64-cpython-313/falcon/typing.py -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon copying build/lib.linux-aarch64-cpython-313/falcon/uri.py -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon copying build/lib.linux-aarch64-cpython-313/falcon/version.py -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/asgi/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/asgi/_asgi_helpers.py to _asgi_helpers.cpython-313.pyc byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/asgi/_request_helpers.py to _request_helpers.cpython-313.pyc byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/asgi/app.py to app.cpython-313.pyc byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/asgi/multipart.py to multipart.cpython-313.pyc byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/asgi/reader.py to reader.cpython-313.pyc byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/asgi/request.py to request.cpython-313.pyc byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/asgi/response.py to response.cpython-313.pyc byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/asgi/stream.py to stream.cpython-313.pyc byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/asgi/structures.py to structures.cpython-313.pyc byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/asgi/ws.py to ws.cpython-313.pyc byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/dj/dj/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/dj/dj/settings.py to settings.cpython-313.pyc byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/dj/dj/urls.py to urls.cpython-313.pyc byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/dj/dj/wsgi.py to wsgi.cpython-313.pyc byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/dj/hello/migrations/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/dj/hello/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/dj/hello/admin.py to admin.cpython-313.pyc byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/dj/hello/apps.py to apps.cpython-313.pyc byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/dj/hello/models.py to models.cpython-313.pyc byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/dj/hello/tests.py to tests.cpython-313.pyc byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/dj/hello/views.py to views.cpython-313.pyc byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/dj/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/dj/manage.py to manage.cpython-313.pyc byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/nuts/nuts/controllers/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/nuts/nuts/controllers/root.py to root.cpython-313.pyc byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/nuts/nuts/model/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/nuts/nuts/tests/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/nuts/nuts/tests/config.py to config.cpython-313.pyc byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/nuts/nuts/tests/test_functional.py to test_functional.cpython-313.pyc byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/nuts/nuts/tests/test_units.py to test_units.cpython-313.pyc byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/nuts/nuts/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/nuts/nuts/app.py to app.cpython-313.pyc byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/nuts/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/nuts/config.py to config.cpython-313.pyc byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/nuts/setup.py to setup.cpython-313.pyc byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/queues/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/queues/api.py to api.cpython-313.pyc byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/queues/claims.py to claims.cpython-313.pyc byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/queues/messages.py to messages.cpython-313.pyc byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/queues/queues.py to queues.cpython-313.pyc byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/queues/stats.py to stats.cpython-313.pyc byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/bench.py to bench.cpython-313.pyc byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/create.py to create.cpython-313.pyc byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/cmd/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/cmd/bench.py to bench.cpython-313.pyc byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/cmd/inspect_app.py to inspect_app.cpython-313.pyc byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/cyutil/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/media/validators/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/media/validators/jsonschema.py to jsonschema.cpython-313.pyc byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/media/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/media/base.py to base.cpython-313.pyc byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/media/handlers.py to handlers.cpython-313.pyc byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/media/json.py to json.cpython-313.pyc byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/media/msgpack.py to msgpack.cpython-313.pyc byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/media/multipart.py to multipart.cpython-313.pyc byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/media/urlencoded.py to urlencoded.cpython-313.pyc byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/routing/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/routing/compiled.py to compiled.cpython-313.pyc byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/routing/converters.py to converters.cpython-313.pyc byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/routing/static.py to static.cpython-313.pyc byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/routing/util.py to util.cpython-313.pyc byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/testing/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/testing/client.py to client.cpython-313.pyc byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/testing/helpers.py to helpers.cpython-313.pyc byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/testing/resource.py to resource.cpython-313.pyc byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/testing/srmock.py to srmock.cpython-313.pyc byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/testing/test_case.py to test_case.cpython-313.pyc byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/util/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/util/deprecation.py to deprecation.cpython-313.pyc byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/util/mediatypes.py to mediatypes.cpython-313.pyc byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/util/misc.py to misc.cpython-313.pyc byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/util/reader.py to reader.cpython-313.pyc byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/util/structures.py to structures.cpython-313.pyc byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/util/sync.py to sync.cpython-313.pyc byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/util/time.py to time.cpython-313.pyc byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/util/uri.py to uri.cpython-313.pyc byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/_typing.py to _typing.cpython-313.pyc byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/app.py to app.cpython-313.pyc byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/app_helpers.py to app_helpers.cpython-313.pyc byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/asgi_spec.py to asgi_spec.cpython-313.pyc byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/constants.py to constants.cpython-313.pyc byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/errors.py to errors.cpython-313.pyc byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/forwarded.py to forwarded.cpython-313.pyc byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/hooks.py to hooks.cpython-313.pyc byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/http_error.py to http_error.cpython-313.pyc byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/http_status.py to http_status.cpython-313.pyc byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/inspect.py to inspect.cpython-313.pyc byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/middleware.py to middleware.cpython-313.pyc byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/redirects.py to redirects.cpython-313.pyc byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/request.py to request.cpython-313.pyc byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/request_helpers.py to request_helpers.cpython-313.pyc byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/responders.py to responders.cpython-313.pyc byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/response.py to response.cpython-313.pyc byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/response_helpers.py to response_helpers.cpython-313.pyc byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/status_codes.py to status_codes.cpython-313.pyc byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/stream.py to stream.cpython-313.pyc byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/typing.py to typing.cpython-313.pyc byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/uri.py to uri.cpython-313.pyc byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/version.py to version.cpython-313.pyc running install_egg_info Copying falcon.egg-info to /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon-4.0.2.egg-info Skipping SOURCES.txt running install_scripts Installing falcon-bench script to /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/bin Installing falcon-inspect-app script to /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/bin Installing falcon-print-routes script to /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/bin + pwd + rm -rf /build/reproducible-path/python-falcon-4.0.2/debian/python*/usr/lib/python*/dist-packages/*.pth + pwd + rm -rf /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python*/dist-packages/*.pth for i in 3.13 ; do \ PYTHONPATH=/build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages PYTHON=python$i python$i -m pytest tests -v --ignore-glob=tests/asgi/test_asgi_servers.py ; \ done ============================= test session starts ============================== platform linux -- Python 3.13.7, pytest-8.4.2, pluggy-1.6.0 -- /usr/bin/python3.13 cachedir: .pytest_cache rootdir: /build/reproducible-path/python-falcon-4.0.2 configfile: pyproject.toml plugins: typeguard-4.4.4, anyio-4.8.0 collecting ... collected 3915 items tests/asgi/test_asgi_conductor.py::test_default_headers PASSED [ 0%] tests/asgi/test_asgi_conductor.py::test_generic_request[request] PASSED [ 0%] tests/asgi/test_asgi_conductor.py::test_generic_request[simulate_request] PASSED [ 0%] tests/asgi/test_asgi_conductor.py::test_wsgi_not_supported PASSED [ 0%] tests/asgi/test_asgi_conductor.py::test_responders[alias-get] PASSED [ 0%] tests/asgi/test_asgi_conductor.py::test_responders[alias-head] PASSED [ 0%] tests/asgi/test_asgi_conductor.py::test_responders[alias-post] PASSED [ 0%] tests/asgi/test_asgi_conductor.py::test_responders[alias-put] PASSED [ 0%] tests/asgi/test_asgi_conductor.py::test_responders[alias-options] PASSED [ 0%] tests/asgi/test_asgi_conductor.py::test_responders[alias-patch] PASSED [ 0%] tests/asgi/test_asgi_conductor.py::test_responders[alias-delete] PASSED [ 0%] tests/asgi/test_asgi_conductor.py::test_responders[simulate-get] PASSED [ 0%] tests/asgi/test_asgi_conductor.py::test_responders[simulate-head] PASSED [ 0%] tests/asgi/test_asgi_conductor.py::test_responders[simulate-post] PASSED [ 0%] tests/asgi/test_asgi_conductor.py::test_responders[simulate-put] PASSED [ 0%] tests/asgi/test_asgi_conductor.py::test_responders[simulate-options] PASSED [ 0%] tests/asgi/test_asgi_conductor.py::test_responders[simulate-patch] PASSED [ 0%] tests/asgi/test_asgi_conductor.py::test_responders[simulate-delete] PASSED [ 0%] tests/asgi/test_asgi_helpers.py::test_intricate_app PASSED [ 0%] tests/asgi/test_boundedstream_asgi.py::test_read_all[True-True-empty] PASSED [ 0%] tests/asgi/test_boundedstream_asgi.py::test_read_all[True-True-null] PASSED [ 0%] tests/asgi/test_boundedstream_asgi.py::test_read_all[True-True-null-ff] PASSED [ 0%] tests/asgi/test_boundedstream_asgi.py::test_read_all[True-True-normal] PASSED [ 0%] tests/asgi/test_boundedstream_asgi.py::test_read_all[True-True-long] PASSED [ 0%] tests/asgi/test_boundedstream_asgi.py::test_read_all[True-True-random] PASSED [ 0%] tests/asgi/test_boundedstream_asgi.py::test_read_all[True-True-random-large] PASSED [ 0%] tests/asgi/test_boundedstream_asgi.py::test_read_all[True-False-empty] PASSED [ 0%] tests/asgi/test_boundedstream_asgi.py::test_read_all[True-False-null] PASSED [ 0%] tests/asgi/test_boundedstream_asgi.py::test_read_all[True-False-null-ff] PASSED [ 0%] tests/asgi/test_boundedstream_asgi.py::test_read_all[True-False-normal] PASSED [ 0%] tests/asgi/test_boundedstream_asgi.py::test_read_all[True-False-long] PASSED [ 0%] tests/asgi/test_boundedstream_asgi.py::test_read_all[True-False-random] PASSED [ 0%] tests/asgi/test_boundedstream_asgi.py::test_read_all[True-False-random-large] PASSED [ 0%] tests/asgi/test_boundedstream_asgi.py::test_read_all[False-True-empty] SKIPPED [ 0%] tests/asgi/test_boundedstream_asgi.py::test_read_all[False-True-null] SKIPPED [ 0%] tests/asgi/test_boundedstream_asgi.py::test_read_all[False-True-null-ff] SKIPPED [ 0%] tests/asgi/test_boundedstream_asgi.py::test_read_all[False-True-normal] SKIPPED [ 0%] tests/asgi/test_boundedstream_asgi.py::test_read_all[False-True-long] SKIPPED [ 0%] tests/asgi/test_boundedstream_asgi.py::test_read_all[False-True-random] SKIPPED [ 0%] tests/asgi/test_boundedstream_asgi.py::test_read_all[False-True-random-large] SKIPPED [ 1%] tests/asgi/test_boundedstream_asgi.py::test_read_all[False-False-empty] PASSED [ 1%] tests/asgi/test_boundedstream_asgi.py::test_read_all[False-False-null] PASSED [ 1%] tests/asgi/test_boundedstream_asgi.py::test_read_all[False-False-null-ff] PASSED [ 1%] tests/asgi/test_boundedstream_asgi.py::test_read_all[False-False-normal] PASSED [ 1%] tests/asgi/test_boundedstream_asgi.py::test_read_all[False-False-long] PASSED [ 1%] tests/asgi/test_boundedstream_asgi.py::test_read_all[False-False-random] PASSED [ 1%] tests/asgi/test_boundedstream_asgi.py::test_read_all[False-False-random-large] PASSED [ 1%] tests/asgi/test_boundedstream_asgi.py::test_filelike PASSED [ 1%] tests/asgi/test_boundedstream_asgi.py::test_iterate_streaming_request PASSED [ 1%] tests/asgi/test_boundedstream_asgi.py::test_read_chunks[1-empty] PASSED [ 1%] tests/asgi/test_boundedstream_asgi.py::test_read_chunks[1-null] PASSED [ 1%] tests/asgi/test_boundedstream_asgi.py::test_read_chunks[1-null-ff] PASSED [ 1%] tests/asgi/test_boundedstream_asgi.py::test_read_chunks[1-normal] PASSED [ 1%] tests/asgi/test_boundedstream_asgi.py::test_read_chunks[1-long] PASSED [ 1%] tests/asgi/test_boundedstream_asgi.py::test_read_chunks[1-random] PASSED [ 1%] tests/asgi/test_boundedstream_asgi.py::test_read_chunks[2-empty] PASSED [ 1%] tests/asgi/test_boundedstream_asgi.py::test_read_chunks[2-null] PASSED [ 1%] tests/asgi/test_boundedstream_asgi.py::test_read_chunks[2-null-ff] PASSED [ 1%] tests/asgi/test_boundedstream_asgi.py::test_read_chunks[2-normal] PASSED [ 1%] tests/asgi/test_boundedstream_asgi.py::test_read_chunks[2-long] PASSED [ 1%] tests/asgi/test_boundedstream_asgi.py::test_read_chunks[2-random] PASSED [ 1%] tests/asgi/test_boundedstream_asgi.py::test_read_chunks[10-empty] PASSED [ 1%] tests/asgi/test_boundedstream_asgi.py::test_read_chunks[10-null] PASSED [ 1%] tests/asgi/test_boundedstream_asgi.py::test_read_chunks[10-null-ff] PASSED [ 1%] tests/asgi/test_boundedstream_asgi.py::test_read_chunks[10-normal] PASSED [ 1%] tests/asgi/test_boundedstream_asgi.py::test_read_chunks[10-long] PASSED [ 1%] tests/asgi/test_boundedstream_asgi.py::test_read_chunks[10-random] PASSED [ 1%] tests/asgi/test_boundedstream_asgi.py::test_read_chunks[64-empty] PASSED [ 1%] tests/asgi/test_boundedstream_asgi.py::test_read_chunks[64-null] PASSED [ 1%] tests/asgi/test_boundedstream_asgi.py::test_read_chunks[64-null-ff] PASSED [ 1%] tests/asgi/test_boundedstream_asgi.py::test_read_chunks[64-normal] PASSED [ 1%] tests/asgi/test_boundedstream_asgi.py::test_read_chunks[64-long] PASSED [ 1%] tests/asgi/test_boundedstream_asgi.py::test_read_chunks[64-random] PASSED [ 1%] tests/asgi/test_boundedstream_asgi.py::test_read_chunks[100-empty] PASSED [ 1%] tests/asgi/test_boundedstream_asgi.py::test_read_chunks[100-null] PASSED [ 1%] tests/asgi/test_boundedstream_asgi.py::test_read_chunks[100-null-ff] PASSED [ 1%] tests/asgi/test_boundedstream_asgi.py::test_read_chunks[100-normal] PASSED [ 1%] tests/asgi/test_boundedstream_asgi.py::test_read_chunks[100-long] PASSED [ 1%] tests/asgi/test_boundedstream_asgi.py::test_read_chunks[100-random] PASSED [ 2%] tests/asgi/test_boundedstream_asgi.py::test_read_chunks[1000-empty] PASSED [ 2%] tests/asgi/test_boundedstream_asgi.py::test_read_chunks[1000-null] PASSED [ 2%] tests/asgi/test_boundedstream_asgi.py::test_read_chunks[1000-null-ff] PASSED [ 2%] tests/asgi/test_boundedstream_asgi.py::test_read_chunks[1000-normal] PASSED [ 2%] tests/asgi/test_boundedstream_asgi.py::test_read_chunks[1000-long] PASSED [ 2%] tests/asgi/test_boundedstream_asgi.py::test_read_chunks[1000-random] PASSED [ 2%] tests/asgi/test_boundedstream_asgi.py::test_read_chunks[10000-empty] PASSED [ 2%] tests/asgi/test_boundedstream_asgi.py::test_read_chunks[10000-null] PASSED [ 2%] tests/asgi/test_boundedstream_asgi.py::test_read_chunks[10000-null-ff] PASSED [ 2%] tests/asgi/test_boundedstream_asgi.py::test_read_chunks[10000-normal] PASSED [ 2%] tests/asgi/test_boundedstream_asgi.py::test_read_chunks[10000-long] PASSED [ 2%] tests/asgi/test_boundedstream_asgi.py::test_read_chunks[10000-random] PASSED [ 2%] tests/asgi/test_boundedstream_asgi.py::test_exhaust_with_disconnect PASSED [ 2%] tests/asgi/test_boundedstream_asgi.py::test_exhaust PASSED [ 2%] tests/asgi/test_boundedstream_asgi.py::test_iteration_already_started PASSED [ 2%] tests/asgi/test_buffered_reader.py::test_basic_aiter PASSED [ 2%] tests/asgi/test_buffered_reader.py::test_aiter_from_buffer PASSED [ 2%] tests/asgi/test_buffered_reader.py::test_delimit[H-expected0] PASSED [ 2%] tests/asgi/test_buffered_reader.py::test_delimit[Hello-expected1] PASSED [ 2%] tests/asgi/test_buffered_reader.py::test_delimit[o-expected2] PASSED [ 2%] tests/asgi/test_buffered_reader.py::test_delimit[ting-expected3] PASSED [ 2%] tests/asgi/test_buffered_reader.py::test_delimit[404-expected4] PASSED [ 2%] tests/asgi/test_buffered_reader.py::test_exhaust PASSED [ 2%] tests/asgi/test_buffered_reader.py::test_peek[1] PASSED [ 2%] tests/asgi/test_buffered_reader.py::test_peek[2] PASSED [ 2%] tests/asgi/test_buffered_reader.py::test_peek[3] PASSED [ 2%] tests/asgi/test_buffered_reader.py::test_peek[5] PASSED [ 2%] tests/asgi/test_buffered_reader.py::test_peek[7] PASSED [ 2%] tests/asgi/test_buffered_reader.py::test_peek[8] PASSED [ 2%] tests/asgi/test_buffered_reader.py::test_peek_at_eof PASSED [ 2%] tests/asgi/test_buffered_reader.py::test_pipe PASSED [ 2%] tests/asgi/test_buffered_reader.py::test_pipe_until_delimiter_not_found PASSED [ 2%] tests/asgi/test_buffered_reader.py::test_read[sizes0-expected0] PASSED [ 2%] tests/asgi/test_buffered_reader.py::test_read[sizes1-expected1] PASSED [ 2%] tests/asgi/test_buffered_reader.py::test_read[sizes2-expected2] PASSED [ 2%] tests/asgi/test_buffered_reader.py::test_read[sizes3-expected3] PASSED [ 2%] tests/asgi/test_buffered_reader.py::test_varying_read_size[1] PASSED [ 2%] tests/asgi/test_buffered_reader.py::test_varying_read_size[16777216] PASSED [ 2%] tests/asgi/test_buffered_reader.py::test_readall[0] PASSED [ 3%] tests/asgi/test_buffered_reader.py::test_readall[1] PASSED [ 3%] tests/asgi/test_buffered_reader.py::test_readall[8] PASSED [ 3%] tests/asgi/test_buffered_reader.py::test_read_until[0-, -4-Hell-False] PASSED [ 3%] tests/asgi/test_buffered_reader.py::test_read_until[0-, -4-Hell-True] PASSED [ 3%] tests/asgi/test_buffered_reader.py::test_read_until[0-, -5-Hello-False] PASSED [ 3%] tests/asgi/test_buffered_reader.py::test_read_until[0-, -5-Hello-True] PASSED [ 3%] tests/asgi/test_buffered_reader.py::test_read_until[0-, --1-Hello-False] PASSED [ 3%] tests/asgi/test_buffered_reader.py::test_read_until[0-, --1-Hello-True] PASSED [ 3%] tests/asgi/test_buffered_reader.py::test_read_until[20- -4-esti-False] PASSED [ 3%] tests/asgi/test_buffered_reader.py::test_read_until[20- -4-esti-True] PASSED [ 3%] tests/asgi/test_buffered_reader.py::test_read_until[20- -5-estin-False] PASSED [ 3%] tests/asgi/test_buffered_reader.py::test_read_until[20- -5-estin-True] PASSED [ 3%] tests/asgi/test_buffered_reader.py::test_read_until[20- -6-esting-False] PASSED [ 3%] tests/asgi/test_buffered_reader.py::test_read_until[20- -6-esting-True] PASSED [ 3%] tests/asgi/test_buffered_reader.py::test_read_until[20- -20-esting-False] PASSED [ 3%] tests/asgi/test_buffered_reader.py::test_read_until[20- -20-esting-True] PASSED [ 3%] tests/asgi/test_buffered_reader.py::test_read_until[20- -None-esting-False] PASSED [ 3%] tests/asgi/test_buffered_reader.py::test_read_until[20- -None-esting-True] PASSED [ 3%] tests/asgi/test_buffered_reader.py::test_read_until[0-Hell-13--False] PASSED [ 3%] tests/asgi/test_buffered_reader.py::test_read_until[0-Hell-13--True] PASSED [ 3%] tests/asgi/test_buffered_reader.py::test_read_until[1-ell-13--False] PASSED [ 3%] tests/asgi/test_buffered_reader.py::test_read_until[1-ell-13--True] PASSED [ 3%] tests/asgi/test_buffered_reader.py::test_read_until[2-ll-13--False] PASSED [ 3%] tests/asgi/test_buffered_reader.py::test_read_until[2-ll-13--True] PASSED [ 3%] tests/asgi/test_buffered_reader.py::test_read_until[3-l-13--False] PASSED [ 3%] tests/asgi/test_buffered_reader.py::test_read_until[3-l-13--True] PASSED [ 3%] tests/asgi/test_buffered_reader.py::test_read_until[2-l-13--False] PASSED [ 3%] tests/asgi/test_buffered_reader.py::test_read_until[2-l-13--True] PASSED [ 3%] tests/asgi/test_buffered_reader.py::test_read_until[0-good-13-Hello, World!-False] PASSED [ 3%] tests/asgi/test_buffered_reader.py::test_read_until[0-good-13-Hello, World!-True] PASSED [ 3%] tests/asgi/test_buffered_reader.py::test_read_until[7-good-19-World!\nJust testing-False] PASSED [ 3%] tests/asgi/test_buffered_reader.py::test_read_until[7-good-19-World!\nJust testing-True] PASSED [ 3%] tests/asgi/test_buffered_reader.py::test_read_until[7-good-33-World!\nJust testing some iterator-False] PASSED [ 3%] tests/asgi/test_buffered_reader.py::test_read_until[7-good-33-World!\nJust testing some iterator-True] PASSED [ 3%] tests/asgi/test_buffered_reader.py::test_read_until[7-good-34-World!\nJust testing some iterator -False] PASSED [ 3%] tests/asgi/test_buffered_reader.py::test_read_until[7-good-34-World!\nJust testing some iterator -True] PASSED [ 3%] tests/asgi/test_buffered_reader.py::test_read_until[7-good-1337-World!\nJust testing some iterator -False] PASSED [ 3%] tests/asgi/test_buffered_reader.py::test_read_until[7-good-1337-World!\nJust testing some iterator -True] PASSED [ 3%] tests/asgi/test_buffered_reader.py::test_read_until[7-good--1-World!\nJust testing some iterator -False] PASSED [ 4%] tests/asgi/test_buffered_reader.py::test_read_until[7-good--1-World!\nJust testing some iterator -True] PASSED [ 4%] tests/asgi/test_buffered_reader.py::test_read_until_with_buffer_edge_case PASSED [ 4%] tests/asgi/test_buffered_reader.py::test_placeholder_methods PASSED [ 4%] tests/asgi/test_buffered_reader.py::test_iteration_started PASSED [ 4%] tests/asgi/test_buffered_reader.py::test_invalid_delimiter_length PASSED [ 4%] tests/asgi/test_buffered_reader.py::test_irregular_large_read_until[11003077-22000721] PASSED [ 4%] tests/asgi/test_buffered_reader.py::test_irregular_large_read_until[13372477-51637898] PASSED [ 4%] tests/asgi/test_buffered_reader.py::test_read_until_shared_boundary[46] PASSED [ 4%] tests/asgi/test_buffered_reader.py::test_read_until_shared_boundary[47] PASSED [ 4%] tests/asgi/test_buffered_reader.py::test_read_until_shared_boundary[48] PASSED [ 4%] tests/asgi/test_buffered_reader.py::test_read_until_shared_boundary[49] PASSED [ 4%] tests/asgi/test_buffered_reader.py::test_read_until_shared_boundary[50] PASSED [ 4%] tests/asgi/test_buffered_reader.py::test_read_until_shared_boundary[51] PASSED [ 4%] tests/asgi/test_buffered_reader.py::test_read_until_shared_boundary[52] PASSED [ 4%] tests/asgi/test_buffered_reader.py::test_read_until_shared_boundary[53] PASSED [ 4%] tests/asgi/test_buffered_reader.py::test_read_until_shared_boundary[54] PASSED [ 4%] tests/asgi/test_buffered_reader.py::test_read_until_shared_boundary[55] PASSED [ 4%] tests/asgi/test_buffered_reader.py::test_read_until_shared_boundary[56] PASSED [ 4%] tests/asgi/test_buffered_reader.py::test_read_until_shared_boundary[57] PASSED [ 4%] tests/asgi/test_buffered_reader.py::test_read_until_shared_boundary[58] PASSED [ 4%] tests/asgi/test_buffered_reader.py::test_read_until_shared_boundary[59] PASSED [ 4%] tests/asgi/test_buffered_reader.py::test_read_until_shared_boundary[60] PASSED [ 4%] tests/asgi/test_buffered_reader.py::test_read_until_shared_boundary[61] PASSED [ 4%] tests/asgi/test_buffered_reader.py::test_read_until_shared_boundary[62] PASSED [ 4%] tests/asgi/test_buffered_reader.py::test_small_reads PASSED [ 4%] tests/asgi/test_buffered_reader.py::test_small_reads_with_delimiter PASSED [ 4%] tests/asgi/test_hello_asgi.py::TestHelloWorld::test_env_headers_list_of_tuples PASSED [ 4%] tests/asgi/test_hello_asgi.py::TestHelloWorld::test_root_route PASSED [ 4%] tests/asgi/test_hello_asgi.py::TestHelloWorld::test_no_route PASSED [ 4%] tests/asgi/test_hello_asgi.py::TestHelloWorld::test_body[/body-resource0-] PASSED [ 4%] tests/asgi/test_hello_asgi.py::TestHelloWorld::test_body[/bytes-resource1-] PASSED [ 4%] tests/asgi/test_hello_asgi.py::TestHelloWorld::test_body[/data-resource2-] PASSED [ 4%] tests/asgi/test_hello_asgi.py::TestHelloWorld::test_no_body_on_head PASSED [ 4%] tests/asgi/test_hello_asgi.py::TestHelloWorld::test_stream_chunked PASSED [ 4%] tests/asgi/test_hello_asgi.py::TestHelloWorld::test_stream_known_len PASSED [ 4%] tests/asgi/test_hello_asgi.py::TestHelloWorld::test_filelike PASSED [ 4%] tests/asgi/test_hello_asgi.py::TestHelloWorld::test_genfunc_error PASSED [ 4%] tests/asgi/test_hello_asgi.py::TestHelloWorld::test_nongenfunc_error PASSED [ 4%] tests/asgi/test_hello_asgi.py::TestHelloWorld::test_filelike_closing[DataReader-True] PASSED [ 5%] tests/asgi/test_hello_asgi.py::TestHelloWorld::test_filelike_closing[DataReaderWithoutClose-False] PASSED [ 5%] tests/asgi/test_hello_asgi.py::TestHelloWorld::test_filelike_closing_aiofiles PASSED [ 5%] tests/asgi/test_hello_asgi.py::TestHelloWorld::test_filelike_using_helper PASSED [ 5%] tests/asgi/test_hello_asgi.py::TestHelloWorld::test_closing_stream[10-3-3\n3\n3\n1\n-None] PASSED [ 5%] tests/asgi/test_hello_asgi.py::TestHelloWorld::test_closing_stream[10-7-7\n3\n-None] PASSED [ 5%] tests/asgi/test_hello_asgi.py::TestHelloWorld::test_closing_stream[10-17-10\n-None] PASSED [ 5%] tests/asgi/test_hello_asgi.py::TestHelloWorld::test_closing_stream[20-0--ZeroDivisionError] PASSED [ 5%] tests/asgi/test_hello_asgi.py::TestHelloWorld::test_status_not_set PASSED [ 5%] tests/asgi/test_hello_asgi.py::TestHelloWorld::test_coroutine_required PASSED [ 5%] tests/asgi/test_hello_asgi.py::TestHelloWorld::test_noncoroutine_required PASSED [ 5%] tests/asgi/test_lifespan_handlers.py::test_at_least_one_event_method_required PASSED [ 5%] tests/asgi/test_lifespan_handlers.py::test_startup_only PASSED [ 5%] tests/asgi/test_lifespan_handlers.py::test_startup_raises PASSED [ 5%] tests/asgi/test_lifespan_handlers.py::test_shutdown_raises PASSED [ 5%] tests/asgi/test_lifespan_handlers.py::test_shutdown_only PASSED [ 5%] tests/asgi/test_lifespan_handlers.py::test_multiple_handlers PASSED [ 5%] tests/asgi/test_lifespan_handlers.py::test_asgi_conductor_raised_error_skips_shutdown PASSED [ 5%] tests/asgi/test_middleware_asgi.py::test_raise_on_incompatible[middleware0] PASSED [ 5%] tests/asgi/test_middleware_asgi.py::test_raise_on_incompatible[middleware1] PASSED [ 5%] tests/asgi/test_middleware_asgi.py::test_raise_on_incompatible[middleware2] PASSED [ 5%] tests/asgi/test_middleware_asgi.py::test_raise_on_incompatible[middleware3] PASSED [ 5%] tests/asgi/test_misc.py::test_http_status_not_impl PASSED [ 5%] tests/asgi/test_misc.py::test_http_error_not_impl PASSED [ 5%] tests/asgi/test_misc.py::test_python_error_not_impl PASSED [ 5%] tests/asgi/test_request_asgi.py::test_missing_server_in_scope PASSED [ 5%] tests/asgi/test_request_asgi.py::test_log_error_not_supported PASSED [ 5%] tests/asgi/test_request_asgi.py::test_env_not_supported PASSED [ 5%] tests/asgi/test_request_body_asgi.py::TestRequestBody::test_empty_body PASSED [ 5%] tests/asgi/test_request_body_asgi.py::TestRequestBody::test_tiny_body PASSED [ 5%] tests/asgi/test_request_body_asgi.py::TestRequestBody::test_tiny_body_overflow PASSED [ 5%] tests/asgi/test_request_body_asgi.py::TestRequestBody::test_content_length_smaller_than_body[1-0] PASSED [ 5%] tests/asgi/test_request_body_asgi.py::TestRequestBody::test_content_length_smaller_than_body[2-1] PASSED [ 5%] tests/asgi/test_request_body_asgi.py::TestRequestBody::test_content_length_smaller_than_body[3-2] PASSED [ 5%] tests/asgi/test_request_body_asgi.py::TestRequestBody::test_content_length_smaller_than_body[100-None] PASSED [ 5%] tests/asgi/test_request_body_asgi.py::TestRequestBody::test_content_length_smaller_than_body[100-50] PASSED [ 5%] tests/asgi/test_request_body_asgi.py::TestRequestBody::test_content_length_smaller_than_body[8192-50] PASSED [ 5%] tests/asgi/test_request_body_asgi.py::TestRequestBody::test_read_body PASSED [ 5%] tests/asgi/test_request_body_asgi.py::TestRequestBody::test_bounded_stream_alias PASSED [ 5%] tests/asgi/test_request_body_asgi.py::TestRequestBody::test_request_repr PASSED [ 6%] tests/asgi/test_request_context_asgi.py::TestRequestContext::test_default_request_context PASSED [ 6%] tests/asgi/test_request_context_asgi.py::TestRequestContext::test_custom_request_context PASSED [ 6%] tests/asgi/test_request_context_asgi.py::TestRequestContext::test_custom_request_context_failure PASSED [ 6%] tests/asgi/test_request_context_asgi.py::TestRequestContext::test_custom_request_context_request_access PASSED [ 6%] tests/asgi/test_response_media_asgi.py::test_json[*/*] PASSED [ 6%] tests/asgi/test_response_media_asgi.py::test_json[application/json] PASSED [ 6%] tests/asgi/test_response_media_asgi.py::test_json[application/json; charset=utf-8] PASSED [ 6%] tests/asgi/test_response_media_asgi.py::test_non_ascii_json_serialization[] PASSED [ 6%] tests/asgi/test_response_media_asgi.py::test_non_ascii_json_serialization[I am a \u1d0a\ua731\u1d0f\u0274 string.] PASSED [ 6%] tests/asgi/test_response_media_asgi.py::test_non_ascii_json_serialization[document2] PASSED [ 6%] tests/asgi/test_response_media_asgi.py::test_non_ascii_json_serialization[document3] PASSED [ 6%] tests/asgi/test_response_media_asgi.py::test_non_ascii_json_serialization[document4] PASSED [ 6%] tests/asgi/test_response_media_asgi.py::test_msgpack[application/msgpack] PASSED [ 6%] tests/asgi/test_response_media_asgi.py::test_msgpack[application/msgpack; charset=utf-8] PASSED [ 6%] tests/asgi/test_response_media_asgi.py::test_msgpack[application/x-msgpack] PASSED [ 6%] tests/asgi/test_response_media_asgi.py::test_custom_media_handler PASSED [ 6%] tests/asgi/test_response_media_asgi.py::test_unknown_media_type PASSED [ 6%] tests/asgi/test_response_media_asgi.py::test_default_media_type PASSED [ 6%] tests/asgi/test_response_media_asgi.py::test_mimeparse_edgecases PASSED [ 6%] tests/asgi/test_response_media_asgi.py::TestRenderBodyPrecedence::test_text PASSED [ 6%] tests/asgi/test_response_media_asgi.py::TestRenderBodyPrecedence::test_data PASSED [ 6%] tests/asgi/test_response_media_asgi.py::TestRenderBodyPrecedence::test_data_masquerading_as_text PASSED [ 6%] tests/asgi/test_response_media_asgi.py::TestRenderBodyPrecedence::test_media PASSED [ 6%] tests/asgi/test_response_media_asgi.py::test_media_rendered_cached PASSED [ 6%] tests/asgi/test_response_media_asgi.py::test_custom_render_body PASSED [ 6%] tests/asgi/test_scheduled_callbacks.py::test_multiple PASSED [ 6%] tests/asgi/test_scheduled_callbacks.py::test_callback[GET-/-Hello, World!\n] PASSED [ 6%] tests/asgi/test_scheduled_callbacks.py::test_callback[HEAD-/-] PASSED [ 6%] tests/asgi/test_scheduled_callbacks.py::test_callback[GET-/sse-: ping\n\n] PASSED [ 6%] tests/asgi/test_scheduled_callbacks.py::test_callback[GET-/stream-One\nTwo\nThree\n] PASSED [ 6%] tests/asgi/test_scope.py::test_missing_asgi_version PASSED [ 6%] tests/asgi/test_scope.py::test_unsupported_http_version[0.9] PASSED [ 6%] tests/asgi/test_scope.py::test_unsupported_http_version[1.9] PASSED [ 6%] tests/asgi/test_scope.py::test_unsupported_http_version[4.0] PASSED [ 6%] tests/asgi/test_scope.py::test_unsupported_http_version[1337] PASSED [ 6%] tests/asgi/test_scope.py::test_supported_asgi_version[3.0-True] PASSED [ 6%] tests/asgi/test_scope.py::test_supported_asgi_version[3.1-True] PASSED [ 6%] tests/asgi/test_scope.py::test_supported_asgi_version[3.10-True] PASSED [ 6%] tests/asgi/test_scope.py::test_supported_asgi_version[30.0-False] PASSED [ 6%] tests/asgi/test_scope.py::test_supported_asgi_version[31.0-False] PASSED [ 7%] tests/asgi/test_scope.py::test_supported_asgi_version[4.0-False] PASSED [ 7%] tests/asgi/test_scope.py::test_supported_asgi_version[4.1-False] PASSED [ 7%] tests/asgi/test_scope.py::test_supported_asgi_version[4.10-False] PASSED [ 7%] tests/asgi/test_scope.py::test_supported_asgi_version[40.0-False] PASSED [ 7%] tests/asgi/test_scope.py::test_supported_asgi_version[41.0-False] PASSED [ 7%] tests/asgi/test_scope.py::test_supported_asgi_version[2.0-False] PASSED [ 7%] tests/asgi/test_scope.py::test_supported_asgi_version[2.1-False] PASSED [ 7%] tests/asgi/test_scope.py::test_supported_asgi_version[2.10-False] PASSED [ 7%] tests/asgi/test_scope.py::test_supported_asgi_version[None-False] PASSED [ 7%] tests/asgi/test_scope.py::test_unsupported_scope_type[tubes] PASSED [ 7%] tests/asgi/test_scope.py::test_unsupported_scope_type[http3] PASSED [ 7%] tests/asgi/test_scope.py::test_unsupported_scope_type[htt] PASSED [ 7%] tests/asgi/test_scope.py::test_supported_http_spec[0.0-False] PASSED [ 7%] tests/asgi/test_scope.py::test_supported_http_spec[1.0-False] PASSED [ 7%] tests/asgi/test_scope.py::test_supported_http_spec[11.0-False] PASSED [ 7%] tests/asgi/test_scope.py::test_supported_http_spec[2.0-True] PASSED [ 7%] tests/asgi/test_scope.py::test_supported_http_spec[2.1-True] PASSED [ 7%] tests/asgi/test_scope.py::test_supported_http_spec[2.10-True] PASSED [ 7%] tests/asgi/test_scope.py::test_supported_http_spec[20.0-False] PASSED [ 7%] tests/asgi/test_scope.py::test_supported_http_spec[22.0-False] PASSED [ 7%] tests/asgi/test_scope.py::test_supported_http_spec[3.0-False] PASSED [ 7%] tests/asgi/test_scope.py::test_supported_http_spec[3.1-False] PASSED [ 7%] tests/asgi/test_scope.py::test_supported_http_spec[30.0-False] PASSED [ 7%] tests/asgi/test_scope.py::test_lifespan_scope_default_version PASSED [ 7%] tests/asgi/test_scope.py::test_lifespan_scope_version[0.0-False] PASSED [ 7%] tests/asgi/test_scope.py::test_lifespan_scope_version[1.0-True] PASSED [ 7%] tests/asgi/test_scope.py::test_lifespan_scope_version[1.1-True] PASSED [ 7%] tests/asgi/test_scope.py::test_lifespan_scope_version[1.10-True] PASSED [ 7%] tests/asgi/test_scope.py::test_lifespan_scope_version[2.0-True] PASSED [ 7%] tests/asgi/test_scope.py::test_lifespan_scope_version[2.1-True] PASSED [ 7%] tests/asgi/test_scope.py::test_lifespan_scope_version[2.10-True] PASSED [ 7%] tests/asgi/test_scope.py::test_lifespan_scope_version[3.0-False] PASSED [ 7%] tests/asgi/test_scope.py::test_lifespan_scope_version[4.0-False] PASSED [ 7%] tests/asgi/test_scope.py::test_lifespan_scope_version[11.0-False] PASSED [ 7%] tests/asgi/test_scope.py::test_lifespan_scope_version[22.0-False] PASSED [ 7%] tests/asgi/test_scope.py::test_query_string_values PASSED [ 7%] tests/asgi/test_scope.py::test_scheme[http-True] PASSED [ 7%] tests/asgi/test_scope.py::test_scheme[https-True] PASSED [ 7%] tests/asgi/test_scope.py::test_scheme[htt-False] PASSED [ 8%] tests/asgi/test_scope.py::test_scheme[http:-False] PASSED [ 8%] tests/asgi/test_scope.py::test_scheme[https:-False] PASSED [ 8%] tests/asgi/test_scope.py::test_scheme[ftp-False] PASSED [ 8%] tests/asgi/test_scope.py::test_scheme[gopher-False] PASSED [ 8%] tests/asgi/test_scope.py::test_cookies[cookies0] PASSED [ 8%] tests/asgi/test_scope.py::test_cookies[cookies1] PASSED [ 8%] tests/asgi/test_scope.py::test_cookies_options_meathod PASSED [ 8%] tests/asgi/test_sse.py::test_no_events PASSED [ 8%] tests/asgi/test_sse.py::test_single_event PASSED [ 8%] tests/asgi/test_sse.py::test_multiple_events PASSED [ 8%] tests/asgi/test_sse.py::test_multiple_events_early_disconnect PASSED [ 8%] tests/asgi/test_sse.py::TestSerializeJson::test_use_media_handler_dumps PASSED [ 8%] tests/asgi/test_sse.py::TestSerializeJson::test_no_json_media_handler PASSED [ 8%] tests/asgi/test_sse.py::test_invalid_event_values PASSED [ 8%] tests/asgi/test_sse.py::test_non_iterable PASSED [ 8%] tests/asgi/test_sync.py::test_sync_helpers PASSED [ 8%] tests/asgi/test_sync.py::test_sync_asyncio_aliases PASSED [ 8%] tests/asgi/test_testing_asgi.py::test_asgi_request_event_emitter_hang PASSED [ 8%] tests/asgi/test_testing_asgi.py::test_ignore_extra_asgi_events PASSED [ 8%] tests/asgi/test_testing_asgi.py::test_invalid_asgi_events PASSED [ 8%] tests/asgi/test_testing_asgi.py::test_is_asgi_app_cls PASSED [ 8%] tests/asgi/test_testing_asgi.py::test_cookies_jar PASSED [ 8%] tests/asgi/test_testing_asgi.py::test_create_scope_default_ua PASSED [ 8%] tests/asgi/test_testing_asgi.py::test_create_scope_default_ua_override PASSED [ 8%] tests/asgi/test_testing_asgi.py::test_create_scope_default_ua_modify_global PASSED [ 8%] tests/asgi/test_testing_asgi.py::test_missing_header_is_none PASSED [ 8%] tests/asgi/test_testing_asgi.py::test_immediate_disconnect PASSED [ 8%] tests/asgi/test_ws.py::test_ws_not_accepted[/ws/yes] PASSED [ 8%] tests/asgi/test_ws.py::test_ws_not_accepted[/ws/no] PASSED [ 8%] tests/asgi/test_ws.py::test_echo PASSED [ 8%] tests/asgi/test_ws.py::test_path_not_found PASSED [ 8%] tests/asgi/test_ws.py::test_responder_raises_unhandled_error[True] PASSED [ 8%] tests/asgi/test_ws.py::test_responder_raises_unhandled_error[False] PASSED [ 8%] tests/asgi/test_ws.py::test_client_disconnect_early[True-True-send] PASSED [ 8%] tests/asgi/test_ws.py::test_client_disconnect_early[True-True-receive] PASSED [ 8%] tests/asgi/test_ws.py::test_client_disconnect_early[True-False-send] PASSED [ 8%] tests/asgi/test_ws.py::test_client_disconnect_early[True-False-receive] PASSED [ 8%] tests/asgi/test_ws.py::test_client_disconnect_early[False-True-send] PASSED [ 8%] tests/asgi/test_ws.py::test_client_disconnect_early[False-True-receive] PASSED [ 9%] tests/asgi/test_ws.py::test_client_disconnect_early[False-False-send] PASSED [ 9%] tests/asgi/test_ws.py::test_client_disconnect_early[False-False-receive] PASSED [ 9%] tests/asgi/test_ws.py::test_media[True-True] PASSED [ 9%] tests/asgi/test_ws.py::test_media[True-False] PASSED [ 9%] tests/asgi/test_ws.py::test_media[False-True] PASSED [ 9%] tests/asgi/test_ws.py::test_media[False-False] PASSED [ 9%] tests/asgi/test_ws.py::test_send_receive_data[123] PASSED [ 9%] tests/asgi/test_ws.py::test_send_receive_data[] PASSED [ 9%] tests/asgi/test_ws.py::test_send_receive_data[\xe1\x9a\xa0\xe1] PASSED [ 9%] tests/asgi/test_ws.py::test_send_receive_data[\x00] PASSED [ 9%] tests/asgi/test_ws.py::test_subprotocol[subprotocols0] PASSED [ 9%] tests/asgi/test_ws.py::test_subprotocol[subprotocols1] PASSED [ 9%] tests/asgi/test_ws.py::test_subprotocol[subprotocols2] PASSED [ 9%] tests/asgi/test_ws.py::test_subprotocol[None] PASSED [ 9%] tests/asgi/test_ws.py::test_accept_with_headers[None] PASSED [ 9%] tests/asgi/test_ws.py::test_accept_with_headers[headers1] PASSED [ 9%] tests/asgi/test_ws.py::test_accept_with_headers[headers2] PASSED [ 9%] tests/asgi/test_ws.py::test_accept_with_headers[headers3] PASSED [ 9%] tests/asgi/test_ws.py::test_accept_with_headers[headers4] PASSED [ 9%] tests/asgi/test_ws.py::test_accept_with_headers[headers5] PASSED [ 9%] tests/asgi/test_ws.py::test_accept_with_headers[headers6] PASSED [ 9%] tests/asgi/test_ws.py::test_accept_with_bad_headers[headers0] PASSED [ 9%] tests/asgi/test_ws.py::test_accept_with_bad_headers[headers1] PASSED [ 9%] tests/asgi/test_ws.py::test_accept_with_bad_headers[headers2] PASSED [ 9%] tests/asgi/test_ws.py::test_accept_with_headers_not_supported PASSED [ 9%] tests/asgi/test_ws.py::test_missing_ws_handler PASSED [ 9%] tests/asgi/test_ws.py::test_unexpected_param PASSED [ 9%] tests/asgi/test_ws.py::test_subprotocol_bad_type[DEADBEEF] PASSED [ 9%] tests/asgi/test_ws.py::test_subprotocol_bad_type[subprotocol1] PASSED [ 9%] tests/asgi/test_ws.py::test_subprotocol_bad_type[subprotocol2] PASSED [ 9%] tests/asgi/test_ws.py::test_subprotocol_bad_type[subprotocol3] PASSED [ 9%] tests/asgi/test_ws.py::test_subprotocol_bad_type[subprotocol4] PASSED [ 9%] tests/asgi/test_ws.py::test_subprotocol_bad_type[OK] PASSED [ 9%] tests/asgi/test_ws.py::test_send_receive_wrong_type PASSED [ 9%] tests/asgi/test_ws.py::test_client_disconnect_uncaught_error[999] PASSED [ 9%] tests/asgi/test_ws.py::test_client_disconnect_uncaught_error[100] PASSED [ 9%] tests/asgi/test_ws.py::test_client_disconnect_uncaught_error[0] PASSED [ 9%] tests/asgi/test_ws.py::test_client_disconnect_uncaught_error[-1] PASSED [ 9%] tests/asgi/test_ws.py::test_client_disconnect_uncaught_error[1004] PASSED [ 10%] tests/asgi/test_ws.py::test_client_disconnect_uncaught_error[1005] PASSED [ 10%] tests/asgi/test_ws.py::test_client_disconnect_uncaught_error[1006] PASSED [ 10%] tests/asgi/test_ws.py::test_client_disconnect_uncaught_error[1015] PASSED [ 10%] tests/asgi/test_ws.py::test_client_disconnect_uncaught_error[1016] PASSED [ 10%] tests/asgi/test_ws.py::test_client_disconnect_uncaught_error[1017] PASSED [ 10%] tests/asgi/test_ws.py::test_client_disconnect_uncaught_error[1050] PASSED [ 10%] tests/asgi/test_ws.py::test_client_disconnect_uncaught_error[1099] PASSED [ 10%] tests/asgi/test_ws.py::test_client_disconnect_uncaught_error[NaN] PASSED [ 10%] tests/asgi/test_ws.py::test_mw_methods_must_be_coroutines PASSED [ 10%] tests/asgi/test_ws.py::test_bad_spec_version[1.9] PASSED [ 10%] tests/asgi/test_ws.py::test_bad_spec_version[20.5] PASSED [ 10%] tests/asgi/test_ws.py::test_bad_spec_version[3.0] PASSED [ 10%] tests/asgi/test_ws.py::test_bad_spec_version[3.1] PASSED [ 10%] tests/asgi/test_ws.py::test_bad_http_version[1.0] PASSED [ 10%] tests/asgi/test_ws.py::test_bad_http_version[1] PASSED [ 10%] tests/asgi/test_ws.py::test_bad_first_event[2.1] PASSED [ 10%] tests/asgi/test_ws.py::test_bad_first_event[2.3] PASSED [ 10%] tests/asgi/test_ws.py::test_bad_first_event[2.10.3] PASSED [ 10%] tests/asgi/test_ws.py::test_missing_http_version PASSED [ 10%] tests/asgi/test_ws.py::test_missing_spec_version PASSED [ 10%] tests/asgi/test_ws.py::test_translate_webserver_error PASSED [ 10%] tests/asgi/test_ws.py::test_ws_base_not_implemented PASSED [ 10%] tests/asgi/test_ws.py::test_ws_context_timeout PASSED [ 10%] tests/asgi/test_ws.py::test_ws_simulator_client_require_accepted PASSED [ 10%] tests/asgi/test_ws.py::test_ws_simulator_collect_edge_cases PASSED [ 10%] tests/asgi/test_ws.py::test_ws_responder_never_ready PASSED [ 10%] tests/asgi/test_ws.py::test_msgpack_missing SKIPPED (test requires m...) [ 10%] tests/asgi/test_ws.py::test_client_close_with_reason[Client closing connection] PASSED [ 10%] tests/asgi/test_ws.py::test_client_close_with_reason[] PASSED [ 10%] tests/asgi/test_ws.py::test_client_close_with_reason[None] PASSED [ 10%] tests/asgi/test_ws.py::test_close_with_reason_no_cm[PEBCAK] PASSED [ 10%] tests/asgi/test_ws.py::test_close_with_reason_no_cm[wow such reason] PASSED [ 10%] tests/asgi/test_ws.py::test_close_with_reason_no_cm[] PASSED [ 10%] tests/asgi/test_ws.py::test_close_with_reason_no_cm[None] PASSED [ 10%] tests/asgi/test_ws.py::test_close_with_reason[2.2-PEBCAK] PASSED [ 10%] tests/asgi/test_ws.py::test_close_with_reason[2.2-wow such reason] PASSED [ 10%] tests/asgi/test_ws.py::test_close_with_reason[2.2-] PASSED [ 10%] tests/asgi/test_ws.py::test_close_with_reason[2.2-None] PASSED [ 10%] tests/asgi/test_ws.py::test_close_with_reason[2.3-PEBCAK] PASSED [ 11%] tests/asgi/test_ws.py::test_close_with_reason[2.3-wow such reason] PASSED [ 11%] tests/asgi/test_ws.py::test_close_with_reason[2.3-] PASSED [ 11%] tests/asgi/test_ws.py::test_close_with_reason[2.3-None] PASSED [ 11%] tests/asgi/test_ws.py::test_close_with_reason[2.4-PEBCAK] PASSED [ 11%] tests/asgi/test_ws.py::test_close_with_reason[2.4-wow such reason] PASSED [ 11%] tests/asgi/test_ws.py::test_close_with_reason[2.4-] PASSED [ 11%] tests/asgi/test_ws.py::test_close_with_reason[2.4-None] PASSED [ 11%] tests/asgi/test_ws.py::test_reason_mapping[None-Normal Closure-True] PASSED [ 11%] tests/asgi/test_ws.py::test_reason_mapping[None-Normal Closure-False] PASSED [ 11%] tests/asgi/test_ws.py::test_reason_mapping[1011-Internal Server Error-True] PASSED [ 11%] tests/asgi/test_ws.py::test_reason_mapping[1011-Internal Server Error-False] PASSED [ 11%] tests/asgi/test_ws.py::test_reason_mapping[3405-Method Not Allowed-True] PASSED [ 11%] tests/asgi/test_ws.py::test_reason_mapping[3405-Method Not Allowed-False] PASSED [ 11%] tests/asgi/test_ws.py::test_reason_mapping[3701--True] PASSED [ 11%] tests/asgi/test_ws.py::test_reason_mapping[3701--False] PASSED [ 11%] tests/asgi/test_ws.py::test_reason_mapping[3702-Emacs-True] PASSED [ 11%] tests/asgi/test_ws.py::test_reason_mapping[3702-Emacs-False] PASSED [ 11%] tests/asgi/test_ws.py::test_reason_mapping[4042--True] PASSED [ 11%] tests/asgi/test_ws.py::test_reason_mapping[4042--False] PASSED [ 11%] tests/asgi/test_ws.py::test_reason_mapping[4099-wow such reason-True] PASSED [ 11%] tests/asgi/test_ws.py::test_reason_mapping[4099-wow such reason-False] PASSED [ 11%] tests/asgi/test_ws.py::test_ws_http_error_or_status_response[True-HTTPStatus-200] PASSED [ 11%] tests/asgi/test_ws.py::test_ws_http_error_or_status_response[True-HTTPStatus-500] PASSED [ 11%] tests/asgi/test_ws.py::test_ws_http_error_or_status_response[True-HTTPStatus-422] PASSED [ 11%] tests/asgi/test_ws.py::test_ws_http_error_or_status_response[True-HTTPStatus-400] PASSED [ 11%] tests/asgi/test_ws.py::test_ws_http_error_or_status_response[True-HTTPError-200] PASSED [ 11%] tests/asgi/test_ws.py::test_ws_http_error_or_status_response[True-HTTPError-500] PASSED [ 11%] tests/asgi/test_ws.py::test_ws_http_error_or_status_response[True-HTTPError-422] PASSED [ 11%] tests/asgi/test_ws.py::test_ws_http_error_or_status_response[True-HTTPError-400] PASSED [ 11%] tests/asgi/test_ws.py::test_ws_http_error_or_status_response[False-HTTPStatus-200] PASSED [ 11%] tests/asgi/test_ws.py::test_ws_http_error_or_status_response[False-HTTPStatus-500] PASSED [ 11%] tests/asgi/test_ws.py::test_ws_http_error_or_status_response[False-HTTPStatus-422] PASSED [ 11%] tests/asgi/test_ws.py::test_ws_http_error_or_status_response[False-HTTPStatus-400] PASSED [ 11%] tests/asgi/test_ws.py::test_ws_http_error_or_status_response[False-HTTPError-200] PASSED [ 11%] tests/asgi/test_ws.py::test_ws_http_error_or_status_response[False-HTTPError-500] PASSED [ 11%] tests/asgi/test_ws.py::test_ws_http_error_or_status_response[False-HTTPError-422] PASSED [ 11%] tests/asgi/test_ws.py::test_ws_http_error_or_status_response[False-HTTPError-400] PASSED [ 11%] tests/asgi/test_ws.py::test_ws_http_error_or_status_middleware[request-HTTPStatus-200] PASSED [ 11%] tests/asgi/test_ws.py::test_ws_http_error_or_status_middleware[request-HTTPStatus-500] PASSED [ 12%] tests/asgi/test_ws.py::test_ws_http_error_or_status_middleware[request-HTTPStatus-422] PASSED [ 12%] tests/asgi/test_ws.py::test_ws_http_error_or_status_middleware[request-HTTPStatus-400] PASSED [ 12%] tests/asgi/test_ws.py::test_ws_http_error_or_status_middleware[request-HTTPError-200] PASSED [ 12%] tests/asgi/test_ws.py::test_ws_http_error_or_status_middleware[request-HTTPError-500] PASSED [ 12%] tests/asgi/test_ws.py::test_ws_http_error_or_status_middleware[request-HTTPError-422] PASSED [ 12%] tests/asgi/test_ws.py::test_ws_http_error_or_status_middleware[request-HTTPError-400] PASSED [ 12%] tests/asgi/test_ws.py::test_ws_http_error_or_status_middleware[resource-HTTPStatus-200] PASSED [ 12%] tests/asgi/test_ws.py::test_ws_http_error_or_status_middleware[resource-HTTPStatus-500] PASSED [ 12%] tests/asgi/test_ws.py::test_ws_http_error_or_status_middleware[resource-HTTPStatus-422] PASSED [ 12%] tests/asgi/test_ws.py::test_ws_http_error_or_status_middleware[resource-HTTPStatus-400] PASSED [ 12%] tests/asgi/test_ws.py::test_ws_http_error_or_status_middleware[resource-HTTPError-200] PASSED [ 12%] tests/asgi/test_ws.py::test_ws_http_error_or_status_middleware[resource-HTTPError-500] PASSED [ 12%] tests/asgi/test_ws.py::test_ws_http_error_or_status_middleware[resource-HTTPError-422] PASSED [ 12%] tests/asgi/test_ws.py::test_ws_http_error_or_status_middleware[resource-HTTPError-400] PASSED [ 12%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-request-HTTPStatus-200] PASSED [ 12%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-request-HTTPStatus-500] PASSED [ 12%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-request-HTTPStatus-422] PASSED [ 12%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-request-HTTPStatus-400] PASSED [ 12%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-request-HTTPError-200] PASSED [ 12%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-request-HTTPError-500] PASSED [ 12%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-request-HTTPError-422] PASSED [ 12%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-request-HTTPError-400] PASSED [ 12%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-resource-HTTPStatus-200] PASSED [ 12%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-resource-HTTPStatus-500] PASSED [ 12%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-resource-HTTPStatus-422] PASSED [ 12%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-resource-HTTPStatus-400] PASSED [ 12%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-resource-HTTPError-200] PASSED [ 12%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-resource-HTTPError-500] PASSED [ 12%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-resource-HTTPError-422] PASSED [ 12%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-resource-HTTPError-400] PASSED [ 12%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-ws_before_accept-HTTPStatus-200] PASSED [ 12%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-ws_before_accept-HTTPStatus-500] PASSED [ 12%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-ws_before_accept-HTTPStatus-422] PASSED [ 12%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-ws_before_accept-HTTPStatus-400] PASSED [ 12%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-ws_before_accept-HTTPError-200] PASSED [ 12%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-ws_before_accept-HTTPError-500] PASSED [ 12%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-ws_before_accept-HTTPError-422] PASSED [ 12%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-ws_before_accept-HTTPError-400] PASSED [ 12%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-ws_after_accept-HTTPStatus-200] PASSED [ 13%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-ws_after_accept-HTTPStatus-500] PASSED [ 13%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-ws_after_accept-HTTPStatus-422] PASSED [ 13%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-ws_after_accept-HTTPStatus-400] PASSED [ 13%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-ws_after_accept-HTTPError-200] PASSED [ 13%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-ws_after_accept-HTTPError-500] PASSED [ 13%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-ws_after_accept-HTTPError-422] PASSED [ 13%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-ws_after_accept-HTTPError-400] PASSED [ 13%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-request-HTTPStatus-200] PASSED [ 13%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-request-HTTPStatus-500] PASSED [ 13%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-request-HTTPStatus-422] PASSED [ 13%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-request-HTTPStatus-400] PASSED [ 13%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-request-HTTPError-200] PASSED [ 13%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-request-HTTPError-500] PASSED [ 13%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-request-HTTPError-422] PASSED [ 13%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-request-HTTPError-400] PASSED [ 13%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-resource-HTTPStatus-200] PASSED [ 13%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-resource-HTTPStatus-500] PASSED [ 13%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-resource-HTTPStatus-422] PASSED [ 13%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-resource-HTTPStatus-400] PASSED [ 13%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-resource-HTTPError-200] PASSED [ 13%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-resource-HTTPError-500] PASSED [ 13%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-resource-HTTPError-422] PASSED [ 13%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-resource-HTTPError-400] PASSED [ 13%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-ws_before_accept-HTTPStatus-200] PASSED [ 13%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-ws_before_accept-HTTPStatus-500] PASSED [ 13%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-ws_before_accept-HTTPStatus-422] PASSED [ 13%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-ws_before_accept-HTTPStatus-400] PASSED [ 13%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-ws_before_accept-HTTPError-200] PASSED [ 13%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-ws_before_accept-HTTPError-500] PASSED [ 13%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-ws_before_accept-HTTPError-422] PASSED [ 13%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-ws_before_accept-HTTPError-400] PASSED [ 13%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-ws_after_accept-HTTPStatus-200] PASSED [ 13%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-ws_after_accept-HTTPStatus-500] PASSED [ 13%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-ws_after_accept-HTTPStatus-422] PASSED [ 13%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-ws_after_accept-HTTPStatus-400] PASSED [ 13%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-ws_after_accept-HTTPError-200] PASSED [ 13%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-ws_after_accept-HTTPError-500] PASSED [ 13%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-ws_after_accept-HTTPError-422] PASSED [ 13%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-ws_after_accept-HTTPError-400] PASSED [ 13%] tests/asgi/test_ws.py::test_max_receive_queue_sizes[0] PASSED [ 14%] tests/asgi/test_ws.py::test_max_receive_queue_sizes[1] PASSED [ 14%] tests/asgi/test_ws.py::test_max_receive_queue_sizes[4] PASSED [ 14%] tests/asgi/test_ws.py::test_max_receive_queue_sizes[7] PASSED [ 14%] tests/asgi/test_ws.py::test_max_receive_queue_sizes[17] PASSED [ 14%] tests/test_after_hooks.py::test_output_validator[asgi] PASSED [ 14%] tests/test_after_hooks.py::test_output_validator[wsgi] PASSED [ 14%] tests/test_after_hooks.py::test_serializer[asgi] PASSED [ 14%] tests/test_after_hooks.py::test_serializer[wsgi] PASSED [ 14%] tests/test_after_hooks.py::test_hook_as_callable_class[asgi] PASSED [ 14%] tests/test_after_hooks.py::test_hook_as_callable_class[wsgi] PASSED [ 14%] tests/test_after_hooks.py::test_resource_with_uri_fields[asgi-resource0] PASSED [ 14%] tests/test_after_hooks.py::test_resource_with_uri_fields[asgi-resource1] PASSED [ 14%] tests/test_after_hooks.py::test_resource_with_uri_fields[wsgi-resource0] PASSED [ 14%] tests/test_after_hooks.py::test_resource_with_uri_fields[wsgi-resource1] PASSED [ 14%] tests/test_after_hooks.py::test_resource_with_uri_fields_async PASSED [ 14%] tests/test_after_hooks.py::test_wrapped_resource[asgi-resource0] PASSED [ 14%] tests/test_after_hooks.py::test_wrapped_resource[asgi-resource1] PASSED [ 14%] tests/test_after_hooks.py::test_wrapped_resource[wsgi-resource0] PASSED [ 14%] tests/test_after_hooks.py::test_wrapped_resource[wsgi-resource1] PASSED [ 14%] tests/test_after_hooks.py::test_wrapped_resource_with_hooks_aware_of_resource[asgi] PASSED [ 14%] tests/test_after_hooks.py::test_wrapped_resource_with_hooks_aware_of_resource[wsgi] PASSED [ 14%] tests/test_after_hooks.py::test_after_hooks_on_suffixed_resource[paper-/once-paper, rock, scissors] PASSED [ 14%] tests/test_after_hooks.py::test_after_hooks_on_suffixed_resource[scissors-/twice-scissors, paper, rock, scissors] PASSED [ 14%] tests/test_after_hooks.py::test_after_hooks_on_suffixed_resource[rock-/thrice-rock, scissors, paper, rock, scissors] PASSED [ 14%] tests/test_after_hooks.py::test_after_hooks_on_suffixed_resource[paper-/thrice-paper, rock, scissors, paper, rock] PASSED [ 14%] tests/test_alias.py::test_cookies PASSED [ 14%] tests/test_alias.py::test_alias_equals_to_app PASSED [ 14%] tests/test_app_initializers.py::test_api_media_type_overriding[App] PASSED [ 14%] tests/test_app_initializers.py::test_api_media_type_overriding[API] PASSED [ 14%] tests/test_before_hooks.py::test_multiple_resource_hooks[asgi-resource0] PASSED [ 14%] tests/test_before_hooks.py::test_multiple_resource_hooks[asgi-resource1] PASSED [ 14%] tests/test_before_hooks.py::test_multiple_resource_hooks[wsgi-resource0] PASSED [ 14%] tests/test_before_hooks.py::test_multiple_resource_hooks[wsgi-resource1] PASSED [ 14%] tests/test_before_hooks.py::test_input_validator[asgi] PASSED [ 14%] tests/test_before_hooks.py::test_input_validator[wsgi] PASSED [ 14%] tests/test_before_hooks.py::test_input_validator_inherited[asgi] PASSED [ 14%] tests/test_before_hooks.py::test_input_validator_inherited[wsgi] PASSED [ 14%] tests/test_before_hooks.py::test_param_validator[asgi] PASSED [ 14%] tests/test_before_hooks.py::test_param_validator[wsgi] PASSED [ 15%] tests/test_before_hooks.py::test_field_validator[asgi-resource0] PASSED [ 15%] tests/test_before_hooks.py::test_field_validator[asgi-resource1] PASSED [ 15%] tests/test_before_hooks.py::test_field_validator[asgi-resource2] PASSED [ 15%] tests/test_before_hooks.py::test_field_validator[wsgi-resource0] PASSED [ 15%] tests/test_before_hooks.py::test_field_validator[wsgi-resource1] PASSED [ 15%] tests/test_before_hooks.py::test_field_validator[wsgi-resource2] PASSED [ 15%] tests/test_before_hooks.py::test_parser_sync[{"animal": "falcon"}-doc0] PASSED [ 15%] tests/test_before_hooks.py::test_parser_sync[{}-doc1] PASSED [ 15%] tests/test_before_hooks.py::test_parser_sync[-None] PASSED [ 15%] tests/test_before_hooks.py::test_parser_sync[None-None] PASSED [ 15%] tests/test_before_hooks.py::test_parser_async[{"animal": "falcon"}-doc0] PASSED [ 15%] tests/test_before_hooks.py::test_parser_async[{}-doc1] PASSED [ 15%] tests/test_before_hooks.py::test_parser_async[-None] PASSED [ 15%] tests/test_before_hooks.py::test_parser_async[None-None] PASSED [ 15%] tests/test_before_hooks.py::test_wrapped_resource[asgi] PASSED [ 15%] tests/test_before_hooks.py::test_wrapped_resource[wsgi] PASSED [ 15%] tests/test_before_hooks.py::test_wrapped_resource_with_hooks_aware_of_resource[asgi] PASSED [ 15%] tests/test_before_hooks.py::test_wrapped_resource_with_hooks_aware_of_resource[wsgi] PASSED [ 15%] tests/test_before_hooks.py::test_piggybacking_resource_post_item[asgi] PASSED [ 15%] tests/test_before_hooks.py::test_piggybacking_resource_post_item[wsgi] PASSED [ 15%] tests/test_before_hooks.py::test_piggybacking_resource_post_and_delete[asgi] PASSED [ 15%] tests/test_before_hooks.py::test_piggybacking_resource_post_and_delete[wsgi] PASSED [ 15%] tests/test_before_hooks.py::test_decorable_name_pattern PASSED [ 15%] tests/test_boundedstream.py::test_not_writable PASSED [ 15%] tests/test_boundedstream.py::test_exhausted PASSED [ 15%] tests/test_buffered_reader.py::test_peek PASSED [ 15%] tests/test_buffered_reader.py::test_peek_eof PASSED [ 15%] tests/test_buffered_reader.py::test_bounded_read PASSED [ 15%] tests/test_buffered_reader.py::test_read_from_buffer[0] PASSED [ 15%] tests/test_buffered_reader.py::test_read_from_buffer[1] PASSED [ 15%] tests/test_buffered_reader.py::test_read_from_buffer[2] PASSED [ 15%] tests/test_buffered_reader.py::test_read_from_buffer[7] PASSED [ 15%] tests/test_buffered_reader.py::test_read_from_buffer[62] PASSED [ 15%] tests/test_buffered_reader.py::test_read_from_buffer[63] PASSED [ 15%] tests/test_buffered_reader.py::test_read_from_buffer[64] PASSED [ 15%] tests/test_buffered_reader.py::test_read_from_buffer[65] PASSED [ 15%] tests/test_buffered_reader.py::test_read_from_buffer[126] PASSED [ 15%] tests/test_buffered_reader.py::test_read_from_buffer[127] PASSED [ 15%] tests/test_buffered_reader.py::test_read_from_buffer[128] PASSED [ 16%] tests/test_buffered_reader.py::test_read_from_buffer[129] PASSED [ 16%] tests/test_buffered_reader.py::test_read_from_buffer[1000] PASSED [ 16%] tests/test_buffered_reader.py::test_read_from_buffer[10000] PASSED [ 16%] tests/test_buffered_reader.py::test_read_until_delimiter_size_check PASSED [ 16%] tests/test_buffered_reader.py::test_read_until_with_size[0] PASSED [ 16%] tests/test_buffered_reader.py::test_read_until_with_size[1] PASSED [ 16%] tests/test_buffered_reader.py::test_read_until_with_size[2] PASSED [ 16%] tests/test_buffered_reader.py::test_read_until_with_size[7] PASSED [ 16%] tests/test_buffered_reader.py::test_read_until_with_size[62] PASSED [ 16%] tests/test_buffered_reader.py::test_read_until_with_size[63] PASSED [ 16%] tests/test_buffered_reader.py::test_read_until_with_size[64] PASSED [ 16%] tests/test_buffered_reader.py::test_read_until_with_size[65] PASSED [ 16%] tests/test_buffered_reader.py::test_read_until_with_size[126] PASSED [ 16%] tests/test_buffered_reader.py::test_read_until_with_size[127] PASSED [ 16%] tests/test_buffered_reader.py::test_read_until_with_size[128] PASSED [ 16%] tests/test_buffered_reader.py::test_read_until_with_size[129] PASSED [ 16%] tests/test_buffered_reader.py::test_read_until_with_size[1000] PASSED [ 16%] tests/test_buffered_reader.py::test_read_until_with_size[10000] PASSED [ 16%] tests/test_buffered_reader.py::test_read_until PASSED [ 16%] tests/test_buffered_reader.py::test_irregular_large_read_until[11003077-22000721] PASSED [ 16%] tests/test_buffered_reader.py::test_irregular_large_read_until[13372477-51637898] PASSED [ 16%] tests/test_buffered_reader.py::test_read_until_from_buffer[0] PASSED [ 16%] tests/test_buffered_reader.py::test_read_until_from_buffer[1] PASSED [ 16%] tests/test_buffered_reader.py::test_read_until_from_buffer[2] PASSED [ 16%] tests/test_buffered_reader.py::test_read_until_from_buffer[7] PASSED [ 16%] tests/test_buffered_reader.py::test_read_until_from_buffer[62] PASSED [ 16%] tests/test_buffered_reader.py::test_read_until_from_buffer[63] PASSED [ 16%] tests/test_buffered_reader.py::test_read_until_from_buffer[64] PASSED [ 16%] tests/test_buffered_reader.py::test_read_until_from_buffer[65] PASSED [ 16%] tests/test_buffered_reader.py::test_read_until_from_buffer[126] PASSED [ 16%] tests/test_buffered_reader.py::test_read_until_from_buffer[127] PASSED [ 16%] tests/test_buffered_reader.py::test_read_until_from_buffer[128] PASSED [ 16%] tests/test_buffered_reader.py::test_read_until_from_buffer[129] PASSED [ 16%] tests/test_buffered_reader.py::test_read_until_from_buffer[1000] PASSED [ 16%] tests/test_buffered_reader.py::test_read_until_missing_delimiter PASSED [ 16%] tests/test_buffered_reader.py::test_consume_delimiter PASSED [ 16%] tests/test_buffered_reader.py::test_read_until_shared_boundary[46] PASSED [ 16%] tests/test_buffered_reader.py::test_read_until_shared_boundary[47] PASSED [ 16%] tests/test_buffered_reader.py::test_read_until_shared_boundary[48] PASSED [ 17%] tests/test_buffered_reader.py::test_read_until_shared_boundary[49] PASSED [ 17%] tests/test_buffered_reader.py::test_read_until_shared_boundary[50] PASSED [ 17%] tests/test_buffered_reader.py::test_read_until_shared_boundary[51] PASSED [ 17%] tests/test_buffered_reader.py::test_read_until_shared_boundary[52] PASSED [ 17%] tests/test_buffered_reader.py::test_read_until_shared_boundary[53] PASSED [ 17%] tests/test_buffered_reader.py::test_read_until_shared_boundary[54] PASSED [ 17%] tests/test_buffered_reader.py::test_read_until_shared_boundary[55] PASSED [ 17%] tests/test_buffered_reader.py::test_read_until_shared_boundary[56] PASSED [ 17%] tests/test_buffered_reader.py::test_read_until_shared_boundary[57] PASSED [ 17%] tests/test_buffered_reader.py::test_read_until_shared_boundary[58] PASSED [ 17%] tests/test_buffered_reader.py::test_read_until_shared_boundary[59] PASSED [ 17%] tests/test_buffered_reader.py::test_read_until_shared_boundary[60] PASSED [ 17%] tests/test_buffered_reader.py::test_read_until_shared_boundary[61] PASSED [ 17%] tests/test_buffered_reader.py::test_read_until_shared_boundary[62] PASSED [ 17%] tests/test_buffered_reader.py::test_pipe PASSED [ 17%] tests/test_buffered_reader.py::test_pipe_until PASSED [ 17%] tests/test_buffered_reader.py::test_pipe_until_without_destination PASSED [ 17%] tests/test_buffered_reader.py::test_exhaust PASSED [ 17%] tests/test_buffered_reader.py::test_readline PASSED [ 17%] tests/test_buffered_reader.py::test_readline_with_size PASSED [ 17%] tests/test_buffered_reader.py::test_readlines PASSED [ 17%] tests/test_buffered_reader.py::test_readlines_hint[8] PASSED [ 17%] tests/test_buffered_reader.py::test_readlines_hint[16] PASSED [ 17%] tests/test_buffered_reader.py::test_readlines_hint[256] PASSED [ 17%] tests/test_buffered_reader.py::test_readlines_hint[1024] PASSED [ 17%] tests/test_buffered_reader.py::test_readlines_hint[65536] PASSED [ 17%] tests/test_buffered_reader.py::test_duck_compatibility_with_io_base PASSED [ 17%] tests/test_buffered_reader.py::test_fragmented_reads PASSED [ 17%] tests/test_cmd_inspect_app.py::TestMakeParser::test_make_parser[args0-exp0] PASSED [ 17%] tests/test_cmd_inspect_app.py::TestMakeParser::test_make_parser[args1-exp1] PASSED [ 17%] tests/test_cmd_inspect_app.py::TestMakeParser::test_make_parser[args2-exp2] PASSED [ 17%] tests/test_cmd_inspect_app.py::TestMakeParser::test_make_parser[args3-exp3] PASSED [ 17%] tests/test_cmd_inspect_app.py::TestMakeParser::test_make_parser[args4-exp4] PASSED [ 17%] tests/test_cmd_inspect_app.py::TestMakeParser::test_make_parser[args5-exp5] PASSED [ 17%] tests/test_cmd_inspect_app.py::TestMakeParser::test_make_parser[args6-exp6] PASSED [ 17%] tests/test_cmd_inspect_app.py::TestMakeParser::test_make_parser[args7-exp7] PASSED [ 17%] tests/test_cmd_inspect_app.py::TestMakeParser::test_make_parser_error PASSED [ 17%] tests/test_cmd_inspect_app.py::TestLoadApp::test_load_app[_APP] PASSED [ 17%] tests/test_cmd_inspect_app.py::TestLoadApp::test_load_app[make_app] PASSED [ 18%] tests/test_cmd_inspect_app.py::TestLoadApp::test_load_app_error[foo] PASSED [ 18%] tests/test_cmd_inspect_app.py::TestLoadApp::test_load_app_error[_MODULE] PASSED [ 18%] tests/test_cmd_inspect_app.py::TestLoadApp::test_load_app_error[DummyResource] PASSED [ 18%] tests/test_cmd_inspect_app.py::TestLoadApp::test_load_app_module_error PASSED [ 18%] tests/test_cmd_inspect_app.py::TestMain::test_routes_only[internal-verbose] PASSED [ 18%] tests/test_cmd_inspect_app.py::TestMain::test_routes_only[internal-not-verbose] PASSED [ 18%] tests/test_cmd_inspect_app.py::TestMain::test_routes_only[not-internal-verbose] PASSED [ 18%] tests/test_cmd_inspect_app.py::TestMain::test_routes_only[not-internal-not-verbose] PASSED [ 18%] tests/test_cmd_inspect_app.py::TestMain::test_inspect[internal-verbose] PASSED [ 18%] tests/test_cmd_inspect_app.py::TestMain::test_inspect[internal-not-verbose] PASSED [ 18%] tests/test_cmd_inspect_app.py::TestMain::test_inspect[not-internal-verbose] PASSED [ 18%] tests/test_cmd_inspect_app.py::TestMain::test_inspect[not-internal-not-verbose] PASSED [ 18%] tests/test_cmd_inspect_app.py::test_route_main PASSED [ 18%] tests/test_compiled_router.py::test_find_src PASSED [ 18%] tests/test_compiled_router.py::test_no_compile_kw[kwargs0] PASSED [ 18%] tests/test_compiled_router.py::test_no_compile_kw[kwargs1] PASSED [ 18%] tests/test_compiled_router.py::test_no_compile_kw[kwargs2] PASSED [ 18%] tests/test_compiled_router.py::test_no_compile_kw[kwargs3] PASSED [ 18%] tests/test_compiled_router.py::test_compile PASSED [ 18%] tests/test_compiled_router.py::test_add_route_after_first_request PASSED [ 18%] tests/test_compiled_router.py::test_multithread_compile PASSED [ 18%] tests/test_compiled_router.py::test_cannot_replace_compiled PASSED [ 18%] tests/test_compiled_router.py::test_converter_not_subclass PASSED [ 18%] tests/test_compiled_router.py::test_base_classes PASSED [ 18%] tests/test_cookies.py::test_response_base_case[asgi] PASSED [ 18%] tests/test_cookies.py::test_response_base_case[wsgi] PASSED [ 18%] tests/test_cookies.py::test_response_disable_secure_globally[asgi] PASSED [ 18%] tests/test_cookies.py::test_response_disable_secure_globally[wsgi] PASSED [ 18%] tests/test_cookies.py::test_response_complex_case[asgi] PASSED [ 18%] tests/test_cookies.py::test_response_complex_case[wsgi] PASSED [ 18%] tests/test_cookies.py::test_unset_cookies[asgi] PASSED [ 18%] tests/test_cookies.py::test_unset_cookies[wsgi] PASSED [ 18%] tests/test_cookies.py::test_unset_cookies_samesite[asgi] PASSED [ 18%] tests/test_cookies.py::test_unset_cookies_samesite[wsgi] PASSED [ 18%] tests/test_cookies.py::test_cookie_expires_naive[asgi] PASSED [ 18%] tests/test_cookies.py::test_cookie_expires_naive[wsgi] PASSED [ 18%] tests/test_cookies.py::test_cookie_expires_aware[asgi] PASSED [ 18%] tests/test_cookies.py::test_cookie_expires_aware[wsgi] PASSED [ 18%] tests/test_cookies.py::test_cookies_setable PASSED [ 19%] tests/test_cookies.py::test_cookie_max_age_float_and_string[asgi-foofloat] PASSED [ 19%] tests/test_cookies.py::test_cookie_max_age_float_and_string[asgi-foostring] PASSED [ 19%] tests/test_cookies.py::test_cookie_max_age_float_and_string[wsgi-foofloat] PASSED [ 19%] tests/test_cookies.py::test_cookie_max_age_float_and_string[wsgi-foostring] PASSED [ 19%] tests/test_cookies.py::test_response_unset_cookie PASSED [ 19%] tests/test_cookies.py::test_request_cookie_parsing PASSED [ 19%] tests/test_cookies.py::test_invalid_cookies_are_ignored PASSED [ 19%] tests/test_cookies.py::test_duplicate_cookie PASSED [ 19%] tests/test_cookies.py::test_cookie_header_is_missing PASSED [ 19%] tests/test_cookies.py::test_unicode_inside_ascii_range PASSED [ 19%] tests/test_cookies.py::test_non_ascii_name[Unicode_\xc3\xa6\xc3\xb8] PASSED [ 19%] tests/test_cookies.py::test_non_ascii_name[Unicode_\xc3\x83\xc2\xa6\xc3\x83\xc2\xb8] PASSED [ 19%] tests/test_cookies.py::test_non_ascii_name[42] PASSED [ 19%] tests/test_cookies.py::test_non_ascii_value[Unicode_\xc3\xa6\xc3\xb8] PASSED [ 19%] tests/test_cookies.py::test_non_ascii_value[Unicode_\xc3\x83\xc2\xa6\xc3\x83\xc2\xb8] PASSED [ 19%] tests/test_cookies.py::test_non_ascii_value[42] PASSED [ 19%] tests/test_cookies.py::test_lax_same_site_value[asgi] PASSED [ 19%] tests/test_cookies.py::test_lax_same_site_value[wsgi] PASSED [ 19%] tests/test_cookies.py::test_strict_same_site_value[asgi] PASSED [ 19%] tests/test_cookies.py::test_strict_same_site_value[wsgi] PASSED [ 19%] tests/test_cookies.py::test_none_same_site_value[asgi] PASSED [ 19%] tests/test_cookies.py::test_none_same_site_value[wsgi] PASSED [ 19%] tests/test_cookies.py::test_same_site_empty_string[asgi] PASSED [ 19%] tests/test_cookies.py::test_same_site_empty_string[wsgi] PASSED [ 19%] tests/test_cookies.py::test_same_site_value_case_insensitive[laX] PASSED [ 19%] tests/test_cookies.py::test_same_site_value_case_insensitive[lax] PASSED [ 19%] tests/test_cookies.py::test_same_site_value_case_insensitive[STRICT] PASSED [ 19%] tests/test_cookies.py::test_same_site_value_case_insensitive[strict] PASSED [ 19%] tests/test_cookies.py::test_same_site_value_case_insensitive[None] PASSED [ 19%] tests/test_cookies.py::test_same_site_value_case_insensitive[none] PASSED [ 19%] tests/test_cookies.py::test_invalid_same_site_value[bogus] PASSED [ 19%] tests/test_cookies.py::test_invalid_same_site_value[laxx] PASSED [ 19%] tests/test_cookies.py::test_invalid_same_site_value[stric] PASSED [ 19%] tests/test_cookies.py::test_partitioned_value[asgi] PASSED [ 19%] tests/test_cookies.py::test_partitioned_value[wsgi] PASSED [ 19%] tests/test_cors_middleware.py::TestCorsMiddleware::test_disabled_cors_should_not_add_any_extra_headers[asgi] PASSED [ 19%] tests/test_cors_middleware.py::TestCorsMiddleware::test_disabled_cors_should_not_add_any_extra_headers[wsgi] PASSED [ 19%] tests/test_cors_middleware.py::TestCorsMiddleware::test_enabled_cors_no_origin[asgi] PASSED [ 19%] tests/test_cors_middleware.py::TestCorsMiddleware::test_enabled_cors_no_origin[wsgi] PASSED [ 20%] tests/test_cors_middleware.py::TestCorsMiddleware::test_enabled_cors_should_add_extra_headers_on_response[asgi] PASSED [ 20%] tests/test_cors_middleware.py::TestCorsMiddleware::test_enabled_cors_should_add_extra_headers_on_response[wsgi] PASSED [ 20%] tests/test_cors_middleware.py::TestCorsMiddleware::test_enabled_cors_should_accept_all_origins_requests[asgi] PASSED [ 20%] tests/test_cors_middleware.py::TestCorsMiddleware::test_enabled_cors_should_accept_all_origins_requests[wsgi] PASSED [ 20%] tests/test_cors_middleware.py::TestCorsMiddleware::test_enabled_cors_handles_preflighting[asgi] PASSED [ 20%] tests/test_cors_middleware.py::TestCorsMiddleware::test_enabled_cors_handles_preflighting[wsgi] PASSED [ 20%] tests/test_cors_middleware.py::TestCorsMiddleware::test_enabled_cors_handles_preflight_custom_option[asgi] PASSED [ 20%] tests/test_cors_middleware.py::TestCorsMiddleware::test_enabled_cors_handles_preflight_custom_option[wsgi] PASSED [ 20%] tests/test_cors_middleware.py::TestCorsMiddleware::test_enabled_cors_handles_preflighting_no_headers_in_req[asgi] PASSED [ 20%] tests/test_cors_middleware.py::TestCorsMiddleware::test_enabled_cors_handles_preflighting_no_headers_in_req[wsgi] PASSED [ 20%] tests/test_cors_middleware.py::TestCorsMiddleware::test_enabled_cors_static_route[asgi] PASSED [ 20%] tests/test_cors_middleware.py::TestCorsMiddleware::test_enabled_cors_static_route[wsgi] PASSED [ 20%] tests/test_cors_middleware.py::TestCorsMiddleware::test_enabled_cors_sink_route[asgi-True] PASSED [ 20%] tests/test_cors_middleware.py::TestCorsMiddleware::test_enabled_cors_sink_route[asgi-False] PASSED [ 20%] tests/test_cors_middleware.py::TestCorsMiddleware::test_enabled_cors_sink_route[wsgi-True] PASSED [ 20%] tests/test_cors_middleware.py::TestCorsMiddleware::test_enabled_cors_sink_route[wsgi-False] PASSED [ 20%] tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_raises PASSED [ 20%] tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_allow_origin[asgi-*-fail_origins0-success_origins0] PASSED [ 20%] tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_allow_origin[asgi-test-fail_origins1-success_origins1] PASSED [ 20%] tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_allow_origin[asgi-allow2-fail_origins2-success_origins2] PASSED [ 20%] tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_allow_origin[wsgi-*-fail_origins0-success_origins0] PASSED [ 20%] tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_allow_origin[wsgi-test-fail_origins1-success_origins1] PASSED [ 20%] tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_allow_origin[wsgi-allow2-fail_origins2-success_origins2] PASSED [ 20%] tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_allow_credential_wildcard[asgi] PASSED [ 20%] tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_allow_credential_wildcard[wsgi] PASSED [ 20%] tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_allow_credential_list_or_str[asgi-allow0-successOrigin0] PASSED [ 20%] tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_allow_credential_list_or_str[asgi-foo-successOrigin1] PASSED [ 20%] tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_allow_credential_list_or_str[wsgi-allow0-successOrigin0] PASSED [ 20%] tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_allow_credential_list_or_str[wsgi-foo-successOrigin1] PASSED [ 20%] tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_allow_credential_existing_origin[asgi] PASSED [ 20%] tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_allow_credential_existing_origin[wsgi] PASSED [ 20%] tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_allow_origin_allow_credential[asgi] PASSED [ 20%] tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_allow_origin_allow_credential[wsgi] PASSED [ 20%] tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_expose_headers[asgi-foo-foo] PASSED [ 20%] tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_expose_headers[asgi-foo, bar-foo, bar] PASSED [ 20%] tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_expose_headers[asgi-attr2-foo, bar] PASSED [ 20%] tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_expose_headers[wsgi-foo-foo] PASSED [ 20%] tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_expose_headers[wsgi-foo, bar-foo, bar] PASSED [ 20%] tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_expose_headers[wsgi-attr2-foo, bar] PASSED [ 20%] tests/test_custom_router.py::test_custom_router_add_route_should_be_used[asgi] PASSED [ 21%] tests/test_custom_router.py::test_custom_router_add_route_should_be_used[wsgi] PASSED [ 21%] tests/test_custom_router.py::test_custom_router_find_should_be_used[asgi] PASSED [ 21%] tests/test_custom_router.py::test_custom_router_find_should_be_used[wsgi] PASSED [ 21%] tests/test_custom_router.py::test_can_pass_additional_params_to_add_route[asgi] PASSED [ 21%] tests/test_custom_router.py::test_can_pass_additional_params_to_add_route[wsgi] PASSED [ 21%] tests/test_custom_router.py::test_custom_router_takes_req_positional_argument[asgi] PASSED [ 21%] tests/test_custom_router.py::test_custom_router_takes_req_positional_argument[wsgi] PASSED [ 21%] tests/test_custom_router.py::test_custom_router_takes_req_keyword_argument[asgi] PASSED [ 21%] tests/test_custom_router.py::test_custom_router_takes_req_keyword_argument[wsgi] PASSED [ 21%] tests/test_default_router.py::test_user_regression_versioned_url PASSED [ 21%] tests/test_default_router.py::test_user_regression_recipes PASSED [ 21%] tests/test_default_router.py::test_user_regression_special_chars[/serviceRoot/People|{field}-/serviceRoot/People|susie-expected_params0] PASSED [ 21%] tests/test_default_router.py::test_user_regression_special_chars[/serviceRoot/People[{field}]-/serviceRoot/People['calvin']-expected_params1] PASSED [ 21%] tests/test_default_router.py::test_user_regression_special_chars[/serviceRoot/People({field})-/serviceRoot/People('hobbes')-expected_params2] PASSED [ 21%] tests/test_default_router.py::test_user_regression_special_chars[/serviceRoot/People({field})-/serviceRoot/People('hob)bes')-expected_params3] PASSED [ 21%] tests/test_default_router.py::test_user_regression_special_chars[/serviceRoot/People({field})(z)-/serviceRoot/People(hobbes)(z)-expected_params4] PASSED [ 21%] tests/test_default_router.py::test_user_regression_special_chars[/serviceRoot/People('{field}')-/serviceRoot/People('rosalyn')-expected_params5] PASSED [ 21%] tests/test_default_router.py::test_user_regression_special_chars[/^{field}-/^42-expected_params6] PASSED [ 21%] tests/test_default_router.py::test_user_regression_special_chars[/+{field}-/+42-expected_params7] PASSED [ 21%] tests/test_default_router.py::test_user_regression_special_chars[/foo/{first}_{second}/bar-/foo/abc_def_ghijk/bar-expected_params8] PASSED [ 21%] tests/test_default_router.py::test_user_regression_special_chars[/items/{x}?{y}-/items/1080?768-expected_params9] PASSED [ 21%] tests/test_default_router.py::test_user_regression_special_chars[/items/{x}|{y}-/items/1080|768-expected_params10] PASSED [ 21%] tests/test_default_router.py::test_user_regression_special_chars[/items/{x},{y}-/items/1080,768-expected_params11] PASSED [ 21%] tests/test_default_router.py::test_user_regression_special_chars[/items/{x}^^{y}-/items/1080^^768-expected_params12] PASSED [ 21%] tests/test_default_router.py::test_user_regression_special_chars[/items/{x}*{y}*-/items/1080*768*-expected_params13] PASSED [ 21%] tests/test_default_router.py::test_user_regression_special_chars[/thing-2/something+{field}+-/thing-2/something+42+-expected_params14] PASSED [ 21%] tests/test_default_router.py::test_user_regression_special_chars[/thing-2/something*{field}/notes-/thing-2/something*42/notes-expected_params15] PASSED [ 21%] 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%] tests/test_default_router.py::test_user_regression_special_chars[serviceRoot/$metadata#Airports('{field}')/Name-serviceRoot/$metadata#Airports('KSFO')/Name-expected_params17] PASSED [ 21%] tests/test_default_router.py::test_not_str[asgi-uri_template0] PASSED [ 21%] tests/test_default_router.py::test_not_str[asgi-uri_template1] PASSED [ 21%] tests/test_default_router.py::test_not_str[asgi-uri_template2] PASSED [ 21%] tests/test_default_router.py::test_not_str[wsgi-uri_template0] PASSED [ 21%] tests/test_default_router.py::test_not_str[wsgi-uri_template1] PASSED [ 21%] tests/test_default_router.py::test_not_str[wsgi-uri_template2] PASSED [ 21%] tests/test_default_router.py::test_root_path PASSED [ 21%] tests/test_default_router.py::test_duplicate_field_names[/{field}{field}] PASSED [ 21%] tests/test_default_router.py::test_duplicate_field_names[/{field}...{field}] PASSED [ 21%] tests/test_default_router.py::test_duplicate_field_names[/{field}/{another}/{field}] PASSED [ 22%] tests/test_default_router.py::test_duplicate_field_names[/{field}/something/something/{field}/something] PASSED [ 22%] tests/test_default_router.py::test_match_entire_path[/items/thing-/items/t] PASSED [ 22%] tests/test_default_router.py::test_match_entire_path[/items/{x}|{y}|-/items/1080|768] PASSED [ 22%] tests/test_default_router.py::test_match_entire_path[/items/{x}*{y}foo-/items/1080*768foobar] PASSED [ 22%] tests/test_default_router.py::test_match_entire_path[/items/{x}*768*-/items/1080*768***] PASSED [ 22%] tests/test_default_router.py::test_conflict[/teams/{conflict}] PASSED [ 22%] tests/test_default_router.py::test_conflict[/emojis/signs/{id_too}] PASSED [ 22%] tests/test_default_router.py::test_conflict[/repos/{org}/{repo}/compare/{complex}:{vs}...{complex2}:{conflict}] PASSED [ 22%] tests/test_default_router.py::test_conflict[/teams/{id:int}/settings] PASSED [ 22%] tests/test_default_router.py::test_non_conflict[/repos/{org}/{repo}/compare/{simple_vs_complex}] PASSED [ 22%] tests/test_default_router.py::test_non_conflict[/repos/{complex}.{vs}.{simple}] PASSED [ 22%] tests/test_default_router.py::test_non_conflict[/repos/{org}/{repo}/compare/{complex}:{vs}...{complex2}/full] PASSED [ 22%] tests/test_default_router.py::test_invalid_field_name[/{}] PASSED [ 22%] tests/test_default_router.py::test_invalid_field_name[/repos/{org}/{repo}/compare/{}] PASSED [ 22%] tests/test_default_router.py::test_invalid_field_name[/repos/{complex}.{}.{thing}] PASSED [ 22%] tests/test_default_router.py::test_invalid_field_name[/{9v}] PASSED [ 22%] tests/test_default_router.py::test_invalid_field_name[/{524hello}/world] PASSED [ 22%] tests/test_default_router.py::test_invalid_field_name[/hello/{1world}] PASSED [ 22%] tests/test_default_router.py::test_invalid_field_name[/repos/{complex}.{9v}.{thing}/etc] PASSED [ 22%] tests/test_default_router.py::test_invalid_field_name[/{*kgriffs}] PASSED [ 22%] tests/test_default_router.py::test_invalid_field_name[/{@kgriffs}] PASSED [ 22%] tests/test_default_router.py::test_invalid_field_name[/repos/{complex}.{v}.{@thing}/etc] PASSED [ 22%] tests/test_default_router.py::test_invalid_field_name[/{-kgriffs}] PASSED [ 22%] tests/test_default_router.py::test_invalid_field_name[/repos/{complex}.{-v}.{thing}/etc] PASSED [ 22%] tests/test_default_router.py::test_invalid_field_name[/repos/{simple-thing}/etc] PASSED [ 22%] tests/test_default_router.py::test_invalid_field_name[/this and that] PASSED [ 22%] tests/test_default_router.py::test_invalid_field_name[/this\tand\tthat/this\nand\nthat/{thing }/world] PASSED [ 22%] tests/test_default_router.py::test_invalid_field_name[/{thing\t}/world] PASSED [ 22%] tests/test_default_router.py::test_invalid_field_name[/{\nthing}/world] PASSED [ 22%] tests/test_default_router.py::test_invalid_field_name[/{th\x0bing}/world] PASSED [ 22%] tests/test_default_router.py::test_invalid_field_name[/{ thing}/world] PASSED [ 22%] tests/test_default_router.py::test_invalid_field_name[/{ thing }/world] PASSED [ 22%] tests/test_default_router.py::test_invalid_field_name[/{thing}/wo rld] PASSED [ 22%] tests/test_default_router.py::test_invalid_field_name[/{thing} /world] PASSED [ 22%] tests/test_default_router.py::test_invalid_field_name[/repos/{or g}/{repo}/compare/{thing}] PASSED [ 22%] tests/test_default_router.py::test_invalid_field_name[/repos/{org}/{repo}/compare/{th\ting}] PASSED [ 22%] tests/test_default_router.py::test_print_src PASSED [ 22%] tests/test_default_router.py::test_override PASSED [ 22%] tests/test_default_router.py::test_literal_segment PASSED [ 23%] tests/test_default_router.py::test_dead_segment[/teams] PASSED [ 23%] tests/test_default_router.py::test_dead_segment[/emojis/signs] PASSED [ 23%] tests/test_default_router.py::test_dead_segment[/gists] PASSED [ 23%] tests/test_default_router.py::test_dead_segment[/gists/42] PASSED [ 23%] tests/test_default_router.py::test_malformed_pattern[/repos/racker/falcon/compare/foo] PASSED [ 23%] tests/test_default_router.py::test_malformed_pattern[/repos/racker/falcon/compare/foo/full] PASSED [ 23%] tests/test_default_router.py::test_literal PASSED [ 23%] tests/test_default_router.py::test_converters[/cvt/teams/007-expected_params0] PASSED [ 23%] tests/test_default_router.py::test_converters[/cvt/teams/1234/members-expected_params1] PASSED [ 23%] tests/test_default_router.py::test_converters[/cvt/teams/default/members/700-5-expected_params2] PASSED [ 23%] tests/test_default_router.py::test_converters[/cvt/repos/org/repo/compare/xkcd:353-expected_params3] PASSED [ 23%] tests/test_default_router.py::test_converters[/cvt/repos/org/repo/compare/gunmachan:1234...kumamon:5678/part-expected_params4] PASSED [ 23%] tests/test_default_router.py::test_converters[/cvt/repos/xkcd/353/compare/susan:0001/full-expected_params5] PASSED [ 23%] tests/test_default_router.py::test_converters_with_invalid_options[/foo/{bar:int(0)}] PASSED [ 23%] tests/test_default_router.py::test_converters_with_invalid_options[/foo/{bar:int(num_digits=0)}] PASSED [ 23%] tests/test_default_router.py::test_converters_with_invalid_options[/foo/{bar:int(-1)}/baz] PASSED [ 23%] tests/test_default_router.py::test_converters_with_invalid_options[/foo/{bar:int(num_digits=-1)}/baz] PASSED [ 23%] tests/test_default_router.py::test_converters_malformed_specification[/foo/{bar:}] PASSED [ 23%] tests/test_default_router.py::test_converters_malformed_specification[/foo/{bar:unknown}/baz] PASSED [ 23%] tests/test_default_router.py::test_variable PASSED [ 23%] tests/test_default_router.py::test_single_character_field_name PASSED [ 23%] tests/test_default_router.py::test_literal_vs_variable[/teams/default-19] PASSED [ 23%] tests/test_default_router.py::test_literal_vs_variable[/teams/default/members-7] PASSED [ 23%] tests/test_default_router.py::test_literal_vs_variable[/cvt/teams/default-31] PASSED [ 23%] tests/test_default_router.py::test_literal_vs_variable[/cvt/teams/default/members/1234-10-32] PASSED [ 23%] tests/test_default_router.py::test_literal_vs_variable[/teams/1234-6] PASSED [ 23%] tests/test_default_router.py::test_literal_vs_variable[/teams/1234/members-7] PASSED [ 23%] tests/test_default_router.py::test_literal_vs_variable[/gists/first-20] PASSED [ 23%] tests/test_default_router.py::test_literal_vs_variable[/gists/first/raw-18] PASSED [ 23%] tests/test_default_router.py::test_literal_vs_variable[/gists/first/pdf-21] PASSED [ 23%] tests/test_default_router.py::test_literal_vs_variable[/gists/1776/pdf-21] PASSED [ 23%] tests/test_default_router.py::test_literal_vs_variable[/emojis/signs/78-13] PASSED [ 23%] tests/test_default_router.py::test_literal_vs_variable[/emojis/signs/78/small.png-24] PASSED [ 23%] tests/test_default_router.py::test_literal_vs_variable[/emojis/signs/78/small(png)-25] PASSED [ 23%] tests/test_default_router.py::test_literal_vs_variable[/emojis/signs/78/small_png-26] PASSED [ 23%] tests/test_default_router.py::test_not_found[/this/does/not/exist] PASSED [ 23%] tests/test_default_router.py::test_not_found[/user/bogus] PASSED [ 23%] tests/test_default_router.py::test_not_found[/repos/racker/falcon/compare/johndoe:master...janedoe:dev/bogus] PASSED [ 23%] tests/test_default_router.py::test_not_found[/teams] PASSED [ 24%] tests/test_default_router.py::test_not_found[/teams/42/members/undefined] PASSED [ 24%] tests/test_default_router.py::test_not_found[/teams/42/undefined] PASSED [ 24%] tests/test_default_router.py::test_not_found[/teams/42/undefined/segments] PASSED [ 24%] tests/test_default_router.py::test_not_found[/teams/default/members/undefined] PASSED [ 24%] tests/test_default_router.py::test_not_found[/teams/default/members/thing/undefined] PASSED [ 24%] tests/test_default_router.py::test_not_found[/teams/default/members/thing/undefined/segments] PASSED [ 24%] tests/test_default_router.py::test_not_found[/teams/default/undefined] PASSED [ 24%] tests/test_default_router.py::test_not_found[/teams/default/undefined/segments] PASSED [ 24%] tests/test_default_router.py::test_not_found[/cvt/teams/default/members] PASSED [ 24%] tests/test_default_router.py::test_not_found[/cvt/teams/NaN] PASSED [ 24%] tests/test_default_router.py::test_not_found[/cvt/teams/default/members/NaN] PASSED [ 24%] tests/test_default_router.py::test_not_found[/emojis/signs] PASSED [ 24%] tests/test_default_router.py::test_not_found[/emojis/signs/0/small] PASSED [ 24%] tests/test_default_router.py::test_not_found[/emojis/signs/0/undefined] PASSED [ 24%] tests/test_default_router.py::test_not_found[/emojis/signs/0/undefined/segments] PASSED [ 24%] tests/test_default_router.py::test_not_found[/emojis/signs/20/small] PASSED [ 24%] tests/test_default_router.py::test_not_found[/emojis/signs/20/undefined] PASSED [ 24%] tests/test_default_router.py::test_not_found[/emojis/signs/42/undefined] PASSED [ 24%] tests/test_default_router.py::test_not_found[/emojis/signs/78/undefined] PASSED [ 24%] tests/test_default_router.py::test_subsegment_not_found PASSED [ 24%] tests/test_default_router.py::test_multivar PASSED [ 24%] tests/test_default_router.py::test_complex[-5] PASSED [ 24%] tests/test_default_router.py::test_complex[/full-10] PASSED [ 24%] tests/test_default_router.py::test_complex[/part-15] PASSED [ 24%] tests/test_default_router.py::test_complex_alt[-16-/repos/{org}/{repo}/compare/{usr0}:{branch0}] PASSED [ 24%] tests/test_default_router.py::test_complex_alt[/full-17-/repos/{org}/{repo}/compare/{usr0}:{branch0}/full] PASSED [ 24%] tests/test_default_router.py::test_options_converters_set PASSED [ 24%] tests/test_default_router.py::test_options_converters_update[spam] PASSED [ 24%] tests/test_default_router.py::test_options_converters_update[spam_2] PASSED [ 24%] tests/test_default_router.py::test_options_converters_invalid_name[has whitespace] PASSED [ 24%] tests/test_default_router.py::test_options_converters_invalid_name[whitespace ] PASSED [ 24%] tests/test_default_router.py::test_options_converters_invalid_name[ whitespace ] PASSED [ 24%] tests/test_default_router.py::test_options_converters_invalid_name[ whitespace] PASSED [ 24%] tests/test_default_router.py::test_options_converters_invalid_name[funky$character] PASSED [ 24%] tests/test_default_router.py::test_options_converters_invalid_name[42istheanswer] PASSED [ 24%] tests/test_default_router.py::test_options_converters_invalid_name[with-hyphen] PASSED [ 24%] tests/test_default_router.py::test_options_converters_invalid_name_on_update PASSED [ 24%] tests/test_default_router.py::test_params_in_non_taken_branches[/c/foo/arg/baz-expected0-1] PASSED [ 24%] tests/test_default_router.py::test_params_in_non_taken_branches[/c/foo/bar/other-expected1-2] PASSED [ 25%] tests/test_default_router.py::test_params_in_non_taken_branches[/c/foo/42-7/baz-expected2-1] PASSED [ 25%] tests/test_default_router.py::test_params_in_non_taken_branches[/upload/youtube/auth/token-expected3-4] PASSED [ 25%] tests/test_default_router.py::test_params_in_non_taken_branches[/x/y/o.o/w-expected4-7] PASSED [ 25%] tests/test_default_router.py::test_capture_path_no_children PASSED [ 25%] tests/test_default_router.py::test_capture_path_complex[/foo/{bar:path}-x] PASSED [ 25%] tests/test_default_router.py::test_capture_path_complex[/foo/x-{bar:path}] PASSED [ 25%] tests/test_default_router.py::test_capture_path_complex[/foo/{x}-{bar:path}] PASSED [ 25%] tests/test_default_router.py::test_capture_path_complex[/foo/{bar:path}-{x}] PASSED [ 25%] tests/test_default_router.py::test_capture_path[/foo/bar/baz-expected0-1] PASSED [ 25%] tests/test_default_router.py::test_capture_path[/foo/some/path/here-expected1-2] PASSED [ 25%] tests/test_default_router.py::test_capture_path[/foo/bar/bar-expected2-3] PASSED [ 25%] 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%] tests/test_default_router.py::test_capture_path[/x/1/2/3-expected4-5] PASSED [ 25%] tests/test_default_router.py::test_capture_path[/x/1/2/3/4/5/6-expected5-5] PASSED [ 25%] tests/test_default_router.py::test_capture_path[/upload/youtube/auth/token-expected6-4] PASSED [ 25%] tests/test_default_router.py::test_capture_path[/x/y/o.o/w-expected7-4] PASSED [ 25%] tests/test_default_router.py::test_capture_path[/foo-expected8-4] PASSED [ 25%] tests/test_default_router.py::test_capture_path[/foo/-expected9-2] PASSED [ 25%] tests/test_default_router.py::test_capture_path[/foo/bar-expected10-2] PASSED [ 25%] tests/test_default_router.py::test_capture_path[/foo/bar/-expected11-3] PASSED [ 25%] tests/test_default_router.py::test_capture_path[/foo/bar/baz/other-expected12-3] PASSED [ 25%] tests/test_default_router.py::test_capture_path[/y/1/2/3-expected13-6] PASSED [ 25%] tests/test_default_router.py::test_capture_path[/y/1/a/3-expected14-4] PASSED [ 25%] tests/test_default_router.py::test_capture_path_no_match PASSED [ 25%] tests/test_error.py::test_with_default_title_and_desc[HTTPBadRequest-400 Bad Request] PASSED [ 25%] tests/test_error.py::test_with_default_title_and_desc[HTTPUnauthorized-401 Unauthorized] PASSED [ 25%] tests/test_error.py::test_with_default_title_and_desc[HTTPForbidden-403 Forbidden] PASSED [ 25%] tests/test_error.py::test_with_default_title_and_desc[HTTPNotFound-404 Not Found] PASSED [ 25%] tests/test_error.py::test_with_default_title_and_desc[HTTPRouteNotFound-404 Not Found] PASSED [ 25%] tests/test_error.py::test_with_default_title_and_desc[HTTPNotAcceptable-406 Not Acceptable] PASSED [ 25%] tests/test_error.py::test_with_default_title_and_desc[HTTPConflict-409 Conflict] PASSED [ 25%] tests/test_error.py::test_with_default_title_and_desc[HTTPGone-410 Gone] PASSED [ 25%] tests/test_error.py::test_with_default_title_and_desc[HTTPLengthRequired-411 Length Required] PASSED [ 25%] tests/test_error.py::test_with_default_title_and_desc[HTTPPreconditionFailed-412 Precondition Failed] PASSED [ 25%] tests/test_error.py::test_with_default_title_and_desc[HTTPContentTooLarge-413 Content Too Large] PASSED [ 25%] tests/test_error.py::test_with_default_title_and_desc[HTTPUriTooLong-414 URI Too Long] PASSED [ 25%] tests/test_error.py::test_with_default_title_and_desc[HTTPUnsupportedMediaType-415 Unsupported Media Type] PASSED [ 25%] tests/test_error.py::test_with_default_title_and_desc[HTTPUnprocessableEntity-422 Unprocessable Entity] PASSED [ 25%] tests/test_error.py::test_with_default_title_and_desc[HTTPLocked-423 Locked] PASSED [ 26%] tests/test_error.py::test_with_default_title_and_desc[HTTPFailedDependency-424 Failed Dependency] PASSED [ 26%] tests/test_error.py::test_with_default_title_and_desc[HTTPPreconditionRequired-428 Precondition Required] PASSED [ 26%] tests/test_error.py::test_with_default_title_and_desc[HTTPTooManyRequests-429 Too Many Requests] PASSED [ 26%] tests/test_error.py::test_with_default_title_and_desc[HTTPRequestHeaderFieldsTooLarge-431 Request Header Fields Too Large] PASSED [ 26%] tests/test_error.py::test_with_default_title_and_desc[HTTPUnavailableForLegalReasons-451 Unavailable For Legal Reasons] PASSED [ 26%] tests/test_error.py::test_with_default_title_and_desc[HTTPInternalServerError-500 Internal Server Error] PASSED [ 26%] tests/test_error.py::test_with_default_title_and_desc[HTTPNotImplemented-501 Not Implemented] PASSED [ 26%] tests/test_error.py::test_with_default_title_and_desc[HTTPBadGateway-502 Bad Gateway] PASSED [ 26%] tests/test_error.py::test_with_default_title_and_desc[HTTPServiceUnavailable-503 Service Unavailable] PASSED [ 26%] tests/test_error.py::test_with_default_title_and_desc[HTTPGatewayTimeout-504 Gateway Timeout] PASSED [ 26%] tests/test_error.py::test_with_default_title_and_desc[HTTPVersionNotSupported-505 HTTP Version Not Supported] PASSED [ 26%] tests/test_error.py::test_with_default_title_and_desc[HTTPInsufficientStorage-507 Insufficient Storage] PASSED [ 26%] tests/test_error.py::test_with_default_title_and_desc[HTTPLoopDetected-508 Loop Detected] PASSED [ 26%] tests/test_error.py::test_with_default_title_and_desc[HTTPNetworkAuthenticationRequired-511 Network Authentication Required] PASSED [ 26%] tests/test_error.py::test_with_default_title_and_desc_args[HTTPMethodNotAllowed-405 Method Not Allowed-args0] PASSED [ 26%] tests/test_error.py::test_with_default_title_and_desc_args[HTTPRangeNotSatisfiable-416 Range Not Satisfiable-args1] PASSED [ 26%] tests/test_error.py::test_with_title_desc_and_headers[HTTPBadRequest] PASSED [ 26%] tests/test_error.py::test_with_title_desc_and_headers[HTTPUnauthorized] PASSED [ 26%] tests/test_error.py::test_with_title_desc_and_headers[HTTPForbidden] PASSED [ 26%] tests/test_error.py::test_with_title_desc_and_headers[HTTPNotFound] PASSED [ 26%] tests/test_error.py::test_with_title_desc_and_headers[HTTPRouteNotFound] PASSED [ 26%] tests/test_error.py::test_with_title_desc_and_headers[HTTPNotAcceptable] PASSED [ 26%] tests/test_error.py::test_with_title_desc_and_headers[HTTPConflict] PASSED [ 26%] tests/test_error.py::test_with_title_desc_and_headers[HTTPGone] PASSED [ 26%] tests/test_error.py::test_with_title_desc_and_headers[HTTPLengthRequired] PASSED [ 26%] tests/test_error.py::test_with_title_desc_and_headers[HTTPPreconditionFailed] PASSED [ 26%] tests/test_error.py::test_with_title_desc_and_headers[HTTPContentTooLarge] PASSED [ 26%] tests/test_error.py::test_with_title_desc_and_headers[HTTPUriTooLong] PASSED [ 26%] tests/test_error.py::test_with_title_desc_and_headers[HTTPUnsupportedMediaType] PASSED [ 26%] tests/test_error.py::test_with_title_desc_and_headers[HTTPUnprocessableEntity] PASSED [ 26%] tests/test_error.py::test_with_title_desc_and_headers[HTTPLocked] PASSED [ 26%] tests/test_error.py::test_with_title_desc_and_headers[HTTPFailedDependency] PASSED [ 26%] tests/test_error.py::test_with_title_desc_and_headers[HTTPPreconditionRequired] PASSED [ 26%] tests/test_error.py::test_with_title_desc_and_headers[HTTPTooManyRequests] PASSED [ 26%] tests/test_error.py::test_with_title_desc_and_headers[HTTPRequestHeaderFieldsTooLarge] PASSED [ 26%] tests/test_error.py::test_with_title_desc_and_headers[HTTPUnavailableForLegalReasons] PASSED [ 26%] tests/test_error.py::test_with_title_desc_and_headers[HTTPInternalServerError] PASSED [ 26%] tests/test_error.py::test_with_title_desc_and_headers[HTTPNotImplemented] PASSED [ 26%] tests/test_error.py::test_with_title_desc_and_headers[HTTPBadGateway] PASSED [ 26%] tests/test_error.py::test_with_title_desc_and_headers[HTTPServiceUnavailable] PASSED [ 27%] tests/test_error.py::test_with_title_desc_and_headers[HTTPGatewayTimeout] PASSED [ 27%] tests/test_error.py::test_with_title_desc_and_headers[HTTPVersionNotSupported] PASSED [ 27%] tests/test_error.py::test_with_title_desc_and_headers[HTTPInsufficientStorage] PASSED [ 27%] tests/test_error.py::test_with_title_desc_and_headers[HTTPLoopDetected] PASSED [ 27%] tests/test_error.py::test_with_title_desc_and_headers[HTTPNetworkAuthenticationRequired] PASSED [ 27%] tests/test_error.py::test_kw_only[HTTPBadRequest] PASSED [ 27%] tests/test_error.py::test_kw_only[HTTPUnauthorized] PASSED [ 27%] tests/test_error.py::test_kw_only[HTTPForbidden] PASSED [ 27%] tests/test_error.py::test_kw_only[HTTPNotFound] PASSED [ 27%] tests/test_error.py::test_kw_only[HTTPRouteNotFound] PASSED [ 27%] tests/test_error.py::test_kw_only[HTTPNotAcceptable] PASSED [ 27%] tests/test_error.py::test_kw_only[HTTPConflict] PASSED [ 27%] tests/test_error.py::test_kw_only[HTTPGone] PASSED [ 27%] tests/test_error.py::test_kw_only[HTTPLengthRequired] PASSED [ 27%] tests/test_error.py::test_kw_only[HTTPPreconditionFailed] PASSED [ 27%] tests/test_error.py::test_kw_only[HTTPContentTooLarge] PASSED [ 27%] tests/test_error.py::test_kw_only[HTTPUriTooLong] PASSED [ 27%] tests/test_error.py::test_kw_only[HTTPUnsupportedMediaType] PASSED [ 27%] tests/test_error.py::test_kw_only[HTTPUnprocessableEntity] PASSED [ 27%] tests/test_error.py::test_kw_only[HTTPLocked] PASSED [ 27%] tests/test_error.py::test_kw_only[HTTPFailedDependency] PASSED [ 27%] tests/test_error.py::test_kw_only[HTTPPreconditionRequired] PASSED [ 27%] tests/test_error.py::test_kw_only[HTTPTooManyRequests] PASSED [ 27%] tests/test_error.py::test_kw_only[HTTPRequestHeaderFieldsTooLarge] PASSED [ 27%] tests/test_error.py::test_kw_only[HTTPUnavailableForLegalReasons] PASSED [ 27%] tests/test_error.py::test_kw_only[HTTPInternalServerError] PASSED [ 27%] tests/test_error.py::test_kw_only[HTTPNotImplemented] PASSED [ 27%] tests/test_error.py::test_kw_only[HTTPBadGateway] PASSED [ 27%] tests/test_error.py::test_kw_only[HTTPServiceUnavailable] PASSED [ 27%] tests/test_error.py::test_kw_only[HTTPGatewayTimeout] PASSED [ 27%] tests/test_error.py::test_kw_only[HTTPVersionNotSupported] PASSED [ 27%] tests/test_error.py::test_kw_only[HTTPInsufficientStorage] PASSED [ 27%] tests/test_error.py::test_kw_only[HTTPLoopDetected] PASSED [ 27%] tests/test_error.py::test_kw_only[HTTPNetworkAuthenticationRequired] PASSED [ 27%] tests/test_error.py::test_with_title_desc_and_headers_args[HTTPMethodNotAllowed-args0] PASSED [ 27%] tests/test_error.py::test_with_title_desc_and_headers_args[HTTPRangeNotSatisfiable-args1] PASSED [ 27%] tests/test_error.py::test_args_kw_only[HTTPMethodNotAllowed-args0] PASSED [ 27%] tests/test_error.py::test_args_kw_only[HTTPRangeNotSatisfiable-args1] PASSED [ 27%] tests/test_error.py::test_args_kw_only[HTTPInvalidHeader-args2] PASSED [ 28%] tests/test_error.py::test_args_kw_only[HTTPMissingHeader-args3] PASSED [ 28%] tests/test_error.py::test_args_kw_only[HTTPInvalidParam-args4] PASSED [ 28%] tests/test_error.py::test_args_kw_only[HTTPMissingParam-args5] PASSED [ 28%] tests/test_error.py::test_with_retry_after[HTTPServiceUnavailable] PASSED [ 28%] tests/test_error.py::test_with_retry_after[HTTPTooManyRequests] PASSED [ 28%] tests/test_error.py::test_with_retry_after[HTTPContentTooLarge] PASSED [ 28%] tests/test_error.py::test_with_retry_after_and_headers[HTTPServiceUnavailable] PASSED [ 28%] tests/test_error.py::test_with_retry_after_and_headers[HTTPTooManyRequests] PASSED [ 28%] tests/test_error.py::test_with_retry_after_and_headers[HTTPContentTooLarge] PASSED [ 28%] tests/test_error.py::test_http_error_repr PASSED [ 28%] tests/test_error.py::test_custom_400[HTTPInvalidHeader-args0-Invalid header value-The value provided for the "bar" header is invalid. foo] PASSED [ 28%] tests/test_error.py::test_custom_400[HTTPMissingHeader-args1-Missing header value-The "foo" header is required.] PASSED [ 28%] tests/test_error.py::test_custom_400[HTTPInvalidParam-args2-Invalid parameter-The "bar" parameter is invalid. foo] PASSED [ 28%] tests/test_error.py::test_custom_400[HTTPMissingParam-args3-Missing parameter-The "foo" parameter is required.] PASSED [ 28%] tests/test_error.py::TestErrorsWithHeadersKW::test_no_header[HTTPUnauthorized-WWW-Authenticate-challenges-args0-a, b-False] PASSED [ 28%] tests/test_error.py::TestErrorsWithHeadersKW::test_no_header[HTTPMethodNotAllowed-Allow-allowed_methods-args1-a, b-True] PASSED [ 28%] tests/test_error.py::TestErrorsWithHeadersKW::test_no_header[HTTPContentTooLarge-Retry-After-retry_after-123-123-False] PASSED [ 28%] tests/test_error.py::TestErrorsWithHeadersKW::test_no_header[HTTPRangeNotSatisfiable-Content-Range-resource_length-123-bytes */123-True] PASSED [ 28%] tests/test_error.py::TestErrorsWithHeadersKW::test_no_header[HTTPTooManyRequests-Retry-After-retry_after-123-123-False] PASSED [ 28%] tests/test_error.py::TestErrorsWithHeadersKW::test_no_header[HTTPServiceUnavailable-Retry-After-retry_after-123-123-False] PASSED [ 28%] tests/test_error.py::TestErrorsWithHeadersKW::test_other_header[HTTPUnauthorized-WWW-Authenticate-challenges-args0-a, b-False] PASSED [ 28%] tests/test_error.py::TestErrorsWithHeadersKW::test_other_header[HTTPMethodNotAllowed-Allow-allowed_methods-args1-a, b-True] PASSED [ 28%] tests/test_error.py::TestErrorsWithHeadersKW::test_other_header[HTTPContentTooLarge-Retry-After-retry_after-123-123-False] PASSED [ 28%] tests/test_error.py::TestErrorsWithHeadersKW::test_other_header[HTTPRangeNotSatisfiable-Content-Range-resource_length-123-bytes */123-True] PASSED [ 28%] tests/test_error.py::TestErrorsWithHeadersKW::test_other_header[HTTPTooManyRequests-Retry-After-retry_after-123-123-False] PASSED [ 28%] tests/test_error.py::TestErrorsWithHeadersKW::test_other_header[HTTPServiceUnavailable-Retry-After-retry_after-123-123-False] PASSED [ 28%] tests/test_error.py::TestErrorsWithHeadersKW::test_override_header[HTTPUnauthorized-WWW-Authenticate-challenges-args0-a, b-False] PASSED [ 28%] tests/test_error.py::TestErrorsWithHeadersKW::test_override_header[HTTPMethodNotAllowed-Allow-allowed_methods-args1-a, b-True] PASSED [ 28%] tests/test_error.py::TestErrorsWithHeadersKW::test_override_header[HTTPContentTooLarge-Retry-After-retry_after-123-123-False] PASSED [ 28%] tests/test_error.py::TestErrorsWithHeadersKW::test_override_header[HTTPRangeNotSatisfiable-Content-Range-resource_length-123-bytes */123-True] PASSED [ 28%] tests/test_error.py::TestErrorsWithHeadersKW::test_override_header[HTTPTooManyRequests-Retry-After-retry_after-123-123-False] PASSED [ 28%] tests/test_error.py::TestErrorsWithHeadersKW::test_override_header[HTTPServiceUnavailable-Retry-After-retry_after-123-123-False] PASSED [ 28%] tests/test_error.py::TestErrorsWithHeadersKW::test_other_header_list[HTTPUnauthorized-WWW-Authenticate-challenges-args0-a, b-False] PASSED [ 28%] tests/test_error.py::TestErrorsWithHeadersKW::test_other_header_list[HTTPMethodNotAllowed-Allow-allowed_methods-args1-a, b-True] PASSED [ 28%] tests/test_error.py::TestErrorsWithHeadersKW::test_other_header_list[HTTPContentTooLarge-Retry-After-retry_after-123-123-False] PASSED [ 28%] tests/test_error.py::TestErrorsWithHeadersKW::test_other_header_list[HTTPRangeNotSatisfiable-Content-Range-resource_length-123-bytes */123-True] PASSED [ 28%] tests/test_error.py::TestErrorsWithHeadersKW::test_other_header_list[HTTPTooManyRequests-Retry-After-retry_after-123-123-False] PASSED [ 28%] tests/test_error.py::TestErrorsWithHeadersKW::test_other_header_list[HTTPServiceUnavailable-Retry-After-retry_after-123-123-False] PASSED [ 28%] tests/test_error.py::TestErrorsWithHeadersKW::test_override_header_list[HTTPUnauthorized-WWW-Authenticate-challenges-args0-a, b-False] PASSED [ 29%] tests/test_error.py::TestErrorsWithHeadersKW::test_override_header_list[HTTPMethodNotAllowed-Allow-allowed_methods-args1-a, b-True] PASSED [ 29%] tests/test_error.py::TestErrorsWithHeadersKW::test_override_header_list[HTTPContentTooLarge-Retry-After-retry_after-123-123-False] PASSED [ 29%] tests/test_error.py::TestErrorsWithHeadersKW::test_override_header_list[HTTPRangeNotSatisfiable-Content-Range-resource_length-123-bytes */123-True] PASSED [ 29%] tests/test_error.py::TestErrorsWithHeadersKW::test_override_header_list[HTTPTooManyRequests-Retry-After-retry_after-123-123-False] PASSED [ 29%] tests/test_error.py::TestErrorsWithHeadersKW::test_override_header_list[HTTPServiceUnavailable-Retry-After-retry_after-123-123-False] PASSED [ 29%] tests/test_error.py::test_http_payload_too_large_deprecation PASSED [ 29%] tests/test_error_handlers.py::TestErrorHandler::test_caught_error[asgi] PASSED [ 29%] tests/test_error_handlers.py::TestErrorHandler::test_caught_error[wsgi] PASSED [ 29%] tests/test_error_handlers.py::TestErrorHandler::test_uncaught_python_error[asgi-None-application/json-{"] PASSED [ 29%] tests/test_error_handlers.py::TestErrorHandler::test_uncaught_python_error[asgi-get_headers1-application/json-{"] PASSED [ 29%] tests/test_error_handlers.py::TestErrorHandler::test_uncaught_python_error[asgi-get_headers2-application/xml-; rel=alternate] PASSED [ 33%] tests/test_headers.py::TestHeaders::test_append_link_crossorigin[asgi-anonymous-; rel=alternate; crossorigin] PASSED [ 33%] tests/test_headers.py::TestHeaders::test_append_link_crossorigin[asgi-Anonymous-; rel=alternate; crossorigin] PASSED [ 34%] tests/test_headers.py::TestHeaders::test_append_link_crossorigin[asgi-AnOnYmOUs-; rel=alternate; crossorigin] PASSED [ 34%] tests/test_headers.py::TestHeaders::test_append_link_crossorigin[asgi-Use-Credentials-; rel=alternate; crossorigin="use-credentials"] PASSED [ 34%] tests/test_headers.py::TestHeaders::test_append_link_crossorigin[asgi-use-credentials-; rel=alternate; crossorigin="use-credentials"] PASSED [ 34%] tests/test_headers.py::TestHeaders::test_append_link_crossorigin[wsgi-None-; rel=alternate] PASSED [ 34%] tests/test_headers.py::TestHeaders::test_append_link_crossorigin[wsgi-anonymous-; rel=alternate; crossorigin] PASSED [ 34%] tests/test_headers.py::TestHeaders::test_append_link_crossorigin[wsgi-Anonymous-; rel=alternate; crossorigin] PASSED [ 34%] tests/test_headers.py::TestHeaders::test_append_link_crossorigin[wsgi-AnOnYmOUs-; rel=alternate; crossorigin] PASSED [ 34%] tests/test_headers.py::TestHeaders::test_append_link_crossorigin[wsgi-Use-Credentials-; rel=alternate; crossorigin="use-credentials"] PASSED [ 34%] tests/test_headers.py::TestHeaders::test_append_link_crossorigin[wsgi-use-credentials-; rel=alternate; crossorigin="use-credentials"] PASSED [ 34%] tests/test_headers.py::TestHeaders::test_append_link_invalid_crossorigin_value[*] PASSED [ 34%] tests/test_headers.py::TestHeaders::test_append_link_invalid_crossorigin_value[Allow-all] PASSED [ 34%] tests/test_headers.py::TestHeaders::test_append_link_invalid_crossorigin_value[Lax] PASSED [ 34%] tests/test_headers.py::TestHeaders::test_append_link_invalid_crossorigin_value[MUST-REVALIDATE] PASSED [ 34%] tests/test_headers.py::TestHeaders::test_append_link_invalid_crossorigin_value[Strict] PASSED [ 34%] tests/test_headers.py::TestHeaders::test_append_link_invalid_crossorigin_value[deny] PASSED [ 34%] tests/test_headers.py::TestHeaders::test_append_link_with_link_extension[asgi] PASSED [ 34%] tests/test_headers.py::TestHeaders::test_append_link_with_link_extension[wsgi] PASSED [ 34%] tests/test_headers.py::TestHeaders::test_content_length_options[asgi] PASSED [ 34%] tests/test_headers.py::TestHeaders::test_content_length_options[wsgi] PASSED [ 34%] tests/test_headers.py::TestHeaders::test_set_headers_with_custom_class[asgi] PASSED [ 34%] tests/test_headers.py::TestHeaders::test_set_headers_with_custom_class[wsgi] PASSED [ 34%] tests/test_headers.py::TestHeaders::test_headers_with_custom_class_not_callable[asgi] PASSED [ 34%] tests/test_headers.py::TestHeaders::test_headers_with_custom_class_not_callable[wsgi] PASSED [ 34%] tests/test_headers.py::TestHeaders::test_request_multiple_header[asgi] PASSED [ 34%] tests/test_headers.py::TestHeaders::test_request_multiple_header[wsgi] PASSED [ 34%] tests/test_hello.py::TestHelloWorld::test_env_headers_list_of_tuples PASSED [ 34%] tests/test_hello.py::TestHelloWorld::test_root_route PASSED [ 34%] tests/test_hello.py::TestHelloWorld::test_no_route PASSED [ 34%] tests/test_hello.py::TestHelloWorld::test_body[/body-resource0-] PASSED [ 34%] tests/test_hello.py::TestHelloWorld::test_body[/bytes-resource1-] PASSED [ 34%] tests/test_hello.py::TestHelloWorld::test_body[/data-resource2-] PASSED [ 34%] tests/test_hello.py::TestHelloWorld::test_no_body_on_head PASSED [ 34%] tests/test_hello.py::TestHelloWorld::test_stream_chunked PASSED [ 34%] tests/test_hello.py::TestHelloWorld::test_stream_known_len PASSED [ 34%] tests/test_hello.py::TestHelloWorld::test_filelike PASSED [ 34%] tests/test_hello.py::TestHelloWorld::test_filelike_closing[ClosingBytesIO-True] PASSED [ 34%] tests/test_hello.py::TestHelloWorld::test_filelike_closing[NonClosingBytesIO-False] PASSED [ 34%] tests/test_hello.py::TestHelloWorld::test_filelike_using_helper PASSED [ 34%] tests/test_hello.py::TestHelloWorld::test_status_not_set PASSED [ 35%] tests/test_http_custom_method_routing.py::test_map_http_methods[asgi] PASSED [ 35%] tests/test_http_custom_method_routing.py::test_map_http_methods[wsgi] PASSED [ 35%] tests/test_http_custom_method_routing.py::test_environment_override[foo-expected0] SKIPPED [ 35%] tests/test_http_custom_method_routing.py::test_environment_override[FOO-expected1] SKIPPED [ 35%] tests/test_http_custom_method_routing.py::test_environment_override[FOO,-expected2] SKIPPED [ 35%] tests/test_http_custom_method_routing.py::test_environment_override[FOO,BAR-expected3] SKIPPED [ 35%] tests/test_http_custom_method_routing.py::test_environment_override[FOO, BAR-expected4] SKIPPED [ 35%] tests/test_http_custom_method_routing.py::test_environment_override[ foo , BAR -expected5] SKIPPED [ 35%] tests/test_http_custom_method_routing.py::test_foo[asgi] PASSED [ 35%] tests/test_http_custom_method_routing.py::test_foo[wsgi] PASSED [ 35%] tests/test_http_custom_method_routing.py::test_bar[asgi] PASSED [ 35%] tests/test_http_custom_method_routing.py::test_bar[wsgi] PASSED [ 35%] tests/test_http_method_routing.py::TestHttpMethodRouting::test_get[asgi] PASSED [ 35%] tests/test_http_method_routing.py::TestHttpMethodRouting::test_get[wsgi] PASSED [ 35%] tests/test_http_method_routing.py::TestHttpMethodRouting::test_put[asgi] PASSED [ 35%] tests/test_http_method_routing.py::TestHttpMethodRouting::test_put[wsgi] PASSED [ 35%] tests/test_http_method_routing.py::TestHttpMethodRouting::test_post_not_allowed[asgi] PASSED [ 35%] tests/test_http_method_routing.py::TestHttpMethodRouting::test_post_not_allowed[wsgi] PASSED [ 35%] tests/test_http_method_routing.py::TestHttpMethodRouting::test_report[asgi] PASSED [ 35%] tests/test_http_method_routing.py::TestHttpMethodRouting::test_report[wsgi] PASSED [ 35%] tests/test_http_method_routing.py::TestHttpMethodRouting::test_misc[asgi] PASSED [ 35%] tests/test_http_method_routing.py::TestHttpMethodRouting::test_misc[wsgi] PASSED [ 35%] tests/test_http_method_routing.py::TestHttpMethodRouting::test_methods_not_allowed_simple[asgi] PASSED [ 35%] tests/test_http_method_routing.py::TestHttpMethodRouting::test_methods_not_allowed_simple[wsgi] PASSED [ 35%] tests/test_http_method_routing.py::TestHttpMethodRouting::test_methods_not_allowed_complex[asgi] PASSED [ 35%] tests/test_http_method_routing.py::TestHttpMethodRouting::test_methods_not_allowed_complex[wsgi] PASSED [ 35%] tests/test_http_method_routing.py::TestHttpMethodRouting::test_method_not_allowed_with_param[asgi] PASSED [ 35%] tests/test_http_method_routing.py::TestHttpMethodRouting::test_method_not_allowed_with_param[wsgi] PASSED [ 35%] tests/test_http_method_routing.py::TestHttpMethodRouting::test_default_on_options[asgi] PASSED [ 35%] tests/test_http_method_routing.py::TestHttpMethodRouting::test_default_on_options[wsgi] PASSED [ 35%] tests/test_http_method_routing.py::TestHttpMethodRouting::test_on_options[asgi] PASSED [ 35%] tests/test_http_method_routing.py::TestHttpMethodRouting::test_on_options[wsgi] PASSED [ 35%] tests/test_http_method_routing.py::TestHttpMethodRouting::test_meta_and_others_disallowed[asgi-WEBSOCKET] PASSED [ 35%] tests/test_http_method_routing.py::TestHttpMethodRouting::test_meta_and_others_disallowed[asgi-SETECASTRONOMY] PASSED [ 35%] tests/test_http_method_routing.py::TestHttpMethodRouting::test_meta_and_others_disallowed[wsgi-WEBSOCKET] PASSED [ 35%] tests/test_http_method_routing.py::TestHttpMethodRouting::test_meta_and_others_disallowed[wsgi-SETECASTRONOMY] PASSED [ 35%] tests/test_httperror.py::TestHTTPError::test_base_class[asgi] PASSED [ 35%] tests/test_httperror.py::TestHTTPError::test_base_class[wsgi] PASSED [ 35%] tests/test_httperror.py::TestHTTPError::test_no_description_json[asgi] PASSED [ 36%] tests/test_httperror.py::TestHTTPError::test_no_description_json[wsgi] PASSED [ 36%] tests/test_httperror.py::TestHTTPError::test_no_description_xml[asgi] PASSED [ 36%] tests/test_httperror.py::TestHTTPError::test_no_description_xml[wsgi] PASSED [ 36%] tests/test_httperror.py::TestHTTPError::test_xml_enable[with_xml-asgi-True] PASSED [ 36%] tests/test_httperror.py::TestHTTPError::test_xml_enable[with_xml-asgi-False] PASSED [ 36%] tests/test_httperror.py::TestHTTPError::test_xml_enable[with_xml-wsgi-True] PASSED [ 36%] tests/test_httperror.py::TestHTTPError::test_xml_enable[with_xml-wsgi-False] PASSED [ 36%] tests/test_httperror.py::TestHTTPError::test_xml_enable[without_xml-asgi-True] PASSED [ 36%] tests/test_httperror.py::TestHTTPError::test_xml_enable[without_xml-asgi-False] PASSED [ 36%] tests/test_httperror.py::TestHTTPError::test_xml_enable[without_xml-wsgi-True] PASSED [ 36%] tests/test_httperror.py::TestHTTPError::test_xml_enable[without_xml-wsgi-False] PASSED [ 36%] tests/test_httperror.py::TestHTTPError::test_xml_enable[default_xml-asgi-True] PASSED [ 36%] tests/test_httperror.py::TestHTTPError::test_xml_enable[default_xml-asgi-False] PASSED [ 36%] tests/test_httperror.py::TestHTTPError::test_xml_enable[default_xml-wsgi-True] PASSED [ 36%] tests/test_httperror.py::TestHTTPError::test_xml_enable[default_xml-wsgi-False] PASSED [ 36%] tests/test_httperror.py::TestHTTPError::test_to_xml_deprecated PASSED [ 36%] tests/test_httperror.py::TestHTTPError::test_client_does_not_accept_json_or_xml[asgi] PASSED [ 36%] tests/test_httperror.py::TestHTTPError::test_client_does_not_accept_json_or_xml[wsgi] PASSED [ 36%] tests/test_httperror.py::TestHTTPError::test_custom_error_serializer[asgi] PASSED [ 36%] tests/test_httperror.py::TestHTTPError::test_custom_error_serializer[wsgi] PASSED [ 36%] tests/test_httperror.py::TestHTTPError::test_custom_error_serializer_optional_representation[asgi-GET-/404-404] PASSED [ 36%] tests/test_httperror.py::TestHTTPError::test_custom_error_serializer_optional_representation[asgi-GET-/notfound-404] PASSED [ 36%] tests/test_httperror.py::TestHTTPError::test_custom_error_serializer_optional_representation[asgi-REPORT-/404-405] PASSED [ 36%] tests/test_httperror.py::TestHTTPError::test_custom_error_serializer_optional_representation[asgi-BREW-/notfound-400] PASSED [ 36%] tests/test_httperror.py::TestHTTPError::test_custom_error_serializer_optional_representation[wsgi-GET-/404-404] PASSED [ 36%] tests/test_httperror.py::TestHTTPError::test_custom_error_serializer_optional_representation[wsgi-GET-/notfound-404] PASSED [ 36%] tests/test_httperror.py::TestHTTPError::test_custom_error_serializer_optional_representation[wsgi-REPORT-/404-405] PASSED [ 36%] tests/test_httperror.py::TestHTTPError::test_custom_error_serializer_optional_representation[wsgi-BREW-/notfound-400] PASSED [ 36%] tests/test_httperror.py::TestHTTPError::test_custom_serializer_no_representation[asgi] PASSED [ 36%] tests/test_httperror.py::TestHTTPError::test_custom_serializer_no_representation[wsgi] PASSED [ 36%] tests/test_httperror.py::TestHTTPError::test_client_does_not_accept_anything[asgi] PASSED [ 36%] tests/test_httperror.py::TestHTTPError::test_client_does_not_accept_anything[wsgi] PASSED [ 36%] tests/test_httperror.py::TestHTTPError::test_forbidden[asgi-application/json] PASSED [ 36%] tests/test_httperror.py::TestHTTPError::test_forbidden[asgi-application/vnd.company.system.project.resource+json;v=1.1] PASSED [ 36%] tests/test_httperror.py::TestHTTPError::test_forbidden[asgi-application/json-patch+json] PASSED [ 36%] tests/test_httperror.py::TestHTTPError::test_forbidden[wsgi-application/json] PASSED [ 36%] tests/test_httperror.py::TestHTTPError::test_forbidden[wsgi-application/vnd.company.system.project.resource+json;v=1.1] PASSED [ 36%] tests/test_httperror.py::TestHTTPError::test_forbidden[wsgi-application/json-patch+json] PASSED [ 36%] tests/test_httperror.py::TestHTTPError::test_epic_fail_json[asgi] PASSED [ 37%] tests/test_httperror.py::TestHTTPError::test_epic_fail_json[wsgi] PASSED [ 37%] tests/test_httperror.py::TestHTTPError::test_epic_fail_xml[asgi-text/xml] PASSED [ 37%] tests/test_httperror.py::TestHTTPError::test_epic_fail_xml[asgi-application/xml] PASSED [ 37%] tests/test_httperror.py::TestHTTPError::test_epic_fail_xml[asgi-application/vnd.company.system.project.resource+xml;v=1.1] PASSED [ 37%] tests/test_httperror.py::TestHTTPError::test_epic_fail_xml[asgi-application/atom+xml] PASSED [ 37%] tests/test_httperror.py::TestHTTPError::test_epic_fail_xml[wsgi-text/xml] PASSED [ 37%] tests/test_httperror.py::TestHTTPError::test_epic_fail_xml[wsgi-application/xml] PASSED [ 37%] tests/test_httperror.py::TestHTTPError::test_epic_fail_xml[wsgi-application/vnd.company.system.project.resource+xml;v=1.1] PASSED [ 37%] tests/test_httperror.py::TestHTTPError::test_epic_fail_xml[wsgi-application/atom+xml] PASSED [ 37%] tests/test_httperror.py::TestHTTPError::test_unicode_json[asgi] PASSED [ 37%] tests/test_httperror.py::TestHTTPError::test_unicode_json[wsgi] PASSED [ 37%] tests/test_httperror.py::TestHTTPError::test_unicode_xml[asgi] PASSED [ 37%] tests/test_httperror.py::TestHTTPError::test_unicode_xml[wsgi] PASSED [ 37%] tests/test_httperror.py::TestHTTPError::test_401[asgi] PASSED [ 37%] tests/test_httperror.py::TestHTTPError::test_401[wsgi] PASSED [ 37%] tests/test_httperror.py::TestHTTPError::test_404_without_body[asgi] PASSED [ 37%] tests/test_httperror.py::TestHTTPError::test_404_without_body[wsgi] PASSED [ 37%] tests/test_httperror.py::TestHTTPError::test_404_with_body[asgi] PASSED [ 37%] tests/test_httperror.py::TestHTTPError::test_404_with_body[wsgi] PASSED [ 37%] tests/test_httperror.py::TestHTTPError::test_405_without_body[asgi] PASSED [ 37%] tests/test_httperror.py::TestHTTPError::test_405_without_body[wsgi] PASSED [ 37%] tests/test_httperror.py::TestHTTPError::test_405_without_body_with_extra_headers[asgi] PASSED [ 37%] tests/test_httperror.py::TestHTTPError::test_405_without_body_with_extra_headers[wsgi] PASSED [ 37%] tests/test_httperror.py::TestHTTPError::test_405_without_body_with_extra_headers_double_check[asgi] PASSED [ 37%] tests/test_httperror.py::TestHTTPError::test_405_without_body_with_extra_headers_double_check[wsgi] PASSED [ 37%] tests/test_httperror.py::TestHTTPError::test_405_with_body[asgi] PASSED [ 37%] tests/test_httperror.py::TestHTTPError::test_405_with_body[wsgi] PASSED [ 37%] tests/test_httperror.py::TestHTTPError::test_410_without_body[asgi] PASSED [ 37%] tests/test_httperror.py::TestHTTPError::test_410_without_body[wsgi] PASSED [ 37%] tests/test_httperror.py::TestHTTPError::test_410_with_body[asgi] PASSED [ 37%] tests/test_httperror.py::TestHTTPError::test_410_with_body[wsgi] PASSED [ 37%] tests/test_httperror.py::TestHTTPError::test_411[asgi] PASSED [ 37%] tests/test_httperror.py::TestHTTPError::test_411[wsgi] PASSED [ 37%] tests/test_httperror.py::TestHTTPError::test_413[asgi] PASSED [ 37%] tests/test_httperror.py::TestHTTPError::test_413[wsgi] PASSED [ 37%] tests/test_httperror.py::TestHTTPError::test_temporary_413_integer_retry_after[asgi] PASSED [ 37%] tests/test_httperror.py::TestHTTPError::test_temporary_413_integer_retry_after[wsgi] PASSED [ 37%] tests/test_httperror.py::TestHTTPError::test_temporary_413_datetime_retry_after[asgi] PASSED [ 37%] tests/test_httperror.py::TestHTTPError::test_temporary_413_datetime_retry_after[wsgi] PASSED [ 38%] tests/test_httperror.py::TestHTTPError::test_414[asgi] PASSED [ 38%] tests/test_httperror.py::TestHTTPError::test_414[wsgi] PASSED [ 38%] tests/test_httperror.py::TestHTTPError::test_414_with_title[asgi] PASSED [ 38%] tests/test_httperror.py::TestHTTPError::test_414_with_title[wsgi] PASSED [ 38%] tests/test_httperror.py::TestHTTPError::test_414_with_description[asgi] PASSED [ 38%] tests/test_httperror.py::TestHTTPError::test_414_with_description[wsgi] PASSED [ 38%] tests/test_httperror.py::TestHTTPError::test_414_with_custom_kwargs[asgi] PASSED [ 38%] tests/test_httperror.py::TestHTTPError::test_414_with_custom_kwargs[wsgi] PASSED [ 38%] tests/test_httperror.py::TestHTTPError::test_416[asgi] PASSED [ 38%] tests/test_httperror.py::TestHTTPError::test_416[wsgi] PASSED [ 38%] tests/test_httperror.py::TestHTTPError::test_429_no_retry_after[asgi] PASSED [ 38%] tests/test_httperror.py::TestHTTPError::test_429_no_retry_after[wsgi] PASSED [ 38%] tests/test_httperror.py::TestHTTPError::test_429[asgi] PASSED [ 38%] tests/test_httperror.py::TestHTTPError::test_429[wsgi] PASSED [ 38%] tests/test_httperror.py::TestHTTPError::test_429_datetime[asgi] PASSED [ 38%] tests/test_httperror.py::TestHTTPError::test_429_datetime[wsgi] PASSED [ 38%] tests/test_httperror.py::TestHTTPError::test_503_integer_retry_after[asgi] PASSED [ 38%] tests/test_httperror.py::TestHTTPError::test_503_integer_retry_after[wsgi] PASSED [ 38%] tests/test_httperror.py::TestHTTPError::test_503_datetime_retry_after[asgi] PASSED [ 38%] tests/test_httperror.py::TestHTTPError::test_503_datetime_retry_after[wsgi] PASSED [ 38%] tests/test_httperror.py::TestHTTPError::test_invalid_header[asgi] PASSED [ 38%] tests/test_httperror.py::TestHTTPError::test_invalid_header[wsgi] PASSED [ 38%] tests/test_httperror.py::TestHTTPError::test_missing_header[asgi] PASSED [ 38%] tests/test_httperror.py::TestHTTPError::test_missing_header[wsgi] PASSED [ 38%] tests/test_httperror.py::TestHTTPError::test_invalid_param[asgi] PASSED [ 38%] tests/test_httperror.py::TestHTTPError::test_invalid_param[wsgi] PASSED [ 38%] tests/test_httperror.py::TestHTTPError::test_missing_param[asgi] PASSED [ 38%] tests/test_httperror.py::TestHTTPError::test_missing_param[wsgi] PASSED [ 38%] tests/test_httperror.py::TestHTTPError::test_misc[asgi] PASSED [ 38%] tests/test_httperror.py::TestHTTPError::test_misc[wsgi] PASSED [ 38%] tests/test_httperror.py::TestHTTPError::test_title_default_message_if_none[asgi-503 Service Unavailable-str] PASSED [ 38%] tests/test_httperror.py::TestHTTPError::test_title_default_message_if_none[asgi-503 Service Unavailable-bytes] PASSED [ 38%] tests/test_httperror.py::TestHTTPError::test_title_default_message_if_none[asgi-503-int] PASSED [ 38%] tests/test_httperror.py::TestHTTPError::test_title_default_message_if_none[asgi-503-str] PASSED [ 38%] tests/test_httperror.py::TestHTTPError::test_title_default_message_if_none[asgi-503-bytes] PASSED [ 38%] tests/test_httperror.py::TestHTTPError::test_title_default_message_if_none[asgi-503-HTTPStatus] PASSED [ 38%] tests/test_httperror.py::TestHTTPError::test_title_default_message_if_none[wsgi-503 Service Unavailable-str] PASSED [ 38%] tests/test_httperror.py::TestHTTPError::test_title_default_message_if_none[wsgi-503 Service Unavailable-bytes] PASSED [ 38%] tests/test_httperror.py::TestHTTPError::test_title_default_message_if_none[wsgi-503-int] PASSED [ 39%] tests/test_httperror.py::TestHTTPError::test_title_default_message_if_none[wsgi-503-str] PASSED [ 39%] tests/test_httperror.py::TestHTTPError::test_title_default_message_if_none[wsgi-503-bytes] PASSED [ 39%] tests/test_httperror.py::TestHTTPError::test_title_default_message_if_none[wsgi-503-HTTPStatus] PASSED [ 39%] tests/test_httperror.py::TestHTTPError::test_to_json_dumps PASSED [ 39%] tests/test_httperror.py::TestHTTPError::test_serialize_error_uses_media_handler[asgi] PASSED [ 39%] tests/test_httperror.py::TestHTTPError::test_serialize_error_uses_media_handler[wsgi] PASSED [ 39%] tests/test_httperror.py::TestHTTPError::test_serialize_no_json_media_handler[asgi] PASSED [ 39%] tests/test_httperror.py::TestHTTPError::test_serialize_no_json_media_handler[wsgi] PASSED [ 39%] tests/test_httperror.py::TestHTTPError::test_MediaMalformedError PASSED [ 39%] tests/test_httperror.py::TestHTTPError::test_kw_only PASSED [ 39%] tests/test_httperror.py::TestDefaultSerializeError::test_unknown_accept[asgi] PASSED [ 39%] tests/test_httperror.py::TestDefaultSerializeError::test_unknown_accept[wsgi] PASSED [ 39%] tests/test_httperror.py::TestDefaultSerializeError::test_defaults_to_json[asgi-True] PASSED [ 39%] tests/test_httperror.py::TestDefaultSerializeError::test_defaults_to_json[asgi-False] PASSED [ 39%] tests/test_httperror.py::TestDefaultSerializeError::test_defaults_to_json[wsgi-True] PASSED [ 39%] tests/test_httperror.py::TestDefaultSerializeError::test_defaults_to_json[wsgi-False] PASSED [ 39%] tests/test_httperror.py::TestDefaultSerializeError::test_serializes_error_to_preferred_by_sender[asgi-application/json-application/json-{"title": "410 Gone"}] PASSED [ 39%] tests/test_httperror.py::TestDefaultSerializeError::test_serializes_error_to_preferred_by_sender[asgi-application/xml-application/xml-410 Gone] PASSED [ 39%] tests/test_httperror.py::TestDefaultSerializeError::test_serializes_error_to_preferred_by_sender[asgi-custom/any+json-application/json-{"title": "410 Gone"}] PASSED [ 39%] tests/test_httperror.py::TestDefaultSerializeError::test_serializes_error_to_preferred_by_sender[asgi-custom/any+xml-application/xml-410 Gone] PASSED [ 39%] tests/test_httperror.py::TestDefaultSerializeError::test_serializes_error_to_preferred_by_sender[asgi-application/yaml-application/yaml-title: 410 Gone!] PASSED [ 39%] tests/test_httperror.py::TestDefaultSerializeError::test_serializes_error_to_preferred_by_sender[asgi-application/only_async-application/only_async-this is async] PASSED [ 39%] 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%] tests/test_httperror.py::TestDefaultSerializeError::test_serializes_error_to_preferred_by_sender[wsgi-application/json-application/json-{"title": "410 Gone"}] PASSED [ 39%] tests/test_httperror.py::TestDefaultSerializeError::test_serializes_error_to_preferred_by_sender[wsgi-application/xml-application/xml-410 Gone] PASSED [ 39%] tests/test_httperror.py::TestDefaultSerializeError::test_serializes_error_to_preferred_by_sender[wsgi-custom/any+json-application/json-{"title": "410 Gone"}] PASSED [ 39%] tests/test_httperror.py::TestDefaultSerializeError::test_serializes_error_to_preferred_by_sender[wsgi-custom/any+xml-application/xml-410 Gone] PASSED [ 39%] tests/test_httperror.py::TestDefaultSerializeError::test_serializes_error_to_preferred_by_sender[wsgi-application/yaml-application/yaml-title: 410 Gone!] PASSED [ 39%] tests/test_httperror.py::TestDefaultSerializeError::test_serializes_error_to_preferred_by_sender[wsgi-application/only_async-application/only_async-this is async] PASSED [ 39%] 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%] tests/test_httperror.py::TestDefaultSerializeError::test_json_async_only_error PASSED [ 39%] tests/test_httperror.py::TestDefaultSerializeError::test_add_xml_handler[with_xml-asgi-application/xml] PASSED [ 39%] tests/test_httperror.py::TestDefaultSerializeError::test_add_xml_handler[with_xml-asgi-application/xhtml+xml] PASSED [ 39%] tests/test_httperror.py::TestDefaultSerializeError::test_add_xml_handler[with_xml-wsgi-application/xml] PASSED [ 39%] tests/test_httperror.py::TestDefaultSerializeError::test_add_xml_handler[with_xml-wsgi-application/xhtml+xml] PASSED [ 39%] tests/test_httperror.py::TestDefaultSerializeError::test_add_xml_handler[without_xml-asgi-application/xml] PASSED [ 39%] tests/test_httperror.py::TestDefaultSerializeError::test_add_xml_handler[without_xml-asgi-application/xhtml+xml] PASSED [ 39%] tests/test_httperror.py::TestDefaultSerializeError::test_add_xml_handler[without_xml-wsgi-application/xml] PASSED [ 39%] tests/test_httperror.py::TestDefaultSerializeError::test_add_xml_handler[without_xml-wsgi-application/xhtml+xml] PASSED [ 40%] tests/test_httperror.py::TestDefaultSerializeError::test_add_xml_handler[default_xml-asgi-application/xml] PASSED [ 40%] tests/test_httperror.py::TestDefaultSerializeError::test_add_xml_handler[default_xml-asgi-application/xhtml+xml] PASSED [ 40%] tests/test_httperror.py::TestDefaultSerializeError::test_add_xml_handler[default_xml-wsgi-application/xml] PASSED [ 40%] tests/test_httperror.py::TestDefaultSerializeError::test_add_xml_handler[default_xml-wsgi-application/xhtml+xml] PASSED [ 40%] 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%] 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%] tests/test_httperror.py::TestDefaultSerializeError::test_hard_content_types[with_xml-asgi-text/html, application/xhtml+xml, image/jxr, */*-application/json] PASSED [ 40%] 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%] 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%] 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%] 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%] tests/test_httperror.py::TestDefaultSerializeError::test_hard_content_types[with_xml-wsgi-text/html, application/xhtml+xml, image/jxr, */*-application/json] PASSED [ 40%] 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%] 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%] 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%] 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%] tests/test_httperror.py::TestDefaultSerializeError::test_hard_content_types[without_xml-asgi-text/html, application/xhtml+xml, image/jxr, */*-application/json] PASSED [ 40%] 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%] 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%] 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%] 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%] tests/test_httperror.py::TestDefaultSerializeError::test_hard_content_types[without_xml-wsgi-text/html, application/xhtml+xml, image/jxr, */*-application/json] PASSED [ 40%] 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%] 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%] 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%] 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%] tests/test_httperror.py::TestDefaultSerializeError::test_hard_content_types[default_xml-asgi-text/html, application/xhtml+xml, image/jxr, */*-application/json] PASSED [ 40%] 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%] 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%] 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%] 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%] tests/test_httperror.py::TestDefaultSerializeError::test_hard_content_types[default_xml-wsgi-text/html, application/xhtml+xml, image/jxr, */*-application/json] PASSED [ 40%] 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%] 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%] tests/test_httpstatus.py::TestHTTPStatus::test_raise_status_in_before_hook[asgi] PASSED [ 40%] tests/test_httpstatus.py::TestHTTPStatus::test_raise_status_in_before_hook[wsgi] PASSED [ 40%] tests/test_httpstatus.py::TestHTTPStatus::test_raise_status_in_responder[asgi] PASSED [ 40%] tests/test_httpstatus.py::TestHTTPStatus::test_raise_status_in_responder[wsgi] PASSED [ 40%] tests/test_httpstatus.py::TestHTTPStatus::test_raise_status_runs_after_hooks[asgi] PASSED [ 40%] tests/test_httpstatus.py::TestHTTPStatus::test_raise_status_runs_after_hooks[wsgi] PASSED [ 41%] tests/test_httpstatus.py::TestHTTPStatus::test_raise_status_survives_after_hooks[asgi] PASSED [ 41%] tests/test_httpstatus.py::TestHTTPStatus::test_raise_status_survives_after_hooks[wsgi] PASSED [ 41%] tests/test_httpstatus.py::TestHTTPStatus::test_raise_status_empty_body[asgi] PASSED [ 41%] tests/test_httpstatus.py::TestHTTPStatus::test_raise_status_empty_body[wsgi] PASSED [ 41%] tests/test_httpstatus.py::TestHTTPStatusWithMiddleware::test_raise_status_in_process_request[asgi] PASSED [ 41%] tests/test_httpstatus.py::TestHTTPStatusWithMiddleware::test_raise_status_in_process_request[wsgi] PASSED [ 41%] tests/test_httpstatus.py::TestHTTPStatusWithMiddleware::test_raise_status_in_process_resource[asgi] PASSED [ 41%] tests/test_httpstatus.py::TestHTTPStatusWithMiddleware::test_raise_status_in_process_resource[wsgi] PASSED [ 41%] tests/test_httpstatus.py::TestHTTPStatusWithMiddleware::test_raise_status_runs_process_response[asgi] PASSED [ 41%] tests/test_httpstatus.py::TestHTTPStatusWithMiddleware::test_raise_status_runs_process_response[wsgi] PASSED [ 41%] tests/test_httpstatus.py::TestNoBodyWithStatus::test_data_is_set[asgi] PASSED [ 41%] tests/test_httpstatus.py::TestNoBodyWithStatus::test_data_is_set[wsgi] PASSED [ 41%] tests/test_httpstatus.py::TestNoBodyWithStatus::test_media_is_set[asgi] PASSED [ 41%] tests/test_httpstatus.py::TestNoBodyWithStatus::test_media_is_set[wsgi] PASSED [ 41%] tests/test_httpstatus.py::TestNoBodyWithStatus::test_body_is_set[asgi] PASSED [ 41%] tests/test_httpstatus.py::TestNoBodyWithStatus::test_body_is_set[wsgi] PASSED [ 41%] tests/test_httpstatus.py::test_non_string_status[asgi-200-200_0] PASSED [ 41%] tests/test_httpstatus.py::test_non_string_status[asgi-202-202] PASSED [ 41%] tests/test_httpstatus.py::test_non_string_status[asgi-403-403] PASSED [ 41%] tests/test_httpstatus.py::test_non_string_status[asgi-500-500_0] PASSED [ 41%] tests/test_httpstatus.py::test_non_string_status[asgi-200-200_1] PASSED [ 41%] tests/test_httpstatus.py::test_non_string_status[asgi-305-305] PASSED [ 41%] tests/test_httpstatus.py::test_non_string_status[asgi-404-404] PASSED [ 41%] tests/test_httpstatus.py::test_non_string_status[asgi-501-501] PASSED [ 41%] tests/test_httpstatus.py::test_non_string_status[asgi-200-200_2] PASSED [ 41%] tests/test_httpstatus.py::test_non_string_status[asgi-307-307] PASSED [ 41%] tests/test_httpstatus.py::test_non_string_status[asgi-500-500_1] PASSED [ 41%] tests/test_httpstatus.py::test_non_string_status[asgi-702-702] PASSED [ 41%] tests/test_httpstatus.py::test_non_string_status[asgi-200 OK-200] PASSED [ 41%] tests/test_httpstatus.py::test_non_string_status[asgi-702 Emacs-702] PASSED [ 41%] tests/test_httpstatus.py::test_non_string_status[wsgi-200-200_0] PASSED [ 41%] tests/test_httpstatus.py::test_non_string_status[wsgi-202-202] PASSED [ 41%] tests/test_httpstatus.py::test_non_string_status[wsgi-403-403] PASSED [ 41%] tests/test_httpstatus.py::test_non_string_status[wsgi-500-500_0] PASSED [ 41%] tests/test_httpstatus.py::test_non_string_status[wsgi-200-200_1] PASSED [ 41%] tests/test_httpstatus.py::test_non_string_status[wsgi-305-305] PASSED [ 41%] tests/test_httpstatus.py::test_non_string_status[wsgi-404-404] PASSED [ 41%] tests/test_httpstatus.py::test_non_string_status[wsgi-501-501] PASSED [ 41%] tests/test_httpstatus.py::test_non_string_status[wsgi-200-200_2] PASSED [ 42%] tests/test_httpstatus.py::test_non_string_status[wsgi-307-307] PASSED [ 42%] tests/test_httpstatus.py::test_non_string_status[wsgi-500-500_1] PASSED [ 42%] tests/test_httpstatus.py::test_non_string_status[wsgi-702-702] PASSED [ 42%] tests/test_httpstatus.py::test_non_string_status[wsgi-200 OK-200] PASSED [ 42%] tests/test_httpstatus.py::test_non_string_status[wsgi-702 Emacs-702] PASSED [ 42%] tests/test_httpstatus.py::test_deprecated_body PASSED [ 42%] tests/test_inspect.py::TestInspectApp::test_empty_app[asgi] PASSED [ 42%] tests/test_inspect.py::TestInspectApp::test_empty_app[wsgi] PASSED [ 42%] tests/test_inspect.py::TestInspectApp::test_dependent_middleware[asgi] PASSED [ 42%] tests/test_inspect.py::TestInspectApp::test_dependent_middleware[wsgi] PASSED [ 42%] tests/test_inspect.py::TestInspectApp::test_app[asgi] PASSED [ 42%] tests/test_inspect.py::TestInspectApp::test_app[wsgi] PASSED [ 42%] tests/test_inspect.py::TestInspectApp::test_routes[asgi] PASSED [ 42%] tests/test_inspect.py::TestInspectApp::test_routes[wsgi] PASSED [ 42%] tests/test_inspect.py::TestInspectApp::test_routes_empty_paths[asgi] PASSED [ 42%] tests/test_inspect.py::TestInspectApp::test_routes_empty_paths[wsgi] PASSED [ 42%] tests/test_inspect.py::TestInspectApp::test_static_routes[asgi] PASSED [ 42%] tests/test_inspect.py::TestInspectApp::test_static_routes[wsgi] PASSED [ 42%] tests/test_inspect.py::TestInspectApp::test_sink[asgi] PASSED [ 42%] tests/test_inspect.py::TestInspectApp::test_sink[wsgi] PASSED [ 42%] tests/test_inspect.py::TestInspectApp::test_error_handler[asgi] PASSED [ 42%] tests/test_inspect.py::TestInspectApp::test_error_handler[wsgi] PASSED [ 42%] tests/test_inspect.py::TestInspectApp::test_middleware[asgi] PASSED [ 42%] tests/test_inspect.py::TestInspectApp::test_middleware[wsgi] PASSED [ 42%] tests/test_inspect.py::TestInspectApp::test_middleware_tree[asgi] PASSED [ 42%] tests/test_inspect.py::TestInspectApp::test_middleware_tree[wsgi] PASSED [ 42%] tests/test_inspect.py::test_route_method_info_suffix PASSED [ 42%] tests/test_inspect.py::TestRouter::test_compiled_partial PASSED [ 42%] tests/test_inspect.py::TestRouter::test_compiled_no_method_map PASSED [ 42%] tests/test_inspect.py::TestRouter::test_register_router_not_found PASSED [ 42%] tests/test_inspect.py::TestRouter::test_register_other_router PASSED [ 42%] tests/test_inspect.py::TestRouter::test_register_router_multiple_time PASSED [ 42%] tests/test_inspect.py::test_info_class_repr_to_string PASSED [ 42%] tests/test_inspect.py::TestInspectVisitor::test_inspect_visitor PASSED [ 42%] tests/test_inspect.py::TestInspectVisitor::test_process PASSED [ 42%] tests/test_inspect.py::test_string_visitor_class PASSED [ 42%] tests/test_inspect.py::TestStringVisitor::test_route_method[True] PASSED [ 42%] tests/test_inspect.py::TestStringVisitor::test_route_method[False] PASSED [ 42%] tests/test_inspect.py::TestStringVisitor::test_route_method_verbose[True] PASSED [ 43%] tests/test_inspect.py::TestStringVisitor::test_route_method_verbose[False] PASSED [ 43%] tests/test_inspect.py::TestStringVisitor::test_route[True] PASSED [ 43%] tests/test_inspect.py::TestStringVisitor::test_route[False] PASSED [ 43%] tests/test_inspect.py::TestStringVisitor::test_route_verbose[True] PASSED [ 43%] tests/test_inspect.py::TestStringVisitor::test_route_verbose[False] PASSED [ 43%] tests/test_inspect.py::TestStringVisitor::test_route_no_methods[True] PASSED [ 43%] tests/test_inspect.py::TestStringVisitor::test_route_no_methods[False] PASSED [ 43%] tests/test_inspect.py::TestStringVisitor::test_static_route[True-True] PASSED [ 43%] tests/test_inspect.py::TestStringVisitor::test_static_route[True-False] PASSED [ 43%] tests/test_inspect.py::TestStringVisitor::test_static_route[False-True] PASSED [ 43%] tests/test_inspect.py::TestStringVisitor::test_static_route[False-False] PASSED [ 43%] tests/test_inspect.py::TestStringVisitor::test_sink[True] PASSED [ 43%] tests/test_inspect.py::TestStringVisitor::test_sink[False] PASSED [ 43%] tests/test_inspect.py::TestStringVisitor::test_sink_verbose[True] PASSED [ 43%] tests/test_inspect.py::TestStringVisitor::test_sink_verbose[False] PASSED [ 43%] tests/test_inspect.py::TestStringVisitor::test_error_handler[True] PASSED [ 43%] tests/test_inspect.py::TestStringVisitor::test_error_handler[False] PASSED [ 43%] tests/test_inspect.py::TestStringVisitor::test_error_handler_verbose[True] PASSED [ 43%] tests/test_inspect.py::TestStringVisitor::test_error_handler_verbose[False] PASSED [ 43%] tests/test_inspect.py::TestStringVisitor::test_middleware_method[True] PASSED [ 43%] tests/test_inspect.py::TestStringVisitor::test_middleware_method[False] PASSED [ 43%] tests/test_inspect.py::TestStringVisitor::test_middleware_method_verbose[True] PASSED [ 43%] tests/test_inspect.py::TestStringVisitor::test_middleware_method_verbose[False] PASSED [ 43%] tests/test_inspect.py::TestStringVisitor::test_middleware_class[True] PASSED [ 43%] tests/test_inspect.py::TestStringVisitor::test_middleware_class[False] PASSED [ 43%] tests/test_inspect.py::TestStringVisitor::test_middleware_class_verbose[True] PASSED [ 43%] tests/test_inspect.py::TestStringVisitor::test_middleware_class_verbose[False] PASSED [ 43%] tests/test_inspect.py::TestStringVisitor::test_middleware_class_no_methods[True] PASSED [ 43%] tests/test_inspect.py::TestStringVisitor::test_middleware_class_no_methods[False] PASSED [ 43%] tests/test_inspect.py::TestStringVisitor::test_middleware_tree_item[True-True] PASSED [ 43%] tests/test_inspect.py::TestStringVisitor::test_middleware_tree_item[True-False] PASSED [ 43%] tests/test_inspect.py::TestStringVisitor::test_middleware_tree_item[False-True] PASSED [ 43%] tests/test_inspect.py::TestStringVisitor::test_middleware_tree_item[False-False] PASSED [ 43%] tests/test_inspect.py::TestStringVisitor::test_middleware_tree[True-True] PASSED [ 43%] tests/test_inspect.py::TestStringVisitor::test_middleware_tree[True-False] PASSED [ 43%] tests/test_inspect.py::TestStringVisitor::test_middleware_tree[False-True] PASSED [ 43%] tests/test_inspect.py::TestStringVisitor::test_middleware_tree[False-False] PASSED [ 43%] tests/test_inspect.py::TestStringVisitor::test_middleware_tree_response_only[True] PASSED [ 43%] tests/test_inspect.py::TestStringVisitor::test_middleware_tree_response_only[False] PASSED [ 44%] tests/test_inspect.py::TestStringVisitor::test_middleware_tree_no_response[True] PASSED [ 44%] tests/test_inspect.py::TestStringVisitor::test_middleware_tree_no_response[False] PASSED [ 44%] tests/test_inspect.py::TestStringVisitor::test_middleware_tree_no_resource[True] PASSED [ 44%] tests/test_inspect.py::TestStringVisitor::test_middleware_tree_no_resource[False] PASSED [ 44%] tests/test_inspect.py::TestStringVisitor::test_middleware[True] PASSED [ 44%] tests/test_inspect.py::TestStringVisitor::test_middleware[False] PASSED [ 44%] tests/test_inspect.py::TestStringVisitor::test_middleware_verbose[True] PASSED [ 44%] tests/test_inspect.py::TestStringVisitor::test_middleware_verbose[False] PASSED [ 44%] tests/test_inspect.py::TestStringVisitor::test_app[True-True] PASSED [ 44%] tests/test_inspect.py::TestStringVisitor::test_app[True-False] PASSED [ 44%] tests/test_inspect.py::TestStringVisitor::test_app[False-True] PASSED [ 44%] tests/test_inspect.py::TestStringVisitor::test_app[False-False] PASSED [ 44%] tests/test_inspect.py::TestStringVisitor::test_app_no_routes[True-True] PASSED [ 44%] tests/test_inspect.py::TestStringVisitor::test_app_no_routes[True-False] PASSED [ 44%] tests/test_inspect.py::TestStringVisitor::test_app_no_routes[False-True] PASSED [ 44%] tests/test_inspect.py::TestStringVisitor::test_app_no_routes[False-False] PASSED [ 44%] tests/test_inspect.py::TestStringVisitor::test_app_no_middleware[True-True] PASSED [ 44%] tests/test_inspect.py::TestStringVisitor::test_app_no_middleware[True-False] PASSED [ 44%] tests/test_inspect.py::TestStringVisitor::test_app_no_middleware[False-True] PASSED [ 44%] tests/test_inspect.py::TestStringVisitor::test_app_no_middleware[False-False] PASSED [ 44%] tests/test_inspect.py::TestStringVisitor::test_app_static_routes[True-True] PASSED [ 44%] tests/test_inspect.py::TestStringVisitor::test_app_static_routes[True-False] PASSED [ 44%] tests/test_inspect.py::TestStringVisitor::test_app_static_routes[False-True] PASSED [ 44%] tests/test_inspect.py::TestStringVisitor::test_app_static_routes[False-False] PASSED [ 44%] tests/test_inspect.py::TestStringVisitor::test_app_no_sink[True-True] PASSED [ 44%] tests/test_inspect.py::TestStringVisitor::test_app_no_sink[True-False] PASSED [ 44%] tests/test_inspect.py::TestStringVisitor::test_app_no_sink[False-True] PASSED [ 44%] tests/test_inspect.py::TestStringVisitor::test_app_no_sink[False-False] PASSED [ 44%] tests/test_inspect.py::TestStringVisitor::test_app_no_errors[True-True] PASSED [ 44%] tests/test_inspect.py::TestStringVisitor::test_app_no_errors[True-False] PASSED [ 44%] tests/test_inspect.py::TestStringVisitor::test_app_no_errors[False-True] PASSED [ 44%] tests/test_inspect.py::TestStringVisitor::test_app_no_errors[False-False] PASSED [ 44%] tests/test_inspect.py::TestStringVisitor::test_app_name[True] PASSED [ 44%] tests/test_inspect.py::TestStringVisitor::test_app_name[False] PASSED [ 44%] tests/test_inspect.py::test_is_internal PASSED [ 44%] tests/test_media_handlers.py::test_check_json_library[mujson] PASSED [ 44%] tests/test_media_handlers.py::test_check_json_library[orjson] SKIPPED [ 44%] tests/test_media_handlers.py::test_check_json_library[rapidjson] PASSED [ 44%] tests/test_media_handlers.py::test_check_json_library[ujson] PASSED [ 45%] tests/test_media_handlers.py::test_serialization[asgi-None-body0-{"test":"value"}] PASSED [ 45%] tests/test_media_handlers.py::test_serialization[asgi-func1-body1-[{"test":"value"},{"ensure_ascii":true}]] PASSED [ 45%] tests/test_media_handlers.py::test_serialization[asgi-None-body2-{"yen":"\xc2\xa5"}] PASSED [ 45%] tests/test_media_handlers.py::test_serialization[asgi-func3-body3-{"test":"value"}] PASSED [ 45%] tests/test_media_handlers.py::test_serialization[asgi-dumps-body4-{"test":"value"}] PASSED [ 45%] tests/test_media_handlers.py::test_serialization[asgi-dumps-body5-{"test":"value"}] PASSED [ 45%] tests/test_media_handlers.py::test_serialization[wsgi-None-body0-{"test":"value"}] PASSED [ 45%] tests/test_media_handlers.py::test_serialization[wsgi-func1-body1-[{"test":"value"},{"ensure_ascii":true}]] PASSED [ 45%] tests/test_media_handlers.py::test_serialization[wsgi-None-body2-{"yen":"\xc2\xa5"}] PASSED [ 45%] tests/test_media_handlers.py::test_serialization[wsgi-func3-body3-{"test":"value"}] PASSED [ 45%] tests/test_media_handlers.py::test_serialization[wsgi-dumps-body4-{"test":"value"}] PASSED [ 45%] tests/test_media_handlers.py::test_serialization[wsgi-dumps-body5-{"test":"value"}] PASSED [ 45%] tests/test_media_handlers.py::test_deserialization[asgi-None-[1, 2]-expected0] PASSED [ 45%] tests/test_media_handlers.py::test_deserialization[asgi-func1-{"key": "value"}-expected1] PASSED [ 45%] tests/test_media_handlers.py::test_deserialization[asgi-temp_json_func-{"test": "value"}-expected2] PASSED [ 45%] tests/test_media_handlers.py::test_deserialization[asgi-loads-{"test": "value"}-expected3] PASSED [ 45%] tests/test_media_handlers.py::test_deserialization[asgi-loads-{"test": "value"}-expected4] PASSED [ 45%] tests/test_media_handlers.py::test_deserialization[wsgi-None-[1, 2]-expected0] PASSED [ 45%] tests/test_media_handlers.py::test_deserialization[wsgi-func1-{"key": "value"}-expected1] PASSED [ 45%] tests/test_media_handlers.py::test_deserialization[wsgi-temp_json_func-{"test": "value"}-expected2] PASSED [ 45%] tests/test_media_handlers.py::test_deserialization[wsgi-loads-{"test": "value"}-expected3] PASSED [ 45%] tests/test_media_handlers.py::test_deserialization[wsgi-loads-{"test": "value"}-expected4] PASSED [ 45%] tests/test_media_handlers.py::test_full_app[asgi-True-stdlib] PASSED [ 45%] tests/test_media_handlers.py::test_full_app[asgi-True-mujson] PASSED [ 45%] tests/test_media_handlers.py::test_full_app[asgi-True-rapidjson] PASSED [ 45%] tests/test_media_handlers.py::test_full_app[asgi-True-ujson] PASSED [ 45%] tests/test_media_handlers.py::test_full_app[asgi-False-stdlib] PASSED [ 45%] tests/test_media_handlers.py::test_full_app[asgi-False-mujson] PASSED [ 45%] tests/test_media_handlers.py::test_full_app[asgi-False-rapidjson] PASSED [ 45%] tests/test_media_handlers.py::test_full_app[asgi-False-ujson] PASSED [ 45%] tests/test_media_handlers.py::test_full_app[wsgi-True-stdlib] PASSED [ 45%] tests/test_media_handlers.py::test_full_app[wsgi-True-mujson] PASSED [ 45%] tests/test_media_handlers.py::test_full_app[wsgi-True-rapidjson] PASSED [ 45%] tests/test_media_handlers.py::test_full_app[wsgi-True-ujson] PASSED [ 45%] tests/test_media_handlers.py::test_full_app[wsgi-False-stdlib] PASSED [ 45%] tests/test_media_handlers.py::test_full_app[wsgi-False-mujson] PASSED [ 45%] tests/test_media_handlers.py::test_full_app[wsgi-False-rapidjson] PASSED [ 45%] tests/test_media_handlers.py::test_full_app[wsgi-False-ujson] PASSED [ 45%] tests/test_media_handlers.py::test_deserialization_raises[asgi-application/json] PASSED [ 46%] tests/test_media_handlers.py::test_deserialization_raises[asgi-application/json; answer=42] PASSED [ 46%] tests/test_media_handlers.py::test_deserialization_raises[wsgi-application/json] PASSED [ 46%] tests/test_media_handlers.py::test_deserialization_raises[wsgi-application/json; answer=42] PASSED [ 46%] tests/test_media_handlers.py::test_sync_methods_not_overridden[asgi] PASSED [ 46%] tests/test_media_handlers.py::test_sync_methods_not_overridden[wsgi] PASSED [ 46%] tests/test_media_handlers.py::test_async_methods_not_overridden PASSED [ 46%] tests/test_media_handlers.py::test_async_handler_returning_none PASSED [ 46%] tests/test_media_handlers.py::test_json_err_no_handler[asgi] PASSED [ 46%] tests/test_media_handlers.py::test_json_err_no_handler[wsgi] PASSED [ 46%] tests/test_media_handlers.py::test_handlers_include_new_media_handlers_in_resolving PASSED [ 46%] tests/test_media_handlers.py::TestBaseHandler::test_defaultError PASSED [ 46%] tests/test_media_handlers.py::TestBaseHandler::test_json PASSED [ 46%] tests/test_media_multipart.py::test_parse[5b11af82ab65407ba8cdccf37d2a9c4f] PASSED [ 46%] tests/test_media_multipart.py::test_parse[---------------------------1574247108204320607285918568] PASSED [ 46%] tests/test_media_multipart.py::test_parse[BOUNDARY] PASSED [ 46%] tests/test_media_multipart.py::test_parse[boundary] PASSED [ 46%] tests/test_media_multipart.py::test_parsing_correctness[32-7] PASSED [ 46%] tests/test_media_multipart.py::test_parsing_correctness[32-8] PASSED [ 46%] tests/test_media_multipart.py::test_parsing_correctness[32-9] PASSED [ 46%] tests/test_media_multipart.py::test_parsing_correctness[32-10] PASSED [ 46%] tests/test_media_multipart.py::test_parsing_correctness[32-32] PASSED [ 46%] tests/test_media_multipart.py::test_parsing_correctness[32-64] PASSED [ 46%] tests/test_media_multipart.py::test_parsing_correctness[32-128] PASSED [ 46%] tests/test_media_multipart.py::test_parsing_correctness[32-256] PASSED [ 46%] tests/test_media_multipart.py::test_parsing_correctness[64-7] PASSED [ 46%] tests/test_media_multipart.py::test_parsing_correctness[64-8] PASSED [ 46%] tests/test_media_multipart.py::test_parsing_correctness[64-9] PASSED [ 46%] tests/test_media_multipart.py::test_parsing_correctness[64-10] PASSED [ 46%] tests/test_media_multipart.py::test_parsing_correctness[64-32] PASSED [ 46%] tests/test_media_multipart.py::test_parsing_correctness[64-64] PASSED [ 46%] tests/test_media_multipart.py::test_parsing_correctness[64-128] PASSED [ 46%] tests/test_media_multipart.py::test_parsing_correctness[64-256] PASSED [ 46%] tests/test_media_multipart.py::test_parsing_correctness[128-7] PASSED [ 46%] tests/test_media_multipart.py::test_parsing_correctness[128-8] PASSED [ 46%] tests/test_media_multipart.py::test_parsing_correctness[128-9] PASSED [ 46%] tests/test_media_multipart.py::test_parsing_correctness[128-10] PASSED [ 46%] tests/test_media_multipart.py::test_parsing_correctness[128-32] PASSED [ 46%] tests/test_media_multipart.py::test_parsing_correctness[128-64] PASSED [ 46%] tests/test_media_multipart.py::test_parsing_correctness[128-128] PASSED [ 46%] tests/test_media_multipart.py::test_parsing_correctness[128-256] PASSED [ 47%] tests/test_media_multipart.py::test_parsing_correctness[256-7] PASSED [ 47%] tests/test_media_multipart.py::test_parsing_correctness[256-8] PASSED [ 47%] tests/test_media_multipart.py::test_parsing_correctness[256-9] PASSED [ 47%] tests/test_media_multipart.py::test_parsing_correctness[256-10] PASSED [ 47%] tests/test_media_multipart.py::test_parsing_correctness[256-32] PASSED [ 47%] tests/test_media_multipart.py::test_parsing_correctness[256-64] PASSED [ 47%] tests/test_media_multipart.py::test_parsing_correctness[256-128] PASSED [ 47%] tests/test_media_multipart.py::test_parsing_correctness[256-256] PASSED [ 47%] tests/test_media_multipart.py::test_missing_boundary PASSED [ 47%] tests/test_media_multipart.py::test_empty_input PASSED [ 47%] tests/test_media_multipart.py::test_serialize PASSED [ 47%] tests/test_media_multipart.py::test_invalid_text_or_charset[utf-8-Impossible byte: \xff] PASSED [ 47%] tests/test_media_multipart.py::test_invalid_text_or_charset[utf-8-Overlong... \xfc\x83\xbf\xbf\xbf\xbf ... sequence] PASSED [ 47%] tests/test_media_multipart.py::test_invalid_text_or_charset[ascii-\x80\x80\x80] PASSED [ 47%] tests/test_media_multipart.py::test_invalid_text_or_charset[pecyn-AAHEHlRoZSBGYWxjb24gV2ViIEZyYW1ld29yaywgMjAxOQ==] PASSED [ 47%] tests/test_media_multipart.py::test_unknown_header PASSED [ 47%] tests/test_media_multipart.py::test_from_buffered_stream PASSED [ 47%] tests/test_media_multipart.py::test_body_part_media PASSED [ 47%] tests/test_media_multipart.py::test_body_part_properties PASSED [ 47%] tests/test_media_multipart.py::test_empty_or_missing_filename PASSED [ 47%] tests/test_media_multipart.py::test_upload_multipart[asgi] PASSED [ 47%] tests/test_media_multipart.py::test_upload_multipart[wsgi] PASSED [ 47%] tests/test_media_multipart.py::test_epilogue[asgi-] PASSED [ 47%] tests/test_media_multipart.py::test_epilogue[asgi---] PASSED [ 47%] tests/test_media_multipart.py::test_epilogue[asgi-\n] PASSED [ 47%] tests/test_media_multipart.py::test_epilogue[asgi-\n\n] PASSED [ 47%] tests/test_media_multipart.py::test_epilogue[asgi- <-- no CRLF] PASSED [ 47%] tests/test_media_multipart.py::test_epilogue[asgi-\U0001f4a5] PASSED [ 47%] tests/test_media_multipart.py::test_epilogue[wsgi-] PASSED [ 47%] tests/test_media_multipart.py::test_epilogue[wsgi---] PASSED [ 47%] tests/test_media_multipart.py::test_epilogue[wsgi-\n] PASSED [ 47%] tests/test_media_multipart.py::test_epilogue[wsgi-\n\n] PASSED [ 47%] tests/test_media_multipart.py::test_epilogue[wsgi- <-- no CRLF] PASSED [ 47%] tests/test_media_multipart.py::test_epilogue[wsgi-\U0001f4a5] PASSED [ 47%] tests/test_media_multipart.py::test_truncated_form[asgi-1] PASSED [ 47%] tests/test_media_multipart.py::test_truncated_form[asgi-2] PASSED [ 47%] tests/test_media_multipart.py::test_truncated_form[asgi-3] PASSED [ 47%] tests/test_media_multipart.py::test_truncated_form[asgi-4] PASSED [ 47%] tests/test_media_multipart.py::test_truncated_form[wsgi-1] PASSED [ 48%] tests/test_media_multipart.py::test_truncated_form[wsgi-2] PASSED [ 48%] tests/test_media_multipart.py::test_truncated_form[wsgi-3] PASSED [ 48%] tests/test_media_multipart.py::test_truncated_form[wsgi-4] PASSED [ 48%] tests/test_media_multipart.py::test_unexpected_form_structure[asgi] PASSED [ 48%] tests/test_media_multipart.py::test_unexpected_form_structure[wsgi] PASSED [ 48%] tests/test_media_multipart.py::test_data_too_large[asgi] PASSED [ 48%] tests/test_media_multipart.py::test_data_too_large[wsgi] PASSED [ 48%] tests/test_media_multipart.py::test_too_many_body_parts[asgi-0] PASSED [ 48%] tests/test_media_multipart.py::test_too_many_body_parts[asgi-1] PASSED [ 48%] tests/test_media_multipart.py::test_too_many_body_parts[asgi-2] PASSED [ 48%] tests/test_media_multipart.py::test_too_many_body_parts[asgi-3] PASSED [ 48%] tests/test_media_multipart.py::test_too_many_body_parts[asgi-4] PASSED [ 48%] tests/test_media_multipart.py::test_too_many_body_parts[asgi-5] PASSED [ 48%] tests/test_media_multipart.py::test_too_many_body_parts[asgi-6] PASSED [ 48%] tests/test_media_multipart.py::test_too_many_body_parts[asgi-100] PASSED [ 48%] tests/test_media_multipart.py::test_too_many_body_parts[asgi-1000] PASSED [ 48%] tests/test_media_multipart.py::test_too_many_body_parts[wsgi-0] PASSED [ 48%] tests/test_media_multipart.py::test_too_many_body_parts[wsgi-1] PASSED [ 48%] tests/test_media_multipart.py::test_too_many_body_parts[wsgi-2] PASSED [ 48%] tests/test_media_multipart.py::test_too_many_body_parts[wsgi-3] PASSED [ 48%] tests/test_media_multipart.py::test_too_many_body_parts[wsgi-4] PASSED [ 48%] tests/test_media_multipart.py::test_too_many_body_parts[wsgi-5] PASSED [ 48%] tests/test_media_multipart.py::test_too_many_body_parts[wsgi-6] PASSED [ 48%] tests/test_media_multipart.py::test_too_many_body_parts[wsgi-100] PASSED [ 48%] tests/test_media_multipart.py::test_too_many_body_parts[wsgi-1000] PASSED [ 48%] tests/test_media_multipart.py::test_random_form[asgi---] PASSED [ 48%] tests/test_media_multipart.py::test_random_form[asgi---\r\n] PASSED [ 48%] tests/test_media_multipart.py::test_random_form[wsgi---] PASSED [ 48%] tests/test_media_multipart.py::test_random_form[wsgi---\r\n] PASSED [ 48%] tests/test_media_multipart.py::test_invalid_random_form[asgi] PASSED [ 48%] tests/test_media_multipart.py::test_invalid_random_form[wsgi] PASSED [ 48%] tests/test_media_multipart.py::test_nested_multipart_mixed PASSED [ 48%] tests/test_media_multipart.py::test_content_transfer_encoding_header[asgi] PASSED [ 48%] tests/test_media_multipart.py::test_content_transfer_encoding_header[wsgi] PASSED [ 48%] tests/test_media_multipart.py::test_unsupported_charset[asgi] PASSED [ 48%] tests/test_media_multipart.py::test_unsupported_charset[wsgi] PASSED [ 48%] tests/test_media_multipart.py::test_filename_star[asgi] PASSED [ 48%] tests/test_media_multipart.py::test_filename_star[wsgi] PASSED [ 48%] tests/test_media_multipart.py::test_headers_edge_cases[asgi-64] PASSED [ 49%] tests/test_media_multipart.py::test_headers_edge_cases[asgi-140] PASSED [ 49%] tests/test_media_multipart.py::test_headers_edge_cases[asgi-141] PASSED [ 49%] tests/test_media_multipart.py::test_headers_edge_cases[asgi-142] PASSED [ 49%] tests/test_media_multipart.py::test_headers_edge_cases[asgi-256] PASSED [ 49%] tests/test_media_multipart.py::test_headers_edge_cases[asgi-1024] PASSED [ 49%] tests/test_media_multipart.py::test_headers_edge_cases[wsgi-64] PASSED [ 49%] tests/test_media_multipart.py::test_headers_edge_cases[wsgi-140] PASSED [ 49%] tests/test_media_multipart.py::test_headers_edge_cases[wsgi-141] PASSED [ 49%] tests/test_media_multipart.py::test_headers_edge_cases[wsgi-142] PASSED [ 49%] tests/test_media_multipart.py::test_headers_edge_cases[wsgi-256] PASSED [ 49%] tests/test_media_multipart.py::test_headers_edge_cases[wsgi-1024] PASSED [ 49%] tests/test_media_multipart.py::test_deserialize_part_media[asgi] PASSED [ 49%] tests/test_media_multipart.py::test_deserialize_part_media[wsgi] PASSED [ 49%] tests/test_media_multipart.py::test_deserialize_custom_media[asgi] PASSED [ 49%] tests/test_media_multipart.py::test_deserialize_custom_media[wsgi] PASSED [ 49%] tests/test_media_multipart.py::test_multipart_parse_options_default_handlers_unique PASSED [ 49%] tests/test_media_urlencoded.py::test_deserialize_empty_form PASSED [ 49%] tests/test_media_urlencoded.py::test_deserialize_invalid_unicode PASSED [ 49%] tests/test_media_urlencoded.py::test_urlencoded_form_handler_serialize[data0-hello=world] PASSED [ 49%] tests/test_media_urlencoded.py::test_urlencoded_form_handler_serialize[data1-number=1&number=2] PASSED [ 49%] tests/test_media_urlencoded.py::test_empty_form[asgi] PASSED [ 49%] tests/test_media_urlencoded.py::test_empty_form[wsgi] PASSED [ 49%] tests/test_media_urlencoded.py::test_urlencoded_form[asgi-a=1&b=&c=3-expected0] PASSED [ 49%] tests/test_media_urlencoded.py::test_urlencoded_form[asgi-param=undefined-expected1] PASSED [ 49%] tests/test_media_urlencoded.py::test_urlencoded_form[asgi-color=green&color=black-expected2] PASSED [ 49%] tests/test_media_urlencoded.py::test_urlencoded_form[asgi-food=hamburger+%28%F0%9F%8D%94%29&sauce=BBQ-expected3] PASSED [ 49%] tests/test_media_urlencoded.py::test_urlencoded_form[asgi-flag%1&flag%2&flag%1&flag%2-expected4] PASSED [ 49%] tests/test_media_urlencoded.py::test_urlencoded_form[wsgi-a=1&b=&c=3-expected0] PASSED [ 49%] tests/test_media_urlencoded.py::test_urlencoded_form[wsgi-param=undefined-expected1] PASSED [ 49%] tests/test_media_urlencoded.py::test_urlencoded_form[wsgi-color=green&color=black-expected2] PASSED [ 49%] tests/test_media_urlencoded.py::test_urlencoded_form[wsgi-food=hamburger+%28%F0%9F%8D%94%29&sauce=BBQ-expected3] PASSED [ 49%] tests/test_media_urlencoded.py::test_urlencoded_form[wsgi-flag%1&flag%2&flag%1&flag%2-expected4] PASSED [ 49%] tests/test_mediatypes.py::test_parse_header[-expected0] PASSED [ 49%] tests/test_mediatypes.py::test_parse_header[strange-expected1] PASSED [ 49%] tests/test_mediatypes.py::test_parse_header[text/plain-expected2] PASSED [ 49%] tests/test_mediatypes.py::test_parse_header[text/plain -expected3] PASSED [ 49%] tests/test_mediatypes.py::test_parse_header[ text/plain-expected4] PASSED [ 49%] tests/test_mediatypes.py::test_parse_header[ text/plain -expected5] PASSED [ 49%] tests/test_mediatypes.py::test_parse_header[ text/plain -expected6] PASSED [ 50%] tests/test_mediatypes.py::test_parse_header[falcon/peregrine; key1; key2=value; key3-expected7] PASSED [ 50%] tests/test_mediatypes.py::test_parse_header[audio/pcm;rate=48000;encoding=float;bits=32-expected8] PASSED [ 50%] tests/test_mediatypes.py::test_parse_header[falcon/*; genus=falco; family=falconidae; class=aves; -expected9] PASSED [ 50%] tests/test_mediatypes.py::test_parse_header["falcon/peregrine" ; key="value"-expected10] PASSED [ 50%] tests/test_mediatypes.py::test_parse_header[falcon/peregrine; empty=""-expected11] PASSED [ 50%] tests/test_mediatypes.py::test_parse_header[falcon/peregrine; quote="-expected12] PASSED [ 50%] tests/test_mediatypes.py::test_parse_header[text/plain; charset=utf-8-expected13] PASSED [ 50%] tests/test_mediatypes.py::test_parse_header[stuff/strange; missing-value; missing-another-expected14] PASSED [ 50%] tests/test_mediatypes.py::test_parse_header[stuff/strange; missing-value\\missing-another-expected15] PASSED [ 50%] tests/test_mediatypes.py::test_parse_header[application/falcon; P1 = "key; value"; P2="\\""-expected16] PASSED [ 50%] tests/test_mediatypes.py::test_media_type_private_cls PASSED [ 50%] tests/test_mediatypes.py::test_media_range_private_cls PASSED [ 50%] tests/test_mediatypes.py::test_quality_rfc_examples[RFC-7231-text/html;level=1-1.0] PASSED [ 50%] tests/test_mediatypes.py::test_quality_rfc_examples[RFC-7231-text/html-0.7] PASSED [ 50%] tests/test_mediatypes.py::test_quality_rfc_examples[RFC-7231-text/plain-0.3] PASSED [ 50%] tests/test_mediatypes.py::test_quality_rfc_examples[RFC-7231-image/jpeg-0.5] PASSED [ 50%] tests/test_mediatypes.py::test_quality_rfc_examples[RFC-7231-text/html;level=2-0.4] PASSED [ 50%] tests/test_mediatypes.py::test_quality_rfc_examples[RFC-7231-text/html;level=3-0.7] PASSED [ 50%] tests/test_mediatypes.py::test_quality_rfc_examples[RFC-9110-text/html;level=1-1.0] PASSED [ 50%] tests/test_mediatypes.py::test_quality_rfc_examples[RFC-9110-text/html-0.7] PASSED [ 50%] tests/test_mediatypes.py::test_quality_rfc_examples[RFC-9110-text/plain-0.3] PASSED [ 50%] tests/test_mediatypes.py::test_quality_rfc_examples[RFC-9110-image/jpeg-0.5] PASSED [ 50%] tests/test_mediatypes.py::test_quality_rfc_examples[RFC-9110-text/html;level=2-0.4] PASSED [ 50%] tests/test_mediatypes.py::test_quality_rfc_examples[RFC-9110-text/html;level=3-0.7] PASSED [ 50%] tests/test_mediatypes.py::test_quality[application/*, */wildcard; q=0.7, */*; q=0.25-test/wildcard; expect=pass-0.7] PASSED [ 50%] tests/test_mediatypes.py::test_quality[application/*, */wildcard; q=0.7, */*; q=0.25-application/wildcard; expect=pass-1.0] PASSED [ 50%] tests/test_mediatypes.py::test_quality[application/*, */wildcard; q=0.7, */*; q=0.25-test/something; expect=pass-0.25] PASSED [ 50%] 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%] 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%] 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%] 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%] 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%] tests/test_mediatypes.py::test_quality_none_matches[application/json-application/yaml] PASSED [ 50%] tests/test_mediatypes.py::test_quality_none_matches[audio/*; q=0.2, audio/basic-video/mp3] PASSED [ 50%] tests/test_mediatypes.py::test_quality_none_matches[falcon/peregrine; speed=high; unladen=true-falcon/peregrine; speed=average] PASSED [ 50%] tests/test_mediatypes.py::test_quality_none_matches[text/html, text/plain-text/x-python] PASSED [ 50%] tests/test_mediatypes.py::test_quality_none_matches[*/json; q=0.2, application/json-application/msgpack] PASSED [ 50%] 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%] tests/test_mediatypes.py::test_best_match[media_types0-application/json-application/json] PASSED [ 51%] tests/test_mediatypes.py::test_best_match[media_types1-application/json; charset=utf-8-application/json] PASSED [ 51%] tests/test_mediatypes.py::test_best_match[media_types2-application/json, */*; q=0.2-application/json] PASSED [ 51%] tests/test_mediatypes.py::test_best_match_none_matches[media_types0-application/yaml] PASSED [ 51%] tests/test_mediatypes.py::test_best_match_none_matches[media_types1-video/mp3] PASSED [ 51%] tests/test_mediatypes.py::test_best_match_none_matches[media_types2-falcon/peregrine; speed=average] PASSED [ 51%] tests/test_mediatypes.py::test_best_match_none_matches[media_types3-text/x-python] PASSED [ 51%] tests/test_mediatypes.py::test_best_match_none_matches[media_types4-application/msgpack] PASSED [ 51%] tests/test_mediatypes.py::test_best_match_none_matches[media_types5-text/plain; format=flowed] PASSED [ 51%] tests/test_mediatypes.py::test_best_match_none_matches[media_types6-application/xml, text/*; q=0.7] PASSED [ 51%] tests/test_mediatypes.py::test_best_match_none_matches[media_types7-falcon/peregrine; load=heavy] PASSED [ 51%] tests/test_mediatypes.py::test_invalid_media_type[] PASSED [ 51%] tests/test_mediatypes.py::test_invalid_media_type[word document] PASSED [ 51%] tests/test_mediatypes.py::test_invalid_media_type[text] PASSED [ 51%] tests/test_mediatypes.py::test_invalid_media_range[] PASSED [ 51%] tests/test_mediatypes.py::test_invalid_media_range[word document] PASSED [ 51%] tests/test_mediatypes.py::test_invalid_media_range[text] PASSED [ 51%] tests/test_mediatypes.py::test_invalid_media_range[text/plain; q=high] PASSED [ 51%] tests/test_mediatypes.py::test_invalid_media_range[*/*; q=inf] PASSED [ 51%] tests/test_mediatypes.py::test_invalid_media_range[*/*; q=-inf] PASSED [ 51%] tests/test_mediatypes.py::test_invalid_media_range[*/*; q=nan] PASSED [ 51%] tests/test_mediatypes.py::test_invalid_media_range[application/very-important; q=1337.0] PASSED [ 51%] tests/test_mediatypes.py::test_empty_media_types[media_types0-*/*] PASSED [ 51%] tests/test_mediatypes.py::test_empty_media_types[media_types0-application/xml, text/*; q=0.7, */*; q=0.3] PASSED [ 51%] tests/test_mediatypes.py::test_empty_media_types[media_types1-*/*] PASSED [ 51%] tests/test_mediatypes.py::test_empty_media_types[media_types1-application/xml, text/*; q=0.7, */*; q=0.3] PASSED [ 51%] tests/test_mediatypes.py::test_empty_media_types[media_types2-*/*] PASSED [ 51%] tests/test_mediatypes.py::test_empty_media_types[media_types2-application/xml, text/*; q=0.7, */*; q=0.3] PASSED [ 51%] tests/test_mediatypes.py::test_empty_media_types[_generate_strings-*/*] PASSED [ 51%] tests/test_mediatypes.py::test_empty_media_types[_generate_strings-application/xml, text/*; q=0.7, */*; q=0.3] PASSED [ 51%] tests/test_middleware.py::TestRequestTimeMiddleware::test_skip_process_resource[asgi] PASSED [ 51%] tests/test_middleware.py::TestRequestTimeMiddleware::test_skip_process_resource[wsgi] PASSED [ 51%] tests/test_middleware.py::TestRequestTimeMiddleware::test_add_invalid_middleware[asgi] PASSED [ 51%] tests/test_middleware.py::TestRequestTimeMiddleware::test_add_invalid_middleware[wsgi] PASSED [ 51%] tests/test_middleware.py::TestRequestTimeMiddleware::test_response_middleware_raises_exception[asgi] PASSED [ 51%] tests/test_middleware.py::TestRequestTimeMiddleware::test_response_middleware_raises_exception[wsgi] PASSED [ 51%] tests/test_middleware.py::TestRequestTimeMiddleware::test_log_get_request[asgi-True] PASSED [ 51%] tests/test_middleware.py::TestRequestTimeMiddleware::test_log_get_request[asgi-False] PASSED [ 51%] tests/test_middleware.py::TestRequestTimeMiddleware::test_log_get_request[wsgi-True] PASSED [ 51%] tests/test_middleware.py::TestRequestTimeMiddleware::test_log_get_request[wsgi-False] PASSED [ 52%] tests/test_middleware.py::TestTransactionIdMiddleware::test_generate_trans_id_with_request[asgi] PASSED [ 52%] tests/test_middleware.py::TestTransactionIdMiddleware::test_generate_trans_id_with_request[wsgi] PASSED [ 52%] tests/test_middleware.py::TestSeveralMiddlewares::test_generate_trans_id_and_time_with_request[asgi-True] PASSED [ 52%] tests/test_middleware.py::TestSeveralMiddlewares::test_generate_trans_id_and_time_with_request[asgi-False] PASSED [ 52%] tests/test_middleware.py::TestSeveralMiddlewares::test_generate_trans_id_and_time_with_request[wsgi-True] PASSED [ 52%] tests/test_middleware.py::TestSeveralMiddlewares::test_generate_trans_id_and_time_with_request[wsgi-False] PASSED [ 52%] tests/test_middleware.py::TestSeveralMiddlewares::test_legacy_middleware_called_with_correct_args[asgi] PASSED [ 52%] tests/test_middleware.py::TestSeveralMiddlewares::test_legacy_middleware_called_with_correct_args[wsgi] PASSED [ 52%] tests/test_middleware.py::TestSeveralMiddlewares::test_middleware_execution_order[asgi] PASSED [ 52%] tests/test_middleware.py::TestSeveralMiddlewares::test_middleware_execution_order[wsgi] PASSED [ 52%] tests/test_middleware.py::TestSeveralMiddlewares::test_independent_middleware_execution_order[asgi] PASSED [ 52%] tests/test_middleware.py::TestSeveralMiddlewares::test_independent_middleware_execution_order[wsgi] PASSED [ 52%] tests/test_middleware.py::TestSeveralMiddlewares::test_multiple_response_mw_throw_exception[asgi] PASSED [ 52%] tests/test_middleware.py::TestSeveralMiddlewares::test_multiple_response_mw_throw_exception[wsgi] PASSED [ 52%] tests/test_middleware.py::TestSeveralMiddlewares::test_inner_mw_throw_exception[asgi] PASSED [ 52%] tests/test_middleware.py::TestSeveralMiddlewares::test_inner_mw_throw_exception[wsgi] PASSED [ 52%] tests/test_middleware.py::TestSeveralMiddlewares::test_inner_mw_throw_exception_while_processing_resp[asgi] PASSED [ 52%] tests/test_middleware.py::TestSeveralMiddlewares::test_inner_mw_throw_exception_while_processing_resp[wsgi] PASSED [ 52%] tests/test_middleware.py::TestSeveralMiddlewares::test_inner_mw_with_ex_handler_throw_exception[asgi] PASSED [ 52%] tests/test_middleware.py::TestSeveralMiddlewares::test_inner_mw_with_ex_handler_throw_exception[wsgi] PASSED [ 52%] tests/test_middleware.py::TestSeveralMiddlewares::test_outer_mw_with_ex_handler_throw_exception[asgi] PASSED [ 52%] tests/test_middleware.py::TestSeveralMiddlewares::test_outer_mw_with_ex_handler_throw_exception[wsgi] PASSED [ 52%] tests/test_middleware.py::TestSeveralMiddlewares::test_order_mw_executed_when_exception_in_resp[asgi] PASSED [ 52%] tests/test_middleware.py::TestSeveralMiddlewares::test_order_mw_executed_when_exception_in_resp[wsgi] PASSED [ 52%] tests/test_middleware.py::TestSeveralMiddlewares::test_order_independent_mw_executed_when_exception_in_resp[asgi] PASSED [ 52%] tests/test_middleware.py::TestSeveralMiddlewares::test_order_independent_mw_executed_when_exception_in_resp[wsgi] PASSED [ 52%] tests/test_middleware.py::TestSeveralMiddlewares::test_order_mw_executed_when_exception_in_req[asgi] PASSED [ 52%] tests/test_middleware.py::TestSeveralMiddlewares::test_order_mw_executed_when_exception_in_req[wsgi] PASSED [ 52%] tests/test_middleware.py::TestSeveralMiddlewares::test_order_independent_mw_executed_when_exception_in_req[asgi] PASSED [ 52%] tests/test_middleware.py::TestSeveralMiddlewares::test_order_independent_mw_executed_when_exception_in_req[wsgi] PASSED [ 52%] tests/test_middleware.py::TestSeveralMiddlewares::test_order_mw_executed_when_exception_in_rsrc[asgi] PASSED [ 52%] tests/test_middleware.py::TestSeveralMiddlewares::test_order_mw_executed_when_exception_in_rsrc[wsgi] PASSED [ 52%] tests/test_middleware.py::TestSeveralMiddlewares::test_order_independent_mw_executed_when_exception_in_rsrc[asgi] PASSED [ 52%] tests/test_middleware.py::TestSeveralMiddlewares::test_order_independent_mw_executed_when_exception_in_rsrc[wsgi] PASSED [ 52%] tests/test_middleware.py::TestRemoveBasePathMiddleware::test_base_path_is_removed_before_routing[asgi] PASSED [ 52%] tests/test_middleware.py::TestRemoveBasePathMiddleware::test_base_path_is_removed_before_routing[wsgi] PASSED [ 52%] tests/test_middleware.py::TestResourceMiddleware::test_can_access_resource_params[asgi-True] PASSED [ 52%] tests/test_middleware.py::TestResourceMiddleware::test_can_access_resource_params[asgi-False] PASSED [ 52%] tests/test_middleware.py::TestResourceMiddleware::test_can_access_resource_params[wsgi-True] PASSED [ 53%] tests/test_middleware.py::TestResourceMiddleware::test_can_access_resource_params[wsgi-False] PASSED [ 53%] tests/test_middleware.py::TestEmptySignatureMiddleware::test_dont_need_params_in_signature[asgi] PASSED [ 53%] tests/test_middleware.py::TestEmptySignatureMiddleware::test_dont_need_params_in_signature[wsgi] PASSED [ 53%] tests/test_middleware.py::TestErrorHandling::test_error_composed_before_resp_middleware_called[asgi] PASSED [ 53%] tests/test_middleware.py::TestErrorHandling::test_error_composed_before_resp_middleware_called[wsgi] PASSED [ 53%] tests/test_middleware.py::TestErrorHandling::test_http_status_raised_from_error_handler[asgi] PASSED [ 53%] tests/test_middleware.py::TestErrorHandling::test_http_status_raised_from_error_handler[wsgi] PASSED [ 53%] tests/test_middleware.py::TestShortCircuiting::test_process_request_not_cached[asgi] PASSED [ 53%] tests/test_middleware.py::TestShortCircuiting::test_process_request_not_cached[wsgi] PASSED [ 53%] tests/test_middleware.py::TestShortCircuiting::test_process_request_cached[asgi-True] PASSED [ 53%] tests/test_middleware.py::TestShortCircuiting::test_process_request_cached[asgi-False] PASSED [ 53%] tests/test_middleware.py::TestShortCircuiting::test_process_request_cached[wsgi-True] PASSED [ 53%] tests/test_middleware.py::TestShortCircuiting::test_process_request_cached[wsgi-False] PASSED [ 53%] tests/test_middleware.py::TestShortCircuiting::test_process_resource_cached[asgi-True] PASSED [ 53%] tests/test_middleware.py::TestShortCircuiting::test_process_resource_cached[asgi-False] PASSED [ 53%] tests/test_middleware.py::TestShortCircuiting::test_process_resource_cached[wsgi-True] PASSED [ 53%] tests/test_middleware.py::TestShortCircuiting::test_process_resource_cached[wsgi-False] PASSED [ 53%] tests/test_middleware.py::TestCORSMiddlewareWithAnotherMiddleware::test_api_initialization_with_cors_enabled_and_middleware_param[asgi-mw0-True] PASSED [ 53%] tests/test_middleware.py::TestCORSMiddlewareWithAnotherMiddleware::test_api_initialization_with_cors_enabled_and_middleware_param[asgi-mw1-True] PASSED [ 53%] tests/test_middleware.py::TestCORSMiddlewareWithAnotherMiddleware::test_api_initialization_with_cors_enabled_and_middleware_param[asgi-mw2-True] PASSED [ 53%] tests/test_middleware.py::TestCORSMiddlewareWithAnotherMiddleware::test_api_initialization_with_cors_enabled_and_middleware_param[asgi-mw3-True] PASSED [ 53%] tests/test_middleware.py::TestCORSMiddlewareWithAnotherMiddleware::test_api_initialization_with_cors_enabled_and_middleware_param[asgi-mw4-False] PASSED [ 53%] tests/test_middleware.py::TestCORSMiddlewareWithAnotherMiddleware::test_api_initialization_with_cors_enabled_and_middleware_param[asgi-mw5-False] PASSED [ 53%] tests/test_middleware.py::TestCORSMiddlewareWithAnotherMiddleware::test_api_initialization_with_cors_enabled_and_middleware_param[wsgi-mw0-True] PASSED [ 53%] tests/test_middleware.py::TestCORSMiddlewareWithAnotherMiddleware::test_api_initialization_with_cors_enabled_and_middleware_param[wsgi-mw1-True] PASSED [ 53%] tests/test_middleware.py::TestCORSMiddlewareWithAnotherMiddleware::test_api_initialization_with_cors_enabled_and_middleware_param[wsgi-mw2-True] PASSED [ 53%] tests/test_middleware.py::TestCORSMiddlewareWithAnotherMiddleware::test_api_initialization_with_cors_enabled_and_middleware_param[wsgi-mw3-True] PASSED [ 53%] tests/test_middleware.py::TestCORSMiddlewareWithAnotherMiddleware::test_api_initialization_with_cors_enabled_and_middleware_param[wsgi-mw4-False] PASSED [ 53%] tests/test_middleware.py::TestCORSMiddlewareWithAnotherMiddleware::test_api_initialization_with_cors_enabled_and_middleware_param[wsgi-mw5-False] PASSED [ 53%] tests/test_middleware.py::test_async_postfix_method_must_be_coroutine SKIPPED [ 53%] tests/test_options.py::TestRequestOptions::test_option_defaults PASSED [ 53%] tests/test_options.py::TestRequestOptions::test_options_toggle[keep_blank_qs_values] PASSED [ 53%] tests/test_options.py::TestRequestOptions::test_options_toggle[auto_parse_form_urlencoded] PASSED [ 53%] tests/test_options.py::TestRequestOptions::test_options_toggle[auto_parse_qs_csv] PASSED [ 53%] tests/test_options.py::TestRequestOptions::test_options_toggle[strip_url_path_trailing_slash] PASSED [ 53%] tests/test_options.py::TestRequestOptions::test_incorrect_options PASSED [ 53%] tests/test_python_version_requirements.py::test_asgi PASSED [ 53%] tests/test_query_params.py::TestQueryParams::test_none[simulate_request_get_query_params-asgi] PASSED [ 53%] tests/test_query_params.py::TestQueryParams::test_none[simulate_request_get_query_params-wsgi] PASSED [ 53%] tests/test_query_params.py::TestQueryParams::test_default[simulate_request_get_query_params-asgi] PASSED [ 54%] tests/test_query_params.py::TestQueryParams::test_default[simulate_request_get_query_params-wsgi] PASSED [ 54%] tests/test_query_params.py::TestQueryParams::test_blank[simulate_request_get_query_params-asgi] PASSED [ 54%] tests/test_query_params.py::TestQueryParams::test_blank[simulate_request_get_query_params-wsgi] PASSED [ 54%] tests/test_query_params.py::TestQueryParams::test_simple[simulate_request_get_query_params-asgi] PASSED [ 54%] tests/test_query_params.py::TestQueryParams::test_simple[simulate_request_get_query_params-wsgi] PASSED [ 54%] tests/test_query_params.py::TestQueryParams::test_percent_encoded[simulate_request_get_query_params-asgi] PASSED [ 54%] tests/test_query_params.py::TestQueryParams::test_percent_encoded[simulate_request_get_query_params-wsgi] PASSED [ 54%] tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_simple_false[simulate_request_get_query_params-asgi] PASSED [ 54%] tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_simple_false[simulate_request_get_query_params-wsgi] PASSED [ 54%] tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_simple_true[simulate_request_get_query_params-asgi] PASSED [ 54%] tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_simple_true[simulate_request_get_query_params-wsgi] PASSED [ 54%] tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_multiple_fields_false[simulate_request_get_query_params-asgi] PASSED [ 54%] tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_multiple_fields_false[simulate_request_get_query_params-wsgi] PASSED [ 54%] 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%] 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%] 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%] 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%] 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%] 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%] 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%] 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%] 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%] 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%] 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%] 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%] 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%] 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%] 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%] 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%] 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%] 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%] tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_complex_false[simulate_request_get_query_params-asgi] PASSED [ 54%] tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_complex_false[simulate_request_get_query_params-wsgi] PASSED [ 54%] tests/test_query_params.py::TestQueryParams::test_default_auto_parse_csv_behaviour[simulate_request_get_query_params-asgi] PASSED [ 54%] tests/test_query_params.py::TestQueryParams::test_default_auto_parse_csv_behaviour[simulate_request_get_query_params-wsgi] PASSED [ 54%] tests/test_query_params.py::TestQueryParams::test_bad_percentage[simulate_request_get_query_params-asgi] PASSED [ 54%] tests/test_query_params.py::TestQueryParams::test_bad_percentage[simulate_request_get_query_params-wsgi] PASSED [ 54%] tests/test_query_params.py::TestQueryParams::test_allowed_names[simulate_request_get_query_params-asgi] PASSED [ 54%] tests/test_query_params.py::TestQueryParams::test_allowed_names[simulate_request_get_query_params-wsgi] PASSED [ 55%] tests/test_query_params.py::TestQueryParams::test_required[simulate_request_get_query_params-asgi-get_param] PASSED [ 55%] tests/test_query_params.py::TestQueryParams::test_required[simulate_request_get_query_params-asgi-get_param_as_int] PASSED [ 55%] tests/test_query_params.py::TestQueryParams::test_required[simulate_request_get_query_params-asgi-get_param_as_float] PASSED [ 55%] tests/test_query_params.py::TestQueryParams::test_required[simulate_request_get_query_params-asgi-get_param_as_uuid] PASSED [ 55%] tests/test_query_params.py::TestQueryParams::test_required[simulate_request_get_query_params-asgi-get_param_as_bool] PASSED [ 55%] tests/test_query_params.py::TestQueryParams::test_required[simulate_request_get_query_params-asgi-get_param_as_list] PASSED [ 55%] tests/test_query_params.py::TestQueryParams::test_required[simulate_request_get_query_params-wsgi-get_param] PASSED [ 55%] tests/test_query_params.py::TestQueryParams::test_required[simulate_request_get_query_params-wsgi-get_param_as_int] PASSED [ 55%] tests/test_query_params.py::TestQueryParams::test_required[simulate_request_get_query_params-wsgi-get_param_as_float] PASSED [ 55%] tests/test_query_params.py::TestQueryParams::test_required[simulate_request_get_query_params-wsgi-get_param_as_uuid] PASSED [ 55%] tests/test_query_params.py::TestQueryParams::test_required[simulate_request_get_query_params-wsgi-get_param_as_bool] PASSED [ 55%] tests/test_query_params.py::TestQueryParams::test_required[simulate_request_get_query_params-wsgi-get_param_as_list] PASSED [ 55%] tests/test_query_params.py::TestQueryParams::test_int[simulate_request_get_query_params-asgi] PASSED [ 55%] tests/test_query_params.py::TestQueryParams::test_int[simulate_request_get_query_params-wsgi] PASSED [ 55%] tests/test_query_params.py::TestQueryParams::test_int_neg[simulate_request_get_query_params-asgi] PASSED [ 55%] tests/test_query_params.py::TestQueryParams::test_int_neg[simulate_request_get_query_params-wsgi] PASSED [ 55%] tests/test_query_params.py::TestQueryParams::test_float[simulate_request_get_query_params-asgi] PASSED [ 55%] tests/test_query_params.py::TestQueryParams::test_float[simulate_request_get_query_params-wsgi] PASSED [ 55%] tests/test_query_params.py::TestQueryParams::test_float_neg[simulate_request_get_query_params-asgi] PASSED [ 55%] tests/test_query_params.py::TestQueryParams::test_float_neg[simulate_request_get_query_params-wsgi] PASSED [ 55%] tests/test_query_params.py::TestQueryParams::test_uuid[simulate_request_get_query_params-asgi] PASSED [ 55%] tests/test_query_params.py::TestQueryParams::test_uuid[simulate_request_get_query_params-wsgi] PASSED [ 55%] tests/test_query_params.py::TestQueryParams::test_boolean[simulate_request_get_query_params-asgi] PASSED [ 55%] tests/test_query_params.py::TestQueryParams::test_boolean[simulate_request_get_query_params-wsgi] PASSED [ 55%] tests/test_query_params.py::TestQueryParams::test_boolean_blank[simulate_request_get_query_params-asgi] PASSED [ 55%] tests/test_query_params.py::TestQueryParams::test_boolean_blank[simulate_request_get_query_params-wsgi] PASSED [ 55%] tests/test_query_params.py::TestQueryParams::test_list_type[simulate_request_get_query_params-asgi] PASSED [ 55%] tests/test_query_params.py::TestQueryParams::test_list_type[simulate_request_get_query_params-wsgi] PASSED [ 55%] tests/test_query_params.py::TestQueryParams::test_list_type_blank[simulate_request_get_query_params-asgi] PASSED [ 55%] tests/test_query_params.py::TestQueryParams::test_list_type_blank[simulate_request_get_query_params-wsgi] PASSED [ 55%] tests/test_query_params.py::TestQueryParams::test_list_transformer[simulate_request_get_query_params-asgi] PASSED [ 55%] tests/test_query_params.py::TestQueryParams::test_list_transformer[simulate_request_get_query_params-wsgi] PASSED [ 55%] tests/test_query_params.py::TestQueryParams::test_param_property[simulate_request_get_query_params-asgi] PASSED [ 55%] tests/test_query_params.py::TestQueryParams::test_param_property[simulate_request_get_query_params-wsgi] PASSED [ 55%] tests/test_query_params.py::TestQueryParams::test_multiple_form_keys[simulate_request_get_query_params-asgi] PASSED [ 55%] tests/test_query_params.py::TestQueryParams::test_multiple_form_keys[simulate_request_get_query_params-wsgi] PASSED [ 55%] tests/test_query_params.py::TestQueryParams::test_multiple_keys_as_bool[simulate_request_get_query_params-asgi] PASSED [ 55%] tests/test_query_params.py::TestQueryParams::test_multiple_keys_as_bool[simulate_request_get_query_params-wsgi] PASSED [ 55%] tests/test_query_params.py::TestQueryParams::test_multiple_keys_as_int[simulate_request_get_query_params-asgi] PASSED [ 56%] tests/test_query_params.py::TestQueryParams::test_multiple_keys_as_int[simulate_request_get_query_params-wsgi] PASSED [ 56%] tests/test_query_params.py::TestQueryParams::test_multiple_keys_as_float[simulate_request_get_query_params-asgi] PASSED [ 56%] tests/test_query_params.py::TestQueryParams::test_multiple_keys_as_float[simulate_request_get_query_params-wsgi] PASSED [ 56%] tests/test_query_params.py::TestQueryParams::test_multiple_form_keys_as_list[simulate_request_get_query_params-asgi] PASSED [ 56%] tests/test_query_params.py::TestQueryParams::test_multiple_form_keys_as_list[simulate_request_get_query_params-wsgi] PASSED [ 56%] tests/test_query_params.py::TestQueryParams::test_get_date_valid[simulate_request_get_query_params-asgi] PASSED [ 56%] tests/test_query_params.py::TestQueryParams::test_get_date_valid[simulate_request_get_query_params-wsgi] PASSED [ 56%] tests/test_query_params.py::TestQueryParams::test_get_date_missing_param[simulate_request_get_query_params-asgi] PASSED [ 56%] tests/test_query_params.py::TestQueryParams::test_get_date_missing_param[simulate_request_get_query_params-wsgi] PASSED [ 56%] tests/test_query_params.py::TestQueryParams::test_get_date_valid_with_format[simulate_request_get_query_params-asgi] PASSED [ 56%] tests/test_query_params.py::TestQueryParams::test_get_date_valid_with_format[simulate_request_get_query_params-wsgi] PASSED [ 56%] tests/test_query_params.py::TestQueryParams::test_get_date_store[simulate_request_get_query_params-asgi] PASSED [ 56%] tests/test_query_params.py::TestQueryParams::test_get_date_store[simulate_request_get_query_params-wsgi] PASSED [ 56%] tests/test_query_params.py::TestQueryParams::test_get_date_invalid[simulate_request_get_query_params-asgi] PASSED [ 56%] tests/test_query_params.py::TestQueryParams::test_get_date_invalid[simulate_request_get_query_params-wsgi] PASSED [ 56%] tests/test_query_params.py::TestQueryParams::test_get_datetime_valid[simulate_request_get_query_params-asgi] PASSED [ 56%] tests/test_query_params.py::TestQueryParams::test_get_datetime_valid[simulate_request_get_query_params-wsgi] PASSED [ 56%] tests/test_query_params.py::TestQueryParams::test_get_datetime_missing_param[simulate_request_get_query_params-asgi] PASSED [ 56%] tests/test_query_params.py::TestQueryParams::test_get_datetime_missing_param[simulate_request_get_query_params-wsgi] PASSED [ 56%] 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%] 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%] 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%] 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%] 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%] 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%] tests/test_query_params.py::TestQueryParams::test_get_datetime_store[simulate_request_get_query_params-asgi] PASSED [ 56%] tests/test_query_params.py::TestQueryParams::test_get_datetime_store[simulate_request_get_query_params-wsgi] PASSED [ 56%] tests/test_query_params.py::TestQueryParams::test_get_datetime_invalid[simulate_request_get_query_params-asgi] PASSED [ 56%] tests/test_query_params.py::TestQueryParams::test_get_datetime_invalid[simulate_request_get_query_params-wsgi] PASSED [ 56%] tests/test_query_params.py::TestQueryParams::test_get_dict_valid[simulate_request_get_query_params-asgi] PASSED [ 56%] tests/test_query_params.py::TestQueryParams::test_get_dict_valid[simulate_request_get_query_params-wsgi] PASSED [ 56%] tests/test_query_params.py::TestQueryParams::test_get_dict_missing_param[simulate_request_get_query_params-asgi] PASSED [ 56%] tests/test_query_params.py::TestQueryParams::test_get_dict_missing_param[simulate_request_get_query_params-wsgi] PASSED [ 56%] tests/test_query_params.py::TestQueryParams::test_get_dict_store[simulate_request_get_query_params-asgi] PASSED [ 56%] tests/test_query_params.py::TestQueryParams::test_get_dict_store[simulate_request_get_query_params-wsgi] PASSED [ 56%] tests/test_query_params.py::TestQueryParams::test_get_dict_invalid[simulate_request_get_query_params-asgi] PASSED [ 56%] tests/test_query_params.py::TestQueryParams::test_get_dict_invalid[simulate_request_get_query_params-wsgi] PASSED [ 56%] tests/test_query_params.py::TestQueryParams::test_has_param[simulate_request_get_query_params-asgi] PASSED [ 56%] tests/test_query_params.py::TestQueryParams::test_has_param[simulate_request_get_query_params-wsgi] PASSED [ 57%] tests/test_query_params.py::TestQueryParams::test_none[simulate_request_post_query_params-asgi] SKIPPED [ 57%] tests/test_query_params.py::TestQueryParams::test_none[simulate_request_post_query_params-wsgi] PASSED [ 57%] tests/test_query_params.py::TestQueryParams::test_default[simulate_request_post_query_params-asgi] SKIPPED [ 57%] tests/test_query_params.py::TestQueryParams::test_default[simulate_request_post_query_params-wsgi] PASSED [ 57%] tests/test_query_params.py::TestQueryParams::test_blank[simulate_request_post_query_params-asgi] SKIPPED [ 57%] tests/test_query_params.py::TestQueryParams::test_blank[simulate_request_post_query_params-wsgi] PASSED [ 57%] tests/test_query_params.py::TestQueryParams::test_simple[simulate_request_post_query_params-asgi] SKIPPED [ 57%] tests/test_query_params.py::TestQueryParams::test_simple[simulate_request_post_query_params-wsgi] PASSED [ 57%] tests/test_query_params.py::TestQueryParams::test_percent_encoded[simulate_request_post_query_params-asgi] SKIPPED [ 57%] tests/test_query_params.py::TestQueryParams::test_percent_encoded[simulate_request_post_query_params-wsgi] PASSED [ 57%] tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_simple_false[simulate_request_post_query_params-asgi] SKIPPED [ 57%] tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_simple_false[simulate_request_post_query_params-wsgi] PASSED [ 57%] tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_simple_true[simulate_request_post_query_params-asgi] SKIPPED [ 57%] tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_simple_true[simulate_request_post_query_params-wsgi] PASSED [ 57%] tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_multiple_fields_false[simulate_request_post_query_params-asgi] SKIPPED [ 57%] tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_multiple_fields_false[simulate_request_post_query_params-wsgi] PASSED [ 57%] 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%] 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%] 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%] 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%] 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%] 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%] 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%] 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%] 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%] 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%] 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%] 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%] 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%] 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%] 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%] 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%] 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%] 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%] tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_complex_false[simulate_request_post_query_params-asgi] SKIPPED [ 57%] tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_complex_false[simulate_request_post_query_params-wsgi] PASSED [ 57%] tests/test_query_params.py::TestQueryParams::test_default_auto_parse_csv_behaviour[simulate_request_post_query_params-asgi] SKIPPED [ 57%] tests/test_query_params.py::TestQueryParams::test_default_auto_parse_csv_behaviour[simulate_request_post_query_params-wsgi] PASSED [ 57%] tests/test_query_params.py::TestQueryParams::test_bad_percentage[simulate_request_post_query_params-asgi] SKIPPED [ 58%] tests/test_query_params.py::TestQueryParams::test_bad_percentage[simulate_request_post_query_params-wsgi] PASSED [ 58%] tests/test_query_params.py::TestQueryParams::test_allowed_names[simulate_request_post_query_params-asgi] SKIPPED [ 58%] tests/test_query_params.py::TestQueryParams::test_allowed_names[simulate_request_post_query_params-wsgi] PASSED [ 58%] tests/test_query_params.py::TestQueryParams::test_required[simulate_request_post_query_params-asgi-get_param] SKIPPED [ 58%] tests/test_query_params.py::TestQueryParams::test_required[simulate_request_post_query_params-asgi-get_param_as_int] SKIPPED [ 58%] tests/test_query_params.py::TestQueryParams::test_required[simulate_request_post_query_params-asgi-get_param_as_float] SKIPPED [ 58%] tests/test_query_params.py::TestQueryParams::test_required[simulate_request_post_query_params-asgi-get_param_as_uuid] SKIPPED [ 58%] tests/test_query_params.py::TestQueryParams::test_required[simulate_request_post_query_params-asgi-get_param_as_bool] SKIPPED [ 58%] tests/test_query_params.py::TestQueryParams::test_required[simulate_request_post_query_params-asgi-get_param_as_list] SKIPPED [ 58%] tests/test_query_params.py::TestQueryParams::test_required[simulate_request_post_query_params-wsgi-get_param] PASSED [ 58%] tests/test_query_params.py::TestQueryParams::test_required[simulate_request_post_query_params-wsgi-get_param_as_int] PASSED [ 58%] tests/test_query_params.py::TestQueryParams::test_required[simulate_request_post_query_params-wsgi-get_param_as_float] PASSED [ 58%] tests/test_query_params.py::TestQueryParams::test_required[simulate_request_post_query_params-wsgi-get_param_as_uuid] PASSED [ 58%] tests/test_query_params.py::TestQueryParams::test_required[simulate_request_post_query_params-wsgi-get_param_as_bool] PASSED [ 58%] tests/test_query_params.py::TestQueryParams::test_required[simulate_request_post_query_params-wsgi-get_param_as_list] PASSED [ 58%] tests/test_query_params.py::TestQueryParams::test_int[simulate_request_post_query_params-asgi] SKIPPED [ 58%] tests/test_query_params.py::TestQueryParams::test_int[simulate_request_post_query_params-wsgi] PASSED [ 58%] tests/test_query_params.py::TestQueryParams::test_int_neg[simulate_request_post_query_params-asgi] SKIPPED [ 58%] tests/test_query_params.py::TestQueryParams::test_int_neg[simulate_request_post_query_params-wsgi] PASSED [ 58%] tests/test_query_params.py::TestQueryParams::test_float[simulate_request_post_query_params-asgi] SKIPPED [ 58%] tests/test_query_params.py::TestQueryParams::test_float[simulate_request_post_query_params-wsgi] PASSED [ 58%] tests/test_query_params.py::TestQueryParams::test_float_neg[simulate_request_post_query_params-asgi] SKIPPED [ 58%] tests/test_query_params.py::TestQueryParams::test_float_neg[simulate_request_post_query_params-wsgi] PASSED [ 58%] tests/test_query_params.py::TestQueryParams::test_uuid[simulate_request_post_query_params-asgi] SKIPPED [ 58%] tests/test_query_params.py::TestQueryParams::test_uuid[simulate_request_post_query_params-wsgi] PASSED [ 58%] tests/test_query_params.py::TestQueryParams::test_boolean[simulate_request_post_query_params-asgi] SKIPPED [ 58%] tests/test_query_params.py::TestQueryParams::test_boolean[simulate_request_post_query_params-wsgi] PASSED [ 58%] tests/test_query_params.py::TestQueryParams::test_boolean_blank[simulate_request_post_query_params-asgi] SKIPPED [ 58%] tests/test_query_params.py::TestQueryParams::test_boolean_blank[simulate_request_post_query_params-wsgi] PASSED [ 58%] tests/test_query_params.py::TestQueryParams::test_list_type[simulate_request_post_query_params-asgi] SKIPPED [ 58%] tests/test_query_params.py::TestQueryParams::test_list_type[simulate_request_post_query_params-wsgi] PASSED [ 58%] tests/test_query_params.py::TestQueryParams::test_list_type_blank[simulate_request_post_query_params-asgi] SKIPPED [ 58%] tests/test_query_params.py::TestQueryParams::test_list_type_blank[simulate_request_post_query_params-wsgi] PASSED [ 58%] tests/test_query_params.py::TestQueryParams::test_list_transformer[simulate_request_post_query_params-asgi] SKIPPED [ 58%] tests/test_query_params.py::TestQueryParams::test_list_transformer[simulate_request_post_query_params-wsgi] PASSED [ 58%] tests/test_query_params.py::TestQueryParams::test_param_property[simulate_request_post_query_params-asgi] SKIPPED [ 58%] tests/test_query_params.py::TestQueryParams::test_param_property[simulate_request_post_query_params-wsgi] PASSED [ 58%] tests/test_query_params.py::TestQueryParams::test_multiple_form_keys[simulate_request_post_query_params-asgi] SKIPPED [ 58%] tests/test_query_params.py::TestQueryParams::test_multiple_form_keys[simulate_request_post_query_params-wsgi] PASSED [ 59%] tests/test_query_params.py::TestQueryParams::test_multiple_keys_as_bool[simulate_request_post_query_params-asgi] SKIPPED [ 59%] tests/test_query_params.py::TestQueryParams::test_multiple_keys_as_bool[simulate_request_post_query_params-wsgi] PASSED [ 59%] tests/test_query_params.py::TestQueryParams::test_multiple_keys_as_int[simulate_request_post_query_params-asgi] SKIPPED [ 59%] tests/test_query_params.py::TestQueryParams::test_multiple_keys_as_int[simulate_request_post_query_params-wsgi] PASSED [ 59%] tests/test_query_params.py::TestQueryParams::test_multiple_keys_as_float[simulate_request_post_query_params-asgi] SKIPPED [ 59%] tests/test_query_params.py::TestQueryParams::test_multiple_keys_as_float[simulate_request_post_query_params-wsgi] PASSED [ 59%] tests/test_query_params.py::TestQueryParams::test_multiple_form_keys_as_list[simulate_request_post_query_params-asgi] SKIPPED [ 59%] tests/test_query_params.py::TestQueryParams::test_multiple_form_keys_as_list[simulate_request_post_query_params-wsgi] PASSED [ 59%] tests/test_query_params.py::TestQueryParams::test_get_date_valid[simulate_request_post_query_params-asgi] SKIPPED [ 59%] tests/test_query_params.py::TestQueryParams::test_get_date_valid[simulate_request_post_query_params-wsgi] PASSED [ 59%] tests/test_query_params.py::TestQueryParams::test_get_date_missing_param[simulate_request_post_query_params-asgi] SKIPPED [ 59%] tests/test_query_params.py::TestQueryParams::test_get_date_missing_param[simulate_request_post_query_params-wsgi] PASSED [ 59%] tests/test_query_params.py::TestQueryParams::test_get_date_valid_with_format[simulate_request_post_query_params-asgi] SKIPPED [ 59%] tests/test_query_params.py::TestQueryParams::test_get_date_valid_with_format[simulate_request_post_query_params-wsgi] PASSED [ 59%] tests/test_query_params.py::TestQueryParams::test_get_date_store[simulate_request_post_query_params-asgi] SKIPPED [ 59%] tests/test_query_params.py::TestQueryParams::test_get_date_store[simulate_request_post_query_params-wsgi] PASSED [ 59%] tests/test_query_params.py::TestQueryParams::test_get_date_invalid[simulate_request_post_query_params-asgi] SKIPPED [ 59%] tests/test_query_params.py::TestQueryParams::test_get_date_invalid[simulate_request_post_query_params-wsgi] PASSED [ 59%] tests/test_query_params.py::TestQueryParams::test_get_datetime_valid[simulate_request_post_query_params-asgi] SKIPPED [ 59%] tests/test_query_params.py::TestQueryParams::test_get_datetime_valid[simulate_request_post_query_params-wsgi] PASSED [ 59%] tests/test_query_params.py::TestQueryParams::test_get_datetime_missing_param[simulate_request_post_query_params-asgi] SKIPPED [ 59%] tests/test_query_params.py::TestQueryParams::test_get_datetime_missing_param[simulate_request_post_query_params-wsgi] PASSED [ 59%] 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%] 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%] 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%] 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%] 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%] 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%] tests/test_query_params.py::TestQueryParams::test_get_datetime_store[simulate_request_post_query_params-asgi] SKIPPED [ 59%] tests/test_query_params.py::TestQueryParams::test_get_datetime_store[simulate_request_post_query_params-wsgi] PASSED [ 59%] tests/test_query_params.py::TestQueryParams::test_get_datetime_invalid[simulate_request_post_query_params-asgi] SKIPPED [ 59%] tests/test_query_params.py::TestQueryParams::test_get_datetime_invalid[simulate_request_post_query_params-wsgi] PASSED [ 59%] tests/test_query_params.py::TestQueryParams::test_get_dict_valid[simulate_request_post_query_params-asgi] SKIPPED [ 59%] tests/test_query_params.py::TestQueryParams::test_get_dict_valid[simulate_request_post_query_params-wsgi] PASSED [ 59%] tests/test_query_params.py::TestQueryParams::test_get_dict_missing_param[simulate_request_post_query_params-asgi] SKIPPED [ 59%] tests/test_query_params.py::TestQueryParams::test_get_dict_missing_param[simulate_request_post_query_params-wsgi] PASSED [ 59%] tests/test_query_params.py::TestQueryParams::test_get_dict_store[simulate_request_post_query_params-asgi] SKIPPED [ 59%] tests/test_query_params.py::TestQueryParams::test_get_dict_store[simulate_request_post_query_params-wsgi] PASSED [ 59%] tests/test_query_params.py::TestQueryParams::test_get_dict_invalid[simulate_request_post_query_params-asgi] SKIPPED [ 60%] tests/test_query_params.py::TestQueryParams::test_get_dict_invalid[simulate_request_post_query_params-wsgi] PASSED [ 60%] tests/test_query_params.py::TestQueryParams::test_has_param[simulate_request_post_query_params-asgi] SKIPPED [ 60%] tests/test_query_params.py::TestQueryParams::test_has_param[simulate_request_post_query_params-wsgi] PASSED [ 60%] tests/test_query_params.py::TestQueryParams::test_get_param_as_json_handler_json[asgi] PASSED [ 60%] tests/test_query_params.py::TestQueryParams::test_get_param_as_json_handler_json[wsgi] PASSED [ 60%] tests/test_query_params.py::TestQueryParams::test_get_param_as_json_no_handler_json[asgi] PASSED [ 60%] tests/test_query_params.py::TestQueryParams::test_get_param_as_json_no_handler_json[wsgi] PASSED [ 60%] tests/test_query_params.py::TestPostQueryParams::test_http_methods_body_expected[asgi-POST] SKIPPED [ 60%] tests/test_query_params.py::TestPostQueryParams::test_http_methods_body_expected[asgi-PUT] SKIPPED [ 60%] tests/test_query_params.py::TestPostQueryParams::test_http_methods_body_expected[asgi-PATCH] SKIPPED [ 60%] tests/test_query_params.py::TestPostQueryParams::test_http_methods_body_expected[asgi-DELETE] SKIPPED [ 60%] tests/test_query_params.py::TestPostQueryParams::test_http_methods_body_expected[asgi-OPTIONS] SKIPPED [ 60%] tests/test_query_params.py::TestPostQueryParams::test_http_methods_body_expected[wsgi-POST] PASSED [ 60%] tests/test_query_params.py::TestPostQueryParams::test_http_methods_body_expected[wsgi-PUT] PASSED [ 60%] tests/test_query_params.py::TestPostQueryParams::test_http_methods_body_expected[wsgi-PATCH] PASSED [ 60%] tests/test_query_params.py::TestPostQueryParams::test_http_methods_body_expected[wsgi-DELETE] PASSED [ 60%] tests/test_query_params.py::TestPostQueryParams::test_http_methods_body_expected[wsgi-OPTIONS] PASSED [ 60%] tests/test_query_params.py::TestPostQueryParams::test_http_methods_body_not_expected[asgi-GET] SKIPPED [ 60%] tests/test_query_params.py::TestPostQueryParams::test_http_methods_body_not_expected[asgi-HEAD] SKIPPED [ 60%] tests/test_query_params.py::TestPostQueryParams::test_http_methods_body_not_expected[wsgi-GET] PASSED [ 60%] tests/test_query_params.py::TestPostQueryParams::test_http_methods_body_not_expected[wsgi-HEAD] PASSED [ 60%] tests/test_query_params.py::TestPostQueryParams::test_non_ascii[asgi] SKIPPED [ 60%] tests/test_query_params.py::TestPostQueryParams::test_non_ascii[wsgi] PASSED [ 60%] tests/test_query_params.py::TestPostQueryParams::test_empty_body[asgi] SKIPPED [ 60%] tests/test_query_params.py::TestPostQueryParams::test_empty_body[wsgi] PASSED [ 60%] tests/test_query_params.py::TestPostQueryParams::test_empty_body_no_content_length[asgi] SKIPPED [ 60%] tests/test_query_params.py::TestPostQueryParams::test_empty_body_no_content_length[wsgi] PASSED [ 60%] tests/test_query_params.py::TestPostQueryParams::test_explicitly_disable_auto_parse[asgi] SKIPPED [ 60%] tests/test_query_params.py::TestPostQueryParams::test_explicitly_disable_auto_parse[wsgi] PASSED [ 60%] tests/test_query_params.py::TestPostQueryParams::test_asgi_raises_error PASSED [ 60%] tests/test_query_params.py::TestPostQueryParamsDefaultBehavior::test_dont_auto_parse_by_default[asgi] PASSED [ 60%] tests/test_query_params.py::TestPostQueryParamsDefaultBehavior::test_dont_auto_parse_by_default[wsgi] PASSED [ 60%] tests/test_recipes.py::TestMultipartMixed::test_parse PASSED [ 60%] tests/test_recipes.py::TestOutputCSV::test_csv_output[asgi-simple] PASSED [ 60%] tests/test_recipes.py::TestOutputCSV::test_csv_output[asgi-stream] PASSED [ 60%] tests/test_recipes.py::TestOutputCSV::test_csv_output[wsgi-simple] PASSED [ 60%] tests/test_recipes.py::TestOutputCSV::test_csv_output[wsgi-stream] PASSED [ 60%] tests/test_recipes.py::TestPrettyJSON::test_optional_indent PASSED [ 60%] tests/test_recipes.py::TestRawURLPath::test_raw_path[asgi] PASSED [ 60%] tests/test_recipes.py::TestRawURLPath::test_raw_path[wsgi] PASSED [ 61%] tests/test_redirects.py::TestRedirects::test_redirect[asgi-GET-301 Moved Permanently-/moved/perm] PASSED [ 61%] tests/test_redirects.py::TestRedirects::test_redirect[asgi-POST-302 Found-/found] PASSED [ 61%] tests/test_redirects.py::TestRedirects::test_redirect[asgi-PUT-303 See Other-/see/other] PASSED [ 61%] tests/test_redirects.py::TestRedirects::test_redirect[asgi-DELETE-307 Temporary Redirect-/tmp/redirect] PASSED [ 61%] tests/test_redirects.py::TestRedirects::test_redirect[asgi-HEAD-308 Permanent Redirect-/perm/redirect] PASSED [ 61%] tests/test_redirects.py::TestRedirects::test_redirect[wsgi-GET-301 Moved Permanently-/moved/perm] PASSED [ 61%] tests/test_redirects.py::TestRedirects::test_redirect[wsgi-POST-302 Found-/found] PASSED [ 61%] tests/test_redirects.py::TestRedirects::test_redirect[wsgi-PUT-303 See Other-/see/other] PASSED [ 61%] tests/test_redirects.py::TestRedirects::test_redirect[wsgi-DELETE-307 Temporary Redirect-/tmp/redirect] PASSED [ 61%] tests/test_redirects.py::TestRedirects::test_redirect[wsgi-HEAD-308 Permanent Redirect-/perm/redirect] PASSED [ 61%] tests/test_redirects.py::TestRedirects::test_redirect_with_headers[asgi-GET-301 Moved Permanently-/moved/perm] PASSED [ 61%] tests/test_redirects.py::TestRedirects::test_redirect_with_headers[asgi-POST-302 Found-/found] PASSED [ 61%] tests/test_redirects.py::TestRedirects::test_redirect_with_headers[asgi-PUT-303 See Other-/see/other] PASSED [ 61%] tests/test_redirects.py::TestRedirects::test_redirect_with_headers[asgi-DELETE-307 Temporary Redirect-/tmp/redirect] PASSED [ 61%] tests/test_redirects.py::TestRedirects::test_redirect_with_headers[asgi-HEAD-308 Permanent Redirect-/perm/redirect] PASSED [ 61%] tests/test_redirects.py::TestRedirects::test_redirect_with_headers[wsgi-GET-301 Moved Permanently-/moved/perm] PASSED [ 61%] tests/test_redirects.py::TestRedirects::test_redirect_with_headers[wsgi-POST-302 Found-/found] PASSED [ 61%] tests/test_redirects.py::TestRedirects::test_redirect_with_headers[wsgi-PUT-303 See Other-/see/other] PASSED [ 61%] tests/test_redirects.py::TestRedirects::test_redirect_with_headers[wsgi-DELETE-307 Temporary Redirect-/tmp/redirect] PASSED [ 61%] tests/test_redirects.py::TestRedirects::test_redirect_with_headers[wsgi-HEAD-308 Permanent Redirect-/perm/redirect] PASSED [ 61%] tests/test_request_access_route.py::test_remote_addr_default[asgi] PASSED [ 61%] tests/test_request_access_route.py::test_remote_addr_default[wsgi] PASSED [ 61%] tests/test_request_access_route.py::test_remote_addr_non_default[asgi] PASSED [ 61%] tests/test_request_access_route.py::test_remote_addr_non_default[wsgi] PASSED [ 61%] tests/test_request_access_route.py::test_remote_addr_only[asgi] PASSED [ 61%] tests/test_request_access_route.py::test_remote_addr_only[wsgi] PASSED [ 61%] tests/test_request_access_route.py::test_rfc_forwarded[asgi] PASSED [ 61%] tests/test_request_access_route.py::test_rfc_forwarded[wsgi] PASSED [ 61%] tests/test_request_access_route.py::test_malformed_rfc_forwarded[asgi] PASSED [ 61%] tests/test_request_access_route.py::test_malformed_rfc_forwarded[wsgi] PASSED [ 61%] tests/test_request_access_route.py::test_x_forwarded_for[asgi-True] PASSED [ 61%] tests/test_request_access_route.py::test_x_forwarded_for[asgi-False] PASSED [ 61%] tests/test_request_access_route.py::test_x_forwarded_for[wsgi-True] PASSED [ 61%] tests/test_request_access_route.py::test_x_forwarded_for[wsgi-False] PASSED [ 61%] tests/test_request_access_route.py::test_x_real_ip[asgi] PASSED [ 61%] tests/test_request_access_route.py::test_x_real_ip[wsgi] PASSED [ 61%] tests/test_request_access_route.py::test_remote_addr[asgi-10.0.0.1] PASSED [ 61%] tests/test_request_access_route.py::test_remote_addr[asgi-98.245.211.177] PASSED [ 61%] tests/test_request_access_route.py::test_remote_addr[wsgi-10.0.0.1] PASSED [ 62%] tests/test_request_access_route.py::test_remote_addr[wsgi-98.245.211.177] PASSED [ 62%] tests/test_request_access_route.py::test_remote_addr_missing PASSED [ 62%] tests/test_request_attrs.py::test_missing_qs PASSED [ 62%] tests/test_request_attrs.py::test_app_missing PASSED [ 62%] tests/test_request_attrs.py::TestRequestAttributes::test_empty[asgi] PASSED [ 62%] tests/test_request_attrs.py::TestRequestAttributes::test_empty[wsgi] PASSED [ 62%] tests/test_request_attrs.py::TestRequestAttributes::test_host[asgi] PASSED [ 62%] tests/test_request_attrs.py::TestRequestAttributes::test_host[wsgi] PASSED [ 62%] tests/test_request_attrs.py::TestRequestAttributes::test_subdomain[asgi] PASSED [ 62%] tests/test_request_attrs.py::TestRequestAttributes::test_subdomain[wsgi] PASSED [ 62%] tests/test_request_attrs.py::TestRequestAttributes::test_reconstruct_url[asgi] PASSED [ 62%] tests/test_request_attrs.py::TestRequestAttributes::test_reconstruct_url[wsgi] PASSED [ 62%] tests/test_request_attrs.py::TestRequestAttributes::test_nonlatin_path[asgi-/hello_\u043f\u0440\u0438\u0432\u0435\u0442] PASSED [ 62%] tests/test_request_attrs.py::TestRequestAttributes::test_nonlatin_path[asgi-/test/%E5%BB%B6%E5%AE%89] PASSED [ 62%] tests/test_request_attrs.py::TestRequestAttributes::test_nonlatin_path[asgi-/test/%C3%A4%C3%B6%C3%BC%C3%9F%E2%82%AC] PASSED [ 62%] tests/test_request_attrs.py::TestRequestAttributes::test_nonlatin_path[wsgi-/hello_\u043f\u0440\u0438\u0432\u0435\u0442] PASSED [ 62%] tests/test_request_attrs.py::TestRequestAttributes::test_nonlatin_path[wsgi-/test/%E5%BB%B6%E5%AE%89] PASSED [ 62%] tests/test_request_attrs.py::TestRequestAttributes::test_nonlatin_path[wsgi-/test/%C3%A4%C3%B6%C3%BC%C3%9F%E2%82%AC] PASSED [ 62%] tests/test_request_attrs.py::TestRequestAttributes::test_uri[asgi] PASSED [ 62%] tests/test_request_attrs.py::TestRequestAttributes::test_uri[wsgi] PASSED [ 62%] tests/test_request_attrs.py::TestRequestAttributes::test_uri_https[asgi] PASSED [ 62%] tests/test_request_attrs.py::TestRequestAttributes::test_uri_https[wsgi] PASSED [ 62%] tests/test_request_attrs.py::TestRequestAttributes::test_uri_http_1_0[asgi] PASSED [ 62%] tests/test_request_attrs.py::TestRequestAttributes::test_uri_http_1_0[wsgi] PASSED [ 62%] tests/test_request_attrs.py::TestRequestAttributes::test_relative_uri[asgi] PASSED [ 62%] tests/test_request_attrs.py::TestRequestAttributes::test_relative_uri[wsgi] PASSED [ 62%] tests/test_request_attrs.py::TestRequestAttributes::test_client_accepts[asgi] PASSED [ 62%] tests/test_request_attrs.py::TestRequestAttributes::test_client_accepts[wsgi] PASSED [ 62%] tests/test_request_attrs.py::TestRequestAttributes::test_client_accepts_bogus[asgi] PASSED [ 62%] tests/test_request_attrs.py::TestRequestAttributes::test_client_accepts_bogus[wsgi] PASSED [ 62%] tests/test_request_attrs.py::TestRequestAttributes::test_client_accepts_props[asgi] PASSED [ 62%] tests/test_request_attrs.py::TestRequestAttributes::test_client_accepts_props[wsgi] PASSED [ 62%] tests/test_request_attrs.py::TestRequestAttributes::test_client_prefers[asgi] PASSED [ 62%] tests/test_request_attrs.py::TestRequestAttributes::test_client_prefers[wsgi] PASSED [ 62%] tests/test_request_attrs.py::TestRequestAttributes::test_range[asgi] PASSED [ 62%] tests/test_request_attrs.py::TestRequestAttributes::test_range[wsgi] PASSED [ 62%] tests/test_request_attrs.py::TestRequestAttributes::test_range_unit[asgi] PASSED [ 62%] tests/test_request_attrs.py::TestRequestAttributes::test_range_unit[wsgi] PASSED [ 62%] tests/test_request_attrs.py::TestRequestAttributes::test_range_invalid[asgi] PASSED [ 63%] tests/test_request_attrs.py::TestRequestAttributes::test_range_invalid[wsgi] PASSED [ 63%] tests/test_request_attrs.py::TestRequestAttributes::test_missing_attribute_header[asgi] PASSED [ 63%] tests/test_request_attrs.py::TestRequestAttributes::test_missing_attribute_header[wsgi] PASSED [ 63%] tests/test_request_attrs.py::TestRequestAttributes::test_content_length[asgi] PASSED [ 63%] tests/test_request_attrs.py::TestRequestAttributes::test_content_length[wsgi] PASSED [ 63%] tests/test_request_attrs.py::TestRequestAttributes::test_bogus_content_length_nan[asgi] PASSED [ 63%] tests/test_request_attrs.py::TestRequestAttributes::test_bogus_content_length_nan[wsgi] PASSED [ 63%] tests/test_request_attrs.py::TestRequestAttributes::test_bogus_content_length_neg[asgi] PASSED [ 63%] tests/test_request_attrs.py::TestRequestAttributes::test_bogus_content_length_neg[wsgi] PASSED [ 63%] tests/test_request_attrs.py::TestRequestAttributes::test_date[asgi-Date-date] PASSED [ 63%] tests/test_request_attrs.py::TestRequestAttributes::test_date[asgi-If-Modified-Since-if_modified_since] PASSED [ 63%] tests/test_request_attrs.py::TestRequestAttributes::test_date[asgi-If-Unmodified-Since-if_unmodified_since] PASSED [ 63%] tests/test_request_attrs.py::TestRequestAttributes::test_date[wsgi-Date-date] PASSED [ 63%] tests/test_request_attrs.py::TestRequestAttributes::test_date[wsgi-If-Modified-Since-if_modified_since] PASSED [ 63%] tests/test_request_attrs.py::TestRequestAttributes::test_date[wsgi-If-Unmodified-Since-if_unmodified_since] PASSED [ 63%] tests/test_request_attrs.py::TestRequestAttributes::test_date_invalid[asgi-Date-date] PASSED [ 63%] tests/test_request_attrs.py::TestRequestAttributes::test_date_invalid[asgi-If-Modified-Since-if_modified_since] PASSED [ 63%] tests/test_request_attrs.py::TestRequestAttributes::test_date_invalid[asgi-If-Unmodified-Since-if_unmodified_since] PASSED [ 63%] tests/test_request_attrs.py::TestRequestAttributes::test_date_invalid[wsgi-Date-date] PASSED [ 63%] tests/test_request_attrs.py::TestRequestAttributes::test_date_invalid[wsgi-If-Modified-Since-if_modified_since] PASSED [ 63%] tests/test_request_attrs.py::TestRequestAttributes::test_date_invalid[wsgi-If-Unmodified-Since-if_unmodified_since] PASSED [ 63%] tests/test_request_attrs.py::TestRequestAttributes::test_date_missing[asgi-date] PASSED [ 63%] tests/test_request_attrs.py::TestRequestAttributes::test_date_missing[asgi-if_modified_since] PASSED [ 63%] tests/test_request_attrs.py::TestRequestAttributes::test_date_missing[asgi-if_unmodified_since] PASSED [ 63%] tests/test_request_attrs.py::TestRequestAttributes::test_date_missing[wsgi-date] PASSED [ 63%] tests/test_request_attrs.py::TestRequestAttributes::test_date_missing[wsgi-if_modified_since] PASSED [ 63%] tests/test_request_attrs.py::TestRequestAttributes::test_date_missing[wsgi-if_unmodified_since] PASSED [ 63%] tests/test_request_attrs.py::TestRequestAttributes::test_attribute_headers[asgi-Accept-x-falcon-accept-*/*] PASSED [ 63%] tests/test_request_attrs.py::TestRequestAttributes::test_attribute_headers[asgi-Authorization-HMAC_SHA1 c590afa9bb59191ffab30f223791e82d3fd3e3af-auth-None] PASSED [ 63%] tests/test_request_attrs.py::TestRequestAttributes::test_attribute_headers[asgi-Content-Type-text/plain-content_type-None] PASSED [ 63%] tests/test_request_attrs.py::TestRequestAttributes::test_attribute_headers[asgi-Expect-100-continue-expect-None] PASSED [ 63%] 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%] tests/test_request_attrs.py::TestRequestAttributes::test_attribute_headers[asgi-User-Agent-testing/3.0-user_agent-falcon-client/4.0.2] PASSED [ 63%] tests/test_request_attrs.py::TestRequestAttributes::test_attribute_headers[asgi-Referer-https://www.google.com/-referer-None] PASSED [ 63%] tests/test_request_attrs.py::TestRequestAttributes::test_attribute_headers[wsgi-Accept-x-falcon-accept-*/*] PASSED [ 63%] tests/test_request_attrs.py::TestRequestAttributes::test_attribute_headers[wsgi-Authorization-HMAC_SHA1 c590afa9bb59191ffab30f223791e82d3fd3e3af-auth-None] PASSED [ 63%] tests/test_request_attrs.py::TestRequestAttributes::test_attribute_headers[wsgi-Content-Type-text/plain-content_type-None] PASSED [ 63%] tests/test_request_attrs.py::TestRequestAttributes::test_attribute_headers[wsgi-Expect-100-continue-expect-None] PASSED [ 63%] 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%] tests/test_request_attrs.py::TestRequestAttributes::test_attribute_headers[wsgi-User-Agent-testing/3.0-user_agent-falcon-client/4.0.2] PASSED [ 64%] tests/test_request_attrs.py::TestRequestAttributes::test_attribute_headers[wsgi-Referer-https://www.google.com/-referer-None] PASSED [ 64%] tests/test_request_attrs.py::TestRequestAttributes::test_method[asgi] PASSED [ 64%] tests/test_request_attrs.py::TestRequestAttributes::test_method[wsgi] PASSED [ 64%] tests/test_request_attrs.py::TestRequestAttributes::test_empty_path[asgi] PASSED [ 64%] tests/test_request_attrs.py::TestRequestAttributes::test_empty_path[wsgi] PASSED [ 64%] tests/test_request_attrs.py::TestRequestAttributes::test_content_type_method[asgi] PASSED [ 64%] tests/test_request_attrs.py::TestRequestAttributes::test_content_type_method[wsgi] PASSED [ 64%] tests/test_request_attrs.py::TestRequestAttributes::test_content_length_method[asgi] PASSED [ 64%] tests/test_request_attrs.py::TestRequestAttributes::test_content_length_method[wsgi] PASSED [ 64%] tests/test_request_attrs.py::TestRequestAttributes::test_port_explicit[asgi-1.0] PASSED [ 64%] tests/test_request_attrs.py::TestRequestAttributes::test_port_explicit[asgi-1.1] PASSED [ 64%] tests/test_request_attrs.py::TestRequestAttributes::test_port_explicit[asgi-2] PASSED [ 64%] tests/test_request_attrs.py::TestRequestAttributes::test_port_explicit[wsgi-1.0] PASSED [ 64%] tests/test_request_attrs.py::TestRequestAttributes::test_port_explicit[wsgi-1.1] PASSED [ 64%] tests/test_request_attrs.py::TestRequestAttributes::test_port_explicit[wsgi-2] PASSED [ 64%] tests/test_request_attrs.py::TestRequestAttributes::test_scheme_https[asgi-1.0] PASSED [ 64%] tests/test_request_attrs.py::TestRequestAttributes::test_scheme_https[asgi-1.1] PASSED [ 64%] tests/test_request_attrs.py::TestRequestAttributes::test_scheme_https[asgi-2] PASSED [ 64%] tests/test_request_attrs.py::TestRequestAttributes::test_scheme_https[wsgi-1.0] PASSED [ 64%] tests/test_request_attrs.py::TestRequestAttributes::test_scheme_https[wsgi-1.1] PASSED [ 64%] tests/test_request_attrs.py::TestRequestAttributes::test_scheme_https[wsgi-2] PASSED [ 64%] tests/test_request_attrs.py::TestRequestAttributes::test_scheme_http[asgi-1.0-True] PASSED [ 64%] tests/test_request_attrs.py::TestRequestAttributes::test_scheme_http[asgi-1.0-False] PASSED [ 64%] tests/test_request_attrs.py::TestRequestAttributes::test_scheme_http[asgi-1.1-True] PASSED [ 64%] tests/test_request_attrs.py::TestRequestAttributes::test_scheme_http[asgi-1.1-False] PASSED [ 64%] tests/test_request_attrs.py::TestRequestAttributes::test_scheme_http[asgi-2-True] PASSED [ 64%] tests/test_request_attrs.py::TestRequestAttributes::test_scheme_http[asgi-2-False] PASSED [ 64%] tests/test_request_attrs.py::TestRequestAttributes::test_scheme_http[wsgi-1.0-True] PASSED [ 64%] tests/test_request_attrs.py::TestRequestAttributes::test_scheme_http[wsgi-1.0-False] PASSED [ 64%] tests/test_request_attrs.py::TestRequestAttributes::test_scheme_http[wsgi-1.1-True] PASSED [ 64%] tests/test_request_attrs.py::TestRequestAttributes::test_scheme_http[wsgi-1.1-False] PASSED [ 64%] tests/test_request_attrs.py::TestRequestAttributes::test_scheme_http[wsgi-2-True] PASSED [ 64%] tests/test_request_attrs.py::TestRequestAttributes::test_scheme_http[wsgi-2-False] PASSED [ 64%] tests/test_request_attrs.py::TestRequestAttributes::test_netloc_default_port[asgi-1.0] PASSED [ 64%] tests/test_request_attrs.py::TestRequestAttributes::test_netloc_default_port[asgi-1.1] PASSED [ 64%] tests/test_request_attrs.py::TestRequestAttributes::test_netloc_default_port[asgi-2] PASSED [ 64%] tests/test_request_attrs.py::TestRequestAttributes::test_netloc_default_port[wsgi-1.0] PASSED [ 64%] tests/test_request_attrs.py::TestRequestAttributes::test_netloc_default_port[wsgi-1.1] PASSED [ 65%] tests/test_request_attrs.py::TestRequestAttributes::test_netloc_default_port[wsgi-2] PASSED [ 65%] tests/test_request_attrs.py::TestRequestAttributes::test_netloc_nondefault_port[asgi-1.0] PASSED [ 65%] tests/test_request_attrs.py::TestRequestAttributes::test_netloc_nondefault_port[asgi-1.1] PASSED [ 65%] tests/test_request_attrs.py::TestRequestAttributes::test_netloc_nondefault_port[asgi-2] PASSED [ 65%] tests/test_request_attrs.py::TestRequestAttributes::test_netloc_nondefault_port[wsgi-1.0] PASSED [ 65%] tests/test_request_attrs.py::TestRequestAttributes::test_netloc_nondefault_port[wsgi-1.1] PASSED [ 65%] tests/test_request_attrs.py::TestRequestAttributes::test_netloc_nondefault_port[wsgi-2] PASSED [ 65%] tests/test_request_attrs.py::TestRequestAttributes::test_netloc_from_env[asgi-1.0] PASSED [ 65%] tests/test_request_attrs.py::TestRequestAttributes::test_netloc_from_env[asgi-1.1] PASSED [ 65%] tests/test_request_attrs.py::TestRequestAttributes::test_netloc_from_env[asgi-2] PASSED [ 65%] tests/test_request_attrs.py::TestRequestAttributes::test_netloc_from_env[wsgi-1.0] PASSED [ 65%] tests/test_request_attrs.py::TestRequestAttributes::test_netloc_from_env[wsgi-1.1] PASSED [ 65%] tests/test_request_attrs.py::TestRequestAttributes::test_netloc_from_env[wsgi-2] PASSED [ 65%] tests/test_request_attrs.py::TestRequestAttributes::test_app_present[asgi] PASSED [ 65%] tests/test_request_attrs.py::TestRequestAttributes::test_app_present[wsgi] PASSED [ 65%] tests/test_request_attrs.py::TestRequestAttributes::test_app_blank[asgi] PASSED [ 65%] tests/test_request_attrs.py::TestRequestAttributes::test_app_blank[wsgi] PASSED [ 65%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-Match-if_match--None] PASSED [ 65%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-Match-if_match- -None] PASSED [ 65%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-Match-if_match- -None] PASSED [ 65%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-Match-if_match-\t-None] PASSED [ 65%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-Match-if_match- \t-None] PASSED [ 65%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-Match-if_match-,-None] PASSED [ 65%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-Match-if_match-,,-None] PASSED [ 65%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-Match-if_match-,, -None] PASSED [ 65%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-Match-if_match-, , -None] PASSED [ 65%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-Match-if_match-*-expected_value9] PASSED [ 65%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-Match-if_match-W/"67ab43"-expected_value10] PASSED [ 65%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-Match-if_match-w/"67ab43"-expected_value11] PASSED [ 65%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-Match-if_match- w/"67ab43"-expected_value12] PASSED [ 65%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-Match-if_match-w/"67ab43" -expected_value13] PASSED [ 65%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-Match-if_match-w/"67ab43 " -expected_value14] PASSED [ 65%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-Match-if_match-"67ab43"-expected_value15] PASSED [ 65%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-Match-if_match- "67ab43"-expected_value16] PASSED [ 65%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-Match-if_match- "67ab43" -expected_value17] PASSED [ 65%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-Match-if_match-"67ab43" -expected_value18] PASSED [ 65%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-Match-if_match-" 67ab43" -expected_value19] PASSED [ 65%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-Match-if_match-67ab43"-expected_value20] PASSED [ 65%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-Match-if_match-"67ab43-expected_value21] PASSED [ 66%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-Match-if_match-67ab43-expected_value22] PASSED [ 66%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-Match-if_match-67ab43 -expected_value23] PASSED [ 66%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-Match-if_match- 67ab43 -expected_value24] PASSED [ 66%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-Match-if_match- 67ab43-expected_value25] PASSED [ 66%] 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%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-None-Match-if_none_match--None] PASSED [ 66%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-None-Match-if_none_match- -None] PASSED [ 66%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-None-Match-if_none_match- -None] PASSED [ 66%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-None-Match-if_none_match-\t-None] PASSED [ 66%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-None-Match-if_none_match- \t-None] PASSED [ 66%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-None-Match-if_none_match-,-None] PASSED [ 66%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-None-Match-if_none_match-,,-None] PASSED [ 66%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-None-Match-if_none_match-,, -None] PASSED [ 66%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-None-Match-if_none_match-, , -None] PASSED [ 66%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-None-Match-if_none_match-*-expected_value9] PASSED [ 66%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-None-Match-if_none_match-W/"67ab43"-expected_value10] PASSED [ 66%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-None-Match-if_none_match-w/"67ab43"-expected_value11] PASSED [ 66%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-None-Match-if_none_match- w/"67ab43"-expected_value12] PASSED [ 66%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-None-Match-if_none_match-w/"67ab43" -expected_value13] PASSED [ 66%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-None-Match-if_none_match-w/"67ab43 " -expected_value14] PASSED [ 66%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-None-Match-if_none_match-"67ab43"-expected_value15] PASSED [ 66%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-None-Match-if_none_match- "67ab43"-expected_value16] PASSED [ 66%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-None-Match-if_none_match- "67ab43" -expected_value17] PASSED [ 66%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-None-Match-if_none_match-"67ab43" -expected_value18] PASSED [ 66%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-None-Match-if_none_match-" 67ab43" -expected_value19] PASSED [ 66%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-None-Match-if_none_match-67ab43"-expected_value20] PASSED [ 66%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-None-Match-if_none_match-"67ab43-expected_value21] PASSED [ 66%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-None-Match-if_none_match-67ab43-expected_value22] PASSED [ 66%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-None-Match-if_none_match-67ab43 -expected_value23] PASSED [ 66%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-None-Match-if_none_match- 67ab43 -expected_value24] PASSED [ 66%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-None-Match-if_none_match- 67ab43-expected_value25] PASSED [ 66%] 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%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-Match-if_match--None] PASSED [ 66%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-Match-if_match- -None] PASSED [ 66%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-Match-if_match- -None] PASSED [ 66%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-Match-if_match-\t-None] PASSED [ 66%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-Match-if_match- \t-None] PASSED [ 66%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-Match-if_match-,-None] PASSED [ 66%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-Match-if_match-,,-None] PASSED [ 66%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-Match-if_match-,, -None] PASSED [ 67%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-Match-if_match-, , -None] PASSED [ 67%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-Match-if_match-*-expected_value9] PASSED [ 67%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-Match-if_match-W/"67ab43"-expected_value10] PASSED [ 67%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-Match-if_match-w/"67ab43"-expected_value11] PASSED [ 67%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-Match-if_match- w/"67ab43"-expected_value12] PASSED [ 67%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-Match-if_match-w/"67ab43" -expected_value13] PASSED [ 67%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-Match-if_match-w/"67ab43 " -expected_value14] PASSED [ 67%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-Match-if_match-"67ab43"-expected_value15] PASSED [ 67%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-Match-if_match- "67ab43"-expected_value16] PASSED [ 67%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-Match-if_match- "67ab43" -expected_value17] PASSED [ 67%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-Match-if_match-"67ab43" -expected_value18] PASSED [ 67%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-Match-if_match-" 67ab43" -expected_value19] PASSED [ 67%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-Match-if_match-67ab43"-expected_value20] PASSED [ 67%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-Match-if_match-"67ab43-expected_value21] PASSED [ 67%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-Match-if_match-67ab43-expected_value22] PASSED [ 67%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-Match-if_match-67ab43 -expected_value23] PASSED [ 67%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-Match-if_match- 67ab43 -expected_value24] PASSED [ 67%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-Match-if_match- 67ab43-expected_value25] PASSED [ 67%] 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%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-None-Match-if_none_match--None] PASSED [ 67%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-None-Match-if_none_match- -None] PASSED [ 67%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-None-Match-if_none_match- -None] PASSED [ 67%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-None-Match-if_none_match-\t-None] PASSED [ 67%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-None-Match-if_none_match- \t-None] PASSED [ 67%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-None-Match-if_none_match-,-None] PASSED [ 67%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-None-Match-if_none_match-,,-None] PASSED [ 67%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-None-Match-if_none_match-,, -None] PASSED [ 67%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-None-Match-if_none_match-, , -None] PASSED [ 67%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-None-Match-if_none_match-*-expected_value9] PASSED [ 67%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-None-Match-if_none_match-W/"67ab43"-expected_value10] PASSED [ 67%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-None-Match-if_none_match-w/"67ab43"-expected_value11] PASSED [ 67%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-None-Match-if_none_match- w/"67ab43"-expected_value12] PASSED [ 67%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-None-Match-if_none_match-w/"67ab43" -expected_value13] PASSED [ 67%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-None-Match-if_none_match-w/"67ab43 " -expected_value14] PASSED [ 67%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-None-Match-if_none_match-"67ab43"-expected_value15] PASSED [ 67%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-None-Match-if_none_match- "67ab43"-expected_value16] PASSED [ 67%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-None-Match-if_none_match- "67ab43" -expected_value17] PASSED [ 67%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-None-Match-if_none_match-"67ab43" -expected_value18] PASSED [ 67%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-None-Match-if_none_match-" 67ab43" -expected_value19] PASSED [ 68%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-None-Match-if_none_match-67ab43"-expected_value20] PASSED [ 68%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-None-Match-if_none_match-"67ab43-expected_value21] PASSED [ 68%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-None-Match-if_none_match-67ab43-expected_value22] PASSED [ 68%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-None-Match-if_none_match-67ab43 -expected_value23] PASSED [ 68%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-None-Match-if_none_match- 67ab43 -expected_value24] PASSED [ 68%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-None-Match-if_none_match- 67ab43-expected_value25] PASSED [ 68%] 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%] tests/test_request_attrs.py::TestRequestAttributes::test_etag_is_missing[asgi] PASSED [ 68%] tests/test_request_attrs.py::TestRequestAttributes::test_etag_is_missing[wsgi] PASSED [ 68%] tests/test_request_attrs.py::TestRequestAttributes::test_etag_parsing_helper[asgi-] PASSED [ 68%] tests/test_request_attrs.py::TestRequestAttributes::test_etag_parsing_helper[asgi- ] PASSED [ 68%] tests/test_request_attrs.py::TestRequestAttributes::test_etag_parsing_helper[asgi- ] PASSED [ 68%] tests/test_request_attrs.py::TestRequestAttributes::test_etag_parsing_helper[wsgi-] PASSED [ 68%] tests/test_request_attrs.py::TestRequestAttributes::test_etag_parsing_helper[wsgi- ] PASSED [ 68%] tests/test_request_attrs.py::TestRequestAttributes::test_etag_parsing_helper[wsgi- ] PASSED [ 68%] tests/test_request_body.py::TestRequestBody::test_empty_body PASSED [ 68%] tests/test_request_body.py::TestRequestBody::test_tiny_body PASSED [ 68%] tests/test_request_body.py::TestRequestBody::test_tiny_body_overflow PASSED [ 68%] tests/test_request_body.py::TestRequestBody::test_read_body PASSED [ 68%] tests/test_request_body.py::TestRequestBody::test_bounded_stream_property_empty_body PASSED [ 68%] tests/test_request_body.py::TestRequestBody::test_body_stream_wrapper PASSED [ 68%] tests/test_request_body.py::TestRequestBody::test_request_repr PASSED [ 68%] tests/test_request_context.py::TestRequestContext::test_default_request_context PASSED [ 68%] tests/test_request_context.py::TestRequestContext::test_custom_request_context PASSED [ 68%] tests/test_request_context.py::TestRequestContext::test_custom_request_context_failure PASSED [ 68%] tests/test_request_context.py::TestRequestContext::test_custom_request_context_request_access PASSED [ 68%] tests/test_request_forwarded.py::test_no_forwarded_headers[asgi] PASSED [ 68%] tests/test_request_forwarded.py::test_no_forwarded_headers[wsgi] PASSED [ 68%] tests/test_request_forwarded.py::test_no_forwarded_headers_with_port[asgi] PASSED [ 68%] tests/test_request_forwarded.py::test_no_forwarded_headers_with_port[wsgi] PASSED [ 68%] tests/test_request_forwarded.py::test_x_forwarded_host[asgi] PASSED [ 68%] tests/test_request_forwarded.py::test_x_forwarded_host[wsgi] PASSED [ 68%] tests/test_request_forwarded.py::test_x_forwarded_host_with_port[asgi] PASSED [ 68%] tests/test_request_forwarded.py::test_x_forwarded_host_with_port[wsgi] PASSED [ 68%] tests/test_request_forwarded.py::test_x_forwarded_proto[asgi] PASSED [ 68%] tests/test_request_forwarded.py::test_x_forwarded_proto[wsgi] PASSED [ 68%] tests/test_request_forwarded.py::test_forwarded_host[asgi] PASSED [ 68%] tests/test_request_forwarded.py::test_forwarded_host[wsgi] PASSED [ 68%] tests/test_request_forwarded.py::test_forwarded_invalid[asgi] PASSED [ 69%] tests/test_request_forwarded.py::test_forwarded_invalid[wsgi] PASSED [ 69%] tests/test_request_forwarded.py::test_forwarded_multiple_params[asgi] PASSED [ 69%] tests/test_request_forwarded.py::test_forwarded_multiple_params[wsgi] PASSED [ 69%] tests/test_request_forwarded.py::test_forwarded_missing_first_hop_host[asgi] PASSED [ 69%] tests/test_request_forwarded.py::test_forwarded_missing_first_hop_host[wsgi] PASSED [ 69%] tests/test_request_forwarded.py::test_forwarded_quote_escaping[asgi] PASSED [ 69%] tests/test_request_forwarded.py::test_forwarded_quote_escaping[wsgi] PASSED [ 69%] tests/test_request_forwarded.py::test_escape_malformed_requests[asgi-for=1.2.3.4;by="-None] PASSED [ 69%] tests/test_request_forwarded.py::test_escape_malformed_requests[asgi-for=1.2.3.4;by=4\\.3.2.1thing=blah-4] PASSED [ 69%] 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%] 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%] 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%] tests/test_request_forwarded.py::test_escape_malformed_requests[wsgi-for=1.2.3.4;by="-None] PASSED [ 69%] tests/test_request_forwarded.py::test_escape_malformed_requests[wsgi-for=1.2.3.4;by=4\\.3.2.1thing=blah-4] PASSED [ 69%] 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%] 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%] 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%] tests/test_request_media.py::test_json[asgi-None] PASSED [ 69%] tests/test_request_media.py::test_json[asgi-*/*] PASSED [ 69%] tests/test_request_media.py::test_json[asgi-application/json] PASSED [ 69%] tests/test_request_media.py::test_json[asgi-application/json; charset=utf-8] PASSED [ 69%] tests/test_request_media.py::test_json[wsgi-None] PASSED [ 69%] tests/test_request_media.py::test_json[wsgi-*/*] PASSED [ 69%] tests/test_request_media.py::test_json[wsgi-application/json] PASSED [ 69%] tests/test_request_media.py::test_json[wsgi-application/json; charset=utf-8] PASSED [ 69%] tests/test_request_media.py::test_msgpack[asgi-application/msgpack] PASSED [ 69%] tests/test_request_media.py::test_msgpack[asgi-application/msgpack; charset=utf-8] PASSED [ 69%] tests/test_request_media.py::test_msgpack[asgi-application/x-msgpack] PASSED [ 69%] tests/test_request_media.py::test_msgpack[wsgi-application/msgpack] PASSED [ 69%] tests/test_request_media.py::test_msgpack[wsgi-application/msgpack; charset=utf-8] PASSED [ 69%] tests/test_request_media.py::test_msgpack[wsgi-application/x-msgpack] PASSED [ 69%] tests/test_request_media.py::test_unknown_media_type[asgi-nope/json] PASSED [ 69%] tests/test_request_media.py::test_unknown_media_type[wsgi-nope/json] PASSED [ 69%] tests/test_request_media.py::test_empty_body[asgi-application/json] PASSED [ 69%] tests/test_request_media.py::test_empty_body[asgi-application/msgpack] PASSED [ 69%] tests/test_request_media.py::test_empty_body[wsgi-application/json] PASSED [ 69%] tests/test_request_media.py::test_empty_body[wsgi-application/msgpack] PASSED [ 69%] tests/test_request_media.py::test_invalid_json[asgi] PASSED [ 69%] tests/test_request_media.py::test_invalid_json[wsgi] PASSED [ 70%] tests/test_request_media.py::test_invalid_msgpack[asgi] PASSED [ 70%] tests/test_request_media.py::test_invalid_msgpack[wsgi] PASSED [ 70%] tests/test_request_media.py::test_complete_consumption[asgi] PASSED [ 70%] tests/test_request_media.py::test_complete_consumption[wsgi] PASSED [ 70%] tests/test_request_media.py::test_empty_json_media[asgi-False] PASSED [ 70%] tests/test_request_media.py::test_empty_json_media[asgi-0] PASSED [ 70%] tests/test_request_media.py::test_empty_json_media[asgi-0.0] PASSED [ 70%] tests/test_request_media.py::test_empty_json_media[asgi-] PASSED [ 70%] tests/test_request_media.py::test_empty_json_media[asgi-payload4] PASSED [ 70%] tests/test_request_media.py::test_empty_json_media[asgi-payload5] PASSED [ 70%] tests/test_request_media.py::test_empty_json_media[wsgi-False] PASSED [ 70%] tests/test_request_media.py::test_empty_json_media[wsgi-0] PASSED [ 70%] tests/test_request_media.py::test_empty_json_media[wsgi-0.0] PASSED [ 70%] tests/test_request_media.py::test_empty_json_media[wsgi-] PASSED [ 70%] tests/test_request_media.py::test_empty_json_media[wsgi-payload4] PASSED [ 70%] tests/test_request_media.py::test_empty_json_media[wsgi-payload5] PASSED [ 70%] tests/test_request_media.py::test_null_json_media[asgi] PASSED [ 70%] tests/test_request_media.py::test_null_json_media[wsgi] PASSED [ 70%] tests/test_request_media.py::test_fallback[asgi] PASSED [ 70%] tests/test_request_media.py::test_fallback[wsgi] PASSED [ 70%] tests/test_request_media.py::test_fallback_not_for_error_body[asgi-True-True] PASSED [ 70%] tests/test_request_media.py::test_fallback_not_for_error_body[asgi-True-False] PASSED [ 70%] tests/test_request_media.py::test_fallback_not_for_error_body[asgi-False-True] PASSED [ 70%] tests/test_request_media.py::test_fallback_not_for_error_body[asgi-False-False] PASSED [ 70%] tests/test_request_media.py::test_fallback_not_for_error_body[wsgi-True-True] PASSED [ 70%] tests/test_request_media.py::test_fallback_not_for_error_body[wsgi-True-False] PASSED [ 70%] tests/test_request_media.py::test_fallback_not_for_error_body[wsgi-False-True] PASSED [ 70%] tests/test_request_media.py::test_fallback_not_for_error_body[wsgi-False-False] PASSED [ 70%] tests/test_request_media.py::test_fallback_does_not_override_media_default[asgi] PASSED [ 70%] tests/test_request_media.py::test_fallback_does_not_override_media_default[wsgi] PASSED [ 70%] tests/test_request_media.py::test_repeated_error[asgi-{] PASSED [ 70%] tests/test_request_media.py::test_repeated_error[asgi-] PASSED [ 70%] tests/test_request_media.py::test_repeated_error[wsgi-{] PASSED [ 70%] tests/test_request_media.py::test_repeated_error[wsgi-] PASSED [ 70%] tests/test_request_media.py::test_error_after_first_default[asgi] PASSED [ 70%] tests/test_request_media.py::test_error_after_first_default[wsgi] PASSED [ 70%] tests/test_response.py::test_response_set_content_type_set[asgi] PASSED [ 70%] tests/test_response.py::test_response_set_content_type_set[wsgi] PASSED [ 70%] tests/test_response.py::test_response_set_content_type_not_set[asgi] PASSED [ 71%] tests/test_response.py::test_response_set_content_type_not_set[wsgi] PASSED [ 71%] tests/test_response.py::test_response_get_headers[asgi] PASSED [ 71%] tests/test_response.py::test_response_get_headers[wsgi] PASSED [ 71%] tests/test_response.py::test_add_link_removed[asgi] PASSED [ 71%] tests/test_response.py::test_add_link_removed[wsgi] PASSED [ 71%] tests/test_response.py::test_body_removed[asgi] PASSED [ 71%] tests/test_response.py::test_body_removed[wsgi] PASSED [ 71%] tests/test_response.py::test_response_attempt_to_set_read_only_headers[asgi] PASSED [ 71%] tests/test_response.py::test_response_attempt_to_set_read_only_headers[wsgi] PASSED [ 71%] tests/test_response.py::test_response_option_mimetype_init PASSED [ 71%] tests/test_response.py::test_response_set_stream[asgi-] PASSED [ 71%] tests/test_response.py::test_response_set_stream[asgi-dummy content] PASSED [ 71%] tests/test_response.py::test_response_set_stream[wsgi-] PASSED [ 71%] tests/test_response.py::test_response_set_stream[wsgi-dummy content] PASSED [ 71%] tests/test_response_body.py::test_append_body[asgi] PASSED [ 71%] tests/test_response_body.py::test_append_body[wsgi] PASSED [ 71%] tests/test_response_body.py::test_response_repr[asgi] PASSED [ 71%] tests/test_response_body.py::test_response_repr[wsgi] PASSED [ 71%] tests/test_response_body.py::test_content_length_set_on_head_with_no_body[asgi] PASSED [ 71%] tests/test_response_body.py::test_content_length_set_on_head_with_no_body[wsgi] PASSED [ 71%] tests/test_response_body.py::test_content_length_not_set_when_streaming_response[asgi-GET] PASSED [ 71%] tests/test_response_body.py::test_content_length_not_set_when_streaming_response[asgi-HEAD] PASSED [ 71%] tests/test_response_body.py::test_content_length_not_set_when_streaming_response[wsgi-GET] PASSED [ 71%] tests/test_response_body.py::test_content_length_not_set_when_streaming_response[wsgi-HEAD] PASSED [ 71%] tests/test_response_body.py::test_unsupported_response_content_type[asgi] PASSED [ 71%] tests/test_response_body.py::test_unsupported_response_content_type[wsgi] PASSED [ 71%] tests/test_response_body.py::test_response_body_rendition_error[asgi] PASSED [ 71%] tests/test_response_body.py::test_response_body_rendition_error[wsgi] PASSED [ 71%] tests/test_response_context.py::TestResponseContext::test_default_response_context[asgi.Response] PASSED [ 71%] tests/test_response_context.py::TestResponseContext::test_default_response_context[Response] PASSED [ 71%] tests/test_response_context.py::TestResponseContext::test_custom_response_context[asgi.Response] PASSED [ 71%] tests/test_response_context.py::TestResponseContext::test_custom_response_context[Response] PASSED [ 71%] tests/test_response_context.py::TestResponseContext::test_custom_response_context_failure[asgi.Response] PASSED [ 71%] tests/test_response_context.py::TestResponseContext::test_custom_response_context_failure[Response] PASSED [ 71%] tests/test_response_context.py::TestResponseContext::test_custom_response_context_factory[asgi.Response] PASSED [ 71%] tests/test_response_context.py::TestResponseContext::test_custom_response_context_factory[Response] PASSED [ 71%] tests/test_response_media.py::test_json[*/*] PASSED [ 71%] tests/test_response_media.py::test_json[application/json] PASSED [ 71%] tests/test_response_media.py::test_json[application/json; charset=utf-8] PASSED [ 72%] tests/test_response_media.py::test_non_ascii_json_serialization[] PASSED [ 72%] tests/test_response_media.py::test_non_ascii_json_serialization[I am a \u1d0a\ua731\u1d0f\u0274 string.] PASSED [ 72%] tests/test_response_media.py::test_non_ascii_json_serialization[document2] PASSED [ 72%] tests/test_response_media.py::test_non_ascii_json_serialization[document3] PASSED [ 72%] tests/test_response_media.py::test_non_ascii_json_serialization[document4] PASSED [ 72%] tests/test_response_media.py::test_msgpack[application/msgpack] PASSED [ 72%] tests/test_response_media.py::test_msgpack[application/msgpack; charset=utf-8] PASSED [ 72%] tests/test_response_media.py::test_msgpack[application/x-msgpack] PASSED [ 72%] tests/test_response_media.py::test_unknown_media_type PASSED [ 72%] tests/test_response_media.py::test_use_cached_media PASSED [ 72%] tests/test_response_media.py::test_default_media_type PASSED [ 72%] tests/test_response_media.py::test_mimeparse_edgecases PASSED [ 72%] tests/test_response_media.py::TestRenderBodyPrecedence::test_text PASSED [ 72%] tests/test_response_media.py::TestRenderBodyPrecedence::test_data PASSED [ 72%] tests/test_response_media.py::TestRenderBodyPrecedence::test_media PASSED [ 72%] tests/test_response_media.py::test_media_rendered_cached PASSED [ 72%] tests/test_sink_and_static.py::test_sink_before_static_route[asgi] PASSED [ 72%] tests/test_sink_and_static.py::test_sink_before_static_route[wsgi] PASSED [ 72%] tests/test_sink_and_static.py::test_sink_after_static_route[asgi] PASSED [ 72%] tests/test_sink_and_static.py::test_sink_after_static_route[wsgi] PASSED [ 72%] tests/test_sinks.py::TestDefaultRouting::test_single_default_pattern[asgi] PASSED [ 72%] tests/test_sinks.py::TestDefaultRouting::test_single_default_pattern[wsgi] PASSED [ 72%] tests/test_sinks.py::TestDefaultRouting::test_single_simple_pattern[asgi] PASSED [ 72%] tests/test_sinks.py::TestDefaultRouting::test_single_simple_pattern[wsgi] PASSED [ 72%] tests/test_sinks.py::TestDefaultRouting::test_single_compiled_pattern[asgi] PASSED [ 72%] tests/test_sinks.py::TestDefaultRouting::test_single_compiled_pattern[wsgi] PASSED [ 72%] tests/test_sinks.py::TestDefaultRouting::test_named_groups[asgi] PASSED [ 72%] tests/test_sinks.py::TestDefaultRouting::test_named_groups[wsgi] PASSED [ 72%] tests/test_sinks.py::TestDefaultRouting::test_multiple_patterns[asgi] PASSED [ 72%] tests/test_sinks.py::TestDefaultRouting::test_multiple_patterns[wsgi] PASSED [ 72%] tests/test_sinks.py::TestDefaultRouting::test_with_route[asgi] PASSED [ 72%] tests/test_sinks.py::TestDefaultRouting::test_with_route[wsgi] PASSED [ 72%] tests/test_sinks.py::TestDefaultRouting::test_route_precedence[asgi] PASSED [ 72%] tests/test_sinks.py::TestDefaultRouting::test_route_precedence[wsgi] PASSED [ 72%] tests/test_sinks.py::TestDefaultRouting::test_route_precedence_with_id[asgi] PASSED [ 72%] tests/test_sinks.py::TestDefaultRouting::test_route_precedence_with_id[wsgi] PASSED [ 72%] tests/test_sinks.py::TestDefaultRouting::test_route_precedence_with_both_id[asgi] PASSED [ 72%] tests/test_sinks.py::TestDefaultRouting::test_route_precedence_with_both_id[wsgi] PASSED [ 72%] tests/test_sinks.py::TestSinkMethodCompatibility::test_add_async_sink[asgi] PASSED [ 73%] tests/test_sinks.py::TestSinkMethodCompatibility::test_add_async_sink[wsgi] PASSED [ 73%] tests/test_sinks.py::TestSinkMethodCompatibility::test_add_sync_sink[asgi] PASSED [ 73%] tests/test_sinks.py::TestSinkMethodCompatibility::test_add_sync_sink[wsgi] PASSED [ 73%] tests/test_sinks.py::TestSinkMethodCompatibility::test_add_sync_sink_with_wrapping[asgi] PASSED [ 73%] tests/test_sinks.py::TestSinkMethodCompatibility::test_add_sync_sink_with_wrapping[wsgi] PASSED [ 73%] tests/test_slots.py::TestSlots::test_slots_request[asgi] PASSED [ 73%] tests/test_slots.py::TestSlots::test_slots_request[wsgi] PASSED [ 73%] tests/test_slots.py::TestSlots::test_slots_response[asgi] PASSED [ 73%] tests/test_slots.py::TestSlots::test_slots_response[wsgi] PASSED [ 73%] tests/test_static.py::test_bad_path[asgi-/static] PASSED [ 73%] tests/test_static.py::test_bad_path[asgi-/static/] PASSED [ 73%] tests/test_static.py::test_bad_path[asgi-/static/.] PASSED [ 73%] tests/test_static.py::test_bad_path[asgi-/static/..] PASSED [ 73%] tests/test_static.py::test_bad_path[asgi-/static/../.] PASSED [ 73%] tests/test_static.py::test_bad_path[asgi-/static/.././etc/passwd] PASSED [ 73%] tests/test_static.py::test_bad_path[asgi-/static/../etc/passwd] PASSED [ 73%] tests/test_static.py::test_bad_path[asgi-/static/css/../../secret] PASSED [ 73%] tests/test_static.py::test_bad_path[asgi-/static/css/../../etc/passwd] PASSED [ 73%] tests/test_static.py::test_bad_path[asgi-/static/./../etc/passwd] PASSED [ 73%] tests/test_static.py::test_bad_path[asgi-/static/css/../.\\056/etc/passwd] PASSED [ 73%] tests/test_static.py::test_bad_path[asgi-/static/./\\056./etc/passwd] PASSED [ 73%] tests/test_static.py::test_bad_path[asgi-/static/\\056\\056/etc/passwd] PASSED [ 73%] tests/test_static.py::test_bad_path[asgi-/static//test.css] PASSED [ 73%] tests/test_static.py::test_bad_path[asgi-/static//COM10] PASSED [ 73%] tests/test_static.py::test_bad_path[asgi-/static/path//test.css] PASSED [ 73%] tests/test_static.py::test_bad_path[asgi-/static/path///test.css] PASSED [ 73%] tests/test_static.py::test_bad_path[asgi-/static/path////test.css] PASSED [ 73%] tests/test_static.py::test_bad_path[asgi-/static/path/foo//test.css] PASSED [ 73%] tests/test_static.py::test_bad_path[asgi-/static/.\x00ssh/authorized_keys] PASSED [ 73%] tests/test_static.py::test_bad_path[asgi-/static/.\x1fssh/authorized_keys] PASSED [ 73%] tests/test_static.py::test_bad_path[asgi-/static/.\x80ssh/authorized_keys] PASSED [ 73%] tests/test_static.py::test_bad_path[asgi-/static/.\x9fssh/authorized_keys] PASSED [ 73%] tests/test_static.py::test_bad_path[asgi-/static/~/.ssh/authorized_keys] PASSED [ 73%] tests/test_static.py::test_bad_path[asgi-/static/.ssh/authorized_key?] PASSED [ 73%] tests/test_static.py::test_bad_path[asgi-/static/.ssh/authorized_key>foo] PASSED [ 73%] tests/test_static.py::test_bad_path[asgi-/static/.ssh/authorized_key|foo] PASSED [ 73%] tests/test_static.py::test_bad_path[asgi-/static/.ssh/authorized_keyfoo] PASSED [ 74%] tests/test_static.py::test_bad_path[wsgi-/static/.ssh/authorized_key|foo] PASSED [ 74%] tests/test_static.py::test_bad_path[wsgi-/static/.ssh/authorized_key>$MYINIT.init ; \ pkgos-gen-systemd-unit $i ; \ done + ls -1 debian/*.init.in ls: cannot access 'debian/*.init.in': No such file or directory # If there's a service.in file, use that one instead of the generated one set -e ; set -x ; for i in `ls -1 debian/*.service.in`; do \ MYPKG=`echo $i | sed s/.service.in//` ; \ cp $MYPKG.service.in $MYPKG.service ; \ done + ls -1 debian/*.service.in ls: cannot access 'debian/*.service.in': No such file or directory # Generate the systemd unit if there's no already existing .service.in set -e ; set -x ; for i in `ls debian/*.init.in` ; do \ MYINIT=`echo $i | sed s/.init.in/.service.in/` ; \ if ! [ -e $MYINIT ] ; then \ pkgos-gen-systemd-unit $i ; \ fi \ done + ls debian/*.init.in ls: cannot access 'debian/*.init.in': No such file or directory dh_installinit --error-handler=true make[1]: Leaving directory '/build/reproducible-path/python-falcon-4.0.2' debian/rules override_dh_installsystemd make[1]: Entering directory '/build/reproducible-path/python-falcon-4.0.2' make[1]: pyversions: No such file or directory py3versions: no X-Python3-Version in control file, using supported versions debian/rules:40: warning: overriding recipe for target 'override_dh_installchangelogs' /usr/share/openstack-pkg-tools/pkgos.make:59: warning: ignoring old recipe for target 'override_dh_installchangelogs' # Create the init scripts and systemd unit files from the template set -e ; set -x ; for i in `ls -1 debian/*.init.in` ; do \ MYINIT=`echo $i | sed s/.init.in//` ; \ cp $i $MYINIT.init ; \ cat /usr/share/openstack-pkg-tools/init-script-template >>$MYINIT.init ; \ pkgos-gen-systemd-unit $i ; \ done + ls -1 debian/*.init.in ls: cannot access 'debian/*.init.in': No such file or directory # If there's a service.in file, use that one instead of the generated one set -e ; set -x ; for i in `ls -1 debian/*.service.in`; do \ MYPKG=`echo $i | sed s/.service.in//` ; \ cp $MYPKG.service.in $MYPKG.service ; \ done + ls -1 debian/*.service.in ls: cannot access 'debian/*.service.in': No such file or directory # Generate the systemd unit if there's no already existing .service.in set -e ; set -x ; for i in `ls debian/*.init.in` ; do \ MYINIT=`echo $i | sed s/.init.in/.service.in/` ; \ if ! [ -e $MYINIT ] ; then \ pkgos-gen-systemd-unit $i ; \ fi \ done + ls debian/*.init.in ls: cannot access 'debian/*.init.in': No such file or directory dh_installsystemd make[1]: Leaving directory '/build/reproducible-path/python-falcon-4.0.2' dh_perl -O--buildsystem=python_distutils dh_link -O--buildsystem=python_distutils dh_strip_nondeterminism -O--buildsystem=python_distutils dh_compress -O--buildsystem=python_distutils dh_fixperms -O--buildsystem=python_distutils dh_missing -O--buildsystem=python_distutils dh_strip -O--buildsystem=python_distutils dh_makeshlibs -O--buildsystem=python_distutils dh_shlibdeps -O--buildsystem=python_distutils dpkg-shlibdeps: warning: diversions involved - output may be incorrect diversion by libc6 from: /lib/ld-linux-aarch64.so.1 dpkg-shlibdeps: warning: diversions involved - output may be incorrect diversion by libc6 to: /lib/ld-linux-aarch64.so.1.usr-is-merged dh_installdeb -O--buildsystem=python_distutils debian/rules override_dh_gencontrol make[1]: Entering directory '/build/reproducible-path/python-falcon-4.0.2' make[1]: pyversions: No such file or directory py3versions: no X-Python3-Version in control file, using supported versions debian/rules:40: warning: overriding recipe for target 'override_dh_installchangelogs' /usr/share/openstack-pkg-tools/pkgos.make:59: warning: ignoring old recipe for target 'override_dh_installchangelogs' if dpkg-vendor --derives-from ubuntu ; then \ dh_gencontrol -- -T/build/reproducible-path/python-falcon-4.0.2/debian/ubuntu_control_vars ; \ else \ dh_gencontrol -- -T/build/reproducible-path/python-falcon-4.0.2/debian/debian_control_vars ; \ fi make[1]: Leaving directory '/build/reproducible-path/python-falcon-4.0.2' dh_md5sums -O--buildsystem=python_distutils dh_builddeb -O--buildsystem=python_distutils dpkg-deb: building package 'python3-falcon-dbgsym' in '../python3-falcon-dbgsym_4.0.2-2_arm64.deb'. dpkg-deb: building package 'python3-falcon' in '../python3-falcon_4.0.2-2_arm64.deb'. dpkg-genbuildinfo --build=binary -O../python-falcon_4.0.2-2_arm64.buildinfo dpkg-genchanges --build=binary -O../python-falcon_4.0.2-2_arm64.changes dpkg-genchanges: info: binary-only upload (no source code included) dpkg-source --after-build . dpkg-source: info: using options from python-falcon-4.0.2/debian/source/options: --extend-diff-ignore=^[.]gitreview$ dpkg-buildpackage: info: binary-only upload (no source included) dpkg-genchanges: info: not including original source code in upload I: copying local configuration I: unmounting dev/ptmx filesystem I: unmounting dev/pts filesystem I: unmounting dev/shm filesystem I: unmounting proc filesystem I: unmounting sys filesystem I: cleaning the build env I: removing directory /srv/workspace/pbuilder/3037319 and its subdirectories I: Current time: Tue Nov 3 00:01:55 -12 2026 I: pbuilder-time-stamp: 1793707315 Wed Oct 1 05:38:57 UTC 2025 I: 1st build successful. Starting 2nd build on remote node codethink04-arm64.debian.net. Wed Oct 1 05:38:57 UTC 2025 I: Preparing to do remote build '2' on codethink04-arm64.debian.net. Wed Oct 1 05:48:27 UTC 2025 I: Deleting $TMPDIR on codethink04-arm64.debian.net. Wed Oct 1 05:48:27 UTC 2025 I: python-falcon_4.0.2-2_arm64.changes: Format: 1.8 Date: Mon, 29 Sep 2025 14:24:17 +0200 Source: python-falcon Binary: python3-falcon python3-falcon-dbgsym Architecture: arm64 Version: 4.0.2-2 Distribution: unstable Urgency: medium Maintainer: Debian OpenStack Changed-By: Thomas Goirand Description: python3-falcon - supersonic micro-framework for building cloud APIs - Python 3.x Changes: python-falcon (4.0.2-2) unstable; urgency=medium . * Removed versions of packages in d/control when satisfied in Trixie. Checksums-Sha1: 49e3162375f9520a93bb16eb71063e423543d57d 7803 python-falcon_4.0.2-2_arm64.buildinfo f6c0193ab9ca4e1da978aa9847479349d0619fe9 8104424 python3-falcon-dbgsym_4.0.2-2_arm64.deb 875e96162e2ac61eae067f51475f5c0ad0a1748d 1216708 python3-falcon_4.0.2-2_arm64.deb Checksums-Sha256: bb8038901de3092b03d2d1c6942dd90a052c707c02d33410c0db26801d0a8409 7803 python-falcon_4.0.2-2_arm64.buildinfo ddb4fb3406f7030f3b6ce201acb32072fceea4324c8cd3a03577e0bf4a9342be 8104424 python3-falcon-dbgsym_4.0.2-2_arm64.deb 556bec5e23ed81c71b980923240f7e5b5c0f481434675063afa13f647e0064bd 1216708 python3-falcon_4.0.2-2_arm64.deb Files: 5b585367c5fc094f4383e2ea7a49b618 7803 python optional python-falcon_4.0.2-2_arm64.buildinfo 08eabea2c9161c3b1aea8afe9696df73 8104424 debug optional python3-falcon-dbgsym_4.0.2-2_arm64.deb 2d7581ef124384e2bc379ccdc65812c5 1216708 python optional python3-falcon_4.0.2-2_arm64.deb Wed Oct 1 05:48:28 UTC 2025 I: diffoscope 306 will be used to compare the two builds: Running as unit: rb-diffoscope-arm64_2-116053.service; invocation ID: 7bdb670704674313bf8446d8f0fce0be # Profiling output for: /usr/bin/diffoscope --timeout 7200 --html /srv/reproducible-results/rbuild-debian/r-b-build.aiul3SFL/python-falcon_4.0.2-2.diffoscope.html --text /srv/reproducible-results/rbuild-debian/r-b-build.aiul3SFL/python-falcon_4.0.2-2.diffoscope.txt --json /srv/reproducible-results/rbuild-debian/r-b-build.aiul3SFL/python-falcon_4.0.2-2.diffoscope.json --profile=- /srv/reproducible-results/rbuild-debian/r-b-build.aiul3SFL/b1/python-falcon_4.0.2-2_arm64.changes /srv/reproducible-results/rbuild-debian/r-b-build.aiul3SFL/b2/python-falcon_4.0.2-2_arm64.changes ## command (total time: 0.000s) 0.000s 1 call cmp (internal) ## has_same_content_as (total time: 0.000s) 0.000s 1 call diffoscope.comparators.binary.FilesystemFile ## main (total time: 0.003s) 0.003s 2 calls outputs 0.000s 1 call cleanup Finished with result: success Main processes terminated with: code=exited, status=0/SUCCESS Service runtime: 232ms CPU time consumed: 187ms Memory peak: 18M (swap: 0B) Wed Oct 1 05:48:29 UTC 2025 I: diffoscope 306 found no differences in the changes files, and a .buildinfo file also exists. Wed Oct 1 05:48:29 UTC 2025 I: python-falcon from forky built successfully and reproducibly on arm64. Wed Oct 1 05:48:29 UTC 2025 I: Removing signed python-falcon_4.0.2-2_arm64.buildinfo.asc files: removed './b1/python-falcon_4.0.2-2_arm64.buildinfo.asc' removed './b2/python-falcon_4.0.2-2_arm64.buildinfo.asc'