I: pbuilder: network access will be disabled during build
I: Current time: Fri Dec 20 21:25:30 +14 2024
I: pbuilder-time-stamp: 1734679530
I: Building the build Environment
I: extracting base tarball [/var/cache/pbuilder/unstable-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_3.1.1-5.dsc]
I: copying [./python-falcon_3.1.1.orig.tar.xz]
I: copying [./python-falcon_3.1.1-5.debian.tar.xz]
I: Extracting source
gpgv: Signature made Thu Dec 19 09:57:25 2024 
gpgv:                using RSA key A0B1A9F3508956130E7A425CD416AD15AC6B43FE
gpgv: Can't check signature: No public key
dpkg-source: warning: cannot verify inline signature for ./python-falcon_3.1.1-5.dsc: no acceptable signature found
dpkg-source: info: extracting python-falcon in python-falcon-3.1.1
dpkg-source: info: unpacking python-falcon_3.1.1.orig.tar.xz
dpkg-source: info: unpacking python-falcon_3.1.1-5.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
dpkg-source: info: applying python3.13.patch
I: Not using root during the build.
I: Installing the build-deps
I: user script /srv/workspace/pbuilder/7301/tmp/hooks/D01_modify_environment starting
debug: Running on virt32a.
I: Changing host+domainname to test build reproducibility
I: Adding a custom variable just for the fun of it...
I: Changing /bin/sh to bash
'/bin/sh' -> '/bin/bash'
lrwxrwxrwx 1 root root 9 Dec 20 07:25 /bin/sh -> /bin/bash
I: Setting pbuilder2's login shell to /bin/bash
I: Setting pbuilder2's GECOS to second user,second room,second work-phone,second home-phone,second other
I: user script /srv/workspace/pbuilder/7301/tmp/hooks/D01_modify_environment finished
I: user script /srv/workspace/pbuilder/7301/tmp/hooks/D02_print_environment starting
I: set
  BASH=/bin/sh
  BASHOPTS=checkwinsize:cmdhist:complete_fullquote:extquote:force_fignore:globasciiranges:globskipdots:hostcomplete:interactive_comments:patsub_replacement:progcomp:promptvars:sourcepath
  BASH_ALIASES=()
  BASH_ARGC=()
  BASH_ARGV=()
  BASH_CMDS=()
  BASH_LINENO=([0]="12" [1]="0")
  BASH_LOADABLES_PATH=/usr/local/lib/bash:/usr/lib/bash:/opt/local/lib/bash:/usr/pkg/lib/bash:/opt/pkg/lib/bash:.
  BASH_SOURCE=([0]="/tmp/hooks/D02_print_environment" [1]="/tmp/hooks/D02_print_environment")
  BASH_VERSINFO=([0]="5" [1]="2" [2]="37" [3]="1" [4]="release" [5]="arm-unknown-linux-gnueabihf")
  BASH_VERSION='5.2.37(1)-release'
  BUILDDIR=/build/reproducible-path
  BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other'
  BUILDUSERNAME=pbuilder2
  BUILD_ARCH=armhf
  DEBIAN_FRONTEND=noninteractive
  DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=4 '
  DIRSTACK=()
  DISTRIBUTION=unstable
  EUID=0
  FUNCNAME=([0]="Echo" [1]="main")
  GROUPS=()
  HOME=/root
  HOSTNAME=i-capture-the-hostname
  HOSTTYPE=arm
  HOST_ARCH=armhf
  IFS=' 	
  '
  INVOCATION_ID=e30abe8790994e6d979e75ce1a51c7d9
  LANG=C
  LANGUAGE=it_CH:it
  LC_ALL=C
  MACHTYPE=arm-unknown-linux-gnueabihf
  MAIL=/var/mail/root
  OPTERR=1
  OPTIND=1
  OSTYPE=linux-gnueabihf
  PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path
  PBCURRENTCOMMANDLINEOPERATION=build
  PBUILDER_OPERATION=build
  PBUILDER_PKGDATADIR=/usr/share/pbuilder
  PBUILDER_PKGLIBDIR=/usr/lib/pbuilder
  PBUILDER_SYSCONFDIR=/etc
  PIPESTATUS=([0]="0")
  POSIXLY_CORRECT=y
  PPID=7301
  PS4='+ '
  PWD=/
  SHELL=/bin/bash
  SHELLOPTS=braceexpand:errexit:hashall:interactive-comments:posix
  SHLVL=3
  SUDO_COMMAND='/usr/bin/timeout -k 24.1h 24h /usr/bin/ionice -c 3 /usr/bin/nice -n 11 /usr/bin/unshare --uts -- /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.peWKoRDc/pbuilderrc_pySp --distribution unstable --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/unstable-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.peWKoRDc/b2 --logfile b2/build.log python-falcon_3.1.1-5.dsc'
  SUDO_GID=113
  SUDO_UID=107
  SUDO_USER=jenkins
  TERM=unknown
  TZ=/usr/share/zoneinfo/Etc/GMT-14
  UID=0
  USER=root
  _='I: set'
  http_proxy=http://10.0.0.15:3142/
I: uname -a
  Linux i-capture-the-hostname 6.1.0-28-armmp-lpae #1 SMP Debian 6.1.119-1 (2024-11-22) armv7l GNU/Linux
I: ls -l /bin
  lrwxrwxrwx 1 root root 7 Nov 22 14:40 /bin -> usr/bin
I: user script /srv/workspace/pbuilder/7301/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: armhf
Maintainer: Debian Pbuilder Team <pbuilder-maint@lists.alioth.debian.org>
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 ... 19681 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 57.0 MB of archives. After unpacking 222 MB will be used.
Writing extended state information...
Get: 1 http://deb.debian.org/debian unstable/main armhf libpython3.12-minimal armhf 3.12.8-3 [802 kB]
Get: 2 http://deb.debian.org/debian unstable/main armhf libexpat1 armhf 2.6.4-1 [83.5 kB]
Get: 3 http://deb.debian.org/debian unstable/main armhf python3.12-minimal armhf 3.12.8-3 [1794 kB]
Get: 4 http://deb.debian.org/debian unstable/main armhf python3-minimal armhf 3.12.7-1 [26.8 kB]
Get: 5 http://deb.debian.org/debian unstable/main armhf media-types all 10.1.0 [26.9 kB]
Get: 6 http://deb.debian.org/debian unstable/main armhf netbase all 6.4 [12.8 kB]
Get: 7 http://deb.debian.org/debian unstable/main armhf tzdata all 2024b-4 [256 kB]
Get: 8 http://deb.debian.org/debian unstable/main armhf libkrb5support0 armhf 1.21.3-3 [30.0 kB]
Get: 9 http://deb.debian.org/debian unstable/main armhf libcom-err2 armhf 1.47.2~rc1-2 [22.9 kB]
Get: 10 http://deb.debian.org/debian unstable/main armhf libk5crypto3 armhf 1.21.3-3 [75.8 kB]
Get: 11 http://deb.debian.org/debian unstable/main armhf libkeyutils1 armhf 1.6.3-4 [8096 B]
Get: 12 http://deb.debian.org/debian unstable/main armhf libkrb5-3 armhf 1.21.3-3 [283 kB]
Get: 13 http://deb.debian.org/debian unstable/main armhf libgssapi-krb5-2 armhf 1.21.3-3 [114 kB]
Get: 14 http://deb.debian.org/debian unstable/main armhf libtirpc-common all 1.3.4+ds-1.3 [10.9 kB]
Get: 15 http://deb.debian.org/debian unstable/main armhf libtirpc3t64 armhf 1.3.4+ds-1.3+b1 [71.3 kB]
Get: 16 http://deb.debian.org/debian unstable/main armhf libnsl2 armhf 1.3.0-3+b3 [35.0 kB]
Get: 17 http://deb.debian.org/debian unstable/main armhf readline-common all 8.2-6 [69.4 kB]
Get: 18 http://deb.debian.org/debian unstable/main armhf libreadline8t64 armhf 8.2-6 [146 kB]
Get: 19 http://deb.debian.org/debian unstable/main armhf libpython3.12-stdlib armhf 3.12.8-3 [1824 kB]
Get: 20 http://deb.debian.org/debian unstable/main armhf python3.12 armhf 3.12.8-3 [677 kB]
Get: 21 http://deb.debian.org/debian unstable/main armhf libpython3-stdlib armhf 3.12.7-1 [9712 B]
Get: 22 http://deb.debian.org/debian unstable/main armhf python3 armhf 3.12.7-1 [27.8 kB]
Get: 23 http://deb.debian.org/debian unstable/main armhf libpython3.13-minimal armhf 3.13.1-2 [844 kB]
Get: 24 http://deb.debian.org/debian unstable/main armhf python3.13-minimal armhf 3.13.1-2 [1838 kB]
Get: 25 http://deb.debian.org/debian unstable/main armhf sensible-utils all 0.0.24 [24.8 kB]
Get: 26 http://deb.debian.org/debian unstable/main armhf openssl armhf 3.3.2-2 [1348 kB]
Get: 27 http://deb.debian.org/debian unstable/main armhf ca-certificates all 20240203 [158 kB]
Get: 28 http://deb.debian.org/debian unstable/main armhf libmagic-mgc armhf 1:5.45-3+b1 [314 kB]
Get: 29 http://deb.debian.org/debian unstable/main armhf libmagic1t64 armhf 1:5.45-3+b1 [98.5 kB]
Get: 30 http://deb.debian.org/debian unstable/main armhf file armhf 1:5.45-3+b1 [42.3 kB]
Get: 31 http://deb.debian.org/debian unstable/main armhf gettext-base armhf 0.22.5-3 [195 kB]
Get: 32 http://deb.debian.org/debian unstable/main armhf libuchardet0 armhf 0.0.8-1+b2 [65.6 kB]
Get: 33 http://deb.debian.org/debian unstable/main armhf groff-base armhf 1.23.0-6 [1091 kB]
Get: 34 http://deb.debian.org/debian unstable/main armhf bsdextrautils armhf 2.40.2-12 [83.9 kB]
Get: 35 http://deb.debian.org/debian unstable/main armhf libpipeline1 armhf 1.5.8-1 [35.0 kB]
Get: 36 http://deb.debian.org/debian unstable/main armhf man-db armhf 2.13.0-1 [1382 kB]
Get: 37 http://deb.debian.org/debian unstable/main armhf m4 armhf 1.4.19-4 [264 kB]
Get: 38 http://deb.debian.org/debian unstable/main armhf autoconf all 2.72-3 [493 kB]
Get: 39 http://deb.debian.org/debian unstable/main armhf autotools-dev all 20220109.1 [51.6 kB]
Get: 40 http://deb.debian.org/debian unstable/main armhf automake all 1:1.16.5-1.3 [823 kB]
Get: 41 http://deb.debian.org/debian unstable/main armhf autopoint all 0.22.5-3 [723 kB]
Get: 42 http://deb.debian.org/debian unstable/main armhf cython3 armhf 3.0.11+dfsg-1+b1 [2812 kB]
Get: 43 http://deb.debian.org/debian unstable/main armhf libdebhelper-perl all 13.22 [90.5 kB]
Get: 44 http://deb.debian.org/debian unstable/main armhf libtool all 2.4.7-8 [517 kB]
Get: 45 http://deb.debian.org/debian unstable/main armhf dh-autoreconf all 20 [17.1 kB]
Get: 46 http://deb.debian.org/debian unstable/main armhf libarchive-zip-perl all 1.68-1 [104 kB]
Get: 47 http://deb.debian.org/debian unstable/main armhf libfile-stripnondeterminism-perl all 1.14.0-1 [19.5 kB]
Get: 48 http://deb.debian.org/debian unstable/main armhf dh-strip-nondeterminism all 1.14.0-1 [8448 B]
Get: 49 http://deb.debian.org/debian unstable/main armhf libelf1t64 armhf 0.192-4 [184 kB]
Get: 50 http://deb.debian.org/debian unstable/main armhf dwz armhf 0.15-1+b2 [106 kB]
Get: 51 http://deb.debian.org/debian unstable/main armhf libicu72 armhf 72.1-5+b1 [9088 kB]
Get: 52 http://deb.debian.org/debian unstable/main armhf libxml2 armhf 2.12.7+dfsg+really2.9.14-0.2+b1 [605 kB]
Get: 53 http://deb.debian.org/debian unstable/main armhf gettext armhf 0.22.5-3 [1488 kB]
Get: 54 http://deb.debian.org/debian unstable/main armhf intltool-debian all 0.35.0+20060710.6 [22.9 kB]
Get: 55 http://deb.debian.org/debian unstable/main armhf po-debconf all 1.0.21+nmu1 [248 kB]
Get: 56 http://deb.debian.org/debian unstable/main armhf debhelper all 13.22 [919 kB]
Get: 57 http://deb.debian.org/debian unstable/main armhf python3-autocommand all 2.2.2-3 [13.6 kB]
Get: 58 http://deb.debian.org/debian unstable/main armhf python3-more-itertools all 10.5.0-1 [63.8 kB]
Get: 59 http://deb.debian.org/debian unstable/main armhf python3-typing-extensions all 4.12.2-2 [73.0 kB]
Get: 60 http://deb.debian.org/debian unstable/main armhf python3-typeguard all 4.4.1-1 [37.0 kB]
Get: 61 http://deb.debian.org/debian unstable/main armhf python3-inflect all 7.3.1-2 [32.4 kB]
Get: 62 http://deb.debian.org/debian unstable/main armhf python3-jaraco.context all 6.0.0-1 [7984 B]
Get: 63 http://deb.debian.org/debian unstable/main armhf python3-jaraco.functools all 4.1.0-1 [12.0 kB]
Get: 64 http://deb.debian.org/debian unstable/main armhf python3-pkg-resources all 75.6.0-1 [222 kB]
Get: 65 http://deb.debian.org/debian unstable/main armhf python3-jaraco.text all 4.0.0-1 [11.4 kB]
Get: 66 http://deb.debian.org/debian unstable/main armhf python3-zipp all 3.21.0-1 [10.6 kB]
Get: 67 http://deb.debian.org/debian unstable/main armhf python3-setuptools all 75.6.0-1 [720 kB]
Get: 68 http://deb.debian.org/debian unstable/main armhf dh-python all 6.20241217 [113 kB]
Get: 69 http://deb.debian.org/debian unstable/main armhf libonig5 armhf 6.9.9-1+b1 [168 kB]
Get: 70 http://deb.debian.org/debian unstable/main armhf libjq1 armhf 1.7.1-3+b1 [156 kB]
Get: 71 http://deb.debian.org/debian unstable/main armhf jq armhf 1.7.1-3+b1 [77.6 kB]
Get: 72 http://deb.debian.org/debian unstable/main armhf libdouble-conversion3 armhf 3.3.0-1+b2 [39.2 kB]
Get: 73 http://deb.debian.org/debian unstable/main armhf libexpat1-dev armhf 2.6.4-1 [140 kB]
Get: 74 http://deb.debian.org/debian unstable/main armhf libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [326 kB]
Get: 75 http://deb.debian.org/debian unstable/main armhf libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [116 kB]
Get: 76 http://deb.debian.org/debian unstable/main armhf libjs-sphinxdoc all 8.1.3-2 [30.3 kB]
Get: 77 http://deb.debian.org/debian unstable/main armhf libpython3.12t64 armhf 3.12.8-3 [1849 kB]
Get: 78 http://deb.debian.org/debian unstable/main armhf zlib1g-dev armhf 1:1.3.dfsg+really1.3.1-1+b1 [905 kB]
Get: 79 http://deb.debian.org/debian unstable/main armhf libpython3.12-dev armhf 3.12.8-3 [3812 kB]
Get: 80 http://deb.debian.org/debian unstable/main armhf libpython3-dev armhf 3.12.7-1 [9976 B]
Get: 81 http://deb.debian.org/debian unstable/main armhf libpython3.13-stdlib armhf 3.13.1-2 [1846 kB]
Get: 82 http://deb.debian.org/debian unstable/main armhf libpython3.13 armhf 3.13.1-2 [1870 kB]
Get: 83 http://deb.debian.org/debian unstable/main armhf libpython3.13-dev armhf 3.13.1-2 [3801 kB]
Get: 84 http://deb.debian.org/debian unstable/main armhf libpython3-all-dev armhf 3.12.7-1 [1072 B]
Get: 85 http://deb.debian.org/debian unstable/main armhf libuv1t64 armhf 1.48.0-7 [134 kB]
Get: 86 http://deb.debian.org/debian unstable/main armhf libyaml-0-2 armhf 0.2.5-2 [45.4 kB]
Get: 87 http://deb.debian.org/debian unstable/main armhf lsb-release all 12.1-1 [5912 B]
Get: 88 http://deb.debian.org/debian unstable/main armhf python3-wheel all 0.45.1-1 [56.7 kB]
Get: 89 http://deb.debian.org/debian unstable/main armhf python3-pip all 24.3.1+dfsg-1 [1441 kB]
Get: 90 http://deb.debian.org/debian unstable/main armhf openstack-pkg-tools all 130 [96.4 kB]
Get: 91 http://deb.debian.org/debian unstable/main armhf python3-aiofiles all 24.1.0-1 [10.6 kB]
Get: 92 http://deb.debian.org/debian unstable/main armhf python3.13 armhf 3.13.1-2 [740 kB]
Get: 93 http://deb.debian.org/debian unstable/main armhf python3-all armhf 3.12.7-1 [1052 B]
Get: 94 http://deb.debian.org/debian unstable/main armhf python3.12-dev armhf 3.12.8-3 [506 kB]
Get: 95 http://deb.debian.org/debian unstable/main armhf python3-dev armhf 3.12.7-1 [26.1 kB]
Get: 96 http://deb.debian.org/debian unstable/main armhf python3.13-dev armhf 3.13.1-2 [505 kB]
Get: 97 http://deb.debian.org/debian unstable/main armhf python3-all-dev armhf 3.12.7-1 [1076 B]
Get: 98 http://deb.debian.org/debian unstable/main armhf python3-idna all 3.8-2 [41.6 kB]
Get: 99 http://deb.debian.org/debian unstable/main armhf python3-sniffio all 1.3.1-1 [7120 B]
Get: 100 http://deb.debian.org/debian unstable/main armhf python3-anyio all 4.6.2-4 [60.0 kB]
Get: 101 http://deb.debian.org/debian unstable/main armhf python3-asgiref all 3.8.1-1 [28.8 kB]
Get: 102 http://deb.debian.org/debian unstable/main armhf python3-attr all 24.2.0-1 [68.4 kB]
Get: 103 http://deb.debian.org/debian unstable/main armhf python3-cbor2 armhf 5.6.5-1 [21.1 kB]
Get: 104 http://deb.debian.org/debian unstable/main armhf python3-certifi all 2024.8.30+dfsg-1 [9576 B]
Get: 105 http://deb.debian.org/debian unstable/main armhf python3-chardet all 5.2.0+dfsg-1 [107 kB]
Get: 106 http://deb.debian.org/debian unstable/main armhf python3-charset-normalizer armhf 3.4.0-1+b1 [126 kB]
Get: 107 http://deb.debian.org/debian unstable/main armhf python3-colorama all 0.4.6-4 [36.2 kB]
Get: 108 http://deb.debian.org/debian unstable/main armhf python3-click all 8.1.7-2 [94.3 kB]
Get: 109 http://deb.debian.org/debian unstable/main armhf python3-coverage armhf 7.6.0+dfsg1-2+b1 [176 kB]
Get: 110 http://deb.debian.org/debian unstable/main armhf python3-ddt all 1.7.2-3 [8636 B]
Get: 111 http://deb.debian.org/debian unstable/main armhf python3-pbr all 6.1.0-4 [56.6 kB]
Get: 112 http://deb.debian.org/debian unstable/main armhf python3-testtools all 2.7.2-4 [122 kB]
Get: 113 http://deb.debian.org/debian unstable/main armhf python3-fixtures all 4.1.0-3 [34.2 kB]
Get: 114 http://deb.debian.org/debian unstable/main armhf python3-h11 all 0.14.0-1 [50.1 kB]
Get: 115 http://deb.debian.org/debian unstable/main armhf python3-httpcore all 1.0.7-1 [44.7 kB]
Get: 116 http://deb.debian.org/debian unstable/main armhf python3-pygments all 2.18.0+dfsg-1 [836 kB]
Get: 117 http://deb.debian.org/debian unstable/main armhf python3-mdurl all 0.1.2-1 [9444 B]
Get: 118 http://deb.debian.org/debian unstable/main armhf python3-markdown-it all 3.0.0-2 [62.5 kB]
Get: 119 http://deb.debian.org/debian unstable/main armhf python3-rich all 13.7.1-1 [201 kB]
Get: 120 http://deb.debian.org/debian unstable/main armhf python3-httpx all 0.27.2-1 [77.6 kB]
Get: 121 http://deb.debian.org/debian unstable/main armhf python3-iniconfig all 1.1.1-2 [6396 B]
Get: 122 http://deb.debian.org/debian unstable/main armhf python3-rpds-py armhf 0.21.0-2 [255 kB]
Get: 123 http://deb.debian.org/debian unstable/main armhf python3-referencing all 0.35.1-2 [23.5 kB]
Get: 124 http://deb.debian.org/debian unstable/main armhf python3-jsonschema-specifications all 2023.12.1-2 [9020 B]
Get: 125 http://deb.debian.org/debian unstable/main armhf python3-jsonschema all 4.19.2-5 [71.4 kB]
Get: 126 http://deb.debian.org/debian unstable/main armhf python3-mimeparse all 2.0.0-1 [7196 B]
Get: 127 http://deb.debian.org/debian unstable/main armhf python3-msgpack armhf 1.0.3-3+b3 [101 kB]
Get: 128 http://deb.debian.org/debian unstable/main armhf python3-mujson all 1.4-4 [7632 B]
Get: 129 http://deb.debian.org/debian unstable/main armhf python3-packaging all 24.2-1 [55.3 kB]
Get: 130 http://deb.debian.org/debian unstable/main armhf python3-pluggy all 1.5.0-1 [26.9 kB]
Get: 131 http://deb.debian.org/debian unstable/main armhf python3-pytest all 8.3.4-1 [250 kB]
Get: 132 http://deb.debian.org/debian unstable/main armhf python3-rapidjson armhf 1.4-3 [171 kB]
Get: 133 http://deb.debian.org/debian unstable/main armhf python3-urllib3 all 2.2.3-4 [112 kB]
Get: 134 http://deb.debian.org/debian unstable/main armhf python3-requests all 2.32.3+dfsg-1 [71.9 kB]
Get: 135 http://deb.debian.org/debian unstable/main armhf python3-ujson armhf 5.10.0-1+b3 [22.9 kB]
Get: 136 http://deb.debian.org/debian unstable/main armhf python3-wsproto all 1.2.0-1 [25.4 kB]
Get: 137 http://deb.debian.org/debian unstable/main armhf python3-uvloop armhf 0.21.0+ds1-1+b1 [690 kB]
Get: 138 http://deb.debian.org/debian unstable/main armhf python3-uvicorn all 0.32.0-2 [50.8 kB]
Get: 139 http://deb.debian.org/debian unstable/main armhf python3-websockets armhf 14.1-1 [88.9 kB]
Get: 140 http://deb.debian.org/debian unstable/main armhf python3-yaml armhf 6.0.2-1+b1 [158 kB]
Get: 141 http://deb.debian.org/debian unstable/main armhf uvicorn all 0.32.0-2 [14.6 kB]
Fetched 57.0 MB in 1s (42.7 MB/s)
debconf: delaying package configuration, since apt-utils is not installed
Selecting previously unselected package libpython3.12-minimal:armhf.
(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 ... 19681 files and directories currently installed.)
Preparing to unpack .../libpython3.12-minimal_3.12.8-3_armhf.deb ...
Unpacking libpython3.12-minimal:armhf (3.12.8-3) ...
Selecting previously unselected package libexpat1:armhf.
Preparing to unpack .../libexpat1_2.6.4-1_armhf.deb ...
Unpacking libexpat1:armhf (2.6.4-1) ...
Selecting previously unselected package python3.12-minimal.
Preparing to unpack .../python3.12-minimal_3.12.8-3_armhf.deb ...
Unpacking python3.12-minimal (3.12.8-3) ...
Setting up libpython3.12-minimal:armhf (3.12.8-3) ...
Setting up libexpat1:armhf (2.6.4-1) ...
Setting up python3.12-minimal (3.12.8-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 ... 20001 files and directories currently installed.)
Preparing to unpack .../00-python3-minimal_3.12.7-1_armhf.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-4_all.deb ...
Unpacking tzdata (2024b-4) ...
Selecting previously unselected package libkrb5support0:armhf.
Preparing to unpack .../04-libkrb5support0_1.21.3-3_armhf.deb ...
Unpacking libkrb5support0:armhf (1.21.3-3) ...
Selecting previously unselected package libcom-err2:armhf.
Preparing to unpack .../05-libcom-err2_1.47.2~rc1-2_armhf.deb ...
Unpacking libcom-err2:armhf (1.47.2~rc1-2) ...
Selecting previously unselected package libk5crypto3:armhf.
Preparing to unpack .../06-libk5crypto3_1.21.3-3_armhf.deb ...
Unpacking libk5crypto3:armhf (1.21.3-3) ...
Selecting previously unselected package libkeyutils1:armhf.
Preparing to unpack .../07-libkeyutils1_1.6.3-4_armhf.deb ...
Unpacking libkeyutils1:armhf (1.6.3-4) ...
Selecting previously unselected package libkrb5-3:armhf.
Preparing to unpack .../08-libkrb5-3_1.21.3-3_armhf.deb ...
Unpacking libkrb5-3:armhf (1.21.3-3) ...
Selecting previously unselected package libgssapi-krb5-2:armhf.
Preparing to unpack .../09-libgssapi-krb5-2_1.21.3-3_armhf.deb ...
Unpacking libgssapi-krb5-2:armhf (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:armhf.
Preparing to unpack .../11-libtirpc3t64_1.3.4+ds-1.3+b1_armhf.deb ...
Adding 'diversion of /lib/arm-linux-gnueabihf/libtirpc.so.3 to /lib/arm-linux-gnueabihf/libtirpc.so.3.usr-is-merged by libtirpc3t64'
Adding 'diversion of /lib/arm-linux-gnueabihf/libtirpc.so.3.0.0 to /lib/arm-linux-gnueabihf/libtirpc.so.3.0.0.usr-is-merged by libtirpc3t64'
Unpacking libtirpc3t64:armhf (1.3.4+ds-1.3+b1) ...
Selecting previously unselected package libnsl2:armhf.
Preparing to unpack .../12-libnsl2_1.3.0-3+b3_armhf.deb ...
Unpacking libnsl2:armhf (1.3.0-3+b3) ...
Selecting previously unselected package readline-common.
Preparing to unpack .../13-readline-common_8.2-6_all.deb ...
Unpacking readline-common (8.2-6) ...
Selecting previously unselected package libreadline8t64:armhf.
Preparing to unpack .../14-libreadline8t64_8.2-6_armhf.deb ...
Adding 'diversion of /lib/arm-linux-gnueabihf/libhistory.so.8 to /lib/arm-linux-gnueabihf/libhistory.so.8.usr-is-merged by libreadline8t64'
Adding 'diversion of /lib/arm-linux-gnueabihf/libhistory.so.8.2 to /lib/arm-linux-gnueabihf/libhistory.so.8.2.usr-is-merged by libreadline8t64'
Adding 'diversion of /lib/arm-linux-gnueabihf/libreadline.so.8 to /lib/arm-linux-gnueabihf/libreadline.so.8.usr-is-merged by libreadline8t64'
Adding 'diversion of /lib/arm-linux-gnueabihf/libreadline.so.8.2 to /lib/arm-linux-gnueabihf/libreadline.so.8.2.usr-is-merged by libreadline8t64'
Unpacking libreadline8t64:armhf (8.2-6) ...
Selecting previously unselected package libpython3.12-stdlib:armhf.
Preparing to unpack .../15-libpython3.12-stdlib_3.12.8-3_armhf.deb ...
Unpacking libpython3.12-stdlib:armhf (3.12.8-3) ...
Selecting previously unselected package python3.12.
Preparing to unpack .../16-python3.12_3.12.8-3_armhf.deb ...
Unpacking python3.12 (3.12.8-3) ...
Selecting previously unselected package libpython3-stdlib:armhf.
Preparing to unpack .../17-libpython3-stdlib_3.12.7-1_armhf.deb ...
Unpacking libpython3-stdlib:armhf (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 ... 21064 files and directories currently installed.)
Preparing to unpack .../000-python3_3.12.7-1_armhf.deb ...
Unpacking python3 (3.12.7-1) ...
Selecting previously unselected package libpython3.13-minimal:armhf.
Preparing to unpack .../001-libpython3.13-minimal_3.13.1-2_armhf.deb ...
Unpacking libpython3.13-minimal:armhf (3.13.1-2) ...
Selecting previously unselected package python3.13-minimal.
Preparing to unpack .../002-python3.13-minimal_3.13.1-2_armhf.deb ...
Unpacking python3.13-minimal (3.13.1-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_armhf.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_armhf.deb ...
Unpacking libmagic-mgc (1:5.45-3+b1) ...
Selecting previously unselected package libmagic1t64:armhf.
Preparing to unpack .../007-libmagic1t64_1%3a5.45-3+b1_armhf.deb ...
Unpacking libmagic1t64:armhf (1:5.45-3+b1) ...
Selecting previously unselected package file.
Preparing to unpack .../008-file_1%3a5.45-3+b1_armhf.deb ...
Unpacking file (1:5.45-3+b1) ...
Selecting previously unselected package gettext-base.
Preparing to unpack .../009-gettext-base_0.22.5-3_armhf.deb ...
Unpacking gettext-base (0.22.5-3) ...
Selecting previously unselected package libuchardet0:armhf.
Preparing to unpack .../010-libuchardet0_0.0.8-1+b2_armhf.deb ...
Unpacking libuchardet0:armhf (0.0.8-1+b2) ...
Selecting previously unselected package groff-base.
Preparing to unpack .../011-groff-base_1.23.0-6_armhf.deb ...
Unpacking groff-base (1.23.0-6) ...
Selecting previously unselected package bsdextrautils.
Preparing to unpack .../012-bsdextrautils_2.40.2-12_armhf.deb ...
Unpacking bsdextrautils (2.40.2-12) ...
Selecting previously unselected package libpipeline1:armhf.
Preparing to unpack .../013-libpipeline1_1.5.8-1_armhf.deb ...
Unpacking libpipeline1:armhf (1.5.8-1) ...
Selecting previously unselected package man-db.
Preparing to unpack .../014-man-db_2.13.0-1_armhf.deb ...
Unpacking man-db (2.13.0-1) ...
Selecting previously unselected package m4.
Preparing to unpack .../015-m4_1.4.19-4_armhf.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-3_all.deb ...
Unpacking autopoint (0.22.5-3) ...
Selecting previously unselected package cython3.
Preparing to unpack .../020-cython3_3.0.11+dfsg-1+b1_armhf.deb ...
Unpacking cython3 (3.0.11+dfsg-1+b1) ...
Selecting previously unselected package libdebhelper-perl.
Preparing to unpack .../021-libdebhelper-perl_13.22_all.deb ...
Unpacking libdebhelper-perl (13.22) ...
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:armhf.
Preparing to unpack .../027-libelf1t64_0.192-4_armhf.deb ...
Unpacking libelf1t64:armhf (0.192-4) ...
Selecting previously unselected package dwz.
Preparing to unpack .../028-dwz_0.15-1+b2_armhf.deb ...
Unpacking dwz (0.15-1+b2) ...
Selecting previously unselected package libicu72:armhf.
Preparing to unpack .../029-libicu72_72.1-5+b1_armhf.deb ...
Unpacking libicu72:armhf (72.1-5+b1) ...
Selecting previously unselected package libxml2:armhf.
Preparing to unpack .../030-libxml2_2.12.7+dfsg+really2.9.14-0.2+b1_armhf.deb ...
Unpacking libxml2:armhf (2.12.7+dfsg+really2.9.14-0.2+b1) ...
Selecting previously unselected package gettext.
Preparing to unpack .../031-gettext_0.22.5-3_armhf.deb ...
Unpacking gettext (0.22.5-3) ...
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.22_all.deb ...
Unpacking debhelper (13.22) ...
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.6.0-1_all.deb ...
Unpacking python3-pkg-resources (75.6.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.6.0-1_all.deb ...
Unpacking python3-setuptools (75.6.0-1) ...
Selecting previously unselected package dh-python.
Preparing to unpack .../046-dh-python_6.20241217_all.deb ...
Unpacking dh-python (6.20241217) ...
Selecting previously unselected package libonig5:armhf.
Preparing to unpack .../047-libonig5_6.9.9-1+b1_armhf.deb ...
Unpacking libonig5:armhf (6.9.9-1+b1) ...
Selecting previously unselected package libjq1:armhf.
Preparing to unpack .../048-libjq1_1.7.1-3+b1_armhf.deb ...
Unpacking libjq1:armhf (1.7.1-3+b1) ...
Selecting previously unselected package jq.
Preparing to unpack .../049-jq_1.7.1-3+b1_armhf.deb ...
Unpacking jq (1.7.1-3+b1) ...
Selecting previously unselected package libdouble-conversion3:armhf.
Preparing to unpack .../050-libdouble-conversion3_3.3.0-1+b2_armhf.deb ...
Unpacking libdouble-conversion3:armhf (3.3.0-1+b2) ...
Selecting previously unselected package libexpat1-dev:armhf.
Preparing to unpack .../051-libexpat1-dev_2.6.4-1_armhf.deb ...
Unpacking libexpat1-dev:armhf (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_8.1.3-2_all.deb ...
Unpacking libjs-sphinxdoc (8.1.3-2) ...
Selecting previously unselected package libpython3.12t64:armhf.
Preparing to unpack .../055-libpython3.12t64_3.12.8-3_armhf.deb ...
Unpacking libpython3.12t64:armhf (3.12.8-3) ...
Selecting previously unselected package zlib1g-dev:armhf.
Preparing to unpack .../056-zlib1g-dev_1%3a1.3.dfsg+really1.3.1-1+b1_armhf.deb ...
Unpacking zlib1g-dev:armhf (1:1.3.dfsg+really1.3.1-1+b1) ...
Selecting previously unselected package libpython3.12-dev:armhf.
Preparing to unpack .../057-libpython3.12-dev_3.12.8-3_armhf.deb ...
Unpacking libpython3.12-dev:armhf (3.12.8-3) ...
Selecting previously unselected package libpython3-dev:armhf.
Preparing to unpack .../058-libpython3-dev_3.12.7-1_armhf.deb ...
Unpacking libpython3-dev:armhf (3.12.7-1) ...
Selecting previously unselected package libpython3.13-stdlib:armhf.
Preparing to unpack .../059-libpython3.13-stdlib_3.13.1-2_armhf.deb ...
Unpacking libpython3.13-stdlib:armhf (3.13.1-2) ...
Selecting previously unselected package libpython3.13:armhf.
Preparing to unpack .../060-libpython3.13_3.13.1-2_armhf.deb ...
Unpacking libpython3.13:armhf (3.13.1-2) ...
Selecting previously unselected package libpython3.13-dev:armhf.
Preparing to unpack .../061-libpython3.13-dev_3.13.1-2_armhf.deb ...
Unpacking libpython3.13-dev:armhf (3.13.1-2) ...
Selecting previously unselected package libpython3-all-dev:armhf.
Preparing to unpack .../062-libpython3-all-dev_3.12.7-1_armhf.deb ...
Unpacking libpython3-all-dev:armhf (3.12.7-1) ...
Selecting previously unselected package libuv1t64:armhf.
Preparing to unpack .../063-libuv1t64_1.48.0-7_armhf.deb ...
Unpacking libuv1t64:armhf (1.48.0-7) ...
Selecting previously unselected package libyaml-0-2:armhf.
Preparing to unpack .../064-libyaml-0-2_0.2.5-2_armhf.deb ...
Unpacking libyaml-0-2:armhf (0.2.5-2) ...
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.1-2_armhf.deb ...
Unpacking python3.13 (3.13.1-2) ...
Selecting previously unselected package python3-all.
Preparing to unpack .../071-python3-all_3.12.7-1_armhf.deb ...
Unpacking python3-all (3.12.7-1) ...
Selecting previously unselected package python3.12-dev.
Preparing to unpack .../072-python3.12-dev_3.12.8-3_armhf.deb ...
Unpacking python3.12-dev (3.12.8-3) ...
Selecting previously unselected package python3-dev.
Preparing to unpack .../073-python3-dev_3.12.7-1_armhf.deb ...
Unpacking python3-dev (3.12.7-1) ...
Selecting previously unselected package python3.13-dev.
Preparing to unpack .../074-python3.13-dev_3.13.1-2_armhf.deb ...
Unpacking python3.13-dev (3.13.1-2) ...
Selecting previously unselected package python3-all-dev.
Preparing to unpack .../075-python3-all-dev_3.12.7-1_armhf.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_armhf.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_armhf.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_armhf.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-3_all.deb ...
Unpacking python3-ddt (1.7.2-3) ...
Selecting previously unselected package python3-pbr.
Preparing to unpack .../089-python3-pbr_6.1.0-4_all.deb ...
Unpacking python3-pbr (6.1.0-4) ...
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-3_all.deb ...
Unpacking python3-fixtures (4.1.0-3) ...
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_armhf.deb ...
Unpacking python3-rpds-py (0.21.0-2) ...
Selecting previously unselected package python3-referencing.
Preparing to unpack .../101-python3-referencing_0.35.1-2_all.deb ...
Unpacking python3-referencing (0.35.1-2) ...
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_armhf.deb ...
Unpacking python3-msgpack (1.0.3-3+b3) ...
Selecting previously unselected package python3-mujson.
Preparing to unpack .../106-python3-mujson_1.4-4_all.deb ...
Unpacking python3-mujson (1.4-4) ...
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.4-1_all.deb ...
Unpacking python3-pytest (8.3.4-1) ...
Selecting previously unselected package python3-rapidjson.
Preparing to unpack .../110-python3-rapidjson_1.4-3_armhf.deb ...
Unpacking python3-rapidjson (1.4-3) ...
Selecting previously unselected package python3-urllib3.
Preparing to unpack .../111-python3-urllib3_2.2.3-4_all.deb ...
Unpacking python3-urllib3 (2.2.3-4) ...
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:armhf.
Preparing to unpack .../113-python3-ujson_5.10.0-1+b3_armhf.deb ...
Unpacking python3-ujson:armhf (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_armhf.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-2_all.deb ...
Unpacking python3-uvicorn (0.32.0-2) ...
Selecting previously unselected package python3-websockets.
Preparing to unpack .../117-python3-websockets_14.1-1_armhf.deb ...
Unpacking python3-websockets (14.1-1) ...
Selecting previously unselected package python3-yaml.
Preparing to unpack .../118-python3-yaml_6.0.2-1+b1_armhf.deb ...
Unpacking python3-yaml (6.0.2-1+b1) ...
Selecting previously unselected package uvicorn.
Preparing to unpack .../119-uvicorn_0.32.0-2_all.deb ...
Unpacking uvicorn (0.32.0-2) ...
Setting up media-types (10.1.0) ...
Setting up libpipeline1:armhf (1.5.8-1) ...
Setting up libdouble-conversion3:armhf (3.3.0-1+b2) ...
Setting up libkeyutils1:armhf (1.6.3-4) ...
Setting up libicu72:armhf (72.1-5+b1) ...
Setting up bsdextrautils (2.40.2-12) ...
Setting up libmagic-mgc (1:5.45-3+b1) ...
Setting up libarchive-zip-perl (1.68-1) ...
Setting up libyaml-0-2:armhf (0.2.5-2) ...
Setting up libtirpc-common (1.3.4+ds-1.3) ...
Setting up libdebhelper-perl (13.22) ...
Setting up libuv1t64:armhf (1.48.0-7) ...
Setting up libmagic1t64:armhf (1:5.45-3+b1) ...
Setting up gettext-base (0.22.5-3) ...
Setting up m4 (1.4.19-4) ...
Setting up libcom-err2:armhf (1.47.2~rc1-2) ...
Setting up file (1:5.45-3+b1) ...
Setting up libelf1t64:armhf (0.192-4) ...
Setting up libkrb5support0:armhf (1.21.3-3) ...
Setting up tzdata (2024b-4) ...

Current default time zone: 'Etc/UTC'
Local time is now:      Fri Dec 20 07:27:10 UTC 2024.
Universal Time is now:  Fri Dec 20 07:27:10 UTC 2024.
Run 'dpkg-reconfigure tzdata' if you wish to change it.

Setting up libpython3.13-minimal:armhf (3.13.1-2) ...
Setting up autotools-dev (20220109.1) ...
Setting up libexpat1-dev:armhf (2.6.4-1) ...
Setting up autopoint (0.22.5-3) ...
Setting up libk5crypto3:armhf (1.21.3-3) ...
Setting up autoconf (2.72-3) ...
Setting up zlib1g-dev:armhf (1:1.3.dfsg+really1.3.1-1+b1) ...
Setting up dwz (0.15-1+b2) ...
Setting up sensible-utils (0.0.24) ...
Setting up libuchardet0:armhf (0.0.8-1+b2) ...
Setting up python3.13-minimal (3.13.1-2) ...
Setting up netbase (6.4) ...
Setting up libkrb5-3:armhf (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-6) ...
Setting up libxml2:armhf (2.12.7+dfsg+really2.9.14-0.2+b1) ...
Setting up libonig5:armhf (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-3) ...
Setting up libtool (2.4.7-8) ...
Setting up libjq1:armhf (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:armhf (1.21.3-3) ...
Setting up libjs-sphinxdoc (8.1.3-2) ...
Setting up libreadline8t64:armhf (8.2-6) ...
Setting up dh-strip-nondeterminism (1.14.0-1) ...
Setting up groff-base (1.23.0-6) ...
Setting up jq (1.7.1-3+b1) ...
Setting up libpython3.13-stdlib:armhf (3.13.1-2) ...
Setting up libpython3.13:armhf (3.13.1-2) ...
Setting up libtirpc3t64:armhf (1.3.4+ds-1.3+b1) ...
Setting up python3.13 (3.13.1-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:armhf (3.13.1-2) ...
Setting up libnsl2:armhf (1.3.0-3+b3) ...
Setting up libpython3.12-stdlib:armhf (3.12.8-3) ...
Setting up python3.13-dev (3.13.1-2) ...
Setting up python3.12 (3.12.8-3) ...
Setting up debhelper (13.22) ...
Setting up libpython3.12t64:armhf (3.12.8-3) ...
Setting up libpython3-stdlib:armhf (3.12.7-1) ...
Setting up python3 (3.12.7-1) ...
Setting up libpython3.12-dev:armhf (3.12.8-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:armhf (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.8-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.2.3-4) ...
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-4) ...
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-3) ...
Setting up libpython3-dev:armhf (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.4-1) ...
Setting up python3-typeguard (4.4.1-1) ...
Setting up python3-rapidjson (1.4-3) ...
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:armhf (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-2) ...
Setting up python3-pkg-resources (75.6.0-1) ...
Setting up python3-all-dev (3.12.7-1) ...
Setting up python3-uvicorn (0.32.0-2) ...
Setting up python3-setuptools (75.6.0-1) ...
Setting up python3-pbr (6.1.0-4) ...
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.20241217) ...
Setting up uvicorn (0.32.0-2) ...
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-3) ...
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: user script /srv/workspace/pbuilder/7301/tmp/hooks/A99_set_merged_usr starting
Not re-configuring usrmerge for unstable
I: user script /srv/workspace/pbuilder/7301/tmp/hooks/A99_set_merged_usr finished
hostname: Name or service not known
I: Running cd /build/reproducible-path/python-falcon-3.1.1/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-genchanges -S  > ../python-falcon_3.1.1-5_source.changes
dpkg-buildpackage: info: source package python-falcon
dpkg-buildpackage: info: source version 3.1.1-5
dpkg-buildpackage: info: source distribution unstable
dpkg-buildpackage: info: source changed by Thomas Goirand <zigo@debian.org>
 dpkg-source --before-build .
dpkg-buildpackage: info: host architecture armhf
dpkg-source: info: using options from python-falcon-3.1.1/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=pybuild --with python3
   debian/rules override_dh_auto_clean
make[1]: Entering directory '/build/reproducible-path/python-falcon-3.1.1'
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-3.1.1'
   dh_autoreconf_clean -O--buildsystem=pybuild
   dh_clean -O--buildsystem=pybuild
 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=pybuild --with python3
   dh_update_autotools_config -O--buildsystem=pybuild
   dh_autoreconf -O--buildsystem=pybuild
   dh_auto_configure -O--buildsystem=pybuild
I: pybuild base:311: python3.13 setup.py config 
running config
I: pybuild base:311: python3.12 setup.py config 
running config
   debian/rules override_dh_auto_build
make[1]: Entering directory '/build/reproducible-path/python-falcon-3.1.1'
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-3.1.1'
   debian/rules override_dh_auto_test
make[1]: Entering directory '/build/reproducible-path/python-falcon-3.1.1'
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-3.1.1'
   create-stamp debian/debhelper-build-stamp
   dh_testroot -O--buildsystem=pybuild
   dh_prep -O--buildsystem=pybuild
   debian/rules override_dh_auto_install
make[1]: Entering directory '/build/reproducible-path/python-falcon-3.1.1'
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
+ for i in $@
+ case "${1}" in
+ echo 'WARNING: --no-py2 is deprecated and always on.'
WARNING: --no-py2 is deprecated and always on.
+ shift
+ for i in $@
+ case "${1}" in
+ PKGOS_IN_TMP=yes
+ shift
++ dpkg-parsechangelog -SSource
+ SRC_PKG_NAME=python-falcon
++ echo python-falcon
++ sed s/python-//
+ PY_MODULE_NAME=falcon
++ py3versions -vr
+ PYTHON3S='3.13 3.12'
+ '[' yes = yes ']'
+ TARGET_DIR=tmp
+ for pyvers in ${PYTHON3S}
++ pwd
+ python3.13 setup.py install --install-layout=deb --root /build/reproducible-path/python-falcon-3.1.1/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-armv7l-cpython-313/falcon
copying falcon/redirects.py -> build/lib.linux-armv7l-cpython-313/falcon
copying falcon/stream.py -> build/lib.linux-armv7l-cpython-313/falcon
copying falcon/response_helpers.py -> build/lib.linux-armv7l-cpython-313/falcon
copying falcon/asgi_spec.py -> build/lib.linux-armv7l-cpython-313/falcon
copying falcon/middleware.py -> build/lib.linux-armv7l-cpython-313/falcon
copying falcon/errors.py -> build/lib.linux-armv7l-cpython-313/falcon
copying falcon/app_helpers.py -> build/lib.linux-armv7l-cpython-313/falcon
copying falcon/request.py -> build/lib.linux-armv7l-cpython-313/falcon
copying falcon/request_helpers.py -> build/lib.linux-armv7l-cpython-313/falcon
copying falcon/http_error.py -> build/lib.linux-armv7l-cpython-313/falcon
copying falcon/responders.py -> build/lib.linux-armv7l-cpython-313/falcon
copying falcon/http_status.py -> build/lib.linux-armv7l-cpython-313/falcon
copying falcon/hooks.py -> build/lib.linux-armv7l-cpython-313/falcon
copying falcon/api_helpers.py -> build/lib.linux-armv7l-cpython-313/falcon
copying falcon/inspect.py -> build/lib.linux-armv7l-cpython-313/falcon
copying falcon/constants.py -> build/lib.linux-armv7l-cpython-313/falcon
copying falcon/version.py -> build/lib.linux-armv7l-cpython-313/falcon
copying falcon/status_codes.py -> build/lib.linux-armv7l-cpython-313/falcon
copying falcon/__init__.py -> build/lib.linux-armv7l-cpython-313/falcon
copying falcon/forwarded.py -> build/lib.linux-armv7l-cpython-313/falcon
copying falcon/response.py -> build/lib.linux-armv7l-cpython-313/falcon
copying falcon/uri.py -> build/lib.linux-armv7l-cpython-313/falcon
copying falcon/app.py -> build/lib.linux-armv7l-cpython-313/falcon
creating build/lib.linux-armv7l-cpython-313/falcon/asgi
copying falcon/asgi/stream.py -> build/lib.linux-armv7l-cpython-313/falcon/asgi
copying falcon/asgi/ws.py -> build/lib.linux-armv7l-cpython-313/falcon/asgi
copying falcon/asgi/_asgi_helpers.py -> build/lib.linux-armv7l-cpython-313/falcon/asgi
copying falcon/asgi/reader.py -> build/lib.linux-armv7l-cpython-313/falcon/asgi
copying falcon/asgi/request.py -> build/lib.linux-armv7l-cpython-313/falcon/asgi
copying falcon/asgi/_request_helpers.py -> build/lib.linux-armv7l-cpython-313/falcon/asgi
copying falcon/asgi/structures.py -> build/lib.linux-armv7l-cpython-313/falcon/asgi
copying falcon/asgi/multipart.py -> build/lib.linux-armv7l-cpython-313/falcon/asgi
copying falcon/asgi/__init__.py -> build/lib.linux-armv7l-cpython-313/falcon/asgi
copying falcon/asgi/response.py -> build/lib.linux-armv7l-cpython-313/falcon/asgi
copying falcon/asgi/app.py -> build/lib.linux-armv7l-cpython-313/falcon/asgi
creating build/lib.linux-armv7l-cpython-313/falcon/cmd
copying falcon/cmd/inspect_app.py -> build/lib.linux-armv7l-cpython-313/falcon/cmd
copying falcon/cmd/bench.py -> build/lib.linux-armv7l-cpython-313/falcon/cmd
copying falcon/cmd/__init__.py -> build/lib.linux-armv7l-cpython-313/falcon/cmd
creating build/lib.linux-armv7l-cpython-313/falcon/bench
copying falcon/bench/create.py -> build/lib.linux-armv7l-cpython-313/falcon/bench
copying falcon/bench/bench.py -> build/lib.linux-armv7l-cpython-313/falcon/bench
copying falcon/bench/__init__.py -> build/lib.linux-armv7l-cpython-313/falcon/bench
creating build/lib.linux-armv7l-cpython-313/falcon/media
copying falcon/media/json.py -> build/lib.linux-armv7l-cpython-313/falcon/media
copying falcon/media/base.py -> build/lib.linux-armv7l-cpython-313/falcon/media
copying falcon/media/handlers.py -> build/lib.linux-armv7l-cpython-313/falcon/media
copying falcon/media/urlencoded.py -> build/lib.linux-armv7l-cpython-313/falcon/media
copying falcon/media/multipart.py -> build/lib.linux-armv7l-cpython-313/falcon/media
copying falcon/media/msgpack.py -> build/lib.linux-armv7l-cpython-313/falcon/media
copying falcon/media/__init__.py -> build/lib.linux-armv7l-cpython-313/falcon/media
creating build/lib.linux-armv7l-cpython-313/falcon/vendor
copying falcon/vendor/__init__.py -> build/lib.linux-armv7l-cpython-313/falcon/vendor
creating build/lib.linux-armv7l-cpython-313/falcon/util
copying falcon/util/sync.py -> build/lib.linux-armv7l-cpython-313/falcon/util
copying falcon/util/reader.py -> build/lib.linux-armv7l-cpython-313/falcon/util
copying falcon/util/misc.py -> build/lib.linux-armv7l-cpython-313/falcon/util
copying falcon/util/structures.py -> build/lib.linux-armv7l-cpython-313/falcon/util
copying falcon/util/deprecation.py -> build/lib.linux-armv7l-cpython-313/falcon/util
copying falcon/util/mediatypes.py -> build/lib.linux-armv7l-cpython-313/falcon/util
copying falcon/util/time.py -> build/lib.linux-armv7l-cpython-313/falcon/util
copying falcon/util/__init__.py -> build/lib.linux-armv7l-cpython-313/falcon/util
copying falcon/util/uri.py -> build/lib.linux-armv7l-cpython-313/falcon/util
creating build/lib.linux-armv7l-cpython-313/falcon/testing
copying falcon/testing/test_case.py -> build/lib.linux-armv7l-cpython-313/falcon/testing
copying falcon/testing/client.py -> build/lib.linux-armv7l-cpython-313/falcon/testing
copying falcon/testing/srmock.py -> build/lib.linux-armv7l-cpython-313/falcon/testing
copying falcon/testing/resource.py -> build/lib.linux-armv7l-cpython-313/falcon/testing
copying falcon/testing/helpers.py -> build/lib.linux-armv7l-cpython-313/falcon/testing
copying falcon/testing/__init__.py -> build/lib.linux-armv7l-cpython-313/falcon/testing
creating build/lib.linux-armv7l-cpython-313/falcon/routing
copying falcon/routing/static.py -> build/lib.linux-armv7l-cpython-313/falcon/routing
copying falcon/routing/converters.py -> build/lib.linux-armv7l-cpython-313/falcon/routing
copying falcon/routing/util.py -> build/lib.linux-armv7l-cpython-313/falcon/routing
copying falcon/routing/__init__.py -> build/lib.linux-armv7l-cpython-313/falcon/routing
copying falcon/routing/compiled.py -> build/lib.linux-armv7l-cpython-313/falcon/routing
creating build/lib.linux-armv7l-cpython-313/falcon/bench/nuts
copying falcon/bench/nuts/__init__.py -> build/lib.linux-armv7l-cpython-313/falcon/bench/nuts
copying falcon/bench/nuts/config.py -> build/lib.linux-armv7l-cpython-313/falcon/bench/nuts
copying falcon/bench/nuts/setup.py -> build/lib.linux-armv7l-cpython-313/falcon/bench/nuts
creating build/lib.linux-armv7l-cpython-313/falcon/bench/queues
copying falcon/bench/queues/api.py -> build/lib.linux-armv7l-cpython-313/falcon/bench/queues
copying falcon/bench/queues/queues.py -> build/lib.linux-armv7l-cpython-313/falcon/bench/queues
copying falcon/bench/queues/messages.py -> build/lib.linux-armv7l-cpython-313/falcon/bench/queues
copying falcon/bench/queues/stats.py -> build/lib.linux-armv7l-cpython-313/falcon/bench/queues
copying falcon/bench/queues/claims.py -> build/lib.linux-armv7l-cpython-313/falcon/bench/queues
copying falcon/bench/queues/__init__.py -> build/lib.linux-armv7l-cpython-313/falcon/bench/queues
creating build/lib.linux-armv7l-cpython-313/falcon/bench/dj
copying falcon/bench/dj/manage.py -> build/lib.linux-armv7l-cpython-313/falcon/bench/dj
copying falcon/bench/dj/__init__.py -> build/lib.linux-armv7l-cpython-313/falcon/bench/dj
creating build/lib.linux-armv7l-cpython-313/falcon/bench/nuts/nuts
copying falcon/bench/nuts/nuts/__init__.py -> build/lib.linux-armv7l-cpython-313/falcon/bench/nuts/nuts
copying falcon/bench/nuts/nuts/app.py -> build/lib.linux-armv7l-cpython-313/falcon/bench/nuts/nuts
creating build/lib.linux-armv7l-cpython-313/falcon/bench/nuts/nuts/tests
copying falcon/bench/nuts/nuts/tests/test_units.py -> build/lib.linux-armv7l-cpython-313/falcon/bench/nuts/nuts/tests
copying falcon/bench/nuts/nuts/tests/__init__.py -> build/lib.linux-armv7l-cpython-313/falcon/bench/nuts/nuts/tests
copying falcon/bench/nuts/nuts/tests/config.py -> build/lib.linux-armv7l-cpython-313/falcon/bench/nuts/nuts/tests
copying falcon/bench/nuts/nuts/tests/test_functional.py -> build/lib.linux-armv7l-cpython-313/falcon/bench/nuts/nuts/tests
creating build/lib.linux-armv7l-cpython-313/falcon/bench/nuts/nuts/model
copying falcon/bench/nuts/nuts/model/__init__.py -> build/lib.linux-armv7l-cpython-313/falcon/bench/nuts/nuts/model
creating build/lib.linux-armv7l-cpython-313/falcon/bench/nuts/nuts/controllers
copying falcon/bench/nuts/nuts/controllers/root.py -> build/lib.linux-armv7l-cpython-313/falcon/bench/nuts/nuts/controllers
copying falcon/bench/nuts/nuts/controllers/__init__.py -> build/lib.linux-armv7l-cpython-313/falcon/bench/nuts/nuts/controllers
creating build/lib.linux-armv7l-cpython-313/falcon/bench/dj/hello
copying falcon/bench/dj/hello/tests.py -> build/lib.linux-armv7l-cpython-313/falcon/bench/dj/hello
copying falcon/bench/dj/hello/apps.py -> build/lib.linux-armv7l-cpython-313/falcon/bench/dj/hello
copying falcon/bench/dj/hello/views.py -> build/lib.linux-armv7l-cpython-313/falcon/bench/dj/hello
copying falcon/bench/dj/hello/models.py -> build/lib.linux-armv7l-cpython-313/falcon/bench/dj/hello
copying falcon/bench/dj/hello/__init__.py -> build/lib.linux-armv7l-cpython-313/falcon/bench/dj/hello
copying falcon/bench/dj/hello/admin.py -> build/lib.linux-armv7l-cpython-313/falcon/bench/dj/hello
creating build/lib.linux-armv7l-cpython-313/falcon/bench/dj/dj
copying falcon/bench/dj/dj/wsgi.py -> build/lib.linux-armv7l-cpython-313/falcon/bench/dj/dj
copying falcon/bench/dj/dj/settings.py -> build/lib.linux-armv7l-cpython-313/falcon/bench/dj/dj
copying falcon/bench/dj/dj/urls.py -> build/lib.linux-armv7l-cpython-313/falcon/bench/dj/dj
copying falcon/bench/dj/dj/__init__.py -> build/lib.linux-armv7l-cpython-313/falcon/bench/dj/dj
creating build/lib.linux-armv7l-cpython-313/falcon/bench/dj/hello/migrations
copying falcon/bench/dj/hello/migrations/__init__.py -> build/lib.linux-armv7l-cpython-313/falcon/bench/dj/hello/migrations
creating build/lib.linux-armv7l-cpython-313/falcon/media/validators
copying falcon/media/validators/jsonschema.py -> build/lib.linux-armv7l-cpython-313/falcon/media/validators
copying falcon/media/validators/__init__.py -> build/lib.linux-armv7l-cpython-313/falcon/media/validators
creating build/lib.linux-armv7l-cpython-313/falcon/vendor/mimeparse
copying falcon/vendor/mimeparse/__init__.py -> build/lib.linux-armv7l-cpython-313/falcon/vendor/mimeparse
copying falcon/vendor/mimeparse/mimeparse.py -> build/lib.linux-armv7l-cpython-313/falcon/vendor/mimeparse
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 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'
adding license file 'LICENSE'
writing manifest file 'falcon.egg-info/SOURCES.txt'
/usr/lib/python3/dist-packages/setuptools/command/build_py.py:212: _Warning: Package 'falcon.cyutil' is absent from the `packages` configuration.
!!

        ********************************************************************************
        ############################
        # Package would be ignored #
        ############################
        Python recognizes 'falcon.cyutil' as an importable package[^1],
        but it is absent from setuptools' `packages` configuration.

        This leads to an ambiguous overall configuration. If you want to distribute this
        package, please make sure that 'falcon.cyutil' is explicitly added
        to the `packages` configuration field.

        Alternatively, you can also rely on setuptools' discovery methods
        (for example by using `find_namespace_packages(...)`/`find_namespace:`
        instead of `find_packages(...)`/`find:`).

        You can read more about "package discovery" on setuptools documentation page:

        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html

        If you don't want 'falcon.cyutil' to be distributed and are
        already explicitly excluding 'falcon.cyutil' via
        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,
        you can try to use `exclude_package_data`, or `include-package-data=False` in
        combination with a more fine grained `package-data` configuration.

        You can read more about "package data files" on setuptools documentation page:

        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html


        [^1]: For Python, any directory (with suitable naming) can be imported,
              even if it does not contain any `.py` files.
              On the other hand, currently there is no concept of package data
              directory, all directories are treated like packages.
        ********************************************************************************

!!
  check.warn(importable)
creating build/lib.linux-armv7l-cpython-313/falcon/cyutil
copying falcon/cyutil/misc.pyx -> build/lib.linux-armv7l-cpython-313/falcon/cyutil
copying falcon/cyutil/reader.pyx -> build/lib.linux-armv7l-cpython-313/falcon/cyutil
copying falcon/cyutil/uri.pyx -> build/lib.linux-armv7l-cpython-313/falcon/cyutil
running build_ext
Compiling falcon/redirects.py because it changed.
[1/1] Cythonizing falcon/redirects.py
building 'falcon.redirects' extension
creating build/temp.linux-armv7l-cpython-313/falcon
arm-linux-gnueabihf-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.13 -c falcon/redirects.c -o build/temp.linux-armv7l-cpython-313/falcon/redirects.o
arm-linux-gnueabihf-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-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-armv7l-cpython-313/falcon/redirects.o -L/usr/lib/arm-linux-gnueabihf -o build/lib.linux-armv7l-cpython-313/falcon/redirects.cpython-313-arm-linux-gnueabihf.so
Compiling falcon/stream.py because it changed.
[1/1] Cythonizing falcon/stream.py
building 'falcon.stream' extension
arm-linux-gnueabihf-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.13 -c falcon/stream.c -o build/temp.linux-armv7l-cpython-313/falcon/stream.o
arm-linux-gnueabihf-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-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-armv7l-cpython-313/falcon/stream.o -L/usr/lib/arm-linux-gnueabihf -o build/lib.linux-armv7l-cpython-313/falcon/stream.cpython-313-arm-linux-gnueabihf.so
Compiling falcon/response_helpers.py because it changed.
[1/1] Cythonizing falcon/response_helpers.py
building 'falcon.response_helpers' extension
arm-linux-gnueabihf-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.13 -c falcon/response_helpers.c -o build/temp.linux-armv7l-cpython-313/falcon/response_helpers.o
arm-linux-gnueabihf-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-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-armv7l-cpython-313/falcon/response_helpers.o -L/usr/lib/arm-linux-gnueabihf -o build/lib.linux-armv7l-cpython-313/falcon/response_helpers.cpython-313-arm-linux-gnueabihf.so
Compiling falcon/asgi_spec.py because it changed.
[1/1] Cythonizing falcon/asgi_spec.py
building 'falcon.asgi_spec' extension
arm-linux-gnueabihf-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.13 -c falcon/asgi_spec.c -o build/temp.linux-armv7l-cpython-313/falcon/asgi_spec.o
arm-linux-gnueabihf-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-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-armv7l-cpython-313/falcon/asgi_spec.o -L/usr/lib/arm-linux-gnueabihf -o build/lib.linux-armv7l-cpython-313/falcon/asgi_spec.cpython-313-arm-linux-gnueabihf.so
Compiling falcon/middleware.py because it changed.
[1/1] Cythonizing falcon/middleware.py
building 'falcon.middleware' extension
arm-linux-gnueabihf-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.13 -c falcon/middleware.c -o build/temp.linux-armv7l-cpython-313/falcon/middleware.o
arm-linux-gnueabihf-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-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-armv7l-cpython-313/falcon/middleware.o -L/usr/lib/arm-linux-gnueabihf -o build/lib.linux-armv7l-cpython-313/falcon/middleware.cpython-313-arm-linux-gnueabihf.so
Compiling falcon/errors.py because it changed.
[1/1] Cythonizing falcon/errors.py
building 'falcon.errors' extension
arm-linux-gnueabihf-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.13 -c falcon/errors.c -o build/temp.linux-armv7l-cpython-313/falcon/errors.o
arm-linux-gnueabihf-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-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-armv7l-cpython-313/falcon/errors.o -L/usr/lib/arm-linux-gnueabihf -o build/lib.linux-armv7l-cpython-313/falcon/errors.cpython-313-arm-linux-gnueabihf.so
Compiling falcon/app_helpers.py because it changed.
[1/1] Cythonizing falcon/app_helpers.py
building 'falcon.app_helpers' extension
arm-linux-gnueabihf-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.13 -c falcon/app_helpers.c -o build/temp.linux-armv7l-cpython-313/falcon/app_helpers.o
arm-linux-gnueabihf-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-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-armv7l-cpython-313/falcon/app_helpers.o -L/usr/lib/arm-linux-gnueabihf -o build/lib.linux-armv7l-cpython-313/falcon/app_helpers.cpython-313-arm-linux-gnueabihf.so
Compiling falcon/request.py because it changed.
[1/1] Cythonizing falcon/request.py
building 'falcon.request' extension
arm-linux-gnueabihf-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.13 -c falcon/request.c -o build/temp.linux-armv7l-cpython-313/falcon/request.o
arm-linux-gnueabihf-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-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-armv7l-cpython-313/falcon/request.o -L/usr/lib/arm-linux-gnueabihf -o build/lib.linux-armv7l-cpython-313/falcon/request.cpython-313-arm-linux-gnueabihf.so
Compiling falcon/request_helpers.py because it changed.
[1/1] Cythonizing falcon/request_helpers.py
building 'falcon.request_helpers' extension
arm-linux-gnueabihf-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.13 -c falcon/request_helpers.c -o build/temp.linux-armv7l-cpython-313/falcon/request_helpers.o
arm-linux-gnueabihf-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-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-armv7l-cpython-313/falcon/request_helpers.o -L/usr/lib/arm-linux-gnueabihf -o build/lib.linux-armv7l-cpython-313/falcon/request_helpers.cpython-313-arm-linux-gnueabihf.so
Compiling falcon/http_error.py because it changed.
[1/1] Cythonizing falcon/http_error.py
building 'falcon.http_error' extension
arm-linux-gnueabihf-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.13 -c falcon/http_error.c -o build/temp.linux-armv7l-cpython-313/falcon/http_error.o
arm-linux-gnueabihf-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-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-armv7l-cpython-313/falcon/http_error.o -L/usr/lib/arm-linux-gnueabihf -o build/lib.linux-armv7l-cpython-313/falcon/http_error.cpython-313-arm-linux-gnueabihf.so
Compiling falcon/http_status.py because it changed.
[1/1] Cythonizing falcon/http_status.py
building 'falcon.http_status' extension
arm-linux-gnueabihf-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.13 -c falcon/http_status.c -o build/temp.linux-armv7l-cpython-313/falcon/http_status.o
arm-linux-gnueabihf-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-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-armv7l-cpython-313/falcon/http_status.o -L/usr/lib/arm-linux-gnueabihf -o build/lib.linux-armv7l-cpython-313/falcon/http_status.cpython-313-arm-linux-gnueabihf.so
Compiling falcon/api_helpers.py because it changed.
[1/1] Cythonizing falcon/api_helpers.py
building 'falcon.api_helpers' extension
arm-linux-gnueabihf-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.13 -c falcon/api_helpers.c -o build/temp.linux-armv7l-cpython-313/falcon/api_helpers.o
arm-linux-gnueabihf-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-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-armv7l-cpython-313/falcon/api_helpers.o -L/usr/lib/arm-linux-gnueabihf -o build/lib.linux-armv7l-cpython-313/falcon/api_helpers.cpython-313-arm-linux-gnueabihf.so
Compiling falcon/inspect.py because it changed.
[1/1] Cythonizing falcon/inspect.py
building 'falcon.inspect' extension
arm-linux-gnueabihf-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.13 -c falcon/inspect.c -o build/temp.linux-armv7l-cpython-313/falcon/inspect.o
arm-linux-gnueabihf-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-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-armv7l-cpython-313/falcon/inspect.o -L/usr/lib/arm-linux-gnueabihf -o build/lib.linux-armv7l-cpython-313/falcon/inspect.cpython-313-arm-linux-gnueabihf.so
Compiling falcon/constants.py because it changed.
[1/1] Cythonizing falcon/constants.py
building 'falcon.constants' extension
arm-linux-gnueabihf-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.13 -c falcon/constants.c -o build/temp.linux-armv7l-cpython-313/falcon/constants.o
arm-linux-gnueabihf-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-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-armv7l-cpython-313/falcon/constants.o -L/usr/lib/arm-linux-gnueabihf -o build/lib.linux-armv7l-cpython-313/falcon/constants.cpython-313-arm-linux-gnueabihf.so
Compiling falcon/version.py because it changed.
[1/1] Cythonizing falcon/version.py
building 'falcon.version' extension
arm-linux-gnueabihf-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.13 -c falcon/version.c -o build/temp.linux-armv7l-cpython-313/falcon/version.o
arm-linux-gnueabihf-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-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-armv7l-cpython-313/falcon/version.o -L/usr/lib/arm-linux-gnueabihf -o build/lib.linux-armv7l-cpython-313/falcon/version.cpython-313-arm-linux-gnueabihf.so
Compiling falcon/status_codes.py because it changed.
[1/1] Cythonizing falcon/status_codes.py
building 'falcon.status_codes' extension
arm-linux-gnueabihf-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.13 -c falcon/status_codes.c -o build/temp.linux-armv7l-cpython-313/falcon/status_codes.o
arm-linux-gnueabihf-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-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-armv7l-cpython-313/falcon/status_codes.o -L/usr/lib/arm-linux-gnueabihf -o build/lib.linux-armv7l-cpython-313/falcon/status_codes.cpython-313-arm-linux-gnueabihf.so
Compiling falcon/forwarded.py because it changed.
[1/1] Cythonizing falcon/forwarded.py
building 'falcon.forwarded' extension
arm-linux-gnueabihf-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.13 -c falcon/forwarded.c -o build/temp.linux-armv7l-cpython-313/falcon/forwarded.o
arm-linux-gnueabihf-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-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-armv7l-cpython-313/falcon/forwarded.o -L/usr/lib/arm-linux-gnueabihf -o build/lib.linux-armv7l-cpython-313/falcon/forwarded.cpython-313-arm-linux-gnueabihf.so
Compiling falcon/response.py because it changed.
[1/1] Cythonizing falcon/response.py
building 'falcon.response' extension
arm-linux-gnueabihf-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.13 -c falcon/response.c -o build/temp.linux-armv7l-cpython-313/falcon/response.o
arm-linux-gnueabihf-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-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-armv7l-cpython-313/falcon/response.o -L/usr/lib/arm-linux-gnueabihf -o build/lib.linux-armv7l-cpython-313/falcon/response.cpython-313-arm-linux-gnueabihf.so
Compiling falcon/uri.py because it changed.
[1/1] Cythonizing falcon/uri.py
building 'falcon.uri' extension
arm-linux-gnueabihf-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.13 -c falcon/uri.c -o build/temp.linux-armv7l-cpython-313/falcon/uri.o
arm-linux-gnueabihf-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-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-armv7l-cpython-313/falcon/uri.o -L/usr/lib/arm-linux-gnueabihf -o build/lib.linux-armv7l-cpython-313/falcon/uri.cpython-313-arm-linux-gnueabihf.so
Compiling falcon/app.py because it changed.
[1/1] Cythonizing falcon/app.py
building 'falcon.app' extension
arm-linux-gnueabihf-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.13 -c falcon/app.c -o build/temp.linux-armv7l-cpython-313/falcon/app.o
arm-linux-gnueabihf-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-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-armv7l-cpython-313/falcon/app.o -L/usr/lib/arm-linux-gnueabihf -o build/lib.linux-armv7l-cpython-313/falcon/app.cpython-313-arm-linux-gnueabihf.so
Compiling falcon/cyutil/reader.pyx because it changed.
[1/1] Cythonizing falcon/cyutil/reader.pyx
building 'falcon.cyutil.reader' extension
creating build/temp.linux-armv7l-cpython-313/falcon/cyutil
arm-linux-gnueabihf-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.13 -c falcon/cyutil/reader.c -o build/temp.linux-armv7l-cpython-313/falcon/cyutil/reader.o
arm-linux-gnueabihf-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-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-armv7l-cpython-313/falcon/cyutil/reader.o -L/usr/lib/arm-linux-gnueabihf -o build/lib.linux-armv7l-cpython-313/falcon/cyutil/reader.cpython-313-arm-linux-gnueabihf.so
Compiling falcon/cyutil/uri.pyx because it changed.
[1/1] Cythonizing falcon/cyutil/uri.pyx
building 'falcon.cyutil.uri' extension
arm-linux-gnueabihf-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.13 -c falcon/cyutil/uri.c -o build/temp.linux-armv7l-cpython-313/falcon/cyutil/uri.o
arm-linux-gnueabihf-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-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-armv7l-cpython-313/falcon/cyutil/uri.o -L/usr/lib/arm-linux-gnueabihf -o build/lib.linux-armv7l-cpython-313/falcon/cyutil/uri.cpython-313-arm-linux-gnueabihf.so
Compiling falcon/cyutil/misc.pyx because it changed.
[1/1] Cythonizing falcon/cyutil/misc.pyx
building 'falcon.cyutil.misc' extension
arm-linux-gnueabihf-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.13 -c falcon/cyutil/misc.c -o build/temp.linux-armv7l-cpython-313/falcon/cyutil/misc.o
arm-linux-gnueabihf-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-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-armv7l-cpython-313/falcon/cyutil/misc.o -L/usr/lib/arm-linux-gnueabihf -o build/lib.linux-armv7l-cpython-313/falcon/cyutil/misc.cpython-313-arm-linux-gnueabihf.so
Compiling falcon/media/json.py because it changed.
[1/1] Cythonizing falcon/media/json.py
building 'falcon.media.json' extension
creating build/temp.linux-armv7l-cpython-313/falcon/media
arm-linux-gnueabihf-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.13 -c falcon/media/json.c -o build/temp.linux-armv7l-cpython-313/falcon/media/json.o
arm-linux-gnueabihf-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-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-armv7l-cpython-313/falcon/media/json.o -L/usr/lib/arm-linux-gnueabihf -o build/lib.linux-armv7l-cpython-313/falcon/media/json.cpython-313-arm-linux-gnueabihf.so
Compiling falcon/media/base.py because it changed.
[1/1] Cythonizing falcon/media/base.py
building 'falcon.media.base' extension
arm-linux-gnueabihf-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.13 -c falcon/media/base.c -o build/temp.linux-armv7l-cpython-313/falcon/media/base.o
arm-linux-gnueabihf-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-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-armv7l-cpython-313/falcon/media/base.o -L/usr/lib/arm-linux-gnueabihf -o build/lib.linux-armv7l-cpython-313/falcon/media/base.cpython-313-arm-linux-gnueabihf.so
Compiling falcon/media/handlers.py because it changed.
[1/1] Cythonizing falcon/media/handlers.py
building 'falcon.media.handlers' extension
arm-linux-gnueabihf-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.13 -c falcon/media/handlers.c -o build/temp.linux-armv7l-cpython-313/falcon/media/handlers.o
arm-linux-gnueabihf-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-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-armv7l-cpython-313/falcon/media/handlers.o -L/usr/lib/arm-linux-gnueabihf -o build/lib.linux-armv7l-cpython-313/falcon/media/handlers.cpython-313-arm-linux-gnueabihf.so
Compiling falcon/media/urlencoded.py because it changed.
[1/1] Cythonizing falcon/media/urlencoded.py
building 'falcon.media.urlencoded' extension
arm-linux-gnueabihf-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.13 -c falcon/media/urlencoded.c -o build/temp.linux-armv7l-cpython-313/falcon/media/urlencoded.o
arm-linux-gnueabihf-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-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-armv7l-cpython-313/falcon/media/urlencoded.o -L/usr/lib/arm-linux-gnueabihf -o build/lib.linux-armv7l-cpython-313/falcon/media/urlencoded.cpython-313-arm-linux-gnueabihf.so
Compiling falcon/media/multipart.py because it changed.
[1/1] Cythonizing falcon/media/multipart.py
building 'falcon.media.multipart' extension
arm-linux-gnueabihf-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.13 -c falcon/media/multipart.c -o build/temp.linux-armv7l-cpython-313/falcon/media/multipart.o
arm-linux-gnueabihf-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-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-armv7l-cpython-313/falcon/media/multipart.o -L/usr/lib/arm-linux-gnueabihf -o build/lib.linux-armv7l-cpython-313/falcon/media/multipart.cpython-313-arm-linux-gnueabihf.so
Compiling falcon/media/msgpack.py because it changed.
[1/1] Cythonizing falcon/media/msgpack.py
building 'falcon.media.msgpack' extension
arm-linux-gnueabihf-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.13 -c falcon/media/msgpack.c -o build/temp.linux-armv7l-cpython-313/falcon/media/msgpack.o
arm-linux-gnueabihf-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-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-armv7l-cpython-313/falcon/media/msgpack.o -L/usr/lib/arm-linux-gnueabihf -o build/lib.linux-armv7l-cpython-313/falcon/media/msgpack.cpython-313-arm-linux-gnueabihf.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-armv7l-cpython-313/falcon/routing
arm-linux-gnueabihf-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.13 -c falcon/routing/static.c -o build/temp.linux-armv7l-cpython-313/falcon/routing/static.o
arm-linux-gnueabihf-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-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-armv7l-cpython-313/falcon/routing/static.o -L/usr/lib/arm-linux-gnueabihf -o build/lib.linux-armv7l-cpython-313/falcon/routing/static.cpython-313-arm-linux-gnueabihf.so
Compiling falcon/routing/converters.py because it changed.
[1/1] Cythonizing falcon/routing/converters.py
building 'falcon.routing.converters' extension
arm-linux-gnueabihf-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.13 -c falcon/routing/converters.c -o build/temp.linux-armv7l-cpython-313/falcon/routing/converters.o
arm-linux-gnueabihf-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-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-armv7l-cpython-313/falcon/routing/converters.o -L/usr/lib/arm-linux-gnueabihf -o build/lib.linux-armv7l-cpython-313/falcon/routing/converters.cpython-313-arm-linux-gnueabihf.so
Compiling falcon/routing/util.py because it changed.
[1/1] Cythonizing falcon/routing/util.py
building 'falcon.routing.util' extension
arm-linux-gnueabihf-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.13 -c falcon/routing/util.c -o build/temp.linux-armv7l-cpython-313/falcon/routing/util.o
arm-linux-gnueabihf-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-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-armv7l-cpython-313/falcon/routing/util.o -L/usr/lib/arm-linux-gnueabihf -o build/lib.linux-armv7l-cpython-313/falcon/routing/util.cpython-313-arm-linux-gnueabihf.so
Compiling falcon/routing/compiled.py because it changed.
[1/1] Cythonizing falcon/routing/compiled.py
building 'falcon.routing.compiled' extension
arm-linux-gnueabihf-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.13 -c falcon/routing/compiled.c -o build/temp.linux-armv7l-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:11770:19: note: in expansion of macro 'PyInt_FromSsize_t'
11770 |       __pyx_t_4 = PyInt_FromSsize_t(__pyx_v_resource_idx); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 536, __pyx_L1_error)
      |                   ^~~~~~~~~~~~~~~~~
falcon/routing/compiled.c:9780:14: note: '__pyx_v_resource_idx' was declared here
 9780 |   Py_ssize_t __pyx_v_resource_idx;
      |              ^~~~~~~~~~~~~~~~~~~~
arm-linux-gnueabihf-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-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-armv7l-cpython-313/falcon/routing/compiled.o -L/usr/lib/arm-linux-gnueabihf -o build/lib.linux-armv7l-cpython-313/falcon/routing/compiled.cpython-313-arm-linux-gnueabihf.so
Compiling falcon/util/misc.py because it changed.
[1/1] Cythonizing falcon/util/misc.py
building 'falcon.util.misc' extension
creating build/temp.linux-armv7l-cpython-313/falcon/util
arm-linux-gnueabihf-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.13 -c falcon/util/misc.c -o build/temp.linux-armv7l-cpython-313/falcon/util/misc.o
arm-linux-gnueabihf-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-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-armv7l-cpython-313/falcon/util/misc.o -L/usr/lib/arm-linux-gnueabihf -o build/lib.linux-armv7l-cpython-313/falcon/util/misc.cpython-313-arm-linux-gnueabihf.so
Compiling falcon/util/structures.py because it changed.
[1/1] Cythonizing falcon/util/structures.py
building 'falcon.util.structures' extension
arm-linux-gnueabihf-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.13 -c falcon/util/structures.c -o build/temp.linux-armv7l-cpython-313/falcon/util/structures.o
arm-linux-gnueabihf-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-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-armv7l-cpython-313/falcon/util/structures.o -L/usr/lib/arm-linux-gnueabihf -o build/lib.linux-armv7l-cpython-313/falcon/util/structures.cpython-313-arm-linux-gnueabihf.so
Compiling falcon/util/deprecation.py because it changed.
[1/1] Cythonizing falcon/util/deprecation.py
building 'falcon.util.deprecation' extension
arm-linux-gnueabihf-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.13 -c falcon/util/deprecation.c -o build/temp.linux-armv7l-cpython-313/falcon/util/deprecation.o
arm-linux-gnueabihf-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-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-armv7l-cpython-313/falcon/util/deprecation.o -L/usr/lib/arm-linux-gnueabihf -o build/lib.linux-armv7l-cpython-313/falcon/util/deprecation.cpython-313-arm-linux-gnueabihf.so
Compiling falcon/util/mediatypes.py because it changed.
[1/1] Cythonizing falcon/util/mediatypes.py
building 'falcon.util.mediatypes' extension
arm-linux-gnueabihf-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.13 -c falcon/util/mediatypes.c -o build/temp.linux-armv7l-cpython-313/falcon/util/mediatypes.o
arm-linux-gnueabihf-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-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-armv7l-cpython-313/falcon/util/mediatypes.o -L/usr/lib/arm-linux-gnueabihf -o build/lib.linux-armv7l-cpython-313/falcon/util/mediatypes.cpython-313-arm-linux-gnueabihf.so
Compiling falcon/util/time.py because it changed.
[1/1] Cythonizing falcon/util/time.py
building 'falcon.util.time' extension
arm-linux-gnueabihf-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.13 -c falcon/util/time.c -o build/temp.linux-armv7l-cpython-313/falcon/util/time.o
arm-linux-gnueabihf-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-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-armv7l-cpython-313/falcon/util/time.o -L/usr/lib/arm-linux-gnueabihf -o build/lib.linux-armv7l-cpython-313/falcon/util/time.cpython-313-arm-linux-gnueabihf.so
Compiling falcon/util/uri.py because it changed.
[1/1] Cythonizing falcon/util/uri.py
building 'falcon.util.uri' extension
arm-linux-gnueabihf-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.13 -c falcon/util/uri.c -o build/temp.linux-armv7l-cpython-313/falcon/util/uri.o
arm-linux-gnueabihf-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-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-armv7l-cpython-313/falcon/util/uri.o -L/usr/lib/arm-linux-gnueabihf -o build/lib.linux-armv7l-cpython-313/falcon/util/uri.cpython-313-arm-linux-gnueabihf.so
Compiling falcon/vendor/mimeparse/mimeparse.py because it changed.
[1/1] Cythonizing falcon/vendor/mimeparse/mimeparse.py
building 'falcon.vendor.mimeparse.mimeparse' extension
creating build/temp.linux-armv7l-cpython-313/falcon/vendor/mimeparse
arm-linux-gnueabihf-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.13 -c falcon/vendor/mimeparse/mimeparse.c -o build/temp.linux-armv7l-cpython-313/falcon/vendor/mimeparse/mimeparse.o
arm-linux-gnueabihf-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-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-armv7l-cpython-313/falcon/vendor/mimeparse/mimeparse.o -L/usr/lib/arm-linux-gnueabihf -o build/lib.linux-armv7l-cpython-313/falcon/vendor/mimeparse/mimeparse.cpython-313-arm-linux-gnueabihf.so
running install_lib
creating /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages
creating /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon
creating /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/asgi
copying build/lib.linux-armv7l-cpython-313/falcon/asgi/stream.py -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/asgi
copying build/lib.linux-armv7l-cpython-313/falcon/asgi/ws.py -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/asgi
copying build/lib.linux-armv7l-cpython-313/falcon/asgi/_asgi_helpers.py -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/asgi
copying build/lib.linux-armv7l-cpython-313/falcon/asgi/reader.py -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/asgi
copying build/lib.linux-armv7l-cpython-313/falcon/asgi/request.py -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/asgi
copying build/lib.linux-armv7l-cpython-313/falcon/asgi/_request_helpers.py -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/asgi
copying build/lib.linux-armv7l-cpython-313/falcon/asgi/structures.py -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/asgi
copying build/lib.linux-armv7l-cpython-313/falcon/asgi/multipart.py -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/asgi
copying build/lib.linux-armv7l-cpython-313/falcon/asgi/__init__.py -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/asgi
copying build/lib.linux-armv7l-cpython-313/falcon/asgi/response.py -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/asgi
copying build/lib.linux-armv7l-cpython-313/falcon/asgi/app.py -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/asgi
copying build/lib.linux-armv7l-cpython-313/falcon/redirects.py -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon
copying build/lib.linux-armv7l-cpython-313/falcon/stream.py -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon
copying build/lib.linux-armv7l-cpython-313/falcon/asgi_spec.cpython-313-arm-linux-gnueabihf.so -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon
copying build/lib.linux-armv7l-cpython-313/falcon/response_helpers.cpython-313-arm-linux-gnueabihf.so -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon
copying build/lib.linux-armv7l-cpython-313/falcon/response_helpers.py -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon
copying build/lib.linux-armv7l-cpython-313/falcon/asgi_spec.py -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon
creating /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/cmd
copying build/lib.linux-armv7l-cpython-313/falcon/cmd/inspect_app.py -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/cmd
copying build/lib.linux-armv7l-cpython-313/falcon/cmd/bench.py -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/cmd
copying build/lib.linux-armv7l-cpython-313/falcon/cmd/__init__.py -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/cmd
copying build/lib.linux-armv7l-cpython-313/falcon/middleware.py -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon
copying build/lib.linux-armv7l-cpython-313/falcon/redirects.cpython-313-arm-linux-gnueabihf.so -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon
copying build/lib.linux-armv7l-cpython-313/falcon/errors.py -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon
copying build/lib.linux-armv7l-cpython-313/falcon/app_helpers.py -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon
creating /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/bench
copying build/lib.linux-armv7l-cpython-313/falcon/bench/create.py -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/bench
creating /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/nuts
creating /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/nuts/nuts
creating /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/nuts/nuts/tests
copying build/lib.linux-armv7l-cpython-313/falcon/bench/nuts/nuts/tests/test_units.py -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/nuts/nuts/tests
copying build/lib.linux-armv7l-cpython-313/falcon/bench/nuts/nuts/tests/__init__.py -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/nuts/nuts/tests
copying build/lib.linux-armv7l-cpython-313/falcon/bench/nuts/nuts/tests/config.py -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/nuts/nuts/tests
copying build/lib.linux-armv7l-cpython-313/falcon/bench/nuts/nuts/tests/test_functional.py -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/nuts/nuts/tests
creating /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/nuts/nuts/model
copying build/lib.linux-armv7l-cpython-313/falcon/bench/nuts/nuts/model/__init__.py -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/nuts/nuts/model
creating /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/nuts/nuts/controllers
copying build/lib.linux-armv7l-cpython-313/falcon/bench/nuts/nuts/controllers/root.py -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/nuts/nuts/controllers
copying build/lib.linux-armv7l-cpython-313/falcon/bench/nuts/nuts/controllers/__init__.py -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/nuts/nuts/controllers
copying build/lib.linux-armv7l-cpython-313/falcon/bench/nuts/nuts/__init__.py -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/nuts/nuts
copying build/lib.linux-armv7l-cpython-313/falcon/bench/nuts/nuts/app.py -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/nuts/nuts
copying build/lib.linux-armv7l-cpython-313/falcon/bench/nuts/__init__.py -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/nuts
copying build/lib.linux-armv7l-cpython-313/falcon/bench/nuts/config.py -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/nuts
copying build/lib.linux-armv7l-cpython-313/falcon/bench/nuts/setup.py -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/nuts
copying build/lib.linux-armv7l-cpython-313/falcon/bench/bench.py -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/bench
copying build/lib.linux-armv7l-cpython-313/falcon/bench/__init__.py -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/bench
creating /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/queues
copying build/lib.linux-armv7l-cpython-313/falcon/bench/queues/api.py -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/queues
copying build/lib.linux-armv7l-cpython-313/falcon/bench/queues/queues.py -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/queues
copying build/lib.linux-armv7l-cpython-313/falcon/bench/queues/messages.py -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/queues
copying build/lib.linux-armv7l-cpython-313/falcon/bench/queues/stats.py -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/queues
copying build/lib.linux-armv7l-cpython-313/falcon/bench/queues/claims.py -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/queues
copying build/lib.linux-armv7l-cpython-313/falcon/bench/queues/__init__.py -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/queues
creating /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/dj
copying build/lib.linux-armv7l-cpython-313/falcon/bench/dj/manage.py -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/dj
copying build/lib.linux-armv7l-cpython-313/falcon/bench/dj/__init__.py -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/dj
creating /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/dj/hello
copying build/lib.linux-armv7l-cpython-313/falcon/bench/dj/hello/tests.py -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/dj/hello
copying build/lib.linux-armv7l-cpython-313/falcon/bench/dj/hello/apps.py -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/dj/hello
copying build/lib.linux-armv7l-cpython-313/falcon/bench/dj/hello/views.py -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/dj/hello
copying build/lib.linux-armv7l-cpython-313/falcon/bench/dj/hello/models.py -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/dj/hello
creating /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/dj/hello/migrations
copying build/lib.linux-armv7l-cpython-313/falcon/bench/dj/hello/migrations/__init__.py -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/dj/hello/migrations
copying build/lib.linux-armv7l-cpython-313/falcon/bench/dj/hello/__init__.py -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/dj/hello
copying build/lib.linux-armv7l-cpython-313/falcon/bench/dj/hello/admin.py -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/dj/hello
creating /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/dj/dj
copying build/lib.linux-armv7l-cpython-313/falcon/bench/dj/dj/wsgi.py -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/dj/dj
copying build/lib.linux-armv7l-cpython-313/falcon/bench/dj/dj/settings.py -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/dj/dj
copying build/lib.linux-armv7l-cpython-313/falcon/bench/dj/dj/urls.py -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/dj/dj
copying build/lib.linux-armv7l-cpython-313/falcon/bench/dj/dj/__init__.py -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/dj/dj
copying build/lib.linux-armv7l-cpython-313/falcon/app.cpython-313-arm-linux-gnueabihf.so -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon
copying build/lib.linux-armv7l-cpython-313/falcon/api_helpers.cpython-313-arm-linux-gnueabihf.so -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon
copying build/lib.linux-armv7l-cpython-313/falcon/constants.cpython-313-arm-linux-gnueabihf.so -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon
copying build/lib.linux-armv7l-cpython-313/falcon/inspect.cpython-313-arm-linux-gnueabihf.so -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon
copying build/lib.linux-armv7l-cpython-313/falcon/uri.cpython-313-arm-linux-gnueabihf.so -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon
copying build/lib.linux-armv7l-cpython-313/falcon/http_error.cpython-313-arm-linux-gnueabihf.so -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon
creating /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/media
copying build/lib.linux-armv7l-cpython-313/falcon/media/json.py -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/media
copying build/lib.linux-armv7l-cpython-313/falcon/media/handlers.cpython-313-arm-linux-gnueabihf.so -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/media
copying build/lib.linux-armv7l-cpython-313/falcon/media/base.py -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/media
copying build/lib.linux-armv7l-cpython-313/falcon/media/multipart.cpython-313-arm-linux-gnueabihf.so -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/media
copying build/lib.linux-armv7l-cpython-313/falcon/media/handlers.py -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/media
creating /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/media/validators
copying build/lib.linux-armv7l-cpython-313/falcon/media/validators/jsonschema.py -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/media/validators
copying build/lib.linux-armv7l-cpython-313/falcon/media/validators/__init__.py -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/media/validators
copying build/lib.linux-armv7l-cpython-313/falcon/media/json.cpython-313-arm-linux-gnueabihf.so -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/media
copying build/lib.linux-armv7l-cpython-313/falcon/media/base.cpython-313-arm-linux-gnueabihf.so -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/media
copying build/lib.linux-armv7l-cpython-313/falcon/media/urlencoded.py -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/media
copying build/lib.linux-armv7l-cpython-313/falcon/media/urlencoded.cpython-313-arm-linux-gnueabihf.so -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/media
copying build/lib.linux-armv7l-cpython-313/falcon/media/msgpack.cpython-313-arm-linux-gnueabihf.so -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/media
copying build/lib.linux-armv7l-cpython-313/falcon/media/multipart.py -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/media
copying build/lib.linux-armv7l-cpython-313/falcon/media/msgpack.py -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/media
copying build/lib.linux-armv7l-cpython-313/falcon/media/__init__.py -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/media
creating /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/vendor
creating /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/vendor/mimeparse
copying build/lib.linux-armv7l-cpython-313/falcon/vendor/mimeparse/mimeparse.cpython-313-arm-linux-gnueabihf.so -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/vendor/mimeparse
copying build/lib.linux-armv7l-cpython-313/falcon/vendor/mimeparse/__init__.py -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/vendor/mimeparse
copying build/lib.linux-armv7l-cpython-313/falcon/vendor/mimeparse/mimeparse.py -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/vendor/mimeparse
copying build/lib.linux-armv7l-cpython-313/falcon/vendor/__init__.py -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/vendor
copying build/lib.linux-armv7l-cpython-313/falcon/request.py -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon
copying build/lib.linux-armv7l-cpython-313/falcon/http_status.cpython-313-arm-linux-gnueabihf.so -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon
creating /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/cyutil
copying build/lib.linux-armv7l-cpython-313/falcon/cyutil/reader.pyx -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/cyutil
copying build/lib.linux-armv7l-cpython-313/falcon/cyutil/misc.cpython-313-arm-linux-gnueabihf.so -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/cyutil
copying build/lib.linux-armv7l-cpython-313/falcon/cyutil/uri.pyx -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/cyutil
copying build/lib.linux-armv7l-cpython-313/falcon/cyutil/uri.cpython-313-arm-linux-gnueabihf.so -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/cyutil
copying build/lib.linux-armv7l-cpython-313/falcon/cyutil/reader.cpython-313-arm-linux-gnueabihf.so -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/cyutil
copying build/lib.linux-armv7l-cpython-313/falcon/cyutil/misc.pyx -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/cyutil
copying build/lib.linux-armv7l-cpython-313/falcon/version.cpython-313-arm-linux-gnueabihf.so -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon
copying build/lib.linux-armv7l-cpython-313/falcon/request.cpython-313-arm-linux-gnueabihf.so -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon
copying build/lib.linux-armv7l-cpython-313/falcon/request_helpers.py -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon
creating /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/util
copying build/lib.linux-armv7l-cpython-313/falcon/util/misc.cpython-313-arm-linux-gnueabihf.so -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/util
copying build/lib.linux-armv7l-cpython-313/falcon/util/uri.cpython-313-arm-linux-gnueabihf.so -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/util
copying build/lib.linux-armv7l-cpython-313/falcon/util/sync.py -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/util
copying build/lib.linux-armv7l-cpython-313/falcon/util/reader.py -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/util
copying build/lib.linux-armv7l-cpython-313/falcon/util/mediatypes.cpython-313-arm-linux-gnueabihf.so -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/util
copying build/lib.linux-armv7l-cpython-313/falcon/util/misc.py -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/util
copying build/lib.linux-armv7l-cpython-313/falcon/util/structures.py -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/util
copying build/lib.linux-armv7l-cpython-313/falcon/util/deprecation.py -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/util
copying build/lib.linux-armv7l-cpython-313/falcon/util/structures.cpython-313-arm-linux-gnueabihf.so -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/util
copying build/lib.linux-armv7l-cpython-313/falcon/util/time.cpython-313-arm-linux-gnueabihf.so -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/util
copying build/lib.linux-armv7l-cpython-313/falcon/util/mediatypes.py -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/util
copying build/lib.linux-armv7l-cpython-313/falcon/util/deprecation.cpython-313-arm-linux-gnueabihf.so -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/util
copying build/lib.linux-armv7l-cpython-313/falcon/util/time.py -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/util
copying build/lib.linux-armv7l-cpython-313/falcon/util/__init__.py -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/util
copying build/lib.linux-armv7l-cpython-313/falcon/util/uri.py -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/util
copying build/lib.linux-armv7l-cpython-313/falcon/response.cpython-313-arm-linux-gnueabihf.so -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon
copying build/lib.linux-armv7l-cpython-313/falcon/http_error.py -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon
copying build/lib.linux-armv7l-cpython-313/falcon/responders.py -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon
copying build/lib.linux-armv7l-cpython-313/falcon/errors.cpython-313-arm-linux-gnueabihf.so -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon
creating /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/testing
copying build/lib.linux-armv7l-cpython-313/falcon/testing/test_case.py -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/testing
copying build/lib.linux-armv7l-cpython-313/falcon/testing/client.py -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/testing
copying build/lib.linux-armv7l-cpython-313/falcon/testing/srmock.py -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/testing
copying build/lib.linux-armv7l-cpython-313/falcon/testing/resource.py -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/testing
copying build/lib.linux-armv7l-cpython-313/falcon/testing/helpers.py -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/testing
copying build/lib.linux-armv7l-cpython-313/falcon/testing/__init__.py -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/testing
copying build/lib.linux-armv7l-cpython-313/falcon/http_status.py -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon
copying build/lib.linux-armv7l-cpython-313/falcon/hooks.py -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon
copying build/lib.linux-armv7l-cpython-313/falcon/api_helpers.py -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon
copying build/lib.linux-armv7l-cpython-313/falcon/inspect.py -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon
copying build/lib.linux-armv7l-cpython-313/falcon/constants.py -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon
copying build/lib.linux-armv7l-cpython-313/falcon/version.py -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon
copying build/lib.linux-armv7l-cpython-313/falcon/stream.cpython-313-arm-linux-gnueabihf.so -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon
copying build/lib.linux-armv7l-cpython-313/falcon/status_codes.py -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon
creating /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/routing
copying build/lib.linux-armv7l-cpython-313/falcon/routing/static.cpython-313-arm-linux-gnueabihf.so -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/routing
copying build/lib.linux-armv7l-cpython-313/falcon/routing/compiled.cpython-313-arm-linux-gnueabihf.so -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/routing
copying build/lib.linux-armv7l-cpython-313/falcon/routing/converters.cpython-313-arm-linux-gnueabihf.so -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/routing
copying build/lib.linux-armv7l-cpython-313/falcon/routing/static.py -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/routing
copying build/lib.linux-armv7l-cpython-313/falcon/routing/converters.py -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/routing
copying build/lib.linux-armv7l-cpython-313/falcon/routing/util.cpython-313-arm-linux-gnueabihf.so -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/routing
copying build/lib.linux-armv7l-cpython-313/falcon/routing/util.py -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/routing
copying build/lib.linux-armv7l-cpython-313/falcon/routing/__init__.py -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/routing
copying build/lib.linux-armv7l-cpython-313/falcon/routing/compiled.py -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/routing
copying build/lib.linux-armv7l-cpython-313/falcon/forwarded.cpython-313-arm-linux-gnueabihf.so -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon
copying build/lib.linux-armv7l-cpython-313/falcon/__init__.py -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon
copying build/lib.linux-armv7l-cpython-313/falcon/status_codes.cpython-313-arm-linux-gnueabihf.so -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon
copying build/lib.linux-armv7l-cpython-313/falcon/forwarded.py -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon
copying build/lib.linux-armv7l-cpython-313/falcon/response.py -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon
copying build/lib.linux-armv7l-cpython-313/falcon/request_helpers.cpython-313-arm-linux-gnueabihf.so -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon
copying build/lib.linux-armv7l-cpython-313/falcon/uri.py -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon
copying build/lib.linux-armv7l-cpython-313/falcon/middleware.cpython-313-arm-linux-gnueabihf.so -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon
copying build/lib.linux-armv7l-cpython-313/falcon/app_helpers.cpython-313-arm-linux-gnueabihf.so -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon
copying build/lib.linux-armv7l-cpython-313/falcon/app.py -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/asgi/stream.py to stream.cpython-313.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/asgi/ws.py to ws.cpython-313.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/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-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/asgi/reader.py to reader.cpython-313.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/asgi/request.py to request.cpython-313.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/asgi/_request_helpers.py to _request_helpers.cpython-313.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/asgi/structures.py to structures.cpython-313.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/asgi/multipart.py to multipart.cpython-313.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/asgi/__init__.py to __init__.cpython-313.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/asgi/response.py to response.cpython-313.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/asgi/app.py to app.cpython-313.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/redirects.py to redirects.cpython-313.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/stream.py to stream.cpython-313.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/response_helpers.py to response_helpers.cpython-313.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/asgi_spec.py to asgi_spec.cpython-313.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/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-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/cmd/bench.py to bench.cpython-313.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/cmd/__init__.py to __init__.cpython-313.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/middleware.py to middleware.cpython-313.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/errors.py to errors.cpython-313.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/app_helpers.py to app_helpers.cpython-313.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/create.py to create.cpython-313.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/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-3.1.1/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-3.1.1/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-3.1.1/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-3.1.1/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-3.1.1/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-3.1.1/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-3.1.1/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-3.1.1/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-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/nuts/__init__.py to __init__.cpython-313.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/nuts/config.py to config.cpython-313.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/nuts/setup.py to setup.cpython-313.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/bench.py to bench.cpython-313.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/__init__.py to __init__.cpython-313.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/queues/api.py to api.cpython-313.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/queues/queues.py to queues.cpython-313.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/queues/messages.py to messages.cpython-313.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/queues/stats.py to stats.cpython-313.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/queues/claims.py to claims.cpython-313.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/queues/__init__.py to __init__.cpython-313.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/dj/manage.py to manage.cpython-313.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/dj/__init__.py to __init__.cpython-313.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/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-3.1.1/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-3.1.1/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-3.1.1/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-3.1.1/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-3.1.1/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-3.1.1/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-3.1.1/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-3.1.1/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-3.1.1/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-3.1.1/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-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/media/json.py to json.cpython-313.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/media/base.py to base.cpython-313.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/media/handlers.py to handlers.cpython-313.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/media/validators/jsonschema.py to jsonschema.cpython-313.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/media/validators/__init__.py to __init__.cpython-313.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/media/urlencoded.py to urlencoded.cpython-313.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/media/multipart.py to multipart.cpython-313.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/media/msgpack.py to msgpack.cpython-313.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/media/__init__.py to __init__.cpython-313.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/vendor/mimeparse/__init__.py to __init__.cpython-313.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/vendor/mimeparse/mimeparse.py to mimeparse.cpython-313.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/vendor/__init__.py to __init__.cpython-313.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/request.py to request.cpython-313.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/request_helpers.py to request_helpers.cpython-313.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/util/sync.py to sync.cpython-313.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/util/reader.py to reader.cpython-313.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/util/misc.py to misc.cpython-313.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/util/structures.py to structures.cpython-313.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/util/deprecation.py to deprecation.cpython-313.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/util/mediatypes.py to mediatypes.cpython-313.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/util/time.py to time.cpython-313.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/util/__init__.py to __init__.cpython-313.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/util/uri.py to uri.cpython-313.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/http_error.py to http_error.cpython-313.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/responders.py to responders.cpython-313.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/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-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/testing/client.py to client.cpython-313.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/testing/srmock.py to srmock.cpython-313.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/testing/resource.py to resource.cpython-313.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/testing/helpers.py to helpers.cpython-313.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/testing/__init__.py to __init__.cpython-313.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/http_status.py to http_status.cpython-313.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/hooks.py to hooks.cpython-313.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/api_helpers.py to api_helpers.cpython-313.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/inspect.py to inspect.cpython-313.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/constants.py to constants.cpython-313.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/version.py to version.cpython-313.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/status_codes.py to status_codes.cpython-313.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/routing/static.py to static.cpython-313.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/routing/converters.py to converters.cpython-313.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/routing/util.py to util.cpython-313.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/routing/__init__.py to __init__.cpython-313.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/routing/compiled.py to compiled.cpython-313.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/__init__.py to __init__.cpython-313.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/forwarded.py to forwarded.cpython-313.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/response.py to response.cpython-313.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/uri.py to uri.cpython-313.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/app.py to app.cpython-313.pyc
running install_egg_info
Copying falcon.egg-info to /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon-3.1.1.egg-info
Skipping SOURCES.txt
running install_scripts
Installing falcon-bench script to /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/bin
Installing falcon-inspect-app script to /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/bin
Installing falcon-print-routes script to /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/bin
+ for pyvers in ${PYTHON3S}
++ pwd
+ python3.12 setup.py install --install-layout=deb --root /build/reproducible-path/python-falcon-3.1.1/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-armv7l-cpython-312/falcon
copying falcon/redirects.py -> build/lib.linux-armv7l-cpython-312/falcon
copying falcon/stream.py -> build/lib.linux-armv7l-cpython-312/falcon
copying falcon/response_helpers.py -> build/lib.linux-armv7l-cpython-312/falcon
copying falcon/asgi_spec.py -> build/lib.linux-armv7l-cpython-312/falcon
copying falcon/middleware.py -> build/lib.linux-armv7l-cpython-312/falcon
copying falcon/errors.py -> build/lib.linux-armv7l-cpython-312/falcon
copying falcon/app_helpers.py -> build/lib.linux-armv7l-cpython-312/falcon
copying falcon/request.py -> build/lib.linux-armv7l-cpython-312/falcon
copying falcon/request_helpers.py -> build/lib.linux-armv7l-cpython-312/falcon
copying falcon/http_error.py -> build/lib.linux-armv7l-cpython-312/falcon
copying falcon/responders.py -> build/lib.linux-armv7l-cpython-312/falcon
copying falcon/http_status.py -> build/lib.linux-armv7l-cpython-312/falcon
copying falcon/hooks.py -> build/lib.linux-armv7l-cpython-312/falcon
copying falcon/api_helpers.py -> build/lib.linux-armv7l-cpython-312/falcon
copying falcon/inspect.py -> build/lib.linux-armv7l-cpython-312/falcon
copying falcon/constants.py -> build/lib.linux-armv7l-cpython-312/falcon
copying falcon/version.py -> build/lib.linux-armv7l-cpython-312/falcon
copying falcon/status_codes.py -> build/lib.linux-armv7l-cpython-312/falcon
copying falcon/__init__.py -> build/lib.linux-armv7l-cpython-312/falcon
copying falcon/forwarded.py -> build/lib.linux-armv7l-cpython-312/falcon
copying falcon/response.py -> build/lib.linux-armv7l-cpython-312/falcon
copying falcon/uri.py -> build/lib.linux-armv7l-cpython-312/falcon
copying falcon/app.py -> build/lib.linux-armv7l-cpython-312/falcon
creating build/lib.linux-armv7l-cpython-312/falcon/asgi
copying falcon/asgi/stream.py -> build/lib.linux-armv7l-cpython-312/falcon/asgi
copying falcon/asgi/ws.py -> build/lib.linux-armv7l-cpython-312/falcon/asgi
copying falcon/asgi/_asgi_helpers.py -> build/lib.linux-armv7l-cpython-312/falcon/asgi
copying falcon/asgi/reader.py -> build/lib.linux-armv7l-cpython-312/falcon/asgi
copying falcon/asgi/request.py -> build/lib.linux-armv7l-cpython-312/falcon/asgi
copying falcon/asgi/_request_helpers.py -> build/lib.linux-armv7l-cpython-312/falcon/asgi
copying falcon/asgi/structures.py -> build/lib.linux-armv7l-cpython-312/falcon/asgi
copying falcon/asgi/multipart.py -> build/lib.linux-armv7l-cpython-312/falcon/asgi
copying falcon/asgi/__init__.py -> build/lib.linux-armv7l-cpython-312/falcon/asgi
copying falcon/asgi/response.py -> build/lib.linux-armv7l-cpython-312/falcon/asgi
copying falcon/asgi/app.py -> build/lib.linux-armv7l-cpython-312/falcon/asgi
creating build/lib.linux-armv7l-cpython-312/falcon/cmd
copying falcon/cmd/inspect_app.py -> build/lib.linux-armv7l-cpython-312/falcon/cmd
copying falcon/cmd/bench.py -> build/lib.linux-armv7l-cpython-312/falcon/cmd
copying falcon/cmd/__init__.py -> build/lib.linux-armv7l-cpython-312/falcon/cmd
creating build/lib.linux-armv7l-cpython-312/falcon/bench
copying falcon/bench/create.py -> build/lib.linux-armv7l-cpython-312/falcon/bench
copying falcon/bench/bench.py -> build/lib.linux-armv7l-cpython-312/falcon/bench
copying falcon/bench/__init__.py -> build/lib.linux-armv7l-cpython-312/falcon/bench
creating build/lib.linux-armv7l-cpython-312/falcon/media
copying falcon/media/json.py -> build/lib.linux-armv7l-cpython-312/falcon/media
copying falcon/media/base.py -> build/lib.linux-armv7l-cpython-312/falcon/media
copying falcon/media/handlers.py -> build/lib.linux-armv7l-cpython-312/falcon/media
copying falcon/media/urlencoded.py -> build/lib.linux-armv7l-cpython-312/falcon/media
copying falcon/media/multipart.py -> build/lib.linux-armv7l-cpython-312/falcon/media
copying falcon/media/msgpack.py -> build/lib.linux-armv7l-cpython-312/falcon/media
copying falcon/media/__init__.py -> build/lib.linux-armv7l-cpython-312/falcon/media
creating build/lib.linux-armv7l-cpython-312/falcon/vendor
copying falcon/vendor/__init__.py -> build/lib.linux-armv7l-cpython-312/falcon/vendor
creating build/lib.linux-armv7l-cpython-312/falcon/util
copying falcon/util/sync.py -> build/lib.linux-armv7l-cpython-312/falcon/util
copying falcon/util/reader.py -> build/lib.linux-armv7l-cpython-312/falcon/util
copying falcon/util/misc.py -> build/lib.linux-armv7l-cpython-312/falcon/util
copying falcon/util/structures.py -> build/lib.linux-armv7l-cpython-312/falcon/util
copying falcon/util/deprecation.py -> build/lib.linux-armv7l-cpython-312/falcon/util
copying falcon/util/mediatypes.py -> build/lib.linux-armv7l-cpython-312/falcon/util
copying falcon/util/time.py -> build/lib.linux-armv7l-cpython-312/falcon/util
copying falcon/util/__init__.py -> build/lib.linux-armv7l-cpython-312/falcon/util
copying falcon/util/uri.py -> build/lib.linux-armv7l-cpython-312/falcon/util
creating build/lib.linux-armv7l-cpython-312/falcon/testing
copying falcon/testing/test_case.py -> build/lib.linux-armv7l-cpython-312/falcon/testing
copying falcon/testing/client.py -> build/lib.linux-armv7l-cpython-312/falcon/testing
copying falcon/testing/srmock.py -> build/lib.linux-armv7l-cpython-312/falcon/testing
copying falcon/testing/resource.py -> build/lib.linux-armv7l-cpython-312/falcon/testing
copying falcon/testing/helpers.py -> build/lib.linux-armv7l-cpython-312/falcon/testing
copying falcon/testing/__init__.py -> build/lib.linux-armv7l-cpython-312/falcon/testing
creating build/lib.linux-armv7l-cpython-312/falcon/routing
copying falcon/routing/static.py -> build/lib.linux-armv7l-cpython-312/falcon/routing
copying falcon/routing/converters.py -> build/lib.linux-armv7l-cpython-312/falcon/routing
copying falcon/routing/util.py -> build/lib.linux-armv7l-cpython-312/falcon/routing
copying falcon/routing/__init__.py -> build/lib.linux-armv7l-cpython-312/falcon/routing
copying falcon/routing/compiled.py -> build/lib.linux-armv7l-cpython-312/falcon/routing
creating build/lib.linux-armv7l-cpython-312/falcon/bench/nuts
copying falcon/bench/nuts/__init__.py -> build/lib.linux-armv7l-cpython-312/falcon/bench/nuts
copying falcon/bench/nuts/config.py -> build/lib.linux-armv7l-cpython-312/falcon/bench/nuts
copying falcon/bench/nuts/setup.py -> build/lib.linux-armv7l-cpython-312/falcon/bench/nuts
creating build/lib.linux-armv7l-cpython-312/falcon/bench/queues
copying falcon/bench/queues/api.py -> build/lib.linux-armv7l-cpython-312/falcon/bench/queues
copying falcon/bench/queues/queues.py -> build/lib.linux-armv7l-cpython-312/falcon/bench/queues
copying falcon/bench/queues/messages.py -> build/lib.linux-armv7l-cpython-312/falcon/bench/queues
copying falcon/bench/queues/stats.py -> build/lib.linux-armv7l-cpython-312/falcon/bench/queues
copying falcon/bench/queues/claims.py -> build/lib.linux-armv7l-cpython-312/falcon/bench/queues
copying falcon/bench/queues/__init__.py -> build/lib.linux-armv7l-cpython-312/falcon/bench/queues
creating build/lib.linux-armv7l-cpython-312/falcon/bench/dj
copying falcon/bench/dj/manage.py -> build/lib.linux-armv7l-cpython-312/falcon/bench/dj
copying falcon/bench/dj/__init__.py -> build/lib.linux-armv7l-cpython-312/falcon/bench/dj
creating build/lib.linux-armv7l-cpython-312/falcon/bench/nuts/nuts
copying falcon/bench/nuts/nuts/__init__.py -> build/lib.linux-armv7l-cpython-312/falcon/bench/nuts/nuts
copying falcon/bench/nuts/nuts/app.py -> build/lib.linux-armv7l-cpython-312/falcon/bench/nuts/nuts
creating build/lib.linux-armv7l-cpython-312/falcon/bench/nuts/nuts/tests
copying falcon/bench/nuts/nuts/tests/test_units.py -> build/lib.linux-armv7l-cpython-312/falcon/bench/nuts/nuts/tests
copying falcon/bench/nuts/nuts/tests/__init__.py -> build/lib.linux-armv7l-cpython-312/falcon/bench/nuts/nuts/tests
copying falcon/bench/nuts/nuts/tests/config.py -> build/lib.linux-armv7l-cpython-312/falcon/bench/nuts/nuts/tests
copying falcon/bench/nuts/nuts/tests/test_functional.py -> build/lib.linux-armv7l-cpython-312/falcon/bench/nuts/nuts/tests
creating build/lib.linux-armv7l-cpython-312/falcon/bench/nuts/nuts/model
copying falcon/bench/nuts/nuts/model/__init__.py -> build/lib.linux-armv7l-cpython-312/falcon/bench/nuts/nuts/model
creating build/lib.linux-armv7l-cpython-312/falcon/bench/nuts/nuts/controllers
copying falcon/bench/nuts/nuts/controllers/root.py -> build/lib.linux-armv7l-cpython-312/falcon/bench/nuts/nuts/controllers
copying falcon/bench/nuts/nuts/controllers/__init__.py -> build/lib.linux-armv7l-cpython-312/falcon/bench/nuts/nuts/controllers
creating build/lib.linux-armv7l-cpython-312/falcon/bench/dj/hello
copying falcon/bench/dj/hello/tests.py -> build/lib.linux-armv7l-cpython-312/falcon/bench/dj/hello
copying falcon/bench/dj/hello/apps.py -> build/lib.linux-armv7l-cpython-312/falcon/bench/dj/hello
copying falcon/bench/dj/hello/views.py -> build/lib.linux-armv7l-cpython-312/falcon/bench/dj/hello
copying falcon/bench/dj/hello/models.py -> build/lib.linux-armv7l-cpython-312/falcon/bench/dj/hello
copying falcon/bench/dj/hello/__init__.py -> build/lib.linux-armv7l-cpython-312/falcon/bench/dj/hello
copying falcon/bench/dj/hello/admin.py -> build/lib.linux-armv7l-cpython-312/falcon/bench/dj/hello
creating build/lib.linux-armv7l-cpython-312/falcon/bench/dj/dj
copying falcon/bench/dj/dj/wsgi.py -> build/lib.linux-armv7l-cpython-312/falcon/bench/dj/dj
copying falcon/bench/dj/dj/settings.py -> build/lib.linux-armv7l-cpython-312/falcon/bench/dj/dj
copying falcon/bench/dj/dj/urls.py -> build/lib.linux-armv7l-cpython-312/falcon/bench/dj/dj
copying falcon/bench/dj/dj/__init__.py -> build/lib.linux-armv7l-cpython-312/falcon/bench/dj/dj
creating build/lib.linux-armv7l-cpython-312/falcon/bench/dj/hello/migrations
copying falcon/bench/dj/hello/migrations/__init__.py -> build/lib.linux-armv7l-cpython-312/falcon/bench/dj/hello/migrations
creating build/lib.linux-armv7l-cpython-312/falcon/media/validators
copying falcon/media/validators/jsonschema.py -> build/lib.linux-armv7l-cpython-312/falcon/media/validators
copying falcon/media/validators/__init__.py -> build/lib.linux-armv7l-cpython-312/falcon/media/validators
creating build/lib.linux-armv7l-cpython-312/falcon/vendor/mimeparse
copying falcon/vendor/mimeparse/__init__.py -> build/lib.linux-armv7l-cpython-312/falcon/vendor/mimeparse
copying falcon/vendor/mimeparse/mimeparse.py -> build/lib.linux-armv7l-cpython-312/falcon/vendor/mimeparse
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 top-level names to falcon.egg-info/top_level.txt
reading manifest file 'falcon.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
adding license file 'LICENSE'
writing manifest file 'falcon.egg-info/SOURCES.txt'
/usr/lib/python3/dist-packages/setuptools/command/build_py.py:212: _Warning: Package 'falcon.cyutil' is absent from the `packages` configuration.
!!

        ********************************************************************************
        ############################
        # Package would be ignored #
        ############################
        Python recognizes 'falcon.cyutil' as an importable package[^1],
        but it is absent from setuptools' `packages` configuration.

        This leads to an ambiguous overall configuration. If you want to distribute this
        package, please make sure that 'falcon.cyutil' is explicitly added
        to the `packages` configuration field.

        Alternatively, you can also rely on setuptools' discovery methods
        (for example by using `find_namespace_packages(...)`/`find_namespace:`
        instead of `find_packages(...)`/`find:`).

        You can read more about "package discovery" on setuptools documentation page:

        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html

        If you don't want 'falcon.cyutil' to be distributed and are
        already explicitly excluding 'falcon.cyutil' via
        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,
        you can try to use `exclude_package_data`, or `include-package-data=False` in
        combination with a more fine grained `package-data` configuration.

        You can read more about "package data files" on setuptools documentation page:

        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html


        [^1]: For Python, any directory (with suitable naming) can be imported,
              even if it does not contain any `.py` files.
              On the other hand, currently there is no concept of package data
              directory, all directories are treated like packages.
        ********************************************************************************

!!
  check.warn(importable)
creating build/lib.linux-armv7l-cpython-312/falcon/cyutil
copying falcon/cyutil/misc.pyx -> build/lib.linux-armv7l-cpython-312/falcon/cyutil
copying falcon/cyutil/reader.pyx -> build/lib.linux-armv7l-cpython-312/falcon/cyutil
copying falcon/cyutil/uri.pyx -> build/lib.linux-armv7l-cpython-312/falcon/cyutil
running build_ext
building 'falcon.redirects' extension
creating build/temp.linux-armv7l-cpython-312/falcon
arm-linux-gnueabihf-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.12 -c falcon/redirects.c -o build/temp.linux-armv7l-cpython-312/falcon/redirects.o
arm-linux-gnueabihf-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-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-armv7l-cpython-312/falcon/redirects.o -L/usr/lib/arm-linux-gnueabihf -o build/lib.linux-armv7l-cpython-312/falcon/redirects.cpython-312-arm-linux-gnueabihf.so
building 'falcon.stream' extension
arm-linux-gnueabihf-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.12 -c falcon/stream.c -o build/temp.linux-armv7l-cpython-312/falcon/stream.o
arm-linux-gnueabihf-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-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-armv7l-cpython-312/falcon/stream.o -L/usr/lib/arm-linux-gnueabihf -o build/lib.linux-armv7l-cpython-312/falcon/stream.cpython-312-arm-linux-gnueabihf.so
building 'falcon.response_helpers' extension
arm-linux-gnueabihf-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.12 -c falcon/response_helpers.c -o build/temp.linux-armv7l-cpython-312/falcon/response_helpers.o
arm-linux-gnueabihf-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-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-armv7l-cpython-312/falcon/response_helpers.o -L/usr/lib/arm-linux-gnueabihf -o build/lib.linux-armv7l-cpython-312/falcon/response_helpers.cpython-312-arm-linux-gnueabihf.so
building 'falcon.asgi_spec' extension
arm-linux-gnueabihf-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.12 -c falcon/asgi_spec.c -o build/temp.linux-armv7l-cpython-312/falcon/asgi_spec.o
arm-linux-gnueabihf-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-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-armv7l-cpython-312/falcon/asgi_spec.o -L/usr/lib/arm-linux-gnueabihf -o build/lib.linux-armv7l-cpython-312/falcon/asgi_spec.cpython-312-arm-linux-gnueabihf.so
building 'falcon.middleware' extension
arm-linux-gnueabihf-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.12 -c falcon/middleware.c -o build/temp.linux-armv7l-cpython-312/falcon/middleware.o
arm-linux-gnueabihf-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-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-armv7l-cpython-312/falcon/middleware.o -L/usr/lib/arm-linux-gnueabihf -o build/lib.linux-armv7l-cpython-312/falcon/middleware.cpython-312-arm-linux-gnueabihf.so
building 'falcon.errors' extension
arm-linux-gnueabihf-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.12 -c falcon/errors.c -o build/temp.linux-armv7l-cpython-312/falcon/errors.o
arm-linux-gnueabihf-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-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-armv7l-cpython-312/falcon/errors.o -L/usr/lib/arm-linux-gnueabihf -o build/lib.linux-armv7l-cpython-312/falcon/errors.cpython-312-arm-linux-gnueabihf.so
building 'falcon.app_helpers' extension
arm-linux-gnueabihf-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.12 -c falcon/app_helpers.c -o build/temp.linux-armv7l-cpython-312/falcon/app_helpers.o
arm-linux-gnueabihf-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-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-armv7l-cpython-312/falcon/app_helpers.o -L/usr/lib/arm-linux-gnueabihf -o build/lib.linux-armv7l-cpython-312/falcon/app_helpers.cpython-312-arm-linux-gnueabihf.so
building 'falcon.request' extension
arm-linux-gnueabihf-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.12 -c falcon/request.c -o build/temp.linux-armv7l-cpython-312/falcon/request.o
arm-linux-gnueabihf-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-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-armv7l-cpython-312/falcon/request.o -L/usr/lib/arm-linux-gnueabihf -o build/lib.linux-armv7l-cpython-312/falcon/request.cpython-312-arm-linux-gnueabihf.so
building 'falcon.request_helpers' extension
arm-linux-gnueabihf-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.12 -c falcon/request_helpers.c -o build/temp.linux-armv7l-cpython-312/falcon/request_helpers.o
arm-linux-gnueabihf-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-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-armv7l-cpython-312/falcon/request_helpers.o -L/usr/lib/arm-linux-gnueabihf -o build/lib.linux-armv7l-cpython-312/falcon/request_helpers.cpython-312-arm-linux-gnueabihf.so
building 'falcon.http_error' extension
arm-linux-gnueabihf-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.12 -c falcon/http_error.c -o build/temp.linux-armv7l-cpython-312/falcon/http_error.o
arm-linux-gnueabihf-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-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-armv7l-cpython-312/falcon/http_error.o -L/usr/lib/arm-linux-gnueabihf -o build/lib.linux-armv7l-cpython-312/falcon/http_error.cpython-312-arm-linux-gnueabihf.so
building 'falcon.http_status' extension
arm-linux-gnueabihf-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.12 -c falcon/http_status.c -o build/temp.linux-armv7l-cpython-312/falcon/http_status.o
arm-linux-gnueabihf-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-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-armv7l-cpython-312/falcon/http_status.o -L/usr/lib/arm-linux-gnueabihf -o build/lib.linux-armv7l-cpython-312/falcon/http_status.cpython-312-arm-linux-gnueabihf.so
building 'falcon.api_helpers' extension
arm-linux-gnueabihf-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.12 -c falcon/api_helpers.c -o build/temp.linux-armv7l-cpython-312/falcon/api_helpers.o
arm-linux-gnueabihf-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-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-armv7l-cpython-312/falcon/api_helpers.o -L/usr/lib/arm-linux-gnueabihf -o build/lib.linux-armv7l-cpython-312/falcon/api_helpers.cpython-312-arm-linux-gnueabihf.so
building 'falcon.inspect' extension
arm-linux-gnueabihf-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.12 -c falcon/inspect.c -o build/temp.linux-armv7l-cpython-312/falcon/inspect.o
arm-linux-gnueabihf-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-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-armv7l-cpython-312/falcon/inspect.o -L/usr/lib/arm-linux-gnueabihf -o build/lib.linux-armv7l-cpython-312/falcon/inspect.cpython-312-arm-linux-gnueabihf.so
building 'falcon.constants' extension
arm-linux-gnueabihf-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.12 -c falcon/constants.c -o build/temp.linux-armv7l-cpython-312/falcon/constants.o
arm-linux-gnueabihf-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-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-armv7l-cpython-312/falcon/constants.o -L/usr/lib/arm-linux-gnueabihf -o build/lib.linux-armv7l-cpython-312/falcon/constants.cpython-312-arm-linux-gnueabihf.so
building 'falcon.version' extension
arm-linux-gnueabihf-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.12 -c falcon/version.c -o build/temp.linux-armv7l-cpython-312/falcon/version.o
arm-linux-gnueabihf-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-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-armv7l-cpython-312/falcon/version.o -L/usr/lib/arm-linux-gnueabihf -o build/lib.linux-armv7l-cpython-312/falcon/version.cpython-312-arm-linux-gnueabihf.so
building 'falcon.status_codes' extension
arm-linux-gnueabihf-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.12 -c falcon/status_codes.c -o build/temp.linux-armv7l-cpython-312/falcon/status_codes.o
arm-linux-gnueabihf-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-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-armv7l-cpython-312/falcon/status_codes.o -L/usr/lib/arm-linux-gnueabihf -o build/lib.linux-armv7l-cpython-312/falcon/status_codes.cpython-312-arm-linux-gnueabihf.so
building 'falcon.forwarded' extension
arm-linux-gnueabihf-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.12 -c falcon/forwarded.c -o build/temp.linux-armv7l-cpython-312/falcon/forwarded.o
arm-linux-gnueabihf-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-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-armv7l-cpython-312/falcon/forwarded.o -L/usr/lib/arm-linux-gnueabihf -o build/lib.linux-armv7l-cpython-312/falcon/forwarded.cpython-312-arm-linux-gnueabihf.so
building 'falcon.response' extension
arm-linux-gnueabihf-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.12 -c falcon/response.c -o build/temp.linux-armv7l-cpython-312/falcon/response.o
arm-linux-gnueabihf-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-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-armv7l-cpython-312/falcon/response.o -L/usr/lib/arm-linux-gnueabihf -o build/lib.linux-armv7l-cpython-312/falcon/response.cpython-312-arm-linux-gnueabihf.so
building 'falcon.uri' extension
arm-linux-gnueabihf-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.12 -c falcon/uri.c -o build/temp.linux-armv7l-cpython-312/falcon/uri.o
arm-linux-gnueabihf-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-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-armv7l-cpython-312/falcon/uri.o -L/usr/lib/arm-linux-gnueabihf -o build/lib.linux-armv7l-cpython-312/falcon/uri.cpython-312-arm-linux-gnueabihf.so
building 'falcon.app' extension
arm-linux-gnueabihf-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.12 -c falcon/app.c -o build/temp.linux-armv7l-cpython-312/falcon/app.o
arm-linux-gnueabihf-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-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-armv7l-cpython-312/falcon/app.o -L/usr/lib/arm-linux-gnueabihf -o build/lib.linux-armv7l-cpython-312/falcon/app.cpython-312-arm-linux-gnueabihf.so
building 'falcon.cyutil.reader' extension
creating build/temp.linux-armv7l-cpython-312/falcon/cyutil
arm-linux-gnueabihf-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.12 -c falcon/cyutil/reader.c -o build/temp.linux-armv7l-cpython-312/falcon/cyutil/reader.o
arm-linux-gnueabihf-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-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-armv7l-cpython-312/falcon/cyutil/reader.o -L/usr/lib/arm-linux-gnueabihf -o build/lib.linux-armv7l-cpython-312/falcon/cyutil/reader.cpython-312-arm-linux-gnueabihf.so
building 'falcon.cyutil.uri' extension
arm-linux-gnueabihf-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.12 -c falcon/cyutil/uri.c -o build/temp.linux-armv7l-cpython-312/falcon/cyutil/uri.o
arm-linux-gnueabihf-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-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-armv7l-cpython-312/falcon/cyutil/uri.o -L/usr/lib/arm-linux-gnueabihf -o build/lib.linux-armv7l-cpython-312/falcon/cyutil/uri.cpython-312-arm-linux-gnueabihf.so
building 'falcon.cyutil.misc' extension
arm-linux-gnueabihf-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.12 -c falcon/cyutil/misc.c -o build/temp.linux-armv7l-cpython-312/falcon/cyutil/misc.o
arm-linux-gnueabihf-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-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-armv7l-cpython-312/falcon/cyutil/misc.o -L/usr/lib/arm-linux-gnueabihf -o build/lib.linux-armv7l-cpython-312/falcon/cyutil/misc.cpython-312-arm-linux-gnueabihf.so
building 'falcon.media.json' extension
creating build/temp.linux-armv7l-cpython-312/falcon/media
arm-linux-gnueabihf-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.12 -c falcon/media/json.c -o build/temp.linux-armv7l-cpython-312/falcon/media/json.o
arm-linux-gnueabihf-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-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-armv7l-cpython-312/falcon/media/json.o -L/usr/lib/arm-linux-gnueabihf -o build/lib.linux-armv7l-cpython-312/falcon/media/json.cpython-312-arm-linux-gnueabihf.so
building 'falcon.media.base' extension
arm-linux-gnueabihf-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.12 -c falcon/media/base.c -o build/temp.linux-armv7l-cpython-312/falcon/media/base.o
arm-linux-gnueabihf-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-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-armv7l-cpython-312/falcon/media/base.o -L/usr/lib/arm-linux-gnueabihf -o build/lib.linux-armv7l-cpython-312/falcon/media/base.cpython-312-arm-linux-gnueabihf.so
building 'falcon.media.handlers' extension
arm-linux-gnueabihf-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.12 -c falcon/media/handlers.c -o build/temp.linux-armv7l-cpython-312/falcon/media/handlers.o
arm-linux-gnueabihf-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-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-armv7l-cpython-312/falcon/media/handlers.o -L/usr/lib/arm-linux-gnueabihf -o build/lib.linux-armv7l-cpython-312/falcon/media/handlers.cpython-312-arm-linux-gnueabihf.so
building 'falcon.media.urlencoded' extension
arm-linux-gnueabihf-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.12 -c falcon/media/urlencoded.c -o build/temp.linux-armv7l-cpython-312/falcon/media/urlencoded.o
arm-linux-gnueabihf-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-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-armv7l-cpython-312/falcon/media/urlencoded.o -L/usr/lib/arm-linux-gnueabihf -o build/lib.linux-armv7l-cpython-312/falcon/media/urlencoded.cpython-312-arm-linux-gnueabihf.so
building 'falcon.media.multipart' extension
arm-linux-gnueabihf-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.12 -c falcon/media/multipart.c -o build/temp.linux-armv7l-cpython-312/falcon/media/multipart.o
arm-linux-gnueabihf-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-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-armv7l-cpython-312/falcon/media/multipart.o -L/usr/lib/arm-linux-gnueabihf -o build/lib.linux-armv7l-cpython-312/falcon/media/multipart.cpython-312-arm-linux-gnueabihf.so
building 'falcon.media.msgpack' extension
arm-linux-gnueabihf-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.12 -c falcon/media/msgpack.c -o build/temp.linux-armv7l-cpython-312/falcon/media/msgpack.o
arm-linux-gnueabihf-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-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-armv7l-cpython-312/falcon/media/msgpack.o -L/usr/lib/arm-linux-gnueabihf -o build/lib.linux-armv7l-cpython-312/falcon/media/msgpack.cpython-312-arm-linux-gnueabihf.so
building 'falcon.routing.static' extension
creating build/temp.linux-armv7l-cpython-312/falcon/routing
arm-linux-gnueabihf-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.12 -c falcon/routing/static.c -o build/temp.linux-armv7l-cpython-312/falcon/routing/static.o
arm-linux-gnueabihf-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-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-armv7l-cpython-312/falcon/routing/static.o -L/usr/lib/arm-linux-gnueabihf -o build/lib.linux-armv7l-cpython-312/falcon/routing/static.cpython-312-arm-linux-gnueabihf.so
building 'falcon.routing.converters' extension
arm-linux-gnueabihf-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.12 -c falcon/routing/converters.c -o build/temp.linux-armv7l-cpython-312/falcon/routing/converters.o
arm-linux-gnueabihf-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-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-armv7l-cpython-312/falcon/routing/converters.o -L/usr/lib/arm-linux-gnueabihf -o build/lib.linux-armv7l-cpython-312/falcon/routing/converters.cpython-312-arm-linux-gnueabihf.so
building 'falcon.routing.util' extension
arm-linux-gnueabihf-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.12 -c falcon/routing/util.c -o build/temp.linux-armv7l-cpython-312/falcon/routing/util.o
arm-linux-gnueabihf-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-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-armv7l-cpython-312/falcon/routing/util.o -L/usr/lib/arm-linux-gnueabihf -o build/lib.linux-armv7l-cpython-312/falcon/routing/util.cpython-312-arm-linux-gnueabihf.so
building 'falcon.routing.compiled' extension
arm-linux-gnueabihf-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.12 -c falcon/routing/compiled.c -o build/temp.linux-armv7l-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:11770:19: note: in expansion of macro 'PyInt_FromSsize_t'
11770 |       __pyx_t_4 = PyInt_FromSsize_t(__pyx_v_resource_idx); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 536, __pyx_L1_error)
      |                   ^~~~~~~~~~~~~~~~~
falcon/routing/compiled.c:9780:14: note: '__pyx_v_resource_idx' was declared here
 9780 |   Py_ssize_t __pyx_v_resource_idx;
      |              ^~~~~~~~~~~~~~~~~~~~
arm-linux-gnueabihf-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-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-armv7l-cpython-312/falcon/routing/compiled.o -L/usr/lib/arm-linux-gnueabihf -o build/lib.linux-armv7l-cpython-312/falcon/routing/compiled.cpython-312-arm-linux-gnueabihf.so
building 'falcon.util.misc' extension
creating build/temp.linux-armv7l-cpython-312/falcon/util
arm-linux-gnueabihf-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.12 -c falcon/util/misc.c -o build/temp.linux-armv7l-cpython-312/falcon/util/misc.o
arm-linux-gnueabihf-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-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-armv7l-cpython-312/falcon/util/misc.o -L/usr/lib/arm-linux-gnueabihf -o build/lib.linux-armv7l-cpython-312/falcon/util/misc.cpython-312-arm-linux-gnueabihf.so
building 'falcon.util.structures' extension
arm-linux-gnueabihf-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.12 -c falcon/util/structures.c -o build/temp.linux-armv7l-cpython-312/falcon/util/structures.o
arm-linux-gnueabihf-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-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-armv7l-cpython-312/falcon/util/structures.o -L/usr/lib/arm-linux-gnueabihf -o build/lib.linux-armv7l-cpython-312/falcon/util/structures.cpython-312-arm-linux-gnueabihf.so
building 'falcon.util.deprecation' extension
arm-linux-gnueabihf-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.12 -c falcon/util/deprecation.c -o build/temp.linux-armv7l-cpython-312/falcon/util/deprecation.o
arm-linux-gnueabihf-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-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-armv7l-cpython-312/falcon/util/deprecation.o -L/usr/lib/arm-linux-gnueabihf -o build/lib.linux-armv7l-cpython-312/falcon/util/deprecation.cpython-312-arm-linux-gnueabihf.so
building 'falcon.util.mediatypes' extension
arm-linux-gnueabihf-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.12 -c falcon/util/mediatypes.c -o build/temp.linux-armv7l-cpython-312/falcon/util/mediatypes.o
arm-linux-gnueabihf-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-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-armv7l-cpython-312/falcon/util/mediatypes.o -L/usr/lib/arm-linux-gnueabihf -o build/lib.linux-armv7l-cpython-312/falcon/util/mediatypes.cpython-312-arm-linux-gnueabihf.so
building 'falcon.util.time' extension
arm-linux-gnueabihf-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.12 -c falcon/util/time.c -o build/temp.linux-armv7l-cpython-312/falcon/util/time.o
arm-linux-gnueabihf-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-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-armv7l-cpython-312/falcon/util/time.o -L/usr/lib/arm-linux-gnueabihf -o build/lib.linux-armv7l-cpython-312/falcon/util/time.cpython-312-arm-linux-gnueabihf.so
building 'falcon.util.uri' extension
arm-linux-gnueabihf-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.12 -c falcon/util/uri.c -o build/temp.linux-armv7l-cpython-312/falcon/util/uri.o
arm-linux-gnueabihf-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-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-armv7l-cpython-312/falcon/util/uri.o -L/usr/lib/arm-linux-gnueabihf -o build/lib.linux-armv7l-cpython-312/falcon/util/uri.cpython-312-arm-linux-gnueabihf.so
building 'falcon.vendor.mimeparse.mimeparse' extension
creating build/temp.linux-armv7l-cpython-312/falcon/vendor/mimeparse
arm-linux-gnueabihf-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/python-falcon-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.12 -c falcon/vendor/mimeparse/mimeparse.c -o build/temp.linux-armv7l-cpython-312/falcon/vendor/mimeparse/mimeparse.o
arm-linux-gnueabihf-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-3.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-armv7l-cpython-312/falcon/vendor/mimeparse/mimeparse.o -L/usr/lib/arm-linux-gnueabihf -o build/lib.linux-armv7l-cpython-312/falcon/vendor/mimeparse/mimeparse.cpython-312-arm-linux-gnueabihf.so
running install_lib
copying build/lib.linux-armv7l-cpython-312/falcon/stream.cpython-312-arm-linux-gnueabihf.so -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon
copying build/lib.linux-armv7l-cpython-312/falcon/response_helpers.cpython-312-arm-linux-gnueabihf.so -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon
copying build/lib.linux-armv7l-cpython-312/falcon/version.cpython-312-arm-linux-gnueabihf.so -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon
copying build/lib.linux-armv7l-cpython-312/falcon/errors.cpython-312-arm-linux-gnueabihf.so -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon
copying build/lib.linux-armv7l-cpython-312/falcon/app_helpers.cpython-312-arm-linux-gnueabihf.so -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon
copying build/lib.linux-armv7l-cpython-312/falcon/response.cpython-312-arm-linux-gnueabihf.so -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon
copying build/lib.linux-armv7l-cpython-312/falcon/constants.cpython-312-arm-linux-gnueabihf.so -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon
copying build/lib.linux-armv7l-cpython-312/falcon/request.cpython-312-arm-linux-gnueabihf.so -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon
copying build/lib.linux-armv7l-cpython-312/falcon/media/json.cpython-312-arm-linux-gnueabihf.so -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/media
copying build/lib.linux-armv7l-cpython-312/falcon/media/urlencoded.cpython-312-arm-linux-gnueabihf.so -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/media
copying build/lib.linux-armv7l-cpython-312/falcon/media/base.cpython-312-arm-linux-gnueabihf.so -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/media
copying build/lib.linux-armv7l-cpython-312/falcon/media/handlers.cpython-312-arm-linux-gnueabihf.so -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/media
copying build/lib.linux-armv7l-cpython-312/falcon/media/msgpack.cpython-312-arm-linux-gnueabihf.so -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/media
copying build/lib.linux-armv7l-cpython-312/falcon/media/multipart.cpython-312-arm-linux-gnueabihf.so -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/media
copying build/lib.linux-armv7l-cpython-312/falcon/http_error.cpython-312-arm-linux-gnueabihf.so -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon
copying build/lib.linux-armv7l-cpython-312/falcon/vendor/mimeparse/mimeparse.cpython-312-arm-linux-gnueabihf.so -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/vendor/mimeparse
copying build/lib.linux-armv7l-cpython-312/falcon/cyutil/reader.cpython-312-arm-linux-gnueabihf.so -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/cyutil
copying build/lib.linux-armv7l-cpython-312/falcon/cyutil/misc.cpython-312-arm-linux-gnueabihf.so -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/cyutil
copying build/lib.linux-armv7l-cpython-312/falcon/cyutil/uri.cpython-312-arm-linux-gnueabihf.so -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/cyutil
copying build/lib.linux-armv7l-cpython-312/falcon/redirects.cpython-312-arm-linux-gnueabihf.so -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon
copying build/lib.linux-armv7l-cpython-312/falcon/util/mediatypes.cpython-312-arm-linux-gnueabihf.so -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/util
copying build/lib.linux-armv7l-cpython-312/falcon/util/structures.cpython-312-arm-linux-gnueabihf.so -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/util
copying build/lib.linux-armv7l-cpython-312/falcon/util/misc.cpython-312-arm-linux-gnueabihf.so -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/util
copying build/lib.linux-armv7l-cpython-312/falcon/util/deprecation.cpython-312-arm-linux-gnueabihf.so -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/util
copying build/lib.linux-armv7l-cpython-312/falcon/util/uri.cpython-312-arm-linux-gnueabihf.so -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/util
copying build/lib.linux-armv7l-cpython-312/falcon/util/time.cpython-312-arm-linux-gnueabihf.so -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/util
copying build/lib.linux-armv7l-cpython-312/falcon/request_helpers.cpython-312-arm-linux-gnueabihf.so -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon
copying build/lib.linux-armv7l-cpython-312/falcon/api_helpers.cpython-312-arm-linux-gnueabihf.so -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon
copying build/lib.linux-armv7l-cpython-312/falcon/asgi_spec.cpython-312-arm-linux-gnueabihf.so -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon
copying build/lib.linux-armv7l-cpython-312/falcon/uri.cpython-312-arm-linux-gnueabihf.so -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon
copying build/lib.linux-armv7l-cpython-312/falcon/middleware.cpython-312-arm-linux-gnueabihf.so -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon
copying build/lib.linux-armv7l-cpython-312/falcon/forwarded.cpython-312-arm-linux-gnueabihf.so -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon
copying build/lib.linux-armv7l-cpython-312/falcon/app.cpython-312-arm-linux-gnueabihf.so -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon
copying build/lib.linux-armv7l-cpython-312/falcon/routing/static.cpython-312-arm-linux-gnueabihf.so -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/routing
copying build/lib.linux-armv7l-cpython-312/falcon/routing/util.cpython-312-arm-linux-gnueabihf.so -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/routing
copying build/lib.linux-armv7l-cpython-312/falcon/routing/compiled.cpython-312-arm-linux-gnueabihf.so -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/routing
copying build/lib.linux-armv7l-cpython-312/falcon/routing/converters.cpython-312-arm-linux-gnueabihf.so -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/routing
copying build/lib.linux-armv7l-cpython-312/falcon/status_codes.cpython-312-arm-linux-gnueabihf.so -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon
copying build/lib.linux-armv7l-cpython-312/falcon/inspect.cpython-312-arm-linux-gnueabihf.so -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon
copying build/lib.linux-armv7l-cpython-312/falcon/http_status.cpython-312-arm-linux-gnueabihf.so -> /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/asgi/stream.py to stream.cpython-312.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/asgi/ws.py to ws.cpython-312.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/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-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/asgi/reader.py to reader.cpython-312.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/asgi/request.py to request.cpython-312.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/asgi/_request_helpers.py to _request_helpers.cpython-312.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/asgi/structures.py to structures.cpython-312.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/asgi/multipart.py to multipart.cpython-312.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/asgi/__init__.py to __init__.cpython-312.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/asgi/response.py to response.cpython-312.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/asgi/app.py to app.cpython-312.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/redirects.py to redirects.cpython-312.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/stream.py to stream.cpython-312.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/response_helpers.py to response_helpers.cpython-312.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/asgi_spec.py to asgi_spec.cpython-312.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/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-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/cmd/bench.py to bench.cpython-312.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/cmd/__init__.py to __init__.cpython-312.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/middleware.py to middleware.cpython-312.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/errors.py to errors.cpython-312.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/app_helpers.py to app_helpers.cpython-312.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/create.py to create.cpython-312.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/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-3.1.1/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-3.1.1/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-3.1.1/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-3.1.1/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-3.1.1/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-3.1.1/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-3.1.1/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-3.1.1/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-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/nuts/__init__.py to __init__.cpython-312.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/nuts/config.py to config.cpython-312.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/nuts/setup.py to setup.cpython-312.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/bench.py to bench.cpython-312.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/__init__.py to __init__.cpython-312.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/queues/api.py to api.cpython-312.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/queues/queues.py to queues.cpython-312.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/queues/messages.py to messages.cpython-312.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/queues/stats.py to stats.cpython-312.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/queues/claims.py to claims.cpython-312.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/queues/__init__.py to __init__.cpython-312.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/dj/manage.py to manage.cpython-312.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/bench/dj/__init__.py to __init__.cpython-312.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/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-3.1.1/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-3.1.1/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-3.1.1/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-3.1.1/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-3.1.1/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-3.1.1/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-3.1.1/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-3.1.1/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-3.1.1/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-3.1.1/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-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/media/json.py to json.cpython-312.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/media/base.py to base.cpython-312.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/media/handlers.py to handlers.cpython-312.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/media/validators/jsonschema.py to jsonschema.cpython-312.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/media/validators/__init__.py to __init__.cpython-312.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/media/urlencoded.py to urlencoded.cpython-312.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/media/multipart.py to multipart.cpython-312.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/media/msgpack.py to msgpack.cpython-312.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/media/__init__.py to __init__.cpython-312.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/vendor/mimeparse/__init__.py to __init__.cpython-312.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/vendor/mimeparse/mimeparse.py to mimeparse.cpython-312.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/vendor/__init__.py to __init__.cpython-312.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/request.py to request.cpython-312.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/request_helpers.py to request_helpers.cpython-312.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/util/sync.py to sync.cpython-312.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/util/reader.py to reader.cpython-312.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/util/misc.py to misc.cpython-312.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/util/structures.py to structures.cpython-312.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/util/deprecation.py to deprecation.cpython-312.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/util/mediatypes.py to mediatypes.cpython-312.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/util/time.py to time.cpython-312.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/util/__init__.py to __init__.cpython-312.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/util/uri.py to uri.cpython-312.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/http_error.py to http_error.cpython-312.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/responders.py to responders.cpython-312.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/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-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/testing/client.py to client.cpython-312.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/testing/srmock.py to srmock.cpython-312.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/testing/resource.py to resource.cpython-312.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/testing/helpers.py to helpers.cpython-312.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/testing/__init__.py to __init__.cpython-312.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/http_status.py to http_status.cpython-312.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/hooks.py to hooks.cpython-312.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/api_helpers.py to api_helpers.cpython-312.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/inspect.py to inspect.cpython-312.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/constants.py to constants.cpython-312.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/version.py to version.cpython-312.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/status_codes.py to status_codes.cpython-312.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/routing/static.py to static.cpython-312.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/routing/converters.py to converters.cpython-312.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/routing/util.py to util.cpython-312.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/routing/__init__.py to __init__.cpython-312.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/routing/compiled.py to compiled.cpython-312.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/__init__.py to __init__.cpython-312.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/forwarded.py to forwarded.cpython-312.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/response.py to response.cpython-312.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/uri.py to uri.cpython-312.pyc
byte-compiling /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon/app.py to app.cpython-312.pyc
running install_egg_info
removing '/build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon-3.1.1.egg-info' (and everything under it)
Copying falcon.egg-info to /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/falcon-3.1.1.egg-info
Skipping SOURCES.txt
running install_scripts
Installing falcon-bench script to /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/bin
Installing falcon-inspect-app script to /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/bin
Installing falcon-print-routes script to /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/bin
++ pwd
+ rm -rf '/build/reproducible-path/python-falcon-3.1.1/debian/python*/usr/lib/python*/dist-packages/*.pth'
++ pwd
+ rm -rf '/build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python*/dist-packages/*.pth'
for i in 3.13 3.12 ; do \
	PYTHONPATH=/build/reproducible-path/python-falcon-3.1.1/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.1, pytest-8.3.4, pluggy-1.5.0 -- /usr/bin/python3.13
cachedir: .pytest_cache
rootdir: /build/reproducible-path/python-falcon-3.1.1
configfile: setup.cfg
plugins: typeguard-4.4.1, anyio-4.6.2
collecting ... collected 3309 items

tests/asgi/test_asgi_conductor.py::test_default_headers SKIPPED (asy...) [  0%]
tests/asgi/test_asgi_conductor.py::test_generic_request[request] SKIPPED [  0%]
tests/asgi/test_asgi_conductor.py::test_generic_request[simulate_request] SKIPPED [  0%]
tests/asgi/test_asgi_conductor.py::test_wsgi_not_supported SKIPPED (...) [  0%]
tests/asgi/test_asgi_conductor.py::test_responders[alias-get] SKIPPED    [  0%]
tests/asgi/test_asgi_conductor.py::test_responders[alias-head] SKIPPED   [  0%]
tests/asgi/test_asgi_conductor.py::test_responders[alias-post] SKIPPED   [  0%]
tests/asgi/test_asgi_conductor.py::test_responders[alias-put] SKIPPED    [  0%]
tests/asgi/test_asgi_conductor.py::test_responders[alias-options] SKIPPED [  0%]
tests/asgi/test_asgi_conductor.py::test_responders[alias-patch] SKIPPED  [  0%]
tests/asgi/test_asgi_conductor.py::test_responders[alias-delete] SKIPPED [  0%]
tests/asgi/test_asgi_conductor.py::test_responders[simulate-get] SKIPPED [  0%]
tests/asgi/test_asgi_conductor.py::test_responders[simulate-head] SKIPPED [  0%]
tests/asgi/test_asgi_conductor.py::test_responders[simulate-post] SKIPPED [  0%]
tests/asgi/test_asgi_conductor.py::test_responders[simulate-put] SKIPPED [  0%]
tests/asgi/test_asgi_conductor.py::test_responders[simulate-options] SKIPPED [  0%]
tests/asgi/test_asgi_conductor.py::test_responders[simulate-patch] SKIPPED [  0%]
tests/asgi/test_asgi_conductor.py::test_responders[simulate-delete] SKIPPED [  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 [  1%]
tests/asgi/test_boundedstream_asgi.py::test_read_all[False-True-null] SKIPPED [  1%]
tests/asgi/test_boundedstream_asgi.py::test_read_all[False-True-null-ff] SKIPPED [  1%]
tests/asgi/test_boundedstream_asgi.py::test_read_all[False-True-normal] SKIPPED [  1%]
tests/asgi/test_boundedstream_asgi.py::test_read_all[False-True-long] SKIPPED [  1%]
tests/asgi/test_boundedstream_asgi.py::test_read_all[False-True-random] SKIPPED [  1%]
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 [  2%]
tests/asgi/test_boundedstream_asgi.py::test_read_chunks[64-empty] PASSED [  2%]
tests/asgi/test_boundedstream_asgi.py::test_read_chunks[64-null] PASSED  [  2%]
tests/asgi/test_boundedstream_asgi.py::test_read_chunks[64-null-ff] PASSED [  2%]
tests/asgi/test_boundedstream_asgi.py::test_read_chunks[64-normal] PASSED [  2%]
tests/asgi/test_boundedstream_asgi.py::test_read_chunks[64-long] PASSED  [  2%]
tests/asgi/test_boundedstream_asgi.py::test_read_chunks[64-random] PASSED [  2%]
tests/asgi/test_boundedstream_asgi.py::test_read_chunks[100-empty] PASSED [  2%]
tests/asgi/test_boundedstream_asgi.py::test_read_chunks[100-null] PASSED [  2%]
tests/asgi/test_boundedstream_asgi.py::test_read_chunks[100-null-ff] PASSED [  2%]
tests/asgi/test_boundedstream_asgi.py::test_read_chunks[100-normal] PASSED [  2%]
tests/asgi/test_boundedstream_asgi.py::test_read_chunks[100-long] PASSED [  2%]
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  [  3%]
tests/asgi/test_buffered_reader.py::test_delimit[404-expected4] PASSED   [  3%]
tests/asgi/test_buffered_reader.py::test_exhaust PASSED                  [  3%]
tests/asgi/test_buffered_reader.py::test_peek[1] PASSED                  [  3%]
tests/asgi/test_buffered_reader.py::test_peek[2] PASSED                  [  3%]
tests/asgi/test_buffered_reader.py::test_peek[3] PASSED                  [  3%]
tests/asgi/test_buffered_reader.py::test_peek[5] PASSED                  [  3%]
tests/asgi/test_buffered_reader.py::test_peek[7] PASSED                  [  3%]
tests/asgi/test_buffered_reader.py::test_peek[8] PASSED                  [  3%]
tests/asgi/test_buffered_reader.py::test_peek_at_eof PASSED              [  3%]
tests/asgi/test_buffered_reader.py::test_pipe PASSED                     [  3%]
tests/asgi/test_buffered_reader.py::test_pipe_until_delimiter_not_found PASSED [  3%]
tests/asgi/test_buffered_reader.py::test_read[sizes0-expected0] PASSED   [  3%]
tests/asgi/test_buffered_reader.py::test_read[sizes1-expected1] PASSED   [  3%]
tests/asgi/test_buffered_reader.py::test_read[sizes2-expected2] PASSED   [  3%]
tests/asgi/test_buffered_reader.py::test_read[sizes3-expected3] PASSED   [  3%]
tests/asgi/test_buffered_reader.py::test_varying_read_size[1] PASSED     [  3%]
tests/asgi/test_buffered_reader.py::test_varying_read_size[16777216] PASSED [  3%]
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 [  4%]
tests/asgi/test_buffered_reader.py::test_read_until[20- -20-esting-True] PASSED [  4%]
tests/asgi/test_buffered_reader.py::test_read_until[20- -None-esting-False] PASSED [  4%]
tests/asgi/test_buffered_reader.py::test_read_until[20- -None-esting-True] PASSED [  4%]
tests/asgi/test_buffered_reader.py::test_read_until[0-Hell-13--False] PASSED [  4%]
tests/asgi/test_buffered_reader.py::test_read_until[0-Hell-13--True] PASSED [  4%]
tests/asgi/test_buffered_reader.py::test_read_until[1-ell-13--False] PASSED [  4%]
tests/asgi/test_buffered_reader.py::test_read_until[1-ell-13--True] PASSED [  4%]
tests/asgi/test_buffered_reader.py::test_read_until[2-ll-13--False] PASSED [  4%]
tests/asgi/test_buffered_reader.py::test_read_until[2-ll-13--True] PASSED [  4%]
tests/asgi/test_buffered_reader.py::test_read_until[3-l-13--False] PASSED [  4%]
tests/asgi/test_buffered_reader.py::test_read_until[3-l-13--True] PASSED [  4%]
tests/asgi/test_buffered_reader.py::test_read_until[2-l-13--False] PASSED [  4%]
tests/asgi/test_buffered_reader.py::test_read_until[2-l-13--True] PASSED [  4%]
tests/asgi/test_buffered_reader.py::test_read_until[0-good-13-Hello, World!-False] PASSED [  4%]
tests/asgi/test_buffered_reader.py::test_read_until[0-good-13-Hello, World!-True] PASSED [  4%]
tests/asgi/test_buffered_reader.py::test_read_until[7-good-19-World!\nJust testing-False] PASSED [  4%]
tests/asgi/test_buffered_reader.py::test_read_until[7-good-19-World!\nJust testing-True] PASSED [  4%]
tests/asgi/test_buffered_reader.py::test_read_until[7-good-33-World!\nJust testing some iterator-False] PASSED [  4%]
tests/asgi/test_buffered_reader.py::test_read_until[7-good-33-World!\nJust testing some iterator-True] PASSED [  4%]
tests/asgi/test_buffered_reader.py::test_read_until[7-good-34-World!\nJust testing some iterator -False] PASSED [  4%]
tests/asgi/test_buffered_reader.py::test_read_until[7-good-34-World!\nJust testing some iterator -True] PASSED [  4%]
tests/asgi/test_buffered_reader.py::test_read_until[7-good-1337-World!\nJust testing some iterator -False] PASSED [  4%]
tests/asgi/test_buffered_reader.py::test_read_until[7-good-1337-World!\nJust testing some iterator -True] PASSED [  4%]
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 [  5%]
tests/asgi/test_buffered_reader.py::test_read_until_shared_boundary[48] PASSED [  5%]
tests/asgi/test_buffered_reader.py::test_read_until_shared_boundary[49] PASSED [  5%]
tests/asgi/test_buffered_reader.py::test_read_until_shared_boundary[50] PASSED [  5%]
tests/asgi/test_buffered_reader.py::test_read_until_shared_boundary[51] PASSED [  5%]
tests/asgi/test_buffered_reader.py::test_read_until_shared_boundary[52] PASSED [  5%]
tests/asgi/test_buffered_reader.py::test_read_until_shared_boundary[53] PASSED [  5%]
tests/asgi/test_buffered_reader.py::test_read_until_shared_boundary[54] PASSED [  5%]
tests/asgi/test_buffered_reader.py::test_read_until_shared_boundary[55] PASSED [  5%]
tests/asgi/test_buffered_reader.py::test_read_until_shared_boundary[56] PASSED [  5%]
tests/asgi/test_buffered_reader.py::test_read_until_shared_boundary[57] PASSED [  5%]
tests/asgi/test_buffered_reader.py::test_read_until_shared_boundary[58] PASSED [  5%]
tests/asgi/test_buffered_reader.py::test_read_until_shared_boundary[59] PASSED [  5%]
tests/asgi/test_buffered_reader.py::test_read_until_shared_boundary[60] PASSED [  5%]
tests/asgi/test_buffered_reader.py::test_read_until_shared_boundary[61] PASSED [  5%]
tests/asgi/test_buffered_reader.py::test_read_until_shared_boundary[62] PASSED [  5%]
tests/asgi/test_buffered_reader.py::test_small_reads PASSED              [  5%]
tests/asgi/test_buffered_reader.py::test_small_reads_with_delimiter PASSED [  5%]
tests/asgi/test_hello_asgi.py::TestHelloWorld::test_env_headers_list_of_tuples PASSED [  5%]
tests/asgi/test_hello_asgi.py::TestHelloWorld::test_root_route PASSED    [  5%]
tests/asgi/test_hello_asgi.py::TestHelloWorld::test_no_route PASSED      [  5%]
tests/asgi/test_hello_asgi.py::TestHelloWorld::test_body[/body-resource0-<lambda>] PASSED [  5%]
tests/asgi/test_hello_asgi.py::TestHelloWorld::test_body[/bytes-resource1-<lambda>] PASSED [  5%]
tests/asgi/test_hello_asgi.py::TestHelloWorld::test_body[/data-resource2-<lambda>] PASSED [  5%]
tests/asgi/test_hello_asgi.py::TestHelloWorld::test_no_body_on_head PASSED [  5%]
tests/asgi/test_hello_asgi.py::TestHelloWorld::test_stream_chunked PASSED [  5%]
tests/asgi/test_hello_asgi.py::TestHelloWorld::test_stream_known_len PASSED [  5%]
tests/asgi/test_hello_asgi.py::TestHelloWorld::test_filelike PASSED      [  5%]
tests/asgi/test_hello_asgi.py::TestHelloWorld::test_genfunc_error PASSED [  5%]
tests/asgi/test_hello_asgi.py::TestHelloWorld::test_nongenfunc_error PASSED [  5%]
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 [  6%]
tests/asgi/test_hello_asgi.py::TestHelloWorld::test_closing_stream[10-3-3\n3\n3\n1\n-None] PASSED [  6%]
tests/asgi/test_hello_asgi.py::TestHelloWorld::test_closing_stream[10-7-7\n3\n-None] PASSED [  6%]
tests/asgi/test_hello_asgi.py::TestHelloWorld::test_closing_stream[10-17-10\n-None] PASSED [  6%]
tests/asgi/test_hello_asgi.py::TestHelloWorld::test_closing_stream[20-0--ZeroDivisionError] PASSED [  6%]
tests/asgi/test_hello_asgi.py::TestHelloWorld::test_status_not_set PASSED [  6%]
tests/asgi/test_hello_asgi.py::TestHelloWorld::test_coroutine_required PASSED [  6%]
tests/asgi/test_hello_asgi.py::TestHelloWorld::test_noncoroutine_required PASSED [  6%]
tests/asgi/test_lifespan_handlers.py::test_at_least_one_event_method_required PASSED [  6%]
tests/asgi/test_lifespan_handlers.py::test_startup_only PASSED           [  6%]
tests/asgi/test_lifespan_handlers.py::test_startup_raises PASSED         [  6%]
tests/asgi/test_lifespan_handlers.py::test_shutdown_raises PASSED        [  6%]
tests/asgi/test_lifespan_handlers.py::test_shutdown_only PASSED          [  6%]
tests/asgi/test_lifespan_handlers.py::test_multiple_handlers PASSED      [  6%]
tests/asgi/test_lifespan_handlers.py::test_asgi_conductor_raised_error_skips_shutdown PASSED [  6%]
tests/asgi/test_middleware_asgi.py::test_raise_on_incompatible[middleware0] PASSED [  6%]
tests/asgi/test_middleware_asgi.py::test_raise_on_incompatible[middleware1] PASSED [  6%]
tests/asgi/test_middleware_asgi.py::test_raise_on_incompatible[middleware2] PASSED [  6%]
tests/asgi/test_middleware_asgi.py::test_raise_on_incompatible[middleware3] PASSED [  6%]
tests/asgi/test_request_asgi.py::test_missing_server_in_scope PASSED     [  6%]
tests/asgi/test_request_asgi.py::test_log_error_not_supported PASSED     [  6%]
tests/asgi/test_request_body_asgi.py::TestRequestBody::test_empty_body PASSED [  6%]
tests/asgi/test_request_body_asgi.py::TestRequestBody::test_tiny_body PASSED [  6%]
tests/asgi/test_request_body_asgi.py::TestRequestBody::test_tiny_body_overflow PASSED [  6%]
tests/asgi/test_request_body_asgi.py::TestRequestBody::test_content_length_smaller_than_body[1-0] SKIPPED [  6%]
tests/asgi/test_request_body_asgi.py::TestRequestBody::test_content_length_smaller_than_body[2-1] SKIPPED [  6%]
tests/asgi/test_request_body_asgi.py::TestRequestBody::test_content_length_smaller_than_body[3-2] SKIPPED [  6%]
tests/asgi/test_request_body_asgi.py::TestRequestBody::test_content_length_smaller_than_body[100-None] SKIPPED [  6%]
tests/asgi/test_request_body_asgi.py::TestRequestBody::test_content_length_smaller_than_body[100-50] SKIPPED [  6%]
tests/asgi/test_request_body_asgi.py::TestRequestBody::test_content_length_smaller_than_body[8192-50] SKIPPED [  6%]
tests/asgi/test_request_body_asgi.py::TestRequestBody::test_read_body PASSED [  6%]
tests/asgi/test_request_body_asgi.py::TestRequestBody::test_bounded_stream_alias PASSED [  6%]
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 [  7%]
tests/asgi/test_request_context_asgi.py::TestRequestContext::test_custom_request_context PASSED [  7%]
tests/asgi/test_request_context_asgi.py::TestRequestContext::test_custom_request_context_failure PASSED [  7%]
tests/asgi/test_request_context_asgi.py::TestRequestContext::test_custom_request_context_request_access PASSED [  7%]
tests/asgi/test_response_media_asgi.py::test_json[*/*] PASSED            [  7%]
tests/asgi/test_response_media_asgi.py::test_json[application/json] PASSED [  7%]
tests/asgi/test_response_media_asgi.py::test_json[application/json; charset=utf-8] PASSED [  7%]
tests/asgi/test_response_media_asgi.py::test_non_ascii_json_serialization[] PASSED [  7%]
tests/asgi/test_response_media_asgi.py::test_non_ascii_json_serialization[I am a \u1d0a\ua731\u1d0f\u0274 string.] PASSED [  7%]
tests/asgi/test_response_media_asgi.py::test_non_ascii_json_serialization[document2] PASSED [  7%]
tests/asgi/test_response_media_asgi.py::test_non_ascii_json_serialization[document3] PASSED [  7%]
tests/asgi/test_response_media_asgi.py::test_non_ascii_json_serialization[document4] PASSED [  7%]
tests/asgi/test_response_media_asgi.py::test_msgpack[application/msgpack] PASSED [  7%]
tests/asgi/test_response_media_asgi.py::test_msgpack[application/msgpack; charset=utf-8] PASSED [  7%]
tests/asgi/test_response_media_asgi.py::test_msgpack[application/x-msgpack] PASSED [  7%]
tests/asgi/test_response_media_asgi.py::test_custom_media_handler PASSED [  7%]
tests/asgi/test_response_media_asgi.py::test_unknown_media_type PASSED   [  7%]
tests/asgi/test_response_media_asgi.py::test_default_media_type PASSED   [  7%]
tests/asgi/test_response_media_asgi.py::test_mimeparse_edgecases[True] PASSED [  7%]
tests/asgi/test_response_media_asgi.py::test_mimeparse_edgecases[False] PASSED [  7%]
tests/asgi/test_response_media_asgi.py::TestRenderBodyPrecedence::test_text PASSED [  7%]
tests/asgi/test_response_media_asgi.py::TestRenderBodyPrecedence::test_body PASSED [  7%]
tests/asgi/test_response_media_asgi.py::TestRenderBodyPrecedence::test_data PASSED [  7%]
tests/asgi/test_response_media_asgi.py::TestRenderBodyPrecedence::test_data_masquerading_as_text PASSED [  7%]
tests/asgi/test_response_media_asgi.py::TestRenderBodyPrecedence::test_media PASSED [  7%]
tests/asgi/test_response_media_asgi.py::test_media_rendered_cached PASSED [  7%]
tests/asgi/test_response_media_asgi.py::test_custom_render_body PASSED   [  7%]
tests/asgi/test_scheduled_callbacks.py::test_multiple PASSED             [  7%]
tests/asgi/test_scheduled_callbacks.py::test_callback[GET-/-Hello, World!\n] PASSED [  7%]
tests/asgi/test_scheduled_callbacks.py::test_callback[HEAD-/-] PASSED    [  7%]
tests/asgi/test_scheduled_callbacks.py::test_callback[GET-/sse-: ping\n\n] PASSED [  7%]
tests/asgi/test_scheduled_callbacks.py::test_callback[GET-/stream-One\nTwo\nThree\n] PASSED [  7%]
tests/asgi/test_scope.py::test_missing_asgi_version PASSED               [  7%]
tests/asgi/test_scope.py::test_unsupported_http_version[0.9] PASSED      [  8%]
tests/asgi/test_scope.py::test_unsupported_http_version[1.9] PASSED      [  8%]
tests/asgi/test_scope.py::test_unsupported_http_version[4.0] PASSED      [  8%]
tests/asgi/test_scope.py::test_unsupported_http_version[1337] PASSED     [  8%]
tests/asgi/test_scope.py::test_supported_asgi_version[3.0-True] PASSED   [  8%]
tests/asgi/test_scope.py::test_supported_asgi_version[3.1-True] PASSED   [  8%]
tests/asgi/test_scope.py::test_supported_asgi_version[3.10-True] PASSED  [  8%]
tests/asgi/test_scope.py::test_supported_asgi_version[30.0-False] PASSED [  8%]
tests/asgi/test_scope.py::test_supported_asgi_version[31.0-False] PASSED [  8%]
tests/asgi/test_scope.py::test_supported_asgi_version[4.0-False] PASSED  [  8%]
tests/asgi/test_scope.py::test_supported_asgi_version[4.1-False] PASSED  [  8%]
tests/asgi/test_scope.py::test_supported_asgi_version[4.10-False] PASSED [  8%]
tests/asgi/test_scope.py::test_supported_asgi_version[40.0-False] PASSED [  8%]
tests/asgi/test_scope.py::test_supported_asgi_version[41.0-False] PASSED [  8%]
tests/asgi/test_scope.py::test_supported_asgi_version[2.0-False] PASSED  [  8%]
tests/asgi/test_scope.py::test_supported_asgi_version[2.1-False] PASSED  [  8%]
tests/asgi/test_scope.py::test_supported_asgi_version[2.10-False] PASSED [  8%]
tests/asgi/test_scope.py::test_supported_asgi_version[None-False] PASSED [  8%]
tests/asgi/test_scope.py::test_unsupported_scope_type[tubes] PASSED      [  8%]
tests/asgi/test_scope.py::test_unsupported_scope_type[http3] PASSED      [  8%]
tests/asgi/test_scope.py::test_unsupported_scope_type[htt] PASSED        [  8%]
tests/asgi/test_scope.py::test_supported_http_spec[0.0-False] PASSED     [  8%]
tests/asgi/test_scope.py::test_supported_http_spec[1.0-False] PASSED     [  8%]
tests/asgi/test_scope.py::test_supported_http_spec[11.0-False] PASSED    [  8%]
tests/asgi/test_scope.py::test_supported_http_spec[2.0-True] PASSED      [  8%]
tests/asgi/test_scope.py::test_supported_http_spec[2.1-True] PASSED      [  8%]
tests/asgi/test_scope.py::test_supported_http_spec[2.10-True] PASSED     [  8%]
tests/asgi/test_scope.py::test_supported_http_spec[20.0-False] PASSED    [  8%]
tests/asgi/test_scope.py::test_supported_http_spec[22.0-False] PASSED    [  8%]
tests/asgi/test_scope.py::test_supported_http_spec[3.0-False] PASSED     [  8%]
tests/asgi/test_scope.py::test_supported_http_spec[3.1-False] PASSED     [  8%]
tests/asgi/test_scope.py::test_supported_http_spec[30.0-False] PASSED    [  8%]
tests/asgi/test_scope.py::test_lifespan_scope_default_version PASSED     [  8%]
tests/asgi/test_scope.py::test_lifespan_scope_version[0.0-False] PASSED  [  9%]
tests/asgi/test_scope.py::test_lifespan_scope_version[1.0-True] PASSED   [  9%]
tests/asgi/test_scope.py::test_lifespan_scope_version[1.1-True] PASSED   [  9%]
tests/asgi/test_scope.py::test_lifespan_scope_version[1.10-True] PASSED  [  9%]
tests/asgi/test_scope.py::test_lifespan_scope_version[2.0-True] PASSED   [  9%]
tests/asgi/test_scope.py::test_lifespan_scope_version[2.1-True] PASSED   [  9%]
tests/asgi/test_scope.py::test_lifespan_scope_version[2.10-True] PASSED  [  9%]
tests/asgi/test_scope.py::test_lifespan_scope_version[3.0-False] PASSED  [  9%]
tests/asgi/test_scope.py::test_lifespan_scope_version[4.0-False] PASSED  [  9%]
tests/asgi/test_scope.py::test_lifespan_scope_version[11.0-False] PASSED [  9%]
tests/asgi/test_scope.py::test_lifespan_scope_version[22.0-False] PASSED [  9%]
tests/asgi/test_scope.py::test_query_string_values PASSED                [  9%]
tests/asgi/test_scope.py::test_scheme[http-True] PASSED                  [  9%]
tests/asgi/test_scope.py::test_scheme[https-True] PASSED                 [  9%]
tests/asgi/test_scope.py::test_scheme[htt-False] PASSED                  [  9%]
tests/asgi/test_scope.py::test_scheme[http:-False] PASSED                [  9%]
tests/asgi/test_scope.py::test_scheme[https:-False] PASSED               [  9%]
tests/asgi/test_scope.py::test_scheme[ftp-False] PASSED                  [  9%]
tests/asgi/test_scope.py::test_scheme[gopher-False] PASSED               [  9%]
tests/asgi/test_scope.py::test_cookies[cookies0] PASSED                  [  9%]
tests/asgi/test_scope.py::test_cookies[cookies1] PASSED                  [  9%]
tests/asgi/test_scope.py::test_cookies_options_meathod PASSED            [  9%]
tests/asgi/test_sse.py::test_no_events PASSED                            [  9%]
tests/asgi/test_sse.py::test_single_event PASSED                         [  9%]
tests/asgi/test_sse.py::test_multiple_events PASSED                      [  9%]
tests/asgi/test_sse.py::test_multiple_events_early_disconnect PASSED     [  9%]
tests/asgi/test_sse.py::TestSerializeJson::test_use_media_handler_dumps PASSED [  9%]
tests/asgi/test_sse.py::TestSerializeJson::test_no_json_media_handler PASSED [  9%]
tests/asgi/test_sse.py::test_invalid_event_values PASSED                 [  9%]
tests/asgi/test_sse.py::test_non_iterable PASSED                         [  9%]
tests/asgi/test_sync.py::test_sync_helpers PASSED                        [  9%]
tests/asgi/test_testing_asgi.py::test_asgi_request_event_emitter_hang SKIPPED [  9%]
tests/asgi/test_testing_asgi.py::test_ignore_extra_asgi_events SKIPPED   [  9%]
tests/asgi/test_testing_asgi.py::test_invalid_asgi_events SKIPPED (a...) [ 10%]
tests/asgi/test_testing_asgi.py::test_is_asgi_app_cls PASSED             [ 10%]
tests/asgi/test_testing_asgi.py::test_cookies_jar PASSED                 [ 10%]
tests/asgi/test_testing_asgi.py::test_create_scope_default_ua PASSED     [ 10%]
tests/asgi/test_testing_asgi.py::test_create_scope_default_ua_override PASSED [ 10%]
tests/asgi/test_testing_asgi.py::test_create_scope_default_ua_modify_global PASSED [ 10%]
tests/asgi/test_testing_asgi.py::test_missing_header_is_none PASSED      [ 10%]
tests/asgi/test_testing_asgi.py::test_immediate_disconnect PASSED        [ 10%]
tests/asgi/test_ws.py::test_ws_not_accepted[/ws/yes] SKIPPED (async ...) [ 10%]
tests/asgi/test_ws.py::test_ws_not_accepted[/ws/no] SKIPPED (async d...) [ 10%]
tests/asgi/test_ws.py::test_echo SKIPPED (async def function and no ...) [ 10%]
tests/asgi/test_ws.py::test_path_not_found SKIPPED (async def functi...) [ 10%]
tests/asgi/test_ws.py::test_responder_raises_unhandled_error[True] SKIPPED [ 10%]
tests/asgi/test_ws.py::test_responder_raises_unhandled_error[False] SKIPPED [ 10%]
tests/asgi/test_ws.py::test_client_disconnect_early[True-True-send] SKIPPED [ 10%]
tests/asgi/test_ws.py::test_client_disconnect_early[True-True-receive] SKIPPED [ 10%]
tests/asgi/test_ws.py::test_client_disconnect_early[True-False-send] SKIPPED [ 10%]
tests/asgi/test_ws.py::test_client_disconnect_early[True-False-receive] SKIPPED [ 10%]
tests/asgi/test_ws.py::test_client_disconnect_early[False-True-send] SKIPPED [ 10%]
tests/asgi/test_ws.py::test_client_disconnect_early[False-True-receive] SKIPPED [ 10%]
tests/asgi/test_ws.py::test_client_disconnect_early[False-False-send] SKIPPED [ 10%]
tests/asgi/test_ws.py::test_client_disconnect_early[False-False-receive] SKIPPED [ 10%]
tests/asgi/test_ws.py::test_media[True-True] SKIPPED (async def func...) [ 10%]
tests/asgi/test_ws.py::test_media[True-False] SKIPPED (async def fun...) [ 10%]
tests/asgi/test_ws.py::test_media[False-True] SKIPPED (async def fun...) [ 10%]
tests/asgi/test_ws.py::test_media[False-False] SKIPPED (async def fu...) [ 10%]
tests/asgi/test_ws.py::test_send_receive_data[123] SKIPPED (async de...) [ 10%]
tests/asgi/test_ws.py::test_send_receive_data[] SKIPPED (async def f...) [ 10%]
tests/asgi/test_ws.py::test_send_receive_data[\xe1\x9a\xa0\xe1] SKIPPED  [ 10%]
tests/asgi/test_ws.py::test_send_receive_data[\x00] SKIPPED (async d...) [ 10%]
tests/asgi/test_ws.py::test_subprotocol[subprotocols0] SKIPPED (asyn...) [ 10%]
tests/asgi/test_ws.py::test_subprotocol[subprotocols1] SKIPPED (asyn...) [ 10%]
tests/asgi/test_ws.py::test_subprotocol[subprotocols2] SKIPPED (asyn...) [ 10%]
tests/asgi/test_ws.py::test_subprotocol[None] SKIPPED (async def fun...) [ 11%]
tests/asgi/test_ws.py::test_accept_with_headers[None] SKIPPED (async...) [ 11%]
tests/asgi/test_ws.py::test_accept_with_headers[headers1] SKIPPED (a...) [ 11%]
tests/asgi/test_ws.py::test_accept_with_headers[headers2] SKIPPED (a...) [ 11%]
tests/asgi/test_ws.py::test_accept_with_headers[headers3] SKIPPED (a...) [ 11%]
tests/asgi/test_ws.py::test_accept_with_headers[headers4] SKIPPED (a...) [ 11%]
tests/asgi/test_ws.py::test_accept_with_headers[headers5] SKIPPED (a...) [ 11%]
tests/asgi/test_ws.py::test_accept_with_headers[headers6] SKIPPED (a...) [ 11%]
tests/asgi/test_ws.py::test_accept_with_bad_headers[headers0] SKIPPED    [ 11%]
tests/asgi/test_ws.py::test_accept_with_bad_headers[headers1] SKIPPED    [ 11%]
tests/asgi/test_ws.py::test_accept_with_bad_headers[headers2] SKIPPED    [ 11%]
tests/asgi/test_ws.py::test_accept_with_headers_not_supported SKIPPED    [ 11%]
tests/asgi/test_ws.py::test_missing_ws_handler SKIPPED (async def fu...) [ 11%]
tests/asgi/test_ws.py::test_unexpected_param SKIPPED (async def func...) [ 11%]
tests/asgi/test_ws.py::test_subprotocol_bad_type[DEADBEEF] SKIPPED (...) [ 11%]
tests/asgi/test_ws.py::test_subprotocol_bad_type[subprotocol1] SKIPPED   [ 11%]
tests/asgi/test_ws.py::test_subprotocol_bad_type[subprotocol2] SKIPPED   [ 11%]
tests/asgi/test_ws.py::test_subprotocol_bad_type[subprotocol3] SKIPPED   [ 11%]
tests/asgi/test_ws.py::test_subprotocol_bad_type[subprotocol4] SKIPPED   [ 11%]
tests/asgi/test_ws.py::test_subprotocol_bad_type[OK] SKIPPED (async ...) [ 11%]
tests/asgi/test_ws.py::test_send_receive_wrong_type SKIPPED (async d...) [ 11%]
tests/asgi/test_ws.py::test_client_disconnect_uncaught_error[999] SKIPPED [ 11%]
tests/asgi/test_ws.py::test_client_disconnect_uncaught_error[100] SKIPPED [ 11%]
tests/asgi/test_ws.py::test_client_disconnect_uncaught_error[0] SKIPPED  [ 11%]
tests/asgi/test_ws.py::test_client_disconnect_uncaught_error[-1] SKIPPED [ 11%]
tests/asgi/test_ws.py::test_client_disconnect_uncaught_error[1004] SKIPPED [ 11%]
tests/asgi/test_ws.py::test_client_disconnect_uncaught_error[1005] SKIPPED [ 11%]
tests/asgi/test_ws.py::test_client_disconnect_uncaught_error[1006] SKIPPED [ 11%]
tests/asgi/test_ws.py::test_client_disconnect_uncaught_error[1015] SKIPPED [ 11%]
tests/asgi/test_ws.py::test_client_disconnect_uncaught_error[1016] SKIPPED [ 11%]
tests/asgi/test_ws.py::test_client_disconnect_uncaught_error[1017] SKIPPED [ 11%]
tests/asgi/test_ws.py::test_client_disconnect_uncaught_error[1050] SKIPPED [ 11%]
tests/asgi/test_ws.py::test_client_disconnect_uncaught_error[1099] SKIPPED [ 11%]
tests/asgi/test_ws.py::test_client_disconnect_uncaught_error[NaN] SKIPPED [ 11%]
tests/asgi/test_ws.py::test_mw_methods_must_be_coroutines PASSED         [ 12%]
tests/asgi/test_ws.py::test_bad_spec_version[1.9] SKIPPED (async def...) [ 12%]
tests/asgi/test_ws.py::test_bad_spec_version[20.5] SKIPPED (async de...) [ 12%]
tests/asgi/test_ws.py::test_bad_spec_version[3.0] SKIPPED (async def...) [ 12%]
tests/asgi/test_ws.py::test_bad_spec_version[3.1] SKIPPED (async def...) [ 12%]
tests/asgi/test_ws.py::test_bad_http_version[1.0] SKIPPED (async def...) [ 12%]
tests/asgi/test_ws.py::test_bad_http_version[1] SKIPPED (async def f...) [ 12%]
tests/asgi/test_ws.py::test_bad_first_event SKIPPED (async def funct...) [ 12%]
tests/asgi/test_ws.py::test_missing_http_version SKIPPED (async def ...) [ 12%]
tests/asgi/test_ws.py::test_missing_spec_version SKIPPED (async def ...) [ 12%]
tests/asgi/test_ws.py::test_translate_webserver_error SKIPPED (async...) [ 12%]
tests/asgi/test_ws.py::test_ws_base_not_implemented PASSED               [ 12%]
tests/asgi/test_ws.py::test_ws_context_timeout SKIPPED (async def fu...) [ 12%]
tests/asgi/test_ws.py::test_ws_simulator_client_require_accepted SKIPPED [ 12%]
tests/asgi/test_ws.py::test_ws_simulator_collect_edge_cases SKIPPED      [ 12%]
tests/asgi/test_ws.py::test_msgpack_missing SKIPPED (test requires m...) [ 12%]
tests/test_after_hooks.py::test_output_validator[asgi] PASSED            [ 12%]
tests/test_after_hooks.py::test_output_validator[wsgi] PASSED            [ 12%]
tests/test_after_hooks.py::test_serializer[asgi] PASSED                  [ 12%]
tests/test_after_hooks.py::test_serializer[wsgi] PASSED                  [ 12%]
tests/test_after_hooks.py::test_hook_as_callable_class[asgi] PASSED      [ 12%]
tests/test_after_hooks.py::test_hook_as_callable_class[wsgi] PASSED      [ 12%]
tests/test_after_hooks.py::test_resource_with_uri_fields[asgi-resource0] PASSED [ 12%]
tests/test_after_hooks.py::test_resource_with_uri_fields[asgi-resource1] PASSED [ 12%]
tests/test_after_hooks.py::test_resource_with_uri_fields[wsgi-resource0] PASSED [ 12%]
tests/test_after_hooks.py::test_resource_with_uri_fields[wsgi-resource1] PASSED [ 12%]
tests/test_after_hooks.py::test_resource_with_uri_fields_async PASSED    [ 12%]
tests/test_after_hooks.py::test_wrapped_resource[asgi-resource0] PASSED  [ 12%]
tests/test_after_hooks.py::test_wrapped_resource[asgi-resource1] PASSED  [ 12%]
tests/test_after_hooks.py::test_wrapped_resource[wsgi-resource0] PASSED  [ 12%]
tests/test_after_hooks.py::test_wrapped_resource[wsgi-resource1] PASSED  [ 12%]
tests/test_after_hooks.py::test_wrapped_resource_with_hooks_aware_of_resource[asgi] PASSED [ 12%]
tests/test_after_hooks.py::test_wrapped_resource_with_hooks_aware_of_resource[wsgi] PASSED [ 12%]
tests/test_after_hooks.py::test_after_hooks_on_suffixed_resource[paper-/once-paper, rock, scissors] PASSED [ 13%]
tests/test_after_hooks.py::test_after_hooks_on_suffixed_resource[scissors-/twice-scissors, paper, rock, scissors] PASSED [ 13%]
tests/test_after_hooks.py::test_after_hooks_on_suffixed_resource[rock-/thrice-rock, scissors, paper, rock, scissors] PASSED [ 13%]
tests/test_after_hooks.py::test_after_hooks_on_suffixed_resource[paper-/thrice-paper, rock, scissors, paper, rock] PASSED [ 13%]
tests/test_alias.py::test_cookies PASSED                                 [ 13%]
tests/test_alias.py::test_alias_equals_to_app PASSED                     [ 13%]
tests/test_app_initializers.py::test_api_media_type_overriding[App] PASSED [ 13%]
tests/test_app_initializers.py::test_api_media_type_overriding[API] PASSED [ 13%]
tests/test_before_hooks.py::test_multiple_resource_hooks[asgi-resource0] PASSED [ 13%]
tests/test_before_hooks.py::test_multiple_resource_hooks[asgi-resource1] PASSED [ 13%]
tests/test_before_hooks.py::test_multiple_resource_hooks[wsgi-resource0] PASSED [ 13%]
tests/test_before_hooks.py::test_multiple_resource_hooks[wsgi-resource1] PASSED [ 13%]
tests/test_before_hooks.py::test_input_validator[asgi] PASSED            [ 13%]
tests/test_before_hooks.py::test_input_validator[wsgi] PASSED            [ 13%]
tests/test_before_hooks.py::test_input_validator_inherited[asgi] PASSED  [ 13%]
tests/test_before_hooks.py::test_input_validator_inherited[wsgi] PASSED  [ 13%]
tests/test_before_hooks.py::test_param_validator[asgi] PASSED            [ 13%]
tests/test_before_hooks.py::test_param_validator[wsgi] PASSED            [ 13%]
tests/test_before_hooks.py::test_field_validator[asgi-resource0] PASSED  [ 13%]
tests/test_before_hooks.py::test_field_validator[asgi-resource1] PASSED  [ 13%]
tests/test_before_hooks.py::test_field_validator[asgi-resource2] PASSED  [ 13%]
tests/test_before_hooks.py::test_field_validator[wsgi-resource0] PASSED  [ 13%]
tests/test_before_hooks.py::test_field_validator[wsgi-resource1] PASSED  [ 13%]
tests/test_before_hooks.py::test_field_validator[wsgi-resource2] PASSED  [ 13%]
tests/test_before_hooks.py::test_parser_sync[{"animal": "falcon"}-doc0] PASSED [ 13%]
tests/test_before_hooks.py::test_parser_sync[{}-doc1] PASSED             [ 13%]
tests/test_before_hooks.py::test_parser_sync[-None] PASSED               [ 13%]
tests/test_before_hooks.py::test_parser_sync[None-None] PASSED           [ 13%]
tests/test_before_hooks.py::test_parser_async[{"animal": "falcon"}-doc0] PASSED [ 13%]
tests/test_before_hooks.py::test_parser_async[{}-doc1] PASSED            [ 13%]
tests/test_before_hooks.py::test_parser_async[-None] PASSED              [ 13%]
tests/test_before_hooks.py::test_parser_async[None-None] PASSED          [ 13%]
tests/test_before_hooks.py::test_wrapped_resource[asgi] PASSED           [ 13%]
tests/test_before_hooks.py::test_wrapped_resource[wsgi] PASSED           [ 14%]
tests/test_before_hooks.py::test_wrapped_resource_with_hooks_aware_of_resource[asgi] PASSED [ 14%]
tests/test_before_hooks.py::test_wrapped_resource_with_hooks_aware_of_resource[wsgi] PASSED [ 14%]
tests/test_before_hooks.py::test_piggybacking_resource_post_item[True] PASSED [ 14%]
tests/test_before_hooks.py::test_piggybacking_resource_post_item[False] PASSED [ 14%]
tests/test_before_hooks.py::test_piggybacking_resource_post_and_delete[True] PASSED [ 14%]
tests/test_before_hooks.py::test_piggybacking_resource_post_and_delete[False] PASSED [ 14%]
tests/test_before_hooks.py::test_decorable_name_pattern PASSED           [ 14%]
tests/test_boundedstream.py::test_not_writable PASSED                    [ 14%]
tests/test_buffered_reader.py::test_peek PASSED                          [ 14%]
tests/test_buffered_reader.py::test_peek_eof PASSED                      [ 14%]
tests/test_buffered_reader.py::test_bounded_read PASSED                  [ 14%]
tests/test_buffered_reader.py::test_read_from_buffer[0] PASSED           [ 14%]
tests/test_buffered_reader.py::test_read_from_buffer[1] PASSED           [ 14%]
tests/test_buffered_reader.py::test_read_from_buffer[2] PASSED           [ 14%]
tests/test_buffered_reader.py::test_read_from_buffer[7] PASSED           [ 14%]
tests/test_buffered_reader.py::test_read_from_buffer[62] PASSED          [ 14%]
tests/test_buffered_reader.py::test_read_from_buffer[63] PASSED          [ 14%]
tests/test_buffered_reader.py::test_read_from_buffer[64] PASSED          [ 14%]
tests/test_buffered_reader.py::test_read_from_buffer[65] PASSED          [ 14%]
tests/test_buffered_reader.py::test_read_from_buffer[126] PASSED         [ 14%]
tests/test_buffered_reader.py::test_read_from_buffer[127] PASSED         [ 14%]
tests/test_buffered_reader.py::test_read_from_buffer[128] PASSED         [ 14%]
tests/test_buffered_reader.py::test_read_from_buffer[129] PASSED         [ 14%]
tests/test_buffered_reader.py::test_read_from_buffer[1000] PASSED        [ 14%]
tests/test_buffered_reader.py::test_read_from_buffer[10000] PASSED       [ 14%]
tests/test_buffered_reader.py::test_read_until_delimiter_size_check PASSED [ 14%]
tests/test_buffered_reader.py::test_read_until_with_size[0] PASSED       [ 14%]
tests/test_buffered_reader.py::test_read_until_with_size[1] PASSED       [ 14%]
tests/test_buffered_reader.py::test_read_until_with_size[2] PASSED       [ 14%]
tests/test_buffered_reader.py::test_read_until_with_size[7] PASSED       [ 14%]
tests/test_buffered_reader.py::test_read_until_with_size[62] PASSED      [ 14%]
tests/test_buffered_reader.py::test_read_until_with_size[63] PASSED      [ 14%]
tests/test_buffered_reader.py::test_read_until_with_size[64] PASSED      [ 15%]
tests/test_buffered_reader.py::test_read_until_with_size[65] PASSED      [ 15%]
tests/test_buffered_reader.py::test_read_until_with_size[126] PASSED     [ 15%]
tests/test_buffered_reader.py::test_read_until_with_size[127] PASSED     [ 15%]
tests/test_buffered_reader.py::test_read_until_with_size[128] PASSED     [ 15%]
tests/test_buffered_reader.py::test_read_until_with_size[129] PASSED     [ 15%]
tests/test_buffered_reader.py::test_read_until_with_size[1000] PASSED    [ 15%]
tests/test_buffered_reader.py::test_read_until_with_size[10000] PASSED   [ 15%]
tests/test_buffered_reader.py::test_read_until PASSED                    [ 15%]
tests/test_buffered_reader.py::test_irregular_large_read_until[11003077-22000721] PASSED [ 15%]
tests/test_buffered_reader.py::test_irregular_large_read_until[13372477-51637898] PASSED [ 15%]
tests/test_buffered_reader.py::test_read_until_from_buffer[0] PASSED     [ 15%]
tests/test_buffered_reader.py::test_read_until_from_buffer[1] PASSED     [ 15%]
tests/test_buffered_reader.py::test_read_until_from_buffer[2] PASSED     [ 15%]
tests/test_buffered_reader.py::test_read_until_from_buffer[7] PASSED     [ 15%]
tests/test_buffered_reader.py::test_read_until_from_buffer[62] PASSED    [ 15%]
tests/test_buffered_reader.py::test_read_until_from_buffer[63] PASSED    [ 15%]
tests/test_buffered_reader.py::test_read_until_from_buffer[64] PASSED    [ 15%]
tests/test_buffered_reader.py::test_read_until_from_buffer[65] PASSED    [ 15%]
tests/test_buffered_reader.py::test_read_until_from_buffer[126] PASSED   [ 15%]
tests/test_buffered_reader.py::test_read_until_from_buffer[127] PASSED   [ 15%]
tests/test_buffered_reader.py::test_read_until_from_buffer[128] PASSED   [ 15%]
tests/test_buffered_reader.py::test_read_until_from_buffer[129] PASSED   [ 15%]
tests/test_buffered_reader.py::test_read_until_from_buffer[1000] PASSED  [ 15%]
tests/test_buffered_reader.py::test_read_until_missing_delimiter PASSED  [ 15%]
tests/test_buffered_reader.py::test_consume_delimiter PASSED             [ 15%]
tests/test_buffered_reader.py::test_read_until_shared_boundary[46] PASSED [ 15%]
tests/test_buffered_reader.py::test_read_until_shared_boundary[47] PASSED [ 15%]
tests/test_buffered_reader.py::test_read_until_shared_boundary[48] PASSED [ 15%]
tests/test_buffered_reader.py::test_read_until_shared_boundary[49] PASSED [ 15%]
tests/test_buffered_reader.py::test_read_until_shared_boundary[50] PASSED [ 15%]
tests/test_buffered_reader.py::test_read_until_shared_boundary[51] PASSED [ 15%]
tests/test_buffered_reader.py::test_read_until_shared_boundary[52] PASSED [ 15%]
tests/test_buffered_reader.py::test_read_until_shared_boundary[53] PASSED [ 16%]
tests/test_buffered_reader.py::test_read_until_shared_boundary[54] PASSED [ 16%]
tests/test_buffered_reader.py::test_read_until_shared_boundary[55] PASSED [ 16%]
tests/test_buffered_reader.py::test_read_until_shared_boundary[56] PASSED [ 16%]
tests/test_buffered_reader.py::test_read_until_shared_boundary[57] PASSED [ 16%]
tests/test_buffered_reader.py::test_read_until_shared_boundary[58] PASSED [ 16%]
tests/test_buffered_reader.py::test_read_until_shared_boundary[59] PASSED [ 16%]
tests/test_buffered_reader.py::test_read_until_shared_boundary[60] PASSED [ 16%]
tests/test_buffered_reader.py::test_read_until_shared_boundary[61] PASSED [ 16%]
tests/test_buffered_reader.py::test_read_until_shared_boundary[62] PASSED [ 16%]
tests/test_buffered_reader.py::test_pipe PASSED                          [ 16%]
tests/test_buffered_reader.py::test_pipe_until PASSED                    [ 16%]
tests/test_buffered_reader.py::test_pipe_until_without_destination PASSED [ 16%]
tests/test_buffered_reader.py::test_exhaust PASSED                       [ 16%]
tests/test_buffered_reader.py::test_readline PASSED                      [ 16%]
tests/test_buffered_reader.py::test_readline_with_size PASSED            [ 16%]
tests/test_buffered_reader.py::test_readlines PASSED                     [ 16%]
tests/test_buffered_reader.py::test_readlines_hint[8] PASSED             [ 16%]
tests/test_buffered_reader.py::test_readlines_hint[16] PASSED            [ 16%]
tests/test_buffered_reader.py::test_readlines_hint[256] PASSED           [ 16%]
tests/test_buffered_reader.py::test_readlines_hint[1024] PASSED          [ 16%]
tests/test_buffered_reader.py::test_readlines_hint[65536] PASSED         [ 16%]
tests/test_buffered_reader.py::test_duck_compatibility_with_io_base PASSED [ 16%]
tests/test_buffered_reader.py::test_fragmented_reads PASSED              [ 16%]
tests/test_cmd_inspect_app.py::TestMakeParser::test_make_parser[args0-exp0] PASSED [ 16%]
tests/test_cmd_inspect_app.py::TestMakeParser::test_make_parser[args1-exp1] PASSED [ 16%]
tests/test_cmd_inspect_app.py::TestMakeParser::test_make_parser[args2-exp2] PASSED [ 16%]
tests/test_cmd_inspect_app.py::TestMakeParser::test_make_parser[args3-exp3] PASSED [ 16%]
tests/test_cmd_inspect_app.py::TestMakeParser::test_make_parser[args4-exp4] PASSED [ 16%]
tests/test_cmd_inspect_app.py::TestMakeParser::test_make_parser[args5-exp5] PASSED [ 16%]
tests/test_cmd_inspect_app.py::TestMakeParser::test_make_parser[args6-exp6] PASSED [ 16%]
tests/test_cmd_inspect_app.py::TestMakeParser::test_make_parser[args7-exp7] PASSED [ 16%]
tests/test_cmd_inspect_app.py::TestMakeParser::test_make_parser_error PASSED [ 16%]
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 [ 17%]
tests/test_cmd_inspect_app.py::TestLoadApp::test_load_app_error[foo] PASSED [ 17%]
tests/test_cmd_inspect_app.py::TestLoadApp::test_load_app_error[_MODULE] PASSED [ 17%]
tests/test_cmd_inspect_app.py::TestLoadApp::test_load_app_error[DummyResource] PASSED [ 17%]
tests/test_cmd_inspect_app.py::TestLoadApp::test_load_app_module_error PASSED [ 17%]
tests/test_cmd_inspect_app.py::TestMain::test_routes_only[internal-verbose] PASSED [ 17%]
tests/test_cmd_inspect_app.py::TestMain::test_routes_only[internal-not-verbose] PASSED [ 17%]
tests/test_cmd_inspect_app.py::TestMain::test_routes_only[not-internal-verbose] PASSED [ 17%]
tests/test_cmd_inspect_app.py::TestMain::test_routes_only[not-internal-not-verbose] PASSED [ 17%]
tests/test_cmd_inspect_app.py::TestMain::test_inspect[internal-verbose] PASSED [ 17%]
tests/test_cmd_inspect_app.py::TestMain::test_inspect[internal-not-verbose] PASSED [ 17%]
tests/test_cmd_inspect_app.py::TestMain::test_inspect[not-internal-verbose] PASSED [ 17%]
tests/test_cmd_inspect_app.py::TestMain::test_inspect[not-internal-not-verbose] PASSED [ 17%]
tests/test_cmd_inspect_app.py::test_route_main PASSED                    [ 17%]
tests/test_compiled_router.py::test_find_src PASSED                      [ 17%]
tests/test_compiled_router.py::test_no_compile_kw[kwargs0] PASSED        [ 17%]
tests/test_compiled_router.py::test_no_compile_kw[kwargs1] PASSED        [ 17%]
tests/test_compiled_router.py::test_no_compile_kw[kwargs2] PASSED        [ 17%]
tests/test_compiled_router.py::test_no_compile_kw[kwargs3] PASSED        [ 17%]
tests/test_compiled_router.py::test_compile PASSED                       [ 17%]
tests/test_compiled_router.py::test_add_route_after_first_request PASSED [ 17%]
tests/test_compiled_router.py::test_multithread_compile PASSED           [ 17%]
tests/test_cookies.py::test_response_base_case[asgi] PASSED              [ 17%]
tests/test_cookies.py::test_response_base_case[wsgi] PASSED              [ 17%]
tests/test_cookies.py::test_response_disable_secure_globally[asgi] PASSED [ 17%]
tests/test_cookies.py::test_response_disable_secure_globally[wsgi] PASSED [ 17%]
tests/test_cookies.py::test_response_complex_case[asgi] PASSED           [ 17%]
tests/test_cookies.py::test_response_complex_case[wsgi] PASSED           [ 17%]
tests/test_cookies.py::test_unset_cookies[asgi] PASSED                   [ 17%]
tests/test_cookies.py::test_unset_cookies[wsgi] PASSED                   [ 17%]
tests/test_cookies.py::test_cookie_expires_naive[asgi] PASSED            [ 17%]
tests/test_cookies.py::test_cookie_expires_naive[wsgi] PASSED            [ 17%]
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[asgi] PASSED                 [ 18%]
tests/test_cookies.py::test_cookies_setable[wsgi] PASSED                 [ 18%]
tests/test_cookies.py::test_cookie_max_age_float_and_string[asgi-foofloat] PASSED [ 18%]
tests/test_cookies.py::test_cookie_max_age_float_and_string[asgi-foostring] PASSED [ 18%]
tests/test_cookies.py::test_cookie_max_age_float_and_string[wsgi-foofloat] PASSED [ 18%]
tests/test_cookies.py::test_cookie_max_age_float_and_string[wsgi-foostring] PASSED [ 18%]
tests/test_cookies.py::test_response_unset_cookie[asgi] PASSED           [ 18%]
tests/test_cookies.py::test_response_unset_cookie[wsgi] PASSED           [ 18%]
tests/test_cookies.py::test_cookie_timezone[asgi] PASSED                 [ 18%]
tests/test_cookies.py::test_cookie_timezone[wsgi] PASSED                 [ 18%]
tests/test_cookies.py::test_request_cookie_parsing PASSED                [ 18%]
tests/test_cookies.py::test_invalid_cookies_are_ignored PASSED           [ 18%]
tests/test_cookies.py::test_duplicate_cookie PASSED                      [ 18%]
tests/test_cookies.py::test_cookie_header_is_missing PASSED              [ 18%]
tests/test_cookies.py::test_unicode_inside_ascii_range PASSED            [ 18%]
tests/test_cookies.py::test_non_ascii_name[Unicode_\xc3\xa6\xc3\xb8] PASSED [ 18%]
tests/test_cookies.py::test_non_ascii_name[Unicode_\xc3\x83\xc2\xa6\xc3\x83\xc2\xb8] PASSED [ 18%]
tests/test_cookies.py::test_non_ascii_name[42] PASSED                    [ 18%]
tests/test_cookies.py::test_non_ascii_value[Unicode_\xc3\xa6\xc3\xb8] PASSED [ 18%]
tests/test_cookies.py::test_non_ascii_value[Unicode_\xc3\x83\xc2\xa6\xc3\x83\xc2\xb8] PASSED [ 18%]
tests/test_cookies.py::test_non_ascii_value[42] PASSED                   [ 18%]
tests/test_cookies.py::test_lax_same_site_value[asgi] PASSED             [ 18%]
tests/test_cookies.py::test_lax_same_site_value[wsgi] PASSED             [ 18%]
tests/test_cookies.py::test_strict_same_site_value[asgi] PASSED          [ 18%]
tests/test_cookies.py::test_strict_same_site_value[wsgi] PASSED          [ 18%]
tests/test_cookies.py::test_none_same_site_value[asgi] PASSED            [ 18%]
tests/test_cookies.py::test_none_same_site_value[wsgi] PASSED            [ 18%]
tests/test_cookies.py::test_same_site_empty_string[asgi] PASSED          [ 18%]
tests/test_cookies.py::test_same_site_empty_string[wsgi] PASSED          [ 18%]
tests/test_cookies.py::test_same_site_value_case_insensitive[laX] PASSED [ 18%]
tests/test_cookies.py::test_same_site_value_case_insensitive[lax] PASSED [ 18%]
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_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 [ 19%]
tests/test_cors_middleware.py::TestCorsMiddleware::test_enabled_cors_should_add_extra_headers_on_response[asgi] PASSED [ 19%]
tests/test_cors_middleware.py::TestCorsMiddleware::test_enabled_cors_should_add_extra_headers_on_response[wsgi] PASSED [ 19%]
tests/test_cors_middleware.py::TestCorsMiddleware::test_enabled_cors_should_accept_all_origins_requests[asgi] PASSED [ 19%]
tests/test_cors_middleware.py::TestCorsMiddleware::test_enabled_cors_should_accept_all_origins_requests[wsgi] PASSED [ 19%]
tests/test_cors_middleware.py::TestCorsMiddleware::test_enabled_cors_handles_preflighting[asgi] PASSED [ 19%]
tests/test_cors_middleware.py::TestCorsMiddleware::test_enabled_cors_handles_preflighting[wsgi] PASSED [ 19%]
tests/test_cors_middleware.py::TestCorsMiddleware::test_enabled_cors_handles_preflighting_no_headers_in_req[asgi] PASSED [ 19%]
tests/test_cors_middleware.py::TestCorsMiddleware::test_enabled_cors_handles_preflighting_no_headers_in_req[wsgi] PASSED [ 19%]
tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_raises PASSED [ 19%]
tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_allow_origin[asgi-*-fail_origins0-success_origins0] PASSED [ 19%]
tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_allow_origin[asgi-test-fail_origins1-success_origins1] PASSED [ 19%]
tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_allow_origin[asgi-allow2-fail_origins2-success_origins2] PASSED [ 19%]
tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_allow_origin[wsgi-*-fail_origins0-success_origins0] PASSED [ 19%]
tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_allow_origin[wsgi-test-fail_origins1-success_origins1] PASSED [ 19%]
tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_allow_origin[wsgi-allow2-fail_origins2-success_origins2] PASSED [ 19%]
tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_allow_credential_wildcard[asgi] PASSED [ 19%]
tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_allow_credential_wildcard[wsgi] PASSED [ 19%]
tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_allow_credential_list_or_str[asgi-allow0-successOrigin0] PASSED [ 19%]
tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_allow_credential_list_or_str[asgi-foo-successOrigin1] PASSED [ 19%]
tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_allow_credential_list_or_str[wsgi-allow0-successOrigin0] PASSED [ 19%]
tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_allow_credential_list_or_str[wsgi-foo-successOrigin1] PASSED [ 19%]
tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_allow_credential_existing_origin[asgi] PASSED [ 19%]
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[True] PASSED [ 20%]
tests/test_custom_router.py::test_custom_router_add_route_should_be_used[False] PASSED [ 20%]
tests/test_custom_router.py::test_custom_router_find_should_be_used[True] PASSED [ 20%]
tests/test_custom_router.py::test_custom_router_find_should_be_used[False] PASSED [ 20%]
tests/test_custom_router.py::test_can_pass_additional_params_to_add_route[True] PASSED [ 20%]
tests/test_custom_router.py::test_can_pass_additional_params_to_add_route[False] PASSED [ 20%]
tests/test_custom_router.py::test_custom_router_takes_req_positional_argument[True] PASSED [ 20%]
tests/test_custom_router.py::test_custom_router_takes_req_positional_argument[False] PASSED [ 20%]
tests/test_custom_router.py::test_custom_router_takes_req_keyword_argument[True] PASSED [ 20%]
tests/test_custom_router.py::test_custom_router_takes_req_keyword_argument[False] PASSED [ 20%]
tests/test_default_router.py::test_user_regression_versioned_url PASSED  [ 20%]
tests/test_default_router.py::test_user_regression_recipes PASSED        [ 20%]
tests/test_default_router.py::test_user_regression_special_chars[/serviceRoot/People|{field}-/serviceRoot/People|susie-expected_params0] PASSED [ 20%]
tests/test_default_router.py::test_user_regression_special_chars[/serviceRoot/People[{field}]-/serviceRoot/People['calvin']-expected_params1] PASSED [ 20%]
tests/test_default_router.py::test_user_regression_special_chars[/serviceRoot/People({field})-/serviceRoot/People('hobbes')-expected_params2] PASSED [ 20%]
tests/test_default_router.py::test_user_regression_special_chars[/serviceRoot/People({field})-/serviceRoot/People('hob)bes')-expected_params3] PASSED [ 20%]
tests/test_default_router.py::test_user_regression_special_chars[/serviceRoot/People({field})(z)-/serviceRoot/People(hobbes)(z)-expected_params4] PASSED [ 20%]
tests/test_default_router.py::test_user_regression_special_chars[/serviceRoot/People('{field}')-/serviceRoot/People('rosalyn')-expected_params5] PASSED [ 20%]
tests/test_default_router.py::test_user_regression_special_chars[/^{field}-/^42-expected_params6] PASSED [ 20%]
tests/test_default_router.py::test_user_regression_special_chars[/+{field}-/+42-expected_params7] PASSED [ 20%]
tests/test_default_router.py::test_user_regression_special_chars[/foo/{first}_{second}/bar-/foo/abc_def_ghijk/bar-expected_params8] PASSED [ 20%]
tests/test_default_router.py::test_user_regression_special_chars[/items/{x}?{y}-/items/1080?768-expected_params9] PASSED [ 20%]
tests/test_default_router.py::test_user_regression_special_chars[/items/{x}|{y}-/items/1080|768-expected_params10] PASSED [ 20%]
tests/test_default_router.py::test_user_regression_special_chars[/items/{x},{y}-/items/1080,768-expected_params11] PASSED [ 20%]
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[uri_template0-True] PASSED    [ 21%]
tests/test_default_router.py::test_not_str[uri_template0-False] PASSED   [ 21%]
tests/test_default_router.py::test_not_str[uri_template1-True] PASSED    [ 21%]
tests/test_default_router.py::test_not_str[uri_template1-False] PASSED   [ 21%]
tests/test_default_router.py::test_not_str[uri_template2-True] PASSED    [ 21%]
tests/test_default_router.py::test_not_str[uri_template2-False] 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 [ 21%]
tests/test_default_router.py::test_duplicate_field_names[/{field}/something/something/{field}/something] PASSED [ 21%]
tests/test_default_router.py::test_match_entire_path[/items/thing-/items/t] PASSED [ 21%]
tests/test_default_router.py::test_match_entire_path[/items/{x}|{y}|-/items/1080|768] PASSED [ 21%]
tests/test_default_router.py::test_match_entire_path[/items/{x}*{y}foo-/items/1080*768foobar] PASSED [ 21%]
tests/test_default_router.py::test_match_entire_path[/items/{x}*768*-/items/1080*768***] PASSED [ 21%]
tests/test_default_router.py::test_conflict[/teams/{conflict}] PASSED    [ 21%]
tests/test_default_router.py::test_conflict[/emojis/signs/{id_too}] PASSED [ 21%]
tests/test_default_router.py::test_conflict[/repos/{org}/{repo}/compare/{complex}:{vs}...{complex2}:{conflict}] PASSED [ 21%]
tests/test_default_router.py::test_conflict[/teams/{id:int}/settings] PASSED [ 21%]
tests/test_default_router.py::test_non_conflict[/repos/{org}/{repo}/compare/{simple_vs_complex}] PASSED [ 21%]
tests/test_default_router.py::test_non_conflict[/repos/{complex}.{vs}.{simple}] PASSED [ 21%]
tests/test_default_router.py::test_non_conflict[/repos/{org}/{repo}/compare/{complex}:{vs}...{complex2}/full] PASSED [ 21%]
tests/test_default_router.py::test_invalid_field_name[/{}] PASSED        [ 21%]
tests/test_default_router.py::test_invalid_field_name[/repos/{org}/{repo}/compare/{}] PASSED [ 21%]
tests/test_default_router.py::test_invalid_field_name[/repos/{complex}.{}.{thing}] PASSED [ 21%]
tests/test_default_router.py::test_invalid_field_name[/{9v}] PASSED      [ 21%]
tests/test_default_router.py::test_invalid_field_name[/{524hello}/world] PASSED [ 21%]
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                [ 22%]
tests/test_default_router.py::test_dead_segment[/teams] PASSED           [ 22%]
tests/test_default_router.py::test_dead_segment[/emojis/signs] PASSED    [ 22%]
tests/test_default_router.py::test_dead_segment[/gists] PASSED           [ 22%]
tests/test_default_router.py::test_dead_segment[/gists/42] PASSED        [ 22%]
tests/test_default_router.py::test_malformed_pattern[/repos/racker/falcon/compare/foo] PASSED [ 22%]
tests/test_default_router.py::test_malformed_pattern[/repos/racker/falcon/compare/foo/full] PASSED [ 22%]
tests/test_default_router.py::test_literal PASSED                        [ 22%]
tests/test_default_router.py::test_converters[/cvt/teams/007-expected_params0] PASSED [ 22%]
tests/test_default_router.py::test_converters[/cvt/teams/1234/members-expected_params1] PASSED [ 22%]
tests/test_default_router.py::test_converters[/cvt/teams/default/members/700-5-expected_params2] PASSED [ 22%]
tests/test_default_router.py::test_converters[/cvt/repos/org/repo/compare/xkcd:353-expected_params3] PASSED [ 22%]
tests/test_default_router.py::test_converters[/cvt/repos/org/repo/compare/gunmachan:1234...kumamon:5678/part-expected_params4] PASSED [ 22%]
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              [ 23%]
tests/test_default_router.py::test_not_found[/teams/42/members/undefined] PASSED [ 23%]
tests/test_default_router.py::test_not_found[/teams/42/undefined] PASSED [ 23%]
tests/test_default_router.py::test_not_found[/teams/42/undefined/segments] PASSED [ 23%]
tests/test_default_router.py::test_not_found[/teams/default/members/undefined] PASSED [ 23%]
tests/test_default_router.py::test_not_found[/teams/default/members/thing/undefined] PASSED [ 23%]
tests/test_default_router.py::test_not_found[/teams/default/members/thing/undefined/segments] PASSED [ 23%]
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 [ 24%]
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_deprecations.py::test_bounded_stream PASSED                   [ 25%]
tests/test_deprecations.py::TestApiHelpers::test_imports PASSED          [ 25%]
tests/test_deprecations.py::TestApiHelpers::test_warning SKIPPED (Re...) [ 25%]
tests/test_deps.py::test_deps_mimeparse_correct_package 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[HTTPPayloadTooLarge-413 Payload 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 [ 25%]
tests/test_error.py::test_with_default_title_and_desc[HTTPFailedDependency-424 Failed Dependency] PASSED [ 25%]
tests/test_error.py::test_with_default_title_and_desc[HTTPPreconditionRequired-428 Precondition Required] PASSED [ 25%]
tests/test_error.py::test_with_default_title_and_desc[HTTPTooManyRequests-429 Too Many Requests] PASSED [ 25%]
tests/test_error.py::test_with_default_title_and_desc[HTTPRequestHeaderFieldsTooLarge-431 Request Header Fields Too Large] PASSED [ 25%]
tests/test_error.py::test_with_default_title_and_desc[HTTPUnavailableForLegalReasons-451 Unavailable For Legal Reasons] PASSED [ 25%]
tests/test_error.py::test_with_default_title_and_desc[HTTPInternalServerError-500 Internal Server Error] PASSED [ 25%]
tests/test_error.py::test_with_default_title_and_desc[HTTPNotImplemented-501 Not Implemented] PASSED [ 25%]
tests/test_error.py::test_with_default_title_and_desc[HTTPBadGateway-502 Bad Gateway] PASSED [ 25%]
tests/test_error.py::test_with_default_title_and_desc[HTTPServiceUnavailable-503 Service Unavailable] PASSED [ 25%]
tests/test_error.py::test_with_default_title_and_desc[HTTPGatewayTimeout-504 Gateway Timeout] PASSED [ 25%]
tests/test_error.py::test_with_default_title_and_desc[HTTPVersionNotSupported-505 HTTP Version Not Supported] PASSED [ 25%]
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[HTTPPayloadTooLarge] 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 [ 26%]
tests/test_error.py::test_with_title_desc_and_headers[HTTPGatewayTimeout] PASSED [ 26%]
tests/test_error.py::test_with_title_desc_and_headers[HTTPVersionNotSupported] PASSED [ 26%]
tests/test_error.py::test_with_title_desc_and_headers[HTTPInsufficientStorage] PASSED [ 26%]
tests/test_error.py::test_with_title_desc_and_headers[HTTPLoopDetected] PASSED [ 26%]
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[HTTPPayloadTooLarge] 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 [ 28%]
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[HTTPPayloadTooLarge] 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[HTTPPayloadTooLarge] 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[HTTPPayloadTooLarge-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[HTTPPayloadTooLarge-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[HTTPPayloadTooLarge-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 [ 29%]
tests/test_error.py::TestErrorsWithHeadersKW::test_other_header_list[HTTPUnauthorized-WWW-Authenticate-challenges-args0-a, b-False] PASSED [ 29%]
tests/test_error.py::TestErrorsWithHeadersKW::test_other_header_list[HTTPMethodNotAllowed-Allow-allowed_methods-args1-a, b-True] PASSED [ 29%]
tests/test_error.py::TestErrorsWithHeadersKW::test_other_header_list[HTTPPayloadTooLarge-Retry-After-retry_after-123-123-False] PASSED [ 29%]
tests/test_error.py::TestErrorsWithHeadersKW::test_other_header_list[HTTPRangeNotSatisfiable-Content-Range-resource_length-123-bytes */123-True] PASSED [ 29%]
tests/test_error.py::TestErrorsWithHeadersKW::test_other_header_list[HTTPTooManyRequests-Retry-After-retry_after-123-123-False] PASSED [ 29%]
tests/test_error.py::TestErrorsWithHeadersKW::test_other_header_list[HTTPServiceUnavailable-Retry-After-retry_after-123-123-False] PASSED [ 29%]
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[HTTPPayloadTooLarge-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_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-<?xml] PASSED [ 29%]
tests/test_error_handlers.py::TestErrorHandler::test_uncaught_python_error[wsgi-None-application/json-{"] PASSED [ 29%]
tests/test_error_handlers.py::TestErrorHandler::test_uncaught_python_error[wsgi-get_headers1-application/json-{"] PASSED [ 29%]
tests/test_error_handlers.py::TestErrorHandler::test_uncaught_python_error[wsgi-get_headers2-application/xml-<?xml] PASSED [ 29%]
tests/test_error_handlers.py::TestErrorHandler::test_caught_error_async[asgi] PASSED [ 29%]
tests/test_error_handlers.py::TestErrorHandler::test_caught_error_async[wsgi] SKIPPED [ 29%]
tests/test_error_handlers.py::TestErrorHandler::test_uncaught_error[asgi] PASSED [ 29%]
tests/test_error_handlers.py::TestErrorHandler::test_uncaught_error[wsgi] PASSED [ 29%]
tests/test_error_handlers.py::TestErrorHandler::test_uncaught_error_else[asgi] PASSED [ 29%]
tests/test_error_handlers.py::TestErrorHandler::test_uncaught_error_else[wsgi] PASSED [ 29%]
tests/test_error_handlers.py::TestErrorHandler::test_converted_error[asgi] PASSED [ 29%]
tests/test_error_handlers.py::TestErrorHandler::test_converted_error[wsgi] PASSED [ 29%]
tests/test_error_handlers.py::TestErrorHandler::test_handle_not_defined[asgi] PASSED [ 29%]
tests/test_error_handlers.py::TestErrorHandler::test_handle_not_defined[wsgi] PASSED [ 29%]
tests/test_error_handlers.py::TestErrorHandler::test_subclass_error[asgi] PASSED [ 29%]
tests/test_error_handlers.py::TestErrorHandler::test_subclass_error[wsgi] PASSED [ 29%]
tests/test_error_handlers.py::TestErrorHandler::test_error_precedence_duplicate[asgi] PASSED [ 30%]
tests/test_error_handlers.py::TestErrorHandler::test_error_precedence_duplicate[wsgi] PASSED [ 30%]
tests/test_error_handlers.py::TestErrorHandler::test_error_precedence_subclass[asgi] PASSED [ 30%]
tests/test_error_handlers.py::TestErrorHandler::test_error_precedence_subclass[wsgi] PASSED [ 30%]
tests/test_error_handlers.py::TestErrorHandler::test_error_precedence_subclass_order_indifference[asgi] PASSED [ 30%]
tests/test_error_handlers.py::TestErrorHandler::test_error_precedence_subclass_order_indifference[wsgi] PASSED [ 30%]
tests/test_error_handlers.py::TestErrorHandler::test_handler_multiple_exception_iterable[asgi-exceptions0] PASSED [ 30%]
tests/test_error_handlers.py::TestErrorHandler::test_handler_multiple_exception_iterable[asgi-exceptions1] PASSED [ 30%]
tests/test_error_handlers.py::TestErrorHandler::test_handler_multiple_exception_iterable[wsgi-exceptions0] PASSED [ 30%]
tests/test_error_handlers.py::TestErrorHandler::test_handler_multiple_exception_iterable[wsgi-exceptions1] PASSED [ 30%]
tests/test_error_handlers.py::TestErrorHandler::test_handler_single_exception_iterable[asgi] PASSED [ 30%]
tests/test_error_handlers.py::TestErrorHandler::test_handler_single_exception_iterable[wsgi] PASSED [ 30%]
tests/test_error_handlers.py::TestErrorHandler::test_invalid_add_exception_handler_input[asgi-exceptions0] PASSED [ 30%]
tests/test_error_handlers.py::TestErrorHandler::test_invalid_add_exception_handler_input[asgi-Hello, world!] PASSED [ 30%]
tests/test_error_handlers.py::TestErrorHandler::test_invalid_add_exception_handler_input[asgi-exceptions2] PASSED [ 30%]
tests/test_error_handlers.py::TestErrorHandler::test_invalid_add_exception_handler_input[asgi-exceptions3] PASSED [ 30%]
tests/test_error_handlers.py::TestErrorHandler::test_invalid_add_exception_handler_input[wsgi-exceptions0] PASSED [ 30%]
tests/test_error_handlers.py::TestErrorHandler::test_invalid_add_exception_handler_input[wsgi-Hello, world!] PASSED [ 30%]
tests/test_error_handlers.py::TestErrorHandler::test_invalid_add_exception_handler_input[wsgi-exceptions2] PASSED [ 30%]
tests/test_error_handlers.py::TestErrorHandler::test_invalid_add_exception_handler_input[wsgi-exceptions3] PASSED [ 30%]
tests/test_error_handlers.py::TestErrorHandler::test_handler_signature_shim PASSED [ 30%]
tests/test_error_handlers.py::TestErrorHandler::test_handler_must_be_coroutine_for_asgi PASSED [ 30%]
tests/test_error_handlers.py::TestErrorHandler::test_catch_http_no_route_error[asgi] PASSED [ 30%]
tests/test_error_handlers.py::TestErrorHandler::test_catch_http_no_route_error[wsgi] PASSED [ 30%]
tests/test_error_handlers.py::TestNoBodyWithStatus::test_data_is_set[asgi] PASSED [ 30%]
tests/test_error_handlers.py::TestNoBodyWithStatus::test_data_is_set[wsgi] PASSED [ 30%]
tests/test_error_handlers.py::TestNoBodyWithStatus::test_media_is_set[asgi] PASSED [ 30%]
tests/test_error_handlers.py::TestNoBodyWithStatus::test_media_is_set[wsgi] PASSED [ 30%]
tests/test_error_handlers.py::TestNoBodyWithStatus::test_body_is_set[asgi] PASSED [ 30%]
tests/test_error_handlers.py::TestNoBodyWithStatus::test_body_is_set[wsgi] PASSED [ 30%]
tests/test_error_handlers.py::TestCustomError::test_data_is_set[asgi] PASSED [ 30%]
tests/test_error_handlers.py::TestCustomError::test_data_is_set[wsgi] PASSED [ 30%]
tests/test_error_handlers.py::TestCustomError::test_media_is_set[asgi] PASSED [ 30%]
tests/test_error_handlers.py::TestCustomError::test_media_is_set[wsgi] PASSED [ 31%]
tests/test_error_handlers.py::TestCustomError::test_body_is_set[asgi] PASSED [ 31%]
tests/test_error_handlers.py::TestCustomError::test_body_is_set[wsgi] PASSED [ 31%]
tests/test_headers.py::TestHeaders::test_content_length[asgi] PASSED     [ 31%]
tests/test_headers.py::TestHeaders::test_content_length[wsgi] PASSED     [ 31%]
tests/test_headers.py::TestHeaders::test_declared_content_length_on_head[asgi] PASSED [ 31%]
tests/test_headers.py::TestHeaders::test_declared_content_length_on_head[wsgi] PASSED [ 31%]
tests/test_headers.py::TestHeaders::test_declared_content_length_overridden_by_no_body[asgi] PASSED [ 31%]
tests/test_headers.py::TestHeaders::test_declared_content_length_overridden_by_no_body[wsgi] PASSED [ 31%]
tests/test_headers.py::TestHeaders::test_declared_content_length_overriden_by_body_length[asgi] PASSED [ 31%]
tests/test_headers.py::TestHeaders::test_declared_content_length_overriden_by_body_length[wsgi] PASSED [ 31%]
tests/test_headers.py::TestHeaders::test_declared_content_length_overriden_by_data_length[asgi] PASSED [ 31%]
tests/test_headers.py::TestHeaders::test_declared_content_length_overriden_by_data_length[wsgi] PASSED [ 31%]
tests/test_headers.py::TestHeaders::test_expires_header[asgi] PASSED     [ 31%]
tests/test_headers.py::TestHeaders::test_expires_header[wsgi] PASSED     [ 31%]
tests/test_headers.py::TestHeaders::test_default_value[asgi] PASSED      [ 31%]
tests/test_headers.py::TestHeaders::test_default_value[wsgi] PASSED      [ 31%]
tests/test_headers.py::TestHeaders::test_unset_header[asgi-True] PASSED  [ 31%]
tests/test_headers.py::TestHeaders::test_unset_header[asgi-False] PASSED [ 31%]
tests/test_headers.py::TestHeaders::test_unset_header[wsgi-True] PASSED  [ 31%]
tests/test_headers.py::TestHeaders::test_unset_header[wsgi-False] PASSED [ 31%]
tests/test_headers.py::TestHeaders::test_required_header[asgi] PASSED    [ 31%]
tests/test_headers.py::TestHeaders::test_required_header[wsgi] PASSED    [ 31%]
tests/test_headers.py::TestHeaders::test_no_content_length[asgi-204 No Content] PASSED [ 31%]
tests/test_headers.py::TestHeaders::test_no_content_length[asgi-304 Not Modified] PASSED [ 31%]
tests/test_headers.py::TestHeaders::test_no_content_length[wsgi-204 No Content] PASSED [ 31%]
tests/test_headers.py::TestHeaders::test_no_content_length[wsgi-304 Not Modified] PASSED [ 31%]
tests/test_headers.py::TestHeaders::test_content_header_missing[asgi] PASSED [ 31%]
tests/test_headers.py::TestHeaders::test_content_header_missing[wsgi] PASSED [ 31%]
tests/test_headers.py::TestHeaders::test_passthrough_request_headers[asgi] PASSED [ 31%]
tests/test_headers.py::TestHeaders::test_passthrough_request_headers[wsgi] PASSED [ 31%]
tests/test_headers.py::TestHeaders::test_headers_as_list[asgi] PASSED    [ 31%]
tests/test_headers.py::TestHeaders::test_headers_as_list[wsgi] PASSED    [ 31%]
tests/test_headers.py::TestHeaders::test_default_media_type[asgi] PASSED [ 32%]
tests/test_headers.py::TestHeaders::test_default_media_type[wsgi] PASSED [ 32%]
tests/test_headers.py::TestHeaders::test_override_default_media_type[text/plain; charset=UTF-8-Hello Unicode! \U0001f638-True] PASSED [ 32%]
tests/test_headers.py::TestHeaders::test_override_default_media_type[text/plain; charset=UTF-8-Hello Unicode! \U0001f638-False] PASSED [ 32%]
tests/test_headers.py::TestHeaders::test_override_default_media_type[text/plain-Hello ISO-8859-1!-True] PASSED [ 32%]
tests/test_headers.py::TestHeaders::test_override_default_media_type[text/plain-Hello ISO-8859-1!-False] PASSED [ 32%]
tests/test_headers.py::TestHeaders::test_override_default_media_type_missing_encoding[True] PASSED [ 32%]
tests/test_headers.py::TestHeaders::test_override_default_media_type_missing_encoding[False] PASSED [ 32%]
tests/test_headers.py::TestHeaders::test_response_header_helpers_on_get[asgi] PASSED [ 32%]
tests/test_headers.py::TestHeaders::test_response_header_helpers_on_get[wsgi] PASSED [ 32%]
tests/test_headers.py::TestHeaders::test_content_disposition_attachment_header[asgi-report.csv-attachment; filename="report.csv"] PASSED [ 32%]
tests/test_headers.py::TestHeaders::test_content_disposition_attachment_header[asgi-Hello World.txt-attachment; filename="Hello World.txt"] PASSED [ 32%]
tests/test_headers.py::TestHeaders::test_content_disposition_attachment_header[asgi-Bold Digit \U0001d7cf.txt-attachment; filename=Bold_Digit_1.txt; filename*=UTF-8''Bold%20Digit%20%F0%9D%9F%8F.txt] PASSED [ 32%]
tests/test_headers.py::TestHeaders::test_content_disposition_attachment_header[asgi-\xc5ngstr\xf6m unit.txt-attachment; filename=A_ngstro_m_unit.txt; filename*=UTF-8''%C3%85ngstr%C3%B6m%20unit.txt] PASSED [ 32%]
tests/test_headers.py::TestHeaders::test_content_disposition_attachment_header[asgi-one,two.txt-attachment; filename="one,two.txt"] PASSED [ 32%]
tests/test_headers.py::TestHeaders::test_content_disposition_attachment_header[asgi-\xbd,\xb2\u2044\u2082.txt-attachment; filename=1_2_2_2.txt; filename*=UTF-8''%C2%BD%2C%C2%B2%E2%81%84%E2%82%82.txt] PASSED [ 32%]
tests/test_headers.py::TestHeaders::test_content_disposition_attachment_header[asgi-[foo] @ bar.txt-attachment; filename="[foo] @ bar.txt"] PASSED [ 32%]
tests/test_headers.py::TestHeaders::test_content_disposition_attachment_header[asgi-[f\xf2\xf3]@b\xe0r,b\xe4z.txt-attachment; filename=_fo_o___ba_r_ba_z.txt; filename*=UTF-8''%5Bf%C3%B2%C3%B3%5D%40b%C3%A0r%2Cb%C3%A4z.txt] PASSED [ 32%]
tests/test_headers.py::TestHeaders::test_content_disposition_attachment_header[wsgi-report.csv-attachment; filename="report.csv"] PASSED [ 32%]
tests/test_headers.py::TestHeaders::test_content_disposition_attachment_header[wsgi-Hello World.txt-attachment; filename="Hello World.txt"] PASSED [ 32%]
tests/test_headers.py::TestHeaders::test_content_disposition_attachment_header[wsgi-Bold Digit \U0001d7cf.txt-attachment; filename=Bold_Digit_1.txt; filename*=UTF-8''Bold%20Digit%20%F0%9D%9F%8F.txt] PASSED [ 32%]
tests/test_headers.py::TestHeaders::test_content_disposition_attachment_header[wsgi-\xc5ngstr\xf6m unit.txt-attachment; filename=A_ngstro_m_unit.txt; filename*=UTF-8''%C3%85ngstr%C3%B6m%20unit.txt] PASSED [ 32%]
tests/test_headers.py::TestHeaders::test_content_disposition_attachment_header[wsgi-one,two.txt-attachment; filename="one,two.txt"] PASSED [ 32%]
tests/test_headers.py::TestHeaders::test_content_disposition_attachment_header[wsgi-\xbd,\xb2\u2044\u2082.txt-attachment; filename=1_2_2_2.txt; filename*=UTF-8''%C2%BD%2C%C2%B2%E2%81%84%E2%82%82.txt] PASSED [ 32%]
tests/test_headers.py::TestHeaders::test_content_disposition_attachment_header[wsgi-[foo] @ bar.txt-attachment; filename="[foo] @ bar.txt"] PASSED [ 32%]
tests/test_headers.py::TestHeaders::test_content_disposition_attachment_header[wsgi-[f\xf2\xf3]@b\xe0r,b\xe4z.txt-attachment; filename=_fo_o___ba_r_ba_z.txt; filename*=UTF-8''%5Bf%C3%B2%C3%B3%5D%40b%C3%A0r%2Cb%C3%A4z.txt] PASSED [ 32%]
tests/test_headers.py::TestHeaders::test_content_disposition_inline_header[asgi-report.csv-inline; filename="report.csv"] PASSED [ 32%]
tests/test_headers.py::TestHeaders::test_content_disposition_inline_header[asgi-Hello World.txt-inline; filename="Hello World.txt"] PASSED [ 32%]
tests/test_headers.py::TestHeaders::test_content_disposition_inline_header[asgi-Bold Digit \U0001d7cf.txt-inline; filename=Bold_Digit_1.txt; filename*=UTF-8''Bold%20Digit%20%F0%9D%9F%8F.txt] PASSED [ 32%]
tests/test_headers.py::TestHeaders::test_content_disposition_inline_header[wsgi-report.csv-inline; filename="report.csv"] PASSED [ 32%]
tests/test_headers.py::TestHeaders::test_content_disposition_inline_header[wsgi-Hello World.txt-inline; filename="Hello World.txt"] PASSED [ 32%]
tests/test_headers.py::TestHeaders::test_content_disposition_inline_header[wsgi-Bold Digit \U0001d7cf.txt-inline; filename=Bold_Digit_1.txt; filename*=UTF-8''Bold%20Digit%20%F0%9D%9F%8F.txt] PASSED [ 32%]
tests/test_headers.py::TestHeaders::test_request_latin1_headers[asgi] PASSED [ 32%]
tests/test_headers.py::TestHeaders::test_request_latin1_headers[wsgi] PASSED [ 33%]
tests/test_headers.py::TestHeaders::test_unicode_location_headers[asgi] PASSED [ 33%]
tests/test_headers.py::TestHeaders::test_unicode_location_headers[wsgi] PASSED [ 33%]
tests/test_headers.py::TestHeaders::test_unicode_headers_contain_only_ascii[asgi] PASSED [ 33%]
tests/test_headers.py::TestHeaders::test_unicode_headers_contain_only_ascii[wsgi] PASSED [ 33%]
tests/test_headers.py::TestHeaders::test_unicode_headers_contain_non_ascii[asgi-CONNECT] PASSED [ 33%]
tests/test_headers.py::TestHeaders::test_unicode_headers_contain_non_ascii[asgi-PATCH] PASSED [ 33%]
tests/test_headers.py::TestHeaders::test_unicode_headers_contain_non_ascii[asgi-POST] PASSED [ 33%]
tests/test_headers.py::TestHeaders::test_unicode_headers_contain_non_ascii[asgi-PUT] PASSED [ 33%]
tests/test_headers.py::TestHeaders::test_unicode_headers_contain_non_ascii[wsgi-CONNECT] SKIPPED [ 33%]
tests/test_headers.py::TestHeaders::test_unicode_headers_contain_non_ascii[wsgi-PATCH] PASSED [ 33%]
tests/test_headers.py::TestHeaders::test_unicode_headers_contain_non_ascii[wsgi-POST] PASSED [ 33%]
tests/test_headers.py::TestHeaders::test_unicode_headers_contain_non_ascii[wsgi-PUT] PASSED [ 33%]
tests/test_headers.py::TestHeaders::test_response_set_and_get_header[asgi] PASSED [ 33%]
tests/test_headers.py::TestHeaders::test_response_set_and_get_header[wsgi] PASSED [ 33%]
tests/test_headers.py::TestHeaders::test_response_append_header[asgi] PASSED [ 33%]
tests/test_headers.py::TestHeaders::test_response_append_header[wsgi] PASSED [ 33%]
tests/test_headers.py::TestHeaders::test_set_cookie_disallowed[asgi-ValueError-Set-Cookie] PASSED [ 33%]
tests/test_headers.py::TestHeaders::test_set_cookie_disallowed[asgi-ValueError-set-cookie] PASSED [ 33%]
tests/test_headers.py::TestHeaders::test_set_cookie_disallowed[asgi-ValueError-seT-cookie] PASSED [ 33%]
tests/test_headers.py::TestHeaders::test_set_cookie_disallowed[asgi-HeaderNotSupported-Set-Cookie] PASSED [ 33%]
tests/test_headers.py::TestHeaders::test_set_cookie_disallowed[asgi-HeaderNotSupported-set-cookie] PASSED [ 33%]
tests/test_headers.py::TestHeaders::test_set_cookie_disallowed[asgi-HeaderNotSupported-seT-cookie] PASSED [ 33%]
tests/test_headers.py::TestHeaders::test_set_cookie_disallowed[wsgi-ValueError-Set-Cookie] PASSED [ 33%]
tests/test_headers.py::TestHeaders::test_set_cookie_disallowed[wsgi-ValueError-set-cookie] PASSED [ 33%]
tests/test_headers.py::TestHeaders::test_set_cookie_disallowed[wsgi-ValueError-seT-cookie] PASSED [ 33%]
tests/test_headers.py::TestHeaders::test_set_cookie_disallowed[wsgi-HeaderNotSupported-Set-Cookie] PASSED [ 33%]
tests/test_headers.py::TestHeaders::test_set_cookie_disallowed[wsgi-HeaderNotSupported-set-cookie] PASSED [ 33%]
tests/test_headers.py::TestHeaders::test_set_cookie_disallowed[wsgi-HeaderNotSupported-seT-cookie] PASSED [ 33%]
tests/test_headers.py::TestHeaders::test_vary_star[asgi] PASSED          [ 33%]
tests/test_headers.py::TestHeaders::test_vary_star[wsgi] PASSED          [ 33%]
tests/test_headers.py::TestHeaders::test_vary_header[asgi-vary0-accept-encoding] PASSED [ 33%]
tests/test_headers.py::TestHeaders::test_vary_header[asgi-vary1-accept-encoding, x-auth-token] PASSED [ 33%]
tests/test_headers.py::TestHeaders::test_vary_header[wsgi-vary0-accept-encoding] PASSED [ 33%]
tests/test_headers.py::TestHeaders::test_vary_header[wsgi-vary1-accept-encoding, x-auth-token] PASSED [ 34%]
tests/test_headers.py::TestHeaders::test_content_type_no_body[asgi] PASSED [ 34%]
tests/test_headers.py::TestHeaders::test_content_type_no_body[wsgi] PASSED [ 34%]
tests/test_headers.py::TestHeaders::test_no_content_type[asgi-204 No Content] PASSED [ 34%]
tests/test_headers.py::TestHeaders::test_no_content_type[asgi-304 Not Modified] PASSED [ 34%]
tests/test_headers.py::TestHeaders::test_no_content_type[wsgi-204 No Content] PASSED [ 34%]
tests/test_headers.py::TestHeaders::test_no_content_type[wsgi-304 Not Modified] PASSED [ 34%]
tests/test_headers.py::TestHeaders::test_custom_content_type[asgi] PASSED [ 34%]
tests/test_headers.py::TestHeaders::test_custom_content_type[wsgi] PASSED [ 34%]
tests/test_headers.py::TestHeaders::test_append_link_single[asgi] PASSED [ 34%]
tests/test_headers.py::TestHeaders::test_append_link_single[wsgi] PASSED [ 34%]
tests/test_headers.py::TestHeaders::test_append_link_multiple[asgi] PASSED [ 34%]
tests/test_headers.py::TestHeaders::test_append_link_multiple[wsgi] PASSED [ 34%]
tests/test_headers.py::TestHeaders::test_append_link_with_title[asgi] PASSED [ 34%]
tests/test_headers.py::TestHeaders::test_append_link_with_title[wsgi] PASSED [ 34%]
tests/test_headers.py::TestHeaders::test_append_link_with_title_star[asgi] PASSED [ 34%]
tests/test_headers.py::TestHeaders::test_append_link_with_title_star[wsgi] PASSED [ 34%]
tests/test_headers.py::TestHeaders::test_append_link_with_anchor[asgi] PASSED [ 34%]
tests/test_headers.py::TestHeaders::test_append_link_with_anchor[wsgi] PASSED [ 34%]
tests/test_headers.py::TestHeaders::test_append_link_with_hreflang[asgi] PASSED [ 34%]
tests/test_headers.py::TestHeaders::test_append_link_with_hreflang[wsgi] PASSED [ 34%]
tests/test_headers.py::TestHeaders::test_append_link_with_hreflang_multi[asgi] PASSED [ 34%]
tests/test_headers.py::TestHeaders::test_append_link_with_hreflang_multi[wsgi] PASSED [ 34%]
tests/test_headers.py::TestHeaders::test_append_link_with_type_hint[asgi] PASSED [ 34%]
tests/test_headers.py::TestHeaders::test_append_link_with_type_hint[wsgi] PASSED [ 34%]
tests/test_headers.py::TestHeaders::test_append_link_complex[asgi] PASSED [ 34%]
tests/test_headers.py::TestHeaders::test_append_link_complex[wsgi] PASSED [ 34%]
tests/test_headers.py::TestHeaders::test_append_link_crossorigin[asgi-None-</related/thing>; rel=alternate] PASSED [ 34%]
tests/test_headers.py::TestHeaders::test_append_link_crossorigin[asgi-anonymous-</related/thing>; rel=alternate; crossorigin] PASSED [ 34%]
tests/test_headers.py::TestHeaders::test_append_link_crossorigin[asgi-Anonymous-</related/thing>; rel=alternate; crossorigin] PASSED [ 34%]
tests/test_headers.py::TestHeaders::test_append_link_crossorigin[asgi-AnOnYmOUs-</related/thing>; rel=alternate; crossorigin] PASSED [ 34%]
tests/test_headers.py::TestHeaders::test_append_link_crossorigin[asgi-Use-Credentials-</related/thing>; rel=alternate; crossorigin="use-credentials"] PASSED [ 34%]
tests/test_headers.py::TestHeaders::test_append_link_crossorigin[asgi-use-credentials-</related/thing>; rel=alternate; crossorigin="use-credentials"] PASSED [ 34%]
tests/test_headers.py::TestHeaders::test_append_link_crossorigin[wsgi-None-</related/thing>; rel=alternate] PASSED [ 35%]
tests/test_headers.py::TestHeaders::test_append_link_crossorigin[wsgi-anonymous-</related/thing>; rel=alternate; crossorigin] PASSED [ 35%]
tests/test_headers.py::TestHeaders::test_append_link_crossorigin[wsgi-Anonymous-</related/thing>; rel=alternate; crossorigin] PASSED [ 35%]
tests/test_headers.py::TestHeaders::test_append_link_crossorigin[wsgi-AnOnYmOUs-</related/thing>; rel=alternate; crossorigin] PASSED [ 35%]
tests/test_headers.py::TestHeaders::test_append_link_crossorigin[wsgi-Use-Credentials-</related/thing>; rel=alternate; crossorigin="use-credentials"] PASSED [ 35%]
tests/test_headers.py::TestHeaders::test_append_link_crossorigin[wsgi-use-credentials-</related/thing>; rel=alternate; crossorigin="use-credentials"] PASSED [ 35%]
tests/test_headers.py::TestHeaders::test_append_link_invalid_crossorigin_value[*] PASSED [ 35%]
tests/test_headers.py::TestHeaders::test_append_link_invalid_crossorigin_value[Allow-all] PASSED [ 35%]
tests/test_headers.py::TestHeaders::test_append_link_invalid_crossorigin_value[Lax] PASSED [ 35%]
tests/test_headers.py::TestHeaders::test_append_link_invalid_crossorigin_value[MUST-REVALIDATE] PASSED [ 35%]
tests/test_headers.py::TestHeaders::test_append_link_invalid_crossorigin_value[Strict] PASSED [ 35%]
tests/test_headers.py::TestHeaders::test_append_link_invalid_crossorigin_value[deny] PASSED [ 35%]
tests/test_headers.py::TestHeaders::test_content_length_options[asgi] PASSED [ 35%]
tests/test_headers.py::TestHeaders::test_content_length_options[wsgi] PASSED [ 35%]
tests/test_headers.py::TestHeaders::test_set_headers_with_custom_class[asgi] PASSED [ 35%]
tests/test_headers.py::TestHeaders::test_set_headers_with_custom_class[wsgi] PASSED [ 35%]
tests/test_headers.py::TestHeaders::test_headers_with_custom_class_not_callable[asgi] PASSED [ 35%]
tests/test_headers.py::TestHeaders::test_headers_with_custom_class_not_callable[wsgi] PASSED [ 35%]
tests/test_headers.py::TestHeaders::test_request_multiple_header[asgi] PASSED [ 35%]
tests/test_headers.py::TestHeaders::test_request_multiple_header[wsgi] PASSED [ 35%]
tests/test_hello.py::TestHelloWorld::test_env_headers_list_of_tuples PASSED [ 35%]
tests/test_hello.py::TestHelloWorld::test_root_route PASSED              [ 35%]
tests/test_hello.py::TestHelloWorld::test_no_route PASSED                [ 35%]
tests/test_hello.py::TestHelloWorld::test_body[/body-resource0-<lambda>] PASSED [ 35%]
tests/test_hello.py::TestHelloWorld::test_body[/bytes-resource1-<lambda>] PASSED [ 35%]
tests/test_hello.py::TestHelloWorld::test_body[/data-resource2-<lambda>] PASSED [ 35%]
tests/test_hello.py::TestHelloWorld::test_no_body_on_head PASSED         [ 35%]
tests/test_hello.py::TestHelloWorld::test_stream_chunked PASSED          [ 35%]
tests/test_hello.py::TestHelloWorld::test_stream_known_len PASSED        [ 35%]
tests/test_hello.py::TestHelloWorld::test_filelike PASSED                [ 35%]
tests/test_hello.py::TestHelloWorld::test_filelike_closing[ClosingBytesIO-True] PASSED [ 35%]
tests/test_hello.py::TestHelloWorld::test_filelike_closing[NonClosingBytesIO-False] PASSED [ 35%]
tests/test_hello.py::TestHelloWorld::test_filelike_using_helper PASSED   [ 35%]
tests/test_hello.py::TestHelloWorld::test_status_not_set PASSED          [ 36%]
tests/test_http_custom_method_routing.py::test_map_http_methods[asgi] PASSED [ 36%]
tests/test_http_custom_method_routing.py::test_map_http_methods[wsgi] PASSED [ 36%]
tests/test_http_custom_method_routing.py::test_environment_override[foo-expected0] SKIPPED [ 36%]
tests/test_http_custom_method_routing.py::test_environment_override[FOO-expected1] SKIPPED [ 36%]
tests/test_http_custom_method_routing.py::test_environment_override[FOO,-expected2] SKIPPED [ 36%]
tests/test_http_custom_method_routing.py::test_environment_override[FOO,BAR-expected3] SKIPPED [ 36%]
tests/test_http_custom_method_routing.py::test_environment_override[FOO, BAR-expected4] SKIPPED [ 36%]
tests/test_http_custom_method_routing.py::test_environment_override[ foo , BAR -expected5] SKIPPED [ 36%]
tests/test_http_custom_method_routing.py::test_foo[asgi] PASSED          [ 36%]
tests/test_http_custom_method_routing.py::test_foo[wsgi] PASSED          [ 36%]
tests/test_http_custom_method_routing.py::test_bar[asgi] PASSED          [ 36%]
tests/test_http_custom_method_routing.py::test_bar[wsgi] PASSED          [ 36%]
tests/test_http_method_routing.py::TestHttpMethodRouting::test_get[asgi] PASSED [ 36%]
tests/test_http_method_routing.py::TestHttpMethodRouting::test_get[wsgi] PASSED [ 36%]
tests/test_http_method_routing.py::TestHttpMethodRouting::test_put[asgi] PASSED [ 36%]
tests/test_http_method_routing.py::TestHttpMethodRouting::test_put[wsgi] PASSED [ 36%]
tests/test_http_method_routing.py::TestHttpMethodRouting::test_post_not_allowed[asgi] PASSED [ 36%]
tests/test_http_method_routing.py::TestHttpMethodRouting::test_post_not_allowed[wsgi] PASSED [ 36%]
tests/test_http_method_routing.py::TestHttpMethodRouting::test_report[asgi] PASSED [ 36%]
tests/test_http_method_routing.py::TestHttpMethodRouting::test_report[wsgi] PASSED [ 36%]
tests/test_http_method_routing.py::TestHttpMethodRouting::test_misc[asgi] PASSED [ 36%]
tests/test_http_method_routing.py::TestHttpMethodRouting::test_misc[wsgi] PASSED [ 36%]
tests/test_http_method_routing.py::TestHttpMethodRouting::test_methods_not_allowed_simple[asgi] PASSED [ 36%]
tests/test_http_method_routing.py::TestHttpMethodRouting::test_methods_not_allowed_simple[wsgi] PASSED [ 36%]
tests/test_http_method_routing.py::TestHttpMethodRouting::test_methods_not_allowed_complex[asgi] PASSED [ 36%]
tests/test_http_method_routing.py::TestHttpMethodRouting::test_methods_not_allowed_complex[wsgi] PASSED [ 36%]
tests/test_http_method_routing.py::TestHttpMethodRouting::test_method_not_allowed_with_param[asgi] PASSED [ 36%]
tests/test_http_method_routing.py::TestHttpMethodRouting::test_method_not_allowed_with_param[wsgi] PASSED [ 36%]
tests/test_http_method_routing.py::TestHttpMethodRouting::test_default_on_options[asgi] PASSED [ 36%]
tests/test_http_method_routing.py::TestHttpMethodRouting::test_default_on_options[wsgi] PASSED [ 36%]
tests/test_http_method_routing.py::TestHttpMethodRouting::test_on_options[asgi] PASSED [ 36%]
tests/test_http_method_routing.py::TestHttpMethodRouting::test_on_options[wsgi] PASSED [ 36%]
tests/test_http_method_routing.py::TestHttpMethodRouting::test_meta_and_others_disallowed[asgi-WEBSOCKET] PASSED [ 37%]
tests/test_http_method_routing.py::TestHttpMethodRouting::test_meta_and_others_disallowed[asgi-SETECASTRONOMY] PASSED [ 37%]
tests/test_http_method_routing.py::TestHttpMethodRouting::test_meta_and_others_disallowed[wsgi-WEBSOCKET] PASSED [ 37%]
tests/test_http_method_routing.py::TestHttpMethodRouting::test_meta_and_others_disallowed[wsgi-SETECASTRONOMY] PASSED [ 37%]
tests/test_httperror.py::TestHTTPError::test_base_class[asgi] PASSED     [ 37%]
tests/test_httperror.py::TestHTTPError::test_base_class[wsgi] PASSED     [ 37%]
tests/test_httperror.py::TestHTTPError::test_has_representation PASSED   [ 37%]
tests/test_httperror.py::TestHTTPError::test_no_description_json[asgi] PASSED [ 37%]
tests/test_httperror.py::TestHTTPError::test_no_description_json[wsgi] PASSED [ 37%]
tests/test_httperror.py::TestHTTPError::test_no_description_xml[asgi] PASSED [ 37%]
tests/test_httperror.py::TestHTTPError::test_no_description_xml[wsgi] PASSED [ 37%]
tests/test_httperror.py::TestHTTPError::test_client_does_not_accept_json_or_xml[asgi] PASSED [ 37%]
tests/test_httperror.py::TestHTTPError::test_client_does_not_accept_json_or_xml[wsgi] PASSED [ 37%]
tests/test_httperror.py::TestHTTPError::test_custom_error_serializer[asgi] PASSED [ 37%]
tests/test_httperror.py::TestHTTPError::test_custom_error_serializer[wsgi] PASSED [ 37%]
tests/test_httperror.py::TestHTTPError::test_custom_error_serializer_optional_representation[asgi-GET-/404-404] PASSED [ 37%]
tests/test_httperror.py::TestHTTPError::test_custom_error_serializer_optional_representation[asgi-GET-/notfound-404] PASSED [ 37%]
tests/test_httperror.py::TestHTTPError::test_custom_error_serializer_optional_representation[asgi-REPORT-/404-405] PASSED [ 37%]
tests/test_httperror.py::TestHTTPError::test_custom_error_serializer_optional_representation[asgi-BREW-/notfound-400] PASSED [ 37%]
tests/test_httperror.py::TestHTTPError::test_custom_error_serializer_optional_representation[wsgi-GET-/404-404] PASSED [ 37%]
tests/test_httperror.py::TestHTTPError::test_custom_error_serializer_optional_representation[wsgi-GET-/notfound-404] PASSED [ 37%]
tests/test_httperror.py::TestHTTPError::test_custom_error_serializer_optional_representation[wsgi-REPORT-/404-405] PASSED [ 37%]
tests/test_httperror.py::TestHTTPError::test_custom_error_serializer_optional_representation[wsgi-BREW-/notfound-400] PASSED [ 37%]
tests/test_httperror.py::TestHTTPError::test_custom_serializer_no_representation[asgi] PASSED [ 37%]
tests/test_httperror.py::TestHTTPError::test_custom_serializer_no_representation[wsgi] PASSED [ 37%]
tests/test_httperror.py::TestHTTPError::test_client_does_not_accept_anything[asgi] PASSED [ 37%]
tests/test_httperror.py::TestHTTPError::test_client_does_not_accept_anything[wsgi] PASSED [ 37%]
tests/test_httperror.py::TestHTTPError::test_forbidden[asgi-application/json] PASSED [ 37%]
tests/test_httperror.py::TestHTTPError::test_forbidden[asgi-application/vnd.company.system.project.resource+json;v=1.1] PASSED [ 37%]
tests/test_httperror.py::TestHTTPError::test_forbidden[asgi-application/json-patch+json] PASSED [ 37%]
tests/test_httperror.py::TestHTTPError::test_forbidden[wsgi-application/json] PASSED [ 37%]
tests/test_httperror.py::TestHTTPError::test_forbidden[wsgi-application/vnd.company.system.project.resource+json;v=1.1] PASSED [ 37%]
tests/test_httperror.py::TestHTTPError::test_forbidden[wsgi-application/json-patch+json] PASSED [ 37%]
tests/test_httperror.py::TestHTTPError::test_epic_fail_json[asgi] PASSED [ 38%]
tests/test_httperror.py::TestHTTPError::test_epic_fail_json[wsgi] PASSED [ 38%]
tests/test_httperror.py::TestHTTPError::test_epic_fail_xml[asgi-text/xml] PASSED [ 38%]
tests/test_httperror.py::TestHTTPError::test_epic_fail_xml[asgi-application/xml] PASSED [ 38%]
tests/test_httperror.py::TestHTTPError::test_epic_fail_xml[asgi-application/vnd.company.system.project.resource+xml;v=1.1] PASSED [ 38%]
tests/test_httperror.py::TestHTTPError::test_epic_fail_xml[asgi-application/atom+xml] PASSED [ 38%]
tests/test_httperror.py::TestHTTPError::test_epic_fail_xml[wsgi-text/xml] PASSED [ 38%]
tests/test_httperror.py::TestHTTPError::test_epic_fail_xml[wsgi-application/xml] PASSED [ 38%]
tests/test_httperror.py::TestHTTPError::test_epic_fail_xml[wsgi-application/vnd.company.system.project.resource+xml;v=1.1] PASSED [ 38%]
tests/test_httperror.py::TestHTTPError::test_epic_fail_xml[wsgi-application/atom+xml] PASSED [ 38%]
tests/test_httperror.py::TestHTTPError::test_unicode_json[asgi] PASSED   [ 38%]
tests/test_httperror.py::TestHTTPError::test_unicode_json[wsgi] PASSED   [ 38%]
tests/test_httperror.py::TestHTTPError::test_unicode_xml[asgi] PASSED    [ 38%]
tests/test_httperror.py::TestHTTPError::test_unicode_xml[wsgi] PASSED    [ 38%]
tests/test_httperror.py::TestHTTPError::test_401[asgi] PASSED            [ 38%]
tests/test_httperror.py::TestHTTPError::test_401[wsgi] PASSED            [ 38%]
tests/test_httperror.py::TestHTTPError::test_404_without_body[asgi] PASSED [ 38%]
tests/test_httperror.py::TestHTTPError::test_404_without_body[wsgi] PASSED [ 38%]
tests/test_httperror.py::TestHTTPError::test_404_with_body[asgi] PASSED  [ 38%]
tests/test_httperror.py::TestHTTPError::test_404_with_body[wsgi] PASSED  [ 38%]
tests/test_httperror.py::TestHTTPError::test_405_without_body[asgi] PASSED [ 38%]
tests/test_httperror.py::TestHTTPError::test_405_without_body[wsgi] PASSED [ 38%]
tests/test_httperror.py::TestHTTPError::test_405_without_body_with_extra_headers[asgi] PASSED [ 38%]
tests/test_httperror.py::TestHTTPError::test_405_without_body_with_extra_headers[wsgi] PASSED [ 38%]
tests/test_httperror.py::TestHTTPError::test_405_without_body_with_extra_headers_double_check[asgi] PASSED [ 38%]
tests/test_httperror.py::TestHTTPError::test_405_without_body_with_extra_headers_double_check[wsgi] PASSED [ 38%]
tests/test_httperror.py::TestHTTPError::test_405_with_body[asgi] PASSED  [ 38%]
tests/test_httperror.py::TestHTTPError::test_405_with_body[wsgi] PASSED  [ 38%]
tests/test_httperror.py::TestHTTPError::test_410_without_body[asgi] PASSED [ 38%]
tests/test_httperror.py::TestHTTPError::test_410_without_body[wsgi] PASSED [ 38%]
tests/test_httperror.py::TestHTTPError::test_410_with_body[asgi] PASSED  [ 38%]
tests/test_httperror.py::TestHTTPError::test_410_with_body[wsgi] PASSED  [ 38%]
tests/test_httperror.py::TestHTTPError::test_411[asgi] PASSED            [ 38%]
tests/test_httperror.py::TestHTTPError::test_411[wsgi] PASSED            [ 39%]
tests/test_httperror.py::TestHTTPError::test_413[asgi] PASSED            [ 39%]
tests/test_httperror.py::TestHTTPError::test_413[wsgi] PASSED            [ 39%]
tests/test_httperror.py::TestHTTPError::test_temporary_413_integer_retry_after[asgi] PASSED [ 39%]
tests/test_httperror.py::TestHTTPError::test_temporary_413_integer_retry_after[wsgi] PASSED [ 39%]
tests/test_httperror.py::TestHTTPError::test_temporary_413_datetime_retry_after[asgi] PASSED [ 39%]
tests/test_httperror.py::TestHTTPError::test_temporary_413_datetime_retry_after[wsgi] PASSED [ 39%]
tests/test_httperror.py::TestHTTPError::test_414[asgi] PASSED            [ 39%]
tests/test_httperror.py::TestHTTPError::test_414[wsgi] PASSED            [ 39%]
tests/test_httperror.py::TestHTTPError::test_414_with_title[asgi] PASSED [ 39%]
tests/test_httperror.py::TestHTTPError::test_414_with_title[wsgi] PASSED [ 39%]
tests/test_httperror.py::TestHTTPError::test_414_with_description[asgi] PASSED [ 39%]
tests/test_httperror.py::TestHTTPError::test_414_with_description[wsgi] PASSED [ 39%]
tests/test_httperror.py::TestHTTPError::test_414_with_custom_kwargs[asgi] PASSED [ 39%]
tests/test_httperror.py::TestHTTPError::test_414_with_custom_kwargs[wsgi] PASSED [ 39%]
tests/test_httperror.py::TestHTTPError::test_416[asgi] PASSED            [ 39%]
tests/test_httperror.py::TestHTTPError::test_416[wsgi] PASSED            [ 39%]
tests/test_httperror.py::TestHTTPError::test_429_no_retry_after[asgi] PASSED [ 39%]
tests/test_httperror.py::TestHTTPError::test_429_no_retry_after[wsgi] PASSED [ 39%]
tests/test_httperror.py::TestHTTPError::test_429[asgi] PASSED            [ 39%]
tests/test_httperror.py::TestHTTPError::test_429[wsgi] PASSED            [ 39%]
tests/test_httperror.py::TestHTTPError::test_429_datetime[asgi] PASSED   [ 39%]
tests/test_httperror.py::TestHTTPError::test_429_datetime[wsgi] PASSED   [ 39%]
tests/test_httperror.py::TestHTTPError::test_503_integer_retry_after[asgi] PASSED [ 39%]
tests/test_httperror.py::TestHTTPError::test_503_integer_retry_after[wsgi] PASSED [ 39%]
tests/test_httperror.py::TestHTTPError::test_503_datetime_retry_after[asgi] PASSED [ 39%]
tests/test_httperror.py::TestHTTPError::test_503_datetime_retry_after[wsgi] PASSED [ 39%]
tests/test_httperror.py::TestHTTPError::test_invalid_header[asgi] PASSED [ 39%]
tests/test_httperror.py::TestHTTPError::test_invalid_header[wsgi] PASSED [ 39%]
tests/test_httperror.py::TestHTTPError::test_missing_header[asgi] PASSED [ 39%]
tests/test_httperror.py::TestHTTPError::test_missing_header[wsgi] PASSED [ 39%]
tests/test_httperror.py::TestHTTPError::test_invalid_param[asgi] PASSED  [ 39%]
tests/test_httperror.py::TestHTTPError::test_invalid_param[wsgi] PASSED  [ 39%]
tests/test_httperror.py::TestHTTPError::test_missing_param[asgi] PASSED  [ 40%]
tests/test_httperror.py::TestHTTPError::test_missing_param[wsgi] PASSED  [ 40%]
tests/test_httperror.py::TestHTTPError::test_misc[asgi] PASSED           [ 40%]
tests/test_httperror.py::TestHTTPError::test_misc[wsgi] PASSED           [ 40%]
tests/test_httperror.py::TestHTTPError::test_title_default_message_if_none[asgi] PASSED [ 40%]
tests/test_httperror.py::TestHTTPError::test_title_default_message_if_none[wsgi] PASSED [ 40%]
tests/test_httperror.py::TestHTTPError::test_to_json_dumps PASSED        [ 40%]
tests/test_httperror.py::TestHTTPError::test_serialize_error_uses_media_handler[asgi] PASSED [ 40%]
tests/test_httperror.py::TestHTTPError::test_serialize_error_uses_media_handler[wsgi] PASSED [ 40%]
tests/test_httperror.py::TestHTTPError::test_serialize_no_json_media_handler[asgi] PASSED [ 40%]
tests/test_httperror.py::TestHTTPError::test_serialize_no_json_media_handler[wsgi] PASSED [ 40%]
tests/test_httperror.py::TestHTTPError::test_MediaMalformedError PASSED  [ 40%]
tests/test_httperror.py::test_kw_only PASSED                             [ 40%]
tests/test_httperror.py::test_NoRepresentation PASSED                    [ 40%]
tests/test_httperror.py::TestOptionalRepresentation::test_OptionalRepresentation_false PASSED [ 40%]
tests/test_httperror.py::TestOptionalRepresentation::test_OptionalRepresentation_true PASSED [ 40%]
tests/test_httpstatus.py::TestHTTPStatus::test_raise_status_in_before_hook[True] PASSED [ 40%]
tests/test_httpstatus.py::TestHTTPStatus::test_raise_status_in_before_hook[False] PASSED [ 40%]
tests/test_httpstatus.py::TestHTTPStatus::test_raise_status_in_responder[True] PASSED [ 40%]
tests/test_httpstatus.py::TestHTTPStatus::test_raise_status_in_responder[False] PASSED [ 40%]
tests/test_httpstatus.py::TestHTTPStatus::test_raise_status_runs_after_hooks[True] PASSED [ 40%]
tests/test_httpstatus.py::TestHTTPStatus::test_raise_status_runs_after_hooks[False] PASSED [ 40%]
tests/test_httpstatus.py::TestHTTPStatus::test_raise_status_survives_after_hooks[True] PASSED [ 40%]
tests/test_httpstatus.py::TestHTTPStatus::test_raise_status_survives_after_hooks[False] PASSED [ 40%]
tests/test_httpstatus.py::TestHTTPStatus::test_raise_status_empty_body[True] PASSED [ 40%]
tests/test_httpstatus.py::TestHTTPStatus::test_raise_status_empty_body[False] PASSED [ 40%]
tests/test_httpstatus.py::TestHTTPStatusWithMiddleware::test_raise_status_in_process_request[True] PASSED [ 40%]
tests/test_httpstatus.py::TestHTTPStatusWithMiddleware::test_raise_status_in_process_request[False] PASSED [ 40%]
tests/test_httpstatus.py::TestHTTPStatusWithMiddleware::test_raise_status_in_process_resource[True] PASSED [ 40%]
tests/test_httpstatus.py::TestHTTPStatusWithMiddleware::test_raise_status_in_process_resource[False] PASSED [ 40%]
tests/test_httpstatus.py::TestHTTPStatusWithMiddleware::test_raise_status_runs_process_response[True] PASSED [ 40%]
tests/test_httpstatus.py::TestHTTPStatusWithMiddleware::test_raise_status_runs_process_response[False] PASSED [ 40%]
tests/test_httpstatus.py::TestNoBodyWithStatus::test_data_is_set[asgi] PASSED [ 40%]
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  [ 41%]
tests/test_httpstatus.py::test_non_string_status[wsgi-307-307] PASSED    [ 41%]
tests/test_httpstatus.py::test_non_string_status[wsgi-500-500_1] PASSED  [ 41%]
tests/test_httpstatus.py::test_non_string_status[wsgi-702-702] PASSED    [ 41%]
tests/test_httpstatus.py::test_non_string_status[wsgi-200 OK-200] PASSED [ 41%]
tests/test_httpstatus.py::test_non_string_status[wsgi-702 Emacs-702] PASSED [ 41%]
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 [ 44%]
tests/test_inspect.py::TestStringVisitor::test_middleware_tree[True-True] PASSED [ 44%]
tests/test_inspect.py::TestStringVisitor::test_middleware_tree[True-False] PASSED [ 44%]
tests/test_inspect.py::TestStringVisitor::test_middleware_tree[False-True] PASSED [ 44%]
tests/test_inspect.py::TestStringVisitor::test_middleware_tree[False-False] PASSED [ 44%]
tests/test_inspect.py::TestStringVisitor::test_middleware_tree_response_only[True] PASSED [ 44%]
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 [ 45%]
tests/test_inspect.py::TestStringVisitor::test_app_no_errors[True-True] PASSED [ 45%]
tests/test_inspect.py::TestStringVisitor::test_app_no_errors[True-False] PASSED [ 45%]
tests/test_inspect.py::TestStringVisitor::test_app_no_errors[False-True] PASSED [ 45%]
tests/test_inspect.py::TestStringVisitor::test_app_no_errors[False-False] PASSED [ 45%]
tests/test_inspect.py::TestStringVisitor::test_app_name[True] PASSED     [ 45%]
tests/test_inspect.py::TestStringVisitor::test_app_name[False] PASSED    [ 45%]
tests/test_inspect.py::test_is_internal 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"}] PASSED [ 45%]
tests/test_media_handlers.py::test_serialization[asgi-dumps-body2-{"test":"value"}] PASSED [ 45%]
tests/test_media_handlers.py::test_serialization[asgi-func3-body3-[{"test":"value"},{"ensure_ascii":true}]] PASSED [ 45%]
tests/test_media_handlers.py::test_serialization[asgi-None-body4-{"yen":"\xc2\xa5"}] 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"}] PASSED [ 45%]
tests/test_media_handlers.py::test_serialization[wsgi-dumps-body2-{"test":"value"}] PASSED [ 45%]
tests/test_media_handlers.py::test_serialization[wsgi-func3-body3-[{"test":"value"},{"ensure_ascii":true}]] PASSED [ 45%]
tests/test_media_handlers.py::test_serialization[wsgi-None-body4-{"yen":"\xc2\xa5"}] 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-dumps-loads0] PASSED [ 45%]
tests/test_media_handlers.py::test_full_app[asgi-True-dumps1-temp_json_func] PASSED [ 45%]
tests/test_media_handlers.py::test_full_app[asgi-True-dumps-loads1] PASSED [ 45%]
tests/test_media_handlers.py::test_full_app[asgi-True-dumps-loads2] PASSED [ 46%]
tests/test_media_handlers.py::test_full_app[asgi-False-dumps-loads0] PASSED [ 46%]
tests/test_media_handlers.py::test_full_app[asgi-False-dumps1-temp_json_func] PASSED [ 46%]
tests/test_media_handlers.py::test_full_app[asgi-False-dumps-loads1] PASSED [ 46%]
tests/test_media_handlers.py::test_full_app[asgi-False-dumps-loads2] PASSED [ 46%]
tests/test_media_handlers.py::test_full_app[wsgi-True-dumps-loads0] PASSED [ 46%]
tests/test_media_handlers.py::test_full_app[wsgi-True-dumps1-temp_json_func] PASSED [ 46%]
tests/test_media_handlers.py::test_full_app[wsgi-True-dumps-loads1] PASSED [ 46%]
tests/test_media_handlers.py::test_full_app[wsgi-True-dumps-loads2] PASSED [ 46%]
tests/test_media_handlers.py::test_full_app[wsgi-False-dumps-loads0] PASSED [ 46%]
tests/test_media_handlers.py::test_full_app[wsgi-False-dumps1-temp_json_func] PASSED [ 46%]
tests/test_media_handlers.py::test_full_app[wsgi-False-dumps-loads1] PASSED [ 46%]
tests/test_media_handlers.py::test_full_app[wsgi-False-dumps-loads2] PASSED [ 46%]
tests/test_media_handlers.py::test_deserialization_raises[asgi-application/json-True] PASSED [ 46%]
tests/test_media_handlers.py::test_deserialization_raises[asgi-application/json-False] PASSED [ 46%]
tests/test_media_handlers.py::test_deserialization_raises[asgi-application/json; answer=42-True] PASSED [ 46%]
tests/test_media_handlers.py::test_deserialization_raises[asgi-application/json; answer=42-False] PASSED [ 46%]
tests/test_media_handlers.py::test_deserialization_raises[wsgi-application/json-True] PASSED [ 46%]
tests/test_media_handlers.py::test_deserialization_raises[wsgi-application/json-False] PASSED [ 46%]
tests/test_media_handlers.py::test_deserialization_raises[wsgi-application/json; answer=42-True] PASSED [ 46%]
tests/test_media_handlers.py::test_deserialization_raises[wsgi-application/json; answer=42-False] 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-True] PASSED [ 46%]
tests/test_media_handlers.py::test_json_err_no_handler[asgi-False] PASSED [ 46%]
tests/test_media_handlers.py::test_json_err_no_handler[wsgi-True] PASSED [ 46%]
tests/test_media_handlers.py::test_json_err_no_handler[wsgi-False] 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               [ 47%]
tests/test_media_multipart.py::test_parse[boundary] PASSED               [ 47%]
tests/test_media_multipart.py::test_parsing_correctness[32-7] PASSED     [ 47%]
tests/test_media_multipart.py::test_parsing_correctness[32-8] PASSED     [ 47%]
tests/test_media_multipart.py::test_parsing_correctness[32-9] PASSED     [ 47%]
tests/test_media_multipart.py::test_parsing_correctness[32-10] PASSED    [ 47%]
tests/test_media_multipart.py::test_parsing_correctness[32-32] PASSED    [ 47%]
tests/test_media_multipart.py::test_parsing_correctness[32-64] PASSED    [ 47%]
tests/test_media_multipart.py::test_parsing_correctness[32-128] PASSED   [ 47%]
tests/test_media_multipart.py::test_parsing_correctness[32-256] PASSED   [ 47%]
tests/test_media_multipart.py::test_parsing_correctness[64-7] PASSED     [ 47%]
tests/test_media_multipart.py::test_parsing_correctness[64-8] PASSED     [ 47%]
tests/test_media_multipart.py::test_parsing_correctness[64-9] PASSED     [ 47%]
tests/test_media_multipart.py::test_parsing_correctness[64-10] PASSED    [ 47%]
tests/test_media_multipart.py::test_parsing_correctness[64-32] PASSED    [ 47%]
tests/test_media_multipart.py::test_parsing_correctness[64-64] PASSED    [ 47%]
tests/test_media_multipart.py::test_parsing_correctness[64-128] PASSED   [ 47%]
tests/test_media_multipart.py::test_parsing_correctness[64-256] PASSED   [ 47%]
tests/test_media_multipart.py::test_parsing_correctness[128-7] PASSED    [ 47%]
tests/test_media_multipart.py::test_parsing_correctness[128-8] PASSED    [ 47%]
tests/test_media_multipart.py::test_parsing_correctness[128-9] PASSED    [ 47%]
tests/test_media_multipart.py::test_parsing_correctness[128-10] PASSED   [ 47%]
tests/test_media_multipart.py::test_parsing_correctness[128-32] PASSED   [ 47%]
tests/test_media_multipart.py::test_parsing_correctness[128-64] PASSED   [ 47%]
tests/test_media_multipart.py::test_parsing_correctness[128-128] PASSED  [ 47%]
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  [ 48%]
tests/test_media_multipart.py::test_missing_boundary PASSED              [ 48%]
tests/test_media_multipart.py::test_empty_input PASSED                   [ 48%]
tests/test_media_multipart.py::test_serialize PASSED                     [ 48%]
tests/test_media_multipart.py::test_invalid_text_or_charset[utf-8-Impossible byte: \xff] PASSED [ 48%]
tests/test_media_multipart.py::test_invalid_text_or_charset[utf-8-Overlong... \xfc\x83\xbf\xbf\xbf\xbf ... sequence] PASSED [ 48%]
tests/test_media_multipart.py::test_invalid_text_or_charset[ascii-\x80\x80\x80] PASSED [ 48%]
tests/test_media_multipart.py::test_invalid_text_or_charset[pecyn-AAHEHlRoZSBGYWxjb24gV2ViIEZyYW1ld29yaywgMjAxOQ==] PASSED [ 48%]
tests/test_media_multipart.py::test_unknown_header PASSED                [ 48%]
tests/test_media_multipart.py::test_from_buffered_stream PASSED          [ 48%]
tests/test_media_multipart.py::test_body_part_media PASSED               [ 48%]
tests/test_media_multipart.py::test_body_part_properties PASSED          [ 48%]
tests/test_media_multipart.py::test_empty_filename PASSED                [ 48%]
tests/test_media_multipart.py::test_async_unsupported SKIPPED (Testi...) [ 48%]
tests/test_media_multipart.py::test_upload_multipart[asgi] PASSED        [ 48%]
tests/test_media_multipart.py::test_upload_multipart[wsgi] PASSED        [ 48%]
tests/test_media_multipart.py::test_truncated_form[asgi-1] PASSED        [ 48%]
tests/test_media_multipart.py::test_truncated_form[asgi-2] PASSED        [ 48%]
tests/test_media_multipart.py::test_truncated_form[asgi-3] PASSED        [ 48%]
tests/test_media_multipart.py::test_truncated_form[asgi-4] PASSED        [ 48%]
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_unexected_form_structure[asgi] PASSED [ 48%]
tests/test_media_multipart.py::test_unexected_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   [ 49%]
tests/test_media_multipart.py::test_too_many_body_parts[asgi-6] PASSED   [ 49%]
tests/test_media_multipart.py::test_too_many_body_parts[asgi-100] PASSED [ 49%]
tests/test_media_multipart.py::test_too_many_body_parts[asgi-1000] PASSED [ 49%]
tests/test_media_multipart.py::test_too_many_body_parts[wsgi-0] PASSED   [ 49%]
tests/test_media_multipart.py::test_too_many_body_parts[wsgi-1] PASSED   [ 49%]
tests/test_media_multipart.py::test_too_many_body_parts[wsgi-2] PASSED   [ 49%]
tests/test_media_multipart.py::test_too_many_body_parts[wsgi-3] PASSED   [ 49%]
tests/test_media_multipart.py::test_too_many_body_parts[wsgi-4] PASSED   [ 49%]
tests/test_media_multipart.py::test_too_many_body_parts[wsgi-5] PASSED   [ 49%]
tests/test_media_multipart.py::test_too_many_body_parts[wsgi-6] PASSED   [ 49%]
tests/test_media_multipart.py::test_too_many_body_parts[wsgi-100] PASSED [ 49%]
tests/test_media_multipart.py::test_too_many_body_parts[wsgi-1000] PASSED [ 49%]
tests/test_media_multipart.py::test_random_form[asgi] PASSED             [ 49%]
tests/test_media_multipart.py::test_random_form[wsgi] PASSED             [ 49%]
tests/test_media_multipart.py::test_invalid_random_form[asgi] PASSED     [ 49%]
tests/test_media_multipart.py::test_invalid_random_form[wsgi] PASSED     [ 49%]
tests/test_media_multipart.py::test_nested_multipart_mixed PASSED        [ 49%]
tests/test_media_multipart.py::test_content_transfer_encoding_header[asgi] PASSED [ 49%]
tests/test_media_multipart.py::test_content_transfer_encoding_header[wsgi] PASSED [ 49%]
tests/test_media_multipart.py::test_unsupported_charset[asgi] PASSED     [ 49%]
tests/test_media_multipart.py::test_unsupported_charset[wsgi] PASSED     [ 49%]
tests/test_media_multipart.py::test_filename_star[asgi] PASSED           [ 49%]
tests/test_media_multipart.py::test_filename_star[wsgi] PASSED           [ 49%]
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  [ 50%]
tests/test_media_multipart.py::test_headers_edge_cases[wsgi-256] PASSED  [ 50%]
tests/test_media_multipart.py::test_headers_edge_cases[wsgi-1024] PASSED [ 50%]
tests/test_media_multipart.py::test_deserialize_part_media[asgi] PASSED  [ 50%]
tests/test_media_multipart.py::test_deserialize_part_media[wsgi] PASSED  [ 50%]
tests/test_media_multipart.py::test_deserialize_custom_media[asgi] PASSED [ 50%]
tests/test_media_multipart.py::test_deserialize_custom_media[wsgi] PASSED [ 50%]
tests/test_media_urlencoded.py::test_deserialize_empty_form PASSED       [ 50%]
tests/test_media_urlencoded.py::test_deserialize_invalid_unicode PASSED  [ 50%]
tests/test_media_urlencoded.py::test_urlencoded_form_handler_serialize[data0-hello=world] PASSED [ 50%]
tests/test_media_urlencoded.py::test_urlencoded_form_handler_serialize[data1-number=1&number=2] PASSED [ 50%]
tests/test_media_urlencoded.py::test_empty_form[asgi] PASSED             [ 50%]
tests/test_media_urlencoded.py::test_empty_form[wsgi] PASSED             [ 50%]
tests/test_media_urlencoded.py::test_urlencoded_form[asgi-a=1&b=&c=3-expected0] PASSED [ 50%]
tests/test_media_urlencoded.py::test_urlencoded_form[asgi-param=undefined-expected1] PASSED [ 50%]
tests/test_media_urlencoded.py::test_urlencoded_form[asgi-color=green&color=black-expected2] PASSED [ 50%]
tests/test_media_urlencoded.py::test_urlencoded_form[asgi-food=hamburger+%28%F0%9F%8D%94%29&sauce=BBQ-expected3] PASSED [ 50%]
tests/test_media_urlencoded.py::test_urlencoded_form[asgi-flag%1&flag%2&flag%1&flag%2-expected4] PASSED [ 50%]
tests/test_media_urlencoded.py::test_urlencoded_form[wsgi-a=1&b=&c=3-expected0] PASSED [ 50%]
tests/test_media_urlencoded.py::test_urlencoded_form[wsgi-param=undefined-expected1] PASSED [ 50%]
tests/test_media_urlencoded.py::test_urlencoded_form[wsgi-color=green&color=black-expected2] PASSED [ 50%]
tests/test_media_urlencoded.py::test_urlencoded_form[wsgi-food=hamburger+%28%F0%9F%8D%94%29&sauce=BBQ-expected3] PASSED [ 50%]
tests/test_media_urlencoded.py::test_urlencoded_form[wsgi-flag%1&flag%2&flag%1&flag%2-expected4] PASSED [ 50%]
tests/test_mediatypes.py::test_parse_header[-expected0] PASSED           [ 50%]
tests/test_mediatypes.py::test_parse_header[strange-expected1] PASSED    [ 50%]
tests/test_mediatypes.py::test_parse_header[text/plain-expected2] PASSED [ 50%]
tests/test_mediatypes.py::test_parse_header[text/plain -expected3] PASSED [ 50%]
tests/test_mediatypes.py::test_parse_header[ text/plain-expected4] PASSED [ 50%]
tests/test_mediatypes.py::test_parse_header[ text/plain -expected5] PASSED [ 50%]
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 [ 51%]
tests/test_mediatypes.py::test_parse_header[falcon/peregrine; empty=""-expected11] PASSED [ 51%]
tests/test_mediatypes.py::test_parse_header[falcon/peregrine; quote="-expected12] PASSED [ 51%]
tests/test_mediatypes.py::test_parse_header[text/plain; charset=utf-8-expected13] PASSED [ 51%]
tests/test_mediatypes.py::test_parse_header[stuff/strange; missing-value; missing-another-expected14] PASSED [ 51%]
tests/test_mediatypes.py::test_parse_header[stuff/strange; missing-value\\missing-another-expected15] PASSED [ 51%]
tests/test_mediatypes.py::test_parse_header[application/falcon; P1 = "key; value"; P2="\\""-expected16] 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 [ 51%]
tests/test_middleware.py::TestTransactionIdMiddleware::test_generate_trans_id_with_request[asgi] PASSED [ 51%]
tests/test_middleware.py::TestTransactionIdMiddleware::test_generate_trans_id_with_request[wsgi] PASSED [ 51%]
tests/test_middleware.py::TestSeveralMiddlewares::test_generate_trans_id_and_time_with_request[asgi-True] PASSED [ 51%]
tests/test_middleware.py::TestSeveralMiddlewares::test_generate_trans_id_and_time_with_request[asgi-False] PASSED [ 51%]
tests/test_middleware.py::TestSeveralMiddlewares::test_generate_trans_id_and_time_with_request[wsgi-True] PASSED [ 51%]
tests/test_middleware.py::TestSeveralMiddlewares::test_generate_trans_id_and_time_with_request[wsgi-False] PASSED [ 51%]
tests/test_middleware.py::TestSeveralMiddlewares::test_legacy_middleware_called_with_correct_args[asgi] PASSED [ 51%]
tests/test_middleware.py::TestSeveralMiddlewares::test_legacy_middleware_called_with_correct_args[wsgi] PASSED [ 51%]
tests/test_middleware.py::TestSeveralMiddlewares::test_middleware_execution_order[asgi] PASSED [ 51%]
tests/test_middleware.py::TestSeveralMiddlewares::test_middleware_execution_order[wsgi] PASSED [ 51%]
tests/test_middleware.py::TestSeveralMiddlewares::test_independent_middleware_execution_order[asgi] PASSED [ 51%]
tests/test_middleware.py::TestSeveralMiddlewares::test_independent_middleware_execution_order[wsgi] PASSED [ 51%]
tests/test_middleware.py::TestSeveralMiddlewares::test_multiple_response_mw_throw_exception[asgi] PASSED [ 51%]
tests/test_middleware.py::TestSeveralMiddlewares::test_multiple_response_mw_throw_exception[wsgi] PASSED [ 51%]
tests/test_middleware.py::TestSeveralMiddlewares::test_inner_mw_throw_exception[asgi] PASSED [ 51%]
tests/test_middleware.py::TestSeveralMiddlewares::test_inner_mw_throw_exception[wsgi] PASSED [ 51%]
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 [ 52%]
tests/test_middleware.py::TestResourceMiddleware::test_can_access_resource_params[wsgi-False] PASSED [ 52%]
tests/test_middleware.py::TestEmptySignatureMiddleware::test_dont_need_params_in_signature[asgi] PASSED [ 52%]
tests/test_middleware.py::TestEmptySignatureMiddleware::test_dont_need_params_in_signature[wsgi] PASSED [ 52%]
tests/test_middleware.py::TestErrorHandling::test_error_composed_before_resp_middleware_called[asgi] PASSED [ 52%]
tests/test_middleware.py::TestErrorHandling::test_error_composed_before_resp_middleware_called[wsgi] PASSED [ 52%]
tests/test_middleware.py::TestErrorHandling::test_http_status_raised_from_error_handler[asgi] PASSED [ 52%]
tests/test_middleware.py::TestErrorHandling::test_http_status_raised_from_error_handler[wsgi] PASSED [ 52%]
tests/test_middleware.py::TestShortCircuiting::test_process_request_not_cached[asgi] PASSED [ 52%]
tests/test_middleware.py::TestShortCircuiting::test_process_request_not_cached[wsgi] PASSED [ 52%]
tests/test_middleware.py::TestShortCircuiting::test_process_request_cached[asgi-True] PASSED [ 52%]
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] PASSED [ 53%]
tests/test_middleware.py::TestCORSMiddlewareWithAnotherMiddleware::test_api_initialization_with_cors_enabled_and_middleware_param[asgi-mw1] PASSED [ 53%]
tests/test_middleware.py::TestCORSMiddlewareWithAnotherMiddleware::test_api_initialization_with_cors_enabled_and_middleware_param[asgi-mw2] PASSED [ 53%]
tests/test_middleware.py::TestCORSMiddlewareWithAnotherMiddleware::test_api_initialization_with_cors_enabled_and_middleware_param[asgi-mw3] PASSED [ 53%]
tests/test_middleware.py::TestCORSMiddlewareWithAnotherMiddleware::test_api_initialization_with_cors_enabled_and_middleware_param[wsgi-mw0] PASSED [ 53%]
tests/test_middleware.py::TestCORSMiddlewareWithAnotherMiddleware::test_api_initialization_with_cors_enabled_and_middleware_param[wsgi-mw1] PASSED [ 53%]
tests/test_middleware.py::TestCORSMiddlewareWithAnotherMiddleware::test_api_initialization_with_cors_enabled_and_middleware_param[wsgi-mw2] PASSED [ 53%]
tests/test_middleware.py::TestCORSMiddlewareWithAnotherMiddleware::test_api_initialization_with_cors_enabled_and_middleware_param[wsgi-mw3] 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 [ 53%]
tests/test_query_params.py::TestQueryParams::test_default[simulate_request_get_query_params-wsgi] PASSED [ 53%]
tests/test_query_params.py::TestQueryParams::test_blank[simulate_request_get_query_params-asgi] PASSED [ 53%]
tests/test_query_params.py::TestQueryParams::test_blank[simulate_request_get_query_params-wsgi] PASSED [ 53%]
tests/test_query_params.py::TestQueryParams::test_simple[simulate_request_get_query_params-asgi] PASSED [ 53%]
tests/test_query_params.py::TestQueryParams::test_simple[simulate_request_get_query_params-wsgi] PASSED [ 53%]
tests/test_query_params.py::TestQueryParams::test_percent_encoded[simulate_request_get_query_params-asgi] PASSED [ 53%]
tests/test_query_params.py::TestQueryParams::test_percent_encoded[simulate_request_get_query_params-wsgi] PASSED [ 53%]
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 [ 54%]
tests/test_query_params.py::TestQueryParams::test_required[simulate_request_get_query_params-asgi-get_param] PASSED [ 54%]
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 [ 56%]
tests/test_query_params.py::TestQueryParams::test_multiple_keys_as_bool[simulate_request_get_query_params-asgi] PASSED [ 56%]
tests/test_query_params.py::TestQueryParams::test_multiple_keys_as_bool[simulate_request_get_query_params-wsgi] PASSED [ 56%]
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] PASSED [ 56%]
tests/test_query_params.py::TestQueryParams::test_get_datetime_valid_with_format[simulate_request_get_query_params-wsgi] 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 [ 57%]
tests/test_query_params.py::TestQueryParams::test_get_dict_store[simulate_request_get_query_params-wsgi] PASSED [ 57%]
tests/test_query_params.py::TestQueryParams::test_get_dict_invalid[simulate_request_get_query_params-asgi] PASSED [ 57%]
tests/test_query_params.py::TestQueryParams::test_get_dict_invalid[simulate_request_get_query_params-wsgi] PASSED [ 57%]
tests/test_query_params.py::TestQueryParams::test_has_param[simulate_request_get_query_params-asgi] PASSED [ 57%]
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 [ 58%]
tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_multiple_fields_true[simulate_request_post_query_params-wsgi-t=1,,2&t=3,4-False-expected3] PASSED [ 58%]
tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_multiple_fields_true[simulate_request_post_query_params-wsgi-t=1,,2&t=3,4-True-expected4] PASSED [ 58%]
tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_multiple_fields_true[simulate_request_post_query_params-wsgi-t=1,2&t=3,4,,5-False-expected5] PASSED [ 58%]
tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_multiple_fields_true[simulate_request_post_query_params-wsgi-t=1&t=,1,4,,5-False-expected6] PASSED [ 58%]
tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_multiple_fields_true[simulate_request_post_query_params-wsgi-t=1&t=,1,4,,5-True-expected7] PASSED [ 58%]
tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_multiple_fields_true[simulate_request_post_query_params-wsgi-t=1&t=,1,4,,5&t=a,b,c-True-expected8] PASSED [ 58%]
tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_complex_false[simulate_request_post_query_params-asgi] SKIPPED [ 58%]
tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_complex_false[simulate_request_post_query_params-wsgi] PASSED [ 58%]
tests/test_query_params.py::TestQueryParams::test_default_auto_parse_csv_behaviour[simulate_request_post_query_params-asgi] SKIPPED [ 58%]
tests/test_query_params.py::TestQueryParams::test_default_auto_parse_csv_behaviour[simulate_request_post_query_params-wsgi] PASSED [ 58%]
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 [ 59%]
tests/test_query_params.py::TestQueryParams::test_float_neg[simulate_request_post_query_params-wsgi] PASSED [ 59%]
tests/test_query_params.py::TestQueryParams::test_uuid[simulate_request_post_query_params-asgi] SKIPPED [ 59%]
tests/test_query_params.py::TestQueryParams::test_uuid[simulate_request_post_query_params-wsgi] PASSED [ 59%]
tests/test_query_params.py::TestQueryParams::test_boolean[simulate_request_post_query_params-asgi] SKIPPED [ 59%]
tests/test_query_params.py::TestQueryParams::test_boolean[simulate_request_post_query_params-wsgi] PASSED [ 59%]
tests/test_query_params.py::TestQueryParams::test_boolean_blank[simulate_request_post_query_params-asgi] SKIPPED [ 59%]
tests/test_query_params.py::TestQueryParams::test_boolean_blank[simulate_request_post_query_params-wsgi] PASSED [ 59%]
tests/test_query_params.py::TestQueryParams::test_list_type[simulate_request_post_query_params-asgi] SKIPPED [ 59%]
tests/test_query_params.py::TestQueryParams::test_list_type[simulate_request_post_query_params-wsgi] PASSED [ 59%]
tests/test_query_params.py::TestQueryParams::test_list_type_blank[simulate_request_post_query_params-asgi] SKIPPED [ 59%]
tests/test_query_params.py::TestQueryParams::test_list_type_blank[simulate_request_post_query_params-wsgi] PASSED [ 59%]
tests/test_query_params.py::TestQueryParams::test_list_transformer[simulate_request_post_query_params-asgi] SKIPPED [ 59%]
tests/test_query_params.py::TestQueryParams::test_list_transformer[simulate_request_post_query_params-wsgi] PASSED [ 59%]
tests/test_query_params.py::TestQueryParams::test_param_property[simulate_request_post_query_params-asgi] SKIPPED [ 59%]
tests/test_query_params.py::TestQueryParams::test_param_property[simulate_request_post_query_params-wsgi] PASSED [ 59%]
tests/test_query_params.py::TestQueryParams::test_multiple_form_keys[simulate_request_post_query_params-asgi] SKIPPED [ 59%]
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 [ 60%]
tests/test_query_params.py::TestQueryParams::test_get_date_invalid[simulate_request_post_query_params-asgi] SKIPPED [ 60%]
tests/test_query_params.py::TestQueryParams::test_get_date_invalid[simulate_request_post_query_params-wsgi] PASSED [ 60%]
tests/test_query_params.py::TestQueryParams::test_get_datetime_valid[simulate_request_post_query_params-asgi] SKIPPED [ 60%]
tests/test_query_params.py::TestQueryParams::test_get_datetime_valid[simulate_request_post_query_params-wsgi] PASSED [ 60%]
tests/test_query_params.py::TestQueryParams::test_get_datetime_missing_param[simulate_request_post_query_params-asgi] SKIPPED [ 60%]
tests/test_query_params.py::TestQueryParams::test_get_datetime_missing_param[simulate_request_post_query_params-wsgi] PASSED [ 60%]
tests/test_query_params.py::TestQueryParams::test_get_datetime_valid_with_format[simulate_request_post_query_params-asgi] SKIPPED [ 60%]
tests/test_query_params.py::TestQueryParams::test_get_datetime_valid_with_format[simulate_request_post_query_params-wsgi] PASSED [ 60%]
tests/test_query_params.py::TestQueryParams::test_get_datetime_store[simulate_request_post_query_params-asgi] SKIPPED [ 60%]
tests/test_query_params.py::TestQueryParams::test_get_datetime_store[simulate_request_post_query_params-wsgi] PASSED [ 60%]
tests/test_query_params.py::TestQueryParams::test_get_datetime_invalid[simulate_request_post_query_params-asgi] SKIPPED [ 60%]
tests/test_query_params.py::TestQueryParams::test_get_datetime_invalid[simulate_request_post_query_params-wsgi] PASSED [ 60%]
tests/test_query_params.py::TestQueryParams::test_get_dict_valid[simulate_request_post_query_params-asgi] SKIPPED [ 60%]
tests/test_query_params.py::TestQueryParams::test_get_dict_valid[simulate_request_post_query_params-wsgi] PASSED [ 60%]
tests/test_query_params.py::TestQueryParams::test_get_dict_missing_param[simulate_request_post_query_params-asgi] SKIPPED [ 60%]
tests/test_query_params.py::TestQueryParams::test_get_dict_missing_param[simulate_request_post_query_params-wsgi] PASSED [ 60%]
tests/test_query_params.py::TestQueryParams::test_get_dict_store[simulate_request_post_query_params-asgi] SKIPPED [ 60%]
tests/test_query_params.py::TestQueryParams::test_get_dict_store[simulate_request_post_query_params-wsgi] PASSED [ 60%]
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 [ 61%]
tests/test_query_params.py::TestPostQueryParams::test_http_methods_body_expected[wsgi-PATCH] PASSED [ 61%]
tests/test_query_params.py::TestPostQueryParams::test_http_methods_body_expected[wsgi-DELETE] PASSED [ 61%]
tests/test_query_params.py::TestPostQueryParams::test_http_methods_body_expected[wsgi-OPTIONS] PASSED [ 61%]
tests/test_query_params.py::TestPostQueryParams::test_http_methods_body_not_expected[asgi-GET] SKIPPED [ 61%]
tests/test_query_params.py::TestPostQueryParams::test_http_methods_body_not_expected[asgi-HEAD] SKIPPED [ 61%]
tests/test_query_params.py::TestPostQueryParams::test_http_methods_body_not_expected[wsgi-GET] PASSED [ 61%]
tests/test_query_params.py::TestPostQueryParams::test_http_methods_body_not_expected[wsgi-HEAD] PASSED [ 61%]
tests/test_query_params.py::TestPostQueryParams::test_non_ascii[asgi] SKIPPED [ 61%]
tests/test_query_params.py::TestPostQueryParams::test_non_ascii[wsgi] PASSED [ 61%]
tests/test_query_params.py::TestPostQueryParams::test_empty_body[asgi] SKIPPED [ 61%]
tests/test_query_params.py::TestPostQueryParams::test_empty_body[wsgi] PASSED [ 61%]
tests/test_query_params.py::TestPostQueryParams::test_empty_body_no_content_length[asgi] SKIPPED [ 61%]
tests/test_query_params.py::TestPostQueryParams::test_empty_body_no_content_length[wsgi] PASSED [ 61%]
tests/test_query_params.py::TestPostQueryParams::test_explicitly_disable_auto_parse[asgi] SKIPPED [ 61%]
tests/test_query_params.py::TestPostQueryParams::test_explicitly_disable_auto_parse[wsgi] PASSED [ 61%]
tests/test_query_params.py::TestPostQueryParams::test_asgi_raises_error PASSED [ 61%]
tests/test_query_params.py::TestPostQueryParamsDefaultBehavior::test_dont_auto_parse_by_default[True] PASSED [ 61%]
tests/test_query_params.py::TestPostQueryParamsDefaultBehavior::test_dont_auto_parse_by_default[False] 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 [ 62%]
tests/test_redirects.py::TestRedirects::test_redirect_with_headers[wsgi-GET-301 Moved Permanently-/moved/perm] PASSED [ 62%]
tests/test_redirects.py::TestRedirects::test_redirect_with_headers[wsgi-POST-302 Found-/found] PASSED [ 62%]
tests/test_redirects.py::TestRedirects::test_redirect_with_headers[wsgi-PUT-303 See Other-/see/other] PASSED [ 62%]
tests/test_redirects.py::TestRedirects::test_redirect_with_headers[wsgi-DELETE-307 Temporary Redirect-/tmp/redirect] PASSED [ 62%]
tests/test_redirects.py::TestRedirects::test_redirect_with_headers[wsgi-HEAD-308 Permanent Redirect-/perm/redirect] PASSED [ 62%]
tests/test_request_access_route.py::test_remote_addr_default[asgi] PASSED [ 62%]
tests/test_request_access_route.py::test_remote_addr_default[wsgi] PASSED [ 62%]
tests/test_request_access_route.py::test_remote_addr_non_default[asgi] PASSED [ 62%]
tests/test_request_access_route.py::test_remote_addr_non_default[wsgi] PASSED [ 62%]
tests/test_request_access_route.py::test_remote_addr_only[asgi] PASSED   [ 62%]
tests/test_request_access_route.py::test_remote_addr_only[wsgi] PASSED   [ 62%]
tests/test_request_access_route.py::test_rfc_forwarded[asgi] PASSED      [ 62%]
tests/test_request_access_route.py::test_rfc_forwarded[wsgi] PASSED      [ 62%]
tests/test_request_access_route.py::test_malformed_rfc_forwarded[asgi] PASSED [ 62%]
tests/test_request_access_route.py::test_malformed_rfc_forwarded[wsgi] PASSED [ 62%]
tests/test_request_access_route.py::test_x_forwarded_for[asgi-True] PASSED [ 62%]
tests/test_request_access_route.py::test_x_forwarded_for[asgi-False] PASSED [ 62%]
tests/test_request_access_route.py::test_x_forwarded_for[wsgi-True] PASSED [ 62%]
tests/test_request_access_route.py::test_x_forwarded_for[wsgi-False] PASSED [ 62%]
tests/test_request_access_route.py::test_x_real_ip[asgi] PASSED          [ 62%]
tests/test_request_access_route.py::test_x_real_ip[wsgi] PASSED          [ 62%]
tests/test_request_access_route.py::test_remote_addr[asgi-10.0.0.1] PASSED [ 62%]
tests/test_request_access_route.py::test_remote_addr[asgi-98.245.211.177] PASSED [ 62%]
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[True] PASSED [ 62%]
tests/test_request_attrs.py::TestRequestAttributes::test_empty[False] PASSED [ 62%]
tests/test_request_attrs.py::TestRequestAttributes::test_host[True] PASSED [ 62%]
tests/test_request_attrs.py::TestRequestAttributes::test_host[False] PASSED [ 62%]
tests/test_request_attrs.py::TestRequestAttributes::test_subdomain[True] PASSED [ 63%]
tests/test_request_attrs.py::TestRequestAttributes::test_subdomain[False] PASSED [ 63%]
tests/test_request_attrs.py::TestRequestAttributes::test_reconstruct_url[True] PASSED [ 63%]
tests/test_request_attrs.py::TestRequestAttributes::test_reconstruct_url[False] PASSED [ 63%]
tests/test_request_attrs.py::TestRequestAttributes::test_nonlatin_path[/hello_\u043f\u0440\u0438\u0432\u0435\u0442-True] PASSED [ 63%]
tests/test_request_attrs.py::TestRequestAttributes::test_nonlatin_path[/hello_\u043f\u0440\u0438\u0432\u0435\u0442-False] PASSED [ 63%]
tests/test_request_attrs.py::TestRequestAttributes::test_nonlatin_path[/test/%E5%BB%B6%E5%AE%89-True] PASSED [ 63%]
tests/test_request_attrs.py::TestRequestAttributes::test_nonlatin_path[/test/%E5%BB%B6%E5%AE%89-False] PASSED [ 63%]
tests/test_request_attrs.py::TestRequestAttributes::test_nonlatin_path[/test/%C3%A4%C3%B6%C3%BC%C3%9F%E2%82%AC-True] PASSED [ 63%]
tests/test_request_attrs.py::TestRequestAttributes::test_nonlatin_path[/test/%C3%A4%C3%B6%C3%BC%C3%9F%E2%82%AC-False] PASSED [ 63%]
tests/test_request_attrs.py::TestRequestAttributes::test_uri[True] PASSED [ 63%]
tests/test_request_attrs.py::TestRequestAttributes::test_uri[False] PASSED [ 63%]
tests/test_request_attrs.py::TestRequestAttributes::test_uri_https[True] PASSED [ 63%]
tests/test_request_attrs.py::TestRequestAttributes::test_uri_https[False] PASSED [ 63%]
tests/test_request_attrs.py::TestRequestAttributes::test_uri_http_1_0[True] PASSED [ 63%]
tests/test_request_attrs.py::TestRequestAttributes::test_uri_http_1_0[False] PASSED [ 63%]
tests/test_request_attrs.py::TestRequestAttributes::test_relative_uri[True] PASSED [ 63%]
tests/test_request_attrs.py::TestRequestAttributes::test_relative_uri[False] PASSED [ 63%]
tests/test_request_attrs.py::TestRequestAttributes::test_client_accepts[True] PASSED [ 63%]
tests/test_request_attrs.py::TestRequestAttributes::test_client_accepts[False] PASSED [ 63%]
tests/test_request_attrs.py::TestRequestAttributes::test_client_accepts_bogus[True] PASSED [ 63%]
tests/test_request_attrs.py::TestRequestAttributes::test_client_accepts_bogus[False] PASSED [ 63%]
tests/test_request_attrs.py::TestRequestAttributes::test_client_accepts_props[True] PASSED [ 63%]
tests/test_request_attrs.py::TestRequestAttributes::test_client_accepts_props[False] PASSED [ 63%]
tests/test_request_attrs.py::TestRequestAttributes::test_client_prefers[True] PASSED [ 63%]
tests/test_request_attrs.py::TestRequestAttributes::test_client_prefers[False] PASSED [ 63%]
tests/test_request_attrs.py::TestRequestAttributes::test_range[True] PASSED [ 63%]
tests/test_request_attrs.py::TestRequestAttributes::test_range[False] PASSED [ 63%]
tests/test_request_attrs.py::TestRequestAttributes::test_range_unit[True] PASSED [ 63%]
tests/test_request_attrs.py::TestRequestAttributes::test_range_unit[False] PASSED [ 63%]
tests/test_request_attrs.py::TestRequestAttributes::test_range_invalid[True] PASSED [ 63%]
tests/test_request_attrs.py::TestRequestAttributes::test_range_invalid[False] PASSED [ 63%]
tests/test_request_attrs.py::TestRequestAttributes::test_missing_attribute_header[True] PASSED [ 63%]
tests/test_request_attrs.py::TestRequestAttributes::test_missing_attribute_header[False] PASSED [ 64%]
tests/test_request_attrs.py::TestRequestAttributes::test_content_length[True] PASSED [ 64%]
tests/test_request_attrs.py::TestRequestAttributes::test_content_length[False] PASSED [ 64%]
tests/test_request_attrs.py::TestRequestAttributes::test_bogus_content_length_nan[True] PASSED [ 64%]
tests/test_request_attrs.py::TestRequestAttributes::test_bogus_content_length_nan[False] PASSED [ 64%]
tests/test_request_attrs.py::TestRequestAttributes::test_bogus_content_length_neg[True] PASSED [ 64%]
tests/test_request_attrs.py::TestRequestAttributes::test_bogus_content_length_neg[False] PASSED [ 64%]
tests/test_request_attrs.py::TestRequestAttributes::test_date[Date-date-True] PASSED [ 64%]
tests/test_request_attrs.py::TestRequestAttributes::test_date[Date-date-False] PASSED [ 64%]
tests/test_request_attrs.py::TestRequestAttributes::test_date[If-Modified-Since-if_modified_since-True] PASSED [ 64%]
tests/test_request_attrs.py::TestRequestAttributes::test_date[If-Modified-Since-if_modified_since-False] PASSED [ 64%]
tests/test_request_attrs.py::TestRequestAttributes::test_date[If-Unmodified-Since-if_unmodified_since-True] PASSED [ 64%]
tests/test_request_attrs.py::TestRequestAttributes::test_date[If-Unmodified-Since-if_unmodified_since-False] PASSED [ 64%]
tests/test_request_attrs.py::TestRequestAttributes::test_date_invalid[Date-date-True] PASSED [ 64%]
tests/test_request_attrs.py::TestRequestAttributes::test_date_invalid[Date-date-False] PASSED [ 64%]
tests/test_request_attrs.py::TestRequestAttributes::test_date_invalid[If-Modified-Since-if_modified_since-True] PASSED [ 64%]
tests/test_request_attrs.py::TestRequestAttributes::test_date_invalid[If-Modified-Since-if_modified_since-False] PASSED [ 64%]
tests/test_request_attrs.py::TestRequestAttributes::test_date_invalid[If-Unmodified-Since-if_unmodified_since-True] PASSED [ 64%]
tests/test_request_attrs.py::TestRequestAttributes::test_date_invalid[If-Unmodified-Since-if_unmodified_since-False] PASSED [ 64%]
tests/test_request_attrs.py::TestRequestAttributes::test_date_missing[date-True] PASSED [ 64%]
tests/test_request_attrs.py::TestRequestAttributes::test_date_missing[date-False] PASSED [ 64%]
tests/test_request_attrs.py::TestRequestAttributes::test_date_missing[if_modified_since-True] PASSED [ 64%]
tests/test_request_attrs.py::TestRequestAttributes::test_date_missing[if_modified_since-False] PASSED [ 64%]
tests/test_request_attrs.py::TestRequestAttributes::test_date_missing[if_unmodified_since-True] PASSED [ 64%]
tests/test_request_attrs.py::TestRequestAttributes::test_date_missing[if_unmodified_since-False] PASSED [ 64%]
tests/test_request_attrs.py::TestRequestAttributes::test_attribute_headers[Accept-x-falcon-accept-*/*-True] PASSED [ 64%]
tests/test_request_attrs.py::TestRequestAttributes::test_attribute_headers[Accept-x-falcon-accept-*/*-False] PASSED [ 64%]
tests/test_request_attrs.py::TestRequestAttributes::test_attribute_headers[Authorization-HMAC_SHA1 c590afa9bb59191ffab30f223791e82d3fd3e3af-auth-None-True] PASSED [ 64%]
tests/test_request_attrs.py::TestRequestAttributes::test_attribute_headers[Authorization-HMAC_SHA1 c590afa9bb59191ffab30f223791e82d3fd3e3af-auth-None-False] PASSED [ 64%]
tests/test_request_attrs.py::TestRequestAttributes::test_attribute_headers[Content-Type-text/plain-content_type-None-True] PASSED [ 64%]
tests/test_request_attrs.py::TestRequestAttributes::test_attribute_headers[Content-Type-text/plain-content_type-None-False] PASSED [ 64%]
tests/test_request_attrs.py::TestRequestAttributes::test_attribute_headers[Expect-100-continue-expect-None-True] PASSED [ 64%]
tests/test_request_attrs.py::TestRequestAttributes::test_attribute_headers[Expect-100-continue-expect-None-False] PASSED [ 64%]
tests/test_request_attrs.py::TestRequestAttributes::test_attribute_headers[If-Range-Wed, 21 Oct 2015 07:28:00 GMT-if_range-None-True] PASSED [ 65%]
tests/test_request_attrs.py::TestRequestAttributes::test_attribute_headers[If-Range-Wed, 21 Oct 2015 07:28:00 GMT-if_range-None-False] PASSED [ 65%]
tests/test_request_attrs.py::TestRequestAttributes::test_attribute_headers[User-Agent-testing/3.0-user_agent-falcon-client/3.1.1-True] PASSED [ 65%]
tests/test_request_attrs.py::TestRequestAttributes::test_attribute_headers[User-Agent-testing/3.0-user_agent-falcon-client/3.1.1-False] PASSED [ 65%]
tests/test_request_attrs.py::TestRequestAttributes::test_attribute_headers[Referer-https://www.google.com/-referer-None-True] PASSED [ 65%]
tests/test_request_attrs.py::TestRequestAttributes::test_attribute_headers[Referer-https://www.google.com/-referer-None-False] PASSED [ 65%]
tests/test_request_attrs.py::TestRequestAttributes::test_method[True] PASSED [ 65%]
tests/test_request_attrs.py::TestRequestAttributes::test_method[False] PASSED [ 65%]
tests/test_request_attrs.py::TestRequestAttributes::test_empty_path[True] PASSED [ 65%]
tests/test_request_attrs.py::TestRequestAttributes::test_empty_path[False] PASSED [ 65%]
tests/test_request_attrs.py::TestRequestAttributes::test_content_type_method[True] PASSED [ 65%]
tests/test_request_attrs.py::TestRequestAttributes::test_content_type_method[False] PASSED [ 65%]
tests/test_request_attrs.py::TestRequestAttributes::test_content_length_method[True] PASSED [ 65%]
tests/test_request_attrs.py::TestRequestAttributes::test_content_length_method[False] PASSED [ 65%]
tests/test_request_attrs.py::TestRequestAttributes::test_port_explicit[1.0-True] PASSED [ 65%]
tests/test_request_attrs.py::TestRequestAttributes::test_port_explicit[1.0-False] PASSED [ 65%]
tests/test_request_attrs.py::TestRequestAttributes::test_port_explicit[1.1-True] PASSED [ 65%]
tests/test_request_attrs.py::TestRequestAttributes::test_port_explicit[1.1-False] PASSED [ 65%]
tests/test_request_attrs.py::TestRequestAttributes::test_port_explicit[2-True] PASSED [ 65%]
tests/test_request_attrs.py::TestRequestAttributes::test_port_explicit[2-False] PASSED [ 65%]
tests/test_request_attrs.py::TestRequestAttributes::test_scheme_https[1.0-True] PASSED [ 65%]
tests/test_request_attrs.py::TestRequestAttributes::test_scheme_https[1.0-False] PASSED [ 65%]
tests/test_request_attrs.py::TestRequestAttributes::test_scheme_https[1.1-True] PASSED [ 65%]
tests/test_request_attrs.py::TestRequestAttributes::test_scheme_https[1.1-False] PASSED [ 65%]
tests/test_request_attrs.py::TestRequestAttributes::test_scheme_https[2-True] PASSED [ 65%]
tests/test_request_attrs.py::TestRequestAttributes::test_scheme_https[2-False] PASSED [ 65%]
tests/test_request_attrs.py::TestRequestAttributes::test_scheme_http[1.0-True-True] PASSED [ 65%]
tests/test_request_attrs.py::TestRequestAttributes::test_scheme_http[1.0-True-False] PASSED [ 65%]
tests/test_request_attrs.py::TestRequestAttributes::test_scheme_http[1.0-False-True] PASSED [ 65%]
tests/test_request_attrs.py::TestRequestAttributes::test_scheme_http[1.0-False-False] PASSED [ 65%]
tests/test_request_attrs.py::TestRequestAttributes::test_scheme_http[1.1-True-True] PASSED [ 65%]
tests/test_request_attrs.py::TestRequestAttributes::test_scheme_http[1.1-True-False] PASSED [ 65%]
tests/test_request_attrs.py::TestRequestAttributes::test_scheme_http[1.1-False-True] PASSED [ 65%]
tests/test_request_attrs.py::TestRequestAttributes::test_scheme_http[1.1-False-False] PASSED [ 66%]
tests/test_request_attrs.py::TestRequestAttributes::test_scheme_http[2-True-True] PASSED [ 66%]
tests/test_request_attrs.py::TestRequestAttributes::test_scheme_http[2-True-False] PASSED [ 66%]
tests/test_request_attrs.py::TestRequestAttributes::test_scheme_http[2-False-True] PASSED [ 66%]
tests/test_request_attrs.py::TestRequestAttributes::test_scheme_http[2-False-False] PASSED [ 66%]
tests/test_request_attrs.py::TestRequestAttributes::test_netloc_default_port[1.0-True] PASSED [ 66%]
tests/test_request_attrs.py::TestRequestAttributes::test_netloc_default_port[1.0-False] PASSED [ 66%]
tests/test_request_attrs.py::TestRequestAttributes::test_netloc_default_port[1.1-True] PASSED [ 66%]
tests/test_request_attrs.py::TestRequestAttributes::test_netloc_default_port[1.1-False] PASSED [ 66%]
tests/test_request_attrs.py::TestRequestAttributes::test_netloc_default_port[2-True] PASSED [ 66%]
tests/test_request_attrs.py::TestRequestAttributes::test_netloc_default_port[2-False] PASSED [ 66%]
tests/test_request_attrs.py::TestRequestAttributes::test_netloc_nondefault_port[1.0-True] PASSED [ 66%]
tests/test_request_attrs.py::TestRequestAttributes::test_netloc_nondefault_port[1.0-False] PASSED [ 66%]
tests/test_request_attrs.py::TestRequestAttributes::test_netloc_nondefault_port[1.1-True] PASSED [ 66%]
tests/test_request_attrs.py::TestRequestAttributes::test_netloc_nondefault_port[1.1-False] PASSED [ 66%]
tests/test_request_attrs.py::TestRequestAttributes::test_netloc_nondefault_port[2-True] PASSED [ 66%]
tests/test_request_attrs.py::TestRequestAttributes::test_netloc_nondefault_port[2-False] PASSED [ 66%]
tests/test_request_attrs.py::TestRequestAttributes::test_netloc_from_env[1.0-True] PASSED [ 66%]
tests/test_request_attrs.py::TestRequestAttributes::test_netloc_from_env[1.0-False] PASSED [ 66%]
tests/test_request_attrs.py::TestRequestAttributes::test_netloc_from_env[1.1-True] PASSED [ 66%]
tests/test_request_attrs.py::TestRequestAttributes::test_netloc_from_env[1.1-False] PASSED [ 66%]
tests/test_request_attrs.py::TestRequestAttributes::test_netloc_from_env[2-True] PASSED [ 66%]
tests/test_request_attrs.py::TestRequestAttributes::test_netloc_from_env[2-False] PASSED [ 66%]
tests/test_request_attrs.py::TestRequestAttributes::test_app_present[True] PASSED [ 66%]
tests/test_request_attrs.py::TestRequestAttributes::test_app_present[False] PASSED [ 66%]
tests/test_request_attrs.py::TestRequestAttributes::test_app_blank[True] PASSED [ 66%]
tests/test_request_attrs.py::TestRequestAttributes::test_app_blank[False] PASSED [ 66%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match--None-True] PASSED [ 66%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match--None-False] PASSED [ 66%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match- -None-True] PASSED [ 66%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match- -None-False] PASSED [ 66%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-   -None-True] PASSED [ 66%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-   -None-False] PASSED [ 66%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-\t-None-True] PASSED [ 66%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-\t-None-False] PASSED [ 67%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match- \t-None-True] PASSED [ 67%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match- \t-None-False] PASSED [ 67%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-,-None-True] PASSED [ 67%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-,-None-False] PASSED [ 67%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-,,-None-True] PASSED [ 67%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-,,-None-False] PASSED [ 67%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-,, -None-True] PASSED [ 67%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-,, -None-False] PASSED [ 67%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-, , -None-True] PASSED [ 67%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-, , -None-False] PASSED [ 67%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-*-expected_value9-True] PASSED [ 67%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-*-expected_value9-False] PASSED [ 67%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-W/"67ab43"-expected_value10-True] PASSED [ 67%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-W/"67ab43"-expected_value10-False] PASSED [ 67%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-w/"67ab43"-expected_value11-True] PASSED [ 67%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-w/"67ab43"-expected_value11-False] PASSED [ 67%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match- w/"67ab43"-expected_value12-True] PASSED [ 67%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match- w/"67ab43"-expected_value12-False] PASSED [ 67%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-w/"67ab43" -expected_value13-True] PASSED [ 67%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-w/"67ab43" -expected_value13-False] PASSED [ 67%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-w/"67ab43 " -expected_value14-True] PASSED [ 67%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-w/"67ab43 " -expected_value14-False] PASSED [ 67%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-"67ab43"-expected_value15-True] PASSED [ 67%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-"67ab43"-expected_value15-False] PASSED [ 67%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match- "67ab43"-expected_value16-True] PASSED [ 67%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match- "67ab43"-expected_value16-False] PASSED [ 67%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match- "67ab43" -expected_value17-True] PASSED [ 67%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match- "67ab43" -expected_value17-False] PASSED [ 67%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-"67ab43" -expected_value18-True] PASSED [ 67%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-"67ab43" -expected_value18-False] PASSED [ 67%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-" 67ab43" -expected_value19-True] PASSED [ 67%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-" 67ab43" -expected_value19-False] PASSED [ 67%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-67ab43"-expected_value20-True] PASSED [ 68%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-67ab43"-expected_value20-False] PASSED [ 68%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-"67ab43-expected_value21-True] PASSED [ 68%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-"67ab43-expected_value21-False] PASSED [ 68%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-67ab43-expected_value22-True] PASSED [ 68%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-67ab43-expected_value22-False] PASSED [ 68%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-67ab43 -expected_value23-True] PASSED [ 68%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-67ab43 -expected_value23-False] PASSED [ 68%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-  67ab43 -expected_value24-True] PASSED [ 68%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-  67ab43 -expected_value24-False] PASSED [ 68%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-  67ab43-expected_value25-True] PASSED [ 68%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-  67ab43-expected_value25-False] PASSED [ 68%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-W/"67ab43", "54ed21", junk"F9,22", junk "41, 7F", unquoted, w/"22, 41, 7F", "", W/""-expected_value26-True] PASSED [ 68%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-W/"67ab43", "54ed21", junk"F9,22", junk "41, 7F", unquoted, w/"22, 41, 7F", "", W/""-expected_value26-False] PASSED [ 68%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match--None-True] PASSED [ 68%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match--None-False] PASSED [ 68%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match- -None-True] PASSED [ 68%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match- -None-False] PASSED [ 68%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-   -None-True] PASSED [ 68%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-   -None-False] PASSED [ 68%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-\t-None-True] PASSED [ 68%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-\t-None-False] PASSED [ 68%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match- \t-None-True] PASSED [ 68%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match- \t-None-False] PASSED [ 68%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-,-None-True] PASSED [ 68%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-,-None-False] PASSED [ 68%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-,,-None-True] PASSED [ 68%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-,,-None-False] PASSED [ 68%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-,, -None-True] PASSED [ 68%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-,, -None-False] PASSED [ 68%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-, , -None-True] PASSED [ 68%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-, , -None-False] PASSED [ 68%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-*-expected_value9-True] PASSED [ 68%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-*-expected_value9-False] PASSED [ 69%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-W/"67ab43"-expected_value10-True] PASSED [ 69%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-W/"67ab43"-expected_value10-False] PASSED [ 69%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-w/"67ab43"-expected_value11-True] PASSED [ 69%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-w/"67ab43"-expected_value11-False] PASSED [ 69%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match- w/"67ab43"-expected_value12-True] PASSED [ 69%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match- w/"67ab43"-expected_value12-False] PASSED [ 69%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-w/"67ab43" -expected_value13-True] PASSED [ 69%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-w/"67ab43" -expected_value13-False] PASSED [ 69%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-w/"67ab43 " -expected_value14-True] PASSED [ 69%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-w/"67ab43 " -expected_value14-False] PASSED [ 69%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-"67ab43"-expected_value15-True] PASSED [ 69%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-"67ab43"-expected_value15-False] PASSED [ 69%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match- "67ab43"-expected_value16-True] PASSED [ 69%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match- "67ab43"-expected_value16-False] PASSED [ 69%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match- "67ab43" -expected_value17-True] PASSED [ 69%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match- "67ab43" -expected_value17-False] PASSED [ 69%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-"67ab43" -expected_value18-True] PASSED [ 69%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-"67ab43" -expected_value18-False] PASSED [ 69%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-" 67ab43" -expected_value19-True] PASSED [ 69%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-" 67ab43" -expected_value19-False] PASSED [ 69%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-67ab43"-expected_value20-True] PASSED [ 69%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-67ab43"-expected_value20-False] PASSED [ 69%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-"67ab43-expected_value21-True] PASSED [ 69%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-"67ab43-expected_value21-False] PASSED [ 69%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-67ab43-expected_value22-True] PASSED [ 69%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-67ab43-expected_value22-False] PASSED [ 69%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-67ab43 -expected_value23-True] PASSED [ 69%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-67ab43 -expected_value23-False] PASSED [ 69%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-  67ab43 -expected_value24-True] PASSED [ 69%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-  67ab43 -expected_value24-False] PASSED [ 69%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-  67ab43-expected_value25-True] PASSED [ 69%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-  67ab43-expected_value25-False] PASSED [ 69%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-W/"67ab43", "54ed21", junk"F9,22", junk "41, 7F", unquoted, w/"22, 41, 7F", "", W/""-expected_value26-True] PASSED [ 70%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-W/"67ab43", "54ed21", junk"F9,22", junk "41, 7F", unquoted, w/"22, 41, 7F", "", W/""-expected_value26-False] PASSED [ 70%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag_is_missing[True] PASSED [ 70%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag_is_missing[False] PASSED [ 70%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag_parsing_helper[-True] PASSED [ 70%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag_parsing_helper[-False] PASSED [ 70%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag_parsing_helper[ -True] PASSED [ 70%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag_parsing_helper[ -False] PASSED [ 70%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag_parsing_helper[  -True] PASSED [ 70%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag_parsing_helper[  -False] PASSED [ 70%]
tests/test_request_body.py::TestRequestBody::test_empty_body PASSED      [ 70%]
tests/test_request_body.py::TestRequestBody::test_tiny_body PASSED       [ 70%]
tests/test_request_body.py::TestRequestBody::test_tiny_body_overflow PASSED [ 70%]
tests/test_request_body.py::TestRequestBody::test_read_body PASSED       [ 70%]
tests/test_request_body.py::TestRequestBody::test_bounded_stream_property_empty_body PASSED [ 70%]
tests/test_request_body.py::TestRequestBody::test_body_stream_wrapper PASSED [ 70%]
tests/test_request_body.py::TestRequestBody::test_request_repr PASSED    [ 70%]
tests/test_request_context.py::TestRequestContext::test_default_request_context PASSED [ 70%]
tests/test_request_context.py::TestRequestContext::test_custom_request_context PASSED [ 70%]
tests/test_request_context.py::TestRequestContext::test_custom_request_context_failure PASSED [ 70%]
tests/test_request_context.py::TestRequestContext::test_custom_request_context_request_access PASSED [ 70%]
tests/test_request_forwarded.py::test_no_forwarded_headers[asgi] PASSED  [ 70%]
tests/test_request_forwarded.py::test_no_forwarded_headers[wsgi] PASSED  [ 70%]
tests/test_request_forwarded.py::test_no_forwarded_headers_with_port[asgi] PASSED [ 70%]
tests/test_request_forwarded.py::test_no_forwarded_headers_with_port[wsgi] PASSED [ 70%]
tests/test_request_forwarded.py::test_x_forwarded_host[asgi] PASSED      [ 70%]
tests/test_request_forwarded.py::test_x_forwarded_host[wsgi] PASSED      [ 70%]
tests/test_request_forwarded.py::test_x_forwarded_host_with_port[asgi] PASSED [ 70%]
tests/test_request_forwarded.py::test_x_forwarded_host_with_port[wsgi] PASSED [ 70%]
tests/test_request_forwarded.py::test_x_forwarded_proto[asgi] PASSED     [ 70%]
tests/test_request_forwarded.py::test_x_forwarded_proto[wsgi] PASSED     [ 70%]
tests/test_request_forwarded.py::test_forwarded_host[asgi] PASSED        [ 70%]
tests/test_request_forwarded.py::test_forwarded_host[wsgi] PASSED        [ 70%]
tests/test_request_forwarded.py::test_forwarded_invalid[asgi] PASSED     [ 71%]
tests/test_request_forwarded.py::test_forwarded_invalid[wsgi] PASSED     [ 71%]
tests/test_request_forwarded.py::test_forwarded_multiple_params[asgi] PASSED [ 71%]
tests/test_request_forwarded.py::test_forwarded_multiple_params[wsgi] PASSED [ 71%]
tests/test_request_forwarded.py::test_forwarded_missing_first_hop_host[asgi] PASSED [ 71%]
tests/test_request_forwarded.py::test_forwarded_missing_first_hop_host[wsgi] PASSED [ 71%]
tests/test_request_forwarded.py::test_forwarded_quote_escaping[asgi] PASSED [ 71%]
tests/test_request_forwarded.py::test_forwarded_quote_escaping[wsgi] PASSED [ 71%]
tests/test_request_forwarded.py::test_escape_malformed_requests[asgi-for=1.2.3.4;by="-None] PASSED [ 71%]
tests/test_request_forwarded.py::test_escape_malformed_requests[asgi-for=1.2.3.4;by=4\\.3.2.1thing=blah-4] PASSED [ 71%]
tests/test_request_forwarded.py::test_escape_malformed_requests[asgi-for=1.2.3.4;by="\\4.3.2.1"thing=blah-4.3.2.1] PASSED [ 71%]
tests/test_request_forwarded.py::test_escape_malformed_requests[asgi-for=1.2.3.4;by="4.3.2.\\1"thing="blah"-4.3.2.1] PASSED [ 71%]
tests/test_request_forwarded.py::test_escape_malformed_requests[asgi-for=1.2.3.4;by="4.3.\\2\\.1" thing="blah"-4.3.2.1] PASSED [ 71%]
tests/test_request_forwarded.py::test_escape_malformed_requests[wsgi-for=1.2.3.4;by="-None] PASSED [ 71%]
tests/test_request_forwarded.py::test_escape_malformed_requests[wsgi-for=1.2.3.4;by=4\\.3.2.1thing=blah-4] PASSED [ 71%]
tests/test_request_forwarded.py::test_escape_malformed_requests[wsgi-for=1.2.3.4;by="\\4.3.2.1"thing=blah-4.3.2.1] PASSED [ 71%]
tests/test_request_forwarded.py::test_escape_malformed_requests[wsgi-for=1.2.3.4;by="4.3.2.\\1"thing="blah"-4.3.2.1] PASSED [ 71%]
tests/test_request_forwarded.py::test_escape_malformed_requests[wsgi-for=1.2.3.4;by="4.3.\\2\\.1" thing="blah"-4.3.2.1] PASSED [ 71%]
tests/test_request_media.py::test_json[asgi-None] PASSED                 [ 71%]
tests/test_request_media.py::test_json[asgi-*/*] PASSED                  [ 71%]
tests/test_request_media.py::test_json[asgi-application/json] PASSED     [ 71%]
tests/test_request_media.py::test_json[asgi-application/json; charset=utf-8] PASSED [ 71%]
tests/test_request_media.py::test_json[wsgi-None] PASSED                 [ 71%]
tests/test_request_media.py::test_json[wsgi-*/*] PASSED                  [ 71%]
tests/test_request_media.py::test_json[wsgi-application/json] PASSED     [ 71%]
tests/test_request_media.py::test_json[wsgi-application/json; charset=utf-8] PASSED [ 71%]
tests/test_request_media.py::test_msgpack[asgi-application/msgpack] PASSED [ 71%]
tests/test_request_media.py::test_msgpack[asgi-application/msgpack; charset=utf-8] PASSED [ 71%]
tests/test_request_media.py::test_msgpack[asgi-application/x-msgpack] PASSED [ 71%]
tests/test_request_media.py::test_msgpack[wsgi-application/msgpack] PASSED [ 71%]
tests/test_request_media.py::test_msgpack[wsgi-application/msgpack; charset=utf-8] PASSED [ 71%]
tests/test_request_media.py::test_msgpack[wsgi-application/x-msgpack] PASSED [ 71%]
tests/test_request_media.py::test_unknown_media_type[asgi-nope/json] PASSED [ 71%]
tests/test_request_media.py::test_unknown_media_type[wsgi-nope/json] PASSED [ 72%]
tests/test_request_media.py::test_empty_body[asgi-application/json] PASSED [ 72%]
tests/test_request_media.py::test_empty_body[asgi-application/msgpack] PASSED [ 72%]
tests/test_request_media.py::test_empty_body[wsgi-application/json] PASSED [ 72%]
tests/test_request_media.py::test_empty_body[wsgi-application/msgpack] PASSED [ 72%]
tests/test_request_media.py::test_invalid_json[asgi] PASSED              [ 72%]
tests/test_request_media.py::test_invalid_json[wsgi] PASSED              [ 72%]
tests/test_request_media.py::test_invalid_msgpack[asgi] PASSED           [ 72%]
tests/test_request_media.py::test_invalid_msgpack[wsgi] PASSED           [ 72%]
tests/test_request_media.py::test_complete_consumption[asgi] PASSED      [ 72%]
tests/test_request_media.py::test_complete_consumption[wsgi] PASSED      [ 72%]
tests/test_request_media.py::test_empty_json_media[asgi-False] PASSED    [ 72%]
tests/test_request_media.py::test_empty_json_media[asgi-0] PASSED        [ 72%]
tests/test_request_media.py::test_empty_json_media[asgi-0.0] PASSED      [ 72%]
tests/test_request_media.py::test_empty_json_media[asgi-] PASSED         [ 72%]
tests/test_request_media.py::test_empty_json_media[asgi-payload4] PASSED [ 72%]
tests/test_request_media.py::test_empty_json_media[asgi-payload5] PASSED [ 72%]
tests/test_request_media.py::test_empty_json_media[wsgi-False] PASSED    [ 72%]
tests/test_request_media.py::test_empty_json_media[wsgi-0] PASSED        [ 72%]
tests/test_request_media.py::test_empty_json_media[wsgi-0.0] PASSED      [ 72%]
tests/test_request_media.py::test_empty_json_media[wsgi-] PASSED         [ 72%]
tests/test_request_media.py::test_empty_json_media[wsgi-payload4] PASSED [ 72%]
tests/test_request_media.py::test_empty_json_media[wsgi-payload5] PASSED [ 72%]
tests/test_request_media.py::test_null_json_media[asgi] PASSED           [ 72%]
tests/test_request_media.py::test_null_json_media[wsgi] PASSED           [ 72%]
tests/test_request_media.py::test_fallback[asgi] PASSED                  [ 72%]
tests/test_request_media.py::test_fallback[wsgi] PASSED                  [ 72%]
tests/test_request_media.py::test_fallback_not_for_error_body[asgi-True-True] PASSED [ 72%]
tests/test_request_media.py::test_fallback_not_for_error_body[asgi-True-False] PASSED [ 72%]
tests/test_request_media.py::test_fallback_not_for_error_body[asgi-False-True] PASSED [ 72%]
tests/test_request_media.py::test_fallback_not_for_error_body[asgi-False-False] PASSED [ 72%]
tests/test_request_media.py::test_fallback_not_for_error_body[wsgi-True-True] PASSED [ 72%]
tests/test_request_media.py::test_fallback_not_for_error_body[wsgi-True-False] PASSED [ 72%]
tests/test_request_media.py::test_fallback_not_for_error_body[wsgi-False-True] PASSED [ 73%]
tests/test_request_media.py::test_fallback_not_for_error_body[wsgi-False-False] PASSED [ 73%]
tests/test_request_media.py::test_fallback_does_not_override_media_default[asgi] PASSED [ 73%]
tests/test_request_media.py::test_fallback_does_not_override_media_default[wsgi] PASSED [ 73%]
tests/test_request_media.py::test_repeated_error[asgi-{] PASSED          [ 73%]
tests/test_request_media.py::test_repeated_error[asgi-] PASSED           [ 73%]
tests/test_request_media.py::test_repeated_error[wsgi-{] PASSED          [ 73%]
tests/test_request_media.py::test_repeated_error[wsgi-] PASSED           [ 73%]
tests/test_request_media.py::test_error_after_first_default[asgi] PASSED [ 73%]
tests/test_request_media.py::test_error_after_first_default[wsgi] PASSED [ 73%]
tests/test_response.py::test_response_set_content_type_set[True] PASSED  [ 73%]
tests/test_response.py::test_response_set_content_type_set[False] PASSED [ 73%]
tests/test_response.py::test_response_set_content_type_not_set[True] PASSED [ 73%]
tests/test_response.py::test_response_set_content_type_not_set[False] PASSED [ 73%]
tests/test_response.py::test_response_get_headers[True] PASSED           [ 73%]
tests/test_response.py::test_response_get_headers[False] PASSED          [ 73%]
tests/test_response.py::test_response_attempt_to_set_read_only_headers[True] PASSED [ 73%]
tests/test_response.py::test_response_attempt_to_set_read_only_headers[False] PASSED [ 73%]
tests/test_response.py::test_response_removed_stream_len[True] PASSED    [ 73%]
tests/test_response.py::test_response_removed_stream_len[False] PASSED   [ 73%]
tests/test_response.py::test_response_option_mimetype_init PASSED        [ 73%]
tests/test_response_body.py::test_append_body[asgi] PASSED               [ 73%]
tests/test_response_body.py::test_append_body[wsgi] PASSED               [ 73%]
tests/test_response_body.py::test_response_repr[asgi] PASSED             [ 73%]
tests/test_response_body.py::test_response_repr[wsgi] PASSED             [ 73%]
tests/test_response_body.py::test_content_length_set_on_head_with_no_body[asgi] PASSED [ 73%]
tests/test_response_body.py::test_content_length_set_on_head_with_no_body[wsgi] PASSED [ 73%]
tests/test_response_body.py::test_content_length_not_set_when_streaming_response[asgi-GET] PASSED [ 73%]
tests/test_response_body.py::test_content_length_not_set_when_streaming_response[asgi-HEAD] PASSED [ 73%]
tests/test_response_body.py::test_content_length_not_set_when_streaming_response[wsgi-GET] PASSED [ 73%]
tests/test_response_body.py::test_content_length_not_set_when_streaming_response[wsgi-HEAD] PASSED [ 73%]
tests/test_response_body.py::test_unsupported_response_content_type[asgi] PASSED [ 73%]
tests/test_response_body.py::test_unsupported_response_content_type[wsgi] PASSED [ 73%]
tests/test_response_body.py::test_response_body_rendition_error[asgi] PASSED [ 74%]
tests/test_response_body.py::test_response_body_rendition_error[wsgi] PASSED [ 74%]
tests/test_response_context.py::TestResponseContext::test_default_response_context[True] PASSED [ 74%]
tests/test_response_context.py::TestResponseContext::test_default_response_context[False] PASSED [ 74%]
tests/test_response_context.py::TestResponseContext::test_custom_response_context[True] PASSED [ 74%]
tests/test_response_context.py::TestResponseContext::test_custom_response_context[False] PASSED [ 74%]
tests/test_response_context.py::TestResponseContext::test_custom_response_context_failure[True] PASSED [ 74%]
tests/test_response_context.py::TestResponseContext::test_custom_response_context_failure[False] PASSED [ 74%]
tests/test_response_context.py::TestResponseContext::test_custom_response_context_factory[True] PASSED [ 74%]
tests/test_response_context.py::TestResponseContext::test_custom_response_context_factory[False] PASSED [ 74%]
tests/test_response_media.py::test_json[*/*] PASSED                      [ 74%]
tests/test_response_media.py::test_json[application/json] PASSED         [ 74%]
tests/test_response_media.py::test_json[application/json; charset=utf-8] PASSED [ 74%]
tests/test_response_media.py::test_non_ascii_json_serialization[] PASSED [ 74%]
tests/test_response_media.py::test_non_ascii_json_serialization[I am a \u1d0a\ua731\u1d0f\u0274 string.] PASSED [ 74%]
tests/test_response_media.py::test_non_ascii_json_serialization[document2] PASSED [ 74%]
tests/test_response_media.py::test_non_ascii_json_serialization[document3] PASSED [ 74%]
tests/test_response_media.py::test_non_ascii_json_serialization[document4] PASSED [ 74%]
tests/test_response_media.py::test_msgpack[application/msgpack] PASSED   [ 74%]
tests/test_response_media.py::test_msgpack[application/msgpack; charset=utf-8] PASSED [ 74%]
tests/test_response_media.py::test_msgpack[application/x-msgpack] PASSED [ 74%]
tests/test_response_media.py::test_unknown_media_type PASSED             [ 74%]
tests/test_response_media.py::test_use_cached_media PASSED               [ 74%]
tests/test_response_media.py::test_default_media_type PASSED             [ 74%]
tests/test_response_media.py::test_mimeparse_edgecases PASSED            [ 74%]
tests/test_response_media.py::TestRenderBodyPrecedence::test_text PASSED [ 74%]
tests/test_response_media.py::TestRenderBodyPrecedence::test_body PASSED [ 74%]
tests/test_response_media.py::TestRenderBodyPrecedence::test_data PASSED [ 74%]
tests/test_response_media.py::TestRenderBodyPrecedence::test_media PASSED [ 74%]
tests/test_response_media.py::test_media_rendered_cached PASSED          [ 74%]
tests/test_sink_and_static.py::test_sink_before_static_route[asgi] PASSED [ 74%]
tests/test_sink_and_static.py::test_sink_before_static_route[wsgi] PASSED [ 74%]
tests/test_sink_and_static.py::test_sink_after_static_route[asgi] PASSED [ 74%]
tests/test_sink_and_static.py::test_sink_after_static_route[wsgi] PASSED [ 75%]
tests/test_sinks.py::TestDefaultRouting::test_single_default_pattern[asgi] PASSED [ 75%]
tests/test_sinks.py::TestDefaultRouting::test_single_default_pattern[wsgi] PASSED [ 75%]
tests/test_sinks.py::TestDefaultRouting::test_single_simple_pattern[asgi] PASSED [ 75%]
tests/test_sinks.py::TestDefaultRouting::test_single_simple_pattern[wsgi] PASSED [ 75%]
tests/test_sinks.py::TestDefaultRouting::test_single_compiled_pattern[asgi] PASSED [ 75%]
tests/test_sinks.py::TestDefaultRouting::test_single_compiled_pattern[wsgi] PASSED [ 75%]
tests/test_sinks.py::TestDefaultRouting::test_named_groups[asgi] PASSED  [ 75%]
tests/test_sinks.py::TestDefaultRouting::test_named_groups[wsgi] PASSED  [ 75%]
tests/test_sinks.py::TestDefaultRouting::test_multiple_patterns[asgi] PASSED [ 75%]
tests/test_sinks.py::TestDefaultRouting::test_multiple_patterns[wsgi] PASSED [ 75%]
tests/test_sinks.py::TestDefaultRouting::test_with_route[asgi] PASSED    [ 75%]
tests/test_sinks.py::TestDefaultRouting::test_with_route[wsgi] PASSED    [ 75%]
tests/test_sinks.py::TestDefaultRouting::test_route_precedence[asgi] PASSED [ 75%]
tests/test_sinks.py::TestDefaultRouting::test_route_precedence[wsgi] PASSED [ 75%]
tests/test_sinks.py::TestDefaultRouting::test_route_precedence_with_id[asgi] PASSED [ 75%]
tests/test_sinks.py::TestDefaultRouting::test_route_precedence_with_id[wsgi] PASSED [ 75%]
tests/test_sinks.py::TestDefaultRouting::test_route_precedence_with_both_id[asgi] PASSED [ 75%]
tests/test_sinks.py::TestDefaultRouting::test_route_precedence_with_both_id[wsgi] PASSED [ 75%]
tests/test_sinks.py::TestSinkMethodCompatibility::test_add_async_sink[asgi] PASSED [ 75%]
tests/test_sinks.py::TestSinkMethodCompatibility::test_add_async_sink[wsgi] PASSED [ 75%]
tests/test_sinks.py::TestSinkMethodCompatibility::test_add_sync_sink[asgi] PASSED [ 75%]
tests/test_sinks.py::TestSinkMethodCompatibility::test_add_sync_sink[wsgi] PASSED [ 75%]
tests/test_sinks.py::TestSinkMethodCompatibility::test_add_sync_sink_with_wrapping[asgi] PASSED [ 75%]
tests/test_sinks.py::TestSinkMethodCompatibility::test_add_sync_sink_with_wrapping[wsgi] PASSED [ 75%]
tests/test_slots.py::TestSlots::test_slots_request[asgi] PASSED          [ 75%]
tests/test_slots.py::TestSlots::test_slots_request[wsgi] PASSED          [ 75%]
tests/test_slots.py::TestSlots::test_slots_response[asgi] PASSED         [ 75%]
tests/test_slots.py::TestSlots::test_slots_response[wsgi] PASSED         [ 75%]
tests/test_static.py::test_bad_path[asgi-/static] PASSED                 [ 75%]
tests/test_static.py::test_bad_path[asgi-/static/] PASSED                [ 75%]
tests/test_static.py::test_bad_path[asgi-/static/.] PASSED               [ 75%]
tests/test_static.py::test_bad_path[asgi-/static/..] PASSED              [ 75%]
tests/test_static.py::test_bad_path[asgi-/static/../.] PASSED            [ 76%]
tests/test_static.py::test_bad_path[asgi-/static/.././etc/passwd] PASSED [ 76%]
tests/test_static.py::test_bad_path[asgi-/static/../etc/passwd] PASSED   [ 76%]
tests/test_static.py::test_bad_path[asgi-/static/css/../../secret] PASSED [ 76%]
tests/test_static.py::test_bad_path[asgi-/static/css/../../etc/passwd] PASSED [ 76%]
tests/test_static.py::test_bad_path[asgi-/static/./../etc/passwd] PASSED [ 76%]
tests/test_static.py::test_bad_path[asgi-/static/css/../.\\056/etc/passwd] PASSED [ 76%]
tests/test_static.py::test_bad_path[asgi-/static/./\\056./etc/passwd] PASSED [ 76%]
tests/test_static.py::test_bad_path[asgi-/static/\\056\\056/etc/passwd] PASSED [ 76%]
tests/test_static.py::test_bad_path[asgi-/static//test.css] PASSED       [ 76%]
tests/test_static.py::test_bad_path[asgi-/static//COM10] PASSED          [ 76%]
tests/test_static.py::test_bad_path[asgi-/static/path//test.css] PASSED  [ 76%]
tests/test_static.py::test_bad_path[asgi-/static/path///test.css] PASSED [ 76%]
tests/test_static.py::test_bad_path[asgi-/static/path////test.css] PASSED [ 76%]
tests/test_static.py::test_bad_path[asgi-/static/path/foo//test.css] PASSED [ 76%]
tests/test_static.py::test_bad_path[asgi-/static/.\x00ssh/authorized_keys] PASSED [ 76%]
tests/test_static.py::test_bad_path[asgi-/static/.\x1fssh/authorized_keys] PASSED [ 76%]
tests/test_static.py::test_bad_path[asgi-/static/.\x80ssh/authorized_keys] PASSED [ 76%]
tests/test_static.py::test_bad_path[asgi-/static/.\x9fssh/authorized_keys] PASSED [ 76%]
tests/test_static.py::test_bad_path[asgi-/static/~/.ssh/authorized_keys] PASSED [ 76%]
tests/test_static.py::test_bad_path[asgi-/static/.ssh/authorized_key?] PASSED [ 76%]
tests/test_static.py::test_bad_path[asgi-/static/.ssh/authorized_key>foo] PASSED [ 76%]
tests/test_static.py::test_bad_path[asgi-/static/.ssh/authorized_key|foo] PASSED [ 76%]
tests/test_static.py::test_bad_path[asgi-/static/.ssh/authorized_key<foo] PASSED [ 76%]
tests/test_static.py::test_bad_path[asgi-/static/something:something] PASSED [ 76%]
tests/test_static.py::test_bad_path[asgi-/static/thing*.sql] PASSED      [ 76%]
tests/test_static.py::test_bad_path[asgi-/static/'thing'.sql] PASSED     [ 76%]
tests/test_static.py::test_bad_path[asgi-/static/"thing".sql] PASSED     [ 76%]
tests/test_static.py::test_bad_path[asgi-/static/something.] PASSED      [ 76%]
tests/test_static.py::test_bad_path[asgi-/static/something..] PASSED     [ 76%]
tests/test_static.py::test_bad_path[asgi-/static/something ] PASSED      [ 76%]
tests/test_static.py::test_bad_path[asgi-/static/ something 0] PASSED    [ 76%]
tests/test_static.py::test_bad_path[asgi-/static/ something 1] PASSED    [ 76%]
tests/test_static.py::test_bad_path[asgi-/static/something\t] PASSED     [ 77%]
tests/test_static.py::test_bad_path[asgi-/static/\tsomething] PASSED     [ 77%]
tests/test_static.py::test_bad_path[asgi-/static/ttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttx] PASSED [ 77%]
tests/test_static.py::test_bad_path[asgi-/static/\ufffdsomething] PASSED [ 77%]
tests/test_static.py::test_bad_path[wsgi-/static] PASSED                 [ 77%]
tests/test_static.py::test_bad_path[wsgi-/static/] PASSED                [ 77%]
tests/test_static.py::test_bad_path[wsgi-/static/.] PASSED               [ 77%]
tests/test_static.py::test_bad_path[wsgi-/static/..] PASSED              [ 77%]
tests/test_static.py::test_bad_path[wsgi-/static/../.] PASSED            [ 77%]
tests/test_static.py::test_bad_path[wsgi-/static/.././etc/passwd] PASSED [ 77%]
tests/test_static.py::test_bad_path[wsgi-/static/../etc/passwd] PASSED   [ 77%]
tests/test_static.py::test_bad_path[wsgi-/static/css/../../secret] PASSED [ 77%]
tests/test_static.py::test_bad_path[wsgi-/static/css/../../etc/passwd] PASSED [ 77%]
tests/test_static.py::test_bad_path[wsgi-/static/./../etc/passwd] PASSED [ 77%]
tests/test_static.py::test_bad_path[wsgi-/static/css/../.\\056/etc/passwd] PASSED [ 77%]
tests/test_static.py::test_bad_path[wsgi-/static/./\\056./etc/passwd] PASSED [ 77%]
tests/test_static.py::test_bad_path[wsgi-/static/\\056\\056/etc/passwd] PASSED [ 77%]
tests/test_static.py::test_bad_path[wsgi-/static//test.css] PASSED       [ 77%]
tests/test_static.py::test_bad_path[wsgi-/static//COM10] PASSED          [ 77%]
tests/test_static.py::test_bad_path[wsgi-/static/path//test.css] PASSED  [ 77%]
tests/test_static.py::test_bad_path[wsgi-/static/path///test.css] PASSED [ 77%]
tests/test_static.py::test_bad_path[wsgi-/static/path////test.css] PASSED [ 77%]
tests/test_static.py::test_bad_path[wsgi-/static/path/foo//test.css] PASSED [ 77%]
tests/test_static.py::test_bad_path[wsgi-/static/.\x00ssh/authorized_keys] PASSED [ 77%]
tests/test_static.py::test_bad_path[wsgi-/static/.\x1fssh/authorized_keys] PASSED [ 77%]
tests/test_static.py::test_bad_path[wsgi-/static/.\x80ssh/authorized_keys] PASSED [ 77%]
tests/test_static.py::test_bad_path[wsgi-/static/.\x9fssh/authorized_keys] PASSED [ 77%]
tests/test_static.py::test_bad_path[wsgi-/static/~/.ssh/authorized_keys] PASSED [ 77%]
tests/test_static.py::test_bad_path[wsgi-/static/.ssh/authorized_key?] PASSED [ 77%]
tests/test_static.py::test_bad_path[wsgi-/static/.ssh/authorized_key>foo] PASSED [ 77%]
tests/test_static.py::test_bad_path[wsgi-/static/.ssh/authorized_key|foo] PASSED [ 77%]
tests/test_static.py::test_bad_path[wsgi-/static/.ssh/authorized_key<foo] PASSED [ 77%]
tests/test_static.py::test_bad_path[wsgi-/static/something:something] PASSED [ 77%]
tests/test_static.py::test_bad_path[wsgi-/static/thing*.sql] PASSED      [ 77%]
tests/test_static.py::test_bad_path[wsgi-/static/'thing'.sql] PASSED     [ 78%]
tests/test_static.py::test_bad_path[wsgi-/static/"thing".sql] PASSED     [ 78%]
tests/test_static.py::test_bad_path[wsgi-/static/something.] PASSED      [ 78%]
tests/test_static.py::test_bad_path[wsgi-/static/something..] PASSED     [ 78%]
tests/test_static.py::test_bad_path[wsgi-/static/something ] PASSED      [ 78%]
tests/test_static.py::test_bad_path[wsgi-/static/ something 0] PASSED    [ 78%]
tests/test_static.py::test_bad_path[wsgi-/static/ something 1] PASSED    [ 78%]
tests/test_static.py::test_bad_path[wsgi-/static/something\t] PASSED     [ 78%]
tests/test_static.py::test_bad_path[wsgi-/static/\tsomething] PASSED     [ 78%]
tests/test_static.py::test_bad_path[wsgi-/static/ttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttx] PASSED [ 78%]
tests/test_static.py::test_bad_path[wsgi-/static/\ufffdsomething] PASSED [ 78%]
tests/test_static.py::test_invalid_args[asgi-static-/var/www/statics] PASSED [ 78%]
tests/test_static.py::test_invalid_args[asgi-/static-./var/www/statics] PASSED [ 78%]
tests/test_static.py::test_invalid_args[asgi-/static-statics] PASSED     [ 78%]
tests/test_static.py::test_invalid_args[asgi-/static-../statics] PASSED  [ 78%]
tests/test_static.py::test_invalid_args[wsgi-static-/var/www/statics] PASSED [ 78%]
tests/test_static.py::test_invalid_args[wsgi-/static-./var/www/statics] PASSED [ 78%]
tests/test_static.py::test_invalid_args[wsgi-/static-statics] PASSED     [ 78%]
tests/test_static.py::test_invalid_args[wsgi-/static-../statics] PASSED  [ 78%]
tests/test_static.py::test_invalid_args_fallback_filename[asgi-not-existing-file] PASSED [ 78%]
tests/test_static.py::test_invalid_args_fallback_filename[asgi-.] PASSED [ 78%]
tests/test_static.py::test_invalid_args_fallback_filename[asgi-/tmp] PASSED [ 78%]
tests/test_static.py::test_invalid_args_fallback_filename[wsgi-not-existing-file] PASSED [ 78%]
tests/test_static.py::test_invalid_args_fallback_filename[wsgi-.] PASSED [ 78%]
tests/test_static.py::test_invalid_args_fallback_filename[wsgi-/tmp] PASSED [ 78%]
tests/test_static.py::test_good_path[asgi-/static/-/css/test.css-/css/test.css-text/css] PASSED [ 78%]
tests/test_static.py::test_good_path[asgi-/static-/css/test.css-/css/test.css-text/css] PASSED [ 78%]
tests/test_static.py::test_good_path[asgi-/static-/tttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt-/tttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt-application/octet-stream] PASSED [ 78%]
tests/test_static.py::test_good_path[asgi-/static-/.test.css-/.test.css-text/css] PASSED [ 78%]
tests/test_static.py::test_good_path[asgi-/some/download/-/report.pdf-/report.pdf-application/pdf] PASSED [ 78%]
tests/test_static.py::test_good_path[asgi-/some/download/-/Fancy Report.pdf-/Fancy Report.pdf-application/pdf] PASSED [ 78%]
tests/test_static.py::test_good_path[asgi-/some/download-/report.zip-/report.zip-application/zip] PASSED [ 78%]
tests/test_static.py::test_good_path[asgi-/some/download-/foo/../report.zip-/report.zip-application/zip] PASSED [ 78%]
tests/test_static.py::test_good_path[asgi-/some/download-/foo/../bar/../report.zip-/report.zip-application/zip] PASSED [ 79%]
tests/test_static.py::test_good_path[asgi-/some/download-/foo/bar/../../report.zip-/report.zip-application/zip] PASSED [ 79%]
tests/test_static.py::test_good_path[wsgi-/static/-/css/test.css-/css/test.css-text/css] PASSED [ 79%]
tests/test_static.py::test_good_path[wsgi-/static-/css/test.css-/css/test.css-text/css] PASSED [ 79%]
tests/test_static.py::test_good_path[wsgi-/static-/tttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt-/tttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt-application/octet-stream] PASSED [ 79%]
tests/test_static.py::test_good_path[wsgi-/static-/.test.css-/.test.css-text/css] PASSED [ 79%]
tests/test_static.py::test_good_path[wsgi-/some/download/-/report.pdf-/report.pdf-application/pdf] PASSED [ 79%]
tests/test_static.py::test_good_path[wsgi-/some/download/-/Fancy Report.pdf-/Fancy Report.pdf-application/pdf] PASSED [ 79%]
tests/test_static.py::test_good_path[wsgi-/some/download-/report.zip-/report.zip-application/zip] PASSED [ 79%]
tests/test_static.py::test_good_path[wsgi-/some/download-/foo/../report.zip-/report.zip-application/zip] PASSED [ 79%]
tests/test_static.py::test_good_path[wsgi-/some/download-/foo/../bar/../report.zip-/report.zip-application/zip] PASSED [ 79%]
tests/test_static.py::test_good_path[wsgi-/some/download-/foo/bar/../../report.zip-/report.zip-application/zip] PASSED [ 79%]
tests/test_static.py::test_range_requests[asgi-True-bytes=1-3-bytes 1-3/16-123] PASSED [ 79%]
tests/test_static.py::test_range_requests[asgi-True-bytes=-3-bytes 13-15/16-def] PASSED [ 79%]
tests/test_static.py::test_range_requests[asgi-True-bytes=8--bytes 8-15/16-89abcdef] PASSED [ 79%]
tests/test_static.py::test_range_requests[asgi-True-words=1-3-None-0123456789abcdef] PASSED [ 79%]
tests/test_static.py::test_range_requests[asgi-True-bytes=15-30-bytes 15-15/16-f] PASSED [ 79%]
tests/test_static.py::test_range_requests[asgi-True-bytes=0-30-bytes 0-15/16-0123456789abcdef] PASSED [ 79%]
tests/test_static.py::test_range_requests[asgi-True-bytes=-30-bytes 0-15/16-0123456789abcdef] PASSED [ 79%]
tests/test_static.py::test_range_requests[asgi-False-bytes=1-3-bytes 1-3/16-123] PASSED [ 79%]
tests/test_static.py::test_range_requests[asgi-False-bytes=-3-bytes 13-15/16-def] PASSED [ 79%]
tests/test_static.py::test_range_requests[asgi-False-bytes=8--bytes 8-15/16-89abcdef] PASSED [ 79%]
tests/test_static.py::test_range_requests[asgi-False-words=1-3-None-0123456789abcdef] PASSED [ 79%]
tests/test_static.py::test_range_requests[asgi-False-bytes=15-30-bytes 15-15/16-f] PASSED [ 79%]
tests/test_static.py::test_range_requests[asgi-False-bytes=0-30-bytes 0-15/16-0123456789abcdef] PASSED [ 79%]
tests/test_static.py::test_range_requests[asgi-False-bytes=-30-bytes 0-15/16-0123456789abcdef] PASSED [ 79%]
tests/test_static.py::test_range_requests[wsgi-True-bytes=1-3-bytes 1-3/16-123] PASSED [ 79%]
tests/test_static.py::test_range_requests[wsgi-True-bytes=-3-bytes 13-15/16-def] PASSED [ 79%]
tests/test_static.py::test_range_requests[wsgi-True-bytes=8--bytes 8-15/16-89abcdef] PASSED [ 79%]
tests/test_static.py::test_range_requests[wsgi-True-words=1-3-None-0123456789abcdef] PASSED [ 79%]
tests/test_static.py::test_range_requests[wsgi-True-bytes=15-30-bytes 15-15/16-f] PASSED [ 79%]
tests/test_static.py::test_range_requests[wsgi-True-bytes=0-30-bytes 0-15/16-0123456789abcdef] PASSED [ 79%]
tests/test_static.py::test_range_requests[wsgi-True-bytes=-30-bytes 0-15/16-0123456789abcdef] PASSED [ 79%]
tests/test_static.py::test_range_requests[wsgi-False-bytes=1-3-bytes 1-3/16-123] PASSED [ 80%]
tests/test_static.py::test_range_requests[wsgi-False-bytes=-3-bytes 13-15/16-def] PASSED [ 80%]
tests/test_static.py::test_range_requests[wsgi-False-bytes=8--bytes 8-15/16-89abcdef] PASSED [ 80%]
tests/test_static.py::test_range_requests[wsgi-False-words=1-3-None-0123456789abcdef] PASSED [ 80%]
tests/test_static.py::test_range_requests[wsgi-False-bytes=15-30-bytes 15-15/16-f] PASSED [ 80%]
tests/test_static.py::test_range_requests[wsgi-False-bytes=0-30-bytes 0-15/16-0123456789abcdef] PASSED [ 80%]
tests/test_static.py::test_range_requests[wsgi-False-bytes=-30-bytes 0-15/16-0123456789abcdef] PASSED [ 80%]
tests/test_static.py::test_range_request_zero_length[asgi-bytes=1-3] PASSED [ 80%]
tests/test_static.py::test_range_request_zero_length[asgi-bytes=-3] PASSED [ 80%]
tests/test_static.py::test_range_request_zero_length[asgi-bytes=8-] PASSED [ 80%]
tests/test_static.py::test_range_request_zero_length[asgi-words=1-3] PASSED [ 80%]
tests/test_static.py::test_range_request_zero_length[asgi-bytes=15-30] PASSED [ 80%]
tests/test_static.py::test_range_request_zero_length[asgi-bytes=0-30] PASSED [ 80%]
tests/test_static.py::test_range_request_zero_length[asgi-bytes=-30] PASSED [ 80%]
tests/test_static.py::test_range_request_zero_length[wsgi-bytes=1-3] PASSED [ 80%]
tests/test_static.py::test_range_request_zero_length[wsgi-bytes=-3] PASSED [ 80%]
tests/test_static.py::test_range_request_zero_length[wsgi-bytes=8-] PASSED [ 80%]
tests/test_static.py::test_range_request_zero_length[wsgi-words=1-3] PASSED [ 80%]
tests/test_static.py::test_range_request_zero_length[wsgi-bytes=15-30] PASSED [ 80%]
tests/test_static.py::test_range_request_zero_length[wsgi-bytes=0-30] PASSED [ 80%]
tests/test_static.py::test_range_request_zero_length[wsgi-bytes=-30] PASSED [ 80%]
tests/test_static.py::test_bad_range_requests[asgi-1-3-400 Bad Request] PASSED [ 80%]
tests/test_static.py::test_bad_range_requests[asgi-bytes=0-0,-1-400 Bad Request] PASSED [ 80%]
tests/test_static.py::test_bad_range_requests[asgi-bytes=8-4-400 Bad Request] PASSED [ 80%]
tests/test_static.py::test_bad_range_requests[asgi-bytes=1--3-400 Bad Request] PASSED [ 80%]
tests/test_static.py::test_bad_range_requests[asgi-bytes=--0-400 Bad Request] PASSED [ 80%]
tests/test_static.py::test_bad_range_requests[asgi-bytes=100-200-416 Range Not Satisfiable] PASSED [ 80%]
tests/test_static.py::test_bad_range_requests[asgi-bytes=100--416 Range Not Satisfiable] PASSED [ 80%]
tests/test_static.py::test_bad_range_requests[asgi-bytes=16-20-416 Range Not Satisfiable] PASSED [ 80%]
tests/test_static.py::test_bad_range_requests[asgi-bytes=16--416 Range Not Satisfiable] PASSED [ 80%]
tests/test_static.py::test_bad_range_requests[wsgi-1-3-400 Bad Request] PASSED [ 80%]
tests/test_static.py::test_bad_range_requests[wsgi-bytes=0-0,-1-400 Bad Request] PASSED [ 80%]
tests/test_static.py::test_bad_range_requests[wsgi-bytes=8-4-400 Bad Request] PASSED [ 80%]
tests/test_static.py::test_bad_range_requests[wsgi-bytes=1--3-400 Bad Request] PASSED [ 81%]
tests/test_static.py::test_bad_range_requests[wsgi-bytes=--0-400 Bad Request] PASSED [ 81%]
tests/test_static.py::test_bad_range_requests[wsgi-bytes=100-200-416 Range Not Satisfiable] PASSED [ 81%]
tests/test_static.py::test_bad_range_requests[wsgi-bytes=100--416 Range Not Satisfiable] PASSED [ 81%]
tests/test_static.py::test_bad_range_requests[wsgi-bytes=16-20-416 Range Not Satisfiable] PASSED [ 81%]
tests/test_static.py::test_bad_range_requests[wsgi-bytes=16--416 Range Not Satisfiable] PASSED [ 81%]
tests/test_static.py::test_pathlib_path[asgi] PASSED                     [ 81%]
tests/test_static.py::test_pathlib_path[wsgi] PASSED                     [ 81%]
tests/test_static.py::test_lifo[asgi] PASSED                             [ 81%]
tests/test_static.py::test_lifo[wsgi] PASSED                             [ 81%]
tests/test_static.py::test_lifo_negative[asgi] PASSED                    [ 81%]
tests/test_static.py::test_lifo_negative[wsgi] PASSED                    [ 81%]
tests/test_static.py::test_downloadable[asgi] PASSED                     [ 81%]
tests/test_static.py::test_downloadable[wsgi] PASSED                     [ 81%]
tests/test_static.py::test_downloadable_not_found[asgi] PASSED           [ 81%]
tests/test_static.py::test_downloadable_not_found[wsgi] PASSED           [ 81%]
tests/test_static.py::test_fallback_filename[asgi-True--default-default-application/octet-stream] PASSED [ 81%]
tests/test_static.py::test_fallback_filename[asgi-True-other-default.html-default.html-text/html] PASSED [ 81%]
tests/test_static.py::test_fallback_filename[asgi-True-zip-default.zip-default.zip-application/zip] PASSED [ 81%]
tests/test_static.py::test_fallback_filename[asgi-True-index2-index-index2-application/octet-stream] PASSED [ 81%]
tests/test_static.py::test_fallback_filename[asgi-True-absolute-/foo/bar/index-/foo/bar/index-application/octet-stream] PASSED [ 81%]
tests/test_static.py::test_fallback_filename[asgi-True-docs/notes/test.txt-index.html-index.html-text/html] PASSED [ 81%]
tests/test_static.py::test_fallback_filename[asgi-True-index.html_files/test.txt-index.html-index.html_files/test.txt-text/plain] PASSED [ 81%]
tests/test_static.py::test_fallback_filename[asgi-False--default-default-application/octet-stream] PASSED [ 81%]
tests/test_static.py::test_fallback_filename[asgi-False-other-default.html-default.html-text/html] PASSED [ 81%]
tests/test_static.py::test_fallback_filename[asgi-False-zip-default.zip-default.zip-application/zip] PASSED [ 81%]
tests/test_static.py::test_fallback_filename[asgi-False-index2-index-index2-application/octet-stream] PASSED [ 81%]
tests/test_static.py::test_fallback_filename[asgi-False-absolute-/foo/bar/index-/foo/bar/index-application/octet-stream] PASSED [ 81%]
tests/test_static.py::test_fallback_filename[asgi-False-docs/notes/test.txt-index.html-index.html-text/html] PASSED [ 81%]
tests/test_static.py::test_fallback_filename[asgi-False-index.html_files/test.txt-index.html-index.html_files/test.txt-text/plain] PASSED [ 81%]
tests/test_static.py::test_fallback_filename[wsgi-True--default-default-application/octet-stream] PASSED [ 81%]
tests/test_static.py::test_fallback_filename[wsgi-True-other-default.html-default.html-text/html] PASSED [ 81%]
tests/test_static.py::test_fallback_filename[wsgi-True-zip-default.zip-default.zip-application/zip] PASSED [ 81%]
tests/test_static.py::test_fallback_filename[wsgi-True-index2-index-index2-application/octet-stream] PASSED [ 82%]
tests/test_static.py::test_fallback_filename[wsgi-True-absolute-/foo/bar/index-/foo/bar/index-application/octet-stream] PASSED [ 82%]
tests/test_static.py::test_fallback_filename[wsgi-True-docs/notes/test.txt-index.html-index.html-text/html] PASSED [ 82%]
tests/test_static.py::test_fallback_filename[wsgi-True-index.html_files/test.txt-index.html-index.html_files/test.txt-text/plain] PASSED [ 82%]
tests/test_static.py::test_fallback_filename[wsgi-False--default-default-application/octet-stream] PASSED [ 82%]
tests/test_static.py::test_fallback_filename[wsgi-False-other-default.html-default.html-text/html] PASSED [ 82%]
tests/test_static.py::test_fallback_filename[wsgi-False-zip-default.zip-default.zip-application/zip] PASSED [ 82%]
tests/test_static.py::test_fallback_filename[wsgi-False-index2-index-index2-application/octet-stream] PASSED [ 82%]
tests/test_static.py::test_fallback_filename[wsgi-False-absolute-/foo/bar/index-/foo/bar/index-application/octet-stream] PASSED [ 82%]
tests/test_static.py::test_fallback_filename[wsgi-False-docs/notes/test.txt-index.html-index.html-text/html] PASSED [ 82%]
tests/test_static.py::test_fallback_filename[wsgi-False-index.html_files/test.txt-index.html-index.html_files/test.txt-text/plain] PASSED [ 82%]
tests/test_static.py::test_e2e_fallback_filename[asgi-/index-index.html-index-index-True] PASSED [ 82%]
tests/test_static.py::test_e2e_fallback_filename[asgi-/index-index.html-index-index-False] PASSED [ 82%]
tests/test_static.py::test_e2e_fallback_filename[asgi--index.html-index.html-None-True] PASSED [ 82%]
tests/test_static.py::test_e2e_fallback_filename[asgi--index.html-index.html-None-False] PASSED [ 82%]
tests/test_static.py::test_e2e_fallback_filename[asgi-/-index.html-index.html-None-True] PASSED [ 82%]
tests/test_static.py::test_e2e_fallback_filename[asgi-/-index.html-index.html-None-False] PASSED [ 82%]
tests/test_static.py::test_e2e_fallback_filename[asgi-/other-index.html-index.html-None-True] PASSED [ 82%]
tests/test_static.py::test_e2e_fallback_filename[asgi-/other-index.html-index.html-None-False] PASSED [ 82%]
tests/test_static.py::test_e2e_fallback_filename[asgi-/other-index.raise-None-None-True] PASSED [ 82%]
tests/test_static.py::test_e2e_fallback_filename[asgi-/other-index.raise-None-None-False] PASSED [ 82%]
tests/test_static.py::test_e2e_fallback_filename[wsgi-/index-index.html-index-index-True] PASSED [ 82%]
tests/test_static.py::test_e2e_fallback_filename[wsgi-/index-index.html-index-index-False] PASSED [ 82%]
tests/test_static.py::test_e2e_fallback_filename[wsgi--index.html-index.html-None-True] PASSED [ 82%]
tests/test_static.py::test_e2e_fallback_filename[wsgi--index.html-index.html-None-False] PASSED [ 82%]
tests/test_static.py::test_e2e_fallback_filename[wsgi-/-index.html-index.html-None-True] PASSED [ 82%]
tests/test_static.py::test_e2e_fallback_filename[wsgi-/-index.html-index.html-None-False] PASSED [ 82%]
tests/test_static.py::test_e2e_fallback_filename[wsgi-/other-index.html-index.html-None-True] PASSED [ 82%]
tests/test_static.py::test_e2e_fallback_filename[wsgi-/other-index.html-index.html-None-False] PASSED [ 82%]
tests/test_static.py::test_e2e_fallback_filename[wsgi-/other-index.raise-None-None-True] PASSED [ 82%]
tests/test_static.py::test_e2e_fallback_filename[wsgi-/other-index.raise-None-None-False] PASSED [ 82%]
tests/test_static.py::test_match[asgi-None-/static-False] PASSED         [ 82%]
tests/test_static.py::test_match[asgi-None-/static/-True] PASSED         [ 82%]
tests/test_static.py::test_match[asgi-None-/staticfoo-False] PASSED      [ 83%]
tests/test_static.py::test_match[asgi-None-/static/foo-True] PASSED      [ 83%]
tests/test_static.py::test_match[asgi-index2-/static-True] PASSED        [ 83%]
tests/test_static.py::test_match[asgi-index2-/static/-True] PASSED       [ 83%]
tests/test_static.py::test_match[asgi-index2-/staticfoo-False] PASSED    [ 83%]
tests/test_static.py::test_match[asgi-index2-/static/foo-True] PASSED    [ 83%]
tests/test_static.py::test_match[wsgi-None-/static-False] PASSED         [ 83%]
tests/test_static.py::test_match[wsgi-None-/static/-True] PASSED         [ 83%]
tests/test_static.py::test_match[wsgi-None-/staticfoo-False] PASSED      [ 83%]
tests/test_static.py::test_match[wsgi-None-/static/foo-True] PASSED      [ 83%]
tests/test_static.py::test_match[wsgi-index2-/static-True] PASSED        [ 83%]
tests/test_static.py::test_match[wsgi-index2-/static/-True] PASSED       [ 83%]
tests/test_static.py::test_match[wsgi-index2-/staticfoo-False] PASSED    [ 83%]
tests/test_static.py::test_match[wsgi-index2-/static/foo-True] PASSED    [ 83%]
tests/test_static.py::test_filesystem_traversal_fuse[asgi] PASSED        [ 83%]
tests/test_static.py::test_filesystem_traversal_fuse[wsgi] PASSED        [ 83%]
tests/test_static.py::test_bounded_file_wrapper PASSED                   [ 83%]
tests/test_static.py::test_file_closed[asgi] PASSED                      [ 83%]
tests/test_static.py::test_file_closed[wsgi] PASSED                      [ 83%]
tests/test_testing.py::test_testing_client_handles_wsgi_generator_app PASSED [ 83%]
tests/test_testing.py::test_closed_wsgi_iterable[items0] PASSED          [ 83%]
tests/test_testing.py::test_closed_wsgi_iterable[items1] PASSED          [ 83%]
tests/test_testing.py::test_closed_wsgi_iterable[items2] PASSED          [ 83%]
tests/test_testing.py::test_closed_wsgi_iterable[items3] PASSED          [ 83%]
tests/test_testing.py::test_simulate_request_http_version[1-True] PASSED [ 83%]
tests/test_testing.py::test_simulate_request_http_version[1.0-True] PASSED [ 83%]
tests/test_testing.py::test_simulate_request_http_version[1.1-True] PASSED [ 83%]
tests/test_testing.py::test_simulate_request_http_version[2-True] PASSED [ 83%]
tests/test_testing.py::test_simulate_request_http_version[2.0-True] PASSED [ 83%]
tests/test_testing.py::test_simulate_request_http_version[-False] PASSED [ 83%]
tests/test_testing.py::test_simulate_request_http_version[0-False] PASSED [ 83%]
tests/test_testing.py::test_simulate_request_http_version[1.2-False] PASSED [ 83%]
tests/test_testing.py::test_simulate_request_http_version[2.1-False] PASSED [ 83%]
tests/test_testing.py::test_simulate_request_http_version[3-False] PASSED [ 84%]
tests/test_testing.py::test_simulate_request_http_version[3.1-False] PASSED [ 84%]
tests/test_testing.py::test_simulate_request_http_version[11-False] PASSED [ 84%]
tests/test_testing.py::test_simulate_request_http_version[22-False] PASSED [ 84%]
tests/test_testing.py::test_simulate_request_content_type PASSED         [ 84%]
tests/test_testing.py::test_create_environ_cookies[cookies0] PASSED      [ 84%]
tests/test_testing.py::test_create_environ_cookies[cookies1] PASSED      [ 84%]
tests/test_testing.py::test_create_environ_cookies_options_method PASSED [ 84%]
tests/test_testing.py::test_cookies_jar PASSED                           [ 84%]
tests/test_testing.py::test_create_environ_default_ua PASSED             [ 84%]
tests/test_testing.py::test_create_environ_default_ua_override PASSED    [ 84%]
tests/test_testing.py::test_missing_header_is_none PASSED                [ 84%]
tests/test_testing.py::test_client_simulate_aliases[asgi-DELETE] PASSED  [ 84%]
tests/test_testing.py::test_client_simulate_aliases[asgi-GET] PASSED     [ 84%]
tests/test_testing.py::test_client_simulate_aliases[asgi-HEAD] PASSED    [ 84%]
tests/test_testing.py::test_client_simulate_aliases[asgi-LOCK] PASSED    [ 84%]
tests/test_testing.py::test_client_simulate_aliases[asgi-OPTIONS] PASSED [ 84%]
tests/test_testing.py::test_client_simulate_aliases[asgi-PATCH] PASSED   [ 84%]
tests/test_testing.py::test_client_simulate_aliases[asgi-POST] PASSED    [ 84%]
tests/test_testing.py::test_client_simulate_aliases[asgi-PUT] PASSED     [ 84%]
tests/test_testing.py::test_client_simulate_aliases[wsgi-DELETE] PASSED  [ 84%]
tests/test_testing.py::test_client_simulate_aliases[wsgi-GET] PASSED     [ 84%]
tests/test_testing.py::test_client_simulate_aliases[wsgi-HEAD] PASSED    [ 84%]
tests/test_testing.py::test_client_simulate_aliases[wsgi-LOCK] PASSED    [ 84%]
tests/test_testing.py::test_client_simulate_aliases[wsgi-OPTIONS] PASSED [ 84%]
tests/test_testing.py::test_client_simulate_aliases[wsgi-PATCH] PASSED   [ 84%]
tests/test_testing.py::test_client_simulate_aliases[wsgi-POST] PASSED    [ 84%]
tests/test_testing.py::test_client_simulate_aliases[wsgi-PUT] PASSED     [ 84%]
tests/test_things_example.py::test_things_resource_response PASSED       [ 84%]
tests/test_uri_converters.py::test_int_converter[123-None-None-None-123] PASSED [ 84%]
tests/test_uri_converters.py::test_int_converter[01-None-None-None-1] PASSED [ 84%]
tests/test_uri_converters.py::test_int_converter[001-None-None-None-1] PASSED [ 84%]
tests/test_uri_converters.py::test_int_converter[0-None-None-None-0] PASSED [ 84%]
tests/test_uri_converters.py::test_int_converter[00-None-None-None-0] PASSED [ 85%]
tests/test_uri_converters.py::test_int_converter[1-1-None-None-1] PASSED [ 85%]
tests/test_uri_converters.py::test_int_converter[12-1-None-None-None0] PASSED [ 85%]
tests/test_uri_converters.py::test_int_converter[12-2-None-None-12_0] PASSED [ 85%]
tests/test_uri_converters.py::test_int_converter[1-1-1-1-1] PASSED       [ 85%]
tests/test_uri_converters.py::test_int_converter[1-1-1-None-1] PASSED    [ 85%]
tests/test_uri_converters.py::test_int_converter[1-1-1-2-1] PASSED       [ 85%]
tests/test_uri_converters.py::test_int_converter[1-1-2-None-None] PASSED [ 85%]
tests/test_uri_converters.py::test_int_converter[1-1-2-1-None] PASSED    [ 85%]
tests/test_uri_converters.py::test_int_converter[2-1-1-2-2] PASSED       [ 85%]
tests/test_uri_converters.py::test_int_converter[2-1-2-2-2] PASSED       [ 85%]
tests/test_uri_converters.py::test_int_converter[3-1-1-2-None] PASSED    [ 85%]
tests/test_uri_converters.py::test_int_converter[12-1-None-None-None1] PASSED [ 85%]
tests/test_uri_converters.py::test_int_converter[12-1-1-12-None] PASSED  [ 85%]
tests/test_uri_converters.py::test_int_converter[12-2-None-None-12_1] PASSED [ 85%]
tests/test_uri_converters.py::test_int_converter[12-2-1-12-12] PASSED    [ 85%]
tests/test_uri_converters.py::test_int_converter[12-2-12-12-12] PASSED   [ 85%]
tests/test_uri_converters.py::test_int_converter[12-2-13-12-None] PASSED [ 85%]
tests/test_uri_converters.py::test_int_converter[12-2-13-13-None] PASSED [ 85%]
tests/test_uri_converters.py::test_int_converter_malformed[0x0F] PASSED  [ 85%]
tests/test_uri_converters.py::test_int_converter_malformed[something] PASSED [ 85%]
tests/test_uri_converters.py::test_int_converter_malformed[] PASSED      [ 85%]
tests/test_uri_converters.py::test_int_converter_malformed[ ] PASSED     [ 85%]
tests/test_uri_converters.py::test_int_converter_malformed[123 ] PASSED  [ 85%]
tests/test_uri_converters.py::test_int_converter_malformed[123\t] PASSED [ 85%]
tests/test_uri_converters.py::test_int_converter_malformed[123\n] PASSED [ 85%]
tests/test_uri_converters.py::test_int_converter_malformed[123\r] PASSED [ 85%]
tests/test_uri_converters.py::test_int_converter_malformed[123\x0b] PASSED [ 85%]
tests/test_uri_converters.py::test_int_converter_malformed[123\x0c] PASSED [ 85%]
tests/test_uri_converters.py::test_int_converter_malformed[ 123] PASSED  [ 85%]
tests/test_uri_converters.py::test_int_converter_malformed[\t123] PASSED [ 85%]
tests/test_uri_converters.py::test_int_converter_malformed[\n123] PASSED [ 85%]
tests/test_uri_converters.py::test_int_converter_malformed[\r123] PASSED [ 85%]
tests/test_uri_converters.py::test_int_converter_malformed[\x0b123] PASSED [ 86%]
tests/test_uri_converters.py::test_int_converter_malformed[\x0c123] PASSED [ 86%]
tests/test_uri_converters.py::test_int_converter_invalid_config[0] PASSED [ 86%]
tests/test_uri_converters.py::test_int_converter_invalid_config[-1] PASSED [ 86%]
tests/test_uri_converters.py::test_int_converter_invalid_config[-10] PASSED [ 86%]
tests/test_uri_converters.py::test_datetime_converter[07-03-17-%m-%d-%y-expected0] PASSED [ 86%]
tests/test_uri_converters.py::test_datetime_converter[07-03-17 -%m-%d-%y -expected1] PASSED [ 86%]
tests/test_uri_converters.py::test_datetime_converter[2017-07-03T14:30:01Z-%Y-%m-%dT%H:%M:%SZ-expected2] PASSED [ 86%]
tests/test_uri_converters.py::test_datetime_converter[2017-07-03T14:30:01-%Y-%m-%dT%H:%M:%S-expected3] PASSED [ 86%]
tests/test_uri_converters.py::test_datetime_converter[2017_19-%Y_%H-expected4] PASSED [ 86%]
tests/test_uri_converters.py::test_datetime_converter[2017-07-03T14:30:01-%Y-%m-%dT%H:%M:%SZ-None] PASSED [ 86%]
tests/test_uri_converters.py::test_datetime_converter[07-03-17 -%m-%d-%y-None] PASSED [ 86%]
tests/test_uri_converters.py::test_datetime_converter[ 07-03-17-%m-%d-%y-None] PASSED [ 86%]
tests/test_uri_converters.py::test_datetime_converter[07 -03-17-%m-%d-%y-None] PASSED [ 86%]
tests/test_uri_converters.py::test_datetime_converter_default_format PASSED [ 86%]
tests/test_uri_converters.py::test_uuid_converter[aaae7fae-4f31-440e-ac21-debb8afa1a91-expected0] PASSED [ 86%]
tests/test_uri_converters.py::test_uuid_converter[aaae7fae4f31-440e-ac21-debb8afa1a91-expected1] PASSED [ 86%]
tests/test_uri_converters.py::test_uuid_converter[aaae7fae4f31440eac21debb8afa1a91-expected2] PASSED [ 86%]
tests/test_uri_converters.py::test_uuid_converter[urn:uuid:aaae7fae-4f31-440e-ac21-debb8afa1a91-expected3] PASSED [ 86%]
tests/test_uri_converters.py::test_uuid_converter[urn:uuid:aaae7fae4f31440eac21debb8afa1a91-expected4] PASSED [ 86%]
tests/test_uri_converters.py::test_uuid_converter[ -None] PASSED         [ 86%]
tests/test_uri_converters.py::test_uuid_converter[aaae7fae-4f31-440e-ac21-debb8afa1a91 -None] PASSED [ 86%]
tests/test_uri_converters.py::test_uuid_converter[ aaae7fae-4f31-440e-ac21-debb8afa1a91-None] PASSED [ 86%]
tests/test_uri_converters.py::test_uuid_converter[aaae7fae-4f31-440e-ac21-debb8afa1a9-None] PASSED [ 86%]
tests/test_uri_converters.py::test_uuid_converter[a-None] PASSED         [ 86%]
tests/test_uri_converters.py::test_uuid_converter[aaae7fae-4f31-440e-ac21-debb8afa1a9g-None] PASSED [ 86%]
tests/test_uri_converters.py::test_uuid_converter[aaae7fae_4f31_440e_ac21_debb8afa1a91-None] PASSED [ 86%]
tests/test_uri_templates.py::test_root_path[asgi] PASSED                 [ 86%]
tests/test_uri_templates.py::test_root_path[wsgi] PASSED                 [ 86%]
tests/test_uri_templates.py::test_no_vars[asgi] PASSED                   [ 86%]
tests/test_uri_templates.py::test_no_vars[wsgi] PASSED                   [ 86%]
tests/test_uri_templates.py::test_special_chars[asgi] PASSED             [ 86%]
tests/test_uri_templates.py::test_special_chars[wsgi] PASSED             [ 86%]
tests/test_uri_templates.py::test_single[asgi-id] PASSED                 [ 87%]
tests/test_uri_templates.py::test_single[asgi-id123] PASSED              [ 87%]
tests/test_uri_templates.py::test_single[asgi-widget_id] PASSED          [ 87%]
tests/test_uri_templates.py::test_single[wsgi-id] PASSED                 [ 87%]
tests/test_uri_templates.py::test_single[wsgi-id123] PASSED              [ 87%]
tests/test_uri_templates.py::test_single[wsgi-widget_id] PASSED          [ 87%]
tests/test_uri_templates.py::test_single_path_segment[asgi] PASSED       [ 87%]
tests/test_uri_templates.py::test_single_path_segment[wsgi] PASSED       [ 87%]
tests/test_uri_templates.py::test_int_converter[asgi-/{id:int}] PASSED   [ 87%]
tests/test_uri_templates.py::test_int_converter[asgi-/{id:int(3)}] PASSED [ 87%]
tests/test_uri_templates.py::test_int_converter[asgi-/{id:int(min=123)}] PASSED [ 87%]
tests/test_uri_templates.py::test_int_converter[asgi-/{id:int(min=123, max=123)}] PASSED [ 87%]
tests/test_uri_templates.py::test_int_converter[wsgi-/{id:int}] PASSED   [ 87%]
tests/test_uri_templates.py::test_int_converter[wsgi-/{id:int(3)}] PASSED [ 87%]
tests/test_uri_templates.py::test_int_converter[wsgi-/{id:int(min=123)}] PASSED [ 87%]
tests/test_uri_templates.py::test_int_converter[wsgi-/{id:int(min=123, max=123)}] PASSED [ 87%]
tests/test_uri_templates.py::test_int_converter_rejections[asgi-/{id:int(2)}] PASSED [ 87%]
tests/test_uri_templates.py::test_int_converter_rejections[asgi-/{id:int(min=124)}] PASSED [ 87%]
tests/test_uri_templates.py::test_int_converter_rejections[asgi-/{id:int(num_digits=3, max=100)}] PASSED [ 87%]
tests/test_uri_templates.py::test_int_converter_rejections[wsgi-/{id:int(2)}] PASSED [ 87%]
tests/test_uri_templates.py::test_int_converter_rejections[wsgi-/{id:int(min=124)}] PASSED [ 87%]
tests/test_uri_templates.py::test_int_converter_rejections[wsgi-/{id:int(num_digits=3, max=100)}] PASSED [ 87%]
tests/test_uri_templates.py::test_datetime_converter[asgi-/{start_year:int}-to-{timestamp:dt}-/1961-to-1969-07-21T02:56:00Z-dt_expected0] PASSED [ 87%]
tests/test_uri_templates.py::test_datetime_converter[asgi-/{start_year:int}-to-{timestamp:dt("%Y-%m-%d")}-/1961-to-1969-07-21-dt_expected1] PASSED [ 87%]
tests/test_uri_templates.py::test_datetime_converter[asgi-/{start_year:int}/{timestamp:dt("%Y-%m-%d %H:%M")}-/1961/1969-07-21 14:30-dt_expected2] PASSED [ 87%]
tests/test_uri_templates.py::test_datetime_converter[asgi-/{start_year:int}-to-{timestamp:dt("%Y-%m")}-/1961-to-1969-07-21-None] PASSED [ 87%]
tests/test_uri_templates.py::test_datetime_converter[wsgi-/{start_year:int}-to-{timestamp:dt}-/1961-to-1969-07-21T02:56:00Z-dt_expected0] PASSED [ 87%]
tests/test_uri_templates.py::test_datetime_converter[wsgi-/{start_year:int}-to-{timestamp:dt("%Y-%m-%d")}-/1961-to-1969-07-21-dt_expected1] PASSED [ 87%]
tests/test_uri_templates.py::test_datetime_converter[wsgi-/{start_year:int}/{timestamp:dt("%Y-%m-%d %H:%M")}-/1961/1969-07-21 14:30-dt_expected2] PASSED [ 87%]
tests/test_uri_templates.py::test_datetime_converter[wsgi-/{start_year:int}-to-{timestamp:dt("%Y-%m")}-/1961-to-1969-07-21-None] PASSED [ 87%]
tests/test_uri_templates.py::test_uuid_converter[asgi-/widgets/{widget_id:uuid}-/widgets/eaa18961-80f3-482b-98e7-ef134fcd65fa-expected0] PASSED [ 87%]
tests/test_uri_templates.py::test_uuid_converter[asgi-/widgets/{widget_id:uuid}/orders-/widgets/eaa1896180f3482b98e7ef134fcd65fa/orders-expected1] PASSED [ 87%]
tests/test_uri_templates.py::test_uuid_converter[asgi-/versions/diff/{left:uuid()}...{right:uuid()}-/versions/diff/eaa18961-80f3-482b-98e7-ef134fcd65fa...e90d2467-ee4c-4b4b-903f-deb6d03e0b3b-expected2] PASSED [ 87%]
tests/test_uri_templates.py::test_uuid_converter[asgi-/versions/diff/{left:uuid}...{right:uuid()}-/versions/diff/eaa18961-80f3-482b-98e7-ef134fcd65fa...e90d2467-ee4c-4b4b-903f-deb6d03e0b3b-expected3] PASSED [ 88%]
tests/test_uri_templates.py::test_uuid_converter[asgi-/versions/diff/{left:uuid()}...{right:uuid}-/versions/diff/eaa18961-80f3-482b-98e7-ef134fcd65fa...e90d2467-ee4c-4b4b-903f-deb6d03e0b3b-expected4] PASSED [ 88%]
tests/test_uri_templates.py::test_uuid_converter[asgi-/widgets/{widget_id:uuid}/orders-/widgets/eaa1896180f3482b98e7ef134fcd65f/orders-None] PASSED [ 88%]
tests/test_uri_templates.py::test_uuid_converter[wsgi-/widgets/{widget_id:uuid}-/widgets/eaa18961-80f3-482b-98e7-ef134fcd65fa-expected0] PASSED [ 88%]
tests/test_uri_templates.py::test_uuid_converter[wsgi-/widgets/{widget_id:uuid}/orders-/widgets/eaa1896180f3482b98e7ef134fcd65fa/orders-expected1] PASSED [ 88%]
tests/test_uri_templates.py::test_uuid_converter[wsgi-/versions/diff/{left:uuid()}...{right:uuid()}-/versions/diff/eaa18961-80f3-482b-98e7-ef134fcd65fa...e90d2467-ee4c-4b4b-903f-deb6d03e0b3b-expected2] PASSED [ 88%]
tests/test_uri_templates.py::test_uuid_converter[wsgi-/versions/diff/{left:uuid}...{right:uuid()}-/versions/diff/eaa18961-80f3-482b-98e7-ef134fcd65fa...e90d2467-ee4c-4b4b-903f-deb6d03e0b3b-expected3] PASSED [ 88%]
tests/test_uri_templates.py::test_uuid_converter[wsgi-/versions/diff/{left:uuid()}...{right:uuid}-/versions/diff/eaa18961-80f3-482b-98e7-ef134fcd65fa...e90d2467-ee4c-4b4b-903f-deb6d03e0b3b-expected4] PASSED [ 88%]
tests/test_uri_templates.py::test_uuid_converter[wsgi-/widgets/{widget_id:uuid}/orders-/widgets/eaa1896180f3482b98e7ef134fcd65f/orders-None] PASSED [ 88%]
tests/test_uri_templates.py::test_uuid_converter_complex_segment[asgi] PASSED [ 88%]
tests/test_uri_templates.py::test_uuid_converter_complex_segment[wsgi] PASSED [ 88%]
tests/test_uri_templates.py::test_converter_custom[asgi-/{food:spam}-/something-expected0] PASSED [ 88%]
tests/test_uri_templates.py::test_converter_custom[asgi-/{food:spam(")")}:{food_too:spam("()")}-/bacon:eggs-expected1] PASSED [ 88%]
tests/test_uri_templates.py::test_converter_custom[asgi-/({food:spam()}){food_too:spam("()")}-/(bacon)eggs-expected2] PASSED [ 88%]
tests/test_uri_templates.py::test_converter_custom[wsgi-/{food:spam}-/something-expected0] PASSED [ 88%]
tests/test_uri_templates.py::test_converter_custom[wsgi-/{food:spam(")")}:{food_too:spam("()")}-/bacon:eggs-expected1] PASSED [ 88%]
tests/test_uri_templates.py::test_converter_custom[wsgi-/({food:spam()}){food_too:spam("()")}-/(bacon)eggs-expected2] PASSED [ 88%]
tests/test_uri_templates.py::test_single_trailing_slash[asgi] PASSED     [ 88%]
tests/test_uri_templates.py::test_single_trailing_slash[wsgi] PASSED     [ 88%]
tests/test_uri_templates.py::test_multiple[asgi] PASSED                  [ 88%]
tests/test_uri_templates.py::test_multiple[wsgi] PASSED                  [ 88%]
tests/test_uri_templates.py::test_empty_path_component[asgi-//] PASSED   [ 88%]
tests/test_uri_templates.py::test_empty_path_component[asgi-//begin] PASSED [ 88%]
tests/test_uri_templates.py::test_empty_path_component[asgi-/end//] PASSED [ 88%]
tests/test_uri_templates.py::test_empty_path_component[asgi-/in//side] PASSED [ 88%]
tests/test_uri_templates.py::test_empty_path_component[wsgi-//] PASSED   [ 88%]
tests/test_uri_templates.py::test_empty_path_component[wsgi-//begin] PASSED [ 88%]
tests/test_uri_templates.py::test_empty_path_component[wsgi-/end//] PASSED [ 88%]
tests/test_uri_templates.py::test_empty_path_component[wsgi-/in//side] PASSED [ 88%]
tests/test_uri_templates.py::test_relative_path[asgi-] PASSED            [ 88%]
tests/test_uri_templates.py::test_relative_path[asgi-no] PASSED          [ 88%]
tests/test_uri_templates.py::test_relative_path[asgi-no/leading_slash] PASSED [ 88%]
tests/test_uri_templates.py::test_relative_path[wsgi-] PASSED            [ 88%]
tests/test_uri_templates.py::test_relative_path[wsgi-no] PASSED          [ 88%]
tests/test_uri_templates.py::test_relative_path[wsgi-no/leading_slash] PASSED [ 89%]
tests/test_uri_templates.py::test_same_level_complex_var[asgi-True] PASSED [ 89%]
tests/test_uri_templates.py::test_same_level_complex_var[asgi-False] PASSED [ 89%]
tests/test_uri_templates.py::test_same_level_complex_var[wsgi-True] PASSED [ 89%]
tests/test_uri_templates.py::test_same_level_complex_var[wsgi-False] PASSED [ 89%]
tests/test_uri_templates.py::test_adding_suffix_routes[asgi] PASSED      [ 89%]
tests/test_uri_templates.py::test_adding_suffix_routes[wsgi] PASSED      [ 89%]
tests/test_uri_templates.py::test_with_and_without_trailing_slash[asgi-True] PASSED [ 89%]
tests/test_uri_templates.py::test_with_and_without_trailing_slash[asgi-False] PASSED [ 89%]
tests/test_uri_templates.py::test_with_and_without_trailing_slash[wsgi-True] PASSED [ 89%]
tests/test_uri_templates.py::test_with_and_without_trailing_slash[wsgi-False] PASSED [ 89%]
tests/test_uri_templates.py::test_custom_error_on_suffix_route_not_found[asgi] PASSED [ 89%]
tests/test_uri_templates.py::test_custom_error_on_suffix_route_not_found[wsgi] PASSED [ 89%]
tests/test_uri_templates_legacy.py::TestUriTemplates::test_string_type_required[42] PASSED [ 89%]
tests/test_uri_templates_legacy.py::TestUriTemplates::test_string_type_required[App] PASSED [ 89%]
tests/test_uri_templates_legacy.py::TestUriTemplates::test_template_must_start_with_slash[this] PASSED [ 89%]
tests/test_uri_templates_legacy.py::TestUriTemplates::test_template_must_start_with_slash[this/that] PASSED [ 89%]
tests/test_uri_templates_legacy.py::TestUriTemplates::test_template_may_not_contain_double_slash[//] PASSED [ 89%]
tests/test_uri_templates_legacy.py::TestUriTemplates::test_template_may_not_contain_double_slash[a//] PASSED [ 89%]
tests/test_uri_templates_legacy.py::TestUriTemplates::test_template_may_not_contain_double_slash[//b] PASSED [ 89%]
tests/test_uri_templates_legacy.py::TestUriTemplates::test_template_may_not_contain_double_slash[a//b] PASSED [ 89%]
tests/test_uri_templates_legacy.py::TestUriTemplates::test_template_may_not_contain_double_slash[a/b//] PASSED [ 89%]
tests/test_uri_templates_legacy.py::TestUriTemplates::test_template_may_not_contain_double_slash[a/b//c] PASSED [ 89%]
tests/test_uri_templates_legacy.py::TestUriTemplates::test_root PASSED   [ 89%]
tests/test_uri_templates_legacy.py::TestUriTemplates::test_no_fields[/hello] PASSED [ 89%]
tests/test_uri_templates_legacy.py::TestUriTemplates::test_no_fields[/hello/world] PASSED [ 89%]
tests/test_uri_templates_legacy.py::TestUriTemplates::test_no_fields[/hi/there/how/are/you] PASSED [ 89%]
tests/test_uri_templates_legacy.py::TestUriTemplates::test_one_field PASSED [ 89%]
tests/test_uri_templates_legacy.py::TestUriTemplates::test_one_field_with_digits PASSED [ 89%]
tests/test_uri_templates_legacy.py::TestUriTemplates::test_one_field_with_prefixed_digits PASSED [ 89%]
tests/test_uri_templates_legacy.py::TestUriTemplates::test_two_fields[] PASSED [ 89%]
tests/test_uri_templates_legacy.py::TestUriTemplates::test_two_fields[/] PASSED [ 89%]
tests/test_uri_templates_legacy.py::TestUriTemplates::test_three_fields PASSED [ 89%]
tests/test_uri_templates_legacy.py::TestUriTemplates::test_malformed_field PASSED [ 90%]
tests/test_uri_templates_legacy.py::TestUriTemplates::test_deprecated_warning PASSED [ 90%]
tests/test_utils.py::TestFalconUtils::test_deprecated_decorator PASSED   [ 90%]
tests/test_utils.py::TestFalconUtils::test_http_now PASSED               [ 90%]
tests/test_utils.py::TestFalconUtils::test_dt_to_http PASSED             [ 90%]
tests/test_utils.py::TestFalconUtils::test_http_date_to_dt PASSED        [ 90%]
tests/test_utils.py::TestFalconUtils::test_pack_query_params_none PASSED [ 90%]
tests/test_utils.py::TestFalconUtils::test_pack_query_params_one PASSED  [ 90%]
tests/test_utils.py::TestFalconUtils::test_pack_query_params_several PASSED [ 90%]
tests/test_utils.py::TestFalconUtils::test_to_query_str_encoding[params0-True] PASSED [ 90%]
tests/test_utils.py::TestFalconUtils::test_to_query_str_encoding[params0-False] PASSED [ 90%]
tests/test_utils.py::TestFalconUtils::test_to_query_str_encoding[params1-True] PASSED [ 90%]
tests/test_utils.py::TestFalconUtils::test_to_query_str_encoding[params1-False] PASSED [ 90%]
tests/test_utils.py::TestFalconUtils::test_to_query_str_encoding[params2-True] PASSED [ 90%]
tests/test_utils.py::TestFalconUtils::test_to_query_str_encoding[params2-False] PASSED [ 90%]
tests/test_utils.py::TestFalconUtils::test_to_query_str_encoding[params3-True] PASSED [ 90%]
tests/test_utils.py::TestFalconUtils::test_to_query_str_encoding[params3-False] PASSED [ 90%]
tests/test_utils.py::TestFalconUtils::test_to_query_str_encoding[params4-True] PASSED [ 90%]
tests/test_utils.py::TestFalconUtils::test_to_query_str_encoding[params4-False] PASSED [ 90%]
tests/test_utils.py::TestFalconUtils::test_uri_encode PASSED             [ 90%]
tests/test_utils.py::TestFalconUtils::test_uri_encode_double PASSED      [ 90%]
tests/test_utils.py::TestFalconUtils::test_uri_encode_value PASSED       [ 90%]
tests/test_utils.py::TestFalconUtils::test_uri_decode[bytearray] PASSED  [ 90%]
tests/test_utils.py::TestFalconUtils::test_uri_decode[join_list] PASSED  [ 90%]
tests/test_utils.py::TestFalconUtils::test_uri_decode_bad_coding[bytearray-ab%2Gcd-ab%2Gcd] PASSED [ 90%]
tests/test_utils.py::TestFalconUtils::test_uri_decode_bad_coding[bytearray-ab%2Fcd: 100% coverage-ab/cd: 100% coverage] PASSED [ 90%]
tests/test_utils.py::TestFalconUtils::test_uri_decode_bad_coding[bytearray-%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s-%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s] PASSED [ 90%]
tests/test_utils.py::TestFalconUtils::test_uri_decode_bad_coding[join_list-ab%2Gcd-ab%2Gcd] PASSED [ 90%]
tests/test_utils.py::TestFalconUtils::test_uri_decode_bad_coding[join_list-ab%2Fcd: 100% coverage-ab/cd: 100% coverage] PASSED [ 90%]
tests/test_utils.py::TestFalconUtils::test_uri_decode_bad_coding[join_list-%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s-%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s] PASSED [ 90%]
tests/test_utils.py::TestFalconUtils::test_uri_decode_bad_unicode[bytearray-+%80- \ufffd] PASSED [ 90%]
tests/test_utils.py::TestFalconUtils::test_uri_decode_bad_unicode[bytearray-+++%FF+++-   \ufffd   ] PASSED [ 90%]
tests/test_utils.py::TestFalconUtils::test_uri_decode_bad_unicode[bytearray-%fc%83%bf%bf%bf%bf-\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd] PASSED [ 90%]
tests/test_utils.py::TestFalconUtils::test_uri_decode_bad_unicode[bytearray-%ed%ae%80%ed%b0%80-\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd] PASSED [ 91%]
tests/test_utils.py::TestFalconUtils::test_uri_decode_bad_unicode[join_list-+%80- \ufffd] PASSED [ 91%]
tests/test_utils.py::TestFalconUtils::test_uri_decode_bad_unicode[join_list-+++%FF+++-   \ufffd   ] PASSED [ 91%]
tests/test_utils.py::TestFalconUtils::test_uri_decode_bad_unicode[join_list-%fc%83%bf%bf%bf%bf-\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd] PASSED [ 91%]
tests/test_utils.py::TestFalconUtils::test_uri_decode_bad_unicode[join_list-%ed%ae%80%ed%b0%80-\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd] PASSED [ 91%]
tests/test_utils.py::TestFalconUtils::test_uri_decode_unquote_plus[bytearray] PASSED [ 91%]
tests/test_utils.py::TestFalconUtils::test_uri_decode_unquote_plus[join_list] PASSED [ 91%]
tests/test_utils.py::TestFalconUtils::test_prop_uri_encode_models_stdlib_quote PASSED [ 91%]
tests/test_utils.py::TestFalconUtils::test_prop_uri_encode_value_models_stdlib_quote_safe_tilde PASSED [ 91%]
tests/test_utils.py::TestFalconUtils::test_prop_uri_decode_models_stdlib_unquote_plus PASSED [ 91%]
tests/test_utils.py::TestFalconUtils::test_unquote_string PASSED         [ 91%]
tests/test_utils.py::TestFalconUtils::test_parse_query_string PASSED     [ 91%]
tests/test_utils.py::TestFalconUtils::test_parse_query_string_edge_cases[-True-expected0] PASSED [ 91%]
tests/test_utils.py::TestFalconUtils::test_parse_query_string_edge_cases[-False-expected1] PASSED [ 91%]
tests/test_utils.py::TestFalconUtils::test_parse_query_string_edge_cases[flag1&&&&&flag2&&&-True-expected2] PASSED [ 91%]
tests/test_utils.py::TestFalconUtils::test_parse_query_string_edge_cases[flag1&&&&&flag2&&&-False-expected3] PASSED [ 91%]
tests/test_utils.py::TestFalconUtils::test_parse_query_string_edge_cases[malformed=%FG%1%Hi%%%a-False-expected4] PASSED [ 91%]
tests/test_utils.py::TestFalconUtils::test_parse_query_string_edge_cases[=-False-expected5] PASSED [ 91%]
tests/test_utils.py::TestFalconUtils::test_parse_query_string_edge_cases[==-False-expected6] PASSED [ 91%]
tests/test_utils.py::TestFalconUtils::test_parse_query_string_edge_cases[%==+==&&&&&&&&&%%==+=&&&&&&%0g%=%=-False-expected7] PASSED [ 91%]
tests/test_utils.py::TestFalconUtils::test_parse_query_string_edge_cases[%=&%%=&&%%%=-False-expected8] PASSED [ 91%]
tests/test_utils.py::TestFalconUtils::test_parse_query_string_edge_cases[%=&%%=&&%%%=-True-expected9] PASSED [ 91%]
tests/test_utils.py::TestFalconUtils::test_parse_query_string_edge_cases[+=&%+=&&%++=-True-expected10] PASSED [ 91%]
tests/test_utils.py::TestFalconUtils::test_parse_query_string_edge_cases[=x=&=x=+1=x=&%=x-False-expected11] PASSED [ 91%]
tests/test_utils.py::TestFalconUtils::test_parse_query_string_edge_cases[%=+&%=&+%+=&%+&=%&=+%&+==%+&=%&+=+%&=+&%=&%+=&+%+%=&+%&=+=%&+=&%+&%=+&=%&%=+&%+=&=%+&=+%&+%=&+=%-False-expected12] PASSED [ 91%]
tests/test_utils.py::TestFalconUtils::test_parse_query_string_edge_cases[%%%\x00%\x00==\x00\x00==-True-expected13] PASSED [ 91%]
tests/test_utils.py::TestFalconUtils::test_parse_query_string_edge_cases[spade=\u2660&spade=\u2660-False-expected14] PASSED [ 91%]
tests/test_utils.py::TestFalconUtils::test_parse_host PASSED             [ 91%]
tests/test_utils.py::TestFalconUtils::test_get_http_status_warns PASSED  [ 91%]
tests/test_utils.py::TestFalconUtils::test_get_http_status PASSED        [ 91%]
tests/test_utils.py::TestFalconUtils::test_code_to_http_status[703-703 Explosion] PASSED [ 91%]
tests/test_utils.py::TestFalconUtils::test_code_to_http_status[404-404 Not Found] PASSED [ 91%]
tests/test_utils.py::TestFalconUtils::test_code_to_http_status[404.9-404 Not Found] PASSED [ 91%]
tests/test_utils.py::TestFalconUtils::test_code_to_http_status[200 OK-200 OK0] PASSED [ 92%]
tests/test_utils.py::TestFalconUtils::test_code_to_http_status[307 Temporary Redirect-307 Temporary Redirect] PASSED [ 92%]
tests/test_utils.py::TestFalconUtils::test_code_to_http_status[404 Not Found-404 Not Found] PASSED [ 92%]
tests/test_utils.py::TestFalconUtils::test_code_to_http_status[123-123 Unknown] PASSED [ 92%]
tests/test_utils.py::TestFalconUtils::test_code_to_http_status[123 Wow Such Status-123 Wow Such Status0] PASSED [ 92%]
tests/test_utils.py::TestFalconUtils::test_code_to_http_status[123 Wow Such Status-123 Wow Such Status1] PASSED [ 92%]
tests/test_utils.py::TestFalconUtils::test_code_to_http_status[200 OK-200 OK1] PASSED [ 92%]
tests/test_utils.py::TestFalconUtils::test_code_to_http_status[200-200 OK] PASSED [ 92%]
tests/test_utils.py::TestFalconUtils::test_code_to_http_status[307-307 Temporary Redirect] PASSED [ 92%]
tests/test_utils.py::TestFalconUtils::test_code_to_http_status[401-401 Unauthorized] PASSED [ 92%]
tests/test_utils.py::TestFalconUtils::test_code_to_http_status[410-410 Gone] PASSED [ 92%]
tests/test_utils.py::TestFalconUtils::test_code_to_http_status[429-429 Too Many Requests] PASSED [ 92%]
tests/test_utils.py::TestFalconUtils::test_code_to_http_status[500-500 Internal Server Error] PASSED [ 92%]
tests/test_utils.py::TestFalconUtils::test_code_to_http_status_value_error[0] PASSED [ 92%]
tests/test_utils.py::TestFalconUtils::test_code_to_http_status_value_error[13] PASSED [ 92%]
tests/test_utils.py::TestFalconUtils::test_code_to_http_status_value_error[99] PASSED [ 92%]
tests/test_utils.py::TestFalconUtils::test_code_to_http_status_value_error[1000] PASSED [ 92%]
tests/test_utils.py::TestFalconUtils::test_code_to_http_status_value_error[1337.01] PASSED [ 92%]
tests/test_utils.py::TestFalconUtils::test_code_to_http_status_value_error[-99] PASSED [ 92%]
tests/test_utils.py::TestFalconUtils::test_code_to_http_status_value_error[-404.3_0] PASSED [ 92%]
tests/test_utils.py::TestFalconUtils::test_code_to_http_status_value_error[-404] PASSED [ 92%]
tests/test_utils.py::TestFalconUtils::test_code_to_http_status_value_error[-404.3_1] PASSED [ 92%]
tests/test_utils.py::TestFalconUtils::test_http_status_to_code[505-505_0] PASSED [ 92%]
tests/test_utils.py::TestFalconUtils::test_http_status_to_code[712-712_0] PASSED [ 92%]
tests/test_utils.py::TestFalconUtils::test_http_status_to_code[712-712_1] PASSED [ 92%]
tests/test_utils.py::TestFalconUtils::test_http_status_to_code[404 Not Found-404_0] PASSED [ 92%]
tests/test_utils.py::TestFalconUtils::test_http_status_to_code[712 NoSQL-712] PASSED [ 92%]
tests/test_utils.py::TestFalconUtils::test_http_status_to_code[404 Not Found-404_1] PASSED [ 92%]
tests/test_utils.py::TestFalconUtils::test_http_status_to_code[123 Wow Such Status-123_0] PASSED [ 92%]
tests/test_utils.py::TestFalconUtils::test_http_status_to_code[505-505_1] PASSED [ 92%]
tests/test_utils.py::TestFalconUtils::test_http_status_to_code[123 Wow Such Status-123_1] PASSED [ 92%]
tests/test_utils.py::TestFalconUtils::test_http_status_to_code_neg[0] PASSED [ 92%]
tests/test_utils.py::TestFalconUtils::test_http_status_to_code_neg[ ] PASSED [ 92%]
tests/test_utils.py::TestFalconUtils::test_http_status_to_code_neg[1] PASSED [ 93%]
tests/test_utils.py::TestFalconUtils::test_http_status_to_code_neg[12] PASSED [ 93%]
tests/test_utils.py::TestFalconUtils::test_http_status_to_code_neg[99] PASSED [ 93%]
tests/test_utils.py::TestFalconUtils::test_http_status_to_code_neg[catsup] PASSED [ 93%]
tests/test_utils.py::TestFalconUtils::test_http_status_to_code_neg[2] PASSED [ 93%]
tests/test_utils.py::TestFalconUtils::test_http_status_to_code_neg[5.2] PASSED [ 93%]
tests/test_utils.py::TestFalconUtils::test_etag_dumps_to_header_format PASSED [ 93%]
tests/test_utils.py::TestFalconUtils::test_etag_strong_vs_weak_comparison PASSED [ 93%]
tests/test_utils.py::TestFalconUtils::test_secure_filename[.-_] PASSED   [ 93%]
tests/test_utils.py::TestFalconUtils::test_secure_filename[..-_.] PASSED [ 93%]
tests/test_utils.py::TestFalconUtils::test_secure_filename[hello.txt-hello.txt] PASSED [ 93%]
tests/test_utils.py::TestFalconUtils::test_secure_filename[\u0104\u017euolai \u017ealiuos.jpeg-A_z_uolai_z_aliuos.jpeg] PASSED [ 93%]
tests/test_utils.py::TestFalconUtils::test_secure_filename[/etc/shadow-_etc_shadow] PASSED [ 93%]
tests/test_utils.py::TestFalconUtils::test_secure_filename[. \u2b05 a dot-____a_dot] PASSED [ 93%]
tests/test_utils.py::TestFalconUtils::test_secure_filename[C:\\Windows\\kernel32.dll-C__Windows_kernel32.dll] PASSED [ 93%]
tests/test_utils.py::TestFalconUtils::test_secure_filename_empty_value PASSED [ 93%]
tests/test_utils.py::TestFalconUtils::test_misc_isascii[isascii--True] PASSED [ 93%]
tests/test_utils.py::TestFalconUtils::test_misc_isascii[isascii-/-True] PASSED [ 93%]
tests/test_utils.py::TestFalconUtils::test_misc_isascii[isascii-/api-True] PASSED [ 93%]
tests/test_utils.py::TestFalconUtils::test_misc_isascii[isascii-/data/items/something?query=apples%20and%20oranges-True] PASSED [ 93%]
tests/test_utils.py::TestFalconUtils::test_misc_isascii[isascii-/food?item=\xf0\x9f\x8d\x94-False] PASSED [ 93%]
tests/test_utils.py::TestFalconUtils::test_misc_isascii[isascii-\x00\x00\x7f\x00\x00\x7f\x00-True] PASSED [ 93%]
tests/test_utils.py::TestFalconUtils::test_misc_isascii[isascii-\x00\x00\x7f\x00\x00\x80\x00-False] PASSED [ 93%]
tests/test_utils.py::TestFalconUtils::test_misc_isascii[_isascii--True] PASSED [ 93%]
tests/test_utils.py::TestFalconUtils::test_misc_isascii[_isascii-/-True] PASSED [ 93%]
tests/test_utils.py::TestFalconUtils::test_misc_isascii[_isascii-/api-True] PASSED [ 93%]
tests/test_utils.py::TestFalconUtils::test_misc_isascii[_isascii-/data/items/something?query=apples%20and%20oranges-True] PASSED [ 93%]
tests/test_utils.py::TestFalconUtils::test_misc_isascii[_isascii-/food?item=\xf0\x9f\x8d\x94-False] PASSED [ 93%]
tests/test_utils.py::TestFalconUtils::test_misc_isascii[_isascii-\x00\x00\x7f\x00\x00\x7f\x00-True] PASSED [ 93%]
tests/test_utils.py::TestFalconUtils::test_misc_isascii[_isascii-\x00\x00\x7f\x00\x00\x80\x00-False] PASSED [ 93%]
tests/test_utils.py::test_simulate_request_protocol[asgi-https-CONNECT] PASSED [ 93%]
tests/test_utils.py::test_simulate_request_protocol[asgi-https-DELETE] PASSED [ 93%]
tests/test_utils.py::test_simulate_request_protocol[asgi-https-GET] PASSED [ 93%]
tests/test_utils.py::test_simulate_request_protocol[asgi-https-HEAD] PASSED [ 94%]
tests/test_utils.py::test_simulate_request_protocol[asgi-https-OPTIONS] PASSED [ 94%]
tests/test_utils.py::test_simulate_request_protocol[asgi-https-PATCH] PASSED [ 94%]
tests/test_utils.py::test_simulate_request_protocol[asgi-https-POST] PASSED [ 94%]
tests/test_utils.py::test_simulate_request_protocol[asgi-https-PUT] PASSED [ 94%]
tests/test_utils.py::test_simulate_request_protocol[asgi-https-TRACE] PASSED [ 94%]
tests/test_utils.py::test_simulate_request_protocol[asgi-http-CONNECT] PASSED [ 94%]
tests/test_utils.py::test_simulate_request_protocol[asgi-http-DELETE] PASSED [ 94%]
tests/test_utils.py::test_simulate_request_protocol[asgi-http-GET] PASSED [ 94%]
tests/test_utils.py::test_simulate_request_protocol[asgi-http-HEAD] PASSED [ 94%]
tests/test_utils.py::test_simulate_request_protocol[asgi-http-OPTIONS] PASSED [ 94%]
tests/test_utils.py::test_simulate_request_protocol[asgi-http-PATCH] PASSED [ 94%]
tests/test_utils.py::test_simulate_request_protocol[asgi-http-POST] PASSED [ 94%]
tests/test_utils.py::test_simulate_request_protocol[asgi-http-PUT] PASSED [ 94%]
tests/test_utils.py::test_simulate_request_protocol[asgi-http-TRACE] PASSED [ 94%]
tests/test_utils.py::test_simulate_request_protocol[wsgi-https-CONNECT] PASSED [ 94%]
tests/test_utils.py::test_simulate_request_protocol[wsgi-https-DELETE] PASSED [ 94%]
tests/test_utils.py::test_simulate_request_protocol[wsgi-https-GET] PASSED [ 94%]
tests/test_utils.py::test_simulate_request_protocol[wsgi-https-HEAD] PASSED [ 94%]
tests/test_utils.py::test_simulate_request_protocol[wsgi-https-OPTIONS] PASSED [ 94%]
tests/test_utils.py::test_simulate_request_protocol[wsgi-https-PATCH] PASSED [ 94%]
tests/test_utils.py::test_simulate_request_protocol[wsgi-https-POST] PASSED [ 94%]
tests/test_utils.py::test_simulate_request_protocol[wsgi-https-PUT] PASSED [ 94%]
tests/test_utils.py::test_simulate_request_protocol[wsgi-https-TRACE] PASSED [ 94%]
tests/test_utils.py::test_simulate_request_protocol[wsgi-http-CONNECT] PASSED [ 94%]
tests/test_utils.py::test_simulate_request_protocol[wsgi-http-DELETE] PASSED [ 94%]
tests/test_utils.py::test_simulate_request_protocol[wsgi-http-GET] PASSED [ 94%]
tests/test_utils.py::test_simulate_request_protocol[wsgi-http-HEAD] PASSED [ 94%]
tests/test_utils.py::test_simulate_request_protocol[wsgi-http-OPTIONS] PASSED [ 94%]
tests/test_utils.py::test_simulate_request_protocol[wsgi-http-PATCH] PASSED [ 94%]
tests/test_utils.py::test_simulate_request_protocol[wsgi-http-POST] PASSED [ 94%]
tests/test_utils.py::test_simulate_request_protocol[wsgi-http-PUT] PASSED [ 94%]
tests/test_utils.py::test_simulate_request_protocol[wsgi-http-TRACE] PASSED [ 94%]
tests/test_utils.py::test_simulate_free_functions[asgi-simulate_get] PASSED [ 95%]
tests/test_utils.py::test_simulate_free_functions[asgi-simulate_head] PASSED [ 95%]
tests/test_utils.py::test_simulate_free_functions[asgi-simulate_post] PASSED [ 95%]
tests/test_utils.py::test_simulate_free_functions[asgi-simulate_put] PASSED [ 95%]
tests/test_utils.py::test_simulate_free_functions[asgi-simulate_options] PASSED [ 95%]
tests/test_utils.py::test_simulate_free_functions[asgi-simulate_patch] PASSED [ 95%]
tests/test_utils.py::test_simulate_free_functions[asgi-simulate_delete] PASSED [ 95%]
tests/test_utils.py::test_simulate_free_functions[wsgi-simulate_get] PASSED [ 95%]
tests/test_utils.py::test_simulate_free_functions[wsgi-simulate_head] PASSED [ 95%]
tests/test_utils.py::test_simulate_free_functions[wsgi-simulate_post] PASSED [ 95%]
tests/test_utils.py::test_simulate_free_functions[wsgi-simulate_put] PASSED [ 95%]
tests/test_utils.py::test_simulate_free_functions[wsgi-simulate_options] PASSED [ 95%]
tests/test_utils.py::test_simulate_free_functions[wsgi-simulate_patch] PASSED [ 95%]
tests/test_utils.py::test_simulate_free_functions[wsgi-simulate_delete] PASSED [ 95%]
tests/test_utils.py::TestFalconTestingUtils::test_path_escape_chars_in_create_environ PASSED [ 95%]
tests/test_utils.py::TestFalconTestingUtils::test_no_prefix_allowed_for_query_strings_in_create_environ PASSED [ 95%]
tests/test_utils.py::TestFalconTestingUtils::test_plus_in_path_in_create_environ PASSED [ 95%]
tests/test_utils.py::TestFalconTestingUtils::test_none_header_value_in_create_environ PASSED [ 95%]
tests/test_utils.py::TestFalconTestingUtils::test_decode_empty_result[asgi] PASSED [ 95%]
tests/test_utils.py::TestFalconTestingUtils::test_decode_empty_result[wsgi] PASSED [ 95%]
tests/test_utils.py::TestFalconTestingUtils::test_httpnow_alias_for_backwards_compat PASSED [ 95%]
tests/test_utils.py::TestFalconTestingUtils::test_default_headers[asgi] PASSED [ 95%]
tests/test_utils.py::TestFalconTestingUtils::test_default_headers[wsgi] PASSED [ 95%]
tests/test_utils.py::TestFalconTestingUtils::test_default_headers_with_override[asgi] PASSED [ 95%]
tests/test_utils.py::TestFalconTestingUtils::test_default_headers_with_override[wsgi] PASSED [ 95%]
tests/test_utils.py::TestFalconTestingUtils::test_status[asgi] PASSED    [ 95%]
tests/test_utils.py::TestFalconTestingUtils::test_status[wsgi] PASSED    [ 95%]
tests/test_utils.py::TestFalconTestingUtils::test_wsgi_iterable_not_closeable PASSED [ 95%]
tests/test_utils.py::TestFalconTestingUtils::test_path_must_start_with_slash[asgi] PASSED [ 95%]
tests/test_utils.py::TestFalconTestingUtils::test_path_must_start_with_slash[wsgi] PASSED [ 95%]
tests/test_utils.py::TestFalconTestingUtils::test_cached_text_in_result[asgi] PASSED [ 95%]
tests/test_utils.py::TestFalconTestingUtils::test_cached_text_in_result[wsgi] PASSED [ 95%]
tests/test_utils.py::TestFalconTestingUtils::test_simple_resource_body_json_xor[SimpleTestResource] PASSED [ 95%]
tests/test_utils.py::TestFalconTestingUtils::test_simple_resource_body_json_xor[SimpleTestResourceAsync] PASSED [ 96%]
tests/test_utils.py::TestFalconTestingUtils::test_query_string[asgi] PASSED [ 96%]
tests/test_utils.py::TestFalconTestingUtils::test_query_string[wsgi] PASSED [ 96%]
tests/test_utils.py::TestFalconTestingUtils::test_query_string_no_question[asgi] PASSED [ 96%]
tests/test_utils.py::TestFalconTestingUtils::test_query_string_no_question[wsgi] PASSED [ 96%]
tests/test_utils.py::TestFalconTestingUtils::test_query_string_in_path[asgi] PASSED [ 96%]
tests/test_utils.py::TestFalconTestingUtils::test_query_string_in_path[wsgi] PASSED [ 96%]
tests/test_utils.py::TestFalconTestingUtils::test_simulate_json_body[asgi-16.0625] PASSED [ 96%]
tests/test_utils.py::TestFalconTestingUtils::test_simulate_json_body[asgi-123456789] PASSED [ 96%]
tests/test_utils.py::TestFalconTestingUtils::test_simulate_json_body[asgi-True] PASSED [ 96%]
tests/test_utils.py::TestFalconTestingUtils::test_simulate_json_body[asgi-] PASSED [ 96%]
tests/test_utils.py::TestFalconTestingUtils::test_simulate_json_body[asgi-I am a \u1d0a\ua731\u1d0f\u0274 string.] PASSED [ 96%]
tests/test_utils.py::TestFalconTestingUtils::test_simulate_json_body[asgi-document5] PASSED [ 96%]
tests/test_utils.py::TestFalconTestingUtils::test_simulate_json_body[asgi-document6] PASSED [ 96%]
tests/test_utils.py::TestFalconTestingUtils::test_simulate_json_body[asgi-document7] PASSED [ 96%]
tests/test_utils.py::TestFalconTestingUtils::test_simulate_json_body[wsgi-16.0625] PASSED [ 96%]
tests/test_utils.py::TestFalconTestingUtils::test_simulate_json_body[wsgi-123456789] PASSED [ 96%]
tests/test_utils.py::TestFalconTestingUtils::test_simulate_json_body[wsgi-True] PASSED [ 96%]
tests/test_utils.py::TestFalconTestingUtils::test_simulate_json_body[wsgi-] PASSED [ 96%]
tests/test_utils.py::TestFalconTestingUtils::test_simulate_json_body[wsgi-I am a \u1d0a\ua731\u1d0f\u0274 string.] PASSED [ 96%]
tests/test_utils.py::TestFalconTestingUtils::test_simulate_json_body[wsgi-document5] PASSED [ 96%]
tests/test_utils.py::TestFalconTestingUtils::test_simulate_json_body[wsgi-document6] PASSED [ 96%]
tests/test_utils.py::TestFalconTestingUtils::test_simulate_json_body[wsgi-document7] PASSED [ 96%]
tests/test_utils.py::TestFalconTestingUtils::test_simulate_remote_addr[asgi-None] PASSED [ 96%]
tests/test_utils.py::TestFalconTestingUtils::test_simulate_remote_addr[asgi-127.0.0.1] PASSED [ 96%]
tests/test_utils.py::TestFalconTestingUtils::test_simulate_remote_addr[asgi-8.8.8.8] PASSED [ 96%]
tests/test_utils.py::TestFalconTestingUtils::test_simulate_remote_addr[asgi-104.24.101.85] PASSED [ 96%]
tests/test_utils.py::TestFalconTestingUtils::test_simulate_remote_addr[asgi-2606:4700:30::6818:6455] PASSED [ 96%]
tests/test_utils.py::TestFalconTestingUtils::test_simulate_remote_addr[wsgi-None] PASSED [ 96%]
tests/test_utils.py::TestFalconTestingUtils::test_simulate_remote_addr[wsgi-127.0.0.1] PASSED [ 96%]
tests/test_utils.py::TestFalconTestingUtils::test_simulate_remote_addr[wsgi-8.8.8.8] PASSED [ 96%]
tests/test_utils.py::TestFalconTestingUtils::test_simulate_remote_addr[wsgi-104.24.101.85] PASSED [ 96%]
tests/test_utils.py::TestFalconTestingUtils::test_simulate_remote_addr[wsgi-2606:4700:30::6818:6455] PASSED [ 96%]
tests/test_utils.py::TestFalconTestingUtils::test_simulate_hostname[asgi] PASSED [ 97%]
tests/test_utils.py::TestFalconTestingUtils::test_simulate_hostname[wsgi] PASSED [ 97%]
tests/test_utils.py::TestFalconTestingUtils::test_simulate_with_environ_extras[extras0-expected_headers0] PASSED [ 97%]
tests/test_utils.py::TestFalconTestingUtils::test_simulate_with_environ_extras[extras1-expected_headers1] PASSED [ 97%]
tests/test_utils.py::TestFalconTestingUtils::test_override_method_with_extras[asgi] PASSED [ 97%]
tests/test_utils.py::TestFalconTestingUtils::test_override_method_with_extras[wsgi] PASSED [ 97%]
tests/test_utils.py::TestFalconTestingUtils::test_simulate_content_type[application/json] PASSED [ 97%]
tests/test_utils.py::TestFalconTestingUtils::test_simulate_content_type[application/json; charset=UTF-8] PASSED [ 97%]
tests/test_utils.py::TestFalconTestingUtils::test_simulate_content_type[application/yaml] PASSED [ 97%]
tests/test_utils.py::TestFalconTestingUtils::test_simulate_content_type_extra_handler[asgi-application/json] PASSED [ 97%]
tests/test_utils.py::TestFalconTestingUtils::test_simulate_content_type_extra_handler[asgi-application/json; charset=UTF-8] PASSED [ 97%]
tests/test_utils.py::TestFalconTestingUtils::test_simulate_content_type_extra_handler[asgi-application/yaml] PASSED [ 97%]
tests/test_utils.py::TestFalconTestingUtils::test_simulate_content_type_extra_handler[asgi-application/msgpack] PASSED [ 97%]
tests/test_utils.py::TestFalconTestingUtils::test_simulate_content_type_extra_handler[asgi-application/x-www-form-urlencoded] PASSED [ 97%]
tests/test_utils.py::TestFalconTestingUtils::test_simulate_content_type_extra_handler[wsgi-application/json] PASSED [ 97%]
tests/test_utils.py::TestFalconTestingUtils::test_simulate_content_type_extra_handler[wsgi-application/json; charset=UTF-8] PASSED [ 97%]
tests/test_utils.py::TestFalconTestingUtils::test_simulate_content_type_extra_handler[wsgi-application/yaml] PASSED [ 97%]
tests/test_utils.py::TestFalconTestingUtils::test_simulate_content_type_extra_handler[wsgi-application/msgpack] PASSED [ 97%]
tests/test_utils.py::TestFalconTestingUtils::test_simulate_content_type_extra_handler[wsgi-application/x-www-form-urlencoded] PASSED [ 97%]
tests/test_utils.py::TestNoApiClass::test_something PASSED               [ 97%]
tests/test_utils.py::TestSetupApi::test_something PASSED                 [ 97%]
tests/test_utils.py::test_get_argnames PASSED                            [ 97%]
tests/test_utils.py::TestContextType::test_attributes[CustomContextType] PASSED [ 97%]
tests/test_utils.py::TestContextType::test_attributes[Context] PASSED    [ 97%]
tests/test_utils.py::TestContextType::test_items_from_attributes[CustomContextType] PASSED [ 97%]
tests/test_utils.py::TestContextType::test_items_from_attributes[Context] PASSED [ 97%]
tests/test_utils.py::TestContextType::test_attributes_from_items[CustomContextType] PASSED [ 97%]
tests/test_utils.py::TestContextType::test_attributes_from_items[Context] PASSED [ 97%]
tests/test_utils.py::TestContextType::test_dict_interface[CustomContextType-CustomContextType] PASSED [ 97%]
tests/test_utils.py::TestContextType::test_dict_interface[Context-Context] PASSED [ 97%]
tests/test_utils.py::TestContextType::test_keys_and_values[CustomContextType] PASSED [ 97%]
tests/test_utils.py::TestContextType::test_keys_and_values[Context] PASSED [ 97%]
tests/test_utils.py::TestDeprecatedArgs::test_method PASSED              [ 97%]
tests/test_utils.py::TestDeprecatedArgs::test_function PASSED            [ 98%]
tests/test_utils.py::test_json_deprecation PASSED                        [ 98%]
tests/test_validators.py::test_req_schema_validation_success[asgi] PASSED [ 98%]
tests/test_validators.py::test_req_schema_validation_success[wsgi] PASSED [ 98%]
tests/test_validators.py::test_req_schema_validation_failure[asgi-HTTPBadRequest] PASSED [ 98%]
tests/test_validators.py::test_req_schema_validation_failure[asgi-MediaValidationError] PASSED [ 98%]
tests/test_validators.py::test_req_schema_validation_failure[wsgi-HTTPBadRequest] PASSED [ 98%]
tests/test_validators.py::test_req_schema_validation_failure[wsgi-MediaValidationError] PASSED [ 98%]
tests/test_validators.py::test_resp_schema_validation_success[asgi] PASSED [ 98%]
tests/test_validators.py::test_resp_schema_validation_success[wsgi] PASSED [ 98%]
tests/test_validators.py::test_resp_schema_validation_failure[asgi] PASSED [ 98%]
tests/test_validators.py::test_resp_schema_validation_failure[wsgi] PASSED [ 98%]
tests/test_validators.py::test_both_schemas_validation_success[asgi] PASSED [ 98%]
tests/test_validators.py::test_both_schemas_validation_success[wsgi] PASSED [ 98%]
tests/test_validators.py::test_both_schemas_validation_failure[asgi] PASSED [ 98%]
tests/test_validators.py::test_both_schemas_validation_failure[wsgi] PASSED [ 98%]
tests/test_wsgi.py::TestWSGIServer::test_get PASSED                      [ 98%]
tests/test_wsgi.py::TestWSGIServer::test_put PASSED                      [ 98%]
tests/test_wsgi.py::TestWSGIServer::test_head_405 PASSED                 [ 98%]
tests/test_wsgi.py::TestWSGIServer::test_post PASSED                     [ 98%]
tests/test_wsgi.py::TestWSGIServer::test_post_invalid_content_length PASSED [ 98%]
tests/test_wsgi.py::TestWSGIServer::test_post_read_bounded_stream PASSED [ 98%]
tests/test_wsgi.py::TestWSGIServer::test_post_read_bounded_stream_no_body PASSED [ 98%]
tests/test_wsgi_errors.py::TestWSGIError::test_responder_logged_bytestring PASSED [ 98%]
tests/test_wsgi_interface.py::TestWSGIInterface::test_srmock PASSED      [ 98%]
tests/test_wsgi_interface.py::TestWSGIInterface::test_pep3333 PASSED     [ 98%]
tests/test_wsgi_servers.py::TestWSGIServer::test_get[gunicorn] SKIPPED   [ 98%]
tests/test_wsgi_servers.py::TestWSGIServer::test_get[meinheld] SKIPPED   [ 98%]
tests/test_wsgi_servers.py::TestWSGIServer::test_get[uvicorn] PASSED     [ 98%]
tests/test_wsgi_servers.py::TestWSGIServer::test_get[uwsgi] SKIPPED      [ 98%]
tests/test_wsgi_servers.py::TestWSGIServer::test_get[waitress] SKIPPED   [ 98%]
tests/test_wsgi_servers.py::TestWSGIServer::test_get_deprecated[gunicorn] SKIPPED [ 98%]
tests/test_wsgi_servers.py::TestWSGIServer::test_get_deprecated[meinheld] SKIPPED [ 98%]
tests/test_wsgi_servers.py::TestWSGIServer::test_get_deprecated[uvicorn] PASSED [ 99%]
tests/test_wsgi_servers.py::TestWSGIServer::test_get_deprecated[uwsgi] SKIPPED [ 99%]
tests/test_wsgi_servers.py::TestWSGIServer::test_get_deprecated[waitress] SKIPPED [ 99%]
tests/test_wsgi_servers.py::TestWSGIServer::test_post_multipart_form[gunicorn] SKIPPED [ 99%]
tests/test_wsgi_servers.py::TestWSGIServer::test_post_multipart_form[meinheld] SKIPPED [ 99%]
tests/test_wsgi_servers.py::TestWSGIServer::test_post_multipart_form[uvicorn] PASSED [ 99%]
tests/test_wsgi_servers.py::TestWSGIServer::test_post_multipart_form[uwsgi] SKIPPED [ 99%]
tests/test_wsgi_servers.py::TestWSGIServer::test_post_multipart_form[waitress] SKIPPED [ 99%]
tests/test_wsgi_servers.py::TestWSGIServer::test_static_file[gunicorn] SKIPPED [ 99%]
tests/test_wsgi_servers.py::TestWSGIServer::test_static_file[meinheld] SKIPPED [ 99%]
tests/test_wsgi_servers.py::TestWSGIServer::test_static_file[uvicorn] PASSED [ 99%]
tests/test_wsgi_servers.py::TestWSGIServer::test_static_file[uwsgi] SKIPPED [ 99%]
tests/test_wsgi_servers.py::TestWSGIServer::test_static_file[waitress] SKIPPED [ 99%]
tests/test_wsgi_servers.py::TestWSGIServer::test_static_file_byte_range[gunicorn-7--hashlib] SKIPPED [ 99%]
tests/test_wsgi_servers.py::TestWSGIServer::test_static_file_byte_range[gunicorn-2-6-port] SKIPPED [ 99%]
tests/test_wsgi_servers.py::TestWSGIServer::test_static_file_byte_range[gunicorn-32-38-random] SKIPPED [ 99%]
tests/test_wsgi_servers.py::TestWSGIServer::test_static_file_byte_range[gunicorn--47-The content of this comment is part of a test.\n] SKIPPED [ 99%]
tests/test_wsgi_servers.py::TestWSGIServer::test_static_file_byte_range[meinheld-7--hashlib] SKIPPED [ 99%]
tests/test_wsgi_servers.py::TestWSGIServer::test_static_file_byte_range[meinheld-2-6-port] SKIPPED [ 99%]
tests/test_wsgi_servers.py::TestWSGIServer::test_static_file_byte_range[meinheld-32-38-random] SKIPPED [ 99%]
tests/test_wsgi_servers.py::TestWSGIServer::test_static_file_byte_range[meinheld--47-The content of this comment is part of a test.\n] SKIPPED [ 99%]
tests/test_wsgi_servers.py::TestWSGIServer::test_static_file_byte_range[uvicorn-7--hashlib] PASSED [ 99%]
tests/test_wsgi_servers.py::TestWSGIServer::test_static_file_byte_range[uvicorn-2-6-port] PASSED [ 99%]
tests/test_wsgi_servers.py::TestWSGIServer::test_static_file_byte_range[uvicorn-32-38-random] PASSED [ 99%]
tests/test_wsgi_servers.py::TestWSGIServer::test_static_file_byte_range[uvicorn--47-The content of this comment is part of a test.\n] PASSED [ 99%]
tests/test_wsgi_servers.py::TestWSGIServer::test_static_file_byte_range[uwsgi-7--hashlib] SKIPPED [ 99%]
tests/test_wsgi_servers.py::TestWSGIServer::test_static_file_byte_range[uwsgi-2-6-port] SKIPPED [ 99%]
tests/test_wsgi_servers.py::TestWSGIServer::test_static_file_byte_range[uwsgi-32-38-random] SKIPPED [ 99%]
tests/test_wsgi_servers.py::TestWSGIServer::test_static_file_byte_range[uwsgi--47-The content of this comment is part of a test.\n] SKIPPED [ 99%]
tests/test_wsgi_servers.py::TestWSGIServer::test_static_file_byte_range[waitress-7--hashlib] SKIPPED [ 99%]
tests/test_wsgi_servers.py::TestWSGIServer::test_static_file_byte_range[waitress-2-6-port] SKIPPED [ 99%]
tests/test_wsgi_servers.py::TestWSGIServer::test_static_file_byte_range[waitress-32-38-random] SKIPPED [ 99%]
tests/test_wsgi_servers.py::TestWSGIServer::test_static_file_byte_range[waitress--47-The content of this comment is part of a test.\n] SKIPPED [ 99%]
tests/test_wsgiref_inputwrapper_with_size.py::TestWsgiRefInputWrapper::test_resources_can_read_request_stream_during_tests PASSED [100%]

=============================== warnings summary ===============================
tests/asgi/test_asgi_conductor.py:8
  /build/reproducible-path/python-falcon-3.1.1/tests/asgi/test_asgi_conductor.py:8: PytestUnknownMarkWarning: Unknown pytest.mark.asyncio - is this a typo?  You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
    @pytest.mark.asyncio

tests/asgi/test_asgi_conductor.py:24
  /build/reproducible-path/python-falcon-3.1.1/tests/asgi/test_asgi_conductor.py:24: PytestUnknownMarkWarning: Unknown pytest.mark.asyncio - is this a typo?  You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
    @pytest.mark.asyncio

tests/asgi/test_asgi_conductor.py:40
  /build/reproducible-path/python-falcon-3.1.1/tests/asgi/test_asgi_conductor.py:40: PytestUnknownMarkWarning: Unknown pytest.mark.asyncio - is this a typo?  You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
    @pytest.mark.asyncio

tests/asgi/test_asgi_conductor.py:55
  /build/reproducible-path/python-falcon-3.1.1/tests/asgi/test_asgi_conductor.py:55: PytestUnknownMarkWarning: Unknown pytest.mark.asyncio - is this a typo?  You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
    @pytest.mark.asyncio

falcon/util/sync.py:229
  /build/reproducible-path/python-falcon-3.1.1/falcon/util/sync.py:229: DeprecationWarning: There is no current event loop
    loop = asyncio.get_event_loop_policy().get_event_loop()

tests/asgi/test_request_body_asgi.py:67
  /build/reproducible-path/python-falcon-3.1.1/tests/asgi/test_request_body_asgi.py:67: PytestUnknownMarkWarning: Unknown pytest.mark.asyncio - is this a typo?  You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
    @pytest.mark.asyncio

tests/asgi/test_testing_asgi.py:10
  /build/reproducible-path/python-falcon-3.1.1/tests/asgi/test_testing_asgi.py:10: PytestUnknownMarkWarning: Unknown pytest.mark.asyncio - is this a typo?  You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
    @pytest.mark.asyncio

tests/asgi/test_testing_asgi.py:37
  /build/reproducible-path/python-falcon-3.1.1/tests/asgi/test_testing_asgi.py:37: PytestUnknownMarkWarning: Unknown pytest.mark.asyncio - is this a typo?  You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
    @pytest.mark.asyncio

tests/asgi/test_testing_asgi.py:50
  /build/reproducible-path/python-falcon-3.1.1/tests/asgi/test_testing_asgi.py:50: PytestUnknownMarkWarning: Unknown pytest.mark.asyncio - is this a typo?  You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
    @pytest.mark.asyncio

tests/asgi/test_ws.py:53
  /build/reproducible-path/python-falcon-3.1.1/tests/asgi/test_ws.py:53: PytestUnknownMarkWarning: Unknown pytest.mark.asyncio - is this a typo?  You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
    @pytest.mark.asyncio

tests/asgi/test_ws.py:111
  /build/reproducible-path/python-falcon-3.1.1/tests/asgi/test_ws.py:111: PytestUnknownMarkWarning: Unknown pytest.mark.asyncio - is this a typo?  You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
    @pytest.mark.asyncio

tests/asgi/test_ws.py:229
  /build/reproducible-path/python-falcon-3.1.1/tests/asgi/test_ws.py:229: PytestUnknownMarkWarning: Unknown pytest.mark.asyncio - is this a typo?  You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
    @pytest.mark.asyncio

tests/asgi/test_ws.py:239
  /build/reproducible-path/python-falcon-3.1.1/tests/asgi/test_ws.py:239: PytestUnknownMarkWarning: Unknown pytest.mark.asyncio - is this a typo?  You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
    @pytest.mark.asyncio

tests/asgi/test_ws.py:299
  /build/reproducible-path/python-falcon-3.1.1/tests/asgi/test_ws.py:299: PytestUnknownMarkWarning: Unknown pytest.mark.asyncio - is this a typo?  You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
    @pytest.mark.asyncio

tests/asgi/test_ws.py:401
  /build/reproducible-path/python-falcon-3.1.1/tests/asgi/test_ws.py:401: PytestUnknownMarkWarning: Unknown pytest.mark.asyncio - is this a typo?  You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
    @pytest.mark.asyncio

tests/asgi/test_ws.py:513
  /build/reproducible-path/python-falcon-3.1.1/tests/asgi/test_ws.py:513: PytestUnknownMarkWarning: Unknown pytest.mark.asyncio - is this a typo?  You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
    @pytest.mark.asyncio

tests/asgi/test_ws.py:555
  /build/reproducible-path/python-falcon-3.1.1/tests/asgi/test_ws.py:555: PytestUnknownMarkWarning: Unknown pytest.mark.asyncio - is this a typo?  You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
    @pytest.mark.asyncio

tests/asgi/test_ws.py:593
  /build/reproducible-path/python-falcon-3.1.1/tests/asgi/test_ws.py:593: PytestUnknownMarkWarning: Unknown pytest.mark.asyncio - is this a typo?  You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
    @pytest.mark.asyncio

tests/asgi/test_ws.py:642
  /build/reproducible-path/python-falcon-3.1.1/tests/asgi/test_ws.py:642: PytestUnknownMarkWarning: Unknown pytest.mark.asyncio - is this a typo?  You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
    @pytest.mark.asyncio

tests/asgi/test_ws.py:676
  /build/reproducible-path/python-falcon-3.1.1/tests/asgi/test_ws.py:676: PytestUnknownMarkWarning: Unknown pytest.mark.asyncio - is this a typo?  You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
    @pytest.mark.asyncio

tests/asgi/test_ws.py:702
  /build/reproducible-path/python-falcon-3.1.1/tests/asgi/test_ws.py:702: PytestUnknownMarkWarning: Unknown pytest.mark.asyncio - is this a typo?  You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
    @pytest.mark.asyncio

tests/asgi/test_ws.py:716
  /build/reproducible-path/python-falcon-3.1.1/tests/asgi/test_ws.py:716: PytestUnknownMarkWarning: Unknown pytest.mark.asyncio - is this a typo?  You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
    @pytest.mark.asyncio

tests/asgi/test_ws.py:730
  /build/reproducible-path/python-falcon-3.1.1/tests/asgi/test_ws.py:730: PytestUnknownMarkWarning: Unknown pytest.mark.asyncio - is this a typo?  You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
    @pytest.mark.asyncio

tests/asgi/test_ws.py:763
  /build/reproducible-path/python-falcon-3.1.1/tests/asgi/test_ws.py:763: PytestUnknownMarkWarning: Unknown pytest.mark.asyncio - is this a typo?  You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
    @pytest.mark.asyncio

tests/asgi/test_ws.py:818
  /build/reproducible-path/python-falcon-3.1.1/tests/asgi/test_ws.py:818: PytestUnknownMarkWarning: Unknown pytest.mark.asyncio - is this a typo?  You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
    @pytest.mark.asyncio

tests/asgi/test_ws.py:871
  /build/reproducible-path/python-falcon-3.1.1/tests/asgi/test_ws.py:871: PytestUnknownMarkWarning: Unknown pytest.mark.asyncio - is this a typo?  You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
    @pytest.mark.asyncio

tests/asgi/test_ws.py:880
  /build/reproducible-path/python-falcon-3.1.1/tests/asgi/test_ws.py:880: PytestUnknownMarkWarning: Unknown pytest.mark.asyncio - is this a typo?  You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
    @pytest.mark.asyncio

tests/asgi/test_ws.py:889
  /build/reproducible-path/python-falcon-3.1.1/tests/asgi/test_ws.py:889: PytestUnknownMarkWarning: Unknown pytest.mark.asyncio - is this a typo?  You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
    @pytest.mark.asyncio

tests/asgi/test_ws.py:916
  /build/reproducible-path/python-falcon-3.1.1/tests/asgi/test_ws.py:916: PytestUnknownMarkWarning: Unknown pytest.mark.asyncio - is this a typo?  You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
    @pytest.mark.asyncio

tests/asgi/test_ws.py:930
  /build/reproducible-path/python-falcon-3.1.1/tests/asgi/test_ws.py:930: PytestUnknownMarkWarning: Unknown pytest.mark.asyncio - is this a typo?  You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
    @pytest.mark.asyncio

tests/asgi/test_ws.py:944
  /build/reproducible-path/python-falcon-3.1.1/tests/asgi/test_ws.py:944: PytestUnknownMarkWarning: Unknown pytest.mark.asyncio - is this a typo?  You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
    @pytest.mark.asyncio

tests/asgi/test_ws.py:1013
  /build/reproducible-path/python-falcon-3.1.1/tests/asgi/test_ws.py:1013: PytestUnknownMarkWarning: Unknown pytest.mark.asyncio - is this a typo?  You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
    @pytest.mark.asyncio

tests/asgi/test_ws.py:1027
  /build/reproducible-path/python-falcon-3.1.1/tests/asgi/test_ws.py:1027: PytestUnknownMarkWarning: Unknown pytest.mark.asyncio - is this a typo?  You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
    @pytest.mark.asyncio

tests/asgi/test_ws.py:1046
  /build/reproducible-path/python-falcon-3.1.1/tests/asgi/test_ws.py:1046: PytestUnknownMarkWarning: Unknown pytest.mark.asyncio - is this a typo?  You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
    @pytest.mark.asyncio

tests/asgi/test_asgi_conductor.py: 18 warnings
tests/asgi/test_request_body_asgi.py: 6 warnings
tests/asgi/test_testing_asgi.py: 3 warnings
tests/asgi/test_ws.py: 72 warnings
  /usr/lib/python3/dist-packages/_pytest/python.py:148: PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped.
  You need to install a suitable plugin for your async framework, for example:
    - anyio
    - pytest-asyncio
    - pytest-tornasync
    - pytest-trio
    - pytest-twisted
    warnings.warn(PytestUnhandledCoroutineWarning(msg.format(nodeid)))

tests/test_cookies.py::test_response_complex_case[asgi]
tests/test_cookies.py::test_response_complex_case[wsgi]
  /build/reproducible-path/python-falcon-3.1.1/tests/test_cookies.py:157: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).
    assert cookie.expires < datetime.utcnow()

tests/test_cookies.py::test_unset_cookies[asgi]
tests/test_cookies.py::test_unset_cookies[asgi]
tests/test_cookies.py::test_unset_cookies[asgi]
tests/test_cookies.py::test_unset_cookies[asgi]
tests/test_cookies.py::test_unset_cookies[wsgi]
tests/test_cookies.py::test_unset_cookies[wsgi]
tests/test_cookies.py::test_unset_cookies[wsgi]
tests/test_cookies.py::test_unset_cookies[wsgi]
  /build/reproducible-path/python-falcon-3.1.1/tests/test_cookies.py:180: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).
    assert cookie.expires < datetime.utcnow()

tests/test_cookies.py::test_response_unset_cookie[asgi]
tests/test_cookies.py::test_response_unset_cookie[wsgi]
  /build/reproducible-path/python-falcon-3.1.1/tests/test_cookies.py:265: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).
    assert expiration < datetime.utcnow()

tests/test_headers.py::TestHeaders::test_response_set_and_get_header[asgi]
tests/test_headers.py::TestHeaders::test_response_set_and_get_header[wsgi]
tests/test_headers.py::TestHeaders::test_request_multiple_header[asgi]
tests/test_headers.py::TestHeaders::test_request_multiple_header[wsgi]
  /build/reproducible-path/python-falcon-3.1.1/tests/test_headers.py:34: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).
    self.last_modified = datetime.utcnow()

tests/test_http_custom_method_routing.py::test_environment_override[FOO-expected1]
  /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:85: PytestUnraisableExceptionWarning: Exception ignored in: <test_hello.NonClosingBytesIO object at 0x95ef3618>
  
  Traceback (most recent call last):
    File "/usr/lib/python3.13/contextlib.py", line 136, in __enter__
      def __enter__(self):
      
  TypeError: 'bool' object is not callable
  
    warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))

tests/test_middleware.py: 26 warnings
  /build/reproducible-path/python-falcon-3.1.1/tests/test_middleware.py:39: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).
    context['start_time'] = datetime.utcnow()

tests/test_middleware.py: 24 warnings
  /build/reproducible-path/python-falcon-3.1.1/tests/test_middleware.py:47: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).
    context['end_time'] = datetime.utcnow()

tests/test_middleware.py: 16 warnings
  /build/reproducible-path/python-falcon-3.1.1/tests/test_middleware.py:43: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).
    context['mid_time'] = datetime.utcnow()

tests/test_utils.py::TestFalconUtils::test_http_now
  /build/reproducible-path/python-falcon-3.1.1/tests/test_utils.py:112: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).
    expected = datetime.utcnow()

tests/test_utils.py::TestFalconUtils::test_http_now
  /build/reproducible-path/python-falcon-3.1.1/falcon/util/misc.py:138: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).
    return dt_to_http(utcnow())

tests/test_wsgi.py::TestWSGIServer::test_get
  /usr/lib/python3.13/multiprocessing/popen_fork.py:67: DeprecationWarning: This process (pid=26029) is multi-threaded, use of fork() may lead to deadlocks in the child.
    self.pid = os.fork()

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=============== 3090 passed, 219 skipped, 219 warnings in 59.58s ===============
============================= test session starts ==============================
platform linux -- Python 3.12.8, pytest-8.3.4, pluggy-1.5.0 -- /usr/bin/python3.12
cachedir: .pytest_cache
rootdir: /build/reproducible-path/python-falcon-3.1.1
configfile: setup.cfg
plugins: typeguard-4.4.1, anyio-4.6.2
collecting ... collected 3309 items

tests/asgi/test_asgi_conductor.py::test_default_headers SKIPPED (asy...) [  0%]
tests/asgi/test_asgi_conductor.py::test_generic_request[request] SKIPPED [  0%]
tests/asgi/test_asgi_conductor.py::test_generic_request[simulate_request] SKIPPED [  0%]
tests/asgi/test_asgi_conductor.py::test_wsgi_not_supported SKIPPED (...) [  0%]
tests/asgi/test_asgi_conductor.py::test_responders[alias-get] SKIPPED    [  0%]
tests/asgi/test_asgi_conductor.py::test_responders[alias-head] SKIPPED   [  0%]
tests/asgi/test_asgi_conductor.py::test_responders[alias-post] SKIPPED   [  0%]
tests/asgi/test_asgi_conductor.py::test_responders[alias-put] SKIPPED    [  0%]
tests/asgi/test_asgi_conductor.py::test_responders[alias-options] SKIPPED [  0%]
tests/asgi/test_asgi_conductor.py::test_responders[alias-patch] SKIPPED  [  0%]
tests/asgi/test_asgi_conductor.py::test_responders[alias-delete] SKIPPED [  0%]
tests/asgi/test_asgi_conductor.py::test_responders[simulate-get] SKIPPED [  0%]
tests/asgi/test_asgi_conductor.py::test_responders[simulate-head] SKIPPED [  0%]
tests/asgi/test_asgi_conductor.py::test_responders[simulate-post] SKIPPED [  0%]
tests/asgi/test_asgi_conductor.py::test_responders[simulate-put] SKIPPED [  0%]
tests/asgi/test_asgi_conductor.py::test_responders[simulate-options] SKIPPED [  0%]
tests/asgi/test_asgi_conductor.py::test_responders[simulate-patch] SKIPPED [  0%]
tests/asgi/test_asgi_conductor.py::test_responders[simulate-delete] SKIPPED [  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 [  1%]
tests/asgi/test_boundedstream_asgi.py::test_read_all[False-True-null] SKIPPED [  1%]
tests/asgi/test_boundedstream_asgi.py::test_read_all[False-True-null-ff] SKIPPED [  1%]
tests/asgi/test_boundedstream_asgi.py::test_read_all[False-True-normal] SKIPPED [  1%]
tests/asgi/test_boundedstream_asgi.py::test_read_all[False-True-long] SKIPPED [  1%]
tests/asgi/test_boundedstream_asgi.py::test_read_all[False-True-random] SKIPPED [  1%]
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 [  2%]
tests/asgi/test_boundedstream_asgi.py::test_read_chunks[64-empty] PASSED [  2%]
tests/asgi/test_boundedstream_asgi.py::test_read_chunks[64-null] PASSED  [  2%]
tests/asgi/test_boundedstream_asgi.py::test_read_chunks[64-null-ff] PASSED [  2%]
tests/asgi/test_boundedstream_asgi.py::test_read_chunks[64-normal] PASSED [  2%]
tests/asgi/test_boundedstream_asgi.py::test_read_chunks[64-long] PASSED  [  2%]
tests/asgi/test_boundedstream_asgi.py::test_read_chunks[64-random] PASSED [  2%]
tests/asgi/test_boundedstream_asgi.py::test_read_chunks[100-empty] PASSED [  2%]
tests/asgi/test_boundedstream_asgi.py::test_read_chunks[100-null] PASSED [  2%]
tests/asgi/test_boundedstream_asgi.py::test_read_chunks[100-null-ff] PASSED [  2%]
tests/asgi/test_boundedstream_asgi.py::test_read_chunks[100-normal] PASSED [  2%]
tests/asgi/test_boundedstream_asgi.py::test_read_chunks[100-long] PASSED [  2%]
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  [  3%]
tests/asgi/test_buffered_reader.py::test_delimit[404-expected4] PASSED   [  3%]
tests/asgi/test_buffered_reader.py::test_exhaust PASSED                  [  3%]
tests/asgi/test_buffered_reader.py::test_peek[1] PASSED                  [  3%]
tests/asgi/test_buffered_reader.py::test_peek[2] PASSED                  [  3%]
tests/asgi/test_buffered_reader.py::test_peek[3] PASSED                  [  3%]
tests/asgi/test_buffered_reader.py::test_peek[5] PASSED                  [  3%]
tests/asgi/test_buffered_reader.py::test_peek[7] PASSED                  [  3%]
tests/asgi/test_buffered_reader.py::test_peek[8] PASSED                  [  3%]
tests/asgi/test_buffered_reader.py::test_peek_at_eof PASSED              [  3%]
tests/asgi/test_buffered_reader.py::test_pipe PASSED                     [  3%]
tests/asgi/test_buffered_reader.py::test_pipe_until_delimiter_not_found PASSED [  3%]
tests/asgi/test_buffered_reader.py::test_read[sizes0-expected0] PASSED   [  3%]
tests/asgi/test_buffered_reader.py::test_read[sizes1-expected1] PASSED   [  3%]
tests/asgi/test_buffered_reader.py::test_read[sizes2-expected2] PASSED   [  3%]
tests/asgi/test_buffered_reader.py::test_read[sizes3-expected3] PASSED   [  3%]
tests/asgi/test_buffered_reader.py::test_varying_read_size[1] PASSED     [  3%]
tests/asgi/test_buffered_reader.py::test_varying_read_size[16777216] PASSED [  3%]
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 [  4%]
tests/asgi/test_buffered_reader.py::test_read_until[20- -20-esting-True] PASSED [  4%]
tests/asgi/test_buffered_reader.py::test_read_until[20- -None-esting-False] PASSED [  4%]
tests/asgi/test_buffered_reader.py::test_read_until[20- -None-esting-True] PASSED [  4%]
tests/asgi/test_buffered_reader.py::test_read_until[0-Hell-13--False] PASSED [  4%]
tests/asgi/test_buffered_reader.py::test_read_until[0-Hell-13--True] PASSED [  4%]
tests/asgi/test_buffered_reader.py::test_read_until[1-ell-13--False] PASSED [  4%]
tests/asgi/test_buffered_reader.py::test_read_until[1-ell-13--True] PASSED [  4%]
tests/asgi/test_buffered_reader.py::test_read_until[2-ll-13--False] PASSED [  4%]
tests/asgi/test_buffered_reader.py::test_read_until[2-ll-13--True] PASSED [  4%]
tests/asgi/test_buffered_reader.py::test_read_until[3-l-13--False] PASSED [  4%]
tests/asgi/test_buffered_reader.py::test_read_until[3-l-13--True] PASSED [  4%]
tests/asgi/test_buffered_reader.py::test_read_until[2-l-13--False] PASSED [  4%]
tests/asgi/test_buffered_reader.py::test_read_until[2-l-13--True] PASSED [  4%]
tests/asgi/test_buffered_reader.py::test_read_until[0-good-13-Hello, World!-False] PASSED [  4%]
tests/asgi/test_buffered_reader.py::test_read_until[0-good-13-Hello, World!-True] PASSED [  4%]
tests/asgi/test_buffered_reader.py::test_read_until[7-good-19-World!\nJust testing-False] PASSED [  4%]
tests/asgi/test_buffered_reader.py::test_read_until[7-good-19-World!\nJust testing-True] PASSED [  4%]
tests/asgi/test_buffered_reader.py::test_read_until[7-good-33-World!\nJust testing some iterator-False] PASSED [  4%]
tests/asgi/test_buffered_reader.py::test_read_until[7-good-33-World!\nJust testing some iterator-True] PASSED [  4%]
tests/asgi/test_buffered_reader.py::test_read_until[7-good-34-World!\nJust testing some iterator -False] PASSED [  4%]
tests/asgi/test_buffered_reader.py::test_read_until[7-good-34-World!\nJust testing some iterator -True] PASSED [  4%]
tests/asgi/test_buffered_reader.py::test_read_until[7-good-1337-World!\nJust testing some iterator -False] PASSED [  4%]
tests/asgi/test_buffered_reader.py::test_read_until[7-good-1337-World!\nJust testing some iterator -True] PASSED [  4%]
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 [  5%]
tests/asgi/test_buffered_reader.py::test_read_until_shared_boundary[48] PASSED [  5%]
tests/asgi/test_buffered_reader.py::test_read_until_shared_boundary[49] PASSED [  5%]
tests/asgi/test_buffered_reader.py::test_read_until_shared_boundary[50] PASSED [  5%]
tests/asgi/test_buffered_reader.py::test_read_until_shared_boundary[51] PASSED [  5%]
tests/asgi/test_buffered_reader.py::test_read_until_shared_boundary[52] PASSED [  5%]
tests/asgi/test_buffered_reader.py::test_read_until_shared_boundary[53] PASSED [  5%]
tests/asgi/test_buffered_reader.py::test_read_until_shared_boundary[54] PASSED [  5%]
tests/asgi/test_buffered_reader.py::test_read_until_shared_boundary[55] PASSED [  5%]
tests/asgi/test_buffered_reader.py::test_read_until_shared_boundary[56] PASSED [  5%]
tests/asgi/test_buffered_reader.py::test_read_until_shared_boundary[57] PASSED [  5%]
tests/asgi/test_buffered_reader.py::test_read_until_shared_boundary[58] PASSED [  5%]
tests/asgi/test_buffered_reader.py::test_read_until_shared_boundary[59] PASSED [  5%]
tests/asgi/test_buffered_reader.py::test_read_until_shared_boundary[60] PASSED [  5%]
tests/asgi/test_buffered_reader.py::test_read_until_shared_boundary[61] PASSED [  5%]
tests/asgi/test_buffered_reader.py::test_read_until_shared_boundary[62] PASSED [  5%]
tests/asgi/test_buffered_reader.py::test_small_reads PASSED              [  5%]
tests/asgi/test_buffered_reader.py::test_small_reads_with_delimiter PASSED [  5%]
tests/asgi/test_hello_asgi.py::TestHelloWorld::test_env_headers_list_of_tuples PASSED [  5%]
tests/asgi/test_hello_asgi.py::TestHelloWorld::test_root_route PASSED    [  5%]
tests/asgi/test_hello_asgi.py::TestHelloWorld::test_no_route PASSED      [  5%]
tests/asgi/test_hello_asgi.py::TestHelloWorld::test_body[/body-resource0-<lambda>] PASSED [  5%]
tests/asgi/test_hello_asgi.py::TestHelloWorld::test_body[/bytes-resource1-<lambda>] PASSED [  5%]
tests/asgi/test_hello_asgi.py::TestHelloWorld::test_body[/data-resource2-<lambda>] PASSED [  5%]
tests/asgi/test_hello_asgi.py::TestHelloWorld::test_no_body_on_head PASSED [  5%]
tests/asgi/test_hello_asgi.py::TestHelloWorld::test_stream_chunked PASSED [  5%]
tests/asgi/test_hello_asgi.py::TestHelloWorld::test_stream_known_len PASSED [  5%]
tests/asgi/test_hello_asgi.py::TestHelloWorld::test_filelike PASSED      [  5%]
tests/asgi/test_hello_asgi.py::TestHelloWorld::test_genfunc_error PASSED [  5%]
tests/asgi/test_hello_asgi.py::TestHelloWorld::test_nongenfunc_error PASSED [  5%]
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 [  6%]
tests/asgi/test_hello_asgi.py::TestHelloWorld::test_closing_stream[10-3-3\n3\n3\n1\n-None] PASSED [  6%]
tests/asgi/test_hello_asgi.py::TestHelloWorld::test_closing_stream[10-7-7\n3\n-None] PASSED [  6%]
tests/asgi/test_hello_asgi.py::TestHelloWorld::test_closing_stream[10-17-10\n-None] PASSED [  6%]
tests/asgi/test_hello_asgi.py::TestHelloWorld::test_closing_stream[20-0--ZeroDivisionError] PASSED [  6%]
tests/asgi/test_hello_asgi.py::TestHelloWorld::test_status_not_set PASSED [  6%]
tests/asgi/test_hello_asgi.py::TestHelloWorld::test_coroutine_required PASSED [  6%]
tests/asgi/test_hello_asgi.py::TestHelloWorld::test_noncoroutine_required PASSED [  6%]
tests/asgi/test_lifespan_handlers.py::test_at_least_one_event_method_required PASSED [  6%]
tests/asgi/test_lifespan_handlers.py::test_startup_only PASSED           [  6%]
tests/asgi/test_lifespan_handlers.py::test_startup_raises PASSED         [  6%]
tests/asgi/test_lifespan_handlers.py::test_shutdown_raises PASSED        [  6%]
tests/asgi/test_lifespan_handlers.py::test_shutdown_only PASSED          [  6%]
tests/asgi/test_lifespan_handlers.py::test_multiple_handlers PASSED      [  6%]
tests/asgi/test_lifespan_handlers.py::test_asgi_conductor_raised_error_skips_shutdown PASSED [  6%]
tests/asgi/test_middleware_asgi.py::test_raise_on_incompatible[middleware0] PASSED [  6%]
tests/asgi/test_middleware_asgi.py::test_raise_on_incompatible[middleware1] PASSED [  6%]
tests/asgi/test_middleware_asgi.py::test_raise_on_incompatible[middleware2] PASSED [  6%]
tests/asgi/test_middleware_asgi.py::test_raise_on_incompatible[middleware3] PASSED [  6%]
tests/asgi/test_request_asgi.py::test_missing_server_in_scope PASSED     [  6%]
tests/asgi/test_request_asgi.py::test_log_error_not_supported PASSED     [  6%]
tests/asgi/test_request_body_asgi.py::TestRequestBody::test_empty_body PASSED [  6%]
tests/asgi/test_request_body_asgi.py::TestRequestBody::test_tiny_body PASSED [  6%]
tests/asgi/test_request_body_asgi.py::TestRequestBody::test_tiny_body_overflow PASSED [  6%]
tests/asgi/test_request_body_asgi.py::TestRequestBody::test_content_length_smaller_than_body[1-0] SKIPPED [  6%]
tests/asgi/test_request_body_asgi.py::TestRequestBody::test_content_length_smaller_than_body[2-1] SKIPPED [  6%]
tests/asgi/test_request_body_asgi.py::TestRequestBody::test_content_length_smaller_than_body[3-2] SKIPPED [  6%]
tests/asgi/test_request_body_asgi.py::TestRequestBody::test_content_length_smaller_than_body[100-None] SKIPPED [  6%]
tests/asgi/test_request_body_asgi.py::TestRequestBody::test_content_length_smaller_than_body[100-50] SKIPPED [  6%]
tests/asgi/test_request_body_asgi.py::TestRequestBody::test_content_length_smaller_than_body[8192-50] SKIPPED [  6%]
tests/asgi/test_request_body_asgi.py::TestRequestBody::test_read_body PASSED [  6%]
tests/asgi/test_request_body_asgi.py::TestRequestBody::test_bounded_stream_alias PASSED [  6%]
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 [  7%]
tests/asgi/test_request_context_asgi.py::TestRequestContext::test_custom_request_context PASSED [  7%]
tests/asgi/test_request_context_asgi.py::TestRequestContext::test_custom_request_context_failure PASSED [  7%]
tests/asgi/test_request_context_asgi.py::TestRequestContext::test_custom_request_context_request_access PASSED [  7%]
tests/asgi/test_response_media_asgi.py::test_json[*/*] PASSED            [  7%]
tests/asgi/test_response_media_asgi.py::test_json[application/json] PASSED [  7%]
tests/asgi/test_response_media_asgi.py::test_json[application/json; charset=utf-8] PASSED [  7%]
tests/asgi/test_response_media_asgi.py::test_non_ascii_json_serialization[] PASSED [  7%]
tests/asgi/test_response_media_asgi.py::test_non_ascii_json_serialization[I am a \u1d0a\ua731\u1d0f\u0274 string.] PASSED [  7%]
tests/asgi/test_response_media_asgi.py::test_non_ascii_json_serialization[document2] PASSED [  7%]
tests/asgi/test_response_media_asgi.py::test_non_ascii_json_serialization[document3] PASSED [  7%]
tests/asgi/test_response_media_asgi.py::test_non_ascii_json_serialization[document4] PASSED [  7%]
tests/asgi/test_response_media_asgi.py::test_msgpack[application/msgpack] PASSED [  7%]
tests/asgi/test_response_media_asgi.py::test_msgpack[application/msgpack; charset=utf-8] PASSED [  7%]
tests/asgi/test_response_media_asgi.py::test_msgpack[application/x-msgpack] PASSED [  7%]
tests/asgi/test_response_media_asgi.py::test_custom_media_handler PASSED [  7%]
tests/asgi/test_response_media_asgi.py::test_unknown_media_type PASSED   [  7%]
tests/asgi/test_response_media_asgi.py::test_default_media_type PASSED   [  7%]
tests/asgi/test_response_media_asgi.py::test_mimeparse_edgecases[True] PASSED [  7%]
tests/asgi/test_response_media_asgi.py::test_mimeparse_edgecases[False] PASSED [  7%]
tests/asgi/test_response_media_asgi.py::TestRenderBodyPrecedence::test_text PASSED [  7%]
tests/asgi/test_response_media_asgi.py::TestRenderBodyPrecedence::test_body PASSED [  7%]
tests/asgi/test_response_media_asgi.py::TestRenderBodyPrecedence::test_data PASSED [  7%]
tests/asgi/test_response_media_asgi.py::TestRenderBodyPrecedence::test_data_masquerading_as_text PASSED [  7%]
tests/asgi/test_response_media_asgi.py::TestRenderBodyPrecedence::test_media PASSED [  7%]
tests/asgi/test_response_media_asgi.py::test_media_rendered_cached PASSED [  7%]
tests/asgi/test_response_media_asgi.py::test_custom_render_body PASSED   [  7%]
tests/asgi/test_scheduled_callbacks.py::test_multiple PASSED             [  7%]
tests/asgi/test_scheduled_callbacks.py::test_callback[GET-/-Hello, World!\n] PASSED [  7%]
tests/asgi/test_scheduled_callbacks.py::test_callback[HEAD-/-] PASSED    [  7%]
tests/asgi/test_scheduled_callbacks.py::test_callback[GET-/sse-: ping\n\n] PASSED [  7%]
tests/asgi/test_scheduled_callbacks.py::test_callback[GET-/stream-One\nTwo\nThree\n] PASSED [  7%]
tests/asgi/test_scope.py::test_missing_asgi_version PASSED               [  7%]
tests/asgi/test_scope.py::test_unsupported_http_version[0.9] PASSED      [  8%]
tests/asgi/test_scope.py::test_unsupported_http_version[1.9] PASSED      [  8%]
tests/asgi/test_scope.py::test_unsupported_http_version[4.0] PASSED      [  8%]
tests/asgi/test_scope.py::test_unsupported_http_version[1337] PASSED     [  8%]
tests/asgi/test_scope.py::test_supported_asgi_version[3.0-True] PASSED   [  8%]
tests/asgi/test_scope.py::test_supported_asgi_version[3.1-True] PASSED   [  8%]
tests/asgi/test_scope.py::test_supported_asgi_version[3.10-True] PASSED  [  8%]
tests/asgi/test_scope.py::test_supported_asgi_version[30.0-False] PASSED [  8%]
tests/asgi/test_scope.py::test_supported_asgi_version[31.0-False] PASSED [  8%]
tests/asgi/test_scope.py::test_supported_asgi_version[4.0-False] PASSED  [  8%]
tests/asgi/test_scope.py::test_supported_asgi_version[4.1-False] PASSED  [  8%]
tests/asgi/test_scope.py::test_supported_asgi_version[4.10-False] PASSED [  8%]
tests/asgi/test_scope.py::test_supported_asgi_version[40.0-False] PASSED [  8%]
tests/asgi/test_scope.py::test_supported_asgi_version[41.0-False] PASSED [  8%]
tests/asgi/test_scope.py::test_supported_asgi_version[2.0-False] PASSED  [  8%]
tests/asgi/test_scope.py::test_supported_asgi_version[2.1-False] PASSED  [  8%]
tests/asgi/test_scope.py::test_supported_asgi_version[2.10-False] PASSED [  8%]
tests/asgi/test_scope.py::test_supported_asgi_version[None-False] PASSED [  8%]
tests/asgi/test_scope.py::test_unsupported_scope_type[tubes] PASSED      [  8%]
tests/asgi/test_scope.py::test_unsupported_scope_type[http3] PASSED      [  8%]
tests/asgi/test_scope.py::test_unsupported_scope_type[htt] PASSED        [  8%]
tests/asgi/test_scope.py::test_supported_http_spec[0.0-False] PASSED     [  8%]
tests/asgi/test_scope.py::test_supported_http_spec[1.0-False] PASSED     [  8%]
tests/asgi/test_scope.py::test_supported_http_spec[11.0-False] PASSED    [  8%]
tests/asgi/test_scope.py::test_supported_http_spec[2.0-True] PASSED      [  8%]
tests/asgi/test_scope.py::test_supported_http_spec[2.1-True] PASSED      [  8%]
tests/asgi/test_scope.py::test_supported_http_spec[2.10-True] PASSED     [  8%]
tests/asgi/test_scope.py::test_supported_http_spec[20.0-False] PASSED    [  8%]
tests/asgi/test_scope.py::test_supported_http_spec[22.0-False] PASSED    [  8%]
tests/asgi/test_scope.py::test_supported_http_spec[3.0-False] PASSED     [  8%]
tests/asgi/test_scope.py::test_supported_http_spec[3.1-False] PASSED     [  8%]
tests/asgi/test_scope.py::test_supported_http_spec[30.0-False] PASSED    [  8%]
tests/asgi/test_scope.py::test_lifespan_scope_default_version PASSED     [  8%]
tests/asgi/test_scope.py::test_lifespan_scope_version[0.0-False] PASSED  [  9%]
tests/asgi/test_scope.py::test_lifespan_scope_version[1.0-True] PASSED   [  9%]
tests/asgi/test_scope.py::test_lifespan_scope_version[1.1-True] PASSED   [  9%]
tests/asgi/test_scope.py::test_lifespan_scope_version[1.10-True] PASSED  [  9%]
tests/asgi/test_scope.py::test_lifespan_scope_version[2.0-True] PASSED   [  9%]
tests/asgi/test_scope.py::test_lifespan_scope_version[2.1-True] PASSED   [  9%]
tests/asgi/test_scope.py::test_lifespan_scope_version[2.10-True] PASSED  [  9%]
tests/asgi/test_scope.py::test_lifespan_scope_version[3.0-False] PASSED  [  9%]
tests/asgi/test_scope.py::test_lifespan_scope_version[4.0-False] PASSED  [  9%]
tests/asgi/test_scope.py::test_lifespan_scope_version[11.0-False] PASSED [  9%]
tests/asgi/test_scope.py::test_lifespan_scope_version[22.0-False] PASSED [  9%]
tests/asgi/test_scope.py::test_query_string_values PASSED                [  9%]
tests/asgi/test_scope.py::test_scheme[http-True] PASSED                  [  9%]
tests/asgi/test_scope.py::test_scheme[https-True] PASSED                 [  9%]
tests/asgi/test_scope.py::test_scheme[htt-False] PASSED                  [  9%]
tests/asgi/test_scope.py::test_scheme[http:-False] PASSED                [  9%]
tests/asgi/test_scope.py::test_scheme[https:-False] PASSED               [  9%]
tests/asgi/test_scope.py::test_scheme[ftp-False] PASSED                  [  9%]
tests/asgi/test_scope.py::test_scheme[gopher-False] PASSED               [  9%]
tests/asgi/test_scope.py::test_cookies[cookies0] PASSED                  [  9%]
tests/asgi/test_scope.py::test_cookies[cookies1] PASSED                  [  9%]
tests/asgi/test_scope.py::test_cookies_options_meathod PASSED            [  9%]
tests/asgi/test_sse.py::test_no_events PASSED                            [  9%]
tests/asgi/test_sse.py::test_single_event PASSED                         [  9%]
tests/asgi/test_sse.py::test_multiple_events PASSED                      [  9%]
tests/asgi/test_sse.py::test_multiple_events_early_disconnect PASSED     [  9%]
tests/asgi/test_sse.py::TestSerializeJson::test_use_media_handler_dumps PASSED [  9%]
tests/asgi/test_sse.py::TestSerializeJson::test_no_json_media_handler PASSED [  9%]
tests/asgi/test_sse.py::test_invalid_event_values PASSED                 [  9%]
tests/asgi/test_sse.py::test_non_iterable PASSED                         [  9%]
tests/asgi/test_sync.py::test_sync_helpers PASSED                        [  9%]
tests/asgi/test_testing_asgi.py::test_asgi_request_event_emitter_hang SKIPPED [  9%]
tests/asgi/test_testing_asgi.py::test_ignore_extra_asgi_events SKIPPED   [  9%]
tests/asgi/test_testing_asgi.py::test_invalid_asgi_events SKIPPED (a...) [ 10%]
tests/asgi/test_testing_asgi.py::test_is_asgi_app_cls PASSED             [ 10%]
tests/asgi/test_testing_asgi.py::test_cookies_jar PASSED                 [ 10%]
tests/asgi/test_testing_asgi.py::test_create_scope_default_ua PASSED     [ 10%]
tests/asgi/test_testing_asgi.py::test_create_scope_default_ua_override PASSED [ 10%]
tests/asgi/test_testing_asgi.py::test_create_scope_default_ua_modify_global PASSED [ 10%]
tests/asgi/test_testing_asgi.py::test_missing_header_is_none PASSED      [ 10%]
tests/asgi/test_testing_asgi.py::test_immediate_disconnect PASSED        [ 10%]
tests/asgi/test_ws.py::test_ws_not_accepted[/ws/yes] SKIPPED (async ...) [ 10%]
tests/asgi/test_ws.py::test_ws_not_accepted[/ws/no] SKIPPED (async d...) [ 10%]
tests/asgi/test_ws.py::test_echo SKIPPED (async def function and no ...) [ 10%]
tests/asgi/test_ws.py::test_path_not_found SKIPPED (async def functi...) [ 10%]
tests/asgi/test_ws.py::test_responder_raises_unhandled_error[True] SKIPPED [ 10%]
tests/asgi/test_ws.py::test_responder_raises_unhandled_error[False] SKIPPED [ 10%]
tests/asgi/test_ws.py::test_client_disconnect_early[True-True-send] SKIPPED [ 10%]
tests/asgi/test_ws.py::test_client_disconnect_early[True-True-receive] SKIPPED [ 10%]
tests/asgi/test_ws.py::test_client_disconnect_early[True-False-send] SKIPPED [ 10%]
tests/asgi/test_ws.py::test_client_disconnect_early[True-False-receive] SKIPPED [ 10%]
tests/asgi/test_ws.py::test_client_disconnect_early[False-True-send] SKIPPED [ 10%]
tests/asgi/test_ws.py::test_client_disconnect_early[False-True-receive] SKIPPED [ 10%]
tests/asgi/test_ws.py::test_client_disconnect_early[False-False-send] SKIPPED [ 10%]
tests/asgi/test_ws.py::test_client_disconnect_early[False-False-receive] SKIPPED [ 10%]
tests/asgi/test_ws.py::test_media[True-True] SKIPPED (async def func...) [ 10%]
tests/asgi/test_ws.py::test_media[True-False] SKIPPED (async def fun...) [ 10%]
tests/asgi/test_ws.py::test_media[False-True] SKIPPED (async def fun...) [ 10%]
tests/asgi/test_ws.py::test_media[False-False] SKIPPED (async def fu...) [ 10%]
tests/asgi/test_ws.py::test_send_receive_data[123] SKIPPED (async de...) [ 10%]
tests/asgi/test_ws.py::test_send_receive_data[] SKIPPED (async def f...) [ 10%]
tests/asgi/test_ws.py::test_send_receive_data[\xe1\x9a\xa0\xe1] SKIPPED  [ 10%]
tests/asgi/test_ws.py::test_send_receive_data[\x00] SKIPPED (async d...) [ 10%]
tests/asgi/test_ws.py::test_subprotocol[subprotocols0] SKIPPED (asyn...) [ 10%]
tests/asgi/test_ws.py::test_subprotocol[subprotocols1] SKIPPED (asyn...) [ 10%]
tests/asgi/test_ws.py::test_subprotocol[subprotocols2] SKIPPED (asyn...) [ 10%]
tests/asgi/test_ws.py::test_subprotocol[None] SKIPPED (async def fun...) [ 11%]
tests/asgi/test_ws.py::test_accept_with_headers[None] SKIPPED (async...) [ 11%]
tests/asgi/test_ws.py::test_accept_with_headers[headers1] SKIPPED (a...) [ 11%]
tests/asgi/test_ws.py::test_accept_with_headers[headers2] SKIPPED (a...) [ 11%]
tests/asgi/test_ws.py::test_accept_with_headers[headers3] SKIPPED (a...) [ 11%]
tests/asgi/test_ws.py::test_accept_with_headers[headers4] SKIPPED (a...) [ 11%]
tests/asgi/test_ws.py::test_accept_with_headers[headers5] SKIPPED (a...) [ 11%]
tests/asgi/test_ws.py::test_accept_with_headers[headers6] SKIPPED (a...) [ 11%]
tests/asgi/test_ws.py::test_accept_with_bad_headers[headers0] SKIPPED    [ 11%]
tests/asgi/test_ws.py::test_accept_with_bad_headers[headers1] SKIPPED    [ 11%]
tests/asgi/test_ws.py::test_accept_with_bad_headers[headers2] SKIPPED    [ 11%]
tests/asgi/test_ws.py::test_accept_with_headers_not_supported SKIPPED    [ 11%]
tests/asgi/test_ws.py::test_missing_ws_handler SKIPPED (async def fu...) [ 11%]
tests/asgi/test_ws.py::test_unexpected_param SKIPPED (async def func...) [ 11%]
tests/asgi/test_ws.py::test_subprotocol_bad_type[DEADBEEF] SKIPPED (...) [ 11%]
tests/asgi/test_ws.py::test_subprotocol_bad_type[subprotocol1] SKIPPED   [ 11%]
tests/asgi/test_ws.py::test_subprotocol_bad_type[subprotocol2] SKIPPED   [ 11%]
tests/asgi/test_ws.py::test_subprotocol_bad_type[subprotocol3] SKIPPED   [ 11%]
tests/asgi/test_ws.py::test_subprotocol_bad_type[subprotocol4] SKIPPED   [ 11%]
tests/asgi/test_ws.py::test_subprotocol_bad_type[OK] SKIPPED (async ...) [ 11%]
tests/asgi/test_ws.py::test_send_receive_wrong_type SKIPPED (async d...) [ 11%]
tests/asgi/test_ws.py::test_client_disconnect_uncaught_error[999] SKIPPED [ 11%]
tests/asgi/test_ws.py::test_client_disconnect_uncaught_error[100] SKIPPED [ 11%]
tests/asgi/test_ws.py::test_client_disconnect_uncaught_error[0] SKIPPED  [ 11%]
tests/asgi/test_ws.py::test_client_disconnect_uncaught_error[-1] SKIPPED [ 11%]
tests/asgi/test_ws.py::test_client_disconnect_uncaught_error[1004] SKIPPED [ 11%]
tests/asgi/test_ws.py::test_client_disconnect_uncaught_error[1005] SKIPPED [ 11%]
tests/asgi/test_ws.py::test_client_disconnect_uncaught_error[1006] SKIPPED [ 11%]
tests/asgi/test_ws.py::test_client_disconnect_uncaught_error[1015] SKIPPED [ 11%]
tests/asgi/test_ws.py::test_client_disconnect_uncaught_error[1016] SKIPPED [ 11%]
tests/asgi/test_ws.py::test_client_disconnect_uncaught_error[1017] SKIPPED [ 11%]
tests/asgi/test_ws.py::test_client_disconnect_uncaught_error[1050] SKIPPED [ 11%]
tests/asgi/test_ws.py::test_client_disconnect_uncaught_error[1099] SKIPPED [ 11%]
tests/asgi/test_ws.py::test_client_disconnect_uncaught_error[NaN] SKIPPED [ 11%]
tests/asgi/test_ws.py::test_mw_methods_must_be_coroutines PASSED         [ 12%]
tests/asgi/test_ws.py::test_bad_spec_version[1.9] SKIPPED (async def...) [ 12%]
tests/asgi/test_ws.py::test_bad_spec_version[20.5] SKIPPED (async de...) [ 12%]
tests/asgi/test_ws.py::test_bad_spec_version[3.0] SKIPPED (async def...) [ 12%]
tests/asgi/test_ws.py::test_bad_spec_version[3.1] SKIPPED (async def...) [ 12%]
tests/asgi/test_ws.py::test_bad_http_version[1.0] SKIPPED (async def...) [ 12%]
tests/asgi/test_ws.py::test_bad_http_version[1] SKIPPED (async def f...) [ 12%]
tests/asgi/test_ws.py::test_bad_first_event SKIPPED (async def funct...) [ 12%]
tests/asgi/test_ws.py::test_missing_http_version SKIPPED (async def ...) [ 12%]
tests/asgi/test_ws.py::test_missing_spec_version SKIPPED (async def ...) [ 12%]
tests/asgi/test_ws.py::test_translate_webserver_error SKIPPED (async...) [ 12%]
tests/asgi/test_ws.py::test_ws_base_not_implemented PASSED               [ 12%]
tests/asgi/test_ws.py::test_ws_context_timeout SKIPPED (async def fu...) [ 12%]
tests/asgi/test_ws.py::test_ws_simulator_client_require_accepted SKIPPED [ 12%]
tests/asgi/test_ws.py::test_ws_simulator_collect_edge_cases SKIPPED      [ 12%]
tests/asgi/test_ws.py::test_msgpack_missing SKIPPED (test requires m...) [ 12%]
tests/test_after_hooks.py::test_output_validator[asgi] PASSED            [ 12%]
tests/test_after_hooks.py::test_output_validator[wsgi] PASSED            [ 12%]
tests/test_after_hooks.py::test_serializer[asgi] PASSED                  [ 12%]
tests/test_after_hooks.py::test_serializer[wsgi] PASSED                  [ 12%]
tests/test_after_hooks.py::test_hook_as_callable_class[asgi] PASSED      [ 12%]
tests/test_after_hooks.py::test_hook_as_callable_class[wsgi] PASSED      [ 12%]
tests/test_after_hooks.py::test_resource_with_uri_fields[asgi-resource0] PASSED [ 12%]
tests/test_after_hooks.py::test_resource_with_uri_fields[asgi-resource1] PASSED [ 12%]
tests/test_after_hooks.py::test_resource_with_uri_fields[wsgi-resource0] PASSED [ 12%]
tests/test_after_hooks.py::test_resource_with_uri_fields[wsgi-resource1] PASSED [ 12%]
tests/test_after_hooks.py::test_resource_with_uri_fields_async PASSED    [ 12%]
tests/test_after_hooks.py::test_wrapped_resource[asgi-resource0] PASSED  [ 12%]
tests/test_after_hooks.py::test_wrapped_resource[asgi-resource1] PASSED  [ 12%]
tests/test_after_hooks.py::test_wrapped_resource[wsgi-resource0] PASSED  [ 12%]
tests/test_after_hooks.py::test_wrapped_resource[wsgi-resource1] PASSED  [ 12%]
tests/test_after_hooks.py::test_wrapped_resource_with_hooks_aware_of_resource[asgi] PASSED [ 12%]
tests/test_after_hooks.py::test_wrapped_resource_with_hooks_aware_of_resource[wsgi] PASSED [ 12%]
tests/test_after_hooks.py::test_after_hooks_on_suffixed_resource[paper-/once-paper, rock, scissors] PASSED [ 13%]
tests/test_after_hooks.py::test_after_hooks_on_suffixed_resource[scissors-/twice-scissors, paper, rock, scissors] PASSED [ 13%]
tests/test_after_hooks.py::test_after_hooks_on_suffixed_resource[rock-/thrice-rock, scissors, paper, rock, scissors] PASSED [ 13%]
tests/test_after_hooks.py::test_after_hooks_on_suffixed_resource[paper-/thrice-paper, rock, scissors, paper, rock] PASSED [ 13%]
tests/test_alias.py::test_cookies PASSED                                 [ 13%]
tests/test_alias.py::test_alias_equals_to_app PASSED                     [ 13%]
tests/test_app_initializers.py::test_api_media_type_overriding[App] PASSED [ 13%]
tests/test_app_initializers.py::test_api_media_type_overriding[API] PASSED [ 13%]
tests/test_before_hooks.py::test_multiple_resource_hooks[asgi-resource0] PASSED [ 13%]
tests/test_before_hooks.py::test_multiple_resource_hooks[asgi-resource1] PASSED [ 13%]
tests/test_before_hooks.py::test_multiple_resource_hooks[wsgi-resource0] PASSED [ 13%]
tests/test_before_hooks.py::test_multiple_resource_hooks[wsgi-resource1] PASSED [ 13%]
tests/test_before_hooks.py::test_input_validator[asgi] PASSED            [ 13%]
tests/test_before_hooks.py::test_input_validator[wsgi] PASSED            [ 13%]
tests/test_before_hooks.py::test_input_validator_inherited[asgi] PASSED  [ 13%]
tests/test_before_hooks.py::test_input_validator_inherited[wsgi] PASSED  [ 13%]
tests/test_before_hooks.py::test_param_validator[asgi] PASSED            [ 13%]
tests/test_before_hooks.py::test_param_validator[wsgi] PASSED            [ 13%]
tests/test_before_hooks.py::test_field_validator[asgi-resource0] PASSED  [ 13%]
tests/test_before_hooks.py::test_field_validator[asgi-resource1] PASSED  [ 13%]
tests/test_before_hooks.py::test_field_validator[asgi-resource2] PASSED  [ 13%]
tests/test_before_hooks.py::test_field_validator[wsgi-resource0] PASSED  [ 13%]
tests/test_before_hooks.py::test_field_validator[wsgi-resource1] PASSED  [ 13%]
tests/test_before_hooks.py::test_field_validator[wsgi-resource2] PASSED  [ 13%]
tests/test_before_hooks.py::test_parser_sync[{"animal": "falcon"}-doc0] PASSED [ 13%]
tests/test_before_hooks.py::test_parser_sync[{}-doc1] PASSED             [ 13%]
tests/test_before_hooks.py::test_parser_sync[-None] PASSED               [ 13%]
tests/test_before_hooks.py::test_parser_sync[None-None] PASSED           [ 13%]
tests/test_before_hooks.py::test_parser_async[{"animal": "falcon"}-doc0] PASSED [ 13%]
tests/test_before_hooks.py::test_parser_async[{}-doc1] PASSED            [ 13%]
tests/test_before_hooks.py::test_parser_async[-None] PASSED              [ 13%]
tests/test_before_hooks.py::test_parser_async[None-None] PASSED          [ 13%]
tests/test_before_hooks.py::test_wrapped_resource[asgi] PASSED           [ 13%]
tests/test_before_hooks.py::test_wrapped_resource[wsgi] PASSED           [ 14%]
tests/test_before_hooks.py::test_wrapped_resource_with_hooks_aware_of_resource[asgi] PASSED [ 14%]
tests/test_before_hooks.py::test_wrapped_resource_with_hooks_aware_of_resource[wsgi] PASSED [ 14%]
tests/test_before_hooks.py::test_piggybacking_resource_post_item[True] PASSED [ 14%]
tests/test_before_hooks.py::test_piggybacking_resource_post_item[False] PASSED [ 14%]
tests/test_before_hooks.py::test_piggybacking_resource_post_and_delete[True] PASSED [ 14%]
tests/test_before_hooks.py::test_piggybacking_resource_post_and_delete[False] PASSED [ 14%]
tests/test_before_hooks.py::test_decorable_name_pattern PASSED           [ 14%]
tests/test_boundedstream.py::test_not_writable PASSED                    [ 14%]
tests/test_buffered_reader.py::test_peek PASSED                          [ 14%]
tests/test_buffered_reader.py::test_peek_eof PASSED                      [ 14%]
tests/test_buffered_reader.py::test_bounded_read PASSED                  [ 14%]
tests/test_buffered_reader.py::test_read_from_buffer[0] PASSED           [ 14%]
tests/test_buffered_reader.py::test_read_from_buffer[1] PASSED           [ 14%]
tests/test_buffered_reader.py::test_read_from_buffer[2] PASSED           [ 14%]
tests/test_buffered_reader.py::test_read_from_buffer[7] PASSED           [ 14%]
tests/test_buffered_reader.py::test_read_from_buffer[62] PASSED          [ 14%]
tests/test_buffered_reader.py::test_read_from_buffer[63] PASSED          [ 14%]
tests/test_buffered_reader.py::test_read_from_buffer[64] PASSED          [ 14%]
tests/test_buffered_reader.py::test_read_from_buffer[65] PASSED          [ 14%]
tests/test_buffered_reader.py::test_read_from_buffer[126] PASSED         [ 14%]
tests/test_buffered_reader.py::test_read_from_buffer[127] PASSED         [ 14%]
tests/test_buffered_reader.py::test_read_from_buffer[128] PASSED         [ 14%]
tests/test_buffered_reader.py::test_read_from_buffer[129] PASSED         [ 14%]
tests/test_buffered_reader.py::test_read_from_buffer[1000] PASSED        [ 14%]
tests/test_buffered_reader.py::test_read_from_buffer[10000] PASSED       [ 14%]
tests/test_buffered_reader.py::test_read_until_delimiter_size_check PASSED [ 14%]
tests/test_buffered_reader.py::test_read_until_with_size[0] PASSED       [ 14%]
tests/test_buffered_reader.py::test_read_until_with_size[1] PASSED       [ 14%]
tests/test_buffered_reader.py::test_read_until_with_size[2] PASSED       [ 14%]
tests/test_buffered_reader.py::test_read_until_with_size[7] PASSED       [ 14%]
tests/test_buffered_reader.py::test_read_until_with_size[62] PASSED      [ 14%]
tests/test_buffered_reader.py::test_read_until_with_size[63] PASSED      [ 14%]
tests/test_buffered_reader.py::test_read_until_with_size[64] PASSED      [ 15%]
tests/test_buffered_reader.py::test_read_until_with_size[65] PASSED      [ 15%]
tests/test_buffered_reader.py::test_read_until_with_size[126] PASSED     [ 15%]
tests/test_buffered_reader.py::test_read_until_with_size[127] PASSED     [ 15%]
tests/test_buffered_reader.py::test_read_until_with_size[128] PASSED     [ 15%]
tests/test_buffered_reader.py::test_read_until_with_size[129] PASSED     [ 15%]
tests/test_buffered_reader.py::test_read_until_with_size[1000] PASSED    [ 15%]
tests/test_buffered_reader.py::test_read_until_with_size[10000] PASSED   [ 15%]
tests/test_buffered_reader.py::test_read_until PASSED                    [ 15%]
tests/test_buffered_reader.py::test_irregular_large_read_until[11003077-22000721] PASSED [ 15%]
tests/test_buffered_reader.py::test_irregular_large_read_until[13372477-51637898] PASSED [ 15%]
tests/test_buffered_reader.py::test_read_until_from_buffer[0] PASSED     [ 15%]
tests/test_buffered_reader.py::test_read_until_from_buffer[1] PASSED     [ 15%]
tests/test_buffered_reader.py::test_read_until_from_buffer[2] PASSED     [ 15%]
tests/test_buffered_reader.py::test_read_until_from_buffer[7] PASSED     [ 15%]
tests/test_buffered_reader.py::test_read_until_from_buffer[62] PASSED    [ 15%]
tests/test_buffered_reader.py::test_read_until_from_buffer[63] PASSED    [ 15%]
tests/test_buffered_reader.py::test_read_until_from_buffer[64] PASSED    [ 15%]
tests/test_buffered_reader.py::test_read_until_from_buffer[65] PASSED    [ 15%]
tests/test_buffered_reader.py::test_read_until_from_buffer[126] PASSED   [ 15%]
tests/test_buffered_reader.py::test_read_until_from_buffer[127] PASSED   [ 15%]
tests/test_buffered_reader.py::test_read_until_from_buffer[128] PASSED   [ 15%]
tests/test_buffered_reader.py::test_read_until_from_buffer[129] PASSED   [ 15%]
tests/test_buffered_reader.py::test_read_until_from_buffer[1000] PASSED  [ 15%]
tests/test_buffered_reader.py::test_read_until_missing_delimiter PASSED  [ 15%]
tests/test_buffered_reader.py::test_consume_delimiter PASSED             [ 15%]
tests/test_buffered_reader.py::test_read_until_shared_boundary[46] PASSED [ 15%]
tests/test_buffered_reader.py::test_read_until_shared_boundary[47] PASSED [ 15%]
tests/test_buffered_reader.py::test_read_until_shared_boundary[48] PASSED [ 15%]
tests/test_buffered_reader.py::test_read_until_shared_boundary[49] PASSED [ 15%]
tests/test_buffered_reader.py::test_read_until_shared_boundary[50] PASSED [ 15%]
tests/test_buffered_reader.py::test_read_until_shared_boundary[51] PASSED [ 15%]
tests/test_buffered_reader.py::test_read_until_shared_boundary[52] PASSED [ 15%]
tests/test_buffered_reader.py::test_read_until_shared_boundary[53] PASSED [ 16%]
tests/test_buffered_reader.py::test_read_until_shared_boundary[54] PASSED [ 16%]
tests/test_buffered_reader.py::test_read_until_shared_boundary[55] PASSED [ 16%]
tests/test_buffered_reader.py::test_read_until_shared_boundary[56] PASSED [ 16%]
tests/test_buffered_reader.py::test_read_until_shared_boundary[57] PASSED [ 16%]
tests/test_buffered_reader.py::test_read_until_shared_boundary[58] PASSED [ 16%]
tests/test_buffered_reader.py::test_read_until_shared_boundary[59] PASSED [ 16%]
tests/test_buffered_reader.py::test_read_until_shared_boundary[60] PASSED [ 16%]
tests/test_buffered_reader.py::test_read_until_shared_boundary[61] PASSED [ 16%]
tests/test_buffered_reader.py::test_read_until_shared_boundary[62] PASSED [ 16%]
tests/test_buffered_reader.py::test_pipe PASSED                          [ 16%]
tests/test_buffered_reader.py::test_pipe_until PASSED                    [ 16%]
tests/test_buffered_reader.py::test_pipe_until_without_destination PASSED [ 16%]
tests/test_buffered_reader.py::test_exhaust PASSED                       [ 16%]
tests/test_buffered_reader.py::test_readline PASSED                      [ 16%]
tests/test_buffered_reader.py::test_readline_with_size PASSED            [ 16%]
tests/test_buffered_reader.py::test_readlines PASSED                     [ 16%]
tests/test_buffered_reader.py::test_readlines_hint[8] PASSED             [ 16%]
tests/test_buffered_reader.py::test_readlines_hint[16] PASSED            [ 16%]
tests/test_buffered_reader.py::test_readlines_hint[256] PASSED           [ 16%]
tests/test_buffered_reader.py::test_readlines_hint[1024] PASSED          [ 16%]
tests/test_buffered_reader.py::test_readlines_hint[65536] PASSED         [ 16%]
tests/test_buffered_reader.py::test_duck_compatibility_with_io_base PASSED [ 16%]
tests/test_buffered_reader.py::test_fragmented_reads PASSED              [ 16%]
tests/test_cmd_inspect_app.py::TestMakeParser::test_make_parser[args0-exp0] PASSED [ 16%]
tests/test_cmd_inspect_app.py::TestMakeParser::test_make_parser[args1-exp1] PASSED [ 16%]
tests/test_cmd_inspect_app.py::TestMakeParser::test_make_parser[args2-exp2] PASSED [ 16%]
tests/test_cmd_inspect_app.py::TestMakeParser::test_make_parser[args3-exp3] PASSED [ 16%]
tests/test_cmd_inspect_app.py::TestMakeParser::test_make_parser[args4-exp4] PASSED [ 16%]
tests/test_cmd_inspect_app.py::TestMakeParser::test_make_parser[args5-exp5] PASSED [ 16%]
tests/test_cmd_inspect_app.py::TestMakeParser::test_make_parser[args6-exp6] PASSED [ 16%]
tests/test_cmd_inspect_app.py::TestMakeParser::test_make_parser[args7-exp7] PASSED [ 16%]
tests/test_cmd_inspect_app.py::TestMakeParser::test_make_parser_error PASSED [ 16%]
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 [ 17%]
tests/test_cmd_inspect_app.py::TestLoadApp::test_load_app_error[foo] PASSED [ 17%]
tests/test_cmd_inspect_app.py::TestLoadApp::test_load_app_error[_MODULE] PASSED [ 17%]
tests/test_cmd_inspect_app.py::TestLoadApp::test_load_app_error[DummyResource] PASSED [ 17%]
tests/test_cmd_inspect_app.py::TestLoadApp::test_load_app_module_error PASSED [ 17%]
tests/test_cmd_inspect_app.py::TestMain::test_routes_only[internal-verbose] PASSED [ 17%]
tests/test_cmd_inspect_app.py::TestMain::test_routes_only[internal-not-verbose] PASSED [ 17%]
tests/test_cmd_inspect_app.py::TestMain::test_routes_only[not-internal-verbose] PASSED [ 17%]
tests/test_cmd_inspect_app.py::TestMain::test_routes_only[not-internal-not-verbose] PASSED [ 17%]
tests/test_cmd_inspect_app.py::TestMain::test_inspect[internal-verbose] PASSED [ 17%]
tests/test_cmd_inspect_app.py::TestMain::test_inspect[internal-not-verbose] PASSED [ 17%]
tests/test_cmd_inspect_app.py::TestMain::test_inspect[not-internal-verbose] PASSED [ 17%]
tests/test_cmd_inspect_app.py::TestMain::test_inspect[not-internal-not-verbose] PASSED [ 17%]
tests/test_cmd_inspect_app.py::test_route_main PASSED                    [ 17%]
tests/test_compiled_router.py::test_find_src PASSED                      [ 17%]
tests/test_compiled_router.py::test_no_compile_kw[kwargs0] PASSED        [ 17%]
tests/test_compiled_router.py::test_no_compile_kw[kwargs1] PASSED        [ 17%]
tests/test_compiled_router.py::test_no_compile_kw[kwargs2] PASSED        [ 17%]
tests/test_compiled_router.py::test_no_compile_kw[kwargs3] PASSED        [ 17%]
tests/test_compiled_router.py::test_compile PASSED                       [ 17%]
tests/test_compiled_router.py::test_add_route_after_first_request PASSED [ 17%]
tests/test_compiled_router.py::test_multithread_compile PASSED           [ 17%]
tests/test_cookies.py::test_response_base_case[asgi] PASSED              [ 17%]
tests/test_cookies.py::test_response_base_case[wsgi] PASSED              [ 17%]
tests/test_cookies.py::test_response_disable_secure_globally[asgi] PASSED [ 17%]
tests/test_cookies.py::test_response_disable_secure_globally[wsgi] PASSED [ 17%]
tests/test_cookies.py::test_response_complex_case[asgi] PASSED           [ 17%]
tests/test_cookies.py::test_response_complex_case[wsgi] PASSED           [ 17%]
tests/test_cookies.py::test_unset_cookies[asgi] PASSED                   [ 17%]
tests/test_cookies.py::test_unset_cookies[wsgi] PASSED                   [ 17%]
tests/test_cookies.py::test_cookie_expires_naive[asgi] PASSED            [ 17%]
tests/test_cookies.py::test_cookie_expires_naive[wsgi] PASSED            [ 17%]
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[asgi] PASSED                 [ 18%]
tests/test_cookies.py::test_cookies_setable[wsgi] PASSED                 [ 18%]
tests/test_cookies.py::test_cookie_max_age_float_and_string[asgi-foofloat] PASSED [ 18%]
tests/test_cookies.py::test_cookie_max_age_float_and_string[asgi-foostring] PASSED [ 18%]
tests/test_cookies.py::test_cookie_max_age_float_and_string[wsgi-foofloat] PASSED [ 18%]
tests/test_cookies.py::test_cookie_max_age_float_and_string[wsgi-foostring] PASSED [ 18%]
tests/test_cookies.py::test_response_unset_cookie[asgi] PASSED           [ 18%]
tests/test_cookies.py::test_response_unset_cookie[wsgi] PASSED           [ 18%]
tests/test_cookies.py::test_cookie_timezone[asgi] PASSED                 [ 18%]
tests/test_cookies.py::test_cookie_timezone[wsgi] PASSED                 [ 18%]
tests/test_cookies.py::test_request_cookie_parsing PASSED                [ 18%]
tests/test_cookies.py::test_invalid_cookies_are_ignored PASSED           [ 18%]
tests/test_cookies.py::test_duplicate_cookie PASSED                      [ 18%]
tests/test_cookies.py::test_cookie_header_is_missing PASSED              [ 18%]
tests/test_cookies.py::test_unicode_inside_ascii_range PASSED            [ 18%]
tests/test_cookies.py::test_non_ascii_name[Unicode_\xc3\xa6\xc3\xb8] PASSED [ 18%]
tests/test_cookies.py::test_non_ascii_name[Unicode_\xc3\x83\xc2\xa6\xc3\x83\xc2\xb8] PASSED [ 18%]
tests/test_cookies.py::test_non_ascii_name[42] PASSED                    [ 18%]
tests/test_cookies.py::test_non_ascii_value[Unicode_\xc3\xa6\xc3\xb8] PASSED [ 18%]
tests/test_cookies.py::test_non_ascii_value[Unicode_\xc3\x83\xc2\xa6\xc3\x83\xc2\xb8] PASSED [ 18%]
tests/test_cookies.py::test_non_ascii_value[42] PASSED                   [ 18%]
tests/test_cookies.py::test_lax_same_site_value[asgi] PASSED             [ 18%]
tests/test_cookies.py::test_lax_same_site_value[wsgi] PASSED             [ 18%]
tests/test_cookies.py::test_strict_same_site_value[asgi] PASSED          [ 18%]
tests/test_cookies.py::test_strict_same_site_value[wsgi] PASSED          [ 18%]
tests/test_cookies.py::test_none_same_site_value[asgi] PASSED            [ 18%]
tests/test_cookies.py::test_none_same_site_value[wsgi] PASSED            [ 18%]
tests/test_cookies.py::test_same_site_empty_string[asgi] PASSED          [ 18%]
tests/test_cookies.py::test_same_site_empty_string[wsgi] PASSED          [ 18%]
tests/test_cookies.py::test_same_site_value_case_insensitive[laX] PASSED [ 18%]
tests/test_cookies.py::test_same_site_value_case_insensitive[lax] PASSED [ 18%]
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_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 [ 19%]
tests/test_cors_middleware.py::TestCorsMiddleware::test_enabled_cors_should_add_extra_headers_on_response[asgi] PASSED [ 19%]
tests/test_cors_middleware.py::TestCorsMiddleware::test_enabled_cors_should_add_extra_headers_on_response[wsgi] PASSED [ 19%]
tests/test_cors_middleware.py::TestCorsMiddleware::test_enabled_cors_should_accept_all_origins_requests[asgi] PASSED [ 19%]
tests/test_cors_middleware.py::TestCorsMiddleware::test_enabled_cors_should_accept_all_origins_requests[wsgi] PASSED [ 19%]
tests/test_cors_middleware.py::TestCorsMiddleware::test_enabled_cors_handles_preflighting[asgi] PASSED [ 19%]
tests/test_cors_middleware.py::TestCorsMiddleware::test_enabled_cors_handles_preflighting[wsgi] PASSED [ 19%]
tests/test_cors_middleware.py::TestCorsMiddleware::test_enabled_cors_handles_preflighting_no_headers_in_req[asgi] PASSED [ 19%]
tests/test_cors_middleware.py::TestCorsMiddleware::test_enabled_cors_handles_preflighting_no_headers_in_req[wsgi] PASSED [ 19%]
tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_raises PASSED [ 19%]
tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_allow_origin[asgi-*-fail_origins0-success_origins0] PASSED [ 19%]
tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_allow_origin[asgi-test-fail_origins1-success_origins1] PASSED [ 19%]
tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_allow_origin[asgi-allow2-fail_origins2-success_origins2] PASSED [ 19%]
tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_allow_origin[wsgi-*-fail_origins0-success_origins0] PASSED [ 19%]
tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_allow_origin[wsgi-test-fail_origins1-success_origins1] PASSED [ 19%]
tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_allow_origin[wsgi-allow2-fail_origins2-success_origins2] PASSED [ 19%]
tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_allow_credential_wildcard[asgi] PASSED [ 19%]
tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_allow_credential_wildcard[wsgi] PASSED [ 19%]
tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_allow_credential_list_or_str[asgi-allow0-successOrigin0] PASSED [ 19%]
tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_allow_credential_list_or_str[asgi-foo-successOrigin1] PASSED [ 19%]
tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_allow_credential_list_or_str[wsgi-allow0-successOrigin0] PASSED [ 19%]
tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_allow_credential_list_or_str[wsgi-foo-successOrigin1] PASSED [ 19%]
tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_allow_credential_existing_origin[asgi] PASSED [ 19%]
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[True] PASSED [ 20%]
tests/test_custom_router.py::test_custom_router_add_route_should_be_used[False] PASSED [ 20%]
tests/test_custom_router.py::test_custom_router_find_should_be_used[True] PASSED [ 20%]
tests/test_custom_router.py::test_custom_router_find_should_be_used[False] PASSED [ 20%]
tests/test_custom_router.py::test_can_pass_additional_params_to_add_route[True] PASSED [ 20%]
tests/test_custom_router.py::test_can_pass_additional_params_to_add_route[False] PASSED [ 20%]
tests/test_custom_router.py::test_custom_router_takes_req_positional_argument[True] PASSED [ 20%]
tests/test_custom_router.py::test_custom_router_takes_req_positional_argument[False] PASSED [ 20%]
tests/test_custom_router.py::test_custom_router_takes_req_keyword_argument[True] PASSED [ 20%]
tests/test_custom_router.py::test_custom_router_takes_req_keyword_argument[False] PASSED [ 20%]
tests/test_default_router.py::test_user_regression_versioned_url PASSED  [ 20%]
tests/test_default_router.py::test_user_regression_recipes PASSED        [ 20%]
tests/test_default_router.py::test_user_regression_special_chars[/serviceRoot/People|{field}-/serviceRoot/People|susie-expected_params0] PASSED [ 20%]
tests/test_default_router.py::test_user_regression_special_chars[/serviceRoot/People[{field}]-/serviceRoot/People['calvin']-expected_params1] PASSED [ 20%]
tests/test_default_router.py::test_user_regression_special_chars[/serviceRoot/People({field})-/serviceRoot/People('hobbes')-expected_params2] PASSED [ 20%]
tests/test_default_router.py::test_user_regression_special_chars[/serviceRoot/People({field})-/serviceRoot/People('hob)bes')-expected_params3] PASSED [ 20%]
tests/test_default_router.py::test_user_regression_special_chars[/serviceRoot/People({field})(z)-/serviceRoot/People(hobbes)(z)-expected_params4] PASSED [ 20%]
tests/test_default_router.py::test_user_regression_special_chars[/serviceRoot/People('{field}')-/serviceRoot/People('rosalyn')-expected_params5] PASSED [ 20%]
tests/test_default_router.py::test_user_regression_special_chars[/^{field}-/^42-expected_params6] PASSED [ 20%]
tests/test_default_router.py::test_user_regression_special_chars[/+{field}-/+42-expected_params7] PASSED [ 20%]
tests/test_default_router.py::test_user_regression_special_chars[/foo/{first}_{second}/bar-/foo/abc_def_ghijk/bar-expected_params8] PASSED [ 20%]
tests/test_default_router.py::test_user_regression_special_chars[/items/{x}?{y}-/items/1080?768-expected_params9] PASSED [ 20%]
tests/test_default_router.py::test_user_regression_special_chars[/items/{x}|{y}-/items/1080|768-expected_params10] PASSED [ 20%]
tests/test_default_router.py::test_user_regression_special_chars[/items/{x},{y}-/items/1080,768-expected_params11] PASSED [ 20%]
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[uri_template0-True] PASSED    [ 21%]
tests/test_default_router.py::test_not_str[uri_template0-False] PASSED   [ 21%]
tests/test_default_router.py::test_not_str[uri_template1-True] PASSED    [ 21%]
tests/test_default_router.py::test_not_str[uri_template1-False] PASSED   [ 21%]
tests/test_default_router.py::test_not_str[uri_template2-True] PASSED    [ 21%]
tests/test_default_router.py::test_not_str[uri_template2-False] 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 [ 21%]
tests/test_default_router.py::test_duplicate_field_names[/{field}/something/something/{field}/something] PASSED [ 21%]
tests/test_default_router.py::test_match_entire_path[/items/thing-/items/t] PASSED [ 21%]
tests/test_default_router.py::test_match_entire_path[/items/{x}|{y}|-/items/1080|768] PASSED [ 21%]
tests/test_default_router.py::test_match_entire_path[/items/{x}*{y}foo-/items/1080*768foobar] PASSED [ 21%]
tests/test_default_router.py::test_match_entire_path[/items/{x}*768*-/items/1080*768***] PASSED [ 21%]
tests/test_default_router.py::test_conflict[/teams/{conflict}] PASSED    [ 21%]
tests/test_default_router.py::test_conflict[/emojis/signs/{id_too}] PASSED [ 21%]
tests/test_default_router.py::test_conflict[/repos/{org}/{repo}/compare/{complex}:{vs}...{complex2}:{conflict}] PASSED [ 21%]
tests/test_default_router.py::test_conflict[/teams/{id:int}/settings] PASSED [ 21%]
tests/test_default_router.py::test_non_conflict[/repos/{org}/{repo}/compare/{simple_vs_complex}] PASSED [ 21%]
tests/test_default_router.py::test_non_conflict[/repos/{complex}.{vs}.{simple}] PASSED [ 21%]
tests/test_default_router.py::test_non_conflict[/repos/{org}/{repo}/compare/{complex}:{vs}...{complex2}/full] PASSED [ 21%]
tests/test_default_router.py::test_invalid_field_name[/{}] PASSED        [ 21%]
tests/test_default_router.py::test_invalid_field_name[/repos/{org}/{repo}/compare/{}] PASSED [ 21%]
tests/test_default_router.py::test_invalid_field_name[/repos/{complex}.{}.{thing}] PASSED [ 21%]
tests/test_default_router.py::test_invalid_field_name[/{9v}] PASSED      [ 21%]
tests/test_default_router.py::test_invalid_field_name[/{524hello}/world] PASSED [ 21%]
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                [ 22%]
tests/test_default_router.py::test_dead_segment[/teams] PASSED           [ 22%]
tests/test_default_router.py::test_dead_segment[/emojis/signs] PASSED    [ 22%]
tests/test_default_router.py::test_dead_segment[/gists] PASSED           [ 22%]
tests/test_default_router.py::test_dead_segment[/gists/42] PASSED        [ 22%]
tests/test_default_router.py::test_malformed_pattern[/repos/racker/falcon/compare/foo] PASSED [ 22%]
tests/test_default_router.py::test_malformed_pattern[/repos/racker/falcon/compare/foo/full] PASSED [ 22%]
tests/test_default_router.py::test_literal PASSED                        [ 22%]
tests/test_default_router.py::test_converters[/cvt/teams/007-expected_params0] PASSED [ 22%]
tests/test_default_router.py::test_converters[/cvt/teams/1234/members-expected_params1] PASSED [ 22%]
tests/test_default_router.py::test_converters[/cvt/teams/default/members/700-5-expected_params2] PASSED [ 22%]
tests/test_default_router.py::test_converters[/cvt/repos/org/repo/compare/xkcd:353-expected_params3] PASSED [ 22%]
tests/test_default_router.py::test_converters[/cvt/repos/org/repo/compare/gunmachan:1234...kumamon:5678/part-expected_params4] PASSED [ 22%]
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              [ 23%]
tests/test_default_router.py::test_not_found[/teams/42/members/undefined] PASSED [ 23%]
tests/test_default_router.py::test_not_found[/teams/42/undefined] PASSED [ 23%]
tests/test_default_router.py::test_not_found[/teams/42/undefined/segments] PASSED [ 23%]
tests/test_default_router.py::test_not_found[/teams/default/members/undefined] PASSED [ 23%]
tests/test_default_router.py::test_not_found[/teams/default/members/thing/undefined] PASSED [ 23%]
tests/test_default_router.py::test_not_found[/teams/default/members/thing/undefined/segments] PASSED [ 23%]
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 [ 24%]
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_deprecations.py::test_bounded_stream PASSED                   [ 25%]
tests/test_deprecations.py::TestApiHelpers::test_imports PASSED          [ 25%]
tests/test_deprecations.py::TestApiHelpers::test_warning SKIPPED (Re...) [ 25%]
tests/test_deps.py::test_deps_mimeparse_correct_package 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[HTTPPayloadTooLarge-413 Payload 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 [ 25%]
tests/test_error.py::test_with_default_title_and_desc[HTTPFailedDependency-424 Failed Dependency] PASSED [ 25%]
tests/test_error.py::test_with_default_title_and_desc[HTTPPreconditionRequired-428 Precondition Required] PASSED [ 25%]
tests/test_error.py::test_with_default_title_and_desc[HTTPTooManyRequests-429 Too Many Requests] PASSED [ 25%]
tests/test_error.py::test_with_default_title_and_desc[HTTPRequestHeaderFieldsTooLarge-431 Request Header Fields Too Large] PASSED [ 25%]
tests/test_error.py::test_with_default_title_and_desc[HTTPUnavailableForLegalReasons-451 Unavailable For Legal Reasons] PASSED [ 25%]
tests/test_error.py::test_with_default_title_and_desc[HTTPInternalServerError-500 Internal Server Error] PASSED [ 25%]
tests/test_error.py::test_with_default_title_and_desc[HTTPNotImplemented-501 Not Implemented] PASSED [ 25%]
tests/test_error.py::test_with_default_title_and_desc[HTTPBadGateway-502 Bad Gateway] PASSED [ 25%]
tests/test_error.py::test_with_default_title_and_desc[HTTPServiceUnavailable-503 Service Unavailable] PASSED [ 25%]
tests/test_error.py::test_with_default_title_and_desc[HTTPGatewayTimeout-504 Gateway Timeout] PASSED [ 25%]
tests/test_error.py::test_with_default_title_and_desc[HTTPVersionNotSupported-505 HTTP Version Not Supported] PASSED [ 25%]
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[HTTPPayloadTooLarge] 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 [ 26%]
tests/test_error.py::test_with_title_desc_and_headers[HTTPGatewayTimeout] PASSED [ 26%]
tests/test_error.py::test_with_title_desc_and_headers[HTTPVersionNotSupported] PASSED [ 26%]
tests/test_error.py::test_with_title_desc_and_headers[HTTPInsufficientStorage] PASSED [ 26%]
tests/test_error.py::test_with_title_desc_and_headers[HTTPLoopDetected] PASSED [ 26%]
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[HTTPPayloadTooLarge] 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 [ 28%]
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[HTTPPayloadTooLarge] 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[HTTPPayloadTooLarge] 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[HTTPPayloadTooLarge-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[HTTPPayloadTooLarge-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[HTTPPayloadTooLarge-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 [ 29%]
tests/test_error.py::TestErrorsWithHeadersKW::test_other_header_list[HTTPUnauthorized-WWW-Authenticate-challenges-args0-a, b-False] PASSED [ 29%]
tests/test_error.py::TestErrorsWithHeadersKW::test_other_header_list[HTTPMethodNotAllowed-Allow-allowed_methods-args1-a, b-True] PASSED [ 29%]
tests/test_error.py::TestErrorsWithHeadersKW::test_other_header_list[HTTPPayloadTooLarge-Retry-After-retry_after-123-123-False] PASSED [ 29%]
tests/test_error.py::TestErrorsWithHeadersKW::test_other_header_list[HTTPRangeNotSatisfiable-Content-Range-resource_length-123-bytes */123-True] PASSED [ 29%]
tests/test_error.py::TestErrorsWithHeadersKW::test_other_header_list[HTTPTooManyRequests-Retry-After-retry_after-123-123-False] PASSED [ 29%]
tests/test_error.py::TestErrorsWithHeadersKW::test_other_header_list[HTTPServiceUnavailable-Retry-After-retry_after-123-123-False] PASSED [ 29%]
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[HTTPPayloadTooLarge-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_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-<?xml] PASSED [ 29%]
tests/test_error_handlers.py::TestErrorHandler::test_uncaught_python_error[wsgi-None-application/json-{"] PASSED [ 29%]
tests/test_error_handlers.py::TestErrorHandler::test_uncaught_python_error[wsgi-get_headers1-application/json-{"] PASSED [ 29%]
tests/test_error_handlers.py::TestErrorHandler::test_uncaught_python_error[wsgi-get_headers2-application/xml-<?xml] PASSED [ 29%]
tests/test_error_handlers.py::TestErrorHandler::test_caught_error_async[asgi] PASSED [ 29%]
tests/test_error_handlers.py::TestErrorHandler::test_caught_error_async[wsgi] SKIPPED [ 29%]
tests/test_error_handlers.py::TestErrorHandler::test_uncaught_error[asgi] PASSED [ 29%]
tests/test_error_handlers.py::TestErrorHandler::test_uncaught_error[wsgi] PASSED [ 29%]
tests/test_error_handlers.py::TestErrorHandler::test_uncaught_error_else[asgi] PASSED [ 29%]
tests/test_error_handlers.py::TestErrorHandler::test_uncaught_error_else[wsgi] PASSED [ 29%]
tests/test_error_handlers.py::TestErrorHandler::test_converted_error[asgi] PASSED [ 29%]
tests/test_error_handlers.py::TestErrorHandler::test_converted_error[wsgi] PASSED [ 29%]
tests/test_error_handlers.py::TestErrorHandler::test_handle_not_defined[asgi] PASSED [ 29%]
tests/test_error_handlers.py::TestErrorHandler::test_handle_not_defined[wsgi] PASSED [ 29%]
tests/test_error_handlers.py::TestErrorHandler::test_subclass_error[asgi] PASSED [ 29%]
tests/test_error_handlers.py::TestErrorHandler::test_subclass_error[wsgi] PASSED [ 29%]
tests/test_error_handlers.py::TestErrorHandler::test_error_precedence_duplicate[asgi] PASSED [ 30%]
tests/test_error_handlers.py::TestErrorHandler::test_error_precedence_duplicate[wsgi] PASSED [ 30%]
tests/test_error_handlers.py::TestErrorHandler::test_error_precedence_subclass[asgi] PASSED [ 30%]
tests/test_error_handlers.py::TestErrorHandler::test_error_precedence_subclass[wsgi] PASSED [ 30%]
tests/test_error_handlers.py::TestErrorHandler::test_error_precedence_subclass_order_indifference[asgi] PASSED [ 30%]
tests/test_error_handlers.py::TestErrorHandler::test_error_precedence_subclass_order_indifference[wsgi] PASSED [ 30%]
tests/test_error_handlers.py::TestErrorHandler::test_handler_multiple_exception_iterable[asgi-exceptions0] PASSED [ 30%]
tests/test_error_handlers.py::TestErrorHandler::test_handler_multiple_exception_iterable[asgi-exceptions1] PASSED [ 30%]
tests/test_error_handlers.py::TestErrorHandler::test_handler_multiple_exception_iterable[wsgi-exceptions0] PASSED [ 30%]
tests/test_error_handlers.py::TestErrorHandler::test_handler_multiple_exception_iterable[wsgi-exceptions1] PASSED [ 30%]
tests/test_error_handlers.py::TestErrorHandler::test_handler_single_exception_iterable[asgi] PASSED [ 30%]
tests/test_error_handlers.py::TestErrorHandler::test_handler_single_exception_iterable[wsgi] PASSED [ 30%]
tests/test_error_handlers.py::TestErrorHandler::test_invalid_add_exception_handler_input[asgi-exceptions0] PASSED [ 30%]
tests/test_error_handlers.py::TestErrorHandler::test_invalid_add_exception_handler_input[asgi-Hello, world!] PASSED [ 30%]
tests/test_error_handlers.py::TestErrorHandler::test_invalid_add_exception_handler_input[asgi-exceptions2] PASSED [ 30%]
tests/test_error_handlers.py::TestErrorHandler::test_invalid_add_exception_handler_input[asgi-exceptions3] PASSED [ 30%]
tests/test_error_handlers.py::TestErrorHandler::test_invalid_add_exception_handler_input[wsgi-exceptions0] PASSED [ 30%]
tests/test_error_handlers.py::TestErrorHandler::test_invalid_add_exception_handler_input[wsgi-Hello, world!] PASSED [ 30%]
tests/test_error_handlers.py::TestErrorHandler::test_invalid_add_exception_handler_input[wsgi-exceptions2] PASSED [ 30%]
tests/test_error_handlers.py::TestErrorHandler::test_invalid_add_exception_handler_input[wsgi-exceptions3] PASSED [ 30%]
tests/test_error_handlers.py::TestErrorHandler::test_handler_signature_shim PASSED [ 30%]
tests/test_error_handlers.py::TestErrorHandler::test_handler_must_be_coroutine_for_asgi PASSED [ 30%]
tests/test_error_handlers.py::TestErrorHandler::test_catch_http_no_route_error[asgi] PASSED [ 30%]
tests/test_error_handlers.py::TestErrorHandler::test_catch_http_no_route_error[wsgi] PASSED [ 30%]
tests/test_error_handlers.py::TestNoBodyWithStatus::test_data_is_set[asgi] PASSED [ 30%]
tests/test_error_handlers.py::TestNoBodyWithStatus::test_data_is_set[wsgi] PASSED [ 30%]
tests/test_error_handlers.py::TestNoBodyWithStatus::test_media_is_set[asgi] PASSED [ 30%]
tests/test_error_handlers.py::TestNoBodyWithStatus::test_media_is_set[wsgi] PASSED [ 30%]
tests/test_error_handlers.py::TestNoBodyWithStatus::test_body_is_set[asgi] PASSED [ 30%]
tests/test_error_handlers.py::TestNoBodyWithStatus::test_body_is_set[wsgi] PASSED [ 30%]
tests/test_error_handlers.py::TestCustomError::test_data_is_set[asgi] PASSED [ 30%]
tests/test_error_handlers.py::TestCustomError::test_data_is_set[wsgi] PASSED [ 30%]
tests/test_error_handlers.py::TestCustomError::test_media_is_set[asgi] PASSED [ 30%]
tests/test_error_handlers.py::TestCustomError::test_media_is_set[wsgi] PASSED [ 31%]
tests/test_error_handlers.py::TestCustomError::test_body_is_set[asgi] PASSED [ 31%]
tests/test_error_handlers.py::TestCustomError::test_body_is_set[wsgi] PASSED [ 31%]
tests/test_headers.py::TestHeaders::test_content_length[asgi] PASSED     [ 31%]
tests/test_headers.py::TestHeaders::test_content_length[wsgi] PASSED     [ 31%]
tests/test_headers.py::TestHeaders::test_declared_content_length_on_head[asgi] PASSED [ 31%]
tests/test_headers.py::TestHeaders::test_declared_content_length_on_head[wsgi] PASSED [ 31%]
tests/test_headers.py::TestHeaders::test_declared_content_length_overridden_by_no_body[asgi] PASSED [ 31%]
tests/test_headers.py::TestHeaders::test_declared_content_length_overridden_by_no_body[wsgi] PASSED [ 31%]
tests/test_headers.py::TestHeaders::test_declared_content_length_overriden_by_body_length[asgi] PASSED [ 31%]
tests/test_headers.py::TestHeaders::test_declared_content_length_overriden_by_body_length[wsgi] PASSED [ 31%]
tests/test_headers.py::TestHeaders::test_declared_content_length_overriden_by_data_length[asgi] PASSED [ 31%]
tests/test_headers.py::TestHeaders::test_declared_content_length_overriden_by_data_length[wsgi] PASSED [ 31%]
tests/test_headers.py::TestHeaders::test_expires_header[asgi] PASSED     [ 31%]
tests/test_headers.py::TestHeaders::test_expires_header[wsgi] PASSED     [ 31%]
tests/test_headers.py::TestHeaders::test_default_value[asgi] PASSED      [ 31%]
tests/test_headers.py::TestHeaders::test_default_value[wsgi] PASSED      [ 31%]
tests/test_headers.py::TestHeaders::test_unset_header[asgi-True] PASSED  [ 31%]
tests/test_headers.py::TestHeaders::test_unset_header[asgi-False] PASSED [ 31%]
tests/test_headers.py::TestHeaders::test_unset_header[wsgi-True] PASSED  [ 31%]
tests/test_headers.py::TestHeaders::test_unset_header[wsgi-False] PASSED [ 31%]
tests/test_headers.py::TestHeaders::test_required_header[asgi] PASSED    [ 31%]
tests/test_headers.py::TestHeaders::test_required_header[wsgi] PASSED    [ 31%]
tests/test_headers.py::TestHeaders::test_no_content_length[asgi-204 No Content] PASSED [ 31%]
tests/test_headers.py::TestHeaders::test_no_content_length[asgi-304 Not Modified] PASSED [ 31%]
tests/test_headers.py::TestHeaders::test_no_content_length[wsgi-204 No Content] PASSED [ 31%]
tests/test_headers.py::TestHeaders::test_no_content_length[wsgi-304 Not Modified] PASSED [ 31%]
tests/test_headers.py::TestHeaders::test_content_header_missing[asgi] PASSED [ 31%]
tests/test_headers.py::TestHeaders::test_content_header_missing[wsgi] PASSED [ 31%]
tests/test_headers.py::TestHeaders::test_passthrough_request_headers[asgi] PASSED [ 31%]
tests/test_headers.py::TestHeaders::test_passthrough_request_headers[wsgi] PASSED [ 31%]
tests/test_headers.py::TestHeaders::test_headers_as_list[asgi] PASSED    [ 31%]
tests/test_headers.py::TestHeaders::test_headers_as_list[wsgi] PASSED    [ 31%]
tests/test_headers.py::TestHeaders::test_default_media_type[asgi] PASSED [ 32%]
tests/test_headers.py::TestHeaders::test_default_media_type[wsgi] PASSED [ 32%]
tests/test_headers.py::TestHeaders::test_override_default_media_type[text/plain; charset=UTF-8-Hello Unicode! \U0001f638-True] PASSED [ 32%]
tests/test_headers.py::TestHeaders::test_override_default_media_type[text/plain; charset=UTF-8-Hello Unicode! \U0001f638-False] PASSED [ 32%]
tests/test_headers.py::TestHeaders::test_override_default_media_type[text/plain-Hello ISO-8859-1!-True] PASSED [ 32%]
tests/test_headers.py::TestHeaders::test_override_default_media_type[text/plain-Hello ISO-8859-1!-False] PASSED [ 32%]
tests/test_headers.py::TestHeaders::test_override_default_media_type_missing_encoding[True] PASSED [ 32%]
tests/test_headers.py::TestHeaders::test_override_default_media_type_missing_encoding[False] PASSED [ 32%]
tests/test_headers.py::TestHeaders::test_response_header_helpers_on_get[asgi] PASSED [ 32%]
tests/test_headers.py::TestHeaders::test_response_header_helpers_on_get[wsgi] PASSED [ 32%]
tests/test_headers.py::TestHeaders::test_content_disposition_attachment_header[asgi-report.csv-attachment; filename="report.csv"] PASSED [ 32%]
tests/test_headers.py::TestHeaders::test_content_disposition_attachment_header[asgi-Hello World.txt-attachment; filename="Hello World.txt"] PASSED [ 32%]
tests/test_headers.py::TestHeaders::test_content_disposition_attachment_header[asgi-Bold Digit \U0001d7cf.txt-attachment; filename=Bold_Digit_1.txt; filename*=UTF-8''Bold%20Digit%20%F0%9D%9F%8F.txt] PASSED [ 32%]
tests/test_headers.py::TestHeaders::test_content_disposition_attachment_header[asgi-\xc5ngstr\xf6m unit.txt-attachment; filename=A_ngstro_m_unit.txt; filename*=UTF-8''%C3%85ngstr%C3%B6m%20unit.txt] PASSED [ 32%]
tests/test_headers.py::TestHeaders::test_content_disposition_attachment_header[asgi-one,two.txt-attachment; filename="one,two.txt"] PASSED [ 32%]
tests/test_headers.py::TestHeaders::test_content_disposition_attachment_header[asgi-\xbd,\xb2\u2044\u2082.txt-attachment; filename=1_2_2_2.txt; filename*=UTF-8''%C2%BD%2C%C2%B2%E2%81%84%E2%82%82.txt] PASSED [ 32%]
tests/test_headers.py::TestHeaders::test_content_disposition_attachment_header[asgi-[foo] @ bar.txt-attachment; filename="[foo] @ bar.txt"] PASSED [ 32%]
tests/test_headers.py::TestHeaders::test_content_disposition_attachment_header[asgi-[f\xf2\xf3]@b\xe0r,b\xe4z.txt-attachment; filename=_fo_o___ba_r_ba_z.txt; filename*=UTF-8''%5Bf%C3%B2%C3%B3%5D%40b%C3%A0r%2Cb%C3%A4z.txt] PASSED [ 32%]
tests/test_headers.py::TestHeaders::test_content_disposition_attachment_header[wsgi-report.csv-attachment; filename="report.csv"] PASSED [ 32%]
tests/test_headers.py::TestHeaders::test_content_disposition_attachment_header[wsgi-Hello World.txt-attachment; filename="Hello World.txt"] PASSED [ 32%]
tests/test_headers.py::TestHeaders::test_content_disposition_attachment_header[wsgi-Bold Digit \U0001d7cf.txt-attachment; filename=Bold_Digit_1.txt; filename*=UTF-8''Bold%20Digit%20%F0%9D%9F%8F.txt] PASSED [ 32%]
tests/test_headers.py::TestHeaders::test_content_disposition_attachment_header[wsgi-\xc5ngstr\xf6m unit.txt-attachment; filename=A_ngstro_m_unit.txt; filename*=UTF-8''%C3%85ngstr%C3%B6m%20unit.txt] PASSED [ 32%]
tests/test_headers.py::TestHeaders::test_content_disposition_attachment_header[wsgi-one,two.txt-attachment; filename="one,two.txt"] PASSED [ 32%]
tests/test_headers.py::TestHeaders::test_content_disposition_attachment_header[wsgi-\xbd,\xb2\u2044\u2082.txt-attachment; filename=1_2_2_2.txt; filename*=UTF-8''%C2%BD%2C%C2%B2%E2%81%84%E2%82%82.txt] PASSED [ 32%]
tests/test_headers.py::TestHeaders::test_content_disposition_attachment_header[wsgi-[foo] @ bar.txt-attachment; filename="[foo] @ bar.txt"] PASSED [ 32%]
tests/test_headers.py::TestHeaders::test_content_disposition_attachment_header[wsgi-[f\xf2\xf3]@b\xe0r,b\xe4z.txt-attachment; filename=_fo_o___ba_r_ba_z.txt; filename*=UTF-8''%5Bf%C3%B2%C3%B3%5D%40b%C3%A0r%2Cb%C3%A4z.txt] PASSED [ 32%]
tests/test_headers.py::TestHeaders::test_content_disposition_inline_header[asgi-report.csv-inline; filename="report.csv"] PASSED [ 32%]
tests/test_headers.py::TestHeaders::test_content_disposition_inline_header[asgi-Hello World.txt-inline; filename="Hello World.txt"] PASSED [ 32%]
tests/test_headers.py::TestHeaders::test_content_disposition_inline_header[asgi-Bold Digit \U0001d7cf.txt-inline; filename=Bold_Digit_1.txt; filename*=UTF-8''Bold%20Digit%20%F0%9D%9F%8F.txt] PASSED [ 32%]
tests/test_headers.py::TestHeaders::test_content_disposition_inline_header[wsgi-report.csv-inline; filename="report.csv"] PASSED [ 32%]
tests/test_headers.py::TestHeaders::test_content_disposition_inline_header[wsgi-Hello World.txt-inline; filename="Hello World.txt"] PASSED [ 32%]
tests/test_headers.py::TestHeaders::test_content_disposition_inline_header[wsgi-Bold Digit \U0001d7cf.txt-inline; filename=Bold_Digit_1.txt; filename*=UTF-8''Bold%20Digit%20%F0%9D%9F%8F.txt] PASSED [ 32%]
tests/test_headers.py::TestHeaders::test_request_latin1_headers[asgi] PASSED [ 32%]
tests/test_headers.py::TestHeaders::test_request_latin1_headers[wsgi] PASSED [ 33%]
tests/test_headers.py::TestHeaders::test_unicode_location_headers[asgi] PASSED [ 33%]
tests/test_headers.py::TestHeaders::test_unicode_location_headers[wsgi] PASSED [ 33%]
tests/test_headers.py::TestHeaders::test_unicode_headers_contain_only_ascii[asgi] PASSED [ 33%]
tests/test_headers.py::TestHeaders::test_unicode_headers_contain_only_ascii[wsgi] PASSED [ 33%]
tests/test_headers.py::TestHeaders::test_unicode_headers_contain_non_ascii[asgi-CONNECT] PASSED [ 33%]
tests/test_headers.py::TestHeaders::test_unicode_headers_contain_non_ascii[asgi-PATCH] PASSED [ 33%]
tests/test_headers.py::TestHeaders::test_unicode_headers_contain_non_ascii[asgi-POST] PASSED [ 33%]
tests/test_headers.py::TestHeaders::test_unicode_headers_contain_non_ascii[asgi-PUT] PASSED [ 33%]
tests/test_headers.py::TestHeaders::test_unicode_headers_contain_non_ascii[wsgi-CONNECT] SKIPPED [ 33%]
tests/test_headers.py::TestHeaders::test_unicode_headers_contain_non_ascii[wsgi-PATCH] PASSED [ 33%]
tests/test_headers.py::TestHeaders::test_unicode_headers_contain_non_ascii[wsgi-POST] PASSED [ 33%]
tests/test_headers.py::TestHeaders::test_unicode_headers_contain_non_ascii[wsgi-PUT] PASSED [ 33%]
tests/test_headers.py::TestHeaders::test_response_set_and_get_header[asgi] PASSED [ 33%]
tests/test_headers.py::TestHeaders::test_response_set_and_get_header[wsgi] PASSED [ 33%]
tests/test_headers.py::TestHeaders::test_response_append_header[asgi] PASSED [ 33%]
tests/test_headers.py::TestHeaders::test_response_append_header[wsgi] PASSED [ 33%]
tests/test_headers.py::TestHeaders::test_set_cookie_disallowed[asgi-ValueError-Set-Cookie] PASSED [ 33%]
tests/test_headers.py::TestHeaders::test_set_cookie_disallowed[asgi-ValueError-set-cookie] PASSED [ 33%]
tests/test_headers.py::TestHeaders::test_set_cookie_disallowed[asgi-ValueError-seT-cookie] PASSED [ 33%]
tests/test_headers.py::TestHeaders::test_set_cookie_disallowed[asgi-HeaderNotSupported-Set-Cookie] PASSED [ 33%]
tests/test_headers.py::TestHeaders::test_set_cookie_disallowed[asgi-HeaderNotSupported-set-cookie] PASSED [ 33%]
tests/test_headers.py::TestHeaders::test_set_cookie_disallowed[asgi-HeaderNotSupported-seT-cookie] PASSED [ 33%]
tests/test_headers.py::TestHeaders::test_set_cookie_disallowed[wsgi-ValueError-Set-Cookie] PASSED [ 33%]
tests/test_headers.py::TestHeaders::test_set_cookie_disallowed[wsgi-ValueError-set-cookie] PASSED [ 33%]
tests/test_headers.py::TestHeaders::test_set_cookie_disallowed[wsgi-ValueError-seT-cookie] PASSED [ 33%]
tests/test_headers.py::TestHeaders::test_set_cookie_disallowed[wsgi-HeaderNotSupported-Set-Cookie] PASSED [ 33%]
tests/test_headers.py::TestHeaders::test_set_cookie_disallowed[wsgi-HeaderNotSupported-set-cookie] PASSED [ 33%]
tests/test_headers.py::TestHeaders::test_set_cookie_disallowed[wsgi-HeaderNotSupported-seT-cookie] PASSED [ 33%]
tests/test_headers.py::TestHeaders::test_vary_star[asgi] PASSED          [ 33%]
tests/test_headers.py::TestHeaders::test_vary_star[wsgi] PASSED          [ 33%]
tests/test_headers.py::TestHeaders::test_vary_header[asgi-vary0-accept-encoding] PASSED [ 33%]
tests/test_headers.py::TestHeaders::test_vary_header[asgi-vary1-accept-encoding, x-auth-token] PASSED [ 33%]
tests/test_headers.py::TestHeaders::test_vary_header[wsgi-vary0-accept-encoding] PASSED [ 33%]
tests/test_headers.py::TestHeaders::test_vary_header[wsgi-vary1-accept-encoding, x-auth-token] PASSED [ 34%]
tests/test_headers.py::TestHeaders::test_content_type_no_body[asgi] PASSED [ 34%]
tests/test_headers.py::TestHeaders::test_content_type_no_body[wsgi] PASSED [ 34%]
tests/test_headers.py::TestHeaders::test_no_content_type[asgi-204 No Content] PASSED [ 34%]
tests/test_headers.py::TestHeaders::test_no_content_type[asgi-304 Not Modified] PASSED [ 34%]
tests/test_headers.py::TestHeaders::test_no_content_type[wsgi-204 No Content] PASSED [ 34%]
tests/test_headers.py::TestHeaders::test_no_content_type[wsgi-304 Not Modified] PASSED [ 34%]
tests/test_headers.py::TestHeaders::test_custom_content_type[asgi] PASSED [ 34%]
tests/test_headers.py::TestHeaders::test_custom_content_type[wsgi] PASSED [ 34%]
tests/test_headers.py::TestHeaders::test_append_link_single[asgi] PASSED [ 34%]
tests/test_headers.py::TestHeaders::test_append_link_single[wsgi] PASSED [ 34%]
tests/test_headers.py::TestHeaders::test_append_link_multiple[asgi] PASSED [ 34%]
tests/test_headers.py::TestHeaders::test_append_link_multiple[wsgi] PASSED [ 34%]
tests/test_headers.py::TestHeaders::test_append_link_with_title[asgi] PASSED [ 34%]
tests/test_headers.py::TestHeaders::test_append_link_with_title[wsgi] PASSED [ 34%]
tests/test_headers.py::TestHeaders::test_append_link_with_title_star[asgi] PASSED [ 34%]
tests/test_headers.py::TestHeaders::test_append_link_with_title_star[wsgi] PASSED [ 34%]
tests/test_headers.py::TestHeaders::test_append_link_with_anchor[asgi] PASSED [ 34%]
tests/test_headers.py::TestHeaders::test_append_link_with_anchor[wsgi] PASSED [ 34%]
tests/test_headers.py::TestHeaders::test_append_link_with_hreflang[asgi] PASSED [ 34%]
tests/test_headers.py::TestHeaders::test_append_link_with_hreflang[wsgi] PASSED [ 34%]
tests/test_headers.py::TestHeaders::test_append_link_with_hreflang_multi[asgi] PASSED [ 34%]
tests/test_headers.py::TestHeaders::test_append_link_with_hreflang_multi[wsgi] PASSED [ 34%]
tests/test_headers.py::TestHeaders::test_append_link_with_type_hint[asgi] PASSED [ 34%]
tests/test_headers.py::TestHeaders::test_append_link_with_type_hint[wsgi] PASSED [ 34%]
tests/test_headers.py::TestHeaders::test_append_link_complex[asgi] PASSED [ 34%]
tests/test_headers.py::TestHeaders::test_append_link_complex[wsgi] PASSED [ 34%]
tests/test_headers.py::TestHeaders::test_append_link_crossorigin[asgi-None-</related/thing>; rel=alternate] PASSED [ 34%]
tests/test_headers.py::TestHeaders::test_append_link_crossorigin[asgi-anonymous-</related/thing>; rel=alternate; crossorigin] PASSED [ 34%]
tests/test_headers.py::TestHeaders::test_append_link_crossorigin[asgi-Anonymous-</related/thing>; rel=alternate; crossorigin] PASSED [ 34%]
tests/test_headers.py::TestHeaders::test_append_link_crossorigin[asgi-AnOnYmOUs-</related/thing>; rel=alternate; crossorigin] PASSED [ 34%]
tests/test_headers.py::TestHeaders::test_append_link_crossorigin[asgi-Use-Credentials-</related/thing>; rel=alternate; crossorigin="use-credentials"] PASSED [ 34%]
tests/test_headers.py::TestHeaders::test_append_link_crossorigin[asgi-use-credentials-</related/thing>; rel=alternate; crossorigin="use-credentials"] PASSED [ 34%]
tests/test_headers.py::TestHeaders::test_append_link_crossorigin[wsgi-None-</related/thing>; rel=alternate] PASSED [ 35%]
tests/test_headers.py::TestHeaders::test_append_link_crossorigin[wsgi-anonymous-</related/thing>; rel=alternate; crossorigin] PASSED [ 35%]
tests/test_headers.py::TestHeaders::test_append_link_crossorigin[wsgi-Anonymous-</related/thing>; rel=alternate; crossorigin] PASSED [ 35%]
tests/test_headers.py::TestHeaders::test_append_link_crossorigin[wsgi-AnOnYmOUs-</related/thing>; rel=alternate; crossorigin] PASSED [ 35%]
tests/test_headers.py::TestHeaders::test_append_link_crossorigin[wsgi-Use-Credentials-</related/thing>; rel=alternate; crossorigin="use-credentials"] PASSED [ 35%]
tests/test_headers.py::TestHeaders::test_append_link_crossorigin[wsgi-use-credentials-</related/thing>; rel=alternate; crossorigin="use-credentials"] PASSED [ 35%]
tests/test_headers.py::TestHeaders::test_append_link_invalid_crossorigin_value[*] PASSED [ 35%]
tests/test_headers.py::TestHeaders::test_append_link_invalid_crossorigin_value[Allow-all] PASSED [ 35%]
tests/test_headers.py::TestHeaders::test_append_link_invalid_crossorigin_value[Lax] PASSED [ 35%]
tests/test_headers.py::TestHeaders::test_append_link_invalid_crossorigin_value[MUST-REVALIDATE] PASSED [ 35%]
tests/test_headers.py::TestHeaders::test_append_link_invalid_crossorigin_value[Strict] PASSED [ 35%]
tests/test_headers.py::TestHeaders::test_append_link_invalid_crossorigin_value[deny] PASSED [ 35%]
tests/test_headers.py::TestHeaders::test_content_length_options[asgi] PASSED [ 35%]
tests/test_headers.py::TestHeaders::test_content_length_options[wsgi] PASSED [ 35%]
tests/test_headers.py::TestHeaders::test_set_headers_with_custom_class[asgi] PASSED [ 35%]
tests/test_headers.py::TestHeaders::test_set_headers_with_custom_class[wsgi] PASSED [ 35%]
tests/test_headers.py::TestHeaders::test_headers_with_custom_class_not_callable[asgi] PASSED [ 35%]
tests/test_headers.py::TestHeaders::test_headers_with_custom_class_not_callable[wsgi] PASSED [ 35%]
tests/test_headers.py::TestHeaders::test_request_multiple_header[asgi] PASSED [ 35%]
tests/test_headers.py::TestHeaders::test_request_multiple_header[wsgi] PASSED [ 35%]
tests/test_hello.py::TestHelloWorld::test_env_headers_list_of_tuples PASSED [ 35%]
tests/test_hello.py::TestHelloWorld::test_root_route PASSED              [ 35%]
tests/test_hello.py::TestHelloWorld::test_no_route PASSED                [ 35%]
tests/test_hello.py::TestHelloWorld::test_body[/body-resource0-<lambda>] PASSED [ 35%]
tests/test_hello.py::TestHelloWorld::test_body[/bytes-resource1-<lambda>] PASSED [ 35%]
tests/test_hello.py::TestHelloWorld::test_body[/data-resource2-<lambda>] PASSED [ 35%]
tests/test_hello.py::TestHelloWorld::test_no_body_on_head PASSED         [ 35%]
tests/test_hello.py::TestHelloWorld::test_stream_chunked PASSED          [ 35%]
tests/test_hello.py::TestHelloWorld::test_stream_known_len PASSED        [ 35%]
tests/test_hello.py::TestHelloWorld::test_filelike PASSED                [ 35%]
tests/test_hello.py::TestHelloWorld::test_filelike_closing[ClosingBytesIO-True] PASSED [ 35%]
tests/test_hello.py::TestHelloWorld::test_filelike_closing[NonClosingBytesIO-False] PASSED [ 35%]
tests/test_hello.py::TestHelloWorld::test_filelike_using_helper PASSED   [ 35%]
tests/test_hello.py::TestHelloWorld::test_status_not_set PASSED          [ 36%]
tests/test_http_custom_method_routing.py::test_map_http_methods[asgi] PASSED [ 36%]
tests/test_http_custom_method_routing.py::test_map_http_methods[wsgi] PASSED [ 36%]
tests/test_http_custom_method_routing.py::test_environment_override[foo-expected0] SKIPPED [ 36%]
tests/test_http_custom_method_routing.py::test_environment_override[FOO-expected1] SKIPPED [ 36%]
tests/test_http_custom_method_routing.py::test_environment_override[FOO,-expected2] SKIPPED [ 36%]
tests/test_http_custom_method_routing.py::test_environment_override[FOO,BAR-expected3] SKIPPED [ 36%]
tests/test_http_custom_method_routing.py::test_environment_override[FOO, BAR-expected4] SKIPPED [ 36%]
tests/test_http_custom_method_routing.py::test_environment_override[ foo , BAR -expected5] SKIPPED [ 36%]
tests/test_http_custom_method_routing.py::test_foo[asgi] PASSED          [ 36%]
tests/test_http_custom_method_routing.py::test_foo[wsgi] PASSED          [ 36%]
tests/test_http_custom_method_routing.py::test_bar[asgi] PASSED          [ 36%]
tests/test_http_custom_method_routing.py::test_bar[wsgi] PASSED          [ 36%]
tests/test_http_method_routing.py::TestHttpMethodRouting::test_get[asgi] PASSED [ 36%]
tests/test_http_method_routing.py::TestHttpMethodRouting::test_get[wsgi] PASSED [ 36%]
tests/test_http_method_routing.py::TestHttpMethodRouting::test_put[asgi] PASSED [ 36%]
tests/test_http_method_routing.py::TestHttpMethodRouting::test_put[wsgi] PASSED [ 36%]
tests/test_http_method_routing.py::TestHttpMethodRouting::test_post_not_allowed[asgi] PASSED [ 36%]
tests/test_http_method_routing.py::TestHttpMethodRouting::test_post_not_allowed[wsgi] PASSED [ 36%]
tests/test_http_method_routing.py::TestHttpMethodRouting::test_report[asgi] PASSED [ 36%]
tests/test_http_method_routing.py::TestHttpMethodRouting::test_report[wsgi] PASSED [ 36%]
tests/test_http_method_routing.py::TestHttpMethodRouting::test_misc[asgi] PASSED [ 36%]
tests/test_http_method_routing.py::TestHttpMethodRouting::test_misc[wsgi] PASSED [ 36%]
tests/test_http_method_routing.py::TestHttpMethodRouting::test_methods_not_allowed_simple[asgi] PASSED [ 36%]
tests/test_http_method_routing.py::TestHttpMethodRouting::test_methods_not_allowed_simple[wsgi] PASSED [ 36%]
tests/test_http_method_routing.py::TestHttpMethodRouting::test_methods_not_allowed_complex[asgi] PASSED [ 36%]
tests/test_http_method_routing.py::TestHttpMethodRouting::test_methods_not_allowed_complex[wsgi] PASSED [ 36%]
tests/test_http_method_routing.py::TestHttpMethodRouting::test_method_not_allowed_with_param[asgi] PASSED [ 36%]
tests/test_http_method_routing.py::TestHttpMethodRouting::test_method_not_allowed_with_param[wsgi] PASSED [ 36%]
tests/test_http_method_routing.py::TestHttpMethodRouting::test_default_on_options[asgi] PASSED [ 36%]
tests/test_http_method_routing.py::TestHttpMethodRouting::test_default_on_options[wsgi] PASSED [ 36%]
tests/test_http_method_routing.py::TestHttpMethodRouting::test_on_options[asgi] PASSED [ 36%]
tests/test_http_method_routing.py::TestHttpMethodRouting::test_on_options[wsgi] PASSED [ 36%]
tests/test_http_method_routing.py::TestHttpMethodRouting::test_meta_and_others_disallowed[asgi-WEBSOCKET] PASSED [ 37%]
tests/test_http_method_routing.py::TestHttpMethodRouting::test_meta_and_others_disallowed[asgi-SETECASTRONOMY] PASSED [ 37%]
tests/test_http_method_routing.py::TestHttpMethodRouting::test_meta_and_others_disallowed[wsgi-WEBSOCKET] PASSED [ 37%]
tests/test_http_method_routing.py::TestHttpMethodRouting::test_meta_and_others_disallowed[wsgi-SETECASTRONOMY] PASSED [ 37%]
tests/test_httperror.py::TestHTTPError::test_base_class[asgi] PASSED     [ 37%]
tests/test_httperror.py::TestHTTPError::test_base_class[wsgi] PASSED     [ 37%]
tests/test_httperror.py::TestHTTPError::test_has_representation PASSED   [ 37%]
tests/test_httperror.py::TestHTTPError::test_no_description_json[asgi] PASSED [ 37%]
tests/test_httperror.py::TestHTTPError::test_no_description_json[wsgi] PASSED [ 37%]
tests/test_httperror.py::TestHTTPError::test_no_description_xml[asgi] PASSED [ 37%]
tests/test_httperror.py::TestHTTPError::test_no_description_xml[wsgi] PASSED [ 37%]
tests/test_httperror.py::TestHTTPError::test_client_does_not_accept_json_or_xml[asgi] PASSED [ 37%]
tests/test_httperror.py::TestHTTPError::test_client_does_not_accept_json_or_xml[wsgi] PASSED [ 37%]
tests/test_httperror.py::TestHTTPError::test_custom_error_serializer[asgi] PASSED [ 37%]
tests/test_httperror.py::TestHTTPError::test_custom_error_serializer[wsgi] PASSED [ 37%]
tests/test_httperror.py::TestHTTPError::test_custom_error_serializer_optional_representation[asgi-GET-/404-404] PASSED [ 37%]
tests/test_httperror.py::TestHTTPError::test_custom_error_serializer_optional_representation[asgi-GET-/notfound-404] PASSED [ 37%]
tests/test_httperror.py::TestHTTPError::test_custom_error_serializer_optional_representation[asgi-REPORT-/404-405] PASSED [ 37%]
tests/test_httperror.py::TestHTTPError::test_custom_error_serializer_optional_representation[asgi-BREW-/notfound-400] PASSED [ 37%]
tests/test_httperror.py::TestHTTPError::test_custom_error_serializer_optional_representation[wsgi-GET-/404-404] PASSED [ 37%]
tests/test_httperror.py::TestHTTPError::test_custom_error_serializer_optional_representation[wsgi-GET-/notfound-404] PASSED [ 37%]
tests/test_httperror.py::TestHTTPError::test_custom_error_serializer_optional_representation[wsgi-REPORT-/404-405] PASSED [ 37%]
tests/test_httperror.py::TestHTTPError::test_custom_error_serializer_optional_representation[wsgi-BREW-/notfound-400] PASSED [ 37%]
tests/test_httperror.py::TestHTTPError::test_custom_serializer_no_representation[asgi] PASSED [ 37%]
tests/test_httperror.py::TestHTTPError::test_custom_serializer_no_representation[wsgi] PASSED [ 37%]
tests/test_httperror.py::TestHTTPError::test_client_does_not_accept_anything[asgi] PASSED [ 37%]
tests/test_httperror.py::TestHTTPError::test_client_does_not_accept_anything[wsgi] PASSED [ 37%]
tests/test_httperror.py::TestHTTPError::test_forbidden[asgi-application/json] PASSED [ 37%]
tests/test_httperror.py::TestHTTPError::test_forbidden[asgi-application/vnd.company.system.project.resource+json;v=1.1] PASSED [ 37%]
tests/test_httperror.py::TestHTTPError::test_forbidden[asgi-application/json-patch+json] PASSED [ 37%]
tests/test_httperror.py::TestHTTPError::test_forbidden[wsgi-application/json] PASSED [ 37%]
tests/test_httperror.py::TestHTTPError::test_forbidden[wsgi-application/vnd.company.system.project.resource+json;v=1.1] PASSED [ 37%]
tests/test_httperror.py::TestHTTPError::test_forbidden[wsgi-application/json-patch+json] PASSED [ 37%]
tests/test_httperror.py::TestHTTPError::test_epic_fail_json[asgi] PASSED [ 38%]
tests/test_httperror.py::TestHTTPError::test_epic_fail_json[wsgi] PASSED [ 38%]
tests/test_httperror.py::TestHTTPError::test_epic_fail_xml[asgi-text/xml] PASSED [ 38%]
tests/test_httperror.py::TestHTTPError::test_epic_fail_xml[asgi-application/xml] PASSED [ 38%]
tests/test_httperror.py::TestHTTPError::test_epic_fail_xml[asgi-application/vnd.company.system.project.resource+xml;v=1.1] PASSED [ 38%]
tests/test_httperror.py::TestHTTPError::test_epic_fail_xml[asgi-application/atom+xml] PASSED [ 38%]
tests/test_httperror.py::TestHTTPError::test_epic_fail_xml[wsgi-text/xml] PASSED [ 38%]
tests/test_httperror.py::TestHTTPError::test_epic_fail_xml[wsgi-application/xml] PASSED [ 38%]
tests/test_httperror.py::TestHTTPError::test_epic_fail_xml[wsgi-application/vnd.company.system.project.resource+xml;v=1.1] PASSED [ 38%]
tests/test_httperror.py::TestHTTPError::test_epic_fail_xml[wsgi-application/atom+xml] PASSED [ 38%]
tests/test_httperror.py::TestHTTPError::test_unicode_json[asgi] PASSED   [ 38%]
tests/test_httperror.py::TestHTTPError::test_unicode_json[wsgi] PASSED   [ 38%]
tests/test_httperror.py::TestHTTPError::test_unicode_xml[asgi] PASSED    [ 38%]
tests/test_httperror.py::TestHTTPError::test_unicode_xml[wsgi] PASSED    [ 38%]
tests/test_httperror.py::TestHTTPError::test_401[asgi] PASSED            [ 38%]
tests/test_httperror.py::TestHTTPError::test_401[wsgi] PASSED            [ 38%]
tests/test_httperror.py::TestHTTPError::test_404_without_body[asgi] PASSED [ 38%]
tests/test_httperror.py::TestHTTPError::test_404_without_body[wsgi] PASSED [ 38%]
tests/test_httperror.py::TestHTTPError::test_404_with_body[asgi] PASSED  [ 38%]
tests/test_httperror.py::TestHTTPError::test_404_with_body[wsgi] PASSED  [ 38%]
tests/test_httperror.py::TestHTTPError::test_405_without_body[asgi] PASSED [ 38%]
tests/test_httperror.py::TestHTTPError::test_405_without_body[wsgi] PASSED [ 38%]
tests/test_httperror.py::TestHTTPError::test_405_without_body_with_extra_headers[asgi] PASSED [ 38%]
tests/test_httperror.py::TestHTTPError::test_405_without_body_with_extra_headers[wsgi] PASSED [ 38%]
tests/test_httperror.py::TestHTTPError::test_405_without_body_with_extra_headers_double_check[asgi] PASSED [ 38%]
tests/test_httperror.py::TestHTTPError::test_405_without_body_with_extra_headers_double_check[wsgi] PASSED [ 38%]
tests/test_httperror.py::TestHTTPError::test_405_with_body[asgi] PASSED  [ 38%]
tests/test_httperror.py::TestHTTPError::test_405_with_body[wsgi] PASSED  [ 38%]
tests/test_httperror.py::TestHTTPError::test_410_without_body[asgi] PASSED [ 38%]
tests/test_httperror.py::TestHTTPError::test_410_without_body[wsgi] PASSED [ 38%]
tests/test_httperror.py::TestHTTPError::test_410_with_body[asgi] PASSED  [ 38%]
tests/test_httperror.py::TestHTTPError::test_410_with_body[wsgi] PASSED  [ 38%]
tests/test_httperror.py::TestHTTPError::test_411[asgi] PASSED            [ 38%]
tests/test_httperror.py::TestHTTPError::test_411[wsgi] PASSED            [ 39%]
tests/test_httperror.py::TestHTTPError::test_413[asgi] PASSED            [ 39%]
tests/test_httperror.py::TestHTTPError::test_413[wsgi] PASSED            [ 39%]
tests/test_httperror.py::TestHTTPError::test_temporary_413_integer_retry_after[asgi] PASSED [ 39%]
tests/test_httperror.py::TestHTTPError::test_temporary_413_integer_retry_after[wsgi] PASSED [ 39%]
tests/test_httperror.py::TestHTTPError::test_temporary_413_datetime_retry_after[asgi] PASSED [ 39%]
tests/test_httperror.py::TestHTTPError::test_temporary_413_datetime_retry_after[wsgi] PASSED [ 39%]
tests/test_httperror.py::TestHTTPError::test_414[asgi] PASSED            [ 39%]
tests/test_httperror.py::TestHTTPError::test_414[wsgi] PASSED            [ 39%]
tests/test_httperror.py::TestHTTPError::test_414_with_title[asgi] PASSED [ 39%]
tests/test_httperror.py::TestHTTPError::test_414_with_title[wsgi] PASSED [ 39%]
tests/test_httperror.py::TestHTTPError::test_414_with_description[asgi] PASSED [ 39%]
tests/test_httperror.py::TestHTTPError::test_414_with_description[wsgi] PASSED [ 39%]
tests/test_httperror.py::TestHTTPError::test_414_with_custom_kwargs[asgi] PASSED [ 39%]
tests/test_httperror.py::TestHTTPError::test_414_with_custom_kwargs[wsgi] PASSED [ 39%]
tests/test_httperror.py::TestHTTPError::test_416[asgi] PASSED            [ 39%]
tests/test_httperror.py::TestHTTPError::test_416[wsgi] PASSED            [ 39%]
tests/test_httperror.py::TestHTTPError::test_429_no_retry_after[asgi] PASSED [ 39%]
tests/test_httperror.py::TestHTTPError::test_429_no_retry_after[wsgi] PASSED [ 39%]
tests/test_httperror.py::TestHTTPError::test_429[asgi] PASSED            [ 39%]
tests/test_httperror.py::TestHTTPError::test_429[wsgi] PASSED            [ 39%]
tests/test_httperror.py::TestHTTPError::test_429_datetime[asgi] PASSED   [ 39%]
tests/test_httperror.py::TestHTTPError::test_429_datetime[wsgi] PASSED   [ 39%]
tests/test_httperror.py::TestHTTPError::test_503_integer_retry_after[asgi] PASSED [ 39%]
tests/test_httperror.py::TestHTTPError::test_503_integer_retry_after[wsgi] PASSED [ 39%]
tests/test_httperror.py::TestHTTPError::test_503_datetime_retry_after[asgi] PASSED [ 39%]
tests/test_httperror.py::TestHTTPError::test_503_datetime_retry_after[wsgi] PASSED [ 39%]
tests/test_httperror.py::TestHTTPError::test_invalid_header[asgi] PASSED [ 39%]
tests/test_httperror.py::TestHTTPError::test_invalid_header[wsgi] PASSED [ 39%]
tests/test_httperror.py::TestHTTPError::test_missing_header[asgi] PASSED [ 39%]
tests/test_httperror.py::TestHTTPError::test_missing_header[wsgi] PASSED [ 39%]
tests/test_httperror.py::TestHTTPError::test_invalid_param[asgi] PASSED  [ 39%]
tests/test_httperror.py::TestHTTPError::test_invalid_param[wsgi] PASSED  [ 39%]
tests/test_httperror.py::TestHTTPError::test_missing_param[asgi] PASSED  [ 40%]
tests/test_httperror.py::TestHTTPError::test_missing_param[wsgi] PASSED  [ 40%]
tests/test_httperror.py::TestHTTPError::test_misc[asgi] PASSED           [ 40%]
tests/test_httperror.py::TestHTTPError::test_misc[wsgi] PASSED           [ 40%]
tests/test_httperror.py::TestHTTPError::test_title_default_message_if_none[asgi] PASSED [ 40%]
tests/test_httperror.py::TestHTTPError::test_title_default_message_if_none[wsgi] PASSED [ 40%]
tests/test_httperror.py::TestHTTPError::test_to_json_dumps PASSED        [ 40%]
tests/test_httperror.py::TestHTTPError::test_serialize_error_uses_media_handler[asgi] PASSED [ 40%]
tests/test_httperror.py::TestHTTPError::test_serialize_error_uses_media_handler[wsgi] PASSED [ 40%]
tests/test_httperror.py::TestHTTPError::test_serialize_no_json_media_handler[asgi] PASSED [ 40%]
tests/test_httperror.py::TestHTTPError::test_serialize_no_json_media_handler[wsgi] PASSED [ 40%]
tests/test_httperror.py::TestHTTPError::test_MediaMalformedError PASSED  [ 40%]
tests/test_httperror.py::test_kw_only PASSED                             [ 40%]
tests/test_httperror.py::test_NoRepresentation PASSED                    [ 40%]
tests/test_httperror.py::TestOptionalRepresentation::test_OptionalRepresentation_false PASSED [ 40%]
tests/test_httperror.py::TestOptionalRepresentation::test_OptionalRepresentation_true PASSED [ 40%]
tests/test_httpstatus.py::TestHTTPStatus::test_raise_status_in_before_hook[True] PASSED [ 40%]
tests/test_httpstatus.py::TestHTTPStatus::test_raise_status_in_before_hook[False] PASSED [ 40%]
tests/test_httpstatus.py::TestHTTPStatus::test_raise_status_in_responder[True] PASSED [ 40%]
tests/test_httpstatus.py::TestHTTPStatus::test_raise_status_in_responder[False] PASSED [ 40%]
tests/test_httpstatus.py::TestHTTPStatus::test_raise_status_runs_after_hooks[True] PASSED [ 40%]
tests/test_httpstatus.py::TestHTTPStatus::test_raise_status_runs_after_hooks[False] PASSED [ 40%]
tests/test_httpstatus.py::TestHTTPStatus::test_raise_status_survives_after_hooks[True] PASSED [ 40%]
tests/test_httpstatus.py::TestHTTPStatus::test_raise_status_survives_after_hooks[False] PASSED [ 40%]
tests/test_httpstatus.py::TestHTTPStatus::test_raise_status_empty_body[True] PASSED [ 40%]
tests/test_httpstatus.py::TestHTTPStatus::test_raise_status_empty_body[False] PASSED [ 40%]
tests/test_httpstatus.py::TestHTTPStatusWithMiddleware::test_raise_status_in_process_request[True] PASSED [ 40%]
tests/test_httpstatus.py::TestHTTPStatusWithMiddleware::test_raise_status_in_process_request[False] PASSED [ 40%]
tests/test_httpstatus.py::TestHTTPStatusWithMiddleware::test_raise_status_in_process_resource[True] PASSED [ 40%]
tests/test_httpstatus.py::TestHTTPStatusWithMiddleware::test_raise_status_in_process_resource[False] PASSED [ 40%]
tests/test_httpstatus.py::TestHTTPStatusWithMiddleware::test_raise_status_runs_process_response[True] PASSED [ 40%]
tests/test_httpstatus.py::TestHTTPStatusWithMiddleware::test_raise_status_runs_process_response[False] PASSED [ 40%]
tests/test_httpstatus.py::TestNoBodyWithStatus::test_data_is_set[asgi] PASSED [ 40%]
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  [ 41%]
tests/test_httpstatus.py::test_non_string_status[wsgi-307-307] PASSED    [ 41%]
tests/test_httpstatus.py::test_non_string_status[wsgi-500-500_1] PASSED  [ 41%]
tests/test_httpstatus.py::test_non_string_status[wsgi-702-702] PASSED    [ 41%]
tests/test_httpstatus.py::test_non_string_status[wsgi-200 OK-200] PASSED [ 41%]
tests/test_httpstatus.py::test_non_string_status[wsgi-702 Emacs-702] PASSED [ 41%]
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 [ 44%]
tests/test_inspect.py::TestStringVisitor::test_middleware_tree[True-True] PASSED [ 44%]
tests/test_inspect.py::TestStringVisitor::test_middleware_tree[True-False] PASSED [ 44%]
tests/test_inspect.py::TestStringVisitor::test_middleware_tree[False-True] PASSED [ 44%]
tests/test_inspect.py::TestStringVisitor::test_middleware_tree[False-False] PASSED [ 44%]
tests/test_inspect.py::TestStringVisitor::test_middleware_tree_response_only[True] PASSED [ 44%]
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 [ 45%]
tests/test_inspect.py::TestStringVisitor::test_app_no_errors[True-True] PASSED [ 45%]
tests/test_inspect.py::TestStringVisitor::test_app_no_errors[True-False] PASSED [ 45%]
tests/test_inspect.py::TestStringVisitor::test_app_no_errors[False-True] PASSED [ 45%]
tests/test_inspect.py::TestStringVisitor::test_app_no_errors[False-False] PASSED [ 45%]
tests/test_inspect.py::TestStringVisitor::test_app_name[True] PASSED     [ 45%]
tests/test_inspect.py::TestStringVisitor::test_app_name[False] PASSED    [ 45%]
tests/test_inspect.py::test_is_internal 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"}] PASSED [ 45%]
tests/test_media_handlers.py::test_serialization[asgi-dumps-body2-{"test":"value"}] PASSED [ 45%]
tests/test_media_handlers.py::test_serialization[asgi-func3-body3-[{"test":"value"},{"ensure_ascii":true}]] PASSED [ 45%]
tests/test_media_handlers.py::test_serialization[asgi-None-body4-{"yen":"\xc2\xa5"}] 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"}] PASSED [ 45%]
tests/test_media_handlers.py::test_serialization[wsgi-dumps-body2-{"test":"value"}] PASSED [ 45%]
tests/test_media_handlers.py::test_serialization[wsgi-func3-body3-[{"test":"value"},{"ensure_ascii":true}]] PASSED [ 45%]
tests/test_media_handlers.py::test_serialization[wsgi-None-body4-{"yen":"\xc2\xa5"}] 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-dumps-loads0] PASSED [ 45%]
tests/test_media_handlers.py::test_full_app[asgi-True-dumps1-temp_json_func] PASSED [ 45%]
tests/test_media_handlers.py::test_full_app[asgi-True-dumps-loads1] PASSED [ 45%]
tests/test_media_handlers.py::test_full_app[asgi-True-dumps-loads2] PASSED [ 46%]
tests/test_media_handlers.py::test_full_app[asgi-False-dumps-loads0] PASSED [ 46%]
tests/test_media_handlers.py::test_full_app[asgi-False-dumps1-temp_json_func] PASSED [ 46%]
tests/test_media_handlers.py::test_full_app[asgi-False-dumps-loads1] PASSED [ 46%]
tests/test_media_handlers.py::test_full_app[asgi-False-dumps-loads2] PASSED [ 46%]
tests/test_media_handlers.py::test_full_app[wsgi-True-dumps-loads0] PASSED [ 46%]
tests/test_media_handlers.py::test_full_app[wsgi-True-dumps1-temp_json_func] PASSED [ 46%]
tests/test_media_handlers.py::test_full_app[wsgi-True-dumps-loads1] PASSED [ 46%]
tests/test_media_handlers.py::test_full_app[wsgi-True-dumps-loads2] PASSED [ 46%]
tests/test_media_handlers.py::test_full_app[wsgi-False-dumps-loads0] PASSED [ 46%]
tests/test_media_handlers.py::test_full_app[wsgi-False-dumps1-temp_json_func] PASSED [ 46%]
tests/test_media_handlers.py::test_full_app[wsgi-False-dumps-loads1] PASSED [ 46%]
tests/test_media_handlers.py::test_full_app[wsgi-False-dumps-loads2] PASSED [ 46%]
tests/test_media_handlers.py::test_deserialization_raises[asgi-application/json-True] PASSED [ 46%]
tests/test_media_handlers.py::test_deserialization_raises[asgi-application/json-False] PASSED [ 46%]
tests/test_media_handlers.py::test_deserialization_raises[asgi-application/json; answer=42-True] PASSED [ 46%]
tests/test_media_handlers.py::test_deserialization_raises[asgi-application/json; answer=42-False] PASSED [ 46%]
tests/test_media_handlers.py::test_deserialization_raises[wsgi-application/json-True] PASSED [ 46%]
tests/test_media_handlers.py::test_deserialization_raises[wsgi-application/json-False] PASSED [ 46%]
tests/test_media_handlers.py::test_deserialization_raises[wsgi-application/json; answer=42-True] PASSED [ 46%]
tests/test_media_handlers.py::test_deserialization_raises[wsgi-application/json; answer=42-False] 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-True] PASSED [ 46%]
tests/test_media_handlers.py::test_json_err_no_handler[asgi-False] PASSED [ 46%]
tests/test_media_handlers.py::test_json_err_no_handler[wsgi-True] PASSED [ 46%]
tests/test_media_handlers.py::test_json_err_no_handler[wsgi-False] 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               [ 47%]
tests/test_media_multipart.py::test_parse[boundary] PASSED               [ 47%]
tests/test_media_multipart.py::test_parsing_correctness[32-7] PASSED     [ 47%]
tests/test_media_multipart.py::test_parsing_correctness[32-8] PASSED     [ 47%]
tests/test_media_multipart.py::test_parsing_correctness[32-9] PASSED     [ 47%]
tests/test_media_multipart.py::test_parsing_correctness[32-10] PASSED    [ 47%]
tests/test_media_multipart.py::test_parsing_correctness[32-32] PASSED    [ 47%]
tests/test_media_multipart.py::test_parsing_correctness[32-64] PASSED    [ 47%]
tests/test_media_multipart.py::test_parsing_correctness[32-128] PASSED   [ 47%]
tests/test_media_multipart.py::test_parsing_correctness[32-256] PASSED   [ 47%]
tests/test_media_multipart.py::test_parsing_correctness[64-7] PASSED     [ 47%]
tests/test_media_multipart.py::test_parsing_correctness[64-8] PASSED     [ 47%]
tests/test_media_multipart.py::test_parsing_correctness[64-9] PASSED     [ 47%]
tests/test_media_multipart.py::test_parsing_correctness[64-10] PASSED    [ 47%]
tests/test_media_multipart.py::test_parsing_correctness[64-32] PASSED    [ 47%]
tests/test_media_multipart.py::test_parsing_correctness[64-64] PASSED    [ 47%]
tests/test_media_multipart.py::test_parsing_correctness[64-128] PASSED   [ 47%]
tests/test_media_multipart.py::test_parsing_correctness[64-256] PASSED   [ 47%]
tests/test_media_multipart.py::test_parsing_correctness[128-7] PASSED    [ 47%]
tests/test_media_multipart.py::test_parsing_correctness[128-8] PASSED    [ 47%]
tests/test_media_multipart.py::test_parsing_correctness[128-9] PASSED    [ 47%]
tests/test_media_multipart.py::test_parsing_correctness[128-10] PASSED   [ 47%]
tests/test_media_multipart.py::test_parsing_correctness[128-32] PASSED   [ 47%]
tests/test_media_multipart.py::test_parsing_correctness[128-64] PASSED   [ 47%]
tests/test_media_multipart.py::test_parsing_correctness[128-128] PASSED  [ 47%]
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  [ 48%]
tests/test_media_multipart.py::test_missing_boundary PASSED              [ 48%]
tests/test_media_multipart.py::test_empty_input PASSED                   [ 48%]
tests/test_media_multipart.py::test_serialize PASSED                     [ 48%]
tests/test_media_multipart.py::test_invalid_text_or_charset[utf-8-Impossible byte: \xff] PASSED [ 48%]
tests/test_media_multipart.py::test_invalid_text_or_charset[utf-8-Overlong... \xfc\x83\xbf\xbf\xbf\xbf ... sequence] PASSED [ 48%]
tests/test_media_multipart.py::test_invalid_text_or_charset[ascii-\x80\x80\x80] PASSED [ 48%]
tests/test_media_multipart.py::test_invalid_text_or_charset[pecyn-AAHEHlRoZSBGYWxjb24gV2ViIEZyYW1ld29yaywgMjAxOQ==] PASSED [ 48%]
tests/test_media_multipart.py::test_unknown_header PASSED                [ 48%]
tests/test_media_multipart.py::test_from_buffered_stream PASSED          [ 48%]
tests/test_media_multipart.py::test_body_part_media PASSED               [ 48%]
tests/test_media_multipart.py::test_body_part_properties PASSED          [ 48%]
tests/test_media_multipart.py::test_empty_filename PASSED                [ 48%]
tests/test_media_multipart.py::test_async_unsupported SKIPPED (Testi...) [ 48%]
tests/test_media_multipart.py::test_upload_multipart[asgi] PASSED        [ 48%]
tests/test_media_multipart.py::test_upload_multipart[wsgi] PASSED        [ 48%]
tests/test_media_multipart.py::test_truncated_form[asgi-1] PASSED        [ 48%]
tests/test_media_multipart.py::test_truncated_form[asgi-2] PASSED        [ 48%]
tests/test_media_multipart.py::test_truncated_form[asgi-3] PASSED        [ 48%]
tests/test_media_multipart.py::test_truncated_form[asgi-4] PASSED        [ 48%]
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_unexected_form_structure[asgi] PASSED [ 48%]
tests/test_media_multipart.py::test_unexected_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   [ 49%]
tests/test_media_multipart.py::test_too_many_body_parts[asgi-6] PASSED   [ 49%]
tests/test_media_multipart.py::test_too_many_body_parts[asgi-100] PASSED [ 49%]
tests/test_media_multipart.py::test_too_many_body_parts[asgi-1000] PASSED [ 49%]
tests/test_media_multipart.py::test_too_many_body_parts[wsgi-0] PASSED   [ 49%]
tests/test_media_multipart.py::test_too_many_body_parts[wsgi-1] PASSED   [ 49%]
tests/test_media_multipart.py::test_too_many_body_parts[wsgi-2] PASSED   [ 49%]
tests/test_media_multipart.py::test_too_many_body_parts[wsgi-3] PASSED   [ 49%]
tests/test_media_multipart.py::test_too_many_body_parts[wsgi-4] PASSED   [ 49%]
tests/test_media_multipart.py::test_too_many_body_parts[wsgi-5] PASSED   [ 49%]
tests/test_media_multipart.py::test_too_many_body_parts[wsgi-6] PASSED   [ 49%]
tests/test_media_multipart.py::test_too_many_body_parts[wsgi-100] PASSED [ 49%]
tests/test_media_multipart.py::test_too_many_body_parts[wsgi-1000] PASSED [ 49%]
tests/test_media_multipart.py::test_random_form[asgi] PASSED             [ 49%]
tests/test_media_multipart.py::test_random_form[wsgi] PASSED             [ 49%]
tests/test_media_multipart.py::test_invalid_random_form[asgi] PASSED     [ 49%]
tests/test_media_multipart.py::test_invalid_random_form[wsgi] PASSED     [ 49%]
tests/test_media_multipart.py::test_nested_multipart_mixed PASSED        [ 49%]
tests/test_media_multipart.py::test_content_transfer_encoding_header[asgi] PASSED [ 49%]
tests/test_media_multipart.py::test_content_transfer_encoding_header[wsgi] PASSED [ 49%]
tests/test_media_multipart.py::test_unsupported_charset[asgi] PASSED     [ 49%]
tests/test_media_multipart.py::test_unsupported_charset[wsgi] PASSED     [ 49%]
tests/test_media_multipart.py::test_filename_star[asgi] PASSED           [ 49%]
tests/test_media_multipart.py::test_filename_star[wsgi] PASSED           [ 49%]
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  [ 50%]
tests/test_media_multipart.py::test_headers_edge_cases[wsgi-256] PASSED  [ 50%]
tests/test_media_multipart.py::test_headers_edge_cases[wsgi-1024] PASSED [ 50%]
tests/test_media_multipart.py::test_deserialize_part_media[asgi] PASSED  [ 50%]
tests/test_media_multipart.py::test_deserialize_part_media[wsgi] PASSED  [ 50%]
tests/test_media_multipart.py::test_deserialize_custom_media[asgi] PASSED [ 50%]
tests/test_media_multipart.py::test_deserialize_custom_media[wsgi] PASSED [ 50%]
tests/test_media_urlencoded.py::test_deserialize_empty_form PASSED       [ 50%]
tests/test_media_urlencoded.py::test_deserialize_invalid_unicode PASSED  [ 50%]
tests/test_media_urlencoded.py::test_urlencoded_form_handler_serialize[data0-hello=world] PASSED [ 50%]
tests/test_media_urlencoded.py::test_urlencoded_form_handler_serialize[data1-number=1&number=2] PASSED [ 50%]
tests/test_media_urlencoded.py::test_empty_form[asgi] PASSED             [ 50%]
tests/test_media_urlencoded.py::test_empty_form[wsgi] PASSED             [ 50%]
tests/test_media_urlencoded.py::test_urlencoded_form[asgi-a=1&b=&c=3-expected0] PASSED [ 50%]
tests/test_media_urlencoded.py::test_urlencoded_form[asgi-param=undefined-expected1] PASSED [ 50%]
tests/test_media_urlencoded.py::test_urlencoded_form[asgi-color=green&color=black-expected2] PASSED [ 50%]
tests/test_media_urlencoded.py::test_urlencoded_form[asgi-food=hamburger+%28%F0%9F%8D%94%29&sauce=BBQ-expected3] PASSED [ 50%]
tests/test_media_urlencoded.py::test_urlencoded_form[asgi-flag%1&flag%2&flag%1&flag%2-expected4] PASSED [ 50%]
tests/test_media_urlencoded.py::test_urlencoded_form[wsgi-a=1&b=&c=3-expected0] PASSED [ 50%]
tests/test_media_urlencoded.py::test_urlencoded_form[wsgi-param=undefined-expected1] PASSED [ 50%]
tests/test_media_urlencoded.py::test_urlencoded_form[wsgi-color=green&color=black-expected2] PASSED [ 50%]
tests/test_media_urlencoded.py::test_urlencoded_form[wsgi-food=hamburger+%28%F0%9F%8D%94%29&sauce=BBQ-expected3] PASSED [ 50%]
tests/test_media_urlencoded.py::test_urlencoded_form[wsgi-flag%1&flag%2&flag%1&flag%2-expected4] PASSED [ 50%]
tests/test_mediatypes.py::test_parse_header[-expected0] PASSED           [ 50%]
tests/test_mediatypes.py::test_parse_header[strange-expected1] PASSED    [ 50%]
tests/test_mediatypes.py::test_parse_header[text/plain-expected2] PASSED [ 50%]
tests/test_mediatypes.py::test_parse_header[text/plain -expected3] PASSED [ 50%]
tests/test_mediatypes.py::test_parse_header[ text/plain-expected4] PASSED [ 50%]
tests/test_mediatypes.py::test_parse_header[ text/plain -expected5] PASSED [ 50%]
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 [ 51%]
tests/test_mediatypes.py::test_parse_header[falcon/peregrine; empty=""-expected11] PASSED [ 51%]
tests/test_mediatypes.py::test_parse_header[falcon/peregrine; quote="-expected12] PASSED [ 51%]
tests/test_mediatypes.py::test_parse_header[text/plain; charset=utf-8-expected13] PASSED [ 51%]
tests/test_mediatypes.py::test_parse_header[stuff/strange; missing-value; missing-another-expected14] PASSED [ 51%]
tests/test_mediatypes.py::test_parse_header[stuff/strange; missing-value\\missing-another-expected15] PASSED [ 51%]
tests/test_mediatypes.py::test_parse_header[application/falcon; P1 = "key; value"; P2="\\""-expected16] 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 [ 51%]
tests/test_middleware.py::TestTransactionIdMiddleware::test_generate_trans_id_with_request[asgi] PASSED [ 51%]
tests/test_middleware.py::TestTransactionIdMiddleware::test_generate_trans_id_with_request[wsgi] PASSED [ 51%]
tests/test_middleware.py::TestSeveralMiddlewares::test_generate_trans_id_and_time_with_request[asgi-True] PASSED [ 51%]
tests/test_middleware.py::TestSeveralMiddlewares::test_generate_trans_id_and_time_with_request[asgi-False] PASSED [ 51%]
tests/test_middleware.py::TestSeveralMiddlewares::test_generate_trans_id_and_time_with_request[wsgi-True] PASSED [ 51%]
tests/test_middleware.py::TestSeveralMiddlewares::test_generate_trans_id_and_time_with_request[wsgi-False] PASSED [ 51%]
tests/test_middleware.py::TestSeveralMiddlewares::test_legacy_middleware_called_with_correct_args[asgi] PASSED [ 51%]
tests/test_middleware.py::TestSeveralMiddlewares::test_legacy_middleware_called_with_correct_args[wsgi] PASSED [ 51%]
tests/test_middleware.py::TestSeveralMiddlewares::test_middleware_execution_order[asgi] PASSED [ 51%]
tests/test_middleware.py::TestSeveralMiddlewares::test_middleware_execution_order[wsgi] PASSED [ 51%]
tests/test_middleware.py::TestSeveralMiddlewares::test_independent_middleware_execution_order[asgi] PASSED [ 51%]
tests/test_middleware.py::TestSeveralMiddlewares::test_independent_middleware_execution_order[wsgi] PASSED [ 51%]
tests/test_middleware.py::TestSeveralMiddlewares::test_multiple_response_mw_throw_exception[asgi] PASSED [ 51%]
tests/test_middleware.py::TestSeveralMiddlewares::test_multiple_response_mw_throw_exception[wsgi] PASSED [ 51%]
tests/test_middleware.py::TestSeveralMiddlewares::test_inner_mw_throw_exception[asgi] PASSED [ 51%]
tests/test_middleware.py::TestSeveralMiddlewares::test_inner_mw_throw_exception[wsgi] PASSED [ 51%]
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 [ 52%]
tests/test_middleware.py::TestResourceMiddleware::test_can_access_resource_params[wsgi-False] PASSED [ 52%]
tests/test_middleware.py::TestEmptySignatureMiddleware::test_dont_need_params_in_signature[asgi] PASSED [ 52%]
tests/test_middleware.py::TestEmptySignatureMiddleware::test_dont_need_params_in_signature[wsgi] PASSED [ 52%]
tests/test_middleware.py::TestErrorHandling::test_error_composed_before_resp_middleware_called[asgi] PASSED [ 52%]
tests/test_middleware.py::TestErrorHandling::test_error_composed_before_resp_middleware_called[wsgi] PASSED [ 52%]
tests/test_middleware.py::TestErrorHandling::test_http_status_raised_from_error_handler[asgi] PASSED [ 52%]
tests/test_middleware.py::TestErrorHandling::test_http_status_raised_from_error_handler[wsgi] PASSED [ 52%]
tests/test_middleware.py::TestShortCircuiting::test_process_request_not_cached[asgi] PASSED [ 52%]
tests/test_middleware.py::TestShortCircuiting::test_process_request_not_cached[wsgi] PASSED [ 52%]
tests/test_middleware.py::TestShortCircuiting::test_process_request_cached[asgi-True] PASSED [ 52%]
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] PASSED [ 53%]
tests/test_middleware.py::TestCORSMiddlewareWithAnotherMiddleware::test_api_initialization_with_cors_enabled_and_middleware_param[asgi-mw1] PASSED [ 53%]
tests/test_middleware.py::TestCORSMiddlewareWithAnotherMiddleware::test_api_initialization_with_cors_enabled_and_middleware_param[asgi-mw2] PASSED [ 53%]
tests/test_middleware.py::TestCORSMiddlewareWithAnotherMiddleware::test_api_initialization_with_cors_enabled_and_middleware_param[asgi-mw3] PASSED [ 53%]
tests/test_middleware.py::TestCORSMiddlewareWithAnotherMiddleware::test_api_initialization_with_cors_enabled_and_middleware_param[wsgi-mw0] PASSED [ 53%]
tests/test_middleware.py::TestCORSMiddlewareWithAnotherMiddleware::test_api_initialization_with_cors_enabled_and_middleware_param[wsgi-mw1] PASSED [ 53%]
tests/test_middleware.py::TestCORSMiddlewareWithAnotherMiddleware::test_api_initialization_with_cors_enabled_and_middleware_param[wsgi-mw2] PASSED [ 53%]
tests/test_middleware.py::TestCORSMiddlewareWithAnotherMiddleware::test_api_initialization_with_cors_enabled_and_middleware_param[wsgi-mw3] 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 [ 53%]
tests/test_query_params.py::TestQueryParams::test_default[simulate_request_get_query_params-wsgi] PASSED [ 53%]
tests/test_query_params.py::TestQueryParams::test_blank[simulate_request_get_query_params-asgi] PASSED [ 53%]
tests/test_query_params.py::TestQueryParams::test_blank[simulate_request_get_query_params-wsgi] PASSED [ 53%]
tests/test_query_params.py::TestQueryParams::test_simple[simulate_request_get_query_params-asgi] PASSED [ 53%]
tests/test_query_params.py::TestQueryParams::test_simple[simulate_request_get_query_params-wsgi] PASSED [ 53%]
tests/test_query_params.py::TestQueryParams::test_percent_encoded[simulate_request_get_query_params-asgi] PASSED [ 53%]
tests/test_query_params.py::TestQueryParams::test_percent_encoded[simulate_request_get_query_params-wsgi] PASSED [ 53%]
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 [ 54%]
tests/test_query_params.py::TestQueryParams::test_required[simulate_request_get_query_params-asgi-get_param] PASSED [ 54%]
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 [ 56%]
tests/test_query_params.py::TestQueryParams::test_multiple_keys_as_bool[simulate_request_get_query_params-asgi] PASSED [ 56%]
tests/test_query_params.py::TestQueryParams::test_multiple_keys_as_bool[simulate_request_get_query_params-wsgi] PASSED [ 56%]
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] PASSED [ 56%]
tests/test_query_params.py::TestQueryParams::test_get_datetime_valid_with_format[simulate_request_get_query_params-wsgi] 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 [ 57%]
tests/test_query_params.py::TestQueryParams::test_get_dict_store[simulate_request_get_query_params-wsgi] PASSED [ 57%]
tests/test_query_params.py::TestQueryParams::test_get_dict_invalid[simulate_request_get_query_params-asgi] PASSED [ 57%]
tests/test_query_params.py::TestQueryParams::test_get_dict_invalid[simulate_request_get_query_params-wsgi] PASSED [ 57%]
tests/test_query_params.py::TestQueryParams::test_has_param[simulate_request_get_query_params-asgi] PASSED [ 57%]
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 [ 58%]
tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_multiple_fields_true[simulate_request_post_query_params-wsgi-t=1,,2&t=3,4-False-expected3] PASSED [ 58%]
tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_multiple_fields_true[simulate_request_post_query_params-wsgi-t=1,,2&t=3,4-True-expected4] PASSED [ 58%]
tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_multiple_fields_true[simulate_request_post_query_params-wsgi-t=1,2&t=3,4,,5-False-expected5] PASSED [ 58%]
tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_multiple_fields_true[simulate_request_post_query_params-wsgi-t=1&t=,1,4,,5-False-expected6] PASSED [ 58%]
tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_multiple_fields_true[simulate_request_post_query_params-wsgi-t=1&t=,1,4,,5-True-expected7] PASSED [ 58%]
tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_multiple_fields_true[simulate_request_post_query_params-wsgi-t=1&t=,1,4,,5&t=a,b,c-True-expected8] PASSED [ 58%]
tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_complex_false[simulate_request_post_query_params-asgi] SKIPPED [ 58%]
tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_complex_false[simulate_request_post_query_params-wsgi] PASSED [ 58%]
tests/test_query_params.py::TestQueryParams::test_default_auto_parse_csv_behaviour[simulate_request_post_query_params-asgi] SKIPPED [ 58%]
tests/test_query_params.py::TestQueryParams::test_default_auto_parse_csv_behaviour[simulate_request_post_query_params-wsgi] PASSED [ 58%]
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 [ 59%]
tests/test_query_params.py::TestQueryParams::test_float_neg[simulate_request_post_query_params-wsgi] PASSED [ 59%]
tests/test_query_params.py::TestQueryParams::test_uuid[simulate_request_post_query_params-asgi] SKIPPED [ 59%]
tests/test_query_params.py::TestQueryParams::test_uuid[simulate_request_post_query_params-wsgi] PASSED [ 59%]
tests/test_query_params.py::TestQueryParams::test_boolean[simulate_request_post_query_params-asgi] SKIPPED [ 59%]
tests/test_query_params.py::TestQueryParams::test_boolean[simulate_request_post_query_params-wsgi] PASSED [ 59%]
tests/test_query_params.py::TestQueryParams::test_boolean_blank[simulate_request_post_query_params-asgi] SKIPPED [ 59%]
tests/test_query_params.py::TestQueryParams::test_boolean_blank[simulate_request_post_query_params-wsgi] PASSED [ 59%]
tests/test_query_params.py::TestQueryParams::test_list_type[simulate_request_post_query_params-asgi] SKIPPED [ 59%]
tests/test_query_params.py::TestQueryParams::test_list_type[simulate_request_post_query_params-wsgi] PASSED [ 59%]
tests/test_query_params.py::TestQueryParams::test_list_type_blank[simulate_request_post_query_params-asgi] SKIPPED [ 59%]
tests/test_query_params.py::TestQueryParams::test_list_type_blank[simulate_request_post_query_params-wsgi] PASSED [ 59%]
tests/test_query_params.py::TestQueryParams::test_list_transformer[simulate_request_post_query_params-asgi] SKIPPED [ 59%]
tests/test_query_params.py::TestQueryParams::test_list_transformer[simulate_request_post_query_params-wsgi] PASSED [ 59%]
tests/test_query_params.py::TestQueryParams::test_param_property[simulate_request_post_query_params-asgi] SKIPPED [ 59%]
tests/test_query_params.py::TestQueryParams::test_param_property[simulate_request_post_query_params-wsgi] PASSED [ 59%]
tests/test_query_params.py::TestQueryParams::test_multiple_form_keys[simulate_request_post_query_params-asgi] SKIPPED [ 59%]
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 [ 60%]
tests/test_query_params.py::TestQueryParams::test_get_date_invalid[simulate_request_post_query_params-asgi] SKIPPED [ 60%]
tests/test_query_params.py::TestQueryParams::test_get_date_invalid[simulate_request_post_query_params-wsgi] PASSED [ 60%]
tests/test_query_params.py::TestQueryParams::test_get_datetime_valid[simulate_request_post_query_params-asgi] SKIPPED [ 60%]
tests/test_query_params.py::TestQueryParams::test_get_datetime_valid[simulate_request_post_query_params-wsgi] PASSED [ 60%]
tests/test_query_params.py::TestQueryParams::test_get_datetime_missing_param[simulate_request_post_query_params-asgi] SKIPPED [ 60%]
tests/test_query_params.py::TestQueryParams::test_get_datetime_missing_param[simulate_request_post_query_params-wsgi] PASSED [ 60%]
tests/test_query_params.py::TestQueryParams::test_get_datetime_valid_with_format[simulate_request_post_query_params-asgi] SKIPPED [ 60%]
tests/test_query_params.py::TestQueryParams::test_get_datetime_valid_with_format[simulate_request_post_query_params-wsgi] PASSED [ 60%]
tests/test_query_params.py::TestQueryParams::test_get_datetime_store[simulate_request_post_query_params-asgi] SKIPPED [ 60%]
tests/test_query_params.py::TestQueryParams::test_get_datetime_store[simulate_request_post_query_params-wsgi] PASSED [ 60%]
tests/test_query_params.py::TestQueryParams::test_get_datetime_invalid[simulate_request_post_query_params-asgi] SKIPPED [ 60%]
tests/test_query_params.py::TestQueryParams::test_get_datetime_invalid[simulate_request_post_query_params-wsgi] PASSED [ 60%]
tests/test_query_params.py::TestQueryParams::test_get_dict_valid[simulate_request_post_query_params-asgi] SKIPPED [ 60%]
tests/test_query_params.py::TestQueryParams::test_get_dict_valid[simulate_request_post_query_params-wsgi] PASSED [ 60%]
tests/test_query_params.py::TestQueryParams::test_get_dict_missing_param[simulate_request_post_query_params-asgi] SKIPPED [ 60%]
tests/test_query_params.py::TestQueryParams::test_get_dict_missing_param[simulate_request_post_query_params-wsgi] PASSED [ 60%]
tests/test_query_params.py::TestQueryParams::test_get_dict_store[simulate_request_post_query_params-asgi] SKIPPED [ 60%]
tests/test_query_params.py::TestQueryParams::test_get_dict_store[simulate_request_post_query_params-wsgi] PASSED [ 60%]
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 [ 61%]
tests/test_query_params.py::TestPostQueryParams::test_http_methods_body_expected[wsgi-PATCH] PASSED [ 61%]
tests/test_query_params.py::TestPostQueryParams::test_http_methods_body_expected[wsgi-DELETE] PASSED [ 61%]
tests/test_query_params.py::TestPostQueryParams::test_http_methods_body_expected[wsgi-OPTIONS] PASSED [ 61%]
tests/test_query_params.py::TestPostQueryParams::test_http_methods_body_not_expected[asgi-GET] SKIPPED [ 61%]
tests/test_query_params.py::TestPostQueryParams::test_http_methods_body_not_expected[asgi-HEAD] SKIPPED [ 61%]
tests/test_query_params.py::TestPostQueryParams::test_http_methods_body_not_expected[wsgi-GET] PASSED [ 61%]
tests/test_query_params.py::TestPostQueryParams::test_http_methods_body_not_expected[wsgi-HEAD] PASSED [ 61%]
tests/test_query_params.py::TestPostQueryParams::test_non_ascii[asgi] SKIPPED [ 61%]
tests/test_query_params.py::TestPostQueryParams::test_non_ascii[wsgi] PASSED [ 61%]
tests/test_query_params.py::TestPostQueryParams::test_empty_body[asgi] SKIPPED [ 61%]
tests/test_query_params.py::TestPostQueryParams::test_empty_body[wsgi] PASSED [ 61%]
tests/test_query_params.py::TestPostQueryParams::test_empty_body_no_content_length[asgi] SKIPPED [ 61%]
tests/test_query_params.py::TestPostQueryParams::test_empty_body_no_content_length[wsgi] PASSED [ 61%]
tests/test_query_params.py::TestPostQueryParams::test_explicitly_disable_auto_parse[asgi] SKIPPED [ 61%]
tests/test_query_params.py::TestPostQueryParams::test_explicitly_disable_auto_parse[wsgi] PASSED [ 61%]
tests/test_query_params.py::TestPostQueryParams::test_asgi_raises_error PASSED [ 61%]
tests/test_query_params.py::TestPostQueryParamsDefaultBehavior::test_dont_auto_parse_by_default[True] PASSED [ 61%]
tests/test_query_params.py::TestPostQueryParamsDefaultBehavior::test_dont_auto_parse_by_default[False] 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 [ 62%]
tests/test_redirects.py::TestRedirects::test_redirect_with_headers[wsgi-GET-301 Moved Permanently-/moved/perm] PASSED [ 62%]
tests/test_redirects.py::TestRedirects::test_redirect_with_headers[wsgi-POST-302 Found-/found] PASSED [ 62%]
tests/test_redirects.py::TestRedirects::test_redirect_with_headers[wsgi-PUT-303 See Other-/see/other] PASSED [ 62%]
tests/test_redirects.py::TestRedirects::test_redirect_with_headers[wsgi-DELETE-307 Temporary Redirect-/tmp/redirect] PASSED [ 62%]
tests/test_redirects.py::TestRedirects::test_redirect_with_headers[wsgi-HEAD-308 Permanent Redirect-/perm/redirect] PASSED [ 62%]
tests/test_request_access_route.py::test_remote_addr_default[asgi] PASSED [ 62%]
tests/test_request_access_route.py::test_remote_addr_default[wsgi] PASSED [ 62%]
tests/test_request_access_route.py::test_remote_addr_non_default[asgi] PASSED [ 62%]
tests/test_request_access_route.py::test_remote_addr_non_default[wsgi] PASSED [ 62%]
tests/test_request_access_route.py::test_remote_addr_only[asgi] PASSED   [ 62%]
tests/test_request_access_route.py::test_remote_addr_only[wsgi] PASSED   [ 62%]
tests/test_request_access_route.py::test_rfc_forwarded[asgi] PASSED      [ 62%]
tests/test_request_access_route.py::test_rfc_forwarded[wsgi] PASSED      [ 62%]
tests/test_request_access_route.py::test_malformed_rfc_forwarded[asgi] PASSED [ 62%]
tests/test_request_access_route.py::test_malformed_rfc_forwarded[wsgi] PASSED [ 62%]
tests/test_request_access_route.py::test_x_forwarded_for[asgi-True] PASSED [ 62%]
tests/test_request_access_route.py::test_x_forwarded_for[asgi-False] PASSED [ 62%]
tests/test_request_access_route.py::test_x_forwarded_for[wsgi-True] PASSED [ 62%]
tests/test_request_access_route.py::test_x_forwarded_for[wsgi-False] PASSED [ 62%]
tests/test_request_access_route.py::test_x_real_ip[asgi] PASSED          [ 62%]
tests/test_request_access_route.py::test_x_real_ip[wsgi] PASSED          [ 62%]
tests/test_request_access_route.py::test_remote_addr[asgi-10.0.0.1] PASSED [ 62%]
tests/test_request_access_route.py::test_remote_addr[asgi-98.245.211.177] PASSED [ 62%]
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[True] PASSED [ 62%]
tests/test_request_attrs.py::TestRequestAttributes::test_empty[False] PASSED [ 62%]
tests/test_request_attrs.py::TestRequestAttributes::test_host[True] PASSED [ 62%]
tests/test_request_attrs.py::TestRequestAttributes::test_host[False] PASSED [ 62%]
tests/test_request_attrs.py::TestRequestAttributes::test_subdomain[True] PASSED [ 63%]
tests/test_request_attrs.py::TestRequestAttributes::test_subdomain[False] PASSED [ 63%]
tests/test_request_attrs.py::TestRequestAttributes::test_reconstruct_url[True] PASSED [ 63%]
tests/test_request_attrs.py::TestRequestAttributes::test_reconstruct_url[False] PASSED [ 63%]
tests/test_request_attrs.py::TestRequestAttributes::test_nonlatin_path[/hello_\u043f\u0440\u0438\u0432\u0435\u0442-True] PASSED [ 63%]
tests/test_request_attrs.py::TestRequestAttributes::test_nonlatin_path[/hello_\u043f\u0440\u0438\u0432\u0435\u0442-False] PASSED [ 63%]
tests/test_request_attrs.py::TestRequestAttributes::test_nonlatin_path[/test/%E5%BB%B6%E5%AE%89-True] PASSED [ 63%]
tests/test_request_attrs.py::TestRequestAttributes::test_nonlatin_path[/test/%E5%BB%B6%E5%AE%89-False] PASSED [ 63%]
tests/test_request_attrs.py::TestRequestAttributes::test_nonlatin_path[/test/%C3%A4%C3%B6%C3%BC%C3%9F%E2%82%AC-True] PASSED [ 63%]
tests/test_request_attrs.py::TestRequestAttributes::test_nonlatin_path[/test/%C3%A4%C3%B6%C3%BC%C3%9F%E2%82%AC-False] PASSED [ 63%]
tests/test_request_attrs.py::TestRequestAttributes::test_uri[True] PASSED [ 63%]
tests/test_request_attrs.py::TestRequestAttributes::test_uri[False] PASSED [ 63%]
tests/test_request_attrs.py::TestRequestAttributes::test_uri_https[True] PASSED [ 63%]
tests/test_request_attrs.py::TestRequestAttributes::test_uri_https[False] PASSED [ 63%]
tests/test_request_attrs.py::TestRequestAttributes::test_uri_http_1_0[True] PASSED [ 63%]
tests/test_request_attrs.py::TestRequestAttributes::test_uri_http_1_0[False] PASSED [ 63%]
tests/test_request_attrs.py::TestRequestAttributes::test_relative_uri[True] PASSED [ 63%]
tests/test_request_attrs.py::TestRequestAttributes::test_relative_uri[False] PASSED [ 63%]
tests/test_request_attrs.py::TestRequestAttributes::test_client_accepts[True] PASSED [ 63%]
tests/test_request_attrs.py::TestRequestAttributes::test_client_accepts[False] PASSED [ 63%]
tests/test_request_attrs.py::TestRequestAttributes::test_client_accepts_bogus[True] PASSED [ 63%]
tests/test_request_attrs.py::TestRequestAttributes::test_client_accepts_bogus[False] PASSED [ 63%]
tests/test_request_attrs.py::TestRequestAttributes::test_client_accepts_props[True] PASSED [ 63%]
tests/test_request_attrs.py::TestRequestAttributes::test_client_accepts_props[False] PASSED [ 63%]
tests/test_request_attrs.py::TestRequestAttributes::test_client_prefers[True] PASSED [ 63%]
tests/test_request_attrs.py::TestRequestAttributes::test_client_prefers[False] PASSED [ 63%]
tests/test_request_attrs.py::TestRequestAttributes::test_range[True] PASSED [ 63%]
tests/test_request_attrs.py::TestRequestAttributes::test_range[False] PASSED [ 63%]
tests/test_request_attrs.py::TestRequestAttributes::test_range_unit[True] PASSED [ 63%]
tests/test_request_attrs.py::TestRequestAttributes::test_range_unit[False] PASSED [ 63%]
tests/test_request_attrs.py::TestRequestAttributes::test_range_invalid[True] PASSED [ 63%]
tests/test_request_attrs.py::TestRequestAttributes::test_range_invalid[False] PASSED [ 63%]
tests/test_request_attrs.py::TestRequestAttributes::test_missing_attribute_header[True] PASSED [ 63%]
tests/test_request_attrs.py::TestRequestAttributes::test_missing_attribute_header[False] PASSED [ 64%]
tests/test_request_attrs.py::TestRequestAttributes::test_content_length[True] PASSED [ 64%]
tests/test_request_attrs.py::TestRequestAttributes::test_content_length[False] PASSED [ 64%]
tests/test_request_attrs.py::TestRequestAttributes::test_bogus_content_length_nan[True] PASSED [ 64%]
tests/test_request_attrs.py::TestRequestAttributes::test_bogus_content_length_nan[False] PASSED [ 64%]
tests/test_request_attrs.py::TestRequestAttributes::test_bogus_content_length_neg[True] PASSED [ 64%]
tests/test_request_attrs.py::TestRequestAttributes::test_bogus_content_length_neg[False] PASSED [ 64%]
tests/test_request_attrs.py::TestRequestAttributes::test_date[Date-date-True] PASSED [ 64%]
tests/test_request_attrs.py::TestRequestAttributes::test_date[Date-date-False] PASSED [ 64%]
tests/test_request_attrs.py::TestRequestAttributes::test_date[If-Modified-Since-if_modified_since-True] PASSED [ 64%]
tests/test_request_attrs.py::TestRequestAttributes::test_date[If-Modified-Since-if_modified_since-False] PASSED [ 64%]
tests/test_request_attrs.py::TestRequestAttributes::test_date[If-Unmodified-Since-if_unmodified_since-True] PASSED [ 64%]
tests/test_request_attrs.py::TestRequestAttributes::test_date[If-Unmodified-Since-if_unmodified_since-False] PASSED [ 64%]
tests/test_request_attrs.py::TestRequestAttributes::test_date_invalid[Date-date-True] PASSED [ 64%]
tests/test_request_attrs.py::TestRequestAttributes::test_date_invalid[Date-date-False] PASSED [ 64%]
tests/test_request_attrs.py::TestRequestAttributes::test_date_invalid[If-Modified-Since-if_modified_since-True] PASSED [ 64%]
tests/test_request_attrs.py::TestRequestAttributes::test_date_invalid[If-Modified-Since-if_modified_since-False] PASSED [ 64%]
tests/test_request_attrs.py::TestRequestAttributes::test_date_invalid[If-Unmodified-Since-if_unmodified_since-True] PASSED [ 64%]
tests/test_request_attrs.py::TestRequestAttributes::test_date_invalid[If-Unmodified-Since-if_unmodified_since-False] PASSED [ 64%]
tests/test_request_attrs.py::TestRequestAttributes::test_date_missing[date-True] PASSED [ 64%]
tests/test_request_attrs.py::TestRequestAttributes::test_date_missing[date-False] PASSED [ 64%]
tests/test_request_attrs.py::TestRequestAttributes::test_date_missing[if_modified_since-True] PASSED [ 64%]
tests/test_request_attrs.py::TestRequestAttributes::test_date_missing[if_modified_since-False] PASSED [ 64%]
tests/test_request_attrs.py::TestRequestAttributes::test_date_missing[if_unmodified_since-True] PASSED [ 64%]
tests/test_request_attrs.py::TestRequestAttributes::test_date_missing[if_unmodified_since-False] PASSED [ 64%]
tests/test_request_attrs.py::TestRequestAttributes::test_attribute_headers[Accept-x-falcon-accept-*/*-True] PASSED [ 64%]
tests/test_request_attrs.py::TestRequestAttributes::test_attribute_headers[Accept-x-falcon-accept-*/*-False] PASSED [ 64%]
tests/test_request_attrs.py::TestRequestAttributes::test_attribute_headers[Authorization-HMAC_SHA1 c590afa9bb59191ffab30f223791e82d3fd3e3af-auth-None-True] PASSED [ 64%]
tests/test_request_attrs.py::TestRequestAttributes::test_attribute_headers[Authorization-HMAC_SHA1 c590afa9bb59191ffab30f223791e82d3fd3e3af-auth-None-False] PASSED [ 64%]
tests/test_request_attrs.py::TestRequestAttributes::test_attribute_headers[Content-Type-text/plain-content_type-None-True] PASSED [ 64%]
tests/test_request_attrs.py::TestRequestAttributes::test_attribute_headers[Content-Type-text/plain-content_type-None-False] PASSED [ 64%]
tests/test_request_attrs.py::TestRequestAttributes::test_attribute_headers[Expect-100-continue-expect-None-True] PASSED [ 64%]
tests/test_request_attrs.py::TestRequestAttributes::test_attribute_headers[Expect-100-continue-expect-None-False] PASSED [ 64%]
tests/test_request_attrs.py::TestRequestAttributes::test_attribute_headers[If-Range-Wed, 21 Oct 2015 07:28:00 GMT-if_range-None-True] PASSED [ 65%]
tests/test_request_attrs.py::TestRequestAttributes::test_attribute_headers[If-Range-Wed, 21 Oct 2015 07:28:00 GMT-if_range-None-False] PASSED [ 65%]
tests/test_request_attrs.py::TestRequestAttributes::test_attribute_headers[User-Agent-testing/3.0-user_agent-falcon-client/3.1.1-True] PASSED [ 65%]
tests/test_request_attrs.py::TestRequestAttributes::test_attribute_headers[User-Agent-testing/3.0-user_agent-falcon-client/3.1.1-False] PASSED [ 65%]
tests/test_request_attrs.py::TestRequestAttributes::test_attribute_headers[Referer-https://www.google.com/-referer-None-True] PASSED [ 65%]
tests/test_request_attrs.py::TestRequestAttributes::test_attribute_headers[Referer-https://www.google.com/-referer-None-False] PASSED [ 65%]
tests/test_request_attrs.py::TestRequestAttributes::test_method[True] PASSED [ 65%]
tests/test_request_attrs.py::TestRequestAttributes::test_method[False] PASSED [ 65%]
tests/test_request_attrs.py::TestRequestAttributes::test_empty_path[True] PASSED [ 65%]
tests/test_request_attrs.py::TestRequestAttributes::test_empty_path[False] PASSED [ 65%]
tests/test_request_attrs.py::TestRequestAttributes::test_content_type_method[True] PASSED [ 65%]
tests/test_request_attrs.py::TestRequestAttributes::test_content_type_method[False] PASSED [ 65%]
tests/test_request_attrs.py::TestRequestAttributes::test_content_length_method[True] PASSED [ 65%]
tests/test_request_attrs.py::TestRequestAttributes::test_content_length_method[False] PASSED [ 65%]
tests/test_request_attrs.py::TestRequestAttributes::test_port_explicit[1.0-True] PASSED [ 65%]
tests/test_request_attrs.py::TestRequestAttributes::test_port_explicit[1.0-False] PASSED [ 65%]
tests/test_request_attrs.py::TestRequestAttributes::test_port_explicit[1.1-True] PASSED [ 65%]
tests/test_request_attrs.py::TestRequestAttributes::test_port_explicit[1.1-False] PASSED [ 65%]
tests/test_request_attrs.py::TestRequestAttributes::test_port_explicit[2-True] PASSED [ 65%]
tests/test_request_attrs.py::TestRequestAttributes::test_port_explicit[2-False] PASSED [ 65%]
tests/test_request_attrs.py::TestRequestAttributes::test_scheme_https[1.0-True] PASSED [ 65%]
tests/test_request_attrs.py::TestRequestAttributes::test_scheme_https[1.0-False] PASSED [ 65%]
tests/test_request_attrs.py::TestRequestAttributes::test_scheme_https[1.1-True] PASSED [ 65%]
tests/test_request_attrs.py::TestRequestAttributes::test_scheme_https[1.1-False] PASSED [ 65%]
tests/test_request_attrs.py::TestRequestAttributes::test_scheme_https[2-True] PASSED [ 65%]
tests/test_request_attrs.py::TestRequestAttributes::test_scheme_https[2-False] PASSED [ 65%]
tests/test_request_attrs.py::TestRequestAttributes::test_scheme_http[1.0-True-True] PASSED [ 65%]
tests/test_request_attrs.py::TestRequestAttributes::test_scheme_http[1.0-True-False] PASSED [ 65%]
tests/test_request_attrs.py::TestRequestAttributes::test_scheme_http[1.0-False-True] PASSED [ 65%]
tests/test_request_attrs.py::TestRequestAttributes::test_scheme_http[1.0-False-False] PASSED [ 65%]
tests/test_request_attrs.py::TestRequestAttributes::test_scheme_http[1.1-True-True] PASSED [ 65%]
tests/test_request_attrs.py::TestRequestAttributes::test_scheme_http[1.1-True-False] PASSED [ 65%]
tests/test_request_attrs.py::TestRequestAttributes::test_scheme_http[1.1-False-True] PASSED [ 65%]
tests/test_request_attrs.py::TestRequestAttributes::test_scheme_http[1.1-False-False] PASSED [ 66%]
tests/test_request_attrs.py::TestRequestAttributes::test_scheme_http[2-True-True] PASSED [ 66%]
tests/test_request_attrs.py::TestRequestAttributes::test_scheme_http[2-True-False] PASSED [ 66%]
tests/test_request_attrs.py::TestRequestAttributes::test_scheme_http[2-False-True] PASSED [ 66%]
tests/test_request_attrs.py::TestRequestAttributes::test_scheme_http[2-False-False] PASSED [ 66%]
tests/test_request_attrs.py::TestRequestAttributes::test_netloc_default_port[1.0-True] PASSED [ 66%]
tests/test_request_attrs.py::TestRequestAttributes::test_netloc_default_port[1.0-False] PASSED [ 66%]
tests/test_request_attrs.py::TestRequestAttributes::test_netloc_default_port[1.1-True] PASSED [ 66%]
tests/test_request_attrs.py::TestRequestAttributes::test_netloc_default_port[1.1-False] PASSED [ 66%]
tests/test_request_attrs.py::TestRequestAttributes::test_netloc_default_port[2-True] PASSED [ 66%]
tests/test_request_attrs.py::TestRequestAttributes::test_netloc_default_port[2-False] PASSED [ 66%]
tests/test_request_attrs.py::TestRequestAttributes::test_netloc_nondefault_port[1.0-True] PASSED [ 66%]
tests/test_request_attrs.py::TestRequestAttributes::test_netloc_nondefault_port[1.0-False] PASSED [ 66%]
tests/test_request_attrs.py::TestRequestAttributes::test_netloc_nondefault_port[1.1-True] PASSED [ 66%]
tests/test_request_attrs.py::TestRequestAttributes::test_netloc_nondefault_port[1.1-False] PASSED [ 66%]
tests/test_request_attrs.py::TestRequestAttributes::test_netloc_nondefault_port[2-True] PASSED [ 66%]
tests/test_request_attrs.py::TestRequestAttributes::test_netloc_nondefault_port[2-False] PASSED [ 66%]
tests/test_request_attrs.py::TestRequestAttributes::test_netloc_from_env[1.0-True] PASSED [ 66%]
tests/test_request_attrs.py::TestRequestAttributes::test_netloc_from_env[1.0-False] PASSED [ 66%]
tests/test_request_attrs.py::TestRequestAttributes::test_netloc_from_env[1.1-True] PASSED [ 66%]
tests/test_request_attrs.py::TestRequestAttributes::test_netloc_from_env[1.1-False] PASSED [ 66%]
tests/test_request_attrs.py::TestRequestAttributes::test_netloc_from_env[2-True] PASSED [ 66%]
tests/test_request_attrs.py::TestRequestAttributes::test_netloc_from_env[2-False] PASSED [ 66%]
tests/test_request_attrs.py::TestRequestAttributes::test_app_present[True] PASSED [ 66%]
tests/test_request_attrs.py::TestRequestAttributes::test_app_present[False] PASSED [ 66%]
tests/test_request_attrs.py::TestRequestAttributes::test_app_blank[True] PASSED [ 66%]
tests/test_request_attrs.py::TestRequestAttributes::test_app_blank[False] PASSED [ 66%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match--None-True] PASSED [ 66%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match--None-False] PASSED [ 66%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match- -None-True] PASSED [ 66%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match- -None-False] PASSED [ 66%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-   -None-True] PASSED [ 66%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-   -None-False] PASSED [ 66%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-\t-None-True] PASSED [ 66%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-\t-None-False] PASSED [ 67%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match- \t-None-True] PASSED [ 67%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match- \t-None-False] PASSED [ 67%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-,-None-True] PASSED [ 67%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-,-None-False] PASSED [ 67%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-,,-None-True] PASSED [ 67%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-,,-None-False] PASSED [ 67%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-,, -None-True] PASSED [ 67%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-,, -None-False] PASSED [ 67%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-, , -None-True] PASSED [ 67%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-, , -None-False] PASSED [ 67%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-*-expected_value9-True] PASSED [ 67%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-*-expected_value9-False] PASSED [ 67%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-W/"67ab43"-expected_value10-True] PASSED [ 67%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-W/"67ab43"-expected_value10-False] PASSED [ 67%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-w/"67ab43"-expected_value11-True] PASSED [ 67%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-w/"67ab43"-expected_value11-False] PASSED [ 67%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match- w/"67ab43"-expected_value12-True] PASSED [ 67%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match- w/"67ab43"-expected_value12-False] PASSED [ 67%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-w/"67ab43" -expected_value13-True] PASSED [ 67%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-w/"67ab43" -expected_value13-False] PASSED [ 67%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-w/"67ab43 " -expected_value14-True] PASSED [ 67%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-w/"67ab43 " -expected_value14-False] PASSED [ 67%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-"67ab43"-expected_value15-True] PASSED [ 67%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-"67ab43"-expected_value15-False] PASSED [ 67%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match- "67ab43"-expected_value16-True] PASSED [ 67%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match- "67ab43"-expected_value16-False] PASSED [ 67%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match- "67ab43" -expected_value17-True] PASSED [ 67%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match- "67ab43" -expected_value17-False] PASSED [ 67%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-"67ab43" -expected_value18-True] PASSED [ 67%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-"67ab43" -expected_value18-False] PASSED [ 67%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-" 67ab43" -expected_value19-True] PASSED [ 67%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-" 67ab43" -expected_value19-False] PASSED [ 67%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-67ab43"-expected_value20-True] PASSED [ 68%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-67ab43"-expected_value20-False] PASSED [ 68%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-"67ab43-expected_value21-True] PASSED [ 68%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-"67ab43-expected_value21-False] PASSED [ 68%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-67ab43-expected_value22-True] PASSED [ 68%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-67ab43-expected_value22-False] PASSED [ 68%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-67ab43 -expected_value23-True] PASSED [ 68%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-67ab43 -expected_value23-False] PASSED [ 68%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-  67ab43 -expected_value24-True] PASSED [ 68%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-  67ab43 -expected_value24-False] PASSED [ 68%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-  67ab43-expected_value25-True] PASSED [ 68%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-  67ab43-expected_value25-False] PASSED [ 68%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-W/"67ab43", "54ed21", junk"F9,22", junk "41, 7F", unquoted, w/"22, 41, 7F", "", W/""-expected_value26-True] PASSED [ 68%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-Match-if_match-W/"67ab43", "54ed21", junk"F9,22", junk "41, 7F", unquoted, w/"22, 41, 7F", "", W/""-expected_value26-False] PASSED [ 68%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match--None-True] PASSED [ 68%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match--None-False] PASSED [ 68%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match- -None-True] PASSED [ 68%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match- -None-False] PASSED [ 68%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-   -None-True] PASSED [ 68%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-   -None-False] PASSED [ 68%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-\t-None-True] PASSED [ 68%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-\t-None-False] PASSED [ 68%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match- \t-None-True] PASSED [ 68%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match- \t-None-False] PASSED [ 68%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-,-None-True] PASSED [ 68%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-,-None-False] PASSED [ 68%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-,,-None-True] PASSED [ 68%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-,,-None-False] PASSED [ 68%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-,, -None-True] PASSED [ 68%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-,, -None-False] PASSED [ 68%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-, , -None-True] PASSED [ 68%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-, , -None-False] PASSED [ 68%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-*-expected_value9-True] PASSED [ 68%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-*-expected_value9-False] PASSED [ 69%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-W/"67ab43"-expected_value10-True] PASSED [ 69%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-W/"67ab43"-expected_value10-False] PASSED [ 69%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-w/"67ab43"-expected_value11-True] PASSED [ 69%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-w/"67ab43"-expected_value11-False] PASSED [ 69%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match- w/"67ab43"-expected_value12-True] PASSED [ 69%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match- w/"67ab43"-expected_value12-False] PASSED [ 69%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-w/"67ab43" -expected_value13-True] PASSED [ 69%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-w/"67ab43" -expected_value13-False] PASSED [ 69%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-w/"67ab43 " -expected_value14-True] PASSED [ 69%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-w/"67ab43 " -expected_value14-False] PASSED [ 69%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-"67ab43"-expected_value15-True] PASSED [ 69%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-"67ab43"-expected_value15-False] PASSED [ 69%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match- "67ab43"-expected_value16-True] PASSED [ 69%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match- "67ab43"-expected_value16-False] PASSED [ 69%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match- "67ab43" -expected_value17-True] PASSED [ 69%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match- "67ab43" -expected_value17-False] PASSED [ 69%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-"67ab43" -expected_value18-True] PASSED [ 69%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-"67ab43" -expected_value18-False] PASSED [ 69%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-" 67ab43" -expected_value19-True] PASSED [ 69%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-" 67ab43" -expected_value19-False] PASSED [ 69%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-67ab43"-expected_value20-True] PASSED [ 69%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-67ab43"-expected_value20-False] PASSED [ 69%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-"67ab43-expected_value21-True] PASSED [ 69%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-"67ab43-expected_value21-False] PASSED [ 69%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-67ab43-expected_value22-True] PASSED [ 69%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-67ab43-expected_value22-False] PASSED [ 69%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-67ab43 -expected_value23-True] PASSED [ 69%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-67ab43 -expected_value23-False] PASSED [ 69%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-  67ab43 -expected_value24-True] PASSED [ 69%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-  67ab43 -expected_value24-False] PASSED [ 69%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-  67ab43-expected_value25-True] PASSED [ 69%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-  67ab43-expected_value25-False] PASSED [ 69%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-W/"67ab43", "54ed21", junk"F9,22", junk "41, 7F", unquoted, w/"22, 41, 7F", "", W/""-expected_value26-True] PASSED [ 70%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag[If-None-Match-if_none_match-W/"67ab43", "54ed21", junk"F9,22", junk "41, 7F", unquoted, w/"22, 41, 7F", "", W/""-expected_value26-False] PASSED [ 70%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag_is_missing[True] PASSED [ 70%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag_is_missing[False] PASSED [ 70%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag_parsing_helper[-True] PASSED [ 70%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag_parsing_helper[-False] PASSED [ 70%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag_parsing_helper[ -True] PASSED [ 70%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag_parsing_helper[ -False] PASSED [ 70%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag_parsing_helper[  -True] PASSED [ 70%]
tests/test_request_attrs.py::TestRequestAttributes::test_etag_parsing_helper[  -False] PASSED [ 70%]
tests/test_request_body.py::TestRequestBody::test_empty_body PASSED      [ 70%]
tests/test_request_body.py::TestRequestBody::test_tiny_body PASSED       [ 70%]
tests/test_request_body.py::TestRequestBody::test_tiny_body_overflow PASSED [ 70%]
tests/test_request_body.py::TestRequestBody::test_read_body PASSED       [ 70%]
tests/test_request_body.py::TestRequestBody::test_bounded_stream_property_empty_body PASSED [ 70%]
tests/test_request_body.py::TestRequestBody::test_body_stream_wrapper PASSED [ 70%]
tests/test_request_body.py::TestRequestBody::test_request_repr PASSED    [ 70%]
tests/test_request_context.py::TestRequestContext::test_default_request_context PASSED [ 70%]
tests/test_request_context.py::TestRequestContext::test_custom_request_context PASSED [ 70%]
tests/test_request_context.py::TestRequestContext::test_custom_request_context_failure PASSED [ 70%]
tests/test_request_context.py::TestRequestContext::test_custom_request_context_request_access PASSED [ 70%]
tests/test_request_forwarded.py::test_no_forwarded_headers[asgi] PASSED  [ 70%]
tests/test_request_forwarded.py::test_no_forwarded_headers[wsgi] PASSED  [ 70%]
tests/test_request_forwarded.py::test_no_forwarded_headers_with_port[asgi] PASSED [ 70%]
tests/test_request_forwarded.py::test_no_forwarded_headers_with_port[wsgi] PASSED [ 70%]
tests/test_request_forwarded.py::test_x_forwarded_host[asgi] PASSED      [ 70%]
tests/test_request_forwarded.py::test_x_forwarded_host[wsgi] PASSED      [ 70%]
tests/test_request_forwarded.py::test_x_forwarded_host_with_port[asgi] PASSED [ 70%]
tests/test_request_forwarded.py::test_x_forwarded_host_with_port[wsgi] PASSED [ 70%]
tests/test_request_forwarded.py::test_x_forwarded_proto[asgi] PASSED     [ 70%]
tests/test_request_forwarded.py::test_x_forwarded_proto[wsgi] PASSED     [ 70%]
tests/test_request_forwarded.py::test_forwarded_host[asgi] PASSED        [ 70%]
tests/test_request_forwarded.py::test_forwarded_host[wsgi] PASSED        [ 70%]
tests/test_request_forwarded.py::test_forwarded_invalid[asgi] PASSED     [ 71%]
tests/test_request_forwarded.py::test_forwarded_invalid[wsgi] PASSED     [ 71%]
tests/test_request_forwarded.py::test_forwarded_multiple_params[asgi] PASSED [ 71%]
tests/test_request_forwarded.py::test_forwarded_multiple_params[wsgi] PASSED [ 71%]
tests/test_request_forwarded.py::test_forwarded_missing_first_hop_host[asgi] PASSED [ 71%]
tests/test_request_forwarded.py::test_forwarded_missing_first_hop_host[wsgi] PASSED [ 71%]
tests/test_request_forwarded.py::test_forwarded_quote_escaping[asgi] PASSED [ 71%]
tests/test_request_forwarded.py::test_forwarded_quote_escaping[wsgi] PASSED [ 71%]
tests/test_request_forwarded.py::test_escape_malformed_requests[asgi-for=1.2.3.4;by="-None] PASSED [ 71%]
tests/test_request_forwarded.py::test_escape_malformed_requests[asgi-for=1.2.3.4;by=4\\.3.2.1thing=blah-4] PASSED [ 71%]
tests/test_request_forwarded.py::test_escape_malformed_requests[asgi-for=1.2.3.4;by="\\4.3.2.1"thing=blah-4.3.2.1] PASSED [ 71%]
tests/test_request_forwarded.py::test_escape_malformed_requests[asgi-for=1.2.3.4;by="4.3.2.\\1"thing="blah"-4.3.2.1] PASSED [ 71%]
tests/test_request_forwarded.py::test_escape_malformed_requests[asgi-for=1.2.3.4;by="4.3.\\2\\.1" thing="blah"-4.3.2.1] PASSED [ 71%]
tests/test_request_forwarded.py::test_escape_malformed_requests[wsgi-for=1.2.3.4;by="-None] PASSED [ 71%]
tests/test_request_forwarded.py::test_escape_malformed_requests[wsgi-for=1.2.3.4;by=4\\.3.2.1thing=blah-4] PASSED [ 71%]
tests/test_request_forwarded.py::test_escape_malformed_requests[wsgi-for=1.2.3.4;by="\\4.3.2.1"thing=blah-4.3.2.1] PASSED [ 71%]
tests/test_request_forwarded.py::test_escape_malformed_requests[wsgi-for=1.2.3.4;by="4.3.2.\\1"thing="blah"-4.3.2.1] PASSED [ 71%]
tests/test_request_forwarded.py::test_escape_malformed_requests[wsgi-for=1.2.3.4;by="4.3.\\2\\.1" thing="blah"-4.3.2.1] PASSED [ 71%]
tests/test_request_media.py::test_json[asgi-None] PASSED                 [ 71%]
tests/test_request_media.py::test_json[asgi-*/*] PASSED                  [ 71%]
tests/test_request_media.py::test_json[asgi-application/json] PASSED     [ 71%]
tests/test_request_media.py::test_json[asgi-application/json; charset=utf-8] PASSED [ 71%]
tests/test_request_media.py::test_json[wsgi-None] PASSED                 [ 71%]
tests/test_request_media.py::test_json[wsgi-*/*] PASSED                  [ 71%]
tests/test_request_media.py::test_json[wsgi-application/json] PASSED     [ 71%]
tests/test_request_media.py::test_json[wsgi-application/json; charset=utf-8] PASSED [ 71%]
tests/test_request_media.py::test_msgpack[asgi-application/msgpack] PASSED [ 71%]
tests/test_request_media.py::test_msgpack[asgi-application/msgpack; charset=utf-8] PASSED [ 71%]
tests/test_request_media.py::test_msgpack[asgi-application/x-msgpack] PASSED [ 71%]
tests/test_request_media.py::test_msgpack[wsgi-application/msgpack] PASSED [ 71%]
tests/test_request_media.py::test_msgpack[wsgi-application/msgpack; charset=utf-8] PASSED [ 71%]
tests/test_request_media.py::test_msgpack[wsgi-application/x-msgpack] PASSED [ 71%]
tests/test_request_media.py::test_unknown_media_type[asgi-nope/json] PASSED [ 71%]
tests/test_request_media.py::test_unknown_media_type[wsgi-nope/json] PASSED [ 72%]
tests/test_request_media.py::test_empty_body[asgi-application/json] PASSED [ 72%]
tests/test_request_media.py::test_empty_body[asgi-application/msgpack] PASSED [ 72%]
tests/test_request_media.py::test_empty_body[wsgi-application/json] PASSED [ 72%]
tests/test_request_media.py::test_empty_body[wsgi-application/msgpack] PASSED [ 72%]
tests/test_request_media.py::test_invalid_json[asgi] PASSED              [ 72%]
tests/test_request_media.py::test_invalid_json[wsgi] PASSED              [ 72%]
tests/test_request_media.py::test_invalid_msgpack[asgi] PASSED           [ 72%]
tests/test_request_media.py::test_invalid_msgpack[wsgi] PASSED           [ 72%]
tests/test_request_media.py::test_complete_consumption[asgi] PASSED      [ 72%]
tests/test_request_media.py::test_complete_consumption[wsgi] PASSED      [ 72%]
tests/test_request_media.py::test_empty_json_media[asgi-False] PASSED    [ 72%]
tests/test_request_media.py::test_empty_json_media[asgi-0] PASSED        [ 72%]
tests/test_request_media.py::test_empty_json_media[asgi-0.0] PASSED      [ 72%]
tests/test_request_media.py::test_empty_json_media[asgi-] PASSED         [ 72%]
tests/test_request_media.py::test_empty_json_media[asgi-payload4] PASSED [ 72%]
tests/test_request_media.py::test_empty_json_media[asgi-payload5] PASSED [ 72%]
tests/test_request_media.py::test_empty_json_media[wsgi-False] PASSED    [ 72%]
tests/test_request_media.py::test_empty_json_media[wsgi-0] PASSED        [ 72%]
tests/test_request_media.py::test_empty_json_media[wsgi-0.0] PASSED      [ 72%]
tests/test_request_media.py::test_empty_json_media[wsgi-] PASSED         [ 72%]
tests/test_request_media.py::test_empty_json_media[wsgi-payload4] PASSED [ 72%]
tests/test_request_media.py::test_empty_json_media[wsgi-payload5] PASSED [ 72%]
tests/test_request_media.py::test_null_json_media[asgi] PASSED           [ 72%]
tests/test_request_media.py::test_null_json_media[wsgi] PASSED           [ 72%]
tests/test_request_media.py::test_fallback[asgi] PASSED                  [ 72%]
tests/test_request_media.py::test_fallback[wsgi] PASSED                  [ 72%]
tests/test_request_media.py::test_fallback_not_for_error_body[asgi-True-True] PASSED [ 72%]
tests/test_request_media.py::test_fallback_not_for_error_body[asgi-True-False] PASSED [ 72%]
tests/test_request_media.py::test_fallback_not_for_error_body[asgi-False-True] PASSED [ 72%]
tests/test_request_media.py::test_fallback_not_for_error_body[asgi-False-False] PASSED [ 72%]
tests/test_request_media.py::test_fallback_not_for_error_body[wsgi-True-True] PASSED [ 72%]
tests/test_request_media.py::test_fallback_not_for_error_body[wsgi-True-False] PASSED [ 72%]
tests/test_request_media.py::test_fallback_not_for_error_body[wsgi-False-True] PASSED [ 73%]
tests/test_request_media.py::test_fallback_not_for_error_body[wsgi-False-False] PASSED [ 73%]
tests/test_request_media.py::test_fallback_does_not_override_media_default[asgi] PASSED [ 73%]
tests/test_request_media.py::test_fallback_does_not_override_media_default[wsgi] PASSED [ 73%]
tests/test_request_media.py::test_repeated_error[asgi-{] PASSED          [ 73%]
tests/test_request_media.py::test_repeated_error[asgi-] PASSED           [ 73%]
tests/test_request_media.py::test_repeated_error[wsgi-{] PASSED          [ 73%]
tests/test_request_media.py::test_repeated_error[wsgi-] PASSED           [ 73%]
tests/test_request_media.py::test_error_after_first_default[asgi] PASSED [ 73%]
tests/test_request_media.py::test_error_after_first_default[wsgi] PASSED [ 73%]
tests/test_response.py::test_response_set_content_type_set[True] PASSED  [ 73%]
tests/test_response.py::test_response_set_content_type_set[False] PASSED [ 73%]
tests/test_response.py::test_response_set_content_type_not_set[True] PASSED [ 73%]
tests/test_response.py::test_response_set_content_type_not_set[False] PASSED [ 73%]
tests/test_response.py::test_response_get_headers[True] PASSED           [ 73%]
tests/test_response.py::test_response_get_headers[False] PASSED          [ 73%]
tests/test_response.py::test_response_attempt_to_set_read_only_headers[True] PASSED [ 73%]
tests/test_response.py::test_response_attempt_to_set_read_only_headers[False] PASSED [ 73%]
tests/test_response.py::test_response_removed_stream_len[True] PASSED    [ 73%]
tests/test_response.py::test_response_removed_stream_len[False] PASSED   [ 73%]
tests/test_response.py::test_response_option_mimetype_init PASSED        [ 73%]
tests/test_response_body.py::test_append_body[asgi] PASSED               [ 73%]
tests/test_response_body.py::test_append_body[wsgi] PASSED               [ 73%]
tests/test_response_body.py::test_response_repr[asgi] PASSED             [ 73%]
tests/test_response_body.py::test_response_repr[wsgi] PASSED             [ 73%]
tests/test_response_body.py::test_content_length_set_on_head_with_no_body[asgi] PASSED [ 73%]
tests/test_response_body.py::test_content_length_set_on_head_with_no_body[wsgi] PASSED [ 73%]
tests/test_response_body.py::test_content_length_not_set_when_streaming_response[asgi-GET] PASSED [ 73%]
tests/test_response_body.py::test_content_length_not_set_when_streaming_response[asgi-HEAD] PASSED [ 73%]
tests/test_response_body.py::test_content_length_not_set_when_streaming_response[wsgi-GET] PASSED [ 73%]
tests/test_response_body.py::test_content_length_not_set_when_streaming_response[wsgi-HEAD] PASSED [ 73%]
tests/test_response_body.py::test_unsupported_response_content_type[asgi] PASSED [ 73%]
tests/test_response_body.py::test_unsupported_response_content_type[wsgi] PASSED [ 73%]
tests/test_response_body.py::test_response_body_rendition_error[asgi] PASSED [ 74%]
tests/test_response_body.py::test_response_body_rendition_error[wsgi] PASSED [ 74%]
tests/test_response_context.py::TestResponseContext::test_default_response_context[True] PASSED [ 74%]
tests/test_response_context.py::TestResponseContext::test_default_response_context[False] PASSED [ 74%]
tests/test_response_context.py::TestResponseContext::test_custom_response_context[True] PASSED [ 74%]
tests/test_response_context.py::TestResponseContext::test_custom_response_context[False] PASSED [ 74%]
tests/test_response_context.py::TestResponseContext::test_custom_response_context_failure[True] PASSED [ 74%]
tests/test_response_context.py::TestResponseContext::test_custom_response_context_failure[False] PASSED [ 74%]
tests/test_response_context.py::TestResponseContext::test_custom_response_context_factory[True] PASSED [ 74%]
tests/test_response_context.py::TestResponseContext::test_custom_response_context_factory[False] PASSED [ 74%]
tests/test_response_media.py::test_json[*/*] PASSED                      [ 74%]
tests/test_response_media.py::test_json[application/json] PASSED         [ 74%]
tests/test_response_media.py::test_json[application/json; charset=utf-8] PASSED [ 74%]
tests/test_response_media.py::test_non_ascii_json_serialization[] PASSED [ 74%]
tests/test_response_media.py::test_non_ascii_json_serialization[I am a \u1d0a\ua731\u1d0f\u0274 string.] PASSED [ 74%]
tests/test_response_media.py::test_non_ascii_json_serialization[document2] PASSED [ 74%]
tests/test_response_media.py::test_non_ascii_json_serialization[document3] PASSED [ 74%]
tests/test_response_media.py::test_non_ascii_json_serialization[document4] PASSED [ 74%]
tests/test_response_media.py::test_msgpack[application/msgpack] PASSED   [ 74%]
tests/test_response_media.py::test_msgpack[application/msgpack; charset=utf-8] PASSED [ 74%]
tests/test_response_media.py::test_msgpack[application/x-msgpack] PASSED [ 74%]
tests/test_response_media.py::test_unknown_media_type PASSED             [ 74%]
tests/test_response_media.py::test_use_cached_media PASSED               [ 74%]
tests/test_response_media.py::test_default_media_type PASSED             [ 74%]
tests/test_response_media.py::test_mimeparse_edgecases PASSED            [ 74%]
tests/test_response_media.py::TestRenderBodyPrecedence::test_text PASSED [ 74%]
tests/test_response_media.py::TestRenderBodyPrecedence::test_body PASSED [ 74%]
tests/test_response_media.py::TestRenderBodyPrecedence::test_data PASSED [ 74%]
tests/test_response_media.py::TestRenderBodyPrecedence::test_media PASSED [ 74%]
tests/test_response_media.py::test_media_rendered_cached PASSED          [ 74%]
tests/test_sink_and_static.py::test_sink_before_static_route[asgi] PASSED [ 74%]
tests/test_sink_and_static.py::test_sink_before_static_route[wsgi] PASSED [ 74%]
tests/test_sink_and_static.py::test_sink_after_static_route[asgi] PASSED [ 74%]
tests/test_sink_and_static.py::test_sink_after_static_route[wsgi] PASSED [ 75%]
tests/test_sinks.py::TestDefaultRouting::test_single_default_pattern[asgi] PASSED [ 75%]
tests/test_sinks.py::TestDefaultRouting::test_single_default_pattern[wsgi] PASSED [ 75%]
tests/test_sinks.py::TestDefaultRouting::test_single_simple_pattern[asgi] PASSED [ 75%]
tests/test_sinks.py::TestDefaultRouting::test_single_simple_pattern[wsgi] PASSED [ 75%]
tests/test_sinks.py::TestDefaultRouting::test_single_compiled_pattern[asgi] PASSED [ 75%]
tests/test_sinks.py::TestDefaultRouting::test_single_compiled_pattern[wsgi] PASSED [ 75%]
tests/test_sinks.py::TestDefaultRouting::test_named_groups[asgi] PASSED  [ 75%]
tests/test_sinks.py::TestDefaultRouting::test_named_groups[wsgi] PASSED  [ 75%]
tests/test_sinks.py::TestDefaultRouting::test_multiple_patterns[asgi] PASSED [ 75%]
tests/test_sinks.py::TestDefaultRouting::test_multiple_patterns[wsgi] PASSED [ 75%]
tests/test_sinks.py::TestDefaultRouting::test_with_route[asgi] PASSED    [ 75%]
tests/test_sinks.py::TestDefaultRouting::test_with_route[wsgi] PASSED    [ 75%]
tests/test_sinks.py::TestDefaultRouting::test_route_precedence[asgi] PASSED [ 75%]
tests/test_sinks.py::TestDefaultRouting::test_route_precedence[wsgi] PASSED [ 75%]
tests/test_sinks.py::TestDefaultRouting::test_route_precedence_with_id[asgi] PASSED [ 75%]
tests/test_sinks.py::TestDefaultRouting::test_route_precedence_with_id[wsgi] PASSED [ 75%]
tests/test_sinks.py::TestDefaultRouting::test_route_precedence_with_both_id[asgi] PASSED [ 75%]
tests/test_sinks.py::TestDefaultRouting::test_route_precedence_with_both_id[wsgi] PASSED [ 75%]
tests/test_sinks.py::TestSinkMethodCompatibility::test_add_async_sink[asgi] PASSED [ 75%]
tests/test_sinks.py::TestSinkMethodCompatibility::test_add_async_sink[wsgi] PASSED [ 75%]
tests/test_sinks.py::TestSinkMethodCompatibility::test_add_sync_sink[asgi] PASSED [ 75%]
tests/test_sinks.py::TestSinkMethodCompatibility::test_add_sync_sink[wsgi] PASSED [ 75%]
tests/test_sinks.py::TestSinkMethodCompatibility::test_add_sync_sink_with_wrapping[asgi] PASSED [ 75%]
tests/test_sinks.py::TestSinkMethodCompatibility::test_add_sync_sink_with_wrapping[wsgi] PASSED [ 75%]
tests/test_slots.py::TestSlots::test_slots_request[asgi] PASSED          [ 75%]
tests/test_slots.py::TestSlots::test_slots_request[wsgi] PASSED          [ 75%]
tests/test_slots.py::TestSlots::test_slots_response[asgi] PASSED         [ 75%]
tests/test_slots.py::TestSlots::test_slots_response[wsgi] PASSED         [ 75%]
tests/test_static.py::test_bad_path[asgi-/static] PASSED                 [ 75%]
tests/test_static.py::test_bad_path[asgi-/static/] PASSED                [ 75%]
tests/test_static.py::test_bad_path[asgi-/static/.] PASSED               [ 75%]
tests/test_static.py::test_bad_path[asgi-/static/..] PASSED              [ 75%]
tests/test_static.py::test_bad_path[asgi-/static/../.] PASSED            [ 76%]
tests/test_static.py::test_bad_path[asgi-/static/.././etc/passwd] PASSED [ 76%]
tests/test_static.py::test_bad_path[asgi-/static/../etc/passwd] PASSED   [ 76%]
tests/test_static.py::test_bad_path[asgi-/static/css/../../secret] PASSED [ 76%]
tests/test_static.py::test_bad_path[asgi-/static/css/../../etc/passwd] PASSED [ 76%]
tests/test_static.py::test_bad_path[asgi-/static/./../etc/passwd] PASSED [ 76%]
tests/test_static.py::test_bad_path[asgi-/static/css/../.\\056/etc/passwd] PASSED [ 76%]
tests/test_static.py::test_bad_path[asgi-/static/./\\056./etc/passwd] PASSED [ 76%]
tests/test_static.py::test_bad_path[asgi-/static/\\056\\056/etc/passwd] PASSED [ 76%]
tests/test_static.py::test_bad_path[asgi-/static//test.css] PASSED       [ 76%]
tests/test_static.py::test_bad_path[asgi-/static//COM10] PASSED          [ 76%]
tests/test_static.py::test_bad_path[asgi-/static/path//test.css] PASSED  [ 76%]
tests/test_static.py::test_bad_path[asgi-/static/path///test.css] PASSED [ 76%]
tests/test_static.py::test_bad_path[asgi-/static/path////test.css] PASSED [ 76%]
tests/test_static.py::test_bad_path[asgi-/static/path/foo//test.css] PASSED [ 76%]
tests/test_static.py::test_bad_path[asgi-/static/.\x00ssh/authorized_keys] PASSED [ 76%]
tests/test_static.py::test_bad_path[asgi-/static/.\x1fssh/authorized_keys] PASSED [ 76%]
tests/test_static.py::test_bad_path[asgi-/static/.\x80ssh/authorized_keys] PASSED [ 76%]
tests/test_static.py::test_bad_path[asgi-/static/.\x9fssh/authorized_keys] PASSED [ 76%]
tests/test_static.py::test_bad_path[asgi-/static/~/.ssh/authorized_keys] PASSED [ 76%]
tests/test_static.py::test_bad_path[asgi-/static/.ssh/authorized_key?] PASSED [ 76%]
tests/test_static.py::test_bad_path[asgi-/static/.ssh/authorized_key>foo] PASSED [ 76%]
tests/test_static.py::test_bad_path[asgi-/static/.ssh/authorized_key|foo] PASSED [ 76%]
tests/test_static.py::test_bad_path[asgi-/static/.ssh/authorized_key<foo] PASSED [ 76%]
tests/test_static.py::test_bad_path[asgi-/static/something:something] PASSED [ 76%]
tests/test_static.py::test_bad_path[asgi-/static/thing*.sql] PASSED      [ 76%]
tests/test_static.py::test_bad_path[asgi-/static/'thing'.sql] PASSED     [ 76%]
tests/test_static.py::test_bad_path[asgi-/static/"thing".sql] PASSED     [ 76%]
tests/test_static.py::test_bad_path[asgi-/static/something.] PASSED      [ 76%]
tests/test_static.py::test_bad_path[asgi-/static/something..] PASSED     [ 76%]
tests/test_static.py::test_bad_path[asgi-/static/something ] PASSED      [ 76%]
tests/test_static.py::test_bad_path[asgi-/static/ something 0] PASSED    [ 76%]
tests/test_static.py::test_bad_path[asgi-/static/ something 1] PASSED    [ 76%]
tests/test_static.py::test_bad_path[asgi-/static/something\t] PASSED     [ 77%]
tests/test_static.py::test_bad_path[asgi-/static/\tsomething] PASSED     [ 77%]
tests/test_static.py::test_bad_path[asgi-/static/ttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttx] PASSED [ 77%]
tests/test_static.py::test_bad_path[asgi-/static/\ufffdsomething] PASSED [ 77%]
tests/test_static.py::test_bad_path[wsgi-/static] PASSED                 [ 77%]
tests/test_static.py::test_bad_path[wsgi-/static/] PASSED                [ 77%]
tests/test_static.py::test_bad_path[wsgi-/static/.] PASSED               [ 77%]
tests/test_static.py::test_bad_path[wsgi-/static/..] PASSED              [ 77%]
tests/test_static.py::test_bad_path[wsgi-/static/../.] PASSED            [ 77%]
tests/test_static.py::test_bad_path[wsgi-/static/.././etc/passwd] PASSED [ 77%]
tests/test_static.py::test_bad_path[wsgi-/static/../etc/passwd] PASSED   [ 77%]
tests/test_static.py::test_bad_path[wsgi-/static/css/../../secret] PASSED [ 77%]
tests/test_static.py::test_bad_path[wsgi-/static/css/../../etc/passwd] PASSED [ 77%]
tests/test_static.py::test_bad_path[wsgi-/static/./../etc/passwd] PASSED [ 77%]
tests/test_static.py::test_bad_path[wsgi-/static/css/../.\\056/etc/passwd] PASSED [ 77%]
tests/test_static.py::test_bad_path[wsgi-/static/./\\056./etc/passwd] PASSED [ 77%]
tests/test_static.py::test_bad_path[wsgi-/static/\\056\\056/etc/passwd] PASSED [ 77%]
tests/test_static.py::test_bad_path[wsgi-/static//test.css] PASSED       [ 77%]
tests/test_static.py::test_bad_path[wsgi-/static//COM10] PASSED          [ 77%]
tests/test_static.py::test_bad_path[wsgi-/static/path//test.css] PASSED  [ 77%]
tests/test_static.py::test_bad_path[wsgi-/static/path///test.css] PASSED [ 77%]
tests/test_static.py::test_bad_path[wsgi-/static/path////test.css] PASSED [ 77%]
tests/test_static.py::test_bad_path[wsgi-/static/path/foo//test.css] PASSED [ 77%]
tests/test_static.py::test_bad_path[wsgi-/static/.\x00ssh/authorized_keys] PASSED [ 77%]
tests/test_static.py::test_bad_path[wsgi-/static/.\x1fssh/authorized_keys] PASSED [ 77%]
tests/test_static.py::test_bad_path[wsgi-/static/.\x80ssh/authorized_keys] PASSED [ 77%]
tests/test_static.py::test_bad_path[wsgi-/static/.\x9fssh/authorized_keys] PASSED [ 77%]
tests/test_static.py::test_bad_path[wsgi-/static/~/.ssh/authorized_keys] PASSED [ 77%]
tests/test_static.py::test_bad_path[wsgi-/static/.ssh/authorized_key?] PASSED [ 77%]
tests/test_static.py::test_bad_path[wsgi-/static/.ssh/authorized_key>foo] PASSED [ 77%]
tests/test_static.py::test_bad_path[wsgi-/static/.ssh/authorized_key|foo] PASSED [ 77%]
tests/test_static.py::test_bad_path[wsgi-/static/.ssh/authorized_key<foo] PASSED [ 77%]
tests/test_static.py::test_bad_path[wsgi-/static/something:something] PASSED [ 77%]
tests/test_static.py::test_bad_path[wsgi-/static/thing*.sql] PASSED      [ 77%]
tests/test_static.py::test_bad_path[wsgi-/static/'thing'.sql] PASSED     [ 78%]
tests/test_static.py::test_bad_path[wsgi-/static/"thing".sql] PASSED     [ 78%]
tests/test_static.py::test_bad_path[wsgi-/static/something.] PASSED      [ 78%]
tests/test_static.py::test_bad_path[wsgi-/static/something..] PASSED     [ 78%]
tests/test_static.py::test_bad_path[wsgi-/static/something ] PASSED      [ 78%]
tests/test_static.py::test_bad_path[wsgi-/static/ something 0] PASSED    [ 78%]
tests/test_static.py::test_bad_path[wsgi-/static/ something 1] PASSED    [ 78%]
tests/test_static.py::test_bad_path[wsgi-/static/something\t] PASSED     [ 78%]
tests/test_static.py::test_bad_path[wsgi-/static/\tsomething] PASSED     [ 78%]
tests/test_static.py::test_bad_path[wsgi-/static/ttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttx] PASSED [ 78%]
tests/test_static.py::test_bad_path[wsgi-/static/\ufffdsomething] PASSED [ 78%]
tests/test_static.py::test_invalid_args[asgi-static-/var/www/statics] PASSED [ 78%]
tests/test_static.py::test_invalid_args[asgi-/static-./var/www/statics] PASSED [ 78%]
tests/test_static.py::test_invalid_args[asgi-/static-statics] PASSED     [ 78%]
tests/test_static.py::test_invalid_args[asgi-/static-../statics] PASSED  [ 78%]
tests/test_static.py::test_invalid_args[wsgi-static-/var/www/statics] PASSED [ 78%]
tests/test_static.py::test_invalid_args[wsgi-/static-./var/www/statics] PASSED [ 78%]
tests/test_static.py::test_invalid_args[wsgi-/static-statics] PASSED     [ 78%]
tests/test_static.py::test_invalid_args[wsgi-/static-../statics] PASSED  [ 78%]
tests/test_static.py::test_invalid_args_fallback_filename[asgi-not-existing-file] PASSED [ 78%]
tests/test_static.py::test_invalid_args_fallback_filename[asgi-.] PASSED [ 78%]
tests/test_static.py::test_invalid_args_fallback_filename[asgi-/tmp] PASSED [ 78%]
tests/test_static.py::test_invalid_args_fallback_filename[wsgi-not-existing-file] PASSED [ 78%]
tests/test_static.py::test_invalid_args_fallback_filename[wsgi-.] PASSED [ 78%]
tests/test_static.py::test_invalid_args_fallback_filename[wsgi-/tmp] PASSED [ 78%]
tests/test_static.py::test_good_path[asgi-/static/-/css/test.css-/css/test.css-text/css] PASSED [ 78%]
tests/test_static.py::test_good_path[asgi-/static-/css/test.css-/css/test.css-text/css] PASSED [ 78%]
tests/test_static.py::test_good_path[asgi-/static-/tttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt-/tttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt-application/octet-stream] PASSED [ 78%]
tests/test_static.py::test_good_path[asgi-/static-/.test.css-/.test.css-text/css] PASSED [ 78%]
tests/test_static.py::test_good_path[asgi-/some/download/-/report.pdf-/report.pdf-application/pdf] PASSED [ 78%]
tests/test_static.py::test_good_path[asgi-/some/download/-/Fancy Report.pdf-/Fancy Report.pdf-application/pdf] PASSED [ 78%]
tests/test_static.py::test_good_path[asgi-/some/download-/report.zip-/report.zip-application/zip] PASSED [ 78%]
tests/test_static.py::test_good_path[asgi-/some/download-/foo/../report.zip-/report.zip-application/zip] PASSED [ 78%]
tests/test_static.py::test_good_path[asgi-/some/download-/foo/../bar/../report.zip-/report.zip-application/zip] PASSED [ 79%]
tests/test_static.py::test_good_path[asgi-/some/download-/foo/bar/../../report.zip-/report.zip-application/zip] PASSED [ 79%]
tests/test_static.py::test_good_path[wsgi-/static/-/css/test.css-/css/test.css-text/css] PASSED [ 79%]
tests/test_static.py::test_good_path[wsgi-/static-/css/test.css-/css/test.css-text/css] PASSED [ 79%]
tests/test_static.py::test_good_path[wsgi-/static-/tttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt-/tttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt-application/octet-stream] PASSED [ 79%]
tests/test_static.py::test_good_path[wsgi-/static-/.test.css-/.test.css-text/css] PASSED [ 79%]
tests/test_static.py::test_good_path[wsgi-/some/download/-/report.pdf-/report.pdf-application/pdf] PASSED [ 79%]
tests/test_static.py::test_good_path[wsgi-/some/download/-/Fancy Report.pdf-/Fancy Report.pdf-application/pdf] PASSED [ 79%]
tests/test_static.py::test_good_path[wsgi-/some/download-/report.zip-/report.zip-application/zip] PASSED [ 79%]
tests/test_static.py::test_good_path[wsgi-/some/download-/foo/../report.zip-/report.zip-application/zip] PASSED [ 79%]
tests/test_static.py::test_good_path[wsgi-/some/download-/foo/../bar/../report.zip-/report.zip-application/zip] PASSED [ 79%]
tests/test_static.py::test_good_path[wsgi-/some/download-/foo/bar/../../report.zip-/report.zip-application/zip] PASSED [ 79%]
tests/test_static.py::test_range_requests[asgi-True-bytes=1-3-bytes 1-3/16-123] PASSED [ 79%]
tests/test_static.py::test_range_requests[asgi-True-bytes=-3-bytes 13-15/16-def] PASSED [ 79%]
tests/test_static.py::test_range_requests[asgi-True-bytes=8--bytes 8-15/16-89abcdef] PASSED [ 79%]
tests/test_static.py::test_range_requests[asgi-True-words=1-3-None-0123456789abcdef] PASSED [ 79%]
tests/test_static.py::test_range_requests[asgi-True-bytes=15-30-bytes 15-15/16-f] PASSED [ 79%]
tests/test_static.py::test_range_requests[asgi-True-bytes=0-30-bytes 0-15/16-0123456789abcdef] PASSED [ 79%]
tests/test_static.py::test_range_requests[asgi-True-bytes=-30-bytes 0-15/16-0123456789abcdef] PASSED [ 79%]
tests/test_static.py::test_range_requests[asgi-False-bytes=1-3-bytes 1-3/16-123] PASSED [ 79%]
tests/test_static.py::test_range_requests[asgi-False-bytes=-3-bytes 13-15/16-def] PASSED [ 79%]
tests/test_static.py::test_range_requests[asgi-False-bytes=8--bytes 8-15/16-89abcdef] PASSED [ 79%]
tests/test_static.py::test_range_requests[asgi-False-words=1-3-None-0123456789abcdef] PASSED [ 79%]
tests/test_static.py::test_range_requests[asgi-False-bytes=15-30-bytes 15-15/16-f] PASSED [ 79%]
tests/test_static.py::test_range_requests[asgi-False-bytes=0-30-bytes 0-15/16-0123456789abcdef] PASSED [ 79%]
tests/test_static.py::test_range_requests[asgi-False-bytes=-30-bytes 0-15/16-0123456789abcdef] PASSED [ 79%]
tests/test_static.py::test_range_requests[wsgi-True-bytes=1-3-bytes 1-3/16-123] PASSED [ 79%]
tests/test_static.py::test_range_requests[wsgi-True-bytes=-3-bytes 13-15/16-def] PASSED [ 79%]
tests/test_static.py::test_range_requests[wsgi-True-bytes=8--bytes 8-15/16-89abcdef] PASSED [ 79%]
tests/test_static.py::test_range_requests[wsgi-True-words=1-3-None-0123456789abcdef] PASSED [ 79%]
tests/test_static.py::test_range_requests[wsgi-True-bytes=15-30-bytes 15-15/16-f] PASSED [ 79%]
tests/test_static.py::test_range_requests[wsgi-True-bytes=0-30-bytes 0-15/16-0123456789abcdef] PASSED [ 79%]
tests/test_static.py::test_range_requests[wsgi-True-bytes=-30-bytes 0-15/16-0123456789abcdef] PASSED [ 79%]
tests/test_static.py::test_range_requests[wsgi-False-bytes=1-3-bytes 1-3/16-123] PASSED [ 80%]
tests/test_static.py::test_range_requests[wsgi-False-bytes=-3-bytes 13-15/16-def] PASSED [ 80%]
tests/test_static.py::test_range_requests[wsgi-False-bytes=8--bytes 8-15/16-89abcdef] PASSED [ 80%]
tests/test_static.py::test_range_requests[wsgi-False-words=1-3-None-0123456789abcdef] PASSED [ 80%]
tests/test_static.py::test_range_requests[wsgi-False-bytes=15-30-bytes 15-15/16-f] PASSED [ 80%]
tests/test_static.py::test_range_requests[wsgi-False-bytes=0-30-bytes 0-15/16-0123456789abcdef] PASSED [ 80%]
tests/test_static.py::test_range_requests[wsgi-False-bytes=-30-bytes 0-15/16-0123456789abcdef] PASSED [ 80%]
tests/test_static.py::test_range_request_zero_length[asgi-bytes=1-3] PASSED [ 80%]
tests/test_static.py::test_range_request_zero_length[asgi-bytes=-3] PASSED [ 80%]
tests/test_static.py::test_range_request_zero_length[asgi-bytes=8-] PASSED [ 80%]
tests/test_static.py::test_range_request_zero_length[asgi-words=1-3] PASSED [ 80%]
tests/test_static.py::test_range_request_zero_length[asgi-bytes=15-30] PASSED [ 80%]
tests/test_static.py::test_range_request_zero_length[asgi-bytes=0-30] PASSED [ 80%]
tests/test_static.py::test_range_request_zero_length[asgi-bytes=-30] PASSED [ 80%]
tests/test_static.py::test_range_request_zero_length[wsgi-bytes=1-3] PASSED [ 80%]
tests/test_static.py::test_range_request_zero_length[wsgi-bytes=-3] PASSED [ 80%]
tests/test_static.py::test_range_request_zero_length[wsgi-bytes=8-] PASSED [ 80%]
tests/test_static.py::test_range_request_zero_length[wsgi-words=1-3] PASSED [ 80%]
tests/test_static.py::test_range_request_zero_length[wsgi-bytes=15-30] PASSED [ 80%]
tests/test_static.py::test_range_request_zero_length[wsgi-bytes=0-30] PASSED [ 80%]
tests/test_static.py::test_range_request_zero_length[wsgi-bytes=-30] PASSED [ 80%]
tests/test_static.py::test_bad_range_requests[asgi-1-3-400 Bad Request] PASSED [ 80%]
tests/test_static.py::test_bad_range_requests[asgi-bytes=0-0,-1-400 Bad Request] PASSED [ 80%]
tests/test_static.py::test_bad_range_requests[asgi-bytes=8-4-400 Bad Request] PASSED [ 80%]
tests/test_static.py::test_bad_range_requests[asgi-bytes=1--3-400 Bad Request] PASSED [ 80%]
tests/test_static.py::test_bad_range_requests[asgi-bytes=--0-400 Bad Request] PASSED [ 80%]
tests/test_static.py::test_bad_range_requests[asgi-bytes=100-200-416 Range Not Satisfiable] PASSED [ 80%]
tests/test_static.py::test_bad_range_requests[asgi-bytes=100--416 Range Not Satisfiable] PASSED [ 80%]
tests/test_static.py::test_bad_range_requests[asgi-bytes=16-20-416 Range Not Satisfiable] PASSED [ 80%]
tests/test_static.py::test_bad_range_requests[asgi-bytes=16--416 Range Not Satisfiable] PASSED [ 80%]
tests/test_static.py::test_bad_range_requests[wsgi-1-3-400 Bad Request] PASSED [ 80%]
tests/test_static.py::test_bad_range_requests[wsgi-bytes=0-0,-1-400 Bad Request] PASSED [ 80%]
tests/test_static.py::test_bad_range_requests[wsgi-bytes=8-4-400 Bad Request] PASSED [ 80%]
tests/test_static.py::test_bad_range_requests[wsgi-bytes=1--3-400 Bad Request] PASSED [ 81%]
tests/test_static.py::test_bad_range_requests[wsgi-bytes=--0-400 Bad Request] PASSED [ 81%]
tests/test_static.py::test_bad_range_requests[wsgi-bytes=100-200-416 Range Not Satisfiable] PASSED [ 81%]
tests/test_static.py::test_bad_range_requests[wsgi-bytes=100--416 Range Not Satisfiable] PASSED [ 81%]
tests/test_static.py::test_bad_range_requests[wsgi-bytes=16-20-416 Range Not Satisfiable] PASSED [ 81%]
tests/test_static.py::test_bad_range_requests[wsgi-bytes=16--416 Range Not Satisfiable] PASSED [ 81%]
tests/test_static.py::test_pathlib_path[asgi] PASSED                     [ 81%]
tests/test_static.py::test_pathlib_path[wsgi] PASSED                     [ 81%]
tests/test_static.py::test_lifo[asgi] PASSED                             [ 81%]
tests/test_static.py::test_lifo[wsgi] PASSED                             [ 81%]
tests/test_static.py::test_lifo_negative[asgi] PASSED                    [ 81%]
tests/test_static.py::test_lifo_negative[wsgi] PASSED                    [ 81%]
tests/test_static.py::test_downloadable[asgi] PASSED                     [ 81%]
tests/test_static.py::test_downloadable[wsgi] PASSED                     [ 81%]
tests/test_static.py::test_downloadable_not_found[asgi] PASSED           [ 81%]
tests/test_static.py::test_downloadable_not_found[wsgi] PASSED           [ 81%]
tests/test_static.py::test_fallback_filename[asgi-True--default-default-application/octet-stream] PASSED [ 81%]
tests/test_static.py::test_fallback_filename[asgi-True-other-default.html-default.html-text/html] PASSED [ 81%]
tests/test_static.py::test_fallback_filename[asgi-True-zip-default.zip-default.zip-application/zip] PASSED [ 81%]
tests/test_static.py::test_fallback_filename[asgi-True-index2-index-index2-application/octet-stream] PASSED [ 81%]
tests/test_static.py::test_fallback_filename[asgi-True-absolute-/foo/bar/index-/foo/bar/index-application/octet-stream] PASSED [ 81%]
tests/test_static.py::test_fallback_filename[asgi-True-docs/notes/test.txt-index.html-index.html-text/html] PASSED [ 81%]
tests/test_static.py::test_fallback_filename[asgi-True-index.html_files/test.txt-index.html-index.html_files/test.txt-text/plain] PASSED [ 81%]
tests/test_static.py::test_fallback_filename[asgi-False--default-default-application/octet-stream] PASSED [ 81%]
tests/test_static.py::test_fallback_filename[asgi-False-other-default.html-default.html-text/html] PASSED [ 81%]
tests/test_static.py::test_fallback_filename[asgi-False-zip-default.zip-default.zip-application/zip] PASSED [ 81%]
tests/test_static.py::test_fallback_filename[asgi-False-index2-index-index2-application/octet-stream] PASSED [ 81%]
tests/test_static.py::test_fallback_filename[asgi-False-absolute-/foo/bar/index-/foo/bar/index-application/octet-stream] PASSED [ 81%]
tests/test_static.py::test_fallback_filename[asgi-False-docs/notes/test.txt-index.html-index.html-text/html] PASSED [ 81%]
tests/test_static.py::test_fallback_filename[asgi-False-index.html_files/test.txt-index.html-index.html_files/test.txt-text/plain] PASSED [ 81%]
tests/test_static.py::test_fallback_filename[wsgi-True--default-default-application/octet-stream] PASSED [ 81%]
tests/test_static.py::test_fallback_filename[wsgi-True-other-default.html-default.html-text/html] PASSED [ 81%]
tests/test_static.py::test_fallback_filename[wsgi-True-zip-default.zip-default.zip-application/zip] PASSED [ 81%]
tests/test_static.py::test_fallback_filename[wsgi-True-index2-index-index2-application/octet-stream] PASSED [ 82%]
tests/test_static.py::test_fallback_filename[wsgi-True-absolute-/foo/bar/index-/foo/bar/index-application/octet-stream] PASSED [ 82%]
tests/test_static.py::test_fallback_filename[wsgi-True-docs/notes/test.txt-index.html-index.html-text/html] PASSED [ 82%]
tests/test_static.py::test_fallback_filename[wsgi-True-index.html_files/test.txt-index.html-index.html_files/test.txt-text/plain] PASSED [ 82%]
tests/test_static.py::test_fallback_filename[wsgi-False--default-default-application/octet-stream] PASSED [ 82%]
tests/test_static.py::test_fallback_filename[wsgi-False-other-default.html-default.html-text/html] PASSED [ 82%]
tests/test_static.py::test_fallback_filename[wsgi-False-zip-default.zip-default.zip-application/zip] PASSED [ 82%]
tests/test_static.py::test_fallback_filename[wsgi-False-index2-index-index2-application/octet-stream] PASSED [ 82%]
tests/test_static.py::test_fallback_filename[wsgi-False-absolute-/foo/bar/index-/foo/bar/index-application/octet-stream] PASSED [ 82%]
tests/test_static.py::test_fallback_filename[wsgi-False-docs/notes/test.txt-index.html-index.html-text/html] PASSED [ 82%]
tests/test_static.py::test_fallback_filename[wsgi-False-index.html_files/test.txt-index.html-index.html_files/test.txt-text/plain] PASSED [ 82%]
tests/test_static.py::test_e2e_fallback_filename[asgi-/index-index.html-index-index-True] PASSED [ 82%]
tests/test_static.py::test_e2e_fallback_filename[asgi-/index-index.html-index-index-False] PASSED [ 82%]
tests/test_static.py::test_e2e_fallback_filename[asgi--index.html-index.html-None-True] PASSED [ 82%]
tests/test_static.py::test_e2e_fallback_filename[asgi--index.html-index.html-None-False] PASSED [ 82%]
tests/test_static.py::test_e2e_fallback_filename[asgi-/-index.html-index.html-None-True] PASSED [ 82%]
tests/test_static.py::test_e2e_fallback_filename[asgi-/-index.html-index.html-None-False] PASSED [ 82%]
tests/test_static.py::test_e2e_fallback_filename[asgi-/other-index.html-index.html-None-True] PASSED [ 82%]
tests/test_static.py::test_e2e_fallback_filename[asgi-/other-index.html-index.html-None-False] PASSED [ 82%]
tests/test_static.py::test_e2e_fallback_filename[asgi-/other-index.raise-None-None-True] PASSED [ 82%]
tests/test_static.py::test_e2e_fallback_filename[asgi-/other-index.raise-None-None-False] PASSED [ 82%]
tests/test_static.py::test_e2e_fallback_filename[wsgi-/index-index.html-index-index-True] PASSED [ 82%]
tests/test_static.py::test_e2e_fallback_filename[wsgi-/index-index.html-index-index-False] PASSED [ 82%]
tests/test_static.py::test_e2e_fallback_filename[wsgi--index.html-index.html-None-True] PASSED [ 82%]
tests/test_static.py::test_e2e_fallback_filename[wsgi--index.html-index.html-None-False] PASSED [ 82%]
tests/test_static.py::test_e2e_fallback_filename[wsgi-/-index.html-index.html-None-True] PASSED [ 82%]
tests/test_static.py::test_e2e_fallback_filename[wsgi-/-index.html-index.html-None-False] PASSED [ 82%]
tests/test_static.py::test_e2e_fallback_filename[wsgi-/other-index.html-index.html-None-True] PASSED [ 82%]
tests/test_static.py::test_e2e_fallback_filename[wsgi-/other-index.html-index.html-None-False] PASSED [ 82%]
tests/test_static.py::test_e2e_fallback_filename[wsgi-/other-index.raise-None-None-True] PASSED [ 82%]
tests/test_static.py::test_e2e_fallback_filename[wsgi-/other-index.raise-None-None-False] PASSED [ 82%]
tests/test_static.py::test_match[asgi-None-/static-False] PASSED         [ 82%]
tests/test_static.py::test_match[asgi-None-/static/-True] PASSED         [ 82%]
tests/test_static.py::test_match[asgi-None-/staticfoo-False] PASSED      [ 83%]
tests/test_static.py::test_match[asgi-None-/static/foo-True] PASSED      [ 83%]
tests/test_static.py::test_match[asgi-index2-/static-True] PASSED        [ 83%]
tests/test_static.py::test_match[asgi-index2-/static/-True] PASSED       [ 83%]
tests/test_static.py::test_match[asgi-index2-/staticfoo-False] PASSED    [ 83%]
tests/test_static.py::test_match[asgi-index2-/static/foo-True] PASSED    [ 83%]
tests/test_static.py::test_match[wsgi-None-/static-False] PASSED         [ 83%]
tests/test_static.py::test_match[wsgi-None-/static/-True] PASSED         [ 83%]
tests/test_static.py::test_match[wsgi-None-/staticfoo-False] PASSED      [ 83%]
tests/test_static.py::test_match[wsgi-None-/static/foo-True] PASSED      [ 83%]
tests/test_static.py::test_match[wsgi-index2-/static-True] PASSED        [ 83%]
tests/test_static.py::test_match[wsgi-index2-/static/-True] PASSED       [ 83%]
tests/test_static.py::test_match[wsgi-index2-/staticfoo-False] PASSED    [ 83%]
tests/test_static.py::test_match[wsgi-index2-/static/foo-True] PASSED    [ 83%]
tests/test_static.py::test_filesystem_traversal_fuse[asgi] PASSED        [ 83%]
tests/test_static.py::test_filesystem_traversal_fuse[wsgi] PASSED        [ 83%]
tests/test_static.py::test_bounded_file_wrapper PASSED                   [ 83%]
tests/test_static.py::test_file_closed[asgi] PASSED                      [ 83%]
tests/test_static.py::test_file_closed[wsgi] PASSED                      [ 83%]
tests/test_testing.py::test_testing_client_handles_wsgi_generator_app PASSED [ 83%]
tests/test_testing.py::test_closed_wsgi_iterable[items0] PASSED          [ 83%]
tests/test_testing.py::test_closed_wsgi_iterable[items1] PASSED          [ 83%]
tests/test_testing.py::test_closed_wsgi_iterable[items2] PASSED          [ 83%]
tests/test_testing.py::test_closed_wsgi_iterable[items3] PASSED          [ 83%]
tests/test_testing.py::test_simulate_request_http_version[1-True] PASSED [ 83%]
tests/test_testing.py::test_simulate_request_http_version[1.0-True] PASSED [ 83%]
tests/test_testing.py::test_simulate_request_http_version[1.1-True] PASSED [ 83%]
tests/test_testing.py::test_simulate_request_http_version[2-True] PASSED [ 83%]
tests/test_testing.py::test_simulate_request_http_version[2.0-True] PASSED [ 83%]
tests/test_testing.py::test_simulate_request_http_version[-False] PASSED [ 83%]
tests/test_testing.py::test_simulate_request_http_version[0-False] PASSED [ 83%]
tests/test_testing.py::test_simulate_request_http_version[1.2-False] PASSED [ 83%]
tests/test_testing.py::test_simulate_request_http_version[2.1-False] PASSED [ 83%]
tests/test_testing.py::test_simulate_request_http_version[3-False] PASSED [ 84%]
tests/test_testing.py::test_simulate_request_http_version[3.1-False] PASSED [ 84%]
tests/test_testing.py::test_simulate_request_http_version[11-False] PASSED [ 84%]
tests/test_testing.py::test_simulate_request_http_version[22-False] PASSED [ 84%]
tests/test_testing.py::test_simulate_request_content_type PASSED         [ 84%]
tests/test_testing.py::test_create_environ_cookies[cookies0] PASSED      [ 84%]
tests/test_testing.py::test_create_environ_cookies[cookies1] PASSED      [ 84%]
tests/test_testing.py::test_create_environ_cookies_options_method PASSED [ 84%]
tests/test_testing.py::test_cookies_jar PASSED                           [ 84%]
tests/test_testing.py::test_create_environ_default_ua PASSED             [ 84%]
tests/test_testing.py::test_create_environ_default_ua_override PASSED    [ 84%]
tests/test_testing.py::test_missing_header_is_none PASSED                [ 84%]
tests/test_testing.py::test_client_simulate_aliases[asgi-DELETE] PASSED  [ 84%]
tests/test_testing.py::test_client_simulate_aliases[asgi-GET] PASSED     [ 84%]
tests/test_testing.py::test_client_simulate_aliases[asgi-HEAD] PASSED    [ 84%]
tests/test_testing.py::test_client_simulate_aliases[asgi-LOCK] PASSED    [ 84%]
tests/test_testing.py::test_client_simulate_aliases[asgi-OPTIONS] PASSED [ 84%]
tests/test_testing.py::test_client_simulate_aliases[asgi-PATCH] PASSED   [ 84%]
tests/test_testing.py::test_client_simulate_aliases[asgi-POST] PASSED    [ 84%]
tests/test_testing.py::test_client_simulate_aliases[asgi-PUT] PASSED     [ 84%]
tests/test_testing.py::test_client_simulate_aliases[wsgi-DELETE] PASSED  [ 84%]
tests/test_testing.py::test_client_simulate_aliases[wsgi-GET] PASSED     [ 84%]
tests/test_testing.py::test_client_simulate_aliases[wsgi-HEAD] PASSED    [ 84%]
tests/test_testing.py::test_client_simulate_aliases[wsgi-LOCK] PASSED    [ 84%]
tests/test_testing.py::test_client_simulate_aliases[wsgi-OPTIONS] PASSED [ 84%]
tests/test_testing.py::test_client_simulate_aliases[wsgi-PATCH] PASSED   [ 84%]
tests/test_testing.py::test_client_simulate_aliases[wsgi-POST] PASSED    [ 84%]
tests/test_testing.py::test_client_simulate_aliases[wsgi-PUT] PASSED     [ 84%]
tests/test_things_example.py::test_things_resource_response PASSED       [ 84%]
tests/test_uri_converters.py::test_int_converter[123-None-None-None-123] PASSED [ 84%]
tests/test_uri_converters.py::test_int_converter[01-None-None-None-1] PASSED [ 84%]
tests/test_uri_converters.py::test_int_converter[001-None-None-None-1] PASSED [ 84%]
tests/test_uri_converters.py::test_int_converter[0-None-None-None-0] PASSED [ 84%]
tests/test_uri_converters.py::test_int_converter[00-None-None-None-0] PASSED [ 85%]
tests/test_uri_converters.py::test_int_converter[1-1-None-None-1] PASSED [ 85%]
tests/test_uri_converters.py::test_int_converter[12-1-None-None-None0] PASSED [ 85%]
tests/test_uri_converters.py::test_int_converter[12-2-None-None-12_0] PASSED [ 85%]
tests/test_uri_converters.py::test_int_converter[1-1-1-1-1] PASSED       [ 85%]
tests/test_uri_converters.py::test_int_converter[1-1-1-None-1] PASSED    [ 85%]
tests/test_uri_converters.py::test_int_converter[1-1-1-2-1] PASSED       [ 85%]
tests/test_uri_converters.py::test_int_converter[1-1-2-None-None] PASSED [ 85%]
tests/test_uri_converters.py::test_int_converter[1-1-2-1-None] PASSED    [ 85%]
tests/test_uri_converters.py::test_int_converter[2-1-1-2-2] PASSED       [ 85%]
tests/test_uri_converters.py::test_int_converter[2-1-2-2-2] PASSED       [ 85%]
tests/test_uri_converters.py::test_int_converter[3-1-1-2-None] PASSED    [ 85%]
tests/test_uri_converters.py::test_int_converter[12-1-None-None-None1] PASSED [ 85%]
tests/test_uri_converters.py::test_int_converter[12-1-1-12-None] PASSED  [ 85%]
tests/test_uri_converters.py::test_int_converter[12-2-None-None-12_1] PASSED [ 85%]
tests/test_uri_converters.py::test_int_converter[12-2-1-12-12] PASSED    [ 85%]
tests/test_uri_converters.py::test_int_converter[12-2-12-12-12] PASSED   [ 85%]
tests/test_uri_converters.py::test_int_converter[12-2-13-12-None] PASSED [ 85%]
tests/test_uri_converters.py::test_int_converter[12-2-13-13-None] PASSED [ 85%]
tests/test_uri_converters.py::test_int_converter_malformed[0x0F] PASSED  [ 85%]
tests/test_uri_converters.py::test_int_converter_malformed[something] PASSED [ 85%]
tests/test_uri_converters.py::test_int_converter_malformed[] PASSED      [ 85%]
tests/test_uri_converters.py::test_int_converter_malformed[ ] PASSED     [ 85%]
tests/test_uri_converters.py::test_int_converter_malformed[123 ] PASSED  [ 85%]
tests/test_uri_converters.py::test_int_converter_malformed[123\t] PASSED [ 85%]
tests/test_uri_converters.py::test_int_converter_malformed[123\n] PASSED [ 85%]
tests/test_uri_converters.py::test_int_converter_malformed[123\r] PASSED [ 85%]
tests/test_uri_converters.py::test_int_converter_malformed[123\x0b] PASSED [ 85%]
tests/test_uri_converters.py::test_int_converter_malformed[123\x0c] PASSED [ 85%]
tests/test_uri_converters.py::test_int_converter_malformed[ 123] PASSED  [ 85%]
tests/test_uri_converters.py::test_int_converter_malformed[\t123] PASSED [ 85%]
tests/test_uri_converters.py::test_int_converter_malformed[\n123] PASSED [ 85%]
tests/test_uri_converters.py::test_int_converter_malformed[\r123] PASSED [ 85%]
tests/test_uri_converters.py::test_int_converter_malformed[\x0b123] PASSED [ 86%]
tests/test_uri_converters.py::test_int_converter_malformed[\x0c123] PASSED [ 86%]
tests/test_uri_converters.py::test_int_converter_invalid_config[0] PASSED [ 86%]
tests/test_uri_converters.py::test_int_converter_invalid_config[-1] PASSED [ 86%]
tests/test_uri_converters.py::test_int_converter_invalid_config[-10] PASSED [ 86%]
tests/test_uri_converters.py::test_datetime_converter[07-03-17-%m-%d-%y-expected0] PASSED [ 86%]
tests/test_uri_converters.py::test_datetime_converter[07-03-17 -%m-%d-%y -expected1] PASSED [ 86%]
tests/test_uri_converters.py::test_datetime_converter[2017-07-03T14:30:01Z-%Y-%m-%dT%H:%M:%SZ-expected2] PASSED [ 86%]
tests/test_uri_converters.py::test_datetime_converter[2017-07-03T14:30:01-%Y-%m-%dT%H:%M:%S-expected3] PASSED [ 86%]
tests/test_uri_converters.py::test_datetime_converter[2017_19-%Y_%H-expected4] PASSED [ 86%]
tests/test_uri_converters.py::test_datetime_converter[2017-07-03T14:30:01-%Y-%m-%dT%H:%M:%SZ-None] PASSED [ 86%]
tests/test_uri_converters.py::test_datetime_converter[07-03-17 -%m-%d-%y-None] PASSED [ 86%]
tests/test_uri_converters.py::test_datetime_converter[ 07-03-17-%m-%d-%y-None] PASSED [ 86%]
tests/test_uri_converters.py::test_datetime_converter[07 -03-17-%m-%d-%y-None] PASSED [ 86%]
tests/test_uri_converters.py::test_datetime_converter_default_format PASSED [ 86%]
tests/test_uri_converters.py::test_uuid_converter[7a704c10-2f3e-4f7b-872c-8ba72adf41ef-expected0] PASSED [ 86%]
tests/test_uri_converters.py::test_uuid_converter[7a704c102f3e-4f7b-872c-8ba72adf41ef-expected1] PASSED [ 86%]
tests/test_uri_converters.py::test_uuid_converter[7a704c102f3e4f7b872c8ba72adf41ef-expected2] PASSED [ 86%]
tests/test_uri_converters.py::test_uuid_converter[urn:uuid:7a704c10-2f3e-4f7b-872c-8ba72adf41ef-expected3] PASSED [ 86%]
tests/test_uri_converters.py::test_uuid_converter[urn:uuid:7a704c102f3e4f7b872c8ba72adf41ef-expected4] PASSED [ 86%]
tests/test_uri_converters.py::test_uuid_converter[ -None] PASSED         [ 86%]
tests/test_uri_converters.py::test_uuid_converter[7a704c10-2f3e-4f7b-872c-8ba72adf41ef -None] PASSED [ 86%]
tests/test_uri_converters.py::test_uuid_converter[ 7a704c10-2f3e-4f7b-872c-8ba72adf41ef-None] PASSED [ 86%]
tests/test_uri_converters.py::test_uuid_converter[7a704c10-2f3e-4f7b-872c-8ba72adf41e-None] PASSED [ 86%]
tests/test_uri_converters.py::test_uuid_converter[7-None] PASSED         [ 86%]
tests/test_uri_converters.py::test_uuid_converter[7a704c10-2f3e-4f7b-872c-8ba72adf41eg-None] PASSED [ 86%]
tests/test_uri_converters.py::test_uuid_converter[7a704c10_2f3e_4f7b_872c_8ba72adf41ef-None] PASSED [ 86%]
tests/test_uri_templates.py::test_root_path[asgi] PASSED                 [ 86%]
tests/test_uri_templates.py::test_root_path[wsgi] PASSED                 [ 86%]
tests/test_uri_templates.py::test_no_vars[asgi] PASSED                   [ 86%]
tests/test_uri_templates.py::test_no_vars[wsgi] PASSED                   [ 86%]
tests/test_uri_templates.py::test_special_chars[asgi] PASSED             [ 86%]
tests/test_uri_templates.py::test_special_chars[wsgi] PASSED             [ 86%]
tests/test_uri_templates.py::test_single[asgi-id] PASSED                 [ 87%]
tests/test_uri_templates.py::test_single[asgi-id123] PASSED              [ 87%]
tests/test_uri_templates.py::test_single[asgi-widget_id] PASSED          [ 87%]
tests/test_uri_templates.py::test_single[wsgi-id] PASSED                 [ 87%]
tests/test_uri_templates.py::test_single[wsgi-id123] PASSED              [ 87%]
tests/test_uri_templates.py::test_single[wsgi-widget_id] PASSED          [ 87%]
tests/test_uri_templates.py::test_single_path_segment[asgi] PASSED       [ 87%]
tests/test_uri_templates.py::test_single_path_segment[wsgi] PASSED       [ 87%]
tests/test_uri_templates.py::test_int_converter[asgi-/{id:int}] PASSED   [ 87%]
tests/test_uri_templates.py::test_int_converter[asgi-/{id:int(3)}] PASSED [ 87%]
tests/test_uri_templates.py::test_int_converter[asgi-/{id:int(min=123)}] PASSED [ 87%]
tests/test_uri_templates.py::test_int_converter[asgi-/{id:int(min=123, max=123)}] PASSED [ 87%]
tests/test_uri_templates.py::test_int_converter[wsgi-/{id:int}] PASSED   [ 87%]
tests/test_uri_templates.py::test_int_converter[wsgi-/{id:int(3)}] PASSED [ 87%]
tests/test_uri_templates.py::test_int_converter[wsgi-/{id:int(min=123)}] PASSED [ 87%]
tests/test_uri_templates.py::test_int_converter[wsgi-/{id:int(min=123, max=123)}] PASSED [ 87%]
tests/test_uri_templates.py::test_int_converter_rejections[asgi-/{id:int(2)}] PASSED [ 87%]
tests/test_uri_templates.py::test_int_converter_rejections[asgi-/{id:int(min=124)}] PASSED [ 87%]
tests/test_uri_templates.py::test_int_converter_rejections[asgi-/{id:int(num_digits=3, max=100)}] PASSED [ 87%]
tests/test_uri_templates.py::test_int_converter_rejections[wsgi-/{id:int(2)}] PASSED [ 87%]
tests/test_uri_templates.py::test_int_converter_rejections[wsgi-/{id:int(min=124)}] PASSED [ 87%]
tests/test_uri_templates.py::test_int_converter_rejections[wsgi-/{id:int(num_digits=3, max=100)}] PASSED [ 87%]
tests/test_uri_templates.py::test_datetime_converter[asgi-/{start_year:int}-to-{timestamp:dt}-/1961-to-1969-07-21T02:56:00Z-dt_expected0] PASSED [ 87%]
tests/test_uri_templates.py::test_datetime_converter[asgi-/{start_year:int}-to-{timestamp:dt("%Y-%m-%d")}-/1961-to-1969-07-21-dt_expected1] PASSED [ 87%]
tests/test_uri_templates.py::test_datetime_converter[asgi-/{start_year:int}/{timestamp:dt("%Y-%m-%d %H:%M")}-/1961/1969-07-21 14:30-dt_expected2] PASSED [ 87%]
tests/test_uri_templates.py::test_datetime_converter[asgi-/{start_year:int}-to-{timestamp:dt("%Y-%m")}-/1961-to-1969-07-21-None] PASSED [ 87%]
tests/test_uri_templates.py::test_datetime_converter[wsgi-/{start_year:int}-to-{timestamp:dt}-/1961-to-1969-07-21T02:56:00Z-dt_expected0] PASSED [ 87%]
tests/test_uri_templates.py::test_datetime_converter[wsgi-/{start_year:int}-to-{timestamp:dt("%Y-%m-%d")}-/1961-to-1969-07-21-dt_expected1] PASSED [ 87%]
tests/test_uri_templates.py::test_datetime_converter[wsgi-/{start_year:int}/{timestamp:dt("%Y-%m-%d %H:%M")}-/1961/1969-07-21 14:30-dt_expected2] PASSED [ 87%]
tests/test_uri_templates.py::test_datetime_converter[wsgi-/{start_year:int}-to-{timestamp:dt("%Y-%m")}-/1961-to-1969-07-21-None] PASSED [ 87%]
tests/test_uri_templates.py::test_uuid_converter[asgi-/widgets/{widget_id:uuid}-/widgets/f8fd8ea5-e615-4149-bdce-2a4fdd49a3cc-expected0] PASSED [ 87%]
tests/test_uri_templates.py::test_uuid_converter[asgi-/widgets/{widget_id:uuid}/orders-/widgets/f8fd8ea5e6154149bdce2a4fdd49a3cc/orders-expected1] PASSED [ 87%]
tests/test_uri_templates.py::test_uuid_converter[asgi-/versions/diff/{left:uuid()}...{right:uuid()}-/versions/diff/f8fd8ea5-e615-4149-bdce-2a4fdd49a3cc...bfa23ef6-9a65-4084-af9c-ef916ac28610-expected2] PASSED [ 87%]
tests/test_uri_templates.py::test_uuid_converter[asgi-/versions/diff/{left:uuid}...{right:uuid()}-/versions/diff/f8fd8ea5-e615-4149-bdce-2a4fdd49a3cc...bfa23ef6-9a65-4084-af9c-ef916ac28610-expected3] PASSED [ 88%]
tests/test_uri_templates.py::test_uuid_converter[asgi-/versions/diff/{left:uuid()}...{right:uuid}-/versions/diff/f8fd8ea5-e615-4149-bdce-2a4fdd49a3cc...bfa23ef6-9a65-4084-af9c-ef916ac28610-expected4] PASSED [ 88%]
tests/test_uri_templates.py::test_uuid_converter[asgi-/widgets/{widget_id:uuid}/orders-/widgets/f8fd8ea5e6154149bdce2a4fdd49a3c/orders-None] PASSED [ 88%]
tests/test_uri_templates.py::test_uuid_converter[wsgi-/widgets/{widget_id:uuid}-/widgets/f8fd8ea5-e615-4149-bdce-2a4fdd49a3cc-expected0] PASSED [ 88%]
tests/test_uri_templates.py::test_uuid_converter[wsgi-/widgets/{widget_id:uuid}/orders-/widgets/f8fd8ea5e6154149bdce2a4fdd49a3cc/orders-expected1] PASSED [ 88%]
tests/test_uri_templates.py::test_uuid_converter[wsgi-/versions/diff/{left:uuid()}...{right:uuid()}-/versions/diff/f8fd8ea5-e615-4149-bdce-2a4fdd49a3cc...bfa23ef6-9a65-4084-af9c-ef916ac28610-expected2] PASSED [ 88%]
tests/test_uri_templates.py::test_uuid_converter[wsgi-/versions/diff/{left:uuid}...{right:uuid()}-/versions/diff/f8fd8ea5-e615-4149-bdce-2a4fdd49a3cc...bfa23ef6-9a65-4084-af9c-ef916ac28610-expected3] PASSED [ 88%]
tests/test_uri_templates.py::test_uuid_converter[wsgi-/versions/diff/{left:uuid()}...{right:uuid}-/versions/diff/f8fd8ea5-e615-4149-bdce-2a4fdd49a3cc...bfa23ef6-9a65-4084-af9c-ef916ac28610-expected4] PASSED [ 88%]
tests/test_uri_templates.py::test_uuid_converter[wsgi-/widgets/{widget_id:uuid}/orders-/widgets/f8fd8ea5e6154149bdce2a4fdd49a3c/orders-None] PASSED [ 88%]
tests/test_uri_templates.py::test_uuid_converter_complex_segment[asgi] PASSED [ 88%]
tests/test_uri_templates.py::test_uuid_converter_complex_segment[wsgi] PASSED [ 88%]
tests/test_uri_templates.py::test_converter_custom[asgi-/{food:spam}-/something-expected0] PASSED [ 88%]
tests/test_uri_templates.py::test_converter_custom[asgi-/{food:spam(")")}:{food_too:spam("()")}-/bacon:eggs-expected1] PASSED [ 88%]
tests/test_uri_templates.py::test_converter_custom[asgi-/({food:spam()}){food_too:spam("()")}-/(bacon)eggs-expected2] PASSED [ 88%]
tests/test_uri_templates.py::test_converter_custom[wsgi-/{food:spam}-/something-expected0] PASSED [ 88%]
tests/test_uri_templates.py::test_converter_custom[wsgi-/{food:spam(")")}:{food_too:spam("()")}-/bacon:eggs-expected1] PASSED [ 88%]
tests/test_uri_templates.py::test_converter_custom[wsgi-/({food:spam()}){food_too:spam("()")}-/(bacon)eggs-expected2] PASSED [ 88%]
tests/test_uri_templates.py::test_single_trailing_slash[asgi] PASSED     [ 88%]
tests/test_uri_templates.py::test_single_trailing_slash[wsgi] PASSED     [ 88%]
tests/test_uri_templates.py::test_multiple[asgi] PASSED                  [ 88%]
tests/test_uri_templates.py::test_multiple[wsgi] PASSED                  [ 88%]
tests/test_uri_templates.py::test_empty_path_component[asgi-//] PASSED   [ 88%]
tests/test_uri_templates.py::test_empty_path_component[asgi-//begin] PASSED [ 88%]
tests/test_uri_templates.py::test_empty_path_component[asgi-/end//] PASSED [ 88%]
tests/test_uri_templates.py::test_empty_path_component[asgi-/in//side] PASSED [ 88%]
tests/test_uri_templates.py::test_empty_path_component[wsgi-//] PASSED   [ 88%]
tests/test_uri_templates.py::test_empty_path_component[wsgi-//begin] PASSED [ 88%]
tests/test_uri_templates.py::test_empty_path_component[wsgi-/end//] PASSED [ 88%]
tests/test_uri_templates.py::test_empty_path_component[wsgi-/in//side] PASSED [ 88%]
tests/test_uri_templates.py::test_relative_path[asgi-] PASSED            [ 88%]
tests/test_uri_templates.py::test_relative_path[asgi-no] PASSED          [ 88%]
tests/test_uri_templates.py::test_relative_path[asgi-no/leading_slash] PASSED [ 88%]
tests/test_uri_templates.py::test_relative_path[wsgi-] PASSED            [ 88%]
tests/test_uri_templates.py::test_relative_path[wsgi-no] PASSED          [ 88%]
tests/test_uri_templates.py::test_relative_path[wsgi-no/leading_slash] PASSED [ 89%]
tests/test_uri_templates.py::test_same_level_complex_var[asgi-True] PASSED [ 89%]
tests/test_uri_templates.py::test_same_level_complex_var[asgi-False] PASSED [ 89%]
tests/test_uri_templates.py::test_same_level_complex_var[wsgi-True] PASSED [ 89%]
tests/test_uri_templates.py::test_same_level_complex_var[wsgi-False] PASSED [ 89%]
tests/test_uri_templates.py::test_adding_suffix_routes[asgi] PASSED      [ 89%]
tests/test_uri_templates.py::test_adding_suffix_routes[wsgi] PASSED      [ 89%]
tests/test_uri_templates.py::test_with_and_without_trailing_slash[asgi-True] PASSED [ 89%]
tests/test_uri_templates.py::test_with_and_without_trailing_slash[asgi-False] PASSED [ 89%]
tests/test_uri_templates.py::test_with_and_without_trailing_slash[wsgi-True] PASSED [ 89%]
tests/test_uri_templates.py::test_with_and_without_trailing_slash[wsgi-False] PASSED [ 89%]
tests/test_uri_templates.py::test_custom_error_on_suffix_route_not_found[asgi] PASSED [ 89%]
tests/test_uri_templates.py::test_custom_error_on_suffix_route_not_found[wsgi] PASSED [ 89%]
tests/test_uri_templates_legacy.py::TestUriTemplates::test_string_type_required[42] PASSED [ 89%]
tests/test_uri_templates_legacy.py::TestUriTemplates::test_string_type_required[App] PASSED [ 89%]
tests/test_uri_templates_legacy.py::TestUriTemplates::test_template_must_start_with_slash[this] PASSED [ 89%]
tests/test_uri_templates_legacy.py::TestUriTemplates::test_template_must_start_with_slash[this/that] PASSED [ 89%]
tests/test_uri_templates_legacy.py::TestUriTemplates::test_template_may_not_contain_double_slash[//] PASSED [ 89%]
tests/test_uri_templates_legacy.py::TestUriTemplates::test_template_may_not_contain_double_slash[a//] PASSED [ 89%]
tests/test_uri_templates_legacy.py::TestUriTemplates::test_template_may_not_contain_double_slash[//b] PASSED [ 89%]
tests/test_uri_templates_legacy.py::TestUriTemplates::test_template_may_not_contain_double_slash[a//b] PASSED [ 89%]
tests/test_uri_templates_legacy.py::TestUriTemplates::test_template_may_not_contain_double_slash[a/b//] PASSED [ 89%]
tests/test_uri_templates_legacy.py::TestUriTemplates::test_template_may_not_contain_double_slash[a/b//c] PASSED [ 89%]
tests/test_uri_templates_legacy.py::TestUriTemplates::test_root PASSED   [ 89%]
tests/test_uri_templates_legacy.py::TestUriTemplates::test_no_fields[/hello] PASSED [ 89%]
tests/test_uri_templates_legacy.py::TestUriTemplates::test_no_fields[/hello/world] PASSED [ 89%]
tests/test_uri_templates_legacy.py::TestUriTemplates::test_no_fields[/hi/there/how/are/you] PASSED [ 89%]
tests/test_uri_templates_legacy.py::TestUriTemplates::test_one_field PASSED [ 89%]
tests/test_uri_templates_legacy.py::TestUriTemplates::test_one_field_with_digits PASSED [ 89%]
tests/test_uri_templates_legacy.py::TestUriTemplates::test_one_field_with_prefixed_digits PASSED [ 89%]
tests/test_uri_templates_legacy.py::TestUriTemplates::test_two_fields[] PASSED [ 89%]
tests/test_uri_templates_legacy.py::TestUriTemplates::test_two_fields[/] PASSED [ 89%]
tests/test_uri_templates_legacy.py::TestUriTemplates::test_three_fields PASSED [ 89%]
tests/test_uri_templates_legacy.py::TestUriTemplates::test_malformed_field PASSED [ 90%]
tests/test_uri_templates_legacy.py::TestUriTemplates::test_deprecated_warning PASSED [ 90%]
tests/test_utils.py::TestFalconUtils::test_deprecated_decorator PASSED   [ 90%]
tests/test_utils.py::TestFalconUtils::test_http_now PASSED               [ 90%]
tests/test_utils.py::TestFalconUtils::test_dt_to_http PASSED             [ 90%]
tests/test_utils.py::TestFalconUtils::test_http_date_to_dt PASSED        [ 90%]
tests/test_utils.py::TestFalconUtils::test_pack_query_params_none PASSED [ 90%]
tests/test_utils.py::TestFalconUtils::test_pack_query_params_one PASSED  [ 90%]
tests/test_utils.py::TestFalconUtils::test_pack_query_params_several PASSED [ 90%]
tests/test_utils.py::TestFalconUtils::test_to_query_str_encoding[params0-True] PASSED [ 90%]
tests/test_utils.py::TestFalconUtils::test_to_query_str_encoding[params0-False] PASSED [ 90%]
tests/test_utils.py::TestFalconUtils::test_to_query_str_encoding[params1-True] PASSED [ 90%]
tests/test_utils.py::TestFalconUtils::test_to_query_str_encoding[params1-False] PASSED [ 90%]
tests/test_utils.py::TestFalconUtils::test_to_query_str_encoding[params2-True] PASSED [ 90%]
tests/test_utils.py::TestFalconUtils::test_to_query_str_encoding[params2-False] PASSED [ 90%]
tests/test_utils.py::TestFalconUtils::test_to_query_str_encoding[params3-True] PASSED [ 90%]
tests/test_utils.py::TestFalconUtils::test_to_query_str_encoding[params3-False] PASSED [ 90%]
tests/test_utils.py::TestFalconUtils::test_to_query_str_encoding[params4-True] PASSED [ 90%]
tests/test_utils.py::TestFalconUtils::test_to_query_str_encoding[params4-False] PASSED [ 90%]
tests/test_utils.py::TestFalconUtils::test_uri_encode PASSED             [ 90%]
tests/test_utils.py::TestFalconUtils::test_uri_encode_double PASSED      [ 90%]
tests/test_utils.py::TestFalconUtils::test_uri_encode_value PASSED       [ 90%]
tests/test_utils.py::TestFalconUtils::test_uri_decode[bytearray] PASSED  [ 90%]
tests/test_utils.py::TestFalconUtils::test_uri_decode[join_list] PASSED  [ 90%]
tests/test_utils.py::TestFalconUtils::test_uri_decode_bad_coding[bytearray-ab%2Gcd-ab%2Gcd] PASSED [ 90%]
tests/test_utils.py::TestFalconUtils::test_uri_decode_bad_coding[bytearray-ab%2Fcd: 100% coverage-ab/cd: 100% coverage] PASSED [ 90%]
tests/test_utils.py::TestFalconUtils::test_uri_decode_bad_coding[bytearray-%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s-%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s] PASSED [ 90%]
tests/test_utils.py::TestFalconUtils::test_uri_decode_bad_coding[join_list-ab%2Gcd-ab%2Gcd] PASSED [ 90%]
tests/test_utils.py::TestFalconUtils::test_uri_decode_bad_coding[join_list-ab%2Fcd: 100% coverage-ab/cd: 100% coverage] PASSED [ 90%]
tests/test_utils.py::TestFalconUtils::test_uri_decode_bad_coding[join_list-%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s-%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s] PASSED [ 90%]
tests/test_utils.py::TestFalconUtils::test_uri_decode_bad_unicode[bytearray-+%80- \ufffd] PASSED [ 90%]
tests/test_utils.py::TestFalconUtils::test_uri_decode_bad_unicode[bytearray-+++%FF+++-   \ufffd   ] PASSED [ 90%]
tests/test_utils.py::TestFalconUtils::test_uri_decode_bad_unicode[bytearray-%fc%83%bf%bf%bf%bf-\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd] PASSED [ 90%]
tests/test_utils.py::TestFalconUtils::test_uri_decode_bad_unicode[bytearray-%ed%ae%80%ed%b0%80-\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd] PASSED [ 91%]
tests/test_utils.py::TestFalconUtils::test_uri_decode_bad_unicode[join_list-+%80- \ufffd] PASSED [ 91%]
tests/test_utils.py::TestFalconUtils::test_uri_decode_bad_unicode[join_list-+++%FF+++-   \ufffd   ] PASSED [ 91%]
tests/test_utils.py::TestFalconUtils::test_uri_decode_bad_unicode[join_list-%fc%83%bf%bf%bf%bf-\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd] PASSED [ 91%]
tests/test_utils.py::TestFalconUtils::test_uri_decode_bad_unicode[join_list-%ed%ae%80%ed%b0%80-\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd] PASSED [ 91%]
tests/test_utils.py::TestFalconUtils::test_uri_decode_unquote_plus[bytearray] PASSED [ 91%]
tests/test_utils.py::TestFalconUtils::test_uri_decode_unquote_plus[join_list] PASSED [ 91%]
tests/test_utils.py::TestFalconUtils::test_prop_uri_encode_models_stdlib_quote PASSED [ 91%]
tests/test_utils.py::TestFalconUtils::test_prop_uri_encode_value_models_stdlib_quote_safe_tilde PASSED [ 91%]
tests/test_utils.py::TestFalconUtils::test_prop_uri_decode_models_stdlib_unquote_plus PASSED [ 91%]
tests/test_utils.py::TestFalconUtils::test_unquote_string PASSED         [ 91%]
tests/test_utils.py::TestFalconUtils::test_parse_query_string PASSED     [ 91%]
tests/test_utils.py::TestFalconUtils::test_parse_query_string_edge_cases[-True-expected0] PASSED [ 91%]
tests/test_utils.py::TestFalconUtils::test_parse_query_string_edge_cases[-False-expected1] PASSED [ 91%]
tests/test_utils.py::TestFalconUtils::test_parse_query_string_edge_cases[flag1&&&&&flag2&&&-True-expected2] PASSED [ 91%]
tests/test_utils.py::TestFalconUtils::test_parse_query_string_edge_cases[flag1&&&&&flag2&&&-False-expected3] PASSED [ 91%]
tests/test_utils.py::TestFalconUtils::test_parse_query_string_edge_cases[malformed=%FG%1%Hi%%%a-False-expected4] PASSED [ 91%]
tests/test_utils.py::TestFalconUtils::test_parse_query_string_edge_cases[=-False-expected5] PASSED [ 91%]
tests/test_utils.py::TestFalconUtils::test_parse_query_string_edge_cases[==-False-expected6] PASSED [ 91%]
tests/test_utils.py::TestFalconUtils::test_parse_query_string_edge_cases[%==+==&&&&&&&&&%%==+=&&&&&&%0g%=%=-False-expected7] PASSED [ 91%]
tests/test_utils.py::TestFalconUtils::test_parse_query_string_edge_cases[%=&%%=&&%%%=-False-expected8] PASSED [ 91%]
tests/test_utils.py::TestFalconUtils::test_parse_query_string_edge_cases[%=&%%=&&%%%=-True-expected9] PASSED [ 91%]
tests/test_utils.py::TestFalconUtils::test_parse_query_string_edge_cases[+=&%+=&&%++=-True-expected10] PASSED [ 91%]
tests/test_utils.py::TestFalconUtils::test_parse_query_string_edge_cases[=x=&=x=+1=x=&%=x-False-expected11] PASSED [ 91%]
tests/test_utils.py::TestFalconUtils::test_parse_query_string_edge_cases[%=+&%=&+%+=&%+&=%&=+%&+==%+&=%&+=+%&=+&%=&%+=&+%+%=&+%&=+=%&+=&%+&%=+&=%&%=+&%+=&=%+&=+%&+%=&+=%-False-expected12] PASSED [ 91%]
tests/test_utils.py::TestFalconUtils::test_parse_query_string_edge_cases[%%%\x00%\x00==\x00\x00==-True-expected13] PASSED [ 91%]
tests/test_utils.py::TestFalconUtils::test_parse_query_string_edge_cases[spade=\u2660&spade=\u2660-False-expected14] PASSED [ 91%]
tests/test_utils.py::TestFalconUtils::test_parse_host PASSED             [ 91%]
tests/test_utils.py::TestFalconUtils::test_get_http_status_warns PASSED  [ 91%]
tests/test_utils.py::TestFalconUtils::test_get_http_status PASSED        [ 91%]
tests/test_utils.py::TestFalconUtils::test_code_to_http_status[703-703 Explosion] PASSED [ 91%]
tests/test_utils.py::TestFalconUtils::test_code_to_http_status[404-404 Not Found] PASSED [ 91%]
tests/test_utils.py::TestFalconUtils::test_code_to_http_status[404.9-404 Not Found] PASSED [ 91%]
tests/test_utils.py::TestFalconUtils::test_code_to_http_status[200 OK-200 OK0] PASSED [ 92%]
tests/test_utils.py::TestFalconUtils::test_code_to_http_status[307 Temporary Redirect-307 Temporary Redirect] PASSED [ 92%]
tests/test_utils.py::TestFalconUtils::test_code_to_http_status[404 Not Found-404 Not Found] PASSED [ 92%]
tests/test_utils.py::TestFalconUtils::test_code_to_http_status[123-123 Unknown] PASSED [ 92%]
tests/test_utils.py::TestFalconUtils::test_code_to_http_status[123 Wow Such Status-123 Wow Such Status0] PASSED [ 92%]
tests/test_utils.py::TestFalconUtils::test_code_to_http_status[123 Wow Such Status-123 Wow Such Status1] PASSED [ 92%]
tests/test_utils.py::TestFalconUtils::test_code_to_http_status[200 OK-200 OK1] PASSED [ 92%]
tests/test_utils.py::TestFalconUtils::test_code_to_http_status[200-200 OK] PASSED [ 92%]
tests/test_utils.py::TestFalconUtils::test_code_to_http_status[307-307 Temporary Redirect] PASSED [ 92%]
tests/test_utils.py::TestFalconUtils::test_code_to_http_status[401-401 Unauthorized] PASSED [ 92%]
tests/test_utils.py::TestFalconUtils::test_code_to_http_status[410-410 Gone] PASSED [ 92%]
tests/test_utils.py::TestFalconUtils::test_code_to_http_status[429-429 Too Many Requests] PASSED [ 92%]
tests/test_utils.py::TestFalconUtils::test_code_to_http_status[500-500 Internal Server Error] PASSED [ 92%]
tests/test_utils.py::TestFalconUtils::test_code_to_http_status_value_error[0] PASSED [ 92%]
tests/test_utils.py::TestFalconUtils::test_code_to_http_status_value_error[13] PASSED [ 92%]
tests/test_utils.py::TestFalconUtils::test_code_to_http_status_value_error[99] PASSED [ 92%]
tests/test_utils.py::TestFalconUtils::test_code_to_http_status_value_error[1000] PASSED [ 92%]
tests/test_utils.py::TestFalconUtils::test_code_to_http_status_value_error[1337.01] PASSED [ 92%]
tests/test_utils.py::TestFalconUtils::test_code_to_http_status_value_error[-99] PASSED [ 92%]
tests/test_utils.py::TestFalconUtils::test_code_to_http_status_value_error[-404.3_0] PASSED [ 92%]
tests/test_utils.py::TestFalconUtils::test_code_to_http_status_value_error[-404] PASSED [ 92%]
tests/test_utils.py::TestFalconUtils::test_code_to_http_status_value_error[-404.3_1] PASSED [ 92%]
tests/test_utils.py::TestFalconUtils::test_http_status_to_code[505-505_0] PASSED [ 92%]
tests/test_utils.py::TestFalconUtils::test_http_status_to_code[712-712_0] PASSED [ 92%]
tests/test_utils.py::TestFalconUtils::test_http_status_to_code[712-712_1] PASSED [ 92%]
tests/test_utils.py::TestFalconUtils::test_http_status_to_code[404 Not Found-404_0] PASSED [ 92%]
tests/test_utils.py::TestFalconUtils::test_http_status_to_code[712 NoSQL-712] PASSED [ 92%]
tests/test_utils.py::TestFalconUtils::test_http_status_to_code[404 Not Found-404_1] PASSED [ 92%]
tests/test_utils.py::TestFalconUtils::test_http_status_to_code[123 Wow Such Status-123_0] PASSED [ 92%]
tests/test_utils.py::TestFalconUtils::test_http_status_to_code[505-505_1] PASSED [ 92%]
tests/test_utils.py::TestFalconUtils::test_http_status_to_code[123 Wow Such Status-123_1] PASSED [ 92%]
tests/test_utils.py::TestFalconUtils::test_http_status_to_code_neg[0] PASSED [ 92%]
tests/test_utils.py::TestFalconUtils::test_http_status_to_code_neg[ ] PASSED [ 92%]
tests/test_utils.py::TestFalconUtils::test_http_status_to_code_neg[1] PASSED [ 93%]
tests/test_utils.py::TestFalconUtils::test_http_status_to_code_neg[12] PASSED [ 93%]
tests/test_utils.py::TestFalconUtils::test_http_status_to_code_neg[99] PASSED [ 93%]
tests/test_utils.py::TestFalconUtils::test_http_status_to_code_neg[catsup] PASSED [ 93%]
tests/test_utils.py::TestFalconUtils::test_http_status_to_code_neg[2] PASSED [ 93%]
tests/test_utils.py::TestFalconUtils::test_http_status_to_code_neg[5.2] PASSED [ 93%]
tests/test_utils.py::TestFalconUtils::test_etag_dumps_to_header_format PASSED [ 93%]
tests/test_utils.py::TestFalconUtils::test_etag_strong_vs_weak_comparison PASSED [ 93%]
tests/test_utils.py::TestFalconUtils::test_secure_filename[.-_] PASSED   [ 93%]
tests/test_utils.py::TestFalconUtils::test_secure_filename[..-_.] PASSED [ 93%]
tests/test_utils.py::TestFalconUtils::test_secure_filename[hello.txt-hello.txt] PASSED [ 93%]
tests/test_utils.py::TestFalconUtils::test_secure_filename[\u0104\u017euolai \u017ealiuos.jpeg-A_z_uolai_z_aliuos.jpeg] PASSED [ 93%]
tests/test_utils.py::TestFalconUtils::test_secure_filename[/etc/shadow-_etc_shadow] PASSED [ 93%]
tests/test_utils.py::TestFalconUtils::test_secure_filename[. \u2b05 a dot-____a_dot] PASSED [ 93%]
tests/test_utils.py::TestFalconUtils::test_secure_filename[C:\\Windows\\kernel32.dll-C__Windows_kernel32.dll] PASSED [ 93%]
tests/test_utils.py::TestFalconUtils::test_secure_filename_empty_value PASSED [ 93%]
tests/test_utils.py::TestFalconUtils::test_misc_isascii[isascii--True] PASSED [ 93%]
tests/test_utils.py::TestFalconUtils::test_misc_isascii[isascii-/-True] PASSED [ 93%]
tests/test_utils.py::TestFalconUtils::test_misc_isascii[isascii-/api-True] PASSED [ 93%]
tests/test_utils.py::TestFalconUtils::test_misc_isascii[isascii-/data/items/something?query=apples%20and%20oranges-True] PASSED [ 93%]
tests/test_utils.py::TestFalconUtils::test_misc_isascii[isascii-/food?item=\xf0\x9f\x8d\x94-False] PASSED [ 93%]
tests/test_utils.py::TestFalconUtils::test_misc_isascii[isascii-\x00\x00\x7f\x00\x00\x7f\x00-True] PASSED [ 93%]
tests/test_utils.py::TestFalconUtils::test_misc_isascii[isascii-\x00\x00\x7f\x00\x00\x80\x00-False] PASSED [ 93%]
tests/test_utils.py::TestFalconUtils::test_misc_isascii[_isascii--True] PASSED [ 93%]
tests/test_utils.py::TestFalconUtils::test_misc_isascii[_isascii-/-True] PASSED [ 93%]
tests/test_utils.py::TestFalconUtils::test_misc_isascii[_isascii-/api-True] PASSED [ 93%]
tests/test_utils.py::TestFalconUtils::test_misc_isascii[_isascii-/data/items/something?query=apples%20and%20oranges-True] PASSED [ 93%]
tests/test_utils.py::TestFalconUtils::test_misc_isascii[_isascii-/food?item=\xf0\x9f\x8d\x94-False] PASSED [ 93%]
tests/test_utils.py::TestFalconUtils::test_misc_isascii[_isascii-\x00\x00\x7f\x00\x00\x7f\x00-True] PASSED [ 93%]
tests/test_utils.py::TestFalconUtils::test_misc_isascii[_isascii-\x00\x00\x7f\x00\x00\x80\x00-False] PASSED [ 93%]
tests/test_utils.py::test_simulate_request_protocol[asgi-https-CONNECT] PASSED [ 93%]
tests/test_utils.py::test_simulate_request_protocol[asgi-https-DELETE] PASSED [ 93%]
tests/test_utils.py::test_simulate_request_protocol[asgi-https-GET] PASSED [ 93%]
tests/test_utils.py::test_simulate_request_protocol[asgi-https-HEAD] PASSED [ 94%]
tests/test_utils.py::test_simulate_request_protocol[asgi-https-OPTIONS] PASSED [ 94%]
tests/test_utils.py::test_simulate_request_protocol[asgi-https-PATCH] PASSED [ 94%]
tests/test_utils.py::test_simulate_request_protocol[asgi-https-POST] PASSED [ 94%]
tests/test_utils.py::test_simulate_request_protocol[asgi-https-PUT] PASSED [ 94%]
tests/test_utils.py::test_simulate_request_protocol[asgi-https-TRACE] PASSED [ 94%]
tests/test_utils.py::test_simulate_request_protocol[asgi-http-CONNECT] PASSED [ 94%]
tests/test_utils.py::test_simulate_request_protocol[asgi-http-DELETE] PASSED [ 94%]
tests/test_utils.py::test_simulate_request_protocol[asgi-http-GET] PASSED [ 94%]
tests/test_utils.py::test_simulate_request_protocol[asgi-http-HEAD] PASSED [ 94%]
tests/test_utils.py::test_simulate_request_protocol[asgi-http-OPTIONS] PASSED [ 94%]
tests/test_utils.py::test_simulate_request_protocol[asgi-http-PATCH] PASSED [ 94%]
tests/test_utils.py::test_simulate_request_protocol[asgi-http-POST] PASSED [ 94%]
tests/test_utils.py::test_simulate_request_protocol[asgi-http-PUT] PASSED [ 94%]
tests/test_utils.py::test_simulate_request_protocol[asgi-http-TRACE] PASSED [ 94%]
tests/test_utils.py::test_simulate_request_protocol[wsgi-https-CONNECT] PASSED [ 94%]
tests/test_utils.py::test_simulate_request_protocol[wsgi-https-DELETE] PASSED [ 94%]
tests/test_utils.py::test_simulate_request_protocol[wsgi-https-GET] PASSED [ 94%]
tests/test_utils.py::test_simulate_request_protocol[wsgi-https-HEAD] PASSED [ 94%]
tests/test_utils.py::test_simulate_request_protocol[wsgi-https-OPTIONS] PASSED [ 94%]
tests/test_utils.py::test_simulate_request_protocol[wsgi-https-PATCH] PASSED [ 94%]
tests/test_utils.py::test_simulate_request_protocol[wsgi-https-POST] PASSED [ 94%]
tests/test_utils.py::test_simulate_request_protocol[wsgi-https-PUT] PASSED [ 94%]
tests/test_utils.py::test_simulate_request_protocol[wsgi-https-TRACE] PASSED [ 94%]
tests/test_utils.py::test_simulate_request_protocol[wsgi-http-CONNECT] PASSED [ 94%]
tests/test_utils.py::test_simulate_request_protocol[wsgi-http-DELETE] PASSED [ 94%]
tests/test_utils.py::test_simulate_request_protocol[wsgi-http-GET] PASSED [ 94%]
tests/test_utils.py::test_simulate_request_protocol[wsgi-http-HEAD] PASSED [ 94%]
tests/test_utils.py::test_simulate_request_protocol[wsgi-http-OPTIONS] PASSED [ 94%]
tests/test_utils.py::test_simulate_request_protocol[wsgi-http-PATCH] PASSED [ 94%]
tests/test_utils.py::test_simulate_request_protocol[wsgi-http-POST] PASSED [ 94%]
tests/test_utils.py::test_simulate_request_protocol[wsgi-http-PUT] PASSED [ 94%]
tests/test_utils.py::test_simulate_request_protocol[wsgi-http-TRACE] PASSED [ 94%]
tests/test_utils.py::test_simulate_free_functions[asgi-simulate_get] PASSED [ 95%]
tests/test_utils.py::test_simulate_free_functions[asgi-simulate_head] PASSED [ 95%]
tests/test_utils.py::test_simulate_free_functions[asgi-simulate_post] PASSED [ 95%]
tests/test_utils.py::test_simulate_free_functions[asgi-simulate_put] PASSED [ 95%]
tests/test_utils.py::test_simulate_free_functions[asgi-simulate_options] PASSED [ 95%]
tests/test_utils.py::test_simulate_free_functions[asgi-simulate_patch] PASSED [ 95%]
tests/test_utils.py::test_simulate_free_functions[asgi-simulate_delete] PASSED [ 95%]
tests/test_utils.py::test_simulate_free_functions[wsgi-simulate_get] PASSED [ 95%]
tests/test_utils.py::test_simulate_free_functions[wsgi-simulate_head] PASSED [ 95%]
tests/test_utils.py::test_simulate_free_functions[wsgi-simulate_post] PASSED [ 95%]
tests/test_utils.py::test_simulate_free_functions[wsgi-simulate_put] PASSED [ 95%]
tests/test_utils.py::test_simulate_free_functions[wsgi-simulate_options] PASSED [ 95%]
tests/test_utils.py::test_simulate_free_functions[wsgi-simulate_patch] PASSED [ 95%]
tests/test_utils.py::test_simulate_free_functions[wsgi-simulate_delete] PASSED [ 95%]
tests/test_utils.py::TestFalconTestingUtils::test_path_escape_chars_in_create_environ PASSED [ 95%]
tests/test_utils.py::TestFalconTestingUtils::test_no_prefix_allowed_for_query_strings_in_create_environ PASSED [ 95%]
tests/test_utils.py::TestFalconTestingUtils::test_plus_in_path_in_create_environ PASSED [ 95%]
tests/test_utils.py::TestFalconTestingUtils::test_none_header_value_in_create_environ PASSED [ 95%]
tests/test_utils.py::TestFalconTestingUtils::test_decode_empty_result[asgi] PASSED [ 95%]
tests/test_utils.py::TestFalconTestingUtils::test_decode_empty_result[wsgi] PASSED [ 95%]
tests/test_utils.py::TestFalconTestingUtils::test_httpnow_alias_for_backwards_compat PASSED [ 95%]
tests/test_utils.py::TestFalconTestingUtils::test_default_headers[asgi] PASSED [ 95%]
tests/test_utils.py::TestFalconTestingUtils::test_default_headers[wsgi] PASSED [ 95%]
tests/test_utils.py::TestFalconTestingUtils::test_default_headers_with_override[asgi] PASSED [ 95%]
tests/test_utils.py::TestFalconTestingUtils::test_default_headers_with_override[wsgi] PASSED [ 95%]
tests/test_utils.py::TestFalconTestingUtils::test_status[asgi] PASSED    [ 95%]
tests/test_utils.py::TestFalconTestingUtils::test_status[wsgi] PASSED    [ 95%]
tests/test_utils.py::TestFalconTestingUtils::test_wsgi_iterable_not_closeable PASSED [ 95%]
tests/test_utils.py::TestFalconTestingUtils::test_path_must_start_with_slash[asgi] PASSED [ 95%]
tests/test_utils.py::TestFalconTestingUtils::test_path_must_start_with_slash[wsgi] PASSED [ 95%]
tests/test_utils.py::TestFalconTestingUtils::test_cached_text_in_result[asgi] PASSED [ 95%]
tests/test_utils.py::TestFalconTestingUtils::test_cached_text_in_result[wsgi] PASSED [ 95%]
tests/test_utils.py::TestFalconTestingUtils::test_simple_resource_body_json_xor[SimpleTestResource] PASSED [ 95%]
tests/test_utils.py::TestFalconTestingUtils::test_simple_resource_body_json_xor[SimpleTestResourceAsync] PASSED [ 96%]
tests/test_utils.py::TestFalconTestingUtils::test_query_string[asgi] PASSED [ 96%]
tests/test_utils.py::TestFalconTestingUtils::test_query_string[wsgi] PASSED [ 96%]
tests/test_utils.py::TestFalconTestingUtils::test_query_string_no_question[asgi] PASSED [ 96%]
tests/test_utils.py::TestFalconTestingUtils::test_query_string_no_question[wsgi] PASSED [ 96%]
tests/test_utils.py::TestFalconTestingUtils::test_query_string_in_path[asgi] PASSED [ 96%]
tests/test_utils.py::TestFalconTestingUtils::test_query_string_in_path[wsgi] PASSED [ 96%]
tests/test_utils.py::TestFalconTestingUtils::test_simulate_json_body[asgi-16.0625] PASSED [ 96%]
tests/test_utils.py::TestFalconTestingUtils::test_simulate_json_body[asgi-123456789] PASSED [ 96%]
tests/test_utils.py::TestFalconTestingUtils::test_simulate_json_body[asgi-True] PASSED [ 96%]
tests/test_utils.py::TestFalconTestingUtils::test_simulate_json_body[asgi-] PASSED [ 96%]
tests/test_utils.py::TestFalconTestingUtils::test_simulate_json_body[asgi-I am a \u1d0a\ua731\u1d0f\u0274 string.] PASSED [ 96%]
tests/test_utils.py::TestFalconTestingUtils::test_simulate_json_body[asgi-document5] PASSED [ 96%]
tests/test_utils.py::TestFalconTestingUtils::test_simulate_json_body[asgi-document6] PASSED [ 96%]
tests/test_utils.py::TestFalconTestingUtils::test_simulate_json_body[asgi-document7] PASSED [ 96%]
tests/test_utils.py::TestFalconTestingUtils::test_simulate_json_body[wsgi-16.0625] PASSED [ 96%]
tests/test_utils.py::TestFalconTestingUtils::test_simulate_json_body[wsgi-123456789] PASSED [ 96%]
tests/test_utils.py::TestFalconTestingUtils::test_simulate_json_body[wsgi-True] PASSED [ 96%]
tests/test_utils.py::TestFalconTestingUtils::test_simulate_json_body[wsgi-] PASSED [ 96%]
tests/test_utils.py::TestFalconTestingUtils::test_simulate_json_body[wsgi-I am a \u1d0a\ua731\u1d0f\u0274 string.] PASSED [ 96%]
tests/test_utils.py::TestFalconTestingUtils::test_simulate_json_body[wsgi-document5] PASSED [ 96%]
tests/test_utils.py::TestFalconTestingUtils::test_simulate_json_body[wsgi-document6] PASSED [ 96%]
tests/test_utils.py::TestFalconTestingUtils::test_simulate_json_body[wsgi-document7] PASSED [ 96%]
tests/test_utils.py::TestFalconTestingUtils::test_simulate_remote_addr[asgi-None] PASSED [ 96%]
tests/test_utils.py::TestFalconTestingUtils::test_simulate_remote_addr[asgi-127.0.0.1] PASSED [ 96%]
tests/test_utils.py::TestFalconTestingUtils::test_simulate_remote_addr[asgi-8.8.8.8] PASSED [ 96%]
tests/test_utils.py::TestFalconTestingUtils::test_simulate_remote_addr[asgi-104.24.101.85] PASSED [ 96%]
tests/test_utils.py::TestFalconTestingUtils::test_simulate_remote_addr[asgi-2606:4700:30::6818:6455] PASSED [ 96%]
tests/test_utils.py::TestFalconTestingUtils::test_simulate_remote_addr[wsgi-None] PASSED [ 96%]
tests/test_utils.py::TestFalconTestingUtils::test_simulate_remote_addr[wsgi-127.0.0.1] PASSED [ 96%]
tests/test_utils.py::TestFalconTestingUtils::test_simulate_remote_addr[wsgi-8.8.8.8] PASSED [ 96%]
tests/test_utils.py::TestFalconTestingUtils::test_simulate_remote_addr[wsgi-104.24.101.85] PASSED [ 96%]
tests/test_utils.py::TestFalconTestingUtils::test_simulate_remote_addr[wsgi-2606:4700:30::6818:6455] PASSED [ 96%]
tests/test_utils.py::TestFalconTestingUtils::test_simulate_hostname[asgi] PASSED [ 97%]
tests/test_utils.py::TestFalconTestingUtils::test_simulate_hostname[wsgi] PASSED [ 97%]
tests/test_utils.py::TestFalconTestingUtils::test_simulate_with_environ_extras[extras0-expected_headers0] PASSED [ 97%]
tests/test_utils.py::TestFalconTestingUtils::test_simulate_with_environ_extras[extras1-expected_headers1] PASSED [ 97%]
tests/test_utils.py::TestFalconTestingUtils::test_override_method_with_extras[asgi] PASSED [ 97%]
tests/test_utils.py::TestFalconTestingUtils::test_override_method_with_extras[wsgi] PASSED [ 97%]
tests/test_utils.py::TestFalconTestingUtils::test_simulate_content_type[application/json] PASSED [ 97%]
tests/test_utils.py::TestFalconTestingUtils::test_simulate_content_type[application/json; charset=UTF-8] PASSED [ 97%]
tests/test_utils.py::TestFalconTestingUtils::test_simulate_content_type[application/yaml] PASSED [ 97%]
tests/test_utils.py::TestFalconTestingUtils::test_simulate_content_type_extra_handler[asgi-application/json] PASSED [ 97%]
tests/test_utils.py::TestFalconTestingUtils::test_simulate_content_type_extra_handler[asgi-application/json; charset=UTF-8] PASSED [ 97%]
tests/test_utils.py::TestFalconTestingUtils::test_simulate_content_type_extra_handler[asgi-application/yaml] PASSED [ 97%]
tests/test_utils.py::TestFalconTestingUtils::test_simulate_content_type_extra_handler[asgi-application/msgpack] PASSED [ 97%]
tests/test_utils.py::TestFalconTestingUtils::test_simulate_content_type_extra_handler[asgi-application/x-www-form-urlencoded] PASSED [ 97%]
tests/test_utils.py::TestFalconTestingUtils::test_simulate_content_type_extra_handler[wsgi-application/json] PASSED [ 97%]
tests/test_utils.py::TestFalconTestingUtils::test_simulate_content_type_extra_handler[wsgi-application/json; charset=UTF-8] PASSED [ 97%]
tests/test_utils.py::TestFalconTestingUtils::test_simulate_content_type_extra_handler[wsgi-application/yaml] PASSED [ 97%]
tests/test_utils.py::TestFalconTestingUtils::test_simulate_content_type_extra_handler[wsgi-application/msgpack] PASSED [ 97%]
tests/test_utils.py::TestFalconTestingUtils::test_simulate_content_type_extra_handler[wsgi-application/x-www-form-urlencoded] PASSED [ 97%]
tests/test_utils.py::TestNoApiClass::test_something PASSED               [ 97%]
tests/test_utils.py::TestSetupApi::test_something PASSED                 [ 97%]
tests/test_utils.py::test_get_argnames PASSED                            [ 97%]
tests/test_utils.py::TestContextType::test_attributes[CustomContextType] PASSED [ 97%]
tests/test_utils.py::TestContextType::test_attributes[Context] PASSED    [ 97%]
tests/test_utils.py::TestContextType::test_items_from_attributes[CustomContextType] PASSED [ 97%]
tests/test_utils.py::TestContextType::test_items_from_attributes[Context] PASSED [ 97%]
tests/test_utils.py::TestContextType::test_attributes_from_items[CustomContextType] PASSED [ 97%]
tests/test_utils.py::TestContextType::test_attributes_from_items[Context] PASSED [ 97%]
tests/test_utils.py::TestContextType::test_dict_interface[CustomContextType-CustomContextType] PASSED [ 97%]
tests/test_utils.py::TestContextType::test_dict_interface[Context-Context] PASSED [ 97%]
tests/test_utils.py::TestContextType::test_keys_and_values[CustomContextType] PASSED [ 97%]
tests/test_utils.py::TestContextType::test_keys_and_values[Context] PASSED [ 97%]
tests/test_utils.py::TestDeprecatedArgs::test_method PASSED              [ 97%]
tests/test_utils.py::TestDeprecatedArgs::test_function PASSED            [ 98%]
tests/test_utils.py::test_json_deprecation PASSED                        [ 98%]
tests/test_validators.py::test_req_schema_validation_success[asgi] PASSED [ 98%]
tests/test_validators.py::test_req_schema_validation_success[wsgi] PASSED [ 98%]
tests/test_validators.py::test_req_schema_validation_failure[asgi-HTTPBadRequest] PASSED [ 98%]
tests/test_validators.py::test_req_schema_validation_failure[asgi-MediaValidationError] PASSED [ 98%]
tests/test_validators.py::test_req_schema_validation_failure[wsgi-HTTPBadRequest] PASSED [ 98%]
tests/test_validators.py::test_req_schema_validation_failure[wsgi-MediaValidationError] PASSED [ 98%]
tests/test_validators.py::test_resp_schema_validation_success[asgi] PASSED [ 98%]
tests/test_validators.py::test_resp_schema_validation_success[wsgi] PASSED [ 98%]
tests/test_validators.py::test_resp_schema_validation_failure[asgi] PASSED [ 98%]
tests/test_validators.py::test_resp_schema_validation_failure[wsgi] PASSED [ 98%]
tests/test_validators.py::test_both_schemas_validation_success[asgi] PASSED [ 98%]
tests/test_validators.py::test_both_schemas_validation_success[wsgi] PASSED [ 98%]
tests/test_validators.py::test_both_schemas_validation_failure[asgi] PASSED [ 98%]
tests/test_validators.py::test_both_schemas_validation_failure[wsgi] PASSED [ 98%]
tests/test_wsgi.py::TestWSGIServer::test_get PASSED                      [ 98%]
tests/test_wsgi.py::TestWSGIServer::test_put PASSED                      [ 98%]
tests/test_wsgi.py::TestWSGIServer::test_head_405 PASSED                 [ 98%]
tests/test_wsgi.py::TestWSGIServer::test_post PASSED                     [ 98%]
tests/test_wsgi.py::TestWSGIServer::test_post_invalid_content_length PASSED [ 98%]
tests/test_wsgi.py::TestWSGIServer::test_post_read_bounded_stream PASSED [ 98%]
tests/test_wsgi.py::TestWSGIServer::test_post_read_bounded_stream_no_body PASSED [ 98%]
tests/test_wsgi_errors.py::TestWSGIError::test_responder_logged_bytestring PASSED [ 98%]
tests/test_wsgi_interface.py::TestWSGIInterface::test_srmock PASSED      [ 98%]
tests/test_wsgi_interface.py::TestWSGIInterface::test_pep3333 PASSED     [ 98%]
tests/test_wsgi_servers.py::TestWSGIServer::test_get[gunicorn] SKIPPED   [ 98%]
tests/test_wsgi_servers.py::TestWSGIServer::test_get[meinheld] SKIPPED   [ 98%]
tests/test_wsgi_servers.py::TestWSGIServer::test_get[uvicorn] PASSED     [ 98%]
tests/test_wsgi_servers.py::TestWSGIServer::test_get[uwsgi] SKIPPED      [ 98%]
tests/test_wsgi_servers.py::TestWSGIServer::test_get[waitress] SKIPPED   [ 98%]
tests/test_wsgi_servers.py::TestWSGIServer::test_get_deprecated[gunicorn] SKIPPED [ 98%]
tests/test_wsgi_servers.py::TestWSGIServer::test_get_deprecated[meinheld] SKIPPED [ 98%]
tests/test_wsgi_servers.py::TestWSGIServer::test_get_deprecated[uvicorn] PASSED [ 99%]
tests/test_wsgi_servers.py::TestWSGIServer::test_get_deprecated[uwsgi] SKIPPED [ 99%]
tests/test_wsgi_servers.py::TestWSGIServer::test_get_deprecated[waitress] SKIPPED [ 99%]
tests/test_wsgi_servers.py::TestWSGIServer::test_post_multipart_form[gunicorn] SKIPPED [ 99%]
tests/test_wsgi_servers.py::TestWSGIServer::test_post_multipart_form[meinheld] SKIPPED [ 99%]
tests/test_wsgi_servers.py::TestWSGIServer::test_post_multipart_form[uvicorn] PASSED [ 99%]
tests/test_wsgi_servers.py::TestWSGIServer::test_post_multipart_form[uwsgi] SKIPPED [ 99%]
tests/test_wsgi_servers.py::TestWSGIServer::test_post_multipart_form[waitress] SKIPPED [ 99%]
tests/test_wsgi_servers.py::TestWSGIServer::test_static_file[gunicorn] SKIPPED [ 99%]
tests/test_wsgi_servers.py::TestWSGIServer::test_static_file[meinheld] SKIPPED [ 99%]
tests/test_wsgi_servers.py::TestWSGIServer::test_static_file[uvicorn] PASSED [ 99%]
tests/test_wsgi_servers.py::TestWSGIServer::test_static_file[uwsgi] SKIPPED [ 99%]
tests/test_wsgi_servers.py::TestWSGIServer::test_static_file[waitress] SKIPPED [ 99%]
tests/test_wsgi_servers.py::TestWSGIServer::test_static_file_byte_range[gunicorn-7--hashlib] SKIPPED [ 99%]
tests/test_wsgi_servers.py::TestWSGIServer::test_static_file_byte_range[gunicorn-2-6-port] SKIPPED [ 99%]
tests/test_wsgi_servers.py::TestWSGIServer::test_static_file_byte_range[gunicorn-32-38-random] SKIPPED [ 99%]
tests/test_wsgi_servers.py::TestWSGIServer::test_static_file_byte_range[gunicorn--47-The content of this comment is part of a test.\n] SKIPPED [ 99%]
tests/test_wsgi_servers.py::TestWSGIServer::test_static_file_byte_range[meinheld-7--hashlib] SKIPPED [ 99%]
tests/test_wsgi_servers.py::TestWSGIServer::test_static_file_byte_range[meinheld-2-6-port] SKIPPED [ 99%]
tests/test_wsgi_servers.py::TestWSGIServer::test_static_file_byte_range[meinheld-32-38-random] SKIPPED [ 99%]
tests/test_wsgi_servers.py::TestWSGIServer::test_static_file_byte_range[meinheld--47-The content of this comment is part of a test.\n] SKIPPED [ 99%]
tests/test_wsgi_servers.py::TestWSGIServer::test_static_file_byte_range[uvicorn-7--hashlib] PASSED [ 99%]
tests/test_wsgi_servers.py::TestWSGIServer::test_static_file_byte_range[uvicorn-2-6-port] PASSED [ 99%]
tests/test_wsgi_servers.py::TestWSGIServer::test_static_file_byte_range[uvicorn-32-38-random] PASSED [ 99%]
tests/test_wsgi_servers.py::TestWSGIServer::test_static_file_byte_range[uvicorn--47-The content of this comment is part of a test.\n] PASSED [ 99%]
tests/test_wsgi_servers.py::TestWSGIServer::test_static_file_byte_range[uwsgi-7--hashlib] SKIPPED [ 99%]
tests/test_wsgi_servers.py::TestWSGIServer::test_static_file_byte_range[uwsgi-2-6-port] SKIPPED [ 99%]
tests/test_wsgi_servers.py::TestWSGIServer::test_static_file_byte_range[uwsgi-32-38-random] SKIPPED [ 99%]
tests/test_wsgi_servers.py::TestWSGIServer::test_static_file_byte_range[uwsgi--47-The content of this comment is part of a test.\n] SKIPPED [ 99%]
tests/test_wsgi_servers.py::TestWSGIServer::test_static_file_byte_range[waitress-7--hashlib] SKIPPED [ 99%]
tests/test_wsgi_servers.py::TestWSGIServer::test_static_file_byte_range[waitress-2-6-port] SKIPPED [ 99%]
tests/test_wsgi_servers.py::TestWSGIServer::test_static_file_byte_range[waitress-32-38-random] SKIPPED [ 99%]
tests/test_wsgi_servers.py::TestWSGIServer::test_static_file_byte_range[waitress--47-The content of this comment is part of a test.\n] SKIPPED [ 99%]
tests/test_wsgiref_inputwrapper_with_size.py::TestWsgiRefInputWrapper::test_resources_can_read_request_stream_during_tests PASSED [100%]

=============================== warnings summary ===============================
tests/asgi/test_asgi_conductor.py:8
  /build/reproducible-path/python-falcon-3.1.1/tests/asgi/test_asgi_conductor.py:8: PytestUnknownMarkWarning: Unknown pytest.mark.asyncio - is this a typo?  You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
    @pytest.mark.asyncio

tests/asgi/test_asgi_conductor.py:24
  /build/reproducible-path/python-falcon-3.1.1/tests/asgi/test_asgi_conductor.py:24: PytestUnknownMarkWarning: Unknown pytest.mark.asyncio - is this a typo?  You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
    @pytest.mark.asyncio

tests/asgi/test_asgi_conductor.py:40
  /build/reproducible-path/python-falcon-3.1.1/tests/asgi/test_asgi_conductor.py:40: PytestUnknownMarkWarning: Unknown pytest.mark.asyncio - is this a typo?  You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
    @pytest.mark.asyncio

tests/asgi/test_asgi_conductor.py:55
  /build/reproducible-path/python-falcon-3.1.1/tests/asgi/test_asgi_conductor.py:55: PytestUnknownMarkWarning: Unknown pytest.mark.asyncio - is this a typo?  You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
    @pytest.mark.asyncio

falcon/util/sync.py:229
  /build/reproducible-path/python-falcon-3.1.1/falcon/util/sync.py:229: DeprecationWarning: There is no current event loop
    loop = asyncio.get_event_loop_policy().get_event_loop()

tests/asgi/test_request_body_asgi.py:67
  /build/reproducible-path/python-falcon-3.1.1/tests/asgi/test_request_body_asgi.py:67: PytestUnknownMarkWarning: Unknown pytest.mark.asyncio - is this a typo?  You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
    @pytest.mark.asyncio

tests/asgi/test_testing_asgi.py:10
  /build/reproducible-path/python-falcon-3.1.1/tests/asgi/test_testing_asgi.py:10: PytestUnknownMarkWarning: Unknown pytest.mark.asyncio - is this a typo?  You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
    @pytest.mark.asyncio

tests/asgi/test_testing_asgi.py:37
  /build/reproducible-path/python-falcon-3.1.1/tests/asgi/test_testing_asgi.py:37: PytestUnknownMarkWarning: Unknown pytest.mark.asyncio - is this a typo?  You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
    @pytest.mark.asyncio

tests/asgi/test_testing_asgi.py:50
  /build/reproducible-path/python-falcon-3.1.1/tests/asgi/test_testing_asgi.py:50: PytestUnknownMarkWarning: Unknown pytest.mark.asyncio - is this a typo?  You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
    @pytest.mark.asyncio

tests/asgi/test_ws.py:53
  /build/reproducible-path/python-falcon-3.1.1/tests/asgi/test_ws.py:53: PytestUnknownMarkWarning: Unknown pytest.mark.asyncio - is this a typo?  You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
    @pytest.mark.asyncio

tests/asgi/test_ws.py:111
  /build/reproducible-path/python-falcon-3.1.1/tests/asgi/test_ws.py:111: PytestUnknownMarkWarning: Unknown pytest.mark.asyncio - is this a typo?  You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
    @pytest.mark.asyncio

tests/asgi/test_ws.py:229
  /build/reproducible-path/python-falcon-3.1.1/tests/asgi/test_ws.py:229: PytestUnknownMarkWarning: Unknown pytest.mark.asyncio - is this a typo?  You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
    @pytest.mark.asyncio

tests/asgi/test_ws.py:239
  /build/reproducible-path/python-falcon-3.1.1/tests/asgi/test_ws.py:239: PytestUnknownMarkWarning: Unknown pytest.mark.asyncio - is this a typo?  You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
    @pytest.mark.asyncio

tests/asgi/test_ws.py:299
  /build/reproducible-path/python-falcon-3.1.1/tests/asgi/test_ws.py:299: PytestUnknownMarkWarning: Unknown pytest.mark.asyncio - is this a typo?  You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
    @pytest.mark.asyncio

tests/asgi/test_ws.py:401
  /build/reproducible-path/python-falcon-3.1.1/tests/asgi/test_ws.py:401: PytestUnknownMarkWarning: Unknown pytest.mark.asyncio - is this a typo?  You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
    @pytest.mark.asyncio

tests/asgi/test_ws.py:513
  /build/reproducible-path/python-falcon-3.1.1/tests/asgi/test_ws.py:513: PytestUnknownMarkWarning: Unknown pytest.mark.asyncio - is this a typo?  You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
    @pytest.mark.asyncio

tests/asgi/test_ws.py:555
  /build/reproducible-path/python-falcon-3.1.1/tests/asgi/test_ws.py:555: PytestUnknownMarkWarning: Unknown pytest.mark.asyncio - is this a typo?  You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
    @pytest.mark.asyncio

tests/asgi/test_ws.py:593
  /build/reproducible-path/python-falcon-3.1.1/tests/asgi/test_ws.py:593: PytestUnknownMarkWarning: Unknown pytest.mark.asyncio - is this a typo?  You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
    @pytest.mark.asyncio

tests/asgi/test_ws.py:642
  /build/reproducible-path/python-falcon-3.1.1/tests/asgi/test_ws.py:642: PytestUnknownMarkWarning: Unknown pytest.mark.asyncio - is this a typo?  You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
    @pytest.mark.asyncio

tests/asgi/test_ws.py:676
  /build/reproducible-path/python-falcon-3.1.1/tests/asgi/test_ws.py:676: PytestUnknownMarkWarning: Unknown pytest.mark.asyncio - is this a typo?  You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
    @pytest.mark.asyncio

tests/asgi/test_ws.py:702
  /build/reproducible-path/python-falcon-3.1.1/tests/asgi/test_ws.py:702: PytestUnknownMarkWarning: Unknown pytest.mark.asyncio - is this a typo?  You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
    @pytest.mark.asyncio

tests/asgi/test_ws.py:716
  /build/reproducible-path/python-falcon-3.1.1/tests/asgi/test_ws.py:716: PytestUnknownMarkWarning: Unknown pytest.mark.asyncio - is this a typo?  You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
    @pytest.mark.asyncio

tests/asgi/test_ws.py:730
  /build/reproducible-path/python-falcon-3.1.1/tests/asgi/test_ws.py:730: PytestUnknownMarkWarning: Unknown pytest.mark.asyncio - is this a typo?  You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
    @pytest.mark.asyncio

tests/asgi/test_ws.py:763
  /build/reproducible-path/python-falcon-3.1.1/tests/asgi/test_ws.py:763: PytestUnknownMarkWarning: Unknown pytest.mark.asyncio - is this a typo?  You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
    @pytest.mark.asyncio

tests/asgi/test_ws.py:818
  /build/reproducible-path/python-falcon-3.1.1/tests/asgi/test_ws.py:818: PytestUnknownMarkWarning: Unknown pytest.mark.asyncio - is this a typo?  You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
    @pytest.mark.asyncio

tests/asgi/test_ws.py:871
  /build/reproducible-path/python-falcon-3.1.1/tests/asgi/test_ws.py:871: PytestUnknownMarkWarning: Unknown pytest.mark.asyncio - is this a typo?  You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
    @pytest.mark.asyncio

tests/asgi/test_ws.py:880
  /build/reproducible-path/python-falcon-3.1.1/tests/asgi/test_ws.py:880: PytestUnknownMarkWarning: Unknown pytest.mark.asyncio - is this a typo?  You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
    @pytest.mark.asyncio

tests/asgi/test_ws.py:889
  /build/reproducible-path/python-falcon-3.1.1/tests/asgi/test_ws.py:889: PytestUnknownMarkWarning: Unknown pytest.mark.asyncio - is this a typo?  You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
    @pytest.mark.asyncio

tests/asgi/test_ws.py:916
  /build/reproducible-path/python-falcon-3.1.1/tests/asgi/test_ws.py:916: PytestUnknownMarkWarning: Unknown pytest.mark.asyncio - is this a typo?  You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
    @pytest.mark.asyncio

tests/asgi/test_ws.py:930
  /build/reproducible-path/python-falcon-3.1.1/tests/asgi/test_ws.py:930: PytestUnknownMarkWarning: Unknown pytest.mark.asyncio - is this a typo?  You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
    @pytest.mark.asyncio

tests/asgi/test_ws.py:944
  /build/reproducible-path/python-falcon-3.1.1/tests/asgi/test_ws.py:944: PytestUnknownMarkWarning: Unknown pytest.mark.asyncio - is this a typo?  You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
    @pytest.mark.asyncio

tests/asgi/test_ws.py:1013
  /build/reproducible-path/python-falcon-3.1.1/tests/asgi/test_ws.py:1013: PytestUnknownMarkWarning: Unknown pytest.mark.asyncio - is this a typo?  You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
    @pytest.mark.asyncio

tests/asgi/test_ws.py:1027
  /build/reproducible-path/python-falcon-3.1.1/tests/asgi/test_ws.py:1027: PytestUnknownMarkWarning: Unknown pytest.mark.asyncio - is this a typo?  You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
    @pytest.mark.asyncio

tests/asgi/test_ws.py:1046
  /build/reproducible-path/python-falcon-3.1.1/tests/asgi/test_ws.py:1046: PytestUnknownMarkWarning: Unknown pytest.mark.asyncio - is this a typo?  You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
    @pytest.mark.asyncio

tests/asgi/test_asgi_conductor.py: 18 warnings
tests/asgi/test_request_body_asgi.py: 6 warnings
tests/asgi/test_testing_asgi.py: 3 warnings
tests/asgi/test_ws.py: 72 warnings
  /usr/lib/python3/dist-packages/_pytest/python.py:148: PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped.
  You need to install a suitable plugin for your async framework, for example:
    - anyio
    - pytest-asyncio
    - pytest-tornasync
    - pytest-trio
    - pytest-twisted
    warnings.warn(PytestUnhandledCoroutineWarning(msg.format(nodeid)))

tests/test_cookies.py::test_response_complex_case[asgi]
tests/test_cookies.py::test_response_complex_case[wsgi]
  /build/reproducible-path/python-falcon-3.1.1/tests/test_cookies.py:157: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).
    assert cookie.expires < datetime.utcnow()

tests/test_cookies.py::test_unset_cookies[asgi]
tests/test_cookies.py::test_unset_cookies[asgi]
tests/test_cookies.py::test_unset_cookies[asgi]
tests/test_cookies.py::test_unset_cookies[asgi]
tests/test_cookies.py::test_unset_cookies[wsgi]
tests/test_cookies.py::test_unset_cookies[wsgi]
tests/test_cookies.py::test_unset_cookies[wsgi]
tests/test_cookies.py::test_unset_cookies[wsgi]
  /build/reproducible-path/python-falcon-3.1.1/tests/test_cookies.py:180: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).
    assert cookie.expires < datetime.utcnow()

tests/test_cookies.py::test_response_unset_cookie[asgi]
tests/test_cookies.py::test_response_unset_cookie[wsgi]
  /build/reproducible-path/python-falcon-3.1.1/tests/test_cookies.py:265: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).
    assert expiration < datetime.utcnow()

tests/test_headers.py::TestHeaders::test_response_set_and_get_header[asgi]
tests/test_headers.py::TestHeaders::test_response_set_and_get_header[wsgi]
tests/test_headers.py::TestHeaders::test_request_multiple_header[asgi]
tests/test_headers.py::TestHeaders::test_request_multiple_header[wsgi]
  /build/reproducible-path/python-falcon-3.1.1/tests/test_headers.py:34: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).
    self.last_modified = datetime.utcnow()

tests/test_middleware.py: 26 warnings
  /build/reproducible-path/python-falcon-3.1.1/tests/test_middleware.py:39: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).
    context['start_time'] = datetime.utcnow()

tests/test_middleware.py: 24 warnings
  /build/reproducible-path/python-falcon-3.1.1/tests/test_middleware.py:47: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).
    context['end_time'] = datetime.utcnow()

tests/test_middleware.py: 16 warnings
  /build/reproducible-path/python-falcon-3.1.1/tests/test_middleware.py:43: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).
    context['mid_time'] = datetime.utcnow()

tests/test_utils.py::TestFalconUtils::test_http_now
  /build/reproducible-path/python-falcon-3.1.1/tests/test_utils.py:112: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).
    expected = datetime.utcnow()

tests/test_utils.py::TestFalconUtils::test_http_now
  /build/reproducible-path/python-falcon-3.1.1/falcon/util/misc.py:138: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).
    return dt_to_http(utcnow())

tests/test_wsgi.py::TestWSGIServer::test_get
  /usr/lib/python3.12/multiprocessing/popen_fork.py:66: DeprecationWarning: This process (pid=26118) is multi-threaded, use of fork() may lead to deadlocks in the child.
    self.pid = os.fork()

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
========== 3090 passed, 219 skipped, 218 warnings in 63.79s (0:01:03) ==========
rm -rf /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python*/dist-packages/tests
rm -rf /build/reproducible-path/python-falcon-3.1.1/debian/tmp/usr/lib/python3/dist-packages/examples
make[1]: Leaving directory '/build/reproducible-path/python-falcon-3.1.1'
   dh_install -O--buildsystem=pybuild
   dh_installdocs -O--buildsystem=pybuild
   debian/rules override_dh_installchangelogs
make[1]: Entering directory '/build/reproducible-path/python-falcon-3.1.1'
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'
dh_installchangelogs -Xdoc/changes
make[1]: Leaving directory '/build/reproducible-path/python-falcon-3.1.1'
   debian/rules override_dh_python3
make[1]: Entering directory '/build/reproducible-path/python-falcon-3.1.1'
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'
dh_python3 --shebang=/usr/bin/python3
I: dh_python3 tools:113: replacing shebang in debian/python3-falcon/usr/bin/falcon-print-routes
I: dh_python3 tools:113: replacing shebang in debian/python3-falcon/usr/bin/falcon-bench
I: dh_python3 tools:113: replacing shebang in debian/python3-falcon/usr/bin/falcon-inspect-app
make[1]: Leaving directory '/build/reproducible-path/python-falcon-3.1.1'
   debian/rules override_dh_installinit
make[1]: Entering directory '/build/reproducible-path/python-falcon-3.1.1'
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_installinit --error-handler=true
make[1]: Leaving directory '/build/reproducible-path/python-falcon-3.1.1'
   debian/rules override_dh_installsystemd
make[1]: Entering directory '/build/reproducible-path/python-falcon-3.1.1'
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-3.1.1'
   dh_perl -O--buildsystem=pybuild
   dh_link -O--buildsystem=pybuild
   dh_strip_nondeterminism -O--buildsystem=pybuild
   dh_compress -O--buildsystem=pybuild
   dh_fixperms -O--buildsystem=pybuild
   dh_missing -O--buildsystem=pybuild
   dh_strip -O--buildsystem=pybuild
   dh_makeshlibs -O--buildsystem=pybuild
   dh_shlibdeps -O--buildsystem=pybuild
dpkg-shlibdeps: warning: diversions involved - output may be incorrect
 diversion by libc6 from: /lib/ld-linux-armhf.so.3
dpkg-shlibdeps: warning: diversions involved - output may be incorrect
 diversion by libc6 to: /lib/ld-linux-armhf.so.3.usr-is-merged
   dh_installdeb -O--buildsystem=pybuild
   debian/rules override_dh_gencontrol
make[1]: Entering directory '/build/reproducible-path/python-falcon-3.1.1'
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-3.1.1/debian/ubuntu_control_vars ; \
else \
	dh_gencontrol -- -T/build/reproducible-path/python-falcon-3.1.1/debian/debian_control_vars ; \
fi
make[1]: Leaving directory '/build/reproducible-path/python-falcon-3.1.1'
   dh_md5sums -O--buildsystem=pybuild
   dh_builddeb -O--buildsystem=pybuild
dpkg-deb: building package 'python3-falcon' in '../python3-falcon_3.1.1-5_armhf.deb'.
dpkg-deb: building package 'python3-falcon-dbgsym' in '../python3-falcon-dbgsym_3.1.1-5_armhf.deb'.
 dpkg-genbuildinfo --build=binary -O../python-falcon_3.1.1-5_armhf.buildinfo
 dpkg-genchanges --build=binary -O../python-falcon_3.1.1-5_armhf.changes
dpkg-genchanges: info: binary-only upload (no source code included)
 dpkg-source --after-build .
dpkg-source: info: using options from python-falcon-3.1.1/debian/source/options: --extend-diff-ignore=^[.]gitreview$
dpkg-buildpackage: info: binary-only upload (no source included)
dpkg-genchanges: info: not including original source code in upload
I: copying local configuration
I: user script /srv/workspace/pbuilder/7301/tmp/hooks/B01_cleanup starting
I: user script /srv/workspace/pbuilder/7301/tmp/hooks/B01_cleanup finished
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/7301 and its subdirectories
I: Current time: Fri Dec 20 21:59:02 +14 2024
I: pbuilder-time-stamp: 1734681542