Mock Version: 4.1 Mock Version: 4.1 Mock Version: 4.1 ENTER ['do_with_status'](['bash', '--login', '-c', '/usr/bin/rpmbuild -bs --noclean --target noarch --nodeps /builddir/build/SPECS/python-starlette.spec'], chrootPath='/var/lib/mock/dist-oc9-epol-build-119437-70430/root'env={'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8'}shell=Falselogger=timeout=86400uid=991gid=135user='mockbuild'nspawn_args=[]unshare_net=TrueprintOutput=False) Executing command: ['bash', '--login', '-c', '/usr/bin/rpmbuild -bs --noclean --target noarch --nodeps /builddir/build/SPECS/python-starlette.spec'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8'} and shell False Building target platforms: noarch Building for target noarch Wrote: /builddir/build/SRPMS/python-starlette-0.41.3-1.oc9.src.rpm Child return code was: 0 ENTER ['do_with_status'](['bash', '--login', '-c', '/usr/bin/rpmbuild -br --noclean --target noarch --nodeps /builddir/build/SPECS/python-starlette.spec'], chrootPath='/var/lib/mock/dist-oc9-epol-build-119437-70430/root'env={'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8'}shell=Falselogger=timeout=86400uid=991gid=135user='mockbuild'nspawn_args=[]unshare_net=TrueraiseExc=FalseprintOutput=False) Executing command: ['bash', '--login', '-c', '/usr/bin/rpmbuild -br --noclean --target noarch --nodeps /builddir/build/SPECS/python-starlette.spec'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8'} and shell False Building target platforms: noarch Building for target noarch Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.dWqs4T + umask 022 + cd /builddir/build/BUILD + cd /builddir/build/BUILD + rm -rf starlette-0.41.3 + /usr/lib/rpm/rpmuncompress -x /builddir/build/SOURCES/starlette-0.41.3.tar.gz + STATUS=0 + '[' 0 -ne 0 ']' + cd starlette-0.41.3 + /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w . + RPM_EC=0 ++ jobs -p + exit 0 Executing(%generate_buildrequires): /bin/sh -e /var/tmp/rpm-tmp.8qrrF0 + umask 022 + cd /builddir/build/BUILD + cd starlette-0.41.3 + echo pyproject-rpm-macros + echo python3-devel + echo 'python3dist(pip) >= 19' + echo 'python3dist(packaging)' + '[' -f pyproject.toml ']' + echo 'python3dist(toml)' + rm -rfv '*.dist-info/' + '[' -f /usr/bin/python3 ']' + RPM_TOXENV=py311 + HOSTNAME=rpmbuild + /usr/bin/python3 -s /usr/lib/rpm/OpenCloudOS/pyproject_buildrequires.py --generate-extras --python3_pkgversion 3 -x full Import error: No module named 'toml' + RPM_EC=0 ++ jobs -p + exit 0 Wrote: /builddir/build/SRPMS/python-starlette-0.41.3-1.oc9.buildreqs.nosrc.rpm Child return code was: 11 Dynamic buildrequires detected Going to install missing buildrequires. See root.log for details. ENTER ['do_with_status'](['bash', '--login', '-c', '/usr/bin/rpmbuild -br --noclean --target noarch --nodeps /builddir/build/SPECS/python-starlette.spec'], chrootPath='/var/lib/mock/dist-oc9-epol-build-119437-70430/root'env={'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8'}shell=Falselogger=timeout=86400uid=991gid=135user='mockbuild'nspawn_args=[]unshare_net=TrueraiseExc=FalseprintOutput=False) Executing command: ['bash', '--login', '-c', '/usr/bin/rpmbuild -br --noclean --target noarch --nodeps /builddir/build/SPECS/python-starlette.spec'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8'} and shell False Building target platforms: noarch Building for target noarch Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.sdWbm2 + umask 022 + cd /builddir/build/BUILD + cd /builddir/build/BUILD + rm -rf starlette-0.41.3 + /usr/lib/rpm/rpmuncompress -x /builddir/build/SOURCES/starlette-0.41.3.tar.gz + STATUS=0 + '[' 0 -ne 0 ']' + cd starlette-0.41.3 + /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w . + RPM_EC=0 ++ jobs -p + exit 0 Executing(%generate_buildrequires): /bin/sh -e /var/tmp/rpm-tmp.BIVlCX + umask 022 + cd /builddir/build/BUILD + cd starlette-0.41.3 + echo pyproject-rpm-macros + echo python3-devel + echo 'python3dist(pip) >= 19' + echo 'python3dist(packaging)' + '[' -f pyproject.toml ']' + echo 'python3dist(toml)' + rm -rfv '*.dist-info/' + '[' -f /usr/bin/python3 ']' + RPM_TOXENV=py311 + HOSTNAME=rpmbuild + /usr/bin/python3 -s /usr/lib/rpm/OpenCloudOS/pyproject_buildrequires.py --generate-extras --python3_pkgversion 3 -x full Handling hatchling from build-system.requires Requirement not satisfied: hatchling Exiting dependency generation pass: build backend + RPM_EC=0 ++ jobs -p + exit 0 Wrote: /builddir/build/SRPMS/python-starlette-0.41.3-1.oc9.buildreqs.nosrc.rpm Child return code was: 11 Dynamic buildrequires detected Going to install missing buildrequires. See root.log for details. ENTER ['do_with_status'](['bash', '--login', '-c', '/usr/bin/rpmbuild -br --noclean --target noarch --nodeps /builddir/build/SPECS/python-starlette.spec'], chrootPath='/var/lib/mock/dist-oc9-epol-build-119437-70430/root'env={'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8'}shell=Falselogger=timeout=86400uid=991gid=135user='mockbuild'nspawn_args=[]unshare_net=TrueraiseExc=FalseprintOutput=False) Executing command: ['bash', '--login', '-c', '/usr/bin/rpmbuild -br --noclean --target noarch --nodeps /builddir/build/SPECS/python-starlette.spec'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8'} and shell False Building target platforms: noarch Building for target noarch Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.DHodpK + umask 022 + cd /builddir/build/BUILD + cd /builddir/build/BUILD + rm -rf starlette-0.41.3 + /usr/lib/rpm/rpmuncompress -x /builddir/build/SOURCES/starlette-0.41.3.tar.gz + STATUS=0 + '[' 0 -ne 0 ']' + cd starlette-0.41.3 + /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w . + RPM_EC=0 ++ jobs -p + exit 0 Executing(%generate_buildrequires): /bin/sh -e /var/tmp/rpm-tmp.wO8VLe + umask 022 + cd /builddir/build/BUILD + cd starlette-0.41.3 + echo pyproject-rpm-macros + echo python3-devel + echo 'python3dist(pip) >= 19' + echo 'python3dist(packaging)' + '[' -f pyproject.toml ']' + echo 'python3dist(toml)' + rm -rfv '*.dist-info/' + '[' -f /usr/bin/python3 ']' + RPM_TOXENV=py311 + HOSTNAME=rpmbuild + /usr/bin/python3 -s /usr/lib/rpm/OpenCloudOS/pyproject_buildrequires.py --generate-extras --python3_pkgversion 3 -x full Handling hatchling from build-system.requires Requirement satisfied: hatchling (installed: hatchling 1.21.0) Handling anyio<5,>=3.4.0 from wheel metadata: Requires-Dist Requirement not satisfied: anyio<5,>=3.4.0 Handling typing-extensions>=3.10.0; python_version < '3.10' from wheel metadata: Requires-Dist Ignoring alien requirement: typing-extensions>=3.10.0; python_version < '3.10' Handling httpx>=0.22.0; extra == 'full' from wheel metadata: Requires-Dist Requirement not satisfied: httpx>=0.22.0; extra == 'full' Handling itsdangerous; extra == 'full' from wheel metadata: Requires-Dist Requirement not satisfied: itsdangerous; extra == 'full' Handling jinja2; extra == 'full' from wheel metadata: Requires-Dist Requirement not satisfied: jinja2; extra == 'full' Handling python-multipart>=0.0.7; extra == 'full' from wheel metadata: Requires-Dist Requirement not satisfied: python-multipart>=0.0.7; extra == 'full' Handling pyyaml; extra == 'full' from wheel metadata: Requires-Dist Requirement not satisfied: pyyaml; extra == 'full' + RPM_EC=0 ++ jobs -p + exit 0 Wrote: /builddir/build/SRPMS/python-starlette-0.41.3-1.oc9.buildreqs.nosrc.rpm Child return code was: 11 Dynamic buildrequires detected Going to install missing buildrequires. See root.log for details. ENTER ['do_with_status'](['bash', '--login', '-c', '/usr/bin/rpmbuild -br --noclean --target noarch --nodeps /builddir/build/SPECS/python-starlette.spec'], chrootPath='/var/lib/mock/dist-oc9-epol-build-119437-70430/root'env={'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8'}shell=Falselogger=timeout=86400uid=991gid=135user='mockbuild'nspawn_args=[]unshare_net=TrueraiseExc=FalseprintOutput=False) Executing command: ['bash', '--login', '-c', '/usr/bin/rpmbuild -br --noclean --target noarch --nodeps /builddir/build/SPECS/python-starlette.spec'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8'} and shell False Building target platforms: noarch Building for target noarch Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.y28e8s + umask 022 + cd /builddir/build/BUILD + cd /builddir/build/BUILD + rm -rf starlette-0.41.3 + /usr/lib/rpm/rpmuncompress -x /builddir/build/SOURCES/starlette-0.41.3.tar.gz + STATUS=0 + '[' 0 -ne 0 ']' + cd starlette-0.41.3 + /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w . + RPM_EC=0 ++ jobs -p + exit 0 Executing(%generate_buildrequires): /bin/sh -e /var/tmp/rpm-tmp.Ont9oO + umask 022 + cd /builddir/build/BUILD + cd starlette-0.41.3 + echo pyproject-rpm-macros + echo python3-devel + echo 'python3dist(pip) >= 19' + echo 'python3dist(packaging)' + '[' -f pyproject.toml ']' + echo 'python3dist(toml)' + rm -rfv '*.dist-info/' + '[' -f /usr/bin/python3 ']' + RPM_TOXENV=py311 + HOSTNAME=rpmbuild + /usr/bin/python3 -s /usr/lib/rpm/OpenCloudOS/pyproject_buildrequires.py --generate-extras --python3_pkgversion 3 -x full Handling hatchling from build-system.requires Requirement satisfied: hatchling (installed: hatchling 1.21.0) Handling anyio<5,>=3.4.0 from wheel metadata: Requires-Dist Requirement satisfied: anyio<5,>=3.4.0 (installed: anyio 3.7.1) Handling typing-extensions>=3.10.0; python_version < '3.10' from wheel metadata: Requires-Dist Ignoring alien requirement: typing-extensions>=3.10.0; python_version < '3.10' Handling httpx>=0.22.0; extra == 'full' from wheel metadata: Requires-Dist Requirement satisfied: httpx>=0.22.0; extra == 'full' (installed: httpx 0.24.1) Handling itsdangerous; extra == 'full' from wheel metadata: Requires-Dist Requirement satisfied: itsdangerous; extra == 'full' (installed: itsdangerous 2.1.2) Handling jinja2; extra == 'full' from wheel metadata: Requires-Dist Requirement satisfied: jinja2; extra == 'full' (installed: jinja2 3.1.4) Handling python-multipart>=0.0.7; extra == 'full' from wheel metadata: Requires-Dist Requirement satisfied: python-multipart>=0.0.7; extra == 'full' (installed: python-multipart 0.0.7) Handling pyyaml; extra == 'full' from wheel metadata: Requires-Dist Requirement satisfied: pyyaml; extra == 'full' (installed: pyyaml 6.0.1) + RPM_EC=0 ++ jobs -p + exit 0 Wrote: /builddir/build/SRPMS/python-starlette-0.41.3-1.oc9.buildreqs.nosrc.rpm Child return code was: 11 Dynamic buildrequires detected Going to install missing buildrequires. See root.log for details. ENTER ['do_with_status'](['bash', '--login', '-c', '/usr/bin/rpmbuild -ba --noprep --noclean --target noarch --nodeps /builddir/build/SPECS/python-starlette.spec'], chrootPath='/var/lib/mock/dist-oc9-epol-build-119437-70430/root'env={'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8'}shell=Falselogger=timeout=86400uid=991gid=135user='mockbuild'nspawn_args=[]unshare_net=TrueprintOutput=False) Executing command: ['bash', '--login', '-c', '/usr/bin/rpmbuild -ba --noprep --noclean --target noarch --nodeps /builddir/build/SPECS/python-starlette.spec'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8'} and shell False Building target platforms: noarch Building for target noarch Executing(%generate_buildrequires): /bin/sh -e /var/tmp/rpm-tmp.WO7LlF + umask 022 + cd /builddir/build/BUILD + cd starlette-0.41.3 + echo pyproject-rpm-macros + echo python3-devel + echo 'python3dist(pip) >= 19' + echo 'python3dist(packaging)' + '[' -f pyproject.toml ']' + echo 'python3dist(toml)' + rm -rfv starlette-0.41.3.dist-info/ removed 'starlette-0.41.3.dist-info/METADATA' removed directory 'starlette-0.41.3.dist-info/' + '[' -f /usr/bin/python3 ']' + RPM_TOXENV=py311 + HOSTNAME=rpmbuild + /usr/bin/python3 -s /usr/lib/rpm/OpenCloudOS/pyproject_buildrequires.py --generate-extras --python3_pkgversion 3 -x full Handling hatchling from build-system.requires Requirement satisfied: hatchling (installed: hatchling 1.21.0) Handling anyio<5,>=3.4.0 from wheel metadata: Requires-Dist Requirement satisfied: anyio<5,>=3.4.0 (installed: anyio 3.7.1) Handling typing-extensions>=3.10.0; python_version < '3.10' from wheel metadata: Requires-Dist Ignoring alien requirement: typing-extensions>=3.10.0; python_version < '3.10' Handling httpx>=0.22.0; extra == 'full' from wheel metadata: Requires-Dist Requirement satisfied: httpx>=0.22.0; extra == 'full' (installed: httpx 0.24.1) Handling itsdangerous; extra == 'full' from wheel metadata: Requires-Dist Requirement satisfied: itsdangerous; extra == 'full' (installed: itsdangerous 2.1.2) Handling jinja2; extra == 'full' from wheel metadata: Requires-Dist Requirement satisfied: jinja2; extra == 'full' (installed: jinja2 3.1.4) Handling python-multipart>=0.0.7; extra == 'full' from wheel metadata: Requires-Dist Requirement satisfied: python-multipart>=0.0.7; extra == 'full' (installed: python-multipart 0.0.7) Handling pyyaml; extra == 'full' from wheel metadata: Requires-Dist Requirement satisfied: pyyaml; extra == 'full' (installed: pyyaml 6.0.1) + RPM_EC=0 ++ jobs -p + exit 0 Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.Jim8kG + umask 022 + cd /builddir/build/BUILD + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/OpenCloudOS/OpenCloudOS-hardened-cc1 -fstack-protector-strong -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection' + export CFLAGS + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/OpenCloudOS/OpenCloudOS-hardened-cc1 -fstack-protector-strong -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection' + export CXXFLAGS + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/OpenCloudOS/OpenCloudOS-hardened-cc1 -fstack-protector-strong -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -I/usr/lib/gfortran/modules' + export FFLAGS + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/OpenCloudOS/OpenCloudOS-hardened-cc1 -fstack-protector-strong -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -I/usr/lib/gfortran/modules' + export FCFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/OpenCloudOS/OpenCloudOS-hardened-ld -Wl,--build-id=sha1' + export LDFLAGS + LT_SYS_LIBRARY_PATH=/usr/lib: + export LT_SYS_LIBRARY_PATH + CC=gcc + export CC + CXX=g++ + export CXX + cd starlette-0.41.3 + mkdir -p /builddir/build/BUILD/starlette-0.41.3/.pyproject-builddir + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/OpenCloudOS/OpenCloudOS-hardened-cc1 -fstack-protector-strong -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection' + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/OpenCloudOS/OpenCloudOS-hardened-ld -Wl,--build-id=sha1' + TMPDIR=/builddir/build/BUILD/starlette-0.41.3/.pyproject-builddir + /usr/bin/python3 -m pip wheel --wheel-dir /builddir/build/BUILD/starlette-0.41.3/pyproject-wheeldir --no-deps --use-pep517 --no-build-isolation --disable-pip-version-check --no-clean --progress-bar off --verbose . Processing /builddir/build/BUILD/starlette-0.41.3 Preparing metadata (pyproject.toml): started Running command Preparing metadata (pyproject.toml) Preparing metadata (pyproject.toml): finished with status 'done' Building wheels for collected packages: starlette Building wheel for starlette (pyproject.toml): started Running command Building wheel for starlette (pyproject.toml) Building wheel for starlette (pyproject.toml): finished with status 'done' Created wheel for starlette: filename=starlette-0.41.3-py3-none-any.whl size=73240 sha256=ca890eeb9c45c7d93de70a10ff2a891beeb15927fa2e1141b7fd509b259c27bf Stored in directory: /builddir/.cache/pip/wheels/98/7a/4d/7474494bb21bf91eceff7153e3498802d3c5dd90ed87121e75 Successfully built starlette + RPM_EC=0 ++ jobs -p + exit 0 Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.jMUzrc + umask 022 + cd /builddir/build/BUILD + '[' /builddir/build/BUILDROOT/python-starlette-0.41.3-1.oc9.noarch '!=' / ']' + rm -rf /builddir/build/BUILDROOT/python-starlette-0.41.3-1.oc9.noarch ++ dirname /builddir/build/BUILDROOT/python-starlette-0.41.3-1.oc9.noarch + mkdir -p /builddir/build/BUILDROOT + mkdir /builddir/build/BUILDROOT/python-starlette-0.41.3-1.oc9.noarch + cd starlette-0.41.3 ++ ls /builddir/build/BUILD/starlette-0.41.3/pyproject-wheeldir/starlette-0.41.3-py3-none-any.whl ++ xargs basename --multiple ++ sed -E 's/([^-]+)-([^-]+)-.+\.whl/\1==\2/' + specifier=starlette==0.41.3 + TMPDIR=/builddir/build/BUILD/starlette-0.41.3/.pyproject-builddir + /usr/bin/python3 -m pip install --root /builddir/build/BUILDROOT/python-starlette-0.41.3-1.oc9.noarch --no-deps --disable-pip-version-check --progress-bar off --verbose --ignore-installed --no-warn-script-location --no-index --no-cache-dir --find-links /builddir/build/BUILD/starlette-0.41.3/pyproject-wheeldir starlette==0.41.3 Using pip 23.3.1 from /usr/lib/python3.11/site-packages/pip (python 3.11) Looking in links: /builddir/build/BUILD/starlette-0.41.3/pyproject-wheeldir Processing ./pyproject-wheeldir/starlette-0.41.3-py3-none-any.whl Installing collected packages: starlette Successfully installed starlette-0.41.3 + '[' -d /builddir/build/BUILDROOT/python-starlette-0.41.3-1.oc9.noarch/usr/bin ']' + rm -f /builddir/build/BUILD/pyproject-ghost-distinfo + site_dirs=() + '[' -d /builddir/build/BUILDROOT/python-starlette-0.41.3-1.oc9.noarch/usr/lib/python3.11/site-packages ']' + site_dirs+=("/usr/lib/python3.11/site-packages") + '[' /builddir/build/BUILDROOT/python-starlette-0.41.3-1.oc9.noarch/usr/lib64/python3.11/site-packages '!=' /builddir/build/BUILDROOT/python-starlette-0.41.3-1.oc9.noarch/usr/lib/python3.11/site-packages ']' + '[' -d /builddir/build/BUILDROOT/python-starlette-0.41.3-1.oc9.noarch/usr/lib64/python3.11/site-packages ']' + for site_dir in ${site_dirs[@]} + for distinfo in /builddir/build/BUILDROOT/python-starlette-0.41.3-1.oc9.noarch$site_dir/*.dist-info + echo '%ghost /usr/lib/python3.11/site-packages/starlette-0.41.3.dist-info' + sed -i s/pip/rpm/ /builddir/build/BUILDROOT/python-starlette-0.41.3-1.oc9.noarch/usr/lib/python3.11/site-packages/starlette-0.41.3.dist-info/INSTALLER + PYTHONPATH=/usr/lib/rpm/OpenCloudOS + /usr/bin/python3 -B /usr/lib/rpm/OpenCloudOS/pyproject_preprocess_record.py --buildroot /builddir/build/BUILDROOT/python-starlette-0.41.3-1.oc9.noarch --record /builddir/build/BUILDROOT/python-starlette-0.41.3-1.oc9.noarch/usr/lib/python3.11/site-packages/starlette-0.41.3.dist-info/RECORD --output /builddir/build/BUILD/pyproject-record + rm -fv /builddir/build/BUILDROOT/python-starlette-0.41.3-1.oc9.noarch/usr/lib/python3.11/site-packages/starlette-0.41.3.dist-info/RECORD removed '/builddir/build/BUILDROOT/python-starlette-0.41.3-1.oc9.noarch/usr/lib/python3.11/site-packages/starlette-0.41.3.dist-info/RECORD' + rm -fv /builddir/build/BUILDROOT/python-starlette-0.41.3-1.oc9.noarch/usr/lib/python3.11/site-packages/starlette-0.41.3.dist-info/REQUESTED removed '/builddir/build/BUILDROOT/python-starlette-0.41.3-1.oc9.noarch/usr/lib/python3.11/site-packages/starlette-0.41.3.dist-info/REQUESTED' + /usr/bin/python3 /usr/lib/rpm/OpenCloudOS/pyproject_save_files.py --output-files /builddir/build/BUILD/pyproject-files --output-modules /builddir/build/BUILD/pyproject-modules --buildroot /builddir/build/BUILDROOT/python-starlette-0.41.3-1.oc9.noarch --sitelib /usr/lib/python3.11/site-packages --sitearch /usr/lib64/python3.11/site-packages --python-version 3.11 --pyproject-record /builddir/build/BUILD/pyproject-record --prefix /usr starlette + /usr/bin/find-debuginfo -j8 --strict-build-id -m -i --build-id-seed 0.41.3-1.oc9 --unique-debug-suffix -0.41.3-1.oc9.noarch --unique-debug-src-base python-starlette-0.41.3-1.oc9.noarch -S debugsourcefiles.list /builddir/build/BUILD/starlette-0.41.3 find: 'debug': No such file or directory + /usr/lib/rpm/check-buildroot + /usr/lib/rpm/OpenCloudOS/brp-ldconfig + /usr/lib/rpm/brp-compress + /usr/lib/rpm/OpenCloudOS/brp-strip-lto /usr/bin/strip + /usr/lib/rpm/brp-strip-static-archive /usr/bin/strip + /usr/lib/rpm/check-rpaths + /usr/lib/rpm/OpenCloudOS/brp-mangle-shebangs + /usr/lib/rpm/OpenCloudOS/brp-python-bytecompile '' 1 0 Bytecompiling .py files below /builddir/build/BUILDROOT/python-starlette-0.41.3-1.oc9.noarch/usr/lib/python3.11 using python3.11 + /usr/lib/rpm/OpenCloudOS/brp-python-hardlink Executing(%check): /bin/sh -e /var/tmp/rpm-tmp.H016p9 + umask 022 + cd /builddir/build/BUILD + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/OpenCloudOS/OpenCloudOS-hardened-cc1 -fstack-protector-strong -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection' + export CFLAGS + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/OpenCloudOS/OpenCloudOS-hardened-cc1 -fstack-protector-strong -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection' + export CXXFLAGS + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/OpenCloudOS/OpenCloudOS-hardened-cc1 -fstack-protector-strong -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -I/usr/lib/gfortran/modules' + export FFLAGS + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/OpenCloudOS/OpenCloudOS-hardened-cc1 -fstack-protector-strong -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -I/usr/lib/gfortran/modules' + export FCFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/OpenCloudOS/OpenCloudOS-hardened-ld -Wl,--build-id=sha1' + export LDFLAGS + LT_SYS_LIBRARY_PATH=/usr/lib: + export LT_SYS_LIBRARY_PATH + CC=gcc + export CC + CXX=g++ + export CXX + cd starlette-0.41.3 + warningsfilter=' -W ignore::trio.TrioDeprecationWarning' + k='not test_lifespan_with_on_events' + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/OpenCloudOS/OpenCloudOS-hardened-cc1 -fstack-protector-strong -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection' + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/OpenCloudOS/OpenCloudOS-hardened-ld -Wl,--build-id=sha1' + PATH=/builddir/build/BUILDROOT/python-starlette-0.41.3-1.oc9.noarch/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sbin + PYTHONPATH=/builddir/build/BUILDROOT/python-starlette-0.41.3-1.oc9.noarch/usr/lib64/python3.11/site-packages:/builddir/build/BUILDROOT/python-starlette-0.41.3-1.oc9.noarch/usr/lib/python3.11/site-packages + PYTHONDONTWRITEBYTECODE=1 + PYTEST_ADDOPTS=' --ignore=/builddir/build/BUILD/starlette-0.41.3/.pyproject-builddir' + /usr/bin/pytest -W ignore::trio.TrioDeprecationWarning -k 'not test_lifespan_with_on_events' -v ============================= test session starts ============================== platform linux -- Python 3.11.6, pytest-7.4.0, pluggy-1.3.0 -- /usr/bin/python3 cachedir: .pytest_cache rootdir: /builddir/build/BUILD/starlette-0.41.3 configfile: pyproject.toml plugins: anyio-3.7.1 collecting ... collected 863 items / 2 deselected / 861 selected tests/test__utils.py::test_async_func PASSED [ 0%] tests/test__utils.py::test_async_partial PASSED [ 0%] tests/test__utils.py::test_async_method PASSED [ 0%] tests/test__utils.py::test_async_object_call PASSED [ 0%] tests/test__utils.py::test_async_partial_object_call PASSED [ 0%] tests/test__utils.py::test_async_nested_partial PASSED [ 0%] tests/test__utils.py::test_get_route_path[scope0-/foo-123/bar] PASSED [ 0%] tests/test__utils.py::test_get_route_path[scope1-/bar] PASSED [ 0%] tests/test__utils.py::test_get_route_path[scope2-] PASSED [ 1%] tests/test__utils.py::test_get_route_path[scope3-/foo/bar] PASSED [ 1%] tests/test_applications.py::test_url_path_for PASSED [ 1%] tests/test_applications.py::test_func_route[asyncio] PASSED [ 1%] tests/test_applications.py::test_func_route[trio] PASSED [ 1%] tests/test_applications.py::test_async_route[asyncio] PASSED [ 1%] tests/test_applications.py::test_async_route[trio] PASSED [ 1%] tests/test_applications.py::test_class_route[asyncio] PASSED [ 1%] tests/test_applications.py::test_class_route[trio] PASSED [ 1%] tests/test_applications.py::test_mounted_route[asyncio] PASSED [ 2%] tests/test_applications.py::test_mounted_route[trio] PASSED [ 2%] tests/test_applications.py::test_mounted_route_path_params[asyncio] PASSED [ 2%] tests/test_applications.py::test_mounted_route_path_params[trio] PASSED [ 2%] tests/test_applications.py::test_subdomain_route[asyncio] PASSED [ 2%] tests/test_applications.py::test_subdomain_route[trio] PASSED [ 2%] tests/test_applications.py::test_websocket_route[asyncio] PASSED [ 2%] tests/test_applications.py::test_websocket_route[trio] PASSED [ 2%] tests/test_applications.py::test_400[asyncio] PASSED [ 3%] tests/test_applications.py::test_400[trio] PASSED [ 3%] tests/test_applications.py::test_405[asyncio] PASSED [ 3%] tests/test_applications.py::test_405[trio] PASSED [ 3%] tests/test_applications.py::test_500[asyncio] PASSED [ 3%] tests/test_applications.py::test_500[trio] PASSED [ 3%] tests/test_applications.py::test_websocket_raise_websocket_exception[asyncio] PASSED [ 3%] tests/test_applications.py::test_websocket_raise_websocket_exception[trio] PASSED [ 3%] tests/test_applications.py::test_websocket_raise_http_exception[asyncio] PASSED [ 3%] tests/test_applications.py::test_websocket_raise_http_exception[trio] PASSED [ 4%] tests/test_applications.py::test_websocket_raise_custom_exception[asyncio] PASSED [ 4%] tests/test_applications.py::test_websocket_raise_custom_exception[trio] PASSED [ 4%] tests/test_applications.py::test_middleware[asyncio] PASSED [ 4%] tests/test_applications.py::test_middleware[trio] PASSED [ 4%] tests/test_applications.py::test_routes PASSED [ 4%] tests/test_applications.py::test_app_mount[asyncio] PASSED [ 4%] tests/test_applications.py::test_app_mount[trio] PASSED [ 4%] tests/test_applications.py::test_app_debug[asyncio] PASSED [ 4%] tests/test_applications.py::test_app_debug[trio] PASSED [ 5%] tests/test_applications.py::test_app_add_route[asyncio] PASSED [ 5%] tests/test_applications.py::test_app_add_route[trio] PASSED [ 5%] tests/test_applications.py::test_app_add_websocket_route[asyncio] PASSED [ 5%] tests/test_applications.py::test_app_add_websocket_route[trio] PASSED [ 5%] tests/test_applications.py::test_app_add_event_handler[asyncio] PASSED [ 5%] tests/test_applications.py::test_app_add_event_handler[trio] PASSED [ 5%] tests/test_applications.py::test_app_async_cm_lifespan[asyncio] PASSED [ 5%] tests/test_applications.py::test_app_async_cm_lifespan[trio] PASSED [ 6%] tests/test_applications.py::test_app_async_gen_lifespan[asyncio] PASSED [ 6%] tests/test_applications.py::test_app_async_gen_lifespan[trio] PASSED [ 6%] tests/test_applications.py::test_app_sync_gen_lifespan[asyncio] PASSED [ 6%] tests/test_applications.py::test_app_sync_gen_lifespan[trio] PASSED [ 6%] tests/test_applications.py::test_decorator_deprecations PASSED [ 6%] tests/test_applications.py::test_middleware_stack_init[asyncio] PASSED [ 6%] tests/test_applications.py::test_middleware_stack_init[trio] PASSED [ 6%] tests/test_applications.py::test_middleware_args[asyncio] PASSED [ 6%] tests/test_applications.py::test_middleware_args[trio] PASSED [ 7%] tests/test_applications.py::test_middleware_factory[asyncio] PASSED [ 7%] tests/test_applications.py::test_middleware_factory[trio] PASSED [ 7%] tests/test_applications.py::test_lifespan_app_subclass PASSED [ 7%] tests/test_authentication.py::test_invalid_decorator_usage PASSED [ 7%] tests/test_authentication.py::test_user_interface[asyncio] PASSED [ 7%] tests/test_authentication.py::test_user_interface[trio] PASSED [ 7%] tests/test_authentication.py::test_authentication_required[asyncio] PASSED [ 7%] tests/test_authentication.py::test_authentication_required[trio] PASSED [ 8%] tests/test_authentication.py::test_websocket_authentication_required[asyncio] PASSED [ 8%] tests/test_authentication.py::test_websocket_authentication_required[trio] PASSED [ 8%] tests/test_authentication.py::test_authentication_redirect[asyncio] PASSED [ 8%] tests/test_authentication.py::test_authentication_redirect[trio] PASSED [ 8%] tests/test_authentication.py::test_custom_on_error[asyncio] PASSED [ 8%] tests/test_authentication.py::test_custom_on_error[trio] PASSED [ 8%] tests/test_background.py::test_async_task[asyncio] PASSED [ 8%] tests/test_background.py::test_async_task[trio] PASSED [ 8%] tests/test_background.py::test_sync_task[asyncio] PASSED [ 9%] tests/test_background.py::test_sync_task[trio] PASSED [ 9%] tests/test_background.py::test_multiple_tasks[asyncio] PASSED [ 9%] tests/test_background.py::test_multiple_tasks[trio] PASSED [ 9%] tests/test_background.py::test_multi_tasks_failure_avoids_next_execution[asyncio] PASSED [ 9%] tests/test_background.py::test_multi_tasks_failure_avoids_next_execution[trio] PASSED [ 9%] tests/test_concurrency.py::test_run_until_first_complete[asyncio] PASSED [ 9%] tests/test_concurrency.py::test_run_until_first_complete[trio] PASSED [ 9%] tests/test_concurrency.py::test_accessing_context_from_threaded_sync_endpoint[asyncio] PASSED [ 9%] tests/test_concurrency.py::test_accessing_context_from_threaded_sync_endpoint[trio] PASSED [ 10%] tests/test_concurrency.py::test_iterate_in_threadpool[asyncio] PASSED [ 10%] tests/test_concurrency.py::test_iterate_in_threadpool[trio] PASSED [ 10%] tests/test_config.py::test_config_types PASSED [ 10%] tests/test_config.py::test_config PASSED [ 10%] tests/test_config.py::test_missing_env_file_raises PASSED [ 10%] tests/test_config.py::test_environ PASSED [ 10%] tests/test_config.py::test_config_with_env_prefix PASSED [ 10%] tests/test_convertors.py::test_datetime_convertor[asyncio] PASSED [ 11%] tests/test_convertors.py::test_datetime_convertor[trio] PASSED [ 11%] tests/test_convertors.py::test_default_float_convertor[asyncio-1.0-200] PASSED [ 11%] tests/test_convertors.py::test_default_float_convertor[asyncio-1-0-404] PASSED [ 11%] tests/test_convertors.py::test_default_float_convertor[trio-1.0-200] PASSED [ 11%] tests/test_convertors.py::test_default_float_convertor[trio-1-0-404] PASSED [ 11%] tests/test_datastructures.py::test_url PASSED [ 11%] tests/test_datastructures.py::test_url_query_params PASSED [ 11%] tests/test_datastructures.py::test_hidden_password PASSED [ 11%] tests/test_datastructures.py::test_csv PASSED [ 12%] tests/test_datastructures.py::test_url_from_scope PASSED [ 12%] tests/test_datastructures.py::test_headers PASSED [ 12%] tests/test_datastructures.py::test_mutable_headers PASSED [ 12%] tests/test_datastructures.py::test_mutable_headers_merge PASSED [ 12%] tests/test_datastructures.py::test_mutable_headers_merge_dict PASSED [ 12%] tests/test_datastructures.py::test_mutable_headers_update PASSED [ 12%] tests/test_datastructures.py::test_mutable_headers_update_dict PASSED [ 12%] tests/test_datastructures.py::test_mutable_headers_merge_not_mapping PASSED [ 13%] tests/test_datastructures.py::test_headers_mutablecopy PASSED [ 13%] tests/test_datastructures.py::test_mutable_headers_from_scope PASSED [ 13%] tests/test_datastructures.py::test_url_blank_params PASSED [ 13%] tests/test_datastructures.py::test_queryparams PASSED [ 13%] tests/test_datastructures.py::test_upload_file_file_input[asyncio] PASSED [ 13%] tests/test_datastructures.py::test_upload_file_file_input[trio] PASSED [ 13%] tests/test_datastructures.py::test_upload_file_without_size[asyncio] PASSED [ 13%] tests/test_datastructures.py::test_upload_file_without_size[trio] PASSED [ 13%] tests/test_datastructures.py::test_uploadfile_rolling[asyncio-rolled] PASSED [ 14%] tests/test_datastructures.py::test_uploadfile_rolling[asyncio-unrolled] PASSED [ 14%] tests/test_datastructures.py::test_uploadfile_rolling[trio-rolled] PASSED [ 14%] tests/test_datastructures.py::test_uploadfile_rolling[trio-unrolled] PASSED [ 14%] tests/test_datastructures.py::test_formdata PASSED [ 14%] tests/test_datastructures.py::test_upload_file_repr[asyncio] PASSED [ 14%] tests/test_datastructures.py::test_upload_file_repr[trio] PASSED [ 14%] tests/test_datastructures.py::test_upload_file_repr_headers[asyncio] PASSED [ 14%] tests/test_datastructures.py::test_upload_file_repr_headers[trio] PASSED [ 14%] tests/test_datastructures.py::test_multidict PASSED [ 15%] tests/test_endpoints.py::test_http_endpoint_route[asyncio] PASSED [ 15%] tests/test_endpoints.py::test_http_endpoint_route[trio] PASSED [ 15%] tests/test_endpoints.py::test_http_endpoint_route_path_params[asyncio] PASSED [ 15%] tests/test_endpoints.py::test_http_endpoint_route_path_params[trio] PASSED [ 15%] tests/test_endpoints.py::test_http_endpoint_route_method[asyncio] PASSED [ 15%] tests/test_endpoints.py::test_http_endpoint_route_method[trio] PASSED [ 15%] tests/test_endpoints.py::test_websocket_endpoint_on_connect[asyncio] PASSED [ 15%] tests/test_endpoints.py::test_websocket_endpoint_on_connect[trio] PASSED [ 16%] tests/test_endpoints.py::test_websocket_endpoint_on_receive_bytes[asyncio] PASSED [ 16%] tests/test_endpoints.py::test_websocket_endpoint_on_receive_bytes[trio] PASSED [ 16%] tests/test_endpoints.py::test_websocket_endpoint_on_receive_json[asyncio] PASSED [ 16%] tests/test_endpoints.py::test_websocket_endpoint_on_receive_json[trio] PASSED [ 16%] tests/test_endpoints.py::test_websocket_endpoint_on_receive_json_binary[asyncio] PASSED [ 16%] tests/test_endpoints.py::test_websocket_endpoint_on_receive_json_binary[trio] PASSED [ 16%] tests/test_endpoints.py::test_websocket_endpoint_on_receive_text[asyncio] PASSED [ 16%] tests/test_endpoints.py::test_websocket_endpoint_on_receive_text[trio] PASSED [ 16%] tests/test_endpoints.py::test_websocket_endpoint_on_default[asyncio] PASSED [ 17%] tests/test_endpoints.py::test_websocket_endpoint_on_default[trio] PASSED [ 17%] tests/test_endpoints.py::test_websocket_endpoint_on_disconnect[asyncio] PASSED [ 17%] tests/test_endpoints.py::test_websocket_endpoint_on_disconnect[trio] PASSED [ 17%] tests/test_exceptions.py::test_not_acceptable[asyncio] PASSED [ 17%] tests/test_exceptions.py::test_not_acceptable[trio] PASSED [ 17%] tests/test_exceptions.py::test_no_content[asyncio] PASSED [ 17%] tests/test_exceptions.py::test_no_content[trio] PASSED [ 17%] tests/test_exceptions.py::test_not_modified[asyncio] PASSED [ 18%] tests/test_exceptions.py::test_not_modified[trio] PASSED [ 18%] tests/test_exceptions.py::test_with_headers[asyncio] PASSED [ 18%] tests/test_exceptions.py::test_with_headers[trio] PASSED [ 18%] tests/test_exceptions.py::test_websockets_should_raise[asyncio] PASSED [ 18%] tests/test_exceptions.py::test_websockets_should_raise[trio] PASSED [ 18%] tests/test_exceptions.py::test_handled_exc_after_response[asyncio] PASSED [ 18%] tests/test_exceptions.py::test_handled_exc_after_response[trio] PASSED [ 18%] tests/test_exceptions.py::test_force_500_response[asyncio] PASSED [ 18%] tests/test_exceptions.py::test_force_500_response[trio] PASSED [ 19%] tests/test_exceptions.py::test_http_str PASSED [ 19%] tests/test_exceptions.py::test_http_repr PASSED [ 19%] tests/test_exceptions.py::test_websocket_str PASSED [ 19%] tests/test_exceptions.py::test_websocket_repr PASSED [ 19%] tests/test_exceptions.py::test_exception_middleware_deprecation PASSED [ 19%] tests/test_exceptions.py::test_request_in_app_and_handler_is_the_same_object[asyncio] PASSED [ 19%] tests/test_exceptions.py::test_request_in_app_and_handler_is_the_same_object[trio] PASSED [ 19%] tests/test_formparsers.py::test_multipart_request_data[asyncio] PASSED [ 19%] tests/test_formparsers.py::test_multipart_request_data[trio] PASSED [ 20%] tests/test_formparsers.py::test_multipart_request_files[asyncio] PASSED [ 20%] tests/test_formparsers.py::test_multipart_request_files[trio] PASSED [ 20%] tests/test_formparsers.py::test_multipart_request_files_with_content_type[asyncio] PASSED [ 20%] tests/test_formparsers.py::test_multipart_request_files_with_content_type[trio] PASSED [ 20%] tests/test_formparsers.py::test_multipart_request_multiple_files[asyncio] PASSED [ 20%] tests/test_formparsers.py::test_multipart_request_multiple_files[trio] PASSED [ 20%] tests/test_formparsers.py::test_multipart_request_multiple_files_with_headers[asyncio] PASSED [ 20%] tests/test_formparsers.py::test_multipart_request_multiple_files_with_headers[trio] PASSED [ 21%] tests/test_formparsers.py::test_multi_items[asyncio] PASSED [ 21%] tests/test_formparsers.py::test_multi_items[trio] PASSED [ 21%] tests/test_formparsers.py::test_multipart_request_mixed_files_and_data[asyncio] PASSED [ 21%] tests/test_formparsers.py::test_multipart_request_mixed_files_and_data[trio] PASSED [ 21%] tests/test_formparsers.py::test_multipart_request_with_charset_for_filename[asyncio] PASSED [ 21%] tests/test_formparsers.py::test_multipart_request_with_charset_for_filename[trio] PASSED [ 21%] tests/test_formparsers.py::test_multipart_request_without_charset_for_filename[asyncio] PASSED [ 21%] tests/test_formparsers.py::test_multipart_request_without_charset_for_filename[trio] PASSED [ 21%] tests/test_formparsers.py::test_multipart_request_with_encoded_value[asyncio] PASSED [ 22%] tests/test_formparsers.py::test_multipart_request_with_encoded_value[trio] PASSED [ 22%] tests/test_formparsers.py::test_urlencoded_request_data[asyncio] PASSED [ 22%] tests/test_formparsers.py::test_urlencoded_request_data[trio] PASSED [ 22%] tests/test_formparsers.py::test_no_request_data[asyncio] PASSED [ 22%] tests/test_formparsers.py::test_no_request_data[trio] PASSED [ 22%] tests/test_formparsers.py::test_urlencoded_percent_encoding[asyncio] PASSED [ 22%] tests/test_formparsers.py::test_urlencoded_percent_encoding[trio] PASSED [ 22%] tests/test_formparsers.py::test_urlencoded_percent_encoding_keys[asyncio] PASSED [ 22%] tests/test_formparsers.py::test_urlencoded_percent_encoding_keys[trio] PASSED [ 23%] tests/test_formparsers.py::test_urlencoded_multi_field_app_reads_body[asyncio] PASSED [ 23%] tests/test_formparsers.py::test_urlencoded_multi_field_app_reads_body[trio] PASSED [ 23%] tests/test_formparsers.py::test_multipart_multi_field_app_reads_body[asyncio] PASSED [ 23%] tests/test_formparsers.py::test_multipart_multi_field_app_reads_body[trio] PASSED [ 23%] tests/test_formparsers.py::test_user_safe_decode_helper PASSED [ 23%] tests/test_formparsers.py::test_user_safe_decode_ignores_wrong_charset PASSED [ 23%] tests/test_formparsers.py::test_missing_boundary_parameter[asyncio-app-expectation0] PASSED [ 23%] tests/test_formparsers.py::test_missing_boundary_parameter[asyncio-app1-expectation1] PASSED [ 24%] tests/test_formparsers.py::test_missing_boundary_parameter[trio-app-expectation0] PASSED [ 24%] tests/test_formparsers.py::test_missing_boundary_parameter[trio-app1-expectation1] PASSED [ 24%] tests/test_formparsers.py::test_missing_name_parameter_on_content_disposition[asyncio-app-expectation0] PASSED [ 24%] tests/test_formparsers.py::test_missing_name_parameter_on_content_disposition[asyncio-app1-expectation1] PASSED [ 24%] tests/test_formparsers.py::test_missing_name_parameter_on_content_disposition[trio-app-expectation0] PASSED [ 24%] tests/test_formparsers.py::test_missing_name_parameter_on_content_disposition[trio-app1-expectation1] PASSED [ 24%] tests/test_formparsers.py::test_too_many_fields_raise[asyncio-app-expectation0] PASSED [ 24%] tests/test_formparsers.py::test_too_many_fields_raise[asyncio-app1-expectation1] PASSED [ 24%] tests/test_formparsers.py::test_too_many_fields_raise[trio-app-expectation0] PASSED [ 25%] tests/test_formparsers.py::test_too_many_fields_raise[trio-app1-expectation1] PASSED [ 25%] tests/test_formparsers.py::test_too_many_files_raise[asyncio-app-expectation0] PASSED [ 25%] tests/test_formparsers.py::test_too_many_files_raise[asyncio-app1-expectation1] PASSED [ 25%] tests/test_formparsers.py::test_too_many_files_raise[trio-app-expectation0] PASSED [ 25%] tests/test_formparsers.py::test_too_many_files_raise[trio-app1-expectation1] PASSED [ 25%] tests/test_formparsers.py::test_too_many_files_single_field_raise[asyncio-app-expectation0] PASSED [ 25%] tests/test_formparsers.py::test_too_many_files_single_field_raise[asyncio-app1-expectation1] PASSED [ 25%] tests/test_formparsers.py::test_too_many_files_single_field_raise[trio-app-expectation0] PASSED [ 26%] tests/test_formparsers.py::test_too_many_files_single_field_raise[trio-app1-expectation1] PASSED [ 26%] tests/test_formparsers.py::test_too_many_files_and_fields_raise[asyncio-app-expectation0] PASSED [ 26%] tests/test_formparsers.py::test_too_many_files_and_fields_raise[asyncio-app1-expectation1] PASSED [ 26%] tests/test_formparsers.py::test_too_many_files_and_fields_raise[trio-app-expectation0] PASSED [ 26%] tests/test_formparsers.py::test_too_many_files_and_fields_raise[trio-app1-expectation1] PASSED [ 26%] tests/test_formparsers.py::test_max_fields_is_customizable_low_raises[asyncio-app-expectation0] PASSED [ 26%] tests/test_formparsers.py::test_max_fields_is_customizable_low_raises[asyncio-app1-expectation1] PASSED [ 26%] tests/test_formparsers.py::test_max_fields_is_customizable_low_raises[trio-app-expectation0] PASSED [ 26%] tests/test_formparsers.py::test_max_fields_is_customizable_low_raises[trio-app1-expectation1] PASSED [ 27%] tests/test_formparsers.py::test_max_files_is_customizable_low_raises[asyncio-app-expectation0] PASSED [ 27%] tests/test_formparsers.py::test_max_files_is_customizable_low_raises[asyncio-app1-expectation1] PASSED [ 27%] tests/test_formparsers.py::test_max_files_is_customizable_low_raises[trio-app-expectation0] PASSED [ 27%] tests/test_formparsers.py::test_max_files_is_customizable_low_raises[trio-app1-expectation1] PASSED [ 27%] tests/test_formparsers.py::test_max_fields_is_customizable_high[asyncio] PASSED [ 27%] tests/test_formparsers.py::test_max_fields_is_customizable_high[trio] PASSED [ 27%] tests/test_formparsers.py::test_max_part_size_exceeds_limit[asyncio-app-expectation0] PASSED [ 27%] tests/test_formparsers.py::test_max_part_size_exceeds_limit[asyncio-app1-expectation1] PASSED [ 27%] tests/test_formparsers.py::test_max_part_size_exceeds_limit[trio-app-expectation0] PASSED [ 28%] tests/test_formparsers.py::test_max_part_size_exceeds_limit[trio-app1-expectation1] PASSED [ 28%] tests/test_requests.py::test_request_url[asyncio] PASSED [ 28%] tests/test_requests.py::test_request_url[trio] PASSED [ 28%] tests/test_requests.py::test_request_query_params[asyncio] PASSED [ 28%] tests/test_requests.py::test_request_query_params[trio] PASSED [ 28%] tests/test_requests.py::test_request_headers[asyncio] PASSED [ 28%] tests/test_requests.py::test_request_headers[trio] PASSED [ 28%] tests/test_requests.py::test_request_client[scope0-expected_client0] PASSED [ 29%] tests/test_requests.py::test_request_client[scope1-None] PASSED [ 29%] tests/test_requests.py::test_request_client[scope2-None] PASSED [ 29%] tests/test_requests.py::test_request_body[asyncio] PASSED [ 29%] tests/test_requests.py::test_request_body[trio] PASSED [ 29%] tests/test_requests.py::test_request_stream[asyncio] PASSED [ 29%] tests/test_requests.py::test_request_stream[trio] PASSED [ 29%] tests/test_requests.py::test_request_form_urlencoded[asyncio] PASSED [ 29%] tests/test_requests.py::test_request_form_urlencoded[trio] PASSED [ 29%] tests/test_requests.py::test_request_form_context_manager[asyncio] PASSED [ 30%] tests/test_requests.py::test_request_form_context_manager[trio] PASSED [ 30%] tests/test_requests.py::test_request_body_then_stream[asyncio] PASSED [ 30%] tests/test_requests.py::test_request_body_then_stream[trio] PASSED [ 30%] tests/test_requests.py::test_request_stream_then_body[asyncio] PASSED [ 30%] tests/test_requests.py::test_request_stream_then_body[trio] PASSED [ 30%] tests/test_requests.py::test_request_json[asyncio] PASSED [ 30%] tests/test_requests.py::test_request_json[trio] PASSED [ 30%] tests/test_requests.py::test_request_scope_interface PASSED [ 31%] tests/test_requests.py::test_request_raw_path[asyncio] PASSED [ 31%] tests/test_requests.py::test_request_raw_path[trio] PASSED [ 31%] tests/test_requests.py::test_request_without_setting_receive[asyncio] PASSED [ 31%] tests/test_requests.py::test_request_without_setting_receive[trio] PASSED [ 31%] tests/test_requests.py::test_request_disconnect[asyncio] PASSED [ 31%] tests/test_requests.py::test_request_disconnect[trio] PASSED [ 31%] tests/test_requests.py::test_request_is_disconnected[asyncio] PASSED [ 31%] tests/test_requests.py::test_request_is_disconnected[trio] PASSED [ 31%] tests/test_requests.py::test_request_state_object PASSED [ 32%] tests/test_requests.py::test_request_state[asyncio] PASSED [ 32%] tests/test_requests.py::test_request_state[trio] PASSED [ 32%] tests/test_requests.py::test_request_cookies[asyncio] PASSED [ 32%] tests/test_requests.py::test_request_cookies[trio] PASSED [ 32%] tests/test_requests.py::test_cookie_lenient_parsing[asyncio] PASSED [ 32%] tests/test_requests.py::test_cookie_lenient_parsing[trio] PASSED [ 32%] tests/test_requests.py::test_cookies_edge_cases[asyncio-chips=ahoy; vienna=finger-expected0] PASSED [ 32%] tests/test_requests.py::test_cookies_edge_cases[asyncio-keebler="E=mc2; L=\\"Loves\\"; fudge=\\012;"-expected1] PASSED [ 32%] tests/test_requests.py::test_cookies_edge_cases[asyncio-keebler=E=mc2-expected2] PASSED [ 33%] tests/test_requests.py::test_cookies_edge_cases[asyncio-key:term=value:term-expected3] PASSED [ 33%] tests/test_requests.py::test_cookies_edge_cases[asyncio-a=b; c=[; d=r; f=h-expected4] PASSED [ 33%] tests/test_requests.py::test_cookies_edge_cases[asyncio-a=b; Domain=example.com-expected5] PASSED [ 33%] tests/test_requests.py::test_cookies_edge_cases[asyncio-a=b; h=i; a=c-expected6] PASSED [ 33%] tests/test_requests.py::test_cookies_edge_cases[trio-chips=ahoy; vienna=finger-expected0] PASSED [ 33%] tests/test_requests.py::test_cookies_edge_cases[trio-keebler="E=mc2; L=\\"Loves\\"; fudge=\\012;"-expected1] PASSED [ 33%] tests/test_requests.py::test_cookies_edge_cases[trio-keebler=E=mc2-expected2] PASSED [ 33%] tests/test_requests.py::test_cookies_edge_cases[trio-key:term=value:term-expected3] PASSED [ 34%] tests/test_requests.py::test_cookies_edge_cases[trio-a=b; c=[; d=r; f=h-expected4] PASSED [ 34%] tests/test_requests.py::test_cookies_edge_cases[trio-a=b; Domain=example.com-expected5] PASSED [ 34%] tests/test_requests.py::test_cookies_edge_cases[trio-a=b; h=i; a=c-expected6] PASSED [ 34%] tests/test_requests.py::test_cookies_invalid[asyncio-abc=def; unnamed; django_language=en-expected0] PASSED [ 34%] tests/test_requests.py::test_cookies_invalid[asyncio-a=b; "; c=d-expected1] PASSED [ 34%] tests/test_requests.py::test_cookies_invalid[asyncio-a b c=d e = f; gh=i-expected2] PASSED [ 34%] tests/test_requests.py::test_cookies_invalid[asyncio-a b,c<>@:/[]?{}=d " =e,f g-expected3] PASSED [ 34%] tests/test_requests.py::test_cookies_invalid[asyncio- = b ; ; = ; c = ; -expected4] PASSED [ 34%] tests/test_requests.py::test_cookies_invalid[trio-abc=def; unnamed; django_language=en-expected0] PASSED [ 35%] tests/test_requests.py::test_cookies_invalid[trio-a=b; "; c=d-expected1] PASSED [ 35%] tests/test_requests.py::test_cookies_invalid[trio-a b c=d e = f; gh=i-expected2] PASSED [ 35%] tests/test_requests.py::test_cookies_invalid[trio-a b,c<>@:/[]?{}=d " =e,f g-expected3] PASSED [ 35%] tests/test_requests.py::test_cookies_invalid[trio- = b ; ; = ; c = ; -expected4] PASSED [ 35%] tests/test_requests.py::test_chunked_encoding[asyncio] PASSED [ 35%] tests/test_requests.py::test_chunked_encoding[trio] PASSED [ 35%] tests/test_requests.py::test_request_send_push_promise[asyncio] PASSED [ 35%] tests/test_requests.py::test_request_send_push_promise[trio] PASSED [ 36%] tests/test_requests.py::test_request_send_push_promise_without_push_extension[asyncio] PASSED [ 36%] tests/test_requests.py::test_request_send_push_promise_without_push_extension[trio] PASSED [ 36%] tests/test_requests.py::test_request_send_push_promise_without_setting_send[asyncio] PASSED [ 36%] tests/test_requests.py::test_request_send_push_promise_without_setting_send[trio] PASSED [ 36%] tests/test_requests.py::test_request_rcv[asyncio-messages0] PASSED [ 36%] tests/test_requests.py::test_request_rcv[asyncio-messages1] PASSED [ 36%] tests/test_requests.py::test_request_rcv[asyncio-messages2] PASSED [ 36%] tests/test_requests.py::test_request_rcv[asyncio-messages3] PASSED [ 36%] tests/test_requests.py::test_request_rcv[trio-messages0] PASSED [ 37%] tests/test_requests.py::test_request_rcv[trio-messages1] PASSED [ 37%] tests/test_requests.py::test_request_rcv[trio-messages2] PASSED [ 37%] tests/test_requests.py::test_request_rcv[trio-messages3] PASSED [ 37%] tests/test_requests.py::test_request_stream_called_twice[asyncio] PASSED [ 37%] tests/test_requests.py::test_request_stream_called_twice[trio] PASSED [ 37%] tests/test_requests.py::test_request_url_outside_starlette_context[asyncio] PASSED [ 37%] tests/test_requests.py::test_request_url_outside_starlette_context[trio] PASSED [ 37%] tests/test_requests.py::test_request_url_starlette_context[asyncio] PASSED [ 37%] tests/test_requests.py::test_request_url_starlette_context[trio] PASSED [ 38%] tests/test_responses.py::test_text_response[asyncio] PASSED [ 38%] tests/test_responses.py::test_text_response[trio] PASSED [ 38%] tests/test_responses.py::test_bytes_response[asyncio] PASSED [ 38%] tests/test_responses.py::test_bytes_response[trio] PASSED [ 38%] tests/test_responses.py::test_json_none_response[asyncio] PASSED [ 38%] tests/test_responses.py::test_json_none_response[trio] PASSED [ 38%] tests/test_responses.py::test_redirect_response[asyncio] PASSED [ 38%] tests/test_responses.py::test_redirect_response[trio] PASSED [ 39%] tests/test_responses.py::test_quoting_redirect_response[asyncio] PASSED [ 39%] tests/test_responses.py::test_quoting_redirect_response[trio] PASSED [ 39%] tests/test_responses.py::test_redirect_response_content_length_header[asyncio] PASSED [ 39%] tests/test_responses.py::test_redirect_response_content_length_header[trio] PASSED [ 39%] tests/test_responses.py::test_streaming_response[asyncio] PASSED [ 39%] tests/test_responses.py::test_streaming_response[trio] PASSED [ 39%] tests/test_responses.py::test_streaming_response_custom_iterator[asyncio] PASSED [ 39%] tests/test_responses.py::test_streaming_response_custom_iterator[trio] PASSED [ 39%] tests/test_responses.py::test_streaming_response_custom_iterable[asyncio] PASSED [ 40%] tests/test_responses.py::test_streaming_response_custom_iterable[trio] PASSED [ 40%] tests/test_responses.py::test_sync_streaming_response[asyncio] PASSED [ 40%] tests/test_responses.py::test_sync_streaming_response[trio] PASSED [ 40%] tests/test_responses.py::test_response_headers[asyncio] PASSED [ 40%] tests/test_responses.py::test_response_headers[trio] PASSED [ 40%] tests/test_responses.py::test_response_phrase[asyncio] PASSED [ 40%] tests/test_responses.py::test_response_phrase[trio] PASSED [ 40%] tests/test_responses.py::test_file_response[asyncio] PASSED [ 40%] tests/test_responses.py::test_file_response[trio] PASSED [ 41%] tests/test_responses.py::test_file_response_on_head_method[asyncio] PASSED [ 41%] tests/test_responses.py::test_file_response_on_head_method[trio] PASSED [ 41%] tests/test_responses.py::test_file_response_set_media_type[asyncio] PASSED [ 41%] tests/test_responses.py::test_file_response_set_media_type[trio] PASSED [ 41%] tests/test_responses.py::test_file_response_with_directory_raises_error[asyncio] PASSED [ 41%] tests/test_responses.py::test_file_response_with_directory_raises_error[trio] PASSED [ 41%] tests/test_responses.py::test_file_response_with_missing_file_raises_error[asyncio] PASSED [ 41%] tests/test_responses.py::test_file_response_with_missing_file_raises_error[trio] PASSED [ 42%] tests/test_responses.py::test_file_response_with_chinese_filename[asyncio] PASSED [ 42%] tests/test_responses.py::test_file_response_with_chinese_filename[trio] PASSED [ 42%] tests/test_responses.py::test_file_response_with_inline_disposition[asyncio] PASSED [ 42%] tests/test_responses.py::test_file_response_with_inline_disposition[trio] PASSED [ 42%] tests/test_responses.py::test_file_response_with_method_warns PASSED [ 42%] tests/test_responses.py::test_set_cookie[asyncio] PASSED [ 42%] tests/test_responses.py::test_set_cookie[trio] PASSED [ 42%] tests/test_responses.py::test_set_cookie_path_none[asyncio] PASSED [ 42%] tests/test_responses.py::test_set_cookie_path_none[trio] PASSED [ 43%] tests/test_responses.py::test_expires_on_set_cookie[asyncio-datetime] PASSED [ 43%] tests/test_responses.py::test_expires_on_set_cookie[asyncio-str] PASSED [ 43%] tests/test_responses.py::test_expires_on_set_cookie[asyncio-int] PASSED [ 43%] tests/test_responses.py::test_expires_on_set_cookie[trio-datetime] PASSED [ 43%] tests/test_responses.py::test_expires_on_set_cookie[trio-str] PASSED [ 43%] tests/test_responses.py::test_expires_on_set_cookie[trio-int] PASSED [ 43%] tests/test_responses.py::test_delete_cookie[asyncio] PASSED [ 43%] tests/test_responses.py::test_delete_cookie[trio] PASSED [ 44%] tests/test_responses.py::test_populate_headers[asyncio] PASSED [ 44%] tests/test_responses.py::test_populate_headers[trio] PASSED [ 44%] tests/test_responses.py::test_head_method[asyncio] PASSED [ 44%] tests/test_responses.py::test_head_method[trio] PASSED [ 44%] tests/test_responses.py::test_empty_response[asyncio] PASSED [ 44%] tests/test_responses.py::test_empty_response[trio] PASSED [ 44%] tests/test_responses.py::test_empty_204_response[asyncio] PASSED [ 44%] tests/test_responses.py::test_empty_204_response[trio] PASSED [ 44%] tests/test_responses.py::test_non_empty_response[asyncio] PASSED [ 45%] tests/test_responses.py::test_non_empty_response[trio] PASSED [ 45%] tests/test_responses.py::test_response_do_not_add_redundant_charset[asyncio] PASSED [ 45%] tests/test_responses.py::test_response_do_not_add_redundant_charset[trio] PASSED [ 45%] tests/test_responses.py::test_file_response_known_size[asyncio] PASSED [ 45%] tests/test_responses.py::test_file_response_known_size[trio] PASSED [ 45%] tests/test_responses.py::test_streaming_response_unknown_size[asyncio] PASSED [ 45%] tests/test_responses.py::test_streaming_response_unknown_size[trio] PASSED [ 45%] tests/test_responses.py::test_streaming_response_known_size[asyncio] PASSED [ 45%] tests/test_responses.py::test_streaming_response_known_size[trio] PASSED [ 46%] tests/test_responses.py::test_response_memoryview[asyncio] PASSED [ 46%] tests/test_responses.py::test_response_memoryview[trio] PASSED [ 46%] tests/test_responses.py::test_streaming_response_memoryview[asyncio] PASSED [ 46%] tests/test_responses.py::test_streaming_response_memoryview[trio] PASSED [ 46%] tests/test_responses.py::test_streaming_response_stops_if_receiving_http_disconnect[asyncio] PASSED [ 46%] tests/test_responses.py::test_streaming_response_stops_if_receiving_http_disconnect[trio] PASSED [ 46%] tests/test_responses.py::test_file_response_without_range[asyncio] PASSED [ 46%] tests/test_responses.py::test_file_response_without_range[trio] PASSED [ 47%] tests/test_responses.py::test_file_response_head[asyncio] PASSED [ 47%] tests/test_responses.py::test_file_response_head[trio] PASSED [ 47%] tests/test_responses.py::test_file_response_range[asyncio] PASSED [ 47%] tests/test_responses.py::test_file_response_range[trio] PASSED [ 47%] tests/test_responses.py::test_file_response_range_head[asyncio] PASSED [ 47%] tests/test_responses.py::test_file_response_range_head[trio] PASSED [ 47%] tests/test_responses.py::test_file_response_range_multi[asyncio] PASSED [ 47%] tests/test_responses.py::test_file_response_range_multi[trio] PASSED [ 47%] tests/test_responses.py::test_file_response_range_multi_head[asyncio] PASSED [ 48%] tests/test_responses.py::test_file_response_range_multi_head[trio] PASSED [ 48%] tests/test_responses.py::test_file_response_range_invalid[asyncio] PASSED [ 48%] tests/test_responses.py::test_file_response_range_invalid[trio] PASSED [ 48%] tests/test_responses.py::test_file_response_range_head_max[asyncio] PASSED [ 48%] tests/test_responses.py::test_file_response_range_head_max[trio] PASSED [ 48%] tests/test_responses.py::test_file_response_range_416[asyncio] PASSED [ 48%] tests/test_responses.py::test_file_response_range_416[trio] PASSED [ 48%] tests/test_responses.py::test_file_response_only_support_bytes_range[asyncio] PASSED [ 49%] tests/test_responses.py::test_file_response_only_support_bytes_range[trio] PASSED [ 49%] tests/test_responses.py::test_file_response_range_must_be_requested[asyncio] PASSED [ 49%] tests/test_responses.py::test_file_response_range_must_be_requested[trio] PASSED [ 49%] tests/test_responses.py::test_file_response_start_must_be_less_than_end[asyncio] PASSED [ 49%] tests/test_responses.py::test_file_response_start_must_be_less_than_end[trio] PASSED [ 49%] tests/test_responses.py::test_file_response_merge_ranges[asyncio] PASSED [ 49%] tests/test_responses.py::test_file_response_merge_ranges[trio] PASSED [ 49%] tests/test_responses.py::test_file_response_insert_ranges[asyncio] PASSED [ 49%] tests/test_responses.py::test_file_response_insert_ranges[trio] PASSED [ 50%] tests/test_responses.py::test_file_response_multi_small_chunk_size[asyncio] PASSED [ 50%] tests/test_responses.py::test_file_response_multi_small_chunk_size[trio] PASSED [ 50%] tests/test_routing.py::test_router[asyncio] PASSED [ 50%] tests/test_routing.py::test_router[trio] PASSED [ 50%] tests/test_routing.py::test_route_converters[asyncio] PASSED [ 50%] tests/test_routing.py::test_route_converters[trio] PASSED [ 50%] tests/test_routing.py::test_url_path_for PASSED [ 50%] tests/test_routing.py::test_url_for PASSED [ 50%] tests/test_routing.py::test_router_add_route[asyncio] PASSED [ 51%] tests/test_routing.py::test_router_add_route[trio] PASSED [ 51%] tests/test_routing.py::test_router_duplicate_path[asyncio] PASSED [ 51%] tests/test_routing.py::test_router_duplicate_path[trio] PASSED [ 51%] tests/test_routing.py::test_router_add_websocket_route[asyncio] PASSED [ 51%] tests/test_routing.py::test_router_add_websocket_route[trio] PASSED [ 51%] tests/test_routing.py::test_router_middleware[asyncio] PASSED [ 51%] tests/test_routing.py::test_router_middleware[trio] PASSED [ 51%] tests/test_routing.py::test_protocol_switch[asyncio] PASSED [ 52%] tests/test_routing.py::test_protocol_switch[trio] PASSED [ 52%] tests/test_routing.py::test_mount_urls[asyncio] PASSED [ 52%] tests/test_routing.py::test_mount_urls[trio] PASSED [ 52%] tests/test_routing.py::test_reverse_mount_urls PASSED [ 52%] tests/test_routing.py::test_mount_at_root[asyncio] PASSED [ 52%] tests/test_routing.py::test_mount_at_root[trio] PASSED [ 52%] tests/test_routing.py::test_host_routing[asyncio] PASSED [ 52%] tests/test_routing.py::test_host_routing[trio] PASSED [ 52%] tests/test_routing.py::test_host_reverse_urls PASSED [ 53%] tests/test_routing.py::test_subdomain_routing[asyncio] PASSED [ 53%] tests/test_routing.py::test_subdomain_routing[trio] PASSED [ 53%] tests/test_routing.py::test_subdomain_reverse_urls PASSED [ 53%] tests/test_routing.py::test_url_for_with_root_path[asyncio] PASSED [ 53%] tests/test_routing.py::test_url_for_with_root_path[trio] PASSED [ 53%] tests/test_routing.py::test_url_for_with_double_mount PASSED [ 53%] tests/test_routing.py::test_standalone_route_matches[asyncio] PASSED [ 53%] tests/test_routing.py::test_standalone_route_matches[trio] PASSED [ 54%] tests/test_routing.py::test_standalone_route_does_not_match[asyncio] PASSED [ 54%] tests/test_routing.py::test_standalone_route_does_not_match[trio] PASSED [ 54%] tests/test_routing.py::test_standalone_ws_route_matches[asyncio] PASSED [ 54%] tests/test_routing.py::test_standalone_ws_route_matches[trio] PASSED [ 54%] tests/test_routing.py::test_standalone_ws_route_does_not_match[asyncio] PASSED [ 54%] tests/test_routing.py::test_standalone_ws_route_does_not_match[trio] PASSED [ 54%] tests/test_routing.py::test_lifespan_async[asyncio] PASSED [ 54%] tests/test_routing.py::test_lifespan_async[trio] PASSED [ 54%] tests/test_routing.py::test_lifespan_sync[asyncio] PASSED [ 55%] tests/test_routing.py::test_lifespan_sync[trio] PASSED [ 55%] tests/test_routing.py::test_lifespan_state_unsupported[asyncio] PASSED [ 55%] tests/test_routing.py::test_lifespan_state_unsupported[trio] PASSED [ 55%] tests/test_routing.py::test_lifespan_state_async_cm[asyncio] PASSED [ 55%] tests/test_routing.py::test_lifespan_state_async_cm[trio] PASSED [ 55%] tests/test_routing.py::test_raise_on_startup[asyncio] PASSED [ 55%] tests/test_routing.py::test_raise_on_startup[trio] PASSED [ 55%] tests/test_routing.py::test_raise_on_shutdown[asyncio] PASSED [ 55%] tests/test_routing.py::test_raise_on_shutdown[trio] PASSED [ 56%] tests/test_routing.py::test_partial_async_endpoint[asyncio] PASSED [ 56%] tests/test_routing.py::test_partial_async_endpoint[trio] PASSED [ 56%] tests/test_routing.py::test_partial_async_ws_endpoint[asyncio] PASSED [ 56%] tests/test_routing.py::test_partial_async_ws_endpoint[trio] PASSED [ 56%] tests/test_routing.py::test_duplicated_param_names PASSED [ 56%] tests/test_routing.py::test_route_name[function] PASSED [ 56%] tests/test_routing.py::test_route_name[method] PASSED [ 56%] tests/test_routing.py::test_route_name[classmethod] PASSED [ 57%] tests/test_routing.py::test_route_name[staticmethod] PASSED [ 57%] tests/test_routing.py::test_route_name[object] PASSED [ 57%] tests/test_routing.py::test_route_name[lambda] PASSED [ 57%] tests/test_routing.py::test_base_route_middleware[asyncio-app0] PASSED [ 57%] tests/test_routing.py::test_base_route_middleware[asyncio-app1] PASSED [ 57%] tests/test_routing.py::test_base_route_middleware[asyncio-app2] PASSED [ 57%] tests/test_routing.py::test_base_route_middleware[trio-app0] PASSED [ 57%] tests/test_routing.py::test_base_route_middleware[trio-app1] PASSED [ 57%] tests/test_routing.py::test_base_route_middleware[trio-app2] PASSED [ 58%] tests/test_routing.py::test_mount_routes_with_middleware_url_path_for PASSED [ 58%] tests/test_routing.py::test_mount_asgi_app_with_middleware_url_path_for PASSED [ 58%] tests/test_routing.py::test_add_route_to_app_after_mount[asyncio] PASSED [ 58%] tests/test_routing.py::test_add_route_to_app_after_mount[trio] PASSED [ 58%] tests/test_routing.py::test_exception_on_mounted_apps[asyncio] PASSED [ 58%] tests/test_routing.py::test_exception_on_mounted_apps[trio] PASSED [ 58%] tests/test_routing.py::test_mounted_middleware_does_not_catch_exception[asyncio] PASSED [ 58%] tests/test_routing.py::test_mounted_middleware_does_not_catch_exception[trio] PASSED [ 59%] tests/test_routing.py::test_websocket_route_middleware[asyncio] PASSED [ 59%] tests/test_routing.py::test_websocket_route_middleware[trio] PASSED [ 59%] tests/test_routing.py::test_route_repr PASSED [ 59%] tests/test_routing.py::test_route_repr_without_methods PASSED [ 59%] tests/test_routing.py::test_websocket_route_repr PASSED [ 59%] tests/test_routing.py::test_mount_repr PASSED [ 59%] tests/test_routing.py::test_mount_named_repr PASSED [ 59%] tests/test_routing.py::test_host_repr PASSED [ 59%] tests/test_routing.py::test_host_named_repr PASSED [ 60%] tests/test_routing.py::test_decorator_deprecations PASSED [ 60%] tests/test_routing.py::test_paths_with_root_path[asyncio] PASSED [ 60%] tests/test_routing.py::test_paths_with_root_path[trio] PASSED [ 60%] tests/test_schemas.py::test_schema_generation PASSED [ 60%] tests/test_schemas.py::test_schema_endpoint[asyncio] PASSED [ 60%] tests/test_schemas.py::test_schema_endpoint[trio] PASSED [ 60%] tests/test_staticfiles.py::test_staticfiles[asyncio] PASSED [ 60%] tests/test_staticfiles.py::test_staticfiles[trio] PASSED [ 60%] tests/test_staticfiles.py::test_staticfiles_with_pathlib[asyncio] PASSED [ 61%] tests/test_staticfiles.py::test_staticfiles_with_pathlib[trio] PASSED [ 61%] tests/test_staticfiles.py::test_staticfiles_head_with_middleware[asyncio] PASSED [ 61%] tests/test_staticfiles.py::test_staticfiles_head_with_middleware[trio] PASSED [ 61%] tests/test_staticfiles.py::test_staticfiles_with_package[asyncio] PASSED [ 61%] tests/test_staticfiles.py::test_staticfiles_with_package[trio] PASSED [ 61%] tests/test_staticfiles.py::test_staticfiles_post[asyncio] PASSED [ 61%] tests/test_staticfiles.py::test_staticfiles_post[trio] PASSED [ 61%] tests/test_staticfiles.py::test_staticfiles_with_directory_returns_404[asyncio] PASSED [ 62%] tests/test_staticfiles.py::test_staticfiles_with_directory_returns_404[trio] PASSED [ 62%] tests/test_staticfiles.py::test_staticfiles_with_missing_file_returns_404[asyncio] PASSED [ 62%] tests/test_staticfiles.py::test_staticfiles_with_missing_file_returns_404[trio] PASSED [ 62%] tests/test_staticfiles.py::test_staticfiles_instantiated_with_missing_directory PASSED [ 62%] tests/test_staticfiles.py::test_staticfiles_configured_with_missing_directory[asyncio] PASSED [ 62%] tests/test_staticfiles.py::test_staticfiles_configured_with_missing_directory[trio] PASSED [ 62%] tests/test_staticfiles.py::test_staticfiles_configured_with_file_instead_of_directory[asyncio] PASSED [ 62%] tests/test_staticfiles.py::test_staticfiles_configured_with_file_instead_of_directory[trio] PASSED [ 62%] tests/test_staticfiles.py::test_staticfiles_config_check_occurs_only_once[asyncio] PASSED [ 63%] tests/test_staticfiles.py::test_staticfiles_config_check_occurs_only_once[trio] PASSED [ 63%] tests/test_staticfiles.py::test_staticfiles_prevents_breaking_out_of_directory PASSED [ 63%] tests/test_staticfiles.py::test_staticfiles_never_read_file_for_head_method[asyncio] PASSED [ 63%] tests/test_staticfiles.py::test_staticfiles_never_read_file_for_head_method[trio] PASSED [ 63%] tests/test_staticfiles.py::test_staticfiles_304_with_etag_match[asyncio] PASSED [ 63%] tests/test_staticfiles.py::test_staticfiles_304_with_etag_match[trio] PASSED [ 63%] tests/test_staticfiles.py::test_staticfiles_304_with_last_modified_compare_last_req[asyncio] PASSED [ 63%] tests/test_staticfiles.py::test_staticfiles_304_with_last_modified_compare_last_req[trio] PASSED [ 63%] tests/test_staticfiles.py::test_staticfiles_html_normal[asyncio] PASSED [ 64%] tests/test_staticfiles.py::test_staticfiles_html_normal[trio] PASSED [ 64%] tests/test_staticfiles.py::test_staticfiles_html_without_index[asyncio] PASSED [ 64%] tests/test_staticfiles.py::test_staticfiles_html_without_index[trio] PASSED [ 64%] tests/test_staticfiles.py::test_staticfiles_html_without_404[asyncio] PASSED [ 64%] tests/test_staticfiles.py::test_staticfiles_html_without_404[trio] PASSED [ 64%] tests/test_staticfiles.py::test_staticfiles_html_only_files[asyncio] PASSED [ 64%] tests/test_staticfiles.py::test_staticfiles_html_only_files[trio] PASSED [ 64%] tests/test_staticfiles.py::test_staticfiles_cache_invalidation_for_deleted_file_html_mode[asyncio] PASSED [ 65%] tests/test_staticfiles.py::test_staticfiles_cache_invalidation_for_deleted_file_html_mode[trio] PASSED [ 65%] tests/test_staticfiles.py::test_staticfiles_with_invalid_dir_permissions_returns_401[asyncio] PASSED [ 65%] tests/test_staticfiles.py::test_staticfiles_with_invalid_dir_permissions_returns_401[trio] PASSED [ 65%] tests/test_staticfiles.py::test_staticfiles_with_missing_dir_returns_404[asyncio] PASSED [ 65%] tests/test_staticfiles.py::test_staticfiles_with_missing_dir_returns_404[trio] PASSED [ 65%] tests/test_staticfiles.py::test_staticfiles_access_file_as_dir_returns_404[asyncio] PASSED [ 65%] tests/test_staticfiles.py::test_staticfiles_access_file_as_dir_returns_404[trio] PASSED [ 65%] tests/test_staticfiles.py::test_staticfiles_filename_too_long[asyncio] PASSED [ 65%] tests/test_staticfiles.py::test_staticfiles_filename_too_long[trio] PASSED [ 66%] tests/test_staticfiles.py::test_staticfiles_unhandled_os_error_returns_500[asyncio] PASSED [ 66%] tests/test_staticfiles.py::test_staticfiles_unhandled_os_error_returns_500[trio] PASSED [ 66%] tests/test_staticfiles.py::test_staticfiles_follows_symlinks[asyncio] PASSED [ 66%] tests/test_staticfiles.py::test_staticfiles_follows_symlinks[trio] PASSED [ 66%] tests/test_staticfiles.py::test_staticfiles_follows_symlink_directories[asyncio] PASSED [ 66%] tests/test_staticfiles.py::test_staticfiles_follows_symlink_directories[trio] PASSED [ 66%] tests/test_staticfiles.py::test_staticfiles_disallows_path_traversal_with_symlinks PASSED [ 66%] tests/test_staticfiles.py::test_staticfiles_avoids_path_traversal PASSED [ 67%] tests/test_status.py::test_deprecated_types[WS_1004_NO_STATUS_RCVD-'WS_1004_NO_STATUS_RCVD' is deprecated. Use 'WS_1005_NO_STATUS_RCVD' instead.] PASSED [ 67%] tests/test_status.py::test_deprecated_types[WS_1005_ABNORMAL_CLOSURE-'WS_1005_ABNORMAL_CLOSURE' is deprecated. Use 'WS_1006_ABNORMAL_CLOSURE' instead.] PASSED [ 67%] tests/test_templates.py::test_templates[asyncio] PASSED [ 67%] tests/test_templates.py::test_templates[trio] PASSED [ 67%] tests/test_templates.py::test_calls_context_processors[asyncio] PASSED [ 67%] tests/test_templates.py::test_calls_context_processors[trio] PASSED [ 67%] tests/test_templates.py::test_template_with_middleware[asyncio] PASSED [ 67%] tests/test_templates.py::test_template_with_middleware[trio] PASSED [ 67%] tests/test_templates.py::test_templates_with_directories[asyncio] PASSED [ 68%] tests/test_templates.py::test_templates_with_directories[trio] PASSED [ 68%] tests/test_templates.py::test_templates_require_directory_or_environment PASSED [ 68%] tests/test_templates.py::test_templates_require_directory_or_enviroment_not_both PASSED [ 68%] tests/test_templates.py::test_templates_with_directory PASSED [ 68%] tests/test_templates.py::test_templates_with_environment[asyncio] PASSED [ 68%] tests/test_templates.py::test_templates_with_environment[trio] PASSED [ 68%] tests/test_templates.py::test_templates_with_environment_options_emit_warning PASSED [ 68%] tests/test_templates.py::test_templates_with_kwargs_only[asyncio] PASSED [ 68%] tests/test_templates.py::test_templates_with_kwargs_only[trio] PASSED [ 69%] tests/test_templates.py::test_templates_with_kwargs_only_requires_request_in_context PASSED [ 69%] tests/test_templates.py::test_templates_with_kwargs_only_warns_when_no_request_keyword[asyncio] PASSED [ 69%] tests/test_templates.py::test_templates_with_kwargs_only_warns_when_no_request_keyword[trio] PASSED [ 69%] tests/test_templates.py::test_templates_with_requires_request_in_context PASSED [ 69%] tests/test_templates.py::test_templates_warns_when_first_argument_isnot_request[asyncio] PASSED [ 69%] tests/test_templates.py::test_templates_warns_when_first_argument_isnot_request[trio] PASSED [ 69%] tests/test_templates.py::test_templates_when_first_argument_is_request[asyncio] PASSED [ 69%] tests/test_templates.py::test_templates_when_first_argument_is_request[trio] PASSED [ 70%] tests/test_testclient.py::test_use_testclient_in_endpoint[asyncio] PASSED [ 70%] tests/test_testclient.py::test_use_testclient_in_endpoint[trio] PASSED [ 70%] tests/test_testclient.py::test_testclient_headers_behavior PASSED [ 70%] tests/test_testclient.py::test_use_testclient_as_contextmanager[asyncio] PASSED [ 70%] tests/test_testclient.py::test_use_testclient_as_contextmanager[trio] PASSED [ 70%] tests/test_testclient.py::test_error_on_startup[asyncio] PASSED [ 70%] tests/test_testclient.py::test_error_on_startup[trio] PASSED [ 70%] tests/test_testclient.py::test_exception_in_middleware[asyncio] PASSED [ 70%] tests/test_testclient.py::test_exception_in_middleware[trio] PASSED [ 71%] tests/test_testclient.py::test_testclient_asgi2[asyncio] PASSED [ 71%] tests/test_testclient.py::test_testclient_asgi2[trio] PASSED [ 71%] tests/test_testclient.py::test_testclient_asgi3[asyncio] PASSED [ 71%] tests/test_testclient.py::test_testclient_asgi3[trio] PASSED [ 71%] tests/test_testclient.py::test_websocket_blocking_receive[asyncio] PASSED [ 71%] tests/test_testclient.py::test_websocket_blocking_receive[trio] PASSED [ 71%] tests/test_testclient.py::test_websocket_not_block_on_close[asyncio] PASSED [ 71%] tests/test_testclient.py::test_websocket_not_block_on_close[trio] PASSED [ 72%] tests/test_testclient.py::test_client[asyncio] PASSED [ 72%] tests/test_testclient.py::test_client[trio] PASSED [ 72%] tests/test_testclient.py::test_query_params[asyncio-2020-07-14T00:00:00+00:00] PASSED [ 72%] tests/test_testclient.py::test_query_params[asyncio-Espa\xf1a] PASSED [ 72%] tests/test_testclient.py::test_query_params[asyncio-voil\xe0] PASSED [ 72%] tests/test_testclient.py::test_query_params[trio-2020-07-14T00:00:00+00:00] PASSED [ 72%] tests/test_testclient.py::test_query_params[trio-Espa\xf1a] PASSED [ 72%] tests/test_testclient.py::test_query_params[trio-voil\xe0] PASSED [ 72%] tests/test_testclient.py::test_domain_restricted_cookies[asyncio-testserver-True] PASSED [ 73%] tests/test_testclient.py::test_domain_restricted_cookies[asyncio-testserver.local-True] PASSED [ 73%] tests/test_testclient.py::test_domain_restricted_cookies[asyncio-localhost-False] PASSED [ 73%] tests/test_testclient.py::test_domain_restricted_cookies[asyncio-example.com-False] PASSED [ 73%] tests/test_testclient.py::test_domain_restricted_cookies[trio-testserver-True] PASSED [ 73%] tests/test_testclient.py::test_domain_restricted_cookies[trio-testserver.local-True] PASSED [ 73%] tests/test_testclient.py::test_domain_restricted_cookies[trio-localhost-False] PASSED [ 73%] tests/test_testclient.py::test_domain_restricted_cookies[trio-example.com-False] PASSED [ 73%] tests/test_testclient.py::test_forward_follow_redirects[asyncio] PASSED [ 73%] tests/test_testclient.py::test_forward_follow_redirects[trio] PASSED [ 74%] tests/test_testclient.py::test_forward_nofollow_redirects[asyncio] PASSED [ 74%] tests/test_testclient.py::test_forward_nofollow_redirects[trio] PASSED [ 74%] tests/test_testclient.py::test_with_duplicate_headers[asyncio] PASSED [ 74%] tests/test_testclient.py::test_with_duplicate_headers[trio] PASSED [ 74%] tests/test_testclient.py::test_merge_url[asyncio] PASSED [ 74%] tests/test_testclient.py::test_merge_url[trio] PASSED [ 74%] tests/test_testclient.py::test_raw_path_with_querystring[asyncio] PASSED [ 74%] tests/test_testclient.py::test_raw_path_with_querystring[trio] PASSED [ 75%] tests/test_testclient.py::test_websocket_raw_path_without_params[asyncio] PASSED [ 75%] tests/test_testclient.py::test_websocket_raw_path_without_params[trio] PASSED [ 75%] tests/test_websockets.py::test_websocket_url[asyncio] PASSED [ 75%] tests/test_websockets.py::test_websocket_url[trio] PASSED [ 75%] tests/test_websockets.py::test_websocket_binary_json[asyncio] PASSED [ 75%] tests/test_websockets.py::test_websocket_binary_json[trio] PASSED [ 75%] tests/test_websockets.py::test_websocket_ensure_unicode_on_send_json[asyncio] PASSED [ 75%] tests/test_websockets.py::test_websocket_ensure_unicode_on_send_json[trio] PASSED [ 75%] tests/test_websockets.py::test_websocket_query_params[asyncio] PASSED [ 76%] tests/test_websockets.py::test_websocket_query_params[trio] PASSED [ 76%] tests/test_websockets.py::test_websocket_headers[asyncio] PASSED [ 76%] tests/test_websockets.py::test_websocket_headers[trio] PASSED [ 76%] tests/test_websockets.py::test_websocket_port[asyncio] PASSED [ 76%] tests/test_websockets.py::test_websocket_port[trio] PASSED [ 76%] tests/test_websockets.py::test_websocket_send_and_receive_text[asyncio] PASSED [ 76%] tests/test_websockets.py::test_websocket_send_and_receive_text[trio] PASSED [ 76%] tests/test_websockets.py::test_websocket_send_and_receive_bytes[asyncio] PASSED [ 77%] tests/test_websockets.py::test_websocket_send_and_receive_bytes[trio] PASSED [ 77%] tests/test_websockets.py::test_websocket_send_and_receive_json[asyncio] PASSED [ 77%] tests/test_websockets.py::test_websocket_send_and_receive_json[trio] PASSED [ 77%] tests/test_websockets.py::test_websocket_iter_text[asyncio] PASSED [ 77%] tests/test_websockets.py::test_websocket_iter_text[trio] PASSED [ 77%] tests/test_websockets.py::test_websocket_iter_bytes[asyncio] PASSED [ 77%] tests/test_websockets.py::test_websocket_iter_bytes[trio] PASSED [ 77%] tests/test_websockets.py::test_websocket_iter_json[asyncio] PASSED [ 77%] tests/test_websockets.py::test_websocket_iter_json[trio] PASSED [ 78%] tests/test_websockets.py::test_websocket_concurrency_pattern[asyncio] PASSED [ 78%] tests/test_websockets.py::test_websocket_concurrency_pattern[trio] PASSED [ 78%] tests/test_websockets.py::test_client_close[asyncio] PASSED [ 78%] tests/test_websockets.py::test_client_close[trio] PASSED [ 78%] tests/test_websockets.py::test_client_disconnect_on_send[asyncio] PASSED [ 78%] tests/test_websockets.py::test_client_disconnect_on_send[trio] PASSED [ 78%] tests/test_websockets.py::test_application_close[asyncio] PASSED [ 78%] tests/test_websockets.py::test_application_close[trio] PASSED [ 78%] tests/test_websockets.py::test_rejected_connection[asyncio] PASSED [ 79%] tests/test_websockets.py::test_rejected_connection[trio] PASSED [ 79%] tests/test_websockets.py::test_send_denial_response[asyncio] PASSED [ 79%] tests/test_websockets.py::test_send_denial_response[trio] PASSED [ 79%] tests/test_websockets.py::test_send_response_multi[asyncio] PASSED [ 79%] tests/test_websockets.py::test_send_response_multi[trio] PASSED [ 79%] tests/test_websockets.py::test_send_response_unsupported[asyncio] PASSED [ 79%] tests/test_websockets.py::test_send_response_unsupported[trio] PASSED [ 79%] tests/test_websockets.py::test_send_response_duplicate_start[asyncio] PASSED [ 80%] tests/test_websockets.py::test_send_response_duplicate_start[trio] PASSED [ 80%] tests/test_websockets.py::test_subprotocol[asyncio] PASSED [ 80%] tests/test_websockets.py::test_subprotocol[trio] PASSED [ 80%] tests/test_websockets.py::test_additional_headers[asyncio] PASSED [ 80%] tests/test_websockets.py::test_additional_headers[trio] PASSED [ 80%] tests/test_websockets.py::test_no_additional_headers[asyncio] PASSED [ 80%] tests/test_websockets.py::test_no_additional_headers[trio] PASSED [ 80%] tests/test_websockets.py::test_websocket_exception[asyncio] PASSED [ 80%] tests/test_websockets.py::test_websocket_exception[trio] PASSED [ 81%] tests/test_websockets.py::test_duplicate_close[asyncio] PASSED [ 81%] tests/test_websockets.py::test_duplicate_close[trio] PASSED [ 81%] tests/test_websockets.py::test_duplicate_disconnect[asyncio] PASSED [ 81%] tests/test_websockets.py::test_duplicate_disconnect[trio] PASSED [ 81%] tests/test_websockets.py::test_websocket_scope_interface PASSED [ 81%] tests/test_websockets.py::test_websocket_close_reason[asyncio] PASSED [ 81%] tests/test_websockets.py::test_websocket_close_reason[trio] PASSED [ 81%] tests/test_websockets.py::test_send_json_invalid_mode[asyncio] PASSED [ 81%] tests/test_websockets.py::test_send_json_invalid_mode[trio] PASSED [ 82%] tests/test_websockets.py::test_receive_json_invalid_mode[asyncio] PASSED [ 82%] tests/test_websockets.py::test_receive_json_invalid_mode[trio] PASSED [ 82%] tests/test_websockets.py::test_receive_text_before_accept[asyncio] PASSED [ 82%] tests/test_websockets.py::test_receive_text_before_accept[trio] PASSED [ 82%] tests/test_websockets.py::test_receive_bytes_before_accept[asyncio] PASSED [ 82%] tests/test_websockets.py::test_receive_bytes_before_accept[trio] PASSED [ 82%] tests/test_websockets.py::test_receive_json_before_accept[asyncio] PASSED [ 82%] tests/test_websockets.py::test_receive_json_before_accept[trio] PASSED [ 83%] tests/test_websockets.py::test_send_before_accept[asyncio] PASSED [ 83%] tests/test_websockets.py::test_send_before_accept[trio] PASSED [ 83%] tests/test_websockets.py::test_send_wrong_message_type[asyncio] PASSED [ 83%] tests/test_websockets.py::test_send_wrong_message_type[trio] PASSED [ 83%] tests/test_websockets.py::test_receive_before_accept[asyncio] PASSED [ 83%] tests/test_websockets.py::test_receive_before_accept[trio] PASSED [ 83%] tests/test_websockets.py::test_receive_wrong_message_type[asyncio] PASSED [ 83%] tests/test_websockets.py::test_receive_wrong_message_type[trio] PASSED [ 83%] tests/middleware/test_base.py::test_custom_middleware[asyncio] PASSED [ 84%] tests/middleware/test_base.py::test_custom_middleware[trio] PASSED [ 84%] tests/middleware/test_base.py::test_state_data_across_multiple_middlewares[asyncio] PASSED [ 84%] tests/middleware/test_base.py::test_state_data_across_multiple_middlewares[trio] PASSED [ 84%] tests/middleware/test_base.py::test_app_middleware_argument[asyncio] PASSED [ 84%] tests/middleware/test_base.py::test_app_middleware_argument[trio] PASSED [ 84%] tests/middleware/test_base.py::test_fully_evaluated_response[asyncio] PASSED [ 84%] tests/middleware/test_base.py::test_fully_evaluated_response[trio] PASSED [ 84%] tests/middleware/test_base.py::test_contextvars[asyncio-CustomMiddlewareWithoutBaseHTTPMiddleware] PASSED [ 85%] tests/middleware/test_base.py::test_contextvars[asyncio-CustomMiddlewareUsingBaseHTTPMiddleware] XFAIL [ 85%] tests/middleware/test_base.py::test_contextvars[trio-CustomMiddlewareWithoutBaseHTTPMiddleware] PASSED [ 85%] tests/middleware/test_base.py::test_contextvars[trio-CustomMiddlewareUsingBaseHTTPMiddleware] XFAIL [ 85%] tests/middleware/test_base.py::test_run_background_tasks_even_if_client_disconnects[asyncio] PASSED [ 85%] tests/middleware/test_base.py::test_run_background_tasks_even_if_client_disconnects[trio] PASSED [ 85%] tests/middleware/test_base.py::test_do_not_block_on_background_tasks[asyncio] PASSED [ 85%] tests/middleware/test_base.py::test_do_not_block_on_background_tasks[trio] PASSED [ 85%] tests/middleware/test_base.py::test_run_context_manager_exit_even_if_client_disconnects[asyncio] PASSED [ 85%] tests/middleware/test_base.py::test_run_context_manager_exit_even_if_client_disconnects[trio] PASSED [ 86%] tests/middleware/test_base.py::test_app_receives_http_disconnect_while_sending_if_discarded[asyncio] PASSED [ 86%] tests/middleware/test_base.py::test_app_receives_http_disconnect_while_sending_if_discarded[trio] PASSED [ 86%] tests/middleware/test_base.py::test_app_receives_http_disconnect_after_sending_if_discarded[asyncio] PASSED [ 86%] tests/middleware/test_base.py::test_app_receives_http_disconnect_after_sending_if_discarded[trio] PASSED [ 86%] tests/middleware/test_base.py::test_read_request_stream_in_app_after_middleware_calls_stream[asyncio] PASSED [ 86%] tests/middleware/test_base.py::test_read_request_stream_in_app_after_middleware_calls_stream[trio] PASSED [ 86%] tests/middleware/test_base.py::test_read_request_stream_in_app_after_middleware_calls_body[asyncio] PASSED [ 86%] tests/middleware/test_base.py::test_read_request_stream_in_app_after_middleware_calls_body[trio] PASSED [ 86%] tests/middleware/test_base.py::test_read_request_body_in_app_after_middleware_calls_stream[asyncio] PASSED [ 87%] tests/middleware/test_base.py::test_read_request_body_in_app_after_middleware_calls_stream[trio] PASSED [ 87%] tests/middleware/test_base.py::test_read_request_body_in_app_after_middleware_calls_body[asyncio] PASSED [ 87%] tests/middleware/test_base.py::test_read_request_body_in_app_after_middleware_calls_body[trio] PASSED [ 87%] tests/middleware/test_base.py::test_read_request_stream_in_dispatch_after_app_calls_stream[asyncio] PASSED [ 87%] tests/middleware/test_base.py::test_read_request_stream_in_dispatch_after_app_calls_stream[trio] PASSED [ 87%] tests/middleware/test_base.py::test_read_request_stream_in_dispatch_after_app_calls_body[asyncio] PASSED [ 87%] tests/middleware/test_base.py::test_read_request_stream_in_dispatch_after_app_calls_body[trio] PASSED [ 87%] tests/middleware/test_base.py::test_read_request_stream_in_dispatch_wrapping_app_calls_body[asyncio] PASSED [ 88%] tests/middleware/test_base.py::test_read_request_stream_in_dispatch_wrapping_app_calls_body[trio] PASSED [ 88%] tests/middleware/test_base.py::test_read_request_stream_in_dispatch_after_app_calls_body_with_middleware_calling_body_before_call_next[asyncio] PASSED [ 88%] tests/middleware/test_base.py::test_read_request_stream_in_dispatch_after_app_calls_body_with_middleware_calling_body_before_call_next[trio] PASSED [ 88%] tests/middleware/test_base.py::test_read_request_body_in_dispatch_after_app_calls_body_with_middleware_calling_body_before_call_next[asyncio] PASSED [ 88%] tests/middleware/test_base.py::test_read_request_body_in_dispatch_after_app_calls_body_with_middleware_calling_body_before_call_next[trio] PASSED [ 88%] tests/middleware/test_base.py::test_read_request_disconnected_client[asyncio] PASSED [ 88%] tests/middleware/test_base.py::test_read_request_disconnected_client[trio] PASSED [ 88%] tests/middleware/test_base.py::test_read_request_disconnected_after_consuming_steam[asyncio] PASSED [ 88%] tests/middleware/test_base.py::test_read_request_disconnected_after_consuming_steam[trio] PASSED [ 89%] tests/middleware/test_base.py::test_downstream_middleware_modifies_receive[asyncio] PASSED [ 89%] tests/middleware/test_base.py::test_downstream_middleware_modifies_receive[trio] PASSED [ 89%] tests/middleware/test_base.py::test_pr_1519_comment_1236166180_example PASSED [ 89%] tests/middleware/test_base.py::test_multiple_middlewares_stacked_client_disconnected[asyncio] PASSED [ 89%] tests/middleware/test_base.py::test_multiple_middlewares_stacked_client_disconnected[trio] PASSED [ 89%] tests/middleware/test_base.py::test_poll_for_disconnect_repeated[asyncio-True] PASSED [ 89%] tests/middleware/test_base.py::test_poll_for_disconnect_repeated[asyncio-False] PASSED [ 89%] tests/middleware/test_base.py::test_poll_for_disconnect_repeated[trio-True] PASSED [ 90%] tests/middleware/test_base.py::test_poll_for_disconnect_repeated[trio-False] PASSED [ 90%] tests/middleware/test_cors.py::test_cors_allow_all[asyncio] PASSED [ 90%] tests/middleware/test_cors.py::test_cors_allow_all[trio] PASSED [ 90%] tests/middleware/test_cors.py::test_cors_allow_all_except_credentials[asyncio] PASSED [ 90%] tests/middleware/test_cors.py::test_cors_allow_all_except_credentials[trio] PASSED [ 90%] tests/middleware/test_cors.py::test_cors_allow_specific_origin[asyncio] PASSED [ 90%] tests/middleware/test_cors.py::test_cors_allow_specific_origin[trio] PASSED [ 90%] tests/middleware/test_cors.py::test_cors_disallowed_preflight[asyncio] PASSED [ 90%] tests/middleware/test_cors.py::test_cors_disallowed_preflight[trio] PASSED [ 91%] tests/middleware/test_cors.py::test_preflight_allows_request_origin_if_origins_wildcard_and_credentials_allowed[asyncio] PASSED [ 91%] tests/middleware/test_cors.py::test_preflight_allows_request_origin_if_origins_wildcard_and_credentials_allowed[trio] PASSED [ 91%] tests/middleware/test_cors.py::test_cors_preflight_allow_all_methods[asyncio] PASSED [ 91%] tests/middleware/test_cors.py::test_cors_preflight_allow_all_methods[trio] PASSED [ 91%] tests/middleware/test_cors.py::test_cors_allow_all_methods[asyncio] PASSED [ 91%] tests/middleware/test_cors.py::test_cors_allow_all_methods[trio] PASSED [ 91%] tests/middleware/test_cors.py::test_cors_allow_origin_regex[asyncio] PASSED [ 91%] tests/middleware/test_cors.py::test_cors_allow_origin_regex[trio] PASSED [ 91%] tests/middleware/test_cors.py::test_cors_allow_origin_regex_fullmatch[asyncio] PASSED [ 92%] tests/middleware/test_cors.py::test_cors_allow_origin_regex_fullmatch[trio] PASSED [ 92%] tests/middleware/test_cors.py::test_cors_credentialed_requests_return_specific_origin[asyncio] PASSED [ 92%] tests/middleware/test_cors.py::test_cors_credentialed_requests_return_specific_origin[trio] PASSED [ 92%] tests/middleware/test_cors.py::test_cors_vary_header_defaults_to_origin[asyncio] PASSED [ 92%] tests/middleware/test_cors.py::test_cors_vary_header_defaults_to_origin[trio] PASSED [ 92%] tests/middleware/test_cors.py::test_cors_vary_header_is_not_set_for_non_credentialed_request[asyncio] PASSED [ 92%] tests/middleware/test_cors.py::test_cors_vary_header_is_not_set_for_non_credentialed_request[trio] PASSED [ 92%] tests/middleware/test_cors.py::test_cors_vary_header_is_properly_set_for_credentialed_request[asyncio] PASSED [ 93%] tests/middleware/test_cors.py::test_cors_vary_header_is_properly_set_for_credentialed_request[trio] PASSED [ 93%] tests/middleware/test_cors.py::test_cors_vary_header_is_properly_set_when_allow_origins_is_not_wildcard[asyncio] PASSED [ 93%] tests/middleware/test_cors.py::test_cors_vary_header_is_properly_set_when_allow_origins_is_not_wildcard[trio] PASSED [ 93%] tests/middleware/test_cors.py::test_cors_allowed_origin_does_not_leak_between_credentialed_requests[asyncio] PASSED [ 93%] tests/middleware/test_cors.py::test_cors_allowed_origin_does_not_leak_between_credentialed_requests[trio] PASSED [ 93%] tests/middleware/test_errors.py::test_handler[asyncio] PASSED [ 93%] tests/middleware/test_errors.py::test_handler[trio] PASSED [ 93%] tests/middleware/test_errors.py::test_debug_text[asyncio] PASSED [ 93%] tests/middleware/test_errors.py::test_debug_text[trio] PASSED [ 94%] tests/middleware/test_errors.py::test_debug_html[asyncio] PASSED [ 94%] tests/middleware/test_errors.py::test_debug_html[trio] PASSED [ 94%] tests/middleware/test_errors.py::test_debug_after_response_sent[asyncio] PASSED [ 94%] tests/middleware/test_errors.py::test_debug_after_response_sent[trio] PASSED [ 94%] tests/middleware/test_errors.py::test_debug_not_http[asyncio] PASSED [ 94%] tests/middleware/test_errors.py::test_debug_not_http[trio] PASSED [ 94%] tests/middleware/test_errors.py::test_background_task[asyncio] PASSED [ 94%] tests/middleware/test_errors.py::test_background_task[trio] PASSED [ 95%] tests/middleware/test_gzip.py::test_gzip_responses[asyncio] PASSED [ 95%] tests/middleware/test_gzip.py::test_gzip_responses[trio] PASSED [ 95%] tests/middleware/test_gzip.py::test_gzip_not_in_accept_encoding[asyncio] PASSED [ 95%] tests/middleware/test_gzip.py::test_gzip_not_in_accept_encoding[trio] PASSED [ 95%] tests/middleware/test_gzip.py::test_gzip_ignored_for_small_responses[asyncio] PASSED [ 95%] tests/middleware/test_gzip.py::test_gzip_ignored_for_small_responses[trio] PASSED [ 95%] tests/middleware/test_gzip.py::test_gzip_streaming_response[asyncio] PASSED [ 95%] tests/middleware/test_gzip.py::test_gzip_streaming_response[trio] PASSED [ 95%] tests/middleware/test_gzip.py::test_gzip_ignored_for_responses_with_encoding_set[asyncio] PASSED [ 96%] tests/middleware/test_gzip.py::test_gzip_ignored_for_responses_with_encoding_set[trio] PASSED [ 96%] tests/middleware/test_https_redirect.py::test_https_redirect_middleware[asyncio] PASSED [ 96%] tests/middleware/test_https_redirect.py::test_https_redirect_middleware[trio] PASSED [ 96%] tests/middleware/test_middleware.py::test_middleware_repr PASSED [ 96%] tests/middleware/test_middleware.py::test_middleware_iter PASSED [ 96%] tests/middleware/test_session.py::test_session[asyncio] PASSED [ 96%] tests/middleware/test_session.py::test_session[trio] PASSED [ 96%] tests/middleware/test_session.py::test_session_expires[asyncio] PASSED [ 96%] tests/middleware/test_session.py::test_session_expires[trio] PASSED [ 97%] tests/middleware/test_session.py::test_secure_session[asyncio] PASSED [ 97%] tests/middleware/test_session.py::test_secure_session[trio] PASSED [ 97%] tests/middleware/test_session.py::test_session_cookie_subpath[asyncio] PASSED [ 97%] tests/middleware/test_session.py::test_session_cookie_subpath[trio] PASSED [ 97%] tests/middleware/test_session.py::test_invalid_session_cookie[asyncio] PASSED [ 97%] tests/middleware/test_session.py::test_invalid_session_cookie[trio] PASSED [ 97%] tests/middleware/test_session.py::test_session_cookie[asyncio] PASSED [ 97%] tests/middleware/test_session.py::test_session_cookie[trio] PASSED [ 98%] tests/middleware/test_session.py::test_domain_cookie[asyncio] PASSED [ 98%] tests/middleware/test_session.py::test_domain_cookie[trio] PASSED [ 98%] tests/middleware/test_trusted_host.py::test_trusted_host_middleware[asyncio] PASSED [ 98%] tests/middleware/test_trusted_host.py::test_trusted_host_middleware[trio] PASSED [ 98%] tests/middleware/test_trusted_host.py::test_default_allowed_hosts PASSED [ 98%] tests/middleware/test_trusted_host.py::test_www_redirect[asyncio] PASSED [ 98%] tests/middleware/test_trusted_host.py::test_www_redirect[trio] PASSED [ 98%] tests/middleware/test_wsgi.py::test_wsgi_get[asyncio] PASSED [ 98%] tests/middleware/test_wsgi.py::test_wsgi_get[trio] PASSED [ 99%] tests/middleware/test_wsgi.py::test_wsgi_post[asyncio] PASSED [ 99%] tests/middleware/test_wsgi.py::test_wsgi_post[trio] PASSED [ 99%] tests/middleware/test_wsgi.py::test_wsgi_exception[asyncio] PASSED [ 99%] tests/middleware/test_wsgi.py::test_wsgi_exception[trio] PASSED [ 99%] tests/middleware/test_wsgi.py::test_wsgi_exc_info[asyncio] PASSED [ 99%] tests/middleware/test_wsgi.py::test_wsgi_exc_info[trio] PASSED [ 99%] tests/middleware/test_wsgi.py::test_build_environ PASSED [ 99%] tests/middleware/test_wsgi.py::test_build_environ_encoding PASSED [100%] ================= 859 passed, 2 deselected, 2 xfailed in 6.59s ================= + RPM_EC=0 ++ jobs -p + exit 0 Processing files: python3-starlette-0.41.3-1.oc9.noarch Executing(%doc): /bin/sh -e /var/tmp/rpm-tmp.rkIFZ2 + umask 022 + cd /builddir/build/BUILD + cd starlette-0.41.3 + DOCDIR=/builddir/build/BUILDROOT/python-starlette-0.41.3-1.oc9.noarch/usr/share/doc/python3-starlette + export LC_ALL=C + LC_ALL=C + export DOCDIR + /usr/bin/mkdir -p /builddir/build/BUILDROOT/python-starlette-0.41.3-1.oc9.noarch/usr/share/doc/python3-starlette + cp -pr README.md /builddir/build/BUILDROOT/python-starlette-0.41.3-1.oc9.noarch/usr/share/doc/python3-starlette + RPM_EC=0 ++ jobs -p + exit 0 Provides: python-starlette = 0.41.3-1.oc9 python3-starlette = 0.41.3-1.oc9 python3.11-starlette = 0.41.3-1.oc9 python3.11dist(starlette) = 0.41.3 python3dist(starlette) = 0.41.3 Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PartialHardlinkSets) <= 4.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 Requires: (python3.11dist(anyio) < 5~~ with python3.11dist(anyio) >= 3.4) python(abi) = 3.11 Obsoletes: python3.11-starlette < 0.41.3-1.oc9 Checking for unpackaged file(s): /usr/lib/rpm/check-files /builddir/build/BUILDROOT/python-starlette-0.41.3-1.oc9.noarch Wrote: /builddir/build/SRPMS/python-starlette-0.41.3-1.oc9.src.rpm Wrote: /builddir/build/RPMS/python3-starlette-0.41.3-1.oc9.noarch.rpm Child return code was: 0