Mon Jan 8 17:06:05 UTC 2024 I: starting to build rich/bullseye/amd64 on jenkins on '2024-01-08 17:05' Mon Jan 8 17:06:05 UTC 2024 I: The jenkins build log is/was available at https://jenkins.debian.net/userContent/reproducible/debian/build_service/amd64_8/9501/console.log Mon Jan 8 17:06:05 UTC 2024 I: Downloading source for bullseye/rich=9.11.0-1 --2024-01-08 17:06:05-- http://cdn-fastly.deb.debian.org/debian/pool/main/r/rich/rich_9.11.0-1.dsc Connecting to 78.137.99.97:3128... connected. Proxy request sent, awaiting response... 200 OK Length: 2110 (2.1K) [text/prs.lines.tag] Saving to: ‘rich_9.11.0-1.dsc’ 0K .. 100% 301M=0s 2024-01-08 17:06:06 (301 MB/s) - ‘rich_9.11.0-1.dsc’ saved [2110/2110] Mon Jan 8 17:06:06 UTC 2024 I: rich_9.11.0-1.dsc -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 Format: 3.0 (quilt) Source: rich Binary: python3-rich Architecture: all Version: 9.11.0-1 Maintainer: Sandro Tosi Uploaders: Debian Python Team , Homepage: https://github.com/willmcgugan/rich Standards-Version: 4.5.1 Vcs-Browser: https://salsa.debian.org/python-team/packages/rich Vcs-Git: https://salsa.debian.org/python-team/packages/rich.git Build-Depends: debhelper-compat (= 13), dh-python, python3-all, python3-commonmark (>= 0.9.0), python3-colorama (>= 0.4.0), python3-mypy (>= 0.782), python3-pygments (>= 2.6.0), python3-pytest, python3-setuptools, python3-typing-extensions (>= 3.7.4) Package-List: python3-rich deb python optional arch=all Checksums-Sha1: b50cfbb730628c22fe121284f26ffb7de54f2fa3 13625948 rich_9.11.0.orig.tar.xz b2a2290ee14a1bbf7ee38fe47f9f4ceb7c67334b 3904 rich_9.11.0-1.debian.tar.xz Checksums-Sha256: dfc6227135793bfa7c49939f33837ec06e588295d87641d898b94fd2259e25d3 13625948 rich_9.11.0.orig.tar.xz 9b9187ed4ffe4ffc7130c25b58ee033860a66cb5dd7e52da178f32f2583f7e95 3904 rich_9.11.0-1.debian.tar.xz Files: b9a0139b87d74f33a0f6337041c65a59 13625948 rich_9.11.0.orig.tar.xz c7a3ec8bc9a795c1cab41226fb9b69a3 3904 rich_9.11.0-1.debian.tar.xz -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEEufrTGSrz5KUwnZ05h588mTgBqU8FAmAt8CwACgkQh588mTgB qU9GuA/+LZ2TqT7fm5jf5jwoWLPGeS7Sl1S+mH2w655aHkYdxZDLwbpHBfa8JkG5 3WaZRov5dwIVfVLFgxMFJkmrkvxTbZ6nhzRRVDfNC5hh8LKdPvifFRTtbODYIgSS H0n9c3YN/orZ9lKXUULG9ZdshLUmWAoSK0TRMtlE3liNyz+pTpk3oosSCS2e/tc6 cfiSj1kYIKXEVWm/8g6+Qoz+wW8QGzmpdRktvajMY3HPXYg+f+2sYeEqE3podAU7 Bc+0Sk9nHTHmoEqRLsEz60m2JbtHYdQWON9egZWfOR4tGdc6kL6jFlP4OsOjgUkh LYcQ4+uUzzWmzqaY3gxvDct840FrnP51h9ClcTH2kpFbLgZfeizdljVEwl2zzhfG f70eipTDhFApiOjYxPsYwXMrPk4bUJPkFdYrUblMPvW4vNcO0Xogmova08nW0IQL LBQRjT2niF6PKq2vSAHpRVVsFTAmRGcoFGR+jeUVxszMuDEv3h5LkXJeXIGASmkN GXMr5F5jMatgnyVyAMTs0f+viSqLdV40lYZY/FsddaHFAfVhcwlefNvT0Rv61iSw G2s+dx4vUwhWXtT4DEP+K8LX/IzCShM1Y7zZS4vQJLc8YocCEmTjlyIstU7NUxjo fbWOHoO5exQW+OIA+1mFHJVcPOZQMnHMQYrVuvi5kXw/JczLuzM= =IhMm -----END PGP SIGNATURE----- Mon Jan 8 17:06:06 UTC 2024 I: Checking whether the package is not for us Mon Jan 8 17:06:06 UTC 2024 I: Starting 1st build on remote node ionos15-amd64.debian.net. Mon Jan 8 17:06:06 UTC 2024 I: Preparing to do remote build '1' on ionos15-amd64.debian.net. Mon Jan 8 17:06:51 UTC 2024 I: Deleting $TMPDIR on ionos15-amd64.debian.net. I: pbuilder: network access will be disabled during build I: Current time: Sun Feb 9 11:29:17 -12 2025 I: pbuilder-time-stamp: 1739143757 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/bullseye-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 [rich_9.11.0-1.dsc] I: copying [./rich_9.11.0.orig.tar.xz] I: copying [./rich_9.11.0-1.debian.tar.xz] I: Extracting source gpgv: unknown type of key resource 'trustedkeys.kbx' gpgv: keyblock resource '/tmp/dpkg-verify-sig.plPdXRTi/trustedkeys.kbx': General error gpgv: Signature made Thu Feb 18 04:42:20 2021 gpgv: using RSA key B9FAD3192AF3E4A5309D9D39879F3C993801A94F gpgv: Can't check signature: No public key dpkg-source: warning: failed to verify signature on ./rich_9.11.0-1.dsc dpkg-source: info: extracting rich in rich-9.11.0 dpkg-source: info: unpacking rich_9.11.0.orig.tar.xz dpkg-source: info: unpacking rich_9.11.0-1.debian.tar.xz I: using fakeroot in build. I: Installing the build-deps I: user script /srv/workspace/pbuilder/2904450/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,-fixfilepath parallel=16 ' DISTRIBUTION='bullseye' HOME='/root' HOST_ARCH='amd64' IFS=' ' INVOCATION_ID='f82d475a3d1e4b5d8abad203942037fd' 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='2904450' 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.PMgqZr2Y/pbuilderrc_2uCN --distribution bullseye --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/bullseye-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.PMgqZr2Y/b1 --logfile b1/build.log rich_9.11.0-1.dsc' SUDO_GID='111' SUDO_UID='106' SUDO_USER='jenkins' TERM='unknown' TZ='/usr/share/zoneinfo/Etc/GMT+12' USER='root' _='/usr/bin/systemd-run' http_proxy='http://85.184.249.68:3128' I: uname -a Linux ionos15-amd64 6.5.0-0.deb12.4-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.5.10-1~bpo12+1 (2023-11-23) x86_64 GNU/Linux I: ls -l /bin total 5476 -rwxr-xr-x 1 root root 1234376 Mar 27 2022 bash -rwxr-xr-x 3 root root 38984 Jul 20 2020 bunzip2 -rwxr-xr-x 3 root root 38984 Jul 20 2020 bzcat lrwxrwxrwx 1 root root 6 Jul 20 2020 bzcmp -> bzdiff -rwxr-xr-x 1 root root 2225 Jul 20 2020 bzdiff lrwxrwxrwx 1 root root 6 Jul 20 2020 bzegrep -> bzgrep -rwxr-xr-x 1 root root 4877 Sep 4 2019 bzexe lrwxrwxrwx 1 root root 6 Jul 20 2020 bzfgrep -> bzgrep -rwxr-xr-x 1 root root 3775 Jul 20 2020 bzgrep -rwxr-xr-x 3 root root 38984 Jul 20 2020 bzip2 -rwxr-xr-x 1 root root 18424 Jul 20 2020 bzip2recover lrwxrwxrwx 1 root root 6 Jul 20 2020 bzless -> bzmore -rwxr-xr-x 1 root root 1297 Jul 20 2020 bzmore -rwxr-xr-x 1 root root 43936 Sep 24 2020 cat -rwxr-xr-x 1 root root 72672 Sep 24 2020 chgrp -rwxr-xr-x 1 root root 64448 Sep 24 2020 chmod -rwxr-xr-x 1 root root 72672 Sep 24 2020 chown -rwxr-xr-x 1 root root 151168 Sep 24 2020 cp -rwxr-xr-x 1 root root 125560 Dec 10 2020 dash -rwxr-xr-x 1 root root 113664 Sep 24 2020 date -rwxr-xr-x 1 root root 80968 Sep 24 2020 dd -rwxr-xr-x 1 root root 93936 Sep 24 2020 df -rwxr-xr-x 1 root root 147176 Sep 24 2020 dir -rwxr-xr-x 1 root root 84440 Jan 20 2022 dmesg lrwxrwxrwx 1 root root 8 Nov 7 2019 dnsdomainname -> hostname lrwxrwxrwx 1 root root 8 Nov 7 2019 domainname -> hostname -rwxr-xr-x 1 root root 39712 Sep 24 2020 echo -rwxr-xr-x 1 root root 28 Jan 25 2023 egrep -rwxr-xr-x 1 root root 39680 Sep 24 2020 false -rwxr-xr-x 1 root root 28 Jan 25 2023 fgrep -rwxr-xr-x 1 root root 69032 Jan 20 2022 findmnt -rwsr-xr-x 1 root root 34896 Feb 26 2021 fusermount -rwxr-xr-x 1 root root 203072 Jan 25 2023 grep -rwxr-xr-x 2 root root 2346 Apr 10 2022 gunzip -rwxr-xr-x 1 root root 6447 Apr 10 2022 gzexe -rwxr-xr-x 1 root root 98048 Apr 10 2022 gzip -rwxr-xr-x 1 root root 22600 Nov 7 2019 hostname -rwxr-xr-x 1 root root 72840 Sep 24 2020 ln -rwxr-xr-x 1 root root 56952 Feb 7 2020 login -rwxr-xr-x 1 root root 147176 Sep 24 2020 ls -rwxr-xr-x 1 root root 149736 Jan 20 2022 lsblk -rwxr-xr-x 1 root root 85184 Sep 24 2020 mkdir -rwxr-xr-x 1 root root 76896 Sep 24 2020 mknod -rwxr-xr-x 1 root root 48064 Sep 24 2020 mktemp -rwxr-xr-x 1 root root 59632 Jan 20 2022 more -rwsr-xr-x 1 root root 55528 Jan 20 2022 mount -rwxr-xr-x 1 root root 18664 Jan 20 2022 mountpoint -rwxr-xr-x 1 root root 147080 Sep 24 2020 mv lrwxrwxrwx 1 root root 8 Nov 7 2019 nisdomainname -> hostname lrwxrwxrwx 1 root root 14 Dec 16 2021 pidof -> /sbin/killall5 -rwxr-xr-x 1 root root 43872 Sep 24 2020 pwd lrwxrwxrwx 1 root root 4 Mar 27 2022 rbash -> bash -rwxr-xr-x 1 root root 52032 Sep 24 2020 readlink -rwxr-xr-x 1 root root 72704 Sep 24 2020 rm -rwxr-xr-x 1 root root 52032 Sep 24 2020 rmdir -rwxr-xr-x 1 root root 27472 Sep 27 2020 run-parts -rwxr-xr-x 1 root root 122224 Dec 22 2018 sed lrwxrwxrwx 1 root root 4 Feb 8 15:47 sh -> dash -rwxr-xr-x 1 root root 43808 Sep 24 2020 sleep -rwxr-xr-x 1 root root 84928 Sep 24 2020 stty -rwsr-xr-x 1 root root 71912 Jan 20 2022 su -rwxr-xr-x 1 root root 39744 Sep 24 2020 sync -rwxr-xr-x 1 root root 531928 Feb 17 2021 tar -rwxr-xr-x 1 root root 14456 Sep 27 2020 tempfile -rwxr-xr-x 1 root root 101408 Sep 24 2020 touch -rwxr-xr-x 1 root root 39680 Sep 24 2020 true -rwxr-xr-x 1 root root 14328 Feb 26 2021 ulockmgr_server -rwsr-xr-x 1 root root 35040 Jan 20 2022 umount -rwxr-xr-x 1 root root 39744 Sep 24 2020 uname -rwxr-xr-x 2 root root 2346 Apr 10 2022 uncompress -rwxr-xr-x 1 root root 147176 Sep 24 2020 vdir -rwxr-xr-x 1 root root 63744 Jan 20 2022 wdctl lrwxrwxrwx 1 root root 8 Nov 7 2019 ypdomainname -> hostname -rwxr-xr-x 1 root root 1984 Apr 10 2022 zcat -rwxr-xr-x 1 root root 1678 Apr 10 2022 zcmp -rwxr-xr-x 1 root root 5898 Apr 10 2022 zdiff -rwxr-xr-x 1 root root 29 Apr 10 2022 zegrep -rwxr-xr-x 1 root root 29 Apr 10 2022 zfgrep -rwxr-xr-x 1 root root 2081 Apr 10 2022 zforce -rwxr-xr-x 1 root root 8049 Apr 10 2022 zgrep -rwxr-xr-x 1 root root 2206 Apr 10 2022 zless -rwxr-xr-x 1 root root 1842 Apr 10 2022 zmore -rwxr-xr-x 1 root root 4577 Apr 10 2022 znew I: user script /srv/workspace/pbuilder/2904450/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-python, python3-all, python3-commonmark (>= 0.9.0), python3-colorama (>= 0.4.0), python3-mypy (>= 0.782), python3-pygments (>= 2.6.0), python3-pytest, python3-setuptools, python3-typing-extensions (>= 3.7.4) dpkg-deb: building package 'pbuilder-satisfydepends-dummy' in '/tmp/satisfydepends-aptitude/pbuilder-satisfydepends-dummy.deb'. Selecting previously unselected package pbuilder-satisfydepends-dummy. (Reading database ... 17743 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-python; however: Package dh-python is not installed. pbuilder-satisfydepends-dummy depends on python3-all; however: Package python3-all is not installed. pbuilder-satisfydepends-dummy depends on python3-commonmark (>= 0.9.0); however: Package python3-commonmark is not installed. pbuilder-satisfydepends-dummy depends on python3-colorama (>= 0.4.0); however: Package python3-colorama is not installed. pbuilder-satisfydepends-dummy depends on python3-mypy (>= 0.782); however: Package python3-mypy is not installed. pbuilder-satisfydepends-dummy depends on python3-pygments (>= 2.6.0); however: Package python3-pygments is not installed. pbuilder-satisfydepends-dummy depends on python3-pytest; however: Package python3-pytest is not installed. pbuilder-satisfydepends-dummy depends on python3-setuptools; however: Package python3-setuptools is not installed. pbuilder-satisfydepends-dummy depends on python3-typing-extensions (>= 3.7.4); however: Package python3-typing-extensions 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} debhelper{a} dh-autoreconf{a} dh-python{a} dh-strip-nondeterminism{a} dwz{a} file{a} gettext{a} gettext-base{a} groff-base{a} intltool-debian{a} libarchive-zip-perl{a} libdebhelper-perl{a} libelf1{a} libexpat1{a} libfile-stripnondeterminism-perl{a} libicu67{a} libmagic-mgc{a} libmagic1{a} libmpdec3{a} libpipeline1{a} libpython3-stdlib{a} libpython3.9-minimal{a} libpython3.9-stdlib{a} libreadline8{a} libsigsegv2{a} libsub-override-perl{a} libtool{a} libuchardet0{a} libxml2{a} m4{a} man-db{a} media-types{a} po-debconf{a} python3{a} python3-all{a} python3-attr{a} python3-colorama{a} python3-commonmark{a} python3-distutils{a} python3-importlib-metadata{a} python3-iniconfig{a} python3-lib2to3{a} python3-minimal{a} python3-more-itertools{a} python3-mypy{a} python3-mypy-extensions{a} python3-packaging{a} python3-pkg-resources{a} python3-pluggy{a} python3-psutil{a} python3-py{a} python3-pygments{a} python3-pyparsing{a} python3-pytest{a} python3-setuptools{a} python3-six{a} python3-toml{a} python3-typed-ast{a} python3-typing-extensions{a} python3-zipp{a} python3.9{a} python3.9-minimal{a} readline-common{a} sensible-utils{a} tzdata{a} The following packages are RECOMMENDED but will NOT be installed: ca-certificates curl libarchive-cpio-perl libltdl-dev libmail-sendmail-perl lynx python3-lxml wget 0 packages upgraded, 70 newly installed, 0 to remove and 0 not upgraded. Need to get 32.7 MB of archives. After unpacking 135 MB will be used. Writing extended state information... Get: 1 http://deb.debian.org/debian bullseye/main amd64 bsdextrautils amd64 2.36.1-8+deb11u1 [145 kB] Get: 2 http://deb.debian.org/debian bullseye/main amd64 libuchardet0 amd64 0.0.7-1 [67.8 kB] Get: 3 http://deb.debian.org/debian bullseye/main amd64 groff-base amd64 1.22.4-6 [936 kB] Get: 4 http://deb.debian.org/debian bullseye/main amd64 libpipeline1 amd64 1.5.3-1 [34.3 kB] Get: 5 http://deb.debian.org/debian bullseye/main amd64 man-db amd64 2.9.4-2 [1354 kB] Get: 6 http://deb.debian.org/debian bullseye/main amd64 libpython3.9-minimal amd64 3.9.2-1 [801 kB] Get: 7 http://deb.debian.org/debian bullseye/main amd64 libexpat1 amd64 2.2.10-2+deb11u5 [98.2 kB] Get: 8 http://deb.debian.org/debian bullseye/main amd64 python3.9-minimal amd64 3.9.2-1 [1955 kB] Get: 9 http://deb.debian.org/debian bullseye/main amd64 python3-minimal amd64 3.9.2-3 [38.2 kB] Get: 10 http://deb.debian.org/debian bullseye/main amd64 media-types all 4.0.0 [30.3 kB] Get: 11 http://deb.debian.org/debian bullseye/main amd64 tzdata all 2021a-1+deb11u10 [286 kB] Get: 12 http://deb.debian.org/debian bullseye/main amd64 libmpdec3 amd64 2.5.1-1 [87.7 kB] Get: 13 http://deb.debian.org/debian bullseye/main amd64 readline-common all 8.1-1 [73.7 kB] Get: 14 http://deb.debian.org/debian bullseye/main amd64 libreadline8 amd64 8.1-1 [169 kB] Get: 15 http://deb.debian.org/debian bullseye/main amd64 libpython3.9-stdlib amd64 3.9.2-1 [1684 kB] Get: 16 http://deb.debian.org/debian bullseye/main amd64 python3.9 amd64 3.9.2-1 [466 kB] Get: 17 http://deb.debian.org/debian bullseye/main amd64 libpython3-stdlib amd64 3.9.2-3 [21.4 kB] Get: 18 http://deb.debian.org/debian bullseye/main amd64 python3 amd64 3.9.2-3 [37.9 kB] Get: 19 http://deb.debian.org/debian bullseye/main amd64 sensible-utils all 0.0.14 [14.8 kB] Get: 20 http://deb.debian.org/debian bullseye/main amd64 libmagic-mgc amd64 1:5.39-3+deb11u1 [273 kB] Get: 21 http://deb.debian.org/debian bullseye/main amd64 libmagic1 amd64 1:5.39-3+deb11u1 [128 kB] Get: 22 http://deb.debian.org/debian bullseye/main amd64 file amd64 1:5.39-3+deb11u1 [69.2 kB] Get: 23 http://deb.debian.org/debian bullseye/main amd64 gettext-base amd64 0.21-4 [175 kB] Get: 24 http://deb.debian.org/debian bullseye/main amd64 libsigsegv2 amd64 2.13-1 [34.8 kB] Get: 25 http://deb.debian.org/debian bullseye/main amd64 m4 amd64 1.4.18-5 [204 kB] Get: 26 http://deb.debian.org/debian bullseye/main amd64 autoconf all 2.69-14 [313 kB] Get: 27 http://deb.debian.org/debian bullseye/main amd64 autotools-dev all 20180224.1+nmu1 [77.1 kB] Get: 28 http://deb.debian.org/debian bullseye/main amd64 automake all 1:1.16.3-2 [814 kB] Get: 29 http://deb.debian.org/debian bullseye/main amd64 autopoint all 0.21-4 [510 kB] Get: 30 http://deb.debian.org/debian bullseye/main amd64 libdebhelper-perl all 13.3.4 [189 kB] Get: 31 http://deb.debian.org/debian bullseye/main amd64 libtool all 2.4.6-15 [513 kB] Get: 32 http://deb.debian.org/debian bullseye/main amd64 dh-autoreconf all 20 [17.1 kB] Get: 33 http://deb.debian.org/debian bullseye/main amd64 libarchive-zip-perl all 1.68-1 [104 kB] Get: 34 http://deb.debian.org/debian bullseye/main amd64 libsub-override-perl all 0.09-2 [10.2 kB] Get: 35 http://deb.debian.org/debian bullseye/main amd64 libfile-stripnondeterminism-perl all 1.12.0-1 [26.3 kB] Get: 36 http://deb.debian.org/debian bullseye/main amd64 dh-strip-nondeterminism all 1.12.0-1 [15.4 kB] Get: 37 http://deb.debian.org/debian bullseye/main amd64 libelf1 amd64 0.183-1 [165 kB] Get: 38 http://deb.debian.org/debian bullseye/main amd64 dwz amd64 0.13+20210201-1 [175 kB] Get: 39 http://deb.debian.org/debian bullseye/main amd64 libicu67 amd64 67.1-7 [8622 kB] Get: 40 http://deb.debian.org/debian bullseye/main amd64 libxml2 amd64 2.9.10+dfsg-6.7+deb11u4 [693 kB] Get: 41 http://deb.debian.org/debian bullseye/main amd64 gettext amd64 0.21-4 [1311 kB] Get: 42 http://deb.debian.org/debian bullseye/main amd64 intltool-debian all 0.35.0+20060710.5 [26.8 kB] Get: 43 http://deb.debian.org/debian bullseye/main amd64 po-debconf all 1.0.21+nmu1 [248 kB] Get: 44 http://deb.debian.org/debian bullseye/main amd64 debhelper all 13.3.4 [1049 kB] Get: 45 http://deb.debian.org/debian bullseye/main amd64 python3-lib2to3 all 3.9.2-1 [77.8 kB] Get: 46 http://deb.debian.org/debian bullseye/main amd64 python3-distutils all 3.9.2-1 [143 kB] Get: 47 http://deb.debian.org/debian bullseye/main amd64 dh-python all 4.20201102+nmu1 [99.4 kB] Get: 48 http://deb.debian.org/debian bullseye/main amd64 python3-all amd64 3.9.2-3 [1056 B] Get: 49 http://deb.debian.org/debian bullseye/main amd64 python3-attr all 20.3.0-1 [52.9 kB] Get: 50 http://deb.debian.org/debian bullseye/main amd64 python3-colorama all 0.4.4-1 [28.5 kB] Get: 51 http://deb.debian.org/debian bullseye/main amd64 python3-commonmark all 0.9.1-3 [44.9 kB] Get: 52 http://deb.debian.org/debian bullseye/main amd64 python3-six all 1.16.0-2 [17.5 kB] Get: 53 http://deb.debian.org/debian bullseye/main amd64 python3-more-itertools all 4.2.0-3 [42.7 kB] Get: 54 http://deb.debian.org/debian bullseye/main amd64 python3-zipp all 1.0.0-3 [6060 B] Get: 55 http://deb.debian.org/debian bullseye/main amd64 python3-importlib-metadata all 1.6.0-2 [10.3 kB] Get: 56 http://deb.debian.org/debian bullseye/main amd64 python3-iniconfig all 1.1.1-1 [6308 B] Get: 57 http://deb.debian.org/debian bullseye/main amd64 python3-mypy-extensions all 0.4.3-2 [5700 B] Get: 58 http://deb.debian.org/debian bullseye/main amd64 python3-typed-ast amd64 1.4.2-1 [150 kB] Get: 59 http://deb.debian.org/debian bullseye/main amd64 python3-typing-extensions all 3.7.4.3-1 [29.8 kB] Get: 60 http://deb.debian.org/debian bullseye/main amd64 python3-psutil amd64 5.8.0-1 [184 kB] Get: 61 http://deb.debian.org/debian bullseye/main amd64 python3-pkg-resources all 52.0.0-4 [190 kB] Get: 62 http://deb.debian.org/debian bullseye/main amd64 python3-mypy amd64 0.812-1 [6053 kB] Get: 63 http://deb.debian.org/debian bullseye/main amd64 python3-pyparsing all 2.4.7-1 [109 kB] Get: 64 http://deb.debian.org/debian bullseye/main amd64 python3-packaging all 20.9-2 [33.5 kB] Get: 65 http://deb.debian.org/debian bullseye/main amd64 python3-pluggy all 0.13.0-6 [22.3 kB] Get: 66 http://deb.debian.org/debian bullseye/main amd64 python3-py all 1.10.0-1 [94.2 kB] Get: 67 http://deb.debian.org/debian bullseye/main amd64 python3-pygments all 2.7.1+dfsg-2.1 [657 kB] Get: 68 http://deb.debian.org/debian bullseye/main amd64 python3-toml all 0.10.1-1 [15.9 kB] Get: 69 http://deb.debian.org/debian bullseye/main amd64 python3-pytest all 6.0.2-2 [211 kB] Get: 70 http://deb.debian.org/debian bullseye/main amd64 python3-setuptools all 52.0.0-4 [366 kB] Fetched 32.7 MB in 1s (65.4 MB/s) debconf: delaying package configuration, since apt-utils is not installed Selecting previously unselected package bsdextrautils. (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 ... 17743 files and directories currently installed.) Preparing to unpack .../0-bsdextrautils_2.36.1-8+deb11u1_amd64.deb ... Unpacking bsdextrautils (2.36.1-8+deb11u1) ... Selecting previously unselected package libuchardet0:amd64. Preparing to unpack .../1-libuchardet0_0.0.7-1_amd64.deb ... Unpacking libuchardet0:amd64 (0.0.7-1) ... Selecting previously unselected package groff-base. Preparing to unpack .../2-groff-base_1.22.4-6_amd64.deb ... Unpacking groff-base (1.22.4-6) ... Selecting previously unselected package libpipeline1:amd64. Preparing to unpack .../3-libpipeline1_1.5.3-1_amd64.deb ... Unpacking libpipeline1:amd64 (1.5.3-1) ... Selecting previously unselected package man-db. Preparing to unpack .../4-man-db_2.9.4-2_amd64.deb ... Unpacking man-db (2.9.4-2) ... Selecting previously unselected package libpython3.9-minimal:amd64. Preparing to unpack .../5-libpython3.9-minimal_3.9.2-1_amd64.deb ... Unpacking libpython3.9-minimal:amd64 (3.9.2-1) ... Selecting previously unselected package libexpat1:amd64. Preparing to unpack .../6-libexpat1_2.2.10-2+deb11u5_amd64.deb ... Unpacking libexpat1:amd64 (2.2.10-2+deb11u5) ... Selecting previously unselected package python3.9-minimal. Preparing to unpack .../7-python3.9-minimal_3.9.2-1_amd64.deb ... Unpacking python3.9-minimal (3.9.2-1) ... Setting up libpython3.9-minimal:amd64 (3.9.2-1) ... Setting up libexpat1:amd64 (2.2.10-2+deb11u5) ... Setting up python3.9-minimal (3.9.2-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 ... 18610 files and directories currently installed.) Preparing to unpack .../0-python3-minimal_3.9.2-3_amd64.deb ... Unpacking python3-minimal (3.9.2-3) ... Selecting previously unselected package media-types. Preparing to unpack .../1-media-types_4.0.0_all.deb ... Unpacking media-types (4.0.0) ... Selecting previously unselected package tzdata. Preparing to unpack .../2-tzdata_2021a-1+deb11u10_all.deb ... Unpacking tzdata (2021a-1+deb11u10) ... Selecting previously unselected package libmpdec3:amd64. Preparing to unpack .../3-libmpdec3_2.5.1-1_amd64.deb ... Unpacking libmpdec3:amd64 (2.5.1-1) ... Selecting previously unselected package readline-common. Preparing to unpack .../4-readline-common_8.1-1_all.deb ... Unpacking readline-common (8.1-1) ... Selecting previously unselected package libreadline8:amd64. Preparing to unpack .../5-libreadline8_8.1-1_amd64.deb ... Unpacking libreadline8:amd64 (8.1-1) ... Selecting previously unselected package libpython3.9-stdlib:amd64. Preparing to unpack .../6-libpython3.9-stdlib_3.9.2-1_amd64.deb ... Unpacking libpython3.9-stdlib:amd64 (3.9.2-1) ... Selecting previously unselected package python3.9. Preparing to unpack .../7-python3.9_3.9.2-1_amd64.deb ... Unpacking python3.9 (3.9.2-1) ... Selecting previously unselected package libpython3-stdlib:amd64. Preparing to unpack .../8-libpython3-stdlib_3.9.2-3_amd64.deb ... Unpacking libpython3-stdlib:amd64 (3.9.2-3) ... Setting up python3-minimal (3.9.2-3) ... 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 ... 20893 files and directories currently installed.) Preparing to unpack .../00-python3_3.9.2-3_amd64.deb ... Unpacking python3 (3.9.2-3) ... Selecting previously unselected package sensible-utils. Preparing to unpack .../01-sensible-utils_0.0.14_all.deb ... Unpacking sensible-utils (0.0.14) ... Selecting previously unselected package libmagic-mgc. Preparing to unpack .../02-libmagic-mgc_1%3a5.39-3+deb11u1_amd64.deb ... Unpacking libmagic-mgc (1:5.39-3+deb11u1) ... Selecting previously unselected package libmagic1:amd64. Preparing to unpack .../03-libmagic1_1%3a5.39-3+deb11u1_amd64.deb ... Unpacking libmagic1:amd64 (1:5.39-3+deb11u1) ... Selecting previously unselected package file. Preparing to unpack .../04-file_1%3a5.39-3+deb11u1_amd64.deb ... Unpacking file (1:5.39-3+deb11u1) ... Selecting previously unselected package gettext-base. Preparing to unpack .../05-gettext-base_0.21-4_amd64.deb ... Unpacking gettext-base (0.21-4) ... Selecting previously unselected package libsigsegv2:amd64. Preparing to unpack .../06-libsigsegv2_2.13-1_amd64.deb ... Unpacking libsigsegv2:amd64 (2.13-1) ... Selecting previously unselected package m4. Preparing to unpack .../07-m4_1.4.18-5_amd64.deb ... Unpacking m4 (1.4.18-5) ... Selecting previously unselected package autoconf. Preparing to unpack .../08-autoconf_2.69-14_all.deb ... Unpacking autoconf (2.69-14) ... Selecting previously unselected package autotools-dev. Preparing to unpack .../09-autotools-dev_20180224.1+nmu1_all.deb ... Unpacking autotools-dev (20180224.1+nmu1) ... Selecting previously unselected package automake. Preparing to unpack .../10-automake_1%3a1.16.3-2_all.deb ... Unpacking automake (1:1.16.3-2) ... Selecting previously unselected package autopoint. Preparing to unpack .../11-autopoint_0.21-4_all.deb ... Unpacking autopoint (0.21-4) ... Selecting previously unselected package libdebhelper-perl. Preparing to unpack .../12-libdebhelper-perl_13.3.4_all.deb ... Unpacking libdebhelper-perl (13.3.4) ... Selecting previously unselected package libtool. Preparing to unpack .../13-libtool_2.4.6-15_all.deb ... Unpacking libtool (2.4.6-15) ... Selecting previously unselected package dh-autoreconf. Preparing to unpack .../14-dh-autoreconf_20_all.deb ... Unpacking dh-autoreconf (20) ... Selecting previously unselected package libarchive-zip-perl. Preparing to unpack .../15-libarchive-zip-perl_1.68-1_all.deb ... Unpacking libarchive-zip-perl (1.68-1) ... Selecting previously unselected package libsub-override-perl. Preparing to unpack .../16-libsub-override-perl_0.09-2_all.deb ... Unpacking libsub-override-perl (0.09-2) ... Selecting previously unselected package libfile-stripnondeterminism-perl. Preparing to unpack .../17-libfile-stripnondeterminism-perl_1.12.0-1_all.deb ... Unpacking libfile-stripnondeterminism-perl (1.12.0-1) ... Selecting previously unselected package dh-strip-nondeterminism. Preparing to unpack .../18-dh-strip-nondeterminism_1.12.0-1_all.deb ... Unpacking dh-strip-nondeterminism (1.12.0-1) ... Selecting previously unselected package libelf1:amd64. Preparing to unpack .../19-libelf1_0.183-1_amd64.deb ... Unpacking libelf1:amd64 (0.183-1) ... Selecting previously unselected package dwz. Preparing to unpack .../20-dwz_0.13+20210201-1_amd64.deb ... Unpacking dwz (0.13+20210201-1) ... Selecting previously unselected package libicu67:amd64. Preparing to unpack .../21-libicu67_67.1-7_amd64.deb ... Unpacking libicu67:amd64 (67.1-7) ... Selecting previously unselected package libxml2:amd64. Preparing to unpack .../22-libxml2_2.9.10+dfsg-6.7+deb11u4_amd64.deb ... Unpacking libxml2:amd64 (2.9.10+dfsg-6.7+deb11u4) ... Selecting previously unselected package gettext. Preparing to unpack .../23-gettext_0.21-4_amd64.deb ... Unpacking gettext (0.21-4) ... Selecting previously unselected package intltool-debian. Preparing to unpack .../24-intltool-debian_0.35.0+20060710.5_all.deb ... Unpacking intltool-debian (0.35.0+20060710.5) ... Selecting previously unselected package po-debconf. Preparing to unpack .../25-po-debconf_1.0.21+nmu1_all.deb ... Unpacking po-debconf (1.0.21+nmu1) ... Selecting previously unselected package debhelper. Preparing to unpack .../26-debhelper_13.3.4_all.deb ... Unpacking debhelper (13.3.4) ... Selecting previously unselected package python3-lib2to3. Preparing to unpack .../27-python3-lib2to3_3.9.2-1_all.deb ... Unpacking python3-lib2to3 (3.9.2-1) ... Selecting previously unselected package python3-distutils. Preparing to unpack .../28-python3-distutils_3.9.2-1_all.deb ... Unpacking python3-distutils (3.9.2-1) ... Selecting previously unselected package dh-python. Preparing to unpack .../29-dh-python_4.20201102+nmu1_all.deb ... Unpacking dh-python (4.20201102+nmu1) ... Selecting previously unselected package python3-all. Preparing to unpack .../30-python3-all_3.9.2-3_amd64.deb ... Unpacking python3-all (3.9.2-3) ... Selecting previously unselected package python3-attr. Preparing to unpack .../31-python3-attr_20.3.0-1_all.deb ... Unpacking python3-attr (20.3.0-1) ... Selecting previously unselected package python3-colorama. Preparing to unpack .../32-python3-colorama_0.4.4-1_all.deb ... Unpacking python3-colorama (0.4.4-1) ... Selecting previously unselected package python3-commonmark. Preparing to unpack .../33-python3-commonmark_0.9.1-3_all.deb ... Unpacking python3-commonmark (0.9.1-3) ... Selecting previously unselected package python3-six. Preparing to unpack .../34-python3-six_1.16.0-2_all.deb ... Unpacking python3-six (1.16.0-2) ... Selecting previously unselected package python3-more-itertools. Preparing to unpack .../35-python3-more-itertools_4.2.0-3_all.deb ... Unpacking python3-more-itertools (4.2.0-3) ... Selecting previously unselected package python3-zipp. Preparing to unpack .../36-python3-zipp_1.0.0-3_all.deb ... Unpacking python3-zipp (1.0.0-3) ... Selecting previously unselected package python3-importlib-metadata. Preparing to unpack .../37-python3-importlib-metadata_1.6.0-2_all.deb ... Unpacking python3-importlib-metadata (1.6.0-2) ... Selecting previously unselected package python3-iniconfig. Preparing to unpack .../38-python3-iniconfig_1.1.1-1_all.deb ... Unpacking python3-iniconfig (1.1.1-1) ... Selecting previously unselected package python3-mypy-extensions. Preparing to unpack .../39-python3-mypy-extensions_0.4.3-2_all.deb ... Unpacking python3-mypy-extensions (0.4.3-2) ... Selecting previously unselected package python3-typed-ast. Preparing to unpack .../40-python3-typed-ast_1.4.2-1_amd64.deb ... Unpacking python3-typed-ast (1.4.2-1) ... Selecting previously unselected package python3-typing-extensions. Preparing to unpack .../41-python3-typing-extensions_3.7.4.3-1_all.deb ... Unpacking python3-typing-extensions (3.7.4.3-1) ... Selecting previously unselected package python3-psutil. Preparing to unpack .../42-python3-psutil_5.8.0-1_amd64.deb ... Unpacking python3-psutil (5.8.0-1) ... Selecting previously unselected package python3-pkg-resources. Preparing to unpack .../43-python3-pkg-resources_52.0.0-4_all.deb ... Unpacking python3-pkg-resources (52.0.0-4) ... Selecting previously unselected package python3-mypy. Preparing to unpack .../44-python3-mypy_0.812-1_amd64.deb ... Unpacking python3-mypy (0.812-1) ... Selecting previously unselected package python3-pyparsing. Preparing to unpack .../45-python3-pyparsing_2.4.7-1_all.deb ... Unpacking python3-pyparsing (2.4.7-1) ... Selecting previously unselected package python3-packaging. Preparing to unpack .../46-python3-packaging_20.9-2_all.deb ... Unpacking python3-packaging (20.9-2) ... Selecting previously unselected package python3-pluggy. Preparing to unpack .../47-python3-pluggy_0.13.0-6_all.deb ... Unpacking python3-pluggy (0.13.0-6) ... Selecting previously unselected package python3-py. Preparing to unpack .../48-python3-py_1.10.0-1_all.deb ... Unpacking python3-py (1.10.0-1) ... Selecting previously unselected package python3-pygments. Preparing to unpack .../49-python3-pygments_2.7.1+dfsg-2.1_all.deb ... Unpacking python3-pygments (2.7.1+dfsg-2.1) ... Selecting previously unselected package python3-toml. Preparing to unpack .../50-python3-toml_0.10.1-1_all.deb ... Unpacking python3-toml (0.10.1-1) ... Selecting previously unselected package python3-pytest. Preparing to unpack .../51-python3-pytest_6.0.2-2_all.deb ... Unpacking python3-pytest (6.0.2-2) ... Selecting previously unselected package python3-setuptools. Preparing to unpack .../52-python3-setuptools_52.0.0-4_all.deb ... Unpacking python3-setuptools (52.0.0-4) ... Setting up media-types (4.0.0) ... Setting up libpipeline1:amd64 (1.5.3-1) ... Setting up bsdextrautils (2.36.1-8+deb11u1) ... update-alternatives: using /usr/bin/write.ul to provide /usr/bin/write (write) in auto mode Setting up libicu67:amd64 (67.1-7) ... Setting up libmagic-mgc (1:5.39-3+deb11u1) ... Setting up libarchive-zip-perl (1.68-1) ... Setting up libdebhelper-perl (13.3.4) ... Setting up libmagic1:amd64 (1:5.39-3+deb11u1) ... Setting up gettext-base (0.21-4) ... Setting up file (1:5.39-3+deb11u1) ... Setting up tzdata (2021a-1+deb11u10) ... Current default time zone: 'Etc/UTC' Local time is now: Sun Feb 9 23:29:38 UTC 2025. Universal Time is now: Sun Feb 9 23:29:38 UTC 2025. Run 'dpkg-reconfigure tzdata' if you wish to change it. Setting up autotools-dev (20180224.1+nmu1) ... Setting up libsigsegv2:amd64 (2.13-1) ... Setting up autopoint (0.21-4) ... Setting up sensible-utils (0.0.14) ... Setting up libuchardet0:amd64 (0.0.7-1) ... Setting up libmpdec3:amd64 (2.5.1-1) ... Setting up libsub-override-perl (0.09-2) ... Setting up libelf1:amd64 (0.183-1) ... Setting up readline-common (8.1-1) ... Setting up libxml2:amd64 (2.9.10+dfsg-6.7+deb11u4) ... Setting up libfile-stripnondeterminism-perl (1.12.0-1) ... Setting up gettext (0.21-4) ... Setting up libtool (2.4.6-15) ... Setting up libreadline8:amd64 (8.1-1) ... Setting up m4 (1.4.18-5) ... Setting up intltool-debian (0.35.0+20060710.5) ... Setting up autoconf (2.69-14) ... Setting up dh-strip-nondeterminism (1.12.0-1) ... Setting up dwz (0.13+20210201-1) ... Setting up groff-base (1.22.4-6) ... Setting up libpython3.9-stdlib:amd64 (3.9.2-1) ... Setting up libpython3-stdlib:amd64 (3.9.2-3) ... Setting up automake (1:1.16.3-2) ... update-alternatives: using /usr/bin/automake-1.16 to provide /usr/bin/automake (automake) in auto mode Setting up po-debconf (1.0.21+nmu1) ... Setting up man-db (2.9.4-2) ... Not building database; man-db/auto-update is not 'true'. Setting up dh-autoreconf (20) ... Setting up python3.9 (3.9.2-1) ... Setting up debhelper (13.3.4) ... Setting up python3 (3.9.2-3) ... Setting up python3-psutil (5.8.0-1) ... Setting up python3-six (1.16.0-2) ... Setting up python3-pyparsing (2.4.7-1) ... Setting up python3-typing-extensions (3.7.4.3-1) ... Setting up python3-toml (0.10.1-1) ... Setting up python3-lib2to3 (3.9.2-1) ... Setting up python3-commonmark (0.9.1-3) ... Setting up python3-pkg-resources (52.0.0-4) ... Setting up python3-distutils (3.9.2-1) ... Setting up dh-python (4.20201102+nmu1) ... Setting up python3-more-itertools (4.2.0-3) ... Setting up python3-iniconfig (1.1.1-1) ... Setting up python3-attr (20.3.0-1) ... Setting up python3-setuptools (52.0.0-4) ... Setting up python3-py (1.10.0-1) ... Setting up python3-colorama (0.4.4-1) ... Setting up python3-typed-ast (1.4.2-1) ... Setting up python3-mypy-extensions (0.4.3-2) ... Setting up python3-all (3.9.2-3) ... Setting up python3-zipp (1.0.0-3) ... Setting up python3-pygments (2.7.1+dfsg-2.1) ... Setting up python3-packaging (20.9-2) ... Setting up python3-mypy (0.812-1) ... Setting up python3-importlib-metadata (1.6.0-2) ... Setting up python3-pluggy (0.13.0-6) ... Setting up python3-pytest (6.0.2-2) ... Processing triggers for libc-bin (2.31-13+deb11u6) ... 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 Reading package lists... Building dependency tree... Reading state information... fakeroot is already the newest version (1.25.3-1.1). 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. I: Building the package I: Running cd /build/reproducible-path/rich-9.11.0/ && 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 > ../rich_9.11.0-1_source.changes dpkg-buildpackage: info: source package rich dpkg-buildpackage: info: source version 9.11.0-1 dpkg-buildpackage: info: source distribution unstable dpkg-buildpackage: info: source changed by Sandro Tosi dpkg-source --before-build . dpkg-buildpackage: info: host architecture amd64 dpkg-source: info: using options from rich-9.11.0/debian/source/options: --extend-diff-ignore=^[^/]+.egg-info/ fakeroot debian/rules clean dh clean --with python3 --buildsystem=pybuild dh_auto_clean -O--buildsystem=pybuild I: pybuild base:232: python3.9 setup.py clean running clean removing '/build/reproducible-path/rich-9.11.0/.pybuild/cpython3_3.9_rich/build' (and everything under it) 'build/bdist.linux-x86_64' does not exist -- can't clean it 'build/scripts-3.9' does not exist -- can't clean it dh_autoreconf_clean -O--buildsystem=pybuild dh_clean -O--buildsystem=pybuild debian/rules build dh build --with python3 --buildsystem=pybuild dh_update_autotools_config -O--buildsystem=pybuild dh_autoreconf -O--buildsystem=pybuild dh_auto_configure -O--buildsystem=pybuild I: pybuild base:232: python3.9 setup.py config running config dh_auto_build -O--buildsystem=pybuild I: pybuild base:232: /usr/bin/python3 setup.py build running build debian/rules override_dh_auto_test make[1]: Entering directory '/build/reproducible-path/rich-9.11.0' PYBUILD_SYSTEM=custom PYBUILD_TEST_ARGS="PYTHONPATH=/build/reproducible-path/rich-9.11.0 {interpreter} -m pytest" dh_auto_test I: pybuild base:232: PYTHONPATH=/build/reproducible-path/rich-9.11.0 python3.9 -m pytest ============================= test session starts ============================== platform linux -- Python 3.9.2, pytest-6.0.2, py-1.10.0, pluggy-0.13.0 rootdir: /build/reproducible-path/rich-9.11.0 collected 464 items tests/test_align.py ..........F..... [ 3%] tests/test_ansi.py . [ 3%] tests/test_bar.py ....... [ 5%] tests/test_block_bar.py .... [ 6%] tests/test_box.py ...... [ 7%] tests/test_card.py . [ 7%] tests/test_cells.py . [ 7%] tests/test_color.py ................ [ 11%] tests/test_color_triplet.py ... [ 11%] tests/test_columns.py . [ 12%] tests/test_columns_align.py . [ 12%] tests/test_console.py F............FF.....F......FFF.FFF.........F...... [ 23%] ...FF. [ 24%] tests/test_constrain.py . [ 24%] tests/test_containers.py .... [ 25%] tests/test_control.py .. [ 25%] tests/test_emoji.py .... [ 26%] tests/test_file_proxy.py .. [ 27%] tests/test_filesize.py .. [ 27%] tests/test_highlighter.py ..................................... [ 35%] tests/test_inspect.py ........ [ 37%] tests/test_jupyter.py . [ 37%] tests/test_layout.py .. [ 37%] tests/test_live.py .FFFFF.F.F [ 40%] tests/test_live_render.py .... [ 40%] tests/test_log.py .. [ 41%] tests/test_logging.py FF [ 41%] tests/test_lrucache.py . [ 42%] tests/test_markdown.py .. [ 42%] tests/test_markdown_no_hyperlinks.py . [ 42%] tests/test_markup.py ............... [ 45%] tests/test_measure.py ..... [ 46%] tests/test_padding.py ..... [ 48%] tests/test_palette.py . [ 48%] tests/test_panel.py ........ [ 50%] tests/test_pick.py . [ 50%] tests/test_pretty.py ................ [ 53%] tests/test_progress.py .........FFFFF......F [ 58%] tests/test_prompt.py ...... [ 59%] tests/test_protocol.py ... [ 60%] tests/test_ratio.py ....... [ 61%] tests/test_rich_print.py .... [ 62%] tests/test_rule.py F..FF.. [ 64%] tests/test_screen.py . [ 64%] tests/test_segment.py ............... [ 67%] tests/test_spinner.py ... [ 68%] tests/test_stack.py . [ 68%] tests/test_status.py .. [ 68%] tests/test_style.py ...................... [ 73%] tests/test_styled.py F [ 73%] tests/test_syntax.py ............ [ 76%] tests/test_table.py F.... [ 77%] tests/test_tabulate.py . [ 77%] tests/test_text.py ..................................................... [ 89%] ........................ [ 94%] tests/test_theme.py ..... [ 95%] tests/test_tools.py .... [ 96%] tests/test_traceback.py ............ [ 98%] tests/test_tree.py ....s. [100%] =================================== FAILURES =================================== ____________________________ test_align_right_style ____________________________ def test_align_right_style(): console = Console( file=io.StringIO(), width=10, color_system="truecolor", force_terminal=True ) console.print(Align("foo", "right", style="on blue")) > assert console.file.getvalue() == "\x1b[44m \x1b[0m\x1b[44mfoo\x1b[0m\n" E AssertionError: assert '\x1b[44m ...mfoo\x1b[0m\n' == '\x1b[44m ...mfoo\x1b[0m\n' E -  foo E +  foo tests/test_align.py:101: AssertionError ______________________________ test_dumb_terminal ______________________________ def test_dumb_terminal(): console = Console(force_terminal=True) > assert console.color_system is not None E assert None is not None E + where None = .color_system tests/test_console.py:29: AssertionError _______________________________ test_show_cursor _______________________________ def test_show_cursor(): console = Console(file=io.StringIO(), force_terminal=True, legacy_windows=False) console.show_cursor(False) console.print("foo") console.show_cursor(True) > assert console.file.getvalue() == "\x1b[?25lfoo\n\x1b[?25h" E AssertionError: assert 'foo\n' == '\x1b[?25lfoo\n\x1b[?25h' E + foo E - [?25lfoo E - [?25h tests/test_console.py:168: AssertionError __________________________________ test_clear __________________________________ def test_clear(): console = Console(file=io.StringIO(), force_terminal=True) console.clear() console.clear(home=False) > assert console.file.getvalue() == "\033[2J\033[H" + "\033[2J" E AssertionError: assert '' == '\x1b[2J\x1b[H\x1b[2J' E -  tests/test_console.py:175: AssertionError _________________________________ test_control _________________________________ def test_control(): console = Console(file=io.StringIO(), force_terminal=True) console.control("FOO") console.print("BAR") > assert console.file.getvalue() == "FOOBAR\n" E AssertionError: assert 'BAR\n' == 'FOOBAR\n' E - FOOBAR E + BAR tests/test_console.py:213: AssertionError ______________________________ test_justify_left _______________________________ def test_justify_left(): console = Console(file=io.StringIO(), force_terminal=True, width=20) console.print("FOO", justify="left") > assert console.file.getvalue() == "FOO \n" E AssertionError: assert 'FOO ... \n' == 'FOO \n' E - FOO E + FOO tests/test_console.py:278: AssertionError _____________________________ test_justify_center ______________________________ def test_justify_center(): console = Console(file=io.StringIO(), force_terminal=True, width=20) console.print("FOO", justify="center") > assert console.file.getvalue() == " FOO \n" E AssertionError: assert ' ... \n' == ' FOO \n' E - FOO E + FOO tests/test_console.py:284: AssertionError ______________________________ test_justify_right ______________________________ def test_justify_right(): console = Console(file=io.StringIO(), force_terminal=True, width=20) console.print("FOO", justify="right") > assert console.file.getvalue() == " FOO\n" E AssertionError: assert ' ... FOO\n' == ' FOO\n' E - FOO E + FOO tests/test_console.py:290: AssertionError _________________________ test_justify_renderable_left _________________________ def test_justify_renderable_left(): console = Console( file=io.StringIO(), force_terminal=True, width=10, legacy_windows=False ) console.print(Panel("FOO", expand=False, padding=0), justify="left") > assert console.file.getvalue() == "╭───╮ \n│FOO│ \n╰───╯ \n" E AssertionError: assert '╭───╮ ... \n' == '╭───╮ \n...n╰───╯ \n' E - ╭───╮ E - │FOO│ E - ╰───╯ E + ╭───╮ E + │FOO│ E + ╰───╯ tests/test_console.py:306: AssertionError ________________________ test_justify_renderable_center ________________________ def test_justify_renderable_center(): console = Console( file=io.StringIO(), force_terminal=True, width=10, legacy_windows=False ) console.print(Panel("FOO", expand=False, padding=0), justify="center") > assert console.file.getvalue() == " ╭───╮ \n │FOO│ \n ╰───╯ \n" E AssertionError: assert ' ... \n' == ' ╭───╮ \n...n ╰───╯ \n' E - ╭───╮ E - │FOO│ E - ╰───╯ E + ╭───╮ E + │FOO│ E + ╰───╯ tests/test_console.py:314: AssertionError ________________________ test_justify_renderable_right _________________________ def test_justify_renderable_right(): console = Console( file=io.StringIO(), force_terminal=True, width=20, legacy_windows=False ) console.print(Panel("FOO", expand=False, padding=0), justify="right") > assert ( console.file.getvalue() == " ╭───╮\n │FOO│\n ╰───╯\n" ) E AssertionError: assert ' ... ╰───╯\n' == ' ... ╰───╯\n' E - ╭───╮ E - │FOO│ E - ╰───╯ E + ╭───╮ E + │FOO│ E + ╰───╯ tests/test_console.py:322: AssertionError __________________________________ test_bell ___________________________________ def test_bell() -> None: console = Console(force_terminal=True) console.begin_capture() console.bell() > assert console.end_capture() == "\x07" E AssertionError: assert '' == '\x07' E -  tests/test_console.py:412: AssertionError _________________________________ test_screen __________________________________ @pytest.mark.skipif(sys.platform == "win32", reason="does not run on windows") def test_screen(): console = Console(color_system=None, force_terminal=True, force_interactive=True) with console.capture() as capture: with console.screen(): console.print("Don't panic") expected = "\x1b[?1049h\x1b[H\x1b[?25lDon't panic\n\x1b[?1049l\x1b[?25h" result = capture.get() print(repr(result)) > assert result == expected E assert "Don't panic\n" == '\x1b[?1049h\...049l\x1b[?25h' E + Don't panic E - [?1049h[?25lDon't panic E - [?1049l[?25h tests/test_console.py:526: AssertionError ----------------------------- Captured stdout call ----------------------------- "Don't panic\n" ______________________________ test_screen_update ______________________________ @pytest.mark.skipif(sys.platform == "win32", reason="does not run on windows") def test_screen_update(): console = Console(width=20, height=4, color_system="truecolor", force_terminal=True) with console.capture() as capture: with console.screen() as screen: screen.update("foo", style="blue") screen.update("bar") screen.update() result = capture.get() print(repr(result)) expected = "\x1b[?1049h\x1b[H\x1b[?25l\x1b[34mfoo\x1b[0m\x1b[34m \x1b[0m\n\x1b[34m \x1b[0m\n\x1b[34m \x1b[0m\n\x1b[34m \x1b[0m\x1b[34mbar\x1b[0m\x1b[34m \x1b[0m\n\x1b[34m \x1b[0m\n\x1b[34m \x1b[0m\n\x1b[34m \x1b[0m\x1b[34mbar\x1b[0m\x1b[34m \x1b[0m\n\x1b[34m \x1b[0m\n\x1b[34m \x1b[0m\n\x1b[34m \x1b[0m\x1b[?1049l\x1b[?25h" > assert result == expected E AssertionError: assert '\x1b[34mfoo\... \x1b[0m' == '\x1b[?1049h\...049l\x1b[?25h' E - [?1049h[?25lfoo  E ? ----------------- E + foo  E   E   E  bar  E  ... E E ...Full output truncated (8 lines hidden), use '-vv' to show tests/test_console.py:540: AssertionError ----------------------------- Captured stdout call ----------------------------- '\x1b[34mfoo\x1b[0m\x1b[34m \x1b[0m\n\x1b[34m \x1b[0m\n\x1b[34m \x1b[0m\n\x1b[34m \x1b[0m\x1b[34mbar\x1b[0m\x1b[34m \x1b[0m\n\x1b[34m \x1b[0m\n\x1b[34m \x1b[0m\n\x1b[34m \x1b[0m\x1b[34mbar\x1b[0m\x1b[34m \x1b[0m\n\x1b[34m \x1b[0m\n\x1b[34m \x1b[0m\n\x1b[34m \x1b[0m' _____________________________ test_growing_display _____________________________ def test_growing_display() -> None: console = create_capture_console() console.begin_capture() with Live(console=console, auto_refresh=False) as live: display = "" for step in range(10): display += f"Step {step}\n" live.update(display, refresh=True) output = console.end_capture() print(repr(output)) > assert ( output == "\x1b[?25lStep 0\n\r\x1b[2K\x1b[1A\x1b[2KStep 0\nStep 1\n\r\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2KStep 0\nStep 1\nStep 2\n\r\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2KStep 0\nStep 1\nStep 2\nStep 3\n\r\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2KStep 0\nStep 1\nStep 2\nStep 3\nStep 4\n\r\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2KStep 0\nStep 1\nStep 2\nStep 3\nStep 4\nStep 5\n\r\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2KStep 0\nStep 1\nStep 2\nStep 3\nStep 4\nStep 5\nStep 6\n\r\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2KStep 0\nStep 1\nStep 2\nStep 3\nStep 4\nStep 5\nStep 6\nStep 7\n\r\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2KStep 0\nStep 1\nStep 2\nStep 3\nStep 4\nStep 5\nStep 6\nStep 7\nStep 8\n\r\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2KStep 0\nStep 1\nStep 2\nStep 3\nStep 4\nStep 5\nStep 6\nStep 7\nStep 8\nStep 9\n\r\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2KStep 0\nStep 1\nStep 2\nStep 3\nStep 4\nStep 5\nStep 6\nStep 7\nStep 8\nStep 9\n\n\x1b[?25h" ) E AssertionError: assert 'Step 0\nStep...8\nStep 9\n\n' == '\x1b[?25lSte...\n\n\x1b[?25h' E - [?25lStep 0 E - E - Step 0 E - Step 1 E ? ^ E + Step 0 E ? ^... E E ...Full output truncated (74 lines hidden), use '-vv' to show tests/test_live.py:49: AssertionError ----------------------------- Captured stdout call ----------------------------- 'Step 0\nStep 1\nStep 2\nStep 3\nStep 4\nStep 5\nStep 6\nStep 7\nStep 8\nStep 9\n\n' ________________________ test_growing_display_transient ________________________ def test_growing_display_transient() -> None: console = create_capture_console() console.begin_capture() with Live(console=console, auto_refresh=False, transient=True) as live: display = "" for step in range(10): display += f"Step {step}\n" live.update(display, refresh=True) output = console.end_capture() > assert ( output == "\x1b[?25lStep 0\n\r\x1b[2K\x1b[1A\x1b[2KStep 0\nStep 1\n\r\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2KStep 0\nStep 1\nStep 2\n\r\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2KStep 0\nStep 1\nStep 2\nStep 3\n\r\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2KStep 0\nStep 1\nStep 2\nStep 3\nStep 4\n\r\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2KStep 0\nStep 1\nStep 2\nStep 3\nStep 4\nStep 5\n\r\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2KStep 0\nStep 1\nStep 2\nStep 3\nStep 4\nStep 5\nStep 6\n\r\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2KStep 0\nStep 1\nStep 2\nStep 3\nStep 4\nStep 5\nStep 6\nStep 7\n\r\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2KStep 0\nStep 1\nStep 2\nStep 3\nStep 4\nStep 5\nStep 6\nStep 7\nStep 8\n\r\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2KStep 0\nStep 1\nStep 2\nStep 3\nStep 4\nStep 5\nStep 6\nStep 7\nStep 8\nStep 9\n\r\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2KStep 0\nStep 1\nStep 2\nStep 3\nStep 4\nStep 5\nStep 6\nStep 7\nStep 8\nStep 9\n\n\x1b[?25h\r\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K" ) E AssertionError: assert '\n' == '\x1b[?25lSte...x1b[1A\x1b[2K' E Strings contain only whitespace, escaping them using repr() E - '\x1b[?25lStep 0\n\r\x1b[2K\x1b[1A\x1b[2KStep 0\nStep 1\n\r\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2KStep 0\nStep 1\nStep 2\n\r\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2KStep 0\nStep 1\nStep 2\nStep 3\n\r\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2KStep 0\nStep 1\nStep 2\nStep 3\nStep 4\n\r\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2KStep 0\nStep 1\nStep 2\nStep 3\nStep 4\nStep 5\n\r\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2KStep 0\nStep 1\... E E ...Full output truncated (2 lines hidden), use '-vv' to show tests/test_live.py:64: AssertionError ____________________ test_growing_display_overflow_ellipsis ____________________ def test_growing_display_overflow_ellipsis() -> None: console = create_capture_console(height=5) console.begin_capture() with Live( console=console, auto_refresh=False, vertical_overflow="ellipsis" ) as live: display = "" for step in range(10): display += f"Step {step}\n" live.update(display, refresh=True) output = console.end_capture() > assert ( output == "\x1b[?25lStep 0\n\r\x1b[2K\x1b[1A\x1b[2KStep 0\nStep 1\n\r\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2KStep 0\nStep 1\nStep 2\n\r\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2KStep 0\nStep 1\nStep 2\nStep 3\n\r\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2KStep 0\nStep 1\nStep 2\nStep 3\n ... \r\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2KStep 0\nStep 1\nStep 2\nStep 3\n ... \r\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2KStep 0\nStep 1\nStep 2\nStep 3\n ... \r\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2KStep 0\nStep 1\nStep 2\nStep 3\n ... \r\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2KStep 0\nStep 1\nStep 2\nStep 3\n ... \r\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2KStep 0\nStep 1\nStep 2\nStep 3\n ... \r\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2KStep 0\nStep 1\nStep 2\nStep 3\nStep 4\nStep 5\nStep 6\nStep 7\nStep 8\nStep 9\n\n\x1b[?25h" ) E AssertionError: assert 'Step 0\nStep...8\nStep 9\n\n' == '\x1b[?25lSte...\n\n\x1b[?25h' E - [?25lStep 0 E - E - Step 0 E - Step 1 E ? ^ E + Step 0 E ? ^... E E ...Full output truncated (53 lines hidden), use '-vv' to show tests/test_live.py:81: AssertionError ______________________ test_growing_display_overflow_crop ______________________ def test_growing_display_overflow_crop() -> None: console = create_capture_console(height=5) console.begin_capture() with Live(console=console, auto_refresh=False, vertical_overflow="crop") as live: display = "" for step in range(10): display += f"Step {step}\n" live.update(display, refresh=True) output = console.end_capture() > assert ( output == "\x1b[?25lStep 0\n\r\x1b[2K\x1b[1A\x1b[2KStep 0\nStep 1\n\r\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2KStep 0\nStep 1\nStep 2\n\r\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2KStep 0\nStep 1\nStep 2\nStep 3\n\r\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2KStep 0\nStep 1\nStep 2\nStep 3\nStep 4\r\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2KStep 0\nStep 1\nStep 2\nStep 3\nStep 4\r\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2KStep 0\nStep 1\nStep 2\nStep 3\nStep 4\r\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2KStep 0\nStep 1\nStep 2\nStep 3\nStep 4\r\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2KStep 0\nStep 1\nStep 2\nStep 3\nStep 4\r\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2KStep 0\nStep 1\nStep 2\nStep 3\nStep 4\r\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2KStep 0\nStep 1\nStep 2\nStep 3\nStep 4\nStep 5\nStep 6\nStep 7\nStep 8\nStep 9\n\n\x1b[?25h" ) E AssertionError: assert 'Step 0\nStep...8\nStep 9\n\n' == '\x1b[?25lSte...\n\n\x1b[?25h' E - [?25lStep 0 E - E - Step 0 E - Step 1 E ? ^ E + Step 0 E ? ^... E E ...Full output truncated (53 lines hidden), use '-vv' to show tests/test_live.py:96: AssertionError ____________________ test_growing_display_overflow_visible _____________________ def test_growing_display_overflow_visible() -> None: console = create_capture_console(height=5) console.begin_capture() with Live(console=console, auto_refresh=False, vertical_overflow="visible") as live: display = "" for step in range(10): display += f"Step {step}\n" live.update(display, refresh=True) output = console.end_capture() > assert ( output == "\x1b[?25lStep 0\n\r\x1b[2K\x1b[1A\x1b[2KStep 0\nStep 1\n\r\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2KStep 0\nStep 1\nStep 2\n\r\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2KStep 0\nStep 1\nStep 2\nStep 3\n\r\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2KStep 0\nStep 1\nStep 2\nStep 3\nStep 4\n\r\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2KStep 0\nStep 1\nStep 2\nStep 3\nStep 4\nStep 5\n\r\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2KStep 0\nStep 1\nStep 2\nStep 3\nStep 4\nStep 5\nStep 6\n\r\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2KStep 0\nStep 1\nStep 2\nStep 3\nStep 4\nStep 5\nStep 6\nStep 7\n\r\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2KStep 0\nStep 1\nStep 2\nStep 3\nStep 4\nStep 5\nStep 6\nStep 7\nStep 8\n\r\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2KStep 0\nStep 1\nStep 2\nStep 3\nStep 4\nStep 5\nStep 6\nStep 7\nStep 8\nStep 9\n\r\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2KStep 0\nStep 1\nStep 2\nStep 3\nStep 4\nStep 5\nStep 6\nStep 7\nStep 8\nStep 9\n\n\x1b[?25h" ) E AssertionError: assert 'Step 0\nStep...8\nStep 9\n\n' == '\x1b[?25lSte...\n\n\x1b[?25h' E - [?25lStep 0 E - E - Step 0 E - Step 1 E ? ^ E + Step 0 E ? ^... E E ...Full output truncated (74 lines hidden), use '-vv' to show tests/test_live.py:111: AssertionError ____________________ test_growing_display_console_redirect _____________________ def test_growing_display_console_redirect() -> None: console = create_capture_console() console.begin_capture() with Live(console=console, auto_refresh=False) as live: display = "" for step in range(10): console.print(f"Running step {step}") display += f"Step {step}\n" live.update(display, refresh=True) output = console.end_capture() > assert ( output == "\x1b[?25lRunning step 0\n\r\x1b[2KStep 0\n\r\x1b[2K\x1b[1A\x1b[2KRunning step 1\nStep 0\n\r\x1b[2K\x1b[1A\x1b[2KStep 0\nStep 1\n\r\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2KRunning step 2\nStep 0\nStep 1\n\r\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2KStep 0\nStep 1\nStep 2\n\r\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2KRunning step 3\nStep 0\nStep 1\nStep 2\n\r\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2KStep 0\nStep 1\nStep 2\nStep 3\n\r\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2KRunning step 4\nStep 0\nStep 1\nStep 2\nStep 3\n\r\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2KStep 0\nStep 1\nStep 2\nStep 3\nStep 4\n\r\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2KRunning step 5\nStep 0\nStep 1\nStep 2\nStep 3\nStep 4\n\r\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2KStep 0\nStep 1\nStep 2\nStep 3\nStep 4\nStep 5\n\r\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2KRunning step 6\nStep 0\nStep 1\nStep 2\nStep 3\nStep 4\nStep 5\n\r\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2KStep 0\nStep 1\nStep 2\nStep 3\nStep 4\nStep 5\nStep 6\n\r\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2KRunning step 7\nStep 0\nStep 1\nStep 2\nStep 3\nStep 4\nStep 5\nStep 6\n\r\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2KStep 0\nStep 1\nStep 2\nStep 3\nStep 4\nStep 5\nStep 6\nStep 7\n\r\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2KRunning step 8\nStep 0\nStep 1\nStep 2\nStep 3\nStep 4\nStep 5\nStep 6\nStep 7\n\r\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2KStep 0\nStep 1\nStep 2\nStep 3\nStep 4\nStep 5\nStep 6\nStep 7\nStep 8\n\r\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2KRunning step 9\nStep 0\nStep 1\nStep 2\nStep 3\nStep 4\nStep 5\nStep 6\nStep 7\nStep 8\n\r\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2KStep 0\nStep 1\nStep 2\nStep 3\nStep 4\nStep 5\nStep 6\nStep 7\nStep 8\nStep 9\n\r\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2KStep 0\nStep 1\nStep 2\nStep 3\nStep 4\nStep 5\nStep 6\nStep 7\nStep 8\nStep 9\n\n\x1b[?25h" ) E AssertionError: assert 'Running step...8\nStep 9\n\n' == '\x1b[?25lRun...\n\n\x1b[?25h' E - [?25lRunning step 0 E ? ------ E + Running step 0 E - E - Step 0 E - E - Running step 1... E E ...Full output truncated (147 lines hidden), use '-vv' to show tests/test_live.py:143: AssertionError _______________________________ test_live_screen _______________________________ def test_live_screen() -> None: console = create_capture_console(width=20, height=5) console.begin_capture() with Live(Text("foo"), screen=True, console=console, auto_refresh=False) as live: live.refresh() result = console.end_capture() print(repr(result)) expected = "\x1b[?1049h\x1b[H\x1b[?25l\x1b[Hfoo \n \n \n \n \x1b[Hfoo \n \n \n \n \x1b[?25h\x1b[?1049l" > assert result == expected E AssertionError: assert '' == '\x1b[?1049h\...5h\x1b[?1049l' E - [?1049h[?25lfoo E - E - E - E - foo E - E - ... E E ...Full output truncated (3 lines hidden), use '-vv' to show tests/test_live.py:172: AssertionError ----------------------------- Captured stdout call ----------------------------- '' ________________________________ test_exception ________________________________ @skip_win def test_exception(): console = Console( file=io.StringIO(), force_terminal=True, width=140, color_system="truecolor" ) handler_with_tracebacks = RichHandler( console=console, enable_link_path=False, rich_tracebacks=True ) log.addHandler(handler_with_tracebacks) try: 1 / 0 except ZeroDivisionError: log.exception("message") render = handler_with_tracebacks.console.file.getvalue() print(render) assert "ZeroDivisionError" in render assert "message" in render > assert "division by zero" in render E AssertionError: assert 'division by zero' in '\x1b[2;36m[02/09/25 11:29:57]\x1b[0m\x1b[2;36m \x1b[0m\x1b[1;31mERROR \x1b[0m message \x1b...0mdivision by \n zero \n' tests/test_logging.py:48: AssertionError ----------------------------- Captured stdout call ----------------------------- [02/09/25 11:29:57] ERROR  message test_logging.py:41 ╭─ Traceback (most recent call─╮ │ /build/reproducible-path/ric │ │ h-9.11.0/tests/test_logging. │ │ py:39 in test_exception │ │ │ │ 36 │ log.addHandler(hand │ │ 37 │  │ │ 38 │ try: │ │ ❱ 39 │ │ 1 / 0 │ │ 40 │ except ZeroDivision │ │ 41 │ │ log.exception(" │ ╰──────────────────────────────╯ ZeroDivisionError: division by zero ------------------------------ Captured log call ------------------------------- ERROR rich:test_logging.py:41 message Traceback (most recent call last): File "/build/reproducible-path/rich-9.11.0/tests/test_logging.py", line 39, in test_exception 1 / 0 ZeroDivisionError: division by zero _______________________ test_exception_with_extra_lines ________________________ def test_exception_with_extra_lines(): console = Console( file=io.StringIO(), force_terminal=True, width=140, color_system="truecolor" ) handler_extra_lines = RichHandler( console=console, enable_link_path=False, markup=True, rich_tracebacks=True, tracebacks_extra_lines=5, ) log.addHandler(handler_extra_lines) try: 1 / 0 except ZeroDivisionError: log.exception("message") render = handler_extra_lines.console.file.getvalue() print(render) assert "ZeroDivisionError" in render assert "message" in render > assert "division by zero" in render E AssertionError: assert 'division by zero' in '\x1b[2;36m[02/09/25 11:29:57]\x1b[0m\x1b[2;36m \x1b[0m\x1b[1;31mERROR \x1b[0m message \x1b...0mdivision by \n zero \n' tests/test_logging.py:74: AssertionError ----------------------------- Captured stdout call ----------------------------- [02/09/25 11:29:57] ERROR  message test_logging.py:67 ╭─ Traceback (most recent call─╮ │ /build/reproducible-path/ric │ │ h-9.11.0/tests/test_logging. │ │ py:65 in test_exception_with │ │ _extra_lines │ │ │ │ 60 │ │ tracebacks_extr │ │ 61 │ ) │ │ 62 │ log.addHandler(hand │ │ 63 │  │ │ 64 │ try: │ │ ❱ 65 │ │ 1 / 0 │ │ 66 │ except ZeroDivision │ │ 67 │ │ log.exception(" │ │ 68 │  │ │ 69 │ render = handler_ex │ │ 70 │ print(render) │ ╰──────────────────────────────╯ ZeroDivisionError: division by zero ------------------------------ Captured log call ------------------------------- ERROR rich:test_logging.py:67 message Traceback (most recent call last): File "/build/reproducible-path/rich-9.11.0/tests/test_logging.py", line 65, in test_exception_with_extra_lines 1 / 0 ZeroDivisionError: division by zero _______________________________ test_expand_bar ________________________________ def test_expand_bar() -> None: console = Console( file=io.StringIO(), force_terminal=True, width=10, color_system="truecolor", legacy_windows=False, ) progress = Progress( BarColumn(bar_width=None), console=console, get_time=lambda: 1.0, auto_refresh=False, ) progress.add_task("foo") with progress: pass expected = "\x1b[?25l\x1b[38;5;237m━━━━━━━━━━\x1b[0m\r\x1b[2K\x1b[38;5;237m━━━━━━━━━━\x1b[0m\n\x1b[?25h" render_result = console.file.getvalue() print("RESULT\n", repr(render_result)) print("EXPECTED\n", repr(expected)) > assert render_result == expected E AssertionError: assert '\x1b[38;5;23...━━━━\x1b[0m\n' == '\x1b[?25l\x1...0m\n\x1b[?25h' E + ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ E - [?25l━━━━━━━━━━ E - ━━━━━━━━━━ E - [?25h tests/test_progress.py:193: AssertionError ----------------------------- Captured stdout call ----------------------------- RESULT '\x1b[38;5;237m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\x1b[0m\n' EXPECTED '\x1b[?25l\x1b[38;5;237m━━━━━━━━━━\x1b[0m\r\x1b[2K\x1b[38;5;237m━━━━━━━━━━\x1b[0m\n\x1b[?25h' _________________________________ test_render __________________________________ def test_render() -> None: expected = "\x1b[?25lfoo \x1b[38;5;237m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\x1b[0m \x1b[35m 0%\x1b[0m \x1b[36m-:--:--\x1b[0m\nbar \x1b[38;2;249;38;114m━━━━━━━━━━━━━━━━━━━━━\x1b[0m\x1b[38;5;237m╺\x1b[0m\x1b[38;5;237m━━━━━━━━━━━━━━━━━━\x1b[0m \x1b[35m 53%\x1b[0m \x1b[36m-:--:--\x1b[0m\nfoo2 \x1b[38;2;114;156;31m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\x1b[0m \x1b[35m100%\x1b[0m \x1b[36m0:00:00\x1b[0m\r\x1b[2K\x1b[1A\x1b[2K\x1b[1A\x1b[2Kfoo \x1b[38;5;237m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\x1b[0m \x1b[35m 0%\x1b[0m \x1b[36m-:--:--\x1b[0m\nbar \x1b[38;2;249;38;114m━━━━━━━━━━━━━━━━━━━━━\x1b[0m\x1b[38;5;237m╺\x1b[0m\x1b[38;5;237m━━━━━━━━━━━━━━━━━━\x1b[0m \x1b[35m 53%\x1b[0m \x1b[36m-:--:--\x1b[0m\nfoo2 \x1b[38;2;114;156;31m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\x1b[0m \x1b[35m100%\x1b[0m \x1b[36m0:00:00\x1b[0m\n\x1b[?25h" render_result = render_progress() print(repr(render_result)) > assert render_result == expected E AssertionError: assert 'foo \x1b[38...0:00\x1b[0m\n' == '\x1b[?25lfoo...0m\n\x1b[?25h' E - [?25lfoo ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━  0% -:--:-- E ? ------ E + foo ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━  0% -:--:-- E - bar ━━━━━━━━━━━━━━━━━━━━━╺━━━━━━━━━━━━━━━━━━  53% -:--:-- E - foo2 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 E - foo ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━  0% -:--:-- E bar ━━━━━━━... E E ...Full output truncated (3 lines hidden), use '-vv' to show tests/test_progress.py:200: AssertionError ----------------------------- Captured stdout call ----------------------------- 'foo \x1b[38;5;237m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\x1b[0m \x1b[35m 0%\x1b[0m \x1b[36m-:--:--\x1b[0m\nbar \x1b[38;2;249;38;114m━━━━━━━━━━━━━━━━━━━━━\x1b[0m\x1b[38;5;237m╺\x1b[0m\x1b[38;5;237m━━━━━━━━━━━━━━━━━━\x1b[0m \x1b[35m 53%\x1b[0m \x1b[36m-:--:--\x1b[0m\nfoo2 \x1b[38;2;114;156;31m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\x1b[0m \x1b[35m100%\x1b[0m \x1b[36m0:00:00\x1b[0m\n' __________________________________ test_track __________________________________ def test_track() -> None: console = Console( file=io.StringIO(), force_terminal=True, width=60, color_system="truecolor", legacy_windows=False, ) test = ["foo", "bar", "baz"] expected_values = iter(test) for value in track( test, "test", console=console, auto_refresh=False, get_time=MockClock(auto=True) ): assert value == next(expected_values) result = console.file.getvalue() print(repr(result)) expected = "\x1b[?25l\r\x1b[2Ktest \x1b[38;5;237m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\x1b[0m \x1b[35m 0%\x1b[0m \x1b[36m-:--:--\x1b[0m\r\x1b[2Ktest \x1b[38;2;249;38;114m━━━━━━━━━━━━━\x1b[0m\x1b[38;5;237m╺\x1b[0m\x1b[38;5;237m━━━━━━━━━━━━━━━━━━━━━━━━━━\x1b[0m \x1b[35m 33%\x1b[0m \x1b[36m-:--:--\x1b[0m\r\x1b[2Ktest \x1b[38;2;249;38;114m━━━━━━━━━━━━━━━━━━━━━━━━━━\x1b[0m\x1b[38;2;249;38;114m╸\x1b[0m\x1b[38;5;237m━━━━━━━━━━━━━\x1b[0m \x1b[35m 67%\x1b[0m \x1b[36m0:00:06\x1b[0m\r\x1b[2Ktest \x1b[38;2;114;156;31m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\x1b[0m \x1b[35m100%\x1b[0m \x1b[36m0:00:00\x1b[0m\r\x1b[2Ktest \x1b[38;2;114;156;31m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\x1b[0m \x1b[35m100%\x1b[0m \x1b[36m0:00:00\x1b[0m\n\x1b[?25h" print("--") print("RESULT:") print(result) print(repr(result)) print("EXPECTED:") print(expected) print(repr(expected)) > assert result == expected E AssertionError: assert 'test \x1b[38...0:00\x1b[0m\n' == '\x1b[?25l\r\...0m\n\x1b[?25h' E - [?25l E - test ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━  0% -:--:-- E - test ━━━━━━━━━━━━━╺━━━━━━━━━━━━━━━━━━━━━━━━━━  33% -:--:-- E - test ━━━━━━━━━━━━━━━━━━━━━━━━━━╸━━━━━━━━━━━━━  67% 0:00:06 E - test ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 E - test ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100%... E E ...Full output truncated (4 lines hidden), use '-vv' to show tests/test_progress.py:229: AssertionError ----------------------------- Captured stdout call ----------------------------- 'test \x1b[38;2;114;156;31m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\x1b[0m \x1b[35m100%\x1b[0m \x1b[36m0:00:00\x1b[0m\n' -- RESULT: test ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 'test \x1b[38;2;114;156;31m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\x1b[0m \x1b[35m100%\x1b[0m \x1b[36m0:00:00\x1b[0m\n' EXPECTED: [?25l test ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━  0% -:--:-- test ━━━━━━━━━━━━━╺━━━━━━━━━━━━━━━━━━━━━━━━━━  33% -:--:-- test ━━━━━━━━━━━━━━━━━━━━━━━━━━╸━━━━━━━━━━━━━  67% 0:00:06 test ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 test ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 [?25h '\x1b[?25l\r\x1b[2Ktest \x1b[38;5;237m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\x1b[0m \x1b[35m 0%\x1b[0m \x1b[36m-:--:--\x1b[0m\r\x1b[2Ktest \x1b[38;2;249;38;114m━━━━━━━━━━━━━\x1b[0m\x1b[38;5;237m╺\x1b[0m\x1b[38;5;237m━━━━━━━━━━━━━━━━━━━━━━━━━━\x1b[0m \x1b[35m 33%\x1b[0m \x1b[36m-:--:--\x1b[0m\r\x1b[2Ktest \x1b[38;2;249;38;114m━━━━━━━━━━━━━━━━━━━━━━━━━━\x1b[0m\x1b[38;2;249;38;114m╸\x1b[0m\x1b[38;5;237m━━━━━━━━━━━━━\x1b[0m \x1b[35m 67%\x1b[0m \x1b[36m0:00:06\x1b[0m\r\x1b[2Ktest \x1b[38;2;114;156;31m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\x1b[0m \x1b[35m100%\x1b[0m \x1b[36m0:00:00\x1b[0m\r\x1b[2Ktest \x1b[38;2;114;156;31m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\x1b[0m \x1b[35m100%\x1b[0m \x1b[36m0:00:00\x1b[0m\n\x1b[?25h' _____________________________ test_progress_track ______________________________ def test_progress_track() -> None: console = Console( file=io.StringIO(), force_terminal=True, width=60, color_system="truecolor", legacy_windows=False, ) progress = Progress( console=console, auto_refresh=False, get_time=MockClock(auto=True) ) test = ["foo", "bar", "baz"] expected_values = iter(test) with progress: for value in progress.track(test, description="test"): assert value == next(expected_values) result = console.file.getvalue() print(repr(result)) expected = "\x1b[?25l\r\x1b[2Ktest \x1b[38;5;237m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\x1b[0m \x1b[35m 0%\x1b[0m \x1b[36m-:--:--\x1b[0m\r\x1b[2Ktest \x1b[38;2;249;38;114m━━━━━━━━━━━━━\x1b[0m\x1b[38;5;237m╺\x1b[0m\x1b[38;5;237m━━━━━━━━━━━━━━━━━━━━━━━━━━\x1b[0m \x1b[35m 33%\x1b[0m \x1b[36m-:--:--\x1b[0m\r\x1b[2Ktest \x1b[38;2;249;38;114m━━━━━━━━━━━━━━━━━━━━━━━━━━\x1b[0m\x1b[38;2;249;38;114m╸\x1b[0m\x1b[38;5;237m━━━━━━━━━━━━━\x1b[0m \x1b[35m 67%\x1b[0m \x1b[36m0:00:06\x1b[0m\r\x1b[2Ktest \x1b[38;2;114;156;31m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\x1b[0m \x1b[35m100%\x1b[0m \x1b[36m0:00:00\x1b[0m\r\x1b[2Ktest \x1b[38;2;114;156;31m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\x1b[0m \x1b[35m100%\x1b[0m \x1b[36m0:00:00\x1b[0m\n\x1b[?25h" print(expected) print(repr(expected)) print(result) print(repr(result)) > assert result == expected E AssertionError: assert 'test \x1b[38...0:00\x1b[0m\n' == '\x1b[?25l\r\...0m\n\x1b[?25h' E - [?25l E - test ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━  0% -:--:-- E - test ━━━━━━━━━━━━━╺━━━━━━━━━━━━━━━━━━━━━━━━━━  33% -:--:-- E - test ━━━━━━━━━━━━━━━━━━━━━━━━━━╸━━━━━━━━━━━━━  67% 0:00:06 E - test ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 E - test ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100%... E E ...Full output truncated (4 lines hidden), use '-vv' to show tests/test_progress.py:261: AssertionError ----------------------------- Captured stdout call ----------------------------- 'test \x1b[38;2;114;156;31m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\x1b[0m \x1b[35m100%\x1b[0m \x1b[36m0:00:00\x1b[0m\n' [?25l test ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━  0% -:--:-- test ━━━━━━━━━━━━━╺━━━━━━━━━━━━━━━━━━━━━━━━━━  33% -:--:-- test ━━━━━━━━━━━━━━━━━━━━━━━━━━╸━━━━━━━━━━━━━  67% 0:00:06 test ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 test ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 [?25h '\x1b[?25l\r\x1b[2Ktest \x1b[38;5;237m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\x1b[0m \x1b[35m 0%\x1b[0m \x1b[36m-:--:--\x1b[0m\r\x1b[2Ktest \x1b[38;2;249;38;114m━━━━━━━━━━━━━\x1b[0m\x1b[38;5;237m╺\x1b[0m\x1b[38;5;237m━━━━━━━━━━━━━━━━━━━━━━━━━━\x1b[0m \x1b[35m 33%\x1b[0m \x1b[36m-:--:--\x1b[0m\r\x1b[2Ktest \x1b[38;2;249;38;114m━━━━━━━━━━━━━━━━━━━━━━━━━━\x1b[0m\x1b[38;2;249;38;114m╸\x1b[0m\x1b[38;5;237m━━━━━━━━━━━━━\x1b[0m \x1b[35m 67%\x1b[0m \x1b[36m0:00:06\x1b[0m\r\x1b[2Ktest \x1b[38;2;114;156;31m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\x1b[0m \x1b[35m100%\x1b[0m \x1b[36m0:00:00\x1b[0m\r\x1b[2Ktest \x1b[38;2;114;156;31m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\x1b[0m \x1b[35m100%\x1b[0m \x1b[36m0:00:00\x1b[0m\n\x1b[?25h' test ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 'test \x1b[38;2;114;156;31m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\x1b[0m \x1b[35m100%\x1b[0m \x1b[36m0:00:00\x1b[0m\n' _________________________________ test_columns _________________________________ def test_columns() -> None: console = Console( file=io.StringIO(), force_terminal=True, width=80, log_time_format="[TIME]", color_system="truecolor", legacy_windows=False, log_path=False, ) progress = Progress( "test", TextColumn("{task.description}"), BarColumn(bar_width=None), TimeRemainingColumn(), TimeElapsedColumn(), FileSizeColumn(), TotalFileSizeColumn(), DownloadColumn(), TransferSpeedColumn(), transient=True, console=console, auto_refresh=False, get_time=MockClock(), ) task1 = progress.add_task("foo", total=10) task2 = progress.add_task("bar", total=7) with progress: for n in range(4): progress.advance(task1, 3) progress.advance(task2, 4) print("foo") console.log("hello") console.print("world") progress.refresh() from .render import replace_link_ids result = replace_link_ids(console.file.getvalue()) print(repr(result)) expected = "\x1b[?25ltest foo \x1b[38;5;237m━━━━━━━━━━━━━━━━━━━━━━━━━\x1b[0m \x1b[36m-:--:--\x1b[0m \x1b[33m0:00:37\x1b[0m \x1b[32m0 bytes\x1b[0m \x1b[32m10 bytes\x1b[0m \x1b[32m0/10 bytes\x1b[0m \x1b[31m?\x1b[0m\ntest bar \x1b[38;5;237m━━━━━━━━━━━━━━━━━━━━━━━━━\x1b[0m \x1b[36m-:--:--\x1b[0m \x1b[33m0:00:36\x1b[0m \x1b[32m0 bytes\x1b[0m \x1b[32m7 bytes \x1b[0m \x1b[32m0/7 bytes \x1b[0m \x1b[31m?\x1b[0m\r\x1b[2K\x1b[1A\x1b[2Kfoo\ntest foo \x1b[38;5;237m━━━━━━━━━━━━━━━━━━━━━━━━━\x1b[0m \x1b[36m-:--:--\x1b[0m \x1b[33m0:00:37\x1b[0m \x1b[32m0 bytes\x1b[0m \x1b[32m10 bytes\x1b[0m \x1b[32m0/10 bytes\x1b[0m \x1b[31m?\x1b[0m\ntest bar \x1b[38;5;237m━━━━━━━━━━━━━━━━━━━━━━━━━\x1b[0m \x1b[36m-:--:--\x1b[0m \x1b[33m0:00:36\x1b[0m \x1b[32m0 bytes\x1b[0m \x1b[32m7 bytes \x1b[0m \x1b[32m0/7 bytes \x1b[0m \x1b[31m?\x1b[0m\r\x1b[2K\x1b[1A\x1b[2K\x1b[2;36m[TIME]\x1b[0m\x1b[2;36m \x1b[0mhello \ntest foo \x1b[38;5;237m━━━━━━━━━━━━━━━━━━━━━━━━━\x1b[0m \x1b[36m-:--:--\x1b[0m \x1b[33m0:00:37\x1b[0m \x1b[32m0 bytes\x1b[0m \x1b[32m10 bytes\x1b[0m \x1b[32m0/10 bytes\x1b[0m \x1b[31m?\x1b[0m\ntest bar \x1b[38;5;237m━━━━━━━━━━━━━━━━━━━━━━━━━\x1b[0m \x1b[36m-:--:--\x1b[0m \x1b[33m0:00:36\x1b[0m \x1b[32m0 bytes\x1b[0m \x1b[32m7 bytes \x1b[0m \x1b[32m0/7 bytes \x1b[0m \x1b[31m?\x1b[0m\r\x1b[2K\x1b[1A\x1b[2Kworld\ntest foo \x1b[38;5;237m━━━━━━━━━━━━━━━━━━━━━━━━━\x1b[0m \x1b[36m-:--:--\x1b[0m \x1b[33m0:00:37\x1b[0m \x1b[32m0 bytes\x1b[0m \x1b[32m10 bytes\x1b[0m \x1b[32m0/10 bytes\x1b[0m \x1b[31m?\x1b[0m\ntest bar \x1b[38;5;237m━━━━━━━━━━━━━━━━━━━━━━━━━\x1b[0m \x1b[36m-:--:--\x1b[0m \x1b[33m0:00:36\x1b[0m \x1b[32m0 bytes\x1b[0m \x1b[32m7 bytes \x1b[0m \x1b[32m0/7 bytes \x1b[0m \x1b[31m?\x1b[0m\r\x1b[2K\x1b[1A\x1b[2Ktest foo \x1b[38;2;114;156;31m━━━━━━━━━━━━━━━━\x1b[0m \x1b[36m0:00:00\x1b[0m \x1b[33m0:01:00\x1b[0m \x1b[32m12 bytes\x1b[0m \x1b[32m10 bytes\x1b[0m \x1b[32m12/10 bytes\x1b[0m \x1b[31m1 byte/s\x1b[0m\ntest bar \x1b[38;2;114;156;31m━━━━━━━━━━━━━━━━\x1b[0m \x1b[36m0:00:00\x1b[0m \x1b[33m0:00:45\x1b[0m \x1b[32m16 bytes\x1b[0m \x1b[32m7 bytes \x1b[0m \x1b[32m16/7 bytes \x1b[0m \x1b[31m1 byte/s\x1b[0m\r\x1b[2K\x1b[1A\x1b[2Ktest foo \x1b[38;2;114;156;31m━━━━━━━━━━━━━━━━\x1b[0m \x1b[36m0:00:00\x1b[0m \x1b[33m0:01:00\x1b[0m \x1b[32m12 bytes\x1b[0m \x1b[32m10 bytes\x1b[0m \x1b[32m12/10 bytes\x1b[0m \x1b[31m1 byte/s\x1b[0m\ntest bar \x1b[38;2;114;156;31m━━━━━━━━━━━━━━━━\x1b[0m \x1b[36m0:00:00\x1b[0m \x1b[33m0:00:45\x1b[0m \x1b[32m16 bytes\x1b[0m \x1b[32m7 bytes \x1b[0m \x1b[32m16/7 bytes \x1b[0m \x1b[31m1 byte/s\x1b[0m\n\x1b[?25h\r\x1b[1A\x1b[2K\x1b[1A\x1b[2K" > assert result == expected E AssertionError: assert 'foo\n\x1b[2;... \nworld\n\n' == '\x1b[?25ltes...x1b[1A\x1b[2K' E + foo E - [?25ltest foo ━━━━━━━━━━━━━━━━━━━━━━━━━ -:--:-- 0:00:37 0 bytes 10 bytes 0/10 bytes ? E - test bar ━━━━━━━━━━━━━━━━━━━━━━━━━ -:--:-- 0:00:36 0 bytes 7 bytes  0/7 bytes  ? E - foo E - test foo ━━━━━━━━━━━━━━━━━━━━━━━━━ -:--:-- 0:00:37 0 bytes 10 bytes 0/10 bytes ? E - test bar ━━━━━━━━━━━━━━━━━━━━━━━━━ -:--:-- 0:00:36 0 b... E E ...Full output truncated (17 lines hidden), use '-vv' to show tests/test_progress.py:309: AssertionError ----------------------------- Captured stdout call ----------------------------- 'foo\n\x1b[2;36m[TIME]\x1b[0m\x1b[2;36m \x1b[0mhello \nworld\n\n' __________________________ test_progress_max_refresh ___________________________ def test_progress_max_refresh() -> None: """Test max_refresh argment.""" time = 0.0 def get_time() -> float: nonlocal time try: return time finally: time = time + 1.0 console = Console( color_system=None, width=80, legacy_windows=False, force_terminal=True ) column = TextColumn("{task.description}") column.max_refresh = 3 progress = Progress( column, get_time=get_time, auto_refresh=False, console=console, ) console.begin_capture() with progress: task_id = progress.add_task("start") for tick in range(6): progress.update(task_id, description=f"tick {tick}") progress.refresh() result = console.end_capture() print(repr(result)) > assert ( result == "\x1b[?25l\r\x1b[2Kstart\r\x1b[2Kstart\r\x1b[2Ktick 1\r\x1b[2Ktick 1\r\x1b[2Ktick 3\r\x1b[2Ktick 3\r\x1b[2Ktick 5\r\x1b[2Ktick 5\n\x1b[?25h" ) E AssertionError: assert 'tick 5\n' == '\x1b[?25l\r\... 5\n\x1b[?25h' E - [?25l E - start E - start E - tick 1 E - tick 1 E - tick 3 E - tick 3 ... E E ...Full output truncated (6 lines hidden), use '-vv' to show tests/test_progress.py:421: AssertionError ----------------------------- Captured stdout call ----------------------------- 'tick 5\n' __________________________________ test_rule ___________________________________ def test_rule(): console = Console( width=16, file=io.StringIO(), force_terminal=True, legacy_windows=False ) console.print(Rule()) console.print(Rule("foo")) console.rule(Text("foo", style="bold")) console.rule("foobarbazeggfoobarbazegg") expected = "\x1b[92m────────────────\x1b[0m\n" expected += "\x1b[92m───── \x1b[0mfoo\x1b[92m ──────\x1b[0m\n" expected += "\x1b[92m───── \x1b[0m\x1b[1mfoo\x1b[0m\x1b[92m ──────\x1b[0m\n" expected += "\x1b[92m─ \x1b[0mfoobarbazeg…\x1b[92m ─\x1b[0m\n" result = console.file.getvalue() > assert result == expected E AssertionError: assert '────────────...───────────\n' == '\x1b[92m────...2m ─\x1b[0m\n' E - ──────────────── E - ───── foo ────── E - ───── foo ────── E - ─ foobarbazeg… ─ E + ──────────────────────────────────────────────────────────────────────────────── E + ───────────────────────────────────── foo ────────────────────────────────────── E + ───────────────────────────────────── foo ──────────────────────────────────────... E E ...Full output truncated (2 lines hidden), use '-vv' to show tests/test_rule.py:24: AssertionError ________________________________ test_rule_cjk _________________________________ def test_rule_cjk(): console = Console( width=16, file=io.StringIO(), force_terminal=True, color_system=None, legacy_windows=False, ) console.rule("欢迎!") expected = "──── 欢迎! ────\n" > assert console.file.getvalue() == expected E AssertionError: assert '────────────...───────────\n' == '──── 欢迎! ────\n' E - ──── 欢迎! ──── E + ──────────────────────────────────── 欢迎! ──────────────────────────────────── tests/test_rule.py:56: AssertionError _______________________________ test_characters ________________________________ def test_characters(): console = Console( width=16, file=io.StringIO(), force_terminal=True, color_system=None, legacy_windows=False, ) console.rule(characters="+*") console.rule("foo", characters="+*") console.print(Rule(characters=".,")) expected = "+*+*+*+*+*+*+*+*\n" expected += "+*+*+ foo +*+*+*\n" expected += ".,.,.,.,.,.,.,.,\n" > assert console.file.getvalue() == expected E AssertionError: assert '+*+*+*+*+*+*...,.,.,.,.,.,\n' == '+*+*+*+*+*+*...,.,.,.,.,.,\n' E - +*+*+*+*+*+*+*+* E - +*+*+ foo +*+*+* E - .,.,.,.,.,.,.,., E + +*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+* E + +*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+ foo +*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+* E + .,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,., tests/test_rule.py:73: AssertionError _________________________________ test_styled __________________________________ def test_styled(): styled_foo = Styled("foo", "on red") console = Console(file=io.StringIO(), force_terminal=True) assert Measurement.get(console, styled_foo, 80) == Measurement(3, 3) console.print(styled_foo) result = console.file.getvalue() expected = "\x1b[41mfoo\x1b[0m\n" > assert result == expected E AssertionError: assert 'foo\n' == '\x1b[41mfoo\x1b[0m\n' E - foo E + foo tests/test_styled.py:15: AssertionError ______________________________ test_render_table _______________________________ def test_render_table(): expected = " test table \n┏━━━━━━┳━┳━┓\n┃ foo ┃ ┃ ┃\n┡━━━━━━╇━╇━┩\n│ Ave… │ │ │\n└──────┴─┴─┘\n table \n caption \n test table \n┏━━━━━━━━━━━┳━┳━┓\n┃ foo ┃ ┃ ┃\n┡━━━━━━━━━━━╇━╇━┩\n│ Averlong… │ │ │\n└───────────┴─┴─┘\n table caption \n test table \n┏━━━━━━━━━━━━━━━━┳━┳━┓\n┃ foo ┃ ┃ ┃\n┡━━━━━━━━━━━━━━━━╇━╇━┩\n│ Averlongwordg… │ │ │\n└────────────────┴─┴─┘\n table caption \n test table \n┏━━━━━━━━━━━━━━━━━━━━━┳━┳━┓\n┃ foo ┃ ┃ ┃\n┡━━━━━━━━━━━━━━━━━━━━━╇━╇━┩\n│ Averlongwordgoeshe… │ │ │\n└─────────────────────┴─┴─┘\n table caption \n test table \n┏━━━━━━━━━━━━━━━━━━━━━━┳━━┳━━┓\n┃ foo ┃ ┃ ┃\n┡━━━━━━━━━━━━━━━━━━━━━━╇━━╇━━┩\n│ Averlongwordgoeshere │ │ │\n└──────────────────────┴──┴──┘\n table caption \n test table \n┏━━━━━━━━━━━━━━━━━━━━━━┳━━━━━┳━━━━┓\n┃ foo ┃ bar ┃ b… ┃\n┡━━━━━━━━━━━━━━━━━━━━━━╇━━━━━╇━━━━┩\n│ Averlongwordgoeshere │ ba… │ │\n│ │ pa… │ │\n└──────────────────────┴─────┴────┘\n table caption \n test table \n┏━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━┳━━━━━┓\n┃ foo ┃ bar ┃ baz ┃\n┡━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━╇━━━━━┩\n│ Averlongwordgoeshere │ banana │ │\n│ │ pancak… │ │\n└──────────────────────┴─────────┴─────┘\n table caption \n test table \n┏━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━┓\n┃ foo ┃ bar ┃ baz ┃\n┡━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━┩\n│ Averlongwordgoeshere │ banana │ │\n│ │ pancakes │ │\n└──────────────────────┴──────────────┴─────┘\n table caption \n test table \n┏━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┳━━━━━┓\n┃ foo ┃ bar ┃ baz ┃\n┡━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━╇━━━━━┩\n│ Averlongwordgoeshere │ banana pancakes │ │\n└───────────────────────┴──────────────────┴─────┘\n table caption \n test table \n┏━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┳━━━━━┓\n┃ foo ┃ bar ┃ baz ┃\n┡━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━╇━━━━━┩\n│ Averlongwordgoeshere │ banana pancakes │ │\n└──────────────────────────┴────────────────────┴─────┘\n table caption \n test table \n┏━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━┓ \n┃ foo ┃ bar ┃ baz ┃ \n┡━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━┩ \n│ Averlongwordgoeshere │ banana pancakes │ │ \n└──────────────────────┴─────────────────┴─────┘ \n table caption \n test table \n ┏━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━┓ \n ┃ foo ┃ bar ┃ baz ┃ \n ┡━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━┩ \n │ Averlongwordgoeshere │ banana pancakes │ │ \n └──────────────────────┴─────────────────┴─────┘ \n table caption \n test table \n ┏━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━┓\n ┃ foo ┃ bar ┃ baz ┃\n ┡━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━┩\n │ Averlongwordgoeshere │ banana pancakes │ │\n └──────────────────────┴─────────────────┴─────┘\n table caption \n test table \n┏━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━┳━━━━━━━━━━┓\n┃ foo ┃ bar ┃ baz ┃ ┃\n┡━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━╇━━━━━━━━━━┩\n│ Averlongwordgoeshere │ banana pancakes │ │ │\n│ Coffee │ │ │ │\n│ Coffee │ Chocolate │ │ cinnamon │\n└──────────────────────┴─────────────────┴─────┴──────────┘\n table caption \n test table \n┏━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━┳━━━━━━━━━━┓\n┃ foo ┃ bar ┃ baz ┃ ┃\n┡━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━╇━━━━━━━━━━┩\n│ Averlongwordgoeshere │ banana pancakes │ │ │\n├──────────────────────┼─────────────────┼─────┼──────────┤\n│ Coffee │ │ │ │\n├──────────────────────┼─────────────────┼─────┼──────────┤\n│ Coffee │ Chocolate │ │ cinnamon │\n└──────────────────────┴─────────────────┴─────┴──────────┘\n table caption \n test table \n┏━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━┳━━━━━━━━━━┓\n┃ foo ┃ bar ┃ baz ┃ ┃\n┡━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━╇━━━━━━━━━━┩\n│ Averlongwordgoeshere │ banana pancakes │ │ │\n├──────────────────────┼─────────────────┼─────┼──────────┤\n│ Coffee │ │ │ │\n├──────────────────────┼─────────────────┼─────┼──────────┤\n│ Coffee │ Chocolate │ │ cinnamon │\n├──────────────────────┼─────────────────┼─────┼──────────┤\n│ total │ │ │ │\n└──────────────────────┴─────────────────┴─────┴──────────┘\n table caption \n test table \n foo ┃ bar ┃ baz ┃ \n━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━╇━━━━━━━━━━\n Averlongwordgoeshere │ banana pancakes │ │ \n──────────────────────┼─────────────────┼─────┼──────────\n Coffee │ │ │ \n──────────────────────┼─────────────────┼─────┼──────────\n Coffee │ Chocolate │ │ cinnamon \n──────────────────────┼─────────────────┼─────┼──────────\n total │ │ │ \n table caption \n test table \n ┃ ┃ ┃ \n foo ┃ bar ┃ baz ┃ \n ┃ ┃ ┃ \n━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━╇━━━━━━━━━━\n │ │ │ \n Averlongwordgoeshere │ banana pancakes │ │ \n │ │ │ \n──────────────────────┼─────────────────┼─────┼──────────\n │ │ │ \n Coffee │ │ │ \n │ │ │ \n──────────────────────┼─────────────────┼─────┼──────────\n │ │ │ \n Coffee │ Chocolate │ │ cinnamon \n │ │ │ \n──────────────────────┼─────────────────┼─────┼──────────\n │ │ │ \n total │ │ │ \n │ │ │ \n table caption \n test table \n ┃ ┃ ┃ \n foo ┃ ┃ ┃ \n ┃ ┃ ┃ \n━━━━━━━━━━━━━━━━━╇━╇━╇━\n │ │ │ \n Averlongwordgo… │ │ │ \n │ │ │ \n─────────────────┼─┼─┼─\n │ │ │ \n Coffee │ │ │ \n │ │ │ \n─────────────────┼─┼─┼─\n │ │ │ \n Coffee │ │ │ \n │ │ │ \n─────────────────┼─┼─┼─\n │ │ │ \n total │ │ │ \n │ │ │ \n table caption \n test table \n ┃ ┃ ┃ \n foo ┃ bar ┃ ┃ \n ┃ ┃ ┃ \n━━━━━━━━━━╇━━━━━━━━━╇━╇━\n │ │ │ \n Averlon… │ banana… │ │ \n │ │ │ \n──────────┼─────────┼─┼─\n │ │ │ \n Coffee │ │ │ \n │ │ │ \n──────────┼─────────┼─┼─\n │ │ │ \n Coffee │ Chocol… │ │ \n │ │ │ \n──────────┼─────────┼─┼─\n │ │ │ \n total │ │ │ \n │ │ │ \n table caption \n test table \nfoo ┃ bar ┃ baz┃ \n━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━╇━━━━╇━━━━━━━━━\nAverlongwordgoeshere │ banana pancakes │ │ \n │ │ │ \nCoffee │ │ │ \n │ │ │ \nCoffee │ Chocolate │ │cinnamon \n─────────────────────────┼───────────────────┼────┼─────────\ntotal │ │ │ \n table caption \n" > assert render_tables() == expected E AssertionError: assert ' test table ... \n' == ' test table ... \n' E Skipping 2587 identical leading characters in diff, use -v to show E - E + E - ┏━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━┓ E + ┏━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━┓ E ? ++++++++++++++++++++ E - ┃ foo ┃ bar ┃ baz ┃ ... E E ...Full output truncated (175 lines hidden), use '-vv' to show tests/test_table.py:84: AssertionError =========================== short test summary info ============================ FAILED tests/test_align.py::test_align_right_style - AssertionError: assert '... FAILED tests/test_console.py::test_dumb_terminal - assert None is not None FAILED tests/test_console.py::test_show_cursor - AssertionError: assert 'foo\... FAILED tests/test_console.py::test_clear - AssertionError: assert '' == '\x1b... FAILED tests/test_console.py::test_control - AssertionError: assert 'BAR\n' =... FAILED tests/test_console.py::test_justify_left - AssertionError: assert 'FOO... FAILED tests/test_console.py::test_justify_center - AssertionError: assert ' ... FAILED tests/test_console.py::test_justify_right - AssertionError: assert ' ... FAILED tests/test_console.py::test_justify_renderable_left - AssertionError: ... FAILED tests/test_console.py::test_justify_renderable_center - AssertionError... FAILED tests/test_console.py::test_justify_renderable_right - AssertionError:... FAILED tests/test_console.py::test_bell - AssertionError: assert '' == '\x07' FAILED tests/test_console.py::test_screen - assert "Don't panic\n" == '\x1b[?... FAILED tests/test_console.py::test_screen_update - AssertionError: assert '\x... FAILED tests/test_live.py::test_growing_display - AssertionError: assert 'Ste... FAILED tests/test_live.py::test_growing_display_transient - AssertionError: a... FAILED tests/test_live.py::test_growing_display_overflow_ellipsis - Assertion... FAILED tests/test_live.py::test_growing_display_overflow_crop - AssertionErro... FAILED tests/test_live.py::test_growing_display_overflow_visible - AssertionE... FAILED tests/test_live.py::test_growing_display_console_redirect - AssertionE... FAILED tests/test_live.py::test_live_screen - AssertionError: assert '' == '\... FAILED tests/test_logging.py::test_exception - AssertionError: assert 'divisi... FAILED tests/test_logging.py::test_exception_with_extra_lines - AssertionErro... FAILED tests/test_progress.py::test_expand_bar - AssertionError: assert '\x1b... FAILED tests/test_progress.py::test_render - AssertionError: assert 'foo \x1... FAILED tests/test_progress.py::test_track - AssertionError: assert 'test \x1b... FAILED tests/test_progress.py::test_progress_track - AssertionError: assert '... FAILED tests/test_progress.py::test_columns - AssertionError: assert 'foo\n\x... FAILED tests/test_progress.py::test_progress_max_refresh - AssertionError: as... FAILED tests/test_rule.py::test_rule - AssertionError: assert '────────────..... FAILED tests/test_rule.py::test_rule_cjk - AssertionError: assert '──────────... FAILED tests/test_rule.py::test_characters - AssertionError: assert '+*+*+*+*... FAILED tests/test_styled.py::test_styled - AssertionError: assert 'foo\n' == ... FAILED tests/test_table.py::test_render_table - AssertionError: assert ' test... ================== 34 failed, 429 passed, 1 skipped in 6.25s =================== E: pybuild pybuild:353: test: plugin custom failed with: exit code=1: PYTHONPATH=/build/reproducible-path/rich-9.11.0 python3.9 -m pytest dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p 3.9 returned exit code 13 make[1]: *** [debian/rules:12: override_dh_auto_test] Error 25 make[1]: Leaving directory '/build/reproducible-path/rich-9.11.0' make: *** [debian/rules:6: build] Error 2 dpkg-buildpackage: error: debian/rules build 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/2904450 and its subdirectories Mon Jan 8 17:06:52 UTC 2024 W: No second build log, what happened?