* Package: dev-python/starlette-0.18.0 * Repository: gentoo * Maintainer: python@gentoo.org * USE: abi_x86_64 amd64 elibc_glibc kernel_linux python_targets_python3_10 python_targets_python3_8 python_targets_python3_9 test userland_GNU * FEATURES: network-sandbox preserve-libs sandbox test userpriv usersandbox @@@@@ PLEASE PAY ATTENTION HERE!!! @@@@@ This information may help you to understand if this is a duplicate or if this bug exists after you pushed a fix; This ebuild was merged at the following commit: https://github.com/gentoo/gentoo/commit/bb7a7960732a257b4922aaf8a9ea94a92ae51acc (Sun Jan 23 21:15:31 UTC 2022) @@@@@ END @@@@@ @@@@@ PLEASE PAY ATTENTION HERE!!! @@@@@ This ebuild was merged (directly or as a dependency) because of the following commit: https://github.com/gentoo/gentoo/commit/d948faaa26185a2aa341d4f84e5b090b2136ded8 @@@@@ END @@@@@ ################## # emerge --info: # ################## !!! It seems /run is not mounted. Process management may malfunction. Portage 3.0.30 (python 3.10.2-final-0, default/linux/amd64/17.1, gcc-11.2.1, glibc-2.34-r6, 4.19.174-gentoo x86_64) ================================================================= System uname: Linux-4.19.174-gentoo-x86_64-Intel-R-_Xeon-R-_CPU_E5-2650_v4_@_2.20GHz-with-glibc2.34 KiB Mem: 264046488 total, 19953248 free KiB Swap: 0 total, 0 free sh bash 5.1_p16 ld GNU ld (Gentoo 2.37_p1 p1) 2.37 app-misc/pax-utils: 1.3.3::gentoo app-shells/bash: 5.1_p16::gentoo dev-lang/perl: 5.34.0-r6::gentoo dev-lang/python: 2.7.18_p13::gentoo, 3.8.12_p1-r1::gentoo, 3.9.10::gentoo, 3.10.2::gentoo dev-lang/rust: 1.58.1::gentoo dev-util/cmake: 3.22.1::gentoo dev-util/meson: 0.60.3::gentoo sys-apps/baselayout: 2.8::gentoo sys-apps/openrc: 0.44.10::gentoo sys-apps/sandbox: 2.29::gentoo sys-devel/autoconf: 2.13-r1::gentoo, 2.71-r1::gentoo sys-devel/automake: 1.16.5::gentoo sys-devel/binutils: 2.37_p1-r1::gentoo sys-devel/binutils-config: 5.4::gentoo sys-devel/gcc: 11.2.1_p20220115::gentoo sys-devel/gcc-config: 2.5-r1::gentoo sys-devel/libtool: 2.4.6-r6::gentoo sys-devel/llvm: 13.0.0::gentoo sys-devel/make: 4.3::gentoo sys-kernel/linux-headers: 5.16::gentoo (virtual/os-headers) sys-libs/glibc: 2.34-r6::gentoo Repositories: gentoo location: /usr/portage sync-type: rsync sync-uri: rsync://rsync.gentoo.org/gentoo-portage priority: -1000 sync-rsync-verify-max-age: 24 sync-rsync-verify-metamanifest: yes sync-rsync-verify-jobs: 1 sync-rsync-extra-opts: ACCEPT_KEYWORDS="amd64 ~amd64" ACCEPT_LICENSE="* BSD" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-O2 -pipe -march=x86-64 -frecord-gcc-switches -fno-diagnostics-color -fmessage-length=0" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo" CXXFLAGS="-O2 -pipe -march=x86-64 -frecord-gcc-switches -fno-diagnostics-color -fmessage-length=0" DISTDIR="/var/tmp/portage/dev-python/starlette-0.18.0/distdir" EMERGE_DEFAULT_OPTS="--with-bdeps=y -1 -k -b" ENV_UNSET="CARGO_HOME DBUS_SESSION_BUS_ADDRESS DISPLAY GOBIN GOPATH PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR" FCFLAGS="-O2 -pipe -march=x86-64 -frecord-gcc-switches -fno-diagnostics-color -fmessage-length=0" FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs binpkg-multi-instance buildpkg buildpkg-live config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync multilib-strict network-sandbox news parallel-fetch pid-sandbox preserve-libs protect-owned qa-unresolved-soname-deps sandbox sfperms sign split-log strict test unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr" FFLAGS="-O2 -pipe -march=x86-64 -frecord-gcc-switches -fno-diagnostics-color -fmessage-length=0" GENTOO_MIRRORS="http://mirror.leaseweb.com/gentoo/ http://ftp.snt.utwente.nl/pub/os/linux/gentoo/ http://ftp.belnet.be/pub/rsync.gentoo.org/gentoo/ http://distfiles.gentoo.org" LANG="en_US.utf8" LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,--defsym=__gentoo_check_ldflags__=0" MAKEOPTS="-j42" PKGDIR="/root/tbci/binpkg" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git" PORTAGE_TMPDIR="/var/tmp" SHELL="/bin/bash" USE="acl amd64 bzip2 cli crypt dri elogind fortran gdbm iconv ipv6 jumbo-build libglvnd libtirpc multilib native-symlinks ncurses nls nptl openmp pam pcre readline seccomp split-usr ssl test unicode xattr zlib" ABI_X86="64" ELIBC="glibc" KERNEL="linux" PYTHON_TARGETS="python3_8 python3_9 python3_10" USERLAND="GNU" Unset: ADDR2LINE, AR, ARFLAGS, AS, ASFLAGS, CC, CCLD, CONFIG_SHELL, CPP, CPPFLAGS, CTARGET, CXX, CXXFILT, ELFEDIT, EXTRA_ECONF, F77FLAGS, FC, GCOV, GPROF, INSTALL_MASK, LC_ALL, LD, LEX, LFLAGS, LIBTOOL, LINGUAS, MAKE, MAKEFLAGS, NM, OBJCOPY, OBJDUMP, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, RANLIB, READELF, RUSTFLAGS, SIZE, STRINGS, STRIP, YACC, YFLAGS ############################## # emerge history (qlop -mv): # ############################## 2022-01-23T22:28:47 >>> dev-python/sniffio-1.2.0 2022-01-23T22:28:48 >>> dev-python/itsdangerous-2.0.1 2022-01-23T22:28:49 >>> dev-python/typing-extensions-4.0.1 2022-01-23T22:28:50 >>> dev-python/iniconfig-1.1.1 2022-01-23T22:28:52 >>> dev-python/more-itertools-8.12.0 2022-01-23T22:28:53 >>> dev-python/pluggy-1.0.0-r1 2022-01-23T22:28:55 >>> dev-python/toml-0.10.2 2022-01-23T22:28:56 >>> dev-python/async_generator-1.10-r1 2022-01-23T22:28:54 >>> dev-python/py-1.11.0-r1 2022-01-23T22:28:57 >>> dev-python/sortedcontainers-2.4.0 2022-01-23T22:28:59 >>> dev-python/namespace-zope-1-r1 2022-01-23T22:29:01 >>> dev-python/pyproject2setuppy-22 2022-01-23T22:29:00 >>> dev-python/anyio-3.5.0 2022-01-23T22:29:56 >>> dev-python/zope-interface-5.4.0 2022-01-23T22:30:13 >>> dev-python/attrs-21.4.0 2022-01-23T22:30:22 >>> dev-python/outcome-1.1.0 2022-01-23T22:30:21 >>> dev-python/pytest-6.2.5-r2 2022-01-23T22:30:30 >>> dev-python/trio-0.19.0 ####################################### # installed packages (qlist -ICvUSS): # ####################################### acct-group/audio-0-r1:0 acct-group/cdrom-0-r1:0 acct-group/dialout-0-r1:0 acct-group/disk-0-r1:0 acct-group/input-0-r1:0 acct-group/kmem-0-r1:0 acct-group/kvm-0-r1:0 acct-group/lp-0-r1:0 acct-group/man-0-r1:0 acct-group/messagebus-0-r1:0 acct-group/polkitd-0-r1:0 acct-group/portage-0:0 acct-group/render-0-r1:0 acct-group/sgx-0:0 acct-group/sshd-0-r1:0 acct-group/tape-0-r1:0 acct-group/tty-0-r1:0 acct-group/video-0-r1:0 acct-user/man-1-r1:0 acct-user/messagebus-0-r1:0 acct-user/polkitd-0-r1:0 acct-user/portage-0:0 acct-user/sshd-0-r1:0 app-admin/eselect-1.4.20:0 -doc -emacs -vim-syntax app-admin/perl-cleaner-2.30:0 app-arch/bzip2-1.0.8-r1:0/1 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 split-usr -static -static-libs app-arch/gzip-1.11:0 -pic -static app-arch/libarchive-3.5.2:0/13 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 acl -blake2 bzip2 e2fsprogs -expat iconv -lz4 lzma -lzo -nettle -static-libs xattr zlib -zstd app-arch/tar-1.34:0 acl -minimal nls -selinux xattr app-arch/unzip-6.0_p26:0 bzip2 -natspec unicode app-arch/xz-utils-5.2.5-r1:0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 extra-filters nls split-usr -static-libs app-arch/zstd-1.5.2:0/1 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -lz4 -static-libs threads app-crypt/gnupg-2.3.4:0 bzip2 -doc -ldap nls readline -selinux smartcard ssl -test tofu -tools -usb -user-socket -wks-server app-crypt/gpgme-1.16.0:1/11 -common-lisp cxx -python python_targets_python3_10 python_targets_python3_8 python_targets_python3_9 -qt5 -static-libs app-crypt/libb2-0.98.1-r3:0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -native-cflags openmp -static-libs app-crypt/libmd-1.0.4:0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 app-crypt/pinentry-1.2.0:0 -caps -efl -emacs -gnome-keyring -gtk ncurses -qt5 app-crypt/rhash-1.4.2:0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -debug nls ssl -static-libs app-editors/nano-6.0:0 -debug -justify -magic -minimal ncurses nls spell split-usr -static unicode app-eselect/eselect-fontconfig-1.1-r1:0 app-eselect/eselect-iptables-20211203:0 app-eselect/eselect-lib-bin-symlink-0.1.1-r1:0 app-eselect/eselect-pinentry-0.7.2:0 app-eselect/eselect-rust-20210703:0 app-i18n/man-pages-ja-20180315-r1:0 app-i18n/man-pages-l10n-4.10.0:0 l10n_de l10n_es l10n_fr l10n_it l10n_nl l10n_pl l10n_pt-BR l10n_ro app-i18n/man-pages-ru-5.03.2390.2390.20191017-r1:0 app-i18n/man-pages-zh_CN-1.6.3.6:0 app-misc/c_rehash-1.7-r1:0 app-misc/ca-certificates-20211016.3.72:0 -cacert app-misc/editor-wrapper-4-r1:0 app-misc/mime-types-2.1.53:0 -nginx app-misc/pax-utils-1.3.3:0 -caps -debug -python -python_single_target_python3_10 -python_single_target_python3_8 python_single_target_python3_9 seccomp app-misc/tmux-3.2a:0 -debug -selinux -utempter -vim-syntax app-portage/eix-0.36.1:0 -debug -doc nls -sqlite app-portage/elt-patches-20211104:0 app-portage/gemato-16.2:0 gpg python_targets_pypy3 python_targets_python3_10 python_targets_python3_8 python_targets_python3_9 -test -tools app-portage/gentoolkit-0.5.1-r1:0 python_targets_pypy3 python_targets_python3_10 python_targets_python3_8 python_targets_python3_9 -test app-portage/portage-utils-0.93.3:0 nls openmp qmanifest qtegrity -static app-shells/bash-5.1_p16:0 -afs -bashlogger -examples -mem-scramble net nls -plugins readline app-shells/push-3.4:0 app-shells/quoter-4.2:0 app-text/ansifilter-2.18:0 -qt5 app-text/build-docbook-catalog-2.2:0 app-text/docbook-xml-dtd-4.5-r2:4.5 app-text/docbook-xml-dtd-4.4-r3:4.4 app-text/docbook-xml-dtd-4.2-r3:4.2 app-text/docbook-xml-dtd-4.1.2-r7:4.1.2 app-text/docbook-xsl-stylesheets-1.79.1-r2:0 -ruby app-text/manpager-1:0 app-text/opensp-1.5.2-r7:0 -doc nls -static-libs -test app-text/po4a-0.65:0 -test -test app-text/sgml-common-0.6.3-r7:0 app-text/xmlto-0.0.28-r8:0 -latex -text dev-db/sqlite-3.37.2:3 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -debug -doc -icu readline -secure-delete -static-libs -tcl -test -tools dev-lang/perl-5.34.0-r6:0/5.34 -berkdb -debug -doc gdbm ithreads -minimal dev-lang/python-3.10.2:3.10 -bluetooth -build -examples gdbm -hardened -libedit -lto ncurses -pgo readline sqlite ssl -test -tk -verify-sig -wininst xml dev-lang/python-3.9.10:3.9 -bluetooth -build -examples gdbm -hardened -lto ncurses -pgo readline sqlite ssl -test -tk -verify-sig -wininst xml dev-lang/python-3.8.12_p1-r1:3.8 -bluetooth -build -examples gdbm -hardened ncurses readline sqlite ssl -test -tk -verify-sig -wininst xml dev-lang/python-2.7.18_p13:2.7 -berkdb -bluetooth -build -examples gdbm -hardened ncurses readline sqlite ssl -tk -verify-sig -wininst xml dev-lang/python-exec-2.4.8:2 native-symlinks python_targets_pypy3 python_targets_python3_10 python_targets_python3_8 python_targets_python3_9 -test dev-lang/python-exec-conf-2.4.6:2 python_targets_pypy3 python_targets_python3_10 python_targets_python3_8 python_targets_python3_9 dev-lang/rust-1.58.1:stable/1.58 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -clippy cpu_flags_x86_sse2 -debug -dist -doc -llvm_targets_AArch64 -llvm_targets_AMDGPU -llvm_targets_ARM -llvm_targets_AVR -llvm_targets_BPF -llvm_targets_Hexagon -llvm_targets_Lanai -llvm_targets_MSP430 -llvm_targets_Mips -llvm_targets_NVPTX -llvm_targets_PowerPC -llvm_targets_RISCV -llvm_targets_Sparc -llvm_targets_SystemZ -llvm_targets_WebAssembly llvm_targets_X86 -llvm_targets_XCore -miri -nightly -parallel-compiler -rls -rust-src rustfmt -system-bootstrap -system-llvm -test -verify-sig -wasm dev-lang/spidermonkey-78.15.0:78 -clang -cpu_flags_arm_neon -debug jit -lto -test dev-lang/tcl-8.6.12:0/8.6 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -debug threads dev-libs/elfutils-0.186:0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 bzip2 -lzma nls -static-libs -test -threads utils -valgrind -zstd dev-libs/expat-2.4.3:0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -examples -static-libs unicode dev-libs/glib-2.70.2:2 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -dbus -debug elf -fam -gtk-doc mime -selinux -static-libs -sysprof -systemtap -test -utils xattr dev-libs/gmp-6.2.1-r2:0/10.4 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 asm cxx -doc -pic -static-libs dev-libs/gobject-introspection-1.70.0:0 -doctool -gtk-doc -python_single_target_python3_10 -python_single_target_python3_8 python_single_target_python3_9 -test dev-libs/gobject-introspection-common-1.70.0:0 dev-libs/icu-70.1-r1:0/70.1 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -debug -doc -examples -static-libs dev-libs/isl-0.24-r2:0/23 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -static-libs dev-libs/jsoncpp-1.9.5:0/25 -doc -test dev-libs/libassuan-2.5.5:0 dev-libs/libbsd-0.11.4:0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -static-libs dev-libs/libevent-2.1.12:0/2.1-7 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 clock-gettime -debug -malloc-replacement ssl -static-libs -test threads -verbose-debug dev-libs/libffi-3.4.2-r1:0/8 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -debug -exec-static-trampoline -pax-kernel -static-libs -test dev-libs/libgcrypt-1.9.4:0/20 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 asm -cpu_flags_arm_aes -cpu_flags_arm_neon -cpu_flags_arm_sha1 -cpu_flags_arm_sha2 -cpu_flags_ppc_altivec -cpu_flags_ppc_vsx2 -cpu_flags_ppc_vsx3 cpu_flags_x86_aes cpu_flags_x86_avx cpu_flags_x86_avx2 -cpu_flags_x86_padlock -cpu_flags_x86_sha cpu_flags_x86_sse4_1 -doc -o-flag-munging -static-libs dev-libs/libgpg-error-1.43:0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -common-lisp nls -static-libs dev-libs/libksba-1.6.0:0 -static-libs dev-libs/libltdl-2.4.6:0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -static-libs dev-libs/libpcre-8.45:3 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 bzip2 cxx jit -libedit pcre16 pcre32 readline recursion-limit split-usr -static-libs unicode zlib dev-libs/libpcre2-10.39:0/3 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 bzip2 jit -libedit pcre16 pcre32 readline recursion-limit split-usr -static-libs unicode zlib dev-libs/libpipeline-1.5.5:0 -test dev-libs/libtasn1-4.18.0:0/6 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -static-libs -test -valgrind dev-libs/libunistring-0.9.10-r1:0/2 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -doc -static-libs dev-libs/libuv-1.43.0:0/1 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 dev-libs/libxml2-2.9.12-r5:2 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -debug -examples -icu ipv6 -lzma python python_targets_python3_10 python_targets_python3_8 python_targets_python3_9 readline -static-libs -test -verify-sig dev-libs/libxslt-1.1.34-r2:0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 crypt -debug -examples -static-libs -verify-sig dev-libs/lzo-2.10:2 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -examples split-usr -static-libs dev-libs/mpc-1.2.1:0/3 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -static-libs dev-libs/mpfr-4.1.0_p13-r1:0/6 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -static-libs dev-libs/nettle-3.7.3:0/8-6 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 asm -cpu_flags_arm_neon cpu_flags_x86_aes -cpu_flags_x86_sha -doc gmp -static-libs -test dev-libs/npth-1.6-r1:0 dev-libs/nspr-4.33:0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -debug dev-libs/openssl-1.1.1m:0/1.1 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 asm cpu_flags_x86_sse2 -rfc3779 -sctp -sslv3 -static-libs -test -tls-compression -tls-heartbeat -vanilla dev-libs/popt-1.18:0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 nls -static-libs dev-perl/Devel-CheckLib-1.140.0:0 -test dev-perl/Encode-EUCJPASCII-0.30.0-r1:0 -test dev-perl/Encode-HanExtra-0.230.0-r3:0 dev-perl/Encode-Locale-1.50.0-r1:0 -test dev-perl/File-Listing-6.140.0:0 -test dev-perl/HTML-Parser-3.760.0:0 -test dev-perl/HTML-Tagset-3.200.0-r2:0 dev-perl/HTTP-Cookies-6.100.0:0 -test dev-perl/HTTP-Date-6.50.0:0 dev-perl/HTTP-Message-6.330.0:0 -test -test dev-perl/HTTP-Negotiate-6.10.0-r2:0 -test dev-perl/IO-HTML-1.4.0:0 -test dev-perl/IO-Socket-INET6-2.720.0-r2:0 -test dev-perl/IO-Socket-SSL-2.74.0:0 -examples -idn -test dev-perl/libwww-perl-6.600.0-r1:0 ssl -test dev-perl/Locale-gettext-1.70.0-r1:0 -test dev-perl/LWP-MediaTypes-6.40.0:0 -test dev-perl/LWP-Protocol-https-6.100.0:0 -test dev-perl/MIME-Charset-1.12.2-r1:0 l10n_ja l10n_zh -test dev-perl/Module-Build-0.423.100:0 -test dev-perl/Mozilla-CA-20999999-r1:0 -test dev-perl/Net-HTTP-6.210.0:0 -minimal -test dev-perl/Net-SSLeay-1.900.0:0 -examples -examples -minimal -test dev-perl/Pod-Parser-1.630.0-r1:0 -test dev-perl/SGMLSpm-1.1-r2:0 -test dev-perl/Socket6-0.290.0:0 -test dev-perl/TermReadKey-2.380.0:0 -examples -test dev-perl/Text-CharWidth-0.40.0-r2:0 -test dev-perl/Text-WrapI18N-0.60.0-r2:0 -test dev-perl/TimeDate-2.330.0-r1:0 -test dev-perl/Try-Tiny-0.310.0:0 -minimal -test dev-perl/Unicode-LineBreak-2019.1.0:0 dev-perl/URI-5.100.0:0 -test dev-perl/WWW-RobotRules-6.20.0-r2:0 -test dev-perl/XML-Parser-2.460.0-r2:0 dev-perl/YAML-Tiny-1.730.0-r1:0 -minimal -test dev-python/anyio-3.5.0:0 -doc python_targets_python3_10 python_targets_python3_8 python_targets_python3_9 -test dev-python/async_generator-1.10-r1:0 python_targets_pypy3 python_targets_python3_10 python_targets_python3_8 python_targets_python3_9 -test dev-python/attrs-21.4.0:0 python_targets_pypy3 python_targets_python3_10 python_targets_python3_8 python_targets_python3_9 -test dev-python/certifi-3021.3.16-r1:0 python_targets_pypy3 python_targets_python3_10 python_targets_python3_8 python_targets_python3_9 -test dev-python/charset_normalizer-2.0.10:0 python_targets_pypy3 python_targets_python3_10 python_targets_python3_8 python_targets_python3_9 -test dev-python/idna-3.3:0 python_targets_pypy3 python_targets_python3_10 python_targets_python3_8 python_targets_python3_9 dev-python/iniconfig-1.1.1:0 python_targets_pypy3 python_targets_python3_10 python_targets_python3_8 python_targets_python3_9 -test dev-python/installer-0.4.0_p20220115:0 python_targets_pypy3 python_targets_python3_10 python_targets_python3_8 python_targets_python3_9 -test dev-python/itsdangerous-2.0.1:0 python_targets_pypy3 python_targets_python3_10 python_targets_python3_8 python_targets_python3_9 -test dev-python/jinja-3.0.3:0 -doc -examples python_targets_pypy3 python_targets_python3_10 python_targets_python3_8 python_targets_python3_9 -test dev-python/markupsafe-2.0.1:0 python_targets_pypy3 python_targets_python3_10 python_targets_python3_8 python_targets_python3_9 -test dev-python/more-itertools-8.12.0:0 -doc python_targets_pypy3 python_targets_python3_10 python_targets_python3_8 python_targets_python3_9 -test dev-python/namespace-zope-1-r1:0 python_targets_pypy3 python_targets_python3_10 python_targets_python3_8 python_targets_python3_9 dev-python/outcome-1.1.0:0 -doc python_targets_python3_10 python_targets_python3_8 python_targets_python3_9 -test dev-python/packaging-21.3-r1:0 python_targets_pypy3 python_targets_python3_10 python_targets_python3_8 python_targets_python3_9 -test dev-python/pluggy-1.0.0-r1:0 python_targets_pypy3 python_targets_python3_10 python_targets_python3_8 python_targets_python3_9 -test dev-python/py-1.11.0-r1:0 python_targets_pypy3 python_targets_python3_10 python_targets_python3_8 python_targets_python3_9 -test dev-python/pyparsing-3.0.7:0 -examples python_targets_pypy3 python_targets_python3_10 python_targets_python3_8 python_targets_python3_9 -test dev-python/pyproject2setuppy-22:0 python_targets_pypy3 python_targets_python3_10 python_targets_python3_8 python_targets_python3_9 -test dev-python/pypy3-7.3.7-r1:0/pypy38-pp73 bzip2 gdbm jit ncurses -sqlite -test -tk dev-python/pypy3-exe-7.3.7:7.3.7 bzip2 -cpu_flags_x86_sse2 jit -low-memory ncurses dev-python/PySocks-1.7.1-r1:0 python_targets_pypy3 python_targets_python3_10 python_targets_python3_8 python_targets_python3_9 dev-python/pytest-6.2.5-r2:0 python_targets_pypy3 python_targets_python3_10 python_targets_python3_8 python_targets_python3_9 -test dev-python/requests-2.27.1:0 python_targets_pypy3 python_targets_python3_10 python_targets_python3_8 python_targets_python3_9 -socks5 -test dev-python/setuptools-60.5.0:0 python_targets_pypy3 python_targets_python3_10 python_targets_python3_8 python_targets_python3_9 -test dev-python/setuptools_scm-6.4.1:0 python_targets_pypy3 python_targets_python3_10 python_targets_python3_8 python_targets_python3_9 -test dev-python/sniffio-1.2.0:0 python_targets_pypy3 python_targets_python3_10 python_targets_python3_8 python_targets_python3_9 -test dev-python/sortedcontainers-2.4.0:0 python_targets_pypy3 python_targets_python3_10 python_targets_python3_8 python_targets_python3_9 -test dev-python/toml-0.10.2:0 python_targets_pypy3 python_targets_python3_10 python_targets_python3_8 python_targets_python3_9 -test -test dev-python/tomli-2.0.0:0 python_targets_pypy3 python_targets_python3_10 python_targets_python3_8 python_targets_python3_9 -test dev-python/trio-0.19.0:0 -doc python_targets_python3_10 python_targets_python3_8 python_targets_python3_9 -test dev-python/typing-extensions-4.0.1:0 python_targets_pypy3 python_targets_python3_10 python_targets_python3_8 python_targets_python3_9 dev-python/urllib3-1.26.8:0 -brotli python_targets_pypy3 python_targets_python3_10 python_targets_python3_8 python_targets_python3_9 -test dev-python/wheel-0.37.1:0 python_targets_pypy3 python_targets_python3_10 python_targets_python3_8 python_targets_python3_9 -test dev-python/zope-interface-5.4.0:0 python_targets_pypy3 python_targets_python3_10 python_targets_python3_8 python_targets_python3_9 -test dev-util/cmake-3.22.1:0 -doc -emacs ncurses -qt5 -test -test dev-util/desktop-file-utils-0.26-r1:0 -emacs dev-util/glib-utils-2.70.2:0 -python_single_target_python3_10 -python_single_target_python3_8 python_single_target_python3_9 dev-util/gperf-3.1:0 dev-util/gtk-doc-am-1.33.2:0 dev-util/intltool-0.51.0-r2:0 dev-util/meson-0.60.3:0 python_targets_python3_10 python_targets_python3_8 python_targets_python3_9 -test dev-util/meson-format-array-0:0 python_targets_python3_10 python_targets_python3_8 python_targets_python3_9 dev-util/ninja-1.10.2-r1:0 -doc -emacs -test -vim-syntax dev-util/pkgconf-1.8.0-r1:0/3 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -test dev-util/re2c-2.2:0 -debug -test dev-vcs/git-2.34.1-r1:0 blksha1 -cgi curl -cvs -doc -emacs -gnome-keyring gpg -highlight iconv -mediawiki -mediawiki-experimental nls pcre -perforce -perl -ppcsha1 -python_single_target_python3_10 -python_single_target_python3_8 python_single_target_python3_9 -subversion -test threads -tk webdav -xinetd media-fonts/liberation-fonts-2.1.3:0 -X -X -fontforge media-gfx/graphite2-1.3.14_p20210810:0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -perl -test media-libs/fontconfig-2.13.1-r2:1.0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -doc -static-libs media-libs/freetype-2.11.1:2 -X -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 adobe-cff -brotli bzip2 cleartype-hinting -debug -doc -fontforge harfbuzz -infinality png -static-libs -utils media-libs/harfbuzz-3.2.0:0/3.0.0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 cairo -debug -doc -experimental glib graphite -icu introspection -test truetype media-libs/libpng-1.6.37-r2:0/16 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -apng -cpu_flags_arm_neon cpu_flags_x86_sse -static-libs net-dns/libidn2-2.3.2:0/2 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -static-libs -verify-sig net-firewall/iptables-1.8.7-r1:0/1.8.3 -conntrack ipv6 -netlink -nftables -pcap split-usr -static-libs net-libs/gnutls-3.7.3:0/30 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 cxx -dane -doc -examples -guile idn nls openssl -pkcs11 seccomp -sslv2 -sslv3 -static-libs -test -test-full tls-heartbeat -tools -valgrind net-libs/libmnl-1.0.4:0/0.2.0 -examples split-usr -static-libs net-libs/libnsl-2.0.0-r1:0/3 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -static-libs net-libs/libtirpc-1.3.2:0/3 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 ipv6 -kerberos split-usr -static-libs net-libs/nghttp2-1.46.0:0/1.14 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -cxx -debug -hpack-tools -jemalloc -static-libs -test threads -utils -xml net-misc/curl-7.81.0:0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -adns -alt-svc -brotli -curl_ssl_gnutls -curl_ssl_mbedtls -curl_ssl_nss curl_ssl_openssl ftp -gnutls -gopher -hsts http2 -idn imap ipv6 -kerberos -ldap -mbedtls -nghttp3 -nss openssl pop3 progress-meter -quiche -rtmp -samba smtp -ssh ssl -sslv3 -static-libs -telnet -test tftp -threads -zstd net-misc/iputils-20210722-r1:0 arping -caps -clockdiff -doc filecaps -gcrypt -idn ipv6 -nettle nls -rarpd -rdisc ssl -static -test -tftpd -tracepath -traceroute6 net-misc/netifrc-0.7.3:0 net-misc/openssh-8.8_p1-r4:0 -X -X509 -abi_mips_n32 -audit -debug -hpn -kerberos -ldns -libedit -livecd pam pie scp -sctp -security-key -selinux ssl -static -test -xmss net-misc/rsync-3.2.3-r5:0 acl -examples iconv ipv6 -lz4 ssl -stunnel -system-zlib xattr -xxhash -zstd net-misc/wget-1.21.2:0 -cookie-check -debug -gnutls -idn ipv6 -metalink nls -ntlm pcre ssl -static -test -uuid zlib perl-core/CPAN-2.290.0-r1:0 perl-core/Encode-3.120.0:0 perl-core/File-Temp-0.231.100:0 perl-core/Scalar-List-Utils-1.560.0:0 sec-keys/openpgp-keys-gentoo-release-20220101:0 -test sys-apps/acl-2.3.1:0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 nls split-usr -static-libs sys-apps/attr-2.5.1:0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -debug nls split-usr -static-libs sys-apps/baselayout-2.8:0 -build split-usr sys-apps/coreutils-9.0-r1:0 acl -caps -gmp -hostname -kill -multicall nls -selinux split-usr -static -test -vanilla xattr sys-apps/dbus-1.12.20-r4:0 -X -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -debug -doc elogind -selinux -static-libs -systemd -test -test sys-apps/debianutils-5.5:0 installkernel -static sys-apps/diffutils-3.8:0 nls -static sys-apps/file-5.41:0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 bzip2 -lzma -python python_targets_python3_10 python_targets_python3_8 python_targets_python3_9 -seccomp -static-libs zlib sys-apps/findutils-4.8.0-r1:0 nls -selinux -static -test sys-apps/gawk-5.1.1-r1:0 -mpfr nls readline sys-apps/gentoo-functions-0.15:0 sys-apps/grep-3.7:0 nls pcre -static sys-apps/groff-1.22.4:0 -X -examples -uchardet sys-apps/help2man-1.48.5:0 nls sys-apps/install-xattr-0.8:0 sys-apps/iproute2-5.16.0:0 -atm -berkdb -bpf -caps -elf iptables ipv6 -libbsd -minimal -selinux sys-apps/kbd-2.4.0:0 nls pam -test sys-apps/kmod-29:0 -debug -doc lzma -pkcs7 -python python_targets_python3_10 python_targets_python3_8 python_targets_python3_9 -static-libs tools zlib -zstd sys-apps/less-590:0 pcre unicode sys-apps/man-db-2.9.4-r1:0 -berkdb gdbm manpager nls seccomp -selinux -static-libs zlib sys-apps/man-pages-5.13:0 l10n_de l10n_es l10n_fr l10n_it l10n_ja l10n_nl l10n_pl l10n_pt-BR l10n_ro l10n_ru l10n_zh-CN sys-apps/man-pages-posix-2017a:0 sys-apps/net-tools-2.10:0 arp hostname ipv6 -nis nls -plipconfig -selinux -slattach -static sys-apps/openrc-0.44.10:0 -audit -bash -debug ncurses netifrc -newnet pam -selinux -sysv-utils unicode sys-apps/portage-3.0.30-r1:0 -apidoc -build -doc -gentoo-dev ipc native-extensions python_targets_pypy3 python_targets_python3_10 python_targets_python3_8 python_targets_python3_9 rsync-verify -selinux -test xattr sys-apps/sandbox-2.29:0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 abi_x86_32 abi_x86_64 -abi_x86_x32 nnp sys-apps/sed-4.8:0 acl nls -selinux -static sys-apps/shadow-4.11.1:0/4 acl -audit -bcrypt -cracklib nls pam -selinux -skey split-usr -su xattr sys-apps/systemd-tmpfiles-249.9:0 -selinux -test sys-apps/sysvinit-3.01:0 -ibm -selinux -static sys-apps/texinfo-6.8:0 nls standalone -static sys-apps/util-linux-2.37.2-r3:0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -audit -build -caps cramfs -cryptsetup -fdformat hardlink -kill logger -magic ncurses nls pam -python python_targets_python3_10 python_targets_python3_8 python_targets_python3_9 readline -rtas -selinux -slang split-usr -static-libs su suid -systemd -test -tty-helpers -udev unicode sys-apps/which-2.21:0 sys-auth/elogind-246.10-r2:0 acl -audit cgroup-hybrid -debug -doc pam policykit -selinux sys-auth/pambase-20211218-r1:0 -caps -debug elogind -gnome-keyring -homed -minimal -mktemp nullok -pam_krb5 -pam_ssh passwdqc -pwhistory -pwquality -securetty -selinux sha512 -systemd -yescrypt sys-auth/passwdqc-2.0.2-r1:0 sys-auth/polkit-0.120-r1:0 -examples -gtk introspection -kde pam -selinux -systemd -test sys-devel/autoconf-2.71-r1:2.71 -emacs sys-devel/autoconf-2.13-r1:2.1 sys-devel/autoconf-archive-2021.02.19-r1:0 sys-devel/autoconf-wrapper-15:0 sys-devel/automake-1.16.5:1.16 -test sys-devel/automake-wrapper-11:0 sys-devel/binutils-2.37_p1-r1:2.37 -cet -default-gold -doc gold -multitarget nls plugins -static-libs -test -vanilla sys-devel/binutils-config-5.4:0 native-symlinks sys-devel/bison-3.8.2:0 -examples nls -static -test sys-devel/flex-2.6.4-r1:0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 nls -static -test sys-devel/gcc-11.2.1_p20220115:11 -ada -cet -custom-cflags cxx -d -debug -doc -fixed-point fortran -go graphite -hardened -jit -libssp lto multilib nls nptl -objc -objc++ -objc-gc openmp -pch -pgo pie sanitize ssp -systemtap -test -valgrind -vanilla -vtv -zstd sys-devel/gcc-config-2.5-r1:0 cc-wrappers native-symlinks sys-devel/gettext-0.21-r1:0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 acl -cvs cxx -doc -emacs -git -java -java ncurses nls openmp -static-libs sys-devel/gnuconfig-20210107:0 sys-devel/libtool-2.4.6-r6:2 -vanilla sys-devel/llvm-13.0.0:13 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -debug -doc -doc -exegesis gold -libedit libffi -llvm_targets_AArch64 llvm_targets_AMDGPU -llvm_targets_ARC -llvm_targets_ARM -llvm_targets_AVR llvm_targets_BPF -llvm_targets_CSKY -llvm_targets_Hexagon -llvm_targets_Lanai -llvm_targets_M68k -llvm_targets_MSP430 -llvm_targets_Mips llvm_targets_NVPTX -llvm_targets_PowerPC -llvm_targets_RISCV -llvm_targets_Sparc -llvm_targets_SystemZ -llvm_targets_VE -llvm_targets_WebAssembly llvm_targets_X86 -llvm_targets_XCore ncurses -test -xar -xml -z3 sys-devel/llvm-common-13.0.0:0 sys-devel/llvmgold-13-r1:0 sys-devel/m4-1.4.19:0 -examples nls sys-devel/make-4.3:0 -guile nls -static sys-devel/patch-2.7.6-r4:0 -static -test xattr sys-fs/e2fsprogs-1.46.5:0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -cron -fuse -lto nls split-usr -static-libs threads tools sys-fs/udev-249.9:0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 acl kmod -selinux split-usr -test sys-fs/udev-init-scripts-35:0 sys-kernel/installkernel-gentoo-4:0 -grub sys-kernel/linux-headers-5.16:0 -headers-only sys-libs/binutils-libs-2.37_p1-r1:0/2.37 -64-bit-bfd -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -cet -multitarget nls -static-libs sys-libs/gdbm-1.22:0/6 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 berkdb nls readline -static-libs sys-libs/glibc-2.34-r6:2.2 -audit -caps -cet clone3 -compile-locales -crypt -custom-cflags -doc -gd -headers-only multiarch multilib -multilib-bootstrap -nscd -profile -selinux ssp static-libs -static-pie -suid -systemd -systemtap -test -vanilla sys-libs/libcap-2.62:0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 pam split-usr -static-libs -tools sys-libs/libseccomp-2.5.3:0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -python python_targets_python3_10 python_targets_python3_8 python_targets_python3_9 -static-libs -test sys-libs/libxcrypt-4.4.27:0/1 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 compat split-usr -static-libs system -test sys-libs/ncurses-6.3_p20211106:0/6 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -ada cxx -debug -doc -gpm -minimal -profile split-usr -static-libs -test tinfo -trace sys-libs/pam-1.5.2-r1:0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -audit -berkdb -debug filecaps -nis -selinux sys-libs/readline-8.1_p2:0/8 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 split-usr -static-libs unicode -utils sys-libs/timezone-data-2021e:0 -leaps-timezone nls -zic-slim sys-libs/zlib-1.2.11-r4:0/1 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 minizip split-usr -static-libs sys-process/procps-3.3.17-r1:0/8 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 elogind kill -modern-top ncurses nls -selinux split-usr -static-libs -systemd -test unicode sys-process/psmisc-23.4-r1:0 -X ipv6 nls -selinux virtual/acl-0-r2:0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -static-libs virtual/awk-1:0 virtual/dev-manager-0-r2:0 virtual/editor-0-r3:0 virtual/libc-1-r1:0 virtual/libcrypt-2:0/2 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -static-libs virtual/libelf-3:0/1 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 virtual/libiconv-0-r2:0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 virtual/libintl-0-r2:0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 virtual/libudev-232-r5:0/1 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -systemd virtual/man-0-r4:0 virtual/os-headers-0-r2:0 virtual/package-manager-1:0 virtual/pager-0:0 virtual/perl-Carp-1.520.0-r1:0 virtual/perl-Compress-Raw-Bzip2-2.101.0:0 virtual/perl-Compress-Raw-Zlib-2.101.0:0 virtual/perl-CPAN-2.290.0:0 virtual/perl-CPAN-Meta-2.150.10-r5:0 virtual/perl-CPAN-Meta-Requirements-2.140.0-r7:0 virtual/perl-CPAN-Meta-YAML-0.18.0-r7:0 virtual/perl-Data-Dumper-2.179.0:0 virtual/perl-Digest-MD5-2.580.0:0 virtual/perl-Encode-3.120.0:0 virtual/perl-Exporter-5.760.0:0 virtual/perl-ExtUtils-CBuilder-0.280.236:0 virtual/perl-ExtUtils-Install-2.200.0:0 virtual/perl-ExtUtils-MakeMaker-7.620.0:0 virtual/perl-ExtUtils-Manifest-1.730.0:0 virtual/perl-ExtUtils-ParseXS-3.430.0:0 virtual/perl-File-Spec-3.800.0:0 virtual/perl-File-Temp-0.231.100:0 virtual/perl-Getopt-Long-2.520.0:0 virtual/perl-IO-1.460.0:0 virtual/perl-IO-Compress-2.102.0:0 virtual/perl-IO-Socket-IP-0.410.0:0 virtual/perl-JSON-PP-4.60.0:0 virtual/perl-libnet-3.130.0:0 ssl virtual/perl-MIME-Base64-3.160.0:0 virtual/perl-Module-Metadata-1.0.37-r1:0 virtual/perl-parent-0.238.0-r1:0 virtual/perl-Parse-CPAN-Meta-2.150.10-r5:0 virtual/perl-Perl-OSType-1.10.0-r5:0 virtual/perl-podlators-4.140.0-r2:0 virtual/perl-Scalar-List-Utils-1.560.0:0 virtual/perl-Test-Harness-3.430.0:0 virtual/perl-Text-ParseWords-3.300.0-r8:0 virtual/perl-Time-Local-1.300.0:0 virtual/perl-version-0.992.800:0 virtual/perl-XSLoader-0.300.0-r4:0 virtual/pkgconfig-2-r1:0 virtual/rust-1.58.1:0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -rustfmt virtual/service-manager-1:0 virtual/ssh-0:0 -minimal virtual/tmpfiles-0-r1:0 virtual/ttf-fonts-1-r1:0 virtual/udev-217-r3:0 virtual/yacc-0:0 www-client/pybugz-0.13-r1:0 python_targets_python3_8 python_targets_python3_9 x11-base/xcb-proto-1.14.1:0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 python_targets_python3_10 python_targets_python3_8 python_targets_python3_9 x11-base/xorg-proto-2021.5:0 -test x11-libs/cairo-1.16.0-r5:0 X -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -aqua -debug -gles2-only glib -opengl -static-libs svg -utils -valgrind x11-libs/libX11-1.7.3:0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -doc ipv6 -test x11-libs/libXau-1.0.9-r1:0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -doc x11-libs/libxcb-1.14:0/1.12 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -doc -doc -selinux -test xkb x11-libs/libXdmcp-1.1.3:0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -doc x11-libs/libXext-1.3.4:0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -doc x11-libs/libXrender-0.9.10-r2:0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 x11-libs/pixman-0.40.0:0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -cpu_flags_arm_iwmmxt -cpu_flags_arm_iwmmxt2 -cpu_flags_arm_neon -cpu_flags_ppc_altivec cpu_flags_x86_mmxext cpu_flags_x86_sse2 cpu_flags_x86_ssse3 -loongson2f -static-libs x11-libs/xtrans-1.4.0:0 -doc x11-misc/compose-tables-1.7.3:0 x11-misc/shared-mime-info-2.1:0 ####################### # build.log # ####################### >>> Unpacking source... >>> Unpacking starlette-0.18.0.gh.tar.gz to /var/tmp/portage/dev-python/starlette-0.18.0/work >>> Source unpacked in /var/tmp/portage/dev-python/starlette-0.18.0/work >>> Preparing source in /var/tmp/portage/dev-python/starlette-0.18.0/work/starlette-0.18.0 ... >>> Source prepared. >>> Configuring source in /var/tmp/portage/dev-python/starlette-0.18.0/work/starlette-0.18.0 ... >>> Source configured. >>> Compiling source in /var/tmp/portage/dev-python/starlette-0.18.0/work/starlette-0.18.0 ... * python3_8: running distutils-r1_run_phase distutils-r1_python_compile python3.8 setup.py build -j 42 running build running build_py creating build creating build/lib creating build/lib/starlette copying starlette/websockets.py -> build/lib/starlette copying starlette/types.py -> build/lib/starlette copying starlette/testclient.py -> build/lib/starlette copying starlette/templating.py -> build/lib/starlette copying starlette/status.py -> build/lib/starlette copying starlette/staticfiles.py -> build/lib/starlette copying starlette/schemas.py -> build/lib/starlette copying starlette/routing.py -> build/lib/starlette copying starlette/responses.py -> build/lib/starlette copying starlette/requests.py -> build/lib/starlette copying starlette/formparsers.py -> build/lib/starlette copying starlette/exceptions.py -> build/lib/starlette copying starlette/endpoints.py -> build/lib/starlette copying starlette/datastructures.py -> build/lib/starlette copying starlette/convertors.py -> build/lib/starlette copying starlette/config.py -> build/lib/starlette copying starlette/concurrency.py -> build/lib/starlette copying starlette/background.py -> build/lib/starlette copying starlette/authentication.py -> build/lib/starlette copying starlette/applications.py -> build/lib/starlette copying starlette/_compat.py -> build/lib/starlette copying starlette/__init__.py -> build/lib/starlette creating build/lib/starlette/middleware copying starlette/middleware/wsgi.py -> build/lib/starlette/middleware copying starlette/middleware/trustedhost.py -> build/lib/starlette/middleware copying starlette/middleware/sessions.py -> build/lib/starlette/middleware copying starlette/middleware/httpsredirect.py -> build/lib/starlette/middleware copying starlette/middleware/gzip.py -> build/lib/starlette/middleware copying starlette/middleware/errors.py -> build/lib/starlette/middleware copying starlette/middleware/cors.py -> build/lib/starlette/middleware copying starlette/middleware/base.py -> build/lib/starlette/middleware copying starlette/middleware/authentication.py -> build/lib/starlette/middleware copying starlette/middleware/__init__.py -> build/lib/starlette/middleware running egg_info creating starlette.egg-info writing manifest file 'starlette.egg-info/SOURCES.txt' listing git files failed - pretending there aren't any warning: no previously-included files matching '__pycache__' found anywhere in distribution warning: no previously-included files matching '*.py[co]' found anywhere in distribution writing manifest file 'starlette.egg-info/SOURCES.txt' copying starlette/py.typed -> build/lib/starlette warning: build_py: byte-compiling is disabled, skipping. * Building a wheel via setuptools.build_meta:__legacy__ running bdist_wheel running build running build_py running egg_info listing git files failed - pretending there aren't any warning: no previously-included files matching '__pycache__' found anywhere in distribution warning: no previously-included files matching '*.py[co]' found anywhere in distribution writing manifest file 'starlette.egg-info/SOURCES.txt' warning: build_py: byte-compiling is disabled, skipping. running install running install_lib creating build/bdist.linux-x86_64 creating build/bdist.linux-x86_64/wheel creating build/bdist.linux-x86_64/wheel/starlette creating build/bdist.linux-x86_64/wheel/starlette/middleware warning: install_lib: byte-compiling is disabled, skipping. running install_egg_info Copying starlette.egg-info to build/bdist.linux-x86_64/wheel/starlette-0.18.0-py3.8.egg-info running install_scripts python3.8 setup.py clean -a running clean removing 'build/lib' (and everything under it) removing 'build/bdist.linux-x86_64' (and everything under it) 'build/scripts-3.8' does not exist -- can't clean it * python3_9: running distutils-r1_run_phase distutils-r1_python_compile python3.9 setup.py build -j 42 running build running build_py creating build creating build/lib creating build/lib/starlette copying starlette/websockets.py -> build/lib/starlette copying starlette/types.py -> build/lib/starlette copying starlette/testclient.py -> build/lib/starlette copying starlette/templating.py -> build/lib/starlette copying starlette/status.py -> build/lib/starlette copying starlette/staticfiles.py -> build/lib/starlette copying starlette/schemas.py -> build/lib/starlette copying starlette/routing.py -> build/lib/starlette copying starlette/responses.py -> build/lib/starlette copying starlette/requests.py -> build/lib/starlette copying starlette/formparsers.py -> build/lib/starlette copying starlette/exceptions.py -> build/lib/starlette copying starlette/endpoints.py -> build/lib/starlette copying starlette/datastructures.py -> build/lib/starlette copying starlette/convertors.py -> build/lib/starlette copying starlette/config.py -> build/lib/starlette copying starlette/concurrency.py -> build/lib/starlette copying starlette/background.py -> build/lib/starlette copying starlette/authentication.py -> build/lib/starlette copying starlette/applications.py -> build/lib/starlette copying starlette/_compat.py -> build/lib/starlette copying starlette/__init__.py -> build/lib/starlette creating build/lib/starlette/middleware copying starlette/middleware/wsgi.py -> build/lib/starlette/middleware copying starlette/middleware/trustedhost.py -> build/lib/starlette/middleware copying starlette/middleware/sessions.py -> build/lib/starlette/middleware copying starlette/middleware/httpsredirect.py -> build/lib/starlette/middleware copying starlette/middleware/gzip.py -> build/lib/starlette/middleware copying starlette/middleware/errors.py -> build/lib/starlette/middleware copying starlette/middleware/cors.py -> build/lib/starlette/middleware copying starlette/middleware/base.py -> build/lib/starlette/middleware copying starlette/middleware/authentication.py -> build/lib/starlette/middleware copying starlette/middleware/__init__.py -> build/lib/starlette/middleware running egg_info listing git files failed - pretending there aren't any warning: no previously-included files matching '__pycache__' found anywhere in distribution warning: no previously-included files matching '*.py[co]' found anywhere in distribution writing manifest file 'starlette.egg-info/SOURCES.txt' copying starlette/py.typed -> build/lib/starlette warning: build_py: byte-compiling is disabled, skipping. * Building a wheel via setuptools.build_meta:__legacy__ running bdist_wheel running build running build_py running egg_info listing git files failed - pretending there aren't any warning: no previously-included files matching '__pycache__' found anywhere in distribution warning: no previously-included files matching '*.py[co]' found anywhere in distribution writing manifest file 'starlette.egg-info/SOURCES.txt' warning: build_py: byte-compiling is disabled, skipping. running install running install_lib creating build/bdist.linux-x86_64 creating build/bdist.linux-x86_64/wheel creating build/bdist.linux-x86_64/wheel/starlette creating build/bdist.linux-x86_64/wheel/starlette/middleware warning: install_lib: byte-compiling is disabled, skipping. running install_egg_info Copying starlette.egg-info to build/bdist.linux-x86_64/wheel/starlette-0.18.0-py3.9.egg-info running install_scripts python3.9 setup.py clean -a running clean removing 'build/lib' (and everything under it) removing 'build/bdist.linux-x86_64' (and everything under it) 'build/scripts-3.9' does not exist -- can't clean it * python3_10: running distutils-r1_run_phase distutils-r1_python_compile python3.10 setup.py build -j 42 running build running build_py creating build creating build/lib creating build/lib/starlette copying starlette/websockets.py -> build/lib/starlette copying starlette/types.py -> build/lib/starlette copying starlette/testclient.py -> build/lib/starlette copying starlette/templating.py -> build/lib/starlette copying starlette/status.py -> build/lib/starlette copying starlette/staticfiles.py -> build/lib/starlette copying starlette/schemas.py -> build/lib/starlette copying starlette/routing.py -> build/lib/starlette copying starlette/responses.py -> build/lib/starlette copying starlette/requests.py -> build/lib/starlette copying starlette/formparsers.py -> build/lib/starlette copying starlette/exceptions.py -> build/lib/starlette copying starlette/endpoints.py -> build/lib/starlette copying starlette/datastructures.py -> build/lib/starlette copying starlette/convertors.py -> build/lib/starlette copying starlette/config.py -> build/lib/starlette copying starlette/concurrency.py -> build/lib/starlette copying starlette/background.py -> build/lib/starlette copying starlette/authentication.py -> build/lib/starlette copying starlette/applications.py -> build/lib/starlette copying starlette/_compat.py -> build/lib/starlette copying starlette/__init__.py -> build/lib/starlette creating build/lib/starlette/middleware copying starlette/middleware/wsgi.py -> build/lib/starlette/middleware copying starlette/middleware/trustedhost.py -> build/lib/starlette/middleware copying starlette/middleware/sessions.py -> build/lib/starlette/middleware copying starlette/middleware/httpsredirect.py -> build/lib/starlette/middleware copying starlette/middleware/gzip.py -> build/lib/starlette/middleware copying starlette/middleware/errors.py -> build/lib/starlette/middleware copying starlette/middleware/cors.py -> build/lib/starlette/middleware copying starlette/middleware/base.py -> build/lib/starlette/middleware copying starlette/middleware/authentication.py -> build/lib/starlette/middleware copying starlette/middleware/__init__.py -> build/lib/starlette/middleware running egg_info listing git files failed - pretending there aren't any warning: no previously-included files matching '__pycache__' found anywhere in distribution warning: no previously-included files matching '*.py[co]' found anywhere in distribution writing manifest file 'starlette.egg-info/SOURCES.txt' copying starlette/py.typed -> build/lib/starlette warning: build_py: byte-compiling is disabled, skipping. * Building a wheel via setuptools.build_meta:__legacy__ running bdist_wheel running build running build_py running egg_info listing git files failed - pretending there aren't any warning: no previously-included files matching '__pycache__' found anywhere in distribution warning: no previously-included files matching '*.py[co]' found anywhere in distribution writing manifest file 'starlette.egg-info/SOURCES.txt' warning: build_py: byte-compiling is disabled, skipping. running install running install_lib creating build/bdist.linux-x86_64 creating build/bdist.linux-x86_64/wheel creating build/bdist.linux-x86_64/wheel/starlette creating build/bdist.linux-x86_64/wheel/starlette/middleware warning: install_lib: byte-compiling is disabled, skipping. running install_egg_info Copying starlette.egg-info to build/bdist.linux-x86_64/wheel/starlette-0.18.0-py3.10.egg-info running install_scripts python3.10 setup.py clean -a running clean removing 'build/lib' (and everything under it) removing 'build/bdist.linux-x86_64' (and everything under it) 'build/scripts-3.10' does not exist -- can't clean it >>> Source compiled. >>> Test phase: dev-python/starlette-0.18.0 * python3_8: running distutils-r1_run_phase python_test python3.8 -m pytest -vv -ra -l -Wdefault --color=no --deselect tests/test_requests.py::test_request_form_urlencoded --ignore tests/test_database.py --ignore tests/test_formparsers.py ============================= test session starts ============================== platform linux -- Python 3.8.12, pytest-6.2.5, py-1.11.0, pluggy-1.0.0 -- /var/tmp/portage/dev-python/starlette-0.18.0/work/starlette-0.18.0-python3_8/install/usr/bin/python3.8 cachedir: .pytest_cache rootdir: /var/tmp/portage/dev-python/starlette-0.18.0/work/starlette-0.18.0, configfile: setup.cfg plugins: anyio-3.5.0 collecting ... collected 472 items / 2 deselected / 470 selected tests/test_applications.py::test_url_path_for PASSED [ 0%] tests/test_applications.py::test_func_route[asyncio] PASSED [ 0%] tests/test_applications.py::test_func_route[trio] PASSED [ 0%] tests/test_applications.py::test_async_route[asyncio] PASSED [ 0%] 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 [ 1%] tests/test_applications.py::test_mounted_route[trio] PASSED [ 1%] 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 [ 3%] 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 [ 4%] tests/test_applications.py::test_500[asyncio] PASSED [ 4%] tests/test_applications.py::test_500[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 [ 5%] tests/test_applications.py::test_app_mount[asyncio] PASSED [ 5%] tests/test_applications.py::test_app_mount[trio] PASSED [ 5%] tests/test_applications.py::test_app_debug[asyncio] PASSED [ 5%] tests/test_applications.py::test_app_debug[trio] PASSED [ 5%] tests/test_applications.py::test_app_add_route[asyncio] PASSED [ 6%] tests/test_applications.py::test_app_add_route[trio] PASSED [ 6%] tests/test_applications.py::test_app_add_websocket_route[asyncio] PASSED [ 6%] tests/test_applications.py::test_app_add_websocket_route[trio] PASSED [ 6%] tests/test_applications.py::test_app_add_event_handler[asyncio] PASSED [ 7%] tests/test_applications.py::test_app_add_event_handler[trio] PASSED [ 7%] tests/test_applications.py::test_app_async_cm_lifespan[asyncio] PASSED [ 7%] tests/test_applications.py::test_app_async_cm_lifespan[trio] PASSED [ 7%] tests/test_applications.py::test_app_async_gen_lifespan[asyncio] PASSED [ 7%] tests/test_applications.py::test_app_async_gen_lifespan[trio] PASSED [ 8%] tests/test_applications.py::test_app_sync_gen_lifespan[asyncio] PASSED [ 8%] tests/test_applications.py::test_app_sync_gen_lifespan[trio] PASSED [ 8%] tests/test_authentication.py::test_invalid_decorator_usage PASSED [ 8%] tests/test_authentication.py::test_user_interface[asyncio] PASSED [ 8%] tests/test_authentication.py::test_user_interface[trio] PASSED [ 9%] tests/test_authentication.py::test_authentication_required[asyncio] PASSED [ 9%] tests/test_authentication.py::test_authentication_required[trio] PASSED [ 9%] tests/test_authentication.py::test_websocket_authentication_required[asyncio] PASSED [ 9%] tests/test_authentication.py::test_websocket_authentication_required[trio] PASSED [ 10%] tests/test_authentication.py::test_authentication_redirect[asyncio] PASSED [ 10%] tests/test_authentication.py::test_authentication_redirect[trio] PASSED [ 10%] tests/test_authentication.py::test_custom_on_error[asyncio] PASSED [ 10%] tests/test_authentication.py::test_custom_on_error[trio] PASSED [ 10%] tests/test_background.py::test_async_task[asyncio] PASSED [ 11%] tests/test_background.py::test_async_task[trio] PASSED [ 11%] tests/test_background.py::test_sync_task[asyncio] PASSED [ 11%] tests/test_background.py::test_sync_task[trio] PASSED [ 11%] tests/test_background.py::test_multiple_tasks[asyncio] PASSED [ 11%] tests/test_background.py::test_multiple_tasks[trio] PASSED [ 12%] tests/test_concurrency.py::test_run_until_first_complete[asyncio] PASSED [ 12%] tests/test_concurrency.py::test_run_until_first_complete[trio] PASSED [ 12%] tests/test_config.py::test_config PASSED [ 12%] tests/test_config.py::test_environ PASSED [ 12%] tests/test_datastructures.py::test_url PASSED [ 13%] tests/test_datastructures.py::test_url_query_params PASSED [ 13%] tests/test_datastructures.py::test_hidden_password PASSED [ 13%] tests/test_datastructures.py::test_csv PASSED [ 13%] tests/test_datastructures.py::test_url_from_scope PASSED [ 14%] tests/test_datastructures.py::test_headers PASSED [ 14%] tests/test_datastructures.py::test_mutable_headers PASSED [ 14%] tests/test_datastructures.py::test_headers_mutablecopy PASSED [ 14%] tests/test_datastructures.py::test_url_blank_params PASSED [ 14%] tests/test_datastructures.py::test_queryparams PASSED [ 15%] tests/test_datastructures.py::test_upload_file[asyncio] PASSED [ 15%] tests/test_datastructures.py::test_upload_file[trio] PASSED [ 15%] tests/test_datastructures.py::test_upload_file_file_input[asyncio] PASSED [ 15%] tests/test_datastructures.py::test_upload_file_file_input[trio] PASSED [ 15%] tests/test_datastructures.py::test_formdata PASSED [ 16%] tests/test_datastructures.py::test_multidict PASSED [ 16%] tests/test_endpoints.py::test_http_endpoint_route[asyncio] PASSED [ 16%] tests/test_endpoints.py::test_http_endpoint_route[trio] PASSED [ 16%] tests/test_endpoints.py::test_http_endpoint_route_path_params[asyncio] PASSED [ 17%] tests/test_endpoints.py::test_http_endpoint_route_path_params[trio] PASSED [ 17%] tests/test_endpoints.py::test_http_endpoint_route_method[asyncio] PASSED [ 17%] tests/test_endpoints.py::test_http_endpoint_route_method[trio] PASSED [ 17%] tests/test_endpoints.py::test_websocket_endpoint_on_connect[asyncio] PASSED [ 17%] tests/test_endpoints.py::test_websocket_endpoint_on_connect[trio] PASSED [ 18%] tests/test_endpoints.py::test_websocket_endpoint_on_receive_bytes[asyncio] PASSED [ 18%] tests/test_endpoints.py::test_websocket_endpoint_on_receive_bytes[trio] PASSED [ 18%] tests/test_endpoints.py::test_websocket_endpoint_on_receive_json[asyncio] PASSED [ 18%] tests/test_endpoints.py::test_websocket_endpoint_on_receive_json[trio] PASSED [ 18%] tests/test_endpoints.py::test_websocket_endpoint_on_receive_json_binary[asyncio] PASSED [ 19%] tests/test_endpoints.py::test_websocket_endpoint_on_receive_json_binary[trio] PASSED [ 19%] tests/test_endpoints.py::test_websocket_endpoint_on_receive_text[asyncio] PASSED [ 19%] tests/test_endpoints.py::test_websocket_endpoint_on_receive_text[trio] PASSED [ 19%] tests/test_endpoints.py::test_websocket_endpoint_on_default[asyncio] PASSED [ 20%] tests/test_endpoints.py::test_websocket_endpoint_on_default[trio] PASSED [ 20%] tests/test_endpoints.py::test_websocket_endpoint_on_disconnect[asyncio] PASSED [ 20%] tests/test_endpoints.py::test_websocket_endpoint_on_disconnect[trio] PASSED [ 20%] tests/test_exceptions.py::test_not_acceptable[asyncio] PASSED [ 20%] tests/test_exceptions.py::test_not_acceptable[trio] PASSED [ 21%] tests/test_exceptions.py::test_not_modified[asyncio] PASSED [ 21%] tests/test_exceptions.py::test_not_modified[trio] PASSED [ 21%] tests/test_exceptions.py::test_websockets_should_raise[asyncio] PASSED [ 21%] tests/test_exceptions.py::test_websockets_should_raise[trio] PASSED [ 21%] tests/test_exceptions.py::test_handled_exc_after_response[asyncio] PASSED [ 22%] tests/test_exceptions.py::test_handled_exc_after_response[trio] PASSED [ 22%] tests/test_exceptions.py::test_force_500_response[asyncio] PASSED [ 22%] tests/test_exceptions.py::test_force_500_response[trio] PASSED [ 22%] tests/test_exceptions.py::test_repr PASSED [ 22%] tests/test_requests.py::test_request_url[asyncio] PASSED [ 23%] tests/test_requests.py::test_request_url[trio] PASSED [ 23%] tests/test_requests.py::test_request_query_params[asyncio] PASSED [ 23%] tests/test_requests.py::test_request_query_params[trio] PASSED [ 23%] tests/test_requests.py::test_request_headers[asyncio] FAILED [ 24%] tests/test_requests.py::test_request_headers[trio] FAILED [ 24%] tests/test_requests.py::test_request_client[asyncio] PASSED [ 24%] tests/test_requests.py::test_request_client[trio] PASSED [ 24%] tests/test_requests.py::test_request_body[asyncio] PASSED [ 24%] tests/test_requests.py::test_request_body[trio] PASSED [ 25%] tests/test_requests.py::test_request_stream[asyncio] PASSED [ 25%] tests/test_requests.py::test_request_stream[trio] PASSED [ 25%] tests/test_requests.py::test_request_body_then_stream[asyncio] PASSED [ 25%] tests/test_requests.py::test_request_body_then_stream[trio] PASSED [ 25%] tests/test_requests.py::test_request_stream_then_body[asyncio] PASSED [ 26%] tests/test_requests.py::test_request_stream_then_body[trio] PASSED [ 26%] tests/test_requests.py::test_request_json[asyncio] PASSED [ 26%] tests/test_requests.py::test_request_json[trio] PASSED [ 26%] tests/test_requests.py::test_request_scope_interface PASSED [ 27%] tests/test_requests.py::test_request_without_setting_receive[asyncio] PASSED [ 27%] tests/test_requests.py::test_request_without_setting_receive[trio] PASSED [ 27%] tests/test_requests.py::test_request_disconnect[asyncio] PASSED [ 27%] tests/test_requests.py::test_request_disconnect[trio] PASSED [ 27%] tests/test_requests.py::test_request_is_disconnected[asyncio] PASSED [ 28%] tests/test_requests.py::test_request_is_disconnected[trio] PASSED [ 28%] tests/test_requests.py::test_request_state_object PASSED [ 28%] tests/test_requests.py::test_request_state[asyncio] PASSED [ 28%] tests/test_requests.py::test_request_state[trio] PASSED [ 28%] tests/test_requests.py::test_request_cookies[asyncio] PASSED [ 29%] tests/test_requests.py::test_request_cookies[trio] PASSED [ 29%] tests/test_requests.py::test_cookie_lenient_parsing[asyncio] PASSED [ 29%] tests/test_requests.py::test_cookie_lenient_parsing[trio] PASSED [ 29%] tests/test_requests.py::test_cookies_edge_cases[asyncio-chips=ahoy; vienna=finger-expected0] PASSED [ 30%] tests/test_requests.py::test_cookies_edge_cases[asyncio-keebler="E=mc2; L=\\"Loves\\"; fudge=\\012;"-expected1] PASSED [ 30%] tests/test_requests.py::test_cookies_edge_cases[asyncio-keebler=E=mc2-expected2] PASSED [ 30%] tests/test_requests.py::test_cookies_edge_cases[asyncio-key:term=value:term-expected3] PASSED [ 30%] tests/test_requests.py::test_cookies_edge_cases[asyncio-a=b; c=[; d=r; f=h-expected4] PASSED [ 30%] tests/test_requests.py::test_cookies_edge_cases[asyncio-a=b; Domain=example.com-expected5] PASSED [ 31%] tests/test_requests.py::test_cookies_edge_cases[asyncio-a=b; h=i; a=c-expected6] PASSED [ 31%] tests/test_requests.py::test_cookies_edge_cases[trio-chips=ahoy; vienna=finger-expected0] PASSED [ 31%] tests/test_requests.py::test_cookies_edge_cases[trio-keebler="E=mc2; L=\\"Loves\\"; fudge=\\012;"-expected1] PASSED [ 31%] tests/test_requests.py::test_cookies_edge_cases[trio-keebler=E=mc2-expected2] PASSED [ 31%] tests/test_requests.py::test_cookies_edge_cases[trio-key:term=value:term-expected3] PASSED [ 32%] tests/test_requests.py::test_cookies_edge_cases[trio-a=b; c=[; d=r; f=h-expected4] PASSED [ 32%] tests/test_requests.py::test_cookies_edge_cases[trio-a=b; Domain=example.com-expected5] PASSED [ 32%] tests/test_requests.py::test_cookies_edge_cases[trio-a=b; h=i; a=c-expected6] PASSED [ 32%] tests/test_requests.py::test_cookies_invalid[asyncio-abc=def; unnamed; django_language=en-expected0] PASSED [ 32%] tests/test_requests.py::test_cookies_invalid[asyncio-a=b; "; c=d-expected1] PASSED [ 33%] tests/test_requests.py::test_cookies_invalid[asyncio-a b c=d e = f; gh=i-expected2] PASSED [ 33%] tests/test_requests.py::test_cookies_invalid[asyncio-a b,c<>@:/[]?{}=d " =e,f g-expected3] PASSED [ 33%] tests/test_requests.py::test_cookies_invalid[trio-abc=def; unnamed; django_language=en-expected0] PASSED [ 33%] tests/test_requests.py::test_cookies_invalid[trio-a=b; "; c=d-expected1] PASSED [ 34%] tests/test_requests.py::test_cookies_invalid[trio-a b c=d e = f; gh=i-expected2] PASSED [ 34%] tests/test_requests.py::test_cookies_invalid[trio-a b,c<>@:/[]?{}=d " =e,f g-expected3] PASSED [ 34%] tests/test_requests.py::test_chunked_encoding[asyncio] PASSED [ 34%] tests/test_requests.py::test_chunked_encoding[trio] PASSED [ 34%] tests/test_requests.py::test_request_send_push_promise[asyncio] PASSED [ 35%] tests/test_requests.py::test_request_send_push_promise[trio] PASSED [ 35%] tests/test_requests.py::test_request_send_push_promise_without_push_extension[asyncio] PASSED [ 35%] tests/test_requests.py::test_request_send_push_promise_without_push_extension[trio] PASSED [ 35%] tests/test_requests.py::test_request_send_push_promise_without_setting_send[asyncio] PASSED [ 35%] tests/test_requests.py::test_request_send_push_promise_without_setting_send[trio] PASSED [ 36%] tests/test_responses.py::test_text_response[asyncio] PASSED [ 36%] tests/test_responses.py::test_text_response[trio] PASSED [ 36%] tests/test_responses.py::test_bytes_response[asyncio] PASSED [ 36%] tests/test_responses.py::test_bytes_response[trio] PASSED [ 37%] tests/test_responses.py::test_json_none_response[asyncio] PASSED [ 37%] tests/test_responses.py::test_json_none_response[trio] PASSED [ 37%] tests/test_responses.py::test_redirect_response[asyncio] PASSED [ 37%] tests/test_responses.py::test_redirect_response[trio] PASSED [ 37%] tests/test_responses.py::test_quoting_redirect_response[asyncio] PASSED [ 38%] tests/test_responses.py::test_quoting_redirect_response[trio] PASSED [ 38%] tests/test_responses.py::test_redirect_response_content_length_header[asyncio] PASSED [ 38%] tests/test_responses.py::test_redirect_response_content_length_header[trio] PASSED [ 38%] tests/test_responses.py::test_streaming_response[asyncio] PASSED [ 38%] 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 [ 39%] 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 [ 41%] tests/test_responses.py::test_response_phrase[trio] PASSED [ 41%] tests/test_responses.py::test_file_response[asyncio] PASSED [ 41%] tests/test_responses.py::test_file_response[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 [ 42%] tests/test_responses.py::test_file_response_with_missing_file_raises_error[asyncio] PASSED [ 42%] 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_set_cookie[asyncio] PASSED [ 43%] tests/test_responses.py::test_set_cookie[trio] PASSED [ 43%] tests/test_responses.py::test_delete_cookie[asyncio] PASSED [ 43%] tests/test_responses.py::test_delete_cookie[trio] PASSED [ 43%] 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 [ 45%] tests/test_responses.py::test_empty_204_response[asyncio] PASSED [ 45%] tests/test_responses.py::test_empty_204_response[trio] PASSED [ 45%] 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_file_response_known_size[asyncio] PASSED [ 46%] tests/test_responses.py::test_file_response_known_size[trio] PASSED [ 46%] tests/test_responses.py::test_streaming_response_unknown_size[asyncio] PASSED [ 46%] tests/test_responses.py::test_streaming_response_unknown_size[trio] PASSED [ 46%] tests/test_responses.py::test_streaming_response_known_size[asyncio] PASSED [ 47%] tests/test_responses.py::test_streaming_response_known_size[trio] PASSED [ 47%] tests/test_routing.py::test_router[asyncio] PASSED [ 47%] tests/test_routing.py::test_router[trio] PASSED [ 47%] tests/test_routing.py::test_route_converters[asyncio] PASSED [ 47%] tests/test_routing.py::test_route_converters[trio] PASSED [ 48%] tests/test_routing.py::test_url_path_for PASSED [ 48%] tests/test_routing.py::test_url_for PASSED [ 48%] tests/test_routing.py::test_router_add_route[asyncio] PASSED [ 48%] tests/test_routing.py::test_router_add_route[trio] PASSED [ 48%] tests/test_routing.py::test_router_duplicate_path[asyncio] PASSED [ 49%] tests/test_routing.py::test_router_duplicate_path[trio] PASSED [ 49%] tests/test_routing.py::test_router_add_websocket_route[asyncio] PASSED [ 49%] tests/test_routing.py::test_router_add_websocket_route[trio] PASSED [ 49%] tests/test_routing.py::test_protocol_switch[asyncio] PASSED [ 50%] tests/test_routing.py::test_protocol_switch[trio] PASSED [ 50%] tests/test_routing.py::test_mount_urls[asyncio] PASSED [ 50%] tests/test_routing.py::test_mount_urls[trio] PASSED [ 50%] tests/test_routing.py::test_reverse_mount_urls PASSED [ 50%] tests/test_routing.py::test_mount_at_root[asyncio] PASSED [ 51%] tests/test_routing.py::test_mount_at_root[trio] PASSED [ 51%] tests/test_routing.py::test_host_routing[asyncio] PASSED [ 51%] tests/test_routing.py::test_host_routing[trio] PASSED [ 51%] tests/test_routing.py::test_host_reverse_urls PASSED [ 51%] tests/test_routing.py::test_subdomain_routing[asyncio] PASSED [ 52%] tests/test_routing.py::test_subdomain_routing[trio] PASSED [ 52%] tests/test_routing.py::test_subdomain_reverse_urls PASSED [ 52%] tests/test_routing.py::test_url_for_with_root_path[asyncio] PASSED [ 52%] tests/test_routing.py::test_url_for_with_root_path[trio] PASSED [ 52%] 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 [ 53%] tests/test_routing.py::test_standalone_route_does_not_match[asyncio] PASSED [ 53%] 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 [ 55%] tests/test_routing.py::test_lifespan_async[trio] PASSED [ 55%] 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_raise_on_startup[asyncio] PASSED [ 55%] tests/test_routing.py::test_raise_on_startup[trio] PASSED [ 56%] tests/test_routing.py::test_raise_on_shutdown[asyncio] PASSED [ 56%] 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 [ 57%] tests/test_routing.py::test_partial_async_ws_endpoint[asyncio] PASSED [ 57%] tests/test_routing.py::test_partial_async_ws_endpoint[trio] PASSED [ 57%] tests/test_routing.py::test_duplicated_param_names PASSED [ 57%] tests/test_schemas.py::test_schema_generation FAILED [ 57%] tests/test_schemas.py::test_schema_endpoint[asyncio] FAILED [ 58%] tests/test_schemas.py::test_schema_endpoint[trio] FAILED [ 58%] tests/test_staticfiles.py::test_staticfiles[asyncio] PASSED [ 58%] tests/test_staticfiles.py::test_staticfiles[trio] PASSED [ 58%] tests/test_staticfiles.py::test_staticfiles_with_pathlib[asyncio] PASSED [ 58%] tests/test_staticfiles.py::test_staticfiles_with_pathlib[trio] PASSED [ 59%] tests/test_staticfiles.py::test_staticfiles_head_with_middleware[asyncio] PASSED [ 59%] tests/test_staticfiles.py::test_staticfiles_head_with_middleware[trio] PASSED [ 59%] tests/test_staticfiles.py::test_staticfiles_with_package[asyncio] PASSED [ 59%] tests/test_staticfiles.py::test_staticfiles_with_package[trio] PASSED [ 60%] tests/test_staticfiles.py::test_staticfiles_post[asyncio] PASSED [ 60%] tests/test_staticfiles.py::test_staticfiles_post[trio] PASSED [ 60%] tests/test_staticfiles.py::test_staticfiles_with_directory_returns_404[asyncio] PASSED [ 60%] tests/test_staticfiles.py::test_staticfiles_with_directory_returns_404[trio] PASSED [ 60%] tests/test_staticfiles.py::test_staticfiles_with_missing_file_returns_404[asyncio] PASSED [ 61%] tests/test_staticfiles.py::test_staticfiles_with_missing_file_returns_404[trio] PASSED [ 61%] tests/test_staticfiles.py::test_staticfiles_instantiated_with_missing_directory PASSED [ 61%] tests/test_staticfiles.py::test_staticfiles_configured_with_missing_directory[asyncio] PASSED [ 61%] tests/test_staticfiles.py::test_staticfiles_configured_with_missing_directory[trio] PASSED [ 61%] 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 [ 62%] tests/test_staticfiles.py::test_staticfiles_config_check_occurs_only_once[trio] PASSED [ 62%] tests/test_staticfiles.py::test_staticfiles_prevents_breaking_out_of_directory PASSED [ 62%] 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 [ 64%] tests/test_staticfiles.py::test_staticfiles_304_with_last_modified_compare_last_req[trio] PASSED [ 64%] 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 [ 65%] tests/test_staticfiles.py::test_staticfiles_html_without_404[asyncio] PASSED [ 65%] tests/test_staticfiles.py::test_staticfiles_html_without_404[trio] PASSED [ 65%] tests/test_staticfiles.py::test_staticfiles_html_only_files[asyncio] PASSED [ 65%] tests/test_staticfiles.py::test_staticfiles_html_only_files[trio] PASSED [ 65%] tests/test_staticfiles.py::test_staticfiles_cache_invalidation_for_deleted_file_html_mode[asyncio] PASSED [ 66%] tests/test_staticfiles.py::test_staticfiles_cache_invalidation_for_deleted_file_html_mode[trio] PASSED [ 66%] tests/test_staticfiles.py::test_staticfiles_with_invalid_dir_permissions_returns_401[asyncio] PASSED [ 66%] tests/test_staticfiles.py::test_staticfiles_with_invalid_dir_permissions_returns_401[trio] PASSED [ 66%] tests/test_staticfiles.py::test_staticfiles_with_missing_dir_returns_404[asyncio] PASSED [ 67%] tests/test_staticfiles.py::test_staticfiles_with_missing_dir_returns_404[trio] PASSED [ 67%] tests/test_staticfiles.py::test_staticfiles_access_file_as_dir_returns_404[asyncio] PASSED [ 67%] tests/test_staticfiles.py::test_staticfiles_access_file_as_dir_returns_404[trio] PASSED [ 67%] tests/test_staticfiles.py::test_staticfiles_unhandled_os_error_returns_500[asyncio] PASSED [ 67%] tests/test_staticfiles.py::test_staticfiles_unhandled_os_error_returns_500[trio] PASSED [ 68%] tests/test_templates.py::test_templates[asyncio] PASSED [ 68%] tests/test_templates.py::test_templates[trio] PASSED [ 68%] tests/test_templates.py::test_template_response_requires_request PASSED [ 68%] tests/test_testclient.py::test_use_testclient_in_endpoint[asyncio] PASSED [ 68%] tests/test_testclient.py::test_use_testclient_in_endpoint[trio] PASSED [ 69%] tests/test_testclient.py::test_use_testclient_as_contextmanager[asyncio] PASSED [ 69%] tests/test_testclient.py::test_use_testclient_as_contextmanager[trio] PASSED [ 69%] tests/test_testclient.py::test_error_on_startup[asyncio] PASSED [ 69%] 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 [ 70%] tests/test_testclient.py::test_testclient_asgi2[asyncio] PASSED [ 70%] tests/test_testclient.py::test_testclient_asgi2[trio] PASSED [ 70%] 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_websockets.py::test_websocket_url[asyncio] PASSED [ 71%] tests/test_websockets.py::test_websocket_url[trio] PASSED [ 72%] tests/test_websockets.py::test_websocket_binary_json[asyncio] PASSED [ 72%] tests/test_websockets.py::test_websocket_binary_json[trio] PASSED [ 72%] tests/test_websockets.py::test_websocket_query_params[asyncio] PASSED [ 72%] tests/test_websockets.py::test_websocket_query_params[trio] PASSED [ 72%] tests/test_websockets.py::test_websocket_headers[asyncio] FAILED [ 73%] tests/test_websockets.py::test_websocket_headers[trio] FAILED [ 73%] tests/test_websockets.py::test_websocket_port[asyncio] PASSED [ 73%] tests/test_websockets.py::test_websocket_port[trio] PASSED [ 73%] tests/test_websockets.py::test_websocket_send_and_receive_text[asyncio] PASSED [ 74%] tests/test_websockets.py::test_websocket_send_and_receive_text[trio] PASSED [ 74%] tests/test_websockets.py::test_websocket_send_and_receive_bytes[asyncio] PASSED [ 74%] tests/test_websockets.py::test_websocket_send_and_receive_bytes[trio] PASSED [ 74%] tests/test_websockets.py::test_websocket_send_and_receive_json[asyncio] PASSED [ 74%] tests/test_websockets.py::test_websocket_send_and_receive_json[trio] PASSED [ 75%] tests/test_websockets.py::test_websocket_iter_text[asyncio] PASSED [ 75%] tests/test_websockets.py::test_websocket_iter_text[trio] PASSED [ 75%] tests/test_websockets.py::test_websocket_iter_bytes[asyncio] PASSED [ 75%] tests/test_websockets.py::test_websocket_iter_bytes[trio] PASSED [ 75%] tests/test_websockets.py::test_websocket_iter_json[asyncio] PASSED [ 76%] tests/test_websockets.py::test_websocket_iter_json[trio] PASSED [ 76%] tests/test_websockets.py::test_websocket_concurrency_pattern[asyncio] PASSED [ 76%] tests/test_websockets.py::test_websocket_concurrency_pattern[trio] PASSED [ 76%] tests/test_websockets.py::test_client_close[asyncio] PASSED [ 77%] tests/test_websockets.py::test_client_close[trio] PASSED [ 77%] tests/test_websockets.py::test_application_close[asyncio] PASSED [ 77%] tests/test_websockets.py::test_application_close[trio] PASSED [ 77%] tests/test_websockets.py::test_rejected_connection[asyncio] PASSED [ 77%] tests/test_websockets.py::test_rejected_connection[trio] PASSED [ 78%] tests/test_websockets.py::test_subprotocol[asyncio] PASSED [ 78%] tests/test_websockets.py::test_subprotocol[trio] PASSED [ 78%] tests/test_websockets.py::test_additional_headers[asyncio] PASSED [ 78%] tests/test_websockets.py::test_additional_headers[trio] PASSED [ 78%] tests/test_websockets.py::test_no_additional_headers[asyncio] PASSED [ 79%] tests/test_websockets.py::test_no_additional_headers[trio] PASSED [ 79%] tests/test_websockets.py::test_websocket_exception[asyncio] PASSED [ 79%] tests/test_websockets.py::test_websocket_exception[trio] PASSED [ 79%] tests/test_websockets.py::test_duplicate_close[asyncio] PASSED [ 80%] tests/test_websockets.py::test_duplicate_close[trio] PASSED [ 80%] tests/test_websockets.py::test_duplicate_disconnect[asyncio] PASSED [ 80%] tests/test_websockets.py::test_duplicate_disconnect[trio] PASSED [ 80%] tests/test_websockets.py::test_websocket_scope_interface PASSED [ 80%] tests/test_websockets.py::test_websocket_close_reason[asyncio] PASSED [ 81%] tests/test_websockets.py::test_websocket_close_reason[trio] PASSED [ 81%] tests/middleware/test_base.py::test_custom_middleware[asyncio] PASSED [ 81%] tests/middleware/test_base.py::test_custom_middleware[trio] PASSED [ 81%] tests/middleware/test_base.py::test_middleware_decorator[asyncio] PASSED [ 81%] tests/middleware/test_base.py::test_middleware_decorator[trio] PASSED [ 82%] tests/middleware/test_base.py::test_state_data_across_multiple_middlewares[asyncio] PASSED [ 82%] tests/middleware/test_base.py::test_state_data_across_multiple_middlewares[trio] PASSED [ 82%] tests/middleware/test_base.py::test_app_middleware_argument[asyncio] PASSED [ 82%] tests/middleware/test_base.py::test_app_middleware_argument[trio] PASSED [ 82%] tests/middleware/test_base.py::test_middleware_repr PASSED [ 83%] tests/middleware/test_base.py::test_fully_evaluated_response[asyncio] PASSED [ 83%] tests/middleware/test_base.py::test_fully_evaluated_response[trio] PASSED [ 83%] tests/middleware/test_cors.py::test_cors_allow_all[asyncio] PASSED [ 83%] tests/middleware/test_cors.py::test_cors_allow_all[trio] PASSED [ 84%] tests/middleware/test_cors.py::test_cors_allow_all_except_credentials[asyncio] PASSED [ 84%] tests/middleware/test_cors.py::test_cors_allow_all_except_credentials[trio] PASSED [ 84%] tests/middleware/test_cors.py::test_cors_allow_specific_origin[asyncio] PASSED [ 84%] tests/middleware/test_cors.py::test_cors_allow_specific_origin[trio] PASSED [ 84%] tests/middleware/test_cors.py::test_cors_disallowed_preflight[asyncio] PASSED [ 85%] tests/middleware/test_cors.py::test_cors_disallowed_preflight[trio] PASSED [ 85%] tests/middleware/test_cors.py::test_preflight_allows_request_origin_if_origins_wildcard_and_credentials_allowed[asyncio] PASSED [ 85%] tests/middleware/test_cors.py::test_preflight_allows_request_origin_if_origins_wildcard_and_credentials_allowed[trio] PASSED [ 85%] tests/middleware/test_cors.py::test_cors_preflight_allow_all_methods[asyncio] PASSED [ 85%] tests/middleware/test_cors.py::test_cors_preflight_allow_all_methods[trio] PASSED [ 86%] tests/middleware/test_cors.py::test_cors_allow_all_methods[asyncio] PASSED [ 86%] tests/middleware/test_cors.py::test_cors_allow_all_methods[trio] PASSED [ 86%] tests/middleware/test_cors.py::test_cors_allow_origin_regex[asyncio] PASSED [ 86%] tests/middleware/test_cors.py::test_cors_allow_origin_regex[trio] PASSED [ 87%] tests/middleware/test_cors.py::test_cors_allow_origin_regex_fullmatch[asyncio] PASSED [ 87%] tests/middleware/test_cors.py::test_cors_allow_origin_regex_fullmatch[trio] PASSED [ 87%] tests/middleware/test_cors.py::test_cors_credentialed_requests_return_specific_origin[asyncio] PASSED [ 87%] tests/middleware/test_cors.py::test_cors_credentialed_requests_return_specific_origin[trio] PASSED [ 87%] tests/middleware/test_cors.py::test_cors_vary_header_defaults_to_origin[asyncio] PASSED [ 88%] tests/middleware/test_cors.py::test_cors_vary_header_defaults_to_origin[trio] PASSED [ 88%] tests/middleware/test_cors.py::test_cors_vary_header_is_not_set_for_non_credentialed_request[asyncio] PASSED [ 88%] tests/middleware/test_cors.py::test_cors_vary_header_is_not_set_for_non_credentialed_request[trio] PASSED [ 88%] tests/middleware/test_cors.py::test_cors_vary_header_is_properly_set_for_credentialed_request[asyncio] PASSED [ 88%] tests/middleware/test_cors.py::test_cors_vary_header_is_properly_set_for_credentialed_request[trio] PASSED [ 89%] tests/middleware/test_cors.py::test_cors_vary_header_is_properly_set_when_allow_origins_is_not_wildcard[asyncio] PASSED [ 89%] tests/middleware/test_cors.py::test_cors_vary_header_is_properly_set_when_allow_origins_is_not_wildcard[trio] PASSED [ 89%] tests/middleware/test_cors.py::test_cors_allowed_origin_does_not_leak_between_credentialed_requests[asyncio] PASSED [ 89%] tests/middleware/test_cors.py::test_cors_allowed_origin_does_not_leak_between_credentialed_requests[trio] PASSED [ 90%] tests/middleware/test_errors.py::test_handler[asyncio] PASSED [ 90%] tests/middleware/test_errors.py::test_handler[trio] PASSED [ 90%] tests/middleware/test_errors.py::test_debug_text[asyncio] PASSED [ 90%] tests/middleware/test_errors.py::test_debug_text[trio] PASSED [ 90%] tests/middleware/test_errors.py::test_debug_html[asyncio] PASSED [ 91%] tests/middleware/test_errors.py::test_debug_html[trio] PASSED [ 91%] tests/middleware/test_errors.py::test_debug_after_response_sent[asyncio] PASSED [ 91%] tests/middleware/test_errors.py::test_debug_after_response_sent[trio] PASSED [ 91%] tests/middleware/test_errors.py::test_debug_not_http[asyncio] PASSED [ 91%] tests/middleware/test_errors.py::test_debug_not_http[trio] PASSED [ 92%] tests/middleware/test_gzip.py::test_gzip_responses[asyncio] PASSED [ 92%] tests/middleware/test_gzip.py::test_gzip_responses[trio] PASSED [ 92%] tests/middleware/test_gzip.py::test_gzip_not_in_accept_encoding[asyncio] PASSED [ 92%] tests/middleware/test_gzip.py::test_gzip_not_in_accept_encoding[trio] PASSED [ 92%] tests/middleware/test_gzip.py::test_gzip_ignored_for_small_responses[asyncio] PASSED [ 93%] tests/middleware/test_gzip.py::test_gzip_ignored_for_small_responses[trio] PASSED [ 93%] tests/middleware/test_gzip.py::test_gzip_streaming_response[asyncio] PASSED [ 93%] tests/middleware/test_gzip.py::test_gzip_streaming_response[trio] PASSED [ 93%] tests/middleware/test_https_redirect.py::test_https_redirect_middleware[asyncio] PASSED [ 94%] tests/middleware/test_https_redirect.py::test_https_redirect_middleware[trio] PASSED [ 94%] tests/middleware/test_session.py::test_session[asyncio] PASSED [ 94%] tests/middleware/test_session.py::test_session[trio] PASSED [ 94%] tests/middleware/test_session.py::test_session_expires[asyncio] PASSED [ 94%] tests/middleware/test_session.py::test_session_expires[trio] PASSED [ 95%] tests/middleware/test_session.py::test_secure_session[asyncio] PASSED [ 95%] tests/middleware/test_session.py::test_secure_session[trio] PASSED [ 95%] tests/middleware/test_session.py::test_session_cookie_subpath[asyncio] PASSED [ 95%] tests/middleware/test_session.py::test_session_cookie_subpath[trio] PASSED [ 95%] tests/middleware/test_session.py::test_invalid_session_cookie[asyncio] PASSED [ 96%] tests/middleware/test_session.py::test_invalid_session_cookie[trio] PASSED [ 96%] tests/middleware/test_session.py::test_session_cookie[asyncio] PASSED [ 96%] tests/middleware/test_session.py::test_session_cookie[trio] PASSED [ 96%] tests/middleware/test_trusted_host.py::test_trusted_host_middleware[asyncio] PASSED [ 97%] tests/middleware/test_trusted_host.py::test_trusted_host_middleware[trio] PASSED [ 97%] tests/middleware/test_trusted_host.py::test_default_allowed_hosts PASSED [ 97%] tests/middleware/test_trusted_host.py::test_www_redirect[asyncio] PASSED [ 97%] tests/middleware/test_trusted_host.py::test_www_redirect[trio] PASSED [ 97%] tests/middleware/test_wsgi.py::test_wsgi_get[asyncio] PASSED [ 98%] tests/middleware/test_wsgi.py::test_wsgi_get[trio] PASSED [ 98%] tests/middleware/test_wsgi.py::test_wsgi_post[asyncio] PASSED [ 98%] tests/middleware/test_wsgi.py::test_wsgi_post[trio] PASSED [ 98%] tests/middleware/test_wsgi.py::test_wsgi_exception[asyncio] PASSED [ 98%] 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%] =================================== FAILURES =================================== ________________________ test_request_headers[asyncio] _________________________ test_client_factory = functools.partial(, backend='asyncio', backend_options={}) def test_request_headers(test_client_factory): async def app(scope, receive, send): request = Request(scope, receive) headers = dict(request.headers) response = JSONResponse({"headers": headers}) await response(scope, receive, send) client = test_client_factory(app) response = client.get("/", headers={"host": "example.org"}) > assert response.json() == { "headers": { "host": "example.org", "user-agent": "testclient", "accept-encoding": "gzip, deflate, br", "accept": "*/*", "connection": "keep-alive", } } E AssertionError: assert {'headers': {'accept': '*/*',\n 'accept-encoding': 'gzip, deflate',\n 'connection': 'keep-alive',\n 'host': 'example.org',\n 'user-agent': 'testclient'}} == {'headers': {'accept': '*/*',\n 'accept-encoding': 'gzip, deflate, br',\n 'connection': 'keep-alive',\n 'host': 'example.org',\n 'user-agent': 'testclient'}} E Differing items: E {'headers': {'accept': '*/*', 'accept-encoding': 'gzip, deflate', 'connection': 'keep-alive', 'host': 'example.org', ...}} != {'headers': {'accept': '*/*', 'accept-encoding': 'gzip, deflate, br', 'connection': 'keep-alive', 'host': 'example.org', ...}} E Full diff: E { E 'headers': {'accept': '*/*', E - 'accept-encoding': 'gzip, deflate, br', E ? ---- E + 'accept-encoding': 'gzip, deflate', E 'connection': 'keep-alive', E 'host': 'example.org', E 'user-agent': 'testclient'}, E } app = .app at 0x7f264adc9d30> client = response = test_client_factory = functools.partial(, backend='asyncio', backend_options={}) tests/test_requests.py:44: AssertionError __________________________ test_request_headers[trio] __________________________ test_client_factory = functools.partial(, backend='trio', backend_options={}) def test_request_headers(test_client_factory): async def app(scope, receive, send): request = Request(scope, receive) headers = dict(request.headers) response = JSONResponse({"headers": headers}) await response(scope, receive, send) client = test_client_factory(app) response = client.get("/", headers={"host": "example.org"}) > assert response.json() == { "headers": { "host": "example.org", "user-agent": "testclient", "accept-encoding": "gzip, deflate, br", "accept": "*/*", "connection": "keep-alive", } } E AssertionError: assert {'headers': {'accept': '*/*',\n 'accept-encoding': 'gzip, deflate',\n 'connection': 'keep-alive',\n 'host': 'example.org',\n 'user-agent': 'testclient'}} == {'headers': {'accept': '*/*',\n 'accept-encoding': 'gzip, deflate, br',\n 'connection': 'keep-alive',\n 'host': 'example.org',\n 'user-agent': 'testclient'}} E Differing items: E {'headers': {'accept': '*/*', 'accept-encoding': 'gzip, deflate', 'connection': 'keep-alive', 'host': 'example.org', ...}} != {'headers': {'accept': '*/*', 'accept-encoding': 'gzip, deflate, br', 'connection': 'keep-alive', 'host': 'example.org', ...}} E Full diff: E { E 'headers': {'accept': '*/*', E - 'accept-encoding': 'gzip, deflate, br', E ? ---- E + 'accept-encoding': 'gzip, deflate', E 'connection': 'keep-alive', E 'host': 'example.org', E 'user-agent': 'testclient'}, E } app = .app at 0x7f26494ade50> client = response = test_client_factory = functools.partial(, backend='trio', backend_options={}) tests/test_requests.py:44: AssertionError ____________________________ test_schema_generation ____________________________ def test_schema_generation(): > schema = schemas.get_schema(routes=app.routes) tests/test_schemas.py:112: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ starlette/schemas.py:125: in get_schema parsed = self.parse_docstring(endpoint.func) endpoint = EndpointInfo(path='/subapp/subapp-endpoint', http_method='get', func=) endpoints_info = [EndpointInfo(path='/subapp/subapp-endpoint', http_method='get', func=), EndpointInfo(path='/users', http_method='get', func=), EndpointInfo(path='/users', http_method='post', func=), EndpointInfo(path='/orgs', http_method='get', func=), EndpointInfo(path='/orgs', http_method='post', func=), EndpointInfo(path='/regular-docstring-and-schema', http_method='get', func=), EndpointInfo(path='/regular-docstring', http_method='get', func=), EndpointInfo(path='/no-docstring', http_method='get', func=)] routes = [, , , , , , , , ] schema = {'info': {'title': 'Example API', 'version': '1.0'}, 'openapi': '3.0.0', 'paths': {}} self = _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = func_or_method = def parse_docstring(self, func_or_method: typing.Callable) -> dict: """ Given a function, parse the docstring as YAML and return a dictionary of info. """ docstring = func_or_method.__doc__ if not docstring: return {} > assert yaml is not None, "`pyyaml` must be installed to use parse_docstring." E AssertionError: `pyyaml` must be installed to use parse_docstring. docstring = ('\n' ' responses:\n' ' 200:\n' ' description: This endpoint is part of a subapp.\n' ' ') func_or_method = self = starlette/schemas.py:92: AssertionError ________________________ test_schema_endpoint[asyncio] _________________________ test_client_factory = functools.partial(, backend='asyncio', backend_options={}) def test_schema_endpoint(test_client_factory): client = test_client_factory(app) > response = client.get("/schema") client = test_client_factory = functools.partial(, backend='asyncio', backend_options={}) tests/test_schemas.py:217: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.8/site-packages/requests/sessions.py:542: in get return self.request('GET', url, **kwargs) kwargs = {'allow_redirects': True} self = url = '/schema' starlette/testclient.py:474: in request return super().request( __class__ = allow_redirects = True auth = None cert = None cookies = None data = None files = None headers = None hooks = None json = None method = 'GET' params = None proxies = None self = stream = None timeout = None url = 'http://testserver/schema' verify = None /usr/lib/python3.8/site-packages/requests/sessions.py:529: in request resp = self.send(prep, **send_kwargs) allow_redirects = True auth = None cert = None cookies = None data = None files = None headers = None hooks = None json = None method = 'GET' params = None prep = proxies = {} req = self = send_kwargs = {'allow_redirects': True, 'cert': None, 'proxies': OrderedDict(), 'stream': False, 'timeout': None, 'verify': True} settings = {'cert': None, 'proxies': OrderedDict(), 'stream': False, 'verify': True} stream = None timeout = None url = 'http://testserver/schema' verify = None /usr/lib/python3.8/site-packages/requests/sessions.py:645: in send r = adapter.send(request, **kwargs) adapter = allow_redirects = True hooks = {'response': []} kwargs = {'cert': None, 'proxies': OrderedDict(), 'stream': False, 'timeout': None, 'verify': True} request = self = start = 1642973477.7734153 stream = False starlette/testclient.py:268: in send raise exc args = () context = None default_port = 80 fragment = '' headers = [(b'host', b'testserver'), (b'user-agent', b'testclient'), (b'accept-encoding', b'gzip, deflate'), (b'accept', b'*/*'), (b'connection', b'keep-alive')] host = 'testserver' kwargs = {'cert': None, 'proxies': OrderedDict(), 'stream': False, 'timeout': None, 'verify': True} netloc = 'testserver' path = '/schema' port = 80 portal = query = '' raw_kwargs = {'body': <_io.BytesIO object at 0x7f26494333b0>, 'headers': [('content-length', '21'), ('content-type', 'text/plain; charset=utf-8')], 'original_response': , 'preload_content': False, 'reason': 'Internal Server Error', 'status': 500, 'version': 11} receive = .receive at 0x7f26493ab940> request = request_complete = False response_complete = response_started = True scheme = 'http' scope = {'app': , 'client': ['testclient', 50000], 'endpoint': , 'extensions': {'http.response.template': {}}, 'headers': [(b'host', b'testserver'), (b'user-agent', b'testclient'), (b'accept-encoding', b'gzip, deflate'), (b'accept', b'*/*'), (b'connection', b'keep-alive')], 'http_version': '1.1', 'method': 'GET', 'path': '/schema', 'path_params': {}, 'query_string': b'', 'root_path': '', 'router': , 'scheme': 'http', 'server': ['testserver', 80], 'type': 'http'} self = send = .send at 0x7f26493ab430> template = None starlette/testclient.py:265: in send portal.call(self.app, scope, receive, send) args = () context = None default_port = 80 fragment = '' headers = [(b'host', b'testserver'), (b'user-agent', b'testclient'), (b'accept-encoding', b'gzip, deflate'), (b'accept', b'*/*'), (b'connection', b'keep-alive')] host = 'testserver' kwargs = {'cert': None, 'proxies': OrderedDict(), 'stream': False, 'timeout': None, 'verify': True} netloc = 'testserver' path = '/schema' port = 80 portal = query = '' raw_kwargs = {'body': <_io.BytesIO object at 0x7f26494333b0>, 'headers': [('content-length', '21'), ('content-type', 'text/plain; charset=utf-8')], 'original_response': , 'preload_content': False, 'reason': 'Internal Server Error', 'status': 500, 'version': 11} receive = .receive at 0x7f26493ab940> request = request_complete = False response_complete = response_started = True scheme = 'http' scope = {'app': , 'client': ['testclient', 50000], 'endpoint': , 'extensions': {'http.response.template': {}}, 'headers': [(b'host', b'testserver'), (b'user-agent', b'testclient'), (b'accept-encoding', b'gzip, deflate'), (b'accept', b'*/*'), (b'connection', b'keep-alive')], 'http_version': '1.1', 'method': 'GET', 'path': '/schema', 'path_params': {}, 'query_string': b'', 'root_path': '', 'router': , 'scheme': 'http', 'server': ['testserver', 80], 'type': 'http'} self = send = .send at 0x7f26493ab430> template = None /usr/lib/python3.8/site-packages/anyio/from_thread.py:240: in call return cast(T_Retval, self.start_task_soon(func, *args).result()) args = ({'app': , 'client': ['testclient', 50000], 'endpoint': , 'extensions': {'http.response.template': {}}, 'headers': [(b'host', b'testserver'), (b'user-agent', b'testclient'), (b'accept-encoding', b'gzip, deflate'), (b'accept', b'*/*'), (b'connection', b'keep-alive')], 'http_version': '1.1', 'method': 'GET', 'path': '/schema', 'path_params': {}, 'query_string': b'', 'root_path': '', 'router': , 'scheme': 'http', 'server': ['testserver', 80], 'type': 'http'}, .receive at 0x7f26493ab940>, .send at 0x7f26493ab430>) func = self = /usr/lib/python3.8/concurrent/futures/_base.py:444: in result return self.__get_result() self = None timeout = None /usr/lib/python3.8/concurrent/futures/_base.py:389: in __get_result raise self._exception self = None /usr/lib/python3.8/site-packages/anyio/from_thread.py:187: in _call_func retval = await retval args = ({'app': , 'client': ['testclient', 50000], 'endpoint': , 'extensions': {'http.response.template': {}}, 'headers': [(b'host', b'testserver'), (b'user-agent', b'testclient'), (b'accept-encoding', b'gzip, deflate'), (b'accept', b'*/*'), (b'connection', b'keep-alive')], 'http_version': '1.1', 'method': 'GET', 'path': '/schema', 'path_params': {}, 'query_string': b'', 'root_path': '', 'router': , 'scheme': 'http', 'server': ['testserver', 80], 'type': 'http'}, .receive at 0x7f26493ab940>, .send at 0x7f26493ab430>) callback = .callback at 0x7f264adc9af0> func = future = kwargs = {} retval = scope = None self = starlette/applications.py:119: in __call__ await self.middleware_stack(scope, receive, send) receive = .receive at 0x7f26493ab940> scope = {'app': , 'client': ['testclient', 50000], 'endpoint': , 'extensions': {'http.response.template': {}}, 'headers': [(b'host', b'testserver'), (b'user-agent', b'testclient'), (b'accept-encoding', b'gzip, deflate'), (b'accept', b'*/*'), (b'connection', b'keep-alive')], 'http_version': '1.1', 'method': 'GET', 'path': '/schema', 'path_params': {}, 'query_string': b'', 'root_path': '', 'router': , 'scheme': 'http', 'server': ['testserver', 80], 'type': 'http'} self = send = .send at 0x7f26493ab430> starlette/middleware/errors.py:181: in __call__ raise exc _send = ._send at 0x7f2649425160> receive = .receive at 0x7f26493ab940> request = response = response_started = False scope = {'app': , 'client': ['testclient', 50000], 'endpoint': , 'extensions': {'http.response.template': {}}, 'headers': [(b'host', b'testserver'), (b'user-agent', b'testclient'), (b'accept-encoding', b'gzip, deflate'), (b'accept', b'*/*'), (b'connection', b'keep-alive')], 'http_version': '1.1', 'method': 'GET', 'path': '/schema', 'path_params': {}, 'query_string': b'', 'root_path': '', 'router': , 'scheme': 'http', 'server': ['testserver', 80], 'type': 'http'} self = send = .send at 0x7f26493ab430> starlette/middleware/errors.py:159: in __call__ await self.app(scope, receive, _send) _send = ._send at 0x7f2649425160> receive = .receive at 0x7f26493ab940> request = response = response_started = False scope = {'app': , 'client': ['testclient', 50000], 'endpoint': , 'extensions': {'http.response.template': {}}, 'headers': [(b'host', b'testserver'), (b'user-agent', b'testclient'), (b'accept-encoding', b'gzip, deflate'), (b'accept', b'*/*'), (b'connection', b'keep-alive')], 'http_version': '1.1', 'method': 'GET', 'path': '/schema', 'path_params': {}, 'query_string': b'', 'root_path': '', 'router': , 'scheme': 'http', 'server': ['testserver', 80], 'type': 'http'} self = send = .send at 0x7f26493ab430> starlette/exceptions.py:87: in __call__ raise exc handler = None receive = .receive at 0x7f26493ab940> response_started = False scope = {'app': , 'client': ['testclient', 50000], 'endpoint': , 'extensions': {'http.response.template': {}}, 'headers': [(b'host', b'testserver'), (b'user-agent', b'testclient'), (b'accept-encoding', b'gzip, deflate'), (b'accept', b'*/*'), (b'connection', b'keep-alive')], 'http_version': '1.1', 'method': 'GET', 'path': '/schema', 'path_params': {}, 'query_string': b'', 'root_path': '', 'router': , 'scheme': 'http', 'server': ['testserver', 80], 'type': 'http'} self = send = ._send at 0x7f2649425160> sender = .sender at 0x7f26494251f0> starlette/exceptions.py:76: in __call__ await self.app(scope, receive, sender) handler = None receive = .receive at 0x7f26493ab940> response_started = False scope = {'app': , 'client': ['testclient', 50000], 'endpoint': , 'extensions': {'http.response.template': {}}, 'headers': [(b'host', b'testserver'), (b'user-agent', b'testclient'), (b'accept-encoding', b'gzip, deflate'), (b'accept', b'*/*'), (b'connection', b'keep-alive')], 'http_version': '1.1', 'method': 'GET', 'path': '/schema', 'path_params': {}, 'query_string': b'', 'root_path': '', 'router': , 'scheme': 'http', 'server': ['testserver', 80], 'type': 'http'} self = send = ._send at 0x7f2649425160> sender = .sender at 0x7f26494251f0> starlette/routing.py:659: in __call__ await route.handle(scope, receive, send) child_scope = {'endpoint': , 'path_params': {}} match = partial = None receive = .receive at 0x7f26493ab940> route = scope = {'app': , 'client': ['testclient', 50000], 'endpoint': , 'extensions': {'http.response.template': {}}, 'headers': [(b'host', b'testserver'), (b'user-agent', b'testclient'), (b'accept-encoding', b'gzip, deflate'), (b'accept', b'*/*'), (b'connection', b'keep-alive')], 'http_version': '1.1', 'method': 'GET', 'path': '/schema', 'path_params': {}, 'query_string': b'', 'root_path': '', 'router': , 'scheme': 'http', 'server': ['testserver', 80], 'type': 'http'} self = send = .sender at 0x7f26494251f0> starlette/routing.py:259: in handle await self.app(scope, receive, send) receive = .receive at 0x7f26493ab940> scope = {'app': , 'client': ['testclient', 50000], 'endpoint': , 'extensions': {'http.response.template': {}}, 'headers': [(b'host', b'testserver'), (b'user-agent', b'testclient'), (b'accept-encoding', b'gzip, deflate'), (b'accept', b'*/*'), (b'connection', b'keep-alive')], 'http_version': '1.1', 'method': 'GET', 'path': '/schema', 'path_params': {}, 'query_string': b'', 'root_path': '', 'router': , 'scheme': 'http', 'server': ['testserver', 80], 'type': 'http'} self = send = .sender at 0x7f26494251f0> starlette/routing.py:63: in app response = await run_in_threadpool(func, request) func = is_coroutine = False receive = .receive at 0x7f26493ab940> request = scope = {'app': , 'client': ['testclient', 50000], 'endpoint': , 'extensions': {'http.response.template': {}}, 'headers': [(b'host', b'testserver'), (b'user-agent', b'testclient'), (b'accept-encoding', b'gzip, deflate'), (b'accept', b'*/*'), (b'connection', b'keep-alive')], 'http_version': '1.1', 'method': 'GET', 'path': '/schema', 'path_params': {}, 'query_string': b'', 'root_path': '', 'router': , 'scheme': 'http', 'server': ['testserver', 80], 'type': 'http'} send = .sender at 0x7f26494251f0> starlette/concurrency.py:45: in run_in_threadpool return await anyio.to_thread.run_sync(func, *args) args = (functools.partial(, ),) child = functools.partial(, ) context = func = kwargs = {} /usr/lib/python3.8/site-packages/anyio/to_thread.py:28: in run_sync return await get_asynclib().run_sync_in_worker_thread(func, *args, cancellable=cancellable, args = (functools.partial(, ),) cancellable = False func = limiter = None /usr/lib/python3.8/site-packages/anyio/_backends/_asyncio.py:818: in run_sync_in_worker_thread return await future args = (functools.partial(, ),) cancellable = False context = func = future = idle_workers = deque([]) limiter = None root_task = .run_portal() done, defined at /usr/lib/python3.8/site-packages/anyio/_backends/_asyncio.py:219> result=None> worker = workers = set() /usr/lib/python3.8/site-packages/anyio/_backends/_asyncio.py:754: in run result = context.run(func, *args) args = (functools.partial(, ),) context = exception = AssertionError('`pyyaml` must be installed to use parse_docstring.') func = future = item = None result = None self = tests/test_schemas.py:108: in schema return schemas.OpenAPIResponse(request=request) request = starlette/schemas.py:110: in OpenAPIResponse schema = self.get_schema(routes=routes) request = routes = [, , , , , , , , ] self = starlette/schemas.py:125: in get_schema parsed = self.parse_docstring(endpoint.func) endpoint = EndpointInfo(path='/subapp/subapp-endpoint', http_method='get', func=) endpoints_info = [EndpointInfo(path='/subapp/subapp-endpoint', http_method='get', func=), EndpointInfo(path='/users', http_method='get', func=), EndpointInfo(path='/users', http_method='post', func=), EndpointInfo(path='/orgs', http_method='get', func=), EndpointInfo(path='/orgs', http_method='post', func=), EndpointInfo(path='/regular-docstring-and-schema', http_method='get', func=), EndpointInfo(path='/regular-docstring', http_method='get', func=), EndpointInfo(path='/no-docstring', http_method='get', func=)] routes = [, , , , , , , , ] schema = {'info': {'title': 'Example API', 'version': '1.0'}, 'openapi': '3.0.0', 'paths': {}} self = _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = func_or_method = def parse_docstring(self, func_or_method: typing.Callable) -> dict: """ Given a function, parse the docstring as YAML and return a dictionary of info. """ docstring = func_or_method.__doc__ if not docstring: return {} > assert yaml is not None, "`pyyaml` must be installed to use parse_docstring." E AssertionError: `pyyaml` must be installed to use parse_docstring. docstring = ('\n' ' responses:\n' ' 200:\n' ' description: This endpoint is part of a subapp.\n' ' ') func_or_method = self = starlette/schemas.py:92: AssertionError __________________________ test_schema_endpoint[trio] __________________________ test_client_factory = functools.partial(, backend='trio', backend_options={}) def test_schema_endpoint(test_client_factory): client = test_client_factory(app) > response = client.get("/schema") client = test_client_factory = functools.partial(, backend='trio', backend_options={}) tests/test_schemas.py:217: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.8/site-packages/requests/sessions.py:542: in get return self.request('GET', url, **kwargs) kwargs = {'allow_redirects': True} self = url = '/schema' starlette/testclient.py:474: in request return super().request( __class__ = allow_redirects = True auth = None cert = None cookies = None data = None files = None headers = None hooks = None json = None method = 'GET' params = None proxies = None self = stream = None timeout = None url = 'http://testserver/schema' verify = None /usr/lib/python3.8/site-packages/requests/sessions.py:529: in request resp = self.send(prep, **send_kwargs) allow_redirects = True auth = None cert = None cookies = None data = None files = None headers = None hooks = None json = None method = 'GET' params = None prep = proxies = {} req = self = send_kwargs = {'allow_redirects': True, 'cert': None, 'proxies': OrderedDict(), 'stream': False, 'timeout': None, 'verify': True} settings = {'cert': None, 'proxies': OrderedDict(), 'stream': False, 'verify': True} stream = None timeout = None url = 'http://testserver/schema' verify = None /usr/lib/python3.8/site-packages/requests/sessions.py:645: in send r = adapter.send(request, **kwargs) adapter = allow_redirects = True hooks = {'response': []} kwargs = {'cert': None, 'proxies': OrderedDict(), 'stream': False, 'timeout': None, 'verify': True} request = self = start = 1642973478.0100026 stream = False starlette/testclient.py:268: in send raise exc args = () context = None default_port = 80 fragment = '' headers = [(b'host', b'testserver'), (b'user-agent', b'testclient'), (b'accept-encoding', b'gzip, deflate'), (b'accept', b'*/*'), (b'connection', b'keep-alive')] host = 'testserver' kwargs = {'cert': None, 'proxies': OrderedDict(), 'stream': False, 'timeout': None, 'verify': True} netloc = 'testserver' path = '/schema' port = 80 portal = query = '' raw_kwargs = {'body': <_io.BytesIO object at 0x7f26491243b0>, 'headers': [('content-length', '21'), ('content-type', 'text/plain; charset=utf-8')], 'original_response': , 'preload_content': False, 'reason': 'Internal Server Error', 'status': 500, 'version': 11} receive = .receive at 0x7f26491b1e50> request = request_complete = False response_complete = response_started = True scheme = 'http' scope = {'app': , 'client': ['testclient', 50000], 'endpoint': , 'extensions': {'http.response.template': {}}, 'headers': [(b'host', b'testserver'), (b'user-agent', b'testclient'), (b'accept-encoding', b'gzip, deflate'), (b'accept', b'*/*'), (b'connection', b'keep-alive')], 'http_version': '1.1', 'method': 'GET', 'path': '/schema', 'path_params': {}, 'query_string': b'', 'root_path': '', 'router': , 'scheme': 'http', 'server': ['testserver', 80], 'type': 'http'} self = send = .send at 0x7f264929adc0> template = None starlette/testclient.py:265: in send portal.call(self.app, scope, receive, send) args = () context = None default_port = 80 fragment = '' headers = [(b'host', b'testserver'), (b'user-agent', b'testclient'), (b'accept-encoding', b'gzip, deflate'), (b'accept', b'*/*'), (b'connection', b'keep-alive')] host = 'testserver' kwargs = {'cert': None, 'proxies': OrderedDict(), 'stream': False, 'timeout': None, 'verify': True} netloc = 'testserver' path = '/schema' port = 80 portal = query = '' raw_kwargs = {'body': <_io.BytesIO object at 0x7f26491243b0>, 'headers': [('content-length', '21'), ('content-type', 'text/plain; charset=utf-8')], 'original_response': , 'preload_content': False, 'reason': 'Internal Server Error', 'status': 500, 'version': 11} receive = .receive at 0x7f26491b1e50> request = request_complete = False response_complete = response_started = True scheme = 'http' scope = {'app': , 'client': ['testclient', 50000], 'endpoint': , 'extensions': {'http.response.template': {}}, 'headers': [(b'host', b'testserver'), (b'user-agent', b'testclient'), (b'accept-encoding', b'gzip, deflate'), (b'accept', b'*/*'), (b'connection', b'keep-alive')], 'http_version': '1.1', 'method': 'GET', 'path': '/schema', 'path_params': {}, 'query_string': b'', 'root_path': '', 'router': , 'scheme': 'http', 'server': ['testserver', 80], 'type': 'http'} self = send = .send at 0x7f264929adc0> template = None /usr/lib/python3.8/site-packages/anyio/from_thread.py:240: in call return cast(T_Retval, self.start_task_soon(func, *args).result()) args = ({'app': , 'client': ['testclient', 50000], 'endpoint': , 'extensions': {'http.response.template': {}}, 'headers': [(b'host', b'testserver'), (b'user-agent', b'testclient'), (b'accept-encoding', b'gzip, deflate'), (b'accept', b'*/*'), (b'connection', b'keep-alive')], 'http_version': '1.1', 'method': 'GET', 'path': '/schema', 'path_params': {}, 'query_string': b'', 'root_path': '', 'router': , 'scheme': 'http', 'server': ['testserver', 80], 'type': 'http'}, .receive at 0x7f26491b1e50>, .send at 0x7f264929adc0>) func = self = /usr/lib/python3.8/concurrent/futures/_base.py:444: in result return self.__get_result() self = None timeout = None /usr/lib/python3.8/concurrent/futures/_base.py:389: in __get_result raise self._exception self = None /usr/lib/python3.8/site-packages/anyio/from_thread.py:187: in _call_func retval = await retval args = ({'app': , 'client': ['testclient', 50000], 'endpoint': , 'extensions': {'http.response.template': {}}, 'headers': [(b'host', b'testserver'), (b'user-agent', b'testclient'), (b'accept-encoding', b'gzip, deflate'), (b'accept', b'*/*'), (b'connection', b'keep-alive')], 'http_version': '1.1', 'method': 'GET', 'path': '/schema', 'path_params': {}, 'query_string': b'', 'root_path': '', 'router': , 'scheme': 'http', 'server': ['testserver', 80], 'type': 'http'}, .receive at 0x7f26491b1e50>, .send at 0x7f264929adc0>) callback = .callback at 0x7f26494253a0> func = future = kwargs = {} retval = scope = None self = starlette/applications.py:119: in __call__ await self.middleware_stack(scope, receive, send) receive = .receive at 0x7f26491b1e50> scope = {'app': , 'client': ['testclient', 50000], 'endpoint': , 'extensions': {'http.response.template': {}}, 'headers': [(b'host', b'testserver'), (b'user-agent', b'testclient'), (b'accept-encoding', b'gzip, deflate'), (b'accept', b'*/*'), (b'connection', b'keep-alive')], 'http_version': '1.1', 'method': 'GET', 'path': '/schema', 'path_params': {}, 'query_string': b'', 'root_path': '', 'router': , 'scheme': 'http', 'server': ['testserver', 80], 'type': 'http'} self = send = .send at 0x7f264929adc0> starlette/middleware/errors.py:181: in __call__ raise exc _send = ._send at 0x7f2649145ca0> receive = .receive at 0x7f26491b1e50> request = response = response_started = False scope = {'app': , 'client': ['testclient', 50000], 'endpoint': , 'extensions': {'http.response.template': {}}, 'headers': [(b'host', b'testserver'), (b'user-agent', b'testclient'), (b'accept-encoding', b'gzip, deflate'), (b'accept', b'*/*'), (b'connection', b'keep-alive')], 'http_version': '1.1', 'method': 'GET', 'path': '/schema', 'path_params': {}, 'query_string': b'', 'root_path': '', 'router': , 'scheme': 'http', 'server': ['testserver', 80], 'type': 'http'} self = send = .send at 0x7f264929adc0> starlette/middleware/errors.py:159: in __call__ await self.app(scope, receive, _send) _send = ._send at 0x7f2649145ca0> receive = .receive at 0x7f26491b1e50> request = response = response_started = False scope = {'app': , 'client': ['testclient', 50000], 'endpoint': , 'extensions': {'http.response.template': {}}, 'headers': [(b'host', b'testserver'), (b'user-agent', b'testclient'), (b'accept-encoding', b'gzip, deflate'), (b'accept', b'*/*'), (b'connection', b'keep-alive')], 'http_version': '1.1', 'method': 'GET', 'path': '/schema', 'path_params': {}, 'query_string': b'', 'root_path': '', 'router': , 'scheme': 'http', 'server': ['testserver', 80], 'type': 'http'} self = send = .send at 0x7f264929adc0> starlette/exceptions.py:87: in __call__ raise exc handler = None receive = .receive at 0x7f26491b1e50> response_started = False scope = {'app': , 'client': ['testclient', 50000], 'endpoint': , 'extensions': {'http.response.template': {}}, 'headers': [(b'host', b'testserver'), (b'user-agent', b'testclient'), (b'accept-encoding', b'gzip, deflate'), (b'accept', b'*/*'), (b'connection', b'keep-alive')], 'http_version': '1.1', 'method': 'GET', 'path': '/schema', 'path_params': {}, 'query_string': b'', 'root_path': '', 'router': , 'scheme': 'http', 'server': ['testserver', 80], 'type': 'http'} self = send = ._send at 0x7f2649145ca0> sender = .sender at 0x7f26491455e0> starlette/exceptions.py:76: in __call__ await self.app(scope, receive, sender) handler = None receive = .receive at 0x7f26491b1e50> response_started = False scope = {'app': , 'client': ['testclient', 50000], 'endpoint': , 'extensions': {'http.response.template': {}}, 'headers': [(b'host', b'testserver'), (b'user-agent', b'testclient'), (b'accept-encoding', b'gzip, deflate'), (b'accept', b'*/*'), (b'connection', b'keep-alive')], 'http_version': '1.1', 'method': 'GET', 'path': '/schema', 'path_params': {}, 'query_string': b'', 'root_path': '', 'router': , 'scheme': 'http', 'server': ['testserver', 80], 'type': 'http'} self = send = ._send at 0x7f2649145ca0> sender = .sender at 0x7f26491455e0> starlette/routing.py:659: in __call__ await route.handle(scope, receive, send) child_scope = {'endpoint': , 'path_params': {}} match = partial = None receive = .receive at 0x7f26491b1e50> route = scope = {'app': , 'client': ['testclient', 50000], 'endpoint': , 'extensions': {'http.response.template': {}}, 'headers': [(b'host', b'testserver'), (b'user-agent', b'testclient'), (b'accept-encoding', b'gzip, deflate'), (b'accept', b'*/*'), (b'connection', b'keep-alive')], 'http_version': '1.1', 'method': 'GET', 'path': '/schema', 'path_params': {}, 'query_string': b'', 'root_path': '', 'router': , 'scheme': 'http', 'server': ['testserver', 80], 'type': 'http'} self = send = .sender at 0x7f26491455e0> starlette/routing.py:259: in handle await self.app(scope, receive, send) receive = .receive at 0x7f26491b1e50> scope = {'app': , 'client': ['testclient', 50000], 'endpoint': , 'extensions': {'http.response.template': {}}, 'headers': [(b'host', b'testserver'), (b'user-agent', b'testclient'), (b'accept-encoding', b'gzip, deflate'), (b'accept', b'*/*'), (b'connection', b'keep-alive')], 'http_version': '1.1', 'method': 'GET', 'path': '/schema', 'path_params': {}, 'query_string': b'', 'root_path': '', 'router': , 'scheme': 'http', 'server': ['testserver', 80], 'type': 'http'} self = send = .sender at 0x7f26491455e0> starlette/routing.py:63: in app response = await run_in_threadpool(func, request) func = is_coroutine = False receive = .receive at 0x7f26491b1e50> request = scope = {'app': , 'client': ['testclient', 50000], 'endpoint': , 'extensions': {'http.response.template': {}}, 'headers': [(b'host', b'testserver'), (b'user-agent', b'testclient'), (b'accept-encoding', b'gzip, deflate'), (b'accept', b'*/*'), (b'connection', b'keep-alive')], 'http_version': '1.1', 'method': 'GET', 'path': '/schema', 'path_params': {}, 'query_string': b'', 'root_path': '', 'router': , 'scheme': 'http', 'server': ['testserver', 80], 'type': 'http'} send = .sender at 0x7f26491455e0> starlette/concurrency.py:45: in run_in_threadpool return await anyio.to_thread.run_sync(func, *args) args = (functools.partial(, ),) child = functools.partial(, ) context = func = kwargs = {} /usr/lib/python3.8/site-packages/anyio/to_thread.py:28: in run_sync return await get_asynclib().run_sync_in_worker_thread(func, *args, cancellable=cancellable, args = (functools.partial(, ),) cancellable = False func = limiter = None /usr/lib/python3.8/site-packages/anyio/_backends/_trio.py:180: in run_sync_in_worker_thread return await run_sync(context.run, wrapper, cancellable=cancellable, limiter=limiter) args = (functools.partial(, ),) cancellable = False context = func = limiter = None wrapper = .wrapper at 0x7f2649145940> /usr/lib/python3.8/site-packages/trio/_threads.py:207: in to_thread_run_sync return await trio.lowlevel.wait_task_rescheduled(abort) abort = .abort at 0x7f2649145dc0> args = (.wrapper at 0x7f2649145940>,) cancellable = False current_trio_token = TrioToken(_reentry_queue=EntryQueue(queue=deque([]), idempotent_queue={}, wakeup=, done=True, lock=)) deliver_worker_fn_result = .deliver_worker_fn_result at 0x7f2649145a60> limiter = name = 'trio.to_thread.run_sync-98' placeholder = ThreadPlaceholder(name='trio.to_thread.run_sync-98') report_back_in_trio_thread_fn = .report_back_in_trio_thread_fn at 0x7f2649145b80> sync_fn = task_register = [] worker_fn = .worker_fn at 0x7f2649145820> /usr/lib/python3.8/site-packages/trio/_core/_traps.py:166: in wait_task_rescheduled return (await _async_yield(WaitTaskRescheduled(abort_func))).unwrap() abort_func = .abort at 0x7f2649145dc0> /usr/lib/python3.8/site-packages/outcome/_impl.py:138: in unwrap raise captured_error /usr/lib/python3.8/site-packages/trio/_threads.py:157: in do_release_then_return_result return result.unwrap() limiter = placeholder = ThreadPlaceholder(name='trio.to_thread.run_sync-98') result = Error(AssertionError('`pyyaml` must be installed to use parse_docstring.')) /usr/lib/python3.8/site-packages/outcome/_impl.py:138: in unwrap raise captured_error /usr/lib/python3.8/site-packages/trio/_threads.py:170: in worker_fn ret = sync_fn(*args) args = (.wrapper at 0x7f2649145940>,) current_trio_token = TrioToken(_reentry_queue=EntryQueue(queue=deque([]), idempotent_queue={}, wakeup=, done=True, lock=)) sync_fn = /usr/lib/python3.8/site-packages/anyio/_backends/_trio.py:175: in wrapper return func(*args) args = (functools.partial(, ),) func = tests/test_schemas.py:108: in schema return schemas.OpenAPIResponse(request=request) request = starlette/schemas.py:110: in OpenAPIResponse schema = self.get_schema(routes=routes) request = routes = [, , , , , , , , ] self = starlette/schemas.py:125: in get_schema parsed = self.parse_docstring(endpoint.func) endpoint = EndpointInfo(path='/subapp/subapp-endpoint', http_method='get', func=) endpoints_info = [EndpointInfo(path='/subapp/subapp-endpoint', http_method='get', func=), EndpointInfo(path='/users', http_method='get', func=), EndpointInfo(path='/users', http_method='post', func=), EndpointInfo(path='/orgs', http_method='get', func=), EndpointInfo(path='/orgs', http_method='post', func=), EndpointInfo(path='/regular-docstring-and-schema', http_method='get', func=), EndpointInfo(path='/regular-docstring', http_method='get', func=), EndpointInfo(path='/no-docstring', http_method='get', func=)] routes = [, , , , , , , , ] schema = {'info': {'title': 'Example API', 'version': '1.0'}, 'openapi': '3.0.0', 'paths': {}} self = _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = func_or_method = def parse_docstring(self, func_or_method: typing.Callable) -> dict: """ Given a function, parse the docstring as YAML and return a dictionary of info. """ docstring = func_or_method.__doc__ if not docstring: return {} > assert yaml is not None, "`pyyaml` must be installed to use parse_docstring." E AssertionError: `pyyaml` must be installed to use parse_docstring. docstring = ('\n' ' responses:\n' ' 200:\n' ' description: This endpoint is part of a subapp.\n' ' ') func_or_method = self = starlette/schemas.py:92: AssertionError _______________________ test_websocket_headers[asyncio] ________________________ test_client_factory = functools.partial(, backend='asyncio', backend_options={}) def test_websocket_headers(test_client_factory): def app(scope): async def asgi(receive, send): websocket = WebSocket(scope, receive=receive, send=send) headers = dict(websocket.headers) await websocket.accept() await websocket.send_json({"headers": headers}) await websocket.close() return asgi client = test_client_factory(app) with client.websocket_connect("/") as websocket: expected_headers = { "accept": "*/*", "accept-encoding": "gzip, deflate, br", "connection": "upgrade", "host": "testserver", "user-agent": "testclient", "sec-websocket-key": "testserver==", "sec-websocket-version": "13", } data = websocket.receive_json() > assert data == {"headers": expected_headers} E AssertionError: assert {'headers': {'accept': '*/*',\n 'accept-encoding': 'gzip, deflate',\n 'connection': 'upgrade',\n 'host': 'testserver',\n 'sec-websocket-key': 'testserver==',\n 'sec-websocket-version': '13',\n 'user-agent': 'testclient'}} == {'headers': {'accept': '*/*',\n 'accept-encoding': 'gzip, deflate, br',\n 'connection': 'upgrade',\n 'host': 'testserver',\n 'sec-websocket-key': 'testserver==',\n 'sec-websocket-version': '13',\n 'user-agent': 'testclient'}} E Differing items: E {'headers': {'accept': '*/*', 'accept-encoding': 'gzip, deflate', 'connection': 'upgrade', 'host': 'testserver', ...}} != {'headers': {'accept': '*/*', 'accept-encoding': 'gzip, deflate, br', 'connection': 'upgrade', 'host': 'testserver', ...}} E Full diff: E { E 'headers': {'accept': '*/*', E - 'accept-encoding': 'gzip, deflate, br', E ? ---- E + 'accept-encoding': 'gzip, deflate', E 'connection': 'upgrade', E 'host': 'testserver', E 'sec-websocket-key': 'testserver==', E 'sec-websocket-version': '13', E 'user-agent': 'testclient'}, E } app = .app at 0x7f26492ca9d0> client = data = {'headers': {'accept': '*/*', 'accept-encoding': 'gzip, deflate', 'connection': 'upgrade', 'host': 'testserver', 'sec-websocket-key': 'testserver==', 'sec-websocket-version': '13', 'user-agent': 'testclient'}} expected_headers = {'accept': '*/*', 'accept-encoding': 'gzip, deflate, br', 'connection': 'upgrade', 'host': 'testserver', 'sec-websocket-key': 'testserver==', 'sec-websocket-version': '13', 'user-agent': 'testclient'} test_client_factory = functools.partial(, backend='asyncio', backend_options={}) websocket = tests/test_websockets.py:82: AssertionError _________________________ test_websocket_headers[trio] _________________________ test_client_factory = functools.partial(, backend='trio', backend_options={}) def test_websocket_headers(test_client_factory): def app(scope): async def asgi(receive, send): websocket = WebSocket(scope, receive=receive, send=send) headers = dict(websocket.headers) await websocket.accept() await websocket.send_json({"headers": headers}) await websocket.close() return asgi client = test_client_factory(app) with client.websocket_connect("/") as websocket: expected_headers = { "accept": "*/*", "accept-encoding": "gzip, deflate, br", "connection": "upgrade", "host": "testserver", "user-agent": "testclient", "sec-websocket-key": "testserver==", "sec-websocket-version": "13", } data = websocket.receive_json() > assert data == {"headers": expected_headers} E AssertionError: assert {'headers': {'accept': '*/*',\n 'accept-encoding': 'gzip, deflate',\n 'connection': 'upgrade',\n 'host': 'testserver',\n 'sec-websocket-key': 'testserver==',\n 'sec-websocket-version': '13',\n 'user-agent': 'testclient'}} == {'headers': {'accept': '*/*',\n 'accept-encoding': 'gzip, deflate, br',\n 'connection': 'upgrade',\n 'host': 'testserver',\n 'sec-websocket-key': 'testserver==',\n 'sec-websocket-version': '13',\n 'user-agent': 'testclient'}} E Differing items: E {'headers': {'accept': '*/*', 'accept-encoding': 'gzip, deflate', 'connection': 'upgrade', 'host': 'testserver', ...}} != {'headers': {'accept': '*/*', 'accept-encoding': 'gzip, deflate, br', 'connection': 'upgrade', 'host': 'testserver', ...}} E Full diff: E { E 'headers': {'accept': '*/*', E - 'accept-encoding': 'gzip, deflate, br', E ? ---- E + 'accept-encoding': 'gzip, deflate', E 'connection': 'upgrade', E 'host': 'testserver', E 'sec-websocket-key': 'testserver==', E 'sec-websocket-version': '13', E 'user-agent': 'testclient'}, E } app = .app at 0x7f2648f925e0> client = data = {'headers': {'accept': '*/*', 'accept-encoding': 'gzip, deflate', 'connection': 'upgrade', 'host': 'testserver', 'sec-websocket-key': 'testserver==', 'sec-websocket-version': '13', 'user-agent': 'testclient'}} expected_headers = {'accept': '*/*', 'accept-encoding': 'gzip, deflate, br', 'connection': 'upgrade', 'host': 'testserver', 'sec-websocket-key': 'testserver==', 'sec-websocket-version': '13', 'user-agent': 'testclient'} test_client_factory = functools.partial(, backend='trio', backend_options={}) websocket = tests/test_websockets.py:82: AssertionError =========================== short test summary info ============================ FAILED tests/test_requests.py::test_request_headers[asyncio] - AssertionError... FAILED tests/test_requests.py::test_request_headers[trio] - AssertionError: a... FAILED tests/test_schemas.py::test_schema_generation - AssertionError: `pyyam... FAILED tests/test_schemas.py::test_schema_endpoint[asyncio] - AssertionError:... FAILED tests/test_schemas.py::test_schema_endpoint[trio] - AssertionError: `p... FAILED tests/test_websockets.py::test_websocket_headers[asyncio] - AssertionE... FAILED tests/test_websockets.py::test_websocket_headers[trio] - AssertionErro... ================= 7 failed, 463 passed, 2 deselected in 47.44s ================= * ERROR: dev-python/starlette-0.18.0::gentoo failed (test phase): * pytest failed with python3.8 * * Call stack: * ebuild.sh, line 127: Called src_test * environment, line 3122: Called distutils-r1_src_test * environment, line 1413: Called _distutils-r1_run_foreach_impl 'python_test' * environment, line 584: Called python_foreach_impl 'distutils-r1_run_phase' 'python_test' * environment, line 2784: Called multibuild_foreach_variant '_python_multibuild_wrapper' 'distutils-r1_run_phase' 'python_test' * environment, line 2265: Called _multibuild_run '_python_multibuild_wrapper' 'distutils-r1_run_phase' 'python_test' * environment, line 2263: Called _python_multibuild_wrapper 'distutils-r1_run_phase' 'python_test' * environment, line 885: Called distutils-r1_run_phase 'python_test' * environment, line 1352: Called python_test * environment, line 3080: Called distutils-r1_python_test * environment, line 1304: Called epytest * environment, line 1779: Called die * The specific snippet of code: * "${@}" || die -n "pytest failed with ${EPYTHON}"; * * If you need support, post the output of `emerge --info '=dev-python/starlette-0.18.0::gentoo'`, * the complete build log and the output of `emerge -pqv '=dev-python/starlette-0.18.0::gentoo'`. * The complete build log is located at '/var/log/emerge-log/build/dev-python/starlette-0.18.0:20220123-213042.log'. * For convenience, a symlink to the build log is located at '/var/tmp/portage/dev-python/starlette-0.18.0/temp/build.log'. * The ebuild environment file is located at '/var/tmp/portage/dev-python/starlette-0.18.0/temp/environment'. * Working directory: '/var/tmp/portage/dev-python/starlette-0.18.0/work/starlette-0.18.0' * S: '/var/tmp/portage/dev-python/starlette-0.18.0/work/starlette-0.18.0'