Sat Aug 23 23:33:48 UTC 2025 I: starting to build traitlets/forky/amd64 on jenkins on '2025-08-23 23:33' Sat Aug 23 23:33:48 UTC 2025 I: The jenkins build log is/was available at https://jenkins.debian.net/userContent/reproducible/debian/build_service/amd64_24/71045/console.log Sat Aug 23 23:33:48 UTC 2025 I: Downloading source for forky/traitlets=5.14.3+really5.14.3-1 --2025-08-23 23:33:48-- http://deb.debian.org/debian/pool/main/t/traitlets/traitlets_5.14.3%2breally5.14.3-1.dsc Connecting to 46.16.76.132:3128... connected. Proxy request sent, awaiting response... 200 OK Length: 2720 (2.7K) [text/prs.lines.tag] Saving to: ‘traitlets_5.14.3+really5.14.3-1.dsc’ 0K .. 100% 277M=0s 2025-08-23 23:33:48 (277 MB/s) - ‘traitlets_5.14.3+really5.14.3-1.dsc’ saved [2720/2720] Sat Aug 23 23:33:48 UTC 2025 I: traitlets_5.14.3+really5.14.3-1.dsc -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 Format: 3.0 (quilt) Source: traitlets Binary: python3-traitlets, python-traitlets-doc Architecture: all Version: 5.14.3+really5.14.3-1 Maintainer: Debian Python Team Uploaders: Julien Puydt Homepage: https://github.com/ipython/traitlets Description: Lightweight Traits-like package for Python A lightweight pure-Python derivative of Enthought Traits, used for configuring Python objects. . It powers the config system of IPython and Jupyter. Standards-Version: 4.7.0 Vcs-Browser: https://salsa.debian.org/python-team/packages/traitlets Vcs-Git: https://salsa.debian.org/python-team/packages/traitlets.git Testsuite: autopkgtest-pkg-pybuild Build-Depends: debhelper-compat (= 13), dh-sequence-python3, pybuild-plugin-pyproject, python3-all, python3-argcomplete , python3-doc , python3-hatchling, python3-myst-parser , python3-pydata-sphinx-theme , python3-pytest , python3-pytest-mock , python3-pytest-mypy-testing , python3-sphinx, python3-sphinx-rtd-theme Package-List: python-traitlets-doc deb doc optional arch=all profile=!nodoc python3-traitlets deb python optional arch=all Checksums-Sha1: c0b4a204c9774a2c9099689e99589dbede8e6bc5 162287 traitlets_5.14.3+really5.14.3.orig.tar.gz 58cba4a9d9ad351e2c6cf1fa228bb0539e3bfeaa 5604 traitlets_5.14.3+really5.14.3-1.debian.tar.xz Checksums-Sha256: 1185785c6aef5078968c4e1e0fc2e0363d9903a64674b6c29cab248f0c525b6d 162287 traitlets_5.14.3+really5.14.3.orig.tar.gz 141d683bef08e5689231e8e3610fd4ad8266e0d76fa6e701664a50be42ba51eb 5604 traitlets_5.14.3+really5.14.3-1.debian.tar.xz Files: 8558b9a02f57d62b499063944303ca70 162287 traitlets_5.14.3+really5.14.3.orig.tar.gz 7f9fa084ec050cadba51bc4e60840c1b 5604 traitlets_5.14.3+really5.14.3-1.debian.tar.xz -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEEfhrD+iemSShMMj72aVxCkxbAe/4FAmavgz4ACgkQaVxCkxbA e/7j7RAAkMPCPqg6H9hZ5+JQFv77f7fCiZ34+lz4b3fJOIrTZUuGvnsw0GxYLXsJ GfdOfX5KpZu54D08CCUq5StPD8N6rADVIq/gUyUD/4C0ufFOWPU2Ya/ePLMP1lH6 27LlscsHKJr03fbowUiUH6r0y11+zsFFLyxmbSaqxTmj+zLeIscfqailMtK2REPD a2MtqtjU5o66TkA+Zs8KIMlrYW18WQjgEMdoZeMQrhTkCQjH26o7X3HSVipOurEC JSjjnpdavH67wyADPWguSLc2AQQI0deLd5dkbfrmUxliyCbwGmoJfGpOyNJj4box XnPahfzJk/hAsvBhsEhuaOaYWTLnDAYvW3g6xlv2QwhOU3452ACx+f16MjMfdwrR D04RZ+dSoYk7IC3qc0CsGyp87W+tK9KrZ0qT/ohItG2X4dCoL2GdYmA+TdymiJBq Y4XvxSWN61MlUkkKEiq4X2pCdzsA4Wamd5qRQ1QNnsjd6/HJbqffLUmYL9E2T5CV a3fjsn+qL8e9VJ+vsrYYk/8oRuwERhywDBdceD0nA0Hcw53NHCB4aby3YAkyw1eK yr0vtyhaHedEWMO45162HcUb00OpJwISq7UfXlAaI8l2NUZ7QCW0Kn8dkTCJloIh lDuKxxYFZj3ucvaQNsiqLI9fAp8iNpxlyt0To7rV+JqbQwadRPc= =qK3Z -----END PGP SIGNATURE----- Sat Aug 23 23:33:48 UTC 2025 I: Checking whether the package is not for us Sat Aug 23 23:33:48 UTC 2025 I: Starting 1st build on remote node ionos15-amd64.debian.net. Sat Aug 23 23:33:48 UTC 2025 I: Preparing to do remote build '1' on ionos15-amd64.debian.net. Sat Aug 23 23:43:59 UTC 2025 I: Deleting $TMPDIR on ionos15-amd64.debian.net. I: pbuilder: network access will be disabled during build I: Current time: Fri Sep 25 17:56:49 -12 2026 I: pbuilder-time-stamp: 1790402209 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/forky-reproducible-base.tgz] I: copying local configuration W: --override-config is not set; not updating apt.conf Read the manpage for details. I: mounting /proc filesystem I: mounting /sys filesystem I: creating /{dev,run}/shm I: mounting /dev/pts filesystem I: redirecting /dev/ptmx to /dev/pts/ptmx I: policy-rc.d already exists I: Copying source file I: copying [traitlets_5.14.3+really5.14.3-1.dsc] I: copying [./traitlets_5.14.3+really5.14.3.orig.tar.gz] I: copying [./traitlets_5.14.3+really5.14.3-1.debian.tar.xz] I: Extracting source dpkg-source: warning: cannot verify inline signature for ./traitlets_5.14.3+really5.14.3-1.dsc: no acceptable signature found dpkg-source: info: extracting traitlets in traitlets-5.14.3+really5.14.3 dpkg-source: info: unpacking traitlets_5.14.3+really5.14.3.orig.tar.gz dpkg-source: info: unpacking traitlets_5.14.3+really5.14.3-1.debian.tar.xz dpkg-source: info: using patch list from debian/patches/series dpkg-source: info: applying 0002-Patch-intersphinx-configuration-to-avoid-network-acc.patch dpkg-source: info: applying reproducible_build.patch I: Not using root during the build. I: Installing the build-deps I: user script /srv/workspace/pbuilder/2376507/tmp/hooks/D02_print_environment starting I: set BUILDDIR='/build/reproducible-path' BUILDUSERGECOS='first user,first room,first work-phone,first home-phone,first other' BUILDUSERNAME='pbuilder1' BUILD_ARCH='amd64' DEBIAN_FRONTEND='noninteractive' DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=42 ' DISTRIBUTION='forky' HOME='/root' HOST_ARCH='amd64' IFS=' ' INVOCATION_ID='44f481c2dcd64ee087c69fa4a1f815a5' LANG='C' LANGUAGE='en_US:en' LC_ALL='C' MAIL='/var/mail/root' OPTIND='1' PATH='/usr/sbin:/usr/bin:/sbin:/bin:/usr/games' PBCURRENTCOMMANDLINEOPERATION='build' PBUILDER_OPERATION='build' PBUILDER_PKGDATADIR='/usr/share/pbuilder' PBUILDER_PKGLIBDIR='/usr/lib/pbuilder' PBUILDER_SYSCONFDIR='/etc' PPID='2376507' PS1='# ' PS2='> ' PS4='+ ' PWD='/' SHELL='/bin/bash' SHLVL='2' SUDO_COMMAND='/usr/bin/timeout -k 18.1h 18h /usr/bin/ionice -c 3 /usr/bin/nice /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.ZMqUmI5r/pbuilderrc_8YEL --distribution forky --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/forky-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.ZMqUmI5r/b1 --logfile b1/build.log traitlets_5.14.3+really5.14.3-1.dsc' SUDO_GID='111' SUDO_HOME='/var/lib/jenkins' SUDO_UID='106' SUDO_USER='jenkins' TERM='unknown' TZ='/usr/share/zoneinfo/Etc/GMT+12' USER='root' _='/usr/bin/systemd-run' http_proxy='http://213.165.73.152:3128' I: uname -a Linux ionos15-amd64 6.12.41+deb13-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.12.41-1 (2025-08-12) x86_64 GNU/Linux I: ls -l /bin lrwxrwxrwx 1 root root 7 Aug 10 2025 /bin -> usr/bin I: user script /srv/workspace/pbuilder/2376507/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy Version: 0.invalid.0 Architecture: amd64 Maintainer: Debian Pbuilder Team Description: Dummy package to satisfy dependencies with aptitude - created by pbuilder This package was created automatically by pbuilder to satisfy the build-dependencies of the package being currently built. Depends: debhelper-compat (= 13), dh-sequence-python3, pybuild-plugin-pyproject, python3-all, python3-argcomplete, python3-doc, python3-hatchling, python3-myst-parser, python3-pydata-sphinx-theme, python3-pytest, python3-pytest-mock, python3-pytest-mypy-testing, python3-sphinx, python3-sphinx-rtd-theme dpkg-deb: building package 'pbuilder-satisfydepends-dummy' in '/tmp/satisfydepends-aptitude/pbuilder-satisfydepends-dummy.deb'. Selecting previously unselected package pbuilder-satisfydepends-dummy. (Reading database ... 19855 files and directories currently installed.) Preparing to unpack .../pbuilder-satisfydepends-dummy.deb ... Unpacking pbuilder-satisfydepends-dummy (0.invalid.0) ... dpkg: pbuilder-satisfydepends-dummy: dependency problems, but configuring anyway as you requested: pbuilder-satisfydepends-dummy depends on debhelper-compat (= 13); however: Package debhelper-compat is not installed. pbuilder-satisfydepends-dummy depends on dh-sequence-python3; however: Package dh-sequence-python3 is not installed. pbuilder-satisfydepends-dummy depends on pybuild-plugin-pyproject; however: Package pybuild-plugin-pyproject is not installed. pbuilder-satisfydepends-dummy depends on python3-all; however: Package python3-all is not installed. pbuilder-satisfydepends-dummy depends on python3-argcomplete; however: Package python3-argcomplete is not installed. pbuilder-satisfydepends-dummy depends on python3-doc; however: Package python3-doc is not installed. pbuilder-satisfydepends-dummy depends on python3-hatchling; however: Package python3-hatchling is not installed. pbuilder-satisfydepends-dummy depends on python3-myst-parser; however: Package python3-myst-parser is not installed. pbuilder-satisfydepends-dummy depends on python3-pydata-sphinx-theme; however: Package python3-pydata-sphinx-theme is not installed. pbuilder-satisfydepends-dummy depends on python3-pytest; however: Package python3-pytest is not installed. pbuilder-satisfydepends-dummy depends on python3-pytest-mock; however: Package python3-pytest-mock is not installed. pbuilder-satisfydepends-dummy depends on python3-pytest-mypy-testing; however: Package python3-pytest-mypy-testing is not installed. pbuilder-satisfydepends-dummy depends on python3-sphinx; however: Package python3-sphinx is not installed. pbuilder-satisfydepends-dummy depends on python3-sphinx-rtd-theme; however: Package python3-sphinx-rtd-theme is not installed. Setting up pbuilder-satisfydepends-dummy (0.invalid.0) ... Reading package lists... Building dependency tree... Reading state information... Initializing package states... Writing extended state information... Building tag database... pbuilder-satisfydepends-dummy is already installed at the requested version (0.invalid.0) pbuilder-satisfydepends-dummy is already installed at the requested version (0.invalid.0) The following NEW packages will be installed: autoconf{a} automake{a} autopoint{a} autotools-dev{a} bsdextrautils{a} ca-certificates{a} debhelper{a} dh-autoreconf{a} dh-python{a} dh-strip-nondeterminism{a} docutils-common{a} dwz{a} file{a} fonts-font-awesome{a} fonts-lato{a} gettext{a} gettext-base{a} groff-base{a} intltool-debian{a} libarchive-zip-perl{a} libdebhelper-perl{a} libelf1t64{a} libexpat1{a} libffi8{a} libfile-stripnondeterminism-perl{a} libjs-jquery{a} libjs-sphinxdoc{a} libjs-underscore{a} libjson-perl{a} libmagic-mgc{a} libmagic1t64{a} libpipeline1{a} libpython3-stdlib{a} libpython3.13-minimal{a} libpython3.13-stdlib{a} libreadline8t64{a} libtool{a} libuchardet0{a} libunistring5{a} libxml2-16{a} libyaml-0-2{a} m4{a} man-db{a} media-types{a} netbase{a} node-fortawesome-fontawesome-free{a} openssl{a} po-debconf{a} pybuild-plugin-pyproject{a} python-babel-localedata{a} python3{a} python3-accessible-pygments{a} python3-alabaster{a} python3-all{a} python3-argcomplete{a} python3-babel{a} python3-bs4{a} python3-build{a} python3-certifi{a} python3-chardet{a} python3-charset-normalizer{a} python3-defusedxml{a} python3-doc{a} python3-docutils{a} python3-hatchling{a} python3-idna{a} python3-imagesize{a} python3-iniconfig{a} python3-installer{a} python3-jinja2{a} python3-linkify-it{a} python3-markdown-it{a} python3-markupsafe{a} python3-mdit-py-plugins{a} python3-mdurl{a} python3-minimal{a} python3-mypy{a} python3-mypy-extensions{a} python3-myst-parser{a} python3-packaging{a} python3-pathspec{a} python3-pluggy{a} python3-psutil{a} python3-pydata-sphinx-theme{a} python3-pygments{a} python3-pyproject-hooks{a} python3-pytest{a} python3-pytest-mock{a} python3-pytest-mypy-testing{a} python3-requests{a} python3-roman{a} python3-snowballstemmer{a} python3-soupsieve{a} python3-sphinx{a} python3-sphinx-rtd-theme{a} python3-sphinxcontrib.jquery{a} python3-trove-classifiers{a} python3-typing-extensions{a} python3-uc-micro{a} python3-urllib3{a} python3-wheel{a} python3-yaml{a} python3.13{a} python3.13-doc{a} python3.13-minimal{a} readline-common{a} sensible-utils{a} sgml-base{a} sphinx-common{a} sphinx-rtd-theme-common{a} tzdata{a} xml-core{a} The following packages are RECOMMENDED but will NOT be installed: curl javascript-common libarchive-cpio-perl libjson-xs-perl libltdl-dev libmail-sendmail-perl libpaper-utils lynx python3-lxml python3-orjson python3-pil python3-setuptools wget 0 packages upgraded, 112 newly installed, 0 to remove and 0 not upgraded. Need to get 63.2 MB of archives. After unpacking 288 MB will be used. Writing extended state information... Get: 1 http://deb.debian.org/debian forky/main amd64 fonts-lato all 2.015-1 [2780 kB] Get: 2 http://deb.debian.org/debian forky/main amd64 libexpat1 amd64 2.7.1-2 [108 kB] Get: 3 http://deb.debian.org/debian forky/main amd64 libpython3.13-minimal amd64 3.13.6-1 [864 kB] Get: 4 http://deb.debian.org/debian forky/main amd64 python3.13-minimal amd64 3.13.6-1 [2218 kB] Get: 5 http://deb.debian.org/debian forky/main amd64 python3-minimal amd64 3.13.5-1 [27.2 kB] Get: 6 http://deb.debian.org/debian forky/main amd64 media-types all 13.0.0 [29.3 kB] Get: 7 http://deb.debian.org/debian forky/main amd64 netbase all 6.5 [12.4 kB] Get: 8 http://deb.debian.org/debian forky/main amd64 tzdata all 2025b-5 [260 kB] Get: 9 http://deb.debian.org/debian forky/main amd64 libffi8 amd64 3.4.8-2 [24.1 kB] Get: 10 http://deb.debian.org/debian forky/main amd64 readline-common all 8.2-6 [69.4 kB] Get: 11 http://deb.debian.org/debian forky/main amd64 libreadline8t64 amd64 8.2-6 [169 kB] Get: 12 http://deb.debian.org/debian forky/main amd64 libpython3.13-stdlib amd64 3.13.6-1 [1959 kB] Get: 13 http://deb.debian.org/debian forky/main amd64 python3.13 amd64 3.13.6-1 [761 kB] Get: 14 http://deb.debian.org/debian forky/main amd64 libpython3-stdlib amd64 3.13.5-1 [10.2 kB] Get: 15 http://deb.debian.org/debian forky/main amd64 python3 amd64 3.13.5-1 [28.2 kB] Get: 16 http://deb.debian.org/debian forky/main amd64 sensible-utils all 0.0.26 [27.0 kB] Get: 17 http://deb.debian.org/debian forky/main amd64 openssl amd64 3.5.1-1 [1494 kB] Get: 18 http://deb.debian.org/debian forky/main amd64 ca-certificates all 20250419 [162 kB] Get: 19 http://deb.debian.org/debian forky/main amd64 libmagic-mgc amd64 1:5.46-5 [338 kB] Get: 20 http://deb.debian.org/debian forky/main amd64 libmagic1t64 amd64 1:5.46-5 [109 kB] Get: 21 http://deb.debian.org/debian forky/main amd64 file amd64 1:5.46-5 [43.6 kB] Get: 22 http://deb.debian.org/debian forky/main amd64 gettext-base amd64 0.23.1-2+b1 [244 kB] Get: 23 http://deb.debian.org/debian forky/main amd64 libuchardet0 amd64 0.0.8-1+b2 [68.9 kB] Get: 24 http://deb.debian.org/debian forky/main amd64 groff-base amd64 1.23.0-9 [1187 kB] Get: 25 http://deb.debian.org/debian forky/main amd64 bsdextrautils amd64 2.41.1-1 [94.7 kB] Get: 26 http://deb.debian.org/debian forky/main amd64 libpipeline1 amd64 1.5.8-1 [42.0 kB] Get: 27 http://deb.debian.org/debian forky/main amd64 man-db amd64 2.13.1-1 [1469 kB] Get: 28 http://deb.debian.org/debian forky/main amd64 m4 amd64 1.4.19-8 [294 kB] Get: 29 http://deb.debian.org/debian forky/main amd64 autoconf all 2.72-3.1 [494 kB] Get: 30 http://deb.debian.org/debian forky/main amd64 autotools-dev all 20240727.1 [60.2 kB] Get: 31 http://deb.debian.org/debian forky/main amd64 automake all 1:1.17-4 [862 kB] Get: 32 http://deb.debian.org/debian forky/main amd64 autopoint all 0.23.1-2 [770 kB] Get: 33 http://deb.debian.org/debian forky/main amd64 libdebhelper-perl all 13.25 [91.6 kB] Get: 34 http://deb.debian.org/debian forky/main amd64 libtool all 2.5.4-4 [539 kB] Get: 35 http://deb.debian.org/debian forky/main amd64 dh-autoreconf all 20 [17.1 kB] Get: 36 http://deb.debian.org/debian forky/main amd64 libarchive-zip-perl all 1.68-1 [104 kB] Get: 37 http://deb.debian.org/debian forky/main amd64 libfile-stripnondeterminism-perl all 1.14.1-2 [19.7 kB] Get: 38 http://deb.debian.org/debian forky/main amd64 dh-strip-nondeterminism all 1.14.1-2 [8620 B] Get: 39 http://deb.debian.org/debian forky/main amd64 libelf1t64 amd64 0.192-4 [189 kB] Get: 40 http://deb.debian.org/debian forky/main amd64 dwz amd64 0.15-1+b1 [110 kB] Get: 41 http://deb.debian.org/debian forky/main amd64 libunistring5 amd64 1.3-2 [477 kB] Get: 42 http://deb.debian.org/debian forky/main amd64 libxml2-16 amd64 2.14.5+dfsg-0.1 [640 kB] Get: 43 http://deb.debian.org/debian forky/main amd64 gettext amd64 0.23.1-2+b1 [1680 kB] Get: 44 http://deb.debian.org/debian forky/main amd64 intltool-debian all 0.35.0+20060710.6 [22.9 kB] Get: 45 http://deb.debian.org/debian forky/main amd64 po-debconf all 1.0.21+nmu1 [248 kB] Get: 46 http://deb.debian.org/debian forky/main amd64 debhelper all 13.25 [937 kB] Get: 47 http://deb.debian.org/debian forky/main amd64 dh-python all 6.20250414 [116 kB] Get: 48 http://deb.debian.org/debian forky/main amd64 sgml-base all 1.31+nmu1 [10.9 kB] Get: 49 http://deb.debian.org/debian forky/main amd64 xml-core all 0.19 [20.1 kB] Get: 50 http://deb.debian.org/debian forky/main amd64 docutils-common all 0.21.2+dfsg-2 [128 kB] Get: 51 http://deb.debian.org/debian forky/main amd64 fonts-font-awesome all 5.0.10+really4.7.0~dfsg-4.1 [517 kB] Get: 52 http://deb.debian.org/debian forky/main amd64 libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [326 kB] Get: 53 http://deb.debian.org/debian forky/main amd64 libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [116 kB] Get: 54 http://deb.debian.org/debian forky/main amd64 libjs-sphinxdoc all 8.1.3-5 [30.5 kB] Get: 55 http://deb.debian.org/debian forky/main amd64 libjson-perl all 4.10000-1 [87.5 kB] Get: 56 http://deb.debian.org/debian forky/main amd64 libyaml-0-2 amd64 0.2.5-2 [52.5 kB] Get: 57 http://deb.debian.org/debian forky/main amd64 node-fortawesome-fontawesome-free all 6.7.2+ds1-1 [1521 kB] Get: 58 http://deb.debian.org/debian forky/main amd64 python3-packaging all 25.0-1 [56.6 kB] Get: 59 http://deb.debian.org/debian forky/main amd64 python3-pyproject-hooks all 1.2.0-1 [11.7 kB] Get: 60 http://deb.debian.org/debian forky/main amd64 python3-wheel all 0.46.1-2 [21.7 kB] Get: 61 http://deb.debian.org/debian forky/main amd64 python3-build all 1.2.2-4 [36.2 kB] Get: 62 http://deb.debian.org/debian forky/main amd64 python3-installer all 0.7.0+dfsg1-3 [18.6 kB] Get: 63 http://deb.debian.org/debian forky/main amd64 pybuild-plugin-pyproject all 6.20250414 [11.8 kB] Get: 64 http://deb.debian.org/debian forky/main amd64 python-babel-localedata all 2.17.0-1 [6050 kB] Get: 65 http://deb.debian.org/debian forky/main amd64 python3-pygments all 2.18.0+dfsg-2 [836 kB] Get: 66 http://deb.debian.org/debian forky/main amd64 python3-accessible-pygments all 0.0.5-2 [1306 kB] Get: 67 http://deb.debian.org/debian forky/main amd64 python3-alabaster all 0.7.16-0.1 [27.9 kB] Get: 68 http://deb.debian.org/debian forky/main amd64 python3-all amd64 3.13.5-1 [1048 B] Get: 69 http://deb.debian.org/debian forky/main amd64 python3-argcomplete all 3.6.2-1 [40.9 kB] Get: 70 http://deb.debian.org/debian forky/main amd64 python3-babel all 2.17.0-1 [117 kB] Get: 71 http://deb.debian.org/debian forky/main amd64 python3-soupsieve all 2.7-2 [39.0 kB] Get: 72 http://deb.debian.org/debian forky/main amd64 python3-typing-extensions all 4.14.1-1 [91.3 kB] Get: 73 http://deb.debian.org/debian forky/main amd64 python3-bs4 all 4.13.4-4 [167 kB] Get: 74 http://deb.debian.org/debian forky/main amd64 python3-certifi all 2025.1.31+ds-1 [9652 B] Get: 75 http://deb.debian.org/debian forky/main amd64 python3-chardet all 5.2.0+dfsg-2 [108 kB] Get: 76 http://deb.debian.org/debian forky/main amd64 python3-charset-normalizer amd64 3.4.3-1 [131 kB] Get: 77 http://deb.debian.org/debian forky/main amd64 python3-defusedxml all 0.7.1-3 [43.4 kB] Get: 78 http://deb.debian.org/debian forky/main amd64 python3.13-doc all 3.13.6-1 [15.4 MB] Get: 79 http://deb.debian.org/debian forky/main amd64 python3-doc all 3.13.5-1 [10.4 kB] Get: 80 http://deb.debian.org/debian forky/main amd64 python3-roman all 5.1-1 [11.0 kB] Get: 81 http://deb.debian.org/debian forky/main amd64 python3-docutils all 0.21.2+dfsg-2 [403 kB] Get: 82 http://deb.debian.org/debian forky/main amd64 python3-pathspec all 0.12.1-1 [28.1 kB] Get: 83 http://deb.debian.org/debian forky/main amd64 python3-pluggy all 1.6.0-1 [27.1 kB] Get: 84 http://deb.debian.org/debian forky/main amd64 python3-trove-classifiers all 2025.4.28.22-1 [10.8 kB] Get: 85 http://deb.debian.org/debian forky/main amd64 python3-hatchling all 1.27.0-1 [47.0 kB] Get: 86 http://deb.debian.org/debian forky/main amd64 python3-idna all 3.10-1 [42.0 kB] Get: 87 http://deb.debian.org/debian forky/main amd64 python3-imagesize all 1.4.1-1 [6688 B] Get: 88 http://deb.debian.org/debian forky/main amd64 python3-iniconfig all 1.1.1-2 [6396 B] Get: 89 http://deb.debian.org/debian forky/main amd64 python3-markupsafe amd64 2.1.5-1+b3 [14.0 kB] Get: 90 http://deb.debian.org/debian forky/main amd64 python3-jinja2 all 3.1.6-1 [107 kB] Get: 91 http://deb.debian.org/debian forky/main amd64 python3-uc-micro all 1.0.3-1 [5744 B] Get: 92 http://deb.debian.org/debian forky/main amd64 python3-linkify-it all 2.0.3-1 [18.7 kB] Get: 93 http://deb.debian.org/debian forky/main amd64 python3-mdurl all 0.1.2-1 [9444 B] Get: 94 http://deb.debian.org/debian forky/main amd64 python3-markdown-it all 3.0.0-3 [59.5 kB] Get: 95 http://deb.debian.org/debian forky/main amd64 python3-mdit-py-plugins all 0.5.0-1 [33.4 kB] Get: 96 http://deb.debian.org/debian forky/main amd64 python3-mypy-extensions all 1.1.0-1 [6656 B] Get: 97 http://deb.debian.org/debian forky/main amd64 python3-psutil amd64 7.0.0-2 [220 kB] Get: 98 http://deb.debian.org/debian forky/main amd64 python3-mypy amd64 1.17.1-2 [8688 kB] Get: 99 http://deb.debian.org/debian forky/main amd64 sphinx-common all 8.1.3-5 [617 kB] Get: 100 http://deb.debian.org/debian forky/main amd64 python3-urllib3 all 2.3.0-3 [115 kB] Get: 101 http://deb.debian.org/debian forky/main amd64 python3-requests all 2.32.4+dfsg-1 [72.4 kB] Get: 102 http://deb.debian.org/debian forky/main amd64 python3-snowballstemmer all 3.0.1-1 [63.5 kB] Get: 103 http://deb.debian.org/debian forky/main amd64 python3-sphinx all 8.1.3-5 [468 kB] Get: 104 http://deb.debian.org/debian forky/main amd64 python3-yaml amd64 6.0.2-1+b2 [136 kB] Get: 105 http://deb.debian.org/debian forky/main amd64 python3-myst-parser all 4.0.1-1 [78.8 kB] Get: 106 http://deb.debian.org/debian forky/main amd64 python3-pydata-sphinx-theme all 0.16.1+dfsg-3 [917 kB] Get: 107 http://deb.debian.org/debian forky/main amd64 python3-pytest all 8.3.5-2 [250 kB] Get: 108 http://deb.debian.org/debian forky/main amd64 python3-pytest-mock all 3.14.1-1 [18.4 kB] Get: 109 http://deb.debian.org/debian forky/main amd64 python3-pytest-mypy-testing all 0.1.3-2 [16.5 kB] Get: 110 http://deb.debian.org/debian forky/main amd64 sphinx-rtd-theme-common all 3.0.2+dfsg-3 [1023 kB] Get: 111 http://deb.debian.org/debian forky/main amd64 python3-sphinxcontrib.jquery all 4.1-5 [7348 B] Get: 112 http://deb.debian.org/debian forky/main amd64 python3-sphinx-rtd-theme all 3.0.2+dfsg-3 [29.7 kB] Fetched 63.2 MB in 3s (18.7 MB/s) Preconfiguring packages ... Selecting previously unselected package fonts-lato. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 19855 files and directories currently installed.) Preparing to unpack .../fonts-lato_2.015-1_all.deb ... Unpacking fonts-lato (2.015-1) ... Selecting previously unselected package libexpat1:amd64. Preparing to unpack .../libexpat1_2.7.1-2_amd64.deb ... Unpacking libexpat1:amd64 (2.7.1-2) ... Selecting previously unselected package libpython3.13-minimal:amd64. Preparing to unpack .../libpython3.13-minimal_3.13.6-1_amd64.deb ... Unpacking libpython3.13-minimal:amd64 (3.13.6-1) ... Selecting previously unselected package python3.13-minimal. Preparing to unpack .../python3.13-minimal_3.13.6-1_amd64.deb ... Unpacking python3.13-minimal (3.13.6-1) ... Setting up libpython3.13-minimal:amd64 (3.13.6-1) ... Setting up libexpat1:amd64 (2.7.1-2) ... Setting up python3.13-minimal (3.13.6-1) ... Selecting previously unselected package python3-minimal. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 20215 files and directories currently installed.) Preparing to unpack .../0-python3-minimal_3.13.5-1_amd64.deb ... Unpacking python3-minimal (3.13.5-1) ... Selecting previously unselected package media-types. Preparing to unpack .../1-media-types_13.0.0_all.deb ... Unpacking media-types (13.0.0) ... Selecting previously unselected package netbase. Preparing to unpack .../2-netbase_6.5_all.deb ... Unpacking netbase (6.5) ... Selecting previously unselected package tzdata. Preparing to unpack .../3-tzdata_2025b-5_all.deb ... Unpacking tzdata (2025b-5) ... Selecting previously unselected package libffi8:amd64. Preparing to unpack .../4-libffi8_3.4.8-2_amd64.deb ... Unpacking libffi8:amd64 (3.4.8-2) ... Selecting previously unselected package readline-common. Preparing to unpack .../5-readline-common_8.2-6_all.deb ... Unpacking readline-common (8.2-6) ... Selecting previously unselected package libreadline8t64:amd64. Preparing to unpack .../6-libreadline8t64_8.2-6_amd64.deb ... Adding 'diversion of /lib/x86_64-linux-gnu/libhistory.so.8 to /lib/x86_64-linux-gnu/libhistory.so.8.usr-is-merged by libreadline8t64' Adding 'diversion of /lib/x86_64-linux-gnu/libhistory.so.8.2 to /lib/x86_64-linux-gnu/libhistory.so.8.2.usr-is-merged by libreadline8t64' Adding 'diversion of /lib/x86_64-linux-gnu/libreadline.so.8 to /lib/x86_64-linux-gnu/libreadline.so.8.usr-is-merged by libreadline8t64' Adding 'diversion of /lib/x86_64-linux-gnu/libreadline.so.8.2 to /lib/x86_64-linux-gnu/libreadline.so.8.2.usr-is-merged by libreadline8t64' Unpacking libreadline8t64:amd64 (8.2-6) ... Selecting previously unselected package libpython3.13-stdlib:amd64. Preparing to unpack .../7-libpython3.13-stdlib_3.13.6-1_amd64.deb ... Unpacking libpython3.13-stdlib:amd64 (3.13.6-1) ... Selecting previously unselected package python3.13. Preparing to unpack .../8-python3.13_3.13.6-1_amd64.deb ... Unpacking python3.13 (3.13.6-1) ... Selecting previously unselected package libpython3-stdlib:amd64. Preparing to unpack .../9-libpython3-stdlib_3.13.5-1_amd64.deb ... Unpacking libpython3-stdlib:amd64 (3.13.5-1) ... Setting up python3-minimal (3.13.5-1) ... Selecting previously unselected package python3. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 21230 files and directories currently installed.) Preparing to unpack .../00-python3_3.13.5-1_amd64.deb ... Unpacking python3 (3.13.5-1) ... Selecting previously unselected package sensible-utils. Preparing to unpack .../01-sensible-utils_0.0.26_all.deb ... Unpacking sensible-utils (0.0.26) ... Selecting previously unselected package openssl. Preparing to unpack .../02-openssl_3.5.1-1_amd64.deb ... Unpacking openssl (3.5.1-1) ... Selecting previously unselected package ca-certificates. Preparing to unpack .../03-ca-certificates_20250419_all.deb ... Unpacking ca-certificates (20250419) ... Selecting previously unselected package libmagic-mgc. Preparing to unpack .../04-libmagic-mgc_1%3a5.46-5_amd64.deb ... Unpacking libmagic-mgc (1:5.46-5) ... Selecting previously unselected package libmagic1t64:amd64. Preparing to unpack .../05-libmagic1t64_1%3a5.46-5_amd64.deb ... Unpacking libmagic1t64:amd64 (1:5.46-5) ... Selecting previously unselected package file. Preparing to unpack .../06-file_1%3a5.46-5_amd64.deb ... Unpacking file (1:5.46-5) ... Selecting previously unselected package gettext-base. Preparing to unpack .../07-gettext-base_0.23.1-2+b1_amd64.deb ... Unpacking gettext-base (0.23.1-2+b1) ... Selecting previously unselected package libuchardet0:amd64. Preparing to unpack .../08-libuchardet0_0.0.8-1+b2_amd64.deb ... Unpacking libuchardet0:amd64 (0.0.8-1+b2) ... Selecting previously unselected package groff-base. Preparing to unpack .../09-groff-base_1.23.0-9_amd64.deb ... Unpacking groff-base (1.23.0-9) ... Selecting previously unselected package bsdextrautils. Preparing to unpack .../10-bsdextrautils_2.41.1-1_amd64.deb ... Unpacking bsdextrautils (2.41.1-1) ... Selecting previously unselected package libpipeline1:amd64. Preparing to unpack .../11-libpipeline1_1.5.8-1_amd64.deb ... Unpacking libpipeline1:amd64 (1.5.8-1) ... Selecting previously unselected package man-db. Preparing to unpack .../12-man-db_2.13.1-1_amd64.deb ... Unpacking man-db (2.13.1-1) ... Selecting previously unselected package m4. Preparing to unpack .../13-m4_1.4.19-8_amd64.deb ... Unpacking m4 (1.4.19-8) ... Selecting previously unselected package autoconf. Preparing to unpack .../14-autoconf_2.72-3.1_all.deb ... Unpacking autoconf (2.72-3.1) ... Selecting previously unselected package autotools-dev. Preparing to unpack .../15-autotools-dev_20240727.1_all.deb ... Unpacking autotools-dev (20240727.1) ... Selecting previously unselected package automake. Preparing to unpack .../16-automake_1%3a1.17-4_all.deb ... Unpacking automake (1:1.17-4) ... Selecting previously unselected package autopoint. Preparing to unpack .../17-autopoint_0.23.1-2_all.deb ... Unpacking autopoint (0.23.1-2) ... Selecting previously unselected package libdebhelper-perl. Preparing to unpack .../18-libdebhelper-perl_13.25_all.deb ... Unpacking libdebhelper-perl (13.25) ... Selecting previously unselected package libtool. Preparing to unpack .../19-libtool_2.5.4-4_all.deb ... Unpacking libtool (2.5.4-4) ... Selecting previously unselected package dh-autoreconf. Preparing to unpack .../20-dh-autoreconf_20_all.deb ... Unpacking dh-autoreconf (20) ... Selecting previously unselected package libarchive-zip-perl. Preparing to unpack .../21-libarchive-zip-perl_1.68-1_all.deb ... Unpacking libarchive-zip-perl (1.68-1) ... Selecting previously unselected package libfile-stripnondeterminism-perl. Preparing to unpack .../22-libfile-stripnondeterminism-perl_1.14.1-2_all.deb ... Unpacking libfile-stripnondeterminism-perl (1.14.1-2) ... Selecting previously unselected package dh-strip-nondeterminism. Preparing to unpack .../23-dh-strip-nondeterminism_1.14.1-2_all.deb ... Unpacking dh-strip-nondeterminism (1.14.1-2) ... Selecting previously unselected package libelf1t64:amd64. Preparing to unpack .../24-libelf1t64_0.192-4_amd64.deb ... Unpacking libelf1t64:amd64 (0.192-4) ... Selecting previously unselected package dwz. Preparing to unpack .../25-dwz_0.15-1+b1_amd64.deb ... Unpacking dwz (0.15-1+b1) ... Selecting previously unselected package libunistring5:amd64. Preparing to unpack .../26-libunistring5_1.3-2_amd64.deb ... Unpacking libunistring5:amd64 (1.3-2) ... Selecting previously unselected package libxml2-16:amd64. Preparing to unpack .../27-libxml2-16_2.14.5+dfsg-0.1_amd64.deb ... Unpacking libxml2-16:amd64 (2.14.5+dfsg-0.1) ... Selecting previously unselected package gettext. Preparing to unpack .../28-gettext_0.23.1-2+b1_amd64.deb ... Unpacking gettext (0.23.1-2+b1) ... Selecting previously unselected package intltool-debian. Preparing to unpack .../29-intltool-debian_0.35.0+20060710.6_all.deb ... Unpacking intltool-debian (0.35.0+20060710.6) ... Selecting previously unselected package po-debconf. Preparing to unpack .../30-po-debconf_1.0.21+nmu1_all.deb ... Unpacking po-debconf (1.0.21+nmu1) ... Selecting previously unselected package debhelper. Preparing to unpack .../31-debhelper_13.25_all.deb ... Unpacking debhelper (13.25) ... Selecting previously unselected package dh-python. Preparing to unpack .../32-dh-python_6.20250414_all.deb ... Unpacking dh-python (6.20250414) ... Selecting previously unselected package sgml-base. Preparing to unpack .../33-sgml-base_1.31+nmu1_all.deb ... Unpacking sgml-base (1.31+nmu1) ... Selecting previously unselected package xml-core. Preparing to unpack .../34-xml-core_0.19_all.deb ... Unpacking xml-core (0.19) ... Selecting previously unselected package docutils-common. Preparing to unpack .../35-docutils-common_0.21.2+dfsg-2_all.deb ... Unpacking docutils-common (0.21.2+dfsg-2) ... Selecting previously unselected package fonts-font-awesome. Preparing to unpack .../36-fonts-font-awesome_5.0.10+really4.7.0~dfsg-4.1_all.deb ... Unpacking fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... Selecting previously unselected package libjs-jquery. Preparing to unpack .../37-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... Selecting previously unselected package libjs-underscore. Preparing to unpack .../38-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... Selecting previously unselected package libjs-sphinxdoc. Preparing to unpack .../39-libjs-sphinxdoc_8.1.3-5_all.deb ... Unpacking libjs-sphinxdoc (8.1.3-5) ... Selecting previously unselected package libjson-perl. Preparing to unpack .../40-libjson-perl_4.10000-1_all.deb ... Unpacking libjson-perl (4.10000-1) ... Selecting previously unselected package libyaml-0-2:amd64. Preparing to unpack .../41-libyaml-0-2_0.2.5-2_amd64.deb ... Unpacking libyaml-0-2:amd64 (0.2.5-2) ... Selecting previously unselected package node-fortawesome-fontawesome-free. Preparing to unpack .../42-node-fortawesome-fontawesome-free_6.7.2+ds1-1_all.deb ... Unpacking node-fortawesome-fontawesome-free (6.7.2+ds1-1) ... Selecting previously unselected package python3-packaging. Preparing to unpack .../43-python3-packaging_25.0-1_all.deb ... Unpacking python3-packaging (25.0-1) ... Selecting previously unselected package python3-pyproject-hooks. Preparing to unpack .../44-python3-pyproject-hooks_1.2.0-1_all.deb ... Unpacking python3-pyproject-hooks (1.2.0-1) ... Selecting previously unselected package python3-wheel. Preparing to unpack .../45-python3-wheel_0.46.1-2_all.deb ... Unpacking python3-wheel (0.46.1-2) ... Selecting previously unselected package python3-build. Preparing to unpack .../46-python3-build_1.2.2-4_all.deb ... Unpacking python3-build (1.2.2-4) ... Selecting previously unselected package python3-installer. Preparing to unpack .../47-python3-installer_0.7.0+dfsg1-3_all.deb ... Unpacking python3-installer (0.7.0+dfsg1-3) ... Selecting previously unselected package pybuild-plugin-pyproject. Preparing to unpack .../48-pybuild-plugin-pyproject_6.20250414_all.deb ... Unpacking pybuild-plugin-pyproject (6.20250414) ... Selecting previously unselected package python-babel-localedata. Preparing to unpack .../49-python-babel-localedata_2.17.0-1_all.deb ... Unpacking python-babel-localedata (2.17.0-1) ... Selecting previously unselected package python3-pygments. Preparing to unpack .../50-python3-pygments_2.18.0+dfsg-2_all.deb ... Unpacking python3-pygments (2.18.0+dfsg-2) ... Selecting previously unselected package python3-accessible-pygments. Preparing to unpack .../51-python3-accessible-pygments_0.0.5-2_all.deb ... Unpacking python3-accessible-pygments (0.0.5-2) ... Selecting previously unselected package python3-alabaster. Preparing to unpack .../52-python3-alabaster_0.7.16-0.1_all.deb ... Unpacking python3-alabaster (0.7.16-0.1) ... Selecting previously unselected package python3-all. Preparing to unpack .../53-python3-all_3.13.5-1_amd64.deb ... Unpacking python3-all (3.13.5-1) ... Selecting previously unselected package python3-argcomplete. Preparing to unpack .../54-python3-argcomplete_3.6.2-1_all.deb ... Unpacking python3-argcomplete (3.6.2-1) ... Selecting previously unselected package python3-babel. Preparing to unpack .../55-python3-babel_2.17.0-1_all.deb ... Unpacking python3-babel (2.17.0-1) ... Selecting previously unselected package python3-soupsieve. Preparing to unpack .../56-python3-soupsieve_2.7-2_all.deb ... Unpacking python3-soupsieve (2.7-2) ... Selecting previously unselected package python3-typing-extensions. Preparing to unpack .../57-python3-typing-extensions_4.14.1-1_all.deb ... Unpacking python3-typing-extensions (4.14.1-1) ... Selecting previously unselected package python3-bs4. Preparing to unpack .../58-python3-bs4_4.13.4-4_all.deb ... Unpacking python3-bs4 (4.13.4-4) ... Selecting previously unselected package python3-certifi. Preparing to unpack .../59-python3-certifi_2025.1.31+ds-1_all.deb ... Unpacking python3-certifi (2025.1.31+ds-1) ... Selecting previously unselected package python3-chardet. Preparing to unpack .../60-python3-chardet_5.2.0+dfsg-2_all.deb ... Unpacking python3-chardet (5.2.0+dfsg-2) ... Selecting previously unselected package python3-charset-normalizer. Preparing to unpack .../61-python3-charset-normalizer_3.4.3-1_amd64.deb ... Unpacking python3-charset-normalizer (3.4.3-1) ... Selecting previously unselected package python3-defusedxml. Preparing to unpack .../62-python3-defusedxml_0.7.1-3_all.deb ... Unpacking python3-defusedxml (0.7.1-3) ... Selecting previously unselected package python3.13-doc. Preparing to unpack .../63-python3.13-doc_3.13.6-1_all.deb ... Unpacking python3.13-doc (3.13.6-1) ... Selecting previously unselected package python3-doc. Preparing to unpack .../64-python3-doc_3.13.5-1_all.deb ... Unpacking python3-doc (3.13.5-1) ... Selecting previously unselected package python3-roman. Preparing to unpack .../65-python3-roman_5.1-1_all.deb ... Unpacking python3-roman (5.1-1) ... Selecting previously unselected package python3-docutils. Preparing to unpack .../66-python3-docutils_0.21.2+dfsg-2_all.deb ... Unpacking python3-docutils (0.21.2+dfsg-2) ... Selecting previously unselected package python3-pathspec. Preparing to unpack .../67-python3-pathspec_0.12.1-1_all.deb ... Unpacking python3-pathspec (0.12.1-1) ... Selecting previously unselected package python3-pluggy. Preparing to unpack .../68-python3-pluggy_1.6.0-1_all.deb ... Unpacking python3-pluggy (1.6.0-1) ... Selecting previously unselected package python3-trove-classifiers. Preparing to unpack .../69-python3-trove-classifiers_2025.4.28.22-1_all.deb ... Unpacking python3-trove-classifiers (2025.4.28.22-1) ... Selecting previously unselected package python3-hatchling. Preparing to unpack .../70-python3-hatchling_1.27.0-1_all.deb ... Unpacking python3-hatchling (1.27.0-1) ... Selecting previously unselected package python3-idna. Preparing to unpack .../71-python3-idna_3.10-1_all.deb ... Unpacking python3-idna (3.10-1) ... Selecting previously unselected package python3-imagesize. Preparing to unpack .../72-python3-imagesize_1.4.1-1_all.deb ... Unpacking python3-imagesize (1.4.1-1) ... Selecting previously unselected package python3-iniconfig. Preparing to unpack .../73-python3-iniconfig_1.1.1-2_all.deb ... Unpacking python3-iniconfig (1.1.1-2) ... Selecting previously unselected package python3-markupsafe. Preparing to unpack .../74-python3-markupsafe_2.1.5-1+b3_amd64.deb ... Unpacking python3-markupsafe (2.1.5-1+b3) ... Selecting previously unselected package python3-jinja2. Preparing to unpack .../75-python3-jinja2_3.1.6-1_all.deb ... Unpacking python3-jinja2 (3.1.6-1) ... Selecting previously unselected package python3-uc-micro. Preparing to unpack .../76-python3-uc-micro_1.0.3-1_all.deb ... Unpacking python3-uc-micro (1.0.3-1) ... Selecting previously unselected package python3-linkify-it. Preparing to unpack .../77-python3-linkify-it_2.0.3-1_all.deb ... Unpacking python3-linkify-it (2.0.3-1) ... Selecting previously unselected package python3-mdurl. Preparing to unpack .../78-python3-mdurl_0.1.2-1_all.deb ... Unpacking python3-mdurl (0.1.2-1) ... Selecting previously unselected package python3-markdown-it. Preparing to unpack .../79-python3-markdown-it_3.0.0-3_all.deb ... Unpacking python3-markdown-it (3.0.0-3) ... Selecting previously unselected package python3-mdit-py-plugins. Preparing to unpack .../80-python3-mdit-py-plugins_0.5.0-1_all.deb ... Unpacking python3-mdit-py-plugins (0.5.0-1) ... Selecting previously unselected package python3-mypy-extensions. Preparing to unpack .../81-python3-mypy-extensions_1.1.0-1_all.deb ... Unpacking python3-mypy-extensions (1.1.0-1) ... Selecting previously unselected package python3-psutil. Preparing to unpack .../82-python3-psutil_7.0.0-2_amd64.deb ... Unpacking python3-psutil (7.0.0-2) ... Selecting previously unselected package python3-mypy. Preparing to unpack .../83-python3-mypy_1.17.1-2_amd64.deb ... Unpacking python3-mypy (1.17.1-2) ... Selecting previously unselected package sphinx-common. Preparing to unpack .../84-sphinx-common_8.1.3-5_all.deb ... Unpacking sphinx-common (8.1.3-5) ... Selecting previously unselected package python3-urllib3. Preparing to unpack .../85-python3-urllib3_2.3.0-3_all.deb ... Unpacking python3-urllib3 (2.3.0-3) ... Selecting previously unselected package python3-requests. Preparing to unpack .../86-python3-requests_2.32.4+dfsg-1_all.deb ... Unpacking python3-requests (2.32.4+dfsg-1) ... Selecting previously unselected package python3-snowballstemmer. Preparing to unpack .../87-python3-snowballstemmer_3.0.1-1_all.deb ... Unpacking python3-snowballstemmer (3.0.1-1) ... Selecting previously unselected package python3-sphinx. Preparing to unpack .../88-python3-sphinx_8.1.3-5_all.deb ... Unpacking python3-sphinx (8.1.3-5) ... Selecting previously unselected package python3-yaml. Preparing to unpack .../89-python3-yaml_6.0.2-1+b2_amd64.deb ... Unpacking python3-yaml (6.0.2-1+b2) ... Selecting previously unselected package python3-myst-parser. Preparing to unpack .../90-python3-myst-parser_4.0.1-1_all.deb ... Unpacking python3-myst-parser (4.0.1-1) ... Selecting previously unselected package python3-pydata-sphinx-theme. Preparing to unpack .../91-python3-pydata-sphinx-theme_0.16.1+dfsg-3_all.deb ... Unpacking python3-pydata-sphinx-theme (0.16.1+dfsg-3) ... Selecting previously unselected package python3-pytest. Preparing to unpack .../92-python3-pytest_8.3.5-2_all.deb ... Unpacking python3-pytest (8.3.5-2) ... Selecting previously unselected package python3-pytest-mock. Preparing to unpack .../93-python3-pytest-mock_3.14.1-1_all.deb ... Unpacking python3-pytest-mock (3.14.1-1) ... Selecting previously unselected package python3-pytest-mypy-testing. Preparing to unpack .../94-python3-pytest-mypy-testing_0.1.3-2_all.deb ... Unpacking python3-pytest-mypy-testing (0.1.3-2) ... Selecting previously unselected package sphinx-rtd-theme-common. Preparing to unpack .../95-sphinx-rtd-theme-common_3.0.2+dfsg-3_all.deb ... Unpacking sphinx-rtd-theme-common (3.0.2+dfsg-3) ... Selecting previously unselected package python3-sphinxcontrib.jquery. Preparing to unpack .../96-python3-sphinxcontrib.jquery_4.1-5_all.deb ... Unpacking python3-sphinxcontrib.jquery (4.1-5) ... Selecting previously unselected package python3-sphinx-rtd-theme. Preparing to unpack .../97-python3-sphinx-rtd-theme_3.0.2+dfsg-3_all.deb ... Unpacking python3-sphinx-rtd-theme (3.0.2+dfsg-3) ... Setting up media-types (13.0.0) ... Setting up libpipeline1:amd64 (1.5.8-1) ... Setting up fonts-lato (2.015-1) ... Setting up bsdextrautils (2.41.1-1) ... Setting up libmagic-mgc (1:5.46-5) ... Setting up libarchive-zip-perl (1.68-1) ... Setting up libyaml-0-2:amd64 (0.2.5-2) ... Setting up libxml2-16:amd64 (2.14.5+dfsg-0.1) ... Setting up libdebhelper-perl (13.25) ... Setting up libmagic1t64:amd64 (1:5.46-5) ... Setting up gettext-base (0.23.1-2+b1) ... Setting up m4 (1.4.19-8) ... Setting up file (1:5.46-5) ... Setting up node-fortawesome-fontawesome-free (6.7.2+ds1-1) ... Setting up libelf1t64:amd64 (0.192-4) ... Setting up python-babel-localedata (2.17.0-1) ... Setting up tzdata (2025b-5) ... Current default time zone: 'Etc/UTC' Local time is now: Sat Sep 26 05:58:01 UTC 2026. Universal Time is now: Sat Sep 26 05:58:01 UTC 2026. Run 'dpkg-reconfigure tzdata' if you wish to change it. Setting up autotools-dev (20240727.1) ... Setting up libunistring5:amd64 (1.3-2) ... Setting up autopoint (0.23.1-2) ... Setting up autoconf (2.72-3.1) ... Setting up libffi8:amd64 (3.4.8-2) ... Setting up dwz (0.15-1+b1) ... Setting up sensible-utils (0.0.26) ... Setting up libuchardet0:amd64 (0.0.8-1+b2) ... Setting up libjson-perl (4.10000-1) ... Setting up netbase (6.5) ... Setting up sgml-base (1.31+nmu1) ... Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... Setting up openssl (3.5.1-1) ... Setting up readline-common (8.2-6) ... Setting up fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... Setting up sphinx-rtd-theme-common (3.0.2+dfsg-3) ... Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... Setting up automake (1:1.17-4) ... update-alternatives: using /usr/bin/automake-1.17 to provide /usr/bin/automake (automake) in auto mode Setting up libfile-stripnondeterminism-perl (1.14.1-2) ... Setting up gettext (0.23.1-2+b1) ... Setting up libtool (2.5.4-4) ... Setting up intltool-debian (0.35.0+20060710.6) ... Setting up dh-autoreconf (20) ... Setting up python3.13-doc (3.13.6-1) ... Setting up ca-certificates (20250419) ... Updating certificates in /etc/ssl/certs... 150 added, 0 removed; done. Setting up libjs-sphinxdoc (8.1.3-5) ... Setting up libreadline8t64:amd64 (8.2-6) ... Setting up dh-strip-nondeterminism (1.14.1-2) ... Setting up groff-base (1.23.0-9) ... Setting up xml-core (0.19) ... Setting up libpython3.13-stdlib:amd64 (3.13.6-1) ... Setting up python3-doc (3.13.5-1) ... Setting up libpython3-stdlib:amd64 (3.13.5-1) ... Setting up python3.13 (3.13.6-1) ... Setting up po-debconf (1.0.21+nmu1) ... Setting up python3 (3.13.5-1) ... Setting up man-db (2.13.1-1) ... Not building database; man-db/auto-update is not 'true'. Setting up python3-markupsafe (2.1.5-1+b3) ... Setting up python3-uc-micro (1.0.3-1) ... Setting up python3-psutil (7.0.0-2) ... Setting up python3-roman (5.1-1) ... Setting up python3-jinja2 (3.1.6-1) ... Setting up python3-pygments (2.18.0+dfsg-2) ... Setting up python3-packaging (25.0-1) ... Setting up python3-chardet (5.2.0+dfsg-2) ... Setting up python3-pyproject-hooks (1.2.0-1) ... Setting up python3-accessible-pygments (0.0.5-2) ... Setting up python3-certifi (2025.1.31+ds-1) ... Setting up python3-snowballstemmer (3.0.1-1) ... Setting up python3-mdurl (0.1.2-1) ... Setting up sphinx-common (8.1.3-5) ... Setting up python3-idna (3.10-1) ... Setting up python3-typing-extensions (4.14.1-1) ... Setting up python3-installer (0.7.0+dfsg1-3) ... Setting up python3-urllib3 (2.3.0-3) ... Setting up python3-pluggy (1.6.0-1) ... Setting up python3-trove-classifiers (2025.4.28.22-1) ... Setting up python3-linkify-it (2.0.3-1) ... Setting up python3-argcomplete (3.6.2-1) ... Setting up python3-pathspec (0.12.1-1) ... Setting up python3-soupsieve (2.7-2) ... Setting up python3-imagesize (1.4.1-1) ... Setting up dh-python (6.20250414) ... Setting up python3-iniconfig (1.1.1-2) ... Setting up python3-babel (2.17.0-1) ... update-alternatives: using /usr/bin/pybabel-python3 to provide /usr/bin/pybabel (pybabel) in auto mode Setting up python3-defusedxml (0.7.1-3) ... Setting up python3-charset-normalizer (3.4.3-1) ... Setting up python3-pytest (8.3.5-2) ... Setting up python3-alabaster (0.7.16-0.1) ... Setting up python3-mypy-extensions (1.1.0-1) ... Setting up python3-all (3.13.5-1) ... Setting up python3-yaml (6.0.2-1+b2) ... Setting up debhelper (13.25) ... Setting up python3-wheel (0.46.1-2) ... Setting up python3-bs4 (4.13.4-4) ... Setting up python3-requests (2.32.4+dfsg-1) ... Setting up python3-mypy (1.17.1-2) ... Setting up python3-pytest-mypy-testing (0.1.3-2) ... Setting up python3-markdown-it (3.0.0-3) ... Setting up python3-pytest-mock (3.14.1-1) ... Setting up python3-hatchling (1.27.0-1) ... Setting up python3-build (1.2.2-4) ... Setting up pybuild-plugin-pyproject (6.20250414) ... Setting up python3-mdit-py-plugins (0.5.0-1) ... Processing triggers for libc-bin (2.41-12) ... Processing triggers for sgml-base (1.31+nmu1) ... Setting up docutils-common (0.21.2+dfsg-2) ... Processing triggers for sgml-base (1.31+nmu1) ... Setting up python3-docutils (0.21.2+dfsg-2) ... Setting up python3-sphinx (8.1.3-5) ... Setting up python3-myst-parser (4.0.1-1) ... Setting up python3-sphinxcontrib.jquery (4.1-5) ... Setting up python3-pydata-sphinx-theme (0.16.1+dfsg-3) ... Setting up python3-sphinx-rtd-theme (3.0.2+dfsg-3) ... Processing triggers for ca-certificates (20250419) ... Updating certificates in /etc/ssl/certs... 0 added, 0 removed; done. Running hooks in /etc/ca-certificates/update.d... done. Reading package lists... Building dependency tree... Reading state information... Reading extended state information... Initializing package states... Writing extended state information... Building tag database... -> Finished parsing the build-deps I: Building the package I: Running cd /build/reproducible-path/traitlets-5.14.3+really5.14.3/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-genchanges -S > ../traitlets_5.14.3+really5.14.3-1_source.changes dpkg-buildpackage: info: source package traitlets dpkg-buildpackage: info: source version 5.14.3+really5.14.3-1 dpkg-buildpackage: info: source distribution unstable dpkg-buildpackage: info: source changed by Julian Gilbey dpkg-source --before-build . dpkg-buildpackage: info: host architecture amd64 debian/rules clean dh clean --with sphinxdoc --buildsystem=pybuild dh_auto_clean -O--buildsystem=pybuild debian/rules execute_after_dh_auto_clean make[1]: Entering directory '/build/reproducible-path/traitlets-5.14.3+really5.14.3' rm -rf docs/build docs/source/changelog.md make[1]: Leaving directory '/build/reproducible-path/traitlets-5.14.3+really5.14.3' dh_autoreconf_clean -O--buildsystem=pybuild dh_clean -O--buildsystem=pybuild debian/rules binary dh binary --with sphinxdoc --buildsystem=pybuild dh_update_autotools_config -O--buildsystem=pybuild dh_autoreconf -O--buildsystem=pybuild dh_auto_configure -O--buildsystem=pybuild dh_auto_build -O--buildsystem=pybuild I: pybuild plugin_pyproject:129: Building wheel for python3.13 with "build" module I: pybuild base:311: python3.13 -m build --skip-dependency-check --no-isolation --wheel --outdir /build/reproducible-path/traitlets-5.14.3+really5.14.3/.pybuild/cpython3_3.13_traitlets * Building wheel... Successfully built traitlets-5.14.3-py3-none-any.whl I: pybuild plugin_pyproject:144: Unpacking wheel built for python3.13 with "installer" module debian/rules execute_after_dh_auto_build make[1]: Entering directory '/build/reproducible-path/traitlets-5.14.3+really5.14.3' PYTHONPATH=$(pwd) make -C docs html make[2]: Entering directory '/build/reproducible-path/traitlets-5.14.3+really5.14.3/docs' sphinx-build -b html -d build/doctrees source build/html Running Sphinx v8.1.3 loading translations [en]... done making output directory... done Converting `source_suffix = '.rst'` to `source_suffix = {'.rst': 'restructuredtext'}`. myst v4.0.1: MdParserConfig(commonmark_only=False, gfm_only=False, enable_extensions=set(), disable_syntax=[], all_links_external=False, links_external_new_tab=False, url_schemes=('http', 'https', 'mailto', 'ftp'), ref_domains=None, fence_as_directive=set(), number_code_blocks=[], title_to_header=False, heading_anchors=0, heading_slug_func=None, html_meta={}, footnote_sort=True, footnote_transition=True, words_per_minute=200, substitutions={}, linkify_fuzzy_links=True, dmath_allow_labels=True, dmath_allow_space=True, dmath_allow_digits=True, dmath_double_inline=False, update_mathjax=True, mathjax_classes='tex2jax_process|mathjax_process|math|output_area', enable_checkboxes=False, suppress_warnings=[], highlight_code_blocks=True) loading intersphinx inventory 'python' from /usr/share/doc/python3-doc/html/objects.inv ... building [mo]: targets for 0 po files that are out of date writing output... building [html]: targets for 10 source files that are out of date updating environment: [new config] 10 added, 0 changed, 0 removed reading sources... [ 10%] api reading sources... [ 20%] changelog reading sources... [ 30%] config reading sources... [ 40%] config-api reading sources... [ 50%] defining_traits reading sources... [ 60%] index reading sources... [ 70%] migration reading sources... [ 80%] trait_types reading sources... [ 90%] using_traitlets reading sources... [100%] utils looking for now-outdated files... none found pickling environment... done checking consistency... done preparing documents... done copying assets... copying static files... Writing evaluated template result to /build/reproducible-path/traitlets-5.14.3+really5.14.3/docs/build/html/_static/documentation_options.js Writing evaluated template result to /build/reproducible-path/traitlets-5.14.3+really5.14.3/docs/build/html/_static/language_data.js Writing evaluated template result to /build/reproducible-path/traitlets-5.14.3+really5.14.3/docs/build/html/_static/basic.css copying static files: done copying extra files... copying extra files: done copying assets: done writing output... [ 10%] api writing output... [ 20%] changelog writing output... [ 30%] config writing output... [ 40%] config-api writing output... [ 50%] defining_traits writing output... [ 60%] index writing output... [ 70%] migration writing output... [ 80%] trait_types writing output... [ 90%] using_traitlets writing output... [100%] utils generating indices... genindex py-modindex done writing additional pages... search done dumping search index in English (code: en)... done dumping object inventory... done build succeeded. The HTML pages are in build/html. Build finished. The HTML pages are in build/html. make[2]: Leaving directory '/build/reproducible-path/traitlets-5.14.3+really5.14.3/docs' make[1]: Leaving directory '/build/reproducible-path/traitlets-5.14.3+really5.14.3' dh_auto_test -O--buildsystem=pybuild I: pybuild base:311: cd /build/reproducible-path/traitlets-5.14.3+really5.14.3/.pybuild/cpython3_3.13_traitlets/build; python3.13 -m pytest tests ============================= test session starts ============================== platform linux -- Python 3.13.6, pytest-8.3.5, pluggy-1.6.0 rootdir: /build/reproducible-path/traitlets-5.14.3+really5.14.3/.pybuild/cpython3_3.13_traitlets/build configfile: pyproject.toml plugins: mypy-testing-0.1.3, mock-3.14.1 collected 588 items tests/_warnings.py .s [ 0%] tests/config/test_application.py ....................................... [ 6%] ...... [ 7%] tests/config/test_argcomplete.py ...... [ 9%] tests/config/test_configurable.py ................................... [ 14%] tests/config/test_loader.py ............................................ [ 22%] .................. [ 25%] tests/test_traitlets.py ................................................ [ 33%] ........................................................................ [ 45%] ........................................................................ [ 58%] ........................................................................ [ 70%] ........................................................................ [ 82%] ..................................................... [ 91%] tests/test_traitlets_docstring.py . [ 91%] tests/test_traitlets_enum.py ........................ [ 95%] tests/test_typing.py FFFFFFFFFFFFFFF [ 98%] tests/utils/test_bunch.py .. [ 98%] tests/utils/test_decorators.py ..... [ 99%] tests/utils/test_importstring.py .. [100%] =================================== FAILURES =================================== _________________________ [mypy]mypy_decorator_typing __________________________ cls = func = . at 0x7f851e90a8e0> when = 'call' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]:  """Call func, wrapping the result in a CallInfo.   :param func:  The function to call. Called without arguments.  :type func: Callable[[], _pytest.runner.TResult]  :param when:  The phase in which the function is called.  :param reraise:  Exception or exceptions that shall propagate if raised by the  function, instead of being wrapped in the CallInfo.  """ excinfo = None start = timing.time() precise_start = timing.perf_counter() try: > result: TResult | None = func() cls = duration = 23.355034790933132 excinfo = func = . at 0x7f851e90a8e0> precise_start = 550819.765620528 precise_stop = 550843.120655319 reraise = (, ) result = None start = 1790402357.4617717 stop = 1790402380.8168097 when = 'call' /usr/lib/python3/dist-packages/_pytest/runner.py:341: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ >  lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise ) item = kwds = {} runtest_hook = /usr/lib/python3/dist-packages/_pytest/runner.py:242: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = kwargs = {'item': } firstresult = False def __call__(self, **kwargs: object) -> Any:  """Call the hook.   Only accepts keyword arguments, which should match the hook  specification.   Returns the result(s) of calling all registered plugins, see  :ref:`calling`.  """ assert not self.is_historic(), ( "Cannot directly call a historic hook - use call_historic instead." ) self._verify_all_args_are_provided(kwargs) firstresult = self.spec.opts.get("firstresult", False) if self.spec else False # Copy because plugins may register other plugins during iteration (#438). > return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) firstresult = False kwargs = {'item': } self = /usr/lib/python3/dist-packages/pluggy/_hooks.py:512: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.config.PytestPluginManager object at 0x7f8521f1f230> hook_name = 'pytest_runtest_call' methods = [>] kwargs = {'item': } firstresult = False def _hookexec( self, hook_name: str, methods: Sequence[HookImpl], kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]: # called from all hookcaller instances. # enable_tracing will set its own wrapping function at self._inner_hookexec > return self._inner_hookexec(hook_name, methods, kwargs, firstresult) firstresult = False hook_name = 'pytest_runtest_call' kwargs = {'item': } methods = [>] self = <_pytest.config.PytestPluginManager object at 0x7f8521f1f230> /usr/lib/python3/dist-packages/pluggy/_manager.py:120: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook_name = 'pytest_runtest_call' hook_impls = [>] caller_kwargs = {'item': } firstresult = False def _multicall( hook_name: str, hook_impls: Sequence[HookImpl], caller_kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]:  """Execute a call into multiple python functions/methods and return the  result(s).   ``caller_kwargs`` comes from HookCaller.__call__().  """ __tracebackhide__ = True results: list[object] = [] exception = None try: # run impl and wrapper setup functions in a loop teardowns: list[Teardown] = [] try: for hook_impl in reversed(hook_impls): try: args = [caller_kwargs[argname] for argname in hook_impl.argnames] except KeyError as e: # coverage bug - this is tested for argname in hook_impl.argnames: # pragma: no cover if argname not in caller_kwargs: raise HookCallError( f"hook call must provide argument {argname!r}" ) from e  if hook_impl.hookwrapper: function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)  next(function_gen) # first yield teardowns.append(function_gen)  elif hook_impl.wrapper: try: # If this cast is not valid, a type error is raised below, # which is the desired response. res = hook_impl.function(*args) function_gen = cast(Generator[None, object, object], res) next(function_gen) # first yield teardowns.append(function_gen) except StopIteration: _raise_wrapfail(function_gen, "did not yield") else: res = hook_impl.function(*args) if res is not None: results.append(res) if firstresult: # halt further impl calls break except BaseException as exc: exception = exc finally: if firstresult: # first result hooks return a single value result = results[0] if results else None else: result = results  # run all wrapper post-yield blocks for teardown in reversed(teardowns): try: if exception is not None: try: teardown.throw(exception) except RuntimeError as re: # StopIteration from generator causes RuntimeError # even for coroutine usage - see #544 if ( isinstance(exception, StopIteration) and re.__cause__ is exception ): teardown.close() continue else: raise else: teardown.send(result) # Following is unreachable for a well behaved hook wrapper. # Try to force finalizers otherwise postponed till GC action. # Note: close() may raise if generator handles GeneratorExit. teardown.close() except StopIteration as si: result = si.value exception = None continue except BaseException as e: exception = e continue _raise_wrapfail(teardown, "has second yield")  if exception is not None: > raise exception __tracebackhide__ = True args = [] caller_kwargs = {'item': } exception = ValueError('Not a valid mypy message') firstresult = False function_gen = hook_impl = > hook_impls = [>] hook_name = 'pytest_runtest_call' res = result = [] results = [] teardown = teardowns = [, , <...object CaptureManager.pytest_runtest_call at 0x7f851f4260a0>, ] /usr/lib/python3/dist-packages/pluggy/_callers.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook_name = 'pytest_runtest_call' hook_impls = [>] caller_kwargs = {'item': } firstresult = False def _multicall( hook_name: str, hook_impls: Sequence[HookImpl], caller_kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]:  """Execute a call into multiple python functions/methods and return the  result(s).   ``caller_kwargs`` comes from HookCaller.__call__().  """ __tracebackhide__ = True results: list[object] = [] exception = None try: # run impl and wrapper setup functions in a loop teardowns: list[Teardown] = [] try: for hook_impl in reversed(hook_impls): try: args = [caller_kwargs[argname] for argname in hook_impl.argnames] except KeyError as e: # coverage bug - this is tested for argname in hook_impl.argnames: # pragma: no cover if argname not in caller_kwargs: raise HookCallError( f"hook call must provide argument {argname!r}" ) from e  if hook_impl.hookwrapper: function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)  next(function_gen) # first yield teardowns.append(function_gen)  elif hook_impl.wrapper: try: # If this cast is not valid, a type error is raised below, # which is the desired response. res = hook_impl.function(*args) function_gen = cast(Generator[None, object, object], res) next(function_gen) # first yield teardowns.append(function_gen) except StopIteration: _raise_wrapfail(function_gen, "did not yield") else: res = hook_impl.function(*args) if res is not None: results.append(res) if firstresult: # halt further impl calls break except BaseException as exc: exception = exc finally: if firstresult: # first result hooks return a single value result = results[0] if results else None else: result = results  # run all wrapper post-yield blocks for teardown in reversed(teardowns): try: if exception is not None: try: > teardown.throw(exception) __tracebackhide__ = True args = [] caller_kwargs = {'item': } exception = ValueError('Not a valid mypy message') firstresult = False function_gen = hook_impl = > hook_impls = [>] hook_name = 'pytest_runtest_call' res = result = [] results = [] teardown = teardowns = [, , <...object CaptureManager.pytest_runtest_call at 0x7f851f4260a0>, ] /usr/lib/python3/dist-packages/pluggy/_callers.py:139: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ @pytest.hookimpl(wrapper=True, tryfirst=True) def pytest_runtest_call() -> Generator[None]: > yield from thread_exception_runtest_hook() /usr/lib/python3/dist-packages/_pytest/threadexception.py:92: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def thread_exception_runtest_hook() -> Generator[None]: with catch_threading_exception() as cm: try: > yield cm = <_pytest.threadexception.catch_threading_exception object at 0x7f851ede2db0> /usr/lib/python3/dist-packages/_pytest/threadexception.py:68: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook_name = 'pytest_runtest_call' hook_impls = [>] caller_kwargs = {'item': } firstresult = False def _multicall( hook_name: str, hook_impls: Sequence[HookImpl], caller_kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]:  """Execute a call into multiple python functions/methods and return the  result(s).   ``caller_kwargs`` comes from HookCaller.__call__().  """ __tracebackhide__ = True results: list[object] = [] exception = None try: # run impl and wrapper setup functions in a loop teardowns: list[Teardown] = [] try: for hook_impl in reversed(hook_impls): try: args = [caller_kwargs[argname] for argname in hook_impl.argnames] except KeyError as e: # coverage bug - this is tested for argname in hook_impl.argnames: # pragma: no cover if argname not in caller_kwargs: raise HookCallError( f"hook call must provide argument {argname!r}" ) from e  if hook_impl.hookwrapper: function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)  next(function_gen) # first yield teardowns.append(function_gen)  elif hook_impl.wrapper: try: # If this cast is not valid, a type error is raised below, # which is the desired response. res = hook_impl.function(*args) function_gen = cast(Generator[None, object, object], res) next(function_gen) # first yield teardowns.append(function_gen) except StopIteration: _raise_wrapfail(function_gen, "did not yield") else: res = hook_impl.function(*args) if res is not None: results.append(res) if firstresult: # halt further impl calls break except BaseException as exc: exception = exc finally: if firstresult: # first result hooks return a single value result = results[0] if results else None else: result = results  # run all wrapper post-yield blocks for teardown in reversed(teardowns): try: if exception is not None: try: > teardown.throw(exception) __tracebackhide__ = True args = [] caller_kwargs = {'item': } exception = ValueError('Not a valid mypy message') firstresult = False function_gen = hook_impl = > hook_impls = [>] hook_name = 'pytest_runtest_call' res = result = [] results = [] teardown = teardowns = [, , <...object CaptureManager.pytest_runtest_call at 0x7f851f4260a0>, ] /usr/lib/python3/dist-packages/pluggy/_callers.py:139: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ @pytest.hookimpl(wrapper=True, tryfirst=True) def pytest_runtest_call() -> Generator[None]: > yield from unraisable_exception_runtest_hook() /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:95: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def unraisable_exception_runtest_hook() -> Generator[None]: with catch_unraisable_exception() as cm: try: > yield cm = <_pytest.unraisableexception.catch_unraisable_exception object at 0x7f851ede2f30> /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook_name = 'pytest_runtest_call' hook_impls = [>] caller_kwargs = {'item': } firstresult = False def _multicall( hook_name: str, hook_impls: Sequence[HookImpl], caller_kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]:  """Execute a call into multiple python functions/methods and return the  result(s).   ``caller_kwargs`` comes from HookCaller.__call__().  """ __tracebackhide__ = True results: list[object] = [] exception = None try: # run impl and wrapper setup functions in a loop teardowns: list[Teardown] = [] try: for hook_impl in reversed(hook_impls): try: args = [caller_kwargs[argname] for argname in hook_impl.argnames] except KeyError as e: # coverage bug - this is tested for argname in hook_impl.argnames: # pragma: no cover if argname not in caller_kwargs: raise HookCallError( f"hook call must provide argument {argname!r}" ) from e  if hook_impl.hookwrapper: function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)  next(function_gen) # first yield teardowns.append(function_gen)  elif hook_impl.wrapper: try: # If this cast is not valid, a type error is raised below, # which is the desired response. res = hook_impl.function(*args) function_gen = cast(Generator[None, object, object], res) next(function_gen) # first yield teardowns.append(function_gen) except StopIteration: _raise_wrapfail(function_gen, "did not yield") else: res = hook_impl.function(*args) if res is not None: results.append(res) if firstresult: # halt further impl calls break except BaseException as exc: exception = exc finally: if firstresult: # first result hooks return a single value result = results[0] if results else None else: result = results  # run all wrapper post-yield blocks for teardown in reversed(teardowns): try: if exception is not None: try: > teardown.throw(exception) __tracebackhide__ = True args = [] caller_kwargs = {'item': } exception = ValueError('Not a valid mypy message') firstresult = False function_gen = hook_impl = > hook_impls = [>] hook_name = 'pytest_runtest_call' res = result = [] results = [] teardown = teardowns = [, , <...object CaptureManager.pytest_runtest_call at 0x7f851f4260a0>, ] /usr/lib/python3/dist-packages/pluggy/_callers.py:139: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.logging.LoggingPlugin object at 0x7f851f45e120> item = @hookimpl(wrapper=True) def pytest_runtest_call(self, item: nodes.Item) -> Generator[None]: self.log_cli_handler.set_when("call")  > yield from self._runtest_for(item, "call") item = self = <_pytest.logging.LoggingPlugin object at 0x7f851f45e120> /usr/lib/python3/dist-packages/_pytest/logging.py:846: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.logging.LoggingPlugin object at 0x7f851f45e120> item = , when = 'call' def _runtest_for(self, item: nodes.Item, when: str) -> Generator[None]:  """Implement the internals of the pytest_runtest_xxx() hooks.""" with catching_logs( self.caplog_handler, level=self.log_level, ) as caplog_handler, catching_logs( self.report_handler, level=self.log_level, ) as report_handler: caplog_handler.reset() report_handler.reset() item.stash[caplog_records_key][when] = caplog_handler.records item.stash[caplog_handler_key] = caplog_handler  try: > yield caplog_handler = item = log = '' report_handler = self = <_pytest.logging.LoggingPlugin object at 0x7f851f45e120> when = 'call' /usr/lib/python3/dist-packages/_pytest/logging.py:829: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook_name = 'pytest_runtest_call' hook_impls = [>] caller_kwargs = {'item': } firstresult = False def _multicall( hook_name: str, hook_impls: Sequence[HookImpl], caller_kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]:  """Execute a call into multiple python functions/methods and return the  result(s).   ``caller_kwargs`` comes from HookCaller.__call__().  """ __tracebackhide__ = True results: list[object] = [] exception = None try: # run impl and wrapper setup functions in a loop teardowns: list[Teardown] = [] try: for hook_impl in reversed(hook_impls): try: args = [caller_kwargs[argname] for argname in hook_impl.argnames] except KeyError as e: # coverage bug - this is tested for argname in hook_impl.argnames: # pragma: no cover if argname not in caller_kwargs: raise HookCallError( f"hook call must provide argument {argname!r}" ) from e  if hook_impl.hookwrapper: function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)  next(function_gen) # first yield teardowns.append(function_gen)  elif hook_impl.wrapper: try: # If this cast is not valid, a type error is raised below, # which is the desired response. res = hook_impl.function(*args) function_gen = cast(Generator[None, object, object], res) next(function_gen) # first yield teardowns.append(function_gen) except StopIteration: _raise_wrapfail(function_gen, "did not yield") else: res = hook_impl.function(*args) if res is not None: results.append(res) if firstresult: # halt further impl calls break except BaseException as exc: exception = exc finally: if firstresult: # first result hooks return a single value result = results[0] if results else None else: result = results  # run all wrapper post-yield blocks for teardown in reversed(teardowns): try: if exception is not None: try: > teardown.throw(exception) __tracebackhide__ = True args = [] caller_kwargs = {'item': } exception = ValueError('Not a valid mypy message') firstresult = False function_gen = hook_impl = > hook_impls = [>] hook_name = 'pytest_runtest_call' res = result = [] results = [] teardown = teardowns = [, , <...object CaptureManager.pytest_runtest_call at 0x7f851f4260a0>, ] /usr/lib/python3/dist-packages/pluggy/_callers.py:139: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = > _state='suspended' _in_suspended=False> _capture_fixture=None> item = @hookimpl(wrapper=True) def pytest_runtest_call(self, item: Item) -> Generator[None]: with self.item_capture("call", item): > return (yield) item = self = > _state='suspended' _in_suspended=False> _capture_fixture=None> /usr/lib/python3/dist-packages/_pytest/capture.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook_name = 'pytest_runtest_call' hook_impls = [>] caller_kwargs = {'item': } firstresult = False def _multicall( hook_name: str, hook_impls: Sequence[HookImpl], caller_kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]:  """Execute a call into multiple python functions/methods and return the  result(s).   ``caller_kwargs`` comes from HookCaller.__call__().  """ __tracebackhide__ = True results: list[object] = [] exception = None try: # run impl and wrapper setup functions in a loop teardowns: list[Teardown] = [] try: for hook_impl in reversed(hook_impls): try: args = [caller_kwargs[argname] for argname in hook_impl.argnames] except KeyError as e: # coverage bug - this is tested for argname in hook_impl.argnames: # pragma: no cover if argname not in caller_kwargs: raise HookCallError( f"hook call must provide argument {argname!r}" ) from e  if hook_impl.hookwrapper: function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)  next(function_gen) # first yield teardowns.append(function_gen)  elif hook_impl.wrapper: try: # If this cast is not valid, a type error is raised below, # which is the desired response. res = hook_impl.function(*args) function_gen = cast(Generator[None, object, object], res) next(function_gen) # first yield teardowns.append(function_gen) except StopIteration: _raise_wrapfail(function_gen, "did not yield") else: res = hook_impl.function(*args) if res is not None: results.append(res) if firstresult: # halt further impl calls break except BaseException as exc: exception = exc finally: if firstresult: # first result hooks return a single value result = results[0] if results else None else: result = results  # run all wrapper post-yield blocks for teardown in reversed(teardowns): try: if exception is not None: try: > teardown.throw(exception) __tracebackhide__ = True args = [] caller_kwargs = {'item': } exception = ValueError('Not a valid mypy message') firstresult = False function_gen = hook_impl = > hook_impls = [>] hook_name = 'pytest_runtest_call' res = result = [] results = [] teardown = teardowns = [, , <...object CaptureManager.pytest_runtest_call at 0x7f851f4260a0>, ] /usr/lib/python3/dist-packages/pluggy/_callers.py:139: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ item = @hookimpl(wrapper=True) def pytest_runtest_call(item: Item) -> Generator[None]: xfailed = item.stash.get(xfailed_key, None) if xfailed is None: item.stash[xfailed_key] = xfailed = evaluate_xfail_marks(item)  if xfailed and not item.config.option.runxfail and not xfailed.run: xfail("[NOTRUN] " + xfailed.reason)  try: > return (yield) item = xfailed = None /usr/lib/python3/dist-packages/_pytest/skipping.py:257: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook_name = 'pytest_runtest_call' hook_impls = [>] caller_kwargs = {'item': } firstresult = False def _multicall( hook_name: str, hook_impls: Sequence[HookImpl], caller_kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]:  """Execute a call into multiple python functions/methods and return the  result(s).   ``caller_kwargs`` comes from HookCaller.__call__().  """ __tracebackhide__ = True results: list[object] = [] exception = None try: # run impl and wrapper setup functions in a loop teardowns: list[Teardown] = [] try: for hook_impl in reversed(hook_impls): try: args = [caller_kwargs[argname] for argname in hook_impl.argnames] except KeyError as e: # coverage bug - this is tested for argname in hook_impl.argnames: # pragma: no cover if argname not in caller_kwargs: raise HookCallError( f"hook call must provide argument {argname!r}" ) from e  if hook_impl.hookwrapper: function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)  next(function_gen) # first yield teardowns.append(function_gen)  elif hook_impl.wrapper: try: # If this cast is not valid, a type error is raised below, # which is the desired response. res = hook_impl.function(*args) function_gen = cast(Generator[None, object, object], res) next(function_gen) # first yield teardowns.append(function_gen) except StopIteration: _raise_wrapfail(function_gen, "did not yield") else: > res = hook_impl.function(*args) __tracebackhide__ = True args = [] caller_kwargs = {'item': } exception = ValueError('Not a valid mypy message') firstresult = False function_gen = hook_impl = > hook_impls = [>] hook_name = 'pytest_runtest_call' res = result = [] results = [] teardown = teardowns = [, , <...object CaptureManager.pytest_runtest_call at 0x7f851f4260a0>, ] /usr/lib/python3/dist-packages/pluggy/_callers.py:121: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ item = def pytest_runtest_call(item: Item) -> None: _update_current_test_var(item, "call") try: del sys.last_type del sys.last_value del sys.last_traceback if sys.version_info >= (3, 12, 0): del sys.last_exc # type:ignore[attr-defined] except AttributeError: pass try: > item.runtest() item = /usr/lib/python3/dist-packages/_pytest/runner.py:174: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def runtest(self) -> None: > returncode, actual_messages = self.parent.run_mypy(self.mypy_item) self = /usr/lib/python3/dist-packages/pytest_mypy_testing/plugin.py:64: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = item = MypyTestItem(name='mypy_decorator_typing', lineno=44, end_lineno=64, expected_messages=[Message(filename='/build/repro...', error_code=None)], func_node=, marks={'mypy_testing'}, actual_messages=[]) def run_mypy(self, item: MypyTestItem) -> Tuple[int, List[Message]]: if self._mypy_result is None: > self._mypy_result = self._run_mypy(self.path) item = MypyTestItem(name='mypy_decorator_typing', lineno=44, end_lineno=64, expected_messages=[Message(filename='/build/repro...', error_code=None)], func_node=, marks={'mypy_testing'}, actual_messages=[]) self = /usr/lib/python3/dist-packages/pytest_mypy_testing/plugin.py:136: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = filename = PosixPath('/build/reproducible-path/traitlets-5.14.3+really5.14.3/.pybuild/cpython3_3.13_traitlets/build/tests/test_typing.py') def _run_mypy(self, filename: Union[pathlib.Path, os.PathLike, str]) -> MypyResult: filename = pathlib.Path(filename) with tempfile.TemporaryDirectory(prefix="pytest-mypy-testing-") as tmp_dir_name: mypy_cache_dir = os.path.join(tmp_dir_name, "mypy_cache") os.makedirs(mypy_cache_dir)  mypy_args = [ "--cache-dir={}".format(mypy_cache_dir), "--check-untyped-defs", "--hide-error-context", "--no-color-output", "--no-error-summary", "--no-pretty", "--soft-error-limit=-1", "--no-silence-site-packages", "--no-warn-unused-configs", "--show-column-numbers", "--show-error-codes", "--show-traceback", str(filename), ]  out, err, returncode = mypy.api.run(mypy_args)  lines = (out + err).splitlines()  file_messages = [ msg > for msg in map(Message.from_output, lines) if (msg.filename == self.mypy_file.filename) and not ( msg.severity is Severity.NOTE and msg.message == "See https://mypy.readthedocs.io/en/stable/running_mypy.html#missing-imports" ) ] err = 'pyproject.toml: [mypy]: python_version: Python 3.8 is not supported (must be 3.9 or higher)\n' filename = PosixPath('/build/reproducible-path/traitlets-5.14.3+really5.14.3/.pybuild/cpython3_3.13_traitlets/build/tests/test_typing.py') lines = ['/usr/lib/python3/dist-packages/mypy/typeshed/stdlib/builtins.pyi:1244:27: error: Class cannot subclass "Any" (has ty...ist-packages/argcomplete/packages/_shlex.py:74:5: error: Function is missing a type annotation [no-untyped-def]', ...] mypy_args = ['--cache-dir=/tmp/pytest-mypy-testing-_e7demuo/mypy_cache', '--check-untyped-defs', '--hide-error-context', '--no-color-output', '--no-error-summary', '--no-pretty', ...] mypy_cache_dir = '/tmp/pytest-mypy-testing-_e7demuo/mypy_cache' out = '/usr/lib/python3/dist-packages/mypy/typeshed/stdlib/builtins.pyi:1244:27: error: Class cannot subclass "Any" (has typ...:454:14: error: Incompatible types in assignment (expression has type "None", variable has type "Foo") [assignment]\n' returncode = 1 self = tmp_dir_name = '/tmp/pytest-mypy-testing-_e7demuo' /usr/lib/python3/dist-packages/pytest_mypy_testing/plugin.py:173: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = line = 'pyproject.toml: [mypy]: python_version: Python 3.8 is not supported (must be 3.9 or higher)' @classmethod def from_output(cls, line: str) -> "Message":  """Create message object from mypy output line.   >>> m = Message.from_output("z.py:1: note: bar")  >>> (m.lineno, m.colno, m.severity, m.message, m.revealed_type, m.error_code)  (1, None, Severity.NOTE, 'bar', None, None)   >>> m = Message.from_output("z.py:1:13: note: bar")  >>> (m.lineno, m.colno, m.severity, m.message, m.revealed_type, m.error_code)  (1, 13, Severity.NOTE, 'bar', None, None)   >>> m = Message.from_output("z.py:1: note: Revealed type is 'bar'")  >>> (m.lineno, m.colno, m.severity, m.message, m.revealed_type, m.error_code)  (1, None, Severity.NOTE, "Revealed type is 'bar'", 'bar', None)   >>> m = Message.from_output('z.py:1: note: Revealed type is "bar"')  >>> (m.lineno, m.colno, m.severity, m.message, m.revealed_type, m.error_code)  (1, None, Severity.NOTE, 'Revealed type is "bar"', 'bar', None)   >>> m = Message.from_output("z.py:1:13: error: bar [baz]")  >>> (m.lineno, m.colno, m.severity, m.message, m.revealed_type, m.error_code)  (1, 13, Severity.ERROR, 'bar', None, 'baz')   """ m = cls.OUTPUT_RE.match(line) if not m: > raise ValueError("Not a valid mypy message") E ValueError: Not a valid mypy message cls = line = 'pyproject.toml: [mypy]: python_version: Python 3.8 is not supported (must be 3.9 or higher)' m = None /usr/lib/python3/dist-packages/pytest_mypy_testing/message.py:295: ValueError ___________________________ [mypy]mypy_config_typing ___________________________ cls = func = . at 0x7f851e3c1760> when = 'call' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]:  """Call func, wrapping the result in a CallInfo.   :param func:  The function to call. Called without arguments.  :type func: Callable[[], _pytest.runner.TResult]  :param when:  The phase in which the function is called.  :param reraise:  Exception or exceptions that shall propagate if raised by the  function, instead of being wrapped in the CallInfo.  """ excinfo = None start = timing.time() precise_start = timing.perf_counter() try: > result: TResult | None = func() cls = duration = 21.89528858603444 excinfo = func = . at 0x7f851e3c1760> precise_start = 550843.297614158 precise_stop = 550865.192902744 reraise = (, ) result = None start = 1790402380.9937654 stop = 1790402402.8890576 when = 'call' /usr/lib/python3/dist-packages/_pytest/runner.py:341: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ >  lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise ) item = kwds = {} runtest_hook = /usr/lib/python3/dist-packages/_pytest/runner.py:242: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = kwargs = {'item': } firstresult = False def __call__(self, **kwargs: object) -> Any:  """Call the hook.   Only accepts keyword arguments, which should match the hook  specification.   Returns the result(s) of calling all registered plugins, see  :ref:`calling`.  """ assert not self.is_historic(), ( "Cannot directly call a historic hook - use call_historic instead." ) self._verify_all_args_are_provided(kwargs) firstresult = self.spec.opts.get("firstresult", False) if self.spec else False # Copy because plugins may register other plugins during iteration (#438). > return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) firstresult = False kwargs = {'item': } self = /usr/lib/python3/dist-packages/pluggy/_hooks.py:512: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.config.PytestPluginManager object at 0x7f8521f1f230> hook_name = 'pytest_runtest_call' methods = [>] kwargs = {'item': } firstresult = False def _hookexec( self, hook_name: str, methods: Sequence[HookImpl], kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]: # called from all hookcaller instances. # enable_tracing will set its own wrapping function at self._inner_hookexec > return self._inner_hookexec(hook_name, methods, kwargs, firstresult) firstresult = False hook_name = 'pytest_runtest_call' kwargs = {'item': } methods = [>] self = <_pytest.config.PytestPluginManager object at 0x7f8521f1f230> /usr/lib/python3/dist-packages/pluggy/_manager.py:120: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook_name = 'pytest_runtest_call' hook_impls = [>] caller_kwargs = {'item': } firstresult = False def _multicall( hook_name: str, hook_impls: Sequence[HookImpl], caller_kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]:  """Execute a call into multiple python functions/methods and return the  result(s).   ``caller_kwargs`` comes from HookCaller.__call__().  """ __tracebackhide__ = True results: list[object] = [] exception = None try: # run impl and wrapper setup functions in a loop teardowns: list[Teardown] = [] try: for hook_impl in reversed(hook_impls): try: args = [caller_kwargs[argname] for argname in hook_impl.argnames] except KeyError as e: # coverage bug - this is tested for argname in hook_impl.argnames: # pragma: no cover if argname not in caller_kwargs: raise HookCallError( f"hook call must provide argument {argname!r}" ) from e  if hook_impl.hookwrapper: function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)  next(function_gen) # first yield teardowns.append(function_gen)  elif hook_impl.wrapper: try: # If this cast is not valid, a type error is raised below, # which is the desired response. res = hook_impl.function(*args) function_gen = cast(Generator[None, object, object], res) next(function_gen) # first yield teardowns.append(function_gen) except StopIteration: _raise_wrapfail(function_gen, "did not yield") else: res = hook_impl.function(*args) if res is not None: results.append(res) if firstresult: # halt further impl calls break except BaseException as exc: exception = exc finally: if firstresult: # first result hooks return a single value result = results[0] if results else None else: result = results  # run all wrapper post-yield blocks for teardown in reversed(teardowns): try: if exception is not None: try: teardown.throw(exception) except RuntimeError as re: # StopIteration from generator causes RuntimeError # even for coroutine usage - see #544 if ( isinstance(exception, StopIteration) and re.__cause__ is exception ): teardown.close() continue else: raise else: teardown.send(result) # Following is unreachable for a well behaved hook wrapper. # Try to force finalizers otherwise postponed till GC action. # Note: close() may raise if generator handles GeneratorExit. teardown.close() except StopIteration as si: result = si.value exception = None continue except BaseException as e: exception = e continue _raise_wrapfail(teardown, "has second yield")  if exception is not None: > raise exception __tracebackhide__ = True args = [] caller_kwargs = {'item': } exception = ValueError('Not a valid mypy message') firstresult = False function_gen = hook_impl = > hook_impls = [>] hook_name = 'pytest_runtest_call' res = result = [] results = [] teardown = teardowns = [, , <...object CaptureManager.pytest_runtest_call at 0x7f8519aec040>, ] /usr/lib/python3/dist-packages/pluggy/_callers.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook_name = 'pytest_runtest_call' hook_impls = [>] caller_kwargs = {'item': } firstresult = False def _multicall( hook_name: str, hook_impls: Sequence[HookImpl], caller_kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]:  """Execute a call into multiple python functions/methods and return the  result(s).   ``caller_kwargs`` comes from HookCaller.__call__().  """ __tracebackhide__ = True results: list[object] = [] exception = None try: # run impl and wrapper setup functions in a loop teardowns: list[Teardown] = [] try: for hook_impl in reversed(hook_impls): try: args = [caller_kwargs[argname] for argname in hook_impl.argnames] except KeyError as e: # coverage bug - this is tested for argname in hook_impl.argnames: # pragma: no cover if argname not in caller_kwargs: raise HookCallError( f"hook call must provide argument {argname!r}" ) from e  if hook_impl.hookwrapper: function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)  next(function_gen) # first yield teardowns.append(function_gen)  elif hook_impl.wrapper: try: # If this cast is not valid, a type error is raised below, # which is the desired response. res = hook_impl.function(*args) function_gen = cast(Generator[None, object, object], res) next(function_gen) # first yield teardowns.append(function_gen) except StopIteration: _raise_wrapfail(function_gen, "did not yield") else: res = hook_impl.function(*args) if res is not None: results.append(res) if firstresult: # halt further impl calls break except BaseException as exc: exception = exc finally: if firstresult: # first result hooks return a single value result = results[0] if results else None else: result = results  # run all wrapper post-yield blocks for teardown in reversed(teardowns): try: if exception is not None: try: > teardown.throw(exception) __tracebackhide__ = True args = [] caller_kwargs = {'item': } exception = ValueError('Not a valid mypy message') firstresult = False function_gen = hook_impl = > hook_impls = [>] hook_name = 'pytest_runtest_call' res = result = [] results = [] teardown = teardowns = [, , <...object CaptureManager.pytest_runtest_call at 0x7f8519aec040>, ] /usr/lib/python3/dist-packages/pluggy/_callers.py:139: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ @pytest.hookimpl(wrapper=True, tryfirst=True) def pytest_runtest_call() -> Generator[None]: > yield from thread_exception_runtest_hook() /usr/lib/python3/dist-packages/_pytest/threadexception.py:92: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def thread_exception_runtest_hook() -> Generator[None]: with catch_threading_exception() as cm: try: > yield cm = <_pytest.threadexception.catch_threading_exception object at 0x7f851ede2d50> /usr/lib/python3/dist-packages/_pytest/threadexception.py:68: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook_name = 'pytest_runtest_call' hook_impls = [>] caller_kwargs = {'item': } firstresult = False def _multicall( hook_name: str, hook_impls: Sequence[HookImpl], caller_kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]:  """Execute a call into multiple python functions/methods and return the  result(s).   ``caller_kwargs`` comes from HookCaller.__call__().  """ __tracebackhide__ = True results: list[object] = [] exception = None try: # run impl and wrapper setup functions in a loop teardowns: list[Teardown] = [] try: for hook_impl in reversed(hook_impls): try: args = [caller_kwargs[argname] for argname in hook_impl.argnames] except KeyError as e: # coverage bug - this is tested for argname in hook_impl.argnames: # pragma: no cover if argname not in caller_kwargs: raise HookCallError( f"hook call must provide argument {argname!r}" ) from e  if hook_impl.hookwrapper: function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)  next(function_gen) # first yield teardowns.append(function_gen)  elif hook_impl.wrapper: try: # If this cast is not valid, a type error is raised below, # which is the desired response. res = hook_impl.function(*args) function_gen = cast(Generator[None, object, object], res) next(function_gen) # first yield teardowns.append(function_gen) except StopIteration: _raise_wrapfail(function_gen, "did not yield") else: res = hook_impl.function(*args) if res is not None: results.append(res) if firstresult: # halt further impl calls break except BaseException as exc: exception = exc finally: if firstresult: # first result hooks return a single value result = results[0] if results else None else: result = results  # run all wrapper post-yield blocks for teardown in reversed(teardowns): try: if exception is not None: try: > teardown.throw(exception) __tracebackhide__ = True args = [] caller_kwargs = {'item': } exception = ValueError('Not a valid mypy message') firstresult = False function_gen = hook_impl = > hook_impls = [>] hook_name = 'pytest_runtest_call' res = result = [] results = [] teardown = teardowns = [, , <...object CaptureManager.pytest_runtest_call at 0x7f8519aec040>, ] /usr/lib/python3/dist-packages/pluggy/_callers.py:139: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ @pytest.hookimpl(wrapper=True, tryfirst=True) def pytest_runtest_call() -> Generator[None]: > yield from unraisable_exception_runtest_hook() /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:95: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def unraisable_exception_runtest_hook() -> Generator[None]: with catch_unraisable_exception() as cm: try: > yield cm = <_pytest.unraisableexception.catch_unraisable_exception object at 0x7f851eda2cf0> /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook_name = 'pytest_runtest_call' hook_impls = [>] caller_kwargs = {'item': } firstresult = False def _multicall( hook_name: str, hook_impls: Sequence[HookImpl], caller_kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]:  """Execute a call into multiple python functions/methods and return the  result(s).   ``caller_kwargs`` comes from HookCaller.__call__().  """ __tracebackhide__ = True results: list[object] = [] exception = None try: # run impl and wrapper setup functions in a loop teardowns: list[Teardown] = [] try: for hook_impl in reversed(hook_impls): try: args = [caller_kwargs[argname] for argname in hook_impl.argnames] except KeyError as e: # coverage bug - this is tested for argname in hook_impl.argnames: # pragma: no cover if argname not in caller_kwargs: raise HookCallError( f"hook call must provide argument {argname!r}" ) from e  if hook_impl.hookwrapper: function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)  next(function_gen) # first yield teardowns.append(function_gen)  elif hook_impl.wrapper: try: # If this cast is not valid, a type error is raised below, # which is the desired response. res = hook_impl.function(*args) function_gen = cast(Generator[None, object, object], res) next(function_gen) # first yield teardowns.append(function_gen) except StopIteration: _raise_wrapfail(function_gen, "did not yield") else: res = hook_impl.function(*args) if res is not None: results.append(res) if firstresult: # halt further impl calls break except BaseException as exc: exception = exc finally: if firstresult: # first result hooks return a single value result = results[0] if results else None else: result = results  # run all wrapper post-yield blocks for teardown in reversed(teardowns): try: if exception is not None: try: > teardown.throw(exception) __tracebackhide__ = True args = [] caller_kwargs = {'item': } exception = ValueError('Not a valid mypy message') firstresult = False function_gen = hook_impl = > hook_impls = [>] hook_name = 'pytest_runtest_call' res = result = [] results = [] teardown = teardowns = [, , <...object CaptureManager.pytest_runtest_call at 0x7f8519aec040>, ] /usr/lib/python3/dist-packages/pluggy/_callers.py:139: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.logging.LoggingPlugin object at 0x7f851f45e120> item = @hookimpl(wrapper=True) def pytest_runtest_call(self, item: nodes.Item) -> Generator[None]: self.log_cli_handler.set_when("call")  > yield from self._runtest_for(item, "call") item = self = <_pytest.logging.LoggingPlugin object at 0x7f851f45e120> /usr/lib/python3/dist-packages/_pytest/logging.py:846: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.logging.LoggingPlugin object at 0x7f851f45e120> item = , when = 'call' def _runtest_for(self, item: nodes.Item, when: str) -> Generator[None]:  """Implement the internals of the pytest_runtest_xxx() hooks.""" with catching_logs( self.caplog_handler, level=self.log_level, ) as caplog_handler, catching_logs( self.report_handler, level=self.log_level, ) as report_handler: caplog_handler.reset() report_handler.reset() item.stash[caplog_records_key][when] = caplog_handler.records item.stash[caplog_handler_key] = caplog_handler  try: > yield caplog_handler = item = log = '' report_handler = self = <_pytest.logging.LoggingPlugin object at 0x7f851f45e120> when = 'call' /usr/lib/python3/dist-packages/_pytest/logging.py:829: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook_name = 'pytest_runtest_call' hook_impls = [>] caller_kwargs = {'item': } firstresult = False def _multicall( hook_name: str, hook_impls: Sequence[HookImpl], caller_kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]:  """Execute a call into multiple python functions/methods and return the  result(s).   ``caller_kwargs`` comes from HookCaller.__call__().  """ __tracebackhide__ = True results: list[object] = [] exception = None try: # run impl and wrapper setup functions in a loop teardowns: list[Teardown] = [] try: for hook_impl in reversed(hook_impls): try: args = [caller_kwargs[argname] for argname in hook_impl.argnames] except KeyError as e: # coverage bug - this is tested for argname in hook_impl.argnames: # pragma: no cover if argname not in caller_kwargs: raise HookCallError( f"hook call must provide argument {argname!r}" ) from e  if hook_impl.hookwrapper: function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)  next(function_gen) # first yield teardowns.append(function_gen)  elif hook_impl.wrapper: try: # If this cast is not valid, a type error is raised below, # which is the desired response. res = hook_impl.function(*args) function_gen = cast(Generator[None, object, object], res) next(function_gen) # first yield teardowns.append(function_gen) except StopIteration: _raise_wrapfail(function_gen, "did not yield") else: res = hook_impl.function(*args) if res is not None: results.append(res) if firstresult: # halt further impl calls break except BaseException as exc: exception = exc finally: if firstresult: # first result hooks return a single value result = results[0] if results else None else: result = results  # run all wrapper post-yield blocks for teardown in reversed(teardowns): try: if exception is not None: try: > teardown.throw(exception) __tracebackhide__ = True args = [] caller_kwargs = {'item': } exception = ValueError('Not a valid mypy message') firstresult = False function_gen = hook_impl = > hook_impls = [>] hook_name = 'pytest_runtest_call' res = result = [] results = [] teardown = teardowns = [, , <...object CaptureManager.pytest_runtest_call at 0x7f8519aec040>, ] /usr/lib/python3/dist-packages/pluggy/_callers.py:139: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = > _state='suspended' _in_suspended=False> _capture_fixture=None> item = @hookimpl(wrapper=True) def pytest_runtest_call(self, item: Item) -> Generator[None]: with self.item_capture("call", item): > return (yield) item = self = > _state='suspended' _in_suspended=False> _capture_fixture=None> /usr/lib/python3/dist-packages/_pytest/capture.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook_name = 'pytest_runtest_call' hook_impls = [>] caller_kwargs = {'item': } firstresult = False def _multicall( hook_name: str, hook_impls: Sequence[HookImpl], caller_kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]:  """Execute a call into multiple python functions/methods and return the  result(s).   ``caller_kwargs`` comes from HookCaller.__call__().  """ __tracebackhide__ = True results: list[object] = [] exception = None try: # run impl and wrapper setup functions in a loop teardowns: list[Teardown] = [] try: for hook_impl in reversed(hook_impls): try: args = [caller_kwargs[argname] for argname in hook_impl.argnames] except KeyError as e: # coverage bug - this is tested for argname in hook_impl.argnames: # pragma: no cover if argname not in caller_kwargs: raise HookCallError( f"hook call must provide argument {argname!r}" ) from e  if hook_impl.hookwrapper: function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)  next(function_gen) # first yield teardowns.append(function_gen)  elif hook_impl.wrapper: try: # If this cast is not valid, a type error is raised below, # which is the desired response. res = hook_impl.function(*args) function_gen = cast(Generator[None, object, object], res) next(function_gen) # first yield teardowns.append(function_gen) except StopIteration: _raise_wrapfail(function_gen, "did not yield") else: res = hook_impl.function(*args) if res is not None: results.append(res) if firstresult: # halt further impl calls break except BaseException as exc: exception = exc finally: if firstresult: # first result hooks return a single value result = results[0] if results else None else: result = results  # run all wrapper post-yield blocks for teardown in reversed(teardowns): try: if exception is not None: try: > teardown.throw(exception) __tracebackhide__ = True args = [] caller_kwargs = {'item': } exception = ValueError('Not a valid mypy message') firstresult = False function_gen = hook_impl = > hook_impls = [>] hook_name = 'pytest_runtest_call' res = result = [] results = [] teardown = teardowns = [, , <...object CaptureManager.pytest_runtest_call at 0x7f8519aec040>, ] /usr/lib/python3/dist-packages/pluggy/_callers.py:139: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ item = @hookimpl(wrapper=True) def pytest_runtest_call(item: Item) -> Generator[None]: xfailed = item.stash.get(xfailed_key, None) if xfailed is None: item.stash[xfailed_key] = xfailed = evaluate_xfail_marks(item)  if xfailed and not item.config.option.runxfail and not xfailed.run: xfail("[NOTRUN] " + xfailed.reason)  try: > return (yield) item = xfailed = None /usr/lib/python3/dist-packages/_pytest/skipping.py:257: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook_name = 'pytest_runtest_call' hook_impls = [>] caller_kwargs = {'item': } firstresult = False def _multicall( hook_name: str, hook_impls: Sequence[HookImpl], caller_kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]:  """Execute a call into multiple python functions/methods and return the  result(s).   ``caller_kwargs`` comes from HookCaller.__call__().  """ __tracebackhide__ = True results: list[object] = [] exception = None try: # run impl and wrapper setup functions in a loop teardowns: list[Teardown] = [] try: for hook_impl in reversed(hook_impls): try: args = [caller_kwargs[argname] for argname in hook_impl.argnames] except KeyError as e: # coverage bug - this is tested for argname in hook_impl.argnames: # pragma: no cover if argname not in caller_kwargs: raise HookCallError( f"hook call must provide argument {argname!r}" ) from e  if hook_impl.hookwrapper: function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)  next(function_gen) # first yield teardowns.append(function_gen)  elif hook_impl.wrapper: try: # If this cast is not valid, a type error is raised below, # which is the desired response. res = hook_impl.function(*args) function_gen = cast(Generator[None, object, object], res) next(function_gen) # first yield teardowns.append(function_gen) except StopIteration: _raise_wrapfail(function_gen, "did not yield") else: > res = hook_impl.function(*args) __tracebackhide__ = True args = [] caller_kwargs = {'item': } exception = ValueError('Not a valid mypy message') firstresult = False function_gen = hook_impl = > hook_impls = [>] hook_name = 'pytest_runtest_call' res = result = [] results = [] teardown = teardowns = [, , <...object CaptureManager.pytest_runtest_call at 0x7f8519aec040>, ] /usr/lib/python3/dist-packages/pluggy/_callers.py:121: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ item = def pytest_runtest_call(item: Item) -> None: _update_current_test_var(item, "call") try: del sys.last_type del sys.last_value del sys.last_traceback if sys.version_info >= (3, 12, 0): del sys.last_exc # type:ignore[attr-defined] except AttributeError: pass try: > item.runtest() item = /usr/lib/python3/dist-packages/_pytest/runner.py:174: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def runtest(self) -> None: > returncode, actual_messages = self.parent.run_mypy(self.mypy_item) self = /usr/lib/python3/dist-packages/pytest_mypy_testing/plugin.py:64: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = item = MypyTestItem(name='mypy_config_typing', lineno=67, end_lineno=74, expected_messages=[Message(filename='/build/reproduc...', error_code=None)], func_node=, marks={'mypy_testing'}, actual_messages=[]) def run_mypy(self, item: MypyTestItem) -> Tuple[int, List[Message]]: if self._mypy_result is None: > self._mypy_result = self._run_mypy(self.path) item = MypyTestItem(name='mypy_config_typing', lineno=67, end_lineno=74, expected_messages=[Message(filename='/build/reproduc...', error_code=None)], func_node=, marks={'mypy_testing'}, actual_messages=[]) self = /usr/lib/python3/dist-packages/pytest_mypy_testing/plugin.py:136: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = filename = PosixPath('/build/reproducible-path/traitlets-5.14.3+really5.14.3/.pybuild/cpython3_3.13_traitlets/build/tests/test_typing.py') def _run_mypy(self, filename: Union[pathlib.Path, os.PathLike, str]) -> MypyResult: filename = pathlib.Path(filename) with tempfile.TemporaryDirectory(prefix="pytest-mypy-testing-") as tmp_dir_name: mypy_cache_dir = os.path.join(tmp_dir_name, "mypy_cache") os.makedirs(mypy_cache_dir)  mypy_args = [ "--cache-dir={}".format(mypy_cache_dir), "--check-untyped-defs", "--hide-error-context", "--no-color-output", "--no-error-summary", "--no-pretty", "--soft-error-limit=-1", "--no-silence-site-packages", "--no-warn-unused-configs", "--show-column-numbers", "--show-error-codes", "--show-traceback", str(filename), ]  out, err, returncode = mypy.api.run(mypy_args)  lines = (out + err).splitlines()  file_messages = [ msg > for msg in map(Message.from_output, lines) if (msg.filename == self.mypy_file.filename) and not ( msg.severity is Severity.NOTE and msg.message == "See https://mypy.readthedocs.io/en/stable/running_mypy.html#missing-imports" ) ] err = 'pyproject.toml: [mypy]: python_version: Python 3.8 is not supported (must be 3.9 or higher)\n' filename = PosixPath('/build/reproducible-path/traitlets-5.14.3+really5.14.3/.pybuild/cpython3_3.13_traitlets/build/tests/test_typing.py') lines = ['/usr/lib/python3/dist-packages/mypy/typeshed/stdlib/builtins.pyi:1244:27: error: Class cannot subclass "Any" (has ty...ist-packages/argcomplete/packages/_shlex.py:74:5: error: Function is missing a type annotation [no-untyped-def]', ...] mypy_args = ['--cache-dir=/tmp/pytest-mypy-testing-f8qu0q30/mypy_cache', '--check-untyped-defs', '--hide-error-context', '--no-color-output', '--no-error-summary', '--no-pretty', ...] mypy_cache_dir = '/tmp/pytest-mypy-testing-f8qu0q30/mypy_cache' out = '/usr/lib/python3/dist-packages/mypy/typeshed/stdlib/builtins.pyi:1244:27: error: Class cannot subclass "Any" (has typ...:454:14: error: Incompatible types in assignment (expression has type "None", variable has type "Foo") [assignment]\n' returncode = 1 self = tmp_dir_name = '/tmp/pytest-mypy-testing-f8qu0q30' /usr/lib/python3/dist-packages/pytest_mypy_testing/plugin.py:173: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = line = 'pyproject.toml: [mypy]: python_version: Python 3.8 is not supported (must be 3.9 or higher)' @classmethod def from_output(cls, line: str) -> "Message":  """Create message object from mypy output line.   >>> m = Message.from_output("z.py:1: note: bar")  >>> (m.lineno, m.colno, m.severity, m.message, m.revealed_type, m.error_code)  (1, None, Severity.NOTE, 'bar', None, None)   >>> m = Message.from_output("z.py:1:13: note: bar")  >>> (m.lineno, m.colno, m.severity, m.message, m.revealed_type, m.error_code)  (1, 13, Severity.NOTE, 'bar', None, None)   >>> m = Message.from_output("z.py:1: note: Revealed type is 'bar'")  >>> (m.lineno, m.colno, m.severity, m.message, m.revealed_type, m.error_code)  (1, None, Severity.NOTE, "Revealed type is 'bar'", 'bar', None)   >>> m = Message.from_output('z.py:1: note: Revealed type is "bar"')  >>> (m.lineno, m.colno, m.severity, m.message, m.revealed_type, m.error_code)  (1, None, Severity.NOTE, 'Revealed type is "bar"', 'bar', None)   >>> m = Message.from_output("z.py:1:13: error: bar [baz]")  >>> (m.lineno, m.colno, m.severity, m.message, m.revealed_type, m.error_code)  (1, 13, Severity.ERROR, 'bar', None, 'baz')   """ m = cls.OUTPUT_RE.match(line) if not m: > raise ValueError("Not a valid mypy message") E ValueError: Not a valid mypy message cls = line = 'pyproject.toml: [mypy]: python_version: Python 3.8 is not supported (must be 3.9 or higher)' m = None /usr/lib/python3/dist-packages/pytest_mypy_testing/message.py:295: ValueError ___________________________ [mypy]mypy_union_typing ____________________________ cls = func = . at 0x7f851525cc20> when = 'call' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]:  """Call func, wrapping the result in a CallInfo.   :param func:  The function to call. Called without arguments.  :type func: Callable[[], _pytest.runner.TResult]  :param when:  The phase in which the function is called.  :param reraise:  Exception or exceptions that shall propagate if raised by the  function, instead of being wrapped in the CallInfo.  """ excinfo = None start = timing.time() precise_start = timing.perf_counter() try: > result: TResult | None = func() cls = duration = 22.520399262895808 excinfo = func = . at 0x7f851525cc20> precise_start = 550865.364569904 precise_stop = 550887.884969167 reraise = (, ) result = None start = 1790402403.0607214 stop = 1790402425.5811236 when = 'call' /usr/lib/python3/dist-packages/_pytest/runner.py:341: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ >  lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise ) item = kwds = {} runtest_hook = /usr/lib/python3/dist-packages/_pytest/runner.py:242: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = kwargs = {'item': } firstresult = False def __call__(self, **kwargs: object) -> Any:  """Call the hook.   Only accepts keyword arguments, which should match the hook  specification.   Returns the result(s) of calling all registered plugins, see  :ref:`calling`.  """ assert not self.is_historic(), ( "Cannot directly call a historic hook - use call_historic instead." ) self._verify_all_args_are_provided(kwargs) firstresult = self.spec.opts.get("firstresult", False) if self.spec else False # Copy because plugins may register other plugins during iteration (#438). > return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) firstresult = False kwargs = {'item': } self = /usr/lib/python3/dist-packages/pluggy/_hooks.py:512: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.config.PytestPluginManager object at 0x7f8521f1f230> hook_name = 'pytest_runtest_call' methods = [>] kwargs = {'item': } firstresult = False def _hookexec( self, hook_name: str, methods: Sequence[HookImpl], kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]: # called from all hookcaller instances. # enable_tracing will set its own wrapping function at self._inner_hookexec > return self._inner_hookexec(hook_name, methods, kwargs, firstresult) firstresult = False hook_name = 'pytest_runtest_call' kwargs = {'item': } methods = [>] self = <_pytest.config.PytestPluginManager object at 0x7f8521f1f230> /usr/lib/python3/dist-packages/pluggy/_manager.py:120: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook_name = 'pytest_runtest_call' hook_impls = [>] caller_kwargs = {'item': } firstresult = False def _multicall( hook_name: str, hook_impls: Sequence[HookImpl], caller_kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]:  """Execute a call into multiple python functions/methods and return the  result(s).   ``caller_kwargs`` comes from HookCaller.__call__().  """ __tracebackhide__ = True results: list[object] = [] exception = None try: # run impl and wrapper setup functions in a loop teardowns: list[Teardown] = [] try: for hook_impl in reversed(hook_impls): try: args = [caller_kwargs[argname] for argname in hook_impl.argnames] except KeyError as e: # coverage bug - this is tested for argname in hook_impl.argnames: # pragma: no cover if argname not in caller_kwargs: raise HookCallError( f"hook call must provide argument {argname!r}" ) from e  if hook_impl.hookwrapper: function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)  next(function_gen) # first yield teardowns.append(function_gen)  elif hook_impl.wrapper: try: # If this cast is not valid, a type error is raised below, # which is the desired response. res = hook_impl.function(*args) function_gen = cast(Generator[None, object, object], res) next(function_gen) # first yield teardowns.append(function_gen) except StopIteration: _raise_wrapfail(function_gen, "did not yield") else: res = hook_impl.function(*args) if res is not None: results.append(res) if firstresult: # halt further impl calls break except BaseException as exc: exception = exc finally: if firstresult: # first result hooks return a single value result = results[0] if results else None else: result = results  # run all wrapper post-yield blocks for teardown in reversed(teardowns): try: if exception is not None: try: teardown.throw(exception) except RuntimeError as re: # StopIteration from generator causes RuntimeError # even for coroutine usage - see #544 if ( isinstance(exception, StopIteration) and re.__cause__ is exception ): teardown.close() continue else: raise else: teardown.send(result) # Following is unreachable for a well behaved hook wrapper. # Try to force finalizers otherwise postponed till GC action. # Note: close() may raise if generator handles GeneratorExit. teardown.close() except StopIteration as si: result = si.value exception = None continue except BaseException as e: exception = e continue _raise_wrapfail(teardown, "has second yield")  if exception is not None: > raise exception __tracebackhide__ = True args = [] caller_kwargs = {'item': } exception = ValueError('Not a valid mypy message') firstresult = False function_gen = hook_impl = > hook_impls = [>] hook_name = 'pytest_runtest_call' res = result = [] results = [] teardown = teardowns = [, , <...object CaptureManager.pytest_runtest_call at 0x7f8518c1b4c0>, ] /usr/lib/python3/dist-packages/pluggy/_callers.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook_name = 'pytest_runtest_call' hook_impls = [>] caller_kwargs = {'item': } firstresult = False def _multicall( hook_name: str, hook_impls: Sequence[HookImpl], caller_kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]:  """Execute a call into multiple python functions/methods and return the  result(s).   ``caller_kwargs`` comes from HookCaller.__call__().  """ __tracebackhide__ = True results: list[object] = [] exception = None try: # run impl and wrapper setup functions in a loop teardowns: list[Teardown] = [] try: for hook_impl in reversed(hook_impls): try: args = [caller_kwargs[argname] for argname in hook_impl.argnames] except KeyError as e: # coverage bug - this is tested for argname in hook_impl.argnames: # pragma: no cover if argname not in caller_kwargs: raise HookCallError( f"hook call must provide argument {argname!r}" ) from e  if hook_impl.hookwrapper: function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)  next(function_gen) # first yield teardowns.append(function_gen)  elif hook_impl.wrapper: try: # If this cast is not valid, a type error is raised below, # which is the desired response. res = hook_impl.function(*args) function_gen = cast(Generator[None, object, object], res) next(function_gen) # first yield teardowns.append(function_gen) except StopIteration: _raise_wrapfail(function_gen, "did not yield") else: res = hook_impl.function(*args) if res is not None: results.append(res) if firstresult: # halt further impl calls break except BaseException as exc: exception = exc finally: if firstresult: # first result hooks return a single value result = results[0] if results else None else: result = results  # run all wrapper post-yield blocks for teardown in reversed(teardowns): try: if exception is not None: try: > teardown.throw(exception) __tracebackhide__ = True args = [] caller_kwargs = {'item': } exception = ValueError('Not a valid mypy message') firstresult = False function_gen = hook_impl = > hook_impls = [>] hook_name = 'pytest_runtest_call' res = result = [] results = [] teardown = teardowns = [, , <...object CaptureManager.pytest_runtest_call at 0x7f8518c1b4c0>, ] /usr/lib/python3/dist-packages/pluggy/_callers.py:139: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ @pytest.hookimpl(wrapper=True, tryfirst=True) def pytest_runtest_call() -> Generator[None]: > yield from thread_exception_runtest_hook() /usr/lib/python3/dist-packages/_pytest/threadexception.py:92: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def thread_exception_runtest_hook() -> Generator[None]: with catch_threading_exception() as cm: try: > yield cm = <_pytest.threadexception.catch_threading_exception object at 0x7f851424b350> /usr/lib/python3/dist-packages/_pytest/threadexception.py:68: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook_name = 'pytest_runtest_call' hook_impls = [>] caller_kwargs = {'item': } firstresult = False def _multicall( hook_name: str, hook_impls: Sequence[HookImpl], caller_kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]:  """Execute a call into multiple python functions/methods and return the  result(s).   ``caller_kwargs`` comes from HookCaller.__call__().  """ __tracebackhide__ = True results: list[object] = [] exception = None try: # run impl and wrapper setup functions in a loop teardowns: list[Teardown] = [] try: for hook_impl in reversed(hook_impls): try: args = [caller_kwargs[argname] for argname in hook_impl.argnames] except KeyError as e: # coverage bug - this is tested for argname in hook_impl.argnames: # pragma: no cover if argname not in caller_kwargs: raise HookCallError( f"hook call must provide argument {argname!r}" ) from e  if hook_impl.hookwrapper: function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)  next(function_gen) # first yield teardowns.append(function_gen)  elif hook_impl.wrapper: try: # If this cast is not valid, a type error is raised below, # which is the desired response. res = hook_impl.function(*args) function_gen = cast(Generator[None, object, object], res) next(function_gen) # first yield teardowns.append(function_gen) except StopIteration: _raise_wrapfail(function_gen, "did not yield") else: res = hook_impl.function(*args) if res is not None: results.append(res) if firstresult: # halt further impl calls break except BaseException as exc: exception = exc finally: if firstresult: # first result hooks return a single value result = results[0] if results else None else: result = results  # run all wrapper post-yield blocks for teardown in reversed(teardowns): try: if exception is not None: try: > teardown.throw(exception) __tracebackhide__ = True args = [] caller_kwargs = {'item': } exception = ValueError('Not a valid mypy message') firstresult = False function_gen = hook_impl = > hook_impls = [>] hook_name = 'pytest_runtest_call' res = result = [] results = [] teardown = teardowns = [, , <...object CaptureManager.pytest_runtest_call at 0x7f8518c1b4c0>, ] /usr/lib/python3/dist-packages/pluggy/_callers.py:139: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ @pytest.hookimpl(wrapper=True, tryfirst=True) def pytest_runtest_call() -> Generator[None]: > yield from unraisable_exception_runtest_hook() /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:95: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def unraisable_exception_runtest_hook() -> Generator[None]: with catch_unraisable_exception() as cm: try: > yield cm = <_pytest.unraisableexception.catch_unraisable_exception object at 0x7f851424ba10> /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook_name = 'pytest_runtest_call' hook_impls = [>] caller_kwargs = {'item': } firstresult = False def _multicall( hook_name: str, hook_impls: Sequence[HookImpl], caller_kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]:  """Execute a call into multiple python functions/methods and return the  result(s).   ``caller_kwargs`` comes from HookCaller.__call__().  """ __tracebackhide__ = True results: list[object] = [] exception = None try: # run impl and wrapper setup functions in a loop teardowns: list[Teardown] = [] try: for hook_impl in reversed(hook_impls): try: args = [caller_kwargs[argname] for argname in hook_impl.argnames] except KeyError as e: # coverage bug - this is tested for argname in hook_impl.argnames: # pragma: no cover if argname not in caller_kwargs: raise HookCallError( f"hook call must provide argument {argname!r}" ) from e  if hook_impl.hookwrapper: function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)  next(function_gen) # first yield teardowns.append(function_gen)  elif hook_impl.wrapper: try: # If this cast is not valid, a type error is raised below, # which is the desired response. res = hook_impl.function(*args) function_gen = cast(Generator[None, object, object], res) next(function_gen) # first yield teardowns.append(function_gen) except StopIteration: _raise_wrapfail(function_gen, "did not yield") else: res = hook_impl.function(*args) if res is not None: results.append(res) if firstresult: # halt further impl calls break except BaseException as exc: exception = exc finally: if firstresult: # first result hooks return a single value result = results[0] if results else None else: result = results  # run all wrapper post-yield blocks for teardown in reversed(teardowns): try: if exception is not None: try: > teardown.throw(exception) __tracebackhide__ = True args = [] caller_kwargs = {'item': } exception = ValueError('Not a valid mypy message') firstresult = False function_gen = hook_impl = > hook_impls = [>] hook_name = 'pytest_runtest_call' res = result = [] results = [] teardown = teardowns = [, , <...object CaptureManager.pytest_runtest_call at 0x7f8518c1b4c0>, ] /usr/lib/python3/dist-packages/pluggy/_callers.py:139: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.logging.LoggingPlugin object at 0x7f851f45e120> item = @hookimpl(wrapper=True) def pytest_runtest_call(self, item: nodes.Item) -> Generator[None]: self.log_cli_handler.set_when("call")  > yield from self._runtest_for(item, "call") item = self = <_pytest.logging.LoggingPlugin object at 0x7f851f45e120> /usr/lib/python3/dist-packages/_pytest/logging.py:846: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.logging.LoggingPlugin object at 0x7f851f45e120> item = , when = 'call' def _runtest_for(self, item: nodes.Item, when: str) -> Generator[None]:  """Implement the internals of the pytest_runtest_xxx() hooks.""" with catching_logs( self.caplog_handler, level=self.log_level, ) as caplog_handler, catching_logs( self.report_handler, level=self.log_level, ) as report_handler: caplog_handler.reset() report_handler.reset() item.stash[caplog_records_key][when] = caplog_handler.records item.stash[caplog_handler_key] = caplog_handler  try: > yield caplog_handler = item = log = '' report_handler = self = <_pytest.logging.LoggingPlugin object at 0x7f851f45e120> when = 'call' /usr/lib/python3/dist-packages/_pytest/logging.py:829: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook_name = 'pytest_runtest_call' hook_impls = [>] caller_kwargs = {'item': } firstresult = False def _multicall( hook_name: str, hook_impls: Sequence[HookImpl], caller_kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]:  """Execute a call into multiple python functions/methods and return the  result(s).   ``caller_kwargs`` comes from HookCaller.__call__().  """ __tracebackhide__ = True results: list[object] = [] exception = None try: # run impl and wrapper setup functions in a loop teardowns: list[Teardown] = [] try: for hook_impl in reversed(hook_impls): try: args = [caller_kwargs[argname] for argname in hook_impl.argnames] except KeyError as e: # coverage bug - this is tested for argname in hook_impl.argnames: # pragma: no cover if argname not in caller_kwargs: raise HookCallError( f"hook call must provide argument {argname!r}" ) from e  if hook_impl.hookwrapper: function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)  next(function_gen) # first yield teardowns.append(function_gen)  elif hook_impl.wrapper: try: # If this cast is not valid, a type error is raised below, # which is the desired response. res = hook_impl.function(*args) function_gen = cast(Generator[None, object, object], res) next(function_gen) # first yield teardowns.append(function_gen) except StopIteration: _raise_wrapfail(function_gen, "did not yield") else: res = hook_impl.function(*args) if res is not None: results.append(res) if firstresult: # halt further impl calls break except BaseException as exc: exception = exc finally: if firstresult: # first result hooks return a single value result = results[0] if results else None else: result = results  # run all wrapper post-yield blocks for teardown in reversed(teardowns): try: if exception is not None: try: > teardown.throw(exception) __tracebackhide__ = True args = [] caller_kwargs = {'item': } exception = ValueError('Not a valid mypy message') firstresult = False function_gen = hook_impl = > hook_impls = [>] hook_name = 'pytest_runtest_call' res = result = [] results = [] teardown = teardowns = [, , <...object CaptureManager.pytest_runtest_call at 0x7f8518c1b4c0>, ] /usr/lib/python3/dist-packages/pluggy/_callers.py:139: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = > _state='suspended' _in_suspended=False> _capture_fixture=None> item = @hookimpl(wrapper=True) def pytest_runtest_call(self, item: Item) -> Generator[None]: with self.item_capture("call", item): > return (yield) item = self = > _state='suspended' _in_suspended=False> _capture_fixture=None> /usr/lib/python3/dist-packages/_pytest/capture.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook_name = 'pytest_runtest_call' hook_impls = [>] caller_kwargs = {'item': } firstresult = False def _multicall( hook_name: str, hook_impls: Sequence[HookImpl], caller_kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]:  """Execute a call into multiple python functions/methods and return the  result(s).   ``caller_kwargs`` comes from HookCaller.__call__().  """ __tracebackhide__ = True results: list[object] = [] exception = None try: # run impl and wrapper setup functions in a loop teardowns: list[Teardown] = [] try: for hook_impl in reversed(hook_impls): try: args = [caller_kwargs[argname] for argname in hook_impl.argnames] except KeyError as e: # coverage bug - this is tested for argname in hook_impl.argnames: # pragma: no cover if argname not in caller_kwargs: raise HookCallError( f"hook call must provide argument {argname!r}" ) from e  if hook_impl.hookwrapper: function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)  next(function_gen) # first yield teardowns.append(function_gen)  elif hook_impl.wrapper: try: # If this cast is not valid, a type error is raised below, # which is the desired response. res = hook_impl.function(*args) function_gen = cast(Generator[None, object, object], res) next(function_gen) # first yield teardowns.append(function_gen) except StopIteration: _raise_wrapfail(function_gen, "did not yield") else: res = hook_impl.function(*args) if res is not None: results.append(res) if firstresult: # halt further impl calls break except BaseException as exc: exception = exc finally: if firstresult: # first result hooks return a single value result = results[0] if results else None else: result = results  # run all wrapper post-yield blocks for teardown in reversed(teardowns): try: if exception is not None: try: > teardown.throw(exception) __tracebackhide__ = True args = [] caller_kwargs = {'item': } exception = ValueError('Not a valid mypy message') firstresult = False function_gen = hook_impl = > hook_impls = [>] hook_name = 'pytest_runtest_call' res = result = [] results = [] teardown = teardowns = [, , <...object CaptureManager.pytest_runtest_call at 0x7f8518c1b4c0>, ] /usr/lib/python3/dist-packages/pluggy/_callers.py:139: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ item = @hookimpl(wrapper=True) def pytest_runtest_call(item: Item) -> Generator[None]: xfailed = item.stash.get(xfailed_key, None) if xfailed is None: item.stash[xfailed_key] = xfailed = evaluate_xfail_marks(item)  if xfailed and not item.config.option.runxfail and not xfailed.run: xfail("[NOTRUN] " + xfailed.reason)  try: > return (yield) item = xfailed = None /usr/lib/python3/dist-packages/_pytest/skipping.py:257: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook_name = 'pytest_runtest_call' hook_impls = [>] caller_kwargs = {'item': } firstresult = False def _multicall( hook_name: str, hook_impls: Sequence[HookImpl], caller_kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]:  """Execute a call into multiple python functions/methods and return the  result(s).   ``caller_kwargs`` comes from HookCaller.__call__().  """ __tracebackhide__ = True results: list[object] = [] exception = None try: # run impl and wrapper setup functions in a loop teardowns: list[Teardown] = [] try: for hook_impl in reversed(hook_impls): try: args = [caller_kwargs[argname] for argname in hook_impl.argnames] except KeyError as e: # coverage bug - this is tested for argname in hook_impl.argnames: # pragma: no cover if argname not in caller_kwargs: raise HookCallError( f"hook call must provide argument {argname!r}" ) from e  if hook_impl.hookwrapper: function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)  next(function_gen) # first yield teardowns.append(function_gen)  elif hook_impl.wrapper: try: # If this cast is not valid, a type error is raised below, # which is the desired response. res = hook_impl.function(*args) function_gen = cast(Generator[None, object, object], res) next(function_gen) # first yield teardowns.append(function_gen) except StopIteration: _raise_wrapfail(function_gen, "did not yield") else: > res = hook_impl.function(*args) __tracebackhide__ = True args = [] caller_kwargs = {'item': } exception = ValueError('Not a valid mypy message') firstresult = False function_gen = hook_impl = > hook_impls = [>] hook_name = 'pytest_runtest_call' res = result = [] results = [] teardown = teardowns = [, , <...object CaptureManager.pytest_runtest_call at 0x7f8518c1b4c0>, ] /usr/lib/python3/dist-packages/pluggy/_callers.py:121: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ item = def pytest_runtest_call(item: Item) -> None: _update_current_test_var(item, "call") try: del sys.last_type del sys.last_value del sys.last_traceback if sys.version_info >= (3, 12, 0): del sys.last_exc # type:ignore[attr-defined] except AttributeError: pass try: > item.runtest() item = /usr/lib/python3/dist-packages/_pytest/runner.py:174: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def runtest(self) -> None: > returncode, actual_messages = self.parent.run_mypy(self.mypy_item) self = /usr/lib/python3/dist-packages/pytest_mypy_testing/plugin.py:64: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = item = MypyTestItem(name='mypy_union_typing', lineno=77, end_lineno=92, expected_messages=[Message(filename='/build/reproduci...', error_code=None)], func_node=, marks={'mypy_testing'}, actual_messages=[]) def run_mypy(self, item: MypyTestItem) -> Tuple[int, List[Message]]: if self._mypy_result is None: > self._mypy_result = self._run_mypy(self.path) item = MypyTestItem(name='mypy_union_typing', lineno=77, end_lineno=92, expected_messages=[Message(filename='/build/reproduci...', error_code=None)], func_node=, marks={'mypy_testing'}, actual_messages=[]) self = /usr/lib/python3/dist-packages/pytest_mypy_testing/plugin.py:136: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = filename = PosixPath('/build/reproducible-path/traitlets-5.14.3+really5.14.3/.pybuild/cpython3_3.13_traitlets/build/tests/test_typing.py') def _run_mypy(self, filename: Union[pathlib.Path, os.PathLike, str]) -> MypyResult: filename = pathlib.Path(filename) with tempfile.TemporaryDirectory(prefix="pytest-mypy-testing-") as tmp_dir_name: mypy_cache_dir = os.path.join(tmp_dir_name, "mypy_cache") os.makedirs(mypy_cache_dir)  mypy_args = [ "--cache-dir={}".format(mypy_cache_dir), "--check-untyped-defs", "--hide-error-context", "--no-color-output", "--no-error-summary", "--no-pretty", "--soft-error-limit=-1", "--no-silence-site-packages", "--no-warn-unused-configs", "--show-column-numbers", "--show-error-codes", "--show-traceback", str(filename), ]  out, err, returncode = mypy.api.run(mypy_args)  lines = (out + err).splitlines()  file_messages = [ msg > for msg in map(Message.from_output, lines) if (msg.filename == self.mypy_file.filename) and not ( msg.severity is Severity.NOTE and msg.message == "See https://mypy.readthedocs.io/en/stable/running_mypy.html#missing-imports" ) ] err = 'pyproject.toml: [mypy]: python_version: Python 3.8 is not supported (must be 3.9 or higher)\n' filename = PosixPath('/build/reproducible-path/traitlets-5.14.3+really5.14.3/.pybuild/cpython3_3.13_traitlets/build/tests/test_typing.py') lines = ['/usr/lib/python3/dist-packages/mypy/typeshed/stdlib/builtins.pyi:1244:27: error: Class cannot subclass "Any" (has ty...ist-packages/argcomplete/packages/_shlex.py:74:5: error: Function is missing a type annotation [no-untyped-def]', ...] mypy_args = ['--cache-dir=/tmp/pytest-mypy-testing-fc3ix7tf/mypy_cache', '--check-untyped-defs', '--hide-error-context', '--no-color-output', '--no-error-summary', '--no-pretty', ...] mypy_cache_dir = '/tmp/pytest-mypy-testing-fc3ix7tf/mypy_cache' out = '/usr/lib/python3/dist-packages/mypy/typeshed/stdlib/builtins.pyi:1244:27: error: Class cannot subclass "Any" (has typ...:454:14: error: Incompatible types in assignment (expression has type "None", variable has type "Foo") [assignment]\n' returncode = 1 self = tmp_dir_name = '/tmp/pytest-mypy-testing-fc3ix7tf' /usr/lib/python3/dist-packages/pytest_mypy_testing/plugin.py:173: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = line = 'pyproject.toml: [mypy]: python_version: Python 3.8 is not supported (must be 3.9 or higher)' @classmethod def from_output(cls, line: str) -> "Message":  """Create message object from mypy output line.   >>> m = Message.from_output("z.py:1: note: bar")  >>> (m.lineno, m.colno, m.severity, m.message, m.revealed_type, m.error_code)  (1, None, Severity.NOTE, 'bar', None, None)   >>> m = Message.from_output("z.py:1:13: note: bar")  >>> (m.lineno, m.colno, m.severity, m.message, m.revealed_type, m.error_code)  (1, 13, Severity.NOTE, 'bar', None, None)   >>> m = Message.from_output("z.py:1: note: Revealed type is 'bar'")  >>> (m.lineno, m.colno, m.severity, m.message, m.revealed_type, m.error_code)  (1, None, Severity.NOTE, "Revealed type is 'bar'", 'bar', None)   >>> m = Message.from_output('z.py:1: note: Revealed type is "bar"')  >>> (m.lineno, m.colno, m.severity, m.message, m.revealed_type, m.error_code)  (1, None, Severity.NOTE, 'Revealed type is "bar"', 'bar', None)   >>> m = Message.from_output("z.py:1:13: error: bar [baz]")  >>> (m.lineno, m.colno, m.severity, m.message, m.revealed_type, m.error_code)  (1, 13, Severity.ERROR, 'bar', None, 'baz')   """ m = cls.OUTPUT_RE.match(line) if not m: > raise ValueError("Not a valid mypy message") E ValueError: Not a valid mypy message cls = line = 'pyproject.toml: [mypy]: python_version: Python 3.8 is not supported (must be 3.9 or higher)' m = None /usr/lib/python3/dist-packages/pytest_mypy_testing/message.py:295: ValueError ____________________________ [mypy]mypy_list_typing ____________________________ cls = func = . at 0x7f85107c2a20> when = 'call' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]:  """Call func, wrapping the result in a CallInfo.   :param func:  The function to call. Called without arguments.  :type func: Callable[[], _pytest.runner.TResult]  :param when:  The phase in which the function is called.  :param reraise:  Exception or exceptions that shall propagate if raised by the  function, instead of being wrapped in the CallInfo.  """ excinfo = None start = timing.time() precise_start = timing.perf_counter() try: > result: TResult | None = func() cls = duration = 24.727814793004654 excinfo = func = . at 0x7f85107c2a20> precise_start = 550888.062514032 precise_stop = 550912.790328825 reraise = (, ) result = None start = 1790402425.7586656 stop = 1790402450.4864838 when = 'call' /usr/lib/python3/dist-packages/_pytest/runner.py:341: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ >  lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise ) item = kwds = {} runtest_hook = /usr/lib/python3/dist-packages/_pytest/runner.py:242: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = kwargs = {'item': } firstresult = False def __call__(self, **kwargs: object) -> Any:  """Call the hook.   Only accepts keyword arguments, which should match the hook  specification.   Returns the result(s) of calling all registered plugins, see  :ref:`calling`.  """ assert not self.is_historic(), ( "Cannot directly call a historic hook - use call_historic instead." ) self._verify_all_args_are_provided(kwargs) firstresult = self.spec.opts.get("firstresult", False) if self.spec else False # Copy because plugins may register other plugins during iteration (#438). > return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) firstresult = False kwargs = {'item': } self = /usr/lib/python3/dist-packages/pluggy/_hooks.py:512: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.config.PytestPluginManager object at 0x7f8521f1f230> hook_name = 'pytest_runtest_call' methods = [>] kwargs = {'item': } firstresult = False def _hookexec( self, hook_name: str, methods: Sequence[HookImpl], kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]: # called from all hookcaller instances. # enable_tracing will set its own wrapping function at self._inner_hookexec > return self._inner_hookexec(hook_name, methods, kwargs, firstresult) firstresult = False hook_name = 'pytest_runtest_call' kwargs = {'item': } methods = [>] self = <_pytest.config.PytestPluginManager object at 0x7f8521f1f230> /usr/lib/python3/dist-packages/pluggy/_manager.py:120: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook_name = 'pytest_runtest_call' hook_impls = [>] caller_kwargs = {'item': } firstresult = False def _multicall( hook_name: str, hook_impls: Sequence[HookImpl], caller_kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]:  """Execute a call into multiple python functions/methods and return the  result(s).   ``caller_kwargs`` comes from HookCaller.__call__().  """ __tracebackhide__ = True results: list[object] = [] exception = None try: # run impl and wrapper setup functions in a loop teardowns: list[Teardown] = [] try: for hook_impl in reversed(hook_impls): try: args = [caller_kwargs[argname] for argname in hook_impl.argnames] except KeyError as e: # coverage bug - this is tested for argname in hook_impl.argnames: # pragma: no cover if argname not in caller_kwargs: raise HookCallError( f"hook call must provide argument {argname!r}" ) from e  if hook_impl.hookwrapper: function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)  next(function_gen) # first yield teardowns.append(function_gen)  elif hook_impl.wrapper: try: # If this cast is not valid, a type error is raised below, # which is the desired response. res = hook_impl.function(*args) function_gen = cast(Generator[None, object, object], res) next(function_gen) # first yield teardowns.append(function_gen) except StopIteration: _raise_wrapfail(function_gen, "did not yield") else: res = hook_impl.function(*args) if res is not None: results.append(res) if firstresult: # halt further impl calls break except BaseException as exc: exception = exc finally: if firstresult: # first result hooks return a single value result = results[0] if results else None else: result = results  # run all wrapper post-yield blocks for teardown in reversed(teardowns): try: if exception is not None: try: teardown.throw(exception) except RuntimeError as re: # StopIteration from generator causes RuntimeError # even for coroutine usage - see #544 if ( isinstance(exception, StopIteration) and re.__cause__ is exception ): teardown.close() continue else: raise else: teardown.send(result) # Following is unreachable for a well behaved hook wrapper. # Try to force finalizers otherwise postponed till GC action. # Note: close() may raise if generator handles GeneratorExit. teardown.close() except StopIteration as si: result = si.value exception = None continue except BaseException as e: exception = e continue _raise_wrapfail(teardown, "has second yield")  if exception is not None: > raise exception __tracebackhide__ = True args = [] caller_kwargs = {'item': } exception = ValueError('Not a valid mypy message') firstresult = False function_gen = hook_impl = > hook_impls = [>] hook_name = 'pytest_runtest_call' res = result = [] results = [] teardown = teardowns = [, , <...object CaptureManager.pytest_runtest_call at 0x7f851256ea40>, ] /usr/lib/python3/dist-packages/pluggy/_callers.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook_name = 'pytest_runtest_call' hook_impls = [>] caller_kwargs = {'item': } firstresult = False def _multicall( hook_name: str, hook_impls: Sequence[HookImpl], caller_kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]:  """Execute a call into multiple python functions/methods and return the  result(s).   ``caller_kwargs`` comes from HookCaller.__call__().  """ __tracebackhide__ = True results: list[object] = [] exception = None try: # run impl and wrapper setup functions in a loop teardowns: list[Teardown] = [] try: for hook_impl in reversed(hook_impls): try: args = [caller_kwargs[argname] for argname in hook_impl.argnames] except KeyError as e: # coverage bug - this is tested for argname in hook_impl.argnames: # pragma: no cover if argname not in caller_kwargs: raise HookCallError( f"hook call must provide argument {argname!r}" ) from e  if hook_impl.hookwrapper: function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)  next(function_gen) # first yield teardowns.append(function_gen)  elif hook_impl.wrapper: try: # If this cast is not valid, a type error is raised below, # which is the desired response. res = hook_impl.function(*args) function_gen = cast(Generator[None, object, object], res) next(function_gen) # first yield teardowns.append(function_gen) except StopIteration: _raise_wrapfail(function_gen, "did not yield") else: res = hook_impl.function(*args) if res is not None: results.append(res) if firstresult: # halt further impl calls break except BaseException as exc: exception = exc finally: if firstresult: # first result hooks return a single value result = results[0] if results else None else: result = results  # run all wrapper post-yield blocks for teardown in reversed(teardowns): try: if exception is not None: try: > teardown.throw(exception) __tracebackhide__ = True args = [] caller_kwargs = {'item': } exception = ValueError('Not a valid mypy message') firstresult = False function_gen = hook_impl = > hook_impls = [>] hook_name = 'pytest_runtest_call' res = result = [] results = [] teardown = teardowns = [, , <...object CaptureManager.pytest_runtest_call at 0x7f851256ea40>, ] /usr/lib/python3/dist-packages/pluggy/_callers.py:139: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ @pytest.hookimpl(wrapper=True, tryfirst=True) def pytest_runtest_call() -> Generator[None]: > yield from thread_exception_runtest_hook() /usr/lib/python3/dist-packages/_pytest/threadexception.py:92: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def thread_exception_runtest_hook() -> Generator[None]: with catch_threading_exception() as cm: try: > yield cm = <_pytest.threadexception.catch_threading_exception object at 0x7f851c0b7530> /usr/lib/python3/dist-packages/_pytest/threadexception.py:68: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook_name = 'pytest_runtest_call' hook_impls = [>] caller_kwargs = {'item': } firstresult = False def _multicall( hook_name: str, hook_impls: Sequence[HookImpl], caller_kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]:  """Execute a call into multiple python functions/methods and return the  result(s).   ``caller_kwargs`` comes from HookCaller.__call__().  """ __tracebackhide__ = True results: list[object] = [] exception = None try: # run impl and wrapper setup functions in a loop teardowns: list[Teardown] = [] try: for hook_impl in reversed(hook_impls): try: args = [caller_kwargs[argname] for argname in hook_impl.argnames] except KeyError as e: # coverage bug - this is tested for argname in hook_impl.argnames: # pragma: no cover if argname not in caller_kwargs: raise HookCallError( f"hook call must provide argument {argname!r}" ) from e  if hook_impl.hookwrapper: function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)  next(function_gen) # first yield teardowns.append(function_gen)  elif hook_impl.wrapper: try: # If this cast is not valid, a type error is raised below, # which is the desired response. res = hook_impl.function(*args) function_gen = cast(Generator[None, object, object], res) next(function_gen) # first yield teardowns.append(function_gen) except StopIteration: _raise_wrapfail(function_gen, "did not yield") else: res = hook_impl.function(*args) if res is not None: results.append(res) if firstresult: # halt further impl calls break except BaseException as exc: exception = exc finally: if firstresult: # first result hooks return a single value result = results[0] if results else None else: result = results  # run all wrapper post-yield blocks for teardown in reversed(teardowns): try: if exception is not None: try: > teardown.throw(exception) __tracebackhide__ = True args = [] caller_kwargs = {'item': } exception = ValueError('Not a valid mypy message') firstresult = False function_gen = hook_impl = > hook_impls = [>] hook_name = 'pytest_runtest_call' res = result = [] results = [] teardown = teardowns = [, , <...object CaptureManager.pytest_runtest_call at 0x7f851256ea40>, ] /usr/lib/python3/dist-packages/pluggy/_callers.py:139: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ @pytest.hookimpl(wrapper=True, tryfirst=True) def pytest_runtest_call() -> Generator[None]: > yield from unraisable_exception_runtest_hook() /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:95: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def unraisable_exception_runtest_hook() -> Generator[None]: with catch_unraisable_exception() as cm: try: > yield cm = <_pytest.unraisableexception.catch_unraisable_exception object at 0x7f851ac72030> /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook_name = 'pytest_runtest_call' hook_impls = [>] caller_kwargs = {'item': } firstresult = False def _multicall( hook_name: str, hook_impls: Sequence[HookImpl], caller_kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]:  """Execute a call into multiple python functions/methods and return the  result(s).   ``caller_kwargs`` comes from HookCaller.__call__().  """ __tracebackhide__ = True results: list[object] = [] exception = None try: # run impl and wrapper setup functions in a loop teardowns: list[Teardown] = [] try: for hook_impl in reversed(hook_impls): try: args = [caller_kwargs[argname] for argname in hook_impl.argnames] except KeyError as e: # coverage bug - this is tested for argname in hook_impl.argnames: # pragma: no cover if argname not in caller_kwargs: raise HookCallError( f"hook call must provide argument {argname!r}" ) from e  if hook_impl.hookwrapper: function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)  next(function_gen) # first yield teardowns.append(function_gen)  elif hook_impl.wrapper: try: # If this cast is not valid, a type error is raised below, # which is the desired response. res = hook_impl.function(*args) function_gen = cast(Generator[None, object, object], res) next(function_gen) # first yield teardowns.append(function_gen) except StopIteration: _raise_wrapfail(function_gen, "did not yield") else: res = hook_impl.function(*args) if res is not None: results.append(res) if firstresult: # halt further impl calls break except BaseException as exc: exception = exc finally: if firstresult: # first result hooks return a single value result = results[0] if results else None else: result = results  # run all wrapper post-yield blocks for teardown in reversed(teardowns): try: if exception is not None: try: > teardown.throw(exception) __tracebackhide__ = True args = [] caller_kwargs = {'item': } exception = ValueError('Not a valid mypy message') firstresult = False function_gen = hook_impl = > hook_impls = [>] hook_name = 'pytest_runtest_call' res = result = [] results = [] teardown = teardowns = [, , <...object CaptureManager.pytest_runtest_call at 0x7f851256ea40>, ] /usr/lib/python3/dist-packages/pluggy/_callers.py:139: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.logging.LoggingPlugin object at 0x7f851f45e120> item = @hookimpl(wrapper=True) def pytest_runtest_call(self, item: nodes.Item) -> Generator[None]: self.log_cli_handler.set_when("call")  > yield from self._runtest_for(item, "call") item = self = <_pytest.logging.LoggingPlugin object at 0x7f851f45e120> /usr/lib/python3/dist-packages/_pytest/logging.py:846: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.logging.LoggingPlugin object at 0x7f851f45e120> item = , when = 'call' def _runtest_for(self, item: nodes.Item, when: str) -> Generator[None]:  """Implement the internals of the pytest_runtest_xxx() hooks.""" with catching_logs( self.caplog_handler, level=self.log_level, ) as caplog_handler, catching_logs( self.report_handler, level=self.log_level, ) as report_handler: caplog_handler.reset() report_handler.reset() item.stash[caplog_records_key][when] = caplog_handler.records item.stash[caplog_handler_key] = caplog_handler  try: > yield caplog_handler = item = log = '' report_handler = self = <_pytest.logging.LoggingPlugin object at 0x7f851f45e120> when = 'call' /usr/lib/python3/dist-packages/_pytest/logging.py:829: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook_name = 'pytest_runtest_call' hook_impls = [>] caller_kwargs = {'item': } firstresult = False def _multicall( hook_name: str, hook_impls: Sequence[HookImpl], caller_kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]:  """Execute a call into multiple python functions/methods and return the  result(s).   ``caller_kwargs`` comes from HookCaller.__call__().  """ __tracebackhide__ = True results: list[object] = [] exception = None try: # run impl and wrapper setup functions in a loop teardowns: list[Teardown] = [] try: for hook_impl in reversed(hook_impls): try: args = [caller_kwargs[argname] for argname in hook_impl.argnames] except KeyError as e: # coverage bug - this is tested for argname in hook_impl.argnames: # pragma: no cover if argname not in caller_kwargs: raise HookCallError( f"hook call must provide argument {argname!r}" ) from e  if hook_impl.hookwrapper: function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)  next(function_gen) # first yield teardowns.append(function_gen)  elif hook_impl.wrapper: try: # If this cast is not valid, a type error is raised below, # which is the desired response. res = hook_impl.function(*args) function_gen = cast(Generator[None, object, object], res) next(function_gen) # first yield teardowns.append(function_gen) except StopIteration: _raise_wrapfail(function_gen, "did not yield") else: res = hook_impl.function(*args) if res is not None: results.append(res) if firstresult: # halt further impl calls break except BaseException as exc: exception = exc finally: if firstresult: # first result hooks return a single value result = results[0] if results else None else: result = results  # run all wrapper post-yield blocks for teardown in reversed(teardowns): try: if exception is not None: try: > teardown.throw(exception) __tracebackhide__ = True args = [] caller_kwargs = {'item': } exception = ValueError('Not a valid mypy message') firstresult = False function_gen = hook_impl = > hook_impls = [>] hook_name = 'pytest_runtest_call' res = result = [] results = [] teardown = teardowns = [, , <...object CaptureManager.pytest_runtest_call at 0x7f851256ea40>, ] /usr/lib/python3/dist-packages/pluggy/_callers.py:139: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = > _state='suspended' _in_suspended=False> _capture_fixture=None> item = @hookimpl(wrapper=True) def pytest_runtest_call(self, item: Item) -> Generator[None]: with self.item_capture("call", item): > return (yield) item = self = > _state='suspended' _in_suspended=False> _capture_fixture=None> /usr/lib/python3/dist-packages/_pytest/capture.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook_name = 'pytest_runtest_call' hook_impls = [>] caller_kwargs = {'item': } firstresult = False def _multicall( hook_name: str, hook_impls: Sequence[HookImpl], caller_kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]:  """Execute a call into multiple python functions/methods and return the  result(s).   ``caller_kwargs`` comes from HookCaller.__call__().  """ __tracebackhide__ = True results: list[object] = [] exception = None try: # run impl and wrapper setup functions in a loop teardowns: list[Teardown] = [] try: for hook_impl in reversed(hook_impls): try: args = [caller_kwargs[argname] for argname in hook_impl.argnames] except KeyError as e: # coverage bug - this is tested for argname in hook_impl.argnames: # pragma: no cover if argname not in caller_kwargs: raise HookCallError( f"hook call must provide argument {argname!r}" ) from e  if hook_impl.hookwrapper: function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)  next(function_gen) # first yield teardowns.append(function_gen)  elif hook_impl.wrapper: try: # If this cast is not valid, a type error is raised below, # which is the desired response. res = hook_impl.function(*args) function_gen = cast(Generator[None, object, object], res) next(function_gen) # first yield teardowns.append(function_gen) except StopIteration: _raise_wrapfail(function_gen, "did not yield") else: res = hook_impl.function(*args) if res is not None: results.append(res) if firstresult: # halt further impl calls break except BaseException as exc: exception = exc finally: if firstresult: # first result hooks return a single value result = results[0] if results else None else: result = results  # run all wrapper post-yield blocks for teardown in reversed(teardowns): try: if exception is not None: try: > teardown.throw(exception) __tracebackhide__ = True args = [] caller_kwargs = {'item': } exception = ValueError('Not a valid mypy message') firstresult = False function_gen = hook_impl = > hook_impls = [>] hook_name = 'pytest_runtest_call' res = result = [] results = [] teardown = teardowns = [, , <...object CaptureManager.pytest_runtest_call at 0x7f851256ea40>, ] /usr/lib/python3/dist-packages/pluggy/_callers.py:139: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ item = @hookimpl(wrapper=True) def pytest_runtest_call(item: Item) -> Generator[None]: xfailed = item.stash.get(xfailed_key, None) if xfailed is None: item.stash[xfailed_key] = xfailed = evaluate_xfail_marks(item)  if xfailed and not item.config.option.runxfail and not xfailed.run: xfail("[NOTRUN] " + xfailed.reason)  try: > return (yield) item = xfailed = None /usr/lib/python3/dist-packages/_pytest/skipping.py:257: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook_name = 'pytest_runtest_call' hook_impls = [>] caller_kwargs = {'item': } firstresult = False def _multicall( hook_name: str, hook_impls: Sequence[HookImpl], caller_kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]:  """Execute a call into multiple python functions/methods and return the  result(s).   ``caller_kwargs`` comes from HookCaller.__call__().  """ __tracebackhide__ = True results: list[object] = [] exception = None try: # run impl and wrapper setup functions in a loop teardowns: list[Teardown] = [] try: for hook_impl in reversed(hook_impls): try: args = [caller_kwargs[argname] for argname in hook_impl.argnames] except KeyError as e: # coverage bug - this is tested for argname in hook_impl.argnames: # pragma: no cover if argname not in caller_kwargs: raise HookCallError( f"hook call must provide argument {argname!r}" ) from e  if hook_impl.hookwrapper: function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)  next(function_gen) # first yield teardowns.append(function_gen)  elif hook_impl.wrapper: try: # If this cast is not valid, a type error is raised below, # which is the desired response. res = hook_impl.function(*args) function_gen = cast(Generator[None, object, object], res) next(function_gen) # first yield teardowns.append(function_gen) except StopIteration: _raise_wrapfail(function_gen, "did not yield") else: > res = hook_impl.function(*args) __tracebackhide__ = True args = [] caller_kwargs = {'item': } exception = ValueError('Not a valid mypy message') firstresult = False function_gen = hook_impl = > hook_impls = [>] hook_name = 'pytest_runtest_call' res = result = [] results = [] teardown = teardowns = [, , <...object CaptureManager.pytest_runtest_call at 0x7f851256ea40>, ] /usr/lib/python3/dist-packages/pluggy/_callers.py:121: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ item = def pytest_runtest_call(item: Item) -> None: _update_current_test_var(item, "call") try: del sys.last_type del sys.last_value del sys.last_traceback if sys.version_info >= (3, 12, 0): del sys.last_exc # type:ignore[attr-defined] except AttributeError: pass try: > item.runtest() item = /usr/lib/python3/dist-packages/_pytest/runner.py:174: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def runtest(self) -> None: > returncode, actual_messages = self.parent.run_mypy(self.mypy_item) self = /usr/lib/python3/dist-packages/pytest_mypy_testing/plugin.py:64: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = item = MypyTestItem(name='mypy_list_typing', lineno=95, end_lineno=110, expected_messages=[Message(filename='/build/reproduci...', error_code=None)], func_node=, marks={'mypy_testing'}, actual_messages=[]) def run_mypy(self, item: MypyTestItem) -> Tuple[int, List[Message]]: if self._mypy_result is None: > self._mypy_result = self._run_mypy(self.path) item = MypyTestItem(name='mypy_list_typing', lineno=95, end_lineno=110, expected_messages=[Message(filename='/build/reproduci...', error_code=None)], func_node=, marks={'mypy_testing'}, actual_messages=[]) self = /usr/lib/python3/dist-packages/pytest_mypy_testing/plugin.py:136: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = filename = PosixPath('/build/reproducible-path/traitlets-5.14.3+really5.14.3/.pybuild/cpython3_3.13_traitlets/build/tests/test_typing.py') def _run_mypy(self, filename: Union[pathlib.Path, os.PathLike, str]) -> MypyResult: filename = pathlib.Path(filename) with tempfile.TemporaryDirectory(prefix="pytest-mypy-testing-") as tmp_dir_name: mypy_cache_dir = os.path.join(tmp_dir_name, "mypy_cache") os.makedirs(mypy_cache_dir)  mypy_args = [ "--cache-dir={}".format(mypy_cache_dir), "--check-untyped-defs", "--hide-error-context", "--no-color-output", "--no-error-summary", "--no-pretty", "--soft-error-limit=-1", "--no-silence-site-packages", "--no-warn-unused-configs", "--show-column-numbers", "--show-error-codes", "--show-traceback", str(filename), ]  out, err, returncode = mypy.api.run(mypy_args)  lines = (out + err).splitlines()  file_messages = [ msg > for msg in map(Message.from_output, lines) if (msg.filename == self.mypy_file.filename) and not ( msg.severity is Severity.NOTE and msg.message == "See https://mypy.readthedocs.io/en/stable/running_mypy.html#missing-imports" ) ] err = 'pyproject.toml: [mypy]: python_version: Python 3.8 is not supported (must be 3.9 or higher)\n' filename = PosixPath('/build/reproducible-path/traitlets-5.14.3+really5.14.3/.pybuild/cpython3_3.13_traitlets/build/tests/test_typing.py') lines = ['/usr/lib/python3/dist-packages/mypy/typeshed/stdlib/builtins.pyi:1244:27: error: Class cannot subclass "Any" (has ty...ist-packages/argcomplete/packages/_shlex.py:74:5: error: Function is missing a type annotation [no-untyped-def]', ...] mypy_args = ['--cache-dir=/tmp/pytest-mypy-testing-ose5rmvj/mypy_cache', '--check-untyped-defs', '--hide-error-context', '--no-color-output', '--no-error-summary', '--no-pretty', ...] mypy_cache_dir = '/tmp/pytest-mypy-testing-ose5rmvj/mypy_cache' out = '/usr/lib/python3/dist-packages/mypy/typeshed/stdlib/builtins.pyi:1244:27: error: Class cannot subclass "Any" (has typ...:454:14: error: Incompatible types in assignment (expression has type "None", variable has type "Foo") [assignment]\n' returncode = 1 self = tmp_dir_name = '/tmp/pytest-mypy-testing-ose5rmvj' /usr/lib/python3/dist-packages/pytest_mypy_testing/plugin.py:173: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = line = 'pyproject.toml: [mypy]: python_version: Python 3.8 is not supported (must be 3.9 or higher)' @classmethod def from_output(cls, line: str) -> "Message":  """Create message object from mypy output line.   >>> m = Message.from_output("z.py:1: note: bar")  >>> (m.lineno, m.colno, m.severity, m.message, m.revealed_type, m.error_code)  (1, None, Severity.NOTE, 'bar', None, None)   >>> m = Message.from_output("z.py:1:13: note: bar")  >>> (m.lineno, m.colno, m.severity, m.message, m.revealed_type, m.error_code)  (1, 13, Severity.NOTE, 'bar', None, None)   >>> m = Message.from_output("z.py:1: note: Revealed type is 'bar'")  >>> (m.lineno, m.colno, m.severity, m.message, m.revealed_type, m.error_code)  (1, None, Severity.NOTE, "Revealed type is 'bar'", 'bar', None)   >>> m = Message.from_output('z.py:1: note: Revealed type is "bar"')  >>> (m.lineno, m.colno, m.severity, m.message, m.revealed_type, m.error_code)  (1, None, Severity.NOTE, 'Revealed type is "bar"', 'bar', None)   >>> m = Message.from_output("z.py:1:13: error: bar [baz]")  >>> (m.lineno, m.colno, m.severity, m.message, m.revealed_type, m.error_code)  (1, 13, Severity.ERROR, 'bar', None, 'baz')   """ m = cls.OUTPUT_RE.match(line) if not m: > raise ValueError("Not a valid mypy message") E ValueError: Not a valid mypy message cls = line = 'pyproject.toml: [mypy]: python_version: Python 3.8 is not supported (must be 3.9 or higher)' m = None /usr/lib/python3/dist-packages/pytest_mypy_testing/message.py:295: ValueError ____________________________ [mypy]mypy_dict_typing ____________________________ cls = func = . at 0x7f85100d2a20> when = 'call' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]:  """Call func, wrapping the result in a CallInfo.   :param func:  The function to call. Called without arguments.  :type func: Callable[[], _pytest.runner.TResult]  :param when:  The phase in which the function is called.  :param reraise:  Exception or exceptions that shall propagate if raised by the  function, instead of being wrapped in the CallInfo.  """ excinfo = None start = timing.time() precise_start = timing.perf_counter() try: > result: TResult | None = func() cls = duration = 27.73551307292655 excinfo = func = . at 0x7f85100d2a20> precise_start = 550912.958596894 precise_stop = 550940.694109967 reraise = (, ) result = None start = 1790402450.6547482 stop = 1790402478.390265 when = 'call' /usr/lib/python3/dist-packages/_pytest/runner.py:341: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ >  lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise ) item = kwds = {} runtest_hook = /usr/lib/python3/dist-packages/_pytest/runner.py:242: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = kwargs = {'item': } firstresult = False def __call__(self, **kwargs: object) -> Any:  """Call the hook.   Only accepts keyword arguments, which should match the hook  specification.   Returns the result(s) of calling all registered plugins, see  :ref:`calling`.  """ assert not self.is_historic(), ( "Cannot directly call a historic hook - use call_historic instead." ) self._verify_all_args_are_provided(kwargs) firstresult = self.spec.opts.get("firstresult", False) if self.spec else False # Copy because plugins may register other plugins during iteration (#438). > return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) firstresult = False kwargs = {'item': } self = /usr/lib/python3/dist-packages/pluggy/_hooks.py:512: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.config.PytestPluginManager object at 0x7f8521f1f230> hook_name = 'pytest_runtest_call' methods = [>] kwargs = {'item': } firstresult = False def _hookexec( self, hook_name: str, methods: Sequence[HookImpl], kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]: # called from all hookcaller instances. # enable_tracing will set its own wrapping function at self._inner_hookexec > return self._inner_hookexec(hook_name, methods, kwargs, firstresult) firstresult = False hook_name = 'pytest_runtest_call' kwargs = {'item': } methods = [>] self = <_pytest.config.PytestPluginManager object at 0x7f8521f1f230> /usr/lib/python3/dist-packages/pluggy/_manager.py:120: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook_name = 'pytest_runtest_call' hook_impls = [>] caller_kwargs = {'item': } firstresult = False def _multicall( hook_name: str, hook_impls: Sequence[HookImpl], caller_kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]:  """Execute a call into multiple python functions/methods and return the  result(s).   ``caller_kwargs`` comes from HookCaller.__call__().  """ __tracebackhide__ = True results: list[object] = [] exception = None try: # run impl and wrapper setup functions in a loop teardowns: list[Teardown] = [] try: for hook_impl in reversed(hook_impls): try: args = [caller_kwargs[argname] for argname in hook_impl.argnames] except KeyError as e: # coverage bug - this is tested for argname in hook_impl.argnames: # pragma: no cover if argname not in caller_kwargs: raise HookCallError( f"hook call must provide argument {argname!r}" ) from e  if hook_impl.hookwrapper: function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)  next(function_gen) # first yield teardowns.append(function_gen)  elif hook_impl.wrapper: try: # If this cast is not valid, a type error is raised below, # which is the desired response. res = hook_impl.function(*args) function_gen = cast(Generator[None, object, object], res) next(function_gen) # first yield teardowns.append(function_gen) except StopIteration: _raise_wrapfail(function_gen, "did not yield") else: res = hook_impl.function(*args) if res is not None: results.append(res) if firstresult: # halt further impl calls break except BaseException as exc: exception = exc finally: if firstresult: # first result hooks return a single value result = results[0] if results else None else: result = results  # run all wrapper post-yield blocks for teardown in reversed(teardowns): try: if exception is not None: try: teardown.throw(exception) except RuntimeError as re: # StopIteration from generator causes RuntimeError # even for coroutine usage - see #544 if ( isinstance(exception, StopIteration) and re.__cause__ is exception ): teardown.close() continue else: raise else: teardown.send(result) # Following is unreachable for a well behaved hook wrapper. # Try to force finalizers otherwise postponed till GC action. # Note: close() may raise if generator handles GeneratorExit. teardown.close() except StopIteration as si: result = si.value exception = None continue except BaseException as e: exception = e continue _raise_wrapfail(teardown, "has second yield")  if exception is not None: > raise exception __tracebackhide__ = True args = [] caller_kwargs = {'item': } exception = ValueError('Not a valid mypy message') firstresult = False function_gen = hook_impl = > hook_impls = [>] hook_name = 'pytest_runtest_call' res = result = [] results = [] teardown = teardowns = [, , <...object CaptureManager.pytest_runtest_call at 0x7f850e244c80>, ] /usr/lib/python3/dist-packages/pluggy/_callers.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook_name = 'pytest_runtest_call' hook_impls = [>] caller_kwargs = {'item': } firstresult = False def _multicall( hook_name: str, hook_impls: Sequence[HookImpl], caller_kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]:  """Execute a call into multiple python functions/methods and return the  result(s).   ``caller_kwargs`` comes from HookCaller.__call__().  """ __tracebackhide__ = True results: list[object] = [] exception = None try: # run impl and wrapper setup functions in a loop teardowns: list[Teardown] = [] try: for hook_impl in reversed(hook_impls): try: args = [caller_kwargs[argname] for argname in hook_impl.argnames] except KeyError as e: # coverage bug - this is tested for argname in hook_impl.argnames: # pragma: no cover if argname not in caller_kwargs: raise HookCallError( f"hook call must provide argument {argname!r}" ) from e  if hook_impl.hookwrapper: function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)  next(function_gen) # first yield teardowns.append(function_gen)  elif hook_impl.wrapper: try: # If this cast is not valid, a type error is raised below, # which is the desired response. res = hook_impl.function(*args) function_gen = cast(Generator[None, object, object], res) next(function_gen) # first yield teardowns.append(function_gen) except StopIteration: _raise_wrapfail(function_gen, "did not yield") else: res = hook_impl.function(*args) if res is not None: results.append(res) if firstresult: # halt further impl calls break except BaseException as exc: exception = exc finally: if firstresult: # first result hooks return a single value result = results[0] if results else None else: result = results  # run all wrapper post-yield blocks for teardown in reversed(teardowns): try: if exception is not None: try: > teardown.throw(exception) __tracebackhide__ = True args = [] caller_kwargs = {'item': } exception = ValueError('Not a valid mypy message') firstresult = False function_gen = hook_impl = > hook_impls = [>] hook_name = 'pytest_runtest_call' res = result = [] results = [] teardown = teardowns = [, , <...object CaptureManager.pytest_runtest_call at 0x7f850e244c80>, ] /usr/lib/python3/dist-packages/pluggy/_callers.py:139: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ @pytest.hookimpl(wrapper=True, tryfirst=True) def pytest_runtest_call() -> Generator[None]: > yield from thread_exception_runtest_hook() /usr/lib/python3/dist-packages/_pytest/threadexception.py:92: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def thread_exception_runtest_hook() -> Generator[None]: with catch_threading_exception() as cm: try: > yield cm = <_pytest.threadexception.catch_threading_exception object at 0x7f85104a9f70> /usr/lib/python3/dist-packages/_pytest/threadexception.py:68: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook_name = 'pytest_runtest_call' hook_impls = [>] caller_kwargs = {'item': } firstresult = False def _multicall( hook_name: str, hook_impls: Sequence[HookImpl], caller_kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]:  """Execute a call into multiple python functions/methods and return the  result(s).   ``caller_kwargs`` comes from HookCaller.__call__().  """ __tracebackhide__ = True results: list[object] = [] exception = None try: # run impl and wrapper setup functions in a loop teardowns: list[Teardown] = [] try: for hook_impl in reversed(hook_impls): try: args = [caller_kwargs[argname] for argname in hook_impl.argnames] except KeyError as e: # coverage bug - this is tested for argname in hook_impl.argnames: # pragma: no cover if argname not in caller_kwargs: raise HookCallError( f"hook call must provide argument {argname!r}" ) from e  if hook_impl.hookwrapper: function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)  next(function_gen) # first yield teardowns.append(function_gen)  elif hook_impl.wrapper: try: # If this cast is not valid, a type error is raised below, # which is the desired response. res = hook_impl.function(*args) function_gen = cast(Generator[None, object, object], res) next(function_gen) # first yield teardowns.append(function_gen) except StopIteration: _raise_wrapfail(function_gen, "did not yield") else: res = hook_impl.function(*args) if res is not None: results.append(res) if firstresult: # halt further impl calls break except BaseException as exc: exception = exc finally: if firstresult: # first result hooks return a single value result = results[0] if results else None else: result = results  # run all wrapper post-yield blocks for teardown in reversed(teardowns): try: if exception is not None: try: > teardown.throw(exception) __tracebackhide__ = True args = [] caller_kwargs = {'item': } exception = ValueError('Not a valid mypy message') firstresult = False function_gen = hook_impl = > hook_impls = [>] hook_name = 'pytest_runtest_call' res = result = [] results = [] teardown = teardowns = [, , <...object CaptureManager.pytest_runtest_call at 0x7f850e244c80>, ] /usr/lib/python3/dist-packages/pluggy/_callers.py:139: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ @pytest.hookimpl(wrapper=True, tryfirst=True) def pytest_runtest_call() -> Generator[None]: > yield from unraisable_exception_runtest_hook() /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:95: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def unraisable_exception_runtest_hook() -> Generator[None]: with catch_unraisable_exception() as cm: try: > yield cm = <_pytest.unraisableexception.catch_unraisable_exception object at 0x7f85104aa0f0> /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook_name = 'pytest_runtest_call' hook_impls = [>] caller_kwargs = {'item': } firstresult = False def _multicall( hook_name: str, hook_impls: Sequence[HookImpl], caller_kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]:  """Execute a call into multiple python functions/methods and return the  result(s).   ``caller_kwargs`` comes from HookCaller.__call__().  """ __tracebackhide__ = True results: list[object] = [] exception = None try: # run impl and wrapper setup functions in a loop teardowns: list[Teardown] = [] try: for hook_impl in reversed(hook_impls): try: args = [caller_kwargs[argname] for argname in hook_impl.argnames] except KeyError as e: # coverage bug - this is tested for argname in hook_impl.argnames: # pragma: no cover if argname not in caller_kwargs: raise HookCallError( f"hook call must provide argument {argname!r}" ) from e  if hook_impl.hookwrapper: function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)  next(function_gen) # first yield teardowns.append(function_gen)  elif hook_impl.wrapper: try: # If this cast is not valid, a type error is raised below, # which is the desired response. res = hook_impl.function(*args) function_gen = cast(Generator[None, object, object], res) next(function_gen) # first yield teardowns.append(function_gen) except StopIteration: _raise_wrapfail(function_gen, "did not yield") else: res = hook_impl.function(*args) if res is not None: results.append(res) if firstresult: # halt further impl calls break except BaseException as exc: exception = exc finally: if firstresult: # first result hooks return a single value result = results[0] if results else None else: result = results  # run all wrapper post-yield blocks for teardown in reversed(teardowns): try: if exception is not None: try: > teardown.throw(exception) __tracebackhide__ = True args = [] caller_kwargs = {'item': } exception = ValueError('Not a valid mypy message') firstresult = False function_gen = hook_impl = > hook_impls = [>] hook_name = 'pytest_runtest_call' res = result = [] results = [] teardown = teardowns = [, , <...object CaptureManager.pytest_runtest_call at 0x7f850e244c80>, ] /usr/lib/python3/dist-packages/pluggy/_callers.py:139: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.logging.LoggingPlugin object at 0x7f851f45e120> item = @hookimpl(wrapper=True) def pytest_runtest_call(self, item: nodes.Item) -> Generator[None]: self.log_cli_handler.set_when("call")  > yield from self._runtest_for(item, "call") item = self = <_pytest.logging.LoggingPlugin object at 0x7f851f45e120> /usr/lib/python3/dist-packages/_pytest/logging.py:846: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.logging.LoggingPlugin object at 0x7f851f45e120> item = , when = 'call' def _runtest_for(self, item: nodes.Item, when: str) -> Generator[None]:  """Implement the internals of the pytest_runtest_xxx() hooks.""" with catching_logs( self.caplog_handler, level=self.log_level, ) as caplog_handler, catching_logs( self.report_handler, level=self.log_level, ) as report_handler: caplog_handler.reset() report_handler.reset() item.stash[caplog_records_key][when] = caplog_handler.records item.stash[caplog_handler_key] = caplog_handler  try: > yield caplog_handler = item = log = '' report_handler = self = <_pytest.logging.LoggingPlugin object at 0x7f851f45e120> when = 'call' /usr/lib/python3/dist-packages/_pytest/logging.py:829: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook_name = 'pytest_runtest_call' hook_impls = [>] caller_kwargs = {'item': } firstresult = False def _multicall( hook_name: str, hook_impls: Sequence[HookImpl], caller_kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]:  """Execute a call into multiple python functions/methods and return the  result(s).   ``caller_kwargs`` comes from HookCaller.__call__().  """ __tracebackhide__ = True results: list[object] = [] exception = None try: # run impl and wrapper setup functions in a loop teardowns: list[Teardown] = [] try: for hook_impl in reversed(hook_impls): try: args = [caller_kwargs[argname] for argname in hook_impl.argnames] except KeyError as e: # coverage bug - this is tested for argname in hook_impl.argnames: # pragma: no cover if argname not in caller_kwargs: raise HookCallError( f"hook call must provide argument {argname!r}" ) from e  if hook_impl.hookwrapper: function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)  next(function_gen) # first yield teardowns.append(function_gen)  elif hook_impl.wrapper: try: # If this cast is not valid, a type error is raised below, # which is the desired response. res = hook_impl.function(*args) function_gen = cast(Generator[None, object, object], res) next(function_gen) # first yield teardowns.append(function_gen) except StopIteration: _raise_wrapfail(function_gen, "did not yield") else: res = hook_impl.function(*args) if res is not None: results.append(res) if firstresult: # halt further impl calls break except BaseException as exc: exception = exc finally: if firstresult: # first result hooks return a single value result = results[0] if results else None else: result = results  # run all wrapper post-yield blocks for teardown in reversed(teardowns): try: if exception is not None: try: > teardown.throw(exception) __tracebackhide__ = True args = [] caller_kwargs = {'item': } exception = ValueError('Not a valid mypy message') firstresult = False function_gen = hook_impl = > hook_impls = [>] hook_name = 'pytest_runtest_call' res = result = [] results = [] teardown = teardowns = [, , <...object CaptureManager.pytest_runtest_call at 0x7f850e244c80>, ] /usr/lib/python3/dist-packages/pluggy/_callers.py:139: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = > _state='suspended' _in_suspended=False> _capture_fixture=None> item = @hookimpl(wrapper=True) def pytest_runtest_call(self, item: Item) -> Generator[None]: with self.item_capture("call", item): > return (yield) item = self = > _state='suspended' _in_suspended=False> _capture_fixture=None> /usr/lib/python3/dist-packages/_pytest/capture.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook_name = 'pytest_runtest_call' hook_impls = [>] caller_kwargs = {'item': } firstresult = False def _multicall( hook_name: str, hook_impls: Sequence[HookImpl], caller_kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]:  """Execute a call into multiple python functions/methods and return the  result(s).   ``caller_kwargs`` comes from HookCaller.__call__().  """ __tracebackhide__ = True results: list[object] = [] exception = None try: # run impl and wrapper setup functions in a loop teardowns: list[Teardown] = [] try: for hook_impl in reversed(hook_impls): try: args = [caller_kwargs[argname] for argname in hook_impl.argnames] except KeyError as e: # coverage bug - this is tested for argname in hook_impl.argnames: # pragma: no cover if argname not in caller_kwargs: raise HookCallError( f"hook call must provide argument {argname!r}" ) from e  if hook_impl.hookwrapper: function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)  next(function_gen) # first yield teardowns.append(function_gen)  elif hook_impl.wrapper: try: # If this cast is not valid, a type error is raised below, # which is the desired response. res = hook_impl.function(*args) function_gen = cast(Generator[None, object, object], res) next(function_gen) # first yield teardowns.append(function_gen) except StopIteration: _raise_wrapfail(function_gen, "did not yield") else: res = hook_impl.function(*args) if res is not None: results.append(res) if firstresult: # halt further impl calls break except BaseException as exc: exception = exc finally: if firstresult: # first result hooks return a single value result = results[0] if results else None else: result = results  # run all wrapper post-yield blocks for teardown in reversed(teardowns): try: if exception is not None: try: > teardown.throw(exception) __tracebackhide__ = True args = [] caller_kwargs = {'item': } exception = ValueError('Not a valid mypy message') firstresult = False function_gen = hook_impl = > hook_impls = [>] hook_name = 'pytest_runtest_call' res = result = [] results = [] teardown = teardowns = [, , <...object CaptureManager.pytest_runtest_call at 0x7f850e244c80>, ] /usr/lib/python3/dist-packages/pluggy/_callers.py:139: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ item = @hookimpl(wrapper=True) def pytest_runtest_call(item: Item) -> Generator[None]: xfailed = item.stash.get(xfailed_key, None) if xfailed is None: item.stash[xfailed_key] = xfailed = evaluate_xfail_marks(item)  if xfailed and not item.config.option.runxfail and not xfailed.run: xfail("[NOTRUN] " + xfailed.reason)  try: > return (yield) item = xfailed = None /usr/lib/python3/dist-packages/_pytest/skipping.py:257: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook_name = 'pytest_runtest_call' hook_impls = [>] caller_kwargs = {'item': } firstresult = False def _multicall( hook_name: str, hook_impls: Sequence[HookImpl], caller_kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]:  """Execute a call into multiple python functions/methods and return the  result(s).   ``caller_kwargs`` comes from HookCaller.__call__().  """ __tracebackhide__ = True results: list[object] = [] exception = None try: # run impl and wrapper setup functions in a loop teardowns: list[Teardown] = [] try: for hook_impl in reversed(hook_impls): try: args = [caller_kwargs[argname] for argname in hook_impl.argnames] except KeyError as e: # coverage bug - this is tested for argname in hook_impl.argnames: # pragma: no cover if argname not in caller_kwargs: raise HookCallError( f"hook call must provide argument {argname!r}" ) from e  if hook_impl.hookwrapper: function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)  next(function_gen) # first yield teardowns.append(function_gen)  elif hook_impl.wrapper: try: # If this cast is not valid, a type error is raised below, # which is the desired response. res = hook_impl.function(*args) function_gen = cast(Generator[None, object, object], res) next(function_gen) # first yield teardowns.append(function_gen) except StopIteration: _raise_wrapfail(function_gen, "did not yield") else: > res = hook_impl.function(*args) __tracebackhide__ = True args = [] caller_kwargs = {'item': } exception = ValueError('Not a valid mypy message') firstresult = False function_gen = hook_impl = > hook_impls = [>] hook_name = 'pytest_runtest_call' res = result = [] results = [] teardown = teardowns = [, , <...object CaptureManager.pytest_runtest_call at 0x7f850e244c80>, ] /usr/lib/python3/dist-packages/pluggy/_callers.py:121: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ item = def pytest_runtest_call(item: Item) -> None: _update_current_test_var(item, "call") try: del sys.last_type del sys.last_value del sys.last_traceback if sys.version_info >= (3, 12, 0): del sys.last_exc # type:ignore[attr-defined] except AttributeError: pass try: > item.runtest() item = /usr/lib/python3/dist-packages/_pytest/runner.py:174: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def runtest(self) -> None: > returncode, actual_messages = self.parent.run_mypy(self.mypy_item) self = /usr/lib/python3/dist-packages/pytest_mypy_testing/plugin.py:64: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = item = MypyTestItem(name='mypy_dict_typing', lineno=113, end_lineno=124, expected_messages=[Message(filename='/build/reproduc...', error_code=None)], func_node=, marks={'mypy_testing'}, actual_messages=[]) def run_mypy(self, item: MypyTestItem) -> Tuple[int, List[Message]]: if self._mypy_result is None: > self._mypy_result = self._run_mypy(self.path) item = MypyTestItem(name='mypy_dict_typing', lineno=113, end_lineno=124, expected_messages=[Message(filename='/build/reproduc...', error_code=None)], func_node=, marks={'mypy_testing'}, actual_messages=[]) self = /usr/lib/python3/dist-packages/pytest_mypy_testing/plugin.py:136: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = filename = PosixPath('/build/reproducible-path/traitlets-5.14.3+really5.14.3/.pybuild/cpython3_3.13_traitlets/build/tests/test_typing.py') def _run_mypy(self, filename: Union[pathlib.Path, os.PathLike, str]) -> MypyResult: filename = pathlib.Path(filename) with tempfile.TemporaryDirectory(prefix="pytest-mypy-testing-") as tmp_dir_name: mypy_cache_dir = os.path.join(tmp_dir_name, "mypy_cache") os.makedirs(mypy_cache_dir)  mypy_args = [ "--cache-dir={}".format(mypy_cache_dir), "--check-untyped-defs", "--hide-error-context", "--no-color-output", "--no-error-summary", "--no-pretty", "--soft-error-limit=-1", "--no-silence-site-packages", "--no-warn-unused-configs", "--show-column-numbers", "--show-error-codes", "--show-traceback", str(filename), ]  out, err, returncode = mypy.api.run(mypy_args)  lines = (out + err).splitlines()  file_messages = [ msg > for msg in map(Message.from_output, lines) if (msg.filename == self.mypy_file.filename) and not ( msg.severity is Severity.NOTE and msg.message == "See https://mypy.readthedocs.io/en/stable/running_mypy.html#missing-imports" ) ] err = 'pyproject.toml: [mypy]: python_version: Python 3.8 is not supported (must be 3.9 or higher)\n' filename = PosixPath('/build/reproducible-path/traitlets-5.14.3+really5.14.3/.pybuild/cpython3_3.13_traitlets/build/tests/test_typing.py') lines = ['/usr/lib/python3/dist-packages/mypy/typeshed/stdlib/builtins.pyi:1244:27: error: Class cannot subclass "Any" (has ty...ist-packages/argcomplete/packages/_shlex.py:74:5: error: Function is missing a type annotation [no-untyped-def]', ...] mypy_args = ['--cache-dir=/tmp/pytest-mypy-testing-vrb_9q71/mypy_cache', '--check-untyped-defs', '--hide-error-context', '--no-color-output', '--no-error-summary', '--no-pretty', ...] mypy_cache_dir = '/tmp/pytest-mypy-testing-vrb_9q71/mypy_cache' out = '/usr/lib/python3/dist-packages/mypy/typeshed/stdlib/builtins.pyi:1244:27: error: Class cannot subclass "Any" (has typ...:454:14: error: Incompatible types in assignment (expression has type "None", variable has type "Foo") [assignment]\n' returncode = 1 self = tmp_dir_name = '/tmp/pytest-mypy-testing-vrb_9q71' /usr/lib/python3/dist-packages/pytest_mypy_testing/plugin.py:173: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = line = 'pyproject.toml: [mypy]: python_version: Python 3.8 is not supported (must be 3.9 or higher)' @classmethod def from_output(cls, line: str) -> "Message":  """Create message object from mypy output line.   >>> m = Message.from_output("z.py:1: note: bar")  >>> (m.lineno, m.colno, m.severity, m.message, m.revealed_type, m.error_code)  (1, None, Severity.NOTE, 'bar', None, None)   >>> m = Message.from_output("z.py:1:13: note: bar")  >>> (m.lineno, m.colno, m.severity, m.message, m.revealed_type, m.error_code)  (1, 13, Severity.NOTE, 'bar', None, None)   >>> m = Message.from_output("z.py:1: note: Revealed type is 'bar'")  >>> (m.lineno, m.colno, m.severity, m.message, m.revealed_type, m.error_code)  (1, None, Severity.NOTE, "Revealed type is 'bar'", 'bar', None)   >>> m = Message.from_output('z.py:1: note: Revealed type is "bar"')  >>> (m.lineno, m.colno, m.severity, m.message, m.revealed_type, m.error_code)  (1, None, Severity.NOTE, 'Revealed type is "bar"', 'bar', None)   >>> m = Message.from_output("z.py:1:13: error: bar [baz]")  >>> (m.lineno, m.colno, m.severity, m.message, m.revealed_type, m.error_code)  (1, 13, Severity.ERROR, 'bar', None, 'baz')   """ m = cls.OUTPUT_RE.match(line) if not m: > raise ValueError("Not a valid mypy message") E ValueError: Not a valid mypy message cls = line = 'pyproject.toml: [mypy]: python_version: Python 3.8 is not supported (must be 3.9 or higher)' m = None /usr/lib/python3/dist-packages/pytest_mypy_testing/message.py:295: ValueError ____________________________ [mypy]mypy_type_typing ____________________________ cls = func = . at 0x7f851b22f7e0> when = 'call' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]:  """Call func, wrapping the result in a CallInfo.   :param func:  The function to call. Called without arguments.  :type func: Callable[[], _pytest.runner.TResult]  :param when:  The phase in which the function is called.  :param reraise:  Exception or exceptions that shall propagate if raised by the  function, instead of being wrapped in the CallInfo.  """ excinfo = None start = timing.time() precise_start = timing.perf_counter() try: > result: TResult | None = func() cls = duration = 25.545251844101585 excinfo = func = . at 0x7f851b22f7e0> precise_start = 550941.092551656 precise_stop = 550966.6378035 reraise = (, ) result = None start = 1790402478.788703 stop = 1790402504.3339577 when = 'call' /usr/lib/python3/dist-packages/_pytest/runner.py:341: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ >  lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise ) item = kwds = {} runtest_hook = /usr/lib/python3/dist-packages/_pytest/runner.py:242: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = kwargs = {'item': } firstresult = False def __call__(self, **kwargs: object) -> Any:  """Call the hook.   Only accepts keyword arguments, which should match the hook  specification.   Returns the result(s) of calling all registered plugins, see  :ref:`calling`.  """ assert not self.is_historic(), ( "Cannot directly call a historic hook - use call_historic instead." ) self._verify_all_args_are_provided(kwargs) firstresult = self.spec.opts.get("firstresult", False) if self.spec else False # Copy because plugins may register other plugins during iteration (#438). > return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) firstresult = False kwargs = {'item': } self = /usr/lib/python3/dist-packages/pluggy/_hooks.py:512: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.config.PytestPluginManager object at 0x7f8521f1f230> hook_name = 'pytest_runtest_call' methods = [>] kwargs = {'item': } firstresult = False def _hookexec( self, hook_name: str, methods: Sequence[HookImpl], kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]: # called from all hookcaller instances. # enable_tracing will set its own wrapping function at self._inner_hookexec > return self._inner_hookexec(hook_name, methods, kwargs, firstresult) firstresult = False hook_name = 'pytest_runtest_call' kwargs = {'item': } methods = [>] self = <_pytest.config.PytestPluginManager object at 0x7f8521f1f230> /usr/lib/python3/dist-packages/pluggy/_manager.py:120: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook_name = 'pytest_runtest_call' hook_impls = [>] caller_kwargs = {'item': } firstresult = False def _multicall( hook_name: str, hook_impls: Sequence[HookImpl], caller_kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]:  """Execute a call into multiple python functions/methods and return the  result(s).   ``caller_kwargs`` comes from HookCaller.__call__().  """ __tracebackhide__ = True results: list[object] = [] exception = None try: # run impl and wrapper setup functions in a loop teardowns: list[Teardown] = [] try: for hook_impl in reversed(hook_impls): try: args = [caller_kwargs[argname] for argname in hook_impl.argnames] except KeyError as e: # coverage bug - this is tested for argname in hook_impl.argnames: # pragma: no cover if argname not in caller_kwargs: raise HookCallError( f"hook call must provide argument {argname!r}" ) from e  if hook_impl.hookwrapper: function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)  next(function_gen) # first yield teardowns.append(function_gen)  elif hook_impl.wrapper: try: # If this cast is not valid, a type error is raised below, # which is the desired response. res = hook_impl.function(*args) function_gen = cast(Generator[None, object, object], res) next(function_gen) # first yield teardowns.append(function_gen) except StopIteration: _raise_wrapfail(function_gen, "did not yield") else: res = hook_impl.function(*args) if res is not None: results.append(res) if firstresult: # halt further impl calls break except BaseException as exc: exception = exc finally: if firstresult: # first result hooks return a single value result = results[0] if results else None else: result = results  # run all wrapper post-yield blocks for teardown in reversed(teardowns): try: if exception is not None: try: teardown.throw(exception) except RuntimeError as re: # StopIteration from generator causes RuntimeError # even for coroutine usage - see #544 if ( isinstance(exception, StopIteration) and re.__cause__ is exception ): teardown.close() continue else: raise else: teardown.send(result) # Following is unreachable for a well behaved hook wrapper. # Try to force finalizers otherwise postponed till GC action. # Note: close() may raise if generator handles GeneratorExit. teardown.close() except StopIteration as si: result = si.value exception = None continue except BaseException as e: exception = e continue _raise_wrapfail(teardown, "has second yield")  if exception is not None: > raise exception __tracebackhide__ = True args = [] caller_kwargs = {'item': } exception = ValueError('Not a valid mypy message') firstresult = False function_gen = hook_impl = > hook_impls = [>] hook_name = 'pytest_runtest_call' res = result = [] results = [] teardown = teardowns = [, , <...object CaptureManager.pytest_runtest_call at 0x7f8508990d60>, ] /usr/lib/python3/dist-packages/pluggy/_callers.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook_name = 'pytest_runtest_call' hook_impls = [>] caller_kwargs = {'item': } firstresult = False def _multicall( hook_name: str, hook_impls: Sequence[HookImpl], caller_kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]:  """Execute a call into multiple python functions/methods and return the  result(s).   ``caller_kwargs`` comes from HookCaller.__call__().  """ __tracebackhide__ = True results: list[object] = [] exception = None try: # run impl and wrapper setup functions in a loop teardowns: list[Teardown] = [] try: for hook_impl in reversed(hook_impls): try: args = [caller_kwargs[argname] for argname in hook_impl.argnames] except KeyError as e: # coverage bug - this is tested for argname in hook_impl.argnames: # pragma: no cover if argname not in caller_kwargs: raise HookCallError( f"hook call must provide argument {argname!r}" ) from e  if hook_impl.hookwrapper: function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)  next(function_gen) # first yield teardowns.append(function_gen)  elif hook_impl.wrapper: try: # If this cast is not valid, a type error is raised below, # which is the desired response. res = hook_impl.function(*args) function_gen = cast(Generator[None, object, object], res) next(function_gen) # first yield teardowns.append(function_gen) except StopIteration: _raise_wrapfail(function_gen, "did not yield") else: res = hook_impl.function(*args) if res is not None: results.append(res) if firstresult: # halt further impl calls break except BaseException as exc: exception = exc finally: if firstresult: # first result hooks return a single value result = results[0] if results else None else: result = results  # run all wrapper post-yield blocks for teardown in reversed(teardowns): try: if exception is not None: try: > teardown.throw(exception) __tracebackhide__ = True args = [] caller_kwargs = {'item': } exception = ValueError('Not a valid mypy message') firstresult = False function_gen = hook_impl = > hook_impls = [>] hook_name = 'pytest_runtest_call' res = result = [] results = [] teardown = teardowns = [, , <...object CaptureManager.pytest_runtest_call at 0x7f8508990d60>, ] /usr/lib/python3/dist-packages/pluggy/_callers.py:139: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ @pytest.hookimpl(wrapper=True, tryfirst=True) def pytest_runtest_call() -> Generator[None]: > yield from thread_exception_runtest_hook() /usr/lib/python3/dist-packages/_pytest/threadexception.py:92: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def thread_exception_runtest_hook() -> Generator[None]: with catch_threading_exception() as cm: try: > yield cm = <_pytest.threadexception.catch_threading_exception object at 0x7f8516f43fb0> /usr/lib/python3/dist-packages/_pytest/threadexception.py:68: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook_name = 'pytest_runtest_call' hook_impls = [>] caller_kwargs = {'item': } firstresult = False def _multicall( hook_name: str, hook_impls: Sequence[HookImpl], caller_kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]:  """Execute a call into multiple python functions/methods and return the  result(s).   ``caller_kwargs`` comes from HookCaller.__call__().  """ __tracebackhide__ = True results: list[object] = [] exception = None try: # run impl and wrapper setup functions in a loop teardowns: list[Teardown] = [] try: for hook_impl in reversed(hook_impls): try: args = [caller_kwargs[argname] for argname in hook_impl.argnames] except KeyError as e: # coverage bug - this is tested for argname in hook_impl.argnames: # pragma: no cover if argname not in caller_kwargs: raise HookCallError( f"hook call must provide argument {argname!r}" ) from e  if hook_impl.hookwrapper: function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)  next(function_gen) # first yield teardowns.append(function_gen)  elif hook_impl.wrapper: try: # If this cast is not valid, a type error is raised below, # which is the desired response. res = hook_impl.function(*args) function_gen = cast(Generator[None, object, object], res) next(function_gen) # first yield teardowns.append(function_gen) except StopIteration: _raise_wrapfail(function_gen, "did not yield") else: res = hook_impl.function(*args) if res is not None: results.append(res) if firstresult: # halt further impl calls break except BaseException as exc: exception = exc finally: if firstresult: # first result hooks return a single value result = results[0] if results else None else: result = results  # run all wrapper post-yield blocks for teardown in reversed(teardowns): try: if exception is not None: try: > teardown.throw(exception) __tracebackhide__ = True args = [] caller_kwargs = {'item': } exception = ValueError('Not a valid mypy message') firstresult = False function_gen = hook_impl = > hook_impls = [>] hook_name = 'pytest_runtest_call' res = result = [] results = [] teardown = teardowns = [, , <...object CaptureManager.pytest_runtest_call at 0x7f8508990d60>, ] /usr/lib/python3/dist-packages/pluggy/_callers.py:139: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ @pytest.hookimpl(wrapper=True, tryfirst=True) def pytest_runtest_call() -> Generator[None]: > yield from unraisable_exception_runtest_hook() /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:95: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def unraisable_exception_runtest_hook() -> Generator[None]: with catch_unraisable_exception() as cm: try: > yield cm = <_pytest.unraisableexception.catch_unraisable_exception object at 0x7f8516f43f50> /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook_name = 'pytest_runtest_call' hook_impls = [>] caller_kwargs = {'item': } firstresult = False def _multicall( hook_name: str, hook_impls: Sequence[HookImpl], caller_kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]:  """Execute a call into multiple python functions/methods and return the  result(s).   ``caller_kwargs`` comes from HookCaller.__call__().  """ __tracebackhide__ = True results: list[object] = [] exception = None try: # run impl and wrapper setup functions in a loop teardowns: list[Teardown] = [] try: for hook_impl in reversed(hook_impls): try: args = [caller_kwargs[argname] for argname in hook_impl.argnames] except KeyError as e: # coverage bug - this is tested for argname in hook_impl.argnames: # pragma: no cover if argname not in caller_kwargs: raise HookCallError( f"hook call must provide argument {argname!r}" ) from e  if hook_impl.hookwrapper: function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)  next(function_gen) # first yield teardowns.append(function_gen)  elif hook_impl.wrapper: try: # If this cast is not valid, a type error is raised below, # which is the desired response. res = hook_impl.function(*args) function_gen = cast(Generator[None, object, object], res) next(function_gen) # first yield teardowns.append(function_gen) except StopIteration: _raise_wrapfail(function_gen, "did not yield") else: res = hook_impl.function(*args) if res is not None: results.append(res) if firstresult: # halt further impl calls break except BaseException as exc: exception = exc finally: if firstresult: # first result hooks return a single value result = results[0] if results else None else: result = results  # run all wrapper post-yield blocks for teardown in reversed(teardowns): try: if exception is not None: try: > teardown.throw(exception) __tracebackhide__ = True args = [] caller_kwargs = {'item': } exception = ValueError('Not a valid mypy message') firstresult = False function_gen = hook_impl = > hook_impls = [>] hook_name = 'pytest_runtest_call' res = result = [] results = [] teardown = teardowns = [, , <...object CaptureManager.pytest_runtest_call at 0x7f8508990d60>, ] /usr/lib/python3/dist-packages/pluggy/_callers.py:139: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.logging.LoggingPlugin object at 0x7f851f45e120> item = @hookimpl(wrapper=True) def pytest_runtest_call(self, item: nodes.Item) -> Generator[None]: self.log_cli_handler.set_when("call")  > yield from self._runtest_for(item, "call") item = self = <_pytest.logging.LoggingPlugin object at 0x7f851f45e120> /usr/lib/python3/dist-packages/_pytest/logging.py:846: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.logging.LoggingPlugin object at 0x7f851f45e120> item = , when = 'call' def _runtest_for(self, item: nodes.Item, when: str) -> Generator[None]:  """Implement the internals of the pytest_runtest_xxx() hooks.""" with catching_logs( self.caplog_handler, level=self.log_level, ) as caplog_handler, catching_logs( self.report_handler, level=self.log_level, ) as report_handler: caplog_handler.reset() report_handler.reset() item.stash[caplog_records_key][when] = caplog_handler.records item.stash[caplog_handler_key] = caplog_handler  try: > yield caplog_handler = item = log = '' report_handler = self = <_pytest.logging.LoggingPlugin object at 0x7f851f45e120> when = 'call' /usr/lib/python3/dist-packages/_pytest/logging.py:829: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook_name = 'pytest_runtest_call' hook_impls = [>] caller_kwargs = {'item': } firstresult = False def _multicall( hook_name: str, hook_impls: Sequence[HookImpl], caller_kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]:  """Execute a call into multiple python functions/methods and return the  result(s).   ``caller_kwargs`` comes from HookCaller.__call__().  """ __tracebackhide__ = True results: list[object] = [] exception = None try: # run impl and wrapper setup functions in a loop teardowns: list[Teardown] = [] try: for hook_impl in reversed(hook_impls): try: args = [caller_kwargs[argname] for argname in hook_impl.argnames] except KeyError as e: # coverage bug - this is tested for argname in hook_impl.argnames: # pragma: no cover if argname not in caller_kwargs: raise HookCallError( f"hook call must provide argument {argname!r}" ) from e  if hook_impl.hookwrapper: function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)  next(function_gen) # first yield teardowns.append(function_gen)  elif hook_impl.wrapper: try: # If this cast is not valid, a type error is raised below, # which is the desired response. res = hook_impl.function(*args) function_gen = cast(Generator[None, object, object], res) next(function_gen) # first yield teardowns.append(function_gen) except StopIteration: _raise_wrapfail(function_gen, "did not yield") else: res = hook_impl.function(*args) if res is not None: results.append(res) if firstresult: # halt further impl calls break except BaseException as exc: exception = exc finally: if firstresult: # first result hooks return a single value result = results[0] if results else None else: result = results  # run all wrapper post-yield blocks for teardown in reversed(teardowns): try: if exception is not None: try: > teardown.throw(exception) __tracebackhide__ = True args = [] caller_kwargs = {'item': } exception = ValueError('Not a valid mypy message') firstresult = False function_gen = hook_impl = > hook_impls = [>] hook_name = 'pytest_runtest_call' res = result = [] results = [] teardown = teardowns = [, , <...object CaptureManager.pytest_runtest_call at 0x7f8508990d60>, ] /usr/lib/python3/dist-packages/pluggy/_callers.py:139: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = > _state='suspended' _in_suspended=False> _capture_fixture=None> item = @hookimpl(wrapper=True) def pytest_runtest_call(self, item: Item) -> Generator[None]: with self.item_capture("call", item): > return (yield) item = self = > _state='suspended' _in_suspended=False> _capture_fixture=None> /usr/lib/python3/dist-packages/_pytest/capture.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook_name = 'pytest_runtest_call' hook_impls = [>] caller_kwargs = {'item': } firstresult = False def _multicall( hook_name: str, hook_impls: Sequence[HookImpl], caller_kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]:  """Execute a call into multiple python functions/methods and return the  result(s).   ``caller_kwargs`` comes from HookCaller.__call__().  """ __tracebackhide__ = True results: list[object] = [] exception = None try: # run impl and wrapper setup functions in a loop teardowns: list[Teardown] = [] try: for hook_impl in reversed(hook_impls): try: args = [caller_kwargs[argname] for argname in hook_impl.argnames] except KeyError as e: # coverage bug - this is tested for argname in hook_impl.argnames: # pragma: no cover if argname not in caller_kwargs: raise HookCallError( f"hook call must provide argument {argname!r}" ) from e  if hook_impl.hookwrapper: function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)  next(function_gen) # first yield teardowns.append(function_gen)  elif hook_impl.wrapper: try: # If this cast is not valid, a type error is raised below, # which is the desired response. res = hook_impl.function(*args) function_gen = cast(Generator[None, object, object], res) next(function_gen) # first yield teardowns.append(function_gen) except StopIteration: _raise_wrapfail(function_gen, "did not yield") else: res = hook_impl.function(*args) if res is not None: results.append(res) if firstresult: # halt further impl calls break except BaseException as exc: exception = exc finally: if firstresult: # first result hooks return a single value result = results[0] if results else None else: result = results  # run all wrapper post-yield blocks for teardown in reversed(teardowns): try: if exception is not None: try: > teardown.throw(exception) __tracebackhide__ = True args = [] caller_kwargs = {'item': } exception = ValueError('Not a valid mypy message') firstresult = False function_gen = hook_impl = > hook_impls = [>] hook_name = 'pytest_runtest_call' res = result = [] results = [] teardown = teardowns = [, , <...object CaptureManager.pytest_runtest_call at 0x7f8508990d60>, ] /usr/lib/python3/dist-packages/pluggy/_callers.py:139: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ item = @hookimpl(wrapper=True) def pytest_runtest_call(item: Item) -> Generator[None]: xfailed = item.stash.get(xfailed_key, None) if xfailed is None: item.stash[xfailed_key] = xfailed = evaluate_xfail_marks(item)  if xfailed and not item.config.option.runxfail and not xfailed.run: xfail("[NOTRUN] " + xfailed.reason)  try: > return (yield) item = xfailed = None /usr/lib/python3/dist-packages/_pytest/skipping.py:257: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook_name = 'pytest_runtest_call' hook_impls = [>] caller_kwargs = {'item': } firstresult = False def _multicall( hook_name: str, hook_impls: Sequence[HookImpl], caller_kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]:  """Execute a call into multiple python functions/methods and return the  result(s).   ``caller_kwargs`` comes from HookCaller.__call__().  """ __tracebackhide__ = True results: list[object] = [] exception = None try: # run impl and wrapper setup functions in a loop teardowns: list[Teardown] = [] try: for hook_impl in reversed(hook_impls): try: args = [caller_kwargs[argname] for argname in hook_impl.argnames] except KeyError as e: # coverage bug - this is tested for argname in hook_impl.argnames: # pragma: no cover if argname not in caller_kwargs: raise HookCallError( f"hook call must provide argument {argname!r}" ) from e  if hook_impl.hookwrapper: function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)  next(function_gen) # first yield teardowns.append(function_gen)  elif hook_impl.wrapper: try: # If this cast is not valid, a type error is raised below, # which is the desired response. res = hook_impl.function(*args) function_gen = cast(Generator[None, object, object], res) next(function_gen) # first yield teardowns.append(function_gen) except StopIteration: _raise_wrapfail(function_gen, "did not yield") else: > res = hook_impl.function(*args) __tracebackhide__ = True args = [] caller_kwargs = {'item': } exception = ValueError('Not a valid mypy message') firstresult = False function_gen = hook_impl = > hook_impls = [>] hook_name = 'pytest_runtest_call' res = result = [] results = [] teardown = teardowns = [, , <...object CaptureManager.pytest_runtest_call at 0x7f8508990d60>, ] /usr/lib/python3/dist-packages/pluggy/_callers.py:121: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ item = def pytest_runtest_call(item: Item) -> None: _update_current_test_var(item, "call") try: del sys.last_type del sys.last_value del sys.last_traceback if sys.version_info >= (3, 12, 0): del sys.last_exc # type:ignore[attr-defined] except AttributeError: pass try: > item.runtest() item = /usr/lib/python3/dist-packages/_pytest/runner.py:174: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def runtest(self) -> None: > returncode, actual_messages = self.parent.run_mypy(self.mypy_item) self = /usr/lib/python3/dist-packages/pytest_mypy_testing/plugin.py:64: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = item = MypyTestItem(name='mypy_type_typing', lineno=127, end_lineno=173, expected_messages=[Message(filename='/build/reproduc...', error_code=None)], func_node=, marks={'mypy_testing'}, actual_messages=[]) def run_mypy(self, item: MypyTestItem) -> Tuple[int, List[Message]]: if self._mypy_result is None: > self._mypy_result = self._run_mypy(self.path) item = MypyTestItem(name='mypy_type_typing', lineno=127, end_lineno=173, expected_messages=[Message(filename='/build/reproduc...', error_code=None)], func_node=, marks={'mypy_testing'}, actual_messages=[]) self = /usr/lib/python3/dist-packages/pytest_mypy_testing/plugin.py:136: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = filename = PosixPath('/build/reproducible-path/traitlets-5.14.3+really5.14.3/.pybuild/cpython3_3.13_traitlets/build/tests/test_typing.py') def _run_mypy(self, filename: Union[pathlib.Path, os.PathLike, str]) -> MypyResult: filename = pathlib.Path(filename) with tempfile.TemporaryDirectory(prefix="pytest-mypy-testing-") as tmp_dir_name: mypy_cache_dir = os.path.join(tmp_dir_name, "mypy_cache") os.makedirs(mypy_cache_dir)  mypy_args = [ "--cache-dir={}".format(mypy_cache_dir), "--check-untyped-defs", "--hide-error-context", "--no-color-output", "--no-error-summary", "--no-pretty", "--soft-error-limit=-1", "--no-silence-site-packages", "--no-warn-unused-configs", "--show-column-numbers", "--show-error-codes", "--show-traceback", str(filename), ]  out, err, returncode = mypy.api.run(mypy_args)  lines = (out + err).splitlines()  file_messages = [ msg > for msg in map(Message.from_output, lines) if (msg.filename == self.mypy_file.filename) and not ( msg.severity is Severity.NOTE and msg.message == "See https://mypy.readthedocs.io/en/stable/running_mypy.html#missing-imports" ) ] err = 'pyproject.toml: [mypy]: python_version: Python 3.8 is not supported (must be 3.9 or higher)\n' filename = PosixPath('/build/reproducible-path/traitlets-5.14.3+really5.14.3/.pybuild/cpython3_3.13_traitlets/build/tests/test_typing.py') lines = ['/usr/lib/python3/dist-packages/mypy/typeshed/stdlib/builtins.pyi:1244:27: error: Class cannot subclass "Any" (has ty...ist-packages/argcomplete/packages/_shlex.py:74:5: error: Function is missing a type annotation [no-untyped-def]', ...] mypy_args = ['--cache-dir=/tmp/pytest-mypy-testing-szf49mr2/mypy_cache', '--check-untyped-defs', '--hide-error-context', '--no-color-output', '--no-error-summary', '--no-pretty', ...] mypy_cache_dir = '/tmp/pytest-mypy-testing-szf49mr2/mypy_cache' out = '/usr/lib/python3/dist-packages/mypy/typeshed/stdlib/builtins.pyi:1244:27: error: Class cannot subclass "Any" (has typ...:454:14: error: Incompatible types in assignment (expression has type "None", variable has type "Foo") [assignment]\n' returncode = 1 self = tmp_dir_name = '/tmp/pytest-mypy-testing-szf49mr2' /usr/lib/python3/dist-packages/pytest_mypy_testing/plugin.py:173: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = line = 'pyproject.toml: [mypy]: python_version: Python 3.8 is not supported (must be 3.9 or higher)' @classmethod def from_output(cls, line: str) -> "Message":  """Create message object from mypy output line.   >>> m = Message.from_output("z.py:1: note: bar")  >>> (m.lineno, m.colno, m.severity, m.message, m.revealed_type, m.error_code)  (1, None, Severity.NOTE, 'bar', None, None)   >>> m = Message.from_output("z.py:1:13: note: bar")  >>> (m.lineno, m.colno, m.severity, m.message, m.revealed_type, m.error_code)  (1, 13, Severity.NOTE, 'bar', None, None)   >>> m = Message.from_output("z.py:1: note: Revealed type is 'bar'")  >>> (m.lineno, m.colno, m.severity, m.message, m.revealed_type, m.error_code)  (1, None, Severity.NOTE, "Revealed type is 'bar'", 'bar', None)   >>> m = Message.from_output('z.py:1: note: Revealed type is "bar"')  >>> (m.lineno, m.colno, m.severity, m.message, m.revealed_type, m.error_code)  (1, None, Severity.NOTE, 'Revealed type is "bar"', 'bar', None)   >>> m = Message.from_output("z.py:1:13: error: bar [baz]")  >>> (m.lineno, m.colno, m.severity, m.message, m.revealed_type, m.error_code)  (1, 13, Severity.ERROR, 'bar', None, 'baz')   """ m = cls.OUTPUT_RE.match(line) if not m: > raise ValueError("Not a valid mypy message") E ValueError: Not a valid mypy message cls = line = 'pyproject.toml: [mypy]: python_version: Python 3.8 is not supported (must be 3.9 or higher)' m = None /usr/lib/python3/dist-packages/pytest_mypy_testing/message.py:295: ValueError __________________________ [mypy]mypy_unicode_typing ___________________________ cls = func = . at 0x7f851aaefce0> when = 'call' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]:  """Call func, wrapping the result in a CallInfo.   :param func:  The function to call. Called without arguments.  :type func: Callable[[], _pytest.runner.TResult]  :param when:  The phase in which the function is called.  :param reraise:  Exception or exceptions that shall propagate if raised by the  function, instead of being wrapped in the CallInfo.  """ excinfo = None start = timing.time() precise_start = timing.perf_counter() try: > result: TResult | None = func() cls = duration = 25.827512894989923 excinfo = func = . at 0x7f851aaefce0> precise_start = 550966.965762042 precise_stop = 550992.793274937 reraise = (, ) result = None start = 1790402504.6619134 stop = 1790402530.4894292 when = 'call' /usr/lib/python3/dist-packages/_pytest/runner.py:341: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ >  lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise ) item = kwds = {} runtest_hook = /usr/lib/python3/dist-packages/_pytest/runner.py:242: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = kwargs = {'item': } firstresult = False def __call__(self, **kwargs: object) -> Any:  """Call the hook.   Only accepts keyword arguments, which should match the hook  specification.   Returns the result(s) of calling all registered plugins, see  :ref:`calling`.  """ assert not self.is_historic(), ( "Cannot directly call a historic hook - use call_historic instead." ) self._verify_all_args_are_provided(kwargs) firstresult = self.spec.opts.get("firstresult", False) if self.spec else False # Copy because plugins may register other plugins during iteration (#438). > return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) firstresult = False kwargs = {'item': } self = /usr/lib/python3/dist-packages/pluggy/_hooks.py:512: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.config.PytestPluginManager object at 0x7f8521f1f230> hook_name = 'pytest_runtest_call' methods = [>] kwargs = {'item': } firstresult = False def _hookexec( self, hook_name: str, methods: Sequence[HookImpl], kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]: # called from all hookcaller instances. # enable_tracing will set its own wrapping function at self._inner_hookexec > return self._inner_hookexec(hook_name, methods, kwargs, firstresult) firstresult = False hook_name = 'pytest_runtest_call' kwargs = {'item': } methods = [>] self = <_pytest.config.PytestPluginManager object at 0x7f8521f1f230> /usr/lib/python3/dist-packages/pluggy/_manager.py:120: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook_name = 'pytest_runtest_call' hook_impls = [>] caller_kwargs = {'item': } firstresult = False def _multicall( hook_name: str, hook_impls: Sequence[HookImpl], caller_kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]:  """Execute a call into multiple python functions/methods and return the  result(s).   ``caller_kwargs`` comes from HookCaller.__call__().  """ __tracebackhide__ = True results: list[object] = [] exception = None try: # run impl and wrapper setup functions in a loop teardowns: list[Teardown] = [] try: for hook_impl in reversed(hook_impls): try: args = [caller_kwargs[argname] for argname in hook_impl.argnames] except KeyError as e: # coverage bug - this is tested for argname in hook_impl.argnames: # pragma: no cover if argname not in caller_kwargs: raise HookCallError( f"hook call must provide argument {argname!r}" ) from e  if hook_impl.hookwrapper: function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)  next(function_gen) # first yield teardowns.append(function_gen)  elif hook_impl.wrapper: try: # If this cast is not valid, a type error is raised below, # which is the desired response. res = hook_impl.function(*args) function_gen = cast(Generator[None, object, object], res) next(function_gen) # first yield teardowns.append(function_gen) except StopIteration: _raise_wrapfail(function_gen, "did not yield") else: res = hook_impl.function(*args) if res is not None: results.append(res) if firstresult: # halt further impl calls break except BaseException as exc: exception = exc finally: if firstresult: # first result hooks return a single value result = results[0] if results else None else: result = results  # run all wrapper post-yield blocks for teardown in reversed(teardowns): try: if exception is not None: try: teardown.throw(exception) except RuntimeError as re: # StopIteration from generator causes RuntimeError # even for coroutine usage - see #544 if ( isinstance(exception, StopIteration) and re.__cause__ is exception ): teardown.close() continue else: raise else: teardown.send(result) # Following is unreachable for a well behaved hook wrapper. # Try to force finalizers otherwise postponed till GC action. # Note: close() may raise if generator handles GeneratorExit. teardown.close() except StopIteration as si: result = si.value exception = None continue except BaseException as e: exception = e continue _raise_wrapfail(teardown, "has second yield")  if exception is not None: > raise exception __tracebackhide__ = True args = [] caller_kwargs = {'item': } exception = ValueError('Not a valid mypy message') firstresult = False function_gen = hook_impl = > hook_impls = [>] hook_name = 'pytest_runtest_call' res = result = [] results = [] teardown = teardowns = [, , <...object CaptureManager.pytest_runtest_call at 0x7f851cd82340>, ] /usr/lib/python3/dist-packages/pluggy/_callers.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook_name = 'pytest_runtest_call' hook_impls = [>] caller_kwargs = {'item': } firstresult = False def _multicall( hook_name: str, hook_impls: Sequence[HookImpl], caller_kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]:  """Execute a call into multiple python functions/methods and return the  result(s).   ``caller_kwargs`` comes from HookCaller.__call__().  """ __tracebackhide__ = True results: list[object] = [] exception = None try: # run impl and wrapper setup functions in a loop teardowns: list[Teardown] = [] try: for hook_impl in reversed(hook_impls): try: args = [caller_kwargs[argname] for argname in hook_impl.argnames] except KeyError as e: # coverage bug - this is tested for argname in hook_impl.argnames: # pragma: no cover if argname not in caller_kwargs: raise HookCallError( f"hook call must provide argument {argname!r}" ) from e  if hook_impl.hookwrapper: function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)  next(function_gen) # first yield teardowns.append(function_gen)  elif hook_impl.wrapper: try: # If this cast is not valid, a type error is raised below, # which is the desired response. res = hook_impl.function(*args) function_gen = cast(Generator[None, object, object], res) next(function_gen) # first yield teardowns.append(function_gen) except StopIteration: _raise_wrapfail(function_gen, "did not yield") else: res = hook_impl.function(*args) if res is not None: results.append(res) if firstresult: # halt further impl calls break except BaseException as exc: exception = exc finally: if firstresult: # first result hooks return a single value result = results[0] if results else None else: result = results  # run all wrapper post-yield blocks for teardown in reversed(teardowns): try: if exception is not None: try: > teardown.throw(exception) __tracebackhide__ = True args = [] caller_kwargs = {'item': } exception = ValueError('Not a valid mypy message') firstresult = False function_gen = hook_impl = > hook_impls = [>] hook_name = 'pytest_runtest_call' res = result = [] results = [] teardown = teardowns = [, , <...object CaptureManager.pytest_runtest_call at 0x7f851cd82340>, ] /usr/lib/python3/dist-packages/pluggy/_callers.py:139: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ @pytest.hookimpl(wrapper=True, tryfirst=True) def pytest_runtest_call() -> Generator[None]: > yield from thread_exception_runtest_hook() /usr/lib/python3/dist-packages/_pytest/threadexception.py:92: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def thread_exception_runtest_hook() -> Generator[None]: with catch_threading_exception() as cm: try: > yield cm = <_pytest.threadexception.catch_threading_exception object at 0x7f8504d173b0> /usr/lib/python3/dist-packages/_pytest/threadexception.py:68: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook_name = 'pytest_runtest_call' hook_impls = [>] caller_kwargs = {'item': } firstresult = False def _multicall( hook_name: str, hook_impls: Sequence[HookImpl], caller_kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]:  """Execute a call into multiple python functions/methods and return the  result(s).   ``caller_kwargs`` comes from HookCaller.__call__().  """ __tracebackhide__ = True results: list[object] = [] exception = None try: # run impl and wrapper setup functions in a loop teardowns: list[Teardown] = [] try: for hook_impl in reversed(hook_impls): try: args = [caller_kwargs[argname] for argname in hook_impl.argnames] except KeyError as e: # coverage bug - this is tested for argname in hook_impl.argnames: # pragma: no cover if argname not in caller_kwargs: raise HookCallError( f"hook call must provide argument {argname!r}" ) from e  if hook_impl.hookwrapper: function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)  next(function_gen) # first yield teardowns.append(function_gen)  elif hook_impl.wrapper: try: # If this cast is not valid, a type error is raised below, # which is the desired response. res = hook_impl.function(*args) function_gen = cast(Generator[None, object, object], res) next(function_gen) # first yield teardowns.append(function_gen) except StopIteration: _raise_wrapfail(function_gen, "did not yield") else: res = hook_impl.function(*args) if res is not None: results.append(res) if firstresult: # halt further impl calls break except BaseException as exc: exception = exc finally: if firstresult: # first result hooks return a single value result = results[0] if results else None else: result = results  # run all wrapper post-yield blocks for teardown in reversed(teardowns): try: if exception is not None: try: > teardown.throw(exception) __tracebackhide__ = True args = [] caller_kwargs = {'item': } exception = ValueError('Not a valid mypy message') firstresult = False function_gen = hook_impl = > hook_impls = [>] hook_name = 'pytest_runtest_call' res = result = [] results = [] teardown = teardowns = [, , <...object CaptureManager.pytest_runtest_call at 0x7f851cd82340>, ] /usr/lib/python3/dist-packages/pluggy/_callers.py:139: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ @pytest.hookimpl(wrapper=True, tryfirst=True) def pytest_runtest_call() -> Generator[None]: > yield from unraisable_exception_runtest_hook() /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:95: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def unraisable_exception_runtest_hook() -> Generator[None]: with catch_unraisable_exception() as cm: try: > yield cm = <_pytest.unraisableexception.catch_unraisable_exception object at 0x7f8504d176b0> /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook_name = 'pytest_runtest_call' hook_impls = [>] caller_kwargs = {'item': } firstresult = False def _multicall( hook_name: str, hook_impls: Sequence[HookImpl], caller_kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]:  """Execute a call into multiple python functions/methods and return the  result(s).   ``caller_kwargs`` comes from HookCaller.__call__().  """ __tracebackhide__ = True results: list[object] = [] exception = None try: # run impl and wrapper setup functions in a loop teardowns: list[Teardown] = [] try: for hook_impl in reversed(hook_impls): try: args = [caller_kwargs[argname] for argname in hook_impl.argnames] except KeyError as e: # coverage bug - this is tested for argname in hook_impl.argnames: # pragma: no cover if argname not in caller_kwargs: raise HookCallError( f"hook call must provide argument {argname!r}" ) from e  if hook_impl.hookwrapper: function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)  next(function_gen) # first yield teardowns.append(function_gen)  elif hook_impl.wrapper: try: # If this cast is not valid, a type error is raised below, # which is the desired response. res = hook_impl.function(*args) function_gen = cast(Generator[None, object, object], res) next(function_gen) # first yield teardowns.append(function_gen) except StopIteration: _raise_wrapfail(function_gen, "did not yield") else: res = hook_impl.function(*args) if res is not None: results.append(res) if firstresult: # halt further impl calls break except BaseException as exc: exception = exc finally: if firstresult: # first result hooks return a single value result = results[0] if results else None else: result = results  # run all wrapper post-yield blocks for teardown in reversed(teardowns): try: if exception is not None: try: > teardown.throw(exception) __tracebackhide__ = True args = [] caller_kwargs = {'item': } exception = ValueError('Not a valid mypy message') firstresult = False function_gen = hook_impl = > hook_impls = [>] hook_name = 'pytest_runtest_call' res = result = [] results = [] teardown = teardowns = [, , <...object CaptureManager.pytest_runtest_call at 0x7f851cd82340>, ] /usr/lib/python3/dist-packages/pluggy/_callers.py:139: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.logging.LoggingPlugin object at 0x7f851f45e120> item = @hookimpl(wrapper=True) def pytest_runtest_call(self, item: nodes.Item) -> Generator[None]: self.log_cli_handler.set_when("call")  > yield from self._runtest_for(item, "call") item = self = <_pytest.logging.LoggingPlugin object at 0x7f851f45e120> /usr/lib/python3/dist-packages/_pytest/logging.py:846: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.logging.LoggingPlugin object at 0x7f851f45e120> item = , when = 'call' def _runtest_for(self, item: nodes.Item, when: str) -> Generator[None]:  """Implement the internals of the pytest_runtest_xxx() hooks.""" with catching_logs( self.caplog_handler, level=self.log_level, ) as caplog_handler, catching_logs( self.report_handler, level=self.log_level, ) as report_handler: caplog_handler.reset() report_handler.reset() item.stash[caplog_records_key][when] = caplog_handler.records item.stash[caplog_handler_key] = caplog_handler  try: > yield caplog_handler = item = log = '' report_handler = self = <_pytest.logging.LoggingPlugin object at 0x7f851f45e120> when = 'call' /usr/lib/python3/dist-packages/_pytest/logging.py:829: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook_name = 'pytest_runtest_call' hook_impls = [>] caller_kwargs = {'item': } firstresult = False def _multicall( hook_name: str, hook_impls: Sequence[HookImpl], caller_kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]:  """Execute a call into multiple python functions/methods and return the  result(s).   ``caller_kwargs`` comes from HookCaller.__call__().  """ __tracebackhide__ = True results: list[object] = [] exception = None try: # run impl and wrapper setup functions in a loop teardowns: list[Teardown] = [] try: for hook_impl in reversed(hook_impls): try: args = [caller_kwargs[argname] for argname in hook_impl.argnames] except KeyError as e: # coverage bug - this is tested for argname in hook_impl.argnames: # pragma: no cover if argname not in caller_kwargs: raise HookCallError( f"hook call must provide argument {argname!r}" ) from e  if hook_impl.hookwrapper: function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)  next(function_gen) # first yield teardowns.append(function_gen)  elif hook_impl.wrapper: try: # If this cast is not valid, a type error is raised below, # which is the desired response. res = hook_impl.function(*args) function_gen = cast(Generator[None, object, object], res) next(function_gen) # first yield teardowns.append(function_gen) except StopIteration: _raise_wrapfail(function_gen, "did not yield") else: res = hook_impl.function(*args) if res is not None: results.append(res) if firstresult: # halt further impl calls break except BaseException as exc: exception = exc finally: if firstresult: # first result hooks return a single value result = results[0] if results else None else: result = results  # run all wrapper post-yield blocks for teardown in reversed(teardowns): try: if exception is not None: try: > teardown.throw(exception) __tracebackhide__ = True args = [] caller_kwargs = {'item': } exception = ValueError('Not a valid mypy message') firstresult = False function_gen = hook_impl = > hook_impls = [>] hook_name = 'pytest_runtest_call' res = result = [] results = [] teardown = teardowns = [, , <...object CaptureManager.pytest_runtest_call at 0x7f851cd82340>, ] /usr/lib/python3/dist-packages/pluggy/_callers.py:139: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = > _state='suspended' _in_suspended=False> _capture_fixture=None> item = @hookimpl(wrapper=True) def pytest_runtest_call(self, item: Item) -> Generator[None]: with self.item_capture("call", item): > return (yield) item = self = > _state='suspended' _in_suspended=False> _capture_fixture=None> /usr/lib/python3/dist-packages/_pytest/capture.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook_name = 'pytest_runtest_call' hook_impls = [>] caller_kwargs = {'item': } firstresult = False def _multicall( hook_name: str, hook_impls: Sequence[HookImpl], caller_kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]:  """Execute a call into multiple python functions/methods and return the  result(s).   ``caller_kwargs`` comes from HookCaller.__call__().  """ __tracebackhide__ = True results: list[object] = [] exception = None try: # run impl and wrapper setup functions in a loop teardowns: list[Teardown] = [] try: for hook_impl in reversed(hook_impls): try: args = [caller_kwargs[argname] for argname in hook_impl.argnames] except KeyError as e: # coverage bug - this is tested for argname in hook_impl.argnames: # pragma: no cover if argname not in caller_kwargs: raise HookCallError( f"hook call must provide argument {argname!r}" ) from e  if hook_impl.hookwrapper: function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)  next(function_gen) # first yield teardowns.append(function_gen)  elif hook_impl.wrapper: try: # If this cast is not valid, a type error is raised below, # which is the desired response. res = hook_impl.function(*args) function_gen = cast(Generator[None, object, object], res) next(function_gen) # first yield teardowns.append(function_gen) except StopIteration: _raise_wrapfail(function_gen, "did not yield") else: res = hook_impl.function(*args) if res is not None: results.append(res) if firstresult: # halt further impl calls break except BaseException as exc: exception = exc finally: if firstresult: # first result hooks return a single value result = results[0] if results else None else: result = results  # run all wrapper post-yield blocks for teardown in reversed(teardowns): try: if exception is not None: try: > teardown.throw(exception) __tracebackhide__ = True args = [] caller_kwargs = {'item': } exception = ValueError('Not a valid mypy message') firstresult = False function_gen = hook_impl = > hook_impls = [>] hook_name = 'pytest_runtest_call' res = result = [] results = [] teardown = teardowns = [, , <...object CaptureManager.pytest_runtest_call at 0x7f851cd82340>, ] /usr/lib/python3/dist-packages/pluggy/_callers.py:139: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ item = @hookimpl(wrapper=True) def pytest_runtest_call(item: Item) -> Generator[None]: xfailed = item.stash.get(xfailed_key, None) if xfailed is None: item.stash[xfailed_key] = xfailed = evaluate_xfail_marks(item)  if xfailed and not item.config.option.runxfail and not xfailed.run: xfail("[NOTRUN] " + xfailed.reason)  try: > return (yield) item = xfailed = None /usr/lib/python3/dist-packages/_pytest/skipping.py:257: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook_name = 'pytest_runtest_call' hook_impls = [>] caller_kwargs = {'item': } firstresult = False def _multicall( hook_name: str, hook_impls: Sequence[HookImpl], caller_kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]:  """Execute a call into multiple python functions/methods and return the  result(s).   ``caller_kwargs`` comes from HookCaller.__call__().  """ __tracebackhide__ = True results: list[object] = [] exception = None try: # run impl and wrapper setup functions in a loop teardowns: list[Teardown] = [] try: for hook_impl in reversed(hook_impls): try: args = [caller_kwargs[argname] for argname in hook_impl.argnames] except KeyError as e: # coverage bug - this is tested for argname in hook_impl.argnames: # pragma: no cover if argname not in caller_kwargs: raise HookCallError( f"hook call must provide argument {argname!r}" ) from e  if hook_impl.hookwrapper: function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)  next(function_gen) # first yield teardowns.append(function_gen)  elif hook_impl.wrapper: try: # If this cast is not valid, a type error is raised below, # which is the desired response. res = hook_impl.function(*args) function_gen = cast(Generator[None, object, object], res) next(function_gen) # first yield teardowns.append(function_gen) except StopIteration: _raise_wrapfail(function_gen, "did not yield") else: > res = hook_impl.function(*args) __tracebackhide__ = True args = [] caller_kwargs = {'item': } exception = ValueError('Not a valid mypy message') firstresult = False function_gen = hook_impl = > hook_impls = [>] hook_name = 'pytest_runtest_call' res = result = [] results = [] teardown = teardowns = [, , <...object CaptureManager.pytest_runtest_call at 0x7f851cd82340>, ] /usr/lib/python3/dist-packages/pluggy/_callers.py:121: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ item = def pytest_runtest_call(item: Item) -> None: _update_current_test_var(item, "call") try: del sys.last_type del sys.last_value del sys.last_traceback if sys.version_info >= (3, 12, 0): del sys.last_exc # type:ignore[attr-defined] except AttributeError: pass try: > item.runtest() item = /usr/lib/python3/dist-packages/_pytest/runner.py:174: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def runtest(self) -> None: > returncode, actual_messages = self.parent.run_mypy(self.mypy_item) self = /usr/lib/python3/dist-packages/pytest_mypy_testing/plugin.py:64: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = item = MypyTestItem(name='mypy_unicode_typing', lineno=176, end_lineno=210, expected_messages=[Message(filename='/build/repro...', error_code=None)], func_node=, marks={'mypy_testing'}, actual_messages=[]) def run_mypy(self, item: MypyTestItem) -> Tuple[int, List[Message]]: if self._mypy_result is None: > self._mypy_result = self._run_mypy(self.path) item = MypyTestItem(name='mypy_unicode_typing', lineno=176, end_lineno=210, expected_messages=[Message(filename='/build/repro...', error_code=None)], func_node=, marks={'mypy_testing'}, actual_messages=[]) self = /usr/lib/python3/dist-packages/pytest_mypy_testing/plugin.py:136: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = filename = PosixPath('/build/reproducible-path/traitlets-5.14.3+really5.14.3/.pybuild/cpython3_3.13_traitlets/build/tests/test_typing.py') def _run_mypy(self, filename: Union[pathlib.Path, os.PathLike, str]) -> MypyResult: filename = pathlib.Path(filename) with tempfile.TemporaryDirectory(prefix="pytest-mypy-testing-") as tmp_dir_name: mypy_cache_dir = os.path.join(tmp_dir_name, "mypy_cache") os.makedirs(mypy_cache_dir)  mypy_args = [ "--cache-dir={}".format(mypy_cache_dir), "--check-untyped-defs", "--hide-error-context", "--no-color-output", "--no-error-summary", "--no-pretty", "--soft-error-limit=-1", "--no-silence-site-packages", "--no-warn-unused-configs", "--show-column-numbers", "--show-error-codes", "--show-traceback", str(filename), ]  out, err, returncode = mypy.api.run(mypy_args)  lines = (out + err).splitlines()  file_messages = [ msg > for msg in map(Message.from_output, lines) if (msg.filename == self.mypy_file.filename) and not ( msg.severity is Severity.NOTE and msg.message == "See https://mypy.readthedocs.io/en/stable/running_mypy.html#missing-imports" ) ] err = 'pyproject.toml: [mypy]: python_version: Python 3.8 is not supported (must be 3.9 or higher)\n' filename = PosixPath('/build/reproducible-path/traitlets-5.14.3+really5.14.3/.pybuild/cpython3_3.13_traitlets/build/tests/test_typing.py') lines = ['/usr/lib/python3/dist-packages/mypy/typeshed/stdlib/builtins.pyi:1244:27: error: Class cannot subclass "Any" (has ty...ist-packages/argcomplete/packages/_shlex.py:74:5: error: Function is missing a type annotation [no-untyped-def]', ...] mypy_args = ['--cache-dir=/tmp/pytest-mypy-testing-hr4osqvx/mypy_cache', '--check-untyped-defs', '--hide-error-context', '--no-color-output', '--no-error-summary', '--no-pretty', ...] mypy_cache_dir = '/tmp/pytest-mypy-testing-hr4osqvx/mypy_cache' out = '/usr/lib/python3/dist-packages/mypy/typeshed/stdlib/builtins.pyi:1244:27: error: Class cannot subclass "Any" (has typ...:454:14: error: Incompatible types in assignment (expression has type "None", variable has type "Foo") [assignment]\n' returncode = 1 self = tmp_dir_name = '/tmp/pytest-mypy-testing-hr4osqvx' /usr/lib/python3/dist-packages/pytest_mypy_testing/plugin.py:173: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = line = 'pyproject.toml: [mypy]: python_version: Python 3.8 is not supported (must be 3.9 or higher)' @classmethod def from_output(cls, line: str) -> "Message":  """Create message object from mypy output line.   >>> m = Message.from_output("z.py:1: note: bar")  >>> (m.lineno, m.colno, m.severity, m.message, m.revealed_type, m.error_code)  (1, None, Severity.NOTE, 'bar', None, None)   >>> m = Message.from_output("z.py:1:13: note: bar")  >>> (m.lineno, m.colno, m.severity, m.message, m.revealed_type, m.error_code)  (1, 13, Severity.NOTE, 'bar', None, None)   >>> m = Message.from_output("z.py:1: note: Revealed type is 'bar'")  >>> (m.lineno, m.colno, m.severity, m.message, m.revealed_type, m.error_code)  (1, None, Severity.NOTE, "Revealed type is 'bar'", 'bar', None)   >>> m = Message.from_output('z.py:1: note: Revealed type is "bar"')  >>> (m.lineno, m.colno, m.severity, m.message, m.revealed_type, m.error_code)  (1, None, Severity.NOTE, 'Revealed type is "bar"', 'bar', None)   >>> m = Message.from_output("z.py:1:13: error: bar [baz]")  >>> (m.lineno, m.colno, m.severity, m.message, m.revealed_type, m.error_code)  (1, 13, Severity.ERROR, 'bar', None, 'baz')   """ m = cls.OUTPUT_RE.match(line) if not m: > raise ValueError("Not a valid mypy message") E ValueError: Not a valid mypy message cls = line = 'pyproject.toml: [mypy]: python_version: Python 3.8 is not supported (must be 3.9 or higher)' m = None /usr/lib/python3/dist-packages/pytest_mypy_testing/message.py:295: ValueError ____________________________ [mypy]mypy_enum_typing ____________________________ cls = func = . at 0x7f8501682a20> when = 'call' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]:  """Call func, wrapping the result in a CallInfo.   :param func:  The function to call. Called without arguments.  :type func: Callable[[], _pytest.runner.TResult]  :param when:  The phase in which the function is called.  :param reraise:  Exception or exceptions that shall propagate if raised by the  function, instead of being wrapped in the CallInfo.  """ excinfo = None start = timing.time() precise_start = timing.perf_counter() try: > result: TResult | None = func() cls = duration = 32.49928732297849 excinfo = func = . at 0x7f8501682a20> precise_start = 550992.981739715 precise_stop = 551025.481027038 reraise = (, ) result = None start = 1790402530.677891 stop = 1790402563.1771817 when = 'call' /usr/lib/python3/dist-packages/_pytest/runner.py:341: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ >  lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise ) item = kwds = {} runtest_hook = /usr/lib/python3/dist-packages/_pytest/runner.py:242: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = kwargs = {'item': } firstresult = False def __call__(self, **kwargs: object) -> Any:  """Call the hook.   Only accepts keyword arguments, which should match the hook  specification.   Returns the result(s) of calling all registered plugins, see  :ref:`calling`.  """ assert not self.is_historic(), ( "Cannot directly call a historic hook - use call_historic instead." ) self._verify_all_args_are_provided(kwargs) firstresult = self.spec.opts.get("firstresult", False) if self.spec else False # Copy because plugins may register other plugins during iteration (#438). > return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) firstresult = False kwargs = {'item': } self = /usr/lib/python3/dist-packages/pluggy/_hooks.py:512: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.config.PytestPluginManager object at 0x7f8521f1f230> hook_name = 'pytest_runtest_call' methods = [>] kwargs = {'item': } firstresult = False def _hookexec( self, hook_name: str, methods: Sequence[HookImpl], kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]: # called from all hookcaller instances. # enable_tracing will set its own wrapping function at self._inner_hookexec > return self._inner_hookexec(hook_name, methods, kwargs, firstresult) firstresult = False hook_name = 'pytest_runtest_call' kwargs = {'item': } methods = [>] self = <_pytest.config.PytestPluginManager object at 0x7f8521f1f230> /usr/lib/python3/dist-packages/pluggy/_manager.py:120: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook_name = 'pytest_runtest_call' hook_impls = [>] caller_kwargs = {'item': } firstresult = False def _multicall( hook_name: str, hook_impls: Sequence[HookImpl], caller_kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]:  """Execute a call into multiple python functions/methods and return the  result(s).   ``caller_kwargs`` comes from HookCaller.__call__().  """ __tracebackhide__ = True results: list[object] = [] exception = None try: # run impl and wrapper setup functions in a loop teardowns: list[Teardown] = [] try: for hook_impl in reversed(hook_impls): try: args = [caller_kwargs[argname] for argname in hook_impl.argnames] except KeyError as e: # coverage bug - this is tested for argname in hook_impl.argnames: # pragma: no cover if argname not in caller_kwargs: raise HookCallError( f"hook call must provide argument {argname!r}" ) from e  if hook_impl.hookwrapper: function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)  next(function_gen) # first yield teardowns.append(function_gen)  elif hook_impl.wrapper: try: # If this cast is not valid, a type error is raised below, # which is the desired response. res = hook_impl.function(*args) function_gen = cast(Generator[None, object, object], res) next(function_gen) # first yield teardowns.append(function_gen) except StopIteration: _raise_wrapfail(function_gen, "did not yield") else: res = hook_impl.function(*args) if res is not None: results.append(res) if firstresult: # halt further impl calls break except BaseException as exc: exception = exc finally: if firstresult: # first result hooks return a single value result = results[0] if results else None else: result = results  # run all wrapper post-yield blocks for teardown in reversed(teardowns): try: if exception is not None: try: teardown.throw(exception) except RuntimeError as re: # StopIteration from generator causes RuntimeError # even for coroutine usage - see #544 if ( isinstance(exception, StopIteration) and re.__cause__ is exception ): teardown.close() continue else: raise else: teardown.send(result) # Following is unreachable for a well behaved hook wrapper. # Try to force finalizers otherwise postponed till GC action. # Note: close() may raise if generator handles GeneratorExit. teardown.close() except StopIteration as si: result = si.value exception = None continue except BaseException as e: exception = e continue _raise_wrapfail(teardown, "has second yield")  if exception is not None: > raise exception __tracebackhide__ = True args = [] caller_kwargs = {'item': } exception = ValueError('Not a valid mypy message') firstresult = False function_gen = hook_impl = > hook_impls = [>] hook_name = 'pytest_runtest_call' res = result = [] results = [] teardown = teardowns = [, , <...object CaptureManager.pytest_runtest_call at 0x7f8503469e00>, ] /usr/lib/python3/dist-packages/pluggy/_callers.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook_name = 'pytest_runtest_call' hook_impls = [>] caller_kwargs = {'item': } firstresult = False def _multicall( hook_name: str, hook_impls: Sequence[HookImpl], caller_kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]:  """Execute a call into multiple python functions/methods and return the  result(s).   ``caller_kwargs`` comes from HookCaller.__call__().  """ __tracebackhide__ = True results: list[object] = [] exception = None try: # run impl and wrapper setup functions in a loop teardowns: list[Teardown] = [] try: for hook_impl in reversed(hook_impls): try: args = [caller_kwargs[argname] for argname in hook_impl.argnames] except KeyError as e: # coverage bug - this is tested for argname in hook_impl.argnames: # pragma: no cover if argname not in caller_kwargs: raise HookCallError( f"hook call must provide argument {argname!r}" ) from e  if hook_impl.hookwrapper: function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)  next(function_gen) # first yield teardowns.append(function_gen)  elif hook_impl.wrapper: try: # If this cast is not valid, a type error is raised below, # which is the desired response. res = hook_impl.function(*args) function_gen = cast(Generator[None, object, object], res) next(function_gen) # first yield teardowns.append(function_gen) except StopIteration: _raise_wrapfail(function_gen, "did not yield") else: res = hook_impl.function(*args) if res is not None: results.append(res) if firstresult: # halt further impl calls break except BaseException as exc: exception = exc finally: if firstresult: # first result hooks return a single value result = results[0] if results else None else: result = results  # run all wrapper post-yield blocks for teardown in reversed(teardowns): try: if exception is not None: try: > teardown.throw(exception) __tracebackhide__ = True args = [] caller_kwargs = {'item': } exception = ValueError('Not a valid mypy message') firstresult = False function_gen = hook_impl = > hook_impls = [>] hook_name = 'pytest_runtest_call' res = result = [] results = [] teardown = teardowns = [, , <...object CaptureManager.pytest_runtest_call at 0x7f8503469e00>, ] /usr/lib/python3/dist-packages/pluggy/_callers.py:139: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ @pytest.hookimpl(wrapper=True, tryfirst=True) def pytest_runtest_call() -> Generator[None]: > yield from thread_exception_runtest_hook() /usr/lib/python3/dist-packages/_pytest/threadexception.py:92: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def thread_exception_runtest_hook() -> Generator[None]: with catch_threading_exception() as cm: try: > yield cm = <_pytest.threadexception.catch_threading_exception object at 0x7f8500187050> /usr/lib/python3/dist-packages/_pytest/threadexception.py:68: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook_name = 'pytest_runtest_call' hook_impls = [>] caller_kwargs = {'item': } firstresult = False def _multicall( hook_name: str, hook_impls: Sequence[HookImpl], caller_kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]:  """Execute a call into multiple python functions/methods and return the  result(s).   ``caller_kwargs`` comes from HookCaller.__call__().  """ __tracebackhide__ = True results: list[object] = [] exception = None try: # run impl and wrapper setup functions in a loop teardowns: list[Teardown] = [] try: for hook_impl in reversed(hook_impls): try: args = [caller_kwargs[argname] for argname in hook_impl.argnames] except KeyError as e: # coverage bug - this is tested for argname in hook_impl.argnames: # pragma: no cover if argname not in caller_kwargs: raise HookCallError( f"hook call must provide argument {argname!r}" ) from e  if hook_impl.hookwrapper: function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)  next(function_gen) # first yield teardowns.append(function_gen)  elif hook_impl.wrapper: try: # If this cast is not valid, a type error is raised below, # which is the desired response. res = hook_impl.function(*args) function_gen = cast(Generator[None, object, object], res) next(function_gen) # first yield teardowns.append(function_gen) except StopIteration: _raise_wrapfail(function_gen, "did not yield") else: res = hook_impl.function(*args) if res is not None: results.append(res) if firstresult: # halt further impl calls break except BaseException as exc: exception = exc finally: if firstresult: # first result hooks return a single value result = results[0] if results else None else: result = results  # run all wrapper post-yield blocks for teardown in reversed(teardowns): try: if exception is not None: try: > teardown.throw(exception) __tracebackhide__ = True args = [] caller_kwargs = {'item': } exception = ValueError('Not a valid mypy message') firstresult = False function_gen = hook_impl = > hook_impls = [>] hook_name = 'pytest_runtest_call' res = result = [] results = [] teardown = teardowns = [, , <...object CaptureManager.pytest_runtest_call at 0x7f8503469e00>, ] /usr/lib/python3/dist-packages/pluggy/_callers.py:139: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ @pytest.hookimpl(wrapper=True, tryfirst=True) def pytest_runtest_call() -> Generator[None]: > yield from unraisable_exception_runtest_hook() /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:95: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def unraisable_exception_runtest_hook() -> Generator[None]: with catch_unraisable_exception() as cm: try: > yield cm = <_pytest.unraisableexception.catch_unraisable_exception object at 0x7f8500186ff0> /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook_name = 'pytest_runtest_call' hook_impls = [>] caller_kwargs = {'item': } firstresult = False def _multicall( hook_name: str, hook_impls: Sequence[HookImpl], caller_kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]:  """Execute a call into multiple python functions/methods and return the  result(s).   ``caller_kwargs`` comes from HookCaller.__call__().  """ __tracebackhide__ = True results: list[object] = [] exception = None try: # run impl and wrapper setup functions in a loop teardowns: list[Teardown] = [] try: for hook_impl in reversed(hook_impls): try: args = [caller_kwargs[argname] for argname in hook_impl.argnames] except KeyError as e: # coverage bug - this is tested for argname in hook_impl.argnames: # pragma: no cover if argname not in caller_kwargs: raise HookCallError( f"hook call must provide argument {argname!r}" ) from e  if hook_impl.hookwrapper: function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)  next(function_gen) # first yield teardowns.append(function_gen)  elif hook_impl.wrapper: try: # If this cast is not valid, a type error is raised below, # which is the desired response. res = hook_impl.function(*args) function_gen = cast(Generator[None, object, object], res) next(function_gen) # first yield teardowns.append(function_gen) except StopIteration: _raise_wrapfail(function_gen, "did not yield") else: res = hook_impl.function(*args) if res is not None: results.append(res) if firstresult: # halt further impl calls break except BaseException as exc: exception = exc finally: if firstresult: # first result hooks return a single value result = results[0] if results else None else: result = results  # run all wrapper post-yield blocks for teardown in reversed(teardowns): try: if exception is not None: try: > teardown.throw(exception) __tracebackhide__ = True args = [] caller_kwargs = {'item': } exception = ValueError('Not a valid mypy message') firstresult = False function_gen = hook_impl = > hook_impls = [>] hook_name = 'pytest_runtest_call' res = result = [] results = [] teardown = teardowns = [, , <...object CaptureManager.pytest_runtest_call at 0x7f8503469e00>, ] /usr/lib/python3/dist-packages/pluggy/_callers.py:139: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.logging.LoggingPlugin object at 0x7f851f45e120> item = @hookimpl(wrapper=True) def pytest_runtest_call(self, item: nodes.Item) -> Generator[None]: self.log_cli_handler.set_when("call")  > yield from self._runtest_for(item, "call") item = self = <_pytest.logging.LoggingPlugin object at 0x7f851f45e120> /usr/lib/python3/dist-packages/_pytest/logging.py:846: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.logging.LoggingPlugin object at 0x7f851f45e120> item = , when = 'call' def _runtest_for(self, item: nodes.Item, when: str) -> Generator[None]:  """Implement the internals of the pytest_runtest_xxx() hooks.""" with catching_logs( self.caplog_handler, level=self.log_level, ) as caplog_handler, catching_logs( self.report_handler, level=self.log_level, ) as report_handler: caplog_handler.reset() report_handler.reset() item.stash[caplog_records_key][when] = caplog_handler.records item.stash[caplog_handler_key] = caplog_handler  try: > yield caplog_handler = item = log = '' report_handler = self = <_pytest.logging.LoggingPlugin object at 0x7f851f45e120> when = 'call' /usr/lib/python3/dist-packages/_pytest/logging.py:829: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook_name = 'pytest_runtest_call' hook_impls = [>] caller_kwargs = {'item': } firstresult = False def _multicall( hook_name: str, hook_impls: Sequence[HookImpl], caller_kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]:  """Execute a call into multiple python functions/methods and return the  result(s).   ``caller_kwargs`` comes from HookCaller.__call__().  """ __tracebackhide__ = True results: list[object] = [] exception = None try: # run impl and wrapper setup functions in a loop teardowns: list[Teardown] = [] try: for hook_impl in reversed(hook_impls): try: args = [caller_kwargs[argname] for argname in hook_impl.argnames] except KeyError as e: # coverage bug - this is tested for argname in hook_impl.argnames: # pragma: no cover if argname not in caller_kwargs: raise HookCallError( f"hook call must provide argument {argname!r}" ) from e  if hook_impl.hookwrapper: function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)  next(function_gen) # first yield teardowns.append(function_gen)  elif hook_impl.wrapper: try: # If this cast is not valid, a type error is raised below, # which is the desired response. res = hook_impl.function(*args) function_gen = cast(Generator[None, object, object], res) next(function_gen) # first yield teardowns.append(function_gen) except StopIteration: _raise_wrapfail(function_gen, "did not yield") else: res = hook_impl.function(*args) if res is not None: results.append(res) if firstresult: # halt further impl calls break except BaseException as exc: exception = exc finally: if firstresult: # first result hooks return a single value result = results[0] if results else None else: result = results  # run all wrapper post-yield blocks for teardown in reversed(teardowns): try: if exception is not None: try: > teardown.throw(exception) __tracebackhide__ = True args = [] caller_kwargs = {'item': } exception = ValueError('Not a valid mypy message') firstresult = False function_gen = hook_impl = > hook_impls = [>] hook_name = 'pytest_runtest_call' res = result = [] results = [] teardown = teardowns = [, , <...object CaptureManager.pytest_runtest_call at 0x7f8503469e00>, ] /usr/lib/python3/dist-packages/pluggy/_callers.py:139: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = > _state='suspended' _in_suspended=False> _capture_fixture=None> item = @hookimpl(wrapper=True) def pytest_runtest_call(self, item: Item) -> Generator[None]: with self.item_capture("call", item): > return (yield) item = self = > _state='suspended' _in_suspended=False> _capture_fixture=None> /usr/lib/python3/dist-packages/_pytest/capture.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook_name = 'pytest_runtest_call' hook_impls = [>] caller_kwargs = {'item': } firstresult = False def _multicall( hook_name: str, hook_impls: Sequence[HookImpl], caller_kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]:  """Execute a call into multiple python functions/methods and return the  result(s).   ``caller_kwargs`` comes from HookCaller.__call__().  """ __tracebackhide__ = True results: list[object] = [] exception = None try: # run impl and wrapper setup functions in a loop teardowns: list[Teardown] = [] try: for hook_impl in reversed(hook_impls): try: args = [caller_kwargs[argname] for argname in hook_impl.argnames] except KeyError as e: # coverage bug - this is tested for argname in hook_impl.argnames: # pragma: no cover if argname not in caller_kwargs: raise HookCallError( f"hook call must provide argument {argname!r}" ) from e  if hook_impl.hookwrapper: function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)  next(function_gen) # first yield teardowns.append(function_gen)  elif hook_impl.wrapper: try: # If this cast is not valid, a type error is raised below, # which is the desired response. res = hook_impl.function(*args) function_gen = cast(Generator[None, object, object], res) next(function_gen) # first yield teardowns.append(function_gen) except StopIteration: _raise_wrapfail(function_gen, "did not yield") else: res = hook_impl.function(*args) if res is not None: results.append(res) if firstresult: # halt further impl calls break except BaseException as exc: exception = exc finally: if firstresult: # first result hooks return a single value result = results[0] if results else None else: result = results  # run all wrapper post-yield blocks for teardown in reversed(teardowns): try: if exception is not None: try: > teardown.throw(exception) __tracebackhide__ = True args = [] caller_kwargs = {'item': } exception = ValueError('Not a valid mypy message') firstresult = False function_gen = hook_impl = > hook_impls = [>] hook_name = 'pytest_runtest_call' res = result = [] results = [] teardown = teardowns = [, , <...object CaptureManager.pytest_runtest_call at 0x7f8503469e00>, ] /usr/lib/python3/dist-packages/pluggy/_callers.py:139: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ item = @hookimpl(wrapper=True) def pytest_runtest_call(item: Item) -> Generator[None]: xfailed = item.stash.get(xfailed_key, None) if xfailed is None: item.stash[xfailed_key] = xfailed = evaluate_xfail_marks(item)  if xfailed and not item.config.option.runxfail and not xfailed.run: xfail("[NOTRUN] " + xfailed.reason)  try: > return (yield) item = xfailed = None /usr/lib/python3/dist-packages/_pytest/skipping.py:257: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook_name = 'pytest_runtest_call' hook_impls = [>] caller_kwargs = {'item': } firstresult = False def _multicall( hook_name: str, hook_impls: Sequence[HookImpl], caller_kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]:  """Execute a call into multiple python functions/methods and return the  result(s).   ``caller_kwargs`` comes from HookCaller.__call__().  """ __tracebackhide__ = True results: list[object] = [] exception = None try: # run impl and wrapper setup functions in a loop teardowns: list[Teardown] = [] try: for hook_impl in reversed(hook_impls): try: args = [caller_kwargs[argname] for argname in hook_impl.argnames] except KeyError as e: # coverage bug - this is tested for argname in hook_impl.argnames: # pragma: no cover if argname not in caller_kwargs: raise HookCallError( f"hook call must provide argument {argname!r}" ) from e  if hook_impl.hookwrapper: function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)  next(function_gen) # first yield teardowns.append(function_gen)  elif hook_impl.wrapper: try: # If this cast is not valid, a type error is raised below, # which is the desired response. res = hook_impl.function(*args) function_gen = cast(Generator[None, object, object], res) next(function_gen) # first yield teardowns.append(function_gen) except StopIteration: _raise_wrapfail(function_gen, "did not yield") else: > res = hook_impl.function(*args) __tracebackhide__ = True args = [] caller_kwargs = {'item': } exception = ValueError('Not a valid mypy message') firstresult = False function_gen = hook_impl = > hook_impls = [>] hook_name = 'pytest_runtest_call' res = result = [] results = [] teardown = teardowns = [, , <...object CaptureManager.pytest_runtest_call at 0x7f8503469e00>, ] /usr/lib/python3/dist-packages/pluggy/_callers.py:121: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ item = def pytest_runtest_call(item: Item) -> None: _update_current_test_var(item, "call") try: del sys.last_type del sys.last_value del sys.last_traceback if sys.version_info >= (3, 12, 0): del sys.last_exc # type:ignore[attr-defined] except AttributeError: pass try: > item.runtest() item = /usr/lib/python3/dist-packages/_pytest/runner.py:174: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def runtest(self) -> None: > returncode, actual_messages = self.parent.run_mypy(self.mypy_item) self = /usr/lib/python3/dist-packages/pytest_mypy_testing/plugin.py:64: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = item = MypyTestItem(name='mypy_enum_typing', lineno=213, end_lineno=246, expected_messages=[Message(filename='/build/reproduc...', error_code=None)], func_node=, marks={'mypy_testing'}, actual_messages=[]) def run_mypy(self, item: MypyTestItem) -> Tuple[int, List[Message]]: if self._mypy_result is None: > self._mypy_result = self._run_mypy(self.path) item = MypyTestItem(name='mypy_enum_typing', lineno=213, end_lineno=246, expected_messages=[Message(filename='/build/reproduc...', error_code=None)], func_node=, marks={'mypy_testing'}, actual_messages=[]) self = /usr/lib/python3/dist-packages/pytest_mypy_testing/plugin.py:136: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = filename = PosixPath('/build/reproducible-path/traitlets-5.14.3+really5.14.3/.pybuild/cpython3_3.13_traitlets/build/tests/test_typing.py') def _run_mypy(self, filename: Union[pathlib.Path, os.PathLike, str]) -> MypyResult: filename = pathlib.Path(filename) with tempfile.TemporaryDirectory(prefix="pytest-mypy-testing-") as tmp_dir_name: mypy_cache_dir = os.path.join(tmp_dir_name, "mypy_cache") os.makedirs(mypy_cache_dir)  mypy_args = [ "--cache-dir={}".format(mypy_cache_dir), "--check-untyped-defs", "--hide-error-context", "--no-color-output", "--no-error-summary", "--no-pretty", "--soft-error-limit=-1", "--no-silence-site-packages", "--no-warn-unused-configs", "--show-column-numbers", "--show-error-codes", "--show-traceback", str(filename), ]  out, err, returncode = mypy.api.run(mypy_args)  lines = (out + err).splitlines()  file_messages = [ msg > for msg in map(Message.from_output, lines) if (msg.filename == self.mypy_file.filename) and not ( msg.severity is Severity.NOTE and msg.message == "See https://mypy.readthedocs.io/en/stable/running_mypy.html#missing-imports" ) ] err = 'pyproject.toml: [mypy]: python_version: Python 3.8 is not supported (must be 3.9 or higher)\n' filename = PosixPath('/build/reproducible-path/traitlets-5.14.3+really5.14.3/.pybuild/cpython3_3.13_traitlets/build/tests/test_typing.py') lines = ['/usr/lib/python3/dist-packages/mypy/typeshed/stdlib/builtins.pyi:1244:27: error: Class cannot subclass "Any" (has ty...ist-packages/argcomplete/packages/_shlex.py:74:5: error: Function is missing a type annotation [no-untyped-def]', ...] mypy_args = ['--cache-dir=/tmp/pytest-mypy-testing-3_9rrqsd/mypy_cache', '--check-untyped-defs', '--hide-error-context', '--no-color-output', '--no-error-summary', '--no-pretty', ...] mypy_cache_dir = '/tmp/pytest-mypy-testing-3_9rrqsd/mypy_cache' out = '/usr/lib/python3/dist-packages/mypy/typeshed/stdlib/builtins.pyi:1244:27: error: Class cannot subclass "Any" (has typ...:454:14: error: Incompatible types in assignment (expression has type "None", variable has type "Foo") [assignment]\n' returncode = 1 self = tmp_dir_name = '/tmp/pytest-mypy-testing-3_9rrqsd' /usr/lib/python3/dist-packages/pytest_mypy_testing/plugin.py:173: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = line = 'pyproject.toml: [mypy]: python_version: Python 3.8 is not supported (must be 3.9 or higher)' @classmethod def from_output(cls, line: str) -> "Message":  """Create message object from mypy output line.   >>> m = Message.from_output("z.py:1: note: bar")  >>> (m.lineno, m.colno, m.severity, m.message, m.revealed_type, m.error_code)  (1, None, Severity.NOTE, 'bar', None, None)   >>> m = Message.from_output("z.py:1:13: note: bar")  >>> (m.lineno, m.colno, m.severity, m.message, m.revealed_type, m.error_code)  (1, 13, Severity.NOTE, 'bar', None, None)   >>> m = Message.from_output("z.py:1: note: Revealed type is 'bar'")  >>> (m.lineno, m.colno, m.severity, m.message, m.revealed_type, m.error_code)  (1, None, Severity.NOTE, "Revealed type is 'bar'", 'bar', None)   >>> m = Message.from_output('z.py:1: note: Revealed type is "bar"')  >>> (m.lineno, m.colno, m.severity, m.message, m.revealed_type, m.error_code)  (1, None, Severity.NOTE, 'Revealed type is "bar"', 'bar', None)   >>> m = Message.from_output("z.py:1:13: error: bar [baz]")  >>> (m.lineno, m.colno, m.severity, m.message, m.revealed_type, m.error_code)  (1, 13, Severity.ERROR, 'bar', None, 'baz')   """ m = cls.OUTPUT_RE.match(line) if not m: > raise ValueError("Not a valid mypy message") E ValueError: Not a valid mypy message cls = line = 'pyproject.toml: [mypy]: python_version: Python 3.8 is not supported (must be 3.9 or higher)' m = None /usr/lib/python3/dist-packages/pytest_mypy_testing/message.py:295: ValueError ____________________________ [mypy]mypy_set_typing _____________________________ cls = func = . at 0x7f8500e47420> when = 'call' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]:  """Call func, wrapping the result in a CallInfo.   :param func:  The function to call. Called without arguments.  :type func: Callable[[], _pytest.runner.TResult]  :param when:  The phase in which the function is called.  :param reraise:  Exception or exceptions that shall propagate if raised by the  function, instead of being wrapped in the CallInfo.  """ excinfo = None start = timing.time() precise_start = timing.perf_counter() try: > result: TResult | None = func() cls = duration = 26.308523810934275 excinfo = func = . at 0x7f8500e47420> precise_start = 551025.709489724 precise_stop = 551052.018013535 reraise = (, ) result = None start = 1790402563.4056413 stop = 1790402589.714168 when = 'call' /usr/lib/python3/dist-packages/_pytest/runner.py:341: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ >  lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise ) item = kwds = {} runtest_hook = /usr/lib/python3/dist-packages/_pytest/runner.py:242: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = kwargs = {'item': } firstresult = False def __call__(self, **kwargs: object) -> Any:  """Call the hook.   Only accepts keyword arguments, which should match the hook  specification.   Returns the result(s) of calling all registered plugins, see  :ref:`calling`.  """ assert not self.is_historic(), ( "Cannot directly call a historic hook - use call_historic instead." ) self._verify_all_args_are_provided(kwargs) firstresult = self.spec.opts.get("firstresult", False) if self.spec else False # Copy because plugins may register other plugins during iteration (#438). > return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) firstresult = False kwargs = {'item': } self = /usr/lib/python3/dist-packages/pluggy/_hooks.py:512: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.config.PytestPluginManager object at 0x7f8521f1f230> hook_name = 'pytest_runtest_call' methods = [>] kwargs = {'item': } firstresult = False def _hookexec( self, hook_name: str, methods: Sequence[HookImpl], kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]: # called from all hookcaller instances. # enable_tracing will set its own wrapping function at self._inner_hookexec > return self._inner_hookexec(hook_name, methods, kwargs, firstresult) firstresult = False hook_name = 'pytest_runtest_call' kwargs = {'item': } methods = [>] self = <_pytest.config.PytestPluginManager object at 0x7f8521f1f230> /usr/lib/python3/dist-packages/pluggy/_manager.py:120: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook_name = 'pytest_runtest_call' hook_impls = [>] caller_kwargs = {'item': } firstresult = False def _multicall( hook_name: str, hook_impls: Sequence[HookImpl], caller_kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]:  """Execute a call into multiple python functions/methods and return the  result(s).   ``caller_kwargs`` comes from HookCaller.__call__().  """ __tracebackhide__ = True results: list[object] = [] exception = None try: # run impl and wrapper setup functions in a loop teardowns: list[Teardown] = [] try: for hook_impl in reversed(hook_impls): try: args = [caller_kwargs[argname] for argname in hook_impl.argnames] except KeyError as e: # coverage bug - this is tested for argname in hook_impl.argnames: # pragma: no cover if argname not in caller_kwargs: raise HookCallError( f"hook call must provide argument {argname!r}" ) from e  if hook_impl.hookwrapper: function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)  next(function_gen) # first yield teardowns.append(function_gen)  elif hook_impl.wrapper: try: # If this cast is not valid, a type error is raised below, # which is the desired response. res = hook_impl.function(*args) function_gen = cast(Generator[None, object, object], res) next(function_gen) # first yield teardowns.append(function_gen) except StopIteration: _raise_wrapfail(function_gen, "did not yield") else: res = hook_impl.function(*args) if res is not None: results.append(res) if firstresult: # halt further impl calls break except BaseException as exc: exception = exc finally: if firstresult: # first result hooks return a single value result = results[0] if results else None else: result = results  # run all wrapper post-yield blocks for teardown in reversed(teardowns): try: if exception is not None: try: teardown.throw(exception) except RuntimeError as re: # StopIteration from generator causes RuntimeError # even for coroutine usage - see #544 if ( isinstance(exception, StopIteration) and re.__cause__ is exception ): teardown.close() continue else: raise else: teardown.send(result) # Following is unreachable for a well behaved hook wrapper. # Try to force finalizers otherwise postponed till GC action. # Note: close() may raise if generator handles GeneratorExit. teardown.close() except StopIteration as si: result = si.value exception = None continue except BaseException as e: exception = e continue _raise_wrapfail(teardown, "has second yield")  if exception is not None: > raise exception __tracebackhide__ = True args = [] caller_kwargs = {'item': } exception = ValueError('Not a valid mypy message') firstresult = False function_gen = hook_impl = > hook_impls = [>] hook_name = 'pytest_runtest_call' res = result = [] results = [] teardown = teardowns = [, , <...object CaptureManager.pytest_runtest_call at 0x7f84ff11a340>, ] /usr/lib/python3/dist-packages/pluggy/_callers.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook_name = 'pytest_runtest_call' hook_impls = [>] caller_kwargs = {'item': } firstresult = False def _multicall( hook_name: str, hook_impls: Sequence[HookImpl], caller_kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]:  """Execute a call into multiple python functions/methods and return the  result(s).   ``caller_kwargs`` comes from HookCaller.__call__().  """ __tracebackhide__ = True results: list[object] = [] exception = None try: # run impl and wrapper setup functions in a loop teardowns: list[Teardown] = [] try: for hook_impl in reversed(hook_impls): try: args = [caller_kwargs[argname] for argname in hook_impl.argnames] except KeyError as e: # coverage bug - this is tested for argname in hook_impl.argnames: # pragma: no cover if argname not in caller_kwargs: raise HookCallError( f"hook call must provide argument {argname!r}" ) from e  if hook_impl.hookwrapper: function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)  next(function_gen) # first yield teardowns.append(function_gen)  elif hook_impl.wrapper: try: # If this cast is not valid, a type error is raised below, # which is the desired response. res = hook_impl.function(*args) function_gen = cast(Generator[None, object, object], res) next(function_gen) # first yield teardowns.append(function_gen) except StopIteration: _raise_wrapfail(function_gen, "did not yield") else: res = hook_impl.function(*args) if res is not None: results.append(res) if firstresult: # halt further impl calls break except BaseException as exc: exception = exc finally: if firstresult: # first result hooks return a single value result = results[0] if results else None else: result = results  # run all wrapper post-yield blocks for teardown in reversed(teardowns): try: if exception is not None: try: > teardown.throw(exception) __tracebackhide__ = True args = [] caller_kwargs = {'item': } exception = ValueError('Not a valid mypy message') firstresult = False function_gen = hook_impl = > hook_impls = [>] hook_name = 'pytest_runtest_call' res = result = [] results = [] teardown = teardowns = [, , <...object CaptureManager.pytest_runtest_call at 0x7f84ff11a340>, ] /usr/lib/python3/dist-packages/pluggy/_callers.py:139: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ @pytest.hookimpl(wrapper=True, tryfirst=True) def pytest_runtest_call() -> Generator[None]: > yield from thread_exception_runtest_hook() /usr/lib/python3/dist-packages/_pytest/threadexception.py:92: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def thread_exception_runtest_hook() -> Generator[None]: with catch_threading_exception() as cm: try: > yield cm = <_pytest.threadexception.catch_threading_exception object at 0x7f84fbb9d910> /usr/lib/python3/dist-packages/_pytest/threadexception.py:68: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook_name = 'pytest_runtest_call' hook_impls = [>] caller_kwargs = {'item': } firstresult = False def _multicall( hook_name: str, hook_impls: Sequence[HookImpl], caller_kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]:  """Execute a call into multiple python functions/methods and return the  result(s).   ``caller_kwargs`` comes from HookCaller.__call__().  """ __tracebackhide__ = True results: list[object] = [] exception = None try: # run impl and wrapper setup functions in a loop teardowns: list[Teardown] = [] try: for hook_impl in reversed(hook_impls): try: args = [caller_kwargs[argname] for argname in hook_impl.argnames] except KeyError as e: # coverage bug - this is tested for argname in hook_impl.argnames: # pragma: no cover if argname not in caller_kwargs: raise HookCallError( f"hook call must provide argument {argname!r}" ) from e  if hook_impl.hookwrapper: function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)  next(function_gen) # first yield teardowns.append(function_gen)  elif hook_impl.wrapper: try: # If this cast is not valid, a type error is raised below, # which is the desired response. res = hook_impl.function(*args) function_gen = cast(Generator[None, object, object], res) next(function_gen) # first yield teardowns.append(function_gen) except StopIteration: _raise_wrapfail(function_gen, "did not yield") else: res = hook_impl.function(*args) if res is not None: results.append(res) if firstresult: # halt further impl calls break except BaseException as exc: exception = exc finally: if firstresult: # first result hooks return a single value result = results[0] if results else None else: result = results  # run all wrapper post-yield blocks for teardown in reversed(teardowns): try: if exception is not None: try: > teardown.throw(exception) __tracebackhide__ = True args = [] caller_kwargs = {'item': } exception = ValueError('Not a valid mypy message') firstresult = False function_gen = hook_impl = > hook_impls = [>] hook_name = 'pytest_runtest_call' res = result = [] results = [] teardown = teardowns = [, , <...object CaptureManager.pytest_runtest_call at 0x7f84ff11a340>, ] /usr/lib/python3/dist-packages/pluggy/_callers.py:139: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ @pytest.hookimpl(wrapper=True, tryfirst=True) def pytest_runtest_call() -> Generator[None]: > yield from unraisable_exception_runtest_hook() /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:95: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def unraisable_exception_runtest_hook() -> Generator[None]: with catch_unraisable_exception() as cm: try: > yield cm = <_pytest.unraisableexception.catch_unraisable_exception object at 0x7f84fbb9ec90> /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook_name = 'pytest_runtest_call' hook_impls = [>] caller_kwargs = {'item': } firstresult = False def _multicall( hook_name: str, hook_impls: Sequence[HookImpl], caller_kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]:  """Execute a call into multiple python functions/methods and return the  result(s).   ``caller_kwargs`` comes from HookCaller.__call__().  """ __tracebackhide__ = True results: list[object] = [] exception = None try: # run impl and wrapper setup functions in a loop teardowns: list[Teardown] = [] try: for hook_impl in reversed(hook_impls): try: args = [caller_kwargs[argname] for argname in hook_impl.argnames] except KeyError as e: # coverage bug - this is tested for argname in hook_impl.argnames: # pragma: no cover if argname not in caller_kwargs: raise HookCallError( f"hook call must provide argument {argname!r}" ) from e  if hook_impl.hookwrapper: function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)  next(function_gen) # first yield teardowns.append(function_gen)  elif hook_impl.wrapper: try: # If this cast is not valid, a type error is raised below, # which is the desired response. res = hook_impl.function(*args) function_gen = cast(Generator[None, object, object], res) next(function_gen) # first yield teardowns.append(function_gen) except StopIteration: _raise_wrapfail(function_gen, "did not yield") else: res = hook_impl.function(*args) if res is not None: results.append(res) if firstresult: # halt further impl calls break except BaseException as exc: exception = exc finally: if firstresult: # first result hooks return a single value result = results[0] if results else None else: result = results  # run all wrapper post-yield blocks for teardown in reversed(teardowns): try: if exception is not None: try: > teardown.throw(exception) __tracebackhide__ = True args = [] caller_kwargs = {'item': } exception = ValueError('Not a valid mypy message') firstresult = False function_gen = hook_impl = > hook_impls = [>] hook_name = 'pytest_runtest_call' res = result = [] results = [] teardown = teardowns = [, , <...object CaptureManager.pytest_runtest_call at 0x7f84ff11a340>, ] /usr/lib/python3/dist-packages/pluggy/_callers.py:139: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.logging.LoggingPlugin object at 0x7f851f45e120> item = @hookimpl(wrapper=True) def pytest_runtest_call(self, item: nodes.Item) -> Generator[None]: self.log_cli_handler.set_when("call")  > yield from self._runtest_for(item, "call") item = self = <_pytest.logging.LoggingPlugin object at 0x7f851f45e120> /usr/lib/python3/dist-packages/_pytest/logging.py:846: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.logging.LoggingPlugin object at 0x7f851f45e120> item = , when = 'call' def _runtest_for(self, item: nodes.Item, when: str) -> Generator[None]:  """Implement the internals of the pytest_runtest_xxx() hooks.""" with catching_logs( self.caplog_handler, level=self.log_level, ) as caplog_handler, catching_logs( self.report_handler, level=self.log_level, ) as report_handler: caplog_handler.reset() report_handler.reset() item.stash[caplog_records_key][when] = caplog_handler.records item.stash[caplog_handler_key] = caplog_handler  try: > yield caplog_handler = item = log = '' report_handler = self = <_pytest.logging.LoggingPlugin object at 0x7f851f45e120> when = 'call' /usr/lib/python3/dist-packages/_pytest/logging.py:829: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook_name = 'pytest_runtest_call' hook_impls = [>] caller_kwargs = {'item': } firstresult = False def _multicall( hook_name: str, hook_impls: Sequence[HookImpl], caller_kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]:  """Execute a call into multiple python functions/methods and return the  result(s).   ``caller_kwargs`` comes from HookCaller.__call__().  """ __tracebackhide__ = True results: list[object] = [] exception = None try: # run impl and wrapper setup functions in a loop teardowns: list[Teardown] = [] try: for hook_impl in reversed(hook_impls): try: args = [caller_kwargs[argname] for argname in hook_impl.argnames] except KeyError as e: # coverage bug - this is tested for argname in hook_impl.argnames: # pragma: no cover if argname not in caller_kwargs: raise HookCallError( f"hook call must provide argument {argname!r}" ) from e  if hook_impl.hookwrapper: function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)  next(function_gen) # first yield teardowns.append(function_gen)  elif hook_impl.wrapper: try: # If this cast is not valid, a type error is raised below, # which is the desired response. res = hook_impl.function(*args) function_gen = cast(Generator[None, object, object], res) next(function_gen) # first yield teardowns.append(function_gen) except StopIteration: _raise_wrapfail(function_gen, "did not yield") else: res = hook_impl.function(*args) if res is not None: results.append(res) if firstresult: # halt further impl calls break except BaseException as exc: exception = exc finally: if firstresult: # first result hooks return a single value result = results[0] if results else None else: result = results  # run all wrapper post-yield blocks for teardown in reversed(teardowns): try: if exception is not None: try: > teardown.throw(exception) __tracebackhide__ = True args = [] caller_kwargs = {'item': } exception = ValueError('Not a valid mypy message') firstresult = False function_gen = hook_impl = > hook_impls = [>] hook_name = 'pytest_runtest_call' res = result = [] results = [] teardown = teardowns = [, , <...object CaptureManager.pytest_runtest_call at 0x7f84ff11a340>, ] /usr/lib/python3/dist-packages/pluggy/_callers.py:139: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = > _state='suspended' _in_suspended=False> _capture_fixture=None> item = @hookimpl(wrapper=True) def pytest_runtest_call(self, item: Item) -> Generator[None]: with self.item_capture("call", item): > return (yield) item = self = > _state='suspended' _in_suspended=False> _capture_fixture=None> /usr/lib/python3/dist-packages/_pytest/capture.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook_name = 'pytest_runtest_call' hook_impls = [>] caller_kwargs = {'item': } firstresult = False def _multicall( hook_name: str, hook_impls: Sequence[HookImpl], caller_kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]:  """Execute a call into multiple python functions/methods and return the  result(s).   ``caller_kwargs`` comes from HookCaller.__call__().  """ __tracebackhide__ = True results: list[object] = [] exception = None try: # run impl and wrapper setup functions in a loop teardowns: list[Teardown] = [] try: for hook_impl in reversed(hook_impls): try: args = [caller_kwargs[argname] for argname in hook_impl.argnames] except KeyError as e: # coverage bug - this is tested for argname in hook_impl.argnames: # pragma: no cover if argname not in caller_kwargs: raise HookCallError( f"hook call must provide argument {argname!r}" ) from e  if hook_impl.hookwrapper: function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)  next(function_gen) # first yield teardowns.append(function_gen)  elif hook_impl.wrapper: try: # If this cast is not valid, a type error is raised below, # which is the desired response. res = hook_impl.function(*args) function_gen = cast(Generator[None, object, object], res) next(function_gen) # first yield teardowns.append(function_gen) except StopIteration: _raise_wrapfail(function_gen, "did not yield") else: res = hook_impl.function(*args) if res is not None: results.append(res) if firstresult: # halt further impl calls break except BaseException as exc: exception = exc finally: if firstresult: # first result hooks return a single value result = results[0] if results else None else: result = results  # run all wrapper post-yield blocks for teardown in reversed(teardowns): try: if exception is not None: try: > teardown.throw(exception) __tracebackhide__ = True args = [] caller_kwargs = {'item': } exception = ValueError('Not a valid mypy message') firstresult = False function_gen = hook_impl = > hook_impls = [>] hook_name = 'pytest_runtest_call' res = result = [] results = [] teardown = teardowns = [, , <...object CaptureManager.pytest_runtest_call at 0x7f84ff11a340>, ] /usr/lib/python3/dist-packages/pluggy/_callers.py:139: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ item = @hookimpl(wrapper=True) def pytest_runtest_call(item: Item) -> Generator[None]: xfailed = item.stash.get(xfailed_key, None) if xfailed is None: item.stash[xfailed_key] = xfailed = evaluate_xfail_marks(item)  if xfailed and not item.config.option.runxfail and not xfailed.run: xfail("[NOTRUN] " + xfailed.reason)  try: > return (yield) item = xfailed = None /usr/lib/python3/dist-packages/_pytest/skipping.py:257: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook_name = 'pytest_runtest_call' hook_impls = [>] caller_kwargs = {'item': } firstresult = False def _multicall( hook_name: str, hook_impls: Sequence[HookImpl], caller_kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]:  """Execute a call into multiple python functions/methods and return the  result(s).   ``caller_kwargs`` comes from HookCaller.__call__().  """ __tracebackhide__ = True results: list[object] = [] exception = None try: # run impl and wrapper setup functions in a loop teardowns: list[Teardown] = [] try: for hook_impl in reversed(hook_impls): try: args = [caller_kwargs[argname] for argname in hook_impl.argnames] except KeyError as e: # coverage bug - this is tested for argname in hook_impl.argnames: # pragma: no cover if argname not in caller_kwargs: raise HookCallError( f"hook call must provide argument {argname!r}" ) from e  if hook_impl.hookwrapper: function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)  next(function_gen) # first yield teardowns.append(function_gen)  elif hook_impl.wrapper: try: # If this cast is not valid, a type error is raised below, # which is the desired response. res = hook_impl.function(*args) function_gen = cast(Generator[None, object, object], res) next(function_gen) # first yield teardowns.append(function_gen) except StopIteration: _raise_wrapfail(function_gen, "did not yield") else: > res = hook_impl.function(*args) __tracebackhide__ = True args = [] caller_kwargs = {'item': } exception = ValueError('Not a valid mypy message') firstresult = False function_gen = hook_impl = > hook_impls = [>] hook_name = 'pytest_runtest_call' res = result = [] results = [] teardown = teardowns = [, , <...object CaptureManager.pytest_runtest_call at 0x7f84ff11a340>, ] /usr/lib/python3/dist-packages/pluggy/_callers.py:121: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ item = def pytest_runtest_call(item: Item) -> None: _update_current_test_var(item, "call") try: del sys.last_type del sys.last_value del sys.last_traceback if sys.version_info >= (3, 12, 0): del sys.last_exc # type:ignore[attr-defined] except AttributeError: pass try: > item.runtest() item = /usr/lib/python3/dist-packages/_pytest/runner.py:174: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def runtest(self) -> None: > returncode, actual_messages = self.parent.run_mypy(self.mypy_item) self = /usr/lib/python3/dist-packages/pytest_mypy_testing/plugin.py:64: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = item = MypyTestItem(name='mypy_set_typing', lineno=249, end_lineno=282, expected_messages=[Message(filename='/build/reproduci...', error_code=None)], func_node=, marks={'mypy_testing'}, actual_messages=[]) def run_mypy(self, item: MypyTestItem) -> Tuple[int, List[Message]]: if self._mypy_result is None: > self._mypy_result = self._run_mypy(self.path) item = MypyTestItem(name='mypy_set_typing', lineno=249, end_lineno=282, expected_messages=[Message(filename='/build/reproduci...', error_code=None)], func_node=, marks={'mypy_testing'}, actual_messages=[]) self = /usr/lib/python3/dist-packages/pytest_mypy_testing/plugin.py:136: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = filename = PosixPath('/build/reproducible-path/traitlets-5.14.3+really5.14.3/.pybuild/cpython3_3.13_traitlets/build/tests/test_typing.py') def _run_mypy(self, filename: Union[pathlib.Path, os.PathLike, str]) -> MypyResult: filename = pathlib.Path(filename) with tempfile.TemporaryDirectory(prefix="pytest-mypy-testing-") as tmp_dir_name: mypy_cache_dir = os.path.join(tmp_dir_name, "mypy_cache") os.makedirs(mypy_cache_dir)  mypy_args = [ "--cache-dir={}".format(mypy_cache_dir), "--check-untyped-defs", "--hide-error-context", "--no-color-output", "--no-error-summary", "--no-pretty", "--soft-error-limit=-1", "--no-silence-site-packages", "--no-warn-unused-configs", "--show-column-numbers", "--show-error-codes", "--show-traceback", str(filename), ]  out, err, returncode = mypy.api.run(mypy_args)  lines = (out + err).splitlines()  file_messages = [ msg > for msg in map(Message.from_output, lines) if (msg.filename == self.mypy_file.filename) and not ( msg.severity is Severity.NOTE and msg.message == "See https://mypy.readthedocs.io/en/stable/running_mypy.html#missing-imports" ) ] err = 'pyproject.toml: [mypy]: python_version: Python 3.8 is not supported (must be 3.9 or higher)\n' filename = PosixPath('/build/reproducible-path/traitlets-5.14.3+really5.14.3/.pybuild/cpython3_3.13_traitlets/build/tests/test_typing.py') lines = ['/usr/lib/python3/dist-packages/mypy/typeshed/stdlib/builtins.pyi:1244:27: error: Class cannot subclass "Any" (has ty...ist-packages/argcomplete/packages/_shlex.py:74:5: error: Function is missing a type annotation [no-untyped-def]', ...] mypy_args = ['--cache-dir=/tmp/pytest-mypy-testing-hd5zyn_s/mypy_cache', '--check-untyped-defs', '--hide-error-context', '--no-color-output', '--no-error-summary', '--no-pretty', ...] mypy_cache_dir = '/tmp/pytest-mypy-testing-hd5zyn_s/mypy_cache' out = '/usr/lib/python3/dist-packages/mypy/typeshed/stdlib/builtins.pyi:1244:27: error: Class cannot subclass "Any" (has typ...:454:14: error: Incompatible types in assignment (expression has type "None", variable has type "Foo") [assignment]\n' returncode = 1 self = tmp_dir_name = '/tmp/pytest-mypy-testing-hd5zyn_s' /usr/lib/python3/dist-packages/pytest_mypy_testing/plugin.py:173: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = line = 'pyproject.toml: [mypy]: python_version: Python 3.8 is not supported (must be 3.9 or higher)' @classmethod def from_output(cls, line: str) -> "Message":  """Create message object from mypy output line.   >>> m = Message.from_output("z.py:1: note: bar")  >>> (m.lineno, m.colno, m.severity, m.message, m.revealed_type, m.error_code)  (1, None, Severity.NOTE, 'bar', None, None)   >>> m = Message.from_output("z.py:1:13: note: bar")  >>> (m.lineno, m.colno, m.severity, m.message, m.revealed_type, m.error_code)  (1, 13, Severity.NOTE, 'bar', None, None)   >>> m = Message.from_output("z.py:1: note: Revealed type is 'bar'")  >>> (m.lineno, m.colno, m.severity, m.message, m.revealed_type, m.error_code)  (1, None, Severity.NOTE, "Revealed type is 'bar'", 'bar', None)   >>> m = Message.from_output('z.py:1: note: Revealed type is "bar"')  >>> (m.lineno, m.colno, m.severity, m.message, m.revealed_type, m.error_code)  (1, None, Severity.NOTE, 'Revealed type is "bar"', 'bar', None)   >>> m = Message.from_output("z.py:1:13: error: bar [baz]")  >>> (m.lineno, m.colno, m.severity, m.message, m.revealed_type, m.error_code)  (1, 13, Severity.ERROR, 'bar', None, 'baz')   """ m = cls.OUTPUT_RE.match(line) if not m: > raise ValueError("Not a valid mypy message") E ValueError: Not a valid mypy message cls = line = 'pyproject.toml: [mypy]: python_version: Python 3.8 is not supported (must be 3.9 or higher)' m = None /usr/lib/python3/dist-packages/pytest_mypy_testing/message.py:295: ValueError ____________________________ [mypy]mypy_any_typing _____________________________ cls = func = . at 0x7f851b398360> when = 'call' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]:  """Call func, wrapping the result in a CallInfo.   :param func:  The function to call. Called without arguments.  :type func: Callable[[], _pytest.runner.TResult]  :param when:  The phase in which the function is called.  :param reraise:  Exception or exceptions that shall propagate if raised by the  function, instead of being wrapped in the CallInfo.  """ excinfo = None start = timing.time() precise_start = timing.perf_counter() try: > result: TResult | None = func() cls = duration = 26.570234959945083 excinfo = func = . at 0x7f851b398360> precise_start = 551052.198772573 precise_stop = 551078.769007533 reraise = (, ) result = None start = 1790402589.8949237 stop = 1790402616.46517 when = 'call' /usr/lib/python3/dist-packages/_pytest/runner.py:341: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ >  lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise ) item = kwds = {} runtest_hook = /usr/lib/python3/dist-packages/_pytest/runner.py:242: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = kwargs = {'item': } firstresult = False def __call__(self, **kwargs: object) -> Any:  """Call the hook.   Only accepts keyword arguments, which should match the hook  specification.   Returns the result(s) of calling all registered plugins, see  :ref:`calling`.  """ assert not self.is_historic(), ( "Cannot directly call a historic hook - use call_historic instead." ) self._verify_all_args_are_provided(kwargs) firstresult = self.spec.opts.get("firstresult", False) if self.spec else False # Copy because plugins may register other plugins during iteration (#438). > return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) firstresult = False kwargs = {'item': } self = /usr/lib/python3/dist-packages/pluggy/_hooks.py:512: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.config.PytestPluginManager object at 0x7f8521f1f230> hook_name = 'pytest_runtest_call' methods = [>] kwargs = {'item': } firstresult = False def _hookexec( self, hook_name: str, methods: Sequence[HookImpl], kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]: # called from all hookcaller instances. # enable_tracing will set its own wrapping function at self._inner_hookexec > return self._inner_hookexec(hook_name, methods, kwargs, firstresult) firstresult = False hook_name = 'pytest_runtest_call' kwargs = {'item': } methods = [>] self = <_pytest.config.PytestPluginManager object at 0x7f8521f1f230> /usr/lib/python3/dist-packages/pluggy/_manager.py:120: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook_name = 'pytest_runtest_call' hook_impls = [>] caller_kwargs = {'item': } firstresult = False def _multicall( hook_name: str, hook_impls: Sequence[HookImpl], caller_kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]:  """Execute a call into multiple python functions/methods and return the  result(s).   ``caller_kwargs`` comes from HookCaller.__call__().  """ __tracebackhide__ = True results: list[object] = [] exception = None try: # run impl and wrapper setup functions in a loop teardowns: list[Teardown] = [] try: for hook_impl in reversed(hook_impls): try: args = [caller_kwargs[argname] for argname in hook_impl.argnames] except KeyError as e: # coverage bug - this is tested for argname in hook_impl.argnames: # pragma: no cover if argname not in caller_kwargs: raise HookCallError( f"hook call must provide argument {argname!r}" ) from e  if hook_impl.hookwrapper: function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)  next(function_gen) # first yield teardowns.append(function_gen)  elif hook_impl.wrapper: try: # If this cast is not valid, a type error is raised below, # which is the desired response. res = hook_impl.function(*args) function_gen = cast(Generator[None, object, object], res) next(function_gen) # first yield teardowns.append(function_gen) except StopIteration: _raise_wrapfail(function_gen, "did not yield") else: res = hook_impl.function(*args) if res is not None: results.append(res) if firstresult: # halt further impl calls break except BaseException as exc: exception = exc finally: if firstresult: # first result hooks return a single value result = results[0] if results else None else: result = results  # run all wrapper post-yield blocks for teardown in reversed(teardowns): try: if exception is not None: try: teardown.throw(exception) except RuntimeError as re: # StopIteration from generator causes RuntimeError # even for coroutine usage - see #544 if ( isinstance(exception, StopIteration) and re.__cause__ is exception ): teardown.close() continue else: raise else: teardown.send(result) # Following is unreachable for a well behaved hook wrapper. # Try to force finalizers otherwise postponed till GC action. # Note: close() may raise if generator handles GeneratorExit. teardown.close() except StopIteration as si: result = si.value exception = None continue except BaseException as e: exception = e continue _raise_wrapfail(teardown, "has second yield")  if exception is not None: > raise exception __tracebackhide__ = True args = [] caller_kwargs = {'item': } exception = ValueError('Not a valid mypy message') firstresult = False function_gen = hook_impl = > hook_impls = [>] hook_name = 'pytest_runtest_call' res = result = [] results = [] teardown = teardowns = [, , <...object CaptureManager.pytest_runtest_call at 0x7f84f98ad540>, ] /usr/lib/python3/dist-packages/pluggy/_callers.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook_name = 'pytest_runtest_call' hook_impls = [>] caller_kwargs = {'item': } firstresult = False def _multicall( hook_name: str, hook_impls: Sequence[HookImpl], caller_kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]:  """Execute a call into multiple python functions/methods and return the  result(s).   ``caller_kwargs`` comes from HookCaller.__call__().  """ __tracebackhide__ = True results: list[object] = [] exception = None try: # run impl and wrapper setup functions in a loop teardowns: list[Teardown] = [] try: for hook_impl in reversed(hook_impls): try: args = [caller_kwargs[argname] for argname in hook_impl.argnames] except KeyError as e: # coverage bug - this is tested for argname in hook_impl.argnames: # pragma: no cover if argname not in caller_kwargs: raise HookCallError( f"hook call must provide argument {argname!r}" ) from e  if hook_impl.hookwrapper: function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)  next(function_gen) # first yield teardowns.append(function_gen)  elif hook_impl.wrapper: try: # If this cast is not valid, a type error is raised below, # which is the desired response. res = hook_impl.function(*args) function_gen = cast(Generator[None, object, object], res) next(function_gen) # first yield teardowns.append(function_gen) except StopIteration: _raise_wrapfail(function_gen, "did not yield") else: res = hook_impl.function(*args) if res is not None: results.append(res) if firstresult: # halt further impl calls break except BaseException as exc: exception = exc finally: if firstresult: # first result hooks return a single value result = results[0] if results else None else: result = results  # run all wrapper post-yield blocks for teardown in reversed(teardowns): try: if exception is not None: try: > teardown.throw(exception) __tracebackhide__ = True args = [] caller_kwargs = {'item': } exception = ValueError('Not a valid mypy message') firstresult = False function_gen = hook_impl = > hook_impls = [>] hook_name = 'pytest_runtest_call' res = result = [] results = [] teardown = teardowns = [, , <...object CaptureManager.pytest_runtest_call at 0x7f84f98ad540>, ] /usr/lib/python3/dist-packages/pluggy/_callers.py:139: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ @pytest.hookimpl(wrapper=True, tryfirst=True) def pytest_runtest_call() -> Generator[None]: > yield from thread_exception_runtest_hook() /usr/lib/python3/dist-packages/_pytest/threadexception.py:92: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def thread_exception_runtest_hook() -> Generator[None]: with catch_threading_exception() as cm: try: > yield cm = <_pytest.threadexception.catch_threading_exception object at 0x7f8514549790> /usr/lib/python3/dist-packages/_pytest/threadexception.py:68: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook_name = 'pytest_runtest_call' hook_impls = [>] caller_kwargs = {'item': } firstresult = False def _multicall( hook_name: str, hook_impls: Sequence[HookImpl], caller_kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]:  """Execute a call into multiple python functions/methods and return the  result(s).   ``caller_kwargs`` comes from HookCaller.__call__().  """ __tracebackhide__ = True results: list[object] = [] exception = None try: # run impl and wrapper setup functions in a loop teardowns: list[Teardown] = [] try: for hook_impl in reversed(hook_impls): try: args = [caller_kwargs[argname] for argname in hook_impl.argnames] except KeyError as e: # coverage bug - this is tested for argname in hook_impl.argnames: # pragma: no cover if argname not in caller_kwargs: raise HookCallError( f"hook call must provide argument {argname!r}" ) from e  if hook_impl.hookwrapper: function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)  next(function_gen) # first yield teardowns.append(function_gen)  elif hook_impl.wrapper: try: # If this cast is not valid, a type error is raised below, # which is the desired response. res = hook_impl.function(*args) function_gen = cast(Generator[None, object, object], res) next(function_gen) # first yield teardowns.append(function_gen) except StopIteration: _raise_wrapfail(function_gen, "did not yield") else: res = hook_impl.function(*args) if res is not None: results.append(res) if firstresult: # halt further impl calls break except BaseException as exc: exception = exc finally: if firstresult: # first result hooks return a single value result = results[0] if results else None else: result = results  # run all wrapper post-yield blocks for teardown in reversed(teardowns): try: if exception is not None: try: > teardown.throw(exception) __tracebackhide__ = True args = [] caller_kwargs = {'item': } exception = ValueError('Not a valid mypy message') firstresult = False function_gen = hook_impl = > hook_impls = [>] hook_name = 'pytest_runtest_call' res = result = [] results = [] teardown = teardowns = [, , <...object CaptureManager.pytest_runtest_call at 0x7f84f98ad540>, ] /usr/lib/python3/dist-packages/pluggy/_callers.py:139: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ @pytest.hookimpl(wrapper=True, tryfirst=True) def pytest_runtest_call() -> Generator[None]: > yield from unraisable_exception_runtest_hook() /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:95: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def unraisable_exception_runtest_hook() -> Generator[None]: with catch_unraisable_exception() as cm: try: > yield cm = <_pytest.unraisableexception.catch_unraisable_exception object at 0x7f8514549b50> /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook_name = 'pytest_runtest_call' hook_impls = [>] caller_kwargs = {'item': } firstresult = False def _multicall( hook_name: str, hook_impls: Sequence[HookImpl], caller_kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]:  """Execute a call into multiple python functions/methods and return the  result(s).   ``caller_kwargs`` comes from HookCaller.__call__().  """ __tracebackhide__ = True results: list[object] = [] exception = None try: # run impl and wrapper setup functions in a loop teardowns: list[Teardown] = [] try: for hook_impl in reversed(hook_impls): try: args = [caller_kwargs[argname] for argname in hook_impl.argnames] except KeyError as e: # coverage bug - this is tested for argname in hook_impl.argnames: # pragma: no cover if argname not in caller_kwargs: raise HookCallError( f"hook call must provide argument {argname!r}" ) from e  if hook_impl.hookwrapper: function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)  next(function_gen) # first yield teardowns.append(function_gen)  elif hook_impl.wrapper: try: # If this cast is not valid, a type error is raised below, # which is the desired response. res = hook_impl.function(*args) function_gen = cast(Generator[None, object, object], res) next(function_gen) # first yield teardowns.append(function_gen) except StopIteration: _raise_wrapfail(function_gen, "did not yield") else: res = hook_impl.function(*args) if res is not None: results.append(res) if firstresult: # halt further impl calls break except BaseException as exc: exception = exc finally: if firstresult: # first result hooks return a single value result = results[0] if results else None else: result = results  # run all wrapper post-yield blocks for teardown in reversed(teardowns): try: if exception is not None: try: > teardown.throw(exception) __tracebackhide__ = True args = [] caller_kwargs = {'item': } exception = ValueError('Not a valid mypy message') firstresult = False function_gen = hook_impl = > hook_impls = [>] hook_name = 'pytest_runtest_call' res = result = [] results = [] teardown = teardowns = [, , <...object CaptureManager.pytest_runtest_call at 0x7f84f98ad540>, ] /usr/lib/python3/dist-packages/pluggy/_callers.py:139: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.logging.LoggingPlugin object at 0x7f851f45e120> item = @hookimpl(wrapper=True) def pytest_runtest_call(self, item: nodes.Item) -> Generator[None]: self.log_cli_handler.set_when("call")  > yield from self._runtest_for(item, "call") item = self = <_pytest.logging.LoggingPlugin object at 0x7f851f45e120> /usr/lib/python3/dist-packages/_pytest/logging.py:846: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.logging.LoggingPlugin object at 0x7f851f45e120> item = , when = 'call' def _runtest_for(self, item: nodes.Item, when: str) -> Generator[None]:  """Implement the internals of the pytest_runtest_xxx() hooks.""" with catching_logs( self.caplog_handler, level=self.log_level, ) as caplog_handler, catching_logs( self.report_handler, level=self.log_level, ) as report_handler: caplog_handler.reset() report_handler.reset() item.stash[caplog_records_key][when] = caplog_handler.records item.stash[caplog_handler_key] = caplog_handler  try: > yield caplog_handler = item = log = '' report_handler = self = <_pytest.logging.LoggingPlugin object at 0x7f851f45e120> when = 'call' /usr/lib/python3/dist-packages/_pytest/logging.py:829: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook_name = 'pytest_runtest_call' hook_impls = [>] caller_kwargs = {'item': } firstresult = False def _multicall( hook_name: str, hook_impls: Sequence[HookImpl], caller_kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]:  """Execute a call into multiple python functions/methods and return the  result(s).   ``caller_kwargs`` comes from HookCaller.__call__().  """ __tracebackhide__ = True results: list[object] = [] exception = None try: # run impl and wrapper setup functions in a loop teardowns: list[Teardown] = [] try: for hook_impl in reversed(hook_impls): try: args = [caller_kwargs[argname] for argname in hook_impl.argnames] except KeyError as e: # coverage bug - this is tested for argname in hook_impl.argnames: # pragma: no cover if argname not in caller_kwargs: raise HookCallError( f"hook call must provide argument {argname!r}" ) from e  if hook_impl.hookwrapper: function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)  next(function_gen) # first yield teardowns.append(function_gen)  elif hook_impl.wrapper: try: # If this cast is not valid, a type error is raised below, # which is the desired response. res = hook_impl.function(*args) function_gen = cast(Generator[None, object, object], res) next(function_gen) # first yield teardowns.append(function_gen) except StopIteration: _raise_wrapfail(function_gen, "did not yield") else: res = hook_impl.function(*args) if res is not None: results.append(res) if firstresult: # halt further impl calls break except BaseException as exc: exception = exc finally: if firstresult: # first result hooks return a single value result = results[0] if results else None else: result = results  # run all wrapper post-yield blocks for teardown in reversed(teardowns): try: if exception is not None: try: > teardown.throw(exception) __tracebackhide__ = True args = [] caller_kwargs = {'item': } exception = ValueError('Not a valid mypy message') firstresult = False function_gen = hook_impl = > hook_impls = [>] hook_name = 'pytest_runtest_call' res = result = [] results = [] teardown = teardowns = [, , <...object CaptureManager.pytest_runtest_call at 0x7f84f98ad540>, ] /usr/lib/python3/dist-packages/pluggy/_callers.py:139: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = > _state='suspended' _in_suspended=False> _capture_fixture=None> item = @hookimpl(wrapper=True) def pytest_runtest_call(self, item: Item) -> Generator[None]: with self.item_capture("call", item): > return (yield) item = self = > _state='suspended' _in_suspended=False> _capture_fixture=None> /usr/lib/python3/dist-packages/_pytest/capture.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook_name = 'pytest_runtest_call' hook_impls = [>] caller_kwargs = {'item': } firstresult = False def _multicall( hook_name: str, hook_impls: Sequence[HookImpl], caller_kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]:  """Execute a call into multiple python functions/methods and return the  result(s).   ``caller_kwargs`` comes from HookCaller.__call__().  """ __tracebackhide__ = True results: list[object] = [] exception = None try: # run impl and wrapper setup functions in a loop teardowns: list[Teardown] = [] try: for hook_impl in reversed(hook_impls): try: args = [caller_kwargs[argname] for argname in hook_impl.argnames] except KeyError as e: # coverage bug - this is tested for argname in hook_impl.argnames: # pragma: no cover if argname not in caller_kwargs: raise HookCallError( f"hook call must provide argument {argname!r}" ) from e  if hook_impl.hookwrapper: function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)  next(function_gen) # first yield teardowns.append(function_gen)  elif hook_impl.wrapper: try: # If this cast is not valid, a type error is raised below, # which is the desired response. res = hook_impl.function(*args) function_gen = cast(Generator[None, object, object], res) next(function_gen) # first yield teardowns.append(function_gen) except StopIteration: _raise_wrapfail(function_gen, "did not yield") else: res = hook_impl.function(*args) if res is not None: results.append(res) if firstresult: # halt further impl calls break except BaseException as exc: exception = exc finally: if firstresult: # first result hooks return a single value result = results[0] if results else None else: result = results  # run all wrapper post-yield blocks for teardown in reversed(teardowns): try: if exception is not None: try: > teardown.throw(exception) __tracebackhide__ = True args = [] caller_kwargs = {'item': } exception = ValueError('Not a valid mypy message') firstresult = False function_gen = hook_impl = > hook_impls = [>] hook_name = 'pytest_runtest_call' res = result = [] results = [] teardown = teardowns = [, , <...object CaptureManager.pytest_runtest_call at 0x7f84f98ad540>, ] /usr/lib/python3/dist-packages/pluggy/_callers.py:139: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ item = @hookimpl(wrapper=True) def pytest_runtest_call(item: Item) -> Generator[None]: xfailed = item.stash.get(xfailed_key, None) if xfailed is None: item.stash[xfailed_key] = xfailed = evaluate_xfail_marks(item)  if xfailed and not item.config.option.runxfail and not xfailed.run: xfail("[NOTRUN] " + xfailed.reason)  try: > return (yield) item = xfailed = None /usr/lib/python3/dist-packages/_pytest/skipping.py:257: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook_name = 'pytest_runtest_call' hook_impls = [>] caller_kwargs = {'item': } firstresult = False def _multicall( hook_name: str, hook_impls: Sequence[HookImpl], caller_kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]:  """Execute a call into multiple python functions/methods and return the  result(s).   ``caller_kwargs`` comes from HookCaller.__call__().  """ __tracebackhide__ = True results: list[object] = [] exception = None try: # run impl and wrapper setup functions in a loop teardowns: list[Teardown] = [] try: for hook_impl in reversed(hook_impls): try: args = [caller_kwargs[argname] for argname in hook_impl.argnames] except KeyError as e: # coverage bug - this is tested for argname in hook_impl.argnames: # pragma: no cover if argname not in caller_kwargs: raise HookCallError( f"hook call must provide argument {argname!r}" ) from e  if hook_impl.hookwrapper: function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)  next(function_gen) # first yield teardowns.append(function_gen)  elif hook_impl.wrapper: try: # If this cast is not valid, a type error is raised below, # which is the desired response. res = hook_impl.function(*args) function_gen = cast(Generator[None, object, object], res) next(function_gen) # first yield teardowns.append(function_gen) except StopIteration: _raise_wrapfail(function_gen, "did not yield") else: > res = hook_impl.function(*args) __tracebackhide__ = True args = [] caller_kwargs = {'item': } exception = ValueError('Not a valid mypy message') firstresult = False function_gen = hook_impl = > hook_impls = [>] hook_name = 'pytest_runtest_call' res = result = [] results = [] teardown = teardowns = [, , <...object CaptureManager.pytest_runtest_call at 0x7f84f98ad540>, ] /usr/lib/python3/dist-packages/pluggy/_callers.py:121: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ item = def pytest_runtest_call(item: Item) -> None: _update_current_test_var(item, "call") try: del sys.last_type del sys.last_value del sys.last_traceback if sys.version_info >= (3, 12, 0): del sys.last_exc # type:ignore[attr-defined] except AttributeError: pass try: > item.runtest() item = /usr/lib/python3/dist-packages/_pytest/runner.py:174: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def runtest(self) -> None: > returncode, actual_messages = self.parent.run_mypy(self.mypy_item) self = /usr/lib/python3/dist-packages/pytest_mypy_testing/plugin.py:64: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = item = MypyTestItem(name='mypy_any_typing', lineno=285, end_lineno=304, expected_messages=[Message(filename='/build/reproduci...', error_code=None)], func_node=, marks={'mypy_testing'}, actual_messages=[]) def run_mypy(self, item: MypyTestItem) -> Tuple[int, List[Message]]: if self._mypy_result is None: > self._mypy_result = self._run_mypy(self.path) item = MypyTestItem(name='mypy_any_typing', lineno=285, end_lineno=304, expected_messages=[Message(filename='/build/reproduci...', error_code=None)], func_node=, marks={'mypy_testing'}, actual_messages=[]) self = /usr/lib/python3/dist-packages/pytest_mypy_testing/plugin.py:136: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = filename = PosixPath('/build/reproducible-path/traitlets-5.14.3+really5.14.3/.pybuild/cpython3_3.13_traitlets/build/tests/test_typing.py') def _run_mypy(self, filename: Union[pathlib.Path, os.PathLike, str]) -> MypyResult: filename = pathlib.Path(filename) with tempfile.TemporaryDirectory(prefix="pytest-mypy-testing-") as tmp_dir_name: mypy_cache_dir = os.path.join(tmp_dir_name, "mypy_cache") os.makedirs(mypy_cache_dir)  mypy_args = [ "--cache-dir={}".format(mypy_cache_dir), "--check-untyped-defs", "--hide-error-context", "--no-color-output", "--no-error-summary", "--no-pretty", "--soft-error-limit=-1", "--no-silence-site-packages", "--no-warn-unused-configs", "--show-column-numbers", "--show-error-codes", "--show-traceback", str(filename), ]  out, err, returncode = mypy.api.run(mypy_args)  lines = (out + err).splitlines()  file_messages = [ msg > for msg in map(Message.from_output, lines) if (msg.filename == self.mypy_file.filename) and not ( msg.severity is Severity.NOTE and msg.message == "See https://mypy.readthedocs.io/en/stable/running_mypy.html#missing-imports" ) ] err = 'pyproject.toml: [mypy]: python_version: Python 3.8 is not supported (must be 3.9 or higher)\n' filename = PosixPath('/build/reproducible-path/traitlets-5.14.3+really5.14.3/.pybuild/cpython3_3.13_traitlets/build/tests/test_typing.py') lines = ['/usr/lib/python3/dist-packages/mypy/typeshed/stdlib/builtins.pyi:1244:27: error: Class cannot subclass "Any" (has ty...ist-packages/argcomplete/packages/_shlex.py:74:5: error: Function is missing a type annotation [no-untyped-def]', ...] mypy_args = ['--cache-dir=/tmp/pytest-mypy-testing-e1rl0yzg/mypy_cache', '--check-untyped-defs', '--hide-error-context', '--no-color-output', '--no-error-summary', '--no-pretty', ...] mypy_cache_dir = '/tmp/pytest-mypy-testing-e1rl0yzg/mypy_cache' out = '/usr/lib/python3/dist-packages/mypy/typeshed/stdlib/builtins.pyi:1244:27: error: Class cannot subclass "Any" (has typ...:454:14: error: Incompatible types in assignment (expression has type "None", variable has type "Foo") [assignment]\n' returncode = 1 self = tmp_dir_name = '/tmp/pytest-mypy-testing-e1rl0yzg' /usr/lib/python3/dist-packages/pytest_mypy_testing/plugin.py:173: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = line = 'pyproject.toml: [mypy]: python_version: Python 3.8 is not supported (must be 3.9 or higher)' @classmethod def from_output(cls, line: str) -> "Message":  """Create message object from mypy output line.   >>> m = Message.from_output("z.py:1: note: bar")  >>> (m.lineno, m.colno, m.severity, m.message, m.revealed_type, m.error_code)  (1, None, Severity.NOTE, 'bar', None, None)   >>> m = Message.from_output("z.py:1:13: note: bar")  >>> (m.lineno, m.colno, m.severity, m.message, m.revealed_type, m.error_code)  (1, 13, Severity.NOTE, 'bar', None, None)   >>> m = Message.from_output("z.py:1: note: Revealed type is 'bar'")  >>> (m.lineno, m.colno, m.severity, m.message, m.revealed_type, m.error_code)  (1, None, Severity.NOTE, "Revealed type is 'bar'", 'bar', None)   >>> m = Message.from_output('z.py:1: note: Revealed type is "bar"')  >>> (m.lineno, m.colno, m.severity, m.message, m.revealed_type, m.error_code)  (1, None, Severity.NOTE, 'Revealed type is "bar"', 'bar', None)   >>> m = Message.from_output("z.py:1:13: error: bar [baz]")  >>> (m.lineno, m.colno, m.severity, m.message, m.revealed_type, m.error_code)  (1, 13, Severity.ERROR, 'bar', None, 'baz')   """ m = cls.OUTPUT_RE.match(line) if not m: > raise ValueError("Not a valid mypy message") E ValueError: Not a valid mypy message cls = line = 'pyproject.toml: [mypy]: python_version: Python 3.8 is not supported (must be 3.9 or higher)' m = None /usr/lib/python3/dist-packages/pytest_mypy_testing/message.py:295: ValueError ____________________________ [mypy]mypy_bool_typing ____________________________ cls = func = . at 0x7f851ca560c0> when = 'call' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]:  """Call func, wrapping the result in a CallInfo.   :param func:  The function to call. Called without arguments.  :type func: Callable[[], _pytest.runner.TResult]  :param when:  The phase in which the function is called.  :param reraise:  Exception or exceptions that shall propagate if raised by the  function, instead of being wrapped in the CallInfo.  """ excinfo = None start = timing.time() precise_start = timing.perf_counter() try: > result: TResult | None = func() cls = duration = 25.046100452076644 excinfo = func = . at 0x7f851ca560c0> precise_start = 551078.949234722 precise_stop = 551103.995335174 reraise = (, ) result = None start = 1790402616.645386 stop = 1790402641.6914897 when = 'call' /usr/lib/python3/dist-packages/_pytest/runner.py:341: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ >  lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise ) item = kwds = {} runtest_hook = /usr/lib/python3/dist-packages/_pytest/runner.py:242: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = kwargs = {'item': } firstresult = False def __call__(self, **kwargs: object) -> Any:  """Call the hook.   Only accepts keyword arguments, which should match the hook  specification.   Returns the result(s) of calling all registered plugins, see  :ref:`calling`.  """ assert not self.is_historic(), ( "Cannot directly call a historic hook - use call_historic instead." ) self._verify_all_args_are_provided(kwargs) firstresult = self.spec.opts.get("firstresult", False) if self.spec else False # Copy because plugins may register other plugins during iteration (#438). > return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) firstresult = False kwargs = {'item': } self = /usr/lib/python3/dist-packages/pluggy/_hooks.py:512: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.config.PytestPluginManager object at 0x7f8521f1f230> hook_name = 'pytest_runtest_call' methods = [>] kwargs = {'item': } firstresult = False def _hookexec( self, hook_name: str, methods: Sequence[HookImpl], kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]: # called from all hookcaller instances. # enable_tracing will set its own wrapping function at self._inner_hookexec > return self._inner_hookexec(hook_name, methods, kwargs, firstresult) firstresult = False hook_name = 'pytest_runtest_call' kwargs = {'item': } methods = [>] self = <_pytest.config.PytestPluginManager object at 0x7f8521f1f230> /usr/lib/python3/dist-packages/pluggy/_manager.py:120: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook_name = 'pytest_runtest_call' hook_impls = [>] caller_kwargs = {'item': } firstresult = False def _multicall( hook_name: str, hook_impls: Sequence[HookImpl], caller_kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]:  """Execute a call into multiple python functions/methods and return the  result(s).   ``caller_kwargs`` comes from HookCaller.__call__().  """ __tracebackhide__ = True results: list[object] = [] exception = None try: # run impl and wrapper setup functions in a loop teardowns: list[Teardown] = [] try: for hook_impl in reversed(hook_impls): try: args = [caller_kwargs[argname] for argname in hook_impl.argnames] except KeyError as e: # coverage bug - this is tested for argname in hook_impl.argnames: # pragma: no cover if argname not in caller_kwargs: raise HookCallError( f"hook call must provide argument {argname!r}" ) from e  if hook_impl.hookwrapper: function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)  next(function_gen) # first yield teardowns.append(function_gen)  elif hook_impl.wrapper: try: # If this cast is not valid, a type error is raised below, # which is the desired response. res = hook_impl.function(*args) function_gen = cast(Generator[None, object, object], res) next(function_gen) # first yield teardowns.append(function_gen) except StopIteration: _raise_wrapfail(function_gen, "did not yield") else: res = hook_impl.function(*args) if res is not None: results.append(res) if firstresult: # halt further impl calls break except BaseException as exc: exception = exc finally: if firstresult: # first result hooks return a single value result = results[0] if results else None else: result = results  # run all wrapper post-yield blocks for teardown in reversed(teardowns): try: if exception is not None: try: teardown.throw(exception) except RuntimeError as re: # StopIteration from generator causes RuntimeError # even for coroutine usage - see #544 if ( isinstance(exception, StopIteration) and re.__cause__ is exception ): teardown.close() continue else: raise else: teardown.send(result) # Following is unreachable for a well behaved hook wrapper. # Try to force finalizers otherwise postponed till GC action. # Note: close() may raise if generator handles GeneratorExit. teardown.close() except StopIteration as si: result = si.value exception = None continue except BaseException as e: exception = e continue _raise_wrapfail(teardown, "has second yield")  if exception is not None: > raise exception __tracebackhide__ = True args = [] caller_kwargs = {'item': } exception = ValueError('Not a valid mypy message') firstresult = False function_gen = hook_impl = > hook_impls = [>] hook_name = 'pytest_runtest_call' res = result = [] results = [] teardown = teardowns = [, , <...object CaptureManager.pytest_runtest_call at 0x7f8509c93140>, ] /usr/lib/python3/dist-packages/pluggy/_callers.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook_name = 'pytest_runtest_call' hook_impls = [>] caller_kwargs = {'item': } firstresult = False def _multicall( hook_name: str, hook_impls: Sequence[HookImpl], caller_kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]:  """Execute a call into multiple python functions/methods and return the  result(s).   ``caller_kwargs`` comes from HookCaller.__call__().  """ __tracebackhide__ = True results: list[object] = [] exception = None try: # run impl and wrapper setup functions in a loop teardowns: list[Teardown] = [] try: for hook_impl in reversed(hook_impls): try: args = [caller_kwargs[argname] for argname in hook_impl.argnames] except KeyError as e: # coverage bug - this is tested for argname in hook_impl.argnames: # pragma: no cover if argname not in caller_kwargs: raise HookCallError( f"hook call must provide argument {argname!r}" ) from e  if hook_impl.hookwrapper: function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)  next(function_gen) # first yield teardowns.append(function_gen)  elif hook_impl.wrapper: try: # If this cast is not valid, a type error is raised below, # which is the desired response. res = hook_impl.function(*args) function_gen = cast(Generator[None, object, object], res) next(function_gen) # first yield teardowns.append(function_gen) except StopIteration: _raise_wrapfail(function_gen, "did not yield") else: res = hook_impl.function(*args) if res is not None: results.append(res) if firstresult: # halt further impl calls break except BaseException as exc: exception = exc finally: if firstresult: # first result hooks return a single value result = results[0] if results else None else: result = results  # run all wrapper post-yield blocks for teardown in reversed(teardowns): try: if exception is not None: try: > teardown.throw(exception) __tracebackhide__ = True args = [] caller_kwargs = {'item': } exception = ValueError('Not a valid mypy message') firstresult = False function_gen = hook_impl = > hook_impls = [>] hook_name = 'pytest_runtest_call' res = result = [] results = [] teardown = teardowns = [, , <...object CaptureManager.pytest_runtest_call at 0x7f8509c93140>, ] /usr/lib/python3/dist-packages/pluggy/_callers.py:139: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ @pytest.hookimpl(wrapper=True, tryfirst=True) def pytest_runtest_call() -> Generator[None]: > yield from thread_exception_runtest_hook() /usr/lib/python3/dist-packages/_pytest/threadexception.py:92: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def thread_exception_runtest_hook() -> Generator[None]: with catch_threading_exception() as cm: try: > yield cm = <_pytest.threadexception.catch_threading_exception object at 0x7f84fa3489b0> /usr/lib/python3/dist-packages/_pytest/threadexception.py:68: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook_name = 'pytest_runtest_call' hook_impls = [>] caller_kwargs = {'item': } firstresult = False def _multicall( hook_name: str, hook_impls: Sequence[HookImpl], caller_kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]:  """Execute a call into multiple python functions/methods and return the  result(s).   ``caller_kwargs`` comes from HookCaller.__call__().  """ __tracebackhide__ = True results: list[object] = [] exception = None try: # run impl and wrapper setup functions in a loop teardowns: list[Teardown] = [] try: for hook_impl in reversed(hook_impls): try: args = [caller_kwargs[argname] for argname in hook_impl.argnames] except KeyError as e: # coverage bug - this is tested for argname in hook_impl.argnames: # pragma: no cover if argname not in caller_kwargs: raise HookCallError( f"hook call must provide argument {argname!r}" ) from e  if hook_impl.hookwrapper: function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)  next(function_gen) # first yield teardowns.append(function_gen)  elif hook_impl.wrapper: try: # If this cast is not valid, a type error is raised below, # which is the desired response. res = hook_impl.function(*args) function_gen = cast(Generator[None, object, object], res) next(function_gen) # first yield teardowns.append(function_gen) except StopIteration: _raise_wrapfail(function_gen, "did not yield") else: res = hook_impl.function(*args) if res is not None: results.append(res) if firstresult: # halt further impl calls break except BaseException as exc: exception = exc finally: if firstresult: # first result hooks return a single value result = results[0] if results else None else: result = results  # run all wrapper post-yield blocks for teardown in reversed(teardowns): try: if exception is not None: try: > teardown.throw(exception) __tracebackhide__ = True args = [] caller_kwargs = {'item': } exception = ValueError('Not a valid mypy message') firstresult = False function_gen = hook_impl = > hook_impls = [>] hook_name = 'pytest_runtest_call' res = result = [] results = [] teardown = teardowns = [, , <...object CaptureManager.pytest_runtest_call at 0x7f8509c93140>, ] /usr/lib/python3/dist-packages/pluggy/_callers.py:139: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ @pytest.hookimpl(wrapper=True, tryfirst=True) def pytest_runtest_call() -> Generator[None]: > yield from unraisable_exception_runtest_hook() /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:95: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def unraisable_exception_runtest_hook() -> Generator[None]: with catch_unraisable_exception() as cm: try: > yield cm = <_pytest.unraisableexception.catch_unraisable_exception object at 0x7f84fa34b8f0> /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook_name = 'pytest_runtest_call' hook_impls = [>] caller_kwargs = {'item': } firstresult = False def _multicall( hook_name: str, hook_impls: Sequence[HookImpl], caller_kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]:  """Execute a call into multiple python functions/methods and return the  result(s).   ``caller_kwargs`` comes from HookCaller.__call__().  """ __tracebackhide__ = True results: list[object] = [] exception = None try: # run impl and wrapper setup functions in a loop teardowns: list[Teardown] = [] try: for hook_impl in reversed(hook_impls): try: args = [caller_kwargs[argname] for argname in hook_impl.argnames] except KeyError as e: # coverage bug - this is tested for argname in hook_impl.argnames: # pragma: no cover if argname not in caller_kwargs: raise HookCallError( f"hook call must provide argument {argname!r}" ) from e  if hook_impl.hookwrapper: function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)  next(function_gen) # first yield teardowns.append(function_gen)  elif hook_impl.wrapper: try: # If this cast is not valid, a type error is raised below, # which is the desired response. res = hook_impl.function(*args) function_gen = cast(Generator[None, object, object], res) next(function_gen) # first yield teardowns.append(function_gen) except StopIteration: _raise_wrapfail(function_gen, "did not yield") else: res = hook_impl.function(*args) if res is not None: results.append(res) if firstresult: # halt further impl calls break except BaseException as exc: exception = exc finally: if firstresult: # first result hooks return a single value result = results[0] if results else None else: result = results  # run all wrapper post-yield blocks for teardown in reversed(teardowns): try: if exception is not None: try: > teardown.throw(exception) __tracebackhide__ = True args = [] caller_kwargs = {'item': } exception = ValueError('Not a valid mypy message') firstresult = False function_gen = hook_impl = > hook_impls = [>] hook_name = 'pytest_runtest_call' res = result = [] results = [] teardown = teardowns = [, , <...object CaptureManager.pytest_runtest_call at 0x7f8509c93140>, ] /usr/lib/python3/dist-packages/pluggy/_callers.py:139: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.logging.LoggingPlugin object at 0x7f851f45e120> item = @hookimpl(wrapper=True) def pytest_runtest_call(self, item: nodes.Item) -> Generator[None]: self.log_cli_handler.set_when("call")  > yield from self._runtest_for(item, "call") item = self = <_pytest.logging.LoggingPlugin object at 0x7f851f45e120> /usr/lib/python3/dist-packages/_pytest/logging.py:846: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.logging.LoggingPlugin object at 0x7f851f45e120> item = , when = 'call' def _runtest_for(self, item: nodes.Item, when: str) -> Generator[None]:  """Implement the internals of the pytest_runtest_xxx() hooks.""" with catching_logs( self.caplog_handler, level=self.log_level, ) as caplog_handler, catching_logs( self.report_handler, level=self.log_level, ) as report_handler: caplog_handler.reset() report_handler.reset() item.stash[caplog_records_key][when] = caplog_handler.records item.stash[caplog_handler_key] = caplog_handler  try: > yield caplog_handler = item = log = '' report_handler = self = <_pytest.logging.LoggingPlugin object at 0x7f851f45e120> when = 'call' /usr/lib/python3/dist-packages/_pytest/logging.py:829: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook_name = 'pytest_runtest_call' hook_impls = [>] caller_kwargs = {'item': } firstresult = False def _multicall( hook_name: str, hook_impls: Sequence[HookImpl], caller_kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]:  """Execute a call into multiple python functions/methods and return the  result(s).   ``caller_kwargs`` comes from HookCaller.__call__().  """ __tracebackhide__ = True results: list[object] = [] exception = None try: # run impl and wrapper setup functions in a loop teardowns: list[Teardown] = [] try: for hook_impl in reversed(hook_impls): try: args = [caller_kwargs[argname] for argname in hook_impl.argnames] except KeyError as e: # coverage bug - this is tested for argname in hook_impl.argnames: # pragma: no cover if argname not in caller_kwargs: raise HookCallError( f"hook call must provide argument {argname!r}" ) from e  if hook_impl.hookwrapper: function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)  next(function_gen) # first yield teardowns.append(function_gen)  elif hook_impl.wrapper: try: # If this cast is not valid, a type error is raised below, # which is the desired response. res = hook_impl.function(*args) function_gen = cast(Generator[None, object, object], res) next(function_gen) # first yield teardowns.append(function_gen) except StopIteration: _raise_wrapfail(function_gen, "did not yield") else: res = hook_impl.function(*args) if res is not None: results.append(res) if firstresult: # halt further impl calls break except BaseException as exc: exception = exc finally: if firstresult: # first result hooks return a single value result = results[0] if results else None else: result = results  # run all wrapper post-yield blocks for teardown in reversed(teardowns): try: if exception is not None: try: > teardown.throw(exception) __tracebackhide__ = True args = [] caller_kwargs = {'item': } exception = ValueError('Not a valid mypy message') firstresult = False function_gen = hook_impl = > hook_impls = [>] hook_name = 'pytest_runtest_call' res = result = [] results = [] teardown = teardowns = [, , <...object CaptureManager.pytest_runtest_call at 0x7f8509c93140>, ] /usr/lib/python3/dist-packages/pluggy/_callers.py:139: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = > _state='suspended' _in_suspended=False> _capture_fixture=None> item = @hookimpl(wrapper=True) def pytest_runtest_call(self, item: Item) -> Generator[None]: with self.item_capture("call", item): > return (yield) item = self = > _state='suspended' _in_suspended=False> _capture_fixture=None> /usr/lib/python3/dist-packages/_pytest/capture.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook_name = 'pytest_runtest_call' hook_impls = [>] caller_kwargs = {'item': } firstresult = False def _multicall( hook_name: str, hook_impls: Sequence[HookImpl], caller_kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]:  """Execute a call into multiple python functions/methods and return the  result(s).   ``caller_kwargs`` comes from HookCaller.__call__().  """ __tracebackhide__ = True results: list[object] = [] exception = None try: # run impl and wrapper setup functions in a loop teardowns: list[Teardown] = [] try: for hook_impl in reversed(hook_impls): try: args = [caller_kwargs[argname] for argname in hook_impl.argnames] except KeyError as e: # coverage bug - this is tested for argname in hook_impl.argnames: # pragma: no cover if argname not in caller_kwargs: raise HookCallError( f"hook call must provide argument {argname!r}" ) from e  if hook_impl.hookwrapper: function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)  next(function_gen) # first yield teardowns.append(function_gen)  elif hook_impl.wrapper: try: # If this cast is not valid, a type error is raised below, # which is the desired response. res = hook_impl.function(*args) function_gen = cast(Generator[None, object, object], res) next(function_gen) # first yield teardowns.append(function_gen) except StopIteration: _raise_wrapfail(function_gen, "did not yield") else: res = hook_impl.function(*args) if res is not None: results.append(res) if firstresult: # halt further impl calls break except BaseException as exc: exception = exc finally: if firstresult: # first result hooks return a single value result = results[0] if results else None else: result = results  # run all wrapper post-yield blocks for teardown in reversed(teardowns): try: if exception is not None: try: > teardown.throw(exception) __tracebackhide__ = True args = [] caller_kwargs = {'item': } exception = ValueError('Not a valid mypy message') firstresult = False function_gen = hook_impl = > hook_impls = [>] hook_name = 'pytest_runtest_call' res = result = [] results = [] teardown = teardowns = [, , <...object CaptureManager.pytest_runtest_call at 0x7f8509c93140>, ] /usr/lib/python3/dist-packages/pluggy/_callers.py:139: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ item = @hookimpl(wrapper=True) def pytest_runtest_call(item: Item) -> Generator[None]: xfailed = item.stash.get(xfailed_key, None) if xfailed is None: item.stash[xfailed_key] = xfailed = evaluate_xfail_marks(item)  if xfailed and not item.config.option.runxfail and not xfailed.run: xfail("[NOTRUN] " + xfailed.reason)  try: > return (yield) item = xfailed = None /usr/lib/python3/dist-packages/_pytest/skipping.py:257: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook_name = 'pytest_runtest_call' hook_impls = [>] caller_kwargs = {'item': } firstresult = False def _multicall( hook_name: str, hook_impls: Sequence[HookImpl], caller_kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]:  """Execute a call into multiple python functions/methods and return the  result(s).   ``caller_kwargs`` comes from HookCaller.__call__().  """ __tracebackhide__ = True results: list[object] = [] exception = None try: # run impl and wrapper setup functions in a loop teardowns: list[Teardown] = [] try: for hook_impl in reversed(hook_impls): try: args = [caller_kwargs[argname] for argname in hook_impl.argnames] except KeyError as e: # coverage bug - this is tested for argname in hook_impl.argnames: # pragma: no cover if argname not in caller_kwargs: raise HookCallError( f"hook call must provide argument {argname!r}" ) from e  if hook_impl.hookwrapper: function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)  next(function_gen) # first yield teardowns.append(function_gen)  elif hook_impl.wrapper: try: # If this cast is not valid, a type error is raised below, # which is the desired response. res = hook_impl.function(*args) function_gen = cast(Generator[None, object, object], res) next(function_gen) # first yield teardowns.append(function_gen) except StopIteration: _raise_wrapfail(function_gen, "did not yield") else: > res = hook_impl.function(*args) __tracebackhide__ = True args = [] caller_kwargs = {'item': } exception = ValueError('Not a valid mypy message') firstresult = False function_gen = hook_impl = > hook_impls = [>] hook_name = 'pytest_runtest_call' res = result = [] results = [] teardown = teardowns = [, , <...object CaptureManager.pytest_runtest_call at 0x7f8509c93140>, ] /usr/lib/python3/dist-packages/pluggy/_callers.py:121: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ item = def pytest_runtest_call(item: Item) -> None: _update_current_test_var(item, "call") try: del sys.last_type del sys.last_value del sys.last_traceback if sys.version_info >= (3, 12, 0): del sys.last_exc # type:ignore[attr-defined] except AttributeError: pass try: > item.runtest() item = /usr/lib/python3/dist-packages/_pytest/runner.py:174: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def runtest(self) -> None: > returncode, actual_messages = self.parent.run_mypy(self.mypy_item) self = /usr/lib/python3/dist-packages/pytest_mypy_testing/plugin.py:64: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = item = MypyTestItem(name='mypy_bool_typing', lineno=307, end_lineno=345, expected_messages=[Message(filename='/build/reproduc..._code='assignment')], func_node=, marks={'mypy_testing'}, actual_messages=[]) def run_mypy(self, item: MypyTestItem) -> Tuple[int, List[Message]]: if self._mypy_result is None: > self._mypy_result = self._run_mypy(self.path) item = MypyTestItem(name='mypy_bool_typing', lineno=307, end_lineno=345, expected_messages=[Message(filename='/build/reproduc..._code='assignment')], func_node=, marks={'mypy_testing'}, actual_messages=[]) self = /usr/lib/python3/dist-packages/pytest_mypy_testing/plugin.py:136: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = filename = PosixPath('/build/reproducible-path/traitlets-5.14.3+really5.14.3/.pybuild/cpython3_3.13_traitlets/build/tests/test_typing.py') def _run_mypy(self, filename: Union[pathlib.Path, os.PathLike, str]) -> MypyResult: filename = pathlib.Path(filename) with tempfile.TemporaryDirectory(prefix="pytest-mypy-testing-") as tmp_dir_name: mypy_cache_dir = os.path.join(tmp_dir_name, "mypy_cache") os.makedirs(mypy_cache_dir)  mypy_args = [ "--cache-dir={}".format(mypy_cache_dir), "--check-untyped-defs", "--hide-error-context", "--no-color-output", "--no-error-summary", "--no-pretty", "--soft-error-limit=-1", "--no-silence-site-packages", "--no-warn-unused-configs", "--show-column-numbers", "--show-error-codes", "--show-traceback", str(filename), ]  out, err, returncode = mypy.api.run(mypy_args)  lines = (out + err).splitlines()  file_messages = [ msg > for msg in map(Message.from_output, lines) if (msg.filename == self.mypy_file.filename) and not ( msg.severity is Severity.NOTE and msg.message == "See https://mypy.readthedocs.io/en/stable/running_mypy.html#missing-imports" ) ] err = 'pyproject.toml: [mypy]: python_version: Python 3.8 is not supported (must be 3.9 or higher)\n' filename = PosixPath('/build/reproducible-path/traitlets-5.14.3+really5.14.3/.pybuild/cpython3_3.13_traitlets/build/tests/test_typing.py') lines = ['/usr/lib/python3/dist-packages/mypy/typeshed/stdlib/builtins.pyi:1244:27: error: Class cannot subclass "Any" (has ty...ist-packages/argcomplete/packages/_shlex.py:74:5: error: Function is missing a type annotation [no-untyped-def]', ...] mypy_args = ['--cache-dir=/tmp/pytest-mypy-testing-kaiq38f8/mypy_cache', '--check-untyped-defs', '--hide-error-context', '--no-color-output', '--no-error-summary', '--no-pretty', ...] mypy_cache_dir = '/tmp/pytest-mypy-testing-kaiq38f8/mypy_cache' out = '/usr/lib/python3/dist-packages/mypy/typeshed/stdlib/builtins.pyi:1244:27: error: Class cannot subclass "Any" (has typ...:454:14: error: Incompatible types in assignment (expression has type "None", variable has type "Foo") [assignment]\n' returncode = 1 self = tmp_dir_name = '/tmp/pytest-mypy-testing-kaiq38f8' /usr/lib/python3/dist-packages/pytest_mypy_testing/plugin.py:173: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = line = 'pyproject.toml: [mypy]: python_version: Python 3.8 is not supported (must be 3.9 or higher)' @classmethod def from_output(cls, line: str) -> "Message":  """Create message object from mypy output line.   >>> m = Message.from_output("z.py:1: note: bar")  >>> (m.lineno, m.colno, m.severity, m.message, m.revealed_type, m.error_code)  (1, None, Severity.NOTE, 'bar', None, None)   >>> m = Message.from_output("z.py:1:13: note: bar")  >>> (m.lineno, m.colno, m.severity, m.message, m.revealed_type, m.error_code)  (1, 13, Severity.NOTE, 'bar', None, None)   >>> m = Message.from_output("z.py:1: note: Revealed type is 'bar'")  >>> (m.lineno, m.colno, m.severity, m.message, m.revealed_type, m.error_code)  (1, None, Severity.NOTE, "Revealed type is 'bar'", 'bar', None)   >>> m = Message.from_output('z.py:1: note: Revealed type is "bar"')  >>> (m.lineno, m.colno, m.severity, m.message, m.revealed_type, m.error_code)  (1, None, Severity.NOTE, 'Revealed type is "bar"', 'bar', None)   >>> m = Message.from_output("z.py:1:13: error: bar [baz]")  >>> (m.lineno, m.colno, m.severity, m.message, m.revealed_type, m.error_code)  (1, 13, Severity.ERROR, 'bar', None, 'baz')   """ m = cls.OUTPUT_RE.match(line) if not m: > raise ValueError("Not a valid mypy message") E ValueError: Not a valid mypy message cls = line = 'pyproject.toml: [mypy]: python_version: Python 3.8 is not supported (must be 3.9 or higher)' m = None /usr/lib/python3/dist-packages/pytest_mypy_testing/message.py:295: ValueError ____________________________ [mypy]mypy_int_typing _____________________________ cls = func = . at 0x7f8511273ec0> when = 'call' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]:  """Call func, wrapping the result in a CallInfo.   :param func:  The function to call. Called without arguments.  :type func: Callable[[], _pytest.runner.TResult]  :param when:  The phase in which the function is called.  :param reraise:  Exception or exceptions that shall propagate if raised by the  function, instead of being wrapped in the CallInfo.  """ excinfo = None start = timing.time() precise_start = timing.perf_counter() try: > result: TResult | None = func() cls = duration = 26.746298298006877 excinfo = func = . at 0x7f8511273ec0> precise_start = 551104.168928734 precise_stop = 551130.915227032 reraise = (, ) result = None start = 1790402641.86508 stop = 1790402668.6113815 when = 'call' /usr/lib/python3/dist-packages/_pytest/runner.py:341: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ >  lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise ) item = kwds = {} runtest_hook = /usr/lib/python3/dist-packages/_pytest/runner.py:242: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = kwargs = {'item': } firstresult = False def __call__(self, **kwargs: object) -> Any:  """Call the hook.   Only accepts keyword arguments, which should match the hook  specification.   Returns the result(s) of calling all registered plugins, see  :ref:`calling`.  """ assert not self.is_historic(), ( "Cannot directly call a historic hook - use call_historic instead." ) self._verify_all_args_are_provided(kwargs) firstresult = self.spec.opts.get("firstresult", False) if self.spec else False # Copy because plugins may register other plugins during iteration (#438). > return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) firstresult = False kwargs = {'item': } self = /usr/lib/python3/dist-packages/pluggy/_hooks.py:512: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.config.PytestPluginManager object at 0x7f8521f1f230> hook_name = 'pytest_runtest_call' methods = [>] kwargs = {'item': } firstresult = False def _hookexec( self, hook_name: str, methods: Sequence[HookImpl], kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]: # called from all hookcaller instances. # enable_tracing will set its own wrapping function at self._inner_hookexec > return self._inner_hookexec(hook_name, methods, kwargs, firstresult) firstresult = False hook_name = 'pytest_runtest_call' kwargs = {'item': } methods = [>] self = <_pytest.config.PytestPluginManager object at 0x7f8521f1f230> /usr/lib/python3/dist-packages/pluggy/_manager.py:120: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook_name = 'pytest_runtest_call' hook_impls = [>] caller_kwargs = {'item': } firstresult = False def _multicall( hook_name: str, hook_impls: Sequence[HookImpl], caller_kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]:  """Execute a call into multiple python functions/methods and return the  result(s).   ``caller_kwargs`` comes from HookCaller.__call__().  """ __tracebackhide__ = True results: list[object] = [] exception = None try: # run impl and wrapper setup functions in a loop teardowns: list[Teardown] = [] try: for hook_impl in reversed(hook_impls): try: args = [caller_kwargs[argname] for argname in hook_impl.argnames] except KeyError as e: # coverage bug - this is tested for argname in hook_impl.argnames: # pragma: no cover if argname not in caller_kwargs: raise HookCallError( f"hook call must provide argument {argname!r}" ) from e  if hook_impl.hookwrapper: function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)  next(function_gen) # first yield teardowns.append(function_gen)  elif hook_impl.wrapper: try: # If this cast is not valid, a type error is raised below, # which is the desired response. res = hook_impl.function(*args) function_gen = cast(Generator[None, object, object], res) next(function_gen) # first yield teardowns.append(function_gen) except StopIteration: _raise_wrapfail(function_gen, "did not yield") else: res = hook_impl.function(*args) if res is not None: results.append(res) if firstresult: # halt further impl calls break except BaseException as exc: exception = exc finally: if firstresult: # first result hooks return a single value result = results[0] if results else None else: result = results  # run all wrapper post-yield blocks for teardown in reversed(teardowns): try: if exception is not None: try: teardown.throw(exception) except RuntimeError as re: # StopIteration from generator causes RuntimeError # even for coroutine usage - see #544 if ( isinstance(exception, StopIteration) and re.__cause__ is exception ): teardown.close() continue else: raise else: teardown.send(result) # Following is unreachable for a well behaved hook wrapper. # Try to force finalizers otherwise postponed till GC action. # Note: close() may raise if generator handles GeneratorExit. teardown.close() except StopIteration as si: result = si.value exception = None continue except BaseException as e: exception = e continue _raise_wrapfail(teardown, "has second yield")  if exception is not None: > raise exception __tracebackhide__ = True args = [] caller_kwargs = {'item': } exception = ValueError('Not a valid mypy message') firstresult = False function_gen = hook_impl = > hook_impls = [>] hook_name = 'pytest_runtest_call' res = result = [] results = [] teardown = teardowns = [, , <...object CaptureManager.pytest_runtest_call at 0x7f84f40cdc40>, ] /usr/lib/python3/dist-packages/pluggy/_callers.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook_name = 'pytest_runtest_call' hook_impls = [>] caller_kwargs = {'item': } firstresult = False def _multicall( hook_name: str, hook_impls: Sequence[HookImpl], caller_kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]:  """Execute a call into multiple python functions/methods and return the  result(s).   ``caller_kwargs`` comes from HookCaller.__call__().  """ __tracebackhide__ = True results: list[object] = [] exception = None try: # run impl and wrapper setup functions in a loop teardowns: list[Teardown] = [] try: for hook_impl in reversed(hook_impls): try: args = [caller_kwargs[argname] for argname in hook_impl.argnames] except KeyError as e: # coverage bug - this is tested for argname in hook_impl.argnames: # pragma: no cover if argname not in caller_kwargs: raise HookCallError( f"hook call must provide argument {argname!r}" ) from e  if hook_impl.hookwrapper: function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)  next(function_gen) # first yield teardowns.append(function_gen)  elif hook_impl.wrapper: try: # If this cast is not valid, a type error is raised below, # which is the desired response. res = hook_impl.function(*args) function_gen = cast(Generator[None, object, object], res) next(function_gen) # first yield teardowns.append(function_gen) except StopIteration: _raise_wrapfail(function_gen, "did not yield") else: res = hook_impl.function(*args) if res is not None: results.append(res) if firstresult: # halt further impl calls break except BaseException as exc: exception = exc finally: if firstresult: # first result hooks return a single value result = results[0] if results else None else: result = results  # run all wrapper post-yield blocks for teardown in reversed(teardowns): try: if exception is not None: try: > teardown.throw(exception) __tracebackhide__ = True args = [] caller_kwargs = {'item': } exception = ValueError('Not a valid mypy message') firstresult = False function_gen = hook_impl = > hook_impls = [>] hook_name = 'pytest_runtest_call' res = result = [] results = [] teardown = teardowns = [, , <...object CaptureManager.pytest_runtest_call at 0x7f84f40cdc40>, ] /usr/lib/python3/dist-packages/pluggy/_callers.py:139: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ @pytest.hookimpl(wrapper=True, tryfirst=True) def pytest_runtest_call() -> Generator[None]: > yield from thread_exception_runtest_hook() /usr/lib/python3/dist-packages/_pytest/threadexception.py:92: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def thread_exception_runtest_hook() -> Generator[None]: with catch_threading_exception() as cm: try: > yield cm = <_pytest.threadexception.catch_threading_exception object at 0x7f851ac12750> /usr/lib/python3/dist-packages/_pytest/threadexception.py:68: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook_name = 'pytest_runtest_call' hook_impls = [>] caller_kwargs = {'item': } firstresult = False def _multicall( hook_name: str, hook_impls: Sequence[HookImpl], caller_kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]:  """Execute a call into multiple python functions/methods and return the  result(s).   ``caller_kwargs`` comes from HookCaller.__call__().  """ __tracebackhide__ = True results: list[object] = [] exception = None try: # run impl and wrapper setup functions in a loop teardowns: list[Teardown] = [] try: for hook_impl in reversed(hook_impls): try: args = [caller_kwargs[argname] for argname in hook_impl.argnames] except KeyError as e: # coverage bug - this is tested for argname in hook_impl.argnames: # pragma: no cover if argname not in caller_kwargs: raise HookCallError( f"hook call must provide argument {argname!r}" ) from e  if hook_impl.hookwrapper: function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)  next(function_gen) # first yield teardowns.append(function_gen)  elif hook_impl.wrapper: try: # If this cast is not valid, a type error is raised below, # which is the desired response. res = hook_impl.function(*args) function_gen = cast(Generator[None, object, object], res) next(function_gen) # first yield teardowns.append(function_gen) except StopIteration: _raise_wrapfail(function_gen, "did not yield") else: res = hook_impl.function(*args) if res is not None: results.append(res) if firstresult: # halt further impl calls break except BaseException as exc: exception = exc finally: if firstresult: # first result hooks return a single value result = results[0] if results else None else: result = results  # run all wrapper post-yield blocks for teardown in reversed(teardowns): try: if exception is not None: try: > teardown.throw(exception) __tracebackhide__ = True args = [] caller_kwargs = {'item': } exception = ValueError('Not a valid mypy message') firstresult = False function_gen = hook_impl = > hook_impls = [>] hook_name = 'pytest_runtest_call' res = result = [] results = [] teardown = teardowns = [, , <...object CaptureManager.pytest_runtest_call at 0x7f84f40cdc40>, ] /usr/lib/python3/dist-packages/pluggy/_callers.py:139: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ @pytest.hookimpl(wrapper=True, tryfirst=True) def pytest_runtest_call() -> Generator[None]: > yield from unraisable_exception_runtest_hook() /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:95: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def unraisable_exception_runtest_hook() -> Generator[None]: with catch_unraisable_exception() as cm: try: > yield cm = <_pytest.unraisableexception.catch_unraisable_exception object at 0x7f85032d65d0> /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook_name = 'pytest_runtest_call' hook_impls = [>] caller_kwargs = {'item': } firstresult = False def _multicall( hook_name: str, hook_impls: Sequence[HookImpl], caller_kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]:  """Execute a call into multiple python functions/methods and return the  result(s).   ``caller_kwargs`` comes from HookCaller.__call__().  """ __tracebackhide__ = True results: list[object] = [] exception = None try: # run impl and wrapper setup functions in a loop teardowns: list[Teardown] = [] try: for hook_impl in reversed(hook_impls): try: args = [caller_kwargs[argname] for argname in hook_impl.argnames] except KeyError as e: # coverage bug - this is tested for argname in hook_impl.argnames: # pragma: no cover if argname not in caller_kwargs: raise HookCallError( f"hook call must provide argument {argname!r}" ) from e  if hook_impl.hookwrapper: function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)  next(function_gen) # first yield teardowns.append(function_gen)  elif hook_impl.wrapper: try: # If this cast is not valid, a type error is raised below, # which is the desired response. res = hook_impl.function(*args) function_gen = cast(Generator[None, object, object], res) next(function_gen) # first yield teardowns.append(function_gen) except StopIteration: _raise_wrapfail(function_gen, "did not yield") else: res = hook_impl.function(*args) if res is not None: results.append(res) if firstresult: # halt further impl calls break except BaseException as exc: exception = exc finally: if firstresult: # first result hooks return a single value result = results[0] if results else None else: result = results  # run all wrapper post-yield blocks for teardown in reversed(teardowns): try: if exception is not None: try: > teardown.throw(exception) __tracebackhide__ = True args = [] caller_kwargs = {'item': } exception = ValueError('Not a valid mypy message') firstresult = False function_gen = hook_impl = > hook_impls = [>] hook_name = 'pytest_runtest_call' res = result = [] results = [] teardown = teardowns = [, , <...object CaptureManager.pytest_runtest_call at 0x7f84f40cdc40>, ] /usr/lib/python3/dist-packages/pluggy/_callers.py:139: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.logging.LoggingPlugin object at 0x7f851f45e120> item = @hookimpl(wrapper=True) def pytest_runtest_call(self, item: nodes.Item) -> Generator[None]: self.log_cli_handler.set_when("call")  > yield from self._runtest_for(item, "call") item = self = <_pytest.logging.LoggingPlugin object at 0x7f851f45e120> /usr/lib/python3/dist-packages/_pytest/logging.py:846: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.logging.LoggingPlugin object at 0x7f851f45e120> item = , when = 'call' def _runtest_for(self, item: nodes.Item, when: str) -> Generator[None]:  """Implement the internals of the pytest_runtest_xxx() hooks.""" with catching_logs( self.caplog_handler, level=self.log_level, ) as caplog_handler, catching_logs( self.report_handler, level=self.log_level, ) as report_handler: caplog_handler.reset() report_handler.reset() item.stash[caplog_records_key][when] = caplog_handler.records item.stash[caplog_handler_key] = caplog_handler  try: > yield caplog_handler = item = log = '' report_handler = self = <_pytest.logging.LoggingPlugin object at 0x7f851f45e120> when = 'call' /usr/lib/python3/dist-packages/_pytest/logging.py:829: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook_name = 'pytest_runtest_call' hook_impls = [>] caller_kwargs = {'item': } firstresult = False def _multicall( hook_name: str, hook_impls: Sequence[HookImpl], caller_kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]:  """Execute a call into multiple python functions/methods and return the  result(s).   ``caller_kwargs`` comes from HookCaller.__call__().  """ __tracebackhide__ = True results: list[object] = [] exception = None try: # run impl and wrapper setup functions in a loop teardowns: list[Teardown] = [] try: for hook_impl in reversed(hook_impls): try: args = [caller_kwargs[argname] for argname in hook_impl.argnames] except KeyError as e: # coverage bug - this is tested for argname in hook_impl.argnames: # pragma: no cover if argname not in caller_kwargs: raise HookCallError( f"hook call must provide argument {argname!r}" ) from e  if hook_impl.hookwrapper: function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)  next(function_gen) # first yield teardowns.append(function_gen)  elif hook_impl.wrapper: try: # If this cast is not valid, a type error is raised below, # which is the desired response. res = hook_impl.function(*args) function_gen = cast(Generator[None, object, object], res) next(function_gen) # first yield teardowns.append(function_gen) except StopIteration: _raise_wrapfail(function_gen, "did not yield") else: res = hook_impl.function(*args) if res is not None: results.append(res) if firstresult: # halt further impl calls break except BaseException as exc: exception = exc finally: if firstresult: # first result hooks return a single value result = results[0] if results else None else: result = results  # run all wrapper post-yield blocks for teardown in reversed(teardowns): try: if exception is not None: try: > teardown.throw(exception) __tracebackhide__ = True args = [] caller_kwargs = {'item': } exception = ValueError('Not a valid mypy message') firstresult = False function_gen = hook_impl = > hook_impls = [>] hook_name = 'pytest_runtest_call' res = result = [] results = [] teardown = teardowns = [, , <...object CaptureManager.pytest_runtest_call at 0x7f84f40cdc40>, ] /usr/lib/python3/dist-packages/pluggy/_callers.py:139: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = > _state='suspended' _in_suspended=False> _capture_fixture=None> item = @hookimpl(wrapper=True) def pytest_runtest_call(self, item: Item) -> Generator[None]: with self.item_capture("call", item): > return (yield) item = self = > _state='suspended' _in_suspended=False> _capture_fixture=None> /usr/lib/python3/dist-packages/_pytest/capture.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook_name = 'pytest_runtest_call' hook_impls = [>] caller_kwargs = {'item': } firstresult = False def _multicall( hook_name: str, hook_impls: Sequence[HookImpl], caller_kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]:  """Execute a call into multiple python functions/methods and return the  result(s).   ``caller_kwargs`` comes from HookCaller.__call__().  """ __tracebackhide__ = True results: list[object] = [] exception = None try: # run impl and wrapper setup functions in a loop teardowns: list[Teardown] = [] try: for hook_impl in reversed(hook_impls): try: args = [caller_kwargs[argname] for argname in hook_impl.argnames] except KeyError as e: # coverage bug - this is tested for argname in hook_impl.argnames: # pragma: no cover if argname not in caller_kwargs: raise HookCallError( f"hook call must provide argument {argname!r}" ) from e  if hook_impl.hookwrapper: function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)  next(function_gen) # first yield teardowns.append(function_gen)  elif hook_impl.wrapper: try: # If this cast is not valid, a type error is raised below, # which is the desired response. res = hook_impl.function(*args) function_gen = cast(Generator[None, object, object], res) next(function_gen) # first yield teardowns.append(function_gen) except StopIteration: _raise_wrapfail(function_gen, "did not yield") else: res = hook_impl.function(*args) if res is not None: results.append(res) if firstresult: # halt further impl calls break except BaseException as exc: exception = exc finally: if firstresult: # first result hooks return a single value result = results[0] if results else None else: result = results  # run all wrapper post-yield blocks for teardown in reversed(teardowns): try: if exception is not None: try: > teardown.throw(exception) __tracebackhide__ = True args = [] caller_kwargs = {'item': } exception = ValueError('Not a valid mypy message') firstresult = False function_gen = hook_impl = > hook_impls = [>] hook_name = 'pytest_runtest_call' res = result = [] results = [] teardown = teardowns = [, , <...object CaptureManager.pytest_runtest_call at 0x7f84f40cdc40>, ] /usr/lib/python3/dist-packages/pluggy/_callers.py:139: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ item = @hookimpl(wrapper=True) def pytest_runtest_call(item: Item) -> Generator[None]: xfailed = item.stash.get(xfailed_key, None) if xfailed is None: item.stash[xfailed_key] = xfailed = evaluate_xfail_marks(item)  if xfailed and not item.config.option.runxfail and not xfailed.run: xfail("[NOTRUN] " + xfailed.reason)  try: > return (yield) item = xfailed = None /usr/lib/python3/dist-packages/_pytest/skipping.py:257: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook_name = 'pytest_runtest_call' hook_impls = [>] caller_kwargs = {'item': } firstresult = False def _multicall( hook_name: str, hook_impls: Sequence[HookImpl], caller_kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]:  """Execute a call into multiple python functions/methods and return the  result(s).   ``caller_kwargs`` comes from HookCaller.__call__().  """ __tracebackhide__ = True results: list[object] = [] exception = None try: # run impl and wrapper setup functions in a loop teardowns: list[Teardown] = [] try: for hook_impl in reversed(hook_impls): try: args = [caller_kwargs[argname] for argname in hook_impl.argnames] except KeyError as e: # coverage bug - this is tested for argname in hook_impl.argnames: # pragma: no cover if argname not in caller_kwargs: raise HookCallError( f"hook call must provide argument {argname!r}" ) from e  if hook_impl.hookwrapper: function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)  next(function_gen) # first yield teardowns.append(function_gen)  elif hook_impl.wrapper: try: # If this cast is not valid, a type error is raised below, # which is the desired response. res = hook_impl.function(*args) function_gen = cast(Generator[None, object, object], res) next(function_gen) # first yield teardowns.append(function_gen) except StopIteration: _raise_wrapfail(function_gen, "did not yield") else: > res = hook_impl.function(*args) __tracebackhide__ = True args = [] caller_kwargs = {'item': } exception = ValueError('Not a valid mypy message') firstresult = False function_gen = hook_impl = > hook_impls = [>] hook_name = 'pytest_runtest_call' res = result = [] results = [] teardown = teardowns = [, , <...object CaptureManager.pytest_runtest_call at 0x7f84f40cdc40>, ] /usr/lib/python3/dist-packages/pluggy/_callers.py:121: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ item = def pytest_runtest_call(item: Item) -> None: _update_current_test_var(item, "call") try: del sys.last_type del sys.last_value del sys.last_traceback if sys.version_info >= (3, 12, 0): del sys.last_exc # type:ignore[attr-defined] except AttributeError: pass try: > item.runtest() item = /usr/lib/python3/dist-packages/_pytest/runner.py:174: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def runtest(self) -> None: > returncode, actual_messages = self.parent.run_mypy(self.mypy_item) self = /usr/lib/python3/dist-packages/pytest_mypy_testing/plugin.py:64: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = item = MypyTestItem(name='mypy_int_typing', lineno=348, end_lineno=376, expected_messages=[Message(filename='/build/reproduci..._code='assignment')], func_node=, marks={'mypy_testing'}, actual_messages=[]) def run_mypy(self, item: MypyTestItem) -> Tuple[int, List[Message]]: if self._mypy_result is None: > self._mypy_result = self._run_mypy(self.path) item = MypyTestItem(name='mypy_int_typing', lineno=348, end_lineno=376, expected_messages=[Message(filename='/build/reproduci..._code='assignment')], func_node=, marks={'mypy_testing'}, actual_messages=[]) self = /usr/lib/python3/dist-packages/pytest_mypy_testing/plugin.py:136: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = filename = PosixPath('/build/reproducible-path/traitlets-5.14.3+really5.14.3/.pybuild/cpython3_3.13_traitlets/build/tests/test_typing.py') def _run_mypy(self, filename: Union[pathlib.Path, os.PathLike, str]) -> MypyResult: filename = pathlib.Path(filename) with tempfile.TemporaryDirectory(prefix="pytest-mypy-testing-") as tmp_dir_name: mypy_cache_dir = os.path.join(tmp_dir_name, "mypy_cache") os.makedirs(mypy_cache_dir)  mypy_args = [ "--cache-dir={}".format(mypy_cache_dir), "--check-untyped-defs", "--hide-error-context", "--no-color-output", "--no-error-summary", "--no-pretty", "--soft-error-limit=-1", "--no-silence-site-packages", "--no-warn-unused-configs", "--show-column-numbers", "--show-error-codes", "--show-traceback", str(filename), ]  out, err, returncode = mypy.api.run(mypy_args)  lines = (out + err).splitlines()  file_messages = [ msg > for msg in map(Message.from_output, lines) if (msg.filename == self.mypy_file.filename) and not ( msg.severity is Severity.NOTE and msg.message == "See https://mypy.readthedocs.io/en/stable/running_mypy.html#missing-imports" ) ] err = 'pyproject.toml: [mypy]: python_version: Python 3.8 is not supported (must be 3.9 or higher)\n' filename = PosixPath('/build/reproducible-path/traitlets-5.14.3+really5.14.3/.pybuild/cpython3_3.13_traitlets/build/tests/test_typing.py') lines = ['/usr/lib/python3/dist-packages/mypy/typeshed/stdlib/builtins.pyi:1244:27: error: Class cannot subclass "Any" (has ty...ist-packages/argcomplete/packages/_shlex.py:74:5: error: Function is missing a type annotation [no-untyped-def]', ...] mypy_args = ['--cache-dir=/tmp/pytest-mypy-testing-pgpmskxk/mypy_cache', '--check-untyped-defs', '--hide-error-context', '--no-color-output', '--no-error-summary', '--no-pretty', ...] mypy_cache_dir = '/tmp/pytest-mypy-testing-pgpmskxk/mypy_cache' out = '/usr/lib/python3/dist-packages/mypy/typeshed/stdlib/builtins.pyi:1244:27: error: Class cannot subclass "Any" (has typ...:454:14: error: Incompatible types in assignment (expression has type "None", variable has type "Foo") [assignment]\n' returncode = 1 self = tmp_dir_name = '/tmp/pytest-mypy-testing-pgpmskxk' /usr/lib/python3/dist-packages/pytest_mypy_testing/plugin.py:173: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = line = 'pyproject.toml: [mypy]: python_version: Python 3.8 is not supported (must be 3.9 or higher)' @classmethod def from_output(cls, line: str) -> "Message":  """Create message object from mypy output line.   >>> m = Message.from_output("z.py:1: note: bar")  >>> (m.lineno, m.colno, m.severity, m.message, m.revealed_type, m.error_code)  (1, None, Severity.NOTE, 'bar', None, None)   >>> m = Message.from_output("z.py:1:13: note: bar")  >>> (m.lineno, m.colno, m.severity, m.message, m.revealed_type, m.error_code)  (1, 13, Severity.NOTE, 'bar', None, None)   >>> m = Message.from_output("z.py:1: note: Revealed type is 'bar'")  >>> (m.lineno, m.colno, m.severity, m.message, m.revealed_type, m.error_code)  (1, None, Severity.NOTE, "Revealed type is 'bar'", 'bar', None)   >>> m = Message.from_output('z.py:1: note: Revealed type is "bar"')  >>> (m.lineno, m.colno, m.severity, m.message, m.revealed_type, m.error_code)  (1, None, Severity.NOTE, 'Revealed type is "bar"', 'bar', None)   >>> m = Message.from_output("z.py:1:13: error: bar [baz]")  >>> (m.lineno, m.colno, m.severity, m.message, m.revealed_type, m.error_code)  (1, 13, Severity.ERROR, 'bar', None, 'baz')   """ m = cls.OUTPUT_RE.match(line) if not m: > raise ValueError("Not a valid mypy message") E ValueError: Not a valid mypy message cls = line = 'pyproject.toml: [mypy]: python_version: Python 3.8 is not supported (must be 3.9 or higher)' m = None /usr/lib/python3/dist-packages/pytest_mypy_testing/message.py:295: ValueError ____________________________ [mypy]mypy_cint_typing ____________________________ cls = func = . at 0x7f84f1c3a200> when = 'call' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]:  """Call func, wrapping the result in a CallInfo.   :param func:  The function to call. Called without arguments.  :type func: Callable[[], _pytest.runner.TResult]  :param when:  The phase in which the function is called.  :param reraise:  Exception or exceptions that shall propagate if raised by the  function, instead of being wrapped in the CallInfo.  """ excinfo = None start = timing.time() precise_start = timing.perf_counter() try: > result: TResult | None = func() cls = duration = 29.47749768209178 excinfo = func = . at 0x7f84f1c3a200> precise_start = 551131.185626098 precise_stop = 551160.66312378 reraise = (, ) result = None start = 1790402668.8817778 stop = 1790402698.359279 when = 'call' /usr/lib/python3/dist-packages/_pytest/runner.py:341: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ >  lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise ) item = kwds = {} runtest_hook = /usr/lib/python3/dist-packages/_pytest/runner.py:242: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = kwargs = {'item': } firstresult = False def __call__(self, **kwargs: object) -> Any:  """Call the hook.   Only accepts keyword arguments, which should match the hook  specification.   Returns the result(s) of calling all registered plugins, see  :ref:`calling`.  """ assert not self.is_historic(), ( "Cannot directly call a historic hook - use call_historic instead." ) self._verify_all_args_are_provided(kwargs) firstresult = self.spec.opts.get("firstresult", False) if self.spec else False # Copy because plugins may register other plugins during iteration (#438). > return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) firstresult = False kwargs = {'item': } self = /usr/lib/python3/dist-packages/pluggy/_hooks.py:512: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.config.PytestPluginManager object at 0x7f8521f1f230> hook_name = 'pytest_runtest_call' methods = [>] kwargs = {'item': } firstresult = False def _hookexec( self, hook_name: str, methods: Sequence[HookImpl], kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]: # called from all hookcaller instances. # enable_tracing will set its own wrapping function at self._inner_hookexec > return self._inner_hookexec(hook_name, methods, kwargs, firstresult) firstresult = False hook_name = 'pytest_runtest_call' kwargs = {'item': } methods = [>] self = <_pytest.config.PytestPluginManager object at 0x7f8521f1f230> /usr/lib/python3/dist-packages/pluggy/_manager.py:120: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook_name = 'pytest_runtest_call' hook_impls = [>] caller_kwargs = {'item': } firstresult = False def _multicall( hook_name: str, hook_impls: Sequence[HookImpl], caller_kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]:  """Execute a call into multiple python functions/methods and return the  result(s).   ``caller_kwargs`` comes from HookCaller.__call__().  """ __tracebackhide__ = True results: list[object] = [] exception = None try: # run impl and wrapper setup functions in a loop teardowns: list[Teardown] = [] try: for hook_impl in reversed(hook_impls): try: args = [caller_kwargs[argname] for argname in hook_impl.argnames] except KeyError as e: # coverage bug - this is tested for argname in hook_impl.argnames: # pragma: no cover if argname not in caller_kwargs: raise HookCallError( f"hook call must provide argument {argname!r}" ) from e  if hook_impl.hookwrapper: function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)  next(function_gen) # first yield teardowns.append(function_gen)  elif hook_impl.wrapper: try: # If this cast is not valid, a type error is raised below, # which is the desired response. res = hook_impl.function(*args) function_gen = cast(Generator[None, object, object], res) next(function_gen) # first yield teardowns.append(function_gen) except StopIteration: _raise_wrapfail(function_gen, "did not yield") else: res = hook_impl.function(*args) if res is not None: results.append(res) if firstresult: # halt further impl calls break except BaseException as exc: exception = exc finally: if firstresult: # first result hooks return a single value result = results[0] if results else None else: result = results  # run all wrapper post-yield blocks for teardown in reversed(teardowns): try: if exception is not None: try: teardown.throw(exception) except RuntimeError as re: # StopIteration from generator causes RuntimeError # even for coroutine usage - see #544 if ( isinstance(exception, StopIteration) and re.__cause__ is exception ): teardown.close() continue else: raise else: teardown.send(result) # Following is unreachable for a well behaved hook wrapper. # Try to force finalizers otherwise postponed till GC action. # Note: close() may raise if generator handles GeneratorExit. teardown.close() except StopIteration as si: result = si.value exception = None continue except BaseException as e: exception = e continue _raise_wrapfail(teardown, "has second yield")  if exception is not None: > raise exception __tracebackhide__ = True args = [] caller_kwargs = {'item': } exception = ValueError('Not a valid mypy message') firstresult = False function_gen = hook_impl = > hook_impls = [>] hook_name = 'pytest_runtest_call' res = result = [] results = [] teardown = teardowns = [, , <...object CaptureManager.pytest_runtest_call at 0x7f84eb8cb680>, ] /usr/lib/python3/dist-packages/pluggy/_callers.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook_name = 'pytest_runtest_call' hook_impls = [>] caller_kwargs = {'item': } firstresult = False def _multicall( hook_name: str, hook_impls: Sequence[HookImpl], caller_kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]:  """Execute a call into multiple python functions/methods and return the  result(s).   ``caller_kwargs`` comes from HookCaller.__call__().  """ __tracebackhide__ = True results: list[object] = [] exception = None try: # run impl and wrapper setup functions in a loop teardowns: list[Teardown] = [] try: for hook_impl in reversed(hook_impls): try: args = [caller_kwargs[argname] for argname in hook_impl.argnames] except KeyError as e: # coverage bug - this is tested for argname in hook_impl.argnames: # pragma: no cover if argname not in caller_kwargs: raise HookCallError( f"hook call must provide argument {argname!r}" ) from e  if hook_impl.hookwrapper: function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)  next(function_gen) # first yield teardowns.append(function_gen)  elif hook_impl.wrapper: try: # If this cast is not valid, a type error is raised below, # which is the desired response. res = hook_impl.function(*args) function_gen = cast(Generator[None, object, object], res) next(function_gen) # first yield teardowns.append(function_gen) except StopIteration: _raise_wrapfail(function_gen, "did not yield") else: res = hook_impl.function(*args) if res is not None: results.append(res) if firstresult: # halt further impl calls break except BaseException as exc: exception = exc finally: if firstresult: # first result hooks return a single value result = results[0] if results else None else: result = results  # run all wrapper post-yield blocks for teardown in reversed(teardowns): try: if exception is not None: try: > teardown.throw(exception) __tracebackhide__ = True args = [] caller_kwargs = {'item': } exception = ValueError('Not a valid mypy message') firstresult = False function_gen = hook_impl = > hook_impls = [>] hook_name = 'pytest_runtest_call' res = result = [] results = [] teardown = teardowns = [, , <...object CaptureManager.pytest_runtest_call at 0x7f84eb8cb680>, ] /usr/lib/python3/dist-packages/pluggy/_callers.py:139: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ @pytest.hookimpl(wrapper=True, tryfirst=True) def pytest_runtest_call() -> Generator[None]: > yield from thread_exception_runtest_hook() /usr/lib/python3/dist-packages/_pytest/threadexception.py:92: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def thread_exception_runtest_hook() -> Generator[None]: with catch_threading_exception() as cm: try: > yield cm = <_pytest.threadexception.catch_threading_exception object at 0x7f850fc538f0> /usr/lib/python3/dist-packages/_pytest/threadexception.py:68: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook_name = 'pytest_runtest_call' hook_impls = [>] caller_kwargs = {'item': } firstresult = False def _multicall( hook_name: str, hook_impls: Sequence[HookImpl], caller_kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]:  """Execute a call into multiple python functions/methods and return the  result(s).   ``caller_kwargs`` comes from HookCaller.__call__().  """ __tracebackhide__ = True results: list[object] = [] exception = None try: # run impl and wrapper setup functions in a loop teardowns: list[Teardown] = [] try: for hook_impl in reversed(hook_impls): try: args = [caller_kwargs[argname] for argname in hook_impl.argnames] except KeyError as e: # coverage bug - this is tested for argname in hook_impl.argnames: # pragma: no cover if argname not in caller_kwargs: raise HookCallError( f"hook call must provide argument {argname!r}" ) from e  if hook_impl.hookwrapper: function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)  next(function_gen) # first yield teardowns.append(function_gen)  elif hook_impl.wrapper: try: # If this cast is not valid, a type error is raised below, # which is the desired response. res = hook_impl.function(*args) function_gen = cast(Generator[None, object, object], res) next(function_gen) # first yield teardowns.append(function_gen) except StopIteration: _raise_wrapfail(function_gen, "did not yield") else: res = hook_impl.function(*args) if res is not None: results.append(res) if firstresult: # halt further impl calls break except BaseException as exc: exception = exc finally: if firstresult: # first result hooks return a single value result = results[0] if results else None else: result = results  # run all wrapper post-yield blocks for teardown in reversed(teardowns): try: if exception is not None: try: > teardown.throw(exception) __tracebackhide__ = True args = [] caller_kwargs = {'item': } exception = ValueError('Not a valid mypy message') firstresult = False function_gen = hook_impl = > hook_impls = [>] hook_name = 'pytest_runtest_call' res = result = [] results = [] teardown = teardowns = [, , <...object CaptureManager.pytest_runtest_call at 0x7f84eb8cb680>, ] /usr/lib/python3/dist-packages/pluggy/_callers.py:139: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ @pytest.hookimpl(wrapper=True, tryfirst=True) def pytest_runtest_call() -> Generator[None]: > yield from unraisable_exception_runtest_hook() /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:95: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def unraisable_exception_runtest_hook() -> Generator[None]: with catch_unraisable_exception() as cm: try: > yield cm = <_pytest.unraisableexception.catch_unraisable_exception object at 0x7f84ec0c3710> /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook_name = 'pytest_runtest_call' hook_impls = [>] caller_kwargs = {'item': } firstresult = False def _multicall( hook_name: str, hook_impls: Sequence[HookImpl], caller_kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]:  """Execute a call into multiple python functions/methods and return the  result(s).   ``caller_kwargs`` comes from HookCaller.__call__().  """ __tracebackhide__ = True results: list[object] = [] exception = None try: # run impl and wrapper setup functions in a loop teardowns: list[Teardown] = [] try: for hook_impl in reversed(hook_impls): try: args = [caller_kwargs[argname] for argname in hook_impl.argnames] except KeyError as e: # coverage bug - this is tested for argname in hook_impl.argnames: # pragma: no cover if argname not in caller_kwargs: raise HookCallError( f"hook call must provide argument {argname!r}" ) from e  if hook_impl.hookwrapper: function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)  next(function_gen) # first yield teardowns.append(function_gen)  elif hook_impl.wrapper: try: # If this cast is not valid, a type error is raised below, # which is the desired response. res = hook_impl.function(*args) function_gen = cast(Generator[None, object, object], res) next(function_gen) # first yield teardowns.append(function_gen) except StopIteration: _raise_wrapfail(function_gen, "did not yield") else: res = hook_impl.function(*args) if res is not None: results.append(res) if firstresult: # halt further impl calls break except BaseException as exc: exception = exc finally: if firstresult: # first result hooks return a single value result = results[0] if results else None else: result = results  # run all wrapper post-yield blocks for teardown in reversed(teardowns): try: if exception is not None: try: > teardown.throw(exception) __tracebackhide__ = True args = [] caller_kwargs = {'item': } exception = ValueError('Not a valid mypy message') firstresult = False function_gen = hook_impl = > hook_impls = [>] hook_name = 'pytest_runtest_call' res = result = [] results = [] teardown = teardowns = [, , <...object CaptureManager.pytest_runtest_call at 0x7f84eb8cb680>, ] /usr/lib/python3/dist-packages/pluggy/_callers.py:139: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.logging.LoggingPlugin object at 0x7f851f45e120> item = @hookimpl(wrapper=True) def pytest_runtest_call(self, item: nodes.Item) -> Generator[None]: self.log_cli_handler.set_when("call")  > yield from self._runtest_for(item, "call") item = self = <_pytest.logging.LoggingPlugin object at 0x7f851f45e120> /usr/lib/python3/dist-packages/_pytest/logging.py:846: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.logging.LoggingPlugin object at 0x7f851f45e120> item = , when = 'call' def _runtest_for(self, item: nodes.Item, when: str) -> Generator[None]:  """Implement the internals of the pytest_runtest_xxx() hooks.""" with catching_logs( self.caplog_handler, level=self.log_level, ) as caplog_handler, catching_logs( self.report_handler, level=self.log_level, ) as report_handler: caplog_handler.reset() report_handler.reset() item.stash[caplog_records_key][when] = caplog_handler.records item.stash[caplog_handler_key] = caplog_handler  try: > yield caplog_handler = item = log = '' report_handler = self = <_pytest.logging.LoggingPlugin object at 0x7f851f45e120> when = 'call' /usr/lib/python3/dist-packages/_pytest/logging.py:829: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook_name = 'pytest_runtest_call' hook_impls = [>] caller_kwargs = {'item': } firstresult = False def _multicall( hook_name: str, hook_impls: Sequence[HookImpl], caller_kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]:  """Execute a call into multiple python functions/methods and return the  result(s).   ``caller_kwargs`` comes from HookCaller.__call__().  """ __tracebackhide__ = True results: list[object] = [] exception = None try: # run impl and wrapper setup functions in a loop teardowns: list[Teardown] = [] try: for hook_impl in reversed(hook_impls): try: args = [caller_kwargs[argname] for argname in hook_impl.argnames] except KeyError as e: # coverage bug - this is tested for argname in hook_impl.argnames: # pragma: no cover if argname not in caller_kwargs: raise HookCallError( f"hook call must provide argument {argname!r}" ) from e  if hook_impl.hookwrapper: function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)  next(function_gen) # first yield teardowns.append(function_gen)  elif hook_impl.wrapper: try: # If this cast is not valid, a type error is raised below, # which is the desired response. res = hook_impl.function(*args) function_gen = cast(Generator[None, object, object], res) next(function_gen) # first yield teardowns.append(function_gen) except StopIteration: _raise_wrapfail(function_gen, "did not yield") else: res = hook_impl.function(*args) if res is not None: results.append(res) if firstresult: # halt further impl calls break except BaseException as exc: exception = exc finally: if firstresult: # first result hooks return a single value result = results[0] if results else None else: result = results  # run all wrapper post-yield blocks for teardown in reversed(teardowns): try: if exception is not None: try: > teardown.throw(exception) __tracebackhide__ = True args = [] caller_kwargs = {'item': } exception = ValueError('Not a valid mypy message') firstresult = False function_gen = hook_impl = > hook_impls = [>] hook_name = 'pytest_runtest_call' res = result = [] results = [] teardown = teardowns = [, , <...object CaptureManager.pytest_runtest_call at 0x7f84eb8cb680>, ] /usr/lib/python3/dist-packages/pluggy/_callers.py:139: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = > _state='suspended' _in_suspended=False> _capture_fixture=None> item = @hookimpl(wrapper=True) def pytest_runtest_call(self, item: Item) -> Generator[None]: with self.item_capture("call", item): > return (yield) item = self = > _state='suspended' _in_suspended=False> _capture_fixture=None> /usr/lib/python3/dist-packages/_pytest/capture.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook_name = 'pytest_runtest_call' hook_impls = [>] caller_kwargs = {'item': } firstresult = False def _multicall( hook_name: str, hook_impls: Sequence[HookImpl], caller_kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]:  """Execute a call into multiple python functions/methods and return the  result(s).   ``caller_kwargs`` comes from HookCaller.__call__().  """ __tracebackhide__ = True results: list[object] = [] exception = None try: # run impl and wrapper setup functions in a loop teardowns: list[Teardown] = [] try: for hook_impl in reversed(hook_impls): try: args = [caller_kwargs[argname] for argname in hook_impl.argnames] except KeyError as e: # coverage bug - this is tested for argname in hook_impl.argnames: # pragma: no cover if argname not in caller_kwargs: raise HookCallError( f"hook call must provide argument {argname!r}" ) from e  if hook_impl.hookwrapper: function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)  next(function_gen) # first yield teardowns.append(function_gen)  elif hook_impl.wrapper: try: # If this cast is not valid, a type error is raised below, # which is the desired response. res = hook_impl.function(*args) function_gen = cast(Generator[None, object, object], res) next(function_gen) # first yield teardowns.append(function_gen) except StopIteration: _raise_wrapfail(function_gen, "did not yield") else: res = hook_impl.function(*args) if res is not None: results.append(res) if firstresult: # halt further impl calls break except BaseException as exc: exception = exc finally: if firstresult: # first result hooks return a single value result = results[0] if results else None else: result = results  # run all wrapper post-yield blocks for teardown in reversed(teardowns): try: if exception is not None: try: > teardown.throw(exception) __tracebackhide__ = True args = [] caller_kwargs = {'item': } exception = ValueError('Not a valid mypy message') firstresult = False function_gen = hook_impl = > hook_impls = [>] hook_name = 'pytest_runtest_call' res = result = [] results = [] teardown = teardowns = [, , <...object CaptureManager.pytest_runtest_call at 0x7f84eb8cb680>, ] /usr/lib/python3/dist-packages/pluggy/_callers.py:139: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ item = @hookimpl(wrapper=True) def pytest_runtest_call(item: Item) -> Generator[None]: xfailed = item.stash.get(xfailed_key, None) if xfailed is None: item.stash[xfailed_key] = xfailed = evaluate_xfail_marks(item)  if xfailed and not item.config.option.runxfail and not xfailed.run: xfail("[NOTRUN] " + xfailed.reason)  try: > return (yield) item = xfailed = None /usr/lib/python3/dist-packages/_pytest/skipping.py:257: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook_name = 'pytest_runtest_call' hook_impls = [>] caller_kwargs = {'item': } firstresult = False def _multicall( hook_name: str, hook_impls: Sequence[HookImpl], caller_kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]:  """Execute a call into multiple python functions/methods and return the  result(s).   ``caller_kwargs`` comes from HookCaller.__call__().  """ __tracebackhide__ = True results: list[object] = [] exception = None try: # run impl and wrapper setup functions in a loop teardowns: list[Teardown] = [] try: for hook_impl in reversed(hook_impls): try: args = [caller_kwargs[argname] for argname in hook_impl.argnames] except KeyError as e: # coverage bug - this is tested for argname in hook_impl.argnames: # pragma: no cover if argname not in caller_kwargs: raise HookCallError( f"hook call must provide argument {argname!r}" ) from e  if hook_impl.hookwrapper: function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)  next(function_gen) # first yield teardowns.append(function_gen)  elif hook_impl.wrapper: try: # If this cast is not valid, a type error is raised below, # which is the desired response. res = hook_impl.function(*args) function_gen = cast(Generator[None, object, object], res) next(function_gen) # first yield teardowns.append(function_gen) except StopIteration: _raise_wrapfail(function_gen, "did not yield") else: > res = hook_impl.function(*args) __tracebackhide__ = True args = [] caller_kwargs = {'item': } exception = ValueError('Not a valid mypy message') firstresult = False function_gen = hook_impl = > hook_impls = [>] hook_name = 'pytest_runtest_call' res = result = [] results = [] teardown = teardowns = [, , <...object CaptureManager.pytest_runtest_call at 0x7f84eb8cb680>, ] /usr/lib/python3/dist-packages/pluggy/_callers.py:121: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ item = def pytest_runtest_call(item: Item) -> None: _update_current_test_var(item, "call") try: del sys.last_type del sys.last_value del sys.last_traceback if sys.version_info >= (3, 12, 0): del sys.last_exc # type:ignore[attr-defined] except AttributeError: pass try: > item.runtest() item = /usr/lib/python3/dist-packages/_pytest/runner.py:174: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def runtest(self) -> None: > returncode, actual_messages = self.parent.run_mypy(self.mypy_item) self = /usr/lib/python3/dist-packages/pytest_mypy_testing/plugin.py:64: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = item = MypyTestItem(name='mypy_cint_typing', lineno=379, end_lineno=400, expected_messages=[Message(filename='/build/reproduc...', error_code=None)], func_node=, marks={'mypy_testing'}, actual_messages=[]) def run_mypy(self, item: MypyTestItem) -> Tuple[int, List[Message]]: if self._mypy_result is None: > self._mypy_result = self._run_mypy(self.path) item = MypyTestItem(name='mypy_cint_typing', lineno=379, end_lineno=400, expected_messages=[Message(filename='/build/reproduc...', error_code=None)], func_node=, marks={'mypy_testing'}, actual_messages=[]) self = /usr/lib/python3/dist-packages/pytest_mypy_testing/plugin.py:136: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = filename = PosixPath('/build/reproducible-path/traitlets-5.14.3+really5.14.3/.pybuild/cpython3_3.13_traitlets/build/tests/test_typing.py') def _run_mypy(self, filename: Union[pathlib.Path, os.PathLike, str]) -> MypyResult: filename = pathlib.Path(filename) with tempfile.TemporaryDirectory(prefix="pytest-mypy-testing-") as tmp_dir_name: mypy_cache_dir = os.path.join(tmp_dir_name, "mypy_cache") os.makedirs(mypy_cache_dir)  mypy_args = [ "--cache-dir={}".format(mypy_cache_dir), "--check-untyped-defs", "--hide-error-context", "--no-color-output", "--no-error-summary", "--no-pretty", "--soft-error-limit=-1", "--no-silence-site-packages", "--no-warn-unused-configs", "--show-column-numbers", "--show-error-codes", "--show-traceback", str(filename), ]  out, err, returncode = mypy.api.run(mypy_args)  lines = (out + err).splitlines()  file_messages = [ msg > for msg in map(Message.from_output, lines) if (msg.filename == self.mypy_file.filename) and not ( msg.severity is Severity.NOTE and msg.message == "See https://mypy.readthedocs.io/en/stable/running_mypy.html#missing-imports" ) ] err = 'pyproject.toml: [mypy]: python_version: Python 3.8 is not supported (must be 3.9 or higher)\n' filename = PosixPath('/build/reproducible-path/traitlets-5.14.3+really5.14.3/.pybuild/cpython3_3.13_traitlets/build/tests/test_typing.py') lines = ['/usr/lib/python3/dist-packages/mypy/typeshed/stdlib/builtins.pyi:1244:27: error: Class cannot subclass "Any" (has ty...ist-packages/argcomplete/packages/_shlex.py:74:5: error: Function is missing a type annotation [no-untyped-def]', ...] mypy_args = ['--cache-dir=/tmp/pytest-mypy-testing-cyvnbtfk/mypy_cache', '--check-untyped-defs', '--hide-error-context', '--no-color-output', '--no-error-summary', '--no-pretty', ...] mypy_cache_dir = '/tmp/pytest-mypy-testing-cyvnbtfk/mypy_cache' out = '/usr/lib/python3/dist-packages/mypy/typeshed/stdlib/builtins.pyi:1244:27: error: Class cannot subclass "Any" (has typ...:454:14: error: Incompatible types in assignment (expression has type "None", variable has type "Foo") [assignment]\n' returncode = 1 self = tmp_dir_name = '/tmp/pytest-mypy-testing-cyvnbtfk' /usr/lib/python3/dist-packages/pytest_mypy_testing/plugin.py:173: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = line = 'pyproject.toml: [mypy]: python_version: Python 3.8 is not supported (must be 3.9 or higher)' @classmethod def from_output(cls, line: str) -> "Message":  """Create message object from mypy output line.   >>> m = Message.from_output("z.py:1: note: bar")  >>> (m.lineno, m.colno, m.severity, m.message, m.revealed_type, m.error_code)  (1, None, Severity.NOTE, 'bar', None, None)   >>> m = Message.from_output("z.py:1:13: note: bar")  >>> (m.lineno, m.colno, m.severity, m.message, m.revealed_type, m.error_code)  (1, 13, Severity.NOTE, 'bar', None, None)   >>> m = Message.from_output("z.py:1: note: Revealed type is 'bar'")  >>> (m.lineno, m.colno, m.severity, m.message, m.revealed_type, m.error_code)  (1, None, Severity.NOTE, "Revealed type is 'bar'", 'bar', None)   >>> m = Message.from_output('z.py:1: note: Revealed type is "bar"')  >>> (m.lineno, m.colno, m.severity, m.message, m.revealed_type, m.error_code)  (1, None, Severity.NOTE, 'Revealed type is "bar"', 'bar', None)   >>> m = Message.from_output("z.py:1:13: error: bar [baz]")  >>> (m.lineno, m.colno, m.severity, m.message, m.revealed_type, m.error_code)  (1, 13, Severity.ERROR, 'bar', None, 'baz')   """ m = cls.OUTPUT_RE.match(line) if not m: > raise ValueError("Not a valid mypy message") E ValueError: Not a valid mypy message cls = line = 'pyproject.toml: [mypy]: python_version: Python 3.8 is not supported (must be 3.9 or higher)' m = None /usr/lib/python3/dist-packages/pytest_mypy_testing/message.py:295: ValueError ____________________________ [mypy]mypy_tcp_typing _____________________________ cls = func = . at 0x7f851a808cc0> when = 'call' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]:  """Call func, wrapping the result in a CallInfo.   :param func:  The function to call. Called without arguments.  :type func: Callable[[], _pytest.runner.TResult]  :param when:  The phase in which the function is called.  :param reraise:  Exception or exceptions that shall propagate if raised by the  function, instead of being wrapped in the CallInfo.  """ excinfo = None start = timing.time() precise_start = timing.perf_counter() try: > result: TResult | None = func() cls = duration = 25.68744779995177 excinfo = func = . at 0x7f851a808cc0> precise_start = 551160.88307468 precise_stop = 551186.57052248 reraise = (, ) result = None start = 1790402698.5792258 stop = 1790402724.266677 when = 'call' /usr/lib/python3/dist-packages/_pytest/runner.py:341: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ >  lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise ) item = kwds = {} runtest_hook = /usr/lib/python3/dist-packages/_pytest/runner.py:242: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = kwargs = {'item': } firstresult = False def __call__(self, **kwargs: object) -> Any:  """Call the hook.   Only accepts keyword arguments, which should match the hook  specification.   Returns the result(s) of calling all registered plugins, see  :ref:`calling`.  """ assert not self.is_historic(), ( "Cannot directly call a historic hook - use call_historic instead." ) self._verify_all_args_are_provided(kwargs) firstresult = self.spec.opts.get("firstresult", False) if self.spec else False # Copy because plugins may register other plugins during iteration (#438). > return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) firstresult = False kwargs = {'item': } self = /usr/lib/python3/dist-packages/pluggy/_hooks.py:512: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.config.PytestPluginManager object at 0x7f8521f1f230> hook_name = 'pytest_runtest_call' methods = [>] kwargs = {'item': } firstresult = False def _hookexec( self, hook_name: str, methods: Sequence[HookImpl], kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]: # called from all hookcaller instances. # enable_tracing will set its own wrapping function at self._inner_hookexec > return self._inner_hookexec(hook_name, methods, kwargs, firstresult) firstresult = False hook_name = 'pytest_runtest_call' kwargs = {'item': } methods = [>] self = <_pytest.config.PytestPluginManager object at 0x7f8521f1f230> /usr/lib/python3/dist-packages/pluggy/_manager.py:120: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook_name = 'pytest_runtest_call' hook_impls = [>] caller_kwargs = {'item': } firstresult = False def _multicall( hook_name: str, hook_impls: Sequence[HookImpl], caller_kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]:  """Execute a call into multiple python functions/methods and return the  result(s).   ``caller_kwargs`` comes from HookCaller.__call__().  """ __tracebackhide__ = True results: list[object] = [] exception = None try: # run impl and wrapper setup functions in a loop teardowns: list[Teardown] = [] try: for hook_impl in reversed(hook_impls): try: args = [caller_kwargs[argname] for argname in hook_impl.argnames] except KeyError as e: # coverage bug - this is tested for argname in hook_impl.argnames: # pragma: no cover if argname not in caller_kwargs: raise HookCallError( f"hook call must provide argument {argname!r}" ) from e  if hook_impl.hookwrapper: function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)  next(function_gen) # first yield teardowns.append(function_gen)  elif hook_impl.wrapper: try: # If this cast is not valid, a type error is raised below, # which is the desired response. res = hook_impl.function(*args) function_gen = cast(Generator[None, object, object], res) next(function_gen) # first yield teardowns.append(function_gen) except StopIteration: _raise_wrapfail(function_gen, "did not yield") else: res = hook_impl.function(*args) if res is not None: results.append(res) if firstresult: # halt further impl calls break except BaseException as exc: exception = exc finally: if firstresult: # first result hooks return a single value result = results[0] if results else None else: result = results  # run all wrapper post-yield blocks for teardown in reversed(teardowns): try: if exception is not None: try: teardown.throw(exception) except RuntimeError as re: # StopIteration from generator causes RuntimeError # even for coroutine usage - see #544 if ( isinstance(exception, StopIteration) and re.__cause__ is exception ): teardown.close() continue else: raise else: teardown.send(result) # Following is unreachable for a well behaved hook wrapper. # Try to force finalizers otherwise postponed till GC action. # Note: close() may raise if generator handles GeneratorExit. teardown.close() except StopIteration as si: result = si.value exception = None continue except BaseException as e: exception = e continue _raise_wrapfail(teardown, "has second yield")  if exception is not None: > raise exception __tracebackhide__ = True args = [] caller_kwargs = {'item': } exception = ValueError('Not a valid mypy message') firstresult = False function_gen = hook_impl = > hook_impls = [>] hook_name = 'pytest_runtest_call' res = result = [] results = [] teardown = teardowns = [, , <...object CaptureManager.pytest_runtest_call at 0x7f84ea6403c0>, ] /usr/lib/python3/dist-packages/pluggy/_callers.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook_name = 'pytest_runtest_call' hook_impls = [>] caller_kwargs = {'item': } firstresult = False def _multicall( hook_name: str, hook_impls: Sequence[HookImpl], caller_kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]:  """Execute a call into multiple python functions/methods and return the  result(s).   ``caller_kwargs`` comes from HookCaller.__call__().  """ __tracebackhide__ = True results: list[object] = [] exception = None try: # run impl and wrapper setup functions in a loop teardowns: list[Teardown] = [] try: for hook_impl in reversed(hook_impls): try: args = [caller_kwargs[argname] for argname in hook_impl.argnames] except KeyError as e: # coverage bug - this is tested for argname in hook_impl.argnames: # pragma: no cover if argname not in caller_kwargs: raise HookCallError( f"hook call must provide argument {argname!r}" ) from e  if hook_impl.hookwrapper: function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)  next(function_gen) # first yield teardowns.append(function_gen)  elif hook_impl.wrapper: try: # If this cast is not valid, a type error is raised below, # which is the desired response. res = hook_impl.function(*args) function_gen = cast(Generator[None, object, object], res) next(function_gen) # first yield teardowns.append(function_gen) except StopIteration: _raise_wrapfail(function_gen, "did not yield") else: res = hook_impl.function(*args) if res is not None: results.append(res) if firstresult: # halt further impl calls break except BaseException as exc: exception = exc finally: if firstresult: # first result hooks return a single value result = results[0] if results else None else: result = results  # run all wrapper post-yield blocks for teardown in reversed(teardowns): try: if exception is not None: try: > teardown.throw(exception) __tracebackhide__ = True args = [] caller_kwargs = {'item': } exception = ValueError('Not a valid mypy message') firstresult = False function_gen = hook_impl = > hook_impls = [>] hook_name = 'pytest_runtest_call' res = result = [] results = [] teardown = teardowns = [, , <...object CaptureManager.pytest_runtest_call at 0x7f84ea6403c0>, ] /usr/lib/python3/dist-packages/pluggy/_callers.py:139: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ @pytest.hookimpl(wrapper=True, tryfirst=True) def pytest_runtest_call() -> Generator[None]: > yield from thread_exception_runtest_hook() /usr/lib/python3/dist-packages/_pytest/threadexception.py:92: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def thread_exception_runtest_hook() -> Generator[None]: with catch_threading_exception() as cm: try: > yield cm = <_pytest.threadexception.catch_threading_exception object at 0x7f850f7a8cb0> /usr/lib/python3/dist-packages/_pytest/threadexception.py:68: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook_name = 'pytest_runtest_call' hook_impls = [>] caller_kwargs = {'item': } firstresult = False def _multicall( hook_name: str, hook_impls: Sequence[HookImpl], caller_kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]:  """Execute a call into multiple python functions/methods and return the  result(s).   ``caller_kwargs`` comes from HookCaller.__call__().  """ __tracebackhide__ = True results: list[object] = [] exception = None try: # run impl and wrapper setup functions in a loop teardowns: list[Teardown] = [] try: for hook_impl in reversed(hook_impls): try: args = [caller_kwargs[argname] for argname in hook_impl.argnames] except KeyError as e: # coverage bug - this is tested for argname in hook_impl.argnames: # pragma: no cover if argname not in caller_kwargs: raise HookCallError( f"hook call must provide argument {argname!r}" ) from e  if hook_impl.hookwrapper: function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)  next(function_gen) # first yield teardowns.append(function_gen)  elif hook_impl.wrapper: try: # If this cast is not valid, a type error is raised below, # which is the desired response. res = hook_impl.function(*args) function_gen = cast(Generator[None, object, object], res) next(function_gen) # first yield teardowns.append(function_gen) except StopIteration: _raise_wrapfail(function_gen, "did not yield") else: res = hook_impl.function(*args) if res is not None: results.append(res) if firstresult: # halt further impl calls break except BaseException as exc: exception = exc finally: if firstresult: # first result hooks return a single value result = results[0] if results else None else: result = results  # run all wrapper post-yield blocks for teardown in reversed(teardowns): try: if exception is not None: try: > teardown.throw(exception) __tracebackhide__ = True args = [] caller_kwargs = {'item': } exception = ValueError('Not a valid mypy message') firstresult = False function_gen = hook_impl = > hook_impls = [>] hook_name = 'pytest_runtest_call' res = result = [] results = [] teardown = teardowns = [, , <...object CaptureManager.pytest_runtest_call at 0x7f84ea6403c0>, ] /usr/lib/python3/dist-packages/pluggy/_callers.py:139: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ @pytest.hookimpl(wrapper=True, tryfirst=True) def pytest_runtest_call() -> Generator[None]: > yield from unraisable_exception_runtest_hook() /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:95: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def unraisable_exception_runtest_hook() -> Generator[None]: with catch_unraisable_exception() as cm: try: > yield cm = <_pytest.unraisableexception.catch_unraisable_exception object at 0x7f85073e1b50> /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook_name = 'pytest_runtest_call' hook_impls = [>] caller_kwargs = {'item': } firstresult = False def _multicall( hook_name: str, hook_impls: Sequence[HookImpl], caller_kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]:  """Execute a call into multiple python functions/methods and return the  result(s).   ``caller_kwargs`` comes from HookCaller.__call__().  """ __tracebackhide__ = True results: list[object] = [] exception = None try: # run impl and wrapper setup functions in a loop teardowns: list[Teardown] = [] try: for hook_impl in reversed(hook_impls): try: args = [caller_kwargs[argname] for argname in hook_impl.argnames] except KeyError as e: # coverage bug - this is tested for argname in hook_impl.argnames: # pragma: no cover if argname not in caller_kwargs: raise HookCallError( f"hook call must provide argument {argname!r}" ) from e  if hook_impl.hookwrapper: function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)  next(function_gen) # first yield teardowns.append(function_gen)  elif hook_impl.wrapper: try: # If this cast is not valid, a type error is raised below, # which is the desired response. res = hook_impl.function(*args) function_gen = cast(Generator[None, object, object], res) next(function_gen) # first yield teardowns.append(function_gen) except StopIteration: _raise_wrapfail(function_gen, "did not yield") else: res = hook_impl.function(*args) if res is not None: results.append(res) if firstresult: # halt further impl calls break except BaseException as exc: exception = exc finally: if firstresult: # first result hooks return a single value result = results[0] if results else None else: result = results  # run all wrapper post-yield blocks for teardown in reversed(teardowns): try: if exception is not None: try: > teardown.throw(exception) __tracebackhide__ = True args = [] caller_kwargs = {'item': } exception = ValueError('Not a valid mypy message') firstresult = False function_gen = hook_impl = > hook_impls = [>] hook_name = 'pytest_runtest_call' res = result = [] results = [] teardown = teardowns = [, , <...object CaptureManager.pytest_runtest_call at 0x7f84ea6403c0>, ] /usr/lib/python3/dist-packages/pluggy/_callers.py:139: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.logging.LoggingPlugin object at 0x7f851f45e120> item = @hookimpl(wrapper=True) def pytest_runtest_call(self, item: nodes.Item) -> Generator[None]: self.log_cli_handler.set_when("call")  > yield from self._runtest_for(item, "call") item = self = <_pytest.logging.LoggingPlugin object at 0x7f851f45e120> /usr/lib/python3/dist-packages/_pytest/logging.py:846: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.logging.LoggingPlugin object at 0x7f851f45e120> item = , when = 'call' def _runtest_for(self, item: nodes.Item, when: str) -> Generator[None]:  """Implement the internals of the pytest_runtest_xxx() hooks.""" with catching_logs( self.caplog_handler, level=self.log_level, ) as caplog_handler, catching_logs( self.report_handler, level=self.log_level, ) as report_handler: caplog_handler.reset() report_handler.reset() item.stash[caplog_records_key][when] = caplog_handler.records item.stash[caplog_handler_key] = caplog_handler  try: > yield caplog_handler = item = log = '' report_handler = self = <_pytest.logging.LoggingPlugin object at 0x7f851f45e120> when = 'call' /usr/lib/python3/dist-packages/_pytest/logging.py:829: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook_name = 'pytest_runtest_call' hook_impls = [>] caller_kwargs = {'item': } firstresult = False def _multicall( hook_name: str, hook_impls: Sequence[HookImpl], caller_kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]:  """Execute a call into multiple python functions/methods and return the  result(s).   ``caller_kwargs`` comes from HookCaller.__call__().  """ __tracebackhide__ = True results: list[object] = [] exception = None try: # run impl and wrapper setup functions in a loop teardowns: list[Teardown] = [] try: for hook_impl in reversed(hook_impls): try: args = [caller_kwargs[argname] for argname in hook_impl.argnames] except KeyError as e: # coverage bug - this is tested for argname in hook_impl.argnames: # pragma: no cover if argname not in caller_kwargs: raise HookCallError( f"hook call must provide argument {argname!r}" ) from e  if hook_impl.hookwrapper: function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)  next(function_gen) # first yield teardowns.append(function_gen)  elif hook_impl.wrapper: try: # If this cast is not valid, a type error is raised below, # which is the desired response. res = hook_impl.function(*args) function_gen = cast(Generator[None, object, object], res) next(function_gen) # first yield teardowns.append(function_gen) except StopIteration: _raise_wrapfail(function_gen, "did not yield") else: res = hook_impl.function(*args) if res is not None: results.append(res) if firstresult: # halt further impl calls break except BaseException as exc: exception = exc finally: if firstresult: # first result hooks return a single value result = results[0] if results else None else: result = results  # run all wrapper post-yield blocks for teardown in reversed(teardowns): try: if exception is not None: try: > teardown.throw(exception) __tracebackhide__ = True args = [] caller_kwargs = {'item': } exception = ValueError('Not a valid mypy message') firstresult = False function_gen = hook_impl = > hook_impls = [>] hook_name = 'pytest_runtest_call' res = result = [] results = [] teardown = teardowns = [, , <...object CaptureManager.pytest_runtest_call at 0x7f84ea6403c0>, ] /usr/lib/python3/dist-packages/pluggy/_callers.py:139: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = > _state='suspended' _in_suspended=False> _capture_fixture=None> item = @hookimpl(wrapper=True) def pytest_runtest_call(self, item: Item) -> Generator[None]: with self.item_capture("call", item): > return (yield) item = self = > _state='suspended' _in_suspended=False> _capture_fixture=None> /usr/lib/python3/dist-packages/_pytest/capture.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook_name = 'pytest_runtest_call' hook_impls = [>] caller_kwargs = {'item': } firstresult = False def _multicall( hook_name: str, hook_impls: Sequence[HookImpl], caller_kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]:  """Execute a call into multiple python functions/methods and return the  result(s).   ``caller_kwargs`` comes from HookCaller.__call__().  """ __tracebackhide__ = True results: list[object] = [] exception = None try: # run impl and wrapper setup functions in a loop teardowns: list[Teardown] = [] try: for hook_impl in reversed(hook_impls): try: args = [caller_kwargs[argname] for argname in hook_impl.argnames] except KeyError as e: # coverage bug - this is tested for argname in hook_impl.argnames: # pragma: no cover if argname not in caller_kwargs: raise HookCallError( f"hook call must provide argument {argname!r}" ) from e  if hook_impl.hookwrapper: function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)  next(function_gen) # first yield teardowns.append(function_gen)  elif hook_impl.wrapper: try: # If this cast is not valid, a type error is raised below, # which is the desired response. res = hook_impl.function(*args) function_gen = cast(Generator[None, object, object], res) next(function_gen) # first yield teardowns.append(function_gen) except StopIteration: _raise_wrapfail(function_gen, "did not yield") else: res = hook_impl.function(*args) if res is not None: results.append(res) if firstresult: # halt further impl calls break except BaseException as exc: exception = exc finally: if firstresult: # first result hooks return a single value result = results[0] if results else None else: result = results  # run all wrapper post-yield blocks for teardown in reversed(teardowns): try: if exception is not None: try: > teardown.throw(exception) __tracebackhide__ = True args = [] caller_kwargs = {'item': } exception = ValueError('Not a valid mypy message') firstresult = False function_gen = hook_impl = > hook_impls = [>] hook_name = 'pytest_runtest_call' res = result = [] results = [] teardown = teardowns = [, , <...object CaptureManager.pytest_runtest_call at 0x7f84ea6403c0>, ] /usr/lib/python3/dist-packages/pluggy/_callers.py:139: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ item = @hookimpl(wrapper=True) def pytest_runtest_call(item: Item) -> Generator[None]: xfailed = item.stash.get(xfailed_key, None) if xfailed is None: item.stash[xfailed_key] = xfailed = evaluate_xfail_marks(item)  if xfailed and not item.config.option.runxfail and not xfailed.run: xfail("[NOTRUN] " + xfailed.reason)  try: > return (yield) item = xfailed = None /usr/lib/python3/dist-packages/_pytest/skipping.py:257: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook_name = 'pytest_runtest_call' hook_impls = [>] caller_kwargs = {'item': } firstresult = False def _multicall( hook_name: str, hook_impls: Sequence[HookImpl], caller_kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]:  """Execute a call into multiple python functions/methods and return the  result(s).   ``caller_kwargs`` comes from HookCaller.__call__().  """ __tracebackhide__ = True results: list[object] = [] exception = None try: # run impl and wrapper setup functions in a loop teardowns: list[Teardown] = [] try: for hook_impl in reversed(hook_impls): try: args = [caller_kwargs[argname] for argname in hook_impl.argnames] except KeyError as e: # coverage bug - this is tested for argname in hook_impl.argnames: # pragma: no cover if argname not in caller_kwargs: raise HookCallError( f"hook call must provide argument {argname!r}" ) from e  if hook_impl.hookwrapper: function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)  next(function_gen) # first yield teardowns.append(function_gen)  elif hook_impl.wrapper: try: # If this cast is not valid, a type error is raised below, # which is the desired response. res = hook_impl.function(*args) function_gen = cast(Generator[None, object, object], res) next(function_gen) # first yield teardowns.append(function_gen) except StopIteration: _raise_wrapfail(function_gen, "did not yield") else: > res = hook_impl.function(*args) __tracebackhide__ = True args = [] caller_kwargs = {'item': } exception = ValueError('Not a valid mypy message') firstresult = False function_gen = hook_impl = > hook_impls = [>] hook_name = 'pytest_runtest_call' res = result = [] results = [] teardown = teardowns = [, , <...object CaptureManager.pytest_runtest_call at 0x7f84ea6403c0>, ] /usr/lib/python3/dist-packages/pluggy/_callers.py:121: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ item = def pytest_runtest_call(item: Item) -> None: _update_current_test_var(item, "call") try: del sys.last_type del sys.last_value del sys.last_traceback if sys.version_info >= (3, 12, 0): del sys.last_exc # type:ignore[attr-defined] except AttributeError: pass try: > item.runtest() item = /usr/lib/python3/dist-packages/_pytest/runner.py:174: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def runtest(self) -> None: > returncode, actual_messages = self.parent.run_mypy(self.mypy_item) self = /usr/lib/python3/dist-packages/pytest_mypy_testing/plugin.py:64: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = item = MypyTestItem(name='mypy_tcp_typing', lineno=403, end_lineno=430, expected_messages=[Message(filename='/build/reproduci..._code='assignment')], func_node=, marks={'mypy_testing'}, actual_messages=[]) def run_mypy(self, item: MypyTestItem) -> Tuple[int, List[Message]]: if self._mypy_result is None: > self._mypy_result = self._run_mypy(self.path) item = MypyTestItem(name='mypy_tcp_typing', lineno=403, end_lineno=430, expected_messages=[Message(filename='/build/reproduci..._code='assignment')], func_node=, marks={'mypy_testing'}, actual_messages=[]) self = /usr/lib/python3/dist-packages/pytest_mypy_testing/plugin.py:136: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = filename = PosixPath('/build/reproducible-path/traitlets-5.14.3+really5.14.3/.pybuild/cpython3_3.13_traitlets/build/tests/test_typing.py') def _run_mypy(self, filename: Union[pathlib.Path, os.PathLike, str]) -> MypyResult: filename = pathlib.Path(filename) with tempfile.TemporaryDirectory(prefix="pytest-mypy-testing-") as tmp_dir_name: mypy_cache_dir = os.path.join(tmp_dir_name, "mypy_cache") os.makedirs(mypy_cache_dir)  mypy_args = [ "--cache-dir={}".format(mypy_cache_dir), "--check-untyped-defs", "--hide-error-context", "--no-color-output", "--no-error-summary", "--no-pretty", "--soft-error-limit=-1", "--no-silence-site-packages", "--no-warn-unused-configs", "--show-column-numbers", "--show-error-codes", "--show-traceback", str(filename), ]  out, err, returncode = mypy.api.run(mypy_args)  lines = (out + err).splitlines()  file_messages = [ msg > for msg in map(Message.from_output, lines) if (msg.filename == self.mypy_file.filename) and not ( msg.severity is Severity.NOTE and msg.message == "See https://mypy.readthedocs.io/en/stable/running_mypy.html#missing-imports" ) ] err = 'pyproject.toml: [mypy]: python_version: Python 3.8 is not supported (must be 3.9 or higher)\n' filename = PosixPath('/build/reproducible-path/traitlets-5.14.3+really5.14.3/.pybuild/cpython3_3.13_traitlets/build/tests/test_typing.py') lines = ['/usr/lib/python3/dist-packages/mypy/typeshed/stdlib/builtins.pyi:1244:27: error: Class cannot subclass "Any" (has ty...ist-packages/argcomplete/packages/_shlex.py:74:5: error: Function is missing a type annotation [no-untyped-def]', ...] mypy_args = ['--cache-dir=/tmp/pytest-mypy-testing-x7i06ayq/mypy_cache', '--check-untyped-defs', '--hide-error-context', '--no-color-output', '--no-error-summary', '--no-pretty', ...] mypy_cache_dir = '/tmp/pytest-mypy-testing-x7i06ayq/mypy_cache' out = '/usr/lib/python3/dist-packages/mypy/typeshed/stdlib/builtins.pyi:1244:27: error: Class cannot subclass "Any" (has typ...:454:14: error: Incompatible types in assignment (expression has type "None", variable has type "Foo") [assignment]\n' returncode = 1 self = tmp_dir_name = '/tmp/pytest-mypy-testing-x7i06ayq' /usr/lib/python3/dist-packages/pytest_mypy_testing/plugin.py:173: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = line = 'pyproject.toml: [mypy]: python_version: Python 3.8 is not supported (must be 3.9 or higher)' @classmethod def from_output(cls, line: str) -> "Message":  """Create message object from mypy output line.   >>> m = Message.from_output("z.py:1: note: bar")  >>> (m.lineno, m.colno, m.severity, m.message, m.revealed_type, m.error_code)  (1, None, Severity.NOTE, 'bar', None, None)   >>> m = Message.from_output("z.py:1:13: note: bar")  >>> (m.lineno, m.colno, m.severity, m.message, m.revealed_type, m.error_code)  (1, 13, Severity.NOTE, 'bar', None, None)   >>> m = Message.from_output("z.py:1: note: Revealed type is 'bar'")  >>> (m.lineno, m.colno, m.severity, m.message, m.revealed_type, m.error_code)  (1, None, Severity.NOTE, "Revealed type is 'bar'", 'bar', None)   >>> m = Message.from_output('z.py:1: note: Revealed type is "bar"')  >>> (m.lineno, m.colno, m.severity, m.message, m.revealed_type, m.error_code)  (1, None, Severity.NOTE, 'Revealed type is "bar"', 'bar', None)   >>> m = Message.from_output("z.py:1:13: error: bar [baz]")  >>> (m.lineno, m.colno, m.severity, m.message, m.revealed_type, m.error_code)  (1, 13, Severity.ERROR, 'bar', None, 'baz')   """ m = cls.OUTPUT_RE.match(line) if not m: > raise ValueError("Not a valid mypy message") E ValueError: Not a valid mypy message cls = line = 'pyproject.toml: [mypy]: python_version: Python 3.8 is not supported (must be 3.9 or higher)' m = None /usr/lib/python3/dist-packages/pytest_mypy_testing/message.py:295: ValueError __________________________ [mypy]mypy_instance_typing __________________________ cls = func = . at 0x7f8505cb5b20> when = 'call' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]:  """Call func, wrapping the result in a CallInfo.   :param func:  The function to call. Called without arguments.  :type func: Callable[[], _pytest.runner.TResult]  :param when:  The phase in which the function is called.  :param reraise:  Exception or exceptions that shall propagate if raised by the  function, instead of being wrapped in the CallInfo.  """ excinfo = None start = timing.time() precise_start = timing.perf_counter() try: > result: TResult | None = func() cls = duration = 32.00574734190013 excinfo = func = . at 0x7f8505cb5b20> precise_start = 551186.861706 precise_stop = 551218.867453342 reraise = (, ) result = None start = 1790402724.5578573 stop = 1790402756.563609 when = 'call' /usr/lib/python3/dist-packages/_pytest/runner.py:341: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ >  lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise ) item = kwds = {} runtest_hook = /usr/lib/python3/dist-packages/_pytest/runner.py:242: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = kwargs = {'item': } firstresult = False def __call__(self, **kwargs: object) -> Any:  """Call the hook.   Only accepts keyword arguments, which should match the hook  specification.   Returns the result(s) of calling all registered plugins, see  :ref:`calling`.  """ assert not self.is_historic(), ( "Cannot directly call a historic hook - use call_historic instead." ) self._verify_all_args_are_provided(kwargs) firstresult = self.spec.opts.get("firstresult", False) if self.spec else False # Copy because plugins may register other plugins during iteration (#438). > return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) firstresult = False kwargs = {'item': } self = /usr/lib/python3/dist-packages/pluggy/_hooks.py:512: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.config.PytestPluginManager object at 0x7f8521f1f230> hook_name = 'pytest_runtest_call' methods = [>] kwargs = {'item': } firstresult = False def _hookexec( self, hook_name: str, methods: Sequence[HookImpl], kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]: # called from all hookcaller instances. # enable_tracing will set its own wrapping function at self._inner_hookexec > return self._inner_hookexec(hook_name, methods, kwargs, firstresult) firstresult = False hook_name = 'pytest_runtest_call' kwargs = {'item': } methods = [>] self = <_pytest.config.PytestPluginManager object at 0x7f8521f1f230> /usr/lib/python3/dist-packages/pluggy/_manager.py:120: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook_name = 'pytest_runtest_call' hook_impls = [>] caller_kwargs = {'item': } firstresult = False def _multicall( hook_name: str, hook_impls: Sequence[HookImpl], caller_kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]:  """Execute a call into multiple python functions/methods and return the  result(s).   ``caller_kwargs`` comes from HookCaller.__call__().  """ __tracebackhide__ = True results: list[object] = [] exception = None try: # run impl and wrapper setup functions in a loop teardowns: list[Teardown] = [] try: for hook_impl in reversed(hook_impls): try: args = [caller_kwargs[argname] for argname in hook_impl.argnames] except KeyError as e: # coverage bug - this is tested for argname in hook_impl.argnames: # pragma: no cover if argname not in caller_kwargs: raise HookCallError( f"hook call must provide argument {argname!r}" ) from e  if hook_impl.hookwrapper: function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)  next(function_gen) # first yield teardowns.append(function_gen)  elif hook_impl.wrapper: try: # If this cast is not valid, a type error is raised below, # which is the desired response. res = hook_impl.function(*args) function_gen = cast(Generator[None, object, object], res) next(function_gen) # first yield teardowns.append(function_gen) except StopIteration: _raise_wrapfail(function_gen, "did not yield") else: res = hook_impl.function(*args) if res is not None: results.append(res) if firstresult: # halt further impl calls break except BaseException as exc: exception = exc finally: if firstresult: # first result hooks return a single value result = results[0] if results else None else: result = results  # run all wrapper post-yield blocks for teardown in reversed(teardowns): try: if exception is not None: try: teardown.throw(exception) except RuntimeError as re: # StopIteration from generator causes RuntimeError # even for coroutine usage - see #544 if ( isinstance(exception, StopIteration) and re.__cause__ is exception ): teardown.close() continue else: raise else: teardown.send(result) # Following is unreachable for a well behaved hook wrapper. # Try to force finalizers otherwise postponed till GC action. # Note: close() may raise if generator handles GeneratorExit. teardown.close() except StopIteration as si: result = si.value exception = None continue except BaseException as e: exception = e continue _raise_wrapfail(teardown, "has second yield")  if exception is not None: > raise exception __tracebackhide__ = True args = [] caller_kwargs = {'item': } exception = ValueError('Not a valid mypy message') firstresult = False function_gen = hook_impl = > hook_impls = [>] hook_name = 'pytest_runtest_call' res = result = [] results = [] teardown = teardowns = [, , <...object CaptureManager.pytest_runtest_call at 0x7f84faadda80>, ] /usr/lib/python3/dist-packages/pluggy/_callers.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook_name = 'pytest_runtest_call' hook_impls = [>] caller_kwargs = {'item': } firstresult = False def _multicall( hook_name: str, hook_impls: Sequence[HookImpl], caller_kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]:  """Execute a call into multiple python functions/methods and return the  result(s).   ``caller_kwargs`` comes from HookCaller.__call__().  """ __tracebackhide__ = True results: list[object] = [] exception = None try: # run impl and wrapper setup functions in a loop teardowns: list[Teardown] = [] try: for hook_impl in reversed(hook_impls): try: args = [caller_kwargs[argname] for argname in hook_impl.argnames] except KeyError as e: # coverage bug - this is tested for argname in hook_impl.argnames: # pragma: no cover if argname not in caller_kwargs: raise HookCallError( f"hook call must provide argument {argname!r}" ) from e  if hook_impl.hookwrapper: function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)  next(function_gen) # first yield teardowns.append(function_gen)  elif hook_impl.wrapper: try: # If this cast is not valid, a type error is raised below, # which is the desired response. res = hook_impl.function(*args) function_gen = cast(Generator[None, object, object], res) next(function_gen) # first yield teardowns.append(function_gen) except StopIteration: _raise_wrapfail(function_gen, "did not yield") else: res = hook_impl.function(*args) if res is not None: results.append(res) if firstresult: # halt further impl calls break except BaseException as exc: exception = exc finally: if firstresult: # first result hooks return a single value result = results[0] if results else None else: result = results  # run all wrapper post-yield blocks for teardown in reversed(teardowns): try: if exception is not None: try: > teardown.throw(exception) __tracebackhide__ = True args = [] caller_kwargs = {'item': } exception = ValueError('Not a valid mypy message') firstresult = False function_gen = hook_impl = > hook_impls = [>] hook_name = 'pytest_runtest_call' res = result = [] results = [] teardown = teardowns = [, , <...object CaptureManager.pytest_runtest_call at 0x7f84faadda80>, ] /usr/lib/python3/dist-packages/pluggy/_callers.py:139: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ @pytest.hookimpl(wrapper=True, tryfirst=True) def pytest_runtest_call() -> Generator[None]: > yield from thread_exception_runtest_hook() /usr/lib/python3/dist-packages/_pytest/threadexception.py:92: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def thread_exception_runtest_hook() -> Generator[None]: with catch_threading_exception() as cm: try: > yield cm = <_pytest.threadexception.catch_threading_exception object at 0x7f850b3fdaf0> /usr/lib/python3/dist-packages/_pytest/threadexception.py:68: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook_name = 'pytest_runtest_call' hook_impls = [>] caller_kwargs = {'item': } firstresult = False def _multicall( hook_name: str, hook_impls: Sequence[HookImpl], caller_kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]:  """Execute a call into multiple python functions/methods and return the  result(s).   ``caller_kwargs`` comes from HookCaller.__call__().  """ __tracebackhide__ = True results: list[object] = [] exception = None try: # run impl and wrapper setup functions in a loop teardowns: list[Teardown] = [] try: for hook_impl in reversed(hook_impls): try: args = [caller_kwargs[argname] for argname in hook_impl.argnames] except KeyError as e: # coverage bug - this is tested for argname in hook_impl.argnames: # pragma: no cover if argname not in caller_kwargs: raise HookCallError( f"hook call must provide argument {argname!r}" ) from e  if hook_impl.hookwrapper: function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)  next(function_gen) # first yield teardowns.append(function_gen)  elif hook_impl.wrapper: try: # If this cast is not valid, a type error is raised below, # which is the desired response. res = hook_impl.function(*args) function_gen = cast(Generator[None, object, object], res) next(function_gen) # first yield teardowns.append(function_gen) except StopIteration: _raise_wrapfail(function_gen, "did not yield") else: res = hook_impl.function(*args) if res is not None: results.append(res) if firstresult: # halt further impl calls break except BaseException as exc: exception = exc finally: if firstresult: # first result hooks return a single value result = results[0] if results else None else: result = results  # run all wrapper post-yield blocks for teardown in reversed(teardowns): try: if exception is not None: try: > teardown.throw(exception) __tracebackhide__ = True args = [] caller_kwargs = {'item': } exception = ValueError('Not a valid mypy message') firstresult = False function_gen = hook_impl = > hook_impls = [>] hook_name = 'pytest_runtest_call' res = result = [] results = [] teardown = teardowns = [, , <...object CaptureManager.pytest_runtest_call at 0x7f84faadda80>, ] /usr/lib/python3/dist-packages/pluggy/_callers.py:139: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ @pytest.hookimpl(wrapper=True, tryfirst=True) def pytest_runtest_call() -> Generator[None]: > yield from unraisable_exception_runtest_hook() /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:95: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def unraisable_exception_runtest_hook() -> Generator[None]: with catch_unraisable_exception() as cm: try: > yield cm = <_pytest.unraisableexception.catch_unraisable_exception object at 0x7f850abbd6d0> /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook_name = 'pytest_runtest_call' hook_impls = [>] caller_kwargs = {'item': } firstresult = False def _multicall( hook_name: str, hook_impls: Sequence[HookImpl], caller_kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]:  """Execute a call into multiple python functions/methods and return the  result(s).   ``caller_kwargs`` comes from HookCaller.__call__().  """ __tracebackhide__ = True results: list[object] = [] exception = None try: # run impl and wrapper setup functions in a loop teardowns: list[Teardown] = [] try: for hook_impl in reversed(hook_impls): try: args = [caller_kwargs[argname] for argname in hook_impl.argnames] except KeyError as e: # coverage bug - this is tested for argname in hook_impl.argnames: # pragma: no cover if argname not in caller_kwargs: raise HookCallError( f"hook call must provide argument {argname!r}" ) from e  if hook_impl.hookwrapper: function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)  next(function_gen) # first yield teardowns.append(function_gen)  elif hook_impl.wrapper: try: # If this cast is not valid, a type error is raised below, # which is the desired response. res = hook_impl.function(*args) function_gen = cast(Generator[None, object, object], res) next(function_gen) # first yield teardowns.append(function_gen) except StopIteration: _raise_wrapfail(function_gen, "did not yield") else: res = hook_impl.function(*args) if res is not None: results.append(res) if firstresult: # halt further impl calls break except BaseException as exc: exception = exc finally: if firstresult: # first result hooks return a single value result = results[0] if results else None else: result = results  # run all wrapper post-yield blocks for teardown in reversed(teardowns): try: if exception is not None: try: > teardown.throw(exception) __tracebackhide__ = True args = [] caller_kwargs = {'item': } exception = ValueError('Not a valid mypy message') firstresult = False function_gen = hook_impl = > hook_impls = [>] hook_name = 'pytest_runtest_call' res = result = [] results = [] teardown = teardowns = [, , <...object CaptureManager.pytest_runtest_call at 0x7f84faadda80>, ] /usr/lib/python3/dist-packages/pluggy/_callers.py:139: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.logging.LoggingPlugin object at 0x7f851f45e120> item = @hookimpl(wrapper=True) def pytest_runtest_call(self, item: nodes.Item) -> Generator[None]: self.log_cli_handler.set_when("call")  > yield from self._runtest_for(item, "call") item = self = <_pytest.logging.LoggingPlugin object at 0x7f851f45e120> /usr/lib/python3/dist-packages/_pytest/logging.py:846: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.logging.LoggingPlugin object at 0x7f851f45e120> item = , when = 'call' def _runtest_for(self, item: nodes.Item, when: str) -> Generator[None]:  """Implement the internals of the pytest_runtest_xxx() hooks.""" with catching_logs( self.caplog_handler, level=self.log_level, ) as caplog_handler, catching_logs( self.report_handler, level=self.log_level, ) as report_handler: caplog_handler.reset() report_handler.reset() item.stash[caplog_records_key][when] = caplog_handler.records item.stash[caplog_handler_key] = caplog_handler  try: > yield caplog_handler = item = log = '' report_handler = self = <_pytest.logging.LoggingPlugin object at 0x7f851f45e120> when = 'call' /usr/lib/python3/dist-packages/_pytest/logging.py:829: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook_name = 'pytest_runtest_call' hook_impls = [>] caller_kwargs = {'item': } firstresult = False def _multicall( hook_name: str, hook_impls: Sequence[HookImpl], caller_kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]:  """Execute a call into multiple python functions/methods and return the  result(s).   ``caller_kwargs`` comes from HookCaller.__call__().  """ __tracebackhide__ = True results: list[object] = [] exception = None try: # run impl and wrapper setup functions in a loop teardowns: list[Teardown] = [] try: for hook_impl in reversed(hook_impls): try: args = [caller_kwargs[argname] for argname in hook_impl.argnames] except KeyError as e: # coverage bug - this is tested for argname in hook_impl.argnames: # pragma: no cover if argname not in caller_kwargs: raise HookCallError( f"hook call must provide argument {argname!r}" ) from e  if hook_impl.hookwrapper: function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)  next(function_gen) # first yield teardowns.append(function_gen)  elif hook_impl.wrapper: try: # If this cast is not valid, a type error is raised below, # which is the desired response. res = hook_impl.function(*args) function_gen = cast(Generator[None, object, object], res) next(function_gen) # first yield teardowns.append(function_gen) except StopIteration: _raise_wrapfail(function_gen, "did not yield") else: res = hook_impl.function(*args) if res is not None: results.append(res) if firstresult: # halt further impl calls break except BaseException as exc: exception = exc finally: if firstresult: # first result hooks return a single value result = results[0] if results else None else: result = results  # run all wrapper post-yield blocks for teardown in reversed(teardowns): try: if exception is not None: try: > teardown.throw(exception) __tracebackhide__ = True args = [] caller_kwargs = {'item': } exception = ValueError('Not a valid mypy message') firstresult = False function_gen = hook_impl = > hook_impls = [>] hook_name = 'pytest_runtest_call' res = result = [] results = [] teardown = teardowns = [, , <...object CaptureManager.pytest_runtest_call at 0x7f84faadda80>, ] /usr/lib/python3/dist-packages/pluggy/_callers.py:139: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = > _state='suspended' _in_suspended=False> _capture_fixture=None> item = @hookimpl(wrapper=True) def pytest_runtest_call(self, item: Item) -> Generator[None]: with self.item_capture("call", item): > return (yield) item = self = > _state='suspended' _in_suspended=False> _capture_fixture=None> /usr/lib/python3/dist-packages/_pytest/capture.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook_name = 'pytest_runtest_call' hook_impls = [>] caller_kwargs = {'item': } firstresult = False def _multicall( hook_name: str, hook_impls: Sequence[HookImpl], caller_kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]:  """Execute a call into multiple python functions/methods and return the  result(s).   ``caller_kwargs`` comes from HookCaller.__call__().  """ __tracebackhide__ = True results: list[object] = [] exception = None try: # run impl and wrapper setup functions in a loop teardowns: list[Teardown] = [] try: for hook_impl in reversed(hook_impls): try: args = [caller_kwargs[argname] for argname in hook_impl.argnames] except KeyError as e: # coverage bug - this is tested for argname in hook_impl.argnames: # pragma: no cover if argname not in caller_kwargs: raise HookCallError( f"hook call must provide argument {argname!r}" ) from e  if hook_impl.hookwrapper: function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)  next(function_gen) # first yield teardowns.append(function_gen)  elif hook_impl.wrapper: try: # If this cast is not valid, a type error is raised below, # which is the desired response. res = hook_impl.function(*args) function_gen = cast(Generator[None, object, object], res) next(function_gen) # first yield teardowns.append(function_gen) except StopIteration: _raise_wrapfail(function_gen, "did not yield") else: res = hook_impl.function(*args) if res is not None: results.append(res) if firstresult: # halt further impl calls break except BaseException as exc: exception = exc finally: if firstresult: # first result hooks return a single value result = results[0] if results else None else: result = results  # run all wrapper post-yield blocks for teardown in reversed(teardowns): try: if exception is not None: try: > teardown.throw(exception) __tracebackhide__ = True args = [] caller_kwargs = {'item': } exception = ValueError('Not a valid mypy message') firstresult = False function_gen = hook_impl = > hook_impls = [>] hook_name = 'pytest_runtest_call' res = result = [] results = [] teardown = teardowns = [, , <...object CaptureManager.pytest_runtest_call at 0x7f84faadda80>, ] /usr/lib/python3/dist-packages/pluggy/_callers.py:139: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ item = @hookimpl(wrapper=True) def pytest_runtest_call(item: Item) -> Generator[None]: xfailed = item.stash.get(xfailed_key, None) if xfailed is None: item.stash[xfailed_key] = xfailed = evaluate_xfail_marks(item)  if xfailed and not item.config.option.runxfail and not xfailed.run: xfail("[NOTRUN] " + xfailed.reason)  try: > return (yield) item = xfailed = None /usr/lib/python3/dist-packages/_pytest/skipping.py:257: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook_name = 'pytest_runtest_call' hook_impls = [>] caller_kwargs = {'item': } firstresult = False def _multicall( hook_name: str, hook_impls: Sequence[HookImpl], caller_kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]:  """Execute a call into multiple python functions/methods and return the  result(s).   ``caller_kwargs`` comes from HookCaller.__call__().  """ __tracebackhide__ = True results: list[object] = [] exception = None try: # run impl and wrapper setup functions in a loop teardowns: list[Teardown] = [] try: for hook_impl in reversed(hook_impls): try: args = [caller_kwargs[argname] for argname in hook_impl.argnames] except KeyError as e: # coverage bug - this is tested for argname in hook_impl.argnames: # pragma: no cover if argname not in caller_kwargs: raise HookCallError( f"hook call must provide argument {argname!r}" ) from e  if hook_impl.hookwrapper: function_gen = run_old_style_hookwrapper(hook_impl, hook_name, args)  next(function_gen) # first yield teardowns.append(function_gen)  elif hook_impl.wrapper: try: # If this cast is not valid, a type error is raised below, # which is the desired response. res = hook_impl.function(*args) function_gen = cast(Generator[None, object, object], res) next(function_gen) # first yield teardowns.append(function_gen) except StopIteration: _raise_wrapfail(function_gen, "did not yield") else: > res = hook_impl.function(*args) __tracebackhide__ = True args = [] caller_kwargs = {'item': } exception = ValueError('Not a valid mypy message') firstresult = False function_gen = hook_impl = > hook_impls = [>] hook_name = 'pytest_runtest_call' res = result = [] results = [] teardown = teardowns = [, , <...object CaptureManager.pytest_runtest_call at 0x7f84faadda80>, ] /usr/lib/python3/dist-packages/pluggy/_callers.py:121: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ item = def pytest_runtest_call(item: Item) -> None: _update_current_test_var(item, "call") try: del sys.last_type del sys.last_value del sys.last_traceback if sys.version_info >= (3, 12, 0): del sys.last_exc # type:ignore[attr-defined] except AttributeError: pass try: > item.runtest() item = /usr/lib/python3/dist-packages/_pytest/runner.py:174: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def runtest(self) -> None: > returncode, actual_messages = self.parent.run_mypy(self.mypy_item) self = /usr/lib/python3/dist-packages/pytest_mypy_testing/plugin.py:64: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = item = MypyTestItem(name='mypy_instance_typing', lineno=433, end_lineno=454, expected_messages=[Message(filename='/build/repr..._code='assignment')], func_node=, marks={'mypy_testing'}, actual_messages=[]) def run_mypy(self, item: MypyTestItem) -> Tuple[int, List[Message]]: if self._mypy_result is None: > self._mypy_result = self._run_mypy(self.path) item = MypyTestItem(name='mypy_instance_typing', lineno=433, end_lineno=454, expected_messages=[Message(filename='/build/repr..._code='assignment')], func_node=, marks={'mypy_testing'}, actual_messages=[]) self = /usr/lib/python3/dist-packages/pytest_mypy_testing/plugin.py:136: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = filename = PosixPath('/build/reproducible-path/traitlets-5.14.3+really5.14.3/.pybuild/cpython3_3.13_traitlets/build/tests/test_typing.py') def _run_mypy(self, filename: Union[pathlib.Path, os.PathLike, str]) -> MypyResult: filename = pathlib.Path(filename) with tempfile.TemporaryDirectory(prefix="pytest-mypy-testing-") as tmp_dir_name: mypy_cache_dir = os.path.join(tmp_dir_name, "mypy_cache") os.makedirs(mypy_cache_dir)  mypy_args = [ "--cache-dir={}".format(mypy_cache_dir), "--check-untyped-defs", "--hide-error-context", "--no-color-output", "--no-error-summary", "--no-pretty", "--soft-error-limit=-1", "--no-silence-site-packages", "--no-warn-unused-configs", "--show-column-numbers", "--show-error-codes", "--show-traceback", str(filename), ]  out, err, returncode = mypy.api.run(mypy_args)  lines = (out + err).splitlines()  file_messages = [ msg > for msg in map(Message.from_output, lines) if (msg.filename == self.mypy_file.filename) and not ( msg.severity is Severity.NOTE and msg.message == "See https://mypy.readthedocs.io/en/stable/running_mypy.html#missing-imports" ) ] err = 'pyproject.toml: [mypy]: python_version: Python 3.8 is not supported (must be 3.9 or higher)\n' filename = PosixPath('/build/reproducible-path/traitlets-5.14.3+really5.14.3/.pybuild/cpython3_3.13_traitlets/build/tests/test_typing.py') lines = ['/usr/lib/python3/dist-packages/mypy/typeshed/stdlib/builtins.pyi:1244:27: error: Class cannot subclass "Any" (has ty...ist-packages/argcomplete/packages/_shlex.py:74:5: error: Function is missing a type annotation [no-untyped-def]', ...] mypy_args = ['--cache-dir=/tmp/pytest-mypy-testing-3c7rdf0l/mypy_cache', '--check-untyped-defs', '--hide-error-context', '--no-color-output', '--no-error-summary', '--no-pretty', ...] mypy_cache_dir = '/tmp/pytest-mypy-testing-3c7rdf0l/mypy_cache' out = '/usr/lib/python3/dist-packages/mypy/typeshed/stdlib/builtins.pyi:1244:27: error: Class cannot subclass "Any" (has typ...:454:14: error: Incompatible types in assignment (expression has type "None", variable has type "Foo") [assignment]\n' returncode = 1 self = tmp_dir_name = '/tmp/pytest-mypy-testing-3c7rdf0l' /usr/lib/python3/dist-packages/pytest_mypy_testing/plugin.py:173: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = line = 'pyproject.toml: [mypy]: python_version: Python 3.8 is not supported (must be 3.9 or higher)' @classmethod def from_output(cls, line: str) -> "Message":  """Create message object from mypy output line.   >>> m = Message.from_output("z.py:1: note: bar")  >>> (m.lineno, m.colno, m.severity, m.message, m.revealed_type, m.error_code)  (1, None, Severity.NOTE, 'bar', None, None)   >>> m = Message.from_output("z.py:1:13: note: bar")  >>> (m.lineno, m.colno, m.severity, m.message, m.revealed_type, m.error_code)  (1, 13, Severity.NOTE, 'bar', None, None)   >>> m = Message.from_output("z.py:1: note: Revealed type is 'bar'")  >>> (m.lineno, m.colno, m.severity, m.message, m.revealed_type, m.error_code)  (1, None, Severity.NOTE, "Revealed type is 'bar'", 'bar', None)   >>> m = Message.from_output('z.py:1: note: Revealed type is "bar"')  >>> (m.lineno, m.colno, m.severity, m.message, m.revealed_type, m.error_code)  (1, None, Severity.NOTE, 'Revealed type is "bar"', 'bar', None)   >>> m = Message.from_output("z.py:1:13: error: bar [baz]")  >>> (m.lineno, m.colno, m.severity, m.message, m.revealed_type, m.error_code)  (1, 13, Severity.ERROR, 'bar', None, 'baz')   """ m = cls.OUTPUT_RE.match(line) if not m: > raise ValueError("Not a valid mypy message") E ValueError: Not a valid mypy message cls = line = 'pyproject.toml: [mypy]: python_version: Python 3.8 is not supported (must be 3.9 or higher)' m = None /usr/lib/python3/dist-packages/pytest_mypy_testing/message.py:295: ValueError =============================== warnings summary =============================== tests/_warnings.py::tests._warnings.all_warnings :2: RuntimeWarning: bar -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html ============================= slowest 10 durations ============================= 32.50s call tests/test_typing.py::[mypy]mypy_enum_typing 32.01s call tests/test_typing.py::[mypy]mypy_instance_typing 29.48s call tests/test_typing.py::[mypy]mypy_cint_typing 27.74s call tests/test_typing.py::[mypy]mypy_dict_typing 26.75s call tests/test_typing.py::[mypy]mypy_int_typing 26.57s call tests/test_typing.py::[mypy]mypy_any_typing 26.31s call tests/test_typing.py::[mypy]mypy_set_typing 25.83s call tests/test_typing.py::[mypy]mypy_unicode_typing 25.69s call tests/test_typing.py::[mypy]mypy_tcp_typing 25.55s call tests/test_typing.py::[mypy]mypy_type_typing =========================== short test summary info ============================ SKIPPED [1] ../../../../../../usr/lib/python3/dist-packages/_pytest/doctest.py:458: all tests skipped by +SKIP option FAILED tests/test_typing.py::[mypy]mypy_decorator_typing - ValueError: Not a valid mypy message FAILED tests/test_typing.py::[mypy]mypy_config_typing - ValueError: Not a valid mypy message FAILED tests/test_typing.py::[mypy]mypy_union_typing - ValueError: Not a valid mypy message FAILED tests/test_typing.py::[mypy]mypy_list_typing - ValueError: Not a valid mypy message FAILED tests/test_typing.py::[mypy]mypy_dict_typing - ValueError: Not a valid mypy message FAILED tests/test_typing.py::[mypy]mypy_type_typing - ValueError: Not a valid mypy message FAILED tests/test_typing.py::[mypy]mypy_unicode_typing - ValueError: Not a valid mypy message FAILED tests/test_typing.py::[mypy]mypy_enum_typing - ValueError: Not a valid mypy message FAILED tests/test_typing.py::[mypy]mypy_set_typing - ValueError: Not a valid mypy message FAILED tests/test_typing.py::[mypy]mypy_any_typing - ValueError: Not a valid mypy message FAILED tests/test_typing.py::[mypy]mypy_bool_typing - ValueError: Not a valid mypy message FAILED tests/test_typing.py::[mypy]mypy_int_typing - ValueError: Not a valid mypy message FAILED tests/test_typing.py::[mypy]mypy_cint_typing - ValueError: Not a valid mypy message FAILED tests/test_typing.py::[mypy]mypy_tcp_typing - ValueError: Not a valid mypy message FAILED tests/test_typing.py::[mypy]mypy_instance_typing - ValueError: Not a valid mypy message ======= 15 failed, 572 passed, 1 skipped, 1 warning in 406.97s (0:06:46) ======= E: pybuild pybuild:389: test: plugin pyproject failed with: exit code=1: cd /build/reproducible-path/traitlets-5.14.3+really5.14.3/.pybuild/cpython3_3.13_traitlets/build; python3.13 -m pytest tests dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p 3.13 returned exit code 13 make: *** [debian/rules:8: binary] Error 25 dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2 I: copying local configuration E: Failed autobuilding of package I: unmounting dev/ptmx filesystem I: unmounting dev/pts filesystem I: unmounting dev/shm filesystem I: unmounting proc filesystem I: unmounting sys filesystem I: cleaning the build env I: removing directory /srv/workspace/pbuilder/2376507 and its subdirectories Sat Aug 23 23:43:59 UTC 2025 W: No second build log, what happened?