Warning: Permanently added '3.216.36.126' (ED25519) to the list of known hosts. % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 275k 100 275k 0 0 18.5M 0 --:--:-- --:--:-- --:--:-- 19.2M INFO: Reading stdout from command: md5sum 8020b8cb8ae859891a999620085d34c8d8bfe1a3.tar.gz Running (timeout=18000): unbuffer mock --spec /var/lib/copr-rpmbuild/workspace/workdir-jy87umue/python-terminaltables/python-terminaltables.spec --sources /var/lib/copr-rpmbuild/workspace/workdir-jy87umue/python-terminaltables --resultdir /var/lib/copr-rpmbuild/results --uniqueext 1717812532.018114 -r /var/lib/copr-rpmbuild/results/configs/child.cfg INFO: mock.py version 5.6 starting (python version = 3.12.1, NVR = mock-5.6-1.fc39), args: /usr/libexec/mock/mock --spec /var/lib/copr-rpmbuild/workspace/workdir-jy87umue/python-terminaltables/python-terminaltables.spec --sources /var/lib/copr-rpmbuild/workspace/workdir-jy87umue/python-terminaltables --resultdir /var/lib/copr-rpmbuild/results --uniqueext 1717812532.018114 -r /var/lib/copr-rpmbuild/results/configs/child.cfg Start(bootstrap): init plugins INFO: tmpfs initialized INFO: selinux enabled INFO: chroot_scan: initialized INFO: compress_logs: initialized Finish(bootstrap): init plugins Start: init plugins INFO: tmpfs initialized INFO: selinux enabled INFO: chroot_scan: initialized INFO: compress_logs: initialized Finish: init plugins INFO: Signal handler active Start: run INFO: Start(/var/lib/copr-rpmbuild/workspace/workdir-jy87umue/python-terminaltables/python-terminaltables.spec) Config(fedora-rawhide-x86_64) Start: clean chroot Finish: clean chroot Mock Version: 5.6 INFO: Mock Version: 5.6 Start(bootstrap): chroot init INFO: mounting tmpfs at /var/lib/mock/fedora-rawhide-x86_64-bootstrap-1717812532.018114/root. INFO: calling preinit hooks INFO: enabled root cache INFO: enabled package manager cache Start(bootstrap): cleaning package manager metadata Finish(bootstrap): cleaning package manager metadata INFO: Guessed host environment type: unknown INFO: Using bootstrap image: registry.fedoraproject.org/fedora:rawhide INFO: Pulling image: registry.fedoraproject.org/fedora:rawhide INFO: Copy content of container registry.fedoraproject.org/fedora:rawhide to /var/lib/mock/fedora-rawhide-x86_64-bootstrap-1717812532.018114/root INFO: Checking that registry.fedoraproject.org/fedora:rawhide image matches host's architecture INFO: mounting registry.fedoraproject.org/fedora:rawhide with podman image mount INFO: image registry.fedoraproject.org/fedora:rawhide as /var/lib/containers/storage/overlay/b16a0d15d6bec0573376ee3f2173d2d5cc5547d0b3029efe6891c69bebf307e1/merged INFO: umounting image registry.fedoraproject.org/fedora:rawhide (/var/lib/containers/storage/overlay/b16a0d15d6bec0573376ee3f2173d2d5cc5547d0b3029efe6891c69bebf307e1/merged) with podman image umount INFO: Package manager dnf5 detected and used (fallback) INFO: Bootstrap image not marked ready Start(bootstrap): installing dnf5 tooling Updating and loading repositories: Copr repository 100% | 79.7 MiB/s | 4.5 MiB | 00m00s fedora 100% | 24.2 MiB/s | 21.1 MiB | 00m01s Repositories loaded. Package "dnf5-5.2.3.0-1.fc41.x86_64" is already installed. Package Arch Version Repository Size Installing: dnf5-plugins x86_64 5.2.3.0-1.fc41 fedora 1.0 MiB Installing dependencies: elfutils-default-yama-scope noarch 0.191-7.fc41 fedora 1.8 KiB elfutils-libelf x86_64 0.191-7.fc41 fedora 1.2 MiB elfutils-libs x86_64 0.191-7.fc41 fedora 646.1 KiB file-libs x86_64 5.45-6.fc41 copr_base 9.9 MiB libgomp x86_64 14.1.1-4.fc41 fedora 519.5 KiB rpm-build-libs x86_64 4.19.91-8.fc41 copr_base 206.6 KiB Transaction Summary: Installing: 7 packages Total size of inbound packages is 2 MiB. Need to download 2 MiB. After this operation 13 MiB will be used (install 13 MiB, remove 0 B). [1/7] rpm-build-libs-0:4.19.91-8.fc41.x 100% | 8.0 MiB/s | 98.9 KiB | 00m00s [2/7] dnf5-plugins-0:5.2.3.0-1.fc41.x86 100% | 27.6 MiB/s | 367.0 KiB | 00m00s [3/7] elfutils-libs-0:0.191-7.fc41.x86_ 100% | 126.0 MiB/s | 258.1 KiB | 00m00s [4/7] libgomp-0:14.1.1-4.fc41.x86_64 100% | 170.6 MiB/s | 349.5 KiB | 00m00s [5/7] elfutils-default-yama-scope-0:0.1 100% | 13.0 MiB/s | 13.3 KiB | 00m00s [6/7] file-libs-0:5.45-6.fc41.x86_64 100% | 148.9 MiB/s | 762.2 KiB | 00m00s [7/7] elfutils-libelf-0:0.191-7.fc41.x8 100% | 7.8 MiB/s | 208.5 KiB | 00m00s -------------------------------------------------------------------------------- [7/7] Total 100% | 6.8 MiB/s | 2.0 MiB | 00m00s Running transaction [1/9] Verify package files 100% | 1.0 KiB/s | 7.0 B | 00m00s [2/9] Prepare transaction 100% | 777.0 B/s | 7.0 B | 00m00s [3/9] Installing elfutils-libelf-0:0.19 100% | 389.8 MiB/s | 1.2 MiB | 00m00s [4/9] Installing file-libs-0:5.45-6.fc4 100% | 620.6 MiB/s | 9.9 MiB | 00m00s [5/9] Installing elfutils-default-yama- 100% | 340.5 KiB/s | 2.0 KiB | 00m00s >>> Running post-install scriptlet: elfutils-default-yama-scope-0:0.191-7.fc41.n >>> Stop post-install scriptlet: elfutils-default-yama-scope-0:0.191-7.fc41.noar [6/9] Installing elfutils-libs-0:0.191- 100% | 210.9 MiB/s | 648.0 KiB | 00m00s [7/9] Installing libgomp-0:14.1.1-4.fc4 100% | 508.7 MiB/s | 520.9 KiB | 00m00s [8/9] Installing rpm-build-libs-0:4.19. 100% | 202.6 MiB/s | 207.5 KiB | 00m00s warning: posix.fork(): .fork(), .exec(), .wait() and .redirect2null() are deprecated, use rpm.execute() instead warning: posix.wait(): .fork(), .exec(), .wait() and .redirect2null() are deprecated, use rpm.execute() instead warning: posix.exec(): .fork(), .exec(), .wait() and .redirect2null() are deprecated, use rpm.execute() instead [9/9] Installing dnf5-plugins-0:5.2.3.0 100% | 60.1 MiB/s | 1.0 MiB | 00m00s >>> Running trigger-install scriptlet: glibc-common-0:2.39.9000-18.fc41.x86_64 >>> Stop trigger-install scriptlet: glibc-common-0:2.39.9000-18.fc41.x86_64 Warning: skipped PGP checks for 2 packages from repository: copr_base Finish(bootstrap): installing dnf5 tooling Start(bootstrap): creating root cache Finish(bootstrap): creating root cache Finish(bootstrap): chroot init Start: chroot init INFO: mounting tmpfs at /var/lib/mock/fedora-rawhide-x86_64-1717812532.018114/root. INFO: calling preinit hooks INFO: enabled root cache INFO: enabled package manager cache Start: cleaning package manager metadata Finish: cleaning package manager metadata INFO: enabled HW Info plugin INFO: Package manager dnf5 detected and used (direct choice) INFO: Buildroot is handled by package management downloaded with a bootstrap image: rpm-4.19.91-8.fc41.x86_64 rpm-sequoia-1.6.0-3.fc41.x86_64 dnf5-5.2.3.0-1.fc41.x86_64 dnf5-plugins-5.2.3.0-1.fc41.x86_64 Start: installing minimal buildroot with dnf5 Updating and loading repositories: fedora 100% | 98.3 KiB/s | 26.9 KiB | 00m00s Copr repository 100% | 144.0 KiB/s | 2.2 KiB | 00m00s Copr repository 100% | 108.8 MiB/s | 4.5 MiB | 00m00s Repositories loaded. Package Arch Version Repository Size Installing group/module packages: bash x86_64 5.2.26-3.fc40 fedora 8.1 MiB bzip2 x86_64 1.0.8-18.fc40 fedora 91.7 KiB coreutils x86_64 9.5-2.fc41 fedora 5.5 MiB cpio x86_64 2.15-1.fc40 fedora 1.1 MiB diffutils x86_64 3.10-5.fc40 fedora 1.6 MiB fedora-release-common noarch 41-0.13 fedora 19.2 KiB findutils x86_64 1:4.10.0-2.fc41 fedora 1.8 MiB gawk x86_64 5.3.0-3.fc40 fedora 1.7 MiB glibc-minimal-langpack x86_64 2.39.9000-18.fc41 fedora 0.0 B grep x86_64 3.11-8.fc41 fedora 1.0 MiB gzip x86_64 1.13-1.fc40 fedora 385.0 KiB info x86_64 7.1-2.fc40 fedora 357.8 KiB patch x86_64 2.7.6-24.fc40 fedora 262.8 KiB redhat-rpm-config noarch 292-1.fc41 fedora 183.5 KiB rpm-build x86_64 4.19.91-9.fc41 copr_base 194.1 KiB sed x86_64 4.9-1.fc40 fedora 861.5 KiB shadow-utils x86_64 2:4.15.1-5.fc41 fedora 4.1 MiB tar x86_64 2:1.35-3.fc40 fedora 2.9 MiB unzip x86_64 6.0-63.fc40 fedora 382.8 KiB util-linux x86_64 2.40.1-1.fc41 copr_base 3.7 MiB which x86_64 2.21-41.fc40 fedora 80.2 KiB xz x86_64 1:5.4.6-3.fc41 fedora 2.0 MiB Installing dependencies: add-determinism-nopython x86_64 0.2.0-9.fc41 fedora 2.5 MiB alternatives x86_64 1.27-1.fc41 fedora 66.3 KiB ansible-srpm-macros noarch 1-15.fc41 fedora 35.7 KiB audit-libs x86_64 4.0.1-3.fc41 copr_base 327.3 KiB authselect x86_64 1.5.0-5.fc41 fedora 153.6 KiB authselect-libs x86_64 1.5.0-5.fc41 fedora 818.2 KiB basesystem noarch 11-20.fc40 fedora 0.0 B binutils x86_64 2.42.50-11.fc41 fedora 27.5 MiB binutils-gold x86_64 2.42.50-11.fc41 fedora 2.0 MiB build-reproducibility-srpm-macros noarch 0.2.0-9.fc41 fedora 769.0 B bzip2-libs x86_64 1.0.8-18.fc40 fedora 80.7 KiB ca-certificates noarch 2023.2.62_v7.0.401-6.fc40 fedora 2.3 MiB coreutils-common x86_64 9.5-2.fc41 fedora 11.2 MiB cracklib x86_64 2.9.11-5.fc40 fedora 238.9 KiB crypto-policies noarch 20240521-1.gitf71d135.fc41 fedora 120.0 KiB curl x86_64 8.8.0-1.fc41 fedora 743.7 KiB cyrus-sasl-lib x86_64 2.1.28-22.fc41 fedora 2.3 MiB debugedit x86_64 5.0-16.fc41 fedora 199.3 KiB dwz x86_64 0.15-6.fc40 fedora 290.9 KiB ed x86_64 1.20.2-1.fc41 fedora 146.8 KiB efi-srpm-macros noarch 5-11.fc40 fedora 40.1 KiB elfutils x86_64 0.191-7.fc41 fedora 2.5 MiB elfutils-debuginfod-client x86_64 0.191-7.fc41 fedora 64.9 KiB elfutils-default-yama-scope noarch 0.191-7.fc41 fedora 1.8 KiB elfutils-libelf x86_64 0.191-7.fc41 fedora 1.2 MiB elfutils-libs x86_64 0.191-7.fc41 fedora 646.1 KiB fedora-gpg-keys noarch 41-0.2 fedora 124.7 KiB fedora-release noarch 41-0.13 fedora 0.0 B fedora-release-identity-basic noarch 41-0.13 fedora 694.0 B fedora-repos noarch 41-0.2 fedora 4.9 KiB fedora-repos-rawhide noarch 41-0.2 fedora 2.2 KiB file x86_64 5.45-6.fc41 copr_base 103.5 KiB file-libs x86_64 5.45-6.fc41 copr_base 9.9 MiB filesystem x86_64 3.18-9.fc41 fedora 106.0 B fonts-srpm-macros noarch 1:2.0.5-15.fc41 fedora 55.3 KiB forge-srpm-macros noarch 0.3.1-1.fc41 fedora 39.0 KiB fpc-srpm-macros noarch 1.3-12.fc40 fedora 144.0 B gdb-minimal x86_64 14.2-9.fc41 fedora 12.7 MiB gdbm x86_64 1:1.23-6.fc40 fedora 460.9 KiB gdbm-libs x86_64 1:1.23-6.fc40 fedora 121.9 KiB ghc-srpm-macros noarch 1.9.1-1.fc41 fedora 747.0 B glibc x86_64 2.39.9000-18.fc41 fedora 6.7 MiB glibc-common x86_64 2.39.9000-18.fc41 fedora 1.0 MiB glibc-gconv-extra x86_64 2.39.9000-18.fc41 fedora 7.8 MiB gmp x86_64 1:6.3.0-1.fc41 fedora 803.4 KiB gnat-srpm-macros noarch 6-5.fc40 fedora 1.0 KiB go-srpm-macros noarch 3.6.0-1.fc41 fedora 60.8 KiB jansson x86_64 2.13.1-9.fc40 fedora 88.3 KiB kernel-srpm-macros noarch 1.0-23.fc41 fedora 1.9 KiB keyutils-libs x86_64 1.6.3-3.fc40 fedora 54.4 KiB krb5-libs x86_64 1.21.2-5.fc40 fedora 2.3 MiB libacl x86_64 2.3.2-1.fc40 fedora 40.0 KiB libarchive x86_64 3.7.4-1.fc41 fedora 914.6 KiB libattr x86_64 2.5.2-3.fc40 fedora 28.5 KiB libblkid x86_64 2.40.1-1.fc41 copr_base 258.5 KiB libbrotli x86_64 1.1.0-4.fc41 copr_base 829.6 KiB libcap x86_64 2.70-1.fc41 fedora 220.3 KiB libcap-ng x86_64 0.8.5-2.fc41 copr_base 69.2 KiB libcom_err x86_64 1.47.0-5.fc40 fedora 67.2 KiB libcurl x86_64 8.8.0-1.fc41 fedora 805.7 KiB libeconf x86_64 0.6.2-2.fc41 fedora 58.0 KiB libevent x86_64 2.1.12-13.fc41 fedora 895.6 KiB libfdisk x86_64 2.40.1-1.fc41 copr_base 362.9 KiB libffi x86_64 3.4.6-1.fc41 fedora 82.4 KiB libgcc x86_64 14.1.1-4.fc41 fedora 270.6 KiB libgomp x86_64 14.1.1-4.fc41 fedora 519.5 KiB libidn2 x86_64 2.3.7-1.fc40 fedora 329.1 KiB libmount x86_64 2.40.1-1.fc41 copr_base 351.8 KiB libnghttp2 x86_64 1.62.0-1.fc41 fedora 166.1 KiB libnsl2 x86_64 2.0.1-1.fc40 fedora 57.9 KiB libpkgconf x86_64 2.1.1-1.fc41 fedora 74.2 KiB libpsl x86_64 0.21.5-3.fc40 fedora 80.5 KiB libpwquality x86_64 1.4.5-10.fc41 copr_base 417.8 KiB libselinux x86_64 3.6-6.fc41 copr_base 177.0 KiB libsemanage x86_64 3.6-4.fc41 copr_base 293.5 KiB libsepol x86_64 3.6-3.fc40 fedora 802.0 KiB libsmartcols x86_64 2.40.1-1.fc41 copr_base 180.4 KiB libssh x86_64 0.10.6-6.fc41 fedora 513.3 KiB libssh-config noarch 0.10.6-6.fc41 fedora 277.0 B libstdc++ x86_64 14.1.1-4.fc41 fedora 2.8 MiB libtasn1 x86_64 4.19.0-6.fc40 fedora 175.7 KiB libtirpc x86_64 1.3.4-1.rc3.fc41 fedora 202.8 KiB libtool-ltdl x86_64 2.4.7-11.fc41 fedora 66.1 KiB libunistring x86_64 1.1-7.fc41 fedora 1.7 MiB libutempter x86_64 1.2.1-13.fc40 fedora 57.7 KiB libuuid x86_64 2.40.1-1.fc41 copr_base 37.4 KiB libverto x86_64 0.3.2-8.fc40 fedora 29.5 KiB libxcrypt x86_64 4.4.36-5.fc40 fedora 262.8 KiB libxml2 x86_64 2.12.7-2.fc41 copr_base 1.7 MiB libzstd x86_64 1.5.6-1.fc41 fedora 787.9 KiB lua-libs x86_64 5.4.6-5.fc40 fedora 281.1 KiB lua-srpm-macros noarch 1-13.fc40 fedora 1.3 KiB lz4-libs x86_64 1.9.4-6.fc40 fedora 129.4 KiB mpfr x86_64 4.2.1-4.fc41 fedora 828.0 KiB ncurses-base noarch 6.4-12.20240127.fc40 fedora 326.2 KiB ncurses-libs x86_64 6.4-12.20240127.fc40 fedora 963.2 KiB ocaml-srpm-macros noarch 10-2.fc41 fedora 1.9 KiB openblas-srpm-macros noarch 2-17.fc41 fedora 112.0 B openldap x86_64 2.6.8-1.fc41 fedora 636.3 KiB openssl-libs x86_64 1:3.2.2-1.fc41 fedora 7.8 MiB p11-kit x86_64 0.25.3-4.fc40 fedora 2.2 MiB p11-kit-trust x86_64 0.25.3-4.fc40 fedora 391.4 KiB package-notes-srpm-macros noarch 0.5-11.fc40 fedora 1.6 KiB pam x86_64 1.6.1-3.fc41 fedora 1.8 MiB pam-libs x86_64 1.6.1-3.fc41 fedora 135.0 KiB pcre2 x86_64 10.43-2.fc41.1 fedora 653.5 KiB pcre2-syntax noarch 10.43-2.fc41.1 fedora 249.0 KiB perl-srpm-macros noarch 1-53.fc40 fedora 861.0 B pkgconf x86_64 2.1.1-1.fc41 fedora 82.9 KiB pkgconf-m4 noarch 2.1.1-1.fc41 fedora 13.9 KiB pkgconf-pkg-config x86_64 2.1.1-1.fc41 fedora 989.0 B popt x86_64 1.19-6.fc40 fedora 136.9 KiB publicsuffix-list-dafsa noarch 20240107-3.fc40 fedora 67.5 KiB pyproject-srpm-macros noarch 1.12.1-1.fc41 fedora 1.5 KiB python-srpm-macros noarch 3.12-9.fc41 fedora 50.5 KiB qt5-srpm-macros noarch 5.15.14-1.fc41 fedora 500.0 B qt6-srpm-macros noarch 6.7.1-1.fc41 fedora 456.0 B readline x86_64 8.2-8.fc40 fedora 489.2 KiB rpm x86_64 4.19.91-9.fc41 copr_base 3.0 MiB rpm-build-libs x86_64 4.19.91-9.fc41 copr_base 206.6 KiB rpm-libs x86_64 4.19.91-9.fc41 copr_base 713.9 KiB rpm-sequoia x86_64 1.6.0-3.fc41 fedora 2.2 MiB rust-srpm-macros noarch 26.3-1.fc41 copr_base 4.8 KiB setup noarch 2.15.0-3.fc41 fedora 720.7 KiB sqlite-libs x86_64 3.46.0-1.fc41 fedora 1.4 MiB systemd-libs x86_64 256~rc3-4.fc41 fedora 2.0 MiB util-linux-core x86_64 2.40.1-1.fc41 copr_base 1.5 MiB xxhash-libs x86_64 0.8.2-2.fc40 fedora 88.5 KiB xz-libs x86_64 1:5.4.6-3.fc41 fedora 209.8 KiB zig-srpm-macros noarch 1-2.fc40 fedora 1.1 KiB zip x86_64 3.0-40.fc40 fedora 703.2 KiB zlib-ng-compat x86_64 2.1.6-6.fc41 fedora 134.0 KiB zstd x86_64 1.5.6-1.fc41 fedora 1.7 MiB Installing groups: Buildsystem building group Transaction Summary: Installing: 155 packages Total size of inbound packages is 54 MiB. Need to download 0 B. After this operation 182 MiB will be used (install 182 MiB, remove 0 B). [ 1/155] tar-2:1.35-3.fc40.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 2/155] bzip2-0:1.0.8-18.fc40.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 3/155] redhat-rpm-config-0:292-1.fc4 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 4/155] unzip-0:6.0-63.fc40.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 5/155] cpio-0:2.15-1.fc40.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 6/155] which-0:2.21-41.fc40.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 7/155] bash-0:5.2.26-3.fc40.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 8/155] coreutils-0:9.5-2.fc41.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 9/155] grep-0:3.11-8.fc41.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 10/155] patch-0:2.7.6-24.fc40.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 11/155] sed-0:4.9-1.fc40.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 12/155] shadow-utils-2:4.15.1-5.fc41. 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 13/155] diffutils-0:3.10-5.fc40.x86_6 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 14/155] fedora-release-common-0:41-0. 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 15/155] findutils-1:4.10.0-2.fc41.x86 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 16/155] glibc-minimal-langpack-0:2.39 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 17/155] gzip-0:1.13-1.fc40.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 18/155] info-0:7.1-2.fc40.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 19/155] xz-1:5.4.6-3.fc41.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 20/155] rpm-build-0:4.19.91-9.fc41.x8 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 21/155] util-linux-0:2.40.1-1.fc41.x8 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 22/155] gawk-0:5.3.0-3.fc40.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 23/155] glibc-0:2.39.9000-18.fc41.x86 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 24/155] libacl-0:2.3.2-1.fc40.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 25/155] bzip2-libs-0:1.0.8-18.fc40.x8 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 26/155] ansible-srpm-macros-0:1-15.fc 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 27/155] build-reproducibility-srpm-ma 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 28/155] dwz-0:0.15-6.fc40.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 29/155] efi-srpm-macros-0:5-11.fc40.n 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 30/155] fonts-srpm-macros-1:2.0.5-15. 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 31/155] forge-srpm-macros-0:0.3.1-1.f 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 32/155] fpc-srpm-macros-0:1.3-12.fc40 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 33/155] ghc-srpm-macros-0:1.9.1-1.fc4 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 34/155] gnat-srpm-macros-0:6-5.fc40.n 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 35/155] go-srpm-macros-0:3.6.0-1.fc41 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 36/155] kernel-srpm-macros-0:1.0-23.f 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 37/155] lua-srpm-macros-0:1-13.fc40.n 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 38/155] ocaml-srpm-macros-0:10-2.fc41 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 39/155] openblas-srpm-macros-0:2-17.f 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 40/155] package-notes-srpm-macros-0:0 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 41/155] perl-srpm-macros-0:1-53.fc40. 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 42/155] pyproject-srpm-macros-0:1.12. 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 43/155] python-srpm-macros-0:3.12-9.f 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 44/155] qt5-srpm-macros-0:5.15.14-1.f 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 45/155] qt6-srpm-macros-0:6.7.1-1.fc4 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 46/155] zig-srpm-macros-0:1-2.fc40.no 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 47/155] zip-0:3.0-40.fc40.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 48/155] filesystem-0:3.18-9.fc41.x86_ 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 49/155] ncurses-libs-0:6.4-12.2024012 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 50/155] coreutils-common-0:9.5-2.fc41 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 51/155] libattr-0:2.5.2-3.fc40.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 52/155] libcap-0:2.70-1.fc41.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 53/155] openssl-libs-1:3.2.2-1.fc41.x 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 54/155] pcre2-0:10.43-2.fc41.1.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 55/155] ed-0:1.20.2-1.fc41.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 56/155] libeconf-0:0.6.2-2.fc41.x86_6 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 57/155] libxcrypt-0:4.4.36-5.fc40.x86 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 58/155] pam-libs-0:1.6.1-3.fc41.x86_6 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 59/155] setup-0:2.15.0-3.fc41.noarch 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 60/155] fedora-repos-0:41-0.2.noarch 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 61/155] glibc-common-0:2.39.9000-18.f 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 62/155] xz-libs-1:5.4.6-3.fc41.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 63/155] debugedit-0:5.0-16.fc41.x86_6 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 64/155] elfutils-0:0.191-7.fc41.x86_6 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 65/155] elfutils-libelf-0:0.191-7.fc4 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 66/155] libarchive-0:3.7.4-1.fc41.x86 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 67/155] popt-0:1.19-6.fc40.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 68/155] readline-0:8.2-8.fc40.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 69/155] zstd-0:1.5.6-1.fc41.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 70/155] rpm-0:4.19.91-9.fc41.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 71/155] libutempter-0:1.2.1-13.fc40.x 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 72/155] systemd-libs-0:256~rc3-4.fc41 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 73/155] zlib-ng-compat-0:2.1.6-6.fc41 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 74/155] mpfr-0:4.2.1-4.fc41.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 75/155] glibc-gconv-extra-0:2.39.9000 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 76/155] basesystem-0:11-20.fc40.noarc 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 77/155] libgcc-0:14.1.1-4.fc41.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 78/155] add-determinism-nopython-0:0. 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 79/155] ncurses-base-0:6.4-12.2024012 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 80/155] ca-certificates-0:2023.2.62_v 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 81/155] crypto-policies-0:20240521-1. 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 82/155] pcre2-syntax-0:10.43-2.fc41.1 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 83/155] fedora-gpg-keys-0:41-0.2.noar 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 84/155] fedora-repos-rawhide-0:41-0.2 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 85/155] elfutils-libs-0:0.191-7.fc41. 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 86/155] elfutils-debuginfod-client-0: 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 87/155] libstdc++-0:14.1.1-4.fc41.x86 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 88/155] libzstd-0:1.5.6-1.fc41.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 89/155] lz4-libs-0:1.9.4-6.fc40.x86_6 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 90/155] curl-0:8.8.0-1.fc41.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 91/155] elfutils-default-yama-scope-0 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 92/155] rpm-libs-0:4.19.91-9.fc41.x86 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 93/155] lua-libs-0:5.4.6-5.fc40.x86_6 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 94/155] rpm-sequoia-0:1.6.0-3.fc41.x8 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 95/155] sqlite-libs-0:3.46.0-1.fc41.x 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 96/155] rpm-build-libs-0:4.19.91-9.fc 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 97/155] libgomp-0:14.1.1-4.fc41.x86_6 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 98/155] audit-libs-0:4.0.1-3.fc41.x86 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 99/155] pam-0:1.6.1-3.fc41.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [100/155] authselect-0:1.5.0-5.fc41.x86 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [101/155] gdbm-libs-1:1.23-6.fc40.x86_6 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [102/155] libnsl2-0:2.0.1-1.fc40.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [103/155] libtirpc-0:1.3.4-1.rc3.fc41.x 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [104/155] authselect-libs-0:1.5.0-5.fc4 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [105/155] krb5-libs-0:1.21.2-5.fc40.x86 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [106/155] libcom_err-0:1.47.0-5.fc40.x8 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [107/155] keyutils-libs-0:1.6.3-3.fc40. 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [108/155] libverto-0:0.3.2-8.fc40.x86_6 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [109/155] libblkid-0:2.40.1-1.fc41.x86_ 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [110/155] libcap-ng-0:0.8.5-2.fc41.x86_ 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [111/155] libfdisk-0:2.40.1-1.fc41.x86_ 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [112/155] libmount-0:2.40.1-1.fc41.x86_ 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [113/155] libselinux-0:3.6-6.fc41.x86_6 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [114/155] libsepol-0:3.6-3.fc40.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [115/155] binutils-0:2.42.50-11.fc41.x8 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [116/155] alternatives-0:1.27-1.fc41.x8 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [117/155] binutils-gold-0:2.42.50-11.fc 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [118/155] jansson-0:2.13.1-9.fc40.x86_6 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [119/155] libsmartcols-0:2.40.1-1.fc41. 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [120/155] libuuid-0:2.40.1-1.fc41.x86_6 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [121/155] util-linux-core-0:2.40.1-1.fc 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [122/155] file-libs-0:5.45-6.fc41.x86_6 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [123/155] file-0:5.45-6.fc41.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [124/155] pkgconf-pkg-config-0:2.1.1-1. 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [125/155] pkgconf-0:2.1.1-1.fc41.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [126/155] pkgconf-m4-0:2.1.1-1.fc41.noa 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [127/155] libpkgconf-0:2.1.1-1.fc41.x86 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [128/155] libsemanage-0:3.6-4.fc41.x86_ 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [129/155] rust-srpm-macros-0:26.3-1.fc4 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [130/155] gdbm-1:1.23-6.fc40.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [131/155] libpwquality-0:1.4.5-10.fc41. 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [132/155] cracklib-0:2.9.11-5.fc40.x86_ 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [133/155] libxml2-0:2.12.7-2.fc41.x86_6 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [134/155] p11-kit-0:0.25.3-4.fc40.x86_6 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [135/155] libffi-0:3.4.6-1.fc41.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [136/155] libtasn1-0:4.19.0-6.fc40.x86_ 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [137/155] p11-kit-trust-0:0.25.3-4.fc40 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [138/155] gdb-minimal-0:14.2-9.fc41.x86 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [139/155] xxhash-libs-0:0.8.2-2.fc40.x8 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [140/155] fedora-release-0:41-0.13.noar 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [141/155] gmp-1:6.3.0-1.fc41.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [142/155] fedora-release-identity-basic 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [143/155] libcurl-0:8.8.0-1.fc41.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [144/155] libidn2-0:2.3.7-1.fc40.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [145/155] libnghttp2-0:1.62.0-1.fc41.x8 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [146/155] libpsl-0:0.21.5-3.fc40.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [147/155] libssh-0:0.10.6-6.fc41.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [148/155] openldap-0:2.6.8-1.fc41.x86_6 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [149/155] libunistring-0:1.1-7.fc41.x86 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [150/155] publicsuffix-list-dafsa-0:202 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [151/155] libssh-config-0:0.10.6-6.fc41 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [152/155] cyrus-sasl-lib-0:2.1.28-22.fc 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [153/155] libevent-0:2.1.12-13.fc41.x86 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [154/155] libtool-ltdl-0:2.4.7-11.fc41. 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [155/155] libbrotli-0:1.1.0-4.fc41.x86_ 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [155/155] Total 100% | 0.0 B/s | 0.0 B | 00m00s Running transaction Importing PGP key 0xE99D6AD1: Userid : "Fedora (41) " Fingerprint: 466CF2D8B60BC3057AA9453ED0622462E99D6AD1 From : file:///usr/share/distribution-gpg-keys/fedora/RPM-GPG-KEY-fedora-41-primary The key was successfully imported. Importing PGP key 0xE99D6AD1: Userid : "Fedora (41) " Fingerprint: 466CF2D8B60BC3057AA9453ED0622462E99D6AD1 From : file:///usr/share/distribution-gpg-keys/fedora/RPM-GPG-KEY-fedora-41-primary The key was successfully imported. Importing PGP key 0xA15B79CC: Userid : "Fedora (40) " Fingerprint: 115DF9AEF857853EE8445D0A0727707EA15B79CC From : file:///usr/share/distribution-gpg-keys/fedora/RPM-GPG-KEY-fedora-40-primary The key was successfully imported. [ 1/157] Verify package files 100% | 786.0 B/s | 155.0 B | 00m00s >>> Running pre-transaction scriptlet: filesystem-0:3.18-9.fc41.x86_64 >>> Stop pre-transaction scriptlet: filesystem-0:3.18-9.fc41.x86_64 [ 2/157] Prepare transaction 100% | 4.5 KiB/s | 155.0 B | 00m00s [ 3/157] Installing libgcc-0:14.1.1-4. 100% | 133.0 MiB/s | 272.3 KiB | 00m00s >>> Running post-install scriptlet: libgcc-0:14.1.1-4.fc41.x86_64 >>> Stop post-install scriptlet: libgcc-0:14.1.1-4.fc41.x86_64 [ 4/157] Installing crypto-policies-0: 100% | 35.9 MiB/s | 147.0 KiB | 00m00s >>> Running post-install scriptlet: crypto-policies-0:20240521-1.gitf71d135.fc41 >>> Stop post-install scriptlet: crypto-policies-0:20240521-1.gitf71d135.fc41.no [ 5/157] Installing libssh-config-0:0. 100% | 0.0 B/s | 816.0 B | 00m00s [ 6/157] Installing publicsuffix-list- 100% | 0.0 B/s | 68.3 KiB | 00m00s [ 7/157] Installing fedora-release-ide 100% | 0.0 B/s | 952.0 B | 00m00s [ 8/157] Installing fedora-gpg-keys-0: 100% | 55.2 MiB/s | 169.7 KiB | 00m00s [ 9/157] Installing fedora-repos-rawhi 100% | 0.0 B/s | 2.4 KiB | 00m00s [ 10/157] Installing fedora-repos-0:41- 100% | 0.0 B/s | 5.7 KiB | 00m00s [ 11/157] Installing fedora-release-com 100% | 22.9 MiB/s | 23.5 KiB | 00m00s [ 12/157] Installing fedora-release-0:4 100% | 0.0 B/s | 124.0 B | 00m00s [ 13/157] Installing setup-0:2.15.0-3.f 100% | 59.1 MiB/s | 726.1 KiB | 00m00s >>> Running post-install scriptlet: setup-0:2.15.0-3.fc41.noarch >>> Stop post-install scriptlet: setup-0:2.15.0-3.fc41.noarch [ 14/157] Installing filesystem-0:3.18- 100% | 3.6 MiB/s | 212.5 KiB | 00m00s [ 15/157] Installing basesystem-0:11-20 100% | 0.0 B/s | 124.0 B | 00m00s [ 16/157] Installing rust-srpm-macros-0 100% | 0.0 B/s | 5.6 KiB | 00m00s [ 17/157] Installing pkgconf-m4-0:2.1.1 100% | 0.0 B/s | 14.3 KiB | 00m00s [ 18/157] Installing pcre2-syntax-0:10. 100% | 245.6 MiB/s | 251.5 KiB | 00m00s [ 19/157] Installing ncurses-base-0:6.4 100% | 85.8 MiB/s | 351.6 KiB | 00m00s [ 20/157] Installing glibc-minimal-lang 100% | 0.0 B/s | 124.0 B | 00m00s [ 21/157] Installing ncurses-libs-0:6.4 100% | 236.7 MiB/s | 969.7 KiB | 00m00s >>> Running pre-install scriptlet: glibc-0:2.39.9000-18.fc41.x86_64 >>> Stop pre-install scriptlet: glibc-0:2.39.9000-18.fc41.x86_64 warning: posix.fork(): .fork(), .exec(), .wait() and .redirect2null() are deprecated, use rpm.execute() instead warning: posix.wait(): .fork(), .exec(), .wait() and .redirect2null() are deprecated, use rpm.execute() instead warning: posix.exec(): .fork(), .exec(), .wait() and .redirect2null() are deprecated, use rpm.execute() instead warning: posix.fork(): .fork(), .exec(), .wait() and .redirect2null() are deprecated, use rpm.execute() instead warning: posix.wait(): .fork(), .exec(), .wait() and .redirect2null() are deprecated, use rpm.execute() instead warning: posix.exec(): .fork(), .exec(), .wait() and .redirect2null() are deprecated, use rpm.execute() instead [ 22/157] Installing glibc-0:2.39.9000- 100% | 248.9 MiB/s | 6.7 MiB | 00m00s >>> Running post-install scriptlet: glibc-0:2.39.9000-18.fc41.x86_64 >>> Stop post-install scriptlet: glibc-0:2.39.9000-18.fc41.x86_64 [ 23/157] Installing bash-0:5.2.26-3.fc 100% | 429.5 MiB/s | 8.2 MiB | 00m00s >>> Running post-install scriptlet: bash-0:5.2.26-3.fc40.x86_64 >>> Stop post-install scriptlet: bash-0:5.2.26-3.fc40.x86_64 [ 24/157] Installing glibc-common-0:2.3 100% | 205.5 MiB/s | 1.0 MiB | 00m00s warning: posix.fork(): .fork(), .exec(), .wait() and .redirect2null() are deprecated, use rpm.execute() instead warning: posix.wait(): .fork(), .exec(), .wait() and .redirect2null() are deprecated, use rpm.execute() instead warning: posix.exec(): .fork(), .exec(), .wait() and .redirect2null() are deprecated, use rpm.execute() instead [ 25/157] Installing glibc-gconv-extra- 100% | 253.7 MiB/s | 7.9 MiB | 00m00s >>> Running post-install scriptlet: glibc-gconv-extra-0:2.39.9000-18.fc41.x86_64 >>> Stop post-install scriptlet: glibc-gconv-extra-0:2.39.9000-18.fc41.x86_64 [ 26/157] Installing zlib-ng-compat-0:2 100% | 131.6 MiB/s | 134.8 KiB | 00m00s [ 27/157] Installing bzip2-libs-0:1.0.8 100% | 0.0 B/s | 81.8 KiB | 00m00s [ 28/157] Installing xz-libs-1:5.4.6-3. 100% | 206.0 MiB/s | 210.9 KiB | 00m00s [ 29/157] Installing popt-0:1.19-6.fc40 100% | 70.1 MiB/s | 143.5 KiB | 00m00s [ 30/157] Installing readline-0:8.2-8.f 100% | 239.9 MiB/s | 491.4 KiB | 00m00s [ 31/157] Installing libstdc++-0:14.1.1 100% | 394.6 MiB/s | 2.8 MiB | 00m00s [ 32/157] Installing libzstd-0:1.5.6-1. 100% | 385.3 MiB/s | 789.2 KiB | 00m00s [ 33/157] Installing elfutils-libelf-0: 100% | 389.8 MiB/s | 1.2 MiB | 00m00s [ 34/157] Installing libuuid-0:2.40.1-1 100% | 0.0 B/s | 38.4 KiB | 00m00s [ 35/157] Installing libblkid-0:2.40.1- 100% | 253.6 MiB/s | 259.7 KiB | 00m00s [ 36/157] Installing libattr-0:2.5.2-3. 100% | 0.0 B/s | 29.5 KiB | 00m00s [ 37/157] Installing libacl-0:2.3.2-1.f 100% | 0.0 B/s | 40.8 KiB | 00m00s [ 38/157] Installing libxcrypt-0:4.4.36 100% | 259.3 MiB/s | 265.5 KiB | 00m00s [ 39/157] Installing gmp-1:6.3.0-1.fc41 100% | 393.4 MiB/s | 805.6 KiB | 00m00s [ 40/157] Installing libeconf-0:0.6.2-2 100% | 58.3 MiB/s | 59.7 KiB | 00m00s [ 41/157] Installing gdbm-libs-1:1.23-6 100% | 120.7 MiB/s | 123.6 KiB | 00m00s [ 42/157] Installing mpfr-0:4.2.1-4.fc4 100% | 270.1 MiB/s | 829.7 KiB | 00m00s [ 43/157] Installing gawk-0:5.3.0-3.fc4 100% | 345.6 MiB/s | 1.7 MiB | 00m00s [ 44/157] Installing dwz-0:0.15-6.fc40. 100% | 285.5 MiB/s | 292.3 KiB | 00m00s [ 45/157] Installing unzip-0:6.0-63.fc4 100% | 377.3 MiB/s | 386.3 KiB | 00m00s [ 46/157] Installing file-libs-0:5.45-6 100% | 709.3 MiB/s | 9.9 MiB | 00m00s [ 47/157] Installing file-0:5.45-6.fc41 100% | 102.5 MiB/s | 105.0 KiB | 00m00s [ 48/157] Installing pcre2-0:10.43-2.fc 100% | 319.8 MiB/s | 654.9 KiB | 00m00s [ 49/157] Installing grep-0:3.11-8.fc41 100% | 249.8 MiB/s | 1.0 MiB | 00m00s [ 50/157] Installing xz-1:5.4.6-3.fc41. 100% | 286.1 MiB/s | 2.0 MiB | 00m00s [ 51/157] Installing lz4-libs-0:1.9.4-6 100% | 127.4 MiB/s | 130.5 KiB | 00m00s [ 52/157] Installing lua-libs-0:5.4.6-5 100% | 275.7 MiB/s | 282.3 KiB | 00m00s [ 53/157] Installing libcom_err-0:1.47. 100% | 0.0 B/s | 68.3 KiB | 00m00s [ 54/157] Installing libcap-ng-0:0.8.5- 100% | 69.4 MiB/s | 71.0 KiB | 00m00s [ 55/157] Installing audit-libs-0:4.0.1 100% | 321.7 MiB/s | 329.4 KiB | 00m00s [ 56/157] Installing pam-libs-0:1.6.1-3 100% | 134.2 MiB/s | 137.4 KiB | 00m00s [ 57/157] Installing libcap-0:2.70-1.fc 100% | 110.0 MiB/s | 225.2 KiB | 00m00s [ 58/157] Installing systemd-libs-0:256 100% | 337.0 MiB/s | 2.0 MiB | 00m00s [ 59/157] Installing libsepol-0:3.6-3.f 100% | 392.1 MiB/s | 803.0 KiB | 00m00s [ 60/157] Installing libselinux-0:3.6-6 100% | 174.1 MiB/s | 178.3 KiB | 00m00s [ 61/157] Installing sed-0:4.9-1.fc40.x 100% | 212.3 MiB/s | 869.7 KiB | 00m00s [ 62/157] Installing findutils-1:4.10.0 100% | 371.6 MiB/s | 1.9 MiB | 00m00s [ 63/157] Installing libmount-0:2.40.1- 100% | 344.6 MiB/s | 352.9 KiB | 00m00s [ 64/157] Installing alternatives-0:1.2 100% | 66.4 MiB/s | 68.0 KiB | 00m00s [ 65/157] Installing jansson-0:2.13.1-9 100% | 0.0 B/s | 89.7 KiB | 00m00s [ 66/157] Installing libsmartcols-0:2.4 100% | 177.3 MiB/s | 181.5 KiB | 00m00s [ 67/157] Installing libtasn1-0:4.19.0- 100% | 173.3 MiB/s | 177.5 KiB | 00m00s [ 68/157] Installing libunistring-0:1.1 100% | 346.1 MiB/s | 1.7 MiB | 00m00s [ 69/157] Installing libidn2-0:2.3.7-1. 100% | 163.6 MiB/s | 335.0 KiB | 00m00s [ 70/157] Installing libpsl-0:0.21.5-3. 100% | 79.7 MiB/s | 81.6 KiB | 00m00s [ 71/157] Installing util-linux-core-0: 100% | 247.5 MiB/s | 1.5 MiB | 00m00s [ 72/157] Installing tar-2:1.35-3.fc40. 100% | 368.8 MiB/s | 3.0 MiB | 00m00s [ 73/157] Installing libsemanage-0:3.6- 100% | 144.2 MiB/s | 295.3 KiB | 00m00s [ 74/157] Installing shadow-utils-2:4.1 100% | 173.8 MiB/s | 4.2 MiB | 00m00s >>> Running pre-install scriptlet: libutempter-0:1.2.1-13.fc40.x86_64 >>> Stop pre-install scriptlet: libutempter-0:1.2.1-13.fc40.x86_64 [ 75/157] Installing libutempter-0:1.2. 100% | 58.3 MiB/s | 59.7 KiB | 00m00s [ 76/157] Installing zstd-0:1.5.6-1.fc4 100% | 419.0 MiB/s | 1.7 MiB | 00m00s [ 77/157] Installing zip-0:3.0-40.fc40. 100% | 345.3 MiB/s | 707.1 KiB | 00m00s [ 78/157] Installing gdbm-1:1.23-6.fc40 100% | 227.4 MiB/s | 465.8 KiB | 00m00s [ 79/157] Installing cyrus-sasl-lib-0:2 100% | 381.8 MiB/s | 2.3 MiB | 00m00s [ 80/157] Installing libfdisk-0:2.40.1- 100% | 355.4 MiB/s | 363.9 KiB | 00m00s [ 81/157] Installing add-determinism-no 100% | 420.6 MiB/s | 2.5 MiB | 00m00s [ 82/157] Installing build-reproducibil 100% | 0.0 B/s | 1.0 KiB | 00m00s [ 83/157] Installing libxml2-0:2.12.7-2 100% | 425.1 MiB/s | 1.7 MiB | 00m00s [ 84/157] Installing bzip2-0:1.0.8-18.f 100% | 93.9 MiB/s | 96.2 KiB | 00m00s [ 85/157] Installing sqlite-libs-0:3.46 100% | 353.4 MiB/s | 1.4 MiB | 00m00s [ 86/157] Installing ed-0:1.20.2-1.fc41 100% | 145.7 MiB/s | 149.2 KiB | 00m00s [ 87/157] Installing patch-0:2.7.6-24.f 100% | 258.1 MiB/s | 264.3 KiB | 00m00s [ 88/157] Installing elfutils-default-y 100% | 510.7 KiB/s | 2.0 KiB | 00m00s >>> Running post-install scriptlet: elfutils-default-yama-scope-0:0.191-7.fc41.n >>> Stop post-install scriptlet: elfutils-default-yama-scope-0:0.191-7.fc41.noar [ 89/157] Installing elfutils-libs-0:0. 100% | 210.9 MiB/s | 648.0 KiB | 00m00s [ 90/157] Installing cpio-0:2.15-1.fc40 100% | 274.9 MiB/s | 1.1 MiB | 00m00s [ 91/157] Installing diffutils-0:3.10-5 100% | 317.2 MiB/s | 1.6 MiB | 00m00s [ 92/157] Installing libgomp-0:14.1.1-4 100% | 254.4 MiB/s | 520.9 KiB | 00m00s [ 93/157] Installing keyutils-libs-0:1. 100% | 54.5 MiB/s | 55.8 KiB | 00m00s [ 94/157] Installing libverto-0:0.3.2-8 100% | 30.5 MiB/s | 31.3 KiB | 00m00s [ 95/157] Installing libpkgconf-0:2.1.1 100% | 73.6 MiB/s | 75.3 KiB | 00m00s [ 96/157] Installing pkgconf-0:2.1.1-1. 100% | 83.4 MiB/s | 85.4 KiB | 00m00s [ 97/157] Installing pkgconf-pkg-config 100% | 0.0 B/s | 1.8 KiB | 00m00s [ 98/157] Installing libffi-0:3.4.6-1.f 100% | 81.8 MiB/s | 83.8 KiB | 00m00s [ 99/157] Installing p11-kit-0:0.25.3-4 100% | 274.3 MiB/s | 2.2 MiB | 00m00s [100/157] Installing p11-kit-trust-0:0. 100% | 64.0 MiB/s | 393.1 KiB | 00m00s >>> Running post-install scriptlet: p11-kit-trust-0:0.25.3-4.fc40.x86_64 >>> Stop post-install scriptlet: p11-kit-trust-0:0.25.3-4.fc40.x86_64 [101/157] Installing xxhash-libs-0:0.8. 100% | 87.8 MiB/s | 89.9 KiB | 00m00s [102/157] Installing libnghttp2-0:1.62. 100% | 163.3 MiB/s | 167.2 KiB | 00m00s [103/157] Installing libtool-ltdl-0:2.4 100% | 0.0 B/s | 67.3 KiB | 00m00s [104/157] Installing libbrotli-0:1.1.0- 100% | 270.8 MiB/s | 831.8 KiB | 00m00s [105/157] Installing coreutils-common-0 100% | 414.4 MiB/s | 11.2 MiB | 00m00s [106/157] Installing openssl-libs-1:3.2 100% | 433.5 MiB/s | 7.8 MiB | 00m00s [107/157] Installing coreutils-0:9.5-2. 100% | 294.3 MiB/s | 5.6 MiB | 00m00s >>> Running pre-install scriptlet: ca-certificates-0:2023.2.62_v7.0.401-6.fc40.n >>> Stop pre-install scriptlet: ca-certificates-0:2023.2.62_v7.0.401-6.fc40.noar [108/157] Installing ca-certificates-0: 100% | 4.2 MiB/s | 2.3 MiB | 00m01s >>> Running post-install scriptlet: ca-certificates-0:2023.2.62_v7.0.401-6.fc40. >>> Stop post-install scriptlet: ca-certificates-0:2023.2.62_v7.0.401-6.fc40.noa [109/157] Installing krb5-libs-0:1.21.2 100% | 286.8 MiB/s | 2.3 MiB | 00m00s [110/157] Installing libarchive-0:3.7.4 100% | 298.4 MiB/s | 916.6 KiB | 00m00s [111/157] Installing libtirpc-0:1.3.4-1 100% | 199.8 MiB/s | 204.6 KiB | 00m00s [112/157] Installing gzip-0:1.13-1.fc40 100% | 190.7 MiB/s | 390.6 KiB | 00m00s [113/157] Installing authselect-libs-0: 100% | 203.4 MiB/s | 833.2 KiB | 00m00s [114/157] Installing authselect-0:1.5.0 100% | 77.1 MiB/s | 157.9 KiB | 00m00s [115/157] Installing cracklib-0:2.9.11- 100% | 81.5 MiB/s | 250.3 KiB | 00m00s [116/157] Installing libpwquality-0:1.4 100% | 140.0 MiB/s | 430.1 KiB | 00m00s [117/157] Installing libnsl2-0:2.0.1-1. 100% | 57.7 MiB/s | 59.0 KiB | 00m00s [118/157] Installing pam-0:1.6.1-3.fc41 100% | 165.4 MiB/s | 1.8 MiB | 00m00s [119/157] Installing libssh-0:0.10.6-6. 100% | 251.7 MiB/s | 515.4 KiB | 00m00s [120/157] Installing rpm-sequoia-0:1.6. 100% | 368.4 MiB/s | 2.2 MiB | 00m00s [121/157] Installing rpm-libs-0:4.19.91 100% | 232.9 MiB/s | 715.4 KiB | 00m00s [122/157] Installing rpm-build-libs-0:4 100% | 202.6 MiB/s | 207.5 KiB | 00m00s [123/157] Installing libevent-0:2.1.12- 100% | 292.8 MiB/s | 899.4 KiB | 00m00s [124/157] Installing openldap-0:2.6.8-1 100% | 312.5 MiB/s | 640.0 KiB | 00m00s [125/157] Installing libcurl-0:8.8.0-1. 100% | 394.0 MiB/s | 806.8 KiB | 00m00s [126/157] Installing elfutils-debuginfo 100% | 65.3 MiB/s | 66.9 KiB | 00m00s [127/157] Installing binutils-gold-0:2. 100% | 184.6 MiB/s | 2.0 MiB | 00m00s >>> Running post-install scriptlet: binutils-gold-0:2.42.50-11.fc41.x86_64 >>> Stop post-install scriptlet: binutils-gold-0:2.42.50-11.fc41.x86_64 [128/157] Installing binutils-0:2.42.50 100% | 404.7 MiB/s | 27.5 MiB | 00m00s >>> Running post-install scriptlet: binutils-0:2.42.50-11.fc41.x86_64 >>> Stop post-install scriptlet: binutils-0:2.42.50-11.fc41.x86_64 [129/157] Installing elfutils-0:0.191-7 100% | 364.6 MiB/s | 2.6 MiB | 00m00s [130/157] Installing gdb-minimal-0:14.2 100% | 423.3 MiB/s | 12.7 MiB | 00m00s [131/157] Installing debugedit-0:5.0-16 100% | 197.3 MiB/s | 202.0 KiB | 00m00s [132/157] Installing curl-0:8.8.0-1.fc4 100% | 91.1 MiB/s | 746.2 KiB | 00m00s >>> Running pre-install scriptlet: rpm-0:4.19.91-9.fc41.x86_64 >>> Stop pre-install scriptlet: rpm-0:4.19.91-9.fc41.x86_64 [133/157] Installing rpm-0:4.19.91-9.fc 100% | 191.6 MiB/s | 2.5 MiB | 00m00s [134/157] Installing efi-srpm-macros-0: 100% | 0.0 B/s | 41.2 KiB | 00m00s [135/157] Installing lua-srpm-macros-0: 100% | 1.9 MiB/s | 1.9 KiB | 00m00s [136/157] Installing zig-srpm-macros-0: 100% | 0.0 B/s | 1.7 KiB | 00m00s [137/157] Installing qt6-srpm-macros-0: 100% | 0.0 B/s | 732.0 B | 00m00s [138/157] Installing qt5-srpm-macros-0: 100% | 0.0 B/s | 776.0 B | 00m00s [139/157] Installing perl-srpm-macros-0 100% | 1.1 MiB/s | 1.1 KiB | 00m00s [140/157] Installing package-notes-srpm 100% | 0.0 B/s | 2.0 KiB | 00m00s [141/157] Installing openblas-srpm-macr 100% | 0.0 B/s | 392.0 B | 00m00s [142/157] Installing ocaml-srpm-macros- 100% | 0.0 B/s | 2.2 KiB | 00m00s [143/157] Installing kernel-srpm-macros 100% | 0.0 B/s | 2.3 KiB | 00m00s [144/157] Installing gnat-srpm-macros-0 100% | 0.0 B/s | 1.3 KiB | 00m00s [145/157] Installing ghc-srpm-macros-0: 100% | 0.0 B/s | 1.0 KiB | 00m00s [146/157] Installing fpc-srpm-macros-0: 100% | 0.0 B/s | 420.0 B | 00m00s [147/157] Installing ansible-srpm-macro 100% | 0.0 B/s | 36.2 KiB | 00m00s [148/157] Installing fonts-srpm-macros- 100% | 55.1 MiB/s | 56.5 KiB | 00m00s [149/157] Installing forge-srpm-macros- 100% | 0.0 B/s | 40.3 KiB | 00m00s [150/157] Installing go-srpm-macros-0:3 100% | 0.0 B/s | 62.0 KiB | 00m00s [151/157] Installing python-srpm-macros 100% | 50.5 MiB/s | 51.7 KiB | 00m00s [152/157] Installing redhat-rpm-config- 100% | 185.6 MiB/s | 190.0 KiB | 00m00s [153/157] Installing rpm-build-0:4.19.9 100% | 98.9 MiB/s | 202.6 KiB | 00m00s [154/157] Installing pyproject-srpm-mac 100% | 2.0 MiB/s | 2.1 KiB | 00m00s [155/157] Installing util-linux-0:2.40. 100% | 187.2 MiB/s | 3.7 MiB | 00m00s >>> Running post-install scriptlet: util-linux-0:2.40.1-1.fc41.x86_64 >>> Stop post-install scriptlet: util-linux-0:2.40.1-1.fc41.x86_64 [156/157] Installing which-0:2.21-41.fc 100% | 80.5 MiB/s | 82.4 KiB | 00m00s warning: posix.fork(): .fork(), .exec(), .wait() and .redirect2null() are deprecated, use rpm.execute() instead warning: posix.wait(): .fork(), .exec(), .wait() and .redirect2null() are deprecated, use rpm.execute() instead warning: posix.exec(): .fork(), .exec(), .wait() and .redirect2null() are deprecated, use rpm.execute() instead [157/157] Installing info-0:7.1-2.fc40. 100% | 460.4 KiB/s | 358.2 KiB | 00m01s >>> Running post-transaction scriptlet: filesystem-0:3.18-9.fc41.x86_64 >>> Stop post-transaction scriptlet: filesystem-0:3.18-9.fc41.x86_64 >>> Running post-transaction scriptlet: ca-certificates-0:2023.2.62_v7.0.401-6.f >>> Stop post-transaction scriptlet: ca-certificates-0:2023.2.62_v7.0.401-6.fc40 >>> Running post-transaction scriptlet: authselect-libs-0:1.5.0-5.fc41.x86_64 >>> Stop post-transaction scriptlet: authselect-libs-0:1.5.0-5.fc41.x86_64 >>> Running post-transaction scriptlet: rpm-0:4.19.91-9.fc41.x86_64 >>> Stop post-transaction scriptlet: rpm-0:4.19.91-9.fc41.x86_64 >>> Running trigger-install scriptlet: glibc-common-0:2.39.9000-18.fc41.x86_64 >>> Stop trigger-install scriptlet: glibc-common-0:2.39.9000-18.fc41.x86_64 >>> Running trigger-install scriptlet: info-0:7.1-2.fc40.x86_64 >>> Stop trigger-install scriptlet: info-0:7.1-2.fc40.x86_64 Warning: skipped PGP checks for 21 packages from repository: copr_base Finish: installing minimal buildroot with dnf5 Start: creating root cache Finish: creating root cache Finish: chroot init INFO: Installed packages: INFO: add-determinism-nopython-0.2.0-9.fc41.x86_64 alternatives-1.27-1.fc41.x86_64 ansible-srpm-macros-1-15.fc41.noarch audit-libs-4.0.1-3.fc41.x86_64 authselect-1.5.0-5.fc41.x86_64 authselect-libs-1.5.0-5.fc41.x86_64 basesystem-11-20.fc40.noarch bash-5.2.26-3.fc40.x86_64 binutils-2.42.50-11.fc41.x86_64 binutils-gold-2.42.50-11.fc41.x86_64 build-reproducibility-srpm-macros-0.2.0-9.fc41.noarch bzip2-1.0.8-18.fc40.x86_64 bzip2-libs-1.0.8-18.fc40.x86_64 ca-certificates-2023.2.62_v7.0.401-6.fc40.noarch coreutils-9.5-2.fc41.x86_64 coreutils-common-9.5-2.fc41.x86_64 cpio-2.15-1.fc40.x86_64 cracklib-2.9.11-5.fc40.x86_64 crypto-policies-20240521-1.gitf71d135.fc41.noarch curl-8.8.0-1.fc41.x86_64 cyrus-sasl-lib-2.1.28-22.fc41.x86_64 debugedit-5.0-16.fc41.x86_64 diffutils-3.10-5.fc40.x86_64 dwz-0.15-6.fc40.x86_64 ed-1.20.2-1.fc41.x86_64 efi-srpm-macros-5-11.fc40.noarch elfutils-0.191-7.fc41.x86_64 elfutils-debuginfod-client-0.191-7.fc41.x86_64 elfutils-default-yama-scope-0.191-7.fc41.noarch elfutils-libelf-0.191-7.fc41.x86_64 elfutils-libs-0.191-7.fc41.x86_64 fedora-gpg-keys-41-0.2.noarch fedora-release-41-0.13.noarch fedora-release-common-41-0.13.noarch fedora-release-identity-basic-41-0.13.noarch fedora-repos-41-0.2.noarch fedora-repos-rawhide-41-0.2.noarch file-5.45-6.fc41.x86_64 file-libs-5.45-6.fc41.x86_64 filesystem-3.18-9.fc41.x86_64 findutils-4.10.0-2.fc41.x86_64 fonts-srpm-macros-2.0.5-15.fc41.noarch forge-srpm-macros-0.3.1-1.fc41.noarch fpc-srpm-macros-1.3-12.fc40.noarch gawk-5.3.0-3.fc40.x86_64 gdb-minimal-14.2-9.fc41.x86_64 gdbm-1.23-6.fc40.x86_64 gdbm-libs-1.23-6.fc40.x86_64 ghc-srpm-macros-1.9.1-1.fc41.noarch glibc-2.39.9000-18.fc41.x86_64 glibc-common-2.39.9000-18.fc41.x86_64 glibc-gconv-extra-2.39.9000-18.fc41.x86_64 glibc-minimal-langpack-2.39.9000-18.fc41.x86_64 gmp-6.3.0-1.fc41.x86_64 gnat-srpm-macros-6-5.fc40.noarch go-srpm-macros-3.6.0-1.fc41.noarch gpg-pubkey-a15b79cc-63d04c2c gpg-pubkey-e99d6ad1-64d2612c grep-3.11-8.fc41.x86_64 gzip-1.13-1.fc40.x86_64 info-7.1-2.fc40.x86_64 jansson-2.13.1-9.fc40.x86_64 kernel-srpm-macros-1.0-23.fc41.noarch keyutils-libs-1.6.3-3.fc40.x86_64 krb5-libs-1.21.2-5.fc40.x86_64 libacl-2.3.2-1.fc40.x86_64 libarchive-3.7.4-1.fc41.x86_64 libattr-2.5.2-3.fc40.x86_64 libblkid-2.40.1-1.fc41.x86_64 libbrotli-1.1.0-4.fc41.x86_64 libcap-2.70-1.fc41.x86_64 libcap-ng-0.8.5-2.fc41.x86_64 libcom_err-1.47.0-5.fc40.x86_64 libcurl-8.8.0-1.fc41.x86_64 libeconf-0.6.2-2.fc41.x86_64 libevent-2.1.12-13.fc41.x86_64 libfdisk-2.40.1-1.fc41.x86_64 libffi-3.4.6-1.fc41.x86_64 libgcc-14.1.1-4.fc41.x86_64 libgomp-14.1.1-4.fc41.x86_64 libidn2-2.3.7-1.fc40.x86_64 libmount-2.40.1-1.fc41.x86_64 libnghttp2-1.62.0-1.fc41.x86_64 libnsl2-2.0.1-1.fc40.x86_64 libpkgconf-2.1.1-1.fc41.x86_64 libpsl-0.21.5-3.fc40.x86_64 libpwquality-1.4.5-10.fc41.x86_64 libselinux-3.6-6.fc41.x86_64 libsemanage-3.6-4.fc41.x86_64 libsepol-3.6-3.fc40.x86_64 libsmartcols-2.40.1-1.fc41.x86_64 libssh-0.10.6-6.fc41.x86_64 libssh-config-0.10.6-6.fc41.noarch libstdc++-14.1.1-4.fc41.x86_64 libtasn1-4.19.0-6.fc40.x86_64 libtirpc-1.3.4-1.rc3.fc41.x86_64 libtool-ltdl-2.4.7-11.fc41.x86_64 libunistring-1.1-7.fc41.x86_64 libutempter-1.2.1-13.fc40.x86_64 libuuid-2.40.1-1.fc41.x86_64 libverto-0.3.2-8.fc40.x86_64 libxcrypt-4.4.36-5.fc40.x86_64 libxml2-2.12.7-2.fc41.x86_64 libzstd-1.5.6-1.fc41.x86_64 lua-libs-5.4.6-5.fc40.x86_64 lua-srpm-macros-1-13.fc40.noarch lz4-libs-1.9.4-6.fc40.x86_64 mpfr-4.2.1-4.fc41.x86_64 ncurses-base-6.4-12.20240127.fc40.noarch ncurses-libs-6.4-12.20240127.fc40.x86_64 ocaml-srpm-macros-10-2.fc41.noarch openblas-srpm-macros-2-17.fc41.noarch openldap-2.6.8-1.fc41.x86_64 openssl-libs-3.2.2-1.fc41.x86_64 p11-kit-0.25.3-4.fc40.x86_64 p11-kit-trust-0.25.3-4.fc40.x86_64 package-notes-srpm-macros-0.5-11.fc40.noarch pam-1.6.1-3.fc41.x86_64 pam-libs-1.6.1-3.fc41.x86_64 patch-2.7.6-24.fc40.x86_64 pcre2-10.43-2.fc41.1.x86_64 pcre2-syntax-10.43-2.fc41.1.noarch perl-srpm-macros-1-53.fc40.noarch pkgconf-2.1.1-1.fc41.x86_64 pkgconf-m4-2.1.1-1.fc41.noarch pkgconf-pkg-config-2.1.1-1.fc41.x86_64 popt-1.19-6.fc40.x86_64 publicsuffix-list-dafsa-20240107-3.fc40.noarch pyproject-srpm-macros-1.12.1-1.fc41.noarch python-srpm-macros-3.12-9.fc41.noarch qt5-srpm-macros-5.15.14-1.fc41.noarch qt6-srpm-macros-6.7.1-1.fc41.noarch readline-8.2-8.fc40.x86_64 redhat-rpm-config-292-1.fc41.noarch rpm-4.19.91-9.fc41.x86_64 rpm-build-4.19.91-9.fc41.x86_64 rpm-build-libs-4.19.91-9.fc41.x86_64 rpm-libs-4.19.91-9.fc41.x86_64 rpm-sequoia-1.6.0-3.fc41.x86_64 rust-srpm-macros-26.3-1.fc41.noarch sed-4.9-1.fc40.x86_64 setup-2.15.0-3.fc41.noarch shadow-utils-4.15.1-5.fc41.x86_64 sqlite-libs-3.46.0-1.fc41.x86_64 systemd-libs-256~rc3-4.fc41.x86_64 tar-1.35-3.fc40.x86_64 unzip-6.0-63.fc40.x86_64 util-linux-2.40.1-1.fc41.x86_64 util-linux-core-2.40.1-1.fc41.x86_64 which-2.21-41.fc40.x86_64 xxhash-libs-0.8.2-2.fc40.x86_64 xz-5.4.6-3.fc41.x86_64 xz-libs-5.4.6-3.fc41.x86_64 zig-srpm-macros-1-2.fc40.noarch zip-3.0-40.fc40.x86_64 zlib-ng-compat-2.1.6-6.fc41.x86_64 zstd-1.5.6-1.fc41.x86_64 Start: buildsrpm Start: rpmbuild -bs Building target platforms: x86_64 Building for target x86_64 setting SOURCE_DATE_EPOCH=1717718400 Wrote: /builddir/build/SRPMS/python-terminaltables-3.1.10-13.fc41.src.rpm Finish: rpmbuild -bs cp: preserving permissions for ‘/var/lib/copr-rpmbuild/results/chroot_scan/var/lib/mock/fedora-rawhide-x86_64-1717812532.018114/root/var/log’: No such file or directory INFO: chroot_scan: 1 files copied to /var/lib/copr-rpmbuild/results/chroot_scan INFO: /var/lib/mock/fedora-rawhide-x86_64-1717812532.018114/root/var/log/dnf5.log Finish: buildsrpm INFO: Done(/var/lib/copr-rpmbuild/workspace/workdir-jy87umue/python-terminaltables/python-terminaltables.spec) Config(child) 0 minutes 15 seconds INFO: Results and/or logs in: /var/lib/copr-rpmbuild/results INFO: Cleaning up build root ('cleanup_on_success=True') Start: clean chroot INFO: unmounting tmpfs. Finish: clean chroot INFO: Start(/var/lib/copr-rpmbuild/results/python-terminaltables-3.1.10-13.fc41.src.rpm) Config(fedora-rawhide-x86_64) Start(bootstrap): chroot init INFO: mounting tmpfs at /var/lib/mock/fedora-rawhide-x86_64-bootstrap-1717812532.018114/root. INFO: reusing tmpfs at /var/lib/mock/fedora-rawhide-x86_64-bootstrap-1717812532.018114/root. INFO: calling preinit hooks INFO: enabled root cache INFO: enabled package manager cache Start(bootstrap): cleaning package manager metadata Finish(bootstrap): cleaning package manager metadata Finish(bootstrap): chroot init Start: chroot init INFO: mounting tmpfs at /var/lib/mock/fedora-rawhide-x86_64-1717812532.018114/root. INFO: calling preinit hooks INFO: enabled root cache Start: unpacking root cache Finish: unpacking root cache INFO: enabled package manager cache Start: cleaning package manager metadata Finish: cleaning package manager metadata INFO: enabled HW Info plugin INFO: Buildroot is handled by package management downloaded with a bootstrap image: rpm-4.19.91-8.fc41.x86_64 rpm-sequoia-1.6.0-3.fc41.x86_64 dnf5-5.2.3.0-1.fc41.x86_64 dnf5-plugins-5.2.3.0-1.fc41.x86_64 Finish: chroot init Start: build phase for python-terminaltables-3.1.10-13.fc41.src.rpm Start: build setup for python-terminaltables-3.1.10-13.fc41.src.rpm Building target platforms: x86_64 Building for target x86_64 setting SOURCE_DATE_EPOCH=1717718400 Wrote: /builddir/build/SRPMS/python-terminaltables-3.1.10-13.fc41.src.rpm Updating and loading repositories: Copr repository 100% | 98.2 KiB/s | 2.2 KiB | 00m00s fedora 100% | 98.3 KiB/s | 26.9 KiB | 00m00s Copr repository 100% | 59.5 MiB/s | 4.5 MiB | 00m00s Repositories loaded. Package Arch Version Repository Size Installing: pyproject-rpm-macros noarch 1.12.1-1.fc41 fedora 99.6 KiB python3-devel x86_64 3.12.3-2.fc41 fedora 1.2 MiB Installing dependencies: add-determinism x86_64 0.2.0-9.fc41 fedora 2.6 MiB expat x86_64 2.6.2-1.fc41 fedora 280.8 KiB libb2 x86_64 0.98.1-11.fc40 fedora 42.2 KiB mpdecimal x86_64 2.5.1-9.fc40 fedora 200.9 KiB python-pip-wheel noarch 24.0-4.fc41 copr_base 1.5 MiB python-rpm-macros noarch 3.12-9.fc41 fedora 22.1 KiB python3 x86_64 3.12.3-2.fc41 fedora 31.5 KiB python3-libs x86_64 3.12.3-2.fc41 fedora 40.9 MiB python3-packaging noarch 24.0-2.fc41~bootstrap copr_base 424.8 KiB python3-rpm-generators noarch 14-10.fc40 fedora 81.7 KiB python3-rpm-macros noarch 3.12-9.fc41 fedora 6.4 KiB tzdata noarch 2024a-8.fc41 fedora 1.7 MiB Transaction Summary: Installing: 14 packages Total size of inbound packages is 13 MiB. Need to download 0 B. After this operation 49 MiB will be used (install 49 MiB, remove 0 B). [ 1/14] pyproject-rpm-macros-0:1.12.1-1 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 2/14] python3-devel-0:3.12.3-2.fc41.x 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 3/14] python3-libs-0:3.12.3-2.fc41.x8 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 4/14] expat-0:2.6.2-1.fc41.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 5/14] libb2-0:0.98.1-11.fc40.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 6/14] mpdecimal-0:2.5.1-9.fc40.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 7/14] tzdata-0:2024a-8.fc41.noarch 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 8/14] add-determinism-0:0.2.0-9.fc41. 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 9/14] python3-0:3.12.3-2.fc41.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [10/14] python3-rpm-macros-0:3.12-9.fc4 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [11/14] python-rpm-macros-0:3.12-9.fc41 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [12/14] python-pip-wheel-0:24.0-4.fc41. 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [13/14] python3-rpm-generators-0:14-10. 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [14/14] python3-packaging-0:24.0-2.fc41 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [14/14] Total 100% | 0.0 B/s | 0.0 B | 00m00s Running transaction [ 1/16] Verify package files 100% | 318.0 B/s | 14.0 B | 00m00s [ 2/16] Prepare transaction 100% | 608.0 B/s | 14.0 B | 00m00s [ 3/16] Installing python-rpm-macros-0: 100% | 22.3 MiB/s | 22.8 KiB | 00m00s [ 4/16] Installing python3-rpm-macros-0 100% | 0.0 B/s | 6.7 KiB | 00m00s [ 5/16] Installing pyproject-rpm-macros 100% | 99.2 MiB/s | 101.6 KiB | 00m00s [ 6/16] Installing python-pip-wheel-0:2 100% | 305.6 MiB/s | 1.5 MiB | 00m00s [ 7/16] Installing tzdata-0:2024a-8.fc4 100% | 69.3 MiB/s | 1.9 MiB | 00m00s [ 8/16] Installing mpdecimal-0:2.5.1-9. 100% | 197.3 MiB/s | 202.0 KiB | 00m00s [ 9/16] Installing libb2-0:0.98.1-11.fc 100% | 0.0 B/s | 43.3 KiB | 00m00s [10/16] Installing expat-0:2.6.2-1.fc41 100% | 46.0 MiB/s | 282.9 KiB | 00m00s [11/16] Installing python3-libs-0:3.12. 100% | 350.3 MiB/s | 41.3 MiB | 00m00s [12/16] Installing python3-0:3.12.3-2.f 100% | 32.5 MiB/s | 33.2 KiB | 00m00s [13/16] Installing python3-packaging-0: 100% | 212.6 MiB/s | 435.5 KiB | 00m00s [14/16] Installing python3-rpm-generato 100% | 81.0 MiB/s | 82.9 KiB | 00m00s [15/16] Installing python3-devel-0:3.12 100% | 212.7 MiB/s | 1.3 MiB | 00m00s warning: posix.fork(): .fork(), .exec(), .wait() and .redirect2null() are deprecated, use rpm.execute() instead warning: posix.wait(): .fork(), .exec(), .wait() and .redirect2null() are deprecated, use rpm.execute() instead warning: posix.exec(): .fork(), .exec(), .wait() and .redirect2null() are deprecated, use rpm.execute() instead [16/16] Installing add-determinism-0:0. 100% | 98.6 MiB/s | 2.6 MiB | 00m00s >>> Running trigger-install scriptlet: glibc-common-0:2.39.9000-18.fc41.x86_64 >>> Stop trigger-install scriptlet: glibc-common-0:2.39.9000-18.fc41.x86_64 Warning: skipped PGP checks for 2 packages from repository: copr_base Finish: build setup for python-terminaltables-3.1.10-13.fc41.src.rpm Start: rpmbuild python-terminaltables-3.1.10-13.fc41.src.rpm Building target platforms: x86_64 Building for target x86_64 setting SOURCE_DATE_EPOCH=1717718400 Executing(%mkbuilddir): /bin/sh -e /var/tmp/rpm-tmp.gcnngk + umask 022 + cd /builddir/build/BUILD/python-terminaltables-3.1.10-build + test -d /builddir/build/BUILD/python-terminaltables-3.1.10-build + /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w /builddir/build/BUILD/python-terminaltables-3.1.10-build + /usr/bin/rm -rf /builddir/build/BUILD/python-terminaltables-3.1.10-build + /usr/bin/mkdir -p /builddir/build/BUILD/python-terminaltables-3.1.10-build + /usr/bin/mkdir -p /builddir/build/BUILD/python-terminaltables-3.1.10-build/SPECPARTS + RPM_EC=0 ++ jobs -p + exit 0 Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.adXnK7 + umask 022 + cd /builddir/build/BUILD/python-terminaltables-3.1.10-build + cd /builddir/build/BUILD/python-terminaltables-3.1.10-build + rm -rf terminaltables-8020b8cb8ae859891a999620085d34c8d8bfe1a3 + /usr/lib/rpm/rpmuncompress -x /builddir/build/SOURCES/8020b8cb8ae859891a999620085d34c8d8bfe1a3.tar.gz + STATUS=0 + '[' 0 -ne 0 ']' + cd terminaltables-8020b8cb8ae859891a999620085d34c8d8bfe1a3 + /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w . + /usr/lib/rpm/rpmuncompress /builddir/build/SOURCES/python-terminaltables-reqs.patch + /usr/bin/patch -s --fuzz=0 --no-backup-if-mismatch -f + /usr/lib/rpm/rpmuncompress /builddir/build/SOURCES/python-terminaltables-fix-version.patch + /usr/bin/patch -s --fuzz=0 --no-backup-if-mismatch -f + RPM_EC=0 ++ jobs -p + exit 0 Executing(%generate_buildrequires): /bin/sh -e /var/tmp/rpm-tmp.hxZ8Jq + umask 022 + cd /builddir/build/BUILD/python-terminaltables-3.1.10-build + cd terminaltables-8020b8cb8ae859891a999620085d34c8d8bfe1a3 + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CFLAGS + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CXXFLAGS + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FFLAGS + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes --cap-lints=warn' + export RUSTFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 ' + export LDFLAGS + LT_SYS_LIBRARY_PATH=/usr/lib64: + export LT_SYS_LIBRARY_PATH + CC=gcc + export CC + CXX=g++ + export CXX + echo pyproject-rpm-macros + echo python3-devel + echo 'python3dist(pip) >= 19' + echo 'python3dist(packaging)' + '[' -f pyproject.toml ']' + echo '(python3dist(tomli) if python3-devel < 3.11)' + rm -rfv '*.dist-info/' + '[' -f /usr/bin/python3 ']' + mkdir -p /builddir/build/BUILD/python-terminaltables-3.1.10-build/terminaltables-8020b8cb8ae859891a999620085d34c8d8bfe1a3/.pyproject-builddir + echo -n + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 ' + TMPDIR=/builddir/build/BUILD/python-terminaltables-3.1.10-build/terminaltables-8020b8cb8ae859891a999620085d34c8d8bfe1a3/.pyproject-builddir + RPM_TOXENV=py312 + HOSTNAME=rpmbuild + /usr/bin/python3 -Bs /usr/lib/rpm/redhat/pyproject_buildrequires.py --generate-extras --python3_pkgversion 3 --wheeldir /builddir/build/BUILD/python-terminaltables-3.1.10-build/terminaltables-8020b8cb8ae859891a999620085d34c8d8bfe1a3/pyproject-wheeldir --output /builddir/build/BUILD/python-terminaltables-3.1.10-build/python-terminaltables-3.1.10-13.fc41.x86_64-pyproject-buildrequires -t Handling poetry-core>=1.0.0 from build-system.requires Requirement not satisfied: poetry-core>=1.0.0 Exiting dependency generation pass: build backend + cat /builddir/build/BUILD/python-terminaltables-3.1.10-build/python-terminaltables-3.1.10-13.fc41.x86_64-pyproject-buildrequires + rm -rfv '*.dist-info/' + RPM_EC=0 ++ jobs -p + exit 0 Wrote: /builddir/build/SRPMS/python-terminaltables-3.1.10-13.fc41.buildreqs.nosrc.rpm INFO: Going to install missing dynamic buildrequires Updating and loading repositories: Copr repository 100% | 11.7 KiB/s | 2.2 KiB | 00m00s fedora 100% | 103.6 KiB/s | 26.9 KiB | 00m00s Repositories loaded. Package "pyproject-rpm-macros-1.12.1-1.fc41.noarch" is already installed. Package "python3-devel-3.12.3-2.fc41.x86_64" is already installed. Package "python3-packaging-24.0-2.fc41~bootstrap.noarch" is already installed. Package Arch Version Repository Size Installing: python3-pip noarch 24.0-4.fc41 copr_base 14.2 MiB python3-poetry-core noarch 1.9.0-1.fc41 copr_base 1.0 MiB Installing dependencies: python3-fastjsonschema noarch 2.19.1-2.fc41 copr_base 189.3 KiB python3-lark noarch 1.1.9-3.fc41 fedora 1.3 MiB Transaction Summary: Installing: 4 packages Total size of inbound packages is 4 MiB. Need to download 0 B. After this operation 17 MiB will be used (install 17 MiB, remove 0 B). [1/4] python3-pip-0:24.0-4.fc41.noarch 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [2/4] python3-poetry-core-0:1.9.0-1.fc4 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [3/4] python3-lark-0:1.1.9-3.fc41.noarc 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [4/4] python3-fastjsonschema-0:2.19.1-2 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [4/4] Total 100% | 0.0 B/s | 0.0 B | 00m00s Running transaction [1/6] Verify package files 100% | 333.0 B/s | 4.0 B | 00m00s [2/6] Prepare transaction 100% | 266.0 B/s | 4.0 B | 00m00s [3/6] Installing python3-fastjsonschema 100% | 96.3 MiB/s | 197.3 KiB | 00m00s [4/6] Installing python3-lark-0:1.1.9-3 100% | 263.7 MiB/s | 1.3 MiB | 00m00s [5/6] Installing python3-poetry-core-0: 100% | 116.4 MiB/s | 1.0 MiB | 00m00s warning: posix.fork(): .fork(), .exec(), .wait() and .redirect2null() are deprecated, use rpm.execute() instead warning: posix.wait(): .fork(), .exec(), .wait() and .redirect2null() are deprecated, use rpm.execute() instead warning: posix.exec(): .fork(), .exec(), .wait() and .redirect2null() are deprecated, use rpm.execute() instead [6/6] Installing python3-pip-0:24.0-4.f 100% | 201.4 MiB/s | 14.5 MiB | 00m00s >>> Running trigger-install scriptlet: glibc-common-0:2.39.9000-18.fc41.x86_64 >>> Stop trigger-install scriptlet: glibc-common-0:2.39.9000-18.fc41.x86_64 Warning: skipped PGP checks for 3 packages from repository: copr_base Building target platforms: x86_64 Building for target x86_64 setting SOURCE_DATE_EPOCH=1717718400 Executing(%generate_buildrequires): /bin/sh -e /var/tmp/rpm-tmp.ul7P1V + umask 022 + cd /builddir/build/BUILD/python-terminaltables-3.1.10-build + cd terminaltables-8020b8cb8ae859891a999620085d34c8d8bfe1a3 + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CFLAGS + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CXXFLAGS + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FFLAGS + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes --cap-lints=warn' + export RUSTFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 ' + export LDFLAGS + LT_SYS_LIBRARY_PATH=/usr/lib64: + export LT_SYS_LIBRARY_PATH + CC=gcc + export CC + CXX=g++ + export CXX + echo pyproject-rpm-macros + echo python3-devel + echo 'python3dist(pip) >= 19' + echo 'python3dist(packaging)' + '[' -f pyproject.toml ']' + echo '(python3dist(tomli) if python3-devel < 3.11)' + rm -rfv '*.dist-info/' + '[' -f /usr/bin/python3 ']' + mkdir -p /builddir/build/BUILD/python-terminaltables-3.1.10-build/terminaltables-8020b8cb8ae859891a999620085d34c8d8bfe1a3/.pyproject-builddir + echo -n + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 ' + TMPDIR=/builddir/build/BUILD/python-terminaltables-3.1.10-build/terminaltables-8020b8cb8ae859891a999620085d34c8d8bfe1a3/.pyproject-builddir + RPM_TOXENV=py312 + HOSTNAME=rpmbuild + /usr/bin/python3 -Bs /usr/lib/rpm/redhat/pyproject_buildrequires.py --generate-extras --python3_pkgversion 3 --wheeldir /builddir/build/BUILD/python-terminaltables-3.1.10-build/terminaltables-8020b8cb8ae859891a999620085d34c8d8bfe1a3/pyproject-wheeldir --output /builddir/build/BUILD/python-terminaltables-3.1.10-build/python-terminaltables-3.1.10-13.fc41.x86_64-pyproject-buildrequires -t Handling poetry-core>=1.0.0 from build-system.requires Requirement satisfied: poetry-core>=1.0.0 (installed: poetry-core 1.9.0) Handling tox-current-env >= 0.0.6 from tox itself Requirement not satisfied: tox-current-env >= 0.0.6 Exiting dependency generation pass: tox itself + cat /builddir/build/BUILD/python-terminaltables-3.1.10-build/python-terminaltables-3.1.10-13.fc41.x86_64-pyproject-buildrequires + rm -rfv '*.dist-info/' + RPM_EC=0 ++ jobs -p + exit 0 Wrote: /builddir/build/SRPMS/python-terminaltables-3.1.10-13.fc41.buildreqs.nosrc.rpm INFO: Going to install missing dynamic buildrequires Updating and loading repositories: fedora 100% | 101.3 KiB/s | 26.9 KiB | 00m00s Copr repository 100% | 63.5 KiB/s | 2.2 KiB | 00m00s Repositories loaded. Package "pyproject-rpm-macros-1.12.1-1.fc41.noarch" is already installed. Package "python3-devel-3.12.3-2.fc41.x86_64" is already installed. Package "python3-packaging-24.0-2.fc41~bootstrap.noarch" is already installed. Package "python3-pip-24.0-4.fc41.noarch" is already installed. Package "python3-poetry-core-1.9.0-1.fc41.noarch" is already installed. Package Arch Version Repository Size Installing: python3-tox-current-env noarch 0.0.11-9.fc41 copr_base 69.9 KiB Installing dependencies: python-setuptools-wheel noarch 69.2.0-5.fc41 copr_base 750.4 KiB python-wheel-wheel noarch 1:0.43.0-2.fc41~bootstrap copr_base 65.1 KiB python3-cachetools noarch 5.3.3-2.fc41 copr_base 142.3 KiB python3-chardet noarch 5.2.0-10.fc41 copr_base 2.1 MiB python3-colorama noarch 0.4.6-7.fc40 fedora 190.5 KiB python3-distlib noarch 0.3.8-1.fc41 copr_base 1.2 MiB python3-filelock noarch 3.13.4-2.fc41 copr_base 57.4 KiB python3-platformdirs noarch 3.11.0-3.fc40 copr_base 162.4 KiB python3-pluggy noarch 1.3.0-3.fc40 copr_base 182.5 KiB python3-pyproject-api noarch 1.6.1-3.fc40 fedora 80.4 KiB python3-virtualenv noarch 20.21.1-18.fc41 copr_base 685.6 KiB tox noarch 4.14.2-1.fc41 fedora 1.1 MiB Transaction Summary: Installing: 13 packages Total size of inbound packages is 2 MiB. Need to download 2 MiB. After this operation 7 MiB will be used (install 7 MiB, remove 0 B). [ 1/13] python3-pluggy-0:1.3.0-3.fc40.n 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 2/13] python3-tox-current-env-0:0.0.1 100% | 3.3 MiB/s | 30.3 KiB | 00m00s [ 3/13] python3-cachetools-0:5.3.3-2.fc 100% | 36.5 MiB/s | 37.3 KiB | 00m00s [ 4/13] python3-pyproject-api-0:1.6.1-3 100% | 3.4 MiB/s | 42.2 KiB | 00m00s [ 5/13] python3-chardet-0:5.2.0-10.fc41 100% | 88.7 MiB/s | 272.5 KiB | 00m00s [ 6/13] python3-filelock-0:3.13.4-2.fc4 100% | 30.3 MiB/s | 31.0 KiB | 00m00s [ 7/13] python3-colorama-0:0.4.6-7.fc40 100% | 11.6 MiB/s | 71.3 KiB | 00m00s [ 8/13] python3-platformdirs-0:3.11.0-3 100% | 19.5 MiB/s | 40.0 KiB | 00m00s [ 9/13] python3-virtualenv-0:20.21.1-18 100% | 62.3 MiB/s | 255.2 KiB | 00m00s [10/13] tox-0:4.14.2-1.fc41.noarch 100% | 15.5 MiB/s | 396.4 KiB | 00m00s [11/13] python-setuptools-wheel-0:69.2. 100% | 132.7 MiB/s | 679.5 KiB | 00m00s [12/13] python-wheel-wheel-1:0.43.0-2.f 100% | 34.9 MiB/s | 71.4 KiB | 00m00s [13/13] python3-distlib-0:0.3.8-1.fc41. 100% | 62.2 MiB/s | 254.9 KiB | 00m00s -------------------------------------------------------------------------------- [13/13] Total 100% | 7.2 MiB/s | 2.1 MiB | 00m00s Running transaction [ 1/15] Verify package files 100% | 1.6 KiB/s | 13.0 B | 00m00s [ 2/15] Prepare transaction 100% | 1.3 KiB/s | 13.0 B | 00m00s [ 3/15] Installing python3-platformdirs 100% | 165.2 MiB/s | 169.2 KiB | 00m00s [ 4/15] Installing python3-filelock-0:3 100% | 62.3 MiB/s | 63.8 KiB | 00m00s [ 5/15] Installing python3-distlib-0:0. 100% | 391.3 MiB/s | 1.2 MiB | 00m00s [ 6/15] Installing python-wheel-wheel-1 100% | 0.0 B/s | 65.8 KiB | 00m00s [ 7/15] Installing python-setuptools-wh 100% | 733.5 MiB/s | 751.1 KiB | 00m00s [ 8/15] Installing python3-virtualenv-0 100% | 92.5 MiB/s | 758.0 KiB | 00m00s [ 9/15] Installing python3-pluggy-0:1.3 100% | 183.9 MiB/s | 188.3 KiB | 00m00s [10/15] Installing python3-colorama-0:0 100% | 97.8 MiB/s | 200.4 KiB | 00m00s [11/15] Installing python3-chardet-0:5. 100% | 298.5 MiB/s | 2.1 MiB | 00m00s [12/15] Installing python3-cachetools-0 100% | 142.8 MiB/s | 146.3 KiB | 00m00s [13/15] Installing python3-pyproject-ap 100% | 42.3 MiB/s | 86.5 KiB | 00m00s [14/15] Installing tox-0:4.14.2-1.fc41. 100% | 148.9 MiB/s | 1.2 MiB | 00m00s warning: posix.fork(): .fork(), .exec(), .wait() and .redirect2null() are deprecated, use rpm.execute() instead warning: posix.wait(): .fork(), .exec(), .wait() and .redirect2null() are deprecated, use rpm.execute() instead warning: posix.exec(): .fork(), .exec(), .wait() and .redirect2null() are deprecated, use rpm.execute() instead [15/15] Installing python3-tox-current- 100% | 5.2 MiB/s | 74.2 KiB | 00m00s >>> Running trigger-install scriptlet: glibc-common-0:2.39.9000-18.fc41.x86_64 >>> Stop trigger-install scriptlet: glibc-common-0:2.39.9000-18.fc41.x86_64 Warning: skipped PGP checks for 10 packages from repository: copr_base Building target platforms: x86_64 Building for target x86_64 setting SOURCE_DATE_EPOCH=1717718400 Executing(%generate_buildrequires): /bin/sh -e /var/tmp/rpm-tmp.jshAi0 + umask 022 + cd /builddir/build/BUILD/python-terminaltables-3.1.10-build + cd terminaltables-8020b8cb8ae859891a999620085d34c8d8bfe1a3 + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CFLAGS + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CXXFLAGS + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FFLAGS + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes --cap-lints=warn' + export RUSTFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 ' + export LDFLAGS + LT_SYS_LIBRARY_PATH=/usr/lib64: + export LT_SYS_LIBRARY_PATH + CC=gcc + export CC + CXX=g++ + export CXX + echo pyproject-rpm-macros + echo python3-devel + echo 'python3dist(pip) >= 19' + echo 'python3dist(packaging)' + '[' -f pyproject.toml ']' + echo '(python3dist(tomli) if python3-devel < 3.11)' + rm -rfv '*.dist-info/' + '[' -f /usr/bin/python3 ']' + mkdir -p /builddir/build/BUILD/python-terminaltables-3.1.10-build/terminaltables-8020b8cb8ae859891a999620085d34c8d8bfe1a3/.pyproject-builddir + echo -n + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 ' + TMPDIR=/builddir/build/BUILD/python-terminaltables-3.1.10-build/terminaltables-8020b8cb8ae859891a999620085d34c8d8bfe1a3/.pyproject-builddir + RPM_TOXENV=py312 + HOSTNAME=rpmbuild + /usr/bin/python3 -Bs /usr/lib/rpm/redhat/pyproject_buildrequires.py --generate-extras --python3_pkgversion 3 --wheeldir /builddir/build/BUILD/python-terminaltables-3.1.10-build/terminaltables-8020b8cb8ae859891a999620085d34c8d8bfe1a3/pyproject-wheeldir --output /builddir/build/BUILD/python-terminaltables-3.1.10-build/python-terminaltables-3.1.10-13.fc41.x86_64-pyproject-buildrequires -t Handling poetry-core>=1.0.0 from build-system.requires Requirement satisfied: poetry-core>=1.0.0 (installed: poetry-core 1.9.0) Handling tox-current-env >= 0.0.6 from tox itself Requirement satisfied: tox-current-env >= 0.0.6 (installed: tox-current-env 0.0.11) py312: OK (0.00 seconds) congratulations :) (0.04 seconds) Handling tox from tox --print-deps-only: py312 Requirement satisfied: tox (installed: tox 4.14.2) Handling colorama>=0.3.7 from tox --print-deps-only: py312 Requirement satisfied: colorama>=0.3.7 (installed: colorama 0.4.6) Handling colorclass>=2.2.0 from tox --print-deps-only: py312 Requirement not satisfied: colorclass>=2.2.0 Handling pytest-cov>=2.4.0 from tox --print-deps-only: py312 Requirement not satisfied: pytest-cov>=2.4.0 Handling termcolor>=1.1.0 from tox --print-deps-only: py312 Requirement not satisfied: termcolor>=1.1.0 + cat /builddir/build/BUILD/python-terminaltables-3.1.10-build/python-terminaltables-3.1.10-13.fc41.x86_64-pyproject-buildrequires + rm -rfv terminaltables-3.1.10.dist-info/ removed 'terminaltables-3.1.10.dist-info/LICENSE' removed 'terminaltables-3.1.10.dist-info/METADATA' removed 'terminaltables-3.1.10.dist-info/WHEEL' removed 'terminaltables-3.1.10.dist-info/entry_points.txt' removed directory 'terminaltables-3.1.10.dist-info/' + RPM_EC=0 ++ jobs -p + exit 0 Wrote: /builddir/build/SRPMS/python-terminaltables-3.1.10-13.fc41.buildreqs.nosrc.rpm INFO: Going to install missing dynamic buildrequires Updating and loading repositories: fedora 100% | 99.1 KiB/s | 26.9 KiB | 00m00s Copr repository 100% | 144.0 KiB/s | 2.2 KiB | 00m00s Repositories loaded. Package "pyproject-rpm-macros-1.12.1-1.fc41.noarch" is already installed. Package "python3-devel-3.12.3-2.fc41.x86_64" is already installed. Package "python3-colorama-0.4.6-7.fc40.noarch" is already installed. Package "python3-packaging-24.0-2.fc41~bootstrap.noarch" is already installed. Package "python3-pip-24.0-4.fc41.noarch" is already installed. Package "python3-poetry-core-1.9.0-1.fc41.noarch" is already installed. Package "tox-4.14.2-1.fc41.noarch" is already installed. Package "python3-tox-current-env-0.0.11-9.fc41.noarch" is already installed. Package Arch Version Repository Size Installing: python3-colorclass noarch 2.2.2-7.fc41 copr_base 129.4 KiB python3-pytest-cov noarch 4.0.0-10.fc40 fedora 159.6 KiB python3-termcolor noarch 2.3.0-5.fc40 fedora 28.7 KiB Installing dependencies: python3-coverage x86_64 7.3.2-4.fc41 copr_base 1.7 MiB python3-coverage+toml x86_64 7.3.2-4.fc41 copr_base 17.1 KiB python3-iniconfig noarch 1.1.1-20.fc41 copr_base 20.5 KiB python3-pytest noarch 7.4.3-5.fc41 copr_base 15.0 MiB python3-setuptools noarch 69.2.0-5.fc41 copr_base 7.2 MiB Transaction Summary: Installing: 8 packages Total size of inbound packages is 4 MiB. Need to download 65 KiB. After this operation 24 MiB will be used (install 24 MiB, remove 0 B). [1/8] python3-pytest-cov-0:4.0.0-10.fc4 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [2/8] python3-coverage+toml-0:7.3.2-4.f 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [3/8] python3-coverage-0:7.3.2-4.fc41.x 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [4/8] python3-pytest-0:7.4.3-5.fc41.noa 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [5/8] python3-iniconfig-0:1.1.1-20.fc41 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [6/8] python3-setuptools-0:69.2.0-5.fc4 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [7/8] python3-termcolor-0:2.3.0-5.fc40. 100% | 1.6 MiB/s | 19.5 KiB | 00m00s [8/8] python3-colorclass-0:2.2.2-7.fc41 100% | 250.4 KiB/s | 45.3 KiB | 00m00s -------------------------------------------------------------------------------- [8/8] Total 100% | 142.5 KiB/s | 64.8 KiB | 00m00s Running transaction [ 1/10] Verify package files 100% | 615.0 B/s | 8.0 B | 00m00s [ 2/10] Prepare transaction 100% | 347.0 B/s | 8.0 B | 00m00s [ 3/10] Installing python3-setuptools-0 100% | 261.3 MiB/s | 7.3 MiB | 00m00s [ 4/10] Installing python3-coverage-0:7 100% | 339.1 MiB/s | 1.7 MiB | 00m00s [ 5/10] Installing python3-coverage+tom 100% | 0.0 B/s | 124.0 B | 00m00s [ 6/10] Installing python3-iniconfig-0: 100% | 11.4 MiB/s | 23.4 KiB | 00m00s [ 7/10] Installing python3-pytest-0:7.4 100% | 410.7 MiB/s | 15.2 MiB | 00m00s [ 8/10] Installing python3-pytest-cov-0 100% | 161.6 MiB/s | 165.5 KiB | 00m00s [ 9/10] Installing python3-termcolor-0: 100% | 32.0 MiB/s | 32.8 KiB | 00m00s warning: posix.fork(): .fork(), .exec(), .wait() and .redirect2null() are deprecated, use rpm.execute() instead warning: posix.wait(): .fork(), .exec(), .wait() and .redirect2null() are deprecated, use rpm.execute() instead warning: posix.exec(): .fork(), .exec(), .wait() and .redirect2null() are deprecated, use rpm.execute() instead [10/10] Installing python3-colorclass-0 100% | 8.9 MiB/s | 136.3 KiB | 00m00s >>> Running trigger-install scriptlet: glibc-common-0:2.39.9000-18.fc41.x86_64 >>> Stop trigger-install scriptlet: glibc-common-0:2.39.9000-18.fc41.x86_64 Warning: skipped PGP checks for 6 packages from repository: copr_base Building target platforms: x86_64 Building for target x86_64 setting SOURCE_DATE_EPOCH=1717718400 Executing(%generate_buildrequires): /bin/sh -e /var/tmp/rpm-tmp.4aMskK + umask 022 + cd /builddir/build/BUILD/python-terminaltables-3.1.10-build + cd terminaltables-8020b8cb8ae859891a999620085d34c8d8bfe1a3 + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CFLAGS + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CXXFLAGS + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FFLAGS + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes --cap-lints=warn' + export RUSTFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 ' + export LDFLAGS + LT_SYS_LIBRARY_PATH=/usr/lib64: + export LT_SYS_LIBRARY_PATH + CC=gcc + export CC + CXX=g++ + export CXX + echo pyproject-rpm-macros + echo python3-devel + echo 'python3dist(pip) >= 19' + echo 'python3dist(packaging)' + '[' -f pyproject.toml ']' + echo '(python3dist(tomli) if python3-devel < 3.11)' + rm -rfv '*.dist-info/' + '[' -f /usr/bin/python3 ']' + mkdir -p /builddir/build/BUILD/python-terminaltables-3.1.10-build/terminaltables-8020b8cb8ae859891a999620085d34c8d8bfe1a3/.pyproject-builddir + echo -n + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 ' + TMPDIR=/builddir/build/BUILD/python-terminaltables-3.1.10-build/terminaltables-8020b8cb8ae859891a999620085d34c8d8bfe1a3/.pyproject-builddir + RPM_TOXENV=py312 + HOSTNAME=rpmbuild + /usr/bin/python3 -Bs /usr/lib/rpm/redhat/pyproject_buildrequires.py --generate-extras --python3_pkgversion 3 --wheeldir /builddir/build/BUILD/python-terminaltables-3.1.10-build/terminaltables-8020b8cb8ae859891a999620085d34c8d8bfe1a3/pyproject-wheeldir --output /builddir/build/BUILD/python-terminaltables-3.1.10-build/python-terminaltables-3.1.10-13.fc41.x86_64-pyproject-buildrequires -t Handling poetry-core>=1.0.0 from build-system.requires Requirement satisfied: poetry-core>=1.0.0 (installed: poetry-core 1.9.0) Handling tox-current-env >= 0.0.6 from tox itself Requirement satisfied: tox-current-env >= 0.0.6 (installed: tox-current-env 0.0.11) py312: OK (0.00 seconds) congratulations :) (0.04 seconds) Handling tox from tox --print-deps-only: py312 Requirement satisfied: tox (installed: tox 4.14.2) Handling colorama>=0.3.7 from tox --print-deps-only: py312 Requirement satisfied: colorama>=0.3.7 (installed: colorama 0.4.6) Handling colorclass>=2.2.0 from tox --print-deps-only: py312 Requirement satisfied: colorclass>=2.2.0 (installed: colorclass 2.2.2) Handling pytest-cov>=2.4.0 from tox --print-deps-only: py312 Requirement satisfied: pytest-cov>=2.4.0 (installed: pytest-cov 4.0.0) Handling termcolor>=1.1.0 from tox --print-deps-only: py312 Requirement satisfied: termcolor>=1.1.0 (installed: termcolor 2.3.0) + cat /builddir/build/BUILD/python-terminaltables-3.1.10-build/python-terminaltables-3.1.10-13.fc41.x86_64-pyproject-buildrequires + rm -rfv terminaltables-3.1.10.dist-info/ removed 'terminaltables-3.1.10.dist-info/LICENSE' removed 'terminaltables-3.1.10.dist-info/METADATA' removed 'terminaltables-3.1.10.dist-info/WHEEL' removed 'terminaltables-3.1.10.dist-info/entry_points.txt' removed directory 'terminaltables-3.1.10.dist-info/' + RPM_EC=0 ++ jobs -p + exit 0 Wrote: /builddir/build/SRPMS/python-terminaltables-3.1.10-13.fc41.buildreqs.nosrc.rpm INFO: Going to install missing dynamic buildrequires Updating and loading repositories: fedora 100% | 99.4 KiB/s | 26.9 KiB | 00m00s Copr repository 100% | 154.3 KiB/s | 2.2 KiB | 00m00s Repositories loaded. Nothing to do. Package "pyproject-rpm-macros-1.12.1-1.fc41.noarch" is already installed. Package "python3-devel-3.12.3-2.fc41.x86_64" is already installed. Package "python3-colorama-0.4.6-7.fc40.noarch" is already installed. Package "python3-colorclass-2.2.2-7.fc41.noarch" is already installed. Package "python3-packaging-24.0-2.fc41~bootstrap.noarch" is already installed. Package "python3-pip-24.0-4.fc41.noarch" is already installed. Package "python3-poetry-core-1.9.0-1.fc41.noarch" is already installed. Package "python3-pytest-cov-4.0.0-10.fc40.noarch" is already installed. Package "python3-termcolor-2.3.0-5.fc40.noarch" is already installed. Package "tox-4.14.2-1.fc41.noarch" is already installed. Package "python3-tox-current-env-0.0.11-9.fc41.noarch" is already installed. Building target platforms: x86_64 Building for target x86_64 setting SOURCE_DATE_EPOCH=1717718400 Executing(%generate_buildrequires): /bin/sh -e /var/tmp/rpm-tmp.EUeCjC + umask 022 + cd /builddir/build/BUILD/python-terminaltables-3.1.10-build + cd terminaltables-8020b8cb8ae859891a999620085d34c8d8bfe1a3 + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CFLAGS + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CXXFLAGS + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FFLAGS + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes --cap-lints=warn' + export RUSTFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 ' + export LDFLAGS + LT_SYS_LIBRARY_PATH=/usr/lib64: + export LT_SYS_LIBRARY_PATH + CC=gcc + export CC + CXX=g++ + export CXX + echo pyproject-rpm-macros + echo python3-devel + echo 'python3dist(pip) >= 19' + echo 'python3dist(packaging)' + '[' -f pyproject.toml ']' + echo '(python3dist(tomli) if python3-devel < 3.11)' + rm -rfv '*.dist-info/' + '[' -f /usr/bin/python3 ']' + mkdir -p /builddir/build/BUILD/python-terminaltables-3.1.10-build/terminaltables-8020b8cb8ae859891a999620085d34c8d8bfe1a3/.pyproject-builddir + echo -n + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 ' + TMPDIR=/builddir/build/BUILD/python-terminaltables-3.1.10-build/terminaltables-8020b8cb8ae859891a999620085d34c8d8bfe1a3/.pyproject-builddir + RPM_TOXENV=py312 + HOSTNAME=rpmbuild + /usr/bin/python3 -Bs /usr/lib/rpm/redhat/pyproject_buildrequires.py --generate-extras --python3_pkgversion 3 --wheeldir /builddir/build/BUILD/python-terminaltables-3.1.10-build/terminaltables-8020b8cb8ae859891a999620085d34c8d8bfe1a3/pyproject-wheeldir --output /builddir/build/BUILD/python-terminaltables-3.1.10-build/python-terminaltables-3.1.10-13.fc41.x86_64-pyproject-buildrequires -t Handling poetry-core>=1.0.0 from build-system.requires Requirement satisfied: poetry-core>=1.0.0 (installed: poetry-core 1.9.0) Handling tox-current-env >= 0.0.6 from tox itself Requirement satisfied: tox-current-env >= 0.0.6 (installed: tox-current-env 0.0.11) py312: OK (0.00 seconds) congratulations :) (0.04 seconds) Handling tox from tox --print-deps-only: py312 Requirement satisfied: tox (installed: tox 4.14.2) Handling colorama>=0.3.7 from tox --print-deps-only: py312 Requirement satisfied: colorama>=0.3.7 (installed: colorama 0.4.6) Handling colorclass>=2.2.0 from tox --print-deps-only: py312 Requirement satisfied: colorclass>=2.2.0 (installed: colorclass 2.2.2) Handling pytest-cov>=2.4.0 from tox --print-deps-only: py312 Requirement satisfied: pytest-cov>=2.4.0 (installed: pytest-cov 4.0.0) Handling termcolor>=1.1.0 from tox --print-deps-only: py312 Requirement satisfied: termcolor>=1.1.0 (installed: termcolor 2.3.0) + cat /builddir/build/BUILD/python-terminaltables-3.1.10-build/python-terminaltables-3.1.10-13.fc41.x86_64-pyproject-buildrequires + rm -rfv terminaltables-3.1.10.dist-info/ removed 'terminaltables-3.1.10.dist-info/LICENSE' removed 'terminaltables-3.1.10.dist-info/METADATA' removed 'terminaltables-3.1.10.dist-info/WHEEL' removed 'terminaltables-3.1.10.dist-info/entry_points.txt' removed directory 'terminaltables-3.1.10.dist-info/' + RPM_EC=0 ++ jobs -p + exit 0 Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.w5g9fB + umask 022 + cd /builddir/build/BUILD/python-terminaltables-3.1.10-build + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CFLAGS + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CXXFLAGS + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FFLAGS + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn' + export RUSTFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes ' + export LDFLAGS + LT_SYS_LIBRARY_PATH=/usr/lib64: + export LT_SYS_LIBRARY_PATH + CC=gcc + export CC + CXX=g++ + export CXX + cd terminaltables-8020b8cb8ae859891a999620085d34c8d8bfe1a3 + mkdir -p /builddir/build/BUILD/python-terminaltables-3.1.10-build/terminaltables-8020b8cb8ae859891a999620085d34c8d8bfe1a3/.pyproject-builddir + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes ' + TMPDIR=/builddir/build/BUILD/python-terminaltables-3.1.10-build/terminaltables-8020b8cb8ae859891a999620085d34c8d8bfe1a3/.pyproject-builddir + /usr/bin/python3 -Bs /usr/lib/rpm/redhat/pyproject_wheel.py /builddir/build/BUILD/python-terminaltables-3.1.10-build/terminaltables-8020b8cb8ae859891a999620085d34c8d8bfe1a3/pyproject-wheeldir Processing /builddir/build/BUILD/python-terminaltables-3.1.10-build/terminaltables-8020b8cb8ae859891a999620085d34c8d8bfe1a3 Preparing metadata (pyproject.toml): started Running command Preparing metadata (pyproject.toml) Preparing metadata (pyproject.toml): finished with status 'done' Building wheels for collected packages: terminaltables Building wheel for terminaltables (pyproject.toml): started Running command Building wheel for terminaltables (pyproject.toml) Building wheel for terminaltables (pyproject.toml): finished with status 'done' Created wheel for terminaltables: filename=terminaltables-3.1.10-py2.py3-none-any.whl size=15095 sha256=ee45e58911dfd9825128d37b6b9587cb59af34750bfb51c863401bbb51679a72 Stored in directory: /builddir/.cache/pip/wheels/5b/d8/93/5cb954ed559356272a22c4b9a969f8022cdc9346bf7a9c0a53 Successfully built terminaltables + RPM_EC=0 ++ jobs -p + exit 0 Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.YfDaWM + umask 022 + cd /builddir/build/BUILD/python-terminaltables-3.1.10-build + '[' /builddir/build/BUILD/python-terminaltables-3.1.10-build/BUILDROOT '!=' / ']' + rm -rf /builddir/build/BUILD/python-terminaltables-3.1.10-build/BUILDROOT ++ dirname /builddir/build/BUILD/python-terminaltables-3.1.10-build/BUILDROOT + mkdir -p /builddir/build/BUILD/python-terminaltables-3.1.10-build + mkdir /builddir/build/BUILD/python-terminaltables-3.1.10-build/BUILDROOT + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CFLAGS + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CXXFLAGS + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FFLAGS + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn' + export RUSTFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes ' + export LDFLAGS + LT_SYS_LIBRARY_PATH=/usr/lib64: + export LT_SYS_LIBRARY_PATH + CC=gcc + export CC + CXX=g++ + export CXX + cd terminaltables-8020b8cb8ae859891a999620085d34c8d8bfe1a3 ++ ls /builddir/build/BUILD/python-terminaltables-3.1.10-build/terminaltables-8020b8cb8ae859891a999620085d34c8d8bfe1a3/pyproject-wheeldir/terminaltables-3.1.10-py2.py3-none-any.whl ++ sed -E 's/([^-]+)-([^-]+)-.+\.whl/\1==\2/' ++ xargs basename --multiple + specifier=terminaltables==3.1.10 + '[' -z terminaltables==3.1.10 ']' + TMPDIR=/builddir/build/BUILD/python-terminaltables-3.1.10-build/terminaltables-8020b8cb8ae859891a999620085d34c8d8bfe1a3/.pyproject-builddir + /usr/bin/python3 -m pip install --root /builddir/build/BUILD/python-terminaltables-3.1.10-build/BUILDROOT --prefix /usr --no-deps --disable-pip-version-check --progress-bar off --verbose --ignore-installed --no-warn-script-location --no-index --no-cache-dir --find-links /builddir/build/BUILD/python-terminaltables-3.1.10-build/terminaltables-8020b8cb8ae859891a999620085d34c8d8bfe1a3/pyproject-wheeldir terminaltables==3.1.10 Using pip 24.0 from /usr/lib/python3.12/site-packages/pip (python 3.12) Looking in links: /builddir/build/BUILD/python-terminaltables-3.1.10-build/terminaltables-8020b8cb8ae859891a999620085d34c8d8bfe1a3/pyproject-wheeldir Processing ./pyproject-wheeldir/terminaltables-3.1.10-py2.py3-none-any.whl Installing collected packages: terminaltables Successfully installed terminaltables-3.1.10 + '[' -d /builddir/build/BUILD/python-terminaltables-3.1.10-build/BUILDROOT/usr/bin ']' + rm -f /builddir/build/BUILD/python-terminaltables-3.1.10-build/python-terminaltables-3.1.10-13.fc41.x86_64-pyproject-ghost-distinfo + site_dirs=() + '[' -d /builddir/build/BUILD/python-terminaltables-3.1.10-build/BUILDROOT/usr/lib/python3.12/site-packages ']' + site_dirs+=("/usr/lib/python3.12/site-packages") + '[' /builddir/build/BUILD/python-terminaltables-3.1.10-build/BUILDROOT/usr/lib64/python3.12/site-packages '!=' /builddir/build/BUILD/python-terminaltables-3.1.10-build/BUILDROOT/usr/lib/python3.12/site-packages ']' + '[' -d /builddir/build/BUILD/python-terminaltables-3.1.10-build/BUILDROOT/usr/lib64/python3.12/site-packages ']' + for site_dir in ${site_dirs[@]} + for distinfo in /builddir/build/BUILD/python-terminaltables-3.1.10-build/BUILDROOT$site_dir/*.dist-info + echo '%ghost /usr/lib/python3.12/site-packages/terminaltables-3.1.10.dist-info' + sed -i s/pip/rpm/ /builddir/build/BUILD/python-terminaltables-3.1.10-build/BUILDROOT/usr/lib/python3.12/site-packages/terminaltables-3.1.10.dist-info/INSTALLER + PYTHONPATH=/usr/lib/rpm/redhat + /usr/bin/python3 -B /usr/lib/rpm/redhat/pyproject_preprocess_record.py --buildroot /builddir/build/BUILD/python-terminaltables-3.1.10-build/BUILDROOT --record /builddir/build/BUILD/python-terminaltables-3.1.10-build/BUILDROOT/usr/lib/python3.12/site-packages/terminaltables-3.1.10.dist-info/RECORD --output /builddir/build/BUILD/python-terminaltables-3.1.10-build/python-terminaltables-3.1.10-13.fc41.x86_64-pyproject-record + rm -fv /builddir/build/BUILD/python-terminaltables-3.1.10-build/BUILDROOT/usr/lib/python3.12/site-packages/terminaltables-3.1.10.dist-info/RECORD removed '/builddir/build/BUILD/python-terminaltables-3.1.10-build/BUILDROOT/usr/lib/python3.12/site-packages/terminaltables-3.1.10.dist-info/RECORD' + rm -fv /builddir/build/BUILD/python-terminaltables-3.1.10-build/BUILDROOT/usr/lib/python3.12/site-packages/terminaltables-3.1.10.dist-info/REQUESTED removed '/builddir/build/BUILD/python-terminaltables-3.1.10-build/BUILDROOT/usr/lib/python3.12/site-packages/terminaltables-3.1.10.dist-info/REQUESTED' ++ wc -l /builddir/build/BUILD/python-terminaltables-3.1.10-build/python-terminaltables-3.1.10-13.fc41.x86_64-pyproject-ghost-distinfo ++ cut -f1 '-d ' + lines=1 + '[' 1 -ne 1 ']' + RPM_PERCENTAGES_COUNT=2 + /usr/bin/python3 /usr/lib/rpm/redhat/pyproject_save_files.py --output-files /builddir/build/BUILD/python-terminaltables-3.1.10-build/python-terminaltables-3.1.10-13.fc41.x86_64-pyproject-files --output-modules /builddir/build/BUILD/python-terminaltables-3.1.10-build/python-terminaltables-3.1.10-13.fc41.x86_64-pyproject-modules --buildroot /builddir/build/BUILD/python-terminaltables-3.1.10-build/BUILDROOT --sitelib /usr/lib/python3.12/site-packages --sitearch /usr/lib64/python3.12/site-packages --python-version 3.12 --pyproject-record /builddir/build/BUILD/python-terminaltables-3.1.10-build/python-terminaltables-3.1.10-13.fc41.x86_64-pyproject-record --prefix /usr terminaltables + /usr/lib/rpm/check-buildroot + /usr/lib/rpm/redhat/brp-ldconfig + /usr/lib/rpm/brp-compress + /usr/lib/rpm/brp-strip /usr/bin/strip + /usr/lib/rpm/brp-strip-comment-note /usr/bin/strip /usr/bin/objdump + /usr/lib/rpm/redhat/brp-strip-lto /usr/bin/strip + /usr/lib/rpm/brp-strip-static-archive /usr/bin/strip + /usr/lib/rpm/check-rpaths + /usr/lib/rpm/redhat/brp-mangle-shebangs + /usr/lib/rpm/brp-remove-la-files + env /usr/lib/rpm/redhat/brp-python-bytecompile '' 1 0 -j4 Bytecompiling .py files below /builddir/build/BUILD/python-terminaltables-3.1.10-build/BUILDROOT/usr/lib/python3.12 using python3.12 + /usr/lib/rpm/redhat/brp-python-hardlink + /usr/bin/add-determinism --brp -j4 /builddir/build/BUILD/python-terminaltables-3.1.10-build/BUILDROOT Cannot initialize handler pyc: ModuleNotFoundError: No module named 'marshalparser' [src/multiprocess.rs:66:9] &cmd = Command { program: "/usr/bin/add-determinism", args: [ "/usr/bin/add-determinism", "--socket", "3", "--brp", "--handler", "ar,jar,javadoc", ], env: CommandEnv { clear: false, vars: { "SOURCE_DATE_EPOCH": Some( "1717718400", ), }, }, create_pidfd: false, } Bye! Bye! Bye! Bye! Executing(%check): /bin/sh -e /var/tmp/rpm-tmp.oIgSJP + umask 022 + cd /builddir/build/BUILD/python-terminaltables-3.1.10-build + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CFLAGS + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CXXFLAGS + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FFLAGS + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn' + export RUSTFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes ' + export LDFLAGS + LT_SYS_LIBRARY_PATH=/usr/lib64: + export LT_SYS_LIBRARY_PATH + CC=gcc + export CC + CXX=g++ + export CXX + cd terminaltables-8020b8cb8ae859891a999620085d34c8d8bfe1a3 + TOX_TESTENV_PASSENV='*' + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes ' + PATH=/builddir/build/BUILD/python-terminaltables-3.1.10-build/BUILDROOT/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sbin + PYTHONPATH=/builddir/build/BUILD/python-terminaltables-3.1.10-build/BUILDROOT/usr/lib64/python3.12/site-packages:/builddir/build/BUILD/python-terminaltables-3.1.10-build/BUILDROOT/usr/lib/python3.12/site-packages + PYTHONDONTWRITEBYTECODE=1 + PYTEST_ADDOPTS=' --ignore=/builddir/build/BUILD/python-terminaltables-3.1.10-build/terminaltables-8020b8cb8ae859891a999620085d34c8d8bfe1a3/.pyproject-builddir' + PYTEST_XDIST_AUTO_NUM_WORKERS=4 + HOSTNAME=rpmbuild + /usr/bin/python3 -m tox --current-env -q --recreate -e py312 ============================= test session starts ============================== platform linux -- Python 3.12.3, pytest-7.4.3, pluggy-1.3.0 cachedir: .tox/py312/.pytest_cache rootdir: /builddir/build/BUILD/python-terminaltables-3.1.10-build/terminaltables-8020b8cb8ae859891a999620085d34c8d8bfe1a3 plugins: cov-4.0.0 collected 801 items tests/test_ascii_table.py ...................... [ 2%] tests/test_examples.py ... [ 3%] tests/test_all_tables_e2e/test_ascii_table.py ..s [ 3%] tests/test_all_tables_e2e/test_double_table.py ..s [ 3%] tests/test_all_tables_e2e/test_github_table.py .. [ 4%] tests/test_all_tables_e2e/test_porcelain_table.py .. [ 4%] tests/test_all_tables_e2e/test_single_table.py .. [ 4%] tests/test_all_tables_e2e/test_single_table_windows.py sss [ 4%] tests/test_base_table/test_gen_row_lines.py ............... [ 6%] tests/test_base_table/test_gen_table.py .................... [ 9%] tests/test_base_table/test_horizontal_border.py ................ [ 11%] tests/test_base_table/test_table.py .......F [ 12%] tests/test_build/test_build_border.py .................................. [ 16%] ........................................................................ [ 25%] ........................................................................ [ 34%] ........................................................................ [ 43%] ........................................................................ [ 52%] ........................................................................ [ 61%] ...................................FFFFFFFFFFFFFFFFFF.FFFFFFFFFFFFFF.FFF [ 70%] FFFFFFFFFFFFFFF.FFFFFFFFFFFFFF..... [ 74%] tests/test_build/test_build_row.py ...... [ 75%] tests/test_build/test_combine.py ...... [ 76%] tests/test_build/test_flatten.py .. [ 76%] tests/test_terminal_io/test_get_console_info.py . [ 76%] tests/test_terminal_io/test_set_terminal_title.py sssssssss [ 77%] tests/test_terminal_io/test_terminal_size.py ..... [ 78%] tests/test_width_and_alignment/test_align_and_pad_cell.py ........F..... [ 80%] ......F...........F...........F...........F......F......F......F......F. [ 89%] .....F................................F [ 94%] tests/test_width_and_alignment/test_column_max_width.py ... [ 94%] tests/test_width_and_alignment/test_max_dimensions.py ........... [ 95%] tests/test_width_and_alignment/test_table_width.py ... [ 96%] tests/test_width_and_alignment/test_visible_width.py ................... [ 98%] ........... [100%] =================================== FAILURES =================================== __________________________________ test_color __________________________________ def test_color(): """Test with color characters.""" table_data = [ ['ansi', '\033[31mRed\033[39m', '\033[32mGreen\033[39m', '\033[34mBlue\033[39m'], ['colorclass', Color('{red}Red{/red}'), Color('{green}Green{/green}'), Color('{blue}Blue{/blue}')], ['colorama', Fore.RED + 'Red' + Fore.RESET, Fore.GREEN + 'Green' + Fore.RESET, Fore.BLUE + 'Blue' + Fore.RESET], ['termcolor', colored('Red', 'red'), colored('Green', 'green'), colored('Blue', 'blue')], ] table = BaseTable(table_data) table.inner_heading_row_border = False actual = table.table expected = ( u'+------------+-----+-------+------+\n' u'| ansi | \033[31mRed\033[39m | \033[32mGreen\033[39m | \033[34mBlue\033[39m |\n' u'| colorclass | \033[31mRed\033[39m | \033[32mGreen\033[39m | \033[34mBlue\033[39m |\n' u'| colorama | \033[31mRed\033[39m | \033[32mGreen\033[39m | \033[34mBlue\033[39m |\n' u'| termcolor | \033[31mRed\033[0m | \033[32mGreen\033[0m | \033[34mBlue\033[0m |\n' u'+------------+-----+-------+------+' ) > assert actual == expected E AssertionError: assert '+-----------...-----+------+' == '+-----------...-----+------+' E Skipping 239 identical leading characters in diff, use -v to show E - mcolor | Red | Green | Blue | E + mcolor | Red | Green | Blue | E +------------+-----+-------+------+ tests/test_base_table/test_table.py:196: AssertionError _______ test_colors[TEST---outer_widths0-+-\x1b[34mTEST\x1b[0m--------] ________ outer_widths = [12], left = '', intersect = '+', right = '', title = 'TEST' expected = '\x1b[34mTEST\x1b[0m--------' @pytest.mark.parametrize('outer_widths,intersect,expected', [ ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), ([4], '+', '\x1b[34mTEST\x1b[0m'), ([4], '', '\x1b[34mTEST\x1b[0m'), ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), ([4, 0], '', '\x1b[34mTEST\x1b[0m'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), ([1, 3], '', '\x1b[34mTEST\x1b[0m'), ([1, 2], '', '---'), ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), ([1, 1], '+', '-+-'), ]) @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) @pytest.mark.parametrize('title', [ '\x1b[34mTEST\x1b[0m', Color('{blue}TEST{/all}'), Fore.BLUE + 'TEST' + Style.RESET_ALL, colored('TEST', 'blue'), ]) def test_colors(outer_widths, left, intersect, right, title, expected): """Test with color title characters. :param iter outer_widths: List of integers representing column widths with padding. :param str left: Left border. :param str intersect: Column separator. :param str right: Right border. :param title: Title in border with color codes. :param str expected: Expected output. """ if left and right: expected = left + expected + right actual = build_border(outer_widths, '-', left, intersect, right, title=title) > assert ''.join(actual) == expected E AssertionError: assert 'TEST--------' == '\x1b[34mTEST\x1b[0m--------' E - TEST-------- E + TEST-------- tests/test_build/test_build_border.py:295: AssertionError ________ test_colors[TEST---outer_widths1--\x1b[34mTEST\x1b[0m--------] ________ outer_widths = [12], left = '', intersect = '', right = '', title = 'TEST' expected = '\x1b[34mTEST\x1b[0m--------' @pytest.mark.parametrize('outer_widths,intersect,expected', [ ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), ([4], '+', '\x1b[34mTEST\x1b[0m'), ([4], '', '\x1b[34mTEST\x1b[0m'), ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), ([4, 0], '', '\x1b[34mTEST\x1b[0m'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), ([1, 3], '', '\x1b[34mTEST\x1b[0m'), ([1, 2], '', '---'), ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), ([1, 1], '+', '-+-'), ]) @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) @pytest.mark.parametrize('title', [ '\x1b[34mTEST\x1b[0m', Color('{blue}TEST{/all}'), Fore.BLUE + 'TEST' + Style.RESET_ALL, colored('TEST', 'blue'), ]) def test_colors(outer_widths, left, intersect, right, title, expected): """Test with color title characters. :param iter outer_widths: List of integers representing column widths with padding. :param str left: Left border. :param str intersect: Column separator. :param str right: Right border. :param title: Title in border with color codes. :param str expected: Expected output. """ if left and right: expected = left + expected + right actual = build_border(outer_widths, '-', left, intersect, right, title=title) > assert ''.join(actual) == expected E AssertionError: assert 'TEST--------' == '\x1b[34mTEST\x1b[0m--------' E - TEST-------- E + TEST-------- tests/test_build/test_build_border.py:295: AssertionError _______ test_colors[TEST---outer_widths2-+-\x1b[34mTEST\x1b[0m---+-----] _______ outer_widths = [7, 5], left = '', intersect = '+', right = '', title = 'TEST' expected = '\x1b[34mTEST\x1b[0m---+-----' @pytest.mark.parametrize('outer_widths,intersect,expected', [ ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), ([4], '+', '\x1b[34mTEST\x1b[0m'), ([4], '', '\x1b[34mTEST\x1b[0m'), ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), ([4, 0], '', '\x1b[34mTEST\x1b[0m'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), ([1, 3], '', '\x1b[34mTEST\x1b[0m'), ([1, 2], '', '---'), ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), ([1, 1], '+', '-+-'), ]) @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) @pytest.mark.parametrize('title', [ '\x1b[34mTEST\x1b[0m', Color('{blue}TEST{/all}'), Fore.BLUE + 'TEST' + Style.RESET_ALL, colored('TEST', 'blue'), ]) def test_colors(outer_widths, left, intersect, right, title, expected): """Test with color title characters. :param iter outer_widths: List of integers representing column widths with padding. :param str left: Left border. :param str intersect: Column separator. :param str right: Right border. :param title: Title in border with color codes. :param str expected: Expected output. """ if left and right: expected = left + expected + right actual = build_border(outer_widths, '-', left, intersect, right, title=title) > assert ''.join(actual) == expected E AssertionError: assert 'TEST---+-----' == '\x1b[34mTEST\x1b[0m---+-----' E - TEST---+----- E + TEST---+----- tests/test_build/test_build_border.py:295: AssertionError ________ test_colors[TEST---outer_widths3--\x1b[34mTEST\x1b[0m--------] ________ outer_widths = [7, 5], left = '', intersect = '', right = '', title = 'TEST' expected = '\x1b[34mTEST\x1b[0m--------' @pytest.mark.parametrize('outer_widths,intersect,expected', [ ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), ([4], '+', '\x1b[34mTEST\x1b[0m'), ([4], '', '\x1b[34mTEST\x1b[0m'), ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), ([4, 0], '', '\x1b[34mTEST\x1b[0m'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), ([1, 3], '', '\x1b[34mTEST\x1b[0m'), ([1, 2], '', '---'), ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), ([1, 1], '+', '-+-'), ]) @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) @pytest.mark.parametrize('title', [ '\x1b[34mTEST\x1b[0m', Color('{blue}TEST{/all}'), Fore.BLUE + 'TEST' + Style.RESET_ALL, colored('TEST', 'blue'), ]) def test_colors(outer_widths, left, intersect, right, title, expected): """Test with color title characters. :param iter outer_widths: List of integers representing column widths with padding. :param str left: Left border. :param str intersect: Column separator. :param str right: Right border. :param title: Title in border with color codes. :param str expected: Expected output. """ if left and right: expected = left + expected + right actual = build_border(outer_widths, '-', left, intersect, right, title=title) > assert ''.join(actual) == expected E AssertionError: assert 'TEST--------' == '\x1b[34mTEST\x1b[0m--------' E - TEST-------- E + TEST-------- tests/test_build/test_build_border.py:295: AssertionError ___________ test_colors[TEST---outer_widths4-+-\x1b[34mTEST\x1b[0m] ____________ outer_widths = [4], left = '', intersect = '+', right = '', title = 'TEST' expected = '\x1b[34mTEST\x1b[0m' @pytest.mark.parametrize('outer_widths,intersect,expected', [ ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), ([4], '+', '\x1b[34mTEST\x1b[0m'), ([4], '', '\x1b[34mTEST\x1b[0m'), ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), ([4, 0], '', '\x1b[34mTEST\x1b[0m'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), ([1, 3], '', '\x1b[34mTEST\x1b[0m'), ([1, 2], '', '---'), ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), ([1, 1], '+', '-+-'), ]) @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) @pytest.mark.parametrize('title', [ '\x1b[34mTEST\x1b[0m', Color('{blue}TEST{/all}'), Fore.BLUE + 'TEST' + Style.RESET_ALL, colored('TEST', 'blue'), ]) def test_colors(outer_widths, left, intersect, right, title, expected): """Test with color title characters. :param iter outer_widths: List of integers representing column widths with padding. :param str left: Left border. :param str intersect: Column separator. :param str right: Right border. :param title: Title in border with color codes. :param str expected: Expected output. """ if left and right: expected = left + expected + right actual = build_border(outer_widths, '-', left, intersect, right, title=title) > assert ''.join(actual) == expected E AssertionError: assert 'TEST' == '\x1b[34mTEST\x1b[0m' E - TEST E + TEST tests/test_build/test_build_border.py:295: AssertionError ____________ test_colors[TEST---outer_widths5--\x1b[34mTEST\x1b[0m] ____________ outer_widths = [4], left = '', intersect = '', right = '', title = 'TEST' expected = '\x1b[34mTEST\x1b[0m' @pytest.mark.parametrize('outer_widths,intersect,expected', [ ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), ([4], '+', '\x1b[34mTEST\x1b[0m'), ([4], '', '\x1b[34mTEST\x1b[0m'), ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), ([4, 0], '', '\x1b[34mTEST\x1b[0m'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), ([1, 3], '', '\x1b[34mTEST\x1b[0m'), ([1, 2], '', '---'), ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), ([1, 1], '+', '-+-'), ]) @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) @pytest.mark.parametrize('title', [ '\x1b[34mTEST\x1b[0m', Color('{blue}TEST{/all}'), Fore.BLUE + 'TEST' + Style.RESET_ALL, colored('TEST', 'blue'), ]) def test_colors(outer_widths, left, intersect, right, title, expected): """Test with color title characters. :param iter outer_widths: List of integers representing column widths with padding. :param str left: Left border. :param str intersect: Column separator. :param str right: Right border. :param title: Title in border with color codes. :param str expected: Expected output. """ if left and right: expected = left + expected + right actual = build_border(outer_widths, '-', left, intersect, right, title=title) > assert ''.join(actual) == expected E AssertionError: assert 'TEST' == '\x1b[34mTEST\x1b[0m' E - TEST E + TEST tests/test_build/test_build_border.py:295: AssertionError __________ test_colors[TEST---outer_widths6-+-\x1b[34mTEST\x1b[0m+-] ___________ outer_widths = [4, 1], left = '', intersect = '+', right = '', title = 'TEST' expected = '\x1b[34mTEST\x1b[0m+-' @pytest.mark.parametrize('outer_widths,intersect,expected', [ ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), ([4], '+', '\x1b[34mTEST\x1b[0m'), ([4], '', '\x1b[34mTEST\x1b[0m'), ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), ([4, 0], '', '\x1b[34mTEST\x1b[0m'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), ([1, 3], '', '\x1b[34mTEST\x1b[0m'), ([1, 2], '', '---'), ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), ([1, 1], '+', '-+-'), ]) @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) @pytest.mark.parametrize('title', [ '\x1b[34mTEST\x1b[0m', Color('{blue}TEST{/all}'), Fore.BLUE + 'TEST' + Style.RESET_ALL, colored('TEST', 'blue'), ]) def test_colors(outer_widths, left, intersect, right, title, expected): """Test with color title characters. :param iter outer_widths: List of integers representing column widths with padding. :param str left: Left border. :param str intersect: Column separator. :param str right: Right border. :param title: Title in border with color codes. :param str expected: Expected output. """ if left and right: expected = left + expected + right actual = build_border(outer_widths, '-', left, intersect, right, title=title) > assert ''.join(actual) == expected E AssertionError: assert 'TEST+-' == '\x1b[34mTEST\x1b[0m+-' E - TEST+- E + TEST+- tests/test_build/test_build_border.py:295: AssertionError ___________ test_colors[TEST---outer_widths7--\x1b[34mTEST\x1b[0m-] ____________ outer_widths = [4, 1], left = '', intersect = '', right = '', title = 'TEST' expected = '\x1b[34mTEST\x1b[0m-' @pytest.mark.parametrize('outer_widths,intersect,expected', [ ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), ([4], '+', '\x1b[34mTEST\x1b[0m'), ([4], '', '\x1b[34mTEST\x1b[0m'), ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), ([4, 0], '', '\x1b[34mTEST\x1b[0m'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), ([1, 3], '', '\x1b[34mTEST\x1b[0m'), ([1, 2], '', '---'), ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), ([1, 1], '+', '-+-'), ]) @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) @pytest.mark.parametrize('title', [ '\x1b[34mTEST\x1b[0m', Color('{blue}TEST{/all}'), Fore.BLUE + 'TEST' + Style.RESET_ALL, colored('TEST', 'blue'), ]) def test_colors(outer_widths, left, intersect, right, title, expected): """Test with color title characters. :param iter outer_widths: List of integers representing column widths with padding. :param str left: Left border. :param str intersect: Column separator. :param str right: Right border. :param title: Title in border with color codes. :param str expected: Expected output. """ if left and right: expected = left + expected + right actual = build_border(outer_widths, '-', left, intersect, right, title=title) > assert ''.join(actual) == expected E AssertionError: assert 'TEST-' == '\x1b[34mTEST\x1b[0m-' E - TEST- E + TEST- tests/test_build/test_build_border.py:295: AssertionError ___________ test_colors[TEST---outer_widths8-+-\x1b[34mTEST\x1b[0m+] ___________ outer_widths = [4, 0], left = '', intersect = '+', right = '', title = 'TEST' expected = '\x1b[34mTEST\x1b[0m+' @pytest.mark.parametrize('outer_widths,intersect,expected', [ ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), ([4], '+', '\x1b[34mTEST\x1b[0m'), ([4], '', '\x1b[34mTEST\x1b[0m'), ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), ([4, 0], '', '\x1b[34mTEST\x1b[0m'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), ([1, 3], '', '\x1b[34mTEST\x1b[0m'), ([1, 2], '', '---'), ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), ([1, 1], '+', '-+-'), ]) @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) @pytest.mark.parametrize('title', [ '\x1b[34mTEST\x1b[0m', Color('{blue}TEST{/all}'), Fore.BLUE + 'TEST' + Style.RESET_ALL, colored('TEST', 'blue'), ]) def test_colors(outer_widths, left, intersect, right, title, expected): """Test with color title characters. :param iter outer_widths: List of integers representing column widths with padding. :param str left: Left border. :param str intersect: Column separator. :param str right: Right border. :param title: Title in border with color codes. :param str expected: Expected output. """ if left and right: expected = left + expected + right actual = build_border(outer_widths, '-', left, intersect, right, title=title) > assert ''.join(actual) == expected E AssertionError: assert 'TEST+' == '\x1b[34mTEST\x1b[0m+' E - TEST+ E + TEST+ tests/test_build/test_build_border.py:295: AssertionError ____________ test_colors[TEST---outer_widths9--\x1b[34mTEST\x1b[0m] ____________ outer_widths = [4, 0], left = '', intersect = '', right = '', title = 'TEST' expected = '\x1b[34mTEST\x1b[0m' @pytest.mark.parametrize('outer_widths,intersect,expected', [ ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), ([4], '+', '\x1b[34mTEST\x1b[0m'), ([4], '', '\x1b[34mTEST\x1b[0m'), ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), ([4, 0], '', '\x1b[34mTEST\x1b[0m'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), ([1, 3], '', '\x1b[34mTEST\x1b[0m'), ([1, 2], '', '---'), ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), ([1, 1], '+', '-+-'), ]) @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) @pytest.mark.parametrize('title', [ '\x1b[34mTEST\x1b[0m', Color('{blue}TEST{/all}'), Fore.BLUE + 'TEST' + Style.RESET_ALL, colored('TEST', 'blue'), ]) def test_colors(outer_widths, left, intersect, right, title, expected): """Test with color title characters. :param iter outer_widths: List of integers representing column widths with padding. :param str left: Left border. :param str intersect: Column separator. :param str right: Right border. :param title: Title in border with color codes. :param str expected: Expected output. """ if left and right: expected = left + expected + right actual = build_border(outer_widths, '-', left, intersect, right, title=title) > assert ''.join(actual) == expected E AssertionError: assert 'TEST' == '\x1b[34mTEST\x1b[0m' E - TEST E + TEST tests/test_build/test_build_border.py:295: AssertionError _______ test_colors[TEST---outer_widths10--\x1b[34mTEST\x1b[0m--------] ________ outer_widths = [12], left = '', intersect = '', right = '', title = 'TEST' expected = '\x1b[34mTEST\x1b[0m--------' @pytest.mark.parametrize('outer_widths,intersect,expected', [ ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), ([4], '+', '\x1b[34mTEST\x1b[0m'), ([4], '', '\x1b[34mTEST\x1b[0m'), ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), ([4, 0], '', '\x1b[34mTEST\x1b[0m'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), ([1, 3], '', '\x1b[34mTEST\x1b[0m'), ([1, 2], '', '---'), ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), ([1, 1], '+', '-+-'), ]) @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) @pytest.mark.parametrize('title', [ '\x1b[34mTEST\x1b[0m', Color('{blue}TEST{/all}'), Fore.BLUE + 'TEST' + Style.RESET_ALL, colored('TEST', 'blue'), ]) def test_colors(outer_widths, left, intersect, right, title, expected): """Test with color title characters. :param iter outer_widths: List of integers representing column widths with padding. :param str left: Left border. :param str intersect: Column separator. :param str right: Right border. :param title: Title in border with color codes. :param str expected: Expected output. """ if left and right: expected = left + expected + right actual = build_border(outer_widths, '-', left, intersect, right, title=title) > assert ''.join(actual) == expected E AssertionError: assert 'TEST--------' == '\x1b[34mTEST\x1b[0m--------' E - TEST-------- E + TEST-------- tests/test_build/test_build_border.py:295: AssertionError _______ test_colors[TEST---outer_widths11--\x1b[34mTEST\x1b[0m--------] ________ outer_widths = [6, 6], left = '', intersect = '', right = '', title = 'TEST' expected = '\x1b[34mTEST\x1b[0m--------' @pytest.mark.parametrize('outer_widths,intersect,expected', [ ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), ([4], '+', '\x1b[34mTEST\x1b[0m'), ([4], '', '\x1b[34mTEST\x1b[0m'), ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), ([4, 0], '', '\x1b[34mTEST\x1b[0m'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), ([1, 3], '', '\x1b[34mTEST\x1b[0m'), ([1, 2], '', '---'), ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), ([1, 1], '+', '-+-'), ]) @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) @pytest.mark.parametrize('title', [ '\x1b[34mTEST\x1b[0m', Color('{blue}TEST{/all}'), Fore.BLUE + 'TEST' + Style.RESET_ALL, colored('TEST', 'blue'), ]) def test_colors(outer_widths, left, intersect, right, title, expected): """Test with color title characters. :param iter outer_widths: List of integers representing column widths with padding. :param str left: Left border. :param str intersect: Column separator. :param str right: Right border. :param title: Title in border with color codes. :param str expected: Expected output. """ if left and right: expected = left + expected + right actual = build_border(outer_widths, '-', left, intersect, right, title=title) > assert ''.join(actual) == expected E AssertionError: assert 'TEST--------' == '\x1b[34mTEST\x1b[0m--------' E - TEST-------- E + TEST-------- tests/test_build/test_build_border.py:295: AssertionError _______ test_colors[TEST---outer_widths12--\x1b[34mTEST\x1b[0m--------] ________ outer_widths = [3, 3, 3, 3], left = '', intersect = '', right = '' title = 'TEST', expected = '\x1b[34mTEST\x1b[0m--------' @pytest.mark.parametrize('outer_widths,intersect,expected', [ ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), ([4], '+', '\x1b[34mTEST\x1b[0m'), ([4], '', '\x1b[34mTEST\x1b[0m'), ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), ([4, 0], '', '\x1b[34mTEST\x1b[0m'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), ([1, 3], '', '\x1b[34mTEST\x1b[0m'), ([1, 2], '', '---'), ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), ([1, 1], '+', '-+-'), ]) @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) @pytest.mark.parametrize('title', [ '\x1b[34mTEST\x1b[0m', Color('{blue}TEST{/all}'), Fore.BLUE + 'TEST' + Style.RESET_ALL, colored('TEST', 'blue'), ]) def test_colors(outer_widths, left, intersect, right, title, expected): """Test with color title characters. :param iter outer_widths: List of integers representing column widths with padding. :param str left: Left border. :param str intersect: Column separator. :param str right: Right border. :param title: Title in border with color codes. :param str expected: Expected output. """ if left and right: expected = left + expected + right actual = build_border(outer_widths, '-', left, intersect, right, title=title) > assert ''.join(actual) == expected E AssertionError: assert 'TEST--------' == '\x1b[34mTEST\x1b[0m--------' E - TEST-------- E + TEST-------- tests/test_build/test_build_border.py:295: AssertionError _______ test_colors[TEST---outer_widths13--\x1b[34mTEST\x1b[0m--------] ________ outer_widths = [2, 1, 2, 1, 2, 1, ...], left = '', intersect = '', right = '' title = 'TEST', expected = '\x1b[34mTEST\x1b[0m--------' @pytest.mark.parametrize('outer_widths,intersect,expected', [ ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), ([4], '+', '\x1b[34mTEST\x1b[0m'), ([4], '', '\x1b[34mTEST\x1b[0m'), ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), ([4, 0], '', '\x1b[34mTEST\x1b[0m'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), ([1, 3], '', '\x1b[34mTEST\x1b[0m'), ([1, 2], '', '---'), ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), ([1, 1], '+', '-+-'), ]) @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) @pytest.mark.parametrize('title', [ '\x1b[34mTEST\x1b[0m', Color('{blue}TEST{/all}'), Fore.BLUE + 'TEST' + Style.RESET_ALL, colored('TEST', 'blue'), ]) def test_colors(outer_widths, left, intersect, right, title, expected): """Test with color title characters. :param iter outer_widths: List of integers representing column widths with padding. :param str left: Left border. :param str intersect: Column separator. :param str right: Right border. :param title: Title in border with color codes. :param str expected: Expected output. """ if left and right: expected = left + expected + right actual = build_border(outer_widths, '-', left, intersect, right, title=title) > assert ''.join(actual) == expected E AssertionError: assert 'TEST--------' == '\x1b[34mTEST\x1b[0m--------' E - TEST-------- E + TEST-------- tests/test_build/test_build_border.py:295: AssertionError _______ test_colors[TEST---outer_widths14--\x1b[34mTEST\x1b[0m--------] ________ outer_widths = [1, 1, 1, 1, 1, 1, ...], left = '', intersect = '', right = '' title = 'TEST', expected = '\x1b[34mTEST\x1b[0m--------' @pytest.mark.parametrize('outer_widths,intersect,expected', [ ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), ([4], '+', '\x1b[34mTEST\x1b[0m'), ([4], '', '\x1b[34mTEST\x1b[0m'), ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), ([4, 0], '', '\x1b[34mTEST\x1b[0m'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), ([1, 3], '', '\x1b[34mTEST\x1b[0m'), ([1, 2], '', '---'), ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), ([1, 1], '+', '-+-'), ]) @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) @pytest.mark.parametrize('title', [ '\x1b[34mTEST\x1b[0m', Color('{blue}TEST{/all}'), Fore.BLUE + 'TEST' + Style.RESET_ALL, colored('TEST', 'blue'), ]) def test_colors(outer_widths, left, intersect, right, title, expected): """Test with color title characters. :param iter outer_widths: List of integers representing column widths with padding. :param str left: Left border. :param str intersect: Column separator. :param str right: Right border. :param title: Title in border with color codes. :param str expected: Expected output. """ if left and right: expected = left + expected + right actual = build_border(outer_widths, '-', left, intersect, right, title=title) > assert ''.join(actual) == expected E AssertionError: assert 'TEST--------' == '\x1b[34mTEST\x1b[0m--------' E - TEST-------- E + TEST-------- tests/test_build/test_build_border.py:295: AssertionError __________ test_colors[TEST---outer_widths15--\x1b[34mTEST\x1b[0m--] ___________ outer_widths = [2, 4], left = '', intersect = '', right = '', title = 'TEST' expected = '\x1b[34mTEST\x1b[0m--' @pytest.mark.parametrize('outer_widths,intersect,expected', [ ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), ([4], '+', '\x1b[34mTEST\x1b[0m'), ([4], '', '\x1b[34mTEST\x1b[0m'), ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), ([4, 0], '', '\x1b[34mTEST\x1b[0m'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), ([1, 3], '', '\x1b[34mTEST\x1b[0m'), ([1, 2], '', '---'), ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), ([1, 1], '+', '-+-'), ]) @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) @pytest.mark.parametrize('title', [ '\x1b[34mTEST\x1b[0m', Color('{blue}TEST{/all}'), Fore.BLUE + 'TEST' + Style.RESET_ALL, colored('TEST', 'blue'), ]) def test_colors(outer_widths, left, intersect, right, title, expected): """Test with color title characters. :param iter outer_widths: List of integers representing column widths with padding. :param str left: Left border. :param str intersect: Column separator. :param str right: Right border. :param title: Title in border with color codes. :param str expected: Expected output. """ if left and right: expected = left + expected + right actual = build_border(outer_widths, '-', left, intersect, right, title=title) > assert ''.join(actual) == expected E AssertionError: assert 'TEST--' == '\x1b[34mTEST\x1b[0m--' E - TEST-- E + TEST-- tests/test_build/test_build_border.py:295: AssertionError ___________ test_colors[TEST---outer_widths16--\x1b[34mTEST\x1b[0m-] ___________ outer_widths = [1, 4], left = '', intersect = '', right = '', title = 'TEST' expected = '\x1b[34mTEST\x1b[0m-' @pytest.mark.parametrize('outer_widths,intersect,expected', [ ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), ([4], '+', '\x1b[34mTEST\x1b[0m'), ([4], '', '\x1b[34mTEST\x1b[0m'), ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), ([4, 0], '', '\x1b[34mTEST\x1b[0m'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), ([1, 3], '', '\x1b[34mTEST\x1b[0m'), ([1, 2], '', '---'), ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), ([1, 1], '+', '-+-'), ]) @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) @pytest.mark.parametrize('title', [ '\x1b[34mTEST\x1b[0m', Color('{blue}TEST{/all}'), Fore.BLUE + 'TEST' + Style.RESET_ALL, colored('TEST', 'blue'), ]) def test_colors(outer_widths, left, intersect, right, title, expected): """Test with color title characters. :param iter outer_widths: List of integers representing column widths with padding. :param str left: Left border. :param str intersect: Column separator. :param str right: Right border. :param title: Title in border with color codes. :param str expected: Expected output. """ if left and right: expected = left + expected + right actual = build_border(outer_widths, '-', left, intersect, right, title=title) > assert ''.join(actual) == expected E AssertionError: assert 'TEST-' == '\x1b[34mTEST\x1b[0m-' E - TEST- E + TEST- tests/test_build/test_build_border.py:295: AssertionError ___________ test_colors[TEST---outer_widths17--\x1b[34mTEST\x1b[0m] ____________ outer_widths = [1, 3], left = '', intersect = '', right = '', title = 'TEST' expected = '\x1b[34mTEST\x1b[0m' @pytest.mark.parametrize('outer_widths,intersect,expected', [ ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), ([4], '+', '\x1b[34mTEST\x1b[0m'), ([4], '', '\x1b[34mTEST\x1b[0m'), ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), ([4, 0], '', '\x1b[34mTEST\x1b[0m'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), ([1, 3], '', '\x1b[34mTEST\x1b[0m'), ([1, 2], '', '---'), ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), ([1, 1], '+', '-+-'), ]) @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) @pytest.mark.parametrize('title', [ '\x1b[34mTEST\x1b[0m', Color('{blue}TEST{/all}'), Fore.BLUE + 'TEST' + Style.RESET_ALL, colored('TEST', 'blue'), ]) def test_colors(outer_widths, left, intersect, right, title, expected): """Test with color title characters. :param iter outer_widths: List of integers representing column widths with padding. :param str left: Left border. :param str intersect: Column separator. :param str right: Right border. :param title: Title in border with color codes. :param str expected: Expected output. """ if left and right: expected = left + expected + right actual = build_border(outer_widths, '-', left, intersect, right, title=title) > assert ''.join(actual) == expected E AssertionError: assert 'TEST' == '\x1b[34mTEST\x1b[0m' E - TEST E + TEST tests/test_build/test_build_border.py:295: AssertionError _______ test_colors[TEST---outer_widths19-+-\x1b[34mTEST\x1b[0m--------] _______ outer_widths = [12], left = '', intersect = '+', right = '', title = 'TEST' expected = '\x1b[34mTEST\x1b[0m--------' @pytest.mark.parametrize('outer_widths,intersect,expected', [ ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), ([4], '+', '\x1b[34mTEST\x1b[0m'), ([4], '', '\x1b[34mTEST\x1b[0m'), ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), ([4, 0], '', '\x1b[34mTEST\x1b[0m'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), ([1, 3], '', '\x1b[34mTEST\x1b[0m'), ([1, 2], '', '---'), ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), ([1, 1], '+', '-+-'), ]) @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) @pytest.mark.parametrize('title', [ '\x1b[34mTEST\x1b[0m', Color('{blue}TEST{/all}'), Fore.BLUE + 'TEST' + Style.RESET_ALL, colored('TEST', 'blue'), ]) def test_colors(outer_widths, left, intersect, right, title, expected): """Test with color title characters. :param iter outer_widths: List of integers representing column widths with padding. :param str left: Left border. :param str intersect: Column separator. :param str right: Right border. :param title: Title in border with color codes. :param str expected: Expected output. """ if left and right: expected = left + expected + right actual = build_border(outer_widths, '-', left, intersect, right, title=title) > assert ''.join(actual) == expected E AssertionError: assert 'TEST--------' == '\x1b[34mTEST\x1b[0m--------' E - TEST-------- E + TEST-------- tests/test_build/test_build_border.py:295: AssertionError ______ test_colors[TEST---outer_widths20-+-\x1b[34mTEST\x1b[0m---------] _______ outer_widths = [0, 12], left = '', intersect = '+', right = '', title = 'TEST' expected = '\x1b[34mTEST\x1b[0m---------' @pytest.mark.parametrize('outer_widths,intersect,expected', [ ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), ([4], '+', '\x1b[34mTEST\x1b[0m'), ([4], '', '\x1b[34mTEST\x1b[0m'), ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), ([4, 0], '', '\x1b[34mTEST\x1b[0m'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), ([1, 3], '', '\x1b[34mTEST\x1b[0m'), ([1, 2], '', '---'), ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), ([1, 1], '+', '-+-'), ]) @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) @pytest.mark.parametrize('title', [ '\x1b[34mTEST\x1b[0m', Color('{blue}TEST{/all}'), Fore.BLUE + 'TEST' + Style.RESET_ALL, colored('TEST', 'blue'), ]) def test_colors(outer_widths, left, intersect, right, title, expected): """Test with color title characters. :param iter outer_widths: List of integers representing column widths with padding. :param str left: Left border. :param str intersect: Column separator. :param str right: Right border. :param title: Title in border with color codes. :param str expected: Expected output. """ if left and right: expected = left + expected + right actual = build_border(outer_widths, '-', left, intersect, right, title=title) > assert ''.join(actual) == expected E AssertionError: assert 'TEST---------' == '\x1b[34mTEST\x1b[0m---------' E - TEST--------- E + TEST--------- tests/test_build/test_build_border.py:295: AssertionError ______ test_colors[TEST---outer_widths21-+-\x1b[34mTEST\x1b[0m--------+] _______ outer_widths = [12, 0], left = '', intersect = '+', right = '', title = 'TEST' expected = '\x1b[34mTEST\x1b[0m--------+' @pytest.mark.parametrize('outer_widths,intersect,expected', [ ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), ([4], '+', '\x1b[34mTEST\x1b[0m'), ([4], '', '\x1b[34mTEST\x1b[0m'), ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), ([4, 0], '', '\x1b[34mTEST\x1b[0m'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), ([1, 3], '', '\x1b[34mTEST\x1b[0m'), ([1, 2], '', '---'), ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), ([1, 1], '+', '-+-'), ]) @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) @pytest.mark.parametrize('title', [ '\x1b[34mTEST\x1b[0m', Color('{blue}TEST{/all}'), Fore.BLUE + 'TEST' + Style.RESET_ALL, colored('TEST', 'blue'), ]) def test_colors(outer_widths, left, intersect, right, title, expected): """Test with color title characters. :param iter outer_widths: List of integers representing column widths with padding. :param str left: Left border. :param str intersect: Column separator. :param str right: Right border. :param title: Title in border with color codes. :param str expected: Expected output. """ if left and right: expected = left + expected + right actual = build_border(outer_widths, '-', left, intersect, right, title=title) > assert ''.join(actual) == expected E AssertionError: assert 'TEST--------+' == '\x1b[34mTEST\x1b[0m--------+' E - TEST--------+ E + TEST--------+ tests/test_build/test_build_border.py:295: AssertionError ______ test_colors[TEST---outer_widths22-+-\x1b[34mTEST\x1b[0m----------] ______ outer_widths = [0, 0, 12], left = '', intersect = '+', right = '' title = 'TEST', expected = '\x1b[34mTEST\x1b[0m----------' @pytest.mark.parametrize('outer_widths,intersect,expected', [ ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), ([4], '+', '\x1b[34mTEST\x1b[0m'), ([4], '', '\x1b[34mTEST\x1b[0m'), ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), ([4, 0], '', '\x1b[34mTEST\x1b[0m'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), ([1, 3], '', '\x1b[34mTEST\x1b[0m'), ([1, 2], '', '---'), ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), ([1, 1], '+', '-+-'), ]) @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) @pytest.mark.parametrize('title', [ '\x1b[34mTEST\x1b[0m', Color('{blue}TEST{/all}'), Fore.BLUE + 'TEST' + Style.RESET_ALL, colored('TEST', 'blue'), ]) def test_colors(outer_widths, left, intersect, right, title, expected): """Test with color title characters. :param iter outer_widths: List of integers representing column widths with padding. :param str left: Left border. :param str intersect: Column separator. :param str right: Right border. :param title: Title in border with color codes. :param str expected: Expected output. """ if left and right: expected = left + expected + right actual = build_border(outer_widths, '-', left, intersect, right, title=title) > assert ''.join(actual) == expected E AssertionError: assert 'TEST----------' == '\x1b[34mTEST...[0m----------' E - TEST---------- E ? ----- ---- E + TEST---------- tests/test_build/test_build_border.py:295: AssertionError ______ test_colors[TEST---outer_widths23-+-\x1b[34mTEST\x1b[0m--------++] ______ outer_widths = [12, 0, 0], left = '', intersect = '+', right = '' title = 'TEST', expected = '\x1b[34mTEST\x1b[0m--------++' @pytest.mark.parametrize('outer_widths,intersect,expected', [ ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), ([4], '+', '\x1b[34mTEST\x1b[0m'), ([4], '', '\x1b[34mTEST\x1b[0m'), ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), ([4, 0], '', '\x1b[34mTEST\x1b[0m'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), ([1, 3], '', '\x1b[34mTEST\x1b[0m'), ([1, 2], '', '---'), ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), ([1, 1], '+', '-+-'), ]) @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) @pytest.mark.parametrize('title', [ '\x1b[34mTEST\x1b[0m', Color('{blue}TEST{/all}'), Fore.BLUE + 'TEST' + Style.RESET_ALL, colored('TEST', 'blue'), ]) def test_colors(outer_widths, left, intersect, right, title, expected): """Test with color title characters. :param iter outer_widths: List of integers representing column widths with padding. :param str left: Left border. :param str intersect: Column separator. :param str right: Right border. :param title: Title in border with color codes. :param str expected: Expected output. """ if left and right: expected = left + expected + right actual = build_border(outer_widths, '-', left, intersect, right, title=title) > assert ''.join(actual) == expected E AssertionError: assert 'TEST--------++' == '\x1b[34mTEST...[0m--------++' E - TEST--------++ E ? ----- ---- E + TEST--------++ tests/test_build/test_build_border.py:295: AssertionError _________ test_colors[TEST---outer_widths24-+-\x1b[34mTEST\x1b[0m---] __________ outer_widths = [3, 3], left = '', intersect = '+', right = '', title = 'TEST' expected = '\x1b[34mTEST\x1b[0m---' @pytest.mark.parametrize('outer_widths,intersect,expected', [ ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), ([4], '+', '\x1b[34mTEST\x1b[0m'), ([4], '', '\x1b[34mTEST\x1b[0m'), ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), ([4, 0], '', '\x1b[34mTEST\x1b[0m'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), ([1, 3], '', '\x1b[34mTEST\x1b[0m'), ([1, 2], '', '---'), ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), ([1, 1], '+', '-+-'), ]) @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) @pytest.mark.parametrize('title', [ '\x1b[34mTEST\x1b[0m', Color('{blue}TEST{/all}'), Fore.BLUE + 'TEST' + Style.RESET_ALL, colored('TEST', 'blue'), ]) def test_colors(outer_widths, left, intersect, right, title, expected): """Test with color title characters. :param iter outer_widths: List of integers representing column widths with padding. :param str left: Left border. :param str intersect: Column separator. :param str right: Right border. :param title: Title in border with color codes. :param str expected: Expected output. """ if left and right: expected = left + expected + right actual = build_border(outer_widths, '-', left, intersect, right, title=title) > assert ''.join(actual) == expected E AssertionError: assert 'TEST---' == '\x1b[34mTEST\x1b[0m---' E - TEST--- E + TEST--- tests/test_build/test_build_border.py:295: AssertionError _________ test_colors[TEST---outer_widths25-+-\x1b[34mTEST\x1b[0m+--] __________ outer_widths = [4, 2], left = '', intersect = '+', right = '', title = 'TEST' expected = '\x1b[34mTEST\x1b[0m+--' @pytest.mark.parametrize('outer_widths,intersect,expected', [ ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), ([4], '+', '\x1b[34mTEST\x1b[0m'), ([4], '', '\x1b[34mTEST\x1b[0m'), ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), ([4, 0], '', '\x1b[34mTEST\x1b[0m'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), ([1, 3], '', '\x1b[34mTEST\x1b[0m'), ([1, 2], '', '---'), ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), ([1, 1], '+', '-+-'), ]) @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) @pytest.mark.parametrize('title', [ '\x1b[34mTEST\x1b[0m', Color('{blue}TEST{/all}'), Fore.BLUE + 'TEST' + Style.RESET_ALL, colored('TEST', 'blue'), ]) def test_colors(outer_widths, left, intersect, right, title, expected): """Test with color title characters. :param iter outer_widths: List of integers representing column widths with padding. :param str left: Left border. :param str intersect: Column separator. :param str right: Right border. :param title: Title in border with color codes. :param str expected: Expected output. """ if left and right: expected = left + expected + right actual = build_border(outer_widths, '-', left, intersect, right, title=title) > assert ''.join(actual) == expected E AssertionError: assert 'TEST+--' == '\x1b[34mTEST\x1b[0m+--' E - TEST+-- E + TEST+-- tests/test_build/test_build_border.py:295: AssertionError _________ test_colors[TEST---outer_widths26-+-\x1b[34mTEST\x1b[0m-+-] __________ outer_widths = [5, 1], left = '', intersect = '+', right = '', title = 'TEST' expected = '\x1b[34mTEST\x1b[0m-+-' @pytest.mark.parametrize('outer_widths,intersect,expected', [ ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), ([4], '+', '\x1b[34mTEST\x1b[0m'), ([4], '', '\x1b[34mTEST\x1b[0m'), ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), ([4, 0], '', '\x1b[34mTEST\x1b[0m'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), ([1, 3], '', '\x1b[34mTEST\x1b[0m'), ([1, 2], '', '---'), ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), ([1, 1], '+', '-+-'), ]) @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) @pytest.mark.parametrize('title', [ '\x1b[34mTEST\x1b[0m', Color('{blue}TEST{/all}'), Fore.BLUE + 'TEST' + Style.RESET_ALL, colored('TEST', 'blue'), ]) def test_colors(outer_widths, left, intersect, right, title, expected): """Test with color title characters. :param iter outer_widths: List of integers representing column widths with padding. :param str left: Left border. :param str intersect: Column separator. :param str right: Right border. :param title: Title in border with color codes. :param str expected: Expected output. """ if left and right: expected = left + expected + right actual = build_border(outer_widths, '-', left, intersect, right, title=title) > assert ''.join(actual) == expected E AssertionError: assert 'TEST-+-' == '\x1b[34mTEST\x1b[0m-+-' E - TEST-+- E + TEST-+- tests/test_build/test_build_border.py:295: AssertionError _____ test_colors[TEST---outer_widths27-+-\x1b[34mTEST\x1b[0m---+---+---] ______ outer_widths = [3, 3, 3, 3], left = '', intersect = '+', right = '' title = 'TEST', expected = '\x1b[34mTEST\x1b[0m---+---+---' @pytest.mark.parametrize('outer_widths,intersect,expected', [ ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), ([4], '+', '\x1b[34mTEST\x1b[0m'), ([4], '', '\x1b[34mTEST\x1b[0m'), ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), ([4, 0], '', '\x1b[34mTEST\x1b[0m'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), ([1, 3], '', '\x1b[34mTEST\x1b[0m'), ([1, 2], '', '---'), ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), ([1, 1], '+', '-+-'), ]) @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) @pytest.mark.parametrize('title', [ '\x1b[34mTEST\x1b[0m', Color('{blue}TEST{/all}'), Fore.BLUE + 'TEST' + Style.RESET_ALL, colored('TEST', 'blue'), ]) def test_colors(outer_widths, left, intersect, right, title, expected): """Test with color title characters. :param iter outer_widths: List of integers representing column widths with padding. :param str left: Left border. :param str intersect: Column separator. :param str right: Right border. :param title: Title in border with color codes. :param str expected: Expected output. """ if left and right: expected = left + expected + right actual = build_border(outer_widths, '-', left, intersect, right, title=title) > assert ''.join(actual) == expected E AssertionError: assert 'TEST---+---+---' == '\x1b[34mTEST...0m---+---+---' E - TEST---+---+--- E ? ----- ---- E + TEST---+---+--- tests/test_build/test_build_border.py:295: AssertionError _____ test_colors[TEST---outer_widths28-+-\x1b[34mTEST\x1b[0m-+----+----] ______ outer_widths = [2, 2, 4, 4], left = '', intersect = '+', right = '' title = 'TEST', expected = '\x1b[34mTEST\x1b[0m-+----+----' @pytest.mark.parametrize('outer_widths,intersect,expected', [ ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), ([4], '+', '\x1b[34mTEST\x1b[0m'), ([4], '', '\x1b[34mTEST\x1b[0m'), ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), ([4, 0], '', '\x1b[34mTEST\x1b[0m'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), ([1, 3], '', '\x1b[34mTEST\x1b[0m'), ([1, 2], '', '---'), ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), ([1, 1], '+', '-+-'), ]) @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) @pytest.mark.parametrize('title', [ '\x1b[34mTEST\x1b[0m', Color('{blue}TEST{/all}'), Fore.BLUE + 'TEST' + Style.RESET_ALL, colored('TEST', 'blue'), ]) def test_colors(outer_widths, left, intersect, right, title, expected): """Test with color title characters. :param iter outer_widths: List of integers representing column widths with padding. :param str left: Left border. :param str intersect: Column separator. :param str right: Right border. :param title: Title in border with color codes. :param str expected: Expected output. """ if left and right: expected = left + expected + right actual = build_border(outer_widths, '-', left, intersect, right, title=title) > assert ''.join(actual) == expected E AssertionError: assert 'TEST-+----+----' == '\x1b[34mTEST...0m-+----+----' E - TEST-+----+---- E ? ----- ---- E + TEST-+----+---- tests/test_build/test_build_border.py:295: AssertionError _____ test_colors[TEST---outer_widths29-+-\x1b[34mTEST\x1b[0m-----+-----] ______ outer_widths = [1, 1, 5, 5], left = '', intersect = '+', right = '' title = 'TEST', expected = '\x1b[34mTEST\x1b[0m-----+-----' @pytest.mark.parametrize('outer_widths,intersect,expected', [ ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), ([4], '+', '\x1b[34mTEST\x1b[0m'), ([4], '', '\x1b[34mTEST\x1b[0m'), ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), ([4, 0], '', '\x1b[34mTEST\x1b[0m'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), ([1, 3], '', '\x1b[34mTEST\x1b[0m'), ([1, 2], '', '---'), ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), ([1, 1], '+', '-+-'), ]) @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) @pytest.mark.parametrize('title', [ '\x1b[34mTEST\x1b[0m', Color('{blue}TEST{/all}'), Fore.BLUE + 'TEST' + Style.RESET_ALL, colored('TEST', 'blue'), ]) def test_colors(outer_widths, left, intersect, right, title, expected): """Test with color title characters. :param iter outer_widths: List of integers representing column widths with padding. :param str left: Left border. :param str intersect: Column separator. :param str right: Right border. :param title: Title in border with color codes. :param str expected: Expected output. """ if left and right: expected = left + expected + right actual = build_border(outer_widths, '-', left, intersect, right, title=title) > assert ''.join(actual) == expected E AssertionError: assert 'TEST-----+-----' == '\x1b[34mTEST...0m-----+-----' E - TEST-----+----- E ? ----- ---- E + TEST-----+----- tests/test_build/test_build_border.py:295: AssertionError _______ test_colors[TEST---outer_widths30-+-\x1b[34mTEST\x1b[0m-+--+--] ________ outer_widths = [2, 2, 2, 2], left = '', intersect = '+', right = '' title = 'TEST', expected = '\x1b[34mTEST\x1b[0m-+--+--' @pytest.mark.parametrize('outer_widths,intersect,expected', [ ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), ([4], '+', '\x1b[34mTEST\x1b[0m'), ([4], '', '\x1b[34mTEST\x1b[0m'), ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), ([4, 0], '', '\x1b[34mTEST\x1b[0m'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), ([1, 3], '', '\x1b[34mTEST\x1b[0m'), ([1, 2], '', '---'), ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), ([1, 1], '+', '-+-'), ]) @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) @pytest.mark.parametrize('title', [ '\x1b[34mTEST\x1b[0m', Color('{blue}TEST{/all}'), Fore.BLUE + 'TEST' + Style.RESET_ALL, colored('TEST', 'blue'), ]) def test_colors(outer_widths, left, intersect, right, title, expected): """Test with color title characters. :param iter outer_widths: List of integers representing column widths with padding. :param str left: Left border. :param str intersect: Column separator. :param str right: Right border. :param title: Title in border with color codes. :param str expected: Expected output. """ if left and right: expected = left + expected + right actual = build_border(outer_widths, '-', left, intersect, right, title=title) > assert ''.join(actual) == expected E AssertionError: assert 'TEST-+--+--' == '\x1b[34mTEST\x1b[0m-+--+--' E - TEST-+--+-- E + TEST-+--+-- tests/test_build/test_build_border.py:295: AssertionError ________ test_colors[TEST---outer_widths31-+-\x1b[34mTEST\x1b[0m-+-+-] _________ outer_widths = [1, 1, 1, 1, 1], left = '', intersect = '+', right = '' title = 'TEST', expected = '\x1b[34mTEST\x1b[0m-+-+-' @pytest.mark.parametrize('outer_widths,intersect,expected', [ ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), ([4], '+', '\x1b[34mTEST\x1b[0m'), ([4], '', '\x1b[34mTEST\x1b[0m'), ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), ([4, 0], '', '\x1b[34mTEST\x1b[0m'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), ([1, 3], '', '\x1b[34mTEST\x1b[0m'), ([1, 2], '', '---'), ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), ([1, 1], '+', '-+-'), ]) @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) @pytest.mark.parametrize('title', [ '\x1b[34mTEST\x1b[0m', Color('{blue}TEST{/all}'), Fore.BLUE + 'TEST' + Style.RESET_ALL, colored('TEST', 'blue'), ]) def test_colors(outer_widths, left, intersect, right, title, expected): """Test with color title characters. :param iter outer_widths: List of integers representing column widths with padding. :param str left: Left border. :param str intersect: Column separator. :param str right: Right border. :param title: Title in border with color codes. :param str expected: Expected output. """ if left and right: expected = left + expected + right actual = build_border(outer_widths, '-', left, intersect, right, title=title) > assert ''.join(actual) == expected E AssertionError: assert 'TEST-+-+-' == '\x1b[34mTEST\x1b[0m-+-+-' E - TEST-+-+- E + TEST-+-+- tests/test_build/test_build_border.py:295: AssertionError __________ test_colors[TEST---outer_widths32-+-\x1b[34mTEST\x1b[0m++] __________ outer_widths = [0, 0, 0, 0, 0, 0, ...], left = '', intersect = '+', right = '' title = 'TEST', expected = '\x1b[34mTEST\x1b[0m++' @pytest.mark.parametrize('outer_widths,intersect,expected', [ ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), ([4], '+', '\x1b[34mTEST\x1b[0m'), ([4], '', '\x1b[34mTEST\x1b[0m'), ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), ([4, 0], '', '\x1b[34mTEST\x1b[0m'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), ([1, 3], '', '\x1b[34mTEST\x1b[0m'), ([1, 2], '', '---'), ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), ([1, 1], '+', '-+-'), ]) @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) @pytest.mark.parametrize('title', [ '\x1b[34mTEST\x1b[0m', Color('{blue}TEST{/all}'), Fore.BLUE + 'TEST' + Style.RESET_ALL, colored('TEST', 'blue'), ]) def test_colors(outer_widths, left, intersect, right, title, expected): """Test with color title characters. :param iter outer_widths: List of integers representing column widths with padding. :param str left: Left border. :param str intersect: Column separator. :param str right: Right border. :param title: Title in border with color codes. :param str expected: Expected output. """ if left and right: expected = left + expected + right actual = build_border(outer_widths, '-', left, intersect, right, title=title) > assert ''.join(actual) == expected E AssertionError: assert 'TEST++' == '\x1b[34mTEST\x1b[0m++' E - TEST++ E + TEST++ tests/test_build/test_build_border.py:295: AssertionError ______ test_colors[TEST-<->-outer_widths0-+-\x1b[34mTEST\x1b[0m--------] _______ outer_widths = [12], left = '<', intersect = '+', right = '>', title = 'TEST' expected = '<\x1b[34mTEST\x1b[0m-------->' @pytest.mark.parametrize('outer_widths,intersect,expected', [ ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), ([4], '+', '\x1b[34mTEST\x1b[0m'), ([4], '', '\x1b[34mTEST\x1b[0m'), ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), ([4, 0], '', '\x1b[34mTEST\x1b[0m'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), ([1, 3], '', '\x1b[34mTEST\x1b[0m'), ([1, 2], '', '---'), ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), ([1, 1], '+', '-+-'), ]) @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) @pytest.mark.parametrize('title', [ '\x1b[34mTEST\x1b[0m', Color('{blue}TEST{/all}'), Fore.BLUE + 'TEST' + Style.RESET_ALL, colored('TEST', 'blue'), ]) def test_colors(outer_widths, left, intersect, right, title, expected): """Test with color title characters. :param iter outer_widths: List of integers representing column widths with padding. :param str left: Left border. :param str intersect: Column separator. :param str right: Right border. :param title: Title in border with color codes. :param str expected: Expected output. """ if left and right: expected = left + expected + right actual = build_border(outer_widths, '-', left, intersect, right, title=title) > assert ''.join(actual) == expected E AssertionError: assert '' == '<\x1b[34mTES...b[0m-------->' E - E ? ----- ---- E + tests/test_build/test_build_border.py:295: AssertionError _______ test_colors[TEST-<->-outer_widths1--\x1b[34mTEST\x1b[0m--------] _______ outer_widths = [12], left = '<', intersect = '', right = '>', title = 'TEST' expected = '<\x1b[34mTEST\x1b[0m-------->' @pytest.mark.parametrize('outer_widths,intersect,expected', [ ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), ([4], '+', '\x1b[34mTEST\x1b[0m'), ([4], '', '\x1b[34mTEST\x1b[0m'), ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), ([4, 0], '', '\x1b[34mTEST\x1b[0m'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), ([1, 3], '', '\x1b[34mTEST\x1b[0m'), ([1, 2], '', '---'), ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), ([1, 1], '+', '-+-'), ]) @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) @pytest.mark.parametrize('title', [ '\x1b[34mTEST\x1b[0m', Color('{blue}TEST{/all}'), Fore.BLUE + 'TEST' + Style.RESET_ALL, colored('TEST', 'blue'), ]) def test_colors(outer_widths, left, intersect, right, title, expected): """Test with color title characters. :param iter outer_widths: List of integers representing column widths with padding. :param str left: Left border. :param str intersect: Column separator. :param str right: Right border. :param title: Title in border with color codes. :param str expected: Expected output. """ if left and right: expected = left + expected + right actual = build_border(outer_widths, '-', left, intersect, right, title=title) > assert ''.join(actual) == expected E AssertionError: assert '' == '<\x1b[34mTES...b[0m-------->' E - E ? ----- ---- E + tests/test_build/test_build_border.py:295: AssertionError ______ test_colors[TEST-<->-outer_widths2-+-\x1b[34mTEST\x1b[0m---+-----] ______ outer_widths = [7, 5], left = '<', intersect = '+', right = '>', title = 'TEST' expected = '<\x1b[34mTEST\x1b[0m---+----->' @pytest.mark.parametrize('outer_widths,intersect,expected', [ ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), ([4], '+', '\x1b[34mTEST\x1b[0m'), ([4], '', '\x1b[34mTEST\x1b[0m'), ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), ([4, 0], '', '\x1b[34mTEST\x1b[0m'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), ([1, 3], '', '\x1b[34mTEST\x1b[0m'), ([1, 2], '', '---'), ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), ([1, 1], '+', '-+-'), ]) @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) @pytest.mark.parametrize('title', [ '\x1b[34mTEST\x1b[0m', Color('{blue}TEST{/all}'), Fore.BLUE + 'TEST' + Style.RESET_ALL, colored('TEST', 'blue'), ]) def test_colors(outer_widths, left, intersect, right, title, expected): """Test with color title characters. :param iter outer_widths: List of integers representing column widths with padding. :param str left: Left border. :param str intersect: Column separator. :param str right: Right border. :param title: Title in border with color codes. :param str expected: Expected output. """ if left and right: expected = left + expected + right actual = build_border(outer_widths, '-', left, intersect, right, title=title) > assert ''.join(actual) == expected E AssertionError: assert '' == '<\x1b[34mTES...[0m---+----->' E - E ? ----- ---- E + tests/test_build/test_build_border.py:295: AssertionError _______ test_colors[TEST-<->-outer_widths3--\x1b[34mTEST\x1b[0m--------] _______ outer_widths = [7, 5], left = '<', intersect = '', right = '>', title = 'TEST' expected = '<\x1b[34mTEST\x1b[0m-------->' @pytest.mark.parametrize('outer_widths,intersect,expected', [ ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), ([4], '+', '\x1b[34mTEST\x1b[0m'), ([4], '', '\x1b[34mTEST\x1b[0m'), ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), ([4, 0], '', '\x1b[34mTEST\x1b[0m'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), ([1, 3], '', '\x1b[34mTEST\x1b[0m'), ([1, 2], '', '---'), ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), ([1, 1], '+', '-+-'), ]) @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) @pytest.mark.parametrize('title', [ '\x1b[34mTEST\x1b[0m', Color('{blue}TEST{/all}'), Fore.BLUE + 'TEST' + Style.RESET_ALL, colored('TEST', 'blue'), ]) def test_colors(outer_widths, left, intersect, right, title, expected): """Test with color title characters. :param iter outer_widths: List of integers representing column widths with padding. :param str left: Left border. :param str intersect: Column separator. :param str right: Right border. :param title: Title in border with color codes. :param str expected: Expected output. """ if left and right: expected = left + expected + right actual = build_border(outer_widths, '-', left, intersect, right, title=title) > assert ''.join(actual) == expected E AssertionError: assert '' == '<\x1b[34mTES...b[0m-------->' E - E ? ----- ---- E + tests/test_build/test_build_border.py:295: AssertionError __________ test_colors[TEST-<->-outer_widths4-+-\x1b[34mTEST\x1b[0m] ___________ outer_widths = [4], left = '<', intersect = '+', right = '>', title = 'TEST' expected = '<\x1b[34mTEST\x1b[0m>' @pytest.mark.parametrize('outer_widths,intersect,expected', [ ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), ([4], '+', '\x1b[34mTEST\x1b[0m'), ([4], '', '\x1b[34mTEST\x1b[0m'), ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), ([4, 0], '', '\x1b[34mTEST\x1b[0m'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), ([1, 3], '', '\x1b[34mTEST\x1b[0m'), ([1, 2], '', '---'), ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), ([1, 1], '+', '-+-'), ]) @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) @pytest.mark.parametrize('title', [ '\x1b[34mTEST\x1b[0m', Color('{blue}TEST{/all}'), Fore.BLUE + 'TEST' + Style.RESET_ALL, colored('TEST', 'blue'), ]) def test_colors(outer_widths, left, intersect, right, title, expected): """Test with color title characters. :param iter outer_widths: List of integers representing column widths with padding. :param str left: Left border. :param str intersect: Column separator. :param str right: Right border. :param title: Title in border with color codes. :param str expected: Expected output. """ if left and right: expected = left + expected + right actual = build_border(outer_widths, '-', left, intersect, right, title=title) > assert ''.join(actual) == expected E AssertionError: assert '' == '<\x1b[34mTEST\x1b[0m>' E - E + tests/test_build/test_build_border.py:295: AssertionError ___________ test_colors[TEST-<->-outer_widths5--\x1b[34mTEST\x1b[0m] ___________ outer_widths = [4], left = '<', intersect = '', right = '>', title = 'TEST' expected = '<\x1b[34mTEST\x1b[0m>' @pytest.mark.parametrize('outer_widths,intersect,expected', [ ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), ([4], '+', '\x1b[34mTEST\x1b[0m'), ([4], '', '\x1b[34mTEST\x1b[0m'), ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), ([4, 0], '', '\x1b[34mTEST\x1b[0m'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), ([1, 3], '', '\x1b[34mTEST\x1b[0m'), ([1, 2], '', '---'), ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), ([1, 1], '+', '-+-'), ]) @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) @pytest.mark.parametrize('title', [ '\x1b[34mTEST\x1b[0m', Color('{blue}TEST{/all}'), Fore.BLUE + 'TEST' + Style.RESET_ALL, colored('TEST', 'blue'), ]) def test_colors(outer_widths, left, intersect, right, title, expected): """Test with color title characters. :param iter outer_widths: List of integers representing column widths with padding. :param str left: Left border. :param str intersect: Column separator. :param str right: Right border. :param title: Title in border with color codes. :param str expected: Expected output. """ if left and right: expected = left + expected + right actual = build_border(outer_widths, '-', left, intersect, right, title=title) > assert ''.join(actual) == expected E AssertionError: assert '' == '<\x1b[34mTEST\x1b[0m>' E - E + tests/test_build/test_build_border.py:295: AssertionError _________ test_colors[TEST-<->-outer_widths6-+-\x1b[34mTEST\x1b[0m+-] __________ outer_widths = [4, 1], left = '<', intersect = '+', right = '>', title = 'TEST' expected = '<\x1b[34mTEST\x1b[0m+->' @pytest.mark.parametrize('outer_widths,intersect,expected', [ ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), ([4], '+', '\x1b[34mTEST\x1b[0m'), ([4], '', '\x1b[34mTEST\x1b[0m'), ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), ([4, 0], '', '\x1b[34mTEST\x1b[0m'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), ([1, 3], '', '\x1b[34mTEST\x1b[0m'), ([1, 2], '', '---'), ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), ([1, 1], '+', '-+-'), ]) @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) @pytest.mark.parametrize('title', [ '\x1b[34mTEST\x1b[0m', Color('{blue}TEST{/all}'), Fore.BLUE + 'TEST' + Style.RESET_ALL, colored('TEST', 'blue'), ]) def test_colors(outer_widths, left, intersect, right, title, expected): """Test with color title characters. :param iter outer_widths: List of integers representing column widths with padding. :param str left: Left border. :param str intersect: Column separator. :param str right: Right border. :param title: Title in border with color codes. :param str expected: Expected output. """ if left and right: expected = left + expected + right actual = build_border(outer_widths, '-', left, intersect, right, title=title) > assert ''.join(actual) == expected E AssertionError: assert '' == '<\x1b[34mTEST\x1b[0m+->' E - E + tests/test_build/test_build_border.py:295: AssertionError __________ test_colors[TEST-<->-outer_widths7--\x1b[34mTEST\x1b[0m-] ___________ outer_widths = [4, 1], left = '<', intersect = '', right = '>', title = 'TEST' expected = '<\x1b[34mTEST\x1b[0m->' @pytest.mark.parametrize('outer_widths,intersect,expected', [ ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), ([4], '+', '\x1b[34mTEST\x1b[0m'), ([4], '', '\x1b[34mTEST\x1b[0m'), ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), ([4, 0], '', '\x1b[34mTEST\x1b[0m'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), ([1, 3], '', '\x1b[34mTEST\x1b[0m'), ([1, 2], '', '---'), ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), ([1, 1], '+', '-+-'), ]) @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) @pytest.mark.parametrize('title', [ '\x1b[34mTEST\x1b[0m', Color('{blue}TEST{/all}'), Fore.BLUE + 'TEST' + Style.RESET_ALL, colored('TEST', 'blue'), ]) def test_colors(outer_widths, left, intersect, right, title, expected): """Test with color title characters. :param iter outer_widths: List of integers representing column widths with padding. :param str left: Left border. :param str intersect: Column separator. :param str right: Right border. :param title: Title in border with color codes. :param str expected: Expected output. """ if left and right: expected = left + expected + right actual = build_border(outer_widths, '-', left, intersect, right, title=title) > assert ''.join(actual) == expected E AssertionError: assert '' == '<\x1b[34mTEST\x1b[0m->' E - E + tests/test_build/test_build_border.py:295: AssertionError __________ test_colors[TEST-<->-outer_widths8-+-\x1b[34mTEST\x1b[0m+] __________ outer_widths = [4, 0], left = '<', intersect = '+', right = '>', title = 'TEST' expected = '<\x1b[34mTEST\x1b[0m+>' @pytest.mark.parametrize('outer_widths,intersect,expected', [ ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), ([4], '+', '\x1b[34mTEST\x1b[0m'), ([4], '', '\x1b[34mTEST\x1b[0m'), ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), ([4, 0], '', '\x1b[34mTEST\x1b[0m'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), ([1, 3], '', '\x1b[34mTEST\x1b[0m'), ([1, 2], '', '---'), ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), ([1, 1], '+', '-+-'), ]) @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) @pytest.mark.parametrize('title', [ '\x1b[34mTEST\x1b[0m', Color('{blue}TEST{/all}'), Fore.BLUE + 'TEST' + Style.RESET_ALL, colored('TEST', 'blue'), ]) def test_colors(outer_widths, left, intersect, right, title, expected): """Test with color title characters. :param iter outer_widths: List of integers representing column widths with padding. :param str left: Left border. :param str intersect: Column separator. :param str right: Right border. :param title: Title in border with color codes. :param str expected: Expected output. """ if left and right: expected = left + expected + right actual = build_border(outer_widths, '-', left, intersect, right, title=title) > assert ''.join(actual) == expected E AssertionError: assert '' == '<\x1b[34mTEST\x1b[0m+>' E - E + tests/test_build/test_build_border.py:295: AssertionError ___________ test_colors[TEST-<->-outer_widths9--\x1b[34mTEST\x1b[0m] ___________ outer_widths = [4, 0], left = '<', intersect = '', right = '>', title = 'TEST' expected = '<\x1b[34mTEST\x1b[0m>' @pytest.mark.parametrize('outer_widths,intersect,expected', [ ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), ([4], '+', '\x1b[34mTEST\x1b[0m'), ([4], '', '\x1b[34mTEST\x1b[0m'), ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), ([4, 0], '', '\x1b[34mTEST\x1b[0m'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), ([1, 3], '', '\x1b[34mTEST\x1b[0m'), ([1, 2], '', '---'), ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), ([1, 1], '+', '-+-'), ]) @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) @pytest.mark.parametrize('title', [ '\x1b[34mTEST\x1b[0m', Color('{blue}TEST{/all}'), Fore.BLUE + 'TEST' + Style.RESET_ALL, colored('TEST', 'blue'), ]) def test_colors(outer_widths, left, intersect, right, title, expected): """Test with color title characters. :param iter outer_widths: List of integers representing column widths with padding. :param str left: Left border. :param str intersect: Column separator. :param str right: Right border. :param title: Title in border with color codes. :param str expected: Expected output. """ if left and right: expected = left + expected + right actual = build_border(outer_widths, '-', left, intersect, right, title=title) > assert ''.join(actual) == expected E AssertionError: assert '' == '<\x1b[34mTEST\x1b[0m>' E - E + tests/test_build/test_build_border.py:295: AssertionError ______ test_colors[TEST-<->-outer_widths10--\x1b[34mTEST\x1b[0m--------] _______ outer_widths = [12], left = '<', intersect = '', right = '>', title = 'TEST' expected = '<\x1b[34mTEST\x1b[0m-------->' @pytest.mark.parametrize('outer_widths,intersect,expected', [ ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), ([4], '+', '\x1b[34mTEST\x1b[0m'), ([4], '', '\x1b[34mTEST\x1b[0m'), ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), ([4, 0], '', '\x1b[34mTEST\x1b[0m'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), ([1, 3], '', '\x1b[34mTEST\x1b[0m'), ([1, 2], '', '---'), ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), ([1, 1], '+', '-+-'), ]) @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) @pytest.mark.parametrize('title', [ '\x1b[34mTEST\x1b[0m', Color('{blue}TEST{/all}'), Fore.BLUE + 'TEST' + Style.RESET_ALL, colored('TEST', 'blue'), ]) def test_colors(outer_widths, left, intersect, right, title, expected): """Test with color title characters. :param iter outer_widths: List of integers representing column widths with padding. :param str left: Left border. :param str intersect: Column separator. :param str right: Right border. :param title: Title in border with color codes. :param str expected: Expected output. """ if left and right: expected = left + expected + right actual = build_border(outer_widths, '-', left, intersect, right, title=title) > assert ''.join(actual) == expected E AssertionError: assert '' == '<\x1b[34mTES...b[0m-------->' E - E ? ----- ---- E + tests/test_build/test_build_border.py:295: AssertionError ______ test_colors[TEST-<->-outer_widths11--\x1b[34mTEST\x1b[0m--------] _______ outer_widths = [6, 6], left = '<', intersect = '', right = '>', title = 'TEST' expected = '<\x1b[34mTEST\x1b[0m-------->' @pytest.mark.parametrize('outer_widths,intersect,expected', [ ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), ([4], '+', '\x1b[34mTEST\x1b[0m'), ([4], '', '\x1b[34mTEST\x1b[0m'), ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), ([4, 0], '', '\x1b[34mTEST\x1b[0m'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), ([1, 3], '', '\x1b[34mTEST\x1b[0m'), ([1, 2], '', '---'), ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), ([1, 1], '+', '-+-'), ]) @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) @pytest.mark.parametrize('title', [ '\x1b[34mTEST\x1b[0m', Color('{blue}TEST{/all}'), Fore.BLUE + 'TEST' + Style.RESET_ALL, colored('TEST', 'blue'), ]) def test_colors(outer_widths, left, intersect, right, title, expected): """Test with color title characters. :param iter outer_widths: List of integers representing column widths with padding. :param str left: Left border. :param str intersect: Column separator. :param str right: Right border. :param title: Title in border with color codes. :param str expected: Expected output. """ if left and right: expected = left + expected + right actual = build_border(outer_widths, '-', left, intersect, right, title=title) > assert ''.join(actual) == expected E AssertionError: assert '' == '<\x1b[34mTES...b[0m-------->' E - E ? ----- ---- E + tests/test_build/test_build_border.py:295: AssertionError ______ test_colors[TEST-<->-outer_widths12--\x1b[34mTEST\x1b[0m--------] _______ outer_widths = [3, 3, 3, 3], left = '<', intersect = '', right = '>' title = 'TEST', expected = '<\x1b[34mTEST\x1b[0m-------->' @pytest.mark.parametrize('outer_widths,intersect,expected', [ ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), ([4], '+', '\x1b[34mTEST\x1b[0m'), ([4], '', '\x1b[34mTEST\x1b[0m'), ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), ([4, 0], '', '\x1b[34mTEST\x1b[0m'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), ([1, 3], '', '\x1b[34mTEST\x1b[0m'), ([1, 2], '', '---'), ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), ([1, 1], '+', '-+-'), ]) @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) @pytest.mark.parametrize('title', [ '\x1b[34mTEST\x1b[0m', Color('{blue}TEST{/all}'), Fore.BLUE + 'TEST' + Style.RESET_ALL, colored('TEST', 'blue'), ]) def test_colors(outer_widths, left, intersect, right, title, expected): """Test with color title characters. :param iter outer_widths: List of integers representing column widths with padding. :param str left: Left border. :param str intersect: Column separator. :param str right: Right border. :param title: Title in border with color codes. :param str expected: Expected output. """ if left and right: expected = left + expected + right actual = build_border(outer_widths, '-', left, intersect, right, title=title) > assert ''.join(actual) == expected E AssertionError: assert '' == '<\x1b[34mTES...b[0m-------->' E - E ? ----- ---- E + tests/test_build/test_build_border.py:295: AssertionError ______ test_colors[TEST-<->-outer_widths13--\x1b[34mTEST\x1b[0m--------] _______ outer_widths = [2, 1, 2, 1, 2, 1, ...], left = '<', intersect = '', right = '>' title = 'TEST', expected = '<\x1b[34mTEST\x1b[0m-------->' @pytest.mark.parametrize('outer_widths,intersect,expected', [ ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), ([4], '+', '\x1b[34mTEST\x1b[0m'), ([4], '', '\x1b[34mTEST\x1b[0m'), ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), ([4, 0], '', '\x1b[34mTEST\x1b[0m'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), ([1, 3], '', '\x1b[34mTEST\x1b[0m'), ([1, 2], '', '---'), ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), ([1, 1], '+', '-+-'), ]) @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) @pytest.mark.parametrize('title', [ '\x1b[34mTEST\x1b[0m', Color('{blue}TEST{/all}'), Fore.BLUE + 'TEST' + Style.RESET_ALL, colored('TEST', 'blue'), ]) def test_colors(outer_widths, left, intersect, right, title, expected): """Test with color title characters. :param iter outer_widths: List of integers representing column widths with padding. :param str left: Left border. :param str intersect: Column separator. :param str right: Right border. :param title: Title in border with color codes. :param str expected: Expected output. """ if left and right: expected = left + expected + right actual = build_border(outer_widths, '-', left, intersect, right, title=title) > assert ''.join(actual) == expected E AssertionError: assert '' == '<\x1b[34mTES...b[0m-------->' E - E ? ----- ---- E + tests/test_build/test_build_border.py:295: AssertionError ______ test_colors[TEST-<->-outer_widths14--\x1b[34mTEST\x1b[0m--------] _______ outer_widths = [1, 1, 1, 1, 1, 1, ...], left = '<', intersect = '', right = '>' title = 'TEST', expected = '<\x1b[34mTEST\x1b[0m-------->' @pytest.mark.parametrize('outer_widths,intersect,expected', [ ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), ([4], '+', '\x1b[34mTEST\x1b[0m'), ([4], '', '\x1b[34mTEST\x1b[0m'), ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), ([4, 0], '', '\x1b[34mTEST\x1b[0m'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), ([1, 3], '', '\x1b[34mTEST\x1b[0m'), ([1, 2], '', '---'), ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), ([1, 1], '+', '-+-'), ]) @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) @pytest.mark.parametrize('title', [ '\x1b[34mTEST\x1b[0m', Color('{blue}TEST{/all}'), Fore.BLUE + 'TEST' + Style.RESET_ALL, colored('TEST', 'blue'), ]) def test_colors(outer_widths, left, intersect, right, title, expected): """Test with color title characters. :param iter outer_widths: List of integers representing column widths with padding. :param str left: Left border. :param str intersect: Column separator. :param str right: Right border. :param title: Title in border with color codes. :param str expected: Expected output. """ if left and right: expected = left + expected + right actual = build_border(outer_widths, '-', left, intersect, right, title=title) > assert ''.join(actual) == expected E AssertionError: assert '' == '<\x1b[34mTES...b[0m-------->' E - E ? ----- ---- E + tests/test_build/test_build_border.py:295: AssertionError _________ test_colors[TEST-<->-outer_widths15--\x1b[34mTEST\x1b[0m--] __________ outer_widths = [2, 4], left = '<', intersect = '', right = '>', title = 'TEST' expected = '<\x1b[34mTEST\x1b[0m-->' @pytest.mark.parametrize('outer_widths,intersect,expected', [ ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), ([4], '+', '\x1b[34mTEST\x1b[0m'), ([4], '', '\x1b[34mTEST\x1b[0m'), ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), ([4, 0], '', '\x1b[34mTEST\x1b[0m'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), ([1, 3], '', '\x1b[34mTEST\x1b[0m'), ([1, 2], '', '---'), ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), ([1, 1], '+', '-+-'), ]) @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) @pytest.mark.parametrize('title', [ '\x1b[34mTEST\x1b[0m', Color('{blue}TEST{/all}'), Fore.BLUE + 'TEST' + Style.RESET_ALL, colored('TEST', 'blue'), ]) def test_colors(outer_widths, left, intersect, right, title, expected): """Test with color title characters. :param iter outer_widths: List of integers representing column widths with padding. :param str left: Left border. :param str intersect: Column separator. :param str right: Right border. :param title: Title in border with color codes. :param str expected: Expected output. """ if left and right: expected = left + expected + right actual = build_border(outer_widths, '-', left, intersect, right, title=title) > assert ''.join(actual) == expected E AssertionError: assert '' == '<\x1b[34mTEST\x1b[0m-->' E - E + tests/test_build/test_build_border.py:295: AssertionError __________ test_colors[TEST-<->-outer_widths16--\x1b[34mTEST\x1b[0m-] __________ outer_widths = [1, 4], left = '<', intersect = '', right = '>', title = 'TEST' expected = '<\x1b[34mTEST\x1b[0m->' @pytest.mark.parametrize('outer_widths,intersect,expected', [ ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), ([4], '+', '\x1b[34mTEST\x1b[0m'), ([4], '', '\x1b[34mTEST\x1b[0m'), ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), ([4, 0], '', '\x1b[34mTEST\x1b[0m'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), ([1, 3], '', '\x1b[34mTEST\x1b[0m'), ([1, 2], '', '---'), ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), ([1, 1], '+', '-+-'), ]) @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) @pytest.mark.parametrize('title', [ '\x1b[34mTEST\x1b[0m', Color('{blue}TEST{/all}'), Fore.BLUE + 'TEST' + Style.RESET_ALL, colored('TEST', 'blue'), ]) def test_colors(outer_widths, left, intersect, right, title, expected): """Test with color title characters. :param iter outer_widths: List of integers representing column widths with padding. :param str left: Left border. :param str intersect: Column separator. :param str right: Right border. :param title: Title in border with color codes. :param str expected: Expected output. """ if left and right: expected = left + expected + right actual = build_border(outer_widths, '-', left, intersect, right, title=title) > assert ''.join(actual) == expected E AssertionError: assert '' == '<\x1b[34mTEST\x1b[0m->' E - E + tests/test_build/test_build_border.py:295: AssertionError __________ test_colors[TEST-<->-outer_widths17--\x1b[34mTEST\x1b[0m] ___________ outer_widths = [1, 3], left = '<', intersect = '', right = '>', title = 'TEST' expected = '<\x1b[34mTEST\x1b[0m>' @pytest.mark.parametrize('outer_widths,intersect,expected', [ ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), ([4], '+', '\x1b[34mTEST\x1b[0m'), ([4], '', '\x1b[34mTEST\x1b[0m'), ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), ([4, 0], '', '\x1b[34mTEST\x1b[0m'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), ([1, 3], '', '\x1b[34mTEST\x1b[0m'), ([1, 2], '', '---'), ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), ([1, 1], '+', '-+-'), ]) @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) @pytest.mark.parametrize('title', [ '\x1b[34mTEST\x1b[0m', Color('{blue}TEST{/all}'), Fore.BLUE + 'TEST' + Style.RESET_ALL, colored('TEST', 'blue'), ]) def test_colors(outer_widths, left, intersect, right, title, expected): """Test with color title characters. :param iter outer_widths: List of integers representing column widths with padding. :param str left: Left border. :param str intersect: Column separator. :param str right: Right border. :param title: Title in border with color codes. :param str expected: Expected output. """ if left and right: expected = left + expected + right actual = build_border(outer_widths, '-', left, intersect, right, title=title) > assert ''.join(actual) == expected E AssertionError: assert '' == '<\x1b[34mTEST\x1b[0m>' E - E + tests/test_build/test_build_border.py:295: AssertionError ______ test_colors[TEST-<->-outer_widths19-+-\x1b[34mTEST\x1b[0m--------] ______ outer_widths = [12], left = '<', intersect = '+', right = '>', title = 'TEST' expected = '<\x1b[34mTEST\x1b[0m-------->' @pytest.mark.parametrize('outer_widths,intersect,expected', [ ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), ([4], '+', '\x1b[34mTEST\x1b[0m'), ([4], '', '\x1b[34mTEST\x1b[0m'), ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), ([4, 0], '', '\x1b[34mTEST\x1b[0m'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), ([1, 3], '', '\x1b[34mTEST\x1b[0m'), ([1, 2], '', '---'), ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), ([1, 1], '+', '-+-'), ]) @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) @pytest.mark.parametrize('title', [ '\x1b[34mTEST\x1b[0m', Color('{blue}TEST{/all}'), Fore.BLUE + 'TEST' + Style.RESET_ALL, colored('TEST', 'blue'), ]) def test_colors(outer_widths, left, intersect, right, title, expected): """Test with color title characters. :param iter outer_widths: List of integers representing column widths with padding. :param str left: Left border. :param str intersect: Column separator. :param str right: Right border. :param title: Title in border with color codes. :param str expected: Expected output. """ if left and right: expected = left + expected + right actual = build_border(outer_widths, '-', left, intersect, right, title=title) > assert ''.join(actual) == expected E AssertionError: assert '' == '<\x1b[34mTES...b[0m-------->' E - E ? ----- ---- E + tests/test_build/test_build_border.py:295: AssertionError _____ test_colors[TEST-<->-outer_widths20-+-\x1b[34mTEST\x1b[0m---------] ______ outer_widths = [0, 12], left = '<', intersect = '+', right = '>', title = 'TEST' expected = '<\x1b[34mTEST\x1b[0m--------->' @pytest.mark.parametrize('outer_widths,intersect,expected', [ ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), ([4], '+', '\x1b[34mTEST\x1b[0m'), ([4], '', '\x1b[34mTEST\x1b[0m'), ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), ([4, 0], '', '\x1b[34mTEST\x1b[0m'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), ([1, 3], '', '\x1b[34mTEST\x1b[0m'), ([1, 2], '', '---'), ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), ([1, 1], '+', '-+-'), ]) @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) @pytest.mark.parametrize('title', [ '\x1b[34mTEST\x1b[0m', Color('{blue}TEST{/all}'), Fore.BLUE + 'TEST' + Style.RESET_ALL, colored('TEST', 'blue'), ]) def test_colors(outer_widths, left, intersect, right, title, expected): """Test with color title characters. :param iter outer_widths: List of integers representing column widths with padding. :param str left: Left border. :param str intersect: Column separator. :param str right: Right border. :param title: Title in border with color codes. :param str expected: Expected output. """ if left and right: expected = left + expected + right actual = build_border(outer_widths, '-', left, intersect, right, title=title) > assert ''.join(actual) == expected E AssertionError: assert '' == '<\x1b[34mTES...[0m--------->' E - E ? ----- ---- E + tests/test_build/test_build_border.py:295: AssertionError _____ test_colors[TEST-<->-outer_widths21-+-\x1b[34mTEST\x1b[0m--------+] ______ outer_widths = [12, 0], left = '<', intersect = '+', right = '>', title = 'TEST' expected = '<\x1b[34mTEST\x1b[0m--------+>' @pytest.mark.parametrize('outer_widths,intersect,expected', [ ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), ([4], '+', '\x1b[34mTEST\x1b[0m'), ([4], '', '\x1b[34mTEST\x1b[0m'), ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), ([4, 0], '', '\x1b[34mTEST\x1b[0m'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), ([1, 3], '', '\x1b[34mTEST\x1b[0m'), ([1, 2], '', '---'), ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), ([1, 1], '+', '-+-'), ]) @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) @pytest.mark.parametrize('title', [ '\x1b[34mTEST\x1b[0m', Color('{blue}TEST{/all}'), Fore.BLUE + 'TEST' + Style.RESET_ALL, colored('TEST', 'blue'), ]) def test_colors(outer_widths, left, intersect, right, title, expected): """Test with color title characters. :param iter outer_widths: List of integers representing column widths with padding. :param str left: Left border. :param str intersect: Column separator. :param str right: Right border. :param title: Title in border with color codes. :param str expected: Expected output. """ if left and right: expected = left + expected + right actual = build_border(outer_widths, '-', left, intersect, right, title=title) > assert ''.join(actual) == expected E AssertionError: assert '' == '<\x1b[34mTES...[0m--------+>' E - E ? ----- ---- E + tests/test_build/test_build_border.py:295: AssertionError _____ test_colors[TEST-<->-outer_widths22-+-\x1b[34mTEST\x1b[0m----------] _____ outer_widths = [0, 0, 12], left = '<', intersect = '+', right = '>' title = 'TEST', expected = '<\x1b[34mTEST\x1b[0m---------->' @pytest.mark.parametrize('outer_widths,intersect,expected', [ ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), ([4], '+', '\x1b[34mTEST\x1b[0m'), ([4], '', '\x1b[34mTEST\x1b[0m'), ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), ([4, 0], '', '\x1b[34mTEST\x1b[0m'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), ([1, 3], '', '\x1b[34mTEST\x1b[0m'), ([1, 2], '', '---'), ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), ([1, 1], '+', '-+-'), ]) @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) @pytest.mark.parametrize('title', [ '\x1b[34mTEST\x1b[0m', Color('{blue}TEST{/all}'), Fore.BLUE + 'TEST' + Style.RESET_ALL, colored('TEST', 'blue'), ]) def test_colors(outer_widths, left, intersect, right, title, expected): """Test with color title characters. :param iter outer_widths: List of integers representing column widths with padding. :param str left: Left border. :param str intersect: Column separator. :param str right: Right border. :param title: Title in border with color codes. :param str expected: Expected output. """ if left and right: expected = left + expected + right actual = build_border(outer_widths, '-', left, intersect, right, title=title) > assert ''.join(actual) == expected E AssertionError: assert '' == '<\x1b[34mTES...0m---------->' E - E ? ----- ---- E + tests/test_build/test_build_border.py:295: AssertionError _____ test_colors[TEST-<->-outer_widths23-+-\x1b[34mTEST\x1b[0m--------++] _____ outer_widths = [12, 0, 0], left = '<', intersect = '+', right = '>' title = 'TEST', expected = '<\x1b[34mTEST\x1b[0m--------++>' @pytest.mark.parametrize('outer_widths,intersect,expected', [ ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), ([4], '+', '\x1b[34mTEST\x1b[0m'), ([4], '', '\x1b[34mTEST\x1b[0m'), ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), ([4, 0], '', '\x1b[34mTEST\x1b[0m'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), ([1, 3], '', '\x1b[34mTEST\x1b[0m'), ([1, 2], '', '---'), ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), ([1, 1], '+', '-+-'), ]) @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) @pytest.mark.parametrize('title', [ '\x1b[34mTEST\x1b[0m', Color('{blue}TEST{/all}'), Fore.BLUE + 'TEST' + Style.RESET_ALL, colored('TEST', 'blue'), ]) def test_colors(outer_widths, left, intersect, right, title, expected): """Test with color title characters. :param iter outer_widths: List of integers representing column widths with padding. :param str left: Left border. :param str intersect: Column separator. :param str right: Right border. :param title: Title in border with color codes. :param str expected: Expected output. """ if left and right: expected = left + expected + right actual = build_border(outer_widths, '-', left, intersect, right, title=title) > assert ''.join(actual) == expected E AssertionError: assert '' == '<\x1b[34mTES...0m--------++>' E - E ? ----- ---- E + tests/test_build/test_build_border.py:295: AssertionError ________ test_colors[TEST-<->-outer_widths24-+-\x1b[34mTEST\x1b[0m---] _________ outer_widths = [3, 3], left = '<', intersect = '+', right = '>', title = 'TEST' expected = '<\x1b[34mTEST\x1b[0m--->' @pytest.mark.parametrize('outer_widths,intersect,expected', [ ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), ([4], '+', '\x1b[34mTEST\x1b[0m'), ([4], '', '\x1b[34mTEST\x1b[0m'), ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), ([4, 0], '', '\x1b[34mTEST\x1b[0m'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), ([1, 3], '', '\x1b[34mTEST\x1b[0m'), ([1, 2], '', '---'), ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), ([1, 1], '+', '-+-'), ]) @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) @pytest.mark.parametrize('title', [ '\x1b[34mTEST\x1b[0m', Color('{blue}TEST{/all}'), Fore.BLUE + 'TEST' + Style.RESET_ALL, colored('TEST', 'blue'), ]) def test_colors(outer_widths, left, intersect, right, title, expected): """Test with color title characters. :param iter outer_widths: List of integers representing column widths with padding. :param str left: Left border. :param str intersect: Column separator. :param str right: Right border. :param title: Title in border with color codes. :param str expected: Expected output. """ if left and right: expected = left + expected + right actual = build_border(outer_widths, '-', left, intersect, right, title=title) > assert ''.join(actual) == expected E AssertionError: assert '' == '<\x1b[34mTEST\x1b[0m--->' E - E + tests/test_build/test_build_border.py:295: AssertionError ________ test_colors[TEST-<->-outer_widths25-+-\x1b[34mTEST\x1b[0m+--] _________ outer_widths = [4, 2], left = '<', intersect = '+', right = '>', title = 'TEST' expected = '<\x1b[34mTEST\x1b[0m+-->' @pytest.mark.parametrize('outer_widths,intersect,expected', [ ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), ([4], '+', '\x1b[34mTEST\x1b[0m'), ([4], '', '\x1b[34mTEST\x1b[0m'), ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), ([4, 0], '', '\x1b[34mTEST\x1b[0m'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), ([1, 3], '', '\x1b[34mTEST\x1b[0m'), ([1, 2], '', '---'), ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), ([1, 1], '+', '-+-'), ]) @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) @pytest.mark.parametrize('title', [ '\x1b[34mTEST\x1b[0m', Color('{blue}TEST{/all}'), Fore.BLUE + 'TEST' + Style.RESET_ALL, colored('TEST', 'blue'), ]) def test_colors(outer_widths, left, intersect, right, title, expected): """Test with color title characters. :param iter outer_widths: List of integers representing column widths with padding. :param str left: Left border. :param str intersect: Column separator. :param str right: Right border. :param title: Title in border with color codes. :param str expected: Expected output. """ if left and right: expected = left + expected + right actual = build_border(outer_widths, '-', left, intersect, right, title=title) > assert ''.join(actual) == expected E AssertionError: assert '' == '<\x1b[34mTEST\x1b[0m+-->' E - E + tests/test_build/test_build_border.py:295: AssertionError ________ test_colors[TEST-<->-outer_widths26-+-\x1b[34mTEST\x1b[0m-+-] _________ outer_widths = [5, 1], left = '<', intersect = '+', right = '>', title = 'TEST' expected = '<\x1b[34mTEST\x1b[0m-+->' @pytest.mark.parametrize('outer_widths,intersect,expected', [ ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), ([4], '+', '\x1b[34mTEST\x1b[0m'), ([4], '', '\x1b[34mTEST\x1b[0m'), ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), ([4, 0], '', '\x1b[34mTEST\x1b[0m'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), ([1, 3], '', '\x1b[34mTEST\x1b[0m'), ([1, 2], '', '---'), ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), ([1, 1], '+', '-+-'), ]) @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) @pytest.mark.parametrize('title', [ '\x1b[34mTEST\x1b[0m', Color('{blue}TEST{/all}'), Fore.BLUE + 'TEST' + Style.RESET_ALL, colored('TEST', 'blue'), ]) def test_colors(outer_widths, left, intersect, right, title, expected): """Test with color title characters. :param iter outer_widths: List of integers representing column widths with padding. :param str left: Left border. :param str intersect: Column separator. :param str right: Right border. :param title: Title in border with color codes. :param str expected: Expected output. """ if left and right: expected = left + expected + right actual = build_border(outer_widths, '-', left, intersect, right, title=title) > assert ''.join(actual) == expected E AssertionError: assert '' == '<\x1b[34mTEST\x1b[0m-+->' E - E + tests/test_build/test_build_border.py:295: AssertionError ____ test_colors[TEST-<->-outer_widths27-+-\x1b[34mTEST\x1b[0m---+---+---] _____ outer_widths = [3, 3, 3, 3], left = '<', intersect = '+', right = '>' title = 'TEST', expected = '<\x1b[34mTEST\x1b[0m---+---+--->' @pytest.mark.parametrize('outer_widths,intersect,expected', [ ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), ([4], '+', '\x1b[34mTEST\x1b[0m'), ([4], '', '\x1b[34mTEST\x1b[0m'), ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), ([4, 0], '', '\x1b[34mTEST\x1b[0m'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), ([1, 3], '', '\x1b[34mTEST\x1b[0m'), ([1, 2], '', '---'), ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), ([1, 1], '+', '-+-'), ]) @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) @pytest.mark.parametrize('title', [ '\x1b[34mTEST\x1b[0m', Color('{blue}TEST{/all}'), Fore.BLUE + 'TEST' + Style.RESET_ALL, colored('TEST', 'blue'), ]) def test_colors(outer_widths, left, intersect, right, title, expected): """Test with color title characters. :param iter outer_widths: List of integers representing column widths with padding. :param str left: Left border. :param str intersect: Column separator. :param str right: Right border. :param title: Title in border with color codes. :param str expected: Expected output. """ if left and right: expected = left + expected + right actual = build_border(outer_widths, '-', left, intersect, right, title=title) > assert ''.join(actual) == expected E AssertionError: assert '' == '<\x1b[34mTES...m---+---+--->' E - E ? ----- ---- E + tests/test_build/test_build_border.py:295: AssertionError ____ test_colors[TEST-<->-outer_widths28-+-\x1b[34mTEST\x1b[0m-+----+----] _____ outer_widths = [2, 2, 4, 4], left = '<', intersect = '+', right = '>' title = 'TEST', expected = '<\x1b[34mTEST\x1b[0m-+----+---->' @pytest.mark.parametrize('outer_widths,intersect,expected', [ ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), ([4], '+', '\x1b[34mTEST\x1b[0m'), ([4], '', '\x1b[34mTEST\x1b[0m'), ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), ([4, 0], '', '\x1b[34mTEST\x1b[0m'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), ([1, 3], '', '\x1b[34mTEST\x1b[0m'), ([1, 2], '', '---'), ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), ([1, 1], '+', '-+-'), ]) @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) @pytest.mark.parametrize('title', [ '\x1b[34mTEST\x1b[0m', Color('{blue}TEST{/all}'), Fore.BLUE + 'TEST' + Style.RESET_ALL, colored('TEST', 'blue'), ]) def test_colors(outer_widths, left, intersect, right, title, expected): """Test with color title characters. :param iter outer_widths: List of integers representing column widths with padding. :param str left: Left border. :param str intersect: Column separator. :param str right: Right border. :param title: Title in border with color codes. :param str expected: Expected output. """ if left and right: expected = left + expected + right actual = build_border(outer_widths, '-', left, intersect, right, title=title) > assert ''.join(actual) == expected E AssertionError: assert '' == '<\x1b[34mTES...m-+----+---->' E - E ? ----- ---- E + tests/test_build/test_build_border.py:295: AssertionError ____ test_colors[TEST-<->-outer_widths29-+-\x1b[34mTEST\x1b[0m-----+-----] _____ outer_widths = [1, 1, 5, 5], left = '<', intersect = '+', right = '>' title = 'TEST', expected = '<\x1b[34mTEST\x1b[0m-----+----->' @pytest.mark.parametrize('outer_widths,intersect,expected', [ ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), ([4], '+', '\x1b[34mTEST\x1b[0m'), ([4], '', '\x1b[34mTEST\x1b[0m'), ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), ([4, 0], '', '\x1b[34mTEST\x1b[0m'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), ([1, 3], '', '\x1b[34mTEST\x1b[0m'), ([1, 2], '', '---'), ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), ([1, 1], '+', '-+-'), ]) @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) @pytest.mark.parametrize('title', [ '\x1b[34mTEST\x1b[0m', Color('{blue}TEST{/all}'), Fore.BLUE + 'TEST' + Style.RESET_ALL, colored('TEST', 'blue'), ]) def test_colors(outer_widths, left, intersect, right, title, expected): """Test with color title characters. :param iter outer_widths: List of integers representing column widths with padding. :param str left: Left border. :param str intersect: Column separator. :param str right: Right border. :param title: Title in border with color codes. :param str expected: Expected output. """ if left and right: expected = left + expected + right actual = build_border(outer_widths, '-', left, intersect, right, title=title) > assert ''.join(actual) == expected E AssertionError: assert '' == '<\x1b[34mTES...m-----+----->' E - E ? ----- ---- E + tests/test_build/test_build_border.py:295: AssertionError ______ test_colors[TEST-<->-outer_widths30-+-\x1b[34mTEST\x1b[0m-+--+--] _______ outer_widths = [2, 2, 2, 2], left = '<', intersect = '+', right = '>' title = 'TEST', expected = '<\x1b[34mTEST\x1b[0m-+--+-->' @pytest.mark.parametrize('outer_widths,intersect,expected', [ ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), ([4], '+', '\x1b[34mTEST\x1b[0m'), ([4], '', '\x1b[34mTEST\x1b[0m'), ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), ([4, 0], '', '\x1b[34mTEST\x1b[0m'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), ([1, 3], '', '\x1b[34mTEST\x1b[0m'), ([1, 2], '', '---'), ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), ([1, 1], '+', '-+-'), ]) @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) @pytest.mark.parametrize('title', [ '\x1b[34mTEST\x1b[0m', Color('{blue}TEST{/all}'), Fore.BLUE + 'TEST' + Style.RESET_ALL, colored('TEST', 'blue'), ]) def test_colors(outer_widths, left, intersect, right, title, expected): """Test with color title characters. :param iter outer_widths: List of integers representing column widths with padding. :param str left: Left border. :param str intersect: Column separator. :param str right: Right border. :param title: Title in border with color codes. :param str expected: Expected output. """ if left and right: expected = left + expected + right actual = build_border(outer_widths, '-', left, intersect, right, title=title) > assert ''.join(actual) == expected E AssertionError: assert '' == '<\x1b[34mTEST\x1b[0m-+--+-->' E - E + tests/test_build/test_build_border.py:295: AssertionError _______ test_colors[TEST-<->-outer_widths31-+-\x1b[34mTEST\x1b[0m-+-+-] ________ outer_widths = [1, 1, 1, 1, 1], left = '<', intersect = '+', right = '>' title = 'TEST', expected = '<\x1b[34mTEST\x1b[0m-+-+->' @pytest.mark.parametrize('outer_widths,intersect,expected', [ ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), ([4], '+', '\x1b[34mTEST\x1b[0m'), ([4], '', '\x1b[34mTEST\x1b[0m'), ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), ([4, 0], '', '\x1b[34mTEST\x1b[0m'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), ([1, 3], '', '\x1b[34mTEST\x1b[0m'), ([1, 2], '', '---'), ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), ([1, 1], '+', '-+-'), ]) @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) @pytest.mark.parametrize('title', [ '\x1b[34mTEST\x1b[0m', Color('{blue}TEST{/all}'), Fore.BLUE + 'TEST' + Style.RESET_ALL, colored('TEST', 'blue'), ]) def test_colors(outer_widths, left, intersect, right, title, expected): """Test with color title characters. :param iter outer_widths: List of integers representing column widths with padding. :param str left: Left border. :param str intersect: Column separator. :param str right: Right border. :param title: Title in border with color codes. :param str expected: Expected output. """ if left and right: expected = left + expected + right actual = build_border(outer_widths, '-', left, intersect, right, title=title) > assert ''.join(actual) == expected E AssertionError: assert '' == '<\x1b[34mTEST\x1b[0m-+-+->' E - E + tests/test_build/test_build_border.py:295: AssertionError _________ test_colors[TEST-<->-outer_widths32-+-\x1b[34mTEST\x1b[0m++] _________ outer_widths = [0, 0, 0, 0, 0, 0, ...], left = '<', intersect = '+', right = '>' title = 'TEST', expected = '<\x1b[34mTEST\x1b[0m++>' @pytest.mark.parametrize('outer_widths,intersect,expected', [ ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([7, 5], '+', '\x1b[34mTEST\x1b[0m---+-----'), ([7, 5], '', '\x1b[34mTEST\x1b[0m--------'), ([4], '+', '\x1b[34mTEST\x1b[0m'), ([4], '', '\x1b[34mTEST\x1b[0m'), ([4, 1], '+', '\x1b[34mTEST\x1b[0m+-'), ([4, 1], '', '\x1b[34mTEST\x1b[0m-'), ([4, 0], '+', '\x1b[34mTEST\x1b[0m+'), ([4, 0], '', '\x1b[34mTEST\x1b[0m'), ([12], '', '\x1b[34mTEST\x1b[0m--------'), ([6, 6], '', '\x1b[34mTEST\x1b[0m--------'), ([3, 3, 3, 3], '', '\x1b[34mTEST\x1b[0m--------'), ([2, 1, 2, 1, 2, 1, 2, 1], '', '\x1b[34mTEST\x1b[0m--------'), ([1] * 12, '', '\x1b[34mTEST\x1b[0m--------'), ([2, 4], '', '\x1b[34mTEST\x1b[0m--'), ([1, 4], '', '\x1b[34mTEST\x1b[0m-'), ([1, 3], '', '\x1b[34mTEST\x1b[0m'), ([1, 2], '', '---'), ([12], '+', '\x1b[34mTEST\x1b[0m--------'), ([0, 12], '+', '\x1b[34mTEST\x1b[0m---------'), ([12, 0], '+', '\x1b[34mTEST\x1b[0m--------+'), ([0, 0, 12], '+', '\x1b[34mTEST\x1b[0m----------'), ([12, 0, 0], '+', '\x1b[34mTEST\x1b[0m--------++'), ([3, 3], '+', '\x1b[34mTEST\x1b[0m---'), ([4, 2], '+', '\x1b[34mTEST\x1b[0m+--'), ([5, 1], '+', '\x1b[34mTEST\x1b[0m-+-'), ([3, 3, 3, 3], '+', '\x1b[34mTEST\x1b[0m---+---+---'), ([2, 2, 4, 4], '+', '\x1b[34mTEST\x1b[0m-+----+----'), ([1, 1, 5, 5], '+', '\x1b[34mTEST\x1b[0m-----+-----'), ([2, 2, 2, 2], '+', '\x1b[34mTEST\x1b[0m-+--+--'), ([1, 1, 1, 1, 1], '+', '\x1b[34mTEST\x1b[0m-+-+-'), ([0, 0, 0, 0, 0, 0, 0], '+', '\x1b[34mTEST\x1b[0m++'), ([1, 1], '+', '-+-'), ]) @pytest.mark.parametrize('left,right', [('', ''), ('<', '>')]) @pytest.mark.parametrize('title', [ '\x1b[34mTEST\x1b[0m', Color('{blue}TEST{/all}'), Fore.BLUE + 'TEST' + Style.RESET_ALL, colored('TEST', 'blue'), ]) def test_colors(outer_widths, left, intersect, right, title, expected): """Test with color title characters. :param iter outer_widths: List of integers representing column widths with padding. :param str left: Left border. :param str intersect: Column separator. :param str right: Right border. :param title: Title in border with color codes. :param str expected: Expected output. """ if left and right: expected = left + expected + right actual = build_border(outer_widths, '-', left, intersect, right, title=title) > assert ''.join(actual) == expected E AssertionError: assert '' == '<\x1b[34mTEST\x1b[0m++>' E - E + tests/test_build/test_build_border.py:295: AssertionError ________________________ test_width[Test--4-expected8] _________________________ string = 'Test', align = '', width = 4, expected = ['\x1b[34mTest\x1b[0m'] @pytest.mark.parametrize('string,align,width,expected', [ ('test', '', 4, ['test']), (123, '', 3, ['123']), (0.9, '', 3, ['0.9']), (None, '', 4, ['None']), (True, '', 4, ['True']), (False, '', 5, ['False']), (Color('{blue}Test{/blue}'), '', 4, ['\x1b[34mTest\x1b[39m']), (Fore.BLUE + 'Test' + Fore.RESET, '', 4, ['\x1b[34mTest\x1b[39m']), (colored('Test', 'blue'), '', 4, ['\x1b[34mTest\x1b[0m']), ('蓝色', '', 4, ['蓝色']), (u'שלום', '', 4, [u'\u05e9\u05dc\u05d5\u05dd']), (u'معرب', '', 4, [u'\u0645\u0639\u0631\u0628']), ('test', '', 5, ['test ']), (123, '', 4, ['123 ']), (0.9, '', 4, ['0.9 ']), (None, '', 5, ['None ']), (True, '', 5, ['True ']), (False, '', 6, ['False ']), (Color('{blue}Test{/blue}'), '', 5, ['\x1b[34mTest\x1b[39m ']), (Fore.BLUE + 'Test' + Fore.RESET, '', 5, ['\x1b[34mTest\x1b[39m ']), (colored('Test', 'blue'), '', 5, ['\x1b[34mTest\x1b[0m ']), ('蓝色', '', 5, ['蓝色 ']), (u'שלום', '', 5, [u'\u05e9\u05dc\u05d5\u05dd ']), (u'معرب', '', 5, [u'\u0645\u0639\u0631\u0628 ']), ('test', 'left', 5, ['test ']), (123, 'left', 4, ['123 ']), (0.9, 'left', 4, ['0.9 ']), (None, 'left', 5, ['None ']), (True, 'left', 5, ['True ']), (False, 'left', 6, ['False ']), (Color('{blue}Test{/blue}'), 'left', 5, ['\x1b[34mTest\x1b[39m ']), (Fore.BLUE + 'Test' + Fore.RESET, 'left', 5, ['\x1b[34mTest\x1b[39m ']), (colored('Test', 'blue'), 'left', 5, ['\x1b[34mTest\x1b[0m ']), ('蓝色', 'left', 5, ['蓝色 ']), (u'שלום', 'left', 5, [u'\u05e9\u05dc\u05d5\u05dd ']), (u'معرب', 'left', 5, [u'\u0645\u0639\u0631\u0628 ']), ('test', 'right', 5, [' test']), (123, 'right', 4, [' 123']), (0.9, 'right', 4, [' 0.9']), (None, 'right', 5, [' None']), (True, 'right', 5, [' True']), (False, 'right', 6, [' False']), (Color('{blue}Test{/blue}'), 'right', 5, [' \x1b[34mTest\x1b[39m']), (Fore.BLUE + 'Test' + Fore.RESET, 'right', 5, [' \x1b[34mTest\x1b[39m']), (colored('Test', 'blue'), 'right', 5, [' \x1b[34mTest\x1b[0m']), ('蓝色', 'right', 5, [' 蓝色']), (u'שלום', 'right', 5, [u' \u05e9\u05dc\u05d5\u05dd']), (u'معرب', 'right', 5, [u' \u0645\u0639\u0631\u0628']), ('test', 'center', 6, [' test ']), (123, 'center', 5, [' 123 ']), (0.9, 'center', 5, [' 0.9 ']), (None, 'center', 6, [' None ']), (True, 'center', 6, [' True ']), (False, 'center', 7, [' False ']), (Color('{blue}Test{/blue}'), 'center', 6, [' \x1b[34mTest\x1b[39m ']), (Fore.BLUE + 'Test' + Fore.RESET, 'center', 6, [' \x1b[34mTest\x1b[39m ']), (colored('Test', 'blue'), 'center', 6, [' \x1b[34mTest\x1b[0m ']), ('蓝色', 'center', 6, [' 蓝色 ']), (u'שלום', 'center', 6, [u' \u05e9\u05dc\u05d5\u05dd ']), (u'معرب', 'center', 6, [u' \u0645\u0639\u0631\u0628 ']), ]) def test_width(string, align, width, expected): """Test width and horizontal alignment. :param str string: String to test. :param str align: Horizontal alignment. :param int width: Expand string to this width without padding. :param list expected: Expected output string. """ actual = align_and_pad_cell(string, (align,), (width, 1), (0, 0, 0, 0)) > assert actual == expected E AssertionError: assert ['Test'] == ['\x1b[34mTest\x1b[0m'] E At index 0 diff: 'Test' != '\x1b[34mTest\x1b[0m' E Use -v to get more diff tests/test_width_and_alignment/test_align_and_pad_cell.py:87: AssertionError ________________________ test_width[Test--5-expected20] ________________________ string = 'Test', align = '', width = 5, expected = ['\x1b[34mTest\x1b[0m '] @pytest.mark.parametrize('string,align,width,expected', [ ('test', '', 4, ['test']), (123, '', 3, ['123']), (0.9, '', 3, ['0.9']), (None, '', 4, ['None']), (True, '', 4, ['True']), (False, '', 5, ['False']), (Color('{blue}Test{/blue}'), '', 4, ['\x1b[34mTest\x1b[39m']), (Fore.BLUE + 'Test' + Fore.RESET, '', 4, ['\x1b[34mTest\x1b[39m']), (colored('Test', 'blue'), '', 4, ['\x1b[34mTest\x1b[0m']), ('蓝色', '', 4, ['蓝色']), (u'שלום', '', 4, [u'\u05e9\u05dc\u05d5\u05dd']), (u'معرب', '', 4, [u'\u0645\u0639\u0631\u0628']), ('test', '', 5, ['test ']), (123, '', 4, ['123 ']), (0.9, '', 4, ['0.9 ']), (None, '', 5, ['None ']), (True, '', 5, ['True ']), (False, '', 6, ['False ']), (Color('{blue}Test{/blue}'), '', 5, ['\x1b[34mTest\x1b[39m ']), (Fore.BLUE + 'Test' + Fore.RESET, '', 5, ['\x1b[34mTest\x1b[39m ']), (colored('Test', 'blue'), '', 5, ['\x1b[34mTest\x1b[0m ']), ('蓝色', '', 5, ['蓝色 ']), (u'שלום', '', 5, [u'\u05e9\u05dc\u05d5\u05dd ']), (u'معرب', '', 5, [u'\u0645\u0639\u0631\u0628 ']), ('test', 'left', 5, ['test ']), (123, 'left', 4, ['123 ']), (0.9, 'left', 4, ['0.9 ']), (None, 'left', 5, ['None ']), (True, 'left', 5, ['True ']), (False, 'left', 6, ['False ']), (Color('{blue}Test{/blue}'), 'left', 5, ['\x1b[34mTest\x1b[39m ']), (Fore.BLUE + 'Test' + Fore.RESET, 'left', 5, ['\x1b[34mTest\x1b[39m ']), (colored('Test', 'blue'), 'left', 5, ['\x1b[34mTest\x1b[0m ']), ('蓝色', 'left', 5, ['蓝色 ']), (u'שלום', 'left', 5, [u'\u05e9\u05dc\u05d5\u05dd ']), (u'معرب', 'left', 5, [u'\u0645\u0639\u0631\u0628 ']), ('test', 'right', 5, [' test']), (123, 'right', 4, [' 123']), (0.9, 'right', 4, [' 0.9']), (None, 'right', 5, [' None']), (True, 'right', 5, [' True']), (False, 'right', 6, [' False']), (Color('{blue}Test{/blue}'), 'right', 5, [' \x1b[34mTest\x1b[39m']), (Fore.BLUE + 'Test' + Fore.RESET, 'right', 5, [' \x1b[34mTest\x1b[39m']), (colored('Test', 'blue'), 'right', 5, [' \x1b[34mTest\x1b[0m']), ('蓝色', 'right', 5, [' 蓝色']), (u'שלום', 'right', 5, [u' \u05e9\u05dc\u05d5\u05dd']), (u'معرب', 'right', 5, [u' \u0645\u0639\u0631\u0628']), ('test', 'center', 6, [' test ']), (123, 'center', 5, [' 123 ']), (0.9, 'center', 5, [' 0.9 ']), (None, 'center', 6, [' None ']), (True, 'center', 6, [' True ']), (False, 'center', 7, [' False ']), (Color('{blue}Test{/blue}'), 'center', 6, [' \x1b[34mTest\x1b[39m ']), (Fore.BLUE + 'Test' + Fore.RESET, 'center', 6, [' \x1b[34mTest\x1b[39m ']), (colored('Test', 'blue'), 'center', 6, [' \x1b[34mTest\x1b[0m ']), ('蓝色', 'center', 6, [' 蓝色 ']), (u'שלום', 'center', 6, [u' \u05e9\u05dc\u05d5\u05dd ']), (u'معرب', 'center', 6, [u' \u0645\u0639\u0631\u0628 ']), ]) def test_width(string, align, width, expected): """Test width and horizontal alignment. :param str string: String to test. :param str align: Horizontal alignment. :param int width: Expand string to this width without padding. :param list expected: Expected output string. """ actual = align_and_pad_cell(string, (align,), (width, 1), (0, 0, 0, 0)) > assert actual == expected E AssertionError: assert ['Test '] == ['\x1b[34mTest\x1b[0m '] E At index 0 diff: 'Test ' != '\x1b[34mTest\x1b[0m ' E Use -v to get more diff tests/test_width_and_alignment/test_align_and_pad_cell.py:87: AssertionError ______________________ test_width[Test-left-5-expected32] ______________________ string = 'Test', align = 'left', width = 5, expected = ['\x1b[34mTest\x1b[0m '] @pytest.mark.parametrize('string,align,width,expected', [ ('test', '', 4, ['test']), (123, '', 3, ['123']), (0.9, '', 3, ['0.9']), (None, '', 4, ['None']), (True, '', 4, ['True']), (False, '', 5, ['False']), (Color('{blue}Test{/blue}'), '', 4, ['\x1b[34mTest\x1b[39m']), (Fore.BLUE + 'Test' + Fore.RESET, '', 4, ['\x1b[34mTest\x1b[39m']), (colored('Test', 'blue'), '', 4, ['\x1b[34mTest\x1b[0m']), ('蓝色', '', 4, ['蓝色']), (u'שלום', '', 4, [u'\u05e9\u05dc\u05d5\u05dd']), (u'معرب', '', 4, [u'\u0645\u0639\u0631\u0628']), ('test', '', 5, ['test ']), (123, '', 4, ['123 ']), (0.9, '', 4, ['0.9 ']), (None, '', 5, ['None ']), (True, '', 5, ['True ']), (False, '', 6, ['False ']), (Color('{blue}Test{/blue}'), '', 5, ['\x1b[34mTest\x1b[39m ']), (Fore.BLUE + 'Test' + Fore.RESET, '', 5, ['\x1b[34mTest\x1b[39m ']), (colored('Test', 'blue'), '', 5, ['\x1b[34mTest\x1b[0m ']), ('蓝色', '', 5, ['蓝色 ']), (u'שלום', '', 5, [u'\u05e9\u05dc\u05d5\u05dd ']), (u'معرب', '', 5, [u'\u0645\u0639\u0631\u0628 ']), ('test', 'left', 5, ['test ']), (123, 'left', 4, ['123 ']), (0.9, 'left', 4, ['0.9 ']), (None, 'left', 5, ['None ']), (True, 'left', 5, ['True ']), (False, 'left', 6, ['False ']), (Color('{blue}Test{/blue}'), 'left', 5, ['\x1b[34mTest\x1b[39m ']), (Fore.BLUE + 'Test' + Fore.RESET, 'left', 5, ['\x1b[34mTest\x1b[39m ']), (colored('Test', 'blue'), 'left', 5, ['\x1b[34mTest\x1b[0m ']), ('蓝色', 'left', 5, ['蓝色 ']), (u'שלום', 'left', 5, [u'\u05e9\u05dc\u05d5\u05dd ']), (u'معرب', 'left', 5, [u'\u0645\u0639\u0631\u0628 ']), ('test', 'right', 5, [' test']), (123, 'right', 4, [' 123']), (0.9, 'right', 4, [' 0.9']), (None, 'right', 5, [' None']), (True, 'right', 5, [' True']), (False, 'right', 6, [' False']), (Color('{blue}Test{/blue}'), 'right', 5, [' \x1b[34mTest\x1b[39m']), (Fore.BLUE + 'Test' + Fore.RESET, 'right', 5, [' \x1b[34mTest\x1b[39m']), (colored('Test', 'blue'), 'right', 5, [' \x1b[34mTest\x1b[0m']), ('蓝色', 'right', 5, [' 蓝色']), (u'שלום', 'right', 5, [u' \u05e9\u05dc\u05d5\u05dd']), (u'معرب', 'right', 5, [u' \u0645\u0639\u0631\u0628']), ('test', 'center', 6, [' test ']), (123, 'center', 5, [' 123 ']), (0.9, 'center', 5, [' 0.9 ']), (None, 'center', 6, [' None ']), (True, 'center', 6, [' True ']), (False, 'center', 7, [' False ']), (Color('{blue}Test{/blue}'), 'center', 6, [' \x1b[34mTest\x1b[39m ']), (Fore.BLUE + 'Test' + Fore.RESET, 'center', 6, [' \x1b[34mTest\x1b[39m ']), (colored('Test', 'blue'), 'center', 6, [' \x1b[34mTest\x1b[0m ']), ('蓝色', 'center', 6, [' 蓝色 ']), (u'שלום', 'center', 6, [u' \u05e9\u05dc\u05d5\u05dd ']), (u'معرب', 'center', 6, [u' \u0645\u0639\u0631\u0628 ']), ]) def test_width(string, align, width, expected): """Test width and horizontal alignment. :param str string: String to test. :param str align: Horizontal alignment. :param int width: Expand string to this width without padding. :param list expected: Expected output string. """ actual = align_and_pad_cell(string, (align,), (width, 1), (0, 0, 0, 0)) > assert actual == expected E AssertionError: assert ['Test '] == ['\x1b[34mTest\x1b[0m '] E At index 0 diff: 'Test ' != '\x1b[34mTest\x1b[0m ' E Use -v to get more diff tests/test_width_and_alignment/test_align_and_pad_cell.py:87: AssertionError _____________________ test_width[Test-right-5-expected44] ______________________ string = 'Test', align = 'right', width = 5, expected = [' \x1b[34mTest\x1b[0m'] @pytest.mark.parametrize('string,align,width,expected', [ ('test', '', 4, ['test']), (123, '', 3, ['123']), (0.9, '', 3, ['0.9']), (None, '', 4, ['None']), (True, '', 4, ['True']), (False, '', 5, ['False']), (Color('{blue}Test{/blue}'), '', 4, ['\x1b[34mTest\x1b[39m']), (Fore.BLUE + 'Test' + Fore.RESET, '', 4, ['\x1b[34mTest\x1b[39m']), (colored('Test', 'blue'), '', 4, ['\x1b[34mTest\x1b[0m']), ('蓝色', '', 4, ['蓝色']), (u'שלום', '', 4, [u'\u05e9\u05dc\u05d5\u05dd']), (u'معرب', '', 4, [u'\u0645\u0639\u0631\u0628']), ('test', '', 5, ['test ']), (123, '', 4, ['123 ']), (0.9, '', 4, ['0.9 ']), (None, '', 5, ['None ']), (True, '', 5, ['True ']), (False, '', 6, ['False ']), (Color('{blue}Test{/blue}'), '', 5, ['\x1b[34mTest\x1b[39m ']), (Fore.BLUE + 'Test' + Fore.RESET, '', 5, ['\x1b[34mTest\x1b[39m ']), (colored('Test', 'blue'), '', 5, ['\x1b[34mTest\x1b[0m ']), ('蓝色', '', 5, ['蓝色 ']), (u'שלום', '', 5, [u'\u05e9\u05dc\u05d5\u05dd ']), (u'معرب', '', 5, [u'\u0645\u0639\u0631\u0628 ']), ('test', 'left', 5, ['test ']), (123, 'left', 4, ['123 ']), (0.9, 'left', 4, ['0.9 ']), (None, 'left', 5, ['None ']), (True, 'left', 5, ['True ']), (False, 'left', 6, ['False ']), (Color('{blue}Test{/blue}'), 'left', 5, ['\x1b[34mTest\x1b[39m ']), (Fore.BLUE + 'Test' + Fore.RESET, 'left', 5, ['\x1b[34mTest\x1b[39m ']), (colored('Test', 'blue'), 'left', 5, ['\x1b[34mTest\x1b[0m ']), ('蓝色', 'left', 5, ['蓝色 ']), (u'שלום', 'left', 5, [u'\u05e9\u05dc\u05d5\u05dd ']), (u'معرب', 'left', 5, [u'\u0645\u0639\u0631\u0628 ']), ('test', 'right', 5, [' test']), (123, 'right', 4, [' 123']), (0.9, 'right', 4, [' 0.9']), (None, 'right', 5, [' None']), (True, 'right', 5, [' True']), (False, 'right', 6, [' False']), (Color('{blue}Test{/blue}'), 'right', 5, [' \x1b[34mTest\x1b[39m']), (Fore.BLUE + 'Test' + Fore.RESET, 'right', 5, [' \x1b[34mTest\x1b[39m']), (colored('Test', 'blue'), 'right', 5, [' \x1b[34mTest\x1b[0m']), ('蓝色', 'right', 5, [' 蓝色']), (u'שלום', 'right', 5, [u' \u05e9\u05dc\u05d5\u05dd']), (u'معرب', 'right', 5, [u' \u0645\u0639\u0631\u0628']), ('test', 'center', 6, [' test ']), (123, 'center', 5, [' 123 ']), (0.9, 'center', 5, [' 0.9 ']), (None, 'center', 6, [' None ']), (True, 'center', 6, [' True ']), (False, 'center', 7, [' False ']), (Color('{blue}Test{/blue}'), 'center', 6, [' \x1b[34mTest\x1b[39m ']), (Fore.BLUE + 'Test' + Fore.RESET, 'center', 6, [' \x1b[34mTest\x1b[39m ']), (colored('Test', 'blue'), 'center', 6, [' \x1b[34mTest\x1b[0m ']), ('蓝色', 'center', 6, [' 蓝色 ']), (u'שלום', 'center', 6, [u' \u05e9\u05dc\u05d5\u05dd ']), (u'معرب', 'center', 6, [u' \u0645\u0639\u0631\u0628 ']), ]) def test_width(string, align, width, expected): """Test width and horizontal alignment. :param str string: String to test. :param str align: Horizontal alignment. :param int width: Expand string to this width without padding. :param list expected: Expected output string. """ actual = align_and_pad_cell(string, (align,), (width, 1), (0, 0, 0, 0)) > assert actual == expected E AssertionError: assert [' Test'] == [' \x1b[34mTest\x1b[0m'] E At index 0 diff: ' Test' != ' \x1b[34mTest\x1b[0m' E Use -v to get more diff tests/test_width_and_alignment/test_align_and_pad_cell.py:87: AssertionError _____________________ test_width[Test-center-6-expected56] _____________________ string = 'Test', align = 'center', width = 6 expected = [' \x1b[34mTest\x1b[0m '] @pytest.mark.parametrize('string,align,width,expected', [ ('test', '', 4, ['test']), (123, '', 3, ['123']), (0.9, '', 3, ['0.9']), (None, '', 4, ['None']), (True, '', 4, ['True']), (False, '', 5, ['False']), (Color('{blue}Test{/blue}'), '', 4, ['\x1b[34mTest\x1b[39m']), (Fore.BLUE + 'Test' + Fore.RESET, '', 4, ['\x1b[34mTest\x1b[39m']), (colored('Test', 'blue'), '', 4, ['\x1b[34mTest\x1b[0m']), ('蓝色', '', 4, ['蓝色']), (u'שלום', '', 4, [u'\u05e9\u05dc\u05d5\u05dd']), (u'معرب', '', 4, [u'\u0645\u0639\u0631\u0628']), ('test', '', 5, ['test ']), (123, '', 4, ['123 ']), (0.9, '', 4, ['0.9 ']), (None, '', 5, ['None ']), (True, '', 5, ['True ']), (False, '', 6, ['False ']), (Color('{blue}Test{/blue}'), '', 5, ['\x1b[34mTest\x1b[39m ']), (Fore.BLUE + 'Test' + Fore.RESET, '', 5, ['\x1b[34mTest\x1b[39m ']), (colored('Test', 'blue'), '', 5, ['\x1b[34mTest\x1b[0m ']), ('蓝色', '', 5, ['蓝色 ']), (u'שלום', '', 5, [u'\u05e9\u05dc\u05d5\u05dd ']), (u'معرب', '', 5, [u'\u0645\u0639\u0631\u0628 ']), ('test', 'left', 5, ['test ']), (123, 'left', 4, ['123 ']), (0.9, 'left', 4, ['0.9 ']), (None, 'left', 5, ['None ']), (True, 'left', 5, ['True ']), (False, 'left', 6, ['False ']), (Color('{blue}Test{/blue}'), 'left', 5, ['\x1b[34mTest\x1b[39m ']), (Fore.BLUE + 'Test' + Fore.RESET, 'left', 5, ['\x1b[34mTest\x1b[39m ']), (colored('Test', 'blue'), 'left', 5, ['\x1b[34mTest\x1b[0m ']), ('蓝色', 'left', 5, ['蓝色 ']), (u'שלום', 'left', 5, [u'\u05e9\u05dc\u05d5\u05dd ']), (u'معرب', 'left', 5, [u'\u0645\u0639\u0631\u0628 ']), ('test', 'right', 5, [' test']), (123, 'right', 4, [' 123']), (0.9, 'right', 4, [' 0.9']), (None, 'right', 5, [' None']), (True, 'right', 5, [' True']), (False, 'right', 6, [' False']), (Color('{blue}Test{/blue}'), 'right', 5, [' \x1b[34mTest\x1b[39m']), (Fore.BLUE + 'Test' + Fore.RESET, 'right', 5, [' \x1b[34mTest\x1b[39m']), (colored('Test', 'blue'), 'right', 5, [' \x1b[34mTest\x1b[0m']), ('蓝色', 'right', 5, [' 蓝色']), (u'שלום', 'right', 5, [u' \u05e9\u05dc\u05d5\u05dd']), (u'معرب', 'right', 5, [u' \u0645\u0639\u0631\u0628']), ('test', 'center', 6, [' test ']), (123, 'center', 5, [' 123 ']), (0.9, 'center', 5, [' 0.9 ']), (None, 'center', 6, [' None ']), (True, 'center', 6, [' True ']), (False, 'center', 7, [' False ']), (Color('{blue}Test{/blue}'), 'center', 6, [' \x1b[34mTest\x1b[39m ']), (Fore.BLUE + 'Test' + Fore.RESET, 'center', 6, [' \x1b[34mTest\x1b[39m ']), (colored('Test', 'blue'), 'center', 6, [' \x1b[34mTest\x1b[0m ']), ('蓝色', 'center', 6, [' 蓝色 ']), (u'שלום', 'center', 6, [u' \u05e9\u05dc\u05d5\u05dd ']), (u'معرب', 'center', 6, [u' \u0645\u0639\u0631\u0628 ']), ]) def test_width(string, align, width, expected): """Test width and horizontal alignment. :param str string: String to test. :param str align: Horizontal alignment. :param int width: Expand string to this width without padding. :param list expected: Expected output string. """ actual = align_and_pad_cell(string, (align,), (width, 1), (0, 0, 0, 0)) > assert actual == expected E AssertionError: assert [' Test '] == [' \x1b[34mTest\x1b[0m '] E At index 0 diff: ' Test ' != ' \x1b[34mTest\x1b[0m ' E Use -v to get more diff tests/test_width_and_alignment/test_align_and_pad_cell.py:87: AssertionError ________________________ test_height[Test--1-expected3] ________________________ string = 'Test', align = '', height = 1, expected = ['\x1b[34mTest\x1b[0m'] @pytest.mark.parametrize('string,align,height,expected', [ ('test', '', 1, ['test']), (Color('{blue}Test{/blue}'), '', 1, ['\x1b[34mTest\x1b[39m']), (Fore.BLUE + 'Test' + Fore.RESET, '', 1, ['\x1b[34mTest\x1b[39m']), (colored('Test', 'blue'), '', 1, ['\x1b[34mTest\x1b[0m']), ('蓝色', '', 1, ['蓝色']), (u'שלום', '', 1, [u'\u05e9\u05dc\u05d5\u05dd']), (u'معرب', '', 1, [u'\u0645\u0639\u0631\u0628']), ('test', '', 2, ['test', ' ']), (Color('{blue}Test{/blue}'), '', 2, ['\x1b[34mTest\x1b[39m', ' ']), (Fore.BLUE + 'Test' + Fore.RESET, '', 2, ['\x1b[34mTest\x1b[39m', ' ']), (colored('Test', 'blue'), '', 2, ['\x1b[34mTest\x1b[0m', ' ']), ('蓝色', '', 2, ['蓝色', ' ']), (u'שלום', '', 2, [u'\u05e9\u05dc\u05d5\u05dd', ' ']), (u'معرب', '', 2, [u'\u0645\u0639\u0631\u0628', ' ']), ('test', 'top', 2, ['test', ' ']), (Color('{blue}Test{/blue}'), 'top', 2, ['\x1b[34mTest\x1b[39m', ' ']), (Fore.BLUE + 'Test' + Fore.RESET, 'top', 2, ['\x1b[34mTest\x1b[39m', ' ']), (colored('Test', 'blue'), 'top', 2, ['\x1b[34mTest\x1b[0m', ' ']), ('蓝色', 'top', 2, ['蓝色', ' ']), (u'שלום', 'top', 2, [u'\u05e9\u05dc\u05d5\u05dd', ' ']), (u'معرب', 'top', 2, [u'\u0645\u0639\u0631\u0628', ' ']), ('test', 'bottom', 2, [' ', 'test']), (Color('{blue}Test{/blue}'), 'bottom', 2, [' ', '\x1b[34mTest\x1b[39m']), (Fore.BLUE + 'Test' + Fore.RESET, 'bottom', 2, [' ', '\x1b[34mTest\x1b[39m']), (colored('Test', 'blue'), 'bottom', 2, [' ', '\x1b[34mTest\x1b[0m']), ('蓝色', 'bottom', 2, [' ', '蓝色']), (u'שלום', 'bottom', 2, [' ', u'\u05e9\u05dc\u05d5\u05dd']), (u'معرب', 'bottom', 2, [' ', u'\u0645\u0639\u0631\u0628']), ('test', 'middle', 3, [' ', 'test', ' ']), (Color('{blue}Test{/blue}'), 'middle', 3, [' ', '\x1b[34mTest\x1b[39m', ' ']), (Fore.BLUE + 'Test' + Fore.RESET, 'middle', 3, [' ', '\x1b[34mTest\x1b[39m', ' ']), (colored('Test', 'blue'), 'middle', 3, [' ', '\x1b[34mTest\x1b[0m', ' ']), ('蓝色', 'middle', 3, [' ', '蓝色', ' ']), (u'שלום', 'middle', 3, [' ', u'\u05e9\u05dc\u05d5\u05dd', ' ']), (u'معرب', 'middle', 3, [' ', u'\u0645\u0639\u0631\u0628', ' ']), ]) def test_height(string, align, height, expected): """Test height and vertical alignment. :param str string: String to test. :param str align: Horizontal alignment. :param int height: Expand string to this height without padding. :param list expected: Expected output string. """ actual = align_and_pad_cell(string, (align,), (4, height), (0, 0, 0, 0)) > assert actual == expected E AssertionError: assert ['Test'] == ['\x1b[34mTest\x1b[0m'] E At index 0 diff: 'Test' != '\x1b[34mTest\x1b[0m' E Use -v to get more diff tests/test_width_and_alignment/test_align_and_pad_cell.py:140: AssertionError _______________________ test_height[Test--2-expected10] ________________________ string = 'Test', align = '', height = 2 expected = ['\x1b[34mTest\x1b[0m', ' '] @pytest.mark.parametrize('string,align,height,expected', [ ('test', '', 1, ['test']), (Color('{blue}Test{/blue}'), '', 1, ['\x1b[34mTest\x1b[39m']), (Fore.BLUE + 'Test' + Fore.RESET, '', 1, ['\x1b[34mTest\x1b[39m']), (colored('Test', 'blue'), '', 1, ['\x1b[34mTest\x1b[0m']), ('蓝色', '', 1, ['蓝色']), (u'שלום', '', 1, [u'\u05e9\u05dc\u05d5\u05dd']), (u'معرب', '', 1, [u'\u0645\u0639\u0631\u0628']), ('test', '', 2, ['test', ' ']), (Color('{blue}Test{/blue}'), '', 2, ['\x1b[34mTest\x1b[39m', ' ']), (Fore.BLUE + 'Test' + Fore.RESET, '', 2, ['\x1b[34mTest\x1b[39m', ' ']), (colored('Test', 'blue'), '', 2, ['\x1b[34mTest\x1b[0m', ' ']), ('蓝色', '', 2, ['蓝色', ' ']), (u'שלום', '', 2, [u'\u05e9\u05dc\u05d5\u05dd', ' ']), (u'معرب', '', 2, [u'\u0645\u0639\u0631\u0628', ' ']), ('test', 'top', 2, ['test', ' ']), (Color('{blue}Test{/blue}'), 'top', 2, ['\x1b[34mTest\x1b[39m', ' ']), (Fore.BLUE + 'Test' + Fore.RESET, 'top', 2, ['\x1b[34mTest\x1b[39m', ' ']), (colored('Test', 'blue'), 'top', 2, ['\x1b[34mTest\x1b[0m', ' ']), ('蓝色', 'top', 2, ['蓝色', ' ']), (u'שלום', 'top', 2, [u'\u05e9\u05dc\u05d5\u05dd', ' ']), (u'معرب', 'top', 2, [u'\u0645\u0639\u0631\u0628', ' ']), ('test', 'bottom', 2, [' ', 'test']), (Color('{blue}Test{/blue}'), 'bottom', 2, [' ', '\x1b[34mTest\x1b[39m']), (Fore.BLUE + 'Test' + Fore.RESET, 'bottom', 2, [' ', '\x1b[34mTest\x1b[39m']), (colored('Test', 'blue'), 'bottom', 2, [' ', '\x1b[34mTest\x1b[0m']), ('蓝色', 'bottom', 2, [' ', '蓝色']), (u'שלום', 'bottom', 2, [' ', u'\u05e9\u05dc\u05d5\u05dd']), (u'معرب', 'bottom', 2, [' ', u'\u0645\u0639\u0631\u0628']), ('test', 'middle', 3, [' ', 'test', ' ']), (Color('{blue}Test{/blue}'), 'middle', 3, [' ', '\x1b[34mTest\x1b[39m', ' ']), (Fore.BLUE + 'Test' + Fore.RESET, 'middle', 3, [' ', '\x1b[34mTest\x1b[39m', ' ']), (colored('Test', 'blue'), 'middle', 3, [' ', '\x1b[34mTest\x1b[0m', ' ']), ('蓝色', 'middle', 3, [' ', '蓝色', ' ']), (u'שלום', 'middle', 3, [' ', u'\u05e9\u05dc\u05d5\u05dd', ' ']), (u'معرب', 'middle', 3, [' ', u'\u0645\u0639\u0631\u0628', ' ']), ]) def test_height(string, align, height, expected): """Test height and vertical alignment. :param str string: String to test. :param str align: Horizontal alignment. :param int height: Expand string to this height without padding. :param list expected: Expected output string. """ actual = align_and_pad_cell(string, (align,), (4, height), (0, 0, 0, 0)) > assert actual == expected E AssertionError: assert ['Test', ' '] == ['\x1b[34mTes...b[0m', ' '] E At index 0 diff: 'Test' != '\x1b[34mTest\x1b[0m' E Use -v to get more diff tests/test_width_and_alignment/test_align_and_pad_cell.py:140: AssertionError ______________________ test_height[Test-top-2-expected17] ______________________ string = 'Test', align = 'top', height = 2 expected = ['\x1b[34mTest\x1b[0m', ' '] @pytest.mark.parametrize('string,align,height,expected', [ ('test', '', 1, ['test']), (Color('{blue}Test{/blue}'), '', 1, ['\x1b[34mTest\x1b[39m']), (Fore.BLUE + 'Test' + Fore.RESET, '', 1, ['\x1b[34mTest\x1b[39m']), (colored('Test', 'blue'), '', 1, ['\x1b[34mTest\x1b[0m']), ('蓝色', '', 1, ['蓝色']), (u'שלום', '', 1, [u'\u05e9\u05dc\u05d5\u05dd']), (u'معرب', '', 1, [u'\u0645\u0639\u0631\u0628']), ('test', '', 2, ['test', ' ']), (Color('{blue}Test{/blue}'), '', 2, ['\x1b[34mTest\x1b[39m', ' ']), (Fore.BLUE + 'Test' + Fore.RESET, '', 2, ['\x1b[34mTest\x1b[39m', ' ']), (colored('Test', 'blue'), '', 2, ['\x1b[34mTest\x1b[0m', ' ']), ('蓝色', '', 2, ['蓝色', ' ']), (u'שלום', '', 2, [u'\u05e9\u05dc\u05d5\u05dd', ' ']), (u'معرب', '', 2, [u'\u0645\u0639\u0631\u0628', ' ']), ('test', 'top', 2, ['test', ' ']), (Color('{blue}Test{/blue}'), 'top', 2, ['\x1b[34mTest\x1b[39m', ' ']), (Fore.BLUE + 'Test' + Fore.RESET, 'top', 2, ['\x1b[34mTest\x1b[39m', ' ']), (colored('Test', 'blue'), 'top', 2, ['\x1b[34mTest\x1b[0m', ' ']), ('蓝色', 'top', 2, ['蓝色', ' ']), (u'שלום', 'top', 2, [u'\u05e9\u05dc\u05d5\u05dd', ' ']), (u'معرب', 'top', 2, [u'\u0645\u0639\u0631\u0628', ' ']), ('test', 'bottom', 2, [' ', 'test']), (Color('{blue}Test{/blue}'), 'bottom', 2, [' ', '\x1b[34mTest\x1b[39m']), (Fore.BLUE + 'Test' + Fore.RESET, 'bottom', 2, [' ', '\x1b[34mTest\x1b[39m']), (colored('Test', 'blue'), 'bottom', 2, [' ', '\x1b[34mTest\x1b[0m']), ('蓝色', 'bottom', 2, [' ', '蓝色']), (u'שלום', 'bottom', 2, [' ', u'\u05e9\u05dc\u05d5\u05dd']), (u'معرب', 'bottom', 2, [' ', u'\u0645\u0639\u0631\u0628']), ('test', 'middle', 3, [' ', 'test', ' ']), (Color('{blue}Test{/blue}'), 'middle', 3, [' ', '\x1b[34mTest\x1b[39m', ' ']), (Fore.BLUE + 'Test' + Fore.RESET, 'middle', 3, [' ', '\x1b[34mTest\x1b[39m', ' ']), (colored('Test', 'blue'), 'middle', 3, [' ', '\x1b[34mTest\x1b[0m', ' ']), ('蓝色', 'middle', 3, [' ', '蓝色', ' ']), (u'שלום', 'middle', 3, [' ', u'\u05e9\u05dc\u05d5\u05dd', ' ']), (u'معرب', 'middle', 3, [' ', u'\u0645\u0639\u0631\u0628', ' ']), ]) def test_height(string, align, height, expected): """Test height and vertical alignment. :param str string: String to test. :param str align: Horizontal alignment. :param int height: Expand string to this height without padding. :param list expected: Expected output string. """ actual = align_and_pad_cell(string, (align,), (4, height), (0, 0, 0, 0)) > assert actual == expected E AssertionError: assert ['Test', ' '] == ['\x1b[34mTes...b[0m', ' '] E At index 0 diff: 'Test' != '\x1b[34mTest\x1b[0m' E Use -v to get more diff tests/test_width_and_alignment/test_align_and_pad_cell.py:140: AssertionError ____________________ test_height[Test-bottom-2-expected24] _____________________ string = 'Test', align = 'bottom', height = 2 expected = [' ', '\x1b[34mTest\x1b[0m'] @pytest.mark.parametrize('string,align,height,expected', [ ('test', '', 1, ['test']), (Color('{blue}Test{/blue}'), '', 1, ['\x1b[34mTest\x1b[39m']), (Fore.BLUE + 'Test' + Fore.RESET, '', 1, ['\x1b[34mTest\x1b[39m']), (colored('Test', 'blue'), '', 1, ['\x1b[34mTest\x1b[0m']), ('蓝色', '', 1, ['蓝色']), (u'שלום', '', 1, [u'\u05e9\u05dc\u05d5\u05dd']), (u'معرب', '', 1, [u'\u0645\u0639\u0631\u0628']), ('test', '', 2, ['test', ' ']), (Color('{blue}Test{/blue}'), '', 2, ['\x1b[34mTest\x1b[39m', ' ']), (Fore.BLUE + 'Test' + Fore.RESET, '', 2, ['\x1b[34mTest\x1b[39m', ' ']), (colored('Test', 'blue'), '', 2, ['\x1b[34mTest\x1b[0m', ' ']), ('蓝色', '', 2, ['蓝色', ' ']), (u'שלום', '', 2, [u'\u05e9\u05dc\u05d5\u05dd', ' ']), (u'معرب', '', 2, [u'\u0645\u0639\u0631\u0628', ' ']), ('test', 'top', 2, ['test', ' ']), (Color('{blue}Test{/blue}'), 'top', 2, ['\x1b[34mTest\x1b[39m', ' ']), (Fore.BLUE + 'Test' + Fore.RESET, 'top', 2, ['\x1b[34mTest\x1b[39m', ' ']), (colored('Test', 'blue'), 'top', 2, ['\x1b[34mTest\x1b[0m', ' ']), ('蓝色', 'top', 2, ['蓝色', ' ']), (u'שלום', 'top', 2, [u'\u05e9\u05dc\u05d5\u05dd', ' ']), (u'معرب', 'top', 2, [u'\u0645\u0639\u0631\u0628', ' ']), ('test', 'bottom', 2, [' ', 'test']), (Color('{blue}Test{/blue}'), 'bottom', 2, [' ', '\x1b[34mTest\x1b[39m']), (Fore.BLUE + 'Test' + Fore.RESET, 'bottom', 2, [' ', '\x1b[34mTest\x1b[39m']), (colored('Test', 'blue'), 'bottom', 2, [' ', '\x1b[34mTest\x1b[0m']), ('蓝色', 'bottom', 2, [' ', '蓝色']), (u'שלום', 'bottom', 2, [' ', u'\u05e9\u05dc\u05d5\u05dd']), (u'معرب', 'bottom', 2, [' ', u'\u0645\u0639\u0631\u0628']), ('test', 'middle', 3, [' ', 'test', ' ']), (Color('{blue}Test{/blue}'), 'middle', 3, [' ', '\x1b[34mTest\x1b[39m', ' ']), (Fore.BLUE + 'Test' + Fore.RESET, 'middle', 3, [' ', '\x1b[34mTest\x1b[39m', ' ']), (colored('Test', 'blue'), 'middle', 3, [' ', '\x1b[34mTest\x1b[0m', ' ']), ('蓝色', 'middle', 3, [' ', '蓝色', ' ']), (u'שלום', 'middle', 3, [' ', u'\u05e9\u05dc\u05d5\u05dd', ' ']), (u'معرب', 'middle', 3, [' ', u'\u0645\u0639\u0631\u0628', ' ']), ]) def test_height(string, align, height, expected): """Test height and vertical alignment. :param str string: String to test. :param str align: Horizontal alignment. :param int height: Expand string to this height without padding. :param list expected: Expected output string. """ actual = align_and_pad_cell(string, (align,), (4, height), (0, 0, 0, 0)) > assert actual == expected E AssertionError: assert [' ', 'Test'] == [' ', '\x1...mTest\x1b[0m'] E At index 1 diff: 'Test' != '\x1b[34mTest\x1b[0m' E Use -v to get more diff tests/test_width_and_alignment/test_align_and_pad_cell.py:140: AssertionError ____________________ test_height[Test-middle-3-expected31] _____________________ string = 'Test', align = 'middle', height = 3 expected = [' ', '\x1b[34mTest\x1b[0m', ' '] @pytest.mark.parametrize('string,align,height,expected', [ ('test', '', 1, ['test']), (Color('{blue}Test{/blue}'), '', 1, ['\x1b[34mTest\x1b[39m']), (Fore.BLUE + 'Test' + Fore.RESET, '', 1, ['\x1b[34mTest\x1b[39m']), (colored('Test', 'blue'), '', 1, ['\x1b[34mTest\x1b[0m']), ('蓝色', '', 1, ['蓝色']), (u'שלום', '', 1, [u'\u05e9\u05dc\u05d5\u05dd']), (u'معرب', '', 1, [u'\u0645\u0639\u0631\u0628']), ('test', '', 2, ['test', ' ']), (Color('{blue}Test{/blue}'), '', 2, ['\x1b[34mTest\x1b[39m', ' ']), (Fore.BLUE + 'Test' + Fore.RESET, '', 2, ['\x1b[34mTest\x1b[39m', ' ']), (colored('Test', 'blue'), '', 2, ['\x1b[34mTest\x1b[0m', ' ']), ('蓝色', '', 2, ['蓝色', ' ']), (u'שלום', '', 2, [u'\u05e9\u05dc\u05d5\u05dd', ' ']), (u'معرب', '', 2, [u'\u0645\u0639\u0631\u0628', ' ']), ('test', 'top', 2, ['test', ' ']), (Color('{blue}Test{/blue}'), 'top', 2, ['\x1b[34mTest\x1b[39m', ' ']), (Fore.BLUE + 'Test' + Fore.RESET, 'top', 2, ['\x1b[34mTest\x1b[39m', ' ']), (colored('Test', 'blue'), 'top', 2, ['\x1b[34mTest\x1b[0m', ' ']), ('蓝色', 'top', 2, ['蓝色', ' ']), (u'שלום', 'top', 2, [u'\u05e9\u05dc\u05d5\u05dd', ' ']), (u'معرب', 'top', 2, [u'\u0645\u0639\u0631\u0628', ' ']), ('test', 'bottom', 2, [' ', 'test']), (Color('{blue}Test{/blue}'), 'bottom', 2, [' ', '\x1b[34mTest\x1b[39m']), (Fore.BLUE + 'Test' + Fore.RESET, 'bottom', 2, [' ', '\x1b[34mTest\x1b[39m']), (colored('Test', 'blue'), 'bottom', 2, [' ', '\x1b[34mTest\x1b[0m']), ('蓝色', 'bottom', 2, [' ', '蓝色']), (u'שלום', 'bottom', 2, [' ', u'\u05e9\u05dc\u05d5\u05dd']), (u'معرب', 'bottom', 2, [' ', u'\u0645\u0639\u0631\u0628']), ('test', 'middle', 3, [' ', 'test', ' ']), (Color('{blue}Test{/blue}'), 'middle', 3, [' ', '\x1b[34mTest\x1b[39m', ' ']), (Fore.BLUE + 'Test' + Fore.RESET, 'middle', 3, [' ', '\x1b[34mTest\x1b[39m', ' ']), (colored('Test', 'blue'), 'middle', 3, [' ', '\x1b[34mTest\x1b[0m', ' ']), ('蓝色', 'middle', 3, [' ', '蓝色', ' ']), (u'שלום', 'middle', 3, [' ', u'\u05e9\u05dc\u05d5\u05dd', ' ']), (u'معرب', 'middle', 3, [' ', u'\u0645\u0639\u0631\u0628', ' ']), ]) def test_height(string, align, height, expected): """Test height and vertical alignment. :param str string: String to test. :param str align: Horizontal alignment. :param int height: Expand string to this height without padding. :param list expected: Expected output string. """ actual = align_and_pad_cell(string, (align,), (4, height), (0, 0, 0, 0)) > assert actual == expected E AssertionError: assert [' ', 'Test', ' '] == [' ', '\x1...b[0m', ' '] E At index 1 diff: 'Test' != '\x1b[34mTest\x1b[0m' E Use -v to get more diff tests/test_width_and_alignment/test_align_and_pad_cell.py:140: AssertionError _ test_odd_width_height_pad_space[\x1b[34mTest\x1b[39m\n\x1b[34mTest\x1b[39m\nTest--expected29] _ string = '\x1b[34mTest\x1b[39m\n\x1b[34mTest\x1b[39m\nTest', align = '' expected = ['.......', '.\x1b[34mTest\x1b[39m..', '.\x1b[34mTest\x1b[39m..', '.\x1b[34mTest\x1b[0m..', '.......'] @pytest.mark.parametrize('string,align,expected', [ ('', '', ['.......', '.......', '.......', '.......', '.......']), ('\n', '', ['.......', '.......', '.......', '.......', '.......']), ('a\nb\nc', '', ['.......', '.a.....', '.b.....', '.c.....', '.......']), ('test', '', ['.......', '.test..', '.......', '.......', '.......']), ('', 'left', ['.......', '.......', '.......', '.......', '.......']), ('\n', 'left', ['.......', '.......', '.......', '.......', '.......']), ('a\nb\nc', 'left', ['.......', '.a.....', '.b.....', '.c.....', '.......']), ('test', 'left', ['.......', '.test..', '.......', '.......', '.......']), ('', 'right', ['.......', '.......', '.......', '.......', '.......']), ('\n', 'right', ['.......', '.......', '.......', '.......', '.......']), ('a\nb\nc', 'right', ['.......', '.....a.', '.....b.', '.....c.', '.......']), ('test', 'right', ['.......', '..test.', '.......', '.......', '.......']), ('', 'center', ['.......', '.......', '.......', '.......', '.......']), ('\n', 'center', ['.......', '.......', '.......', '.......', '.......']), ('a\nb\nc', 'center', ['.......', '...a...', '...b...', '...c...', '.......']), ('test', 'center', ['.......', '..test.', '.......', '.......', '.......']), ('', 'top', ['.......', '.......', '.......', '.......', '.......']), ('\n', 'top', ['.......', '.......', '.......', '.......', '.......']), ('a\nb\nc', 'top', ['.......', '.a.....', '.b.....', '.c.....', '.......']), ('test', 'top', ['.......', '.test..', '.......', '.......', '.......']), ('', 'bottom', ['.......', '.......', '.......', '.......', '.......']), ('\n', 'bottom', ['.......', '.......', '.......', '.......', '.......']), ('a\nb\nc', 'bottom', ['.......', '.a.....', '.b.....', '.c.....', '.......']), ('test', 'bottom', ['.......', '.......', '.......', '.test..', '.......']), ('', 'middle', ['.......', '.......', '.......', '.......', '.......']), ('\n', 'middle', ['.......', '.......', '.......', '.......', '.......']), ('a\nb\nc', 'middle', ['.......', '.a.....', '.b.....', '.c.....', '.......']), ('test', 'middle', ['.......', '.......', '.test..', '.......', '.......']), ( u'蓝色\nשלום\nمعرب', '', ['.......', u'.蓝色..', u'.\u05e9\u05dc\u05d5\u05dd..', u'.\u0645\u0639\u0631\u0628..', '.......'] ), ( '\n'.join((Color('{blue}Test{/blue}'), Fore.BLUE + 'Test' + Fore.RESET, colored('Test', 'blue'))), '', ['.......', '.\x1b[34mTest\x1b[39m..', '.\x1b[34mTest\x1b[39m..', '.\x1b[34mTest\x1b[0m..', '.......'] ), # (Color('{blue}A\nB{/blue}'), '', '.......\n.\x1b[34mA\x1b[39m.....\n.\x1b[34mB\x1b[39m.....\n.......\n.......'), ]) def test_odd_width_height_pad_space(string, align, expected): """Test odd number width, height, padding, and dots for whitespaces. :param str string: String to test. :param str align: Alignment in any dimension but one at a time. :param list expected: Expected output string. """ actual = align_and_pad_cell(string, (align,), (5, 3), (1, 1, 1, 1), '.') > assert actual == expected E AssertionError: assert ['.......', '....', '.......'] == ['.......', '....', '.......'] E At index 3 diff: '.Test..' != '.\x1b[34mTest\x1b[0m..' E Use -v to get more diff tests/test_width_and_alignment/test_align_and_pad_cell.py:202: AssertionError ---------- coverage: platform linux, python 3.12.3-final-0 ----------- Name Stmts Miss Branch BrPart Cover Missing ----------------------------------------------------------------------------------- terminaltables/__init__.py 8 0 0 0 100% terminaltables/ascii_table.py 24 0 8 0 100% terminaltables/base_table.py 123 0 40 0 100% terminaltables/build.py 65 0 42 0 100% terminaltables/github_table.py 28 0 14 0 100% terminaltables/other_tables.py 107 0 2 0 100% terminaltables/terminal_io.py 50 16 14 1 61% 34, 80-98 terminaltables/width_and_alignment.py 66 0 32 0 100% ----------------------------------------------------------------------------------- TOTAL 471 16 152 1 96% Coverage XML written to file coverage.xml =========================== short test summary info ============================ FAILED tests/test_base_table/test_table.py::test_color - AssertionError: asse... FAILED tests/test_build/test_build_border.py::test_colors[TEST---outer_widths0-+-\x1b[34mTEST\x1b[0m--------] FAILED tests/test_build/test_build_border.py::test_colors[TEST---outer_widths1--\x1b[34mTEST\x1b[0m--------] FAILED tests/test_build/test_build_border.py::test_colors[TEST---outer_widths2-+-\x1b[34mTEST\x1b[0m---+-----] FAILED tests/test_build/test_build_border.py::test_colors[TEST---outer_widths3--\x1b[34mTEST\x1b[0m--------] FAILED tests/test_build/test_build_border.py::test_colors[TEST---outer_widths4-+-\x1b[34mTEST\x1b[0m] FAILED tests/test_build/test_build_border.py::test_colors[TEST---outer_widths5--\x1b[34mTEST\x1b[0m] FAILED tests/test_build/test_build_border.py::test_colors[TEST---outer_widths6-+-\x1b[34mTEST\x1b[0m+-] FAILED tests/test_build/test_build_border.py::test_colors[TEST---outer_widths7--\x1b[34mTEST\x1b[0m-] FAILED tests/test_build/test_build_border.py::test_colors[TEST---outer_widths8-+-\x1b[34mTEST\x1b[0m+] FAILED tests/test_build/test_build_border.py::test_colors[TEST---outer_widths9--\x1b[34mTEST\x1b[0m] FAILED tests/test_build/test_build_border.py::test_colors[TEST---outer_widths10--\x1b[34mTEST\x1b[0m--------] FAILED tests/test_build/test_build_border.py::test_colors[TEST---outer_widths11--\x1b[34mTEST\x1b[0m--------] FAILED tests/test_build/test_build_border.py::test_colors[TEST---outer_widths12--\x1b[34mTEST\x1b[0m--------] FAILED tests/test_build/test_build_border.py::test_colors[TEST---outer_widths13--\x1b[34mTEST\x1b[0m--------] FAILED tests/test_build/test_build_border.py::test_colors[TEST---outer_widths14--\x1b[34mTEST\x1b[0m--------] FAILED tests/test_build/test_build_border.py::test_colors[TEST---outer_widths15--\x1b[34mTEST\x1b[0m--] FAILED tests/test_build/test_build_border.py::test_colors[TEST---outer_widths16--\x1b[34mTEST\x1b[0m-] FAILED tests/test_build/test_build_border.py::test_colors[TEST---outer_widths17--\x1b[34mTEST\x1b[0m] FAILED tests/test_build/test_build_border.py::test_colors[TEST---outer_widths19-+-\x1b[34mTEST\x1b[0m--------] FAILED tests/test_build/test_build_border.py::test_colors[TEST---outer_widths20-+-\x1b[34mTEST\x1b[0m---------] FAILED tests/test_build/test_build_border.py::test_colors[TEST---outer_widths21-+-\x1b[34mTEST\x1b[0m--------+] FAILED tests/test_build/test_build_border.py::test_colors[TEST---outer_widths22-+-\x1b[34mTEST\x1b[0m----------] FAILED tests/test_build/test_build_border.py::test_colors[TEST---outer_widths23-+-\x1b[34mTEST\x1b[0m--------++] FAILED tests/test_build/test_build_border.py::test_colors[TEST---outer_widths24-+-\x1b[34mTEST\x1b[0m---] FAILED tests/test_build/test_build_border.py::test_colors[TEST---outer_widths25-+-\x1b[34mTEST\x1b[0m+--] FAILED tests/test_build/test_build_border.py::test_colors[TEST---outer_widths26-+-\x1b[34mTEST\x1b[0m-+-] FAILED tests/test_build/test_build_border.py::test_colors[TEST---outer_widths27-+-\x1b[34mTEST\x1b[0m---+---+---] FAILED tests/test_build/test_build_border.py::test_colors[TEST---outer_widths28-+-\x1b[34mTEST\x1b[0m-+----+----] FAILED tests/test_build/test_build_border.py::test_colors[TEST---outer_widths29-+-\x1b[34mTEST\x1b[0m-----+-----] FAILED tests/test_build/test_build_border.py::test_colors[TEST---outer_widths30-+-\x1b[34mTEST\x1b[0m-+--+--] FAILED tests/test_build/test_build_border.py::test_colors[TEST---outer_widths31-+-\x1b[34mTEST\x1b[0m-+-+-] FAILED tests/test_build/test_build_border.py::test_colors[TEST---outer_widths32-+-\x1b[34mTEST\x1b[0m++] FAILED tests/test_build/test_build_border.py::test_colors[TEST-<->-outer_widths0-+-\x1b[34mTEST\x1b[0m--------] FAILED tests/test_build/test_build_border.py::test_colors[TEST-<->-outer_widths1--\x1b[34mTEST\x1b[0m--------] FAILED tests/test_build/test_build_border.py::test_colors[TEST-<->-outer_widths2-+-\x1b[34mTEST\x1b[0m---+-----] FAILED tests/test_build/test_build_border.py::test_colors[TEST-<->-outer_widths3--\x1b[34mTEST\x1b[0m--------] FAILED tests/test_build/test_build_border.py::test_colors[TEST-<->-outer_widths4-+-\x1b[34mTEST\x1b[0m] FAILED tests/test_build/test_build_border.py::test_colors[TEST-<->-outer_widths5--\x1b[34mTEST\x1b[0m] FAILED tests/test_build/test_build_border.py::test_colors[TEST-<->-outer_widths6-+-\x1b[34mTEST\x1b[0m+-] FAILED tests/test_build/test_build_border.py::test_colors[TEST-<->-outer_widths7--\x1b[34mTEST\x1b[0m-] FAILED tests/test_build/test_build_border.py::test_colors[TEST-<->-outer_widths8-+-\x1b[34mTEST\x1b[0m+] FAILED tests/test_build/test_build_border.py::test_colors[TEST-<->-outer_widths9--\x1b[34mTEST\x1b[0m] FAILED tests/test_build/test_build_border.py::test_colors[TEST-<->-outer_widths10--\x1b[34mTEST\x1b[0m--------] FAILED tests/test_build/test_build_border.py::test_colors[TEST-<->-outer_widths11--\x1b[34mTEST\x1b[0m--------] FAILED tests/test_build/test_build_border.py::test_colors[TEST-<->-outer_widths12--\x1b[34mTEST\x1b[0m--------] FAILED tests/test_build/test_build_border.py::test_colors[TEST-<->-outer_widths13--\x1b[34mTEST\x1b[0m--------] FAILED tests/test_build/test_build_border.py::test_colors[TEST-<->-outer_widths14--\x1b[34mTEST\x1b[0m--------] FAILED tests/test_build/test_build_border.py::test_colors[TEST-<->-outer_widths15--\x1b[34mTEST\x1b[0m--] FAILED tests/test_build/test_build_border.py::test_colors[TEST-<->-outer_widths16--\x1b[34mTEST\x1b[0m-] FAILED tests/test_build/test_build_border.py::test_colors[TEST-<->-outer_widths17--\x1b[34mTEST\x1b[0m] FAILED tests/test_build/test_build_border.py::test_colors[TEST-<->-outer_widths19-+-\x1b[34mTEST\x1b[0m--------] FAILED tests/test_build/test_build_border.py::test_colors[TEST-<->-outer_widths20-+-\x1b[34mTEST\x1b[0m---------] FAILED tests/test_build/test_build_border.py::test_colors[TEST-<->-outer_widths21-+-\x1b[34mTEST\x1b[0m--------+] FAILED tests/test_build/test_build_border.py::test_colors[TEST-<->-outer_widths22-+-\x1b[34mTEST\x1b[0m----------] FAILED tests/test_build/test_build_border.py::test_colors[TEST-<->-outer_widths23-+-\x1b[34mTEST\x1b[0m--------++] FAILED tests/test_build/test_build_border.py::test_colors[TEST-<->-outer_widths24-+-\x1b[34mTEST\x1b[0m---] FAILED tests/test_build/test_build_border.py::test_colors[TEST-<->-outer_widths25-+-\x1b[34mTEST\x1b[0m+--] FAILED tests/test_build/test_build_border.py::test_colors[TEST-<->-outer_widths26-+-\x1b[34mTEST\x1b[0m-+-] FAILED tests/test_build/test_build_border.py::test_colors[TEST-<->-outer_widths27-+-\x1b[34mTEST\x1b[0m---+---+---] FAILED tests/test_build/test_build_border.py::test_colors[TEST-<->-outer_widths28-+-\x1b[34mTEST\x1b[0m-+----+----] FAILED tests/test_build/test_build_border.py::test_colors[TEST-<->-outer_widths29-+-\x1b[34mTEST\x1b[0m-----+-----] FAILED tests/test_build/test_build_border.py::test_colors[TEST-<->-outer_widths30-+-\x1b[34mTEST\x1b[0m-+--+--] FAILED tests/test_build/test_build_border.py::test_colors[TEST-<->-outer_widths31-+-\x1b[34mTEST\x1b[0m-+-+-] FAILED tests/test_build/test_build_border.py::test_colors[TEST-<->-outer_widths32-+-\x1b[34mTEST\x1b[0m++] FAILED tests/test_width_and_alignment/test_align_and_pad_cell.py::test_width[Test--4-expected8] FAILED tests/test_width_and_alignment/test_align_and_pad_cell.py::test_width[Test--5-expected20] FAILED tests/test_width_and_alignment/test_align_and_pad_cell.py::test_width[Test-left-5-expected32] FAILED tests/test_width_and_alignment/test_align_and_pad_cell.py::test_width[Test-right-5-expected44] FAILED tests/test_width_and_alignment/test_align_and_pad_cell.py::test_width[Test-center-6-expected56] FAILED tests/test_width_and_alignment/test_align_and_pad_cell.py::test_height[Test--1-expected3] FAILED tests/test_width_and_alignment/test_align_and_pad_cell.py::test_height[Test--2-expected10] FAILED tests/test_width_and_alignment/test_align_and_pad_cell.py::test_height[Test-top-2-expected17] FAILED tests/test_width_and_alignment/test_align_and_pad_cell.py::test_height[Test-bottom-2-expected24] FAILED tests/test_width_and_alignment/test_align_and_pad_cell.py::test_height[Test-middle-3-expected31] FAILED tests/test_width_and_alignment/test_align_and_pad_cell.py::test_odd_width_height_pad_space[\x1b[34mTest\x1b[39m\n\x1b[34mTest\x1b[39m\nTest--expected29] ================== 76 failed, 711 passed, 14 skipped in 2.33s ================== py312: exit 1 (2.55 seconds) /builddir/build/BUILD/python-terminaltables-3.1.10-build/terminaltables-8020b8cb8ae859891a999620085d34c8d8bfe1a3> py.test --cov-report term-missing --cov-report xml --cov terminaltables --cov-config tox.ini tests pid=285 py312: FAIL code 1 (2.57 seconds) evaluation failed :( (2.60 seconds) + : + RPM_EC=0 ++ jobs -p + exit 0 Processing files: python3-terminaltables-3.1.10-13.fc41.noarch Executing(%doc): /bin/sh -e /var/tmp/rpm-tmp.h1eDne + umask 022 + cd /builddir/build/BUILD/python-terminaltables-3.1.10-build + cd terminaltables-8020b8cb8ae859891a999620085d34c8d8bfe1a3 + DOCDIR=/builddir/build/BUILD/python-terminaltables-3.1.10-build/BUILDROOT/usr/share/doc/python3-terminaltables + export LC_ALL=C.UTF-8 + LC_ALL=C.UTF-8 + export DOCDIR + /usr/bin/mkdir -p /builddir/build/BUILD/python-terminaltables-3.1.10-build/BUILDROOT/usr/share/doc/python3-terminaltables + cp -pr /builddir/build/BUILD/python-terminaltables-3.1.10-build/terminaltables-8020b8cb8ae859891a999620085d34c8d8bfe1a3/CHANGELOG.md /builddir/build/BUILD/python-terminaltables-3.1.10-build/BUILDROOT/usr/share/doc/python3-terminaltables + cp -pr /builddir/build/BUILD/python-terminaltables-3.1.10-build/terminaltables-8020b8cb8ae859891a999620085d34c8d8bfe1a3/CONTRIBUTING.md /builddir/build/BUILD/python-terminaltables-3.1.10-build/BUILDROOT/usr/share/doc/python3-terminaltables + cp -pr /builddir/build/BUILD/python-terminaltables-3.1.10-build/terminaltables-8020b8cb8ae859891a999620085d34c8d8bfe1a3/README.md /builddir/build/BUILD/python-terminaltables-3.1.10-build/BUILDROOT/usr/share/doc/python3-terminaltables + RPM_EC=0 ++ jobs -p + exit 0 Executing(%license): /bin/sh -e /var/tmp/rpm-tmp.4BjoJe + umask 022 + cd /builddir/build/BUILD/python-terminaltables-3.1.10-build + cd terminaltables-8020b8cb8ae859891a999620085d34c8d8bfe1a3 + LICENSEDIR=/builddir/build/BUILD/python-terminaltables-3.1.10-build/BUILDROOT/usr/share/licenses/python3-terminaltables + export LC_ALL=C.UTF-8 + LC_ALL=C.UTF-8 + export LICENSEDIR + /usr/bin/mkdir -p /builddir/build/BUILD/python-terminaltables-3.1.10-build/BUILDROOT/usr/share/licenses/python3-terminaltables + cp -pr /builddir/build/BUILD/python-terminaltables-3.1.10-build/terminaltables-8020b8cb8ae859891a999620085d34c8d8bfe1a3/LICENSE /builddir/build/BUILD/python-terminaltables-3.1.10-build/BUILDROOT/usr/share/licenses/python3-terminaltables + RPM_EC=0 ++ jobs -p + exit 0 Provides: python-terminaltables = 3.1.10-13.fc41 python3-terminaltables = 3.1.10-13.fc41 python3.12-terminaltables = 3.1.10-13.fc41 python3.12dist(terminaltables) = 3.1.10 python3dist(terminaltables) = 3.1.10 Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PartialHardlinkSets) <= 4.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 Requires: python(abi) = 3.12 Checking for unpackaged file(s): /usr/lib/rpm/check-files /builddir/build/BUILD/python-terminaltables-3.1.10-build/BUILDROOT Wrote: /builddir/build/SRPMS/python-terminaltables-3.1.10-13.fc41.src.rpm Wrote: /builddir/build/RPMS/python3-terminaltables-3.1.10-13.fc41.noarch.rpm Executing(rmbuild): /bin/sh -e /var/tmp/rpm-tmp.uCdFNP + umask 022 + cd /builddir/build/BUILD/python-terminaltables-3.1.10-build + test -d /builddir/build/BUILD/python-terminaltables-3.1.10-build + /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w /builddir/build/BUILD/python-terminaltables-3.1.10-build + rm -rf /builddir/build/BUILD/python-terminaltables-3.1.10-build + RPM_EC=0 ++ jobs -p + exit 0 Finish: rpmbuild python-terminaltables-3.1.10-13.fc41.src.rpm Finish: build phase for python-terminaltables-3.1.10-13.fc41.src.rpm INFO: chroot_scan: 1 files copied to /var/lib/copr-rpmbuild/results/chroot_scan INFO: /var/lib/mock/fedora-rawhide-x86_64-1717812532.018114/root/var/log/dnf5.log INFO: Done(/var/lib/copr-rpmbuild/results/python-terminaltables-3.1.10-13.fc41.src.rpm) Config(child) 0 minutes 17 seconds INFO: Results and/or logs in: /var/lib/copr-rpmbuild/results INFO: Cleaning up build root ('cleanup_on_success=True') Start: clean chroot INFO: unmounting tmpfs. Finish: clean chroot Finish: run Running RPMResults tool Package info: { "packages": [ { "name": "python-terminaltables", "epoch": null, "version": "3.1.10", "release": "13.fc41", "arch": "src" }, { "name": "python3-terminaltables", "epoch": null, "version": "3.1.10", "release": "13.fc41", "arch": "noarch" } ] } RPMResults finished