Warning: Permanently added '2620:52:3:1:dead:beef:cafe:c108' (ED25519) to the list of known hosts. You can reproduce this build on your computer by running: sudo dnf install copr-rpmbuild /usr/bin/copr-rpmbuild --verbose --drop-resultdir --task-url https://copr.fedorainfracloud.org/backend/get-build-task/9780461-epel-10-x86_64 --chroot epel-10-x86_64 Version: 1.6 PID: 3537 Logging PID: 3539 Task: {'allow_user_ssh': False, 'appstream': False, 'background': False, 'build_id': 9780461, 'buildroot_pkgs': [], 'chroot': 'epel-10-x86_64', 'enable_net': True, 'fedora_review': False, 'git_hash': 'fc1a6fd483614e9f8712eca144d313308223fd72', 'git_repo': 'https://copr-dist-git.fedorainfracloud.org/git/rezso/HDL/pyrtl', 'isolation': 'default', 'memory_reqs': 2048, 'package_name': 'pyrtl', 'package_version': '0.12-20251107.0.git1c06c9e9', 'project_dirname': 'HDL', 'project_name': 'HDL', 'project_owner': 'rezso', 'repo_priority': None, 'repos': [{'baseurl': 'https://download.copr.fedorainfracloud.org/results/rezso/HDL/epel-10-x86_64/', 'id': 'copr_base', 'name': 'Copr repository', 'priority': None}], 'sandbox': 'rezso/HDL--rezso', 'source_json': {}, 'source_type': None, 'ssh_public_keys': None, 'storage': None, 'submitter': 'rezso', 'tags': [], 'task_id': '9780461-epel-10-x86_64', 'timeout': 172800, 'uses_devel_repo': False, 'with_opts': [], 'without_opts': []} Running: git clone https://copr-dist-git.fedorainfracloud.org/git/rezso/HDL/pyrtl /var/lib/copr-rpmbuild/workspace/workdir-7jwe_rdf/pyrtl --depth 500 --no-single-branch --recursive cmd: ['git', 'clone', 'https://copr-dist-git.fedorainfracloud.org/git/rezso/HDL/pyrtl', '/var/lib/copr-rpmbuild/workspace/workdir-7jwe_rdf/pyrtl', '--depth', '500', '--no-single-branch', '--recursive'] cwd: . rc: 0 stdout: stderr: Cloning into '/var/lib/copr-rpmbuild/workspace/workdir-7jwe_rdf/pyrtl'... Running: git checkout fc1a6fd483614e9f8712eca144d313308223fd72 -- cmd: ['git', 'checkout', 'fc1a6fd483614e9f8712eca144d313308223fd72', '--'] cwd: /var/lib/copr-rpmbuild/workspace/workdir-7jwe_rdf/pyrtl rc: 0 stdout: stderr: Note: switching to 'fc1a6fd483614e9f8712eca144d313308223fd72'. You are in 'detached HEAD' state. You can look around, make experimental changes and commit them, and you can discard any commits you make in this state without impacting any branches by switching back to a branch. If you want to create a new branch to retain commits you create, you may do so (now or later) by using -c with the switch command. Example: git switch -c Or undo this operation with: git switch - Turn off this advice by setting config variable advice.detachedHead to false HEAD is now at fc1a6fd automatic import of pyrtl Running: dist-git-client sources tail: /var/lib/copr-rpmbuild/main.log: file truncated cmd: ['dist-git-client', 'sources'] cwd: /var/lib/copr-rpmbuild/workspace/workdir-7jwe_rdf/pyrtl rc: 0 stdout: stderr: INFO: Reading stdout from command: git rev-parse --abbrev-ref HEAD INFO: Reading stdout from command: git rev-parse HEAD INFO: Reading sources specification file: sources Running (timeout=172800): unbuffer mock --spec /var/lib/copr-rpmbuild/workspace/workdir-7jwe_rdf/pyrtl/pyrtl.spec --sources /var/lib/copr-rpmbuild/workspace/workdir-7jwe_rdf/pyrtl --resultdir /var/lib/copr-rpmbuild/results --uniqueext 1762651163.183733 -r /var/lib/copr-rpmbuild/results/configs/child.cfg INFO: mock.py version 6.5 starting (python version = 3.13.7, NVR = mock-6.5-1.fc42), args: /usr/libexec/mock/mock --spec /var/lib/copr-rpmbuild/workspace/workdir-7jwe_rdf/pyrtl/pyrtl.spec --sources /var/lib/copr-rpmbuild/workspace/workdir-7jwe_rdf/pyrtl --resultdir /var/lib/copr-rpmbuild/results --uniqueext 1762651163.183733 -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-7jwe_rdf/pyrtl/pyrtl.spec) Config(centos-stream+epel-10-x86_64) Start: clean chroot Finish: clean chroot Mock Version: 6.5 INFO: Mock Version: 6.5 Start(bootstrap): chroot init INFO: mounting tmpfs at /var/lib/mock/centos-stream+epel-10-x86_64-bootstrap-1762651163.183733/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: quay.io/centos/centos:stream10 INFO: Pulling image: quay.io/centos/centos:stream10 INFO: Tagging container image as mock-bootstrap-48790f7d-ffaa-4d69-b63b-6af5582a4d86 INFO: Checking that f8d2b823a560ece59ec62342244a2d6ffb4f4a13a02bd9c0d70b20ba7d05c7aa image matches host's architecture INFO: Copy content of container f8d2b823a560ece59ec62342244a2d6ffb4f4a13a02bd9c0d70b20ba7d05c7aa to /var/lib/mock/centos-stream+epel-10-x86_64-bootstrap-1762651163.183733/root INFO: mounting f8d2b823a560ece59ec62342244a2d6ffb4f4a13a02bd9c0d70b20ba7d05c7aa with podman image mount INFO: image f8d2b823a560ece59ec62342244a2d6ffb4f4a13a02bd9c0d70b20ba7d05c7aa as /var/lib/containers/storage/overlay/38b593bd0ca079e2a1c8decdf463db8f2fe792eaffe9c27b29d7d2eb41e2b492/merged INFO: umounting image f8d2b823a560ece59ec62342244a2d6ffb4f4a13a02bd9c0d70b20ba7d05c7aa (/var/lib/containers/storage/overlay/38b593bd0ca079e2a1c8decdf463db8f2fe792eaffe9c27b29d7d2eb41e2b492/merged) with podman image umount INFO: Removing image mock-bootstrap-48790f7d-ffaa-4d69-b63b-6af5582a4d86 INFO: Package manager dnf4 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/centos-stream+epel-10-x86_64-1762651163.183733/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 dnf4 detected and used (direct choice) INFO: Buildroot is handled by package management downloaded with a bootstrap image: rpm-4.19.1.1-20.el10.x86_64 rpm-sequoia-1.9.0.3-1.el10.x86_64 python3-dnf-4.20.0-18.el10.noarch python3-dnf-plugins-core-4.7.0-9.el10.noarch yum-4.20.0-18.el10.noarch Start: installing minimal buildroot with dnf No matches found for the following disable plugin patterns: local, spacewalk, versionlock Copr repository 514 kB/s | 74 kB 00:00 CentOS Stream 10 - BaseOS 15 MB/s | 6.8 MB 00:00 CentOS Stream 10 - AppStream 13 MB/s | 3.4 MB 00:00 CentOS Stream 10 - CRB 4.4 MB/s | 760 kB 00:00 CentOS Stream 10 - Extras packages 7.4 kB/s | 7.9 kB 00:01 Extra Packages for Enterprise Linux 10 - x86_64 11 MB/s | 5.7 MB 00:00 Dependencies resolved. ================================================================================ Package Arch Version Repo Size ================================================================================ Installing: bash x86_64 5.2.26-6.el10 baseos 1.8 M bzip2 x86_64 1.0.8-25.el10 baseos 54 k centos-stream-release noarch 10.0-12.el10 baseos 26 k coreutils x86_64 9.5-6.el10 baseos 1.1 M cpio x86_64 2.15-3.el10 baseos 292 k diffutils x86_64 3.10-8.el10 baseos 409 k epel-rpm-macros noarch 10-6.el10_2 epel 8.2 k findutils x86_64 1:4.10.0-5.el10 baseos 551 k gawk x86_64 5.3.0-6.el10 baseos 1.1 M glibc-minimal-langpack x86_64 2.39-76.el10 baseos 44 k grep x86_64 3.11-10.el10 baseos 301 k gzip x86_64 1.13-3.el10 baseos 170 k info x86_64 7.1-6.el10 baseos 183 k patch x86_64 2.7.6-26.el10 appstream 132 k redhat-rpm-config noarch 293-1.el10 appstream 77 k rpm-build x86_64 4.19.1.1-20.el10 appstream 75 k sed x86_64 4.9-3.el10 baseos 318 k shadow-utils x86_64 2:4.15.0-8.el10 baseos 1.3 M tar x86_64 2:1.35-7.el10 baseos 863 k unzip x86_64 6.0-69.el10 baseos 190 k util-linux x86_64 2.40.2-13.el10 baseos 1.3 M which x86_64 2.21-44.el10 baseos 42 k xz x86_64 1:5.6.2-4.el10 baseos 481 k Installing dependencies: alternatives x86_64 1.30-2.el10 baseos 42 k ansible-srpm-macros noarch 1-16.1.el10_0 epel 20 k audit-libs x86_64 4.0.3-4.el10 baseos 133 k authselect x86_64 1.5.0-8.el10 baseos 144 k authselect-libs x86_64 1.5.0-8.el10 baseos 223 k basesystem noarch 11-22.el10 baseos 4.3 k binutils x86_64 2.41-58.el10 baseos 6.4 M binutils-gold x86_64 2.41-58.el10 baseos 798 k bzip2-libs x86_64 1.0.8-25.el10 baseos 42 k ca-certificates noarch 2025.2.80_v9.0.305-102.el10 baseos 1.1 M centos-gpg-keys noarch 10.0-12.el10 baseos 10 k centos-stream-repos noarch 10.0-12.el10 baseos 8.3 k coreutils-common x86_64 9.5-6.el10 baseos 2.1 M cracklib x86_64 2.9.11-8.el10 baseos 96 k cracklib-dicts x86_64 2.9.11-8.el10 baseos 3.6 M crypto-policies noarch 20250905-2.gitc7eb7b2.el10 baseos 98 k curl x86_64 8.12.1-2.el10 baseos 219 k cyrus-sasl-lib x86_64 2.1.28-27.el10 baseos 106 k debugedit x86_64 5.1-8.el10 appstream 80 k dwz x86_64 0.16-1.el10 appstream 140 k ed x86_64 1.20-5.el10 baseos 83 k efi-srpm-macros noarch 6-6.el10 appstream 24 k elfutils x86_64 0.193-1.el10 baseos 573 k elfutils-debuginfod-client x86_64 0.193-1.el10 baseos 47 k elfutils-default-yama-scope noarch 0.193-1.el10 baseos 13 k elfutils-libelf x86_64 0.193-1.el10 baseos 208 k elfutils-libs x86_64 0.193-1.el10 baseos 269 k file x86_64 5.45-8.el10 baseos 49 k file-libs x86_64 5.45-8.el10 baseos 764 k filesystem x86_64 3.18-17.el10 baseos 4.8 M fonts-srpm-macros noarch 1:2.0.5-18.el10 appstream 27 k forge-srpm-macros noarch 0.4.0-6.el10 appstream 21 k fpc-srpm-macros noarch 1.3-7.el10_1 epel 7.8 k gdb-minimal x86_64 16.3-2.el10 appstream 4.4 M gdbm x86_64 1:1.23-14.el10 baseos 151 k gdbm-libs x86_64 1:1.23-14.el10 baseos 57 k ghc-srpm-macros noarch 1.9.2-1.el10_0 epel 9.1 k glibc x86_64 2.39-76.el10 baseos 2.1 M glibc-common x86_64 2.39-76.el10 baseos 338 k glibc-gconv-extra x86_64 2.39-76.el10 baseos 1.7 M gmp x86_64 1:6.2.1-12.el10 baseos 318 k go-srpm-macros noarch 3.8.0-1.el10 appstream 27 k jansson x86_64 2.14-3.el10 baseos 46 k json-c x86_64 0.18-3.el10 baseos 45 k kernel-srpm-macros noarch 1.0-25.el10 appstream 11 k keyutils-libs x86_64 1.6.3-5.el10 baseos 33 k krb5-libs x86_64 1.21.3-8.el10 baseos 767 k libacl x86_64 2.3.2-4.el10 baseos 25 k libarchive x86_64 3.7.7-4.el10 baseos 414 k libattr x86_64 2.5.2-5.el10 baseos 19 k libblkid x86_64 2.40.2-13.el10 baseos 124 k libbrotli x86_64 1.1.0-6.el10 baseos 346 k libcap x86_64 2.69-7.el10 baseos 91 k libcap-ng x86_64 0.8.4-6.el10 baseos 33 k libcom_err x86_64 1.47.1-4.el10 baseos 27 k libcurl x86_64 8.12.1-2.el10 baseos 371 k libeconf x86_64 0.6.2-4.el10 baseos 33 k libevent x86_64 2.1.12-16.el10 baseos 261 k libfdisk x86_64 2.40.2-13.el10 baseos 159 k libffi x86_64 3.4.4-10.el10 baseos 41 k libgcc x86_64 14.3.1-2.3.el10 baseos 144 k libgomp x86_64 14.3.1-2.3.el10 baseos 368 k libidn2 x86_64 2.3.7-3.el10 baseos 118 k libmount x86_64 2.40.2-13.el10 baseos 155 k libnghttp2 x86_64 1.64.0-2.el10 baseos 78 k libpkgconf x86_64 2.1.0-3.el10 baseos 39 k libpsl x86_64 0.21.5-6.el10 baseos 65 k libpwquality x86_64 1.4.5-12.el10 baseos 123 k libselinux x86_64 3.9-2.el10 baseos 97 k libsemanage x86_64 3.9-1.el10 baseos 122 k libsepol x86_64 3.9-1.el10 baseos 348 k libsmartcols x86_64 2.40.2-13.el10 baseos 83 k libssh x86_64 0.11.1-3.el10 baseos 233 k libssh-config noarch 0.11.1-3.el10 baseos 8.4 k libstdc++ x86_64 14.3.1-2.3.el10 baseos 924 k libtasn1 x86_64 4.20.0-1.el10 baseos 75 k libunistring x86_64 1.1-10.el10 baseos 548 k libutempter x86_64 1.2.1-15.el10 baseos 27 k libuuid x86_64 2.40.2-13.el10 baseos 28 k libverto x86_64 0.3.2-10.el10 baseos 22 k libxcrypt x86_64 4.4.36-10.el10 baseos 120 k libxml2 x86_64 2.12.5-9.el10 baseos 692 k libzstd x86_64 1.5.5-9.el10 baseos 292 k lua-libs x86_64 5.4.6-7.el10 baseos 132 k lua-srpm-macros noarch 1-15.el10 appstream 9.8 k lz4-libs x86_64 1.9.4-8.el10 baseos 68 k mpfr x86_64 4.2.1-5.el10 baseos 346 k ncurses-base noarch 6.4-14.20240127.el10 baseos 100 k ncurses-libs x86_64 6.4-14.20240127.el10 baseos 338 k ocaml-srpm-macros noarch 10-4.el10 appstream 10 k openblas-srpm-macros noarch 2-19.el10 appstream 8.7 k openldap x86_64 2.6.9-1.el10 baseos 239 k openssl-fips-provider x86_64 1:3.5.1-6.el10 baseos 812 k openssl-libs x86_64 1:3.5.1-6.el10 baseos 2.3 M p11-kit x86_64 0.25.10-1.el10 baseos 517 k p11-kit-trust x86_64 0.25.10-1.el10 baseos 140 k package-notes-srpm-macros noarch 0.5-13.el10 appstream 10 k pam x86_64 1.6.1-8.el10 baseos 585 k pam-libs x86_64 1.6.1-8.el10 baseos 58 k pcre2 x86_64 10.44-1.el10.3 baseos 248 k pcre2-syntax noarch 10.44-1.el10.3 baseos 151 k perl-srpm-macros noarch 1-57.el10 appstream 9.5 k pkgconf x86_64 2.1.0-3.el10 baseos 45 k pkgconf-m4 noarch 2.1.0-3.el10 baseos 15 k pkgconf-pkg-config x86_64 2.1.0-3.el10 baseos 11 k popt x86_64 1.19-8.el10 baseos 66 k publicsuffix-list-dafsa noarch 20240107-5.el10 baseos 59 k pyproject-srpm-macros noarch 1.16.2-1.el10 appstream 15 k python-srpm-macros noarch 3.12-10.el10 appstream 24 k qt6-srpm-macros noarch 6.9.1-1.el10 appstream 11 k readline x86_64 8.2-11.el10 baseos 214 k rpm x86_64 4.19.1.1-20.el10 baseos 560 k rpm-build-libs x86_64 4.19.1.1-20.el10 baseos 93 k rpm-libs x86_64 4.19.1.1-20.el10 baseos 309 k rpm-sequoia x86_64 1.9.0.3-1.el10 baseos 975 k rust-toolset-srpm-macros noarch 1.90.0-1.el10 appstream 11 k setup noarch 2.14.5-7.el10 baseos 153 k sqlite-libs x86_64 3.46.1-5.el10 baseos 745 k systemd-libs x86_64 257-16.el10 baseos 824 k util-linux-core x86_64 2.40.2-13.el10 baseos 550 k xz-libs x86_64 1:5.6.2-4.el10 baseos 113 k zip x86_64 3.0-45.el10 baseos 270 k zlib-ng-compat x86_64 2.2.3-2.el10 baseos 79 k zstd x86_64 1.5.5-9.el10 baseos 464 k Transaction Summary ================================================================================ Install 147 Packages Total download size: 61 M Installed size: 188 M Downloading Packages: (1/147): alternatives-1.30-2.el10.x86_64.rpm 130 kB/s | 42 kB 00:00 (2/147): audit-libs-4.0.3-4.el10.x86_64.rpm 335 kB/s | 133 kB 00:00 (3/147): basesystem-11-22.el10.noarch.rpm 48 kB/s | 4.3 kB 00:00 (4/147): authselect-1.5.0-8.el10.x86_64.rpm 270 kB/s | 144 kB 00:00 (5/147): authselect-libs-1.5.0-8.el10.x86_64.rp 970 kB/s | 223 kB 00:00 (6/147): binutils-gold-2.41-58.el10.x86_64.rpm 2.5 MB/s | 798 kB 00:00 (7/147): bzip2-1.0.8-25.el10.x86_64.rpm 615 kB/s | 54 kB 00:00 (8/147): bzip2-libs-1.0.8-25.el10.x86_64.rpm 519 kB/s | 42 kB 00:00 (9/147): bash-5.2.26-6.el10.x86_64.rpm 2.6 MB/s | 1.8 MB 00:00 (10/147): ca-certificates-2025.2.80_v9.0.305-10 5.9 MB/s | 1.1 MB 00:00 (11/147): centos-gpg-keys-10.0-12.el10.noarch.r 133 kB/s | 10 kB 00:00 (12/147): centos-stream-release-10.0-12.el10.no 337 kB/s | 26 kB 00:00 (13/147): centos-stream-repos-10.0-12.el10.noar 108 kB/s | 8.3 kB 00:00 (14/147): coreutils-9.5-6.el10.x86_64.rpm 6.0 MB/s | 1.1 MB 00:00 (15/147): coreutils-common-9.5-6.el10.x86_64.rp 12 MB/s | 2.1 MB 00:00 (16/147): binutils-2.41-58.el10.x86_64.rpm 6.3 MB/s | 6.4 MB 00:01 (17/147): cpio-2.15-3.el10.x86_64.rpm 3.6 MB/s | 292 kB 00:00 (18/147): cracklib-2.9.11-8.el10.x86_64.rpm 1.0 MB/s | 96 kB 00:00 (19/147): crypto-policies-20250905-2.gitc7eb7b2 1.0 MB/s | 98 kB 00:00 (20/147): curl-8.12.1-2.el10.x86_64.rpm 2.6 MB/s | 219 kB 00:00 (21/147): cyrus-sasl-lib-2.1.28-27.el10.x86_64. 1.3 MB/s | 106 kB 00:00 (22/147): cracklib-dicts-2.9.11-8.el10.x86_64.r 15 MB/s | 3.6 MB 00:00 (23/147): diffutils-3.10-8.el10.x86_64.rpm 4.0 MB/s | 409 kB 00:00 (24/147): ed-1.20-5.el10.x86_64.rpm 946 kB/s | 83 kB 00:00 (25/147): elfutils-0.193-1.el10.x86_64.rpm 6.8 MB/s | 573 kB 00:00 (26/147): elfutils-debuginfod-client-0.193-1.el 612 kB/s | 47 kB 00:00 (27/147): elfutils-default-yama-scope-0.193-1.e 147 kB/s | 13 kB 00:00 (28/147): elfutils-libelf-0.193-1.el10.x86_64.r 2.2 MB/s | 208 kB 00:00 (29/147): elfutils-libs-0.193-1.el10.x86_64.rpm 2.9 MB/s | 269 kB 00:00 (30/147): file-5.45-8.el10.x86_64.rpm 566 kB/s | 49 kB 00:00 (31/147): file-libs-5.45-8.el10.x86_64.rpm 7.6 MB/s | 764 kB 00:00 (32/147): findutils-4.10.0-5.el10.x86_64.rpm 5.1 MB/s | 551 kB 00:00 (33/147): gawk-5.3.0-6.el10.x86_64.rpm 10 MB/s | 1.1 MB 00:00 (34/147): gdbm-1.23-14.el10.x86_64.rpm 1.9 MB/s | 151 kB 00:00 (35/147): filesystem-3.18-17.el10.x86_64.rpm 20 MB/s | 4.8 MB 00:00 (36/147): gdbm-libs-1.23-14.el10.x86_64.rpm 668 kB/s | 57 kB 00:00 (37/147): glibc-common-2.39-76.el10.x86_64.rpm 3.4 MB/s | 338 kB 00:00 (38/147): glibc-minimal-langpack-2.39-76.el10.x 543 kB/s | 44 kB 00:00 (39/147): glibc-2.39-76.el10.x86_64.rpm 8.9 MB/s | 2.1 MB 00:00 (40/147): gmp-6.2.1-12.el10.x86_64.rpm 3.3 MB/s | 318 kB 00:00 (41/147): grep-3.11-10.el10.x86_64.rpm 3.0 MB/s | 301 kB 00:00 (42/147): gzip-1.13-3.el10.x86_64.rpm 2.0 MB/s | 170 kB 00:00 (43/147): glibc-gconv-extra-2.39-76.el10.x86_64 5.2 MB/s | 1.7 MB 00:00 (44/147): info-7.1-6.el10.x86_64.rpm 2.0 MB/s | 183 kB 00:00 (45/147): jansson-2.14-3.el10.x86_64.rpm 602 kB/s | 46 kB 00:00 (46/147): json-c-0.18-3.el10.x86_64.rpm 550 kB/s | 45 kB 00:00 (47/147): keyutils-libs-1.6.3-5.el10.x86_64.rpm 378 kB/s | 33 kB 00:00 (48/147): libacl-2.3.2-4.el10.x86_64.rpm 312 kB/s | 25 kB 00:00 (49/147): krb5-libs-1.21.3-8.el10.x86_64.rpm 7.0 MB/s | 767 kB 00:00 (50/147): libarchive-3.7.7-4.el10.x86_64.rpm 4.7 MB/s | 414 kB 00:00 (51/147): libattr-2.5.2-5.el10.x86_64.rpm 241 kB/s | 19 kB 00:00 (52/147): libblkid-2.40.2-13.el10.x86_64.rpm 1.5 MB/s | 124 kB 00:00 (53/147): libbrotli-1.1.0-6.el10.x86_64.rpm 4.2 MB/s | 346 kB 00:00 (54/147): libcap-2.69-7.el10.x86_64.rpm 976 kB/s | 91 kB 00:00 (55/147): libcap-ng-0.8.4-6.el10.x86_64.rpm 336 kB/s | 33 kB 00:00 (56/147): libcom_err-1.47.1-4.el10.x86_64.rpm 350 kB/s | 27 kB 00:00 (57/147): libcurl-8.12.1-2.el10.x86_64.rpm 3.8 MB/s | 371 kB 00:00 (58/147): libeconf-0.6.2-4.el10.x86_64.rpm 390 kB/s | 33 kB 00:00 (59/147): libevent-2.1.12-16.el10.x86_64.rpm 3.2 MB/s | 261 kB 00:00 (60/147): libfdisk-2.40.2-13.el10.x86_64.rpm 1.7 MB/s | 159 kB 00:00 (61/147): libffi-3.4.4-10.el10.x86_64.rpm 447 kB/s | 41 kB 00:00 (62/147): libgcc-14.3.1-2.3.el10.x86_64.rpm 1.4 MB/s | 144 kB 00:00 (63/147): libgomp-14.3.1-2.3.el10.x86_64.rpm 4.4 MB/s | 368 kB 00:00 (64/147): libidn2-2.3.7-3.el10.x86_64.rpm 1.3 MB/s | 118 kB 00:00 (65/147): libmount-2.40.2-13.el10.x86_64.rpm 1.7 MB/s | 155 kB 00:00 (66/147): libnghttp2-1.64.0-2.el10.x86_64.rpm 1.0 MB/s | 78 kB 00:00 (67/147): libpkgconf-2.1.0-3.el10.x86_64.rpm 506 kB/s | 39 kB 00:00 (68/147): libpsl-0.21.5-6.el10.x86_64.rpm 796 kB/s | 65 kB 00:00 (69/147): libpwquality-1.4.5-12.el10.x86_64.rpm 1.4 MB/s | 123 kB 00:00 (70/147): libselinux-3.9-2.el10.x86_64.rpm 1.1 MB/s | 97 kB 00:00 (71/147): libsemanage-3.9-1.el10.x86_64.rpm 1.5 MB/s | 122 kB 00:00 (72/147): libsepol-3.9-1.el10.x86_64.rpm 3.8 MB/s | 348 kB 00:00 (73/147): libsmartcols-2.40.2-13.el10.x86_64.rp 957 kB/s | 83 kB 00:00 (74/147): libssh-0.11.1-3.el10.x86_64.rpm 2.3 MB/s | 233 kB 00:00 (75/147): libssh-config-0.11.1-3.el10.noarch.rp 110 kB/s | 8.4 kB 00:00 (76/147): libstdc++-14.3.1-2.3.el10.x86_64.rpm 11 MB/s | 924 kB 00:00 (77/147): libtasn1-4.20.0-1.el10.x86_64.rpm 859 kB/s | 75 kB 00:00 (78/147): libutempter-1.2.1-15.el10.x86_64.rpm 357 kB/s | 27 kB 00:00 (79/147): libunistring-1.1-10.el10.x86_64.rpm 4.8 MB/s | 548 kB 00:00 (80/147): libuuid-2.40.2-13.el10.x86_64.rpm 367 kB/s | 28 kB 00:00 (81/147): libxcrypt-4.4.36-10.el10.x86_64.rpm 1.2 MB/s | 120 kB 00:00 (82/147): libverto-0.3.2-10.el10.x86_64.rpm 192 kB/s | 22 kB 00:00 (83/147): libxml2-2.12.5-9.el10.x86_64.rpm 5.1 MB/s | 692 kB 00:00 (84/147): lua-libs-5.4.6-7.el10.x86_64.rpm 1.6 MB/s | 132 kB 00:00 (85/147): libzstd-1.5.5-9.el10.x86_64.rpm 2.9 MB/s | 292 kB 00:00 (86/147): lz4-libs-1.9.4-8.el10.x86_64.rpm 740 kB/s | 68 kB 00:00 (87/147): mpfr-4.2.1-5.el10.x86_64.rpm 3.5 MB/s | 346 kB 00:00 (88/147): ncurses-base-6.4-14.20240127.el10.noa 1.0 MB/s | 100 kB 00:00 (89/147): ncurses-libs-6.4-14.20240127.el10.x86 3.5 MB/s | 338 kB 00:00 (90/147): openldap-2.6.9-1.el10.x86_64.rpm 3.0 MB/s | 239 kB 00:00 (91/147): openssl-fips-provider-3.5.1-6.el10.x8 7.3 MB/s | 812 kB 00:00 (92/147): p11-kit-0.25.10-1.el10.x86_64.rpm 5.0 MB/s | 517 kB 00:00 (93/147): p11-kit-trust-0.25.10-1.el10.x86_64.r 1.6 MB/s | 140 kB 00:00 (94/147): pam-1.6.1-8.el10.x86_64.rpm 6.9 MB/s | 585 kB 00:00 (95/147): pam-libs-1.6.1-8.el10.x86_64.rpm 612 kB/s | 58 kB 00:00 (96/147): openssl-libs-3.5.1-6.el10.x86_64.rpm 8.8 MB/s | 2.3 MB 00:00 (97/147): pcre2-10.44-1.el10.3.x86_64.rpm 2.5 MB/s | 248 kB 00:00 (98/147): pkgconf-2.1.0-3.el10.x86_64.rpm 579 kB/s | 45 kB 00:00 (99/147): pcre2-syntax-10.44-1.el10.3.noarch.rp 1.4 MB/s | 151 kB 00:00 (100/147): pkgconf-m4-2.1.0-3.el10.noarch.rpm 195 kB/s | 15 kB 00:00 (101/147): pkgconf-pkg-config-2.1.0-3.el10.x86_ 141 kB/s | 11 kB 00:00 (102/147): popt-1.19-8.el10.x86_64.rpm 850 kB/s | 66 kB 00:00 (103/147): publicsuffix-list-dafsa-20240107-5.e 718 kB/s | 59 kB 00:00 (104/147): readline-8.2-11.el10.x86_64.rpm 2.3 MB/s | 214 kB 00:00 (105/147): rpm-4.19.1.1-20.el10.x86_64.rpm 5.9 MB/s | 560 kB 00:00 (106/147): rpm-build-libs-4.19.1.1-20.el10.x86_ 1.0 MB/s | 93 kB 00:00 (107/147): rpm-libs-4.19.1.1-20.el10.x86_64.rpm 3.7 MB/s | 309 kB 00:00 (108/147): rpm-sequoia-1.9.0.3-1.el10.x86_64.rp 7.8 MB/s | 975 kB 00:00 (109/147): setup-2.14.5-7.el10.noarch.rpm 1.9 MB/s | 153 kB 00:00 (110/147): sed-4.9-3.el10.x86_64.rpm 2.8 MB/s | 318 kB 00:00 (111/147): systemd-libs-257-16.el10.x86_64.rpm 9.1 MB/s | 824 kB 00:00 (112/147): sqlite-libs-3.46.1-5.el10.x86_64.rpm 5.7 MB/s | 745 kB 00:00 (113/147): shadow-utils-4.15.0-8.el10.x86_64.rp 7.2 MB/s | 1.3 MB 00:00 (114/147): tar-1.35-7.el10.x86_64.rpm 7.8 MB/s | 863 kB 00:00 (115/147): unzip-6.0-69.el10.x86_64.rpm 2.0 MB/s | 190 kB 00:00 (116/147): which-2.21-44.el10.x86_64.rpm 546 kB/s | 42 kB 00:00 (117/147): util-linux-core-2.40.2-13.el10.x86_6 5.0 MB/s | 550 kB 00:00 (118/147): util-linux-2.40.2-13.el10.x86_64.rpm 8.1 MB/s | 1.3 MB 00:00 (119/147): xz-5.6.2-4.el10.x86_64.rpm 5.8 MB/s | 481 kB 00:00 (120/147): xz-libs-5.6.2-4.el10.x86_64.rpm 1.4 MB/s | 113 kB 00:00 (121/147): zip-3.0-45.el10.x86_64.rpm 3.3 MB/s | 270 kB 00:00 (122/147): zlib-ng-compat-2.2.3-2.el10.x86_64.r 979 kB/s | 79 kB 00:00 (123/147): zstd-1.5.5-9.el10.x86_64.rpm 5.6 MB/s | 464 kB 00:00 (124/147): debugedit-5.1-8.el10.x86_64.rpm 1.0 MB/s | 80 kB 00:00 (125/147): efi-srpm-macros-6-6.el10.noarch.rpm 307 kB/s | 24 kB 00:00 (126/147): dwz-0.16-1.el10.x86_64.rpm 1.5 MB/s | 140 kB 00:00 (127/147): fonts-srpm-macros-2.0.5-18.el10.noar 357 kB/s | 27 kB 00:00 (128/147): forge-srpm-macros-0.4.0-6.el10.noarc 232 kB/s | 21 kB 00:00 (129/147): go-srpm-macros-3.8.0-1.el10.noarch.r 346 kB/s | 27 kB 00:00 (130/147): kernel-srpm-macros-1.0-25.el10.noarc 139 kB/s | 11 kB 00:00 (131/147): lua-srpm-macros-1-15.el10.noarch.rpm 114 kB/s | 9.8 kB 00:00 (132/147): ocaml-srpm-macros-10-4.el10.noarch.r 130 kB/s | 10 kB 00:00 (133/147): openblas-srpm-macros-2-19.el10.noarc 113 kB/s | 8.7 kB 00:00 (134/147): package-notes-srpm-macros-0.5-13.el1 132 kB/s | 10 kB 00:00 (135/147): patch-2.7.6-26.el10.x86_64.rpm 1.7 MB/s | 132 kB 00:00 (136/147): perl-srpm-macros-1-57.el10.noarch.rp 124 kB/s | 9.5 kB 00:00 (137/147): gdb-minimal-16.3-2.el10.x86_64.rpm 11 MB/s | 4.4 MB 00:00 (138/147): pyproject-srpm-macros-1.16.2-1.el10. 193 kB/s | 15 kB 00:00 (139/147): python-srpm-macros-3.12-10.el10.noar 304 kB/s | 24 kB 00:00 (140/147): qt6-srpm-macros-6.9.1-1.el10.noarch. 137 kB/s | 11 kB 00:00 (141/147): redhat-rpm-config-293-1.el10.noarch. 994 kB/s | 77 kB 00:00 (142/147): rpm-build-4.19.1.1-20.el10.x86_64.rp 973 kB/s | 75 kB 00:00 (143/147): rust-toolset-srpm-macros-1.90.0-1.el 142 kB/s | 11 kB 00:00 (144/147): ansible-srpm-macros-1-16.1.el10_0.no 119 kB/s | 20 kB 00:00 (145/147): epel-rpm-macros-10-6.el10_2.noarch.r 65 kB/s | 8.2 kB 00:00 (146/147): fpc-srpm-macros-1.3-7.el10_1.noarch. 63 kB/s | 7.8 kB 00:00 (147/147): ghc-srpm-macros-1.9.2-1.el10_0.noarc 196 kB/s | 9.1 kB 00:00 -------------------------------------------------------------------------------- Total 10 MB/s | 61 MB 00:05 CentOS Stream 10 - BaseOS 1.6 MB/s | 1.6 kB 00:00 Importing GPG key 0x8483C65D: Userid : "CentOS (CentOS Official Signing Key) " Fingerprint: 99DB 70FA E1D7 CE22 7FB6 4882 05B5 55B3 8483 C65D From : /usr/share/distribution-gpg-keys/centos/RPM-GPG-KEY-CentOS-Official-SHA256 Key imported successfully Extra Packages for Enterprise Linux 10 - x86_64 1.6 MB/s | 1.6 kB 00:00 Importing GPG key 0xE37ED158: Userid : "Fedora (epel10) " Fingerprint: 7D8D 15CB FC4E 6268 8591 FB26 33D9 8517 E37E D158 From : /usr/share/distribution-gpg-keys/epel/RPM-GPG-KEY-EPEL-10 Key imported successfully Running transaction check Transaction check succeeded. Running transaction test Transaction test succeeded. Running transaction Running scriptlet: filesystem-3.18-17.el10.x86_64 1/1 Preparing : 1/1 Installing : libgcc-14.3.1-2.3.el10.x86_64 1/147 Running scriptlet: libgcc-14.3.1-2.3.el10.x86_64 1/147 Installing : ghc-srpm-macros-1.9.2-1.el10_0.noarch 2/147 Installing : fpc-srpm-macros-1.3-7.el10_1.noarch 3/147 Installing : ansible-srpm-macros-1-16.1.el10_0.noarch 4/147 Installing : rust-toolset-srpm-macros-1.90.0-1.el10.noarch 5/147 Installing : qt6-srpm-macros-6.9.1-1.el10.noarch 6/147 Installing : perl-srpm-macros-1-57.el10.noarch 7/147 Installing : package-notes-srpm-macros-0.5-13.el10.noarch 8/147 Installing : openblas-srpm-macros-2-19.el10.noarch 9/147 Installing : ocaml-srpm-macros-10-4.el10.noarch 10/147 Installing : kernel-srpm-macros-1.0-25.el10.noarch 11/147 Installing : publicsuffix-list-dafsa-20240107-5.el10.noarch 12/147 Installing : pkgconf-m4-2.1.0-3.el10.noarch 13/147 Installing : pcre2-syntax-10.44-1.el10.3.noarch 14/147 Installing : ncurses-base-6.4-14.20240127.el10.noarch 15/147 Installing : libssh-config-0.11.1-3.el10.noarch 16/147 Installing : coreutils-common-9.5-6.el10.x86_64 17/147 Installing : centos-gpg-keys-10.0-12.el10.noarch 18/147 Installing : centos-stream-repos-10.0-12.el10.noarch 19/147 Installing : centos-stream-release-10.0-12.el10.noarch 20/147 Installing : setup-2.14.5-7.el10.noarch 21/147 Running scriptlet: setup-2.14.5-7.el10.noarch 21/147 Installing : filesystem-3.18-17.el10.x86_64 22/147 Installing : basesystem-11-22.el10.noarch 23/147 Installing : glibc-gconv-extra-2.39-76.el10.x86_64 24/147 Running scriptlet: glibc-gconv-extra-2.39-76.el10.x86_64 24/147 Installing : glibc-minimal-langpack-2.39-76.el10.x86_64 25/147 Installing : glibc-common-2.39-76.el10.x86_64 26/147 Running scriptlet: glibc-2.39-76.el10.x86_64 27/147 Installing : glibc-2.39-76.el10.x86_64 27/147 Running scriptlet: glibc-2.39-76.el10.x86_64 27/147 Installing : ncurses-libs-6.4-14.20240127.el10.x86_64 28/147 Installing : bash-5.2.26-6.el10.x86_64 29/147 Running scriptlet: bash-5.2.26-6.el10.x86_64 29/147 Installing : zlib-ng-compat-2.2.3-2.el10.x86_64 30/147 Installing : bzip2-libs-1.0.8-25.el10.x86_64 31/147 Installing : xz-libs-1:5.6.2-4.el10.x86_64 32/147 Installing : readline-8.2-11.el10.x86_64 33/147 Installing : libstdc++-14.3.1-2.3.el10.x86_64 34/147 Installing : libuuid-2.40.2-13.el10.x86_64 35/147 Installing : popt-1.19-8.el10.x86_64 36/147 Installing : libblkid-2.40.2-13.el10.x86_64 37/147 Installing : gmp-1:6.2.1-12.el10.x86_64 38/147 Installing : libattr-2.5.2-5.el10.x86_64 39/147 Installing : libacl-2.3.2-4.el10.x86_64 40/147 Installing : libxcrypt-4.4.36-10.el10.x86_64 41/147 Installing : libzstd-1.5.5-9.el10.x86_64 42/147 Installing : elfutils-libelf-0.193-1.el10.x86_64 43/147 Running scriptlet: crypto-policies-20250905-2.gitc7eb7b2.el10.noarc 44/147 Installing : crypto-policies-20250905-2.gitc7eb7b2.el10.noarc 44/147 Running scriptlet: crypto-policies-20250905-2.gitc7eb7b2.el10.noarc 44/147 Installing : gdbm-libs-1:1.23-14.el10.x86_64 45/147 Installing : libeconf-0.6.2-4.el10.x86_64 46/147 Installing : dwz-0.16-1.el10.x86_64 47/147 Installing : mpfr-4.2.1-5.el10.x86_64 48/147 Installing : gawk-5.3.0-6.el10.x86_64 49/147 Installing : unzip-6.0-69.el10.x86_64 50/147 Installing : file-libs-5.45-8.el10.x86_64 51/147 Installing : file-5.45-8.el10.x86_64 52/147 Installing : alternatives-1.30-2.el10.x86_64 53/147 Installing : jansson-2.14-3.el10.x86_64 54/147 Installing : libcap-ng-0.8.4-6.el10.x86_64 55/147 Installing : audit-libs-4.0.3-4.el10.x86_64 56/147 Installing : pam-libs-1.6.1-8.el10.x86_64 57/147 Installing : libcap-2.69-7.el10.x86_64 58/147 Installing : systemd-libs-257-16.el10.x86_64 59/147 Installing : libffi-3.4.4-10.el10.x86_64 60/147 Installing : libsepol-3.9-1.el10.x86_64 61/147 Installing : libsmartcols-2.40.2-13.el10.x86_64 62/147 Installing : libtasn1-4.20.0-1.el10.x86_64 63/147 Installing : libunistring-1.1-10.el10.x86_64 64/147 Installing : libidn2-2.3.7-3.el10.x86_64 65/147 Installing : lua-libs-5.4.6-7.el10.x86_64 66/147 Installing : lz4-libs-1.9.4-8.el10.x86_64 67/147 Installing : pcre2-10.44-1.el10.3.x86_64 68/147 Installing : libselinux-3.9-2.el10.x86_64 69/147 Installing : sed-4.9-3.el10.x86_64 70/147 Installing : findutils-1:4.10.0-5.el10.x86_64 71/147 Installing : grep-3.11-10.el10.x86_64 72/147 Installing : xz-1:5.6.2-4.el10.x86_64 73/147 Installing : libmount-2.40.2-13.el10.x86_64 74/147 Installing : util-linux-core-2.40.2-13.el10.x86_64 75/147 Installing : libsemanage-3.9-1.el10.x86_64 76/147 Installing : shadow-utils-2:4.15.0-8.el10.x86_64 77/147 Running scriptlet: libutempter-1.2.1-15.el10.x86_64 78/147 Installing : libutempter-1.2.1-15.el10.x86_64 78/147 Installing : tar-2:1.35-7.el10.x86_64 79/147 Installing : zstd-1.5.5-9.el10.x86_64 80/147 Installing : libpsl-0.21.5-6.el10.x86_64 81/147 Installing : p11-kit-0.25.10-1.el10.x86_64 82/147 Installing : p11-kit-trust-0.25.10-1.el10.x86_64 83/147 Running scriptlet: p11-kit-trust-0.25.10-1.el10.x86_64 83/147 Installing : openssl-fips-provider-1:3.5.1-6.el10.x86_64 84/147 Installing : openssl-libs-1:3.5.1-6.el10.x86_64 85/147 Installing : coreutils-9.5-6.el10.x86_64 86/147 Running scriptlet: ca-certificates-2025.2.80_v9.0.305-102.el10.noar 87/147 Installing : ca-certificates-2025.2.80_v9.0.305-102.el10.noar 87/147 Running scriptlet: ca-certificates-2025.2.80_v9.0.305-102.el10.noar 87/147 Installing : authselect-libs-1.5.0-8.el10.x86_64 88/147 Installing : gzip-1.13-3.el10.x86_64 89/147 Installing : cracklib-2.9.11-8.el10.x86_64 90/147 Installing : cracklib-dicts-2.9.11-8.el10.x86_64 91/147 Installing : libpwquality-1.4.5-12.el10.x86_64 92/147 Installing : libevent-2.1.12-16.el10.x86_64 93/147 Installing : rpm-sequoia-1.9.0.3-1.el10.x86_64 94/147 Installing : zip-3.0-45.el10.x86_64 95/147 Installing : cyrus-sasl-lib-2.1.28-27.el10.x86_64 96/147 Installing : openldap-2.6.9-1.el10.x86_64 97/147 Installing : gdbm-1:1.23-14.el10.x86_64 98/147 Installing : pam-1.6.1-8.el10.x86_64 99/147 Installing : libfdisk-2.40.2-13.el10.x86_64 100/147 Installing : libxml2-2.12.5-9.el10.x86_64 101/147 Installing : libarchive-3.7.7-4.el10.x86_64 102/147 Installing : bzip2-1.0.8-25.el10.x86_64 103/147 Installing : sqlite-libs-3.46.1-5.el10.x86_64 104/147 Installing : rpm-libs-4.19.1.1-20.el10.x86_64 105/147 Installing : ed-1.20-5.el10.x86_64 106/147 Installing : patch-2.7.6-26.el10.x86_64 107/147 Installing : elfutils-default-yama-scope-0.193-1.el10.noarch 108/147 Running scriptlet: elfutils-default-yama-scope-0.193-1.el10.noarch 108/147 Installing : cpio-2.15-3.el10.x86_64 109/147 Installing : diffutils-3.10-8.el10.x86_64 110/147 Installing : json-c-0.18-3.el10.x86_64 111/147 Installing : keyutils-libs-1.6.3-5.el10.x86_64 112/147 Installing : libbrotli-1.1.0-6.el10.x86_64 113/147 Installing : libcom_err-1.47.1-4.el10.x86_64 114/147 Installing : libgomp-14.3.1-2.3.el10.x86_64 115/147 Installing : libnghttp2-1.64.0-2.el10.x86_64 116/147 Installing : libpkgconf-2.1.0-3.el10.x86_64 117/147 Installing : pkgconf-2.1.0-3.el10.x86_64 118/147 Installing : pkgconf-pkg-config-2.1.0-3.el10.x86_64 119/147 Installing : libverto-0.3.2-10.el10.x86_64 120/147 Installing : krb5-libs-1.21.3-8.el10.x86_64 121/147 Installing : libssh-0.11.1-3.el10.x86_64 122/147 Installing : libcurl-8.12.1-2.el10.x86_64 123/147 Installing : elfutils-libs-0.193-1.el10.x86_64 124/147 Installing : elfutils-debuginfod-client-0.193-1.el10.x86_64 125/147 Installing : binutils-gold-2.41-58.el10.x86_64 126/147 Running scriptlet: binutils-gold-2.41-58.el10.x86_64 126/147 Installing : binutils-2.41-58.el10.x86_64 127/147 Running scriptlet: binutils-2.41-58.el10.x86_64 127/147 Installing : elfutils-0.193-1.el10.x86_64 128/147 Installing : gdb-minimal-16.3-2.el10.x86_64 129/147 Installing : debugedit-5.1-8.el10.x86_64 130/147 Installing : rpm-build-libs-4.19.1.1-20.el10.x86_64 131/147 Installing : curl-8.12.1-2.el10.x86_64 132/147 Running scriptlet: rpm-4.19.1.1-20.el10.x86_64 133/147 Installing : rpm-4.19.1.1-20.el10.x86_64 133/147 Installing : efi-srpm-macros-6-6.el10.noarch 134/147 Installing : lua-srpm-macros-1-15.el10.noarch 135/147 Installing : fonts-srpm-macros-1:2.0.5-18.el10.noarch 136/147 Installing : forge-srpm-macros-0.4.0-6.el10.noarch 137/147 Installing : go-srpm-macros-3.8.0-1.el10.noarch 138/147 Installing : python-srpm-macros-3.12-10.el10.noarch 139/147 Installing : redhat-rpm-config-293-1.el10.noarch 140/147 Installing : rpm-build-4.19.1.1-20.el10.x86_64 141/147 Installing : pyproject-srpm-macros-1.16.2-1.el10.noarch 142/147 Installing : util-linux-2.40.2-13.el10.x86_64 143/147 Running scriptlet: util-linux-2.40.2-13.el10.x86_64 143/147 Installing : authselect-1.5.0-8.el10.x86_64 144/147 Installing : which-2.21-44.el10.x86_64 145/147 Installing : info-7.1-6.el10.x86_64 146/147 Installing : epel-rpm-macros-10-6.el10_2.noarch 147/147 Running scriptlet: filesystem-3.18-17.el10.x86_64 147/147 Running scriptlet: ca-certificates-2025.2.80_v9.0.305-102.el10.noar 147/147 Running scriptlet: authselect-libs-1.5.0-8.el10.x86_64 147/147 Running scriptlet: rpm-4.19.1.1-20.el10.x86_64 147/147 Running scriptlet: epel-rpm-macros-10-6.el10_2.noarch 147/147 Installed: alternatives-1.30-2.el10.x86_64 ansible-srpm-macros-1-16.1.el10_0.noarch audit-libs-4.0.3-4.el10.x86_64 authselect-1.5.0-8.el10.x86_64 authselect-libs-1.5.0-8.el10.x86_64 basesystem-11-22.el10.noarch bash-5.2.26-6.el10.x86_64 binutils-2.41-58.el10.x86_64 binutils-gold-2.41-58.el10.x86_64 bzip2-1.0.8-25.el10.x86_64 bzip2-libs-1.0.8-25.el10.x86_64 ca-certificates-2025.2.80_v9.0.305-102.el10.noarch centos-gpg-keys-10.0-12.el10.noarch centos-stream-release-10.0-12.el10.noarch centos-stream-repos-10.0-12.el10.noarch coreutils-9.5-6.el10.x86_64 coreutils-common-9.5-6.el10.x86_64 cpio-2.15-3.el10.x86_64 cracklib-2.9.11-8.el10.x86_64 cracklib-dicts-2.9.11-8.el10.x86_64 crypto-policies-20250905-2.gitc7eb7b2.el10.noarch curl-8.12.1-2.el10.x86_64 cyrus-sasl-lib-2.1.28-27.el10.x86_64 debugedit-5.1-8.el10.x86_64 diffutils-3.10-8.el10.x86_64 dwz-0.16-1.el10.x86_64 ed-1.20-5.el10.x86_64 efi-srpm-macros-6-6.el10.noarch elfutils-0.193-1.el10.x86_64 elfutils-debuginfod-client-0.193-1.el10.x86_64 elfutils-default-yama-scope-0.193-1.el10.noarch elfutils-libelf-0.193-1.el10.x86_64 elfutils-libs-0.193-1.el10.x86_64 epel-rpm-macros-10-6.el10_2.noarch file-5.45-8.el10.x86_64 file-libs-5.45-8.el10.x86_64 filesystem-3.18-17.el10.x86_64 findutils-1:4.10.0-5.el10.x86_64 fonts-srpm-macros-1:2.0.5-18.el10.noarch forge-srpm-macros-0.4.0-6.el10.noarch fpc-srpm-macros-1.3-7.el10_1.noarch gawk-5.3.0-6.el10.x86_64 gdb-minimal-16.3-2.el10.x86_64 gdbm-1:1.23-14.el10.x86_64 gdbm-libs-1:1.23-14.el10.x86_64 ghc-srpm-macros-1.9.2-1.el10_0.noarch glibc-2.39-76.el10.x86_64 glibc-common-2.39-76.el10.x86_64 glibc-gconv-extra-2.39-76.el10.x86_64 glibc-minimal-langpack-2.39-76.el10.x86_64 gmp-1:6.2.1-12.el10.x86_64 go-srpm-macros-3.8.0-1.el10.noarch grep-3.11-10.el10.x86_64 gzip-1.13-3.el10.x86_64 info-7.1-6.el10.x86_64 jansson-2.14-3.el10.x86_64 json-c-0.18-3.el10.x86_64 kernel-srpm-macros-1.0-25.el10.noarch keyutils-libs-1.6.3-5.el10.x86_64 krb5-libs-1.21.3-8.el10.x86_64 libacl-2.3.2-4.el10.x86_64 libarchive-3.7.7-4.el10.x86_64 libattr-2.5.2-5.el10.x86_64 libblkid-2.40.2-13.el10.x86_64 libbrotli-1.1.0-6.el10.x86_64 libcap-2.69-7.el10.x86_64 libcap-ng-0.8.4-6.el10.x86_64 libcom_err-1.47.1-4.el10.x86_64 libcurl-8.12.1-2.el10.x86_64 libeconf-0.6.2-4.el10.x86_64 libevent-2.1.12-16.el10.x86_64 libfdisk-2.40.2-13.el10.x86_64 libffi-3.4.4-10.el10.x86_64 libgcc-14.3.1-2.3.el10.x86_64 libgomp-14.3.1-2.3.el10.x86_64 libidn2-2.3.7-3.el10.x86_64 libmount-2.40.2-13.el10.x86_64 libnghttp2-1.64.0-2.el10.x86_64 libpkgconf-2.1.0-3.el10.x86_64 libpsl-0.21.5-6.el10.x86_64 libpwquality-1.4.5-12.el10.x86_64 libselinux-3.9-2.el10.x86_64 libsemanage-3.9-1.el10.x86_64 libsepol-3.9-1.el10.x86_64 libsmartcols-2.40.2-13.el10.x86_64 libssh-0.11.1-3.el10.x86_64 libssh-config-0.11.1-3.el10.noarch libstdc++-14.3.1-2.3.el10.x86_64 libtasn1-4.20.0-1.el10.x86_64 libunistring-1.1-10.el10.x86_64 libutempter-1.2.1-15.el10.x86_64 libuuid-2.40.2-13.el10.x86_64 libverto-0.3.2-10.el10.x86_64 libxcrypt-4.4.36-10.el10.x86_64 libxml2-2.12.5-9.el10.x86_64 libzstd-1.5.5-9.el10.x86_64 lua-libs-5.4.6-7.el10.x86_64 lua-srpm-macros-1-15.el10.noarch lz4-libs-1.9.4-8.el10.x86_64 mpfr-4.2.1-5.el10.x86_64 ncurses-base-6.4-14.20240127.el10.noarch ncurses-libs-6.4-14.20240127.el10.x86_64 ocaml-srpm-macros-10-4.el10.noarch openblas-srpm-macros-2-19.el10.noarch openldap-2.6.9-1.el10.x86_64 openssl-fips-provider-1:3.5.1-6.el10.x86_64 openssl-libs-1:3.5.1-6.el10.x86_64 p11-kit-0.25.10-1.el10.x86_64 p11-kit-trust-0.25.10-1.el10.x86_64 package-notes-srpm-macros-0.5-13.el10.noarch pam-1.6.1-8.el10.x86_64 pam-libs-1.6.1-8.el10.x86_64 patch-2.7.6-26.el10.x86_64 pcre2-10.44-1.el10.3.x86_64 pcre2-syntax-10.44-1.el10.3.noarch perl-srpm-macros-1-57.el10.noarch pkgconf-2.1.0-3.el10.x86_64 pkgconf-m4-2.1.0-3.el10.noarch pkgconf-pkg-config-2.1.0-3.el10.x86_64 popt-1.19-8.el10.x86_64 publicsuffix-list-dafsa-20240107-5.el10.noarch pyproject-srpm-macros-1.16.2-1.el10.noarch python-srpm-macros-3.12-10.el10.noarch qt6-srpm-macros-6.9.1-1.el10.noarch readline-8.2-11.el10.x86_64 redhat-rpm-config-293-1.el10.noarch rpm-4.19.1.1-20.el10.x86_64 rpm-build-4.19.1.1-20.el10.x86_64 rpm-build-libs-4.19.1.1-20.el10.x86_64 rpm-libs-4.19.1.1-20.el10.x86_64 rpm-sequoia-1.9.0.3-1.el10.x86_64 rust-toolset-srpm-macros-1.90.0-1.el10.noarch sed-4.9-3.el10.x86_64 setup-2.14.5-7.el10.noarch shadow-utils-2:4.15.0-8.el10.x86_64 sqlite-libs-3.46.1-5.el10.x86_64 systemd-libs-257-16.el10.x86_64 tar-2:1.35-7.el10.x86_64 unzip-6.0-69.el10.x86_64 util-linux-2.40.2-13.el10.x86_64 util-linux-core-2.40.2-13.el10.x86_64 which-2.21-44.el10.x86_64 xz-1:5.6.2-4.el10.x86_64 xz-libs-1:5.6.2-4.el10.x86_64 zip-3.0-45.el10.x86_64 zlib-ng-compat-2.2.3-2.el10.x86_64 zstd-1.5.5-9.el10.x86_64 Complete! Finish: installing minimal buildroot with dnf Start: creating root cache Finish: creating root cache Finish: chroot init INFO: Installed packages: INFO: alternatives-1.30-2.el10.x86_64 ansible-srpm-macros-1-16.1.el10_0.noarch audit-libs-4.0.3-4.el10.x86_64 authselect-1.5.0-8.el10.x86_64 authselect-libs-1.5.0-8.el10.x86_64 basesystem-11-22.el10.noarch bash-5.2.26-6.el10.x86_64 binutils-2.41-58.el10.x86_64 binutils-gold-2.41-58.el10.x86_64 bzip2-1.0.8-25.el10.x86_64 bzip2-libs-1.0.8-25.el10.x86_64 ca-certificates-2025.2.80_v9.0.305-102.el10.noarch centos-gpg-keys-10.0-12.el10.noarch centos-stream-release-10.0-12.el10.noarch centos-stream-repos-10.0-12.el10.noarch coreutils-9.5-6.el10.x86_64 coreutils-common-9.5-6.el10.x86_64 cpio-2.15-3.el10.x86_64 cracklib-2.9.11-8.el10.x86_64 cracklib-dicts-2.9.11-8.el10.x86_64 crypto-policies-20250905-2.gitc7eb7b2.el10.noarch curl-8.12.1-2.el10.x86_64 cyrus-sasl-lib-2.1.28-27.el10.x86_64 debugedit-5.1-8.el10.x86_64 diffutils-3.10-8.el10.x86_64 dwz-0.16-1.el10.x86_64 ed-1.20-5.el10.x86_64 efi-srpm-macros-6-6.el10.noarch elfutils-0.193-1.el10.x86_64 elfutils-debuginfod-client-0.193-1.el10.x86_64 elfutils-default-yama-scope-0.193-1.el10.noarch elfutils-libelf-0.193-1.el10.x86_64 elfutils-libs-0.193-1.el10.x86_64 epel-rpm-macros-10-6.el10_2.noarch file-5.45-8.el10.x86_64 file-libs-5.45-8.el10.x86_64 filesystem-3.18-17.el10.x86_64 findutils-4.10.0-5.el10.x86_64 fonts-srpm-macros-2.0.5-18.el10.noarch forge-srpm-macros-0.4.0-6.el10.noarch fpc-srpm-macros-1.3-7.el10_1.noarch gawk-5.3.0-6.el10.x86_64 gdb-minimal-16.3-2.el10.x86_64 gdbm-1.23-14.el10.x86_64 gdbm-libs-1.23-14.el10.x86_64 ghc-srpm-macros-1.9.2-1.el10_0.noarch glibc-2.39-76.el10.x86_64 glibc-common-2.39-76.el10.x86_64 glibc-gconv-extra-2.39-76.el10.x86_64 glibc-minimal-langpack-2.39-76.el10.x86_64 gmp-6.2.1-12.el10.x86_64 go-srpm-macros-3.8.0-1.el10.noarch gpg-pubkey-8483c65d-5ccc5b19 gpg-pubkey-e37ed158-65785fa9 grep-3.11-10.el10.x86_64 gzip-1.13-3.el10.x86_64 info-7.1-6.el10.x86_64 jansson-2.14-3.el10.x86_64 json-c-0.18-3.el10.x86_64 kernel-srpm-macros-1.0-25.el10.noarch keyutils-libs-1.6.3-5.el10.x86_64 krb5-libs-1.21.3-8.el10.x86_64 libacl-2.3.2-4.el10.x86_64 libarchive-3.7.7-4.el10.x86_64 libattr-2.5.2-5.el10.x86_64 libblkid-2.40.2-13.el10.x86_64 libbrotli-1.1.0-6.el10.x86_64 libcap-2.69-7.el10.x86_64 libcap-ng-0.8.4-6.el10.x86_64 libcom_err-1.47.1-4.el10.x86_64 libcurl-8.12.1-2.el10.x86_64 libeconf-0.6.2-4.el10.x86_64 libevent-2.1.12-16.el10.x86_64 libfdisk-2.40.2-13.el10.x86_64 libffi-3.4.4-10.el10.x86_64 libgcc-14.3.1-2.3.el10.x86_64 libgomp-14.3.1-2.3.el10.x86_64 libidn2-2.3.7-3.el10.x86_64 libmount-2.40.2-13.el10.x86_64 libnghttp2-1.64.0-2.el10.x86_64 libpkgconf-2.1.0-3.el10.x86_64 libpsl-0.21.5-6.el10.x86_64 libpwquality-1.4.5-12.el10.x86_64 libselinux-3.9-2.el10.x86_64 libsemanage-3.9-1.el10.x86_64 libsepol-3.9-1.el10.x86_64 libsmartcols-2.40.2-13.el10.x86_64 libssh-0.11.1-3.el10.x86_64 libssh-config-0.11.1-3.el10.noarch libstdc++-14.3.1-2.3.el10.x86_64 libtasn1-4.20.0-1.el10.x86_64 libunistring-1.1-10.el10.x86_64 libutempter-1.2.1-15.el10.x86_64 libuuid-2.40.2-13.el10.x86_64 libverto-0.3.2-10.el10.x86_64 libxcrypt-4.4.36-10.el10.x86_64 libxml2-2.12.5-9.el10.x86_64 libzstd-1.5.5-9.el10.x86_64 lua-libs-5.4.6-7.el10.x86_64 lua-srpm-macros-1-15.el10.noarch lz4-libs-1.9.4-8.el10.x86_64 mpfr-4.2.1-5.el10.x86_64 ncurses-base-6.4-14.20240127.el10.noarch ncurses-libs-6.4-14.20240127.el10.x86_64 ocaml-srpm-macros-10-4.el10.noarch openblas-srpm-macros-2-19.el10.noarch openldap-2.6.9-1.el10.x86_64 openssl-fips-provider-3.5.1-6.el10.x86_64 openssl-libs-3.5.1-6.el10.x86_64 p11-kit-0.25.10-1.el10.x86_64 p11-kit-trust-0.25.10-1.el10.x86_64 package-notes-srpm-macros-0.5-13.el10.noarch pam-1.6.1-8.el10.x86_64 pam-libs-1.6.1-8.el10.x86_64 patch-2.7.6-26.el10.x86_64 pcre2-10.44-1.el10.3.x86_64 pcre2-syntax-10.44-1.el10.3.noarch perl-srpm-macros-1-57.el10.noarch pkgconf-2.1.0-3.el10.x86_64 pkgconf-m4-2.1.0-3.el10.noarch pkgconf-pkg-config-2.1.0-3.el10.x86_64 popt-1.19-8.el10.x86_64 publicsuffix-list-dafsa-20240107-5.el10.noarch pyproject-srpm-macros-1.16.2-1.el10.noarch python-srpm-macros-3.12-10.el10.noarch qt6-srpm-macros-6.9.1-1.el10.noarch readline-8.2-11.el10.x86_64 redhat-rpm-config-293-1.el10.noarch rpm-4.19.1.1-20.el10.x86_64 rpm-build-4.19.1.1-20.el10.x86_64 rpm-build-libs-4.19.1.1-20.el10.x86_64 rpm-libs-4.19.1.1-20.el10.x86_64 rpm-sequoia-1.9.0.3-1.el10.x86_64 rust-toolset-srpm-macros-1.90.0-1.el10.noarch sed-4.9-3.el10.x86_64 setup-2.14.5-7.el10.noarch shadow-utils-4.15.0-8.el10.x86_64 sqlite-libs-3.46.1-5.el10.x86_64 systemd-libs-257-16.el10.x86_64 tar-1.35-7.el10.x86_64 unzip-6.0-69.el10.x86_64 util-linux-2.40.2-13.el10.x86_64 util-linux-core-2.40.2-13.el10.x86_64 which-2.21-44.el10.x86_64 xz-5.6.2-4.el10.x86_64 xz-libs-5.6.2-4.el10.x86_64 zip-3.0-45.el10.x86_64 zlib-ng-compat-2.2.3-2.el10.x86_64 zstd-1.5.5-9.el10.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-20251107.0.git1c06c9e9.el10.src.rpm Finish: rpmbuild -bs INFO: chroot_scan: 3 files copied to /var/lib/copr-rpmbuild/results/chroot_scan INFO: /var/lib/mock/centos-stream+epel-10-x86_64-1762651163.183733/root/var/log/dnf.rpm.log /var/lib/mock/centos-stream+epel-10-x86_64-1762651163.183733/root/var/log/dnf.librepo.log /var/lib/mock/centos-stream+epel-10-x86_64-1762651163.183733/root/var/log/dnf.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-7jwe_rdf/pyrtl/pyrtl.spec) Config(child) 0 minutes 42 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-20251107.0.git1c06c9e9.el10.src.rpm) Config(centos-stream+epel-10-x86_64) Start(bootstrap): chroot init INFO: mounting tmpfs at /var/lib/mock/centos-stream+epel-10-x86_64-bootstrap-1762651163.183733/root. INFO: reusing tmpfs at /var/lib/mock/centos-stream+epel-10-x86_64-bootstrap-1762651163.183733/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/centos-stream+epel-10-x86_64-1762651163.183733/root. INFO: calling preinit hooks INFO: enabled root cache Start: unpacking root cache Finish: unpacking root cache INFO: enabled package manager cache Start: cleaning package manager metadata Finish: cleaning package manager metadata INFO: enabled HW Info plugin INFO: Buildroot is handled by package management downloaded with a bootstrap image: rpm-4.19.1.1-20.el10.x86_64 rpm-sequoia-1.9.0.3-1.el10.x86_64 python3-dnf-4.20.0-18.el10.noarch python3-dnf-plugins-core-4.7.0-9.el10.noarch yum-4.20.0-18.el10.noarch Finish: chroot init Start: build phase for pyrtl-0.12-20251107.0.git1c06c9e9.el10.src.rpm Start: build setup for pyrtl-0.12-20251107.0.git1c06c9e9.el10.src.rpm Building target platforms: x86_64 Building for target x86_64 setting SOURCE_DATE_EPOCH=1582243200 Wrote: /builddir/build/SRPMS/pyrtl-0.12-20251107.0.git1c06c9e9.el10.src.rpm No matches found for the following disable plugin patterns: local, spacewalk, versionlock Copr repository 44 kB/s | 1.5 kB 00:00 CentOS Stream 10 - BaseOS 134 kB/s | 7.4 kB 00:00 CentOS Stream 10 - AppStream 387 kB/s | 7.5 kB 00:00 CentOS Stream 10 - CRB 350 kB/s | 7.3 kB 00:00 CentOS Stream 10 - Extras packages 357 kB/s | 8.0 kB 00:00 Extra Packages for Enterprise Linux 10 - x86_64 1.5 MB/s | 35 kB 00:00 Dependencies resolved. ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: git x86_64 2.47.3-1.el10 appstream 51 k make x86_64 1:4.4.1-9.el10 baseos 587 k pyproject-rpm-macros noarch 1.16.2-1.el10 crb 46 k python3 x86_64 3.12.11-3.el10 baseos 28 k python3-hatch-vcs noarch 0.4.0-6.el10_0 epel 23 k python3-pip noarch 23.3.2-7.el10 appstream 3.2 M python3-pyparsing noarch 3.1.1-7.el10 baseos 269 k python3-pytest noarch 7.4.3-5.el10 crb 756 k python3-rpm-macros noarch 3.12-10.el10 appstream 12 k python3-setuptools noarch 69.0.3-12.el10 baseos 1.6 M python3-wheel noarch 1:0.41.2-5.el10 crb 167 k Installing dependencies: expat x86_64 2.7.1-1.el10 baseos 117 k git-core x86_64 2.47.3-1.el10 appstream 4.8 M git-core-doc noarch 2.47.3-1.el10 appstream 3.1 M groff-base x86_64 1.23.0-10.el10 baseos 1.1 M less x86_64 661-3.el10 baseos 191 k libcbor x86_64 0.11.0-3.el10 baseos 34 k libedit x86_64 3.1-52.20230828cvs.el10 baseos 106 k libfido2 x86_64 1.14.0-7.el10 baseos 98 k mpdecimal x86_64 2.5.1-12.el10 baseos 90 k ncurses x86_64 6.4-14.20240127.el10 baseos 423 k openssh x86_64 9.9p1-15.el10 baseos 351 k openssh-clients x86_64 9.9p1-15.el10 baseos 762 k perl-AutoLoader noarch 5.74-514.el10 appstream 22 k perl-B x86_64 1.89-514.el10 appstream 178 k perl-Carp noarch 1.54-511.el10 baseos 30 k perl-Class-Struct noarch 0.68-514.el10 appstream 23 k perl-Data-Dumper x86_64 2.189-512.el10 baseos 57 k perl-Digest noarch 1.20-511.el10 baseos 26 k perl-Digest-MD5 x86_64 2.59-6.el10 baseos 37 k perl-DynaLoader x86_64 1.56-514.el10 appstream 27 k perl-Encode x86_64 4:3.21-511.el10 baseos 1.1 M perl-Errno x86_64 1.38-514.el10 appstream 16 k perl-Error noarch 1:0.17029-18.el10 appstream 42 k perl-Exporter noarch 5.78-511.el10 baseos 32 k perl-Fcntl x86_64 1.18-514.el10 appstream 30 k perl-File-Basename noarch 2.86-514.el10 appstream 18 k perl-File-Find noarch 1.44-514.el10 appstream 26 k perl-File-Path noarch 2.18-511.el10 baseos 36 k perl-File-Temp noarch 1:0.231.100-512.el10 baseos 60 k perl-File-stat noarch 1.14-514.el10 appstream 18 k perl-FileHandle noarch 2.05-514.el10 appstream 16 k perl-Getopt-Long noarch 1:2.58-3.el10 baseos 65 k perl-Getopt-Std noarch 1.14-514.el10 appstream 16 k perl-Git noarch 2.47.3-1.el10 appstream 38 k perl-HTTP-Tiny noarch 0.088-512.el10 baseos 57 k perl-IO x86_64 1.55-514.el10 appstream 81 k perl-IO-Socket-IP noarch 0.42-512.el10 baseos 43 k perl-IO-Socket-SSL noarch 2.085-3.el10 baseos 227 k perl-IPC-Open3 noarch 1.22-514.el10 appstream 23 k perl-MIME-Base64 x86_64 3.16-511.el10 baseos 31 k perl-Mozilla-CA noarch 20231213-5.el10 baseos 15 k perl-Net-SSLeay x86_64 1.94-8.el10 appstream 380 k perl-POSIX x86_64 2.20-514.el10 appstream 97 k perl-PathTools x86_64 3.91-512.el10 baseos 85 k perl-Pod-Escapes noarch 1:1.07-511.el10 baseos 21 k perl-Pod-Perldoc noarch 3.28.01-512.el10 baseos 84 k perl-Pod-Simple noarch 1:3.45-511.el10 baseos 218 k perl-Pod-Usage noarch 4:2.03-511.el10 baseos 41 k perl-Scalar-List-Utils x86_64 5:1.63-511.el10 baseos 74 k perl-SelectSaver noarch 1.02-514.el10 appstream 12 k perl-Socket x86_64 4:2.038-511.el10 baseos 56 k perl-Storable x86_64 1:3.32-511.el10 baseos 99 k perl-Symbol noarch 1.09-514.el10 appstream 15 k perl-Term-ANSIColor noarch 5.01-512.el10 baseos 49 k perl-Term-Cap noarch 1.18-511.el10 baseos 23 k perl-TermReadKey x86_64 2.38-24.el10 appstream 37 k perl-Text-ParseWords noarch 3.31-511.el10 baseos 17 k perl-Text-Tabs+Wrap noarch 2024.001-511.el10 baseos 23 k perl-Time-Local noarch 2:1.350-511.el10 baseos 35 k perl-URI noarch 5.27-3.el10 baseos 134 k perl-base noarch 2.27-514.el10 appstream 17 k perl-constant noarch 1.33-512.el10 baseos 24 k perl-if noarch 0.61.000-514.el10 appstream 15 k perl-interpreter x86_64 4:5.40.2-514.el10 appstream 73 k perl-lib x86_64 0.65-514.el10 appstream 16 k perl-libnet noarch 3.15-512.el10 baseos 127 k perl-libs x86_64 4:5.40.2-514.el10 appstream 2.4 M perl-locale noarch 1.12-514.el10 appstream 14 k perl-mro x86_64 1.29-514.el10 appstream 31 k perl-overload noarch 1.37-514.el10 appstream 46 k perl-overloading noarch 0.02-514.el10 appstream 14 k perl-parent noarch 1:0.241-512.el10 baseos 16 k perl-podlators noarch 1:5.01-511.el10 baseos 124 k perl-vars noarch 1.05-514.el10 appstream 14 k python-rpm-macros noarch 3.12-10.el10 appstream 17 k python3-hatchling noarch 1.27.0-1.el10 crb 239 k python3-iniconfig noarch 1.1.1-18.el10 crb 19 k python3-libs x86_64 3.12.11-3.el10 baseos 9.4 M python3-packaging noarch 24.2-2.el10 baseos 153 k python3-pathspec noarch 0.12.1-5.el10 crb 60 k python3-pip-wheel noarch 23.3.2-7.el10 baseos 1.5 M python3-pluggy noarch 1.3.0-5.el10 crb 53 k python3-setuptools_scm noarch 8.0.4-7.el10 crb 117 k python3-trove-classifiers noarch 2025.5.9.12-1.el10 crb 29 k python3-typing-extensions noarch 4.9.0-6.el10 baseos 78 k tzdata noarch 2025b-2.el10 baseos 901 k Transaction Summary ================================================================================ Install 97 Packages Total download size: 37 M Installed size: 144 M Downloading Packages: (1/97): expat-2.7.1-1.el10.x86_64.rpm 364 kB/s | 117 kB 00:00 (2/97): libcbor-0.11.0-3.el10.x86_64.rpm 1.1 MB/s | 34 kB 00:00 (3/97): less-661-3.el10.x86_64.rpm 526 kB/s | 191 kB 00:00 (4/97): libedit-3.1-52.20230828cvs.el10.x86_64. 3.4 MB/s | 106 kB 00:00 (5/97): libfido2-1.14.0-7.el10.x86_64.rpm 2.9 MB/s | 98 kB 00:00 (6/97): mpdecimal-2.5.1-12.el10.x86_64.rpm 2.5 MB/s | 90 kB 00:00 (7/97): groff-base-1.23.0-10.el10.x86_64.rpm 2.3 MB/s | 1.1 MB 00:00 (8/97): make-4.4.1-9.el10.x86_64.rpm 4.8 MB/s | 587 kB 00:00 (9/97): openssh-9.9p1-15.el10.x86_64.rpm 8.7 MB/s | 351 kB 00:00 (10/97): ncurses-6.4-14.20240127.el10.x86_64.rp 3.9 MB/s | 423 kB 00:00 (11/97): openssh-clients-9.9p1-15.el10.x86_64.r 12 MB/s | 762 kB 00:00 (12/97): perl-Carp-1.54-511.el10.noarch.rpm 892 kB/s | 30 kB 00:00 (13/97): perl-Data-Dumper-2.189-512.el10.x86_64 1.7 MB/s | 57 kB 00:00 (14/97): perl-Digest-1.20-511.el10.noarch.rpm 874 kB/s | 26 kB 00:00 (15/97): perl-Digest-MD5-2.59-6.el10.x86_64.rpm 1.1 MB/s | 37 kB 00:00 (16/97): perl-Exporter-5.78-511.el10.noarch.rpm 1.1 MB/s | 32 kB 00:00 (17/97): perl-File-Path-2.18-511.el10.noarch.rp 1.1 MB/s | 36 kB 00:00 (18/97): perl-File-Temp-0.231.100-512.el10.noar 2.0 MB/s | 60 kB 00:00 (19/97): perl-Encode-3.21-511.el10.x86_64.rpm 11 MB/s | 1.1 MB 00:00 (20/97): perl-Getopt-Long-2.58-3.el10.noarch.rp 1.8 MB/s | 65 kB 00:00 (21/97): perl-HTTP-Tiny-0.088-512.el10.noarch.r 1.9 MB/s | 57 kB 00:00 (22/97): perl-IO-Socket-IP-0.42-512.el10.noarch 1.3 MB/s | 43 kB 00:00 (23/97): perl-IO-Socket-SSL-2.085-3.el10.noarch 6.4 MB/s | 227 kB 00:00 (24/97): perl-MIME-Base64-3.16-511.el10.x86_64. 1.0 MB/s | 31 kB 00:00 (25/97): perl-Mozilla-CA-20231213-5.el10.noarch 462 kB/s | 15 kB 00:00 (26/97): perl-PathTools-3.91-512.el10.x86_64.rp 2.4 MB/s | 85 kB 00:00 (27/97): perl-Pod-Escapes-1.07-511.el10.noarch. 646 kB/s | 21 kB 00:00 (28/97): perl-Pod-Perldoc-3.28.01-512.el10.noar 2.4 MB/s | 84 kB 00:00 (29/97): perl-Pod-Usage-2.03-511.el10.noarch.rp 1.3 MB/s | 41 kB 00:00 (30/97): perl-Pod-Simple-3.45-511.el10.noarch.r 5.8 MB/s | 218 kB 00:00 (31/97): perl-Scalar-List-Utils-1.63-511.el10.x 2.2 MB/s | 74 kB 00:00 (32/97): perl-Socket-2.038-511.el10.x86_64.rpm 1.8 MB/s | 56 kB 00:00 (33/97): perl-Storable-3.32-511.el10.x86_64.rpm 2.9 MB/s | 99 kB 00:00 (34/97): perl-Term-ANSIColor-5.01-512.el10.noar 1.6 MB/s | 49 kB 00:00 (35/97): perl-Term-Cap-1.18-511.el10.noarch.rpm 706 kB/s | 23 kB 00:00 (36/97): perl-Text-ParseWords-3.31-511.el10.noa 536 kB/s | 17 kB 00:00 (37/97): perl-Text-Tabs+Wrap-2024.001-511.el10. 770 kB/s | 23 kB 00:00 (38/97): perl-Time-Local-1.350-511.el10.noarch. 1.1 MB/s | 35 kB 00:00 (39/97): perl-URI-5.27-3.el10.noarch.rpm 3.9 MB/s | 134 kB 00:00 (40/97): perl-constant-1.33-512.el10.noarch.rpm 807 kB/s | 24 kB 00:00 (41/97): perl-libnet-3.15-512.el10.noarch.rpm 3.7 MB/s | 127 kB 00:00 (42/97): perl-parent-0.241-512.el10.noarch.rpm 495 kB/s | 16 kB 00:00 (43/97): perl-podlators-5.01-511.el10.noarch.rp 4.0 MB/s | 124 kB 00:00 (44/97): python3-3.12.11-3.el10.x86_64.rpm 860 kB/s | 28 kB 00:00 (45/97): python3-packaging-24.2-2.el10.noarch.r 4.8 MB/s | 153 kB 00:00 (46/97): python3-pyparsing-3.1.1-7.el10.noarch. 8.1 MB/s | 269 kB 00:00 (47/97): python3-pip-wheel-23.3.2-7.el10.noarch 15 MB/s | 1.5 MB 00:00 (48/97): python3-typing-extensions-4.9.0-6.el10 2.3 MB/s | 78 kB 00:00 (49/97): python3-setuptools-69.0.3-12.el10.noar 17 MB/s | 1.6 MB 00:00 (50/97): tzdata-2025b-2.el10.noarch.rpm 13 MB/s | 901 kB 00:00 (51/97): git-2.47.3-1.el10.x86_64.rpm 783 kB/s | 51 kB 00:00 (52/97): python3-libs-3.12.11-3.el10.x86_64.rpm 18 MB/s | 9.4 MB 00:00 (53/97): perl-AutoLoader-5.74-514.el10.noarch.r 465 kB/s | 22 kB 00:00 (54/97): perl-B-1.89-514.el10.x86_64.rpm 3.7 MB/s | 178 kB 00:00 (55/97): perl-Class-Struct-0.68-514.el10.noarch 1.2 MB/s | 23 kB 00:00 (56/97): perl-DynaLoader-1.56-514.el10.x86_64.r 1.6 MB/s | 27 kB 00:00 (57/97): perl-Errno-1.38-514.el10.x86_64.rpm 949 kB/s | 16 kB 00:00 (58/97): perl-Error-0.17029-18.el10.noarch.rpm 2.5 MB/s | 42 kB 00:00 (59/97): perl-Fcntl-1.18-514.el10.x86_64.rpm 1.9 MB/s | 30 kB 00:00 (60/97): git-core-doc-2.47.3-1.el10.noarch.rpm 6.5 MB/s | 3.1 MB 00:00 (61/97): perl-File-Basename-2.86-514.el10.noarc 1.1 MB/s | 18 kB 00:00 (62/97): perl-File-Find-1.44-514.el10.noarch.rp 1.6 MB/s | 26 kB 00:00 (63/97): perl-File-stat-1.14-514.el10.noarch.rp 1.1 MB/s | 18 kB 00:00 (64/97): perl-FileHandle-2.05-514.el10.noarch.r 992 kB/s | 16 kB 00:00 (65/97): perl-Getopt-Std-1.14-514.el10.noarch.r 1.0 MB/s | 16 kB 00:00 (66/97): perl-Git-2.47.3-1.el10.noarch.rpm 2.3 MB/s | 38 kB 00:00 (67/97): perl-IO-1.55-514.el10.x86_64.rpm 4.6 MB/s | 81 kB 00:00 (68/97): perl-IPC-Open3-1.22-514.el10.noarch.rp 1.4 MB/s | 23 kB 00:00 (69/97): perl-POSIX-2.20-514.el10.x86_64.rpm 5.6 MB/s | 97 kB 00:00 (70/97): perl-SelectSaver-1.02-514.el10.noarch. 775 kB/s | 12 kB 00:00 (71/97): perl-Net-SSLeay-1.94-8.el10.x86_64.rpm 7.7 MB/s | 380 kB 00:00 (72/97): perl-Symbol-1.09-514.el10.noarch.rpm 936 kB/s | 15 kB 00:00 (73/97): perl-TermReadKey-2.38-24.el10.x86_64.r 2.2 MB/s | 37 kB 00:00 (74/97): perl-base-2.27-514.el10.noarch.rpm 1.0 MB/s | 17 kB 00:00 (75/97): perl-if-0.61.000-514.el10.noarch.rpm 916 kB/s | 15 kB 00:00 (76/97): perl-interpreter-5.40.2-514.el10.x86_6 4.2 MB/s | 73 kB 00:00 (77/97): perl-lib-0.65-514.el10.x86_64.rpm 987 kB/s | 16 kB 00:00 (78/97): perl-locale-1.12-514.el10.noarch.rpm 901 kB/s | 14 kB 00:00 (79/97): perl-mro-1.29-514.el10.x86_64.rpm 1.9 MB/s | 31 kB 00:00 (80/97): perl-overload-1.37-514.el10.noarch.rpm 2.8 MB/s | 46 kB 00:00 (81/97): perl-overloading-0.02-514.el10.noarch. 859 kB/s | 14 kB 00:00 (82/97): perl-vars-1.05-514.el10.noarch.rpm 849 kB/s | 14 kB 00:00 (83/97): python-rpm-macros-3.12-10.el10.noarch. 1.1 MB/s | 17 kB 00:00 (84/97): python3-pip-23.3.2-7.el10.noarch.rpm 31 MB/s | 3.2 MB 00:00 (85/97): python3-rpm-macros-3.12-10.el10.noarch 741 kB/s | 12 kB 00:00 (86/97): perl-libs-5.40.2-514.el10.x86_64.rpm 7.7 MB/s | 2.4 MB 00:00 (87/97): git-core-2.47.3-1.el10.x86_64.rpm 3.9 MB/s | 4.8 MB 00:01 (88/97): pyproject-rpm-macros-1.16.2-1.el10.noa 68 kB/s | 46 kB 00:00 (89/97): python3-iniconfig-1.1.1-18.el10.noarch 47 kB/s | 19 kB 00:00 (90/97): python3-pathspec-0.12.1-5.el10.noarch. 240 kB/s | 60 kB 00:00 (91/97): python3-pluggy-1.3.0-5.el10.noarch.rpm 223 kB/s | 53 kB 00:00 (92/97): python3-hatchling-1.27.0-1.el10.noarch 246 kB/s | 239 kB 00:00 (93/97): python3-trove-classifiers-2025.5.9.12- 169 kB/s | 29 kB 00:00 (94/97): python3-setuptools_scm-8.0.4-7.el10.no 455 kB/s | 117 kB 00:00 (95/97): python3-hatch-vcs-0.4.0-6.el10_0.noarc 134 kB/s | 23 kB 00:00 (96/97): python3-wheel-0.41.2-5.el10.noarch.rpm 524 kB/s | 167 kB 00:00 (97/97): python3-pytest-7.4.3-5.el10.noarch.rpm 734 kB/s | 756 kB 00:01 -------------------------------------------------------------------------------- Total 9.2 MB/s | 37 MB 00:04 Running transaction check Transaction check succeeded. Running transaction test Transaction test succeeded. Running transaction Preparing : 1/1 Installing : python-rpm-macros-3.12-10.el10.noarch 1/97 Installing : expat-2.7.1-1.el10.x86_64 2/97 Installing : python3-rpm-macros-3.12-10.el10.noarch 3/97 Installing : tzdata-2025b-2.el10.noarch 4/97 Installing : python3-pip-wheel-23.3.2-7.el10.noarch 5/97 Installing : openssh-9.9p1-15.el10.x86_64 6/97 Installing : ncurses-6.4-14.20240127.el10.x86_64 7/97 Installing : mpdecimal-2.5.1-12.el10.x86_64 8/97 Installing : python3-3.12.11-3.el10.x86_64 9/97 Installing : python3-libs-3.12.11-3.el10.x86_64 10/97 Installing : python3-packaging-24.2-2.el10.noarch 11/97 Installing : python3-pluggy-1.3.0-5.el10.noarch 12/97 Installing : python3-setuptools-69.0.3-12.el10.noarch 13/97 Installing : python3-typing-extensions-4.9.0-6.el10.noarch 14/97 Installing : python3-setuptools_scm-8.0.4-7.el10.noarch 15/97 Installing : python3-iniconfig-1.1.1-18.el10.noarch 16/97 Installing : python3-pathspec-0.12.1-5.el10.noarch 17/97 Installing : python3-trove-classifiers-2025.5.9.12-1.el10.noarc 18/97 Installing : python3-hatchling-1.27.0-1.el10.noarch 19/97 Installing : libedit-3.1-52.20230828cvs.el10.x86_64 20/97 Installing : libcbor-0.11.0-3.el10.x86_64 21/97 Installing : libfido2-1.14.0-7.el10.x86_64 22/97 Installing : openssh-clients-9.9p1-15.el10.x86_64 23/97 Running scriptlet: openssh-clients-9.9p1-15.el10.x86_64 23/97 Installing : less-661-3.el10.x86_64 24/97 Installing : git-core-2.47.3-1.el10.x86_64 25/97 Installing : git-core-doc-2.47.3-1.el10.noarch 26/97 Running scriptlet: groff-base-1.23.0-10.el10.x86_64 27/97 Installing : groff-base-1.23.0-10.el10.x86_64 27/97 Running scriptlet: groff-base-1.23.0-10.el10.x86_64 27/97 Installing : perl-Digest-1.20-511.el10.noarch 28/97 Installing : perl-Digest-MD5-2.59-6.el10.x86_64 29/97 Installing : perl-B-1.89-514.el10.x86_64 30/97 Installing : perl-FileHandle-2.05-514.el10.noarch 31/97 Installing : perl-Data-Dumper-2.189-512.el10.x86_64 32/97 Installing : perl-libnet-3.15-512.el10.noarch 33/97 Installing : perl-AutoLoader-5.74-514.el10.noarch 34/97 Installing : perl-URI-5.27-3.el10.noarch 35/97 Installing : perl-Text-Tabs+Wrap-2024.001-511.el10.noarch 36/97 Installing : perl-Time-Local-2:1.350-511.el10.noarch 37/97 Installing : perl-Mozilla-CA-20231213-5.el10.noarch 38/97 Installing : perl-if-0.61.000-514.el10.noarch 39/97 Installing : perl-locale-1.12-514.el10.noarch 40/97 Installing : perl-IO-Socket-IP-0.42-512.el10.noarch 41/97 Installing : perl-File-Path-2.18-511.el10.noarch 42/97 Installing : perl-Pod-Escapes-1:1.07-511.el10.noarch 43/97 Installing : perl-IO-Socket-SSL-2.085-3.el10.noarch 44/97 Installing : perl-Net-SSLeay-1.94-8.el10.x86_64 45/97 Installing : perl-Term-ANSIColor-5.01-512.el10.noarch 46/97 Installing : perl-Class-Struct-0.68-514.el10.noarch 47/97 Installing : perl-POSIX-2.20-514.el10.x86_64 48/97 Installing : perl-IPC-Open3-1.22-514.el10.noarch 49/97 Installing : perl-File-Temp-1:0.231.100-512.el10.noarch 50/97 Installing : perl-Term-Cap-1.18-511.el10.noarch 51/97 Installing : perl-HTTP-Tiny-0.088-512.el10.noarch 52/97 Installing : perl-Pod-Simple-1:3.45-511.el10.noarch 53/97 Installing : perl-Socket-4:2.038-511.el10.x86_64 54/97 Installing : perl-SelectSaver-1.02-514.el10.noarch 55/97 Installing : perl-Symbol-1.09-514.el10.noarch 56/97 Installing : perl-File-stat-1.14-514.el10.noarch 57/97 Installing : perl-podlators-1:5.01-511.el10.noarch 58/97 Installing : perl-Pod-Perldoc-3.28.01-512.el10.noarch 59/97 Installing : perl-Text-ParseWords-3.31-511.el10.noarch 60/97 Installing : perl-Fcntl-1.18-514.el10.x86_64 61/97 Installing : perl-base-2.27-514.el10.noarch 62/97 Installing : perl-mro-1.29-514.el10.x86_64 63/97 Installing : perl-IO-1.55-514.el10.x86_64 64/97 Installing : perl-overloading-0.02-514.el10.noarch 65/97 Installing : perl-Pod-Usage-4:2.03-511.el10.noarch 66/97 Installing : perl-MIME-Base64-3.16-511.el10.x86_64 67/97 Installing : perl-Scalar-List-Utils-5:1.63-511.el10.x86_64 68/97 Installing : perl-constant-1.33-512.el10.noarch 69/97 Installing : perl-parent-1:0.241-512.el10.noarch 70/97 Installing : perl-Errno-1.38-514.el10.x86_64 71/97 Installing : perl-File-Basename-2.86-514.el10.noarch 72/97 Installing : perl-Getopt-Std-1.14-514.el10.noarch 73/97 Installing : perl-Storable-1:3.32-511.el10.x86_64 74/97 Installing : perl-overload-1.37-514.el10.noarch 75/97 Installing : perl-vars-1.05-514.el10.noarch 76/97 Installing : perl-Getopt-Long-1:2.58-3.el10.noarch 77/97 Installing : perl-Carp-1.54-511.el10.noarch 78/97 Installing : perl-Exporter-5.78-511.el10.noarch 79/97 Installing : perl-PathTools-3.91-512.el10.x86_64 80/97 Installing : perl-DynaLoader-1.56-514.el10.x86_64 81/97 Installing : perl-Encode-4:3.21-511.el10.x86_64 82/97 Installing : perl-libs-4:5.40.2-514.el10.x86_64 83/97 Installing : perl-interpreter-4:5.40.2-514.el10.x86_64 84/97 Installing : perl-Error-1:0.17029-18.el10.noarch 85/97 Installing : perl-File-Find-1.44-514.el10.noarch 86/97 Installing : perl-TermReadKey-2.38-24.el10.x86_64 87/97 Installing : perl-lib-0.65-514.el10.x86_64 88/97 Installing : perl-Git-2.47.3-1.el10.noarch 89/97 Installing : git-2.47.3-1.el10.x86_64 90/97 Installing : python3-hatch-vcs-0.4.0-6.el10_0.noarch 91/97 Installing : python3-pytest-7.4.3-5.el10.noarch 92/97 Installing : python3-pyparsing-3.1.1-7.el10.noarch 93/97 Installing : python3-pip-23.3.2-7.el10.noarch 94/97 Installing : python3-wheel-1:0.41.2-5.el10.noarch 95/97 Installing : pyproject-rpm-macros-1.16.2-1.el10.noarch 96/97 Installing : make-1:4.4.1-9.el10.x86_64 97/97 Running scriptlet: make-1:4.4.1-9.el10.x86_64 97/97 Installed: expat-2.7.1-1.el10.x86_64 git-2.47.3-1.el10.x86_64 git-core-2.47.3-1.el10.x86_64 git-core-doc-2.47.3-1.el10.noarch groff-base-1.23.0-10.el10.x86_64 less-661-3.el10.x86_64 libcbor-0.11.0-3.el10.x86_64 libedit-3.1-52.20230828cvs.el10.x86_64 libfido2-1.14.0-7.el10.x86_64 make-1:4.4.1-9.el10.x86_64 mpdecimal-2.5.1-12.el10.x86_64 ncurses-6.4-14.20240127.el10.x86_64 openssh-9.9p1-15.el10.x86_64 openssh-clients-9.9p1-15.el10.x86_64 perl-AutoLoader-5.74-514.el10.noarch perl-B-1.89-514.el10.x86_64 perl-Carp-1.54-511.el10.noarch perl-Class-Struct-0.68-514.el10.noarch perl-Data-Dumper-2.189-512.el10.x86_64 perl-Digest-1.20-511.el10.noarch perl-Digest-MD5-2.59-6.el10.x86_64 perl-DynaLoader-1.56-514.el10.x86_64 perl-Encode-4:3.21-511.el10.x86_64 perl-Errno-1.38-514.el10.x86_64 perl-Error-1:0.17029-18.el10.noarch perl-Exporter-5.78-511.el10.noarch perl-Fcntl-1.18-514.el10.x86_64 perl-File-Basename-2.86-514.el10.noarch perl-File-Find-1.44-514.el10.noarch perl-File-Path-2.18-511.el10.noarch perl-File-Temp-1:0.231.100-512.el10.noarch perl-File-stat-1.14-514.el10.noarch perl-FileHandle-2.05-514.el10.noarch perl-Getopt-Long-1:2.58-3.el10.noarch perl-Getopt-Std-1.14-514.el10.noarch perl-Git-2.47.3-1.el10.noarch perl-HTTP-Tiny-0.088-512.el10.noarch perl-IO-1.55-514.el10.x86_64 perl-IO-Socket-IP-0.42-512.el10.noarch perl-IO-Socket-SSL-2.085-3.el10.noarch perl-IPC-Open3-1.22-514.el10.noarch perl-MIME-Base64-3.16-511.el10.x86_64 perl-Mozilla-CA-20231213-5.el10.noarch perl-Net-SSLeay-1.94-8.el10.x86_64 perl-POSIX-2.20-514.el10.x86_64 perl-PathTools-3.91-512.el10.x86_64 perl-Pod-Escapes-1:1.07-511.el10.noarch perl-Pod-Perldoc-3.28.01-512.el10.noarch perl-Pod-Simple-1:3.45-511.el10.noarch perl-Pod-Usage-4:2.03-511.el10.noarch perl-Scalar-List-Utils-5:1.63-511.el10.x86_64 perl-SelectSaver-1.02-514.el10.noarch perl-Socket-4:2.038-511.el10.x86_64 perl-Storable-1:3.32-511.el10.x86_64 perl-Symbol-1.09-514.el10.noarch perl-Term-ANSIColor-5.01-512.el10.noarch perl-Term-Cap-1.18-511.el10.noarch perl-TermReadKey-2.38-24.el10.x86_64 perl-Text-ParseWords-3.31-511.el10.noarch perl-Text-Tabs+Wrap-2024.001-511.el10.noarch perl-Time-Local-2:1.350-511.el10.noarch perl-URI-5.27-3.el10.noarch perl-base-2.27-514.el10.noarch perl-constant-1.33-512.el10.noarch perl-if-0.61.000-514.el10.noarch perl-interpreter-4:5.40.2-514.el10.x86_64 perl-lib-0.65-514.el10.x86_64 perl-libnet-3.15-512.el10.noarch perl-libs-4:5.40.2-514.el10.x86_64 perl-locale-1.12-514.el10.noarch perl-mro-1.29-514.el10.x86_64 perl-overload-1.37-514.el10.noarch perl-overloading-0.02-514.el10.noarch perl-parent-1:0.241-512.el10.noarch perl-podlators-1:5.01-511.el10.noarch perl-vars-1.05-514.el10.noarch pyproject-rpm-macros-1.16.2-1.el10.noarch python-rpm-macros-3.12-10.el10.noarch python3-3.12.11-3.el10.x86_64 python3-hatch-vcs-0.4.0-6.el10_0.noarch python3-hatchling-1.27.0-1.el10.noarch python3-iniconfig-1.1.1-18.el10.noarch python3-libs-3.12.11-3.el10.x86_64 python3-packaging-24.2-2.el10.noarch python3-pathspec-0.12.1-5.el10.noarch python3-pip-23.3.2-7.el10.noarch python3-pip-wheel-23.3.2-7.el10.noarch python3-pluggy-1.3.0-5.el10.noarch python3-pyparsing-3.1.1-7.el10.noarch python3-pytest-7.4.3-5.el10.noarch python3-rpm-macros-3.12-10.el10.noarch python3-setuptools-69.0.3-12.el10.noarch python3-setuptools_scm-8.0.4-7.el10.noarch python3-trove-classifiers-2025.5.9.12-1.el10.noarch python3-typing-extensions-4.9.0-6.el10.noarch python3-wheel-1:0.41.2-5.el10.noarch tzdata-2025b-2.el10.noarch Complete! Finish: build setup for pyrtl-0.12-20251107.0.git1c06c9e9.el10.src.rpm Start: rpmbuild pyrtl-0.12-20251107.0.git1c06c9e9.el10.src.rpm Building target platforms: x86_64 Building for target x86_64 setting SOURCE_DATE_EPOCH=1582243200 Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.6mAHhQ + umask 022 + cd /builddir/build/BUILD + cd /builddir/build/BUILD + rm -rf pyrtl + /usr/bin/mkdir -p pyrtl + cd pyrtl + rm -rf /builddir/build/BUILD/pyrtl-SPECPARTS + /usr/bin/mkdir -p /builddir/build/BUILD/pyrtl-SPECPARTS + /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 1c06c9e9fa6feb484e9a6437ffd465027d40fbed From https://github.com/UCSBarchlab/PyRTL * branch 1c06c9e9fa6feb484e9a6437ffd465027d40fbed -> FETCH_HEAD + git reset --hard 1c06c9e9fa6feb484e9a6437ffd465027d40fbed HEAD is now at 1c06c9e Migrate PyRTL to `uv` (#476) + git log --format=fuller commit 1c06c9e9fa6feb484e9a6437ffd465027d40fbed Author: Jeremy Lau <30300826+fdxmw@users.noreply.github.com> AuthorDate: Fri Nov 7 16:07:56 2025 -0800 Commit: GitHub CommitDate: Fri Nov 7 16:07:56 2025 -0800 Migrate PyRTL to `uv` (#476) * Migrate PyRTL to `uv`. This has several advantages: * The new workflow is significantly faster on my computer: ``` $ # New workflow $ uv run just tests ... real 0m11.830s user 1m31.411s sys 0m7.255s ``` ``` $ # Old workflow $ tox ... real 0m19.537s user 2m2.577s sys 0m7.972s ``` * `uv` manages installation of the appropriate versions of Python and all pip packages, greatly simplifying the creation of PyRTL development environments * This pins all developer tools to specific versions. Previously we only pinned documentation tools. This avoids confusing situations where lint errors suddenly appear just because a new version of `ruff` was released. To run all tests with the new workflow: ``` $ uv run just tests ``` To build documentation with the new workflow: ``` $ uv run just docs ``` To run both: ``` $ uv run just presubmit ``` This replaces the old `tox` based workflow with a new `just` based workflow. `tox` is no longer needed since `uv` manages all virtual environments. `just` is used instead, as a simple portable task runner. + RPM_EC=0 ++ jobs -p + exit 0 Executing(%generate_buildrequires): /bin/sh -e /var/tmp/rpm-tmp.nwOGSY + umask 022 + cd /builddir/build/BUILD + cd pyrtl + RPM_EC=0 ++ jobs -p + exit 0 Wrote: /builddir/build/SRPMS/pyrtl-0.12-20251107.0.git1c06c9e9.el10.buildreqs.nosrc.rpm INFO: Going to install missing dynamic buildrequires No matches found for the following disable plugin patterns: local, spacewalk, versionlock Copr repository 45 kB/s | 1.5 kB 00:00 CentOS Stream 10 - BaseOS 399 kB/s | 7.4 kB 00:00 CentOS Stream 10 - AppStream 402 kB/s | 7.5 kB 00:00 CentOS Stream 10 - CRB 343 kB/s | 7.3 kB 00:00 CentOS Stream 10 - Extras packages 419 kB/s | 8.0 kB 00:00 Extra Packages for Enterprise Linux 10 - x86_64 1.4 MB/s | 35 kB 00:00 Package git-2.47.3-1.el10.x86_64 is already installed. Package make-1:4.4.1-9.el10.x86_64 is already installed. Package pyproject-rpm-macros-1.16.2-1.el10.noarch is already installed. Package python3-3.12.11-3.el10.x86_64 is already installed. Package python3-hatch-vcs-0.4.0-6.el10_0.noarch is already installed. Package python3-pip-23.3.2-7.el10.noarch is already installed. Package python3-pyparsing-3.1.1-7.el10.noarch is already installed. Package python3-pytest-7.4.3-5.el10.noarch is already installed. Package python3-rpm-macros-3.12-10.el10.noarch is already installed. Package python3-setuptools-69.0.3-12.el10.noarch is already installed. Package python3-wheel-1:0.41.2-5.el10.noarch is already installed. Dependencies resolved. Nothing to do. Complete! 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.WWHvGp + umask 022 + cd /builddir/build/BUILD + cd pyrtl + RPM_EC=0 ++ jobs -p + exit 0 Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.zlZefW + umask 022 + cd /builddir/build/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-v3 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 ' + 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-v3 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 ' + 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-v3 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -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-v3 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -I/usr/lib64/gfortran/modules ' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + 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-hardened-ld-errors -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/.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-v3 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 ' + 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-v3 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 ' + 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-v3 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -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-v3 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -I/usr/lib64/gfortran/modules ' + VALAFLAGS=-g + 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-hardened-ld-errors -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/.pyproject-builddir + /usr/bin/python3 -Bs /usr/lib/rpm/redhat/pyproject_wheel.py /builddir/build/BUILD/pyrtl/pyproject-wheeldir Processing /builddir/build/BUILD/pyrtl Preparing metadata (pyproject.toml): started Running command Preparing metadata (pyproject.toml) /usr/lib/python3.12/site-packages/setuptools_scm/git.py:163: UserWarning: "/builddir/build/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+g1c06c9e-py3-none-any.whl size=196528 sha256=ce78a1133decdc2f76a2608e85c0b44466a596df42b6bbe29b964d2d2d492598 Stored in directory: /builddir/build/BUILD/pyrtl/.pyproject-builddir/pip-ephem-wheel-cache-dnnsx70y/wheels/01/79/a0/2ccfc8786038f5feb00217f0dae0e258e92db79b5264c8aa03 Successfully built pyrtl + RPM_EC=0 ++ jobs -p + exit 0 Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.ayQXoQ + umask 022 + cd /builddir/build/BUILD + '[' /builddir/build/BUILDROOT/pyrtl-0.12-20251107.0.git1c06c9e9.el10.x86_64 '!=' / ']' + rm -rf /builddir/build/BUILDROOT/pyrtl-0.12-20251107.0.git1c06c9e9.el10.x86_64 ++ dirname /builddir/build/BUILDROOT/pyrtl-0.12-20251107.0.git1c06c9e9.el10.x86_64 + mkdir -p /builddir/build/BUILDROOT + mkdir /builddir/build/BUILDROOT/pyrtl-0.12-20251107.0.git1c06c9e9.el10.x86_64 + 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-v3 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 ' + 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-v3 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 ' + 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-v3 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -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-v3 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -I/usr/lib64/gfortran/modules ' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + 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-hardened-ld-errors -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/pyproject-wheeldir/pyrtl-0.1.dev1+g1c06c9e-py3-none-any.whl ++ xargs basename --multiple ++ sed -E 's/([^-]+)-([^-]+)-.+\.whl/\1==\2/' + specifier=pyrtl==0.1.dev1+g1c06c9e + '[' -z pyrtl==0.1.dev1+g1c06c9e ']' + TMPDIR=/builddir/build/BUILD/pyrtl/.pyproject-builddir + /usr/bin/python3 -m pip install --root /builddir/build/BUILDROOT/pyrtl-0.12-20251107.0.git1c06c9e9.el10.x86_64 --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/pyproject-wheeldir pyrtl==0.1.dev1+g1c06c9e Using pip 23.3.2 from /usr/lib/python3.12/site-packages/pip (python 3.12) Looking in links: /builddir/build/BUILD/pyrtl/pyproject-wheeldir Processing ./pyproject-wheeldir/pyrtl-0.1.dev1+g1c06c9e-py3-none-any.whl Installing collected packages: pyrtl Successfully installed pyrtl-0.1.dev1+g1c06c9e + '[' -d /builddir/build/BUILDROOT/pyrtl-0.12-20251107.0.git1c06c9e9.el10.x86_64/usr/bin ']' + rm -f /builddir/build/BUILD/pyrtl-0.12-20251107.0.git1c06c9e9.el10.x86_64-pyproject-ghost-distinfo + site_dirs=() + '[' -d /builddir/build/BUILDROOT/pyrtl-0.12-20251107.0.git1c06c9e9.el10.x86_64/usr/lib/python3.12/site-packages ']' + site_dirs+=("/usr/lib/python3.12/site-packages") + '[' /builddir/build/BUILDROOT/pyrtl-0.12-20251107.0.git1c06c9e9.el10.x86_64/usr/lib64/python3.12/site-packages '!=' /builddir/build/BUILDROOT/pyrtl-0.12-20251107.0.git1c06c9e9.el10.x86_64/usr/lib/python3.12/site-packages ']' + '[' -d /builddir/build/BUILDROOT/pyrtl-0.12-20251107.0.git1c06c9e9.el10.x86_64/usr/lib64/python3.12/site-packages ']' + for site_dir in ${site_dirs[@]} + for distinfo in /builddir/build/BUILDROOT/pyrtl-0.12-20251107.0.git1c06c9e9.el10.x86_64$site_dir/*.dist-info + echo '%ghost /usr/lib/python3.12/site-packages/pyrtl-0.1.dev1+g1c06c9e.dist-info' + sed -i s/pip/rpm/ /builddir/build/BUILDROOT/pyrtl-0.12-20251107.0.git1c06c9e9.el10.x86_64/usr/lib/python3.12/site-packages/pyrtl-0.1.dev1+g1c06c9e.dist-info/INSTALLER + PYTHONPATH=/usr/lib/rpm/redhat + /usr/bin/python3 -B /usr/lib/rpm/redhat/pyproject_preprocess_record.py --buildroot /builddir/build/BUILDROOT/pyrtl-0.12-20251107.0.git1c06c9e9.el10.x86_64 --record /builddir/build/BUILDROOT/pyrtl-0.12-20251107.0.git1c06c9e9.el10.x86_64/usr/lib/python3.12/site-packages/pyrtl-0.1.dev1+g1c06c9e.dist-info/RECORD --output /builddir/build/BUILD/pyrtl-0.12-20251107.0.git1c06c9e9.el10.x86_64-pyproject-record + rm -fv /builddir/build/BUILDROOT/pyrtl-0.12-20251107.0.git1c06c9e9.el10.x86_64/usr/lib/python3.12/site-packages/pyrtl-0.1.dev1+g1c06c9e.dist-info/RECORD removed '/builddir/build/BUILDROOT/pyrtl-0.12-20251107.0.git1c06c9e9.el10.x86_64/usr/lib/python3.12/site-packages/pyrtl-0.1.dev1+g1c06c9e.dist-info/RECORD' removed '/builddir/build/BUILDROOT/pyrtl-0.12-20251107.0.git1c06c9e9.el10.x86_64/usr/lib/python3.12/site-packages/pyrtl-0.1.dev1+g1c06c9e.dist-info/REQUESTED' + rm -fv /builddir/build/BUILDROOT/pyrtl-0.12-20251107.0.git1c06c9e9.el10.x86_64/usr/lib/python3.12/site-packages/pyrtl-0.1.dev1+g1c06c9e.dist-info/REQUESTED ++ wc -l /builddir/build/BUILD/pyrtl-0.12-20251107.0.git1c06c9e9.el10.x86_64-pyproject-ghost-distinfo ++ cut -f1 '-d ' + lines=1 + '[' 1 -ne 1 ']' + rm -rf /builddir/build/BUILDROOT/pyrtl-0.12-20251107.0.git1c06c9e9.el10.x86_64//usr/lib/python3.12/site-packages/tests + /usr/bin/find-debuginfo -j2 --strict-build-id -m -i --build-id-seed 0.12-20251107.0.git1c06c9e9.el10 --unique-debug-suffix -0.12-20251107.0.git1c06c9e9.el10.x86_64 --unique-debug-src-base pyrtl-0.12-20251107.0.git1c06c9e9.el10.x86_64 --run-dwz --dwz-low-mem-die-limit 10000000 --dwz-max-die-limit 110000000 -S debugsourcefiles.list /builddir/build/BUILD/pyrtl find-debuginfo: starting Extracting debug info from 0 files Creating .debug symlinks for symlinks to ELF files find: ‘debug’: No such file or directory find-debuginfo: done + /usr/lib/rpm/check-buildroot + /usr/lib/rpm/redhat/brp-ldconfig + /usr/lib/rpm/brp-compress + /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 + /usr/lib/rpm/redhat/brp-python-rpm-in-distinfo + env /usr/lib/rpm/redhat/brp-python-bytecompile '' 1 0 -j2 Bytecompiling .py files below /builddir/build/BUILDROOT/pyrtl-0.12-20251107.0.git1c06c9e9.el10.x86_64/usr/lib/python3.12 using python3.12 + /usr/lib/rpm/redhat/brp-python-hardlink Executing(%check): /bin/sh -e /var/tmp/rpm-tmp.jsDtBe + umask 022 + cd /builddir/build/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-v3 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 ' + 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-v3 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 ' + 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-v3 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -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-v3 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -I/usr/lib64/gfortran/modules ' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + 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-hardened-ld-errors -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/BUILDROOT/pyrtl-0.12-20251107.0.git1c06c9e9.el10.x86_64/usr/lib/python3.12/site-packages + PYTHONPATH=/builddir/build/BUILDROOT/pyrtl-0.12-20251107.0.git1c06c9e9.el10.x86_64/usr/lib/python3.12/site-packages + python3 -m pytest -vv tests ============================= test session starts ============================== platform linux -- Python 3.12.11, pytest-7.4.3, pluggy-1.3.0 -- /usr/bin/python3 cachedir: .pytest_cache rootdir: /builddir/build/BUILD/pyrtl collecting ... collected 1197 items / 1 skipped tests/test_analysis.py::TestAreaEstimate::test_area_est_unchanged PASSED [ 0%] tests/test_analysis.py::TestAreaEstimate::test_area_est_unchanged_with_rom PASSED [ 0%] tests/test_analysis.py::TestTimingEstimate::test_time_est_unchanged PASSED [ 0%] tests/test_analysis.py::TestPaths::test_all_paths PASSED [ 0%] tests/test_analysis.py::TestPaths::test_one_path_to_one_output PASSED [ 0%] tests/test_analysis.py::TestPaths::test_paths_empty_src_and_dst_equal_with_no_other_logic PASSED [ 0%] tests/test_analysis.py::TestPaths::test_paths_loop_and_input PASSED [ 0%] tests/test_analysis.py::TestPaths::test_paths_loop_get_arbitrary_inner_wires PASSED [ 0%] tests/test_analysis.py::TestPaths::test_paths_no_path_exists PASSED [ 0%] tests/test_analysis.py::TestPaths::test_paths_with_loop PASSED [ 0%] tests/test_analysis.py::TestPaths::test_paths_with_memory PASSED [ 0%] tests/test_analysis.py::TestPaths::test_pretty_print PASSED [ 1%] tests/test_analysis.py::TestPaths::test_subset_of_all_paths PASSED [ 1%] tests/test_analysis.py::TestPaths::test_two_paths_to_one_output PASSED [ 1%] tests/test_analysis.py::TestPaths::test_two_paths_to_two_outputs PASSED [ 1%] tests/test_analysis.py::TestDistance::test_several_distances PASSED [ 1%] tests/test_analysis.py::TestDistance::test_simple_distance PASSED [ 1%] tests/test_analysis.py::TestDistance::test_special_cost PASSED [ 1%] tests/test_analysis.py::TestFanout::test_fanout_simple PASSED [ 1%] tests/test_analysis.py::TestFanout::test_fanout_wire_repeated_as_arg PASSED [ 1%] tests/test_analysis.py::TestFanout::test_fanout_wire_repeated_in_concat PASSED [ 1%] tests/test_conditional.py::TestConditional::test_basic_default_condition PASSED [ 1%] tests/test_conditional.py::TestConditional::test_basic_false_condition PASSED [ 1%] tests/test_conditional.py::TestConditional::test_basic_nested_condition PASSED [ 2%] tests/test_conditional.py::TestConditional::test_basic_simple_condition_1 PASSED [ 2%] tests/test_conditional.py::TestConditional::test_basic_true_condition PASSED [ 2%] tests/test_conditional.py::TestConditional::test_basic_two_conditions PASSED [ 2%] tests/test_conditional.py::TestConditional::test_default_value_for_wires PASSED [ 2%] tests/test_conditional.py::TestConditional::test_error_on_conditional_assignment_not_under_conditional PASSED [ 2%] tests/test_conditional.py::TestConditional::test_error_on_non_boolean PASSED [ 2%] tests/test_conditional.py::TestConditional::test_error_on_non_boolean_with_register PASSED [ 2%] tests/test_conditional.py::TestConditional::test_error_on_unconditioned_update_in_under_conditional PASSED [ 2%] tests/test_conditional.py::TestConditional::test_nested_under_default_condition PASSED [ 2%] tests/test_conditional.py::TestConditional::test_short_true_condition PASSED [ 2%] tests/test_conditional.py::TestConditional::test_two_seperate_conditions PASSED [ 2%] tests/test_conditional.py::TestConditional::test_two_signals_under_default_condition PASSED [ 3%] tests/test_conditional.py::TestMemConditionalBlock::test_basic_true_condition_memread PASSED [ 3%] tests/test_conditional.py::TestMemConditionalBlock::test_basic_true_condition_memwrite PASSED [ 3%] tests/test_conditional.py::TestMemConditionalBlock::test_basic_true_condition_memwrite_2 PASSED [ 3%] tests/test_conditional.py::TestMemConditionalBlock::test_true_multi_condition_memread PASSED [ 3%] tests/test_conditional.py::TestWireConditionalBlock::test_basic_condition_wire PASSED [ 3%] tests/test_conditional.py::TestWireConditionalBlock::test_boolean_assignment_condition_wire PASSED [ 3%] tests/test_conditional.py::TestWireConditionalBlock::test_condition_error_when_assigned_wire_has_unspecified_bitwidth PASSED [ 3%] tests/test_conditional.py::TestWireConditionalBlock::test_condition_nice_error_message PASSED [ 3%] tests/test_conditional.py::TestWireConditionalBlock::test_condition_nice_error_message_nested PASSED [ 3%] tests/test_conditional.py::TestWireConditionalBlock::test_condition_nice_error_message_nested2 PASSED [ 3%] tests/test_conditional.py::TestWireConditionalBlock::test_condition_wire PASSED [ 3%] tests/test_conditional.py::TestWireConditionalBlock::test_error_condition_connect_const PASSED [ 4%] tests/test_conditional.py::TestWireConditionalBlock::test_error_condition_connect_input PASSED [ 4%] tests/test_conditional.py::TestWireConditionalBlock::test_nested_condition_wire PASSED [ 4%] tests/test_conditional.py::TestWireConditionalBlock::test_underspecified_condition_wire PASSED [ 4%] tests/test_conditional.py::TestNonExclusiveBlocks::test_basic_nested_non_exclusive_condition PASSED [ 4%] tests/test_conditional.py::TestNonExclusiveBlocks::test_one_deep_nested_non_exclusive_condition PASSED [ 4%] tests/test_conditional.py::TestNonExclusiveBlocks::test_other_overlaping_assignments_in_non_exclusive_assignments PASSED [ 4%] tests/test_conditional.py::TestNonExclusiveBlocks::test_overlaping_assignments_in_non_exclusive_assignments PASSED [ 4%] tests/test_conditional.py::TestSuperWireConditionalBlock::test_super_stress_test PASSED [ 4%] tests/test_core.py::TestDocTests::test_doctests PASSED [ 4%] tests/test_core.py::TestBlock::test_add_wire PASSED [ 4%] tests/test_core.py::TestBlock::test_add_wirevector_simple PASSED [ 4%] tests/test_core.py::TestBlock::test_bad_memblock_name_none PASSED [ 5%] tests/test_core.py::TestBlock::test_bad_memblock_name_strict PASSED [ 5%] tests/test_core.py::TestBlock::test_block_iterators PASSED [ 5%] tests/test_core.py::TestBlock::test_logicsubset_no_op PASSED [ 5%] tests/test_core.py::TestBlock::test_no_logic_net_comparisons PASSED [ 5%] tests/test_core.py::TestBlock::test_no_memblocks PASSED [ 5%] tests/test_core.py::TestBlock::test_same_memblock_referenced_across_multiple_operators PASSED [ 5%] tests/test_core.py::TestBlock::test_sanity_check PASSED [ 5%] tests/test_core.py::TestBlock::test_undriven_net PASSED [ 5%] tests/test_core.py::TestSanityCheckNet::test_net_dest_wrong_arity_or_type PASSED [ 5%] tests/test_core.py::TestSanityCheckNet::test_net_dest_wrong_bitwidth PASSED [ 5%] tests/test_core.py::TestSanityCheckNet::test_net_make_with_not_net PASSED [ 5%] tests/test_core.py::TestSanityCheckNet::test_net_no_tuples PASSED [ 6%] tests/test_core.py::TestSanityCheckNet::test_net_odd_wires PASSED [ 6%] tests/test_core.py::TestSanityCheckNet::test_net_wrong_bitwidth PASSED [ 6%] tests/test_core.py::TestSanityCheckNet::test_net_wrong_num_args PASSED [ 6%] tests/test_core.py::TestSanityCheckNet::test_net_wrong_num_op_params PASSED [ 6%] tests/test_core.py::TestSanityCheckNet::test_net_wrong_op_param_mem PASSED [ 6%] tests/test_core.py::TestSanityCheckNet::test_net_wrong_op_param_select PASSED [ 6%] tests/test_core.py::TestSanityCheckNet::test_net_wrong_types PASSED [ 6%] tests/test_core.py::TestSetWorkingBlock::test_invalid_set_wb PASSED [ 6%] tests/test_core.py::TestSetWorkingBlock::test_invalid_with_set_wb PASSED [ 6%] tests/test_core.py::TestSetWorkingBlock::test_normal PASSED [ 6%] tests/test_core.py::TestSetWorkingBlock::test_with_block PASSED [ 6%] tests/test_core.py::TestSetWorkingBlock::test_with_block_exception PASSED [ 7%] tests/test_core.py::TestSetWorkingBlock::test_with_block_nested PASSED [ 7%] tests/test_core.py::TestAsGraph::test_as_graph_2 PASSED [ 7%] tests/test_core.py::TestAsGraph::test_as_graph_duplicate_args PASSED [ 7%] tests/test_core.py::TestAsGraph::test_as_graph_memory PASSED [ 7%] tests/test_core.py::TestAsGraph::test_as_graph_trivial PASSED [ 7%] tests/test_core.py::TestSanityCheck::test_duplicate_names PASSED [ 7%] tests/test_core.py::TestSanityCheck::test_extra_wire_in_wirevector_by_name PASSED [ 7%] tests/test_core.py::TestSanityCheck::test_inconsistent_wirevector_by_name PASSED [ 7%] tests/test_core.py::TestSanityCheck::test_missing_bitwidth PASSED [ 7%] tests/test_core.py::TestSanityCheck::test_missing_wire_in_wirevector_by_name PASSED [ 7%] tests/test_core.py::TestSanityCheck::test_not_connected PASSED [ 7%] tests/test_core.py::TestSanityCheck::test_not_driven PASSED [ 8%] tests/test_core.py::TestSanityCheck::test_unknown_wires PASSED [ 8%] tests/test_core.py::TestLogicNets::test_comparison PASSED [ 8%] tests/test_core.py::TestLogicNets::test_equivelence_of_different_nets PASSED [ 8%] tests/test_core.py::TestLogicNets::test_equivelence_of_same_nets PASSED [ 8%] tests/test_core.py::TestLogicNets::test_memory_read_print PASSED [ 8%] tests/test_core.py::TestLogicNets::test_memory_write_print PASSED [ 8%] tests/test_core.py::TestLogicNets::test_net_with_wirevectors PASSED [ 8%] tests/test_core.py::TestLogicNets::test_self_equals PASSED [ 8%] tests/test_core.py::TestLogicNets::test_string_format PASSED [ 8%] tests/test_core.py::TestMemAsyncCheck::test_async_check_should_notpass_with_add PASSED [ 8%] tests/test_core.py::TestMemAsyncCheck::test_async_check_should_pass PASSED [ 8%] tests/test_core.py::TestMemAsyncCheck::test_async_check_should_pass_with_cat PASSED [ 9%] tests/test_core.py::TestMemAsyncCheck::test_async_check_should_pass_with_select PASSED [ 9%] tests/test_core.py::TestNetConnections::test_net_connections_normal PASSED [ 9%] tests/test_core.py::TestNetConnections::test_net_connections_should_be_empty_at_start PASSED [ 9%] tests/test_core.py::TestNetConnections::test_net_connections_with_memblock PASSED [ 9%] tests/test_core.py::TestNetConnections::test_wire_not_in_net_connections PASSED [ 9%] tests/test_core.py::TestNameSanitizer::test_name_collision PASSED [ 9%] tests/test_examples.py::test_all_examples[/builddir/build/BUILD/pyrtl/tests/../examples/renderer-demo.py] FAILED [ 9%] tests/test_examples.py::test_all_examples[/builddir/build/BUILD/pyrtl/tests/../examples/introduction-to-hardware.py] FAILED [ 9%] tests/test_examples.py::test_all_examples[/builddir/build/BUILD/pyrtl/tests/../examples/example8-verilog.py] FAILED [ 9%] tests/test_examples.py::test_all_examples[/builddir/build/BUILD/pyrtl/tests/../examples/example7-synth-timing.py] FAILED [ 9%] tests/test_examples.py::test_all_examples[/builddir/build/BUILD/pyrtl/tests/../examples/example6-memory.py] FAILED [ 9%] tests/test_examples.py::test_all_examples[/builddir/build/BUILD/pyrtl/tests/../examples/example5-introspection.py] FAILED [ 10%] tests/test_examples.py::test_all_examples[/builddir/build/BUILD/pyrtl/tests/../examples/example4-debuggingtools.py] FAILED [ 10%] tests/test_examples.py::test_all_examples[/builddir/build/BUILD/pyrtl/tests/../examples/example3-statemachine.py] FAILED [ 10%] tests/test_examples.py::test_all_examples[/builddir/build/BUILD/pyrtl/tests/../examples/example2-counter.py] FAILED [ 10%] tests/test_examples.py::test_all_examples[/builddir/build/BUILD/pyrtl/tests/../examples/example1.2-wire-struct.py] FAILED [ 10%] tests/test_examples.py::test_all_examples[/builddir/build/BUILD/pyrtl/tests/../examples/example1.1-signed-numbers.py] FAILED [ 10%] tests/test_examples.py::test_all_examples[/builddir/build/BUILD/pyrtl/tests/../examples/example1-combologic.py] FAILED [ 10%] tests/test_examples.py::test_all_examples[/builddir/build/BUILD/pyrtl/tests/../examples/example0-minimum-viable-hardware.py] FAILED [ 10%] tests/test_gate_graph.py::TestDocTests::test_doctests PASSED [ 10%] tests/test_gate_graph.py::TestGateGraph::test_gate_alias_errors PASSED [ 10%] tests/test_gate_graph.py::TestGateGraph::test_gate_attrs PASSED [ 10%] tests/test_gate_graph.py::TestGateGraph::test_gate_retrieval PASSED [ 10%] tests/test_gate_graph.py::TestGateGraph::test_gate_sets PASSED [ 11%] tests/test_gate_graph.py::TestGateGraph::test_get_gate PASSED [ 11%] tests/test_gate_graph.py::TestGateGraph::test_memblock PASSED [ 11%] tests/test_gate_graph.py::TestGateGraph::test_register_gate_backward PASSED [ 11%] tests/test_gate_graph.py::TestGateGraph::test_register_gate_forward PASSED [ 11%] tests/test_gate_graph.py::TestGateGraph::test_register_self_loop PASSED [ 11%] tests/test_gate_graph.py::TestGateGraph::test_select_gate PASSED [ 11%] tests/test_helperfuncs.py::TestDocTests::test_corecircuits_doctests PASSED [ 11%] tests/test_helperfuncs.py::TestDocTests::test_helperfuncs_doctests PASSED [ 11%] tests/test_helperfuncs.py::TestWireVectorList::test_input_list_type PASSED [ 11%] tests/test_helperfuncs.py::TestWireVectorList::test_output_list_type PASSED [ 11%] tests/test_helperfuncs.py::TestWireVectorList::test_register_list_type PASSED [ 11%] tests/test_helperfuncs.py::TestWireVectorList::test_wirevector_list_bitwidth PASSED [ 12%] tests/test_helperfuncs.py::TestWireVectorList::test_wirevector_list_per_wire_width PASSED [ 12%] tests/test_helperfuncs.py::TestWireVectorList::test_wirevector_list_raise_errors PASSED [ 12%] tests/test_helperfuncs.py::TestWireVectorList::test_wirevector_list_type PASSED [ 12%] tests/test_helperfuncs.py::TestNonCoreHelpers::test_infer_val_and_bitwidth PASSED [ 12%] tests/test_helperfuncs.py::TestNonCoreHelpers::test_log2 PASSED [ 12%] tests/test_helperfuncs.py::TestNonCoreHelpers::test_truncate_function PASSED [ 12%] tests/test_helperfuncs.py::TestNonCoreHelpers::test_val_to_signed_integer PASSED [ 12%] tests/test_helperfuncs.py::TestMatchBitpattern::test_match_bitwidth_does_simulation_correct PASSED [ 12%] tests/test_helperfuncs.py::TestMatchBitpattern::test_match_bitwidth_simulates_no_ones_in_pattern PASSED [ 12%] tests/test_helperfuncs.py::TestMatchBitpattern::test_match_bitwidth_simulates_no_zeroes_in_pattern PASSED [ 12%] tests/test_helperfuncs.py::TestMatchBitpattern::test_match_bitwidth_simulates_only_wildcards PASSED [ 12%] tests/test_helperfuncs.py::TestMatchBitpattern::test_match_bitwidth_with_all_fields PASSED [ 13%] tests/test_helperfuncs.py::TestMatchBitpattern::test_match_bitwidth_with_consecutive_fields PASSED [ 13%] tests/test_helperfuncs.py::TestMatchBitpattern::test_match_bitwidth_with_non_consecutive_field PASSED [ 13%] tests/test_helperfuncs.py::TestMatchBitpattern::test_match_bitwidth_with_pattern_matched_fields PASSED [ 13%] tests/test_helperfuncs.py::TestMatchBitpattern::test_match_bitwidth_with_pattern_matched_fields_by_name PASSED [ 13%] tests/test_helperfuncs.py::TestMatchBitpattern::test_match_bitwidth_with_pattern_matched_fields_with_bad_field_map PASSED [ 13%] tests/test_helperfuncs.py::TestMatchBitpattern::test_match_bitwidth_with_pattern_matched_fields_with_field_map PASSED [ 13%] tests/test_helperfuncs.py::TestMatchBitpattern::test_match_bitwidth_with_several_non_consecutive_fields PASSED [ 13%] tests/test_helperfuncs.py::TestMatchBitpattern::test_pattern_type_or_length_mismatch PASSED [ 13%] tests/test_helperfuncs.py::TestBitpatternToVal::test_error_bitpattern_field_not_provided PASSED [ 13%] tests/test_helperfuncs.py::TestBitpatternToVal::test_error_both_ordered_and_named_fields PASSED [ 13%] tests/test_helperfuncs.py::TestBitpatternToVal::test_error_empty_bitpattern PASSED [ 13%] tests/test_helperfuncs.py::TestBitpatternToVal::test_error_invalid_num_unique_patterns PASSED [ 14%] tests/test_helperfuncs.py::TestBitpatternToVal::test_error_unnamed_fields_in_bitpattern PASSED [ 14%] tests/test_helperfuncs.py::TestBitpatternToVal::test_error_value_doesnt_fit_in_field PASSED [ 14%] tests/test_helperfuncs.py::TestBitpatternToVal::test_fields_all_different PASSED [ 14%] tests/test_helperfuncs.py::TestBitpatternToVal::test_named_fields PASSED [ 14%] tests/test_helperfuncs.py::TestBitpatternToVal::test_named_fields_with_field_map PASSED [ 14%] tests/test_helperfuncs.py::TestBitpatternToVal::test_no_fields PASSED [ 14%] tests/test_helperfuncs.py::TestBitpatternToVal::test_ordered_fields PASSED [ 14%] tests/test_helperfuncs.py::TestChop::test_chop_does_simulation_correct PASSED [ 14%] tests/test_helperfuncs.py::TestChop::test_fields_mismatch PASSED [ 14%] tests/test_helperfuncs.py::TestChop::test_wrong_input_types_fail PASSED [ 14%] tests/test_helperfuncs.py::TestBitField_Update::test_bitfield PASSED [ 14%] tests/test_helperfuncs.py::TestBitField_Update::test_bitfield_all_but_lsb PASSED [ 15%] tests/test_helperfuncs.py::TestBitField_Update::test_bitfield_all_but_msb PASSED [ 15%] tests/test_helperfuncs.py::TestBitField_Update::test_bitfield_lsb PASSED [ 15%] tests/test_helperfuncs.py::TestBitField_Update::test_bitfield_msb PASSED [ 15%] tests/test_helperfuncs.py::TestBitField_Update::test_field_too_big PASSED [ 15%] tests/test_helperfuncs.py::TestBitField_Update::test_field_too_big_truncate PASSED [ 15%] tests/test_helperfuncs.py::TestBitField_Update::test_no_bits_to_update PASSED [ 15%] tests/test_helperfuncs.py::TestBitField_Update_Set::test_bitfield PASSED [ 15%] tests/test_helperfuncs.py::TestBitField_Update_Set::test_field_too_big PASSED [ 15%] tests/test_helperfuncs.py::TestBitField_Update_Set::test_field_too_big_truncate PASSED [ 15%] tests/test_helperfuncs.py::TestBitField_Update_Set::test_no_bits_to_update PASSED [ 15%] tests/test_helperfuncs.py::TestBitField_Update_Set::test_overlapping_ranges PASSED [ 15%] tests/test_helperfuncs.py::TestAnyAll::test_all_does_simulation_correct PASSED [ 16%] tests/test_helperfuncs.py::TestAnyAll::test_all_only_on_1_bit_vectors PASSED [ 16%] tests/test_helperfuncs.py::TestAnyAll::test_all_works_with_consts PASSED [ 16%] tests/test_helperfuncs.py::TestAnyAll::test_any_does_simulation_correct PASSED [ 16%] tests/test_helperfuncs.py::TestAnyAll::test_any_only_on_1_bit_vectors PASSED [ 16%] tests/test_helperfuncs.py::TestAnyAll::test_any_works_with_consts PASSED [ 16%] tests/test_helperfuncs.py::TestTreeReduce::test_empty PASSED [ 16%] tests/test_helperfuncs.py::TestTreeReduce::test_xor PASSED [ 16%] tests/test_helperfuncs.py::TestXorAllBits::test_list_of_long_wires PASSED [ 16%] tests/test_helperfuncs.py::TestXorAllBits::test_list_of_one_bit_wires PASSED [ 16%] tests/test_helperfuncs.py::TestXorAllBits::test_one_wirevector PASSED [ 16%] tests/test_helperfuncs.py::TestMux::test_mux_enough_inputs_with_default PASSED [ 16%] tests/test_helperfuncs.py::TestMux::test_mux_not_enough_inputs PASSED [ 17%] tests/test_helperfuncs.py::TestMux::test_mux_not_enough_inputs_but_default PASSED [ 17%] tests/test_helperfuncs.py::TestMux::test_mux_too_many_inputs PASSED [ 17%] tests/test_helperfuncs.py::TestMux::test_mux_too_many_inputs_with_default PASSED [ 17%] tests/test_helperfuncs.py::TestMuxSimulation::test_mux_with_default PASSED [ 17%] tests/test_helperfuncs.py::TestMuxSimulation::test_select PASSED [ 17%] tests/test_helperfuncs.py::TestMuxSimulation::test_select_no_pred PASSED [ 17%] tests/test_helperfuncs.py::TestMuxSimulation::test_simple_mux_1 PASSED [ 17%] tests/test_helperfuncs.py::TestMuxSimulation::test_simple_mux_2 PASSED [ 17%] tests/test_helperfuncs.py::TestRtlProbe::test_bad_probe_wire PASSED [ 17%] tests/test_helperfuncs.py::TestRtlProbe::test_probe_wire PASSED [ 17%] tests/test_helperfuncs.py::TestRtlProbe::test_simple_probe PASSED [ 17%] tests/test_helperfuncs.py::TestRtlProbe::test_simple_probe_debug PASSED [ 18%] tests/test_helperfuncs.py::TestShiftSimulation::test_sla PASSED [ 18%] tests/test_helperfuncs.py::TestShiftSimulation::test_sla_big PASSED [ 18%] tests/test_helperfuncs.py::TestShiftSimulation::test_sla_big_integer_shift_amount PASSED [ 18%] tests/test_helperfuncs.py::TestShiftSimulation::test_sla_integer_shift_amount PASSED [ 18%] tests/test_helperfuncs.py::TestShiftSimulation::test_sla_over PASSED [ 18%] tests/test_helperfuncs.py::TestShiftSimulation::test_sll PASSED [ 18%] tests/test_helperfuncs.py::TestShiftSimulation::test_sll_big PASSED [ 18%] tests/test_helperfuncs.py::TestShiftSimulation::test_sll_big_integer_shift_amount PASSED [ 18%] tests/test_helperfuncs.py::TestShiftSimulation::test_sll_integer_shift_amount PASSED [ 18%] tests/test_helperfuncs.py::TestShiftSimulation::test_sll_over PASSED [ 18%] tests/test_helperfuncs.py::TestShiftSimulation::test_sra PASSED [ 18%] tests/test_helperfuncs.py::TestShiftSimulation::test_sra_big PASSED [ 19%] tests/test_helperfuncs.py::TestShiftSimulation::test_sra_big_integer_shift_amount PASSED [ 19%] tests/test_helperfuncs.py::TestShiftSimulation::test_sra_integer_shift_amount PASSED [ 19%] tests/test_helperfuncs.py::TestShiftSimulation::test_sra_over PASSED [ 19%] tests/test_helperfuncs.py::TestShiftSimulation::test_srl PASSED [ 19%] tests/test_helperfuncs.py::TestShiftSimulation::test_srl_big PASSED [ 19%] tests/test_helperfuncs.py::TestShiftSimulation::test_srl_big_integer_shift_amount PASSED [ 19%] tests/test_helperfuncs.py::TestShiftSimulation::test_srl_integer_shift_amount PASSED [ 19%] tests/test_helperfuncs.py::TestShiftSimulation::test_srl_over PASSED [ 19%] tests/test_helperfuncs.py::TestBasicMult::test_mult_1 PASSED [ 19%] tests/test_helperfuncs.py::TestBasicMult::test_mult_1_1 PASSED [ 19%] tests/test_helperfuncs.py::TestBasicMult::test_mult_2 PASSED [ 19%] tests/test_helperfuncs.py::TestBasicMult::test_mult_3 PASSED [ 20%] tests/test_helperfuncs.py::TestRtlAssert::test_assert_fastsimulation PASSED [ 20%] tests/test_helperfuncs.py::TestRtlAssert::test_assert_simulation PASSED [ 20%] tests/test_helperfuncs.py::TestRtlAssert::test_bad_type PASSED [ 20%] tests/test_helperfuncs.py::TestRtlAssert::test_create_assert PASSED [ 20%] tests/test_helperfuncs.py::TestRtlAssert::test_duplicate_assert PASSED [ 20%] tests/test_helperfuncs.py::TestRtlAssert::test_invalid_exception_type PASSED [ 20%] tests/test_helperfuncs.py::TestRtlAssert::test_wire_from_another_block PASSED [ 20%] tests/test_helperfuncs.py::TestRtlAssert::test_wire_outside_block PASSED [ 20%] tests/test_helperfuncs.py::TestRtlAssert::test_wrong_len PASSED [ 20%] tests/test_helperfuncs.py::TestLoopDetection::test_edge_case_1 PASSED [ 20%] tests/test_helperfuncs.py::TestLoopDetection::test_loop_1 PASSED [ 20%] tests/test_helperfuncs.py::TestLoopDetection::test_loop_2 PASSED [ 21%] tests/test_helperfuncs.py::TestLoopDetection::test_no_loop_1 PASSED [ 21%] tests/test_helperfuncs.py::TestLoopDetection::test_no_loop_reg_1 PASSED [ 21%] tests/test_helperfuncs.py::TestLoopDetection::test_no_loop_special_ops PASSED [ 21%] tests/test_helperfuncs.py::TestWireStruct::test_anonymous_concatenate PASSED [ 21%] tests/test_helperfuncs.py::TestWireStruct::test_anonymous_pixel_concatenate PASSED [ 21%] tests/test_helperfuncs.py::TestWireStruct::test_anonymous_pixel_slice PASSED [ 21%] tests/test_helperfuncs.py::TestWireStruct::test_anonymous_slice PASSED [ 21%] tests/test_helperfuncs.py::TestWireStruct::test_concatenate PASSED [ 21%] tests/test_helperfuncs.py::TestWireStruct::test_exceptions PASSED [ 21%] tests/test_helperfuncs.py::TestWireStruct::test_input_concatenate PASSED [ 21%] tests/test_helperfuncs.py::TestWireStruct::test_input_slice PASSED [ 21%] tests/test_helperfuncs.py::TestWireStruct::test_output_concatenate PASSED [ 22%] tests/test_helperfuncs.py::TestWireStruct::test_output_slice PASSED [ 22%] tests/test_helperfuncs.py::TestWireStruct::test_pixel_concatenate PASSED [ 22%] tests/test_helperfuncs.py::TestWireStruct::test_pixel_slice PASSED [ 22%] tests/test_helperfuncs.py::TestWireStruct::test_register_slice PASSED [ 22%] tests/test_helperfuncs.py::TestWireStruct::test_slice PASSED [ 22%] tests/test_helperfuncs.py::TestWireMatrix::test_anonymous_wire_matrix_concatenate PASSED [ 22%] tests/test_helperfuncs.py::TestWireMatrix::test_anonymous_wire_matrix_slice PASSED [ 22%] tests/test_helperfuncs.py::TestWireMatrix::test_byte_matrix_const PASSED [ 22%] tests/test_helperfuncs.py::TestWireMatrix::test_byte_matrix_input_concatenate PASSED [ 22%] tests/test_helperfuncs.py::TestWireMatrix::test_byte_matrix_input_slice PASSED [ 22%] tests/test_helperfuncs.py::TestWireMatrix::test_wire_matrix_composition_cached_data PASSED [ 22%] tests/test_helperfuncs.py::TestWireMatrix::test_wire_matrix_composition_dword PASSED [ 23%] tests/test_helperfuncs.py::TestWireMatrix::test_wire_matrix_concatenate PASSED [ 23%] tests/test_helperfuncs.py::TestWireMatrix::test_wire_matrix_exceptions PASSED [ 23%] tests/test_helperfuncs.py::TestWireMatrix::test_wire_matrix_input PASSED [ 23%] tests/test_helperfuncs.py::TestWireMatrix::test_wire_matrix_register PASSED [ 23%] tests/test_helperfuncs.py::TestWireMatrix::test_wire_matrix_slice PASSED [ 23%] tests/test_helperfuncs.py::TestWireMatrix::test_wire_matrix_word_concatenate PASSED [ 23%] tests/test_helperfuncs.py::TestWireMatrix::test_wire_matrix_word_slice PASSED [ 23%] tests/test_helperfuncs.py::TestOneHotToBinary::test_multiple_ones PASSED [ 23%] tests/test_helperfuncs.py::TestOneHotToBinary::test_no_ones PASSED [ 23%] tests/test_helperfuncs.py::TestOneHotToBinary::test_simple_onehot PASSED [ 23%] tests/test_helperfuncs.py::TestBinaryToOneHot::test_simple_binary_to_one_hot PASSED [ 23%] tests/test_helperfuncs.py::TestBinaryToOneHot::test_with_max_bitwidth PASSED [ 24%] tests/test_importexport.py::TestInputFromBlif::test_blif_and_gate_correct PASSED [ 24%] tests/test_importexport.py::TestInputFromBlif::test_blif_error_bad_coverset PASSED [ 24%] tests/test_importexport.py::TestInputFromBlif::test_blif_error_zeroes_in_offset PASSED [ 24%] tests/test_importexport.py::TestInputFromBlif::test_blif_input_simulates_correctly_with_merged_outputs PASSED [ 24%] tests/test_importexport.py::TestInputFromBlif::test_blif_input_simulates_correctly_with_unmerged_outputs PASSED [ 24%] tests/test_importexport.py::TestInputFromBlif::test_blif_nand_gate_to_primitives_correct PASSED [ 24%] tests/test_importexport.py::TestInputFromBlif::test_blif_nor_gate_correct PASSED [ 24%] tests/test_importexport.py::TestInputFromBlif::test_blif_not_gate_correct PASSED [ 24%] tests/test_importexport.py::TestInputFromBlif::test_blif_or_gate_correct PASSED [ 24%] tests/test_importexport.py::TestInputFromBlif::test_blif_with_clock_passing PASSED [ 24%] tests/test_importexport.py::TestInputFromBlif::test_blif_with_multiple_modules_merged_io PASSED [ 24%] tests/test_importexport.py::TestInputFromBlif::test_blif_with_multiple_modules_unmerged_io PASSED [ 25%] tests/test_importexport.py::TestInputFromBlif::test_blif_with_output_as_arg PASSED [ 25%] tests/test_importexport.py::TestInputFromBlif::test_blif_xor_gate_correct PASSED [ 25%] tests/test_importexport.py::TestInputFromBlif::test_combo_blif_input_has_correct_io_interface PASSED [ 25%] tests/test_importexport.py::TestInputFromBlif::test_correct_interface_with_unmerged_io PASSED [ 25%] tests/test_importexport.py::TestInputFromBlif::test_sequential_blif_input_has_correct_io_interface PASSED [ 25%] tests/test_importexport.py::TestInputFromBlif::test_sequential_blif_input_has_correct_io_interface_counter PASSED [ 25%] tests/test_importexport.py::TestVerilogNames::test_verilog_check_valid_name_bad PASSED [ 25%] tests/test_importexport.py::TestVerilogNames::test_verilog_check_valid_name_good PASSED [ 25%] tests/test_importexport.py::TestVerilogOutput::test_bit_slice_inputs PASSED [ 25%] tests/test_importexport.py::TestVerilogOutput::test_error_existing_reset_wire PASSED [ 25%] tests/test_importexport.py::TestVerilogOutput::test_error_invalid_add_reset PASSED [ 25%] tests/test_importexport.py::TestVerilogOutput::test_existing_reset_wire_without_add_reset PASSED [ 26%] tests/test_importexport.py::TestVerilogOutput::test_mems_with_no_writes PASSED [ 26%] tests/test_importexport.py::TestVerilogOutput::test_register_reset_value PASSED [ 26%] tests/test_importexport.py::TestVerilogOutput::test_romblock_does_not_throw_error PASSED [ 26%] tests/test_importexport.py::TestVerilogOutput::test_textual_consistency_large PASSED [ 26%] tests/test_importexport.py::TestVerilogOutput::test_textual_consistency_small PASSED [ 26%] tests/test_importexport.py::TestVerilogOutput::test_textual_consistency_with_async_reset PASSED [ 26%] tests/test_importexport.py::TestVerilogOutput::test_textual_consistency_with_no_reset PASSED [ 26%] tests/test_importexport.py::TestVerilogOutput::test_textual_consistency_with_sync_reset PASSED [ 26%] tests/test_importexport.py::TestVerilogInput::test_error_import_bad_file SKIPPED [ 26%] tests/test_importexport.py::TestVerilogInput::test_import_counter SKIPPED [ 26%] tests/test_importexport.py::TestVerilogInput::test_import_counter_with_reset SKIPPED [ 26%] tests/test_importexport.py::TestVerilogInput::test_import_multi_module_auto_select_top_module SKIPPED [ 27%] tests/test_importexport.py::TestVerilogInput::test_import_multi_module_specified_module SKIPPED [ 27%] tests/test_importexport.py::TestVerilogInput::test_import_small SKIPPED [ 27%] tests/test_importexport.py::TestOutputTestbench::test_error_verilog_testbench_existing_reset_wire PASSED [ 27%] tests/test_importexport.py::TestOutputTestbench::test_error_verilog_testbench_invalid_add_reset PASSED [ 27%] tests/test_importexport.py::TestOutputTestbench::test_only_initialize_memblocks PASSED [ 27%] tests/test_importexport.py::TestOutputTestbench::test_verilog_testbench_consistency PASSED [ 27%] tests/test_importexport.py::TestOutputTestbench::test_verilog_testbench_does_not_throw_error PASSED [ 27%] tests/test_importexport.py::TestOutputTestbench::test_verilog_testbench_existing_reset_wire_without_add_reset PASSED [ 27%] tests/test_importexport.py::TestOutputTestbench::test_verilog_testbench_no_reset_consistency PASSED [ 27%] tests/test_importexport.py::TestOutputFirrtl::test_textual_consistency_concats PASSED [ 27%] tests/test_importexport.py::TestOutputFirrtl::test_textual_consistency_selects PASSED [ 27%] tests/test_importexport.py::TestInputISCASBench::test_bench_with_same_io_name PASSED [ 28%] tests/test_importexport.py::TestInputISCASBench::test_combinational_bench PASSED [ 28%] tests/test_importexport.py::TestInputISCASBench::test_sequential_bench PASSED [ 28%] tests/test_importexport.py::TestInputISCASBench::test_simulation_bench PASSED [ 28%] tests/test_memblock.py::TestDocTests::test_doctests PASSED [ 28%] tests/test_memblock.py::RTLMemBlockDesignBase::test_2read_1write PASSED [ 28%] tests/test_memblock.py::RTLMemBlockDesignBase::test_memblock_added_default_named PASSED [ 28%] tests/test_memblock.py::RTLMemBlockDesignBase::test_memblock_added_user_named PASSED [ 28%] tests/test_memblock.py::RTLMemBlockDesignBase::test_memblock_assign_with_extension PASSED [ 28%] tests/test_memblock.py::RTLMemBlockDesignBase::test_memblock_connection_with_ints PASSED [ 28%] tests/test_memblock.py::RTLMemBlockDesignBase::test_memblock_direct_assignment_error PASSED [ 28%] tests/test_memblock.py::RTLMemBlockDesignBase::test_memblock_simple PASSED [ 28%] tests/test_memblock.py::RTLMemBlockDesignBase::test_memblock_to_memblock_direct_operation PASSED [ 29%] tests/test_memblock.py::RTLMemBlockDesignBase::test_memblock_with_write_enable_with_equalsign PASSED [ 29%] tests/test_memblock.py::RTLMemBlockDesignBase::test_over_max_read_ports PASSED [ 29%] tests/test_memblock.py::RTLMemBlockDesignBase::test_over_max_write_ports PASSED [ 29%] tests/test_memblock.py::RTLMemBlockErrorTests::test_memblock_enable_signal_not_1_bit PASSED [ 29%] tests/test_memblock.py::RTLMemBlockErrorTests::test_memblock_write_data_larger_than_memory_bitwidth PASSED [ 29%] tests/test_memblock.py::RTLMemBlockErrorTests::test_memindex_bitwidth_greater_than_addrwidth PASSED [ 29%] tests/test_memblock.py::RTLMemBlockErrorTests::test_negative_addrwidth PASSED [ 29%] tests/test_memblock.py::RTLMemBlockErrorTests::test_negative_bitwidth PASSED [ 29%] tests/test_memblock.py::RTLMemBlockErrorTests::test_read_ports_exception PASSED [ 29%] tests/test_memblock.py::MemIndexedTests::test_memindexed_getitem PASSED [ 29%] tests/test_memblock.py::MemIndexedTests::test_memindexed_len PASSED [ 29%] tests/test_memblock.py::MemIndexedTests::test_memindexed_name PASSED [ 30%] tests/test_memblock.py::MemIndexedTests::test_memindexed_sign_extended PASSED [ 30%] tests/test_memblock.py::MemIndexedTests::test_memindexed_zero_extended PASSED [ 30%] tests/test_memblock.py::MemIndexedTests::test_read_memindexed_ilshift PASSED [ 30%] tests/test_memblock.py::MemIndexedTests::test_read_memindexed_ior PASSED [ 30%] tests/test_memblock.py::MemIndexedTests::test_write_memindexed_ilshift PASSED [ 30%] tests/test_memblock.py::MemIndexedTests::test_write_memindexed_ior PASSED [ 30%] tests/test_memblock.py::RTLRomBlockWiring::test_direct_assignment_error PASSED [ 30%] tests/test_memblock.py::RTLRomBlockWiring::test_int_index_error PASSED [ 30%] tests/test_memblock.py::RTLRomBlockWiring::test_other_non_wire_index_error PASSED [ 30%] tests/test_memblock.py::RTLRomBlockWiring::test_read PASSED [ 30%] tests/test_memblock.py::RTLRomBlockWiring::test_rom_to_rom_direct_operation PASSED [ 30%] tests/test_memblock.py::RTLRomBlockWiring::test_write PASSED [ 31%] tests/test_memblock.py::RTLRomGetReadData::test_build_new_roms PASSED [ 31%] tests/test_memblock.py::RTLRomGetReadData::test_invalid_address PASSED [ 31%] tests/test_memblock.py::RTLRomGetReadData::test_invalid_address_types PASSED [ 31%] tests/test_memblock.py::RTLRomGetReadData::test_invalid_value_function PASSED [ 31%] tests/test_memblock.py::RTLRomGetReadData::test_out_of_range PASSED [ 31%] tests/test_memblock.py::RTLRomGetReadData::test_over_max_read_ports PASSED [ 31%] tests/test_memblock.py::RTLRomGetReadData::test_valid_get_read PASSED [ 31%] tests/test_memblock.py::RTLRomGetReadData::test_value_out_of_range PASSED [ 31%] tests/test_memblock.py::TestSignedRomBlockData::test_negative_romdata PASSED [ 31%] tests/test_memblock.py::TestSignedRomBlockData::test_unsigned_romdata PASSED [ 31%] tests/test_passes.py::TestSynthesis::test_and_simulation PASSED [ 31%] tests/test_passes.py::TestSynthesis::test_const_nobitwidth_simulation PASSED [ 32%] tests/test_passes.py::TestSynthesis::test_minus_simulation PASSED [ 32%] tests/test_passes.py::TestSynthesis::test_minus_simulation2 PASSED [ 32%] tests/test_passes.py::TestSynthesis::test_mux_simulation PASSED [ 32%] tests/test_passes.py::TestSynthesis::test_not_simulation PASSED [ 32%] tests/test_passes.py::TestSynthesis::test_or_simulation PASSED [ 32%] tests/test_passes.py::TestSynthesis::test_plus_simulation PASSED [ 32%] tests/test_passes.py::TestSynthesis::test_synthesize_regs_mapped_correctly PASSED [ 32%] tests/test_passes.py::TestSynthesis::test_xor_simulation PASSED [ 32%] tests/test_passes.py::TestIOInterfaceSynthesis::test_synthesize_does_not_update_working_block PASSED [ 32%] tests/test_passes.py::TestIOInterfaceSynthesis::test_synthesize_merged_io_mapped_correctly PASSED [ 32%] tests/test_passes.py::TestIOInterfaceSynthesis::test_synthesize_merged_io_names_correct PASSED [ 32%] tests/test_passes.py::TestIOInterfaceSynthesis::test_synthesize_merged_io_simulates_correctly PASSED [ 33%] tests/test_passes.py::TestIOInterfaceSynthesis::test_synthesize_unmerged_io_mapped_correctly PASSED [ 33%] tests/test_passes.py::TestIOInterfaceSynthesis::test_synthesize_unmerged_io_names_correct PASSED [ 33%] tests/test_passes.py::TestIOInterfaceSynthesis::test_synthesize_unmerged_io_simulates_correctly PASSED [ 33%] tests/test_passes.py::TestMultiplierSynthesis::test_chained_mul PASSED [ 33%] tests/test_passes.py::TestMultiplierSynthesis::test_single_mul PASSED [ 33%] tests/test_passes.py::TestMultiplierSynthesis::test_singlebit_mul PASSED [ 33%] tests/test_passes.py::TestComparisonSynthesis::test_eq PASSED [ 33%] tests/test_passes.py::TestComparisonSynthesis::test_gt PASSED [ 33%] tests/test_passes.py::TestComparisonSynthesis::test_lt PASSED [ 33%] tests/test_passes.py::TestOptimization::test_dont_remove_double_inverts_another_user PASSED [ 33%] tests/test_passes.py::TestOptimization::test_multiple_double_invert_chains PASSED [ 34%] tests/test_passes.py::TestOptimization::test_remove_double_inverts_1_invert PASSED [ 34%] tests/test_passes.py::TestOptimization::test_remove_double_inverts_2_inverts PASSED [ 34%] tests/test_passes.py::TestOptimization::test_remove_double_inverts_3_inverts PASSED [ 34%] tests/test_passes.py::TestOptimization::test_remove_double_inverts_4_inverts PASSED [ 34%] tests/test_passes.py::TestOptimization::test_remove_double_inverts_5_inverts PASSED [ 34%] tests/test_passes.py::TestOptimization::test_remove_double_inverts_6_inverts PASSED [ 34%] tests/test_passes.py::TestOptimization::test_slice_net_removal_1 PASSED [ 34%] tests/test_passes.py::TestOptimization::test_slice_net_removal_2 PASSED [ 34%] tests/test_passes.py::TestOptimization::test_slice_net_removal_3 PASSED [ 34%] tests/test_passes.py::TestOptimization::test_slice_net_removal_4 PASSED [ 34%] tests/test_passes.py::TestOptimization::test_wire_net_removal_1 PASSED [ 34%] tests/test_passes.py::TestOptimization::test_wire_net_removal_2 PASSED [ 35%] tests/test_passes.py::TestConstFolding::test_adv_one_var_op_1 PASSED [ 35%] tests/test_passes.py::TestConstFolding::test_adv_one_var_op_2 PASSED [ 35%] tests/test_passes.py::TestConstFolding::test_basic_one_var_op_1 PASSED [ 35%] tests/test_passes.py::TestConstFolding::test_basic_two_var_op_1 PASSED [ 35%] tests/test_passes.py::TestConstFolding::test_basic_two_var_op_2 PASSED [ 35%] tests/test_passes.py::TestConstFolding::test_basic_two_var_op_3 PASSED [ 35%] tests/test_passes.py::TestConstFolding::test_two_var_op_correct_not_wire_replacement PASSED [ 35%] tests/test_passes.py::TestConstFolding::test_two_var_op_correct_wire_prop PASSED [ 35%] tests/test_passes.py::TestConstFolding::test_two_var_op_produce_not PASSED [ 35%] tests/test_passes.py::TestConstFolding::test_unsynthesized_inversion PASSED [ 35%] tests/test_passes.py::TestSubexpElimination::test_basic_1 PASSED [ 35%] tests/test_passes.py::TestSubexpElimination::test_concat PASSED [ 36%] tests/test_passes.py::TestSubexpElimination::test_const_different_bitwidth_1 PASSED [ 36%] tests/test_passes.py::TestSubexpElimination::test_const_values_1 PASSED [ 36%] tests/test_passes.py::TestSubexpElimination::test_const_values_2 PASSED [ 36%] tests/test_passes.py::TestSubexpElimination::test_different_arg_order PASSED [ 36%] tests/test_passes.py::TestSubexpElimination::test_multiple_elimination PASSED [ 36%] tests/test_passes.py::TestSubexpElimination::test_nested_elimination PASSED [ 36%] tests/test_passes.py::TestSubexpElimination::test_no_elimination_of_different_const_bitwidths PASSED [ 36%] tests/test_passes.py::TestSubexpElimination::test_order_dependent_ops PASSED [ 36%] tests/test_passes.py::TestSynthPasses::test_and_inverter_synth_adder PASSED [ 36%] tests/test_passes.py::TestSynthPasses::test_and_inverter_synth_and PASSED [ 36%] tests/test_passes.py::TestSynthPasses::test_and_inverter_synth_or PASSED [ 36%] tests/test_passes.py::TestSynthPasses::test_and_inverter_synth_xor PASSED [ 37%] tests/test_passes.py::TestSynthPasses::test_nand_synth_adder PASSED [ 37%] tests/test_passes.py::TestSynthPasses::test_nand_synth_and PASSED [ 37%] tests/test_passes.py::TestSynthPasses::test_nand_synth_or PASSED [ 37%] tests/test_passes.py::TestSynthPasses::test_nand_synth_xor PASSED [ 37%] tests/test_passes.py::TestSynthOptTiming::test_adder PASSED [ 37%] tests/test_passes.py::TestSynthOptTiming::test_all_mem_1 PASSED [ 37%] tests/test_passes.py::TestSynthOptTiming::test_combo_1 PASSED [ 37%] tests/test_passes.py::TestSynthOptTiming::test_const_folding_complex_1 PASSED [ 37%] tests/test_passes.py::TestSynthOptTiming::test_sanity_check PASSED [ 37%] tests/test_passes.py::TestSynthOptTiming::test_timing_basic_2 PASSED [ 37%] tests/test_passes.py::TestSynthOptTiming::test_timing_error PASSED [ 37%] tests/test_passes.py::TestSynthOptTiming::test_wirevector_1 PASSED [ 38%] tests/test_passes.py::TestConcatAndSelectSimplification::test_one_bit_selects PASSED [ 38%] tests/test_passes.py::TestConcatAndSelectSimplification::test_two_way_concat PASSED [ 38%] tests/test_passes.py::TestDirectlyConnectedOutputs::test_several_outputs PASSED [ 38%] tests/test_passes.py::TestDirectlyConnectedOutputs::test_several_outputs_simulates_correctly PASSED [ 38%] tests/test_passes.py::TestDirectlyConnectedOutputs::test_single_output PASSED [ 38%] tests/test_passes.py::TestDirectlyConnectedOutputs::test_single_output_simulates_correctly PASSED [ 38%] tests/test_passes.py::TestDirectlyConnectedOutputs::test_some_outputs_unaffected PASSED [ 38%] tests/test_passes.py::TestTwoWayFanout::test_two_way_fanout_large_design PASSED [ 38%] tests/test_passes.py::TestTwoWayFanout::test_two_way_fanout_medium_design PASSED [ 38%] tests/test_passes.py::TestTwoWayFanout::test_two_way_fanout_small_design PASSED [ 38%] tests/test_signed.py::TestComparisonBasicOperationsMSB1::test_basic_signed_gt PASSED [ 38%] tests/test_signed.py::TestComparisonBasicOperationsMSB1::test_basic_signed_gte PASSED [ 39%] tests/test_signed.py::TestComparisonBasicOperationsMSB1::test_basic_signed_lt PASSED [ 39%] tests/test_signed.py::TestComparisonBasicOperationsMSB1::test_basic_signed_lte PASSED [ 39%] tests/test_signed.py::TestComparisonBasicOperationsMSB1::test_basic_unsigned_gt PASSED [ 39%] tests/test_signed.py::TestComparisonBasicOperationsMSB1::test_basic_unsigned_gte PASSED [ 39%] tests/test_signed.py::TestComparisonBasicOperationsMSB1::test_basic_unsigned_lt PASSED [ 39%] tests/test_signed.py::TestComparisonBasicOperationsMSB1::test_basic_unsigned_lte PASSED [ 39%] tests/test_signed.py::TestComparisonBasicOperations_MSB0::test_basic_signed_gt PASSED [ 39%] tests/test_signed.py::TestComparisonBasicOperations_MSB0::test_basic_signed_gte PASSED [ 39%] tests/test_signed.py::TestComparisonBasicOperations_MSB0::test_basic_signed_lt PASSED [ 39%] tests/test_signed.py::TestComparisonBasicOperations_MSB0::test_basic_signed_lte PASSED [ 39%] tests/test_signed.py::TestComparisonBasicOperations_MSB0::test_basic_unsigned_gt PASSED [ 39%] tests/test_signed.py::TestComparisonBasicOperations_MSB0::test_basic_unsigned_gte PASSED [ 40%] tests/test_signed.py::TestComparisonBasicOperations_MSB0::test_basic_unsigned_lt PASSED [ 40%] tests/test_signed.py::TestComparisonBasicOperations_MSB0::test_basic_unsigned_lte PASSED [ 40%] tests/test_signed.py::TestSignedArithBasicOperations::test_basic_signed_add PASSED [ 40%] tests/test_signed.py::TestSignedArithBasicOperations::test_basic_signed_add_neg_integer PASSED [ 40%] tests/test_signed.py::TestSignedArithBasicOperations::test_basic_signed_add_signed_const PASSED [ 40%] tests/test_signed.py::TestSignedArithBasicOperations::test_basic_signed_mult PASSED [ 40%] tests/test_signed.py::TestSignedArithBasicOperations::test_basic_signed_mult_commutative PASSED [ 40%] tests/test_signed.py::TestSignedArithBasicOperations::test_basic_signed_mult_const_with_bitwidth PASSED [ 40%] tests/test_signed.py::TestSignedArithBasicOperations::test_basic_signed_mult_neg_integer PASSED [ 40%] tests/test_signed.py::TestSignedArithBasicOperations::test_basic_signed_mult_signed_const PASSED [ 40%] tests/test_signed.py::TestSignedArithmeticExhaustive::test_signed_add PASSED [ 40%] tests/test_signed.py::TestSignedArithmeticExhaustive::test_signed_mult PASSED [ 41%] tests/test_signed.py::TestSignedArithmeticExhaustive::test_signed_sub PASSED [ 41%] tests/test_simulation.py::TestDocTests::test_doctests PASSED [ 41%] tests/test_simulation.py::TestTraceWithBasicOpsSimulation::test_and_simulation PASSED [ 41%] tests/test_simulation.py::TestTraceWithBasicOpsSimulation::test_bitslice2_and_concat_simulation PASSED [ 41%] tests/test_simulation.py::TestTraceWithBasicOpsSimulation::test_bitslice_and_concat_simulation PASSED [ 41%] tests/test_simulation.py::TestTraceWithBasicOpsSimulation::test_const_associativity_int_simulation PASSED [ 41%] tests/test_simulation.py::TestTraceWithBasicOpsSimulation::test_const_associativity_string_simulation PASSED [ 41%] tests/test_simulation.py::TestTraceWithBasicOpsSimulation::test_const_nobitwidth_simulation PASSED [ 41%] tests/test_simulation.py::TestTraceWithBasicOpsSimulation::test_const_rawint_simulation PASSED [ 41%] tests/test_simulation.py::TestTraceWithBasicOpsSimulation::test_const_verilogbig_simulation PASSED [ 41%] tests/test_simulation.py::TestTraceWithBasicOpsSimulation::test_const_veriloghuge2_simulation PASSED [ 41%] tests/test_simulation.py::TestTraceWithBasicOpsSimulation::test_const_veriloghuge_simulation PASSED [ 42%] tests/test_simulation.py::TestTraceWithBasicOpsSimulation::test_const_verilogsmall_simulation PASSED [ 42%] tests/test_simulation.py::TestTraceWithBasicOpsSimulation::test_minus_sim_overflow PASSED [ 42%] tests/test_simulation.py::TestTraceWithBasicOpsSimulation::test_minus_simulation PASSED [ 42%] tests/test_simulation.py::TestTraceWithBasicOpsSimulation::test_multiply_simulation PASSED [ 42%] tests/test_simulation.py::TestTraceWithBasicOpsSimulation::test_nand_simulation PASSED [ 42%] tests/test_simulation.py::TestTraceWithBasicOpsSimulation::test_negative_input PASSED [ 42%] tests/test_simulation.py::TestTraceWithBasicOpsSimulation::test_not_simulation PASSED [ 42%] tests/test_simulation.py::TestTraceWithBasicOpsSimulation::test_or_simulation PASSED [ 42%] tests/test_simulation.py::TestTraceWithBasicOpsSimulation::test_plus_simulation PASSED [ 42%] tests/test_simulation.py::TestTraceWithBasicOpsSimulation::test_reg_to_reg_simulation PASSED [ 42%] tests/test_simulation.py::TestTraceWithBasicOpsSimulation::test_xor_simulation PASSED [ 42%] tests/test_simulation.py::TestTraceWithBasicOpsFastSimulation::test_and_simulation PASSED [ 43%] tests/test_simulation.py::TestTraceWithBasicOpsFastSimulation::test_bitslice2_and_concat_simulation PASSED [ 43%] tests/test_simulation.py::TestTraceWithBasicOpsFastSimulation::test_bitslice_and_concat_simulation PASSED [ 43%] tests/test_simulation.py::TestTraceWithBasicOpsFastSimulation::test_const_associativity_int_simulation PASSED [ 43%] tests/test_simulation.py::TestTraceWithBasicOpsFastSimulation::test_const_associativity_string_simulation PASSED [ 43%] tests/test_simulation.py::TestTraceWithBasicOpsFastSimulation::test_const_nobitwidth_simulation PASSED [ 43%] tests/test_simulation.py::TestTraceWithBasicOpsFastSimulation::test_const_rawint_simulation PASSED [ 43%] tests/test_simulation.py::TestTraceWithBasicOpsFastSimulation::test_const_verilogbig_simulation PASSED [ 43%] tests/test_simulation.py::TestTraceWithBasicOpsFastSimulation::test_const_veriloghuge2_simulation PASSED [ 43%] tests/test_simulation.py::TestTraceWithBasicOpsFastSimulation::test_const_veriloghuge_simulation PASSED [ 43%] tests/test_simulation.py::TestTraceWithBasicOpsFastSimulation::test_const_verilogsmall_simulation PASSED [ 43%] tests/test_simulation.py::TestTraceWithBasicOpsFastSimulation::test_minus_sim_overflow PASSED [ 43%] tests/test_simulation.py::TestTraceWithBasicOpsFastSimulation::test_minus_simulation PASSED [ 44%] tests/test_simulation.py::TestTraceWithBasicOpsFastSimulation::test_multiply_simulation PASSED [ 44%] tests/test_simulation.py::TestTraceWithBasicOpsFastSimulation::test_nand_simulation PASSED [ 44%] tests/test_simulation.py::TestTraceWithBasicOpsFastSimulation::test_negative_input PASSED [ 44%] tests/test_simulation.py::TestTraceWithBasicOpsFastSimulation::test_not_simulation PASSED [ 44%] tests/test_simulation.py::TestTraceWithBasicOpsFastSimulation::test_or_simulation PASSED [ 44%] tests/test_simulation.py::TestTraceWithBasicOpsFastSimulation::test_plus_simulation PASSED [ 44%] tests/test_simulation.py::TestTraceWithBasicOpsFastSimulation::test_reg_to_reg_simulation PASSED [ 44%] tests/test_simulation.py::TestTraceWithBasicOpsFastSimulation::test_xor_simulation PASSED [ 44%] tests/test_simulation.py::TestRenderTraceSimulation::test_bin_trace PASSED [ 44%] tests/test_simulation.py::TestRenderTraceSimulation::test_decimal_trace PASSED [ 44%] tests/test_simulation.py::TestRenderTraceSimulation::test_hex_trace PASSED [ 44%] tests/test_simulation.py::TestRenderTraceSimulation::test_oct_trace PASSED [ 45%] tests/test_simulation.py::TestRenderTraceFastSimulation::test_bin_trace PASSED [ 45%] tests/test_simulation.py::TestRenderTraceFastSimulation::test_decimal_trace PASSED [ 45%] tests/test_simulation.py::TestRenderTraceFastSimulation::test_hex_trace PASSED [ 45%] tests/test_simulation.py::TestRenderTraceFastSimulation::test_oct_trace PASSED [ 45%] tests/test_simulation.py::TestRenderLongTraceSimulation::test_long_decimal_trace PASSED [ 45%] tests/test_simulation.py::TestRenderLongTraceFastSimulation::test_long_decimal_trace PASSED [ 45%] tests/test_simulation.py::TestRenderTraceCustomSimulation::test_custom_repr_per_wire PASSED [ 45%] tests/test_simulation.py::TestRenderTraceCustomSimulation::test_enum_name PASSED [ 45%] tests/test_simulation.py::TestRenderTraceCustomSimulation::test_val_to_signed_integer PASSED [ 45%] tests/test_simulation.py::TestRenderTraceCustomFastSimulation::test_custom_repr_per_wire PASSED [ 45%] tests/test_simulation.py::TestRenderTraceCustomFastSimulation::test_enum_name PASSED [ 45%] tests/test_simulation.py::TestRenderTraceCustomFastSimulation::test_val_to_signed_integer PASSED [ 46%] tests/test_simulation.py::TestPrintTraceSimulation::test_print_trace_base16 PASSED [ 46%] tests/test_simulation.py::TestPrintTraceSimulation::test_print_trace_base2 PASSED [ 46%] tests/test_simulation.py::TestPrintTraceSimulation::test_print_trace_base8 PASSED [ 46%] tests/test_simulation.py::TestPrintTraceSimulation::test_print_trace_single_dig_notcompact PASSED [ 46%] tests/test_simulation.py::TestPrintTraceFastSimulation::test_print_trace_base16 PASSED [ 46%] tests/test_simulation.py::TestPrintTraceFastSimulation::test_print_trace_base2 PASSED [ 46%] tests/test_simulation.py::TestPrintTraceFastSimulation::test_print_trace_base8 PASSED [ 46%] tests/test_simulation.py::TestPrintTraceFastSimulation::test_print_trace_single_dig_notcompact PASSED [ 46%] tests/test_simulation.py::TestPrintPerfCountersSimulation::test_print_perf_counters PASSED [ 46%] tests/test_simulation.py::TestPrintPerfCountersFastSimulation::test_print_perf_counters PASSED [ 46%] tests/test_simulation.py::TestSimWithSpecialWiresSimulation::test_consts_from_int_enums PASSED [ 46%] tests/test_simulation.py::TestSimWithSpecialWiresSimulation::test_default_value_for_registers_without_reset_value PASSED [ 47%] tests/test_simulation.py::TestSimWithSpecialWiresSimulation::test_fastsim_wire_names PASSED [ 47%] tests/test_simulation.py::TestSimWithSpecialWiresSimulation::test_named_consts PASSED [ 47%] tests/test_simulation.py::TestSimWithSpecialWiresSimulation::test_reg_directly_before_reg PASSED [ 47%] tests/test_simulation.py::TestSimWithSpecialWiresSimulation::test_reset_value_in_reg PASSED [ 47%] tests/test_simulation.py::TestSimWithSpecialWiresSimulation::test_reset_value_overridden_in_simulation PASSED [ 47%] tests/test_simulation.py::TestSimWithSpecialWiresSimulation::test_weird_wire_names PASSED [ 47%] tests/test_simulation.py::TestSimWithSpecialWiresFastSimulation::test_consts_from_int_enums PASSED [ 47%] tests/test_simulation.py::TestSimWithSpecialWiresFastSimulation::test_default_value_for_registers_without_reset_value PASSED [ 47%] tests/test_simulation.py::TestSimWithSpecialWiresFastSimulation::test_fastsim_wire_names PASSED [ 47%] tests/test_simulation.py::TestSimWithSpecialWiresFastSimulation::test_named_consts PASSED [ 47%] tests/test_simulation.py::TestSimWithSpecialWiresFastSimulation::test_reg_directly_before_reg PASSED [ 47%] tests/test_simulation.py::TestSimWithSpecialWiresFastSimulation::test_reset_value_in_reg PASSED [ 48%] tests/test_simulation.py::TestSimWithSpecialWiresFastSimulation::test_reset_value_overridden_in_simulation PASSED [ 48%] tests/test_simulation.py::TestSimWithSpecialWiresFastSimulation::test_weird_wire_names PASSED [ 48%] tests/test_simulation.py::TestSimInputValidationSimulation::test_input_out_of_bitwidth PASSED [ 48%] tests/test_simulation.py::TestSimInputValidationSimulation::test_no_named_wires_erro PASSED [ 48%] tests/test_simulation.py::TestSimInputValidationFastSimulation::test_input_out_of_bitwidth PASSED [ 48%] tests/test_simulation.py::TestSimInputValidationFastSimulation::test_no_named_wires_erro PASSED [ 48%] tests/test_simulation.py::TestSimStepAccessInternalMemorySimulation::test_step_with_internal_memory PASSED [ 48%] tests/test_simulation.py::TestSimStepAccessInternalMemoryFastSimulation::test_step_with_internal_memory PASSED [ 48%] tests/test_simulation.py::TestSimStepMultipleSimulation::test_step_multiple_bad_nsteps1 PASSED [ 48%] tests/test_simulation.py::TestSimStepMultipleSimulation::test_step_multiple_bad_nsteps2 PASSED [ 48%] tests/test_simulation.py::TestSimStepMultipleSimulation::test_step_multiple_dont_care_expected PASSED [ 48%] tests/test_simulation.py::TestSimStepMultipleSimulation::test_step_multiple_many_errors_report_all PASSED [ 49%] tests/test_simulation.py::TestSimStepMultipleSimulation::test_step_multiple_many_errors_report_only_first PASSED [ 49%] tests/test_simulation.py::TestSimStepMultipleSimulation::test_step_multiple_no_errors PASSED [ 49%] tests/test_simulation.py::TestSimStepMultipleSimulation::test_step_multiple_no_errors_nsteps_specified PASSED [ 49%] tests/test_simulation.py::TestSimStepMultipleSimulation::test_step_multiple_no_expected_check PASSED [ 49%] tests/test_simulation.py::TestSimStepMultipleSimulation::test_step_multiple_no_inputs PASSED [ 49%] tests/test_simulation.py::TestSimStepMultipleSimulation::test_step_multiple_no_values_for_each_step_of_given_outputs PASSED [ 49%] tests/test_simulation.py::TestSimStepMultipleSimulation::test_step_multiple_no_values_for_each_step_of_input PASSED [ 49%] tests/test_simulation.py::TestSimStepMultipleSimulation::test_step_multiple_nsteps_gt_ninputs PASSED [ 49%] tests/test_simulation.py::TestSimStepMultipleSimulation::test_step_multiple_nsteps_no_inputs PASSED [ 49%] tests/test_simulation.py::TestSimStepMultipleFastSimulation::test_step_multiple_bad_nsteps1 PASSED [ 49%] tests/test_simulation.py::TestSimStepMultipleFastSimulation::test_step_multiple_bad_nsteps2 PASSED [ 49%] tests/test_simulation.py::TestSimStepMultipleFastSimulation::test_step_multiple_dont_care_expected PASSED [ 50%] tests/test_simulation.py::TestSimStepMultipleFastSimulation::test_step_multiple_many_errors_report_all PASSED [ 50%] tests/test_simulation.py::TestSimStepMultipleFastSimulation::test_step_multiple_many_errors_report_only_first PASSED [ 50%] tests/test_simulation.py::TestSimStepMultipleFastSimulation::test_step_multiple_no_errors PASSED [ 50%] tests/test_simulation.py::TestSimStepMultipleFastSimulation::test_step_multiple_no_errors_nsteps_specified PASSED [ 50%] tests/test_simulation.py::TestSimStepMultipleFastSimulation::test_step_multiple_no_expected_check PASSED [ 50%] tests/test_simulation.py::TestSimStepMultipleFastSimulation::test_step_multiple_no_inputs PASSED [ 50%] tests/test_simulation.py::TestSimStepMultipleFastSimulation::test_step_multiple_no_values_for_each_step_of_given_outputs PASSED [ 50%] tests/test_simulation.py::TestSimStepMultipleFastSimulation::test_step_multiple_no_values_for_each_step_of_input PASSED [ 50%] tests/test_simulation.py::TestSimStepMultipleFastSimulation::test_step_multiple_nsteps_gt_ninputs PASSED [ 50%] tests/test_simulation.py::TestSimStepMultipleFastSimulation::test_step_multiple_nsteps_no_inputs PASSED [ 50%] tests/test_simulation.py::TestTraceWithAdderSimulation::test_adder_simulation PASSED [ 50%] tests/test_simulation.py::TestTraceWithAdderFastSimulation::test_adder_simulation PASSED [ 51%] tests/test_simulation.py::TestSimulationVCDWithAdderSimulation::test_vcd_output PASSED [ 51%] tests/test_simulation.py::TestSimulationVCDWithAdderFastSimulation::test_vcd_output PASSED [ 51%] tests/test_simulation.py::TestSimTraceWithMuxSimulation::test_adder_simulation PASSED [ 51%] tests/test_simulation.py::TestSimTraceWithMuxFastSimulation::test_adder_simulation PASSED [ 51%] tests/test_simulation.py::TestMemBlockSimulation::test_mem_val_map PASSED [ 51%] tests/test_simulation.py::TestMemBlockSimulation::test_mem_val_map_defaults PASSED [ 51%] tests/test_simulation.py::TestMemBlockSimulation::test_simple2_memblock PASSED [ 51%] tests/test_simulation.py::TestMemBlockSimulation::test_simple_memblock PASSED [ 51%] tests/test_simulation.py::TestMemBlockSimulation::test_synth_simple_memblock PASSED [ 51%] tests/test_simulation.py::TestMemBlockFastSimulation::test_mem_val_map PASSED [ 51%] tests/test_simulation.py::TestMemBlockFastSimulation::test_mem_val_map_defaults PASSED [ 51%] tests/test_simulation.py::TestMemBlockFastSimulation::test_simple2_memblock PASSED [ 52%] tests/test_simulation.py::TestMemBlockFastSimulation::test_simple_memblock PASSED [ 52%] tests/test_simulation.py::TestMemBlockFastSimulation::test_synth_simple_memblock PASSED [ 52%] tests/test_simulation.py::TestMemBlockLargeSimulation::test_mem_blocks_very_large PASSED [ 52%] tests/test_simulation.py::TestMemBlockLargeFastSimulation::test_mem_blocks_very_large PASSED [ 52%] tests/test_simulation.py::TestRegisterDefaultsSimulation::test_default_value PASSED [ 52%] tests/test_simulation.py::TestRegisterDefaultsSimulation::test_map_and_default PASSED [ 52%] tests/test_simulation.py::TestRegisterDefaultsSimulation::test_partial_map PASSED [ 52%] tests/test_simulation.py::TestRegisterDefaultsSimulation::test_register_map PASSED [ 52%] tests/test_simulation.py::TestRegisterDefaultsFastSimulation::test_default_value PASSED [ 52%] tests/test_simulation.py::TestRegisterDefaultsFastSimulation::test_map_and_default PASSED [ 52%] tests/test_simulation.py::TestRegisterDefaultsFastSimulation::test_partial_map PASSED [ 52%] tests/test_simulation.py::TestRegisterDefaultsFastSimulation::test_register_map PASSED [ 53%] tests/test_simulation.py::TestRomBlockSimSimulation::test_function_RomBlock PASSED [ 53%] tests/test_simulation.py::TestRomBlockSimSimulation::test_function_RomBlock_with_optimization PASSED [ 53%] tests/test_simulation.py::TestRomBlockSimSimulation::test_rom_out_of_range_error PASSED [ 53%] tests/test_simulation.py::TestRomBlockSimSimulation::test_rom_val_map PASSED [ 53%] tests/test_simulation.py::TestRomBlockSimFastSimulation::test_function_RomBlock PASSED [ 53%] tests/test_simulation.py::TestRomBlockSimFastSimulation::test_function_RomBlock_with_optimization PASSED [ 53%] tests/test_simulation.py::TestRomBlockSimFastSimulation::test_rom_out_of_range_error PASSED [ 53%] tests/test_simulation.py::TestRomBlockSimFastSimulation::test_rom_val_map PASSED [ 53%] tests/test_simulation.py::TestMemBlockSimSimulation::test_negative_memory_value_map PASSED [ 53%] tests/test_simulation.py::TestMemBlockSimSimulation::test_simultaneous_read_write PASSED [ 53%] tests/test_simulation.py::TestMemBlockSimSimulation::test_unsigned_memory_value_map PASSED [ 53%] tests/test_simulation.py::TestMemBlockSimFastSimulation::test_negative_memory_value_map PASSED [ 54%] tests/test_simulation.py::TestMemBlockSimFastSimulation::test_simultaneous_read_write PASSED [ 54%] tests/test_simulation.py::TestMemBlockSimFastSimulation::test_unsigned_memory_value_map PASSED [ 54%] tests/test_simulation.py::TestInspectSimulation::test_inspect PASSED [ 54%] tests/test_simulation.py::TestInspectSimulation::test_inspect_mem PASSED [ 54%] tests/test_simulation.py::TestInspectSimulation::test_invalid_inspect PASSED [ 54%] tests/test_simulation.py::TestInspectFastSimulation::test_inspect PASSED [ 54%] tests/test_simulation.py::TestInspectFastSimulation::test_inspect_mem PASSED [ 54%] tests/test_simulation.py::TestInspectFastSimulation::test_invalid_inspect PASSED [ 54%] tests/test_simulation.py::TestTraceErrorSimulation::test_empty_trace PASSED [ 54%] tests/test_simulation.py::TestTraceErrorSimulation::test_invalid_base PASSED [ 54%] tests/test_simulation.py::TestTraceErrorFastSimulation::test_empty_trace PASSED [ 54%] tests/test_simulation.py::TestTraceErrorFastSimulation::test_invalid_base PASSED [ 55%] tests/test_simulation.py::TestNoTracerSimulation::test_no_tracer PASSED [ 55%] tests/test_simulation.py::TestNoTracerFastSimulation::test_no_tracer PASSED [ 55%] tests/test_transform.py::TestWireTransform::test_randomly_replace PASSED [ 55%] tests/test_transform.py::TestWireTransform::test_replace_input PASSED [ 55%] tests/test_transform.py::TestWireTransform::test_replace_output PASSED [ 55%] tests/test_transform.py::TestCopyBlock::test_blank PASSED [ 55%] tests/test_transform.py::TestCopyBlock::test_block PASSED [ 55%] tests/test_transform.py::TestCopyBlock::test_copy_mem PASSED [ 55%] tests/test_transform.py::TestFastWireReplace::test_replace_multiple_wires PASSED [ 55%] tests/test_transform.py::TestFastWireReplace::test_replace_multiple_wires_2 PASSED [ 55%] tests/test_transform.py::TestFastWireReplace::test_replace_only_dst_wire PASSED [ 55%] tests/test_transform.py::TestFastWireReplace::test_replace_only_src_wire PASSED [ 56%] tests/test_transform.py::TestFastWireReplace::test_wire_used_in_multiple_places PASSED [ 56%] tests/test_transform.py::TestCloning::test_clone_wire_different_name_different_block PASSED [ 56%] tests/test_transform.py::TestCloning::test_clone_wire_different_name_same_block PASSED [ 56%] tests/test_transform.py::TestCloning::test_clone_wire_no_name_same_block PASSED [ 56%] tests/test_transform.py::TestCloning::test_clone_wire_no_or_same_name_different_block PASSED [ 56%] tests/test_transform.py::TestCloning::test_clone_wire_same_name_same_block PASSED [ 56%] tests/test_transform.py::TestCloning::test_same_type PASSED [ 56%] tests/test_visualization.py::TestOutputGraphs::test_output_to_graphviz_correct_detailed_output PASSED [ 56%] tests/test_visualization.py::TestOutputGraphs::test_output_to_graphviz_correct_output_with_arg_ordering PASSED [ 56%] tests/test_visualization.py::TestOutputGraphs::test_output_to_graphviz_correct_output_without_arg_ordering PASSED [ 56%] tests/test_visualization.py::TestOutputGraphs::test_output_to_graphviz_does_not_throw_error PASSED [ 56%] tests/test_visualization.py::TestOutputGraphs::test_output_to_graphviz_with_custom_namer_does_not_throw_error PASSED [ 57%] tests/test_visualization.py::TestOutputGraphs::test_output_to_tgf_does_not_throw_error PASSED [ 57%] tests/test_visualization.py::TestNetGraph::test_as_graph PASSED [ 57%] tests/test_visualization.py::TestNetGraph::test_netgraph_same_wire_multiple_edges_to_same_net PASSED [ 57%] tests/test_visualization.py::TestNetGraph::test_netgraph_unused_wires PASSED [ 57%] tests/test_visualization.py::TestOutputIPynb::test_one_bit_adder_matches_expected PASSED [ 57%] tests/test_visualization.py::TestOutputIPynb::test_trace_to_html PASSED [ 57%] tests/test_visualization.py::TestOutputIPynb::test_trace_to_html_repr_func PASSED [ 57%] tests/test_visualization.py::TestOutputIPynb::test_trace_to_html_repr_per_name PASSED [ 57%] tests/test_visualization.py::TestOutputIPynb::test_trace_to_html_repr_per_name_enum_is_bool PASSED [ 57%] tests/test_wire.py::TestDocTests::test_doctests PASSED [ 57%] tests/test_wire.py::TestWireVector::test_assign_to_value PASSED [ 57%] tests/test_wire.py::TestWireVector::test_basic_assignment PASSED [ 58%] tests/test_wire.py::TestWireVector::test_rename PASSED [ 58%] tests/test_wire.py::TestWireVector::test_sign_extend PASSED [ 58%] tests/test_wire.py::TestWireVector::test_truncating PASSED [ 58%] tests/test_wire.py::TestWireVector::test_unset_bitwidth PASSED [ 58%] tests/test_wire.py::TestWireVector::test_wirevector_length PASSED [ 58%] tests/test_wire.py::TestWireVector::test_zero_extend PASSED [ 58%] tests/test_wire.py::TestWireVectorNames::test_invalid_name PASSED [ 58%] tests/test_wire.py::TestWireVectorNames::test_invalid_name_setter PASSED [ 58%] tests/test_wire.py::TestWireVectorNames::test_valid_name_setter PASSED [ 58%] tests/test_wire.py::TestWireVectorNames::test_valid_names PASSED [ 58%] tests/test_wire.py::TestWireVectorFail::test_bad_bitwidth PASSED [ 58%] tests/test_wire.py::TestWireVectorFail::test_no_immed_operators PASSED [ 59%] tests/test_wire.py::TestWireVectorFail::test_sign_and_zero_extend_only_increase_bitwidth PASSED [ 59%] tests/test_wire.py::TestWireVectorFail::test_truncate_only_reduces_bitwidth PASSED [ 59%] tests/test_wire.py::TestWireVectorFail::test_truncate_only_takes_integers PASSED [ 59%] tests/test_wire.py::TestWireVectorFail::test_undef_wirevector_length PASSED [ 59%] tests/test_wire.py::TestWireVectorSlicing::test_invalid_indicies PASSED [ 59%] tests/test_wire.py::TestWireVectorSlicing::test_invalid_slices PASSED [ 59%] tests/test_wire.py::TestWireVectorSlicing::test_valid_indicies PASSED [ 59%] tests/test_wire.py::TestWireVectorSlicing::test_valid_slices PASSED [ 59%] tests/test_wire.py::TestWireVectorSlicing::test_wire_wo_bitwidth_fails PASSED [ 59%] tests/test_wire.py::TestInput::test_no_connection_to_inputs PASSED [ 59%] tests/test_wire.py::TestRegister::test_connect_next PASSED [ 59%] tests/test_wire.py::TestRegister::test_connection_large PASSED [ 60%] tests/test_wire.py::TestRegister::test_connection_raw PASSED [ 60%] tests/test_wire.py::TestRegister::test_connection_small PASSED [ 60%] tests/test_wire.py::TestRegister::test_connection_unspec_width PASSED [ 60%] tests/test_wire.py::TestRegister::test_extending_negative_reset_value_as_string PASSED [ 60%] tests/test_wire.py::TestRegister::test_invalid_negative_reset_value_as_string PASSED [ 60%] tests/test_wire.py::TestRegister::test_invalid_reset_value_not_an_integer PASSED [ 60%] tests/test_wire.py::TestRegister::test_invalid_reset_value_too_large PASSED [ 60%] tests/test_wire.py::TestRegister::test_invalid_reset_value_too_large_as_string PASSED [ 60%] tests/test_wire.py::TestRegister::test_logic_operations PASSED [ 60%] tests/test_wire.py::TestRegister::test_negative_reset_value PASSED [ 60%] tests/test_wire.py::TestRegister::test_negative_reset_value_as_string PASSED [ 60%] tests/test_wire.py::TestRegister::test_next_logic_operations PASSED [ 61%] tests/test_wire.py::TestRegister::test_register_assignment PASSED [ 61%] tests/test_wire.py::TestRegister::test_register_assignment_not_next PASSED [ 61%] tests/test_wire.py::TestRegister::test_reset_value_as_string PASSED [ 61%] tests/test_wire.py::TestRegister::test_reset_value_is_correct PASSED [ 61%] tests/test_wire.py::TestRegister::test_reset_value_is_none PASSED [ 61%] tests/test_wire.py::TestConst::test_assignment PASSED [ 61%] tests/test_wire.py::TestConst::test_bad_neg_integers PASSED [ 61%] tests/test_wire.py::TestConst::test_bad_string PASSED [ 61%] tests/test_wire.py::TestConst::test_badbool PASSED [ 61%] tests/test_wire.py::TestConst::test_badtype PASSED [ 61%] tests/test_wire.py::TestConst::test_bool PASSED [ 61%] tests/test_wire.py::TestConst::test_integers PASSED [ 62%] tests/test_wire.py::TestConst::test_invalid_bitwidth PASSED [ 62%] tests/test_wire.py::TestConst::test_named PASSED [ 62%] tests/test_wire.py::TestConst::test_neg_integers PASSED [ 62%] tests/test_wire.py::TestConst::test_string PASSED [ 62%] tests/test_wire.py::TestConst::test_too_big PASSED [ 62%] tests/test_wire.py::TestOutput::test_assign_output PASSED [ 62%] tests/test_wire.py::TestOutput::test_log_op_output PASSED [ 62%] tests/test_wire.py::TestOutput::test_slice_output PASSED [ 62%] tests/test_wire.py::TestKeepingCallStack::test_get_call_stack PASSED [ 62%] tests/test_wire.py::TestKeepingCallStack::test_no_call_stack PASSED [ 62%] tests/test_wire.py::TestWrappedWireVector::test_attr PASSED [ 62%] tests/test_wire.py::TestWrappedWireVector::test_conditional_assignment PASSED [ 63%] tests/test_wire.py::TestWrappedWireVector::test_exceptions PASSED [ 63%] tests/test_wire.py::TestWrappedWireVector::test_ops PASSED [ 63%] tests/rtllib/test_adders.py::TestDocTests::test_doctests PASSED [ 63%] tests/rtllib/test_adders.py::TestAdders::test_carry_save_1 PASSED [ 63%] tests/rtllib/test_adders.py::TestAdders::test_carrylookahead_1 PASSED [ 63%] tests/rtllib/test_adders.py::TestAdders::test_fast_group_adder_1 PASSED [ 63%] tests/rtllib/test_adders.py::TestAdders::test_kogge_stone_1 PASSED [ 63%] tests/rtllib/test_adders.py::TestAdders::test_ripple_1 PASSED [ 63%] tests/rtllib/test_aes.py::TestAESDecrypt::test_aes_full PASSED [ 63%] tests/rtllib/test_aes.py::TestAESDecrypt::test_aes_state_machine PASSED [ 63%] tests/rtllib/test_aes.py::TestAESDecrypt::test_inv_mix_columns PASSED [ 63%] tests/rtllib/test_aes.py::TestAESDecrypt::test_inv_shift_rows PASSED [ 64%] tests/rtllib/test_aes.py::TestAESDecrypt::test_inv_sub_bytes PASSED [ 64%] tests/rtllib/test_aes.py::TestAESEncrypt::test_aes_full PASSED [ 64%] tests/rtllib/test_aes.py::TestAESEncrypt::test_aes_state_machine PASSED [ 64%] tests/rtllib/test_aes.py::TestAESEncrypt::test_mix_columns PASSED [ 64%] tests/rtllib/test_aes.py::TestAESEncrypt::test_shift_rows PASSED [ 64%] tests/rtllib/test_aes.py::TestAESEncrypt::test_sub_bytes PASSED [ 64%] tests/rtllib/test_barrel.py::TestDocTests::test_doctests PASSED [ 64%] tests/rtllib/test_barrel.py::TestBarrel::test_shift_left PASSED [ 64%] tests/rtllib/test_barrel.py::TestBarrel::test_shift_right PASSED [ 64%] tests/rtllib/test_libutils.py::TestPartitionWire::test_failing_partition PASSED [ 64%] tests/rtllib/test_libutils.py::TestPartitionWire::test_partition_sim PASSED [ 64%] tests/rtllib/test_libutils.py::TestPartitionWire::test_successful_partition PASSED [ 65%] tests/rtllib/test_libutils.py::TestStringConversion::test_binary_conversion PASSED [ 65%] tests/rtllib/test_libutils.py::TestStringConversion::test_empty PASSED [ 65%] tests/rtllib/test_libutils.py::TestStringConversion::test_invalid_bin_str PASSED [ 65%] tests/rtllib/test_libutils.py::TestStringConversion::test_invalid_str PASSED [ 65%] tests/rtllib/test_libutils.py::TestStringConversion::test_multiline PASSED [ 65%] tests/rtllib/test_libutils.py::TestStringConversion::test_no_override PASSED [ 65%] tests/rtllib/test_libutils.py::TestStringConversion::test_simple_conversion PASSED [ 65%] tests/rtllib/test_libutils.py::TestTwosComp::test_inverse_functionality PASSED [ 65%] tests/rtllib/test_libutils.py::TestTwosComp::test_low_bw_error PASSED [ 65%] tests/rtllib/test_libutils.py::TestTwosComp::test_twos_comp_sim PASSED [ 65%] tests/rtllib/test_matrix.py::TestMatrixInit::test_init_basic PASSED [ 65%] tests/rtllib/test_matrix.py::TestMatrixInit::test_init_basic_wirevector PASSED [ 66%] tests/rtllib/test_matrix.py::TestMatrixInit::test_init_fail_bad_number_of_columns PASSED [ 66%] tests/rtllib/test_matrix.py::TestMatrixInit::test_init_fail_bad_number_of_rows PASSED [ 66%] tests/rtllib/test_matrix.py::TestMatrixInit::test_init_fail_int_instead_of_matrix PASSED [ 66%] tests/rtllib/test_matrix.py::TestMatrixInit::test_init_fail_negative_bits PASSED [ 66%] tests/rtllib/test_matrix.py::TestMatrixInit::test_init_fail_negative_column PASSED [ 66%] tests/rtllib/test_matrix.py::TestMatrixInit::test_init_fail_negative_row PASSED [ 66%] tests/rtllib/test_matrix.py::TestMatrixInit::test_init_fail_string_bit PASSED [ 66%] tests/rtllib/test_matrix.py::TestMatrixInit::test_init_fail_string_column PASSED [ 66%] tests/rtllib/test_matrix.py::TestMatrixInit::test_init_fail_string_row PASSED [ 66%] tests/rtllib/test_matrix.py::TestMatrixInit::test_init_fail_zero_bits PASSED [ 66%] tests/rtllib/test_matrix.py::TestMatrixInit::test_init_fail_zero_bits_wirevector PASSED [ 67%] tests/rtllib/test_matrix.py::TestMatrixInit::test_init_fail_zero_column PASSED [ 67%] tests/rtllib/test_matrix.py::TestMatrixInit::test_init_fail_zero_column_wirevector PASSED [ 67%] tests/rtllib/test_matrix.py::TestMatrixInit::test_init_fail_zero_row PASSED [ 67%] tests/rtllib/test_matrix.py::TestMatrixInit::test_init_fail_zero_row_wirevector PASSED [ 67%] tests/rtllib/test_matrix.py::TestMatrixInit::test_init_one_by_four PASSED [ 67%] tests/rtllib/test_matrix.py::TestMatrixInit::test_init_one_by_four_wirevector PASSED [ 67%] tests/rtllib/test_matrix.py::TestMatrixInit::test_init_random PASSED [ 67%] tests/rtllib/test_matrix.py::TestMatrixInit::test_init_random_wirevector PASSED [ 67%] tests/rtllib/test_matrix.py::TestMatrixInit::test_init_three_by_three PASSED [ 67%] tests/rtllib/test_matrix.py::TestMatrixInit::test_init_three_by_three_wirevector PASSED [ 67%] tests/rtllib/test_matrix.py::TestMatrixInit::test_init_wirevector_mismatch PASSED [ 67%] tests/rtllib/test_matrix.py::TestMatrixBits::test_bits_basic_change_bits PASSED [ 68%] tests/rtllib/test_matrix.py::TestMatrixBits::test_bits_basic_change_bits_trunicate PASSED [ 68%] tests/rtllib/test_matrix.py::TestMatrixBits::test_bits_fail_change_bits_negative PASSED [ 68%] tests/rtllib/test_matrix.py::TestMatrixBits::test_bits_fail_change_bits_string PASSED [ 68%] tests/rtllib/test_matrix.py::TestMatrixBits::test_bits_fail_change_bits_zero PASSED [ 68%] tests/rtllib/test_matrix.py::TestMatrixBits::test_bits_no_change PASSED [ 68%] tests/rtllib/test_matrix.py::TestMatrixGetItem::test_getitem_2_3_slice PASSED [ 68%] tests/rtllib/test_matrix.py::TestMatrixGetItem::test_getitem_2_by_2_slice PASSED [ 68%] tests/rtllib/test_matrix.py::TestMatrixGetItem::test_getitem_3_2_slice PASSED [ 68%] tests/rtllib/test_matrix.py::TestMatrixGetItem::test_getitem_3_by_3_slice PASSED [ 68%] tests/rtllib/test_matrix.py::TestMatrixGetItem::test_getitem_basic_case PASSED [ 68%] tests/rtllib/test_matrix.py::TestMatrixGetItem::test_getitem_fail_out_of_bounds_columns PASSED [ 68%] tests/rtllib/test_matrix.py::TestMatrixGetItem::test_getitem_fail_out_of_bounds_columns_negative PASSED [ 69%] tests/rtllib/test_matrix.py::TestMatrixGetItem::test_getitem_fail_out_of_bounds_columns_slice PASSED [ 69%] tests/rtllib/test_matrix.py::TestMatrixGetItem::test_getitem_fail_out_of_bounds_row_negative PASSED [ 69%] tests/rtllib/test_matrix.py::TestMatrixGetItem::test_getitem_fail_out_of_bounds_rows PASSED [ 69%] tests/rtllib/test_matrix.py::TestMatrixGetItem::test_getitem_fail_out_of_bounds_rows_negative PASSED [ 69%] tests/rtllib/test_matrix.py::TestMatrixGetItem::test_getitem_fail_out_of_bounds_rows_slice PASSED [ 69%] tests/rtllib/test_matrix.py::TestMatrixGetItem::test_getitem_fail_string_column_only PASSED [ 69%] tests/rtllib/test_matrix.py::TestMatrixGetItem::test_getitem_fail_string_columns PASSED [ 69%] tests/rtllib/test_matrix.py::TestMatrixGetItem::test_getitem_fail_string_rows PASSED [ 69%] tests/rtllib/test_matrix.py::TestMatrixGetItem::test_getitem_full PASSED [ 69%] tests/rtllib/test_matrix.py::TestMatrixGetItem::test_getitem_full_row PASSED [ 69%] tests/rtllib/test_matrix.py::TestMatrixGetItem::test_getitem_full_rows_with_slice_back PASSED [ 69%] tests/rtllib/test_matrix.py::TestMatrixGetItem::test_getitem_full_rows_with_slice_front PASSED [ 70%] tests/rtllib/test_matrix.py::TestMatrixGetItem::test_getitem_negative_in_tuple_returns_single PASSED [ 70%] tests/rtllib/test_matrix.py::TestMatrixGetItem::test_getitem_negative_in_tuple_with_slice_returns_column_1 PASSED [ 70%] tests/rtllib/test_matrix.py::TestMatrixGetItem::test_getitem_negative_in_tuple_with_slice_returns_column_2 PASSED [ 70%] tests/rtllib/test_matrix.py::TestMatrixGetItem::test_getitem_negative_in_tuple_with_slice_returns_column_3 PASSED [ 70%] tests/rtllib/test_matrix.py::TestMatrixGetItem::test_getitem_negative_in_tuple_with_slice_returns_row_1 PASSED [ 70%] tests/rtllib/test_matrix.py::TestMatrixGetItem::test_getitem_negative_in_tuple_with_slice_returns_row_2 PASSED [ 70%] tests/rtllib/test_matrix.py::TestMatrixGetItem::test_getitem_negative_in_tuple_with_slice_returns_row_3 PASSED [ 70%] tests/rtllib/test_matrix.py::TestMatrixGetItem::test_getitem_negative_returns_row_v1 PASSED [ 70%] tests/rtllib/test_matrix.py::TestMatrixGetItem::test_getitem_negative_returns_row_v2 PASSED [ 70%] tests/rtllib/test_matrix.py::TestMatrixGetItem::test_getitem_negative_returns_rows PASSED [ 70%] tests/rtllib/test_matrix.py::TestMatrixGetItem::test_getitem_negative_returns_single PASSED [ 70%] tests/rtllib/test_matrix.py::TestMatrixGetItem::test_getitem_with_slice_indices_raw PASSED [ 71%] tests/rtllib/test_matrix.py::TestMatrixGetItem::test_getitem_with_slice_indices_shorthand PASSED [ 71%] tests/rtllib/test_matrix.py::TestMatrixGetItem::test_getitem_with_tuple_indices PASSED [ 71%] tests/rtllib/test_matrix.py::TestMatrixSetItem::test_setitem_2_by_2 PASSED [ 71%] tests/rtllib/test_matrix.py::TestMatrixSetItem::test_setitem_2_by_3 PASSED [ 71%] tests/rtllib/test_matrix.py::TestMatrixSetItem::test_setitem_3_by_2 PASSED [ 71%] tests/rtllib/test_matrix.py::TestMatrixSetItem::test_setitem_3_by_3 PASSED [ 71%] tests/rtllib/test_matrix.py::TestMatrixSetItem::test_setitem_basic_case PASSED [ 71%] tests/rtllib/test_matrix.py::TestMatrixSetItem::test_setitem_fail_out_of_bounds_columns PASSED [ 71%] tests/rtllib/test_matrix.py::TestMatrixSetItem::test_setitem_fail_out_of_bounds_columns_negative PASSED [ 71%] tests/rtllib/test_matrix.py::TestMatrixSetItem::test_setitem_fail_out_of_bounds_columns_slice PASSED [ 71%] tests/rtllib/test_matrix.py::TestMatrixSetItem::test_setitem_fail_out_of_bounds_rows PASSED [ 71%] tests/rtllib/test_matrix.py::TestMatrixSetItem::test_setitem_fail_out_of_bounds_rows_negative PASSED [ 72%] tests/rtllib/test_matrix.py::TestMatrixSetItem::test_setitem_fail_out_of_bounds_rows_slice PASSED [ 72%] tests/rtllib/test_matrix.py::TestMatrixSetItem::test_setitem_fail_string_column PASSED [ 72%] tests/rtllib/test_matrix.py::TestMatrixSetItem::test_setitem_fail_string_row PASSED [ 72%] tests/rtllib/test_matrix.py::TestMatrixSetItem::test_setitem_fail_string_rows_only PASSED [ 72%] tests/rtllib/test_matrix.py::TestMatrixSetItem::test_setitem_fail_value_matrix_incorrect_columns PASSED [ 72%] tests/rtllib/test_matrix.py::TestMatrixSetItem::test_setitem_fail_value_matrix_incorrect_rows PASSED [ 72%] tests/rtllib/test_matrix.py::TestMatrixSetItem::test_setitem_fail_wire_for_matrix PASSED [ 72%] tests/rtllib/test_matrix.py::TestMatrixSetItem::test_setitem_full PASSED [ 72%] tests/rtllib/test_matrix.py::TestMatrixSetItem::test_setitem_full_row_item PASSED [ 72%] tests/rtllib/test_matrix.py::TestMatrixSetItem::test_setitem_full_rows_with_slice_back PASSED [ 72%] tests/rtllib/test_matrix.py::TestMatrixSetItem::test_setitem_full_rows_with_slice_front PASSED [ 72%] tests/rtllib/test_matrix.py::TestMatrixSetItem::test_setitem_negative PASSED [ 73%] tests/rtllib/test_matrix.py::TestMatrixSetItem::test_setitem_raw_int PASSED [ 73%] tests/rtllib/test_matrix.py::TestMatrixSetItem::test_setitem_row_with_negative_index_v1 PASSED [ 73%] tests/rtllib/test_matrix.py::TestMatrixSetItem::test_setitem_row_with_negative_index_v2 PASSED [ 73%] tests/rtllib/test_matrix.py::TestMatrixSetItem::test_setitem_rows_with_negative_index_slice PASSED [ 73%] tests/rtllib/test_matrix.py::TestMatrixSetItem::test_setitem_with_slice_indices_raw PASSED [ 73%] tests/rtllib/test_matrix.py::TestMatrixSetItem::test_setitem_with_slice_indices_shorthand PASSED [ 73%] tests/rtllib/test_matrix.py::TestMatrixSetItem::test_setitem_with_tuple_indices PASSED [ 73%] tests/rtllib/test_matrix.py::TestMatrixCopy::test_copy_basic PASSED [ 73%] tests/rtllib/test_matrix.py::TestMatrixCopy::test_copy_one_by_four PASSED [ 73%] tests/rtllib/test_matrix.py::TestMatrixCopy::test_copy_three_by_three PASSED [ 73%] tests/rtllib/test_matrix.py::TestMatrixTranspose::test_transpose_1_by_4 PASSED [ 73%] tests/rtllib/test_matrix.py::TestMatrixTranspose::test_transpose_3_by_3 PASSED [ 74%] tests/rtllib/test_matrix.py::TestMatrixTranspose::test_transpose_4_by_1 PASSED [ 74%] tests/rtllib/test_matrix.py::TestMatrixTranspose::test_transpose_basic PASSED [ 74%] tests/rtllib/test_matrix.py::TestMatrixReverse::test_reverse_1_by_4 PASSED [ 74%] tests/rtllib/test_matrix.py::TestMatrixReverse::test_reverse_3_by_3 PASSED [ 74%] tests/rtllib/test_matrix.py::TestMatrixReverse::test_reverse_4_by_1 PASSED [ 74%] tests/rtllib/test_matrix.py::TestMatrixReverse::test_reverse_basic PASSED [ 74%] tests/rtllib/test_matrix.py::TestMatrixAdd::test_add_2_by_3 PASSED [ 74%] tests/rtllib/test_matrix.py::TestMatrixAdd::test_add_3_by_2 PASSED [ 74%] tests/rtllib/test_matrix.py::TestMatrixAdd::test_add_3_by_3_different PASSED [ 74%] tests/rtllib/test_matrix.py::TestMatrixAdd::test_add_3_by_3_same PASSED [ 74%] tests/rtllib/test_matrix.py::TestMatrixAdd::test_add_basic_case PASSED [ 74%] tests/rtllib/test_matrix.py::TestMatrixAdd::test_add_fail_2_by_2_add_3_by_3 PASSED [ 75%] tests/rtllib/test_matrix.py::TestMatrixAdd::test_add_fail_3_by_3_add_2_by_3 PASSED [ 75%] tests/rtllib/test_matrix.py::TestMatrixAdd::test_add_fail_3_by_3_add_3_by_2 PASSED [ 75%] tests/rtllib/test_matrix.py::TestMatrixAdd::test_add_fail_add_one PASSED [ 75%] tests/rtllib/test_matrix.py::TestMatrixInplaceAdd::test_iadd_3_by_3_different PASSED [ 75%] tests/rtllib/test_matrix.py::TestMatrixInplaceAdd::test_iadd_3_by_3_same PASSED [ 75%] tests/rtllib/test_matrix.py::TestMatrixInplaceAdd::test_iadd_basic PASSED [ 75%] tests/rtllib/test_matrix.py::TestMatrixInplaceAdd::test_iadd_fail_3_by_3_add_2_by_3 PASSED [ 75%] tests/rtllib/test_matrix.py::TestMatrixInplaceAdd::test_iadd_fail_3_by_3_add_3_by_2 PASSED [ 75%] tests/rtllib/test_matrix.py::TestMatrixSub::test_sub_3_by_3_different PASSED [ 75%] tests/rtllib/test_matrix.py::TestMatrixSub::test_sub_3_by_3_same PASSED [ 75%] tests/rtllib/test_matrix.py::TestMatrixSub::test_sub_basic PASSED [ 75%] tests/rtllib/test_matrix.py::TestMatrixSub::test_sub_fail_3_by_3_sub_2_by_3 PASSED [ 76%] tests/rtllib/test_matrix.py::TestMatrixSub::test_sub_fail_3_by_3_sub_3_by_2 PASSED [ 76%] tests/rtllib/test_matrix.py::TestMatrixSub::test_sub_fail_int PASSED [ 76%] tests/rtllib/test_matrix.py::TestMatrixInplaceSub::test_isub_3_by_3_different_positive_result PASSED [ 76%] tests/rtllib/test_matrix.py::TestMatrixInplaceSub::test_isub_3_by_3_same PASSED [ 76%] tests/rtllib/test_matrix.py::TestMatrixInplaceSub::test_isub_basic PASSED [ 76%] tests/rtllib/test_matrix.py::TestMatrixInplaceSub::test_isub_fail_3_by_3_sub_2_by_3 PASSED [ 76%] tests/rtllib/test_matrix.py::TestMatrixInplaceSub::test_isub_fail_3_by_3_sub_3_by_2 PASSED [ 76%] tests/rtllib/test_matrix.py::TestMatrixMultiply::test_element_wise_multiply_2_by_3 PASSED [ 76%] tests/rtllib/test_matrix.py::TestMatrixMultiply::test_element_wise_multiply_3_by_2 PASSED [ 76%] tests/rtllib/test_matrix.py::TestMatrixMultiply::test_element_wise_multiply_3_by_3_different PASSED [ 76%] tests/rtllib/test_matrix.py::TestMatrixMultiply::test_element_wise_multiply_3_by_3_same PASSED [ 76%] tests/rtllib/test_matrix.py::TestMatrixMultiply::test_element_wise_multiply_basic PASSED [ 77%] tests/rtllib/test_matrix.py::TestMatrixMultiply::test_element_wise_multiply_fail_3_by_3_multiply_2_by_3 PASSED [ 77%] tests/rtllib/test_matrix.py::TestMatrixMultiply::test_element_wise_multiply_fail_3_by_3_multiply_3_by_2 PASSED [ 77%] tests/rtllib/test_matrix.py::TestMatrixMultiply::test_multiply_fail_int PASSED [ 77%] tests/rtllib/test_matrix.py::TestMatrixMultiply::test_multiply_scalar_1_by_4 PASSED [ 77%] tests/rtllib/test_matrix.py::TestMatrixMultiply::test_multiply_scalar_3_by_3 PASSED [ 77%] tests/rtllib/test_matrix.py::TestMatrixMultiply::test_multiply_scalar_4_by_1 PASSED [ 77%] tests/rtllib/test_matrix.py::TestMatrixMultiply::test_multiply_scalar_basic PASSED [ 77%] tests/rtllib/test_matrix.py::TestMatrixMultiply::test_multiply_scalar_basic_one PASSED [ 77%] tests/rtllib/test_matrix.py::TestMatrixMultiply::test_multiply_scalar_basic_zero PASSED [ 77%] tests/rtllib/test_matrix.py::TestMatrixInplaceMultiply::test_element_wise_imultiply_3_by_3_different PASSED [ 77%] tests/rtllib/test_matrix.py::TestMatrixInplaceMultiply::test_element_wise_imultiply_3_by_3_same PASSED [ 77%] tests/rtllib/test_matrix.py::TestMatrixInplaceMultiply::test_element_wise_imultiply_basic PASSED [ 78%] tests/rtllib/test_matrix.py::TestMatrixInplaceMultiply::test_element_wise_imultiply_fail_3_by_3_multiply_2_by_3 PASSED [ 78%] tests/rtllib/test_matrix.py::TestMatrixInplaceMultiply::test_element_wise_imultiply_fail_3_by_3_multiply_3_by_2 PASSED [ 78%] tests/rtllib/test_matrix.py::TestMatrixMatrixMultiply::test_mat_mul_1_by_2_multiply_2_by_1 PASSED [ 78%] tests/rtllib/test_matrix.py::TestMatrixMatrixMultiply::test_mat_mul_3_by_3_multiply_3_by_3_different PASSED [ 78%] tests/rtllib/test_matrix.py::TestMatrixMatrixMultiply::test_mat_mul_3_by_3_multiply_3_by_3_same PASSED [ 78%] tests/rtllib/test_matrix.py::TestMatrixMatrixMultiply::test_mat_mul_basic PASSED [ 78%] tests/rtllib/test_matrix.py::TestMatrixMatrixMultiply::test_mat_mul_fail_3_by_2_multiply_3_by_2 PASSED [ 78%] tests/rtllib/test_matrix.py::TestMatrixMatrixMultiply::test_mat_mul_fail_3_by_3_multiply_2_by_2 PASSED [ 78%] tests/rtllib/test_matrix.py::TestMatrixMatrixMultiply::test_mat_mul_fail_3_by_3_multiply_2_by_3 PASSED [ 78%] tests/rtllib/test_matrix.py::TestMatrixMatrixMultiply::test_mat_mul_fail_int PASSED [ 78%] tests/rtllib/test_matrix.py::TestMatrixInplaceMatrixMultiply::test_imat_mul_1_by_2_multiply_2_by_1 PASSED [ 78%] tests/rtllib/test_matrix.py::TestMatrixInplaceMatrixMultiply::test_imat_mul_3_by_3_multiply_3_by_3_different PASSED [ 79%] tests/rtllib/test_matrix.py::TestMatrixInplaceMatrixMultiply::test_imat_mul_3_by_3_multiply_3_by_3_same PASSED [ 79%] tests/rtllib/test_matrix.py::TestMatrixInplaceMatrixMultiply::test_imat_mul_basic PASSED [ 79%] tests/rtllib/test_matrix.py::TestMatrixInplaceMatrixMultiply::test_imat_mul_fail_3_by_3_multiply_2_by_3 PASSED [ 79%] tests/rtllib/test_matrix.py::TestMatrixInplaceMatrixMultiply::test_imat_mul_fail_3_by_3_multiply_3_by_2 PASSED [ 79%] tests/rtllib/test_matrix.py::TestMatrixMatrixPower::test_matrix_power_3_by_3_power_0 PASSED [ 79%] tests/rtllib/test_matrix.py::TestMatrixMatrixPower::test_matrix_power_3_by_3_power_1 PASSED [ 79%] tests/rtllib/test_matrix.py::TestMatrixMatrixPower::test_matrix_power_3_by_3_power_2 PASSED [ 79%] tests/rtllib/test_matrix.py::TestMatrixMatrixPower::test_matrix_power_fail_negative_power PASSED [ 79%] tests/rtllib/test_matrix.py::TestMatrixMatrixPower::test_matrix_power_fail_nonsquare PASSED [ 79%] tests/rtllib/test_matrix.py::TestMatrixMatrixPower::test_matrix_power_fail_string PASSED [ 79%] tests/rtllib/test_matrix.py::TestMatrixInplaceMatrixPower::test_imatrix_power_3_by_3_power_0 PASSED [ 79%] tests/rtllib/test_matrix.py::TestMatrixInplaceMatrixPower::test_imatrix_power_3_by_3_power_1 PASSED [ 80%] tests/rtllib/test_matrix.py::TestMatrixInplaceMatrixPower::test_imatrix_power_3_by_3_power_2 PASSED [ 80%] tests/rtllib/test_matrix.py::TestMultiply::test_multiply_fail_string PASSED [ 80%] tests/rtllib/test_matrix.py::TestMultiply::test_multiply_matrix PASSED [ 80%] tests/rtllib/test_matrix.py::TestMultiply::test_multiply_scalar PASSED [ 80%] tests/rtllib/test_matrix.py::TestReshape::test_reshape_bad_tuple_shape_1 PASSED [ 80%] tests/rtllib/test_matrix.py::TestReshape::test_reshape_bad_tuple_shape_2 PASSED [ 80%] tests/rtllib/test_matrix.py::TestReshape::test_reshape_bad_tuple_shape_3 PASSED [ 80%] tests/rtllib/test_matrix.py::TestReshape::test_reshape_bad_tuple_shape_4 PASSED [ 80%] tests/rtllib/test_matrix.py::TestReshape::test_reshape_bad_tuple_shape_5 PASSED [ 80%] tests/rtllib/test_matrix.py::TestReshape::test_reshape_bad_tuple_shape_count PASSED [ 80%] tests/rtllib/test_matrix.py::TestReshape::test_reshape_bad_tuple_shape_order PASSED [ 80%] tests/rtllib/test_matrix.py::TestReshape::test_reshape_negative_one_shape PASSED [ 81%] tests/rtllib/test_matrix.py::TestReshape::test_reshape_negative_one_shape_column_order PASSED [ 81%] tests/rtllib/test_matrix.py::TestReshape::test_reshape_nonsquare_incomplete_tuple_shape PASSED [ 81%] tests/rtllib/test_matrix.py::TestReshape::test_reshape_nonsquare_incomplete_tuple_shape_column_order PASSED [ 81%] tests/rtllib/test_matrix.py::TestReshape::test_reshape_nonsquare_incomplete_tuple_with_negative_one_shape PASSED [ 81%] tests/rtllib/test_matrix.py::TestReshape::test_reshape_nonsquare_incomplete_tuple_with_negative_one_shape_column_order PASSED [ 81%] tests/rtllib/test_matrix.py::TestReshape::test_reshape_nonsquare_int_shape PASSED [ 81%] tests/rtllib/test_matrix.py::TestReshape::test_reshape_nonsquare_int_shape_column_order PASSED [ 81%] tests/rtllib/test_matrix.py::TestReshape::test_reshape_nonsquare_negative_one_shape PASSED [ 81%] tests/rtllib/test_matrix.py::TestReshape::test_reshape_nonsquare_negative_one_shape_column_order PASSED [ 81%] tests/rtllib/test_matrix.py::TestReshape::test_reshape_nonsquare_tuple_shape_1 PASSED [ 81%] tests/rtllib/test_matrix.py::TestReshape::test_reshape_nonsquare_tuple_shape_2 PASSED [ 81%] tests/rtllib/test_matrix.py::TestReshape::test_reshape_nonsquare_tuple_shape_3 PASSED [ 82%] tests/rtllib/test_matrix.py::TestReshape::test_reshape_nonsquare_tuple_shape_4 PASSED [ 82%] tests/rtllib/test_matrix.py::TestReshape::test_reshape_nonsquare_tuple_shape_5 PASSED [ 82%] tests/rtllib/test_matrix.py::TestReshape::test_reshape_nonsquare_tuple_shape_column_order_1 PASSED [ 82%] tests/rtllib/test_matrix.py::TestReshape::test_reshape_nonsquare_tuple_shape_column_order_2 PASSED [ 82%] tests/rtllib/test_matrix.py::TestReshape::test_reshape_nonsquare_tuple_shape_column_order_3 PASSED [ 82%] tests/rtllib/test_matrix.py::TestReshape::test_reshape_nonsquare_tuple_shape_column_order_4 PASSED [ 82%] tests/rtllib/test_matrix.py::TestReshape::test_reshape_nonsquare_tuple_shape_column_order_5 PASSED [ 82%] tests/rtllib/test_matrix.py::TestReshape::test_reshape_nonsquare_tuple_with_negative_one_shape_1 PASSED [ 82%] tests/rtllib/test_matrix.py::TestReshape::test_reshape_nonsquare_tuple_with_negative_one_shape_1_column_order PASSED [ 82%] tests/rtllib/test_matrix.py::TestReshape::test_reshape_nonsquare_tuple_with_negative_one_shape_2 PASSED [ 82%] tests/rtllib/test_matrix.py::TestReshape::test_reshape_nonsquare_tuple_with_negative_one_shape_2_column_order PASSED [ 82%] tests/rtllib/test_matrix.py::TestReshape::test_reshape_normal_tuple_shape PASSED [ 83%] tests/rtllib/test_matrix.py::TestReshape::test_reshape_normal_tuple_shape_column_order PASSED [ 83%] tests/rtllib/test_matrix.py::TestReshape::test_reshape_single_int_shape PASSED [ 83%] tests/rtllib/test_matrix.py::TestReshape::test_reshape_single_int_shape_column_order PASSED [ 83%] tests/rtllib/test_matrix.py::TestReshape::test_reshape_tuple_with_negative_one_shape PASSED [ 83%] tests/rtllib/test_matrix.py::TestReshape::test_reshape_tuple_with_negative_one_shape_column_order PASSED [ 83%] tests/rtllib/test_matrix.py::TestReshape::test_reshape_varargs_shape PASSED [ 83%] tests/rtllib/test_matrix.py::TestReshape::test_reshape_varargs_shape_column_order PASSED [ 83%] tests/rtllib/test_matrix.py::TestFlatten::test_flatten_column_wise PASSED [ 83%] tests/rtllib/test_matrix.py::TestFlatten::test_flatten_column_wise_nonsquare_1 PASSED [ 83%] tests/rtllib/test_matrix.py::TestFlatten::test_flatten_column_wise_nonsquare_2 PASSED [ 83%] tests/rtllib/test_matrix.py::TestFlatten::test_flatten_column_wise_nonsquare_3 PASSED [ 83%] tests/rtllib/test_matrix.py::TestFlatten::test_flatten_invalid_order PASSED [ 84%] tests/rtllib/test_matrix.py::TestFlatten::test_flatten_row_wise PASSED [ 84%] tests/rtllib/test_matrix.py::TestFlatten::test_flatten_row_wise_nonsquare_1 PASSED [ 84%] tests/rtllib/test_matrix.py::TestFlatten::test_flatten_row_wise_nonsquare_2 PASSED [ 84%] tests/rtllib/test_matrix.py::TestFlatten::test_flatten_row_wise_nonsquare_3 PASSED [ 84%] tests/rtllib/test_matrix.py::TestPut::test_put_empty PASSED [ 84%] tests/rtllib/test_matrix.py::TestPut::test_put_indices_clip_1 PASSED [ 84%] tests/rtllib/test_matrix.py::TestPut::test_put_indices_clip_2 PASSED [ 84%] tests/rtllib/test_matrix.py::TestPut::test_put_indices_list_repeat_v_1 PASSED [ 84%] tests/rtllib/test_matrix.py::TestPut::test_put_indices_list_repeat_v_2 PASSED [ 84%] tests/rtllib/test_matrix.py::TestPut::test_put_indices_list_values_1 PASSED [ 84%] tests/rtllib/test_matrix.py::TestPut::test_put_indices_list_values_2 PASSED [ 84%] tests/rtllib/test_matrix.py::TestPut::test_put_indices_negative PASSED [ 85%] tests/rtllib/test_matrix.py::TestPut::test_put_indices_raise_1 PASSED [ 85%] tests/rtllib/test_matrix.py::TestPut::test_put_indices_raise_2 PASSED [ 85%] tests/rtllib/test_matrix.py::TestPut::test_put_indices_tuple_values PASSED [ 85%] tests/rtllib/test_matrix.py::TestPut::test_put_indices_wrap_1 PASSED [ 85%] tests/rtllib/test_matrix.py::TestPut::test_put_indices_wrap_2 PASSED [ 85%] tests/rtllib/test_matrix.py::TestPut::test_put_matrix PASSED [ 85%] tests/rtllib/test_matrix.py::TestPut::test_put_tuple_indices PASSED [ 85%] tests/rtllib/test_matrix.py::TestSum::test_sum_1_by_4 PASSED [ 85%] tests/rtllib/test_matrix.py::TestSum::test_sum_1_by_4_column PASSED [ 85%] tests/rtllib/test_matrix.py::TestSum::test_sum_1_by_4_row PASSED [ 85%] tests/rtllib/test_matrix.py::TestSum::test_sum_3_by_3 PASSED [ 85%] tests/rtllib/test_matrix.py::TestSum::test_sum_3_by_3_column PASSED [ 86%] tests/rtllib/test_matrix.py::TestSum::test_sum_3_by_3_row PASSED [ 86%] tests/rtllib/test_matrix.py::TestSum::test_sum_4_by_1 PASSED [ 86%] tests/rtllib/test_matrix.py::TestSum::test_sum_4_by_1_column PASSED [ 86%] tests/rtllib/test_matrix.py::TestSum::test_sum_4_by_1_row PASSED [ 86%] tests/rtllib/test_matrix.py::TestSum::test_sum_basic PASSED [ 86%] tests/rtllib/test_matrix.py::TestSum::test_sum_basic_column PASSED [ 86%] tests/rtllib/test_matrix.py::TestSum::test_sum_basic_row PASSED [ 86%] tests/rtllib/test_matrix.py::TestSum::test_sum_fail_axis_out_of_bounds PASSED [ 86%] tests/rtllib/test_matrix.py::TestSum::test_sum_fail_negative_axis PASSED [ 86%] tests/rtllib/test_matrix.py::TestSum::test_sum_fail_negative_bits PASSED [ 86%] tests/rtllib/test_matrix.py::TestSum::test_sum_fail_string PASSED [ 86%] tests/rtllib/test_matrix.py::TestSum::test_sum_fail_string_axis PASSED [ 87%] tests/rtllib/test_matrix.py::TestSum::test_sum_fail_string_bits PASSED [ 87%] tests/rtllib/test_matrix.py::TestSum::test_sum_fail_zero_bits PASSED [ 87%] tests/rtllib/test_matrix.py::TestSum::test_sum_wire PASSED [ 87%] tests/rtllib/test_matrix.py::TestMin::test_min_1_by_4 PASSED [ 87%] tests/rtllib/test_matrix.py::TestMin::test_min_1_by_4_column PASSED [ 87%] tests/rtllib/test_matrix.py::TestMin::test_min_1_by_4_row PASSED [ 87%] tests/rtllib/test_matrix.py::TestMin::test_min_3_by_3 PASSED [ 87%] tests/rtllib/test_matrix.py::TestMin::test_min_3_by_3_column PASSED [ 87%] tests/rtllib/test_matrix.py::TestMin::test_min_3_by_3_row PASSED [ 87%] tests/rtllib/test_matrix.py::TestMin::test_min_4_by_1 PASSED [ 87%] tests/rtllib/test_matrix.py::TestMin::test_min_4_by_1_column PASSED [ 87%] tests/rtllib/test_matrix.py::TestMin::test_min_4_by_1_row PASSED [ 88%] tests/rtllib/test_matrix.py::TestMin::test_min_basic PASSED [ 88%] tests/rtllib/test_matrix.py::TestMin::test_min_basic_column PASSED [ 88%] tests/rtllib/test_matrix.py::TestMin::test_min_basic_row PASSED [ 88%] tests/rtllib/test_matrix.py::TestMin::test_min_fail_axis_negative PASSED [ 88%] tests/rtllib/test_matrix.py::TestMin::test_min_fail_axis_out_of_bounds PASSED [ 88%] tests/rtllib/test_matrix.py::TestMin::test_min_fail_axis_string PASSED [ 88%] tests/rtllib/test_matrix.py::TestMin::test_min_fail_bits_negative PASSED [ 88%] tests/rtllib/test_matrix.py::TestMin::test_min_fail_bits_string PASSED [ 88%] tests/rtllib/test_matrix.py::TestMin::test_min_fail_bits_zero PASSED [ 88%] tests/rtllib/test_matrix.py::TestMin::test_min_fail_string PASSED [ 88%] tests/rtllib/test_matrix.py::TestMin::test_min_wire PASSED [ 88%] tests/rtllib/test_matrix.py::TestMax::test_max_1_by_4 PASSED [ 89%] tests/rtllib/test_matrix.py::TestMax::test_max_1_by_4_columns PASSED [ 89%] tests/rtllib/test_matrix.py::TestMax::test_max_1_by_4_rows PASSED [ 89%] tests/rtllib/test_matrix.py::TestMax::test_max_3_by_3 PASSED [ 89%] tests/rtllib/test_matrix.py::TestMax::test_max_3_by_3_columns PASSED [ 89%] tests/rtllib/test_matrix.py::TestMax::test_max_3_by_3_rows PASSED [ 89%] tests/rtllib/test_matrix.py::TestMax::test_max_4_by_1 PASSED [ 89%] tests/rtllib/test_matrix.py::TestMax::test_max_4_by_1_columns PASSED [ 89%] tests/rtllib/test_matrix.py::TestMax::test_max_4_by_1_rows PASSED [ 89%] tests/rtllib/test_matrix.py::TestMax::test_max_basic PASSED [ 89%] tests/rtllib/test_matrix.py::TestMax::test_max_basic_columns PASSED [ 89%] tests/rtllib/test_matrix.py::TestMax::test_max_basic_rows PASSED [ 89%] tests/rtllib/test_matrix.py::TestMax::test_max_fail_axis_negative PASSED [ 90%] tests/rtllib/test_matrix.py::TestMax::test_max_fail_axis_out_of_bounds PASSED [ 90%] tests/rtllib/test_matrix.py::TestMax::test_max_fail_axis_string PASSED [ 90%] tests/rtllib/test_matrix.py::TestMax::test_max_fail_bits_negative PASSED [ 90%] tests/rtllib/test_matrix.py::TestMax::test_max_fail_bits_string PASSED [ 90%] tests/rtllib/test_matrix.py::TestMax::test_max_fail_bits_zero PASSED [ 90%] tests/rtllib/test_matrix.py::TestMax::test_max_fail_string PASSED [ 90%] tests/rtllib/test_matrix.py::TestMax::test_max_wire PASSED [ 90%] tests/rtllib/test_matrix.py::TestArgMax::test_argument_max_1_by_4 PASSED [ 90%] tests/rtllib/test_matrix.py::TestArgMax::test_argument_max_1_by_4_columns PASSED [ 90%] tests/rtllib/test_matrix.py::TestArgMax::test_argument_max_1_by_4_rows PASSED [ 90%] tests/rtllib/test_matrix.py::TestArgMax::test_argument_max_3_by_3 PASSED [ 90%] tests/rtllib/test_matrix.py::TestArgMax::test_argument_max_3_by_3_columns PASSED [ 91%] tests/rtllib/test_matrix.py::TestArgMax::test_argument_max_3_by_3_rows PASSED [ 91%] tests/rtllib/test_matrix.py::TestArgMax::test_argument_max_4_by_1 PASSED [ 91%] tests/rtllib/test_matrix.py::TestArgMax::test_argument_max_4_by_1_columns PASSED [ 91%] tests/rtllib/test_matrix.py::TestArgMax::test_argument_max_4_by_1_rows PASSED [ 91%] tests/rtllib/test_matrix.py::TestArgMax::test_argument_max_axis_negative PASSED [ 91%] tests/rtllib/test_matrix.py::TestArgMax::test_argument_max_axis_out_of_bounds PASSED [ 91%] tests/rtllib/test_matrix.py::TestArgMax::test_argument_max_axis_string PASSED [ 91%] tests/rtllib/test_matrix.py::TestArgMax::test_argument_max_basic PASSED [ 91%] tests/rtllib/test_matrix.py::TestArgMax::test_argument_max_basic_columns PASSED [ 91%] tests/rtllib/test_matrix.py::TestArgMax::test_argument_max_basic_rows PASSED [ 91%] tests/rtllib/test_matrix.py::TestArgMax::test_argument_max_bits_negative PASSED [ 91%] tests/rtllib/test_matrix.py::TestArgMax::test_argument_max_bits_string PASSED [ 92%] tests/rtllib/test_matrix.py::TestArgMax::test_argument_max_bits_zero PASSED [ 92%] tests/rtllib/test_matrix.py::TestArgMax::test_argument_max_string PASSED [ 92%] tests/rtllib/test_matrix.py::TestArgMax::test_argument_max_wire PASSED [ 92%] tests/rtllib/test_matrix.py::TestDot::test_dot_1_by_2_multiply_1_by_2 PASSED [ 92%] tests/rtllib/test_matrix.py::TestDot::test_dot_1_by_2_multiply_2_by_1 PASSED [ 92%] tests/rtllib/test_matrix.py::TestDot::test_dot_2_by_1_multiply_1_by_2 PASSED [ 92%] tests/rtllib/test_matrix.py::TestDot::test_dot_2_by_1_multiply_2_by_1 PASSED [ 92%] tests/rtllib/test_matrix.py::TestDot::test_dot_3_by_3_multiply_3_by_3_different PASSED [ 92%] tests/rtllib/test_matrix.py::TestDot::test_dot_3_by_3_multiply_3_by_3_same PASSED [ 92%] tests/rtllib/test_matrix.py::TestDot::test_dot_basic PASSED [ 92%] tests/rtllib/test_matrix.py::TestDot::test_dot_both_wires PASSED [ 92%] tests/rtllib/test_matrix.py::TestDot::test_dot_fail_1_by_2_multiply_1_by_3 PASSED [ 93%] tests/rtllib/test_matrix.py::TestDot::test_dot_fail_3_by_3_multiply_2_by_2 PASSED [ 93%] tests/rtllib/test_matrix.py::TestDot::test_dot_fail_int_first PASSED [ 93%] tests/rtllib/test_matrix.py::TestDot::test_dot_fail_int_second PASSED [ 93%] tests/rtllib/test_matrix.py::TestDot::test_dot_first_wire PASSED [ 93%] tests/rtllib/test_matrix.py::TestDot::test_dot_second_wire PASSED [ 93%] tests/rtllib/test_matrix.py::TestHStack::test_concatenate PASSED [ 93%] tests/rtllib/test_matrix.py::TestHStack::test_hstack_empty_args_fails PASSED [ 93%] tests/rtllib/test_matrix.py::TestHStack::test_hstack_fail_on_inconsistent_rows PASSED [ 93%] tests/rtllib/test_matrix.py::TestHStack::test_hstack_on_non_matrices_fails PASSED [ 93%] tests/rtllib/test_matrix.py::TestHStack::test_hstack_one_row_vector PASSED [ 93%] tests/rtllib/test_matrix.py::TestHStack::test_hstack_several_matrices PASSED [ 93%] tests/rtllib/test_matrix.py::TestHStack::test_hstack_two_row_vectors PASSED [ 94%] tests/rtllib/test_matrix.py::TestVStack::test_concatenate PASSED [ 94%] tests/rtllib/test_matrix.py::TestVStack::test_vstack_empty_args_fails PASSED [ 94%] tests/rtllib/test_matrix.py::TestVStack::test_vstack_fail_on_inconsistent_cols PASSED [ 94%] tests/rtllib/test_matrix.py::TestVStack::test_vstack_on_non_matrices_fails PASSED [ 94%] tests/rtllib/test_matrix.py::TestVStack::test_vstack_one_column_vector PASSED [ 94%] tests/rtllib/test_matrix.py::TestVStack::test_vstack_several_matrix PASSED [ 94%] tests/rtllib/test_matrix.py::TestVStack::test_vstack_two_column_vectors PASSED [ 94%] tests/rtllib/test_matrix.py::TestHelpers::test_list_to_int PASSED [ 94%] tests/rtllib/test_matrix.py::TestHelpers::test_list_to_int_negative PASSED [ 94%] tests/rtllib/test_matrix.py::TestHelpers::test_list_to_int_negative_truncates PASSED [ 94%] tests/rtllib/test_matrix.py::TestHelpers::test_list_to_int_non_positive_n_bits PASSED [ 94%] tests/rtllib/test_matrix.py::TestHelpers::test_list_to_int_truncates PASSED [ 95%] tests/rtllib/test_multipliers.py::TestDocTests::test_doctests PASSED [ 95%] tests/rtllib/test_multipliers.py::TestSimpleMult::test_simple_mult_1 PASSED [ 95%] tests/rtllib/test_multipliers.py::TestSimpleMult::test_simple_mult_2 PASSED [ 95%] tests/rtllib/test_multipliers.py::TestSimpleMult::test_trivial_case PASSED [ 95%] tests/rtllib/test_multipliers.py::TestSimpleMult::test_trivial_case_2 PASSED [ 95%] tests/rtllib/test_multipliers.py::TestSimpleMult::test_trivial_case_3 PASSED [ 95%] tests/rtllib/test_multipliers.py::TestComplexMult::test_complex_mult_1 PASSED [ 95%] tests/rtllib/test_multipliers.py::TestComplexMult::test_complex_mult_2 PASSED [ 95%] tests/rtllib/test_multipliers.py::TestComplexMult::test_complex_mult_3 PASSED [ 95%] tests/rtllib/test_multipliers.py::TestComplexMult::test_complex_mult_4 PASSED [ 95%] tests/rtllib/test_multipliers.py::TestComplexMult::test_trivial_case PASSED [ 95%] tests/rtllib/test_multipliers.py::TestComplexMult::test_trivial_case_2 PASSED [ 96%] tests/rtllib/test_multipliers.py::TestComplexMult::test_trivial_case_3 PASSED [ 96%] tests/rtllib/test_multipliers.py::TestWallace::test_dada_tree PASSED [ 96%] tests/rtllib/test_multipliers.py::TestWallace::test_fma_1 PASSED [ 96%] tests/rtllib/test_multipliers.py::TestWallace::test_gen_fma_1 PASSED [ 96%] tests/rtllib/test_multipliers.py::TestWallace::test_trivial_case PASSED [ 96%] tests/rtllib/test_multipliers.py::TestWallace::test_trivial_case_2 PASSED [ 96%] tests/rtllib/test_multipliers.py::TestWallace::test_trivial_case_3 PASSED [ 96%] tests/rtllib/test_multipliers.py::TestWallace::test_wallace_tree_1 PASSED [ 96%] tests/rtllib/test_multipliers.py::TestWallace::test_wallace_tree_2 PASSED [ 96%] tests/rtllib/test_multipliers.py::TestSignedTreeMult::test_dada_tree PASSED [ 96%] tests/rtllib/test_multipliers.py::TestSignedTreeMult::test_small_bitwidth_error PASSED [ 96%] tests/rtllib/test_multipliers.py::TestSignedTreeMult::test_trivial_case PASSED [ 97%] tests/rtllib/test_multipliers.py::TestSignedTreeMult::test_trivial_case_2 PASSED [ 97%] tests/rtllib/test_multipliers.py::TestSignedTreeMult::test_trivial_case_3 PASSED [ 97%] tests/rtllib/test_multipliers.py::TestSignedTreeMult::test_wallace_tree_1 PASSED [ 97%] tests/rtllib/test_multipliers.py::TestSignedTreeMult::test_wallace_tree_2 PASSED [ 97%] tests/rtllib/test_muxes.py::TestDocTests::test_doctests PASSED [ 97%] tests/rtllib/test_muxes.py::TestPrioritizedMuxTrivial::test_different_sel_and_val_lengths PASSED [ 97%] tests/rtllib/test_muxes.py::TestPrioritizedMuxTrivial::test_empty PASSED [ 97%] tests/rtllib/test_muxes.py::TestPrioritizedMuxTrivial::test_invalid_select_width PASSED [ 97%] tests/rtllib/test_muxes.py::TestPrioritizedMuxTrivial::test_one_wire PASSED [ 97%] tests/rtllib/test_muxes.py::TestPrioritizedMuxSim::test_select_with_2_wires PASSED [ 97%] tests/rtllib/test_muxes.py::TestPrioritizedMuxSim::test_select_with_5_wires PASSED [ 97%] tests/rtllib/test_muxes.py::TestIsEquivalent::test_equivalent PASSED [ 98%] tests/rtllib/test_muxes.py::TestIsEquivalent::test_equivalent_const PASSED [ 98%] tests/rtllib/test_muxes.py::TestSmartMuxTrivial::test_dup_consts1 PASSED [ 98%] tests/rtllib/test_muxes.py::TestSmartMuxTrivial::test_dup_consts2 PASSED [ 98%] tests/rtllib/test_muxes.py::TestSmartMuxTrivial::test_dup_value PASSED [ 98%] tests/rtllib/test_muxes.py::TestSmartMuxTrivial::test_no_dup PASSED [ 98%] tests/rtllib/test_muxes.py::TestSmartMuxTrivial::test_no_dup_2 PASSED [ 98%] tests/rtllib/test_muxes.py::TestSmartMuxTrivial::test_one_value PASSED [ 98%] tests/rtllib/test_muxes.py::TestSmartMux::test_multiple_bitwidths PASSED [ 98%] tests/rtllib/test_muxes.py::TestSmartMux::test_two_big_close PASSED [ 98%] tests/rtllib/test_muxes.py::TestSmartMux::test_two_vals PASSED [ 98%] tests/rtllib/test_muxes.py::TestSmartMux::test_two_vals_big PASSED [ 98%] tests/rtllib/test_muxes.py::TestSmartMuxDefault::test_default PASSED [ 99%] tests/rtllib/test_muxes.py::TestMultiSelector::test_incorrect_number_of_wires PASSED [ 99%] tests/rtllib/test_muxes.py::TestMultiSelector::test_incorrect_number_of_wires_2 PASSED [ 99%] tests/rtllib/test_muxes.py::TestMultiSelector::test_value_already_set PASSED [ 99%] tests/rtllib/test_muxes.py::TestMultiSelectorSim::test_really_simple PASSED [ 99%] tests/rtllib/test_muxes.py::TestMultiSelectorSim::test_simple PASSED [ 99%] tests/rtllib/test_muxes.py::TestDemux::test_demux_2 PASSED [ 99%] tests/rtllib/test_muxes.py::TestDemux::test_large_demux PASSED [ 99%] tests/rtllib/test_muxes.py::TestDemux::test_simple_demux PASSED [ 99%] tests/rtllib/test_prngs.py::TestPrngs::test_csprng_trivium PASSED [ 99%] tests/rtllib/test_prngs.py::TestPrngs::test_prng_lfsr PASSED [ 99%] tests/rtllib/test_prngs.py::TestPrngs::test_prng_xoroshiro128 PASSED [100%] =================================== FAILURES =================================== _ test_all_examples[/builddir/build/BUILD/pyrtl/tests/../examples/renderer-demo.py] _ file = '/builddir/build/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.12/subprocess.py:466: in check_output return run(*popenargs, stdout=PIPE, timeout=timeout, check=True, /usr/lib64/python3.12/subprocess.py:548: in run with Popen(*popenargs, **kwargs) as process: /usr/lib64/python3.12/subprocess.py:1026: in __init__ self._execute_child(args, executable, preexec_fn, close_fds, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = args = ['python', '/builddir/build/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 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, 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.12/subprocess.py:1955: FileNotFoundError _ test_all_examples[/builddir/build/BUILD/pyrtl/tests/../examples/introduction-to-hardware.py] _ file = '/builddir/build/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.12/subprocess.py:466: in check_output return run(*popenargs, stdout=PIPE, timeout=timeout, check=True, /usr/lib64/python3.12/subprocess.py:548: in run with Popen(*popenargs, **kwargs) as process: /usr/lib64/python3.12/subprocess.py:1026: in __init__ self._execute_child(args, executable, preexec_fn, close_fds, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = args = ['python', '/builddir/build/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 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, 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.12/subprocess.py:1955: FileNotFoundError _ test_all_examples[/builddir/build/BUILD/pyrtl/tests/../examples/example8-verilog.py] _ file = '/builddir/build/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.12/subprocess.py:466: in check_output return run(*popenargs, stdout=PIPE, timeout=timeout, check=True, /usr/lib64/python3.12/subprocess.py:548: in run with Popen(*popenargs, **kwargs) as process: /usr/lib64/python3.12/subprocess.py:1026: in __init__ self._execute_child(args, executable, preexec_fn, close_fds, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = args = ['python', '/builddir/build/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 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, 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.12/subprocess.py:1955: FileNotFoundError _ test_all_examples[/builddir/build/BUILD/pyrtl/tests/../examples/example7-synth-timing.py] _ file = '/builddir/build/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.12/subprocess.py:466: in check_output return run(*popenargs, stdout=PIPE, timeout=timeout, check=True, /usr/lib64/python3.12/subprocess.py:548: in run with Popen(*popenargs, **kwargs) as process: /usr/lib64/python3.12/subprocess.py:1026: in __init__ self._execute_child(args, executable, preexec_fn, close_fds, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = args = ['python', '/builddir/build/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 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, 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.12/subprocess.py:1955: FileNotFoundError _ test_all_examples[/builddir/build/BUILD/pyrtl/tests/../examples/example6-memory.py] _ file = '/builddir/build/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.12/subprocess.py:466: in check_output return run(*popenargs, stdout=PIPE, timeout=timeout, check=True, /usr/lib64/python3.12/subprocess.py:548: in run with Popen(*popenargs, **kwargs) as process: /usr/lib64/python3.12/subprocess.py:1026: in __init__ self._execute_child(args, executable, preexec_fn, close_fds, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = args = ['python', '/builddir/build/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 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, 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.12/subprocess.py:1955: FileNotFoundError _ test_all_examples[/builddir/build/BUILD/pyrtl/tests/../examples/example5-introspection.py] _ file = '/builddir/build/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.12/subprocess.py:466: in check_output return run(*popenargs, stdout=PIPE, timeout=timeout, check=True, /usr/lib64/python3.12/subprocess.py:548: in run with Popen(*popenargs, **kwargs) as process: /usr/lib64/python3.12/subprocess.py:1026: in __init__ self._execute_child(args, executable, preexec_fn, close_fds, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = args = ['python', '/builddir/build/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 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, 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.12/subprocess.py:1955: FileNotFoundError _ test_all_examples[/builddir/build/BUILD/pyrtl/tests/../examples/example4-debuggingtools.py] _ file = '/builddir/build/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.12/subprocess.py:466: in check_output return run(*popenargs, stdout=PIPE, timeout=timeout, check=True, /usr/lib64/python3.12/subprocess.py:548: in run with Popen(*popenargs, **kwargs) as process: /usr/lib64/python3.12/subprocess.py:1026: in __init__ self._execute_child(args, executable, preexec_fn, close_fds, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = args = ['python', '/builddir/build/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 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, 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.12/subprocess.py:1955: FileNotFoundError _ test_all_examples[/builddir/build/BUILD/pyrtl/tests/../examples/example3-statemachine.py] _ file = '/builddir/build/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.12/subprocess.py:466: in check_output return run(*popenargs, stdout=PIPE, timeout=timeout, check=True, /usr/lib64/python3.12/subprocess.py:548: in run with Popen(*popenargs, **kwargs) as process: /usr/lib64/python3.12/subprocess.py:1026: in __init__ self._execute_child(args, executable, preexec_fn, close_fds, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = args = ['python', '/builddir/build/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 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, 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.12/subprocess.py:1955: FileNotFoundError _ test_all_examples[/builddir/build/BUILD/pyrtl/tests/../examples/example2-counter.py] _ file = '/builddir/build/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.12/subprocess.py:466: in check_output return run(*popenargs, stdout=PIPE, timeout=timeout, check=True, /usr/lib64/python3.12/subprocess.py:548: in run with Popen(*popenargs, **kwargs) as process: /usr/lib64/python3.12/subprocess.py:1026: in __init__ self._execute_child(args, executable, preexec_fn, close_fds, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = args = ['python', '/builddir/build/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 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, 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.12/subprocess.py:1955: FileNotFoundError _ test_all_examples[/builddir/build/BUILD/pyrtl/tests/../examples/example1.2-wire-struct.py] _ file = '/builddir/build/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.12/subprocess.py:466: in check_output return run(*popenargs, stdout=PIPE, timeout=timeout, check=True, /usr/lib64/python3.12/subprocess.py:548: in run with Popen(*popenargs, **kwargs) as process: /usr/lib64/python3.12/subprocess.py:1026: in __init__ self._execute_child(args, executable, preexec_fn, close_fds, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = args = ['python', '/builddir/build/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 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, 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.12/subprocess.py:1955: FileNotFoundError _ test_all_examples[/builddir/build/BUILD/pyrtl/tests/../examples/example1.1-signed-numbers.py] _ file = '/builddir/build/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.12/subprocess.py:466: in check_output return run(*popenargs, stdout=PIPE, timeout=timeout, check=True, /usr/lib64/python3.12/subprocess.py:548: in run with Popen(*popenargs, **kwargs) as process: /usr/lib64/python3.12/subprocess.py:1026: in __init__ self._execute_child(args, executable, preexec_fn, close_fds, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = args = ['python', '/builddir/build/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 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, 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.12/subprocess.py:1955: FileNotFoundError _ test_all_examples[/builddir/build/BUILD/pyrtl/tests/../examples/example1-combologic.py] _ file = '/builddir/build/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.12/subprocess.py:466: in check_output return run(*popenargs, stdout=PIPE, timeout=timeout, check=True, /usr/lib64/python3.12/subprocess.py:548: in run with Popen(*popenargs, **kwargs) as process: /usr/lib64/python3.12/subprocess.py:1026: in __init__ self._execute_child(args, executable, preexec_fn, close_fds, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = args = ['python', '/builddir/build/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 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, 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.12/subprocess.py:1955: FileNotFoundError _ test_all_examples[/builddir/build/BUILD/pyrtl/tests/../examples/example0-minimum-viable-hardware.py] _ file = '/builddir/build/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.12/subprocess.py:466: in check_output return run(*popenargs, stdout=PIPE, timeout=timeout, check=True, /usr/lib64/python3.12/subprocess.py:548: in run with Popen(*popenargs, **kwargs) as process: /usr/lib64/python3.12/subprocess.py:1026: in __init__ self._execute_child(args, executable, preexec_fn, close_fds, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = args = ['python', '/builddir/build/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 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, 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.12/subprocess.py:1955: FileNotFoundError =========================== short test summary info ============================ FAILED tests/test_examples.py::test_all_examples[/builddir/build/BUILD/pyrtl/tests/../examples/renderer-demo.py] FAILED tests/test_examples.py::test_all_examples[/builddir/build/BUILD/pyrtl/tests/../examples/introduction-to-hardware.py] FAILED tests/test_examples.py::test_all_examples[/builddir/build/BUILD/pyrtl/tests/../examples/example8-verilog.py] FAILED tests/test_examples.py::test_all_examples[/builddir/build/BUILD/pyrtl/tests/../examples/example7-synth-timing.py] FAILED tests/test_examples.py::test_all_examples[/builddir/build/BUILD/pyrtl/tests/../examples/example6-memory.py] FAILED tests/test_examples.py::test_all_examples[/builddir/build/BUILD/pyrtl/tests/../examples/example5-introspection.py] FAILED tests/test_examples.py::test_all_examples[/builddir/build/BUILD/pyrtl/tests/../examples/example4-debuggingtools.py] FAILED tests/test_examples.py::test_all_examples[/builddir/build/BUILD/pyrtl/tests/../examples/example3-statemachine.py] FAILED tests/test_examples.py::test_all_examples[/builddir/build/BUILD/pyrtl/tests/../examples/example2-counter.py] FAILED tests/test_examples.py::test_all_examples[/builddir/build/BUILD/pyrtl/tests/../examples/example1.2-wire-struct.py] FAILED tests/test_examples.py::test_all_examples[/builddir/build/BUILD/pyrtl/tests/../examples/example1.1-signed-numbers.py] FAILED tests/test_examples.py::test_all_examples[/builddir/build/BUILD/pyrtl/tests/../examples/example1-combologic.py] FAILED tests/test_examples.py::test_all_examples[/builddir/build/BUILD/pyrtl/tests/../examples/example0-minimum-viable-hardware.py] ================= 13 failed, 1178 passed, 7 skipped in 17.25s ================== + true + RPM_EC=0 ++ jobs -p + exit 0 Processing files: pyrtl-0.12-20251107.0.git1c06c9e9.el10.noarch Executing(%doc): /bin/sh -e /var/tmp/rpm-tmp.QvXgPQ + umask 022 + cd /builddir/build/BUILD + cd pyrtl + DOCDIR=/builddir/build/BUILDROOT/pyrtl-0.12-20251107.0.git1c06c9e9.el10.x86_64/usr/share/doc/pyrtl + export LC_ALL= + LC_ALL= + export DOCDIR + /usr/bin/mkdir -p /builddir/build/BUILDROOT/pyrtl-0.12-20251107.0.git1c06c9e9.el10.x86_64/usr/share/doc/pyrtl + cp -pr /builddir/build/BUILD/pyrtl/README.md /builddir/build/BUILDROOT/pyrtl-0.12-20251107.0.git1c06c9e9.el10.x86_64/usr/share/doc/pyrtl + RPM_EC=0 ++ jobs -p + exit 0 Executing(%license): /bin/sh -e /var/tmp/rpm-tmp.vFtJdL + umask 022 + cd /builddir/build/BUILD + cd pyrtl + LICENSEDIR=/builddir/build/BUILDROOT/pyrtl-0.12-20251107.0.git1c06c9e9.el10.x86_64/usr/share/licenses/pyrtl + export LC_ALL= + LC_ALL= + export LICENSEDIR + /usr/bin/mkdir -p /builddir/build/BUILDROOT/pyrtl-0.12-20251107.0.git1c06c9e9.el10.x86_64/usr/share/licenses/pyrtl + cp -pr /builddir/build/BUILD/pyrtl/LICENSE.md /builddir/build/BUILDROOT/pyrtl-0.12-20251107.0.git1c06c9e9.el10.x86_64/usr/share/licenses/pyrtl + RPM_EC=0 ++ jobs -p + exit 0 Provides: pyrtl = 0.12-20251107.0.git1c06c9e9.el10 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/BUILDROOT/pyrtl-0.12-20251107.0.git1c06c9e9.el10.x86_64 Wrote: /builddir/build/SRPMS/pyrtl-0.12-20251107.0.git1c06c9e9.el10.src.rpm Wrote: /builddir/build/RPMS/pyrtl-0.12-20251107.0.git1c06c9e9.el10.noarch.rpm Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.LuL3qo + umask 022 + cd /builddir/build/BUILD + cd pyrtl + /usr/bin/rm -rf /builddir/build/BUILDROOT/pyrtl-0.12-20251107.0.git1c06c9e9.el10.x86_64 + RPM_EC=0 ++ jobs -p + exit 0 Executing(rmbuild): /bin/sh -e /var/tmp/rpm-tmp.yDaBzI + umask 022 + cd /builddir/build/BUILD + rm -rf /builddir/build/BUILD/pyrtl-SPECPARTS + rm -rf pyrtl pyrtl.gemspec + RPM_EC=0 ++ jobs -p + exit 0 Finish: rpmbuild pyrtl-0.12-20251107.0.git1c06c9e9.el10.src.rpm Finish: build phase for pyrtl-0.12-20251107.0.git1c06c9e9.el10.src.rpm INFO: chroot_scan: 3 files copied to /var/lib/copr-rpmbuild/results/chroot_scan INFO: /var/lib/mock/centos-stream+epel-10-x86_64-1762651163.183733/root/var/log/dnf.rpm.log /var/lib/mock/centos-stream+epel-10-x86_64-1762651163.183733/root/var/log/dnf.librepo.log /var/lib/mock/centos-stream+epel-10-x86_64-1762651163.183733/root/var/log/dnf.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-20251107.0.git1c06c9e9.el10.src.rpm) Config(child) 0 minutes 40 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": "20251107.0.git1c06c9e9.el10", "arch": "noarch" }, { "name": "pyrtl", "epoch": null, "version": "0.12", "release": "20251107.0.git1c06c9e9.el10", "arch": "src" } ] } RPMResults finished