I: pbuilder: network access will be disabled during build I: Current time: Sun Nov 24 19:44:20 -12 2024 I: pbuilder-time-stamp: 1732520660 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/experimental-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-0.1.dsc] I: copying [./python-falcon_4.0.2.orig.tar.xz] I: copying [./python-falcon_4.0.2-0.1.debian.tar.xz] I: Extracting source gpgv: Signature made Wed Nov 13 12:38:38 2024 gpgv: using EDDSA key EE9AD6F90520FA11F69F4824477B0DB0263A54D8 gpgv: issuer "stefanor@debian.org" gpgv: Can't check signature: No public key dpkg-source: warning: cannot verify inline signature for ./python-falcon_4.0.2-0.1.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-0.1.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/3566123/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='amd64' DEBIAN_FRONTEND='noninteractive' DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=20 ' DISTRIBUTION='experimental' HOME='/root' HOST_ARCH='amd64' IFS=' ' INVOCATION_ID='64e24d99f33a4777bf477f5dcaa8a42d' 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='3566123' 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.kbaDrAMV/pbuilderrc_dKhJ --distribution experimental --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/experimental-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.kbaDrAMV/b1 --logfile b1/build.log python-falcon_4.0.2-0.1.dsc' SUDO_GID='111' SUDO_UID='106' SUDO_USER='jenkins' TERM='unknown' TZ='/usr/share/zoneinfo/Etc/GMT+12' USER='root' _='/usr/bin/systemd-run' http_proxy='http://46.16.76.132:3128' I: uname -a Linux ionos11-amd64 6.1.0-28-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.119-1 (2024-11-22) x86_64 GNU/Linux I: ls -l /bin lrwxrwxrwx 1 root root 7 Aug 4 21:30 /bin -> usr/bin I: user script /srv/workspace/pbuilder/3566123/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: amd64 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 (>= 99~), python3-aiofiles, python3-all, python3-all-dev, python3-asgiref, python3-cbor2, python3-coverage, python3-ddt, python3-httpx, python3-jsonschema, python3-mimeparse (>= 1.5.2), 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 ... 19965 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 (>= 99~); 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 (>= 1.5.2); 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} libcom-err2{a} libdebhelper-perl{a} libdouble-conversion3{a} libelf1t64{a} libexpat1{a} libexpat1-dev{a} libfile-stripnondeterminism-perl{a} libgssapi-krb5-2{a} libicu72{a} libjq1{a} libjs-jquery{a} libjs-sphinxdoc{a} libjs-underscore{a} libk5crypto3{a} libkeyutils1{a} libkrb5-3{a} libkrb5support0{a} libmagic-mgc{a} libmagic1t64{a} libnsl2{a} libonig5{a} libpipeline1{a} libpython3-all-dev{a} libpython3-dev{a} libpython3-stdlib{a} libpython3.12-dev{a} libpython3.12-minimal{a} libpython3.12-stdlib{a} libpython3.12t64{a} libpython3.13{a} libpython3.13-dev{a} libpython3.13-minimal{a} libpython3.13-stdlib{a} libreadline8t64{a} libtirpc-common{a} libtirpc3t64{a} libtool{a} libuchardet0{a} libuv1t64{a} libxml2{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-colorama{a} python3-coverage{a} python3-ddt{a} python3-dev{a} python3-fixtures{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-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-pbr{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-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.12{a} python3.12-dev{a} python3.12-minimal{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 javascript-common krb5-locales libarchive-cpio-perl libltdl-dev libmail-sendmail-perl lynx madison-lite pristine-tar python3-json-pointer python3-rfc3987 python3-uritemplate python3-webcolors wget 0 packages upgraded, 141 newly installed, 0 to remove and 0 not upgraded. Need to get 62.6 MB of archives. After unpacking 269 MB will be used. Writing extended state information... Get: 1 http://deb.debian.org/debian unstable/main amd64 libpython3.12-minimal amd64 3.12.7-3 [815 kB] Get: 2 http://deb.debian.org/debian unstable/main amd64 libexpat1 amd64 2.6.4-1 [106 kB] Get: 3 http://deb.debian.org/debian unstable/main amd64 python3.12-minimal amd64 3.12.7-3 [2162 kB] Get: 4 http://deb.debian.org/debian unstable/main amd64 python3-minimal amd64 3.12.7-1 [26.8 kB] Get: 5 http://deb.debian.org/debian unstable/main amd64 media-types all 10.1.0 [26.9 kB] Get: 6 http://deb.debian.org/debian unstable/main amd64 netbase all 6.4 [12.8 kB] Get: 7 http://deb.debian.org/debian unstable/main amd64 tzdata all 2024b-3 [255 kB] Get: 8 http://deb.debian.org/debian unstable/main amd64 libkrb5support0 amd64 1.21.3-3 [32.5 kB] Get: 9 http://deb.debian.org/debian unstable/main amd64 libcom-err2 amd64 1.47.1-1+b1 [23.2 kB] Get: 10 http://deb.debian.org/debian unstable/main amd64 libk5crypto3 amd64 1.21.3-3 [79.9 kB] Get: 11 http://deb.debian.org/debian unstable/main amd64 libkeyutils1 amd64 1.6.3-4 [9092 B] Get: 12 http://deb.debian.org/debian unstable/main amd64 libkrb5-3 amd64 1.21.3-3 [324 kB] Get: 13 http://deb.debian.org/debian unstable/main amd64 libgssapi-krb5-2 amd64 1.21.3-3 [136 kB] Get: 14 http://deb.debian.org/debian unstable/main amd64 libtirpc-common all 1.3.4+ds-1.3 [10.9 kB] Get: 15 http://deb.debian.org/debian unstable/main amd64 libtirpc3t64 amd64 1.3.4+ds-1.3+b1 [83.1 kB] Get: 16 http://deb.debian.org/debian unstable/main amd64 libnsl2 amd64 1.3.0-3+b3 [40.6 kB] Get: 17 http://deb.debian.org/debian unstable/main amd64 readline-common all 8.2-5 [69.3 kB] Get: 18 http://deb.debian.org/debian unstable/main amd64 libreadline8t64 amd64 8.2-5 [169 kB] Get: 19 http://deb.debian.org/debian unstable/main amd64 libpython3.12-stdlib amd64 3.12.7-3 [1966 kB] Get: 20 http://deb.debian.org/debian unstable/main amd64 python3.12 amd64 3.12.7-3 [671 kB] Get: 21 http://deb.debian.org/debian unstable/main amd64 libpython3-stdlib amd64 3.12.7-1 [9712 B] Get: 22 http://deb.debian.org/debian unstable/main amd64 python3 amd64 3.12.7-1 [27.8 kB] Get: 23 http://deb.debian.org/debian unstable/main amd64 libpython3.13-minimal amd64 3.13.0-2 [856 kB] Get: 24 http://deb.debian.org/debian unstable/main amd64 python3.13-minimal amd64 3.13.0-2 [2038 kB] Get: 25 http://deb.debian.org/debian unstable/main amd64 sensible-utils all 0.0.24 [24.8 kB] Get: 26 http://deb.debian.org/debian unstable/main amd64 openssl amd64 3.3.2-2 [1382 kB] Get: 27 http://deb.debian.org/debian unstable/main amd64 ca-certificates all 20240203 [158 kB] Get: 28 http://deb.debian.org/debian unstable/main amd64 libmagic-mgc amd64 1:5.45-3+b1 [314 kB] Get: 29 http://deb.debian.org/debian unstable/main amd64 libmagic1t64 amd64 1:5.45-3+b1 [108 kB] Get: 30 http://deb.debian.org/debian unstable/main amd64 file amd64 1:5.45-3+b1 [43.3 kB] Get: 31 http://deb.debian.org/debian unstable/main amd64 gettext-base amd64 0.22.5-2 [200 kB] Get: 32 http://deb.debian.org/debian unstable/main amd64 libuchardet0 amd64 0.0.8-1+b2 [68.9 kB] Get: 33 http://deb.debian.org/debian unstable/main amd64 groff-base amd64 1.23.0-5 [1181 kB] Get: 34 http://deb.debian.org/debian unstable/main amd64 bsdextrautils amd64 2.40.2-11 [91.5 kB] Get: 35 http://deb.debian.org/debian unstable/main amd64 libpipeline1 amd64 1.5.8-1 [42.0 kB] Get: 36 http://deb.debian.org/debian unstable/main amd64 man-db amd64 2.13.0-1 [1420 kB] Get: 37 http://deb.debian.org/debian unstable/main amd64 m4 amd64 1.4.19-4 [287 kB] Get: 38 http://deb.debian.org/debian unstable/main amd64 autoconf all 2.72-3 [493 kB] Get: 39 http://deb.debian.org/debian unstable/main amd64 autotools-dev all 20220109.1 [51.6 kB] Get: 40 http://deb.debian.org/debian unstable/main amd64 automake all 1:1.16.5-1.3 [823 kB] Get: 41 http://deb.debian.org/debian unstable/main amd64 autopoint all 0.22.5-2 [723 kB] Get: 42 http://deb.debian.org/debian unstable/main amd64 cython3 amd64 3.0.11+dfsg-1+b1 [3157 kB] Get: 43 http://deb.debian.org/debian unstable/main amd64 libdebhelper-perl all 13.20 [89.7 kB] Get: 44 http://deb.debian.org/debian unstable/main amd64 libtool all 2.4.7-8 [517 kB] Get: 45 http://deb.debian.org/debian unstable/main amd64 dh-autoreconf all 20 [17.1 kB] Get: 46 http://deb.debian.org/debian unstable/main amd64 libarchive-zip-perl all 1.68-1 [104 kB] Get: 47 http://deb.debian.org/debian unstable/main amd64 libfile-stripnondeterminism-perl all 1.14.0-1 [19.5 kB] Get: 48 http://deb.debian.org/debian unstable/main amd64 dh-strip-nondeterminism all 1.14.0-1 [8448 B] Get: 49 http://deb.debian.org/debian unstable/main amd64 libelf1t64 amd64 0.192-4 [189 kB] Get: 50 http://deb.debian.org/debian unstable/main amd64 dwz amd64 0.15-1+b1 [110 kB] Get: 51 http://deb.debian.org/debian unstable/main amd64 libicu72 amd64 72.1-5+b1 [9423 kB] Get: 52 http://deb.debian.org/debian unstable/main amd64 libxml2 amd64 2.12.7+dfsg+really2.9.14-0.2+b1 [699 kB] Get: 53 http://deb.debian.org/debian unstable/main amd64 gettext amd64 0.22.5-2 [1601 kB] Get: 54 http://deb.debian.org/debian unstable/main amd64 intltool-debian all 0.35.0+20060710.6 [22.9 kB] Get: 55 http://deb.debian.org/debian unstable/main amd64 po-debconf all 1.0.21+nmu1 [248 kB] Get: 56 http://deb.debian.org/debian unstable/main amd64 debhelper all 13.20 [915 kB] Get: 57 http://deb.debian.org/debian unstable/main amd64 python3-autocommand all 2.2.2-3 [13.6 kB] Get: 58 http://deb.debian.org/debian unstable/main amd64 python3-more-itertools all 10.5.0-1 [63.8 kB] Get: 59 http://deb.debian.org/debian unstable/main amd64 python3-typing-extensions all 4.12.2-2 [73.0 kB] Get: 60 http://deb.debian.org/debian unstable/main amd64 python3-typeguard all 4.4.1-1 [37.0 kB] Get: 61 http://deb.debian.org/debian unstable/main amd64 python3-inflect all 7.3.1-2 [32.4 kB] Get: 62 http://deb.debian.org/debian unstable/main amd64 python3-jaraco.context all 6.0.0-1 [7984 B] Get: 63 http://deb.debian.org/debian unstable/main amd64 python3-jaraco.functools all 4.1.0-1 [12.0 kB] Get: 64 http://deb.debian.org/debian unstable/main amd64 python3-pkg-resources all 75.2.0-1 [213 kB] Get: 65 http://deb.debian.org/debian unstable/main amd64 python3-jaraco.text all 4.0.0-1 [11.4 kB] Get: 66 http://deb.debian.org/debian unstable/main amd64 python3-zipp all 3.21.0-1 [10.6 kB] Get: 67 http://deb.debian.org/debian unstable/main amd64 python3-setuptools all 75.2.0-1 [731 kB] Get: 68 http://deb.debian.org/debian unstable/main amd64 dh-python all 6.20241024 [109 kB] Get: 69 http://deb.debian.org/debian unstable/main amd64 libonig5 amd64 6.9.9-1+b1 [189 kB] Get: 70 http://deb.debian.org/debian unstable/main amd64 libjq1 amd64 1.7.1-3+b1 [164 kB] Get: 71 http://deb.debian.org/debian unstable/main amd64 jq amd64 1.7.1-3+b1 [77.8 kB] Get: 72 http://deb.debian.org/debian unstable/main amd64 libdouble-conversion3 amd64 3.3.0-1+b2 [41.8 kB] Get: 73 http://deb.debian.org/debian unstable/main amd64 libexpat1-dev amd64 2.6.4-1 [158 kB] Get: 74 http://deb.debian.org/debian unstable/main amd64 libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [326 kB] Get: 75 http://deb.debian.org/debian unstable/main amd64 libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [116 kB] Get: 76 http://deb.debian.org/debian unstable/main amd64 libjs-sphinxdoc all 7.4.7-4 [158 kB] Get: 77 http://deb.debian.org/debian unstable/main amd64 libpython3.12t64 amd64 3.12.7-3 [2153 kB] Get: 78 http://deb.debian.org/debian unstable/main amd64 zlib1g-dev amd64 1:1.3.dfsg+really1.3.1-1+b1 [920 kB] Get: 79 http://deb.debian.org/debian unstable/main amd64 libpython3.12-dev amd64 3.12.7-3 [5124 kB] Get: 80 http://deb.debian.org/debian unstable/main amd64 libpython3-dev amd64 3.12.7-1 [9976 B] Get: 81 http://deb.debian.org/debian unstable/main amd64 libpython3.13-stdlib amd64 3.13.0-2 [1992 kB] Get: 82 http://deb.debian.org/debian unstable/main amd64 libpython3.13 amd64 3.13.0-2 [2137 kB] Get: 83 http://deb.debian.org/debian unstable/main amd64 libpython3.13-dev amd64 3.13.0-2 [4994 kB] Get: 84 http://deb.debian.org/debian unstable/main amd64 libpython3-all-dev amd64 3.12.7-1 [1072 B] Get: 85 http://deb.debian.org/debian unstable/main amd64 libuv1t64 amd64 1.48.0-7 [148 kB] Get: 86 http://deb.debian.org/debian unstable/main amd64 libyaml-0-2 amd64 0.2.5-1+b2 [52.7 kB] Get: 87 http://deb.debian.org/debian unstable/main amd64 lsb-release all 12.1-1 [5912 B] Get: 88 http://deb.debian.org/debian unstable/main amd64 python3-wheel all 0.45.1-1 [56.7 kB] Get: 89 http://deb.debian.org/debian unstable/main amd64 python3-pip all 24.3.1+dfsg-1 [1441 kB] Get: 90 http://deb.debian.org/debian unstable/main amd64 openstack-pkg-tools all 130 [96.4 kB] Get: 91 http://deb.debian.org/debian unstable/main amd64 python3-aiofiles all 24.1.0-1 [10.6 kB] Get: 92 http://deb.debian.org/debian unstable/main amd64 python3.13 amd64 3.13.0-2 [730 kB] Get: 93 http://deb.debian.org/debian unstable/main amd64 python3-all amd64 3.12.7-1 [1052 B] Get: 94 http://deb.debian.org/debian unstable/main amd64 python3.12-dev amd64 3.12.7-3 [505 kB] Get: 95 http://deb.debian.org/debian unstable/main amd64 python3-dev amd64 3.12.7-1 [26.1 kB] Get: 96 http://deb.debian.org/debian unstable/main amd64 python3.13-dev amd64 3.13.0-2 [504 kB] Get: 97 http://deb.debian.org/debian unstable/main amd64 python3-all-dev amd64 3.12.7-1 [1076 B] Get: 98 http://deb.debian.org/debian unstable/main amd64 python3-idna all 3.8-2 [41.6 kB] Get: 99 http://deb.debian.org/debian unstable/main amd64 python3-sniffio all 1.3.1-1 [7120 B] Get: 100 http://deb.debian.org/debian unstable/main amd64 python3-anyio all 4.6.2-4 [60.0 kB] Get: 101 http://deb.debian.org/debian unstable/main amd64 python3-asgiref all 3.8.1-1 [28.8 kB] Get: 102 http://deb.debian.org/debian unstable/main amd64 python3-attr all 24.2.0-1 [68.4 kB] Get: 103 http://deb.debian.org/debian unstable/main amd64 python3-cbor2 amd64 5.6.5-1 [21.1 kB] Get: 104 http://deb.debian.org/debian unstable/main amd64 python3-certifi all 2024.8.30+dfsg-1 [9576 B] Get: 105 http://deb.debian.org/debian unstable/main amd64 python3-chardet all 5.2.0+dfsg-1 [107 kB] Get: 106 http://deb.debian.org/debian unstable/main amd64 python3-charset-normalizer amd64 3.4.0-1+b1 [140 kB] Get: 107 http://deb.debian.org/debian unstable/main amd64 python3-colorama all 0.4.6-4 [36.2 kB] Get: 108 http://deb.debian.org/debian unstable/main amd64 python3-click all 8.1.7-2 [94.3 kB] Get: 109 http://deb.debian.org/debian unstable/main amd64 python3-coverage amd64 7.6.0+dfsg1-2+b1 [177 kB] Get: 110 http://deb.debian.org/debian unstable/main amd64 python3-ddt all 1.7.2-2 [8612 B] Get: 111 http://deb.debian.org/debian unstable/main amd64 python3-pbr all 6.1.0-3 [56.6 kB] Get: 112 http://deb.debian.org/debian unstable/main amd64 python3-testtools all 2.7.2-4 [122 kB] Get: 113 http://deb.debian.org/debian unstable/main amd64 python3-fixtures all 4.1.0-2 [34.1 kB] Get: 114 http://deb.debian.org/debian unstable/main amd64 python3-h11 all 0.14.0-1 [50.1 kB] Get: 115 http://deb.debian.org/debian unstable/main amd64 python3-httpcore all 1.0.7-1 [44.7 kB] Get: 116 http://deb.debian.org/debian unstable/main amd64 python3-pygments all 2.18.0+dfsg-1 [836 kB] Get: 117 http://deb.debian.org/debian unstable/main amd64 python3-mdurl all 0.1.2-1 [9444 B] Get: 118 http://deb.debian.org/debian unstable/main amd64 python3-markdown-it all 3.0.0-2 [62.5 kB] Get: 119 http://deb.debian.org/debian unstable/main amd64 python3-rich all 13.7.1-1 [201 kB] Get: 120 http://deb.debian.org/debian unstable/main amd64 python3-httpx all 0.27.2-1 [77.6 kB] Get: 121 http://deb.debian.org/debian unstable/main amd64 python3-iniconfig all 1.1.1-2 [6396 B] Get: 122 http://deb.debian.org/debian unstable/main amd64 python3-rpds-py amd64 0.21.0-2 [287 kB] Get: 123 http://deb.debian.org/debian unstable/main amd64 python3-referencing all 0.35.1-1 [23.5 kB] Get: 124 http://deb.debian.org/debian unstable/main amd64 python3-jsonschema-specifications all 2023.12.1-2 [9020 B] Get: 125 http://deb.debian.org/debian unstable/main amd64 python3-jsonschema all 4.19.2-5 [71.4 kB] Get: 126 http://deb.debian.org/debian unstable/main amd64 python3-mimeparse all 2.0.0-1 [7196 B] Get: 127 http://deb.debian.org/debian unstable/main amd64 python3-msgpack amd64 1.0.3-3+b3 [112 kB] Get: 128 http://deb.debian.org/debian unstable/main amd64 python3-mujson all 1.4-3 [7592 B] Get: 129 http://deb.debian.org/debian unstable/main amd64 python3-packaging all 24.2-1 [55.3 kB] Get: 130 http://deb.debian.org/debian unstable/main amd64 python3-pluggy all 1.5.0-1 [26.9 kB] Get: 131 http://deb.debian.org/debian unstable/main amd64 python3-pytest all 8.3.3-1 [249 kB] Get: 132 http://deb.debian.org/debian unstable/main amd64 python3-rapidjson amd64 1.4-2+b7 [176 kB] Get: 133 http://deb.debian.org/debian unstable/main amd64 python3-urllib3 all 2.0.7-2 [111 kB] Get: 134 http://deb.debian.org/debian unstable/main amd64 python3-requests all 2.32.3+dfsg-1 [71.9 kB] Get: 135 http://deb.debian.org/debian unstable/main amd64 python3-ujson amd64 5.10.0-1+b3 [25.5 kB] Get: 136 http://deb.debian.org/debian unstable/main amd64 python3-wsproto all 1.2.0-1 [25.4 kB] Get: 137 http://deb.debian.org/debian unstable/main amd64 python3-uvloop amd64 0.21.0+ds1-1+b1 [803 kB] Get: 138 http://deb.debian.org/debian unstable/main amd64 python3-uvicorn all 0.32.0-1 [50.7 kB] Get: 139 http://deb.debian.org/debian unstable/main amd64 python3-websockets amd64 14.1-1 [89.2 kB] Get: 140 http://deb.debian.org/debian unstable/main amd64 python3-yaml amd64 6.0.2-1+b1 [178 kB] Get: 141 http://deb.debian.org/debian unstable/main amd64 uvicorn all 0.32.0-1 [14.5 kB] Fetched 62.6 MB in 11s (5560 kB/s) debconf: delaying package configuration, since apt-utils is not installed Selecting previously unselected package libpython3.12-minimal:amd64. (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 ... 19965 files and directories currently installed.) Preparing to unpack .../libpython3.12-minimal_3.12.7-3_amd64.deb ... Unpacking libpython3.12-minimal:amd64 (3.12.7-3) ... Selecting previously unselected package libexpat1:amd64. Preparing to unpack .../libexpat1_2.6.4-1_amd64.deb ... Unpacking libexpat1:amd64 (2.6.4-1) ... Selecting previously unselected package python3.12-minimal. Preparing to unpack .../python3.12-minimal_3.12.7-3_amd64.deb ... Unpacking python3.12-minimal (3.12.7-3) ... Setting up libpython3.12-minimal:amd64 (3.12.7-3) ... Setting up libexpat1:amd64 (2.6.4-1) ... Setting up python3.12-minimal (3.12.7-3) ... 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 ... 20285 files and directories currently installed.) Preparing to unpack .../00-python3-minimal_3.12.7-1_amd64.deb ... Unpacking python3-minimal (3.12.7-1) ... Selecting previously unselected package media-types. Preparing to unpack .../01-media-types_10.1.0_all.deb ... Unpacking media-types (10.1.0) ... Selecting previously unselected package netbase. Preparing to unpack .../02-netbase_6.4_all.deb ... Unpacking netbase (6.4) ... Selecting previously unselected package tzdata. Preparing to unpack .../03-tzdata_2024b-3_all.deb ... Unpacking tzdata (2024b-3) ... Selecting previously unselected package libkrb5support0:amd64. Preparing to unpack .../04-libkrb5support0_1.21.3-3_amd64.deb ... Unpacking libkrb5support0:amd64 (1.21.3-3) ... Selecting previously unselected package libcom-err2:amd64. Preparing to unpack .../05-libcom-err2_1.47.1-1+b1_amd64.deb ... Unpacking libcom-err2:amd64 (1.47.1-1+b1) ... Selecting previously unselected package libk5crypto3:amd64. Preparing to unpack .../06-libk5crypto3_1.21.3-3_amd64.deb ... Unpacking libk5crypto3:amd64 (1.21.3-3) ... Selecting previously unselected package libkeyutils1:amd64. Preparing to unpack .../07-libkeyutils1_1.6.3-4_amd64.deb ... Unpacking libkeyutils1:amd64 (1.6.3-4) ... Selecting previously unselected package libkrb5-3:amd64. Preparing to unpack .../08-libkrb5-3_1.21.3-3_amd64.deb ... Unpacking libkrb5-3:amd64 (1.21.3-3) ... Selecting previously unselected package libgssapi-krb5-2:amd64. Preparing to unpack .../09-libgssapi-krb5-2_1.21.3-3_amd64.deb ... Unpacking libgssapi-krb5-2:amd64 (1.21.3-3) ... Selecting previously unselected package libtirpc-common. Preparing to unpack .../10-libtirpc-common_1.3.4+ds-1.3_all.deb ... Unpacking libtirpc-common (1.3.4+ds-1.3) ... Selecting previously unselected package libtirpc3t64:amd64. Preparing to unpack .../11-libtirpc3t64_1.3.4+ds-1.3+b1_amd64.deb ... Adding 'diversion of /lib/x86_64-linux-gnu/libtirpc.so.3 to /lib/x86_64-linux-gnu/libtirpc.so.3.usr-is-merged by libtirpc3t64' Adding 'diversion of /lib/x86_64-linux-gnu/libtirpc.so.3.0.0 to /lib/x86_64-linux-gnu/libtirpc.so.3.0.0.usr-is-merged by libtirpc3t64' Unpacking libtirpc3t64:amd64 (1.3.4+ds-1.3+b1) ... Selecting previously unselected package libnsl2:amd64. Preparing to unpack .../12-libnsl2_1.3.0-3+b3_amd64.deb ... Unpacking libnsl2:amd64 (1.3.0-3+b3) ... Selecting previously unselected package readline-common. Preparing to unpack .../13-readline-common_8.2-5_all.deb ... Unpacking readline-common (8.2-5) ... Selecting previously unselected package libreadline8t64:amd64. Preparing to unpack .../14-libreadline8t64_8.2-5_amd64.deb ... Adding 'diversion of /lib/x86_64-linux-gnu/libhistory.so.8 to /lib/x86_64-linux-gnu/libhistory.so.8.usr-is-merged by libreadline8t64' Adding 'diversion of /lib/x86_64-linux-gnu/libhistory.so.8.2 to /lib/x86_64-linux-gnu/libhistory.so.8.2.usr-is-merged by libreadline8t64' Adding 'diversion of /lib/x86_64-linux-gnu/libreadline.so.8 to /lib/x86_64-linux-gnu/libreadline.so.8.usr-is-merged by libreadline8t64' Adding 'diversion of /lib/x86_64-linux-gnu/libreadline.so.8.2 to /lib/x86_64-linux-gnu/libreadline.so.8.2.usr-is-merged by libreadline8t64' Unpacking libreadline8t64:amd64 (8.2-5) ... Selecting previously unselected package libpython3.12-stdlib:amd64. Preparing to unpack .../15-libpython3.12-stdlib_3.12.7-3_amd64.deb ... Unpacking libpython3.12-stdlib:amd64 (3.12.7-3) ... Selecting previously unselected package python3.12. Preparing to unpack .../16-python3.12_3.12.7-3_amd64.deb ... Unpacking python3.12 (3.12.7-3) ... Selecting previously unselected package libpython3-stdlib:amd64. Preparing to unpack .../17-libpython3-stdlib_3.12.7-1_amd64.deb ... Unpacking libpython3-stdlib:amd64 (3.12.7-1) ... Setting up python3-minimal (3.12.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 ... 21347 files and directories currently installed.) Preparing to unpack .../000-python3_3.12.7-1_amd64.deb ... Unpacking python3 (3.12.7-1) ... Selecting previously unselected package libpython3.13-minimal:amd64. Preparing to unpack .../001-libpython3.13-minimal_3.13.0-2_amd64.deb ... Unpacking libpython3.13-minimal:amd64 (3.13.0-2) ... Selecting previously unselected package python3.13-minimal. Preparing to unpack .../002-python3.13-minimal_3.13.0-2_amd64.deb ... Unpacking python3.13-minimal (3.13.0-2) ... Selecting previously unselected package sensible-utils. Preparing to unpack .../003-sensible-utils_0.0.24_all.deb ... Unpacking sensible-utils (0.0.24) ... Selecting previously unselected package openssl. Preparing to unpack .../004-openssl_3.3.2-2_amd64.deb ... Unpacking openssl (3.3.2-2) ... Selecting previously unselected package ca-certificates. Preparing to unpack .../005-ca-certificates_20240203_all.deb ... Unpacking ca-certificates (20240203) ... Selecting previously unselected package libmagic-mgc. Preparing to unpack .../006-libmagic-mgc_1%3a5.45-3+b1_amd64.deb ... Unpacking libmagic-mgc (1:5.45-3+b1) ... Selecting previously unselected package libmagic1t64:amd64. Preparing to unpack .../007-libmagic1t64_1%3a5.45-3+b1_amd64.deb ... Unpacking libmagic1t64:amd64 (1:5.45-3+b1) ... Selecting previously unselected package file. Preparing to unpack .../008-file_1%3a5.45-3+b1_amd64.deb ... Unpacking file (1:5.45-3+b1) ... Selecting previously unselected package gettext-base. Preparing to unpack .../009-gettext-base_0.22.5-2_amd64.deb ... Unpacking gettext-base (0.22.5-2) ... Selecting previously unselected package libuchardet0:amd64. Preparing to unpack .../010-libuchardet0_0.0.8-1+b2_amd64.deb ... Unpacking libuchardet0:amd64 (0.0.8-1+b2) ... Selecting previously unselected package groff-base. Preparing to unpack .../011-groff-base_1.23.0-5_amd64.deb ... Unpacking groff-base (1.23.0-5) ... Selecting previously unselected package bsdextrautils. Preparing to unpack .../012-bsdextrautils_2.40.2-11_amd64.deb ... Unpacking bsdextrautils (2.40.2-11) ... Selecting previously unselected package libpipeline1:amd64. Preparing to unpack .../013-libpipeline1_1.5.8-1_amd64.deb ... Unpacking libpipeline1:amd64 (1.5.8-1) ... Selecting previously unselected package man-db. Preparing to unpack .../014-man-db_2.13.0-1_amd64.deb ... Unpacking man-db (2.13.0-1) ... Selecting previously unselected package m4. Preparing to unpack .../015-m4_1.4.19-4_amd64.deb ... Unpacking m4 (1.4.19-4) ... Selecting previously unselected package autoconf. Preparing to unpack .../016-autoconf_2.72-3_all.deb ... Unpacking autoconf (2.72-3) ... Selecting previously unselected package autotools-dev. Preparing to unpack .../017-autotools-dev_20220109.1_all.deb ... Unpacking autotools-dev (20220109.1) ... Selecting previously unselected package automake. Preparing to unpack .../018-automake_1%3a1.16.5-1.3_all.deb ... Unpacking automake (1:1.16.5-1.3) ... Selecting previously unselected package autopoint. Preparing to unpack .../019-autopoint_0.22.5-2_all.deb ... Unpacking autopoint (0.22.5-2) ... Selecting previously unselected package cython3. Preparing to unpack .../020-cython3_3.0.11+dfsg-1+b1_amd64.deb ... Unpacking cython3 (3.0.11+dfsg-1+b1) ... Selecting previously unselected package libdebhelper-perl. Preparing to unpack .../021-libdebhelper-perl_13.20_all.deb ... Unpacking libdebhelper-perl (13.20) ... Selecting previously unselected package libtool. Preparing to unpack .../022-libtool_2.4.7-8_all.deb ... Unpacking libtool (2.4.7-8) ... Selecting previously unselected package dh-autoreconf. Preparing to unpack .../023-dh-autoreconf_20_all.deb ... Unpacking dh-autoreconf (20) ... Selecting previously unselected package libarchive-zip-perl. Preparing to unpack .../024-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 .../025-libfile-stripnondeterminism-perl_1.14.0-1_all.deb ... Unpacking libfile-stripnondeterminism-perl (1.14.0-1) ... Selecting previously unselected package dh-strip-nondeterminism. Preparing to unpack .../026-dh-strip-nondeterminism_1.14.0-1_all.deb ... Unpacking dh-strip-nondeterminism (1.14.0-1) ... Selecting previously unselected package libelf1t64:amd64. Preparing to unpack .../027-libelf1t64_0.192-4_amd64.deb ... Unpacking libelf1t64:amd64 (0.192-4) ... Selecting previously unselected package dwz. Preparing to unpack .../028-dwz_0.15-1+b1_amd64.deb ... Unpacking dwz (0.15-1+b1) ... Selecting previously unselected package libicu72:amd64. Preparing to unpack .../029-libicu72_72.1-5+b1_amd64.deb ... Unpacking libicu72:amd64 (72.1-5+b1) ... Selecting previously unselected package libxml2:amd64. Preparing to unpack .../030-libxml2_2.12.7+dfsg+really2.9.14-0.2+b1_amd64.deb ... Unpacking libxml2:amd64 (2.12.7+dfsg+really2.9.14-0.2+b1) ... Selecting previously unselected package gettext. Preparing to unpack .../031-gettext_0.22.5-2_amd64.deb ... Unpacking gettext (0.22.5-2) ... Selecting previously unselected package intltool-debian. Preparing to unpack .../032-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 .../033-po-debconf_1.0.21+nmu1_all.deb ... Unpacking po-debconf (1.0.21+nmu1) ... Selecting previously unselected package debhelper. Preparing to unpack .../034-debhelper_13.20_all.deb ... Unpacking debhelper (13.20) ... Selecting previously unselected package python3-autocommand. Preparing to unpack .../035-python3-autocommand_2.2.2-3_all.deb ... Unpacking python3-autocommand (2.2.2-3) ... Selecting previously unselected package python3-more-itertools. Preparing to unpack .../036-python3-more-itertools_10.5.0-1_all.deb ... Unpacking python3-more-itertools (10.5.0-1) ... Selecting previously unselected package python3-typing-extensions. Preparing to unpack .../037-python3-typing-extensions_4.12.2-2_all.deb ... Unpacking python3-typing-extensions (4.12.2-2) ... Selecting previously unselected package python3-typeguard. Preparing to unpack .../038-python3-typeguard_4.4.1-1_all.deb ... Unpacking python3-typeguard (4.4.1-1) ... Selecting previously unselected package python3-inflect. Preparing to unpack .../039-python3-inflect_7.3.1-2_all.deb ... Unpacking python3-inflect (7.3.1-2) ... Selecting previously unselected package python3-jaraco.context. Preparing to unpack .../040-python3-jaraco.context_6.0.0-1_all.deb ... Unpacking python3-jaraco.context (6.0.0-1) ... Selecting previously unselected package python3-jaraco.functools. Preparing to unpack .../041-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 .../042-python3-pkg-resources_75.2.0-1_all.deb ... Unpacking python3-pkg-resources (75.2.0-1) ... Selecting previously unselected package python3-jaraco.text. Preparing to unpack .../043-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 .../044-python3-zipp_3.21.0-1_all.deb ... Unpacking python3-zipp (3.21.0-1) ... Selecting previously unselected package python3-setuptools. Preparing to unpack .../045-python3-setuptools_75.2.0-1_all.deb ... Unpacking python3-setuptools (75.2.0-1) ... Selecting previously unselected package dh-python. Preparing to unpack .../046-dh-python_6.20241024_all.deb ... Unpacking dh-python (6.20241024) ... Selecting previously unselected package libonig5:amd64. Preparing to unpack .../047-libonig5_6.9.9-1+b1_amd64.deb ... Unpacking libonig5:amd64 (6.9.9-1+b1) ... Selecting previously unselected package libjq1:amd64. Preparing to unpack .../048-libjq1_1.7.1-3+b1_amd64.deb ... Unpacking libjq1:amd64 (1.7.1-3+b1) ... Selecting previously unselected package jq. Preparing to unpack .../049-jq_1.7.1-3+b1_amd64.deb ... Unpacking jq (1.7.1-3+b1) ... Selecting previously unselected package libdouble-conversion3:amd64. Preparing to unpack .../050-libdouble-conversion3_3.3.0-1+b2_amd64.deb ... Unpacking libdouble-conversion3:amd64 (3.3.0-1+b2) ... Selecting previously unselected package libexpat1-dev:amd64. Preparing to unpack .../051-libexpat1-dev_2.6.4-1_amd64.deb ... Unpacking libexpat1-dev:amd64 (2.6.4-1) ... Selecting previously unselected package libjs-jquery. Preparing to unpack .../052-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... Selecting previously unselected package libjs-underscore. Preparing to unpack .../053-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... Selecting previously unselected package libjs-sphinxdoc. Preparing to unpack .../054-libjs-sphinxdoc_7.4.7-4_all.deb ... Unpacking libjs-sphinxdoc (7.4.7-4) ... Selecting previously unselected package libpython3.12t64:amd64. Preparing to unpack .../055-libpython3.12t64_3.12.7-3_amd64.deb ... Unpacking libpython3.12t64:amd64 (3.12.7-3) ... Selecting previously unselected package zlib1g-dev:amd64. Preparing to unpack .../056-zlib1g-dev_1%3a1.3.dfsg+really1.3.1-1+b1_amd64.deb ... Unpacking zlib1g-dev:amd64 (1:1.3.dfsg+really1.3.1-1+b1) ... Selecting previously unselected package libpython3.12-dev:amd64. Preparing to unpack .../057-libpython3.12-dev_3.12.7-3_amd64.deb ... Unpacking libpython3.12-dev:amd64 (3.12.7-3) ... Selecting previously unselected package libpython3-dev:amd64. Preparing to unpack .../058-libpython3-dev_3.12.7-1_amd64.deb ... Unpacking libpython3-dev:amd64 (3.12.7-1) ... Selecting previously unselected package libpython3.13-stdlib:amd64. Preparing to unpack .../059-libpython3.13-stdlib_3.13.0-2_amd64.deb ... Unpacking libpython3.13-stdlib:amd64 (3.13.0-2) ... Selecting previously unselected package libpython3.13:amd64. Preparing to unpack .../060-libpython3.13_3.13.0-2_amd64.deb ... Unpacking libpython3.13:amd64 (3.13.0-2) ... Selecting previously unselected package libpython3.13-dev:amd64. Preparing to unpack .../061-libpython3.13-dev_3.13.0-2_amd64.deb ... Unpacking libpython3.13-dev:amd64 (3.13.0-2) ... Selecting previously unselected package libpython3-all-dev:amd64. Preparing to unpack .../062-libpython3-all-dev_3.12.7-1_amd64.deb ... Unpacking libpython3-all-dev:amd64 (3.12.7-1) ... Selecting previously unselected package libuv1t64:amd64. Preparing to unpack .../063-libuv1t64_1.48.0-7_amd64.deb ... Unpacking libuv1t64:amd64 (1.48.0-7) ... Selecting previously unselected package libyaml-0-2:amd64. Preparing to unpack .../064-libyaml-0-2_0.2.5-1+b2_amd64.deb ... Unpacking libyaml-0-2:amd64 (0.2.5-1+b2) ... Selecting previously unselected package lsb-release. Preparing to unpack .../065-lsb-release_12.1-1_all.deb ... Unpacking lsb-release (12.1-1) ... Selecting previously unselected package python3-wheel. Preparing to unpack .../066-python3-wheel_0.45.1-1_all.deb ... Unpacking python3-wheel (0.45.1-1) ... Selecting previously unselected package python3-pip. Preparing to unpack .../067-python3-pip_24.3.1+dfsg-1_all.deb ... Unpacking python3-pip (24.3.1+dfsg-1) ... Selecting previously unselected package openstack-pkg-tools. Preparing to unpack .../068-openstack-pkg-tools_130_all.deb ... Unpacking openstack-pkg-tools (130) ... Selecting previously unselected package python3-aiofiles. Preparing to unpack .../069-python3-aiofiles_24.1.0-1_all.deb ... Unpacking python3-aiofiles (24.1.0-1) ... Selecting previously unselected package python3.13. Preparing to unpack .../070-python3.13_3.13.0-2_amd64.deb ... Unpacking python3.13 (3.13.0-2) ... Selecting previously unselected package python3-all. Preparing to unpack .../071-python3-all_3.12.7-1_amd64.deb ... Unpacking python3-all (3.12.7-1) ... Selecting previously unselected package python3.12-dev. Preparing to unpack .../072-python3.12-dev_3.12.7-3_amd64.deb ... Unpacking python3.12-dev (3.12.7-3) ... Selecting previously unselected package python3-dev. Preparing to unpack .../073-python3-dev_3.12.7-1_amd64.deb ... Unpacking python3-dev (3.12.7-1) ... Selecting previously unselected package python3.13-dev. Preparing to unpack .../074-python3.13-dev_3.13.0-2_amd64.deb ... Unpacking python3.13-dev (3.13.0-2) ... Selecting previously unselected package python3-all-dev. Preparing to unpack .../075-python3-all-dev_3.12.7-1_amd64.deb ... Unpacking python3-all-dev (3.12.7-1) ... Selecting previously unselected package python3-idna. Preparing to unpack .../076-python3-idna_3.8-2_all.deb ... Unpacking python3-idna (3.8-2) ... Selecting previously unselected package python3-sniffio. Preparing to unpack .../077-python3-sniffio_1.3.1-1_all.deb ... Unpacking python3-sniffio (1.3.1-1) ... Selecting previously unselected package python3-anyio. Preparing to unpack .../078-python3-anyio_4.6.2-4_all.deb ... Unpacking python3-anyio (4.6.2-4) ... Selecting previously unselected package python3-asgiref. Preparing to unpack .../079-python3-asgiref_3.8.1-1_all.deb ... Unpacking python3-asgiref (3.8.1-1) ... Selecting previously unselected package python3-attr. Preparing to unpack .../080-python3-attr_24.2.0-1_all.deb ... Unpacking python3-attr (24.2.0-1) ... Selecting previously unselected package python3-cbor2. Preparing to unpack .../081-python3-cbor2_5.6.5-1_amd64.deb ... Unpacking python3-cbor2 (5.6.5-1) ... Selecting previously unselected package python3-certifi. Preparing to unpack .../082-python3-certifi_2024.8.30+dfsg-1_all.deb ... Unpacking python3-certifi (2024.8.30+dfsg-1) ... Selecting previously unselected package python3-chardet. Preparing to unpack .../083-python3-chardet_5.2.0+dfsg-1_all.deb ... Unpacking python3-chardet (5.2.0+dfsg-1) ... Selecting previously unselected package python3-charset-normalizer. Preparing to unpack .../084-python3-charset-normalizer_3.4.0-1+b1_amd64.deb ... Unpacking python3-charset-normalizer (3.4.0-1+b1) ... Selecting previously unselected package python3-colorama. Preparing to unpack .../085-python3-colorama_0.4.6-4_all.deb ... Unpacking python3-colorama (0.4.6-4) ... Selecting previously unselected package python3-click. Preparing to unpack .../086-python3-click_8.1.7-2_all.deb ... Unpacking python3-click (8.1.7-2) ... Selecting previously unselected package python3-coverage. Preparing to unpack .../087-python3-coverage_7.6.0+dfsg1-2+b1_amd64.deb ... Unpacking python3-coverage (7.6.0+dfsg1-2+b1) ... Selecting previously unselected package python3-ddt. Preparing to unpack .../088-python3-ddt_1.7.2-2_all.deb ... Unpacking python3-ddt (1.7.2-2) ... Selecting previously unselected package python3-pbr. Preparing to unpack .../089-python3-pbr_6.1.0-3_all.deb ... Unpacking python3-pbr (6.1.0-3) ... Selecting previously unselected package python3-testtools. Preparing to unpack .../090-python3-testtools_2.7.2-4_all.deb ... Unpacking python3-testtools (2.7.2-4) ... Selecting previously unselected package python3-fixtures. Preparing to unpack .../091-python3-fixtures_4.1.0-2_all.deb ... Unpacking python3-fixtures (4.1.0-2) ... Selecting previously unselected package python3-h11. Preparing to unpack .../092-python3-h11_0.14.0-1_all.deb ... Unpacking python3-h11 (0.14.0-1) ... Selecting previously unselected package python3-httpcore. Preparing to unpack .../093-python3-httpcore_1.0.7-1_all.deb ... Unpacking python3-httpcore (1.0.7-1) ... Selecting previously unselected package python3-pygments. Preparing to unpack .../094-python3-pygments_2.18.0+dfsg-1_all.deb ... Unpacking python3-pygments (2.18.0+dfsg-1) ... Selecting previously unselected package python3-mdurl. Preparing to unpack .../095-python3-mdurl_0.1.2-1_all.deb ... Unpacking python3-mdurl (0.1.2-1) ... Selecting previously unselected package python3-markdown-it. Preparing to unpack .../096-python3-markdown-it_3.0.0-2_all.deb ... Unpacking python3-markdown-it (3.0.0-2) ... Selecting previously unselected package python3-rich. Preparing to unpack .../097-python3-rich_13.7.1-1_all.deb ... Unpacking python3-rich (13.7.1-1) ... Selecting previously unselected package python3-httpx. Preparing to unpack .../098-python3-httpx_0.27.2-1_all.deb ... Unpacking python3-httpx (0.27.2-1) ... Selecting previously unselected package python3-iniconfig. Preparing to unpack .../099-python3-iniconfig_1.1.1-2_all.deb ... Unpacking python3-iniconfig (1.1.1-2) ... Selecting previously unselected package python3-rpds-py. Preparing to unpack .../100-python3-rpds-py_0.21.0-2_amd64.deb ... Unpacking python3-rpds-py (0.21.0-2) ... Selecting previously unselected package python3-referencing. Preparing to unpack .../101-python3-referencing_0.35.1-1_all.deb ... Unpacking python3-referencing (0.35.1-1) ... Selecting previously unselected package python3-jsonschema-specifications. Preparing to unpack .../102-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 .../103-python3-jsonschema_4.19.2-5_all.deb ... Unpacking python3-jsonschema (4.19.2-5) ... Selecting previously unselected package python3-mimeparse. Preparing to unpack .../104-python3-mimeparse_2.0.0-1_all.deb ... Unpacking python3-mimeparse (2.0.0-1) ... Selecting previously unselected package python3-msgpack. Preparing to unpack .../105-python3-msgpack_1.0.3-3+b3_amd64.deb ... Unpacking python3-msgpack (1.0.3-3+b3) ... Selecting previously unselected package python3-mujson. Preparing to unpack .../106-python3-mujson_1.4-3_all.deb ... Unpacking python3-mujson (1.4-3) ... Selecting previously unselected package python3-packaging. Preparing to unpack .../107-python3-packaging_24.2-1_all.deb ... Unpacking python3-packaging (24.2-1) ... Selecting previously unselected package python3-pluggy. Preparing to unpack .../108-python3-pluggy_1.5.0-1_all.deb ... Unpacking python3-pluggy (1.5.0-1) ... Selecting previously unselected package python3-pytest. Preparing to unpack .../109-python3-pytest_8.3.3-1_all.deb ... Unpacking python3-pytest (8.3.3-1) ... Selecting previously unselected package python3-rapidjson. Preparing to unpack .../110-python3-rapidjson_1.4-2+b7_amd64.deb ... Unpacking python3-rapidjson (1.4-2+b7) ... Selecting previously unselected package python3-urllib3. Preparing to unpack .../111-python3-urllib3_2.0.7-2_all.deb ... Unpacking python3-urllib3 (2.0.7-2) ... Selecting previously unselected package python3-requests. Preparing to unpack .../112-python3-requests_2.32.3+dfsg-1_all.deb ... Unpacking python3-requests (2.32.3+dfsg-1) ... Selecting previously unselected package python3-ujson:amd64. Preparing to unpack .../113-python3-ujson_5.10.0-1+b3_amd64.deb ... Unpacking python3-ujson:amd64 (5.10.0-1+b3) ... Selecting previously unselected package python3-wsproto. Preparing to unpack .../114-python3-wsproto_1.2.0-1_all.deb ... Unpacking python3-wsproto (1.2.0-1) ... Selecting previously unselected package python3-uvloop. Preparing to unpack .../115-python3-uvloop_0.21.0+ds1-1+b1_amd64.deb ... Unpacking python3-uvloop (0.21.0+ds1-1+b1) ... Selecting previously unselected package python3-uvicorn. Preparing to unpack .../116-python3-uvicorn_0.32.0-1_all.deb ... Unpacking python3-uvicorn (0.32.0-1) ... Selecting previously unselected package python3-websockets. Preparing to unpack .../117-python3-websockets_14.1-1_amd64.deb ... Unpacking python3-websockets (14.1-1) ... Selecting previously unselected package python3-yaml. Preparing to unpack .../118-python3-yaml_6.0.2-1+b1_amd64.deb ... Unpacking python3-yaml (6.0.2-1+b1) ... Selecting previously unselected package uvicorn. Preparing to unpack .../119-uvicorn_0.32.0-1_all.deb ... Unpacking uvicorn (0.32.0-1) ... Setting up media-types (10.1.0) ... Setting up libpipeline1:amd64 (1.5.8-1) ... Setting up libdouble-conversion3:amd64 (3.3.0-1+b2) ... Setting up libkeyutils1:amd64 (1.6.3-4) ... Setting up libicu72:amd64 (72.1-5+b1) ... Setting up bsdextrautils (2.40.2-11) ... Setting up libmagic-mgc (1:5.45-3+b1) ... Setting up libarchive-zip-perl (1.68-1) ... Setting up libyaml-0-2:amd64 (0.2.5-1+b2) ... Setting up libtirpc-common (1.3.4+ds-1.3) ... Setting up libdebhelper-perl (13.20) ... Setting up libuv1t64:amd64 (1.48.0-7) ... Setting up libmagic1t64:amd64 (1:5.45-3+b1) ... Setting up gettext-base (0.22.5-2) ... Setting up m4 (1.4.19-4) ... Setting up libcom-err2:amd64 (1.47.1-1+b1) ... Setting up file (1:5.45-3+b1) ... Setting up libelf1t64:amd64 (0.192-4) ... Setting up libkrb5support0:amd64 (1.21.3-3) ... Setting up tzdata (2024b-3) ... Current default time zone: 'Etc/UTC' Local time is now: Mon Nov 25 07:48:17 UTC 2024. Universal Time is now: Mon Nov 25 07:48:17 UTC 2024. Run 'dpkg-reconfigure tzdata' if you wish to change it. Setting up libpython3.13-minimal:amd64 (3.13.0-2) ... Setting up autotools-dev (20220109.1) ... Setting up libexpat1-dev:amd64 (2.6.4-1) ... Setting up autopoint (0.22.5-2) ... Setting up libk5crypto3:amd64 (1.21.3-3) ... Setting up autoconf (2.72-3) ... Setting up zlib1g-dev:amd64 (1:1.3.dfsg+really1.3.1-1+b1) ... Setting up dwz (0.15-1+b1) ... Setting up sensible-utils (0.0.24) ... Setting up libuchardet0:amd64 (0.0.8-1+b2) ... Setting up python3.13-minimal (3.13.0-2) ... Setting up netbase (6.4) ... Setting up libkrb5-3:amd64 (1.21.3-3) ... Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... Setting up lsb-release (12.1-1) ... Setting up openssl (3.3.2-2) ... Setting up readline-common (8.2-5) ... Setting up libxml2:amd64 (2.12.7+dfsg+really2.9.14-0.2+b1) ... Setting up libonig5:amd64 (6.9.9-1+b1) ... Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... Setting up automake (1:1.16.5-1.3) ... update-alternatives: using /usr/bin/automake-1.16 to provide /usr/bin/automake (automake) in auto mode Setting up libfile-stripnondeterminism-perl (1.14.0-1) ... Setting up gettext (0.22.5-2) ... Setting up libtool (2.4.7-8) ... Setting up libjq1:amd64 (1.7.1-3+b1) ... Setting up intltool-debian (0.35.0+20060710.6) ... Setting up dh-autoreconf (20) ... Setting up ca-certificates (20240203) ... Updating certificates in /etc/ssl/certs... 146 added, 0 removed; done. Setting up libgssapi-krb5-2:amd64 (1.21.3-3) ... Setting up libjs-sphinxdoc (7.4.7-4) ... Setting up libreadline8t64:amd64 (8.2-5) ... Setting up dh-strip-nondeterminism (1.14.0-1) ... Setting up groff-base (1.23.0-5) ... Setting up jq (1.7.1-3+b1) ... Setting up libpython3.13-stdlib:amd64 (3.13.0-2) ... Setting up libpython3.13:amd64 (3.13.0-2) ... Setting up libtirpc3t64:amd64 (1.3.4+ds-1.3+b1) ... Setting up python3.13 (3.13.0-2) ... Setting up po-debconf (1.0.21+nmu1) ... Setting up man-db (2.13.0-1) ... Not building database; man-db/auto-update is not 'true'. Setting up libpython3.13-dev:amd64 (3.13.0-2) ... Setting up libnsl2:amd64 (1.3.0-3+b3) ... Setting up libpython3.12-stdlib:amd64 (3.12.7-3) ... Setting up python3.13-dev (3.13.0-2) ... Setting up python3.12 (3.12.7-3) ... Setting up debhelper (13.20) ... Setting up libpython3.12t64:amd64 (3.12.7-3) ... Setting up libpython3-stdlib:amd64 (3.12.7-1) ... Setting up python3 (3.12.7-1) ... Setting up libpython3.12-dev:amd64 (3.12.7-3) ... Setting up python3-zipp (3.21.0-1) ... Setting up python3-autocommand (2.2.2-3) ... Setting up python3-wheel (0.45.1-1) ... Setting up python3-ujson:amd64 (5.10.0-1+b3) ... Setting up python3-packaging (24.2-1) ... Setting up python3-certifi (2024.8.30+dfsg-1) ... Setting up python3-mdurl (0.1.2-1) ... Setting up python3-idna (3.8-2) ... Setting up python3.12-dev (3.12.7-3) ... Setting up cython3 (3.0.11+dfsg-1+b1) ... Setting up python3-h11 (0.14.0-1) ... Setting up python3-typing-extensions (4.12.2-2) ... Setting up python3-cbor2 (5.6.5-1) ... Setting up python3-pip (24.3.1+dfsg-1) ... Setting up python3-uvloop (0.21.0+ds1-1+b1) ... Setting up python3-urllib3 (2.0.7-2) ... Setting up python3-pluggy (1.5.0-1) ... Setting up python3-markdown-it (3.0.0-2) ... Setting up python3-rpds-py (0.21.0-2) ... Setting up python3-msgpack (1.0.3-3+b3) ... Setting up python3-mujson (1.4-3) ... Setting up python3-mimeparse (2.0.0-1) ... Setting up python3-asgiref (3.8.1-1) ... Setting up python3-websockets (14.1-1) ... Setting up python3-more-itertools (10.5.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 (24.2.0-1) ... Setting up python3-ddt (1.7.2-2) ... Setting up libpython3-dev:amd64 (3.12.7-1) ... Setting up python3-aiofiles (24.1.0-1) ... Setting up python3-jaraco.functools (4.1.0-1) ... Setting up python3-wsproto (1.2.0-1) ... Setting up python3-jaraco.context (6.0.0-1) ... Setting up python3-anyio (4.6.2-4) ... Setting up python3-colorama (0.4.6-4) ... Setting up python3-charset-normalizer (3.4.0-1+b1) ... Setting up python3-pytest (8.3.3-1) ... Setting up python3-typeguard (4.4.1-1) ... Setting up python3-rapidjson (1.4-2+b7) ... Setting up python3-all (3.12.7-1) ... Setting up python3-coverage (7.6.0+dfsg1-2+b1) ... Setting up python3-yaml (6.0.2-1+b1) ... Setting up python3-click (8.1.7-2) ... Setting up openstack-pkg-tools (130) ... Setting up python3-inflect (7.3.1-2) ... Setting up libpython3-all-dev:amd64 (3.12.7-1) ... Setting up python3-jaraco.text (4.0.0-1) ... Setting up python3-dev (3.12.7-1) ... Setting up python3-referencing (0.35.1-1) ... Setting up python3-pkg-resources (75.2.0-1) ... Setting up python3-all-dev (3.12.7-1) ... Setting up python3-uvicorn (0.32.0-1) ... Setting up python3-setuptools (75.2.0-1) ... Setting up python3-pbr (6.1.0-3) ... Setting up python3-pygments (2.18.0+dfsg-1) ... Setting up python3-chardet (5.2.0+dfsg-1) ... Setting up python3-requests (2.32.3+dfsg-1) ... Setting up python3-jsonschema-specifications (2023.12.1-2) ... Setting up dh-python (6.20241024) ... Setting up uvicorn (0.32.0-1) ... Setting up python3-rich (13.7.1-1) ... Setting up python3-httpx (0.27.2-1) ... Setting up python3-jsonschema (4.19.2-5) ... Setting up python3-fixtures (4.1.0-2) ... Setting up python3-testtools (2.7.2-4) ... Processing triggers for libc-bin (2.40-4) ... Processing triggers for ca-certificates (20240203) ... 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-0.1_source.changes dpkg-buildpackage: info: source package python-falcon dpkg-buildpackage: info: source version 4.0.2-0.1 dpkg-buildpackage: info: source distribution experimental dpkg-buildpackage: info: source changed by Stefano Rivera dpkg-source --before-build . dpkg-buildpackage: info: host architecture amd64 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:58: 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:58: 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:58: 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:58: 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:58: 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:58: 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 + + sed s/python-//echo python-falcon + PY_MODULE_NAME=falcon + py3versions -vr + PYTHON3S=3.13 3.12 + [ 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 running install /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:66: 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-x86_64-cpython-313/falcon copying falcon/__init__.py -> build/lib.linux-x86_64-cpython-313/falcon copying falcon/http_status.py -> build/lib.linux-x86_64-cpython-313/falcon copying falcon/status_codes.py -> build/lib.linux-x86_64-cpython-313/falcon copying falcon/constants.py -> build/lib.linux-x86_64-cpython-313/falcon copying falcon/http_error.py -> build/lib.linux-x86_64-cpython-313/falcon copying falcon/stream.py -> build/lib.linux-x86_64-cpython-313/falcon copying falcon/request.py -> build/lib.linux-x86_64-cpython-313/falcon copying falcon/response.py -> build/lib.linux-x86_64-cpython-313/falcon copying falcon/middleware.py -> build/lib.linux-x86_64-cpython-313/falcon copying falcon/responders.py -> build/lib.linux-x86_64-cpython-313/falcon copying falcon/typing.py -> build/lib.linux-x86_64-cpython-313/falcon copying falcon/_typing.py -> build/lib.linux-x86_64-cpython-313/falcon copying falcon/request_helpers.py -> build/lib.linux-x86_64-cpython-313/falcon copying falcon/forwarded.py -> build/lib.linux-x86_64-cpython-313/falcon copying falcon/inspect.py -> build/lib.linux-x86_64-cpython-313/falcon copying falcon/response_helpers.py -> build/lib.linux-x86_64-cpython-313/falcon copying falcon/version.py -> build/lib.linux-x86_64-cpython-313/falcon copying falcon/hooks.py -> build/lib.linux-x86_64-cpython-313/falcon copying falcon/app_helpers.py -> build/lib.linux-x86_64-cpython-313/falcon copying falcon/uri.py -> build/lib.linux-x86_64-cpython-313/falcon copying falcon/asgi_spec.py -> build/lib.linux-x86_64-cpython-313/falcon copying falcon/app.py -> build/lib.linux-x86_64-cpython-313/falcon copying falcon/errors.py -> build/lib.linux-x86_64-cpython-313/falcon copying falcon/redirects.py -> build/lib.linux-x86_64-cpython-313/falcon creating build/lib.linux-x86_64-cpython-313/falcon/cyutil copying falcon/cyutil/__init__.py -> build/lib.linux-x86_64-cpython-313/falcon/cyutil creating build/lib.linux-x86_64-cpython-313/falcon/cmd copying falcon/cmd/__init__.py -> build/lib.linux-x86_64-cpython-313/falcon/cmd copying falcon/cmd/bench.py -> build/lib.linux-x86_64-cpython-313/falcon/cmd copying falcon/cmd/inspect_app.py -> build/lib.linux-x86_64-cpython-313/falcon/cmd creating build/lib.linux-x86_64-cpython-313/falcon/media copying falcon/media/__init__.py -> build/lib.linux-x86_64-cpython-313/falcon/media copying falcon/media/handlers.py -> build/lib.linux-x86_64-cpython-313/falcon/media copying falcon/media/json.py -> build/lib.linux-x86_64-cpython-313/falcon/media copying falcon/media/base.py -> build/lib.linux-x86_64-cpython-313/falcon/media copying falcon/media/msgpack.py -> build/lib.linux-x86_64-cpython-313/falcon/media copying falcon/media/multipart.py -> build/lib.linux-x86_64-cpython-313/falcon/media copying falcon/media/urlencoded.py -> build/lib.linux-x86_64-cpython-313/falcon/media creating build/lib.linux-x86_64-cpython-313/falcon/routing copying falcon/routing/__init__.py -> build/lib.linux-x86_64-cpython-313/falcon/routing copying falcon/routing/static.py -> build/lib.linux-x86_64-cpython-313/falcon/routing copying falcon/routing/converters.py -> build/lib.linux-x86_64-cpython-313/falcon/routing copying falcon/routing/util.py -> build/lib.linux-x86_64-cpython-313/falcon/routing copying falcon/routing/compiled.py -> build/lib.linux-x86_64-cpython-313/falcon/routing creating build/lib.linux-x86_64-cpython-313/falcon/util copying falcon/util/__init__.py -> build/lib.linux-x86_64-cpython-313/falcon/util copying falcon/util/mediatypes.py -> build/lib.linux-x86_64-cpython-313/falcon/util copying falcon/util/sync.py -> build/lib.linux-x86_64-cpython-313/falcon/util copying falcon/util/deprecation.py -> build/lib.linux-x86_64-cpython-313/falcon/util copying falcon/util/misc.py -> build/lib.linux-x86_64-cpython-313/falcon/util copying falcon/util/time.py -> build/lib.linux-x86_64-cpython-313/falcon/util copying falcon/util/reader.py -> build/lib.linux-x86_64-cpython-313/falcon/util copying falcon/util/uri.py -> build/lib.linux-x86_64-cpython-313/falcon/util copying falcon/util/structures.py -> build/lib.linux-x86_64-cpython-313/falcon/util creating build/lib.linux-x86_64-cpython-313/falcon/bench copying falcon/bench/__init__.py -> build/lib.linux-x86_64-cpython-313/falcon/bench copying falcon/bench/create.py -> build/lib.linux-x86_64-cpython-313/falcon/bench copying falcon/bench/bench.py -> build/lib.linux-x86_64-cpython-313/falcon/bench creating build/lib.linux-x86_64-cpython-313/falcon/testing copying falcon/testing/__init__.py -> build/lib.linux-x86_64-cpython-313/falcon/testing copying falcon/testing/test_case.py -> build/lib.linux-x86_64-cpython-313/falcon/testing copying falcon/testing/srmock.py -> build/lib.linux-x86_64-cpython-313/falcon/testing copying falcon/testing/client.py -> build/lib.linux-x86_64-cpython-313/falcon/testing copying falcon/testing/helpers.py -> build/lib.linux-x86_64-cpython-313/falcon/testing copying falcon/testing/resource.py -> build/lib.linux-x86_64-cpython-313/falcon/testing creating build/lib.linux-x86_64-cpython-313/falcon/asgi copying falcon/asgi/__init__.py -> build/lib.linux-x86_64-cpython-313/falcon/asgi copying falcon/asgi/stream.py -> build/lib.linux-x86_64-cpython-313/falcon/asgi copying falcon/asgi/request.py -> build/lib.linux-x86_64-cpython-313/falcon/asgi copying falcon/asgi/response.py -> build/lib.linux-x86_64-cpython-313/falcon/asgi copying falcon/asgi/multipart.py -> build/lib.linux-x86_64-cpython-313/falcon/asgi copying falcon/asgi/ws.py -> build/lib.linux-x86_64-cpython-313/falcon/asgi copying falcon/asgi/reader.py -> build/lib.linux-x86_64-cpython-313/falcon/asgi copying falcon/asgi/app.py -> build/lib.linux-x86_64-cpython-313/falcon/asgi copying falcon/asgi/_asgi_helpers.py -> build/lib.linux-x86_64-cpython-313/falcon/asgi copying falcon/asgi/structures.py -> build/lib.linux-x86_64-cpython-313/falcon/asgi copying falcon/asgi/_request_helpers.py -> build/lib.linux-x86_64-cpython-313/falcon/asgi creating build/lib.linux-x86_64-cpython-313/falcon/media/validators copying falcon/media/validators/__init__.py -> build/lib.linux-x86_64-cpython-313/falcon/media/validators copying falcon/media/validators/jsonschema.py -> build/lib.linux-x86_64-cpython-313/falcon/media/validators creating build/lib.linux-x86_64-cpython-313/falcon/bench/queues copying falcon/bench/queues/api.py -> build/lib.linux-x86_64-cpython-313/falcon/bench/queues copying falcon/bench/queues/__init__.py -> build/lib.linux-x86_64-cpython-313/falcon/bench/queues copying falcon/bench/queues/stats.py -> build/lib.linux-x86_64-cpython-313/falcon/bench/queues copying falcon/bench/queues/claims.py -> build/lib.linux-x86_64-cpython-313/falcon/bench/queues copying falcon/bench/queues/queues.py -> build/lib.linux-x86_64-cpython-313/falcon/bench/queues copying falcon/bench/queues/messages.py -> build/lib.linux-x86_64-cpython-313/falcon/bench/queues creating build/lib.linux-x86_64-cpython-313/falcon/bench/nuts copying falcon/bench/nuts/__init__.py -> build/lib.linux-x86_64-cpython-313/falcon/bench/nuts copying falcon/bench/nuts/config.py -> build/lib.linux-x86_64-cpython-313/falcon/bench/nuts copying falcon/bench/nuts/setup.py -> build/lib.linux-x86_64-cpython-313/falcon/bench/nuts creating build/lib.linux-x86_64-cpython-313/falcon/bench/dj copying falcon/bench/dj/__init__.py -> build/lib.linux-x86_64-cpython-313/falcon/bench/dj copying falcon/bench/dj/manage.py -> build/lib.linux-x86_64-cpython-313/falcon/bench/dj creating build/lib.linux-x86_64-cpython-313/falcon/bench/nuts/nuts copying falcon/bench/nuts/nuts/__init__.py -> build/lib.linux-x86_64-cpython-313/falcon/bench/nuts/nuts copying falcon/bench/nuts/nuts/app.py -> build/lib.linux-x86_64-cpython-313/falcon/bench/nuts/nuts creating build/lib.linux-x86_64-cpython-313/falcon/bench/nuts/nuts/tests copying falcon/bench/nuts/nuts/tests/__init__.py -> build/lib.linux-x86_64-cpython-313/falcon/bench/nuts/nuts/tests copying falcon/bench/nuts/nuts/tests/test_units.py -> build/lib.linux-x86_64-cpython-313/falcon/bench/nuts/nuts/tests copying falcon/bench/nuts/nuts/tests/test_functional.py -> build/lib.linux-x86_64-cpython-313/falcon/bench/nuts/nuts/tests copying falcon/bench/nuts/nuts/tests/config.py -> build/lib.linux-x86_64-cpython-313/falcon/bench/nuts/nuts/tests creating build/lib.linux-x86_64-cpython-313/falcon/bench/nuts/nuts/model copying falcon/bench/nuts/nuts/model/__init__.py -> build/lib.linux-x86_64-cpython-313/falcon/bench/nuts/nuts/model creating build/lib.linux-x86_64-cpython-313/falcon/bench/nuts/nuts/controllers copying falcon/bench/nuts/nuts/controllers/__init__.py -> build/lib.linux-x86_64-cpython-313/falcon/bench/nuts/nuts/controllers copying falcon/bench/nuts/nuts/controllers/root.py -> build/lib.linux-x86_64-cpython-313/falcon/bench/nuts/nuts/controllers creating build/lib.linux-x86_64-cpython-313/falcon/bench/dj/hello copying falcon/bench/dj/hello/apps.py -> build/lib.linux-x86_64-cpython-313/falcon/bench/dj/hello copying falcon/bench/dj/hello/__init__.py -> build/lib.linux-x86_64-cpython-313/falcon/bench/dj/hello copying falcon/bench/dj/hello/views.py -> build/lib.linux-x86_64-cpython-313/falcon/bench/dj/hello copying falcon/bench/dj/hello/models.py -> build/lib.linux-x86_64-cpython-313/falcon/bench/dj/hello copying falcon/bench/dj/hello/admin.py -> build/lib.linux-x86_64-cpython-313/falcon/bench/dj/hello copying falcon/bench/dj/hello/tests.py -> build/lib.linux-x86_64-cpython-313/falcon/bench/dj/hello creating build/lib.linux-x86_64-cpython-313/falcon/bench/dj/dj copying falcon/bench/dj/dj/__init__.py -> build/lib.linux-x86_64-cpython-313/falcon/bench/dj/dj copying falcon/bench/dj/dj/urls.py -> build/lib.linux-x86_64-cpython-313/falcon/bench/dj/dj copying falcon/bench/dj/dj/wsgi.py -> build/lib.linux-x86_64-cpython-313/falcon/bench/dj/dj copying falcon/bench/dj/dj/settings.py -> build/lib.linux-x86_64-cpython-313/falcon/bench/dj/dj creating build/lib.linux-x86_64-cpython-313/falcon/bench/dj/hello/migrations copying falcon/bench/dj/hello/migrations/__init__.py -> build/lib.linux-x86_64-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-x86_64-cpython-313/falcon copying falcon/cyutil/misc.pyx -> build/lib.linux-x86_64-cpython-313/falcon/cyutil copying falcon/cyutil/reader.pyx -> build/lib.linux-x86_64-cpython-313/falcon/cyutil copying falcon/cyutil/uri.pyx -> build/lib.linux-x86_64-cpython-313/falcon/cyutil running build_ext Compiling falcon/http_status.py because it changed. [1/1] Cythonizing falcon/http_status.py building 'falcon.http_status' extension creating build/temp.linux-x86_64-cpython-313/falcon x86_64-linux-gnu-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.13 -c falcon/http_status.c -o build/temp.linux-x86_64-cpython-313/falcon/http_status.o x86_64-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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-cpython-313/falcon/http_status.o -L/usr/lib/x86_64-linux-gnu -o build/lib.linux-x86_64-cpython-313/falcon/http_status.cpython-313-x86_64-linux-gnu.so Compiling falcon/status_codes.py because it changed. [1/1] Cythonizing falcon/status_codes.py building 'falcon.status_codes' extension x86_64-linux-gnu-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.13 -c falcon/status_codes.c -o build/temp.linux-x86_64-cpython-313/falcon/status_codes.o x86_64-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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-cpython-313/falcon/status_codes.o -L/usr/lib/x86_64-linux-gnu -o build/lib.linux-x86_64-cpython-313/falcon/status_codes.cpython-313-x86_64-linux-gnu.so Compiling falcon/constants.py because it changed. [1/1] Cythonizing falcon/constants.py building 'falcon.constants' extension x86_64-linux-gnu-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.13 -c falcon/constants.c -o build/temp.linux-x86_64-cpython-313/falcon/constants.o x86_64-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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-cpython-313/falcon/constants.o -L/usr/lib/x86_64-linux-gnu -o build/lib.linux-x86_64-cpython-313/falcon/constants.cpython-313-x86_64-linux-gnu.so Compiling falcon/http_error.py because it changed. [1/1] Cythonizing falcon/http_error.py building 'falcon.http_error' extension x86_64-linux-gnu-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.13 -c falcon/http_error.c -o build/temp.linux-x86_64-cpython-313/falcon/http_error.o x86_64-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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-cpython-313/falcon/http_error.o -L/usr/lib/x86_64-linux-gnu -o build/lib.linux-x86_64-cpython-313/falcon/http_error.cpython-313-x86_64-linux-gnu.so Compiling falcon/stream.py because it changed. [1/1] Cythonizing falcon/stream.py building 'falcon.stream' extension x86_64-linux-gnu-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.13 -c falcon/stream.c -o build/temp.linux-x86_64-cpython-313/falcon/stream.o x86_64-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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-cpython-313/falcon/stream.o -L/usr/lib/x86_64-linux-gnu -o build/lib.linux-x86_64-cpython-313/falcon/stream.cpython-313-x86_64-linux-gnu.so Compiling falcon/request.py because it changed. [1/1] Cythonizing falcon/request.py building 'falcon.request' extension x86_64-linux-gnu-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.13 -c falcon/request.c -o build/temp.linux-x86_64-cpython-313/falcon/request.o x86_64-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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-cpython-313/falcon/request.o -L/usr/lib/x86_64-linux-gnu -o build/lib.linux-x86_64-cpython-313/falcon/request.cpython-313-x86_64-linux-gnu.so Compiling falcon/response.py because it changed. [1/1] Cythonizing falcon/response.py building 'falcon.response' extension x86_64-linux-gnu-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.13 -c falcon/response.c -o build/temp.linux-x86_64-cpython-313/falcon/response.o x86_64-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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-cpython-313/falcon/response.o -L/usr/lib/x86_64-linux-gnu -o build/lib.linux-x86_64-cpython-313/falcon/response.cpython-313-x86_64-linux-gnu.so Compiling falcon/middleware.py because it changed. [1/1] Cythonizing falcon/middleware.py building 'falcon.middleware' extension x86_64-linux-gnu-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.13 -c falcon/middleware.c -o build/temp.linux-x86_64-cpython-313/falcon/middleware.o x86_64-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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-cpython-313/falcon/middleware.o -L/usr/lib/x86_64-linux-gnu -o build/lib.linux-x86_64-cpython-313/falcon/middleware.cpython-313-x86_64-linux-gnu.so Compiling falcon/typing.py because it changed. [1/1] Cythonizing falcon/typing.py building 'falcon.typing' extension x86_64-linux-gnu-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.13 -c falcon/typing.c -o build/temp.linux-x86_64-cpython-313/falcon/typing.o x86_64-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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-cpython-313/falcon/typing.o -L/usr/lib/x86_64-linux-gnu -o build/lib.linux-x86_64-cpython-313/falcon/typing.cpython-313-x86_64-linux-gnu.so Compiling falcon/_typing.py because it changed. [1/1] Cythonizing falcon/_typing.py building 'falcon._typing' extension x86_64-linux-gnu-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.13 -c falcon/_typing.c -o build/temp.linux-x86_64-cpython-313/falcon/_typing.o x86_64-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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-cpython-313/falcon/_typing.o -L/usr/lib/x86_64-linux-gnu -o build/lib.linux-x86_64-cpython-313/falcon/_typing.cpython-313-x86_64-linux-gnu.so Compiling falcon/request_helpers.py because it changed. [1/1] Cythonizing falcon/request_helpers.py building 'falcon.request_helpers' extension x86_64-linux-gnu-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.13 -c falcon/request_helpers.c -o build/temp.linux-x86_64-cpython-313/falcon/request_helpers.o x86_64-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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-cpython-313/falcon/request_helpers.o -L/usr/lib/x86_64-linux-gnu -o build/lib.linux-x86_64-cpython-313/falcon/request_helpers.cpython-313-x86_64-linux-gnu.so Compiling falcon/forwarded.py because it changed. [1/1] Cythonizing falcon/forwarded.py building 'falcon.forwarded' extension x86_64-linux-gnu-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.13 -c falcon/forwarded.c -o build/temp.linux-x86_64-cpython-313/falcon/forwarded.o x86_64-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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-cpython-313/falcon/forwarded.o -L/usr/lib/x86_64-linux-gnu -o build/lib.linux-x86_64-cpython-313/falcon/forwarded.cpython-313-x86_64-linux-gnu.so Compiling falcon/response_helpers.py because it changed. [1/1] Cythonizing falcon/response_helpers.py building 'falcon.response_helpers' extension x86_64-linux-gnu-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.13 -c falcon/response_helpers.c -o build/temp.linux-x86_64-cpython-313/falcon/response_helpers.o x86_64-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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-cpython-313/falcon/response_helpers.o -L/usr/lib/x86_64-linux-gnu -o build/lib.linux-x86_64-cpython-313/falcon/response_helpers.cpython-313-x86_64-linux-gnu.so Compiling falcon/version.py because it changed. [1/1] Cythonizing falcon/version.py building 'falcon.version' extension x86_64-linux-gnu-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.13 -c falcon/version.c -o build/temp.linux-x86_64-cpython-313/falcon/version.o x86_64-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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-cpython-313/falcon/version.o -L/usr/lib/x86_64-linux-gnu -o build/lib.linux-x86_64-cpython-313/falcon/version.cpython-313-x86_64-linux-gnu.so Compiling falcon/app_helpers.py because it changed. [1/1] Cythonizing falcon/app_helpers.py building 'falcon.app_helpers' extension x86_64-linux-gnu-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.13 -c falcon/app_helpers.c -o build/temp.linux-x86_64-cpython-313/falcon/app_helpers.o x86_64-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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-cpython-313/falcon/app_helpers.o -L/usr/lib/x86_64-linux-gnu -o build/lib.linux-x86_64-cpython-313/falcon/app_helpers.cpython-313-x86_64-linux-gnu.so Compiling falcon/uri.py because it changed. [1/1] Cythonizing falcon/uri.py building 'falcon.uri' extension x86_64-linux-gnu-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.13 -c falcon/uri.c -o build/temp.linux-x86_64-cpython-313/falcon/uri.o x86_64-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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-cpython-313/falcon/uri.o -L/usr/lib/x86_64-linux-gnu -o build/lib.linux-x86_64-cpython-313/falcon/uri.cpython-313-x86_64-linux-gnu.so Compiling falcon/asgi_spec.py because it changed. [1/1] Cythonizing falcon/asgi_spec.py building 'falcon.asgi_spec' extension x86_64-linux-gnu-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.13 -c falcon/asgi_spec.c -o build/temp.linux-x86_64-cpython-313/falcon/asgi_spec.o x86_64-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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-cpython-313/falcon/asgi_spec.o -L/usr/lib/x86_64-linux-gnu -o build/lib.linux-x86_64-cpython-313/falcon/asgi_spec.cpython-313-x86_64-linux-gnu.so Compiling falcon/app.py because it changed. [1/1] Cythonizing falcon/app.py building 'falcon.app' extension x86_64-linux-gnu-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.13 -c falcon/app.c -o build/temp.linux-x86_64-cpython-313/falcon/app.o x86_64-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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-cpython-313/falcon/app.o -L/usr/lib/x86_64-linux-gnu -o build/lib.linux-x86_64-cpython-313/falcon/app.cpython-313-x86_64-linux-gnu.so Compiling falcon/errors.py because it changed. [1/1] Cythonizing falcon/errors.py building 'falcon.errors' extension x86_64-linux-gnu-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.13 -c falcon/errors.c -o build/temp.linux-x86_64-cpython-313/falcon/errors.o x86_64-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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-cpython-313/falcon/errors.o -L/usr/lib/x86_64-linux-gnu -o build/lib.linux-x86_64-cpython-313/falcon/errors.cpython-313-x86_64-linux-gnu.so Compiling falcon/redirects.py because it changed. [1/1] Cythonizing falcon/redirects.py building 'falcon.redirects' extension x86_64-linux-gnu-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.13 -c falcon/redirects.c -o build/temp.linux-x86_64-cpython-313/falcon/redirects.o x86_64-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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-cpython-313/falcon/redirects.o -L/usr/lib/x86_64-linux-gnu -o build/lib.linux-x86_64-cpython-313/falcon/redirects.cpython-313-x86_64-linux-gnu.so Compiling falcon/cyutil/misc.pyx because it changed. [1/1] Cythonizing falcon/cyutil/misc.pyx building 'falcon.cyutil.misc' extension creating build/temp.linux-x86_64-cpython-313/falcon/cyutil x86_64-linux-gnu-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.13 -c falcon/cyutil/misc.c -o build/temp.linux-x86_64-cpython-313/falcon/cyutil/misc.o x86_64-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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-cpython-313/falcon/cyutil/misc.o -L/usr/lib/x86_64-linux-gnu -o build/lib.linux-x86_64-cpython-313/falcon/cyutil/misc.cpython-313-x86_64-linux-gnu.so Compiling falcon/cyutil/reader.pyx because it changed. [1/1] Cythonizing falcon/cyutil/reader.pyx building 'falcon.cyutil.reader' extension x86_64-linux-gnu-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.13 -c falcon/cyutil/reader.c -o build/temp.linux-x86_64-cpython-313/falcon/cyutil/reader.o x86_64-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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-cpython-313/falcon/cyutil/reader.o -L/usr/lib/x86_64-linux-gnu -o build/lib.linux-x86_64-cpython-313/falcon/cyutil/reader.cpython-313-x86_64-linux-gnu.so Compiling falcon/cyutil/uri.pyx because it changed. [1/1] Cythonizing falcon/cyutil/uri.pyx building 'falcon.cyutil.uri' extension x86_64-linux-gnu-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.13 -c falcon/cyutil/uri.c -o build/temp.linux-x86_64-cpython-313/falcon/cyutil/uri.o x86_64-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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-cpython-313/falcon/cyutil/uri.o -L/usr/lib/x86_64-linux-gnu -o build/lib.linux-x86_64-cpython-313/falcon/cyutil/uri.cpython-313-x86_64-linux-gnu.so Compiling falcon/media/handlers.py because it changed. [1/1] Cythonizing falcon/media/handlers.py building 'falcon.media.handlers' extension creating build/temp.linux-x86_64-cpython-313/falcon/media x86_64-linux-gnu-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.13 -c falcon/media/handlers.c -o build/temp.linux-x86_64-cpython-313/falcon/media/handlers.o x86_64-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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-cpython-313/falcon/media/handlers.o -L/usr/lib/x86_64-linux-gnu -o build/lib.linux-x86_64-cpython-313/falcon/media/handlers.cpython-313-x86_64-linux-gnu.so Compiling falcon/media/json.py because it changed. [1/1] Cythonizing falcon/media/json.py building 'falcon.media.json' extension x86_64-linux-gnu-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.13 -c falcon/media/json.c -o build/temp.linux-x86_64-cpython-313/falcon/media/json.o x86_64-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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-cpython-313/falcon/media/json.o -L/usr/lib/x86_64-linux-gnu -o build/lib.linux-x86_64-cpython-313/falcon/media/json.cpython-313-x86_64-linux-gnu.so Compiling falcon/media/base.py because it changed. [1/1] Cythonizing falcon/media/base.py building 'falcon.media.base' extension x86_64-linux-gnu-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.13 -c falcon/media/base.c -o build/temp.linux-x86_64-cpython-313/falcon/media/base.o x86_64-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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-cpython-313/falcon/media/base.o -L/usr/lib/x86_64-linux-gnu -o build/lib.linux-x86_64-cpython-313/falcon/media/base.cpython-313-x86_64-linux-gnu.so Compiling falcon/media/msgpack.py because it changed. [1/1] Cythonizing falcon/media/msgpack.py building 'falcon.media.msgpack' extension x86_64-linux-gnu-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.13 -c falcon/media/msgpack.c -o build/temp.linux-x86_64-cpython-313/falcon/media/msgpack.o x86_64-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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-cpython-313/falcon/media/msgpack.o -L/usr/lib/x86_64-linux-gnu -o build/lib.linux-x86_64-cpython-313/falcon/media/msgpack.cpython-313-x86_64-linux-gnu.so Compiling falcon/media/multipart.py because it changed. [1/1] Cythonizing falcon/media/multipart.py building 'falcon.media.multipart' extension x86_64-linux-gnu-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.13 -c falcon/media/multipart.c -o build/temp.linux-x86_64-cpython-313/falcon/media/multipart.o x86_64-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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-cpython-313/falcon/media/multipart.o -L/usr/lib/x86_64-linux-gnu -o build/lib.linux-x86_64-cpython-313/falcon/media/multipart.cpython-313-x86_64-linux-gnu.so Compiling falcon/media/urlencoded.py because it changed. [1/1] Cythonizing falcon/media/urlencoded.py building 'falcon.media.urlencoded' extension x86_64-linux-gnu-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.13 -c falcon/media/urlencoded.c -o build/temp.linux-x86_64-cpython-313/falcon/media/urlencoded.o x86_64-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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-cpython-313/falcon/media/urlencoded.o -L/usr/lib/x86_64-linux-gnu -o build/lib.linux-x86_64-cpython-313/falcon/media/urlencoded.cpython-313-x86_64-linux-gnu.so Compiling falcon/routing/static.py because it changed. [1/1] Cythonizing falcon/routing/static.py building 'falcon.routing.static' extension creating build/temp.linux-x86_64-cpython-313/falcon/routing x86_64-linux-gnu-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.13 -c falcon/routing/static.c -o build/temp.linux-x86_64-cpython-313/falcon/routing/static.o x86_64-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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-cpython-313/falcon/routing/static.o -L/usr/lib/x86_64-linux-gnu -o build/lib.linux-x86_64-cpython-313/falcon/routing/static.cpython-313-x86_64-linux-gnu.so Compiling falcon/routing/converters.py because it changed. [1/1] Cythonizing falcon/routing/converters.py building 'falcon.routing.converters' extension x86_64-linux-gnu-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.13 -c falcon/routing/converters.c -o build/temp.linux-x86_64-cpython-313/falcon/routing/converters.o x86_64-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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-cpython-313/falcon/routing/converters.o -L/usr/lib/x86_64-linux-gnu -o build/lib.linux-x86_64-cpython-313/falcon/routing/converters.cpython-313-x86_64-linux-gnu.so Compiling falcon/routing/util.py because it changed. [1/1] Cythonizing falcon/routing/util.py building 'falcon.routing.util' extension x86_64-linux-gnu-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.13 -c falcon/routing/util.c -o build/temp.linux-x86_64-cpython-313/falcon/routing/util.o x86_64-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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-cpython-313/falcon/routing/util.o -L/usr/lib/x86_64-linux-gnu -o build/lib.linux-x86_64-cpython-313/falcon/routing/util.cpython-313-x86_64-linux-gnu.so Compiling falcon/routing/compiled.py because it changed. [1/1] Cythonizing falcon/routing/compiled.py building 'falcon.routing.compiled' extension x86_64-linux-gnu-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.13 -c falcon/routing/compiled.c -o build/temp.linux-x86_64-cpython-313/falcon/routing/compiled.o falcon/routing/compiled.c: In function '__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_18_generate_ast.isra': falcon/routing/compiled.c:1143:40: warning: '__pyx_v_resource_idx' may be used uninitialized [-Wmaybe-uninitialized] 1143 | #define PyInt_FromSsize_t PyLong_FromSsize_t | ^ falcon/routing/compiled.c:13230:21: note: in expansion of macro 'PyInt_FromSsize_t' 13230 | __pyx_t_4 = PyInt_FromSsize_t(__pyx_v_resource_idx); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 601, __pyx_L1_error) | ^~~~~~~~~~~~~~~~~ falcon/routing/compiled.c:10880:14: note: '__pyx_v_resource_idx' was declared here 10880 | Py_ssize_t __pyx_v_resource_idx; | ^~~~~~~~~~~~~~~~~~~~ x86_64-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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-cpython-313/falcon/routing/compiled.o -L/usr/lib/x86_64-linux-gnu -o build/lib.linux-x86_64-cpython-313/falcon/routing/compiled.cpython-313-x86_64-linux-gnu.so Compiling falcon/util/mediatypes.py because it changed. [1/1] Cythonizing falcon/util/mediatypes.py building 'falcon.util.mediatypes' extension creating build/temp.linux-x86_64-cpython-313/falcon/util x86_64-linux-gnu-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.13 -c falcon/util/mediatypes.c -o build/temp.linux-x86_64-cpython-313/falcon/util/mediatypes.o x86_64-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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-cpython-313/falcon/util/mediatypes.o -L/usr/lib/x86_64-linux-gnu -o build/lib.linux-x86_64-cpython-313/falcon/util/mediatypes.cpython-313-x86_64-linux-gnu.so Compiling falcon/util/deprecation.py because it changed. [1/1] Cythonizing falcon/util/deprecation.py building 'falcon.util.deprecation' extension x86_64-linux-gnu-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.13 -c falcon/util/deprecation.c -o build/temp.linux-x86_64-cpython-313/falcon/util/deprecation.o x86_64-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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-cpython-313/falcon/util/deprecation.o -L/usr/lib/x86_64-linux-gnu -o build/lib.linux-x86_64-cpython-313/falcon/util/deprecation.cpython-313-x86_64-linux-gnu.so Compiling falcon/util/misc.py because it changed. [1/1] Cythonizing falcon/util/misc.py building 'falcon.util.misc' extension x86_64-linux-gnu-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.13 -c falcon/util/misc.c -o build/temp.linux-x86_64-cpython-313/falcon/util/misc.o x86_64-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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-cpython-313/falcon/util/misc.o -L/usr/lib/x86_64-linux-gnu -o build/lib.linux-x86_64-cpython-313/falcon/util/misc.cpython-313-x86_64-linux-gnu.so Compiling falcon/util/time.py because it changed. [1/1] Cythonizing falcon/util/time.py building 'falcon.util.time' extension x86_64-linux-gnu-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.13 -c falcon/util/time.c -o build/temp.linux-x86_64-cpython-313/falcon/util/time.o x86_64-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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-cpython-313/falcon/util/time.o -L/usr/lib/x86_64-linux-gnu -o build/lib.linux-x86_64-cpython-313/falcon/util/time.cpython-313-x86_64-linux-gnu.so Compiling falcon/util/uri.py because it changed. [1/1] Cythonizing falcon/util/uri.py building 'falcon.util.uri' extension x86_64-linux-gnu-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.13 -c falcon/util/uri.c -o build/temp.linux-x86_64-cpython-313/falcon/util/uri.o x86_64-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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-cpython-313/falcon/util/uri.o -L/usr/lib/x86_64-linux-gnu -o build/lib.linux-x86_64-cpython-313/falcon/util/uri.cpython-313-x86_64-linux-gnu.so Compiling falcon/util/structures.py because it changed. [1/1] Cythonizing falcon/util/structures.py building 'falcon.util.structures' extension x86_64-linux-gnu-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.13 -c falcon/util/structures.c -o build/temp.linux-x86_64-cpython-313/falcon/util/structures.o x86_64-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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-cpython-313/falcon/util/structures.o -L/usr/lib/x86_64-linux-gnu -o build/lib.linux-x86_64-cpython-313/falcon/util/structures.cpython-313-x86_64-linux-gnu.so 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-x86_64-cpython-313/falcon/asgi_spec.cpython-313-x86_64-linux-gnu.so -> /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/cyutil copying build/lib.linux-x86_64-cpython-313/falcon/cyutil/__init__.py -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/cyutil copying build/lib.linux-x86_64-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-x86_64-cpython-313/falcon/cyutil/misc.cpython-313-x86_64-linux-gnu.so -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/cyutil copying build/lib.linux-x86_64-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-x86_64-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-x86_64-cpython-313/falcon/cyutil/reader.cpython-313-x86_64-linux-gnu.so -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/cyutil copying build/lib.linux-x86_64-cpython-313/falcon/cyutil/uri.cpython-313-x86_64-linux-gnu.so -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/cyutil copying build/lib.linux-x86_64-cpython-313/falcon/errors.cpython-313-x86_64-linux-gnu.so -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon copying build/lib.linux-x86_64-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-x86_64-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-x86_64-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-x86_64-cpython-313/falcon/status_codes.cpython-313-x86_64-linux-gnu.so -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon copying build/lib.linux-x86_64-cpython-313/falcon/response.cpython-313-x86_64-linux-gnu.so -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon copying build/lib.linux-x86_64-cpython-313/falcon/app_helpers.cpython-313-x86_64-linux-gnu.so -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon copying build/lib.linux-x86_64-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-x86_64-cpython-313/falcon/redirects.cpython-313-x86_64-linux-gnu.so -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon copying build/lib.linux-x86_64-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-x86_64-cpython-313/falcon/stream.py -> /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/cmd copying build/lib.linux-x86_64-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-x86_64-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-x86_64-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/media copying build/lib.linux-x86_64-cpython-313/falcon/media/handlers.cpython-313-x86_64-linux-gnu.so -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/media copying build/lib.linux-x86_64-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-x86_64-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-x86_64-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-x86_64-cpython-313/falcon/media/base.cpython-313-x86_64-linux-gnu.so -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/media copying build/lib.linux-x86_64-cpython-313/falcon/media/multipart.cpython-313-x86_64-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-x86_64-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-x86_64-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-x86_64-cpython-313/falcon/media/msgpack.cpython-313-x86_64-linux-gnu.so -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/media copying build/lib.linux-x86_64-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-x86_64-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-x86_64-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-x86_64-cpython-313/falcon/media/json.cpython-313-x86_64-linux-gnu.so -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/media copying build/lib.linux-x86_64-cpython-313/falcon/media/urlencoded.cpython-313-x86_64-linux-gnu.so -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/media copying build/lib.linux-x86_64-cpython-313/falcon/media/urlencoded.py -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/media copying build/lib.linux-x86_64-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-x86_64-cpython-313/falcon/app.cpython-313-x86_64-linux-gnu.so -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon copying build/lib.linux-x86_64-cpython-313/falcon/middleware.cpython-313-x86_64-linux-gnu.so -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon copying build/lib.linux-x86_64-cpython-313/falcon/py.typed -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon copying build/lib.linux-x86_64-cpython-313/falcon/_typing.cpython-313-x86_64-linux-gnu.so -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon copying build/lib.linux-x86_64-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-x86_64-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-x86_64-cpython-313/falcon/http_error.cpython-313-x86_64-linux-gnu.so -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon copying build/lib.linux-x86_64-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-x86_64-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-x86_64-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-x86_64-cpython-313/falcon/constants.cpython-313-x86_64-linux-gnu.so -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon copying build/lib.linux-x86_64-cpython-313/falcon/response_helpers.cpython-313-x86_64-linux-gnu.so -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon copying build/lib.linux-x86_64-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-x86_64-cpython-313/falcon/typing.cpython-313-x86_64-linux-gnu.so -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon copying build/lib.linux-x86_64-cpython-313/falcon/forwarded.py -> /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/routing copying build/lib.linux-x86_64-cpython-313/falcon/routing/converters.cpython-313-x86_64-linux-gnu.so -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/routing copying build/lib.linux-x86_64-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-x86_64-cpython-313/falcon/routing/util.cpython-313-x86_64-linux-gnu.so -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/routing copying build/lib.linux-x86_64-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-x86_64-cpython-313/falcon/routing/static.cpython-313-x86_64-linux-gnu.so -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/routing copying build/lib.linux-x86_64-cpython-313/falcon/routing/compiled.cpython-313-x86_64-linux-gnu.so -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/routing copying build/lib.linux-x86_64-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-x86_64-cpython-313/falcon/routing/util.py -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/routing copying build/lib.linux-x86_64-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-x86_64-cpython-313/falcon/request_helpers.cpython-313-x86_64-linux-gnu.so -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon copying build/lib.linux-x86_64-cpython-313/falcon/forwarded.cpython-313-x86_64-linux-gnu.so -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon copying build/lib.linux-x86_64-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-x86_64-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-x86_64-cpython-313/falcon/version.cpython-313-x86_64-linux-gnu.so -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon copying build/lib.linux-x86_64-cpython-313/falcon/version.py -> /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/util copying build/lib.linux-x86_64-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-x86_64-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-x86_64-cpython-313/falcon/util/mediatypes.cpython-313-x86_64-linux-gnu.so -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/util copying build/lib.linux-x86_64-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-x86_64-cpython-313/falcon/util/misc.cpython-313-x86_64-linux-gnu.so -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/util copying build/lib.linux-x86_64-cpython-313/falcon/util/structures.cpython-313-x86_64-linux-gnu.so -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/util copying build/lib.linux-x86_64-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-x86_64-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-x86_64-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-x86_64-cpython-313/falcon/util/deprecation.cpython-313-x86_64-linux-gnu.so -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/util copying build/lib.linux-x86_64-cpython-313/falcon/util/time.cpython-313-x86_64-linux-gnu.so -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/util copying build/lib.linux-x86_64-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-x86_64-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-x86_64-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-x86_64-cpython-313/falcon/util/uri.cpython-313-x86_64-linux-gnu.so -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/util copying build/lib.linux-x86_64-cpython-313/falcon/http_status.cpython-313-x86_64-linux-gnu.so -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon copying build/lib.linux-x86_64-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-x86_64-cpython-313/falcon/app_helpers.py -> /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/bench copying build/lib.linux-x86_64-cpython-313/falcon/bench/__init__.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/bench/queues copying build/lib.linux-x86_64-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-x86_64-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-x86_64-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-x86_64-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-x86_64-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-x86_64-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-x86_64-cpython-313/falcon/bench/create.py -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/bench copying build/lib.linux-x86_64-cpython-313/falcon/bench/bench.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/bench/nuts copying build/lib.linux-x86_64-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-x86_64-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-x86_64-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/nuts/nuts copying build/lib.linux-x86_64-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 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-x86_64-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-x86_64-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-x86_64-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-x86_64-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 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-x86_64-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/controllers copying build/lib.linux-x86_64-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-x86_64-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 copying build/lib.linux-x86_64-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 creating /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/dj copying build/lib.linux-x86_64-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 creating /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/dj/hello copying build/lib.linux-x86_64-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-x86_64-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-x86_64-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-x86_64-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-x86_64-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-x86_64-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 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-x86_64-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-x86_64-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/dj/dj copying build/lib.linux-x86_64-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-x86_64-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-x86_64-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 copying build/lib.linux-x86_64-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-x86_64-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-x86_64-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-x86_64-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-x86_64-cpython-313/falcon/errors.py -> /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/testing copying build/lib.linux-x86_64-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-x86_64-cpython-313/falcon/testing/test_case.py -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/testing copying build/lib.linux-x86_64-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-x86_64-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-x86_64-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-x86_64-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-x86_64-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-x86_64-cpython-313/falcon/request.cpython-313-x86_64-linux-gnu.so -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon copying build/lib.linux-x86_64-cpython-313/falcon/stream.cpython-313-x86_64-linux-gnu.so -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon copying build/lib.linux-x86_64-cpython-313/falcon/uri.cpython-313-x86_64-linux-gnu.so -> /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-x86_64-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-x86_64-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-x86_64-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-x86_64-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-x86_64-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-x86_64-cpython-313/falcon/asgi/ws.py -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/asgi copying build/lib.linux-x86_64-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-x86_64-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-x86_64-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-x86_64-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-x86_64-cpython-313/falcon/asgi/_request_helpers.py -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/asgi 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/__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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/_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/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/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/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/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/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/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/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/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/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/version.py to version.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/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/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/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/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/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/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/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/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/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/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/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/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/__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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/__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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/_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/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/_request_helpers.py to _request_helpers.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 + python3.12 setup.py install --install-layout=deb --root /build/reproducible-path/python-falcon-4.0.2/debian/tmp running install /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:66: 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-x86_64-cpython-312/falcon copying falcon/__init__.py -> build/lib.linux-x86_64-cpython-312/falcon copying falcon/http_status.py -> build/lib.linux-x86_64-cpython-312/falcon copying falcon/status_codes.py -> build/lib.linux-x86_64-cpython-312/falcon copying falcon/constants.py -> build/lib.linux-x86_64-cpython-312/falcon copying falcon/http_error.py -> build/lib.linux-x86_64-cpython-312/falcon copying falcon/stream.py -> build/lib.linux-x86_64-cpython-312/falcon copying falcon/request.py -> build/lib.linux-x86_64-cpython-312/falcon copying falcon/response.py -> build/lib.linux-x86_64-cpython-312/falcon copying falcon/middleware.py -> build/lib.linux-x86_64-cpython-312/falcon copying falcon/responders.py -> build/lib.linux-x86_64-cpython-312/falcon copying falcon/typing.py -> build/lib.linux-x86_64-cpython-312/falcon copying falcon/_typing.py -> build/lib.linux-x86_64-cpython-312/falcon copying falcon/request_helpers.py -> build/lib.linux-x86_64-cpython-312/falcon copying falcon/forwarded.py -> build/lib.linux-x86_64-cpython-312/falcon copying falcon/inspect.py -> build/lib.linux-x86_64-cpython-312/falcon copying falcon/response_helpers.py -> build/lib.linux-x86_64-cpython-312/falcon copying falcon/version.py -> build/lib.linux-x86_64-cpython-312/falcon copying falcon/hooks.py -> build/lib.linux-x86_64-cpython-312/falcon copying falcon/app_helpers.py -> build/lib.linux-x86_64-cpython-312/falcon copying falcon/uri.py -> build/lib.linux-x86_64-cpython-312/falcon copying falcon/asgi_spec.py -> build/lib.linux-x86_64-cpython-312/falcon copying falcon/app.py -> build/lib.linux-x86_64-cpython-312/falcon copying falcon/errors.py -> build/lib.linux-x86_64-cpython-312/falcon copying falcon/redirects.py -> build/lib.linux-x86_64-cpython-312/falcon creating build/lib.linux-x86_64-cpython-312/falcon/cyutil copying falcon/cyutil/__init__.py -> build/lib.linux-x86_64-cpython-312/falcon/cyutil creating build/lib.linux-x86_64-cpython-312/falcon/cmd copying falcon/cmd/__init__.py -> build/lib.linux-x86_64-cpython-312/falcon/cmd copying falcon/cmd/bench.py -> build/lib.linux-x86_64-cpython-312/falcon/cmd copying falcon/cmd/inspect_app.py -> build/lib.linux-x86_64-cpython-312/falcon/cmd creating build/lib.linux-x86_64-cpython-312/falcon/media copying falcon/media/__init__.py -> build/lib.linux-x86_64-cpython-312/falcon/media copying falcon/media/handlers.py -> build/lib.linux-x86_64-cpython-312/falcon/media copying falcon/media/json.py -> build/lib.linux-x86_64-cpython-312/falcon/media copying falcon/media/base.py -> build/lib.linux-x86_64-cpython-312/falcon/media copying falcon/media/msgpack.py -> build/lib.linux-x86_64-cpython-312/falcon/media copying falcon/media/multipart.py -> build/lib.linux-x86_64-cpython-312/falcon/media copying falcon/media/urlencoded.py -> build/lib.linux-x86_64-cpython-312/falcon/media creating build/lib.linux-x86_64-cpython-312/falcon/routing copying falcon/routing/__init__.py -> build/lib.linux-x86_64-cpython-312/falcon/routing copying falcon/routing/static.py -> build/lib.linux-x86_64-cpython-312/falcon/routing copying falcon/routing/converters.py -> build/lib.linux-x86_64-cpython-312/falcon/routing copying falcon/routing/util.py -> build/lib.linux-x86_64-cpython-312/falcon/routing copying falcon/routing/compiled.py -> build/lib.linux-x86_64-cpython-312/falcon/routing creating build/lib.linux-x86_64-cpython-312/falcon/util copying falcon/util/__init__.py -> build/lib.linux-x86_64-cpython-312/falcon/util copying falcon/util/mediatypes.py -> build/lib.linux-x86_64-cpython-312/falcon/util copying falcon/util/sync.py -> build/lib.linux-x86_64-cpython-312/falcon/util copying falcon/util/deprecation.py -> build/lib.linux-x86_64-cpython-312/falcon/util copying falcon/util/misc.py -> build/lib.linux-x86_64-cpython-312/falcon/util copying falcon/util/time.py -> build/lib.linux-x86_64-cpython-312/falcon/util copying falcon/util/reader.py -> build/lib.linux-x86_64-cpython-312/falcon/util copying falcon/util/uri.py -> build/lib.linux-x86_64-cpython-312/falcon/util copying falcon/util/structures.py -> build/lib.linux-x86_64-cpython-312/falcon/util creating build/lib.linux-x86_64-cpython-312/falcon/bench copying falcon/bench/__init__.py -> build/lib.linux-x86_64-cpython-312/falcon/bench copying falcon/bench/create.py -> build/lib.linux-x86_64-cpython-312/falcon/bench copying falcon/bench/bench.py -> build/lib.linux-x86_64-cpython-312/falcon/bench creating build/lib.linux-x86_64-cpython-312/falcon/testing copying falcon/testing/__init__.py -> build/lib.linux-x86_64-cpython-312/falcon/testing copying falcon/testing/test_case.py -> build/lib.linux-x86_64-cpython-312/falcon/testing copying falcon/testing/srmock.py -> build/lib.linux-x86_64-cpython-312/falcon/testing copying falcon/testing/client.py -> build/lib.linux-x86_64-cpython-312/falcon/testing copying falcon/testing/helpers.py -> build/lib.linux-x86_64-cpython-312/falcon/testing copying falcon/testing/resource.py -> build/lib.linux-x86_64-cpython-312/falcon/testing creating build/lib.linux-x86_64-cpython-312/falcon/asgi copying falcon/asgi/__init__.py -> build/lib.linux-x86_64-cpython-312/falcon/asgi copying falcon/asgi/stream.py -> build/lib.linux-x86_64-cpython-312/falcon/asgi copying falcon/asgi/request.py -> build/lib.linux-x86_64-cpython-312/falcon/asgi copying falcon/asgi/response.py -> build/lib.linux-x86_64-cpython-312/falcon/asgi copying falcon/asgi/multipart.py -> build/lib.linux-x86_64-cpython-312/falcon/asgi copying falcon/asgi/ws.py -> build/lib.linux-x86_64-cpython-312/falcon/asgi copying falcon/asgi/reader.py -> build/lib.linux-x86_64-cpython-312/falcon/asgi copying falcon/asgi/app.py -> build/lib.linux-x86_64-cpython-312/falcon/asgi copying falcon/asgi/_asgi_helpers.py -> build/lib.linux-x86_64-cpython-312/falcon/asgi copying falcon/asgi/structures.py -> build/lib.linux-x86_64-cpython-312/falcon/asgi copying falcon/asgi/_request_helpers.py -> build/lib.linux-x86_64-cpython-312/falcon/asgi creating build/lib.linux-x86_64-cpython-312/falcon/media/validators copying falcon/media/validators/__init__.py -> build/lib.linux-x86_64-cpython-312/falcon/media/validators copying falcon/media/validators/jsonschema.py -> build/lib.linux-x86_64-cpython-312/falcon/media/validators creating build/lib.linux-x86_64-cpython-312/falcon/bench/queues copying falcon/bench/queues/api.py -> build/lib.linux-x86_64-cpython-312/falcon/bench/queues copying falcon/bench/queues/__init__.py -> build/lib.linux-x86_64-cpython-312/falcon/bench/queues copying falcon/bench/queues/stats.py -> build/lib.linux-x86_64-cpython-312/falcon/bench/queues copying falcon/bench/queues/claims.py -> build/lib.linux-x86_64-cpython-312/falcon/bench/queues copying falcon/bench/queues/queues.py -> build/lib.linux-x86_64-cpython-312/falcon/bench/queues copying falcon/bench/queues/messages.py -> build/lib.linux-x86_64-cpython-312/falcon/bench/queues creating build/lib.linux-x86_64-cpython-312/falcon/bench/nuts copying falcon/bench/nuts/__init__.py -> build/lib.linux-x86_64-cpython-312/falcon/bench/nuts copying falcon/bench/nuts/config.py -> build/lib.linux-x86_64-cpython-312/falcon/bench/nuts copying falcon/bench/nuts/setup.py -> build/lib.linux-x86_64-cpython-312/falcon/bench/nuts creating build/lib.linux-x86_64-cpython-312/falcon/bench/dj copying falcon/bench/dj/__init__.py -> build/lib.linux-x86_64-cpython-312/falcon/bench/dj copying falcon/bench/dj/manage.py -> build/lib.linux-x86_64-cpython-312/falcon/bench/dj creating build/lib.linux-x86_64-cpython-312/falcon/bench/nuts/nuts copying falcon/bench/nuts/nuts/__init__.py -> build/lib.linux-x86_64-cpython-312/falcon/bench/nuts/nuts copying falcon/bench/nuts/nuts/app.py -> build/lib.linux-x86_64-cpython-312/falcon/bench/nuts/nuts creating build/lib.linux-x86_64-cpython-312/falcon/bench/nuts/nuts/tests copying falcon/bench/nuts/nuts/tests/__init__.py -> build/lib.linux-x86_64-cpython-312/falcon/bench/nuts/nuts/tests copying falcon/bench/nuts/nuts/tests/test_units.py -> build/lib.linux-x86_64-cpython-312/falcon/bench/nuts/nuts/tests copying falcon/bench/nuts/nuts/tests/test_functional.py -> build/lib.linux-x86_64-cpython-312/falcon/bench/nuts/nuts/tests copying falcon/bench/nuts/nuts/tests/config.py -> build/lib.linux-x86_64-cpython-312/falcon/bench/nuts/nuts/tests creating build/lib.linux-x86_64-cpython-312/falcon/bench/nuts/nuts/model copying falcon/bench/nuts/nuts/model/__init__.py -> build/lib.linux-x86_64-cpython-312/falcon/bench/nuts/nuts/model creating build/lib.linux-x86_64-cpython-312/falcon/bench/nuts/nuts/controllers copying falcon/bench/nuts/nuts/controllers/__init__.py -> build/lib.linux-x86_64-cpython-312/falcon/bench/nuts/nuts/controllers copying falcon/bench/nuts/nuts/controllers/root.py -> build/lib.linux-x86_64-cpython-312/falcon/bench/nuts/nuts/controllers creating build/lib.linux-x86_64-cpython-312/falcon/bench/dj/hello copying falcon/bench/dj/hello/apps.py -> build/lib.linux-x86_64-cpython-312/falcon/bench/dj/hello copying falcon/bench/dj/hello/__init__.py -> build/lib.linux-x86_64-cpython-312/falcon/bench/dj/hello copying falcon/bench/dj/hello/views.py -> build/lib.linux-x86_64-cpython-312/falcon/bench/dj/hello copying falcon/bench/dj/hello/models.py -> build/lib.linux-x86_64-cpython-312/falcon/bench/dj/hello copying falcon/bench/dj/hello/admin.py -> build/lib.linux-x86_64-cpython-312/falcon/bench/dj/hello copying falcon/bench/dj/hello/tests.py -> build/lib.linux-x86_64-cpython-312/falcon/bench/dj/hello creating build/lib.linux-x86_64-cpython-312/falcon/bench/dj/dj copying falcon/bench/dj/dj/__init__.py -> build/lib.linux-x86_64-cpython-312/falcon/bench/dj/dj copying falcon/bench/dj/dj/urls.py -> build/lib.linux-x86_64-cpython-312/falcon/bench/dj/dj copying falcon/bench/dj/dj/wsgi.py -> build/lib.linux-x86_64-cpython-312/falcon/bench/dj/dj copying falcon/bench/dj/dj/settings.py -> build/lib.linux-x86_64-cpython-312/falcon/bench/dj/dj creating build/lib.linux-x86_64-cpython-312/falcon/bench/dj/hello/migrations copying falcon/bench/dj/hello/migrations/__init__.py -> build/lib.linux-x86_64-cpython-312/falcon/bench/dj/hello/migrations running 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 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-x86_64-cpython-312/falcon copying falcon/cyutil/misc.pyx -> build/lib.linux-x86_64-cpython-312/falcon/cyutil copying falcon/cyutil/reader.pyx -> build/lib.linux-x86_64-cpython-312/falcon/cyutil copying falcon/cyutil/uri.pyx -> build/lib.linux-x86_64-cpython-312/falcon/cyutil running build_ext building 'falcon.http_status' extension creating build/temp.linux-x86_64-cpython-312/falcon x86_64-linux-gnu-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.12 -c falcon/http_status.c -o build/temp.linux-x86_64-cpython-312/falcon/http_status.o x86_64-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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-cpython-312/falcon/http_status.o -L/usr/lib/x86_64-linux-gnu -o build/lib.linux-x86_64-cpython-312/falcon/http_status.cpython-312-x86_64-linux-gnu.so building 'falcon.status_codes' extension x86_64-linux-gnu-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.12 -c falcon/status_codes.c -o build/temp.linux-x86_64-cpython-312/falcon/status_codes.o x86_64-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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-cpython-312/falcon/status_codes.o -L/usr/lib/x86_64-linux-gnu -o build/lib.linux-x86_64-cpython-312/falcon/status_codes.cpython-312-x86_64-linux-gnu.so building 'falcon.constants' extension x86_64-linux-gnu-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.12 -c falcon/constants.c -o build/temp.linux-x86_64-cpython-312/falcon/constants.o x86_64-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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-cpython-312/falcon/constants.o -L/usr/lib/x86_64-linux-gnu -o build/lib.linux-x86_64-cpython-312/falcon/constants.cpython-312-x86_64-linux-gnu.so building 'falcon.http_error' extension x86_64-linux-gnu-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.12 -c falcon/http_error.c -o build/temp.linux-x86_64-cpython-312/falcon/http_error.o x86_64-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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-cpython-312/falcon/http_error.o -L/usr/lib/x86_64-linux-gnu -o build/lib.linux-x86_64-cpython-312/falcon/http_error.cpython-312-x86_64-linux-gnu.so building 'falcon.stream' extension x86_64-linux-gnu-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.12 -c falcon/stream.c -o build/temp.linux-x86_64-cpython-312/falcon/stream.o x86_64-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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-cpython-312/falcon/stream.o -L/usr/lib/x86_64-linux-gnu -o build/lib.linux-x86_64-cpython-312/falcon/stream.cpython-312-x86_64-linux-gnu.so building 'falcon.request' extension x86_64-linux-gnu-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.12 -c falcon/request.c -o build/temp.linux-x86_64-cpython-312/falcon/request.o x86_64-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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-cpython-312/falcon/request.o -L/usr/lib/x86_64-linux-gnu -o build/lib.linux-x86_64-cpython-312/falcon/request.cpython-312-x86_64-linux-gnu.so building 'falcon.response' extension x86_64-linux-gnu-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.12 -c falcon/response.c -o build/temp.linux-x86_64-cpython-312/falcon/response.o x86_64-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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-cpython-312/falcon/response.o -L/usr/lib/x86_64-linux-gnu -o build/lib.linux-x86_64-cpython-312/falcon/response.cpython-312-x86_64-linux-gnu.so building 'falcon.middleware' extension x86_64-linux-gnu-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.12 -c falcon/middleware.c -o build/temp.linux-x86_64-cpython-312/falcon/middleware.o x86_64-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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-cpython-312/falcon/middleware.o -L/usr/lib/x86_64-linux-gnu -o build/lib.linux-x86_64-cpython-312/falcon/middleware.cpython-312-x86_64-linux-gnu.so building 'falcon.typing' extension x86_64-linux-gnu-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.12 -c falcon/typing.c -o build/temp.linux-x86_64-cpython-312/falcon/typing.o x86_64-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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-cpython-312/falcon/typing.o -L/usr/lib/x86_64-linux-gnu -o build/lib.linux-x86_64-cpython-312/falcon/typing.cpython-312-x86_64-linux-gnu.so building 'falcon._typing' extension x86_64-linux-gnu-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.12 -c falcon/_typing.c -o build/temp.linux-x86_64-cpython-312/falcon/_typing.o x86_64-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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-cpython-312/falcon/_typing.o -L/usr/lib/x86_64-linux-gnu -o build/lib.linux-x86_64-cpython-312/falcon/_typing.cpython-312-x86_64-linux-gnu.so building 'falcon.request_helpers' extension x86_64-linux-gnu-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.12 -c falcon/request_helpers.c -o build/temp.linux-x86_64-cpython-312/falcon/request_helpers.o x86_64-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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-cpython-312/falcon/request_helpers.o -L/usr/lib/x86_64-linux-gnu -o build/lib.linux-x86_64-cpython-312/falcon/request_helpers.cpython-312-x86_64-linux-gnu.so building 'falcon.forwarded' extension x86_64-linux-gnu-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.12 -c falcon/forwarded.c -o build/temp.linux-x86_64-cpython-312/falcon/forwarded.o x86_64-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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-cpython-312/falcon/forwarded.o -L/usr/lib/x86_64-linux-gnu -o build/lib.linux-x86_64-cpython-312/falcon/forwarded.cpython-312-x86_64-linux-gnu.so building 'falcon.response_helpers' extension x86_64-linux-gnu-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.12 -c falcon/response_helpers.c -o build/temp.linux-x86_64-cpython-312/falcon/response_helpers.o x86_64-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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-cpython-312/falcon/response_helpers.o -L/usr/lib/x86_64-linux-gnu -o build/lib.linux-x86_64-cpython-312/falcon/response_helpers.cpython-312-x86_64-linux-gnu.so building 'falcon.version' extension x86_64-linux-gnu-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.12 -c falcon/version.c -o build/temp.linux-x86_64-cpython-312/falcon/version.o x86_64-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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-cpython-312/falcon/version.o -L/usr/lib/x86_64-linux-gnu -o build/lib.linux-x86_64-cpython-312/falcon/version.cpython-312-x86_64-linux-gnu.so building 'falcon.app_helpers' extension x86_64-linux-gnu-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.12 -c falcon/app_helpers.c -o build/temp.linux-x86_64-cpython-312/falcon/app_helpers.o x86_64-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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-cpython-312/falcon/app_helpers.o -L/usr/lib/x86_64-linux-gnu -o build/lib.linux-x86_64-cpython-312/falcon/app_helpers.cpython-312-x86_64-linux-gnu.so building 'falcon.uri' extension x86_64-linux-gnu-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.12 -c falcon/uri.c -o build/temp.linux-x86_64-cpython-312/falcon/uri.o x86_64-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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-cpython-312/falcon/uri.o -L/usr/lib/x86_64-linux-gnu -o build/lib.linux-x86_64-cpython-312/falcon/uri.cpython-312-x86_64-linux-gnu.so building 'falcon.asgi_spec' extension x86_64-linux-gnu-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.12 -c falcon/asgi_spec.c -o build/temp.linux-x86_64-cpython-312/falcon/asgi_spec.o x86_64-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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-cpython-312/falcon/asgi_spec.o -L/usr/lib/x86_64-linux-gnu -o build/lib.linux-x86_64-cpython-312/falcon/asgi_spec.cpython-312-x86_64-linux-gnu.so building 'falcon.app' extension x86_64-linux-gnu-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.12 -c falcon/app.c -o build/temp.linux-x86_64-cpython-312/falcon/app.o x86_64-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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-cpython-312/falcon/app.o -L/usr/lib/x86_64-linux-gnu -o build/lib.linux-x86_64-cpython-312/falcon/app.cpython-312-x86_64-linux-gnu.so building 'falcon.errors' extension x86_64-linux-gnu-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.12 -c falcon/errors.c -o build/temp.linux-x86_64-cpython-312/falcon/errors.o x86_64-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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-cpython-312/falcon/errors.o -L/usr/lib/x86_64-linux-gnu -o build/lib.linux-x86_64-cpython-312/falcon/errors.cpython-312-x86_64-linux-gnu.so building 'falcon.redirects' extension x86_64-linux-gnu-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.12 -c falcon/redirects.c -o build/temp.linux-x86_64-cpython-312/falcon/redirects.o x86_64-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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-cpython-312/falcon/redirects.o -L/usr/lib/x86_64-linux-gnu -o build/lib.linux-x86_64-cpython-312/falcon/redirects.cpython-312-x86_64-linux-gnu.so building 'falcon.cyutil.misc' extension creating build/temp.linux-x86_64-cpython-312/falcon/cyutil x86_64-linux-gnu-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.12 -c falcon/cyutil/misc.c -o build/temp.linux-x86_64-cpython-312/falcon/cyutil/misc.o x86_64-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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-cpython-312/falcon/cyutil/misc.o -L/usr/lib/x86_64-linux-gnu -o build/lib.linux-x86_64-cpython-312/falcon/cyutil/misc.cpython-312-x86_64-linux-gnu.so building 'falcon.cyutil.reader' extension x86_64-linux-gnu-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.12 -c falcon/cyutil/reader.c -o build/temp.linux-x86_64-cpython-312/falcon/cyutil/reader.o x86_64-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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-cpython-312/falcon/cyutil/reader.o -L/usr/lib/x86_64-linux-gnu -o build/lib.linux-x86_64-cpython-312/falcon/cyutil/reader.cpython-312-x86_64-linux-gnu.so building 'falcon.cyutil.uri' extension x86_64-linux-gnu-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.12 -c falcon/cyutil/uri.c -o build/temp.linux-x86_64-cpython-312/falcon/cyutil/uri.o x86_64-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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-cpython-312/falcon/cyutil/uri.o -L/usr/lib/x86_64-linux-gnu -o build/lib.linux-x86_64-cpython-312/falcon/cyutil/uri.cpython-312-x86_64-linux-gnu.so building 'falcon.media.handlers' extension creating build/temp.linux-x86_64-cpython-312/falcon/media x86_64-linux-gnu-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.12 -c falcon/media/handlers.c -o build/temp.linux-x86_64-cpython-312/falcon/media/handlers.o x86_64-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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-cpython-312/falcon/media/handlers.o -L/usr/lib/x86_64-linux-gnu -o build/lib.linux-x86_64-cpython-312/falcon/media/handlers.cpython-312-x86_64-linux-gnu.so building 'falcon.media.json' extension x86_64-linux-gnu-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.12 -c falcon/media/json.c -o build/temp.linux-x86_64-cpython-312/falcon/media/json.o x86_64-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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-cpython-312/falcon/media/json.o -L/usr/lib/x86_64-linux-gnu -o build/lib.linux-x86_64-cpython-312/falcon/media/json.cpython-312-x86_64-linux-gnu.so building 'falcon.media.base' extension x86_64-linux-gnu-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.12 -c falcon/media/base.c -o build/temp.linux-x86_64-cpython-312/falcon/media/base.o x86_64-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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-cpython-312/falcon/media/base.o -L/usr/lib/x86_64-linux-gnu -o build/lib.linux-x86_64-cpython-312/falcon/media/base.cpython-312-x86_64-linux-gnu.so building 'falcon.media.msgpack' extension x86_64-linux-gnu-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.12 -c falcon/media/msgpack.c -o build/temp.linux-x86_64-cpython-312/falcon/media/msgpack.o x86_64-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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-cpython-312/falcon/media/msgpack.o -L/usr/lib/x86_64-linux-gnu -o build/lib.linux-x86_64-cpython-312/falcon/media/msgpack.cpython-312-x86_64-linux-gnu.so building 'falcon.media.multipart' extension x86_64-linux-gnu-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.12 -c falcon/media/multipart.c -o build/temp.linux-x86_64-cpython-312/falcon/media/multipart.o x86_64-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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-cpython-312/falcon/media/multipart.o -L/usr/lib/x86_64-linux-gnu -o build/lib.linux-x86_64-cpython-312/falcon/media/multipart.cpython-312-x86_64-linux-gnu.so building 'falcon.media.urlencoded' extension x86_64-linux-gnu-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.12 -c falcon/media/urlencoded.c -o build/temp.linux-x86_64-cpython-312/falcon/media/urlencoded.o x86_64-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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-cpython-312/falcon/media/urlencoded.o -L/usr/lib/x86_64-linux-gnu -o build/lib.linux-x86_64-cpython-312/falcon/media/urlencoded.cpython-312-x86_64-linux-gnu.so building 'falcon.routing.static' extension creating build/temp.linux-x86_64-cpython-312/falcon/routing x86_64-linux-gnu-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.12 -c falcon/routing/static.c -o build/temp.linux-x86_64-cpython-312/falcon/routing/static.o x86_64-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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-cpython-312/falcon/routing/static.o -L/usr/lib/x86_64-linux-gnu -o build/lib.linux-x86_64-cpython-312/falcon/routing/static.cpython-312-x86_64-linux-gnu.so building 'falcon.routing.converters' extension x86_64-linux-gnu-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.12 -c falcon/routing/converters.c -o build/temp.linux-x86_64-cpython-312/falcon/routing/converters.o x86_64-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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-cpython-312/falcon/routing/converters.o -L/usr/lib/x86_64-linux-gnu -o build/lib.linux-x86_64-cpython-312/falcon/routing/converters.cpython-312-x86_64-linux-gnu.so building 'falcon.routing.util' extension x86_64-linux-gnu-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.12 -c falcon/routing/util.c -o build/temp.linux-x86_64-cpython-312/falcon/routing/util.o x86_64-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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-cpython-312/falcon/routing/util.o -L/usr/lib/x86_64-linux-gnu -o build/lib.linux-x86_64-cpython-312/falcon/routing/util.cpython-312-x86_64-linux-gnu.so building 'falcon.routing.compiled' extension x86_64-linux-gnu-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.12 -c falcon/routing/compiled.c -o build/temp.linux-x86_64-cpython-312/falcon/routing/compiled.o falcon/routing/compiled.c: In function '__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_18_generate_ast.isra': falcon/routing/compiled.c:1143:40: warning: '__pyx_v_resource_idx' may be used uninitialized [-Wmaybe-uninitialized] 1143 | #define PyInt_FromSsize_t PyLong_FromSsize_t | ^ falcon/routing/compiled.c:13230:21: note: in expansion of macro 'PyInt_FromSsize_t' 13230 | __pyx_t_4 = PyInt_FromSsize_t(__pyx_v_resource_idx); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 601, __pyx_L1_error) | ^~~~~~~~~~~~~~~~~ falcon/routing/compiled.c:10880:14: note: '__pyx_v_resource_idx' was declared here 10880 | Py_ssize_t __pyx_v_resource_idx; | ^~~~~~~~~~~~~~~~~~~~ x86_64-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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-cpython-312/falcon/routing/compiled.o -L/usr/lib/x86_64-linux-gnu -o build/lib.linux-x86_64-cpython-312/falcon/routing/compiled.cpython-312-x86_64-linux-gnu.so building 'falcon.util.mediatypes' extension creating build/temp.linux-x86_64-cpython-312/falcon/util x86_64-linux-gnu-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.12 -c falcon/util/mediatypes.c -o build/temp.linux-x86_64-cpython-312/falcon/util/mediatypes.o x86_64-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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-cpython-312/falcon/util/mediatypes.o -L/usr/lib/x86_64-linux-gnu -o build/lib.linux-x86_64-cpython-312/falcon/util/mediatypes.cpython-312-x86_64-linux-gnu.so building 'falcon.util.deprecation' extension x86_64-linux-gnu-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.12 -c falcon/util/deprecation.c -o build/temp.linux-x86_64-cpython-312/falcon/util/deprecation.o x86_64-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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-cpython-312/falcon/util/deprecation.o -L/usr/lib/x86_64-linux-gnu -o build/lib.linux-x86_64-cpython-312/falcon/util/deprecation.cpython-312-x86_64-linux-gnu.so building 'falcon.util.misc' extension x86_64-linux-gnu-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.12 -c falcon/util/misc.c -o build/temp.linux-x86_64-cpython-312/falcon/util/misc.o x86_64-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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-cpython-312/falcon/util/misc.o -L/usr/lib/x86_64-linux-gnu -o build/lib.linux-x86_64-cpython-312/falcon/util/misc.cpython-312-x86_64-linux-gnu.so building 'falcon.util.time' extension x86_64-linux-gnu-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.12 -c falcon/util/time.c -o build/temp.linux-x86_64-cpython-312/falcon/util/time.o x86_64-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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-cpython-312/falcon/util/time.o -L/usr/lib/x86_64-linux-gnu -o build/lib.linux-x86_64-cpython-312/falcon/util/time.cpython-312-x86_64-linux-gnu.so building 'falcon.util.uri' extension x86_64-linux-gnu-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.12 -c falcon/util/uri.c -o build/temp.linux-x86_64-cpython-312/falcon/util/uri.o x86_64-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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-cpython-312/falcon/util/uri.o -L/usr/lib/x86_64-linux-gnu -o build/lib.linux-x86_64-cpython-312/falcon/util/uri.cpython-312-x86_64-linux-gnu.so building 'falcon.util.structures' extension x86_64-linux-gnu-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.12 -c falcon/util/structures.c -o build/temp.linux-x86_64-cpython-312/falcon/util/structures.o x86_64-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 -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-cpython-312/falcon/util/structures.o -L/usr/lib/x86_64-linux-gnu -o build/lib.linux-x86_64-cpython-312/falcon/util/structures.cpython-312-x86_64-linux-gnu.so running install_lib copying build/lib.linux-x86_64-cpython-312/falcon/cyutil/reader.cpython-312-x86_64-linux-gnu.so -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/cyutil copying build/lib.linux-x86_64-cpython-312/falcon/cyutil/misc.cpython-312-x86_64-linux-gnu.so -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/cyutil copying build/lib.linux-x86_64-cpython-312/falcon/cyutil/uri.cpython-312-x86_64-linux-gnu.so -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/cyutil copying build/lib.linux-x86_64-cpython-312/falcon/app_helpers.cpython-312-x86_64-linux-gnu.so -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon copying build/lib.linux-x86_64-cpython-312/falcon/app.cpython-312-x86_64-linux-gnu.so -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon copying build/lib.linux-x86_64-cpython-312/falcon/redirects.cpython-312-x86_64-linux-gnu.so -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon copying build/lib.linux-x86_64-cpython-312/falcon/constants.cpython-312-x86_64-linux-gnu.so -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon copying build/lib.linux-x86_64-cpython-312/falcon/errors.cpython-312-x86_64-linux-gnu.so -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon copying build/lib.linux-x86_64-cpython-312/falcon/asgi_spec.cpython-312-x86_64-linux-gnu.so -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon copying build/lib.linux-x86_64-cpython-312/falcon/media/multipart.cpython-312-x86_64-linux-gnu.so -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/media copying build/lib.linux-x86_64-cpython-312/falcon/media/json.cpython-312-x86_64-linux-gnu.so -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/media copying build/lib.linux-x86_64-cpython-312/falcon/media/base.cpython-312-x86_64-linux-gnu.so -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/media copying build/lib.linux-x86_64-cpython-312/falcon/media/msgpack.cpython-312-x86_64-linux-gnu.so -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/media copying build/lib.linux-x86_64-cpython-312/falcon/media/urlencoded.cpython-312-x86_64-linux-gnu.so -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/media copying build/lib.linux-x86_64-cpython-312/falcon/media/handlers.cpython-312-x86_64-linux-gnu.so -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/media copying build/lib.linux-x86_64-cpython-312/falcon/status_codes.cpython-312-x86_64-linux-gnu.so -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon copying build/lib.linux-x86_64-cpython-312/falcon/version.cpython-312-x86_64-linux-gnu.so -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon copying build/lib.linux-x86_64-cpython-312/falcon/response_helpers.cpython-312-x86_64-linux-gnu.so -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon copying build/lib.linux-x86_64-cpython-312/falcon/http_status.cpython-312-x86_64-linux-gnu.so -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon copying build/lib.linux-x86_64-cpython-312/falcon/typing.cpython-312-x86_64-linux-gnu.so -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon copying build/lib.linux-x86_64-cpython-312/falcon/routing/static.cpython-312-x86_64-linux-gnu.so -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/routing copying build/lib.linux-x86_64-cpython-312/falcon/routing/converters.cpython-312-x86_64-linux-gnu.so -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/routing copying build/lib.linux-x86_64-cpython-312/falcon/routing/util.cpython-312-x86_64-linux-gnu.so -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/routing copying build/lib.linux-x86_64-cpython-312/falcon/routing/compiled.cpython-312-x86_64-linux-gnu.so -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/routing copying build/lib.linux-x86_64-cpython-312/falcon/response.cpython-312-x86_64-linux-gnu.so -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon copying build/lib.linux-x86_64-cpython-312/falcon/forwarded.cpython-312-x86_64-linux-gnu.so -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon copying build/lib.linux-x86_64-cpython-312/falcon/middleware.cpython-312-x86_64-linux-gnu.so -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon copying build/lib.linux-x86_64-cpython-312/falcon/util/misc.cpython-312-x86_64-linux-gnu.so -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/util copying build/lib.linux-x86_64-cpython-312/falcon/util/mediatypes.cpython-312-x86_64-linux-gnu.so -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/util copying build/lib.linux-x86_64-cpython-312/falcon/util/uri.cpython-312-x86_64-linux-gnu.so -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/util copying build/lib.linux-x86_64-cpython-312/falcon/util/time.cpython-312-x86_64-linux-gnu.so -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/util copying build/lib.linux-x86_64-cpython-312/falcon/util/deprecation.cpython-312-x86_64-linux-gnu.so -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/util copying build/lib.linux-x86_64-cpython-312/falcon/util/structures.cpython-312-x86_64-linux-gnu.so -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/util copying build/lib.linux-x86_64-cpython-312/falcon/uri.cpython-312-x86_64-linux-gnu.so -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon copying build/lib.linux-x86_64-cpython-312/falcon/stream.cpython-312-x86_64-linux-gnu.so -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon copying build/lib.linux-x86_64-cpython-312/falcon/request.cpython-312-x86_64-linux-gnu.so -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon copying build/lib.linux-x86_64-cpython-312/falcon/request_helpers.cpython-312-x86_64-linux-gnu.so -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon copying build/lib.linux-x86_64-cpython-312/falcon/_typing.cpython-312-x86_64-linux-gnu.so -> /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon copying build/lib.linux-x86_64-cpython-312/falcon/http_error.cpython-312-x86_64-linux-gnu.so -> /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/cyutil/__init__.py to __init__.cpython-312.pyc byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/__init__.py to __init__.cpython-312.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-312.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-312.pyc byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/constants.py to constants.cpython-312.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-312.pyc byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/stream.py to stream.cpython-312.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-312.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-312.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-312.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-312.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-312.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-312.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-312.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-312.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-312.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-312.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-312.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-312.pyc byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/request.py to request.cpython-312.pyc byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/response.py to response.cpython-312.pyc byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/middleware.py to middleware.cpython-312.pyc byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/responders.py to responders.cpython-312.pyc byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/typing.py to typing.cpython-312.pyc byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/_typing.py to _typing.cpython-312.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-312.pyc byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/forwarded.py to forwarded.cpython-312.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-312.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-312.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-312.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-312.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-312.pyc byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/inspect.py to inspect.cpython-312.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-312.pyc byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/version.py to version.cpython-312.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-312.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-312.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-312.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-312.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-312.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-312.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-312.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-312.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-312.pyc byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/hooks.py to hooks.cpython-312.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-312.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-312.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-312.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-312.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-312.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-312.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-312.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-312.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-312.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-312.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-312.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-312.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-312.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-312.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-312.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-312.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-312.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-312.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-312.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-312.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-312.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-312.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-312.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-312.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-312.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-312.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-312.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-312.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-312.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-312.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-312.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-312.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-312.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-312.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-312.pyc byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/uri.py to uri.cpython-312.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-312.pyc byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/app.py to app.cpython-312.pyc byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/errors.py to errors.cpython-312.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-312.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-312.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-312.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-312.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-312.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-312.pyc byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/redirects.py to redirects.cpython-312.pyc byte-compiling /build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon/asgi/__init__.py to __init__.cpython-312.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-312.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-312.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-312.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-312.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-312.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-312.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-312.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-312.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-312.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-312.pyc running install_egg_info removing '/build/reproducible-path/python-falcon-4.0.2/debian/tmp/usr/lib/python3/dist-packages/falcon-4.0.2.egg-info' (and everything under it) 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 3.12 ; 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.0, pytest-8.3.3, pluggy-1.5.0 -- /usr/bin/python3.13 cachedir: .pytest_cache rootdir: /build/reproducible-path/python-falcon-4.0.2 configfile: pyproject.toml plugins: anyio-4.6.2, typeguard-4.4.1 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] 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:58: 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 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:58: 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-0.1_amd64.deb'. dpkg-deb: building package 'python3-falcon' in '../python3-falcon_4.0.2-0.1_amd64.deb'. dpkg-genbuildinfo --build=binary -O../python-falcon_4.0.2-0.1_amd64.buildinfo dpkg-genchanges --build=binary -O../python-falcon_4.0.2-0.1_amd64.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: including full 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/3566123 and its subdirectories I: Current time: Sun Nov 24 20:19:01 -12 2024 I: pbuilder-time-stamp: 1732522741