>>> py3-falcon: Building testing/py3-falcon 4.0.2-r0 (using abuild 3.14.1-r3) started Thu, 05 Dec 2024 06:38:05 +0000 >>> py3-falcon: Validating /home/buildozer/aports/testing/py3-falcon/APKBUILD... >>> py3-falcon: Analyzing dependencies... >>> py3-falcon: Installing for build: build-base py3-gpep517 py3-setuptools py3-wheel python3-dev cython py3-coverage py3-pytest py3-pyaml py3-requests py3-pytest-asyncio py3-aiofiles py3-httpx uvicorn py3-websockets py3-cbor2 py3-msgpack py3-mujson py3-ujson py3-rapidjson py3-orjson py3-gunicorn py3-daphne py3-waitress (1/173) Installing libbz2 (1.0.8-r6) (2/173) Installing libffi (3.4.6-r0) (3/173) Installing gdbm (1.24-r0) (4/173) Installing xz-libs (5.6.3-r0) (5/173) Installing mpdecimal (4.0.0-r0) (6/173) Installing libpanelw (6.5_p20241006-r3) (7/173) Installing sqlite-libs (3.47.1-r0) (8/173) Installing python3 (3.12.7-r1) (9/173) Installing python3-pycache-pyc0 (3.12.7-r1) (10/173) Installing pyc (3.12.7-r1) (11/173) Installing py3-installer-pyc (0.7.0-r2) (12/173) Installing py3-gpep517-pyc (16-r0) (13/173) Installing python3-pyc (3.12.7-r1) (14/173) Installing py3-installer (0.7.0-r2) (15/173) Installing py3-gpep517 (16-r0) (16/173) Installing py3-parsing (3.1.4-r0) (17/173) Installing py3-parsing-pyc (3.1.4-r0) (18/173) Installing py3-packaging (24.2-r0) (19/173) Installing py3-packaging-pyc (24.2-r0) (20/173) Installing py3-setuptools (70.3.0-r0) (21/173) Installing py3-setuptools-pyc (70.3.0-r0) (22/173) Installing py3-wheel (0.43.0-r0) (23/173) Installing py3-wheel-pyc (0.43.0-r0) (24/173) Installing python3-dev (3.12.7-r1) (25/173) Installing cython (3.0.10-r0) (26/173) Installing cython-pyc (3.0.10-r0) (27/173) Installing py3-coverage (7.5.1-r0) (28/173) Installing py3-coverage-pyc (7.5.1-r0) (29/173) Installing py3-iniconfig (2.0.0-r1) (30/173) Installing py3-iniconfig-pyc (2.0.0-r1) (31/173) Installing py3-pluggy (1.5.0-r0) (32/173) Installing py3-pluggy-pyc (1.5.0-r0) (33/173) Installing py3-py (1.11.0-r4) (34/173) Installing py3-py-pyc (1.11.0-r4) (35/173) Installing py3-pytest (8.3.4-r0) (36/173) Installing py3-pytest-pyc (8.3.4-r0) (37/173) Installing yaml (0.2.5-r2) (38/173) Installing py3-yaml (6.0.2-r0) (39/173) Installing py3-yaml-pyc (6.0.2-r0) (40/173) Installing py3-pyaml (24.9.0-r0) (41/173) Installing py3-pyaml-pyc (24.9.0-r0) (42/173) Installing py3-certifi (2024.8.30-r0) (43/173) Installing py3-certifi-pyc (2024.8.30-r0) (44/173) Installing py3-charset-normalizer (3.4.0-r0) (45/173) Installing py3-charset-normalizer-pyc (3.4.0-r0) (46/173) Installing py3-idna (3.10-r0) (47/173) Installing py3-idna-pyc (3.10-r0) (48/173) Installing py3-urllib3 (1.26.20-r0) (49/173) Installing py3-urllib3-pyc (1.26.20-r0) (50/173) Installing py3-requests (2.32.3-r0) (51/173) Installing py3-requests-pyc (2.32.3-r0) (52/173) Installing py3-pytest-asyncio (0.24.0-r0) (53/173) Installing py3-pytest-asyncio-pyc (0.24.0-r0) (54/173) Installing py3-aiofiles (24.1.0-r0) (55/173) Installing py3-aiofiles-pyc (24.1.0-r0) (56/173) Installing py3-curio (1.6-r2) (57/173) Installing py3-curio-pyc (1.6-r2) (58/173) Installing py3-sniffio (1.3.1-r1) (59/173) Installing py3-sniffio-pyc (1.3.1-r1) (60/173) Installing py3-anyio (4.3.0-r2) (61/173) Installing py3-anyio-pyc (4.3.0-r2) (62/173) Installing py3-h11 (0.14.0-r4) (63/173) Installing py3-h11-pyc (0.14.0-r4) (64/173) Installing py3-httpcore (1.0.5-r0) (65/173) Installing py3-httpcore-pyc (1.0.5-r0) (66/173) Installing py3-httpx (0.27.2-r0) (67/173) Installing py3-httpx-pyc (0.27.2-r0) (68/173) Installing py3-click (8.1.7-r2) (69/173) Installing py3-click-pyc (8.1.7-r2) (70/173) Installing uvicorn (0.32.0-r0) (71/173) Installing uvicorn-pyc (0.32.0-r0) (72/173) Installing py3-websockets (14.1-r0) (73/173) Installing py3-websockets-pyc (14.1-r0) (74/173) Installing py3-cbor2 (5.6.5-r0) (75/173) Installing py3-cbor2-pyc (5.6.5-r0) (76/173) Installing py3-msgpack (1.0.8-r1) (77/173) Installing py3-msgpack-pyc (1.0.8-r1) (78/173) Installing py3-mujson (1.4-r0) (79/173) Installing py3-mujson-pyc (1.4-r0) (80/173) Installing py3-ujson (5.10.0-r0) (81/173) Installing py3-rapidjson (1.12-r1) (82/173) Installing py3-orjson (3.10.12-r0) (83/173) Installing py3-orjson-pyc (3.10.12-r0) (84/173) Installing py3-gunicorn (23.0.0-r0) (85/173) Installing py3-gunicorn-pyc (23.0.0-r0) (86/173) Installing py3-cparser (2.22-r1) (87/173) Installing py3-cparser-pyc (2.22-r1) (88/173) Installing py3-cffi (1.17.1-r1) (89/173) Installing py3-cffi-pyc (1.17.1-r1) (90/173) Installing py3-cryptography (44.0.0-r0) (91/173) Installing py3-cryptography-pyc (44.0.0-r0) (92/173) Installing py3-zope-interface (6.0-r1) (93/173) Installing py3-zope-interface-pyc (6.0-r1) (94/173) Installing py3-constantly (23.10.4-r1) (95/173) Installing py3-constantly-pyc (23.10.4-r1) (96/173) Installing py3-incremental (22.10.0-r3) (97/173) Installing py3-incremental-pyc (22.10.0-r3) (98/173) Installing py3-attrs (24.2.0-r0) (99/173) Installing py3-attrs-pyc (24.2.0-r0) (100/173) Installing py3-six (1.16.0-r9) (101/173) Installing py3-six-pyc (1.16.0-r9) (102/173) Installing py3-automat (22.10.0-r3) (103/173) Installing py3-automat-pyc (22.10.0-r3) (104/173) Installing py3-hyperlink (21.0.0-r5) (105/173) Installing py3-hyperlink-pyc (21.0.0-r5) (106/173) Installing py3-typing-extensions (4.12.2-r0) (107/173) Installing py3-typing-extensions-pyc (4.12.2-r0) (108/173) Installing py3-pyhamcrest (2.1.0-r1) (109/173) Installing py3-pyhamcrest-pyc (2.1.0-r1) (110/173) Installing py3-asn1 (0.6.1-r0) (111/173) Installing py3-asn1-pyc (0.6.1-r0) (112/173) Installing py3-asn1-modules (0.4.1-r0) (113/173) Installing py3-asn1-modules-pyc (0.4.1-r0) (114/173) Installing py3-service_identity (24.1.0-r1) (115/173) Installing py3-service_identity-pyc (24.1.0-r1) (116/173) Installing py3-pyserial (3.5-r7) (117/173) Installing py3-pyserial-pyc (3.5-r7) (118/173) Installing py3-hyperframe (6.0.1-r4) (119/173) Installing py3-hyperframe-pyc (6.0.1-r4) (120/173) Installing py3-hpack (4.0.0-r9) (121/173) Installing py3-hpack-pyc (4.0.0-r9) (122/173) Installing py3-h2 (4.1.0-r3) (123/173) Installing py3-h2-pyc (4.1.0-r3) (124/173) Installing py3-twisted (22.10.0-r5) (125/173) Installing py3-twisted-pyc (22.10.0-r5) (126/173) Installing py3-txaio (23.1.1-r2) (127/173) Installing py3-txaio-pyc (23.1.1-r2) (128/173) Installing py3-tz (2024.2-r0) (129/173) Installing py3-tz-pyc (2024.2-r0) (130/173) Installing py3-babel (2.16.0-r0) (131/173) Installing py3-babel-pyc (2.16.0-r0) (132/173) Installing py3-docutils (0.21.2-r0) (133/173) Installing py3-docutils-pyc (0.21.2-r0) (134/173) Installing py3-imagesize (1.4.1-r4) (135/173) Installing py3-imagesize-pyc (1.4.1-r4) (136/173) Installing py3-markupsafe (3.0.2-r0) (137/173) Installing py3-markupsafe-pyc (3.0.2-r0) (138/173) Installing py3-jinja2 (3.1.4-r0) (139/173) Installing py3-jinja2-pyc (3.1.4-r0) (140/173) Installing py3-pygments (2.18.0-r0) (141/173) Installing py3-pygments-pyc (2.18.0-r0) (142/173) Installing py3-snowballstemmer (2.2.0-r5) (143/173) Installing py3-snowballstemmer-pyc (2.2.0-r5) (144/173) Installing py3-alabaster (1.0.0-r0) (145/173) Installing py3-alabaster-pyc (1.0.0-r0) (146/173) Installing py3-sphinxcontrib-applehelp (1.0.4-r3) (147/173) Installing py3-sphinxcontrib-applehelp-pyc (1.0.4-r3) (148/173) Installing py3-sphinxcontrib-devhelp (1.0.5-r2) (149/173) Installing py3-sphinxcontrib-devhelp-pyc (1.0.5-r2) (150/173) Installing py3-sphinxcontrib-htmlhelp (2.0.1-r3) (151/173) Installing py3-sphinxcontrib-htmlhelp-pyc (2.0.1-r3) (152/173) Installing py3-sphinxcontrib-jsmath (1.0.1-r8) (153/173) Installing py3-sphinxcontrib-jsmath-pyc (1.0.1-r8) (154/173) Installing py3-sphinxcontrib-serializinghtml (1.1.9-r2) (155/173) Installing py3-sphinxcontrib-serializinghtml-pyc (1.1.9-r2) (156/173) Installing py3-sphinxcontrib-qthelp (1.0.6-r2) (157/173) Installing py3-sphinxcontrib-qthelp-pyc (1.0.6-r2) (158/173) Installing py3-sphinx (8.1.3-r0) (159/173) Installing py3-sphinx-pyc (8.1.3-r0) (160/173) Installing py3-sphinxcontrib-images (0.9.4-r4) (161/173) Installing py3-sphinxcontrib-images-pyc (0.9.4-r4) (162/173) Installing py3-pynacl (1.5.0-r5) (163/173) Installing py3-pynacl-pyc (1.5.0-r5) (164/173) Installing py3-autobahn (23.6.2-r1) (165/173) Installing py3-autobahn-pyc (23.6.2-r1) (166/173) Installing py3-asgiref (3.8.1-r1) (167/173) Installing py3-asgiref-pyc (3.8.1-r1) (168/173) Installing py3-daphne (4.1.2-r0) (169/173) Installing py3-daphne-pyc (4.1.2-r0) (170/173) Installing py3-waitress (3.0.2-r0) (171/173) Installing py3-waitress-pyc (3.0.2-r0) (172/173) Installing .makedepends-py3-falcon (20241205.063806) (173/173) Installing py3-waitress-openrc (3.0.2-r0) Executing busybox-1.37.0-r8.trigger OK: 702 MiB in 276 packages >>> py3-falcon: Cleaning up srcdir >>> py3-falcon: Cleaning up pkgdir >>> py3-falcon: Cleaning up tmpdir >>> py3-falcon: Fetching https://distfiles.alpinelinux.org/distfiles/edge/py3-falcon-4.0.2.tar.gz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 curl: (22) The requested URL returned error: 404 >>> py3-falcon: Fetching py3-falcon-4.0.2.tar.gz::https://github.com/falconry/falcon/archive/refs/tags/4.0.2.tar.gz >>> py3-falcon: Fetching https://distfiles.alpinelinux.org/distfiles/edge/py3-falcon-4.0.2.tar.gz >>> py3-falcon: Checking sha512sums... py3-falcon-4.0.2.tar.gz: OK cf51816a2f7cd7a23d3e1129fe9418a5fc85d8be.patch: OK >>> py3-falcon: Unpacking /var/cache/distfiles/edge/py3-falcon-4.0.2.tar.gz... >>> py3-falcon: cf51816a2f7cd7a23d3e1129fe9418a5fc85d8be.patch patching file requirements/tests patching file tests/asgi/test_asgi_servers.py 2024-12-05 06:38:09,477 gpep517 INFO Building wheel via backend setuptools.build_meta 2024-12-05 06:38:09,654 root INFO running bdist_wheel 2024-12-05 06:38:09,675 root INFO running build 2024-12-05 06:38:09,675 root INFO running build_py 2024-12-05 06:38:09,680 root INFO creating build 2024-12-05 06:38:09,680 root INFO creating build/lib.linux-aarch64-cpython-312 2024-12-05 06:38:09,680 root INFO creating build/lib.linux-aarch64-cpython-312/falcon 2024-12-05 06:38:09,680 root INFO copying falcon/__init__.py -> build/lib.linux-aarch64-cpython-312/falcon 2024-12-05 06:38:09,681 root INFO copying falcon/middleware.py -> build/lib.linux-aarch64-cpython-312/falcon 2024-12-05 06:38:09,681 root INFO copying falcon/forwarded.py -> build/lib.linux-aarch64-cpython-312/falcon 2024-12-05 06:38:09,681 root INFO copying falcon/responders.py -> build/lib.linux-aarch64-cpython-312/falcon 2024-12-05 06:38:09,681 root INFO copying falcon/response.py -> build/lib.linux-aarch64-cpython-312/falcon 2024-12-05 06:38:09,681 root INFO copying falcon/uri.py -> build/lib.linux-aarch64-cpython-312/falcon 2024-12-05 06:38:09,681 root INFO copying falcon/typing.py -> build/lib.linux-aarch64-cpython-312/falcon 2024-12-05 06:38:09,681 root INFO copying falcon/http_error.py -> build/lib.linux-aarch64-cpython-312/falcon 2024-12-05 06:38:09,682 root INFO copying falcon/version.py -> build/lib.linux-aarch64-cpython-312/falcon 2024-12-05 06:38:09,682 root INFO copying falcon/stream.py -> build/lib.linux-aarch64-cpython-312/falcon 2024-12-05 06:38:09,682 root INFO copying falcon/redirects.py -> build/lib.linux-aarch64-cpython-312/falcon 2024-12-05 06:38:09,682 root INFO copying falcon/hooks.py -> build/lib.linux-aarch64-cpython-312/falcon 2024-12-05 06:38:09,682 root INFO copying falcon/app_helpers.py -> build/lib.linux-aarch64-cpython-312/falcon 2024-12-05 06:38:09,682 root INFO copying falcon/response_helpers.py -> build/lib.linux-aarch64-cpython-312/falcon 2024-12-05 06:38:09,682 root INFO copying falcon/status_codes.py -> build/lib.linux-aarch64-cpython-312/falcon 2024-12-05 06:38:09,683 root INFO copying falcon/_typing.py -> build/lib.linux-aarch64-cpython-312/falcon 2024-12-05 06:38:09,683 root INFO copying falcon/inspect.py -> build/lib.linux-aarch64-cpython-312/falcon 2024-12-05 06:38:09,683 root INFO copying falcon/errors.py -> build/lib.linux-aarch64-cpython-312/falcon 2024-12-05 06:38:09,683 root INFO copying falcon/request.py -> build/lib.linux-aarch64-cpython-312/falcon 2024-12-05 06:38:09,683 root INFO copying falcon/constants.py -> build/lib.linux-aarch64-cpython-312/falcon 2024-12-05 06:38:09,684 root INFO copying falcon/http_status.py -> build/lib.linux-aarch64-cpython-312/falcon 2024-12-05 06:38:09,684 root INFO copying falcon/asgi_spec.py -> build/lib.linux-aarch64-cpython-312/falcon 2024-12-05 06:38:09,684 root INFO copying falcon/app.py -> build/lib.linux-aarch64-cpython-312/falcon 2024-12-05 06:38:09,684 root INFO copying falcon/request_helpers.py -> build/lib.linux-aarch64-cpython-312/falcon 2024-12-05 06:38:09,684 root INFO creating build/lib.linux-aarch64-cpython-312/falcon/media 2024-12-05 06:38:09,684 root INFO copying falcon/media/__init__.py -> build/lib.linux-aarch64-cpython-312/falcon/media 2024-12-05 06:38:09,685 root INFO copying falcon/media/handlers.py -> build/lib.linux-aarch64-cpython-312/falcon/media 2024-12-05 06:38:09,685 root INFO copying falcon/media/msgpack.py -> build/lib.linux-aarch64-cpython-312/falcon/media 2024-12-05 06:38:09,685 root INFO copying falcon/media/urlencoded.py -> build/lib.linux-aarch64-cpython-312/falcon/media 2024-12-05 06:38:09,685 root INFO copying falcon/media/multipart.py -> build/lib.linux-aarch64-cpython-312/falcon/media 2024-12-05 06:38:09,685 root INFO copying falcon/media/json.py -> build/lib.linux-aarch64-cpython-312/falcon/media 2024-12-05 06:38:09,685 root INFO copying falcon/media/base.py -> build/lib.linux-aarch64-cpython-312/falcon/media 2024-12-05 06:38:09,686 root INFO creating build/lib.linux-aarch64-cpython-312/falcon/bench 2024-12-05 06:38:09,686 root INFO copying falcon/bench/__init__.py -> build/lib.linux-aarch64-cpython-312/falcon/bench 2024-12-05 06:38:09,686 root INFO copying falcon/bench/bench.py -> build/lib.linux-aarch64-cpython-312/falcon/bench 2024-12-05 06:38:09,686 root INFO copying falcon/bench/create.py -> build/lib.linux-aarch64-cpython-312/falcon/bench 2024-12-05 06:38:09,686 root INFO creating build/lib.linux-aarch64-cpython-312/falcon/cmd 2024-12-05 06:38:09,686 root INFO copying falcon/cmd/__init__.py -> build/lib.linux-aarch64-cpython-312/falcon/cmd 2024-12-05 06:38:09,686 root INFO copying falcon/cmd/bench.py -> build/lib.linux-aarch64-cpython-312/falcon/cmd 2024-12-05 06:38:09,687 root INFO copying falcon/cmd/inspect_app.py -> build/lib.linux-aarch64-cpython-312/falcon/cmd 2024-12-05 06:38:09,687 root INFO creating build/lib.linux-aarch64-cpython-312/falcon/asgi 2024-12-05 06:38:09,687 root INFO copying falcon/asgi/__init__.py -> build/lib.linux-aarch64-cpython-312/falcon/asgi 2024-12-05 06:38:09,687 root INFO copying falcon/asgi/reader.py -> build/lib.linux-aarch64-cpython-312/falcon/asgi 2024-12-05 06:38:09,687 root INFO copying falcon/asgi/response.py -> build/lib.linux-aarch64-cpython-312/falcon/asgi 2024-12-05 06:38:09,687 root INFO copying falcon/asgi/stream.py -> build/lib.linux-aarch64-cpython-312/falcon/asgi 2024-12-05 06:38:09,687 root INFO copying falcon/asgi/ws.py -> build/lib.linux-aarch64-cpython-312/falcon/asgi 2024-12-05 06:38:09,688 root INFO copying falcon/asgi/_asgi_helpers.py -> build/lib.linux-aarch64-cpython-312/falcon/asgi 2024-12-05 06:38:09,688 root INFO copying falcon/asgi/structures.py -> build/lib.linux-aarch64-cpython-312/falcon/asgi 2024-12-05 06:38:09,688 root INFO copying falcon/asgi/multipart.py -> build/lib.linux-aarch64-cpython-312/falcon/asgi 2024-12-05 06:38:09,688 root INFO copying falcon/asgi/_request_helpers.py -> build/lib.linux-aarch64-cpython-312/falcon/asgi 2024-12-05 06:38:09,688 root INFO copying falcon/asgi/request.py -> build/lib.linux-aarch64-cpython-312/falcon/asgi 2024-12-05 06:38:09,688 root INFO copying falcon/asgi/app.py -> build/lib.linux-aarch64-cpython-312/falcon/asgi 2024-12-05 06:38:09,689 root INFO creating build/lib.linux-aarch64-cpython-312/falcon/cyutil 2024-12-05 06:38:09,689 root INFO copying falcon/cyutil/__init__.py -> build/lib.linux-aarch64-cpython-312/falcon/cyutil 2024-12-05 06:38:09,689 root INFO creating build/lib.linux-aarch64-cpython-312/falcon/util 2024-12-05 06:38:09,689 root INFO copying falcon/util/__init__.py -> build/lib.linux-aarch64-cpython-312/falcon/util 2024-12-05 06:38:09,689 root INFO copying falcon/util/reader.py -> build/lib.linux-aarch64-cpython-312/falcon/util 2024-12-05 06:38:09,689 root INFO copying falcon/util/uri.py -> build/lib.linux-aarch64-cpython-312/falcon/util 2024-12-05 06:38:09,690 root INFO copying falcon/util/deprecation.py -> build/lib.linux-aarch64-cpython-312/falcon/util 2024-12-05 06:38:09,690 root INFO copying falcon/util/structures.py -> build/lib.linux-aarch64-cpython-312/falcon/util 2024-12-05 06:38:09,690 root INFO copying falcon/util/sync.py -> build/lib.linux-aarch64-cpython-312/falcon/util 2024-12-05 06:38:09,690 root INFO copying falcon/util/misc.py -> build/lib.linux-aarch64-cpython-312/falcon/util 2024-12-05 06:38:09,690 root INFO copying falcon/util/time.py -> build/lib.linux-aarch64-cpython-312/falcon/util 2024-12-05 06:38:09,690 root INFO copying falcon/util/mediatypes.py -> build/lib.linux-aarch64-cpython-312/falcon/util 2024-12-05 06:38:09,691 root INFO creating build/lib.linux-aarch64-cpython-312/falcon/testing 2024-12-05 06:38:09,691 root INFO copying falcon/testing/__init__.py -> build/lib.linux-aarch64-cpython-312/falcon/testing 2024-12-05 06:38:09,691 root INFO copying falcon/testing/resource.py -> build/lib.linux-aarch64-cpython-312/falcon/testing 2024-12-05 06:38:09,691 root INFO copying falcon/testing/test_case.py -> build/lib.linux-aarch64-cpython-312/falcon/testing 2024-12-05 06:38:09,691 root INFO copying falcon/testing/srmock.py -> build/lib.linux-aarch64-cpython-312/falcon/testing 2024-12-05 06:38:09,691 root INFO copying falcon/testing/helpers.py -> build/lib.linux-aarch64-cpython-312/falcon/testing 2024-12-05 06:38:09,691 root INFO copying falcon/testing/client.py -> build/lib.linux-aarch64-cpython-312/falcon/testing 2024-12-05 06:38:09,692 root INFO creating build/lib.linux-aarch64-cpython-312/falcon/routing 2024-12-05 06:38:09,692 root INFO copying falcon/routing/__init__.py -> build/lib.linux-aarch64-cpython-312/falcon/routing 2024-12-05 06:38:09,692 root INFO copying falcon/routing/converters.py -> build/lib.linux-aarch64-cpython-312/falcon/routing 2024-12-05 06:38:09,692 root INFO copying falcon/routing/compiled.py -> build/lib.linux-aarch64-cpython-312/falcon/routing 2024-12-05 06:38:09,692 root INFO copying falcon/routing/util.py -> build/lib.linux-aarch64-cpython-312/falcon/routing 2024-12-05 06:38:09,693 root INFO copying falcon/routing/static.py -> build/lib.linux-aarch64-cpython-312/falcon/routing 2024-12-05 06:38:09,693 root INFO creating build/lib.linux-aarch64-cpython-312/falcon/media/validators 2024-12-05 06:38:09,693 root INFO copying falcon/media/validators/__init__.py -> build/lib.linux-aarch64-cpython-312/falcon/media/validators 2024-12-05 06:38:09,693 root INFO copying falcon/media/validators/jsonschema.py -> build/lib.linux-aarch64-cpython-312/falcon/media/validators 2024-12-05 06:38:09,693 root INFO creating build/lib.linux-aarch64-cpython-312/falcon/bench/nuts 2024-12-05 06:38:09,693 root INFO copying falcon/bench/nuts/__init__.py -> build/lib.linux-aarch64-cpython-312/falcon/bench/nuts 2024-12-05 06:38:09,693 root INFO copying falcon/bench/nuts/config.py -> build/lib.linux-aarch64-cpython-312/falcon/bench/nuts 2024-12-05 06:38:09,694 root INFO copying falcon/bench/nuts/setup.py -> build/lib.linux-aarch64-cpython-312/falcon/bench/nuts 2024-12-05 06:38:09,694 root INFO creating build/lib.linux-aarch64-cpython-312/falcon/bench/queues 2024-12-05 06:38:09,694 root INFO copying falcon/bench/queues/__init__.py -> build/lib.linux-aarch64-cpython-312/falcon/bench/queues 2024-12-05 06:38:09,694 root INFO copying falcon/bench/queues/queues.py -> build/lib.linux-aarch64-cpython-312/falcon/bench/queues 2024-12-05 06:38:09,694 root INFO copying falcon/bench/queues/messages.py -> build/lib.linux-aarch64-cpython-312/falcon/bench/queues 2024-12-05 06:38:09,694 root INFO copying falcon/bench/queues/api.py -> build/lib.linux-aarch64-cpython-312/falcon/bench/queues 2024-12-05 06:38:09,694 root INFO copying falcon/bench/queues/claims.py -> build/lib.linux-aarch64-cpython-312/falcon/bench/queues 2024-12-05 06:38:09,694 root INFO copying falcon/bench/queues/stats.py -> build/lib.linux-aarch64-cpython-312/falcon/bench/queues 2024-12-05 06:38:09,695 root INFO creating build/lib.linux-aarch64-cpython-312/falcon/bench/dj 2024-12-05 06:38:09,695 root INFO copying falcon/bench/dj/__init__.py -> build/lib.linux-aarch64-cpython-312/falcon/bench/dj 2024-12-05 06:38:09,695 root INFO copying falcon/bench/dj/manage.py -> build/lib.linux-aarch64-cpython-312/falcon/bench/dj 2024-12-05 06:38:09,695 root INFO creating build/lib.linux-aarch64-cpython-312/falcon/bench/nuts/nuts 2024-12-05 06:38:09,695 root INFO copying falcon/bench/nuts/nuts/__init__.py -> build/lib.linux-aarch64-cpython-312/falcon/bench/nuts/nuts 2024-12-05 06:38:09,695 root INFO copying falcon/bench/nuts/nuts/app.py -> build/lib.linux-aarch64-cpython-312/falcon/bench/nuts/nuts 2024-12-05 06:38:09,696 root INFO creating build/lib.linux-aarch64-cpython-312/falcon/bench/nuts/nuts/model 2024-12-05 06:38:09,696 root INFO copying falcon/bench/nuts/nuts/model/__init__.py -> build/lib.linux-aarch64-cpython-312/falcon/bench/nuts/nuts/model 2024-12-05 06:38:09,696 root INFO creating build/lib.linux-aarch64-cpython-312/falcon/bench/nuts/nuts/tests 2024-12-05 06:38:09,696 root INFO copying falcon/bench/nuts/nuts/tests/__init__.py -> build/lib.linux-aarch64-cpython-312/falcon/bench/nuts/nuts/tests 2024-12-05 06:38:09,696 root INFO copying falcon/bench/nuts/nuts/tests/test_functional.py -> build/lib.linux-aarch64-cpython-312/falcon/bench/nuts/nuts/tests 2024-12-05 06:38:09,696 root INFO copying falcon/bench/nuts/nuts/tests/test_units.py -> build/lib.linux-aarch64-cpython-312/falcon/bench/nuts/nuts/tests 2024-12-05 06:38:09,696 root INFO copying falcon/bench/nuts/nuts/tests/config.py -> build/lib.linux-aarch64-cpython-312/falcon/bench/nuts/nuts/tests 2024-12-05 06:38:09,697 root INFO creating build/lib.linux-aarch64-cpython-312/falcon/bench/nuts/nuts/controllers 2024-12-05 06:38:09,697 root INFO copying falcon/bench/nuts/nuts/controllers/__init__.py -> build/lib.linux-aarch64-cpython-312/falcon/bench/nuts/nuts/controllers 2024-12-05 06:38:09,697 root INFO copying falcon/bench/nuts/nuts/controllers/root.py -> build/lib.linux-aarch64-cpython-312/falcon/bench/nuts/nuts/controllers 2024-12-05 06:38:09,697 root INFO creating build/lib.linux-aarch64-cpython-312/falcon/bench/dj/hello 2024-12-05 06:38:09,697 root INFO copying falcon/bench/dj/hello/__init__.py -> build/lib.linux-aarch64-cpython-312/falcon/bench/dj/hello 2024-12-05 06:38:09,697 root INFO copying falcon/bench/dj/hello/views.py -> build/lib.linux-aarch64-cpython-312/falcon/bench/dj/hello 2024-12-05 06:38:09,697 root INFO copying falcon/bench/dj/hello/models.py -> build/lib.linux-aarch64-cpython-312/falcon/bench/dj/hello 2024-12-05 06:38:09,698 root INFO copying falcon/bench/dj/hello/apps.py -> build/lib.linux-aarch64-cpython-312/falcon/bench/dj/hello 2024-12-05 06:38:09,698 root INFO copying falcon/bench/dj/hello/admin.py -> build/lib.linux-aarch64-cpython-312/falcon/bench/dj/hello 2024-12-05 06:38:09,698 root INFO copying falcon/bench/dj/hello/tests.py -> build/lib.linux-aarch64-cpython-312/falcon/bench/dj/hello 2024-12-05 06:38:09,698 root INFO creating build/lib.linux-aarch64-cpython-312/falcon/bench/dj/dj 2024-12-05 06:38:09,698 root INFO copying falcon/bench/dj/dj/__init__.py -> build/lib.linux-aarch64-cpython-312/falcon/bench/dj/dj 2024-12-05 06:38:09,698 root INFO copying falcon/bench/dj/dj/urls.py -> build/lib.linux-aarch64-cpython-312/falcon/bench/dj/dj 2024-12-05 06:38:09,698 root INFO copying falcon/bench/dj/dj/wsgi.py -> build/lib.linux-aarch64-cpython-312/falcon/bench/dj/dj 2024-12-05 06:38:09,698 root INFO copying falcon/bench/dj/dj/settings.py -> build/lib.linux-aarch64-cpython-312/falcon/bench/dj/dj 2024-12-05 06:38:09,699 root INFO creating build/lib.linux-aarch64-cpython-312/falcon/bench/dj/hello/migrations 2024-12-05 06:38:09,699 root INFO copying falcon/bench/dj/hello/migrations/__init__.py -> build/lib.linux-aarch64-cpython-312/falcon/bench/dj/hello/migrations 2024-12-05 06:38:09,699 root INFO running egg_info 2024-12-05 06:38:09,699 root INFO creating falcon.egg-info 2024-12-05 06:38:09,704 root INFO writing falcon.egg-info/PKG-INFO 2024-12-05 06:38:09,705 root INFO writing dependency_links to falcon.egg-info/dependency_links.txt 2024-12-05 06:38:09,705 root INFO writing entry points to falcon.egg-info/entry_points.txt 2024-12-05 06:38:09,705 root INFO writing requirements to falcon.egg-info/requires.txt 2024-12-05 06:38:09,705 root INFO writing top-level names to falcon.egg-info/top_level.txt 2024-12-05 06:38:09,705 root INFO writing manifest file 'falcon.egg-info/SOURCES.txt' 2024-12-05 06:38:09,714 root INFO reading manifest file 'falcon.egg-info/SOURCES.txt' 2024-12-05 06:38:09,714 root INFO reading manifest template 'MANIFEST.in' 2024-12-05 06:38:09,729 root WARNING no previously-included directories found matching 'docs/_build' 2024-12-05 06:38:09,729 root INFO adding license file 'LICENSE' 2024-12-05 06:38:09,732 root INFO writing manifest file 'falcon.egg-info/SOURCES.txt' 2024-12-05 06:38:09,734 root INFO copying falcon/py.typed -> build/lib.linux-aarch64-cpython-312/falcon 2024-12-05 06:38:09,735 root INFO copying falcon/cyutil/misc.pyx -> build/lib.linux-aarch64-cpython-312/falcon/cyutil 2024-12-05 06:38:09,735 root INFO copying falcon/cyutil/reader.pyx -> build/lib.linux-aarch64-cpython-312/falcon/cyutil 2024-12-05 06:38:09,735 root INFO copying falcon/cyutil/uri.pyx -> build/lib.linux-aarch64-cpython-312/falcon/cyutil 2024-12-05 06:38:09,736 root INFO running build_ext Compiling falcon/middleware.py because it changed. [1/1] Cythonizing falcon/middleware.py 2024-12-05 06:38:10,137 root INFO building 'falcon.middleware' extension 2024-12-05 06:38:10,137 root INFO creating build/temp.linux-aarch64-cpython-312 2024-12-05 06:38:10,137 root INFO creating build/temp.linux-aarch64-cpython-312/falcon 2024-12-05 06:38:10,137 root INFO gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -Os -fstack-clash-protection -Wformat -Werror=format-security -fPIC -I/usr/include/python3.12 -c falcon/middleware.c -o build/temp.linux-aarch64-cpython-312/falcon/middleware.o 2024-12-05 06:38:13,153 root INFO gcc -shared -Wl,--as-needed,-O1,--sort-common -Wl,-z,pack-relative-relocs -Os -fstack-clash-protection -Wformat -Werror=format-security build/temp.linux-aarch64-cpython-312/falcon/middleware.o -L/usr/lib -o build/lib.linux-aarch64-cpython-312/falcon/middleware.cpython-312-aarch64-linux-musl.so Compiling falcon/forwarded.py because it changed. [1/1] Cythonizing falcon/forwarded.py 2024-12-05 06:38:13,215 root INFO building 'falcon.forwarded' extension 2024-12-05 06:38:13,215 root INFO gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -Os -fstack-clash-protection -Wformat -Werror=format-security -fPIC -I/usr/include/python3.12 -c falcon/forwarded.c -o build/temp.linux-aarch64-cpython-312/falcon/forwarded.o 2024-12-05 06:38:16,462 root INFO gcc -shared -Wl,--as-needed,-O1,--sort-common -Wl,-z,pack-relative-relocs -Os -fstack-clash-protection -Wformat -Werror=format-security build/temp.linux-aarch64-cpython-312/falcon/forwarded.o -L/usr/lib -o build/lib.linux-aarch64-cpython-312/falcon/forwarded.cpython-312-aarch64-linux-musl.so Compiling falcon/response.py because it changed. [1/1] Cythonizing falcon/response.py 2024-12-05 06:38:16,629 root INFO building 'falcon.response' extension 2024-12-05 06:38:16,629 root INFO gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -Os -fstack-clash-protection -Wformat -Werror=format-security -fPIC -I/usr/include/python3.12 -c falcon/response.c -o build/temp.linux-aarch64-cpython-312/falcon/response.o 2024-12-05 06:38:29,030 root INFO gcc -shared -Wl,--as-needed,-O1,--sort-common -Wl,-z,pack-relative-relocs -Os -fstack-clash-protection -Wformat -Werror=format-security build/temp.linux-aarch64-cpython-312/falcon/response.o -L/usr/lib -o build/lib.linux-aarch64-cpython-312/falcon/response.cpython-312-aarch64-linux-musl.so Compiling falcon/uri.py because it changed. [1/1] Cythonizing falcon/uri.py 2024-12-05 06:38:29,057 root INFO building 'falcon.uri' extension 2024-12-05 06:38:29,057 root INFO gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -Os -fstack-clash-protection -Wformat -Werror=format-security -fPIC -I/usr/include/python3.12 -c falcon/uri.c -o build/temp.linux-aarch64-cpython-312/falcon/uri.o 2024-12-05 06:38:29,632 root INFO gcc -shared -Wl,--as-needed,-O1,--sort-common -Wl,-z,pack-relative-relocs -Os -fstack-clash-protection -Wformat -Werror=format-security build/temp.linux-aarch64-cpython-312/falcon/uri.o -L/usr/lib -o build/lib.linux-aarch64-cpython-312/falcon/uri.cpython-312-aarch64-linux-musl.so Compiling falcon/typing.py because it changed. [1/1] Cythonizing falcon/typing.py 2024-12-05 06:38:29,664 root INFO building 'falcon.typing' extension 2024-12-05 06:38:29,664 root INFO gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -Os -fstack-clash-protection -Wformat -Werror=format-security -fPIC -I/usr/include/python3.12 -c falcon/typing.c -o build/temp.linux-aarch64-cpython-312/falcon/typing.o 2024-12-05 06:38:31,916 root INFO gcc -shared -Wl,--as-needed,-O1,--sort-common -Wl,-z,pack-relative-relocs -Os -fstack-clash-protection -Wformat -Werror=format-security build/temp.linux-aarch64-cpython-312/falcon/typing.o -L/usr/lib -o build/lib.linux-aarch64-cpython-312/falcon/typing.cpython-312-aarch64-linux-musl.so Compiling falcon/http_error.py because it changed. [1/1] Cythonizing falcon/http_error.py 2024-12-05 06:38:31,976 root INFO building 'falcon.http_error' extension 2024-12-05 06:38:31,976 root INFO gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -Os -fstack-clash-protection -Wformat -Werror=format-security -fPIC -I/usr/include/python3.12 -c falcon/http_error.c -o build/temp.linux-aarch64-cpython-312/falcon/http_error.o 2024-12-05 06:38:35,478 root INFO gcc -shared -Wl,--as-needed,-O1,--sort-common -Wl,-z,pack-relative-relocs -Os -fstack-clash-protection -Wformat -Werror=format-security build/temp.linux-aarch64-cpython-312/falcon/http_error.o -L/usr/lib -o build/lib.linux-aarch64-cpython-312/falcon/http_error.cpython-312-aarch64-linux-musl.so Compiling falcon/version.py because it changed. [1/1] Cythonizing falcon/version.py 2024-12-05 06:38:35,502 root INFO building 'falcon.version' extension 2024-12-05 06:38:35,502 root INFO gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -Os -fstack-clash-protection -Wformat -Werror=format-security -fPIC -I/usr/include/python3.12 -c falcon/version.c -o build/temp.linux-aarch64-cpython-312/falcon/version.o 2024-12-05 06:38:35,903 root INFO gcc -shared -Wl,--as-needed,-O1,--sort-common -Wl,-z,pack-relative-relocs -Os -fstack-clash-protection -Wformat -Werror=format-security build/temp.linux-aarch64-cpython-312/falcon/version.o -L/usr/lib -o build/lib.linux-aarch64-cpython-312/falcon/version.cpython-312-aarch64-linux-musl.so Compiling falcon/stream.py because it changed. [1/1] Cythonizing falcon/stream.py 2024-12-05 06:38:35,957 root INFO building 'falcon.stream' extension 2024-12-05 06:38:35,957 root INFO gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -Os -fstack-clash-protection -Wformat -Werror=format-security -fPIC -I/usr/include/python3.12 -c falcon/stream.c -o build/temp.linux-aarch64-cpython-312/falcon/stream.o 2024-12-05 06:38:39,074 root INFO gcc -shared -Wl,--as-needed,-O1,--sort-common -Wl,-z,pack-relative-relocs -Os -fstack-clash-protection -Wformat -Werror=format-security build/temp.linux-aarch64-cpython-312/falcon/stream.o -L/usr/lib -o build/lib.linux-aarch64-cpython-312/falcon/stream.cpython-312-aarch64-linux-musl.so Compiling falcon/redirects.py because it changed. [1/1] Cythonizing falcon/redirects.py 2024-12-05 06:38:39,125 root INFO building 'falcon.redirects' extension 2024-12-05 06:38:39,125 root INFO gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -Os -fstack-clash-protection -Wformat -Werror=format-security -fPIC -I/usr/include/python3.12 -c falcon/redirects.c -o build/temp.linux-aarch64-cpython-312/falcon/redirects.o 2024-12-05 06:38:41,430 root INFO gcc -shared -Wl,--as-needed,-O1,--sort-common -Wl,-z,pack-relative-relocs -Os -fstack-clash-protection -Wformat -Werror=format-security build/temp.linux-aarch64-cpython-312/falcon/redirects.o -L/usr/lib -o build/lib.linux-aarch64-cpython-312/falcon/redirects.cpython-312-aarch64-linux-musl.so Compiling falcon/app_helpers.py because it changed. [1/1] Cythonizing falcon/app_helpers.py 2024-12-05 06:38:41,567 root INFO building 'falcon.app_helpers' extension 2024-12-05 06:38:41,567 root INFO gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -Os -fstack-clash-protection -Wformat -Werror=format-security -fPIC -I/usr/include/python3.12 -c falcon/app_helpers.c -o build/temp.linux-aarch64-cpython-312/falcon/app_helpers.o 2024-12-05 06:38:47,741 root INFO gcc -shared -Wl,--as-needed,-O1,--sort-common -Wl,-z,pack-relative-relocs -Os -fstack-clash-protection -Wformat -Werror=format-security build/temp.linux-aarch64-cpython-312/falcon/app_helpers.o -L/usr/lib -o build/lib.linux-aarch64-cpython-312/falcon/app_helpers.cpython-312-aarch64-linux-musl.so Compiling falcon/response_helpers.py because it changed. [1/1] Cythonizing falcon/response_helpers.py 2024-12-05 06:38:47,798 root INFO building 'falcon.response_helpers' extension 2024-12-05 06:38:47,798 root INFO gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -Os -fstack-clash-protection -Wformat -Werror=format-security -fPIC -I/usr/include/python3.12 -c falcon/response_helpers.c -o build/temp.linux-aarch64-cpython-312/falcon/response_helpers.o 2024-12-05 06:38:50,562 root INFO gcc -shared -Wl,--as-needed,-O1,--sort-common -Wl,-z,pack-relative-relocs -Os -fstack-clash-protection -Wformat -Werror=format-security build/temp.linux-aarch64-cpython-312/falcon/response_helpers.o -L/usr/lib -o build/lib.linux-aarch64-cpython-312/falcon/response_helpers.cpython-312-aarch64-linux-musl.so Compiling falcon/status_codes.py because it changed. [1/1] Cythonizing falcon/status_codes.py 2024-12-05 06:38:50,625 root INFO building 'falcon.status_codes' extension 2024-12-05 06:38:50,625 root INFO gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -Os -fstack-clash-protection -Wformat -Werror=format-security -fPIC -I/usr/include/python3.12 -c falcon/status_codes.c -o build/temp.linux-aarch64-cpython-312/falcon/status_codes.o 2024-12-05 06:38:59,059 root INFO gcc -shared -Wl,--as-needed,-O1,--sort-common -Wl,-z,pack-relative-relocs -Os -fstack-clash-protection -Wformat -Werror=format-security build/temp.linux-aarch64-cpython-312/falcon/status_codes.o -L/usr/lib -o build/lib.linux-aarch64-cpython-312/falcon/status_codes.cpython-312-aarch64-linux-musl.so Compiling falcon/_typing.py because it changed. [1/1] Cythonizing falcon/_typing.py 2024-12-05 06:38:59,142 root INFO building 'falcon._typing' extension 2024-12-05 06:38:59,142 root INFO gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -Os -fstack-clash-protection -Wformat -Werror=format-security -fPIC -I/usr/include/python3.12 -c falcon/_typing.c -o build/temp.linux-aarch64-cpython-312/falcon/_typing.o 2024-12-05 06:39:05,802 root INFO gcc -shared -Wl,--as-needed,-O1,--sort-common -Wl,-z,pack-relative-relocs -Os -fstack-clash-protection -Wformat -Werror=format-security build/temp.linux-aarch64-cpython-312/falcon/_typing.o -L/usr/lib -o build/lib.linux-aarch64-cpython-312/falcon/_typing.cpython-312-aarch64-linux-musl.so Compiling falcon/errors.py because it changed. [1/1] Cythonizing falcon/errors.py 2024-12-05 06:39:06,031 root INFO building 'falcon.errors' extension 2024-12-05 06:39:06,032 root INFO gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -Os -fstack-clash-protection -Wformat -Werror=format-security -fPIC -I/usr/include/python3.12 -c falcon/errors.c -o build/temp.linux-aarch64-cpython-312/falcon/errors.o 2024-12-05 06:39:21,319 root INFO gcc -shared -Wl,--as-needed,-O1,--sort-common -Wl,-z,pack-relative-relocs -Os -fstack-clash-protection -Wformat -Werror=format-security build/temp.linux-aarch64-cpython-312/falcon/errors.o -L/usr/lib -o build/lib.linux-aarch64-cpython-312/falcon/errors.cpython-312-aarch64-linux-musl.so Compiling falcon/request.py because it changed. [1/1] Cythonizing falcon/request.py 2024-12-05 06:39:21,772 root INFO building 'falcon.request' extension 2024-12-05 06:39:21,772 root INFO gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -Os -fstack-clash-protection -Wformat -Werror=format-security -fPIC -I/usr/include/python3.12 -c falcon/request.c -o build/temp.linux-aarch64-cpython-312/falcon/request.o 2024-12-05 06:39:48,488 root INFO gcc -shared -Wl,--as-needed,-O1,--sort-common -Wl,-z,pack-relative-relocs -Os -fstack-clash-protection -Wformat -Werror=format-security build/temp.linux-aarch64-cpython-312/falcon/request.o -L/usr/lib -o build/lib.linux-aarch64-cpython-312/falcon/request.cpython-312-aarch64-linux-musl.so Compiling falcon/constants.py because it changed. [1/1] Cythonizing falcon/constants.py 2024-12-05 06:39:48,549 root INFO building 'falcon.constants' extension 2024-12-05 06:39:48,549 root INFO gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -Os -fstack-clash-protection -Wformat -Werror=format-security -fPIC -I/usr/include/python3.12 -c falcon/constants.c -o build/temp.linux-aarch64-cpython-312/falcon/constants.o 2024-12-05 06:39:52,276 root INFO gcc -shared -Wl,--as-needed,-O1,--sort-common -Wl,-z,pack-relative-relocs -Os -fstack-clash-protection -Wformat -Werror=format-security build/temp.linux-aarch64-cpython-312/falcon/constants.o -L/usr/lib -o build/lib.linux-aarch64-cpython-312/falcon/constants.cpython-312-aarch64-linux-musl.so Compiling falcon/http_status.py because it changed. [1/1] Cythonizing falcon/http_status.py 2024-12-05 06:39:52,311 root INFO building 'falcon.http_status' extension 2024-12-05 06:39:52,311 root INFO gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -Os -fstack-clash-protection -Wformat -Werror=format-security -fPIC -I/usr/include/python3.12 -c falcon/http_status.c -o build/temp.linux-aarch64-cpython-312/falcon/http_status.o 2024-12-05 06:39:53,917 root INFO gcc -shared -Wl,--as-needed,-O1,--sort-common -Wl,-z,pack-relative-relocs -Os -fstack-clash-protection -Wformat -Werror=format-security build/temp.linux-aarch64-cpython-312/falcon/http_status.o -L/usr/lib -o build/lib.linux-aarch64-cpython-312/falcon/http_status.cpython-312-aarch64-linux-musl.so Compiling falcon/asgi_spec.py because it changed. [1/1] Cythonizing falcon/asgi_spec.py 2024-12-05 06:39:53,946 root INFO building 'falcon.asgi_spec' extension 2024-12-05 06:39:53,946 root INFO gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -Os -fstack-clash-protection -Wformat -Werror=format-security -fPIC -I/usr/include/python3.12 -c falcon/asgi_spec.c -o build/temp.linux-aarch64-cpython-312/falcon/asgi_spec.o 2024-12-05 06:39:55,228 root INFO gcc -shared -Wl,--as-needed,-O1,--sort-common -Wl,-z,pack-relative-relocs -Os -fstack-clash-protection -Wformat -Werror=format-security build/temp.linux-aarch64-cpython-312/falcon/asgi_spec.o -L/usr/lib -o build/lib.linux-aarch64-cpython-312/falcon/asgi_spec.cpython-312-aarch64-linux-musl.so Compiling falcon/app.py because it changed. [1/1] Cythonizing falcon/app.py 2024-12-05 06:39:55,478 root INFO building 'falcon.app' extension 2024-12-05 06:39:55,478 root INFO gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -Os -fstack-clash-protection -Wformat -Werror=format-security -fPIC -I/usr/include/python3.12 -c falcon/app.c -o build/temp.linux-aarch64-cpython-312/falcon/app.o 2024-12-05 06:40:08,834 root INFO gcc -shared -Wl,--as-needed,-O1,--sort-common -Wl,-z,pack-relative-relocs -Os -fstack-clash-protection -Wformat -Werror=format-security build/temp.linux-aarch64-cpython-312/falcon/app.o -L/usr/lib -o build/lib.linux-aarch64-cpython-312/falcon/app.cpython-312-aarch64-linux-musl.so Compiling falcon/request_helpers.py because it changed. [1/1] Cythonizing falcon/request_helpers.py 2024-12-05 06:40:08,888 root INFO building 'falcon.request_helpers' extension 2024-12-05 06:40:08,889 root INFO gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -Os -fstack-clash-protection -Wformat -Werror=format-security -fPIC -I/usr/include/python3.12 -c falcon/request_helpers.c -o build/temp.linux-aarch64-cpython-312/falcon/request_helpers.o 2024-12-05 06:40:11,423 root INFO gcc -shared -Wl,--as-needed,-O1,--sort-common -Wl,-z,pack-relative-relocs -Os -fstack-clash-protection -Wformat -Werror=format-security build/temp.linux-aarch64-cpython-312/falcon/request_helpers.o -L/usr/lib -o build/lib.linux-aarch64-cpython-312/falcon/request_helpers.cpython-312-aarch64-linux-musl.so Compiling falcon/cyutil/uri.pyx because it changed. [1/1] Cythonizing falcon/cyutil/uri.pyx 2024-12-05 06:40:11,525 root INFO building 'falcon.cyutil.uri' extension 2024-12-05 06:40:11,525 root INFO creating build/temp.linux-aarch64-cpython-312/falcon/cyutil 2024-12-05 06:40:11,525 root INFO gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -Os -fstack-clash-protection -Wformat -Werror=format-security -fPIC -I/usr/include/python3.12 -c falcon/cyutil/uri.c -o build/temp.linux-aarch64-cpython-312/falcon/cyutil/uri.o 2024-12-05 06:40:13,454 root INFO gcc -shared -Wl,--as-needed,-O1,--sort-common -Wl,-z,pack-relative-relocs -Os -fstack-clash-protection -Wformat -Werror=format-security build/temp.linux-aarch64-cpython-312/falcon/cyutil/uri.o -L/usr/lib -o build/lib.linux-aarch64-cpython-312/falcon/cyutil/uri.cpython-312-aarch64-linux-musl.so Compiling falcon/cyutil/misc.pyx because it changed. [1/1] Cythonizing falcon/cyutil/misc.pyx 2024-12-05 06:40:13,482 root INFO building 'falcon.cyutil.misc' extension 2024-12-05 06:40:13,482 root INFO gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -Os -fstack-clash-protection -Wformat -Werror=format-security -fPIC -I/usr/include/python3.12 -c falcon/cyutil/misc.c -o build/temp.linux-aarch64-cpython-312/falcon/cyutil/misc.o 2024-12-05 06:40:14,525 root INFO gcc -shared -Wl,--as-needed,-O1,--sort-common -Wl,-z,pack-relative-relocs -Os -fstack-clash-protection -Wformat -Werror=format-security build/temp.linux-aarch64-cpython-312/falcon/cyutil/misc.o -L/usr/lib -o build/lib.linux-aarch64-cpython-312/falcon/cyutil/misc.cpython-312-aarch64-linux-musl.so Compiling falcon/cyutil/reader.pyx because it changed. [1/1] Cythonizing falcon/cyutil/reader.pyx 2024-12-05 06:40:14,654 root INFO building 'falcon.cyutil.reader' extension 2024-12-05 06:40:14,654 root INFO gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -Os -fstack-clash-protection -Wformat -Werror=format-security -fPIC -I/usr/include/python3.12 -c falcon/cyutil/reader.c -o build/temp.linux-aarch64-cpython-312/falcon/cyutil/reader.o 2024-12-05 06:40:18,367 root INFO gcc -shared -Wl,--as-needed,-O1,--sort-common -Wl,-z,pack-relative-relocs -Os -fstack-clash-protection -Wformat -Werror=format-security build/temp.linux-aarch64-cpython-312/falcon/cyutil/reader.o -L/usr/lib -o build/lib.linux-aarch64-cpython-312/falcon/cyutil/reader.cpython-312-aarch64-linux-musl.so Compiling falcon/media/handlers.py because it changed. [1/1] Cythonizing falcon/media/handlers.py 2024-12-05 06:40:18,440 root INFO building 'falcon.media.handlers' extension 2024-12-05 06:40:18,440 root INFO creating build/temp.linux-aarch64-cpython-312/falcon/media 2024-12-05 06:40:18,440 root INFO gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -Os -fstack-clash-protection -Wformat -Werror=format-security -fPIC -I/usr/include/python3.12 -c falcon/media/handlers.c -o build/temp.linux-aarch64-cpython-312/falcon/media/handlers.o 2024-12-05 06:40:23,189 root INFO gcc -shared -Wl,--as-needed,-O1,--sort-common -Wl,-z,pack-relative-relocs -Os -fstack-clash-protection -Wformat -Werror=format-security build/temp.linux-aarch64-cpython-312/falcon/media/handlers.o -L/usr/lib -o build/lib.linux-aarch64-cpython-312/falcon/media/handlers.cpython-312-aarch64-linux-musl.so Compiling falcon/media/msgpack.py because it changed. [1/1] Cythonizing falcon/media/msgpack.py 2024-12-05 06:40:23,250 root INFO building 'falcon.media.msgpack' extension 2024-12-05 06:40:23,250 root INFO gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -Os -fstack-clash-protection -Wformat -Werror=format-security -fPIC -I/usr/include/python3.12 -c falcon/media/msgpack.c -o build/temp.linux-aarch64-cpython-312/falcon/media/msgpack.o 2024-12-05 06:40:27,061 root INFO gcc -shared -Wl,--as-needed,-O1,--sort-common -Wl,-z,pack-relative-relocs -Os -fstack-clash-protection -Wformat -Werror=format-security build/temp.linux-aarch64-cpython-312/falcon/media/msgpack.o -L/usr/lib -o build/lib.linux-aarch64-cpython-312/falcon/media/msgpack.cpython-312-aarch64-linux-musl.so Compiling falcon/media/urlencoded.py because it changed. [1/1] Cythonizing falcon/media/urlencoded.py 2024-12-05 06:40:27,176 root INFO building 'falcon.media.urlencoded' extension 2024-12-05 06:40:27,176 root INFO gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -Os -fstack-clash-protection -Wformat -Werror=format-security -fPIC -I/usr/include/python3.12 -c falcon/media/urlencoded.c -o build/temp.linux-aarch64-cpython-312/falcon/media/urlencoded.o 2024-12-05 06:40:30,224 root INFO gcc -shared -Wl,--as-needed,-O1,--sort-common -Wl,-z,pack-relative-relocs -Os -fstack-clash-protection -Wformat -Werror=format-security build/temp.linux-aarch64-cpython-312/falcon/media/urlencoded.o -L/usr/lib -o build/lib.linux-aarch64-cpython-312/falcon/media/urlencoded.cpython-312-aarch64-linux-musl.so Compiling falcon/media/multipart.py because it changed. [1/1] Cythonizing falcon/media/multipart.py 2024-12-05 06:40:30,359 root INFO building 'falcon.media.multipart' extension 2024-12-05 06:40:30,359 root INFO gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -Os -fstack-clash-protection -Wformat -Werror=format-security -fPIC -I/usr/include/python3.12 -c falcon/media/multipart.c -o build/temp.linux-aarch64-cpython-312/falcon/media/multipart.o 2024-12-05 06:40:39,364 root INFO gcc -shared -Wl,--as-needed,-O1,--sort-common -Wl,-z,pack-relative-relocs -Os -fstack-clash-protection -Wformat -Werror=format-security build/temp.linux-aarch64-cpython-312/falcon/media/multipart.o -L/usr/lib -o build/lib.linux-aarch64-cpython-312/falcon/media/multipart.cpython-312-aarch64-linux-musl.so Compiling falcon/media/json.py because it changed. [1/1] Cythonizing falcon/media/json.py 2024-12-05 06:40:39,436 root INFO building 'falcon.media.json' extension 2024-12-05 06:40:39,436 root INFO gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -Os -fstack-clash-protection -Wformat -Werror=format-security -fPIC -I/usr/include/python3.12 -c falcon/media/json.c -o build/temp.linux-aarch64-cpython-312/falcon/media/json.o 2024-12-05 06:40:43,760 root INFO gcc -shared -Wl,--as-needed,-O1,--sort-common -Wl,-z,pack-relative-relocs -Os -fstack-clash-protection -Wformat -Werror=format-security build/temp.linux-aarch64-cpython-312/falcon/media/json.o -L/usr/lib -o build/lib.linux-aarch64-cpython-312/falcon/media/json.cpython-312-aarch64-linux-musl.so Compiling falcon/media/base.py because it changed. [1/1] Cythonizing falcon/media/base.py 2024-12-05 06:40:43,815 root INFO building 'falcon.media.base' extension 2024-12-05 06:40:43,815 root INFO gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -Os -fstack-clash-protection -Wformat -Werror=format-security -fPIC -I/usr/include/python3.12 -c falcon/media/base.c -o build/temp.linux-aarch64-cpython-312/falcon/media/base.o 2024-12-05 06:40:47,067 root INFO gcc -shared -Wl,--as-needed,-O1,--sort-common -Wl,-z,pack-relative-relocs -Os -fstack-clash-protection -Wformat -Werror=format-security build/temp.linux-aarch64-cpython-312/falcon/media/base.o -L/usr/lib -o build/lib.linux-aarch64-cpython-312/falcon/media/base.cpython-312-aarch64-linux-musl.so Compiling falcon/routing/converters.py because it changed. [1/1] Cythonizing falcon/routing/converters.py 2024-12-05 06:40:47,137 root INFO building 'falcon.routing.converters' extension 2024-12-05 06:40:47,138 root INFO creating build/temp.linux-aarch64-cpython-312/falcon/routing 2024-12-05 06:40:47,138 root INFO gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -Os -fstack-clash-protection -Wformat -Werror=format-security -fPIC -I/usr/include/python3.12 -c falcon/routing/converters.c -o build/temp.linux-aarch64-cpython-312/falcon/routing/converters.o 2024-12-05 06:40:51,146 root INFO gcc -shared -Wl,--as-needed,-O1,--sort-common -Wl,-z,pack-relative-relocs -Os -fstack-clash-protection -Wformat -Werror=format-security build/temp.linux-aarch64-cpython-312/falcon/routing/converters.o -L/usr/lib -o build/lib.linux-aarch64-cpython-312/falcon/routing/converters.cpython-312-aarch64-linux-musl.so Compiling falcon/routing/compiled.py because it changed. [1/1] Cythonizing falcon/routing/compiled.py 2024-12-05 06:40:51,475 root INFO building 'falcon.routing.compiled' extension 2024-12-05 06:40:51,475 root INFO gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -Os -fstack-clash-protection -Wformat -Werror=format-security -fPIC -I/usr/include/python3.12 -c falcon/routing/compiled.c -o build/temp.linux-aarch64-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:13227:21: note: in expansion of macro 'PyInt_FromSsize_t' 13227 | __pyx_t_4 = PyInt_FromSsize_t(__pyx_v_resource_idx); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 601, __pyx_L1_error) | ^~~~~~~~~~~~~~~~~ falcon/routing/compiled.c:10877:14: note: '__pyx_v_resource_idx' was declared here 10877 | Py_ssize_t __pyx_v_resource_idx; | ^~~~~~~~~~~~~~~~~~~~ 2024-12-05 06:41:11,285 root INFO gcc -shared -Wl,--as-needed,-O1,--sort-common -Wl,-z,pack-relative-relocs -Os -fstack-clash-protection -Wformat -Werror=format-security build/temp.linux-aarch64-cpython-312/falcon/routing/compiled.o -L/usr/lib -o build/lib.linux-aarch64-cpython-312/falcon/routing/compiled.cpython-312-aarch64-linux-musl.so Compiling falcon/routing/util.py because it changed. [1/1] Cythonizing falcon/routing/util.py 2024-12-05 06:41:11,338 root INFO building 'falcon.routing.util' extension 2024-12-05 06:41:11,338 root INFO gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -Os -fstack-clash-protection -Wformat -Werror=format-security -fPIC -I/usr/include/python3.12 -c falcon/routing/util.c -o build/temp.linux-aarch64-cpython-312/falcon/routing/util.o 2024-12-05 06:41:13,446 root INFO gcc -shared -Wl,--as-needed,-O1,--sort-common -Wl,-z,pack-relative-relocs -Os -fstack-clash-protection -Wformat -Werror=format-security build/temp.linux-aarch64-cpython-312/falcon/routing/util.o -L/usr/lib -o build/lib.linux-aarch64-cpython-312/falcon/routing/util.cpython-312-aarch64-linux-musl.so Compiling falcon/routing/static.py because it changed. [1/1] Cythonizing falcon/routing/static.py 2024-12-05 06:41:13,544 root INFO building 'falcon.routing.static' extension 2024-12-05 06:41:13,544 root INFO gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -Os -fstack-clash-protection -Wformat -Werror=format-security -fPIC -I/usr/include/python3.12 -c falcon/routing/static.c -o build/temp.linux-aarch64-cpython-312/falcon/routing/static.o 2024-12-05 06:41:20,573 root INFO gcc -shared -Wl,--as-needed,-O1,--sort-common -Wl,-z,pack-relative-relocs -Os -fstack-clash-protection -Wformat -Werror=format-security build/temp.linux-aarch64-cpython-312/falcon/routing/static.o -L/usr/lib -o build/lib.linux-aarch64-cpython-312/falcon/routing/static.cpython-312-aarch64-linux-musl.so Compiling falcon/util/uri.py because it changed. [1/1] Cythonizing falcon/util/uri.py 2024-12-05 06:41:20,683 root INFO building 'falcon.util.uri' extension 2024-12-05 06:41:20,683 root INFO creating build/temp.linux-aarch64-cpython-312/falcon/util 2024-12-05 06:41:20,683 root INFO gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -Os -fstack-clash-protection -Wformat -Werror=format-security -fPIC -I/usr/include/python3.12 -c falcon/util/uri.c -o build/temp.linux-aarch64-cpython-312/falcon/util/uri.o 2024-12-05 06:41:26,112 root INFO gcc -shared -Wl,--as-needed,-O1,--sort-common -Wl,-z,pack-relative-relocs -Os -fstack-clash-protection -Wformat -Werror=format-security build/temp.linux-aarch64-cpython-312/falcon/util/uri.o -L/usr/lib -o build/lib.linux-aarch64-cpython-312/falcon/util/uri.cpython-312-aarch64-linux-musl.so Compiling falcon/util/deprecation.py because it changed. [1/1] Cythonizing falcon/util/deprecation.py 2024-12-05 06:41:26,166 root INFO building 'falcon.util.deprecation' extension 2024-12-05 06:41:26,166 root INFO gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -Os -fstack-clash-protection -Wformat -Werror=format-security -fPIC -I/usr/include/python3.12 -c falcon/util/deprecation.c -o build/temp.linux-aarch64-cpython-312/falcon/util/deprecation.o 2024-12-05 06:41:28,789 root INFO gcc -shared -Wl,--as-needed,-O1,--sort-common -Wl,-z,pack-relative-relocs -Os -fstack-clash-protection -Wformat -Werror=format-security build/temp.linux-aarch64-cpython-312/falcon/util/deprecation.o -L/usr/lib -o build/lib.linux-aarch64-cpython-312/falcon/util/deprecation.cpython-312-aarch64-linux-musl.so Compiling falcon/util/structures.py because it changed. [1/1] Cythonizing falcon/util/structures.py 2024-12-05 06:41:28,898 root INFO building 'falcon.util.structures' extension 2024-12-05 06:41:28,898 root INFO gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -Os -fstack-clash-protection -Wformat -Werror=format-security -fPIC -I/usr/include/python3.12 -c falcon/util/structures.c -o build/temp.linux-aarch64-cpython-312/falcon/util/structures.o 2024-12-05 06:41:35,701 root INFO gcc -shared -Wl,--as-needed,-O1,--sort-common -Wl,-z,pack-relative-relocs -Os -fstack-clash-protection -Wformat -Werror=format-security build/temp.linux-aarch64-cpython-312/falcon/util/structures.o -L/usr/lib -o build/lib.linux-aarch64-cpython-312/falcon/util/structures.cpython-312-aarch64-linux-musl.so Compiling falcon/util/misc.py because it changed. [1/1] Cythonizing falcon/util/misc.py 2024-12-05 06:41:35,874 root INFO building 'falcon.util.misc' extension 2024-12-05 06:41:35,874 root INFO gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -Os -fstack-clash-protection -Wformat -Werror=format-security -fPIC -I/usr/include/python3.12 -c falcon/util/misc.c -o build/temp.linux-aarch64-cpython-312/falcon/util/misc.o 2024-12-05 06:41:41,466 root INFO gcc -shared -Wl,--as-needed,-O1,--sort-common -Wl,-z,pack-relative-relocs -Os -fstack-clash-protection -Wformat -Werror=format-security build/temp.linux-aarch64-cpython-312/falcon/util/misc.o -L/usr/lib -o build/lib.linux-aarch64-cpython-312/falcon/util/misc.cpython-312-aarch64-linux-musl.so Compiling falcon/util/time.py because it changed. [1/1] Cythonizing falcon/util/time.py 2024-12-05 06:41:41,503 root INFO building 'falcon.util.time' extension 2024-12-05 06:41:41,504 root INFO gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -Os -fstack-clash-protection -Wformat -Werror=format-security -fPIC -I/usr/include/python3.12 -c falcon/util/time.c -o build/temp.linux-aarch64-cpython-312/falcon/util/time.o 2024-12-05 06:41:43,300 root INFO gcc -shared -Wl,--as-needed,-O1,--sort-common -Wl,-z,pack-relative-relocs -Os -fstack-clash-protection -Wformat -Werror=format-security build/temp.linux-aarch64-cpython-312/falcon/util/time.o -L/usr/lib -o build/lib.linux-aarch64-cpython-312/falcon/util/time.cpython-312-aarch64-linux-musl.so Compiling falcon/util/mediatypes.py because it changed. [1/1] Cythonizing falcon/util/mediatypes.py 2024-12-05 06:41:43,406 root INFO building 'falcon.util.mediatypes' extension 2024-12-05 06:41:43,406 root INFO gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -Os -fstack-clash-protection -Wformat -Werror=format-security -fPIC -I/usr/include/python3.12 -c falcon/util/mediatypes.c -o build/temp.linux-aarch64-cpython-312/falcon/util/mediatypes.o 2024-12-05 06:41:49,707 root INFO gcc -shared -Wl,--as-needed,-O1,--sort-common -Wl,-z,pack-relative-relocs -Os -fstack-clash-protection -Wformat -Werror=format-security build/temp.linux-aarch64-cpython-312/falcon/util/mediatypes.o -L/usr/lib -o build/lib.linux-aarch64-cpython-312/falcon/util/mediatypes.cpython-312-aarch64-linux-musl.so 2024-12-05 06:41:49,733 root INFO installing to build/bdist.linux-aarch64/wheel 2024-12-05 06:41:49,733 root INFO running install 2024-12-05 06:41:49,741 root INFO running install_lib 2024-12-05 06:41:49,746 root INFO creating build/bdist.linux-aarch64 2024-12-05 06:41:49,746 root INFO creating build/bdist.linux-aarch64/wheel 2024-12-05 06:41:49,746 root INFO creating build/bdist.linux-aarch64/wheel/falcon 2024-12-05 06:41:49,746 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/__init__.py -> build/bdist.linux-aarch64/wheel/falcon 2024-12-05 06:41:49,747 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/typing.cpython-312-aarch64-linux-musl.so -> build/bdist.linux-aarch64/wheel/falcon 2024-12-05 06:41:49,747 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/request.cpython-312-aarch64-linux-musl.so -> build/bdist.linux-aarch64/wheel/falcon 2024-12-05 06:41:49,749 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/middleware.py -> build/bdist.linux-aarch64/wheel/falcon 2024-12-05 06:41:49,749 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/asgi_spec.cpython-312-aarch64-linux-musl.so -> build/bdist.linux-aarch64/wheel/falcon 2024-12-05 06:41:49,750 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/forwarded.py -> build/bdist.linux-aarch64/wheel/falcon 2024-12-05 06:41:49,750 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/responders.py -> build/bdist.linux-aarch64/wheel/falcon 2024-12-05 06:41:49,750 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/errors.cpython-312-aarch64-linux-musl.so -> build/bdist.linux-aarch64/wheel/falcon 2024-12-05 06:41:49,752 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/response.py -> build/bdist.linux-aarch64/wheel/falcon 2024-12-05 06:41:49,752 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/uri.py -> build/bdist.linux-aarch64/wheel/falcon 2024-12-05 06:41:49,752 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/typing.py -> build/bdist.linux-aarch64/wheel/falcon 2024-12-05 06:41:49,752 root INFO creating build/bdist.linux-aarch64/wheel/falcon/media 2024-12-05 06:41:49,752 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/media/__init__.py -> build/bdist.linux-aarch64/wheel/falcon/media 2024-12-05 06:41:49,752 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/media/handlers.py -> build/bdist.linux-aarch64/wheel/falcon/media 2024-12-05 06:41:49,753 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/media/json.cpython-312-aarch64-linux-musl.so -> build/bdist.linux-aarch64/wheel/falcon/media 2024-12-05 06:41:49,753 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/media/msgpack.py -> build/bdist.linux-aarch64/wheel/falcon/media 2024-12-05 06:41:49,754 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/media/base.cpython-312-aarch64-linux-musl.so -> build/bdist.linux-aarch64/wheel/falcon/media 2024-12-05 06:41:49,754 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/media/urlencoded.py -> build/bdist.linux-aarch64/wheel/falcon/media 2024-12-05 06:41:49,754 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/media/multipart.cpython-312-aarch64-linux-musl.so -> build/bdist.linux-aarch64/wheel/falcon/media 2024-12-05 06:41:49,755 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/media/handlers.cpython-312-aarch64-linux-musl.so -> build/bdist.linux-aarch64/wheel/falcon/media 2024-12-05 06:41:49,756 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/media/urlencoded.cpython-312-aarch64-linux-musl.so -> build/bdist.linux-aarch64/wheel/falcon/media 2024-12-05 06:41:49,757 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/media/multipart.py -> build/bdist.linux-aarch64/wheel/falcon/media 2024-12-05 06:41:49,757 root INFO creating build/bdist.linux-aarch64/wheel/falcon/media/validators 2024-12-05 06:41:49,757 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/media/validators/__init__.py -> build/bdist.linux-aarch64/wheel/falcon/media/validators 2024-12-05 06:41:49,757 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/media/validators/jsonschema.py -> build/bdist.linux-aarch64/wheel/falcon/media/validators 2024-12-05 06:41:49,757 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/media/json.py -> build/bdist.linux-aarch64/wheel/falcon/media 2024-12-05 06:41:49,758 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/media/base.py -> build/bdist.linux-aarch64/wheel/falcon/media 2024-12-05 06:41:49,758 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/media/msgpack.cpython-312-aarch64-linux-musl.so -> build/bdist.linux-aarch64/wheel/falcon/media 2024-12-05 06:41:49,758 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/middleware.cpython-312-aarch64-linux-musl.so -> build/bdist.linux-aarch64/wheel/falcon 2024-12-05 06:41:49,759 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/stream.cpython-312-aarch64-linux-musl.so -> build/bdist.linux-aarch64/wheel/falcon 2024-12-05 06:41:49,760 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/http_error.py -> build/bdist.linux-aarch64/wheel/falcon 2024-12-05 06:41:49,760 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/uri.cpython-312-aarch64-linux-musl.so -> build/bdist.linux-aarch64/wheel/falcon 2024-12-05 06:41:49,760 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/version.py -> build/bdist.linux-aarch64/wheel/falcon 2024-12-05 06:41:49,760 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/request_helpers.cpython-312-aarch64-linux-musl.so -> build/bdist.linux-aarch64/wheel/falcon 2024-12-05 06:41:49,761 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/response.cpython-312-aarch64-linux-musl.so -> build/bdist.linux-aarch64/wheel/falcon 2024-12-05 06:41:49,762 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/stream.py -> build/bdist.linux-aarch64/wheel/falcon 2024-12-05 06:41:49,762 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/redirects.py -> build/bdist.linux-aarch64/wheel/falcon 2024-12-05 06:41:49,762 root INFO creating build/bdist.linux-aarch64/wheel/falcon/bench 2024-12-05 06:41:49,762 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/bench/__init__.py -> build/bdist.linux-aarch64/wheel/falcon/bench 2024-12-05 06:41:49,763 root INFO creating build/bdist.linux-aarch64/wheel/falcon/bench/nuts 2024-12-05 06:41:49,763 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/bench/nuts/__init__.py -> build/bdist.linux-aarch64/wheel/falcon/bench/nuts 2024-12-05 06:41:49,763 root INFO creating build/bdist.linux-aarch64/wheel/falcon/bench/nuts/nuts 2024-12-05 06:41:49,763 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/bench/nuts/nuts/__init__.py -> build/bdist.linux-aarch64/wheel/falcon/bench/nuts/nuts 2024-12-05 06:41:49,763 root INFO creating build/bdist.linux-aarch64/wheel/falcon/bench/nuts/nuts/model 2024-12-05 06:41:49,763 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/bench/nuts/nuts/model/__init__.py -> build/bdist.linux-aarch64/wheel/falcon/bench/nuts/nuts/model 2024-12-05 06:41:49,763 root INFO creating build/bdist.linux-aarch64/wheel/falcon/bench/nuts/nuts/tests 2024-12-05 06:41:49,764 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/bench/nuts/nuts/tests/__init__.py -> build/bdist.linux-aarch64/wheel/falcon/bench/nuts/nuts/tests 2024-12-05 06:41:49,764 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/bench/nuts/nuts/tests/test_functional.py -> build/bdist.linux-aarch64/wheel/falcon/bench/nuts/nuts/tests 2024-12-05 06:41:49,764 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/bench/nuts/nuts/tests/test_units.py -> build/bdist.linux-aarch64/wheel/falcon/bench/nuts/nuts/tests 2024-12-05 06:41:49,764 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/bench/nuts/nuts/tests/config.py -> build/bdist.linux-aarch64/wheel/falcon/bench/nuts/nuts/tests 2024-12-05 06:41:49,764 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/bench/nuts/nuts/app.py -> build/bdist.linux-aarch64/wheel/falcon/bench/nuts/nuts 2024-12-05 06:41:49,764 root INFO creating build/bdist.linux-aarch64/wheel/falcon/bench/nuts/nuts/controllers 2024-12-05 06:41:49,764 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/bench/nuts/nuts/controllers/__init__.py -> build/bdist.linux-aarch64/wheel/falcon/bench/nuts/nuts/controllers 2024-12-05 06:41:49,765 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/bench/nuts/nuts/controllers/root.py -> build/bdist.linux-aarch64/wheel/falcon/bench/nuts/nuts/controllers 2024-12-05 06:41:49,765 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/bench/nuts/config.py -> build/bdist.linux-aarch64/wheel/falcon/bench/nuts 2024-12-05 06:41:49,765 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/bench/nuts/setup.py -> build/bdist.linux-aarch64/wheel/falcon/bench/nuts 2024-12-05 06:41:49,765 root INFO creating build/bdist.linux-aarch64/wheel/falcon/bench/queues 2024-12-05 06:41:49,765 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/bench/queues/__init__.py -> build/bdist.linux-aarch64/wheel/falcon/bench/queues 2024-12-05 06:41:49,765 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/bench/queues/queues.py -> build/bdist.linux-aarch64/wheel/falcon/bench/queues 2024-12-05 06:41:49,765 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/bench/queues/messages.py -> build/bdist.linux-aarch64/wheel/falcon/bench/queues 2024-12-05 06:41:49,765 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/bench/queues/api.py -> build/bdist.linux-aarch64/wheel/falcon/bench/queues 2024-12-05 06:41:49,766 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/bench/queues/claims.py -> build/bdist.linux-aarch64/wheel/falcon/bench/queues 2024-12-05 06:41:49,766 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/bench/queues/stats.py -> build/bdist.linux-aarch64/wheel/falcon/bench/queues 2024-12-05 06:41:49,766 root INFO creating build/bdist.linux-aarch64/wheel/falcon/bench/dj 2024-12-05 06:41:49,766 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/bench/dj/__init__.py -> build/bdist.linux-aarch64/wheel/falcon/bench/dj 2024-12-05 06:41:49,766 root INFO creating build/bdist.linux-aarch64/wheel/falcon/bench/dj/hello 2024-12-05 06:41:49,766 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/bench/dj/hello/__init__.py -> build/bdist.linux-aarch64/wheel/falcon/bench/dj/hello 2024-12-05 06:41:49,766 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/bench/dj/hello/views.py -> build/bdist.linux-aarch64/wheel/falcon/bench/dj/hello 2024-12-05 06:41:49,767 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/bench/dj/hello/models.py -> build/bdist.linux-aarch64/wheel/falcon/bench/dj/hello 2024-12-05 06:41:49,767 root INFO creating build/bdist.linux-aarch64/wheel/falcon/bench/dj/hello/migrations 2024-12-05 06:41:49,767 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/bench/dj/hello/migrations/__init__.py -> build/bdist.linux-aarch64/wheel/falcon/bench/dj/hello/migrations 2024-12-05 06:41:49,767 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/bench/dj/hello/apps.py -> build/bdist.linux-aarch64/wheel/falcon/bench/dj/hello 2024-12-05 06:41:49,767 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/bench/dj/hello/admin.py -> build/bdist.linux-aarch64/wheel/falcon/bench/dj/hello 2024-12-05 06:41:49,767 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/bench/dj/hello/tests.py -> build/bdist.linux-aarch64/wheel/falcon/bench/dj/hello 2024-12-05 06:41:49,767 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/bench/dj/manage.py -> build/bdist.linux-aarch64/wheel/falcon/bench/dj 2024-12-05 06:41:49,768 root INFO creating build/bdist.linux-aarch64/wheel/falcon/bench/dj/dj 2024-12-05 06:41:49,768 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/bench/dj/dj/__init__.py -> build/bdist.linux-aarch64/wheel/falcon/bench/dj/dj 2024-12-05 06:41:49,768 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/bench/dj/dj/urls.py -> build/bdist.linux-aarch64/wheel/falcon/bench/dj/dj 2024-12-05 06:41:49,768 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/bench/dj/dj/wsgi.py -> build/bdist.linux-aarch64/wheel/falcon/bench/dj/dj 2024-12-05 06:41:49,768 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/bench/dj/dj/settings.py -> build/bdist.linux-aarch64/wheel/falcon/bench/dj/dj 2024-12-05 06:41:49,768 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/bench/bench.py -> build/bdist.linux-aarch64/wheel/falcon/bench 2024-12-05 06:41:49,768 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/bench/create.py -> build/bdist.linux-aarch64/wheel/falcon/bench 2024-12-05 06:41:49,769 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/version.cpython-312-aarch64-linux-musl.so -> build/bdist.linux-aarch64/wheel/falcon 2024-12-05 06:41:49,769 root INFO creating build/bdist.linux-aarch64/wheel/falcon/cmd 2024-12-05 06:41:49,769 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/cmd/__init__.py -> build/bdist.linux-aarch64/wheel/falcon/cmd 2024-12-05 06:41:49,769 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/cmd/bench.py -> build/bdist.linux-aarch64/wheel/falcon/cmd 2024-12-05 06:41:49,769 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/cmd/inspect_app.py -> build/bdist.linux-aarch64/wheel/falcon/cmd 2024-12-05 06:41:49,769 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/status_codes.cpython-312-aarch64-linux-musl.so -> build/bdist.linux-aarch64/wheel/falcon 2024-12-05 06:41:49,770 root INFO creating build/bdist.linux-aarch64/wheel/falcon/asgi 2024-12-05 06:41:49,770 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/asgi/__init__.py -> build/bdist.linux-aarch64/wheel/falcon/asgi 2024-12-05 06:41:49,770 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/asgi/reader.py -> build/bdist.linux-aarch64/wheel/falcon/asgi 2024-12-05 06:41:49,770 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/asgi/response.py -> build/bdist.linux-aarch64/wheel/falcon/asgi 2024-12-05 06:41:49,771 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/asgi/stream.py -> build/bdist.linux-aarch64/wheel/falcon/asgi 2024-12-05 06:41:49,771 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/asgi/ws.py -> build/bdist.linux-aarch64/wheel/falcon/asgi 2024-12-05 06:41:49,771 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/asgi/_asgi_helpers.py -> build/bdist.linux-aarch64/wheel/falcon/asgi 2024-12-05 06:41:49,771 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/asgi/structures.py -> build/bdist.linux-aarch64/wheel/falcon/asgi 2024-12-05 06:41:49,771 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/asgi/multipart.py -> build/bdist.linux-aarch64/wheel/falcon/asgi 2024-12-05 06:41:49,771 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/asgi/_request_helpers.py -> build/bdist.linux-aarch64/wheel/falcon/asgi 2024-12-05 06:41:49,772 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/asgi/request.py -> build/bdist.linux-aarch64/wheel/falcon/asgi 2024-12-05 06:41:49,772 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/asgi/app.py -> build/bdist.linux-aarch64/wheel/falcon/asgi 2024-12-05 06:41:49,772 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/app.cpython-312-aarch64-linux-musl.so -> build/bdist.linux-aarch64/wheel/falcon 2024-12-05 06:41:49,773 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/hooks.py -> build/bdist.linux-aarch64/wheel/falcon 2024-12-05 06:41:49,773 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/forwarded.cpython-312-aarch64-linux-musl.so -> build/bdist.linux-aarch64/wheel/falcon 2024-12-05 06:41:49,774 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/app_helpers.py -> build/bdist.linux-aarch64/wheel/falcon 2024-12-05 06:41:49,774 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/http_error.cpython-312-aarch64-linux-musl.so -> build/bdist.linux-aarch64/wheel/falcon 2024-12-05 06:41:49,775 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/response_helpers.py -> build/bdist.linux-aarch64/wheel/falcon 2024-12-05 06:41:49,775 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/response_helpers.cpython-312-aarch64-linux-musl.so -> build/bdist.linux-aarch64/wheel/falcon 2024-12-05 06:41:49,775 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/http_status.cpython-312-aarch64-linux-musl.so -> build/bdist.linux-aarch64/wheel/falcon 2024-12-05 06:41:49,776 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/status_codes.py -> build/bdist.linux-aarch64/wheel/falcon 2024-12-05 06:41:49,776 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/_typing.py -> build/bdist.linux-aarch64/wheel/falcon 2024-12-05 06:41:49,776 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/inspect.py -> build/bdist.linux-aarch64/wheel/falcon 2024-12-05 06:41:49,776 root INFO creating build/bdist.linux-aarch64/wheel/falcon/cyutil 2024-12-05 06:41:49,777 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/cyutil/__init__.py -> build/bdist.linux-aarch64/wheel/falcon/cyutil 2024-12-05 06:41:49,777 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/cyutil/uri.pyx -> build/bdist.linux-aarch64/wheel/falcon/cyutil 2024-12-05 06:41:49,777 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/cyutil/uri.cpython-312-aarch64-linux-musl.so -> build/bdist.linux-aarch64/wheel/falcon/cyutil 2024-12-05 06:41:49,777 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/cyutil/misc.cpython-312-aarch64-linux-musl.so -> build/bdist.linux-aarch64/wheel/falcon/cyutil 2024-12-05 06:41:49,778 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/cyutil/misc.pyx -> build/bdist.linux-aarch64/wheel/falcon/cyutil 2024-12-05 06:41:49,778 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/cyutil/reader.cpython-312-aarch64-linux-musl.so -> build/bdist.linux-aarch64/wheel/falcon/cyutil 2024-12-05 06:41:49,779 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/cyutil/reader.pyx -> build/bdist.linux-aarch64/wheel/falcon/cyutil 2024-12-05 06:41:49,779 root INFO creating build/bdist.linux-aarch64/wheel/falcon/util 2024-12-05 06:41:49,779 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/util/__init__.py -> build/bdist.linux-aarch64/wheel/falcon/util 2024-12-05 06:41:49,779 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/util/reader.py -> build/bdist.linux-aarch64/wheel/falcon/util 2024-12-05 06:41:49,779 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/util/uri.py -> build/bdist.linux-aarch64/wheel/falcon/util 2024-12-05 06:41:49,779 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/util/deprecation.py -> build/bdist.linux-aarch64/wheel/falcon/util 2024-12-05 06:41:49,780 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/util/time.cpython-312-aarch64-linux-musl.so -> build/bdist.linux-aarch64/wheel/falcon/util 2024-12-05 06:41:49,780 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/util/uri.cpython-312-aarch64-linux-musl.so -> build/bdist.linux-aarch64/wheel/falcon/util 2024-12-05 06:41:49,781 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/util/misc.cpython-312-aarch64-linux-musl.so -> build/bdist.linux-aarch64/wheel/falcon/util 2024-12-05 06:41:49,782 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/util/structures.py -> build/bdist.linux-aarch64/wheel/falcon/util 2024-12-05 06:41:49,782 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/util/sync.py -> build/bdist.linux-aarch64/wheel/falcon/util 2024-12-05 06:41:49,782 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/util/structures.cpython-312-aarch64-linux-musl.so -> build/bdist.linux-aarch64/wheel/falcon/util 2024-12-05 06:41:49,783 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/util/mediatypes.cpython-312-aarch64-linux-musl.so -> build/bdist.linux-aarch64/wheel/falcon/util 2024-12-05 06:41:49,784 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/util/misc.py -> build/bdist.linux-aarch64/wheel/falcon/util 2024-12-05 06:41:49,784 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/util/time.py -> build/bdist.linux-aarch64/wheel/falcon/util 2024-12-05 06:41:49,784 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/util/deprecation.cpython-312-aarch64-linux-musl.so -> build/bdist.linux-aarch64/wheel/falcon/util 2024-12-05 06:41:49,785 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/util/mediatypes.py -> build/bdist.linux-aarch64/wheel/falcon/util 2024-12-05 06:41:49,785 root INFO creating build/bdist.linux-aarch64/wheel/falcon/testing 2024-12-05 06:41:49,785 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/testing/__init__.py -> build/bdist.linux-aarch64/wheel/falcon/testing 2024-12-05 06:41:49,785 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/testing/resource.py -> build/bdist.linux-aarch64/wheel/falcon/testing 2024-12-05 06:41:49,785 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/testing/test_case.py -> build/bdist.linux-aarch64/wheel/falcon/testing 2024-12-05 06:41:49,785 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/testing/srmock.py -> build/bdist.linux-aarch64/wheel/falcon/testing 2024-12-05 06:41:49,786 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/testing/helpers.py -> build/bdist.linux-aarch64/wheel/falcon/testing 2024-12-05 06:41:49,786 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/testing/client.py -> build/bdist.linux-aarch64/wheel/falcon/testing 2024-12-05 06:41:49,786 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/errors.py -> build/bdist.linux-aarch64/wheel/falcon 2024-12-05 06:41:49,786 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/py.typed -> build/bdist.linux-aarch64/wheel/falcon 2024-12-05 06:41:49,787 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/request.py -> build/bdist.linux-aarch64/wheel/falcon 2024-12-05 06:41:49,787 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/constants.cpython-312-aarch64-linux-musl.so -> build/bdist.linux-aarch64/wheel/falcon 2024-12-05 06:41:49,787 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/constants.py -> build/bdist.linux-aarch64/wheel/falcon 2024-12-05 06:41:49,787 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/http_status.py -> build/bdist.linux-aarch64/wheel/falcon 2024-12-05 06:41:49,788 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/asgi_spec.py -> build/bdist.linux-aarch64/wheel/falcon 2024-12-05 06:41:49,788 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/redirects.cpython-312-aarch64-linux-musl.so -> build/bdist.linux-aarch64/wheel/falcon 2024-12-05 06:41:49,788 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/app.py -> build/bdist.linux-aarch64/wheel/falcon 2024-12-05 06:41:49,789 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/_typing.cpython-312-aarch64-linux-musl.so -> build/bdist.linux-aarch64/wheel/falcon 2024-12-05 06:41:49,789 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/request_helpers.py -> build/bdist.linux-aarch64/wheel/falcon 2024-12-05 06:41:49,790 root INFO creating build/bdist.linux-aarch64/wheel/falcon/routing 2024-12-05 06:41:49,790 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/routing/__init__.py -> build/bdist.linux-aarch64/wheel/falcon/routing 2024-12-05 06:41:49,790 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/routing/converters.cpython-312-aarch64-linux-musl.so -> build/bdist.linux-aarch64/wheel/falcon/routing 2024-12-05 06:41:49,791 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/routing/converters.py -> build/bdist.linux-aarch64/wheel/falcon/routing 2024-12-05 06:41:49,791 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/routing/compiled.py -> build/bdist.linux-aarch64/wheel/falcon/routing 2024-12-05 06:41:49,791 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/routing/util.cpython-312-aarch64-linux-musl.so -> build/bdist.linux-aarch64/wheel/falcon/routing 2024-12-05 06:41:49,791 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/routing/static.cpython-312-aarch64-linux-musl.so -> build/bdist.linux-aarch64/wheel/falcon/routing 2024-12-05 06:41:49,792 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/routing/compiled.cpython-312-aarch64-linux-musl.so -> build/bdist.linux-aarch64/wheel/falcon/routing 2024-12-05 06:41:49,794 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/routing/util.py -> build/bdist.linux-aarch64/wheel/falcon/routing 2024-12-05 06:41:49,794 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/routing/static.py -> build/bdist.linux-aarch64/wheel/falcon/routing 2024-12-05 06:41:49,795 root INFO copying build/lib.linux-aarch64-cpython-312/falcon/app_helpers.cpython-312-aarch64-linux-musl.so -> build/bdist.linux-aarch64/wheel/falcon 2024-12-05 06:41:49,795 root INFO running install_egg_info 2024-12-05 06:41:49,800 root INFO Copying falcon.egg-info to build/bdist.linux-aarch64/wheel/falcon-4.0.2-py3.12.egg-info 2024-12-05 06:41:49,801 root INFO running install_scripts 2024-12-05 06:41:49,806 root INFO creating build/bdist.linux-aarch64/wheel/falcon-4.0.2.dist-info/WHEEL 2024-12-05 06:41:49,807 wheel INFO creating '/home/buildozer/aports/testing/py3-falcon/src/falcon-4.0.2/dist/.tmp-b4tg44k7/falcon-4.0.2-cp312-cp312-linux_aarch64.whl' and adding 'build/bdist.linux-aarch64/wheel' to it 2024-12-05 06:41:49,807 wheel INFO adding 'falcon/__init__.py' 2024-12-05 06:41:49,808 wheel INFO adding 'falcon/_typing.cpython-312-aarch64-linux-musl.so' 2024-12-05 06:41:49,809 wheel INFO adding 'falcon/_typing.py' 2024-12-05 06:41:49,811 wheel INFO adding 'falcon/app.cpython-312-aarch64-linux-musl.so' 2024-12-05 06:41:49,812 wheel INFO adding 'falcon/app.py' 2024-12-05 06:41:49,813 wheel INFO adding 'falcon/app_helpers.cpython-312-aarch64-linux-musl.so' 2024-12-05 06:41:49,813 wheel INFO adding 'falcon/app_helpers.py' 2024-12-05 06:41:49,814 wheel INFO adding 'falcon/asgi_spec.cpython-312-aarch64-linux-musl.so' 2024-12-05 06:41:49,814 wheel INFO adding 'falcon/asgi_spec.py' 2024-12-05 06:41:49,815 wheel INFO adding 'falcon/constants.cpython-312-aarch64-linux-musl.so' 2024-12-05 06:41:49,815 wheel INFO adding 'falcon/constants.py' 2024-12-05 06:41:49,817 wheel INFO adding 'falcon/errors.cpython-312-aarch64-linux-musl.so' 2024-12-05 06:41:49,819 wheel INFO adding 'falcon/errors.py' 2024-12-05 06:41:49,819 wheel INFO adding 'falcon/forwarded.cpython-312-aarch64-linux-musl.so' 2024-12-05 06:41:49,820 wheel INFO adding 'falcon/forwarded.py' 2024-12-05 06:41:49,820 wheel INFO adding 'falcon/hooks.py' 2024-12-05 06:41:49,821 wheel INFO adding 'falcon/http_error.cpython-312-aarch64-linux-musl.so' 2024-12-05 06:41:49,821 wheel INFO adding 'falcon/http_error.py' 2024-12-05 06:41:49,822 wheel INFO adding 'falcon/http_status.cpython-312-aarch64-linux-musl.so' 2024-12-05 06:41:49,822 wheel INFO adding 'falcon/http_status.py' 2024-12-05 06:41:49,822 wheel INFO adding 'falcon/inspect.py' 2024-12-05 06:41:49,823 wheel INFO adding 'falcon/middleware.cpython-312-aarch64-linux-musl.so' 2024-12-05 06:41:49,823 wheel INFO adding 'falcon/middleware.py' 2024-12-05 06:41:49,823 wheel INFO adding 'falcon/py.typed' 2024-12-05 06:41:49,824 wheel INFO adding 'falcon/redirects.cpython-312-aarch64-linux-musl.so' 2024-12-05 06:41:49,824 wheel INFO adding 'falcon/redirects.py' 2024-12-05 06:41:49,828 wheel INFO adding 'falcon/request.cpython-312-aarch64-linux-musl.so' 2024-12-05 06:41:49,829 wheel INFO adding 'falcon/request.py' 2024-12-05 06:41:49,830 wheel INFO adding 'falcon/request_helpers.cpython-312-aarch64-linux-musl.so' 2024-12-05 06:41:49,830 wheel INFO adding 'falcon/request_helpers.py' 2024-12-05 06:41:49,830 wheel INFO adding 'falcon/responders.py' 2024-12-05 06:41:49,832 wheel INFO adding 'falcon/response.cpython-312-aarch64-linux-musl.so' 2024-12-05 06:41:49,833 wheel INFO adding 'falcon/response.py' 2024-12-05 06:41:49,834 wheel INFO adding 'falcon/response_helpers.cpython-312-aarch64-linux-musl.so' 2024-12-05 06:41:49,834 wheel INFO adding 'falcon/response_helpers.py' 2024-12-05 06:41:49,834 wheel INFO adding 'falcon/status_codes.cpython-312-aarch64-linux-musl.so' 2024-12-05 06:41:49,835 wheel INFO adding 'falcon/status_codes.py' 2024-12-05 06:41:49,836 wheel INFO adding 'falcon/stream.cpython-312-aarch64-linux-musl.so' 2024-12-05 06:41:49,836 wheel INFO adding 'falcon/stream.py' 2024-12-05 06:41:49,837 wheel INFO adding 'falcon/typing.cpython-312-aarch64-linux-musl.so' 2024-12-05 06:41:49,837 wheel INFO adding 'falcon/typing.py' 2024-12-05 06:41:49,837 wheel INFO adding 'falcon/uri.cpython-312-aarch64-linux-musl.so' 2024-12-05 06:41:49,838 wheel INFO adding 'falcon/uri.py' 2024-12-05 06:41:49,838 wheel INFO adding 'falcon/version.cpython-312-aarch64-linux-musl.so' 2024-12-05 06:41:49,838 wheel INFO adding 'falcon/version.py' 2024-12-05 06:41:49,838 wheel INFO adding 'falcon/asgi/__init__.py' 2024-12-05 06:41:49,838 wheel INFO adding 'falcon/asgi/_asgi_helpers.py' 2024-12-05 06:41:49,839 wheel INFO adding 'falcon/asgi/_request_helpers.py' 2024-12-05 06:41:49,839 wheel INFO adding 'falcon/asgi/app.py' 2024-12-05 06:41:49,839 wheel INFO adding 'falcon/asgi/multipart.py' 2024-12-05 06:41:49,839 wheel INFO adding 'falcon/asgi/reader.py' 2024-12-05 06:41:49,839 wheel INFO adding 'falcon/asgi/request.py' 2024-12-05 06:41:49,840 wheel INFO adding 'falcon/asgi/response.py' 2024-12-05 06:41:49,840 wheel INFO adding 'falcon/asgi/stream.py' 2024-12-05 06:41:49,840 wheel INFO adding 'falcon/asgi/structures.py' 2024-12-05 06:41:49,840 wheel INFO adding 'falcon/asgi/ws.py' 2024-12-05 06:41:49,840 wheel INFO adding 'falcon/bench/__init__.py' 2024-12-05 06:41:49,841 wheel INFO adding 'falcon/bench/bench.py' 2024-12-05 06:41:49,841 wheel INFO adding 'falcon/bench/create.py' 2024-12-05 06:41:49,841 wheel INFO adding 'falcon/bench/dj/__init__.py' 2024-12-05 06:41:49,841 wheel INFO adding 'falcon/bench/dj/manage.py' 2024-12-05 06:41:49,841 wheel INFO adding 'falcon/bench/dj/dj/__init__.py' 2024-12-05 06:41:49,841 wheel INFO adding 'falcon/bench/dj/dj/settings.py' 2024-12-05 06:41:49,841 wheel INFO adding 'falcon/bench/dj/dj/urls.py' 2024-12-05 06:41:49,841 wheel INFO adding 'falcon/bench/dj/dj/wsgi.py' 2024-12-05 06:41:49,842 wheel INFO adding 'falcon/bench/dj/hello/__init__.py' 2024-12-05 06:41:49,842 wheel INFO adding 'falcon/bench/dj/hello/admin.py' 2024-12-05 06:41:49,842 wheel INFO adding 'falcon/bench/dj/hello/apps.py' 2024-12-05 06:41:49,842 wheel INFO adding 'falcon/bench/dj/hello/models.py' 2024-12-05 06:41:49,842 wheel INFO adding 'falcon/bench/dj/hello/tests.py' 2024-12-05 06:41:49,842 wheel INFO adding 'falcon/bench/dj/hello/views.py' 2024-12-05 06:41:49,842 wheel INFO adding 'falcon/bench/dj/hello/migrations/__init__.py' 2024-12-05 06:41:49,842 wheel INFO adding 'falcon/bench/nuts/__init__.py' 2024-12-05 06:41:49,842 wheel INFO adding 'falcon/bench/nuts/config.py' 2024-12-05 06:41:49,843 wheel INFO adding 'falcon/bench/nuts/setup.py' 2024-12-05 06:41:49,843 wheel INFO adding 'falcon/bench/nuts/nuts/__init__.py' 2024-12-05 06:41:49,843 wheel INFO adding 'falcon/bench/nuts/nuts/app.py' 2024-12-05 06:41:49,843 wheel INFO adding 'falcon/bench/nuts/nuts/controllers/__init__.py' 2024-12-05 06:41:49,843 wheel INFO adding 'falcon/bench/nuts/nuts/controllers/root.py' 2024-12-05 06:41:49,843 wheel INFO adding 'falcon/bench/nuts/nuts/model/__init__.py' 2024-12-05 06:41:49,843 wheel INFO adding 'falcon/bench/nuts/nuts/tests/__init__.py' 2024-12-05 06:41:49,843 wheel INFO adding 'falcon/bench/nuts/nuts/tests/config.py' 2024-12-05 06:41:49,844 wheel INFO adding 'falcon/bench/nuts/nuts/tests/test_functional.py' 2024-12-05 06:41:49,844 wheel INFO adding 'falcon/bench/nuts/nuts/tests/test_units.py' 2024-12-05 06:41:49,844 wheel INFO adding 'falcon/bench/queues/__init__.py' 2024-12-05 06:41:49,844 wheel INFO adding 'falcon/bench/queues/api.py' 2024-12-05 06:41:49,844 wheel INFO adding 'falcon/bench/queues/claims.py' 2024-12-05 06:41:49,844 wheel INFO adding 'falcon/bench/queues/messages.py' 2024-12-05 06:41:49,844 wheel INFO adding 'falcon/bench/queues/queues.py' 2024-12-05 06:41:49,844 wheel INFO adding 'falcon/bench/queues/stats.py' 2024-12-05 06:41:49,845 wheel INFO adding 'falcon/cmd/__init__.py' 2024-12-05 06:41:49,845 wheel INFO adding 'falcon/cmd/bench.py' 2024-12-05 06:41:49,845 wheel INFO adding 'falcon/cmd/inspect_app.py' 2024-12-05 06:41:49,845 wheel INFO adding 'falcon/cyutil/__init__.py' 2024-12-05 06:41:49,845 wheel INFO adding 'falcon/cyutil/misc.cpython-312-aarch64-linux-musl.so' 2024-12-05 06:41:49,846 wheel INFO adding 'falcon/cyutil/misc.pyx' 2024-12-05 06:41:49,847 wheel INFO adding 'falcon/cyutil/reader.cpython-312-aarch64-linux-musl.so' 2024-12-05 06:41:49,847 wheel INFO adding 'falcon/cyutil/reader.pyx' 2024-12-05 06:41:49,848 wheel INFO adding 'falcon/cyutil/uri.cpython-312-aarch64-linux-musl.so' 2024-12-05 06:41:49,848 wheel INFO adding 'falcon/cyutil/uri.pyx' 2024-12-05 06:41:49,848 wheel INFO adding 'falcon/media/__init__.py' 2024-12-05 06:41:49,849 wheel INFO adding 'falcon/media/base.cpython-312-aarch64-linux-musl.so' 2024-12-05 06:41:49,850 wheel INFO adding 'falcon/media/base.py' 2024-12-05 06:41:49,851 wheel INFO adding 'falcon/media/handlers.cpython-312-aarch64-linux-musl.so' 2024-12-05 06:41:49,851 wheel INFO adding 'falcon/media/handlers.py' 2024-12-05 06:41:49,852 wheel INFO adding 'falcon/media/json.cpython-312-aarch64-linux-musl.so' 2024-12-05 06:41:49,853 wheel INFO adding 'falcon/media/json.py' 2024-12-05 06:41:49,854 wheel INFO adding 'falcon/media/msgpack.cpython-312-aarch64-linux-musl.so' 2024-12-05 06:41:49,854 wheel INFO adding 'falcon/media/msgpack.py' 2024-12-05 06:41:49,855 wheel INFO adding 'falcon/media/multipart.cpython-312-aarch64-linux-musl.so' 2024-12-05 06:41:49,856 wheel INFO adding 'falcon/media/multipart.py' 2024-12-05 06:41:49,857 wheel INFO adding 'falcon/media/urlencoded.cpython-312-aarch64-linux-musl.so' 2024-12-05 06:41:49,857 wheel INFO adding 'falcon/media/urlencoded.py' 2024-12-05 06:41:49,858 wheel INFO adding 'falcon/media/validators/__init__.py' 2024-12-05 06:41:49,858 wheel INFO adding 'falcon/media/validators/jsonschema.py' 2024-12-05 06:41:49,858 wheel INFO adding 'falcon/routing/__init__.py' 2024-12-05 06:41:49,861 wheel INFO adding 'falcon/routing/compiled.cpython-312-aarch64-linux-musl.so' 2024-12-05 06:41:49,862 wheel INFO adding 'falcon/routing/compiled.py' 2024-12-05 06:41:49,863 wheel INFO adding 'falcon/routing/converters.cpython-312-aarch64-linux-musl.so' 2024-12-05 06:41:49,863 wheel INFO adding 'falcon/routing/converters.py' 2024-12-05 06:41:49,864 wheel INFO adding 'falcon/routing/static.cpython-312-aarch64-linux-musl.so' 2024-12-05 06:41:49,865 wheel INFO adding 'falcon/routing/static.py' 2024-12-05 06:41:49,866 wheel INFO adding 'falcon/routing/util.cpython-312-aarch64-linux-musl.so' 2024-12-05 06:41:49,866 wheel INFO adding 'falcon/routing/util.py' 2024-12-05 06:41:49,866 wheel INFO adding 'falcon/testing/__init__.py' 2024-12-05 06:41:49,867 wheel INFO adding 'falcon/testing/client.py' 2024-12-05 06:41:49,867 wheel INFO adding 'falcon/testing/helpers.py' 2024-12-05 06:41:49,867 wheel INFO adding 'falcon/testing/resource.py' 2024-12-05 06:41:49,867 wheel INFO adding 'falcon/testing/srmock.py' 2024-12-05 06:41:49,867 wheel INFO adding 'falcon/testing/test_case.py' 2024-12-05 06:41:49,867 wheel INFO adding 'falcon/util/__init__.py' 2024-12-05 06:41:49,868 wheel INFO adding 'falcon/util/deprecation.cpython-312-aarch64-linux-musl.so' 2024-12-05 06:41:49,869 wheel INFO adding 'falcon/util/deprecation.py' 2024-12-05 06:41:49,870 wheel INFO adding 'falcon/util/mediatypes.cpython-312-aarch64-linux-musl.so' 2024-12-05 06:41:49,870 wheel INFO adding 'falcon/util/mediatypes.py' 2024-12-05 06:41:49,871 wheel INFO adding 'falcon/util/misc.cpython-312-aarch64-linux-musl.so' 2024-12-05 06:41:49,872 wheel INFO adding 'falcon/util/misc.py' 2024-12-05 06:41:49,872 wheel INFO adding 'falcon/util/reader.py' 2024-12-05 06:41:49,873 wheel INFO adding 'falcon/util/structures.cpython-312-aarch64-linux-musl.so' 2024-12-05 06:41:49,874 wheel INFO adding 'falcon/util/structures.py' 2024-12-05 06:41:49,874 wheel INFO adding 'falcon/util/sync.py' 2024-12-05 06:41:49,875 wheel INFO adding 'falcon/util/time.cpython-312-aarch64-linux-musl.so' 2024-12-05 06:41:49,875 wheel INFO adding 'falcon/util/time.py' 2024-12-05 06:41:49,876 wheel INFO adding 'falcon/util/uri.cpython-312-aarch64-linux-musl.so' 2024-12-05 06:41:49,877 wheel INFO adding 'falcon/util/uri.py' 2024-12-05 06:41:49,877 wheel INFO adding 'falcon-4.0.2.dist-info/LICENSE' 2024-12-05 06:41:49,877 wheel INFO adding 'falcon-4.0.2.dist-info/METADATA' 2024-12-05 06:41:49,877 wheel INFO adding 'falcon-4.0.2.dist-info/WHEEL' 2024-12-05 06:41:49,877 wheel INFO adding 'falcon-4.0.2.dist-info/entry_points.txt' 2024-12-05 06:41:49,877 wheel INFO adding 'falcon-4.0.2.dist-info/top_level.txt' 2024-12-05 06:41:49,878 wheel INFO adding 'falcon-4.0.2.dist-info/RECORD' 2024-12-05 06:41:49,879 root INFO removing build/bdist.linux-aarch64/wheel 2024-12-05 06:41:49,886 gpep517 INFO The backend produced dist/falcon-4.0.2-cp312-cp312-linux_aarch64.whl falcon-4.0.2-cp312-cp312-linux_aarch64.whl /usr/lib/python3.12/site-packages/pytest_asyncio/plugin.py:208: PytestDeprecationWarning: The configuration option "asyncio_default_fixture_loop_scope" is unset. The event loop scope for asynchronous fixtures will default to the fixture caching scope. Future versions of pytest-asyncio will default the loop scope for asynchronous fixtures to function scope. Set the default fixture loop scope explicitly in order to avoid unexpected behavior in the future. Valid fixture loop scopes are: "function", "class", "module", "package", "session" warnings.warn(PytestDeprecationWarning(_DEFAULT_FIXTURE_LOOP_SCOPE_UNSET)) ============================= test session starts ============================== platform linux -- Python 3.12.7, pytest-8.3.4, pluggy-1.5.0 -- /usr/bin/python3 cachedir: .pytest_cache rootdir: /home/buildozer/aports/testing/py3-falcon/src/falcon-4.0.2 configfile: pyproject.toml plugins: anyio-0.0.0, asyncio-0.24.0 asyncio: mode=Mode.STRICT, default_loop_scope=None collecting ... collected 4070 items tests/asgi/test_asgi_conductor.py::test_default_headers PASSED [ 0%] tests/asgi/test_asgi_conductor.py::test_generic_request[request] PASSED [ 0%] tests/asgi/test_asgi_conductor.py::test_generic_request[simulate_request] PASSED [ 0%] tests/asgi/test_asgi_conductor.py::test_wsgi_not_supported PASSED [ 0%] tests/asgi/test_asgi_conductor.py::test_responders[alias-get] PASSED [ 0%] tests/asgi/test_asgi_conductor.py::test_responders[alias-head] PASSED [ 0%] tests/asgi/test_asgi_conductor.py::test_responders[alias-post] PASSED [ 0%] tests/asgi/test_asgi_conductor.py::test_responders[alias-put] PASSED [ 0%] tests/asgi/test_asgi_conductor.py::test_responders[alias-options] PASSED [ 0%] tests/asgi/test_asgi_conductor.py::test_responders[alias-patch] PASSED [ 0%] tests/asgi/test_asgi_conductor.py::test_responders[alias-delete] PASSED [ 0%] tests/asgi/test_asgi_conductor.py::test_responders[simulate-get] PASSED [ 0%] tests/asgi/test_asgi_conductor.py::test_responders[simulate-head] PASSED [ 0%] tests/asgi/test_asgi_conductor.py::test_responders[simulate-post] PASSED [ 0%] tests/asgi/test_asgi_conductor.py::test_responders[simulate-put] PASSED [ 0%] tests/asgi/test_asgi_conductor.py::test_responders[simulate-options] PASSED [ 0%] tests/asgi/test_asgi_conductor.py::test_responders[simulate-patch] PASSED [ 0%] tests/asgi/test_asgi_conductor.py::test_responders[simulate-delete] PASSED [ 0%] tests/asgi/test_asgi_helpers.py::test_intricate_app PASSED [ 0%] tests/asgi/test_asgi_servers.py::TestASGIServer::test_get[_uvicorn_factory] PASSED [ 0%] tests/asgi/test_asgi_servers.py::TestASGIServer::test_get[_daphne_factory] PASSED [ 0%] tests/asgi/test_asgi_servers.py::TestASGIServer::test_get[_hypercorn_factory] SKIPPED [ 0%] tests/asgi/test_asgi_servers.py::TestASGIServer::test_put[_uvicorn_factory] PASSED [ 0%] tests/asgi/test_asgi_servers.py::TestASGIServer::test_put[_daphne_factory] PASSED [ 0%] tests/asgi/test_asgi_servers.py::TestASGIServer::test_put[_hypercorn_factory] SKIPPED [ 0%] tests/asgi/test_asgi_servers.py::TestASGIServer::test_head_405[_uvicorn_factory] PASSED [ 0%] tests/asgi/test_asgi_servers.py::TestASGIServer::test_head_405[_daphne_factory] PASSED [ 0%] tests/asgi/test_asgi_servers.py::TestASGIServer::test_head_405[_hypercorn_factory] SKIPPED [ 0%] tests/asgi/test_asgi_servers.py::TestASGIServer::test_post_multipart_form[_uvicorn_factory] PASSED [ 0%] tests/asgi/test_asgi_servers.py::TestASGIServer::test_post_multipart_form[_daphne_factory] PASSED [ 0%] tests/asgi/test_asgi_servers.py::TestASGIServer::test_post_multipart_form[_hypercorn_factory] SKIPPED [ 0%] tests/asgi/test_asgi_servers.py::TestASGIServer::test_post_multiple[_uvicorn_factory] PASSED [ 0%] tests/asgi/test_asgi_servers.py::TestASGIServer::test_post_multiple[_daphne_factory] PASSED [ 0%] tests/asgi/test_asgi_servers.py::TestASGIServer::test_post_multiple[_hypercorn_factory] SKIPPED [ 0%] tests/asgi/test_asgi_servers.py::TestASGIServer::test_post_invalid_content_length[_uvicorn_factory] PASSED [ 0%] tests/asgi/test_asgi_servers.py::TestASGIServer::test_post_invalid_content_length[_daphne_factory] PASSED [ 0%] tests/asgi/test_asgi_servers.py::TestASGIServer::test_post_invalid_content_length[_hypercorn_factory] SKIPPED [ 0%] tests/asgi/test_asgi_servers.py::TestASGIServer::test_post_read_bounded_stream[_uvicorn_factory] PASSED [ 0%] tests/asgi/test_asgi_servers.py::TestASGIServer::test_post_read_bounded_stream[_daphne_factory] PASSED [ 0%] tests/asgi/test_asgi_servers.py::TestASGIServer::test_post_read_bounded_stream[_hypercorn_factory] SKIPPED [ 0%] tests/asgi/test_asgi_servers.py::TestASGIServer::test_post_read_bounded_stream_large[_uvicorn_factory] PASSED [ 1%] tests/asgi/test_asgi_servers.py::TestASGIServer::test_post_read_bounded_stream_large[_daphne_factory] PASSED [ 1%] tests/asgi/test_asgi_servers.py::TestASGIServer::test_post_read_bounded_stream_large[_hypercorn_factory] SKIPPED [ 1%] tests/asgi/test_asgi_servers.py::TestASGIServer::test_post_read_bounded_stream_no_body[_uvicorn_factory] PASSED [ 1%] tests/asgi/test_asgi_servers.py::TestASGIServer::test_post_read_bounded_stream_no_body[_daphne_factory] PASSED [ 1%] tests/asgi/test_asgi_servers.py::TestASGIServer::test_post_read_bounded_stream_no_body[_hypercorn_factory] SKIPPED [ 1%] tests/asgi/test_asgi_servers.py::TestASGIServer::test_sse[_uvicorn_factory] PASSED [ 1%] tests/asgi/test_asgi_servers.py::TestASGIServer::test_sse[_daphne_factory] PASSED [ 1%] tests/asgi/test_asgi_servers.py::TestASGIServer::test_sse[_hypercorn_factory] SKIPPED [ 1%] tests/asgi/test_asgi_servers.py::TestASGIServer::test_sse_client_disconnects_early[_uvicorn_factory] PASSED [ 1%] tests/asgi/test_asgi_servers.py::TestASGIServer::test_sse_client_disconnects_early[_daphne_factory] PASSED [ 1%] tests/asgi/test_asgi_servers.py::TestASGIServer::test_sse_client_disconnects_early[_hypercorn_factory] SKIPPED [ 1%] tests/asgi/test_asgi_servers.py::TestASGIServer::test_stream_chunked_request[_uvicorn_factory] PASSED [ 1%] tests/asgi/test_asgi_servers.py::TestASGIServer::test_stream_chunked_request[_daphne_factory] PASSED [ 1%] tests/asgi/test_asgi_servers.py::TestASGIServer::test_stream_chunked_request[_hypercorn_factory] SKIPPED [ 1%] tests/asgi/test_asgi_servers.py::TestWebSocket::test_hello[_uvicorn_factory-0-None-True] PASSED [ 1%] tests/asgi/test_asgi_servers.py::TestWebSocket::test_hello[_uvicorn_factory-0-None-False] PASSED [ 1%] tests/asgi/test_asgi_servers.py::TestWebSocket::test_hello[_uvicorn_factory-0-4321-True] PASSED [ 1%] tests/asgi/test_asgi_servers.py::TestWebSocket::test_hello[_uvicorn_factory-0-4321-False] PASSED [ 1%] tests/asgi/test_asgi_servers.py::TestWebSocket::test_hello[_uvicorn_factory-4-None-True] PASSED [ 1%] tests/asgi/test_asgi_servers.py::TestWebSocket::test_hello[_uvicorn_factory-4-None-False] PASSED [ 1%] tests/asgi/test_asgi_servers.py::TestWebSocket::test_hello[_uvicorn_factory-4-4321-True] PASSED [ 1%] tests/asgi/test_asgi_servers.py::TestWebSocket::test_hello[_uvicorn_factory-4-4321-False] PASSED [ 1%] tests/asgi/test_asgi_servers.py::TestWebSocket::test_hello[_uvicorn_factory-17-None-True] PASSED [ 1%] tests/asgi/test_asgi_servers.py::TestWebSocket::test_hello[_uvicorn_factory-17-None-False] PASSED [ 1%] tests/asgi/test_asgi_servers.py::TestWebSocket::test_hello[_uvicorn_factory-17-4321-True] PASSED [ 1%] tests/asgi/test_asgi_servers.py::TestWebSocket::test_hello[_uvicorn_factory-17-4321-False] PASSED [ 1%] tests/asgi/test_asgi_servers.py::TestWebSocket::test_hello[_daphne_factory-0-None-True] PASSED [ 1%] tests/asgi/test_asgi_servers.py::TestWebSocket::test_hello[_daphne_factory-0-None-False] PASSED [ 1%] tests/asgi/test_asgi_servers.py::TestWebSocket::test_hello[_daphne_factory-0-4321-True] PASSED [ 1%] tests/asgi/test_asgi_servers.py::TestWebSocket::test_hello[_daphne_factory-0-4321-False] PASSED [ 1%] tests/asgi/test_asgi_servers.py::TestWebSocket::test_hello[_daphne_factory-4-None-True] PASSED [ 1%] tests/asgi/test_asgi_servers.py::TestWebSocket::test_hello[_daphne_factory-4-None-False] PASSED [ 1%] tests/asgi/test_asgi_servers.py::TestWebSocket::test_hello[_daphne_factory-4-4321-True] PASSED [ 1%] tests/asgi/test_asgi_servers.py::TestWebSocket::test_hello[_daphne_factory-4-4321-False] PASSED [ 1%] tests/asgi/test_asgi_servers.py::TestWebSocket::test_hello[_daphne_factory-17-None-True] PASSED [ 1%] tests/asgi/test_asgi_servers.py::TestWebSocket::test_hello[_daphne_factory-17-None-False] PASSED [ 1%] tests/asgi/test_asgi_servers.py::TestWebSocket::test_hello[_daphne_factory-17-4321-True] PASSED [ 1%] tests/asgi/test_asgi_servers.py::TestWebSocket::test_hello[_daphne_factory-17-4321-False] PASSED [ 1%] tests/asgi/test_asgi_servers.py::TestWebSocket::test_hello[_hypercorn_factory-0-None-True] SKIPPED [ 1%] tests/asgi/test_asgi_servers.py::TestWebSocket::test_hello[_hypercorn_factory-0-None-False] SKIPPED [ 1%] tests/asgi/test_asgi_servers.py::TestWebSocket::test_hello[_hypercorn_factory-0-4321-True] SKIPPED [ 2%] tests/asgi/test_asgi_servers.py::TestWebSocket::test_hello[_hypercorn_factory-0-4321-False] SKIPPED [ 2%] tests/asgi/test_asgi_servers.py::TestWebSocket::test_hello[_hypercorn_factory-4-None-True] SKIPPED [ 2%] tests/asgi/test_asgi_servers.py::TestWebSocket::test_hello[_hypercorn_factory-4-None-False] SKIPPED [ 2%] tests/asgi/test_asgi_servers.py::TestWebSocket::test_hello[_hypercorn_factory-4-4321-True] SKIPPED [ 2%] tests/asgi/test_asgi_servers.py::TestWebSocket::test_hello[_hypercorn_factory-4-4321-False] SKIPPED [ 2%] tests/asgi/test_asgi_servers.py::TestWebSocket::test_hello[_hypercorn_factory-17-None-True] SKIPPED [ 2%] tests/asgi/test_asgi_servers.py::TestWebSocket::test_hello[_hypercorn_factory-17-None-False] SKIPPED [ 2%] tests/asgi/test_asgi_servers.py::TestWebSocket::test_hello[_hypercorn_factory-17-4321-True] SKIPPED [ 2%] tests/asgi/test_asgi_servers.py::TestWebSocket::test_hello[_hypercorn_factory-17-4321-False] SKIPPED [ 2%] tests/asgi/test_asgi_servers.py::TestWebSocket::test_rejected[_uvicorn_factory-None-True] PASSED [ 2%] tests/asgi/test_asgi_servers.py::TestWebSocket::test_rejected[_uvicorn_factory-None-False] PASSED [ 2%] tests/asgi/test_asgi_servers.py::TestWebSocket::test_rejected[_uvicorn_factory-4040-True] PASSED [ 2%] tests/asgi/test_asgi_servers.py::TestWebSocket::test_rejected[_uvicorn_factory-4040-False] PASSED [ 2%] tests/asgi/test_asgi_servers.py::TestWebSocket::test_rejected[_daphne_factory-None-True] PASSED [ 2%] tests/asgi/test_asgi_servers.py::TestWebSocket::test_rejected[_daphne_factory-None-False] PASSED [ 2%] tests/asgi/test_asgi_servers.py::TestWebSocket::test_rejected[_daphne_factory-4040-True] PASSED [ 2%] tests/asgi/test_asgi_servers.py::TestWebSocket::test_rejected[_daphne_factory-4040-False] PASSED [ 2%] tests/asgi/test_asgi_servers.py::TestWebSocket::test_rejected[_hypercorn_factory-None-True] SKIPPED [ 2%] tests/asgi/test_asgi_servers.py::TestWebSocket::test_rejected[_hypercorn_factory-None-False] SKIPPED [ 2%] tests/asgi/test_asgi_servers.py::TestWebSocket::test_rejected[_hypercorn_factory-4040-True] SKIPPED [ 2%] tests/asgi/test_asgi_servers.py::TestWebSocket::test_rejected[_hypercorn_factory-4040-False] SKIPPED [ 2%] tests/asgi/test_asgi_servers.py::TestWebSocket::test_missing_responder[_uvicorn_factory] PASSED [ 2%] tests/asgi/test_asgi_servers.py::TestWebSocket::test_missing_responder[_daphne_factory] PASSED [ 2%] tests/asgi/test_asgi_servers.py::TestWebSocket::test_missing_responder[_hypercorn_factory] SKIPPED [ 2%] tests/asgi/test_asgi_servers.py::TestWebSocket::test_select_subprotocol_known[_uvicorn_factory-*-amqp] PASSED [ 2%] tests/asgi/test_asgi_servers.py::TestWebSocket::test_select_subprotocol_known[_uvicorn_factory-wamp-wamp] PASSED [ 2%] tests/asgi/test_asgi_servers.py::TestWebSocket::test_select_subprotocol_known[_daphne_factory-*-amqp] PASSED [ 2%] tests/asgi/test_asgi_servers.py::TestWebSocket::test_select_subprotocol_known[_daphne_factory-wamp-wamp] PASSED [ 2%] tests/asgi/test_asgi_servers.py::TestWebSocket::test_select_subprotocol_known[_hypercorn_factory-*-amqp] SKIPPED [ 2%] tests/asgi/test_asgi_servers.py::TestWebSocket::test_select_subprotocol_known[_hypercorn_factory-wamp-wamp] SKIPPED [ 2%] tests/asgi/test_asgi_servers.py::TestWebSocket::test_select_subprotocol_unknown[_uvicorn_factory] PASSED [ 2%] tests/asgi/test_asgi_servers.py::TestWebSocket::test_select_subprotocol_unknown[_daphne_factory] PASSED [ 2%] tests/asgi/test_asgi_servers.py::TestWebSocket::test_select_subprotocol_unknown[_hypercorn_factory] SKIPPED [ 2%] tests/asgi/test_asgi_servers.py::TestWebSocket::test_disconnecting_client_early[_uvicorn_factory] PASSED [ 2%] tests/asgi/test_asgi_servers.py::TestWebSocket::test_disconnecting_client_early[_daphne_factory] PASSED [ 2%] tests/asgi/test_asgi_servers.py::TestWebSocket::test_disconnecting_client_early[_hypercorn_factory] SKIPPED [ 2%] tests/asgi/test_asgi_servers.py::TestWebSocket::test_send_before_accept[_uvicorn_factory] PASSED [ 2%] tests/asgi/test_asgi_servers.py::TestWebSocket::test_send_before_accept[_daphne_factory] PASSED [ 2%] tests/asgi/test_asgi_servers.py::TestWebSocket::test_send_before_accept[_hypercorn_factory] SKIPPED [ 2%] tests/asgi/test_asgi_servers.py::TestWebSocket::test_recv_before_accept[_uvicorn_factory] PASSED [ 2%] tests/asgi/test_asgi_servers.py::TestWebSocket::test_recv_before_accept[_daphne_factory] PASSED [ 3%] tests/asgi/test_asgi_servers.py::TestWebSocket::test_recv_before_accept[_hypercorn_factory] SKIPPED [ 3%] tests/asgi/test_asgi_servers.py::TestWebSocket::test_invalid_close_code[_uvicorn_factory] PASSED [ 3%] tests/asgi/test_asgi_servers.py::TestWebSocket::test_invalid_close_code[_daphne_factory] PASSED [ 3%] tests/asgi/test_asgi_servers.py::TestWebSocket::test_invalid_close_code[_hypercorn_factory] SKIPPED [ 3%] tests/asgi/test_asgi_servers.py::TestWebSocket::test_close_code_on_unhandled_error[_uvicorn_factory] PASSED [ 3%] tests/asgi/test_asgi_servers.py::TestWebSocket::test_close_code_on_unhandled_error[_daphne_factory] PASSED [ 3%] tests/asgi/test_asgi_servers.py::TestWebSocket::test_close_code_on_unhandled_error[_hypercorn_factory] SKIPPED [ 3%] tests/asgi/test_asgi_servers.py::TestWebSocket::test_close_code_on_unhandled_http_error[_uvicorn_factory] PASSED [ 3%] tests/asgi/test_asgi_servers.py::TestWebSocket::test_close_code_on_unhandled_http_error[_daphne_factory] PASSED [ 3%] tests/asgi/test_asgi_servers.py::TestWebSocket::test_close_code_on_unhandled_http_error[_hypercorn_factory] SKIPPED [ 3%] tests/asgi/test_asgi_servers.py::TestWebSocket::test_type_mismatch[_uvicorn_factory-text-send] PASSED [ 3%] tests/asgi/test_asgi_servers.py::TestWebSocket::test_type_mismatch[_uvicorn_factory-text-recv] PASSED [ 3%] tests/asgi/test_asgi_servers.py::TestWebSocket::test_type_mismatch[_uvicorn_factory-data-send] PASSED [ 3%] tests/asgi/test_asgi_servers.py::TestWebSocket::test_type_mismatch[_uvicorn_factory-data-recv] PASSED [ 3%] tests/asgi/test_asgi_servers.py::TestWebSocket::test_type_mismatch[_daphne_factory-text-send] PASSED [ 3%] tests/asgi/test_asgi_servers.py::TestWebSocket::test_type_mismatch[_daphne_factory-text-recv] PASSED [ 3%] tests/asgi/test_asgi_servers.py::TestWebSocket::test_type_mismatch[_daphne_factory-data-send] PASSED [ 3%] tests/asgi/test_asgi_servers.py::TestWebSocket::test_type_mismatch[_daphne_factory-data-recv] PASSED [ 3%] tests/asgi/test_asgi_servers.py::TestWebSocket::test_type_mismatch[_hypercorn_factory-text-send] SKIPPED [ 3%] tests/asgi/test_asgi_servers.py::TestWebSocket::test_type_mismatch[_hypercorn_factory-text-recv] SKIPPED [ 3%] tests/asgi/test_asgi_servers.py::TestWebSocket::test_type_mismatch[_hypercorn_factory-data-send] SKIPPED [ 3%] tests/asgi/test_asgi_servers.py::TestWebSocket::test_type_mismatch[_hypercorn_factory-data-recv] SKIPPED [ 3%] tests/asgi/test_asgi_servers.py::TestWebSocket::test_passing_path_params[_uvicorn_factory] PASSED [ 3%] tests/asgi/test_asgi_servers.py::TestWebSocket::test_passing_path_params[_daphne_factory] PASSED [ 3%] tests/asgi/test_asgi_servers.py::TestWebSocket::test_passing_path_params[_hypercorn_factory] SKIPPED [ 3%] tests/asgi/test_boundedstream_asgi.py::test_read_all[True-True-empty] PASSED [ 3%] tests/asgi/test_boundedstream_asgi.py::test_read_all[True-True-null] PASSED [ 3%] tests/asgi/test_boundedstream_asgi.py::test_read_all[True-True-null-ff] PASSED [ 3%] tests/asgi/test_boundedstream_asgi.py::test_read_all[True-True-normal] PASSED [ 3%] tests/asgi/test_boundedstream_asgi.py::test_read_all[True-True-long] PASSED [ 3%] tests/asgi/test_boundedstream_asgi.py::test_read_all[True-True-random] PASSED [ 3%] tests/asgi/test_boundedstream_asgi.py::test_read_all[True-True-random-large] PASSED [ 3%] tests/asgi/test_boundedstream_asgi.py::test_read_all[True-False-empty] PASSED [ 3%] tests/asgi/test_boundedstream_asgi.py::test_read_all[True-False-null] PASSED [ 3%] tests/asgi/test_boundedstream_asgi.py::test_read_all[True-False-null-ff] PASSED [ 3%] tests/asgi/test_boundedstream_asgi.py::test_read_all[True-False-normal] PASSED [ 3%] tests/asgi/test_boundedstream_asgi.py::test_read_all[True-False-long] PASSED [ 3%] tests/asgi/test_boundedstream_asgi.py::test_read_all[True-False-random] PASSED [ 3%] tests/asgi/test_boundedstream_asgi.py::test_read_all[True-False-random-large] PASSED [ 3%] tests/asgi/test_boundedstream_asgi.py::test_read_all[False-True-empty] SKIPPEDhe parameter permutations) [ 4%] tests/asgi/test_boundedstream_asgi.py::test_read_all[False-True-null] SKIPPEDhe parameter permutations) [ 4%] tests/asgi/test_boundedstream_asgi.py::test_read_all[False-True-null-ff] SKIPPEDhe parameter permutations) [ 4%] tests/asgi/test_boundedstream_asgi.py::test_read_all[False-True-normal] SKIPPEDhe parameter permutations) [ 4%] tests/asgi/test_boundedstream_asgi.py::test_read_all[False-True-long] SKIPPEDhe parameter permutations) [ 4%] tests/asgi/test_boundedstream_asgi.py::test_read_all[False-True-random] SKIPPEDhe parameter permutations) [ 4%] tests/asgi/test_boundedstream_asgi.py::test_read_all[False-True-random-large] SKIPPEDhe parameter permutations) [ 4%] tests/asgi/test_boundedstream_asgi.py::test_read_all[False-False-empty] PASSED [ 4%] tests/asgi/test_boundedstream_asgi.py::test_read_all[False-False-null] PASSED [ 4%] tests/asgi/test_boundedstream_asgi.py::test_read_all[False-False-null-ff] PASSED [ 4%] tests/asgi/test_boundedstream_asgi.py::test_read_all[False-False-normal] PASSED [ 4%] tests/asgi/test_boundedstream_asgi.py::test_read_all[False-False-long] PASSED [ 4%] tests/asgi/test_boundedstream_asgi.py::test_read_all[False-False-random] PASSED [ 4%] tests/asgi/test_boundedstream_asgi.py::test_read_all[False-False-random-large] PASSED [ 4%] tests/asgi/test_boundedstream_asgi.py::test_filelike PASSED [ 4%] tests/asgi/test_boundedstream_asgi.py::test_iterate_streaming_request PASSED [ 4%] tests/asgi/test_boundedstream_asgi.py::test_read_chunks[1-empty] PASSED [ 4%] tests/asgi/test_boundedstream_asgi.py::test_read_chunks[1-null] PASSED [ 4%] tests/asgi/test_boundedstream_asgi.py::test_read_chunks[1-null-ff] PASSED [ 4%] tests/asgi/test_boundedstream_asgi.py::test_read_chunks[1-normal] PASSED [ 4%] tests/asgi/test_boundedstream_asgi.py::test_read_chunks[1-long] PASSED [ 4%] tests/asgi/test_boundedstream_asgi.py::test_read_chunks[1-random] PASSED [ 4%] tests/asgi/test_boundedstream_asgi.py::test_read_chunks[2-empty] PASSED [ 4%] tests/asgi/test_boundedstream_asgi.py::test_read_chunks[2-null] PASSED [ 4%] tests/asgi/test_boundedstream_asgi.py::test_read_chunks[2-null-ff] PASSED [ 4%] tests/asgi/test_boundedstream_asgi.py::test_read_chunks[2-normal] PASSED [ 4%] tests/asgi/test_boundedstream_asgi.py::test_read_chunks[2-long] PASSED [ 4%] tests/asgi/test_boundedstream_asgi.py::test_read_chunks[2-random] PASSED [ 4%] tests/asgi/test_boundedstream_asgi.py::test_read_chunks[10-empty] PASSED [ 4%] tests/asgi/test_boundedstream_asgi.py::test_read_chunks[10-null] PASSED [ 4%] tests/asgi/test_boundedstream_asgi.py::test_read_chunks[10-null-ff] PASSED [ 4%] tests/asgi/test_boundedstream_asgi.py::test_read_chunks[10-normal] PASSED [ 4%] tests/asgi/test_boundedstream_asgi.py::test_read_chunks[10-long] PASSED [ 4%] tests/asgi/test_boundedstream_asgi.py::test_read_chunks[10-random] PASSED [ 4%] tests/asgi/test_boundedstream_asgi.py::test_read_chunks[64-empty] PASSED [ 4%] tests/asgi/test_boundedstream_asgi.py::test_read_chunks[64-null] PASSED [ 4%] tests/asgi/test_boundedstream_asgi.py::test_read_chunks[64-null-ff] PASSED [ 4%] tests/asgi/test_boundedstream_asgi.py::test_read_chunks[64-normal] PASSED [ 4%] tests/asgi/test_boundedstream_asgi.py::test_read_chunks[64-long] PASSED [ 4%] tests/asgi/test_boundedstream_asgi.py::test_read_chunks[64-random] PASSED [ 4%] tests/asgi/test_boundedstream_asgi.py::test_read_chunks[100-empty] PASSED [ 4%] tests/asgi/test_boundedstream_asgi.py::test_read_chunks[100-null] PASSED [ 5%] tests/asgi/test_boundedstream_asgi.py::test_read_chunks[100-null-ff] PASSED [ 5%] tests/asgi/test_boundedstream_asgi.py::test_read_chunks[100-normal] PASSED [ 5%] tests/asgi/test_boundedstream_asgi.py::test_read_chunks[100-long] PASSED [ 5%] tests/asgi/test_boundedstream_asgi.py::test_read_chunks[100-random] PASSED [ 5%] tests/asgi/test_boundedstream_asgi.py::test_read_chunks[1000-empty] PASSED [ 5%] tests/asgi/test_boundedstream_asgi.py::test_read_chunks[1000-null] PASSED [ 5%] tests/asgi/test_boundedstream_asgi.py::test_read_chunks[1000-null-ff] PASSED [ 5%] tests/asgi/test_boundedstream_asgi.py::test_read_chunks[1000-normal] PASSED [ 5%] tests/asgi/test_boundedstream_asgi.py::test_read_chunks[1000-long] PASSED [ 5%] tests/asgi/test_boundedstream_asgi.py::test_read_chunks[1000-random] PASSED [ 5%] tests/asgi/test_boundedstream_asgi.py::test_read_chunks[10000-empty] PASSED [ 5%] tests/asgi/test_boundedstream_asgi.py::test_read_chunks[10000-null] PASSED [ 5%] tests/asgi/test_boundedstream_asgi.py::test_read_chunks[10000-null-ff] PASSED [ 5%] tests/asgi/test_boundedstream_asgi.py::test_read_chunks[10000-normal] PASSED [ 5%] tests/asgi/test_boundedstream_asgi.py::test_read_chunks[10000-long] PASSED [ 5%] tests/asgi/test_boundedstream_asgi.py::test_read_chunks[10000-random] PASSED [ 5%] tests/asgi/test_boundedstream_asgi.py::test_exhaust_with_disconnect PASSED [ 5%] tests/asgi/test_boundedstream_asgi.py::test_exhaust PASSED [ 5%] tests/asgi/test_boundedstream_asgi.py::test_iteration_already_started PASSED [ 5%] tests/asgi/test_buffered_reader.py::test_basic_aiter PASSED [ 5%] tests/asgi/test_buffered_reader.py::test_aiter_from_buffer PASSED [ 5%] tests/asgi/test_buffered_reader.py::test_delimit[H-expected0] PASSED [ 5%] tests/asgi/test_buffered_reader.py::test_delimit[Hello-expected1] PASSED [ 5%] tests/asgi/test_buffered_reader.py::test_delimit[o-expected2] PASSED [ 5%] tests/asgi/test_buffered_reader.py::test_delimit[ting-expected3] PASSED [ 5%] tests/asgi/test_buffered_reader.py::test_delimit[404-expected4] PASSED [ 5%] tests/asgi/test_buffered_reader.py::test_exhaust PASSED [ 5%] tests/asgi/test_buffered_reader.py::test_peek[1] PASSED [ 5%] tests/asgi/test_buffered_reader.py::test_peek[2] PASSED [ 5%] tests/asgi/test_buffered_reader.py::test_peek[3] PASSED [ 5%] tests/asgi/test_buffered_reader.py::test_peek[5] PASSED [ 5%] tests/asgi/test_buffered_reader.py::test_peek[7] PASSED [ 5%] tests/asgi/test_buffered_reader.py::test_peek[8] PASSED [ 5%] tests/asgi/test_buffered_reader.py::test_peek_at_eof PASSED [ 5%] tests/asgi/test_buffered_reader.py::test_pipe PASSED [ 5%] tests/asgi/test_buffered_reader.py::test_pipe_until_delimiter_not_found PASSED [ 5%] tests/asgi/test_buffered_reader.py::test_read[sizes0-expected0] PASSED [ 5%] tests/asgi/test_buffered_reader.py::test_read[sizes1-expected1] PASSED [ 5%] tests/asgi/test_buffered_reader.py::test_read[sizes2-expected2] PASSED [ 5%] tests/asgi/test_buffered_reader.py::test_read[sizes3-expected3] PASSED [ 5%] tests/asgi/test_buffered_reader.py::test_varying_read_size[1] PASSED [ 6%] tests/asgi/test_buffered_reader.py::test_varying_read_size[16777216] PASSED [ 6%] tests/asgi/test_buffered_reader.py::test_readall[0] PASSED [ 6%] tests/asgi/test_buffered_reader.py::test_readall[1] PASSED [ 6%] tests/asgi/test_buffered_reader.py::test_readall[8] PASSED [ 6%] tests/asgi/test_buffered_reader.py::test_read_until[0-, -4-Hell-False] PASSED [ 6%] tests/asgi/test_buffered_reader.py::test_read_until[0-, -4-Hell-True] PASSED [ 6%] tests/asgi/test_buffered_reader.py::test_read_until[0-, -5-Hello-False] PASSED [ 6%] tests/asgi/test_buffered_reader.py::test_read_until[0-, -5-Hello-True] PASSED [ 6%] tests/asgi/test_buffered_reader.py::test_read_until[0-, --1-Hello-False] PASSED [ 6%] tests/asgi/test_buffered_reader.py::test_read_until[0-, --1-Hello-True] PASSED [ 6%] tests/asgi/test_buffered_reader.py::test_read_until[20- -4-esti-False] PASSED [ 6%] tests/asgi/test_buffered_reader.py::test_read_until[20- -4-esti-True] PASSED [ 6%] tests/asgi/test_buffered_reader.py::test_read_until[20- -5-estin-False] PASSED [ 6%] tests/asgi/test_buffered_reader.py::test_read_until[20- -5-estin-True] PASSED [ 6%] tests/asgi/test_buffered_reader.py::test_read_until[20- -6-esting-False] PASSED [ 6%] tests/asgi/test_buffered_reader.py::test_read_until[20- -6-esting-True] PASSED [ 6%] tests/asgi/test_buffered_reader.py::test_read_until[20- -20-esting-False] PASSED [ 6%] tests/asgi/test_buffered_reader.py::test_read_until[20- -20-esting-True] PASSED [ 6%] tests/asgi/test_buffered_reader.py::test_read_until[20- -None-esting-False] PASSED [ 6%] tests/asgi/test_buffered_reader.py::test_read_until[20- -None-esting-True] PASSED [ 6%] tests/asgi/test_buffered_reader.py::test_read_until[0-Hell-13--False] PASSED [ 6%] tests/asgi/test_buffered_reader.py::test_read_until[0-Hell-13--True] PASSED [ 6%] tests/asgi/test_buffered_reader.py::test_read_until[1-ell-13--False] PASSED [ 6%] tests/asgi/test_buffered_reader.py::test_read_until[1-ell-13--True] PASSED [ 6%] tests/asgi/test_buffered_reader.py::test_read_until[2-ll-13--False] PASSED [ 6%] tests/asgi/test_buffered_reader.py::test_read_until[2-ll-13--True] PASSED [ 6%] tests/asgi/test_buffered_reader.py::test_read_until[3-l-13--False] PASSED [ 6%] tests/asgi/test_buffered_reader.py::test_read_until[3-l-13--True] PASSED [ 6%] tests/asgi/test_buffered_reader.py::test_read_until[2-l-13--False] PASSED [ 6%] tests/asgi/test_buffered_reader.py::test_read_until[2-l-13--True] PASSED [ 6%] tests/asgi/test_buffered_reader.py::test_read_until[0-good-13-Hello, World!-False] PASSED [ 6%] tests/asgi/test_buffered_reader.py::test_read_until[0-good-13-Hello, World!-True] PASSED [ 6%] tests/asgi/test_buffered_reader.py::test_read_until[7-good-19-World!\nJust testing-False] PASSED [ 6%] tests/asgi/test_buffered_reader.py::test_read_until[7-good-19-World!\nJust testing-True] PASSED [ 6%] tests/asgi/test_buffered_reader.py::test_read_until[7-good-33-World!\nJust testing some iterator-False] PASSED [ 6%] tests/asgi/test_buffered_reader.py::test_read_until[7-good-33-World!\nJust testing some iterator-True] PASSED [ 6%] tests/asgi/test_buffered_reader.py::test_read_until[7-good-34-World!\nJust testing some iterator -False] PASSED [ 6%] tests/asgi/test_buffered_reader.py::test_read_until[7-good-34-World!\nJust testing some iterator -True] PASSED [ 6%] tests/asgi/test_buffered_reader.py::test_read_until[7-good-1337-World!\nJust testing some iterator -False] PASSED [ 6%] tests/asgi/test_buffered_reader.py::test_read_until[7-good-1337-World!\nJust testing some iterator -True] PASSED [ 7%] tests/asgi/test_buffered_reader.py::test_read_until[7-good--1-World!\nJust testing some iterator -False] PASSED [ 7%] tests/asgi/test_buffered_reader.py::test_read_until[7-good--1-World!\nJust testing some iterator -True] PASSED [ 7%] tests/asgi/test_buffered_reader.py::test_read_until_with_buffer_edge_case PASSED [ 7%] tests/asgi/test_buffered_reader.py::test_placeholder_methods PASSED [ 7%] tests/asgi/test_buffered_reader.py::test_iteration_started PASSED [ 7%] tests/asgi/test_buffered_reader.py::test_invalid_delimiter_length PASSED [ 7%] tests/asgi/test_buffered_reader.py::test_irregular_large_read_until[11003077-22000721] PASSED [ 7%] tests/asgi/test_buffered_reader.py::test_irregular_large_read_until[13372477-51637898] PASSED [ 7%] tests/asgi/test_buffered_reader.py::test_read_until_shared_boundary[46] PASSED [ 7%] tests/asgi/test_buffered_reader.py::test_read_until_shared_boundary[47] PASSED [ 7%] tests/asgi/test_buffered_reader.py::test_read_until_shared_boundary[48] PASSED [ 7%] tests/asgi/test_buffered_reader.py::test_read_until_shared_boundary[49] PASSED [ 7%] tests/asgi/test_buffered_reader.py::test_read_until_shared_boundary[50] PASSED [ 7%] tests/asgi/test_buffered_reader.py::test_read_until_shared_boundary[51] PASSED [ 7%] tests/asgi/test_buffered_reader.py::test_read_until_shared_boundary[52] PASSED [ 7%] tests/asgi/test_buffered_reader.py::test_read_until_shared_boundary[53] PASSED [ 7%] tests/asgi/test_buffered_reader.py::test_read_until_shared_boundary[54] PASSED [ 7%] tests/asgi/test_buffered_reader.py::test_read_until_shared_boundary[55] PASSED [ 7%] tests/asgi/test_buffered_reader.py::test_read_until_shared_boundary[56] PASSED [ 7%] tests/asgi/test_buffered_reader.py::test_read_until_shared_boundary[57] PASSED [ 7%] tests/asgi/test_buffered_reader.py::test_read_until_shared_boundary[58] PASSED [ 7%] tests/asgi/test_buffered_reader.py::test_read_until_shared_boundary[59] PASSED [ 7%] tests/asgi/test_buffered_reader.py::test_read_until_shared_boundary[60] PASSED [ 7%] tests/asgi/test_buffered_reader.py::test_read_until_shared_boundary[61] PASSED [ 7%] tests/asgi/test_buffered_reader.py::test_read_until_shared_boundary[62] PASSED [ 7%] tests/asgi/test_buffered_reader.py::test_small_reads PASSED [ 7%] tests/asgi/test_buffered_reader.py::test_small_reads_with_delimiter PASSED [ 7%] tests/asgi/test_cythonized_asgi.py::test_is_cython_func[nop_method0] PASSED [ 7%] tests/asgi/test_cythonized_asgi.py::test_is_cython_func[nop_method_async0] PASSED [ 7%] tests/asgi/test_cythonized_asgi.py::test_is_cython_func[nop_method1] PASSED [ 7%] tests/asgi/test_cythonized_asgi.py::test_is_cython_func[nop_method_async1] PASSED [ 7%] tests/asgi/test_cythonized_asgi.py::test_is_cython_func[nop_method2] PASSED [ 7%] tests/asgi/test_cythonized_asgi.py::test_is_cython_func[nop_method_async2] PASSED [ 7%] tests/asgi/test_cythonized_asgi.py::test_not_cython_func[nop_method0] PASSED [ 7%] tests/asgi/test_cythonized_asgi.py::test_not_cython_func[nop_method_async0] PASSED [ 7%] tests/asgi/test_cythonized_asgi.py::test_not_cython_func[nop_method1] PASSED [ 7%] tests/asgi/test_cythonized_asgi.py::test_not_cython_func[nop_method_async1] PASSED [ 7%] tests/asgi/test_cythonized_asgi.py::test_not_cython_func[nop_method2] PASSED [ 7%] tests/asgi/test_cythonized_asgi.py::test_not_cython_func[nop_method_async2] PASSED [ 7%] tests/asgi/test_cythonized_asgi.py::test_jsonchema_validator PASSED [ 7%] tests/asgi/test_cythonized_asgi.py::test_scheduled_jobs PASSED [ 8%] tests/asgi/test_cythonized_asgi.py::test_scheduled_jobs_type_error PASSED [ 8%] tests/asgi/test_cythonized_asgi.py::test_hooks PASSED [ 8%] tests/asgi/test_hello_asgi.py::TestHelloWorld::test_env_headers_list_of_tuples PASSED [ 8%] tests/asgi/test_hello_asgi.py::TestHelloWorld::test_root_route PASSED [ 8%] tests/asgi/test_hello_asgi.py::TestHelloWorld::test_no_route PASSED [ 8%] tests/asgi/test_hello_asgi.py::TestHelloWorld::test_body[/body-resource0-] PASSED [ 8%] tests/asgi/test_hello_asgi.py::TestHelloWorld::test_body[/bytes-resource1-] PASSED [ 8%] tests/asgi/test_hello_asgi.py::TestHelloWorld::test_body[/data-resource2-] PASSED [ 8%] tests/asgi/test_hello_asgi.py::TestHelloWorld::test_no_body_on_head PASSED [ 8%] tests/asgi/test_hello_asgi.py::TestHelloWorld::test_stream_chunked PASSED [ 8%] tests/asgi/test_hello_asgi.py::TestHelloWorld::test_stream_known_len PASSED [ 8%] tests/asgi/test_hello_asgi.py::TestHelloWorld::test_filelike PASSED [ 8%] tests/asgi/test_hello_asgi.py::TestHelloWorld::test_genfunc_error PASSED [ 8%] tests/asgi/test_hello_asgi.py::TestHelloWorld::test_nongenfunc_error PASSED [ 8%] tests/asgi/test_hello_asgi.py::TestHelloWorld::test_filelike_closing[DataReader-True] PASSED [ 8%] tests/asgi/test_hello_asgi.py::TestHelloWorld::test_filelike_closing[DataReaderWithoutClose-False] PASSED [ 8%] tests/asgi/test_hello_asgi.py::TestHelloWorld::test_filelike_closing_aiofiles PASSED [ 8%] tests/asgi/test_hello_asgi.py::TestHelloWorld::test_filelike_using_helper PASSED [ 8%] tests/asgi/test_hello_asgi.py::TestHelloWorld::test_closing_stream[10-3-3\n3\n3\n1\n-None] PASSED [ 8%] tests/asgi/test_hello_asgi.py::TestHelloWorld::test_closing_stream[10-7-7\n3\n-None] PASSED [ 8%] tests/asgi/test_hello_asgi.py::TestHelloWorld::test_closing_stream[10-17-10\n-None] PASSED [ 8%] tests/asgi/test_hello_asgi.py::TestHelloWorld::test_closing_stream[20-0--ZeroDivisionError] PASSED [ 8%] tests/asgi/test_hello_asgi.py::TestHelloWorld::test_status_not_set PASSED [ 8%] tests/asgi/test_hello_asgi.py::TestHelloWorld::test_coroutine_required PASSED [ 8%] tests/asgi/test_hello_asgi.py::TestHelloWorld::test_noncoroutine_required PASSED [ 8%] tests/asgi/test_lifespan_handlers.py::test_at_least_one_event_method_required PASSED [ 8%] tests/asgi/test_lifespan_handlers.py::test_startup_only PASSED [ 8%] tests/asgi/test_lifespan_handlers.py::test_startup_raises PASSED [ 8%] tests/asgi/test_lifespan_handlers.py::test_shutdown_raises PASSED [ 8%] tests/asgi/test_lifespan_handlers.py::test_shutdown_only PASSED [ 8%] tests/asgi/test_lifespan_handlers.py::test_multiple_handlers PASSED [ 8%] tests/asgi/test_lifespan_handlers.py::test_asgi_conductor_raised_error_skips_shutdown PASSED [ 8%] tests/asgi/test_middleware_asgi.py::test_raise_on_incompatible[middleware0] PASSED [ 8%] tests/asgi/test_middleware_asgi.py::test_raise_on_incompatible[middleware1] PASSED [ 8%] tests/asgi/test_middleware_asgi.py::test_raise_on_incompatible[middleware2] PASSED [ 8%] tests/asgi/test_middleware_asgi.py::test_raise_on_incompatible[middleware3] PASSED [ 8%] tests/asgi/test_misc.py::test_http_status_not_impl PASSED [ 8%] tests/asgi/test_misc.py::test_http_error_not_impl PASSED [ 8%] tests/asgi/test_misc.py::test_python_error_not_impl PASSED [ 8%] tests/asgi/test_request_asgi.py::test_missing_server_in_scope PASSED [ 8%] tests/asgi/test_request_asgi.py::test_log_error_not_supported PASSED [ 9%] tests/asgi/test_request_asgi.py::test_env_not_supported PASSED [ 9%] tests/asgi/test_request_body_asgi.py::TestRequestBody::test_empty_body PASSED [ 9%] tests/asgi/test_request_body_asgi.py::TestRequestBody::test_tiny_body PASSED [ 9%] tests/asgi/test_request_body_asgi.py::TestRequestBody::test_tiny_body_overflow PASSED [ 9%] tests/asgi/test_request_body_asgi.py::TestRequestBody::test_content_length_smaller_than_body[1-0] PASSED [ 9%] tests/asgi/test_request_body_asgi.py::TestRequestBody::test_content_length_smaller_than_body[2-1] PASSED [ 9%] tests/asgi/test_request_body_asgi.py::TestRequestBody::test_content_length_smaller_than_body[3-2] PASSED [ 9%] tests/asgi/test_request_body_asgi.py::TestRequestBody::test_content_length_smaller_than_body[100-None] PASSED [ 9%] tests/asgi/test_request_body_asgi.py::TestRequestBody::test_content_length_smaller_than_body[100-50] PASSED [ 9%] tests/asgi/test_request_body_asgi.py::TestRequestBody::test_content_length_smaller_than_body[8192-50] PASSED [ 9%] tests/asgi/test_request_body_asgi.py::TestRequestBody::test_read_body PASSED [ 9%] tests/asgi/test_request_body_asgi.py::TestRequestBody::test_bounded_stream_alias PASSED [ 9%] tests/asgi/test_request_body_asgi.py::TestRequestBody::test_request_repr PASSED [ 9%] tests/asgi/test_request_context_asgi.py::TestRequestContext::test_default_request_context PASSED [ 9%] tests/asgi/test_request_context_asgi.py::TestRequestContext::test_custom_request_context PASSED [ 9%] tests/asgi/test_request_context_asgi.py::TestRequestContext::test_custom_request_context_failure PASSED [ 9%] tests/asgi/test_request_context_asgi.py::TestRequestContext::test_custom_request_context_request_access PASSED [ 9%] tests/asgi/test_response_media_asgi.py::test_json[*/*] PASSED [ 9%] tests/asgi/test_response_media_asgi.py::test_json[application/json] PASSED [ 9%] tests/asgi/test_response_media_asgi.py::test_json[application/json; charset=utf-8] PASSED [ 9%] tests/asgi/test_response_media_asgi.py::test_non_ascii_json_serialization[] PASSED [ 9%] tests/asgi/test_response_media_asgi.py::test_non_ascii_json_serialization[I am a \u1d0a\ua731\u1d0f\u0274 string.] PASSED [ 9%] tests/asgi/test_response_media_asgi.py::test_non_ascii_json_serialization[document2] PASSED [ 9%] tests/asgi/test_response_media_asgi.py::test_non_ascii_json_serialization[document3] PASSED [ 9%] tests/asgi/test_response_media_asgi.py::test_non_ascii_json_serialization[document4] PASSED [ 9%] tests/asgi/test_response_media_asgi.py::test_msgpack[application/msgpack] PASSED [ 9%] tests/asgi/test_response_media_asgi.py::test_msgpack[application/msgpack; charset=utf-8] PASSED [ 9%] tests/asgi/test_response_media_asgi.py::test_msgpack[application/x-msgpack] PASSED [ 9%] tests/asgi/test_response_media_asgi.py::test_custom_media_handler PASSED [ 9%] tests/asgi/test_response_media_asgi.py::test_unknown_media_type PASSED [ 9%] tests/asgi/test_response_media_asgi.py::test_default_media_type PASSED [ 9%] tests/asgi/test_response_media_asgi.py::test_mimeparse_edgecases PASSED [ 9%] tests/asgi/test_response_media_asgi.py::TestRenderBodyPrecedence::test_text PASSED [ 9%] tests/asgi/test_response_media_asgi.py::TestRenderBodyPrecedence::test_data PASSED [ 9%] tests/asgi/test_response_media_asgi.py::TestRenderBodyPrecedence::test_data_masquerading_as_text PASSED [ 9%] tests/asgi/test_response_media_asgi.py::TestRenderBodyPrecedence::test_media PASSED [ 9%] tests/asgi/test_response_media_asgi.py::test_media_rendered_cached PASSED [ 9%] tests/asgi/test_response_media_asgi.py::test_custom_render_body PASSED [ 9%] tests/asgi/test_scheduled_callbacks.py::test_multiple PASSED [ 9%] tests/asgi/test_scheduled_callbacks.py::test_callback[GET-/-Hello, World!\n] PASSED [ 10%] tests/asgi/test_scheduled_callbacks.py::test_callback[HEAD-/-] PASSED [ 10%] tests/asgi/test_scheduled_callbacks.py::test_callback[GET-/sse-: ping\n\n] PASSED [ 10%] tests/asgi/test_scheduled_callbacks.py::test_callback[GET-/stream-One\nTwo\nThree\n] PASSED [ 10%] tests/asgi/test_scope.py::test_missing_asgi_version PASSED [ 10%] tests/asgi/test_scope.py::test_unsupported_http_version[0.9] PASSED [ 10%] tests/asgi/test_scope.py::test_unsupported_http_version[1.9] PASSED [ 10%] tests/asgi/test_scope.py::test_unsupported_http_version[4.0] PASSED [ 10%] tests/asgi/test_scope.py::test_unsupported_http_version[1337] PASSED [ 10%] tests/asgi/test_scope.py::test_supported_asgi_version[3.0-True] PASSED [ 10%] tests/asgi/test_scope.py::test_supported_asgi_version[3.1-True] PASSED [ 10%] tests/asgi/test_scope.py::test_supported_asgi_version[3.10-True] PASSED [ 10%] tests/asgi/test_scope.py::test_supported_asgi_version[30.0-False] PASSED [ 10%] tests/asgi/test_scope.py::test_supported_asgi_version[31.0-False] PASSED [ 10%] tests/asgi/test_scope.py::test_supported_asgi_version[4.0-False] PASSED [ 10%] tests/asgi/test_scope.py::test_supported_asgi_version[4.1-False] PASSED [ 10%] tests/asgi/test_scope.py::test_supported_asgi_version[4.10-False] PASSED [ 10%] tests/asgi/test_scope.py::test_supported_asgi_version[40.0-False] PASSED [ 10%] tests/asgi/test_scope.py::test_supported_asgi_version[41.0-False] PASSED [ 10%] tests/asgi/test_scope.py::test_supported_asgi_version[2.0-False] PASSED [ 10%] tests/asgi/test_scope.py::test_supported_asgi_version[2.1-False] PASSED [ 10%] tests/asgi/test_scope.py::test_supported_asgi_version[2.10-False] PASSED [ 10%] tests/asgi/test_scope.py::test_supported_asgi_version[None-False] PASSED [ 10%] tests/asgi/test_scope.py::test_unsupported_scope_type[tubes] PASSED [ 10%] tests/asgi/test_scope.py::test_unsupported_scope_type[http3] PASSED [ 10%] tests/asgi/test_scope.py::test_unsupported_scope_type[htt] PASSED [ 10%] tests/asgi/test_scope.py::test_supported_http_spec[0.0-False] PASSED [ 10%] tests/asgi/test_scope.py::test_supported_http_spec[1.0-False] PASSED [ 10%] tests/asgi/test_scope.py::test_supported_http_spec[11.0-False] PASSED [ 10%] tests/asgi/test_scope.py::test_supported_http_spec[2.0-True] PASSED [ 10%] tests/asgi/test_scope.py::test_supported_http_spec[2.1-True] PASSED [ 10%] tests/asgi/test_scope.py::test_supported_http_spec[2.10-True] PASSED [ 10%] tests/asgi/test_scope.py::test_supported_http_spec[20.0-False] PASSED [ 10%] tests/asgi/test_scope.py::test_supported_http_spec[22.0-False] PASSED [ 10%] tests/asgi/test_scope.py::test_supported_http_spec[3.0-False] PASSED [ 10%] tests/asgi/test_scope.py::test_supported_http_spec[3.1-False] PASSED [ 10%] tests/asgi/test_scope.py::test_supported_http_spec[30.0-False] PASSED [ 10%] tests/asgi/test_scope.py::test_lifespan_scope_default_version PASSED [ 10%] tests/asgi/test_scope.py::test_lifespan_scope_version[0.0-False] PASSED [ 10%] tests/asgi/test_scope.py::test_lifespan_scope_version[1.0-True] PASSED [ 10%] tests/asgi/test_scope.py::test_lifespan_scope_version[1.1-True] PASSED [ 10%] tests/asgi/test_scope.py::test_lifespan_scope_version[1.10-True] PASSED [ 11%] tests/asgi/test_scope.py::test_lifespan_scope_version[2.0-True] PASSED [ 11%] tests/asgi/test_scope.py::test_lifespan_scope_version[2.1-True] PASSED [ 11%] tests/asgi/test_scope.py::test_lifespan_scope_version[2.10-True] PASSED [ 11%] tests/asgi/test_scope.py::test_lifespan_scope_version[3.0-False] PASSED [ 11%] tests/asgi/test_scope.py::test_lifespan_scope_version[4.0-False] PASSED [ 11%] tests/asgi/test_scope.py::test_lifespan_scope_version[11.0-False] PASSED [ 11%] tests/asgi/test_scope.py::test_lifespan_scope_version[22.0-False] PASSED [ 11%] tests/asgi/test_scope.py::test_query_string_values PASSED [ 11%] tests/asgi/test_scope.py::test_scheme[http-True] PASSED [ 11%] tests/asgi/test_scope.py::test_scheme[https-True] PASSED [ 11%] tests/asgi/test_scope.py::test_scheme[htt-False] PASSED [ 11%] tests/asgi/test_scope.py::test_scheme[http:-False] PASSED [ 11%] tests/asgi/test_scope.py::test_scheme[https:-False] PASSED [ 11%] tests/asgi/test_scope.py::test_scheme[ftp-False] PASSED [ 11%] tests/asgi/test_scope.py::test_scheme[gopher-False] PASSED [ 11%] tests/asgi/test_scope.py::test_cookies[cookies0] PASSED [ 11%] tests/asgi/test_scope.py::test_cookies[cookies1] PASSED [ 11%] tests/asgi/test_scope.py::test_cookies_options_meathod PASSED [ 11%] tests/asgi/test_sse.py::test_no_events PASSED [ 11%] tests/asgi/test_sse.py::test_single_event PASSED [ 11%] tests/asgi/test_sse.py::test_multiple_events PASSED [ 11%] tests/asgi/test_sse.py::test_multiple_events_early_disconnect PASSED [ 11%] tests/asgi/test_sse.py::TestSerializeJson::test_use_media_handler_dumps PASSED [ 11%] tests/asgi/test_sse.py::TestSerializeJson::test_no_json_media_handler PASSED [ 11%] tests/asgi/test_sse.py::test_invalid_event_values PASSED [ 11%] tests/asgi/test_sse.py::test_non_iterable PASSED [ 11%] tests/asgi/test_sync.py::test_sync_helpers PASSED [ 11%] tests/asgi/test_sync.py::test_sync_asyncio_aliases PASSED [ 11%] tests/asgi/test_testing_asgi.py::test_asgi_request_event_emitter_hang PASSED [ 11%] tests/asgi/test_testing_asgi.py::test_ignore_extra_asgi_events PASSED [ 11%] tests/asgi/test_testing_asgi.py::test_invalid_asgi_events PASSED [ 11%] tests/asgi/test_testing_asgi.py::test_is_asgi_app_cls PASSED [ 11%] tests/asgi/test_testing_asgi.py::test_cookies_jar PASSED [ 11%] tests/asgi/test_testing_asgi.py::test_create_scope_default_ua PASSED [ 11%] tests/asgi/test_testing_asgi.py::test_create_scope_default_ua_override PASSED [ 11%] tests/asgi/test_testing_asgi.py::test_create_scope_default_ua_modify_global PASSED [ 11%] tests/asgi/test_testing_asgi.py::test_missing_header_is_none PASSED [ 11%] tests/asgi/test_testing_asgi.py::test_immediate_disconnect PASSED [ 11%] tests/asgi/test_ws.py::test_ws_not_accepted[/ws/yes] PASSED [ 11%] tests/asgi/test_ws.py::test_ws_not_accepted[/ws/no] PASSED [ 11%] tests/asgi/test_ws.py::test_echo PASSED [ 12%] tests/asgi/test_ws.py::test_path_not_found PASSED [ 12%] tests/asgi/test_ws.py::test_responder_raises_unhandled_error[True] PASSED [ 12%] tests/asgi/test_ws.py::test_responder_raises_unhandled_error[False] PASSED [ 12%] tests/asgi/test_ws.py::test_client_disconnect_early[True-True-send] PASSED [ 12%] tests/asgi/test_ws.py::test_client_disconnect_early[True-True-receive] PASSED [ 12%] tests/asgi/test_ws.py::test_client_disconnect_early[True-False-send] PASSED [ 12%] tests/asgi/test_ws.py::test_client_disconnect_early[True-False-receive] PASSED [ 12%] tests/asgi/test_ws.py::test_client_disconnect_early[False-True-send] PASSED [ 12%] tests/asgi/test_ws.py::test_client_disconnect_early[False-True-receive] PASSED [ 12%] tests/asgi/test_ws.py::test_client_disconnect_early[False-False-send] PASSED [ 12%] tests/asgi/test_ws.py::test_client_disconnect_early[False-False-receive] PASSED [ 12%] tests/asgi/test_ws.py::test_media[True-True] PASSED [ 12%] tests/asgi/test_ws.py::test_media[True-False] PASSED [ 12%] tests/asgi/test_ws.py::test_media[False-True] PASSED [ 12%] tests/asgi/test_ws.py::test_media[False-False] PASSED [ 12%] tests/asgi/test_ws.py::test_send_receive_data[123] PASSED [ 12%] tests/asgi/test_ws.py::test_send_receive_data[] PASSED [ 12%] tests/asgi/test_ws.py::test_send_receive_data[\xe1\x9a\xa0\xe1] PASSED [ 12%] tests/asgi/test_ws.py::test_send_receive_data[\x00] PASSED [ 12%] tests/asgi/test_ws.py::test_subprotocol[subprotocols0] PASSED [ 12%] tests/asgi/test_ws.py::test_subprotocol[subprotocols1] PASSED [ 12%] tests/asgi/test_ws.py::test_subprotocol[subprotocols2] PASSED [ 12%] tests/asgi/test_ws.py::test_subprotocol[None] PASSED [ 12%] tests/asgi/test_ws.py::test_accept_with_headers[None] PASSED [ 12%] tests/asgi/test_ws.py::test_accept_with_headers[headers1] PASSED [ 12%] tests/asgi/test_ws.py::test_accept_with_headers[headers2] PASSED [ 12%] tests/asgi/test_ws.py::test_accept_with_headers[headers3] PASSED [ 12%] tests/asgi/test_ws.py::test_accept_with_headers[headers4] PASSED [ 12%] tests/asgi/test_ws.py::test_accept_with_headers[headers5] PASSED [ 12%] tests/asgi/test_ws.py::test_accept_with_headers[headers6] PASSED [ 12%] tests/asgi/test_ws.py::test_accept_with_bad_headers[headers0] PASSED [ 12%] tests/asgi/test_ws.py::test_accept_with_bad_headers[headers1] PASSED [ 12%] tests/asgi/test_ws.py::test_accept_with_bad_headers[headers2] PASSED [ 12%] tests/asgi/test_ws.py::test_accept_with_headers_not_supported PASSED [ 12%] tests/asgi/test_ws.py::test_missing_ws_handler PASSED [ 12%] tests/asgi/test_ws.py::test_unexpected_param PASSED [ 12%] tests/asgi/test_ws.py::test_subprotocol_bad_type[DEADBEEF] PASSED [ 12%] tests/asgi/test_ws.py::test_subprotocol_bad_type[subprotocol1] PASSED [ 12%] tests/asgi/test_ws.py::test_subprotocol_bad_type[subprotocol2] PASSED [ 12%] tests/asgi/test_ws.py::test_subprotocol_bad_type[subprotocol3] PASSED [ 12%] tests/asgi/test_ws.py::test_subprotocol_bad_type[subprotocol4] PASSED [ 13%] tests/asgi/test_ws.py::test_subprotocol_bad_type[OK] PASSED [ 13%] tests/asgi/test_ws.py::test_send_receive_wrong_type PASSED [ 13%] tests/asgi/test_ws.py::test_client_disconnect_uncaught_error[999] PASSED [ 13%] tests/asgi/test_ws.py::test_client_disconnect_uncaught_error[100] PASSED [ 13%] tests/asgi/test_ws.py::test_client_disconnect_uncaught_error[0] PASSED [ 13%] tests/asgi/test_ws.py::test_client_disconnect_uncaught_error[-1] PASSED [ 13%] tests/asgi/test_ws.py::test_client_disconnect_uncaught_error[1004] PASSED [ 13%] tests/asgi/test_ws.py::test_client_disconnect_uncaught_error[1005] PASSED [ 13%] tests/asgi/test_ws.py::test_client_disconnect_uncaught_error[1006] PASSED [ 13%] tests/asgi/test_ws.py::test_client_disconnect_uncaught_error[1015] PASSED [ 13%] tests/asgi/test_ws.py::test_client_disconnect_uncaught_error[1016] PASSED [ 13%] tests/asgi/test_ws.py::test_client_disconnect_uncaught_error[1017] PASSED [ 13%] tests/asgi/test_ws.py::test_client_disconnect_uncaught_error[1050] PASSED [ 13%] tests/asgi/test_ws.py::test_client_disconnect_uncaught_error[1099] PASSED [ 13%] tests/asgi/test_ws.py::test_client_disconnect_uncaught_error[NaN] PASSED [ 13%] tests/asgi/test_ws.py::test_mw_methods_must_be_coroutines PASSED [ 13%] tests/asgi/test_ws.py::test_bad_spec_version[1.9] PASSED [ 13%] tests/asgi/test_ws.py::test_bad_spec_version[20.5] PASSED [ 13%] tests/asgi/test_ws.py::test_bad_spec_version[3.0] PASSED [ 13%] tests/asgi/test_ws.py::test_bad_spec_version[3.1] PASSED [ 13%] tests/asgi/test_ws.py::test_bad_http_version[1.0] PASSED [ 13%] tests/asgi/test_ws.py::test_bad_http_version[1] PASSED [ 13%] tests/asgi/test_ws.py::test_bad_first_event[2.1] PASSED [ 13%] tests/asgi/test_ws.py::test_bad_first_event[2.3] PASSED [ 13%] tests/asgi/test_ws.py::test_bad_first_event[2.10.3] PASSED [ 13%] tests/asgi/test_ws.py::test_missing_http_version PASSED [ 13%] tests/asgi/test_ws.py::test_missing_spec_version PASSED [ 13%] tests/asgi/test_ws.py::test_translate_webserver_error PASSED [ 13%] tests/asgi/test_ws.py::test_ws_base_not_implemented PASSED [ 13%] tests/asgi/test_ws.py::test_ws_context_timeout PASSED [ 13%] tests/asgi/test_ws.py::test_ws_simulator_client_require_accepted PASSED [ 13%] tests/asgi/test_ws.py::test_ws_simulator_collect_edge_cases PASSED [ 13%] tests/asgi/test_ws.py::test_ws_responder_never_ready PASSED [ 13%] tests/asgi/test_ws.py::test_msgpack_missing SKIPPED (test requires msgpack lib to be missing) [ 13%] tests/asgi/test_ws.py::test_client_close_with_reason[Client closing connection] PASSED [ 13%] tests/asgi/test_ws.py::test_client_close_with_reason[] PASSED [ 13%] tests/asgi/test_ws.py::test_client_close_with_reason[None] PASSED [ 13%] tests/asgi/test_ws.py::test_close_with_reason_no_cm[PEBCAK] PASSED [ 13%] tests/asgi/test_ws.py::test_close_with_reason_no_cm[wow such reason] PASSED [ 13%] tests/asgi/test_ws.py::test_close_with_reason_no_cm[] PASSED [ 14%] tests/asgi/test_ws.py::test_close_with_reason_no_cm[None] PASSED [ 14%] tests/asgi/test_ws.py::test_close_with_reason[2.2-PEBCAK] PASSED [ 14%] tests/asgi/test_ws.py::test_close_with_reason[2.2-wow such reason] PASSED [ 14%] tests/asgi/test_ws.py::test_close_with_reason[2.2-] PASSED [ 14%] tests/asgi/test_ws.py::test_close_with_reason[2.2-None] PASSED [ 14%] tests/asgi/test_ws.py::test_close_with_reason[2.3-PEBCAK] PASSED [ 14%] tests/asgi/test_ws.py::test_close_with_reason[2.3-wow such reason] PASSED [ 14%] tests/asgi/test_ws.py::test_close_with_reason[2.3-] PASSED [ 14%] tests/asgi/test_ws.py::test_close_with_reason[2.3-None] PASSED [ 14%] tests/asgi/test_ws.py::test_close_with_reason[2.4-PEBCAK] PASSED [ 14%] tests/asgi/test_ws.py::test_close_with_reason[2.4-wow such reason] PASSED [ 14%] tests/asgi/test_ws.py::test_close_with_reason[2.4-] PASSED [ 14%] tests/asgi/test_ws.py::test_close_with_reason[2.4-None] PASSED [ 14%] tests/asgi/test_ws.py::test_reason_mapping[None-Normal Closure-True] PASSED [ 14%] tests/asgi/test_ws.py::test_reason_mapping[None-Normal Closure-False] PASSED [ 14%] tests/asgi/test_ws.py::test_reason_mapping[1011-Internal Server Error-True] PASSED [ 14%] tests/asgi/test_ws.py::test_reason_mapping[1011-Internal Server Error-False] PASSED [ 14%] tests/asgi/test_ws.py::test_reason_mapping[3405-Method Not Allowed-True] PASSED [ 14%] tests/asgi/test_ws.py::test_reason_mapping[3405-Method Not Allowed-False] PASSED [ 14%] tests/asgi/test_ws.py::test_reason_mapping[3701--True] PASSED [ 14%] tests/asgi/test_ws.py::test_reason_mapping[3701--False] PASSED [ 14%] tests/asgi/test_ws.py::test_reason_mapping[3702-Emacs-True] PASSED [ 14%] tests/asgi/test_ws.py::test_reason_mapping[3702-Emacs-False] PASSED [ 14%] tests/asgi/test_ws.py::test_reason_mapping[4042--True] PASSED [ 14%] tests/asgi/test_ws.py::test_reason_mapping[4042--False] PASSED [ 14%] tests/asgi/test_ws.py::test_reason_mapping[4099-wow such reason-True] PASSED [ 14%] tests/asgi/test_ws.py::test_reason_mapping[4099-wow such reason-False] PASSED [ 14%] tests/asgi/test_ws.py::test_ws_http_error_or_status_response[True-HTTPStatus-200] PASSED [ 14%] tests/asgi/test_ws.py::test_ws_http_error_or_status_response[True-HTTPStatus-500] PASSED [ 14%] tests/asgi/test_ws.py::test_ws_http_error_or_status_response[True-HTTPStatus-422] PASSED [ 14%] tests/asgi/test_ws.py::test_ws_http_error_or_status_response[True-HTTPStatus-400] PASSED [ 14%] tests/asgi/test_ws.py::test_ws_http_error_or_status_response[True-HTTPError-200] PASSED [ 14%] tests/asgi/test_ws.py::test_ws_http_error_or_status_response[True-HTTPError-500] PASSED [ 14%] tests/asgi/test_ws.py::test_ws_http_error_or_status_response[True-HTTPError-422] PASSED [ 14%] tests/asgi/test_ws.py::test_ws_http_error_or_status_response[True-HTTPError-400] PASSED [ 14%] tests/asgi/test_ws.py::test_ws_http_error_or_status_response[False-HTTPStatus-200] PASSED [ 14%] tests/asgi/test_ws.py::test_ws_http_error_or_status_response[False-HTTPStatus-500] PASSED [ 14%] tests/asgi/test_ws.py::test_ws_http_error_or_status_response[False-HTTPStatus-422] PASSED [ 14%] tests/asgi/test_ws.py::test_ws_http_error_or_status_response[False-HTTPStatus-400] PASSED [ 14%] tests/asgi/test_ws.py::test_ws_http_error_or_status_response[False-HTTPError-200] PASSED [ 14%] tests/asgi/test_ws.py::test_ws_http_error_or_status_response[False-HTTPError-500] PASSED [ 15%] tests/asgi/test_ws.py::test_ws_http_error_or_status_response[False-HTTPError-422] PASSED [ 15%] tests/asgi/test_ws.py::test_ws_http_error_or_status_response[False-HTTPError-400] PASSED [ 15%] tests/asgi/test_ws.py::test_ws_http_error_or_status_middleware[request-HTTPStatus-200] PASSED [ 15%] tests/asgi/test_ws.py::test_ws_http_error_or_status_middleware[request-HTTPStatus-500] PASSED [ 15%] tests/asgi/test_ws.py::test_ws_http_error_or_status_middleware[request-HTTPStatus-422] PASSED [ 15%] tests/asgi/test_ws.py::test_ws_http_error_or_status_middleware[request-HTTPStatus-400] PASSED [ 15%] tests/asgi/test_ws.py::test_ws_http_error_or_status_middleware[request-HTTPError-200] PASSED [ 15%] tests/asgi/test_ws.py::test_ws_http_error_or_status_middleware[request-HTTPError-500] PASSED [ 15%] tests/asgi/test_ws.py::test_ws_http_error_or_status_middleware[request-HTTPError-422] PASSED [ 15%] tests/asgi/test_ws.py::test_ws_http_error_or_status_middleware[request-HTTPError-400] PASSED [ 15%] tests/asgi/test_ws.py::test_ws_http_error_or_status_middleware[resource-HTTPStatus-200] PASSED [ 15%] tests/asgi/test_ws.py::test_ws_http_error_or_status_middleware[resource-HTTPStatus-500] PASSED [ 15%] tests/asgi/test_ws.py::test_ws_http_error_or_status_middleware[resource-HTTPStatus-422] PASSED [ 15%] tests/asgi/test_ws.py::test_ws_http_error_or_status_middleware[resource-HTTPStatus-400] PASSED [ 15%] tests/asgi/test_ws.py::test_ws_http_error_or_status_middleware[resource-HTTPError-200] PASSED [ 15%] tests/asgi/test_ws.py::test_ws_http_error_or_status_middleware[resource-HTTPError-500] PASSED [ 15%] tests/asgi/test_ws.py::test_ws_http_error_or_status_middleware[resource-HTTPError-422] PASSED [ 15%] tests/asgi/test_ws.py::test_ws_http_error_or_status_middleware[resource-HTTPError-400] PASSED [ 15%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-request-HTTPStatus-200] PASSED [ 15%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-request-HTTPStatus-500] PASSED [ 15%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-request-HTTPStatus-422] PASSED [ 15%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-request-HTTPStatus-400] PASSED [ 15%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-request-HTTPError-200] PASSED [ 15%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-request-HTTPError-500] PASSED [ 15%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-request-HTTPError-422] PASSED [ 15%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-request-HTTPError-400] PASSED [ 15%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-resource-HTTPStatus-200] PASSED [ 15%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-resource-HTTPStatus-500] PASSED [ 15%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-resource-HTTPStatus-422] PASSED [ 15%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-resource-HTTPStatus-400] PASSED [ 15%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-resource-HTTPError-200] PASSED [ 15%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-resource-HTTPError-500] PASSED [ 15%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-resource-HTTPError-422] PASSED [ 15%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-resource-HTTPError-400] PASSED [ 15%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-ws_before_accept-HTTPStatus-200] PASSED [ 15%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-ws_before_accept-HTTPStatus-500] PASSED [ 15%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-ws_before_accept-HTTPStatus-422] PASSED [ 15%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-ws_before_accept-HTTPStatus-400] PASSED [ 15%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-ws_before_accept-HTTPError-200] PASSED [ 15%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-ws_before_accept-HTTPError-500] PASSED [ 15%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-ws_before_accept-HTTPError-422] PASSED [ 16%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-ws_before_accept-HTTPError-400] PASSED [ 16%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-ws_after_accept-HTTPStatus-200] PASSED [ 16%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-ws_after_accept-HTTPStatus-500] PASSED [ 16%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-ws_after_accept-HTTPStatus-422] PASSED [ 16%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-ws_after_accept-HTTPStatus-400] PASSED [ 16%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-ws_after_accept-HTTPError-200] PASSED [ 16%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-ws_after_accept-HTTPError-500] PASSED [ 16%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-ws_after_accept-HTTPError-422] PASSED [ 16%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[True-ws_after_accept-HTTPError-400] PASSED [ 16%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-request-HTTPStatus-200] PASSED [ 16%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-request-HTTPStatus-500] PASSED [ 16%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-request-HTTPStatus-422] PASSED [ 16%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-request-HTTPStatus-400] PASSED [ 16%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-request-HTTPError-200] PASSED [ 16%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-request-HTTPError-500] PASSED [ 16%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-request-HTTPError-422] PASSED [ 16%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-request-HTTPError-400] PASSED [ 16%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-resource-HTTPStatus-200] PASSED [ 16%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-resource-HTTPStatus-500] PASSED [ 16%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-resource-HTTPStatus-422] PASSED [ 16%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-resource-HTTPStatus-400] PASSED [ 16%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-resource-HTTPError-200] PASSED [ 16%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-resource-HTTPError-500] PASSED [ 16%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-resource-HTTPError-422] PASSED [ 16%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-resource-HTTPError-400] PASSED [ 16%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-ws_before_accept-HTTPStatus-200] PASSED [ 16%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-ws_before_accept-HTTPStatus-500] PASSED [ 16%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-ws_before_accept-HTTPStatus-422] PASSED [ 16%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-ws_before_accept-HTTPStatus-400] PASSED [ 16%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-ws_before_accept-HTTPError-200] PASSED [ 16%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-ws_before_accept-HTTPError-500] PASSED [ 16%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-ws_before_accept-HTTPError-422] PASSED [ 16%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-ws_before_accept-HTTPError-400] PASSED [ 16%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-ws_after_accept-HTTPStatus-200] PASSED [ 16%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-ws_after_accept-HTTPStatus-500] PASSED [ 16%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-ws_after_accept-HTTPStatus-422] PASSED [ 16%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-ws_after_accept-HTTPStatus-400] PASSED [ 16%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-ws_after_accept-HTTPError-200] PASSED [ 16%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-ws_after_accept-HTTPError-500] PASSED [ 16%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-ws_after_accept-HTTPError-422] PASSED [ 17%] tests/asgi/test_ws.py::test_ws_http_error_or_status_error_handler[False-ws_after_accept-HTTPError-400] PASSED [ 17%] tests/asgi/test_ws.py::test_max_receive_queue_sizes[0] PASSED [ 17%] tests/asgi/test_ws.py::test_max_receive_queue_sizes[1] PASSED [ 17%] tests/asgi/test_ws.py::test_max_receive_queue_sizes[4] PASSED [ 17%] tests/asgi/test_ws.py::test_max_receive_queue_sizes[7] PASSED [ 17%] tests/asgi/test_ws.py::test_max_receive_queue_sizes[17] PASSED [ 17%] tests/test_after_hooks.py::test_output_validator[asgi] PASSED [ 17%] tests/test_after_hooks.py::test_output_validator[wsgi] PASSED [ 17%] tests/test_after_hooks.py::test_serializer[asgi] PASSED [ 17%] tests/test_after_hooks.py::test_serializer[wsgi] PASSED [ 17%] tests/test_after_hooks.py::test_hook_as_callable_class[asgi] PASSED [ 17%] tests/test_after_hooks.py::test_hook_as_callable_class[wsgi] PASSED [ 17%] tests/test_after_hooks.py::test_resource_with_uri_fields[asgi-resource0] PASSED [ 17%] tests/test_after_hooks.py::test_resource_with_uri_fields[asgi-resource1] PASSED [ 17%] tests/test_after_hooks.py::test_resource_with_uri_fields[wsgi-resource0] PASSED [ 17%] tests/test_after_hooks.py::test_resource_with_uri_fields[wsgi-resource1] PASSED [ 17%] tests/test_after_hooks.py::test_resource_with_uri_fields_async PASSED [ 17%] tests/test_after_hooks.py::test_wrapped_resource[asgi-resource0] PASSED [ 17%] tests/test_after_hooks.py::test_wrapped_resource[asgi-resource1] PASSED [ 17%] tests/test_after_hooks.py::test_wrapped_resource[wsgi-resource0] PASSED [ 17%] tests/test_after_hooks.py::test_wrapped_resource[wsgi-resource1] PASSED [ 17%] tests/test_after_hooks.py::test_wrapped_resource_with_hooks_aware_of_resource[asgi] PASSED [ 17%] tests/test_after_hooks.py::test_wrapped_resource_with_hooks_aware_of_resource[wsgi] PASSED [ 17%] tests/test_after_hooks.py::test_after_hooks_on_suffixed_resource[paper-/once-paper, rock, scissors] PASSED [ 17%] tests/test_after_hooks.py::test_after_hooks_on_suffixed_resource[scissors-/twice-scissors, paper, rock, scissors] PASSED [ 17%] tests/test_after_hooks.py::test_after_hooks_on_suffixed_resource[rock-/thrice-rock, scissors, paper, rock, scissors] PASSED [ 17%] tests/test_after_hooks.py::test_after_hooks_on_suffixed_resource[paper-/thrice-paper, rock, scissors, paper, rock] PASSED [ 17%] tests/test_alias.py::test_cookies PASSED [ 17%] tests/test_alias.py::test_alias_equals_to_app PASSED [ 17%] tests/test_app_initializers.py::test_api_media_type_overriding[App] PASSED [ 17%] tests/test_app_initializers.py::test_api_media_type_overriding[API] PASSED [ 17%] tests/test_before_hooks.py::test_multiple_resource_hooks[asgi-resource0] PASSED [ 17%] tests/test_before_hooks.py::test_multiple_resource_hooks[asgi-resource1] PASSED [ 17%] tests/test_before_hooks.py::test_multiple_resource_hooks[wsgi-resource0] PASSED [ 17%] tests/test_before_hooks.py::test_multiple_resource_hooks[wsgi-resource1] PASSED [ 17%] tests/test_before_hooks.py::test_input_validator[asgi] PASSED [ 17%] tests/test_before_hooks.py::test_input_validator[wsgi] PASSED [ 17%] tests/test_before_hooks.py::test_input_validator_inherited[asgi] PASSED [ 17%] tests/test_before_hooks.py::test_input_validator_inherited[wsgi] PASSED [ 17%] tests/test_before_hooks.py::test_param_validator[asgi] PASSED [ 17%] tests/test_before_hooks.py::test_param_validator[wsgi] PASSED [ 18%] tests/test_before_hooks.py::test_field_validator[asgi-resource0] PASSED [ 18%] tests/test_before_hooks.py::test_field_validator[asgi-resource1] PASSED [ 18%] tests/test_before_hooks.py::test_field_validator[asgi-resource2] PASSED [ 18%] tests/test_before_hooks.py::test_field_validator[wsgi-resource0] PASSED [ 18%] tests/test_before_hooks.py::test_field_validator[wsgi-resource1] PASSED [ 18%] tests/test_before_hooks.py::test_field_validator[wsgi-resource2] PASSED [ 18%] tests/test_before_hooks.py::test_parser_sync[{"animal": "falcon"}-doc0] PASSED [ 18%] tests/test_before_hooks.py::test_parser_sync[{}-doc1] PASSED [ 18%] tests/test_before_hooks.py::test_parser_sync[-None] PASSED [ 18%] tests/test_before_hooks.py::test_parser_sync[None-None] PASSED [ 18%] tests/test_before_hooks.py::test_parser_async[{"animal": "falcon"}-doc0] PASSED [ 18%] tests/test_before_hooks.py::test_parser_async[{}-doc1] PASSED [ 18%] tests/test_before_hooks.py::test_parser_async[-None] PASSED [ 18%] tests/test_before_hooks.py::test_parser_async[None-None] PASSED [ 18%] tests/test_before_hooks.py::test_wrapped_resource[asgi] PASSED [ 18%] tests/test_before_hooks.py::test_wrapped_resource[wsgi] PASSED [ 18%] tests/test_before_hooks.py::test_wrapped_resource_with_hooks_aware_of_resource[asgi] PASSED [ 18%] tests/test_before_hooks.py::test_wrapped_resource_with_hooks_aware_of_resource[wsgi] PASSED [ 18%] tests/test_before_hooks.py::test_piggybacking_resource_post_item[asgi] PASSED [ 18%] tests/test_before_hooks.py::test_piggybacking_resource_post_item[wsgi] PASSED [ 18%] tests/test_before_hooks.py::test_piggybacking_resource_post_and_delete[asgi] PASSED [ 18%] tests/test_before_hooks.py::test_piggybacking_resource_post_and_delete[wsgi] PASSED [ 18%] tests/test_before_hooks.py::test_decorable_name_pattern PASSED [ 18%] tests/test_boundedstream.py::test_not_writable PASSED [ 18%] tests/test_boundedstream.py::test_exhausted PASSED [ 18%] tests/test_buffered_reader.py::test_peek PASSED [ 18%] tests/test_buffered_reader.py::test_peek_eof PASSED [ 18%] tests/test_buffered_reader.py::test_bounded_read PASSED [ 18%] tests/test_buffered_reader.py::test_read_from_buffer[0] PASSED [ 18%] tests/test_buffered_reader.py::test_read_from_buffer[1] PASSED [ 18%] tests/test_buffered_reader.py::test_read_from_buffer[2] PASSED [ 18%] tests/test_buffered_reader.py::test_read_from_buffer[7] PASSED [ 18%] tests/test_buffered_reader.py::test_read_from_buffer[62] PASSED [ 18%] tests/test_buffered_reader.py::test_read_from_buffer[63] PASSED [ 18%] tests/test_buffered_reader.py::test_read_from_buffer[64] PASSED [ 18%] tests/test_buffered_reader.py::test_read_from_buffer[65] PASSED [ 18%] tests/test_buffered_reader.py::test_read_from_buffer[126] PASSED [ 18%] tests/test_buffered_reader.py::test_read_from_buffer[127] PASSED [ 18%] tests/test_buffered_reader.py::test_read_from_buffer[128] PASSED [ 18%] tests/test_buffered_reader.py::test_read_from_buffer[129] PASSED [ 18%] tests/test_buffered_reader.py::test_read_from_buffer[1000] PASSED [ 19%] tests/test_buffered_reader.py::test_read_from_buffer[10000] PASSED [ 19%] tests/test_buffered_reader.py::test_read_until_delimiter_size_check PASSED [ 19%] tests/test_buffered_reader.py::test_read_until_with_size[0] PASSED [ 19%] tests/test_buffered_reader.py::test_read_until_with_size[1] PASSED [ 19%] tests/test_buffered_reader.py::test_read_until_with_size[2] PASSED [ 19%] tests/test_buffered_reader.py::test_read_until_with_size[7] PASSED [ 19%] tests/test_buffered_reader.py::test_read_until_with_size[62] PASSED [ 19%] tests/test_buffered_reader.py::test_read_until_with_size[63] PASSED [ 19%] tests/test_buffered_reader.py::test_read_until_with_size[64] PASSED [ 19%] tests/test_buffered_reader.py::test_read_until_with_size[65] PASSED [ 19%] tests/test_buffered_reader.py::test_read_until_with_size[126] PASSED [ 19%] tests/test_buffered_reader.py::test_read_until_with_size[127] PASSED [ 19%] tests/test_buffered_reader.py::test_read_until_with_size[128] PASSED [ 19%] tests/test_buffered_reader.py::test_read_until_with_size[129] PASSED [ 19%] tests/test_buffered_reader.py::test_read_until_with_size[1000] PASSED [ 19%] tests/test_buffered_reader.py::test_read_until_with_size[10000] PASSED [ 19%] tests/test_buffered_reader.py::test_read_until PASSED [ 19%] tests/test_buffered_reader.py::test_irregular_large_read_until[11003077-22000721] PASSED [ 19%] tests/test_buffered_reader.py::test_irregular_large_read_until[13372477-51637898] PASSED [ 19%] tests/test_buffered_reader.py::test_read_until_from_buffer[0] PASSED [ 19%] tests/test_buffered_reader.py::test_read_until_from_buffer[1] PASSED [ 19%] tests/test_buffered_reader.py::test_read_until_from_buffer[2] PASSED [ 19%] tests/test_buffered_reader.py::test_read_until_from_buffer[7] PASSED [ 19%] tests/test_buffered_reader.py::test_read_until_from_buffer[62] PASSED [ 19%] tests/test_buffered_reader.py::test_read_until_from_buffer[63] PASSED [ 19%] tests/test_buffered_reader.py::test_read_until_from_buffer[64] PASSED [ 19%] tests/test_buffered_reader.py::test_read_until_from_buffer[65] PASSED [ 19%] tests/test_buffered_reader.py::test_read_until_from_buffer[126] PASSED [ 19%] tests/test_buffered_reader.py::test_read_until_from_buffer[127] PASSED [ 19%] tests/test_buffered_reader.py::test_read_until_from_buffer[128] PASSED [ 19%] tests/test_buffered_reader.py::test_read_until_from_buffer[129] PASSED [ 19%] tests/test_buffered_reader.py::test_read_until_from_buffer[1000] PASSED [ 19%] tests/test_buffered_reader.py::test_read_until_missing_delimiter PASSED [ 19%] tests/test_buffered_reader.py::test_consume_delimiter PASSED [ 19%] tests/test_buffered_reader.py::test_read_until_shared_boundary[46] PASSED [ 19%] tests/test_buffered_reader.py::test_read_until_shared_boundary[47] PASSED [ 19%] tests/test_buffered_reader.py::test_read_until_shared_boundary[48] PASSED [ 19%] tests/test_buffered_reader.py::test_read_until_shared_boundary[49] PASSED [ 19%] tests/test_buffered_reader.py::test_read_until_shared_boundary[50] PASSED [ 19%] tests/test_buffered_reader.py::test_read_until_shared_boundary[51] PASSED [ 20%] tests/test_buffered_reader.py::test_read_until_shared_boundary[52] PASSED [ 20%] tests/test_buffered_reader.py::test_read_until_shared_boundary[53] PASSED [ 20%] tests/test_buffered_reader.py::test_read_until_shared_boundary[54] PASSED [ 20%] tests/test_buffered_reader.py::test_read_until_shared_boundary[55] PASSED [ 20%] tests/test_buffered_reader.py::test_read_until_shared_boundary[56] PASSED [ 20%] tests/test_buffered_reader.py::test_read_until_shared_boundary[57] PASSED [ 20%] tests/test_buffered_reader.py::test_read_until_shared_boundary[58] PASSED [ 20%] tests/test_buffered_reader.py::test_read_until_shared_boundary[59] PASSED [ 20%] tests/test_buffered_reader.py::test_read_until_shared_boundary[60] PASSED [ 20%] tests/test_buffered_reader.py::test_read_until_shared_boundary[61] PASSED [ 20%] tests/test_buffered_reader.py::test_read_until_shared_boundary[62] PASSED [ 20%] tests/test_buffered_reader.py::test_pipe PASSED [ 20%] tests/test_buffered_reader.py::test_pipe_until PASSED [ 20%] tests/test_buffered_reader.py::test_pipe_until_without_destination PASSED [ 20%] tests/test_buffered_reader.py::test_exhaust PASSED [ 20%] tests/test_buffered_reader.py::test_readline PASSED [ 20%] tests/test_buffered_reader.py::test_readline_with_size PASSED [ 20%] tests/test_buffered_reader.py::test_readlines PASSED [ 20%] tests/test_buffered_reader.py::test_readlines_hint[8] PASSED [ 20%] tests/test_buffered_reader.py::test_readlines_hint[16] PASSED [ 20%] tests/test_buffered_reader.py::test_readlines_hint[256] PASSED [ 20%] tests/test_buffered_reader.py::test_readlines_hint[1024] PASSED [ 20%] tests/test_buffered_reader.py::test_readlines_hint[65536] PASSED [ 20%] tests/test_buffered_reader.py::test_duck_compatibility_with_io_base PASSED [ 20%] tests/test_buffered_reader.py::test_fragmented_reads PASSED [ 20%] tests/test_cmd_inspect_app.py::TestMakeParser::test_make_parser[args0-exp0] PASSED [ 20%] tests/test_cmd_inspect_app.py::TestMakeParser::test_make_parser[args1-exp1] PASSED [ 20%] tests/test_cmd_inspect_app.py::TestMakeParser::test_make_parser[args2-exp2] PASSED [ 20%] tests/test_cmd_inspect_app.py::TestMakeParser::test_make_parser[args3-exp3] PASSED [ 20%] tests/test_cmd_inspect_app.py::TestMakeParser::test_make_parser[args4-exp4] PASSED [ 20%] tests/test_cmd_inspect_app.py::TestMakeParser::test_make_parser[args5-exp5] PASSED [ 20%] tests/test_cmd_inspect_app.py::TestMakeParser::test_make_parser[args6-exp6] PASSED [ 20%] tests/test_cmd_inspect_app.py::TestMakeParser::test_make_parser[args7-exp7] PASSED [ 20%] tests/test_cmd_inspect_app.py::TestMakeParser::test_make_parser_error PASSED [ 20%] tests/test_cmd_inspect_app.py::TestLoadApp::test_load_app[_APP] PASSED [ 20%] tests/test_cmd_inspect_app.py::TestLoadApp::test_load_app[make_app] PASSED [ 20%] tests/test_cmd_inspect_app.py::TestLoadApp::test_load_app_error[foo] PASSED [ 20%] tests/test_cmd_inspect_app.py::TestLoadApp::test_load_app_error[_MODULE] PASSED [ 20%] tests/test_cmd_inspect_app.py::TestLoadApp::test_load_app_error[DummyResource] PASSED [ 20%] tests/test_cmd_inspect_app.py::TestLoadApp::test_load_app_module_error PASSED [ 20%] tests/test_cmd_inspect_app.py::TestMain::test_routes_only[internal-verbose] PASSED [ 21%] tests/test_cmd_inspect_app.py::TestMain::test_routes_only[internal-not-verbose] PASSED [ 21%] tests/test_cmd_inspect_app.py::TestMain::test_routes_only[not-internal-verbose] PASSED [ 21%] tests/test_cmd_inspect_app.py::TestMain::test_routes_only[not-internal-not-verbose] PASSED [ 21%] tests/test_cmd_inspect_app.py::TestMain::test_inspect[internal-verbose] PASSED [ 21%] tests/test_cmd_inspect_app.py::TestMain::test_inspect[internal-not-verbose] PASSED [ 21%] tests/test_cmd_inspect_app.py::TestMain::test_inspect[not-internal-verbose] PASSED [ 21%] tests/test_cmd_inspect_app.py::TestMain::test_inspect[not-internal-not-verbose] PASSED [ 21%] tests/test_cmd_inspect_app.py::test_route_main PASSED [ 21%] tests/test_compiled_router.py::test_find_src PASSED [ 21%] tests/test_compiled_router.py::test_no_compile_kw[kwargs0] PASSED [ 21%] tests/test_compiled_router.py::test_no_compile_kw[kwargs1] PASSED [ 21%] tests/test_compiled_router.py::test_no_compile_kw[kwargs2] PASSED [ 21%] tests/test_compiled_router.py::test_no_compile_kw[kwargs3] PASSED [ 21%] tests/test_compiled_router.py::test_compile PASSED [ 21%] tests/test_compiled_router.py::test_add_route_after_first_request PASSED [ 21%] tests/test_compiled_router.py::test_multithread_compile PASSED [ 21%] tests/test_compiled_router.py::test_cannot_replace_compiled PASSED [ 21%] tests/test_compiled_router.py::test_converter_not_subclass PASSED [ 21%] tests/test_compiled_router.py::test_base_classes PASSED [ 21%] tests/test_cookies.py::test_response_base_case[asgi] PASSED [ 21%] tests/test_cookies.py::test_response_base_case[wsgi] PASSED [ 21%] tests/test_cookies.py::test_response_disable_secure_globally[asgi] PASSED [ 21%] tests/test_cookies.py::test_response_disable_secure_globally[wsgi] PASSED [ 21%] tests/test_cookies.py::test_response_complex_case[asgi] PASSED [ 21%] tests/test_cookies.py::test_response_complex_case[wsgi] PASSED [ 21%] tests/test_cookies.py::test_unset_cookies[asgi] PASSED [ 21%] tests/test_cookies.py::test_unset_cookies[wsgi] PASSED [ 21%] tests/test_cookies.py::test_unset_cookies_samesite[asgi] PASSED [ 21%] tests/test_cookies.py::test_unset_cookies_samesite[wsgi] PASSED [ 21%] tests/test_cookies.py::test_cookie_expires_naive[asgi] PASSED [ 21%] tests/test_cookies.py::test_cookie_expires_naive[wsgi] PASSED [ 21%] tests/test_cookies.py::test_cookie_expires_aware[asgi] PASSED [ 21%] tests/test_cookies.py::test_cookie_expires_aware[wsgi] PASSED [ 21%] tests/test_cookies.py::test_cookies_setable PASSED [ 21%] tests/test_cookies.py::test_cookie_max_age_float_and_string[asgi-foofloat] PASSED [ 21%] tests/test_cookies.py::test_cookie_max_age_float_and_string[asgi-foostring] PASSED [ 21%] tests/test_cookies.py::test_cookie_max_age_float_and_string[wsgi-foofloat] PASSED [ 21%] tests/test_cookies.py::test_cookie_max_age_float_and_string[wsgi-foostring] PASSED [ 21%] tests/test_cookies.py::test_response_unset_cookie PASSED [ 21%] tests/test_cookies.py::test_request_cookie_parsing PASSED [ 21%] tests/test_cookies.py::test_invalid_cookies_are_ignored PASSED [ 22%] tests/test_cookies.py::test_duplicate_cookie PASSED [ 22%] tests/test_cookies.py::test_cookie_header_is_missing PASSED [ 22%] tests/test_cookies.py::test_unicode_inside_ascii_range PASSED [ 22%] tests/test_cookies.py::test_non_ascii_name[Unicode_\xc3\xa6\xc3\xb8] PASSED [ 22%] tests/test_cookies.py::test_non_ascii_name[Unicode_\xc3\x83\xc2\xa6\xc3\x83\xc2\xb8] PASSED [ 22%] tests/test_cookies.py::test_non_ascii_name[42] PASSED [ 22%] tests/test_cookies.py::test_non_ascii_value[Unicode_\xc3\xa6\xc3\xb8] PASSED [ 22%] tests/test_cookies.py::test_non_ascii_value[Unicode_\xc3\x83\xc2\xa6\xc3\x83\xc2\xb8] PASSED [ 22%] tests/test_cookies.py::test_non_ascii_value[42] PASSED [ 22%] tests/test_cookies.py::test_lax_same_site_value[asgi] PASSED [ 22%] tests/test_cookies.py::test_lax_same_site_value[wsgi] PASSED [ 22%] tests/test_cookies.py::test_strict_same_site_value[asgi] PASSED [ 22%] tests/test_cookies.py::test_strict_same_site_value[wsgi] PASSED [ 22%] tests/test_cookies.py::test_none_same_site_value[asgi] PASSED [ 22%] tests/test_cookies.py::test_none_same_site_value[wsgi] PASSED [ 22%] tests/test_cookies.py::test_same_site_empty_string[asgi] PASSED [ 22%] tests/test_cookies.py::test_same_site_empty_string[wsgi] PASSED [ 22%] tests/test_cookies.py::test_same_site_value_case_insensitive[laX] PASSED [ 22%] tests/test_cookies.py::test_same_site_value_case_insensitive[lax] PASSED [ 22%] tests/test_cookies.py::test_same_site_value_case_insensitive[STRICT] PASSED [ 22%] tests/test_cookies.py::test_same_site_value_case_insensitive[strict] PASSED [ 22%] tests/test_cookies.py::test_same_site_value_case_insensitive[None] PASSED [ 22%] tests/test_cookies.py::test_same_site_value_case_insensitive[none] PASSED [ 22%] tests/test_cookies.py::test_invalid_same_site_value[bogus] PASSED [ 22%] tests/test_cookies.py::test_invalid_same_site_value[laxx] PASSED [ 22%] tests/test_cookies.py::test_invalid_same_site_value[stric] PASSED [ 22%] tests/test_cookies.py::test_partitioned_value[asgi] PASSED [ 22%] tests/test_cookies.py::test_partitioned_value[wsgi] PASSED [ 22%] tests/test_cors_middleware.py::TestCorsMiddleware::test_disabled_cors_should_not_add_any_extra_headers[asgi] PASSED [ 22%] tests/test_cors_middleware.py::TestCorsMiddleware::test_disabled_cors_should_not_add_any_extra_headers[wsgi] PASSED [ 22%] tests/test_cors_middleware.py::TestCorsMiddleware::test_enabled_cors_no_origin[asgi] PASSED [ 22%] tests/test_cors_middleware.py::TestCorsMiddleware::test_enabled_cors_no_origin[wsgi] PASSED [ 22%] tests/test_cors_middleware.py::TestCorsMiddleware::test_enabled_cors_should_add_extra_headers_on_response[asgi] PASSED [ 22%] tests/test_cors_middleware.py::TestCorsMiddleware::test_enabled_cors_should_add_extra_headers_on_response[wsgi] PASSED [ 22%] tests/test_cors_middleware.py::TestCorsMiddleware::test_enabled_cors_should_accept_all_origins_requests[asgi] PASSED [ 22%] tests/test_cors_middleware.py::TestCorsMiddleware::test_enabled_cors_should_accept_all_origins_requests[wsgi] PASSED [ 22%] tests/test_cors_middleware.py::TestCorsMiddleware::test_enabled_cors_handles_preflighting[asgi] PASSED [ 22%] tests/test_cors_middleware.py::TestCorsMiddleware::test_enabled_cors_handles_preflighting[wsgi] PASSED [ 22%] tests/test_cors_middleware.py::TestCorsMiddleware::test_enabled_cors_handles_preflight_custom_option[asgi] PASSED [ 22%] tests/test_cors_middleware.py::TestCorsMiddleware::test_enabled_cors_handles_preflight_custom_option[wsgi] PASSED [ 22%] tests/test_cors_middleware.py::TestCorsMiddleware::test_enabled_cors_handles_preflighting_no_headers_in_req[asgi] PASSED [ 23%] tests/test_cors_middleware.py::TestCorsMiddleware::test_enabled_cors_handles_preflighting_no_headers_in_req[wsgi] PASSED [ 23%] tests/test_cors_middleware.py::TestCorsMiddleware::test_enabled_cors_static_route[asgi] PASSED [ 23%] tests/test_cors_middleware.py::TestCorsMiddleware::test_enabled_cors_static_route[wsgi] PASSED [ 23%] tests/test_cors_middleware.py::TestCorsMiddleware::test_enabled_cors_sink_route[asgi-True] PASSED [ 23%] tests/test_cors_middleware.py::TestCorsMiddleware::test_enabled_cors_sink_route[asgi-False] PASSED [ 23%] tests/test_cors_middleware.py::TestCorsMiddleware::test_enabled_cors_sink_route[wsgi-True] PASSED [ 23%] tests/test_cors_middleware.py::TestCorsMiddleware::test_enabled_cors_sink_route[wsgi-False] PASSED [ 23%] tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_raises PASSED [ 23%] tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_allow_origin[asgi-*-fail_origins0-success_origins0] PASSED [ 23%] tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_allow_origin[asgi-test-fail_origins1-success_origins1] PASSED [ 23%] tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_allow_origin[asgi-allow2-fail_origins2-success_origins2] PASSED [ 23%] tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_allow_origin[wsgi-*-fail_origins0-success_origins0] PASSED [ 23%] tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_allow_origin[wsgi-test-fail_origins1-success_origins1] PASSED [ 23%] tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_allow_origin[wsgi-allow2-fail_origins2-success_origins2] PASSED [ 23%] tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_allow_credential_wildcard[asgi] PASSED [ 23%] tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_allow_credential_wildcard[wsgi] PASSED [ 23%] tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_allow_credential_list_or_str[asgi-allow0-successOrigin0] PASSED [ 23%] tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_allow_credential_list_or_str[asgi-foo-successOrigin1] PASSED [ 23%] tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_allow_credential_list_or_str[wsgi-allow0-successOrigin0] PASSED [ 23%] tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_allow_credential_list_or_str[wsgi-foo-successOrigin1] PASSED [ 23%] tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_allow_credential_existing_origin[asgi] PASSED [ 23%] tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_allow_credential_existing_origin[wsgi] PASSED [ 23%] tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_allow_origin_allow_credential[asgi] PASSED [ 23%] tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_allow_origin_allow_credential[wsgi] PASSED [ 23%] tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_expose_headers[asgi-foo-foo] PASSED [ 23%] tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_expose_headers[asgi-foo, bar-foo, bar] PASSED [ 23%] tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_expose_headers[asgi-attr2-foo, bar] PASSED [ 23%] tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_expose_headers[wsgi-foo-foo] PASSED [ 23%] tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_expose_headers[wsgi-foo, bar-foo, bar] PASSED [ 23%] tests/test_cors_middleware.py::TestCustomCorsMiddleware::test_expose_headers[wsgi-attr2-foo, bar] PASSED [ 23%] tests/test_custom_router.py::test_custom_router_add_route_should_be_used[asgi] PASSED [ 23%] tests/test_custom_router.py::test_custom_router_add_route_should_be_used[wsgi] PASSED [ 23%] tests/test_custom_router.py::test_custom_router_find_should_be_used[asgi] PASSED [ 23%] tests/test_custom_router.py::test_custom_router_find_should_be_used[wsgi] PASSED [ 23%] tests/test_custom_router.py::test_can_pass_additional_params_to_add_route[asgi] PASSED [ 23%] tests/test_custom_router.py::test_can_pass_additional_params_to_add_route[wsgi] PASSED [ 23%] tests/test_custom_router.py::test_custom_router_takes_req_positional_argument[asgi] PASSED [ 23%] tests/test_custom_router.py::test_custom_router_takes_req_positional_argument[wsgi] PASSED [ 23%] tests/test_custom_router.py::test_custom_router_takes_req_keyword_argument[asgi] PASSED [ 23%] tests/test_custom_router.py::test_custom_router_takes_req_keyword_argument[wsgi] PASSED [ 24%] tests/test_cython.py::TestCythonized::test_imported_from_c_modules PASSED [ 24%] tests/test_cython.py::TestCythonized::test_stream_has_private_read PASSED [ 24%] tests/test_default_router.py::test_user_regression_versioned_url PASSED [ 24%] tests/test_default_router.py::test_user_regression_recipes PASSED [ 24%] tests/test_default_router.py::test_user_regression_special_chars[/serviceRoot/People|{field}-/serviceRoot/People|susie-expected_params0] PASSED [ 24%] tests/test_default_router.py::test_user_regression_special_chars[/serviceRoot/People[{field}]-/serviceRoot/People['calvin']-expected_params1] PASSED [ 24%] tests/test_default_router.py::test_user_regression_special_chars[/serviceRoot/People({field})-/serviceRoot/People('hobbes')-expected_params2] PASSED [ 24%] tests/test_default_router.py::test_user_regression_special_chars[/serviceRoot/People({field})-/serviceRoot/People('hob)bes')-expected_params3] PASSED [ 24%] tests/test_default_router.py::test_user_regression_special_chars[/serviceRoot/People({field})(z)-/serviceRoot/People(hobbes)(z)-expected_params4] PASSED [ 24%] tests/test_default_router.py::test_user_regression_special_chars[/serviceRoot/People('{field}')-/serviceRoot/People('rosalyn')-expected_params5] PASSED [ 24%] tests/test_default_router.py::test_user_regression_special_chars[/^{field}-/^42-expected_params6] PASSED [ 24%] tests/test_default_router.py::test_user_regression_special_chars[/+{field}-/+42-expected_params7] PASSED [ 24%] tests/test_default_router.py::test_user_regression_special_chars[/foo/{first}_{second}/bar-/foo/abc_def_ghijk/bar-expected_params8] PASSED [ 24%] tests/test_default_router.py::test_user_regression_special_chars[/items/{x}?{y}-/items/1080?768-expected_params9] PASSED [ 24%] tests/test_default_router.py::test_user_regression_special_chars[/items/{x}|{y}-/items/1080|768-expected_params10] PASSED [ 24%] tests/test_default_router.py::test_user_regression_special_chars[/items/{x},{y}-/items/1080,768-expected_params11] PASSED [ 24%] tests/test_default_router.py::test_user_regression_special_chars[/items/{x}^^{y}-/items/1080^^768-expected_params12] PASSED [ 24%] tests/test_default_router.py::test_user_regression_special_chars[/items/{x}*{y}*-/items/1080*768*-expected_params13] PASSED [ 24%] tests/test_default_router.py::test_user_regression_special_chars[/thing-2/something+{field}+-/thing-2/something+42+-expected_params14] PASSED [ 24%] tests/test_default_router.py::test_user_regression_special_chars[/thing-2/something*{field}/notes-/thing-2/something*42/notes-expected_params15] PASSED [ 24%] 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 [ 24%] tests/test_default_router.py::test_user_regression_special_chars[serviceRoot/$metadata#Airports('{field}')/Name-serviceRoot/$metadata#Airports('KSFO')/Name-expected_params17] PASSED [ 24%] tests/test_default_router.py::test_not_str[asgi-uri_template0] PASSED [ 24%] tests/test_default_router.py::test_not_str[asgi-uri_template1] PASSED [ 24%] tests/test_default_router.py::test_not_str[asgi-uri_template2] PASSED [ 24%] tests/test_default_router.py::test_not_str[wsgi-uri_template0] PASSED [ 24%] tests/test_default_router.py::test_not_str[wsgi-uri_template1] PASSED [ 24%] tests/test_default_router.py::test_not_str[wsgi-uri_template2] PASSED [ 24%] tests/test_default_router.py::test_root_path PASSED [ 24%] tests/test_default_router.py::test_duplicate_field_names[/{field}{field}] PASSED [ 24%] tests/test_default_router.py::test_duplicate_field_names[/{field}...{field}] PASSED [ 24%] tests/test_default_router.py::test_duplicate_field_names[/{field}/{another}/{field}] PASSED [ 24%] tests/test_default_router.py::test_duplicate_field_names[/{field}/something/something/{field}/something] PASSED [ 24%] tests/test_default_router.py::test_match_entire_path[/items/thing-/items/t] PASSED [ 24%] tests/test_default_router.py::test_match_entire_path[/items/{x}|{y}|-/items/1080|768] PASSED [ 24%] tests/test_default_router.py::test_match_entire_path[/items/{x}*{y}foo-/items/1080*768foobar] PASSED [ 24%] tests/test_default_router.py::test_match_entire_path[/items/{x}*768*-/items/1080*768***] PASSED [ 24%] tests/test_default_router.py::test_conflict[/teams/{conflict}] PASSED [ 24%] tests/test_default_router.py::test_conflict[/emojis/signs/{id_too}] PASSED [ 24%] tests/test_default_router.py::test_conflict[/repos/{org}/{repo}/compare/{complex}:{vs}...{complex2}:{conflict}] PASSED [ 24%] tests/test_default_router.py::test_conflict[/teams/{id:int}/settings] PASSED [ 25%] tests/test_default_router.py::test_non_conflict[/repos/{org}/{repo}/compare/{simple_vs_complex}] PASSED [ 25%] tests/test_default_router.py::test_non_conflict[/repos/{complex}.{vs}.{simple}] PASSED [ 25%] tests/test_default_router.py::test_non_conflict[/repos/{org}/{repo}/compare/{complex}:{vs}...{complex2}/full] PASSED [ 25%] tests/test_default_router.py::test_invalid_field_name[/{}] PASSED [ 25%] tests/test_default_router.py::test_invalid_field_name[/repos/{org}/{repo}/compare/{}] PASSED [ 25%] tests/test_default_router.py::test_invalid_field_name[/repos/{complex}.{}.{thing}] PASSED [ 25%] tests/test_default_router.py::test_invalid_field_name[/{9v}] PASSED [ 25%] tests/test_default_router.py::test_invalid_field_name[/{524hello}/world] PASSED [ 25%] tests/test_default_router.py::test_invalid_field_name[/hello/{1world}] PASSED [ 25%] tests/test_default_router.py::test_invalid_field_name[/repos/{complex}.{9v}.{thing}/etc] PASSED [ 25%] tests/test_default_router.py::test_invalid_field_name[/{*kgriffs}] PASSED [ 25%] tests/test_default_router.py::test_invalid_field_name[/{@kgriffs}] PASSED [ 25%] tests/test_default_router.py::test_invalid_field_name[/repos/{complex}.{v}.{@thing}/etc] PASSED [ 25%] tests/test_default_router.py::test_invalid_field_name[/{-kgriffs}] PASSED [ 25%] tests/test_default_router.py::test_invalid_field_name[/repos/{complex}.{-v}.{thing}/etc] PASSED [ 25%] tests/test_default_router.py::test_invalid_field_name[/repos/{simple-thing}/etc] PASSED [ 25%] tests/test_default_router.py::test_invalid_field_name[/this and that] PASSED [ 25%] tests/test_default_router.py::test_invalid_field_name[/this\tand\tthat/this\nand\nthat/{thing }/world] PASSED [ 25%] tests/test_default_router.py::test_invalid_field_name[/{thing\t}/world] PASSED [ 25%] tests/test_default_router.py::test_invalid_field_name[/{\nthing}/world] PASSED [ 25%] tests/test_default_router.py::test_invalid_field_name[/{th\x0bing}/world] PASSED [ 25%] tests/test_default_router.py::test_invalid_field_name[/{ thing}/world] PASSED [ 25%] tests/test_default_router.py::test_invalid_field_name[/{ thing }/world] PASSED [ 25%] tests/test_default_router.py::test_invalid_field_name[/{thing}/wo rld] PASSED [ 25%] tests/test_default_router.py::test_invalid_field_name[/{thing} /world] PASSED [ 25%] tests/test_default_router.py::test_invalid_field_name[/repos/{or g}/{repo}/compare/{thing}] PASSED [ 25%] tests/test_default_router.py::test_invalid_field_name[/repos/{org}/{repo}/compare/{th\ting}] PASSED [ 25%] tests/test_default_router.py::test_print_src PASSED [ 25%] tests/test_default_router.py::test_override PASSED [ 25%] tests/test_default_router.py::test_literal_segment PASSED [ 25%] tests/test_default_router.py::test_dead_segment[/teams] PASSED [ 25%] tests/test_default_router.py::test_dead_segment[/emojis/signs] PASSED [ 25%] tests/test_default_router.py::test_dead_segment[/gists] PASSED [ 25%] tests/test_default_router.py::test_dead_segment[/gists/42] PASSED [ 25%] tests/test_default_router.py::test_malformed_pattern[/repos/racker/falcon/compare/foo] PASSED [ 25%] tests/test_default_router.py::test_malformed_pattern[/repos/racker/falcon/compare/foo/full] PASSED [ 25%] tests/test_default_router.py::test_literal PASSED [ 25%] tests/test_default_router.py::test_converters[/cvt/teams/007-expected_params0] PASSED [ 25%] tests/test_default_router.py::test_converters[/cvt/teams/1234/members-expected_params1] PASSED [ 25%] tests/test_default_router.py::test_converters[/cvt/teams/default/members/700-5-expected_params2] PASSED [ 25%] tests/test_default_router.py::test_converters[/cvt/repos/org/repo/compare/xkcd:353-expected_params3] PASSED [ 26%] tests/test_default_router.py::test_converters[/cvt/repos/org/repo/compare/gunmachan:1234...kumamon:5678/part-expected_params4] PASSED [ 26%] tests/test_default_router.py::test_converters[/cvt/repos/xkcd/353/compare/susan:0001/full-expected_params5] PASSED [ 26%] tests/test_default_router.py::test_converters_with_invalid_options[/foo/{bar:int(0)}] PASSED [ 26%] tests/test_default_router.py::test_converters_with_invalid_options[/foo/{bar:int(num_digits=0)}] PASSED [ 26%] tests/test_default_router.py::test_converters_with_invalid_options[/foo/{bar:int(-1)}/baz] PASSED [ 26%] tests/test_default_router.py::test_converters_with_invalid_options[/foo/{bar:int(num_digits=-1)}/baz] PASSED [ 26%] tests/test_default_router.py::test_converters_malformed_specification[/foo/{bar:}] PASSED [ 26%] tests/test_default_router.py::test_converters_malformed_specification[/foo/{bar:unknown}/baz] PASSED [ 26%] tests/test_default_router.py::test_variable PASSED [ 26%] tests/test_default_router.py::test_single_character_field_name PASSED [ 26%] tests/test_default_router.py::test_literal_vs_variable[/teams/default-19] PASSED [ 26%] tests/test_default_router.py::test_literal_vs_variable[/teams/default/members-7] PASSED [ 26%] tests/test_default_router.py::test_literal_vs_variable[/cvt/teams/default-31] PASSED [ 26%] tests/test_default_router.py::test_literal_vs_variable[/cvt/teams/default/members/1234-10-32] PASSED [ 26%] tests/test_default_router.py::test_literal_vs_variable[/teams/1234-6] PASSED [ 26%] tests/test_default_router.py::test_literal_vs_variable[/teams/1234/members-7] PASSED [ 26%] tests/test_default_router.py::test_literal_vs_variable[/gists/first-20] PASSED [ 26%] tests/test_default_router.py::test_literal_vs_variable[/gists/first/raw-18] PASSED [ 26%] tests/test_default_router.py::test_literal_vs_variable[/gists/first/pdf-21] PASSED [ 26%] tests/test_default_router.py::test_literal_vs_variable[/gists/1776/pdf-21] PASSED [ 26%] tests/test_default_router.py::test_literal_vs_variable[/emojis/signs/78-13] PASSED [ 26%] tests/test_default_router.py::test_literal_vs_variable[/emojis/signs/78/small.png-24] PASSED [ 26%] tests/test_default_router.py::test_literal_vs_variable[/emojis/signs/78/small(png)-25] PASSED [ 26%] tests/test_default_router.py::test_literal_vs_variable[/emojis/signs/78/small_png-26] PASSED [ 26%] tests/test_default_router.py::test_not_found[/this/does/not/exist] PASSED [ 26%] tests/test_default_router.py::test_not_found[/user/bogus] PASSED [ 26%] tests/test_default_router.py::test_not_found[/repos/racker/falcon/compare/johndoe:master...janedoe:dev/bogus] PASSED [ 26%] tests/test_default_router.py::test_not_found[/teams] PASSED [ 26%] tests/test_default_router.py::test_not_found[/teams/42/members/undefined] PASSED [ 26%] tests/test_default_router.py::test_not_found[/teams/42/undefined] PASSED [ 26%] tests/test_default_router.py::test_not_found[/teams/42/undefined/segments] PASSED [ 26%] tests/test_default_router.py::test_not_found[/teams/default/members/undefined] PASSED [ 26%] tests/test_default_router.py::test_not_found[/teams/default/members/thing/undefined] PASSED [ 26%] tests/test_default_router.py::test_not_found[/teams/default/members/thing/undefined/segments] PASSED [ 26%] tests/test_default_router.py::test_not_found[/teams/default/undefined] PASSED [ 26%] tests/test_default_router.py::test_not_found[/teams/default/undefined/segments] PASSED [ 26%] tests/test_default_router.py::test_not_found[/cvt/teams/default/members] PASSED [ 26%] tests/test_default_router.py::test_not_found[/cvt/teams/NaN] PASSED [ 26%] tests/test_default_router.py::test_not_found[/cvt/teams/default/members/NaN] PASSED [ 26%] tests/test_default_router.py::test_not_found[/emojis/signs] PASSED [ 27%] tests/test_default_router.py::test_not_found[/emojis/signs/0/small] PASSED [ 27%] tests/test_default_router.py::test_not_found[/emojis/signs/0/undefined] PASSED [ 27%] tests/test_default_router.py::test_not_found[/emojis/signs/0/undefined/segments] PASSED [ 27%] tests/test_default_router.py::test_not_found[/emojis/signs/20/small] PASSED [ 27%] tests/test_default_router.py::test_not_found[/emojis/signs/20/undefined] PASSED [ 27%] tests/test_default_router.py::test_not_found[/emojis/signs/42/undefined] PASSED [ 27%] tests/test_default_router.py::test_not_found[/emojis/signs/78/undefined] PASSED [ 27%] tests/test_default_router.py::test_subsegment_not_found PASSED [ 27%] tests/test_default_router.py::test_multivar PASSED [ 27%] tests/test_default_router.py::test_complex[-5] PASSED [ 27%] tests/test_default_router.py::test_complex[/full-10] PASSED [ 27%] tests/test_default_router.py::test_complex[/part-15] PASSED [ 27%] tests/test_default_router.py::test_complex_alt[-16-/repos/{org}/{repo}/compare/{usr0}:{branch0}] PASSED [ 27%] tests/test_default_router.py::test_complex_alt[/full-17-/repos/{org}/{repo}/compare/{usr0}:{branch0}/full] PASSED [ 27%] tests/test_default_router.py::test_options_converters_set PASSED [ 27%] tests/test_default_router.py::test_options_converters_update[spam] PASSED [ 27%] tests/test_default_router.py::test_options_converters_update[spam_2] PASSED [ 27%] tests/test_default_router.py::test_options_converters_invalid_name[has whitespace] PASSED [ 27%] tests/test_default_router.py::test_options_converters_invalid_name[whitespace ] PASSED [ 27%] tests/test_default_router.py::test_options_converters_invalid_name[ whitespace ] PASSED [ 27%] tests/test_default_router.py::test_options_converters_invalid_name[ whitespace] PASSED [ 27%] tests/test_default_router.py::test_options_converters_invalid_name[funky$character] PASSED [ 27%] tests/test_default_router.py::test_options_converters_invalid_name[42istheanswer] PASSED [ 27%] tests/test_default_router.py::test_options_converters_invalid_name[with-hyphen] PASSED [ 27%] tests/test_default_router.py::test_options_converters_invalid_name_on_update PASSED [ 27%] tests/test_default_router.py::test_params_in_non_taken_branches[/c/foo/arg/baz-expected0-1] PASSED [ 27%] tests/test_default_router.py::test_params_in_non_taken_branches[/c/foo/bar/other-expected1-2] PASSED [ 27%] tests/test_default_router.py::test_params_in_non_taken_branches[/c/foo/42-7/baz-expected2-1] PASSED [ 27%] tests/test_default_router.py::test_params_in_non_taken_branches[/upload/youtube/auth/token-expected3-4] PASSED [ 27%] tests/test_default_router.py::test_params_in_non_taken_branches[/x/y/o.o/w-expected4-7] PASSED [ 27%] tests/test_default_router.py::test_capture_path_no_children PASSED [ 27%] tests/test_default_router.py::test_capture_path_complex[/foo/{bar:path}-x] PASSED [ 27%] tests/test_default_router.py::test_capture_path_complex[/foo/x-{bar:path}] PASSED [ 27%] tests/test_default_router.py::test_capture_path_complex[/foo/{x}-{bar:path}] PASSED [ 27%] tests/test_default_router.py::test_capture_path_complex[/foo/{bar:path}-{x}] PASSED [ 27%] tests/test_default_router.py::test_capture_path[/foo/bar/baz-expected0-1] PASSED [ 27%] tests/test_default_router.py::test_capture_path[/foo/some/path/here-expected1-2] PASSED [ 27%] tests/test_default_router.py::test_capture_path[/foo/bar/bar-expected2-3] PASSED [ 27%] tests/test_default_router.py::test_capture_path[/foo/bar/bar-1/2/3/4/5/5/6/7/8/98/9/0/-/9/-expected3-3] PASSED [ 27%] tests/test_default_router.py::test_capture_path[/x/1/2/3-expected4-5] PASSED [ 27%] tests/test_default_router.py::test_capture_path[/x/1/2/3/4/5/6-expected5-5] PASSED [ 28%] tests/test_default_router.py::test_capture_path[/upload/youtube/auth/token-expected6-4] PASSED [ 28%] tests/test_default_router.py::test_capture_path[/x/y/o.o/w-expected7-4] PASSED [ 28%] tests/test_default_router.py::test_capture_path[/foo-expected8-4] PASSED [ 28%] tests/test_default_router.py::test_capture_path[/foo/-expected9-2] PASSED [ 28%] tests/test_default_router.py::test_capture_path[/foo/bar-expected10-2] PASSED [ 28%] tests/test_default_router.py::test_capture_path[/foo/bar/-expected11-3] PASSED [ 28%] tests/test_default_router.py::test_capture_path[/foo/bar/baz/other-expected12-3] PASSED [ 28%] tests/test_default_router.py::test_capture_path[/y/1/2/3-expected13-6] PASSED [ 28%] tests/test_default_router.py::test_capture_path[/y/1/a/3-expected14-4] PASSED [ 28%] tests/test_default_router.py::test_capture_path_no_match PASSED [ 28%] tests/test_error.py::test_with_default_title_and_desc[HTTPBadRequest-400 Bad Request] PASSED [ 28%] tests/test_error.py::test_with_default_title_and_desc[HTTPUnauthorized-401 Unauthorized] PASSED [ 28%] tests/test_error.py::test_with_default_title_and_desc[HTTPForbidden-403 Forbidden] PASSED [ 28%] tests/test_error.py::test_with_default_title_and_desc[HTTPNotFound-404 Not Found] PASSED [ 28%] tests/test_error.py::test_with_default_title_and_desc[HTTPRouteNotFound-404 Not Found] PASSED [ 28%] tests/test_error.py::test_with_default_title_and_desc[HTTPNotAcceptable-406 Not Acceptable] PASSED [ 28%] tests/test_error.py::test_with_default_title_and_desc[HTTPConflict-409 Conflict] PASSED [ 28%] tests/test_error.py::test_with_default_title_and_desc[HTTPGone-410 Gone] PASSED [ 28%] tests/test_error.py::test_with_default_title_and_desc[HTTPLengthRequired-411 Length Required] PASSED [ 28%] tests/test_error.py::test_with_default_title_and_desc[HTTPPreconditionFailed-412 Precondition Failed] PASSED [ 28%] tests/test_error.py::test_with_default_title_and_desc[HTTPContentTooLarge-413 Content Too Large] PASSED [ 28%] tests/test_error.py::test_with_default_title_and_desc[HTTPUriTooLong-414 URI Too Long] PASSED [ 28%] tests/test_error.py::test_with_default_title_and_desc[HTTPUnsupportedMediaType-415 Unsupported Media Type] PASSED [ 28%] tests/test_error.py::test_with_default_title_and_desc[HTTPUnprocessableEntity-422 Unprocessable Entity] PASSED [ 28%] tests/test_error.py::test_with_default_title_and_desc[HTTPLocked-423 Locked] PASSED [ 28%] tests/test_error.py::test_with_default_title_and_desc[HTTPFailedDependency-424 Failed Dependency] PASSED [ 28%] tests/test_error.py::test_with_default_title_and_desc[HTTPPreconditionRequired-428 Precondition Required] PASSED [ 28%] tests/test_error.py::test_with_default_title_and_desc[HTTPTooManyRequests-429 Too Many Requests] PASSED [ 28%] tests/test_error.py::test_with_default_title_and_desc[HTTPRequestHeaderFieldsTooLarge-431 Request Header Fields Too Large] PASSED [ 28%] tests/test_error.py::test_with_default_title_and_desc[HTTPUnavailableForLegalReasons-451 Unavailable For Legal Reasons] PASSED [ 28%] tests/test_error.py::test_with_default_title_and_desc[HTTPInternalServerError-500 Internal Server Error] PASSED [ 28%] tests/test_error.py::test_with_default_title_and_desc[HTTPNotImplemented-501 Not Implemented] PASSED [ 28%] tests/test_error.py::test_with_default_title_and_desc[HTTPBadGateway-502 Bad Gateway] PASSED [ 28%] tests/test_error.py::test_with_default_title_and_desc[HTTPServiceUnavailable-503 Service Unavailable] PASSED [ 28%] tests/test_error.py::test_with_default_title_and_desc[HTTPGatewayTimeout-504 Gateway Timeout] PASSED [ 28%] tests/test_error.py::test_with_default_title_and_desc[HTTPVersionNotSupported-505 HTTP Version Not Supported] PASSED [ 28%] tests/test_error.py::test_with_default_title_and_desc[HTTPInsufficientStorage-507 Insufficient Storage] PASSED [ 28%] tests/test_error.py::test_with_default_title_and_desc[HTTPLoopDetected-508 Loop Detected] PASSED [ 28%] tests/test_error.py::test_with_default_title_and_desc[HTTPNetworkAuthenticationRequired-511 Network Authentication Required] PASSED [ 28%] tests/test_error.py::test_with_default_title_and_desc_args[HTTPMethodNotAllowed-405 Method Not Allowed-args0] PASSED [ 28%] tests/test_error.py::test_with_default_title_and_desc_args[HTTPRangeNotSatisfiable-416 Range Not Satisfiable-args1] PASSED [ 29%] tests/test_error.py::test_with_title_desc_and_headers[HTTPBadRequest] PASSED [ 29%] tests/test_error.py::test_with_title_desc_and_headers[HTTPUnauthorized] PASSED [ 29%] tests/test_error.py::test_with_title_desc_and_headers[HTTPForbidden] PASSED [ 29%] tests/test_error.py::test_with_title_desc_and_headers[HTTPNotFound] PASSED [ 29%] tests/test_error.py::test_with_title_desc_and_headers[HTTPRouteNotFound] PASSED [ 29%] tests/test_error.py::test_with_title_desc_and_headers[HTTPNotAcceptable] PASSED [ 29%] tests/test_error.py::test_with_title_desc_and_headers[HTTPConflict] PASSED [ 29%] tests/test_error.py::test_with_title_desc_and_headers[HTTPGone] PASSED [ 29%] tests/test_error.py::test_with_title_desc_and_headers[HTTPLengthRequired] PASSED [ 29%] tests/test_error.py::test_with_title_desc_and_headers[HTTPPreconditionFailed] PASSED [ 29%] tests/test_error.py::test_with_title_desc_and_headers[HTTPContentTooLarge] PASSED [ 29%] tests/test_error.py::test_with_title_desc_and_headers[HTTPUriTooLong] PASSED [ 29%] tests/test_error.py::test_with_title_desc_and_headers[HTTPUnsupportedMediaType] PASSED [ 29%] tests/test_error.py::test_with_title_desc_and_headers[HTTPUnprocessableEntity] PASSED [ 29%] tests/test_error.py::test_with_title_desc_and_headers[HTTPLocked] PASSED [ 29%] tests/test_error.py::test_with_title_desc_and_headers[HTTPFailedDependency] PASSED [ 29%] tests/test_error.py::test_with_title_desc_and_headers[HTTPPreconditionRequired] PASSED [ 29%] tests/test_error.py::test_with_title_desc_and_headers[HTTPTooManyRequests] PASSED [ 29%] tests/test_error.py::test_with_title_desc_and_headers[HTTPRequestHeaderFieldsTooLarge] PASSED [ 29%] tests/test_error.py::test_with_title_desc_and_headers[HTTPUnavailableForLegalReasons] PASSED [ 29%] tests/test_error.py::test_with_title_desc_and_headers[HTTPInternalServerError] PASSED [ 29%] tests/test_error.py::test_with_title_desc_and_headers[HTTPNotImplemented] PASSED [ 29%] tests/test_error.py::test_with_title_desc_and_headers[HTTPBadGateway] PASSED [ 29%] tests/test_error.py::test_with_title_desc_and_headers[HTTPServiceUnavailable] PASSED [ 29%] tests/test_error.py::test_with_title_desc_and_headers[HTTPGatewayTimeout] PASSED [ 29%] tests/test_error.py::test_with_title_desc_and_headers[HTTPVersionNotSupported] PASSED [ 29%] tests/test_error.py::test_with_title_desc_and_headers[HTTPInsufficientStorage] PASSED [ 29%] tests/test_error.py::test_with_title_desc_and_headers[HTTPLoopDetected] PASSED [ 29%] tests/test_error.py::test_with_title_desc_and_headers[HTTPNetworkAuthenticationRequired] PASSED [ 29%] tests/test_error.py::test_kw_only[HTTPBadRequest] PASSED [ 29%] tests/test_error.py::test_kw_only[HTTPUnauthorized] PASSED [ 29%] tests/test_error.py::test_kw_only[HTTPForbidden] PASSED [ 29%] tests/test_error.py::test_kw_only[HTTPNotFound] PASSED [ 29%] tests/test_error.py::test_kw_only[HTTPRouteNotFound] PASSED [ 29%] tests/test_error.py::test_kw_only[HTTPNotAcceptable] PASSED [ 29%] tests/test_error.py::test_kw_only[HTTPConflict] PASSED [ 29%] tests/test_error.py::test_kw_only[HTTPGone] PASSED [ 29%] tests/test_error.py::test_kw_only[HTTPLengthRequired] PASSED [ 29%] tests/test_error.py::test_kw_only[HTTPPreconditionFailed] PASSED [ 29%] tests/test_error.py::test_kw_only[HTTPContentTooLarge] PASSED [ 30%] tests/test_error.py::test_kw_only[HTTPUriTooLong] PASSED [ 30%] tests/test_error.py::test_kw_only[HTTPUnsupportedMediaType] PASSED [ 30%] tests/test_error.py::test_kw_only[HTTPUnprocessableEntity] PASSED [ 30%] tests/test_error.py::test_kw_only[HTTPLocked] PASSED [ 30%] tests/test_error.py::test_kw_only[HTTPFailedDependency] PASSED [ 30%] tests/test_error.py::test_kw_only[HTTPPreconditionRequired] PASSED [ 30%] tests/test_error.py::test_kw_only[HTTPTooManyRequests] PASSED [ 30%] tests/test_error.py::test_kw_only[HTTPRequestHeaderFieldsTooLarge] PASSED [ 30%] tests/test_error.py::test_kw_only[HTTPUnavailableForLegalReasons] PASSED [ 30%] tests/test_error.py::test_kw_only[HTTPInternalServerError] PASSED [ 30%] tests/test_error.py::test_kw_only[HTTPNotImplemented] PASSED [ 30%] tests/test_error.py::test_kw_only[HTTPBadGateway] PASSED [ 30%] tests/test_error.py::test_kw_only[HTTPServiceUnavailable] PASSED [ 30%] tests/test_error.py::test_kw_only[HTTPGatewayTimeout] PASSED [ 30%] tests/test_error.py::test_kw_only[HTTPVersionNotSupported] PASSED [ 30%] tests/test_error.py::test_kw_only[HTTPInsufficientStorage] PASSED [ 30%] tests/test_error.py::test_kw_only[HTTPLoopDetected] PASSED [ 30%] tests/test_error.py::test_kw_only[HTTPNetworkAuthenticationRequired] PASSED [ 30%] tests/test_error.py::test_with_title_desc_and_headers_args[HTTPMethodNotAllowed-args0] PASSED [ 30%] tests/test_error.py::test_with_title_desc_and_headers_args[HTTPRangeNotSatisfiable-args1] PASSED [ 30%] tests/test_error.py::test_args_kw_only[HTTPMethodNotAllowed-args0] PASSED [ 30%] tests/test_error.py::test_args_kw_only[HTTPRangeNotSatisfiable-args1] PASSED [ 30%] tests/test_error.py::test_args_kw_only[HTTPInvalidHeader-args2] PASSED [ 30%] tests/test_error.py::test_args_kw_only[HTTPMissingHeader-args3] PASSED [ 30%] tests/test_error.py::test_args_kw_only[HTTPInvalidParam-args4] PASSED [ 30%] tests/test_error.py::test_args_kw_only[HTTPMissingParam-args5] PASSED [ 30%] tests/test_error.py::test_with_retry_after[HTTPServiceUnavailable] PASSED [ 30%] tests/test_error.py::test_with_retry_after[HTTPTooManyRequests] PASSED [ 30%] tests/test_error.py::test_with_retry_after[HTTPContentTooLarge] PASSED [ 30%] tests/test_error.py::test_with_retry_after_and_headers[HTTPServiceUnavailable] PASSED [ 30%] tests/test_error.py::test_with_retry_after_and_headers[HTTPTooManyRequests] PASSED [ 30%] tests/test_error.py::test_with_retry_after_and_headers[HTTPContentTooLarge] PASSED [ 30%] tests/test_error.py::test_http_error_repr PASSED [ 30%] tests/test_error.py::test_custom_400[HTTPInvalidHeader-args0-Invalid header value-The value provided for the "bar" header is invalid. foo] PASSED [ 30%] tests/test_error.py::test_custom_400[HTTPMissingHeader-args1-Missing header value-The "foo" header is required.] PASSED [ 30%] tests/test_error.py::test_custom_400[HTTPInvalidParam-args2-Invalid parameter-The "bar" parameter is invalid. foo] PASSED [ 30%] tests/test_error.py::test_custom_400[HTTPMissingParam-args3-Missing parameter-The "foo" parameter is required.] PASSED [ 30%] tests/test_error.py::TestErrorsWithHeadersKW::test_no_header[HTTPUnauthorized-WWW-Authenticate-challenges-args0-a, b-False] PASSED [ 30%] tests/test_error.py::TestErrorsWithHeadersKW::test_no_header[HTTPMethodNotAllowed-Allow-allowed_methods-args1-a, b-True] PASSED [ 30%] tests/test_error.py::TestErrorsWithHeadersKW::test_no_header[HTTPContentTooLarge-Retry-After-retry_after-123-123-False] PASSED [ 30%] tests/test_error.py::TestErrorsWithHeadersKW::test_no_header[HTTPRangeNotSatisfiable-Content-Range-resource_length-123-bytes */123-True] PASSED [ 31%] tests/test_error.py::TestErrorsWithHeadersKW::test_no_header[HTTPTooManyRequests-Retry-After-retry_after-123-123-False] PASSED [ 31%] tests/test_error.py::TestErrorsWithHeadersKW::test_no_header[HTTPServiceUnavailable-Retry-After-retry_after-123-123-False] PASSED [ 31%] tests/test_error.py::TestErrorsWithHeadersKW::test_other_header[HTTPUnauthorized-WWW-Authenticate-challenges-args0-a, b-False] PASSED [ 31%] tests/test_error.py::TestErrorsWithHeadersKW::test_other_header[HTTPMethodNotAllowed-Allow-allowed_methods-args1-a, b-True] PASSED [ 31%] tests/test_error.py::TestErrorsWithHeadersKW::test_other_header[HTTPContentTooLarge-Retry-After-retry_after-123-123-False] PASSED [ 31%] tests/test_error.py::TestErrorsWithHeadersKW::test_other_header[HTTPRangeNotSatisfiable-Content-Range-resource_length-123-bytes */123-True] PASSED [ 31%] tests/test_error.py::TestErrorsWithHeadersKW::test_other_header[HTTPTooManyRequests-Retry-After-retry_after-123-123-False] PASSED [ 31%] tests/test_error.py::TestErrorsWithHeadersKW::test_other_header[HTTPServiceUnavailable-Retry-After-retry_after-123-123-False] PASSED [ 31%] tests/test_error.py::TestErrorsWithHeadersKW::test_override_header[HTTPUnauthorized-WWW-Authenticate-challenges-args0-a, b-False] PASSED [ 31%] tests/test_error.py::TestErrorsWithHeadersKW::test_override_header[HTTPMethodNotAllowed-Allow-allowed_methods-args1-a, b-True] PASSED [ 31%] tests/test_error.py::TestErrorsWithHeadersKW::test_override_header[HTTPContentTooLarge-Retry-After-retry_after-123-123-False] PASSED [ 31%] tests/test_error.py::TestErrorsWithHeadersKW::test_override_header[HTTPRangeNotSatisfiable-Content-Range-resource_length-123-bytes */123-True] PASSED [ 31%] tests/test_error.py::TestErrorsWithHeadersKW::test_override_header[HTTPTooManyRequests-Retry-After-retry_after-123-123-False] PASSED [ 31%] tests/test_error.py::TestErrorsWithHeadersKW::test_override_header[HTTPServiceUnavailable-Retry-After-retry_after-123-123-False] PASSED [ 31%] tests/test_error.py::TestErrorsWithHeadersKW::test_other_header_list[HTTPUnauthorized-WWW-Authenticate-challenges-args0-a, b-False] PASSED [ 31%] tests/test_error.py::TestErrorsWithHeadersKW::test_other_header_list[HTTPMethodNotAllowed-Allow-allowed_methods-args1-a, b-True] PASSED [ 31%] tests/test_error.py::TestErrorsWithHeadersKW::test_other_header_list[HTTPContentTooLarge-Retry-After-retry_after-123-123-False] PASSED [ 31%] tests/test_error.py::TestErrorsWithHeadersKW::test_other_header_list[HTTPRangeNotSatisfiable-Content-Range-resource_length-123-bytes */123-True] PASSED [ 31%] tests/test_error.py::TestErrorsWithHeadersKW::test_other_header_list[HTTPTooManyRequests-Retry-After-retry_after-123-123-False] PASSED [ 31%] tests/test_error.py::TestErrorsWithHeadersKW::test_other_header_list[HTTPServiceUnavailable-Retry-After-retry_after-123-123-False] PASSED [ 31%] tests/test_error.py::TestErrorsWithHeadersKW::test_override_header_list[HTTPUnauthorized-WWW-Authenticate-challenges-args0-a, b-False] PASSED [ 31%] tests/test_error.py::TestErrorsWithHeadersKW::test_override_header_list[HTTPMethodNotAllowed-Allow-allowed_methods-args1-a, b-True] PASSED [ 31%] tests/test_error.py::TestErrorsWithHeadersKW::test_override_header_list[HTTPContentTooLarge-Retry-After-retry_after-123-123-False] PASSED [ 31%] tests/test_error.py::TestErrorsWithHeadersKW::test_override_header_list[HTTPRangeNotSatisfiable-Content-Range-resource_length-123-bytes */123-True] PASSED [ 31%] tests/test_error.py::TestErrorsWithHeadersKW::test_override_header_list[HTTPTooManyRequests-Retry-After-retry_after-123-123-False] PASSED [ 31%] tests/test_error.py::TestErrorsWithHeadersKW::test_override_header_list[HTTPServiceUnavailable-Retry-After-retry_after-123-123-False] PASSED [ 31%] tests/test_error.py::test_http_payload_too_large_deprecation PASSED [ 31%] tests/test_error_handlers.py::TestErrorHandler::test_caught_error[asgi] PASSED [ 31%] tests/test_error_handlers.py::TestErrorHandler::test_caught_error[wsgi] PASSED [ 31%] tests/test_error_handlers.py::TestErrorHandler::test_uncaught_python_error[asgi-None-application/json-{"] PASSED [ 31%] tests/test_error_handlers.py::TestErrorHandler::test_uncaught_python_error[asgi-get_headers1-application/json-{"] PASSED [ 31%] tests/test_error_handlers.py::TestErrorHandler::test_uncaught_python_error[asgi-get_headers2-application/xml-; rel=alternate] PASSED [ 36%] tests/test_headers.py::TestHeaders::test_append_link_crossorigin[asgi-anonymous-; rel=alternate; crossorigin] PASSED [ 36%] tests/test_headers.py::TestHeaders::test_append_link_crossorigin[asgi-Anonymous-; rel=alternate; crossorigin] PASSED [ 36%] tests/test_headers.py::TestHeaders::test_append_link_crossorigin[asgi-AnOnYmOUs-; rel=alternate; crossorigin] PASSED [ 36%] tests/test_headers.py::TestHeaders::test_append_link_crossorigin[asgi-Use-Credentials-; rel=alternate; crossorigin="use-credentials"] PASSED [ 36%] tests/test_headers.py::TestHeaders::test_append_link_crossorigin[asgi-use-credentials-; rel=alternate; crossorigin="use-credentials"] PASSED [ 36%] tests/test_headers.py::TestHeaders::test_append_link_crossorigin[wsgi-None-; rel=alternate] PASSED [ 36%] tests/test_headers.py::TestHeaders::test_append_link_crossorigin[wsgi-anonymous-; rel=alternate; crossorigin] PASSED [ 36%] tests/test_headers.py::TestHeaders::test_append_link_crossorigin[wsgi-Anonymous-; rel=alternate; crossorigin] PASSED [ 36%] tests/test_headers.py::TestHeaders::test_append_link_crossorigin[wsgi-AnOnYmOUs-; rel=alternate; crossorigin] PASSED [ 36%] tests/test_headers.py::TestHeaders::test_append_link_crossorigin[wsgi-Use-Credentials-; rel=alternate; crossorigin="use-credentials"] PASSED [ 36%] tests/test_headers.py::TestHeaders::test_append_link_crossorigin[wsgi-use-credentials-; rel=alternate; crossorigin="use-credentials"] PASSED [ 36%] tests/test_headers.py::TestHeaders::test_append_link_invalid_crossorigin_value[*] PASSED [ 36%] tests/test_headers.py::TestHeaders::test_append_link_invalid_crossorigin_value[Allow-all] PASSED [ 36%] tests/test_headers.py::TestHeaders::test_append_link_invalid_crossorigin_value[Lax] PASSED [ 36%] tests/test_headers.py::TestHeaders::test_append_link_invalid_crossorigin_value[MUST-REVALIDATE] PASSED [ 36%] tests/test_headers.py::TestHeaders::test_append_link_invalid_crossorigin_value[Strict] PASSED [ 36%] tests/test_headers.py::TestHeaders::test_append_link_invalid_crossorigin_value[deny] PASSED [ 36%] tests/test_headers.py::TestHeaders::test_append_link_with_link_extension[asgi] PASSED [ 36%] tests/test_headers.py::TestHeaders::test_append_link_with_link_extension[wsgi] PASSED [ 36%] tests/test_headers.py::TestHeaders::test_content_length_options[asgi] PASSED [ 36%] tests/test_headers.py::TestHeaders::test_content_length_options[wsgi] PASSED [ 36%] tests/test_headers.py::TestHeaders::test_set_headers_with_custom_class[asgi] PASSED [ 36%] tests/test_headers.py::TestHeaders::test_set_headers_with_custom_class[wsgi] PASSED [ 36%] tests/test_headers.py::TestHeaders::test_headers_with_custom_class_not_callable[asgi] PASSED [ 36%] tests/test_headers.py::TestHeaders::test_headers_with_custom_class_not_callable[wsgi] PASSED [ 36%] tests/test_headers.py::TestHeaders::test_request_multiple_header[asgi] PASSED [ 36%] tests/test_headers.py::TestHeaders::test_request_multiple_header[wsgi] PASSED [ 36%] tests/test_hello.py::TestHelloWorld::test_env_headers_list_of_tuples PASSED [ 36%] tests/test_hello.py::TestHelloWorld::test_root_route PASSED [ 37%] tests/test_hello.py::TestHelloWorld::test_no_route PASSED [ 37%] tests/test_hello.py::TestHelloWorld::test_body[/body-resource0-] PASSED [ 37%] tests/test_hello.py::TestHelloWorld::test_body[/bytes-resource1-] PASSED [ 37%] tests/test_hello.py::TestHelloWorld::test_body[/data-resource2-] PASSED [ 37%] tests/test_hello.py::TestHelloWorld::test_no_body_on_head PASSED [ 37%] tests/test_hello.py::TestHelloWorld::test_stream_chunked PASSED [ 37%] tests/test_hello.py::TestHelloWorld::test_stream_known_len PASSED [ 37%] tests/test_hello.py::TestHelloWorld::test_filelike PASSED [ 37%] tests/test_hello.py::TestHelloWorld::test_filelike_closing[ClosingBytesIO-True] PASSED [ 37%] tests/test_hello.py::TestHelloWorld::test_filelike_closing[NonClosingBytesIO-False] PASSED [ 37%] tests/test_hello.py::TestHelloWorld::test_filelike_using_helper PASSED [ 37%] tests/test_hello.py::TestHelloWorld::test_status_not_set PASSED [ 37%] tests/test_http_custom_method_routing.py::test_map_http_methods[asgi] PASSED [ 37%] tests/test_http_custom_method_routing.py::test_map_http_methods[wsgi] PASSED [ 37%] tests/test_http_custom_method_routing.py::test_environment_override[foo-expected0] SKIPPED [ 37%] tests/test_http_custom_method_routing.py::test_environment_override[FOO-expected1] SKIPPED [ 37%] tests/test_http_custom_method_routing.py::test_environment_override[FOO,-expected2] SKIPPED [ 37%] tests/test_http_custom_method_routing.py::test_environment_override[FOO,BAR-expected3] SKIPPED [ 37%] tests/test_http_custom_method_routing.py::test_environment_override[FOO, BAR-expected4] SKIPPED [ 37%] tests/test_http_custom_method_routing.py::test_environment_override[ foo , BAR -expected5] SKIPPED [ 37%] tests/test_http_custom_method_routing.py::test_foo[asgi] PASSED [ 37%] tests/test_http_custom_method_routing.py::test_foo[wsgi] PASSED [ 37%] tests/test_http_custom_method_routing.py::test_bar[asgi] PASSED [ 37%] tests/test_http_custom_method_routing.py::test_bar[wsgi] PASSED [ 37%] tests/test_http_method_routing.py::TestHttpMethodRouting::test_get[asgi] PASSED [ 37%] tests/test_http_method_routing.py::TestHttpMethodRouting::test_get[wsgi] PASSED [ 37%] tests/test_http_method_routing.py::TestHttpMethodRouting::test_put[asgi] PASSED [ 37%] tests/test_http_method_routing.py::TestHttpMethodRouting::test_put[wsgi] PASSED [ 37%] tests/test_http_method_routing.py::TestHttpMethodRouting::test_post_not_allowed[asgi] PASSED [ 37%] tests/test_http_method_routing.py::TestHttpMethodRouting::test_post_not_allowed[wsgi] PASSED [ 37%] tests/test_http_method_routing.py::TestHttpMethodRouting::test_report[asgi] PASSED [ 37%] tests/test_http_method_routing.py::TestHttpMethodRouting::test_report[wsgi] PASSED [ 37%] tests/test_http_method_routing.py::TestHttpMethodRouting::test_misc[asgi] PASSED [ 37%] tests/test_http_method_routing.py::TestHttpMethodRouting::test_misc[wsgi] PASSED [ 37%] tests/test_http_method_routing.py::TestHttpMethodRouting::test_methods_not_allowed_simple[asgi] PASSED [ 37%] tests/test_http_method_routing.py::TestHttpMethodRouting::test_methods_not_allowed_simple[wsgi] PASSED [ 37%] tests/test_http_method_routing.py::TestHttpMethodRouting::test_methods_not_allowed_complex[asgi] PASSED [ 37%] tests/test_http_method_routing.py::TestHttpMethodRouting::test_methods_not_allowed_complex[wsgi] PASSED [ 37%] tests/test_http_method_routing.py::TestHttpMethodRouting::test_method_not_allowed_with_param[asgi] PASSED [ 37%] tests/test_http_method_routing.py::TestHttpMethodRouting::test_method_not_allowed_with_param[wsgi] PASSED [ 37%] tests/test_http_method_routing.py::TestHttpMethodRouting::test_default_on_options[asgi] PASSED [ 38%] tests/test_http_method_routing.py::TestHttpMethodRouting::test_default_on_options[wsgi] PASSED [ 38%] tests/test_http_method_routing.py::TestHttpMethodRouting::test_on_options[asgi] PASSED [ 38%] tests/test_http_method_routing.py::TestHttpMethodRouting::test_on_options[wsgi] PASSED [ 38%] tests/test_http_method_routing.py::TestHttpMethodRouting::test_meta_and_others_disallowed[asgi-WEBSOCKET] PASSED [ 38%] tests/test_http_method_routing.py::TestHttpMethodRouting::test_meta_and_others_disallowed[asgi-SETECASTRONOMY] PASSED [ 38%] tests/test_http_method_routing.py::TestHttpMethodRouting::test_meta_and_others_disallowed[wsgi-WEBSOCKET] PASSED [ 38%] tests/test_http_method_routing.py::TestHttpMethodRouting::test_meta_and_others_disallowed[wsgi-SETECASTRONOMY] PASSED [ 38%] tests/test_httperror.py::TestHTTPError::test_base_class[asgi] PASSED [ 38%] tests/test_httperror.py::TestHTTPError::test_base_class[wsgi] PASSED [ 38%] tests/test_httperror.py::TestHTTPError::test_no_description_json[asgi] PASSED [ 38%] tests/test_httperror.py::TestHTTPError::test_no_description_json[wsgi] PASSED [ 38%] tests/test_httperror.py::TestHTTPError::test_no_description_xml[asgi] PASSED [ 38%] tests/test_httperror.py::TestHTTPError::test_no_description_xml[wsgi] PASSED [ 38%] tests/test_httperror.py::TestHTTPError::test_xml_enable[with_xml-asgi-True] PASSED [ 38%] tests/test_httperror.py::TestHTTPError::test_xml_enable[with_xml-asgi-False] PASSED [ 38%] tests/test_httperror.py::TestHTTPError::test_xml_enable[with_xml-wsgi-True] PASSED [ 38%] tests/test_httperror.py::TestHTTPError::test_xml_enable[with_xml-wsgi-False] PASSED [ 38%] tests/test_httperror.py::TestHTTPError::test_xml_enable[without_xml-asgi-True] PASSED [ 38%] tests/test_httperror.py::TestHTTPError::test_xml_enable[without_xml-asgi-False] PASSED [ 38%] tests/test_httperror.py::TestHTTPError::test_xml_enable[without_xml-wsgi-True] PASSED [ 38%] tests/test_httperror.py::TestHTTPError::test_xml_enable[without_xml-wsgi-False] PASSED [ 38%] tests/test_httperror.py::TestHTTPError::test_xml_enable[default_xml-asgi-True] PASSED [ 38%] tests/test_httperror.py::TestHTTPError::test_xml_enable[default_xml-asgi-False] PASSED [ 38%] tests/test_httperror.py::TestHTTPError::test_xml_enable[default_xml-wsgi-True] PASSED [ 38%] tests/test_httperror.py::TestHTTPError::test_xml_enable[default_xml-wsgi-False] PASSED [ 38%] tests/test_httperror.py::TestHTTPError::test_to_xml_deprecated PASSED [ 38%] tests/test_httperror.py::TestHTTPError::test_client_does_not_accept_json_or_xml[asgi] PASSED [ 38%] tests/test_httperror.py::TestHTTPError::test_client_does_not_accept_json_or_xml[wsgi] PASSED [ 38%] tests/test_httperror.py::TestHTTPError::test_custom_error_serializer[asgi] PASSED [ 38%] tests/test_httperror.py::TestHTTPError::test_custom_error_serializer[wsgi] PASSED [ 38%] tests/test_httperror.py::TestHTTPError::test_custom_error_serializer_optional_representation[asgi-GET-/404-404] PASSED [ 38%] tests/test_httperror.py::TestHTTPError::test_custom_error_serializer_optional_representation[asgi-GET-/notfound-404] PASSED [ 38%] tests/test_httperror.py::TestHTTPError::test_custom_error_serializer_optional_representation[asgi-REPORT-/404-405] PASSED [ 38%] tests/test_httperror.py::TestHTTPError::test_custom_error_serializer_optional_representation[asgi-BREW-/notfound-400] PASSED [ 38%] tests/test_httperror.py::TestHTTPError::test_custom_error_serializer_optional_representation[wsgi-GET-/404-404] PASSED [ 38%] tests/test_httperror.py::TestHTTPError::test_custom_error_serializer_optional_representation[wsgi-GET-/notfound-404] PASSED [ 38%] tests/test_httperror.py::TestHTTPError::test_custom_error_serializer_optional_representation[wsgi-REPORT-/404-405] PASSED [ 38%] tests/test_httperror.py::TestHTTPError::test_custom_error_serializer_optional_representation[wsgi-BREW-/notfound-400] PASSED [ 38%] tests/test_httperror.py::TestHTTPError::test_custom_serializer_no_representation[asgi] PASSED [ 38%] tests/test_httperror.py::TestHTTPError::test_custom_serializer_no_representation[wsgi] PASSED [ 38%] tests/test_httperror.py::TestHTTPError::test_client_does_not_accept_anything[asgi] PASSED [ 39%] tests/test_httperror.py::TestHTTPError::test_client_does_not_accept_anything[wsgi] PASSED [ 39%] tests/test_httperror.py::TestHTTPError::test_forbidden[asgi-application/json] PASSED [ 39%] tests/test_httperror.py::TestHTTPError::test_forbidden[asgi-application/vnd.company.system.project.resource+json;v=1.1] PASSED [ 39%] tests/test_httperror.py::TestHTTPError::test_forbidden[asgi-application/json-patch+json] PASSED [ 39%] tests/test_httperror.py::TestHTTPError::test_forbidden[wsgi-application/json] PASSED [ 39%] tests/test_httperror.py::TestHTTPError::test_forbidden[wsgi-application/vnd.company.system.project.resource+json;v=1.1] PASSED [ 39%] tests/test_httperror.py::TestHTTPError::test_forbidden[wsgi-application/json-patch+json] PASSED [ 39%] tests/test_httperror.py::TestHTTPError::test_epic_fail_json[asgi] PASSED [ 39%] tests/test_httperror.py::TestHTTPError::test_epic_fail_json[wsgi] PASSED [ 39%] tests/test_httperror.py::TestHTTPError::test_epic_fail_xml[asgi-text/xml] PASSED [ 39%] tests/test_httperror.py::TestHTTPError::test_epic_fail_xml[asgi-application/xml] PASSED [ 39%] tests/test_httperror.py::TestHTTPError::test_epic_fail_xml[asgi-application/vnd.company.system.project.resource+xml;v=1.1] PASSED [ 39%] tests/test_httperror.py::TestHTTPError::test_epic_fail_xml[asgi-application/atom+xml] PASSED [ 39%] tests/test_httperror.py::TestHTTPError::test_epic_fail_xml[wsgi-text/xml] PASSED [ 39%] tests/test_httperror.py::TestHTTPError::test_epic_fail_xml[wsgi-application/xml] PASSED [ 39%] tests/test_httperror.py::TestHTTPError::test_epic_fail_xml[wsgi-application/vnd.company.system.project.resource+xml;v=1.1] PASSED [ 39%] tests/test_httperror.py::TestHTTPError::test_epic_fail_xml[wsgi-application/atom+xml] PASSED [ 39%] tests/test_httperror.py::TestHTTPError::test_unicode_json[asgi] PASSED [ 39%] tests/test_httperror.py::TestHTTPError::test_unicode_json[wsgi] PASSED [ 39%] tests/test_httperror.py::TestHTTPError::test_unicode_xml[asgi] PASSED [ 39%] tests/test_httperror.py::TestHTTPError::test_unicode_xml[wsgi] PASSED [ 39%] tests/test_httperror.py::TestHTTPError::test_401[asgi] PASSED [ 39%] tests/test_httperror.py::TestHTTPError::test_401[wsgi] PASSED [ 39%] tests/test_httperror.py::TestHTTPError::test_404_without_body[asgi] PASSED [ 39%] tests/test_httperror.py::TestHTTPError::test_404_without_body[wsgi] PASSED [ 39%] tests/test_httperror.py::TestHTTPError::test_404_with_body[asgi] PASSED [ 39%] tests/test_httperror.py::TestHTTPError::test_404_with_body[wsgi] PASSED [ 39%] tests/test_httperror.py::TestHTTPError::test_405_without_body[asgi] PASSED [ 39%] tests/test_httperror.py::TestHTTPError::test_405_without_body[wsgi] PASSED [ 39%] tests/test_httperror.py::TestHTTPError::test_405_without_body_with_extra_headers[asgi] PASSED [ 39%] tests/test_httperror.py::TestHTTPError::test_405_without_body_with_extra_headers[wsgi] PASSED [ 39%] tests/test_httperror.py::TestHTTPError::test_405_without_body_with_extra_headers_double_check[asgi] PASSED [ 39%] tests/test_httperror.py::TestHTTPError::test_405_without_body_with_extra_headers_double_check[wsgi] PASSED [ 39%] tests/test_httperror.py::TestHTTPError::test_405_with_body[asgi] PASSED [ 39%] tests/test_httperror.py::TestHTTPError::test_405_with_body[wsgi] PASSED [ 39%] tests/test_httperror.py::TestHTTPError::test_410_without_body[asgi] PASSED [ 39%] tests/test_httperror.py::TestHTTPError::test_410_without_body[wsgi] PASSED [ 39%] tests/test_httperror.py::TestHTTPError::test_410_with_body[asgi] PASSED [ 39%] tests/test_httperror.py::TestHTTPError::test_410_with_body[wsgi] PASSED [ 39%] tests/test_httperror.py::TestHTTPError::test_411[asgi] PASSED [ 40%] tests/test_httperror.py::TestHTTPError::test_411[wsgi] PASSED [ 40%] tests/test_httperror.py::TestHTTPError::test_413[asgi] PASSED [ 40%] tests/test_httperror.py::TestHTTPError::test_413[wsgi] PASSED [ 40%] tests/test_httperror.py::TestHTTPError::test_temporary_413_integer_retry_after[asgi] PASSED [ 40%] tests/test_httperror.py::TestHTTPError::test_temporary_413_integer_retry_after[wsgi] PASSED [ 40%] tests/test_httperror.py::TestHTTPError::test_temporary_413_datetime_retry_after[asgi] PASSED [ 40%] tests/test_httperror.py::TestHTTPError::test_temporary_413_datetime_retry_after[wsgi] PASSED [ 40%] tests/test_httperror.py::TestHTTPError::test_414[asgi] PASSED [ 40%] tests/test_httperror.py::TestHTTPError::test_414[wsgi] PASSED [ 40%] tests/test_httperror.py::TestHTTPError::test_414_with_title[asgi] PASSED [ 40%] tests/test_httperror.py::TestHTTPError::test_414_with_title[wsgi] PASSED [ 40%] tests/test_httperror.py::TestHTTPError::test_414_with_description[asgi] PASSED [ 40%] tests/test_httperror.py::TestHTTPError::test_414_with_description[wsgi] PASSED [ 40%] tests/test_httperror.py::TestHTTPError::test_414_with_custom_kwargs[asgi] PASSED [ 40%] tests/test_httperror.py::TestHTTPError::test_414_with_custom_kwargs[wsgi] PASSED [ 40%] tests/test_httperror.py::TestHTTPError::test_416[asgi] PASSED [ 40%] tests/test_httperror.py::TestHTTPError::test_416[wsgi] PASSED [ 40%] tests/test_httperror.py::TestHTTPError::test_429_no_retry_after[asgi] PASSED [ 40%] tests/test_httperror.py::TestHTTPError::test_429_no_retry_after[wsgi] PASSED [ 40%] tests/test_httperror.py::TestHTTPError::test_429[asgi] PASSED [ 40%] tests/test_httperror.py::TestHTTPError::test_429[wsgi] PASSED [ 40%] tests/test_httperror.py::TestHTTPError::test_429_datetime[asgi] PASSED [ 40%] tests/test_httperror.py::TestHTTPError::test_429_datetime[wsgi] PASSED [ 40%] tests/test_httperror.py::TestHTTPError::test_503_integer_retry_after[asgi] PASSED [ 40%] tests/test_httperror.py::TestHTTPError::test_503_integer_retry_after[wsgi] PASSED [ 40%] tests/test_httperror.py::TestHTTPError::test_503_datetime_retry_after[asgi] PASSED [ 40%] tests/test_httperror.py::TestHTTPError::test_503_datetime_retry_after[wsgi] PASSED [ 40%] tests/test_httperror.py::TestHTTPError::test_invalid_header[asgi] PASSED [ 40%] tests/test_httperror.py::TestHTTPError::test_invalid_header[wsgi] PASSED [ 40%] tests/test_httperror.py::TestHTTPError::test_missing_header[asgi] PASSED [ 40%] tests/test_httperror.py::TestHTTPError::test_missing_header[wsgi] PASSED [ 40%] tests/test_httperror.py::TestHTTPError::test_invalid_param[asgi] PASSED [ 40%] tests/test_httperror.py::TestHTTPError::test_invalid_param[wsgi] PASSED [ 40%] 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-503 Service Unavailable-str] PASSED [ 40%] tests/test_httperror.py::TestHTTPError::test_title_default_message_if_none[asgi-503 Service Unavailable-bytes] PASSED [ 40%] tests/test_httperror.py::TestHTTPError::test_title_default_message_if_none[asgi-503-int] PASSED [ 40%] tests/test_httperror.py::TestHTTPError::test_title_default_message_if_none[asgi-503-str] PASSED [ 41%] tests/test_httperror.py::TestHTTPError::test_title_default_message_if_none[asgi-503-bytes] PASSED [ 41%] tests/test_httperror.py::TestHTTPError::test_title_default_message_if_none[asgi-503-HTTPStatus] PASSED [ 41%] tests/test_httperror.py::TestHTTPError::test_title_default_message_if_none[wsgi-503 Service Unavailable-str] PASSED [ 41%] tests/test_httperror.py::TestHTTPError::test_title_default_message_if_none[wsgi-503 Service Unavailable-bytes] PASSED [ 41%] tests/test_httperror.py::TestHTTPError::test_title_default_message_if_none[wsgi-503-int] PASSED [ 41%] tests/test_httperror.py::TestHTTPError::test_title_default_message_if_none[wsgi-503-str] PASSED [ 41%] tests/test_httperror.py::TestHTTPError::test_title_default_message_if_none[wsgi-503-bytes] PASSED [ 41%] tests/test_httperror.py::TestHTTPError::test_title_default_message_if_none[wsgi-503-HTTPStatus] PASSED [ 41%] tests/test_httperror.py::TestHTTPError::test_to_json_dumps PASSED [ 41%] tests/test_httperror.py::TestHTTPError::test_serialize_error_uses_media_handler[asgi] PASSED [ 41%] tests/test_httperror.py::TestHTTPError::test_serialize_error_uses_media_handler[wsgi] PASSED [ 41%] tests/test_httperror.py::TestHTTPError::test_serialize_no_json_media_handler[asgi] PASSED [ 41%] tests/test_httperror.py::TestHTTPError::test_serialize_no_json_media_handler[wsgi] PASSED [ 41%] tests/test_httperror.py::TestHTTPError::test_MediaMalformedError PASSED [ 41%] tests/test_httperror.py::TestHTTPError::test_kw_only PASSED [ 41%] tests/test_httperror.py::TestDefaultSerializeError::test_unknown_accept[asgi] PASSED [ 41%] tests/test_httperror.py::TestDefaultSerializeError::test_unknown_accept[wsgi] PASSED [ 41%] tests/test_httperror.py::TestDefaultSerializeError::test_defaults_to_json[asgi-True] PASSED [ 41%] tests/test_httperror.py::TestDefaultSerializeError::test_defaults_to_json[asgi-False] PASSED [ 41%] tests/test_httperror.py::TestDefaultSerializeError::test_defaults_to_json[wsgi-True] PASSED [ 41%] tests/test_httperror.py::TestDefaultSerializeError::test_defaults_to_json[wsgi-False] PASSED [ 41%] tests/test_httperror.py::TestDefaultSerializeError::test_serializes_error_to_preferred_by_sender[asgi-application/json-application/json-{"title": "410 Gone"}] PASSED [ 41%] tests/test_httperror.py::TestDefaultSerializeError::test_serializes_error_to_preferred_by_sender[asgi-application/xml-application/xml-410 Gone] PASSED [ 41%] tests/test_httperror.py::TestDefaultSerializeError::test_serializes_error_to_preferred_by_sender[asgi-custom/any+json-application/json-{"title": "410 Gone"}] PASSED [ 41%] tests/test_httperror.py::TestDefaultSerializeError::test_serializes_error_to_preferred_by_sender[asgi-custom/any+xml-application/xml-410 Gone] PASSED [ 41%] tests/test_httperror.py::TestDefaultSerializeError::test_serializes_error_to_preferred_by_sender[asgi-application/yaml-application/yaml-title: 410 Gone!] PASSED [ 41%] tests/test_httperror.py::TestDefaultSerializeError::test_serializes_error_to_preferred_by_sender[asgi-application/only_async-application/only_async-this is async] PASSED [ 41%] tests/test_httperror.py::TestDefaultSerializeError::test_serializes_error_to_preferred_by_sender[asgi-application/async_with_sync-application/async_with_sync-this is sync instead] PASSED [ 41%] tests/test_httperror.py::TestDefaultSerializeError::test_serializes_error_to_preferred_by_sender[wsgi-application/json-application/json-{"title": "410 Gone"}] PASSED [ 41%] tests/test_httperror.py::TestDefaultSerializeError::test_serializes_error_to_preferred_by_sender[wsgi-application/xml-application/xml-410 Gone] PASSED [ 41%] tests/test_httperror.py::TestDefaultSerializeError::test_serializes_error_to_preferred_by_sender[wsgi-custom/any+json-application/json-{"title": "410 Gone"}] PASSED [ 41%] tests/test_httperror.py::TestDefaultSerializeError::test_serializes_error_to_preferred_by_sender[wsgi-custom/any+xml-application/xml-410 Gone] PASSED [ 41%] tests/test_httperror.py::TestDefaultSerializeError::test_serializes_error_to_preferred_by_sender[wsgi-application/yaml-application/yaml-title: 410 Gone!] PASSED [ 41%] tests/test_httperror.py::TestDefaultSerializeError::test_serializes_error_to_preferred_by_sender[wsgi-application/only_async-application/only_async-this is async] PASSED [ 41%] tests/test_httperror.py::TestDefaultSerializeError::test_serializes_error_to_preferred_by_sender[wsgi-application/async_with_sync-application/async_with_sync-this is sync instead] PASSED [ 41%] tests/test_httperror.py::TestDefaultSerializeError::test_json_async_only_error PASSED [ 41%] tests/test_httperror.py::TestDefaultSerializeError::test_add_xml_handler[with_xml-asgi-application/xml] PASSED [ 41%] tests/test_httperror.py::TestDefaultSerializeError::test_add_xml_handler[with_xml-asgi-application/xhtml+xml] PASSED [ 41%] tests/test_httperror.py::TestDefaultSerializeError::test_add_xml_handler[with_xml-wsgi-application/xml] PASSED [ 41%] tests/test_httperror.py::TestDefaultSerializeError::test_add_xml_handler[with_xml-wsgi-application/xhtml+xml] PASSED [ 41%] tests/test_httperror.py::TestDefaultSerializeError::test_add_xml_handler[without_xml-asgi-application/xml] PASSED [ 42%] tests/test_httperror.py::TestDefaultSerializeError::test_add_xml_handler[without_xml-asgi-application/xhtml+xml] PASSED [ 42%] tests/test_httperror.py::TestDefaultSerializeError::test_add_xml_handler[without_xml-wsgi-application/xml] PASSED [ 42%] tests/test_httperror.py::TestDefaultSerializeError::test_add_xml_handler[without_xml-wsgi-application/xhtml+xml] PASSED [ 42%] tests/test_httperror.py::TestDefaultSerializeError::test_add_xml_handler[default_xml-asgi-application/xml] PASSED [ 42%] tests/test_httperror.py::TestDefaultSerializeError::test_add_xml_handler[default_xml-asgi-application/xhtml+xml] PASSED [ 42%] tests/test_httperror.py::TestDefaultSerializeError::test_add_xml_handler[default_xml-wsgi-application/xml] PASSED [ 42%] tests/test_httperror.py::TestDefaultSerializeError::test_add_xml_handler[default_xml-wsgi-application/xhtml+xml] PASSED [ 42%] tests/test_httperror.py::TestDefaultSerializeError::test_hard_content_types[with_xml-asgi-text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/png,image/svg+xml,*/*;q=0.8-application/xml] PASSED [ 42%] tests/test_httperror.py::TestDefaultSerializeError::test_hard_content_types[with_xml-asgi-text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8-application/xml] PASSED [ 42%] tests/test_httperror.py::TestDefaultSerializeError::test_hard_content_types[with_xml-asgi-text/html, application/xhtml+xml, image/jxr, */*-application/json] PASSED [ 42%] tests/test_httperror.py::TestDefaultSerializeError::test_hard_content_types[with_xml-asgi-text/html,application/yaml;q=0.8,*/*;q=0.7-application/yaml] PASSED [ 42%] tests/test_httperror.py::TestDefaultSerializeError::test_hard_content_types[with_xml-asgi-text/html,application/yaml;q=0.8,application/json;q=0.8-application/json] PASSED [ 42%] tests/test_httperror.py::TestDefaultSerializeError::test_hard_content_types[with_xml-wsgi-text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/png,image/svg+xml,*/*;q=0.8-application/xml] PASSED [ 42%] tests/test_httperror.py::TestDefaultSerializeError::test_hard_content_types[with_xml-wsgi-text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8-application/xml] PASSED [ 42%] tests/test_httperror.py::TestDefaultSerializeError::test_hard_content_types[with_xml-wsgi-text/html, application/xhtml+xml, image/jxr, */*-application/json] PASSED [ 42%] tests/test_httperror.py::TestDefaultSerializeError::test_hard_content_types[with_xml-wsgi-text/html,application/yaml;q=0.8,*/*;q=0.7-application/yaml] PASSED [ 42%] tests/test_httperror.py::TestDefaultSerializeError::test_hard_content_types[with_xml-wsgi-text/html,application/yaml;q=0.8,application/json;q=0.8-application/json] PASSED [ 42%] tests/test_httperror.py::TestDefaultSerializeError::test_hard_content_types[without_xml-asgi-text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/png,image/svg+xml,*/*;q=0.8-application/xml] PASSED [ 42%] tests/test_httperror.py::TestDefaultSerializeError::test_hard_content_types[without_xml-asgi-text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8-application/xml] PASSED [ 42%] tests/test_httperror.py::TestDefaultSerializeError::test_hard_content_types[without_xml-asgi-text/html, application/xhtml+xml, image/jxr, */*-application/json] PASSED [ 42%] tests/test_httperror.py::TestDefaultSerializeError::test_hard_content_types[without_xml-asgi-text/html,application/yaml;q=0.8,*/*;q=0.7-application/yaml] PASSED [ 42%] tests/test_httperror.py::TestDefaultSerializeError::test_hard_content_types[without_xml-asgi-text/html,application/yaml;q=0.8,application/json;q=0.8-application/json] PASSED [ 42%] tests/test_httperror.py::TestDefaultSerializeError::test_hard_content_types[without_xml-wsgi-text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/png,image/svg+xml,*/*;q=0.8-application/xml] PASSED [ 42%] tests/test_httperror.py::TestDefaultSerializeError::test_hard_content_types[without_xml-wsgi-text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8-application/xml] PASSED [ 42%] tests/test_httperror.py::TestDefaultSerializeError::test_hard_content_types[without_xml-wsgi-text/html, application/xhtml+xml, image/jxr, */*-application/json] PASSED [ 42%] tests/test_httperror.py::TestDefaultSerializeError::test_hard_content_types[without_xml-wsgi-text/html,application/yaml;q=0.8,*/*;q=0.7-application/yaml] PASSED [ 42%] tests/test_httperror.py::TestDefaultSerializeError::test_hard_content_types[without_xml-wsgi-text/html,application/yaml;q=0.8,application/json;q=0.8-application/json] PASSED [ 42%] tests/test_httperror.py::TestDefaultSerializeError::test_hard_content_types[default_xml-asgi-text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/png,image/svg+xml,*/*;q=0.8-application/xml] PASSED [ 42%] tests/test_httperror.py::TestDefaultSerializeError::test_hard_content_types[default_xml-asgi-text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8-application/xml] PASSED [ 42%] tests/test_httperror.py::TestDefaultSerializeError::test_hard_content_types[default_xml-asgi-text/html, application/xhtml+xml, image/jxr, */*-application/json] PASSED [ 42%] tests/test_httperror.py::TestDefaultSerializeError::test_hard_content_types[default_xml-asgi-text/html,application/yaml;q=0.8,*/*;q=0.7-application/yaml] PASSED [ 42%] tests/test_httperror.py::TestDefaultSerializeError::test_hard_content_types[default_xml-asgi-text/html,application/yaml;q=0.8,application/json;q=0.8-application/json] PASSED [ 42%] tests/test_httperror.py::TestDefaultSerializeError::test_hard_content_types[default_xml-wsgi-text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/png,image/svg+xml,*/*;q=0.8-application/xml] PASSED [ 42%] tests/test_httperror.py::TestDefaultSerializeError::test_hard_content_types[default_xml-wsgi-text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8-application/xml] PASSED [ 42%] tests/test_httperror.py::TestDefaultSerializeError::test_hard_content_types[default_xml-wsgi-text/html, application/xhtml+xml, image/jxr, */*-application/json] PASSED [ 42%] tests/test_httperror.py::TestDefaultSerializeError::test_hard_content_types[default_xml-wsgi-text/html,application/yaml;q=0.8,*/*;q=0.7-application/yaml] PASSED [ 42%] tests/test_httperror.py::TestDefaultSerializeError::test_hard_content_types[default_xml-wsgi-text/html,application/yaml;q=0.8,application/json;q=0.8-application/json] PASSED [ 42%] tests/test_httpstatus.py::TestHTTPStatus::test_raise_status_in_before_hook[asgi] PASSED [ 42%] tests/test_httpstatus.py::TestHTTPStatus::test_raise_status_in_before_hook[wsgi] PASSED [ 42%] tests/test_httpstatus.py::TestHTTPStatus::test_raise_status_in_responder[asgi] PASSED [ 42%] tests/test_httpstatus.py::TestHTTPStatus::test_raise_status_in_responder[wsgi] PASSED [ 43%] tests/test_httpstatus.py::TestHTTPStatus::test_raise_status_runs_after_hooks[asgi] PASSED [ 43%] tests/test_httpstatus.py::TestHTTPStatus::test_raise_status_runs_after_hooks[wsgi] PASSED [ 43%] tests/test_httpstatus.py::TestHTTPStatus::test_raise_status_survives_after_hooks[asgi] PASSED [ 43%] tests/test_httpstatus.py::TestHTTPStatus::test_raise_status_survives_after_hooks[wsgi] PASSED [ 43%] tests/test_httpstatus.py::TestHTTPStatus::test_raise_status_empty_body[asgi] PASSED [ 43%] tests/test_httpstatus.py::TestHTTPStatus::test_raise_status_empty_body[wsgi] PASSED [ 43%] tests/test_httpstatus.py::TestHTTPStatusWithMiddleware::test_raise_status_in_process_request[asgi] PASSED [ 43%] tests/test_httpstatus.py::TestHTTPStatusWithMiddleware::test_raise_status_in_process_request[wsgi] PASSED [ 43%] tests/test_httpstatus.py::TestHTTPStatusWithMiddleware::test_raise_status_in_process_resource[asgi] PASSED [ 43%] tests/test_httpstatus.py::TestHTTPStatusWithMiddleware::test_raise_status_in_process_resource[wsgi] PASSED [ 43%] tests/test_httpstatus.py::TestHTTPStatusWithMiddleware::test_raise_status_runs_process_response[asgi] PASSED [ 43%] tests/test_httpstatus.py::TestHTTPStatusWithMiddleware::test_raise_status_runs_process_response[wsgi] PASSED [ 43%] tests/test_httpstatus.py::TestNoBodyWithStatus::test_data_is_set[asgi] PASSED [ 43%] tests/test_httpstatus.py::TestNoBodyWithStatus::test_data_is_set[wsgi] PASSED [ 43%] tests/test_httpstatus.py::TestNoBodyWithStatus::test_media_is_set[asgi] PASSED [ 43%] tests/test_httpstatus.py::TestNoBodyWithStatus::test_media_is_set[wsgi] PASSED [ 43%] tests/test_httpstatus.py::TestNoBodyWithStatus::test_body_is_set[asgi] PASSED [ 43%] tests/test_httpstatus.py::TestNoBodyWithStatus::test_body_is_set[wsgi] PASSED [ 43%] tests/test_httpstatus.py::test_non_string_status[asgi-200-200_0] PASSED [ 43%] tests/test_httpstatus.py::test_non_string_status[asgi-202-202] PASSED [ 43%] tests/test_httpstatus.py::test_non_string_status[asgi-403-403] PASSED [ 43%] tests/test_httpstatus.py::test_non_string_status[asgi-500-500_0] PASSED [ 43%] tests/test_httpstatus.py::test_non_string_status[asgi-200-200_1] PASSED [ 43%] tests/test_httpstatus.py::test_non_string_status[asgi-305-305] PASSED [ 43%] tests/test_httpstatus.py::test_non_string_status[asgi-404-404] PASSED [ 43%] tests/test_httpstatus.py::test_non_string_status[asgi-501-501] PASSED [ 43%] tests/test_httpstatus.py::test_non_string_status[asgi-200-200_2] PASSED [ 43%] tests/test_httpstatus.py::test_non_string_status[asgi-307-307] PASSED [ 43%] tests/test_httpstatus.py::test_non_string_status[asgi-500-500_1] PASSED [ 43%] tests/test_httpstatus.py::test_non_string_status[asgi-702-702] PASSED [ 43%] tests/test_httpstatus.py::test_non_string_status[asgi-200 OK-200] PASSED [ 43%] tests/test_httpstatus.py::test_non_string_status[asgi-702 Emacs-702] PASSED [ 43%] tests/test_httpstatus.py::test_non_string_status[wsgi-200-200_0] PASSED [ 43%] tests/test_httpstatus.py::test_non_string_status[wsgi-202-202] PASSED [ 43%] tests/test_httpstatus.py::test_non_string_status[wsgi-403-403] PASSED [ 43%] tests/test_httpstatus.py::test_non_string_status[wsgi-500-500_0] PASSED [ 43%] tests/test_httpstatus.py::test_non_string_status[wsgi-200-200_1] PASSED [ 43%] tests/test_httpstatus.py::test_non_string_status[wsgi-305-305] PASSED [ 43%] tests/test_httpstatus.py::test_non_string_status[wsgi-404-404] PASSED [ 43%] tests/test_httpstatus.py::test_non_string_status[wsgi-501-501] PASSED [ 44%] tests/test_httpstatus.py::test_non_string_status[wsgi-200-200_2] PASSED [ 44%] tests/test_httpstatus.py::test_non_string_status[wsgi-307-307] PASSED [ 44%] tests/test_httpstatus.py::test_non_string_status[wsgi-500-500_1] PASSED [ 44%] tests/test_httpstatus.py::test_non_string_status[wsgi-702-702] PASSED [ 44%] tests/test_httpstatus.py::test_non_string_status[wsgi-200 OK-200] PASSED [ 44%] tests/test_httpstatus.py::test_non_string_status[wsgi-702 Emacs-702] PASSED [ 44%] tests/test_httpstatus.py::test_deprecated_body PASSED [ 44%] tests/test_inspect.py::TestInspectApp::test_empty_app[asgi] PASSED [ 44%] tests/test_inspect.py::TestInspectApp::test_empty_app[wsgi] PASSED [ 44%] tests/test_inspect.py::TestInspectApp::test_dependent_middleware[asgi] PASSED [ 44%] tests/test_inspect.py::TestInspectApp::test_dependent_middleware[wsgi] PASSED [ 44%] tests/test_inspect.py::TestInspectApp::test_app[asgi] PASSED [ 44%] tests/test_inspect.py::TestInspectApp::test_app[wsgi] PASSED [ 44%] tests/test_inspect.py::TestInspectApp::test_routes[asgi] PASSED [ 44%] tests/test_inspect.py::TestInspectApp::test_routes[wsgi] PASSED [ 44%] tests/test_inspect.py::TestInspectApp::test_routes_empty_paths[asgi] PASSED [ 44%] tests/test_inspect.py::TestInspectApp::test_routes_empty_paths[wsgi] PASSED [ 44%] tests/test_inspect.py::TestInspectApp::test_static_routes[asgi] PASSED [ 44%] tests/test_inspect.py::TestInspectApp::test_static_routes[wsgi] PASSED [ 44%] tests/test_inspect.py::TestInspectApp::test_sink[asgi] PASSED [ 44%] tests/test_inspect.py::TestInspectApp::test_sink[wsgi] PASSED [ 44%] tests/test_inspect.py::TestInspectApp::test_error_handler[asgi] PASSED [ 44%] tests/test_inspect.py::TestInspectApp::test_error_handler[wsgi] PASSED [ 44%] tests/test_inspect.py::TestInspectApp::test_middleware[asgi] PASSED [ 44%] tests/test_inspect.py::TestInspectApp::test_middleware[wsgi] PASSED [ 44%] tests/test_inspect.py::TestInspectApp::test_middleware_tree[asgi] PASSED [ 44%] tests/test_inspect.py::TestInspectApp::test_middleware_tree[wsgi] PASSED [ 44%] tests/test_inspect.py::test_route_method_info_suffix PASSED [ 44%] tests/test_inspect.py::TestRouter::test_compiled_partial PASSED [ 44%] tests/test_inspect.py::TestRouter::test_compiled_no_method_map PASSED [ 44%] tests/test_inspect.py::TestRouter::test_register_router_not_found PASSED [ 44%] tests/test_inspect.py::TestRouter::test_register_other_router PASSED [ 44%] tests/test_inspect.py::TestRouter::test_register_router_multiple_time PASSED [ 44%] tests/test_inspect.py::test_info_class_repr_to_string PASSED [ 44%] tests/test_inspect.py::TestInspectVisitor::test_inspect_visitor PASSED [ 44%] tests/test_inspect.py::TestInspectVisitor::test_process PASSED [ 44%] tests/test_inspect.py::test_string_visitor_class PASSED [ 44%] tests/test_inspect.py::TestStringVisitor::test_route_method[True] PASSED [ 44%] tests/test_inspect.py::TestStringVisitor::test_route_method[False] PASSED [ 44%] tests/test_inspect.py::TestStringVisitor::test_route_method_verbose[True] PASSED [ 44%] tests/test_inspect.py::TestStringVisitor::test_route_method_verbose[False] PASSED [ 45%] tests/test_inspect.py::TestStringVisitor::test_route[True] PASSED [ 45%] tests/test_inspect.py::TestStringVisitor::test_route[False] PASSED [ 45%] tests/test_inspect.py::TestStringVisitor::test_route_verbose[True] PASSED [ 45%] tests/test_inspect.py::TestStringVisitor::test_route_verbose[False] PASSED [ 45%] tests/test_inspect.py::TestStringVisitor::test_route_no_methods[True] PASSED [ 45%] tests/test_inspect.py::TestStringVisitor::test_route_no_methods[False] PASSED [ 45%] tests/test_inspect.py::TestStringVisitor::test_static_route[True-True] PASSED [ 45%] tests/test_inspect.py::TestStringVisitor::test_static_route[True-False] PASSED [ 45%] tests/test_inspect.py::TestStringVisitor::test_static_route[False-True] PASSED [ 45%] tests/test_inspect.py::TestStringVisitor::test_static_route[False-False] PASSED [ 45%] tests/test_inspect.py::TestStringVisitor::test_sink[True] PASSED [ 45%] tests/test_inspect.py::TestStringVisitor::test_sink[False] PASSED [ 45%] tests/test_inspect.py::TestStringVisitor::test_sink_verbose[True] PASSED [ 45%] tests/test_inspect.py::TestStringVisitor::test_sink_verbose[False] PASSED [ 45%] tests/test_inspect.py::TestStringVisitor::test_error_handler[True] PASSED [ 45%] tests/test_inspect.py::TestStringVisitor::test_error_handler[False] PASSED [ 45%] tests/test_inspect.py::TestStringVisitor::test_error_handler_verbose[True] PASSED [ 45%] tests/test_inspect.py::TestStringVisitor::test_error_handler_verbose[False] PASSED [ 45%] tests/test_inspect.py::TestStringVisitor::test_middleware_method[True] PASSED [ 45%] tests/test_inspect.py::TestStringVisitor::test_middleware_method[False] PASSED [ 45%] tests/test_inspect.py::TestStringVisitor::test_middleware_method_verbose[True] PASSED [ 45%] tests/test_inspect.py::TestStringVisitor::test_middleware_method_verbose[False] PASSED [ 45%] tests/test_inspect.py::TestStringVisitor::test_middleware_class[True] PASSED [ 45%] tests/test_inspect.py::TestStringVisitor::test_middleware_class[False] PASSED [ 45%] tests/test_inspect.py::TestStringVisitor::test_middleware_class_verbose[True] PASSED [ 45%] tests/test_inspect.py::TestStringVisitor::test_middleware_class_verbose[False] PASSED [ 45%] tests/test_inspect.py::TestStringVisitor::test_middleware_class_no_methods[True] PASSED [ 45%] tests/test_inspect.py::TestStringVisitor::test_middleware_class_no_methods[False] PASSED [ 45%] tests/test_inspect.py::TestStringVisitor::test_middleware_tree_item[True-True] PASSED [ 45%] tests/test_inspect.py::TestStringVisitor::test_middleware_tree_item[True-False] PASSED [ 45%] tests/test_inspect.py::TestStringVisitor::test_middleware_tree_item[False-True] PASSED [ 45%] tests/test_inspect.py::TestStringVisitor::test_middleware_tree_item[False-False] PASSED [ 45%] tests/test_inspect.py::TestStringVisitor::test_middleware_tree[True-True] PASSED [ 45%] tests/test_inspect.py::TestStringVisitor::test_middleware_tree[True-False] PASSED [ 45%] tests/test_inspect.py::TestStringVisitor::test_middleware_tree[False-True] PASSED [ 45%] tests/test_inspect.py::TestStringVisitor::test_middleware_tree[False-False] PASSED [ 45%] tests/test_inspect.py::TestStringVisitor::test_middleware_tree_response_only[True] PASSED [ 45%] tests/test_inspect.py::TestStringVisitor::test_middleware_tree_response_only[False] PASSED [ 45%] tests/test_inspect.py::TestStringVisitor::test_middleware_tree_no_response[True] PASSED [ 45%] tests/test_inspect.py::TestStringVisitor::test_middleware_tree_no_response[False] PASSED [ 45%] tests/test_inspect.py::TestStringVisitor::test_middleware_tree_no_resource[True] PASSED [ 46%] tests/test_inspect.py::TestStringVisitor::test_middleware_tree_no_resource[False] PASSED [ 46%] tests/test_inspect.py::TestStringVisitor::test_middleware[True] PASSED [ 46%] tests/test_inspect.py::TestStringVisitor::test_middleware[False] PASSED [ 46%] tests/test_inspect.py::TestStringVisitor::test_middleware_verbose[True] PASSED [ 46%] tests/test_inspect.py::TestStringVisitor::test_middleware_verbose[False] PASSED [ 46%] tests/test_inspect.py::TestStringVisitor::test_app[True-True] PASSED [ 46%] tests/test_inspect.py::TestStringVisitor::test_app[True-False] PASSED [ 46%] tests/test_inspect.py::TestStringVisitor::test_app[False-True] PASSED [ 46%] tests/test_inspect.py::TestStringVisitor::test_app[False-False] PASSED [ 46%] tests/test_inspect.py::TestStringVisitor::test_app_no_routes[True-True] PASSED [ 46%] tests/test_inspect.py::TestStringVisitor::test_app_no_routes[True-False] PASSED [ 46%] tests/test_inspect.py::TestStringVisitor::test_app_no_routes[False-True] PASSED [ 46%] tests/test_inspect.py::TestStringVisitor::test_app_no_routes[False-False] PASSED [ 46%] tests/test_inspect.py::TestStringVisitor::test_app_no_middleware[True-True] PASSED [ 46%] tests/test_inspect.py::TestStringVisitor::test_app_no_middleware[True-False] PASSED [ 46%] tests/test_inspect.py::TestStringVisitor::test_app_no_middleware[False-True] PASSED [ 46%] tests/test_inspect.py::TestStringVisitor::test_app_no_middleware[False-False] PASSED [ 46%] tests/test_inspect.py::TestStringVisitor::test_app_static_routes[True-True] PASSED [ 46%] tests/test_inspect.py::TestStringVisitor::test_app_static_routes[True-False] PASSED [ 46%] tests/test_inspect.py::TestStringVisitor::test_app_static_routes[False-True] PASSED [ 46%] tests/test_inspect.py::TestStringVisitor::test_app_static_routes[False-False] PASSED [ 46%] tests/test_inspect.py::TestStringVisitor::test_app_no_sink[True-True] PASSED [ 46%] tests/test_inspect.py::TestStringVisitor::test_app_no_sink[True-False] PASSED [ 46%] tests/test_inspect.py::TestStringVisitor::test_app_no_sink[False-True] PASSED [ 46%] tests/test_inspect.py::TestStringVisitor::test_app_no_sink[False-False] PASSED [ 46%] tests/test_inspect.py::TestStringVisitor::test_app_no_errors[True-True] PASSED [ 46%] tests/test_inspect.py::TestStringVisitor::test_app_no_errors[True-False] PASSED [ 46%] tests/test_inspect.py::TestStringVisitor::test_app_no_errors[False-True] PASSED [ 46%] tests/test_inspect.py::TestStringVisitor::test_app_no_errors[False-False] PASSED [ 46%] tests/test_inspect.py::TestStringVisitor::test_app_name[True] PASSED [ 46%] tests/test_inspect.py::TestStringVisitor::test_app_name[False] PASSED [ 46%] tests/test_inspect.py::test_is_internal PASSED [ 46%] tests/test_media_handlers.py::test_check_json_library[mujson] PASSED [ 46%] tests/test_media_handlers.py::test_check_json_library[orjson] PASSED [ 46%] tests/test_media_handlers.py::test_check_json_library[rapidjson] PASSED [ 46%] tests/test_media_handlers.py::test_check_json_library[ujson] PASSED [ 46%] tests/test_media_handlers.py::test_serialization[asgi-None-body0-{"test":"value"}] PASSED [ 46%] tests/test_media_handlers.py::test_serialization[asgi-func1-body1-[{"test":"value"},{"ensure_ascii":true}]] PASSED [ 46%] tests/test_media_handlers.py::test_serialization[asgi-None-body2-{"yen":"\xc2\xa5"}] PASSED [ 46%] tests/test_media_handlers.py::test_serialization[asgi-func3-body3-{"test":"value"}] PASSED [ 47%] tests/test_media_handlers.py::test_serialization[asgi-dumps-body4-{"test":"value"}] PASSED [ 47%] tests/test_media_handlers.py::test_serialization[asgi-dumps-body5-{"test":"value"}] PASSED [ 47%] tests/test_media_handlers.py::test_serialization[asgi-dumps-body6-{"test":"value"}] PASSED [ 47%] tests/test_media_handlers.py::test_serialization[wsgi-None-body0-{"test":"value"}] PASSED [ 47%] tests/test_media_handlers.py::test_serialization[wsgi-func1-body1-[{"test":"value"},{"ensure_ascii":true}]] PASSED [ 47%] tests/test_media_handlers.py::test_serialization[wsgi-None-body2-{"yen":"\xc2\xa5"}] PASSED [ 47%] tests/test_media_handlers.py::test_serialization[wsgi-func3-body3-{"test":"value"}] PASSED [ 47%] tests/test_media_handlers.py::test_serialization[wsgi-dumps-body4-{"test":"value"}] PASSED [ 47%] tests/test_media_handlers.py::test_serialization[wsgi-dumps-body5-{"test":"value"}] PASSED [ 47%] tests/test_media_handlers.py::test_serialization[wsgi-dumps-body6-{"test":"value"}] PASSED [ 47%] tests/test_media_handlers.py::test_deserialization[asgi-None-[1, 2]-expected0] PASSED [ 47%] tests/test_media_handlers.py::test_deserialization[asgi-func1-{"key": "value"}-expected1] PASSED [ 47%] tests/test_media_handlers.py::test_deserialization[asgi-temp_json_func-{"test": "value"}-expected2] PASSED [ 47%] tests/test_media_handlers.py::test_deserialization[asgi-loads-{"test": "value"}-expected3] PASSED [ 47%] tests/test_media_handlers.py::test_deserialization[asgi-loads-{"test": "value"}-expected4] PASSED [ 47%] tests/test_media_handlers.py::test_deserialization[asgi-loads-{"test": "value"}-expected5] PASSED [ 47%] tests/test_media_handlers.py::test_deserialization[wsgi-None-[1, 2]-expected0] PASSED [ 47%] tests/test_media_handlers.py::test_deserialization[wsgi-func1-{"key": "value"}-expected1] PASSED [ 47%] tests/test_media_handlers.py::test_deserialization[wsgi-temp_json_func-{"test": "value"}-expected2] PASSED [ 47%] tests/test_media_handlers.py::test_deserialization[wsgi-loads-{"test": "value"}-expected3] PASSED [ 47%] tests/test_media_handlers.py::test_deserialization[wsgi-loads-{"test": "value"}-expected4] PASSED [ 47%] tests/test_media_handlers.py::test_deserialization[wsgi-loads-{"test": "value"}-expected5] PASSED [ 47%] tests/test_media_handlers.py::test_full_app[asgi-True-stdlib] PASSED [ 47%] tests/test_media_handlers.py::test_full_app[asgi-True-mujson] PASSED [ 47%] tests/test_media_handlers.py::test_full_app[asgi-True-orjson] PASSED [ 47%] tests/test_media_handlers.py::test_full_app[asgi-True-rapidjson] PASSED [ 47%] tests/test_media_handlers.py::test_full_app[asgi-True-ujson] PASSED [ 47%] tests/test_media_handlers.py::test_full_app[asgi-False-stdlib] PASSED [ 47%] tests/test_media_handlers.py::test_full_app[asgi-False-mujson] PASSED [ 47%] tests/test_media_handlers.py::test_full_app[asgi-False-orjson] PASSED [ 47%] tests/test_media_handlers.py::test_full_app[asgi-False-rapidjson] PASSED [ 47%] tests/test_media_handlers.py::test_full_app[asgi-False-ujson] PASSED [ 47%] tests/test_media_handlers.py::test_full_app[wsgi-True-stdlib] PASSED [ 47%] tests/test_media_handlers.py::test_full_app[wsgi-True-mujson] PASSED [ 47%] tests/test_media_handlers.py::test_full_app[wsgi-True-orjson] PASSED [ 47%] tests/test_media_handlers.py::test_full_app[wsgi-True-rapidjson] PASSED [ 47%] tests/test_media_handlers.py::test_full_app[wsgi-True-ujson] PASSED [ 47%] tests/test_media_handlers.py::test_full_app[wsgi-False-stdlib] PASSED [ 47%] tests/test_media_handlers.py::test_full_app[wsgi-False-mujson] PASSED [ 47%] tests/test_media_handlers.py::test_full_app[wsgi-False-orjson] PASSED [ 47%] tests/test_media_handlers.py::test_full_app[wsgi-False-rapidjson] PASSED [ 48%] tests/test_media_handlers.py::test_full_app[wsgi-False-ujson] PASSED [ 48%] tests/test_media_handlers.py::test_deserialization_raises[asgi-application/json] PASSED [ 48%] tests/test_media_handlers.py::test_deserialization_raises[asgi-application/json; answer=42] PASSED [ 48%] tests/test_media_handlers.py::test_deserialization_raises[wsgi-application/json] PASSED [ 48%] tests/test_media_handlers.py::test_deserialization_raises[wsgi-application/json; answer=42] PASSED [ 48%] tests/test_media_handlers.py::test_sync_methods_not_overridden[asgi] PASSED [ 48%] tests/test_media_handlers.py::test_sync_methods_not_overridden[wsgi] PASSED [ 48%] tests/test_media_handlers.py::test_async_methods_not_overridden PASSED [ 48%] tests/test_media_handlers.py::test_async_handler_returning_none PASSED [ 48%] tests/test_media_handlers.py::test_json_err_no_handler[asgi] PASSED [ 48%] tests/test_media_handlers.py::test_json_err_no_handler[wsgi] PASSED [ 48%] tests/test_media_handlers.py::test_handlers_include_new_media_handlers_in_resolving PASSED [ 48%] tests/test_media_handlers.py::TestBaseHandler::test_defaultError PASSED [ 48%] tests/test_media_handlers.py::TestBaseHandler::test_json PASSED [ 48%] tests/test_media_multipart.py::test_parse[5b11af82ab65407ba8cdccf37d2a9c4f] PASSED [ 48%] tests/test_media_multipart.py::test_parse[---------------------------1574247108204320607285918568] PASSED [ 48%] tests/test_media_multipart.py::test_parse[BOUNDARY] PASSED [ 48%] tests/test_media_multipart.py::test_parse[boundary] PASSED [ 48%] tests/test_media_multipart.py::test_parsing_correctness[32-7] PASSED [ 48%] tests/test_media_multipart.py::test_parsing_correctness[32-8] PASSED [ 48%] tests/test_media_multipart.py::test_parsing_correctness[32-9] PASSED [ 48%] tests/test_media_multipart.py::test_parsing_correctness[32-10] PASSED [ 48%] tests/test_media_multipart.py::test_parsing_correctness[32-32] PASSED [ 48%] tests/test_media_multipart.py::test_parsing_correctness[32-64] PASSED [ 48%] tests/test_media_multipart.py::test_parsing_correctness[32-128] PASSED [ 48%] tests/test_media_multipart.py::test_parsing_correctness[32-256] PASSED [ 48%] tests/test_media_multipart.py::test_parsing_correctness[64-7] PASSED [ 48%] tests/test_media_multipart.py::test_parsing_correctness[64-8] PASSED [ 48%] tests/test_media_multipart.py::test_parsing_correctness[64-9] PASSED [ 48%] tests/test_media_multipart.py::test_parsing_correctness[64-10] PASSED [ 48%] tests/test_media_multipart.py::test_parsing_correctness[64-32] PASSED [ 48%] tests/test_media_multipart.py::test_parsing_correctness[64-64] PASSED [ 48%] tests/test_media_multipart.py::test_parsing_correctness[64-128] PASSED [ 48%] tests/test_media_multipart.py::test_parsing_correctness[64-256] PASSED [ 48%] tests/test_media_multipart.py::test_parsing_correctness[128-7] PASSED [ 48%] tests/test_media_multipart.py::test_parsing_correctness[128-8] PASSED [ 48%] tests/test_media_multipart.py::test_parsing_correctness[128-9] PASSED [ 48%] tests/test_media_multipart.py::test_parsing_correctness[128-10] PASSED [ 48%] tests/test_media_multipart.py::test_parsing_correctness[128-32] PASSED [ 48%] tests/test_media_multipart.py::test_parsing_correctness[128-64] PASSED [ 48%] tests/test_media_multipart.py::test_parsing_correctness[128-128] PASSED [ 49%] tests/test_media_multipart.py::test_parsing_correctness[128-256] PASSED [ 49%] tests/test_media_multipart.py::test_parsing_correctness[256-7] PASSED [ 49%] tests/test_media_multipart.py::test_parsing_correctness[256-8] PASSED [ 49%] tests/test_media_multipart.py::test_parsing_correctness[256-9] PASSED [ 49%] tests/test_media_multipart.py::test_parsing_correctness[256-10] PASSED [ 49%] tests/test_media_multipart.py::test_parsing_correctness[256-32] PASSED [ 49%] tests/test_media_multipart.py::test_parsing_correctness[256-64] PASSED [ 49%] tests/test_media_multipart.py::test_parsing_correctness[256-128] PASSED [ 49%] tests/test_media_multipart.py::test_parsing_correctness[256-256] PASSED [ 49%] tests/test_media_multipart.py::test_missing_boundary PASSED [ 49%] tests/test_media_multipart.py::test_empty_input PASSED [ 49%] tests/test_media_multipart.py::test_serialize PASSED [ 49%] tests/test_media_multipart.py::test_invalid_text_or_charset[utf-8-Impossible byte: \xff] PASSED [ 49%] tests/test_media_multipart.py::test_invalid_text_or_charset[utf-8-Overlong... \xfc\x83\xbf\xbf\xbf\xbf ... sequence] PASSED [ 49%] tests/test_media_multipart.py::test_invalid_text_or_charset[ascii-\x80\x80\x80] PASSED [ 49%] tests/test_media_multipart.py::test_invalid_text_or_charset[pecyn-AAHEHlRoZSBGYWxjb24gV2ViIEZyYW1ld29yaywgMjAxOQ==] PASSED [ 49%] tests/test_media_multipart.py::test_unknown_header PASSED [ 49%] tests/test_media_multipart.py::test_from_buffered_stream PASSED [ 49%] tests/test_media_multipart.py::test_body_part_media PASSED [ 49%] tests/test_media_multipart.py::test_body_part_properties PASSED [ 49%] tests/test_media_multipart.py::test_empty_or_missing_filename PASSED [ 49%] tests/test_media_multipart.py::test_upload_multipart[asgi] PASSED [ 49%] tests/test_media_multipart.py::test_upload_multipart[wsgi] PASSED [ 49%] tests/test_media_multipart.py::test_epilogue[asgi-] PASSED [ 49%] tests/test_media_multipart.py::test_epilogue[asgi---] PASSED [ 49%] tests/test_media_multipart.py::test_epilogue[asgi-\n] PASSED [ 49%] tests/test_media_multipart.py::test_epilogue[asgi-\n\n] PASSED [ 49%] tests/test_media_multipart.py::test_epilogue[asgi- <-- no CRLF] PASSED [ 49%] tests/test_media_multipart.py::test_epilogue[asgi-\U0001f4a5] PASSED [ 49%] tests/test_media_multipart.py::test_epilogue[wsgi-] PASSED [ 49%] tests/test_media_multipart.py::test_epilogue[wsgi---] PASSED [ 49%] tests/test_media_multipart.py::test_epilogue[wsgi-\n] PASSED [ 49%] tests/test_media_multipart.py::test_epilogue[wsgi-\n\n] PASSED [ 49%] tests/test_media_multipart.py::test_epilogue[wsgi- <-- no CRLF] PASSED [ 49%] tests/test_media_multipart.py::test_epilogue[wsgi-\U0001f4a5] PASSED [ 49%] tests/test_media_multipart.py::test_truncated_form[asgi-1] PASSED [ 49%] tests/test_media_multipart.py::test_truncated_form[asgi-2] PASSED [ 49%] tests/test_media_multipart.py::test_truncated_form[asgi-3] PASSED [ 49%] tests/test_media_multipart.py::test_truncated_form[asgi-4] PASSED [ 49%] tests/test_media_multipart.py::test_truncated_form[wsgi-1] PASSED [ 50%] tests/test_media_multipart.py::test_truncated_form[wsgi-2] PASSED [ 50%] tests/test_media_multipart.py::test_truncated_form[wsgi-3] PASSED [ 50%] tests/test_media_multipart.py::test_truncated_form[wsgi-4] PASSED [ 50%] tests/test_media_multipart.py::test_unexpected_form_structure[asgi] PASSED [ 50%] tests/test_media_multipart.py::test_unexpected_form_structure[wsgi] PASSED [ 50%] tests/test_media_multipart.py::test_data_too_large[asgi] PASSED [ 50%] tests/test_media_multipart.py::test_data_too_large[wsgi] PASSED [ 50%] tests/test_media_multipart.py::test_too_many_body_parts[asgi-0] PASSED [ 50%] tests/test_media_multipart.py::test_too_many_body_parts[asgi-1] PASSED [ 50%] tests/test_media_multipart.py::test_too_many_body_parts[asgi-2] PASSED [ 50%] tests/test_media_multipart.py::test_too_many_body_parts[asgi-3] PASSED [ 50%] tests/test_media_multipart.py::test_too_many_body_parts[asgi-4] PASSED [ 50%] tests/test_media_multipart.py::test_too_many_body_parts[asgi-5] PASSED [ 50%] tests/test_media_multipart.py::test_too_many_body_parts[asgi-6] PASSED [ 50%] tests/test_media_multipart.py::test_too_many_body_parts[asgi-100] PASSED [ 50%] tests/test_media_multipart.py::test_too_many_body_parts[asgi-1000] PASSED [ 50%] tests/test_media_multipart.py::test_too_many_body_parts[wsgi-0] PASSED [ 50%] tests/test_media_multipart.py::test_too_many_body_parts[wsgi-1] PASSED [ 50%] tests/test_media_multipart.py::test_too_many_body_parts[wsgi-2] PASSED [ 50%] tests/test_media_multipart.py::test_too_many_body_parts[wsgi-3] PASSED [ 50%] tests/test_media_multipart.py::test_too_many_body_parts[wsgi-4] PASSED [ 50%] tests/test_media_multipart.py::test_too_many_body_parts[wsgi-5] PASSED [ 50%] tests/test_media_multipart.py::test_too_many_body_parts[wsgi-6] PASSED [ 50%] tests/test_media_multipart.py::test_too_many_body_parts[wsgi-100] PASSED [ 50%] tests/test_media_multipart.py::test_too_many_body_parts[wsgi-1000] PASSED [ 50%] tests/test_media_multipart.py::test_random_form[asgi---] PASSED [ 50%] tests/test_media_multipart.py::test_random_form[asgi---\r\n] PASSED [ 50%] tests/test_media_multipart.py::test_random_form[wsgi---] PASSED [ 50%] tests/test_media_multipart.py::test_random_form[wsgi---\r\n] PASSED [ 50%] tests/test_media_multipart.py::test_invalid_random_form[asgi] PASSED [ 50%] tests/test_media_multipart.py::test_invalid_random_form[wsgi] PASSED [ 50%] tests/test_media_multipart.py::test_nested_multipart_mixed PASSED [ 50%] tests/test_media_multipart.py::test_content_transfer_encoding_header[asgi] PASSED [ 50%] tests/test_media_multipart.py::test_content_transfer_encoding_header[wsgi] PASSED [ 50%] tests/test_media_multipart.py::test_unsupported_charset[asgi] PASSED [ 50%] tests/test_media_multipart.py::test_unsupported_charset[wsgi] PASSED [ 50%] tests/test_media_multipart.py::test_filename_star[asgi] PASSED [ 50%] tests/test_media_multipart.py::test_filename_star[wsgi] PASSED [ 50%] tests/test_media_multipart.py::test_headers_edge_cases[asgi-64] PASSED [ 50%] tests/test_media_multipart.py::test_headers_edge_cases[asgi-140] PASSED [ 50%] tests/test_media_multipart.py::test_headers_edge_cases[asgi-141] PASSED [ 51%] tests/test_media_multipart.py::test_headers_edge_cases[asgi-142] PASSED [ 51%] tests/test_media_multipart.py::test_headers_edge_cases[asgi-256] PASSED [ 51%] tests/test_media_multipart.py::test_headers_edge_cases[asgi-1024] PASSED [ 51%] tests/test_media_multipart.py::test_headers_edge_cases[wsgi-64] PASSED [ 51%] tests/test_media_multipart.py::test_headers_edge_cases[wsgi-140] PASSED [ 51%] tests/test_media_multipart.py::test_headers_edge_cases[wsgi-141] PASSED [ 51%] tests/test_media_multipart.py::test_headers_edge_cases[wsgi-142] PASSED [ 51%] tests/test_media_multipart.py::test_headers_edge_cases[wsgi-256] PASSED [ 51%] tests/test_media_multipart.py::test_headers_edge_cases[wsgi-1024] PASSED [ 51%] tests/test_media_multipart.py::test_deserialize_part_media[asgi] PASSED [ 51%] tests/test_media_multipart.py::test_deserialize_part_media[wsgi] PASSED [ 51%] tests/test_media_multipart.py::test_deserialize_custom_media[asgi] PASSED [ 51%] tests/test_media_multipart.py::test_deserialize_custom_media[wsgi] PASSED [ 51%] tests/test_media_multipart.py::test_multipart_parse_options_default_handlers_unique PASSED [ 51%] tests/test_media_urlencoded.py::test_deserialize_empty_form PASSED [ 51%] tests/test_media_urlencoded.py::test_deserialize_invalid_unicode PASSED [ 51%] tests/test_media_urlencoded.py::test_urlencoded_form_handler_serialize[data0-hello=world] PASSED [ 51%] tests/test_media_urlencoded.py::test_urlencoded_form_handler_serialize[data1-number=1&number=2] PASSED [ 51%] tests/test_media_urlencoded.py::test_empty_form[asgi] PASSED [ 51%] tests/test_media_urlencoded.py::test_empty_form[wsgi] PASSED [ 51%] tests/test_media_urlencoded.py::test_urlencoded_form[asgi-a=1&b=&c=3-expected0] PASSED [ 51%] tests/test_media_urlencoded.py::test_urlencoded_form[asgi-param=undefined-expected1] PASSED [ 51%] tests/test_media_urlencoded.py::test_urlencoded_form[asgi-color=green&color=black-expected2] PASSED [ 51%] tests/test_media_urlencoded.py::test_urlencoded_form[asgi-food=hamburger+%28%F0%9F%8D%94%29&sauce=BBQ-expected3] PASSED [ 51%] tests/test_media_urlencoded.py::test_urlencoded_form[asgi-flag%1&flag%2&flag%1&flag%2-expected4] PASSED [ 51%] tests/test_media_urlencoded.py::test_urlencoded_form[wsgi-a=1&b=&c=3-expected0] PASSED [ 51%] tests/test_media_urlencoded.py::test_urlencoded_form[wsgi-param=undefined-expected1] PASSED [ 51%] tests/test_media_urlencoded.py::test_urlencoded_form[wsgi-color=green&color=black-expected2] PASSED [ 51%] tests/test_media_urlencoded.py::test_urlencoded_form[wsgi-food=hamburger+%28%F0%9F%8D%94%29&sauce=BBQ-expected3] PASSED [ 51%] tests/test_media_urlencoded.py::test_urlencoded_form[wsgi-flag%1&flag%2&flag%1&flag%2-expected4] PASSED [ 51%] tests/test_mediatypes.py::test_parse_header[-expected0] PASSED [ 51%] tests/test_mediatypes.py::test_parse_header[strange-expected1] PASSED [ 51%] tests/test_mediatypes.py::test_parse_header[text/plain-expected2] PASSED [ 51%] tests/test_mediatypes.py::test_parse_header[text/plain -expected3] PASSED [ 51%] tests/test_mediatypes.py::test_parse_header[ text/plain-expected4] PASSED [ 51%] tests/test_mediatypes.py::test_parse_header[ text/plain -expected5] PASSED [ 51%] tests/test_mediatypes.py::test_parse_header[ text/plain -expected6] PASSED [ 51%] tests/test_mediatypes.py::test_parse_header[falcon/peregrine; key1; key2=value; key3-expected7] PASSED [ 51%] tests/test_mediatypes.py::test_parse_header[audio/pcm;rate=48000;encoding=float;bits=32-expected8] PASSED [ 51%] tests/test_mediatypes.py::test_parse_header[falcon/*; genus=falco; family=falconidae; class=aves; -expected9] PASSED [ 51%] tests/test_mediatypes.py::test_parse_header["falcon/peregrine" ; key="value"-expected10] PASSED [ 52%] tests/test_mediatypes.py::test_parse_header[falcon/peregrine; empty=""-expected11] PASSED [ 52%] tests/test_mediatypes.py::test_parse_header[falcon/peregrine; quote="-expected12] PASSED [ 52%] tests/test_mediatypes.py::test_parse_header[text/plain; charset=utf-8-expected13] PASSED [ 52%] tests/test_mediatypes.py::test_parse_header[stuff/strange; missing-value; missing-another-expected14] PASSED [ 52%] tests/test_mediatypes.py::test_parse_header[stuff/strange; missing-value\\missing-another-expected15] PASSED [ 52%] tests/test_mediatypes.py::test_parse_header[application/falcon; P1 = "key; value"; P2="\\""-expected16] PASSED [ 52%] tests/test_mediatypes.py::test_media_type_private_cls PASSED [ 52%] tests/test_mediatypes.py::test_media_range_private_cls PASSED [ 52%] tests/test_mediatypes.py::test_quality_rfc_examples[RFC-7231-text/html;level=1-1.0] PASSED [ 52%] tests/test_mediatypes.py::test_quality_rfc_examples[RFC-7231-text/html-0.7] PASSED [ 52%] tests/test_mediatypes.py::test_quality_rfc_examples[RFC-7231-text/plain-0.3] PASSED [ 52%] tests/test_mediatypes.py::test_quality_rfc_examples[RFC-7231-image/jpeg-0.5] PASSED [ 52%] tests/test_mediatypes.py::test_quality_rfc_examples[RFC-7231-text/html;level=2-0.4] PASSED [ 52%] tests/test_mediatypes.py::test_quality_rfc_examples[RFC-7231-text/html;level=3-0.7] PASSED [ 52%] tests/test_mediatypes.py::test_quality_rfc_examples[RFC-9110-text/html;level=1-1.0] PASSED [ 52%] tests/test_mediatypes.py::test_quality_rfc_examples[RFC-9110-text/html-0.7] PASSED [ 52%] tests/test_mediatypes.py::test_quality_rfc_examples[RFC-9110-text/plain-0.3] PASSED [ 52%] tests/test_mediatypes.py::test_quality_rfc_examples[RFC-9110-image/jpeg-0.5] PASSED [ 52%] tests/test_mediatypes.py::test_quality_rfc_examples[RFC-9110-text/html;level=2-0.4] PASSED [ 52%] tests/test_mediatypes.py::test_quality_rfc_examples[RFC-9110-text/html;level=3-0.7] PASSED [ 52%] tests/test_mediatypes.py::test_quality[application/*, */wildcard; q=0.7, */*; q=0.25-test/wildcard; expect=pass-0.7] PASSED [ 52%] tests/test_mediatypes.py::test_quality[application/*, */wildcard; q=0.7, */*; q=0.25-application/wildcard; expect=pass-1.0] PASSED [ 52%] tests/test_mediatypes.py::test_quality[application/*, */wildcard; q=0.7, */*; q=0.25-test/something; expect=pass-0.25] PASSED [ 52%] tests/test_mediatypes.py::test_quality[text/x-python, text/*; q=0.33, text/plain; format=fixed-text/plain; format=flowed-0.33] PASSED [ 52%] tests/test_mediatypes.py::test_quality[text/*;q=0.3, text/html;level=1, text/html;q=0.7, text/html;level=2;q=0.4, */*;q=0.5-text/html; level=3-0.7] PASSED [ 52%] tests/test_mediatypes.py::test_quality_prefer_exact_match[foo/bar, test/app; q=0.2, test/app; p=1; q=0.9, test/app;p=1;r=2-test/app] PASSED [ 52%] tests/test_mediatypes.py::test_quality_prefer_exact_match[test/app; q=0.1, test/app; p=1; q=0.2, test/app;p=1;r=2-test/app; p=1] PASSED [ 52%] tests/test_mediatypes.py::test_quality_prefer_exact_match[*/app; q=0.1, simple/app; test=true; q=0.2, simple/app; color=blue-simple/app; test=true] PASSED [ 52%] tests/test_mediatypes.py::test_quality_none_matches[application/json-application/yaml] PASSED [ 52%] tests/test_mediatypes.py::test_quality_none_matches[audio/*; q=0.2, audio/basic-video/mp3] PASSED [ 52%] tests/test_mediatypes.py::test_quality_none_matches[falcon/peregrine; speed=high; unladen=true-falcon/peregrine; speed=average] PASSED [ 52%] tests/test_mediatypes.py::test_quality_none_matches[text/html, text/plain-text/x-python] PASSED [ 52%] tests/test_mediatypes.py::test_quality_none_matches[*/json; q=0.2, application/json-application/msgpack] PASSED [ 52%] tests/test_mediatypes.py::test_quality_none_matches[text/x-python, image/*; q=0.33, text/plain; format=fixed-text/plain; format=flowed] PASSED [ 52%] tests/test_mediatypes.py::test_best_match[media_types0-application/json-application/json] PASSED [ 52%] tests/test_mediatypes.py::test_best_match[media_types1-application/json; charset=utf-8-application/json] PASSED [ 52%] tests/test_mediatypes.py::test_best_match[media_types2-application/json, */*; q=0.2-application/json] PASSED [ 52%] tests/test_mediatypes.py::test_best_match_none_matches[media_types0-application/yaml] PASSED [ 52%] tests/test_mediatypes.py::test_best_match_none_matches[media_types1-video/mp3] PASSED [ 52%] tests/test_mediatypes.py::test_best_match_none_matches[media_types2-falcon/peregrine; speed=average] PASSED [ 52%] tests/test_mediatypes.py::test_best_match_none_matches[media_types3-text/x-python] PASSED [ 53%] tests/test_mediatypes.py::test_best_match_none_matches[media_types4-application/msgpack] PASSED [ 53%] tests/test_mediatypes.py::test_best_match_none_matches[media_types5-text/plain; format=flowed] PASSED [ 53%] tests/test_mediatypes.py::test_best_match_none_matches[media_types6-application/xml, text/*; q=0.7] PASSED [ 53%] tests/test_mediatypes.py::test_best_match_none_matches[media_types7-falcon/peregrine; load=heavy] PASSED [ 53%] tests/test_mediatypes.py::test_invalid_media_type[] PASSED [ 53%] tests/test_mediatypes.py::test_invalid_media_type[word document] PASSED [ 53%] tests/test_mediatypes.py::test_invalid_media_type[text] PASSED [ 53%] tests/test_mediatypes.py::test_invalid_media_range[] PASSED [ 53%] tests/test_mediatypes.py::test_invalid_media_range[word document] PASSED [ 53%] tests/test_mediatypes.py::test_invalid_media_range[text] PASSED [ 53%] tests/test_mediatypes.py::test_invalid_media_range[text/plain; q=high] PASSED [ 53%] tests/test_mediatypes.py::test_invalid_media_range[*/*; q=inf] PASSED [ 53%] tests/test_mediatypes.py::test_invalid_media_range[*/*; q=-inf] PASSED [ 53%] tests/test_mediatypes.py::test_invalid_media_range[*/*; q=nan] PASSED [ 53%] tests/test_mediatypes.py::test_invalid_media_range[application/very-important; q=1337.0] PASSED [ 53%] tests/test_mediatypes.py::test_empty_media_types[media_types0-*/*] PASSED [ 53%] tests/test_mediatypes.py::test_empty_media_types[media_types0-application/xml, text/*; q=0.7, */*; q=0.3] PASSED [ 53%] tests/test_mediatypes.py::test_empty_media_types[media_types1-*/*] PASSED [ 53%] tests/test_mediatypes.py::test_empty_media_types[media_types1-application/xml, text/*; q=0.7, */*; q=0.3] PASSED [ 53%] tests/test_mediatypes.py::test_empty_media_types[media_types2-*/*] PASSED [ 53%] tests/test_mediatypes.py::test_empty_media_types[media_types2-application/xml, text/*; q=0.7, */*; q=0.3] PASSED [ 53%] tests/test_mediatypes.py::test_empty_media_types[_generate_strings-*/*] PASSED [ 53%] tests/test_mediatypes.py::test_empty_media_types[_generate_strings-application/xml, text/*; q=0.7, */*; q=0.3] PASSED [ 53%] tests/test_middleware.py::TestRequestTimeMiddleware::test_skip_process_resource[asgi] PASSED [ 53%] tests/test_middleware.py::TestRequestTimeMiddleware::test_skip_process_resource[wsgi] PASSED [ 53%] tests/test_middleware.py::TestRequestTimeMiddleware::test_add_invalid_middleware[asgi] PASSED [ 53%] tests/test_middleware.py::TestRequestTimeMiddleware::test_add_invalid_middleware[wsgi] PASSED [ 53%] tests/test_middleware.py::TestRequestTimeMiddleware::test_response_middleware_raises_exception[asgi] PASSED [ 53%] tests/test_middleware.py::TestRequestTimeMiddleware::test_response_middleware_raises_exception[wsgi] PASSED [ 53%] tests/test_middleware.py::TestRequestTimeMiddleware::test_log_get_request[asgi-True] PASSED [ 53%] tests/test_middleware.py::TestRequestTimeMiddleware::test_log_get_request[asgi-False] PASSED [ 53%] tests/test_middleware.py::TestRequestTimeMiddleware::test_log_get_request[wsgi-True] PASSED [ 53%] tests/test_middleware.py::TestRequestTimeMiddleware::test_log_get_request[wsgi-False] PASSED [ 53%] tests/test_middleware.py::TestTransactionIdMiddleware::test_generate_trans_id_with_request[asgi] PASSED [ 53%] tests/test_middleware.py::TestTransactionIdMiddleware::test_generate_trans_id_with_request[wsgi] PASSED [ 53%] tests/test_middleware.py::TestSeveralMiddlewares::test_generate_trans_id_and_time_with_request[asgi-True] PASSED [ 53%] tests/test_middleware.py::TestSeveralMiddlewares::test_generate_trans_id_and_time_with_request[asgi-False] PASSED [ 53%] tests/test_middleware.py::TestSeveralMiddlewares::test_generate_trans_id_and_time_with_request[wsgi-True] PASSED [ 53%] tests/test_middleware.py::TestSeveralMiddlewares::test_generate_trans_id_and_time_with_request[wsgi-False] PASSED [ 53%] tests/test_middleware.py::TestSeveralMiddlewares::test_legacy_middleware_called_with_correct_args[asgi] PASSED [ 54%] tests/test_middleware.py::TestSeveralMiddlewares::test_legacy_middleware_called_with_correct_args[wsgi] PASSED [ 54%] tests/test_middleware.py::TestSeveralMiddlewares::test_middleware_execution_order[asgi] PASSED [ 54%] tests/test_middleware.py::TestSeveralMiddlewares::test_middleware_execution_order[wsgi] PASSED [ 54%] tests/test_middleware.py::TestSeveralMiddlewares::test_independent_middleware_execution_order[asgi] PASSED [ 54%] tests/test_middleware.py::TestSeveralMiddlewares::test_independent_middleware_execution_order[wsgi] PASSED [ 54%] tests/test_middleware.py::TestSeveralMiddlewares::test_multiple_response_mw_throw_exception[asgi] PASSED [ 54%] tests/test_middleware.py::TestSeveralMiddlewares::test_multiple_response_mw_throw_exception[wsgi] PASSED [ 54%] tests/test_middleware.py::TestSeveralMiddlewares::test_inner_mw_throw_exception[asgi] PASSED [ 54%] tests/test_middleware.py::TestSeveralMiddlewares::test_inner_mw_throw_exception[wsgi] PASSED [ 54%] tests/test_middleware.py::TestSeveralMiddlewares::test_inner_mw_throw_exception_while_processing_resp[asgi] PASSED [ 54%] tests/test_middleware.py::TestSeveralMiddlewares::test_inner_mw_throw_exception_while_processing_resp[wsgi] PASSED [ 54%] tests/test_middleware.py::TestSeveralMiddlewares::test_inner_mw_with_ex_handler_throw_exception[asgi] PASSED [ 54%] tests/test_middleware.py::TestSeveralMiddlewares::test_inner_mw_with_ex_handler_throw_exception[wsgi] PASSED [ 54%] tests/test_middleware.py::TestSeveralMiddlewares::test_outer_mw_with_ex_handler_throw_exception[asgi] PASSED [ 54%] tests/test_middleware.py::TestSeveralMiddlewares::test_outer_mw_with_ex_handler_throw_exception[wsgi] PASSED [ 54%] tests/test_middleware.py::TestSeveralMiddlewares::test_order_mw_executed_when_exception_in_resp[asgi] PASSED [ 54%] tests/test_middleware.py::TestSeveralMiddlewares::test_order_mw_executed_when_exception_in_resp[wsgi] PASSED [ 54%] tests/test_middleware.py::TestSeveralMiddlewares::test_order_independent_mw_executed_when_exception_in_resp[asgi] PASSED [ 54%] tests/test_middleware.py::TestSeveralMiddlewares::test_order_independent_mw_executed_when_exception_in_resp[wsgi] PASSED [ 54%] tests/test_middleware.py::TestSeveralMiddlewares::test_order_mw_executed_when_exception_in_req[asgi] PASSED [ 54%] tests/test_middleware.py::TestSeveralMiddlewares::test_order_mw_executed_when_exception_in_req[wsgi] PASSED [ 54%] tests/test_middleware.py::TestSeveralMiddlewares::test_order_independent_mw_executed_when_exception_in_req[asgi] PASSED [ 54%] tests/test_middleware.py::TestSeveralMiddlewares::test_order_independent_mw_executed_when_exception_in_req[wsgi] PASSED [ 54%] tests/test_middleware.py::TestSeveralMiddlewares::test_order_mw_executed_when_exception_in_rsrc[asgi] PASSED [ 54%] tests/test_middleware.py::TestSeveralMiddlewares::test_order_mw_executed_when_exception_in_rsrc[wsgi] PASSED [ 54%] tests/test_middleware.py::TestSeveralMiddlewares::test_order_independent_mw_executed_when_exception_in_rsrc[asgi] PASSED [ 54%] tests/test_middleware.py::TestSeveralMiddlewares::test_order_independent_mw_executed_when_exception_in_rsrc[wsgi] PASSED [ 54%] tests/test_middleware.py::TestRemoveBasePathMiddleware::test_base_path_is_removed_before_routing[asgi] PASSED [ 54%] tests/test_middleware.py::TestRemoveBasePathMiddleware::test_base_path_is_removed_before_routing[wsgi] PASSED [ 54%] tests/test_middleware.py::TestResourceMiddleware::test_can_access_resource_params[asgi-True] PASSED [ 54%] tests/test_middleware.py::TestResourceMiddleware::test_can_access_resource_params[asgi-False] PASSED [ 54%] tests/test_middleware.py::TestResourceMiddleware::test_can_access_resource_params[wsgi-True] PASSED [ 54%] tests/test_middleware.py::TestResourceMiddleware::test_can_access_resource_params[wsgi-False] PASSED [ 54%] tests/test_middleware.py::TestEmptySignatureMiddleware::test_dont_need_params_in_signature[asgi] PASSED [ 54%] tests/test_middleware.py::TestEmptySignatureMiddleware::test_dont_need_params_in_signature[wsgi] PASSED [ 54%] tests/test_middleware.py::TestErrorHandling::test_error_composed_before_resp_middleware_called[asgi] PASSED [ 54%] tests/test_middleware.py::TestErrorHandling::test_error_composed_before_resp_middleware_called[wsgi] PASSED [ 54%] tests/test_middleware.py::TestErrorHandling::test_http_status_raised_from_error_handler[asgi] PASSED [ 54%] tests/test_middleware.py::TestErrorHandling::test_http_status_raised_from_error_handler[wsgi] PASSED [ 54%] tests/test_middleware.py::TestShortCircuiting::test_process_request_not_cached[asgi] PASSED [ 54%] tests/test_middleware.py::TestShortCircuiting::test_process_request_not_cached[wsgi] PASSED [ 55%] tests/test_middleware.py::TestShortCircuiting::test_process_request_cached[asgi-True] PASSED [ 55%] tests/test_middleware.py::TestShortCircuiting::test_process_request_cached[asgi-False] PASSED [ 55%] tests/test_middleware.py::TestShortCircuiting::test_process_request_cached[wsgi-True] PASSED [ 55%] tests/test_middleware.py::TestShortCircuiting::test_process_request_cached[wsgi-False] PASSED [ 55%] tests/test_middleware.py::TestShortCircuiting::test_process_resource_cached[asgi-True] PASSED [ 55%] tests/test_middleware.py::TestShortCircuiting::test_process_resource_cached[asgi-False] PASSED [ 55%] tests/test_middleware.py::TestShortCircuiting::test_process_resource_cached[wsgi-True] PASSED [ 55%] tests/test_middleware.py::TestShortCircuiting::test_process_resource_cached[wsgi-False] PASSED [ 55%] tests/test_middleware.py::TestCORSMiddlewareWithAnotherMiddleware::test_api_initialization_with_cors_enabled_and_middleware_param[asgi-mw0-True] PASSED [ 55%] tests/test_middleware.py::TestCORSMiddlewareWithAnotherMiddleware::test_api_initialization_with_cors_enabled_and_middleware_param[asgi-mw1-True] PASSED [ 55%] tests/test_middleware.py::TestCORSMiddlewareWithAnotherMiddleware::test_api_initialization_with_cors_enabled_and_middleware_param[asgi-mw2-True] PASSED [ 55%] tests/test_middleware.py::TestCORSMiddlewareWithAnotherMiddleware::test_api_initialization_with_cors_enabled_and_middleware_param[asgi-mw3-True] PASSED [ 55%] tests/test_middleware.py::TestCORSMiddlewareWithAnotherMiddleware::test_api_initialization_with_cors_enabled_and_middleware_param[asgi-mw4-False] PASSED [ 55%] tests/test_middleware.py::TestCORSMiddlewareWithAnotherMiddleware::test_api_initialization_with_cors_enabled_and_middleware_param[asgi-mw5-False] PASSED [ 55%] tests/test_middleware.py::TestCORSMiddlewareWithAnotherMiddleware::test_api_initialization_with_cors_enabled_and_middleware_param[wsgi-mw0-True] PASSED [ 55%] tests/test_middleware.py::TestCORSMiddlewareWithAnotherMiddleware::test_api_initialization_with_cors_enabled_and_middleware_param[wsgi-mw1-True] PASSED [ 55%] tests/test_middleware.py::TestCORSMiddlewareWithAnotherMiddleware::test_api_initialization_with_cors_enabled_and_middleware_param[wsgi-mw2-True] PASSED [ 55%] tests/test_middleware.py::TestCORSMiddlewareWithAnotherMiddleware::test_api_initialization_with_cors_enabled_and_middleware_param[wsgi-mw3-True] PASSED [ 55%] tests/test_middleware.py::TestCORSMiddlewareWithAnotherMiddleware::test_api_initialization_with_cors_enabled_and_middleware_param[wsgi-mw4-False] PASSED [ 55%] tests/test_middleware.py::TestCORSMiddlewareWithAnotherMiddleware::test_api_initialization_with_cors_enabled_and_middleware_param[wsgi-mw5-False] PASSED [ 55%] tests/test_middleware.py::test_async_postfix_method_must_be_coroutine SKIPPED [ 55%] tests/test_options.py::TestRequestOptions::test_option_defaults PASSED [ 55%] tests/test_options.py::TestRequestOptions::test_options_toggle[keep_blank_qs_values] PASSED [ 55%] tests/test_options.py::TestRequestOptions::test_options_toggle[auto_parse_form_urlencoded] PASSED [ 55%] tests/test_options.py::TestRequestOptions::test_options_toggle[auto_parse_qs_csv] PASSED [ 55%] tests/test_options.py::TestRequestOptions::test_options_toggle[strip_url_path_trailing_slash] PASSED [ 55%] tests/test_options.py::TestRequestOptions::test_incorrect_options PASSED [ 55%] tests/test_python_version_requirements.py::test_asgi PASSED [ 55%] tests/test_query_params.py::TestQueryParams::test_none[simulate_request_get_query_params-asgi] PASSED [ 55%] tests/test_query_params.py::TestQueryParams::test_none[simulate_request_get_query_params-wsgi] PASSED [ 55%] tests/test_query_params.py::TestQueryParams::test_default[simulate_request_get_query_params-asgi] PASSED [ 55%] tests/test_query_params.py::TestQueryParams::test_default[simulate_request_get_query_params-wsgi] PASSED [ 55%] tests/test_query_params.py::TestQueryParams::test_blank[simulate_request_get_query_params-asgi] PASSED [ 55%] tests/test_query_params.py::TestQueryParams::test_blank[simulate_request_get_query_params-wsgi] PASSED [ 55%] tests/test_query_params.py::TestQueryParams::test_simple[simulate_request_get_query_params-asgi] PASSED [ 55%] tests/test_query_params.py::TestQueryParams::test_simple[simulate_request_get_query_params-wsgi] PASSED [ 55%] tests/test_query_params.py::TestQueryParams::test_percent_encoded[simulate_request_get_query_params-asgi] PASSED [ 55%] tests/test_query_params.py::TestQueryParams::test_percent_encoded[simulate_request_get_query_params-wsgi] PASSED [ 55%] tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_simple_false[simulate_request_get_query_params-asgi] PASSED [ 55%] tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_simple_false[simulate_request_get_query_params-wsgi] PASSED [ 55%] tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_simple_true[simulate_request_get_query_params-asgi] PASSED [ 56%] tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_simple_true[simulate_request_get_query_params-wsgi] PASSED [ 56%] tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_multiple_fields_false[simulate_request_get_query_params-asgi] PASSED [ 56%] tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_multiple_fields_false[simulate_request_get_query_params-wsgi] PASSED [ 56%] 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 [ 56%] 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 [ 56%] 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 [ 56%] 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 [ 56%] 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 [ 56%] 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 [ 56%] 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 [ 56%] 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 [ 56%] 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 [ 56%] 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 [ 56%] 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 [ 56%] 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 [ 56%] 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 [ 56%] 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 [ 56%] 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 [ 56%] 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 [ 56%] 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 [ 56%] 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 [ 56%] tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_complex_false[simulate_request_get_query_params-asgi] PASSED [ 56%] tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_complex_false[simulate_request_get_query_params-wsgi] PASSED [ 56%] tests/test_query_params.py::TestQueryParams::test_default_auto_parse_csv_behaviour[simulate_request_get_query_params-asgi] PASSED [ 56%] tests/test_query_params.py::TestQueryParams::test_default_auto_parse_csv_behaviour[simulate_request_get_query_params-wsgi] PASSED [ 56%] tests/test_query_params.py::TestQueryParams::test_bad_percentage[simulate_request_get_query_params-asgi] PASSED [ 56%] tests/test_query_params.py::TestQueryParams::test_bad_percentage[simulate_request_get_query_params-wsgi] PASSED [ 56%] tests/test_query_params.py::TestQueryParams::test_allowed_names[simulate_request_get_query_params-asgi] PASSED [ 56%] tests/test_query_params.py::TestQueryParams::test_allowed_names[simulate_request_get_query_params-wsgi] PASSED [ 56%] tests/test_query_params.py::TestQueryParams::test_required[simulate_request_get_query_params-asgi-get_param] PASSED [ 56%] tests/test_query_params.py::TestQueryParams::test_required[simulate_request_get_query_params-asgi-get_param_as_int] PASSED [ 56%] tests/test_query_params.py::TestQueryParams::test_required[simulate_request_get_query_params-asgi-get_param_as_float] PASSED [ 56%] tests/test_query_params.py::TestQueryParams::test_required[simulate_request_get_query_params-asgi-get_param_as_uuid] PASSED [ 56%] tests/test_query_params.py::TestQueryParams::test_required[simulate_request_get_query_params-asgi-get_param_as_bool] PASSED [ 56%] tests/test_query_params.py::TestQueryParams::test_required[simulate_request_get_query_params-asgi-get_param_as_list] PASSED [ 56%] tests/test_query_params.py::TestQueryParams::test_required[simulate_request_get_query_params-wsgi-get_param] PASSED [ 56%] tests/test_query_params.py::TestQueryParams::test_required[simulate_request_get_query_params-wsgi-get_param_as_int] PASSED [ 56%] tests/test_query_params.py::TestQueryParams::test_required[simulate_request_get_query_params-wsgi-get_param_as_float] PASSED [ 56%] tests/test_query_params.py::TestQueryParams::test_required[simulate_request_get_query_params-wsgi-get_param_as_uuid] PASSED [ 56%] tests/test_query_params.py::TestQueryParams::test_required[simulate_request_get_query_params-wsgi-get_param_as_bool] PASSED [ 57%] tests/test_query_params.py::TestQueryParams::test_required[simulate_request_get_query_params-wsgi-get_param_as_list] PASSED [ 57%] tests/test_query_params.py::TestQueryParams::test_int[simulate_request_get_query_params-asgi] PASSED [ 57%] tests/test_query_params.py::TestQueryParams::test_int[simulate_request_get_query_params-wsgi] PASSED [ 57%] tests/test_query_params.py::TestQueryParams::test_int_neg[simulate_request_get_query_params-asgi] PASSED [ 57%] tests/test_query_params.py::TestQueryParams::test_int_neg[simulate_request_get_query_params-wsgi] PASSED [ 57%] tests/test_query_params.py::TestQueryParams::test_float[simulate_request_get_query_params-asgi] PASSED [ 57%] tests/test_query_params.py::TestQueryParams::test_float[simulate_request_get_query_params-wsgi] PASSED [ 57%] tests/test_query_params.py::TestQueryParams::test_float_neg[simulate_request_get_query_params-asgi] PASSED [ 57%] tests/test_query_params.py::TestQueryParams::test_float_neg[simulate_request_get_query_params-wsgi] PASSED [ 57%] tests/test_query_params.py::TestQueryParams::test_uuid[simulate_request_get_query_params-asgi] PASSED [ 57%] tests/test_query_params.py::TestQueryParams::test_uuid[simulate_request_get_query_params-wsgi] PASSED [ 57%] tests/test_query_params.py::TestQueryParams::test_boolean[simulate_request_get_query_params-asgi] PASSED [ 57%] tests/test_query_params.py::TestQueryParams::test_boolean[simulate_request_get_query_params-wsgi] PASSED [ 57%] tests/test_query_params.py::TestQueryParams::test_boolean_blank[simulate_request_get_query_params-asgi] PASSED [ 57%] tests/test_query_params.py::TestQueryParams::test_boolean_blank[simulate_request_get_query_params-wsgi] PASSED [ 57%] tests/test_query_params.py::TestQueryParams::test_list_type[simulate_request_get_query_params-asgi] PASSED [ 57%] tests/test_query_params.py::TestQueryParams::test_list_type[simulate_request_get_query_params-wsgi] PASSED [ 57%] tests/test_query_params.py::TestQueryParams::test_list_type_blank[simulate_request_get_query_params-asgi] PASSED [ 57%] tests/test_query_params.py::TestQueryParams::test_list_type_blank[simulate_request_get_query_params-wsgi] PASSED [ 57%] tests/test_query_params.py::TestQueryParams::test_list_transformer[simulate_request_get_query_params-asgi] PASSED [ 57%] tests/test_query_params.py::TestQueryParams::test_list_transformer[simulate_request_get_query_params-wsgi] PASSED [ 57%] tests/test_query_params.py::TestQueryParams::test_param_property[simulate_request_get_query_params-asgi] PASSED [ 57%] tests/test_query_params.py::TestQueryParams::test_param_property[simulate_request_get_query_params-wsgi] PASSED [ 57%] tests/test_query_params.py::TestQueryParams::test_multiple_form_keys[simulate_request_get_query_params-asgi] PASSED [ 57%] tests/test_query_params.py::TestQueryParams::test_multiple_form_keys[simulate_request_get_query_params-wsgi] PASSED [ 57%] tests/test_query_params.py::TestQueryParams::test_multiple_keys_as_bool[simulate_request_get_query_params-asgi] PASSED [ 57%] tests/test_query_params.py::TestQueryParams::test_multiple_keys_as_bool[simulate_request_get_query_params-wsgi] PASSED [ 57%] tests/test_query_params.py::TestQueryParams::test_multiple_keys_as_int[simulate_request_get_query_params-asgi] PASSED [ 57%] tests/test_query_params.py::TestQueryParams::test_multiple_keys_as_int[simulate_request_get_query_params-wsgi] PASSED [ 57%] tests/test_query_params.py::TestQueryParams::test_multiple_keys_as_float[simulate_request_get_query_params-asgi] PASSED [ 57%] tests/test_query_params.py::TestQueryParams::test_multiple_keys_as_float[simulate_request_get_query_params-wsgi] PASSED [ 57%] tests/test_query_params.py::TestQueryParams::test_multiple_form_keys_as_list[simulate_request_get_query_params-asgi] PASSED [ 57%] tests/test_query_params.py::TestQueryParams::test_multiple_form_keys_as_list[simulate_request_get_query_params-wsgi] PASSED [ 57%] tests/test_query_params.py::TestQueryParams::test_get_date_valid[simulate_request_get_query_params-asgi] PASSED [ 57%] tests/test_query_params.py::TestQueryParams::test_get_date_valid[simulate_request_get_query_params-wsgi] PASSED [ 57%] tests/test_query_params.py::TestQueryParams::test_get_date_missing_param[simulate_request_get_query_params-asgi] PASSED [ 57%] tests/test_query_params.py::TestQueryParams::test_get_date_missing_param[simulate_request_get_query_params-wsgi] PASSED [ 57%] tests/test_query_params.py::TestQueryParams::test_get_date_valid_with_format[simulate_request_get_query_params-asgi] PASSED [ 57%] tests/test_query_params.py::TestQueryParams::test_get_date_valid_with_format[simulate_request_get_query_params-wsgi] PASSED [ 57%] tests/test_query_params.py::TestQueryParams::test_get_date_store[simulate_request_get_query_params-asgi] PASSED [ 57%] tests/test_query_params.py::TestQueryParams::test_get_date_store[simulate_request_get_query_params-wsgi] PASSED [ 58%] tests/test_query_params.py::TestQueryParams::test_get_date_invalid[simulate_request_get_query_params-asgi] PASSED [ 58%] tests/test_query_params.py::TestQueryParams::test_get_date_invalid[simulate_request_get_query_params-wsgi] PASSED [ 58%] tests/test_query_params.py::TestQueryParams::test_get_datetime_valid[simulate_request_get_query_params-asgi] PASSED [ 58%] tests/test_query_params.py::TestQueryParams::test_get_datetime_valid[simulate_request_get_query_params-wsgi] PASSED [ 58%] tests/test_query_params.py::TestQueryParams::test_get_datetime_missing_param[simulate_request_get_query_params-asgi] PASSED [ 58%] tests/test_query_params.py::TestQueryParams::test_get_datetime_missing_param[simulate_request_get_query_params-wsgi] PASSED [ 58%] tests/test_query_params.py::TestQueryParams::test_get_datetime_valid_with_format[simulate_request_get_query_params-asgi-%Y%m%d %H:%M:%S-20150420 10:10:10-expected0] PASSED [ 58%] tests/test_query_params.py::TestQueryParams::test_get_datetime_valid_with_format[simulate_request_get_query_params-asgi-%Y-%m-%dT%H:%M:%SZ-2015-04-20T10:10:10Z-expected1] PASSED [ 58%] tests/test_query_params.py::TestQueryParams::test_get_datetime_valid_with_format[simulate_request_get_query_params-asgi-%Y%m%dT%H:%M:%S.%fZ-20150420T10:10:10.133701Z-expected2] PASSED [ 58%] tests/test_query_params.py::TestQueryParams::test_get_datetime_valid_with_format[simulate_request_get_query_params-wsgi-%Y%m%d %H:%M:%S-20150420 10:10:10-expected0] PASSED [ 58%] tests/test_query_params.py::TestQueryParams::test_get_datetime_valid_with_format[simulate_request_get_query_params-wsgi-%Y-%m-%dT%H:%M:%SZ-2015-04-20T10:10:10Z-expected1] PASSED [ 58%] tests/test_query_params.py::TestQueryParams::test_get_datetime_valid_with_format[simulate_request_get_query_params-wsgi-%Y%m%dT%H:%M:%S.%fZ-20150420T10:10:10.133701Z-expected2] PASSED [ 58%] tests/test_query_params.py::TestQueryParams::test_get_datetime_store[simulate_request_get_query_params-asgi] PASSED [ 58%] tests/test_query_params.py::TestQueryParams::test_get_datetime_store[simulate_request_get_query_params-wsgi] PASSED [ 58%] tests/test_query_params.py::TestQueryParams::test_get_datetime_invalid[simulate_request_get_query_params-asgi] PASSED [ 58%] tests/test_query_params.py::TestQueryParams::test_get_datetime_invalid[simulate_request_get_query_params-wsgi] PASSED [ 58%] tests/test_query_params.py::TestQueryParams::test_get_dict_valid[simulate_request_get_query_params-asgi] PASSED [ 58%] tests/test_query_params.py::TestQueryParams::test_get_dict_valid[simulate_request_get_query_params-wsgi] PASSED [ 58%] tests/test_query_params.py::TestQueryParams::test_get_dict_missing_param[simulate_request_get_query_params-asgi] PASSED [ 58%] tests/test_query_params.py::TestQueryParams::test_get_dict_missing_param[simulate_request_get_query_params-wsgi] PASSED [ 58%] tests/test_query_params.py::TestQueryParams::test_get_dict_store[simulate_request_get_query_params-asgi] PASSED [ 58%] tests/test_query_params.py::TestQueryParams::test_get_dict_store[simulate_request_get_query_params-wsgi] PASSED [ 58%] tests/test_query_params.py::TestQueryParams::test_get_dict_invalid[simulate_request_get_query_params-asgi] PASSED [ 58%] tests/test_query_params.py::TestQueryParams::test_get_dict_invalid[simulate_request_get_query_params-wsgi] PASSED [ 58%] tests/test_query_params.py::TestQueryParams::test_has_param[simulate_request_get_query_params-asgi] PASSED [ 58%] tests/test_query_params.py::TestQueryParams::test_has_param[simulate_request_get_query_params-wsgi] PASSED [ 58%] tests/test_query_params.py::TestQueryParams::test_none[simulate_request_post_query_params-asgi] SKIPPEDm_urlencoded) [ 58%] tests/test_query_params.py::TestQueryParams::test_none[simulate_request_post_query_params-wsgi] PASSED [ 58%] tests/test_query_params.py::TestQueryParams::test_default[simulate_request_post_query_params-asgi] SKIPPEDm_urlencoded) [ 58%] tests/test_query_params.py::TestQueryParams::test_default[simulate_request_post_query_params-wsgi] PASSED [ 58%] tests/test_query_params.py::TestQueryParams::test_blank[simulate_request_post_query_params-asgi] SKIPPEDm_urlencoded) [ 58%] tests/test_query_params.py::TestQueryParams::test_blank[simulate_request_post_query_params-wsgi] PASSED [ 58%] tests/test_query_params.py::TestQueryParams::test_simple[simulate_request_post_query_params-asgi] SKIPPEDm_urlencoded) [ 58%] tests/test_query_params.py::TestQueryParams::test_simple[simulate_request_post_query_params-wsgi] PASSED [ 58%] tests/test_query_params.py::TestQueryParams::test_percent_encoded[simulate_request_post_query_params-asgi] SKIPPEDm_urlencoded) [ 58%] tests/test_query_params.py::TestQueryParams::test_percent_encoded[simulate_request_post_query_params-wsgi] PASSED [ 58%] tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_simple_false[simulate_request_post_query_params-asgi] SKIPPEDm_urlencoded) [ 58%] tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_simple_false[simulate_request_post_query_params-wsgi] PASSED [ 58%] tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_simple_true[simulate_request_post_query_params-asgi] SKIPPEDm_urlencoded) [ 58%] tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_simple_true[simulate_request_post_query_params-wsgi] PASSED [ 58%] tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_multiple_fields_false[simulate_request_post_query_params-asgi] SKIPPED [ 59%] tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_multiple_fields_false[simulate_request_post_query_params-wsgi] PASSED [ 59%] 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 [ 59%] 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 [ 59%] 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 [ 59%] 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 [ 59%] 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 [ 59%] 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 [ 59%] 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 [ 59%] 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 [ 59%] 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 [ 59%] 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 [ 59%] 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 [ 59%] 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 [ 59%] 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 [ 59%] 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 [ 59%] 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 [ 59%] 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 [ 59%] 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 [ 59%] 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 [ 59%] tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_complex_false[simulate_request_post_query_params-asgi] SKIPPEDm_urlencoded) [ 59%] tests/test_query_params.py::TestQueryParams::test_option_auto_parse_qs_csv_complex_false[simulate_request_post_query_params-wsgi] PASSED [ 59%] tests/test_query_params.py::TestQueryParams::test_default_auto_parse_csv_behaviour[simulate_request_post_query_params-asgi] SKIPPEDm_urlencoded) [ 59%] tests/test_query_params.py::TestQueryParams::test_default_auto_parse_csv_behaviour[simulate_request_post_query_params-wsgi] PASSED [ 59%] tests/test_query_params.py::TestQueryParams::test_bad_percentage[simulate_request_post_query_params-asgi] SKIPPEDm_urlencoded) [ 59%] tests/test_query_params.py::TestQueryParams::test_bad_percentage[simulate_request_post_query_params-wsgi] PASSED [ 59%] tests/test_query_params.py::TestQueryParams::test_allowed_names[simulate_request_post_query_params-asgi] SKIPPEDm_urlencoded) [ 59%] tests/test_query_params.py::TestQueryParams::test_allowed_names[simulate_request_post_query_params-wsgi] PASSED [ 59%] tests/test_query_params.py::TestQueryParams::test_required[simulate_request_post_query_params-asgi-get_param] SKIPPEDm_urlencoded) [ 59%] tests/test_query_params.py::TestQueryParams::test_required[simulate_request_post_query_params-asgi-get_param_as_int] SKIPPEDm_urlencoded) [ 59%] tests/test_query_params.py::TestQueryParams::test_required[simulate_request_post_query_params-asgi-get_param_as_float] SKIPPEDm_urlencoded) [ 59%] tests/test_query_params.py::TestQueryParams::test_required[simulate_request_post_query_params-asgi-get_param_as_uuid] SKIPPEDm_urlencoded) [ 59%] tests/test_query_params.py::TestQueryParams::test_required[simulate_request_post_query_params-asgi-get_param_as_bool] SKIPPEDm_urlencoded) [ 59%] tests/test_query_params.py::TestQueryParams::test_required[simulate_request_post_query_params-asgi-get_param_as_list] SKIPPEDm_urlencoded) [ 59%] tests/test_query_params.py::TestQueryParams::test_required[simulate_request_post_query_params-wsgi-get_param] PASSED [ 59%] tests/test_query_params.py::TestQueryParams::test_required[simulate_request_post_query_params-wsgi-get_param_as_int] PASSED [ 59%] tests/test_query_params.py::TestQueryParams::test_required[simulate_request_post_query_params-wsgi-get_param_as_float] PASSED [ 59%] tests/test_query_params.py::TestQueryParams::test_required[simulate_request_post_query_params-wsgi-get_param_as_uuid] PASSED [ 59%] tests/test_query_params.py::TestQueryParams::test_required[simulate_request_post_query_params-wsgi-get_param_as_bool] PASSED [ 59%] tests/test_query_params.py::TestQueryParams::test_required[simulate_request_post_query_params-wsgi-get_param_as_list] PASSED [ 59%] tests/test_query_params.py::TestQueryParams::test_int[simulate_request_post_query_params-asgi] SKIPPEDm_urlencoded) [ 60%] tests/test_query_params.py::TestQueryParams::test_int[simulate_request_post_query_params-wsgi] PASSED [ 60%] tests/test_query_params.py::TestQueryParams::test_int_neg[simulate_request_post_query_params-asgi] SKIPPEDm_urlencoded) [ 60%] tests/test_query_params.py::TestQueryParams::test_int_neg[simulate_request_post_query_params-wsgi] PASSED [ 60%] tests/test_query_params.py::TestQueryParams::test_float[simulate_request_post_query_params-asgi] SKIPPEDm_urlencoded) [ 60%] tests/test_query_params.py::TestQueryParams::test_float[simulate_request_post_query_params-wsgi] PASSED [ 60%] tests/test_query_params.py::TestQueryParams::test_float_neg[simulate_request_post_query_params-asgi] SKIPPEDm_urlencoded) [ 60%] tests/test_query_params.py::TestQueryParams::test_float_neg[simulate_request_post_query_params-wsgi] PASSED [ 60%] tests/test_query_params.py::TestQueryParams::test_uuid[simulate_request_post_query_params-asgi] SKIPPEDm_urlencoded) [ 60%] tests/test_query_params.py::TestQueryParams::test_uuid[simulate_request_post_query_params-wsgi] PASSED [ 60%] tests/test_query_params.py::TestQueryParams::test_boolean[simulate_request_post_query_params-asgi] SKIPPEDm_urlencoded) [ 60%] tests/test_query_params.py::TestQueryParams::test_boolean[simulate_request_post_query_params-wsgi] PASSED [ 60%] tests/test_query_params.py::TestQueryParams::test_boolean_blank[simulate_request_post_query_params-asgi] SKIPPEDm_urlencoded) [ 60%] tests/test_query_params.py::TestQueryParams::test_boolean_blank[simulate_request_post_query_params-wsgi] PASSED [ 60%] tests/test_query_params.py::TestQueryParams::test_list_type[simulate_request_post_query_params-asgi] SKIPPEDm_urlencoded) [ 60%] tests/test_query_params.py::TestQueryParams::test_list_type[simulate_request_post_query_params-wsgi] PASSED [ 60%] tests/test_query_params.py::TestQueryParams::test_list_type_blank[simulate_request_post_query_params-asgi] SKIPPEDm_urlencoded) [ 60%] tests/test_query_params.py::TestQueryParams::test_list_type_blank[simulate_request_post_query_params-wsgi] PASSED [ 60%] tests/test_query_params.py::TestQueryParams::test_list_transformer[simulate_request_post_query_params-asgi] SKIPPEDm_urlencoded) [ 60%] tests/test_query_params.py::TestQueryParams::test_list_transformer[simulate_request_post_query_params-wsgi] PASSED [ 60%] tests/test_query_params.py::TestQueryParams::test_param_property[simulate_request_post_query_params-asgi] SKIPPEDm_urlencoded) [ 60%] tests/test_query_params.py::TestQueryParams::test_param_property[simulate_request_post_query_params-wsgi] PASSED [ 60%] tests/test_query_params.py::TestQueryParams::test_multiple_form_keys[simulate_request_post_query_params-asgi] SKIPPEDm_urlencoded) [ 60%] tests/test_query_params.py::TestQueryParams::test_multiple_form_keys[simulate_request_post_query_params-wsgi] PASSED [ 60%] tests/test_query_params.py::TestQueryParams::test_multiple_keys_as_bool[simulate_request_post_query_params-asgi] SKIPPEDm_urlencoded) [ 60%] tests/test_query_params.py::TestQueryParams::test_multiple_keys_as_bool[simulate_request_post_query_params-wsgi] PASSED [ 60%] tests/test_query_params.py::TestQueryParams::test_multiple_keys_as_int[simulate_request_post_query_params-asgi] SKIPPEDm_urlencoded) [ 60%] tests/test_query_params.py::TestQueryParams::test_multiple_keys_as_int[simulate_request_post_query_params-wsgi] PASSED [ 60%] tests/test_query_params.py::TestQueryParams::test_multiple_keys_as_float[simulate_request_post_query_params-asgi] SKIPPEDm_urlencoded) [ 60%] tests/test_query_params.py::TestQueryParams::test_multiple_keys_as_float[simulate_request_post_query_params-wsgi] PASSED [ 60%] tests/test_query_params.py::TestQueryParams::test_multiple_form_keys_as_list[simulate_request_post_query_params-asgi] SKIPPEDm_urlencoded) [ 60%] tests/test_query_params.py::TestQueryParams::test_multiple_form_keys_as_list[simulate_request_post_query_params-wsgi] PASSED [ 60%] tests/test_query_params.py::TestQueryParams::test_get_date_valid[simulate_request_post_query_params-asgi] SKIPPEDm_urlencoded) [ 60%] tests/test_query_params.py::TestQueryParams::test_get_date_valid[simulate_request_post_query_params-wsgi] PASSED [ 60%] tests/test_query_params.py::TestQueryParams::test_get_date_missing_param[simulate_request_post_query_params-asgi] SKIPPEDm_urlencoded) [ 60%] tests/test_query_params.py::TestQueryParams::test_get_date_missing_param[simulate_request_post_query_params-wsgi] PASSED [ 60%] tests/test_query_params.py::TestQueryParams::test_get_date_valid_with_format[simulate_request_post_query_params-asgi] SKIPPEDm_urlencoded) [ 60%] tests/test_query_params.py::TestQueryParams::test_get_date_valid_with_format[simulate_request_post_query_params-wsgi] PASSED [ 60%] tests/test_query_params.py::TestQueryParams::test_get_date_store[simulate_request_post_query_params-asgi] SKIPPEDm_urlencoded) [ 60%] 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] SKIPPEDm_urlencoded) [ 60%] tests/test_query_params.py::TestQueryParams::test_get_date_invalid[simulate_request_post_query_params-wsgi] PASSED [ 61%] tests/test_query_params.py::TestQueryParams::test_get_datetime_valid[simulate_request_post_query_params-asgi] SKIPPEDm_urlencoded) [ 61%] tests/test_query_params.py::TestQueryParams::test_get_datetime_valid[simulate_request_post_query_params-wsgi] PASSED [ 61%] tests/test_query_params.py::TestQueryParams::test_get_datetime_missing_param[simulate_request_post_query_params-asgi] SKIPPEDm_urlencoded) [ 61%] tests/test_query_params.py::TestQueryParams::test_get_datetime_missing_param[simulate_request_post_query_params-wsgi] PASSED [ 61%] tests/test_query_params.py::TestQueryParams::test_get_datetime_valid_with_format[simulate_request_post_query_params-asgi-%Y%m%d %H:%M:%S-20150420 10:10:10-expected0] SKIPPED [ 61%] tests/test_query_params.py::TestQueryParams::test_get_datetime_valid_with_format[simulate_request_post_query_params-asgi-%Y-%m-%dT%H:%M:%SZ-2015-04-20T10:10:10Z-expected1] SKIPPED [ 61%] tests/test_query_params.py::TestQueryParams::test_get_datetime_valid_with_format[simulate_request_post_query_params-asgi-%Y%m%dT%H:%M:%S.%fZ-20150420T10:10:10.133701Z-expected2] SKIPPED [ 61%] tests/test_query_params.py::TestQueryParams::test_get_datetime_valid_with_format[simulate_request_post_query_params-wsgi-%Y%m%d %H:%M:%S-20150420 10:10:10-expected0] PASSED [ 61%] tests/test_query_params.py::TestQueryParams::test_get_datetime_valid_with_format[simulate_request_post_query_params-wsgi-%Y-%m-%dT%H:%M:%SZ-2015-04-20T10:10:10Z-expected1] PASSED [ 61%] tests/test_query_params.py::TestQueryParams::test_get_datetime_valid_with_format[simulate_request_post_query_params-wsgi-%Y%m%dT%H:%M:%S.%fZ-20150420T10:10:10.133701Z-expected2] PASSED [ 61%] tests/test_query_params.py::TestQueryParams::test_get_datetime_store[simulate_request_post_query_params-asgi] SKIPPEDm_urlencoded) [ 61%] tests/test_query_params.py::TestQueryParams::test_get_datetime_store[simulate_request_post_query_params-wsgi] PASSED [ 61%] tests/test_query_params.py::TestQueryParams::test_get_datetime_invalid[simulate_request_post_query_params-asgi] SKIPPEDm_urlencoded) [ 61%] tests/test_query_params.py::TestQueryParams::test_get_datetime_invalid[simulate_request_post_query_params-wsgi] PASSED [ 61%] tests/test_query_params.py::TestQueryParams::test_get_dict_valid[simulate_request_post_query_params-asgi] SKIPPEDm_urlencoded) [ 61%] tests/test_query_params.py::TestQueryParams::test_get_dict_valid[simulate_request_post_query_params-wsgi] PASSED [ 61%] tests/test_query_params.py::TestQueryParams::test_get_dict_missing_param[simulate_request_post_query_params-asgi] SKIPPEDm_urlencoded) [ 61%] tests/test_query_params.py::TestQueryParams::test_get_dict_missing_param[simulate_request_post_query_params-wsgi] PASSED [ 61%] tests/test_query_params.py::TestQueryParams::test_get_dict_store[simulate_request_post_query_params-asgi] SKIPPEDm_urlencoded) [ 61%] tests/test_query_params.py::TestQueryParams::test_get_dict_store[simulate_request_post_query_params-wsgi] PASSED [ 61%] tests/test_query_params.py::TestQueryParams::test_get_dict_invalid[simulate_request_post_query_params-asgi] SKIPPEDm_urlencoded) [ 61%] tests/test_query_params.py::TestQueryParams::test_get_dict_invalid[simulate_request_post_query_params-wsgi] PASSED [ 61%] tests/test_query_params.py::TestQueryParams::test_has_param[simulate_request_post_query_params-asgi] SKIPPEDm_urlencoded) [ 61%] tests/test_query_params.py::TestQueryParams::test_has_param[simulate_request_post_query_params-wsgi] PASSED [ 61%] tests/test_query_params.py::TestQueryParams::test_get_param_as_json_handler_json[asgi] PASSED [ 61%] tests/test_query_params.py::TestQueryParams::test_get_param_as_json_handler_json[wsgi] PASSED [ 61%] tests/test_query_params.py::TestQueryParams::test_get_param_as_json_no_handler_json[asgi] PASSED [ 61%] tests/test_query_params.py::TestQueryParams::test_get_param_as_json_no_handler_json[wsgi] PASSED [ 61%] tests/test_query_params.py::TestPostQueryParams::test_http_methods_body_expected[asgi-POST] SKIPPEDm_urlencoded) [ 61%] tests/test_query_params.py::TestPostQueryParams::test_http_methods_body_expected[asgi-PUT] SKIPPEDm_urlencoded) [ 61%] tests/test_query_params.py::TestPostQueryParams::test_http_methods_body_expected[asgi-PATCH] SKIPPEDm_urlencoded) [ 61%] tests/test_query_params.py::TestPostQueryParams::test_http_methods_body_expected[asgi-DELETE] SKIPPEDm_urlencoded) [ 61%] tests/test_query_params.py::TestPostQueryParams::test_http_methods_body_expected[asgi-OPTIONS] SKIPPEDm_urlencoded) [ 61%] tests/test_query_params.py::TestPostQueryParams::test_http_methods_body_expected[wsgi-POST] PASSED [ 61%] 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] SKIPPEDm_urlencoded) [ 61%] tests/test_query_params.py::TestPostQueryParams::test_http_methods_body_not_expected[asgi-HEAD] SKIPPEDm_urlencoded) [ 61%] tests/test_query_params.py::TestPostQueryParams::test_http_methods_body_not_expected[wsgi-GET] PASSED [ 62%] tests/test_query_params.py::TestPostQueryParams::test_http_methods_body_not_expected[wsgi-HEAD] PASSED [ 62%] tests/test_query_params.py::TestPostQueryParams::test_non_ascii[asgi] SKIPPEDm_urlencoded) [ 62%] tests/test_query_params.py::TestPostQueryParams::test_non_ascii[wsgi] PASSED [ 62%] tests/test_query_params.py::TestPostQueryParams::test_empty_body[asgi] SKIPPEDm_urlencoded) [ 62%] tests/test_query_params.py::TestPostQueryParams::test_empty_body[wsgi] PASSED [ 62%] tests/test_query_params.py::TestPostQueryParams::test_empty_body_no_content_length[asgi] SKIPPEDm_urlencoded) [ 62%] tests/test_query_params.py::TestPostQueryParams::test_empty_body_no_content_length[wsgi] PASSED [ 62%] tests/test_query_params.py::TestPostQueryParams::test_explicitly_disable_auto_parse[asgi] SKIPPEDm_urlencoded) [ 62%] tests/test_query_params.py::TestPostQueryParams::test_explicitly_disable_auto_parse[wsgi] PASSED [ 62%] tests/test_query_params.py::TestPostQueryParams::test_asgi_raises_error PASSED [ 62%] tests/test_query_params.py::TestPostQueryParamsDefaultBehavior::test_dont_auto_parse_by_default[asgi] PASSED [ 62%] tests/test_query_params.py::TestPostQueryParamsDefaultBehavior::test_dont_auto_parse_by_default[wsgi] PASSED [ 62%] tests/test_recipes.py::TestMultipartMixed::test_parse PASSED [ 62%] tests/test_recipes.py::TestOutputCSV::test_csv_output[asgi-simple] PASSED [ 62%] tests/test_recipes.py::TestOutputCSV::test_csv_output[asgi-stream] PASSED [ 62%] tests/test_recipes.py::TestOutputCSV::test_csv_output[wsgi-simple] PASSED [ 62%] tests/test_recipes.py::TestOutputCSV::test_csv_output[wsgi-stream] PASSED [ 62%] tests/test_recipes.py::TestPrettyJSON::test_optional_indent PASSED [ 62%] tests/test_recipes.py::TestRawURLPath::test_raw_path[asgi] PASSED [ 62%] tests/test_recipes.py::TestRawURLPath::test_raw_path[wsgi] PASSED [ 62%] tests/test_redirects.py::TestRedirects::test_redirect[asgi-GET-301 Moved Permanently-/moved/perm] PASSED [ 62%] tests/test_redirects.py::TestRedirects::test_redirect[asgi-POST-302 Found-/found] PASSED [ 62%] tests/test_redirects.py::TestRedirects::test_redirect[asgi-PUT-303 See Other-/see/other] PASSED [ 62%] tests/test_redirects.py::TestRedirects::test_redirect[asgi-DELETE-307 Temporary Redirect-/tmp/redirect] PASSED [ 62%] tests/test_redirects.py::TestRedirects::test_redirect[asgi-HEAD-308 Permanent Redirect-/perm/redirect] PASSED [ 62%] tests/test_redirects.py::TestRedirects::test_redirect[wsgi-GET-301 Moved Permanently-/moved/perm] PASSED [ 62%] tests/test_redirects.py::TestRedirects::test_redirect[wsgi-POST-302 Found-/found] PASSED [ 62%] tests/test_redirects.py::TestRedirects::test_redirect[wsgi-PUT-303 See Other-/see/other] PASSED [ 62%] tests/test_redirects.py::TestRedirects::test_redirect[wsgi-DELETE-307 Temporary Redirect-/tmp/redirect] PASSED [ 62%] tests/test_redirects.py::TestRedirects::test_redirect[wsgi-HEAD-308 Permanent Redirect-/perm/redirect] PASSED [ 62%] tests/test_redirects.py::TestRedirects::test_redirect_with_headers[asgi-GET-301 Moved Permanently-/moved/perm] PASSED [ 62%] tests/test_redirects.py::TestRedirects::test_redirect_with_headers[asgi-POST-302 Found-/found] PASSED [ 62%] tests/test_redirects.py::TestRedirects::test_redirect_with_headers[asgi-PUT-303 See Other-/see/other] PASSED [ 62%] tests/test_redirects.py::TestRedirects::test_redirect_with_headers[asgi-DELETE-307 Temporary Redirect-/tmp/redirect] PASSED [ 62%] 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 [ 63%] tests/test_request_access_route.py::test_remote_addr_default[wsgi] PASSED [ 63%] tests/test_request_access_route.py::test_remote_addr_non_default[asgi] PASSED [ 63%] tests/test_request_access_route.py::test_remote_addr_non_default[wsgi] PASSED [ 63%] tests/test_request_access_route.py::test_remote_addr_only[asgi] PASSED [ 63%] tests/test_request_access_route.py::test_remote_addr_only[wsgi] PASSED [ 63%] tests/test_request_access_route.py::test_rfc_forwarded[asgi] PASSED [ 63%] tests/test_request_access_route.py::test_rfc_forwarded[wsgi] PASSED [ 63%] tests/test_request_access_route.py::test_malformed_rfc_forwarded[asgi] PASSED [ 63%] tests/test_request_access_route.py::test_malformed_rfc_forwarded[wsgi] PASSED [ 63%] tests/test_request_access_route.py::test_x_forwarded_for[asgi-True] PASSED [ 63%] tests/test_request_access_route.py::test_x_forwarded_for[asgi-False] PASSED [ 63%] tests/test_request_access_route.py::test_x_forwarded_for[wsgi-True] PASSED [ 63%] tests/test_request_access_route.py::test_x_forwarded_for[wsgi-False] PASSED [ 63%] tests/test_request_access_route.py::test_x_real_ip[asgi] PASSED [ 63%] tests/test_request_access_route.py::test_x_real_ip[wsgi] PASSED [ 63%] tests/test_request_access_route.py::test_remote_addr[asgi-10.0.0.1] PASSED [ 63%] tests/test_request_access_route.py::test_remote_addr[asgi-98.245.211.177] PASSED [ 63%] tests/test_request_access_route.py::test_remote_addr[wsgi-10.0.0.1] PASSED [ 63%] tests/test_request_access_route.py::test_remote_addr[wsgi-98.245.211.177] PASSED [ 63%] tests/test_request_access_route.py::test_remote_addr_missing PASSED [ 63%] tests/test_request_attrs.py::test_missing_qs PASSED [ 63%] tests/test_request_attrs.py::test_app_missing PASSED [ 63%] tests/test_request_attrs.py::TestRequestAttributes::test_empty[asgi] PASSED [ 63%] tests/test_request_attrs.py::TestRequestAttributes::test_empty[wsgi] PASSED [ 63%] tests/test_request_attrs.py::TestRequestAttributes::test_host[asgi] PASSED [ 63%] tests/test_request_attrs.py::TestRequestAttributes::test_host[wsgi] PASSED [ 63%] tests/test_request_attrs.py::TestRequestAttributes::test_subdomain[asgi] PASSED [ 63%] tests/test_request_attrs.py::TestRequestAttributes::test_subdomain[wsgi] PASSED [ 63%] tests/test_request_attrs.py::TestRequestAttributes::test_reconstruct_url[asgi] PASSED [ 63%] tests/test_request_attrs.py::TestRequestAttributes::test_reconstruct_url[wsgi] PASSED [ 63%] tests/test_request_attrs.py::TestRequestAttributes::test_nonlatin_path[asgi-/hello_\u043f\u0440\u0438\u0432\u0435\u0442] PASSED [ 63%] tests/test_request_attrs.py::TestRequestAttributes::test_nonlatin_path[asgi-/test/%E5%BB%B6%E5%AE%89] PASSED [ 63%] tests/test_request_attrs.py::TestRequestAttributes::test_nonlatin_path[asgi-/test/%C3%A4%C3%B6%C3%BC%C3%9F%E2%82%AC] PASSED [ 63%] tests/test_request_attrs.py::TestRequestAttributes::test_nonlatin_path[wsgi-/hello_\u043f\u0440\u0438\u0432\u0435\u0442] PASSED [ 63%] tests/test_request_attrs.py::TestRequestAttributes::test_nonlatin_path[wsgi-/test/%E5%BB%B6%E5%AE%89] PASSED [ 63%] tests/test_request_attrs.py::TestRequestAttributes::test_nonlatin_path[wsgi-/test/%C3%A4%C3%B6%C3%BC%C3%9F%E2%82%AC] PASSED [ 63%] tests/test_request_attrs.py::TestRequestAttributes::test_uri[asgi] PASSED [ 63%] tests/test_request_attrs.py::TestRequestAttributes::test_uri[wsgi] PASSED [ 63%] tests/test_request_attrs.py::TestRequestAttributes::test_uri_https[asgi] PASSED [ 63%] tests/test_request_attrs.py::TestRequestAttributes::test_uri_https[wsgi] PASSED [ 64%] tests/test_request_attrs.py::TestRequestAttributes::test_uri_http_1_0[asgi] PASSED [ 64%] tests/test_request_attrs.py::TestRequestAttributes::test_uri_http_1_0[wsgi] PASSED [ 64%] tests/test_request_attrs.py::TestRequestAttributes::test_relative_uri[asgi] PASSED [ 64%] tests/test_request_attrs.py::TestRequestAttributes::test_relative_uri[wsgi] PASSED [ 64%] tests/test_request_attrs.py::TestRequestAttributes::test_client_accepts[asgi] PASSED [ 64%] tests/test_request_attrs.py::TestRequestAttributes::test_client_accepts[wsgi] PASSED [ 64%] tests/test_request_attrs.py::TestRequestAttributes::test_client_accepts_bogus[asgi] PASSED [ 64%] tests/test_request_attrs.py::TestRequestAttributes::test_client_accepts_bogus[wsgi] PASSED [ 64%] tests/test_request_attrs.py::TestRequestAttributes::test_client_accepts_props[asgi] PASSED [ 64%] tests/test_request_attrs.py::TestRequestAttributes::test_client_accepts_props[wsgi] PASSED [ 64%] tests/test_request_attrs.py::TestRequestAttributes::test_client_prefers[asgi] PASSED [ 64%] tests/test_request_attrs.py::TestRequestAttributes::test_client_prefers[wsgi] PASSED [ 64%] tests/test_request_attrs.py::TestRequestAttributes::test_range[asgi] PASSED [ 64%] tests/test_request_attrs.py::TestRequestAttributes::test_range[wsgi] PASSED [ 64%] tests/test_request_attrs.py::TestRequestAttributes::test_range_unit[asgi] PASSED [ 64%] tests/test_request_attrs.py::TestRequestAttributes::test_range_unit[wsgi] PASSED [ 64%] tests/test_request_attrs.py::TestRequestAttributes::test_range_invalid[asgi] PASSED [ 64%] tests/test_request_attrs.py::TestRequestAttributes::test_range_invalid[wsgi] PASSED [ 64%] tests/test_request_attrs.py::TestRequestAttributes::test_missing_attribute_header[asgi] PASSED [ 64%] tests/test_request_attrs.py::TestRequestAttributes::test_missing_attribute_header[wsgi] PASSED [ 64%] tests/test_request_attrs.py::TestRequestAttributes::test_content_length[asgi] PASSED [ 64%] tests/test_request_attrs.py::TestRequestAttributes::test_content_length[wsgi] PASSED [ 64%] tests/test_request_attrs.py::TestRequestAttributes::test_bogus_content_length_nan[asgi] PASSED [ 64%] tests/test_request_attrs.py::TestRequestAttributes::test_bogus_content_length_nan[wsgi] PASSED [ 64%] tests/test_request_attrs.py::TestRequestAttributes::test_bogus_content_length_neg[asgi] PASSED [ 64%] tests/test_request_attrs.py::TestRequestAttributes::test_bogus_content_length_neg[wsgi] PASSED [ 64%] tests/test_request_attrs.py::TestRequestAttributes::test_date[asgi-Date-date] PASSED [ 64%] tests/test_request_attrs.py::TestRequestAttributes::test_date[asgi-If-Modified-Since-if_modified_since] PASSED [ 64%] tests/test_request_attrs.py::TestRequestAttributes::test_date[asgi-If-Unmodified-Since-if_unmodified_since] PASSED [ 64%] tests/test_request_attrs.py::TestRequestAttributes::test_date[wsgi-Date-date] PASSED [ 64%] tests/test_request_attrs.py::TestRequestAttributes::test_date[wsgi-If-Modified-Since-if_modified_since] PASSED [ 64%] tests/test_request_attrs.py::TestRequestAttributes::test_date[wsgi-If-Unmodified-Since-if_unmodified_since] PASSED [ 64%] tests/test_request_attrs.py::TestRequestAttributes::test_date_invalid[asgi-Date-date] PASSED [ 64%] tests/test_request_attrs.py::TestRequestAttributes::test_date_invalid[asgi-If-Modified-Since-if_modified_since] PASSED [ 64%] tests/test_request_attrs.py::TestRequestAttributes::test_date_invalid[asgi-If-Unmodified-Since-if_unmodified_since] PASSED [ 64%] tests/test_request_attrs.py::TestRequestAttributes::test_date_invalid[wsgi-Date-date] PASSED [ 64%] tests/test_request_attrs.py::TestRequestAttributes::test_date_invalid[wsgi-If-Modified-Since-if_modified_since] PASSED [ 64%] tests/test_request_attrs.py::TestRequestAttributes::test_date_invalid[wsgi-If-Unmodified-Since-if_unmodified_since] PASSED [ 64%] tests/test_request_attrs.py::TestRequestAttributes::test_date_missing[asgi-date] PASSED [ 64%] tests/test_request_attrs.py::TestRequestAttributes::test_date_missing[asgi-if_modified_since] PASSED [ 64%] tests/test_request_attrs.py::TestRequestAttributes::test_date_missing[asgi-if_unmodified_since] PASSED [ 65%] tests/test_request_attrs.py::TestRequestAttributes::test_date_missing[wsgi-date] PASSED [ 65%] tests/test_request_attrs.py::TestRequestAttributes::test_date_missing[wsgi-if_modified_since] PASSED [ 65%] tests/test_request_attrs.py::TestRequestAttributes::test_date_missing[wsgi-if_unmodified_since] PASSED [ 65%] tests/test_request_attrs.py::TestRequestAttributes::test_attribute_headers[asgi-Accept-x-falcon-accept-*/*] PASSED [ 65%] tests/test_request_attrs.py::TestRequestAttributes::test_attribute_headers[asgi-Authorization-HMAC_SHA1 c590afa9bb59191ffab30f223791e82d3fd3e3af-auth-None] PASSED [ 65%] tests/test_request_attrs.py::TestRequestAttributes::test_attribute_headers[asgi-Content-Type-text/plain-content_type-None] PASSED [ 65%] tests/test_request_attrs.py::TestRequestAttributes::test_attribute_headers[asgi-Expect-100-continue-expect-None] PASSED [ 65%] tests/test_request_attrs.py::TestRequestAttributes::test_attribute_headers[asgi-If-Range-Wed, 21 Oct 2015 07:28:00 GMT-if_range-None] PASSED [ 65%] tests/test_request_attrs.py::TestRequestAttributes::test_attribute_headers[asgi-User-Agent-testing/3.0-user_agent-falcon-client/4.0.2] PASSED [ 65%] tests/test_request_attrs.py::TestRequestAttributes::test_attribute_headers[asgi-Referer-https://www.google.com/-referer-None] PASSED [ 65%] tests/test_request_attrs.py::TestRequestAttributes::test_attribute_headers[wsgi-Accept-x-falcon-accept-*/*] PASSED [ 65%] tests/test_request_attrs.py::TestRequestAttributes::test_attribute_headers[wsgi-Authorization-HMAC_SHA1 c590afa9bb59191ffab30f223791e82d3fd3e3af-auth-None] PASSED [ 65%] tests/test_request_attrs.py::TestRequestAttributes::test_attribute_headers[wsgi-Content-Type-text/plain-content_type-None] PASSED [ 65%] tests/test_request_attrs.py::TestRequestAttributes::test_attribute_headers[wsgi-Expect-100-continue-expect-None] PASSED [ 65%] tests/test_request_attrs.py::TestRequestAttributes::test_attribute_headers[wsgi-If-Range-Wed, 21 Oct 2015 07:28:00 GMT-if_range-None] PASSED [ 65%] tests/test_request_attrs.py::TestRequestAttributes::test_attribute_headers[wsgi-User-Agent-testing/3.0-user_agent-falcon-client/4.0.2] PASSED [ 65%] tests/test_request_attrs.py::TestRequestAttributes::test_attribute_headers[wsgi-Referer-https://www.google.com/-referer-None] PASSED [ 65%] tests/test_request_attrs.py::TestRequestAttributes::test_method[asgi] PASSED [ 65%] tests/test_request_attrs.py::TestRequestAttributes::test_method[wsgi] PASSED [ 65%] tests/test_request_attrs.py::TestRequestAttributes::test_empty_path[asgi] PASSED [ 65%] tests/test_request_attrs.py::TestRequestAttributes::test_empty_path[wsgi] PASSED [ 65%] tests/test_request_attrs.py::TestRequestAttributes::test_content_type_method[asgi] PASSED [ 65%] tests/test_request_attrs.py::TestRequestAttributes::test_content_type_method[wsgi] PASSED [ 65%] tests/test_request_attrs.py::TestRequestAttributes::test_content_length_method[asgi] PASSED [ 65%] tests/test_request_attrs.py::TestRequestAttributes::test_content_length_method[wsgi] PASSED [ 65%] tests/test_request_attrs.py::TestRequestAttributes::test_port_explicit[asgi-1.0] PASSED [ 65%] tests/test_request_attrs.py::TestRequestAttributes::test_port_explicit[asgi-1.1] PASSED [ 65%] tests/test_request_attrs.py::TestRequestAttributes::test_port_explicit[asgi-2] PASSED [ 65%] tests/test_request_attrs.py::TestRequestAttributes::test_port_explicit[wsgi-1.0] PASSED [ 65%] tests/test_request_attrs.py::TestRequestAttributes::test_port_explicit[wsgi-1.1] PASSED [ 65%] tests/test_request_attrs.py::TestRequestAttributes::test_port_explicit[wsgi-2] PASSED [ 65%] tests/test_request_attrs.py::TestRequestAttributes::test_scheme_https[asgi-1.0] PASSED [ 65%] tests/test_request_attrs.py::TestRequestAttributes::test_scheme_https[asgi-1.1] PASSED [ 65%] tests/test_request_attrs.py::TestRequestAttributes::test_scheme_https[asgi-2] PASSED [ 65%] tests/test_request_attrs.py::TestRequestAttributes::test_scheme_https[wsgi-1.0] PASSED [ 65%] tests/test_request_attrs.py::TestRequestAttributes::test_scheme_https[wsgi-1.1] PASSED [ 65%] tests/test_request_attrs.py::TestRequestAttributes::test_scheme_https[wsgi-2] PASSED [ 65%] tests/test_request_attrs.py::TestRequestAttributes::test_scheme_http[asgi-1.0-True] PASSED [ 65%] tests/test_request_attrs.py::TestRequestAttributes::test_scheme_http[asgi-1.0-False] PASSED [ 65%] tests/test_request_attrs.py::TestRequestAttributes::test_scheme_http[asgi-1.1-True] PASSED [ 65%] tests/test_request_attrs.py::TestRequestAttributes::test_scheme_http[asgi-1.1-False] PASSED [ 66%] tests/test_request_attrs.py::TestRequestAttributes::test_scheme_http[asgi-2-True] PASSED [ 66%] tests/test_request_attrs.py::TestRequestAttributes::test_scheme_http[asgi-2-False] PASSED [ 66%] tests/test_request_attrs.py::TestRequestAttributes::test_scheme_http[wsgi-1.0-True] PASSED [ 66%] tests/test_request_attrs.py::TestRequestAttributes::test_scheme_http[wsgi-1.0-False] PASSED [ 66%] tests/test_request_attrs.py::TestRequestAttributes::test_scheme_http[wsgi-1.1-True] PASSED [ 66%] tests/test_request_attrs.py::TestRequestAttributes::test_scheme_http[wsgi-1.1-False] PASSED [ 66%] tests/test_request_attrs.py::TestRequestAttributes::test_scheme_http[wsgi-2-True] PASSED [ 66%] tests/test_request_attrs.py::TestRequestAttributes::test_scheme_http[wsgi-2-False] PASSED [ 66%] tests/test_request_attrs.py::TestRequestAttributes::test_netloc_default_port[asgi-1.0] PASSED [ 66%] tests/test_request_attrs.py::TestRequestAttributes::test_netloc_default_port[asgi-1.1] PASSED [ 66%] tests/test_request_attrs.py::TestRequestAttributes::test_netloc_default_port[asgi-2] PASSED [ 66%] tests/test_request_attrs.py::TestRequestAttributes::test_netloc_default_port[wsgi-1.0] PASSED [ 66%] tests/test_request_attrs.py::TestRequestAttributes::test_netloc_default_port[wsgi-1.1] PASSED [ 66%] tests/test_request_attrs.py::TestRequestAttributes::test_netloc_default_port[wsgi-2] PASSED [ 66%] tests/test_request_attrs.py::TestRequestAttributes::test_netloc_nondefault_port[asgi-1.0] PASSED [ 66%] tests/test_request_attrs.py::TestRequestAttributes::test_netloc_nondefault_port[asgi-1.1] PASSED [ 66%] tests/test_request_attrs.py::TestRequestAttributes::test_netloc_nondefault_port[asgi-2] PASSED [ 66%] tests/test_request_attrs.py::TestRequestAttributes::test_netloc_nondefault_port[wsgi-1.0] PASSED [ 66%] tests/test_request_attrs.py::TestRequestAttributes::test_netloc_nondefault_port[wsgi-1.1] PASSED [ 66%] tests/test_request_attrs.py::TestRequestAttributes::test_netloc_nondefault_port[wsgi-2] PASSED [ 66%] tests/test_request_attrs.py::TestRequestAttributes::test_netloc_from_env[asgi-1.0] PASSED [ 66%] tests/test_request_attrs.py::TestRequestAttributes::test_netloc_from_env[asgi-1.1] PASSED [ 66%] tests/test_request_attrs.py::TestRequestAttributes::test_netloc_from_env[asgi-2] PASSED [ 66%] tests/test_request_attrs.py::TestRequestAttributes::test_netloc_from_env[wsgi-1.0] PASSED [ 66%] tests/test_request_attrs.py::TestRequestAttributes::test_netloc_from_env[wsgi-1.1] PASSED [ 66%] tests/test_request_attrs.py::TestRequestAttributes::test_netloc_from_env[wsgi-2] PASSED [ 66%] tests/test_request_attrs.py::TestRequestAttributes::test_app_present[asgi] PASSED [ 66%] tests/test_request_attrs.py::TestRequestAttributes::test_app_present[wsgi] PASSED [ 66%] tests/test_request_attrs.py::TestRequestAttributes::test_app_blank[asgi] PASSED [ 66%] tests/test_request_attrs.py::TestRequestAttributes::test_app_blank[wsgi] PASSED [ 66%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-Match-if_match--None] PASSED [ 66%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-Match-if_match- -None] PASSED [ 66%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-Match-if_match- -None] PASSED [ 66%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-Match-if_match-\t-None] PASSED [ 66%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-Match-if_match- \t-None] PASSED [ 66%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-Match-if_match-,-None] PASSED [ 66%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-Match-if_match-,,-None] PASSED [ 66%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-Match-if_match-,, -None] PASSED [ 66%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-Match-if_match-, , -None] PASSED [ 66%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-Match-if_match-*-expected_value9] PASSED [ 67%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-Match-if_match-W/"67ab43"-expected_value10] PASSED [ 67%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-Match-if_match-w/"67ab43"-expected_value11] PASSED [ 67%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-Match-if_match- w/"67ab43"-expected_value12] PASSED [ 67%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-Match-if_match-w/"67ab43" -expected_value13] PASSED [ 67%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-Match-if_match-w/"67ab43 " -expected_value14] PASSED [ 67%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-Match-if_match-"67ab43"-expected_value15] PASSED [ 67%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-Match-if_match- "67ab43"-expected_value16] PASSED [ 67%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-Match-if_match- "67ab43" -expected_value17] PASSED [ 67%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-Match-if_match-"67ab43" -expected_value18] PASSED [ 67%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-Match-if_match-" 67ab43" -expected_value19] PASSED [ 67%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-Match-if_match-67ab43"-expected_value20] PASSED [ 67%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-Match-if_match-"67ab43-expected_value21] PASSED [ 67%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-Match-if_match-67ab43-expected_value22] PASSED [ 67%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-Match-if_match-67ab43 -expected_value23] PASSED [ 67%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-Match-if_match- 67ab43 -expected_value24] PASSED [ 67%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-Match-if_match- 67ab43-expected_value25] PASSED [ 67%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-Match-if_match-W/"67ab43", "54ed21", junk"F9,22", junk "41, 7F", unquoted, w/"22, 41, 7F", "", W/""-expected_value26] PASSED [ 67%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-None-Match-if_none_match--None] PASSED [ 67%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-None-Match-if_none_match- -None] PASSED [ 67%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-None-Match-if_none_match- -None] PASSED [ 67%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-None-Match-if_none_match-\t-None] PASSED [ 67%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-None-Match-if_none_match- \t-None] PASSED [ 67%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-None-Match-if_none_match-,-None] PASSED [ 67%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-None-Match-if_none_match-,,-None] PASSED [ 67%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-None-Match-if_none_match-,, -None] PASSED [ 67%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-None-Match-if_none_match-, , -None] PASSED [ 67%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-None-Match-if_none_match-*-expected_value9] PASSED [ 67%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-None-Match-if_none_match-W/"67ab43"-expected_value10] PASSED [ 67%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-None-Match-if_none_match-w/"67ab43"-expected_value11] PASSED [ 67%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-None-Match-if_none_match- w/"67ab43"-expected_value12] PASSED [ 67%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-None-Match-if_none_match-w/"67ab43" -expected_value13] PASSED [ 67%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-None-Match-if_none_match-w/"67ab43 " -expected_value14] PASSED [ 67%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-None-Match-if_none_match-"67ab43"-expected_value15] PASSED [ 67%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-None-Match-if_none_match- "67ab43"-expected_value16] PASSED [ 67%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-None-Match-if_none_match- "67ab43" -expected_value17] PASSED [ 67%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-None-Match-if_none_match-"67ab43" -expected_value18] PASSED [ 67%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-None-Match-if_none_match-" 67ab43" -expected_value19] PASSED [ 67%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-None-Match-if_none_match-67ab43"-expected_value20] PASSED [ 67%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-None-Match-if_none_match-"67ab43-expected_value21] PASSED [ 67%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-None-Match-if_none_match-67ab43-expected_value22] PASSED [ 67%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-None-Match-if_none_match-67ab43 -expected_value23] PASSED [ 68%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-None-Match-if_none_match- 67ab43 -expected_value24] PASSED [ 68%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-None-Match-if_none_match- 67ab43-expected_value25] PASSED [ 68%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[asgi-If-None-Match-if_none_match-W/"67ab43", "54ed21", junk"F9,22", junk "41, 7F", unquoted, w/"22, 41, 7F", "", W/""-expected_value26] PASSED [ 68%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-Match-if_match--None] PASSED [ 68%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-Match-if_match- -None] PASSED [ 68%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-Match-if_match- -None] PASSED [ 68%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-Match-if_match-\t-None] PASSED [ 68%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-Match-if_match- \t-None] PASSED [ 68%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-Match-if_match-,-None] PASSED [ 68%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-Match-if_match-,,-None] PASSED [ 68%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-Match-if_match-,, -None] PASSED [ 68%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-Match-if_match-, , -None] PASSED [ 68%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-Match-if_match-*-expected_value9] PASSED [ 68%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-Match-if_match-W/"67ab43"-expected_value10] PASSED [ 68%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-Match-if_match-w/"67ab43"-expected_value11] PASSED [ 68%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-Match-if_match- w/"67ab43"-expected_value12] PASSED [ 68%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-Match-if_match-w/"67ab43" -expected_value13] PASSED [ 68%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-Match-if_match-w/"67ab43 " -expected_value14] PASSED [ 68%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-Match-if_match-"67ab43"-expected_value15] PASSED [ 68%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-Match-if_match- "67ab43"-expected_value16] PASSED [ 68%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-Match-if_match- "67ab43" -expected_value17] PASSED [ 68%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-Match-if_match-"67ab43" -expected_value18] PASSED [ 68%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-Match-if_match-" 67ab43" -expected_value19] PASSED [ 68%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-Match-if_match-67ab43"-expected_value20] PASSED [ 68%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-Match-if_match-"67ab43-expected_value21] PASSED [ 68%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-Match-if_match-67ab43-expected_value22] PASSED [ 68%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-Match-if_match-67ab43 -expected_value23] PASSED [ 68%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-Match-if_match- 67ab43 -expected_value24] PASSED [ 68%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-Match-if_match- 67ab43-expected_value25] PASSED [ 68%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-Match-if_match-W/"67ab43", "54ed21", junk"F9,22", junk "41, 7F", unquoted, w/"22, 41, 7F", "", W/""-expected_value26] PASSED [ 68%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-None-Match-if_none_match--None] PASSED [ 68%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-None-Match-if_none_match- -None] PASSED [ 68%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-None-Match-if_none_match- -None] PASSED [ 68%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-None-Match-if_none_match-\t-None] PASSED [ 68%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-None-Match-if_none_match- \t-None] PASSED [ 68%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-None-Match-if_none_match-,-None] PASSED [ 68%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-None-Match-if_none_match-,,-None] PASSED [ 68%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-None-Match-if_none_match-,, -None] PASSED [ 68%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-None-Match-if_none_match-, , -None] PASSED [ 68%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-None-Match-if_none_match-*-expected_value9] PASSED [ 68%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-None-Match-if_none_match-W/"67ab43"-expected_value10] PASSED [ 69%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-None-Match-if_none_match-w/"67ab43"-expected_value11] PASSED [ 69%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-None-Match-if_none_match- w/"67ab43"-expected_value12] PASSED [ 69%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-None-Match-if_none_match-w/"67ab43" -expected_value13] PASSED [ 69%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-None-Match-if_none_match-w/"67ab43 " -expected_value14] PASSED [ 69%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-None-Match-if_none_match-"67ab43"-expected_value15] PASSED [ 69%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-None-Match-if_none_match- "67ab43"-expected_value16] PASSED [ 69%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-None-Match-if_none_match- "67ab43" -expected_value17] PASSED [ 69%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-None-Match-if_none_match-"67ab43" -expected_value18] PASSED [ 69%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-None-Match-if_none_match-" 67ab43" -expected_value19] PASSED [ 69%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-None-Match-if_none_match-67ab43"-expected_value20] PASSED [ 69%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-None-Match-if_none_match-"67ab43-expected_value21] PASSED [ 69%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-None-Match-if_none_match-67ab43-expected_value22] PASSED [ 69%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-None-Match-if_none_match-67ab43 -expected_value23] PASSED [ 69%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-None-Match-if_none_match- 67ab43 -expected_value24] PASSED [ 69%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-None-Match-if_none_match- 67ab43-expected_value25] PASSED [ 69%] tests/test_request_attrs.py::TestRequestAttributes::test_etag[wsgi-If-None-Match-if_none_match-W/"67ab43", "54ed21", junk"F9,22", junk "41, 7F", unquoted, w/"22, 41, 7F", "", W/""-expected_value26] PASSED [ 69%] tests/test_request_attrs.py::TestRequestAttributes::test_etag_is_missing[asgi] PASSED [ 69%] tests/test_request_attrs.py::TestRequestAttributes::test_etag_is_missing[wsgi] PASSED [ 69%] tests/test_request_attrs.py::TestRequestAttributes::test_etag_parsing_helper[asgi-] PASSED [ 69%] tests/test_request_attrs.py::TestRequestAttributes::test_etag_parsing_helper[asgi- ] PASSED [ 69%] tests/test_request_attrs.py::TestRequestAttributes::test_etag_parsing_helper[asgi- ] PASSED [ 69%] tests/test_request_attrs.py::TestRequestAttributes::test_etag_parsing_helper[wsgi-] PASSED [ 69%] tests/test_request_attrs.py::TestRequestAttributes::test_etag_parsing_helper[wsgi- ] PASSED [ 69%] tests/test_request_attrs.py::TestRequestAttributes::test_etag_parsing_helper[wsgi- ] PASSED [ 69%] tests/test_request_body.py::TestRequestBody::test_empty_body PASSED [ 69%] tests/test_request_body.py::TestRequestBody::test_tiny_body PASSED [ 69%] tests/test_request_body.py::TestRequestBody::test_tiny_body_overflow PASSED [ 69%] tests/test_request_body.py::TestRequestBody::test_read_body PASSED [ 69%] tests/test_request_body.py::TestRequestBody::test_bounded_stream_property_empty_body PASSED [ 69%] tests/test_request_body.py::TestRequestBody::test_body_stream_wrapper PASSED [ 69%] tests/test_request_body.py::TestRequestBody::test_request_repr PASSED [ 69%] tests/test_request_context.py::TestRequestContext::test_default_request_context PASSED [ 69%] tests/test_request_context.py::TestRequestContext::test_custom_request_context PASSED [ 69%] tests/test_request_context.py::TestRequestContext::test_custom_request_context_failure PASSED [ 69%] tests/test_request_context.py::TestRequestContext::test_custom_request_context_request_access PASSED [ 69%] tests/test_request_forwarded.py::test_no_forwarded_headers[asgi] PASSED [ 69%] tests/test_request_forwarded.py::test_no_forwarded_headers[wsgi] PASSED [ 69%] tests/test_request_forwarded.py::test_no_forwarded_headers_with_port[asgi] PASSED [ 69%] tests/test_request_forwarded.py::test_no_forwarded_headers_with_port[wsgi] PASSED [ 69%] 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 [ 70%] tests/test_request_forwarded.py::test_forwarded_invalid[wsgi] PASSED [ 70%] tests/test_request_forwarded.py::test_forwarded_multiple_params[asgi] PASSED [ 70%] tests/test_request_forwarded.py::test_forwarded_multiple_params[wsgi] PASSED [ 70%] tests/test_request_forwarded.py::test_forwarded_missing_first_hop_host[asgi] PASSED [ 70%] tests/test_request_forwarded.py::test_forwarded_missing_first_hop_host[wsgi] PASSED [ 70%] tests/test_request_forwarded.py::test_forwarded_quote_escaping[asgi] PASSED [ 70%] tests/test_request_forwarded.py::test_forwarded_quote_escaping[wsgi] PASSED [ 70%] tests/test_request_forwarded.py::test_escape_malformed_requests[asgi-for=1.2.3.4;by="-None] PASSED [ 70%] tests/test_request_forwarded.py::test_escape_malformed_requests[asgi-for=1.2.3.4;by=4\\.3.2.1thing=blah-4] PASSED [ 70%] 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 [ 70%] 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 [ 70%] 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 [ 70%] tests/test_request_forwarded.py::test_escape_malformed_requests[wsgi-for=1.2.3.4;by="-None] PASSED [ 70%] tests/test_request_forwarded.py::test_escape_malformed_requests[wsgi-for=1.2.3.4;by=4\\.3.2.1thing=blah-4] PASSED [ 70%] 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 [ 70%] 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 [ 70%] 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 [ 70%] tests/test_request_media.py::test_json[asgi-None] PASSED [ 70%] tests/test_request_media.py::test_json[asgi-*/*] PASSED [ 70%] tests/test_request_media.py::test_json[asgi-application/json] PASSED [ 70%] tests/test_request_media.py::test_json[asgi-application/json; charset=utf-8] PASSED [ 70%] tests/test_request_media.py::test_json[wsgi-None] PASSED [ 70%] tests/test_request_media.py::test_json[wsgi-*/*] PASSED [ 70%] tests/test_request_media.py::test_json[wsgi-application/json] PASSED [ 70%] tests/test_request_media.py::test_json[wsgi-application/json; charset=utf-8] PASSED [ 70%] tests/test_request_media.py::test_msgpack[asgi-application/msgpack] PASSED [ 70%] tests/test_request_media.py::test_msgpack[asgi-application/msgpack; charset=utf-8] PASSED [ 70%] tests/test_request_media.py::test_msgpack[asgi-application/x-msgpack] PASSED [ 70%] tests/test_request_media.py::test_msgpack[wsgi-application/msgpack] PASSED [ 70%] tests/test_request_media.py::test_msgpack[wsgi-application/msgpack; charset=utf-8] PASSED [ 70%] tests/test_request_media.py::test_msgpack[wsgi-application/x-msgpack] PASSED [ 70%] tests/test_request_media.py::test_unknown_media_type[asgi-nope/json] PASSED [ 70%] tests/test_request_media.py::test_unknown_media_type[wsgi-nope/json] PASSED [ 71%] tests/test_request_media.py::test_empty_body[asgi-application/json] PASSED [ 71%] tests/test_request_media.py::test_empty_body[asgi-application/msgpack] PASSED [ 71%] tests/test_request_media.py::test_empty_body[wsgi-application/json] PASSED [ 71%] tests/test_request_media.py::test_empty_body[wsgi-application/msgpack] PASSED [ 71%] tests/test_request_media.py::test_invalid_json[asgi] PASSED [ 71%] tests/test_request_media.py::test_invalid_json[wsgi] PASSED [ 71%] tests/test_request_media.py::test_invalid_msgpack[asgi] PASSED [ 71%] tests/test_request_media.py::test_invalid_msgpack[wsgi] PASSED [ 71%] tests/test_request_media.py::test_complete_consumption[asgi] PASSED [ 71%] tests/test_request_media.py::test_complete_consumption[wsgi] PASSED [ 71%] tests/test_request_media.py::test_empty_json_media[asgi-False] PASSED [ 71%] tests/test_request_media.py::test_empty_json_media[asgi-0] PASSED [ 71%] tests/test_request_media.py::test_empty_json_media[asgi-0.0] PASSED [ 71%] tests/test_request_media.py::test_empty_json_media[asgi-] PASSED [ 71%] tests/test_request_media.py::test_empty_json_media[asgi-payload4] PASSED [ 71%] tests/test_request_media.py::test_empty_json_media[asgi-payload5] PASSED [ 71%] tests/test_request_media.py::test_empty_json_media[wsgi-False] PASSED [ 71%] tests/test_request_media.py::test_empty_json_media[wsgi-0] PASSED [ 71%] tests/test_request_media.py::test_empty_json_media[wsgi-0.0] PASSED [ 71%] tests/test_request_media.py::test_empty_json_media[wsgi-] PASSED [ 71%] tests/test_request_media.py::test_empty_json_media[wsgi-payload4] PASSED [ 71%] tests/test_request_media.py::test_empty_json_media[wsgi-payload5] PASSED [ 71%] tests/test_request_media.py::test_null_json_media[asgi] PASSED [ 71%] tests/test_request_media.py::test_null_json_media[wsgi] PASSED [ 71%] tests/test_request_media.py::test_fallback[asgi] PASSED [ 71%] tests/test_request_media.py::test_fallback[wsgi] PASSED [ 71%] tests/test_request_media.py::test_fallback_not_for_error_body[asgi-True-True] PASSED [ 71%] tests/test_request_media.py::test_fallback_not_for_error_body[asgi-True-False] PASSED [ 71%] tests/test_request_media.py::test_fallback_not_for_error_body[asgi-False-True] PASSED [ 71%] tests/test_request_media.py::test_fallback_not_for_error_body[asgi-False-False] PASSED [ 71%] tests/test_request_media.py::test_fallback_not_for_error_body[wsgi-True-True] PASSED [ 71%] tests/test_request_media.py::test_fallback_not_for_error_body[wsgi-True-False] PASSED [ 71%] tests/test_request_media.py::test_fallback_not_for_error_body[wsgi-False-True] PASSED [ 71%] tests/test_request_media.py::test_fallback_not_for_error_body[wsgi-False-False] PASSED [ 71%] tests/test_request_media.py::test_fallback_does_not_override_media_default[asgi] PASSED [ 71%] tests/test_request_media.py::test_fallback_does_not_override_media_default[wsgi] PASSED [ 71%] tests/test_request_media.py::test_repeated_error[asgi-{] PASSED [ 71%] tests/test_request_media.py::test_repeated_error[asgi-] PASSED [ 71%] tests/test_request_media.py::test_repeated_error[wsgi-{] PASSED [ 71%] tests/test_request_media.py::test_repeated_error[wsgi-] PASSED [ 71%] tests/test_request_media.py::test_error_after_first_default[asgi] PASSED [ 72%] tests/test_request_media.py::test_error_after_first_default[wsgi] PASSED [ 72%] tests/test_response.py::test_response_set_content_type_set[asgi] PASSED [ 72%] tests/test_response.py::test_response_set_content_type_set[wsgi] PASSED [ 72%] tests/test_response.py::test_response_set_content_type_not_set[asgi] PASSED [ 72%] tests/test_response.py::test_response_set_content_type_not_set[wsgi] PASSED [ 72%] tests/test_response.py::test_response_get_headers[asgi] PASSED [ 72%] tests/test_response.py::test_response_get_headers[wsgi] PASSED [ 72%] tests/test_response.py::test_add_link_removed[asgi] PASSED [ 72%] tests/test_response.py::test_add_link_removed[wsgi] PASSED [ 72%] tests/test_response.py::test_body_removed[asgi] PASSED [ 72%] tests/test_response.py::test_body_removed[wsgi] PASSED [ 72%] tests/test_response.py::test_response_attempt_to_set_read_only_headers[asgi] PASSED [ 72%] tests/test_response.py::test_response_attempt_to_set_read_only_headers[wsgi] PASSED [ 72%] tests/test_response.py::test_response_option_mimetype_init PASSED [ 72%] tests/test_response.py::test_response_set_stream[asgi-] PASSED [ 72%] tests/test_response.py::test_response_set_stream[asgi-dummy content] PASSED [ 72%] tests/test_response.py::test_response_set_stream[wsgi-] PASSED [ 72%] tests/test_response.py::test_response_set_stream[wsgi-dummy content] PASSED [ 72%] tests/test_response_body.py::test_append_body[asgi] PASSED [ 72%] tests/test_response_body.py::test_append_body[wsgi] PASSED [ 72%] tests/test_response_body.py::test_response_repr[asgi] PASSED [ 72%] tests/test_response_body.py::test_response_repr[wsgi] PASSED [ 72%] tests/test_response_body.py::test_content_length_set_on_head_with_no_body[asgi] PASSED [ 72%] tests/test_response_body.py::test_content_length_set_on_head_with_no_body[wsgi] PASSED [ 72%] tests/test_response_body.py::test_content_length_not_set_when_streaming_response[asgi-GET] PASSED [ 72%] tests/test_response_body.py::test_content_length_not_set_when_streaming_response[asgi-HEAD] PASSED [ 72%] tests/test_response_body.py::test_content_length_not_set_when_streaming_response[wsgi-GET] PASSED [ 72%] tests/test_response_body.py::test_content_length_not_set_when_streaming_response[wsgi-HEAD] PASSED [ 72%] tests/test_response_body.py::test_unsupported_response_content_type[asgi] PASSED [ 72%] tests/test_response_body.py::test_unsupported_response_content_type[wsgi] PASSED [ 72%] tests/test_response_body.py::test_response_body_rendition_error[asgi] PASSED [ 72%] tests/test_response_body.py::test_response_body_rendition_error[wsgi] PASSED [ 72%] tests/test_response_context.py::TestResponseContext::test_default_response_context[asgi.Response] PASSED [ 72%] tests/test_response_context.py::TestResponseContext::test_default_response_context[Response] PASSED [ 72%] tests/test_response_context.py::TestResponseContext::test_custom_response_context[asgi.Response] PASSED [ 72%] tests/test_response_context.py::TestResponseContext::test_custom_response_context[Response] PASSED [ 72%] tests/test_response_context.py::TestResponseContext::test_custom_response_context_failure[asgi.Response] PASSED [ 72%] tests/test_response_context.py::TestResponseContext::test_custom_response_context_failure[Response] PASSED [ 72%] tests/test_response_context.py::TestResponseContext::test_custom_response_context_factory[asgi.Response] PASSED [ 72%] tests/test_response_context.py::TestResponseContext::test_custom_response_context_factory[Response] PASSED [ 72%] tests/test_response_media.py::test_json[*/*] PASSED [ 73%] tests/test_response_media.py::test_json[application/json] PASSED [ 73%] tests/test_response_media.py::test_json[application/json; charset=utf-8] PASSED [ 73%] tests/test_response_media.py::test_non_ascii_json_serialization[] PASSED [ 73%] tests/test_response_media.py::test_non_ascii_json_serialization[I am a \u1d0a\ua731\u1d0f\u0274 string.] PASSED [ 73%] tests/test_response_media.py::test_non_ascii_json_serialization[document2] PASSED [ 73%] tests/test_response_media.py::test_non_ascii_json_serialization[document3] PASSED [ 73%] tests/test_response_media.py::test_non_ascii_json_serialization[document4] PASSED [ 73%] tests/test_response_media.py::test_msgpack[application/msgpack] PASSED [ 73%] tests/test_response_media.py::test_msgpack[application/msgpack; charset=utf-8] PASSED [ 73%] tests/test_response_media.py::test_msgpack[application/x-msgpack] PASSED [ 73%] tests/test_response_media.py::test_unknown_media_type PASSED [ 73%] tests/test_response_media.py::test_use_cached_media PASSED [ 73%] tests/test_response_media.py::test_default_media_type PASSED [ 73%] tests/test_response_media.py::test_mimeparse_edgecases PASSED [ 73%] tests/test_response_media.py::TestRenderBodyPrecedence::test_text PASSED [ 73%] tests/test_response_media.py::TestRenderBodyPrecedence::test_data PASSED [ 73%] tests/test_response_media.py::TestRenderBodyPrecedence::test_media PASSED [ 73%] tests/test_response_media.py::test_media_rendered_cached PASSED [ 73%] tests/test_sink_and_static.py::test_sink_before_static_route[asgi] PASSED [ 73%] tests/test_sink_and_static.py::test_sink_before_static_route[wsgi] PASSED [ 73%] tests/test_sink_and_static.py::test_sink_after_static_route[asgi] PASSED [ 73%] tests/test_sink_and_static.py::test_sink_after_static_route[wsgi] PASSED [ 73%] tests/test_sinks.py::TestDefaultRouting::test_single_default_pattern[asgi] PASSED [ 73%] tests/test_sinks.py::TestDefaultRouting::test_single_default_pattern[wsgi] PASSED [ 73%] tests/test_sinks.py::TestDefaultRouting::test_single_simple_pattern[asgi] PASSED [ 73%] tests/test_sinks.py::TestDefaultRouting::test_single_simple_pattern[wsgi] PASSED [ 73%] tests/test_sinks.py::TestDefaultRouting::test_single_compiled_pattern[asgi] PASSED [ 73%] tests/test_sinks.py::TestDefaultRouting::test_single_compiled_pattern[wsgi] PASSED [ 73%] tests/test_sinks.py::TestDefaultRouting::test_named_groups[asgi] PASSED [ 73%] tests/test_sinks.py::TestDefaultRouting::test_named_groups[wsgi] PASSED [ 73%] tests/test_sinks.py::TestDefaultRouting::test_multiple_patterns[asgi] PASSED [ 73%] tests/test_sinks.py::TestDefaultRouting::test_multiple_patterns[wsgi] PASSED [ 73%] tests/test_sinks.py::TestDefaultRouting::test_with_route[asgi] PASSED [ 73%] tests/test_sinks.py::TestDefaultRouting::test_with_route[wsgi] PASSED [ 73%] tests/test_sinks.py::TestDefaultRouting::test_route_precedence[asgi] PASSED [ 73%] tests/test_sinks.py::TestDefaultRouting::test_route_precedence[wsgi] PASSED [ 73%] tests/test_sinks.py::TestDefaultRouting::test_route_precedence_with_id[asgi] PASSED [ 73%] tests/test_sinks.py::TestDefaultRouting::test_route_precedence_with_id[wsgi] PASSED [ 73%] tests/test_sinks.py::TestDefaultRouting::test_route_precedence_with_both_id[asgi] PASSED [ 73%] tests/test_sinks.py::TestDefaultRouting::test_route_precedence_with_both_id[wsgi] PASSED [ 74%] tests/test_sinks.py::TestSinkMethodCompatibility::test_add_async_sink[asgi] PASSED [ 74%] tests/test_sinks.py::TestSinkMethodCompatibility::test_add_async_sink[wsgi] PASSED [ 74%] tests/test_sinks.py::TestSinkMethodCompatibility::test_add_sync_sink[asgi] PASSED [ 74%] tests/test_sinks.py::TestSinkMethodCompatibility::test_add_sync_sink[wsgi] PASSED [ 74%] tests/test_sinks.py::TestSinkMethodCompatibility::test_add_sync_sink_with_wrapping[asgi] PASSED [ 74%] tests/test_sinks.py::TestSinkMethodCompatibility::test_add_sync_sink_with_wrapping[wsgi] PASSED [ 74%] tests/test_slots.py::TestSlots::test_slots_request[asgi] PASSED [ 74%] tests/test_slots.py::TestSlots::test_slots_request[wsgi] PASSED [ 74%] tests/test_slots.py::TestSlots::test_slots_response[asgi] PASSED [ 74%] tests/test_slots.py::TestSlots::test_slots_response[wsgi] PASSED [ 74%] tests/test_static.py::test_bad_path[asgi-/static] PASSED [ 74%] tests/test_static.py::test_bad_path[asgi-/static/] PASSED [ 74%] tests/test_static.py::test_bad_path[asgi-/static/.] PASSED [ 74%] tests/test_static.py::test_bad_path[asgi-/static/..] PASSED [ 74%] tests/test_static.py::test_bad_path[asgi-/static/../.] PASSED [ 74%] tests/test_static.py::test_bad_path[asgi-/static/.././etc/passwd] PASSED [ 74%] tests/test_static.py::test_bad_path[asgi-/static/../etc/passwd] PASSED [ 74%] tests/test_static.py::test_bad_path[asgi-/static/css/../../secret] PASSED [ 74%] tests/test_static.py::test_bad_path[asgi-/static/css/../../etc/passwd] PASSED [ 74%] tests/test_static.py::test_bad_path[asgi-/static/./../etc/passwd] PASSED [ 74%] tests/test_static.py::test_bad_path[asgi-/static/css/../.\\056/etc/passwd] PASSED [ 74%] tests/test_static.py::test_bad_path[asgi-/static/./\\056./etc/passwd] PASSED [ 74%] tests/test_static.py::test_bad_path[asgi-/static/\\056\\056/etc/passwd] PASSED [ 74%] tests/test_static.py::test_bad_path[asgi-/static//test.css] PASSED [ 74%] tests/test_static.py::test_bad_path[asgi-/static//COM10] PASSED [ 74%] tests/test_static.py::test_bad_path[asgi-/static/path//test.css] PASSED [ 74%] tests/test_static.py::test_bad_path[asgi-/static/path///test.css] PASSED [ 74%] tests/test_static.py::test_bad_path[asgi-/static/path////test.css] PASSED [ 74%] tests/test_static.py::test_bad_path[asgi-/static/path/foo//test.css] PASSED [ 74%] tests/test_static.py::test_bad_path[asgi-/static/.\x00ssh/authorized_keys] PASSED [ 74%] tests/test_static.py::test_bad_path[asgi-/static/.\x1fssh/authorized_keys] PASSED [ 74%] tests/test_static.py::test_bad_path[asgi-/static/.\x80ssh/authorized_keys] PASSED [ 74%] tests/test_static.py::test_bad_path[asgi-/static/.\x9fssh/authorized_keys] PASSED [ 74%] tests/test_static.py::test_bad_path[asgi-/static/~/.ssh/authorized_keys] PASSED [ 74%] tests/test_static.py::test_bad_path[asgi-/static/.ssh/authorized_key?] PASSED [ 74%] tests/test_static.py::test_bad_path[asgi-/static/.ssh/authorized_key>foo] PASSED [ 74%] tests/test_static.py::test_bad_path[asgi-/static/.ssh/authorized_key|foo] PASSED [ 74%] tests/test_static.py::test_bad_path[asgi-/static/.ssh/authorized_keyfoo] PASSED [ 75%] tests/test_static.py::test_bad_path[wsgi-/static/.ssh/authorized_key|foo] PASSED [ 75%] tests/test_static.py::test_bad_path[wsgi-/static/.ssh/authorized_key: [Errno 39] Directory not empty: '/tmp/pytest-of-buildozer/garbage-c381f33d-d52d-4654-8ab5-0842bab97706/popen-gw69/test_discovery_via_path_in_non0' warnings.warn( /usr/lib/python3.12/site-packages/_pytest/pathlib.py:96: PytestWarning: (rm_rf) error removing /tmp/pytest-of-buildozer/garbage-c381f33d-d52d-4654-8ab5-0842bab97706/popen-gw69 : [Errno 39] Directory not empty: '/tmp/pytest-of-buildozer/garbage-c381f33d-d52d-4654-8ab5-0842bab97706/popen-gw69' warnings.warn( /usr/lib/python3.12/site-packages/_pytest/pathlib.py:96: PytestWarning: (rm_rf) error removing /tmp/pytest-of-buildozer/garbage-c381f33d-d52d-4654-8ab5-0842bab97706 : [Errno 39] Directory not empty: '/tmp/pytest-of-buildozer/garbage-c381f33d-d52d-4654-8ab5-0842bab97706' warnings.warn( >>> py3-falcon: Entering fakeroot... >>> py3-falcon-pyc*: Running split function pyc... 'usr/lib/python3.12/site-packages/falcon/__pycache__' -> '/home/buildozer/aports/testing/py3-falcon/pkg/py3-falcon-pyc/usr/lib/python3.12/site-packages/falcon/__pycache__' 'usr/lib/python3.12/site-packages/falcon/media/__pycache__' -> '/home/buildozer/aports/testing/py3-falcon/pkg/py3-falcon-pyc/usr/lib/python3.12/site-packages/falcon/media/__pycache__' 'usr/lib/python3.12/site-packages/falcon/media/validators/__pycache__' -> '/home/buildozer/aports/testing/py3-falcon/pkg/py3-falcon-pyc/usr/lib/python3.12/site-packages/falcon/media/validators/__pycache__' 'usr/lib/python3.12/site-packages/falcon/bench/__pycache__' -> '/home/buildozer/aports/testing/py3-falcon/pkg/py3-falcon-pyc/usr/lib/python3.12/site-packages/falcon/bench/__pycache__' 'usr/lib/python3.12/site-packages/falcon/bench/nuts/__pycache__' -> '/home/buildozer/aports/testing/py3-falcon/pkg/py3-falcon-pyc/usr/lib/python3.12/site-packages/falcon/bench/nuts/__pycache__' 'usr/lib/python3.12/site-packages/falcon/bench/nuts/nuts/__pycache__' -> '/home/buildozer/aports/testing/py3-falcon/pkg/py3-falcon-pyc/usr/lib/python3.12/site-packages/falcon/bench/nuts/nuts/__pycache__' 'usr/lib/python3.12/site-packages/falcon/bench/nuts/nuts/model/__pycache__' -> '/home/buildozer/aports/testing/py3-falcon/pkg/py3-falcon-pyc/usr/lib/python3.12/site-packages/falcon/bench/nuts/nuts/model/__pycache__' 'usr/lib/python3.12/site-packages/falcon/bench/nuts/nuts/tests/__pycache__' -> '/home/buildozer/aports/testing/py3-falcon/pkg/py3-falcon-pyc/usr/lib/python3.12/site-packages/falcon/bench/nuts/nuts/tests/__pycache__' 'usr/lib/python3.12/site-packages/falcon/bench/nuts/nuts/controllers/__pycache__' -> '/home/buildozer/aports/testing/py3-falcon/pkg/py3-falcon-pyc/usr/lib/python3.12/site-packages/falcon/bench/nuts/nuts/controllers/__pycache__' 'usr/lib/python3.12/site-packages/falcon/bench/queues/__pycache__' -> '/home/buildozer/aports/testing/py3-falcon/pkg/py3-falcon-pyc/usr/lib/python3.12/site-packages/falcon/bench/queues/__pycache__' 'usr/lib/python3.12/site-packages/falcon/bench/dj/hello/__pycache__' -> '/home/buildozer/aports/testing/py3-falcon/pkg/py3-falcon-pyc/usr/lib/python3.12/site-packages/falcon/bench/dj/hello/__pycache__' 'usr/lib/python3.12/site-packages/falcon/bench/dj/hello/migrations/__pycache__' -> '/home/buildozer/aports/testing/py3-falcon/pkg/py3-falcon-pyc/usr/lib/python3.12/site-packages/falcon/bench/dj/hello/migrations/__pycache__' 'usr/lib/python3.12/site-packages/falcon/bench/dj/__pycache__' -> '/home/buildozer/aports/testing/py3-falcon/pkg/py3-falcon-pyc/usr/lib/python3.12/site-packages/falcon/bench/dj/__pycache__' 'usr/lib/python3.12/site-packages/falcon/bench/dj/dj/__pycache__' -> '/home/buildozer/aports/testing/py3-falcon/pkg/py3-falcon-pyc/usr/lib/python3.12/site-packages/falcon/bench/dj/dj/__pycache__' 'usr/lib/python3.12/site-packages/falcon/cmd/__pycache__' -> '/home/buildozer/aports/testing/py3-falcon/pkg/py3-falcon-pyc/usr/lib/python3.12/site-packages/falcon/cmd/__pycache__' 'usr/lib/python3.12/site-packages/falcon/asgi/__pycache__' -> '/home/buildozer/aports/testing/py3-falcon/pkg/py3-falcon-pyc/usr/lib/python3.12/site-packages/falcon/asgi/__pycache__' 'usr/lib/python3.12/site-packages/falcon/cyutil/__pycache__' -> '/home/buildozer/aports/testing/py3-falcon/pkg/py3-falcon-pyc/usr/lib/python3.12/site-packages/falcon/cyutil/__pycache__' 'usr/lib/python3.12/site-packages/falcon/util/__pycache__' -> '/home/buildozer/aports/testing/py3-falcon/pkg/py3-falcon-pyc/usr/lib/python3.12/site-packages/falcon/util/__pycache__' 'usr/lib/python3.12/site-packages/falcon/testing/__pycache__' -> '/home/buildozer/aports/testing/py3-falcon/pkg/py3-falcon-pyc/usr/lib/python3.12/site-packages/falcon/testing/__pycache__' 'usr/lib/python3.12/site-packages/falcon/routing/__pycache__' -> '/home/buildozer/aports/testing/py3-falcon/pkg/py3-falcon-pyc/usr/lib/python3.12/site-packages/falcon/routing/__pycache__' >>> py3-falcon-pyc*: Preparing subpackage py3-falcon-pyc... >>> py3-falcon-pyc*: Running postcheck for py3-falcon-pyc >>> py3-falcon*: Running postcheck for py3-falcon >>> py3-falcon*: Preparing package py3-falcon... >>> py3-falcon*: Stripping binaries >>> py3-falcon-pyc*: Scanning shared objects >>> py3-falcon*: Scanning shared objects >>> py3-falcon-pyc*: Tracing dependencies... python3~3.12 >>> py3-falcon-pyc*: Package size: 1.0 MB >>> py3-falcon-pyc*: Compressing data... >>> py3-falcon-pyc*: Create checksum... >>> py3-falcon-pyc*: Create py3-falcon-pyc-4.0.2-r0.apk >>> py3-falcon*: Tracing dependencies... python3~3.12 so:libc.musl-aarch64.so.1 >>> py3-falcon*: Package size: 5.7 MB >>> py3-falcon*: Compressing data... >>> py3-falcon*: Create checksum... >>> py3-falcon*: Create py3-falcon-4.0.2-r0.apk >>> py3-falcon: Build complete at Thu, 05 Dec 2024 06:44:12 +0000 elapsed time 0h 6m 7s >>> py3-falcon: Cleaning up srcdir >>> py3-falcon: Cleaning up pkgdir >>> py3-falcon: Uninstalling dependencies... (1/173) Purging .makedepends-py3-falcon (20241205.063806) (2/173) Purging py3-gpep517-pyc (16-r0) (3/173) Purging py3-gpep517 (16-r0) (4/173) Purging py3-installer-pyc (0.7.0-r2) (5/173) Purging py3-installer (0.7.0-r2) (6/173) Purging py3-wheel-pyc (0.43.0-r0) (7/173) Purging py3-wheel (0.43.0-r0) (8/173) Purging python3-dev (3.12.7-r1) (9/173) Purging cython-pyc (3.0.10-r0) (10/173) Purging cython (3.0.10-r0) (11/173) Purging py3-coverage-pyc (7.5.1-r0) (12/173) Purging py3-coverage (7.5.1-r0) (13/173) Purging py3-pyaml-pyc (24.9.0-r0) (14/173) Purging py3-pyaml (24.9.0-r0) (15/173) Purging py3-yaml-pyc (6.0.2-r0) (16/173) Purging py3-yaml (6.0.2-r0) (17/173) Purging py3-pytest-asyncio-pyc (0.24.0-r0) (18/173) Purging py3-pytest-asyncio (0.24.0-r0) (19/173) Purging py3-pytest-pyc (8.3.4-r0) (20/173) Purging py3-pytest (8.3.4-r0) (21/173) Purging py3-iniconfig-pyc (2.0.0-r1) (22/173) Purging py3-iniconfig (2.0.0-r1) (23/173) Purging py3-pluggy-pyc (1.5.0-r0) (24/173) Purging py3-pluggy (1.5.0-r0) (25/173) Purging py3-py-pyc (1.11.0-r4) (26/173) Purging py3-py (1.11.0-r4) (27/173) Purging py3-aiofiles-pyc (24.1.0-r0) (28/173) Purging py3-aiofiles (24.1.0-r0) (29/173) Purging py3-httpx-pyc (0.27.2-r0) (30/173) Purging py3-httpx (0.27.2-r0) (31/173) Purging py3-httpcore-pyc (1.0.5-r0) (32/173) Purging py3-httpcore (1.0.5-r0) (33/173) Purging py3-anyio-pyc (4.3.0-r2) (34/173) Purging py3-anyio (4.3.0-r2) (35/173) Purging py3-sniffio-pyc (1.3.1-r1) (36/173) Purging py3-sniffio (1.3.1-r1) (37/173) Purging py3-curio-pyc (1.6-r2) (38/173) Purging py3-curio (1.6-r2) (39/173) Purging uvicorn-pyc (0.32.0-r0) (40/173) Purging uvicorn (0.32.0-r0) (41/173) Purging py3-click-pyc (8.1.7-r2) (42/173) Purging py3-click (8.1.7-r2) (43/173) Purging py3-h11-pyc (0.14.0-r4) (44/173) Purging py3-h11 (0.14.0-r4) (45/173) Purging py3-websockets-pyc (14.1-r0) (46/173) Purging py3-websockets (14.1-r0) (47/173) Purging py3-cbor2-pyc (5.6.5-r0) (48/173) Purging py3-cbor2 (5.6.5-r0) (49/173) Purging py3-msgpack-pyc (1.0.8-r1) (50/173) Purging py3-msgpack (1.0.8-r1) (51/173) Purging py3-mujson-pyc (1.4-r0) (52/173) Purging py3-mujson (1.4-r0) (53/173) Purging py3-ujson (5.10.0-r0) (54/173) Purging py3-rapidjson (1.12-r1) (55/173) Purging py3-orjson-pyc (3.10.12-r0) (56/173) Purging py3-orjson (3.10.12-r0) (57/173) Purging py3-gunicorn-pyc (23.0.0-r0) (58/173) Purging py3-gunicorn (23.0.0-r0) (59/173) Purging py3-daphne-pyc (4.1.2-r0) (60/173) Purging py3-daphne (4.1.2-r0) (61/173) Purging py3-autobahn-pyc (23.6.2-r1) (62/173) Purging py3-autobahn (23.6.2-r1) (63/173) Purging py3-txaio-pyc (23.1.1-r2) (64/173) Purging py3-txaio (23.1.1-r2) (65/173) Purging py3-twisted-pyc (22.10.0-r5) (66/173) Purging py3-twisted (22.10.0-r5) (67/173) Purging py3-zope-interface-pyc (6.0-r1) (68/173) Purging py3-zope-interface (6.0-r1) (69/173) Purging py3-constantly-pyc (23.10.4-r1) (70/173) Purging py3-constantly (23.10.4-r1) (71/173) Purging py3-incremental-pyc (22.10.0-r3) (72/173) Purging py3-incremental (22.10.0-r3) (73/173) Purging py3-automat-pyc (22.10.0-r3) (74/173) Purging py3-automat (22.10.0-r3) (75/173) Purging py3-six-pyc (1.16.0-r9) (76/173) Purging py3-six (1.16.0-r9) (77/173) Purging py3-hyperlink-pyc (21.0.0-r5) (78/173) Purging py3-hyperlink (21.0.0-r5) (79/173) Purging py3-typing-extensions-pyc (4.12.2-r0) (80/173) Purging py3-typing-extensions (4.12.2-r0) (81/173) Purging py3-pyhamcrest-pyc (2.1.0-r1) (82/173) Purging py3-pyhamcrest (2.1.0-r1) (83/173) Purging py3-service_identity-pyc (24.1.0-r1) (84/173) Purging py3-service_identity (24.1.0-r1) (85/173) Purging py3-asn1-modules-pyc (0.4.1-r0) (86/173) Purging py3-asn1-modules (0.4.1-r0) (87/173) Purging py3-asn1-pyc (0.6.1-r0) (88/173) Purging py3-asn1 (0.6.1-r0) (89/173) Purging py3-attrs-pyc (24.2.0-r0) (90/173) Purging py3-attrs (24.2.0-r0) (91/173) Purging py3-cryptography-pyc (44.0.0-r0) (92/173) Purging py3-cryptography (44.0.0-r0) (93/173) Purging py3-pyserial-pyc (3.5-r7) (94/173) Purging py3-pyserial (3.5-r7) (95/173) Purging py3-h2-pyc (4.1.0-r3) (96/173) Purging py3-h2 (4.1.0-r3) (97/173) Purging py3-hyperframe-pyc (6.0.1-r4) (98/173) Purging py3-hyperframe (6.0.1-r4) (99/173) Purging py3-hpack-pyc (4.0.0-r9) (100/173) Purging py3-hpack (4.0.0-r9) (101/173) Purging py3-sphinxcontrib-images-pyc (0.9.4-r4) (102/173) Purging py3-sphinxcontrib-images (0.9.4-r4) (103/173) Purging py3-sphinx-pyc (8.1.3-r0) (104/173) Purging py3-sphinx (8.1.3-r0) (105/173) Purging py3-babel-pyc (2.16.0-r0) (106/173) Purging py3-babel (2.16.0-r0) (107/173) Purging py3-tz-pyc (2024.2-r0) (108/173) Purging py3-tz (2024.2-r0) (109/173) Purging py3-docutils-pyc (0.21.2-r0) (110/173) Purging py3-docutils (0.21.2-r0) (111/173) Purging py3-imagesize-pyc (1.4.1-r4) (112/173) Purging py3-imagesize (1.4.1-r4) (113/173) Purging py3-jinja2-pyc (3.1.4-r0) (114/173) Purging py3-jinja2 (3.1.4-r0) (115/173) Purging py3-markupsafe-pyc (3.0.2-r0) (116/173) Purging py3-markupsafe (3.0.2-r0) (117/173) Purging py3-pygments-pyc (2.18.0-r0) (118/173) Purging py3-pygments (2.18.0-r0) (119/173) Purging py3-requests-pyc (2.32.3-r0) (120/173) Purging py3-requests (2.32.3-r0) (121/173) Purging py3-certifi-pyc (2024.8.30-r0) (122/173) Purging py3-certifi (2024.8.30-r0) (123/173) Purging py3-charset-normalizer-pyc (3.4.0-r0) (124/173) Purging py3-charset-normalizer (3.4.0-r0) (125/173) Purging py3-idna-pyc (3.10-r0) (126/173) Purging py3-idna (3.10-r0) (127/173) Purging py3-urllib3-pyc (1.26.20-r0) (128/173) Purging py3-urllib3 (1.26.20-r0) (129/173) Purging py3-snowballstemmer-pyc (2.2.0-r5) (130/173) Purging py3-snowballstemmer (2.2.0-r5) (131/173) Purging py3-alabaster-pyc (1.0.0-r0) (132/173) Purging py3-alabaster (1.0.0-r0) (133/173) Purging py3-sphinxcontrib-applehelp-pyc (1.0.4-r3) (134/173) Purging py3-sphinxcontrib-applehelp (1.0.4-r3) (135/173) Purging py3-sphinxcontrib-devhelp-pyc (1.0.5-r2) (136/173) Purging py3-sphinxcontrib-devhelp (1.0.5-r2) (137/173) Purging py3-sphinxcontrib-htmlhelp-pyc (2.0.1-r3) (138/173) Purging py3-sphinxcontrib-htmlhelp (2.0.1-r3) (139/173) Purging py3-sphinxcontrib-jsmath-pyc (1.0.1-r8) (140/173) Purging py3-sphinxcontrib-jsmath (1.0.1-r8) (141/173) Purging py3-sphinxcontrib-serializinghtml-pyc (1.1.9-r2) (142/173) Purging py3-sphinxcontrib-serializinghtml (1.1.9-r2) (143/173) Purging py3-sphinxcontrib-qthelp-pyc (1.0.6-r2) (144/173) Purging py3-sphinxcontrib-qthelp (1.0.6-r2) (145/173) Purging py3-setuptools-pyc (70.3.0-r0) (146/173) Purging py3-setuptools (70.3.0-r0) (147/173) Purging py3-packaging-pyc (24.2-r0) (148/173) Purging py3-packaging (24.2-r0) (149/173) Purging py3-parsing-pyc (3.1.4-r0) (150/173) Purging py3-parsing (3.1.4-r0) (151/173) Purging py3-pynacl-pyc (1.5.0-r5) (152/173) Purging py3-pynacl (1.5.0-r5) (153/173) Purging py3-cffi-pyc (1.17.1-r1) (154/173) Purging py3-cffi (1.17.1-r1) (155/173) Purging py3-cparser-pyc (2.22-r1) (156/173) Purging py3-cparser (2.22-r1) (157/173) Purging py3-asgiref-pyc (3.8.1-r1) (158/173) Purging py3-asgiref (3.8.1-r1) (159/173) Purging py3-waitress-openrc (3.0.2-r0) (160/173) Purging py3-waitress-pyc (3.0.2-r0) (161/173) Purging py3-waitress (3.0.2-r0) (162/173) Purging python3-pyc (3.12.7-r1) (163/173) Purging python3-pycache-pyc0 (3.12.7-r1) (164/173) Purging pyc (3.12.7-r1) (165/173) Purging python3 (3.12.7-r1) (166/173) Purging gdbm (1.24-r0) (167/173) Purging libbz2 (1.0.8-r6) (168/173) Purging libffi (3.4.6-r0) (169/173) Purging libpanelw (6.5_p20241006-r3) (170/173) Purging mpdecimal (4.0.0-r0) (171/173) Purging sqlite-libs (3.47.1-r0) (172/173) Purging xz-libs (5.6.3-r0) (173/173) Purging yaml (0.2.5-r2) Executing busybox-1.37.0-r8.trigger OK: 399 MiB in 103 packages >>> py3-falcon: Updating the testing/aarch64 repository index... >>> py3-falcon: Signing the index...