Warning: Permanently added '18.207.251.165' (ED25519) to the list of known hosts. Running (timeout=172800): unbuffer mock --spec /var/lib/copr-rpmbuild/workspace/workdir-qu16lywy/pyrtl/pyrtl.spec --sources /var/lib/copr-rpmbuild/workspace/workdir-qu16lywy/pyrtl --resultdir /var/lib/copr-rpmbuild/results --uniqueext 1778568247.373321 -r /var/lib/copr-rpmbuild/results/configs/child.cfg INFO: mock.py version 6.7 starting (python version = 3.14.2, NVR = mock-6.7-1.fc43), args: /usr/libexec/mock/mock --spec /var/lib/copr-rpmbuild/workspace/workdir-qu16lywy/pyrtl/pyrtl.spec --sources /var/lib/copr-rpmbuild/workspace/workdir-qu16lywy/pyrtl --resultdir /var/lib/copr-rpmbuild/results --uniqueext 1778568247.373321 -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-qu16lywy/pyrtl/pyrtl.spec) Config(fedora-42-x86_64) Start: clean chroot Finish: clean chroot Mock Version: 6.7 INFO: Mock Version: 6.7 Start(bootstrap): chroot init INFO: mounting tmpfs at /var/lib/mock/fedora-42-x86_64-bootstrap-1778568247.373321/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 container image: registry.fedoraproject.org/fedora:42 INFO: Pulling image: registry.fedoraproject.org/fedora:42 INFO: Tagging container image as mock-bootstrap-95e302d9-2f72-4ea7-ae44-e51518bc1313 INFO: Checking that 3b108a912529c9d4f5f35aa83533dbc68483363b70cdeccb902886933c3bb85e image matches host's architecture INFO: Copy content of container 3b108a912529c9d4f5f35aa83533dbc68483363b70cdeccb902886933c3bb85e to /var/lib/mock/fedora-42-x86_64-bootstrap-1778568247.373321/root INFO: mounting 3b108a912529c9d4f5f35aa83533dbc68483363b70cdeccb902886933c3bb85e with podman image mount INFO: image 3b108a912529c9d4f5f35aa83533dbc68483363b70cdeccb902886933c3bb85e as /var/lib/containers/storage/overlay/cd6c382008ecf5681d29763c96c24f64ab69394296ec68d8b246356b4375adee/merged INFO: umounting image 3b108a912529c9d4f5f35aa83533dbc68483363b70cdeccb902886933c3bb85e (/var/lib/containers/storage/overlay/cd6c382008ecf5681d29763c96c24f64ab69394296ec68d8b246356b4375adee/merged) with podman image umount INFO: Removing image mock-bootstrap-95e302d9-2f72-4ea7-ae44-e51518bc1313 INFO: Package manager dnf5 detected and used (fallback) INFO: Not updating bootstrap chroot, bootstrap_image_ready=True 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-42-x86_64-1778568247.373321/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.20.1-1.fc42.x86_64 rpm-sequoia-1.10.1-1.fc42.x86_64 dnf5-5.2.18.0-3.fc42.x86_64 dnf5-plugins-5.2.18.0-3.fc42.x86_64 Start: installing minimal buildroot with dnf5 Updating and loading repositories: Copr repository 100% | 389.8 KiB/s | 133.3 KiB | 00m00s updates 100% | 16.2 MiB/s | 12.2 MiB | 00m01s fedora 100% | 32.6 MiB/s | 35.3 MiB | 00m01s Repositories loaded. Package Arch Version Repository Size Installing group/module packages: bash x86_64 5.2.37-1.fc42 fedora 8.2 MiB bzip2 x86_64 1.0.8-20.fc42 fedora 99.3 KiB coreutils x86_64 9.6-8.fc42 updates 5.4 MiB cpio x86_64 2.15-4.fc42 fedora 1.1 MiB diffutils x86_64 3.12-1.fc42 updates 1.6 MiB fedora-release-common noarch 42-30 updates 20.2 KiB findutils x86_64 1:4.10.0-5.fc42 fedora 1.9 MiB gawk x86_64 5.3.1-1.fc42 fedora 1.7 MiB glibc-minimal-langpack x86_64 2.41-18.fc42 updates 0.0 B grep x86_64 3.11-10.fc42 fedora 1.0 MiB gzip x86_64 1.13-3.fc42 fedora 392.9 KiB info x86_64 7.2-3.fc42 fedora 357.9 KiB patch x86_64 2.8-1.fc42 updates 222.8 KiB redhat-rpm-config noarch 342-4.fc42 updates 185.5 KiB rpm-build x86_64 4.20.1-1.fc42 fedora 168.7 KiB sed x86_64 4.9-4.fc42 fedora 857.3 KiB shadow-utils x86_64 2:4.17.4-1.fc42 fedora 4.0 MiB tar x86_64 2:1.35-5.fc42 fedora 3.0 MiB unzip x86_64 6.0-66.fc42 fedora 390.3 KiB util-linux x86_64 2.40.4-10.fc42 updates 3.4 MiB which x86_64 2.23-2.fc42 updates 83.5 KiB xz x86_64 1:5.8.1-4.fc42 updates 1.3 MiB Installing dependencies: add-determinism x86_64 0.6.0-3.fc42 updates 2.3 MiB alternatives x86_64 1.33-3.fc42 updates 62.2 KiB ansible-srpm-macros noarch 1-17.1.fc42 fedora 35.7 KiB audit-libs x86_64 4.1.4-1.fc42 updates 378.8 KiB basesystem noarch 11-22.fc42 fedora 0.0 B binutils x86_64 2.44-12.fc42 updates 25.8 MiB build-reproducibility-srpm-macros noarch 0.6.0-3.fc42 updates 735.0 B bzip2-libs x86_64 1.0.8-20.fc42 fedora 84.6 KiB ca-certificates noarch 2025.2.80_v9.0.304-1.1.fc42 updates 2.7 MiB coreutils-common x86_64 9.6-8.fc42 updates 11.1 MiB crypto-policies noarch 20251125-1.git3839d0e.fc42 updates 143.1 KiB curl x86_64 8.11.1-8.fc42 updates 450.6 KiB cyrus-sasl-lib x86_64 2.1.28-30.fc42 fedora 2.3 MiB debugedit x86_64 5.1-7.fc42 updates 192.7 KiB dwz x86_64 0.16-1.fc42 updates 287.1 KiB ed x86_64 1.21-2.fc42 fedora 146.5 KiB efi-srpm-macros noarch 6-3.fc42 updates 40.1 KiB elfutils x86_64 0.195-1.fc42 updates 2.9 MiB elfutils-debuginfod-client x86_64 0.195-1.fc42 updates 84.1 KiB elfutils-default-yama-scope noarch 0.195-1.fc42 updates 1.8 KiB elfutils-libelf x86_64 0.195-1.fc42 updates 1.2 MiB elfutils-libs x86_64 0.195-1.fc42 updates 687.5 KiB fedora-gpg-keys noarch 42-1 fedora 128.2 KiB fedora-release noarch 42-30 updates 0.0 B fedora-release-identity-basic noarch 42-30 updates 646.0 B fedora-repos noarch 42-1 fedora 4.9 KiB file x86_64 5.46-3.fc42 updates 100.2 KiB file-libs x86_64 5.46-3.fc42 updates 11.9 MiB filesystem x86_64 3.18-47.fc42 updates 112.0 B filesystem-srpm-macros noarch 3.18-47.fc42 updates 38.2 KiB fonts-srpm-macros noarch 1:2.0.5-22.fc42 updates 55.8 KiB forge-srpm-macros noarch 0.4.0-2.fc42 fedora 38.9 KiB fpc-srpm-macros noarch 1.3-14.fc42 fedora 144.0 B gdb-minimal x86_64 17.1-1.fc42 updates 13.6 MiB gdbm-libs x86_64 1:1.23-9.fc42 fedora 129.9 KiB ghc-srpm-macros noarch 1.9.2-2.fc42 fedora 779.0 B glibc x86_64 2.41-18.fc42 updates 6.6 MiB glibc-common x86_64 2.41-18.fc42 updates 1.0 MiB glibc-gconv-extra x86_64 2.41-18.fc42 updates 7.2 MiB gmp x86_64 1:6.3.0-4.fc42 fedora 811.3 KiB gnat-srpm-macros noarch 6-7.fc42 fedora 1.0 KiB gnulib-l10n noarch 20241231-1.fc42 updates 655.0 KiB go-srpm-macros noarch 3.8.0-1.fc42 updates 61.9 KiB jansson x86_64 2.14-2.fc42 fedora 93.1 KiB json-c x86_64 0.18-2.fc42 fedora 86.7 KiB kernel-srpm-macros noarch 1.0-25.fc42 fedora 1.9 KiB keyutils-libs x86_64 1.6.3-5.fc42 fedora 58.3 KiB krb5-libs x86_64 1.21.3-6.fc42 updates 2.3 MiB libacl x86_64 2.3.2-3.fc42 fedora 38.3 KiB libarchive x86_64 3.8.1-1.fc42 updates 955.2 KiB libattr x86_64 2.5.2-5.fc42 fedora 27.1 KiB libblkid x86_64 2.40.4-10.fc42 updates 262.4 KiB libbrotli x86_64 1.2.0-1.fc42 updates 865.4 KiB libcap x86_64 2.73-3.fc42 updates 207.1 KiB libcap-ng x86_64 0.9.3-1.fc42 updates 69.0 KiB libcom_err x86_64 1.47.2-3.fc42 fedora 67.1 KiB libcurl x86_64 8.11.1-8.fc42 updates 834.1 KiB libeconf x86_64 0.7.6-2.fc42 updates 64.6 KiB libevent x86_64 2.1.12-15.fc42 fedora 903.1 KiB libfdisk x86_64 2.40.4-10.fc42 updates 372.3 KiB libffi x86_64 3.4.6-5.fc42 fedora 82.3 KiB libgcc x86_64 15.2.1-7.fc42 updates 266.6 KiB libgomp x86_64 15.2.1-7.fc42 updates 541.5 KiB libidn2 x86_64 2.3.8-1.fc42 fedora 556.5 KiB libmount x86_64 2.40.4-10.fc42 updates 356.3 KiB libnghttp2 x86_64 1.64.0-3.fc42 fedora 170.4 KiB libpkgconf x86_64 2.3.0-2.fc42 fedora 78.1 KiB libpsl x86_64 0.21.5-5.fc42 fedora 76.4 KiB libselinux x86_64 3.8-3.fc42 updates 193.1 KiB libsemanage x86_64 3.8.1-2.fc42 updates 304.4 KiB libsepol x86_64 3.8-1.fc42 fedora 826.0 KiB libsmartcols x86_64 2.40.4-10.fc42 updates 176.4 KiB libssh x86_64 0.11.4-1.fc42 updates 571.8 KiB libssh-config noarch 0.11.4-1.fc42 updates 277.0 B libstdc++ x86_64 15.2.1-7.fc42 updates 2.8 MiB libtasn1 x86_64 4.20.0-1.fc42 fedora 176.3 KiB libtool-ltdl x86_64 2.5.4-4.fc42 fedora 70.1 KiB libunistring x86_64 1.1-9.fc42 fedora 1.7 MiB libuuid x86_64 2.40.4-10.fc42 updates 37.3 KiB libverto x86_64 0.3.2-10.fc42 fedora 25.4 KiB libxcrypt x86_64 4.5.2-1.fc42 updates 285.3 KiB libxml2 x86_64 2.12.10-1.fc42 fedora 1.7 MiB libzstd x86_64 1.5.7-1.fc42 fedora 807.8 KiB lua-libs x86_64 5.4.8-4.fc42 updates 281.9 KiB lua-srpm-macros noarch 1-15.fc42 fedora 1.3 KiB lz4-libs x86_64 1.10.0-2.fc42 fedora 157.4 KiB mpfr x86_64 4.2.2-1.fc42 fedora 828.8 KiB ncurses-base noarch 6.5-5.20250125.fc42 fedora 326.8 KiB ncurses-libs x86_64 6.5-5.20250125.fc42 fedora 946.3 KiB ocaml-srpm-macros noarch 10-4.fc42 fedora 1.9 KiB openblas-srpm-macros noarch 2-19.fc42 fedora 112.0 B openldap x86_64 2.6.13-1.fc42 updates 658.1 KiB openssl-libs x86_64 1:3.2.6-4.fc42 updates 7.8 MiB p11-kit x86_64 0.26.2-1.fc42 updates 2.5 MiB p11-kit-trust x86_64 0.26.2-1.fc42 updates 466.5 KiB package-notes-srpm-macros noarch 0.5-13.fc42 fedora 1.6 KiB pam-libs x86_64 1.7.0-7.fc42 updates 126.7 KiB pcre2 x86_64 10.46-1.fc42 updates 697.7 KiB pcre2-syntax noarch 10.46-1.fc42 updates 275.3 KiB perl-srpm-macros noarch 1-57.fc42 fedora 861.0 B pkgconf x86_64 2.3.0-2.fc42 fedora 88.5 KiB pkgconf-m4 noarch 2.3.0-2.fc42 fedora 14.4 KiB pkgconf-pkg-config x86_64 2.3.0-2.fc42 fedora 989.0 B popt x86_64 1.19-8.fc42 fedora 132.8 KiB publicsuffix-list-dafsa noarch 20260116-1.fc42 updates 70.4 KiB pyproject-srpm-macros noarch 1.19.0-1.fc42 updates 1.9 KiB python-srpm-macros noarch 3.13-5.fc42 updates 51.0 KiB qt5-srpm-macros noarch 5.15.18-1.fc42 updates 500.0 B qt6-srpm-macros noarch 6.10.2-1.fc42 updates 472.0 B readline x86_64 8.2-13.fc42 fedora 485.0 KiB rpm x86_64 4.20.1-1.fc42 fedora 3.1 MiB rpm-build-libs x86_64 4.20.1-1.fc42 fedora 206.6 KiB rpm-libs x86_64 4.20.1-1.fc42 fedora 721.8 KiB rpm-sequoia x86_64 1.10.1-1.fc42 updates 2.4 MiB rust-srpm-macros noarch 28.4-1.fc42 updates 5.5 KiB setup noarch 2.15.0-13.fc42 fedora 720.9 KiB sqlite-libs x86_64 3.47.2-5.fc42 updates 1.5 MiB systemd-libs x86_64 257.13-1.fc42 updates 2.2 MiB systemd-standalone-sysusers x86_64 257.13-1.fc42 updates 277.3 KiB tree-sitter-srpm-macros noarch 0.1.0-8.fc42 fedora 6.5 KiB util-linux-core x86_64 2.40.4-10.fc42 updates 1.4 MiB xxhash-libs x86_64 0.8.3-2.fc42 fedora 90.2 KiB xz-libs x86_64 1:5.8.1-4.fc42 updates 217.8 KiB zig-srpm-macros noarch 1-4.fc42 fedora 1.1 KiB zip x86_64 3.0-43.fc42 fedora 698.5 KiB zlib-ng-compat x86_64 2.2.5-2.fc42 updates 137.6 KiB zstd x86_64 1.5.7-1.fc42 fedora 1.7 MiB Installing groups: Buildsystem building group Transaction Summary: Installing: 149 packages Total size of inbound packages is 52 MiB. Need to download 52 MiB. After this operation, 178 MiB extra will be used (install 178 MiB, remove 0 B). [ 1/149] bzip2-0:1.0.8-20.fc42.x86_64 100% | 3.6 MiB/s | 52.1 KiB | 00m00s [ 2/149] cpio-0:2.15-4.fc42.x86_64 100% | 19.2 MiB/s | 294.6 KiB | 00m00s [ 3/149] bash-0:5.2.37-1.fc42.x86_64 100% | 69.5 MiB/s | 1.8 MiB | 00m00s [ 4/149] findutils-1:4.10.0-5.fc42.x86 100% | 44.9 MiB/s | 551.5 KiB | 00m00s [ 5/149] grep-0:3.11-10.fc42.x86_64 100% | 24.4 MiB/s | 300.1 KiB | 00m00s [ 6/149] gzip-0:1.13-3.fc42.x86_64 100% | 33.3 MiB/s | 170.4 KiB | 00m00s [ 7/149] info-0:7.2-3.fc42.x86_64 100% | 29.9 MiB/s | 183.8 KiB | 00m00s [ 8/149] rpm-build-0:4.20.1-1.fc42.x86 100% | 13.3 MiB/s | 81.8 KiB | 00m00s [ 9/149] sed-0:4.9-4.fc42.x86_64 100% | 62.0 MiB/s | 317.3 KiB | 00m00s [ 10/149] tar-2:1.35-5.fc42.x86_64 100% | 105.3 MiB/s | 862.5 KiB | 00m00s [ 11/149] shadow-utils-2:4.17.4-1.fc42. 100% | 132.2 MiB/s | 1.3 MiB | 00m00s [ 12/149] unzip-0:6.0-66.fc42.x86_64 100% | 22.5 MiB/s | 184.6 KiB | 00m00s [ 13/149] coreutils-0:9.6-8.fc42.x86_64 100% | 162.6 MiB/s | 1.1 MiB | 00m00s [ 14/149] fedora-release-common-0:42-30 100% | 4.8 MiB/s | 24.5 KiB | 00m00s [ 15/149] diffutils-0:3.12-1.fc42.x86_6 100% | 47.9 MiB/s | 392.6 KiB | 00m00s [ 16/149] glibc-minimal-langpack-0:2.41 100% | 15.6 MiB/s | 63.9 KiB | 00m00s [ 17/149] gawk-0:5.3.1-1.fc42.x86_64 100% | 134.9 MiB/s | 1.1 MiB | 00m00s [ 18/149] patch-0:2.8-1.fc42.x86_64 100% | 22.2 MiB/s | 113.5 KiB | 00m00s [ 19/149] redhat-rpm-config-0:342-4.fc4 100% | 13.2 MiB/s | 81.1 KiB | 00m00s [ 20/149] which-0:2.23-2.fc42.x86_64 100% | 10.2 MiB/s | 41.7 KiB | 00m00s [ 21/149] xz-1:5.8.1-4.fc42.x86_64 100% | 111.8 MiB/s | 572.5 KiB | 00m00s [ 22/149] util-linux-0:2.40.4-10.fc42.x 100% | 115.3 MiB/s | 1.2 MiB | 00m00s [ 23/149] bzip2-libs-0:1.0.8-20.fc42.x8 100% | 21.3 MiB/s | 43.6 KiB | 00m00s [ 24/149] ncurses-libs-0:6.5-5.20250125 100% | 46.7 MiB/s | 335.0 KiB | 00m00s [ 25/149] popt-0:1.19-8.fc42.x86_64 100% | 16.1 MiB/s | 65.9 KiB | 00m00s [ 26/149] readline-0:8.2-13.fc42.x86_64 100% | 52.5 MiB/s | 215.2 KiB | 00m00s [ 27/149] rpm-0:4.20.1-1.fc42.x86_64 100% | 107.1 MiB/s | 548.4 KiB | 00m00s [ 28/149] rpm-build-libs-0:4.20.1-1.fc4 100% | 19.5 MiB/s | 99.7 KiB | 00m00s [ 29/149] rpm-libs-0:4.20.1-1.fc42.x86_ 100% | 50.8 MiB/s | 312.0 KiB | 00m00s [ 30/149] zstd-0:1.5.7-1.fc42.x86_64 100% | 67.8 MiB/s | 485.9 KiB | 00m00s [ 31/149] libacl-0:2.3.2-3.fc42.x86_64 100% | 4.5 MiB/s | 23.0 KiB | 00m00s [ 32/149] setup-0:2.15.0-13.fc42.noarch 100% | 30.4 MiB/s | 155.8 KiB | 00m00s [ 33/149] gmp-1:6.3.0-4.fc42.x86_64 100% | 62.1 MiB/s | 317.7 KiB | 00m00s [ 34/149] libattr-0:2.5.2-5.fc42.x86_64 100% | 4.2 MiB/s | 17.1 KiB | 00m00s [ 35/149] coreutils-common-0:9.6-8.fc42 100% | 208.4 MiB/s | 2.1 MiB | 00m00s [ 36/149] fedora-repos-0:42-1.noarch 100% | 1.8 MiB/s | 9.2 KiB | 00m00s [ 37/149] mpfr-0:4.2.2-1.fc42.x86_64 100% | 67.4 MiB/s | 345.3 KiB | 00m00s [ 38/149] glibc-common-0:2.41-18.fc42.x 100% | 85.7 MiB/s | 351.0 KiB | 00m00s [ 39/149] ed-0:1.21-2.fc42.x86_64 100% | 16.0 MiB/s | 82.0 KiB | 00m00s [ 40/149] ansible-srpm-macros-0:1-17.1. 100% | 4.0 MiB/s | 20.3 KiB | 00m00s [ 41/149] fpc-srpm-macros-0:1.3-14.fc42 100% | 1.6 MiB/s | 8.0 KiB | 00m00s [ 42/149] forge-srpm-macros-0:0.4.0-2.f 100% | 3.2 MiB/s | 19.9 KiB | 00m00s [ 43/149] ghc-srpm-macros-0:1.9.2-2.fc4 100% | 2.2 MiB/s | 9.2 KiB | 00m00s [ 44/149] gnat-srpm-macros-0:6-7.fc42.n 100% | 4.2 MiB/s | 8.6 KiB | 00m00s [ 45/149] kernel-srpm-macros-0:1.0-25.f 100% | 4.8 MiB/s | 9.9 KiB | 00m00s [ 46/149] lua-srpm-macros-0:1-15.fc42.n 100% | 4.4 MiB/s | 8.9 KiB | 00m00s [ 47/149] ocaml-srpm-macros-0:10-4.fc42 100% | 4.5 MiB/s | 9.2 KiB | 00m00s [ 48/149] openblas-srpm-macros-0:2-19.f 100% | 3.8 MiB/s | 7.8 KiB | 00m00s [ 49/149] package-notes-srpm-macros-0:0 100% | 4.5 MiB/s | 9.3 KiB | 00m00s [ 50/149] perl-srpm-macros-0:1-57.fc42. 100% | 4.2 MiB/s | 8.5 KiB | 00m00s [ 51/149] tree-sitter-srpm-macros-0:0.1 100% | 5.5 MiB/s | 11.2 KiB | 00m00s [ 52/149] zig-srpm-macros-0:1-4.fc42.no 100% | 4.0 MiB/s | 8.2 KiB | 00m00s [ 53/149] zip-0:3.0-43.fc42.x86_64 100% | 64.3 MiB/s | 263.5 KiB | 00m00s [ 54/149] util-linux-core-0:2.40.4-10.f 100% | 129.1 MiB/s | 528.6 KiB | 00m00s [ 55/149] xz-libs-1:5.8.1-4.fc42.x86_64 100% | 27.5 MiB/s | 112.8 KiB | 00m00s [ 56/149] ncurses-base-0:6.5-5.20250125 100% | 21.5 MiB/s | 88.1 KiB | 00m00s [ 57/149] libzstd-0:1.5.7-1.fc42.x86_64 100% | 76.9 MiB/s | 314.8 KiB | 00m00s [ 58/149] lz4-libs-0:1.10.0-2.fc42.x86_ 100% | 19.1 MiB/s | 78.1 KiB | 00m00s [ 59/149] gnulib-l10n-0:20241231-1.fc42 100% | 48.9 MiB/s | 150.1 KiB | 00m00s [ 60/149] glibc-0:2.41-18.fc42.x86_64 100% | 245.6 MiB/s | 2.2 MiB | 00m00s [ 61/149] fedora-gpg-keys-0:42-1.noarch 100% | 13.2 MiB/s | 135.6 KiB | 00m00s [ 62/149] glibc-gconv-extra-0:2.41-18.f 100% | 134.1 MiB/s | 1.6 MiB | 00m00s [ 63/149] basesystem-0:11-22.fc42.noarc 100% | 1.4 MiB/s | 7.3 KiB | 00m00s [ 64/149] libgcc-0:15.2.1-7.fc42.x86_64 100% | 22.2 MiB/s | 136.5 KiB | 00m00s [ 65/149] zlib-ng-compat-0:2.2.5-2.fc42 100% | 19.3 MiB/s | 79.2 KiB | 00m00s [ 66/149] libstdc++-0:15.2.1-7.fc42.x86 100% | 180.3 MiB/s | 923.0 KiB | 00m00s [ 67/149] libselinux-0:3.8-3.fc42.x86_6 100% | 23.6 MiB/s | 96.7 KiB | 00m00s [ 68/149] libsepol-0:3.8-1.fc42.x86_64 100% | 85.2 MiB/s | 348.9 KiB | 00m00s [ 69/149] audit-libs-0:4.1.4-1.fc42.x86 100% | 33.8 MiB/s | 138.4 KiB | 00m00s [ 70/149] filesystem-0:3.18-47.fc42.x86 100% | 190.5 MiB/s | 1.3 MiB | 00m00s [ 71/149] libeconf-0:0.7.6-2.fc42.x86_6 100% | 8.6 MiB/s | 35.2 KiB | 00m00s [ 72/149] libsemanage-0:3.8.1-2.fc42.x8 100% | 24.1 MiB/s | 123.2 KiB | 00m00s [ 73/149] pam-libs-0:1.7.0-7.fc42.x86_6 100% | 27.7 MiB/s | 56.8 KiB | 00m00s [ 74/149] libxcrypt-0:4.5.2-1.fc42.x86_ 100% | 31.3 MiB/s | 128.1 KiB | 00m00s [ 75/149] libcap-0:2.73-3.fc42.x86_64 100% | 20.3 MiB/s | 83.1 KiB | 00m00s [ 76/149] lua-libs-0:5.4.8-4.fc42.x86_6 100% | 32.5 MiB/s | 133.2 KiB | 00m00s [ 77/149] rpm-sequoia-0:1.10.1-1.fc42.x 100% | 111.9 MiB/s | 916.7 KiB | 00m00s [ 78/149] sqlite-libs-0:3.47.2-5.fc42.x 100% | 105.2 MiB/s | 753.8 KiB | 00m00s [ 79/149] elfutils-libelf-0:0.195-1.fc4 100% | 28.9 MiB/s | 207.4 KiB | 00m00s [ 80/149] elfutils-libs-0:0.195-1.fc42. 100% | 66.3 MiB/s | 271.4 KiB | 00m00s [ 81/149] elfutils-0:0.195-1.fc42.x86_6 100% | 141.0 MiB/s | 577.3 KiB | 00m00s [ 82/149] elfutils-debuginfod-client-0: 100% | 11.2 MiB/s | 46.0 KiB | 00m00s [ 83/149] json-c-0:0.18-2.fc42.x86_64 100% | 11.0 MiB/s | 44.9 KiB | 00m00s [ 84/149] file-0:5.46-3.fc42.x86_64 100% | 15.8 MiB/s | 48.6 KiB | 00m00s [ 85/149] file-libs-0:5.46-3.fc42.x86_6 100% | 118.5 MiB/s | 849.5 KiB | 00m00s [ 86/149] libgomp-0:15.2.1-7.fc42.x86_6 100% | 61.3 MiB/s | 376.8 KiB | 00m00s [ 87/149] jansson-0:2.14-2.fc42.x86_64 100% | 11.2 MiB/s | 45.7 KiB | 00m00s [ 88/149] debugedit-0:5.1-7.fc42.x86_64 100% | 12.8 MiB/s | 78.8 KiB | 00m00s [ 89/149] libarchive-0:3.8.1-1.fc42.x86 100% | 82.3 MiB/s | 421.6 KiB | 00m00s [ 90/149] libxml2-0:2.12.10-1.fc42.x86_ 100% | 95.4 MiB/s | 683.7 KiB | 00m00s [ 91/149] pkgconf-pkg-config-0:2.3.0-2. 100% | 1.4 MiB/s | 9.9 KiB | 00m00s [ 92/149] binutils-0:2.44-12.fc42.x86_6 100% | 186.2 MiB/s | 5.8 MiB | 00m00s [ 93/149] pkgconf-0:2.3.0-2.fc42.x86_64 100% | 4.0 MiB/s | 44.9 KiB | 00m00s [ 94/149] pkgconf-m4-0:2.3.0-2.fc42.noa 100% | 1.4 MiB/s | 14.2 KiB | 00m00s [ 95/149] libpkgconf-0:2.3.0-2.fc42.x86 100% | 12.5 MiB/s | 38.4 KiB | 00m00s [ 96/149] curl-0:8.11.1-8.fc42.x86_64 100% | 53.3 MiB/s | 218.3 KiB | 00m00s [ 97/149] pcre2-0:10.46-1.fc42.x86_64 100% | 51.2 MiB/s | 262.2 KiB | 00m00s [ 98/149] pcre2-syntax-0:10.46-1.fc42.n 100% | 39.6 MiB/s | 162.0 KiB | 00m00s [ 99/149] libuuid-0:2.40.4-10.fc42.x86_ 100% | 8.4 MiB/s | 25.7 KiB | 00m00s [100/149] libblkid-0:2.40.4-10.fc42.x86 100% | 19.9 MiB/s | 122.3 KiB | 00m00s [101/149] libmount-0:2.40.4-10.fc42.x86 100% | 50.2 MiB/s | 154.1 KiB | 00m00s [102/149] libsmartcols-0:2.40.4-10.fc42 100% | 26.5 MiB/s | 81.3 KiB | 00m00s [103/149] libcap-ng-0:0.9.3-1.fc42.x86_ 100% | 11.0 MiB/s | 33.8 KiB | 00m00s [104/149] libfdisk-0:2.40.4-10.fc42.x86 100% | 38.6 MiB/s | 158.2 KiB | 00m00s [105/149] systemd-libs-0:257.13-1.fc42. 100% | 112.5 MiB/s | 806.2 KiB | 00m00s [106/149] build-reproducibility-srpm-ma 100% | 3.9 MiB/s | 11.9 KiB | 00m00s [107/149] dwz-0:0.16-1.fc42.x86_64 100% | 18.9 MiB/s | 135.5 KiB | 00m00s [108/149] add-determinism-0:0.6.0-3.fc4 100% | 87.8 MiB/s | 898.8 KiB | 00m00s [109/149] openssl-libs-1:3.2.6-4.fc42.x 100% | 145.7 MiB/s | 2.3 MiB | 00m00s [110/149] efi-srpm-macros-0:6-3.fc42.no 100% | 5.5 MiB/s | 22.5 KiB | 00m00s [111/149] filesystem-srpm-macros-0:3.18 100% | 8.5 MiB/s | 26.1 KiB | 00m00s [112/149] go-srpm-macros-0:3.8.0-1.fc42 100% | 13.8 MiB/s | 28.3 KiB | 00m00s [113/149] pyproject-srpm-macros-0:1.19. 100% | 6.5 MiB/s | 13.3 KiB | 00m00s [114/149] fonts-srpm-macros-1:2.0.5-22. 100% | 5.3 MiB/s | 27.2 KiB | 00m00s [115/149] qt5-srpm-macros-0:5.15.18-1.f 100% | 4.2 MiB/s | 8.6 KiB | 00m00s [116/149] python-srpm-macros-0:3.13-5.f 100% | 7.3 MiB/s | 22.5 KiB | 00m00s [117/149] qt6-srpm-macros-0:6.10.2-1.fc 100% | 4.4 MiB/s | 9.0 KiB | 00m00s [118/149] rust-srpm-macros-0:28.4-1.fc4 100% | 5.3 MiB/s | 10.8 KiB | 00m00s [119/149] ca-certificates-0:2025.2.80_v 100% | 158.3 MiB/s | 972.7 KiB | 00m00s [120/149] elfutils-default-yama-scope-0 100% | 2.7 MiB/s | 11.2 KiB | 00m00s [121/149] crypto-policies-0:20251125-1. 100% | 18.5 MiB/s | 94.7 KiB | 00m00s [122/149] libffi-0:3.4.6-5.fc42.x86_64 100% | 19.5 MiB/s | 39.9 KiB | 00m00s [123/149] p11-kit-0:0.26.2-1.fc42.x86_6 100% | 131.1 MiB/s | 536.8 KiB | 00m00s [124/149] libtasn1-0:4.20.0-1.fc42.x86_ 100% | 18.3 MiB/s | 75.0 KiB | 00m00s [125/149] p11-kit-trust-0:0.26.2-1.fc42 100% | 34.2 MiB/s | 139.9 KiB | 00m00s [126/149] fedora-release-0:42-30.noarch 100% | 3.3 MiB/s | 13.5 KiB | 00m00s [127/149] systemd-standalone-sysusers-0 100% | 36.5 MiB/s | 149.6 KiB | 00m00s [128/149] alternatives-0:1.33-3.fc42.x8 100% | 5.7 MiB/s | 40.8 KiB | 00m00s [129/149] xxhash-libs-0:0.8.3-2.fc42.x8 100% | 9.5 MiB/s | 39.1 KiB | 00m00s [130/149] fedora-release-identity-basic 100% | 3.5 MiB/s | 14.3 KiB | 00m00s [131/149] libcurl-0:8.11.1-8.fc42.x86_6 100% | 60.3 MiB/s | 370.2 KiB | 00m00s [132/149] libssh-0:0.11.4-1.fc42.x86_64 100% | 45.6 MiB/s | 233.3 KiB | 00m00s [133/149] gdb-minimal-0:17.1-1.fc42.x86 100% | 213.0 MiB/s | 4.5 MiB | 00m00s [134/149] libidn2-0:2.3.8-1.fc42.x86_64 100% | 17.1 MiB/s | 174.8 KiB | 00m00s [135/149] libnghttp2-0:1.64.0-3.fc42.x8 100% | 7.6 MiB/s | 77.7 KiB | 00m00s [136/149] libpsl-0:0.21.5-5.fc42.x86_64 100% | 15.6 MiB/s | 64.0 KiB | 00m00s [137/149] libssh-config-0:0.11.4-1.fc42 100% | 4.5 MiB/s | 9.2 KiB | 00m00s [138/149] libunistring-0:1.1-9.fc42.x86 100% | 106.0 MiB/s | 542.5 KiB | 00m00s [139/149] publicsuffix-list-dafsa-0:202 100% | 19.6 MiB/s | 60.3 KiB | 00m00s [140/149] krb5-libs-0:1.21.3-6.fc42.x86 100% | 123.7 MiB/s | 759.8 KiB | 00m00s [141/149] libcom_err-0:1.47.2-3.fc42.x8 100% | 6.6 MiB/s | 26.9 KiB | 00m00s [142/149] keyutils-libs-0:1.6.3-5.fc42. 100% | 6.2 MiB/s | 31.5 KiB | 00m00s [143/149] libverto-0:0.3.2-10.fc42.x86_ 100% | 10.2 MiB/s | 20.8 KiB | 00m00s [144/149] libbrotli-0:1.2.0-1.fc42.x86_ 100% | 85.3 MiB/s | 349.4 KiB | 00m00s [145/149] openldap-0:2.6.13-1.fc42.x86_ 100% | 63.3 MiB/s | 259.2 KiB | 00m00s [146/149] cyrus-sasl-lib-0:2.1.28-30.fc 100% | 129.1 MiB/s | 793.5 KiB | 00m00s [147/149] libtool-ltdl-0:2.5.4-4.fc42.x 100% | 17.7 MiB/s | 36.2 KiB | 00m00s [148/149] libevent-0:2.1.12-15.fc42.x86 100% | 50.8 MiB/s | 260.2 KiB | 00m00s [149/149] gdbm-libs-1:1.23-9.fc42.x86_6 100% | 18.6 MiB/s | 57.0 KiB | 00m00s -------------------------------------------------------------------------------- [149/149] Total 100% | 168.5 MiB/s | 52.4 MiB | 00m00s Running transaction Importing OpenPGP key 0x105EF944: UserID : "Fedora (42) " Fingerprint: B0F4950458F69E1150C6C5EDC8AC4916105EF944 From : file:///usr/share/distribution-gpg-keys/fedora/RPM-GPG-KEY-fedora-42-primary The key was successfully imported. [ 1/151] Verify package files 100% | 788.0 B/s | 149.0 B | 00m00s [ 2/151] Prepare transaction 100% | 3.8 KiB/s | 149.0 B | 00m00s [ 3/151] Installing libgcc-0:15.2.1-7. 100% | 262.0 MiB/s | 268.3 KiB | 00m00s [ 4/151] Installing publicsuffix-list- 100% | 0.0 B/s | 71.1 KiB | 00m00s [ 5/151] Installing libssh-config-0:0. 100% | 0.0 B/s | 816.0 B | 00m00s [ 6/151] Installing fedora-release-ide 100% | 0.0 B/s | 904.0 B | 00m00s [ 7/151] Installing fedora-gpg-keys-0: 100% | 42.7 MiB/s | 174.8 KiB | 00m00s [ 8/151] Installing fedora-repos-0:42- 100% | 0.0 B/s | 5.7 KiB | 00m00s [ 9/151] Installing fedora-release-com 100% | 23.9 MiB/s | 24.5 KiB | 00m00s [ 10/151] Installing fedora-release-0:4 100% | 9.3 KiB/s | 124.0 B | 00m00s >>> Running sysusers scriptlet: setup-0:2.15.0-13.fc42.noarch >>> Finished sysusers scriptlet: setup-0:2.15.0-13.fc42.noarch >>> Scriptlet output: >>> Creating group 'adm' with GID 4. >>> Creating group 'audio' with GID 63. >>> Creating group 'bin' with GID 1. >>> Creating group 'cdrom' with GID 11. >>> Creating group 'clock' with GID 103. >>> Creating group 'daemon' with GID 2. >>> Creating group 'dialout' with GID 18. >>> Creating group 'disk' with GID 6. >>> Creating group 'floppy' with GID 19. >>> Creating group 'ftp' with GID 50. >>> Creating group 'games' with GID 20. >>> Creating group 'input' with GID 104. >>> Creating group 'kmem' with GID 9. >>> Creating group 'kvm' with GID 36. >>> Creating group 'lock' with GID 54. >>> Creating group 'lp' with GID 7. >>> Creating group 'mail' with GID 12. >>> Creating group 'man' with GID 15. >>> Creating group 'mem' with GID 8. >>> Creating group 'nobody' with GID 65534. >>> Creating group 'render' with GID 105. >>> Creating group 'root' with GID 0. >>> Creating group 'sgx' with GID 106. >>> Creating group 'sys' with GID 3. >>> Creating group 'tape' with GID 33. >>> Creating group 'tty' with GID 5. >>> Creating group 'users' with GID 100. >>> Creating group 'utmp' with GID 22. >>> Creating group 'video' with GID 39. >>> Creating group 'wheel' with GID 10. >>> >>> Running sysusers scriptlet: setup-0:2.15.0-13.fc42.noarch >>> Finished sysusers scriptlet: setup-0:2.15.0-13.fc42.noarch >>> Scriptlet output: >>> Creating user 'adm' (adm) with UID 3 and GID 4. >>> Creating user 'bin' (bin) with UID 1 and GID 1. >>> Creating user 'daemon' (daemon) with UID 2 and GID 2. >>> Creating user 'ftp' (FTP User) with UID 14 and GID 50. >>> Creating user 'games' (games) with UID 12 and GID 20. >>> Creating user 'halt' (halt) with UID 7 and GID 0. >>> Creating user 'lp' (lp) with UID 4 and GID 7. >>> Creating user 'mail' (mail) with UID 8 and GID 12. >>> Creating user 'nobody' (Kernel Overflow User) with UID 65534 and GID 65534. >>> Creating user 'operator' (operator) with UID 11 and GID 0. >>> Creating user 'root' (Super User) with UID 0 and GID 0. >>> Creating user 'shutdown' (shutdown) with UID 6 and GID 0. >>> Creating user 'sync' (sync) with UID 5 and GID 0. >>> [ 11/151] Installing setup-0:2.15.0-13. 100% | 47.3 MiB/s | 726.7 KiB | 00m00s [ 12/151] Installing filesystem-0:3.18- 100% | 2.6 MiB/s | 212.8 KiB | 00m00s [ 13/151] Installing basesystem-0:11-22 100% | 0.0 B/s | 124.0 B | 00m00s [ 14/151] Installing rust-srpm-macros-0 100% | 0.0 B/s | 6.4 KiB | 00m00s [ 15/151] Installing qt6-srpm-macros-0: 100% | 0.0 B/s | 748.0 B | 00m00s [ 16/151] Installing qt5-srpm-macros-0: 100% | 0.0 B/s | 776.0 B | 00m00s [ 17/151] Installing pcre2-syntax-0:10. 100% | 271.2 MiB/s | 277.8 KiB | 00m00s [ 18/151] Installing pkgconf-m4-0:2.3.0 100% | 0.0 B/s | 14.8 KiB | 00m00s [ 19/151] Installing gnulib-l10n-0:2024 100% | 215.5 MiB/s | 661.9 KiB | 00m00s [ 20/151] Installing coreutils-common-0 100% | 384.6 MiB/s | 11.2 MiB | 00m00s [ 21/151] Installing ncurses-base-0:6.5 100% | 86.0 MiB/s | 352.2 KiB | 00m00s [ 22/151] Installing glibc-minimal-lang 100% | 0.0 B/s | 124.0 B | 00m00s [ 23/151] Installing ncurses-libs-0:6.5 100% | 232.6 MiB/s | 952.8 KiB | 00m00s [ 24/151] Installing glibc-0:2.41-18.fc 100% | 195.8 MiB/s | 6.7 MiB | 00m00s [ 25/151] Installing bash-0:5.2.37-1.fc 100% | 240.3 MiB/s | 8.2 MiB | 00m00s [ 26/151] Installing glibc-common-0:2.4 100% | 56.7 MiB/s | 1.0 MiB | 00m00s [ 27/151] Installing glibc-gconv-extra- 100% | 252.1 MiB/s | 7.3 MiB | 00m00s [ 28/151] Installing zlib-ng-compat-0:2 100% | 135.2 MiB/s | 138.4 KiB | 00m00s [ 29/151] Installing bzip2-libs-0:1.0.8 100% | 83.7 MiB/s | 85.7 KiB | 00m00s [ 30/151] Installing xz-libs-1:5.8.1-4. 100% | 213.8 MiB/s | 218.9 KiB | 00m00s [ 31/151] Installing libuuid-0:2.40.4-1 100% | 0.0 B/s | 38.3 KiB | 00m00s [ 32/151] Installing libblkid-0:2.40.4- 100% | 257.3 MiB/s | 263.5 KiB | 00m00s [ 33/151] Installing popt-0:1.19-8.fc42 100% | 68.1 MiB/s | 139.4 KiB | 00m00s [ 34/151] Installing readline-0:8.2-13. 100% | 237.9 MiB/s | 487.1 KiB | 00m00s [ 35/151] Installing gmp-1:6.3.0-4.fc42 100% | 397.2 MiB/s | 813.5 KiB | 00m00s [ 36/151] Installing libzstd-0:1.5.7-1. 100% | 395.1 MiB/s | 809.1 KiB | 00m00s [ 37/151] Installing elfutils-libelf-0: 100% | 386.0 MiB/s | 1.2 MiB | 00m00s [ 38/151] Installing libstdc++-0:15.2.1 100% | 354.6 MiB/s | 2.8 MiB | 00m00s [ 39/151] Installing libxcrypt-0:4.5.2- 100% | 281.3 MiB/s | 288.0 KiB | 00m00s [ 40/151] Installing libattr-0:2.5.2-5. 100% | 0.0 B/s | 28.1 KiB | 00m00s [ 41/151] Installing libacl-0:2.3.2-3.f 100% | 0.0 B/s | 39.2 KiB | 00m00s [ 42/151] Installing dwz-0:0.16-1.fc42. 100% | 20.1 MiB/s | 288.5 KiB | 00m00s [ 43/151] Installing mpfr-0:4.2.2-1.fc4 100% | 270.3 MiB/s | 830.4 KiB | 00m00s [ 44/151] Installing gawk-0:5.3.1-1.fc4 100% | 94.2 MiB/s | 1.7 MiB | 00m00s [ 45/151] Installing unzip-0:6.0-66.fc4 100% | 27.5 MiB/s | 393.8 KiB | 00m00s [ 46/151] Installing file-libs-0:5.46-3 100% | 658.7 MiB/s | 11.9 MiB | 00m00s [ 47/151] Installing file-0:5.46-3.fc42 100% | 5.0 MiB/s | 101.7 KiB | 00m00s [ 48/151] Installing crypto-policies-0: 100% | 32.8 MiB/s | 168.1 KiB | 00m00s [ 49/151] Installing lz4-libs-0:1.10.0- 100% | 154.7 MiB/s | 158.5 KiB | 00m00s [ 50/151] Installing libsepol-0:3.8-1.f 100% | 269.2 MiB/s | 827.0 KiB | 00m00s [ 51/151] Installing libeconf-0:0.7.6-2 100% | 64.7 MiB/s | 66.2 KiB | 00m00s [ 52/151] Installing lua-libs-0:5.4.8-4 100% | 276.7 MiB/s | 283.3 KiB | 00m00s [ 53/151] Installing pcre2-0:10.46-1.fc 100% | 341.4 MiB/s | 699.1 KiB | 00m00s [ 54/151] Installing libselinux-0:3.8-3 100% | 189.8 MiB/s | 194.3 KiB | 00m00s [ 55/151] Installing grep-0:3.11-10.fc4 100% | 55.7 MiB/s | 1.0 MiB | 00m00s [ 56/151] Installing findutils-1:4.10.0 100% | 98.6 MiB/s | 1.9 MiB | 00m00s [ 57/151] Installing sed-0:4.9-4.fc42.x 100% | 49.7 MiB/s | 865.5 KiB | 00m00s [ 58/151] Installing xz-1:5.8.1-4.fc42. 100% | 74.0 MiB/s | 1.3 MiB | 00m00s [ 59/151] Installing libmount-0:2.40.4- 100% | 348.9 MiB/s | 357.3 KiB | 00m00s [ 60/151] Installing libsmartcols-0:2.4 100% | 173.2 MiB/s | 177.4 KiB | 00m00s [ 61/151] Installing libcap-ng-0:0.9.3- 100% | 69.2 MiB/s | 70.9 KiB | 00m00s [ 62/151] Installing audit-libs-0:4.1.4 100% | 186.2 MiB/s | 381.4 KiB | 00m00s [ 63/151] Installing pam-libs-0:1.7.0-7 100% | 126.1 MiB/s | 129.1 KiB | 00m00s [ 64/151] Installing libcap-0:2.73-3.fc 100% | 14.8 MiB/s | 211.9 KiB | 00m00s [ 65/151] Installing systemd-libs-0:257 100% | 320.0 MiB/s | 2.2 MiB | 00m00s [ 66/151] Installing libffi-0:3.4.6-5.f 100% | 81.7 MiB/s | 83.7 KiB | 00m00s [ 67/151] Installing libtasn1-0:4.20.0- 100% | 173.9 MiB/s | 178.1 KiB | 00m00s [ 68/151] Installing p11-kit-0:0.26.2-1 100% | 119.4 MiB/s | 2.5 MiB | 00m00s [ 69/151] Installing alternatives-0:1.3 100% | 4.8 MiB/s | 63.8 KiB | 00m00s [ 70/151] Installing libunistring-0:1.1 100% | 345.3 MiB/s | 1.7 MiB | 00m00s [ 71/151] Installing libidn2-0:2.3.8-1. 100% | 183.2 MiB/s | 562.7 KiB | 00m00s [ 72/151] Installing libpsl-0:0.21.5-5. 100% | 75.7 MiB/s | 77.5 KiB | 00m00s [ 73/151] Installing p11-kit-trust-0:0. 100% | 21.8 MiB/s | 468.2 KiB | 00m00s [ 74/151] Installing openssl-libs-1:3.2 100% | 355.6 MiB/s | 7.8 MiB | 00m00s [ 75/151] Installing coreutils-0:9.6-8. 100% | 155.8 MiB/s | 5.5 MiB | 00m00s [ 76/151] Installing ca-certificates-0: 100% | 1.9 MiB/s | 2.5 MiB | 00m01s [ 77/151] Installing gzip-0:1.13-3.fc42 100% | 25.9 MiB/s | 398.4 KiB | 00m00s [ 78/151] Installing rpm-sequoia-0:1.10 100% | 338.4 MiB/s | 2.4 MiB | 00m00s [ 79/151] Installing libevent-0:2.1.12- 100% | 295.2 MiB/s | 906.9 KiB | 00m00s [ 80/151] Installing util-linux-core-0: 100% | 75.1 MiB/s | 1.4 MiB | 00m00s [ 81/151] Installing systemd-standalone 100% | 19.4 MiB/s | 277.9 KiB | 00m00s [ 82/151] Installing libsemanage-0:3.8. 100% | 149.5 MiB/s | 306.2 KiB | 00m00s [ 83/151] Installing shadow-utils-2:4.1 100% | 130.4 MiB/s | 4.0 MiB | 00m00s [ 84/151] Installing tar-2:1.35-5.fc42. 100% | 141.0 MiB/s | 3.0 MiB | 00m00s [ 85/151] Installing zstd-0:1.5.7-1.fc4 100% | 100.6 MiB/s | 1.7 MiB | 00m00s [ 86/151] Installing zip-0:3.0-43.fc42. 100% | 45.7 MiB/s | 702.4 KiB | 00m00s [ 87/151] Installing libfdisk-0:2.40.4- 100% | 364.7 MiB/s | 373.4 KiB | 00m00s [ 88/151] Installing libxml2-0:2.12.10- 100% | 99.8 MiB/s | 1.7 MiB | 00m00s [ 89/151] Installing libarchive-0:3.8.1 100% | 311.6 MiB/s | 957.1 KiB | 00m00s [ 90/151] Installing bzip2-0:1.0.8-20.f 100% | 7.8 MiB/s | 103.8 KiB | 00m00s [ 91/151] Installing sqlite-libs-0:3.47 100% | 378.1 MiB/s | 1.5 MiB | 00m00s [ 92/151] Installing rpm-libs-0:4.20.1- 100% | 353.2 MiB/s | 723.4 KiB | 00m00s [ 93/151] Installing add-determinism-0: 100% | 122.6 MiB/s | 2.3 MiB | 00m00s [ 94/151] Installing build-reproducibil 100% | 0.0 B/s | 1.0 KiB | 00m00s [ 95/151] Installing ed-0:1.21-2.fc42.x 100% | 11.2 MiB/s | 148.8 KiB | 00m00s [ 96/151] Installing patch-0:2.8-1.fc42 100% | 15.6 MiB/s | 224.3 KiB | 00m00s [ 97/151] Installing filesystem-srpm-ma 100% | 0.0 B/s | 38.9 KiB | 00m00s [ 98/151] Installing elfutils-default-y 100% | 408.6 KiB/s | 2.0 KiB | 00m00s [ 99/151] Installing elfutils-libs-0:0. 100% | 224.4 MiB/s | 689.3 KiB | 00m00s [100/151] Installing cpio-0:2.15-4.fc42 100% | 61.1 MiB/s | 1.1 MiB | 00m00s [101/151] Installing diffutils-0:3.12-1 100% | 86.7 MiB/s | 1.6 MiB | 00m00s [102/151] Installing json-c-0:0.18-2.fc 100% | 85.9 MiB/s | 88.0 KiB | 00m00s [103/151] Installing libgomp-0:15.2.1-7 100% | 265.0 MiB/s | 542.8 KiB | 00m00s [104/151] Installing rpm-build-libs-0:4 100% | 202.5 MiB/s | 207.4 KiB | 00m00s [105/151] Installing jansson-0:2.14-2.f 100% | 92.2 MiB/s | 94.4 KiB | 00m00s [106/151] Installing libpkgconf-0:2.3.0 100% | 77.4 MiB/s | 79.2 KiB | 00m00s [107/151] Installing pkgconf-0:2.3.0-2. 100% | 6.8 MiB/s | 91.0 KiB | 00m00s [108/151] Installing pkgconf-pkg-config 100% | 136.4 KiB/s | 1.8 KiB | 00m00s [109/151] Installing xxhash-libs-0:0.8. 100% | 89.4 MiB/s | 91.6 KiB | 00m00s [110/151] Installing libnghttp2-0:1.64. 100% | 167.5 MiB/s | 171.5 KiB | 00m00s [111/151] Installing keyutils-libs-0:1. 100% | 58.3 MiB/s | 59.7 KiB | 00m00s [112/151] Installing libcom_err-0:1.47. 100% | 66.6 MiB/s | 68.2 KiB | 00m00s [113/151] Installing libverto-0:0.3.2-1 100% | 26.6 MiB/s | 27.2 KiB | 00m00s [114/151] Installing krb5-libs-0:1.21.3 100% | 286.5 MiB/s | 2.3 MiB | 00m00s [115/151] Installing libssh-0:0.11.4-1. 100% | 280.2 MiB/s | 573.9 KiB | 00m00s [116/151] Installing libbrotli-0:1.2.0- 100% | 282.4 MiB/s | 867.7 KiB | 00m00s [117/151] Installing libtool-ltdl-0:2.5 100% | 69.6 MiB/s | 71.2 KiB | 00m00s [118/151] Installing gdbm-libs-1:1.23-9 100% | 128.5 MiB/s | 131.6 KiB | 00m00s [119/151] Installing cyrus-sasl-lib-0:2 100% | 121.3 MiB/s | 2.3 MiB | 00m00s [120/151] Installing openldap-0:2.6.13- 100% | 215.5 MiB/s | 661.9 KiB | 00m00s [121/151] Installing libcurl-0:8.11.1-8 100% | 271.9 MiB/s | 835.2 KiB | 00m00s [122/151] Installing elfutils-debuginfo 100% | 6.5 MiB/s | 86.4 KiB | 00m00s [123/151] Installing elfutils-0:0.195-1 100% | 140.0 MiB/s | 2.9 MiB | 00m00s [124/151] Installing binutils-0:2.44-12 100% | 311.3 MiB/s | 25.8 MiB | 00m00s [125/151] Installing gdb-minimal-0:17.1 100% | 277.6 MiB/s | 13.6 MiB | 00m00s [126/151] Installing debugedit-0:5.1-7. 100% | 13.6 MiB/s | 195.4 KiB | 00m00s [127/151] Installing curl-0:8.11.1-8.fc 100% | 19.2 MiB/s | 453.1 KiB | 00m00s [128/151] Installing rpm-0:4.20.1-1.fc4 100% | 92.5 MiB/s | 2.5 MiB | 00m00s [129/151] Installing lua-srpm-macros-0: 100% | 0.0 B/s | 1.9 KiB | 00m00s [130/151] Installing tree-sitter-srpm-m 100% | 0.0 B/s | 7.4 KiB | 00m00s [131/151] Installing zig-srpm-macros-0: 100% | 0.0 B/s | 1.7 KiB | 00m00s [132/151] Installing efi-srpm-macros-0: 100% | 0.0 B/s | 41.1 KiB | 00m00s [133/151] Installing perl-srpm-macros-0 100% | 0.0 B/s | 1.1 KiB | 00m00s [134/151] Installing package-notes-srpm 100% | 0.0 B/s | 2.0 KiB | 00m00s [135/151] Installing openblas-srpm-macr 100% | 0.0 B/s | 392.0 B | 00m00s [136/151] Installing ocaml-srpm-macros- 100% | 0.0 B/s | 2.2 KiB | 00m00s [137/151] Installing kernel-srpm-macros 100% | 0.0 B/s | 2.3 KiB | 00m00s [138/151] Installing gnat-srpm-macros-0 100% | 0.0 B/s | 1.3 KiB | 00m00s [139/151] Installing ghc-srpm-macros-0: 100% | 0.0 B/s | 1.0 KiB | 00m00s [140/151] Installing fpc-srpm-macros-0: 100% | 0.0 B/s | 420.0 B | 00m00s [141/151] Installing ansible-srpm-macro 100% | 0.0 B/s | 36.2 KiB | 00m00s [142/151] Installing forge-srpm-macros- 100% | 0.0 B/s | 40.3 KiB | 00m00s [143/151] Installing fonts-srpm-macros- 100% | 0.0 B/s | 57.0 KiB | 00m00s [144/151] Installing go-srpm-macros-0:3 100% | 0.0 B/s | 63.0 KiB | 00m00s [145/151] Installing python-srpm-macros 100% | 50.9 MiB/s | 52.2 KiB | 00m00s [146/151] Installing redhat-rpm-config- 100% | 93.9 MiB/s | 192.2 KiB | 00m00s [147/151] Installing rpm-build-0:4.20.1 100% | 11.5 MiB/s | 177.4 KiB | 00m00s [148/151] Installing pyproject-srpm-mac 100% | 2.4 MiB/s | 2.5 KiB | 00m00s [149/151] Installing util-linux-0:2.40. 100% | 96.3 MiB/s | 3.5 MiB | 00m00s [150/151] Installing which-0:2.23-2.fc4 100% | 6.0 MiB/s | 85.7 KiB | 00m00s [151/151] Installing info-0:7.2-3.fc42. 100% | 213.8 KiB/s | 358.3 KiB | 00m02s Complete! Finish: installing minimal buildroot with dnf5 Start: creating root cache Finish: creating root cache Finish: chroot init INFO: Installed packages: INFO: add-determinism-0.6.0-3.fc42.x86_64 alternatives-1.33-3.fc42.x86_64 ansible-srpm-macros-1-17.1.fc42.noarch audit-libs-4.1.4-1.fc42.x86_64 basesystem-11-22.fc42.noarch bash-5.2.37-1.fc42.x86_64 binutils-2.44-12.fc42.x86_64 build-reproducibility-srpm-macros-0.6.0-3.fc42.noarch bzip2-1.0.8-20.fc42.x86_64 bzip2-libs-1.0.8-20.fc42.x86_64 ca-certificates-2025.2.80_v9.0.304-1.1.fc42.noarch coreutils-9.6-8.fc42.x86_64 coreutils-common-9.6-8.fc42.x86_64 cpio-2.15-4.fc42.x86_64 crypto-policies-20251125-1.git3839d0e.fc42.noarch curl-8.11.1-8.fc42.x86_64 cyrus-sasl-lib-2.1.28-30.fc42.x86_64 debugedit-5.1-7.fc42.x86_64 diffutils-3.12-1.fc42.x86_64 dwz-0.16-1.fc42.x86_64 ed-1.21-2.fc42.x86_64 efi-srpm-macros-6-3.fc42.noarch elfutils-0.195-1.fc42.x86_64 elfutils-debuginfod-client-0.195-1.fc42.x86_64 elfutils-default-yama-scope-0.195-1.fc42.noarch elfutils-libelf-0.195-1.fc42.x86_64 elfutils-libs-0.195-1.fc42.x86_64 fedora-gpg-keys-42-1.noarch fedora-release-42-30.noarch fedora-release-common-42-30.noarch fedora-release-identity-basic-42-30.noarch fedora-repos-42-1.noarch file-5.46-3.fc42.x86_64 file-libs-5.46-3.fc42.x86_64 filesystem-3.18-47.fc42.x86_64 filesystem-srpm-macros-3.18-47.fc42.noarch findutils-4.10.0-5.fc42.x86_64 fonts-srpm-macros-2.0.5-22.fc42.noarch forge-srpm-macros-0.4.0-2.fc42.noarch fpc-srpm-macros-1.3-14.fc42.noarch gawk-5.3.1-1.fc42.x86_64 gdb-minimal-17.1-1.fc42.x86_64 gdbm-libs-1.23-9.fc42.x86_64 ghc-srpm-macros-1.9.2-2.fc42.noarch glibc-2.41-18.fc42.x86_64 glibc-common-2.41-18.fc42.x86_64 glibc-gconv-extra-2.41-18.fc42.x86_64 glibc-minimal-langpack-2.41-18.fc42.x86_64 gmp-6.3.0-4.fc42.x86_64 gnat-srpm-macros-6-7.fc42.noarch gnulib-l10n-20241231-1.fc42.noarch go-srpm-macros-3.8.0-1.fc42.noarch gpg-pubkey-105ef944-65ca83d1 grep-3.11-10.fc42.x86_64 gzip-1.13-3.fc42.x86_64 info-7.2-3.fc42.x86_64 jansson-2.14-2.fc42.x86_64 json-c-0.18-2.fc42.x86_64 kernel-srpm-macros-1.0-25.fc42.noarch keyutils-libs-1.6.3-5.fc42.x86_64 krb5-libs-1.21.3-6.fc42.x86_64 libacl-2.3.2-3.fc42.x86_64 libarchive-3.8.1-1.fc42.x86_64 libattr-2.5.2-5.fc42.x86_64 libblkid-2.40.4-10.fc42.x86_64 libbrotli-1.2.0-1.fc42.x86_64 libcap-2.73-3.fc42.x86_64 libcap-ng-0.9.3-1.fc42.x86_64 libcom_err-1.47.2-3.fc42.x86_64 libcurl-8.11.1-8.fc42.x86_64 libeconf-0.7.6-2.fc42.x86_64 libevent-2.1.12-15.fc42.x86_64 libfdisk-2.40.4-10.fc42.x86_64 libffi-3.4.6-5.fc42.x86_64 libgcc-15.2.1-7.fc42.x86_64 libgomp-15.2.1-7.fc42.x86_64 libidn2-2.3.8-1.fc42.x86_64 libmount-2.40.4-10.fc42.x86_64 libnghttp2-1.64.0-3.fc42.x86_64 libpkgconf-2.3.0-2.fc42.x86_64 libpsl-0.21.5-5.fc42.x86_64 libselinux-3.8-3.fc42.x86_64 libsemanage-3.8.1-2.fc42.x86_64 libsepol-3.8-1.fc42.x86_64 libsmartcols-2.40.4-10.fc42.x86_64 libssh-0.11.4-1.fc42.x86_64 libssh-config-0.11.4-1.fc42.noarch libstdc++-15.2.1-7.fc42.x86_64 libtasn1-4.20.0-1.fc42.x86_64 libtool-ltdl-2.5.4-4.fc42.x86_64 libunistring-1.1-9.fc42.x86_64 libuuid-2.40.4-10.fc42.x86_64 libverto-0.3.2-10.fc42.x86_64 libxcrypt-4.5.2-1.fc42.x86_64 libxml2-2.12.10-1.fc42.x86_64 libzstd-1.5.7-1.fc42.x86_64 lua-libs-5.4.8-4.fc42.x86_64 lua-srpm-macros-1-15.fc42.noarch lz4-libs-1.10.0-2.fc42.x86_64 mpfr-4.2.2-1.fc42.x86_64 ncurses-base-6.5-5.20250125.fc42.noarch ncurses-libs-6.5-5.20250125.fc42.x86_64 ocaml-srpm-macros-10-4.fc42.noarch openblas-srpm-macros-2-19.fc42.noarch openldap-2.6.13-1.fc42.x86_64 openssl-libs-3.2.6-4.fc42.x86_64 p11-kit-0.26.2-1.fc42.x86_64 p11-kit-trust-0.26.2-1.fc42.x86_64 package-notes-srpm-macros-0.5-13.fc42.noarch pam-libs-1.7.0-7.fc42.x86_64 patch-2.8-1.fc42.x86_64 pcre2-10.46-1.fc42.x86_64 pcre2-syntax-10.46-1.fc42.noarch perl-srpm-macros-1-57.fc42.noarch pkgconf-2.3.0-2.fc42.x86_64 pkgconf-m4-2.3.0-2.fc42.noarch pkgconf-pkg-config-2.3.0-2.fc42.x86_64 popt-1.19-8.fc42.x86_64 publicsuffix-list-dafsa-20260116-1.fc42.noarch pyproject-srpm-macros-1.19.0-1.fc42.noarch python-srpm-macros-3.13-5.fc42.noarch qt5-srpm-macros-5.15.18-1.fc42.noarch qt6-srpm-macros-6.10.2-1.fc42.noarch readline-8.2-13.fc42.x86_64 redhat-rpm-config-342-4.fc42.noarch rpm-4.20.1-1.fc42.x86_64 rpm-build-4.20.1-1.fc42.x86_64 rpm-build-libs-4.20.1-1.fc42.x86_64 rpm-libs-4.20.1-1.fc42.x86_64 rpm-sequoia-1.10.1-1.fc42.x86_64 rust-srpm-macros-28.4-1.fc42.noarch sed-4.9-4.fc42.x86_64 setup-2.15.0-13.fc42.noarch shadow-utils-4.17.4-1.fc42.x86_64 sqlite-libs-3.47.2-5.fc42.x86_64 systemd-libs-257.13-1.fc42.x86_64 systemd-standalone-sysusers-257.13-1.fc42.x86_64 tar-1.35-5.fc42.x86_64 tree-sitter-srpm-macros-0.1.0-8.fc42.noarch unzip-6.0-66.fc42.x86_64 util-linux-2.40.4-10.fc42.x86_64 util-linux-core-2.40.4-10.fc42.x86_64 which-2.23-2.fc42.x86_64 xxhash-libs-0.8.3-2.fc42.x86_64 xz-5.8.1-4.fc42.x86_64 xz-libs-5.8.1-4.fc42.x86_64 zig-srpm-macros-1-4.fc42.noarch zip-3.0-43.fc42.x86_64 zlib-ng-compat-2.2.5-2.fc42.x86_64 zstd-1.5.7-1.fc42.x86_64 Start: buildsrpm Start: rpmbuild -bs Building target platforms: x86_64 Building for target x86_64 setting SOURCE_DATE_EPOCH=1582243200 Wrote: /builddir/build/SRPMS/pyrtl-0.12-20260501.0.gita9688753.fc42.src.rpm Finish: rpmbuild -bs INFO: chroot_scan: 1 files copied to /var/lib/copr-rpmbuild/results/chroot_scan INFO: /var/lib/mock/fedora-42-x86_64-1778568247.373321/root/var/log/dnf5.log INFO: chroot_scan: creating tarball /var/lib/copr-rpmbuild/results/chroot_scan.tar.gz /bin/tar: Removing leading `/' from member names Finish: buildsrpm INFO: Done(/var/lib/copr-rpmbuild/workspace/workdir-qu16lywy/pyrtl/pyrtl.spec) Config(child) 0 minutes 18 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/pyrtl-0.12-20260501.0.gita9688753.fc42.src.rpm) Config(fedora-42-x86_64) Start(bootstrap): chroot init INFO: mounting tmpfs at /var/lib/mock/fedora-42-x86_64-bootstrap-1778568247.373321/root. INFO: reusing tmpfs at /var/lib/mock/fedora-42-x86_64-bootstrap-1778568247.373321/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-42-x86_64-1778568247.373321/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.20.1-1.fc42.x86_64 rpm-sequoia-1.10.1-1.fc42.x86_64 dnf5-5.2.18.0-3.fc42.x86_64 dnf5-plugins-5.2.18.0-3.fc42.x86_64 Finish: chroot init Start: build phase for pyrtl-0.12-20260501.0.gita9688753.fc42.src.rpm Start: build setup for pyrtl-0.12-20260501.0.gita9688753.fc42.src.rpm Building target platforms: x86_64 Building for target x86_64 setting SOURCE_DATE_EPOCH=1582243200 Wrote: /builddir/build/SRPMS/pyrtl-0.12-20260501.0.gita9688753.fc42.src.rpm Updating and loading repositories: Copr repository 100% | 76.5 KiB/s | 1.5 KiB | 00m00s fedora 100% | 79.7 KiB/s | 28.5 KiB | 00m00s updates 100% | 93.8 KiB/s | 6.6 KiB | 00m00s Repositories loaded. Package Arch Version Repository Size Installing: git x86_64 2.54.0-1.fc42 updates 57.7 KiB make x86_64 1:4.4.1-10.fc42 fedora 1.8 MiB pyproject-rpm-macros noarch 1.19.0-1.fc42 updates 116.7 KiB python3 x86_64 3.13.13-1.fc42 updates 28.7 KiB python3-hatch-vcs noarch 0.4.0-7.fc42 fedora 33.6 KiB python3-pip noarch 24.3.1-5.fc42 updates 11.3 MiB python3-pyparsing noarch 3.1.2-8.fc42 fedora 996.4 KiB python3-pytest noarch 8.3.4-2.fc42 fedora 20.8 MiB python3-rpm-macros noarch 3.13-5.fc42 updates 6.4 KiB python3-setuptools noarch 74.1.3-7.fc42 updates 8.4 MiB python3-wheel noarch 1:0.45.1-5.fc42 updates 541.8 KiB Installing dependencies: expat x86_64 2.7.3-1.fc42 updates 301.1 KiB git-core x86_64 2.54.0-1.fc42 updates 24.6 MiB git-core-doc noarch 2.54.0-1.fc42 updates 18.7 MiB groff-base x86_64 1.23.0-8.fc42 fedora 3.9 MiB less x86_64 685-1.fc42 updates 413.4 KiB libb2 x86_64 0.98.1-13.fc42 fedora 46.1 KiB libcbor x86_64 0.11.0-3.fc42 fedora 77.8 KiB libedit x86_64 3.1-56.20251016cvs.fc42 updates 240.2 KiB libfido2 x86_64 1.15.0-3.fc42 fedora 242.1 KiB mpdecimal x86_64 4.0.1-1.fc42 updates 217.2 KiB ncurses x86_64 6.5-5.20250125.fc42 fedora 608.1 KiB openssh x86_64 9.9p1-14.fc42 updates 1.4 MiB openssh-clients x86_64 9.9p1-14.fc42 updates 2.7 MiB perl-AutoLoader noarch 5.74-520.fc42 updates 20.5 KiB perl-B x86_64 1.89-520.fc42 updates 497.9 KiB perl-Carp noarch 1.54-512.fc42 fedora 46.6 KiB perl-Class-Struct noarch 0.68-520.fc42 updates 25.4 KiB perl-Data-Dumper x86_64 2.189-513.fc42 fedora 115.6 KiB perl-Digest noarch 1.20-512.fc42 fedora 35.3 KiB perl-Digest-MD5 x86_64 2.59-6.fc42 fedora 59.7 KiB perl-DynaLoader x86_64 1.56-520.fc42 updates 32.1 KiB perl-Encode x86_64 4:3.21-512.fc42 fedora 4.7 MiB perl-Errno x86_64 1.38-520.fc42 updates 8.3 KiB perl-Error noarch 1:0.17030-1.fc42 fedora 76.7 KiB perl-Exporter noarch 5.78-512.fc42 fedora 54.3 KiB perl-Fcntl x86_64 1.18-520.fc42 updates 48.9 KiB perl-File-Basename noarch 2.86-520.fc42 updates 14.0 KiB perl-File-Path noarch 2.18-512.fc42 fedora 63.5 KiB perl-File-Temp noarch 1:0.231.100-512.fc42 fedora 162.3 KiB perl-File-stat noarch 1.14-520.fc42 updates 12.5 KiB perl-FileHandle noarch 2.05-520.fc42 updates 9.3 KiB perl-Getopt-Long noarch 1:2.58-3.fc42 fedora 144.5 KiB perl-Getopt-Std noarch 1.14-520.fc42 updates 11.2 KiB perl-Git noarch 2.54.0-1.fc42 updates 64.4 KiB perl-HTTP-Tiny noarch 0.090-2.fc42 fedora 154.4 KiB perl-IO x86_64 1.55-520.fc42 updates 147.0 KiB perl-IO-Socket-IP noarch 0.43-2.fc42 fedora 100.3 KiB perl-IO-Socket-SSL noarch 2.089-2.fc42 fedora 703.3 KiB perl-IPC-Open3 noarch 1.22-520.fc42 updates 22.5 KiB perl-MIME-Base32 noarch 1.303-23.fc42 fedora 30.7 KiB perl-MIME-Base64 x86_64 3.16-512.fc42 fedora 42.0 KiB perl-Net-SSLeay x86_64 1.94-8.fc42 fedora 1.3 MiB perl-POSIX x86_64 2.20-520.fc42 updates 231.0 KiB perl-PathTools x86_64 3.91-513.fc42 fedora 180.0 KiB perl-Pod-Escapes noarch 1:1.07-512.fc42 fedora 24.9 KiB perl-Pod-Perldoc noarch 3.28.01-513.fc42 fedora 163.7 KiB perl-Pod-Simple noarch 1:3.45-512.fc42 fedora 560.8 KiB perl-Pod-Usage noarch 4:2.05-1.fc42 fedora 86.3 KiB perl-Scalar-List-Utils x86_64 5:1.70-1.fc42 updates 144.9 KiB perl-SelectSaver noarch 1.02-520.fc42 updates 2.2 KiB perl-Socket x86_64 4:2.038-512.fc42 fedora 119.9 KiB perl-Storable x86_64 1:3.32-512.fc42 fedora 232.3 KiB perl-Symbol noarch 1.09-520.fc42 updates 6.8 KiB perl-Term-ANSIColor noarch 5.01-513.fc42 fedora 97.5 KiB perl-Term-Cap noarch 1.18-512.fc42 fedora 29.3 KiB perl-TermReadKey x86_64 2.38-24.fc42 fedora 64.0 KiB perl-Text-ParseWords noarch 3.31-512.fc42 fedora 13.6 KiB perl-Text-Tabs+Wrap noarch 2024.001-512.fc42 fedora 22.6 KiB perl-Time-Local noarch 2:1.350-512.fc42 fedora 68.9 KiB perl-URI noarch 5.31-2.fc42 fedora 257.0 KiB perl-base noarch 2.27-520.fc42 updates 12.5 KiB perl-constant noarch 1.33-513.fc42 fedora 26.2 KiB perl-if noarch 0.61.000-520.fc42 updates 5.8 KiB perl-interpreter x86_64 4:5.40.4-520.fc42 updates 118.5 KiB perl-lib x86_64 0.65-520.fc42 updates 8.5 KiB perl-libnet noarch 3.15-513.fc42 fedora 289.4 KiB perl-libs x86_64 4:5.40.4-520.fc42 updates 9.8 MiB perl-locale noarch 1.12-520.fc42 updates 6.5 KiB perl-mro x86_64 1.29-520.fc42 updates 41.5 KiB perl-overload noarch 1.37-520.fc42 updates 71.5 KiB perl-overloading noarch 0.02-520.fc42 updates 4.8 KiB perl-parent noarch 1:0.244-2.fc42 fedora 10.3 KiB perl-podlators noarch 1:6.0.2-3.fc42 fedora 317.5 KiB perl-vars noarch 1.05-520.fc42 updates 3.9 KiB python-pip-wheel noarch 24.3.1-5.fc42 updates 1.2 MiB python-rpm-macros noarch 3.13-5.fc42 updates 22.1 KiB python3-hatchling noarch 1.29.0-1.fc42 updates 610.1 KiB python3-iniconfig noarch 1.1.1-25.fc42 fedora 20.6 KiB python3-libs x86_64 3.13.13-1.fc42 updates 40.3 MiB python3-packaging noarch 24.2-3.fc42 fedora 555.7 KiB python3-pathspec noarch 1.0.3-1.fc42 updates 350.3 KiB python3-pluggy noarch 1.5.0-2.fc42 fedora 192.7 KiB python3-setuptools_scm noarch 8.1.0-2.fc42 fedora 319.6 KiB python3-trove-classifiers noarch 2025.12.1.14-1.fc42 updates 95.1 KiB tzdata noarch 2025c-1.fc42 updates 1.6 MiB Transaction Summary: Installing: 96 packages Total size of inbound packages is 38 MiB. Need to download 38 MiB. After this operation, 164 MiB extra will be used (install 164 MiB, remove 0 B). [ 1/96] python3-hatch-vcs-0:0.4.0-7.fc4 100% | 2.1 MiB/s | 27.6 KiB | 00m00s [ 2/96] make-1:4.4.1-10.fc42.x86_64 100% | 31.8 MiB/s | 587.0 KiB | 00m00s [ 3/96] git-0:2.54.0-1.fc42.x86_64 100% | 10.0 MiB/s | 40.8 KiB | 00m00s [ 4/96] python3-pyparsing-0:3.1.2-8.fc4 100% | 15.1 MiB/s | 278.0 KiB | 00m00s [ 5/96] pyproject-rpm-macros-0:1.19.0-1 100% | 14.6 MiB/s | 44.9 KiB | 00m00s [ 6/96] python3-0:3.13.13-1.fc42.x86_64 100% | 9.8 MiB/s | 30.1 KiB | 00m00s [ 7/96] python3-rpm-macros-0:3.13-5.fc4 100% | 2.2 MiB/s | 11.2 KiB | 00m00s [ 8/96] python3-pip-0:24.3.1-5.fc42.noa 100% | 159.9 MiB/s | 2.7 MiB | 00m00s [ 9/96] python3-wheel-1:0.45.1-5.fc42.n 100% | 18.9 MiB/s | 174.3 KiB | 00m00s [10/96] perl-Getopt-Long-1:2.58-3.fc42. 100% | 31.1 MiB/s | 63.7 KiB | 00m00s [11/96] perl-PathTools-0:3.91-513.fc42. 100% | 28.4 MiB/s | 87.3 KiB | 00m00s [12/96] perl-TermReadKey-0:2.38-24.fc42 100% | 17.3 MiB/s | 35.4 KiB | 00m00s [13/96] git-core-0:2.54.0-1.fc42.x86_64 100% | 277.2 MiB/s | 5.3 MiB | 00m00s [14/96] python3-setuptools_scm-0:8.1.0- 100% | 4.2 MiB/s | 117.2 KiB | 00m00s [15/96] perl-Git-0:2.54.0-1.fc42.noarch 100% | 9.1 MiB/s | 37.3 KiB | 00m00s [16/96] git-core-doc-0:2.54.0-1.fc42.no 100% | 183.9 MiB/s | 3.1 MiB | 00m00s [17/96] python-rpm-macros-0:3.13-5.fc42 100% | 5.3 MiB/s | 16.4 KiB | 00m00s [18/96] python3-packaging-0:24.2-3.fc42 100% | 37.6 MiB/s | 154.0 KiB | 00m00s [19/96] perl-Exporter-0:5.78-512.fc42.n 100% | 7.6 MiB/s | 31.0 KiB | 00m00s [20/96] perl-Pod-Usage-4:2.05-1.fc42.no 100% | 9.9 MiB/s | 40.5 KiB | 00m00s [21/96] python3-libs-0:3.13.13-1.fc42.x 100% | 236.8 MiB/s | 9.2 MiB | 00m00s [22/96] perl-Text-ParseWords-0:3.31-512 100% | 1.6 MiB/s | 16.5 KiB | 00m00s [23/96] python3-setuptools-0:74.1.3-7.f 100% | 22.0 MiB/s | 2.0 MiB | 00m00s [24/96] perl-constant-0:1.33-513.fc42.n 100% | 7.5 MiB/s | 23.0 KiB | 00m00s [25/96] perl-Carp-0:1.54-512.fc42.noarc 100% | 7.0 MiB/s | 28.9 KiB | 00m00s [26/96] perl-Error-1:0.17030-1.fc42.noa 100% | 13.1 MiB/s | 40.4 KiB | 00m00s [27/96] expat-0:2.7.3-1.fc42.x86_64 100% | 29.3 MiB/s | 119.9 KiB | 00m00s [28/96] perl-Pod-Perldoc-0:3.28.01-513. 100% | 27.9 MiB/s | 85.8 KiB | 00m00s [29/96] perl-podlators-1:6.0.2-3.fc42.n 100% | 31.4 MiB/s | 128.6 KiB | 00m00s [30/96] groff-base-0:1.23.0-8.fc42.x86_ 100% | 157.8 MiB/s | 1.1 MiB | 00m00s [31/96] perl-File-Temp-1:0.231.100-512. 100% | 14.4 MiB/s | 59.2 KiB | 00m00s [32/96] perl-HTTP-Tiny-0:0.090-2.fc42.n 100% | 18.4 MiB/s | 56.5 KiB | 00m00s [33/96] perl-Pod-Simple-1:3.45-512.fc42 100% | 71.3 MiB/s | 219.0 KiB | 00m00s [34/96] perl-parent-1:0.244-2.fc42.noar 100% | 7.4 MiB/s | 15.2 KiB | 00m00s [35/96] perl-Term-ANSIColor-0:5.01-513. 100% | 23.3 MiB/s | 47.7 KiB | 00m00s [36/96] perl-Term-Cap-0:1.18-512.fc42.n 100% | 7.2 MiB/s | 22.2 KiB | 00m00s [37/96] perl-File-Path-0:2.18-512.fc42. 100% | 11.5 MiB/s | 35.2 KiB | 00m00s [38/96] perl-MIME-Base64-0:3.16-512.fc4 100% | 14.6 MiB/s | 29.9 KiB | 00m00s [39/96] perl-IO-Socket-SSL-0:2.089-2.fc 100% | 74.9 MiB/s | 230.2 KiB | 00m00s [40/96] perl-Net-SSLeay-0:1.94-8.fc42.x 100% | 122.4 MiB/s | 376.0 KiB | 00m00s [41/96] perl-Socket-4:2.038-512.fc42.x8 100% | 26.7 MiB/s | 54.8 KiB | 00m00s [42/96] perl-Time-Local-2:1.350-512.fc4 100% | 11.2 MiB/s | 34.5 KiB | 00m00s [43/96] perl-Pod-Escapes-1:1.07-512.fc4 100% | 6.5 MiB/s | 19.8 KiB | 00m00s [44/96] perl-Text-Tabs+Wrap-0:2024.001- 100% | 10.6 MiB/s | 21.8 KiB | 00m00s [45/96] ncurses-0:6.5-5.20250125.fc42.x 100% | 103.6 MiB/s | 424.5 KiB | 00m00s [46/96] perl-IO-Socket-IP-0:0.43-2.fc42 100% | 20.7 MiB/s | 42.4 KiB | 00m00s [47/96] perl-Data-Dumper-0:2.189-513.fc 100% | 27.7 MiB/s | 56.7 KiB | 00m00s [48/96] perl-URI-0:5.31-2.fc42.noarch 100% | 45.8 MiB/s | 140.7 KiB | 00m00s [49/96] perl-MIME-Base32-0:1.303-23.fc4 100% | 20.0 MiB/s | 20.5 KiB | 00m00s [50/96] perl-libnet-0:3.15-513.fc42.noa 100% | 41.8 MiB/s | 128.4 KiB | 00m00s [51/96] perl-Digest-MD5-0:2.59-6.fc42.x 100% | 17.6 MiB/s | 36.0 KiB | 00m00s [52/96] perl-Digest-0:1.20-512.fc42.noa 100% | 8.1 MiB/s | 24.9 KiB | 00m00s [53/96] python3-iniconfig-0:1.1.1-25.fc 100% | 3.5 MiB/s | 18.1 KiB | 00m00s [54/96] python3-pytest-0:8.3.4-2.fc42.n 100% | 179.2 MiB/s | 2.2 MiB | 00m00s [55/96] python3-pluggy-0:1.5.0-2.fc42.n 100% | 14.4 MiB/s | 58.9 KiB | 00m00s [56/96] mpdecimal-0:4.0.1-1.fc42.x86_64 100% | 31.6 MiB/s | 97.1 KiB | 00m00s [57/96] python-pip-wheel-0:24.3.1-5.fc4 100% | 133.7 MiB/s | 1.2 MiB | 00m00s [58/96] tzdata-0:2025c-1.fc42.noarch 100% | 87.1 MiB/s | 713.7 KiB | 00m00s [59/96] perl-interpreter-4:5.40.4-520.f 100% | 23.2 MiB/s | 71.4 KiB | 00m00s [60/96] perl-Errno-0:1.38-520.fc42.x86_ 100% | 4.6 MiB/s | 14.2 KiB | 00m00s [61/96] perl-libs-4:5.40.4-520.fc42.x86 100% | 155.5 MiB/s | 2.3 MiB | 00m00s [62/96] less-0:685-1.fc42.x86_64 100% | 32.4 MiB/s | 199.3 KiB | 00m00s [63/96] openssh-clients-0:9.9p1-14.fc42 100% | 149.6 MiB/s | 766.1 KiB | 00m00s [64/96] libfido2-0:1.15.0-3.fc42.x86_64 100% | 32.0 MiB/s | 98.4 KiB | 00m00s [65/96] libcbor-0:0.11.0-3.fc42.x86_64 100% | 16.2 MiB/s | 33.3 KiB | 00m00s [66/96] openssh-0:9.9p1-14.fc42.x86_64 100% | 114.0 MiB/s | 350.1 KiB | 00m00s [67/96] perl-IPC-Open3-0:1.22-520.fc42. 100% | 10.3 MiB/s | 21.1 KiB | 00m00s [68/96] perl-File-Basename-0:2.86-520.f 100% | 4.0 MiB/s | 16.4 KiB | 00m00s [69/96] perl-lib-0:0.65-520.fc42.x86_64 100% | 4.6 MiB/s | 14.2 KiB | 00m00s [70/96] perl-Encode-4:3.21-512.fc42.x86 100% | 210.5 MiB/s | 1.1 MiB | 00m00s [71/96] perl-Storable-1:3.32-512.fc42.x 100% | 48.6 MiB/s | 99.6 KiB | 00m00s [72/96] perl-POSIX-0:2.20-520.fc42.x86_ 100% | 31.5 MiB/s | 96.8 KiB | 00m00s [73/96] perl-Fcntl-0:1.18-520.fc42.x86_ 100% | 9.4 MiB/s | 29.0 KiB | 00m00s [74/96] perl-FileHandle-0:2.05-520.fc42 100% | 14.4 MiB/s | 14.7 KiB | 00m00s [75/96] perl-IO-0:1.55-520.fc42.x86_64 100% | 39.6 MiB/s | 81.0 KiB | 00m00s [76/96] python3-hatchling-0:1.29.0-1.fc 100% | 8.3 MiB/s | 220.9 KiB | 00m00s [77/96] perl-Symbol-0:1.09-520.fc42.noa 100% | 6.6 MiB/s | 13.4 KiB | 00m00s [78/96] perl-Scalar-List-Utils-5:1.70-1 100% | 18.2 MiB/s | 74.6 KiB | 00m00s [79/96] perl-base-0:2.27-520.fc42.noarc 100% | 3.8 MiB/s | 15.4 KiB | 00m00s [80/96] perl-overload-0:1.37-520.fc42.n 100% | 21.9 MiB/s | 44.8 KiB | 00m00s [81/96] perl-DynaLoader-0:1.56-520.fc42 100% | 12.3 MiB/s | 25.3 KiB | 00m00s [82/96] perl-vars-0:1.05-520.fc42.noarc 100% | 6.0 MiB/s | 12.2 KiB | 00m00s [83/96] perl-if-0:0.61.000-520.fc42.noa 100% | 3.2 MiB/s | 13.2 KiB | 00m00s [84/96] perl-AutoLoader-0:5.74-520.fc42 100% | 5.0 MiB/s | 20.4 KiB | 00m00s [85/96] perl-Getopt-Std-0:1.14-520.fc42 100% | 3.6 MiB/s | 14.9 KiB | 00m00s [86/96] perl-B-0:1.89-520.fc42.x86_64 100% | 43.0 MiB/s | 175.9 KiB | 00m00s [87/96] python3-pathspec-0:1.0.3-1.fc42 100% | 33.9 MiB/s | 104.2 KiB | 00m00s [88/96] perl-mro-0:1.29-520.fc42.x86_64 100% | 14.2 MiB/s | 29.0 KiB | 00m00s [89/96] perl-overloading-0:0.02-520.fc4 100% | 11.8 MiB/s | 12.1 KiB | 00m00s [90/96] perl-locale-0:1.12-520.fc42.noa 100% | 6.3 MiB/s | 12.8 KiB | 00m00s [91/96] perl-File-stat-0:1.14-520.fc42. 100% | 5.3 MiB/s | 16.3 KiB | 00m00s [92/96] perl-SelectSaver-0:1.02-520.fc4 100% | 10.7 MiB/s | 10.9 KiB | 00m00s [93/96] perl-Class-Struct-0:0.68-520.fc 100% | 20.8 MiB/s | 21.3 KiB | 00m00s [94/96] libedit-0:3.1-56.20251016cvs.fc 100% | 51.3 MiB/s | 105.1 KiB | 00m00s [95/96] libb2-0:0.98.1-13.fc42.x86_64 100% | 158.6 KiB/s | 25.4 KiB | 00m00s [96/96] python3-trove-classifiers-0:202 100% | 1.2 MiB/s | 29.0 KiB | 00m00s -------------------------------------------------------------------------------- [96/96] Total 100% | 136.0 MiB/s | 38.1 MiB | 00m00s Running transaction [ 1/98] Verify package files 100% | 761.0 B/s | 96.0 B | 00m00s [ 2/98] Prepare transaction 100% | 1.6 KiB/s | 96.0 B | 00m00s [ 3/98] Installing expat-0:2.7.3-1.fc42 100% | 19.7 MiB/s | 303.2 KiB | 00m00s [ 4/98] Installing python-rpm-macros-0: 100% | 0.0 B/s | 22.8 KiB | 00m00s [ 5/98] Installing python3-rpm-macros-0 100% | 0.0 B/s | 6.7 KiB | 00m00s [ 6/98] Installing libedit-0:3.1-56.202 100% | 236.2 MiB/s | 241.9 KiB | 00m00s [ 7/98] Installing libcbor-0:0.11.0-3.f 100% | 77.3 MiB/s | 79.2 KiB | 00m00s [ 8/98] Installing libfido2-0:1.15.0-3. 100% | 237.9 MiB/s | 243.6 KiB | 00m00s [ 9/98] Installing openssh-0:9.9p1-14.f 100% | 81.3 MiB/s | 1.4 MiB | 00m00s [10/98] Installing openssh-clients-0:9. 100% | 104.1 MiB/s | 2.7 MiB | 00m00s [11/98] Installing less-0:685-1.fc42.x8 100% | 27.1 MiB/s | 416.8 KiB | 00m00s [12/98] Installing git-core-0:2.54.0-1. 100% | 341.9 MiB/s | 24.6 MiB | 00m00s [13/98] Installing git-core-doc-0:2.54. 100% | 343.1 MiB/s | 18.9 MiB | 00m00s [14/98] Installing tzdata-0:2025c-1.fc4 100% | 61.1 MiB/s | 1.9 MiB | 00m00s [15/98] Installing python-pip-wheel-0:2 100% | 622.2 MiB/s | 1.2 MiB | 00m00s [16/98] Installing mpdecimal-0:4.0.1-1. 100% | 213.7 MiB/s | 218.8 KiB | 00m00s [17/98] Installing ncurses-0:6.5-5.2025 100% | 26.1 MiB/s | 614.7 KiB | 00m00s [18/98] Installing groff-base-0:1.23.0- 100% | 114.5 MiB/s | 3.9 MiB | 00m00s [19/98] Installing perl-Digest-0:1.20-5 100% | 36.2 MiB/s | 37.1 KiB | 00m00s [20/98] Installing perl-Digest-MD5-0:2. 100% | 60.1 MiB/s | 61.6 KiB | 00m00s [21/98] Installing perl-B-0:1.89-520.fc 100% | 244.8 MiB/s | 501.3 KiB | 00m00s [22/98] Installing perl-FileHandle-0:2. 100% | 0.0 B/s | 9.8 KiB | 00m00s [23/98] Installing perl-MIME-Base32-0:1 100% | 0.0 B/s | 32.2 KiB | 00m00s [24/98] Installing perl-Data-Dumper-0:2 100% | 114.7 MiB/s | 117.5 KiB | 00m00s [25/98] Installing perl-libnet-0:3.15-5 100% | 143.9 MiB/s | 294.7 KiB | 00m00s [26/98] Installing perl-AutoLoader-0:5. 100% | 0.0 B/s | 20.9 KiB | 00m00s [27/98] Installing perl-IO-Socket-IP-0: 100% | 99.8 MiB/s | 102.2 KiB | 00m00s [28/98] Installing perl-URI-0:5.31-2.fc 100% | 87.8 MiB/s | 269.6 KiB | 00m00s [29/98] Installing perl-Time-Local-2:1. 100% | 68.9 MiB/s | 70.6 KiB | 00m00s [30/98] Installing perl-Text-Tabs+Wrap- 100% | 0.0 B/s | 23.9 KiB | 00m00s [31/98] Installing perl-File-Path-0:2.1 100% | 0.0 B/s | 64.5 KiB | 00m00s [32/98] Installing perl-Pod-Escapes-1:1 100% | 0.0 B/s | 25.9 KiB | 00m00s [33/98] Installing perl-if-0:0.61.000-5 100% | 0.0 B/s | 6.2 KiB | 00m00s [34/98] Installing perl-Net-SSLeay-0:1. 100% | 271.7 MiB/s | 1.4 MiB | 00m00s [35/98] Installing perl-locale-0:1.12-5 100% | 0.0 B/s | 6.9 KiB | 00m00s [36/98] Installing perl-IO-Socket-SSL-0 100% | 345.4 MiB/s | 707.4 KiB | 00m00s [37/98] Installing perl-Term-ANSIColor- 100% | 96.9 MiB/s | 99.2 KiB | 00m00s [38/98] Installing perl-Term-Cap-0:1.18 100% | 29.9 MiB/s | 30.6 KiB | 00m00s [39/98] Installing perl-Pod-Simple-1:3. 100% | 278.5 MiB/s | 570.4 KiB | 00m00s [40/98] Installing perl-POSIX-0:2.20-52 100% | 226.7 MiB/s | 232.2 KiB | 00m00s [41/98] Installing perl-File-Temp-1:0.2 100% | 160.2 MiB/s | 164.1 KiB | 00m00s [42/98] Installing perl-IPC-Open3-0:1.2 100% | 0.0 B/s | 23.3 KiB | 00m00s [43/98] Installing perl-HTTP-Tiny-0:0.0 100% | 152.8 MiB/s | 156.4 KiB | 00m00s [44/98] Installing perl-Class-Struct-0: 100% | 0.0 B/s | 25.9 KiB | 00m00s [45/98] Installing perl-Socket-4:2.038- 100% | 119.1 MiB/s | 122.0 KiB | 00m00s [46/98] Installing perl-Symbol-0:1.09-5 100% | 0.0 B/s | 7.2 KiB | 00m00s [47/98] Installing perl-SelectSaver-0:1 100% | 0.0 B/s | 2.6 KiB | 00m00s [48/98] Installing perl-podlators-1:6.0 100% | 20.9 MiB/s | 321.4 KiB | 00m00s [49/98] Installing perl-Pod-Perldoc-0:3 100% | 11.8 MiB/s | 169.2 KiB | 00m00s [50/98] Installing perl-File-stat-0:1.1 100% | 0.0 B/s | 13.1 KiB | 00m00s [51/98] Installing perl-Text-ParseWords 100% | 0.0 B/s | 14.6 KiB | 00m00s [52/98] Installing perl-Fcntl-0:1.18-52 100% | 0.0 B/s | 50.0 KiB | 00m00s [53/98] Installing perl-base-0:2.27-520 100% | 0.0 B/s | 12.9 KiB | 00m00s [54/98] Installing perl-mro-0:1.29-520. 100% | 0.0 B/s | 42.5 KiB | 00m00s [55/98] Installing perl-overloading-0:0 100% | 0.0 B/s | 5.5 KiB | 00m00s [56/98] Installing perl-Pod-Usage-4:2.0 100% | 6.6 MiB/s | 87.9 KiB | 00m00s [57/98] Installing perl-IO-0:1.55-520.f 100% | 147.7 MiB/s | 151.2 KiB | 00m00s [58/98] Installing perl-constant-0:1.33 100% | 0.0 B/s | 27.4 KiB | 00m00s [59/98] Installing perl-parent-1:0.244- 100% | 0.0 B/s | 11.0 KiB | 00m00s [60/98] Installing perl-MIME-Base64-0:3 100% | 43.2 MiB/s | 44.3 KiB | 00m00s [61/98] Installing perl-Errno-0:1.38-52 100% | 0.0 B/s | 8.7 KiB | 00m00s [62/98] Installing perl-File-Basename-0 100% | 0.0 B/s | 14.6 KiB | 00m00s [63/98] Installing perl-Scalar-List-Uti 100% | 145.2 MiB/s | 148.6 KiB | 00m00s [64/98] Installing perl-vars-0:1.05-520 100% | 0.0 B/s | 4.3 KiB | 00m00s [65/98] Installing perl-Getopt-Std-0:1. 100% | 0.0 B/s | 11.7 KiB | 00m00s [66/98] Installing perl-overload-0:1.37 100% | 0.0 B/s | 71.9 KiB | 00m00s [67/98] Installing perl-Storable-1:3.32 100% | 228.4 MiB/s | 233.9 KiB | 00m00s [68/98] Installing perl-Getopt-Long-1:2 100% | 143.8 MiB/s | 147.2 KiB | 00m00s [69/98] Installing perl-Exporter-0:5.78 100% | 54.3 MiB/s | 55.6 KiB | 00m00s [70/98] Installing perl-Carp-0:1.54-512 100% | 0.0 B/s | 47.7 KiB | 00m00s [71/98] Installing perl-PathTools-0:3.9 100% | 180.2 MiB/s | 184.5 KiB | 00m00s [72/98] Installing perl-DynaLoader-0:1. 100% | 0.0 B/s | 32.5 KiB | 00m00s [73/98] Installing perl-Encode-4:3.21-5 100% | 180.5 MiB/s | 4.7 MiB | 00m00s [74/98] Installing perl-libs-4:5.40.4-5 100% | 260.4 MiB/s | 9.9 MiB | 00m00s [75/98] Installing perl-interpreter-4:5 100% | 8.4 MiB/s | 120.2 KiB | 00m00s [76/98] Installing perl-TermReadKey-0:2 100% | 64.6 MiB/s | 66.2 KiB | 00m00s [77/98] Installing perl-Error-1:0.17030 100% | 78.1 MiB/s | 80.0 KiB | 00m00s [78/98] Installing perl-lib-0:0.65-520. 100% | 0.0 B/s | 8.9 KiB | 00m00s [79/98] Installing perl-Git-0:2.54.0-1. 100% | 0.0 B/s | 65.4 KiB | 00m00s [80/98] Installing git-0:2.54.0-1.fc42. 100% | 0.0 B/s | 59.0 KiB | 00m00s [81/98] Installing libb2-0:0.98.1-13.fc 100% | 9.2 MiB/s | 47.2 KiB | 00m00s [82/98] Installing python3-libs-0:3.13. 100% | 327.7 MiB/s | 40.6 MiB | 00m00s [83/98] Installing python3-0:3.13.13-1. 100% | 2.1 MiB/s | 30.5 KiB | 00m00s [84/98] Installing python3-packaging-0: 100% | 184.9 MiB/s | 568.0 KiB | 00m00s [85/98] Installing python3-pluggy-0:1.5 100% | 64.8 MiB/s | 199.0 KiB | 00m00s [86/98] Installing python3-setuptools-0 100% | 237.8 MiB/s | 8.6 MiB | 00m00s [87/98] Installing python3-setuptools_s 100% | 110.5 MiB/s | 339.3 KiB | 00m00s [88/98] Installing python3-iniconfig-0: 100% | 23.0 MiB/s | 23.5 KiB | 00m00s [89/98] Installing python3-pathspec-0:1 100% | 121.2 MiB/s | 372.4 KiB | 00m00s [90/98] Installing python3-trove-classi 100% | 6.4 MiB/s | 98.7 KiB | 00m00s [91/98] Installing python3-hatchling-0: 100% | 32.2 MiB/s | 659.2 KiB | 00m00s [92/98] Installing python3-hatch-vcs-0: 100% | 12.9 MiB/s | 39.7 KiB | 00m00s [93/98] Installing python3-pytest-0:8.3 100% | 344.4 MiB/s | 21.0 MiB | 00m00s [94/98] Installing python3-pyparsing-0: 100% | 163.6 MiB/s | 1.0 MiB | 00m00s [95/98] Installing python3-pip-0:24.3.1 100% | 184.4 MiB/s | 11.6 MiB | 00m00s [96/98] Installing python3-wheel-1:0.45 100% | 32.3 MiB/s | 561.9 KiB | 00m00s [97/98] Installing pyproject-rpm-macros 100% | 115.9 MiB/s | 118.7 KiB | 00m00s [98/98] Installing make-1:4.4.1-10.fc42 100% | 24.7 MiB/s | 1.8 MiB | 00m00s Complete! Building target platforms: x86_64 Building for target x86_64 setting SOURCE_DATE_EPOCH=1582243200 Wrote: /builddir/build/SRPMS/pyrtl-0.12-20260501.0.gita9688753.fc42.src.rpm Updating and loading repositories: Copr repository 100% | 30.6 KiB/s | 1.5 KiB | 00m00s fedora 100% | 117.0 KiB/s | 28.5 KiB | 00m00s updates 100% | 72.1 KiB/s | 6.6 KiB | 00m00s Repositories loaded. Package "git-2.54.0-1.fc42.x86_64" is already installed. Package "make-1:4.4.1-10.fc42.x86_64" is already installed. Package "pyproject-rpm-macros-1.19.0-1.fc42.noarch" is already installed. Package "python3-3.13.13-1.fc42.x86_64" is already installed. Package "python3-hatch-vcs-0.4.0-7.fc42.noarch" is already installed. Package "python3-pip-24.3.1-5.fc42.noarch" is already installed. Package "python3-pyparsing-3.1.2-8.fc42.noarch" is already installed. Package "python3-pytest-8.3.4-2.fc42.noarch" is already installed. Package "python3-rpm-macros-3.13-5.fc42.noarch" is already installed. Package "python3-setuptools-74.1.3-7.fc42.noarch" is already installed. Package "python3-wheel-1:0.45.1-5.fc42.noarch" is already installed. Nothing to do. Finish: build setup for pyrtl-0.12-20260501.0.gita9688753.fc42.src.rpm Start: rpmbuild pyrtl-0.12-20260501.0.gita9688753.fc42.src.rpm Building target platforms: x86_64 Building for target x86_64 setting SOURCE_DATE_EPOCH=1582243200 Executing(%mkbuilddir): /bin/sh -e /var/tmp/rpm-tmp.3Hlg8K Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.HjyXMN + umask 022 + cd /builddir/build/BUILD/pyrtl-0.12-build + cd /builddir/build/BUILD/pyrtl-0.12-build + rm -rf pyrtl + /usr/bin/mkdir -p pyrtl + cd pyrtl + /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w . + git clone --depth 1 -n -b development https://github.com/UCSBarchlab/PyRTL.git . Cloning into '.'... + git fetch --depth 1 origin a9688753a3bf4aaac91cf6a664988d90f3624305 From https://github.com/UCSBarchlab/PyRTL * branch a9688753a3bf4aaac91cf6a664988d90f3624305 -> FETCH_HEAD + git reset --hard a9688753a3bf4aaac91cf6a664988d90f3624305 HEAD is now at a968875 Revert `isinstance` changes from 3a1bbd2 because they weren't always working. + git log --format=fuller commit a9688753a3bf4aaac91cf6a664988d90f3624305 Author: Jeremy Lau <30300826+fdxmw@users.noreply.github.com> AuthorDate: Fri May 1 16:57:58 2026 -0700 Commit: Jeremy Lau <30300826+fdxmw@users.noreply.github.com> CommitDate: Fri May 1 17:08:49 2026 -0700 Revert `isinstance` changes from 3a1bbd2 because they weren't always working. 3a1bbd2 attempted to make `wire_struct` and `wire_matrix` pass `isinstance` checks without a call to `as_wires`. This did not work reliably because there is only one `wire_struct` or `wire_matrix` class created for each type, and that one class would get registered as subclasses for different WireVector types. So this example did not work: ``` const_byte = Byte(Byte=0xAB) input_byte = Byte(concatenated_type=pyrtl.Input) # With 3a1bbd2, this would return True, but it should return False. isinstance(const_byte, pyrtl.Input) ``` This commit reverts broken the subclass registration. The safest way to check the actual type of a `wire_struct` or `wire_matrix` is to call `as_wires` to unwrap the `WrappedWireVector`. Added documentation and tests. + RPM_EC=0 ++ jobs -p + exit 0 Executing(%generate_buildrequires): /bin/sh -e /var/tmp/rpm-tmp.3UCJiB + umask 022 + cd /builddir/build/BUILD/pyrtl-0.12-build + cd pyrtl + RPM_EC=0 ++ jobs -p + exit 0 Wrote: /builddir/build/SRPMS/pyrtl-0.12-20260501.0.gita9688753.fc42.buildreqs.nosrc.rpm INFO: Going to install missing dynamic buildrequires Updating and loading repositories: Copr repository 100% | 69.5 KiB/s | 1.5 KiB | 00m00s fedora 100% | 76.9 KiB/s | 28.5 KiB | 00m00s updates 100% | 74.6 KiB/s | 6.6 KiB | 00m00s Repositories loaded. Package "git-2.54.0-1.fc42.x86_64" is already installed. Package "make-1:4.4.1-10.fc42.x86_64" is already installed. Package "pyproject-rpm-macros-1.19.0-1.fc42.noarch" is already installed. Package "python3-3.13.13-1.fc42.x86_64" is already installed. Package "python3-hatch-vcs-0.4.0-7.fc42.noarch" is already installed. Package "python3-pip-24.3.1-5.fc42.noarch" is already installed. Package "python3-pyparsing-3.1.2-8.fc42.noarch" is already installed. Package "python3-pytest-8.3.4-2.fc42.noarch" is already installed. Package "python3-rpm-macros-3.13-5.fc42.noarch" is already installed. Package "python3-setuptools-74.1.3-7.fc42.noarch" is already installed. Package "python3-wheel-1:0.45.1-5.fc42.noarch" is already installed. Nothing to do. Building target platforms: x86_64 Building for target x86_64 setting SOURCE_DATE_EPOCH=1582243200 Executing(%generate_buildrequires): /bin/sh -e /var/tmp/rpm-tmp.YPQc0U + umask 022 + cd /builddir/build/BUILD/pyrtl-0.12-build + cd pyrtl + RPM_EC=0 ++ jobs -p + exit 0 Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.XJH9y3 + umask 022 + cd /builddir/build/BUILD/pyrtl-0.12-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 pyrtl + mkdir -p /builddir/build/BUILD/pyrtl-0.12-build/.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 ' + 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 ' + 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 ' + 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 ' + VALAFLAGS=-g + 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' + 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 ' + LT_SYS_LIBRARY_PATH=/usr/lib64: + CC=gcc + CXX=g++ + TMPDIR=/builddir/build/BUILD/pyrtl-0.12-build/.pyproject-builddir + /usr/bin/python3 -Bs /usr/lib/rpm/redhat/pyproject_wheel.py /builddir/build/BUILD/pyrtl-0.12-build/pyproject-wheeldir Processing /builddir/build/BUILD/pyrtl-0.12-build/pyrtl Preparing metadata (pyproject.toml): started Running command Preparing metadata (pyproject.toml) /usr/lib/python3.13/site-packages/setuptools_scm/git.py:167: UserWarning: "/builddir/build/BUILD/pyrtl-0.12-build/pyrtl" is shallow and may cause errors warnings.warn(f'"{wd.path}" is shallow and may cause errors') Preparing metadata (pyproject.toml): finished with status 'done' Building wheels for collected packages: pyrtl Building wheel for pyrtl (pyproject.toml): started Running command Building wheel for pyrtl (pyproject.toml) Building wheel for pyrtl (pyproject.toml): finished with status 'done' Created wheel for pyrtl: filename=pyrtl-0.1.dev1+ga968875-py3-none-any.whl size=210204 sha256=2c84c6568fc68f9b6f723507330210ef60bf6f37850679b2488ce46b26936fa7 Stored in directory: /builddir/build/BUILD/pyrtl-0.12-build/.pyproject-builddir/pip-ephem-wheel-cache-s81s3h8k/wheels/4c/af/0e/dfafdde5d95fa2cfb4bbd9bde0c9a8c1ea4db2c7e202f1959d Successfully built pyrtl + RPM_EC=0 ++ jobs -p + exit 0 Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.bVHL2l + umask 022 + cd /builddir/build/BUILD/pyrtl-0.12-build + '[' /builddir/build/BUILD/pyrtl-0.12-build/BUILDROOT '!=' / ']' + rm -rf /builddir/build/BUILD/pyrtl-0.12-build/BUILDROOT ++ dirname /builddir/build/BUILD/pyrtl-0.12-build/BUILDROOT + mkdir -p /builddir/build/BUILD/pyrtl-0.12-build + mkdir /builddir/build/BUILD/pyrtl-0.12-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 pyrtl ++ ls /builddir/build/BUILD/pyrtl-0.12-build/pyproject-wheeldir/pyrtl-0.1.dev1+ga968875-py3-none-any.whl ++ xargs basename --multiple ++ sed -E 's/([^-]+)-([^-]+)-.+\.whl/\1==\2/' + specifier=pyrtl==0.1.dev1+ga968875 + '[' -z pyrtl==0.1.dev1+ga968875 ']' + TMPDIR=/builddir/build/BUILD/pyrtl-0.12-build/.pyproject-builddir + /usr/bin/python3 -m pip install --root /builddir/build/BUILD/pyrtl-0.12-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/pyrtl-0.12-build/pyproject-wheeldir pyrtl==0.1.dev1+ga968875 Using pip 24.3.1 from /usr/lib/python3.13/site-packages/pip (python 3.13) Looking in links: /builddir/build/BUILD/pyrtl-0.12-build/pyproject-wheeldir Processing /builddir/build/BUILD/pyrtl-0.12-build/pyproject-wheeldir/pyrtl-0.1.dev1+ga968875-py3-none-any.whl Installing collected packages: pyrtl Successfully installed pyrtl-0.1.dev1+ga968875 + '[' -d /builddir/build/BUILD/pyrtl-0.12-build/BUILDROOT/usr/bin ']' + rm -f /builddir/build/BUILD/pyrtl-0.12-build/pyrtl-0.12-20260501.0.gita9688753.fc42.x86_64-pyproject-ghost-distinfo + site_dirs=() + '[' -d /builddir/build/BUILD/pyrtl-0.12-build/BUILDROOT/usr/lib/python3.13/site-packages ']' + site_dirs+=("/usr/lib/python3.13/site-packages") + '[' /builddir/build/BUILD/pyrtl-0.12-build/BUILDROOT/usr/lib64/python3.13/site-packages '!=' /builddir/build/BUILD/pyrtl-0.12-build/BUILDROOT/usr/lib/python3.13/site-packages ']' + '[' -d /builddir/build/BUILD/pyrtl-0.12-build/BUILDROOT/usr/lib64/python3.13/site-packages ']' + for site_dir in ${site_dirs[@]} + for distinfo in /builddir/build/BUILD/pyrtl-0.12-build/BUILDROOT$site_dir/*.dist-info + echo '%ghost %dir /usr/lib/python3.13/site-packages/pyrtl-0.1.dev1+ga968875.dist-info' + sed -i s/pip/rpm/ /builddir/build/BUILD/pyrtl-0.12-build/BUILDROOT/usr/lib/python3.13/site-packages/pyrtl-0.1.dev1+ga968875.dist-info/INSTALLER + PYTHONPATH=/usr/lib/rpm/redhat + /usr/bin/python3 -B /usr/lib/rpm/redhat/pyproject_preprocess_record.py --buildroot /builddir/build/BUILD/pyrtl-0.12-build/BUILDROOT --record /builddir/build/BUILD/pyrtl-0.12-build/BUILDROOT/usr/lib/python3.13/site-packages/pyrtl-0.1.dev1+ga968875.dist-info/RECORD --output /builddir/build/BUILD/pyrtl-0.12-build/pyrtl-0.12-20260501.0.gita9688753.fc42.x86_64-pyproject-record + rm -fv /builddir/build/BUILD/pyrtl-0.12-build/BUILDROOT/usr/lib/python3.13/site-packages/pyrtl-0.1.dev1+ga968875.dist-info/RECORD removed '/builddir/build/BUILD/pyrtl-0.12-build/BUILDROOT/usr/lib/python3.13/site-packages/pyrtl-0.1.dev1+ga968875.dist-info/RECORD' + rm -fv /builddir/build/BUILD/pyrtl-0.12-build/BUILDROOT/usr/lib/python3.13/site-packages/pyrtl-0.1.dev1+ga968875.dist-info/REQUESTED removed '/builddir/build/BUILD/pyrtl-0.12-build/BUILDROOT/usr/lib/python3.13/site-packages/pyrtl-0.1.dev1+ga968875.dist-info/REQUESTED' ++ wc -l /builddir/build/BUILD/pyrtl-0.12-build/pyrtl-0.12-20260501.0.gita9688753.fc42.x86_64-pyproject-ghost-distinfo ++ cut -f1 '-d ' + lines=1 + '[' 1 -ne 1 ']' + rm -rf /builddir/build/BUILD/pyrtl-0.12-build/BUILDROOT//usr/lib/python3.13/site-packages/tests + /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/pyrtl-0.12-build/BUILDROOT/usr/lib/python3.13 using python3.13 + /usr/lib/rpm/redhat/brp-python-hardlink + /usr/bin/add-determinism --brp -j4 /builddir/build/BUILD/pyrtl-0.12-build/BUILDROOT /builddir/build/BUILD/pyrtl-0.12-build/BUILDROOT/usr/lib/python3.13/site-packages/pyrtl/__pycache__/transform.cpython-313.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/pyrtl-0.12-build/BUILDROOT/usr/lib/python3.13/site-packages/pyrtl/__pycache__/visualization.cpython-313.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/pyrtl-0.12-build/BUILDROOT/usr/lib/python3.13/site-packages/pyrtl/__pycache__/pyrtlexceptions.cpython-313.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/pyrtl-0.12-build/BUILDROOT/usr/lib/python3.13/site-packages/pyrtl/__pycache__/wire.cpython-313.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/pyrtl-0.12-build/BUILDROOT/usr/lib/python3.13/site-packages/pyrtl/__pycache__/passes.cpython-313.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/pyrtl-0.12-build/BUILDROOT/usr/lib/python3.13/site-packages/pyrtl/__pycache__/simulation.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/pyrtl-0.12-build/BUILDROOT/usr/lib/python3.13/site-packages/pyrtl/__pycache__/memory.cpython-313.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/pyrtl-0.12-build/BUILDROOT/usr/lib/python3.13/site-packages/pyrtl/__pycache__/gate_graph.cpython-313.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/pyrtl-0.12-build/BUILDROOT/usr/lib/python3.13/site-packages/pyrtl/__pycache__/helperfuncs.cpython-313.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/pyrtl-0.12-build/BUILDROOT/usr/lib/python3.13/site-packages/pyrtl/__pycache__/conditional.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/pyrtl-0.12-build/BUILDROOT/usr/lib/python3.13/site-packages/pyrtl/__pycache__/simulation.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/pyrtl-0.12-build/BUILDROOT/usr/lib/python3.13/site-packages/pyrtl/__pycache__/conditional.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/pyrtl-0.12-build/BUILDROOT/usr/lib/python3.13/site-packages/pyrtl/__pycache__/corecircuits.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/pyrtl-0.12-build/BUILDROOT/usr/lib/python3.13/site-packages/pyrtl/__pycache__/corecircuits.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/pyrtl-0.12-build/BUILDROOT/usr/lib/python3.13/site-packages/pyrtl/__pycache__/compilesim.cpython-313.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/pyrtl-0.12-build/BUILDROOT/usr/lib/python3.13/site-packages/pyrtl/__pycache__/importexport.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/pyrtl-0.12-build/BUILDROOT/usr/lib/python3.13/site-packages/pyrtl/__pycache__/__init__.cpython-313.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/pyrtl-0.12-build/BUILDROOT/usr/lib/python3.13/site-packages/pyrtl/rtllib/__pycache__/testingutils.cpython-313.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/pyrtl-0.12-build/BUILDROOT/usr/lib/python3.13/site-packages/pyrtl/__pycache__/core.cpython-313.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/pyrtl-0.12-build/BUILDROOT/usr/lib/python3.13/site-packages/pyrtl/__pycache__/analysis.cpython-313.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/pyrtl-0.12-build/BUILDROOT/usr/lib/python3.13/site-packages/pyrtl/rtllib/__pycache__/muxes.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/pyrtl-0.12-build/BUILDROOT/usr/lib/python3.13/site-packages/pyrtl/rtllib/__pycache__/multipliers.cpython-313.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/pyrtl-0.12-build/BUILDROOT/usr/lib/python3.13/site-packages/pyrtl/rtllib/__pycache__/muxes.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/pyrtl-0.12-build/BUILDROOT/usr/lib/python3.13/site-packages/pyrtl/rtllib/__pycache__/prngs.cpython-313.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/pyrtl-0.12-build/BUILDROOT/usr/lib/python3.13/site-packages/pyrtl/rtllib/__pycache__/libutils.cpython-313.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/pyrtl-0.12-build/BUILDROOT/usr/lib/python3.13/site-packages/pyrtl/rtllib/__pycache__/barrel.cpython-313.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/pyrtl-0.12-build/BUILDROOT/usr/lib/python3.13/site-packages/pyrtl/rtllib/__pycache__/adders.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/pyrtl-0.12-build/BUILDROOT/usr/lib/python3.13/site-packages/pyrtl/rtllib/__pycache__/aes.cpython-313.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/pyrtl-0.12-build/BUILDROOT/usr/lib/python3.13/site-packages/pyrtl/rtllib/__pycache__/__init__.cpython-313.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/pyrtl-0.12-build/BUILDROOT/usr/lib/python3.13/site-packages/pyrtl/__pycache__/importexport.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/pyrtl-0.12-build/BUILDROOT/usr/lib/python3.13/site-packages/pyrtl/rtllib/pyrtlfloat/__pycache__/_types.cpython-313.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/pyrtl-0.12-build/BUILDROOT/usr/lib/python3.13/site-packages/pyrtl/rtllib/__pycache__/adders.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/pyrtl-0.12-build/BUILDROOT/usr/lib/python3.13/site-packages/pyrtl/rtllib/pyrtlfloat/__pycache__/floatoperations.cpython-313.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/pyrtl-0.12-build/BUILDROOT/usr/lib/python3.13/site-packages/pyrtl/rtllib/pyrtlfloat/__pycache__/_multiplication.cpython-313.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/pyrtl-0.12-build/BUILDROOT/usr/lib/python3.13/site-packages/pyrtl/rtllib/pyrtlfloat/__pycache__/__init__.cpython-313.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/pyrtl-0.12-build/BUILDROOT/usr/lib/python3.13/site-packages/pyrtl/rtllib/pyrtlfloat/__pycache__/_float_utils.cpython-313.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/pyrtl-0.12-build/BUILDROOT/usr/lib/python3.13/site-packages/pyrtl/rtllib/pyrtlfloat/__pycache__/_add_sub.cpython-313.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/pyrtl-0.12-build/BUILDROOT/usr/lib/python3.13/site-packages/pyrtl/rtllib/__pycache__/matrix.cpython-313.opt-1.pyc: rewriting with normalized contents Scanned 13 directories and 100 files, processed 38 inodes, 38 modified (12 replaced + 26 rewritten), 0 unsupported format, 0 errors Executing(%check): /bin/sh -e /var/tmp/rpm-tmp.v6KFLi + umask 022 + cd /builddir/build/BUILD/pyrtl-0.12-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 pyrtl + export PYTHONPATH=/builddir/build/BUILD/pyrtl-0.12-build/BUILDROOT/usr/lib/python3.13/site-packages + PYTHONPATH=/builddir/build/BUILD/pyrtl-0.12-build/BUILDROOT/usr/lib/python3.13/site-packages + python3 -m pytest -vv tests ============================= test session starts ============================== platform linux -- Python 3.13.13, pytest-8.3.4, pluggy-1.5.0 -- /usr/bin/python3 cachedir: .pytest_cache rootdir: /builddir/build/BUILD/pyrtl-0.12-build/pyrtl configfile: pyproject.toml collecting ... collected 1270 items / 1 skipped tests/rtllib/test_adders.py::TestDocTests::test_doctests PASSED [ 0%] tests/rtllib/test_adders.py::TestAdders::test_carry_save_1 PASSED [ 0%] tests/rtllib/test_adders.py::TestAdders::test_carrylookahead_1 PASSED [ 0%] tests/rtllib/test_adders.py::TestAdders::test_fast_group_adder_1 PASSED [ 0%] tests/rtllib/test_adders.py::TestAdders::test_kogge_stone_1 PASSED [ 0%] tests/rtllib/test_adders.py::TestAdders::test_ripple_1 PASSED [ 0%] tests/rtllib/test_aes.py::TestAESDecrypt::test_aes_full PASSED [ 0%] tests/rtllib/test_aes.py::TestAESDecrypt::test_aes_state_machine PASSED [ 0%] tests/rtllib/test_aes.py::TestAESDecrypt::test_inv_mix_columns PASSED [ 0%] tests/rtllib/test_aes.py::TestAESDecrypt::test_inv_shift_rows PASSED [ 0%] tests/rtllib/test_aes.py::TestAESDecrypt::test_inv_sub_bytes PASSED [ 0%] tests/rtllib/test_aes.py::TestAESEncrypt::test_aes_full PASSED [ 0%] tests/rtllib/test_aes.py::TestAESEncrypt::test_aes_state_machine PASSED [ 1%] tests/rtllib/test_aes.py::TestAESEncrypt::test_mix_columns PASSED [ 1%] tests/rtllib/test_aes.py::TestAESEncrypt::test_shift_rows PASSED [ 1%] tests/rtllib/test_aes.py::TestAESEncrypt::test_sub_bytes PASSED [ 1%] tests/rtllib/test_barrel.py::TestDocTests::test_doctests PASSED [ 1%] tests/rtllib/test_barrel.py::TestBarrel::test_shift_left PASSED [ 1%] tests/rtllib/test_barrel.py::TestBarrel::test_shift_right PASSED [ 1%] tests/rtllib/test_libutils.py::TestPartitionWire::test_failing_partition PASSED [ 1%] tests/rtllib/test_libutils.py::TestPartitionWire::test_partition_sim PASSED [ 1%] tests/rtllib/test_libutils.py::TestPartitionWire::test_successful_partition PASSED [ 1%] tests/rtllib/test_libutils.py::TestStringConversion::test_binary_conversion PASSED [ 1%] tests/rtllib/test_libutils.py::TestStringConversion::test_empty PASSED [ 1%] tests/rtllib/test_libutils.py::TestStringConversion::test_invalid_bin_str PASSED [ 1%] tests/rtllib/test_libutils.py::TestStringConversion::test_invalid_str PASSED [ 2%] tests/rtllib/test_libutils.py::TestStringConversion::test_multiline PASSED [ 2%] tests/rtllib/test_libutils.py::TestStringConversion::test_no_override PASSED [ 2%] tests/rtllib/test_libutils.py::TestStringConversion::test_simple_conversion PASSED [ 2%] tests/rtllib/test_libutils.py::TestTwosComp::test_inverse_functionality PASSED [ 2%] tests/rtllib/test_libutils.py::TestTwosComp::test_low_bw_error PASSED [ 2%] tests/rtllib/test_libutils.py::TestTwosComp::test_twos_comp_sim PASSED [ 2%] tests/rtllib/test_matrix.py::TestMatrixInit::test_init_basic PASSED [ 2%] tests/rtllib/test_matrix.py::TestMatrixInit::test_init_basic_wirevector PASSED [ 2%] tests/rtllib/test_matrix.py::TestMatrixInit::test_init_fail_bad_number_of_columns PASSED [ 2%] tests/rtllib/test_matrix.py::TestMatrixInit::test_init_fail_bad_number_of_rows PASSED [ 2%] tests/rtllib/test_matrix.py::TestMatrixInit::test_init_fail_int_instead_of_matrix PASSED [ 2%] tests/rtllib/test_matrix.py::TestMatrixInit::test_init_fail_negative_bits PASSED [ 2%] tests/rtllib/test_matrix.py::TestMatrixInit::test_init_fail_negative_column PASSED [ 3%] tests/rtllib/test_matrix.py::TestMatrixInit::test_init_fail_negative_row PASSED [ 3%] tests/rtllib/test_matrix.py::TestMatrixInit::test_init_fail_string_bit PASSED [ 3%] tests/rtllib/test_matrix.py::TestMatrixInit::test_init_fail_string_column PASSED [ 3%] tests/rtllib/test_matrix.py::TestMatrixInit::test_init_fail_string_row PASSED [ 3%] tests/rtllib/test_matrix.py::TestMatrixInit::test_init_fail_zero_bits PASSED [ 3%] tests/rtllib/test_matrix.py::TestMatrixInit::test_init_fail_zero_bits_wirevector PASSED [ 3%] tests/rtllib/test_matrix.py::TestMatrixInit::test_init_fail_zero_column PASSED [ 3%] tests/rtllib/test_matrix.py::TestMatrixInit::test_init_fail_zero_column_wirevector PASSED [ 3%] tests/rtllib/test_matrix.py::TestMatrixInit::test_init_fail_zero_row PASSED [ 3%] tests/rtllib/test_matrix.py::TestMatrixInit::test_init_fail_zero_row_wirevector PASSED [ 3%] tests/rtllib/test_matrix.py::TestMatrixInit::test_init_one_by_four PASSED [ 3%] tests/rtllib/test_matrix.py::TestMatrixInit::test_init_one_by_four_wirevector PASSED [ 4%] tests/rtllib/test_matrix.py::TestMatrixInit::test_init_random PASSED [ 4%] tests/rtllib/test_matrix.py::TestMatrixInit::test_init_random_wirevector PASSED [ 4%] tests/rtllib/test_matrix.py::TestMatrixInit::test_init_three_by_three PASSED [ 4%] tests/rtllib/test_matrix.py::TestMatrixInit::test_init_three_by_three_wirevector PASSED [ 4%] tests/rtllib/test_matrix.py::TestMatrixInit::test_init_wirevector_mismatch PASSED [ 4%] tests/rtllib/test_matrix.py::TestMatrixBits::test_bits_basic_change_bits PASSED [ 4%] tests/rtllib/test_matrix.py::TestMatrixBits::test_bits_basic_change_bits_trunicate PASSED [ 4%] tests/rtllib/test_matrix.py::TestMatrixBits::test_bits_fail_change_bits_negative PASSED [ 4%] tests/rtllib/test_matrix.py::TestMatrixBits::test_bits_fail_change_bits_string PASSED [ 4%] tests/rtllib/test_matrix.py::TestMatrixBits::test_bits_fail_change_bits_zero PASSED [ 4%] tests/rtllib/test_matrix.py::TestMatrixBits::test_bits_no_change PASSED [ 4%] tests/rtllib/test_matrix.py::TestMatrixGetItem::test_getitem_2_3_slice PASSED [ 4%] tests/rtllib/test_matrix.py::TestMatrixGetItem::test_getitem_2_by_2_slice PASSED [ 5%] tests/rtllib/test_matrix.py::TestMatrixGetItem::test_getitem_3_2_slice PASSED [ 5%] tests/rtllib/test_matrix.py::TestMatrixGetItem::test_getitem_3_by_3_slice PASSED [ 5%] tests/rtllib/test_matrix.py::TestMatrixGetItem::test_getitem_basic_case PASSED [ 5%] tests/rtllib/test_matrix.py::TestMatrixGetItem::test_getitem_fail_out_of_bounds_columns PASSED [ 5%] tests/rtllib/test_matrix.py::TestMatrixGetItem::test_getitem_fail_out_of_bounds_columns_negative PASSED [ 5%] tests/rtllib/test_matrix.py::TestMatrixGetItem::test_getitem_fail_out_of_bounds_columns_slice PASSED [ 5%] tests/rtllib/test_matrix.py::TestMatrixGetItem::test_getitem_fail_out_of_bounds_row_negative PASSED [ 5%] tests/rtllib/test_matrix.py::TestMatrixGetItem::test_getitem_fail_out_of_bounds_rows PASSED [ 5%] tests/rtllib/test_matrix.py::TestMatrixGetItem::test_getitem_fail_out_of_bounds_rows_negative PASSED [ 5%] tests/rtllib/test_matrix.py::TestMatrixGetItem::test_getitem_fail_out_of_bounds_rows_slice PASSED [ 5%] tests/rtllib/test_matrix.py::TestMatrixGetItem::test_getitem_fail_string_column_only PASSED [ 5%] tests/rtllib/test_matrix.py::TestMatrixGetItem::test_getitem_fail_string_columns PASSED [ 5%] tests/rtllib/test_matrix.py::TestMatrixGetItem::test_getitem_fail_string_rows PASSED [ 6%] tests/rtllib/test_matrix.py::TestMatrixGetItem::test_getitem_full PASSED [ 6%] tests/rtllib/test_matrix.py::TestMatrixGetItem::test_getitem_full_row PASSED [ 6%] tests/rtllib/test_matrix.py::TestMatrixGetItem::test_getitem_full_rows_with_slice_back PASSED [ 6%] tests/rtllib/test_matrix.py::TestMatrixGetItem::test_getitem_full_rows_with_slice_front PASSED [ 6%] tests/rtllib/test_matrix.py::TestMatrixGetItem::test_getitem_negative_in_tuple_returns_single PASSED [ 6%] tests/rtllib/test_matrix.py::TestMatrixGetItem::test_getitem_negative_in_tuple_with_slice_returns_column_1 PASSED [ 6%] tests/rtllib/test_matrix.py::TestMatrixGetItem::test_getitem_negative_in_tuple_with_slice_returns_column_2 PASSED [ 6%] tests/rtllib/test_matrix.py::TestMatrixGetItem::test_getitem_negative_in_tuple_with_slice_returns_column_3 PASSED [ 6%] tests/rtllib/test_matrix.py::TestMatrixGetItem::test_getitem_negative_in_tuple_with_slice_returns_row_1 PASSED [ 6%] tests/rtllib/test_matrix.py::TestMatrixGetItem::test_getitem_negative_in_tuple_with_slice_returns_row_2 PASSED [ 6%] tests/rtllib/test_matrix.py::TestMatrixGetItem::test_getitem_negative_in_tuple_with_slice_returns_row_3 PASSED [ 6%] tests/rtllib/test_matrix.py::TestMatrixGetItem::test_getitem_negative_returns_row_v1 PASSED [ 7%] tests/rtllib/test_matrix.py::TestMatrixGetItem::test_getitem_negative_returns_row_v2 PASSED [ 7%] tests/rtllib/test_matrix.py::TestMatrixGetItem::test_getitem_negative_returns_rows PASSED [ 7%] tests/rtllib/test_matrix.py::TestMatrixGetItem::test_getitem_negative_returns_single PASSED [ 7%] tests/rtllib/test_matrix.py::TestMatrixGetItem::test_getitem_with_slice_indices_raw PASSED [ 7%] tests/rtllib/test_matrix.py::TestMatrixGetItem::test_getitem_with_slice_indices_shorthand PASSED [ 7%] tests/rtllib/test_matrix.py::TestMatrixGetItem::test_getitem_with_tuple_indices PASSED [ 7%] tests/rtllib/test_matrix.py::TestMatrixSetItem::test_setitem_2_by_2 PASSED [ 7%] tests/rtllib/test_matrix.py::TestMatrixSetItem::test_setitem_2_by_3 PASSED [ 7%] tests/rtllib/test_matrix.py::TestMatrixSetItem::test_setitem_3_by_2 PASSED [ 7%] tests/rtllib/test_matrix.py::TestMatrixSetItem::test_setitem_3_by_3 PASSED [ 7%] tests/rtllib/test_matrix.py::TestMatrixSetItem::test_setitem_basic_case PASSED [ 7%] tests/rtllib/test_matrix.py::TestMatrixSetItem::test_setitem_fail_out_of_bounds_columns PASSED [ 7%] tests/rtllib/test_matrix.py::TestMatrixSetItem::test_setitem_fail_out_of_bounds_columns_negative PASSED [ 8%] tests/rtllib/test_matrix.py::TestMatrixSetItem::test_setitem_fail_out_of_bounds_columns_slice PASSED [ 8%] tests/rtllib/test_matrix.py::TestMatrixSetItem::test_setitem_fail_out_of_bounds_rows PASSED [ 8%] tests/rtllib/test_matrix.py::TestMatrixSetItem::test_setitem_fail_out_of_bounds_rows_negative PASSED [ 8%] tests/rtllib/test_matrix.py::TestMatrixSetItem::test_setitem_fail_out_of_bounds_rows_slice PASSED [ 8%] tests/rtllib/test_matrix.py::TestMatrixSetItem::test_setitem_fail_string_column PASSED [ 8%] tests/rtllib/test_matrix.py::TestMatrixSetItem::test_setitem_fail_string_row PASSED [ 8%] tests/rtllib/test_matrix.py::TestMatrixSetItem::test_setitem_fail_string_rows_only PASSED [ 8%] tests/rtllib/test_matrix.py::TestMatrixSetItem::test_setitem_fail_value_matrix_incorrect_columns PASSED [ 8%] tests/rtllib/test_matrix.py::TestMatrixSetItem::test_setitem_fail_value_matrix_incorrect_rows PASSED [ 8%] tests/rtllib/test_matrix.py::TestMatrixSetItem::test_setitem_fail_wire_for_matrix PASSED [ 8%] tests/rtllib/test_matrix.py::TestMatrixSetItem::test_setitem_full PASSED [ 8%] tests/rtllib/test_matrix.py::TestMatrixSetItem::test_setitem_full_row_item PASSED [ 8%] tests/rtllib/test_matrix.py::TestMatrixSetItem::test_setitem_full_rows_with_slice_back PASSED [ 9%] tests/rtllib/test_matrix.py::TestMatrixSetItem::test_setitem_full_rows_with_slice_front PASSED [ 9%] tests/rtllib/test_matrix.py::TestMatrixSetItem::test_setitem_negative PASSED [ 9%] tests/rtllib/test_matrix.py::TestMatrixSetItem::test_setitem_raw_int PASSED [ 9%] tests/rtllib/test_matrix.py::TestMatrixSetItem::test_setitem_row_with_negative_index_v1 PASSED [ 9%] tests/rtllib/test_matrix.py::TestMatrixSetItem::test_setitem_row_with_negative_index_v2 PASSED [ 9%] tests/rtllib/test_matrix.py::TestMatrixSetItem::test_setitem_rows_with_negative_index_slice PASSED [ 9%] tests/rtllib/test_matrix.py::TestMatrixSetItem::test_setitem_with_slice_indices_raw PASSED [ 9%] tests/rtllib/test_matrix.py::TestMatrixSetItem::test_setitem_with_slice_indices_shorthand PASSED [ 9%] tests/rtllib/test_matrix.py::TestMatrixSetItem::test_setitem_with_tuple_indices PASSED [ 9%] tests/rtllib/test_matrix.py::TestMatrixCopy::test_copy_basic PASSED [ 9%] tests/rtllib/test_matrix.py::TestMatrixCopy::test_copy_one_by_four PASSED [ 9%] tests/rtllib/test_matrix.py::TestMatrixCopy::test_copy_three_by_three PASSED [ 10%] tests/rtllib/test_matrix.py::TestMatrixTranspose::test_transpose_1_by_4 PASSED [ 10%] tests/rtllib/test_matrix.py::TestMatrixTranspose::test_transpose_3_by_3 PASSED [ 10%] tests/rtllib/test_matrix.py::TestMatrixTranspose::test_transpose_4_by_1 PASSED [ 10%] tests/rtllib/test_matrix.py::TestMatrixTranspose::test_transpose_basic PASSED [ 10%] tests/rtllib/test_matrix.py::TestMatrixReverse::test_reverse_1_by_4 PASSED [ 10%] tests/rtllib/test_matrix.py::TestMatrixReverse::test_reverse_3_by_3 PASSED [ 10%] tests/rtllib/test_matrix.py::TestMatrixReverse::test_reverse_4_by_1 PASSED [ 10%] tests/rtllib/test_matrix.py::TestMatrixReverse::test_reverse_basic PASSED [ 10%] tests/rtllib/test_matrix.py::TestMatrixAdd::test_add_2_by_3 PASSED [ 10%] tests/rtllib/test_matrix.py::TestMatrixAdd::test_add_3_by_2 PASSED [ 10%] tests/rtllib/test_matrix.py::TestMatrixAdd::test_add_3_by_3_different PASSED [ 10%] tests/rtllib/test_matrix.py::TestMatrixAdd::test_add_3_by_3_same PASSED [ 10%] tests/rtllib/test_matrix.py::TestMatrixAdd::test_add_basic_case PASSED [ 11%] tests/rtllib/test_matrix.py::TestMatrixAdd::test_add_fail_2_by_2_add_3_by_3 PASSED [ 11%] tests/rtllib/test_matrix.py::TestMatrixAdd::test_add_fail_3_by_3_add_2_by_3 PASSED [ 11%] tests/rtllib/test_matrix.py::TestMatrixAdd::test_add_fail_3_by_3_add_3_by_2 PASSED [ 11%] tests/rtllib/test_matrix.py::TestMatrixAdd::test_add_fail_add_one PASSED [ 11%] tests/rtllib/test_matrix.py::TestMatrixInplaceAdd::test_iadd_3_by_3_different PASSED [ 11%] tests/rtllib/test_matrix.py::TestMatrixInplaceAdd::test_iadd_3_by_3_same PASSED [ 11%] tests/rtllib/test_matrix.py::TestMatrixInplaceAdd::test_iadd_basic PASSED [ 11%] tests/rtllib/test_matrix.py::TestMatrixInplaceAdd::test_iadd_fail_3_by_3_add_2_by_3 PASSED [ 11%] tests/rtllib/test_matrix.py::TestMatrixInplaceAdd::test_iadd_fail_3_by_3_add_3_by_2 PASSED [ 11%] tests/rtllib/test_matrix.py::TestMatrixSub::test_sub_3_by_3_different PASSED [ 11%] tests/rtllib/test_matrix.py::TestMatrixSub::test_sub_3_by_3_same PASSED [ 11%] tests/rtllib/test_matrix.py::TestMatrixSub::test_sub_basic PASSED [ 11%] tests/rtllib/test_matrix.py::TestMatrixSub::test_sub_fail_3_by_3_sub_2_by_3 PASSED [ 12%] tests/rtllib/test_matrix.py::TestMatrixSub::test_sub_fail_3_by_3_sub_3_by_2 PASSED [ 12%] tests/rtllib/test_matrix.py::TestMatrixSub::test_sub_fail_int PASSED [ 12%] tests/rtllib/test_matrix.py::TestMatrixInplaceSub::test_isub_3_by_3_different_positive_result PASSED [ 12%] tests/rtllib/test_matrix.py::TestMatrixInplaceSub::test_isub_3_by_3_same PASSED [ 12%] tests/rtllib/test_matrix.py::TestMatrixInplaceSub::test_isub_basic PASSED [ 12%] tests/rtllib/test_matrix.py::TestMatrixInplaceSub::test_isub_fail_3_by_3_sub_2_by_3 PASSED [ 12%] tests/rtllib/test_matrix.py::TestMatrixInplaceSub::test_isub_fail_3_by_3_sub_3_by_2 PASSED [ 12%] tests/rtllib/test_matrix.py::TestMatrixMultiply::test_element_wise_multiply_2_by_3 PASSED [ 12%] tests/rtllib/test_matrix.py::TestMatrixMultiply::test_element_wise_multiply_3_by_2 PASSED [ 12%] tests/rtllib/test_matrix.py::TestMatrixMultiply::test_element_wise_multiply_3_by_3_different PASSED [ 12%] tests/rtllib/test_matrix.py::TestMatrixMultiply::test_element_wise_multiply_3_by_3_same PASSED [ 12%] tests/rtllib/test_matrix.py::TestMatrixMultiply::test_element_wise_multiply_basic PASSED [ 12%] tests/rtllib/test_matrix.py::TestMatrixMultiply::test_element_wise_multiply_fail_3_by_3_multiply_2_by_3 PASSED [ 13%] tests/rtllib/test_matrix.py::TestMatrixMultiply::test_element_wise_multiply_fail_3_by_3_multiply_3_by_2 PASSED [ 13%] tests/rtllib/test_matrix.py::TestMatrixMultiply::test_multiply_fail_int PASSED [ 13%] tests/rtllib/test_matrix.py::TestMatrixMultiply::test_multiply_scalar_1_by_4 PASSED [ 13%] tests/rtllib/test_matrix.py::TestMatrixMultiply::test_multiply_scalar_3_by_3 PASSED [ 13%] tests/rtllib/test_matrix.py::TestMatrixMultiply::test_multiply_scalar_4_by_1 PASSED [ 13%] tests/rtllib/test_matrix.py::TestMatrixMultiply::test_multiply_scalar_basic PASSED [ 13%] tests/rtllib/test_matrix.py::TestMatrixMultiply::test_multiply_scalar_basic_one PASSED [ 13%] tests/rtllib/test_matrix.py::TestMatrixMultiply::test_multiply_scalar_basic_zero PASSED [ 13%] tests/rtllib/test_matrix.py::TestMatrixInplaceMultiply::test_element_wise_imultiply_3_by_3_different PASSED [ 13%] tests/rtllib/test_matrix.py::TestMatrixInplaceMultiply::test_element_wise_imultiply_3_by_3_same PASSED [ 13%] tests/rtllib/test_matrix.py::TestMatrixInplaceMultiply::test_element_wise_imultiply_basic PASSED [ 13%] tests/rtllib/test_matrix.py::TestMatrixInplaceMultiply::test_element_wise_imultiply_fail_3_by_3_multiply_2_by_3 PASSED [ 14%] tests/rtllib/test_matrix.py::TestMatrixInplaceMultiply::test_element_wise_imultiply_fail_3_by_3_multiply_3_by_2 PASSED [ 14%] tests/rtllib/test_matrix.py::TestMatrixMatrixMultiply::test_mat_mul_1_by_2_multiply_2_by_1 PASSED [ 14%] tests/rtllib/test_matrix.py::TestMatrixMatrixMultiply::test_mat_mul_3_by_3_multiply_3_by_3_different PASSED [ 14%] tests/rtllib/test_matrix.py::TestMatrixMatrixMultiply::test_mat_mul_3_by_3_multiply_3_by_3_same PASSED [ 14%] tests/rtllib/test_matrix.py::TestMatrixMatrixMultiply::test_mat_mul_basic PASSED [ 14%] tests/rtllib/test_matrix.py::TestMatrixMatrixMultiply::test_mat_mul_fail_3_by_2_multiply_3_by_2 PASSED [ 14%] tests/rtllib/test_matrix.py::TestMatrixMatrixMultiply::test_mat_mul_fail_3_by_3_multiply_2_by_2 PASSED [ 14%] tests/rtllib/test_matrix.py::TestMatrixMatrixMultiply::test_mat_mul_fail_3_by_3_multiply_2_by_3 PASSED [ 14%] tests/rtllib/test_matrix.py::TestMatrixMatrixMultiply::test_mat_mul_fail_int PASSED [ 14%] tests/rtllib/test_matrix.py::TestMatrixInplaceMatrixMultiply::test_imat_mul_1_by_2_multiply_2_by_1 PASSED [ 14%] tests/rtllib/test_matrix.py::TestMatrixInplaceMatrixMultiply::test_imat_mul_3_by_3_multiply_3_by_3_different PASSED [ 14%] tests/rtllib/test_matrix.py::TestMatrixInplaceMatrixMultiply::test_imat_mul_3_by_3_multiply_3_by_3_same PASSED [ 14%] tests/rtllib/test_matrix.py::TestMatrixInplaceMatrixMultiply::test_imat_mul_basic PASSED [ 15%] tests/rtllib/test_matrix.py::TestMatrixInplaceMatrixMultiply::test_imat_mul_fail_3_by_3_multiply_2_by_3 PASSED [ 15%] tests/rtllib/test_matrix.py::TestMatrixInplaceMatrixMultiply::test_imat_mul_fail_3_by_3_multiply_3_by_2 PASSED [ 15%] tests/rtllib/test_matrix.py::TestMatrixMatrixPower::test_matrix_power_3_by_3_power_0 PASSED [ 15%] tests/rtllib/test_matrix.py::TestMatrixMatrixPower::test_matrix_power_3_by_3_power_1 PASSED [ 15%] tests/rtllib/test_matrix.py::TestMatrixMatrixPower::test_matrix_power_3_by_3_power_2 PASSED [ 15%] tests/rtllib/test_matrix.py::TestMatrixMatrixPower::test_matrix_power_fail_negative_power PASSED [ 15%] tests/rtllib/test_matrix.py::TestMatrixMatrixPower::test_matrix_power_fail_nonsquare PASSED [ 15%] tests/rtllib/test_matrix.py::TestMatrixMatrixPower::test_matrix_power_fail_string PASSED [ 15%] tests/rtllib/test_matrix.py::TestMatrixInplaceMatrixPower::test_imatrix_power_3_by_3_power_0 PASSED [ 15%] tests/rtllib/test_matrix.py::TestMatrixInplaceMatrixPower::test_imatrix_power_3_by_3_power_1 PASSED [ 15%] tests/rtllib/test_matrix.py::TestMatrixInplaceMatrixPower::test_imatrix_power_3_by_3_power_2 PASSED [ 15%] tests/rtllib/test_matrix.py::TestMultiply::test_multiply_fail_string PASSED [ 15%] tests/rtllib/test_matrix.py::TestMultiply::test_multiply_matrix PASSED [ 16%] tests/rtllib/test_matrix.py::TestMultiply::test_multiply_scalar PASSED [ 16%] tests/rtllib/test_matrix.py::TestReshape::test_reshape_bad_tuple_shape_1 PASSED [ 16%] tests/rtllib/test_matrix.py::TestReshape::test_reshape_bad_tuple_shape_2 PASSED [ 16%] tests/rtllib/test_matrix.py::TestReshape::test_reshape_bad_tuple_shape_3 PASSED [ 16%] tests/rtllib/test_matrix.py::TestReshape::test_reshape_bad_tuple_shape_4 PASSED [ 16%] tests/rtllib/test_matrix.py::TestReshape::test_reshape_bad_tuple_shape_5 PASSED [ 16%] tests/rtllib/test_matrix.py::TestReshape::test_reshape_bad_tuple_shape_count PASSED [ 16%] tests/rtllib/test_matrix.py::TestReshape::test_reshape_bad_tuple_shape_order PASSED [ 16%] tests/rtllib/test_matrix.py::TestReshape::test_reshape_negative_one_shape PASSED [ 16%] tests/rtllib/test_matrix.py::TestReshape::test_reshape_negative_one_shape_column_order PASSED [ 16%] tests/rtllib/test_matrix.py::TestReshape::test_reshape_nonsquare_incomplete_tuple_shape PASSED [ 16%] tests/rtllib/test_matrix.py::TestReshape::test_reshape_nonsquare_incomplete_tuple_shape_column_order PASSED [ 17%] tests/rtllib/test_matrix.py::TestReshape::test_reshape_nonsquare_incomplete_tuple_with_negative_one_shape PASSED [ 17%] tests/rtllib/test_matrix.py::TestReshape::test_reshape_nonsquare_incomplete_tuple_with_negative_one_shape_column_order PASSED [ 17%] tests/rtllib/test_matrix.py::TestReshape::test_reshape_nonsquare_int_shape PASSED [ 17%] tests/rtllib/test_matrix.py::TestReshape::test_reshape_nonsquare_int_shape_column_order PASSED [ 17%] tests/rtllib/test_matrix.py::TestReshape::test_reshape_nonsquare_negative_one_shape PASSED [ 17%] tests/rtllib/test_matrix.py::TestReshape::test_reshape_nonsquare_negative_one_shape_column_order PASSED [ 17%] tests/rtllib/test_matrix.py::TestReshape::test_reshape_nonsquare_tuple_shape_1 PASSED [ 17%] tests/rtllib/test_matrix.py::TestReshape::test_reshape_nonsquare_tuple_shape_2 PASSED [ 17%] tests/rtllib/test_matrix.py::TestReshape::test_reshape_nonsquare_tuple_shape_3 PASSED [ 17%] tests/rtllib/test_matrix.py::TestReshape::test_reshape_nonsquare_tuple_shape_4 PASSED [ 17%] tests/rtllib/test_matrix.py::TestReshape::test_reshape_nonsquare_tuple_shape_5 PASSED [ 17%] tests/rtllib/test_matrix.py::TestReshape::test_reshape_nonsquare_tuple_shape_column_order_1 PASSED [ 17%] tests/rtllib/test_matrix.py::TestReshape::test_reshape_nonsquare_tuple_shape_column_order_2 PASSED [ 18%] tests/rtllib/test_matrix.py::TestReshape::test_reshape_nonsquare_tuple_shape_column_order_3 PASSED [ 18%] tests/rtllib/test_matrix.py::TestReshape::test_reshape_nonsquare_tuple_shape_column_order_4 PASSED [ 18%] tests/rtllib/test_matrix.py::TestReshape::test_reshape_nonsquare_tuple_shape_column_order_5 PASSED [ 18%] tests/rtllib/test_matrix.py::TestReshape::test_reshape_nonsquare_tuple_with_negative_one_shape_1 PASSED [ 18%] tests/rtllib/test_matrix.py::TestReshape::test_reshape_nonsquare_tuple_with_negative_one_shape_1_column_order PASSED [ 18%] tests/rtllib/test_matrix.py::TestReshape::test_reshape_nonsquare_tuple_with_negative_one_shape_2 PASSED [ 18%] tests/rtllib/test_matrix.py::TestReshape::test_reshape_nonsquare_tuple_with_negative_one_shape_2_column_order PASSED [ 18%] tests/rtllib/test_matrix.py::TestReshape::test_reshape_normal_tuple_shape PASSED [ 18%] tests/rtllib/test_matrix.py::TestReshape::test_reshape_normal_tuple_shape_column_order PASSED [ 18%] tests/rtllib/test_matrix.py::TestReshape::test_reshape_single_int_shape PASSED [ 18%] tests/rtllib/test_matrix.py::TestReshape::test_reshape_single_int_shape_column_order PASSED [ 18%] tests/rtllib/test_matrix.py::TestReshape::test_reshape_tuple_with_negative_one_shape PASSED [ 18%] tests/rtllib/test_matrix.py::TestReshape::test_reshape_tuple_with_negative_one_shape_column_order PASSED [ 19%] tests/rtllib/test_matrix.py::TestReshape::test_reshape_varargs_shape PASSED [ 19%] tests/rtllib/test_matrix.py::TestReshape::test_reshape_varargs_shape_column_order PASSED [ 19%] tests/rtllib/test_matrix.py::TestFlatten::test_flatten_column_wise PASSED [ 19%] tests/rtllib/test_matrix.py::TestFlatten::test_flatten_column_wise_nonsquare_1 PASSED [ 19%] tests/rtllib/test_matrix.py::TestFlatten::test_flatten_column_wise_nonsquare_2 PASSED [ 19%] tests/rtllib/test_matrix.py::TestFlatten::test_flatten_column_wise_nonsquare_3 PASSED [ 19%] tests/rtllib/test_matrix.py::TestFlatten::test_flatten_invalid_order PASSED [ 19%] tests/rtllib/test_matrix.py::TestFlatten::test_flatten_row_wise PASSED [ 19%] tests/rtllib/test_matrix.py::TestFlatten::test_flatten_row_wise_nonsquare_1 PASSED [ 19%] tests/rtllib/test_matrix.py::TestFlatten::test_flatten_row_wise_nonsquare_2 PASSED [ 19%] tests/rtllib/test_matrix.py::TestFlatten::test_flatten_row_wise_nonsquare_3 PASSED [ 19%] tests/rtllib/test_matrix.py::TestPut::test_put_empty PASSED [ 20%] tests/rtllib/test_matrix.py::TestPut::test_put_indices_clip_1 PASSED [ 20%] tests/rtllib/test_matrix.py::TestPut::test_put_indices_clip_2 PASSED [ 20%] tests/rtllib/test_matrix.py::TestPut::test_put_indices_list_repeat_v_1 PASSED [ 20%] tests/rtllib/test_matrix.py::TestPut::test_put_indices_list_repeat_v_2 PASSED [ 20%] tests/rtllib/test_matrix.py::TestPut::test_put_indices_list_values_1 PASSED [ 20%] tests/rtllib/test_matrix.py::TestPut::test_put_indices_list_values_2 PASSED [ 20%] tests/rtllib/test_matrix.py::TestPut::test_put_indices_negative PASSED [ 20%] tests/rtllib/test_matrix.py::TestPut::test_put_indices_raise_1 PASSED [ 20%] tests/rtllib/test_matrix.py::TestPut::test_put_indices_raise_2 PASSED [ 20%] tests/rtllib/test_matrix.py::TestPut::test_put_indices_tuple_values PASSED [ 20%] tests/rtllib/test_matrix.py::TestPut::test_put_indices_wrap_1 PASSED [ 20%] tests/rtllib/test_matrix.py::TestPut::test_put_indices_wrap_2 PASSED [ 20%] tests/rtllib/test_matrix.py::TestPut::test_put_matrix PASSED [ 21%] tests/rtllib/test_matrix.py::TestPut::test_put_tuple_indices PASSED [ 21%] tests/rtllib/test_matrix.py::TestSum::test_sum_1_by_4 PASSED [ 21%] tests/rtllib/test_matrix.py::TestSum::test_sum_1_by_4_column PASSED [ 21%] tests/rtllib/test_matrix.py::TestSum::test_sum_1_by_4_row PASSED [ 21%] tests/rtllib/test_matrix.py::TestSum::test_sum_3_by_3 PASSED [ 21%] tests/rtllib/test_matrix.py::TestSum::test_sum_3_by_3_column PASSED [ 21%] tests/rtllib/test_matrix.py::TestSum::test_sum_3_by_3_row PASSED [ 21%] tests/rtllib/test_matrix.py::TestSum::test_sum_4_by_1 PASSED [ 21%] tests/rtllib/test_matrix.py::TestSum::test_sum_4_by_1_column PASSED [ 21%] tests/rtllib/test_matrix.py::TestSum::test_sum_4_by_1_row PASSED [ 21%] tests/rtllib/test_matrix.py::TestSum::test_sum_basic PASSED [ 21%] tests/rtllib/test_matrix.py::TestSum::test_sum_basic_column PASSED [ 21%] tests/rtllib/test_matrix.py::TestSum::test_sum_basic_row PASSED [ 22%] tests/rtllib/test_matrix.py::TestSum::test_sum_fail_axis_out_of_bounds PASSED [ 22%] tests/rtllib/test_matrix.py::TestSum::test_sum_fail_negative_axis PASSED [ 22%] tests/rtllib/test_matrix.py::TestSum::test_sum_fail_negative_bits PASSED [ 22%] tests/rtllib/test_matrix.py::TestSum::test_sum_fail_string PASSED [ 22%] tests/rtllib/test_matrix.py::TestSum::test_sum_fail_string_axis PASSED [ 22%] tests/rtllib/test_matrix.py::TestSum::test_sum_fail_string_bits PASSED [ 22%] tests/rtllib/test_matrix.py::TestSum::test_sum_fail_zero_bits PASSED [ 22%] tests/rtllib/test_matrix.py::TestSum::test_sum_wire PASSED [ 22%] tests/rtllib/test_matrix.py::TestMin::test_min_1_by_4 PASSED [ 22%] tests/rtllib/test_matrix.py::TestMin::test_min_1_by_4_column PASSED [ 22%] tests/rtllib/test_matrix.py::TestMin::test_min_1_by_4_row PASSED [ 22%] tests/rtllib/test_matrix.py::TestMin::test_min_3_by_3 PASSED [ 22%] tests/rtllib/test_matrix.py::TestMin::test_min_3_by_3_column PASSED [ 23%] tests/rtllib/test_matrix.py::TestMin::test_min_3_by_3_row PASSED [ 23%] tests/rtllib/test_matrix.py::TestMin::test_min_4_by_1 PASSED [ 23%] tests/rtllib/test_matrix.py::TestMin::test_min_4_by_1_column PASSED [ 23%] tests/rtllib/test_matrix.py::TestMin::test_min_4_by_1_row PASSED [ 23%] tests/rtllib/test_matrix.py::TestMin::test_min_basic PASSED [ 23%] tests/rtllib/test_matrix.py::TestMin::test_min_basic_column PASSED [ 23%] tests/rtllib/test_matrix.py::TestMin::test_min_basic_row PASSED [ 23%] tests/rtllib/test_matrix.py::TestMin::test_min_fail_axis_negative PASSED [ 23%] tests/rtllib/test_matrix.py::TestMin::test_min_fail_axis_out_of_bounds PASSED [ 23%] tests/rtllib/test_matrix.py::TestMin::test_min_fail_axis_string PASSED [ 23%] tests/rtllib/test_matrix.py::TestMin::test_min_fail_bits_negative PASSED [ 23%] tests/rtllib/test_matrix.py::TestMin::test_min_fail_bits_string PASSED [ 24%] tests/rtllib/test_matrix.py::TestMin::test_min_fail_bits_zero PASSED [ 24%] tests/rtllib/test_matrix.py::TestMin::test_min_fail_string PASSED [ 24%] tests/rtllib/test_matrix.py::TestMin::test_min_wire PASSED [ 24%] tests/rtllib/test_matrix.py::TestMax::test_max_1_by_4 PASSED [ 24%] tests/rtllib/test_matrix.py::TestMax::test_max_1_by_4_columns PASSED [ 24%] tests/rtllib/test_matrix.py::TestMax::test_max_1_by_4_rows PASSED [ 24%] tests/rtllib/test_matrix.py::TestMax::test_max_3_by_3 PASSED [ 24%] tests/rtllib/test_matrix.py::TestMax::test_max_3_by_3_columns PASSED [ 24%] tests/rtllib/test_matrix.py::TestMax::test_max_3_by_3_rows PASSED [ 24%] tests/rtllib/test_matrix.py::TestMax::test_max_4_by_1 PASSED [ 24%] tests/rtllib/test_matrix.py::TestMax::test_max_4_by_1_columns PASSED [ 24%] tests/rtllib/test_matrix.py::TestMax::test_max_4_by_1_rows PASSED [ 24%] tests/rtllib/test_matrix.py::TestMax::test_max_basic PASSED [ 25%] tests/rtllib/test_matrix.py::TestMax::test_max_basic_columns PASSED [ 25%] tests/rtllib/test_matrix.py::TestMax::test_max_basic_rows PASSED [ 25%] tests/rtllib/test_matrix.py::TestMax::test_max_fail_axis_negative PASSED [ 25%] tests/rtllib/test_matrix.py::TestMax::test_max_fail_axis_out_of_bounds PASSED [ 25%] tests/rtllib/test_matrix.py::TestMax::test_max_fail_axis_string PASSED [ 25%] tests/rtllib/test_matrix.py::TestMax::test_max_fail_bits_negative PASSED [ 25%] tests/rtllib/test_matrix.py::TestMax::test_max_fail_bits_string PASSED [ 25%] tests/rtllib/test_matrix.py::TestMax::test_max_fail_bits_zero PASSED [ 25%] tests/rtllib/test_matrix.py::TestMax::test_max_fail_string PASSED [ 25%] tests/rtllib/test_matrix.py::TestMax::test_max_wire PASSED [ 25%] tests/rtllib/test_matrix.py::TestArgMax::test_argument_max_1_by_4 PASSED [ 25%] tests/rtllib/test_matrix.py::TestArgMax::test_argument_max_1_by_4_columns PASSED [ 25%] tests/rtllib/test_matrix.py::TestArgMax::test_argument_max_1_by_4_rows PASSED [ 26%] tests/rtllib/test_matrix.py::TestArgMax::test_argument_max_3_by_3 PASSED [ 26%] tests/rtllib/test_matrix.py::TestArgMax::test_argument_max_3_by_3_columns PASSED [ 26%] tests/rtllib/test_matrix.py::TestArgMax::test_argument_max_3_by_3_rows PASSED [ 26%] tests/rtllib/test_matrix.py::TestArgMax::test_argument_max_4_by_1 PASSED [ 26%] tests/rtllib/test_matrix.py::TestArgMax::test_argument_max_4_by_1_columns PASSED [ 26%] tests/rtllib/test_matrix.py::TestArgMax::test_argument_max_4_by_1_rows PASSED [ 26%] tests/rtllib/test_matrix.py::TestArgMax::test_argument_max_axis_negative PASSED [ 26%] tests/rtllib/test_matrix.py::TestArgMax::test_argument_max_axis_out_of_bounds PASSED [ 26%] tests/rtllib/test_matrix.py::TestArgMax::test_argument_max_axis_string PASSED [ 26%] tests/rtllib/test_matrix.py::TestArgMax::test_argument_max_basic PASSED [ 26%] tests/rtllib/test_matrix.py::TestArgMax::test_argument_max_basic_columns PASSED [ 26%] tests/rtllib/test_matrix.py::TestArgMax::test_argument_max_basic_rows PASSED [ 27%] tests/rtllib/test_matrix.py::TestArgMax::test_argument_max_bits_negative PASSED [ 27%] tests/rtllib/test_matrix.py::TestArgMax::test_argument_max_bits_string PASSED [ 27%] tests/rtllib/test_matrix.py::TestArgMax::test_argument_max_bits_zero PASSED [ 27%] tests/rtllib/test_matrix.py::TestArgMax::test_argument_max_string PASSED [ 27%] tests/rtllib/test_matrix.py::TestArgMax::test_argument_max_wire PASSED [ 27%] tests/rtllib/test_matrix.py::TestDot::test_dot_1_by_2_multiply_1_by_2 PASSED [ 27%] tests/rtllib/test_matrix.py::TestDot::test_dot_1_by_2_multiply_2_by_1 PASSED [ 27%] tests/rtllib/test_matrix.py::TestDot::test_dot_2_by_1_multiply_1_by_2 PASSED [ 27%] tests/rtllib/test_matrix.py::TestDot::test_dot_2_by_1_multiply_2_by_1 PASSED [ 27%] tests/rtllib/test_matrix.py::TestDot::test_dot_3_by_3_multiply_3_by_3_different PASSED [ 27%] tests/rtllib/test_matrix.py::TestDot::test_dot_3_by_3_multiply_3_by_3_same PASSED [ 27%] tests/rtllib/test_matrix.py::TestDot::test_dot_basic PASSED [ 27%] tests/rtllib/test_matrix.py::TestDot::test_dot_both_wires PASSED [ 28%] tests/rtllib/test_matrix.py::TestDot::test_dot_fail_1_by_2_multiply_1_by_3 PASSED [ 28%] tests/rtllib/test_matrix.py::TestDot::test_dot_fail_3_by_3_multiply_2_by_2 PASSED [ 28%] tests/rtllib/test_matrix.py::TestDot::test_dot_fail_int_first PASSED [ 28%] tests/rtllib/test_matrix.py::TestDot::test_dot_fail_int_second PASSED [ 28%] tests/rtllib/test_matrix.py::TestDot::test_dot_first_wire PASSED [ 28%] tests/rtllib/test_matrix.py::TestDot::test_dot_second_wire PASSED [ 28%] tests/rtllib/test_matrix.py::TestHStack::test_concatenate PASSED [ 28%] tests/rtllib/test_matrix.py::TestHStack::test_hstack_empty_args_fails PASSED [ 28%] tests/rtllib/test_matrix.py::TestHStack::test_hstack_fail_on_inconsistent_rows PASSED [ 28%] tests/rtllib/test_matrix.py::TestHStack::test_hstack_on_non_matrices_fails PASSED [ 28%] tests/rtllib/test_matrix.py::TestHStack::test_hstack_one_row_vector PASSED [ 28%] tests/rtllib/test_matrix.py::TestHStack::test_hstack_several_matrices PASSED [ 28%] tests/rtllib/test_matrix.py::TestHStack::test_hstack_two_row_vectors PASSED [ 29%] tests/rtllib/test_matrix.py::TestVStack::test_concatenate PASSED [ 29%] tests/rtllib/test_matrix.py::TestVStack::test_vstack_empty_args_fails PASSED [ 29%] tests/rtllib/test_matrix.py::TestVStack::test_vstack_fail_on_inconsistent_cols PASSED [ 29%] tests/rtllib/test_matrix.py::TestVStack::test_vstack_on_non_matrices_fails PASSED [ 29%] tests/rtllib/test_matrix.py::TestVStack::test_vstack_one_column_vector PASSED [ 29%] tests/rtllib/test_matrix.py::TestVStack::test_vstack_several_matrix PASSED [ 29%] tests/rtllib/test_matrix.py::TestVStack::test_vstack_two_column_vectors PASSED [ 29%] tests/rtllib/test_matrix.py::TestHelpers::test_list_to_int PASSED [ 29%] tests/rtllib/test_matrix.py::TestHelpers::test_list_to_int_negative PASSED [ 29%] tests/rtllib/test_matrix.py::TestHelpers::test_list_to_int_negative_truncates PASSED [ 29%] tests/rtllib/test_matrix.py::TestHelpers::test_list_to_int_non_positive_n_bits PASSED [ 29%] tests/rtllib/test_matrix.py::TestHelpers::test_list_to_int_truncates PASSED [ 30%] tests/rtllib/test_multipliers.py::TestDocTests::test_doctests PASSED [ 30%] tests/rtllib/test_multipliers.py::TestSimpleMult::test_simple_mult_1 PASSED [ 30%] tests/rtllib/test_multipliers.py::TestSimpleMult::test_simple_mult_2 PASSED [ 30%] tests/rtllib/test_multipliers.py::TestSimpleMult::test_trivial_case PASSED [ 30%] tests/rtllib/test_multipliers.py::TestSimpleMult::test_trivial_case_2 PASSED [ 30%] tests/rtllib/test_multipliers.py::TestSimpleMult::test_trivial_case_3 PASSED [ 30%] tests/rtllib/test_multipliers.py::TestComplexMult::test_complex_mult_1 PASSED [ 30%] tests/rtllib/test_multipliers.py::TestComplexMult::test_complex_mult_2 PASSED [ 30%] tests/rtllib/test_multipliers.py::TestComplexMult::test_complex_mult_3 PASSED [ 30%] tests/rtllib/test_multipliers.py::TestComplexMult::test_complex_mult_4 PASSED [ 30%] tests/rtllib/test_multipliers.py::TestComplexMult::test_trivial_case PASSED [ 30%] tests/rtllib/test_multipliers.py::TestComplexMult::test_trivial_case_2 PASSED [ 30%] tests/rtllib/test_multipliers.py::TestComplexMult::test_trivial_case_3 PASSED [ 31%] tests/rtllib/test_multipliers.py::TestWallace::test_dada_tree PASSED [ 31%] tests/rtllib/test_multipliers.py::TestWallace::test_fma_1 PASSED [ 31%] tests/rtllib/test_multipliers.py::TestWallace::test_gen_fma_1 PASSED [ 31%] tests/rtllib/test_multipliers.py::TestWallace::test_trivial_case PASSED [ 31%] tests/rtllib/test_multipliers.py::TestWallace::test_trivial_case_2 PASSED [ 31%] tests/rtllib/test_multipliers.py::TestWallace::test_trivial_case_3 PASSED [ 31%] tests/rtllib/test_multipliers.py::TestWallace::test_wallace_tree_1 PASSED [ 31%] tests/rtllib/test_multipliers.py::TestWallace::test_wallace_tree_2 PASSED [ 31%] tests/rtllib/test_multipliers.py::TestSignedTreeMult::test_dada_tree PASSED [ 31%] tests/rtllib/test_multipliers.py::TestSignedTreeMult::test_small_bitwidth_error PASSED [ 31%] tests/rtllib/test_multipliers.py::TestSignedTreeMult::test_trivial_case PASSED [ 31%] tests/rtllib/test_multipliers.py::TestSignedTreeMult::test_trivial_case_2 PASSED [ 31%] tests/rtllib/test_multipliers.py::TestSignedTreeMult::test_trivial_case_3 PASSED [ 32%] tests/rtllib/test_multipliers.py::TestSignedTreeMult::test_wallace_tree_1 PASSED [ 32%] tests/rtllib/test_multipliers.py::TestSignedTreeMult::test_wallace_tree_2 PASSED [ 32%] tests/rtllib/test_muxes.py::TestDocTests::test_doctests PASSED [ 32%] tests/rtllib/test_muxes.py::TestPrioritizedMuxTrivial::test_different_sel_and_val_lengths PASSED [ 32%] tests/rtllib/test_muxes.py::TestPrioritizedMuxTrivial::test_empty PASSED [ 32%] tests/rtllib/test_muxes.py::TestPrioritizedMuxTrivial::test_invalid_select_width PASSED [ 32%] tests/rtllib/test_muxes.py::TestPrioritizedMuxTrivial::test_one_wire PASSED [ 32%] tests/rtllib/test_muxes.py::TestPrioritizedMuxSim::test_select_with_2_wires PASSED [ 32%] tests/rtllib/test_muxes.py::TestPrioritizedMuxSim::test_select_with_5_wires PASSED [ 32%] tests/rtllib/test_muxes.py::TestIsEquivalent::test_equivalent PASSED [ 32%] tests/rtllib/test_muxes.py::TestIsEquivalent::test_equivalent_const PASSED [ 32%] tests/rtllib/test_muxes.py::TestSmartMuxTrivial::test_dup_consts1 PASSED [ 32%] tests/rtllib/test_muxes.py::TestSmartMuxTrivial::test_dup_consts2 PASSED [ 33%] tests/rtllib/test_muxes.py::TestSmartMuxTrivial::test_dup_value PASSED [ 33%] tests/rtllib/test_muxes.py::TestSmartMuxTrivial::test_no_dup PASSED [ 33%] tests/rtllib/test_muxes.py::TestSmartMuxTrivial::test_no_dup_2 PASSED [ 33%] tests/rtllib/test_muxes.py::TestSmartMuxTrivial::test_one_value PASSED [ 33%] tests/rtllib/test_muxes.py::TestSmartMux::test_multiple_bitwidths PASSED [ 33%] tests/rtllib/test_muxes.py::TestSmartMux::test_two_big_close PASSED [ 33%] tests/rtllib/test_muxes.py::TestSmartMux::test_two_vals PASSED [ 33%] tests/rtllib/test_muxes.py::TestSmartMux::test_two_vals_big PASSED [ 33%] tests/rtllib/test_muxes.py::TestSmartMuxDefault::test_default PASSED [ 33%] tests/rtllib/test_muxes.py::TestMultiSelector::test_incorrect_number_of_wires PASSED [ 33%] tests/rtllib/test_muxes.py::TestMultiSelector::test_incorrect_number_of_wires_2 PASSED [ 33%] tests/rtllib/test_muxes.py::TestMultiSelector::test_value_already_set PASSED [ 34%] tests/rtllib/test_muxes.py::TestMultiSelectorSim::test_really_simple PASSED [ 34%] tests/rtllib/test_muxes.py::TestMultiSelectorSim::test_simple PASSED [ 34%] tests/rtllib/test_muxes.py::TestDemux::test_demux_2 PASSED [ 34%] tests/rtllib/test_muxes.py::TestDemux::test_large_demux PASSED [ 34%] tests/rtllib/test_muxes.py::TestDemux::test_simple_demux PASSED [ 34%] tests/rtllib/test_prngs.py::TestPrngs::test_csprng_trivium PASSED [ 34%] tests/rtllib/test_prngs.py::TestPrngs::test_prng_lfsr PASSED [ 34%] tests/rtllib/test_prngs.py::TestPrngs::test_prng_xoroshiro128 PASSED [ 34%] tests/rtllib/test_pyrtlfloat.py::TestAddition::test_add_denormalized_flushed_to_zero PASSED [ 34%] tests/rtllib/test_pyrtlfloat.py::TestAddition::test_add_half_plus_half PASSED [ 34%] tests/rtllib/test_pyrtlfloat.py::TestAddition::test_add_infinity_minus_infinity_is_nan PASSED [ 34%] tests/rtllib/test_pyrtlfloat.py::TestAddition::test_add_infinity_to_number PASSED [ 34%] tests/rtllib/test_pyrtlfloat.py::TestAddition::test_add_nan_propagates PASSED [ 35%] tests/rtllib/test_pyrtlfloat.py::TestAddition::test_add_negative_infinity_to_number PASSED [ 35%] tests/rtllib/test_pyrtlfloat.py::TestAddition::test_add_negative_zero_to_number PASSED [ 35%] tests/rtllib/test_pyrtlfloat.py::TestAddition::test_add_one_plus_half PASSED [ 35%] tests/rtllib/test_pyrtlfloat.py::TestAddition::test_add_one_plus_quarter PASSED [ 35%] tests/rtllib/test_pyrtlfloat.py::TestAddition::test_add_one_plus_two PASSED [ 35%] tests/rtllib/test_pyrtlfloat.py::TestAddition::test_add_opposite_signs_equal_magnitude PASSED [ 35%] tests/rtllib/test_pyrtlfloat.py::TestAddition::test_add_with_carry PASSED [ 35%] tests/rtllib/test_pyrtlfloat.py::TestAddition::test_add_zero_to_number PASSED [ 35%] tests/rtllib/test_pyrtlfloat.py::TestAddition::test_carry_g1_r0_s0_lsb0_tie_truncates PASSED [ 35%] tests/rtllib/test_pyrtlfloat.py::TestAddition::test_carry_g1_r0_s0_lsb1_tie_rounds_up PASSED [ 35%] tests/rtllib/test_pyrtlfloat.py::TestAddition::test_overflow_rne_produces_infinity PASSED [ 35%] tests/rtllib/test_pyrtlfloat.py::TestAddition::test_overflow_rtz_produces_largest_finite PASSED [ 35%] tests/rtllib/test_pyrtlfloat.py::TestAddition::test_rounding_g0_r1_s1_truncates PASSED [ 36%] tests/rtllib/test_pyrtlfloat.py::TestAddition::test_rounding_g1_r0_s0_lsb0_tie_truncates PASSED [ 36%] tests/rtllib/test_pyrtlfloat.py::TestAddition::test_rounding_g1_r0_s0_lsb1_tie_rounds_up PASSED [ 36%] tests/rtllib/test_pyrtlfloat.py::TestAddition::test_rounding_g1_r0_s1_rounds_up PASSED [ 36%] tests/rtllib/test_pyrtlfloat.py::TestAddition::test_rounding_g1_r1_s0_rounds_up PASSED [ 36%] tests/rtllib/test_pyrtlfloat.py::TestSubtraction::test_overflow_by_subtracting_negative PASSED [ 36%] tests/rtllib/test_pyrtlfloat.py::TestSubtraction::test_sub_denormalized_flushed_to_zero PASSED [ 36%] tests/rtllib/test_pyrtlfloat.py::TestSubtraction::test_sub_double_negative PASSED [ 36%] tests/rtllib/test_pyrtlfloat.py::TestSubtraction::test_sub_equal_numbers PASSED [ 36%] tests/rtllib/test_pyrtlfloat.py::TestSubtraction::test_sub_exact_no_rounding PASSED [ 36%] tests/rtllib/test_pyrtlfloat.py::TestSubtraction::test_sub_from_zero PASSED [ 36%] tests/rtllib/test_pyrtlfloat.py::TestSubtraction::test_sub_infinity_from_infinity_is_nan PASSED [ 36%] tests/rtllib/test_pyrtlfloat.py::TestSubtraction::test_sub_infinity_from_number PASSED [ 37%] tests/rtllib/test_pyrtlfloat.py::TestSubtraction::test_sub_nan_propagates PASSED [ 37%] tests/rtllib/test_pyrtlfloat.py::TestSubtraction::test_sub_neg_infinity_from_pos_infinity PASSED [ 37%] tests/rtllib/test_pyrtlfloat.py::TestSubtraction::test_sub_neg_zero_minus_neg_zero PASSED [ 37%] tests/rtllib/test_pyrtlfloat.py::TestSubtraction::test_sub_one_point_five_minus_half PASSED [ 37%] tests/rtllib/test_pyrtlfloat.py::TestSubtraction::test_sub_pos_zero_minus_pos_zero PASSED [ 37%] tests/rtllib/test_pyrtlfloat.py::TestSubtraction::test_sub_rne_rounds_up PASSED [ 37%] tests/rtllib/test_pyrtlfloat.py::TestSubtraction::test_sub_three_minus_one PASSED [ 37%] tests/rtllib/test_pyrtlfloat.py::TestSubtraction::test_sub_two_minus_half PASSED [ 37%] tests/rtllib/test_pyrtlfloat.py::TestSubtraction::test_sub_zero_from_number PASSED [ 37%] tests/rtllib/test_pyrtlfloat.py::TestMultiplication::test_mul_both_negative PASSED [ 37%] tests/rtllib/test_pyrtlfloat.py::TestMultiplication::test_mul_by_negative_zero PASSED [ 37%] tests/rtllib/test_pyrtlfloat.py::TestMultiplication::test_mul_by_zero PASSED [ 37%] tests/rtllib/test_pyrtlfloat.py::TestMultiplication::test_mul_denormalized_flushed_to_zero PASSED [ 38%] tests/rtllib/test_pyrtlfloat.py::TestMultiplication::test_mul_half_times_two PASSED [ 38%] tests/rtllib/test_pyrtlfloat.py::TestMultiplication::test_mul_infinity_by_infinity PASSED [ 38%] tests/rtllib/test_pyrtlfloat.py::TestMultiplication::test_mul_infinity_by_number PASSED [ 38%] tests/rtllib/test_pyrtlfloat.py::TestMultiplication::test_mul_infinity_by_zero_is_nan PASSED [ 38%] tests/rtllib/test_pyrtlfloat.py::TestMultiplication::test_mul_nan_propagates PASSED [ 38%] tests/rtllib/test_pyrtlfloat.py::TestMultiplication::test_mul_neg_infinity_by_number PASSED [ 38%] tests/rtllib/test_pyrtlfloat.py::TestMultiplication::test_mul_one_point_five_times_one_point_five PASSED [ 38%] tests/rtllib/test_pyrtlfloat.py::TestMultiplication::test_mul_one_point_five_times_two PASSED [ 38%] tests/rtllib/test_pyrtlfloat.py::TestMultiplication::test_mul_opposite_signs PASSED [ 38%] tests/rtllib/test_pyrtlfloat.py::TestMultiplication::test_mul_pos_infinity_by_neg_infinity PASSED [ 38%] tests/rtllib/test_pyrtlfloat.py::TestMultiplication::test_negative_overflow_rne_produces_neg_infinity PASSED [ 38%] tests/rtllib/test_pyrtlfloat.py::TestMultiplication::test_negative_overflow_rtz_produces_neg_largest_finite PASSED [ 38%] tests/rtllib/test_pyrtlfloat.py::TestMultiplication::test_overflow_rne_produces_infinity PASSED [ 39%] tests/rtllib/test_pyrtlfloat.py::TestMultiplication::test_overflow_rtz_produces_largest_finite PASSED [ 39%] tests/rtllib/test_pyrtlfloat.py::TestMultiplication::test_rounding_g0_s0_truncates PASSED [ 39%] tests/rtllib/test_pyrtlfloat.py::TestMultiplication::test_rounding_g0_s1_truncates PASSED [ 39%] tests/rtllib/test_pyrtlfloat.py::TestMultiplication::test_rounding_g1_l0_s0_tie_truncates PASSED [ 39%] tests/rtllib/test_pyrtlfloat.py::TestMultiplication::test_rounding_g1_l0_s1_rounds_up PASSED [ 39%] tests/rtllib/test_pyrtlfloat.py::TestMultiplication::test_rounding_g1_l1_s0_tie_rounds_up PASSED [ 39%] tests/test_analysis.py::TestAreaEstimate::test_area_est_unchanged PASSED [ 39%] tests/test_analysis.py::TestAreaEstimate::test_area_est_unchanged_with_rom PASSED [ 39%] tests/test_analysis.py::TestTimingEstimate::test_time_est_unchanged PASSED [ 39%] tests/test_analysis.py::TestPaths::test_all_paths PASSED [ 39%] tests/test_analysis.py::TestPaths::test_one_path_to_one_output PASSED [ 39%] tests/test_analysis.py::TestPaths::test_paths_empty_src_and_dst_equal_with_no_other_logic PASSED [ 40%] tests/test_analysis.py::TestPaths::test_paths_loop_and_input PASSED [ 40%] tests/test_analysis.py::TestPaths::test_paths_loop_get_arbitrary_inner_wires PASSED [ 40%] tests/test_analysis.py::TestPaths::test_paths_no_path_exists PASSED [ 40%] tests/test_analysis.py::TestPaths::test_paths_with_loop PASSED [ 40%] tests/test_analysis.py::TestPaths::test_paths_with_memory PASSED [ 40%] tests/test_analysis.py::TestPaths::test_pretty_print PASSED [ 40%] tests/test_analysis.py::TestPaths::test_subset_of_all_paths PASSED [ 40%] tests/test_analysis.py::TestPaths::test_two_paths_to_one_output PASSED [ 40%] tests/test_analysis.py::TestPaths::test_two_paths_to_two_outputs PASSED [ 40%] tests/test_analysis.py::TestDistance::test_several_distances PASSED [ 40%] tests/test_analysis.py::TestDistance::test_simple_distance PASSED [ 40%] tests/test_analysis.py::TestDistance::test_special_cost PASSED [ 40%] tests/test_analysis.py::TestFanout::test_fanout_simple PASSED [ 41%] tests/test_analysis.py::TestFanout::test_fanout_wire_repeated_as_arg PASSED [ 41%] tests/test_analysis.py::TestFanout::test_fanout_wire_repeated_in_concat PASSED [ 41%] tests/test_conditional.py::TestConditional::test_basic_default_condition PASSED [ 41%] tests/test_conditional.py::TestConditional::test_basic_false_condition PASSED [ 41%] tests/test_conditional.py::TestConditional::test_basic_nested_condition PASSED [ 41%] tests/test_conditional.py::TestConditional::test_basic_simple_condition_1 PASSED [ 41%] tests/test_conditional.py::TestConditional::test_basic_true_condition PASSED [ 41%] tests/test_conditional.py::TestConditional::test_basic_two_conditions PASSED [ 41%] tests/test_conditional.py::TestConditional::test_default_value_for_wires PASSED [ 41%] tests/test_conditional.py::TestConditional::test_error_on_conditional_assignment_not_under_conditional PASSED [ 41%] tests/test_conditional.py::TestConditional::test_error_on_non_boolean PASSED [ 41%] tests/test_conditional.py::TestConditional::test_error_on_non_boolean_with_register PASSED [ 41%] tests/test_conditional.py::TestConditional::test_error_on_unconditioned_update_in_under_conditional PASSED [ 42%] tests/test_conditional.py::TestConditional::test_nested_under_default_condition PASSED [ 42%] tests/test_conditional.py::TestConditional::test_short_true_condition PASSED [ 42%] tests/test_conditional.py::TestConditional::test_two_seperate_conditions PASSED [ 42%] tests/test_conditional.py::TestConditional::test_two_signals_under_default_condition PASSED [ 42%] tests/test_conditional.py::TestMemConditionalBlock::test_basic_true_condition_memread PASSED [ 42%] tests/test_conditional.py::TestMemConditionalBlock::test_basic_true_condition_memwrite PASSED [ 42%] tests/test_conditional.py::TestMemConditionalBlock::test_basic_true_condition_memwrite_2 PASSED [ 42%] tests/test_conditional.py::TestMemConditionalBlock::test_true_multi_condition_memread PASSED [ 42%] tests/test_conditional.py::TestWireConditionalBlock::test_basic_condition_wire PASSED [ 42%] tests/test_conditional.py::TestWireConditionalBlock::test_boolean_assignment_condition_wire PASSED [ 42%] tests/test_conditional.py::TestWireConditionalBlock::test_condition_error_when_assigned_wire_has_unspecified_bitwidth PASSED [ 42%] tests/test_conditional.py::TestWireConditionalBlock::test_condition_nice_error_message PASSED [ 42%] tests/test_conditional.py::TestWireConditionalBlock::test_condition_nice_error_message_nested PASSED [ 43%] tests/test_conditional.py::TestWireConditionalBlock::test_condition_nice_error_message_nested2 PASSED [ 43%] tests/test_conditional.py::TestWireConditionalBlock::test_condition_wire PASSED [ 43%] tests/test_conditional.py::TestWireConditionalBlock::test_error_condition_connect_const PASSED [ 43%] tests/test_conditional.py::TestWireConditionalBlock::test_error_condition_connect_input PASSED [ 43%] tests/test_conditional.py::TestWireConditionalBlock::test_nested_condition_wire PASSED [ 43%] tests/test_conditional.py::TestWireConditionalBlock::test_underspecified_condition_wire PASSED [ 43%] tests/test_conditional.py::TestNonExclusiveBlocks::test_basic_nested_non_exclusive_condition PASSED [ 43%] tests/test_conditional.py::TestNonExclusiveBlocks::test_one_deep_nested_non_exclusive_condition PASSED [ 43%] tests/test_conditional.py::TestNonExclusiveBlocks::test_other_overlaping_assignments_in_non_exclusive_assignments PASSED [ 43%] tests/test_conditional.py::TestNonExclusiveBlocks::test_overlaping_assignments_in_non_exclusive_assignments PASSED [ 43%] tests/test_conditional.py::TestSuperWireConditionalBlock::test_super_stress_test PASSED [ 43%] tests/test_core.py::TestDocTests::test_doctests PASSED [ 44%] tests/test_core.py::TestBlock::test_add_wire PASSED [ 44%] tests/test_core.py::TestBlock::test_add_wirevector_simple PASSED [ 44%] tests/test_core.py::TestBlock::test_bad_memblock_name_none PASSED [ 44%] tests/test_core.py::TestBlock::test_bad_memblock_name_strict PASSED [ 44%] tests/test_core.py::TestBlock::test_block_iterators PASSED [ 44%] tests/test_core.py::TestBlock::test_logicsubset_no_op PASSED [ 44%] tests/test_core.py::TestBlock::test_no_logic_net_comparisons PASSED [ 44%] tests/test_core.py::TestBlock::test_no_memblocks PASSED [ 44%] tests/test_core.py::TestBlock::test_same_memblock_referenced_across_multiple_operators PASSED [ 44%] tests/test_core.py::TestBlock::test_sanity_check PASSED [ 44%] tests/test_core.py::TestBlock::test_undriven_net PASSED [ 44%] tests/test_core.py::TestSanityCheckNet::test_net_dest_wrong_arity_or_type PASSED [ 44%] tests/test_core.py::TestSanityCheckNet::test_net_dest_wrong_bitwidth PASSED [ 45%] tests/test_core.py::TestSanityCheckNet::test_net_make_with_not_net PASSED [ 45%] tests/test_core.py::TestSanityCheckNet::test_net_no_tuples PASSED [ 45%] tests/test_core.py::TestSanityCheckNet::test_net_odd_wires PASSED [ 45%] tests/test_core.py::TestSanityCheckNet::test_net_wrong_bitwidth PASSED [ 45%] tests/test_core.py::TestSanityCheckNet::test_net_wrong_num_args PASSED [ 45%] tests/test_core.py::TestSanityCheckNet::test_net_wrong_num_op_params PASSED [ 45%] tests/test_core.py::TestSanityCheckNet::test_net_wrong_op_param_mem PASSED [ 45%] tests/test_core.py::TestSanityCheckNet::test_net_wrong_op_param_select PASSED [ 45%] tests/test_core.py::TestSanityCheckNet::test_net_wrong_types PASSED [ 45%] tests/test_core.py::TestSetWorkingBlock::test_invalid_set_wb PASSED [ 45%] tests/test_core.py::TestSetWorkingBlock::test_invalid_with_set_wb PASSED [ 45%] tests/test_core.py::TestSetWorkingBlock::test_normal PASSED [ 45%] tests/test_core.py::TestSetWorkingBlock::test_with_block PASSED [ 46%] tests/test_core.py::TestSetWorkingBlock::test_with_block_exception PASSED [ 46%] tests/test_core.py::TestSetWorkingBlock::test_with_block_nested PASSED [ 46%] tests/test_core.py::TestAsGraph::test_as_graph_2 PASSED [ 46%] tests/test_core.py::TestAsGraph::test_as_graph_duplicate_args PASSED [ 46%] tests/test_core.py::TestAsGraph::test_as_graph_memory PASSED [ 46%] tests/test_core.py::TestAsGraph::test_as_graph_trivial PASSED [ 46%] tests/test_core.py::TestSanityCheck::test_duplicate_names PASSED [ 46%] tests/test_core.py::TestSanityCheck::test_extra_wire_in_wirevector_by_name PASSED [ 46%] tests/test_core.py::TestSanityCheck::test_inconsistent_wirevector_by_name PASSED [ 46%] tests/test_core.py::TestSanityCheck::test_missing_bitwidth PASSED [ 46%] tests/test_core.py::TestSanityCheck::test_missing_wire_in_wirevector_by_name PASSED [ 46%] tests/test_core.py::TestSanityCheck::test_not_connected PASSED [ 47%] tests/test_core.py::TestSanityCheck::test_not_driven PASSED [ 47%] tests/test_core.py::TestSanityCheck::test_unknown_wires PASSED [ 47%] tests/test_core.py::TestLogicNets::test_comparison PASSED [ 47%] tests/test_core.py::TestLogicNets::test_equivelence_of_different_nets PASSED [ 47%] tests/test_core.py::TestLogicNets::test_equivelence_of_same_nets PASSED [ 47%] tests/test_core.py::TestLogicNets::test_memory_read_print PASSED [ 47%] tests/test_core.py::TestLogicNets::test_memory_write_print PASSED [ 47%] tests/test_core.py::TestLogicNets::test_net_with_wirevectors PASSED [ 47%] tests/test_core.py::TestLogicNets::test_self_equals PASSED [ 47%] tests/test_core.py::TestLogicNets::test_string_format PASSED [ 47%] tests/test_core.py::TestMemAsyncCheck::test_async_check_should_notpass_with_add PASSED [ 47%] tests/test_core.py::TestMemAsyncCheck::test_async_check_should_pass PASSED [ 47%] tests/test_core.py::TestMemAsyncCheck::test_async_check_should_pass_with_cat PASSED [ 48%] tests/test_core.py::TestMemAsyncCheck::test_async_check_should_pass_with_select PASSED [ 48%] tests/test_core.py::TestNetConnections::test_net_connections_normal PASSED [ 48%] tests/test_core.py::TestNetConnections::test_net_connections_should_be_empty_at_start PASSED [ 48%] tests/test_core.py::TestNetConnections::test_net_connections_with_memblock PASSED [ 48%] tests/test_core.py::TestNetConnections::test_wire_not_in_net_connections PASSED [ 48%] tests/test_core.py::TestNameSanitizer::test_name_collision PASSED [ 48%] tests/test_examples.py::test_all_examples[/builddir/build/BUILD/pyrtl-0.12-build/pyrtl/tests/../examples/renderer-demo.py] FAILED [ 48%] tests/test_examples.py::test_all_examples[/builddir/build/BUILD/pyrtl-0.12-build/pyrtl/tests/../examples/introduction-to-hardware.py] FAILED [ 48%] tests/test_examples.py::test_all_examples[/builddir/build/BUILD/pyrtl-0.12-build/pyrtl/tests/../examples/example8-verilog.py] FAILED [ 48%] tests/test_examples.py::test_all_examples[/builddir/build/BUILD/pyrtl-0.12-build/pyrtl/tests/../examples/example7-synth-timing.py] FAILED [ 48%] tests/test_examples.py::test_all_examples[/builddir/build/BUILD/pyrtl-0.12-build/pyrtl/tests/../examples/example6-memory.py] FAILED [ 48%] tests/test_examples.py::test_all_examples[/builddir/build/BUILD/pyrtl-0.12-build/pyrtl/tests/../examples/example5-introspection.py] FAILED [ 48%] tests/test_examples.py::test_all_examples[/builddir/build/BUILD/pyrtl-0.12-build/pyrtl/tests/../examples/example4-debuggingtools.py] FAILED [ 49%] tests/test_examples.py::test_all_examples[/builddir/build/BUILD/pyrtl-0.12-build/pyrtl/tests/../examples/example3-statemachine.py] FAILED [ 49%] tests/test_examples.py::test_all_examples[/builddir/build/BUILD/pyrtl-0.12-build/pyrtl/tests/../examples/example2-counter.py] FAILED [ 49%] tests/test_examples.py::test_all_examples[/builddir/build/BUILD/pyrtl-0.12-build/pyrtl/tests/../examples/example1.2-wire-struct.py] FAILED [ 49%] tests/test_examples.py::test_all_examples[/builddir/build/BUILD/pyrtl-0.12-build/pyrtl/tests/../examples/example1.1-signed-numbers.py] FAILED [ 49%] tests/test_examples.py::test_all_examples[/builddir/build/BUILD/pyrtl-0.12-build/pyrtl/tests/../examples/example1-combologic.py] FAILED [ 49%] tests/test_examples.py::test_all_examples[/builddir/build/BUILD/pyrtl-0.12-build/pyrtl/tests/../examples/example0-minimum-viable-hardware.py] FAILED [ 49%] tests/test_gate_graph.py::TestDocTests::test_doctests PASSED [ 49%] tests/test_gate_graph.py::TestGateGraph::test_gate_alias_errors PASSED [ 49%] tests/test_gate_graph.py::TestGateGraph::test_gate_attrs PASSED [ 49%] tests/test_gate_graph.py::TestGateGraph::test_gate_retrieval PASSED [ 49%] tests/test_gate_graph.py::TestGateGraph::test_gate_sets PASSED [ 49%] tests/test_gate_graph.py::TestGateGraph::test_get_gate PASSED [ 50%] tests/test_gate_graph.py::TestGateGraph::test_memblock PASSED [ 50%] tests/test_gate_graph.py::TestGateGraph::test_register_gate_backward PASSED [ 50%] tests/test_gate_graph.py::TestGateGraph::test_register_gate_forward PASSED [ 50%] tests/test_gate_graph.py::TestGateGraph::test_register_self_loop PASSED [ 50%] tests/test_gate_graph.py::TestGateGraph::test_select_gate PASSED [ 50%] tests/test_helperfuncs.py::TestDocTests::test_corecircuits_doctests PASSED [ 50%] tests/test_helperfuncs.py::TestDocTests::test_helperfuncs_doctests PASSED [ 50%] tests/test_helperfuncs.py::TestWireVectorList::test_input_list_type PASSED [ 50%] tests/test_helperfuncs.py::TestWireVectorList::test_output_list_type PASSED [ 50%] tests/test_helperfuncs.py::TestWireVectorList::test_register_list_type PASSED [ 50%] tests/test_helperfuncs.py::TestWireVectorList::test_wirevector_list_bitwidth PASSED [ 50%] tests/test_helperfuncs.py::TestWireVectorList::test_wirevector_list_per_wire_width PASSED [ 50%] tests/test_helperfuncs.py::TestWireVectorList::test_wirevector_list_raise_errors PASSED [ 51%] tests/test_helperfuncs.py::TestWireVectorList::test_wirevector_list_type PASSED [ 51%] tests/test_helperfuncs.py::TestNonCoreHelpers::test_infer_val_and_bitwidth PASSED [ 51%] tests/test_helperfuncs.py::TestNonCoreHelpers::test_log2 PASSED [ 51%] tests/test_helperfuncs.py::TestNonCoreHelpers::test_truncate_function PASSED [ 51%] tests/test_helperfuncs.py::TestNonCoreHelpers::test_val_to_signed_integer PASSED [ 51%] tests/test_helperfuncs.py::TestMatchBitpattern::test_match_bitwidth_does_simulation_correct PASSED [ 51%] tests/test_helperfuncs.py::TestMatchBitpattern::test_match_bitwidth_simulates_no_ones_in_pattern PASSED [ 51%] tests/test_helperfuncs.py::TestMatchBitpattern::test_match_bitwidth_simulates_no_zeroes_in_pattern PASSED [ 51%] tests/test_helperfuncs.py::TestMatchBitpattern::test_match_bitwidth_simulates_only_wildcards PASSED [ 51%] tests/test_helperfuncs.py::TestMatchBitpattern::test_match_bitwidth_with_all_fields PASSED [ 51%] tests/test_helperfuncs.py::TestMatchBitpattern::test_match_bitwidth_with_consecutive_fields PASSED [ 51%] tests/test_helperfuncs.py::TestMatchBitpattern::test_match_bitwidth_with_non_consecutive_field PASSED [ 51%] tests/test_helperfuncs.py::TestMatchBitpattern::test_match_bitwidth_with_pattern_matched_fields PASSED [ 52%] tests/test_helperfuncs.py::TestMatchBitpattern::test_match_bitwidth_with_pattern_matched_fields_by_name PASSED [ 52%] tests/test_helperfuncs.py::TestMatchBitpattern::test_match_bitwidth_with_pattern_matched_fields_with_bad_field_map PASSED [ 52%] tests/test_helperfuncs.py::TestMatchBitpattern::test_match_bitwidth_with_pattern_matched_fields_with_field_map PASSED [ 52%] tests/test_helperfuncs.py::TestMatchBitpattern::test_match_bitwidth_with_several_non_consecutive_fields PASSED [ 52%] tests/test_helperfuncs.py::TestMatchBitpattern::test_pattern_type_or_length_mismatch PASSED [ 52%] tests/test_helperfuncs.py::TestBitpatternToVal::test_error_bitpattern_field_not_provided PASSED [ 52%] tests/test_helperfuncs.py::TestBitpatternToVal::test_error_both_ordered_and_named_fields PASSED [ 52%] tests/test_helperfuncs.py::TestBitpatternToVal::test_error_empty_bitpattern PASSED [ 52%] tests/test_helperfuncs.py::TestBitpatternToVal::test_error_invalid_num_unique_patterns PASSED [ 52%] tests/test_helperfuncs.py::TestBitpatternToVal::test_error_unnamed_fields_in_bitpattern PASSED [ 52%] tests/test_helperfuncs.py::TestBitpatternToVal::test_error_value_doesnt_fit_in_field PASSED [ 52%] tests/test_helperfuncs.py::TestBitpatternToVal::test_fields_all_different PASSED [ 52%] tests/test_helperfuncs.py::TestBitpatternToVal::test_named_fields PASSED [ 53%] tests/test_helperfuncs.py::TestBitpatternToVal::test_named_fields_with_field_map PASSED [ 53%] tests/test_helperfuncs.py::TestBitpatternToVal::test_no_fields PASSED [ 53%] tests/test_helperfuncs.py::TestBitpatternToVal::test_ordered_fields PASSED [ 53%] tests/test_helperfuncs.py::TestChop::test_chop_does_simulation_correct PASSED [ 53%] tests/test_helperfuncs.py::TestChop::test_fields_mismatch PASSED [ 53%] tests/test_helperfuncs.py::TestChop::test_wrong_input_types_fail PASSED [ 53%] tests/test_helperfuncs.py::TestBitField_Update::test_bitfield PASSED [ 53%] tests/test_helperfuncs.py::TestBitField_Update::test_bitfield_all_but_lsb PASSED [ 53%] tests/test_helperfuncs.py::TestBitField_Update::test_bitfield_all_but_msb PASSED [ 53%] tests/test_helperfuncs.py::TestBitField_Update::test_bitfield_lsb PASSED [ 53%] tests/test_helperfuncs.py::TestBitField_Update::test_bitfield_msb PASSED [ 53%] tests/test_helperfuncs.py::TestBitField_Update::test_field_too_big PASSED [ 54%] tests/test_helperfuncs.py::TestBitField_Update::test_field_too_big_truncate PASSED [ 54%] tests/test_helperfuncs.py::TestBitField_Update::test_no_bits_to_update PASSED [ 54%] tests/test_helperfuncs.py::TestBitField_Update_Set::test_bitfield PASSED [ 54%] tests/test_helperfuncs.py::TestBitField_Update_Set::test_field_too_big PASSED [ 54%] tests/test_helperfuncs.py::TestBitField_Update_Set::test_field_too_big_truncate PASSED [ 54%] tests/test_helperfuncs.py::TestBitField_Update_Set::test_no_bits_to_update PASSED [ 54%] tests/test_helperfuncs.py::TestBitField_Update_Set::test_overlapping_ranges PASSED [ 54%] tests/test_helperfuncs.py::TestAnyAll::test_all_does_simulation_correct PASSED [ 54%] tests/test_helperfuncs.py::TestAnyAll::test_all_only_on_1_bit_vectors PASSED [ 54%] tests/test_helperfuncs.py::TestAnyAll::test_all_works_with_consts PASSED [ 54%] tests/test_helperfuncs.py::TestAnyAll::test_any_does_simulation_correct PASSED [ 54%] tests/test_helperfuncs.py::TestAnyAll::test_any_only_on_1_bit_vectors PASSED [ 54%] tests/test_helperfuncs.py::TestAnyAll::test_any_works_with_consts PASSED [ 55%] tests/test_helperfuncs.py::TestTreeReduce::test_empty PASSED [ 55%] tests/test_helperfuncs.py::TestTreeReduce::test_xor PASSED [ 55%] tests/test_helperfuncs.py::TestXorAllBits::test_list_of_long_wires PASSED [ 55%] tests/test_helperfuncs.py::TestXorAllBits::test_list_of_one_bit_wires PASSED [ 55%] tests/test_helperfuncs.py::TestXorAllBits::test_one_wirevector PASSED [ 55%] tests/test_helperfuncs.py::TestMux::test_mux_enough_inputs_with_default PASSED [ 55%] tests/test_helperfuncs.py::TestMux::test_mux_not_enough_inputs PASSED [ 55%] tests/test_helperfuncs.py::TestMux::test_mux_not_enough_inputs_but_default PASSED [ 55%] tests/test_helperfuncs.py::TestMux::test_mux_too_many_inputs PASSED [ 55%] tests/test_helperfuncs.py::TestMux::test_mux_too_many_inputs_with_default PASSED [ 55%] tests/test_helperfuncs.py::TestMuxSimulation::test_mux_with_default PASSED [ 55%] tests/test_helperfuncs.py::TestMuxSimulation::test_select PASSED [ 55%] tests/test_helperfuncs.py::TestMuxSimulation::test_select_no_pred PASSED [ 56%] tests/test_helperfuncs.py::TestMuxSimulation::test_simple_mux_1 PASSED [ 56%] tests/test_helperfuncs.py::TestMuxSimulation::test_simple_mux_2 PASSED [ 56%] tests/test_helperfuncs.py::TestRtlProbe::test_bad_probe_wire PASSED [ 56%] tests/test_helperfuncs.py::TestRtlProbe::test_probe_wire PASSED [ 56%] tests/test_helperfuncs.py::TestRtlProbe::test_simple_probe PASSED [ 56%] tests/test_helperfuncs.py::TestRtlProbe::test_simple_probe_debug PASSED [ 56%] tests/test_helperfuncs.py::TestShiftSimulation::test_sla PASSED [ 56%] tests/test_helperfuncs.py::TestShiftSimulation::test_sla_big PASSED [ 56%] tests/test_helperfuncs.py::TestShiftSimulation::test_sla_big_integer_shift_amount PASSED [ 56%] tests/test_helperfuncs.py::TestShiftSimulation::test_sla_integer_shift_amount PASSED [ 56%] tests/test_helperfuncs.py::TestShiftSimulation::test_sla_over PASSED [ 56%] tests/test_helperfuncs.py::TestShiftSimulation::test_sll PASSED [ 57%] tests/test_helperfuncs.py::TestShiftSimulation::test_sll_big PASSED [ 57%] tests/test_helperfuncs.py::TestShiftSimulation::test_sll_big_integer_shift_amount PASSED [ 57%] tests/test_helperfuncs.py::TestShiftSimulation::test_sll_integer_shift_amount PASSED [ 57%] tests/test_helperfuncs.py::TestShiftSimulation::test_sll_over PASSED [ 57%] tests/test_helperfuncs.py::TestShiftSimulation::test_sra PASSED [ 57%] tests/test_helperfuncs.py::TestShiftSimulation::test_sra_big PASSED [ 57%] tests/test_helperfuncs.py::TestShiftSimulation::test_sra_big_integer_shift_amount PASSED [ 57%] tests/test_helperfuncs.py::TestShiftSimulation::test_sra_integer_shift_amount PASSED [ 57%] tests/test_helperfuncs.py::TestShiftSimulation::test_sra_over PASSED [ 57%] tests/test_helperfuncs.py::TestShiftSimulation::test_srl PASSED [ 57%] tests/test_helperfuncs.py::TestShiftSimulation::test_srl_big PASSED [ 57%] tests/test_helperfuncs.py::TestShiftSimulation::test_srl_big_integer_shift_amount PASSED [ 57%] tests/test_helperfuncs.py::TestShiftSimulation::test_srl_integer_shift_amount PASSED [ 58%] tests/test_helperfuncs.py::TestShiftSimulation::test_srl_over PASSED [ 58%] tests/test_helperfuncs.py::TestBasicMult::test_mult_1 PASSED [ 58%] tests/test_helperfuncs.py::TestBasicMult::test_mult_1_1 PASSED [ 58%] tests/test_helperfuncs.py::TestBasicMult::test_mult_2 PASSED [ 58%] tests/test_helperfuncs.py::TestBasicMult::test_mult_3 PASSED [ 58%] tests/test_helperfuncs.py::TestRtlAssert::test_assert_fastsimulation PASSED [ 58%] tests/test_helperfuncs.py::TestRtlAssert::test_assert_simulation PASSED [ 58%] tests/test_helperfuncs.py::TestRtlAssert::test_bad_type PASSED [ 58%] tests/test_helperfuncs.py::TestRtlAssert::test_create_assert PASSED [ 58%] tests/test_helperfuncs.py::TestRtlAssert::test_duplicate_assert PASSED [ 58%] tests/test_helperfuncs.py::TestRtlAssert::test_invalid_exception_type PASSED [ 58%] tests/test_helperfuncs.py::TestRtlAssert::test_wire_from_another_block PASSED [ 58%] tests/test_helperfuncs.py::TestRtlAssert::test_wire_outside_block PASSED [ 59%] tests/test_helperfuncs.py::TestRtlAssert::test_wrong_len PASSED [ 59%] tests/test_helperfuncs.py::TestLoopDetection::test_edge_case_1 PASSED [ 59%] tests/test_helperfuncs.py::TestLoopDetection::test_loop_1 PASSED [ 59%] tests/test_helperfuncs.py::TestLoopDetection::test_loop_2 PASSED [ 59%] tests/test_helperfuncs.py::TestLoopDetection::test_no_loop_1 PASSED [ 59%] tests/test_helperfuncs.py::TestLoopDetection::test_no_loop_reg_1 PASSED [ 59%] tests/test_helperfuncs.py::TestLoopDetection::test_no_loop_special_ops PASSED [ 59%] tests/test_helperfuncs.py::TestWireStruct::test_anonymous_concatenate PASSED [ 59%] tests/test_helperfuncs.py::TestWireStruct::test_anonymous_pixel_concatenate PASSED [ 59%] tests/test_helperfuncs.py::TestWireStruct::test_anonymous_pixel_slice PASSED [ 59%] tests/test_helperfuncs.py::TestWireStruct::test_anonymous_slice PASSED [ 59%] tests/test_helperfuncs.py::TestWireStruct::test_concatenate PASSED [ 60%] tests/test_helperfuncs.py::TestWireStruct::test_delayed_concatenate PASSED [ 60%] tests/test_helperfuncs.py::TestWireStruct::test_delayed_conditional_concatenate PASSED [ 60%] tests/test_helperfuncs.py::TestWireStruct::test_delayed_conditional_slice PASSED [ 60%] tests/test_helperfuncs.py::TestWireStruct::test_delayed_slice PASSED [ 60%] tests/test_helperfuncs.py::TestWireStruct::test_exceptions PASSED [ 60%] tests/test_helperfuncs.py::TestWireStruct::test_input_concatenate PASSED [ 60%] tests/test_helperfuncs.py::TestWireStruct::test_input_slice PASSED [ 60%] tests/test_helperfuncs.py::TestWireStruct::test_output_concatenate PASSED [ 60%] tests/test_helperfuncs.py::TestWireStruct::test_output_slice PASSED [ 60%] tests/test_helperfuncs.py::TestWireStruct::test_pixel_concatenate PASSED [ 60%] tests/test_helperfuncs.py::TestWireStruct::test_pixel_slice PASSED [ 60%] tests/test_helperfuncs.py::TestWireStruct::test_register_slice PASSED [ 60%] tests/test_helperfuncs.py::TestWireStruct::test_slice PASSED [ 61%] tests/test_helperfuncs.py::TestWireStruct::test_underscore_value_slice PASSED [ 61%] tests/test_helperfuncs.py::TestWireMatrix::test_anonymous_wire_matrix_concatenate PASSED [ 61%] tests/test_helperfuncs.py::TestWireMatrix::test_anonymous_wire_matrix_slice PASSED [ 61%] tests/test_helperfuncs.py::TestWireMatrix::test_byte_matrix_const PASSED [ 61%] tests/test_helperfuncs.py::TestWireMatrix::test_byte_matrix_input_concatenate PASSED [ 61%] tests/test_helperfuncs.py::TestWireMatrix::test_byte_matrix_input_slice PASSED [ 61%] tests/test_helperfuncs.py::TestWireMatrix::test_delayed_concatenate PASSED [ 61%] tests/test_helperfuncs.py::TestWireMatrix::test_delayed_conditional_concatenate PASSED [ 61%] tests/test_helperfuncs.py::TestWireMatrix::test_delayed_conditional_slice PASSED [ 61%] tests/test_helperfuncs.py::TestWireMatrix::test_delayed_slice PASSED [ 61%] tests/test_helperfuncs.py::TestWireMatrix::test_wire_matrix_composition_cached_data PASSED [ 61%] tests/test_helperfuncs.py::TestWireMatrix::test_wire_matrix_composition_dword PASSED [ 61%] tests/test_helperfuncs.py::TestWireMatrix::test_wire_matrix_concatenate PASSED [ 62%] tests/test_helperfuncs.py::TestWireMatrix::test_wire_matrix_exceptions PASSED [ 62%] tests/test_helperfuncs.py::TestWireMatrix::test_wire_matrix_input PASSED [ 62%] tests/test_helperfuncs.py::TestWireMatrix::test_wire_matrix_register PASSED [ 62%] tests/test_helperfuncs.py::TestWireMatrix::test_wire_matrix_slice PASSED [ 62%] tests/test_helperfuncs.py::TestWireMatrix::test_wire_matrix_word_concatenate PASSED [ 62%] tests/test_helperfuncs.py::TestWireMatrix::test_wire_matrix_word_slice PASSED [ 62%] tests/test_helperfuncs.py::TestOneHotToBinary::test_multiple_ones PASSED [ 62%] tests/test_helperfuncs.py::TestOneHotToBinary::test_no_ones PASSED [ 62%] tests/test_helperfuncs.py::TestOneHotToBinary::test_simple_onehot PASSED [ 62%] tests/test_helperfuncs.py::TestBinaryToOneHot::test_simple_binary_to_one_hot PASSED [ 62%] tests/test_helperfuncs.py::TestBinaryToOneHot::test_with_max_bitwidth PASSED [ 62%] tests/test_importexport.py::TestInputFromBlif::test_blif_and_gate_correct PASSED [ 62%] tests/test_importexport.py::TestInputFromBlif::test_blif_error_bad_coverset PASSED [ 63%] tests/test_importexport.py::TestInputFromBlif::test_blif_error_zeroes_in_offset PASSED [ 63%] tests/test_importexport.py::TestInputFromBlif::test_blif_input_simulates_correctly_with_merged_outputs PASSED [ 63%] tests/test_importexport.py::TestInputFromBlif::test_blif_input_simulates_correctly_with_unmerged_outputs PASSED [ 63%] tests/test_importexport.py::TestInputFromBlif::test_blif_nand_gate_to_primitives_correct PASSED [ 63%] tests/test_importexport.py::TestInputFromBlif::test_blif_nor_gate_correct PASSED [ 63%] tests/test_importexport.py::TestInputFromBlif::test_blif_not_gate_correct PASSED [ 63%] tests/test_importexport.py::TestInputFromBlif::test_blif_or_gate_correct PASSED [ 63%] tests/test_importexport.py::TestInputFromBlif::test_blif_with_clock_passing PASSED [ 63%] tests/test_importexport.py::TestInputFromBlif::test_blif_with_multiple_modules_merged_io PASSED [ 63%] tests/test_importexport.py::TestInputFromBlif::test_blif_with_multiple_modules_unmerged_io PASSED [ 63%] tests/test_importexport.py::TestInputFromBlif::test_blif_with_output_as_arg PASSED [ 63%] tests/test_importexport.py::TestInputFromBlif::test_blif_xor_gate_correct PASSED [ 64%] tests/test_importexport.py::TestInputFromBlif::test_combo_blif_input_has_correct_io_interface PASSED [ 64%] tests/test_importexport.py::TestInputFromBlif::test_correct_interface_with_unmerged_io PASSED [ 64%] tests/test_importexport.py::TestInputFromBlif::test_sequential_blif_input_has_correct_io_interface PASSED [ 64%] tests/test_importexport.py::TestInputFromBlif::test_sequential_blif_input_has_correct_io_interface_counter PASSED [ 64%] tests/test_importexport.py::TestVerilogNames::test_verilog_check_valid_name_bad PASSED [ 64%] tests/test_importexport.py::TestVerilogNames::test_verilog_check_valid_name_good PASSED [ 64%] tests/test_importexport.py::TestVerilogOutput::test_bit_slice_inputs PASSED [ 64%] tests/test_importexport.py::TestVerilogOutput::test_custom_module_name PASSED [ 64%] tests/test_importexport.py::TestVerilogOutput::test_error_existing_reset_wire PASSED [ 64%] tests/test_importexport.py::TestVerilogOutput::test_error_invalid_add_reset PASSED [ 64%] tests/test_importexport.py::TestVerilogOutput::test_existing_reset_wire_without_add_reset PASSED [ 64%] tests/test_importexport.py::TestVerilogOutput::test_mems_with_no_writes PASSED [ 64%] tests/test_importexport.py::TestVerilogOutput::test_register_reset_value PASSED [ 65%] tests/test_importexport.py::TestVerilogOutput::test_romblock_does_not_throw_error PASSED [ 65%] tests/test_importexport.py::TestVerilogOutput::test_textual_consistency_large PASSED [ 65%] tests/test_importexport.py::TestVerilogOutput::test_textual_consistency_small PASSED [ 65%] tests/test_importexport.py::TestVerilogOutput::test_textual_consistency_with_async_reset PASSED [ 65%] tests/test_importexport.py::TestVerilogOutput::test_textual_consistency_with_no_reset PASSED [ 65%] tests/test_importexport.py::TestVerilogOutput::test_textual_consistency_with_sync_reset PASSED [ 65%] tests/test_importexport.py::TestVerilogInput::test_error_import_bad_file SKIPPED [ 65%] tests/test_importexport.py::TestVerilogInput::test_import_counter SKIPPED [ 65%] tests/test_importexport.py::TestVerilogInput::test_import_counter_with_reset SKIPPED [ 65%] tests/test_importexport.py::TestVerilogInput::test_import_multi_module_auto_select_top_module SKIPPED [ 65%] tests/test_importexport.py::TestVerilogInput::test_import_multi_module_specified_module SKIPPED [ 65%] tests/test_importexport.py::TestVerilogInput::test_import_small SKIPPED [ 65%] tests/test_importexport.py::TestOutputTestbench::test_custom_module_name_testbench PASSED [ 66%] tests/test_importexport.py::TestOutputTestbench::test_error_verilog_testbench_existing_reset_wire PASSED [ 66%] tests/test_importexport.py::TestOutputTestbench::test_error_verilog_testbench_invalid_add_reset PASSED [ 66%] tests/test_importexport.py::TestOutputTestbench::test_only_initialize_memblocks PASSED [ 66%] tests/test_importexport.py::TestOutputTestbench::test_verilog_testbench_consistency PASSED [ 66%] tests/test_importexport.py::TestOutputTestbench::test_verilog_testbench_does_not_throw_error PASSED [ 66%] tests/test_importexport.py::TestOutputTestbench::test_verilog_testbench_existing_reset_wire_without_add_reset PASSED [ 66%] tests/test_importexport.py::TestOutputTestbench::test_verilog_testbench_no_reset_consistency PASSED [ 66%] tests/test_importexport.py::TestOutputFirrtl::test_textual_consistency_concats PASSED [ 66%] tests/test_importexport.py::TestOutputFirrtl::test_textual_consistency_selects PASSED [ 66%] tests/test_importexport.py::TestInputISCASBench::test_bench_with_same_io_name PASSED [ 66%] tests/test_importexport.py::TestInputISCASBench::test_combinational_bench PASSED [ 66%] tests/test_importexport.py::TestInputISCASBench::test_sequential_bench PASSED [ 67%] tests/test_importexport.py::TestInputISCASBench::test_simulation_bench PASSED [ 67%] tests/test_memblock.py::TestDocTests::test_doctests PASSED [ 67%] tests/test_memblock.py::RTLMemBlockDesignBase::test_2read_1write PASSED [ 67%] tests/test_memblock.py::RTLMemBlockDesignBase::test_memblock_added_default_named PASSED [ 67%] tests/test_memblock.py::RTLMemBlockDesignBase::test_memblock_added_user_named PASSED [ 67%] tests/test_memblock.py::RTLMemBlockDesignBase::test_memblock_assign_with_extension PASSED [ 67%] tests/test_memblock.py::RTLMemBlockDesignBase::test_memblock_connection_with_ints PASSED [ 67%] tests/test_memblock.py::RTLMemBlockDesignBase::test_memblock_direct_assignment_error PASSED [ 67%] tests/test_memblock.py::RTLMemBlockDesignBase::test_memblock_simple PASSED [ 67%] tests/test_memblock.py::RTLMemBlockDesignBase::test_memblock_to_memblock_direct_operation PASSED [ 67%] tests/test_memblock.py::RTLMemBlockDesignBase::test_memblock_with_write_enable_with_equalsign PASSED [ 67%] tests/test_memblock.py::RTLMemBlockDesignBase::test_over_max_read_ports PASSED [ 67%] tests/test_memblock.py::RTLMemBlockDesignBase::test_over_max_write_ports PASSED [ 68%] tests/test_memblock.py::RTLMemBlockErrorTests::test_memblock_enable_signal_not_1_bit PASSED [ 68%] tests/test_memblock.py::RTLMemBlockErrorTests::test_memblock_write_data_larger_than_memory_bitwidth PASSED [ 68%] tests/test_memblock.py::RTLMemBlockErrorTests::test_memindex_bitwidth_greater_than_addrwidth PASSED [ 68%] tests/test_memblock.py::RTLMemBlockErrorTests::test_negative_addrwidth PASSED [ 68%] tests/test_memblock.py::RTLMemBlockErrorTests::test_negative_bitwidth PASSED [ 68%] tests/test_memblock.py::RTLMemBlockErrorTests::test_read_ports_exception PASSED [ 68%] tests/test_memblock.py::MemIndexedTests::test_memindexed_getitem PASSED [ 68%] tests/test_memblock.py::MemIndexedTests::test_memindexed_len PASSED [ 68%] tests/test_memblock.py::MemIndexedTests::test_memindexed_name PASSED [ 68%] tests/test_memblock.py::MemIndexedTests::test_memindexed_sign_extended PASSED [ 68%] tests/test_memblock.py::MemIndexedTests::test_memindexed_zero_extended PASSED [ 68%] tests/test_memblock.py::MemIndexedTests::test_read_memindexed_ilshift PASSED [ 68%] tests/test_memblock.py::MemIndexedTests::test_read_memindexed_ior PASSED [ 69%] tests/test_memblock.py::MemIndexedTests::test_write_memindexed_ilshift PASSED [ 69%] tests/test_memblock.py::MemIndexedTests::test_write_memindexed_ior PASSED [ 69%] tests/test_memblock.py::RTLRomBlockWiring::test_direct_assignment_error PASSED [ 69%] tests/test_memblock.py::RTLRomBlockWiring::test_int_index_error PASSED [ 69%] tests/test_memblock.py::RTLRomBlockWiring::test_other_non_wire_index_error PASSED [ 69%] tests/test_memblock.py::RTLRomBlockWiring::test_read PASSED [ 69%] tests/test_memblock.py::RTLRomBlockWiring::test_rom_to_rom_direct_operation PASSED [ 69%] tests/test_memblock.py::RTLRomBlockWiring::test_write PASSED [ 69%] tests/test_memblock.py::RTLRomGetReadData::test_build_new_roms PASSED [ 69%] tests/test_memblock.py::RTLRomGetReadData::test_invalid_address PASSED [ 69%] tests/test_memblock.py::RTLRomGetReadData::test_invalid_address_types PASSED [ 69%] tests/test_memblock.py::RTLRomGetReadData::test_invalid_value_function PASSED [ 70%] tests/test_memblock.py::RTLRomGetReadData::test_out_of_range PASSED [ 70%] tests/test_memblock.py::RTLRomGetReadData::test_over_max_read_ports PASSED [ 70%] tests/test_memblock.py::RTLRomGetReadData::test_valid_get_read PASSED [ 70%] tests/test_memblock.py::RTLRomGetReadData::test_value_out_of_range PASSED [ 70%] tests/test_memblock.py::TestSignedRomBlockData::test_negative_romdata PASSED [ 70%] tests/test_memblock.py::TestSignedRomBlockData::test_unsigned_romdata PASSED [ 70%] tests/test_passes.py::TestSynthesis::test_and_simulation PASSED [ 70%] tests/test_passes.py::TestSynthesis::test_const_nobitwidth_simulation PASSED [ 70%] tests/test_passes.py::TestSynthesis::test_minus_simulation PASSED [ 70%] tests/test_passes.py::TestSynthesis::test_minus_simulation2 PASSED [ 70%] tests/test_passes.py::TestSynthesis::test_mux_simulation PASSED [ 70%] tests/test_passes.py::TestSynthesis::test_not_simulation PASSED [ 70%] tests/test_passes.py::TestSynthesis::test_or_simulation PASSED [ 71%] tests/test_passes.py::TestSynthesis::test_plus_simulation PASSED [ 71%] tests/test_passes.py::TestSynthesis::test_synthesize_regs_mapped_correctly PASSED [ 71%] tests/test_passes.py::TestSynthesis::test_xor_simulation PASSED [ 71%] tests/test_passes.py::TestIOInterfaceSynthesis::test_synthesize_does_not_update_working_block PASSED [ 71%] tests/test_passes.py::TestIOInterfaceSynthesis::test_synthesize_merged_io_mapped_correctly PASSED [ 71%] tests/test_passes.py::TestIOInterfaceSynthesis::test_synthesize_merged_io_names_correct PASSED [ 71%] tests/test_passes.py::TestIOInterfaceSynthesis::test_synthesize_merged_io_simulates_correctly PASSED [ 71%] tests/test_passes.py::TestIOInterfaceSynthesis::test_synthesize_unmerged_io_mapped_correctly PASSED [ 71%] tests/test_passes.py::TestIOInterfaceSynthesis::test_synthesize_unmerged_io_names_correct PASSED [ 71%] tests/test_passes.py::TestIOInterfaceSynthesis::test_synthesize_unmerged_io_simulates_correctly PASSED [ 71%] tests/test_passes.py::TestMultiplierSynthesis::test_chained_mul PASSED [ 71%] tests/test_passes.py::TestMultiplierSynthesis::test_single_mul PASSED [ 71%] tests/test_passes.py::TestMultiplierSynthesis::test_singlebit_mul PASSED [ 72%] tests/test_passes.py::TestComparisonSynthesis::test_eq PASSED [ 72%] tests/test_passes.py::TestComparisonSynthesis::test_gt PASSED [ 72%] tests/test_passes.py::TestComparisonSynthesis::test_lt PASSED [ 72%] tests/test_passes.py::TestOptimization::test_dont_remove_double_inverts_another_user PASSED [ 72%] tests/test_passes.py::TestOptimization::test_multiple_double_invert_chains PASSED [ 72%] tests/test_passes.py::TestOptimization::test_remove_double_inverts_1_invert PASSED [ 72%] tests/test_passes.py::TestOptimization::test_remove_double_inverts_2_inverts PASSED [ 72%] tests/test_passes.py::TestOptimization::test_remove_double_inverts_3_inverts PASSED [ 72%] tests/test_passes.py::TestOptimization::test_remove_double_inverts_4_inverts PASSED [ 72%] tests/test_passes.py::TestOptimization::test_remove_double_inverts_5_inverts PASSED [ 72%] tests/test_passes.py::TestOptimization::test_remove_double_inverts_6_inverts PASSED [ 72%] tests/test_passes.py::TestOptimization::test_slice_net_removal_1 PASSED [ 72%] tests/test_passes.py::TestOptimization::test_slice_net_removal_2 PASSED [ 73%] tests/test_passes.py::TestOptimization::test_slice_net_removal_3 PASSED [ 73%] tests/test_passes.py::TestOptimization::test_slice_net_removal_4 PASSED [ 73%] tests/test_passes.py::TestOptimization::test_wire_net_removal_1 PASSED [ 73%] tests/test_passes.py::TestOptimization::test_wire_net_removal_2 PASSED [ 73%] tests/test_passes.py::TestConstFolding::test_adv_one_var_op_1 PASSED [ 73%] tests/test_passes.py::TestConstFolding::test_adv_one_var_op_2 PASSED [ 73%] tests/test_passes.py::TestConstFolding::test_basic_one_var_op_1 PASSED [ 73%] tests/test_passes.py::TestConstFolding::test_basic_two_var_op_1 PASSED [ 73%] tests/test_passes.py::TestConstFolding::test_basic_two_var_op_2 PASSED [ 73%] tests/test_passes.py::TestConstFolding::test_basic_two_var_op_3 PASSED [ 73%] tests/test_passes.py::TestConstFolding::test_two_var_op_correct_not_wire_replacement PASSED [ 73%] tests/test_passes.py::TestConstFolding::test_two_var_op_correct_wire_prop PASSED [ 74%] tests/test_passes.py::TestConstFolding::test_two_var_op_produce_not PASSED [ 74%] tests/test_passes.py::TestConstFolding::test_unsynthesized_inversion PASSED [ 74%] tests/test_passes.py::TestSubexpElimination::test_basic_1 PASSED [ 74%] tests/test_passes.py::TestSubexpElimination::test_concat PASSED [ 74%] tests/test_passes.py::TestSubexpElimination::test_const_different_bitwidth_1 PASSED [ 74%] tests/test_passes.py::TestSubexpElimination::test_const_values_1 PASSED [ 74%] tests/test_passes.py::TestSubexpElimination::test_const_values_2 PASSED [ 74%] tests/test_passes.py::TestSubexpElimination::test_different_arg_order PASSED [ 74%] tests/test_passes.py::TestSubexpElimination::test_multiple_elimination PASSED [ 74%] tests/test_passes.py::TestSubexpElimination::test_nested_elimination PASSED [ 74%] tests/test_passes.py::TestSubexpElimination::test_no_elimination_of_different_const_bitwidths PASSED [ 74%] tests/test_passes.py::TestSubexpElimination::test_order_dependent_ops PASSED [ 74%] tests/test_passes.py::TestSynthPasses::test_and_inverter_synth_adder PASSED [ 75%] tests/test_passes.py::TestSynthPasses::test_and_inverter_synth_and PASSED [ 75%] tests/test_passes.py::TestSynthPasses::test_and_inverter_synth_or PASSED [ 75%] tests/test_passes.py::TestSynthPasses::test_and_inverter_synth_xor PASSED [ 75%] tests/test_passes.py::TestSynthPasses::test_nand_synth_adder PASSED [ 75%] tests/test_passes.py::TestSynthPasses::test_nand_synth_and PASSED [ 75%] tests/test_passes.py::TestSynthPasses::test_nand_synth_or PASSED [ 75%] tests/test_passes.py::TestSynthPasses::test_nand_synth_xor PASSED [ 75%] tests/test_passes.py::TestSynthOptTiming::test_adder PASSED [ 75%] tests/test_passes.py::TestSynthOptTiming::test_all_mem_1 PASSED [ 75%] tests/test_passes.py::TestSynthOptTiming::test_combo_1 PASSED [ 75%] tests/test_passes.py::TestSynthOptTiming::test_const_folding_complex_1 PASSED [ 75%] tests/test_passes.py::TestSynthOptTiming::test_sanity_check PASSED [ 75%] tests/test_passes.py::TestSynthOptTiming::test_timing_basic_2 PASSED [ 76%] tests/test_passes.py::TestSynthOptTiming::test_timing_error PASSED [ 76%] tests/test_passes.py::TestSynthOptTiming::test_wirevector_1 PASSED [ 76%] tests/test_passes.py::TestConcatAndSelectSimplification::test_one_bit_selects PASSED [ 76%] tests/test_passes.py::TestConcatAndSelectSimplification::test_two_way_concat PASSED [ 76%] tests/test_passes.py::TestDirectlyConnectedOutputs::test_several_outputs PASSED [ 76%] tests/test_passes.py::TestDirectlyConnectedOutputs::test_several_outputs_simulates_correctly PASSED [ 76%] tests/test_passes.py::TestDirectlyConnectedOutputs::test_single_output PASSED [ 76%] tests/test_passes.py::TestDirectlyConnectedOutputs::test_single_output_simulates_correctly PASSED [ 76%] tests/test_passes.py::TestDirectlyConnectedOutputs::test_some_outputs_unaffected PASSED [ 76%] tests/test_passes.py::TestTwoWayFanout::test_two_way_fanout_large_design PASSED [ 76%] tests/test_passes.py::TestTwoWayFanout::test_two_way_fanout_medium_design PASSED [ 76%] tests/test_passes.py::TestTwoWayFanout::test_two_way_fanout_small_design PASSED [ 77%] tests/test_signed.py::TestComparisonBasicOperationsMSB1::test_basic_signed_gt PASSED [ 77%] tests/test_signed.py::TestComparisonBasicOperationsMSB1::test_basic_signed_gte PASSED [ 77%] tests/test_signed.py::TestComparisonBasicOperationsMSB1::test_basic_signed_lt PASSED [ 77%] tests/test_signed.py::TestComparisonBasicOperationsMSB1::test_basic_signed_lte PASSED [ 77%] tests/test_signed.py::TestComparisonBasicOperationsMSB1::test_basic_unsigned_gt PASSED [ 77%] tests/test_signed.py::TestComparisonBasicOperationsMSB1::test_basic_unsigned_gte PASSED [ 77%] tests/test_signed.py::TestComparisonBasicOperationsMSB1::test_basic_unsigned_lt PASSED [ 77%] tests/test_signed.py::TestComparisonBasicOperationsMSB1::test_basic_unsigned_lte PASSED [ 77%] tests/test_signed.py::TestComparisonBasicOperations_MSB0::test_basic_signed_gt PASSED [ 77%] tests/test_signed.py::TestComparisonBasicOperations_MSB0::test_basic_signed_gte PASSED [ 77%] tests/test_signed.py::TestComparisonBasicOperations_MSB0::test_basic_signed_lt PASSED [ 77%] tests/test_signed.py::TestComparisonBasicOperations_MSB0::test_basic_signed_lte PASSED [ 77%] tests/test_signed.py::TestComparisonBasicOperations_MSB0::test_basic_unsigned_gt PASSED [ 78%] tests/test_signed.py::TestComparisonBasicOperations_MSB0::test_basic_unsigned_gte PASSED [ 78%] tests/test_signed.py::TestComparisonBasicOperations_MSB0::test_basic_unsigned_lt PASSED [ 78%] tests/test_signed.py::TestComparisonBasicOperations_MSB0::test_basic_unsigned_lte PASSED [ 78%] tests/test_signed.py::TestSignedArithBasicOperations::test_basic_signed_add PASSED [ 78%] tests/test_signed.py::TestSignedArithBasicOperations::test_basic_signed_add_neg_integer PASSED [ 78%] tests/test_signed.py::TestSignedArithBasicOperations::test_basic_signed_add_signed_const PASSED [ 78%] tests/test_signed.py::TestSignedArithBasicOperations::test_basic_signed_mult PASSED [ 78%] tests/test_signed.py::TestSignedArithBasicOperations::test_basic_signed_mult_commutative PASSED [ 78%] tests/test_signed.py::TestSignedArithBasicOperations::test_basic_signed_mult_const_with_bitwidth PASSED [ 78%] tests/test_signed.py::TestSignedArithBasicOperations::test_basic_signed_mult_neg_integer PASSED [ 78%] tests/test_signed.py::TestSignedArithBasicOperations::test_basic_signed_mult_signed_const PASSED [ 78%] tests/test_signed.py::TestSignedArithmeticExhaustive::test_signed_add PASSED [ 78%] tests/test_signed.py::TestSignedArithmeticExhaustive::test_signed_mult PASSED [ 79%] tests/test_signed.py::TestSignedArithmeticExhaustive::test_signed_sub PASSED [ 79%] tests/test_simulation.py::TestDocTests::test_doctests PASSED [ 79%] tests/test_simulation.py::TestTraceWithBasicOpsSimulation::test_and_simulation PASSED [ 79%] tests/test_simulation.py::TestTraceWithBasicOpsSimulation::test_bitslice2_and_concat_simulation PASSED [ 79%] tests/test_simulation.py::TestTraceWithBasicOpsSimulation::test_bitslice_and_concat_simulation PASSED [ 79%] tests/test_simulation.py::TestTraceWithBasicOpsSimulation::test_const_associativity_int_simulation PASSED [ 79%] tests/test_simulation.py::TestTraceWithBasicOpsSimulation::test_const_associativity_string_simulation PASSED [ 79%] tests/test_simulation.py::TestTraceWithBasicOpsSimulation::test_const_nobitwidth_simulation PASSED [ 79%] tests/test_simulation.py::TestTraceWithBasicOpsSimulation::test_const_rawint_simulation PASSED [ 79%] tests/test_simulation.py::TestTraceWithBasicOpsSimulation::test_const_verilogbig_simulation PASSED [ 79%] tests/test_simulation.py::TestTraceWithBasicOpsSimulation::test_const_veriloghuge2_simulation PASSED [ 79%] tests/test_simulation.py::TestTraceWithBasicOpsSimulation::test_const_veriloghuge_simulation PASSED [ 80%] tests/test_simulation.py::TestTraceWithBasicOpsSimulation::test_const_verilogsmall_simulation PASSED [ 80%] tests/test_simulation.py::TestTraceWithBasicOpsSimulation::test_minus_sim_overflow PASSED [ 80%] tests/test_simulation.py::TestTraceWithBasicOpsSimulation::test_minus_simulation PASSED [ 80%] tests/test_simulation.py::TestTraceWithBasicOpsSimulation::test_multiply_simulation PASSED [ 80%] tests/test_simulation.py::TestTraceWithBasicOpsSimulation::test_nand_simulation PASSED [ 80%] tests/test_simulation.py::TestTraceWithBasicOpsSimulation::test_negative_input PASSED [ 80%] tests/test_simulation.py::TestTraceWithBasicOpsSimulation::test_not_simulation PASSED [ 80%] tests/test_simulation.py::TestTraceWithBasicOpsSimulation::test_or_simulation PASSED [ 80%] tests/test_simulation.py::TestTraceWithBasicOpsSimulation::test_plus_simulation PASSED [ 80%] tests/test_simulation.py::TestTraceWithBasicOpsSimulation::test_reg_to_reg_simulation PASSED [ 80%] tests/test_simulation.py::TestTraceWithBasicOpsSimulation::test_xor_simulation PASSED [ 80%] tests/test_simulation.py::TestTraceWithBasicOpsFastSimulation::test_and_simulation PASSED [ 80%] tests/test_simulation.py::TestTraceWithBasicOpsFastSimulation::test_bitslice2_and_concat_simulation PASSED [ 81%] tests/test_simulation.py::TestTraceWithBasicOpsFastSimulation::test_bitslice_and_concat_simulation PASSED [ 81%] tests/test_simulation.py::TestTraceWithBasicOpsFastSimulation::test_const_associativity_int_simulation PASSED [ 81%] tests/test_simulation.py::TestTraceWithBasicOpsFastSimulation::test_const_associativity_string_simulation PASSED [ 81%] tests/test_simulation.py::TestTraceWithBasicOpsFastSimulation::test_const_nobitwidth_simulation PASSED [ 81%] tests/test_simulation.py::TestTraceWithBasicOpsFastSimulation::test_const_rawint_simulation PASSED [ 81%] tests/test_simulation.py::TestTraceWithBasicOpsFastSimulation::test_const_verilogbig_simulation PASSED [ 81%] tests/test_simulation.py::TestTraceWithBasicOpsFastSimulation::test_const_veriloghuge2_simulation PASSED [ 81%] tests/test_simulation.py::TestTraceWithBasicOpsFastSimulation::test_const_veriloghuge_simulation PASSED [ 81%] tests/test_simulation.py::TestTraceWithBasicOpsFastSimulation::test_const_verilogsmall_simulation PASSED [ 81%] tests/test_simulation.py::TestTraceWithBasicOpsFastSimulation::test_minus_sim_overflow PASSED [ 81%] tests/test_simulation.py::TestTraceWithBasicOpsFastSimulation::test_minus_simulation PASSED [ 81%] tests/test_simulation.py::TestTraceWithBasicOpsFastSimulation::test_multiply_simulation PASSED [ 81%] tests/test_simulation.py::TestTraceWithBasicOpsFastSimulation::test_nand_simulation PASSED [ 82%] tests/test_simulation.py::TestTraceWithBasicOpsFastSimulation::test_negative_input PASSED [ 82%] tests/test_simulation.py::TestTraceWithBasicOpsFastSimulation::test_not_simulation PASSED [ 82%] tests/test_simulation.py::TestTraceWithBasicOpsFastSimulation::test_or_simulation PASSED [ 82%] tests/test_simulation.py::TestTraceWithBasicOpsFastSimulation::test_plus_simulation PASSED [ 82%] tests/test_simulation.py::TestTraceWithBasicOpsFastSimulation::test_reg_to_reg_simulation PASSED [ 82%] tests/test_simulation.py::TestTraceWithBasicOpsFastSimulation::test_xor_simulation PASSED [ 82%] tests/test_simulation.py::TestRenderTraceSimulation::test_bin_trace PASSED [ 82%] tests/test_simulation.py::TestRenderTraceSimulation::test_decimal_trace PASSED [ 82%] tests/test_simulation.py::TestRenderTraceSimulation::test_hex_trace PASSED [ 82%] tests/test_simulation.py::TestRenderTraceSimulation::test_oct_trace PASSED [ 82%] tests/test_simulation.py::TestRenderTraceFastSimulation::test_bin_trace PASSED [ 82%] tests/test_simulation.py::TestRenderTraceFastSimulation::test_decimal_trace PASSED [ 82%] tests/test_simulation.py::TestRenderTraceFastSimulation::test_hex_trace PASSED [ 83%] tests/test_simulation.py::TestRenderTraceFastSimulation::test_oct_trace PASSED [ 83%] tests/test_simulation.py::TestRenderLongTraceSimulation::test_long_decimal_trace PASSED [ 83%] tests/test_simulation.py::TestRenderLongTraceFastSimulation::test_long_decimal_trace PASSED [ 83%] tests/test_simulation.py::TestRenderTraceCustomSimulation::test_custom_repr_per_wire PASSED [ 83%] tests/test_simulation.py::TestRenderTraceCustomSimulation::test_enum_name PASSED [ 83%] tests/test_simulation.py::TestRenderTraceCustomSimulation::test_val_to_signed_integer PASSED [ 83%] tests/test_simulation.py::TestRenderTraceCustomFastSimulation::test_custom_repr_per_wire PASSED [ 83%] tests/test_simulation.py::TestRenderTraceCustomFastSimulation::test_enum_name PASSED [ 83%] tests/test_simulation.py::TestRenderTraceCustomFastSimulation::test_val_to_signed_integer PASSED [ 83%] tests/test_simulation.py::TestPrintTraceSimulation::test_print_trace_base16 PASSED [ 83%] tests/test_simulation.py::TestPrintTraceSimulation::test_print_trace_base2 PASSED [ 83%] tests/test_simulation.py::TestPrintTraceSimulation::test_print_trace_base8 PASSED [ 84%] tests/test_simulation.py::TestPrintTraceSimulation::test_print_trace_single_dig_notcompact PASSED [ 84%] tests/test_simulation.py::TestPrintTraceFastSimulation::test_print_trace_base16 PASSED [ 84%] tests/test_simulation.py::TestPrintTraceFastSimulation::test_print_trace_base2 PASSED [ 84%] tests/test_simulation.py::TestPrintTraceFastSimulation::test_print_trace_base8 PASSED [ 84%] tests/test_simulation.py::TestPrintTraceFastSimulation::test_print_trace_single_dig_notcompact PASSED [ 84%] tests/test_simulation.py::TestPrintPerfCountersSimulation::test_print_perf_counters PASSED [ 84%] tests/test_simulation.py::TestPrintPerfCountersFastSimulation::test_print_perf_counters PASSED [ 84%] tests/test_simulation.py::TestSimWithSpecialWiresSimulation::test_consts_from_int_enums PASSED [ 84%] tests/test_simulation.py::TestSimWithSpecialWiresSimulation::test_default_value_for_registers_without_reset_value PASSED [ 84%] tests/test_simulation.py::TestSimWithSpecialWiresSimulation::test_fastsim_wire_names PASSED [ 84%] tests/test_simulation.py::TestSimWithSpecialWiresSimulation::test_named_consts PASSED [ 84%] tests/test_simulation.py::TestSimWithSpecialWiresSimulation::test_reg_directly_before_reg PASSED [ 84%] tests/test_simulation.py::TestSimWithSpecialWiresSimulation::test_reset_value_in_reg PASSED [ 85%] tests/test_simulation.py::TestSimWithSpecialWiresSimulation::test_reset_value_overridden_in_simulation PASSED [ 85%] tests/test_simulation.py::TestSimWithSpecialWiresSimulation::test_weird_wire_names PASSED [ 85%] tests/test_simulation.py::TestSimWithSpecialWiresFastSimulation::test_consts_from_int_enums PASSED [ 85%] tests/test_simulation.py::TestSimWithSpecialWiresFastSimulation::test_default_value_for_registers_without_reset_value PASSED [ 85%] tests/test_simulation.py::TestSimWithSpecialWiresFastSimulation::test_fastsim_wire_names PASSED [ 85%] tests/test_simulation.py::TestSimWithSpecialWiresFastSimulation::test_named_consts PASSED [ 85%] tests/test_simulation.py::TestSimWithSpecialWiresFastSimulation::test_reg_directly_before_reg PASSED [ 85%] tests/test_simulation.py::TestSimWithSpecialWiresFastSimulation::test_reset_value_in_reg PASSED [ 85%] tests/test_simulation.py::TestSimWithSpecialWiresFastSimulation::test_reset_value_overridden_in_simulation PASSED [ 85%] tests/test_simulation.py::TestSimWithSpecialWiresFastSimulation::test_weird_wire_names PASSED [ 85%] tests/test_simulation.py::TestSimInputValidationSimulation::test_input_out_of_bitwidth PASSED [ 85%] tests/test_simulation.py::TestSimInputValidationSimulation::test_no_named_wires_erro PASSED [ 85%] tests/test_simulation.py::TestSimInputValidationFastSimulation::test_input_out_of_bitwidth PASSED [ 86%] tests/test_simulation.py::TestSimInputValidationFastSimulation::test_no_named_wires_erro PASSED [ 86%] tests/test_simulation.py::TestSimStepAccessInternalMemorySimulation::test_step_with_internal_memory PASSED [ 86%] tests/test_simulation.py::TestSimStepAccessInternalMemoryFastSimulation::test_step_with_internal_memory PASSED [ 86%] tests/test_simulation.py::TestSimStepMultipleSimulation::test_step_multiple_bad_nsteps1 PASSED [ 86%] tests/test_simulation.py::TestSimStepMultipleSimulation::test_step_multiple_bad_nsteps2 PASSED [ 86%] tests/test_simulation.py::TestSimStepMultipleSimulation::test_step_multiple_dont_care_expected PASSED [ 86%] tests/test_simulation.py::TestSimStepMultipleSimulation::test_step_multiple_many_errors_report_all PASSED [ 86%] tests/test_simulation.py::TestSimStepMultipleSimulation::test_step_multiple_many_errors_report_only_first PASSED [ 86%] tests/test_simulation.py::TestSimStepMultipleSimulation::test_step_multiple_no_errors PASSED [ 86%] tests/test_simulation.py::TestSimStepMultipleSimulation::test_step_multiple_no_errors_nsteps_specified PASSED [ 86%] tests/test_simulation.py::TestSimStepMultipleSimulation::test_step_multiple_no_expected_check PASSED [ 86%] tests/test_simulation.py::TestSimStepMultipleSimulation::test_step_multiple_no_inputs PASSED [ 87%] tests/test_simulation.py::TestSimStepMultipleSimulation::test_step_multiple_no_values_for_each_step_of_given_outputs PASSED [ 87%] tests/test_simulation.py::TestSimStepMultipleSimulation::test_step_multiple_no_values_for_each_step_of_input PASSED [ 87%] tests/test_simulation.py::TestSimStepMultipleSimulation::test_step_multiple_nsteps_gt_ninputs PASSED [ 87%] tests/test_simulation.py::TestSimStepMultipleSimulation::test_step_multiple_nsteps_no_inputs PASSED [ 87%] tests/test_simulation.py::TestSimStepMultipleFastSimulation::test_step_multiple_bad_nsteps1 PASSED [ 87%] tests/test_simulation.py::TestSimStepMultipleFastSimulation::test_step_multiple_bad_nsteps2 PASSED [ 87%] tests/test_simulation.py::TestSimStepMultipleFastSimulation::test_step_multiple_dont_care_expected PASSED [ 87%] tests/test_simulation.py::TestSimStepMultipleFastSimulation::test_step_multiple_many_errors_report_all PASSED [ 87%] tests/test_simulation.py::TestSimStepMultipleFastSimulation::test_step_multiple_many_errors_report_only_first PASSED [ 87%] tests/test_simulation.py::TestSimStepMultipleFastSimulation::test_step_multiple_no_errors PASSED [ 87%] tests/test_simulation.py::TestSimStepMultipleFastSimulation::test_step_multiple_no_errors_nsteps_specified PASSED [ 87%] tests/test_simulation.py::TestSimStepMultipleFastSimulation::test_step_multiple_no_expected_check PASSED [ 87%] tests/test_simulation.py::TestSimStepMultipleFastSimulation::test_step_multiple_no_inputs PASSED [ 88%] tests/test_simulation.py::TestSimStepMultipleFastSimulation::test_step_multiple_no_values_for_each_step_of_given_outputs PASSED [ 88%] tests/test_simulation.py::TestSimStepMultipleFastSimulation::test_step_multiple_no_values_for_each_step_of_input PASSED [ 88%] tests/test_simulation.py::TestSimStepMultipleFastSimulation::test_step_multiple_nsteps_gt_ninputs PASSED [ 88%] tests/test_simulation.py::TestSimStepMultipleFastSimulation::test_step_multiple_nsteps_no_inputs PASSED [ 88%] tests/test_simulation.py::TestTraceWithAdderSimulation::test_adder_simulation PASSED [ 88%] tests/test_simulation.py::TestTraceWithAdderFastSimulation::test_adder_simulation PASSED [ 88%] tests/test_simulation.py::TestSimulationVCDWithAdderSimulation::test_vcd_output PASSED [ 88%] tests/test_simulation.py::TestSimulationVCDWithAdderFastSimulation::test_vcd_output PASSED [ 88%] tests/test_simulation.py::TestSimTraceWithMuxSimulation::test_adder_simulation PASSED [ 88%] tests/test_simulation.py::TestSimTraceWithMuxFastSimulation::test_adder_simulation PASSED [ 88%] tests/test_simulation.py::TestMemBlockSimulation::test_mem_val_map PASSED [ 88%] tests/test_simulation.py::TestMemBlockSimulation::test_mem_val_map_defaults PASSED [ 88%] tests/test_simulation.py::TestMemBlockSimulation::test_simple2_memblock PASSED [ 89%] tests/test_simulation.py::TestMemBlockSimulation::test_simple_memblock PASSED [ 89%] tests/test_simulation.py::TestMemBlockSimulation::test_synth_simple_memblock PASSED [ 89%] tests/test_simulation.py::TestMemBlockFastSimulation::test_mem_val_map PASSED [ 89%] tests/test_simulation.py::TestMemBlockFastSimulation::test_mem_val_map_defaults PASSED [ 89%] tests/test_simulation.py::TestMemBlockFastSimulation::test_simple2_memblock PASSED [ 89%] tests/test_simulation.py::TestMemBlockFastSimulation::test_simple_memblock PASSED [ 89%] tests/test_simulation.py::TestMemBlockFastSimulation::test_synth_simple_memblock PASSED [ 89%] tests/test_simulation.py::TestMemBlockLargeSimulation::test_mem_blocks_very_large PASSED [ 89%] tests/test_simulation.py::TestMemBlockLargeFastSimulation::test_mem_blocks_very_large PASSED [ 89%] tests/test_simulation.py::TestRegisterDefaultsSimulation::test_default_value PASSED [ 89%] tests/test_simulation.py::TestRegisterDefaultsSimulation::test_map_and_default PASSED [ 89%] tests/test_simulation.py::TestRegisterDefaultsSimulation::test_partial_map PASSED [ 90%] tests/test_simulation.py::TestRegisterDefaultsSimulation::test_register_map PASSED [ 90%] tests/test_simulation.py::TestRegisterDefaultsFastSimulation::test_default_value PASSED [ 90%] tests/test_simulation.py::TestRegisterDefaultsFastSimulation::test_map_and_default PASSED [ 90%] tests/test_simulation.py::TestRegisterDefaultsFastSimulation::test_partial_map PASSED [ 90%] tests/test_simulation.py::TestRegisterDefaultsFastSimulation::test_register_map PASSED [ 90%] tests/test_simulation.py::TestRomBlockSimSimulation::test_function_RomBlock PASSED [ 90%] tests/test_simulation.py::TestRomBlockSimSimulation::test_function_RomBlock_with_optimization PASSED [ 90%] tests/test_simulation.py::TestRomBlockSimSimulation::test_rom_out_of_range_error PASSED [ 90%] tests/test_simulation.py::TestRomBlockSimSimulation::test_rom_val_map PASSED [ 90%] tests/test_simulation.py::TestRomBlockSimFastSimulation::test_function_RomBlock PASSED [ 90%] tests/test_simulation.py::TestRomBlockSimFastSimulation::test_function_RomBlock_with_optimization PASSED [ 90%] tests/test_simulation.py::TestRomBlockSimFastSimulation::test_rom_out_of_range_error PASSED [ 90%] tests/test_simulation.py::TestRomBlockSimFastSimulation::test_rom_val_map PASSED [ 91%] tests/test_simulation.py::TestMemBlockSimSimulation::test_negative_memory_value_map PASSED [ 91%] tests/test_simulation.py::TestMemBlockSimSimulation::test_simultaneous_read_write PASSED [ 91%] tests/test_simulation.py::TestMemBlockSimSimulation::test_unsigned_memory_value_map PASSED [ 91%] tests/test_simulation.py::TestMemBlockSimFastSimulation::test_negative_memory_value_map PASSED [ 91%] tests/test_simulation.py::TestMemBlockSimFastSimulation::test_simultaneous_read_write PASSED [ 91%] tests/test_simulation.py::TestMemBlockSimFastSimulation::test_unsigned_memory_value_map PASSED [ 91%] tests/test_simulation.py::TestInspectSimulation::test_inspect PASSED [ 91%] tests/test_simulation.py::TestInspectSimulation::test_inspect_mem PASSED [ 91%] tests/test_simulation.py::TestInspectSimulation::test_invalid_inspect PASSED [ 91%] tests/test_simulation.py::TestInspectFastSimulation::test_inspect PASSED [ 91%] tests/test_simulation.py::TestInspectFastSimulation::test_inspect_mem PASSED [ 91%] tests/test_simulation.py::TestInspectFastSimulation::test_invalid_inspect PASSED [ 91%] tests/test_simulation.py::TestTraceErrorSimulation::test_empty_trace PASSED [ 92%] tests/test_simulation.py::TestTraceErrorSimulation::test_invalid_base PASSED [ 92%] tests/test_simulation.py::TestTraceErrorFastSimulation::test_empty_trace PASSED [ 92%] tests/test_simulation.py::TestTraceErrorFastSimulation::test_invalid_base PASSED [ 92%] tests/test_simulation.py::TestNoTracerSimulation::test_no_tracer PASSED [ 92%] tests/test_simulation.py::TestNoTracerFastSimulation::test_no_tracer PASSED [ 92%] tests/test_transform.py::TestWireTransform::test_randomly_replace PASSED [ 92%] tests/test_transform.py::TestWireTransform::test_replace_input PASSED [ 92%] tests/test_transform.py::TestWireTransform::test_replace_output PASSED [ 92%] tests/test_transform.py::TestCopyBlock::test_blank PASSED [ 92%] tests/test_transform.py::TestCopyBlock::test_block PASSED [ 92%] tests/test_transform.py::TestCopyBlock::test_copy_mem PASSED [ 92%] tests/test_transform.py::TestFastWireReplace::test_replace_multiple_wires PASSED [ 92%] tests/test_transform.py::TestFastWireReplace::test_replace_multiple_wires_2 PASSED [ 93%] tests/test_transform.py::TestFastWireReplace::test_replace_only_dst_wire PASSED [ 93%] tests/test_transform.py::TestFastWireReplace::test_replace_only_src_wire PASSED [ 93%] tests/test_transform.py::TestFastWireReplace::test_wire_used_in_multiple_places PASSED [ 93%] tests/test_transform.py::TestCloning::test_clone_wire_different_name_different_block PASSED [ 93%] tests/test_transform.py::TestCloning::test_clone_wire_different_name_same_block PASSED [ 93%] tests/test_transform.py::TestCloning::test_clone_wire_no_name_same_block PASSED [ 93%] tests/test_transform.py::TestCloning::test_clone_wire_no_or_same_name_different_block PASSED [ 93%] tests/test_transform.py::TestCloning::test_clone_wire_same_name_same_block PASSED [ 93%] tests/test_transform.py::TestCloning::test_same_type PASSED [ 93%] tests/test_visualization.py::TestOutputGraphs::test_output_to_graphviz_correct_detailed_output PASSED [ 93%] tests/test_visualization.py::TestOutputGraphs::test_output_to_graphviz_correct_output_with_arg_ordering PASSED [ 93%] tests/test_visualization.py::TestOutputGraphs::test_output_to_graphviz_correct_output_without_arg_ordering PASSED [ 94%] tests/test_visualization.py::TestOutputGraphs::test_output_to_graphviz_does_not_throw_error PASSED [ 94%] tests/test_visualization.py::TestOutputGraphs::test_output_to_graphviz_with_custom_namer_does_not_throw_error PASSED [ 94%] tests/test_visualization.py::TestOutputGraphs::test_output_to_tgf_does_not_throw_error PASSED [ 94%] tests/test_visualization.py::TestNetGraph::test_as_graph PASSED [ 94%] tests/test_visualization.py::TestNetGraph::test_netgraph_same_wire_multiple_edges_to_same_net PASSED [ 94%] tests/test_visualization.py::TestNetGraph::test_netgraph_unused_wires PASSED [ 94%] tests/test_visualization.py::TestOutputIPynb::test_one_bit_adder_matches_expected PASSED [ 94%] tests/test_visualization.py::TestOutputIPynb::test_trace_to_html PASSED [ 94%] tests/test_visualization.py::TestOutputIPynb::test_trace_to_html_repr_func PASSED [ 94%] tests/test_visualization.py::TestOutputIPynb::test_trace_to_html_repr_per_name PASSED [ 94%] tests/test_visualization.py::TestOutputIPynb::test_trace_to_html_repr_per_name_enum_is_bool PASSED [ 94%] tests/test_wire.py::TestDocTests::test_doctests PASSED [ 94%] tests/test_wire.py::TestWireVector::test_assign_to_value PASSED [ 95%] tests/test_wire.py::TestWireVector::test_basic_assignment PASSED [ 95%] tests/test_wire.py::TestWireVector::test_rename PASSED [ 95%] tests/test_wire.py::TestWireVector::test_sign_extend PASSED [ 95%] tests/test_wire.py::TestWireVector::test_truncating PASSED [ 95%] tests/test_wire.py::TestWireVector::test_unset_bitwidth PASSED [ 95%] tests/test_wire.py::TestWireVector::test_wirevector_length PASSED [ 95%] tests/test_wire.py::TestWireVector::test_zero_extend PASSED [ 95%] tests/test_wire.py::TestWireVectorNames::test_invalid_name PASSED [ 95%] tests/test_wire.py::TestWireVectorNames::test_invalid_name_setter PASSED [ 95%] tests/test_wire.py::TestWireVectorNames::test_valid_name_setter PASSED [ 95%] tests/test_wire.py::TestWireVectorNames::test_valid_names PASSED [ 95%] tests/test_wire.py::TestWireVectorFail::test_bad_bitwidth PASSED [ 95%] tests/test_wire.py::TestWireVectorFail::test_no_immed_operators PASSED [ 96%] tests/test_wire.py::TestWireVectorFail::test_sign_and_zero_extend_only_increase_bitwidth PASSED [ 96%] tests/test_wire.py::TestWireVectorFail::test_truncate_only_reduces_bitwidth PASSED [ 96%] tests/test_wire.py::TestWireVectorFail::test_truncate_only_takes_integers PASSED [ 96%] tests/test_wire.py::TestWireVectorFail::test_undef_wirevector_length PASSED [ 96%] tests/test_wire.py::TestWireVectorSlicing::test_invalid_indicies PASSED [ 96%] tests/test_wire.py::TestWireVectorSlicing::test_invalid_slices PASSED [ 96%] tests/test_wire.py::TestWireVectorSlicing::test_valid_indicies PASSED [ 96%] tests/test_wire.py::TestWireVectorSlicing::test_valid_slices PASSED [ 96%] tests/test_wire.py::TestWireVectorSlicing::test_wire_wo_bitwidth_fails PASSED [ 96%] tests/test_wire.py::TestInput::test_no_connection_to_inputs PASSED [ 96%] tests/test_wire.py::TestRegister::test_connect_next PASSED [ 96%] tests/test_wire.py::TestRegister::test_connection_large PASSED [ 97%] tests/test_wire.py::TestRegister::test_connection_raw PASSED [ 97%] tests/test_wire.py::TestRegister::test_connection_small PASSED [ 97%] tests/test_wire.py::TestRegister::test_connection_unspec_width PASSED [ 97%] tests/test_wire.py::TestRegister::test_extending_negative_reset_value_as_string PASSED [ 97%] tests/test_wire.py::TestRegister::test_invalid_negative_reset_value_as_string PASSED [ 97%] tests/test_wire.py::TestRegister::test_invalid_reset_value_not_an_integer PASSED [ 97%] tests/test_wire.py::TestRegister::test_invalid_reset_value_too_large PASSED [ 97%] tests/test_wire.py::TestRegister::test_invalid_reset_value_too_large_as_string PASSED [ 97%] tests/test_wire.py::TestRegister::test_logic_operations PASSED [ 97%] tests/test_wire.py::TestRegister::test_negative_reset_value PASSED [ 97%] tests/test_wire.py::TestRegister::test_negative_reset_value_as_string PASSED [ 97%] tests/test_wire.py::TestRegister::test_next_logic_operations PASSED [ 97%] tests/test_wire.py::TestRegister::test_register_assignment PASSED [ 98%] tests/test_wire.py::TestRegister::test_register_assignment_not_next PASSED [ 98%] tests/test_wire.py::TestRegister::test_reset_value_as_string PASSED [ 98%] tests/test_wire.py::TestRegister::test_reset_value_is_correct PASSED [ 98%] tests/test_wire.py::TestRegister::test_reset_value_is_none PASSED [ 98%] tests/test_wire.py::TestConst::test_assignment PASSED [ 98%] tests/test_wire.py::TestConst::test_bad_neg_integers PASSED [ 98%] tests/test_wire.py::TestConst::test_bad_string PASSED [ 98%] tests/test_wire.py::TestConst::test_badbool PASSED [ 98%] tests/test_wire.py::TestConst::test_badtype PASSED [ 98%] tests/test_wire.py::TestConst::test_bool PASSED [ 98%] tests/test_wire.py::TestConst::test_integers PASSED [ 98%] tests/test_wire.py::TestConst::test_invalid_bitwidth PASSED [ 98%] tests/test_wire.py::TestConst::test_named PASSED [ 99%] tests/test_wire.py::TestConst::test_neg_integers PASSED [ 99%] tests/test_wire.py::TestConst::test_string PASSED [ 99%] tests/test_wire.py::TestConst::test_too_big PASSED [ 99%] tests/test_wire.py::TestOutput::test_assign_output PASSED [ 99%] tests/test_wire.py::TestOutput::test_log_op_output PASSED [ 99%] tests/test_wire.py::TestOutput::test_slice_output PASSED [ 99%] tests/test_wire.py::TestKeepingCallStack::test_get_call_stack PASSED [ 99%] tests/test_wire.py::TestKeepingCallStack::test_no_call_stack PASSED [ 99%] tests/test_wire.py::TestWrappedWireVector::test_attr PASSED [ 99%] tests/test_wire.py::TestWrappedWireVector::test_conditional_assignment PASSED [ 99%] tests/test_wire.py::TestWrappedWireVector::test_exceptions PASSED [ 99%] tests/test_wire.py::TestWrappedWireVector::test_ops PASSED [100%] =================================== FAILURES =================================== _ test_all_examples[/builddir/build/BUILD/pyrtl-0.12-build/pyrtl/tests/../examples/renderer-demo.py] _ file = '/builddir/build/BUILD/pyrtl-0.12-build/pyrtl/tests/../examples/renderer-demo.py' @pytest.mark.parametrize( "file", glob.iglob(os.path.dirname(__file__) + "/../examples/*.py") ) def test_all_examples(file): pyrtl.reset_working_block() try: > subprocess.check_output(["python", file]) tests/test_examples.py:23: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.13/subprocess.py:472: in check_output return run(*popenargs, stdout=PIPE, timeout=timeout, check=True, /usr/lib64/python3.13/subprocess.py:554: in run with Popen(*popenargs, **kwargs) as process: /usr/lib64/python3.13/subprocess.py:1039: in __init__ self._execute_child(args, executable, preexec_fn, close_fds, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = args = ['python', '/builddir/build/BUILD/pyrtl-0.12-build/pyrtl/tests/../examples/renderer-demo.py'] executable = b'python', preexec_fn = None, close_fds = True, pass_fds = () cwd = None, env = None, startupinfo = None, creationflags = 0, shell = False p2cread = -1, p2cwrite = -1, c2pread = 11, c2pwrite = 12, errread = -1 errwrite = -1, restore_signals = True, gid = None, gids = None, uid = None umask = -1, start_new_session = False, process_group = -1 def _execute_child(self, args, executable, preexec_fn, close_fds, pass_fds, cwd, env, startupinfo, creationflags, shell, p2cread, p2cwrite, c2pread, c2pwrite, errread, errwrite, restore_signals, gid, gids, uid, umask, start_new_session, process_group): """Execute program (POSIX version)""" if isinstance(args, (str, bytes)): args = [args] elif isinstance(args, os.PathLike): if shell: raise TypeError('path-like args is not allowed when ' 'shell is true') args = [args] else: args = list(args) if shell: # On Android the default shell is at '/system/bin/sh'. unix_shell = ('/system/bin/sh' if hasattr(sys, 'getandroidapilevel') else '/bin/sh') args = [unix_shell, "-c"] + args if executable: args[0] = executable if executable is None: executable = args[0] sys.audit("subprocess.Popen", executable, args, cwd, env) if (_USE_POSIX_SPAWN and os.path.dirname(executable) and preexec_fn is None and (not close_fds or _HAVE_POSIX_SPAWN_CLOSEFROM) and not pass_fds and cwd is None and (p2cread == -1 or p2cread > 2) and (c2pwrite == -1 or c2pwrite > 2) and (errwrite == -1 or errwrite > 2) and not start_new_session and process_group == -1 and gid is None and gids is None and uid is None and umask < 0): self._posix_spawn(args, executable, env, restore_signals, close_fds, p2cread, p2cwrite, c2pread, c2pwrite, errread, errwrite) return orig_executable = executable # For transferring possible exec failure from child to parent. # Data format: "exception name:hex errno:description" # Pickle is not used; it is complex and involves memory allocation. errpipe_read, errpipe_write = os.pipe() # errpipe_write must not be in the standard io 0, 1, or 2 fd range. low_fds_to_close = [] while errpipe_write < 3: low_fds_to_close.append(errpipe_write) errpipe_write = os.dup(errpipe_write) for low_fd in low_fds_to_close: os.close(low_fd) try: try: # We must avoid complex work that could involve # malloc or free in the child process to avoid # potential deadlocks, thus we do all this here. # and pass it to fork_exec() if env is not None: env_list = [] for k, v in env.items(): k = os.fsencode(k) if b'=' in k: raise ValueError("illegal environment variable name") env_list.append(k + b'=' + os.fsencode(v)) else: env_list = None # Use execv instead of execve. executable = os.fsencode(executable) if os.path.dirname(executable): executable_list = (executable,) else: # This matches the behavior of os._execvpe(). executable_list = tuple( os.path.join(os.fsencode(dir), executable) for dir in os.get_exec_path(env)) fds_to_keep = set(pass_fds) fds_to_keep.add(errpipe_write) self.pid = _fork_exec( args, executable_list, close_fds, tuple(sorted(map(int, fds_to_keep))), cwd, env_list, p2cread, p2cwrite, c2pread, c2pwrite, errread, errwrite, errpipe_read, errpipe_write, restore_signals, start_new_session, process_group, gid, gids, uid, umask, preexec_fn, _USE_VFORK) self._child_created = True finally: # be sure the FD is closed no matter what os.close(errpipe_write) self._close_pipe_fds(p2cread, p2cwrite, c2pread, c2pwrite, errread, errwrite) # Wait for exec to fail or succeed; possibly raising an # exception (limited in size) errpipe_data = bytearray() while True: part = os.read(errpipe_read, 50000) errpipe_data += part if not part or len(errpipe_data) > 50000: break finally: # be sure the FD is closed no matter what os.close(errpipe_read) if errpipe_data: try: pid, sts = os.waitpid(self.pid, 0) if pid == self.pid: self._handle_exitstatus(sts) else: self.returncode = sys.maxsize except ChildProcessError: pass try: exception_name, hex_errno, err_msg = ( errpipe_data.split(b':', 2)) # The encoding here should match the encoding # written in by the subprocess implementations # like _posixsubprocess err_msg = err_msg.decode() except ValueError: exception_name = b'SubprocessError' hex_errno = b'0' err_msg = 'Bad exception data from child: {!r}'.format( bytes(errpipe_data)) child_exception_type = getattr( builtins, exception_name.decode('ascii'), SubprocessError) if issubclass(child_exception_type, OSError) and hex_errno: errno_num = int(hex_errno, 16) if err_msg == "noexec:chdir": err_msg = "" # The error must be from chdir(cwd). err_filename = cwd elif err_msg == "noexec": err_msg = "" err_filename = None else: err_filename = orig_executable if errno_num != 0: err_msg = os.strerror(errno_num) if err_filename is not None: > raise child_exception_type(errno_num, err_msg, err_filename) E FileNotFoundError: [Errno 2] No such file or directory: 'python' /usr/lib64/python3.13/subprocess.py:1991: FileNotFoundError _ test_all_examples[/builddir/build/BUILD/pyrtl-0.12-build/pyrtl/tests/../examples/introduction-to-hardware.py] _ file = '/builddir/build/BUILD/pyrtl-0.12-build/pyrtl/tests/../examples/introduction-to-hardware.py' @pytest.mark.parametrize( "file", glob.iglob(os.path.dirname(__file__) + "/../examples/*.py") ) def test_all_examples(file): pyrtl.reset_working_block() try: > subprocess.check_output(["python", file]) tests/test_examples.py:23: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.13/subprocess.py:472: in check_output return run(*popenargs, stdout=PIPE, timeout=timeout, check=True, /usr/lib64/python3.13/subprocess.py:554: in run with Popen(*popenargs, **kwargs) as process: /usr/lib64/python3.13/subprocess.py:1039: in __init__ self._execute_child(args, executable, preexec_fn, close_fds, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = args = ['python', '/builddir/build/BUILD/pyrtl-0.12-build/pyrtl/tests/../examples/introduction-to-hardware.py'] executable = b'python', preexec_fn = None, close_fds = True, pass_fds = () cwd = None, env = None, startupinfo = None, creationflags = 0, shell = False p2cread = -1, p2cwrite = -1, c2pread = 11, c2pwrite = 12, errread = -1 errwrite = -1, restore_signals = True, gid = None, gids = None, uid = None umask = -1, start_new_session = False, process_group = -1 def _execute_child(self, args, executable, preexec_fn, close_fds, pass_fds, cwd, env, startupinfo, creationflags, shell, p2cread, p2cwrite, c2pread, c2pwrite, errread, errwrite, restore_signals, gid, gids, uid, umask, start_new_session, process_group): """Execute program (POSIX version)""" if isinstance(args, (str, bytes)): args = [args] elif isinstance(args, os.PathLike): if shell: raise TypeError('path-like args is not allowed when ' 'shell is true') args = [args] else: args = list(args) if shell: # On Android the default shell is at '/system/bin/sh'. unix_shell = ('/system/bin/sh' if hasattr(sys, 'getandroidapilevel') else '/bin/sh') args = [unix_shell, "-c"] + args if executable: args[0] = executable if executable is None: executable = args[0] sys.audit("subprocess.Popen", executable, args, cwd, env) if (_USE_POSIX_SPAWN and os.path.dirname(executable) and preexec_fn is None and (not close_fds or _HAVE_POSIX_SPAWN_CLOSEFROM) and not pass_fds and cwd is None and (p2cread == -1 or p2cread > 2) and (c2pwrite == -1 or c2pwrite > 2) and (errwrite == -1 or errwrite > 2) and not start_new_session and process_group == -1 and gid is None and gids is None and uid is None and umask < 0): self._posix_spawn(args, executable, env, restore_signals, close_fds, p2cread, p2cwrite, c2pread, c2pwrite, errread, errwrite) return orig_executable = executable # For transferring possible exec failure from child to parent. # Data format: "exception name:hex errno:description" # Pickle is not used; it is complex and involves memory allocation. errpipe_read, errpipe_write = os.pipe() # errpipe_write must not be in the standard io 0, 1, or 2 fd range. low_fds_to_close = [] while errpipe_write < 3: low_fds_to_close.append(errpipe_write) errpipe_write = os.dup(errpipe_write) for low_fd in low_fds_to_close: os.close(low_fd) try: try: # We must avoid complex work that could involve # malloc or free in the child process to avoid # potential deadlocks, thus we do all this here. # and pass it to fork_exec() if env is not None: env_list = [] for k, v in env.items(): k = os.fsencode(k) if b'=' in k: raise ValueError("illegal environment variable name") env_list.append(k + b'=' + os.fsencode(v)) else: env_list = None # Use execv instead of execve. executable = os.fsencode(executable) if os.path.dirname(executable): executable_list = (executable,) else: # This matches the behavior of os._execvpe(). executable_list = tuple( os.path.join(os.fsencode(dir), executable) for dir in os.get_exec_path(env)) fds_to_keep = set(pass_fds) fds_to_keep.add(errpipe_write) self.pid = _fork_exec( args, executable_list, close_fds, tuple(sorted(map(int, fds_to_keep))), cwd, env_list, p2cread, p2cwrite, c2pread, c2pwrite, errread, errwrite, errpipe_read, errpipe_write, restore_signals, start_new_session, process_group, gid, gids, uid, umask, preexec_fn, _USE_VFORK) self._child_created = True finally: # be sure the FD is closed no matter what os.close(errpipe_write) self._close_pipe_fds(p2cread, p2cwrite, c2pread, c2pwrite, errread, errwrite) # Wait for exec to fail or succeed; possibly raising an # exception (limited in size) errpipe_data = bytearray() while True: part = os.read(errpipe_read, 50000) errpipe_data += part if not part or len(errpipe_data) > 50000: break finally: # be sure the FD is closed no matter what os.close(errpipe_read) if errpipe_data: try: pid, sts = os.waitpid(self.pid, 0) if pid == self.pid: self._handle_exitstatus(sts) else: self.returncode = sys.maxsize except ChildProcessError: pass try: exception_name, hex_errno, err_msg = ( errpipe_data.split(b':', 2)) # The encoding here should match the encoding # written in by the subprocess implementations # like _posixsubprocess err_msg = err_msg.decode() except ValueError: exception_name = b'SubprocessError' hex_errno = b'0' err_msg = 'Bad exception data from child: {!r}'.format( bytes(errpipe_data)) child_exception_type = getattr( builtins, exception_name.decode('ascii'), SubprocessError) if issubclass(child_exception_type, OSError) and hex_errno: errno_num = int(hex_errno, 16) if err_msg == "noexec:chdir": err_msg = "" # The error must be from chdir(cwd). err_filename = cwd elif err_msg == "noexec": err_msg = "" err_filename = None else: err_filename = orig_executable if errno_num != 0: err_msg = os.strerror(errno_num) if err_filename is not None: > raise child_exception_type(errno_num, err_msg, err_filename) E FileNotFoundError: [Errno 2] No such file or directory: 'python' /usr/lib64/python3.13/subprocess.py:1991: FileNotFoundError _ test_all_examples[/builddir/build/BUILD/pyrtl-0.12-build/pyrtl/tests/../examples/example8-verilog.py] _ file = '/builddir/build/BUILD/pyrtl-0.12-build/pyrtl/tests/../examples/example8-verilog.py' @pytest.mark.parametrize( "file", glob.iglob(os.path.dirname(__file__) + "/../examples/*.py") ) def test_all_examples(file): pyrtl.reset_working_block() try: > subprocess.check_output(["python", file]) tests/test_examples.py:23: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.13/subprocess.py:472: in check_output return run(*popenargs, stdout=PIPE, timeout=timeout, check=True, /usr/lib64/python3.13/subprocess.py:554: in run with Popen(*popenargs, **kwargs) as process: /usr/lib64/python3.13/subprocess.py:1039: in __init__ self._execute_child(args, executable, preexec_fn, close_fds, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = args = ['python', '/builddir/build/BUILD/pyrtl-0.12-build/pyrtl/tests/../examples/example8-verilog.py'] executable = b'python', preexec_fn = None, close_fds = True, pass_fds = () cwd = None, env = None, startupinfo = None, creationflags = 0, shell = False p2cread = -1, p2cwrite = -1, c2pread = 11, c2pwrite = 12, errread = -1 errwrite = -1, restore_signals = True, gid = None, gids = None, uid = None umask = -1, start_new_session = False, process_group = -1 def _execute_child(self, args, executable, preexec_fn, close_fds, pass_fds, cwd, env, startupinfo, creationflags, shell, p2cread, p2cwrite, c2pread, c2pwrite, errread, errwrite, restore_signals, gid, gids, uid, umask, start_new_session, process_group): """Execute program (POSIX version)""" if isinstance(args, (str, bytes)): args = [args] elif isinstance(args, os.PathLike): if shell: raise TypeError('path-like args is not allowed when ' 'shell is true') args = [args] else: args = list(args) if shell: # On Android the default shell is at '/system/bin/sh'. unix_shell = ('/system/bin/sh' if hasattr(sys, 'getandroidapilevel') else '/bin/sh') args = [unix_shell, "-c"] + args if executable: args[0] = executable if executable is None: executable = args[0] sys.audit("subprocess.Popen", executable, args, cwd, env) if (_USE_POSIX_SPAWN and os.path.dirname(executable) and preexec_fn is None and (not close_fds or _HAVE_POSIX_SPAWN_CLOSEFROM) and not pass_fds and cwd is None and (p2cread == -1 or p2cread > 2) and (c2pwrite == -1 or c2pwrite > 2) and (errwrite == -1 or errwrite > 2) and not start_new_session and process_group == -1 and gid is None and gids is None and uid is None and umask < 0): self._posix_spawn(args, executable, env, restore_signals, close_fds, p2cread, p2cwrite, c2pread, c2pwrite, errread, errwrite) return orig_executable = executable # For transferring possible exec failure from child to parent. # Data format: "exception name:hex errno:description" # Pickle is not used; it is complex and involves memory allocation. errpipe_read, errpipe_write = os.pipe() # errpipe_write must not be in the standard io 0, 1, or 2 fd range. low_fds_to_close = [] while errpipe_write < 3: low_fds_to_close.append(errpipe_write) errpipe_write = os.dup(errpipe_write) for low_fd in low_fds_to_close: os.close(low_fd) try: try: # We must avoid complex work that could involve # malloc or free in the child process to avoid # potential deadlocks, thus we do all this here. # and pass it to fork_exec() if env is not None: env_list = [] for k, v in env.items(): k = os.fsencode(k) if b'=' in k: raise ValueError("illegal environment variable name") env_list.append(k + b'=' + os.fsencode(v)) else: env_list = None # Use execv instead of execve. executable = os.fsencode(executable) if os.path.dirname(executable): executable_list = (executable,) else: # This matches the behavior of os._execvpe(). executable_list = tuple( os.path.join(os.fsencode(dir), executable) for dir in os.get_exec_path(env)) fds_to_keep = set(pass_fds) fds_to_keep.add(errpipe_write) self.pid = _fork_exec( args, executable_list, close_fds, tuple(sorted(map(int, fds_to_keep))), cwd, env_list, p2cread, p2cwrite, c2pread, c2pwrite, errread, errwrite, errpipe_read, errpipe_write, restore_signals, start_new_session, process_group, gid, gids, uid, umask, preexec_fn, _USE_VFORK) self._child_created = True finally: # be sure the FD is closed no matter what os.close(errpipe_write) self._close_pipe_fds(p2cread, p2cwrite, c2pread, c2pwrite, errread, errwrite) # Wait for exec to fail or succeed; possibly raising an # exception (limited in size) errpipe_data = bytearray() while True: part = os.read(errpipe_read, 50000) errpipe_data += part if not part or len(errpipe_data) > 50000: break finally: # be sure the FD is closed no matter what os.close(errpipe_read) if errpipe_data: try: pid, sts = os.waitpid(self.pid, 0) if pid == self.pid: self._handle_exitstatus(sts) else: self.returncode = sys.maxsize except ChildProcessError: pass try: exception_name, hex_errno, err_msg = ( errpipe_data.split(b':', 2)) # The encoding here should match the encoding # written in by the subprocess implementations # like _posixsubprocess err_msg = err_msg.decode() except ValueError: exception_name = b'SubprocessError' hex_errno = b'0' err_msg = 'Bad exception data from child: {!r}'.format( bytes(errpipe_data)) child_exception_type = getattr( builtins, exception_name.decode('ascii'), SubprocessError) if issubclass(child_exception_type, OSError) and hex_errno: errno_num = int(hex_errno, 16) if err_msg == "noexec:chdir": err_msg = "" # The error must be from chdir(cwd). err_filename = cwd elif err_msg == "noexec": err_msg = "" err_filename = None else: err_filename = orig_executable if errno_num != 0: err_msg = os.strerror(errno_num) if err_filename is not None: > raise child_exception_type(errno_num, err_msg, err_filename) E FileNotFoundError: [Errno 2] No such file or directory: 'python' /usr/lib64/python3.13/subprocess.py:1991: FileNotFoundError _ test_all_examples[/builddir/build/BUILD/pyrtl-0.12-build/pyrtl/tests/../examples/example7-synth-timing.py] _ file = '/builddir/build/BUILD/pyrtl-0.12-build/pyrtl/tests/../examples/example7-synth-timing.py' @pytest.mark.parametrize( "file", glob.iglob(os.path.dirname(__file__) + "/../examples/*.py") ) def test_all_examples(file): pyrtl.reset_working_block() try: > subprocess.check_output(["python", file]) tests/test_examples.py:23: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.13/subprocess.py:472: in check_output return run(*popenargs, stdout=PIPE, timeout=timeout, check=True, /usr/lib64/python3.13/subprocess.py:554: in run with Popen(*popenargs, **kwargs) as process: /usr/lib64/python3.13/subprocess.py:1039: in __init__ self._execute_child(args, executable, preexec_fn, close_fds, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = args = ['python', '/builddir/build/BUILD/pyrtl-0.12-build/pyrtl/tests/../examples/example7-synth-timing.py'] executable = b'python', preexec_fn = None, close_fds = True, pass_fds = () cwd = None, env = None, startupinfo = None, creationflags = 0, shell = False p2cread = -1, p2cwrite = -1, c2pread = 11, c2pwrite = 12, errread = -1 errwrite = -1, restore_signals = True, gid = None, gids = None, uid = None umask = -1, start_new_session = False, process_group = -1 def _execute_child(self, args, executable, preexec_fn, close_fds, pass_fds, cwd, env, startupinfo, creationflags, shell, p2cread, p2cwrite, c2pread, c2pwrite, errread, errwrite, restore_signals, gid, gids, uid, umask, start_new_session, process_group): """Execute program (POSIX version)""" if isinstance(args, (str, bytes)): args = [args] elif isinstance(args, os.PathLike): if shell: raise TypeError('path-like args is not allowed when ' 'shell is true') args = [args] else: args = list(args) if shell: # On Android the default shell is at '/system/bin/sh'. unix_shell = ('/system/bin/sh' if hasattr(sys, 'getandroidapilevel') else '/bin/sh') args = [unix_shell, "-c"] + args if executable: args[0] = executable if executable is None: executable = args[0] sys.audit("subprocess.Popen", executable, args, cwd, env) if (_USE_POSIX_SPAWN and os.path.dirname(executable) and preexec_fn is None and (not close_fds or _HAVE_POSIX_SPAWN_CLOSEFROM) and not pass_fds and cwd is None and (p2cread == -1 or p2cread > 2) and (c2pwrite == -1 or c2pwrite > 2) and (errwrite == -1 or errwrite > 2) and not start_new_session and process_group == -1 and gid is None and gids is None and uid is None and umask < 0): self._posix_spawn(args, executable, env, restore_signals, close_fds, p2cread, p2cwrite, c2pread, c2pwrite, errread, errwrite) return orig_executable = executable # For transferring possible exec failure from child to parent. # Data format: "exception name:hex errno:description" # Pickle is not used; it is complex and involves memory allocation. errpipe_read, errpipe_write = os.pipe() # errpipe_write must not be in the standard io 0, 1, or 2 fd range. low_fds_to_close = [] while errpipe_write < 3: low_fds_to_close.append(errpipe_write) errpipe_write = os.dup(errpipe_write) for low_fd in low_fds_to_close: os.close(low_fd) try: try: # We must avoid complex work that could involve # malloc or free in the child process to avoid # potential deadlocks, thus we do all this here. # and pass it to fork_exec() if env is not None: env_list = [] for k, v in env.items(): k = os.fsencode(k) if b'=' in k: raise ValueError("illegal environment variable name") env_list.append(k + b'=' + os.fsencode(v)) else: env_list = None # Use execv instead of execve. executable = os.fsencode(executable) if os.path.dirname(executable): executable_list = (executable,) else: # This matches the behavior of os._execvpe(). executable_list = tuple( os.path.join(os.fsencode(dir), executable) for dir in os.get_exec_path(env)) fds_to_keep = set(pass_fds) fds_to_keep.add(errpipe_write) self.pid = _fork_exec( args, executable_list, close_fds, tuple(sorted(map(int, fds_to_keep))), cwd, env_list, p2cread, p2cwrite, c2pread, c2pwrite, errread, errwrite, errpipe_read, errpipe_write, restore_signals, start_new_session, process_group, gid, gids, uid, umask, preexec_fn, _USE_VFORK) self._child_created = True finally: # be sure the FD is closed no matter what os.close(errpipe_write) self._close_pipe_fds(p2cread, p2cwrite, c2pread, c2pwrite, errread, errwrite) # Wait for exec to fail or succeed; possibly raising an # exception (limited in size) errpipe_data = bytearray() while True: part = os.read(errpipe_read, 50000) errpipe_data += part if not part or len(errpipe_data) > 50000: break finally: # be sure the FD is closed no matter what os.close(errpipe_read) if errpipe_data: try: pid, sts = os.waitpid(self.pid, 0) if pid == self.pid: self._handle_exitstatus(sts) else: self.returncode = sys.maxsize except ChildProcessError: pass try: exception_name, hex_errno, err_msg = ( errpipe_data.split(b':', 2)) # The encoding here should match the encoding # written in by the subprocess implementations # like _posixsubprocess err_msg = err_msg.decode() except ValueError: exception_name = b'SubprocessError' hex_errno = b'0' err_msg = 'Bad exception data from child: {!r}'.format( bytes(errpipe_data)) child_exception_type = getattr( builtins, exception_name.decode('ascii'), SubprocessError) if issubclass(child_exception_type, OSError) and hex_errno: errno_num = int(hex_errno, 16) if err_msg == "noexec:chdir": err_msg = "" # The error must be from chdir(cwd). err_filename = cwd elif err_msg == "noexec": err_msg = "" err_filename = None else: err_filename = orig_executable if errno_num != 0: err_msg = os.strerror(errno_num) if err_filename is not None: > raise child_exception_type(errno_num, err_msg, err_filename) E FileNotFoundError: [Errno 2] No such file or directory: 'python' /usr/lib64/python3.13/subprocess.py:1991: FileNotFoundError _ test_all_examples[/builddir/build/BUILD/pyrtl-0.12-build/pyrtl/tests/../examples/example6-memory.py] _ file = '/builddir/build/BUILD/pyrtl-0.12-build/pyrtl/tests/../examples/example6-memory.py' @pytest.mark.parametrize( "file", glob.iglob(os.path.dirname(__file__) + "/../examples/*.py") ) def test_all_examples(file): pyrtl.reset_working_block() try: > subprocess.check_output(["python", file]) tests/test_examples.py:23: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.13/subprocess.py:472: in check_output return run(*popenargs, stdout=PIPE, timeout=timeout, check=True, /usr/lib64/python3.13/subprocess.py:554: in run with Popen(*popenargs, **kwargs) as process: /usr/lib64/python3.13/subprocess.py:1039: in __init__ self._execute_child(args, executable, preexec_fn, close_fds, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = args = ['python', '/builddir/build/BUILD/pyrtl-0.12-build/pyrtl/tests/../examples/example6-memory.py'] executable = b'python', preexec_fn = None, close_fds = True, pass_fds = () cwd = None, env = None, startupinfo = None, creationflags = 0, shell = False p2cread = -1, p2cwrite = -1, c2pread = 11, c2pwrite = 12, errread = -1 errwrite = -1, restore_signals = True, gid = None, gids = None, uid = None umask = -1, start_new_session = False, process_group = -1 def _execute_child(self, args, executable, preexec_fn, close_fds, pass_fds, cwd, env, startupinfo, creationflags, shell, p2cread, p2cwrite, c2pread, c2pwrite, errread, errwrite, restore_signals, gid, gids, uid, umask, start_new_session, process_group): """Execute program (POSIX version)""" if isinstance(args, (str, bytes)): args = [args] elif isinstance(args, os.PathLike): if shell: raise TypeError('path-like args is not allowed when ' 'shell is true') args = [args] else: args = list(args) if shell: # On Android the default shell is at '/system/bin/sh'. unix_shell = ('/system/bin/sh' if hasattr(sys, 'getandroidapilevel') else '/bin/sh') args = [unix_shell, "-c"] + args if executable: args[0] = executable if executable is None: executable = args[0] sys.audit("subprocess.Popen", executable, args, cwd, env) if (_USE_POSIX_SPAWN and os.path.dirname(executable) and preexec_fn is None and (not close_fds or _HAVE_POSIX_SPAWN_CLOSEFROM) and not pass_fds and cwd is None and (p2cread == -1 or p2cread > 2) and (c2pwrite == -1 or c2pwrite > 2) and (errwrite == -1 or errwrite > 2) and not start_new_session and process_group == -1 and gid is None and gids is None and uid is None and umask < 0): self._posix_spawn(args, executable, env, restore_signals, close_fds, p2cread, p2cwrite, c2pread, c2pwrite, errread, errwrite) return orig_executable = executable # For transferring possible exec failure from child to parent. # Data format: "exception name:hex errno:description" # Pickle is not used; it is complex and involves memory allocation. errpipe_read, errpipe_write = os.pipe() # errpipe_write must not be in the standard io 0, 1, or 2 fd range. low_fds_to_close = [] while errpipe_write < 3: low_fds_to_close.append(errpipe_write) errpipe_write = os.dup(errpipe_write) for low_fd in low_fds_to_close: os.close(low_fd) try: try: # We must avoid complex work that could involve # malloc or free in the child process to avoid # potential deadlocks, thus we do all this here. # and pass it to fork_exec() if env is not None: env_list = [] for k, v in env.items(): k = os.fsencode(k) if b'=' in k: raise ValueError("illegal environment variable name") env_list.append(k + b'=' + os.fsencode(v)) else: env_list = None # Use execv instead of execve. executable = os.fsencode(executable) if os.path.dirname(executable): executable_list = (executable,) else: # This matches the behavior of os._execvpe(). executable_list = tuple( os.path.join(os.fsencode(dir), executable) for dir in os.get_exec_path(env)) fds_to_keep = set(pass_fds) fds_to_keep.add(errpipe_write) self.pid = _fork_exec( args, executable_list, close_fds, tuple(sorted(map(int, fds_to_keep))), cwd, env_list, p2cread, p2cwrite, c2pread, c2pwrite, errread, errwrite, errpipe_read, errpipe_write, restore_signals, start_new_session, process_group, gid, gids, uid, umask, preexec_fn, _USE_VFORK) self._child_created = True finally: # be sure the FD is closed no matter what os.close(errpipe_write) self._close_pipe_fds(p2cread, p2cwrite, c2pread, c2pwrite, errread, errwrite) # Wait for exec to fail or succeed; possibly raising an # exception (limited in size) errpipe_data = bytearray() while True: part = os.read(errpipe_read, 50000) errpipe_data += part if not part or len(errpipe_data) > 50000: break finally: # be sure the FD is closed no matter what os.close(errpipe_read) if errpipe_data: try: pid, sts = os.waitpid(self.pid, 0) if pid == self.pid: self._handle_exitstatus(sts) else: self.returncode = sys.maxsize except ChildProcessError: pass try: exception_name, hex_errno, err_msg = ( errpipe_data.split(b':', 2)) # The encoding here should match the encoding # written in by the subprocess implementations # like _posixsubprocess err_msg = err_msg.decode() except ValueError: exception_name = b'SubprocessError' hex_errno = b'0' err_msg = 'Bad exception data from child: {!r}'.format( bytes(errpipe_data)) child_exception_type = getattr( builtins, exception_name.decode('ascii'), SubprocessError) if issubclass(child_exception_type, OSError) and hex_errno: errno_num = int(hex_errno, 16) if err_msg == "noexec:chdir": err_msg = "" # The error must be from chdir(cwd). err_filename = cwd elif err_msg == "noexec": err_msg = "" err_filename = None else: err_filename = orig_executable if errno_num != 0: err_msg = os.strerror(errno_num) if err_filename is not None: > raise child_exception_type(errno_num, err_msg, err_filename) E FileNotFoundError: [Errno 2] No such file or directory: 'python' /usr/lib64/python3.13/subprocess.py:1991: FileNotFoundError _ test_all_examples[/builddir/build/BUILD/pyrtl-0.12-build/pyrtl/tests/../examples/example5-introspection.py] _ file = '/builddir/build/BUILD/pyrtl-0.12-build/pyrtl/tests/../examples/example5-introspection.py' @pytest.mark.parametrize( "file", glob.iglob(os.path.dirname(__file__) + "/../examples/*.py") ) def test_all_examples(file): pyrtl.reset_working_block() try: > subprocess.check_output(["python", file]) tests/test_examples.py:23: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.13/subprocess.py:472: in check_output return run(*popenargs, stdout=PIPE, timeout=timeout, check=True, /usr/lib64/python3.13/subprocess.py:554: in run with Popen(*popenargs, **kwargs) as process: /usr/lib64/python3.13/subprocess.py:1039: in __init__ self._execute_child(args, executable, preexec_fn, close_fds, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = args = ['python', '/builddir/build/BUILD/pyrtl-0.12-build/pyrtl/tests/../examples/example5-introspection.py'] executable = b'python', preexec_fn = None, close_fds = True, pass_fds = () cwd = None, env = None, startupinfo = None, creationflags = 0, shell = False p2cread = -1, p2cwrite = -1, c2pread = 11, c2pwrite = 12, errread = -1 errwrite = -1, restore_signals = True, gid = None, gids = None, uid = None umask = -1, start_new_session = False, process_group = -1 def _execute_child(self, args, executable, preexec_fn, close_fds, pass_fds, cwd, env, startupinfo, creationflags, shell, p2cread, p2cwrite, c2pread, c2pwrite, errread, errwrite, restore_signals, gid, gids, uid, umask, start_new_session, process_group): """Execute program (POSIX version)""" if isinstance(args, (str, bytes)): args = [args] elif isinstance(args, os.PathLike): if shell: raise TypeError('path-like args is not allowed when ' 'shell is true') args = [args] else: args = list(args) if shell: # On Android the default shell is at '/system/bin/sh'. unix_shell = ('/system/bin/sh' if hasattr(sys, 'getandroidapilevel') else '/bin/sh') args = [unix_shell, "-c"] + args if executable: args[0] = executable if executable is None: executable = args[0] sys.audit("subprocess.Popen", executable, args, cwd, env) if (_USE_POSIX_SPAWN and os.path.dirname(executable) and preexec_fn is None and (not close_fds or _HAVE_POSIX_SPAWN_CLOSEFROM) and not pass_fds and cwd is None and (p2cread == -1 or p2cread > 2) and (c2pwrite == -1 or c2pwrite > 2) and (errwrite == -1 or errwrite > 2) and not start_new_session and process_group == -1 and gid is None and gids is None and uid is None and umask < 0): self._posix_spawn(args, executable, env, restore_signals, close_fds, p2cread, p2cwrite, c2pread, c2pwrite, errread, errwrite) return orig_executable = executable # For transferring possible exec failure from child to parent. # Data format: "exception name:hex errno:description" # Pickle is not used; it is complex and involves memory allocation. errpipe_read, errpipe_write = os.pipe() # errpipe_write must not be in the standard io 0, 1, or 2 fd range. low_fds_to_close = [] while errpipe_write < 3: low_fds_to_close.append(errpipe_write) errpipe_write = os.dup(errpipe_write) for low_fd in low_fds_to_close: os.close(low_fd) try: try: # We must avoid complex work that could involve # malloc or free in the child process to avoid # potential deadlocks, thus we do all this here. # and pass it to fork_exec() if env is not None: env_list = [] for k, v in env.items(): k = os.fsencode(k) if b'=' in k: raise ValueError("illegal environment variable name") env_list.append(k + b'=' + os.fsencode(v)) else: env_list = None # Use execv instead of execve. executable = os.fsencode(executable) if os.path.dirname(executable): executable_list = (executable,) else: # This matches the behavior of os._execvpe(). executable_list = tuple( os.path.join(os.fsencode(dir), executable) for dir in os.get_exec_path(env)) fds_to_keep = set(pass_fds) fds_to_keep.add(errpipe_write) self.pid = _fork_exec( args, executable_list, close_fds, tuple(sorted(map(int, fds_to_keep))), cwd, env_list, p2cread, p2cwrite, c2pread, c2pwrite, errread, errwrite, errpipe_read, errpipe_write, restore_signals, start_new_session, process_group, gid, gids, uid, umask, preexec_fn, _USE_VFORK) self._child_created = True finally: # be sure the FD is closed no matter what os.close(errpipe_write) self._close_pipe_fds(p2cread, p2cwrite, c2pread, c2pwrite, errread, errwrite) # Wait for exec to fail or succeed; possibly raising an # exception (limited in size) errpipe_data = bytearray() while True: part = os.read(errpipe_read, 50000) errpipe_data += part if not part or len(errpipe_data) > 50000: break finally: # be sure the FD is closed no matter what os.close(errpipe_read) if errpipe_data: try: pid, sts = os.waitpid(self.pid, 0) if pid == self.pid: self._handle_exitstatus(sts) else: self.returncode = sys.maxsize except ChildProcessError: pass try: exception_name, hex_errno, err_msg = ( errpipe_data.split(b':', 2)) # The encoding here should match the encoding # written in by the subprocess implementations # like _posixsubprocess err_msg = err_msg.decode() except ValueError: exception_name = b'SubprocessError' hex_errno = b'0' err_msg = 'Bad exception data from child: {!r}'.format( bytes(errpipe_data)) child_exception_type = getattr( builtins, exception_name.decode('ascii'), SubprocessError) if issubclass(child_exception_type, OSError) and hex_errno: errno_num = int(hex_errno, 16) if err_msg == "noexec:chdir": err_msg = "" # The error must be from chdir(cwd). err_filename = cwd elif err_msg == "noexec": err_msg = "" err_filename = None else: err_filename = orig_executable if errno_num != 0: err_msg = os.strerror(errno_num) if err_filename is not None: > raise child_exception_type(errno_num, err_msg, err_filename) E FileNotFoundError: [Errno 2] No such file or directory: 'python' /usr/lib64/python3.13/subprocess.py:1991: FileNotFoundError _ test_all_examples[/builddir/build/BUILD/pyrtl-0.12-build/pyrtl/tests/../examples/example4-debuggingtools.py] _ file = '/builddir/build/BUILD/pyrtl-0.12-build/pyrtl/tests/../examples/example4-debuggingtools.py' @pytest.mark.parametrize( "file", glob.iglob(os.path.dirname(__file__) + "/../examples/*.py") ) def test_all_examples(file): pyrtl.reset_working_block() try: > subprocess.check_output(["python", file]) tests/test_examples.py:23: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.13/subprocess.py:472: in check_output return run(*popenargs, stdout=PIPE, timeout=timeout, check=True, /usr/lib64/python3.13/subprocess.py:554: in run with Popen(*popenargs, **kwargs) as process: /usr/lib64/python3.13/subprocess.py:1039: in __init__ self._execute_child(args, executable, preexec_fn, close_fds, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = args = ['python', '/builddir/build/BUILD/pyrtl-0.12-build/pyrtl/tests/../examples/example4-debuggingtools.py'] executable = b'python', preexec_fn = None, close_fds = True, pass_fds = () cwd = None, env = None, startupinfo = None, creationflags = 0, shell = False p2cread = -1, p2cwrite = -1, c2pread = 11, c2pwrite = 12, errread = -1 errwrite = -1, restore_signals = True, gid = None, gids = None, uid = None umask = -1, start_new_session = False, process_group = -1 def _execute_child(self, args, executable, preexec_fn, close_fds, pass_fds, cwd, env, startupinfo, creationflags, shell, p2cread, p2cwrite, c2pread, c2pwrite, errread, errwrite, restore_signals, gid, gids, uid, umask, start_new_session, process_group): """Execute program (POSIX version)""" if isinstance(args, (str, bytes)): args = [args] elif isinstance(args, os.PathLike): if shell: raise TypeError('path-like args is not allowed when ' 'shell is true') args = [args] else: args = list(args) if shell: # On Android the default shell is at '/system/bin/sh'. unix_shell = ('/system/bin/sh' if hasattr(sys, 'getandroidapilevel') else '/bin/sh') args = [unix_shell, "-c"] + args if executable: args[0] = executable if executable is None: executable = args[0] sys.audit("subprocess.Popen", executable, args, cwd, env) if (_USE_POSIX_SPAWN and os.path.dirname(executable) and preexec_fn is None and (not close_fds or _HAVE_POSIX_SPAWN_CLOSEFROM) and not pass_fds and cwd is None and (p2cread == -1 or p2cread > 2) and (c2pwrite == -1 or c2pwrite > 2) and (errwrite == -1 or errwrite > 2) and not start_new_session and process_group == -1 and gid is None and gids is None and uid is None and umask < 0): self._posix_spawn(args, executable, env, restore_signals, close_fds, p2cread, p2cwrite, c2pread, c2pwrite, errread, errwrite) return orig_executable = executable # For transferring possible exec failure from child to parent. # Data format: "exception name:hex errno:description" # Pickle is not used; it is complex and involves memory allocation. errpipe_read, errpipe_write = os.pipe() # errpipe_write must not be in the standard io 0, 1, or 2 fd range. low_fds_to_close = [] while errpipe_write < 3: low_fds_to_close.append(errpipe_write) errpipe_write = os.dup(errpipe_write) for low_fd in low_fds_to_close: os.close(low_fd) try: try: # We must avoid complex work that could involve # malloc or free in the child process to avoid # potential deadlocks, thus we do all this here. # and pass it to fork_exec() if env is not None: env_list = [] for k, v in env.items(): k = os.fsencode(k) if b'=' in k: raise ValueError("illegal environment variable name") env_list.append(k + b'=' + os.fsencode(v)) else: env_list = None # Use execv instead of execve. executable = os.fsencode(executable) if os.path.dirname(executable): executable_list = (executable,) else: # This matches the behavior of os._execvpe(). executable_list = tuple( os.path.join(os.fsencode(dir), executable) for dir in os.get_exec_path(env)) fds_to_keep = set(pass_fds) fds_to_keep.add(errpipe_write) self.pid = _fork_exec( args, executable_list, close_fds, tuple(sorted(map(int, fds_to_keep))), cwd, env_list, p2cread, p2cwrite, c2pread, c2pwrite, errread, errwrite, errpipe_read, errpipe_write, restore_signals, start_new_session, process_group, gid, gids, uid, umask, preexec_fn, _USE_VFORK) self._child_created = True finally: # be sure the FD is closed no matter what os.close(errpipe_write) self._close_pipe_fds(p2cread, p2cwrite, c2pread, c2pwrite, errread, errwrite) # Wait for exec to fail or succeed; possibly raising an # exception (limited in size) errpipe_data = bytearray() while True: part = os.read(errpipe_read, 50000) errpipe_data += part if not part or len(errpipe_data) > 50000: break finally: # be sure the FD is closed no matter what os.close(errpipe_read) if errpipe_data: try: pid, sts = os.waitpid(self.pid, 0) if pid == self.pid: self._handle_exitstatus(sts) else: self.returncode = sys.maxsize except ChildProcessError: pass try: exception_name, hex_errno, err_msg = ( errpipe_data.split(b':', 2)) # The encoding here should match the encoding # written in by the subprocess implementations # like _posixsubprocess err_msg = err_msg.decode() except ValueError: exception_name = b'SubprocessError' hex_errno = b'0' err_msg = 'Bad exception data from child: {!r}'.format( bytes(errpipe_data)) child_exception_type = getattr( builtins, exception_name.decode('ascii'), SubprocessError) if issubclass(child_exception_type, OSError) and hex_errno: errno_num = int(hex_errno, 16) if err_msg == "noexec:chdir": err_msg = "" # The error must be from chdir(cwd). err_filename = cwd elif err_msg == "noexec": err_msg = "" err_filename = None else: err_filename = orig_executable if errno_num != 0: err_msg = os.strerror(errno_num) if err_filename is not None: > raise child_exception_type(errno_num, err_msg, err_filename) E FileNotFoundError: [Errno 2] No such file or directory: 'python' /usr/lib64/python3.13/subprocess.py:1991: FileNotFoundError _ test_all_examples[/builddir/build/BUILD/pyrtl-0.12-build/pyrtl/tests/../examples/example3-statemachine.py] _ file = '/builddir/build/BUILD/pyrtl-0.12-build/pyrtl/tests/../examples/example3-statemachine.py' @pytest.mark.parametrize( "file", glob.iglob(os.path.dirname(__file__) + "/../examples/*.py") ) def test_all_examples(file): pyrtl.reset_working_block() try: > subprocess.check_output(["python", file]) tests/test_examples.py:23: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.13/subprocess.py:472: in check_output return run(*popenargs, stdout=PIPE, timeout=timeout, check=True, /usr/lib64/python3.13/subprocess.py:554: in run with Popen(*popenargs, **kwargs) as process: /usr/lib64/python3.13/subprocess.py:1039: in __init__ self._execute_child(args, executable, preexec_fn, close_fds, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = args = ['python', '/builddir/build/BUILD/pyrtl-0.12-build/pyrtl/tests/../examples/example3-statemachine.py'] executable = b'python', preexec_fn = None, close_fds = True, pass_fds = () cwd = None, env = None, startupinfo = None, creationflags = 0, shell = False p2cread = -1, p2cwrite = -1, c2pread = 11, c2pwrite = 12, errread = -1 errwrite = -1, restore_signals = True, gid = None, gids = None, uid = None umask = -1, start_new_session = False, process_group = -1 def _execute_child(self, args, executable, preexec_fn, close_fds, pass_fds, cwd, env, startupinfo, creationflags, shell, p2cread, p2cwrite, c2pread, c2pwrite, errread, errwrite, restore_signals, gid, gids, uid, umask, start_new_session, process_group): """Execute program (POSIX version)""" if isinstance(args, (str, bytes)): args = [args] elif isinstance(args, os.PathLike): if shell: raise TypeError('path-like args is not allowed when ' 'shell is true') args = [args] else: args = list(args) if shell: # On Android the default shell is at '/system/bin/sh'. unix_shell = ('/system/bin/sh' if hasattr(sys, 'getandroidapilevel') else '/bin/sh') args = [unix_shell, "-c"] + args if executable: args[0] = executable if executable is None: executable = args[0] sys.audit("subprocess.Popen", executable, args, cwd, env) if (_USE_POSIX_SPAWN and os.path.dirname(executable) and preexec_fn is None and (not close_fds or _HAVE_POSIX_SPAWN_CLOSEFROM) and not pass_fds and cwd is None and (p2cread == -1 or p2cread > 2) and (c2pwrite == -1 or c2pwrite > 2) and (errwrite == -1 or errwrite > 2) and not start_new_session and process_group == -1 and gid is None and gids is None and uid is None and umask < 0): self._posix_spawn(args, executable, env, restore_signals, close_fds, p2cread, p2cwrite, c2pread, c2pwrite, errread, errwrite) return orig_executable = executable # For transferring possible exec failure from child to parent. # Data format: "exception name:hex errno:description" # Pickle is not used; it is complex and involves memory allocation. errpipe_read, errpipe_write = os.pipe() # errpipe_write must not be in the standard io 0, 1, or 2 fd range. low_fds_to_close = [] while errpipe_write < 3: low_fds_to_close.append(errpipe_write) errpipe_write = os.dup(errpipe_write) for low_fd in low_fds_to_close: os.close(low_fd) try: try: # We must avoid complex work that could involve # malloc or free in the child process to avoid # potential deadlocks, thus we do all this here. # and pass it to fork_exec() if env is not None: env_list = [] for k, v in env.items(): k = os.fsencode(k) if b'=' in k: raise ValueError("illegal environment variable name") env_list.append(k + b'=' + os.fsencode(v)) else: env_list = None # Use execv instead of execve. executable = os.fsencode(executable) if os.path.dirname(executable): executable_list = (executable,) else: # This matches the behavior of os._execvpe(). executable_list = tuple( os.path.join(os.fsencode(dir), executable) for dir in os.get_exec_path(env)) fds_to_keep = set(pass_fds) fds_to_keep.add(errpipe_write) self.pid = _fork_exec( args, executable_list, close_fds, tuple(sorted(map(int, fds_to_keep))), cwd, env_list, p2cread, p2cwrite, c2pread, c2pwrite, errread, errwrite, errpipe_read, errpipe_write, restore_signals, start_new_session, process_group, gid, gids, uid, umask, preexec_fn, _USE_VFORK) self._child_created = True finally: # be sure the FD is closed no matter what os.close(errpipe_write) self._close_pipe_fds(p2cread, p2cwrite, c2pread, c2pwrite, errread, errwrite) # Wait for exec to fail or succeed; possibly raising an # exception (limited in size) errpipe_data = bytearray() while True: part = os.read(errpipe_read, 50000) errpipe_data += part if not part or len(errpipe_data) > 50000: break finally: # be sure the FD is closed no matter what os.close(errpipe_read) if errpipe_data: try: pid, sts = os.waitpid(self.pid, 0) if pid == self.pid: self._handle_exitstatus(sts) else: self.returncode = sys.maxsize except ChildProcessError: pass try: exception_name, hex_errno, err_msg = ( errpipe_data.split(b':', 2)) # The encoding here should match the encoding # written in by the subprocess implementations # like _posixsubprocess err_msg = err_msg.decode() except ValueError: exception_name = b'SubprocessError' hex_errno = b'0' err_msg = 'Bad exception data from child: {!r}'.format( bytes(errpipe_data)) child_exception_type = getattr( builtins, exception_name.decode('ascii'), SubprocessError) if issubclass(child_exception_type, OSError) and hex_errno: errno_num = int(hex_errno, 16) if err_msg == "noexec:chdir": err_msg = "" # The error must be from chdir(cwd). err_filename = cwd elif err_msg == "noexec": err_msg = "" err_filename = None else: err_filename = orig_executable if errno_num != 0: err_msg = os.strerror(errno_num) if err_filename is not None: > raise child_exception_type(errno_num, err_msg, err_filename) E FileNotFoundError: [Errno 2] No such file or directory: 'python' /usr/lib64/python3.13/subprocess.py:1991: FileNotFoundError _ test_all_examples[/builddir/build/BUILD/pyrtl-0.12-build/pyrtl/tests/../examples/example2-counter.py] _ file = '/builddir/build/BUILD/pyrtl-0.12-build/pyrtl/tests/../examples/example2-counter.py' @pytest.mark.parametrize( "file", glob.iglob(os.path.dirname(__file__) + "/../examples/*.py") ) def test_all_examples(file): pyrtl.reset_working_block() try: > subprocess.check_output(["python", file]) tests/test_examples.py:23: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.13/subprocess.py:472: in check_output return run(*popenargs, stdout=PIPE, timeout=timeout, check=True, /usr/lib64/python3.13/subprocess.py:554: in run with Popen(*popenargs, **kwargs) as process: /usr/lib64/python3.13/subprocess.py:1039: in __init__ self._execute_child(args, executable, preexec_fn, close_fds, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = args = ['python', '/builddir/build/BUILD/pyrtl-0.12-build/pyrtl/tests/../examples/example2-counter.py'] executable = b'python', preexec_fn = None, close_fds = True, pass_fds = () cwd = None, env = None, startupinfo = None, creationflags = 0, shell = False p2cread = -1, p2cwrite = -1, c2pread = 11, c2pwrite = 12, errread = -1 errwrite = -1, restore_signals = True, gid = None, gids = None, uid = None umask = -1, start_new_session = False, process_group = -1 def _execute_child(self, args, executable, preexec_fn, close_fds, pass_fds, cwd, env, startupinfo, creationflags, shell, p2cread, p2cwrite, c2pread, c2pwrite, errread, errwrite, restore_signals, gid, gids, uid, umask, start_new_session, process_group): """Execute program (POSIX version)""" if isinstance(args, (str, bytes)): args = [args] elif isinstance(args, os.PathLike): if shell: raise TypeError('path-like args is not allowed when ' 'shell is true') args = [args] else: args = list(args) if shell: # On Android the default shell is at '/system/bin/sh'. unix_shell = ('/system/bin/sh' if hasattr(sys, 'getandroidapilevel') else '/bin/sh') args = [unix_shell, "-c"] + args if executable: args[0] = executable if executable is None: executable = args[0] sys.audit("subprocess.Popen", executable, args, cwd, env) if (_USE_POSIX_SPAWN and os.path.dirname(executable) and preexec_fn is None and (not close_fds or _HAVE_POSIX_SPAWN_CLOSEFROM) and not pass_fds and cwd is None and (p2cread == -1 or p2cread > 2) and (c2pwrite == -1 or c2pwrite > 2) and (errwrite == -1 or errwrite > 2) and not start_new_session and process_group == -1 and gid is None and gids is None and uid is None and umask < 0): self._posix_spawn(args, executable, env, restore_signals, close_fds, p2cread, p2cwrite, c2pread, c2pwrite, errread, errwrite) return orig_executable = executable # For transferring possible exec failure from child to parent. # Data format: "exception name:hex errno:description" # Pickle is not used; it is complex and involves memory allocation. errpipe_read, errpipe_write = os.pipe() # errpipe_write must not be in the standard io 0, 1, or 2 fd range. low_fds_to_close = [] while errpipe_write < 3: low_fds_to_close.append(errpipe_write) errpipe_write = os.dup(errpipe_write) for low_fd in low_fds_to_close: os.close(low_fd) try: try: # We must avoid complex work that could involve # malloc or free in the child process to avoid # potential deadlocks, thus we do all this here. # and pass it to fork_exec() if env is not None: env_list = [] for k, v in env.items(): k = os.fsencode(k) if b'=' in k: raise ValueError("illegal environment variable name") env_list.append(k + b'=' + os.fsencode(v)) else: env_list = None # Use execv instead of execve. executable = os.fsencode(executable) if os.path.dirname(executable): executable_list = (executable,) else: # This matches the behavior of os._execvpe(). executable_list = tuple( os.path.join(os.fsencode(dir), executable) for dir in os.get_exec_path(env)) fds_to_keep = set(pass_fds) fds_to_keep.add(errpipe_write) self.pid = _fork_exec( args, executable_list, close_fds, tuple(sorted(map(int, fds_to_keep))), cwd, env_list, p2cread, p2cwrite, c2pread, c2pwrite, errread, errwrite, errpipe_read, errpipe_write, restore_signals, start_new_session, process_group, gid, gids, uid, umask, preexec_fn, _USE_VFORK) self._child_created = True finally: # be sure the FD is closed no matter what os.close(errpipe_write) self._close_pipe_fds(p2cread, p2cwrite, c2pread, c2pwrite, errread, errwrite) # Wait for exec to fail or succeed; possibly raising an # exception (limited in size) errpipe_data = bytearray() while True: part = os.read(errpipe_read, 50000) errpipe_data += part if not part or len(errpipe_data) > 50000: break finally: # be sure the FD is closed no matter what os.close(errpipe_read) if errpipe_data: try: pid, sts = os.waitpid(self.pid, 0) if pid == self.pid: self._handle_exitstatus(sts) else: self.returncode = sys.maxsize except ChildProcessError: pass try: exception_name, hex_errno, err_msg = ( errpipe_data.split(b':', 2)) # The encoding here should match the encoding # written in by the subprocess implementations # like _posixsubprocess err_msg = err_msg.decode() except ValueError: exception_name = b'SubprocessError' hex_errno = b'0' err_msg = 'Bad exception data from child: {!r}'.format( bytes(errpipe_data)) child_exception_type = getattr( builtins, exception_name.decode('ascii'), SubprocessError) if issubclass(child_exception_type, OSError) and hex_errno: errno_num = int(hex_errno, 16) if err_msg == "noexec:chdir": err_msg = "" # The error must be from chdir(cwd). err_filename = cwd elif err_msg == "noexec": err_msg = "" err_filename = None else: err_filename = orig_executable if errno_num != 0: err_msg = os.strerror(errno_num) if err_filename is not None: > raise child_exception_type(errno_num, err_msg, err_filename) E FileNotFoundError: [Errno 2] No such file or directory: 'python' /usr/lib64/python3.13/subprocess.py:1991: FileNotFoundError _ test_all_examples[/builddir/build/BUILD/pyrtl-0.12-build/pyrtl/tests/../examples/example1.2-wire-struct.py] _ file = '/builddir/build/BUILD/pyrtl-0.12-build/pyrtl/tests/../examples/example1.2-wire-struct.py' @pytest.mark.parametrize( "file", glob.iglob(os.path.dirname(__file__) + "/../examples/*.py") ) def test_all_examples(file): pyrtl.reset_working_block() try: > subprocess.check_output(["python", file]) tests/test_examples.py:23: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.13/subprocess.py:472: in check_output return run(*popenargs, stdout=PIPE, timeout=timeout, check=True, /usr/lib64/python3.13/subprocess.py:554: in run with Popen(*popenargs, **kwargs) as process: /usr/lib64/python3.13/subprocess.py:1039: in __init__ self._execute_child(args, executable, preexec_fn, close_fds, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = args = ['python', '/builddir/build/BUILD/pyrtl-0.12-build/pyrtl/tests/../examples/example1.2-wire-struct.py'] executable = b'python', preexec_fn = None, close_fds = True, pass_fds = () cwd = None, env = None, startupinfo = None, creationflags = 0, shell = False p2cread = -1, p2cwrite = -1, c2pread = 11, c2pwrite = 12, errread = -1 errwrite = -1, restore_signals = True, gid = None, gids = None, uid = None umask = -1, start_new_session = False, process_group = -1 def _execute_child(self, args, executable, preexec_fn, close_fds, pass_fds, cwd, env, startupinfo, creationflags, shell, p2cread, p2cwrite, c2pread, c2pwrite, errread, errwrite, restore_signals, gid, gids, uid, umask, start_new_session, process_group): """Execute program (POSIX version)""" if isinstance(args, (str, bytes)): args = [args] elif isinstance(args, os.PathLike): if shell: raise TypeError('path-like args is not allowed when ' 'shell is true') args = [args] else: args = list(args) if shell: # On Android the default shell is at '/system/bin/sh'. unix_shell = ('/system/bin/sh' if hasattr(sys, 'getandroidapilevel') else '/bin/sh') args = [unix_shell, "-c"] + args if executable: args[0] = executable if executable is None: executable = args[0] sys.audit("subprocess.Popen", executable, args, cwd, env) if (_USE_POSIX_SPAWN and os.path.dirname(executable) and preexec_fn is None and (not close_fds or _HAVE_POSIX_SPAWN_CLOSEFROM) and not pass_fds and cwd is None and (p2cread == -1 or p2cread > 2) and (c2pwrite == -1 or c2pwrite > 2) and (errwrite == -1 or errwrite > 2) and not start_new_session and process_group == -1 and gid is None and gids is None and uid is None and umask < 0): self._posix_spawn(args, executable, env, restore_signals, close_fds, p2cread, p2cwrite, c2pread, c2pwrite, errread, errwrite) return orig_executable = executable # For transferring possible exec failure from child to parent. # Data format: "exception name:hex errno:description" # Pickle is not used; it is complex and involves memory allocation. errpipe_read, errpipe_write = os.pipe() # errpipe_write must not be in the standard io 0, 1, or 2 fd range. low_fds_to_close = [] while errpipe_write < 3: low_fds_to_close.append(errpipe_write) errpipe_write = os.dup(errpipe_write) for low_fd in low_fds_to_close: os.close(low_fd) try: try: # We must avoid complex work that could involve # malloc or free in the child process to avoid # potential deadlocks, thus we do all this here. # and pass it to fork_exec() if env is not None: env_list = [] for k, v in env.items(): k = os.fsencode(k) if b'=' in k: raise ValueError("illegal environment variable name") env_list.append(k + b'=' + os.fsencode(v)) else: env_list = None # Use execv instead of execve. executable = os.fsencode(executable) if os.path.dirname(executable): executable_list = (executable,) else: # This matches the behavior of os._execvpe(). executable_list = tuple( os.path.join(os.fsencode(dir), executable) for dir in os.get_exec_path(env)) fds_to_keep = set(pass_fds) fds_to_keep.add(errpipe_write) self.pid = _fork_exec( args, executable_list, close_fds, tuple(sorted(map(int, fds_to_keep))), cwd, env_list, p2cread, p2cwrite, c2pread, c2pwrite, errread, errwrite, errpipe_read, errpipe_write, restore_signals, start_new_session, process_group, gid, gids, uid, umask, preexec_fn, _USE_VFORK) self._child_created = True finally: # be sure the FD is closed no matter what os.close(errpipe_write) self._close_pipe_fds(p2cread, p2cwrite, c2pread, c2pwrite, errread, errwrite) # Wait for exec to fail or succeed; possibly raising an # exception (limited in size) errpipe_data = bytearray() while True: part = os.read(errpipe_read, 50000) errpipe_data += part if not part or len(errpipe_data) > 50000: break finally: # be sure the FD is closed no matter what os.close(errpipe_read) if errpipe_data: try: pid, sts = os.waitpid(self.pid, 0) if pid == self.pid: self._handle_exitstatus(sts) else: self.returncode = sys.maxsize except ChildProcessError: pass try: exception_name, hex_errno, err_msg = ( errpipe_data.split(b':', 2)) # The encoding here should match the encoding # written in by the subprocess implementations # like _posixsubprocess err_msg = err_msg.decode() except ValueError: exception_name = b'SubprocessError' hex_errno = b'0' err_msg = 'Bad exception data from child: {!r}'.format( bytes(errpipe_data)) child_exception_type = getattr( builtins, exception_name.decode('ascii'), SubprocessError) if issubclass(child_exception_type, OSError) and hex_errno: errno_num = int(hex_errno, 16) if err_msg == "noexec:chdir": err_msg = "" # The error must be from chdir(cwd). err_filename = cwd elif err_msg == "noexec": err_msg = "" err_filename = None else: err_filename = orig_executable if errno_num != 0: err_msg = os.strerror(errno_num) if err_filename is not None: > raise child_exception_type(errno_num, err_msg, err_filename) E FileNotFoundError: [Errno 2] No such file or directory: 'python' /usr/lib64/python3.13/subprocess.py:1991: FileNotFoundError _ test_all_examples[/builddir/build/BUILD/pyrtl-0.12-build/pyrtl/tests/../examples/example1.1-signed-numbers.py] _ file = '/builddir/build/BUILD/pyrtl-0.12-build/pyrtl/tests/../examples/example1.1-signed-numbers.py' @pytest.mark.parametrize( "file", glob.iglob(os.path.dirname(__file__) + "/../examples/*.py") ) def test_all_examples(file): pyrtl.reset_working_block() try: > subprocess.check_output(["python", file]) tests/test_examples.py:23: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.13/subprocess.py:472: in check_output return run(*popenargs, stdout=PIPE, timeout=timeout, check=True, /usr/lib64/python3.13/subprocess.py:554: in run with Popen(*popenargs, **kwargs) as process: /usr/lib64/python3.13/subprocess.py:1039: in __init__ self._execute_child(args, executable, preexec_fn, close_fds, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = args = ['python', '/builddir/build/BUILD/pyrtl-0.12-build/pyrtl/tests/../examples/example1.1-signed-numbers.py'] executable = b'python', preexec_fn = None, close_fds = True, pass_fds = () cwd = None, env = None, startupinfo = None, creationflags = 0, shell = False p2cread = -1, p2cwrite = -1, c2pread = 11, c2pwrite = 12, errread = -1 errwrite = -1, restore_signals = True, gid = None, gids = None, uid = None umask = -1, start_new_session = False, process_group = -1 def _execute_child(self, args, executable, preexec_fn, close_fds, pass_fds, cwd, env, startupinfo, creationflags, shell, p2cread, p2cwrite, c2pread, c2pwrite, errread, errwrite, restore_signals, gid, gids, uid, umask, start_new_session, process_group): """Execute program (POSIX version)""" if isinstance(args, (str, bytes)): args = [args] elif isinstance(args, os.PathLike): if shell: raise TypeError('path-like args is not allowed when ' 'shell is true') args = [args] else: args = list(args) if shell: # On Android the default shell is at '/system/bin/sh'. unix_shell = ('/system/bin/sh' if hasattr(sys, 'getandroidapilevel') else '/bin/sh') args = [unix_shell, "-c"] + args if executable: args[0] = executable if executable is None: executable = args[0] sys.audit("subprocess.Popen", executable, args, cwd, env) if (_USE_POSIX_SPAWN and os.path.dirname(executable) and preexec_fn is None and (not close_fds or _HAVE_POSIX_SPAWN_CLOSEFROM) and not pass_fds and cwd is None and (p2cread == -1 or p2cread > 2) and (c2pwrite == -1 or c2pwrite > 2) and (errwrite == -1 or errwrite > 2) and not start_new_session and process_group == -1 and gid is None and gids is None and uid is None and umask < 0): self._posix_spawn(args, executable, env, restore_signals, close_fds, p2cread, p2cwrite, c2pread, c2pwrite, errread, errwrite) return orig_executable = executable # For transferring possible exec failure from child to parent. # Data format: "exception name:hex errno:description" # Pickle is not used; it is complex and involves memory allocation. errpipe_read, errpipe_write = os.pipe() # errpipe_write must not be in the standard io 0, 1, or 2 fd range. low_fds_to_close = [] while errpipe_write < 3: low_fds_to_close.append(errpipe_write) errpipe_write = os.dup(errpipe_write) for low_fd in low_fds_to_close: os.close(low_fd) try: try: # We must avoid complex work that could involve # malloc or free in the child process to avoid # potential deadlocks, thus we do all this here. # and pass it to fork_exec() if env is not None: env_list = [] for k, v in env.items(): k = os.fsencode(k) if b'=' in k: raise ValueError("illegal environment variable name") env_list.append(k + b'=' + os.fsencode(v)) else: env_list = None # Use execv instead of execve. executable = os.fsencode(executable) if os.path.dirname(executable): executable_list = (executable,) else: # This matches the behavior of os._execvpe(). executable_list = tuple( os.path.join(os.fsencode(dir), executable) for dir in os.get_exec_path(env)) fds_to_keep = set(pass_fds) fds_to_keep.add(errpipe_write) self.pid = _fork_exec( args, executable_list, close_fds, tuple(sorted(map(int, fds_to_keep))), cwd, env_list, p2cread, p2cwrite, c2pread, c2pwrite, errread, errwrite, errpipe_read, errpipe_write, restore_signals, start_new_session, process_group, gid, gids, uid, umask, preexec_fn, _USE_VFORK) self._child_created = True finally: # be sure the FD is closed no matter what os.close(errpipe_write) self._close_pipe_fds(p2cread, p2cwrite, c2pread, c2pwrite, errread, errwrite) # Wait for exec to fail or succeed; possibly raising an # exception (limited in size) errpipe_data = bytearray() while True: part = os.read(errpipe_read, 50000) errpipe_data += part if not part or len(errpipe_data) > 50000: break finally: # be sure the FD is closed no matter what os.close(errpipe_read) if errpipe_data: try: pid, sts = os.waitpid(self.pid, 0) if pid == self.pid: self._handle_exitstatus(sts) else: self.returncode = sys.maxsize except ChildProcessError: pass try: exception_name, hex_errno, err_msg = ( errpipe_data.split(b':', 2)) # The encoding here should match the encoding # written in by the subprocess implementations # like _posixsubprocess err_msg = err_msg.decode() except ValueError: exception_name = b'SubprocessError' hex_errno = b'0' err_msg = 'Bad exception data from child: {!r}'.format( bytes(errpipe_data)) child_exception_type = getattr( builtins, exception_name.decode('ascii'), SubprocessError) if issubclass(child_exception_type, OSError) and hex_errno: errno_num = int(hex_errno, 16) if err_msg == "noexec:chdir": err_msg = "" # The error must be from chdir(cwd). err_filename = cwd elif err_msg == "noexec": err_msg = "" err_filename = None else: err_filename = orig_executable if errno_num != 0: err_msg = os.strerror(errno_num) if err_filename is not None: > raise child_exception_type(errno_num, err_msg, err_filename) E FileNotFoundError: [Errno 2] No such file or directory: 'python' /usr/lib64/python3.13/subprocess.py:1991: FileNotFoundError _ test_all_examples[/builddir/build/BUILD/pyrtl-0.12-build/pyrtl/tests/../examples/example1-combologic.py] _ file = '/builddir/build/BUILD/pyrtl-0.12-build/pyrtl/tests/../examples/example1-combologic.py' @pytest.mark.parametrize( "file", glob.iglob(os.path.dirname(__file__) + "/../examples/*.py") ) def test_all_examples(file): pyrtl.reset_working_block() try: > subprocess.check_output(["python", file]) tests/test_examples.py:23: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.13/subprocess.py:472: in check_output return run(*popenargs, stdout=PIPE, timeout=timeout, check=True, /usr/lib64/python3.13/subprocess.py:554: in run with Popen(*popenargs, **kwargs) as process: /usr/lib64/python3.13/subprocess.py:1039: in __init__ self._execute_child(args, executable, preexec_fn, close_fds, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = args = ['python', '/builddir/build/BUILD/pyrtl-0.12-build/pyrtl/tests/../examples/example1-combologic.py'] executable = b'python', preexec_fn = None, close_fds = True, pass_fds = () cwd = None, env = None, startupinfo = None, creationflags = 0, shell = False p2cread = -1, p2cwrite = -1, c2pread = 11, c2pwrite = 12, errread = -1 errwrite = -1, restore_signals = True, gid = None, gids = None, uid = None umask = -1, start_new_session = False, process_group = -1 def _execute_child(self, args, executable, preexec_fn, close_fds, pass_fds, cwd, env, startupinfo, creationflags, shell, p2cread, p2cwrite, c2pread, c2pwrite, errread, errwrite, restore_signals, gid, gids, uid, umask, start_new_session, process_group): """Execute program (POSIX version)""" if isinstance(args, (str, bytes)): args = [args] elif isinstance(args, os.PathLike): if shell: raise TypeError('path-like args is not allowed when ' 'shell is true') args = [args] else: args = list(args) if shell: # On Android the default shell is at '/system/bin/sh'. unix_shell = ('/system/bin/sh' if hasattr(sys, 'getandroidapilevel') else '/bin/sh') args = [unix_shell, "-c"] + args if executable: args[0] = executable if executable is None: executable = args[0] sys.audit("subprocess.Popen", executable, args, cwd, env) if (_USE_POSIX_SPAWN and os.path.dirname(executable) and preexec_fn is None and (not close_fds or _HAVE_POSIX_SPAWN_CLOSEFROM) and not pass_fds and cwd is None and (p2cread == -1 or p2cread > 2) and (c2pwrite == -1 or c2pwrite > 2) and (errwrite == -1 or errwrite > 2) and not start_new_session and process_group == -1 and gid is None and gids is None and uid is None and umask < 0): self._posix_spawn(args, executable, env, restore_signals, close_fds, p2cread, p2cwrite, c2pread, c2pwrite, errread, errwrite) return orig_executable = executable # For transferring possible exec failure from child to parent. # Data format: "exception name:hex errno:description" # Pickle is not used; it is complex and involves memory allocation. errpipe_read, errpipe_write = os.pipe() # errpipe_write must not be in the standard io 0, 1, or 2 fd range. low_fds_to_close = [] while errpipe_write < 3: low_fds_to_close.append(errpipe_write) errpipe_write = os.dup(errpipe_write) for low_fd in low_fds_to_close: os.close(low_fd) try: try: # We must avoid complex work that could involve # malloc or free in the child process to avoid # potential deadlocks, thus we do all this here. # and pass it to fork_exec() if env is not None: env_list = [] for k, v in env.items(): k = os.fsencode(k) if b'=' in k: raise ValueError("illegal environment variable name") env_list.append(k + b'=' + os.fsencode(v)) else: env_list = None # Use execv instead of execve. executable = os.fsencode(executable) if os.path.dirname(executable): executable_list = (executable,) else: # This matches the behavior of os._execvpe(). executable_list = tuple( os.path.join(os.fsencode(dir), executable) for dir in os.get_exec_path(env)) fds_to_keep = set(pass_fds) fds_to_keep.add(errpipe_write) self.pid = _fork_exec( args, executable_list, close_fds, tuple(sorted(map(int, fds_to_keep))), cwd, env_list, p2cread, p2cwrite, c2pread, c2pwrite, errread, errwrite, errpipe_read, errpipe_write, restore_signals, start_new_session, process_group, gid, gids, uid, umask, preexec_fn, _USE_VFORK) self._child_created = True finally: # be sure the FD is closed no matter what os.close(errpipe_write) self._close_pipe_fds(p2cread, p2cwrite, c2pread, c2pwrite, errread, errwrite) # Wait for exec to fail or succeed; possibly raising an # exception (limited in size) errpipe_data = bytearray() while True: part = os.read(errpipe_read, 50000) errpipe_data += part if not part or len(errpipe_data) > 50000: break finally: # be sure the FD is closed no matter what os.close(errpipe_read) if errpipe_data: try: pid, sts = os.waitpid(self.pid, 0) if pid == self.pid: self._handle_exitstatus(sts) else: self.returncode = sys.maxsize except ChildProcessError: pass try: exception_name, hex_errno, err_msg = ( errpipe_data.split(b':', 2)) # The encoding here should match the encoding # written in by the subprocess implementations # like _posixsubprocess err_msg = err_msg.decode() except ValueError: exception_name = b'SubprocessError' hex_errno = b'0' err_msg = 'Bad exception data from child: {!r}'.format( bytes(errpipe_data)) child_exception_type = getattr( builtins, exception_name.decode('ascii'), SubprocessError) if issubclass(child_exception_type, OSError) and hex_errno: errno_num = int(hex_errno, 16) if err_msg == "noexec:chdir": err_msg = "" # The error must be from chdir(cwd). err_filename = cwd elif err_msg == "noexec": err_msg = "" err_filename = None else: err_filename = orig_executable if errno_num != 0: err_msg = os.strerror(errno_num) if err_filename is not None: > raise child_exception_type(errno_num, err_msg, err_filename) E FileNotFoundError: [Errno 2] No such file or directory: 'python' /usr/lib64/python3.13/subprocess.py:1991: FileNotFoundError _ test_all_examples[/builddir/build/BUILD/pyrtl-0.12-build/pyrtl/tests/../examples/example0-minimum-viable-hardware.py] _ file = '/builddir/build/BUILD/pyrtl-0.12-build/pyrtl/tests/../examples/example0-minimum-viable-hardware.py' @pytest.mark.parametrize( "file", glob.iglob(os.path.dirname(__file__) + "/../examples/*.py") ) def test_all_examples(file): pyrtl.reset_working_block() try: > subprocess.check_output(["python", file]) tests/test_examples.py:23: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.13/subprocess.py:472: in check_output return run(*popenargs, stdout=PIPE, timeout=timeout, check=True, /usr/lib64/python3.13/subprocess.py:554: in run with Popen(*popenargs, **kwargs) as process: /usr/lib64/python3.13/subprocess.py:1039: in __init__ self._execute_child(args, executable, preexec_fn, close_fds, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = args = ['python', '/builddir/build/BUILD/pyrtl-0.12-build/pyrtl/tests/../examples/example0-minimum-viable-hardware.py'] executable = b'python', preexec_fn = None, close_fds = True, pass_fds = () cwd = None, env = None, startupinfo = None, creationflags = 0, shell = False p2cread = -1, p2cwrite = -1, c2pread = 11, c2pwrite = 12, errread = -1 errwrite = -1, restore_signals = True, gid = None, gids = None, uid = None umask = -1, start_new_session = False, process_group = -1 def _execute_child(self, args, executable, preexec_fn, close_fds, pass_fds, cwd, env, startupinfo, creationflags, shell, p2cread, p2cwrite, c2pread, c2pwrite, errread, errwrite, restore_signals, gid, gids, uid, umask, start_new_session, process_group): """Execute program (POSIX version)""" if isinstance(args, (str, bytes)): args = [args] elif isinstance(args, os.PathLike): if shell: raise TypeError('path-like args is not allowed when ' 'shell is true') args = [args] else: args = list(args) if shell: # On Android the default shell is at '/system/bin/sh'. unix_shell = ('/system/bin/sh' if hasattr(sys, 'getandroidapilevel') else '/bin/sh') args = [unix_shell, "-c"] + args if executable: args[0] = executable if executable is None: executable = args[0] sys.audit("subprocess.Popen", executable, args, cwd, env) if (_USE_POSIX_SPAWN and os.path.dirname(executable) and preexec_fn is None and (not close_fds or _HAVE_POSIX_SPAWN_CLOSEFROM) and not pass_fds and cwd is None and (p2cread == -1 or p2cread > 2) and (c2pwrite == -1 or c2pwrite > 2) and (errwrite == -1 or errwrite > 2) and not start_new_session and process_group == -1 and gid is None and gids is None and uid is None and umask < 0): self._posix_spawn(args, executable, env, restore_signals, close_fds, p2cread, p2cwrite, c2pread, c2pwrite, errread, errwrite) return orig_executable = executable # For transferring possible exec failure from child to parent. # Data format: "exception name:hex errno:description" # Pickle is not used; it is complex and involves memory allocation. errpipe_read, errpipe_write = os.pipe() # errpipe_write must not be in the standard io 0, 1, or 2 fd range. low_fds_to_close = [] while errpipe_write < 3: low_fds_to_close.append(errpipe_write) errpipe_write = os.dup(errpipe_write) for low_fd in low_fds_to_close: os.close(low_fd) try: try: # We must avoid complex work that could involve # malloc or free in the child process to avoid # potential deadlocks, thus we do all this here. # and pass it to fork_exec() if env is not None: env_list = [] for k, v in env.items(): k = os.fsencode(k) if b'=' in k: raise ValueError("illegal environment variable name") env_list.append(k + b'=' + os.fsencode(v)) else: env_list = None # Use execv instead of execve. executable = os.fsencode(executable) if os.path.dirname(executable): executable_list = (executable,) else: # This matches the behavior of os._execvpe(). executable_list = tuple( os.path.join(os.fsencode(dir), executable) for dir in os.get_exec_path(env)) fds_to_keep = set(pass_fds) fds_to_keep.add(errpipe_write) self.pid = _fork_exec( args, executable_list, close_fds, tuple(sorted(map(int, fds_to_keep))), cwd, env_list, p2cread, p2cwrite, c2pread, c2pwrite, errread, errwrite, errpipe_read, errpipe_write, restore_signals, start_new_session, process_group, gid, gids, uid, umask, preexec_fn, _USE_VFORK) self._child_created = True finally: # be sure the FD is closed no matter what os.close(errpipe_write) self._close_pipe_fds(p2cread, p2cwrite, c2pread, c2pwrite, errread, errwrite) # Wait for exec to fail or succeed; possibly raising an # exception (limited in size) errpipe_data = bytearray() while True: part = os.read(errpipe_read, 50000) errpipe_data += part if not part or len(errpipe_data) > 50000: break finally: # be sure the FD is closed no matter what os.close(errpipe_read) if errpipe_data: try: pid, sts = os.waitpid(self.pid, 0) if pid == self.pid: self._handle_exitstatus(sts) else: self.returncode = sys.maxsize except ChildProcessError: pass try: exception_name, hex_errno, err_msg = ( errpipe_data.split(b':', 2)) # The encoding here should match the encoding # written in by the subprocess implementations # like _posixsubprocess err_msg = err_msg.decode() except ValueError: exception_name = b'SubprocessError' hex_errno = b'0' err_msg = 'Bad exception data from child: {!r}'.format( bytes(errpipe_data)) child_exception_type = getattr( builtins, exception_name.decode('ascii'), SubprocessError) if issubclass(child_exception_type, OSError) and hex_errno: errno_num = int(hex_errno, 16) if err_msg == "noexec:chdir": err_msg = "" # The error must be from chdir(cwd). err_filename = cwd elif err_msg == "noexec": err_msg = "" err_filename = None else: err_filename = orig_executable if errno_num != 0: err_msg = os.strerror(errno_num) if err_filename is not None: > raise child_exception_type(errno_num, err_msg, err_filename) E FileNotFoundError: [Errno 2] No such file or directory: 'python' /usr/lib64/python3.13/subprocess.py:1991: FileNotFoundError =========================== short test summary info ============================ FAILED tests/test_examples.py::test_all_examples[/builddir/build/BUILD/pyrtl-0.12-build/pyrtl/tests/../examples/renderer-demo.py] - FileNotFoundError: [Errno 2] No such file or directory: 'python' FAILED tests/test_examples.py::test_all_examples[/builddir/build/BUILD/pyrtl-0.12-build/pyrtl/tests/../examples/introduction-to-hardware.py] - FileNotFoundError: [Errno 2] No such file or directory: 'python' FAILED tests/test_examples.py::test_all_examples[/builddir/build/BUILD/pyrtl-0.12-build/pyrtl/tests/../examples/example8-verilog.py] - FileNotFoundError: [Errno 2] No such file or directory: 'python' FAILED tests/test_examples.py::test_all_examples[/builddir/build/BUILD/pyrtl-0.12-build/pyrtl/tests/../examples/example7-synth-timing.py] - FileNotFoundError: [Errno 2] No such file or directory: 'python' FAILED tests/test_examples.py::test_all_examples[/builddir/build/BUILD/pyrtl-0.12-build/pyrtl/tests/../examples/example6-memory.py] - FileNotFoundError: [Errno 2] No such file or directory: 'python' FAILED tests/test_examples.py::test_all_examples[/builddir/build/BUILD/pyrtl-0.12-build/pyrtl/tests/../examples/example5-introspection.py] - FileNotFoundError: [Errno 2] No such file or directory: 'python' FAILED tests/test_examples.py::test_all_examples[/builddir/build/BUILD/pyrtl-0.12-build/pyrtl/tests/../examples/example4-debuggingtools.py] - FileNotFoundError: [Errno 2] No such file or directory: 'python' FAILED tests/test_examples.py::test_all_examples[/builddir/build/BUILD/pyrtl-0.12-build/pyrtl/tests/../examples/example3-statemachine.py] - FileNotFoundError: [Errno 2] No such file or directory: 'python' FAILED tests/test_examples.py::test_all_examples[/builddir/build/BUILD/pyrtl-0.12-build/pyrtl/tests/../examples/example2-counter.py] - FileNotFoundError: [Errno 2] No such file or directory: 'python' FAILED tests/test_examples.py::test_all_examples[/builddir/build/BUILD/pyrtl-0.12-build/pyrtl/tests/../examples/example1.2-wire-struct.py] - FileNotFoundError: [Errno 2] No such file or directory: 'python' FAILED tests/test_examples.py::test_all_examples[/builddir/build/BUILD/pyrtl-0.12-build/pyrtl/tests/../examples/example1.1-signed-numbers.py] - FileNotFoundError: [Errno 2] No such file or directory: 'python' FAILED tests/test_examples.py::test_all_examples[/builddir/build/BUILD/pyrtl-0.12-build/pyrtl/tests/../examples/example1-combologic.py] - FileNotFoundError: [Errno 2] No such file or directory: 'python' FAILED tests/test_examples.py::test_all_examples[/builddir/build/BUILD/pyrtl-0.12-build/pyrtl/tests/../examples/example0-minimum-viable-hardware.py] - FileNotFoundError: [Errno 2] No such file or directory: 'python' ================= 13 failed, 1251 passed, 7 skipped in 12.61s ================== + true + RPM_EC=0 ++ jobs -p + exit 0 Processing files: pyrtl-0.12-20260501.0.gita9688753.fc42.noarch Executing(%doc): /bin/sh -e /var/tmp/rpm-tmp.p14G8W + umask 022 + cd /builddir/build/BUILD/pyrtl-0.12-build + cd pyrtl + DOCDIR=/builddir/build/BUILD/pyrtl-0.12-build/BUILDROOT/usr/share/doc/pyrtl + export LC_ALL=C.UTF-8 + LC_ALL=C.UTF-8 + export DOCDIR + /usr/bin/mkdir -p /builddir/build/BUILD/pyrtl-0.12-build/BUILDROOT/usr/share/doc/pyrtl + cp -pr /builddir/build/BUILD/pyrtl-0.12-build/pyrtl/README.md /builddir/build/BUILD/pyrtl-0.12-build/BUILDROOT/usr/share/doc/pyrtl + RPM_EC=0 ++ jobs -p + exit 0 Executing(%license): /bin/sh -e /var/tmp/rpm-tmp.ouwSxC + umask 022 + cd /builddir/build/BUILD/pyrtl-0.12-build + cd pyrtl + LICENSEDIR=/builddir/build/BUILD/pyrtl-0.12-build/BUILDROOT/usr/share/licenses/pyrtl + export LC_ALL=C.UTF-8 + LC_ALL=C.UTF-8 + export LICENSEDIR + /usr/bin/mkdir -p /builddir/build/BUILD/pyrtl-0.12-build/BUILDROOT/usr/share/licenses/pyrtl + cp -pr /builddir/build/BUILD/pyrtl-0.12-build/pyrtl/LICENSE.md /builddir/build/BUILD/pyrtl-0.12-build/BUILDROOT/usr/share/licenses/pyrtl + RPM_EC=0 ++ jobs -p + exit 0 Provides: pyrtl = 0.12-20260501.0.gita9688753.fc42 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 Checking for unpackaged file(s): /usr/lib/rpm/check-files /builddir/build/BUILD/pyrtl-0.12-build/BUILDROOT Wrote: /builddir/build/SRPMS/pyrtl-0.12-20260501.0.gita9688753.fc42.src.rpm Wrote: /builddir/build/RPMS/pyrtl-0.12-20260501.0.gita9688753.fc42.noarch.rpm Executing(rmbuild): /bin/sh -e /var/tmp/rpm-tmp.akCX4Q + umask 022 + cd /builddir/build/BUILD/pyrtl-0.12-build + test -d /builddir/build/BUILD/pyrtl-0.12-build + /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w /builddir/build/BUILD/pyrtl-0.12-build + rm -rf /builddir/build/BUILD/pyrtl-0.12-build + RPM_EC=0 ++ jobs -p + exit 0 Finish: rpmbuild pyrtl-0.12-20260501.0.gita9688753.fc42.src.rpm Finish: build phase for pyrtl-0.12-20260501.0.gita9688753.fc42.src.rpm INFO: chroot_scan: 1 files copied to /var/lib/copr-rpmbuild/results/chroot_scan INFO: /var/lib/mock/fedora-42-x86_64-1778568247.373321/root/var/log/dnf5.log INFO: chroot_scan: creating tarball /var/lib/copr-rpmbuild/results/chroot_scan.tar.gz /bin/tar: Removing leading `/' from member names INFO: Done(/var/lib/copr-rpmbuild/results/pyrtl-0.12-20260501.0.gita9688753.fc42.src.rpm) Config(child) 0 minutes 31 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": "pyrtl", "epoch": null, "version": "0.12", "release": "20260501.0.gita9688753.fc42", "arch": "noarch" }, { "name": "pyrtl", "epoch": null, "version": "0.12", "release": "20260501.0.gita9688753.fc42", "arch": "src" } ] } RPMResults finished