>>> py3-falcon: Building community/py3-falcon 4.0.2-r1 (using abuild 3.14.1-r3) started Mon, 16 Dec 2024 16:32:14 +0000 >>> py3-falcon: Validating /home/buildozer/aports/community/py3-falcon/APKBUILD... >>> py3-falcon: Analyzing dependencies... >>> py3-falcon: Installing for build: build-base python3 py3-gpep517 py3-setuptools py3-wheel python3-dev cython py3-coverage py3-pytest py3-pyaml py3-requests py3-pytest-asyncio py3-aiofiles py3-httpx py3-websockets py3-cbor2 py3-msgpack py3-mujson py3-ujson py3-rapidjson py3-orjson py3-gunicorn py3-daphne py3-waitress (1/169) Installing libbz2 (1.0.8-r6) (2/169) Installing libffi (3.4.6-r0) (3/169) Installing gdbm (1.24-r0) (4/169) Installing xz-libs (5.6.3-r0) (5/169) Installing mpdecimal (4.0.0-r0) (6/169) Installing libpanelw (6.5_p20241006-r3) (7/169) Installing sqlite-libs (3.47.2-r0) (8/169) Installing python3 (3.12.8-r1) (9/169) Installing python3-pycache-pyc0 (3.12.8-r1) (10/169) Installing pyc (3.12.8-r1) (11/169) Installing python3-pyc (3.12.8-r1) (12/169) Installing py3-installer (0.7.0-r2) (13/169) Installing py3-installer-pyc (0.7.0-r2) (14/169) Installing py3-gpep517 (16-r0) (15/169) Installing py3-gpep517-pyc (16-r0) (16/169) Installing py3-parsing (3.2.0-r0) (17/169) Installing py3-parsing-pyc (3.2.0-r0) (18/169) Installing py3-packaging (24.2-r0) (19/169) Installing py3-packaging-pyc (24.2-r0) (20/169) Installing py3-setuptools (70.3.0-r0) (21/169) Installing py3-setuptools-pyc (70.3.0-r0) (22/169) Installing py3-wheel (0.43.0-r0) (23/169) Installing py3-wheel-pyc (0.43.0-r0) (24/169) Installing python3-dev (3.12.8-r1) (25/169) Installing cython (3.0.10-r0) (26/169) Installing cython-pyc (3.0.10-r0) (27/169) Installing py3-coverage (7.5.1-r0) (28/169) Installing py3-coverage-pyc (7.5.1-r0) (29/169) Installing py3-iniconfig (2.0.0-r1) (30/169) Installing py3-iniconfig-pyc (2.0.0-r1) (31/169) Installing py3-pluggy (1.5.0-r0) (32/169) Installing py3-pluggy-pyc (1.5.0-r0) (33/169) Installing py3-py (1.11.0-r4) (34/169) Installing py3-py-pyc (1.11.0-r4) (35/169) Installing py3-pytest (8.3.4-r0) (36/169) Installing py3-pytest-pyc (8.3.4-r0) (37/169) Installing yaml (0.2.5-r2) (38/169) Installing py3-yaml (6.0.2-r0) (39/169) Installing py3-yaml-pyc (6.0.2-r0) (40/169) Installing py3-pyaml (24.12.1-r0) (41/169) Installing py3-pyaml-pyc (24.12.1-r0) (42/169) Installing py3-certifi (2024.8.30-r0) (43/169) Installing py3-certifi-pyc (2024.8.30-r0) (44/169) Installing py3-charset-normalizer (3.4.0-r0) (45/169) Installing py3-charset-normalizer-pyc (3.4.0-r0) (46/169) Installing py3-idna (3.10-r0) (47/169) Installing py3-idna-pyc (3.10-r0) (48/169) Installing py3-urllib3 (1.26.20-r0) (49/169) Installing py3-urllib3-pyc (1.26.20-r0) (50/169) Installing py3-requests (2.32.3-r0) (51/169) Installing py3-requests-pyc (2.32.3-r0) (52/169) Installing py3-pytest-asyncio (0.24.0-r0) (53/169) Installing py3-pytest-asyncio-pyc (0.24.0-r0) (54/169) Installing py3-aiofiles (24.1.0-r0) (55/169) Installing py3-aiofiles-pyc (24.1.0-r0) (56/169) Installing py3-curio (1.6-r2) (57/169) Installing py3-curio-pyc (1.6-r2) (58/169) Installing py3-sniffio (1.3.1-r1) (59/169) Installing py3-sniffio-pyc (1.3.1-r1) (60/169) Installing py3-anyio (4.3.0-r2) (61/169) Installing py3-anyio-pyc (4.3.0-r2) (62/169) Installing py3-h11 (0.14.0-r4) (63/169) Installing py3-h11-pyc (0.14.0-r4) (64/169) Installing py3-httpcore (1.0.5-r0) (65/169) Installing py3-httpcore-pyc (1.0.5-r0) (66/169) Installing py3-httpx (0.28.1-r0) (67/169) Installing py3-httpx-pyc (0.28.1-r0) (68/169) Installing py3-websockets (14.1-r0) (69/169) Installing py3-websockets-pyc (14.1-r0) (70/169) Installing py3-cbor2 (5.6.5-r0) (71/169) Installing py3-cbor2-pyc (5.6.5-r0) (72/169) Installing py3-msgpack (1.0.8-r1) (73/169) Installing py3-msgpack-pyc (1.0.8-r1) (74/169) Installing py3-mujson (1.4-r0) (75/169) Installing py3-mujson-pyc (1.4-r0) (76/169) Installing py3-ujson (5.10.0-r0) (77/169) Installing py3-rapidjson (1.12-r1) (78/169) Installing py3-orjson (3.10.12-r0) (79/169) Installing py3-orjson-pyc (3.10.12-r0) (80/169) Installing py3-gunicorn (23.0.0-r0) (81/169) Installing py3-gunicorn-pyc (23.0.0-r0) (82/169) Installing py3-cparser (2.22-r1) (83/169) Installing py3-cparser-pyc (2.22-r1) (84/169) Installing py3-cffi (1.17.1-r1) (85/169) Installing py3-cffi-pyc (1.17.1-r1) (86/169) Installing py3-cryptography (44.0.0-r0) (87/169) Installing py3-cryptography-pyc (44.0.0-r0) (88/169) Installing py3-zope-interface (6.0-r1) (89/169) Installing py3-zope-interface-pyc (6.0-r1) (90/169) Installing py3-constantly (23.10.4-r1) (91/169) Installing py3-constantly-pyc (23.10.4-r1) (92/169) Installing py3-incremental (22.10.0-r3) (93/169) Installing py3-incremental-pyc (22.10.0-r3) (94/169) Installing py3-attrs (24.2.0-r0) (95/169) Installing py3-attrs-pyc (24.2.0-r0) (96/169) Installing py3-six (1.17.0-r0) (97/169) Installing py3-six-pyc (1.17.0-r0) (98/169) Installing py3-automat (22.10.0-r3) (99/169) Installing py3-automat-pyc (22.10.0-r3) (100/169) Installing py3-hyperlink (21.0.0-r5) (101/169) Installing py3-hyperlink-pyc (21.0.0-r5) (102/169) Installing py3-typing-extensions (4.12.2-r0) (103/169) Installing py3-typing-extensions-pyc (4.12.2-r0) (104/169) Installing py3-pyhamcrest (2.1.0-r1) (105/169) Installing py3-pyhamcrest-pyc (2.1.0-r1) (106/169) Installing py3-asn1 (0.6.1-r0) (107/169) Installing py3-asn1-pyc (0.6.1-r0) (108/169) Installing py3-asn1-modules (0.4.1-r0) (109/169) Installing py3-asn1-modules-pyc (0.4.1-r0) (110/169) Installing py3-service_identity (24.1.0-r1) (111/169) Installing py3-service_identity-pyc (24.1.0-r1) (112/169) Installing py3-pyserial (3.5-r7) (113/169) Installing py3-pyserial-pyc (3.5-r7) (114/169) Installing py3-hyperframe (6.0.1-r4) (115/169) Installing py3-hyperframe-pyc (6.0.1-r4) (116/169) Installing py3-hpack (4.0.0-r9) (117/169) Installing py3-hpack-pyc (4.0.0-r9) (118/169) Installing py3-h2 (4.1.0-r3) (119/169) Installing py3-h2-pyc (4.1.0-r3) (120/169) Installing py3-twisted (22.10.0-r5) (121/169) Installing py3-twisted-pyc (22.10.0-r5) (122/169) Installing py3-txaio (23.1.1-r2) (123/169) Installing py3-txaio-pyc (23.1.1-r2) (124/169) Installing py3-tz (2024.2-r0) (125/169) Installing py3-tz-pyc (2024.2-r0) (126/169) Installing py3-babel (2.16.0-r0) (127/169) Installing py3-babel-pyc (2.16.0-r0) (128/169) Installing py3-docutils (0.21.2-r0) (129/169) Installing py3-docutils-pyc (0.21.2-r0) (130/169) Installing py3-imagesize (1.4.1-r4) (131/169) Installing py3-imagesize-pyc (1.4.1-r4) (132/169) Installing py3-markupsafe (3.0.2-r0) (133/169) Installing py3-markupsafe-pyc (3.0.2-r0) (134/169) Installing py3-jinja2 (3.1.4-r0) (135/169) Installing py3-jinja2-pyc (3.1.4-r0) (136/169) Installing py3-pygments (2.18.0-r0) (137/169) Installing py3-pygments-pyc (2.18.0-r0) (138/169) Installing py3-snowballstemmer (2.2.0-r5) (139/169) Installing py3-snowballstemmer-pyc (2.2.0-r5) (140/169) Installing py3-alabaster (1.0.0-r0) (141/169) Installing py3-alabaster-pyc (1.0.0-r0) (142/169) Installing py3-sphinxcontrib-applehelp (1.0.4-r3) (143/169) Installing py3-sphinxcontrib-applehelp-pyc (1.0.4-r3) (144/169) Installing py3-sphinxcontrib-devhelp (1.0.5-r2) (145/169) Installing py3-sphinxcontrib-devhelp-pyc (1.0.5-r2) (146/169) Installing py3-sphinxcontrib-htmlhelp (2.0.1-r3) (147/169) Installing py3-sphinxcontrib-htmlhelp-pyc (2.0.1-r3) (148/169) Installing py3-sphinxcontrib-jsmath (1.0.1-r8) (149/169) Installing py3-sphinxcontrib-jsmath-pyc (1.0.1-r8) (150/169) Installing py3-sphinxcontrib-serializinghtml (1.1.9-r2) (151/169) Installing py3-sphinxcontrib-serializinghtml-pyc (1.1.9-r2) (152/169) Installing py3-sphinxcontrib-qthelp (1.0.6-r2) (153/169) Installing py3-sphinxcontrib-qthelp-pyc (1.0.6-r2) (154/169) Installing py3-sphinx (8.1.3-r0) (155/169) Installing py3-sphinx-pyc (8.1.3-r0) (156/169) Installing py3-sphinxcontrib-images (0.9.4-r4) (157/169) Installing py3-sphinxcontrib-images-pyc (0.9.4-r4) (158/169) Installing py3-pynacl (1.5.0-r5) (159/169) Installing py3-pynacl-pyc (1.5.0-r5) (160/169) Installing py3-autobahn (23.6.2-r1) (161/169) Installing py3-autobahn-pyc (23.6.2-r1) (162/169) Installing py3-asgiref (3.8.1-r1) (163/169) Installing py3-asgiref-pyc (3.8.1-r1) (164/169) Installing py3-daphne (4.1.2-r0) (165/169) Installing py3-daphne-pyc (4.1.2-r0) (166/169) Installing py3-waitress (3.0.2-r0) (167/169) Installing py3-waitress-pyc (3.0.2-r0) (168/169) Installing .makedepends-py3-falcon (20241216.163215) (169/169) Installing py3-waitress-openrc (3.0.2-r0) Executing busybox-1.37.0-r10.trigger OK: 660 MiB in 275 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 >>> 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-16 16:32:18,260 gpep517 INFO Building wheel via backend setuptools.build_meta 2024-12-16 16:32:18,425 root INFO running bdist_wheel 2024-12-16 16:32:18,446 root INFO running build 2024-12-16 16:32:18,447 root INFO running build_py 2024-12-16 16:32:18,452 root INFO creating build 2024-12-16 16:32:18,452 root INFO creating build/lib.linux-s390x-cpython-312 2024-12-16 16:32:18,452 root INFO creating build/lib.linux-s390x-cpython-312/falcon 2024-12-16 16:32:18,452 root INFO copying falcon/hooks.py -> build/lib.linux-s390x-cpython-312/falcon 2024-12-16 16:32:18,452 root INFO copying falcon/version.py -> build/lib.linux-s390x-cpython-312/falcon 2024-12-16 16:32:18,453 root INFO copying falcon/__init__.py -> build/lib.linux-s390x-cpython-312/falcon 2024-12-16 16:32:18,453 root INFO copying falcon/app_helpers.py -> build/lib.linux-s390x-cpython-312/falcon 2024-12-16 16:32:18,453 root INFO copying falcon/constants.py -> build/lib.linux-s390x-cpython-312/falcon 2024-12-16 16:32:18,453 root INFO copying falcon/uri.py -> build/lib.linux-s390x-cpython-312/falcon 2024-12-16 16:32:18,453 root INFO copying falcon/responders.py -> build/lib.linux-s390x-cpython-312/falcon 2024-12-16 16:32:18,453 root INFO copying falcon/errors.py -> build/lib.linux-s390x-cpython-312/falcon 2024-12-16 16:32:18,453 root INFO copying falcon/http_status.py -> build/lib.linux-s390x-cpython-312/falcon 2024-12-16 16:32:18,453 root INFO copying falcon/middleware.py -> build/lib.linux-s390x-cpython-312/falcon 2024-12-16 16:32:18,454 root INFO copying falcon/http_error.py -> build/lib.linux-s390x-cpython-312/falcon 2024-12-16 16:32:18,454 root INFO copying falcon/asgi_spec.py -> build/lib.linux-s390x-cpython-312/falcon 2024-12-16 16:32:18,454 root INFO copying falcon/response_helpers.py -> build/lib.linux-s390x-cpython-312/falcon 2024-12-16 16:32:18,454 root INFO copying falcon/forwarded.py -> build/lib.linux-s390x-cpython-312/falcon 2024-12-16 16:32:18,454 root INFO copying falcon/_typing.py -> build/lib.linux-s390x-cpython-312/falcon 2024-12-16 16:32:18,454 root INFO copying falcon/app.py -> build/lib.linux-s390x-cpython-312/falcon 2024-12-16 16:32:18,454 root INFO copying falcon/typing.py -> build/lib.linux-s390x-cpython-312/falcon 2024-12-16 16:32:18,454 root INFO copying falcon/request_helpers.py -> build/lib.linux-s390x-cpython-312/falcon 2024-12-16 16:32:18,454 root INFO copying falcon/request.py -> build/lib.linux-s390x-cpython-312/falcon 2024-12-16 16:32:18,454 root INFO copying falcon/stream.py -> build/lib.linux-s390x-cpython-312/falcon 2024-12-16 16:32:18,455 root INFO copying falcon/redirects.py -> build/lib.linux-s390x-cpython-312/falcon 2024-12-16 16:32:18,455 root INFO copying falcon/status_codes.py -> build/lib.linux-s390x-cpython-312/falcon 2024-12-16 16:32:18,455 root INFO copying falcon/response.py -> build/lib.linux-s390x-cpython-312/falcon 2024-12-16 16:32:18,455 root INFO copying falcon/inspect.py -> build/lib.linux-s390x-cpython-312/falcon 2024-12-16 16:32:18,455 root INFO creating build/lib.linux-s390x-cpython-312/falcon/util 2024-12-16 16:32:18,455 root INFO copying falcon/util/__init__.py -> build/lib.linux-s390x-cpython-312/falcon/util 2024-12-16 16:32:18,455 root INFO copying falcon/util/deprecation.py -> build/lib.linux-s390x-cpython-312/falcon/util 2024-12-16 16:32:18,455 root INFO copying falcon/util/sync.py -> build/lib.linux-s390x-cpython-312/falcon/util 2024-12-16 16:32:18,456 root INFO copying falcon/util/uri.py -> build/lib.linux-s390x-cpython-312/falcon/util 2024-12-16 16:32:18,456 root INFO copying falcon/util/misc.py -> build/lib.linux-s390x-cpython-312/falcon/util 2024-12-16 16:32:18,456 root INFO copying falcon/util/mediatypes.py -> build/lib.linux-s390x-cpython-312/falcon/util 2024-12-16 16:32:18,456 root INFO copying falcon/util/time.py -> build/lib.linux-s390x-cpython-312/falcon/util 2024-12-16 16:32:18,456 root INFO copying falcon/util/structures.py -> build/lib.linux-s390x-cpython-312/falcon/util 2024-12-16 16:32:18,456 root INFO copying falcon/util/reader.py -> build/lib.linux-s390x-cpython-312/falcon/util 2024-12-16 16:32:18,456 root INFO creating build/lib.linux-s390x-cpython-312/falcon/cmd 2024-12-16 16:32:18,456 root INFO copying falcon/cmd/__init__.py -> build/lib.linux-s390x-cpython-312/falcon/cmd 2024-12-16 16:32:18,456 root INFO copying falcon/cmd/bench.py -> build/lib.linux-s390x-cpython-312/falcon/cmd 2024-12-16 16:32:18,456 root INFO copying falcon/cmd/inspect_app.py -> build/lib.linux-s390x-cpython-312/falcon/cmd 2024-12-16 16:32:18,457 root INFO creating build/lib.linux-s390x-cpython-312/falcon/bench 2024-12-16 16:32:18,457 root INFO copying falcon/bench/__init__.py -> build/lib.linux-s390x-cpython-312/falcon/bench 2024-12-16 16:32:18,457 root INFO copying falcon/bench/bench.py -> build/lib.linux-s390x-cpython-312/falcon/bench 2024-12-16 16:32:18,457 root INFO copying falcon/bench/create.py -> build/lib.linux-s390x-cpython-312/falcon/bench 2024-12-16 16:32:18,457 root INFO creating build/lib.linux-s390x-cpython-312/falcon/asgi 2024-12-16 16:32:18,457 root INFO copying falcon/asgi/ws.py -> build/lib.linux-s390x-cpython-312/falcon/asgi 2024-12-16 16:32:18,457 root INFO copying falcon/asgi/__init__.py -> build/lib.linux-s390x-cpython-312/falcon/asgi 2024-12-16 16:32:18,457 root INFO copying falcon/asgi/multipart.py -> build/lib.linux-s390x-cpython-312/falcon/asgi 2024-12-16 16:32:18,457 root INFO copying falcon/asgi/_request_helpers.py -> build/lib.linux-s390x-cpython-312/falcon/asgi 2024-12-16 16:32:18,457 root INFO copying falcon/asgi/app.py -> build/lib.linux-s390x-cpython-312/falcon/asgi 2024-12-16 16:32:18,458 root INFO copying falcon/asgi/_asgi_helpers.py -> build/lib.linux-s390x-cpython-312/falcon/asgi 2024-12-16 16:32:18,458 root INFO copying falcon/asgi/request.py -> build/lib.linux-s390x-cpython-312/falcon/asgi 2024-12-16 16:32:18,458 root INFO copying falcon/asgi/stream.py -> build/lib.linux-s390x-cpython-312/falcon/asgi 2024-12-16 16:32:18,458 root INFO copying falcon/asgi/structures.py -> build/lib.linux-s390x-cpython-312/falcon/asgi 2024-12-16 16:32:18,458 root INFO copying falcon/asgi/response.py -> build/lib.linux-s390x-cpython-312/falcon/asgi 2024-12-16 16:32:18,458 root INFO copying falcon/asgi/reader.py -> build/lib.linux-s390x-cpython-312/falcon/asgi 2024-12-16 16:32:18,458 root INFO creating build/lib.linux-s390x-cpython-312/falcon/testing 2024-12-16 16:32:18,458 root INFO copying falcon/testing/test_case.py -> build/lib.linux-s390x-cpython-312/falcon/testing 2024-12-16 16:32:18,458 root INFO copying falcon/testing/__init__.py -> build/lib.linux-s390x-cpython-312/falcon/testing 2024-12-16 16:32:18,459 root INFO copying falcon/testing/resource.py -> build/lib.linux-s390x-cpython-312/falcon/testing 2024-12-16 16:32:18,459 root INFO copying falcon/testing/srmock.py -> build/lib.linux-s390x-cpython-312/falcon/testing 2024-12-16 16:32:18,459 root INFO copying falcon/testing/helpers.py -> build/lib.linux-s390x-cpython-312/falcon/testing 2024-12-16 16:32:18,459 root INFO copying falcon/testing/client.py -> build/lib.linux-s390x-cpython-312/falcon/testing 2024-12-16 16:32:18,459 root INFO creating build/lib.linux-s390x-cpython-312/falcon/media 2024-12-16 16:32:18,459 root INFO copying falcon/media/__init__.py -> build/lib.linux-s390x-cpython-312/falcon/media 2024-12-16 16:32:18,459 root INFO copying falcon/media/multipart.py -> build/lib.linux-s390x-cpython-312/falcon/media 2024-12-16 16:32:18,459 root INFO copying falcon/media/urlencoded.py -> build/lib.linux-s390x-cpython-312/falcon/media 2024-12-16 16:32:18,460 root INFO copying falcon/media/json.py -> build/lib.linux-s390x-cpython-312/falcon/media 2024-12-16 16:32:18,460 root INFO copying falcon/media/base.py -> build/lib.linux-s390x-cpython-312/falcon/media 2024-12-16 16:32:18,460 root INFO copying falcon/media/handlers.py -> build/lib.linux-s390x-cpython-312/falcon/media 2024-12-16 16:32:18,460 root INFO copying falcon/media/msgpack.py -> build/lib.linux-s390x-cpython-312/falcon/media 2024-12-16 16:32:18,460 root INFO creating build/lib.linux-s390x-cpython-312/falcon/cyutil 2024-12-16 16:32:18,460 root INFO copying falcon/cyutil/__init__.py -> build/lib.linux-s390x-cpython-312/falcon/cyutil 2024-12-16 16:32:18,460 root INFO creating build/lib.linux-s390x-cpython-312/falcon/routing 2024-12-16 16:32:18,460 root INFO copying falcon/routing/static.py -> build/lib.linux-s390x-cpython-312/falcon/routing 2024-12-16 16:32:18,460 root INFO copying falcon/routing/__init__.py -> build/lib.linux-s390x-cpython-312/falcon/routing 2024-12-16 16:32:18,460 root INFO copying falcon/routing/compiled.py -> build/lib.linux-s390x-cpython-312/falcon/routing 2024-12-16 16:32:18,461 root INFO copying falcon/routing/util.py -> build/lib.linux-s390x-cpython-312/falcon/routing 2024-12-16 16:32:18,461 root INFO copying falcon/routing/converters.py -> build/lib.linux-s390x-cpython-312/falcon/routing 2024-12-16 16:32:18,461 root INFO creating build/lib.linux-s390x-cpython-312/falcon/bench/dj 2024-12-16 16:32:18,461 root INFO copying falcon/bench/dj/__init__.py -> build/lib.linux-s390x-cpython-312/falcon/bench/dj 2024-12-16 16:32:18,461 root INFO copying falcon/bench/dj/manage.py -> build/lib.linux-s390x-cpython-312/falcon/bench/dj 2024-12-16 16:32:18,461 root INFO creating build/lib.linux-s390x-cpython-312/falcon/bench/nuts 2024-12-16 16:32:18,461 root INFO copying falcon/bench/nuts/__init__.py -> build/lib.linux-s390x-cpython-312/falcon/bench/nuts 2024-12-16 16:32:18,461 root INFO copying falcon/bench/nuts/config.py -> build/lib.linux-s390x-cpython-312/falcon/bench/nuts 2024-12-16 16:32:18,461 root INFO copying falcon/bench/nuts/setup.py -> build/lib.linux-s390x-cpython-312/falcon/bench/nuts 2024-12-16 16:32:18,462 root INFO creating build/lib.linux-s390x-cpython-312/falcon/bench/queues 2024-12-16 16:32:18,462 root INFO copying falcon/bench/queues/__init__.py -> build/lib.linux-s390x-cpython-312/falcon/bench/queues 2024-12-16 16:32:18,462 root INFO copying falcon/bench/queues/queues.py -> build/lib.linux-s390x-cpython-312/falcon/bench/queues 2024-12-16 16:32:18,462 root INFO copying falcon/bench/queues/messages.py -> build/lib.linux-s390x-cpython-312/falcon/bench/queues 2024-12-16 16:32:18,462 root INFO copying falcon/bench/queues/claims.py -> build/lib.linux-s390x-cpython-312/falcon/bench/queues 2024-12-16 16:32:18,462 root INFO copying falcon/bench/queues/api.py -> build/lib.linux-s390x-cpython-312/falcon/bench/queues 2024-12-16 16:32:18,462 root INFO copying falcon/bench/queues/stats.py -> build/lib.linux-s390x-cpython-312/falcon/bench/queues 2024-12-16 16:32:18,462 root INFO creating build/lib.linux-s390x-cpython-312/falcon/bench/dj/dj 2024-12-16 16:32:18,462 root INFO copying falcon/bench/dj/dj/__init__.py -> build/lib.linux-s390x-cpython-312/falcon/bench/dj/dj 2024-12-16 16:32:18,462 root INFO copying falcon/bench/dj/dj/urls.py -> build/lib.linux-s390x-cpython-312/falcon/bench/dj/dj 2024-12-16 16:32:18,462 root INFO copying falcon/bench/dj/dj/wsgi.py -> build/lib.linux-s390x-cpython-312/falcon/bench/dj/dj 2024-12-16 16:32:18,462 root INFO copying falcon/bench/dj/dj/settings.py -> build/lib.linux-s390x-cpython-312/falcon/bench/dj/dj 2024-12-16 16:32:18,463 root INFO creating build/lib.linux-s390x-cpython-312/falcon/bench/dj/hello 2024-12-16 16:32:18,463 root INFO copying falcon/bench/dj/hello/apps.py -> build/lib.linux-s390x-cpython-312/falcon/bench/dj/hello 2024-12-16 16:32:18,463 root INFO copying falcon/bench/dj/hello/__init__.py -> build/lib.linux-s390x-cpython-312/falcon/bench/dj/hello 2024-12-16 16:32:18,463 root INFO copying falcon/bench/dj/hello/views.py -> build/lib.linux-s390x-cpython-312/falcon/bench/dj/hello 2024-12-16 16:32:18,463 root INFO copying falcon/bench/dj/hello/admin.py -> build/lib.linux-s390x-cpython-312/falcon/bench/dj/hello 2024-12-16 16:32:18,463 root INFO copying falcon/bench/dj/hello/models.py -> build/lib.linux-s390x-cpython-312/falcon/bench/dj/hello 2024-12-16 16:32:18,463 root INFO copying falcon/bench/dj/hello/tests.py -> build/lib.linux-s390x-cpython-312/falcon/bench/dj/hello 2024-12-16 16:32:18,463 root INFO creating build/lib.linux-s390x-cpython-312/falcon/bench/dj/hello/migrations 2024-12-16 16:32:18,463 root INFO copying falcon/bench/dj/hello/migrations/__init__.py -> build/lib.linux-s390x-cpython-312/falcon/bench/dj/hello/migrations 2024-12-16 16:32:18,463 root INFO creating build/lib.linux-s390x-cpython-312/falcon/bench/nuts/nuts 2024-12-16 16:32:18,464 root INFO copying falcon/bench/nuts/nuts/__init__.py -> build/lib.linux-s390x-cpython-312/falcon/bench/nuts/nuts 2024-12-16 16:32:18,464 root INFO copying falcon/bench/nuts/nuts/app.py -> build/lib.linux-s390x-cpython-312/falcon/bench/nuts/nuts 2024-12-16 16:32:18,464 root INFO creating build/lib.linux-s390x-cpython-312/falcon/bench/nuts/nuts/controllers 2024-12-16 16:32:18,464 root INFO copying falcon/bench/nuts/nuts/controllers/__init__.py -> build/lib.linux-s390x-cpython-312/falcon/bench/nuts/nuts/controllers 2024-12-16 16:32:18,464 root INFO copying falcon/bench/nuts/nuts/controllers/root.py -> build/lib.linux-s390x-cpython-312/falcon/bench/nuts/nuts/controllers 2024-12-16 16:32:18,464 root INFO creating build/lib.linux-s390x-cpython-312/falcon/bench/nuts/nuts/tests 2024-12-16 16:32:18,464 root INFO copying falcon/bench/nuts/nuts/tests/__init__.py -> build/lib.linux-s390x-cpython-312/falcon/bench/nuts/nuts/tests 2024-12-16 16:32:18,464 root INFO copying falcon/bench/nuts/nuts/tests/test_functional.py -> build/lib.linux-s390x-cpython-312/falcon/bench/nuts/nuts/tests 2024-12-16 16:32:18,464 root INFO copying falcon/bench/nuts/nuts/tests/test_units.py -> build/lib.linux-s390x-cpython-312/falcon/bench/nuts/nuts/tests 2024-12-16 16:32:18,464 root INFO copying falcon/bench/nuts/nuts/tests/config.py -> build/lib.linux-s390x-cpython-312/falcon/bench/nuts/nuts/tests 2024-12-16 16:32:18,465 root INFO creating build/lib.linux-s390x-cpython-312/falcon/bench/nuts/nuts/model 2024-12-16 16:32:18,465 root INFO copying falcon/bench/nuts/nuts/model/__init__.py -> build/lib.linux-s390x-cpython-312/falcon/bench/nuts/nuts/model 2024-12-16 16:32:18,465 root INFO creating build/lib.linux-s390x-cpython-312/falcon/media/validators 2024-12-16 16:32:18,465 root INFO copying falcon/media/validators/__init__.py -> build/lib.linux-s390x-cpython-312/falcon/media/validators 2024-12-16 16:32:18,465 root INFO copying falcon/media/validators/jsonschema.py -> build/lib.linux-s390x-cpython-312/falcon/media/validators 2024-12-16 16:32:18,465 root INFO running egg_info 2024-12-16 16:32:18,465 root INFO creating falcon.egg-info 2024-12-16 16:32:18,471 root INFO writing falcon.egg-info/PKG-INFO 2024-12-16 16:32:18,471 root INFO writing dependency_links to falcon.egg-info/dependency_links.txt 2024-12-16 16:32:18,472 root INFO writing entry points to falcon.egg-info/entry_points.txt 2024-12-16 16:32:18,472 root INFO writing requirements to falcon.egg-info/requires.txt 2024-12-16 16:32:18,472 root INFO writing top-level names to falcon.egg-info/top_level.txt 2024-12-16 16:32:18,472 root INFO writing manifest file 'falcon.egg-info/SOURCES.txt' 2024-12-16 16:32:18,481 root INFO reading manifest file 'falcon.egg-info/SOURCES.txt' 2024-12-16 16:32:18,481 root INFO reading manifest template 'MANIFEST.in' 2024-12-16 16:32:18,492 root WARNING no previously-included directories found matching 'docs/_build' 2024-12-16 16:32:18,492 root INFO adding license file 'LICENSE' 2024-12-16 16:32:18,495 root INFO writing manifest file 'falcon.egg-info/SOURCES.txt' 2024-12-16 16:32:18,498 root INFO copying falcon/py.typed -> build/lib.linux-s390x-cpython-312/falcon 2024-12-16 16:32:18,498 root INFO copying falcon/cyutil/misc.pyx -> build/lib.linux-s390x-cpython-312/falcon/cyutil 2024-12-16 16:32:18,498 root INFO copying falcon/cyutil/reader.pyx -> build/lib.linux-s390x-cpython-312/falcon/cyutil 2024-12-16 16:32:18,498 root INFO copying falcon/cyutil/uri.pyx -> build/lib.linux-s390x-cpython-312/falcon/cyutil 2024-12-16 16:32:18,500 root INFO running build_ext Compiling falcon/version.py because it changed. [1/1] Cythonizing falcon/version.py 2024-12-16 16:32:18,787 root INFO building 'falcon.version' extension 2024-12-16 16:32:18,787 root INFO creating build/temp.linux-s390x-cpython-312 2024-12-16 16:32:18,787 root INFO creating build/temp.linux-s390x-cpython-312/falcon 2024-12-16 16:32:18,788 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-s390x-cpython-312/falcon/version.o 2024-12-16 16:32:19,082 root INFO gcc -shared -Wl,--as-needed,-O1,--sort-common -Os -fstack-clash-protection -Wformat -Werror=format-security build/temp.linux-s390x-cpython-312/falcon/version.o -L/usr/lib -o build/lib.linux-s390x-cpython-312/falcon/version.cpython-312-s390x-linux-musl.so Compiling falcon/app_helpers.py because it changed. [1/1] Cythonizing falcon/app_helpers.py 2024-12-16 16:32:19,185 root INFO building 'falcon.app_helpers' extension 2024-12-16 16:32:19,185 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-s390x-cpython-312/falcon/app_helpers.o 2024-12-16 16:32:23,766 root INFO gcc -shared -Wl,--as-needed,-O1,--sort-common -Os -fstack-clash-protection -Wformat -Werror=format-security build/temp.linux-s390x-cpython-312/falcon/app_helpers.o -L/usr/lib -o build/lib.linux-s390x-cpython-312/falcon/app_helpers.cpython-312-s390x-linux-musl.so Compiling falcon/constants.py because it changed. [1/1] Cythonizing falcon/constants.py 2024-12-16 16:32:23,812 root INFO building 'falcon.constants' extension 2024-12-16 16:32:23,812 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-s390x-cpython-312/falcon/constants.o 2024-12-16 16:32:26,585 root INFO gcc -shared -Wl,--as-needed,-O1,--sort-common -Os -fstack-clash-protection -Wformat -Werror=format-security build/temp.linux-s390x-cpython-312/falcon/constants.o -L/usr/lib -o build/lib.linux-s390x-cpython-312/falcon/constants.cpython-312-s390x-linux-musl.so Compiling falcon/uri.py because it changed. [1/1] Cythonizing falcon/uri.py 2024-12-16 16:32:26,606 root INFO building 'falcon.uri' extension 2024-12-16 16:32:26,606 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-s390x-cpython-312/falcon/uri.o 2024-12-16 16:32:27,024 root INFO gcc -shared -Wl,--as-needed,-O1,--sort-common -Os -fstack-clash-protection -Wformat -Werror=format-security build/temp.linux-s390x-cpython-312/falcon/uri.o -L/usr/lib -o build/lib.linux-s390x-cpython-312/falcon/uri.cpython-312-s390x-linux-musl.so Compiling falcon/errors.py because it changed. [1/1] Cythonizing falcon/errors.py 2024-12-16 16:32:27,246 root INFO building 'falcon.errors' extension 2024-12-16 16:32:27,246 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-s390x-cpython-312/falcon/errors.o 2024-12-16 16:32:37,127 root INFO gcc -shared -Wl,--as-needed,-O1,--sort-common -Os -fstack-clash-protection -Wformat -Werror=format-security build/temp.linux-s390x-cpython-312/falcon/errors.o -L/usr/lib -o build/lib.linux-s390x-cpython-312/falcon/errors.cpython-312-s390x-linux-musl.so Compiling falcon/http_status.py because it changed. [1/1] Cythonizing falcon/http_status.py 2024-12-16 16:32:37,162 root INFO building 'falcon.http_status' extension 2024-12-16 16:32:37,162 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-s390x-cpython-312/falcon/http_status.o 2024-12-16 16:32:38,380 root INFO gcc -shared -Wl,--as-needed,-O1,--sort-common -Os -fstack-clash-protection -Wformat -Werror=format-security build/temp.linux-s390x-cpython-312/falcon/http_status.o -L/usr/lib -o build/lib.linux-s390x-cpython-312/falcon/http_status.cpython-312-s390x-linux-musl.so Compiling falcon/middleware.py because it changed. [1/1] Cythonizing falcon/middleware.py 2024-12-16 16:32:38,429 root INFO building 'falcon.middleware' extension 2024-12-16 16:32:38,429 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-s390x-cpython-312/falcon/middleware.o 2024-12-16 16:32:40,732 root INFO gcc -shared -Wl,--as-needed,-O1,--sort-common -Os -fstack-clash-protection -Wformat -Werror=format-security build/temp.linux-s390x-cpython-312/falcon/middleware.o -L/usr/lib -o build/lib.linux-s390x-cpython-312/falcon/middleware.cpython-312-s390x-linux-musl.so Compiling falcon/http_error.py because it changed. [1/1] Cythonizing falcon/http_error.py 2024-12-16 16:32:40,839 root INFO building 'falcon.http_error' extension 2024-12-16 16:32:40,839 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-s390x-cpython-312/falcon/http_error.o 2024-12-16 16:32:43,490 root INFO gcc -shared -Wl,--as-needed,-O1,--sort-common -Os -fstack-clash-protection -Wformat -Werror=format-security build/temp.linux-s390x-cpython-312/falcon/http_error.o -L/usr/lib -o build/lib.linux-s390x-cpython-312/falcon/http_error.cpython-312-s390x-linux-musl.so Compiling falcon/asgi_spec.py because it changed. [1/1] Cythonizing falcon/asgi_spec.py 2024-12-16 16:32:43,518 root INFO building 'falcon.asgi_spec' extension 2024-12-16 16:32:43,518 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-s390x-cpython-312/falcon/asgi_spec.o 2024-12-16 16:32:44,456 root INFO gcc -shared -Wl,--as-needed,-O1,--sort-common -Os -fstack-clash-protection -Wformat -Werror=format-security build/temp.linux-s390x-cpython-312/falcon/asgi_spec.o -L/usr/lib -o build/lib.linux-s390x-cpython-312/falcon/asgi_spec.cpython-312-s390x-linux-musl.so Compiling falcon/response_helpers.py because it changed. [1/1] Cythonizing falcon/response_helpers.py 2024-12-16 16:32:44,505 root INFO building 'falcon.response_helpers' extension 2024-12-16 16:32:44,505 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-s390x-cpython-312/falcon/response_helpers.o 2024-12-16 16:32:46,638 root INFO gcc -shared -Wl,--as-needed,-O1,--sort-common -Os -fstack-clash-protection -Wformat -Werror=format-security build/temp.linux-s390x-cpython-312/falcon/response_helpers.o -L/usr/lib -o build/lib.linux-s390x-cpython-312/falcon/response_helpers.cpython-312-s390x-linux-musl.so Compiling falcon/forwarded.py because it changed. [1/1] Cythonizing falcon/forwarded.py 2024-12-16 16:32:46,696 root INFO building 'falcon.forwarded' extension 2024-12-16 16:32:46,696 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-s390x-cpython-312/falcon/forwarded.o 2024-12-16 16:32:49,212 root INFO gcc -shared -Wl,--as-needed,-O1,--sort-common -Os -fstack-clash-protection -Wformat -Werror=format-security build/temp.linux-s390x-cpython-312/falcon/forwarded.o -L/usr/lib -o build/lib.linux-s390x-cpython-312/falcon/forwarded.cpython-312-s390x-linux-musl.so Compiling falcon/_typing.py because it changed. [1/1] Cythonizing falcon/_typing.py 2024-12-16 16:32:49,292 root INFO building 'falcon._typing' extension 2024-12-16 16:32:49,292 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-s390x-cpython-312/falcon/_typing.o 2024-12-16 16:32:54,182 root INFO gcc -shared -Wl,--as-needed,-O1,--sort-common -Os -fstack-clash-protection -Wformat -Werror=format-security build/temp.linux-s390x-cpython-312/falcon/_typing.o -L/usr/lib -o build/lib.linux-s390x-cpython-312/falcon/_typing.cpython-312-s390x-linux-musl.so Compiling falcon/app.py because it changed. [1/1] Cythonizing falcon/app.py 2024-12-16 16:32:54,367 root INFO building 'falcon.app' extension 2024-12-16 16:32:54,367 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-s390x-cpython-312/falcon/app.o 2024-12-16 16:33:02,851 root INFO gcc -shared -Wl,--as-needed,-O1,--sort-common -Os -fstack-clash-protection -Wformat -Werror=format-security build/temp.linux-s390x-cpython-312/falcon/app.o -L/usr/lib -o build/lib.linux-s390x-cpython-312/falcon/app.cpython-312-s390x-linux-musl.so Compiling falcon/typing.py because it changed. [1/1] Cythonizing falcon/typing.py 2024-12-16 16:33:02,888 root INFO building 'falcon.typing' extension 2024-12-16 16:33:02,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/typing.c -o build/temp.linux-s390x-cpython-312/falcon/typing.o 2024-12-16 16:33:04,610 root INFO gcc -shared -Wl,--as-needed,-O1,--sort-common -Os -fstack-clash-protection -Wformat -Werror=format-security build/temp.linux-s390x-cpython-312/falcon/typing.o -L/usr/lib -o build/lib.linux-s390x-cpython-312/falcon/typing.cpython-312-s390x-linux-musl.so Compiling falcon/request_helpers.py because it changed. [1/1] Cythonizing falcon/request_helpers.py 2024-12-16 16:33:04,654 root INFO building 'falcon.request_helpers' extension 2024-12-16 16:33:04,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/request_helpers.c -o build/temp.linux-s390x-cpython-312/falcon/request_helpers.o 2024-12-16 16:33:06,598 root INFO gcc -shared -Wl,--as-needed,-O1,--sort-common -Os -fstack-clash-protection -Wformat -Werror=format-security build/temp.linux-s390x-cpython-312/falcon/request_helpers.o -L/usr/lib -o build/lib.linux-s390x-cpython-312/falcon/request_helpers.cpython-312-s390x-linux-musl.so Compiling falcon/request.py because it changed. [1/1] Cythonizing falcon/request.py 2024-12-16 16:33:07,014 root INFO building 'falcon.request' extension 2024-12-16 16:33:07,014 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-s390x-cpython-312/falcon/request.o 2024-12-16 16:33:22,995 root INFO gcc -shared -Wl,--as-needed,-O1,--sort-common -Os -fstack-clash-protection -Wformat -Werror=format-security build/temp.linux-s390x-cpython-312/falcon/request.o -L/usr/lib -o build/lib.linux-s390x-cpython-312/falcon/request.cpython-312-s390x-linux-musl.so Compiling falcon/stream.py because it changed. [1/1] Cythonizing falcon/stream.py 2024-12-16 16:33:23,060 root INFO building 'falcon.stream' extension 2024-12-16 16:33:23,061 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-s390x-cpython-312/falcon/stream.o 2024-12-16 16:33:25,386 root INFO gcc -shared -Wl,--as-needed,-O1,--sort-common -Os -fstack-clash-protection -Wformat -Werror=format-security build/temp.linux-s390x-cpython-312/falcon/stream.o -L/usr/lib -o build/lib.linux-s390x-cpython-312/falcon/stream.cpython-312-s390x-linux-musl.so Compiling falcon/redirects.py because it changed. [1/1] Cythonizing falcon/redirects.py 2024-12-16 16:33:25,430 root INFO building 'falcon.redirects' extension 2024-12-16 16:33:25,430 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-s390x-cpython-312/falcon/redirects.o 2024-12-16 16:33:27,164 root INFO gcc -shared -Wl,--as-needed,-O1,--sort-common -Os -fstack-clash-protection -Wformat -Werror=format-security build/temp.linux-s390x-cpython-312/falcon/redirects.o -L/usr/lib -o build/lib.linux-s390x-cpython-312/falcon/redirects.cpython-312-s390x-linux-musl.so Compiling falcon/status_codes.py because it changed. [1/1] Cythonizing falcon/status_codes.py 2024-12-16 16:33:27,269 root INFO building 'falcon.status_codes' extension 2024-12-16 16:33:27,270 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-s390x-cpython-312/falcon/status_codes.o 2024-12-16 16:33:31,617 root INFO gcc -shared -Wl,--as-needed,-O1,--sort-common -Os -fstack-clash-protection -Wformat -Werror=format-security build/temp.linux-s390x-cpython-312/falcon/status_codes.o -L/usr/lib -o build/lib.linux-s390x-cpython-312/falcon/status_codes.cpython-312-s390x-linux-musl.so Compiling falcon/response.py because it changed. [1/1] Cythonizing falcon/response.py 2024-12-16 16:33:31,775 root INFO building 'falcon.response' extension 2024-12-16 16:33:31,775 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-s390x-cpython-312/falcon/response.o 2024-12-16 16:33:39,653 root INFO gcc -shared -Wl,--as-needed,-O1,--sort-common -Os -fstack-clash-protection -Wformat -Werror=format-security build/temp.linux-s390x-cpython-312/falcon/response.o -L/usr/lib -o build/lib.linux-s390x-cpython-312/falcon/response.cpython-312-s390x-linux-musl.so Compiling falcon/cyutil/uri.pyx because it changed. [1/1] Cythonizing falcon/cyutil/uri.pyx 2024-12-16 16:33:39,753 root INFO building 'falcon.cyutil.uri' extension 2024-12-16 16:33:39,753 root INFO creating build/temp.linux-s390x-cpython-312/falcon/cyutil 2024-12-16 16:33:39,753 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-s390x-cpython-312/falcon/cyutil/uri.o 2024-12-16 16:33:41,175 root INFO gcc -shared -Wl,--as-needed,-O1,--sort-common -Os -fstack-clash-protection -Wformat -Werror=format-security build/temp.linux-s390x-cpython-312/falcon/cyutil/uri.o -L/usr/lib -o build/lib.linux-s390x-cpython-312/falcon/cyutil/uri.cpython-312-s390x-linux-musl.so Compiling falcon/cyutil/reader.pyx because it changed. [1/1] Cythonizing falcon/cyutil/reader.pyx 2024-12-16 16:33:41,297 root INFO building 'falcon.cyutil.reader' extension 2024-12-16 16:33:41,297 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-s390x-cpython-312/falcon/cyutil/reader.o 2024-12-16 16:33:44,127 root INFO gcc -shared -Wl,--as-needed,-O1,--sort-common -Os -fstack-clash-protection -Wformat -Werror=format-security build/temp.linux-s390x-cpython-312/falcon/cyutil/reader.o -L/usr/lib -o build/lib.linux-s390x-cpython-312/falcon/cyutil/reader.cpython-312-s390x-linux-musl.so Compiling falcon/cyutil/misc.pyx because it changed. [1/1] Cythonizing falcon/cyutil/misc.pyx 2024-12-16 16:33:44,152 root INFO building 'falcon.cyutil.misc' extension 2024-12-16 16:33:44,152 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-s390x-cpython-312/falcon/cyutil/misc.o 2024-12-16 16:33:44,945 root INFO gcc -shared -Wl,--as-needed,-O1,--sort-common -Os -fstack-clash-protection -Wformat -Werror=format-security build/temp.linux-s390x-cpython-312/falcon/cyutil/misc.o -L/usr/lib -o build/lib.linux-s390x-cpython-312/falcon/cyutil/misc.cpython-312-s390x-linux-musl.so Compiling falcon/media/multipart.py because it changed. [1/1] Cythonizing falcon/media/multipart.py 2024-12-16 16:33:45,119 root INFO building 'falcon.media.multipart' extension 2024-12-16 16:33:45,119 root INFO creating build/temp.linux-s390x-cpython-312/falcon/media 2024-12-16 16:33:45,119 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-s390x-cpython-312/falcon/media/multipart.o 2024-12-16 16:33:51,538 root INFO gcc -shared -Wl,--as-needed,-O1,--sort-common -Os -fstack-clash-protection -Wformat -Werror=format-security build/temp.linux-s390x-cpython-312/falcon/media/multipart.o -L/usr/lib -o build/lib.linux-s390x-cpython-312/falcon/media/multipart.cpython-312-s390x-linux-musl.so Compiling falcon/media/urlencoded.py because it changed. [1/1] Cythonizing falcon/media/urlencoded.py 2024-12-16 16:33:51,585 root INFO building 'falcon.media.urlencoded' extension 2024-12-16 16:33:51,586 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-s390x-cpython-312/falcon/media/urlencoded.o 2024-12-16 16:33:53,910 root INFO gcc -shared -Wl,--as-needed,-O1,--sort-common -Os -fstack-clash-protection -Wformat -Werror=format-security build/temp.linux-s390x-cpython-312/falcon/media/urlencoded.o -L/usr/lib -o build/lib.linux-s390x-cpython-312/falcon/media/urlencoded.cpython-312-s390x-linux-musl.so Compiling falcon/media/json.py because it changed. [1/1] Cythonizing falcon/media/json.py 2024-12-16 16:33:53,973 root INFO building 'falcon.media.json' extension 2024-12-16 16:33:53,973 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-s390x-cpython-312/falcon/media/json.o 2024-12-16 16:33:57,229 root INFO gcc -shared -Wl,--as-needed,-O1,--sort-common -Os -fstack-clash-protection -Wformat -Werror=format-security build/temp.linux-s390x-cpython-312/falcon/media/json.o -L/usr/lib -o build/lib.linux-s390x-cpython-312/falcon/media/json.cpython-312-s390x-linux-musl.so Compiling falcon/media/base.py because it changed. [1/1] Cythonizing falcon/media/base.py 2024-12-16 16:33:57,280 root INFO building 'falcon.media.base' extension 2024-12-16 16:33:57,280 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-s390x-cpython-312/falcon/media/base.o 2024-12-16 16:33:59,738 root INFO gcc -shared -Wl,--as-needed,-O1,--sort-common -Os -fstack-clash-protection -Wformat -Werror=format-security build/temp.linux-s390x-cpython-312/falcon/media/base.o -L/usr/lib -o build/lib.linux-s390x-cpython-312/falcon/media/base.cpython-312-s390x-linux-musl.so Compiling falcon/media/handlers.py because it changed. [1/1] Cythonizing falcon/media/handlers.py 2024-12-16 16:33:59,807 root INFO building 'falcon.media.handlers' extension 2024-12-16 16:33:59,807 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-s390x-cpython-312/falcon/media/handlers.o 2024-12-16 16:34:03,334 root INFO gcc -shared -Wl,--as-needed,-O1,--sort-common -Os -fstack-clash-protection -Wformat -Werror=format-security build/temp.linux-s390x-cpython-312/falcon/media/handlers.o -L/usr/lib -o build/lib.linux-s390x-cpython-312/falcon/media/handlers.cpython-312-s390x-linux-musl.so Compiling falcon/media/msgpack.py because it changed. [1/1] Cythonizing falcon/media/msgpack.py 2024-12-16 16:34:03,392 root INFO building 'falcon.media.msgpack' extension 2024-12-16 16:34:03,392 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-s390x-cpython-312/falcon/media/msgpack.o 2024-12-16 16:34:06,281 root INFO gcc -shared -Wl,--as-needed,-O1,--sort-common -Os -fstack-clash-protection -Wformat -Werror=format-security build/temp.linux-s390x-cpython-312/falcon/media/msgpack.o -L/usr/lib -o build/lib.linux-s390x-cpython-312/falcon/media/msgpack.cpython-312-s390x-linux-musl.so Compiling falcon/routing/static.py because it changed. [1/1] Cythonizing falcon/routing/static.py 2024-12-16 16:34:06,376 root INFO building 'falcon.routing.static' extension 2024-12-16 16:34:06,376 root INFO creating build/temp.linux-s390x-cpython-312/falcon/routing 2024-12-16 16:34:06,376 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-s390x-cpython-312/falcon/routing/static.o 2024-12-16 16:34:11,589 root INFO gcc -shared -Wl,--as-needed,-O1,--sort-common -Os -fstack-clash-protection -Wformat -Werror=format-security build/temp.linux-s390x-cpython-312/falcon/routing/static.o -L/usr/lib -o build/lib.linux-s390x-cpython-312/falcon/routing/static.cpython-312-s390x-linux-musl.so Compiling falcon/routing/compiled.py because it changed. [1/1] Cythonizing falcon/routing/compiled.py 2024-12-16 16:34:11,907 root INFO building 'falcon.routing.compiled' extension 2024-12-16 16:34:11,907 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-s390x-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-16 16:34:24,889 root INFO gcc -shared -Wl,--as-needed,-O1,--sort-common -Os -fstack-clash-protection -Wformat -Werror=format-security build/temp.linux-s390x-cpython-312/falcon/routing/compiled.o -L/usr/lib -o build/lib.linux-s390x-cpython-312/falcon/routing/compiled.cpython-312-s390x-linux-musl.so Compiling falcon/routing/util.py because it changed. [1/1] Cythonizing falcon/routing/util.py 2024-12-16 16:34:24,939 root INFO building 'falcon.routing.util' extension 2024-12-16 16:34:24,939 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-s390x-cpython-312/falcon/routing/util.o 2024-12-16 16:34:26,517 root INFO gcc -shared -Wl,--as-needed,-O1,--sort-common -Os -fstack-clash-protection -Wformat -Werror=format-security build/temp.linux-s390x-cpython-312/falcon/routing/util.o -L/usr/lib -o build/lib.linux-s390x-cpython-312/falcon/routing/util.cpython-312-s390x-linux-musl.so Compiling falcon/routing/converters.py because it changed. [1/1] Cythonizing falcon/routing/converters.py 2024-12-16 16:34:26,581 root INFO building 'falcon.routing.converters' extension 2024-12-16 16:34:26,581 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-s390x-cpython-312/falcon/routing/converters.o 2024-12-16 16:34:29,579 root INFO gcc -shared -Wl,--as-needed,-O1,--sort-common -Os -fstack-clash-protection -Wformat -Werror=format-security build/temp.linux-s390x-cpython-312/falcon/routing/converters.o -L/usr/lib -o build/lib.linux-s390x-cpython-312/falcon/routing/converters.cpython-312-s390x-linux-musl.so Compiling falcon/util/deprecation.py because it changed. [1/1] Cythonizing falcon/util/deprecation.py 2024-12-16 16:34:29,627 root INFO building 'falcon.util.deprecation' extension 2024-12-16 16:34:29,627 root INFO creating build/temp.linux-s390x-cpython-312/falcon/util 2024-12-16 16:34:29,627 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-s390x-cpython-312/falcon/util/deprecation.o 2024-12-16 16:34:31,634 root INFO gcc -shared -Wl,--as-needed,-O1,--sort-common -Os -fstack-clash-protection -Wformat -Werror=format-security build/temp.linux-s390x-cpython-312/falcon/util/deprecation.o -L/usr/lib -o build/lib.linux-s390x-cpython-312/falcon/util/deprecation.cpython-312-s390x-linux-musl.so Compiling falcon/util/uri.py because it changed. [1/1] Cythonizing falcon/util/uri.py 2024-12-16 16:34:31,735 root INFO building 'falcon.util.uri' extension 2024-12-16 16:34:31,735 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-s390x-cpython-312/falcon/util/uri.o 2024-12-16 16:34:35,788 root INFO gcc -shared -Wl,--as-needed,-O1,--sort-common -Os -fstack-clash-protection -Wformat -Werror=format-security build/temp.linux-s390x-cpython-312/falcon/util/uri.o -L/usr/lib -o build/lib.linux-s390x-cpython-312/falcon/util/uri.cpython-312-s390x-linux-musl.so Compiling falcon/util/misc.py because it changed. [1/1] Cythonizing falcon/util/misc.py 2024-12-16 16:34:35,878 root INFO building 'falcon.util.misc' extension 2024-12-16 16:34:35,878 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-s390x-cpython-312/falcon/util/misc.o 2024-12-16 16:34:40,001 root INFO gcc -shared -Wl,--as-needed,-O1,--sort-common -Os -fstack-clash-protection -Wformat -Werror=format-security build/temp.linux-s390x-cpython-312/falcon/util/misc.o -L/usr/lib -o build/lib.linux-s390x-cpython-312/falcon/util/misc.cpython-312-s390x-linux-musl.so Compiling falcon/util/mediatypes.py because it changed. [1/1] Cythonizing falcon/util/mediatypes.py 2024-12-16 16:34:40,154 root INFO building 'falcon.util.mediatypes' extension 2024-12-16 16:34:40,154 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-s390x-cpython-312/falcon/util/mediatypes.o 2024-12-16 16:34:44,916 root INFO gcc -shared -Wl,--as-needed,-O1,--sort-common -Os -fstack-clash-protection -Wformat -Werror=format-security build/temp.linux-s390x-cpython-312/falcon/util/mediatypes.o -L/usr/lib -o build/lib.linux-s390x-cpython-312/falcon/util/mediatypes.cpython-312-s390x-linux-musl.so Compiling falcon/util/time.py because it changed. [1/1] Cythonizing falcon/util/time.py 2024-12-16 16:34:44,951 root INFO building 'falcon.util.time' extension 2024-12-16 16:34:44,952 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-s390x-cpython-312/falcon/util/time.o 2024-12-16 16:34:46,299 root INFO gcc -shared -Wl,--as-needed,-O1,--sort-common -Os -fstack-clash-protection -Wformat -Werror=format-security build/temp.linux-s390x-cpython-312/falcon/util/time.o -L/usr/lib -o build/lib.linux-s390x-cpython-312/falcon/util/time.cpython-312-s390x-linux-musl.so Compiling falcon/util/structures.py because it changed. [1/1] Cythonizing falcon/util/structures.py 2024-12-16 16:34:46,401 root INFO building 'falcon.util.structures' extension 2024-12-16 16:34:46,401 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-s390x-cpython-312/falcon/util/structures.o 2024-12-16 16:34:51,415 root INFO gcc -shared -Wl,--as-needed,-O1,--sort-common -Os -fstack-clash-protection -Wformat -Werror=format-security build/temp.linux-s390x-cpython-312/falcon/util/structures.o -L/usr/lib -o build/lib.linux-s390x-cpython-312/falcon/util/structures.cpython-312-s390x-linux-musl.so 2024-12-16 16:34:51,439 root INFO installing to build/bdist.linux-s390x/wheel 2024-12-16 16:34:51,439 root INFO running install 2024-12-16 16:34:51,446 root INFO running install_lib 2024-12-16 16:34:51,452 root INFO creating build/bdist.linux-s390x 2024-12-16 16:34:51,452 root INFO creating build/bdist.linux-s390x/wheel 2024-12-16 16:34:51,452 root INFO creating build/bdist.linux-s390x/wheel/falcon 2024-12-16 16:34:51,452 root INFO creating build/bdist.linux-s390x/wheel/falcon/util 2024-12-16 16:34:51,453 root INFO copying build/lib.linux-s390x-cpython-312/falcon/util/time.cpython-312-s390x-linux-musl.so -> build/bdist.linux-s390x/wheel/falcon/util 2024-12-16 16:34:51,453 root INFO copying build/lib.linux-s390x-cpython-312/falcon/util/structures.cpython-312-s390x-linux-musl.so -> build/bdist.linux-s390x/wheel/falcon/util 2024-12-16 16:34:51,454 root INFO copying build/lib.linux-s390x-cpython-312/falcon/util/__init__.py -> build/bdist.linux-s390x/wheel/falcon/util 2024-12-16 16:34:51,454 root INFO copying build/lib.linux-s390x-cpython-312/falcon/util/deprecation.py -> build/bdist.linux-s390x/wheel/falcon/util 2024-12-16 16:34:51,454 root INFO copying build/lib.linux-s390x-cpython-312/falcon/util/sync.py -> build/bdist.linux-s390x/wheel/falcon/util 2024-12-16 16:34:51,454 root INFO copying build/lib.linux-s390x-cpython-312/falcon/util/uri.py -> build/bdist.linux-s390x/wheel/falcon/util 2024-12-16 16:34:51,454 root INFO copying build/lib.linux-s390x-cpython-312/falcon/util/deprecation.cpython-312-s390x-linux-musl.so -> build/bdist.linux-s390x/wheel/falcon/util 2024-12-16 16:34:51,454 root INFO copying build/lib.linux-s390x-cpython-312/falcon/util/mediatypes.cpython-312-s390x-linux-musl.so -> build/bdist.linux-s390x/wheel/falcon/util 2024-12-16 16:34:51,455 root INFO copying build/lib.linux-s390x-cpython-312/falcon/util/misc.cpython-312-s390x-linux-musl.so -> build/bdist.linux-s390x/wheel/falcon/util 2024-12-16 16:34:51,456 root INFO copying build/lib.linux-s390x-cpython-312/falcon/util/misc.py -> build/bdist.linux-s390x/wheel/falcon/util 2024-12-16 16:34:51,456 root INFO copying build/lib.linux-s390x-cpython-312/falcon/util/mediatypes.py -> build/bdist.linux-s390x/wheel/falcon/util 2024-12-16 16:34:51,456 root INFO copying build/lib.linux-s390x-cpython-312/falcon/util/time.py -> build/bdist.linux-s390x/wheel/falcon/util 2024-12-16 16:34:51,456 root INFO copying build/lib.linux-s390x-cpython-312/falcon/util/uri.cpython-312-s390x-linux-musl.so -> build/bdist.linux-s390x/wheel/falcon/util 2024-12-16 16:34:51,457 root INFO copying build/lib.linux-s390x-cpython-312/falcon/util/structures.py -> build/bdist.linux-s390x/wheel/falcon/util 2024-12-16 16:34:51,457 root INFO copying build/lib.linux-s390x-cpython-312/falcon/util/reader.py -> build/bdist.linux-s390x/wheel/falcon/util 2024-12-16 16:34:51,457 root INFO creating build/bdist.linux-s390x/wheel/falcon/cmd 2024-12-16 16:34:51,457 root INFO copying build/lib.linux-s390x-cpython-312/falcon/cmd/__init__.py -> build/bdist.linux-s390x/wheel/falcon/cmd 2024-12-16 16:34:51,457 root INFO copying build/lib.linux-s390x-cpython-312/falcon/cmd/bench.py -> build/bdist.linux-s390x/wheel/falcon/cmd 2024-12-16 16:34:51,457 root INFO copying build/lib.linux-s390x-cpython-312/falcon/cmd/inspect_app.py -> build/bdist.linux-s390x/wheel/falcon/cmd 2024-12-16 16:34:51,457 root INFO copying build/lib.linux-s390x-cpython-312/falcon/hooks.py -> build/bdist.linux-s390x/wheel/falcon 2024-12-16 16:34:51,457 root INFO copying build/lib.linux-s390x-cpython-312/falcon/version.py -> build/bdist.linux-s390x/wheel/falcon 2024-12-16 16:34:51,457 root INFO copying build/lib.linux-s390x-cpython-312/falcon/__init__.py -> build/bdist.linux-s390x/wheel/falcon 2024-12-16 16:34:51,457 root INFO copying build/lib.linux-s390x-cpython-312/falcon/app_helpers.py -> build/bdist.linux-s390x/wheel/falcon 2024-12-16 16:34:51,458 root INFO copying build/lib.linux-s390x-cpython-312/falcon/app.cpython-312-s390x-linux-musl.so -> build/bdist.linux-s390x/wheel/falcon 2024-12-16 16:34:51,459 root INFO copying build/lib.linux-s390x-cpython-312/falcon/app_helpers.cpython-312-s390x-linux-musl.so -> build/bdist.linux-s390x/wheel/falcon 2024-12-16 16:34:51,459 root INFO copying build/lib.linux-s390x-cpython-312/falcon/typing.cpython-312-s390x-linux-musl.so -> build/bdist.linux-s390x/wheel/falcon 2024-12-16 16:34:51,460 root INFO copying build/lib.linux-s390x-cpython-312/falcon/constants.py -> build/bdist.linux-s390x/wheel/falcon 2024-12-16 16:34:51,460 root INFO copying build/lib.linux-s390x-cpython-312/falcon/uri.py -> build/bdist.linux-s390x/wheel/falcon 2024-12-16 16:34:51,460 root INFO copying build/lib.linux-s390x-cpython-312/falcon/responders.py -> build/bdist.linux-s390x/wheel/falcon 2024-12-16 16:34:51,460 root INFO copying build/lib.linux-s390x-cpython-312/falcon/constants.cpython-312-s390x-linux-musl.so -> build/bdist.linux-s390x/wheel/falcon 2024-12-16 16:34:51,460 root INFO copying build/lib.linux-s390x-cpython-312/falcon/errors.py -> build/bdist.linux-s390x/wheel/falcon 2024-12-16 16:34:51,461 root INFO copying build/lib.linux-s390x-cpython-312/falcon/http_status.py -> build/bdist.linux-s390x/wheel/falcon 2024-12-16 16:34:51,461 root INFO copying build/lib.linux-s390x-cpython-312/falcon/http_error.cpython-312-s390x-linux-musl.so -> build/bdist.linux-s390x/wheel/falcon 2024-12-16 16:34:51,461 root INFO copying build/lib.linux-s390x-cpython-312/falcon/middleware.py -> build/bdist.linux-s390x/wheel/falcon 2024-12-16 16:34:51,461 root INFO copying build/lib.linux-s390x-cpython-312/falcon/http_error.py -> build/bdist.linux-s390x/wheel/falcon 2024-12-16 16:34:51,461 root INFO copying build/lib.linux-s390x-cpython-312/falcon/redirects.cpython-312-s390x-linux-musl.so -> build/bdist.linux-s390x/wheel/falcon 2024-12-16 16:34:51,462 root INFO copying build/lib.linux-s390x-cpython-312/falcon/_typing.cpython-312-s390x-linux-musl.so -> build/bdist.linux-s390x/wheel/falcon 2024-12-16 16:34:51,462 root INFO copying build/lib.linux-s390x-cpython-312/falcon/asgi_spec.py -> build/bdist.linux-s390x/wheel/falcon 2024-12-16 16:34:51,462 root INFO copying build/lib.linux-s390x-cpython-312/falcon/response.cpython-312-s390x-linux-musl.so -> build/bdist.linux-s390x/wheel/falcon 2024-12-16 16:34:51,463 root INFO copying build/lib.linux-s390x-cpython-312/falcon/response_helpers.cpython-312-s390x-linux-musl.so -> build/bdist.linux-s390x/wheel/falcon 2024-12-16 16:34:51,464 root INFO copying build/lib.linux-s390x-cpython-312/falcon/py.typed -> build/bdist.linux-s390x/wheel/falcon 2024-12-16 16:34:51,464 root INFO copying build/lib.linux-s390x-cpython-312/falcon/response_helpers.py -> build/bdist.linux-s390x/wheel/falcon 2024-12-16 16:34:51,464 root INFO copying build/lib.linux-s390x-cpython-312/falcon/request_helpers.cpython-312-s390x-linux-musl.so -> build/bdist.linux-s390x/wheel/falcon 2024-12-16 16:34:51,464 root INFO copying build/lib.linux-s390x-cpython-312/falcon/forwarded.py -> build/bdist.linux-s390x/wheel/falcon 2024-12-16 16:34:51,465 root INFO creating build/bdist.linux-s390x/wheel/falcon/bench 2024-12-16 16:34:51,465 root INFO creating build/bdist.linux-s390x/wheel/falcon/bench/dj 2024-12-16 16:34:51,465 root INFO creating build/bdist.linux-s390x/wheel/falcon/bench/dj/dj 2024-12-16 16:34:51,465 root INFO copying build/lib.linux-s390x-cpython-312/falcon/bench/dj/dj/__init__.py -> build/bdist.linux-s390x/wheel/falcon/bench/dj/dj 2024-12-16 16:34:51,465 root INFO copying build/lib.linux-s390x-cpython-312/falcon/bench/dj/dj/urls.py -> build/bdist.linux-s390x/wheel/falcon/bench/dj/dj 2024-12-16 16:34:51,465 root INFO copying build/lib.linux-s390x-cpython-312/falcon/bench/dj/dj/wsgi.py -> build/bdist.linux-s390x/wheel/falcon/bench/dj/dj 2024-12-16 16:34:51,465 root INFO copying build/lib.linux-s390x-cpython-312/falcon/bench/dj/dj/settings.py -> build/bdist.linux-s390x/wheel/falcon/bench/dj/dj 2024-12-16 16:34:51,465 root INFO copying build/lib.linux-s390x-cpython-312/falcon/bench/dj/__init__.py -> build/bdist.linux-s390x/wheel/falcon/bench/dj 2024-12-16 16:34:51,465 root INFO copying build/lib.linux-s390x-cpython-312/falcon/bench/dj/manage.py -> build/bdist.linux-s390x/wheel/falcon/bench/dj 2024-12-16 16:34:51,465 root INFO creating build/bdist.linux-s390x/wheel/falcon/bench/dj/hello 2024-12-16 16:34:51,465 root INFO copying build/lib.linux-s390x-cpython-312/falcon/bench/dj/hello/apps.py -> build/bdist.linux-s390x/wheel/falcon/bench/dj/hello 2024-12-16 16:34:51,465 root INFO creating build/bdist.linux-s390x/wheel/falcon/bench/dj/hello/migrations 2024-12-16 16:34:51,465 root INFO copying build/lib.linux-s390x-cpython-312/falcon/bench/dj/hello/migrations/__init__.py -> build/bdist.linux-s390x/wheel/falcon/bench/dj/hello/migrations 2024-12-16 16:34:51,466 root INFO copying build/lib.linux-s390x-cpython-312/falcon/bench/dj/hello/__init__.py -> build/bdist.linux-s390x/wheel/falcon/bench/dj/hello 2024-12-16 16:34:51,466 root INFO copying build/lib.linux-s390x-cpython-312/falcon/bench/dj/hello/views.py -> build/bdist.linux-s390x/wheel/falcon/bench/dj/hello 2024-12-16 16:34:51,466 root INFO copying build/lib.linux-s390x-cpython-312/falcon/bench/dj/hello/admin.py -> build/bdist.linux-s390x/wheel/falcon/bench/dj/hello 2024-12-16 16:34:51,466 root INFO copying build/lib.linux-s390x-cpython-312/falcon/bench/dj/hello/models.py -> build/bdist.linux-s390x/wheel/falcon/bench/dj/hello 2024-12-16 16:34:51,466 root INFO copying build/lib.linux-s390x-cpython-312/falcon/bench/dj/hello/tests.py -> build/bdist.linux-s390x/wheel/falcon/bench/dj/hello 2024-12-16 16:34:51,466 root INFO copying build/lib.linux-s390x-cpython-312/falcon/bench/__init__.py -> build/bdist.linux-s390x/wheel/falcon/bench 2024-12-16 16:34:51,466 root INFO copying build/lib.linux-s390x-cpython-312/falcon/bench/bench.py -> build/bdist.linux-s390x/wheel/falcon/bench 2024-12-16 16:34:51,466 root INFO creating build/bdist.linux-s390x/wheel/falcon/bench/nuts 2024-12-16 16:34:51,466 root INFO copying build/lib.linux-s390x-cpython-312/falcon/bench/nuts/__init__.py -> build/bdist.linux-s390x/wheel/falcon/bench/nuts 2024-12-16 16:34:51,466 root INFO creating build/bdist.linux-s390x/wheel/falcon/bench/nuts/nuts 2024-12-16 16:34:51,466 root INFO copying build/lib.linux-s390x-cpython-312/falcon/bench/nuts/nuts/__init__.py -> build/bdist.linux-s390x/wheel/falcon/bench/nuts/nuts 2024-12-16 16:34:51,466 root INFO creating build/bdist.linux-s390x/wheel/falcon/bench/nuts/nuts/controllers 2024-12-16 16:34:51,466 root INFO copying build/lib.linux-s390x-cpython-312/falcon/bench/nuts/nuts/controllers/__init__.py -> build/bdist.linux-s390x/wheel/falcon/bench/nuts/nuts/controllers 2024-12-16 16:34:51,467 root INFO copying build/lib.linux-s390x-cpython-312/falcon/bench/nuts/nuts/controllers/root.py -> build/bdist.linux-s390x/wheel/falcon/bench/nuts/nuts/controllers 2024-12-16 16:34:51,467 root INFO copying build/lib.linux-s390x-cpython-312/falcon/bench/nuts/nuts/app.py -> build/bdist.linux-s390x/wheel/falcon/bench/nuts/nuts 2024-12-16 16:34:51,467 root INFO creating build/bdist.linux-s390x/wheel/falcon/bench/nuts/nuts/tests 2024-12-16 16:34:51,467 root INFO copying build/lib.linux-s390x-cpython-312/falcon/bench/nuts/nuts/tests/__init__.py -> build/bdist.linux-s390x/wheel/falcon/bench/nuts/nuts/tests 2024-12-16 16:34:51,467 root INFO copying build/lib.linux-s390x-cpython-312/falcon/bench/nuts/nuts/tests/test_functional.py -> build/bdist.linux-s390x/wheel/falcon/bench/nuts/nuts/tests 2024-12-16 16:34:51,467 root INFO copying build/lib.linux-s390x-cpython-312/falcon/bench/nuts/nuts/tests/test_units.py -> build/bdist.linux-s390x/wheel/falcon/bench/nuts/nuts/tests 2024-12-16 16:34:51,467 root INFO copying build/lib.linux-s390x-cpython-312/falcon/bench/nuts/nuts/tests/config.py -> build/bdist.linux-s390x/wheel/falcon/bench/nuts/nuts/tests 2024-12-16 16:34:51,467 root INFO creating build/bdist.linux-s390x/wheel/falcon/bench/nuts/nuts/model 2024-12-16 16:34:51,467 root INFO copying build/lib.linux-s390x-cpython-312/falcon/bench/nuts/nuts/model/__init__.py -> build/bdist.linux-s390x/wheel/falcon/bench/nuts/nuts/model 2024-12-16 16:34:51,467 root INFO copying build/lib.linux-s390x-cpython-312/falcon/bench/nuts/config.py -> build/bdist.linux-s390x/wheel/falcon/bench/nuts 2024-12-16 16:34:51,467 root INFO copying build/lib.linux-s390x-cpython-312/falcon/bench/nuts/setup.py -> build/bdist.linux-s390x/wheel/falcon/bench/nuts 2024-12-16 16:34:51,467 root INFO creating build/bdist.linux-s390x/wheel/falcon/bench/queues 2024-12-16 16:34:51,467 root INFO copying build/lib.linux-s390x-cpython-312/falcon/bench/queues/__init__.py -> build/bdist.linux-s390x/wheel/falcon/bench/queues 2024-12-16 16:34:51,467 root INFO copying build/lib.linux-s390x-cpython-312/falcon/bench/queues/queues.py -> build/bdist.linux-s390x/wheel/falcon/bench/queues 2024-12-16 16:34:51,468 root INFO copying build/lib.linux-s390x-cpython-312/falcon/bench/queues/messages.py -> build/bdist.linux-s390x/wheel/falcon/bench/queues 2024-12-16 16:34:51,468 root INFO copying build/lib.linux-s390x-cpython-312/falcon/bench/queues/claims.py -> build/bdist.linux-s390x/wheel/falcon/bench/queues 2024-12-16 16:34:51,468 root INFO copying build/lib.linux-s390x-cpython-312/falcon/bench/queues/api.py -> build/bdist.linux-s390x/wheel/falcon/bench/queues 2024-12-16 16:34:51,468 root INFO copying build/lib.linux-s390x-cpython-312/falcon/bench/queues/stats.py -> build/bdist.linux-s390x/wheel/falcon/bench/queues 2024-12-16 16:34:51,468 root INFO copying build/lib.linux-s390x-cpython-312/falcon/bench/create.py -> build/bdist.linux-s390x/wheel/falcon/bench 2024-12-16 16:34:51,468 root INFO copying build/lib.linux-s390x-cpython-312/falcon/errors.cpython-312-s390x-linux-musl.so -> build/bdist.linux-s390x/wheel/falcon 2024-12-16 16:34:51,469 root INFO copying build/lib.linux-s390x-cpython-312/falcon/_typing.py -> build/bdist.linux-s390x/wheel/falcon 2024-12-16 16:34:51,469 root INFO copying build/lib.linux-s390x-cpython-312/falcon/app.py -> build/bdist.linux-s390x/wheel/falcon 2024-12-16 16:34:51,470 root INFO copying build/lib.linux-s390x-cpython-312/falcon/forwarded.cpython-312-s390x-linux-musl.so -> build/bdist.linux-s390x/wheel/falcon 2024-12-16 16:34:51,470 root INFO copying build/lib.linux-s390x-cpython-312/falcon/typing.py -> build/bdist.linux-s390x/wheel/falcon 2024-12-16 16:34:51,470 root INFO copying build/lib.linux-s390x-cpython-312/falcon/request_helpers.py -> build/bdist.linux-s390x/wheel/falcon 2024-12-16 16:34:51,470 root INFO creating build/bdist.linux-s390x/wheel/falcon/asgi 2024-12-16 16:34:51,470 root INFO copying build/lib.linux-s390x-cpython-312/falcon/asgi/ws.py -> build/bdist.linux-s390x/wheel/falcon/asgi 2024-12-16 16:34:51,470 root INFO copying build/lib.linux-s390x-cpython-312/falcon/asgi/__init__.py -> build/bdist.linux-s390x/wheel/falcon/asgi 2024-12-16 16:34:51,470 root INFO copying build/lib.linux-s390x-cpython-312/falcon/asgi/multipart.py -> build/bdist.linux-s390x/wheel/falcon/asgi 2024-12-16 16:34:51,470 root INFO copying build/lib.linux-s390x-cpython-312/falcon/asgi/_request_helpers.py -> build/bdist.linux-s390x/wheel/falcon/asgi 2024-12-16 16:34:51,471 root INFO copying build/lib.linux-s390x-cpython-312/falcon/asgi/app.py -> build/bdist.linux-s390x/wheel/falcon/asgi 2024-12-16 16:34:51,471 root INFO copying build/lib.linux-s390x-cpython-312/falcon/asgi/_asgi_helpers.py -> build/bdist.linux-s390x/wheel/falcon/asgi 2024-12-16 16:34:51,471 root INFO copying build/lib.linux-s390x-cpython-312/falcon/asgi/request.py -> build/bdist.linux-s390x/wheel/falcon/asgi 2024-12-16 16:34:51,471 root INFO copying build/lib.linux-s390x-cpython-312/falcon/asgi/stream.py -> build/bdist.linux-s390x/wheel/falcon/asgi 2024-12-16 16:34:51,471 root INFO copying build/lib.linux-s390x-cpython-312/falcon/asgi/structures.py -> build/bdist.linux-s390x/wheel/falcon/asgi 2024-12-16 16:34:51,471 root INFO copying build/lib.linux-s390x-cpython-312/falcon/asgi/response.py -> build/bdist.linux-s390x/wheel/falcon/asgi 2024-12-16 16:34:51,471 root INFO copying build/lib.linux-s390x-cpython-312/falcon/asgi/reader.py -> build/bdist.linux-s390x/wheel/falcon/asgi 2024-12-16 16:34:51,471 root INFO copying build/lib.linux-s390x-cpython-312/falcon/request.cpython-312-s390x-linux-musl.so -> build/bdist.linux-s390x/wheel/falcon 2024-12-16 16:34:51,473 root INFO copying build/lib.linux-s390x-cpython-312/falcon/uri.cpython-312-s390x-linux-musl.so -> build/bdist.linux-s390x/wheel/falcon 2024-12-16 16:34:51,474 root INFO creating build/bdist.linux-s390x/wheel/falcon/testing 2024-12-16 16:34:51,474 root INFO copying build/lib.linux-s390x-cpython-312/falcon/testing/test_case.py -> build/bdist.linux-s390x/wheel/falcon/testing 2024-12-16 16:34:51,474 root INFO copying build/lib.linux-s390x-cpython-312/falcon/testing/__init__.py -> build/bdist.linux-s390x/wheel/falcon/testing 2024-12-16 16:34:51,474 root INFO copying build/lib.linux-s390x-cpython-312/falcon/testing/resource.py -> build/bdist.linux-s390x/wheel/falcon/testing 2024-12-16 16:34:51,474 root INFO copying build/lib.linux-s390x-cpython-312/falcon/testing/srmock.py -> build/bdist.linux-s390x/wheel/falcon/testing 2024-12-16 16:34:51,474 root INFO copying build/lib.linux-s390x-cpython-312/falcon/testing/helpers.py -> build/bdist.linux-s390x/wheel/falcon/testing 2024-12-16 16:34:51,474 root INFO copying build/lib.linux-s390x-cpython-312/falcon/testing/client.py -> build/bdist.linux-s390x/wheel/falcon/testing 2024-12-16 16:34:51,474 root INFO copying build/lib.linux-s390x-cpython-312/falcon/request.py -> build/bdist.linux-s390x/wheel/falcon 2024-12-16 16:34:51,474 root INFO copying build/lib.linux-s390x-cpython-312/falcon/middleware.cpython-312-s390x-linux-musl.so -> build/bdist.linux-s390x/wheel/falcon 2024-12-16 16:34:51,475 root INFO copying build/lib.linux-s390x-cpython-312/falcon/stream.py -> build/bdist.linux-s390x/wheel/falcon 2024-12-16 16:34:51,475 root INFO copying build/lib.linux-s390x-cpython-312/falcon/redirects.py -> build/bdist.linux-s390x/wheel/falcon 2024-12-16 16:34:51,475 root INFO copying build/lib.linux-s390x-cpython-312/falcon/stream.cpython-312-s390x-linux-musl.so -> build/bdist.linux-s390x/wheel/falcon 2024-12-16 16:34:51,475 root INFO copying build/lib.linux-s390x-cpython-312/falcon/status_codes.cpython-312-s390x-linux-musl.so -> build/bdist.linux-s390x/wheel/falcon 2024-12-16 16:34:51,476 root INFO creating build/bdist.linux-s390x/wheel/falcon/media 2024-12-16 16:34:51,476 root INFO copying build/lib.linux-s390x-cpython-312/falcon/media/base.cpython-312-s390x-linux-musl.so -> build/bdist.linux-s390x/wheel/falcon/media 2024-12-16 16:34:51,476 root INFO copying build/lib.linux-s390x-cpython-312/falcon/media/urlencoded.cpython-312-s390x-linux-musl.so -> build/bdist.linux-s390x/wheel/falcon/media 2024-12-16 16:34:51,477 root INFO copying build/lib.linux-s390x-cpython-312/falcon/media/__init__.py -> build/bdist.linux-s390x/wheel/falcon/media 2024-12-16 16:34:51,477 root INFO copying build/lib.linux-s390x-cpython-312/falcon/media/handlers.cpython-312-s390x-linux-musl.so -> build/bdist.linux-s390x/wheel/falcon/media 2024-12-16 16:34:51,477 root INFO creating build/bdist.linux-s390x/wheel/falcon/media/validators 2024-12-16 16:34:51,477 root INFO copying build/lib.linux-s390x-cpython-312/falcon/media/validators/__init__.py -> build/bdist.linux-s390x/wheel/falcon/media/validators 2024-12-16 16:34:51,478 root INFO copying build/lib.linux-s390x-cpython-312/falcon/media/validators/jsonschema.py -> build/bdist.linux-s390x/wheel/falcon/media/validators 2024-12-16 16:34:51,478 root INFO copying build/lib.linux-s390x-cpython-312/falcon/media/multipart.py -> build/bdist.linux-s390x/wheel/falcon/media 2024-12-16 16:34:51,478 root INFO copying build/lib.linux-s390x-cpython-312/falcon/media/json.cpython-312-s390x-linux-musl.so -> build/bdist.linux-s390x/wheel/falcon/media 2024-12-16 16:34:51,478 root INFO copying build/lib.linux-s390x-cpython-312/falcon/media/urlencoded.py -> build/bdist.linux-s390x/wheel/falcon/media 2024-12-16 16:34:51,478 root INFO copying build/lib.linux-s390x-cpython-312/falcon/media/json.py -> build/bdist.linux-s390x/wheel/falcon/media 2024-12-16 16:34:51,478 root INFO copying build/lib.linux-s390x-cpython-312/falcon/media/base.py -> build/bdist.linux-s390x/wheel/falcon/media 2024-12-16 16:34:51,479 root INFO copying build/lib.linux-s390x-cpython-312/falcon/media/msgpack.cpython-312-s390x-linux-musl.so -> build/bdist.linux-s390x/wheel/falcon/media 2024-12-16 16:34:51,479 root INFO copying build/lib.linux-s390x-cpython-312/falcon/media/handlers.py -> build/bdist.linux-s390x/wheel/falcon/media 2024-12-16 16:34:51,479 root INFO copying build/lib.linux-s390x-cpython-312/falcon/media/msgpack.py -> build/bdist.linux-s390x/wheel/falcon/media 2024-12-16 16:34:51,479 root INFO copying build/lib.linux-s390x-cpython-312/falcon/media/multipart.cpython-312-s390x-linux-musl.so -> build/bdist.linux-s390x/wheel/falcon/media 2024-12-16 16:34:51,480 root INFO copying build/lib.linux-s390x-cpython-312/falcon/status_codes.py -> build/bdist.linux-s390x/wheel/falcon 2024-12-16 16:34:51,480 root INFO copying build/lib.linux-s390x-cpython-312/falcon/http_status.cpython-312-s390x-linux-musl.so -> build/bdist.linux-s390x/wheel/falcon 2024-12-16 16:34:51,481 root INFO copying build/lib.linux-s390x-cpython-312/falcon/response.py -> build/bdist.linux-s390x/wheel/falcon 2024-12-16 16:34:51,481 root INFO creating build/bdist.linux-s390x/wheel/falcon/cyutil 2024-12-16 16:34:51,481 root INFO copying build/lib.linux-s390x-cpython-312/falcon/cyutil/__init__.py -> build/bdist.linux-s390x/wheel/falcon/cyutil 2024-12-16 16:34:51,481 root INFO copying build/lib.linux-s390x-cpython-312/falcon/cyutil/uri.pyx -> build/bdist.linux-s390x/wheel/falcon/cyutil 2024-12-16 16:34:51,481 root INFO copying build/lib.linux-s390x-cpython-312/falcon/cyutil/misc.cpython-312-s390x-linux-musl.so -> build/bdist.linux-s390x/wheel/falcon/cyutil 2024-12-16 16:34:51,481 root INFO copying build/lib.linux-s390x-cpython-312/falcon/cyutil/reader.pyx -> build/bdist.linux-s390x/wheel/falcon/cyutil 2024-12-16 16:34:51,481 root INFO copying build/lib.linux-s390x-cpython-312/falcon/cyutil/reader.cpython-312-s390x-linux-musl.so -> build/bdist.linux-s390x/wheel/falcon/cyutil 2024-12-16 16:34:51,482 root INFO copying build/lib.linux-s390x-cpython-312/falcon/cyutil/uri.cpython-312-s390x-linux-musl.so -> build/bdist.linux-s390x/wheel/falcon/cyutil 2024-12-16 16:34:51,482 root INFO copying build/lib.linux-s390x-cpython-312/falcon/cyutil/misc.pyx -> build/bdist.linux-s390x/wheel/falcon/cyutil 2024-12-16 16:34:51,482 root INFO copying build/lib.linux-s390x-cpython-312/falcon/asgi_spec.cpython-312-s390x-linux-musl.so -> build/bdist.linux-s390x/wheel/falcon 2024-12-16 16:34:51,483 root INFO creating build/bdist.linux-s390x/wheel/falcon/routing 2024-12-16 16:34:51,483 root INFO copying build/lib.linux-s390x-cpython-312/falcon/routing/static.py -> build/bdist.linux-s390x/wheel/falcon/routing 2024-12-16 16:34:51,483 root INFO copying build/lib.linux-s390x-cpython-312/falcon/routing/__init__.py -> build/bdist.linux-s390x/wheel/falcon/routing 2024-12-16 16:34:51,483 root INFO copying build/lib.linux-s390x-cpython-312/falcon/routing/compiled.py -> build/bdist.linux-s390x/wheel/falcon/routing 2024-12-16 16:34:51,483 root INFO copying build/lib.linux-s390x-cpython-312/falcon/routing/static.cpython-312-s390x-linux-musl.so -> build/bdist.linux-s390x/wheel/falcon/routing 2024-12-16 16:34:51,484 root INFO copying build/lib.linux-s390x-cpython-312/falcon/routing/util.py -> build/bdist.linux-s390x/wheel/falcon/routing 2024-12-16 16:34:51,484 root INFO copying build/lib.linux-s390x-cpython-312/falcon/routing/converters.cpython-312-s390x-linux-musl.so -> build/bdist.linux-s390x/wheel/falcon/routing 2024-12-16 16:34:51,484 root INFO copying build/lib.linux-s390x-cpython-312/falcon/routing/compiled.cpython-312-s390x-linux-musl.so -> build/bdist.linux-s390x/wheel/falcon/routing 2024-12-16 16:34:51,486 root INFO copying build/lib.linux-s390x-cpython-312/falcon/routing/util.cpython-312-s390x-linux-musl.so -> build/bdist.linux-s390x/wheel/falcon/routing 2024-12-16 16:34:51,486 root INFO copying build/lib.linux-s390x-cpython-312/falcon/routing/converters.py -> build/bdist.linux-s390x/wheel/falcon/routing 2024-12-16 16:34:51,486 root INFO copying build/lib.linux-s390x-cpython-312/falcon/inspect.py -> build/bdist.linux-s390x/wheel/falcon 2024-12-16 16:34:51,487 root INFO copying build/lib.linux-s390x-cpython-312/falcon/version.cpython-312-s390x-linux-musl.so -> build/bdist.linux-s390x/wheel/falcon 2024-12-16 16:34:51,487 root INFO running install_egg_info 2024-12-16 16:34:51,492 root INFO Copying falcon.egg-info to build/bdist.linux-s390x/wheel/falcon-4.0.2-py3.12.egg-info 2024-12-16 16:34:51,493 root INFO running install_scripts 2024-12-16 16:34:51,498 root INFO creating build/bdist.linux-s390x/wheel/falcon-4.0.2.dist-info/WHEEL 2024-12-16 16:34:51,498 wheel INFO creating '/home/buildozer/aports/community/py3-falcon/src/falcon-4.0.2/dist/.tmp-bf5nua4x/falcon-4.0.2-cp312-cp312-linux_s390x.whl' and adding 'build/bdist.linux-s390x/wheel' to it 2024-12-16 16:34:51,498 wheel INFO adding 'falcon/__init__.py' 2024-12-16 16:34:51,500 wheel INFO adding 'falcon/_typing.cpython-312-s390x-linux-musl.so' 2024-12-16 16:34:51,500 wheel INFO adding 'falcon/_typing.py' 2024-12-16 16:34:51,502 wheel INFO adding 'falcon/app.cpython-312-s390x-linux-musl.so' 2024-12-16 16:34:51,503 wheel INFO adding 'falcon/app.py' 2024-12-16 16:34:51,504 wheel INFO adding 'falcon/app_helpers.cpython-312-s390x-linux-musl.so' 2024-12-16 16:34:51,504 wheel INFO adding 'falcon/app_helpers.py' 2024-12-16 16:34:51,504 wheel INFO adding 'falcon/asgi_spec.cpython-312-s390x-linux-musl.so' 2024-12-16 16:34:51,505 wheel INFO adding 'falcon/asgi_spec.py' 2024-12-16 16:34:51,505 wheel INFO adding 'falcon/constants.cpython-312-s390x-linux-musl.so' 2024-12-16 16:34:51,505 wheel INFO adding 'falcon/constants.py' 2024-12-16 16:34:51,508 wheel INFO adding 'falcon/errors.cpython-312-s390x-linux-musl.so' 2024-12-16 16:34:51,509 wheel INFO adding 'falcon/errors.py' 2024-12-16 16:34:51,509 wheel INFO adding 'falcon/forwarded.cpython-312-s390x-linux-musl.so' 2024-12-16 16:34:51,510 wheel INFO adding 'falcon/forwarded.py' 2024-12-16 16:34:51,510 wheel INFO adding 'falcon/hooks.py' 2024-12-16 16:34:51,511 wheel INFO adding 'falcon/http_error.cpython-312-s390x-linux-musl.so' 2024-12-16 16:34:51,511 wheel INFO adding 'falcon/http_error.py' 2024-12-16 16:34:51,511 wheel INFO adding 'falcon/http_status.cpython-312-s390x-linux-musl.so' 2024-12-16 16:34:51,511 wheel INFO adding 'falcon/http_status.py' 2024-12-16 16:34:51,512 wheel INFO adding 'falcon/inspect.py' 2024-12-16 16:34:51,512 wheel INFO adding 'falcon/middleware.cpython-312-s390x-linux-musl.so' 2024-12-16 16:34:51,513 wheel INFO adding 'falcon/middleware.py' 2024-12-16 16:34:51,513 wheel INFO adding 'falcon/py.typed' 2024-12-16 16:34:51,514 wheel INFO adding 'falcon/redirects.cpython-312-s390x-linux-musl.so' 2024-12-16 16:34:51,514 wheel INFO adding 'falcon/redirects.py' 2024-12-16 16:34:51,517 wheel INFO adding 'falcon/request.cpython-312-s390x-linux-musl.so' 2024-12-16 16:34:51,518 wheel INFO adding 'falcon/request.py' 2024-12-16 16:34:51,519 wheel INFO adding 'falcon/request_helpers.cpython-312-s390x-linux-musl.so' 2024-12-16 16:34:51,519 wheel INFO adding 'falcon/request_helpers.py' 2024-12-16 16:34:51,519 wheel INFO adding 'falcon/responders.py' 2024-12-16 16:34:51,521 wheel INFO adding 'falcon/response.cpython-312-s390x-linux-musl.so' 2024-12-16 16:34:51,522 wheel INFO adding 'falcon/response.py' 2024-12-16 16:34:51,522 wheel INFO adding 'falcon/response_helpers.cpython-312-s390x-linux-musl.so' 2024-12-16 16:34:51,523 wheel INFO adding 'falcon/response_helpers.py' 2024-12-16 16:34:51,523 wheel INFO adding 'falcon/status_codes.cpython-312-s390x-linux-musl.so' 2024-12-16 16:34:51,523 wheel INFO adding 'falcon/status_codes.py' 2024-12-16 16:34:51,524 wheel INFO adding 'falcon/stream.cpython-312-s390x-linux-musl.so' 2024-12-16 16:34:51,524 wheel INFO adding 'falcon/stream.py' 2024-12-16 16:34:51,525 wheel INFO adding 'falcon/typing.cpython-312-s390x-linux-musl.so' 2024-12-16 16:34:51,525 wheel INFO adding 'falcon/typing.py' 2024-12-16 16:34:51,525 wheel INFO adding 'falcon/uri.cpython-312-s390x-linux-musl.so' 2024-12-16 16:34:51,525 wheel INFO adding 'falcon/uri.py' 2024-12-16 16:34:51,526 wheel INFO adding 'falcon/version.cpython-312-s390x-linux-musl.so' 2024-12-16 16:34:51,526 wheel INFO adding 'falcon/version.py' 2024-12-16 16:34:51,526 wheel INFO adding 'falcon/asgi/__init__.py' 2024-12-16 16:34:51,526 wheel INFO adding 'falcon/asgi/_asgi_helpers.py' 2024-12-16 16:34:51,526 wheel INFO adding 'falcon/asgi/_request_helpers.py' 2024-12-16 16:34:51,526 wheel INFO adding 'falcon/asgi/app.py' 2024-12-16 16:34:51,526 wheel INFO adding 'falcon/asgi/multipart.py' 2024-12-16 16:34:51,527 wheel INFO adding 'falcon/asgi/reader.py' 2024-12-16 16:34:51,527 wheel INFO adding 'falcon/asgi/request.py' 2024-12-16 16:34:51,527 wheel INFO adding 'falcon/asgi/response.py' 2024-12-16 16:34:51,527 wheel INFO adding 'falcon/asgi/stream.py' 2024-12-16 16:34:51,527 wheel INFO adding 'falcon/asgi/structures.py' 2024-12-16 16:34:51,527 wheel INFO adding 'falcon/asgi/ws.py' 2024-12-16 16:34:51,527 wheel INFO adding 'falcon/bench/__init__.py' 2024-12-16 16:34:51,528 wheel INFO adding 'falcon/bench/bench.py' 2024-12-16 16:34:51,528 wheel INFO adding 'falcon/bench/create.py' 2024-12-16 16:34:51,528 wheel INFO adding 'falcon/bench/dj/__init__.py' 2024-12-16 16:34:51,528 wheel INFO adding 'falcon/bench/dj/manage.py' 2024-12-16 16:34:51,528 wheel INFO adding 'falcon/bench/dj/dj/__init__.py' 2024-12-16 16:34:51,528 wheel INFO adding 'falcon/bench/dj/dj/settings.py' 2024-12-16 16:34:51,528 wheel INFO adding 'falcon/bench/dj/dj/urls.py' 2024-12-16 16:34:51,528 wheel INFO adding 'falcon/bench/dj/dj/wsgi.py' 2024-12-16 16:34:51,528 wheel INFO adding 'falcon/bench/dj/hello/__init__.py' 2024-12-16 16:34:51,528 wheel INFO adding 'falcon/bench/dj/hello/admin.py' 2024-12-16 16:34:51,529 wheel INFO adding 'falcon/bench/dj/hello/apps.py' 2024-12-16 16:34:51,529 wheel INFO adding 'falcon/bench/dj/hello/models.py' 2024-12-16 16:34:51,529 wheel INFO adding 'falcon/bench/dj/hello/tests.py' 2024-12-16 16:34:51,529 wheel INFO adding 'falcon/bench/dj/hello/views.py' 2024-12-16 16:34:51,529 wheel INFO adding 'falcon/bench/dj/hello/migrations/__init__.py' 2024-12-16 16:34:51,529 wheel INFO adding 'falcon/bench/nuts/__init__.py' 2024-12-16 16:34:51,529 wheel INFO adding 'falcon/bench/nuts/config.py' 2024-12-16 16:34:51,529 wheel INFO adding 'falcon/bench/nuts/setup.py' 2024-12-16 16:34:51,529 wheel INFO adding 'falcon/bench/nuts/nuts/__init__.py' 2024-12-16 16:34:51,529 wheel INFO adding 'falcon/bench/nuts/nuts/app.py' 2024-12-16 16:34:51,530 wheel INFO adding 'falcon/bench/nuts/nuts/controllers/__init__.py' 2024-12-16 16:34:51,530 wheel INFO adding 'falcon/bench/nuts/nuts/controllers/root.py' 2024-12-16 16:34:51,530 wheel INFO adding 'falcon/bench/nuts/nuts/model/__init__.py' 2024-12-16 16:34:51,530 wheel INFO adding 'falcon/bench/nuts/nuts/tests/__init__.py' 2024-12-16 16:34:51,530 wheel INFO adding 'falcon/bench/nuts/nuts/tests/config.py' 2024-12-16 16:34:51,530 wheel INFO adding 'falcon/bench/nuts/nuts/tests/test_functional.py' 2024-12-16 16:34:51,530 wheel INFO adding 'falcon/bench/nuts/nuts/tests/test_units.py' 2024-12-16 16:34:51,530 wheel INFO adding 'falcon/bench/queues/__init__.py' 2024-12-16 16:34:51,530 wheel INFO adding 'falcon/bench/queues/api.py' 2024-12-16 16:34:51,530 wheel INFO adding 'falcon/bench/queues/claims.py' 2024-12-16 16:34:51,530 wheel INFO adding 'falcon/bench/queues/messages.py' 2024-12-16 16:34:51,531 wheel INFO adding 'falcon/bench/queues/queues.py' 2024-12-16 16:34:51,531 wheel INFO adding 'falcon/bench/queues/stats.py' 2024-12-16 16:34:51,531 wheel INFO adding 'falcon/cmd/__init__.py' 2024-12-16 16:34:51,531 wheel INFO adding 'falcon/cmd/bench.py' 2024-12-16 16:34:51,531 wheel INFO adding 'falcon/cmd/inspect_app.py' 2024-12-16 16:34:51,531 wheel INFO adding 'falcon/cyutil/__init__.py' 2024-12-16 16:34:51,531 wheel INFO adding 'falcon/cyutil/misc.cpython-312-s390x-linux-musl.so' 2024-12-16 16:34:51,532 wheel INFO adding 'falcon/cyutil/misc.pyx' 2024-12-16 16:34:51,533 wheel INFO adding 'falcon/cyutil/reader.cpython-312-s390x-linux-musl.so' 2024-12-16 16:34:51,533 wheel INFO adding 'falcon/cyutil/reader.pyx' 2024-12-16 16:34:51,534 wheel INFO adding 'falcon/cyutil/uri.cpython-312-s390x-linux-musl.so' 2024-12-16 16:34:51,534 wheel INFO adding 'falcon/cyutil/uri.pyx' 2024-12-16 16:34:51,534 wheel INFO adding 'falcon/media/__init__.py' 2024-12-16 16:34:51,535 wheel INFO adding 'falcon/media/base.cpython-312-s390x-linux-musl.so' 2024-12-16 16:34:51,535 wheel INFO adding 'falcon/media/base.py' 2024-12-16 16:34:51,536 wheel INFO adding 'falcon/media/handlers.cpython-312-s390x-linux-musl.so' 2024-12-16 16:34:51,536 wheel INFO adding 'falcon/media/handlers.py' 2024-12-16 16:34:51,537 wheel INFO adding 'falcon/media/json.cpython-312-s390x-linux-musl.so' 2024-12-16 16:34:51,538 wheel INFO adding 'falcon/media/json.py' 2024-12-16 16:34:51,539 wheel INFO adding 'falcon/media/msgpack.cpython-312-s390x-linux-musl.so' 2024-12-16 16:34:51,539 wheel INFO adding 'falcon/media/msgpack.py' 2024-12-16 16:34:51,540 wheel INFO adding 'falcon/media/multipart.cpython-312-s390x-linux-musl.so' 2024-12-16 16:34:51,541 wheel INFO adding 'falcon/media/multipart.py' 2024-12-16 16:34:51,542 wheel INFO adding 'falcon/media/urlencoded.cpython-312-s390x-linux-musl.so' 2024-12-16 16:34:51,542 wheel INFO adding 'falcon/media/urlencoded.py' 2024-12-16 16:34:51,542 wheel INFO adding 'falcon/media/validators/__init__.py' 2024-12-16 16:34:51,542 wheel INFO adding 'falcon/media/validators/jsonschema.py' 2024-12-16 16:34:51,542 wheel INFO adding 'falcon/routing/__init__.py' 2024-12-16 16:34:51,545 wheel INFO adding 'falcon/routing/compiled.cpython-312-s390x-linux-musl.so' 2024-12-16 16:34:51,546 wheel INFO adding 'falcon/routing/compiled.py' 2024-12-16 16:34:51,547 wheel INFO adding 'falcon/routing/converters.cpython-312-s390x-linux-musl.so' 2024-12-16 16:34:51,547 wheel INFO adding 'falcon/routing/converters.py' 2024-12-16 16:34:51,549 wheel INFO adding 'falcon/routing/static.cpython-312-s390x-linux-musl.so' 2024-12-16 16:34:51,549 wheel INFO adding 'falcon/routing/static.py' 2024-12-16 16:34:51,549 wheel INFO adding 'falcon/routing/util.cpython-312-s390x-linux-musl.so' 2024-12-16 16:34:51,550 wheel INFO adding 'falcon/routing/util.py' 2024-12-16 16:34:51,550 wheel INFO adding 'falcon/testing/__init__.py' 2024-12-16 16:34:51,550 wheel INFO adding 'falcon/testing/client.py' 2024-12-16 16:34:51,550 wheel INFO adding 'falcon/testing/helpers.py' 2024-12-16 16:34:51,550 wheel INFO adding 'falcon/testing/resource.py' 2024-12-16 16:34:51,551 wheel INFO adding 'falcon/testing/srmock.py' 2024-12-16 16:34:51,551 wheel INFO adding 'falcon/testing/test_case.py' 2024-12-16 16:34:51,551 wheel INFO adding 'falcon/util/__init__.py' 2024-12-16 16:34:51,551 wheel INFO adding 'falcon/util/deprecation.cpython-312-s390x-linux-musl.so' 2024-12-16 16:34:51,552 wheel INFO adding 'falcon/util/deprecation.py' 2024-12-16 16:34:51,553 wheel INFO adding 'falcon/util/mediatypes.cpython-312-s390x-linux-musl.so' 2024-12-16 16:34:51,554 wheel INFO adding 'falcon/util/mediatypes.py' 2024-12-16 16:34:51,555 wheel INFO adding 'falcon/util/misc.cpython-312-s390x-linux-musl.so' 2024-12-16 16:34:51,555 wheel INFO adding 'falcon/util/misc.py' 2024-12-16 16:34:51,555 wheel INFO adding 'falcon/util/reader.py' 2024-12-16 16:34:51,556 wheel INFO adding 'falcon/util/structures.cpython-312-s390x-linux-musl.so' 2024-12-16 16:34:51,557 wheel INFO adding 'falcon/util/structures.py' 2024-12-16 16:34:51,557 wheel INFO adding 'falcon/util/sync.py' 2024-12-16 16:34:51,558 wheel INFO adding 'falcon/util/time.cpython-312-s390x-linux-musl.so' 2024-12-16 16:34:51,558 wheel INFO adding 'falcon/util/time.py' 2024-12-16 16:34:51,559 wheel INFO adding 'falcon/util/uri.cpython-312-s390x-linux-musl.so' 2024-12-16 16:34:51,559 wheel INFO adding 'falcon/util/uri.py' 2024-12-16 16:34:51,559 wheel INFO adding 'falcon-4.0.2.dist-info/LICENSE' 2024-12-16 16:34:51,560 wheel INFO adding 'falcon-4.0.2.dist-info/METADATA' 2024-12-16 16:34:51,560 wheel INFO adding 'falcon-4.0.2.dist-info/WHEEL' 2024-12-16 16:34:51,560 wheel INFO adding 'falcon-4.0.2.dist-info/entry_points.txt' 2024-12-16 16:34:51,560 wheel INFO adding 'falcon-4.0.2.dist-info/top_level.txt' 2024-12-16 16:34:51,560 wheel INFO adding 'falcon-4.0.2.dist-info/RECORD' 2024-12-16 16:34:51,561 root INFO removing build/bdist.linux-s390x/wheel 2024-12-16 16:34:51,567 gpep517 INFO The backend produced dist/falcon-4.0.2-cp312-cp312-linux_s390x.whl falcon-4.0.2-cp312-cp312-linux_s390x.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.8, pytest-8.3.4, pluggy-1.5.0 -- /usr/bin/python3 cachedir: .pytest_cache rootdir: /home/buildozer/aports/community/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] SKIPPED [ 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] SKIPPED [ 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] SKIPPED [ 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] SKIPPED [ 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] SKIPPED [ 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] SKIPPED [ 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] SKIPPED [ 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] SKIPPED [ 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] SKIPPED [ 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] SKIPPED [ 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] SKIPPED [ 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] SKIPPED [ 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] SKIPPED [ 1%] tests/asgi/test_asgi_servers.py::TestWebSocket::test_hello[_uvicorn_factory-0-None-False] SKIPPED [ 1%] tests/asgi/test_asgi_servers.py::TestWebSocket::test_hello[_uvicorn_factory-0-4321-True] SKIPPED [ 1%] tests/asgi/test_asgi_servers.py::TestWebSocket::test_hello[_uvicorn_factory-0-4321-False] SKIPPED [ 1%] tests/asgi/test_asgi_servers.py::TestWebSocket::test_hello[_uvicorn_factory-4-None-True] SKIPPED [ 1%] tests/asgi/test_asgi_servers.py::TestWebSocket::test_hello[_uvicorn_factory-4-None-False] SKIPPED [ 1%] tests/asgi/test_asgi_servers.py::TestWebSocket::test_hello[_uvicorn_factory-4-4321-True] SKIPPED [ 1%] tests/asgi/test_asgi_servers.py::TestWebSocket::test_hello[_uvicorn_factory-4-4321-False] SKIPPED [ 1%] tests/asgi/test_asgi_servers.py::TestWebSocket::test_hello[_uvicorn_factory-17-None-True] SKIPPED [ 1%] tests/asgi/test_asgi_servers.py::TestWebSocket::test_hello[_uvicorn_factory-17-None-False] SKIPPED [ 1%] tests/asgi/test_asgi_servers.py::TestWebSocket::test_hello[_uvicorn_factory-17-4321-True] SKIPPED [ 1%] tests/asgi/test_asgi_servers.py::TestWebSocket::test_hello[_uvicorn_factory-17-4321-False] SKIPPED [ 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] SKIPPED [ 2%] tests/asgi/test_asgi_servers.py::TestWebSocket::test_rejected[_uvicorn_factory-None-False] SKIPPED [ 2%] tests/asgi/test_asgi_servers.py::TestWebSocket::test_rejected[_uvicorn_factory-4040-True] SKIPPED [ 2%] tests/asgi/test_asgi_servers.py::TestWebSocket::test_rejected[_uvicorn_factory-4040-False] SKIPPED [ 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] SKIPPED [ 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] SKIPPED [ 2%] tests/asgi/test_asgi_servers.py::TestWebSocket::test_select_subprotocol_known[_uvicorn_factory-wamp-wamp] SKIPPED [ 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] SKIPPED [ 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] SKIPPED [ 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] SKIPPED [ 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] SKIPPED [ 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] SKIPPED [ 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] SKIPPED [ 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] SKIPPED [ 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] SKIPPED [ 3%] tests/asgi/test_asgi_servers.py::TestWebSocket::test_type_mismatch[_uvicorn_factory-text-recv] SKIPPED [ 3%] tests/asgi/test_asgi_servers.py::TestWebSocket::test_type_mismatch[_uvicorn_factory-data-send] SKIPPED [ 3%] tests/asgi/test_asgi_servers.py::TestWebSocket::test_type_mismatch[_uvicorn_factory-data-recv] SKIPPED [ 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] SKIPPED [ 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-c70e6511-f50a-4ee2-8b0d-1e814b55055d/popen-gw7/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-c70e6511-f50a-4ee2-8b0d-1e814b55055d/popen-gw7 : [Errno 39] Directory not empty: '/tmp/pytest-of-buildozer/garbage-c70e6511-f50a-4ee2-8b0d-1e814b55055d/popen-gw7' warnings.warn( /usr/lib/python3.12/site-packages/_pytest/pathlib.py:96: PytestWarning: (rm_rf) error removing /tmp/pytest-of-buildozer/garbage-c70e6511-f50a-4ee2-8b0d-1e814b55055d : [Errno 39] Directory not empty: '/tmp/pytest-of-buildozer/garbage-c70e6511-f50a-4ee2-8b0d-1e814b55055d' warnings.warn( /usr/lib/python3.12/site-packages/_pytest/pathlib.py:96: PytestWarning: (rm_rf) error removing /tmp/pytest-of-buildozer/garbage-4dd5bbd1-199a-4a0a-b13d-06524f20ab8a/popen-gw6/test_discovery_via_path_in_non0 : [Errno 39] Directory not empty: '/tmp/pytest-of-buildozer/garbage-4dd5bbd1-199a-4a0a-b13d-06524f20ab8a/popen-gw6/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-4dd5bbd1-199a-4a0a-b13d-06524f20ab8a/popen-gw6 : [Errno 39] Directory not empty: '/tmp/pytest-of-buildozer/garbage-4dd5bbd1-199a-4a0a-b13d-06524f20ab8a/popen-gw6' warnings.warn( /usr/lib/python3.12/site-packages/_pytest/pathlib.py:96: PytestWarning: (rm_rf) error removing /tmp/pytest-of-buildozer/garbage-4dd5bbd1-199a-4a0a-b13d-06524f20ab8a : [Errno 39] Directory not empty: '/tmp/pytest-of-buildozer/garbage-4dd5bbd1-199a-4a0a-b13d-06524f20ab8a' warnings.warn( /usr/lib/python3.12/site-packages/_pytest/pathlib.py:96: PytestWarning: (rm_rf) error removing /tmp/pytest-of-buildozer/garbage-3d784b4b-f2bf-4d54-a633-d24eb1de333b/test_validate_zimfile_creatabl3 : [Errno 39] Directory not empty: '/tmp/pytest-of-buildozer/garbage-3d784b4b-f2bf-4d54-a633-d24eb1de333b/test_validate_zimfile_creatabl3' warnings.warn( /usr/lib/python3.12/site-packages/_pytest/pathlib.py:96: PytestWarning: (rm_rf) error removing /tmp/pytest-of-buildozer/garbage-3d784b4b-f2bf-4d54-a633-d24eb1de333b : [Errno 39] Directory not empty: '/tmp/pytest-of-buildozer/garbage-3d784b4b-f2bf-4d54-a633-d24eb1de333b' warnings.warn( /usr/lib/python3.12/site-packages/_pytest/pathlib.py:96: PytestWarning: (rm_rf) error removing /tmp/pytest-of-buildozer/garbage-4d91ac77-9b65-4860-8213-acc08e6badd1/popen-gw5/test_discovery_via_path_in_non0 : [Errno 39] Directory not empty: '/tmp/pytest-of-buildozer/garbage-4d91ac77-9b65-4860-8213-acc08e6badd1/popen-gw5/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-4d91ac77-9b65-4860-8213-acc08e6badd1/popen-gw5 : [Errno 39] Directory not empty: '/tmp/pytest-of-buildozer/garbage-4d91ac77-9b65-4860-8213-acc08e6badd1/popen-gw5' warnings.warn( /usr/lib/python3.12/site-packages/_pytest/pathlib.py:96: PytestWarning: (rm_rf) error removing /tmp/pytest-of-buildozer/garbage-4d91ac77-9b65-4860-8213-acc08e6badd1 : [Errno 39] Directory not empty: '/tmp/pytest-of-buildozer/garbage-4d91ac77-9b65-4860-8213-acc08e6badd1' warnings.warn( >>> py3-falcon: Entering fakeroot... >>> py3-falcon-pyc*: Running split function pyc... 'usr/lib/python3.12/site-packages/falcon/util/__pycache__' -> '/home/buildozer/aports/community/py3-falcon/pkg/py3-falcon-pyc/usr/lib/python3.12/site-packages/falcon/util/__pycache__' 'usr/lib/python3.12/site-packages/falcon/__pycache__' -> '/home/buildozer/aports/community/py3-falcon/pkg/py3-falcon-pyc/usr/lib/python3.12/site-packages/falcon/__pycache__' 'usr/lib/python3.12/site-packages/falcon/cmd/__pycache__' -> '/home/buildozer/aports/community/py3-falcon/pkg/py3-falcon-pyc/usr/lib/python3.12/site-packages/falcon/cmd/__pycache__' 'usr/lib/python3.12/site-packages/falcon/bench/__pycache__' -> '/home/buildozer/aports/community/py3-falcon/pkg/py3-falcon-pyc/usr/lib/python3.12/site-packages/falcon/bench/__pycache__' 'usr/lib/python3.12/site-packages/falcon/bench/dj/__pycache__' -> '/home/buildozer/aports/community/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/community/py3-falcon/pkg/py3-falcon-pyc/usr/lib/python3.12/site-packages/falcon/bench/dj/dj/__pycache__' 'usr/lib/python3.12/site-packages/falcon/bench/dj/hello/__pycache__' -> '/home/buildozer/aports/community/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/community/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/nuts/__pycache__' -> '/home/buildozer/aports/community/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/community/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/controllers/__pycache__' -> '/home/buildozer/aports/community/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/nuts/nuts/tests/__pycache__' -> '/home/buildozer/aports/community/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/model/__pycache__' -> '/home/buildozer/aports/community/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/queues/__pycache__' -> '/home/buildozer/aports/community/py3-falcon/pkg/py3-falcon-pyc/usr/lib/python3.12/site-packages/falcon/bench/queues/__pycache__' 'usr/lib/python3.12/site-packages/falcon/asgi/__pycache__' -> '/home/buildozer/aports/community/py3-falcon/pkg/py3-falcon-pyc/usr/lib/python3.12/site-packages/falcon/asgi/__pycache__' 'usr/lib/python3.12/site-packages/falcon/testing/__pycache__' -> '/home/buildozer/aports/community/py3-falcon/pkg/py3-falcon-pyc/usr/lib/python3.12/site-packages/falcon/testing/__pycache__' 'usr/lib/python3.12/site-packages/falcon/media/__pycache__' -> '/home/buildozer/aports/community/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/community/py3-falcon/pkg/py3-falcon-pyc/usr/lib/python3.12/site-packages/falcon/media/validators/__pycache__' 'usr/lib/python3.12/site-packages/falcon/cyutil/__pycache__' -> '/home/buildozer/aports/community/py3-falcon/pkg/py3-falcon-pyc/usr/lib/python3.12/site-packages/falcon/cyutil/__pycache__' 'usr/lib/python3.12/site-packages/falcon/routing/__pycache__' -> '/home/buildozer/aports/community/py3-falcon/pkg/py3-falcon-pyc/usr/lib/python3.12/site-packages/falcon/routing/__pycache__' >>> py3-falcon-pyc*: Preparing subpackage py3-falcon-pyc... libfakeroot internal error: payload not recognized! >>> 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 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-r1.apk >>> py3-falcon*: Tracing dependencies... python3 python3~3.12 so:libc.musl-s390x.so.1 >>> py3-falcon*: Package size: 5.4 MB >>> py3-falcon*: Compressing data... >>> py3-falcon*: Create checksum... >>> py3-falcon*: Create py3-falcon-4.0.2-r1.apk >>> py3-falcon: Build complete at Mon, 16 Dec 2024 16:36:30 +0000 elapsed time 0h 4m 16s >>> py3-falcon: Cleaning up srcdir >>> py3-falcon: Cleaning up pkgdir >>> py3-falcon: Uninstalling dependencies... (1/169) Purging .makedepends-py3-falcon (20241216.163215) (2/169) Purging py3-gpep517-pyc (16-r0) (3/169) Purging py3-gpep517 (16-r0) (4/169) Purging py3-installer-pyc (0.7.0-r2) (5/169) Purging py3-installer (0.7.0-r2) (6/169) Purging py3-wheel-pyc (0.43.0-r0) (7/169) Purging py3-wheel (0.43.0-r0) (8/169) Purging python3-dev (3.12.8-r1) (9/169) Purging cython-pyc (3.0.10-r0) (10/169) Purging cython (3.0.10-r0) (11/169) Purging py3-coverage-pyc (7.5.1-r0) (12/169) Purging py3-coverage (7.5.1-r0) (13/169) Purging py3-pyaml-pyc (24.12.1-r0) (14/169) Purging py3-pyaml (24.12.1-r0) (15/169) Purging py3-yaml-pyc (6.0.2-r0) (16/169) Purging py3-yaml (6.0.2-r0) (17/169) Purging py3-pytest-asyncio-pyc (0.24.0-r0) (18/169) Purging py3-pytest-asyncio (0.24.0-r0) (19/169) Purging py3-pytest-pyc (8.3.4-r0) (20/169) Purging py3-pytest (8.3.4-r0) (21/169) Purging py3-iniconfig-pyc (2.0.0-r1) (22/169) Purging py3-iniconfig (2.0.0-r1) (23/169) Purging py3-pluggy-pyc (1.5.0-r0) (24/169) Purging py3-pluggy (1.5.0-r0) (25/169) Purging py3-py-pyc (1.11.0-r4) (26/169) Purging py3-py (1.11.0-r4) (27/169) Purging py3-aiofiles-pyc (24.1.0-r0) (28/169) Purging py3-aiofiles (24.1.0-r0) (29/169) Purging py3-httpx-pyc (0.28.1-r0) (30/169) Purging py3-httpx (0.28.1-r0) (31/169) Purging py3-httpcore-pyc (1.0.5-r0) (32/169) Purging py3-httpcore (1.0.5-r0) (33/169) Purging py3-anyio-pyc (4.3.0-r2) (34/169) Purging py3-anyio (4.3.0-r2) (35/169) Purging py3-h11-pyc (0.14.0-r4) (36/169) Purging py3-h11 (0.14.0-r4) (37/169) Purging py3-sniffio-pyc (1.3.1-r1) (38/169) Purging py3-sniffio (1.3.1-r1) (39/169) Purging py3-curio-pyc (1.6-r2) (40/169) Purging py3-curio (1.6-r2) (41/169) Purging py3-websockets-pyc (14.1-r0) (42/169) Purging py3-websockets (14.1-r0) (43/169) Purging py3-cbor2-pyc (5.6.5-r0) (44/169) Purging py3-cbor2 (5.6.5-r0) (45/169) Purging py3-msgpack-pyc (1.0.8-r1) (46/169) Purging py3-msgpack (1.0.8-r1) (47/169) Purging py3-mujson-pyc (1.4-r0) (48/169) Purging py3-mujson (1.4-r0) (49/169) Purging py3-ujson (5.10.0-r0) (50/169) Purging py3-rapidjson (1.12-r1) (51/169) Purging py3-orjson-pyc (3.10.12-r0) (52/169) Purging py3-orjson (3.10.12-r0) (53/169) Purging py3-gunicorn-pyc (23.0.0-r0) (54/169) Purging py3-gunicorn (23.0.0-r0) (55/169) Purging py3-daphne-pyc (4.1.2-r0) (56/169) Purging py3-daphne (4.1.2-r0) (57/169) Purging py3-autobahn-pyc (23.6.2-r1) (58/169) Purging py3-autobahn (23.6.2-r1) (59/169) Purging py3-txaio-pyc (23.1.1-r2) (60/169) Purging py3-txaio (23.1.1-r2) (61/169) Purging py3-twisted-pyc (22.10.0-r5) (62/169) Purging py3-twisted (22.10.0-r5) (63/169) Purging py3-zope-interface-pyc (6.0-r1) (64/169) Purging py3-zope-interface (6.0-r1) (65/169) Purging py3-constantly-pyc (23.10.4-r1) (66/169) Purging py3-constantly (23.10.4-r1) (67/169) Purging py3-incremental-pyc (22.10.0-r3) (68/169) Purging py3-incremental (22.10.0-r3) (69/169) Purging py3-automat-pyc (22.10.0-r3) (70/169) Purging py3-automat (22.10.0-r3) (71/169) Purging py3-six-pyc (1.17.0-r0) (72/169) Purging py3-six (1.17.0-r0) (73/169) Purging py3-hyperlink-pyc (21.0.0-r5) (74/169) Purging py3-hyperlink (21.0.0-r5) (75/169) Purging py3-typing-extensions-pyc (4.12.2-r0) (76/169) Purging py3-typing-extensions (4.12.2-r0) (77/169) Purging py3-pyhamcrest-pyc (2.1.0-r1) (78/169) Purging py3-pyhamcrest (2.1.0-r1) (79/169) Purging py3-service_identity-pyc (24.1.0-r1) (80/169) Purging py3-service_identity (24.1.0-r1) (81/169) Purging py3-asn1-modules-pyc (0.4.1-r0) (82/169) Purging py3-asn1-modules (0.4.1-r0) (83/169) Purging py3-asn1-pyc (0.6.1-r0) (84/169) Purging py3-asn1 (0.6.1-r0) (85/169) Purging py3-attrs-pyc (24.2.0-r0) (86/169) Purging py3-attrs (24.2.0-r0) (87/169) Purging py3-cryptography-pyc (44.0.0-r0) (88/169) Purging py3-cryptography (44.0.0-r0) (89/169) Purging py3-pyserial-pyc (3.5-r7) (90/169) Purging py3-pyserial (3.5-r7) (91/169) Purging py3-h2-pyc (4.1.0-r3) (92/169) Purging py3-h2 (4.1.0-r3) (93/169) Purging py3-hyperframe-pyc (6.0.1-r4) (94/169) Purging py3-hyperframe (6.0.1-r4) (95/169) Purging py3-hpack-pyc (4.0.0-r9) (96/169) Purging py3-hpack (4.0.0-r9) (97/169) Purging py3-sphinxcontrib-images-pyc (0.9.4-r4) (98/169) Purging py3-sphinxcontrib-images (0.9.4-r4) (99/169) Purging py3-sphinx-pyc (8.1.3-r0) (100/169) Purging py3-sphinx (8.1.3-r0) (101/169) Purging py3-babel-pyc (2.16.0-r0) (102/169) Purging py3-babel (2.16.0-r0) (103/169) Purging py3-tz-pyc (2024.2-r0) (104/169) Purging py3-tz (2024.2-r0) (105/169) Purging py3-docutils-pyc (0.21.2-r0) (106/169) Purging py3-docutils (0.21.2-r0) (107/169) Purging py3-imagesize-pyc (1.4.1-r4) (108/169) Purging py3-imagesize (1.4.1-r4) (109/169) Purging py3-jinja2-pyc (3.1.4-r0) (110/169) Purging py3-jinja2 (3.1.4-r0) (111/169) Purging py3-markupsafe-pyc (3.0.2-r0) (112/169) Purging py3-markupsafe (3.0.2-r0) (113/169) Purging py3-pygments-pyc (2.18.0-r0) (114/169) Purging py3-pygments (2.18.0-r0) (115/169) Purging py3-requests-pyc (2.32.3-r0) (116/169) Purging py3-requests (2.32.3-r0) (117/169) Purging py3-certifi-pyc (2024.8.30-r0) (118/169) Purging py3-certifi (2024.8.30-r0) (119/169) Purging py3-charset-normalizer-pyc (3.4.0-r0) (120/169) Purging py3-charset-normalizer (3.4.0-r0) (121/169) Purging py3-idna-pyc (3.10-r0) (122/169) Purging py3-idna (3.10-r0) (123/169) Purging py3-urllib3-pyc (1.26.20-r0) (124/169) Purging py3-urllib3 (1.26.20-r0) (125/169) Purging py3-snowballstemmer-pyc (2.2.0-r5) (126/169) Purging py3-snowballstemmer (2.2.0-r5) (127/169) Purging py3-alabaster-pyc (1.0.0-r0) (128/169) Purging py3-alabaster (1.0.0-r0) (129/169) Purging py3-sphinxcontrib-applehelp-pyc (1.0.4-r3) (130/169) Purging py3-sphinxcontrib-applehelp (1.0.4-r3) (131/169) Purging py3-sphinxcontrib-devhelp-pyc (1.0.5-r2) (132/169) Purging py3-sphinxcontrib-devhelp (1.0.5-r2) (133/169) Purging py3-sphinxcontrib-htmlhelp-pyc (2.0.1-r3) (134/169) Purging py3-sphinxcontrib-htmlhelp (2.0.1-r3) (135/169) Purging py3-sphinxcontrib-jsmath-pyc (1.0.1-r8) (136/169) Purging py3-sphinxcontrib-jsmath (1.0.1-r8) (137/169) Purging py3-sphinxcontrib-serializinghtml-pyc (1.1.9-r2) (138/169) Purging py3-sphinxcontrib-serializinghtml (1.1.9-r2) (139/169) Purging py3-sphinxcontrib-qthelp-pyc (1.0.6-r2) (140/169) Purging py3-sphinxcontrib-qthelp (1.0.6-r2) (141/169) Purging py3-setuptools-pyc (70.3.0-r0) (142/169) Purging py3-setuptools (70.3.0-r0) (143/169) Purging py3-packaging-pyc (24.2-r0) (144/169) Purging py3-packaging (24.2-r0) (145/169) Purging py3-parsing-pyc (3.2.0-r0) (146/169) Purging py3-parsing (3.2.0-r0) (147/169) Purging py3-pynacl-pyc (1.5.0-r5) (148/169) Purging py3-pynacl (1.5.0-r5) (149/169) Purging py3-cffi-pyc (1.17.1-r1) (150/169) Purging py3-cffi (1.17.1-r1) (151/169) Purging py3-cparser-pyc (2.22-r1) (152/169) Purging py3-cparser (2.22-r1) (153/169) Purging py3-asgiref-pyc (3.8.1-r1) (154/169) Purging py3-asgiref (3.8.1-r1) (155/169) Purging py3-waitress-openrc (3.0.2-r0) (156/169) Purging py3-waitress-pyc (3.0.2-r0) (157/169) Purging py3-waitress (3.0.2-r0) (158/169) Purging python3-pyc (3.12.8-r1) (159/169) Purging python3-pycache-pyc0 (3.12.8-r1) (160/169) Purging pyc (3.12.8-r1) (161/169) Purging python3 (3.12.8-r1) (162/169) Purging gdbm (1.24-r0) (163/169) Purging libbz2 (1.0.8-r6) (164/169) Purging libffi (3.4.6-r0) (165/169) Purging libpanelw (6.5_p20241006-r3) (166/169) Purging mpdecimal (4.0.0-r0) (167/169) Purging sqlite-libs (3.47.2-r0) (168/169) Purging xz-libs (5.6.3-r0) (169/169) Purging yaml (0.2.5-r2) Executing busybox-1.37.0-r10.trigger OK: 360 MiB in 106 packages >>> py3-falcon: Updating the community/s390x repository index... >>> py3-falcon: Signing the index...