Warning: Permanently added '2620:52:3:1:dead:beef:cafe:c114' (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/8012205-fedora-rawhide-x86_64 --chroot fedora-rawhide-x86_64 Version: 0.73 PID: 17659 Logging PID: 17660 Task: {'allow_user_ssh': False, 'appstream': False, 'background': True, 'build_id': 8012205, 'buildroot_pkgs': [], 'chroot': 'fedora-rawhide-x86_64', 'enable_net': False, 'fedora_review': False, 'git_hash': 'd5853b324b275d4e80c0794199a395f8e34a179a', 'git_repo': 'https://copr-dist-git.fedorainfracloud.org/git/thrnciar/pytest-8.3.3/python-executing', 'isolation': 'default', 'memory_reqs': 2048, 'package_name': 'python-executing', 'package_version': '2.1.0-1', 'project_dirname': 'pytest-8.3.3', 'project_name': 'pytest-8.3.3', 'project_owner': 'thrnciar', 'repo_priority': None, 'repos': [{'baseurl': 'https://download.copr.fedorainfracloud.org/results/thrnciar/pytest-8.3.3/fedora-rawhide-x86_64/', 'id': 'copr_base', 'name': 'Copr repository', 'priority': None}], 'sandbox': 'thrnciar/pytest-8.3.3--thrnciar', 'source_json': {}, 'source_type': None, 'ssh_public_keys': None, 'submitter': 'thrnciar', 'tags': [], 'task_id': '8012205-fedora-rawhide-x86_64', 'timeout': None, 'uses_devel_repo': False, 'with_opts': [], 'without_opts': []} Running: git clone https://copr-dist-git.fedorainfracloud.org/git/thrnciar/pytest-8.3.3/python-executing /var/lib/copr-rpmbuild/workspace/workdir-ggwwyf5e/python-executing --depth 500 --no-single-branch --recursive cmd: ['git', 'clone', 'https://copr-dist-git.fedorainfracloud.org/git/thrnciar/pytest-8.3.3/python-executing', '/var/lib/copr-rpmbuild/workspace/workdir-ggwwyf5e/python-executing', '--depth', '500', '--no-single-branch', '--recursive'] cwd: . rc: 0 stdout: stderr: Cloning into '/var/lib/copr-rpmbuild/workspace/workdir-ggwwyf5e/python-executing'... Running: git checkout d5853b324b275d4e80c0794199a395f8e34a179a -- cmd: ['git', 'checkout', 'd5853b324b275d4e80c0794199a395f8e34a179a', '--'] cwd: /var/lib/copr-rpmbuild/workspace/workdir-ggwwyf5e/python-executing rc: 0 stdout: stderr: Note: switching to 'd5853b324b275d4e80c0794199a395f8e34a179a'. 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 d5853b3 automatic import of python-executing Running: copr-distgit-client sources cmd: ['copr-distgit-client', 'sources'] cwd: /var/lib/copr-rpmbuild/workspace/workdir-ggwwyf5e/python-executing 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 INFO: Downloading executing-2.1.0.tar.gz INFO: Reading stdout from command: curl --help all INFO: Calling: curl -H Pragma: -o executing-2.1.0.tar.gz --location --connect-timeout 60 --retry 3 --retry-delay 10 --remote-time --show-error --fail --retry-all-errors https://copr-dist-git.fedorainfracloud.org/repo/pkgs/thrnciar/pytest-8.3.3/python-executing/executing-2.1.0.tar.gz/md5/e64dd9916bb0a6c89f88295f4867c1b6/executing-2.1.0.tar.gz /usr/bin/tail: /var/lib/copr-rpmbuild/main.log: file truncated % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 954k 100 954k 0 0 9964k 0 --:--:-- --:--:-- --:--:-- 9943k INFO: Reading stdout from command: md5sum executing-2.1.0.tar.gz Running (timeout=None): unbuffer mock --spec /var/lib/copr-rpmbuild/workspace/workdir-ggwwyf5e/python-executing/python-executing.spec --sources /var/lib/copr-rpmbuild/workspace/workdir-ggwwyf5e/python-executing --resultdir /var/lib/copr-rpmbuild/results --uniqueext 1726140563.494066 -r /var/lib/copr-rpmbuild/results/configs/child.cfg INFO: mock.py version 5.6 starting (python version = 3.12.1, NVR = mock-5.6-1.fc39), args: /usr/libexec/mock/mock --spec /var/lib/copr-rpmbuild/workspace/workdir-ggwwyf5e/python-executing/python-executing.spec --sources /var/lib/copr-rpmbuild/workspace/workdir-ggwwyf5e/python-executing --resultdir /var/lib/copr-rpmbuild/results --uniqueext 1726140563.494066 -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-ggwwyf5e/python-executing/python-executing.spec) Config(fedora-rawhide-x86_64) Start: clean chroot Finish: clean chroot Mock Version: 5.6 INFO: Mock Version: 5.6 Start(bootstrap): chroot init INFO: mounting tmpfs at /var/lib/mock/fedora-rawhide-x86_64-bootstrap-1726140563.494066/root. INFO: calling preinit hooks INFO: enabled root cache INFO: enabled package manager cache Start(bootstrap): cleaning package manager metadata Finish(bootstrap): cleaning package manager metadata INFO: Guessed host environment type: unknown INFO: Using bootstrap image: registry.fedoraproject.org/fedora:rawhide INFO: Pulling image: registry.fedoraproject.org/fedora:rawhide INFO: Copy content of container registry.fedoraproject.org/fedora:rawhide to /var/lib/mock/fedora-rawhide-x86_64-bootstrap-1726140563.494066/root INFO: Checking that registry.fedoraproject.org/fedora:rawhide image matches host's architecture INFO: mounting registry.fedoraproject.org/fedora:rawhide with podman image mount INFO: image registry.fedoraproject.org/fedora:rawhide as /var/lib/containers/storage/overlay/d3c513cc9c079daa4915dff871501a2918b9936f70c4e817aef7ba20374f3661/merged INFO: umounting image registry.fedoraproject.org/fedora:rawhide (/var/lib/containers/storage/overlay/d3c513cc9c079daa4915dff871501a2918b9936f70c4e817aef7ba20374f3661/merged) with podman image umount INFO: Package manager dnf5 detected and used (fallback) INFO: Not updating bootstrap chroot, bootstrap_image_ready=True Start(bootstrap): creating root cache Finish(bootstrap): creating root cache Finish(bootstrap): chroot init Start: chroot init INFO: mounting tmpfs at /var/lib/mock/fedora-rawhide-x86_64-1726140563.494066/root. INFO: calling preinit hooks INFO: enabled root cache INFO: enabled package manager cache Start: cleaning package manager metadata Finish: cleaning package manager metadata INFO: enabled HW Info plugin INFO: Package manager dnf5 detected and used (direct choice) INFO: Buildroot is handled by package management downloaded with a bootstrap image: rpm-4.19.92-6.fc41.x86_64 rpm-sequoia-1.7.0-2.fc41.x86_64 dnf5-5.2.5.0-2.fc41.x86_64 dnf5-plugins-5.2.5.0-2.fc41.x86_64 Start: installing minimal buildroot with dnf5 Updating and loading repositories: fedora 100% | 168.5 KiB/s | 5.2 KiB | 00m00s Copr repository 100% | 25.5 KiB/s | 1.5 KiB | 00m00s Copr repository 100% | 4.0 MiB/s | 490.2 KiB | 00m00s Repositories loaded. Package Arch Version Repository Size Installing group/module packages: bash x86_64 5.2.32-2.fc42 fedora 8.2 MiB bzip2 x86_64 1.0.8-19.fc41 fedora 95.7 KiB coreutils x86_64 9.5-9.fc42 fedora 5.7 MiB cpio x86_64 2.15-2.fc41 fedora 1.1 MiB diffutils x86_64 3.10-8.fc41 fedora 1.6 MiB fedora-release-common noarch 42-0.3 fedora 19.4 KiB findutils x86_64 1:4.10.0-4.fc41 fedora 1.8 MiB gawk x86_64 5.3.0-4.fc41 fedora 1.7 MiB glibc-minimal-langpack x86_64 2.40.9000-1.fc42 fedora 0.0 B grep x86_64 3.11-9.fc41 fedora 1.0 MiB gzip x86_64 1.13-2.fc41 fedora 389.0 KiB info x86_64 7.1.1-1.fc42 fedora 361.9 KiB patch x86_64 2.7.6-25.fc41 fedora 266.7 KiB redhat-rpm-config noarch 295-1.fc42 fedora 186.6 KiB rpm-build x86_64 4.19.94-1.fc42 fedora 194.3 KiB sed x86_64 4.9-3.fc41 fedora 861.5 KiB shadow-utils x86_64 2:4.16.0-2.fc42 fedora 4.1 MiB tar x86_64 2:1.35-4.fc41 fedora 2.9 MiB unzip x86_64 6.0-64.fc41 fedora 386.8 KiB util-linux x86_64 2.40.2-8.fc42 fedora 3.7 MiB which x86_64 2.21-42.fc41 fedora 80.2 KiB xz x86_64 1:5.6.2-2.fc41 fedora 1.2 MiB Installing dependencies: add-determinism x86_64 0.3.6-1.fc41 fedora 2.2 MiB alternatives x86_64 1.30-1.fc41 fedora 66.3 KiB ansible-srpm-macros noarch 1-16.fc41 fedora 35.7 KiB audit-libs x86_64 4.0.2-1.fc41 fedora 331.3 KiB authselect x86_64 1.5.0-7.fc41 fedora 153.5 KiB authselect-libs x86_64 1.5.0-7.fc41 fedora 818.3 KiB basesystem noarch 11-21.fc41 fedora 0.0 B binutils x86_64 2.43.1-1.fc42 fedora 27.5 MiB build-reproducibility-srpm-macros noarch 0.3.6-1.fc41 fedora 735.0 B bzip2-libs x86_64 1.0.8-19.fc41 fedora 80.7 KiB ca-certificates noarch 2024.2.68_v8.0.302-3.fc41 fedora 2.3 MiB coreutils-common x86_64 9.5-9.fc42 fedora 11.2 MiB cracklib x86_64 2.9.11-6.fc41 fedora 238.9 KiB crypto-policies noarch 20240828-1.git5f66e81.fc42 copr_base 136.9 KiB curl x86_64 8.9.1-3.fc42 fedora 796.2 KiB cyrus-sasl-lib x86_64 2.1.28-27.fc41 fedora 2.3 MiB debugedit x86_64 5.0-17.fc41 fedora 199.3 KiB dwz x86_64 0.15-7.fc41 fedora 290.9 KiB ed x86_64 1.20.2-2.fc41 fedora 146.9 KiB efi-srpm-macros noarch 5-12.fc41 fedora 40.1 KiB elfutils x86_64 0.191-8.fc41 fedora 2.6 MiB elfutils-debuginfod-client x86_64 0.191-8.fc41 fedora 64.9 KiB elfutils-default-yama-scope noarch 0.191-8.fc41 fedora 1.8 KiB elfutils-libelf x86_64 0.191-8.fc41 fedora 1.2 MiB elfutils-libs x86_64 0.191-8.fc41 fedora 646.2 KiB fedora-gpg-keys noarch 42-0.1 fedora 126.4 KiB fedora-release noarch 42-0.3 fedora 0.0 B fedora-release-identity-basic noarch 42-0.3 fedora 694.0 B fedora-repos noarch 42-0.1 fedora 4.9 KiB fedora-repos-rawhide noarch 42-0.1 fedora 2.2 KiB file x86_64 5.45-7.fc41 fedora 103.5 KiB file-libs x86_64 5.45-7.fc41 fedora 9.9 MiB filesystem x86_64 3.18-23.fc41 fedora 106.0 B fonts-srpm-macros noarch 1:2.0.5-17.fc41 fedora 55.8 KiB forge-srpm-macros noarch 0.3.2-1.fc42 copr_base 39.0 KiB fpc-srpm-macros noarch 1.3-13.fc41 fedora 144.0 B gdb-minimal x86_64 15.1-2.fc42 fedora 13.0 MiB gdbm x86_64 1:1.23-7.fc41 fedora 460.9 KiB gdbm-libs x86_64 1:1.23-7.fc41 fedora 121.9 KiB ghc-srpm-macros noarch 1.9.1-2.fc41 fedora 747.0 B glibc x86_64 2.40.9000-1.fc42 fedora 6.7 MiB glibc-common x86_64 2.40.9000-1.fc42 fedora 1.0 MiB glibc-gconv-extra x86_64 2.40.9000-1.fc42 fedora 8.1 MiB gmp x86_64 1:6.3.0-2.fc41 fedora 811.4 KiB gnat-srpm-macros noarch 6-6.fc41 fedora 1.0 KiB go-srpm-macros noarch 3.6.0-3.fc41 fedora 60.8 KiB jansson x86_64 2.13.1-10.fc41 fedora 88.3 KiB kernel-srpm-macros noarch 1.0-24.fc41 fedora 1.9 KiB keyutils-libs x86_64 1.6.3-4.fc41 fedora 54.4 KiB krb5-libs x86_64 1.21.3-2.fc41 fedora 2.3 MiB libacl x86_64 2.3.2-2.fc41 fedora 40.0 KiB libarchive x86_64 3.7.4-3.fc41 fedora 922.6 KiB libattr x86_64 2.5.2-4.fc41 fedora 28.5 KiB libblkid x86_64 2.40.2-8.fc42 fedora 262.5 KiB libbrotli x86_64 1.1.0-5.fc41 fedora 837.6 KiB libcap x86_64 2.70-4.fc41 fedora 220.2 KiB libcap-ng x86_64 0.8.5-3.fc41 fedora 69.2 KiB libcom_err x86_64 1.47.1-3.fc41 fedora 67.2 KiB libcurl x86_64 8.9.1-3.fc42 fedora 818.1 KiB libeconf x86_64 0.6.2-3.fc41 fedora 58.0 KiB libevent x86_64 2.1.12-14.fc41 fedora 895.7 KiB libfdisk x86_64 2.40.2-8.fc42 fedora 362.9 KiB libffi x86_64 3.4.6-3.fc42 fedora 86.4 KiB libgcc x86_64 14.2.1-2.fc42 fedora 274.6 KiB libgomp x86_64 14.2.1-2.fc42 fedora 523.4 KiB libidn2 x86_64 2.3.7-2.fc41 fedora 329.1 KiB libmount x86_64 2.40.2-8.fc42 fedora 355.8 KiB libnghttp2 x86_64 1.63.0-1.fc42 fedora 170.1 KiB libnsl2 x86_64 2.0.1-2.fc41 fedora 57.9 KiB libpkgconf x86_64 2.3.0-1.fc42 fedora 78.2 KiB libpsl x86_64 0.21.5-4.fc41 fedora 80.5 KiB libpwquality x86_64 1.4.5-11.fc41 fedora 417.8 KiB libselinux x86_64 3.7-6.fc42 fedora 181.1 KiB libsemanage x86_64 3.7-2.fc41 fedora 293.5 KiB libsepol x86_64 3.7-3.fc42 fedora 818.0 KiB libsmartcols x86_64 2.40.2-8.fc42 fedora 180.4 KiB libssh x86_64 0.11.1-1.fc42 fedora 569.6 KiB libssh-config noarch 0.11.1-1.fc42 fedora 277.0 B libstdc++ x86_64 14.2.1-2.fc42 fedora 2.8 MiB libtasn1 x86_64 4.19.0-9.fc41 fedora 175.7 KiB libtirpc x86_64 1.3.5-0.fc41 fedora 202.7 KiB libtool-ltdl x86_64 2.4.7-12.fc41 fedora 66.2 KiB libunistring x86_64 1.1-8.fc41 fedora 1.7 MiB libuuid x86_64 2.40.2-8.fc42 fedora 41.4 KiB libverto x86_64 0.3.2-9.fc41 fedora 29.5 KiB libxcrypt x86_64 4.4.36-7.fc41 fedora 266.8 KiB libxml2 x86_64 2.12.8-2.fc41 fedora 1.7 MiB libzstd x86_64 1.5.6-2.fc41 fedora 795.9 KiB lua-libs x86_64 5.4.6-6.fc41 fedora 285.0 KiB lua-srpm-macros noarch 1-14.fc41 fedora 1.3 KiB lz4-libs x86_64 1.10.0-1.fc41 fedora 145.5 KiB mpfr x86_64 4.2.1-5.fc41 fedora 832.1 KiB ncurses-base noarch 6.5-2.20240629.fc41 fedora 326.3 KiB ncurses-libs x86_64 6.5-2.20240629.fc41 fedora 975.2 KiB ocaml-srpm-macros noarch 10-3.fc41 fedora 1.9 KiB openblas-srpm-macros noarch 2-18.fc41 fedora 112.0 B openldap x86_64 2.6.8-5.fc41 fedora 644.2 KiB openssl-libs x86_64 1:3.2.2-5.fc41 fedora 7.8 MiB p11-kit x86_64 0.25.5-3.fc41 fedora 2.2 MiB p11-kit-trust x86_64 0.25.5-3.fc41 fedora 391.4 KiB package-notes-srpm-macros noarch 0.5-12.fc41 fedora 1.6 KiB pam x86_64 1.6.1-6.fc42 fedora 1.8 MiB pam-libs x86_64 1.6.1-6.fc42 fedora 139.0 KiB pcre2 x86_64 10.44-1.fc41.1 fedora 653.5 KiB pcre2-syntax noarch 10.44-1.fc41.1 fedora 251.6 KiB perl-srpm-macros noarch 1-56.fc41 fedora 861.0 B pkgconf x86_64 2.3.0-1.fc42 fedora 88.6 KiB pkgconf-m4 noarch 2.3.0-1.fc42 fedora 14.4 KiB pkgconf-pkg-config x86_64 2.3.0-1.fc42 fedora 989.0 B popt x86_64 1.19-7.fc41 fedora 136.9 KiB publicsuffix-list-dafsa noarch 20240107-4.fc41 fedora 67.5 KiB pyproject-srpm-macros noarch 1.14.0-1.fc42 copr_base 1.9 KiB python-srpm-macros noarch 3.13-3.fc41 fedora 51.0 KiB qt5-srpm-macros noarch 5.15.15-1.fc42 fedora 500.0 B qt6-srpm-macros noarch 6.7.2-3.fc41 fedora 456.0 B readline x86_64 8.2-11.fc42 fedora 493.1 KiB rpm x86_64 4.19.94-1.fc42 fedora 3.1 MiB rpm-build-libs x86_64 4.19.94-1.fc42 fedora 206.7 KiB rpm-libs x86_64 4.19.94-1.fc42 fedora 722.1 KiB rpm-sequoia x86_64 1.7.0-2.fc41 fedora 2.4 MiB rust-srpm-macros noarch 26.3-3.fc42 fedora 4.8 KiB setup noarch 2.15.0-5.fc41 fedora 720.7 KiB sqlite-libs x86_64 3.46.0-4.fc41 fedora 1.4 MiB systemd-libs x86_64 256.6-1.fc42 copr_base 2.0 MiB util-linux-core x86_64 2.40.2-8.fc42 fedora 1.5 MiB xxhash-libs x86_64 0.8.2-3.fc41 fedora 88.5 KiB xz-libs x86_64 1:5.6.2-2.fc41 fedora 214.4 KiB zig-srpm-macros noarch 1-3.fc41 fedora 1.1 KiB zip x86_64 3.0-41.fc41 fedora 703.2 KiB zlib-ng-compat x86_64 2.1.7-2.fc41 fedora 134.0 KiB zstd x86_64 1.5.6-2.fc41 fedora 1.7 MiB Installing groups: Buildsystem building group Transaction Summary: Installing: 153 packages Total size of inbound packages is 53 MiB. Need to download 0 B. After this operation 180 MiB will be used (install 180 MiB, remove 0 B). [ 1/153] tar-2:1.35-4.fc41.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 2/153] bzip2-0:1.0.8-19.fc41.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 3/153] redhat-rpm-config-0:295-1.fc4 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 4/153] rpm-build-0:4.19.94-1.fc42.x8 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 5/153] unzip-0:6.0-64.fc41.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 6/153] cpio-0:2.15-2.fc41.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 7/153] which-0:2.21-42.fc41.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 8/153] bash-0:5.2.32-2.fc42.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 9/153] coreutils-0:9.5-9.fc42.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 10/153] grep-0:3.11-9.fc41.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 11/153] patch-0:2.7.6-25.fc41.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 12/153] sed-0:4.9-3.fc41.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 13/153] shadow-utils-2:4.16.0-2.fc42. 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 14/153] diffutils-0:3.10-8.fc41.x86_6 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 15/153] fedora-release-common-0:42-0. 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 16/153] findutils-1:4.10.0-4.fc41.x86 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 17/153] glibc-minimal-langpack-0:2.40 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 18/153] gzip-0:1.13-2.fc41.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 19/153] info-0:7.1.1-1.fc42.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 20/153] xz-1:5.6.2-2.fc41.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 21/153] util-linux-0:2.40.2-8.fc42.x8 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 22/153] gawk-0:5.3.0-4.fc41.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 23/153] glibc-0:2.40.9000-1.fc42.x86_ 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 24/153] libacl-0:2.3.2-2.fc41.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 25/153] libselinux-0:3.7-6.fc42.x86_6 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 26/153] bzip2-libs-0:1.0.8-19.fc41.x8 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 27/153] ansible-srpm-macros-0:1-16.fc 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 28/153] build-reproducibility-srpm-ma 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 29/153] dwz-0:0.15-7.fc41.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 30/153] efi-srpm-macros-0:5-12.fc41.n 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 31/153] file-0:5.45-7.fc41.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 32/153] fonts-srpm-macros-1:2.0.5-17. 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 33/153] fpc-srpm-macros-0:1.3-13.fc41 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 34/153] ghc-srpm-macros-0:1.9.1-2.fc4 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 35/153] gnat-srpm-macros-0:6-6.fc41.n 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 36/153] go-srpm-macros-0:3.6.0-3.fc41 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 37/153] kernel-srpm-macros-0:1.0-24.f 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 38/153] lua-srpm-macros-0:1-14.fc41.n 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 39/153] ocaml-srpm-macros-0:10-3.fc41 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 40/153] openblas-srpm-macros-0:2-18.f 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 41/153] package-notes-srpm-macros-0:0 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 42/153] perl-srpm-macros-0:1-56.fc41. 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 43/153] python-srpm-macros-0:3.13-3.f 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 44/153] qt5-srpm-macros-0:5.15.15-1.f 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 45/153] qt6-srpm-macros-0:6.7.2-3.fc4 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 46/153] rpm-0:4.19.94-1.fc42.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 47/153] rust-srpm-macros-0:26.3-3.fc4 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 48/153] zig-srpm-macros-0:1-3.fc41.no 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 49/153] zip-0:3.0-41.fc41.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 50/153] debugedit-0:5.0-17.fc41.x86_6 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 51/153] elfutils-0:0.191-8.fc41.x86_6 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 52/153] elfutils-libelf-0:0.191-8.fc4 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 53/153] libarchive-0:3.7.4-3.fc41.x86 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 54/153] popt-0:1.19-7.fc41.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 55/153] readline-0:8.2-11.fc42.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 56/153] rpm-build-libs-0:4.19.94-1.fc 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 57/153] rpm-libs-0:4.19.94-1.fc42.x86 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 58/153] zstd-0:1.5.6-2.fc41.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 59/153] filesystem-0:3.18-23.fc41.x86 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 60/153] ncurses-libs-0:6.5-2.20240629 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 61/153] coreutils-common-0:9.5-9.fc42 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 62/153] gmp-1:6.3.0-2.fc41.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 63/153] libattr-0:2.5.2-4.fc41.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 64/153] libcap-0:2.70-4.fc41.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 65/153] openssl-libs-1:3.2.2-5.fc41.x 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 66/153] pcre2-0:10.44-1.fc41.1.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 67/153] ed-0:1.20.2-2.fc41.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 68/153] audit-libs-0:4.0.2-1.fc41.x86 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 69/153] libeconf-0:0.6.2-3.fc41.x86_6 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 70/153] libsemanage-0:3.7-2.fc41.x86_ 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 71/153] libxcrypt-0:4.4.36-7.fc41.x86 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 72/153] pam-libs-0:1.6.1-6.fc42.x86_6 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 73/153] setup-0:2.15.0-5.fc41.noarch 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 74/153] fedora-repos-0:42-0.1.noarch 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 75/153] glibc-common-0:2.40.9000-1.fc 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 76/153] xz-libs-1:5.6.2-2.fc41.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 77/153] libblkid-0:2.40.2-8.fc42.x86_ 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 78/153] libcap-ng-0:0.8.5-3.fc41.x86_ 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 79/153] libfdisk-0:2.40.2-8.fc42.x86_ 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 80/153] libmount-0:2.40.2-8.fc42.x86_ 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 81/153] libsmartcols-0:2.40.2-8.fc42. 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 82/153] libuuid-0:2.40.2-8.fc42.x86_6 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 83/153] util-linux-core-0:2.40.2-8.fc 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 84/153] zlib-ng-compat-0:2.1.7-2.fc41 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 85/153] mpfr-0:4.2.1-5.fc41.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 86/153] glibc-gconv-extra-0:2.40.9000 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 87/153] basesystem-0:11-21.fc41.noarc 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 88/153] libgcc-0:14.2.1-2.fc42.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 89/153] libsepol-0:3.7-3.fc42.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 90/153] add-determinism-0:0.3.6-1.fc4 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 91/153] file-libs-0:5.45-7.fc41.x86_6 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 92/153] curl-0:8.9.1-3.fc42.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 93/153] elfutils-libs-0:0.191-8.fc41. 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 94/153] elfutils-debuginfod-client-0: 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 95/153] libstdc++-0:14.2.1-2.fc42.x86 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 96/153] libzstd-0:1.5.6-2.fc41.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 97/153] libxml2-0:2.12.8-2.fc41.x86_6 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 98/153] lz4-libs-0:1.10.0-1.fc41.x86_ 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 99/153] libgomp-0:14.2.1-2.fc42.x86_6 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [100/153] lua-libs-0:5.4.6-6.fc41.x86_6 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [101/153] rpm-sequoia-0:1.7.0-2.fc41.x8 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [102/153] sqlite-libs-0:3.46.0-4.fc41.x 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [103/153] ncurses-base-0:6.5-2.20240629 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [104/153] ca-certificates-0:2024.2.68_v 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [105/153] pcre2-syntax-0:10.44-1.fc41.1 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [106/153] fedora-gpg-keys-0:42-0.1.noar 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [107/153] fedora-repos-rawhide-0:42-0.1 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [108/153] elfutils-default-yama-scope-0 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [109/153] systemd-libs-0:256.6-1.fc42.x 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [110/153] authselect-libs-0:1.5.0-7.fc4 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [111/153] pam-0:1.6.1-6.fc42.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [112/153] authselect-0:1.5.0-7.fc41.x86 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [113/153] gdbm-libs-1:1.23-7.fc41.x86_6 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [114/153] libnsl2-0:2.0.1-2.fc41.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [115/153] libpwquality-0:1.4.5-11.fc41. 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [116/153] libtirpc-0:1.3.5-0.fc41.x86_6 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [117/153] cracklib-0:2.9.11-6.fc41.x86_ 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [118/153] krb5-libs-0:1.21.3-2.fc41.x86 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [119/153] libcom_err-0:1.47.1-3.fc41.x8 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [120/153] keyutils-libs-0:1.6.3-4.fc41. 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [121/153] libverto-0:0.3.2-9.fc41.x86_6 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [122/153] binutils-0:2.43.1-1.fc42.x86_ 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [123/153] alternatives-0:1.30-1.fc41.x8 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [124/153] jansson-0:2.13.1-10.fc41.x86_ 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [125/153] pkgconf-pkg-config-0:2.3.0-1. 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [126/153] pkgconf-0:2.3.0-1.fc42.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [127/153] pkgconf-m4-0:2.3.0-1.fc42.noa 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [128/153] libpkgconf-0:2.3.0-1.fc42.x86 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [129/153] forge-srpm-macros-0:0.3.2-1.f 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [130/153] pyproject-srpm-macros-0:1.14. 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [131/153] gdbm-1:1.23-7.fc41.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [132/153] crypto-policies-0:20240828-1. 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [133/153] p11-kit-0:0.25.5-3.fc41.x86_6 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [134/153] libffi-0:3.4.6-3.fc42.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [135/153] libtasn1-0:4.19.0-9.fc41.x86_ 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [136/153] p11-kit-trust-0:0.25.5-3.fc41 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [137/153] fedora-release-0:42-0.3.noarc 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [138/153] gdb-minimal-0:15.1-2.fc42.x86 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [139/153] xxhash-libs-0:0.8.2-3.fc41.x8 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [140/153] fedora-release-identity-basic 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [141/153] libcurl-0:8.9.1-3.fc42.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [142/153] libbrotli-0:1.1.0-5.fc41.x86_ 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [143/153] libidn2-0:2.3.7-2.fc41.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [144/153] libnghttp2-0:1.63.0-1.fc42.x8 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [145/153] libpsl-0:0.21.5-4.fc41.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [146/153] libssh-0:0.11.1-1.fc42.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [147/153] openldap-0:2.6.8-5.fc41.x86_6 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [148/153] libunistring-0:1.1-8.fc41.x86 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [149/153] publicsuffix-list-dafsa-0:202 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [150/153] libssh-config-0:0.11.1-1.fc42 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [151/153] cyrus-sasl-lib-0:2.1.28-27.fc 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [152/153] libevent-0:2.1.12-14.fc41.x86 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [153/153] libtool-ltdl-0:2.4.7-12.fc41. 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [153/153] Total 100% | 0.0 B/s | 0.0 B | 00m00s Running transaction Importing PGP key 0x105EF944: Userid : "Fedora (42) " Fingerprint: B0F4950458F69E1150C6C5EDC8AC4916105EF944 From : file:///usr/share/distribution-gpg-keys/fedora/RPM-GPG-KEY-fedora-42-primary The key was successfully imported. Importing PGP key 0x105EF944: Userid : "Fedora (42) " Fingerprint: B0F4950458F69E1150C6C5EDC8AC4916105EF944 From : file:///usr/share/distribution-gpg-keys/fedora/RPM-GPG-KEY-fedora-42-primary The key was successfully imported. Importing PGP key 0xE99D6AD1: Userid : "Fedora (41) " Fingerprint: 466CF2D8B60BC3057AA9453ED0622462E99D6AD1 From : file:///usr/share/distribution-gpg-keys/fedora/RPM-GPG-KEY-fedora-41-primary The key was successfully imported. Importing PGP key 0x31645531: Userid : "Fedora (43) " Fingerprint: C6E7F081CF80E13146676E88829B606631645531 From : file:///usr/share/distribution-gpg-keys/fedora/RPM-GPG-KEY-fedora-43-primary The key was successfully imported. [ 1/155] Verify package files 100% | 735.0 B/s | 153.0 B | 00m00s >>> Running pre-transaction scriptlet: filesystem-0:3.18-23.fc41.x86_64 >>> Stop pre-transaction scriptlet: filesystem-0:3.18-23.fc41.x86_64 [ 2/155] Prepare transaction 100% | 1.8 KiB/s | 153.0 B | 00m00s [ 3/155] Installing libgcc-0:14.2.1-2. 100% | 134.9 MiB/s | 276.3 KiB | 00m00s >>> Running post-install scriptlet: libgcc-0:14.2.1-2.fc42.x86_64 >>> Stop post-install scriptlet: libgcc-0:14.2.1-2.fc42.x86_64 [ 4/155] Installing libssh-config-0:0. 100% | 796.9 KiB/s | 816.0 B | 00m00s [ 5/155] Installing publicsuffix-list- 100% | 66.7 MiB/s | 68.3 KiB | 00m00s [ 6/155] Installing fedora-release-ide 100% | 929.7 KiB/s | 952.0 B | 00m00s [ 7/155] Installing fedora-gpg-keys-0: 100% | 18.7 MiB/s | 172.2 KiB | 00m00s [ 8/155] Installing fedora-repos-rawhi 100% | 0.0 B/s | 2.4 KiB | 00m00s [ 9/155] Installing fedora-repos-0:42- 100% | 5.6 MiB/s | 5.7 KiB | 00m00s [ 10/155] Installing fedora-release-com 100% | 11.6 MiB/s | 23.7 KiB | 00m00s [ 11/155] Installing fedora-release-0:4 100% | 0.0 B/s | 124.0 B | 00m00s [ 12/155] Installing setup-0:2.15.0-5.f 100% | 44.3 MiB/s | 726.1 KiB | 00m00s >>> Running post-install scriptlet: setup-0:2.15.0-5.fc41.noarch >>> Stop post-install scriptlet: setup-0:2.15.0-5.fc41.noarch [ 13/155] Installing filesystem-0:3.18- 100% | 1.6 MiB/s | 212.5 KiB | 00m00s [ 14/155] Installing basesystem-0:11-21 100% | 0.0 B/s | 124.0 B | 00m00s [ 15/155] Installing pkgconf-m4-0:2.3.0 100% | 14.5 MiB/s | 14.8 KiB | 00m00s [ 16/155] Installing pcre2-syntax-0:10. 100% | 124.1 MiB/s | 254.1 KiB | 00m00s [ 17/155] Installing ncurses-base-0:6.5 100% | 34.3 MiB/s | 351.7 KiB | 00m00s [ 18/155] Installing glibc-minimal-lang 100% | 0.0 B/s | 124.0 B | 00m00s [ 19/155] Installing ncurses-libs-0:6.5 100% | 137.0 MiB/s | 981.8 KiB | 00m00s >>> Running pre-install scriptlet: glibc-0:2.40.9000-1.fc42.x86_64 >>> Stop pre-install scriptlet: glibc-0:2.40.9000-1.fc42.x86_64 warning: posix.fork(): .fork(), .exec(), .wait() and .redirect2null() are deprecated, use rpm.execute() instead warning: posix.wait(): .fork(), .exec(), .wait() and .redirect2null() are deprecated, use rpm.execute() instead warning: posix.exec(): .fork(), .exec(), .wait() and .redirect2null() are deprecated, use rpm.execute() instead warning: posix.fork(): .fork(), .exec(), .wait() and .redirect2null() are deprecated, use rpm.execute() instead warning: posix.wait(): .fork(), .exec(), .wait() and .redirect2null() are deprecated, use rpm.execute() instead warning: posix.exec(): .fork(), .exec(), .wait() and .redirect2null() are deprecated, use rpm.execute() instead [ 20/155] Installing glibc-0:2.40.9000- 100% | 128.9 MiB/s | 6.7 MiB | 00m00s >>> Running post-install scriptlet: glibc-0:2.40.9000-1.fc42.x86_64 >>> Stop post-install scriptlet: glibc-0:2.40.9000-1.fc42.x86_64 [ 21/155] Installing bash-0:5.2.32-2.fc 100% | 247.6 MiB/s | 8.2 MiB | 00m00s >>> Running post-install scriptlet: bash-0:5.2.32-2.fc42.x86_64 >>> Stop post-install scriptlet: bash-0:5.2.32-2.fc42.x86_64 [ 22/155] Installing glibc-common-0:2.4 100% | 116.4 MiB/s | 1.0 MiB | 00m00s warning: posix.fork(): .fork(), .exec(), .wait() and .redirect2null() are deprecated, use rpm.execute() instead warning: posix.wait(): .fork(), .exec(), .wait() and .redirect2null() are deprecated, use rpm.execute() instead warning: posix.exec(): .fork(), .exec(), .wait() and .redirect2null() are deprecated, use rpm.execute() instead [ 23/155] Installing glibc-gconv-extra- 100% | 124.5 MiB/s | 8.2 MiB | 00m00s >>> Running post-install scriptlet: glibc-gconv-extra-0:2.40.9000-1.fc42.x86_64 >>> Stop post-install scriptlet: glibc-gconv-extra-0:2.40.9000-1.fc42.x86_64 [ 24/155] Installing zlib-ng-compat-0:2 100% | 131.7 MiB/s | 134.8 KiB | 00m00s [ 25/155] Installing bzip2-libs-0:1.0.8 100% | 79.9 MiB/s | 81.8 KiB | 00m00s [ 26/155] Installing xz-libs-1:5.6.2-2. 100% | 105.2 MiB/s | 215.5 KiB | 00m00s [ 27/155] Installing popt-0:1.19-7.fc41 100% | 28.0 MiB/s | 143.5 KiB | 00m00s [ 28/155] Installing readline-0:8.2-11. 100% | 161.2 MiB/s | 495.3 KiB | 00m00s [ 29/155] Installing libuuid-0:2.40.2-8 100% | 41.5 MiB/s | 42.5 KiB | 00m00s [ 30/155] Installing libblkid-0:2.40.2- 100% | 128.7 MiB/s | 263.6 KiB | 00m00s [ 31/155] Installing gmp-1:6.3.0-2.fc41 100% | 198.6 MiB/s | 813.7 KiB | 00m00s [ 32/155] Installing libattr-0:2.5.2-4. 100% | 28.8 MiB/s | 29.5 KiB | 00m00s [ 33/155] Installing libacl-0:2.3.2-2.f 100% | 39.8 MiB/s | 40.7 KiB | 00m00s [ 34/155] Installing libxcrypt-0:4.4.36 100% | 131.6 MiB/s | 269.5 KiB | 00m00s [ 35/155] Installing libstdc++-0:14.2.1 100% | 251.8 MiB/s | 2.8 MiB | 00m00s [ 36/155] Installing libzstd-0:1.5.6-2. 100% | 259.5 MiB/s | 797.2 KiB | 00m00s [ 37/155] Installing elfutils-libelf-0: 100% | 233.8 MiB/s | 1.2 MiB | 00m00s [ 38/155] Installing libeconf-0:0.6.2-3 100% | 58.3 MiB/s | 59.7 KiB | 00m00s [ 39/155] Installing gdbm-libs-1:1.23-7 100% | 120.7 MiB/s | 123.6 KiB | 00m00s [ 40/155] Installing dwz-0:0.15-7.fc41. 100% | 142.7 MiB/s | 292.3 KiB | 00m00s [ 41/155] Installing mpfr-0:4.2.1-5.fc4 100% | 203.5 MiB/s | 833.7 KiB | 00m00s [ 42/155] Installing gawk-0:5.3.0-4.fc4 100% | 173.2 MiB/s | 1.7 MiB | 00m00s [ 43/155] Installing unzip-0:6.0-64.fc4 100% | 127.0 MiB/s | 390.3 KiB | 00m00s [ 44/155] Installing file-libs-0:5.45-7 100% | 397.4 MiB/s | 9.9 MiB | 00m00s [ 45/155] Installing file-0:5.45-7.fc41 100% | 7.9 MiB/s | 105.0 KiB | 00m00s >>> Running pre-install scriptlet: crypto-policies-0:20240828-1.git5f66e81.fc42. >>> Stop pre-install scriptlet: crypto-policies-0:20240828-1.git5f66e81.fc42.noa [ 46/155] Installing crypto-policies-0: 100% | 14.5 MiB/s | 163.2 KiB | 00m00s >>> Running post-install scriptlet: crypto-policies-0:20240828-1.git5f66e81.fc42 >>> Stop post-install scriptlet: crypto-policies-0:20240828-1.git5f66e81.fc42.no [ 47/155] Installing pcre2-0:10.44-1.fc 100% | 213.2 MiB/s | 654.9 KiB | 00m00s [ 48/155] Installing grep-0:3.11-9.fc41 100% | 111.5 MiB/s | 1.0 MiB | 00m00s [ 49/155] Installing xz-1:5.6.2-2.fc41. 100% | 120.5 MiB/s | 1.2 MiB | 00m00s [ 50/155] Installing libcap-ng-0:0.8.5- 100% | 69.4 MiB/s | 71.0 KiB | 00m00s [ 51/155] Installing audit-libs-0:4.0.2 100% | 162.8 MiB/s | 333.4 KiB | 00m00s [ 52/155] Installing pam-libs-0:1.6.1-6 100% | 69.0 MiB/s | 141.3 KiB | 00m00s [ 53/155] Installing libcap-0:2.70-4.fc 100% | 73.3 MiB/s | 225.2 KiB | 00m00s [ 54/155] Installing systemd-libs-0:256 100% | 226.4 MiB/s | 2.0 MiB | 00m00s [ 55/155] Installing libsmartcols-0:2.4 100% | 177.1 MiB/s | 181.4 KiB | 00m00s [ 56/155] Installing libsepol-0:3.7-3.f 100% | 266.6 MiB/s | 819.0 KiB | 00m00s [ 57/155] Installing libselinux-0:3.7-6 100% | 89.0 MiB/s | 182.3 KiB | 00m00s [ 58/155] Installing sed-0:4.9-3.fc41.x 100% | 121.3 MiB/s | 869.7 KiB | 00m00s [ 59/155] Installing findutils-1:4.10.0 100% | 185.8 MiB/s | 1.9 MiB | 00m00s [ 60/155] Installing libmount-0:2.40.2- 100% | 174.3 MiB/s | 356.9 KiB | 00m00s [ 61/155] Installing lz4-libs-0:1.10.0- 100% | 143.1 MiB/s | 146.6 KiB | 00m00s [ 62/155] Installing lua-libs-0:5.4.6-6 100% | 139.8 MiB/s | 286.2 KiB | 00m00s [ 63/155] Installing libcom_err-0:1.47. 100% | 66.7 MiB/s | 68.3 KiB | 00m00s [ 64/155] Installing alternatives-0:1.3 100% | 66.3 MiB/s | 67.9 KiB | 00m00s [ 65/155] Installing libtasn1-0:4.19.0- 100% | 86.7 MiB/s | 177.5 KiB | 00m00s [ 66/155] Installing libunistring-0:1.1 100% | 247.2 MiB/s | 1.7 MiB | 00m00s [ 67/155] Installing libidn2-0:2.3.7-2. 100% | 65.4 MiB/s | 335.1 KiB | 00m00s [ 68/155] Installing libpsl-0:0.21.5-4. 100% | 79.7 MiB/s | 81.7 KiB | 00m00s [ 69/155] Installing zstd-0:1.5.6-2.fc4 100% | 241.6 MiB/s | 1.7 MiB | 00m00s [ 70/155] Installing util-linux-core-0: 100% | 138.9 MiB/s | 1.5 MiB | 00m00s [ 71/155] Installing tar-2:1.35-4.fc41. 100% | 211.3 MiB/s | 3.0 MiB | 00m00s [ 72/155] Installing libsemanage-0:3.7- 100% | 96.1 MiB/s | 295.2 KiB | 00m00s [ 73/155] Installing shadow-utils-2:4.1 100% | 119.1 MiB/s | 4.2 MiB | 00m00s [ 74/155] Installing zip-0:3.0-41.fc41. 100% | 172.6 MiB/s | 707.1 KiB | 00m00s [ 75/155] Installing gdbm-1:1.23-7.fc41 100% | 113.7 MiB/s | 465.8 KiB | 00m00s [ 76/155] Installing cyrus-sasl-lib-0:2 100% | 230.6 MiB/s | 2.3 MiB | 00m00s [ 77/155] Installing libfdisk-0:2.40.2- 100% | 177.7 MiB/s | 364.0 KiB | 00m00s [ 78/155] Installing libxml2-0:2.12.8-2 100% | 214.0 MiB/s | 1.7 MiB | 00m00s [ 79/155] Installing bzip2-0:1.0.8-19.f 100% | 48.9 MiB/s | 100.2 KiB | 00m00s [ 80/155] Installing add-determinism-0: 100% | 249.6 MiB/s | 2.2 MiB | 00m00s [ 81/155] Installing build-reproducibil 100% | 0.0 B/s | 1.0 KiB | 00m00s [ 82/155] Installing sqlite-libs-0:3.46 100% | 238.2 MiB/s | 1.4 MiB | 00m00s [ 83/155] Installing ed-0:1.20.2-2.fc41 100% | 72.8 MiB/s | 149.2 KiB | 00m00s [ 84/155] Installing patch-0:2.7.6-25.f 100% | 131.0 MiB/s | 268.2 KiB | 00m00s [ 85/155] Installing elfutils-default-y 100% | 170.2 KiB/s | 2.0 KiB | 00m00s >>> Running post-install scriptlet: elfutils-default-yama-scope-0:0.191-8.fc41.n >>> Stop post-install scriptlet: elfutils-default-yama-scope-0:0.191-8.fc41.noar [ 86/155] Installing elfutils-libs-0:0. 100% | 158.2 MiB/s | 648.0 KiB | 00m00s [ 87/155] Installing cpio-0:2.15-2.fc41 100% | 137.5 MiB/s | 1.1 MiB | 00m00s [ 88/155] Installing diffutils-0:3.10-8 100% | 159.0 MiB/s | 1.6 MiB | 00m00s [ 89/155] Installing libgomp-0:14.2.1-2 100% | 170.8 MiB/s | 524.8 KiB | 00m00s [ 90/155] Installing keyutils-libs-0:1. 100% | 54.5 MiB/s | 55.8 KiB | 00m00s [ 91/155] Installing libverto-0:0.3.2-9 100% | 30.5 MiB/s | 31.3 KiB | 00m00s [ 92/155] Installing jansson-0:2.13.1-1 100% | 87.6 MiB/s | 89.7 KiB | 00m00s [ 93/155] Installing libpkgconf-0:2.3.0 100% | 77.5 MiB/s | 79.3 KiB | 00m00s [ 94/155] Installing pkgconf-0:2.3.0-1. 100% | 44.5 MiB/s | 91.1 KiB | 00m00s [ 95/155] Installing pkgconf-pkg-config 100% | 1.7 MiB/s | 1.8 KiB | 00m00s [ 96/155] Installing libffi-0:3.4.6-3.f 100% | 85.7 MiB/s | 87.8 KiB | 00m00s [ 97/155] Installing p11-kit-0:0.25.5-3 100% | 147.2 MiB/s | 2.2 MiB | 00m00s [ 98/155] Installing p11-kit-trust-0:0. 100% | 29.5 MiB/s | 393.1 KiB | 00m00s >>> Running post-install scriptlet: p11-kit-trust-0:0.25.5-3.fc41.x86_64 >>> Stop post-install scriptlet: p11-kit-trust-0:0.25.5-3.fc41.x86_64 [ 99/155] Installing xxhash-libs-0:0.8. 100% | 43.9 MiB/s | 89.9 KiB | 00m00s [100/155] Installing libbrotli-0:1.1.0- 100% | 205.0 MiB/s | 839.9 KiB | 00m00s [101/155] Installing libnghttp2-0:1.63. 100% | 167.2 MiB/s | 171.2 KiB | 00m00s [102/155] Installing libtool-ltdl-0:2.4 100% | 32.9 MiB/s | 67.3 KiB | 00m00s [103/155] Installing coreutils-common-0 100% | 238.1 MiB/s | 11.2 MiB | 00m00s [104/155] Installing openssl-libs-1:3.2 100% | 260.9 MiB/s | 7.8 MiB | 00m00s [105/155] Installing coreutils-0:9.5-9. 100% | 154.6 MiB/s | 5.7 MiB | 00m00s >>> Running pre-install scriptlet: ca-certificates-0:2024.2.68_v8.0.302-3.fc41.n >>> Stop pre-install scriptlet: ca-certificates-0:2024.2.68_v8.0.302-3.fc41.noar [106/155] Installing ca-certificates-0: 100% | 2.3 MiB/s | 2.4 MiB | 00m01s >>> Running post-install scriptlet: ca-certificates-0:2024.2.68_v8.0.302-3.fc41. >>> Stop post-install scriptlet: ca-certificates-0:2024.2.68_v8.0.302-3.fc41.noa [107/155] Installing krb5-libs-0:1.21.3 100% | 135.3 MiB/s | 2.3 MiB | 00m00s [108/155] Installing libarchive-0:3.7.4 100% | 150.5 MiB/s | 924.6 KiB | 00m00s [109/155] Installing libtirpc-0:1.3.5-0 100% | 99.8 MiB/s | 204.5 KiB | 00m00s [110/155] Installing gzip-0:1.13-2.fc41 100% | 64.2 MiB/s | 394.6 KiB | 00m00s [111/155] Installing authselect-libs-0: 100% | 67.8 MiB/s | 833.2 KiB | 00m00s [112/155] Installing cracklib-0:2.9.11- 100% | 27.2 MiB/s | 250.3 KiB | 00m00s [113/155] Installing libpwquality-0:1.4 100% | 38.2 MiB/s | 430.1 KiB | 00m00s [114/155] Installing libnsl2-0:2.0.1-2. 100% | 19.2 MiB/s | 59.1 KiB | 00m00s [115/155] Installing pam-0:1.6.1-6.fc42 100% | 56.9 MiB/s | 1.9 MiB | 00m00s [116/155] Installing libssh-0:0.11.1-1. 100% | 111.7 MiB/s | 571.7 KiB | 00m00s [117/155] Installing rpm-sequoia-0:1.7. 100% | 197.3 MiB/s | 2.4 MiB | 00m00s [118/155] Installing rpm-libs-0:4.19.94 100% | 141.3 MiB/s | 723.6 KiB | 00m00s [119/155] Installing rpm-build-libs-0:4 100% | 101.3 MiB/s | 207.5 KiB | 00m00s [120/155] Installing libevent-0:2.1.12- 100% | 175.7 MiB/s | 899.5 KiB | 00m00s [121/155] Installing openldap-0:2.6.8-5 100% | 105.5 MiB/s | 648.0 KiB | 00m00s [122/155] Installing libcurl-0:8.9.1-3. 100% | 160.0 MiB/s | 819.2 KiB | 00m00s [123/155] Installing elfutils-debuginfo 100% | 32.7 MiB/s | 66.9 KiB | 00m00s [124/155] Installing elfutils-0:0.191-8 100% | 170.7 MiB/s | 2.6 MiB | 00m00s [125/155] Installing binutils-0:2.43.1- 100% | 211.8 MiB/s | 27.5 MiB | 00m00s >>> Running post-install scriptlet: binutils-0:2.43.1-1.fc42.x86_64 >>> Stop post-install scriptlet: binutils-0:2.43.1-1.fc42.x86_64 [126/155] Installing gdb-minimal-0:15.1 100% | 220.3 MiB/s | 13.0 MiB | 00m00s [127/155] Installing debugedit-0:5.0-17 100% | 65.8 MiB/s | 202.0 KiB | 00m00s [128/155] Installing curl-0:8.9.1-3.fc4 100% | 37.1 MiB/s | 798.6 KiB | 00m00s >>> Running pre-install scriptlet: rpm-0:4.19.94-1.fc42.x86_64 >>> Stop pre-install scriptlet: rpm-0:4.19.94-1.fc42.x86_64 [129/155] Installing rpm-0:4.19.94-1.fc 100% | 62.7 MiB/s | 2.5 MiB | 00m00s [130/155] Installing efi-srpm-macros-0: 100% | 20.1 MiB/s | 41.2 KiB | 00m00s [131/155] Installing lua-srpm-macros-0: 100% | 1.9 MiB/s | 1.9 KiB | 00m00s [132/155] Installing zig-srpm-macros-0: 100% | 1.6 MiB/s | 1.7 KiB | 00m00s [133/155] Installing rust-srpm-macros-0 100% | 5.4 MiB/s | 5.6 KiB | 00m00s [134/155] Installing qt6-srpm-macros-0: 100% | 0.0 B/s | 732.0 B | 00m00s [135/155] Installing qt5-srpm-macros-0: 100% | 757.8 KiB/s | 776.0 B | 00m00s [136/155] Installing perl-srpm-macros-0 100% | 1.1 MiB/s | 1.1 KiB | 00m00s [137/155] Installing package-notes-srpm 100% | 2.0 MiB/s | 2.0 KiB | 00m00s [138/155] Installing openblas-srpm-macr 100% | 0.0 B/s | 392.0 B | 00m00s [139/155] Installing ocaml-srpm-macros- 100% | 2.1 MiB/s | 2.2 KiB | 00m00s [140/155] Installing kernel-srpm-macros 100% | 2.3 MiB/s | 2.3 KiB | 00m00s [141/155] Installing gnat-srpm-macros-0 100% | 1.2 MiB/s | 1.3 KiB | 00m00s [142/155] Installing ghc-srpm-macros-0: 100% | 1.0 MiB/s | 1.0 KiB | 00m00s [143/155] Installing fpc-srpm-macros-0: 100% | 410.2 KiB/s | 420.0 B | 00m00s [144/155] Installing ansible-srpm-macro 100% | 35.4 MiB/s | 36.2 KiB | 00m00s [145/155] Installing python-srpm-macros 100% | 50.9 MiB/s | 52.2 KiB | 00m00s [146/155] Installing fonts-srpm-macros- 100% | 27.8 MiB/s | 57.0 KiB | 00m00s [147/155] Installing go-srpm-macros-0:3 100% | 30.3 MiB/s | 62.0 KiB | 00m00s [148/155] Installing forge-srpm-macros- 100% | 19.7 MiB/s | 40.4 KiB | 00m00s [149/155] Installing redhat-rpm-config- 100% | 37.7 MiB/s | 193.2 KiB | 00m00s [150/155] Installing rpm-build-0:4.19.9 100% | 22.0 MiB/s | 202.9 KiB | 00m00s [151/155] Installing pyproject-srpm-mac 100% | 1.2 MiB/s | 2.5 KiB | 00m00s [152/155] Installing util-linux-0:2.40. 100% | 70.1 MiB/s | 3.7 MiB | 00m00s >>> Running post-install scriptlet: util-linux-0:2.40.2-8.fc42.x86_64 >>> Stop post-install scriptlet: util-linux-0:2.40.2-8.fc42.x86_64 [153/155] Installing authselect-0:1.5.0 100% | 25.7 MiB/s | 157.9 KiB | 00m00s [154/155] Installing which-0:2.21-42.fc 100% | 40.2 MiB/s | 82.4 KiB | 00m00s warning: posix.fork(): .fork(), .exec(), .wait() and .redirect2null() are deprecated, use rpm.execute() instead warning: posix.wait(): .fork(), .exec(), .wait() and .redirect2null() are deprecated, use rpm.execute() instead warning: posix.exec(): .fork(), .exec(), .wait() and .redirect2null() are deprecated, use rpm.execute() instead [155/155] Installing info-0:7.1.1-1.fc4 100% | 261.9 KiB/s | 362.3 KiB | 00m01s >>> Running post-transaction scriptlet: filesystem-0:3.18-23.fc41.x86_64 >>> Stop post-transaction scriptlet: filesystem-0:3.18-23.fc41.x86_64 >>> Running post-transaction scriptlet: ca-certificates-0:2024.2.68_v8.0.302-3.f >>> Stop post-transaction scriptlet: ca-certificates-0:2024.2.68_v8.0.302-3.fc41 >>> Running post-transaction scriptlet: authselect-libs-0:1.5.0-7.fc41.x86_64 >>> Stop post-transaction scriptlet: authselect-libs-0:1.5.0-7.fc41.x86_64 >>> Running post-transaction scriptlet: rpm-0:4.19.94-1.fc42.x86_64 >>> Stop post-transaction scriptlet: rpm-0:4.19.94-1.fc42.x86_64 >>> Running trigger-install scriptlet: glibc-common-0:2.40.9000-1.fc42.x86_64 >>> Stop trigger-install scriptlet: glibc-common-0:2.40.9000-1.fc42.x86_64 >>> Running trigger-install scriptlet: info-0:7.1.1-1.fc42.x86_64 >>> Stop trigger-install scriptlet: info-0:7.1.1-1.fc42.x86_64 Warning: skipped PGP checks for 4 packages from repository: copr_base Complete! Finish: installing minimal buildroot with dnf5 Start: creating root cache Finish: creating root cache Finish: chroot init INFO: Installed packages: INFO: add-determinism-0.3.6-1.fc41.x86_64 alternatives-1.30-1.fc41.x86_64 ansible-srpm-macros-1-16.fc41.noarch audit-libs-4.0.2-1.fc41.x86_64 authselect-1.5.0-7.fc41.x86_64 authselect-libs-1.5.0-7.fc41.x86_64 basesystem-11-21.fc41.noarch bash-5.2.32-2.fc42.x86_64 binutils-2.43.1-1.fc42.x86_64 build-reproducibility-srpm-macros-0.3.6-1.fc41.noarch bzip2-1.0.8-19.fc41.x86_64 bzip2-libs-1.0.8-19.fc41.x86_64 ca-certificates-2024.2.68_v8.0.302-3.fc41.noarch coreutils-9.5-9.fc42.x86_64 coreutils-common-9.5-9.fc42.x86_64 cpio-2.15-2.fc41.x86_64 cracklib-2.9.11-6.fc41.x86_64 crypto-policies-20240828-1.git5f66e81.fc42.noarch curl-8.9.1-3.fc42.x86_64 cyrus-sasl-lib-2.1.28-27.fc41.x86_64 debugedit-5.0-17.fc41.x86_64 diffutils-3.10-8.fc41.x86_64 dwz-0.15-7.fc41.x86_64 ed-1.20.2-2.fc41.x86_64 efi-srpm-macros-5-12.fc41.noarch elfutils-0.191-8.fc41.x86_64 elfutils-debuginfod-client-0.191-8.fc41.x86_64 elfutils-default-yama-scope-0.191-8.fc41.noarch elfutils-libelf-0.191-8.fc41.x86_64 elfutils-libs-0.191-8.fc41.x86_64 fedora-gpg-keys-42-0.1.noarch fedora-release-42-0.3.noarch fedora-release-common-42-0.3.noarch fedora-release-identity-basic-42-0.3.noarch fedora-repos-42-0.1.noarch fedora-repos-rawhide-42-0.1.noarch file-5.45-7.fc41.x86_64 file-libs-5.45-7.fc41.x86_64 filesystem-3.18-23.fc41.x86_64 findutils-4.10.0-4.fc41.x86_64 fonts-srpm-macros-2.0.5-17.fc41.noarch forge-srpm-macros-0.3.2-1.fc42.noarch fpc-srpm-macros-1.3-13.fc41.noarch gawk-5.3.0-4.fc41.x86_64 gdb-minimal-15.1-2.fc42.x86_64 gdbm-1.23-7.fc41.x86_64 gdbm-libs-1.23-7.fc41.x86_64 ghc-srpm-macros-1.9.1-2.fc41.noarch glibc-2.40.9000-1.fc42.x86_64 glibc-common-2.40.9000-1.fc42.x86_64 glibc-gconv-extra-2.40.9000-1.fc42.x86_64 glibc-minimal-langpack-2.40.9000-1.fc42.x86_64 gmp-6.3.0-2.fc41.x86_64 gnat-srpm-macros-6-6.fc41.noarch go-srpm-macros-3.6.0-3.fc41.noarch gpg-pubkey-105ef944-65ca83d1 gpg-pubkey-31645531-66b6dccf gpg-pubkey-e99d6ad1-64d2612c grep-3.11-9.fc41.x86_64 gzip-1.13-2.fc41.x86_64 info-7.1.1-1.fc42.x86_64 jansson-2.13.1-10.fc41.x86_64 kernel-srpm-macros-1.0-24.fc41.noarch keyutils-libs-1.6.3-4.fc41.x86_64 krb5-libs-1.21.3-2.fc41.x86_64 libacl-2.3.2-2.fc41.x86_64 libarchive-3.7.4-3.fc41.x86_64 libattr-2.5.2-4.fc41.x86_64 libblkid-2.40.2-8.fc42.x86_64 libbrotli-1.1.0-5.fc41.x86_64 libcap-2.70-4.fc41.x86_64 libcap-ng-0.8.5-3.fc41.x86_64 libcom_err-1.47.1-3.fc41.x86_64 libcurl-8.9.1-3.fc42.x86_64 libeconf-0.6.2-3.fc41.x86_64 libevent-2.1.12-14.fc41.x86_64 libfdisk-2.40.2-8.fc42.x86_64 libffi-3.4.6-3.fc42.x86_64 libgcc-14.2.1-2.fc42.x86_64 libgomp-14.2.1-2.fc42.x86_64 libidn2-2.3.7-2.fc41.x86_64 libmount-2.40.2-8.fc42.x86_64 libnghttp2-1.63.0-1.fc42.x86_64 libnsl2-2.0.1-2.fc41.x86_64 libpkgconf-2.3.0-1.fc42.x86_64 libpsl-0.21.5-4.fc41.x86_64 libpwquality-1.4.5-11.fc41.x86_64 libselinux-3.7-6.fc42.x86_64 libsemanage-3.7-2.fc41.x86_64 libsepol-3.7-3.fc42.x86_64 libsmartcols-2.40.2-8.fc42.x86_64 libssh-0.11.1-1.fc42.x86_64 libssh-config-0.11.1-1.fc42.noarch libstdc++-14.2.1-2.fc42.x86_64 libtasn1-4.19.0-9.fc41.x86_64 libtirpc-1.3.5-0.fc41.x86_64 libtool-ltdl-2.4.7-12.fc41.x86_64 libunistring-1.1-8.fc41.x86_64 libuuid-2.40.2-8.fc42.x86_64 libverto-0.3.2-9.fc41.x86_64 libxcrypt-4.4.36-7.fc41.x86_64 libxml2-2.12.8-2.fc41.x86_64 libzstd-1.5.6-2.fc41.x86_64 lua-libs-5.4.6-6.fc41.x86_64 lua-srpm-macros-1-14.fc41.noarch lz4-libs-1.10.0-1.fc41.x86_64 mpfr-4.2.1-5.fc41.x86_64 ncurses-base-6.5-2.20240629.fc41.noarch ncurses-libs-6.5-2.20240629.fc41.x86_64 ocaml-srpm-macros-10-3.fc41.noarch openblas-srpm-macros-2-18.fc41.noarch openldap-2.6.8-5.fc41.x86_64 openssl-libs-3.2.2-5.fc41.x86_64 p11-kit-0.25.5-3.fc41.x86_64 p11-kit-trust-0.25.5-3.fc41.x86_64 package-notes-srpm-macros-0.5-12.fc41.noarch pam-1.6.1-6.fc42.x86_64 pam-libs-1.6.1-6.fc42.x86_64 patch-2.7.6-25.fc41.x86_64 pcre2-10.44-1.fc41.1.x86_64 pcre2-syntax-10.44-1.fc41.1.noarch perl-srpm-macros-1-56.fc41.noarch pkgconf-2.3.0-1.fc42.x86_64 pkgconf-m4-2.3.0-1.fc42.noarch pkgconf-pkg-config-2.3.0-1.fc42.x86_64 popt-1.19-7.fc41.x86_64 publicsuffix-list-dafsa-20240107-4.fc41.noarch pyproject-srpm-macros-1.14.0-1.fc42.noarch python-srpm-macros-3.13-3.fc41.noarch qt5-srpm-macros-5.15.15-1.fc42.noarch qt6-srpm-macros-6.7.2-3.fc41.noarch readline-8.2-11.fc42.x86_64 redhat-rpm-config-295-1.fc42.noarch rpm-4.19.94-1.fc42.x86_64 rpm-build-4.19.94-1.fc42.x86_64 rpm-build-libs-4.19.94-1.fc42.x86_64 rpm-libs-4.19.94-1.fc42.x86_64 rpm-sequoia-1.7.0-2.fc41.x86_64 rust-srpm-macros-26.3-3.fc42.noarch sed-4.9-3.fc41.x86_64 setup-2.15.0-5.fc41.noarch shadow-utils-4.16.0-2.fc42.x86_64 sqlite-libs-3.46.0-4.fc41.x86_64 systemd-libs-256.6-1.fc42.x86_64 tar-1.35-4.fc41.x86_64 unzip-6.0-64.fc41.x86_64 util-linux-2.40.2-8.fc42.x86_64 util-linux-core-2.40.2-8.fc42.x86_64 which-2.21-42.fc41.x86_64 xxhash-libs-0.8.2-3.fc41.x86_64 xz-5.6.2-2.fc41.x86_64 xz-libs-5.6.2-2.fc41.x86_64 zig-srpm-macros-1-3.fc41.noarch zip-3.0-41.fc41.x86_64 zlib-ng-compat-2.1.7-2.fc41.x86_64 zstd-1.5.6-2.fc41.x86_64 Start: buildsrpm Start: rpmbuild -bs Building target platforms: x86_64 Building for target x86_64 setting SOURCE_DATE_EPOCH=1725235200 Wrote: /builddir/build/SRPMS/python-executing-2.1.0-1.fc42.src.rpm Finish: rpmbuild -bs cp: preserving permissions for ‘/var/lib/copr-rpmbuild/results/chroot_scan/var/lib/mock/fedora-rawhide-x86_64-1726140563.494066/root/var/log’: No such file or directory INFO: chroot_scan: 1 files copied to /var/lib/copr-rpmbuild/results/chroot_scan INFO: /var/lib/mock/fedora-rawhide-x86_64-1726140563.494066/root/var/log/dnf5.log Finish: buildsrpm INFO: Done(/var/lib/copr-rpmbuild/workspace/workdir-ggwwyf5e/python-executing/python-executing.spec) Config(child) 0 minutes 19 seconds INFO: Results and/or logs in: /var/lib/copr-rpmbuild/results INFO: Cleaning up build root ('cleanup_on_success=True') Start: clean chroot INFO: unmounting tmpfs. Finish: clean chroot INFO: Start(/var/lib/copr-rpmbuild/results/python-executing-2.1.0-1.fc42.src.rpm) Config(fedora-rawhide-x86_64) Start(bootstrap): chroot init INFO: mounting tmpfs at /var/lib/mock/fedora-rawhide-x86_64-bootstrap-1726140563.494066/root. INFO: reusing tmpfs at /var/lib/mock/fedora-rawhide-x86_64-bootstrap-1726140563.494066/root. INFO: calling preinit hooks INFO: enabled root cache INFO: enabled package manager cache Start(bootstrap): cleaning package manager metadata Finish(bootstrap): cleaning package manager metadata Finish(bootstrap): chroot init Start: chroot init INFO: mounting tmpfs at /var/lib/mock/fedora-rawhide-x86_64-1726140563.494066/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.92-6.fc41.x86_64 rpm-sequoia-1.7.0-2.fc41.x86_64 dnf5-5.2.5.0-2.fc41.x86_64 dnf5-plugins-5.2.5.0-2.fc41.x86_64 Finish: chroot init Start: build phase for python-executing-2.1.0-1.fc42.src.rpm Start: build setup for python-executing-2.1.0-1.fc42.src.rpm Building target platforms: x86_64 Building for target x86_64 setting SOURCE_DATE_EPOCH=1725235200 Wrote: /builddir/build/SRPMS/python-executing-2.1.0-1.fc42.src.rpm Updating and loading repositories: Copr repository 100% | 42.5 KiB/s | 1.5 KiB | 00m00s fedora 100% | 145.1 KiB/s | 5.2 KiB | 00m00s Copr repository 100% | 4.0 MiB/s | 492.2 KiB | 00m00s Repositories loaded. Package Arch Version Repository Size Installing: python3-devel x86_64 3.13.0~rc2-1.fc42 fedora 1.8 MiB Installing dependencies: expat x86_64 2.6.3-1.fc42 fedora 291.5 KiB libb2 x86_64 0.98.1-12.fc41 fedora 42.2 KiB mpdecimal x86_64 2.5.1-16.fc41 fedora 204.9 KiB pyproject-rpm-macros noarch 1.14.0-1.fc42 copr_base 105.7 KiB python-pip-wheel noarch 24.2-1.fc41 fedora 1.2 MiB python-rpm-macros noarch 3.13-3.fc41 fedora 22.1 KiB python3 x86_64 3.13.0~rc2-1.fc42 fedora 31.8 KiB python3-libs x86_64 3.13.0~rc2-1.fc42 fedora 40.3 MiB python3-packaging noarch 24.1-2.fc41 fedora 422.3 KiB python3-rpm-generators noarch 14-11.fc41 fedora 81.7 KiB python3-rpm-macros noarch 3.13-3.fc41 fedora 6.4 KiB tzdata noarch 2024a-9.fc41 fedora 1.7 MiB Transaction Summary: Installing: 13 packages Total size of inbound packages is 12 MiB. Need to download 0 B. After this operation 46 MiB will be used (install 46 MiB, remove 0 B). [ 1/13] python3-devel-0:3.13.0~rc2-1.fc 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 2/13] python3-libs-0:3.13.0~rc2-1.fc4 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 3/13] expat-0:2.6.3-1.fc42.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 4/13] libb2-0:0.98.1-12.fc41.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 5/13] mpdecimal-0:2.5.1-16.fc41.x86_6 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 6/13] python-pip-wheel-0:24.2-1.fc41. 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 7/13] tzdata-0:2024a-9.fc41.noarch 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 8/13] pyproject-rpm-macros-0:1.14.0-1 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 9/13] python-rpm-macros-0:3.13-3.fc41 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [10/13] python3-rpm-generators-0:14-11. 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [11/13] python3-rpm-macros-0:3.13-3.fc4 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [12/13] python3-packaging-0:24.1-2.fc41 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [13/13] python3-0:3.13.0~rc2-1.fc42.x86 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [13/13] Total 100% | 0.0 B/s | 0.0 B | 00m00s Running transaction [ 1/15] Verify package files 100% | 325.0 B/s | 13.0 B | 00m00s [ 2/15] Prepare transaction 100% | 317.0 B/s | 13.0 B | 00m00s [ 3/15] Installing python-rpm-macros-0: 100% | 22.3 MiB/s | 22.8 KiB | 00m00s [ 4/15] Installing python3-rpm-macros-0 100% | 0.0 B/s | 6.7 KiB | 00m00s [ 5/15] Installing pyproject-rpm-macros 100% | 21.0 MiB/s | 107.7 KiB | 00m00s [ 6/15] Installing tzdata-0:2024a-9.fc4 100% | 27.3 MiB/s | 1.9 MiB | 00m00s [ 7/15] Installing python-pip-wheel-0:2 100% | 413.9 MiB/s | 1.2 MiB | 00m00s [ 8/15] Installing mpdecimal-0:2.5.1-16 100% | 201.2 MiB/s | 206.0 KiB | 00m00s [ 9/15] Installing libb2-0:0.98.1-12.fc 100% | 42.3 MiB/s | 43.3 KiB | 00m00s [10/15] Installing expat-0:2.6.3-1.fc42 100% | 41.0 MiB/s | 293.6 KiB | 00m00s [11/15] Installing python3-libs-0:3.13. 100% | 204.6 MiB/s | 40.7 MiB | 00m00s [12/15] Installing python3-0:3.13.0~rc2 100% | 32.8 MiB/s | 33.6 KiB | 00m00s [13/15] Installing python3-packaging-0: 100% | 105.8 MiB/s | 433.2 KiB | 00m00s [14/15] Installing python3-rpm-generato 100% | 40.5 MiB/s | 82.9 KiB | 00m00s warning: posix.fork(): .fork(), .exec(), .wait() and .redirect2null() are deprecated, use rpm.execute() instead warning: posix.wait(): .fork(), .exec(), .wait() and .redirect2null() are deprecated, use rpm.execute() instead warning: posix.exec(): .fork(), .exec(), .wait() and .redirect2null() are deprecated, use rpm.execute() instead [15/15] Installing python3-devel-0:3.13 100% | 23.0 MiB/s | 1.8 MiB | 00m00s >>> Running trigger-install scriptlet: glibc-common-0:2.40.9000-1.fc42.x86_64 >>> Stop trigger-install scriptlet: glibc-common-0:2.40.9000-1.fc42.x86_64 Complete! Warning: skipped PGP checks for 1 package from repository: copr_base Finish: build setup for python-executing-2.1.0-1.fc42.src.rpm Start: rpmbuild python-executing-2.1.0-1.fc42.src.rpm Building target platforms: x86_64 Building for target x86_64 setting SOURCE_DATE_EPOCH=1725235200 Executing(%mkbuilddir): /bin/sh -e /var/tmp/rpm-tmp.ypTPmE + umask 022 + cd /builddir/build/BUILD/python-executing-2.1.0-build + test -d /builddir/build/BUILD/python-executing-2.1.0-build + /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w /builddir/build/BUILD/python-executing-2.1.0-build + /usr/bin/rm -rf /builddir/build/BUILD/python-executing-2.1.0-build + /usr/bin/mkdir -p /builddir/build/BUILD/python-executing-2.1.0-build + /usr/bin/mkdir -p /builddir/build/BUILD/python-executing-2.1.0-build/SPECPARTS + RPM_EC=0 ++ jobs -p + exit 0 Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.AMfRuX + umask 022 + cd /builddir/build/BUILD/python-executing-2.1.0-build + cd /builddir/build/BUILD/python-executing-2.1.0-build + rm -rf executing-2.1.0 + /usr/lib/rpm/rpmuncompress -x /builddir/build/SOURCES/executing-2.1.0.tar.gz + STATUS=0 + '[' 0 -ne 0 ']' + cd executing-2.1.0 + /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w . + sed -Ei '/coverage-?/d' setup.cfg + RPM_EC=0 ++ jobs -p + exit 0 Executing(%generate_buildrequires): /bin/sh -e /var/tmp/rpm-tmp.sfTPUE + umask 022 + cd /builddir/build/BUILD/python-executing-2.1.0-build + cd executing-2.1.0 + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CFLAGS + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CXXFLAGS + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FFLAGS + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes --cap-lints=warn' + export RUSTFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 ' + export LDFLAGS + LT_SYS_LIBRARY_PATH=/usr/lib64: + export LT_SYS_LIBRARY_PATH + CC=gcc + export CC + CXX=g++ + export CXX + echo pyproject-rpm-macros + echo python3-devel + echo 'python3dist(pip) >= 19' + echo 'python3dist(packaging)' + '[' -f pyproject.toml ']' + echo '(python3dist(tomli) if python3-devel < 3.11)' + rm -rfv '*.dist-info/' + '[' -f /usr/bin/python3 ']' + mkdir -p /builddir/build/BUILD/python-executing-2.1.0-build/executing-2.1.0/.pyproject-builddir + echo -n + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 ' + TMPDIR=/builddir/build/BUILD/python-executing-2.1.0-build/executing-2.1.0/.pyproject-builddir + RPM_TOXENV=py313 + HOSTNAME=rpmbuild + /usr/bin/python3 -Bs /usr/lib/rpm/redhat/pyproject_buildrequires.py --generate-extras --python3_pkgversion 3 --wheeldir /builddir/build/BUILD/python-executing-2.1.0-build/executing-2.1.0/pyproject-wheeldir --output /builddir/build/BUILD/python-executing-2.1.0-build/python-executing-2.1.0-1.fc42.x86_64-pyproject-buildrequires -t Handling setuptools from build-system.requires Requirement not satisfied: setuptools Handling wheel from build-system.requires Requirement not satisfied: wheel Handling setuptools_scm[toml] from build-system.requires Requirement not satisfied: setuptools_scm[toml] Exiting dependency generation pass: build backend + cat /builddir/build/BUILD/python-executing-2.1.0-build/python-executing-2.1.0-1.fc42.x86_64-pyproject-buildrequires + rm -rfv '*.dist-info/' + RPM_EC=0 ++ jobs -p + exit 0 Wrote: /builddir/build/SRPMS/python-executing-2.1.0-1.fc42.buildreqs.nosrc.rpm INFO: Going to install missing dynamic buildrequires Updating and loading repositories: fedora 100% | 248.7 KiB/s | 5.2 KiB | 00m00s Copr repository 100% | 47.9 KiB/s | 1.5 KiB | 00m00s Copr repository 100% | 4.8 MiB/s | 493.3 KiB | 00m00s Repositories loaded. Package "pyproject-rpm-macros-1.14.0-1.fc42.noarch" is already installed. Package "python3-devel-3.13.0~rc2-1.fc42.x86_64" is already installed. Package "python3-packaging-24.1-2.fc41.noarch" is already installed. Package Arch Version Repository Size Installing: python3-pip noarch 24.2-1.fc41 fedora 11.4 MiB python3-setuptools noarch 69.2.0-8.fc41 fedora 7.2 MiB python3-setuptools_scm noarch 8.0.4-6.fc41 fedora 310.7 KiB python3-setuptools_scm+toml noarch 8.0.4-6.fc41 fedora 9.0 KiB python3-wheel noarch 1:0.43.0-4.fc41 fedora 516.1 KiB Installing dependencies: python3-typing-extensions noarch 4.12.2-3.fc41 fedora 464.5 KiB Transaction Summary: Installing: 6 packages Total size of inbound packages is 5 MiB. Need to download 217 KiB. After this operation 20 MiB will be used (install 20 MiB, remove 0 B). [1/6] python3-pip-0:24.2-1.fc41.noarch 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [2/6] python3-setuptools-0:69.2.0-8.fc4 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [3/6] python3-wheel-1:0.43.0-4.fc41.noa 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [4/6] python3-setuptools_scm+toml-0:8.0 100% | 109.7 KiB/s | 9.6 KiB | 00m00s [5/6] python3-typing-extensions-0:4.12. 100% | 621.5 KiB/s | 93.8 KiB | 00m00s [6/6] python3-setuptools_scm-0:8.0.4-6. 100% | 747.3 KiB/s | 113.6 KiB | 00m00s -------------------------------------------------------------------------------- [6/6] Total 100% | 1.2 MiB/s | 217.1 KiB | 00m00s Running transaction [1/8] Verify package files 100% | 375.0 B/s | 6.0 B | 00m00s [2/8] Prepare transaction 100% | 214.0 B/s | 6.0 B | 00m00s [3/8] Installing python3-typing-extensi 100% | 114.0 MiB/s | 466.9 KiB | 00m00s [4/8] Installing python3-setuptools-0:6 100% | 138.3 MiB/s | 7.3 MiB | 00m00s [5/8] Installing python3-setuptools_scm 100% | 53.7 MiB/s | 329.8 KiB | 00m00s [6/8] Installing python3-setuptools_scm 100% | 0.0 B/s | 124.0 B | 00m00s [7/8] Installing python3-wheel-1:0.43.0 100% | 52.3 MiB/s | 535.1 KiB | 00m00s warning: posix.fork(): .fork(), .exec(), .wait() and .redirect2null() are deprecated, use rpm.execute() instead warning: posix.wait(): .fork(), .exec(), .wait() and .redirect2null() are deprecated, use rpm.execute() instead warning: posix.exec(): .fork(), .exec(), .wait() and .redirect2null() are deprecated, use rpm.execute() instead [8/8] Installing python3-pip-0:24.2-1.f 100% | 96.4 MiB/s | 11.7 MiB | 00m00s >>> Running trigger-install scriptlet: glibc-common-0:2.40.9000-1.fc42.x86_64 >>> Stop trigger-install scriptlet: glibc-common-0:2.40.9000-1.fc42.x86_64 Complete! Building target platforms: x86_64 Building for target x86_64 setting SOURCE_DATE_EPOCH=1725235200 Executing(%generate_buildrequires): /bin/sh -e /var/tmp/rpm-tmp.RMb5Xd + umask 022 + cd /builddir/build/BUILD/python-executing-2.1.0-build + cd executing-2.1.0 + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CFLAGS + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CXXFLAGS + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FFLAGS + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes --cap-lints=warn' + export RUSTFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 ' + export LDFLAGS + LT_SYS_LIBRARY_PATH=/usr/lib64: + export LT_SYS_LIBRARY_PATH + CC=gcc + export CC + CXX=g++ + export CXX + echo pyproject-rpm-macros + echo python3-devel + echo 'python3dist(pip) >= 19' + echo 'python3dist(packaging)' + '[' -f pyproject.toml ']' + echo '(python3dist(tomli) if python3-devel < 3.11)' + rm -rfv '*.dist-info/' + '[' -f /usr/bin/python3 ']' + mkdir -p /builddir/build/BUILD/python-executing-2.1.0-build/executing-2.1.0/.pyproject-builddir + echo -n + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 ' + TMPDIR=/builddir/build/BUILD/python-executing-2.1.0-build/executing-2.1.0/.pyproject-builddir + RPM_TOXENV=py313 + HOSTNAME=rpmbuild + /usr/bin/python3 -Bs /usr/lib/rpm/redhat/pyproject_buildrequires.py --generate-extras --python3_pkgversion 3 --wheeldir /builddir/build/BUILD/python-executing-2.1.0-build/executing-2.1.0/pyproject-wheeldir --output /builddir/build/BUILD/python-executing-2.1.0-build/python-executing-2.1.0-1.fc42.x86_64-pyproject-buildrequires -t Handling setuptools from build-system.requires Requirement satisfied: setuptools (installed: setuptools 69.2.0) Handling wheel from build-system.requires Requirement satisfied: wheel (installed: wheel 0.43.0) Handling setuptools_scm[toml] from build-system.requires Requirement satisfied: setuptools_scm[toml] (installed: setuptools_scm 8.0.4) (extras are currently not checked) Handling wheel from get_requires_for_build_wheel Requirement satisfied: wheel (installed: wheel 0.43.0) Handling setuptools from get_requires_for_build_wheel Requirement satisfied: setuptools (installed: setuptools 69.2.0) Handling setuptools_scm[toml] from get_requires_for_build_wheel Requirement satisfied: setuptools_scm[toml] (installed: setuptools_scm 8.0.4) (extras are currently not checked) Handling tox-current-env >= 0.0.6 from tox itself Requirement not satisfied: tox-current-env >= 0.0.6 Exiting dependency generation pass: tox itself + cat /builddir/build/BUILD/python-executing-2.1.0-build/python-executing-2.1.0-1.fc42.x86_64-pyproject-buildrequires + rm -rfv '*.dist-info/' + RPM_EC=0 ++ jobs -p + exit 0 Wrote: /builddir/build/SRPMS/python-executing-2.1.0-1.fc42.buildreqs.nosrc.rpm INFO: Going to install missing dynamic buildrequires Updating and loading repositories: Copr repository 100% | 49.4 KiB/s | 1.5 KiB | 00m00s fedora 100% | 248.8 KiB/s | 5.2 KiB | 00m00s Repositories loaded. Package "pyproject-rpm-macros-1.14.0-1.fc42.noarch" is already installed. Package "python3-devel-3.13.0~rc2-1.fc42.x86_64" is already installed. Package "python3-packaging-24.1-2.fc41.noarch" is already installed. Package "python3-pip-24.2-1.fc41.noarch" is already installed. Package "python3-setuptools-69.2.0-8.fc41.noarch" is already installed. Package "python3-setuptools_scm-8.0.4-6.fc41.noarch" is already installed. Package "python3-setuptools_scm+toml-8.0.4-6.fc41.noarch" is already installed. Package "python3-wheel-1:0.43.0-4.fc41.noarch" is already installed. Package Arch Version Repository Size Installing: python3-tox-current-env noarch 0.0.12-1.fc42 fedora 71.7 KiB Installing dependencies: python-setuptools-wheel noarch 69.2.0-8.fc41 fedora 750.4 KiB python-wheel-wheel noarch 1:0.43.0-4.fc41 fedora 65.1 KiB python3-cachetools noarch 5.4.0-6.fc42 copr_base 138.1 KiB python3-chardet noarch 5.2.0-14.fc41 fedora 2.1 MiB python3-colorama noarch 0.4.6-9.fc42 copr_base 191.2 KiB python3-distlib noarch 0.3.8-4.fc42 copr_base 1.2 MiB python3-filelock noarch 3.15.4-2.fc41 fedora 90.2 KiB python3-platformdirs noarch 4.2.2-2.fc41 fedora 168.6 KiB python3-pluggy noarch 1.5.0-1.fc41 fedora 193.2 KiB python3-pyproject-api noarch 1.6.1-5.fc41 fedora 80.6 KiB python3-virtualenv noarch 20.21.1-22.fc41 fedora 694.8 KiB tox noarch 4.16.0-2.fc41 fedora 1.1 MiB Transaction Summary: Installing: 13 packages Total size of inbound packages is 2 MiB. Need to download 0 B. After this operation 7 MiB will be used (install 7 MiB, remove 0 B). [ 1/13] python3-tox-current-env-0:0.0.1 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 2/13] tox-0:4.16.0-2.fc41.noarch 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 3/13] python3-chardet-0:5.2.0-14.fc41 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 4/13] python3-filelock-0:3.15.4-2.fc4 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 5/13] python3-platformdirs-0:4.2.2-2. 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 6/13] python3-pyproject-api-0:1.6.1-5 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 7/13] python3-virtualenv-0:20.21.1-22 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 8/13] python-setuptools-wheel-0:69.2. 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 9/13] python-wheel-wheel-1:0.43.0-4.f 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [10/13] python3-cachetools-0:5.4.0-6.fc 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [11/13] python3-colorama-0:0.4.6-9.fc42 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [12/13] python3-distlib-0:0.3.8-4.fc42. 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [13/13] python3-pluggy-0:1.5.0-1.fc41.n 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [13/13] Total 100% | 0.0 B/s | 0.0 B | 00m00s Running transaction [ 1/15] Verify package files 100% | 1.4 KiB/s | 13.0 B | 00m00s [ 2/15] Prepare transaction 100% | 722.0 B/s | 13.0 B | 00m00s [ 3/15] Installing python3-platformdirs 100% | 57.0 MiB/s | 175.0 KiB | 00m00s [ 4/15] Installing python3-filelock-0:3 100% | 47.4 MiB/s | 97.1 KiB | 00m00s [ 5/15] Installing python3-pluggy-0:1.5 100% | 64.9 MiB/s | 199.4 KiB | 00m00s [ 6/15] Installing python3-distlib-0:0. 100% | 236.0 MiB/s | 1.2 MiB | 00m00s [ 7/15] Installing python3-colorama-0:0 100% | 65.5 MiB/s | 201.1 KiB | 00m00s [ 8/15] Installing python3-cachetools-0 100% | 69.2 MiB/s | 141.7 KiB | 00m00s [ 9/15] Installing python-wheel-wheel-1 100% | 64.3 MiB/s | 65.8 KiB | 00m00s [10/15] Installing python-setuptools-wh 100% | 244.5 MiB/s | 751.1 KiB | 00m00s [11/15] Installing python3-virtualenv-0 100% | 35.7 MiB/s | 767.1 KiB | 00m00s [12/15] Installing python3-pyproject-ap 100% | 28.2 MiB/s | 86.8 KiB | 00m00s [13/15] Installing python3-chardet-0:5. 100% | 161.2 MiB/s | 2.1 MiB | 00m00s [14/15] Installing tox-0:4.16.0-2.fc41. 100% | 60.5 MiB/s | 1.2 MiB | 00m00s warning: posix.fork(): .fork(), .exec(), .wait() and .redirect2null() are deprecated, use rpm.execute() instead warning: posix.wait(): .fork(), .exec(), .wait() and .redirect2null() are deprecated, use rpm.execute() instead warning: posix.exec(): .fork(), .exec(), .wait() and .redirect2null() are deprecated, use rpm.execute() instead [15/15] Installing python3-tox-current- 100% | 2.7 MiB/s | 76.0 KiB | 00m00s >>> Running trigger-install scriptlet: glibc-common-0:2.40.9000-1.fc42.x86_64 >>> Stop trigger-install scriptlet: glibc-common-0:2.40.9000-1.fc42.x86_64 Complete! Warning: skipped PGP checks for 3 packages from repository: copr_base Building target platforms: x86_64 Building for target x86_64 setting SOURCE_DATE_EPOCH=1725235200 Executing(%generate_buildrequires): /bin/sh -e /var/tmp/rpm-tmp.4xxopy + umask 022 + cd /builddir/build/BUILD/python-executing-2.1.0-build + cd executing-2.1.0 + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CFLAGS + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CXXFLAGS + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FFLAGS + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes --cap-lints=warn' + export RUSTFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 ' + export LDFLAGS + LT_SYS_LIBRARY_PATH=/usr/lib64: + export LT_SYS_LIBRARY_PATH + CC=gcc + export CC + CXX=g++ + export CXX + echo pyproject-rpm-macros + echo python3-devel + echo 'python3dist(pip) >= 19' + echo 'python3dist(packaging)' + '[' -f pyproject.toml ']' + echo '(python3dist(tomli) if python3-devel < 3.11)' + rm -rfv '*.dist-info/' + '[' -f /usr/bin/python3 ']' + mkdir -p /builddir/build/BUILD/python-executing-2.1.0-build/executing-2.1.0/.pyproject-builddir + echo -n + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 ' + TMPDIR=/builddir/build/BUILD/python-executing-2.1.0-build/executing-2.1.0/.pyproject-builddir + RPM_TOXENV=py313 + HOSTNAME=rpmbuild + /usr/bin/python3 -Bs /usr/lib/rpm/redhat/pyproject_buildrequires.py --generate-extras --python3_pkgversion 3 --wheeldir /builddir/build/BUILD/python-executing-2.1.0-build/executing-2.1.0/pyproject-wheeldir --output /builddir/build/BUILD/python-executing-2.1.0-build/python-executing-2.1.0-1.fc42.x86_64-pyproject-buildrequires -t Handling setuptools from build-system.requires Requirement satisfied: setuptools (installed: setuptools 69.2.0) Handling wheel from build-system.requires Requirement satisfied: wheel (installed: wheel 0.43.0) Handling setuptools_scm[toml] from build-system.requires Requirement satisfied: setuptools_scm[toml] (installed: setuptools_scm 8.0.4) (extras are currently not checked) Handling wheel from get_requires_for_build_wheel Requirement satisfied: wheel (installed: wheel 0.43.0) Handling setuptools from get_requires_for_build_wheel Requirement satisfied: setuptools (installed: setuptools 69.2.0) Handling setuptools_scm[toml] from get_requires_for_build_wheel Requirement satisfied: setuptools_scm[toml] (installed: setuptools_scm 8.0.4) (extras are currently not checked) Handling tox-current-env >= 0.0.6 from tox itself Requirement satisfied: tox-current-env >= 0.0.6 (installed: tox-current-env 0.0.12) py313: OK (0.00 seconds) congratulations :) (0.06 seconds) Handling tox from tox --print-deps-only: py313 Requirement satisfied: tox (installed: tox 4.16.0) running dist_info writing executing.egg-info/PKG-INFO writing dependency_links to executing.egg-info/dependency_links.txt writing requirements to executing.egg-info/requires.txt writing top-level names to executing.egg-info/top_level.txt reading manifest file 'executing.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' adding license file 'LICENSE.txt' writing manifest file 'executing.egg-info/SOURCES.txt' creating '/builddir/build/BUILD/python-executing-2.1.0-build/executing-2.1.0/executing-2.1.0.dist-info' Handling asttokens >=2.1.0 ; extra == 'tests' from hook generated metadata: Requires-Dist (executing) Requirement not satisfied: asttokens >=2.1.0 ; extra == 'tests' Handling ipython ; extra == 'tests' from hook generated metadata: Requires-Dist (executing) Requirement not satisfied: ipython ; extra == 'tests' Handling pytest ; extra == 'tests' from hook generated metadata: Requires-Dist (executing) Requirement not satisfied: pytest ; extra == 'tests' Handling littleutils ; extra == 'tests' from hook generated metadata: Requires-Dist (executing) Requirement not satisfied: littleutils ; extra == 'tests' Handling rich ; (python_version >= "3.11") and extra == 'tests' from hook generated metadata: Requires-Dist (executing) Requirement not satisfied: rich ; (python_version >= "3.11") and extra == 'tests' + cat /builddir/build/BUILD/python-executing-2.1.0-build/python-executing-2.1.0-1.fc42.x86_64-pyproject-buildrequires + rm -rfv executing-2.1.0.dist-info/ removed 'executing-2.1.0.dist-info/top_level.txt' removed 'executing-2.1.0.dist-info/METADATA' removed 'executing-2.1.0.dist-info/LICENSE.txt' removed directory 'executing-2.1.0.dist-info/' + RPM_EC=0 ++ jobs -p + exit 0 Wrote: /builddir/build/SRPMS/python-executing-2.1.0-1.fc42.buildreqs.nosrc.rpm INFO: Going to install missing dynamic buildrequires Updating and loading repositories: Copr repository 100% | 47.9 KiB/s | 1.5 KiB | 00m00s fedora 100% | 248.8 KiB/s | 5.2 KiB | 00m00s Copr repository 100% | 1.2 MiB/s | 494.8 KiB | 00m00s Repositories loaded. Package "pyproject-rpm-macros-1.14.0-1.fc42.noarch" is already installed. Package "python3-devel-3.13.0~rc2-1.fc42.x86_64" is already installed. Package "python3-packaging-24.1-2.fc41.noarch" is already installed. Package "python3-pip-24.2-1.fc41.noarch" is already installed. Package "python3-setuptools-69.2.0-8.fc41.noarch" is already installed. Package "python3-setuptools_scm-8.0.4-6.fc41.noarch" is already installed. Package "python3-setuptools_scm+toml-8.0.4-6.fc41.noarch" is already installed. Package "tox-4.16.0-2.fc41.noarch" is already installed. Package "python3-tox-current-env-0.0.12-1.fc42.noarch" is already installed. Package "python3-wheel-1:0.43.0-4.fc41.noarch" is already installed. Package Arch Version Repository Size Installing: python3-asttokens noarch 2.4.1-7.fc42 copr_base 209.0 KiB python3-ipython noarch 8.27.0-1.fc42 copr_base 4.5 MiB python3-littleutils noarch 0.2.2-16.fc41 fedora 53.0 KiB python3-pytest noarch 8.3.3-1.fc42 copr_base 20.8 MiB python3-rich noarch 13.7.1-5.fc41 fedora 2.5 MiB Installing dependencies: python3-decorator noarch 5.1.1-11.fc41 fedora 77.6 KiB python3-executing noarch 2.1.0-1.fc42 fedora 258.9 KiB python3-iniconfig noarch 1.1.1-23.fc41 fedora 20.6 KiB python3-jedi noarch 0.19.1-10.fc41 fedora 5.6 MiB python3-markdown-it-py noarch 3.0.0-7.fc41 fedora 500.0 KiB python3-matplotlib-inline noarch 0.1.7-3.fc41 fedora 39.6 KiB python3-mdurl noarch 0.1.2-8.fc41 fedora 41.4 KiB python3-parso noarch 0.8.4-3.fc41 fedora 896.3 KiB python3-pexpect noarch 4.9.0-6.fc41 fedora 625.4 KiB python3-prompt-toolkit noarch 3.0.41-5.fc41 fedora 3.7 MiB python3-ptyprocess noarch 0.7.0-9.fc41 fedora 79.8 KiB python3-pure-eval noarch 0.2.3-1.fc41 fedora 100.3 KiB python3-pygments noarch 2.18.0-2.fc42 fedora 10.6 MiB python3-six noarch 1.16.0-23.fc41 fedora 118.3 KiB python3-stack-data noarch 0.6.3-11.fc42 fedora 208.2 KiB python3-traitlets noarch 5.14.3-3.fc41 fedora 966.9 KiB python3-wcwidth noarch 0.2.13-5.fc41 fedora 559.8 KiB Transaction Summary: Installing: 22 packages Total size of inbound packages is 10 MiB. Need to download 8 MiB. After this operation 53 MiB will be used (install 53 MiB, remove 0 B). [ 1/22] python3-six-0:1.16.0-23.fc41.no 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 2/22] python3-pytest-0:8.3.3-1.fc42.n 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 3/22] python3-iniconfig-0:1.1.1-23.fc 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 4/22] python3-asttokens-0:2.4.1-7.fc4 100% | 1.5 MiB/s | 58.0 KiB | 00m00s [ 5/22] python3-littleutils-0:0.2.2-16. 100% | 573.2 KiB/s | 26.4 KiB | 00m00s [ 6/22] python3-ipython-0:8.27.0-1.fc42 100% | 22.2 MiB/s | 1.0 MiB | 00m00s [ 7/22] python3-pygments-0:2.18.0-2.fc4 100% | 23.4 MiB/s | 2.5 MiB | 00m00s [ 8/22] python3-decorator-0:5.1.1-11.fc 100% | 3.0 MiB/s | 30.8 KiB | 00m00s [ 9/22] python3-markdown-it-py-0:3.0.0- 100% | 1.0 MiB/s | 199.3 KiB | 00m00s [10/22] python3-rich-0:13.7.1-5.fc41.no 100% | 2.2 MiB/s | 589.0 KiB | 00m00s [11/22] python3-jedi-0:0.19.1-10.fc41.n 100% | 17.7 MiB/s | 1.6 MiB | 00m00s [12/22] python3-matplotlib-inline-0:0.1 100% | 260.5 KiB/s | 24.0 KiB | 00m00s [13/22] python3-pexpect-0:4.9.0-6.fc41. 100% | 2.6 MiB/s | 177.6 KiB | 00m00s [14/22] python3-stack-data-0:0.6.3-11.f 100% | 3.1 MiB/s | 63.6 KiB | 00m00s [15/22] python3-traitlets-0:5.14.3-3.fc 100% | 5.5 MiB/s | 214.0 KiB | 00m00s [16/22] python3-prompt-toolkit-0:3.0.41 100% | 7.2 MiB/s | 849.8 KiB | 00m00s [17/22] python3-ptyprocess-0:0.7.0-9.fc 100% | 3.9 MiB/s | 36.0 KiB | 00m00s [18/22] python3-mdurl-0:0.1.2-8.fc41.no 100% | 424.2 KiB/s | 30.5 KiB | 00m00s [19/22] python3-wcwidth-0:0.2.13-5.fc41 100% | 4.7 MiB/s | 52.4 KiB | 00m00s [20/22] python3-parso-0:0.8.4-3.fc41.no 100% | 3.3 MiB/s | 212.3 KiB | 00m00s [21/22] python3-executing-0:2.1.0-1.fc4 100% | 2.5 MiB/s | 68.9 KiB | 00m00s [22/22] python3-pure-eval-0:0.2.3-1.fc4 100% | 1.4 MiB/s | 38.4 KiB | 00m00s -------------------------------------------------------------------------------- [22/22] Total 100% | 16.0 MiB/s | 7.7 MiB | 00m00s Running transaction [ 1/24] Verify package files 100% | 594.0 B/s | 22.0 B | 00m00s [ 2/24] Prepare transaction 100% | 318.0 B/s | 22.0 B | 00m00s [ 3/24] Installing python3-traitlets-0: 100% | 96.1 MiB/s | 984.0 KiB | 00m00s [ 4/24] Installing python3-pygments-0:2 100% | 159.5 MiB/s | 10.8 MiB | 00m00s [ 5/24] Installing python3-matplotlib-i 100% | 21.3 MiB/s | 43.7 KiB | 00m00s [ 6/24] Installing python3-iniconfig-0: 100% | 11.5 MiB/s | 23.6 KiB | 00m00s [ 7/24] Installing python3-pure-eval-0: 100% | 51.3 MiB/s | 105.0 KiB | 00m00s [ 8/24] Installing python3-executing-0: 100% | 85.9 MiB/s | 264.0 KiB | 00m00s [ 9/24] Installing python3-wcwidth-0:0. 100% | 138.0 MiB/s | 565.4 KiB | 00m00s [10/24] Installing python3-prompt-toolk 100% | 119.5 MiB/s | 3.8 MiB | 00m00s [11/24] Installing python3-ptyprocess-0 100% | 41.0 MiB/s | 84.0 KiB | 00m00s [12/24] Installing python3-pexpect-0:4. 100% | 89.8 MiB/s | 643.7 KiB | 00m00s [13/24] Installing python3-parso-0:0.8. 100% | 80.9 MiB/s | 911.8 KiB | 00m00s [14/24] Installing python3-jedi-0:0.19. 100% | 44.9 MiB/s | 6.1 MiB | 00m00s [15/24] Installing python3-mdurl-0:0.1. 100% | 22.8 MiB/s | 46.6 KiB | 00m00s [16/24] Installing python3-markdown-it- 100% | 48.3 MiB/s | 543.9 KiB | 00m00s [17/24] Installing python3-decorator-0: 100% | 78.5 MiB/s | 80.3 KiB | 00m00s [18/24] Installing python3-six-0:1.16.0 100% | 58.9 MiB/s | 120.7 KiB | 00m00s [19/24] Installing python3-asttokens-0: 100% | 70.1 MiB/s | 215.3 KiB | 00m00s [20/24] Installing python3-stack-data-0 100% | 69.5 MiB/s | 213.5 KiB | 00m00s [21/24] Installing python3-ipython-0:8. 100% | 136.2 MiB/s | 4.6 MiB | 00m00s [22/24] Installing python3-rich-0:13.7. 100% | 149.5 MiB/s | 2.5 MiB | 00m00s [23/24] Installing python3-pytest-0:8.3 100% | 265.6 MiB/s | 21.0 MiB | 00m00s warning: posix.fork(): .fork(), .exec(), .wait() and .redirect2null() are deprecated, use rpm.execute() instead warning: posix.wait(): .fork(), .exec(), .wait() and .redirect2null() are deprecated, use rpm.execute() instead warning: posix.exec(): .fork(), .exec(), .wait() and .redirect2null() are deprecated, use rpm.execute() instead [24/24] Installing python3-littleutils- 100% | 1.3 MiB/s | 55.4 KiB | 00m00s >>> Running trigger-install scriptlet: glibc-common-0:2.40.9000-1.fc42.x86_64 >>> Stop trigger-install scriptlet: glibc-common-0:2.40.9000-1.fc42.x86_64 Complete! Warning: skipped PGP checks for 3 packages from repository: copr_base Building target platforms: x86_64 Building for target x86_64 setting SOURCE_DATE_EPOCH=1725235200 Executing(%generate_buildrequires): /bin/sh -e /var/tmp/rpm-tmp.UEUQ2q + umask 022 + cd /builddir/build/BUILD/python-executing-2.1.0-build + cd executing-2.1.0 + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CFLAGS + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CXXFLAGS + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FFLAGS + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes --cap-lints=warn' + export RUSTFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 ' + export LDFLAGS + LT_SYS_LIBRARY_PATH=/usr/lib64: + export LT_SYS_LIBRARY_PATH + CC=gcc + export CC + CXX=g++ + export CXX + echo pyproject-rpm-macros + echo python3-devel + echo 'python3dist(pip) >= 19' + echo 'python3dist(packaging)' + '[' -f pyproject.toml ']' + echo '(python3dist(tomli) if python3-devel < 3.11)' + rm -rfv '*.dist-info/' + '[' -f /usr/bin/python3 ']' + mkdir -p /builddir/build/BUILD/python-executing-2.1.0-build/executing-2.1.0/.pyproject-builddir + echo -n + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 ' + TMPDIR=/builddir/build/BUILD/python-executing-2.1.0-build/executing-2.1.0/.pyproject-builddir + RPM_TOXENV=py313 + HOSTNAME=rpmbuild + /usr/bin/python3 -Bs /usr/lib/rpm/redhat/pyproject_buildrequires.py --generate-extras --python3_pkgversion 3 --wheeldir /builddir/build/BUILD/python-executing-2.1.0-build/executing-2.1.0/pyproject-wheeldir --output /builddir/build/BUILD/python-executing-2.1.0-build/python-executing-2.1.0-1.fc42.x86_64-pyproject-buildrequires -t Handling setuptools from build-system.requires Requirement satisfied: setuptools (installed: setuptools 69.2.0) Handling wheel from build-system.requires Requirement satisfied: wheel (installed: wheel 0.43.0) Handling setuptools_scm[toml] from build-system.requires Requirement satisfied: setuptools_scm[toml] (installed: setuptools_scm 8.0.4) (extras are currently not checked) Handling wheel from get_requires_for_build_wheel Requirement satisfied: wheel (installed: wheel 0.43.0) Handling setuptools from get_requires_for_build_wheel Requirement satisfied: setuptools (installed: setuptools 69.2.0) Handling setuptools_scm[toml] from get_requires_for_build_wheel Requirement satisfied: setuptools_scm[toml] (installed: setuptools_scm 8.0.4) (extras are currently not checked) Handling tox-current-env >= 0.0.6 from tox itself Requirement satisfied: tox-current-env >= 0.0.6 (installed: tox-current-env 0.0.12) py313: OK (0.00 seconds) congratulations :) (0.07 seconds) Handling tox from tox --print-deps-only: py313 Requirement satisfied: tox (installed: tox 4.16.0) running dist_info writing executing.egg-info/PKG-INFO writing dependency_links to executing.egg-info/dependency_links.txt writing requirements to executing.egg-info/requires.txt writing top-level names to executing.egg-info/top_level.txt reading manifest file 'executing.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' adding license file 'LICENSE.txt' writing manifest file 'executing.egg-info/SOURCES.txt' creating '/builddir/build/BUILD/python-executing-2.1.0-build/executing-2.1.0/executing-2.1.0.dist-info' Handling asttokens >=2.1.0 ; extra == 'tests' from hook generated metadata: Requires-Dist (executing) Requirement satisfied: asttokens >=2.1.0 ; extra == 'tests' (installed: asttokens 2.4.1) Handling ipython ; extra == 'tests' from hook generated metadata: Requires-Dist (executing) Requirement satisfied: ipython ; extra == 'tests' (installed: ipython 8.27.0) Handling pytest ; extra == 'tests' from hook generated metadata: Requires-Dist (executing) Requirement satisfied: pytest ; extra == 'tests' (installed: pytest 8.3.3) Handling littleutils ; extra == 'tests' from hook generated metadata: Requires-Dist (executing) Requirement satisfied: littleutils ; extra == 'tests' (installed: littleutils 0.2.2) Handling rich ; (python_version >= "3.11") and extra == 'tests' from hook generated metadata: Requires-Dist (executing) Requirement satisfied: rich ; (python_version >= "3.11") and extra == 'tests' (installed: rich 13.7.1) + cat /builddir/build/BUILD/python-executing-2.1.0-build/python-executing-2.1.0-1.fc42.x86_64-pyproject-buildrequires + rm -rfv executing-2.1.0.dist-info/ removed 'executing-2.1.0.dist-info/top_level.txt' removed 'executing-2.1.0.dist-info/METADATA' removed 'executing-2.1.0.dist-info/LICENSE.txt' removed directory 'executing-2.1.0.dist-info/' + RPM_EC=0 ++ jobs -p + exit 0 Wrote: /builddir/build/SRPMS/python-executing-2.1.0-1.fc42.buildreqs.nosrc.rpm INFO: Going to install missing dynamic buildrequires Updating and loading repositories: Copr repository 100% | 36.5 KiB/s | 1.5 KiB | 00m00s fedora 100% | 193.5 KiB/s | 5.2 KiB | 00m00s Repositories loaded. Package "pyproject-rpm-macros-1.14.0-1.fc42.noarch" is already installed. Package "python3-devel-3.13.0~rc2-1.fc42.x86_64" is already installed. Package "python3-asttokens-2.4.1-7.fc42.noarch" is already installed. Package "python3-ipython-8.27.0-1.fc42.noarch" is already installed. Package "python3-littleutils-0.2.2-16.fc41.noarch" is already installed. Package "python3-packaging-24.1-2.fc41.noarch" is already installed. Package "python3-pip-24.2-1.fc41.noarch" is already installed. Package "python3-pytest-8.3.3-1.fc42.noarch" is already installed. Package "python3-rich-13.7.1-5.fc41.noarch" is already installed. Package "python3-setuptools-69.2.0-8.fc41.noarch" is already installed. Package "python3-setuptools_scm-8.0.4-6.fc41.noarch" is already installed. Package "python3-setuptools_scm+toml-8.0.4-6.fc41.noarch" is already installed. Package "tox-4.16.0-2.fc41.noarch" is already installed. Nothing to do. Package "python3-tox-current-env-0.0.12-1.fc42.noarch" is already installed. Package "python3-wheel-1:0.43.0-4.fc41.noarch" is already installed. Building target platforms: x86_64 Building for target x86_64 setting SOURCE_DATE_EPOCH=1725235200 Executing(%generate_buildrequires): /bin/sh -e /var/tmp/rpm-tmp.Xf1MXn + umask 022 + cd /builddir/build/BUILD/python-executing-2.1.0-build + cd executing-2.1.0 + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CFLAGS + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CXXFLAGS + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FFLAGS + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes --cap-lints=warn' + export RUSTFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 ' + export LDFLAGS + LT_SYS_LIBRARY_PATH=/usr/lib64: + export LT_SYS_LIBRARY_PATH + CC=gcc + export CC + CXX=g++ + export CXX + echo pyproject-rpm-macros + echo python3-devel + echo 'python3dist(pip) >= 19' + echo 'python3dist(packaging)' + '[' -f pyproject.toml ']' + echo '(python3dist(tomli) if python3-devel < 3.11)' + rm -rfv '*.dist-info/' + '[' -f /usr/bin/python3 ']' + mkdir -p /builddir/build/BUILD/python-executing-2.1.0-build/executing-2.1.0/.pyproject-builddir + echo -n + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 ' + TMPDIR=/builddir/build/BUILD/python-executing-2.1.0-build/executing-2.1.0/.pyproject-builddir + RPM_TOXENV=py313 + HOSTNAME=rpmbuild + /usr/bin/python3 -Bs /usr/lib/rpm/redhat/pyproject_buildrequires.py --generate-extras --python3_pkgversion 3 --wheeldir /builddir/build/BUILD/python-executing-2.1.0-build/executing-2.1.0/pyproject-wheeldir --output /builddir/build/BUILD/python-executing-2.1.0-build/python-executing-2.1.0-1.fc42.x86_64-pyproject-buildrequires -t Handling setuptools from build-system.requires Requirement satisfied: setuptools (installed: setuptools 69.2.0) Handling wheel from build-system.requires Requirement satisfied: wheel (installed: wheel 0.43.0) Handling setuptools_scm[toml] from build-system.requires Requirement satisfied: setuptools_scm[toml] (installed: setuptools_scm 8.0.4) (extras are currently not checked) Handling wheel from get_requires_for_build_wheel Requirement satisfied: wheel (installed: wheel 0.43.0) Handling setuptools from get_requires_for_build_wheel Requirement satisfied: setuptools (installed: setuptools 69.2.0) Handling setuptools_scm[toml] from get_requires_for_build_wheel Requirement satisfied: setuptools_scm[toml] (installed: setuptools_scm 8.0.4) (extras are currently not checked) Handling tox-current-env >= 0.0.6 from tox itself Requirement satisfied: tox-current-env >= 0.0.6 (installed: tox-current-env 0.0.12) py313: OK (0.00 seconds) congratulations :) (0.06 seconds) Handling tox from tox --print-deps-only: py313 Requirement satisfied: tox (installed: tox 4.16.0) running dist_info writing executing.egg-info/PKG-INFO writing dependency_links to executing.egg-info/dependency_links.txt writing requirements to executing.egg-info/requires.txt writing top-level names to executing.egg-info/top_level.txt reading manifest file 'executing.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' adding license file 'LICENSE.txt' writing manifest file 'executing.egg-info/SOURCES.txt' creating '/builddir/build/BUILD/python-executing-2.1.0-build/executing-2.1.0/executing-2.1.0.dist-info' Handling asttokens >=2.1.0 ; extra == 'tests' from hook generated metadata: Requires-Dist (executing) Requirement satisfied: asttokens >=2.1.0 ; extra == 'tests' (installed: asttokens 2.4.1) Handling ipython ; extra == 'tests' from hook generated metadata: Requires-Dist (executing) Requirement satisfied: ipython ; extra == 'tests' (installed: ipython 8.27.0) Handling pytest ; extra == 'tests' from hook generated metadata: Requires-Dist (executing) Requirement satisfied: pytest ; extra == 'tests' (installed: pytest 8.3.3) Handling littleutils ; extra == 'tests' from hook generated metadata: Requires-Dist (executing) Requirement satisfied: littleutils ; extra == 'tests' (installed: littleutils 0.2.2) Handling rich ; (python_version >= "3.11") and extra == 'tests' from hook generated metadata: Requires-Dist (executing) Requirement satisfied: rich ; (python_version >= "3.11") and extra == 'tests' (installed: rich 13.7.1) + cat /builddir/build/BUILD/python-executing-2.1.0-build/python-executing-2.1.0-1.fc42.x86_64-pyproject-buildrequires + rm -rfv executing-2.1.0.dist-info/ removed 'executing-2.1.0.dist-info/top_level.txt' removed 'executing-2.1.0.dist-info/METADATA' removed 'executing-2.1.0.dist-info/LICENSE.txt' removed directory 'executing-2.1.0.dist-info/' + RPM_EC=0 ++ jobs -p + exit 0 Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.st3s0U + umask 022 + cd /builddir/build/BUILD/python-executing-2.1.0-build + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CFLAGS + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CXXFLAGS + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FFLAGS + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn' + export RUSTFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes ' + export LDFLAGS + LT_SYS_LIBRARY_PATH=/usr/lib64: + export LT_SYS_LIBRARY_PATH + CC=gcc + export CC + CXX=g++ + export CXX + cd executing-2.1.0 + mkdir -p /builddir/build/BUILD/python-executing-2.1.0-build/executing-2.1.0/.pyproject-builddir + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes ' + TMPDIR=/builddir/build/BUILD/python-executing-2.1.0-build/executing-2.1.0/.pyproject-builddir + /usr/bin/python3 -Bs /usr/lib/rpm/redhat/pyproject_wheel.py /builddir/build/BUILD/python-executing-2.1.0-build/executing-2.1.0/pyproject-wheeldir Processing /builddir/build/BUILD/python-executing-2.1.0-build/executing-2.1.0 Preparing metadata (pyproject.toml): started Running command Preparing metadata (pyproject.toml) running dist_info creating /builddir/build/BUILD/python-executing-2.1.0-build/executing-2.1.0/.pyproject-builddir/pip-modern-metadata-xeh2nbe5/executing.egg-info writing /builddir/build/BUILD/python-executing-2.1.0-build/executing-2.1.0/.pyproject-builddir/pip-modern-metadata-xeh2nbe5/executing.egg-info/PKG-INFO writing dependency_links to /builddir/build/BUILD/python-executing-2.1.0-build/executing-2.1.0/.pyproject-builddir/pip-modern-metadata-xeh2nbe5/executing.egg-info/dependency_links.txt writing requirements to /builddir/build/BUILD/python-executing-2.1.0-build/executing-2.1.0/.pyproject-builddir/pip-modern-metadata-xeh2nbe5/executing.egg-info/requires.txt writing top-level names to /builddir/build/BUILD/python-executing-2.1.0-build/executing-2.1.0/.pyproject-builddir/pip-modern-metadata-xeh2nbe5/executing.egg-info/top_level.txt writing manifest file '/builddir/build/BUILD/python-executing-2.1.0-build/executing-2.1.0/.pyproject-builddir/pip-modern-metadata-xeh2nbe5/executing.egg-info/SOURCES.txt' reading manifest file '/builddir/build/BUILD/python-executing-2.1.0-build/executing-2.1.0/.pyproject-builddir/pip-modern-metadata-xeh2nbe5/executing.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' adding license file 'LICENSE.txt' writing manifest file '/builddir/build/BUILD/python-executing-2.1.0-build/executing-2.1.0/.pyproject-builddir/pip-modern-metadata-xeh2nbe5/executing.egg-info/SOURCES.txt' creating '/builddir/build/BUILD/python-executing-2.1.0-build/executing-2.1.0/.pyproject-builddir/pip-modern-metadata-xeh2nbe5/executing-2.1.0.dist-info' Preparing metadata (pyproject.toml): finished with status 'done' Building wheels for collected packages: executing Building wheel for executing (pyproject.toml): started Running command Building wheel for executing (pyproject.toml) running bdist_wheel running build running build_py creating build creating build/lib creating build/lib/executing copying executing/__init__.py -> build/lib/executing copying executing/_exceptions.py -> build/lib/executing copying executing/_position_node_finder.py -> build/lib/executing copying executing/executing.py -> build/lib/executing copying executing/version.py -> build/lib/executing running egg_info writing executing.egg-info/PKG-INFO writing dependency_links to executing.egg-info/dependency_links.txt writing requirements to executing.egg-info/requires.txt writing top-level names to executing.egg-info/top_level.txt reading manifest file 'executing.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' adding license file 'LICENSE.txt' writing manifest file 'executing.egg-info/SOURCES.txt' copying executing/py.typed -> build/lib/executing installing to build/bdist.linux-x86_64/wheel running install running install_lib creating build/bdist.linux-x86_64 creating build/bdist.linux-x86_64/wheel creating build/bdist.linux-x86_64/wheel/executing copying build/lib/executing/__init__.py -> build/bdist.linux-x86_64/wheel/executing copying build/lib/executing/_exceptions.py -> build/bdist.linux-x86_64/wheel/executing copying build/lib/executing/_position_node_finder.py -> build/bdist.linux-x86_64/wheel/executing copying build/lib/executing/executing.py -> build/bdist.linux-x86_64/wheel/executing copying build/lib/executing/version.py -> build/bdist.linux-x86_64/wheel/executing copying build/lib/executing/py.typed -> build/bdist.linux-x86_64/wheel/executing running install_egg_info Copying executing.egg-info to build/bdist.linux-x86_64/wheel/executing-2.1.0-py3.13.egg-info running install_scripts creating build/bdist.linux-x86_64/wheel/executing-2.1.0.dist-info/WHEEL creating '/builddir/build/BUILD/python-executing-2.1.0-build/executing-2.1.0/.pyproject-builddir/pip-wheel-pmyrhp0b/.tmp-fq8u92_w/executing-2.1.0-py2.py3-none-any.whl' and adding 'build/bdist.linux-x86_64/wheel' to it adding 'executing/__init__.py' adding 'executing/_exceptions.py' adding 'executing/_position_node_finder.py' adding 'executing/executing.py' adding 'executing/py.typed' adding 'executing/version.py' adding 'executing-2.1.0.dist-info/LICENSE.txt' adding 'executing-2.1.0.dist-info/METADATA' adding 'executing-2.1.0.dist-info/WHEEL' adding 'executing-2.1.0.dist-info/top_level.txt' adding 'executing-2.1.0.dist-info/RECORD' removing build/bdist.linux-x86_64/wheel Building wheel for executing (pyproject.toml): finished with status 'done' Created wheel for executing: filename=executing-2.1.0-py2.py3-none-any.whl size=25789 sha256=221769a462adc7f6e8a03d1374f7e4e2514663cdd20bad208797d3c60d5e1048 Stored in directory: /builddir/.cache/pip/wheels/e1/a7/22/c7d0c3942647b9782e6c1cee9c7c86e7b91e3c1e09d492edd9 Successfully built executing + RPM_EC=0 ++ jobs -p + exit 0 Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.6d6Yt5 + umask 022 + cd /builddir/build/BUILD/python-executing-2.1.0-build + '[' /builddir/build/BUILD/python-executing-2.1.0-build/BUILDROOT '!=' / ']' + rm -rf /builddir/build/BUILD/python-executing-2.1.0-build/BUILDROOT ++ dirname /builddir/build/BUILD/python-executing-2.1.0-build/BUILDROOT + mkdir -p /builddir/build/BUILD/python-executing-2.1.0-build + mkdir /builddir/build/BUILD/python-executing-2.1.0-build/BUILDROOT + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CFLAGS + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CXXFLAGS + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FFLAGS + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn' + export RUSTFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes ' + export LDFLAGS + LT_SYS_LIBRARY_PATH=/usr/lib64: + export LT_SYS_LIBRARY_PATH + CC=gcc + export CC + CXX=g++ + export CXX + cd executing-2.1.0 ++ xargs basename --multiple ++ sed -E 's/([^-]+)-([^-]+)-.+\.whl/\1==\2/' ++ ls /builddir/build/BUILD/python-executing-2.1.0-build/executing-2.1.0/pyproject-wheeldir/executing-2.1.0-py2.py3-none-any.whl + specifier=executing==2.1.0 + '[' -z executing==2.1.0 ']' + TMPDIR=/builddir/build/BUILD/python-executing-2.1.0-build/executing-2.1.0/.pyproject-builddir + /usr/bin/python3 -m pip install --root /builddir/build/BUILD/python-executing-2.1.0-build/BUILDROOT --prefix /usr --no-deps --disable-pip-version-check --progress-bar off --verbose --ignore-installed --no-warn-script-location --no-index --no-cache-dir --find-links /builddir/build/BUILD/python-executing-2.1.0-build/executing-2.1.0/pyproject-wheeldir executing==2.1.0 Using pip 24.2 from /usr/lib/python3.13/site-packages/pip (python 3.13) Looking in links: /builddir/build/BUILD/python-executing-2.1.0-build/executing-2.1.0/pyproject-wheeldir Processing ./pyproject-wheeldir/executing-2.1.0-py2.py3-none-any.whl Installing collected packages: executing Successfully installed executing-2.1.0 + '[' -d /builddir/build/BUILD/python-executing-2.1.0-build/BUILDROOT/usr/bin ']' + rm -f /builddir/build/BUILD/python-executing-2.1.0-build/python-executing-2.1.0-1.fc42.x86_64-pyproject-ghost-distinfo + site_dirs=() + '[' -d /builddir/build/BUILD/python-executing-2.1.0-build/BUILDROOT/usr/lib/python3.13/site-packages ']' + site_dirs+=("/usr/lib/python3.13/site-packages") + '[' /builddir/build/BUILD/python-executing-2.1.0-build/BUILDROOT/usr/lib64/python3.13/site-packages '!=' /builddir/build/BUILD/python-executing-2.1.0-build/BUILDROOT/usr/lib/python3.13/site-packages ']' + '[' -d /builddir/build/BUILD/python-executing-2.1.0-build/BUILDROOT/usr/lib64/python3.13/site-packages ']' + for site_dir in ${site_dirs[@]} + for distinfo in /builddir/build/BUILD/python-executing-2.1.0-build/BUILDROOT$site_dir/*.dist-info + echo '%ghost /usr/lib/python3.13/site-packages/executing-2.1.0.dist-info' + sed -i s/pip/rpm/ /builddir/build/BUILD/python-executing-2.1.0-build/BUILDROOT/usr/lib/python3.13/site-packages/executing-2.1.0.dist-info/INSTALLER + PYTHONPATH=/usr/lib/rpm/redhat + /usr/bin/python3 -B /usr/lib/rpm/redhat/pyproject_preprocess_record.py --buildroot /builddir/build/BUILD/python-executing-2.1.0-build/BUILDROOT --record /builddir/build/BUILD/python-executing-2.1.0-build/BUILDROOT/usr/lib/python3.13/site-packages/executing-2.1.0.dist-info/RECORD --output /builddir/build/BUILD/python-executing-2.1.0-build/python-executing-2.1.0-1.fc42.x86_64-pyproject-record + rm -fv /builddir/build/BUILD/python-executing-2.1.0-build/BUILDROOT/usr/lib/python3.13/site-packages/executing-2.1.0.dist-info/RECORD removed '/builddir/build/BUILD/python-executing-2.1.0-build/BUILDROOT/usr/lib/python3.13/site-packages/executing-2.1.0.dist-info/RECORD' + rm -fv /builddir/build/BUILD/python-executing-2.1.0-build/BUILDROOT/usr/lib/python3.13/site-packages/executing-2.1.0.dist-info/REQUESTED removed '/builddir/build/BUILD/python-executing-2.1.0-build/BUILDROOT/usr/lib/python3.13/site-packages/executing-2.1.0.dist-info/REQUESTED' ++ wc -l /builddir/build/BUILD/python-executing-2.1.0-build/python-executing-2.1.0-1.fc42.x86_64-pyproject-ghost-distinfo ++ cut -f1 '-d ' + lines=1 + '[' 1 -ne 1 ']' + RPM_FILES_ESCAPE=4.19 + /usr/bin/python3 /usr/lib/rpm/redhat/pyproject_save_files.py --output-files /builddir/build/BUILD/python-executing-2.1.0-build/python-executing-2.1.0-1.fc42.x86_64-pyproject-files --output-modules /builddir/build/BUILD/python-executing-2.1.0-build/python-executing-2.1.0-1.fc42.x86_64-pyproject-modules --buildroot /builddir/build/BUILD/python-executing-2.1.0-build/BUILDROOT --sitelib /usr/lib/python3.13/site-packages --sitearch /usr/lib64/python3.13/site-packages --python-version 3.13 --pyproject-record /builddir/build/BUILD/python-executing-2.1.0-build/python-executing-2.1.0-1.fc42.x86_64-pyproject-record --prefix /usr executing + /usr/lib/rpm/check-buildroot + /usr/lib/rpm/redhat/brp-ldconfig + /usr/lib/rpm/brp-compress + /usr/lib/rpm/brp-strip /usr/bin/strip + /usr/lib/rpm/brp-strip-comment-note /usr/bin/strip /usr/bin/objdump + /usr/lib/rpm/redhat/brp-strip-lto /usr/bin/strip + /usr/lib/rpm/brp-strip-static-archive /usr/bin/strip + /usr/lib/rpm/check-rpaths + /usr/lib/rpm/redhat/brp-mangle-shebangs + /usr/lib/rpm/brp-remove-la-files + env /usr/lib/rpm/redhat/brp-python-bytecompile '' 1 0 -j2 Bytecompiling .py files below /builddir/build/BUILD/python-executing-2.1.0-build/BUILDROOT/usr/lib/python3.13 using python3.13 + /usr/lib/rpm/redhat/brp-python-hardlink + /usr/bin/add-determinism --brp -j2 /builddir/build/BUILD/python-executing-2.1.0-build/BUILDROOT /builddir/build/BUILD/python-executing-2.1.0-build/BUILDROOT/usr/lib/python3.13/site-packages/executing/__pycache__/__init__.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-executing-2.1.0-build/BUILDROOT/usr/lib/python3.13/site-packages/executing/__pycache__/_exceptions.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-executing-2.1.0-build/BUILDROOT/usr/lib/python3.13/site-packages/executing/__pycache__/version.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-executing-2.1.0-build/BUILDROOT/usr/lib/python3.13/site-packages/executing/__pycache__/_position_node_finder.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-executing-2.1.0-build/BUILDROOT/usr/lib/python3.13/site-packages/executing/__pycache__/_position_node_finder.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-executing-2.1.0-build/BUILDROOT/usr/lib/python3.13/site-packages/executing/__pycache__/executing.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-executing-2.1.0-build/BUILDROOT/usr/lib/python3.13/site-packages/executing/__pycache__/executing.cpython-313.pyc: replacing with normalized version Scanned 8 directories and 21 files, processed 7 inodes, 7 modified (4 replaced + 3 rewritten), 0 unsupported format, 0 errors Executing(%check): /bin/sh -e /var/tmp/rpm-tmp.xet3PM + umask 022 + cd /builddir/build/BUILD/python-executing-2.1.0-build + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CFLAGS + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CXXFLAGS + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FFLAGS + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn' + export RUSTFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes ' + export LDFLAGS + LT_SYS_LIBRARY_PATH=/usr/lib64: + export LT_SYS_LIBRARY_PATH + CC=gcc + export CC + CXX=g++ + export CXX + cd executing-2.1.0 + '[' '!' -f /builddir/build/BUILD/python-executing-2.1.0-build/python-executing-2.1.0-1.fc42.x86_64-pyproject-modules ']' + PATH=/builddir/build/BUILD/python-executing-2.1.0-build/BUILDROOT/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sbin + PYTHONPATH=/builddir/build/BUILD/python-executing-2.1.0-build/BUILDROOT/usr/lib64/python3.13/site-packages:/builddir/build/BUILD/python-executing-2.1.0-build/BUILDROOT/usr/lib/python3.13/site-packages + _PYTHONSITE=/builddir/build/BUILD/python-executing-2.1.0-build/BUILDROOT/usr/lib64/python3.13/site-packages:/builddir/build/BUILD/python-executing-2.1.0-build/BUILDROOT/usr/lib/python3.13/site-packages + PYTHONDONTWRITEBYTECODE=1 + /usr/bin/python3 -sP /usr/lib/rpm/redhat/import_all_modules.py -f /builddir/build/BUILD/python-executing-2.1.0-build/python-executing-2.1.0-1.fc42.x86_64-pyproject-modules Check import: executing Check import: executing.executing Check import: executing.version + TOX_TESTENV_PASSENV='*' + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes ' + PATH=/builddir/build/BUILD/python-executing-2.1.0-build/BUILDROOT/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sbin + PYTHONPATH=/builddir/build/BUILD/python-executing-2.1.0-build/BUILDROOT/usr/lib64/python3.13/site-packages:/builddir/build/BUILD/python-executing-2.1.0-build/BUILDROOT/usr/lib/python3.13/site-packages + PYTHONDONTWRITEBYTECODE=1 + PYTEST_ADDOPTS=' --ignore=/builddir/build/BUILD/python-executing-2.1.0-build/executing-2.1.0/.pyproject-builddir' + PYTEST_XDIST_AUTO_NUM_WORKERS=2 + HOSTNAME=rpmbuild + /usr/bin/python3 -m tox --current-env -q --recreate -e py313 ============================= test session starts ============================== platform linux -- Python 3.13.0rc2, pytest-8.3.3, pluggy-1.5.0 cachedir: .tox/py313/.pytest_cache rootdir: /builddir/build/BUILD/python-executing-2.1.0-build/executing-2.1.0 configfile: pyproject.toml collected 208 items tests/test_ipython.py .. [ 0%] tests/test_main.py ...............F..ss............F...F................ [ 26%] .........F..........................F................................... [ 61%] .....................F....................F..........sssssssssssssss. [ 94%] tests/test_pytest.py ............ [100%] =================================== FAILURES =================================== _____________________________ TestStuff.test_iter ______________________________ self = def test_iter(self): class iter_test: def __init__(self, typ): self.typ = typ self.it = iter([1, 2]) def __iter__(self): assert isinstance(calling_expression(), self.typ) return self def __next__(self): assert isinstance(calling_expression(), self.typ) return next(self.it) assert list(iter_test(ast.Call)) == [1, 2] assert next(iter(iter_test(ast.Call))) == 1 if sys.version_info >= (3, 11): > assert [i for i in iter_test(ast.ListComp)] == [1, 2] tests/test_main.py:607: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_main.py:595: in __iter__ assert isinstance(calling_expression(), self.typ) tests/test_main.py:48: in calling_expression return Source.executing(frame).node executing/executing.py:273: in executing node_finder = NodeFinder(frame, stmts, tree, lasti, source) executing/_position_node_finder.py:170: in __init__ self.verify(self.result, instruction) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = node = instruction = Instruction(opname='GET_ITER', opcode=19, arg=None, argval=None, argrepr='', offset=274, start_offset=274, starts_line...er=607, label=None, positions=Positions(lineno=607, end_lineno=607, col_offset=31, end_col_offset=54), cache_info=None) def verify(self, node: EnhancedAST, instruction: dis.Instruction) -> None: """ checks if this node could gererate this instruction """ op_name = instruction.opname extra_filter: Callable[[EnhancedAST], bool] = lambda e: True ctx: Type = type(None) def inst_match(opnames: Union[str, Sequence[str]], **kwargs: Any) -> bool: """ match instruction Parameters: opnames: (str|Seq[str]): inst.opname has to be equal to or in `opname` **kwargs: every arg has to match inst.arg Returns: True if all conditions match the instruction """ if isinstance(opnames, str): opnames = [opnames] return instruction.opname in opnames and kwargs == { k: getattr(instruction, k) for k in kwargs } def node_match(node_type: Union[Type, Tuple[Type, ...]], **kwargs: Any) -> bool: """ match the ast-node Parameters: node_type: type of the node **kwargs: every `arg` has to be equal `node.arg` or `node.arg` has to be an instance of `arg` if it is a type. """ return isinstance(node, node_type) and all( isinstance(getattr(node, k), v) if isinstance(v, type) else getattr(node, k) == v for k, v in kwargs.items() ) if op_name == "CACHE": return if inst_match("CALL") and node_match((ast.With, ast.AsyncWith)): # call to context.__exit__ return if inst_match(("CALL", "LOAD_FAST")) and node_match( (ast.ListComp, ast.GeneratorExp, ast.SetComp, ast.DictComp) ): # call to the generator function return if ( sys.version_info >= (3, 12) and inst_match(("LOAD_FAST_AND_CLEAR", "STORE_FAST")) and node_match((ast.ListComp, ast.SetComp, ast.DictComp)) ): return if inst_match(("CALL", "CALL_FUNCTION_EX")) and node_match( (ast.ClassDef, ast.Call) ): return if inst_match(("COMPARE_OP", "IS_OP", "CONTAINS_OP")) and node_match( ast.Compare ): return if inst_match("LOAD_NAME", argval="__annotations__") and node_match( ast.AnnAssign ): return if ( ( inst_match("LOAD_METHOD", argval="join") or inst_match("LOAD_ATTR", argval="join") # 3.12 or inst_match(("CALL", "BUILD_STRING")) ) and node_match(ast.BinOp, left=ast.Constant, op=ast.Mod) and isinstance(cast(ast.Constant, cast(ast.BinOp, node).left).value, str) ): # "..."%(...) uses "".join return if inst_match("STORE_SUBSCR") and node_match(ast.AnnAssign): # data: int return if inst_match(("DELETE_NAME", "DELETE_FAST")) and node_match( ast.Name, id=instruction.argval, ctx=ast.Del ): return if inst_match("BUILD_STRING") and ( node_match(ast.JoinedStr) or node_match(ast.BinOp, op=ast.Mod) ): return if inst_match(("BEFORE_WITH","WITH_EXCEPT_START")) and node_match(ast.With): return if inst_match(("STORE_NAME", "STORE_GLOBAL"), argval="__doc__") and node_match( ast.Constant ): # store docstrings return if ( inst_match(("STORE_NAME", "STORE_FAST", "STORE_GLOBAL", "STORE_DEREF")) and node_match(ast.ExceptHandler) and instruction.argval == mangled_name(node) ): # store exception in variable return if ( inst_match(("STORE_NAME", "STORE_FAST", "STORE_DEREF", "STORE_GLOBAL")) and node_match((ast.Import, ast.ImportFrom)) and any(mangled_name(cast(EnhancedAST, alias)) == instruction.argval for alias in cast(ast.Import, node).names) ): # store imported module in variable return if ( inst_match(("STORE_FAST", "STORE_DEREF", "STORE_NAME", "STORE_GLOBAL")) and ( node_match((ast.FunctionDef, ast.ClassDef, ast.AsyncFunctionDef)) or node_match( ast.Name, ctx=ast.Store, ) ) and instruction.argval == mangled_name(node) ): return if False: # TODO: match expressions are not supported for now if inst_match(("STORE_FAST", "STORE_NAME")) and node_match( ast.MatchAs, name=instruction.argval ): return if inst_match("COMPARE_OP", argval="==") and node_match(ast.MatchSequence): return if inst_match("COMPARE_OP", argval="==") and node_match(ast.MatchValue): return if inst_match("BINARY_OP") and node_match( ast.AugAssign, op=op_type_map[instruction.argrepr.removesuffix("=")] ): # a+=5 return if node_match(ast.Attribute, ctx=ast.Del) and inst_match( "DELETE_ATTR", argval=mangled_name(node) ): return if inst_match( ( "JUMP_IF_TRUE_OR_POP", "JUMP_IF_FALSE_OR_POP", "POP_JUMP_IF_TRUE", "POP_JUMP_IF_FALSE", ) ) and node_match(ast.BoolOp): # and/or short circuit return if inst_match("DELETE_SUBSCR") and node_match(ast.Subscript, ctx=ast.Del): return if ( node_match(ast.Name, ctx=ast.Load) or ( node_match(ast.Name, ctx=ast.Store) and isinstance(node.parent, ast.AugAssign) ) ) and inst_match( ( "LOAD_NAME", "LOAD_FAST", "LOAD_FAST_CHECK", "LOAD_GLOBAL", "LOAD_DEREF", "LOAD_FROM_DICT_OR_DEREF", ), argval=mangled_name(node), ): return if node_match(ast.Name, ctx=ast.Del) and inst_match( ("DELETE_NAME", "DELETE_GLOBAL", "DELETE_DEREF"), argval=mangled_name(node) ): return if node_match(ast.Constant) and inst_match( "LOAD_CONST", argval=cast(ast.Constant, node).value ): return if node_match( (ast.ListComp, ast.SetComp, ast.DictComp, ast.GeneratorExp, ast.For) ) and inst_match(("GET_ITER", "FOR_ITER")): return if sys.version_info >= (3, 12): if node_match(ast.UnaryOp, op=ast.UAdd) and inst_match( "CALL_INTRINSIC_1", argrepr="INTRINSIC_UNARY_POSITIVE" ): return if node_match(ast.Subscript) and inst_match("BINARY_SLICE"): return if node_match(ast.ImportFrom) and inst_match( "CALL_INTRINSIC_1", argrepr="INTRINSIC_IMPORT_STAR" ): return if ( node_match(ast.Yield) or isinstance(node.parent, ast.GeneratorExp) ) and inst_match("CALL_INTRINSIC_1", argrepr="INTRINSIC_ASYNC_GEN_WRAP"): return if node_match(ast.Name) and inst_match("LOAD_DEREF",argval="__classdict__"): return if node_match(ast.TypeVar) and ( inst_match("CALL_INTRINSIC_1", argrepr="INTRINSIC_TYPEVAR") or inst_match( "CALL_INTRINSIC_2", argrepr="INTRINSIC_TYPEVAR_WITH_BOUND" ) or inst_match( "CALL_INTRINSIC_2", argrepr="INTRINSIC_TYPEVAR_WITH_CONSTRAINTS" ) or inst_match(("STORE_FAST", "STORE_DEREF"), argrepr=mangled_name(node)) ): return if node_match(ast.TypeVarTuple) and ( inst_match("CALL_INTRINSIC_1", argrepr="INTRINSIC_TYPEVARTUPLE") or inst_match(("STORE_FAST", "STORE_DEREF"), argrepr=node.name) ): return if node_match(ast.ParamSpec) and ( inst_match("CALL_INTRINSIC_1", argrepr="INTRINSIC_PARAMSPEC") or inst_match(("STORE_FAST", "STORE_DEREF"), argrepr=node.name)): return if node_match(ast.TypeAlias): if( inst_match("CALL_INTRINSIC_1", argrepr="INTRINSIC_TYPEALIAS") or inst_match( ("STORE_NAME", "STORE_FAST", "STORE_DEREF"), argrepr=node.name.id ) or inst_match("CALL") ): return if node_match(ast.ClassDef) and node.type_params: if inst_match( ("STORE_DEREF", "LOAD_DEREF", "LOAD_FROM_DICT_OR_DEREF"), argrepr=".type_params", ): return if inst_match(("STORE_FAST", "LOAD_FAST"), argrepr=".generic_base"): return if inst_match( "CALL_INTRINSIC_1", argrepr="INTRINSIC_SUBSCRIPT_GENERIC" ): return if inst_match("LOAD_DEREF",argval="__classdict__"): return if node_match((ast.FunctionDef,ast.AsyncFunctionDef)) and node.type_params: if inst_match("CALL"): return if inst_match( "CALL_INTRINSIC_2", argrepr="INTRINSIC_SET_FUNCTION_TYPE_PARAMS" ): return if inst_match("LOAD_FAST",argval=".defaults"): return if inst_match("LOAD_FAST",argval=".kwdefaults"): return if inst_match("STORE_NAME", argval="__classdictcell__"): # this is a general thing return # f-strings if node_match(ast.JoinedStr) and ( inst_match("LOAD_ATTR", argval="join") or inst_match(("LIST_APPEND", "CALL")) ): return if node_match(ast.FormattedValue) and inst_match("FORMAT_VALUE"): return if sys.version_info >= (3, 13): if inst_match("NOP"): return if inst_match("TO_BOOL") and node_match(ast.BoolOp): return if inst_match("CALL_KW") and node_match((ast.Call, ast.ClassDef)): return if inst_match("LOAD_FAST", argval=".type_params"): return if inst_match("LOAD_FAST", argval="__classdict__"): return if inst_match("LOAD_FAST") and node_match( ( ast.FunctionDef, ast.ClassDef, ast.TypeAlias, ast.TypeVar, ast.Lambda, ast.AsyncFunctionDef, ) ): # These are loads for closure variables. # It is difficult to check that this is actually closure variable, see: # https://github.com/alexmojaki/executing/pull/80#discussion_r1716027317 return if ( inst_match("LOAD_FAST") and node_match(ast.TypeAlias) and node.name.id == instruction.argval ): return if inst_match("STORE_NAME",argval="__static_attributes__"): # the node is the first node in the body return if inst_match("LOAD_FAST") and isinstance(node.parent,ast.TypeVar): return # old verifier typ: Type = type(None) op_type: Type = type(None) if op_name.startswith(("BINARY_SUBSCR", "SLICE+")): typ = ast.Subscript ctx = ast.Load elif op_name.startswith("BINARY_"): typ = ast.BinOp op_type = op_type_map[instruction.argrepr] extra_filter = lambda e: isinstance(cast(ast.BinOp, e).op, op_type) elif op_name.startswith("UNARY_"): typ = ast.UnaryOp op_type = dict( UNARY_POSITIVE=ast.UAdd, UNARY_NEGATIVE=ast.USub, UNARY_NOT=ast.Not, UNARY_INVERT=ast.Invert, )[op_name] extra_filter = lambda e: isinstance(cast(ast.UnaryOp, e).op, op_type) elif op_name in ("LOAD_ATTR", "LOAD_METHOD", "LOOKUP_METHOD","LOAD_SUPER_ATTR"): typ = ast.Attribute ctx = ast.Load extra_filter = lambda e: mangled_name(e) == instruction.argval elif op_name in ( "LOAD_NAME", "LOAD_GLOBAL", "LOAD_FAST", "LOAD_DEREF", "LOAD_CLASSDEREF", ): typ = ast.Name ctx = ast.Load extra_filter = lambda e: cast(ast.Name, e).id == instruction.argval elif op_name in ("COMPARE_OP", "IS_OP", "CONTAINS_OP"): typ = ast.Compare extra_filter = lambda e: len(cast(ast.Compare, e).ops) == 1 elif op_name.startswith(("STORE_SLICE", "STORE_SUBSCR")): ctx = ast.Store typ = ast.Subscript elif op_name.startswith("STORE_ATTR"): ctx = ast.Store typ = ast.Attribute extra_filter = lambda e: mangled_name(e) == instruction.argval node_ctx = getattr(node, "ctx", None) ctx_match = ( ctx is not type(None) or not hasattr(node, "ctx") or isinstance(node_ctx, ctx) ) # check for old verifier if isinstance(node, typ) and ctx_match and extra_filter(node): return # generate error title = "ast.%s is not created from %s" % ( type(node).__name__, instruction.opname, ) > raise VerifierFailure(title, node, instruction) E executing._exceptions.VerifierFailure: ast.Call is not created from GET_ITER executing/_position_node_finder.py:878: VerifierFailure _____________________________ TestStuff.test_with ______________________________ self = def test_with(self): if sys.version_info >= (3, 11): > with tester: tests/test_main.py:576: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/utils.py:157: in __enter__ self.get_node(ast.With) tests/utils.py:35: in get_node ex = self.get_executing(inspect.currentframe().f_back.f_back) tests/utils.py:42: in get_executing return Source.executing(frame) executing/executing.py:273: in executing node_finder = NodeFinder(frame, stmts, tree, lasti, source) executing/_position_node_finder.py:170: in __init__ self.verify(self.result, instruction) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = node = instruction = Instruction(opname='BEFORE_WITH', opcode=2, arg=None, argval=None, argrepr='', offset=52, start_offset=52, starts_line...er=576, label=None, positions=Positions(lineno=576, end_lineno=576, col_offset=17, end_col_offset=23), cache_info=None) def verify(self, node: EnhancedAST, instruction: dis.Instruction) -> None: """ checks if this node could gererate this instruction """ op_name = instruction.opname extra_filter: Callable[[EnhancedAST], bool] = lambda e: True ctx: Type = type(None) def inst_match(opnames: Union[str, Sequence[str]], **kwargs: Any) -> bool: """ match instruction Parameters: opnames: (str|Seq[str]): inst.opname has to be equal to or in `opname` **kwargs: every arg has to match inst.arg Returns: True if all conditions match the instruction """ if isinstance(opnames, str): opnames = [opnames] return instruction.opname in opnames and kwargs == { k: getattr(instruction, k) for k in kwargs } def node_match(node_type: Union[Type, Tuple[Type, ...]], **kwargs: Any) -> bool: """ match the ast-node Parameters: node_type: type of the node **kwargs: every `arg` has to be equal `node.arg` or `node.arg` has to be an instance of `arg` if it is a type. """ return isinstance(node, node_type) and all( isinstance(getattr(node, k), v) if isinstance(v, type) else getattr(node, k) == v for k, v in kwargs.items() ) if op_name == "CACHE": return if inst_match("CALL") and node_match((ast.With, ast.AsyncWith)): # call to context.__exit__ return if inst_match(("CALL", "LOAD_FAST")) and node_match( (ast.ListComp, ast.GeneratorExp, ast.SetComp, ast.DictComp) ): # call to the generator function return if ( sys.version_info >= (3, 12) and inst_match(("LOAD_FAST_AND_CLEAR", "STORE_FAST")) and node_match((ast.ListComp, ast.SetComp, ast.DictComp)) ): return if inst_match(("CALL", "CALL_FUNCTION_EX")) and node_match( (ast.ClassDef, ast.Call) ): return if inst_match(("COMPARE_OP", "IS_OP", "CONTAINS_OP")) and node_match( ast.Compare ): return if inst_match("LOAD_NAME", argval="__annotations__") and node_match( ast.AnnAssign ): return if ( ( inst_match("LOAD_METHOD", argval="join") or inst_match("LOAD_ATTR", argval="join") # 3.12 or inst_match(("CALL", "BUILD_STRING")) ) and node_match(ast.BinOp, left=ast.Constant, op=ast.Mod) and isinstance(cast(ast.Constant, cast(ast.BinOp, node).left).value, str) ): # "..."%(...) uses "".join return if inst_match("STORE_SUBSCR") and node_match(ast.AnnAssign): # data: int return if inst_match(("DELETE_NAME", "DELETE_FAST")) and node_match( ast.Name, id=instruction.argval, ctx=ast.Del ): return if inst_match("BUILD_STRING") and ( node_match(ast.JoinedStr) or node_match(ast.BinOp, op=ast.Mod) ): return if inst_match(("BEFORE_WITH","WITH_EXCEPT_START")) and node_match(ast.With): return if inst_match(("STORE_NAME", "STORE_GLOBAL"), argval="__doc__") and node_match( ast.Constant ): # store docstrings return if ( inst_match(("STORE_NAME", "STORE_FAST", "STORE_GLOBAL", "STORE_DEREF")) and node_match(ast.ExceptHandler) and instruction.argval == mangled_name(node) ): # store exception in variable return if ( inst_match(("STORE_NAME", "STORE_FAST", "STORE_DEREF", "STORE_GLOBAL")) and node_match((ast.Import, ast.ImportFrom)) and any(mangled_name(cast(EnhancedAST, alias)) == instruction.argval for alias in cast(ast.Import, node).names) ): # store imported module in variable return if ( inst_match(("STORE_FAST", "STORE_DEREF", "STORE_NAME", "STORE_GLOBAL")) and ( node_match((ast.FunctionDef, ast.ClassDef, ast.AsyncFunctionDef)) or node_match( ast.Name, ctx=ast.Store, ) ) and instruction.argval == mangled_name(node) ): return if False: # TODO: match expressions are not supported for now if inst_match(("STORE_FAST", "STORE_NAME")) and node_match( ast.MatchAs, name=instruction.argval ): return if inst_match("COMPARE_OP", argval="==") and node_match(ast.MatchSequence): return if inst_match("COMPARE_OP", argval="==") and node_match(ast.MatchValue): return if inst_match("BINARY_OP") and node_match( ast.AugAssign, op=op_type_map[instruction.argrepr.removesuffix("=")] ): # a+=5 return if node_match(ast.Attribute, ctx=ast.Del) and inst_match( "DELETE_ATTR", argval=mangled_name(node) ): return if inst_match( ( "JUMP_IF_TRUE_OR_POP", "JUMP_IF_FALSE_OR_POP", "POP_JUMP_IF_TRUE", "POP_JUMP_IF_FALSE", ) ) and node_match(ast.BoolOp): # and/or short circuit return if inst_match("DELETE_SUBSCR") and node_match(ast.Subscript, ctx=ast.Del): return if ( node_match(ast.Name, ctx=ast.Load) or ( node_match(ast.Name, ctx=ast.Store) and isinstance(node.parent, ast.AugAssign) ) ) and inst_match( ( "LOAD_NAME", "LOAD_FAST", "LOAD_FAST_CHECK", "LOAD_GLOBAL", "LOAD_DEREF", "LOAD_FROM_DICT_OR_DEREF", ), argval=mangled_name(node), ): return if node_match(ast.Name, ctx=ast.Del) and inst_match( ("DELETE_NAME", "DELETE_GLOBAL", "DELETE_DEREF"), argval=mangled_name(node) ): return if node_match(ast.Constant) and inst_match( "LOAD_CONST", argval=cast(ast.Constant, node).value ): return if node_match( (ast.ListComp, ast.SetComp, ast.DictComp, ast.GeneratorExp, ast.For) ) and inst_match(("GET_ITER", "FOR_ITER")): return if sys.version_info >= (3, 12): if node_match(ast.UnaryOp, op=ast.UAdd) and inst_match( "CALL_INTRINSIC_1", argrepr="INTRINSIC_UNARY_POSITIVE" ): return if node_match(ast.Subscript) and inst_match("BINARY_SLICE"): return if node_match(ast.ImportFrom) and inst_match( "CALL_INTRINSIC_1", argrepr="INTRINSIC_IMPORT_STAR" ): return if ( node_match(ast.Yield) or isinstance(node.parent, ast.GeneratorExp) ) and inst_match("CALL_INTRINSIC_1", argrepr="INTRINSIC_ASYNC_GEN_WRAP"): return if node_match(ast.Name) and inst_match("LOAD_DEREF",argval="__classdict__"): return if node_match(ast.TypeVar) and ( inst_match("CALL_INTRINSIC_1", argrepr="INTRINSIC_TYPEVAR") or inst_match( "CALL_INTRINSIC_2", argrepr="INTRINSIC_TYPEVAR_WITH_BOUND" ) or inst_match( "CALL_INTRINSIC_2", argrepr="INTRINSIC_TYPEVAR_WITH_CONSTRAINTS" ) or inst_match(("STORE_FAST", "STORE_DEREF"), argrepr=mangled_name(node)) ): return if node_match(ast.TypeVarTuple) and ( inst_match("CALL_INTRINSIC_1", argrepr="INTRINSIC_TYPEVARTUPLE") or inst_match(("STORE_FAST", "STORE_DEREF"), argrepr=node.name) ): return if node_match(ast.ParamSpec) and ( inst_match("CALL_INTRINSIC_1", argrepr="INTRINSIC_PARAMSPEC") or inst_match(("STORE_FAST", "STORE_DEREF"), argrepr=node.name)): return if node_match(ast.TypeAlias): if( inst_match("CALL_INTRINSIC_1", argrepr="INTRINSIC_TYPEALIAS") or inst_match( ("STORE_NAME", "STORE_FAST", "STORE_DEREF"), argrepr=node.name.id ) or inst_match("CALL") ): return if node_match(ast.ClassDef) and node.type_params: if inst_match( ("STORE_DEREF", "LOAD_DEREF", "LOAD_FROM_DICT_OR_DEREF"), argrepr=".type_params", ): return if inst_match(("STORE_FAST", "LOAD_FAST"), argrepr=".generic_base"): return if inst_match( "CALL_INTRINSIC_1", argrepr="INTRINSIC_SUBSCRIPT_GENERIC" ): return if inst_match("LOAD_DEREF",argval="__classdict__"): return if node_match((ast.FunctionDef,ast.AsyncFunctionDef)) and node.type_params: if inst_match("CALL"): return if inst_match( "CALL_INTRINSIC_2", argrepr="INTRINSIC_SET_FUNCTION_TYPE_PARAMS" ): return if inst_match("LOAD_FAST",argval=".defaults"): return if inst_match("LOAD_FAST",argval=".kwdefaults"): return if inst_match("STORE_NAME", argval="__classdictcell__"): # this is a general thing return # f-strings if node_match(ast.JoinedStr) and ( inst_match("LOAD_ATTR", argval="join") or inst_match(("LIST_APPEND", "CALL")) ): return if node_match(ast.FormattedValue) and inst_match("FORMAT_VALUE"): return if sys.version_info >= (3, 13): if inst_match("NOP"): return if inst_match("TO_BOOL") and node_match(ast.BoolOp): return if inst_match("CALL_KW") and node_match((ast.Call, ast.ClassDef)): return if inst_match("LOAD_FAST", argval=".type_params"): return if inst_match("LOAD_FAST", argval="__classdict__"): return if inst_match("LOAD_FAST") and node_match( ( ast.FunctionDef, ast.ClassDef, ast.TypeAlias, ast.TypeVar, ast.Lambda, ast.AsyncFunctionDef, ) ): # These are loads for closure variables. # It is difficult to check that this is actually closure variable, see: # https://github.com/alexmojaki/executing/pull/80#discussion_r1716027317 return if ( inst_match("LOAD_FAST") and node_match(ast.TypeAlias) and node.name.id == instruction.argval ): return if inst_match("STORE_NAME",argval="__static_attributes__"): # the node is the first node in the body return if inst_match("LOAD_FAST") and isinstance(node.parent,ast.TypeVar): return # old verifier typ: Type = type(None) op_type: Type = type(None) if op_name.startswith(("BINARY_SUBSCR", "SLICE+")): typ = ast.Subscript ctx = ast.Load elif op_name.startswith("BINARY_"): typ = ast.BinOp op_type = op_type_map[instruction.argrepr] extra_filter = lambda e: isinstance(cast(ast.BinOp, e).op, op_type) elif op_name.startswith("UNARY_"): typ = ast.UnaryOp op_type = dict( UNARY_POSITIVE=ast.UAdd, UNARY_NEGATIVE=ast.USub, UNARY_NOT=ast.Not, UNARY_INVERT=ast.Invert, )[op_name] extra_filter = lambda e: isinstance(cast(ast.UnaryOp, e).op, op_type) elif op_name in ("LOAD_ATTR", "LOAD_METHOD", "LOOKUP_METHOD","LOAD_SUPER_ATTR"): typ = ast.Attribute ctx = ast.Load extra_filter = lambda e: mangled_name(e) == instruction.argval elif op_name in ( "LOAD_NAME", "LOAD_GLOBAL", "LOAD_FAST", "LOAD_DEREF", "LOAD_CLASSDEREF", ): typ = ast.Name ctx = ast.Load extra_filter = lambda e: cast(ast.Name, e).id == instruction.argval elif op_name in ("COMPARE_OP", "IS_OP", "CONTAINS_OP"): typ = ast.Compare extra_filter = lambda e: len(cast(ast.Compare, e).ops) == 1 elif op_name.startswith(("STORE_SLICE", "STORE_SUBSCR")): ctx = ast.Store typ = ast.Subscript elif op_name.startswith("STORE_ATTR"): ctx = ast.Store typ = ast.Attribute extra_filter = lambda e: mangled_name(e) == instruction.argval node_ctx = getattr(node, "ctx", None) ctx_match = ( ctx is not type(None) or not hasattr(node, "ctx") or isinstance(node_ctx, ctx) ) # check for old verifier if isinstance(node, typ) and ctx_match and extra_filter(node): return # generate error title = "ast.%s is not created from %s" % ( type(node).__name__, instruction.opname, ) > raise VerifierFailure(title, node, instruction) E executing._exceptions.VerifierFailure: ast.Name is not created from BEFORE_WITH executing/_position_node_finder.py:878: VerifierFailure _ test_small_samples[0675309754ba4277c9cb3c52d7131377fe69c7744a271e2b7471917dabb5aaa1.py] _ full_filename = '/builddir/build/BUILD/python-executing-2.1.0-build/executing-2.1.0/tests/small_samples/0675309754ba4277c9cb3c52d7131377fe69c7744a271e2b7471917dabb5aaa1.py' result_filename = '/builddir/build/BUILD/python-executing-2.1.0-build/executing-2.1.0/tests/sample_results/0675309754ba4277c9cb3c52d7131377fe69c7744a271e2b7471917dabb5aaa1-py-3.13.json' @pytest.mark.parametrize( "full_filename,result_filename", list(sample_files("small_samples")) ) @pytest.mark.skipif(sys.version_info<(3,),reason="no 2.7 support") def test_small_samples(full_filename, result_filename): skip_sentinel = [ "load_deref", "4851dc1b626a95e97dbe0c53f96099d165b755dd1bd552c6ca771f7bca6d30f5", "508ccd0dcac13ecee6f0cea939b73ba5319c780ddbb6c496be96fe5614871d4a", "fc6eb521024986baa84af2634f638e40af090be4aa70ab3c22f3d022e8068228", "42a37b8a823eb2e510b967332661afd679c82c60b7177b992a47c16d81117c8a", "206e0609ff0589a0a32422ee902f09156af91746e27157c32c9595d12072f92a", ] skip_annotations = [ "d98e27d8963331b58e4e6b84c7580dafde4d9e2980ad4277ce55e6b186113c1d", "9b3db37076d3c7c76bdfd9badcc70d8047584433e1eea89f45014453d58bbc43", ] if any(s in full_filename for s in skip_sentinel) and sys.version_info < (3, 11): pytest.xfail("SentinelNodeFinder does not find some of the nodes (maybe a bug)") if any(s in full_filename for s in skip_annotations) and sys.version_info < (3, 7): pytest.xfail("no `from __future__ import annotations`") if ( (sys.version_info[:2] == (3, 7)) and "ad8aa993e6ee4eb5ee764d55f2e3fd636a99b2ecb8c5aff2b35fbb78a074ea30" in full_filename ): pytest.xfail("(i async for i in arange) can not be analyzed in 3.7") if ( (sys.version_info[:2] == (3, 5) or PYPY) and "1656dc52edd2385921104de7bb255ca369713f4b8c034ebeba5cf946058109bc" in full_filename ): pytest.skip("recursion takes to long in 3.5") > TestFiles().check_filename(full_filename, check_names=True) tests/test_main.py:751: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_main.py:888: in check_filename result = list(self.check_code(code, nodes, decorators, check_names=check_names)) tests/test_main.py:1448: in check_code for x in self.check_code(inst.argval, nodes, decorators, check_names=check_names): tests/test_main.py:1243: in check_code ex = Source.executing(frame) executing/executing.py:273: in executing node_finder = NodeFinder(frame, stmts, tree, lasti, source) executing/_position_node_finder.py:170: in __init__ self.verify(self.result, instruction) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = node = instruction = Instruction(opname='CALL', opcode=53, arg=2, argval=2, argrepr='', offset=54, start_offset=54, starts_line=False, line..., col_offset=9, end_col_offset=15), cache_info=[('counter', 1, b'\x00\x00'), ('func_version', 2, b'\x00\x00\x00\x00')]) def verify(self, node: EnhancedAST, instruction: dis.Instruction) -> None: """ checks if this node could gererate this instruction """ op_name = instruction.opname extra_filter: Callable[[EnhancedAST], bool] = lambda e: True ctx: Type = type(None) def inst_match(opnames: Union[str, Sequence[str]], **kwargs: Any) -> bool: """ match instruction Parameters: opnames: (str|Seq[str]): inst.opname has to be equal to or in `opname` **kwargs: every arg has to match inst.arg Returns: True if all conditions match the instruction """ if isinstance(opnames, str): opnames = [opnames] return instruction.opname in opnames and kwargs == { k: getattr(instruction, k) for k in kwargs } def node_match(node_type: Union[Type, Tuple[Type, ...]], **kwargs: Any) -> bool: """ match the ast-node Parameters: node_type: type of the node **kwargs: every `arg` has to be equal `node.arg` or `node.arg` has to be an instance of `arg` if it is a type. """ return isinstance(node, node_type) and all( isinstance(getattr(node, k), v) if isinstance(v, type) else getattr(node, k) == v for k, v in kwargs.items() ) if op_name == "CACHE": return if inst_match("CALL") and node_match((ast.With, ast.AsyncWith)): # call to context.__exit__ return if inst_match(("CALL", "LOAD_FAST")) and node_match( (ast.ListComp, ast.GeneratorExp, ast.SetComp, ast.DictComp) ): # call to the generator function return if ( sys.version_info >= (3, 12) and inst_match(("LOAD_FAST_AND_CLEAR", "STORE_FAST")) and node_match((ast.ListComp, ast.SetComp, ast.DictComp)) ): return if inst_match(("CALL", "CALL_FUNCTION_EX")) and node_match( (ast.ClassDef, ast.Call) ): return if inst_match(("COMPARE_OP", "IS_OP", "CONTAINS_OP")) and node_match( ast.Compare ): return if inst_match("LOAD_NAME", argval="__annotations__") and node_match( ast.AnnAssign ): return if ( ( inst_match("LOAD_METHOD", argval="join") or inst_match("LOAD_ATTR", argval="join") # 3.12 or inst_match(("CALL", "BUILD_STRING")) ) and node_match(ast.BinOp, left=ast.Constant, op=ast.Mod) and isinstance(cast(ast.Constant, cast(ast.BinOp, node).left).value, str) ): # "..."%(...) uses "".join return if inst_match("STORE_SUBSCR") and node_match(ast.AnnAssign): # data: int return if inst_match(("DELETE_NAME", "DELETE_FAST")) and node_match( ast.Name, id=instruction.argval, ctx=ast.Del ): return if inst_match("BUILD_STRING") and ( node_match(ast.JoinedStr) or node_match(ast.BinOp, op=ast.Mod) ): return if inst_match(("BEFORE_WITH","WITH_EXCEPT_START")) and node_match(ast.With): return if inst_match(("STORE_NAME", "STORE_GLOBAL"), argval="__doc__") and node_match( ast.Constant ): # store docstrings return if ( inst_match(("STORE_NAME", "STORE_FAST", "STORE_GLOBAL", "STORE_DEREF")) and node_match(ast.ExceptHandler) and instruction.argval == mangled_name(node) ): # store exception in variable return if ( inst_match(("STORE_NAME", "STORE_FAST", "STORE_DEREF", "STORE_GLOBAL")) and node_match((ast.Import, ast.ImportFrom)) and any(mangled_name(cast(EnhancedAST, alias)) == instruction.argval for alias in cast(ast.Import, node).names) ): # store imported module in variable return if ( inst_match(("STORE_FAST", "STORE_DEREF", "STORE_NAME", "STORE_GLOBAL")) and ( node_match((ast.FunctionDef, ast.ClassDef, ast.AsyncFunctionDef)) or node_match( ast.Name, ctx=ast.Store, ) ) and instruction.argval == mangled_name(node) ): return if False: # TODO: match expressions are not supported for now if inst_match(("STORE_FAST", "STORE_NAME")) and node_match( ast.MatchAs, name=instruction.argval ): return if inst_match("COMPARE_OP", argval="==") and node_match(ast.MatchSequence): return if inst_match("COMPARE_OP", argval="==") and node_match(ast.MatchValue): return if inst_match("BINARY_OP") and node_match( ast.AugAssign, op=op_type_map[instruction.argrepr.removesuffix("=")] ): # a+=5 return if node_match(ast.Attribute, ctx=ast.Del) and inst_match( "DELETE_ATTR", argval=mangled_name(node) ): return if inst_match( ( "JUMP_IF_TRUE_OR_POP", "JUMP_IF_FALSE_OR_POP", "POP_JUMP_IF_TRUE", "POP_JUMP_IF_FALSE", ) ) and node_match(ast.BoolOp): # and/or short circuit return if inst_match("DELETE_SUBSCR") and node_match(ast.Subscript, ctx=ast.Del): return if ( node_match(ast.Name, ctx=ast.Load) or ( node_match(ast.Name, ctx=ast.Store) and isinstance(node.parent, ast.AugAssign) ) ) and inst_match( ( "LOAD_NAME", "LOAD_FAST", "LOAD_FAST_CHECK", "LOAD_GLOBAL", "LOAD_DEREF", "LOAD_FROM_DICT_OR_DEREF", ), argval=mangled_name(node), ): return if node_match(ast.Name, ctx=ast.Del) and inst_match( ("DELETE_NAME", "DELETE_GLOBAL", "DELETE_DEREF"), argval=mangled_name(node) ): return if node_match(ast.Constant) and inst_match( "LOAD_CONST", argval=cast(ast.Constant, node).value ): return if node_match( (ast.ListComp, ast.SetComp, ast.DictComp, ast.GeneratorExp, ast.For) ) and inst_match(("GET_ITER", "FOR_ITER")): return if sys.version_info >= (3, 12): if node_match(ast.UnaryOp, op=ast.UAdd) and inst_match( "CALL_INTRINSIC_1", argrepr="INTRINSIC_UNARY_POSITIVE" ): return if node_match(ast.Subscript) and inst_match("BINARY_SLICE"): return if node_match(ast.ImportFrom) and inst_match( "CALL_INTRINSIC_1", argrepr="INTRINSIC_IMPORT_STAR" ): return if ( node_match(ast.Yield) or isinstance(node.parent, ast.GeneratorExp) ) and inst_match("CALL_INTRINSIC_1", argrepr="INTRINSIC_ASYNC_GEN_WRAP"): return if node_match(ast.Name) and inst_match("LOAD_DEREF",argval="__classdict__"): return if node_match(ast.TypeVar) and ( inst_match("CALL_INTRINSIC_1", argrepr="INTRINSIC_TYPEVAR") or inst_match( "CALL_INTRINSIC_2", argrepr="INTRINSIC_TYPEVAR_WITH_BOUND" ) or inst_match( "CALL_INTRINSIC_2", argrepr="INTRINSIC_TYPEVAR_WITH_CONSTRAINTS" ) or inst_match(("STORE_FAST", "STORE_DEREF"), argrepr=mangled_name(node)) ): return if node_match(ast.TypeVarTuple) and ( inst_match("CALL_INTRINSIC_1", argrepr="INTRINSIC_TYPEVARTUPLE") or inst_match(("STORE_FAST", "STORE_DEREF"), argrepr=node.name) ): return if node_match(ast.ParamSpec) and ( inst_match("CALL_INTRINSIC_1", argrepr="INTRINSIC_PARAMSPEC") or inst_match(("STORE_FAST", "STORE_DEREF"), argrepr=node.name)): return if node_match(ast.TypeAlias): if( inst_match("CALL_INTRINSIC_1", argrepr="INTRINSIC_TYPEALIAS") or inst_match( ("STORE_NAME", "STORE_FAST", "STORE_DEREF"), argrepr=node.name.id ) or inst_match("CALL") ): return if node_match(ast.ClassDef) and node.type_params: if inst_match( ("STORE_DEREF", "LOAD_DEREF", "LOAD_FROM_DICT_OR_DEREF"), argrepr=".type_params", ): return if inst_match(("STORE_FAST", "LOAD_FAST"), argrepr=".generic_base"): return if inst_match( "CALL_INTRINSIC_1", argrepr="INTRINSIC_SUBSCRIPT_GENERIC" ): return if inst_match("LOAD_DEREF",argval="__classdict__"): return if node_match((ast.FunctionDef,ast.AsyncFunctionDef)) and node.type_params: if inst_match("CALL"): return if inst_match( "CALL_INTRINSIC_2", argrepr="INTRINSIC_SET_FUNCTION_TYPE_PARAMS" ): return if inst_match("LOAD_FAST",argval=".defaults"): return if inst_match("LOAD_FAST",argval=".kwdefaults"): return if inst_match("STORE_NAME", argval="__classdictcell__"): # this is a general thing return # f-strings if node_match(ast.JoinedStr) and ( inst_match("LOAD_ATTR", argval="join") or inst_match(("LIST_APPEND", "CALL")) ): return if node_match(ast.FormattedValue) and inst_match("FORMAT_VALUE"): return if sys.version_info >= (3, 13): if inst_match("NOP"): return if inst_match("TO_BOOL") and node_match(ast.BoolOp): return if inst_match("CALL_KW") and node_match((ast.Call, ast.ClassDef)): return if inst_match("LOAD_FAST", argval=".type_params"): return if inst_match("LOAD_FAST", argval="__classdict__"): return if inst_match("LOAD_FAST") and node_match( ( ast.FunctionDef, ast.ClassDef, ast.TypeAlias, ast.TypeVar, ast.Lambda, ast.AsyncFunctionDef, ) ): # These are loads for closure variables. # It is difficult to check that this is actually closure variable, see: # https://github.com/alexmojaki/executing/pull/80#discussion_r1716027317 return if ( inst_match("LOAD_FAST") and node_match(ast.TypeAlias) and node.name.id == instruction.argval ): return if inst_match("STORE_NAME",argval="__static_attributes__"): # the node is the first node in the body return if inst_match("LOAD_FAST") and isinstance(node.parent,ast.TypeVar): return # old verifier typ: Type = type(None) op_type: Type = type(None) if op_name.startswith(("BINARY_SUBSCR", "SLICE+")): typ = ast.Subscript ctx = ast.Load elif op_name.startswith("BINARY_"): typ = ast.BinOp op_type = op_type_map[instruction.argrepr] extra_filter = lambda e: isinstance(cast(ast.BinOp, e).op, op_type) elif op_name.startswith("UNARY_"): typ = ast.UnaryOp op_type = dict( UNARY_POSITIVE=ast.UAdd, UNARY_NEGATIVE=ast.USub, UNARY_NOT=ast.Not, UNARY_INVERT=ast.Invert, )[op_name] extra_filter = lambda e: isinstance(cast(ast.UnaryOp, e).op, op_type) elif op_name in ("LOAD_ATTR", "LOAD_METHOD", "LOOKUP_METHOD","LOAD_SUPER_ATTR"): typ = ast.Attribute ctx = ast.Load extra_filter = lambda e: mangled_name(e) == instruction.argval elif op_name in ( "LOAD_NAME", "LOAD_GLOBAL", "LOAD_FAST", "LOAD_DEREF", "LOAD_CLASSDEREF", ): typ = ast.Name ctx = ast.Load extra_filter = lambda e: cast(ast.Name, e).id == instruction.argval elif op_name in ("COMPARE_OP", "IS_OP", "CONTAINS_OP"): typ = ast.Compare extra_filter = lambda e: len(cast(ast.Compare, e).ops) == 1 elif op_name.startswith(("STORE_SLICE", "STORE_SUBSCR")): ctx = ast.Store typ = ast.Subscript elif op_name.startswith("STORE_ATTR"): ctx = ast.Store typ = ast.Attribute extra_filter = lambda e: mangled_name(e) == instruction.argval node_ctx = getattr(node, "ctx", None) ctx_match = ( ctx is not type(None) or not hasattr(node, "ctx") or isinstance(node_ctx, ctx) ) # check for old verifier if isinstance(node, typ) and ctx_match and extra_filter(node): return # generate error title = "ast.%s is not created from %s" % ( type(node).__name__, instruction.opname, ) > raise VerifierFailure(title, node, instruction) E executing._exceptions.VerifierFailure: ast.Name is not created from CALL executing/_position_node_finder.py:878: VerifierFailure ----------------------------- Captured stdout call ----------------------------- check /builddir/build/BUILD/python-executing-2.1.0-build/executing-2.1.0/tests/small_samples/0675309754ba4277c9cb3c52d7131377fe69c7744a271e2b7471917dabb5aaa1.py VerifierFailure: ast.Name is not created from CALL instruction: CALL 2 node: Name(id='name_0', ctx=Load(), lineno=2, col_offset=9, end_lineno=2, end_col_offset=15) parent node: withitem source code: 1: class name_2: 2: with name_0: # type: ignoresome text 3: 4: class name_2[name_5]: 5: pass None bytecode: _ test_small_samples[2fa69a57eb3b16f9ce0d5be427ad471c93a54c6d7e68b5be024b6a046ecc6bb2.py] _ full_filename = '/builddir/build/BUILD/python-executing-2.1.0-build/executing-2.1.0/tests/small_samples/2fa69a57eb3b16f9ce0d5be427ad471c93a54c6d7e68b5be024b6a046ecc6bb2.py' result_filename = '/builddir/build/BUILD/python-executing-2.1.0-build/executing-2.1.0/tests/sample_results/2fa69a57eb3b16f9ce0d5be427ad471c93a54c6d7e68b5be024b6a046ecc6bb2-py-3.13.json' @pytest.mark.parametrize( "full_filename,result_filename", list(sample_files("small_samples")) ) @pytest.mark.skipif(sys.version_info<(3,),reason="no 2.7 support") def test_small_samples(full_filename, result_filename): skip_sentinel = [ "load_deref", "4851dc1b626a95e97dbe0c53f96099d165b755dd1bd552c6ca771f7bca6d30f5", "508ccd0dcac13ecee6f0cea939b73ba5319c780ddbb6c496be96fe5614871d4a", "fc6eb521024986baa84af2634f638e40af090be4aa70ab3c22f3d022e8068228", "42a37b8a823eb2e510b967332661afd679c82c60b7177b992a47c16d81117c8a", "206e0609ff0589a0a32422ee902f09156af91746e27157c32c9595d12072f92a", ] skip_annotations = [ "d98e27d8963331b58e4e6b84c7580dafde4d9e2980ad4277ce55e6b186113c1d", "9b3db37076d3c7c76bdfd9badcc70d8047584433e1eea89f45014453d58bbc43", ] if any(s in full_filename for s in skip_sentinel) and sys.version_info < (3, 11): pytest.xfail("SentinelNodeFinder does not find some of the nodes (maybe a bug)") if any(s in full_filename for s in skip_annotations) and sys.version_info < (3, 7): pytest.xfail("no `from __future__ import annotations`") if ( (sys.version_info[:2] == (3, 7)) and "ad8aa993e6ee4eb5ee764d55f2e3fd636a99b2ecb8c5aff2b35fbb78a074ea30" in full_filename ): pytest.xfail("(i async for i in arange) can not be analyzed in 3.7") if ( (sys.version_info[:2] == (3, 5) or PYPY) and "1656dc52edd2385921104de7bb255ca369713f4b8c034ebeba5cf946058109bc" in full_filename ): pytest.skip("recursion takes to long in 3.5") > TestFiles().check_filename(full_filename, check_names=True) tests/test_main.py:751: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_main.py:888: in check_filename result = list(self.check_code(code, nodes, decorators, check_names=check_names)) tests/test_main.py:1243: in check_code ex = Source.executing(frame) executing/executing.py:273: in executing node_finder = NodeFinder(frame, stmts, tree, lasti, source) executing/_position_node_finder.py:170: in __init__ self.verify(self.result, instruction) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = node = instruction = Instruction(opname='CALL', opcode=53, arg=2, argval=2, argrepr='', offset=36, start_offset=36, starts_line=False, line...6, col_offset=5, end_col_offset=9), cache_info=[('counter', 1, b'\x00\x00'), ('func_version', 2, b'\x00\x00\x00\x00')]) def verify(self, node: EnhancedAST, instruction: dis.Instruction) -> None: """ checks if this node could gererate this instruction """ op_name = instruction.opname extra_filter: Callable[[EnhancedAST], bool] = lambda e: True ctx: Type = type(None) def inst_match(opnames: Union[str, Sequence[str]], **kwargs: Any) -> bool: """ match instruction Parameters: opnames: (str|Seq[str]): inst.opname has to be equal to or in `opname` **kwargs: every arg has to match inst.arg Returns: True if all conditions match the instruction """ if isinstance(opnames, str): opnames = [opnames] return instruction.opname in opnames and kwargs == { k: getattr(instruction, k) for k in kwargs } def node_match(node_type: Union[Type, Tuple[Type, ...]], **kwargs: Any) -> bool: """ match the ast-node Parameters: node_type: type of the node **kwargs: every `arg` has to be equal `node.arg` or `node.arg` has to be an instance of `arg` if it is a type. """ return isinstance(node, node_type) and all( isinstance(getattr(node, k), v) if isinstance(v, type) else getattr(node, k) == v for k, v in kwargs.items() ) if op_name == "CACHE": return if inst_match("CALL") and node_match((ast.With, ast.AsyncWith)): # call to context.__exit__ return if inst_match(("CALL", "LOAD_FAST")) and node_match( (ast.ListComp, ast.GeneratorExp, ast.SetComp, ast.DictComp) ): # call to the generator function return if ( sys.version_info >= (3, 12) and inst_match(("LOAD_FAST_AND_CLEAR", "STORE_FAST")) and node_match((ast.ListComp, ast.SetComp, ast.DictComp)) ): return if inst_match(("CALL", "CALL_FUNCTION_EX")) and node_match( (ast.ClassDef, ast.Call) ): return if inst_match(("COMPARE_OP", "IS_OP", "CONTAINS_OP")) and node_match( ast.Compare ): return if inst_match("LOAD_NAME", argval="__annotations__") and node_match( ast.AnnAssign ): return if ( ( inst_match("LOAD_METHOD", argval="join") or inst_match("LOAD_ATTR", argval="join") # 3.12 or inst_match(("CALL", "BUILD_STRING")) ) and node_match(ast.BinOp, left=ast.Constant, op=ast.Mod) and isinstance(cast(ast.Constant, cast(ast.BinOp, node).left).value, str) ): # "..."%(...) uses "".join return if inst_match("STORE_SUBSCR") and node_match(ast.AnnAssign): # data: int return if inst_match(("DELETE_NAME", "DELETE_FAST")) and node_match( ast.Name, id=instruction.argval, ctx=ast.Del ): return if inst_match("BUILD_STRING") and ( node_match(ast.JoinedStr) or node_match(ast.BinOp, op=ast.Mod) ): return if inst_match(("BEFORE_WITH","WITH_EXCEPT_START")) and node_match(ast.With): return if inst_match(("STORE_NAME", "STORE_GLOBAL"), argval="__doc__") and node_match( ast.Constant ): # store docstrings return if ( inst_match(("STORE_NAME", "STORE_FAST", "STORE_GLOBAL", "STORE_DEREF")) and node_match(ast.ExceptHandler) and instruction.argval == mangled_name(node) ): # store exception in variable return if ( inst_match(("STORE_NAME", "STORE_FAST", "STORE_DEREF", "STORE_GLOBAL")) and node_match((ast.Import, ast.ImportFrom)) and any(mangled_name(cast(EnhancedAST, alias)) == instruction.argval for alias in cast(ast.Import, node).names) ): # store imported module in variable return if ( inst_match(("STORE_FAST", "STORE_DEREF", "STORE_NAME", "STORE_GLOBAL")) and ( node_match((ast.FunctionDef, ast.ClassDef, ast.AsyncFunctionDef)) or node_match( ast.Name, ctx=ast.Store, ) ) and instruction.argval == mangled_name(node) ): return if False: # TODO: match expressions are not supported for now if inst_match(("STORE_FAST", "STORE_NAME")) and node_match( ast.MatchAs, name=instruction.argval ): return if inst_match("COMPARE_OP", argval="==") and node_match(ast.MatchSequence): return if inst_match("COMPARE_OP", argval="==") and node_match(ast.MatchValue): return if inst_match("BINARY_OP") and node_match( ast.AugAssign, op=op_type_map[instruction.argrepr.removesuffix("=")] ): # a+=5 return if node_match(ast.Attribute, ctx=ast.Del) and inst_match( "DELETE_ATTR", argval=mangled_name(node) ): return if inst_match( ( "JUMP_IF_TRUE_OR_POP", "JUMP_IF_FALSE_OR_POP", "POP_JUMP_IF_TRUE", "POP_JUMP_IF_FALSE", ) ) and node_match(ast.BoolOp): # and/or short circuit return if inst_match("DELETE_SUBSCR") and node_match(ast.Subscript, ctx=ast.Del): return if ( node_match(ast.Name, ctx=ast.Load) or ( node_match(ast.Name, ctx=ast.Store) and isinstance(node.parent, ast.AugAssign) ) ) and inst_match( ( "LOAD_NAME", "LOAD_FAST", "LOAD_FAST_CHECK", "LOAD_GLOBAL", "LOAD_DEREF", "LOAD_FROM_DICT_OR_DEREF", ), argval=mangled_name(node), ): return if node_match(ast.Name, ctx=ast.Del) and inst_match( ("DELETE_NAME", "DELETE_GLOBAL", "DELETE_DEREF"), argval=mangled_name(node) ): return if node_match(ast.Constant) and inst_match( "LOAD_CONST", argval=cast(ast.Constant, node).value ): return if node_match( (ast.ListComp, ast.SetComp, ast.DictComp, ast.GeneratorExp, ast.For) ) and inst_match(("GET_ITER", "FOR_ITER")): return if sys.version_info >= (3, 12): if node_match(ast.UnaryOp, op=ast.UAdd) and inst_match( "CALL_INTRINSIC_1", argrepr="INTRINSIC_UNARY_POSITIVE" ): return if node_match(ast.Subscript) and inst_match("BINARY_SLICE"): return if node_match(ast.ImportFrom) and inst_match( "CALL_INTRINSIC_1", argrepr="INTRINSIC_IMPORT_STAR" ): return if ( node_match(ast.Yield) or isinstance(node.parent, ast.GeneratorExp) ) and inst_match("CALL_INTRINSIC_1", argrepr="INTRINSIC_ASYNC_GEN_WRAP"): return if node_match(ast.Name) and inst_match("LOAD_DEREF",argval="__classdict__"): return if node_match(ast.TypeVar) and ( inst_match("CALL_INTRINSIC_1", argrepr="INTRINSIC_TYPEVAR") or inst_match( "CALL_INTRINSIC_2", argrepr="INTRINSIC_TYPEVAR_WITH_BOUND" ) or inst_match( "CALL_INTRINSIC_2", argrepr="INTRINSIC_TYPEVAR_WITH_CONSTRAINTS" ) or inst_match(("STORE_FAST", "STORE_DEREF"), argrepr=mangled_name(node)) ): return if node_match(ast.TypeVarTuple) and ( inst_match("CALL_INTRINSIC_1", argrepr="INTRINSIC_TYPEVARTUPLE") or inst_match(("STORE_FAST", "STORE_DEREF"), argrepr=node.name) ): return if node_match(ast.ParamSpec) and ( inst_match("CALL_INTRINSIC_1", argrepr="INTRINSIC_PARAMSPEC") or inst_match(("STORE_FAST", "STORE_DEREF"), argrepr=node.name)): return if node_match(ast.TypeAlias): if( inst_match("CALL_INTRINSIC_1", argrepr="INTRINSIC_TYPEALIAS") or inst_match( ("STORE_NAME", "STORE_FAST", "STORE_DEREF"), argrepr=node.name.id ) or inst_match("CALL") ): return if node_match(ast.ClassDef) and node.type_params: if inst_match( ("STORE_DEREF", "LOAD_DEREF", "LOAD_FROM_DICT_OR_DEREF"), argrepr=".type_params", ): return if inst_match(("STORE_FAST", "LOAD_FAST"), argrepr=".generic_base"): return if inst_match( "CALL_INTRINSIC_1", argrepr="INTRINSIC_SUBSCRIPT_GENERIC" ): return if inst_match("LOAD_DEREF",argval="__classdict__"): return if node_match((ast.FunctionDef,ast.AsyncFunctionDef)) and node.type_params: if inst_match("CALL"): return if inst_match( "CALL_INTRINSIC_2", argrepr="INTRINSIC_SET_FUNCTION_TYPE_PARAMS" ): return if inst_match("LOAD_FAST",argval=".defaults"): return if inst_match("LOAD_FAST",argval=".kwdefaults"): return if inst_match("STORE_NAME", argval="__classdictcell__"): # this is a general thing return # f-strings if node_match(ast.JoinedStr) and ( inst_match("LOAD_ATTR", argval="join") or inst_match(("LIST_APPEND", "CALL")) ): return if node_match(ast.FormattedValue) and inst_match("FORMAT_VALUE"): return if sys.version_info >= (3, 13): if inst_match("NOP"): return if inst_match("TO_BOOL") and node_match(ast.BoolOp): return if inst_match("CALL_KW") and node_match((ast.Call, ast.ClassDef)): return if inst_match("LOAD_FAST", argval=".type_params"): return if inst_match("LOAD_FAST", argval="__classdict__"): return if inst_match("LOAD_FAST") and node_match( ( ast.FunctionDef, ast.ClassDef, ast.TypeAlias, ast.TypeVar, ast.Lambda, ast.AsyncFunctionDef, ) ): # These are loads for closure variables. # It is difficult to check that this is actually closure variable, see: # https://github.com/alexmojaki/executing/pull/80#discussion_r1716027317 return if ( inst_match("LOAD_FAST") and node_match(ast.TypeAlias) and node.name.id == instruction.argval ): return if inst_match("STORE_NAME",argval="__static_attributes__"): # the node is the first node in the body return if inst_match("LOAD_FAST") and isinstance(node.parent,ast.TypeVar): return # old verifier typ: Type = type(None) op_type: Type = type(None) if op_name.startswith(("BINARY_SUBSCR", "SLICE+")): typ = ast.Subscript ctx = ast.Load elif op_name.startswith("BINARY_"): typ = ast.BinOp op_type = op_type_map[instruction.argrepr] extra_filter = lambda e: isinstance(cast(ast.BinOp, e).op, op_type) elif op_name.startswith("UNARY_"): typ = ast.UnaryOp op_type = dict( UNARY_POSITIVE=ast.UAdd, UNARY_NEGATIVE=ast.USub, UNARY_NOT=ast.Not, UNARY_INVERT=ast.Invert, )[op_name] extra_filter = lambda e: isinstance(cast(ast.UnaryOp, e).op, op_type) elif op_name in ("LOAD_ATTR", "LOAD_METHOD", "LOOKUP_METHOD","LOAD_SUPER_ATTR"): typ = ast.Attribute ctx = ast.Load extra_filter = lambda e: mangled_name(e) == instruction.argval elif op_name in ( "LOAD_NAME", "LOAD_GLOBAL", "LOAD_FAST", "LOAD_DEREF", "LOAD_CLASSDEREF", ): typ = ast.Name ctx = ast.Load extra_filter = lambda e: cast(ast.Name, e).id == instruction.argval elif op_name in ("COMPARE_OP", "IS_OP", "CONTAINS_OP"): typ = ast.Compare extra_filter = lambda e: len(cast(ast.Compare, e).ops) == 1 elif op_name.startswith(("STORE_SLICE", "STORE_SUBSCR")): ctx = ast.Store typ = ast.Subscript elif op_name.startswith("STORE_ATTR"): ctx = ast.Store typ = ast.Attribute extra_filter = lambda e: mangled_name(e) == instruction.argval node_ctx = getattr(node, "ctx", None) ctx_match = ( ctx is not type(None) or not hasattr(node, "ctx") or isinstance(node_ctx, ctx) ) # check for old verifier if isinstance(node, typ) and ctx_match and extra_filter(node): return # generate error title = "ast.%s is not created from %s" % ( type(node).__name__, instruction.opname, ) > raise VerifierFailure(title, node, instruction) E executing._exceptions.VerifierFailure: ast.Name is not created from CALL executing/_position_node_finder.py:878: VerifierFailure ----------------------------- Captured stdout call ----------------------------- check /builddir/build/BUILD/python-executing-2.1.0-build/executing-2.1.0/tests/small_samples/2fa69a57eb3b16f9ce0d5be427ad471c93a54c6d7e68b5be024b6a046ecc6bb2.py VerifierFailure: ast.Name is not created from CALL instruction: CALL 2 node: Name(id='self', ctx=Load(), lineno=16, col_offset=5, end_lineno=16, end_col_offset=9) parent node: withitem source code: 12: # self.walk_deadcode(node.msg, deadcode) 13: # deadcode = True 14: # 15: 16: with self as session: 17: assert isinstance 18: db_func None bytecode: _ test_small_samples[635d56ede8cbcb2824d42291eb9fe9288d5f09c768636aaa19984ffdfc91e9fe.py] _ full_filename = '/builddir/build/BUILD/python-executing-2.1.0-build/executing-2.1.0/tests/small_samples/635d56ede8cbcb2824d42291eb9fe9288d5f09c768636aaa19984ffdfc91e9fe.py' result_filename = '/builddir/build/BUILD/python-executing-2.1.0-build/executing-2.1.0/tests/sample_results/635d56ede8cbcb2824d42291eb9fe9288d5f09c768636aaa19984ffdfc91e9fe-py-3.13.json' @pytest.mark.parametrize( "full_filename,result_filename", list(sample_files("small_samples")) ) @pytest.mark.skipif(sys.version_info<(3,),reason="no 2.7 support") def test_small_samples(full_filename, result_filename): skip_sentinel = [ "load_deref", "4851dc1b626a95e97dbe0c53f96099d165b755dd1bd552c6ca771f7bca6d30f5", "508ccd0dcac13ecee6f0cea939b73ba5319c780ddbb6c496be96fe5614871d4a", "fc6eb521024986baa84af2634f638e40af090be4aa70ab3c22f3d022e8068228", "42a37b8a823eb2e510b967332661afd679c82c60b7177b992a47c16d81117c8a", "206e0609ff0589a0a32422ee902f09156af91746e27157c32c9595d12072f92a", ] skip_annotations = [ "d98e27d8963331b58e4e6b84c7580dafde4d9e2980ad4277ce55e6b186113c1d", "9b3db37076d3c7c76bdfd9badcc70d8047584433e1eea89f45014453d58bbc43", ] if any(s in full_filename for s in skip_sentinel) and sys.version_info < (3, 11): pytest.xfail("SentinelNodeFinder does not find some of the nodes (maybe a bug)") if any(s in full_filename for s in skip_annotations) and sys.version_info < (3, 7): pytest.xfail("no `from __future__ import annotations`") if ( (sys.version_info[:2] == (3, 7)) and "ad8aa993e6ee4eb5ee764d55f2e3fd636a99b2ecb8c5aff2b35fbb78a074ea30" in full_filename ): pytest.xfail("(i async for i in arange) can not be analyzed in 3.7") if ( (sys.version_info[:2] == (3, 5) or PYPY) and "1656dc52edd2385921104de7bb255ca369713f4b8c034ebeba5cf946058109bc" in full_filename ): pytest.skip("recursion takes to long in 3.5") > TestFiles().check_filename(full_filename, check_names=True) tests/test_main.py:751: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_main.py:888: in check_filename result = list(self.check_code(code, nodes, decorators, check_names=check_names)) tests/test_main.py:1243: in check_code ex = Source.executing(frame) executing/executing.py:273: in executing node_finder = NodeFinder(frame, stmts, tree, lasti, source) executing/_position_node_finder.py:170: in __init__ self.verify(self.result, instruction) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = node = instruction = Instruction(opname='CALL', opcode=53, arg=2, argval=2, argrepr='', offset=36, start_offset=36, starts_line=False, line...6, col_offset=5, end_col_offset=9), cache_info=[('counter', 1, b'\x00\x00'), ('func_version', 2, b'\x00\x00\x00\x00')]) def verify(self, node: EnhancedAST, instruction: dis.Instruction) -> None: """ checks if this node could gererate this instruction """ op_name = instruction.opname extra_filter: Callable[[EnhancedAST], bool] = lambda e: True ctx: Type = type(None) def inst_match(opnames: Union[str, Sequence[str]], **kwargs: Any) -> bool: """ match instruction Parameters: opnames: (str|Seq[str]): inst.opname has to be equal to or in `opname` **kwargs: every arg has to match inst.arg Returns: True if all conditions match the instruction """ if isinstance(opnames, str): opnames = [opnames] return instruction.opname in opnames and kwargs == { k: getattr(instruction, k) for k in kwargs } def node_match(node_type: Union[Type, Tuple[Type, ...]], **kwargs: Any) -> bool: """ match the ast-node Parameters: node_type: type of the node **kwargs: every `arg` has to be equal `node.arg` or `node.arg` has to be an instance of `arg` if it is a type. """ return isinstance(node, node_type) and all( isinstance(getattr(node, k), v) if isinstance(v, type) else getattr(node, k) == v for k, v in kwargs.items() ) if op_name == "CACHE": return if inst_match("CALL") and node_match((ast.With, ast.AsyncWith)): # call to context.__exit__ return if inst_match(("CALL", "LOAD_FAST")) and node_match( (ast.ListComp, ast.GeneratorExp, ast.SetComp, ast.DictComp) ): # call to the generator function return if ( sys.version_info >= (3, 12) and inst_match(("LOAD_FAST_AND_CLEAR", "STORE_FAST")) and node_match((ast.ListComp, ast.SetComp, ast.DictComp)) ): return if inst_match(("CALL", "CALL_FUNCTION_EX")) and node_match( (ast.ClassDef, ast.Call) ): return if inst_match(("COMPARE_OP", "IS_OP", "CONTAINS_OP")) and node_match( ast.Compare ): return if inst_match("LOAD_NAME", argval="__annotations__") and node_match( ast.AnnAssign ): return if ( ( inst_match("LOAD_METHOD", argval="join") or inst_match("LOAD_ATTR", argval="join") # 3.12 or inst_match(("CALL", "BUILD_STRING")) ) and node_match(ast.BinOp, left=ast.Constant, op=ast.Mod) and isinstance(cast(ast.Constant, cast(ast.BinOp, node).left).value, str) ): # "..."%(...) uses "".join return if inst_match("STORE_SUBSCR") and node_match(ast.AnnAssign): # data: int return if inst_match(("DELETE_NAME", "DELETE_FAST")) and node_match( ast.Name, id=instruction.argval, ctx=ast.Del ): return if inst_match("BUILD_STRING") and ( node_match(ast.JoinedStr) or node_match(ast.BinOp, op=ast.Mod) ): return if inst_match(("BEFORE_WITH","WITH_EXCEPT_START")) and node_match(ast.With): return if inst_match(("STORE_NAME", "STORE_GLOBAL"), argval="__doc__") and node_match( ast.Constant ): # store docstrings return if ( inst_match(("STORE_NAME", "STORE_FAST", "STORE_GLOBAL", "STORE_DEREF")) and node_match(ast.ExceptHandler) and instruction.argval == mangled_name(node) ): # store exception in variable return if ( inst_match(("STORE_NAME", "STORE_FAST", "STORE_DEREF", "STORE_GLOBAL")) and node_match((ast.Import, ast.ImportFrom)) and any(mangled_name(cast(EnhancedAST, alias)) == instruction.argval for alias in cast(ast.Import, node).names) ): # store imported module in variable return if ( inst_match(("STORE_FAST", "STORE_DEREF", "STORE_NAME", "STORE_GLOBAL")) and ( node_match((ast.FunctionDef, ast.ClassDef, ast.AsyncFunctionDef)) or node_match( ast.Name, ctx=ast.Store, ) ) and instruction.argval == mangled_name(node) ): return if False: # TODO: match expressions are not supported for now if inst_match(("STORE_FAST", "STORE_NAME")) and node_match( ast.MatchAs, name=instruction.argval ): return if inst_match("COMPARE_OP", argval="==") and node_match(ast.MatchSequence): return if inst_match("COMPARE_OP", argval="==") and node_match(ast.MatchValue): return if inst_match("BINARY_OP") and node_match( ast.AugAssign, op=op_type_map[instruction.argrepr.removesuffix("=")] ): # a+=5 return if node_match(ast.Attribute, ctx=ast.Del) and inst_match( "DELETE_ATTR", argval=mangled_name(node) ): return if inst_match( ( "JUMP_IF_TRUE_OR_POP", "JUMP_IF_FALSE_OR_POP", "POP_JUMP_IF_TRUE", "POP_JUMP_IF_FALSE", ) ) and node_match(ast.BoolOp): # and/or short circuit return if inst_match("DELETE_SUBSCR") and node_match(ast.Subscript, ctx=ast.Del): return if ( node_match(ast.Name, ctx=ast.Load) or ( node_match(ast.Name, ctx=ast.Store) and isinstance(node.parent, ast.AugAssign) ) ) and inst_match( ( "LOAD_NAME", "LOAD_FAST", "LOAD_FAST_CHECK", "LOAD_GLOBAL", "LOAD_DEREF", "LOAD_FROM_DICT_OR_DEREF", ), argval=mangled_name(node), ): return if node_match(ast.Name, ctx=ast.Del) and inst_match( ("DELETE_NAME", "DELETE_GLOBAL", "DELETE_DEREF"), argval=mangled_name(node) ): return if node_match(ast.Constant) and inst_match( "LOAD_CONST", argval=cast(ast.Constant, node).value ): return if node_match( (ast.ListComp, ast.SetComp, ast.DictComp, ast.GeneratorExp, ast.For) ) and inst_match(("GET_ITER", "FOR_ITER")): return if sys.version_info >= (3, 12): if node_match(ast.UnaryOp, op=ast.UAdd) and inst_match( "CALL_INTRINSIC_1", argrepr="INTRINSIC_UNARY_POSITIVE" ): return if node_match(ast.Subscript) and inst_match("BINARY_SLICE"): return if node_match(ast.ImportFrom) and inst_match( "CALL_INTRINSIC_1", argrepr="INTRINSIC_IMPORT_STAR" ): return if ( node_match(ast.Yield) or isinstance(node.parent, ast.GeneratorExp) ) and inst_match("CALL_INTRINSIC_1", argrepr="INTRINSIC_ASYNC_GEN_WRAP"): return if node_match(ast.Name) and inst_match("LOAD_DEREF",argval="__classdict__"): return if node_match(ast.TypeVar) and ( inst_match("CALL_INTRINSIC_1", argrepr="INTRINSIC_TYPEVAR") or inst_match( "CALL_INTRINSIC_2", argrepr="INTRINSIC_TYPEVAR_WITH_BOUND" ) or inst_match( "CALL_INTRINSIC_2", argrepr="INTRINSIC_TYPEVAR_WITH_CONSTRAINTS" ) or inst_match(("STORE_FAST", "STORE_DEREF"), argrepr=mangled_name(node)) ): return if node_match(ast.TypeVarTuple) and ( inst_match("CALL_INTRINSIC_1", argrepr="INTRINSIC_TYPEVARTUPLE") or inst_match(("STORE_FAST", "STORE_DEREF"), argrepr=node.name) ): return if node_match(ast.ParamSpec) and ( inst_match("CALL_INTRINSIC_1", argrepr="INTRINSIC_PARAMSPEC") or inst_match(("STORE_FAST", "STORE_DEREF"), argrepr=node.name)): return if node_match(ast.TypeAlias): if( inst_match("CALL_INTRINSIC_1", argrepr="INTRINSIC_TYPEALIAS") or inst_match( ("STORE_NAME", "STORE_FAST", "STORE_DEREF"), argrepr=node.name.id ) or inst_match("CALL") ): return if node_match(ast.ClassDef) and node.type_params: if inst_match( ("STORE_DEREF", "LOAD_DEREF", "LOAD_FROM_DICT_OR_DEREF"), argrepr=".type_params", ): return if inst_match(("STORE_FAST", "LOAD_FAST"), argrepr=".generic_base"): return if inst_match( "CALL_INTRINSIC_1", argrepr="INTRINSIC_SUBSCRIPT_GENERIC" ): return if inst_match("LOAD_DEREF",argval="__classdict__"): return if node_match((ast.FunctionDef,ast.AsyncFunctionDef)) and node.type_params: if inst_match("CALL"): return if inst_match( "CALL_INTRINSIC_2", argrepr="INTRINSIC_SET_FUNCTION_TYPE_PARAMS" ): return if inst_match("LOAD_FAST",argval=".defaults"): return if inst_match("LOAD_FAST",argval=".kwdefaults"): return if inst_match("STORE_NAME", argval="__classdictcell__"): # this is a general thing return # f-strings if node_match(ast.JoinedStr) and ( inst_match("LOAD_ATTR", argval="join") or inst_match(("LIST_APPEND", "CALL")) ): return if node_match(ast.FormattedValue) and inst_match("FORMAT_VALUE"): return if sys.version_info >= (3, 13): if inst_match("NOP"): return if inst_match("TO_BOOL") and node_match(ast.BoolOp): return if inst_match("CALL_KW") and node_match((ast.Call, ast.ClassDef)): return if inst_match("LOAD_FAST", argval=".type_params"): return if inst_match("LOAD_FAST", argval="__classdict__"): return if inst_match("LOAD_FAST") and node_match( ( ast.FunctionDef, ast.ClassDef, ast.TypeAlias, ast.TypeVar, ast.Lambda, ast.AsyncFunctionDef, ) ): # These are loads for closure variables. # It is difficult to check that this is actually closure variable, see: # https://github.com/alexmojaki/executing/pull/80#discussion_r1716027317 return if ( inst_match("LOAD_FAST") and node_match(ast.TypeAlias) and node.name.id == instruction.argval ): return if inst_match("STORE_NAME",argval="__static_attributes__"): # the node is the first node in the body return if inst_match("LOAD_FAST") and isinstance(node.parent,ast.TypeVar): return # old verifier typ: Type = type(None) op_type: Type = type(None) if op_name.startswith(("BINARY_SUBSCR", "SLICE+")): typ = ast.Subscript ctx = ast.Load elif op_name.startswith("BINARY_"): typ = ast.BinOp op_type = op_type_map[instruction.argrepr] extra_filter = lambda e: isinstance(cast(ast.BinOp, e).op, op_type) elif op_name.startswith("UNARY_"): typ = ast.UnaryOp op_type = dict( UNARY_POSITIVE=ast.UAdd, UNARY_NEGATIVE=ast.USub, UNARY_NOT=ast.Not, UNARY_INVERT=ast.Invert, )[op_name] extra_filter = lambda e: isinstance(cast(ast.UnaryOp, e).op, op_type) elif op_name in ("LOAD_ATTR", "LOAD_METHOD", "LOOKUP_METHOD","LOAD_SUPER_ATTR"): typ = ast.Attribute ctx = ast.Load extra_filter = lambda e: mangled_name(e) == instruction.argval elif op_name in ( "LOAD_NAME", "LOAD_GLOBAL", "LOAD_FAST", "LOAD_DEREF", "LOAD_CLASSDEREF", ): typ = ast.Name ctx = ast.Load extra_filter = lambda e: cast(ast.Name, e).id == instruction.argval elif op_name in ("COMPARE_OP", "IS_OP", "CONTAINS_OP"): typ = ast.Compare extra_filter = lambda e: len(cast(ast.Compare, e).ops) == 1 elif op_name.startswith(("STORE_SLICE", "STORE_SUBSCR")): ctx = ast.Store typ = ast.Subscript elif op_name.startswith("STORE_ATTR"): ctx = ast.Store typ = ast.Attribute extra_filter = lambda e: mangled_name(e) == instruction.argval node_ctx = getattr(node, "ctx", None) ctx_match = ( ctx is not type(None) or not hasattr(node, "ctx") or isinstance(node_ctx, ctx) ) # check for old verifier if isinstance(node, typ) and ctx_match and extra_filter(node): return # generate error title = "ast.%s is not created from %s" % ( type(node).__name__, instruction.opname, ) > raise VerifierFailure(title, node, instruction) E executing._exceptions.VerifierFailure: ast.Name is not created from CALL executing/_position_node_finder.py:878: VerifierFailure ----------------------------- Captured stdout call ----------------------------- check /builddir/build/BUILD/python-executing-2.1.0-build/executing-2.1.0/tests/small_samples/635d56ede8cbcb2824d42291eb9fe9288d5f09c768636aaa19984ffdfc91e9fe.py VerifierFailure: ast.Name is not created from CALL instruction: CALL 2 node: Name(id='self', ctx=Load(), lineno=16, col_offset=5, end_lineno=16, end_col_offset=9) parent node: withitem source code: 12: # if else_is_dead and not contains_break(node.body): 13: # # for a in l: 14: # 15: 16: with self: 17: for _ in tester: 18: pass 19: else: 20: tester None bytecode: _ test_small_samples[c9b64c28f424df67919f825adf4f93dfa774463768fc26cd36964121d34e28dd.py] _ full_filename = '/builddir/build/BUILD/python-executing-2.1.0-build/executing-2.1.0/tests/small_samples/c9b64c28f424df67919f825adf4f93dfa774463768fc26cd36964121d34e28dd.py' result_filename = '/builddir/build/BUILD/python-executing-2.1.0-build/executing-2.1.0/tests/sample_results/c9b64c28f424df67919f825adf4f93dfa774463768fc26cd36964121d34e28dd-py-3.13.json' @pytest.mark.parametrize( "full_filename,result_filename", list(sample_files("small_samples")) ) @pytest.mark.skipif(sys.version_info<(3,),reason="no 2.7 support") def test_small_samples(full_filename, result_filename): skip_sentinel = [ "load_deref", "4851dc1b626a95e97dbe0c53f96099d165b755dd1bd552c6ca771f7bca6d30f5", "508ccd0dcac13ecee6f0cea939b73ba5319c780ddbb6c496be96fe5614871d4a", "fc6eb521024986baa84af2634f638e40af090be4aa70ab3c22f3d022e8068228", "42a37b8a823eb2e510b967332661afd679c82c60b7177b992a47c16d81117c8a", "206e0609ff0589a0a32422ee902f09156af91746e27157c32c9595d12072f92a", ] skip_annotations = [ "d98e27d8963331b58e4e6b84c7580dafde4d9e2980ad4277ce55e6b186113c1d", "9b3db37076d3c7c76bdfd9badcc70d8047584433e1eea89f45014453d58bbc43", ] if any(s in full_filename for s in skip_sentinel) and sys.version_info < (3, 11): pytest.xfail("SentinelNodeFinder does not find some of the nodes (maybe a bug)") if any(s in full_filename for s in skip_annotations) and sys.version_info < (3, 7): pytest.xfail("no `from __future__ import annotations`") if ( (sys.version_info[:2] == (3, 7)) and "ad8aa993e6ee4eb5ee764d55f2e3fd636a99b2ecb8c5aff2b35fbb78a074ea30" in full_filename ): pytest.xfail("(i async for i in arange) can not be analyzed in 3.7") if ( (sys.version_info[:2] == (3, 5) or PYPY) and "1656dc52edd2385921104de7bb255ca369713f4b8c034ebeba5cf946058109bc" in full_filename ): pytest.skip("recursion takes to long in 3.5") > TestFiles().check_filename(full_filename, check_names=True) tests/test_main.py:751: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_main.py:888: in check_filename result = list(self.check_code(code, nodes, decorators, check_names=check_names)) tests/test_main.py:1448: in check_code for x in self.check_code(inst.argval, nodes, decorators, check_names=check_names): tests/test_main.py:1243: in check_code ex = Source.executing(frame) executing/executing.py:273: in executing node_finder = NodeFinder(frame, stmts, tree, lasti, source) executing/_position_node_finder.py:170: in __init__ self.verify(self.result, instruction) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = node = instruction = Instruction(opname='CALL', opcode=53, arg=2, argval=2, argrepr='', offset=56, start_offset=56, starts_line=False, line..., col_offset=9, end_col_offset=22), cache_info=[('counter', 1, b'\x00\x00'), ('func_version', 2, b'\x00\x00\x00\x00')]) def verify(self, node: EnhancedAST, instruction: dis.Instruction) -> None: """ checks if this node could gererate this instruction """ op_name = instruction.opname extra_filter: Callable[[EnhancedAST], bool] = lambda e: True ctx: Type = type(None) def inst_match(opnames: Union[str, Sequence[str]], **kwargs: Any) -> bool: """ match instruction Parameters: opnames: (str|Seq[str]): inst.opname has to be equal to or in `opname` **kwargs: every arg has to match inst.arg Returns: True if all conditions match the instruction """ if isinstance(opnames, str): opnames = [opnames] return instruction.opname in opnames and kwargs == { k: getattr(instruction, k) for k in kwargs } def node_match(node_type: Union[Type, Tuple[Type, ...]], **kwargs: Any) -> bool: """ match the ast-node Parameters: node_type: type of the node **kwargs: every `arg` has to be equal `node.arg` or `node.arg` has to be an instance of `arg` if it is a type. """ return isinstance(node, node_type) and all( isinstance(getattr(node, k), v) if isinstance(v, type) else getattr(node, k) == v for k, v in kwargs.items() ) if op_name == "CACHE": return if inst_match("CALL") and node_match((ast.With, ast.AsyncWith)): # call to context.__exit__ return if inst_match(("CALL", "LOAD_FAST")) and node_match( (ast.ListComp, ast.GeneratorExp, ast.SetComp, ast.DictComp) ): # call to the generator function return if ( sys.version_info >= (3, 12) and inst_match(("LOAD_FAST_AND_CLEAR", "STORE_FAST")) and node_match((ast.ListComp, ast.SetComp, ast.DictComp)) ): return if inst_match(("CALL", "CALL_FUNCTION_EX")) and node_match( (ast.ClassDef, ast.Call) ): return if inst_match(("COMPARE_OP", "IS_OP", "CONTAINS_OP")) and node_match( ast.Compare ): return if inst_match("LOAD_NAME", argval="__annotations__") and node_match( ast.AnnAssign ): return if ( ( inst_match("LOAD_METHOD", argval="join") or inst_match("LOAD_ATTR", argval="join") # 3.12 or inst_match(("CALL", "BUILD_STRING")) ) and node_match(ast.BinOp, left=ast.Constant, op=ast.Mod) and isinstance(cast(ast.Constant, cast(ast.BinOp, node).left).value, str) ): # "..."%(...) uses "".join return if inst_match("STORE_SUBSCR") and node_match(ast.AnnAssign): # data: int return if inst_match(("DELETE_NAME", "DELETE_FAST")) and node_match( ast.Name, id=instruction.argval, ctx=ast.Del ): return if inst_match("BUILD_STRING") and ( node_match(ast.JoinedStr) or node_match(ast.BinOp, op=ast.Mod) ): return if inst_match(("BEFORE_WITH","WITH_EXCEPT_START")) and node_match(ast.With): return if inst_match(("STORE_NAME", "STORE_GLOBAL"), argval="__doc__") and node_match( ast.Constant ): # store docstrings return if ( inst_match(("STORE_NAME", "STORE_FAST", "STORE_GLOBAL", "STORE_DEREF")) and node_match(ast.ExceptHandler) and instruction.argval == mangled_name(node) ): # store exception in variable return if ( inst_match(("STORE_NAME", "STORE_FAST", "STORE_DEREF", "STORE_GLOBAL")) and node_match((ast.Import, ast.ImportFrom)) and any(mangled_name(cast(EnhancedAST, alias)) == instruction.argval for alias in cast(ast.Import, node).names) ): # store imported module in variable return if ( inst_match(("STORE_FAST", "STORE_DEREF", "STORE_NAME", "STORE_GLOBAL")) and ( node_match((ast.FunctionDef, ast.ClassDef, ast.AsyncFunctionDef)) or node_match( ast.Name, ctx=ast.Store, ) ) and instruction.argval == mangled_name(node) ): return if False: # TODO: match expressions are not supported for now if inst_match(("STORE_FAST", "STORE_NAME")) and node_match( ast.MatchAs, name=instruction.argval ): return if inst_match("COMPARE_OP", argval="==") and node_match(ast.MatchSequence): return if inst_match("COMPARE_OP", argval="==") and node_match(ast.MatchValue): return if inst_match("BINARY_OP") and node_match( ast.AugAssign, op=op_type_map[instruction.argrepr.removesuffix("=")] ): # a+=5 return if node_match(ast.Attribute, ctx=ast.Del) and inst_match( "DELETE_ATTR", argval=mangled_name(node) ): return if inst_match( ( "JUMP_IF_TRUE_OR_POP", "JUMP_IF_FALSE_OR_POP", "POP_JUMP_IF_TRUE", "POP_JUMP_IF_FALSE", ) ) and node_match(ast.BoolOp): # and/or short circuit return if inst_match("DELETE_SUBSCR") and node_match(ast.Subscript, ctx=ast.Del): return if ( node_match(ast.Name, ctx=ast.Load) or ( node_match(ast.Name, ctx=ast.Store) and isinstance(node.parent, ast.AugAssign) ) ) and inst_match( ( "LOAD_NAME", "LOAD_FAST", "LOAD_FAST_CHECK", "LOAD_GLOBAL", "LOAD_DEREF", "LOAD_FROM_DICT_OR_DEREF", ), argval=mangled_name(node), ): return if node_match(ast.Name, ctx=ast.Del) and inst_match( ("DELETE_NAME", "DELETE_GLOBAL", "DELETE_DEREF"), argval=mangled_name(node) ): return if node_match(ast.Constant) and inst_match( "LOAD_CONST", argval=cast(ast.Constant, node).value ): return if node_match( (ast.ListComp, ast.SetComp, ast.DictComp, ast.GeneratorExp, ast.For) ) and inst_match(("GET_ITER", "FOR_ITER")): return if sys.version_info >= (3, 12): if node_match(ast.UnaryOp, op=ast.UAdd) and inst_match( "CALL_INTRINSIC_1", argrepr="INTRINSIC_UNARY_POSITIVE" ): return if node_match(ast.Subscript) and inst_match("BINARY_SLICE"): return if node_match(ast.ImportFrom) and inst_match( "CALL_INTRINSIC_1", argrepr="INTRINSIC_IMPORT_STAR" ): return if ( node_match(ast.Yield) or isinstance(node.parent, ast.GeneratorExp) ) and inst_match("CALL_INTRINSIC_1", argrepr="INTRINSIC_ASYNC_GEN_WRAP"): return if node_match(ast.Name) and inst_match("LOAD_DEREF",argval="__classdict__"): return if node_match(ast.TypeVar) and ( inst_match("CALL_INTRINSIC_1", argrepr="INTRINSIC_TYPEVAR") or inst_match( "CALL_INTRINSIC_2", argrepr="INTRINSIC_TYPEVAR_WITH_BOUND" ) or inst_match( "CALL_INTRINSIC_2", argrepr="INTRINSIC_TYPEVAR_WITH_CONSTRAINTS" ) or inst_match(("STORE_FAST", "STORE_DEREF"), argrepr=mangled_name(node)) ): return if node_match(ast.TypeVarTuple) and ( inst_match("CALL_INTRINSIC_1", argrepr="INTRINSIC_TYPEVARTUPLE") or inst_match(("STORE_FAST", "STORE_DEREF"), argrepr=node.name) ): return if node_match(ast.ParamSpec) and ( inst_match("CALL_INTRINSIC_1", argrepr="INTRINSIC_PARAMSPEC") or inst_match(("STORE_FAST", "STORE_DEREF"), argrepr=node.name)): return if node_match(ast.TypeAlias): if( inst_match("CALL_INTRINSIC_1", argrepr="INTRINSIC_TYPEALIAS") or inst_match( ("STORE_NAME", "STORE_FAST", "STORE_DEREF"), argrepr=node.name.id ) or inst_match("CALL") ): return if node_match(ast.ClassDef) and node.type_params: if inst_match( ("STORE_DEREF", "LOAD_DEREF", "LOAD_FROM_DICT_OR_DEREF"), argrepr=".type_params", ): return if inst_match(("STORE_FAST", "LOAD_FAST"), argrepr=".generic_base"): return if inst_match( "CALL_INTRINSIC_1", argrepr="INTRINSIC_SUBSCRIPT_GENERIC" ): return if inst_match("LOAD_DEREF",argval="__classdict__"): return if node_match((ast.FunctionDef,ast.AsyncFunctionDef)) and node.type_params: if inst_match("CALL"): return if inst_match( "CALL_INTRINSIC_2", argrepr="INTRINSIC_SET_FUNCTION_TYPE_PARAMS" ): return if inst_match("LOAD_FAST",argval=".defaults"): return if inst_match("LOAD_FAST",argval=".kwdefaults"): return if inst_match("STORE_NAME", argval="__classdictcell__"): # this is a general thing return # f-strings if node_match(ast.JoinedStr) and ( inst_match("LOAD_ATTR", argval="join") or inst_match(("LIST_APPEND", "CALL")) ): return if node_match(ast.FormattedValue) and inst_match("FORMAT_VALUE"): return if sys.version_info >= (3, 13): if inst_match("NOP"): return if inst_match("TO_BOOL") and node_match(ast.BoolOp): return if inst_match("CALL_KW") and node_match((ast.Call, ast.ClassDef)): return if inst_match("LOAD_FAST", argval=".type_params"): return if inst_match("LOAD_FAST", argval="__classdict__"): return if inst_match("LOAD_FAST") and node_match( ( ast.FunctionDef, ast.ClassDef, ast.TypeAlias, ast.TypeVar, ast.Lambda, ast.AsyncFunctionDef, ) ): # These are loads for closure variables. # It is difficult to check that this is actually closure variable, see: # https://github.com/alexmojaki/executing/pull/80#discussion_r1716027317 return if ( inst_match("LOAD_FAST") and node_match(ast.TypeAlias) and node.name.id == instruction.argval ): return if inst_match("STORE_NAME",argval="__static_attributes__"): # the node is the first node in the body return if inst_match("LOAD_FAST") and isinstance(node.parent,ast.TypeVar): return # old verifier typ: Type = type(None) op_type: Type = type(None) if op_name.startswith(("BINARY_SUBSCR", "SLICE+")): typ = ast.Subscript ctx = ast.Load elif op_name.startswith("BINARY_"): typ = ast.BinOp op_type = op_type_map[instruction.argrepr] extra_filter = lambda e: isinstance(cast(ast.BinOp, e).op, op_type) elif op_name.startswith("UNARY_"): typ = ast.UnaryOp op_type = dict( UNARY_POSITIVE=ast.UAdd, UNARY_NEGATIVE=ast.USub, UNARY_NOT=ast.Not, UNARY_INVERT=ast.Invert, )[op_name] extra_filter = lambda e: isinstance(cast(ast.UnaryOp, e).op, op_type) elif op_name in ("LOAD_ATTR", "LOAD_METHOD", "LOOKUP_METHOD","LOAD_SUPER_ATTR"): typ = ast.Attribute ctx = ast.Load extra_filter = lambda e: mangled_name(e) == instruction.argval elif op_name in ( "LOAD_NAME", "LOAD_GLOBAL", "LOAD_FAST", "LOAD_DEREF", "LOAD_CLASSDEREF", ): typ = ast.Name ctx = ast.Load extra_filter = lambda e: cast(ast.Name, e).id == instruction.argval elif op_name in ("COMPARE_OP", "IS_OP", "CONTAINS_OP"): typ = ast.Compare extra_filter = lambda e: len(cast(ast.Compare, e).ops) == 1 elif op_name.startswith(("STORE_SLICE", "STORE_SUBSCR")): ctx = ast.Store typ = ast.Subscript elif op_name.startswith("STORE_ATTR"): ctx = ast.Store typ = ast.Attribute extra_filter = lambda e: mangled_name(e) == instruction.argval node_ctx = getattr(node, "ctx", None) ctx_match = ( ctx is not type(None) or not hasattr(node, "ctx") or isinstance(node_ctx, ctx) ) # check for old verifier if isinstance(node, typ) and ctx_match and extra_filter(node): return # generate error title = "ast.%s is not created from %s" % ( type(node).__name__, instruction.opname, ) > raise VerifierFailure(title, node, instruction) E executing._exceptions.VerifierFailure: ast.Name is not created from CALL executing/_position_node_finder.py:878: VerifierFailure ----------------------------- Captured stdout call ----------------------------- check /builddir/build/BUILD/python-executing-2.1.0-build/executing-2.1.0/tests/small_samples/c9b64c28f424df67919f825adf4f93dfa774463768fc26cd36964121d34e28dd.py VerifierFailure: ast.Name is not created from CALL instruction: CALL 2 node: Name(id='error_handler', ctx=Load(), lineno=17, col_offset=9, end_lineno=17, end_col_offset=22) parent node: withitem source code: 13: # self.walk_deadcode(node.subject, deadcode) 14: # 15: 16: def main(argv: Sequence=None) -> int: 17: with error_handler: 18: if args: 19: return uninstall 20: else: 21: raise NotImplementedError 22: AssertionError None bytecode: _ test_small_samples[ea94f24a1d9b57c7a7d62c428082790caae2fa16429db2e58b2f4addb67a1964.py] _ full_filename = '/builddir/build/BUILD/python-executing-2.1.0-build/executing-2.1.0/tests/small_samples/ea94f24a1d9b57c7a7d62c428082790caae2fa16429db2e58b2f4addb67a1964.py' result_filename = '/builddir/build/BUILD/python-executing-2.1.0-build/executing-2.1.0/tests/sample_results/ea94f24a1d9b57c7a7d62c428082790caae2fa16429db2e58b2f4addb67a1964-py-3.13.json' @pytest.mark.parametrize( "full_filename,result_filename", list(sample_files("small_samples")) ) @pytest.mark.skipif(sys.version_info<(3,),reason="no 2.7 support") def test_small_samples(full_filename, result_filename): skip_sentinel = [ "load_deref", "4851dc1b626a95e97dbe0c53f96099d165b755dd1bd552c6ca771f7bca6d30f5", "508ccd0dcac13ecee6f0cea939b73ba5319c780ddbb6c496be96fe5614871d4a", "fc6eb521024986baa84af2634f638e40af090be4aa70ab3c22f3d022e8068228", "42a37b8a823eb2e510b967332661afd679c82c60b7177b992a47c16d81117c8a", "206e0609ff0589a0a32422ee902f09156af91746e27157c32c9595d12072f92a", ] skip_annotations = [ "d98e27d8963331b58e4e6b84c7580dafde4d9e2980ad4277ce55e6b186113c1d", "9b3db37076d3c7c76bdfd9badcc70d8047584433e1eea89f45014453d58bbc43", ] if any(s in full_filename for s in skip_sentinel) and sys.version_info < (3, 11): pytest.xfail("SentinelNodeFinder does not find some of the nodes (maybe a bug)") if any(s in full_filename for s in skip_annotations) and sys.version_info < (3, 7): pytest.xfail("no `from __future__ import annotations`") if ( (sys.version_info[:2] == (3, 7)) and "ad8aa993e6ee4eb5ee764d55f2e3fd636a99b2ecb8c5aff2b35fbb78a074ea30" in full_filename ): pytest.xfail("(i async for i in arange) can not be analyzed in 3.7") if ( (sys.version_info[:2] == (3, 5) or PYPY) and "1656dc52edd2385921104de7bb255ca369713f4b8c034ebeba5cf946058109bc" in full_filename ): pytest.skip("recursion takes to long in 3.5") > TestFiles().check_filename(full_filename, check_names=True) tests/test_main.py:751: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_main.py:888: in check_filename result = list(self.check_code(code, nodes, decorators, check_names=check_names)) tests/test_main.py:1448: in check_code for x in self.check_code(inst.argval, nodes, decorators, check_names=check_names): tests/test_main.py:1243: in check_code ex = Source.executing(frame) executing/executing.py:273: in executing node_finder = NodeFinder(frame, stmts, tree, lasti, source) executing/_position_node_finder.py:170: in __init__ self.verify(self.result, instruction) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = node = instruction = Instruction(opname='CALL', opcode=53, arg=2, argval=2, argrepr='', offset=84, start_offset=84, starts_line=False, line..., col_offset=9, end_col_offset=33), cache_info=[('counter', 1, b'\x00\x00'), ('func_version', 2, b'\x00\x00\x00\x00')]) def verify(self, node: EnhancedAST, instruction: dis.Instruction) -> None: """ checks if this node could gererate this instruction """ op_name = instruction.opname extra_filter: Callable[[EnhancedAST], bool] = lambda e: True ctx: Type = type(None) def inst_match(opnames: Union[str, Sequence[str]], **kwargs: Any) -> bool: """ match instruction Parameters: opnames: (str|Seq[str]): inst.opname has to be equal to or in `opname` **kwargs: every arg has to match inst.arg Returns: True if all conditions match the instruction """ if isinstance(opnames, str): opnames = [opnames] return instruction.opname in opnames and kwargs == { k: getattr(instruction, k) for k in kwargs } def node_match(node_type: Union[Type, Tuple[Type, ...]], **kwargs: Any) -> bool: """ match the ast-node Parameters: node_type: type of the node **kwargs: every `arg` has to be equal `node.arg` or `node.arg` has to be an instance of `arg` if it is a type. """ return isinstance(node, node_type) and all( isinstance(getattr(node, k), v) if isinstance(v, type) else getattr(node, k) == v for k, v in kwargs.items() ) if op_name == "CACHE": return if inst_match("CALL") and node_match((ast.With, ast.AsyncWith)): # call to context.__exit__ return if inst_match(("CALL", "LOAD_FAST")) and node_match( (ast.ListComp, ast.GeneratorExp, ast.SetComp, ast.DictComp) ): # call to the generator function return if ( sys.version_info >= (3, 12) and inst_match(("LOAD_FAST_AND_CLEAR", "STORE_FAST")) and node_match((ast.ListComp, ast.SetComp, ast.DictComp)) ): return if inst_match(("CALL", "CALL_FUNCTION_EX")) and node_match( (ast.ClassDef, ast.Call) ): return if inst_match(("COMPARE_OP", "IS_OP", "CONTAINS_OP")) and node_match( ast.Compare ): return if inst_match("LOAD_NAME", argval="__annotations__") and node_match( ast.AnnAssign ): return if ( ( inst_match("LOAD_METHOD", argval="join") or inst_match("LOAD_ATTR", argval="join") # 3.12 or inst_match(("CALL", "BUILD_STRING")) ) and node_match(ast.BinOp, left=ast.Constant, op=ast.Mod) and isinstance(cast(ast.Constant, cast(ast.BinOp, node).left).value, str) ): # "..."%(...) uses "".join return if inst_match("STORE_SUBSCR") and node_match(ast.AnnAssign): # data: int return if inst_match(("DELETE_NAME", "DELETE_FAST")) and node_match( ast.Name, id=instruction.argval, ctx=ast.Del ): return if inst_match("BUILD_STRING") and ( node_match(ast.JoinedStr) or node_match(ast.BinOp, op=ast.Mod) ): return if inst_match(("BEFORE_WITH","WITH_EXCEPT_START")) and node_match(ast.With): return if inst_match(("STORE_NAME", "STORE_GLOBAL"), argval="__doc__") and node_match( ast.Constant ): # store docstrings return if ( inst_match(("STORE_NAME", "STORE_FAST", "STORE_GLOBAL", "STORE_DEREF")) and node_match(ast.ExceptHandler) and instruction.argval == mangled_name(node) ): # store exception in variable return if ( inst_match(("STORE_NAME", "STORE_FAST", "STORE_DEREF", "STORE_GLOBAL")) and node_match((ast.Import, ast.ImportFrom)) and any(mangled_name(cast(EnhancedAST, alias)) == instruction.argval for alias in cast(ast.Import, node).names) ): # store imported module in variable return if ( inst_match(("STORE_FAST", "STORE_DEREF", "STORE_NAME", "STORE_GLOBAL")) and ( node_match((ast.FunctionDef, ast.ClassDef, ast.AsyncFunctionDef)) or node_match( ast.Name, ctx=ast.Store, ) ) and instruction.argval == mangled_name(node) ): return if False: # TODO: match expressions are not supported for now if inst_match(("STORE_FAST", "STORE_NAME")) and node_match( ast.MatchAs, name=instruction.argval ): return if inst_match("COMPARE_OP", argval="==") and node_match(ast.MatchSequence): return if inst_match("COMPARE_OP", argval="==") and node_match(ast.MatchValue): return if inst_match("BINARY_OP") and node_match( ast.AugAssign, op=op_type_map[instruction.argrepr.removesuffix("=")] ): # a+=5 return if node_match(ast.Attribute, ctx=ast.Del) and inst_match( "DELETE_ATTR", argval=mangled_name(node) ): return if inst_match( ( "JUMP_IF_TRUE_OR_POP", "JUMP_IF_FALSE_OR_POP", "POP_JUMP_IF_TRUE", "POP_JUMP_IF_FALSE", ) ) and node_match(ast.BoolOp): # and/or short circuit return if inst_match("DELETE_SUBSCR") and node_match(ast.Subscript, ctx=ast.Del): return if ( node_match(ast.Name, ctx=ast.Load) or ( node_match(ast.Name, ctx=ast.Store) and isinstance(node.parent, ast.AugAssign) ) ) and inst_match( ( "LOAD_NAME", "LOAD_FAST", "LOAD_FAST_CHECK", "LOAD_GLOBAL", "LOAD_DEREF", "LOAD_FROM_DICT_OR_DEREF", ), argval=mangled_name(node), ): return if node_match(ast.Name, ctx=ast.Del) and inst_match( ("DELETE_NAME", "DELETE_GLOBAL", "DELETE_DEREF"), argval=mangled_name(node) ): return if node_match(ast.Constant) and inst_match( "LOAD_CONST", argval=cast(ast.Constant, node).value ): return if node_match( (ast.ListComp, ast.SetComp, ast.DictComp, ast.GeneratorExp, ast.For) ) and inst_match(("GET_ITER", "FOR_ITER")): return if sys.version_info >= (3, 12): if node_match(ast.UnaryOp, op=ast.UAdd) and inst_match( "CALL_INTRINSIC_1", argrepr="INTRINSIC_UNARY_POSITIVE" ): return if node_match(ast.Subscript) and inst_match("BINARY_SLICE"): return if node_match(ast.ImportFrom) and inst_match( "CALL_INTRINSIC_1", argrepr="INTRINSIC_IMPORT_STAR" ): return if ( node_match(ast.Yield) or isinstance(node.parent, ast.GeneratorExp) ) and inst_match("CALL_INTRINSIC_1", argrepr="INTRINSIC_ASYNC_GEN_WRAP"): return if node_match(ast.Name) and inst_match("LOAD_DEREF",argval="__classdict__"): return if node_match(ast.TypeVar) and ( inst_match("CALL_INTRINSIC_1", argrepr="INTRINSIC_TYPEVAR") or inst_match( "CALL_INTRINSIC_2", argrepr="INTRINSIC_TYPEVAR_WITH_BOUND" ) or inst_match( "CALL_INTRINSIC_2", argrepr="INTRINSIC_TYPEVAR_WITH_CONSTRAINTS" ) or inst_match(("STORE_FAST", "STORE_DEREF"), argrepr=mangled_name(node)) ): return if node_match(ast.TypeVarTuple) and ( inst_match("CALL_INTRINSIC_1", argrepr="INTRINSIC_TYPEVARTUPLE") or inst_match(("STORE_FAST", "STORE_DEREF"), argrepr=node.name) ): return if node_match(ast.ParamSpec) and ( inst_match("CALL_INTRINSIC_1", argrepr="INTRINSIC_PARAMSPEC") or inst_match(("STORE_FAST", "STORE_DEREF"), argrepr=node.name)): return if node_match(ast.TypeAlias): if( inst_match("CALL_INTRINSIC_1", argrepr="INTRINSIC_TYPEALIAS") or inst_match( ("STORE_NAME", "STORE_FAST", "STORE_DEREF"), argrepr=node.name.id ) or inst_match("CALL") ): return if node_match(ast.ClassDef) and node.type_params: if inst_match( ("STORE_DEREF", "LOAD_DEREF", "LOAD_FROM_DICT_OR_DEREF"), argrepr=".type_params", ): return if inst_match(("STORE_FAST", "LOAD_FAST"), argrepr=".generic_base"): return if inst_match( "CALL_INTRINSIC_1", argrepr="INTRINSIC_SUBSCRIPT_GENERIC" ): return if inst_match("LOAD_DEREF",argval="__classdict__"): return if node_match((ast.FunctionDef,ast.AsyncFunctionDef)) and node.type_params: if inst_match("CALL"): return if inst_match( "CALL_INTRINSIC_2", argrepr="INTRINSIC_SET_FUNCTION_TYPE_PARAMS" ): return if inst_match("LOAD_FAST",argval=".defaults"): return if inst_match("LOAD_FAST",argval=".kwdefaults"): return if inst_match("STORE_NAME", argval="__classdictcell__"): # this is a general thing return # f-strings if node_match(ast.JoinedStr) and ( inst_match("LOAD_ATTR", argval="join") or inst_match(("LIST_APPEND", "CALL")) ): return if node_match(ast.FormattedValue) and inst_match("FORMAT_VALUE"): return if sys.version_info >= (3, 13): if inst_match("NOP"): return if inst_match("TO_BOOL") and node_match(ast.BoolOp): return if inst_match("CALL_KW") and node_match((ast.Call, ast.ClassDef)): return if inst_match("LOAD_FAST", argval=".type_params"): return if inst_match("LOAD_FAST", argval="__classdict__"): return if inst_match("LOAD_FAST") and node_match( ( ast.FunctionDef, ast.ClassDef, ast.TypeAlias, ast.TypeVar, ast.Lambda, ast.AsyncFunctionDef, ) ): # These are loads for closure variables. # It is difficult to check that this is actually closure variable, see: # https://github.com/alexmojaki/executing/pull/80#discussion_r1716027317 return if ( inst_match("LOAD_FAST") and node_match(ast.TypeAlias) and node.name.id == instruction.argval ): return if inst_match("STORE_NAME",argval="__static_attributes__"): # the node is the first node in the body return if inst_match("LOAD_FAST") and isinstance(node.parent,ast.TypeVar): return # old verifier typ: Type = type(None) op_type: Type = type(None) if op_name.startswith(("BINARY_SUBSCR", "SLICE+")): typ = ast.Subscript ctx = ast.Load elif op_name.startswith("BINARY_"): typ = ast.BinOp op_type = op_type_map[instruction.argrepr] extra_filter = lambda e: isinstance(cast(ast.BinOp, e).op, op_type) elif op_name.startswith("UNARY_"): typ = ast.UnaryOp op_type = dict( UNARY_POSITIVE=ast.UAdd, UNARY_NEGATIVE=ast.USub, UNARY_NOT=ast.Not, UNARY_INVERT=ast.Invert, )[op_name] extra_filter = lambda e: isinstance(cast(ast.UnaryOp, e).op, op_type) elif op_name in ("LOAD_ATTR", "LOAD_METHOD", "LOOKUP_METHOD","LOAD_SUPER_ATTR"): typ = ast.Attribute ctx = ast.Load extra_filter = lambda e: mangled_name(e) == instruction.argval elif op_name in ( "LOAD_NAME", "LOAD_GLOBAL", "LOAD_FAST", "LOAD_DEREF", "LOAD_CLASSDEREF", ): typ = ast.Name ctx = ast.Load extra_filter = lambda e: cast(ast.Name, e).id == instruction.argval elif op_name in ("COMPARE_OP", "IS_OP", "CONTAINS_OP"): typ = ast.Compare extra_filter = lambda e: len(cast(ast.Compare, e).ops) == 1 elif op_name.startswith(("STORE_SLICE", "STORE_SUBSCR")): ctx = ast.Store typ = ast.Subscript elif op_name.startswith("STORE_ATTR"): ctx = ast.Store typ = ast.Attribute extra_filter = lambda e: mangled_name(e) == instruction.argval node_ctx = getattr(node, "ctx", None) ctx_match = ( ctx is not type(None) or not hasattr(node, "ctx") or isinstance(node_ctx, ctx) ) # check for old verifier if isinstance(node, typ) and ctx_match and extra_filter(node): return # generate error title = "ast.%s is not created from %s" % ( type(node).__name__, instruction.opname, ) > raise VerifierFailure(title, node, instruction) E executing._exceptions.VerifierFailure: ast.Name is not created from CALL executing/_position_node_finder.py:878: VerifierFailure ----------------------------- Captured stdout call ----------------------------- check /builddir/build/BUILD/python-executing-2.1.0-build/executing-2.1.0/tests/small_samples/ea94f24a1d9b57c7a7d62c428082790caae2fa16429db2e58b2f4addb67a1964.py VerifierFailure: ast.Name is not created from CALL instruction: CALL 2 node: Name(id='open_with_encoding_check', ctx=Load(), lineno=18, col_offset=9, end_lineno=18, end_col_offset=33) parent node: withitem source code: 14: # 15: 16: def read_source_file(filename): 17: from lib2to3.pgen2.tokenize import cookie_re 18: with open_with_encoding_check as f: 19: [cookie_re for i, line in enumerate] None bytecode: =============================== warnings summary =============================== tests/test_main.py::test_small_samples[4851dc1b626a95e97dbe0c53f96099d165b755dd1bd552c6ca771f7bca6d30f5.py] /builddir/build/BUILD/python-executing-2.1.0-build/executing-2.1.0/tests/small_samples/4851dc1b626a95e97dbe0c53f96099d165b755dd1bd552c6ca771f7bca6d30f5.py:16: SyntaxWarning: "is" with 'int' literal. Did you mean "=="? if 1 < 1 > 1 == 1 >= 1 <= 1 != 1 in 1 not in 1 is 1 is not 1: -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html =========================== short test summary info ============================ FAILED tests/test_main.py::TestStuff::test_iter - executing._exceptions.Verif... FAILED tests/test_main.py::TestStuff::test_with - executing._exceptions.Verif... FAILED tests/test_main.py::test_small_samples[0675309754ba4277c9cb3c52d7131377fe69c7744a271e2b7471917dabb5aaa1.py] FAILED tests/test_main.py::test_small_samples[2fa69a57eb3b16f9ce0d5be427ad471c93a54c6d7e68b5be024b6a046ecc6bb2.py] FAILED tests/test_main.py::test_small_samples[635d56ede8cbcb2824d42291eb9fe9288d5f09c768636aaa19984ffdfc91e9fe.py] FAILED tests/test_main.py::test_small_samples[c9b64c28f424df67919f825adf4f93dfa774463768fc26cd36964121d34e28dd.py] FAILED tests/test_main.py::test_small_samples[ea94f24a1d9b57c7a7d62c428082790caae2fa16429db2e58b2f4addb67a1964.py] ============ 7 failed, 184 passed, 17 skipped, 1 warning in 11.23s ============= py313: exit 1 (11.76 seconds) /builddir/build/BUILD/python-executing-2.1.0-build/executing-2.1.0> pytest tests pid=251 py313: FAIL code 1 (11.77 seconds) evaluation failed :( (11.82 seconds) RPM build errors: error: Bad exit status from /var/tmp/rpm-tmp.xet3PM (%check) Bad exit status from /var/tmp/rpm-tmp.xet3PM (%check) Finish: rpmbuild python-executing-2.1.0-1.fc42.src.rpm Finish: build phase for python-executing-2.1.0-1.fc42.src.rpm INFO: chroot_scan: 1 files copied to /var/lib/copr-rpmbuild/results/chroot_scan INFO: /var/lib/mock/fedora-rawhide-x86_64-1726140563.494066/root/var/log/dnf5.log ERROR: Exception(/var/lib/copr-rpmbuild/results/python-executing-2.1.0-1.fc42.src.rpm) Config(fedora-rawhide-x86_64) 0 minutes 33 seconds INFO: Results and/or logs in: /var/lib/copr-rpmbuild/results INFO: Cleaning up build root ('cleanup_on_failure=True') Start: clean chroot INFO: unmounting tmpfs. Finish: clean chroot ERROR: Command failed: # /usr/bin/systemd-nspawn -q -M 7ce22c394029448aa7860abe95a05b23 -D /var/lib/mock/fedora-rawhide-x86_64-1726140563.494066/root -a -u mockbuild --capability=cap_ipc_lock --rlimit=RLIMIT_NOFILE=10240 --capability=cap_ipc_lock --bind=/tmp/mock-resolv.30lvdsre:/etc/resolv.conf --bind=/dev/btrfs-control --bind=/dev/mapper/control --bind=/dev/fuse --bind=/dev/loop-control --bind=/dev/loop0 --bind=/dev/loop1 --bind=/dev/loop2 --bind=/dev/loop3 --bind=/dev/loop4 --bind=/dev/loop5 --bind=/dev/loop6 --bind=/dev/loop7 --bind=/dev/loop8 --bind=/dev/loop9 --bind=/dev/loop10 --bind=/dev/loop11 --console=pipe --setenv=TERM=vt100 --setenv=SHELL=/bin/bash --setenv=HOME=/builddir --setenv=HOSTNAME=mock --setenv=PATH=/usr/bin:/bin:/usr/sbin:/sbin '--setenv=PROMPT_COMMAND=printf "\033]0;\007"' '--setenv=PS1= \s-\v\$ ' --setenv=LANG=C.UTF-8 --resolv-conf=off bash --login -c '/usr/bin/rpmbuild -ba --noprep --target x86_64 /builddir/build/originals/python-executing.spec' Copr build error: Build failed