Running as unit: rb-build-arm64_6-80258.service ==================================================================================== Sat Feb 22 08:46:02 UTC 2025 - running /srv/jenkins/bin/reproducible_build.sh (for job reproducible_builder_arm64_6) on jenkins, called using "codethink03-arm64 codethink04-arm64" as arguments. Sat Feb 22 08:46:02 UTC 2025 - actually running "reproducible_build.sh" (md5sum 68e686e434c9ab7bc3ec047d8b309cbc) as "/tmp/jenkins-script-c326QZhq" $ git clone https://salsa.debian.org/qa/jenkins.debian.net.git ; more CONTRIBUTING Sat Feb 22 08:46:02 UTC 2025 - checking /var/lib/jenkins/offline_nodes if codethink03-arm64.debian.net is marked as down. Sat Feb 22 08:46:02 UTC 2025 - checking via ssh if codethink03-arm64.debian.net is up. removed '/tmp/read-only-fs-test-2o7Kz1' Sat Feb 22 08:46:03 UTC 2025 - checking /var/lib/jenkins/offline_nodes if codethink04-arm64.debian.net is marked as down. Sat Feb 22 08:46:03 UTC 2025 - checking via ssh if codethink04-arm64.debian.net is up. removed '/tmp/read-only-fs-test-qM0M6r' ok, let's check if python-beniget is building anywhere yet… ok, python-beniget is not building anywhere… UPDATE 1 ============================================================================= Initialising reproducibly build of python-beniget in unstable on arm64 on jenkins now. 1st build will be done on codethink03-arm64.debian.net. 2nd build will be done on codethink04-arm64.debian.net. ============================================================================= Sat Feb 22 08:46:11 UTC 2025 I: starting to build python-beniget/unstable/arm64 on jenkins on '2025-02-22 08:46' Sat Feb 22 08:46:11 UTC 2025 I: The jenkins build log is/was available at https://jenkins.debian.net/userContent/reproducible/debian/build_service/arm64_6/80258/console.log 1740213971 arm64 unstable python-beniget Sat Feb 22 08:46:11 UTC 2025 I: Downloading source for unstable/python-beniget=0.4.1-3 --2025-02-22 08:46:11-- http://deb.debian.org/debian/pool/main/p/python-beniget/python-beniget_0.4.1-3.dsc Connecting to 46.16.76.132:3128... connected. Proxy request sent, awaiting response... 200 OK Length: 1524 (1.5K) [text/prs.lines.tag] Saving to: ‘python-beniget_0.4.1-3.dsc’ 0K . 100% 4.06M=0s 2025-02-22 08:46:11 (4.06 MB/s) - ‘python-beniget_0.4.1-3.dsc’ saved [1524/1524] --2025-02-22 08:46:11-- http://deb.debian.org/debian/pool/main/p/python-beniget/python-beniget_0.4.1-3.dsc Connecting to 46.16.76.132:3128... connected. Proxy request sent, awaiting response... 200 OK Length: 1524 (1.5K) [text/prs.lines.tag] Saving to: ‘python-beniget_0.4.1-3.dsc’ 0K . 100% 4.06M=0s 2025-02-22 08:46:11 (4.06 MB/s) - ‘python-beniget_0.4.1-3.dsc’ saved [1524/1524] Sat Feb 22 08:46:11 UTC 2025 I: python-beniget_0.4.1-3.dsc -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 Format: 3.0 (quilt) Source: python-beniget Binary: python3-beniget Architecture: all Version: 0.4.1-3 Maintainer: Debian Python Team Uploaders: Diego M. Rodriguez Homepage: https://github.com/serge-sans-paille/beniget Standards-Version: 4.6.0 Vcs-Browser: https://salsa.debian.org/python-team/packages/python-beniget Vcs-Git: https://salsa.debian.org/python-team/packages/python-beniget.git Testsuite: autopkgtest, autopkgtest-pkg-python Testsuite-Triggers: python3-all Build-Depends: debhelper-compat (= 13), dh-python, python3-all, python3-gast, python3-setuptools Package-List: python3-beniget deb python optional arch=all Checksums-Sha1: d353c329c50677c73543a725ce7e7df69a4373bc 16353 python-beniget_0.4.1.orig.tar.gz b4a607a2cacade45432eafb49ad1571217d5e5a6 2688 python-beniget_0.4.1-3.debian.tar.xz Checksums-Sha256: d0f1c9de50ae5ba57b8185db0ade2514c0760dbd92bcb02b8d075dfcde15aa15 16353 python-beniget_0.4.1.orig.tar.gz 6333e189bb6c2705922a73724f46b32a5bb133011a4ed34023b434ee14990828 2688 python-beniget_0.4.1-3.debian.tar.xz Files: 0b6b55daf2313f04f7759cfeac46a448 16353 python-beniget_0.4.1.orig.tar.gz ec343eed217ee94e9247ff7c7ff660db 2688 python-beniget_0.4.1-3.debian.tar.xz -----BEGIN PGP SIGNATURE----- iHUEARYKAB0WIQTKp0AHB6gWsCAvw830JXpQshz6hQUCY4u7uwAKCRD0JXpQshz6 hR2sAQCEP3pzMgdlCzP3CJe3KbI/JjOaibB9bs8RRXIZvQCF1gEA3qcj71hFUa5A 2+9KSzIixmdxV05DhB7kyhR7z7WmJw4= =ePG7 -----END PGP SIGNATURE----- Sat Feb 22 08:46:11 UTC 2025 I: Checking whether the package is not for us Sat Feb 22 08:46:11 UTC 2025 I: Starting 1st build on remote node codethink03-arm64.debian.net. Sat Feb 22 08:46:11 UTC 2025 I: Preparing to do remote build '1' on codethink03-arm64.debian.net. Sat Feb 22 08:46:11 UTC 2025 - checking /var/lib/jenkins/offline_nodes if codethink03-arm64.debian.net is marked as down. Sat Feb 22 08:46:11 UTC 2025 - checking via ssh if codethink03-arm64.debian.net is up. removed '/tmp/read-only-fs-test-8yIPtw' ==================================================================================== Fri Mar 27 15:09:12 UTC 2026 - running /srv/jenkins/bin/reproducible_build.sh (for job /srv/jenkins/bin/reproducible_build.sh) on codethink03-arm64, called using "1 python-beniget unstable /srv/reproducible-results/rbuild-debian/r-b-build.SfomDQJQ 0.4.1-3" as arguments. Fri Mar 27 15:09:12 UTC 2026 - actually running "reproducible_build.sh" (md5sum 68e686e434c9ab7bc3ec047d8b309cbc) as "/tmp/jenkins-script-n1HN2UdW" $ git clone https://salsa.debian.org/qa/jenkins.debian.net.git ; more CONTRIBUTING Fri Mar 27 15:09:12 UTC 2026 I: Downloading source for unstable/python-beniget=0.4.1-3 Reading package lists... NOTICE: 'python-beniget' packaging is maintained in the 'Git' version control system at: https://salsa.debian.org/python-team/packages/python-beniget.git Please use: git clone https://salsa.debian.org/python-team/packages/python-beniget.git to retrieve the latest (possibly unreleased) updates to the package. Need to get 20.6 kB of source archives. Get:1 http://deb.debian.org/debian unstable/main python-beniget 0.4.1-3 (dsc) [1524 B] Get:2 http://deb.debian.org/debian unstable/main python-beniget 0.4.1-3 (tar) [16.4 kB] Get:3 http://deb.debian.org/debian unstable/main python-beniget 0.4.1-3 (diff) [2688 B] Fetched 20.6 kB in 0s (199 kB/s) Download complete and in download only mode Reading package lists... NOTICE: 'python-beniget' packaging is maintained in the 'Git' version control system at: https://salsa.debian.org/python-team/packages/python-beniget.git Please use: git clone https://salsa.debian.org/python-team/packages/python-beniget.git to retrieve the latest (possibly unreleased) updates to the package. Need to get 20.6 kB of source archives. Get:1 http://deb.debian.org/debian unstable/main python-beniget 0.4.1-3 (dsc) [1524 B] Get:2 http://deb.debian.org/debian unstable/main python-beniget 0.4.1-3 (tar) [16.4 kB] Get:3 http://deb.debian.org/debian unstable/main python-beniget 0.4.1-3 (diff) [2688 B] Fetched 20.6 kB in 0s (199 kB/s) Download complete and in download only mode ============================================================================= Building python-beniget in unstable on arm64 on codethink03-arm64 now. Date: Fri Mar 27 15:09:13 GMT 2026 Date UTC: Fri Mar 27 15:09:13 UTC 2026 ============================================================================= W: /root/.pbuilderrc does not exist I: Logging to b1/build.log I: pbuilder: network access will be disabled during build I: Current time: Fri Mar 27 03:09:13 -12 2026 I: pbuilder-time-stamp: 1774624153 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/unstable-reproducible-base.tgz] I: copying local configuration W: --override-config is not set; not updating apt.conf Read the manpage for details. I: mounting /proc filesystem I: mounting /sys filesystem I: creating /{dev,run}/shm I: mounting /dev/pts filesystem I: redirecting /dev/ptmx to /dev/pts/ptmx I: policy-rc.d already exists I: Copying source file I: copying [python-beniget_0.4.1-3.dsc] I: copying [./python-beniget_0.4.1.orig.tar.gz] I: copying [./python-beniget_0.4.1-3.debian.tar.xz] I: Extracting source dpkg-source: warning: cannot verify inline signature for ./python-beniget_0.4.1-3.dsc: unsupported subcommand dpkg-source: info: extracting python-beniget in python-beniget-0.4.1 dpkg-source: info: unpacking python-beniget_0.4.1.orig.tar.gz dpkg-source: info: unpacking python-beniget_0.4.1-3.debian.tar.xz I: Not using root during the build. I: Installing the build-deps I: user script /srv/workspace/pbuilder/2439922/tmp/hooks/D02_print_environment starting I: set BUILDDIR='/build/reproducible-path' BUILDUSERGECOS='first user,first room,first work-phone,first home-phone,first other' BUILDUSERNAME='pbuilder1' BUILD_ARCH='arm64' DEBIAN_FRONTEND='noninteractive' DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=12 ' DISTRIBUTION='unstable' HOME='/root' HOST_ARCH='arm64' IFS=' ' INVOCATION_ID='dcdedd017b184c9dac818187c27893d5' LANG='C' LANGUAGE='en_US:en' LC_ALL='C' MAIL='/var/mail/root' OPTIND='1' PATH='/usr/sbin:/usr/bin:/sbin:/bin:/usr/games' PBCURRENTCOMMANDLINEOPERATION='build' PBUILDER_OPERATION='build' PBUILDER_PKGDATADIR='/usr/share/pbuilder' PBUILDER_PKGLIBDIR='/usr/lib/pbuilder' PBUILDER_SYSCONFDIR='/etc' PPID='2439922' PS1='# ' PS2='> ' PS4='+ ' PWD='/' SHELL='/bin/bash' SHLVL='2' SUDO_COMMAND='/usr/bin/timeout -k 18.1h 18h /usr/bin/ionice -c 3 /usr/bin/nice /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.SfomDQJQ/pbuilderrc_OgtD --distribution unstable --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/unstable-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.SfomDQJQ/b1 --logfile b1/build.log python-beniget_0.4.1-3.dsc' SUDO_GID='109' SUDO_UID='104' SUDO_USER='jenkins' TERM='unknown' TZ='/usr/share/zoneinfo/Etc/GMT+12' USER='root' _='/usr/bin/systemd-run' http_proxy='http://192.168.101.4:3128' I: uname -a Linux codethink03-arm64 6.1.0-31-cloud-arm64 #1 SMP Debian 6.1.128-1 (2025-02-07) aarch64 GNU/Linux I: ls -l /bin lrwxrwxrwx 1 root root 7 Nov 22 2024 /bin -> usr/bin I: user script /srv/workspace/pbuilder/2439922/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy Version: 0.invalid.0 Architecture: arm64 Maintainer: Debian Pbuilder Team Description: Dummy package to satisfy dependencies with aptitude - created by pbuilder This package was created automatically by pbuilder to satisfy the build-dependencies of the package being currently built. Depends: debhelper-compat (= 13), dh-python, python3-all, python3-gast, python3-setuptools dpkg-deb: building package 'pbuilder-satisfydepends-dummy' in '/tmp/satisfydepends-aptitude/pbuilder-satisfydepends-dummy.deb'. Selecting previously unselected package pbuilder-satisfydepends-dummy. (Reading database ... 19889 files and directories currently installed.) Preparing to unpack .../pbuilder-satisfydepends-dummy.deb ... Unpacking pbuilder-satisfydepends-dummy (0.invalid.0) ... dpkg: pbuilder-satisfydepends-dummy: dependency problems, but configuring anyway as you requested: pbuilder-satisfydepends-dummy depends on debhelper-compat (= 13); however: Package debhelper-compat is not installed. pbuilder-satisfydepends-dummy depends on dh-python; however: Package dh-python is not installed. pbuilder-satisfydepends-dummy depends on python3-all; however: Package python3-all is not installed. pbuilder-satisfydepends-dummy depends on python3-gast; however: Package python3-gast is not installed. pbuilder-satisfydepends-dummy depends on python3-setuptools; however: Package python3-setuptools is not installed. Setting up pbuilder-satisfydepends-dummy (0.invalid.0) ... Reading package lists... Building dependency tree... Reading state information... Initializing package states... Writing extended state information... Building tag database... pbuilder-satisfydepends-dummy is already installed at the requested version (0.invalid.0) pbuilder-satisfydepends-dummy is already installed at the requested version (0.invalid.0) The following NEW packages will be installed: autoconf{a} automake{a} autopoint{a} autotools-dev{a} bsdextrautils{a} debhelper{a} dh-autoreconf{a} dh-python{a} dh-strip-nondeterminism{a} dwz{a} file{a} gettext{a} gettext-base{a} groff-base{a} intltool-debian{a} libarchive-zip-perl{a} libcom-err2{a} libdebhelper-perl{a} libelf1t64{a} libexpat1{a} libffi8{a} libfile-stripnondeterminism-perl{a} libgssapi-krb5-2{a} libicu72{a} libk5crypto3{a} libkeyutils1{a} libkrb5-3{a} libkrb5support0{a} libmagic-mgc{a} libmagic1t64{a} libnsl2{a} libpipeline1{a} libpython3-stdlib{a} libpython3.12-minimal{a} libpython3.12-stdlib{a} libpython3.13-minimal{a} libpython3.13-stdlib{a} libreadline8t64{a} libtirpc-common{a} libtirpc3t64{a} libtool{a} libuchardet0{a} libunistring5{a} libxml2{a} m4{a} man-db{a} media-types{a} netbase{a} po-debconf{a} python3{a} python3-all{a} python3-autocommand{a} python3-gast{a} python3-inflect{a} python3-jaraco.context{a} python3-jaraco.functools{a} python3-jaraco.text{a} python3-minimal{a} python3-more-itertools{a} python3-pkg-resources{a} python3-setuptools{a} python3-typeguard{a} python3-typing-extensions{a} python3-zipp{a} python3.12{a} python3.12-minimal{a} python3.13{a} python3.13-minimal{a} readline-common{a} sensible-utils{a} tzdata{a} The following packages are RECOMMENDED but will NOT be installed: ca-certificates curl krb5-locales libarchive-cpio-perl libltdl-dev libmail-sendmail-perl lynx wget 0 packages upgraded, 71 newly installed, 0 to remove and 0 not upgraded. Need to get 33.7 MB of archives. After unpacking 142 MB will be used. Writing extended state information... Get: 1 http://deb.debian.org/debian unstable/main arm64 libpython3.13-minimal arm64 3.13.2-1 [853 kB] Get: 2 http://deb.debian.org/debian unstable/main arm64 libexpat1 arm64 2.6.4-1 [90.7 kB] Get: 3 http://deb.debian.org/debian unstable/main arm64 python3.13-minimal arm64 3.13.2-1 [1997 kB] Get: 4 http://deb.debian.org/debian unstable/main arm64 python3-minimal arm64 3.13.1-2 [27.0 kB] Get: 5 http://deb.debian.org/debian unstable/main arm64 media-types all 11.0.0 [27.6 kB] Get: 6 http://deb.debian.org/debian unstable/main arm64 netbase all 6.4 [12.8 kB] Get: 7 http://deb.debian.org/debian unstable/main arm64 tzdata all 2025a-2 [259 kB] Get: 8 http://deb.debian.org/debian unstable/main arm64 libffi8 arm64 3.4.7-1 [21.2 kB] Get: 9 http://deb.debian.org/debian unstable/main arm64 readline-common all 8.2-6 [69.4 kB] Get: 10 http://deb.debian.org/debian unstable/main arm64 libreadline8t64 arm64 8.2-6 [159 kB] Get: 11 http://deb.debian.org/debian unstable/main arm64 libpython3.13-stdlib arm64 3.13.2-1 [1914 kB] Get: 12 http://deb.debian.org/debian unstable/main arm64 python3.13 arm64 3.13.2-1 [745 kB] Get: 13 http://deb.debian.org/debian unstable/main arm64 libpython3-stdlib arm64 3.13.1-2 [9952 B] Get: 14 http://deb.debian.org/debian unstable/main arm64 python3 arm64 3.13.1-2 [28.0 kB] Get: 15 http://deb.debian.org/debian unstable/main arm64 libpython3.12-minimal arm64 3.12.9-1 [810 kB] Get: 16 http://deb.debian.org/debian unstable/main arm64 python3.12-minimal arm64 3.12.9-1 [1941 kB] Get: 17 http://deb.debian.org/debian unstable/main arm64 sensible-utils all 0.0.24 [24.8 kB] Get: 18 http://deb.debian.org/debian unstable/main arm64 libmagic-mgc arm64 1:5.45-3+b1 [314 kB] Get: 19 http://deb.debian.org/debian unstable/main arm64 libmagic1t64 arm64 1:5.45-3+b1 [102 kB] Get: 20 http://deb.debian.org/debian unstable/main arm64 file arm64 1:5.45-3+b1 [43.4 kB] Get: 21 http://deb.debian.org/debian unstable/main arm64 gettext-base arm64 0.23.1-1 [241 kB] Get: 22 http://deb.debian.org/debian unstable/main arm64 libuchardet0 arm64 0.0.8-1+b2 [69.2 kB] Get: 23 http://deb.debian.org/debian unstable/main arm64 groff-base arm64 1.23.0-7 [1129 kB] Get: 24 http://deb.debian.org/debian unstable/main arm64 bsdextrautils arm64 2.40.4-4 [92.1 kB] Get: 25 http://deb.debian.org/debian unstable/main arm64 libpipeline1 arm64 1.5.8-1 [40.2 kB] Get: 26 http://deb.debian.org/debian unstable/main arm64 man-db arm64 2.13.0-1 [1404 kB] Get: 27 http://deb.debian.org/debian unstable/main arm64 m4 arm64 1.4.19-5 [284 kB] Get: 28 http://deb.debian.org/debian unstable/main arm64 autoconf all 2.72-3 [493 kB] Get: 29 http://deb.debian.org/debian unstable/main arm64 autotools-dev all 20220109.1 [51.6 kB] Get: 30 http://deb.debian.org/debian unstable/main arm64 automake all 1:1.17-3 [862 kB] Get: 31 http://deb.debian.org/debian unstable/main arm64 autopoint all 0.23.1-1 [770 kB] Get: 32 http://deb.debian.org/debian unstable/main arm64 libdebhelper-perl all 13.24.1 [90.9 kB] Get: 33 http://deb.debian.org/debian unstable/main arm64 libtool all 2.5.4-3 [539 kB] Get: 34 http://deb.debian.org/debian unstable/main arm64 dh-autoreconf all 20 [17.1 kB] Get: 35 http://deb.debian.org/debian unstable/main arm64 libarchive-zip-perl all 1.68-1 [104 kB] Get: 36 http://deb.debian.org/debian unstable/main arm64 libfile-stripnondeterminism-perl all 1.14.1-2 [19.7 kB] Get: 37 http://deb.debian.org/debian unstable/main arm64 dh-strip-nondeterminism all 1.14.1-2 [8620 B] Get: 38 http://deb.debian.org/debian unstable/main arm64 libelf1t64 arm64 0.192-4 [189 kB] Get: 39 http://deb.debian.org/debian unstable/main arm64 dwz arm64 0.15-1+b1 [102 kB] Get: 40 http://deb.debian.org/debian unstable/main arm64 libunistring5 arm64 1.3-1 [449 kB] Get: 41 http://deb.debian.org/debian unstable/main arm64 libicu72 arm64 72.1-6 [9239 kB] Get: 42 http://deb.debian.org/debian unstable/main arm64 libxml2 arm64 2.12.7+dfsg+really2.9.14-0.2+b1 [630 kB] Get: 43 http://deb.debian.org/debian unstable/main arm64 gettext arm64 0.23.1-1 [1610 kB] Get: 44 http://deb.debian.org/debian unstable/main arm64 intltool-debian all 0.35.0+20060710.6 [22.9 kB] Get: 45 http://deb.debian.org/debian unstable/main arm64 po-debconf all 1.0.21+nmu1 [248 kB] Get: 46 http://deb.debian.org/debian unstable/main arm64 debhelper all 13.24.1 [920 kB] Get: 47 http://deb.debian.org/debian unstable/main arm64 python3-autocommand all 2.2.2-3 [13.6 kB] Get: 48 http://deb.debian.org/debian unstable/main arm64 python3-more-itertools all 10.6.0-1 [65.3 kB] Get: 49 http://deb.debian.org/debian unstable/main arm64 python3-typing-extensions all 4.12.2-2 [73.0 kB] Get: 50 http://deb.debian.org/debian unstable/main arm64 python3-typeguard all 4.4.1-1 [37.0 kB] Get: 51 http://deb.debian.org/debian unstable/main arm64 python3-inflect all 7.3.1-2 [32.4 kB] Get: 52 http://deb.debian.org/debian unstable/main arm64 python3-jaraco.context all 6.0.0-1 [7984 B] Get: 53 http://deb.debian.org/debian unstable/main arm64 python3-jaraco.functools all 4.1.0-1 [12.0 kB] Get: 54 http://deb.debian.org/debian unstable/main arm64 python3-pkg-resources all 75.8.0-1 [222 kB] Get: 55 http://deb.debian.org/debian unstable/main arm64 python3-jaraco.text all 4.0.0-1 [11.4 kB] Get: 56 http://deb.debian.org/debian unstable/main arm64 python3-zipp all 3.21.0-1 [10.6 kB] Get: 57 http://deb.debian.org/debian unstable/main arm64 python3-setuptools all 75.8.0-1 [724 kB] Get: 58 http://deb.debian.org/debian unstable/main arm64 dh-python all 6.20250108 [113 kB] Get: 59 http://deb.debian.org/debian unstable/main arm64 libcom-err2 arm64 1.47.2-1 [23.9 kB] Get: 60 http://deb.debian.org/debian unstable/main arm64 libkrb5support0 arm64 1.21.3-4 [32.2 kB] Get: 61 http://deb.debian.org/debian unstable/main arm64 libk5crypto3 arm64 1.21.3-4 [81.5 kB] Get: 62 http://deb.debian.org/debian unstable/main arm64 libkeyutils1 arm64 1.6.3-4 [9352 B] Get: 63 http://deb.debian.org/debian unstable/main arm64 libkrb5-3 arm64 1.21.3-4 [308 kB] Get: 64 http://deb.debian.org/debian unstable/main arm64 libgssapi-krb5-2 arm64 1.21.3-4 [127 kB] Get: 65 http://deb.debian.org/debian unstable/main arm64 libtirpc-common all 1.3.4+ds-1.3 [10.9 kB] Get: 66 http://deb.debian.org/debian unstable/main arm64 libtirpc3t64 arm64 1.3.4+ds-1.3+b1 [78.7 kB] Get: 67 http://deb.debian.org/debian unstable/main arm64 libnsl2 arm64 1.3.0-3+b3 [37.9 kB] Get: 68 http://deb.debian.org/debian unstable/main arm64 libpython3.12-stdlib arm64 3.12.9-1 [1909 kB] Get: 69 http://deb.debian.org/debian unstable/main arm64 python3.12 arm64 3.12.9-1 [681 kB] Get: 70 http://deb.debian.org/debian unstable/main arm64 python3-all arm64 3.13.1-2 [1056 B] Get: 71 http://deb.debian.org/debian unstable/main arm64 python3-gast all 0.6.0-1 [18.7 kB] Fetched 33.7 MB in 0s (76.8 MB/s) Preconfiguring packages ... Selecting previously unselected package libpython3.13-minimal:arm64. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 19889 files and directories currently installed.) Preparing to unpack .../libpython3.13-minimal_3.13.2-1_arm64.deb ... Unpacking libpython3.13-minimal:arm64 (3.13.2-1) ... Selecting previously unselected package libexpat1:arm64. Preparing to unpack .../libexpat1_2.6.4-1_arm64.deb ... Unpacking libexpat1:arm64 (2.6.4-1) ... Selecting previously unselected package python3.13-minimal. Preparing to unpack .../python3.13-minimal_3.13.2-1_arm64.deb ... Unpacking python3.13-minimal (3.13.2-1) ... Setting up libpython3.13-minimal:arm64 (3.13.2-1) ... Setting up libexpat1:arm64 (2.6.4-1) ... Setting up python3.13-minimal (3.13.2-1) ... Selecting previously unselected package python3-minimal. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 20223 files and directories currently installed.) Preparing to unpack .../0-python3-minimal_3.13.1-2_arm64.deb ... Unpacking python3-minimal (3.13.1-2) ... Selecting previously unselected package media-types. Preparing to unpack .../1-media-types_11.0.0_all.deb ... Unpacking media-types (11.0.0) ... Selecting previously unselected package netbase. Preparing to unpack .../2-netbase_6.4_all.deb ... Unpacking netbase (6.4) ... Selecting previously unselected package tzdata. Preparing to unpack .../3-tzdata_2025a-2_all.deb ... Unpacking tzdata (2025a-2) ... Selecting previously unselected package libffi8:arm64. Preparing to unpack .../4-libffi8_3.4.7-1_arm64.deb ... Unpacking libffi8:arm64 (3.4.7-1) ... Selecting previously unselected package readline-common. Preparing to unpack .../5-readline-common_8.2-6_all.deb ... Unpacking readline-common (8.2-6) ... Selecting previously unselected package libreadline8t64:arm64. Preparing to unpack .../6-libreadline8t64_8.2-6_arm64.deb ... Adding 'diversion of /lib/aarch64-linux-gnu/libhistory.so.8 to /lib/aarch64-linux-gnu/libhistory.so.8.usr-is-merged by libreadline8t64' Adding 'diversion of /lib/aarch64-linux-gnu/libhistory.so.8.2 to /lib/aarch64-linux-gnu/libhistory.so.8.2.usr-is-merged by libreadline8t64' Adding 'diversion of /lib/aarch64-linux-gnu/libreadline.so.8 to /lib/aarch64-linux-gnu/libreadline.so.8.usr-is-merged by libreadline8t64' Adding 'diversion of /lib/aarch64-linux-gnu/libreadline.so.8.2 to /lib/aarch64-linux-gnu/libreadline.so.8.2.usr-is-merged by libreadline8t64' Unpacking libreadline8t64:arm64 (8.2-6) ... Selecting previously unselected package libpython3.13-stdlib:arm64. Preparing to unpack .../7-libpython3.13-stdlib_3.13.2-1_arm64.deb ... Unpacking libpython3.13-stdlib:arm64 (3.13.2-1) ... Selecting previously unselected package python3.13. Preparing to unpack .../8-python3.13_3.13.2-1_arm64.deb ... Unpacking python3.13 (3.13.2-1) ... Selecting previously unselected package libpython3-stdlib:arm64. Preparing to unpack .../9-libpython3-stdlib_3.13.1-2_arm64.deb ... Unpacking libpython3-stdlib:arm64 (3.13.1-2) ... Setting up python3-minimal (3.13.1-2) ... Selecting previously unselected package python3. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 21233 files and directories currently installed.) Preparing to unpack .../00-python3_3.13.1-2_arm64.deb ... Unpacking python3 (3.13.1-2) ... Selecting previously unselected package libpython3.12-minimal:arm64. Preparing to unpack .../01-libpython3.12-minimal_3.12.9-1_arm64.deb ... Unpacking libpython3.12-minimal:arm64 (3.12.9-1) ... Selecting previously unselected package python3.12-minimal. Preparing to unpack .../02-python3.12-minimal_3.12.9-1_arm64.deb ... Unpacking python3.12-minimal (3.12.9-1) ... Selecting previously unselected package sensible-utils. Preparing to unpack .../03-sensible-utils_0.0.24_all.deb ... Unpacking sensible-utils (0.0.24) ... Selecting previously unselected package libmagic-mgc. Preparing to unpack .../04-libmagic-mgc_1%3a5.45-3+b1_arm64.deb ... Unpacking libmagic-mgc (1:5.45-3+b1) ... Selecting previously unselected package libmagic1t64:arm64. Preparing to unpack .../05-libmagic1t64_1%3a5.45-3+b1_arm64.deb ... Unpacking libmagic1t64:arm64 (1:5.45-3+b1) ... Selecting previously unselected package file. Preparing to unpack .../06-file_1%3a5.45-3+b1_arm64.deb ... Unpacking file (1:5.45-3+b1) ... Selecting previously unselected package gettext-base. Preparing to unpack .../07-gettext-base_0.23.1-1_arm64.deb ... Unpacking gettext-base (0.23.1-1) ... Selecting previously unselected package libuchardet0:arm64. Preparing to unpack .../08-libuchardet0_0.0.8-1+b2_arm64.deb ... Unpacking libuchardet0:arm64 (0.0.8-1+b2) ... Selecting previously unselected package groff-base. Preparing to unpack .../09-groff-base_1.23.0-7_arm64.deb ... Unpacking groff-base (1.23.0-7) ... Selecting previously unselected package bsdextrautils. Preparing to unpack .../10-bsdextrautils_2.40.4-4_arm64.deb ... Unpacking bsdextrautils (2.40.4-4) ... Selecting previously unselected package libpipeline1:arm64. Preparing to unpack .../11-libpipeline1_1.5.8-1_arm64.deb ... Unpacking libpipeline1:arm64 (1.5.8-1) ... Selecting previously unselected package man-db. Preparing to unpack .../12-man-db_2.13.0-1_arm64.deb ... Unpacking man-db (2.13.0-1) ... Selecting previously unselected package m4. Preparing to unpack .../13-m4_1.4.19-5_arm64.deb ... Unpacking m4 (1.4.19-5) ... Selecting previously unselected package autoconf. Preparing to unpack .../14-autoconf_2.72-3_all.deb ... Unpacking autoconf (2.72-3) ... Selecting previously unselected package autotools-dev. Preparing to unpack .../15-autotools-dev_20220109.1_all.deb ... Unpacking autotools-dev (20220109.1) ... Selecting previously unselected package automake. Preparing to unpack .../16-automake_1%3a1.17-3_all.deb ... Unpacking automake (1:1.17-3) ... Selecting previously unselected package autopoint. Preparing to unpack .../17-autopoint_0.23.1-1_all.deb ... Unpacking autopoint (0.23.1-1) ... Selecting previously unselected package libdebhelper-perl. Preparing to unpack .../18-libdebhelper-perl_13.24.1_all.deb ... Unpacking libdebhelper-perl (13.24.1) ... Selecting previously unselected package libtool. Preparing to unpack .../19-libtool_2.5.4-3_all.deb ... Unpacking libtool (2.5.4-3) ... Selecting previously unselected package dh-autoreconf. Preparing to unpack .../20-dh-autoreconf_20_all.deb ... Unpacking dh-autoreconf (20) ... Selecting previously unselected package libarchive-zip-perl. Preparing to unpack .../21-libarchive-zip-perl_1.68-1_all.deb ... Unpacking libarchive-zip-perl (1.68-1) ... Selecting previously unselected package libfile-stripnondeterminism-perl. Preparing to unpack .../22-libfile-stripnondeterminism-perl_1.14.1-2_all.deb ... Unpacking libfile-stripnondeterminism-perl (1.14.1-2) ... Selecting previously unselected package dh-strip-nondeterminism. Preparing to unpack .../23-dh-strip-nondeterminism_1.14.1-2_all.deb ... Unpacking dh-strip-nondeterminism (1.14.1-2) ... Selecting previously unselected package libelf1t64:arm64. Preparing to unpack .../24-libelf1t64_0.192-4_arm64.deb ... Unpacking libelf1t64:arm64 (0.192-4) ... Selecting previously unselected package dwz. Preparing to unpack .../25-dwz_0.15-1+b1_arm64.deb ... Unpacking dwz (0.15-1+b1) ... Selecting previously unselected package libunistring5:arm64. Preparing to unpack .../26-libunistring5_1.3-1_arm64.deb ... Unpacking libunistring5:arm64 (1.3-1) ... Selecting previously unselected package libicu72:arm64. Preparing to unpack .../27-libicu72_72.1-6_arm64.deb ... Unpacking libicu72:arm64 (72.1-6) ... Selecting previously unselected package libxml2:arm64. Preparing to unpack .../28-libxml2_2.12.7+dfsg+really2.9.14-0.2+b1_arm64.deb ... Unpacking libxml2:arm64 (2.12.7+dfsg+really2.9.14-0.2+b1) ... Selecting previously unselected package gettext. Preparing to unpack .../29-gettext_0.23.1-1_arm64.deb ... Unpacking gettext (0.23.1-1) ... Selecting previously unselected package intltool-debian. Preparing to unpack .../30-intltool-debian_0.35.0+20060710.6_all.deb ... Unpacking intltool-debian (0.35.0+20060710.6) ... Selecting previously unselected package po-debconf. Preparing to unpack .../31-po-debconf_1.0.21+nmu1_all.deb ... Unpacking po-debconf (1.0.21+nmu1) ... Selecting previously unselected package debhelper. Preparing to unpack .../32-debhelper_13.24.1_all.deb ... Unpacking debhelper (13.24.1) ... Selecting previously unselected package python3-autocommand. Preparing to unpack .../33-python3-autocommand_2.2.2-3_all.deb ... Unpacking python3-autocommand (2.2.2-3) ... Selecting previously unselected package python3-more-itertools. Preparing to unpack .../34-python3-more-itertools_10.6.0-1_all.deb ... Unpacking python3-more-itertools (10.6.0-1) ... Selecting previously unselected package python3-typing-extensions. Preparing to unpack .../35-python3-typing-extensions_4.12.2-2_all.deb ... Unpacking python3-typing-extensions (4.12.2-2) ... Selecting previously unselected package python3-typeguard. Preparing to unpack .../36-python3-typeguard_4.4.1-1_all.deb ... Unpacking python3-typeguard (4.4.1-1) ... Selecting previously unselected package python3-inflect. Preparing to unpack .../37-python3-inflect_7.3.1-2_all.deb ... Unpacking python3-inflect (7.3.1-2) ... Selecting previously unselected package python3-jaraco.context. Preparing to unpack .../38-python3-jaraco.context_6.0.0-1_all.deb ... Unpacking python3-jaraco.context (6.0.0-1) ... Selecting previously unselected package python3-jaraco.functools. Preparing to unpack .../39-python3-jaraco.functools_4.1.0-1_all.deb ... Unpacking python3-jaraco.functools (4.1.0-1) ... Selecting previously unselected package python3-pkg-resources. Preparing to unpack .../40-python3-pkg-resources_75.8.0-1_all.deb ... Unpacking python3-pkg-resources (75.8.0-1) ... Selecting previously unselected package python3-jaraco.text. Preparing to unpack .../41-python3-jaraco.text_4.0.0-1_all.deb ... Unpacking python3-jaraco.text (4.0.0-1) ... Selecting previously unselected package python3-zipp. Preparing to unpack .../42-python3-zipp_3.21.0-1_all.deb ... Unpacking python3-zipp (3.21.0-1) ... Selecting previously unselected package python3-setuptools. Preparing to unpack .../43-python3-setuptools_75.8.0-1_all.deb ... Unpacking python3-setuptools (75.8.0-1) ... Selecting previously unselected package dh-python. Preparing to unpack .../44-dh-python_6.20250108_all.deb ... Unpacking dh-python (6.20250108) ... Selecting previously unselected package libcom-err2:arm64. Preparing to unpack .../45-libcom-err2_1.47.2-1_arm64.deb ... Unpacking libcom-err2:arm64 (1.47.2-1) ... Selecting previously unselected package libkrb5support0:arm64. Preparing to unpack .../46-libkrb5support0_1.21.3-4_arm64.deb ... Unpacking libkrb5support0:arm64 (1.21.3-4) ... Selecting previously unselected package libk5crypto3:arm64. Preparing to unpack .../47-libk5crypto3_1.21.3-4_arm64.deb ... Unpacking libk5crypto3:arm64 (1.21.3-4) ... Selecting previously unselected package libkeyutils1:arm64. Preparing to unpack .../48-libkeyutils1_1.6.3-4_arm64.deb ... Unpacking libkeyutils1:arm64 (1.6.3-4) ... Selecting previously unselected package libkrb5-3:arm64. Preparing to unpack .../49-libkrb5-3_1.21.3-4_arm64.deb ... Unpacking libkrb5-3:arm64 (1.21.3-4) ... Selecting previously unselected package libgssapi-krb5-2:arm64. Preparing to unpack .../50-libgssapi-krb5-2_1.21.3-4_arm64.deb ... Unpacking libgssapi-krb5-2:arm64 (1.21.3-4) ... Selecting previously unselected package libtirpc-common. Preparing to unpack .../51-libtirpc-common_1.3.4+ds-1.3_all.deb ... Unpacking libtirpc-common (1.3.4+ds-1.3) ... Selecting previously unselected package libtirpc3t64:arm64. Preparing to unpack .../52-libtirpc3t64_1.3.4+ds-1.3+b1_arm64.deb ... Adding 'diversion of /lib/aarch64-linux-gnu/libtirpc.so.3 to /lib/aarch64-linux-gnu/libtirpc.so.3.usr-is-merged by libtirpc3t64' Adding 'diversion of /lib/aarch64-linux-gnu/libtirpc.so.3.0.0 to /lib/aarch64-linux-gnu/libtirpc.so.3.0.0.usr-is-merged by libtirpc3t64' Unpacking libtirpc3t64:arm64 (1.3.4+ds-1.3+b1) ... Selecting previously unselected package libnsl2:arm64. Preparing to unpack .../53-libnsl2_1.3.0-3+b3_arm64.deb ... Unpacking libnsl2:arm64 (1.3.0-3+b3) ... Selecting previously unselected package libpython3.12-stdlib:arm64. Preparing to unpack .../54-libpython3.12-stdlib_3.12.9-1_arm64.deb ... Unpacking libpython3.12-stdlib:arm64 (3.12.9-1) ... Selecting previously unselected package python3.12. Preparing to unpack .../55-python3.12_3.12.9-1_arm64.deb ... Unpacking python3.12 (3.12.9-1) ... Selecting previously unselected package python3-all. Preparing to unpack .../56-python3-all_3.13.1-2_arm64.deb ... Unpacking python3-all (3.13.1-2) ... Selecting previously unselected package python3-gast. Preparing to unpack .../57-python3-gast_0.6.0-1_all.deb ... Unpacking python3-gast (0.6.0-1) ... Setting up media-types (11.0.0) ... Setting up libpipeline1:arm64 (1.5.8-1) ... Setting up libkeyutils1:arm64 (1.6.3-4) ... Setting up libicu72:arm64 (72.1-6) ... Setting up bsdextrautils (2.40.4-4) ... Setting up libmagic-mgc (1:5.45-3+b1) ... Setting up libarchive-zip-perl (1.68-1) ... Setting up libtirpc-common (1.3.4+ds-1.3) ... Setting up libdebhelper-perl (13.24.1) ... Setting up libmagic1t64:arm64 (1:5.45-3+b1) ... Setting up libpython3.12-minimal:arm64 (3.12.9-1) ... Setting up gettext-base (0.23.1-1) ... Setting up m4 (1.4.19-5) ... Setting up libcom-err2:arm64 (1.47.2-1) ... Setting up file (1:5.45-3+b1) ... Setting up libelf1t64:arm64 (0.192-4) ... Setting up libkrb5support0:arm64 (1.21.3-4) ... Setting up tzdata (2025a-2) ... Current default time zone: 'Etc/UTC' Local time is now: Fri Mar 27 15:09:31 UTC 2026. Universal Time is now: Fri Mar 27 15:09:31 UTC 2026. Run 'dpkg-reconfigure tzdata' if you wish to change it. Setting up autotools-dev (20220109.1) ... Setting up libunistring5:arm64 (1.3-1) ... Setting up autopoint (0.23.1-1) ... Setting up libk5crypto3:arm64 (1.21.3-4) ... Setting up autoconf (2.72-3) ... Setting up libffi8:arm64 (3.4.7-1) ... Setting up dwz (0.15-1+b1) ... Setting up sensible-utils (0.0.24) ... Setting up libuchardet0:arm64 (0.0.8-1+b2) ... Setting up netbase (6.4) ... Setting up libkrb5-3:arm64 (1.21.3-4) ... Setting up readline-common (8.2-6) ... Setting up libxml2:arm64 (2.12.7+dfsg+really2.9.14-0.2+b1) ... Setting up automake (1:1.17-3) ... update-alternatives: using /usr/bin/automake-1.17 to provide /usr/bin/automake (automake) in auto mode Setting up libfile-stripnondeterminism-perl (1.14.1-2) ... Setting up python3.12-minimal (3.12.9-1) ... Setting up gettext (0.23.1-1) ... Setting up libtool (2.5.4-3) ... Setting up intltool-debian (0.35.0+20060710.6) ... Setting up dh-autoreconf (20) ... Setting up libgssapi-krb5-2:arm64 (1.21.3-4) ... Setting up libreadline8t64:arm64 (8.2-6) ... Setting up dh-strip-nondeterminism (1.14.1-2) ... Setting up groff-base (1.23.0-7) ... Setting up libpython3.13-stdlib:arm64 (3.13.2-1) ... Setting up libpython3-stdlib:arm64 (3.13.1-2) ... Setting up libtirpc3t64:arm64 (1.3.4+ds-1.3+b1) ... Setting up python3.13 (3.13.2-1) ... Setting up po-debconf (1.0.21+nmu1) ... Setting up python3 (3.13.1-2) ... Setting up python3-zipp (3.21.0-1) ... Setting up python3-autocommand (2.2.2-3) ... Setting up man-db (2.13.0-1) ... Not building database; man-db/auto-update is not 'true'. Setting up python3-typing-extensions (4.12.2-2) ... Setting up libnsl2:arm64 (1.3.0-3+b3) ... Setting up python3-more-itertools (10.6.0-1) ... Setting up python3-jaraco.functools (4.1.0-1) ... Setting up libpython3.12-stdlib:arm64 (3.12.9-1) ... Setting up python3-jaraco.context (6.0.0-1) ... Setting up python3.12 (3.12.9-1) ... Setting up python3-typeguard (4.4.1-1) ... Setting up python3-gast (0.6.0-1) ... Setting up python3-all (3.13.1-2) ... Setting up debhelper (13.24.1) ... Setting up python3-inflect (7.3.1-2) ... Setting up python3-jaraco.text (4.0.0-1) ... Setting up python3-pkg-resources (75.8.0-1) ... Setting up python3-setuptools (75.8.0-1) ... Setting up dh-python (6.20250108) ... Processing triggers for libc-bin (2.40-7) ... Reading package lists... Building dependency tree... Reading state information... Reading extended state information... Initializing package states... Writing extended state information... Building tag database... -> Finished parsing the build-deps I: Building the package I: Running cd /build/reproducible-path/python-beniget-0.4.1/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-genchanges -S > ../python-beniget_0.4.1-3_source.changes dpkg-buildpackage: info: source package python-beniget dpkg-buildpackage: info: source version 0.4.1-3 dpkg-buildpackage: info: source distribution unstable dpkg-buildpackage: info: source changed by Louis-Philippe Véronneau dpkg-source --before-build . dpkg-buildpackage: info: host architecture arm64 debian/rules clean dh clean --with python3 --buildsystem=pybuild dh_auto_clean -O--buildsystem=pybuild I: pybuild base:311: python3.12 setup.py clean /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:270: UserWarning: Unknown distribution option: 'test_suite' warnings.warn(msg) running clean removing '/build/reproducible-path/python-beniget-0.4.1/.pybuild/cpython3_3.12_python-beniget/build' (and everything under it) 'build/bdist.linux-aarch64' does not exist -- can't clean it 'build/scripts-3.12' does not exist -- can't clean it I: pybuild base:311: python3.13 setup.py clean /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:270: UserWarning: Unknown distribution option: 'test_suite' warnings.warn(msg) running clean removing '/build/reproducible-path/python-beniget-0.4.1/.pybuild/cpython3_3.13_python-beniget/build' (and everything under it) 'build/bdist.linux-aarch64' does not exist -- can't clean it 'build/scripts-3.13' does not exist -- can't clean it dh_autoreconf_clean -O--buildsystem=pybuild dh_clean -O--buildsystem=pybuild debian/rules binary dh binary --with python3 --buildsystem=pybuild dh_update_autotools_config -O--buildsystem=pybuild dh_autoreconf -O--buildsystem=pybuild dh_auto_configure -O--buildsystem=pybuild I: pybuild base:311: python3.12 setup.py config /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:270: UserWarning: Unknown distribution option: 'test_suite' warnings.warn(msg) running config I: pybuild base:311: python3.13 setup.py config /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:270: UserWarning: Unknown distribution option: 'test_suite' warnings.warn(msg) running config dh_auto_build -O--buildsystem=pybuild I: pybuild base:311: /usr/bin/python3.12 setup.py build /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:270: UserWarning: Unknown distribution option: 'test_suite' warnings.warn(msg) running build running build_py creating /build/reproducible-path/python-beniget-0.4.1/.pybuild/cpython3_3.12_python-beniget/build/beniget copying beniget/beniget.py -> /build/reproducible-path/python-beniget-0.4.1/.pybuild/cpython3_3.12_python-beniget/build/beniget copying beniget/__init__.py -> /build/reproducible-path/python-beniget-0.4.1/.pybuild/cpython3_3.12_python-beniget/build/beniget I: pybuild base:311: /usr/bin/python3 setup.py build /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:270: UserWarning: Unknown distribution option: 'test_suite' warnings.warn(msg) running build running build_py creating /build/reproducible-path/python-beniget-0.4.1/.pybuild/cpython3_3.13_python-beniget/build/beniget copying beniget/beniget.py -> /build/reproducible-path/python-beniget-0.4.1/.pybuild/cpython3_3.13_python-beniget/build/beniget copying beniget/__init__.py -> /build/reproducible-path/python-beniget-0.4.1/.pybuild/cpython3_3.13_python-beniget/build/beniget debian/rules override_dh_auto_test make[1]: Entering directory '/build/reproducible-path/python-beniget-0.4.1' python3.12 -m unittest -v tests/*.py; python3.13 -m unittest -v tests/*.py; test_no_attribute (tests.attributes.TestAttributes.test_no_attribute) ... ok test_non_standard_self (tests.attributes.TestAttributes.test_non_standard_self) ... ok test_self_redefinition (tests.attributes.TestAttributes.test_self_redefinition) ... ok test_self_redefinition_in_args (tests.attributes.TestAttributes.test_self_redefinition_in_args) ... ok test_self_redefinition_in_both_branch (tests.attributes.TestAttributes.test_self_redefinition_in_both_branch) ... ok test_self_redefinition_in_branch_false (tests.attributes.TestAttributes.test_self_redefinition_in_branch_false) ... ok test_self_redefinition_in_branch_true (tests.attributes.TestAttributes.test_self_redefinition_in_branch_true) ... ok test_simple_attribute (tests.attributes.TestAttributes.test_simple_attribute) ... ok test_no_capture (tests.capture.TestCapture.test_no_capture) ... ok test_simple_capture (tests.capture.TestCapture.test_simple_capture) ... ok test_assign_in_loop (tests.chains.TestDefUseChains.test_assign_in_loop) ... ok test_assign_in_loop_in_conditional (tests.chains.TestDefUseChains.test_assign_in_loop_in_conditional) ... ok test_assign_in_while_in_conditional (tests.chains.TestDefUseChains.test_assign_in_while_in_conditional) ... ok test_attr (tests.chains.TestDefUseChains.test_attr) ... ok test_augassign (tests.chains.TestDefUseChains.test_augassign) ... ok test_augassign_in_loop (tests.chains.TestDefUseChains.test_augassign_in_loop) ... ok test_break_in_loop (tests.chains.TestDefUseChains.test_break_in_loop) ... ok test_class_annotation (tests.chains.TestDefUseChains.test_class_annotation) ... ok test_class_decorator (tests.chains.TestDefUseChains.test_class_decorator) ... ok test_complex_for_orelse (tests.chains.TestDefUseChains.test_complex_for_orelse) ... ok test_complex_while_orelse (tests.chains.TestDefUseChains.test_complex_while_orelse) ... ok test_continue_in_loop (tests.chains.TestDefUseChains.test_continue_in_loop) ... ok test_expanded_augassign (tests.chains.TestDefUseChains.test_expanded_augassign) ... ok test_expression_chain (tests.chains.TestDefUseChains.test_expression_chain) ... ok test_for_break (tests.chains.TestDefUseChains.test_for_break) ... ok test_for_pass (tests.chains.TestDefUseChains.test_for_pass) ... ok test_functiondef_returns (tests.chains.TestDefUseChains.test_functiondef_returns) ... ok test_if_both_branch (tests.chains.TestDefUseChains.test_if_both_branch) ... ok test_if_false_branch (tests.chains.TestDefUseChains.test_if_false_branch) ... ok test_if_in_loop (tests.chains.TestDefUseChains.test_if_in_loop) ... ok test_if_true_branch (tests.chains.TestDefUseChains.test_if_true_branch) ... ok test_ifexp_chain (tests.chains.TestDefUseChains.test_ifexp_chain) ... ok test_import_from (tests.chains.TestDefUseChains.test_import_from) ... ok test_import_from_as (tests.chains.TestDefUseChains.test_import_from_as) ... ok test_method_function_conflict (tests.chains.TestDefUseChains.test_method_function_conflict) ... ok test_multiple_import_as (tests.chains.TestDefUseChains.test_multiple_import_as) ... ok test_multiple_import_from_as (tests.chains.TestDefUseChains.test_multiple_import_from_as) ... ok test_named_expr_complex (tests.chains.TestDefUseChains.test_named_expr_complex) ... ok test_named_expr_simple (tests.chains.TestDefUseChains.test_named_expr_simple) ... ok test_named_expr_with_rename (tests.chains.TestDefUseChains.test_named_expr_with_rename) ... ok test_nested_if (tests.chains.TestDefUseChains.test_nested_if) ... ok test_nested_if_else (tests.chains.TestDefUseChains.test_nested_if_else) ... ok test_nested_while (tests.chains.TestDefUseChains.test_nested_while) ... ok test_reassign_in_loop (tests.chains.TestDefUseChains.test_reassign_in_loop) ... ok test_redef_try_except (tests.chains.TestDefUseChains.test_redef_try_except) ... ok test_simple_except (tests.chains.TestDefUseChains.test_simple_except) ... ok test_simple_expression (tests.chains.TestDefUseChains.test_simple_expression) ... ok test_simple_for (tests.chains.TestDefUseChains.test_simple_for) ... ok test_simple_for_orelse (tests.chains.TestDefUseChains.test_simple_for_orelse) ... ok test_simple_import (tests.chains.TestDefUseChains.test_simple_import) ... ok test_simple_import_as (tests.chains.TestDefUseChains.test_simple_import_as) ... ok test_simple_print (tests.chains.TestDefUseChains.test_simple_print) ... ok test_simple_redefinition (tests.chains.TestDefUseChains.test_simple_redefinition) ... ok test_simple_try (tests.chains.TestDefUseChains.test_simple_try) ... ok test_simple_try_except (tests.chains.TestDefUseChains.test_simple_try_except) ... ok test_simple_while (tests.chains.TestDefUseChains.test_simple_while) ... ok test_star_import_with_conditional_redef (tests.chains.TestDefUseChains.test_star_import_with_conditional_redef) ... ok test_try_except (tests.chains.TestDefUseChains.test_try_except) ... ok test_type_destructuring_for (tests.chains.TestDefUseChains.test_type_destructuring_for) ... ok test_type_destructuring_list (tests.chains.TestDefUseChains.test_type_destructuring_list) ... ok test_type_destructuring_tuple (tests.chains.TestDefUseChains.test_type_destructuring_tuple) ... ok test_unbound_identifier_message_format (tests.chains.TestDefUseChains.test_unbound_identifier_message_format) ... ok test_while_break (tests.chains.TestDefUseChains.test_while_break) ... ok test_while_cond_break (tests.chains.TestDefUseChains.test_while_cond_break) ... ok test_while_cond_continue (tests.chains.TestDefUseChains.test_while_cond_continue) ... ok test_while_nested_break (tests.chains.TestDefUseChains.test_while_nested_break) ... ok test_while_orelse_break (tests.chains.TestDefUseChains.test_while_orelse_break) ... ok test_with_handler (tests.chains.TestDefUseChains.test_with_handler) ... ok test_call (tests.chains.TestUseDefChains.test_call) ... ok test_simple_expression (tests.chains.TestUseDefChains.test_simple_expression) ... ok test_class_method_assign (tests.definitions.TestClasses.test_class_method_assign) ... ok testAsyncFunctionDef (tests.definitions.TestGlobals.testAsyncFunctionDef) ... ok testClassDef (tests.definitions.TestGlobals.testClassDef) ... ok testClassMethodDef (tests.definitions.TestGlobals.testClassMethodDef) ... ok testClassRedefinition (tests.definitions.TestGlobals.testClassRedefinition) ... ok testDelClassDef (tests.definitions.TestGlobals.testDelClassDef) ... ok testDelClassDefReDef (tests.definitions.TestGlobals.testDelClassDefReDef) ... ok testFuntionNested (tests.definitions.TestGlobals.testFuntionNested) ... ok testFuntionRedefinion (tests.definitions.TestGlobals.testFuntionRedefinion) ... ok testGlobalAfterKeyword (tests.definitions.TestGlobals.testGlobalAfterKeyword) ... ok testGlobalAnnotatedDef (tests.definitions.TestGlobals.testGlobalAnnotatedDef) ... ok testGlobalAsyncFor (tests.definitions.TestGlobals.testGlobalAsyncFor) ... ok testGlobalAsyncWith (tests.definitions.TestGlobals.testGlobalAsyncWith) ... ok testGlobalAugAssign (tests.definitions.TestGlobals.testGlobalAugAssign) ... ok testGlobalBeforeKeyword (tests.definitions.TestGlobals.testGlobalBeforeKeyword) ... ok testGlobalDef (tests.definitions.TestGlobals.testGlobalDef) ... ok testGlobalDestructuring (tests.definitions.TestGlobals.testGlobalDestructuring) ... ok testGlobalDictComp (tests.definitions.TestGlobals.testGlobalDictComp) ... ok testGlobalFor (tests.definitions.TestGlobals.testGlobalFor) ... ok testGlobalForDestructuring (tests.definitions.TestGlobals.testGlobalForDestructuring) ... ok testGlobalGeneratorExpr (tests.definitions.TestGlobals.testGlobalGeneratorExpr) ... ok testGlobalImport (tests.definitions.TestGlobals.testGlobalImport) ... ok testGlobalImportAs (tests.definitions.TestGlobals.testGlobalImportAs) ... ok testGlobalImportFrom (tests.definitions.TestGlobals.testGlobalImportFrom) ... ok testGlobalImportFromAs (tests.definitions.TestGlobals.testGlobalImportFromAs) ... ok testGlobalImportFromStar (tests.definitions.TestGlobals.testGlobalImportFromStar) ... ok testGlobalImportFromStarRedefine (tests.definitions.TestGlobals.testGlobalImportFromStarRedefine) ... ok testGlobalImportSubModule (tests.definitions.TestGlobals.testGlobalImportSubModule) ... ok testGlobalImportSubModuleAs (tests.definitions.TestGlobals.testGlobalImportSubModuleAs) ... ok testGlobalImports (tests.definitions.TestGlobals.testGlobalImports) ... ok testGlobalImportsAs (tests.definitions.TestGlobals.testGlobalImportsAs) ... ok testGlobalImportsFrom (tests.definitions.TestGlobals.testGlobalImportsFrom) ... ok testGlobalImportsFromAs (tests.definitions.TestGlobals.testGlobalImportsFromAs) ... ok testGlobalInFor (tests.definitions.TestGlobals.testGlobalInFor) ... ok testGlobalInIfBothBranch (tests.definitions.TestGlobals.testGlobalInIfBothBranch) ... ok testGlobalInIfBothBranchDifferent (tests.definitions.TestGlobals.testGlobalInIfBothBranchDifferent) ... ok testGlobalInIfFalseBranch (tests.definitions.TestGlobals.testGlobalInIfFalseBranch) ... ok testGlobalInIfTrueBranch (tests.definitions.TestGlobals.testGlobalInIfTrueBranch) ... ok testGlobalInWhile (tests.definitions.TestGlobals.testGlobalInWhile) ... ok testGlobalLambda (tests.definitions.TestGlobals.testGlobalLambda) ... ok testGlobalListComp (tests.definitions.TestGlobals.testGlobalListComp) ... ok testGlobalNestedFor (tests.definitions.TestGlobals.testGlobalNestedFor) ... ok testGlobalSetComp (tests.definitions.TestGlobals.testGlobalSetComp) ... ok testGlobalThroughKeyword (tests.definitions.TestGlobals.testGlobalThroughKeyword) ... ok testGlobalThroughKeywords (tests.definitions.TestGlobals.testGlobalThroughKeywords) ... ok testGlobalThroughMultipleKeyword (tests.definitions.TestGlobals.testGlobalThroughMultipleKeyword) ... ok testGlobalTry (tests.definitions.TestGlobals.testGlobalTry) ... ok testGlobalTryExcept (tests.definitions.TestGlobals.testGlobalTryExcept) ... ok testGlobalTryExceptFinally (tests.definitions.TestGlobals.testGlobalTryExceptFinally) ... ok testGlobalWith (tests.definitions.TestGlobals.testGlobalWith) ... ok testGlobalsAfterKeyword (tests.definitions.TestGlobals.testGlobalsAfterKeyword) ... ok testGlobalsBeforeKeyword (tests.definitions.TestGlobals.testGlobalsBeforeKeyword) ... ok testMultipleClassDef (tests.definitions.TestGlobals.testMultipleClassDef) ... ok testMultipleGlobalDef (tests.definitions.TestGlobals.testMultipleGlobalDef) ... ok testNestedClassDef (tests.definitions.TestGlobals.testNestedClassDef) ... ok test_MultipleFunctionDef (tests.definitions.TestGlobals.test_MultipleFunctionDef) ... ok test_SingleFunctionDef (tests.definitions.TestGlobals.test_SingleFunctionDef) ... ok testLocalFunctionDef (tests.definitions.TestLocals.testLocalFunctionDef) ... ok testLocalFunctionDefArgsDefault (tests.definitions.TestLocals.testLocalFunctionDefArgsDefault) ... ok testLocalFunctionDefKwArgs (tests.definitions.TestLocals.testLocalFunctionDefKwArgs) ... ok testLocalFunctionDefKwOnly (tests.definitions.TestLocals.testLocalFunctionDefKwOnly) ... ok testLocalFunctionDefOneArg (tests.definitions.TestLocals.testLocalFunctionDefOneArg) ... ok testLocalFunctionDefOneArgDefault (tests.definitions.TestLocals.testLocalFunctionDefOneArgDefault) ... ok testLocalFunctionDefStarArgs (tests.definitions.TestLocals.testLocalFunctionDefStarArgs) ... ok test_AugAssignInLoop (tests.definitions.TestLocals.test_AugAssignInLoop) ... ok test_IfInWhile (tests.definitions.TestLocals.test_IfInWhile) ... ok test_ListCompInLoop (tests.definitions.TestLocals.test_ListCompInLoop) ... ok test_LocalAssign (tests.definitions.TestLocals.test_LocalAssign) ... ok test_LocalAssignRedef (tests.definitions.TestLocals.test_LocalAssignRedef) ... ok test_LocalGlobal (tests.definitions.TestLocals.test_LocalGlobal) ... ok test_LocalNestedFun (tests.definitions.TestLocals.test_LocalNestedFun) ... ok test_LocalNonLocalAfter (tests.definitions.TestLocals.test_LocalNonLocalAfter) ... ok test_LocalNonLocalBefore (tests.definitions.TestLocals.test_LocalNonLocalBefore) ... ok test_beniget_documentation (tests.doc.TestDoctest.test_beniget_documentation) ... ok test_beniget_readme (tests.doc.TestDoctest.test_beniget_readme) ... Trying: import gast as ast Expecting nothing ok Trying: code = 'def foo(x): return x + 1' Expecting nothing ok Trying: module = ast.parse(code) Expecting nothing ok Trying: from beniget import Ancestors Expecting nothing ok Trying: ancestors = Ancestors() Expecting nothing ok Trying: ancestors.visit(module) Expecting nothing ok Trying: binop = module.body[0].body[0].value Expecting nothing ok Trying: for n in ancestors.parents(binop): print(type(n)) Expecting: ok Trying: import gast as ast Expecting nothing ok Trying: module = ast.parse("from b import c, d; c()") Expecting nothing ok Trying: duc = DefUseChains() Expecting nothing ok Trying: duc.visit(module) Expecting nothing ok Trying: for head in duc.locals[module]: print("{}: {}".format(head.name(), len(head.users()))) Expecting: c: 1 d: 0 ok Trying: alias_def = duc.chains[module.body[0].names[0]] Expecting nothing ok Trying: print(alias_def) Expecting: c -> (c -> (Call -> ())) ok 94 items had no tests: beniget.beniget beniget.beniget.Ancestors.__init__ beniget.beniget.Ancestors.generic_visit beniget.beniget.Ancestors.parent beniget.beniget.Ancestors.parentFunction beniget.beniget.Ancestors.parentInstance beniget.beniget.Ancestors.parentStmt beniget.beniget.Ancestors.parents beniget.beniget.CollectGlobals beniget.beniget.CollectGlobals.__init__ beniget.beniget.CollectGlobals.visit_Global beniget.beniget.Def beniget.beniget.Def.__init__ beniget.beniget.Def.__repr__ beniget.beniget.Def.__str__ beniget.beniget.Def._repr beniget.beniget.Def._str beniget.beniget.Def.add_user beniget.beniget.Def.name beniget.beniget.Def.users beniget.beniget.DefUseChains.CompDefinitionContext beniget.beniget.DefUseChains.DefinitionContext beniget.beniget.DefUseChains.__init__ beniget.beniget.DefUseChains.add_to_definition beniget.beniget.DefUseChains.defs beniget.beniget.DefUseChains.dump_chains beniget.beniget.DefUseChains.dump_definitions beniget.beniget.DefUseChains.extend_definition beniget.beniget.DefUseChains.lookup_identifier beniget.beniget.DefUseChains.process_body beniget.beniget.DefUseChains.process_undefs beniget.beniget.DefUseChains.set_definition beniget.beniget.DefUseChains.unbound_identifier beniget.beniget.DefUseChains.visit_AnnAssign beniget.beniget.DefUseChains.visit_Assert beniget.beniget.DefUseChains.visit_Assign beniget.beniget.DefUseChains.visit_AugAssign beniget.beniget.DefUseChains.visit_Await beniget.beniget.DefUseChains.visit_BinOp beniget.beniget.DefUseChains.visit_BoolOp beniget.beniget.DefUseChains.visit_Break beniget.beniget.DefUseChains.visit_Call beniget.beniget.DefUseChains.visit_ClassDef beniget.beniget.DefUseChains.visit_Compare beniget.beniget.DefUseChains.visit_Constant beniget.beniget.DefUseChains.visit_Continue beniget.beniget.DefUseChains.visit_Delete beniget.beniget.DefUseChains.visit_Destructured beniget.beniget.DefUseChains.visit_Dict beniget.beniget.DefUseChains.visit_DictComp beniget.beniget.DefUseChains.visit_Exec beniget.beniget.DefUseChains.visit_Expr beniget.beniget.DefUseChains.visit_For beniget.beniget.DefUseChains.visit_FormattedValue beniget.beniget.DefUseChains.visit_FunctionDef beniget.beniget.DefUseChains.visit_Global beniget.beniget.DefUseChains.visit_If beniget.beniget.DefUseChains.visit_IfExp beniget.beniget.DefUseChains.visit_Import beniget.beniget.DefUseChains.visit_ImportFrom beniget.beniget.DefUseChains.visit_JoinedStr beniget.beniget.DefUseChains.visit_Lambda beniget.beniget.DefUseChains.visit_List beniget.beniget.DefUseChains.visit_ListComp beniget.beniget.DefUseChains.visit_Module beniget.beniget.DefUseChains.visit_Name beniget.beniget.DefUseChains.visit_NamedExpr beniget.beniget.DefUseChains.visit_Nonlocal beniget.beniget.DefUseChains.visit_Print beniget.beniget.DefUseChains.visit_Raise beniget.beniget.DefUseChains.visit_Return beniget.beniget.DefUseChains.visit_Set beniget.beniget.DefUseChains.visit_Slice beniget.beniget.DefUseChains.visit_Subscript beniget.beniget.DefUseChains.visit_Try beniget.beniget.DefUseChains.visit_UnaryOp beniget.beniget.DefUseChains.visit_While beniget.beniget.DefUseChains.visit_With beniget.beniget.DefUseChains.visit_Yield beniget.beniget.DefUseChains.visit_arguments beniget.beniget.DefUseChains.visit_comprehension beniget.beniget.DefUseChains.visit_excepthandler beniget.beniget.DefUseChains.visit_withitem beniget.beniget.UseDefChains beniget.beniget.UseDefChains.__init__ beniget.beniget.UseDefChains.__str__ beniget.beniget.ordered_set beniget.beniget.ordered_set.__add__ beniget.beniget.ordered_set.__contains__ beniget.beniget.ordered_set.__init__ beniget.beniget.ordered_set.__iter__ beniget.beniget.ordered_set.__len__ beniget.beniget.ordered_set.add beniget.beniget.ordered_set.update 2 items passed all tests: 8 tests in beniget.beniget.Ancestors 7 tests in beniget.beniget.DefUseChains 15 tests in 96 items. 15 passed and 0 failed. Test passed. Trying: import beniget, gast as ast Expecting nothing ok Trying: code = "from math import cos, sin; print(cos(3))" Expecting nothing ok Trying: module = ast.parse(code) Expecting nothing ok Trying: duc = beniget.DefUseChains() Expecting nothing ok Trying: duc.visit(module) Expecting nothing ok Trying: imported = module.body[0].names Expecting nothing ok Trying: for name in imported: ud = duc.chains[name] if not ud.users(): print("Unused import: {}".format(ud.name())) Expecting: Unused import: sin ok Trying: code = """ nice = lambda x: x @nice def aw(): pass def some(): pass""" Expecting nothing ok Trying: module = ast.parse(code) Expecting nothing ok Trying: duc = beniget.DefUseChains() Expecting nothing ok Trying: duc.visit(module) Expecting nothing ok Trying: ancestors = beniget.Ancestors() Expecting nothing ok Trying: ancestors.visit(module) Expecting nothing ok Trying: nice = [d for d in duc.locals[module] if d.name() == "nice"][0] Expecting nothing ok Trying: for use in nice.users(): # we're interested in the parent of the decorator parents = ancestors.parents(use.node) # direct parent of the decorator is the function fdef = parents[-1] print(fdef.name) Expecting: aw ok Trying: import gast as ast Expecting nothing ok Trying: import beniget Expecting nothing ok Trying: class Attributes(ast.NodeVisitor): def __init__(self, module_node): # compute the def-use of the module self.chains = beniget.DefUseChains() self.chains.visit(module_node) self.users = set() # all users of `self` self.attributes = set() # attributes of current class def visit_ClassDef(self, node): # walk methods and fill users of `self` for stmt in node.body: if isinstance(stmt, ast.FunctionDef): self_def = self.chains.chains[stmt.args.args[0]] self.users.update(use.node for use in self_def.users()) self.generic_visit(node) def visit_Attribute(self, node): # any attribute of `self` is registered if node.value in self.users: self.attributes.add(node.attr) Expecting nothing ok Trying: code = "class My(object):\n def __init__(self, x): self.x = x" Expecting nothing ok Trying: module = ast.parse(code) Expecting nothing ok Trying: classdef = module.body[0] Expecting nothing ok Trying: attr = Attributes(module) Expecting nothing ok Trying: attr.visit(classdef) Expecting nothing ok Trying: list(attr.attributes) Expecting: ['x'] ok Trying: import gast as ast Expecting nothing ok ---------------------------------------------------------------------- Ran 145 tests in 0.144s OK ok Trying: import beniget Expecting nothing ok Trying: class Capture(ast.NodeVisitor): def __init__(self, module_node): # initialize def-use chains self.chains = beniget.DefUseChains() self.chains.visit(module_node) self.users = set() # users of local definitions self.captured = set() # identifiers that don't belong to local users def visit_FunctionDef(self, node): # initialize the set of node using a local variable for def_ in self.chains.locals[node]: self.users.update(use.node for use in def_.users()) self.generic_visit(node) def visit_Name(self, node): # register load of identifiers not locally definied if isinstance(node.ctx, ast.Load): if node not in self.users: self.captured.add(node.id) Expecting nothing ok Trying: code = 'def foo(x):\n def bar(): return x\n return bar' Expecting nothing ok Trying: module = ast.parse(code) Expecting nothing ok Trying: inner_function = module.body[0].body[0] Expecting nothing ok Trying: capture = Capture(module) Expecting nothing ok Trying: capture.visit(inner_function) Expecting nothing ok Trying: list(capture.captured) Expecting: ['x'] ok Trying: import gast as ast Expecting nothing ok Trying: import beniget Expecting nothing ok Trying: class CaptureX(ast.NodeVisitor): def __init__(self, module_node, fun): self.fun = fun # initialize use-def chains du = beniget.DefUseChains() du.visit(module_node) self.chains = beniget.UseDefChains(du) self.ancestors = beniget.Ancestors() self.ancestors.visit(module_node) self.external = list() self.visited_external = set() def visit_Name(self, node): # register load of identifiers not locally defined if isinstance(node.ctx, ast.Load): uses = self.chains.chains[node] for use in uses: try: parents = self.ancestors.parents(use.node) except KeyError: return # a builtin if self.fun not in parents: parent = self.ancestors.parentStmt(use.node) if parent not in self.visited_external: self.visited_external.add(parent) self.external.append(parent) self.rec(parent) def rec(self, node): "walk definitions to find their operands's def" if isinstance(node, ast.Assign): self.visit(node.value) # TODO: implement this for AugAssign etc Expecting nothing ok Trying: code = 'a = 1; b = [a, a]; c = len(b)\ndef foo():\n return c' Expecting nothing ok Trying: module = ast.parse(code) Expecting nothing ok Trying: function = module.body[3] Expecting nothing ok Trying: capturex = CaptureX(module, function) Expecting nothing ok Trying: capturex.visit(function) Expecting nothing ok Trying: list(map(type, capturex.external)) Expecting: [, , ] ok 1 items passed all tests: 42 tests in README.rst 42 tests in 1 items. 42 passed and 0 failed. Test passed. test_no_attribute (tests.attributes.TestAttributes.test_no_attribute) ... ok test_non_standard_self (tests.attributes.TestAttributes.test_non_standard_self) ... ok test_self_redefinition (tests.attributes.TestAttributes.test_self_redefinition) ... ok test_self_redefinition_in_args (tests.attributes.TestAttributes.test_self_redefinition_in_args) ... ok test_self_redefinition_in_both_branch (tests.attributes.TestAttributes.test_self_redefinition_in_both_branch) ... ok test_self_redefinition_in_branch_false (tests.attributes.TestAttributes.test_self_redefinition_in_branch_false) ... ok test_self_redefinition_in_branch_true (tests.attributes.TestAttributes.test_self_redefinition_in_branch_true) ... ok test_simple_attribute (tests.attributes.TestAttributes.test_simple_attribute) ... ok test_no_capture (tests.capture.TestCapture.test_no_capture) ... ok test_simple_capture (tests.capture.TestCapture.test_simple_capture) ... ok test_assign_in_loop (tests.chains.TestDefUseChains.test_assign_in_loop) ... ok test_assign_in_loop_in_conditional (tests.chains.TestDefUseChains.test_assign_in_loop_in_conditional) ... ok test_assign_in_while_in_conditional (tests.chains.TestDefUseChains.test_assign_in_while_in_conditional) ... ok test_attr (tests.chains.TestDefUseChains.test_attr) ... ok test_augassign (tests.chains.TestDefUseChains.test_augassign) ... ok test_augassign_in_loop (tests.chains.TestDefUseChains.test_augassign_in_loop) ... ok test_break_in_loop (tests.chains.TestDefUseChains.test_break_in_loop) ... ok test_class_annotation (tests.chains.TestDefUseChains.test_class_annotation) ... ok test_class_decorator (tests.chains.TestDefUseChains.test_class_decorator) ... ok test_complex_for_orelse (tests.chains.TestDefUseChains.test_complex_for_orelse) ... ok test_complex_while_orelse (tests.chains.TestDefUseChains.test_complex_while_orelse) ... ok test_continue_in_loop (tests.chains.TestDefUseChains.test_continue_in_loop) ... ok test_expanded_augassign (tests.chains.TestDefUseChains.test_expanded_augassign) ... ok test_expression_chain (tests.chains.TestDefUseChains.test_expression_chain) ... ok test_for_break (tests.chains.TestDefUseChains.test_for_break) ... ok test_for_pass (tests.chains.TestDefUseChains.test_for_pass) ... ok test_functiondef_returns (tests.chains.TestDefUseChains.test_functiondef_returns) ... ok test_if_both_branch (tests.chains.TestDefUseChains.test_if_both_branch) ... ok test_if_false_branch (tests.chains.TestDefUseChains.test_if_false_branch) ... ok test_if_in_loop (tests.chains.TestDefUseChains.test_if_in_loop) ... ok test_if_true_branch (tests.chains.TestDefUseChains.test_if_true_branch) ... ok test_ifexp_chain (tests.chains.TestDefUseChains.test_ifexp_chain) ... ok test_import_from (tests.chains.TestDefUseChains.test_import_from) ... ok test_import_from_as (tests.chains.TestDefUseChains.test_import_from_as) ... ok test_method_function_conflict (tests.chains.TestDefUseChains.test_method_function_conflict) ... ok test_multiple_import_as (tests.chains.TestDefUseChains.test_multiple_import_as) ... ok test_multiple_import_from_as (tests.chains.TestDefUseChains.test_multiple_import_from_as) ... ok test_named_expr_complex (tests.chains.TestDefUseChains.test_named_expr_complex) ... ok test_named_expr_simple (tests.chains.TestDefUseChains.test_named_expr_simple) ... ok test_named_expr_with_rename (tests.chains.TestDefUseChains.test_named_expr_with_rename) ... ok test_nested_if (tests.chains.TestDefUseChains.test_nested_if) ... ok test_nested_if_else (tests.chains.TestDefUseChains.test_nested_if_else) ... ok test_nested_while (tests.chains.TestDefUseChains.test_nested_while) ... ok test_reassign_in_loop (tests.chains.TestDefUseChains.test_reassign_in_loop) ... ok test_redef_try_except (tests.chains.TestDefUseChains.test_redef_try_except) ... ok test_simple_except (tests.chains.TestDefUseChains.test_simple_except) ... ok test_simple_expression (tests.chains.TestDefUseChains.test_simple_expression) ... ok test_simple_for (tests.chains.TestDefUseChains.test_simple_for) ... ok test_simple_for_orelse (tests.chains.TestDefUseChains.test_simple_for_orelse) ... ok test_simple_import (tests.chains.TestDefUseChains.test_simple_import) ... ok test_simple_import_as (tests.chains.TestDefUseChains.test_simple_import_as) ... ok test_simple_print (tests.chains.TestDefUseChains.test_simple_print) ... ok test_simple_redefinition (tests.chains.TestDefUseChains.test_simple_redefinition) ... ok test_simple_try (tests.chains.TestDefUseChains.test_simple_try) ... ok test_simple_try_except (tests.chains.TestDefUseChains.test_simple_try_except) ... ok test_simple_while (tests.chains.TestDefUseChains.test_simple_while) ... ok test_star_import_with_conditional_redef (tests.chains.TestDefUseChains.test_star_import_with_conditional_redef) ... ok test_try_except (tests.chains.TestDefUseChains.test_try_except) ... ok test_type_destructuring_for (tests.chains.TestDefUseChains.test_type_destructuring_for) ... ok test_type_destructuring_list (tests.chains.TestDefUseChains.test_type_destructuring_list) ... ok test_type_destructuring_tuple (tests.chains.TestDefUseChains.test_type_destructuring_tuple) ... ok test_unbound_identifier_message_format (tests.chains.TestDefUseChains.test_unbound_identifier_message_format) ... ok test_while_break (tests.chains.TestDefUseChains.test_while_break) ... ok test_while_cond_break (tests.chains.TestDefUseChains.test_while_cond_break) ... ok test_while_cond_continue (tests.chains.TestDefUseChains.test_while_cond_continue) ... ok test_while_nested_break (tests.chains.TestDefUseChains.test_while_nested_break) ... ok test_while_orelse_break (tests.chains.TestDefUseChains.test_while_orelse_break) ... ok test_with_handler (tests.chains.TestDefUseChains.test_with_handler) ... ok test_call (tests.chains.TestUseDefChains.test_call) ... ok test_simple_expression (tests.chains.TestUseDefChains.test_simple_expression) ... ok test_class_method_assign (tests.definitions.TestClasses.test_class_method_assign) ... ok testAsyncFunctionDef (tests.definitions.TestGlobals.testAsyncFunctionDef) ... ok testClassDef (tests.definitions.TestGlobals.testClassDef) ... ok testClassMethodDef (tests.definitions.TestGlobals.testClassMethodDef) ... ok testClassRedefinition (tests.definitions.TestGlobals.testClassRedefinition) ... ok testDelClassDef (tests.definitions.TestGlobals.testDelClassDef) ... ok testDelClassDefReDef (tests.definitions.TestGlobals.testDelClassDefReDef) ... ok testFuntionNested (tests.definitions.TestGlobals.testFuntionNested) ... ok testFuntionRedefinion (tests.definitions.TestGlobals.testFuntionRedefinion) ... ok testGlobalAfterKeyword (tests.definitions.TestGlobals.testGlobalAfterKeyword) ... ok testGlobalAnnotatedDef (tests.definitions.TestGlobals.testGlobalAnnotatedDef) ... ok testGlobalAsyncFor (tests.definitions.TestGlobals.testGlobalAsyncFor) ... ok testGlobalAsyncWith (tests.definitions.TestGlobals.testGlobalAsyncWith) ... ok testGlobalAugAssign (tests.definitions.TestGlobals.testGlobalAugAssign) ... ok testGlobalBeforeKeyword (tests.definitions.TestGlobals.testGlobalBeforeKeyword) ... ok testGlobalDef (tests.definitions.TestGlobals.testGlobalDef) ... ok testGlobalDestructuring (tests.definitions.TestGlobals.testGlobalDestructuring) ... ok testGlobalDictComp (tests.definitions.TestGlobals.testGlobalDictComp) ... ok testGlobalFor (tests.definitions.TestGlobals.testGlobalFor) ... ok testGlobalForDestructuring (tests.definitions.TestGlobals.testGlobalForDestructuring) ... ok testGlobalGeneratorExpr (tests.definitions.TestGlobals.testGlobalGeneratorExpr) ... ok testGlobalImport (tests.definitions.TestGlobals.testGlobalImport) ... ok testGlobalImportAs (tests.definitions.TestGlobals.testGlobalImportAs) ... ok testGlobalImportFrom (tests.definitions.TestGlobals.testGlobalImportFrom) ... ok testGlobalImportFromAs (tests.definitions.TestGlobals.testGlobalImportFromAs) ... ok testGlobalImportFromStar (tests.definitions.TestGlobals.testGlobalImportFromStar) ... ok testGlobalImportFromStarRedefine (tests.definitions.TestGlobals.testGlobalImportFromStarRedefine) ... ok testGlobalImportSubModule (tests.definitions.TestGlobals.testGlobalImportSubModule) ... ok testGlobalImportSubModuleAs (tests.definitions.TestGlobals.testGlobalImportSubModuleAs) ... ok testGlobalImports (tests.definitions.TestGlobals.testGlobalImports) ... ok testGlobalImportsAs (tests.definitions.TestGlobals.testGlobalImportsAs) ... ok testGlobalImportsFrom (tests.definitions.TestGlobals.testGlobalImportsFrom) ... ok testGlobalImportsFromAs (tests.definitions.TestGlobals.testGlobalImportsFromAs) ... ok testGlobalInFor (tests.definitions.TestGlobals.testGlobalInFor) ... ok testGlobalInIfBothBranch (tests.definitions.TestGlobals.testGlobalInIfBothBranch) ... ok testGlobalInIfBothBranchDifferent (tests.definitions.TestGlobals.testGlobalInIfBothBranchDifferent) ... ok testGlobalInIfFalseBranch (tests.definitions.TestGlobals.testGlobalInIfFalseBranch) ... ok testGlobalInIfTrueBranch (tests.definitions.TestGlobals.testGlobalInIfTrueBranch) ... ok testGlobalInWhile (tests.definitions.TestGlobals.testGlobalInWhile) ... ok testGlobalLambda (tests.definitions.TestGlobals.testGlobalLambda) ... ok testGlobalListComp (tests.definitions.TestGlobals.testGlobalListComp) ... ok testGlobalNestedFor (tests.definitions.TestGlobals.testGlobalNestedFor) ... ok testGlobalSetComp (tests.definitions.TestGlobals.testGlobalSetComp) ... ok testGlobalThroughKeyword (tests.definitions.TestGlobals.testGlobalThroughKeyword) ... ok testGlobalThroughKeywords (tests.definitions.TestGlobals.testGlobalThroughKeywords) ... ok testGlobalThroughMultipleKeyword (tests.definitions.TestGlobals.testGlobalThroughMultipleKeyword) ... ok testGlobalTry (tests.definitions.TestGlobals.testGlobalTry) ... ok testGlobalTryExcept (tests.definitions.TestGlobals.testGlobalTryExcept) ... ok testGlobalTryExceptFinally (tests.definitions.TestGlobals.testGlobalTryExceptFinally) ... ok testGlobalWith (tests.definitions.TestGlobals.testGlobalWith) ... ok testGlobalsAfterKeyword (tests.definitions.TestGlobals.testGlobalsAfterKeyword) ... ok testGlobalsBeforeKeyword (tests.definitions.TestGlobals.testGlobalsBeforeKeyword) ... ok testMultipleClassDef (tests.definitions.TestGlobals.testMultipleClassDef) ... ok testMultipleGlobalDef (tests.definitions.TestGlobals.testMultipleGlobalDef) ... ok testNestedClassDef (tests.definitions.TestGlobals.testNestedClassDef) ... ok test_MultipleFunctionDef (tests.definitions.TestGlobals.test_MultipleFunctionDef) ... ok test_SingleFunctionDef (tests.definitions.TestGlobals.test_SingleFunctionDef) ... ok testLocalFunctionDef (tests.definitions.TestLocals.testLocalFunctionDef) ... ok testLocalFunctionDefArgsDefault (tests.definitions.TestLocals.testLocalFunctionDefArgsDefault) ... ok testLocalFunctionDefKwArgs (tests.definitions.TestLocals.testLocalFunctionDefKwArgs) ... ok testLocalFunctionDefKwOnly (tests.definitions.TestLocals.testLocalFunctionDefKwOnly) ... ok testLocalFunctionDefOneArg (tests.definitions.TestLocals.testLocalFunctionDefOneArg) ... ok testLocalFunctionDefOneArgDefault (tests.definitions.TestLocals.testLocalFunctionDefOneArgDefault) ... ok testLocalFunctionDefStarArgs (tests.definitions.TestLocals.testLocalFunctionDefStarArgs) ... ok test_AugAssignInLoop (tests.definitions.TestLocals.test_AugAssignInLoop) ... ok test_IfInWhile (tests.definitions.TestLocals.test_IfInWhile) ... ok test_ListCompInLoop (tests.definitions.TestLocals.test_ListCompInLoop) ... ok test_LocalAssign (tests.definitions.TestLocals.test_LocalAssign) ... ok test_LocalAssignRedef (tests.definitions.TestLocals.test_LocalAssignRedef) ... ok test_LocalGlobal (tests.definitions.TestLocals.test_LocalGlobal) ... ok test_LocalNestedFun (tests.definitions.TestLocals.test_LocalNestedFun) ... ok test_LocalNonLocalAfter (tests.definitions.TestLocals.test_LocalNonLocalAfter) ... ok test_LocalNonLocalBefore (tests.definitions.TestLocals.test_LocalNonLocalBefore) ... ok test_beniget_documentation (tests.doc.TestDoctest.test_beniget_documentation) ... ok test_beniget_readme (tests.doc.TestDoctest.test_beniget_readme) ... Trying: import gast as ast Expecting nothing ok Trying: code = 'def foo(x): return x + 1' Expecting nothing ok Trying: module = ast.parse(code) Expecting nothing ok Trying: from beniget import Ancestors Expecting nothing ok Trying: ancestors = Ancestors() Expecting nothing ok Trying: ancestors.visit(module) Expecting nothing ok Trying: binop = module.body[0].body[0].value Expecting nothing ok Trying: for n in ancestors.parents(binop): print(type(n)) Expecting: ok Trying: import gast as ast Expecting nothing ok Trying: module = ast.parse("from b import c, d; c()") Expecting nothing ok Trying: duc = DefUseChains() Expecting nothing ok Trying: duc.visit(module) Expecting nothing ok Trying: for head in duc.locals[module]: print("{}: {}".format(head.name(), len(head.users()))) Expecting: c: 1 d: 0 ok Trying: alias_def = duc.chains[module.body[0].names[0]] Expecting nothing ok Trying: print(alias_def) Expecting: c -> (c -> (Call -> ())) ok 94 items had no tests: beniget.beniget beniget.beniget.Ancestors.__init__ beniget.beniget.Ancestors.generic_visit beniget.beniget.Ancestors.parent beniget.beniget.Ancestors.parentFunction beniget.beniget.Ancestors.parentInstance beniget.beniget.Ancestors.parentStmt beniget.beniget.Ancestors.parents beniget.beniget.CollectGlobals beniget.beniget.CollectGlobals.__init__ beniget.beniget.CollectGlobals.visit_Global beniget.beniget.Def beniget.beniget.Def.__init__ beniget.beniget.Def.__repr__ beniget.beniget.Def.__str__ beniget.beniget.Def._repr beniget.beniget.Def._str beniget.beniget.Def.add_user beniget.beniget.Def.name beniget.beniget.Def.users beniget.beniget.DefUseChains.CompDefinitionContext beniget.beniget.DefUseChains.DefinitionContext beniget.beniget.DefUseChains.__init__ beniget.beniget.DefUseChains.add_to_definition beniget.beniget.DefUseChains.defs beniget.beniget.DefUseChains.dump_chains beniget.beniget.DefUseChains.dump_definitions beniget.beniget.DefUseChains.extend_definition beniget.beniget.DefUseChains.lookup_identifier beniget.beniget.DefUseChains.process_body beniget.beniget.DefUseChains.process_undefs beniget.beniget.DefUseChains.set_definition beniget.beniget.DefUseChains.unbound_identifier beniget.beniget.DefUseChains.visit_AnnAssign beniget.beniget.DefUseChains.visit_Assert beniget.beniget.DefUseChains.visit_Assign beniget.beniget.DefUseChains.visit_AugAssign beniget.beniget.DefUseChains.visit_Await beniget.beniget.DefUseChains.visit_BinOp beniget.beniget.DefUseChains.visit_BoolOp beniget.beniget.DefUseChains.visit_Break beniget.beniget.DefUseChains.visit_Call beniget.beniget.DefUseChains.visit_ClassDef beniget.beniget.DefUseChains.visit_Compare beniget.beniget.DefUseChains.visit_Constant beniget.beniget.DefUseChains.visit_Continue beniget.beniget.DefUseChains.visit_Delete beniget.beniget.DefUseChains.visit_Destructured beniget.beniget.DefUseChains.visit_Dict beniget.beniget.DefUseChains.visit_DictComp beniget.beniget.DefUseChains.visit_Exec beniget.beniget.DefUseChains.visit_Expr beniget.beniget.DefUseChains.visit_For beniget.beniget.DefUseChains.visit_FormattedValue beniget.beniget.DefUseChains.visit_FunctionDef beniget.beniget.DefUseChains.visit_Global beniget.beniget.DefUseChains.visit_If beniget.beniget.DefUseChains.visit_IfExp beniget.beniget.DefUseChains.visit_Import beniget.beniget.DefUseChains.visit_ImportFrom beniget.beniget.DefUseChains.visit_JoinedStr beniget.beniget.DefUseChains.visit_Lambda beniget.beniget.DefUseChains.visit_List beniget.beniget.DefUseChains.visit_ListComp beniget.beniget.DefUseChains.visit_Module beniget.beniget.DefUseChains.visit_Name beniget.beniget.DefUseChains.visit_NamedExpr beniget.beniget.DefUseChains.visit_Nonlocal beniget.beniget.DefUseChains.visit_Print beniget.beniget.DefUseChains.visit_Raise beniget.beniget.DefUseChains.visit_Return beniget.beniget.DefUseChains.visit_Set beniget.beniget.DefUseChains.visit_Slice beniget.beniget.DefUseChains.visit_Subscript beniget.beniget.DefUseChains.visit_Try beniget.beniget.DefUseChains.visit_UnaryOp beniget.beniget.DefUseChains.visit_While beniget.beniget.DefUseChains.visit_With beniget.beniget.DefUseChains.visit_Yield beniget.beniget.DefUseChains.visit_arguments beniget.beniget.DefUseChains.visit_comprehension beniget.beniget.DefUseChains.visit_excepthandler beniget.beniget.DefUseChains.visit_withitem beniget.beniget.UseDefChains beniget.beniget.UseDefChains.__init__ beniget.beniget.UseDefChains.__str__ beniget.beniget.ordered_set beniget.beniget.ordered_set.__add__ beniget.beniget.ordered_set.__contains__ beniget.beniget.ordered_set.__init__ beniget.beniget.ordered_set.__iter__ beniget.beniget.ordered_set.__len__ beniget.beniget.ordered_set.add beniget.beniget.ordered_set.update 2 items passed all tests: 8 tests in beniget.beniget.Ancestors 7 tests in beniget.beniget.DefUseChains 15 tests in 96 items. 15 passed. Test passed. Trying: import beniget, gast as ast Expecting nothing ok Trying: code = "from math import cos, sin; print(cos(3))" Expecting nothing ok Trying: module = ast.parse(code) Expecting nothing ok Trying: duc = beniget.DefUseChains() Expecting nothing ok Trying: duc.visit(module) Expecting nothing ok Trying: imported = module.body[0].names Expecting nothing ok Trying: for name in imported: ud = duc.chains[name] if not ud.users(): print("Unused import: {}".format(ud.name())) Expecting: Unused import: sin ok Trying: code = """ nice = lambda x: x @nice def aw(): pass def some(): pass""" Expecting nothing ok Trying: module = ast.parse(code) Expecting nothing ok Trying: duc = beniget.DefUseChains() Expecting nothing ok Trying: duc.visit(module) Expecting nothing ok Trying: ancestors = beniget.Ancestors() Expecting nothing ok Trying: ancestors.visit(module) Expecting nothing ok Trying: nice = [d for d in duc.locals[module] if d.name() == "nice"][0] Expecting nothing ok Trying: for use in nice.users(): # we're interested in the parent of the decorator parents = ancestors.parents(use.node) # direct parent of the decorator is the function fdef = parents[-1] print(fdef.name) Expecting: aw ok Trying: import gast as ast Expecting nothing ok Trying: import beniget Expecting nothing ok Trying: class Attributes(ast.NodeVisitor): def __init__(self, module_node): # compute the def-use of the module self.chains = beniget.DefUseChains() self.chains.visit(module_node) self.users = set() # all users of `self` self.attributes = set() # attributes of current class def visit_ClassDef(self, node): # walk methods and fill users of `self` for stmt in node.body: if isinstance(stmt, ast.FunctionDef): self_def = self.chains.chains[stmt.args.args[0]] self.users.update(use.node for use in self_def.users()) self.generic_visit(node) def visit_Attribute(self, node): # any attribute of `self` is registered if node.value in self.users: self.attributes.add(node.attr) Expecting nothing ok Trying: code = "class My(object):\n def __init__(self, x): self.x = x" Expecting nothing ok Trying: module = ast.parse(code) Expecting nothing ok Trying: classdef = module.body[0] Expecting nothing ok Trying: attr = Attributes(module) Expecting nothing ok Trying: attr.visit(classdef) Expecting nothing ok Trying: list(attr.attributes) Expecting: ['x'] ok Trying: import gast as ast Expecting nothing ok ok ---------------------------------------------------------------------- Ran 145 tests in 0.228s OK Trying: import beniget Expecting nothing ok Trying: class Capture(ast.NodeVisitor): def __init__(self, module_node): # initialize def-use chains self.chains = beniget.DefUseChains() self.chains.visit(module_node) self.users = set() # users of local definitions self.captured = set() # identifiers that don't belong to local users def visit_FunctionDef(self, node): # initialize the set of node using a local variable for def_ in self.chains.locals[node]: self.users.update(use.node for use in def_.users()) self.generic_visit(node) def visit_Name(self, node): # register load of identifiers not locally definied if isinstance(node.ctx, ast.Load): if node not in self.users: self.captured.add(node.id) Expecting nothing ok Trying: code = 'def foo(x):\n def bar(): return x\n return bar' Expecting nothing ok Trying: module = ast.parse(code) Expecting nothing ok Trying: inner_function = module.body[0].body[0] Expecting nothing ok Trying: capture = Capture(module) Expecting nothing ok Trying: capture.visit(inner_function) Expecting nothing ok Trying: list(capture.captured) Expecting: ['x'] ok Trying: import gast as ast Expecting nothing ok Trying: import beniget Expecting nothing ok Trying: class CaptureX(ast.NodeVisitor): def __init__(self, module_node, fun): self.fun = fun # initialize use-def chains du = beniget.DefUseChains() du.visit(module_node) self.chains = beniget.UseDefChains(du) self.ancestors = beniget.Ancestors() self.ancestors.visit(module_node) self.external = list() self.visited_external = set() def visit_Name(self, node): # register load of identifiers not locally defined if isinstance(node.ctx, ast.Load): uses = self.chains.chains[node] for use in uses: try: parents = self.ancestors.parents(use.node) except KeyError: return # a builtin if self.fun not in parents: parent = self.ancestors.parentStmt(use.node) if parent not in self.visited_external: self.visited_external.add(parent) self.external.append(parent) self.rec(parent) def rec(self, node): "walk definitions to find their operands's def" if isinstance(node, ast.Assign): self.visit(node.value) # TODO: implement this for AugAssign etc Expecting nothing ok Trying: code = 'a = 1; b = [a, a]; c = len(b)\ndef foo():\n return c' Expecting nothing ok Trying: module = ast.parse(code) Expecting nothing ok Trying: function = module.body[3] Expecting nothing ok Trying: capturex = CaptureX(module, function) Expecting nothing ok Trying: capturex.visit(function) Expecting nothing ok Trying: list(map(type, capturex.external)) Expecting: [, , ] ok 1 item passed all tests: 42 tests in README.rst 42 tests in 1 item. 42 passed. Test passed. make[1]: Leaving directory '/build/reproducible-path/python-beniget-0.4.1' create-stamp debian/debhelper-build-stamp dh_testroot -O--buildsystem=pybuild dh_prep -O--buildsystem=pybuild dh_auto_install --destdir=debian/python3-beniget/ -O--buildsystem=pybuild I: pybuild base:311: /usr/bin/python3.12 setup.py install --root /build/reproducible-path/python-beniget-0.4.1/debian/python3-beniget /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:270: UserWarning: Unknown distribution option: 'test_suite' warnings.warn(msg) running install /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:79: SetuptoolsDeprecationWarning: setup.py install is deprecated. !! ******************************************************************************** Please avoid running ``setup.py`` directly. Instead, use pypa/build, pypa/installer or other standards-based tools. See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html for details. ******************************************************************************** !! self.initialize_options() running build running build_py running install_lib creating /build/reproducible-path/python-beniget-0.4.1/debian/python3-beniget/usr/lib/python3.12/dist-packages creating /build/reproducible-path/python-beniget-0.4.1/debian/python3-beniget/usr/lib/python3.12/dist-packages/beniget copying /build/reproducible-path/python-beniget-0.4.1/.pybuild/cpython3_3.12_python-beniget/build/beniget/__init__.py -> /build/reproducible-path/python-beniget-0.4.1/debian/python3-beniget/usr/lib/python3.12/dist-packages/beniget copying /build/reproducible-path/python-beniget-0.4.1/.pybuild/cpython3_3.12_python-beniget/build/beniget/beniget.py -> /build/reproducible-path/python-beniget-0.4.1/debian/python3-beniget/usr/lib/python3.12/dist-packages/beniget byte-compiling /build/reproducible-path/python-beniget-0.4.1/debian/python3-beniget/usr/lib/python3.12/dist-packages/beniget/__init__.py to __init__.cpython-312.pyc byte-compiling /build/reproducible-path/python-beniget-0.4.1/debian/python3-beniget/usr/lib/python3.12/dist-packages/beniget/beniget.py to beniget.cpython-312.pyc running install_egg_info running egg_info creating beniget.egg-info writing beniget.egg-info/PKG-INFO writing dependency_links to beniget.egg-info/dependency_links.txt writing requirements to beniget.egg-info/requires.txt writing top-level names to beniget.egg-info/top_level.txt writing manifest file 'beniget.egg-info/SOURCES.txt' reading manifest file 'beniget.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' adding license file 'LICENSE' writing manifest file 'beniget.egg-info/SOURCES.txt' Copying beniget.egg-info to /build/reproducible-path/python-beniget-0.4.1/debian/python3-beniget/usr/lib/python3.12/dist-packages/beniget-0.4.1.egg-info Skipping SOURCES.txt running install_scripts I: pybuild base:311: /usr/bin/python3 setup.py install --root /build/reproducible-path/python-beniget-0.4.1/debian/python3-beniget /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:270: UserWarning: Unknown distribution option: 'test_suite' warnings.warn(msg) running install /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:79: SetuptoolsDeprecationWarning: setup.py install is deprecated. !! ******************************************************************************** Please avoid running ``setup.py`` directly. Instead, use pypa/build, pypa/installer or other standards-based tools. See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html for details. ******************************************************************************** !! self.initialize_options() running build running build_py running install_lib creating /build/reproducible-path/python-beniget-0.4.1/debian/python3-beniget/usr/lib/python3.13/dist-packages creating /build/reproducible-path/python-beniget-0.4.1/debian/python3-beniget/usr/lib/python3.13/dist-packages/beniget copying /build/reproducible-path/python-beniget-0.4.1/.pybuild/cpython3_3.13_python-beniget/build/beniget/__init__.py -> /build/reproducible-path/python-beniget-0.4.1/debian/python3-beniget/usr/lib/python3.13/dist-packages/beniget copying /build/reproducible-path/python-beniget-0.4.1/.pybuild/cpython3_3.13_python-beniget/build/beniget/beniget.py -> /build/reproducible-path/python-beniget-0.4.1/debian/python3-beniget/usr/lib/python3.13/dist-packages/beniget byte-compiling /build/reproducible-path/python-beniget-0.4.1/debian/python3-beniget/usr/lib/python3.13/dist-packages/beniget/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/python-beniget-0.4.1/debian/python3-beniget/usr/lib/python3.13/dist-packages/beniget/beniget.py to beniget.cpython-313.pyc running install_egg_info running egg_info writing beniget.egg-info/PKG-INFO writing dependency_links to beniget.egg-info/dependency_links.txt writing requirements to beniget.egg-info/requires.txt writing top-level names to beniget.egg-info/top_level.txt reading manifest file 'beniget.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' adding license file 'LICENSE' writing manifest file 'beniget.egg-info/SOURCES.txt' Copying beniget.egg-info to /build/reproducible-path/python-beniget-0.4.1/debian/python3-beniget/usr/lib/python3.13/dist-packages/beniget-0.4.1.egg-info Skipping SOURCES.txt running install_scripts dh_installdocs -O--buildsystem=pybuild dh_installchangelogs -O--buildsystem=pybuild dh_python3 -O--buildsystem=pybuild dh_installsystemduser -O--buildsystem=pybuild dh_perl -O--buildsystem=pybuild dh_link -O--buildsystem=pybuild dh_strip_nondeterminism -O--buildsystem=pybuild dh_compress -O--buildsystem=pybuild dh_fixperms -O--buildsystem=pybuild dh_missing -O--buildsystem=pybuild dh_installdeb -O--buildsystem=pybuild dh_gencontrol -O--buildsystem=pybuild dh_md5sums -O--buildsystem=pybuild dh_builddeb -O--buildsystem=pybuild dpkg-deb: building package 'python3-beniget' in '../python3-beniget_0.4.1-3_all.deb'. dpkg-genbuildinfo --build=binary -O../python-beniget_0.4.1-3_arm64.buildinfo dpkg-genchanges --build=binary -O../python-beniget_0.4.1-3_arm64.changes dpkg-genchanges: info: binary-only upload (no source code included) dpkg-source --after-build . dpkg-buildpackage: info: binary-only upload (no source included) dpkg-genchanges: info: not including original source code in upload I: copying local configuration I: unmounting dev/ptmx filesystem I: unmounting dev/pts filesystem I: unmounting dev/shm filesystem I: unmounting proc filesystem I: unmounting sys filesystem I: cleaning the build env I: removing directory /srv/workspace/pbuilder/2439922 and its subdirectories I: Current time: Fri Mar 27 03:09:50 -12 2026 I: pbuilder-time-stamp: 1774624190 Fri Mar 27 15:09:50 UTC 2026 I: Signing ./b1/python-beniget_0.4.1-3_arm64.buildinfo as python-beniget_0.4.1-3_arm64.buildinfo.asc Fri Mar 27 15:09:50 UTC 2026 I: Signed ./b1/python-beniget_0.4.1-3_arm64.buildinfo as ./b1/python-beniget_0.4.1-3_arm64.buildinfo.asc Fri Mar 27 15:09:50 UTC 2026 - build #1 for python-beniget/unstable/arm64 on codethink03-arm64 done. Starting cleanup. All cleanup done. Fri Mar 27 15:09:50 UTC 2026 - reproducible_build.sh stopped running as /tmp/jenkins-script-n1HN2UdW, removing. /srv/reproducible-results/rbuild-debian/r-b-build.SfomDQJQ: total 16 drwxr-xr-x 2 jenkins jenkins 4096 Feb 22 08:46 b1 drwxr-xr-x 2 jenkins jenkins 4096 Feb 22 08:46 b2 -rw-r--r-- 1 jenkins jenkins 1524 Dec 3 2022 python-beniget_0.4.1-3.dsc -rw------- 1 jenkins jenkins 2683 Feb 22 08:46 rbuildlog.fLc6Up3 /srv/reproducible-results/rbuild-debian/r-b-build.SfomDQJQ/b1: total 136 -rw-r--r-- 1 jenkins jenkins 90123 Feb 22 08:46 build.log -rw-r--r-- 1 jenkins jenkins 2688 Feb 22 08:46 python-beniget_0.4.1-3.debian.tar.xz -rw-r--r-- 1 jenkins jenkins 1524 Feb 22 08:46 python-beniget_0.4.1-3.dsc -rw-r--r-- 1 jenkins jenkins 5904 Feb 22 08:46 python-beniget_0.4.1-3_arm64.buildinfo -rw-r--r-- 1 jenkins jenkins 6786 Feb 22 08:46 python-beniget_0.4.1-3_arm64.buildinfo.asc -rw-r--r-- 1 jenkins jenkins 1172 Feb 22 08:46 python-beniget_0.4.1-3_arm64.changes -rw-r--r-- 1 jenkins jenkins 1340 Feb 22 08:46 python-beniget_0.4.1-3_source.changes -rw-r--r-- 1 jenkins jenkins 9988 Feb 22 08:46 python3-beniget_0.4.1-3_all.deb /srv/reproducible-results/rbuild-debian/r-b-build.SfomDQJQ/b2: total 0 Sat Feb 22 08:46:52 UTC 2025 I: Deleting $TMPDIR on codethink03-arm64.debian.net. I: pbuilder: network access will be disabled during build I: Current time: Fri Mar 27 03:09:13 -12 2026 I: pbuilder-time-stamp: 1774624153 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/unstable-reproducible-base.tgz] I: copying local configuration W: --override-config is not set; not updating apt.conf Read the manpage for details. I: mounting /proc filesystem I: mounting /sys filesystem I: creating /{dev,run}/shm I: mounting /dev/pts filesystem I: redirecting /dev/ptmx to /dev/pts/ptmx I: policy-rc.d already exists I: Copying source file I: copying [python-beniget_0.4.1-3.dsc] I: copying [./python-beniget_0.4.1.orig.tar.gz] I: copying [./python-beniget_0.4.1-3.debian.tar.xz] I: Extracting source dpkg-source: warning: cannot verify inline signature for ./python-beniget_0.4.1-3.dsc: unsupported subcommand dpkg-source: info: extracting python-beniget in python-beniget-0.4.1 dpkg-source: info: unpacking python-beniget_0.4.1.orig.tar.gz dpkg-source: info: unpacking python-beniget_0.4.1-3.debian.tar.xz I: Not using root during the build. I: Installing the build-deps I: user script /srv/workspace/pbuilder/2439922/tmp/hooks/D02_print_environment starting I: set BUILDDIR='/build/reproducible-path' BUILDUSERGECOS='first user,first room,first work-phone,first home-phone,first other' BUILDUSERNAME='pbuilder1' BUILD_ARCH='arm64' DEBIAN_FRONTEND='noninteractive' DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=12 ' DISTRIBUTION='unstable' HOME='/root' HOST_ARCH='arm64' IFS=' ' INVOCATION_ID='dcdedd017b184c9dac818187c27893d5' LANG='C' LANGUAGE='en_US:en' LC_ALL='C' MAIL='/var/mail/root' OPTIND='1' PATH='/usr/sbin:/usr/bin:/sbin:/bin:/usr/games' PBCURRENTCOMMANDLINEOPERATION='build' PBUILDER_OPERATION='build' PBUILDER_PKGDATADIR='/usr/share/pbuilder' PBUILDER_PKGLIBDIR='/usr/lib/pbuilder' PBUILDER_SYSCONFDIR='/etc' PPID='2439922' PS1='# ' PS2='> ' PS4='+ ' PWD='/' SHELL='/bin/bash' SHLVL='2' SUDO_COMMAND='/usr/bin/timeout -k 18.1h 18h /usr/bin/ionice -c 3 /usr/bin/nice /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.SfomDQJQ/pbuilderrc_OgtD --distribution unstable --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/unstable-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.SfomDQJQ/b1 --logfile b1/build.log python-beniget_0.4.1-3.dsc' SUDO_GID='109' SUDO_UID='104' SUDO_USER='jenkins' TERM='unknown' TZ='/usr/share/zoneinfo/Etc/GMT+12' USER='root' _='/usr/bin/systemd-run' http_proxy='http://192.168.101.4:3128' I: uname -a Linux codethink03-arm64 6.1.0-31-cloud-arm64 #1 SMP Debian 6.1.128-1 (2025-02-07) aarch64 GNU/Linux I: ls -l /bin lrwxrwxrwx 1 root root 7 Nov 22 2024 /bin -> usr/bin I: user script /srv/workspace/pbuilder/2439922/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy Version: 0.invalid.0 Architecture: arm64 Maintainer: Debian Pbuilder Team Description: Dummy package to satisfy dependencies with aptitude - created by pbuilder This package was created automatically by pbuilder to satisfy the build-dependencies of the package being currently built. Depends: debhelper-compat (= 13), dh-python, python3-all, python3-gast, python3-setuptools dpkg-deb: building package 'pbuilder-satisfydepends-dummy' in '/tmp/satisfydepends-aptitude/pbuilder-satisfydepends-dummy.deb'. Selecting previously unselected package pbuilder-satisfydepends-dummy. (Reading database ... 19889 files and directories currently installed.) Preparing to unpack .../pbuilder-satisfydepends-dummy.deb ... Unpacking pbuilder-satisfydepends-dummy (0.invalid.0) ... dpkg: pbuilder-satisfydepends-dummy: dependency problems, but configuring anyway as you requested: pbuilder-satisfydepends-dummy depends on debhelper-compat (= 13); however: Package debhelper-compat is not installed. pbuilder-satisfydepends-dummy depends on dh-python; however: Package dh-python is not installed. pbuilder-satisfydepends-dummy depends on python3-all; however: Package python3-all is not installed. pbuilder-satisfydepends-dummy depends on python3-gast; however: Package python3-gast is not installed. pbuilder-satisfydepends-dummy depends on python3-setuptools; however: Package python3-setuptools is not installed. Setting up pbuilder-satisfydepends-dummy (0.invalid.0) ... Reading package lists... Building dependency tree... Reading state information... Initializing package states... Writing extended state information... Building tag database... pbuilder-satisfydepends-dummy is already installed at the requested version (0.invalid.0) pbuilder-satisfydepends-dummy is already installed at the requested version (0.invalid.0) The following NEW packages will be installed: autoconf{a} automake{a} autopoint{a} autotools-dev{a} bsdextrautils{a} debhelper{a} dh-autoreconf{a} dh-python{a} dh-strip-nondeterminism{a} dwz{a} file{a} gettext{a} gettext-base{a} groff-base{a} intltool-debian{a} libarchive-zip-perl{a} libcom-err2{a} libdebhelper-perl{a} libelf1t64{a} libexpat1{a} libffi8{a} libfile-stripnondeterminism-perl{a} libgssapi-krb5-2{a} libicu72{a} libk5crypto3{a} libkeyutils1{a} libkrb5-3{a} libkrb5support0{a} libmagic-mgc{a} libmagic1t64{a} libnsl2{a} libpipeline1{a} libpython3-stdlib{a} libpython3.12-minimal{a} libpython3.12-stdlib{a} libpython3.13-minimal{a} libpython3.13-stdlib{a} libreadline8t64{a} libtirpc-common{a} libtirpc3t64{a} libtool{a} libuchardet0{a} libunistring5{a} libxml2{a} m4{a} man-db{a} media-types{a} netbase{a} po-debconf{a} python3{a} python3-all{a} python3-autocommand{a} python3-gast{a} python3-inflect{a} python3-jaraco.context{a} python3-jaraco.functools{a} python3-jaraco.text{a} python3-minimal{a} python3-more-itertools{a} python3-pkg-resources{a} python3-setuptools{a} python3-typeguard{a} python3-typing-extensions{a} python3-zipp{a} python3.12{a} python3.12-minimal{a} python3.13{a} python3.13-minimal{a} readline-common{a} sensible-utils{a} tzdata{a} The following packages are RECOMMENDED but will NOT be installed: ca-certificates curl krb5-locales libarchive-cpio-perl libltdl-dev libmail-sendmail-perl lynx wget 0 packages upgraded, 71 newly installed, 0 to remove and 0 not upgraded. Need to get 33.7 MB of archives. After unpacking 142 MB will be used. Writing extended state information... Get: 1 http://deb.debian.org/debian unstable/main arm64 libpython3.13-minimal arm64 3.13.2-1 [853 kB] Get: 2 http://deb.debian.org/debian unstable/main arm64 libexpat1 arm64 2.6.4-1 [90.7 kB] Get: 3 http://deb.debian.org/debian unstable/main arm64 python3.13-minimal arm64 3.13.2-1 [1997 kB] Get: 4 http://deb.debian.org/debian unstable/main arm64 python3-minimal arm64 3.13.1-2 [27.0 kB] Get: 5 http://deb.debian.org/debian unstable/main arm64 media-types all 11.0.0 [27.6 kB] Get: 6 http://deb.debian.org/debian unstable/main arm64 netbase all 6.4 [12.8 kB] Get: 7 http://deb.debian.org/debian unstable/main arm64 tzdata all 2025a-2 [259 kB] Get: 8 http://deb.debian.org/debian unstable/main arm64 libffi8 arm64 3.4.7-1 [21.2 kB] Get: 9 http://deb.debian.org/debian unstable/main arm64 readline-common all 8.2-6 [69.4 kB] Get: 10 http://deb.debian.org/debian unstable/main arm64 libreadline8t64 arm64 8.2-6 [159 kB] Get: 11 http://deb.debian.org/debian unstable/main arm64 libpython3.13-stdlib arm64 3.13.2-1 [1914 kB] Get: 12 http://deb.debian.org/debian unstable/main arm64 python3.13 arm64 3.13.2-1 [745 kB] Get: 13 http://deb.debian.org/debian unstable/main arm64 libpython3-stdlib arm64 3.13.1-2 [9952 B] Get: 14 http://deb.debian.org/debian unstable/main arm64 python3 arm64 3.13.1-2 [28.0 kB] Get: 15 http://deb.debian.org/debian unstable/main arm64 libpython3.12-minimal arm64 3.12.9-1 [810 kB] Get: 16 http://deb.debian.org/debian unstable/main arm64 python3.12-minimal arm64 3.12.9-1 [1941 kB] Get: 17 http://deb.debian.org/debian unstable/main arm64 sensible-utils all 0.0.24 [24.8 kB] Get: 18 http://deb.debian.org/debian unstable/main arm64 libmagic-mgc arm64 1:5.45-3+b1 [314 kB] Get: 19 http://deb.debian.org/debian unstable/main arm64 libmagic1t64 arm64 1:5.45-3+b1 [102 kB] Get: 20 http://deb.debian.org/debian unstable/main arm64 file arm64 1:5.45-3+b1 [43.4 kB] Get: 21 http://deb.debian.org/debian unstable/main arm64 gettext-base arm64 0.23.1-1 [241 kB] Get: 22 http://deb.debian.org/debian unstable/main arm64 libuchardet0 arm64 0.0.8-1+b2 [69.2 kB] Get: 23 http://deb.debian.org/debian unstable/main arm64 groff-base arm64 1.23.0-7 [1129 kB] Get: 24 http://deb.debian.org/debian unstable/main arm64 bsdextrautils arm64 2.40.4-4 [92.1 kB] Get: 25 http://deb.debian.org/debian unstable/main arm64 libpipeline1 arm64 1.5.8-1 [40.2 kB] Get: 26 http://deb.debian.org/debian unstable/main arm64 man-db arm64 2.13.0-1 [1404 kB] Get: 27 http://deb.debian.org/debian unstable/main arm64 m4 arm64 1.4.19-5 [284 kB] Get: 28 http://deb.debian.org/debian unstable/main arm64 autoconf all 2.72-3 [493 kB] Get: 29 http://deb.debian.org/debian unstable/main arm64 autotools-dev all 20220109.1 [51.6 kB] Get: 30 http://deb.debian.org/debian unstable/main arm64 automake all 1:1.17-3 [862 kB] Get: 31 http://deb.debian.org/debian unstable/main arm64 autopoint all 0.23.1-1 [770 kB] Get: 32 http://deb.debian.org/debian unstable/main arm64 libdebhelper-perl all 13.24.1 [90.9 kB] Get: 33 http://deb.debian.org/debian unstable/main arm64 libtool all 2.5.4-3 [539 kB] Get: 34 http://deb.debian.org/debian unstable/main arm64 dh-autoreconf all 20 [17.1 kB] Get: 35 http://deb.debian.org/debian unstable/main arm64 libarchive-zip-perl all 1.68-1 [104 kB] Get: 36 http://deb.debian.org/debian unstable/main arm64 libfile-stripnondeterminism-perl all 1.14.1-2 [19.7 kB] Get: 37 http://deb.debian.org/debian unstable/main arm64 dh-strip-nondeterminism all 1.14.1-2 [8620 B] Get: 38 http://deb.debian.org/debian unstable/main arm64 libelf1t64 arm64 0.192-4 [189 kB] Get: 39 http://deb.debian.org/debian unstable/main arm64 dwz arm64 0.15-1+b1 [102 kB] Get: 40 http://deb.debian.org/debian unstable/main arm64 libunistring5 arm64 1.3-1 [449 kB] Get: 41 http://deb.debian.org/debian unstable/main arm64 libicu72 arm64 72.1-6 [9239 kB] Get: 42 http://deb.debian.org/debian unstable/main arm64 libxml2 arm64 2.12.7+dfsg+really2.9.14-0.2+b1 [630 kB] Get: 43 http://deb.debian.org/debian unstable/main arm64 gettext arm64 0.23.1-1 [1610 kB] Get: 44 http://deb.debian.org/debian unstable/main arm64 intltool-debian all 0.35.0+20060710.6 [22.9 kB] Get: 45 http://deb.debian.org/debian unstable/main arm64 po-debconf all 1.0.21+nmu1 [248 kB] Get: 46 http://deb.debian.org/debian unstable/main arm64 debhelper all 13.24.1 [920 kB] Get: 47 http://deb.debian.org/debian unstable/main arm64 python3-autocommand all 2.2.2-3 [13.6 kB] Get: 48 http://deb.debian.org/debian unstable/main arm64 python3-more-itertools all 10.6.0-1 [65.3 kB] Get: 49 http://deb.debian.org/debian unstable/main arm64 python3-typing-extensions all 4.12.2-2 [73.0 kB] Get: 50 http://deb.debian.org/debian unstable/main arm64 python3-typeguard all 4.4.1-1 [37.0 kB] Get: 51 http://deb.debian.org/debian unstable/main arm64 python3-inflect all 7.3.1-2 [32.4 kB] Get: 52 http://deb.debian.org/debian unstable/main arm64 python3-jaraco.context all 6.0.0-1 [7984 B] Get: 53 http://deb.debian.org/debian unstable/main arm64 python3-jaraco.functools all 4.1.0-1 [12.0 kB] Get: 54 http://deb.debian.org/debian unstable/main arm64 python3-pkg-resources all 75.8.0-1 [222 kB] Get: 55 http://deb.debian.org/debian unstable/main arm64 python3-jaraco.text all 4.0.0-1 [11.4 kB] Get: 56 http://deb.debian.org/debian unstable/main arm64 python3-zipp all 3.21.0-1 [10.6 kB] Get: 57 http://deb.debian.org/debian unstable/main arm64 python3-setuptools all 75.8.0-1 [724 kB] Get: 58 http://deb.debian.org/debian unstable/main arm64 dh-python all 6.20250108 [113 kB] Get: 59 http://deb.debian.org/debian unstable/main arm64 libcom-err2 arm64 1.47.2-1 [23.9 kB] Get: 60 http://deb.debian.org/debian unstable/main arm64 libkrb5support0 arm64 1.21.3-4 [32.2 kB] Get: 61 http://deb.debian.org/debian unstable/main arm64 libk5crypto3 arm64 1.21.3-4 [81.5 kB] Get: 62 http://deb.debian.org/debian unstable/main arm64 libkeyutils1 arm64 1.6.3-4 [9352 B] Get: 63 http://deb.debian.org/debian unstable/main arm64 libkrb5-3 arm64 1.21.3-4 [308 kB] Get: 64 http://deb.debian.org/debian unstable/main arm64 libgssapi-krb5-2 arm64 1.21.3-4 [127 kB] Get: 65 http://deb.debian.org/debian unstable/main arm64 libtirpc-common all 1.3.4+ds-1.3 [10.9 kB] Get: 66 http://deb.debian.org/debian unstable/main arm64 libtirpc3t64 arm64 1.3.4+ds-1.3+b1 [78.7 kB] Get: 67 http://deb.debian.org/debian unstable/main arm64 libnsl2 arm64 1.3.0-3+b3 [37.9 kB] Get: 68 http://deb.debian.org/debian unstable/main arm64 libpython3.12-stdlib arm64 3.12.9-1 [1909 kB] Get: 69 http://deb.debian.org/debian unstable/main arm64 python3.12 arm64 3.12.9-1 [681 kB] Get: 70 http://deb.debian.org/debian unstable/main arm64 python3-all arm64 3.13.1-2 [1056 B] Get: 71 http://deb.debian.org/debian unstable/main arm64 python3-gast all 0.6.0-1 [18.7 kB] Fetched 33.7 MB in 0s (76.8 MB/s) Preconfiguring packages ... Selecting previously unselected package libpython3.13-minimal:arm64. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 19889 files and directories currently installed.) Preparing to unpack .../libpython3.13-minimal_3.13.2-1_arm64.deb ... Unpacking libpython3.13-minimal:arm64 (3.13.2-1) ... Selecting previously unselected package libexpat1:arm64. Preparing to unpack .../libexpat1_2.6.4-1_arm64.deb ... Unpacking libexpat1:arm64 (2.6.4-1) ... Selecting previously unselected package python3.13-minimal. Preparing to unpack .../python3.13-minimal_3.13.2-1_arm64.deb ... Unpacking python3.13-minimal (3.13.2-1) ... Setting up libpython3.13-minimal:arm64 (3.13.2-1) ... Setting up libexpat1:arm64 (2.6.4-1) ... Setting up python3.13-minimal (3.13.2-1) ... Selecting previously unselected package python3-minimal. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 20223 files and directories currently installed.) Preparing to unpack .../0-python3-minimal_3.13.1-2_arm64.deb ... Unpacking python3-minimal (3.13.1-2) ... Selecting previously unselected package media-types. Preparing to unpack .../1-media-types_11.0.0_all.deb ... Unpacking media-types (11.0.0) ... Selecting previously unselected package netbase. Preparing to unpack .../2-netbase_6.4_all.deb ... Unpacking netbase (6.4) ... Selecting previously unselected package tzdata. Preparing to unpack .../3-tzdata_2025a-2_all.deb ... Unpacking tzdata (2025a-2) ... Selecting previously unselected package libffi8:arm64. Preparing to unpack .../4-libffi8_3.4.7-1_arm64.deb ... Unpacking libffi8:arm64 (3.4.7-1) ... Selecting previously unselected package readline-common. Preparing to unpack .../5-readline-common_8.2-6_all.deb ... Unpacking readline-common (8.2-6) ... Selecting previously unselected package libreadline8t64:arm64. Preparing to unpack .../6-libreadline8t64_8.2-6_arm64.deb ... Adding 'diversion of /lib/aarch64-linux-gnu/libhistory.so.8 to /lib/aarch64-linux-gnu/libhistory.so.8.usr-is-merged by libreadline8t64' Adding 'diversion of /lib/aarch64-linux-gnu/libhistory.so.8.2 to /lib/aarch64-linux-gnu/libhistory.so.8.2.usr-is-merged by libreadline8t64' Adding 'diversion of /lib/aarch64-linux-gnu/libreadline.so.8 to /lib/aarch64-linux-gnu/libreadline.so.8.usr-is-merged by libreadline8t64' Adding 'diversion of /lib/aarch64-linux-gnu/libreadline.so.8.2 to /lib/aarch64-linux-gnu/libreadline.so.8.2.usr-is-merged by libreadline8t64' Unpacking libreadline8t64:arm64 (8.2-6) ... Selecting previously unselected package libpython3.13-stdlib:arm64. Preparing to unpack .../7-libpython3.13-stdlib_3.13.2-1_arm64.deb ... Unpacking libpython3.13-stdlib:arm64 (3.13.2-1) ... Selecting previously unselected package python3.13. Preparing to unpack .../8-python3.13_3.13.2-1_arm64.deb ... Unpacking python3.13 (3.13.2-1) ... Selecting previously unselected package libpython3-stdlib:arm64. Preparing to unpack .../9-libpython3-stdlib_3.13.1-2_arm64.deb ... Unpacking libpython3-stdlib:arm64 (3.13.1-2) ... Setting up python3-minimal (3.13.1-2) ... Selecting previously unselected package python3. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 21233 files and directories currently installed.) Preparing to unpack .../00-python3_3.13.1-2_arm64.deb ... Unpacking python3 (3.13.1-2) ... Selecting previously unselected package libpython3.12-minimal:arm64. Preparing to unpack .../01-libpython3.12-minimal_3.12.9-1_arm64.deb ... Unpacking libpython3.12-minimal:arm64 (3.12.9-1) ... Selecting previously unselected package python3.12-minimal. Preparing to unpack .../02-python3.12-minimal_3.12.9-1_arm64.deb ... Unpacking python3.12-minimal (3.12.9-1) ... Selecting previously unselected package sensible-utils. Preparing to unpack .../03-sensible-utils_0.0.24_all.deb ... Unpacking sensible-utils (0.0.24) ... Selecting previously unselected package libmagic-mgc. Preparing to unpack .../04-libmagic-mgc_1%3a5.45-3+b1_arm64.deb ... Unpacking libmagic-mgc (1:5.45-3+b1) ... Selecting previously unselected package libmagic1t64:arm64. Preparing to unpack .../05-libmagic1t64_1%3a5.45-3+b1_arm64.deb ... Unpacking libmagic1t64:arm64 (1:5.45-3+b1) ... Selecting previously unselected package file. Preparing to unpack .../06-file_1%3a5.45-3+b1_arm64.deb ... Unpacking file (1:5.45-3+b1) ... Selecting previously unselected package gettext-base. Preparing to unpack .../07-gettext-base_0.23.1-1_arm64.deb ... Unpacking gettext-base (0.23.1-1) ... Selecting previously unselected package libuchardet0:arm64. Preparing to unpack .../08-libuchardet0_0.0.8-1+b2_arm64.deb ... Unpacking libuchardet0:arm64 (0.0.8-1+b2) ... Selecting previously unselected package groff-base. Preparing to unpack .../09-groff-base_1.23.0-7_arm64.deb ... Unpacking groff-base (1.23.0-7) ... Selecting previously unselected package bsdextrautils. Preparing to unpack .../10-bsdextrautils_2.40.4-4_arm64.deb ... Unpacking bsdextrautils (2.40.4-4) ... Selecting previously unselected package libpipeline1:arm64. Preparing to unpack .../11-libpipeline1_1.5.8-1_arm64.deb ... Unpacking libpipeline1:arm64 (1.5.8-1) ... Selecting previously unselected package man-db. Preparing to unpack .../12-man-db_2.13.0-1_arm64.deb ... Unpacking man-db (2.13.0-1) ... Selecting previously unselected package m4. Preparing to unpack .../13-m4_1.4.19-5_arm64.deb ... Unpacking m4 (1.4.19-5) ... Selecting previously unselected package autoconf. Preparing to unpack .../14-autoconf_2.72-3_all.deb ... Unpacking autoconf (2.72-3) ... Selecting previously unselected package autotools-dev. Preparing to unpack .../15-autotools-dev_20220109.1_all.deb ... Unpacking autotools-dev (20220109.1) ... Selecting previously unselected package automake. Preparing to unpack .../16-automake_1%3a1.17-3_all.deb ... Unpacking automake (1:1.17-3) ... Selecting previously unselected package autopoint. Preparing to unpack .../17-autopoint_0.23.1-1_all.deb ... Unpacking autopoint (0.23.1-1) ... Selecting previously unselected package libdebhelper-perl. Preparing to unpack .../18-libdebhelper-perl_13.24.1_all.deb ... Unpacking libdebhelper-perl (13.24.1) ... Selecting previously unselected package libtool. Preparing to unpack .../19-libtool_2.5.4-3_all.deb ... Unpacking libtool (2.5.4-3) ... Selecting previously unselected package dh-autoreconf. Preparing to unpack .../20-dh-autoreconf_20_all.deb ... Unpacking dh-autoreconf (20) ... Selecting previously unselected package libarchive-zip-perl. Preparing to unpack .../21-libarchive-zip-perl_1.68-1_all.deb ... Unpacking libarchive-zip-perl (1.68-1) ... Selecting previously unselected package libfile-stripnondeterminism-perl. Preparing to unpack .../22-libfile-stripnondeterminism-perl_1.14.1-2_all.deb ... Unpacking libfile-stripnondeterminism-perl (1.14.1-2) ... Selecting previously unselected package dh-strip-nondeterminism. Preparing to unpack .../23-dh-strip-nondeterminism_1.14.1-2_all.deb ... Unpacking dh-strip-nondeterminism (1.14.1-2) ... Selecting previously unselected package libelf1t64:arm64. Preparing to unpack .../24-libelf1t64_0.192-4_arm64.deb ... Unpacking libelf1t64:arm64 (0.192-4) ... Selecting previously unselected package dwz. Preparing to unpack .../25-dwz_0.15-1+b1_arm64.deb ... Unpacking dwz (0.15-1+b1) ... Selecting previously unselected package libunistring5:arm64. Preparing to unpack .../26-libunistring5_1.3-1_arm64.deb ... Unpacking libunistring5:arm64 (1.3-1) ... Selecting previously unselected package libicu72:arm64. Preparing to unpack .../27-libicu72_72.1-6_arm64.deb ... Unpacking libicu72:arm64 (72.1-6) ... Selecting previously unselected package libxml2:arm64. Preparing to unpack .../28-libxml2_2.12.7+dfsg+really2.9.14-0.2+b1_arm64.deb ... Unpacking libxml2:arm64 (2.12.7+dfsg+really2.9.14-0.2+b1) ... Selecting previously unselected package gettext. Preparing to unpack .../29-gettext_0.23.1-1_arm64.deb ... Unpacking gettext (0.23.1-1) ... Selecting previously unselected package intltool-debian. Preparing to unpack .../30-intltool-debian_0.35.0+20060710.6_all.deb ... Unpacking intltool-debian (0.35.0+20060710.6) ... Selecting previously unselected package po-debconf. Preparing to unpack .../31-po-debconf_1.0.21+nmu1_all.deb ... Unpacking po-debconf (1.0.21+nmu1) ... Selecting previously unselected package debhelper. Preparing to unpack .../32-debhelper_13.24.1_all.deb ... Unpacking debhelper (13.24.1) ... Selecting previously unselected package python3-autocommand. Preparing to unpack .../33-python3-autocommand_2.2.2-3_all.deb ... Unpacking python3-autocommand (2.2.2-3) ... Selecting previously unselected package python3-more-itertools. Preparing to unpack .../34-python3-more-itertools_10.6.0-1_all.deb ... Unpacking python3-more-itertools (10.6.0-1) ... Selecting previously unselected package python3-typing-extensions. Preparing to unpack .../35-python3-typing-extensions_4.12.2-2_all.deb ... Unpacking python3-typing-extensions (4.12.2-2) ... Selecting previously unselected package python3-typeguard. Preparing to unpack .../36-python3-typeguard_4.4.1-1_all.deb ... Unpacking python3-typeguard (4.4.1-1) ... Selecting previously unselected package python3-inflect. Preparing to unpack .../37-python3-inflect_7.3.1-2_all.deb ... Unpacking python3-inflect (7.3.1-2) ... Selecting previously unselected package python3-jaraco.context. Preparing to unpack .../38-python3-jaraco.context_6.0.0-1_all.deb ... Unpacking python3-jaraco.context (6.0.0-1) ... Selecting previously unselected package python3-jaraco.functools. Preparing to unpack .../39-python3-jaraco.functools_4.1.0-1_all.deb ... Unpacking python3-jaraco.functools (4.1.0-1) ... Selecting previously unselected package python3-pkg-resources. Preparing to unpack .../40-python3-pkg-resources_75.8.0-1_all.deb ... Unpacking python3-pkg-resources (75.8.0-1) ... Selecting previously unselected package python3-jaraco.text. Preparing to unpack .../41-python3-jaraco.text_4.0.0-1_all.deb ... Unpacking python3-jaraco.text (4.0.0-1) ... Selecting previously unselected package python3-zipp. Preparing to unpack .../42-python3-zipp_3.21.0-1_all.deb ... Unpacking python3-zipp (3.21.0-1) ... Selecting previously unselected package python3-setuptools. Preparing to unpack .../43-python3-setuptools_75.8.0-1_all.deb ... Unpacking python3-setuptools (75.8.0-1) ... Selecting previously unselected package dh-python. Preparing to unpack .../44-dh-python_6.20250108_all.deb ... Unpacking dh-python (6.20250108) ... Selecting previously unselected package libcom-err2:arm64. Preparing to unpack .../45-libcom-err2_1.47.2-1_arm64.deb ... Unpacking libcom-err2:arm64 (1.47.2-1) ... Selecting previously unselected package libkrb5support0:arm64. Preparing to unpack .../46-libkrb5support0_1.21.3-4_arm64.deb ... Unpacking libkrb5support0:arm64 (1.21.3-4) ... Selecting previously unselected package libk5crypto3:arm64. Preparing to unpack .../47-libk5crypto3_1.21.3-4_arm64.deb ... Unpacking libk5crypto3:arm64 (1.21.3-4) ... Selecting previously unselected package libkeyutils1:arm64. Preparing to unpack .../48-libkeyutils1_1.6.3-4_arm64.deb ... Unpacking libkeyutils1:arm64 (1.6.3-4) ... Selecting previously unselected package libkrb5-3:arm64. Preparing to unpack .../49-libkrb5-3_1.21.3-4_arm64.deb ... Unpacking libkrb5-3:arm64 (1.21.3-4) ... Selecting previously unselected package libgssapi-krb5-2:arm64. Preparing to unpack .../50-libgssapi-krb5-2_1.21.3-4_arm64.deb ... Unpacking libgssapi-krb5-2:arm64 (1.21.3-4) ... Selecting previously unselected package libtirpc-common. Preparing to unpack .../51-libtirpc-common_1.3.4+ds-1.3_all.deb ... Unpacking libtirpc-common (1.3.4+ds-1.3) ... Selecting previously unselected package libtirpc3t64:arm64. Preparing to unpack .../52-libtirpc3t64_1.3.4+ds-1.3+b1_arm64.deb ... Adding 'diversion of /lib/aarch64-linux-gnu/libtirpc.so.3 to /lib/aarch64-linux-gnu/libtirpc.so.3.usr-is-merged by libtirpc3t64' Adding 'diversion of /lib/aarch64-linux-gnu/libtirpc.so.3.0.0 to /lib/aarch64-linux-gnu/libtirpc.so.3.0.0.usr-is-merged by libtirpc3t64' Unpacking libtirpc3t64:arm64 (1.3.4+ds-1.3+b1) ... Selecting previously unselected package libnsl2:arm64. Preparing to unpack .../53-libnsl2_1.3.0-3+b3_arm64.deb ... Unpacking libnsl2:arm64 (1.3.0-3+b3) ... Selecting previously unselected package libpython3.12-stdlib:arm64. Preparing to unpack .../54-libpython3.12-stdlib_3.12.9-1_arm64.deb ... Unpacking libpython3.12-stdlib:arm64 (3.12.9-1) ... Selecting previously unselected package python3.12. Preparing to unpack .../55-python3.12_3.12.9-1_arm64.deb ... Unpacking python3.12 (3.12.9-1) ... Selecting previously unselected package python3-all. Preparing to unpack .../56-python3-all_3.13.1-2_arm64.deb ... Unpacking python3-all (3.13.1-2) ... Selecting previously unselected package python3-gast. Preparing to unpack .../57-python3-gast_0.6.0-1_all.deb ... Unpacking python3-gast (0.6.0-1) ... Setting up media-types (11.0.0) ... Setting up libpipeline1:arm64 (1.5.8-1) ... Setting up libkeyutils1:arm64 (1.6.3-4) ... Setting up libicu72:arm64 (72.1-6) ... Setting up bsdextrautils (2.40.4-4) ... Setting up libmagic-mgc (1:5.45-3+b1) ... Setting up libarchive-zip-perl (1.68-1) ... Setting up libtirpc-common (1.3.4+ds-1.3) ... Setting up libdebhelper-perl (13.24.1) ... Setting up libmagic1t64:arm64 (1:5.45-3+b1) ... Setting up libpython3.12-minimal:arm64 (3.12.9-1) ... Setting up gettext-base (0.23.1-1) ... Setting up m4 (1.4.19-5) ... Setting up libcom-err2:arm64 (1.47.2-1) ... Setting up file (1:5.45-3+b1) ... Setting up libelf1t64:arm64 (0.192-4) ... Setting up libkrb5support0:arm64 (1.21.3-4) ... Setting up tzdata (2025a-2) ... Current default time zone: 'Etc/UTC' Local time is now: Fri Mar 27 15:09:31 UTC 2026. Universal Time is now: Fri Mar 27 15:09:31 UTC 2026. Run 'dpkg-reconfigure tzdata' if you wish to change it. Setting up autotools-dev (20220109.1) ... Setting up libunistring5:arm64 (1.3-1) ... Setting up autopoint (0.23.1-1) ... Setting up libk5crypto3:arm64 (1.21.3-4) ... Setting up autoconf (2.72-3) ... Setting up libffi8:arm64 (3.4.7-1) ... Setting up dwz (0.15-1+b1) ... Setting up sensible-utils (0.0.24) ... Setting up libuchardet0:arm64 (0.0.8-1+b2) ... Setting up netbase (6.4) ... Setting up libkrb5-3:arm64 (1.21.3-4) ... Setting up readline-common (8.2-6) ... Setting up libxml2:arm64 (2.12.7+dfsg+really2.9.14-0.2+b1) ... Setting up automake (1:1.17-3) ... update-alternatives: using /usr/bin/automake-1.17 to provide /usr/bin/automake (automake) in auto mode Setting up libfile-stripnondeterminism-perl (1.14.1-2) ... Setting up python3.12-minimal (3.12.9-1) ... Setting up gettext (0.23.1-1) ... Setting up libtool (2.5.4-3) ... Setting up intltool-debian (0.35.0+20060710.6) ... Setting up dh-autoreconf (20) ... Setting up libgssapi-krb5-2:arm64 (1.21.3-4) ... Setting up libreadline8t64:arm64 (8.2-6) ... Setting up dh-strip-nondeterminism (1.14.1-2) ... Setting up groff-base (1.23.0-7) ... Setting up libpython3.13-stdlib:arm64 (3.13.2-1) ... Setting up libpython3-stdlib:arm64 (3.13.1-2) ... Setting up libtirpc3t64:arm64 (1.3.4+ds-1.3+b1) ... Setting up python3.13 (3.13.2-1) ... Setting up po-debconf (1.0.21+nmu1) ... Setting up python3 (3.13.1-2) ... Setting up python3-zipp (3.21.0-1) ... Setting up python3-autocommand (2.2.2-3) ... Setting up man-db (2.13.0-1) ... Not building database; man-db/auto-update is not 'true'. Setting up python3-typing-extensions (4.12.2-2) ... Setting up libnsl2:arm64 (1.3.0-3+b3) ... Setting up python3-more-itertools (10.6.0-1) ... Setting up python3-jaraco.functools (4.1.0-1) ... Setting up libpython3.12-stdlib:arm64 (3.12.9-1) ... Setting up python3-jaraco.context (6.0.0-1) ... Setting up python3.12 (3.12.9-1) ... Setting up python3-typeguard (4.4.1-1) ... Setting up python3-gast (0.6.0-1) ... Setting up python3-all (3.13.1-2) ... Setting up debhelper (13.24.1) ... Setting up python3-inflect (7.3.1-2) ... Setting up python3-jaraco.text (4.0.0-1) ... Setting up python3-pkg-resources (75.8.0-1) ... Setting up python3-setuptools (75.8.0-1) ... Setting up dh-python (6.20250108) ... Processing triggers for libc-bin (2.40-7) ... Reading package lists... Building dependency tree... Reading state information... Reading extended state information... Initializing package states... Writing extended state information... Building tag database... -> Finished parsing the build-deps I: Building the package I: Running cd /build/reproducible-path/python-beniget-0.4.1/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-genchanges -S > ../python-beniget_0.4.1-3_source.changes dpkg-buildpackage: info: source package python-beniget dpkg-buildpackage: info: source version 0.4.1-3 dpkg-buildpackage: info: source distribution unstable dpkg-buildpackage: info: source changed by Louis-Philippe Véronneau dpkg-source --before-build . dpkg-buildpackage: info: host architecture arm64 debian/rules clean dh clean --with python3 --buildsystem=pybuild dh_auto_clean -O--buildsystem=pybuild I: pybuild base:311: python3.12 setup.py clean /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:270: UserWarning: Unknown distribution option: 'test_suite' warnings.warn(msg) running clean removing '/build/reproducible-path/python-beniget-0.4.1/.pybuild/cpython3_3.12_python-beniget/build' (and everything under it) 'build/bdist.linux-aarch64' does not exist -- can't clean it 'build/scripts-3.12' does not exist -- can't clean it I: pybuild base:311: python3.13 setup.py clean /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:270: UserWarning: Unknown distribution option: 'test_suite' warnings.warn(msg) running clean removing '/build/reproducible-path/python-beniget-0.4.1/.pybuild/cpython3_3.13_python-beniget/build' (and everything under it) 'build/bdist.linux-aarch64' does not exist -- can't clean it 'build/scripts-3.13' does not exist -- can't clean it dh_autoreconf_clean -O--buildsystem=pybuild dh_clean -O--buildsystem=pybuild debian/rules binary dh binary --with python3 --buildsystem=pybuild dh_update_autotools_config -O--buildsystem=pybuild dh_autoreconf -O--buildsystem=pybuild dh_auto_configure -O--buildsystem=pybuild I: pybuild base:311: python3.12 setup.py config /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:270: UserWarning: Unknown distribution option: 'test_suite' warnings.warn(msg) running config I: pybuild base:311: python3.13 setup.py config /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:270: UserWarning: Unknown distribution option: 'test_suite' warnings.warn(msg) running config dh_auto_build -O--buildsystem=pybuild I: pybuild base:311: /usr/bin/python3.12 setup.py build /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:270: UserWarning: Unknown distribution option: 'test_suite' warnings.warn(msg) running build running build_py creating /build/reproducible-path/python-beniget-0.4.1/.pybuild/cpython3_3.12_python-beniget/build/beniget copying beniget/beniget.py -> /build/reproducible-path/python-beniget-0.4.1/.pybuild/cpython3_3.12_python-beniget/build/beniget copying beniget/__init__.py -> /build/reproducible-path/python-beniget-0.4.1/.pybuild/cpython3_3.12_python-beniget/build/beniget I: pybuild base:311: /usr/bin/python3 setup.py build /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:270: UserWarning: Unknown distribution option: 'test_suite' warnings.warn(msg) running build running build_py creating /build/reproducible-path/python-beniget-0.4.1/.pybuild/cpython3_3.13_python-beniget/build/beniget copying beniget/beniget.py -> /build/reproducible-path/python-beniget-0.4.1/.pybuild/cpython3_3.13_python-beniget/build/beniget copying beniget/__init__.py -> /build/reproducible-path/python-beniget-0.4.1/.pybuild/cpython3_3.13_python-beniget/build/beniget debian/rules override_dh_auto_test make[1]: Entering directory '/build/reproducible-path/python-beniget-0.4.1' python3.12 -m unittest -v tests/*.py; python3.13 -m unittest -v tests/*.py; test_no_attribute (tests.attributes.TestAttributes.test_no_attribute) ... ok test_non_standard_self (tests.attributes.TestAttributes.test_non_standard_self) ... ok test_self_redefinition (tests.attributes.TestAttributes.test_self_redefinition) ... ok test_self_redefinition_in_args (tests.attributes.TestAttributes.test_self_redefinition_in_args) ... ok test_self_redefinition_in_both_branch (tests.attributes.TestAttributes.test_self_redefinition_in_both_branch) ... ok test_self_redefinition_in_branch_false (tests.attributes.TestAttributes.test_self_redefinition_in_branch_false) ... ok test_self_redefinition_in_branch_true (tests.attributes.TestAttributes.test_self_redefinition_in_branch_true) ... ok test_simple_attribute (tests.attributes.TestAttributes.test_simple_attribute) ... ok test_no_capture (tests.capture.TestCapture.test_no_capture) ... ok test_simple_capture (tests.capture.TestCapture.test_simple_capture) ... ok test_assign_in_loop (tests.chains.TestDefUseChains.test_assign_in_loop) ... ok test_assign_in_loop_in_conditional (tests.chains.TestDefUseChains.test_assign_in_loop_in_conditional) ... ok test_assign_in_while_in_conditional (tests.chains.TestDefUseChains.test_assign_in_while_in_conditional) ... ok test_attr (tests.chains.TestDefUseChains.test_attr) ... ok test_augassign (tests.chains.TestDefUseChains.test_augassign) ... ok test_augassign_in_loop (tests.chains.TestDefUseChains.test_augassign_in_loop) ... ok test_break_in_loop (tests.chains.TestDefUseChains.test_break_in_loop) ... ok test_class_annotation (tests.chains.TestDefUseChains.test_class_annotation) ... ok test_class_decorator (tests.chains.TestDefUseChains.test_class_decorator) ... ok test_complex_for_orelse (tests.chains.TestDefUseChains.test_complex_for_orelse) ... ok test_complex_while_orelse (tests.chains.TestDefUseChains.test_complex_while_orelse) ... ok test_continue_in_loop (tests.chains.TestDefUseChains.test_continue_in_loop) ... ok test_expanded_augassign (tests.chains.TestDefUseChains.test_expanded_augassign) ... ok test_expression_chain (tests.chains.TestDefUseChains.test_expression_chain) ... ok test_for_break (tests.chains.TestDefUseChains.test_for_break) ... ok test_for_pass (tests.chains.TestDefUseChains.test_for_pass) ... ok test_functiondef_returns (tests.chains.TestDefUseChains.test_functiondef_returns) ... ok test_if_both_branch (tests.chains.TestDefUseChains.test_if_both_branch) ... ok test_if_false_branch (tests.chains.TestDefUseChains.test_if_false_branch) ... ok test_if_in_loop (tests.chains.TestDefUseChains.test_if_in_loop) ... ok test_if_true_branch (tests.chains.TestDefUseChains.test_if_true_branch) ... ok test_ifexp_chain (tests.chains.TestDefUseChains.test_ifexp_chain) ... ok test_import_from (tests.chains.TestDefUseChains.test_import_from) ... ok test_import_from_as (tests.chains.TestDefUseChains.test_import_from_as) ... ok test_method_function_conflict (tests.chains.TestDefUseChains.test_method_function_conflict) ... ok test_multiple_import_as (tests.chains.TestDefUseChains.test_multiple_import_as) ... ok test_multiple_import_from_as (tests.chains.TestDefUseChains.test_multiple_import_from_as) ... ok test_named_expr_complex (tests.chains.TestDefUseChains.test_named_expr_complex) ... ok test_named_expr_simple (tests.chains.TestDefUseChains.test_named_expr_simple) ... ok test_named_expr_with_rename (tests.chains.TestDefUseChains.test_named_expr_with_rename) ... ok test_nested_if (tests.chains.TestDefUseChains.test_nested_if) ... ok test_nested_if_else (tests.chains.TestDefUseChains.test_nested_if_else) ... ok test_nested_while (tests.chains.TestDefUseChains.test_nested_while) ... ok test_reassign_in_loop (tests.chains.TestDefUseChains.test_reassign_in_loop) ... ok test_redef_try_except (tests.chains.TestDefUseChains.test_redef_try_except) ... ok test_simple_except (tests.chains.TestDefUseChains.test_simple_except) ... ok test_simple_expression (tests.chains.TestDefUseChains.test_simple_expression) ... ok test_simple_for (tests.chains.TestDefUseChains.test_simple_for) ... ok test_simple_for_orelse (tests.chains.TestDefUseChains.test_simple_for_orelse) ... ok test_simple_import (tests.chains.TestDefUseChains.test_simple_import) ... ok test_simple_import_as (tests.chains.TestDefUseChains.test_simple_import_as) ... ok test_simple_print (tests.chains.TestDefUseChains.test_simple_print) ... ok test_simple_redefinition (tests.chains.TestDefUseChains.test_simple_redefinition) ... ok test_simple_try (tests.chains.TestDefUseChains.test_simple_try) ... ok test_simple_try_except (tests.chains.TestDefUseChains.test_simple_try_except) ... ok test_simple_while (tests.chains.TestDefUseChains.test_simple_while) ... ok test_star_import_with_conditional_redef (tests.chains.TestDefUseChains.test_star_import_with_conditional_redef) ... ok test_try_except (tests.chains.TestDefUseChains.test_try_except) ... ok test_type_destructuring_for (tests.chains.TestDefUseChains.test_type_destructuring_for) ... ok test_type_destructuring_list (tests.chains.TestDefUseChains.test_type_destructuring_list) ... ok test_type_destructuring_tuple (tests.chains.TestDefUseChains.test_type_destructuring_tuple) ... ok test_unbound_identifier_message_format (tests.chains.TestDefUseChains.test_unbound_identifier_message_format) ... ok test_while_break (tests.chains.TestDefUseChains.test_while_break) ... ok test_while_cond_break (tests.chains.TestDefUseChains.test_while_cond_break) ... ok test_while_cond_continue (tests.chains.TestDefUseChains.test_while_cond_continue) ... ok test_while_nested_break (tests.chains.TestDefUseChains.test_while_nested_break) ... ok test_while_orelse_break (tests.chains.TestDefUseChains.test_while_orelse_break) ... ok test_with_handler (tests.chains.TestDefUseChains.test_with_handler) ... ok test_call (tests.chains.TestUseDefChains.test_call) ... ok test_simple_expression (tests.chains.TestUseDefChains.test_simple_expression) ... ok test_class_method_assign (tests.definitions.TestClasses.test_class_method_assign) ... ok testAsyncFunctionDef (tests.definitions.TestGlobals.testAsyncFunctionDef) ... ok testClassDef (tests.definitions.TestGlobals.testClassDef) ... ok testClassMethodDef (tests.definitions.TestGlobals.testClassMethodDef) ... ok testClassRedefinition (tests.definitions.TestGlobals.testClassRedefinition) ... ok testDelClassDef (tests.definitions.TestGlobals.testDelClassDef) ... ok testDelClassDefReDef (tests.definitions.TestGlobals.testDelClassDefReDef) ... ok testFuntionNested (tests.definitions.TestGlobals.testFuntionNested) ... ok testFuntionRedefinion (tests.definitions.TestGlobals.testFuntionRedefinion) ... ok testGlobalAfterKeyword (tests.definitions.TestGlobals.testGlobalAfterKeyword) ... ok testGlobalAnnotatedDef (tests.definitions.TestGlobals.testGlobalAnnotatedDef) ... ok testGlobalAsyncFor (tests.definitions.TestGlobals.testGlobalAsyncFor) ... ok testGlobalAsyncWith (tests.definitions.TestGlobals.testGlobalAsyncWith) ... ok testGlobalAugAssign (tests.definitions.TestGlobals.testGlobalAugAssign) ... ok testGlobalBeforeKeyword (tests.definitions.TestGlobals.testGlobalBeforeKeyword) ... ok testGlobalDef (tests.definitions.TestGlobals.testGlobalDef) ... ok testGlobalDestructuring (tests.definitions.TestGlobals.testGlobalDestructuring) ... ok testGlobalDictComp (tests.definitions.TestGlobals.testGlobalDictComp) ... ok testGlobalFor (tests.definitions.TestGlobals.testGlobalFor) ... ok testGlobalForDestructuring (tests.definitions.TestGlobals.testGlobalForDestructuring) ... ok testGlobalGeneratorExpr (tests.definitions.TestGlobals.testGlobalGeneratorExpr) ... ok testGlobalImport (tests.definitions.TestGlobals.testGlobalImport) ... ok testGlobalImportAs (tests.definitions.TestGlobals.testGlobalImportAs) ... ok testGlobalImportFrom (tests.definitions.TestGlobals.testGlobalImportFrom) ... ok testGlobalImportFromAs (tests.definitions.TestGlobals.testGlobalImportFromAs) ... ok testGlobalImportFromStar (tests.definitions.TestGlobals.testGlobalImportFromStar) ... ok testGlobalImportFromStarRedefine (tests.definitions.TestGlobals.testGlobalImportFromStarRedefine) ... ok testGlobalImportSubModule (tests.definitions.TestGlobals.testGlobalImportSubModule) ... ok testGlobalImportSubModuleAs (tests.definitions.TestGlobals.testGlobalImportSubModuleAs) ... ok testGlobalImports (tests.definitions.TestGlobals.testGlobalImports) ... ok testGlobalImportsAs (tests.definitions.TestGlobals.testGlobalImportsAs) ... ok testGlobalImportsFrom (tests.definitions.TestGlobals.testGlobalImportsFrom) ... ok testGlobalImportsFromAs (tests.definitions.TestGlobals.testGlobalImportsFromAs) ... ok testGlobalInFor (tests.definitions.TestGlobals.testGlobalInFor) ... ok testGlobalInIfBothBranch (tests.definitions.TestGlobals.testGlobalInIfBothBranch) ... ok testGlobalInIfBothBranchDifferent (tests.definitions.TestGlobals.testGlobalInIfBothBranchDifferent) ... ok testGlobalInIfFalseBranch (tests.definitions.TestGlobals.testGlobalInIfFalseBranch) ... ok testGlobalInIfTrueBranch (tests.definitions.TestGlobals.testGlobalInIfTrueBranch) ... ok testGlobalInWhile (tests.definitions.TestGlobals.testGlobalInWhile) ... ok testGlobalLambda (tests.definitions.TestGlobals.testGlobalLambda) ... ok testGlobalListComp (tests.definitions.TestGlobals.testGlobalListComp) ... ok testGlobalNestedFor (tests.definitions.TestGlobals.testGlobalNestedFor) ... ok testGlobalSetComp (tests.definitions.TestGlobals.testGlobalSetComp) ... ok testGlobalThroughKeyword (tests.definitions.TestGlobals.testGlobalThroughKeyword) ... ok testGlobalThroughKeywords (tests.definitions.TestGlobals.testGlobalThroughKeywords) ... ok testGlobalThroughMultipleKeyword (tests.definitions.TestGlobals.testGlobalThroughMultipleKeyword) ... ok testGlobalTry (tests.definitions.TestGlobals.testGlobalTry) ... ok testGlobalTryExcept (tests.definitions.TestGlobals.testGlobalTryExcept) ... ok testGlobalTryExceptFinally (tests.definitions.TestGlobals.testGlobalTryExceptFinally) ... ok testGlobalWith (tests.definitions.TestGlobals.testGlobalWith) ... ok testGlobalsAfterKeyword (tests.definitions.TestGlobals.testGlobalsAfterKeyword) ... ok testGlobalsBeforeKeyword (tests.definitions.TestGlobals.testGlobalsBeforeKeyword) ... ok testMultipleClassDef (tests.definitions.TestGlobals.testMultipleClassDef) ... ok testMultipleGlobalDef (tests.definitions.TestGlobals.testMultipleGlobalDef) ... ok testNestedClassDef (tests.definitions.TestGlobals.testNestedClassDef) ... ok test_MultipleFunctionDef (tests.definitions.TestGlobals.test_MultipleFunctionDef) ... ok test_SingleFunctionDef (tests.definitions.TestGlobals.test_SingleFunctionDef) ... ok testLocalFunctionDef (tests.definitions.TestLocals.testLocalFunctionDef) ... ok testLocalFunctionDefArgsDefault (tests.definitions.TestLocals.testLocalFunctionDefArgsDefault) ... ok testLocalFunctionDefKwArgs (tests.definitions.TestLocals.testLocalFunctionDefKwArgs) ... ok testLocalFunctionDefKwOnly (tests.definitions.TestLocals.testLocalFunctionDefKwOnly) ... ok testLocalFunctionDefOneArg (tests.definitions.TestLocals.testLocalFunctionDefOneArg) ... ok testLocalFunctionDefOneArgDefault (tests.definitions.TestLocals.testLocalFunctionDefOneArgDefault) ... ok testLocalFunctionDefStarArgs (tests.definitions.TestLocals.testLocalFunctionDefStarArgs) ... ok test_AugAssignInLoop (tests.definitions.TestLocals.test_AugAssignInLoop) ... ok test_IfInWhile (tests.definitions.TestLocals.test_IfInWhile) ... ok test_ListCompInLoop (tests.definitions.TestLocals.test_ListCompInLoop) ... ok test_LocalAssign (tests.definitions.TestLocals.test_LocalAssign) ... ok test_LocalAssignRedef (tests.definitions.TestLocals.test_LocalAssignRedef) ... ok test_LocalGlobal (tests.definitions.TestLocals.test_LocalGlobal) ... ok test_LocalNestedFun (tests.definitions.TestLocals.test_LocalNestedFun) ... ok test_LocalNonLocalAfter (tests.definitions.TestLocals.test_LocalNonLocalAfter) ... ok test_LocalNonLocalBefore (tests.definitions.TestLocals.test_LocalNonLocalBefore) ... ok test_beniget_documentation (tests.doc.TestDoctest.test_beniget_documentation) ... ok test_beniget_readme (tests.doc.TestDoctest.test_beniget_readme) ... Trying: import gast as ast Expecting nothing ok Trying: code = 'def foo(x): return x + 1' Expecting nothing ok Trying: module = ast.parse(code) Expecting nothing ok Trying: from beniget import Ancestors Expecting nothing ok Trying: ancestors = Ancestors() Expecting nothing ok Trying: ancestors.visit(module) Expecting nothing ok Trying: binop = module.body[0].body[0].value Expecting nothing ok Trying: for n in ancestors.parents(binop): print(type(n)) Expecting: ok Trying: import gast as ast Expecting nothing ok Trying: module = ast.parse("from b import c, d; c()") Expecting nothing ok Trying: duc = DefUseChains() Expecting nothing ok Trying: duc.visit(module) Expecting nothing ok Trying: for head in duc.locals[module]: print("{}: {}".format(head.name(), len(head.users()))) Expecting: c: 1 d: 0 ok Trying: alias_def = duc.chains[module.body[0].names[0]] Expecting nothing ok Trying: print(alias_def) Expecting: c -> (c -> (Call -> ())) ok 94 items had no tests: beniget.beniget beniget.beniget.Ancestors.__init__ beniget.beniget.Ancestors.generic_visit beniget.beniget.Ancestors.parent beniget.beniget.Ancestors.parentFunction beniget.beniget.Ancestors.parentInstance beniget.beniget.Ancestors.parentStmt beniget.beniget.Ancestors.parents beniget.beniget.CollectGlobals beniget.beniget.CollectGlobals.__init__ beniget.beniget.CollectGlobals.visit_Global beniget.beniget.Def beniget.beniget.Def.__init__ beniget.beniget.Def.__repr__ beniget.beniget.Def.__str__ beniget.beniget.Def._repr beniget.beniget.Def._str beniget.beniget.Def.add_user beniget.beniget.Def.name beniget.beniget.Def.users beniget.beniget.DefUseChains.CompDefinitionContext beniget.beniget.DefUseChains.DefinitionContext beniget.beniget.DefUseChains.__init__ beniget.beniget.DefUseChains.add_to_definition beniget.beniget.DefUseChains.defs beniget.beniget.DefUseChains.dump_chains beniget.beniget.DefUseChains.dump_definitions beniget.beniget.DefUseChains.extend_definition beniget.beniget.DefUseChains.lookup_identifier beniget.beniget.DefUseChains.process_body beniget.beniget.DefUseChains.process_undefs beniget.beniget.DefUseChains.set_definition beniget.beniget.DefUseChains.unbound_identifier beniget.beniget.DefUseChains.visit_AnnAssign beniget.beniget.DefUseChains.visit_Assert beniget.beniget.DefUseChains.visit_Assign beniget.beniget.DefUseChains.visit_AugAssign beniget.beniget.DefUseChains.visit_Await beniget.beniget.DefUseChains.visit_BinOp beniget.beniget.DefUseChains.visit_BoolOp beniget.beniget.DefUseChains.visit_Break beniget.beniget.DefUseChains.visit_Call beniget.beniget.DefUseChains.visit_ClassDef beniget.beniget.DefUseChains.visit_Compare beniget.beniget.DefUseChains.visit_Constant beniget.beniget.DefUseChains.visit_Continue beniget.beniget.DefUseChains.visit_Delete beniget.beniget.DefUseChains.visit_Destructured beniget.beniget.DefUseChains.visit_Dict beniget.beniget.DefUseChains.visit_DictComp beniget.beniget.DefUseChains.visit_Exec beniget.beniget.DefUseChains.visit_Expr beniget.beniget.DefUseChains.visit_For beniget.beniget.DefUseChains.visit_FormattedValue beniget.beniget.DefUseChains.visit_FunctionDef beniget.beniget.DefUseChains.visit_Global beniget.beniget.DefUseChains.visit_If beniget.beniget.DefUseChains.visit_IfExp beniget.beniget.DefUseChains.visit_Import beniget.beniget.DefUseChains.visit_ImportFrom beniget.beniget.DefUseChains.visit_JoinedStr beniget.beniget.DefUseChains.visit_Lambda beniget.beniget.DefUseChains.visit_List beniget.beniget.DefUseChains.visit_ListComp beniget.beniget.DefUseChains.visit_Module beniget.beniget.DefUseChains.visit_Name beniget.beniget.DefUseChains.visit_NamedExpr beniget.beniget.DefUseChains.visit_Nonlocal beniget.beniget.DefUseChains.visit_Print beniget.beniget.DefUseChains.visit_Raise beniget.beniget.DefUseChains.visit_Return beniget.beniget.DefUseChains.visit_Set beniget.beniget.DefUseChains.visit_Slice beniget.beniget.DefUseChains.visit_Subscript beniget.beniget.DefUseChains.visit_Try beniget.beniget.DefUseChains.visit_UnaryOp beniget.beniget.DefUseChains.visit_While beniget.beniget.DefUseChains.visit_With beniget.beniget.DefUseChains.visit_Yield beniget.beniget.DefUseChains.visit_arguments beniget.beniget.DefUseChains.visit_comprehension beniget.beniget.DefUseChains.visit_excepthandler beniget.beniget.DefUseChains.visit_withitem beniget.beniget.UseDefChains beniget.beniget.UseDefChains.__init__ beniget.beniget.UseDefChains.__str__ beniget.beniget.ordered_set beniget.beniget.ordered_set.__add__ beniget.beniget.ordered_set.__contains__ beniget.beniget.ordered_set.__init__ beniget.beniget.ordered_set.__iter__ beniget.beniget.ordered_set.__len__ beniget.beniget.ordered_set.add beniget.beniget.ordered_set.update 2 items passed all tests: 8 tests in beniget.beniget.Ancestors 7 tests in beniget.beniget.DefUseChains 15 tests in 96 items. 15 passed and 0 failed. Test passed. Trying: import beniget, gast as ast Expecting nothing ok Trying: code = "from math import cos, sin; print(cos(3))" Expecting nothing ok Trying: module = ast.parse(code) Expecting nothing ok Trying: duc = beniget.DefUseChains() Expecting nothing ok Trying: duc.visit(module) Expecting nothing ok Trying: imported = module.body[0].names Expecting nothing ok Trying: for name in imported: ud = duc.chains[name] if not ud.users(): print("Unused import: {}".format(ud.name())) Expecting: Unused import: sin ok Trying: code = """ nice = lambda x: x @nice def aw(): pass def some(): pass""" Expecting nothing ok Trying: module = ast.parse(code) Expecting nothing ok Trying: duc = beniget.DefUseChains() Expecting nothing ok Trying: duc.visit(module) Expecting nothing ok Trying: ancestors = beniget.Ancestors() Expecting nothing ok Trying: ancestors.visit(module) Expecting nothing ok Trying: nice = [d for d in duc.locals[module] if d.name() == "nice"][0] Expecting nothing ok Trying: for use in nice.users(): # we're interested in the parent of the decorator parents = ancestors.parents(use.node) # direct parent of the decorator is the function fdef = parents[-1] print(fdef.name) Expecting: aw ok Trying: import gast as ast Expecting nothing ok Trying: import beniget Expecting nothing ok Trying: class Attributes(ast.NodeVisitor): def __init__(self, module_node): # compute the def-use of the module self.chains = beniget.DefUseChains() self.chains.visit(module_node) self.users = set() # all users of `self` self.attributes = set() # attributes of current class def visit_ClassDef(self, node): # walk methods and fill users of `self` for stmt in node.body: if isinstance(stmt, ast.FunctionDef): self_def = self.chains.chains[stmt.args.args[0]] self.users.update(use.node for use in self_def.users()) self.generic_visit(node) def visit_Attribute(self, node): # any attribute of `self` is registered if node.value in self.users: self.attributes.add(node.attr) Expecting nothing ok Trying: code = "class My(object):\n def __init__(self, x): self.x = x" Expecting nothing ok Trying: module = ast.parse(code) Expecting nothing ok Trying: classdef = module.body[0] Expecting nothing ok Trying: attr = Attributes(module) Expecting nothing ok Trying: attr.visit(classdef) Expecting nothing ok Trying: list(attr.attributes) Expecting: ['x'] ok Trying: import gast as ast Expecting nothing ok ---------------------------------------------------------------------- Ran 145 tests in 0.144s OK ok Trying: import beniget Expecting nothing ok Trying: class Capture(ast.NodeVisitor): def __init__(self, module_node): # initialize def-use chains self.chains = beniget.DefUseChains() self.chains.visit(module_node) self.users = set() # users of local definitions self.captured = set() # identifiers that don't belong to local users def visit_FunctionDef(self, node): # initialize the set of node using a local variable for def_ in self.chains.locals[node]: self.users.update(use.node for use in def_.users()) self.generic_visit(node) def visit_Name(self, node): # register load of identifiers not locally definied if isinstance(node.ctx, ast.Load): if node not in self.users: self.captured.add(node.id) Expecting nothing ok Trying: code = 'def foo(x):\n def bar(): return x\n return bar' Expecting nothing ok Trying: module = ast.parse(code) Expecting nothing ok Trying: inner_function = module.body[0].body[0] Expecting nothing ok Trying: capture = Capture(module) Expecting nothing ok Trying: capture.visit(inner_function) Expecting nothing ok Trying: list(capture.captured) Expecting: ['x'] ok Trying: import gast as ast Expecting nothing ok Trying: import beniget Expecting nothing ok Trying: class CaptureX(ast.NodeVisitor): def __init__(self, module_node, fun): self.fun = fun # initialize use-def chains du = beniget.DefUseChains() du.visit(module_node) self.chains = beniget.UseDefChains(du) self.ancestors = beniget.Ancestors() self.ancestors.visit(module_node) self.external = list() self.visited_external = set() def visit_Name(self, node): # register load of identifiers not locally defined if isinstance(node.ctx, ast.Load): uses = self.chains.chains[node] for use in uses: try: parents = self.ancestors.parents(use.node) except KeyError: return # a builtin if self.fun not in parents: parent = self.ancestors.parentStmt(use.node) if parent not in self.visited_external: self.visited_external.add(parent) self.external.append(parent) self.rec(parent) def rec(self, node): "walk definitions to find their operands's def" if isinstance(node, ast.Assign): self.visit(node.value) # TODO: implement this for AugAssign etc Expecting nothing ok Trying: code = 'a = 1; b = [a, a]; c = len(b)\ndef foo():\n return c' Expecting nothing ok Trying: module = ast.parse(code) Expecting nothing ok Trying: function = module.body[3] Expecting nothing ok Trying: capturex = CaptureX(module, function) Expecting nothing ok Trying: capturex.visit(function) Expecting nothing ok Trying: list(map(type, capturex.external)) Expecting: [, , ] ok 1 items passed all tests: 42 tests in README.rst 42 tests in 1 items. 42 passed and 0 failed. Test passed. test_no_attribute (tests.attributes.TestAttributes.test_no_attribute) ... ok test_non_standard_self (tests.attributes.TestAttributes.test_non_standard_self) ... ok test_self_redefinition (tests.attributes.TestAttributes.test_self_redefinition) ... ok test_self_redefinition_in_args (tests.attributes.TestAttributes.test_self_redefinition_in_args) ... ok test_self_redefinition_in_both_branch (tests.attributes.TestAttributes.test_self_redefinition_in_both_branch) ... ok test_self_redefinition_in_branch_false (tests.attributes.TestAttributes.test_self_redefinition_in_branch_false) ... ok test_self_redefinition_in_branch_true (tests.attributes.TestAttributes.test_self_redefinition_in_branch_true) ... ok test_simple_attribute (tests.attributes.TestAttributes.test_simple_attribute) ... ok test_no_capture (tests.capture.TestCapture.test_no_capture) ... ok test_simple_capture (tests.capture.TestCapture.test_simple_capture) ... ok test_assign_in_loop (tests.chains.TestDefUseChains.test_assign_in_loop) ... ok test_assign_in_loop_in_conditional (tests.chains.TestDefUseChains.test_assign_in_loop_in_conditional) ... ok test_assign_in_while_in_conditional (tests.chains.TestDefUseChains.test_assign_in_while_in_conditional) ... ok test_attr (tests.chains.TestDefUseChains.test_attr) ... ok test_augassign (tests.chains.TestDefUseChains.test_augassign) ... ok test_augassign_in_loop (tests.chains.TestDefUseChains.test_augassign_in_loop) ... ok test_break_in_loop (tests.chains.TestDefUseChains.test_break_in_loop) ... ok test_class_annotation (tests.chains.TestDefUseChains.test_class_annotation) ... ok test_class_decorator (tests.chains.TestDefUseChains.test_class_decorator) ... ok test_complex_for_orelse (tests.chains.TestDefUseChains.test_complex_for_orelse) ... ok test_complex_while_orelse (tests.chains.TestDefUseChains.test_complex_while_orelse) ... ok test_continue_in_loop (tests.chains.TestDefUseChains.test_continue_in_loop) ... ok test_expanded_augassign (tests.chains.TestDefUseChains.test_expanded_augassign) ... ok test_expression_chain (tests.chains.TestDefUseChains.test_expression_chain) ... ok test_for_break (tests.chains.TestDefUseChains.test_for_break) ... ok test_for_pass (tests.chains.TestDefUseChains.test_for_pass) ... ok test_functiondef_returns (tests.chains.TestDefUseChains.test_functiondef_returns) ... ok test_if_both_branch (tests.chains.TestDefUseChains.test_if_both_branch) ... ok test_if_false_branch (tests.chains.TestDefUseChains.test_if_false_branch) ... ok test_if_in_loop (tests.chains.TestDefUseChains.test_if_in_loop) ... ok test_if_true_branch (tests.chains.TestDefUseChains.test_if_true_branch) ... ok test_ifexp_chain (tests.chains.TestDefUseChains.test_ifexp_chain) ... ok test_import_from (tests.chains.TestDefUseChains.test_import_from) ... ok test_import_from_as (tests.chains.TestDefUseChains.test_import_from_as) ... ok test_method_function_conflict (tests.chains.TestDefUseChains.test_method_function_conflict) ... ok test_multiple_import_as (tests.chains.TestDefUseChains.test_multiple_import_as) ... ok test_multiple_import_from_as (tests.chains.TestDefUseChains.test_multiple_import_from_as) ... ok test_named_expr_complex (tests.chains.TestDefUseChains.test_named_expr_complex) ... ok test_named_expr_simple (tests.chains.TestDefUseChains.test_named_expr_simple) ... ok test_named_expr_with_rename (tests.chains.TestDefUseChains.test_named_expr_with_rename) ... ok test_nested_if (tests.chains.TestDefUseChains.test_nested_if) ... ok test_nested_if_else (tests.chains.TestDefUseChains.test_nested_if_else) ... ok test_nested_while (tests.chains.TestDefUseChains.test_nested_while) ... ok test_reassign_in_loop (tests.chains.TestDefUseChains.test_reassign_in_loop) ... ok test_redef_try_except (tests.chains.TestDefUseChains.test_redef_try_except) ... ok test_simple_except (tests.chains.TestDefUseChains.test_simple_except) ... ok test_simple_expression (tests.chains.TestDefUseChains.test_simple_expression) ... ok test_simple_for (tests.chains.TestDefUseChains.test_simple_for) ... ok test_simple_for_orelse (tests.chains.TestDefUseChains.test_simple_for_orelse) ... ok test_simple_import (tests.chains.TestDefUseChains.test_simple_import) ... ok test_simple_import_as (tests.chains.TestDefUseChains.test_simple_import_as) ... ok test_simple_print (tests.chains.TestDefUseChains.test_simple_print) ... ok test_simple_redefinition (tests.chains.TestDefUseChains.test_simple_redefinition) ... ok test_simple_try (tests.chains.TestDefUseChains.test_simple_try) ... ok test_simple_try_except (tests.chains.TestDefUseChains.test_simple_try_except) ... ok test_simple_while (tests.chains.TestDefUseChains.test_simple_while) ... ok test_star_import_with_conditional_redef (tests.chains.TestDefUseChains.test_star_import_with_conditional_redef) ... ok test_try_except (tests.chains.TestDefUseChains.test_try_except) ... ok test_type_destructuring_for (tests.chains.TestDefUseChains.test_type_destructuring_for) ... ok test_type_destructuring_list (tests.chains.TestDefUseChains.test_type_destructuring_list) ... ok test_type_destructuring_tuple (tests.chains.TestDefUseChains.test_type_destructuring_tuple) ... ok test_unbound_identifier_message_format (tests.chains.TestDefUseChains.test_unbound_identifier_message_format) ... ok test_while_break (tests.chains.TestDefUseChains.test_while_break) ... ok test_while_cond_break (tests.chains.TestDefUseChains.test_while_cond_break) ... ok test_while_cond_continue (tests.chains.TestDefUseChains.test_while_cond_continue) ... ok test_while_nested_break (tests.chains.TestDefUseChains.test_while_nested_break) ... ok test_while_orelse_break (tests.chains.TestDefUseChains.test_while_orelse_break) ... ok test_with_handler (tests.chains.TestDefUseChains.test_with_handler) ... ok test_call (tests.chains.TestUseDefChains.test_call) ... ok test_simple_expression (tests.chains.TestUseDefChains.test_simple_expression) ... ok test_class_method_assign (tests.definitions.TestClasses.test_class_method_assign) ... ok testAsyncFunctionDef (tests.definitions.TestGlobals.testAsyncFunctionDef) ... ok testClassDef (tests.definitions.TestGlobals.testClassDef) ... ok testClassMethodDef (tests.definitions.TestGlobals.testClassMethodDef) ... ok testClassRedefinition (tests.definitions.TestGlobals.testClassRedefinition) ... ok testDelClassDef (tests.definitions.TestGlobals.testDelClassDef) ... ok testDelClassDefReDef (tests.definitions.TestGlobals.testDelClassDefReDef) ... ok testFuntionNested (tests.definitions.TestGlobals.testFuntionNested) ... ok testFuntionRedefinion (tests.definitions.TestGlobals.testFuntionRedefinion) ... ok testGlobalAfterKeyword (tests.definitions.TestGlobals.testGlobalAfterKeyword) ... ok testGlobalAnnotatedDef (tests.definitions.TestGlobals.testGlobalAnnotatedDef) ... ok testGlobalAsyncFor (tests.definitions.TestGlobals.testGlobalAsyncFor) ... ok testGlobalAsyncWith (tests.definitions.TestGlobals.testGlobalAsyncWith) ... ok testGlobalAugAssign (tests.definitions.TestGlobals.testGlobalAugAssign) ... ok testGlobalBeforeKeyword (tests.definitions.TestGlobals.testGlobalBeforeKeyword) ... ok testGlobalDef (tests.definitions.TestGlobals.testGlobalDef) ... ok testGlobalDestructuring (tests.definitions.TestGlobals.testGlobalDestructuring) ... ok testGlobalDictComp (tests.definitions.TestGlobals.testGlobalDictComp) ... ok testGlobalFor (tests.definitions.TestGlobals.testGlobalFor) ... ok testGlobalForDestructuring (tests.definitions.TestGlobals.testGlobalForDestructuring) ... ok testGlobalGeneratorExpr (tests.definitions.TestGlobals.testGlobalGeneratorExpr) ... ok testGlobalImport (tests.definitions.TestGlobals.testGlobalImport) ... ok testGlobalImportAs (tests.definitions.TestGlobals.testGlobalImportAs) ... ok testGlobalImportFrom (tests.definitions.TestGlobals.testGlobalImportFrom) ... ok testGlobalImportFromAs (tests.definitions.TestGlobals.testGlobalImportFromAs) ... ok testGlobalImportFromStar (tests.definitions.TestGlobals.testGlobalImportFromStar) ... ok testGlobalImportFromStarRedefine (tests.definitions.TestGlobals.testGlobalImportFromStarRedefine) ... ok testGlobalImportSubModule (tests.definitions.TestGlobals.testGlobalImportSubModule) ... ok testGlobalImportSubModuleAs (tests.definitions.TestGlobals.testGlobalImportSubModuleAs) ... ok testGlobalImports (tests.definitions.TestGlobals.testGlobalImports) ... ok testGlobalImportsAs (tests.definitions.TestGlobals.testGlobalImportsAs) ... ok testGlobalImportsFrom (tests.definitions.TestGlobals.testGlobalImportsFrom) ... ok testGlobalImportsFromAs (tests.definitions.TestGlobals.testGlobalImportsFromAs) ... ok testGlobalInFor (tests.definitions.TestGlobals.testGlobalInFor) ... ok testGlobalInIfBothBranch (tests.definitions.TestGlobals.testGlobalInIfBothBranch) ... ok testGlobalInIfBothBranchDifferent (tests.definitions.TestGlobals.testGlobalInIfBothBranchDifferent) ... ok testGlobalInIfFalseBranch (tests.definitions.TestGlobals.testGlobalInIfFalseBranch) ... ok testGlobalInIfTrueBranch (tests.definitions.TestGlobals.testGlobalInIfTrueBranch) ... ok testGlobalInWhile (tests.definitions.TestGlobals.testGlobalInWhile) ... ok testGlobalLambda (tests.definitions.TestGlobals.testGlobalLambda) ... ok testGlobalListComp (tests.definitions.TestGlobals.testGlobalListComp) ... ok testGlobalNestedFor (tests.definitions.TestGlobals.testGlobalNestedFor) ... ok testGlobalSetComp (tests.definitions.TestGlobals.testGlobalSetComp) ... ok testGlobalThroughKeyword (tests.definitions.TestGlobals.testGlobalThroughKeyword) ... ok testGlobalThroughKeywords (tests.definitions.TestGlobals.testGlobalThroughKeywords) ... ok testGlobalThroughMultipleKeyword (tests.definitions.TestGlobals.testGlobalThroughMultipleKeyword) ... ok testGlobalTry (tests.definitions.TestGlobals.testGlobalTry) ... ok testGlobalTryExcept (tests.definitions.TestGlobals.testGlobalTryExcept) ... ok testGlobalTryExceptFinally (tests.definitions.TestGlobals.testGlobalTryExceptFinally) ... ok testGlobalWith (tests.definitions.TestGlobals.testGlobalWith) ... ok testGlobalsAfterKeyword (tests.definitions.TestGlobals.testGlobalsAfterKeyword) ... ok testGlobalsBeforeKeyword (tests.definitions.TestGlobals.testGlobalsBeforeKeyword) ... ok testMultipleClassDef (tests.definitions.TestGlobals.testMultipleClassDef) ... ok testMultipleGlobalDef (tests.definitions.TestGlobals.testMultipleGlobalDef) ... ok testNestedClassDef (tests.definitions.TestGlobals.testNestedClassDef) ... ok test_MultipleFunctionDef (tests.definitions.TestGlobals.test_MultipleFunctionDef) ... ok test_SingleFunctionDef (tests.definitions.TestGlobals.test_SingleFunctionDef) ... ok testLocalFunctionDef (tests.definitions.TestLocals.testLocalFunctionDef) ... ok testLocalFunctionDefArgsDefault (tests.definitions.TestLocals.testLocalFunctionDefArgsDefault) ... ok testLocalFunctionDefKwArgs (tests.definitions.TestLocals.testLocalFunctionDefKwArgs) ... ok testLocalFunctionDefKwOnly (tests.definitions.TestLocals.testLocalFunctionDefKwOnly) ... ok testLocalFunctionDefOneArg (tests.definitions.TestLocals.testLocalFunctionDefOneArg) ... ok testLocalFunctionDefOneArgDefault (tests.definitions.TestLocals.testLocalFunctionDefOneArgDefault) ... ok testLocalFunctionDefStarArgs (tests.definitions.TestLocals.testLocalFunctionDefStarArgs) ... ok test_AugAssignInLoop (tests.definitions.TestLocals.test_AugAssignInLoop) ... ok test_IfInWhile (tests.definitions.TestLocals.test_IfInWhile) ... ok test_ListCompInLoop (tests.definitions.TestLocals.test_ListCompInLoop) ... ok test_LocalAssign (tests.definitions.TestLocals.test_LocalAssign) ... ok test_LocalAssignRedef (tests.definitions.TestLocals.test_LocalAssignRedef) ... ok test_LocalGlobal (tests.definitions.TestLocals.test_LocalGlobal) ... ok test_LocalNestedFun (tests.definitions.TestLocals.test_LocalNestedFun) ... ok test_LocalNonLocalAfter (tests.definitions.TestLocals.test_LocalNonLocalAfter) ... ok test_LocalNonLocalBefore (tests.definitions.TestLocals.test_LocalNonLocalBefore) ... ok test_beniget_documentation (tests.doc.TestDoctest.test_beniget_documentation) ... ok test_beniget_readme (tests.doc.TestDoctest.test_beniget_readme) ... Trying: import gast as ast Expecting nothing ok Trying: code = 'def foo(x): return x + 1' Expecting nothing ok Trying: module = ast.parse(code) Expecting nothing ok Trying: from beniget import Ancestors Expecting nothing ok Trying: ancestors = Ancestors() Expecting nothing ok Trying: ancestors.visit(module) Expecting nothing ok Trying: binop = module.body[0].body[0].value Expecting nothing ok Trying: for n in ancestors.parents(binop): print(type(n)) Expecting: ok Trying: import gast as ast Expecting nothing ok Trying: module = ast.parse("from b import c, d; c()") Expecting nothing ok Trying: duc = DefUseChains() Expecting nothing ok Trying: duc.visit(module) Expecting nothing ok Trying: for head in duc.locals[module]: print("{}: {}".format(head.name(), len(head.users()))) Expecting: c: 1 d: 0 ok Trying: alias_def = duc.chains[module.body[0].names[0]] Expecting nothing ok Trying: print(alias_def) Expecting: c -> (c -> (Call -> ())) ok 94 items had no tests: beniget.beniget beniget.beniget.Ancestors.__init__ beniget.beniget.Ancestors.generic_visit beniget.beniget.Ancestors.parent beniget.beniget.Ancestors.parentFunction beniget.beniget.Ancestors.parentInstance beniget.beniget.Ancestors.parentStmt beniget.beniget.Ancestors.parents beniget.beniget.CollectGlobals beniget.beniget.CollectGlobals.__init__ beniget.beniget.CollectGlobals.visit_Global beniget.beniget.Def beniget.beniget.Def.__init__ beniget.beniget.Def.__repr__ beniget.beniget.Def.__str__ beniget.beniget.Def._repr beniget.beniget.Def._str beniget.beniget.Def.add_user beniget.beniget.Def.name beniget.beniget.Def.users beniget.beniget.DefUseChains.CompDefinitionContext beniget.beniget.DefUseChains.DefinitionContext beniget.beniget.DefUseChains.__init__ beniget.beniget.DefUseChains.add_to_definition beniget.beniget.DefUseChains.defs beniget.beniget.DefUseChains.dump_chains beniget.beniget.DefUseChains.dump_definitions beniget.beniget.DefUseChains.extend_definition beniget.beniget.DefUseChains.lookup_identifier beniget.beniget.DefUseChains.process_body beniget.beniget.DefUseChains.process_undefs beniget.beniget.DefUseChains.set_definition beniget.beniget.DefUseChains.unbound_identifier beniget.beniget.DefUseChains.visit_AnnAssign beniget.beniget.DefUseChains.visit_Assert beniget.beniget.DefUseChains.visit_Assign beniget.beniget.DefUseChains.visit_AugAssign beniget.beniget.DefUseChains.visit_Await beniget.beniget.DefUseChains.visit_BinOp beniget.beniget.DefUseChains.visit_BoolOp beniget.beniget.DefUseChains.visit_Break beniget.beniget.DefUseChains.visit_Call beniget.beniget.DefUseChains.visit_ClassDef beniget.beniget.DefUseChains.visit_Compare beniget.beniget.DefUseChains.visit_Constant beniget.beniget.DefUseChains.visit_Continue beniget.beniget.DefUseChains.visit_Delete beniget.beniget.DefUseChains.visit_Destructured beniget.beniget.DefUseChains.visit_Dict beniget.beniget.DefUseChains.visit_DictComp beniget.beniget.DefUseChains.visit_Exec beniget.beniget.DefUseChains.visit_Expr beniget.beniget.DefUseChains.visit_For beniget.beniget.DefUseChains.visit_FormattedValue beniget.beniget.DefUseChains.visit_FunctionDef beniget.beniget.DefUseChains.visit_Global beniget.beniget.DefUseChains.visit_If beniget.beniget.DefUseChains.visit_IfExp beniget.beniget.DefUseChains.visit_Import beniget.beniget.DefUseChains.visit_ImportFrom beniget.beniget.DefUseChains.visit_JoinedStr beniget.beniget.DefUseChains.visit_Lambda beniget.beniget.DefUseChains.visit_List beniget.beniget.DefUseChains.visit_ListComp beniget.beniget.DefUseChains.visit_Module beniget.beniget.DefUseChains.visit_Name beniget.beniget.DefUseChains.visit_NamedExpr beniget.beniget.DefUseChains.visit_Nonlocal beniget.beniget.DefUseChains.visit_Print beniget.beniget.DefUseChains.visit_Raise beniget.beniget.DefUseChains.visit_Return beniget.beniget.DefUseChains.visit_Set beniget.beniget.DefUseChains.visit_Slice beniget.beniget.DefUseChains.visit_Subscript beniget.beniget.DefUseChains.visit_Try beniget.beniget.DefUseChains.visit_UnaryOp beniget.beniget.DefUseChains.visit_While beniget.beniget.DefUseChains.visit_With beniget.beniget.DefUseChains.visit_Yield beniget.beniget.DefUseChains.visit_arguments beniget.beniget.DefUseChains.visit_comprehension beniget.beniget.DefUseChains.visit_excepthandler beniget.beniget.DefUseChains.visit_withitem beniget.beniget.UseDefChains beniget.beniget.UseDefChains.__init__ beniget.beniget.UseDefChains.__str__ beniget.beniget.ordered_set beniget.beniget.ordered_set.__add__ beniget.beniget.ordered_set.__contains__ beniget.beniget.ordered_set.__init__ beniget.beniget.ordered_set.__iter__ beniget.beniget.ordered_set.__len__ beniget.beniget.ordered_set.add beniget.beniget.ordered_set.update 2 items passed all tests: 8 tests in beniget.beniget.Ancestors 7 tests in beniget.beniget.DefUseChains 15 tests in 96 items. 15 passed. Test passed. Trying: import beniget, gast as ast Expecting nothing ok Trying: code = "from math import cos, sin; print(cos(3))" Expecting nothing ok Trying: module = ast.parse(code) Expecting nothing ok Trying: duc = beniget.DefUseChains() Expecting nothing ok Trying: duc.visit(module) Expecting nothing ok Trying: imported = module.body[0].names Expecting nothing ok Trying: for name in imported: ud = duc.chains[name] if not ud.users(): print("Unused import: {}".format(ud.name())) Expecting: Unused import: sin ok Trying: code = """ nice = lambda x: x @nice def aw(): pass def some(): pass""" Expecting nothing ok Trying: module = ast.parse(code) Expecting nothing ok Trying: duc = beniget.DefUseChains() Expecting nothing ok Trying: duc.visit(module) Expecting nothing ok Trying: ancestors = beniget.Ancestors() Expecting nothing ok Trying: ancestors.visit(module) Expecting nothing ok Trying: nice = [d for d in duc.locals[module] if d.name() == "nice"][0] Expecting nothing ok Trying: for use in nice.users(): # we're interested in the parent of the decorator parents = ancestors.parents(use.node) # direct parent of the decorator is the function fdef = parents[-1] print(fdef.name) Expecting: aw ok Trying: import gast as ast Expecting nothing ok Trying: import beniget Expecting nothing ok Trying: class Attributes(ast.NodeVisitor): def __init__(self, module_node): # compute the def-use of the module self.chains = beniget.DefUseChains() self.chains.visit(module_node) self.users = set() # all users of `self` self.attributes = set() # attributes of current class def visit_ClassDef(self, node): # walk methods and fill users of `self` for stmt in node.body: if isinstance(stmt, ast.FunctionDef): self_def = self.chains.chains[stmt.args.args[0]] self.users.update(use.node for use in self_def.users()) self.generic_visit(node) def visit_Attribute(self, node): # any attribute of `self` is registered if node.value in self.users: self.attributes.add(node.attr) Expecting nothing ok Trying: code = "class My(object):\n def __init__(self, x): self.x = x" Expecting nothing ok Trying: module = ast.parse(code) Expecting nothing ok Trying: classdef = module.body[0] Expecting nothing ok Trying: attr = Attributes(module) Expecting nothing ok Trying: attr.visit(classdef) Expecting nothing ok Trying: list(attr.attributes) Expecting: ['x'] ok Trying: import gast as ast Expecting nothing ok ok ---------------------------------------------------------------------- Ran 145 tests in 0.228s OK Trying: import beniget Expecting nothing ok Trying: class Capture(ast.NodeVisitor): def __init__(self, module_node): # initialize def-use chains self.chains = beniget.DefUseChains() self.chains.visit(module_node) self.users = set() # users of local definitions self.captured = set() # identifiers that don't belong to local users def visit_FunctionDef(self, node): # initialize the set of node using a local variable for def_ in self.chains.locals[node]: self.users.update(use.node for use in def_.users()) self.generic_visit(node) def visit_Name(self, node): # register load of identifiers not locally definied if isinstance(node.ctx, ast.Load): if node not in self.users: self.captured.add(node.id) Expecting nothing ok Trying: code = 'def foo(x):\n def bar(): return x\n return bar' Expecting nothing ok Trying: module = ast.parse(code) Expecting nothing ok Trying: inner_function = module.body[0].body[0] Expecting nothing ok Trying: capture = Capture(module) Expecting nothing ok Trying: capture.visit(inner_function) Expecting nothing ok Trying: list(capture.captured) Expecting: ['x'] ok Trying: import gast as ast Expecting nothing ok Trying: import beniget Expecting nothing ok Trying: class CaptureX(ast.NodeVisitor): def __init__(self, module_node, fun): self.fun = fun # initialize use-def chains du = beniget.DefUseChains() du.visit(module_node) self.chains = beniget.UseDefChains(du) self.ancestors = beniget.Ancestors() self.ancestors.visit(module_node) self.external = list() self.visited_external = set() def visit_Name(self, node): # register load of identifiers not locally defined if isinstance(node.ctx, ast.Load): uses = self.chains.chains[node] for use in uses: try: parents = self.ancestors.parents(use.node) except KeyError: return # a builtin if self.fun not in parents: parent = self.ancestors.parentStmt(use.node) if parent not in self.visited_external: self.visited_external.add(parent) self.external.append(parent) self.rec(parent) def rec(self, node): "walk definitions to find their operands's def" if isinstance(node, ast.Assign): self.visit(node.value) # TODO: implement this for AugAssign etc Expecting nothing ok Trying: code = 'a = 1; b = [a, a]; c = len(b)\ndef foo():\n return c' Expecting nothing ok Trying: module = ast.parse(code) Expecting nothing ok Trying: function = module.body[3] Expecting nothing ok Trying: capturex = CaptureX(module, function) Expecting nothing ok Trying: capturex.visit(function) Expecting nothing ok Trying: list(map(type, capturex.external)) Expecting: [, , ] ok 1 item passed all tests: 42 tests in README.rst 42 tests in 1 item. 42 passed. Test passed. make[1]: Leaving directory '/build/reproducible-path/python-beniget-0.4.1' create-stamp debian/debhelper-build-stamp dh_testroot -O--buildsystem=pybuild dh_prep -O--buildsystem=pybuild dh_auto_install --destdir=debian/python3-beniget/ -O--buildsystem=pybuild I: pybuild base:311: /usr/bin/python3.12 setup.py install --root /build/reproducible-path/python-beniget-0.4.1/debian/python3-beniget /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:270: UserWarning: Unknown distribution option: 'test_suite' warnings.warn(msg) running install /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:79: SetuptoolsDeprecationWarning: setup.py install is deprecated. !! ******************************************************************************** Please avoid running ``setup.py`` directly. Instead, use pypa/build, pypa/installer or other standards-based tools. See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html for details. ******************************************************************************** !! self.initialize_options() running build running build_py running install_lib creating /build/reproducible-path/python-beniget-0.4.1/debian/python3-beniget/usr/lib/python3.12/dist-packages creating /build/reproducible-path/python-beniget-0.4.1/debian/python3-beniget/usr/lib/python3.12/dist-packages/beniget copying /build/reproducible-path/python-beniget-0.4.1/.pybuild/cpython3_3.12_python-beniget/build/beniget/__init__.py -> /build/reproducible-path/python-beniget-0.4.1/debian/python3-beniget/usr/lib/python3.12/dist-packages/beniget copying /build/reproducible-path/python-beniget-0.4.1/.pybuild/cpython3_3.12_python-beniget/build/beniget/beniget.py -> /build/reproducible-path/python-beniget-0.4.1/debian/python3-beniget/usr/lib/python3.12/dist-packages/beniget byte-compiling /build/reproducible-path/python-beniget-0.4.1/debian/python3-beniget/usr/lib/python3.12/dist-packages/beniget/__init__.py to __init__.cpython-312.pyc byte-compiling /build/reproducible-path/python-beniget-0.4.1/debian/python3-beniget/usr/lib/python3.12/dist-packages/beniget/beniget.py to beniget.cpython-312.pyc running install_egg_info running egg_info creating beniget.egg-info writing beniget.egg-info/PKG-INFO writing dependency_links to beniget.egg-info/dependency_links.txt writing requirements to beniget.egg-info/requires.txt writing top-level names to beniget.egg-info/top_level.txt writing manifest file 'beniget.egg-info/SOURCES.txt' reading manifest file 'beniget.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' adding license file 'LICENSE' writing manifest file 'beniget.egg-info/SOURCES.txt' Copying beniget.egg-info to /build/reproducible-path/python-beniget-0.4.1/debian/python3-beniget/usr/lib/python3.12/dist-packages/beniget-0.4.1.egg-info Skipping SOURCES.txt running install_scripts I: pybuild base:311: /usr/bin/python3 setup.py install --root /build/reproducible-path/python-beniget-0.4.1/debian/python3-beniget /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:270: UserWarning: Unknown distribution option: 'test_suite' warnings.warn(msg) running install /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:79: SetuptoolsDeprecationWarning: setup.py install is deprecated. !! ******************************************************************************** Please avoid running ``setup.py`` directly. Instead, use pypa/build, pypa/installer or other standards-based tools. See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html for details. ******************************************************************************** !! self.initialize_options() running build running build_py running install_lib creating /build/reproducible-path/python-beniget-0.4.1/debian/python3-beniget/usr/lib/python3.13/dist-packages creating /build/reproducible-path/python-beniget-0.4.1/debian/python3-beniget/usr/lib/python3.13/dist-packages/beniget copying /build/reproducible-path/python-beniget-0.4.1/.pybuild/cpython3_3.13_python-beniget/build/beniget/__init__.py -> /build/reproducible-path/python-beniget-0.4.1/debian/python3-beniget/usr/lib/python3.13/dist-packages/beniget copying /build/reproducible-path/python-beniget-0.4.1/.pybuild/cpython3_3.13_python-beniget/build/beniget/beniget.py -> /build/reproducible-path/python-beniget-0.4.1/debian/python3-beniget/usr/lib/python3.13/dist-packages/beniget byte-compiling /build/reproducible-path/python-beniget-0.4.1/debian/python3-beniget/usr/lib/python3.13/dist-packages/beniget/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/python-beniget-0.4.1/debian/python3-beniget/usr/lib/python3.13/dist-packages/beniget/beniget.py to beniget.cpython-313.pyc running install_egg_info running egg_info writing beniget.egg-info/PKG-INFO writing dependency_links to beniget.egg-info/dependency_links.txt writing requirements to beniget.egg-info/requires.txt writing top-level names to beniget.egg-info/top_level.txt reading manifest file 'beniget.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' adding license file 'LICENSE' writing manifest file 'beniget.egg-info/SOURCES.txt' Copying beniget.egg-info to /build/reproducible-path/python-beniget-0.4.1/debian/python3-beniget/usr/lib/python3.13/dist-packages/beniget-0.4.1.egg-info Skipping SOURCES.txt running install_scripts dh_installdocs -O--buildsystem=pybuild dh_installchangelogs -O--buildsystem=pybuild dh_python3 -O--buildsystem=pybuild dh_installsystemduser -O--buildsystem=pybuild dh_perl -O--buildsystem=pybuild dh_link -O--buildsystem=pybuild dh_strip_nondeterminism -O--buildsystem=pybuild dh_compress -O--buildsystem=pybuild dh_fixperms -O--buildsystem=pybuild dh_missing -O--buildsystem=pybuild dh_installdeb -O--buildsystem=pybuild dh_gencontrol -O--buildsystem=pybuild dh_md5sums -O--buildsystem=pybuild dh_builddeb -O--buildsystem=pybuild dpkg-deb: building package 'python3-beniget' in '../python3-beniget_0.4.1-3_all.deb'. dpkg-genbuildinfo --build=binary -O../python-beniget_0.4.1-3_arm64.buildinfo dpkg-genchanges --build=binary -O../python-beniget_0.4.1-3_arm64.changes dpkg-genchanges: info: binary-only upload (no source code included) dpkg-source --after-build . dpkg-buildpackage: info: binary-only upload (no source included) dpkg-genchanges: info: not including original source code in upload I: copying local configuration I: unmounting dev/ptmx filesystem I: unmounting dev/pts filesystem I: unmounting dev/shm filesystem I: unmounting proc filesystem I: unmounting sys filesystem I: cleaning the build env I: removing directory /srv/workspace/pbuilder/2439922 and its subdirectories I: Current time: Fri Mar 27 03:09:50 -12 2026 I: pbuilder-time-stamp: 1774624190 Sat Feb 22 08:46:52 UTC 2025 I: 1st build successful. Starting 2nd build on remote node codethink04-arm64.debian.net. Sat Feb 22 08:46:52 UTC 2025 I: Preparing to do remote build '2' on codethink04-arm64.debian.net. Sat Feb 22 08:46:52 UTC 2025 - checking /var/lib/jenkins/offline_nodes if codethink04-arm64.debian.net is marked as down. Sat Feb 22 08:46:52 UTC 2025 - checking via ssh if codethink04-arm64.debian.net is up. removed '/tmp/read-only-fs-test-yar6S8' ==================================================================================== Sat Feb 22 08:46:54 UTC 2025 - running /srv/jenkins/bin/reproducible_build.sh (for job /srv/jenkins/bin/reproducible_build.sh) on codethink04-arm64, called using "2 python-beniget unstable /srv/reproducible-results/rbuild-debian/r-b-build.SfomDQJQ 0.4.1-3" as arguments. Sat Feb 22 08:46:54 UTC 2025 - actually running "reproducible_build.sh" (md5sum 68e686e434c9ab7bc3ec047d8b309cbc) as "/tmp/jenkins-script-CjiVvr5C" $ git clone https://salsa.debian.org/qa/jenkins.debian.net.git ; more CONTRIBUTING Sat Feb 22 08:46:54 UTC 2025 I: Downloading source for unstable/python-beniget=0.4.1-3 Reading package lists... NOTICE: 'python-beniget' packaging is maintained in the 'Git' version control system at: https://salsa.debian.org/python-team/packages/python-beniget.git Please use: git clone https://salsa.debian.org/python-team/packages/python-beniget.git to retrieve the latest (possibly unreleased) updates to the package. Need to get 20.6 kB of source archives. Get:1 http://deb.debian.org/debian unstable/main python-beniget 0.4.1-3 (dsc) [1524 B] Get:2 http://deb.debian.org/debian unstable/main python-beniget 0.4.1-3 (tar) [16.4 kB] Get:3 http://deb.debian.org/debian unstable/main python-beniget 0.4.1-3 (diff) [2688 B] Fetched 20.6 kB in 0s (1299 kB/s) Download complete and in download only mode Reading package lists... NOTICE: 'python-beniget' packaging is maintained in the 'Git' version control system at: https://salsa.debian.org/python-team/packages/python-beniget.git Please use: git clone https://salsa.debian.org/python-team/packages/python-beniget.git to retrieve the latest (possibly unreleased) updates to the package. Need to get 20.6 kB of source archives. Get:1 http://deb.debian.org/debian unstable/main python-beniget 0.4.1-3 (dsc) [1524 B] Get:2 http://deb.debian.org/debian unstable/main python-beniget 0.4.1-3 (tar) [16.4 kB] Get:3 http://deb.debian.org/debian unstable/main python-beniget 0.4.1-3 (diff) [2688 B] Fetched 20.6 kB in 0s (1299 kB/s) Download complete and in download only mode ============================================================================= Re-Building python-beniget in unstable on arm64 on codethink04-arm64 now. Date: Sat Feb 22 08:46:54 GMT 2025 Date UTC: Sat Feb 22 08:46:54 UTC 2025 ============================================================================= ++ mktemp -t pbuilderrc_XXXX --tmpdir=/srv/reproducible-results/rbuild-debian/r-b-build.SfomDQJQ + local TMPCFG=/srv/reproducible-results/rbuild-debian/r-b-build.SfomDQJQ/pbuilderrc_KJdb + case ${ARCH} in + case $ARCH in + locale=nl_BE + language=nl + case "${SUITE}" in + reproducible_buildflags=+all + extra_deb_build_options= + case "${SRCPACKAGE}" in + cat + echo BUILDDIR=/build/reproducible-path + '[' python-beniget = debian-installer -o python-beniget = debian-installer-netboot-images ']' + pbuilder_options=() + local pbuilder_options + DEBBUILDOPTS=-b + BINARYTARGET= + '[' python-beniget = u-boot ']' + case "${SRCPACKAGE}" in + PBUILDERTIMEOUT=24 + local PRESULT=0 + sudo timeout -k 24.1h 24h /usr/bin/ionice -c 3 /usr/bin/nice -n 11 /usr/bin/unshare --uts -- /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.SfomDQJQ/pbuilderrc_KJdb --distribution unstable --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/unstable-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.SfomDQJQ/b2 --logfile b2/build.log python-beniget_0.4.1-3.dsc W: /root/.pbuilderrc does not exist I: Logging to b2/build.log I: pbuilder: network access will be disabled during build I: Current time: Sat Feb 22 22:46:55 +14 2025 I: pbuilder-time-stamp: 1740214015 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/unstable-reproducible-base.tgz] I: copying local configuration W: --override-config is not set; not updating apt.conf Read the manpage for details. I: mounting /proc filesystem I: mounting /sys filesystem I: creating /{dev,run}/shm I: mounting /dev/pts filesystem I: redirecting /dev/ptmx to /dev/pts/ptmx I: policy-rc.d already exists I: Copying source file I: copying [python-beniget_0.4.1-3.dsc] I: copying [./python-beniget_0.4.1.orig.tar.gz] I: copying [./python-beniget_0.4.1-3.debian.tar.xz] I: Extracting source dpkg-source: warning: cannot verify inline signature for ./python-beniget_0.4.1-3.dsc: unsupported subcommand dpkg-source: info: extracting python-beniget in python-beniget-0.4.1 dpkg-source: info: unpacking python-beniget_0.4.1.orig.tar.gz dpkg-source: info: unpacking python-beniget_0.4.1-3.debian.tar.xz I: Not using root during the build. I: Installing the build-deps I: user script /srv/workspace/pbuilder/1807438/tmp/hooks/D01_modify_environment starting debug: Running on codethink04-arm64. I: Changing host+domainname to test build reproducibility I: Adding a custom variable just for the fun of it... I: Changing /bin/sh to bash '/bin/sh' -> '/bin/bash' lrwxrwxrwx 1 root root 9 Feb 22 08:47 /bin/sh -> /bin/bash I: Setting pbuilder2's login shell to /bin/bash I: Setting pbuilder2's GECOS to second user,second room,second work-phone,second home-phone,second other I: user script /srv/workspace/pbuilder/1807438/tmp/hooks/D01_modify_environment finished I: user script /srv/workspace/pbuilder/1807438/tmp/hooks/D02_print_environment starting I: set BASH=/bin/sh BASHOPTS=checkwinsize:cmdhist:complete_fullquote:extquote:force_fignore:globasciiranges:globskipdots:hostcomplete:interactive_comments:patsub_replacement:progcomp:promptvars:sourcepath BASH_ALIASES=() BASH_ARGC=() BASH_ARGV=() BASH_CMDS=() BASH_LINENO=([0]="12" [1]="0") BASH_LOADABLES_PATH=/usr/local/lib/bash:/usr/lib/bash:/opt/local/lib/bash:/usr/pkg/lib/bash:/opt/pkg/lib/bash:. BASH_SOURCE=([0]="/tmp/hooks/D02_print_environment" [1]="/tmp/hooks/D02_print_environment") BASH_VERSINFO=([0]="5" [1]="2" [2]="37" [3]="1" [4]="release" [5]="aarch64-unknown-linux-gnu") BASH_VERSION='5.2.37(1)-release' BUILDDIR=/build/reproducible-path BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other' BUILDUSERNAME=pbuilder2 BUILD_ARCH=arm64 DEBIAN_FRONTEND=noninteractive DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=12 ' DIRSTACK=() DISTRIBUTION=unstable EUID=0 FUNCNAME=([0]="Echo" [1]="main") GROUPS=() HOME=/root HOSTNAME=i-capture-the-hostname HOSTTYPE=aarch64 HOST_ARCH=arm64 IFS=' ' INVOCATION_ID=2d3430171e8f4e9abd04ce114f8ca732 LANG=C LANGUAGE=nl_BE:nl LC_ALL=C MACHTYPE=aarch64-unknown-linux-gnu MAIL=/var/mail/root OPTERR=1 OPTIND=1 OSTYPE=linux-gnu PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path PBCURRENTCOMMANDLINEOPERATION=build PBUILDER_OPERATION=build PBUILDER_PKGDATADIR=/usr/share/pbuilder PBUILDER_PKGLIBDIR=/usr/lib/pbuilder PBUILDER_SYSCONFDIR=/etc PIPESTATUS=([0]="0") POSIXLY_CORRECT=y PPID=1807438 PS4='+ ' PWD=/ SHELL=/bin/bash SHELLOPTS=braceexpand:errexit:hashall:interactive-comments:posix SHLVL=3 SUDO_COMMAND='/usr/bin/timeout -k 24.1h 24h /usr/bin/ionice -c 3 /usr/bin/nice -n 11 /usr/bin/unshare --uts -- /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.SfomDQJQ/pbuilderrc_KJdb --distribution unstable --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/unstable-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.SfomDQJQ/b2 --logfile b2/build.log python-beniget_0.4.1-3.dsc' SUDO_GID=109 SUDO_UID=104 SUDO_USER=jenkins TERM=unknown TZ=/usr/share/zoneinfo/Etc/GMT-14 UID=0 USER=root _='I: set' http_proxy=http://192.168.101.4:3128 I: uname -a Linux i-capture-the-hostname 6.1.0-31-cloud-arm64 #1 SMP Debian 6.1.128-1 (2025-02-07) aarch64 GNU/Linux I: ls -l /bin lrwxrwxrwx 1 root root 7 Nov 22 14:40 /bin -> usr/bin I: user script /srv/workspace/pbuilder/1807438/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy Version: 0.invalid.0 Architecture: arm64 Maintainer: Debian Pbuilder Team Description: Dummy package to satisfy dependencies with aptitude - created by pbuilder This package was created automatically by pbuilder to satisfy the build-dependencies of the package being currently built. Depends: debhelper-compat (= 13), dh-python, python3-all, python3-gast, python3-setuptools dpkg-deb: building package 'pbuilder-satisfydepends-dummy' in '/tmp/satisfydepends-aptitude/pbuilder-satisfydepends-dummy.deb'. Selecting previously unselected package pbuilder-satisfydepends-dummy. (Reading database ... 19889 files and directories currently installed.) Preparing to unpack .../pbuilder-satisfydepends-dummy.deb ... Unpacking pbuilder-satisfydepends-dummy (0.invalid.0) ... dpkg: pbuilder-satisfydepends-dummy: dependency problems, but configuring anyway as you requested: pbuilder-satisfydepends-dummy depends on debhelper-compat (= 13); however: Package debhelper-compat is not installed. pbuilder-satisfydepends-dummy depends on dh-python; however: Package dh-python is not installed. pbuilder-satisfydepends-dummy depends on python3-all; however: Package python3-all is not installed. pbuilder-satisfydepends-dummy depends on python3-gast; however: Package python3-gast is not installed. pbuilder-satisfydepends-dummy depends on python3-setuptools; however: Package python3-setuptools is not installed. Setting up pbuilder-satisfydepends-dummy (0.invalid.0) ... Reading package lists... Building dependency tree... Reading state information... Initializing package states... Writing extended state information... Building tag database... pbuilder-satisfydepends-dummy is already installed at the requested version (0.invalid.0) pbuilder-satisfydepends-dummy is already installed at the requested version (0.invalid.0) The following NEW packages will be installed: autoconf{a} automake{a} autopoint{a} autotools-dev{a} bsdextrautils{a} debhelper{a} dh-autoreconf{a} dh-python{a} dh-strip-nondeterminism{a} dwz{a} file{a} gettext{a} gettext-base{a} groff-base{a} intltool-debian{a} libarchive-zip-perl{a} libcom-err2{a} libdebhelper-perl{a} libelf1t64{a} libexpat1{a} libffi8{a} libfile-stripnondeterminism-perl{a} libgssapi-krb5-2{a} libicu72{a} libk5crypto3{a} libkeyutils1{a} libkrb5-3{a} libkrb5support0{a} libmagic-mgc{a} libmagic1t64{a} libnsl2{a} libpipeline1{a} libpython3-stdlib{a} libpython3.12-minimal{a} libpython3.12-stdlib{a} libpython3.13-minimal{a} libpython3.13-stdlib{a} libreadline8t64{a} libtirpc-common{a} libtirpc3t64{a} libtool{a} libuchardet0{a} libunistring5{a} libxml2{a} m4{a} man-db{a} media-types{a} netbase{a} po-debconf{a} python3{a} python3-all{a} python3-autocommand{a} python3-gast{a} python3-inflect{a} python3-jaraco.context{a} python3-jaraco.functools{a} python3-jaraco.text{a} python3-minimal{a} python3-more-itertools{a} python3-pkg-resources{a} python3-setuptools{a} python3-typeguard{a} python3-typing-extensions{a} python3-zipp{a} python3.12{a} python3.12-minimal{a} python3.13{a} python3.13-minimal{a} readline-common{a} sensible-utils{a} tzdata{a} The following packages are RECOMMENDED but will NOT be installed: ca-certificates curl krb5-locales libarchive-cpio-perl libltdl-dev libmail-sendmail-perl lynx wget 0 packages upgraded, 71 newly installed, 0 to remove and 0 not upgraded. Need to get 33.7 MB of archives. After unpacking 142 MB will be used. Writing extended state information... Get: 1 http://deb.debian.org/debian unstable/main arm64 libpython3.13-minimal arm64 3.13.2-1 [853 kB] Get: 2 http://deb.debian.org/debian unstable/main arm64 libexpat1 arm64 2.6.4-1 [90.7 kB] Get: 3 http://deb.debian.org/debian unstable/main arm64 python3.13-minimal arm64 3.13.2-1 [1997 kB] Get: 4 http://deb.debian.org/debian unstable/main arm64 python3-minimal arm64 3.13.1-2 [27.0 kB] Get: 5 http://deb.debian.org/debian unstable/main arm64 media-types all 11.0.0 [27.6 kB] Get: 6 http://deb.debian.org/debian unstable/main arm64 netbase all 6.4 [12.8 kB] Get: 7 http://deb.debian.org/debian unstable/main arm64 tzdata all 2025a-2 [259 kB] Get: 8 http://deb.debian.org/debian unstable/main arm64 libffi8 arm64 3.4.7-1 [21.2 kB] Get: 9 http://deb.debian.org/debian unstable/main arm64 readline-common all 8.2-6 [69.4 kB] Get: 10 http://deb.debian.org/debian unstable/main arm64 libreadline8t64 arm64 8.2-6 [159 kB] Get: 11 http://deb.debian.org/debian unstable/main arm64 libpython3.13-stdlib arm64 3.13.2-1 [1914 kB] Get: 12 http://deb.debian.org/debian unstable/main arm64 python3.13 arm64 3.13.2-1 [745 kB] Get: 13 http://deb.debian.org/debian unstable/main arm64 libpython3-stdlib arm64 3.13.1-2 [9952 B] Get: 14 http://deb.debian.org/debian unstable/main arm64 python3 arm64 3.13.1-2 [28.0 kB] Get: 15 http://deb.debian.org/debian unstable/main arm64 libpython3.12-minimal arm64 3.12.9-1 [810 kB] Get: 16 http://deb.debian.org/debian unstable/main arm64 python3.12-minimal arm64 3.12.9-1 [1941 kB] Get: 17 http://deb.debian.org/debian unstable/main arm64 sensible-utils all 0.0.24 [24.8 kB] Get: 18 http://deb.debian.org/debian unstable/main arm64 libmagic-mgc arm64 1:5.45-3+b1 [314 kB] Get: 19 http://deb.debian.org/debian unstable/main arm64 libmagic1t64 arm64 1:5.45-3+b1 [102 kB] Get: 20 http://deb.debian.org/debian unstable/main arm64 file arm64 1:5.45-3+b1 [43.4 kB] Get: 21 http://deb.debian.org/debian unstable/main arm64 gettext-base arm64 0.23.1-1 [241 kB] Get: 22 http://deb.debian.org/debian unstable/main arm64 libuchardet0 arm64 0.0.8-1+b2 [69.2 kB] Get: 23 http://deb.debian.org/debian unstable/main arm64 groff-base arm64 1.23.0-7 [1129 kB] Get: 24 http://deb.debian.org/debian unstable/main arm64 bsdextrautils arm64 2.40.4-4 [92.1 kB] Get: 25 http://deb.debian.org/debian unstable/main arm64 libpipeline1 arm64 1.5.8-1 [40.2 kB] Get: 26 http://deb.debian.org/debian unstable/main arm64 man-db arm64 2.13.0-1 [1404 kB] Get: 27 http://deb.debian.org/debian unstable/main arm64 m4 arm64 1.4.19-5 [284 kB] Get: 28 http://deb.debian.org/debian unstable/main arm64 autoconf all 2.72-3 [493 kB] Get: 29 http://deb.debian.org/debian unstable/main arm64 autotools-dev all 20220109.1 [51.6 kB] Get: 30 http://deb.debian.org/debian unstable/main arm64 automake all 1:1.17-3 [862 kB] Get: 31 http://deb.debian.org/debian unstable/main arm64 autopoint all 0.23.1-1 [770 kB] Get: 32 http://deb.debian.org/debian unstable/main arm64 libdebhelper-perl all 13.24.1 [90.9 kB] Get: 33 http://deb.debian.org/debian unstable/main arm64 libtool all 2.5.4-3 [539 kB] Get: 34 http://deb.debian.org/debian unstable/main arm64 dh-autoreconf all 20 [17.1 kB] Get: 35 http://deb.debian.org/debian unstable/main arm64 libarchive-zip-perl all 1.68-1 [104 kB] Get: 36 http://deb.debian.org/debian unstable/main arm64 libfile-stripnondeterminism-perl all 1.14.1-2 [19.7 kB] Get: 37 http://deb.debian.org/debian unstable/main arm64 dh-strip-nondeterminism all 1.14.1-2 [8620 B] Get: 38 http://deb.debian.org/debian unstable/main arm64 libelf1t64 arm64 0.192-4 [189 kB] Get: 39 http://deb.debian.org/debian unstable/main arm64 dwz arm64 0.15-1+b1 [102 kB] Get: 40 http://deb.debian.org/debian unstable/main arm64 libunistring5 arm64 1.3-1 [449 kB] Get: 41 http://deb.debian.org/debian unstable/main arm64 libicu72 arm64 72.1-6 [9239 kB] Get: 42 http://deb.debian.org/debian unstable/main arm64 libxml2 arm64 2.12.7+dfsg+really2.9.14-0.2+b1 [630 kB] Get: 43 http://deb.debian.org/debian unstable/main arm64 gettext arm64 0.23.1-1 [1610 kB] Get: 44 http://deb.debian.org/debian unstable/main arm64 intltool-debian all 0.35.0+20060710.6 [22.9 kB] Get: 45 http://deb.debian.org/debian unstable/main arm64 po-debconf all 1.0.21+nmu1 [248 kB] Get: 46 http://deb.debian.org/debian unstable/main arm64 debhelper all 13.24.1 [920 kB] Get: 47 http://deb.debian.org/debian unstable/main arm64 python3-autocommand all 2.2.2-3 [13.6 kB] Get: 48 http://deb.debian.org/debian unstable/main arm64 python3-more-itertools all 10.6.0-1 [65.3 kB] Get: 49 http://deb.debian.org/debian unstable/main arm64 python3-typing-extensions all 4.12.2-2 [73.0 kB] Get: 50 http://deb.debian.org/debian unstable/main arm64 python3-typeguard all 4.4.1-1 [37.0 kB] Get: 51 http://deb.debian.org/debian unstable/main arm64 python3-inflect all 7.3.1-2 [32.4 kB] Get: 52 http://deb.debian.org/debian unstable/main arm64 python3-jaraco.context all 6.0.0-1 [7984 B] Get: 53 http://deb.debian.org/debian unstable/main arm64 python3-jaraco.functools all 4.1.0-1 [12.0 kB] Get: 54 http://deb.debian.org/debian unstable/main arm64 python3-pkg-resources all 75.8.0-1 [222 kB] Get: 55 http://deb.debian.org/debian unstable/main arm64 python3-jaraco.text all 4.0.0-1 [11.4 kB] Get: 56 http://deb.debian.org/debian unstable/main arm64 python3-zipp all 3.21.0-1 [10.6 kB] Get: 57 http://deb.debian.org/debian unstable/main arm64 python3-setuptools all 75.8.0-1 [724 kB] Get: 58 http://deb.debian.org/debian unstable/main arm64 dh-python all 6.20250108 [113 kB] Get: 59 http://deb.debian.org/debian unstable/main arm64 libcom-err2 arm64 1.47.2-1 [23.9 kB] Get: 60 http://deb.debian.org/debian unstable/main arm64 libkrb5support0 arm64 1.21.3-4 [32.2 kB] Get: 61 http://deb.debian.org/debian unstable/main arm64 libk5crypto3 arm64 1.21.3-4 [81.5 kB] Get: 62 http://deb.debian.org/debian unstable/main arm64 libkeyutils1 arm64 1.6.3-4 [9352 B] Get: 63 http://deb.debian.org/debian unstable/main arm64 libkrb5-3 arm64 1.21.3-4 [308 kB] Get: 64 http://deb.debian.org/debian unstable/main arm64 libgssapi-krb5-2 arm64 1.21.3-4 [127 kB] Get: 65 http://deb.debian.org/debian unstable/main arm64 libtirpc-common all 1.3.4+ds-1.3 [10.9 kB] Get: 66 http://deb.debian.org/debian unstable/main arm64 libtirpc3t64 arm64 1.3.4+ds-1.3+b1 [78.7 kB] Get: 67 http://deb.debian.org/debian unstable/main arm64 libnsl2 arm64 1.3.0-3+b3 [37.9 kB] Get: 68 http://deb.debian.org/debian unstable/main arm64 libpython3.12-stdlib arm64 3.12.9-1 [1909 kB] Get: 69 http://deb.debian.org/debian unstable/main arm64 python3.12 arm64 3.12.9-1 [681 kB] Get: 70 http://deb.debian.org/debian unstable/main arm64 python3-all arm64 3.13.1-2 [1056 B] Get: 71 http://deb.debian.org/debian unstable/main arm64 python3-gast all 0.6.0-1 [18.7 kB] Fetched 33.7 MB in 0s (162 MB/s) Preconfiguring packages ... Selecting previously unselected package libpython3.13-minimal:arm64. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 19889 files and directories currently installed.) Preparing to unpack .../libpython3.13-minimal_3.13.2-1_arm64.deb ... Unpacking libpython3.13-minimal:arm64 (3.13.2-1) ... Selecting previously unselected package libexpat1:arm64. Preparing to unpack .../libexpat1_2.6.4-1_arm64.deb ... Unpacking libexpat1:arm64 (2.6.4-1) ... Selecting previously unselected package python3.13-minimal. Preparing to unpack .../python3.13-minimal_3.13.2-1_arm64.deb ... Unpacking python3.13-minimal (3.13.2-1) ... Setting up libpython3.13-minimal:arm64 (3.13.2-1) ... Setting up libexpat1:arm64 (2.6.4-1) ... Setting up python3.13-minimal (3.13.2-1) ... Selecting previously unselected package python3-minimal. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 20223 files and directories currently installed.) Preparing to unpack .../0-python3-minimal_3.13.1-2_arm64.deb ... Unpacking python3-minimal (3.13.1-2) ... Selecting previously unselected package media-types. Preparing to unpack .../1-media-types_11.0.0_all.deb ... Unpacking media-types (11.0.0) ... Selecting previously unselected package netbase. Preparing to unpack .../2-netbase_6.4_all.deb ... Unpacking netbase (6.4) ... Selecting previously unselected package tzdata. Preparing to unpack .../3-tzdata_2025a-2_all.deb ... Unpacking tzdata (2025a-2) ... Selecting previously unselected package libffi8:arm64. Preparing to unpack .../4-libffi8_3.4.7-1_arm64.deb ... Unpacking libffi8:arm64 (3.4.7-1) ... Selecting previously unselected package readline-common. Preparing to unpack .../5-readline-common_8.2-6_all.deb ... Unpacking readline-common (8.2-6) ... Selecting previously unselected package libreadline8t64:arm64. Preparing to unpack .../6-libreadline8t64_8.2-6_arm64.deb ... Adding 'diversion of /lib/aarch64-linux-gnu/libhistory.so.8 to /lib/aarch64-linux-gnu/libhistory.so.8.usr-is-merged by libreadline8t64' Adding 'diversion of /lib/aarch64-linux-gnu/libhistory.so.8.2 to /lib/aarch64-linux-gnu/libhistory.so.8.2.usr-is-merged by libreadline8t64' Adding 'diversion of /lib/aarch64-linux-gnu/libreadline.so.8 to /lib/aarch64-linux-gnu/libreadline.so.8.usr-is-merged by libreadline8t64' Adding 'diversion of /lib/aarch64-linux-gnu/libreadline.so.8.2 to /lib/aarch64-linux-gnu/libreadline.so.8.2.usr-is-merged by libreadline8t64' Unpacking libreadline8t64:arm64 (8.2-6) ... Selecting previously unselected package libpython3.13-stdlib:arm64. Preparing to unpack .../7-libpython3.13-stdlib_3.13.2-1_arm64.deb ... Unpacking libpython3.13-stdlib:arm64 (3.13.2-1) ... Selecting previously unselected package python3.13. Preparing to unpack .../8-python3.13_3.13.2-1_arm64.deb ... Unpacking python3.13 (3.13.2-1) ... Selecting previously unselected package libpython3-stdlib:arm64. Preparing to unpack .../9-libpython3-stdlib_3.13.1-2_arm64.deb ... Unpacking libpython3-stdlib:arm64 (3.13.1-2) ... Setting up python3-minimal (3.13.1-2) ... Selecting previously unselected package python3. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 21233 files and directories currently installed.) Preparing to unpack .../00-python3_3.13.1-2_arm64.deb ... Unpacking python3 (3.13.1-2) ... Selecting previously unselected package libpython3.12-minimal:arm64. Preparing to unpack .../01-libpython3.12-minimal_3.12.9-1_arm64.deb ... Unpacking libpython3.12-minimal:arm64 (3.12.9-1) ... Selecting previously unselected package python3.12-minimal. Preparing to unpack .../02-python3.12-minimal_3.12.9-1_arm64.deb ... Unpacking python3.12-minimal (3.12.9-1) ... Selecting previously unselected package sensible-utils. Preparing to unpack .../03-sensible-utils_0.0.24_all.deb ... Unpacking sensible-utils (0.0.24) ... Selecting previously unselected package libmagic-mgc. Preparing to unpack .../04-libmagic-mgc_1%3a5.45-3+b1_arm64.deb ... Unpacking libmagic-mgc (1:5.45-3+b1) ... Selecting previously unselected package libmagic1t64:arm64. Preparing to unpack .../05-libmagic1t64_1%3a5.45-3+b1_arm64.deb ... Unpacking libmagic1t64:arm64 (1:5.45-3+b1) ... Selecting previously unselected package file. Preparing to unpack .../06-file_1%3a5.45-3+b1_arm64.deb ... Unpacking file (1:5.45-3+b1) ... Selecting previously unselected package gettext-base. Preparing to unpack .../07-gettext-base_0.23.1-1_arm64.deb ... Unpacking gettext-base (0.23.1-1) ... Selecting previously unselected package libuchardet0:arm64. Preparing to unpack .../08-libuchardet0_0.0.8-1+b2_arm64.deb ... Unpacking libuchardet0:arm64 (0.0.8-1+b2) ... Selecting previously unselected package groff-base. Preparing to unpack .../09-groff-base_1.23.0-7_arm64.deb ... Unpacking groff-base (1.23.0-7) ... Selecting previously unselected package bsdextrautils. Preparing to unpack .../10-bsdextrautils_2.40.4-4_arm64.deb ... Unpacking bsdextrautils (2.40.4-4) ... Selecting previously unselected package libpipeline1:arm64. Preparing to unpack .../11-libpipeline1_1.5.8-1_arm64.deb ... Unpacking libpipeline1:arm64 (1.5.8-1) ... Selecting previously unselected package man-db. Preparing to unpack .../12-man-db_2.13.0-1_arm64.deb ... Unpacking man-db (2.13.0-1) ... Selecting previously unselected package m4. Preparing to unpack .../13-m4_1.4.19-5_arm64.deb ... Unpacking m4 (1.4.19-5) ... Selecting previously unselected package autoconf. Preparing to unpack .../14-autoconf_2.72-3_all.deb ... Unpacking autoconf (2.72-3) ... Selecting previously unselected package autotools-dev. Preparing to unpack .../15-autotools-dev_20220109.1_all.deb ... Unpacking autotools-dev (20220109.1) ... Selecting previously unselected package automake. Preparing to unpack .../16-automake_1%3a1.17-3_all.deb ... Unpacking automake (1:1.17-3) ... Selecting previously unselected package autopoint. Preparing to unpack .../17-autopoint_0.23.1-1_all.deb ... Unpacking autopoint (0.23.1-1) ... Selecting previously unselected package libdebhelper-perl. Preparing to unpack .../18-libdebhelper-perl_13.24.1_all.deb ... Unpacking libdebhelper-perl (13.24.1) ... Selecting previously unselected package libtool. Preparing to unpack .../19-libtool_2.5.4-3_all.deb ... Unpacking libtool (2.5.4-3) ... Selecting previously unselected package dh-autoreconf. Preparing to unpack .../20-dh-autoreconf_20_all.deb ... Unpacking dh-autoreconf (20) ... Selecting previously unselected package libarchive-zip-perl. Preparing to unpack .../21-libarchive-zip-perl_1.68-1_all.deb ... Unpacking libarchive-zip-perl (1.68-1) ... Selecting previously unselected package libfile-stripnondeterminism-perl. Preparing to unpack .../22-libfile-stripnondeterminism-perl_1.14.1-2_all.deb ... Unpacking libfile-stripnondeterminism-perl (1.14.1-2) ... Selecting previously unselected package dh-strip-nondeterminism. Preparing to unpack .../23-dh-strip-nondeterminism_1.14.1-2_all.deb ... Unpacking dh-strip-nondeterminism (1.14.1-2) ... Selecting previously unselected package libelf1t64:arm64. Preparing to unpack .../24-libelf1t64_0.192-4_arm64.deb ... Unpacking libelf1t64:arm64 (0.192-4) ... Selecting previously unselected package dwz. Preparing to unpack .../25-dwz_0.15-1+b1_arm64.deb ... Unpacking dwz (0.15-1+b1) ... Selecting previously unselected package libunistring5:arm64. Preparing to unpack .../26-libunistring5_1.3-1_arm64.deb ... Unpacking libunistring5:arm64 (1.3-1) ... Selecting previously unselected package libicu72:arm64. Preparing to unpack .../27-libicu72_72.1-6_arm64.deb ... Unpacking libicu72:arm64 (72.1-6) ... Selecting previously unselected package libxml2:arm64. Preparing to unpack .../28-libxml2_2.12.7+dfsg+really2.9.14-0.2+b1_arm64.deb ... Unpacking libxml2:arm64 (2.12.7+dfsg+really2.9.14-0.2+b1) ... Selecting previously unselected package gettext. Preparing to unpack .../29-gettext_0.23.1-1_arm64.deb ... Unpacking gettext (0.23.1-1) ... Selecting previously unselected package intltool-debian. Preparing to unpack .../30-intltool-debian_0.35.0+20060710.6_all.deb ... Unpacking intltool-debian (0.35.0+20060710.6) ... Selecting previously unselected package po-debconf. Preparing to unpack .../31-po-debconf_1.0.21+nmu1_all.deb ... Unpacking po-debconf (1.0.21+nmu1) ... Selecting previously unselected package debhelper. Preparing to unpack .../32-debhelper_13.24.1_all.deb ... Unpacking debhelper (13.24.1) ... Selecting previously unselected package python3-autocommand. Preparing to unpack .../33-python3-autocommand_2.2.2-3_all.deb ... Unpacking python3-autocommand (2.2.2-3) ... Selecting previously unselected package python3-more-itertools. Preparing to unpack .../34-python3-more-itertools_10.6.0-1_all.deb ... Unpacking python3-more-itertools (10.6.0-1) ... Selecting previously unselected package python3-typing-extensions. Preparing to unpack .../35-python3-typing-extensions_4.12.2-2_all.deb ... Unpacking python3-typing-extensions (4.12.2-2) ... Selecting previously unselected package python3-typeguard. Preparing to unpack .../36-python3-typeguard_4.4.1-1_all.deb ... Unpacking python3-typeguard (4.4.1-1) ... Selecting previously unselected package python3-inflect. Preparing to unpack .../37-python3-inflect_7.3.1-2_all.deb ... Unpacking python3-inflect (7.3.1-2) ... Selecting previously unselected package python3-jaraco.context. Preparing to unpack .../38-python3-jaraco.context_6.0.0-1_all.deb ... Unpacking python3-jaraco.context (6.0.0-1) ... Selecting previously unselected package python3-jaraco.functools. Preparing to unpack .../39-python3-jaraco.functools_4.1.0-1_all.deb ... Unpacking python3-jaraco.functools (4.1.0-1) ... Selecting previously unselected package python3-pkg-resources. Preparing to unpack .../40-python3-pkg-resources_75.8.0-1_all.deb ... Unpacking python3-pkg-resources (75.8.0-1) ... Selecting previously unselected package python3-jaraco.text. Preparing to unpack .../41-python3-jaraco.text_4.0.0-1_all.deb ... Unpacking python3-jaraco.text (4.0.0-1) ... Selecting previously unselected package python3-zipp. Preparing to unpack .../42-python3-zipp_3.21.0-1_all.deb ... Unpacking python3-zipp (3.21.0-1) ... Selecting previously unselected package python3-setuptools. Preparing to unpack .../43-python3-setuptools_75.8.0-1_all.deb ... Unpacking python3-setuptools (75.8.0-1) ... Selecting previously unselected package dh-python. Preparing to unpack .../44-dh-python_6.20250108_all.deb ... Unpacking dh-python (6.20250108) ... Selecting previously unselected package libcom-err2:arm64. Preparing to unpack .../45-libcom-err2_1.47.2-1_arm64.deb ... Unpacking libcom-err2:arm64 (1.47.2-1) ... Selecting previously unselected package libkrb5support0:arm64. Preparing to unpack .../46-libkrb5support0_1.21.3-4_arm64.deb ... Unpacking libkrb5support0:arm64 (1.21.3-4) ... Selecting previously unselected package libk5crypto3:arm64. Preparing to unpack .../47-libk5crypto3_1.21.3-4_arm64.deb ... Unpacking libk5crypto3:arm64 (1.21.3-4) ... Selecting previously unselected package libkeyutils1:arm64. Preparing to unpack .../48-libkeyutils1_1.6.3-4_arm64.deb ... Unpacking libkeyutils1:arm64 (1.6.3-4) ... Selecting previously unselected package libkrb5-3:arm64. Preparing to unpack .../49-libkrb5-3_1.21.3-4_arm64.deb ... Unpacking libkrb5-3:arm64 (1.21.3-4) ... Selecting previously unselected package libgssapi-krb5-2:arm64. Preparing to unpack .../50-libgssapi-krb5-2_1.21.3-4_arm64.deb ... Unpacking libgssapi-krb5-2:arm64 (1.21.3-4) ... Selecting previously unselected package libtirpc-common. Preparing to unpack .../51-libtirpc-common_1.3.4+ds-1.3_all.deb ... Unpacking libtirpc-common (1.3.4+ds-1.3) ... Selecting previously unselected package libtirpc3t64:arm64. Preparing to unpack .../52-libtirpc3t64_1.3.4+ds-1.3+b1_arm64.deb ... Adding 'diversion of /lib/aarch64-linux-gnu/libtirpc.so.3 to /lib/aarch64-linux-gnu/libtirpc.so.3.usr-is-merged by libtirpc3t64' Adding 'diversion of /lib/aarch64-linux-gnu/libtirpc.so.3.0.0 to /lib/aarch64-linux-gnu/libtirpc.so.3.0.0.usr-is-merged by libtirpc3t64' Unpacking libtirpc3t64:arm64 (1.3.4+ds-1.3+b1) ... Selecting previously unselected package libnsl2:arm64. Preparing to unpack .../53-libnsl2_1.3.0-3+b3_arm64.deb ... Unpacking libnsl2:arm64 (1.3.0-3+b3) ... Selecting previously unselected package libpython3.12-stdlib:arm64. Preparing to unpack .../54-libpython3.12-stdlib_3.12.9-1_arm64.deb ... Unpacking libpython3.12-stdlib:arm64 (3.12.9-1) ... Selecting previously unselected package python3.12. Preparing to unpack .../55-python3.12_3.12.9-1_arm64.deb ... Unpacking python3.12 (3.12.9-1) ... Selecting previously unselected package python3-all. Preparing to unpack .../56-python3-all_3.13.1-2_arm64.deb ... Unpacking python3-all (3.13.1-2) ... Selecting previously unselected package python3-gast. Preparing to unpack .../57-python3-gast_0.6.0-1_all.deb ... Unpacking python3-gast (0.6.0-1) ... Setting up media-types (11.0.0) ... Setting up libpipeline1:arm64 (1.5.8-1) ... Setting up libkeyutils1:arm64 (1.6.3-4) ... Setting up libicu72:arm64 (72.1-6) ... Setting up bsdextrautils (2.40.4-4) ... Setting up libmagic-mgc (1:5.45-3+b1) ... Setting up libarchive-zip-perl (1.68-1) ... Setting up libtirpc-common (1.3.4+ds-1.3) ... Setting up libdebhelper-perl (13.24.1) ... Setting up libmagic1t64:arm64 (1:5.45-3+b1) ... Setting up libpython3.12-minimal:arm64 (3.12.9-1) ... Setting up gettext-base (0.23.1-1) ... Setting up m4 (1.4.19-5) ... Setting up libcom-err2:arm64 (1.47.2-1) ... Setting up file (1:5.45-3+b1) ... Setting up libelf1t64:arm64 (0.192-4) ... Setting up libkrb5support0:arm64 (1.21.3-4) ... Setting up tzdata (2025a-2) ... Current default time zone: 'Etc/UTC' Local time is now: Sat Feb 22 08:47:12 UTC 2025. Universal Time is now: Sat Feb 22 08:47:12 UTC 2025. Run 'dpkg-reconfigure tzdata' if you wish to change it. Setting up autotools-dev (20220109.1) ... Setting up libunistring5:arm64 (1.3-1) ... Setting up autopoint (0.23.1-1) ... Setting up libk5crypto3:arm64 (1.21.3-4) ... Setting up autoconf (2.72-3) ... Setting up libffi8:arm64 (3.4.7-1) ... Setting up dwz (0.15-1+b1) ... Setting up sensible-utils (0.0.24) ... Setting up libuchardet0:arm64 (0.0.8-1+b2) ... Setting up netbase (6.4) ... Setting up libkrb5-3:arm64 (1.21.3-4) ... Setting up readline-common (8.2-6) ... Setting up libxml2:arm64 (2.12.7+dfsg+really2.9.14-0.2+b1) ... Setting up automake (1:1.17-3) ... update-alternatives: using /usr/bin/automake-1.17 to provide /usr/bin/automake (automake) in auto mode Setting up libfile-stripnondeterminism-perl (1.14.1-2) ... Setting up python3.12-minimal (3.12.9-1) ... Setting up gettext (0.23.1-1) ... Setting up libtool (2.5.4-3) ... Setting up intltool-debian (0.35.0+20060710.6) ... Setting up dh-autoreconf (20) ... Setting up libgssapi-krb5-2:arm64 (1.21.3-4) ... Setting up libreadline8t64:arm64 (8.2-6) ... Setting up dh-strip-nondeterminism (1.14.1-2) ... Setting up groff-base (1.23.0-7) ... Setting up libpython3.13-stdlib:arm64 (3.13.2-1) ... Setting up libpython3-stdlib:arm64 (3.13.1-2) ... Setting up libtirpc3t64:arm64 (1.3.4+ds-1.3+b1) ... Setting up python3.13 (3.13.2-1) ... Setting up po-debconf (1.0.21+nmu1) ... Setting up python3 (3.13.1-2) ... Setting up python3-zipp (3.21.0-1) ... Setting up python3-autocommand (2.2.2-3) ... Setting up man-db (2.13.0-1) ... Not building database; man-db/auto-update is not 'true'. Setting up python3-typing-extensions (4.12.2-2) ... Setting up libnsl2:arm64 (1.3.0-3+b3) ... Setting up python3-more-itertools (10.6.0-1) ... Setting up python3-jaraco.functools (4.1.0-1) ... Setting up libpython3.12-stdlib:arm64 (3.12.9-1) ... Setting up python3-jaraco.context (6.0.0-1) ... Setting up python3.12 (3.12.9-1) ... Setting up python3-typeguard (4.4.1-1) ... Setting up python3-gast (0.6.0-1) ... Setting up python3-all (3.13.1-2) ... Setting up debhelper (13.24.1) ... Setting up python3-inflect (7.3.1-2) ... Setting up python3-jaraco.text (4.0.0-1) ... Setting up python3-pkg-resources (75.8.0-1) ... Setting up python3-setuptools (75.8.0-1) ... Setting up dh-python (6.20250108) ... Processing triggers for libc-bin (2.40-7) ... Reading package lists... Building dependency tree... Reading state information... Reading extended state information... Initializing package states... Writing extended state information... Building tag database... -> Finished parsing the build-deps I: Building the package I: user script /srv/workspace/pbuilder/1807438/tmp/hooks/A99_set_merged_usr starting Not re-configuring usrmerge for unstable I: user script /srv/workspace/pbuilder/1807438/tmp/hooks/A99_set_merged_usr finished hostname: Name or service not known I: Running cd /build/reproducible-path/python-beniget-0.4.1/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-genchanges -S > ../python-beniget_0.4.1-3_source.changes dpkg-buildpackage: info: source package python-beniget dpkg-buildpackage: info: source version 0.4.1-3 dpkg-buildpackage: info: source distribution unstable dpkg-buildpackage: info: source changed by Louis-Philippe Véronneau dpkg-source --before-build . dpkg-buildpackage: info: host architecture arm64 debian/rules clean dh clean --with python3 --buildsystem=pybuild dh_auto_clean -O--buildsystem=pybuild I: pybuild base:311: python3.12 setup.py clean /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:270: UserWarning: Unknown distribution option: 'test_suite' warnings.warn(msg) running clean removing '/build/reproducible-path/python-beniget-0.4.1/.pybuild/cpython3_3.12_python-beniget/build' (and everything under it) 'build/bdist.linux-aarch64' does not exist -- can't clean it 'build/scripts-3.12' does not exist -- can't clean it I: pybuild base:311: python3.13 setup.py clean /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:270: UserWarning: Unknown distribution option: 'test_suite' warnings.warn(msg) running clean removing '/build/reproducible-path/python-beniget-0.4.1/.pybuild/cpython3_3.13_python-beniget/build' (and everything under it) 'build/bdist.linux-aarch64' does not exist -- can't clean it 'build/scripts-3.13' does not exist -- can't clean it dh_autoreconf_clean -O--buildsystem=pybuild dh_clean -O--buildsystem=pybuild debian/rules binary dh binary --with python3 --buildsystem=pybuild dh_update_autotools_config -O--buildsystem=pybuild dh_autoreconf -O--buildsystem=pybuild dh_auto_configure -O--buildsystem=pybuild I: pybuild base:311: python3.12 setup.py config /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:270: UserWarning: Unknown distribution option: 'test_suite' warnings.warn(msg) running config I: pybuild base:311: python3.13 setup.py config /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:270: UserWarning: Unknown distribution option: 'test_suite' warnings.warn(msg) running config dh_auto_build -O--buildsystem=pybuild I: pybuild base:311: /usr/bin/python3.12 setup.py build /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:270: UserWarning: Unknown distribution option: 'test_suite' warnings.warn(msg) running build running build_py creating /build/reproducible-path/python-beniget-0.4.1/.pybuild/cpython3_3.12_python-beniget/build/beniget copying beniget/beniget.py -> /build/reproducible-path/python-beniget-0.4.1/.pybuild/cpython3_3.12_python-beniget/build/beniget copying beniget/__init__.py -> /build/reproducible-path/python-beniget-0.4.1/.pybuild/cpython3_3.12_python-beniget/build/beniget I: pybuild base:311: /usr/bin/python3 setup.py build /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:270: UserWarning: Unknown distribution option: 'test_suite' warnings.warn(msg) running build running build_py creating /build/reproducible-path/python-beniget-0.4.1/.pybuild/cpython3_3.13_python-beniget/build/beniget copying beniget/beniget.py -> /build/reproducible-path/python-beniget-0.4.1/.pybuild/cpython3_3.13_python-beniget/build/beniget copying beniget/__init__.py -> /build/reproducible-path/python-beniget-0.4.1/.pybuild/cpython3_3.13_python-beniget/build/beniget debian/rules override_dh_auto_test make[1]: Entering directory '/build/reproducible-path/python-beniget-0.4.1' python3.12 -m unittest -v tests/*.py; python3.13 -m unittest -v tests/*.py; test_no_attribute (tests.attributes.TestAttributes.test_no_attribute) ... ok test_non_standard_self (tests.attributes.TestAttributes.test_non_standard_self) ... ok test_self_redefinition (tests.attributes.TestAttributes.test_self_redefinition) ... ok test_self_redefinition_in_args (tests.attributes.TestAttributes.test_self_redefinition_in_args) ... ok test_self_redefinition_in_both_branch (tests.attributes.TestAttributes.test_self_redefinition_in_both_branch) ... ok test_self_redefinition_in_branch_false (tests.attributes.TestAttributes.test_self_redefinition_in_branch_false) ... ok test_self_redefinition_in_branch_true (tests.attributes.TestAttributes.test_self_redefinition_in_branch_true) ... ok test_simple_attribute (tests.attributes.TestAttributes.test_simple_attribute) ... ok test_no_capture (tests.capture.TestCapture.test_no_capture) ... ok test_simple_capture (tests.capture.TestCapture.test_simple_capture) ... ok test_assign_in_loop (tests.chains.TestDefUseChains.test_assign_in_loop) ... ok test_assign_in_loop_in_conditional (tests.chains.TestDefUseChains.test_assign_in_loop_in_conditional) ... ok test_assign_in_while_in_conditional (tests.chains.TestDefUseChains.test_assign_in_while_in_conditional) ... ok test_attr (tests.chains.TestDefUseChains.test_attr) ... ok test_augassign (tests.chains.TestDefUseChains.test_augassign) ... ok test_augassign_in_loop (tests.chains.TestDefUseChains.test_augassign_in_loop) ... ok test_break_in_loop (tests.chains.TestDefUseChains.test_break_in_loop) ... ok test_class_annotation (tests.chains.TestDefUseChains.test_class_annotation) ... ok test_class_decorator (tests.chains.TestDefUseChains.test_class_decorator) ... ok test_complex_for_orelse (tests.chains.TestDefUseChains.test_complex_for_orelse) ... ok test_complex_while_orelse (tests.chains.TestDefUseChains.test_complex_while_orelse) ... ok test_continue_in_loop (tests.chains.TestDefUseChains.test_continue_in_loop) ... ok test_expanded_augassign (tests.chains.TestDefUseChains.test_expanded_augassign) ... ok test_expression_chain (tests.chains.TestDefUseChains.test_expression_chain) ... ok test_for_break (tests.chains.TestDefUseChains.test_for_break) ... ok test_for_pass (tests.chains.TestDefUseChains.test_for_pass) ... ok test_functiondef_returns (tests.chains.TestDefUseChains.test_functiondef_returns) ... ok test_if_both_branch (tests.chains.TestDefUseChains.test_if_both_branch) ... ok test_if_false_branch (tests.chains.TestDefUseChains.test_if_false_branch) ... ok test_if_in_loop (tests.chains.TestDefUseChains.test_if_in_loop) ... ok test_if_true_branch (tests.chains.TestDefUseChains.test_if_true_branch) ... ok test_ifexp_chain (tests.chains.TestDefUseChains.test_ifexp_chain) ... ok test_import_from (tests.chains.TestDefUseChains.test_import_from) ... ok test_import_from_as (tests.chains.TestDefUseChains.test_import_from_as) ... ok test_method_function_conflict (tests.chains.TestDefUseChains.test_method_function_conflict) ... ok test_multiple_import_as (tests.chains.TestDefUseChains.test_multiple_import_as) ... ok test_multiple_import_from_as (tests.chains.TestDefUseChains.test_multiple_import_from_as) ... ok test_named_expr_complex (tests.chains.TestDefUseChains.test_named_expr_complex) ... ok test_named_expr_simple (tests.chains.TestDefUseChains.test_named_expr_simple) ... ok test_named_expr_with_rename (tests.chains.TestDefUseChains.test_named_expr_with_rename) ... ok test_nested_if (tests.chains.TestDefUseChains.test_nested_if) ... ok test_nested_if_else (tests.chains.TestDefUseChains.test_nested_if_else) ... ok test_nested_while (tests.chains.TestDefUseChains.test_nested_while) ... ok test_reassign_in_loop (tests.chains.TestDefUseChains.test_reassign_in_loop) ... ok test_redef_try_except (tests.chains.TestDefUseChains.test_redef_try_except) ... ok test_simple_except (tests.chains.TestDefUseChains.test_simple_except) ... ok test_simple_expression (tests.chains.TestDefUseChains.test_simple_expression) ... ok test_simple_for (tests.chains.TestDefUseChains.test_simple_for) ... ok test_simple_for_orelse (tests.chains.TestDefUseChains.test_simple_for_orelse) ... ok test_simple_import (tests.chains.TestDefUseChains.test_simple_import) ... ok test_simple_import_as (tests.chains.TestDefUseChains.test_simple_import_as) ... ok test_simple_print (tests.chains.TestDefUseChains.test_simple_print) ... ok test_simple_redefinition (tests.chains.TestDefUseChains.test_simple_redefinition) ... ok test_simple_try (tests.chains.TestDefUseChains.test_simple_try) ... ok test_simple_try_except (tests.chains.TestDefUseChains.test_simple_try_except) ... ok test_simple_while (tests.chains.TestDefUseChains.test_simple_while) ... ok test_star_import_with_conditional_redef (tests.chains.TestDefUseChains.test_star_import_with_conditional_redef) ... ok test_try_except (tests.chains.TestDefUseChains.test_try_except) ... ok test_type_destructuring_for (tests.chains.TestDefUseChains.test_type_destructuring_for) ... ok test_type_destructuring_list (tests.chains.TestDefUseChains.test_type_destructuring_list) ... ok test_type_destructuring_tuple (tests.chains.TestDefUseChains.test_type_destructuring_tuple) ... ok test_unbound_identifier_message_format (tests.chains.TestDefUseChains.test_unbound_identifier_message_format) ... ok test_while_break (tests.chains.TestDefUseChains.test_while_break) ... ok test_while_cond_break (tests.chains.TestDefUseChains.test_while_cond_break) ... ok test_while_cond_continue (tests.chains.TestDefUseChains.test_while_cond_continue) ... ok test_while_nested_break (tests.chains.TestDefUseChains.test_while_nested_break) ... ok test_while_orelse_break (tests.chains.TestDefUseChains.test_while_orelse_break) ... ok test_with_handler (tests.chains.TestDefUseChains.test_with_handler) ... ok test_call (tests.chains.TestUseDefChains.test_call) ... ok test_simple_expression (tests.chains.TestUseDefChains.test_simple_expression) ... ok test_class_method_assign (tests.definitions.TestClasses.test_class_method_assign) ... ok testAsyncFunctionDef (tests.definitions.TestGlobals.testAsyncFunctionDef) ... ok testClassDef (tests.definitions.TestGlobals.testClassDef) ... ok testClassMethodDef (tests.definitions.TestGlobals.testClassMethodDef) ... ok testClassRedefinition (tests.definitions.TestGlobals.testClassRedefinition) ... ok testDelClassDef (tests.definitions.TestGlobals.testDelClassDef) ... ok testDelClassDefReDef (tests.definitions.TestGlobals.testDelClassDefReDef) ... ok testFuntionNested (tests.definitions.TestGlobals.testFuntionNested) ... ok testFuntionRedefinion (tests.definitions.TestGlobals.testFuntionRedefinion) ... ok testGlobalAfterKeyword (tests.definitions.TestGlobals.testGlobalAfterKeyword) ... ok testGlobalAnnotatedDef (tests.definitions.TestGlobals.testGlobalAnnotatedDef) ... ok testGlobalAsyncFor (tests.definitions.TestGlobals.testGlobalAsyncFor) ... ok testGlobalAsyncWith (tests.definitions.TestGlobals.testGlobalAsyncWith) ... ok testGlobalAugAssign (tests.definitions.TestGlobals.testGlobalAugAssign) ... ok testGlobalBeforeKeyword (tests.definitions.TestGlobals.testGlobalBeforeKeyword) ... ok testGlobalDef (tests.definitions.TestGlobals.testGlobalDef) ... ok testGlobalDestructuring (tests.definitions.TestGlobals.testGlobalDestructuring) ... ok testGlobalDictComp (tests.definitions.TestGlobals.testGlobalDictComp) ... ok testGlobalFor (tests.definitions.TestGlobals.testGlobalFor) ... ok testGlobalForDestructuring (tests.definitions.TestGlobals.testGlobalForDestructuring) ... ok testGlobalGeneratorExpr (tests.definitions.TestGlobals.testGlobalGeneratorExpr) ... ok testGlobalImport (tests.definitions.TestGlobals.testGlobalImport) ... ok testGlobalImportAs (tests.definitions.TestGlobals.testGlobalImportAs) ... ok testGlobalImportFrom (tests.definitions.TestGlobals.testGlobalImportFrom) ... ok testGlobalImportFromAs (tests.definitions.TestGlobals.testGlobalImportFromAs) ... ok testGlobalImportFromStar (tests.definitions.TestGlobals.testGlobalImportFromStar) ... ok testGlobalImportFromStarRedefine (tests.definitions.TestGlobals.testGlobalImportFromStarRedefine) ... ok testGlobalImportSubModule (tests.definitions.TestGlobals.testGlobalImportSubModule) ... ok testGlobalImportSubModuleAs (tests.definitions.TestGlobals.testGlobalImportSubModuleAs) ... ok testGlobalImports (tests.definitions.TestGlobals.testGlobalImports) ... ok testGlobalImportsAs (tests.definitions.TestGlobals.testGlobalImportsAs) ... ok testGlobalImportsFrom (tests.definitions.TestGlobals.testGlobalImportsFrom) ... ok testGlobalImportsFromAs (tests.definitions.TestGlobals.testGlobalImportsFromAs) ... ok testGlobalInFor (tests.definitions.TestGlobals.testGlobalInFor) ... ok testGlobalInIfBothBranch (tests.definitions.TestGlobals.testGlobalInIfBothBranch) ... ok testGlobalInIfBothBranchDifferent (tests.definitions.TestGlobals.testGlobalInIfBothBranchDifferent) ... ok testGlobalInIfFalseBranch (tests.definitions.TestGlobals.testGlobalInIfFalseBranch) ... ok testGlobalInIfTrueBranch (tests.definitions.TestGlobals.testGlobalInIfTrueBranch) ... ok testGlobalInWhile (tests.definitions.TestGlobals.testGlobalInWhile) ... ok testGlobalLambda (tests.definitions.TestGlobals.testGlobalLambda) ... ok testGlobalListComp (tests.definitions.TestGlobals.testGlobalListComp) ... ok testGlobalNestedFor (tests.definitions.TestGlobals.testGlobalNestedFor) ... ok testGlobalSetComp (tests.definitions.TestGlobals.testGlobalSetComp) ... ok testGlobalThroughKeyword (tests.definitions.TestGlobals.testGlobalThroughKeyword) ... ok testGlobalThroughKeywords (tests.definitions.TestGlobals.testGlobalThroughKeywords) ... ok testGlobalThroughMultipleKeyword (tests.definitions.TestGlobals.testGlobalThroughMultipleKeyword) ... ok testGlobalTry (tests.definitions.TestGlobals.testGlobalTry) ... ok testGlobalTryExcept (tests.definitions.TestGlobals.testGlobalTryExcept) ... ok testGlobalTryExceptFinally (tests.definitions.TestGlobals.testGlobalTryExceptFinally) ... ok testGlobalWith (tests.definitions.TestGlobals.testGlobalWith) ... ok testGlobalsAfterKeyword (tests.definitions.TestGlobals.testGlobalsAfterKeyword) ... ok testGlobalsBeforeKeyword (tests.definitions.TestGlobals.testGlobalsBeforeKeyword) ... ok testMultipleClassDef (tests.definitions.TestGlobals.testMultipleClassDef) ... ok testMultipleGlobalDef (tests.definitions.TestGlobals.testMultipleGlobalDef) ... ok testNestedClassDef (tests.definitions.TestGlobals.testNestedClassDef) ... ok test_MultipleFunctionDef (tests.definitions.TestGlobals.test_MultipleFunctionDef) ... ok test_SingleFunctionDef (tests.definitions.TestGlobals.test_SingleFunctionDef) ... ok testLocalFunctionDef (tests.definitions.TestLocals.testLocalFunctionDef) ... ok testLocalFunctionDefArgsDefault (tests.definitions.TestLocals.testLocalFunctionDefArgsDefault) ... ok testLocalFunctionDefKwArgs (tests.definitions.TestLocals.testLocalFunctionDefKwArgs) ... ok testLocalFunctionDefKwOnly (tests.definitions.TestLocals.testLocalFunctionDefKwOnly) ... ok testLocalFunctionDefOneArg (tests.definitions.TestLocals.testLocalFunctionDefOneArg) ... ok testLocalFunctionDefOneArgDefault (tests.definitions.TestLocals.testLocalFunctionDefOneArgDefault) ... ok testLocalFunctionDefStarArgs (tests.definitions.TestLocals.testLocalFunctionDefStarArgs) ... ok test_AugAssignInLoop (tests.definitions.TestLocals.test_AugAssignInLoop) ... ok test_IfInWhile (tests.definitions.TestLocals.test_IfInWhile) ... ok test_ListCompInLoop (tests.definitions.TestLocals.test_ListCompInLoop) ... ok test_LocalAssign (tests.definitions.TestLocals.test_LocalAssign) ... ok test_LocalAssignRedef (tests.definitions.TestLocals.test_LocalAssignRedef) ... ok test_LocalGlobal (tests.definitions.TestLocals.test_LocalGlobal) ... ok test_LocalNestedFun (tests.definitions.TestLocals.test_LocalNestedFun) ... ok test_LocalNonLocalAfter (tests.definitions.TestLocals.test_LocalNonLocalAfter) ... ok test_LocalNonLocalBefore (tests.definitions.TestLocals.test_LocalNonLocalBefore) ... ok test_beniget_documentation (tests.doc.TestDoctest.test_beniget_documentation) ... ok test_beniget_readme (tests.doc.TestDoctest.test_beniget_readme) ... Trying: import gast as ast Expecting nothing ok Trying: code = 'def foo(x): return x + 1' Expecting nothing ok Trying: module = ast.parse(code) Expecting nothing ok Trying: from beniget import Ancestors Expecting nothing ok Trying: ancestors = Ancestors() Expecting nothing ok Trying: ancestors.visit(module) Expecting nothing ok Trying: binop = module.body[0].body[0].value Expecting nothing ok Trying: for n in ancestors.parents(binop): print(type(n)) Expecting: ok Trying: import gast as ast Expecting nothing ok Trying: module = ast.parse("from b import c, d; c()") Expecting nothing ok Trying: duc = DefUseChains() Expecting nothing ok Trying: duc.visit(module) Expecting nothing ok Trying: for head in duc.locals[module]: print("{}: {}".format(head.name(), len(head.users()))) Expecting: c: 1 d: 0 ok Trying: alias_def = duc.chains[module.body[0].names[0]] Expecting nothing ok Trying: print(alias_def) Expecting: c -> (c -> (Call -> ())) ok 94 items had no tests: beniget.beniget beniget.beniget.Ancestors.__init__ beniget.beniget.Ancestors.generic_visit beniget.beniget.Ancestors.parent beniget.beniget.Ancestors.parentFunction beniget.beniget.Ancestors.parentInstance beniget.beniget.Ancestors.parentStmt beniget.beniget.Ancestors.parents beniget.beniget.CollectGlobals beniget.beniget.CollectGlobals.__init__ beniget.beniget.CollectGlobals.visit_Global beniget.beniget.Def beniget.beniget.Def.__init__ beniget.beniget.Def.__repr__ beniget.beniget.Def.__str__ beniget.beniget.Def._repr beniget.beniget.Def._str beniget.beniget.Def.add_user beniget.beniget.Def.name beniget.beniget.Def.users beniget.beniget.DefUseChains.CompDefinitionContext beniget.beniget.DefUseChains.DefinitionContext beniget.beniget.DefUseChains.__init__ beniget.beniget.DefUseChains.add_to_definition beniget.beniget.DefUseChains.defs beniget.beniget.DefUseChains.dump_chains beniget.beniget.DefUseChains.dump_definitions beniget.beniget.DefUseChains.extend_definition beniget.beniget.DefUseChains.lookup_identifier beniget.beniget.DefUseChains.process_body beniget.beniget.DefUseChains.process_undefs beniget.beniget.DefUseChains.set_definition beniget.beniget.DefUseChains.unbound_identifier beniget.beniget.DefUseChains.visit_AnnAssign beniget.beniget.DefUseChains.visit_Assert beniget.beniget.DefUseChains.visit_Assign beniget.beniget.DefUseChains.visit_AugAssign beniget.beniget.DefUseChains.visit_Await beniget.beniget.DefUseChains.visit_BinOp beniget.beniget.DefUseChains.visit_BoolOp beniget.beniget.DefUseChains.visit_Break beniget.beniget.DefUseChains.visit_Call beniget.beniget.DefUseChains.visit_ClassDef beniget.beniget.DefUseChains.visit_Compare beniget.beniget.DefUseChains.visit_Constant beniget.beniget.DefUseChains.visit_Continue beniget.beniget.DefUseChains.visit_Delete beniget.beniget.DefUseChains.visit_Destructured beniget.beniget.DefUseChains.visit_Dict beniget.beniget.DefUseChains.visit_DictComp beniget.beniget.DefUseChains.visit_Exec beniget.beniget.DefUseChains.visit_Expr beniget.beniget.DefUseChains.visit_For beniget.beniget.DefUseChains.visit_FormattedValue beniget.beniget.DefUseChains.visit_FunctionDef beniget.beniget.DefUseChains.visit_Global beniget.beniget.DefUseChains.visit_If beniget.beniget.DefUseChains.visit_IfExp beniget.beniget.DefUseChains.visit_Import beniget.beniget.DefUseChains.visit_ImportFrom beniget.beniget.DefUseChains.visit_JoinedStr beniget.beniget.DefUseChains.visit_Lambda beniget.beniget.DefUseChains.visit_List beniget.beniget.DefUseChains.visit_ListComp beniget.beniget.DefUseChains.visit_Module beniget.beniget.DefUseChains.visit_Name beniget.beniget.DefUseChains.visit_NamedExpr beniget.beniget.DefUseChains.visit_Nonlocal beniget.beniget.DefUseChains.visit_Print beniget.beniget.DefUseChains.visit_Raise beniget.beniget.DefUseChains.visit_Return beniget.beniget.DefUseChains.visit_Set beniget.beniget.DefUseChains.visit_Slice beniget.beniget.DefUseChains.visit_Subscript beniget.beniget.DefUseChains.visit_Try beniget.beniget.DefUseChains.visit_UnaryOp beniget.beniget.DefUseChains.visit_While beniget.beniget.DefUseChains.visit_With beniget.beniget.DefUseChains.visit_Yield beniget.beniget.DefUseChains.visit_arguments beniget.beniget.DefUseChains.visit_comprehension beniget.beniget.DefUseChains.visit_excepthandler beniget.beniget.DefUseChains.visit_withitem beniget.beniget.UseDefChains beniget.beniget.UseDefChains.__init__ beniget.beniget.UseDefChains.__str__ beniget.beniget.ordered_set beniget.beniget.ordered_set.__add__ beniget.beniget.ordered_set.__contains__ beniget.beniget.ordered_set.__init__ beniget.beniget.ordered_set.__iter__ beniget.beniget.ordered_set.__len__ beniget.beniget.ordered_set.add beniget.beniget.ordered_set.update 2 items passed all tests: 8 tests in beniget.beniget.Ancestors 7 tests in beniget.beniget.DefUseChains 15 tests in 96 items. 15 passed and 0 failed. Test passed. Trying: import beniget, gast as ast Expecting nothing ok Trying: code = "from math import cos, sin; print(cos(3))" Expecting nothing ok Trying: module = ast.parse(code) Expecting nothing ok Trying: duc = beniget.DefUseChains() Expecting nothing ok Trying: duc.visit(module) Expecting nothing ok Trying: imported = module.body[0].names Expecting nothing ok Trying: for name in imported: ud = duc.chains[name] if not ud.users(): print("Unused import: {}".format(ud.name())) Expecting: Unused import: sin ok Trying: code = """ nice = lambda x: x @nice def aw(): pass def some(): pass""" Expecting nothing ok Trying: module = ast.parse(code) Expecting nothing ok Trying: duc = beniget.DefUseChains() Expecting nothing ok Trying: duc.visit(module) Expecting nothing ok Trying: ancestors = beniget.Ancestors() Expecting nothing ok Trying: ancestors.visit(module) Expecting nothing ok Trying: nice = [d for d in duc.locals[module] if d.name() == "nice"][0] Expecting nothing ok Trying: for use in nice.users(): # we're interested in the parent of the decorator parents = ancestors.parents(use.node) # direct parent of the decorator is the function fdef = parents[-1] print(fdef.name) Expecting: aw ok Trying: import gast as ast Expecting nothing ok Trying: import beniget Expecting nothing ok Trying: class Attributes(ast.NodeVisitor): def __init__(self, module_node): # compute the def-use of the module self.chains = beniget.DefUseChains() self.chains.visit(module_node) self.users = set() # all users of `self` self.attributes = set() # attributes of current class def visit_ClassDef(self, node): # walk methods and fill users of `self` for stmt in node.body: if isinstance(stmt, ast.FunctionDef): self_def = self.chains.chains[stmt.args.args[0]] self.users.update(use.node for use in self_def.users()) self.generic_visit(node) def visit_Attribute(self, node): # any attribute of `self` is registered if node.value in self.users: self.attributes.add(node.attr) Expecting nothing ok Trying: code = "class My(object):\n def __init__(self, x): self.x = x" Expecting nothing ok Trying: module = ast.parse(code) Expecting nothing ok Trying: classdef = module.body[0] Expecting nothing ok Trying: attr = Attributes(module) Expecting nothing ok Trying: attr.visit(classdef) Expecting nothing ok Trying: list(attr.attributes) Expecting: ['x'] ok Trying: import gast as ast Expecting nothing ok ---------------------------------------------------------------------- Ran 145 tests in 0.112s OK ok Trying: import beniget Expecting nothing ok Trying: class Capture(ast.NodeVisitor): def __init__(self, module_node): # initialize def-use chains self.chains = beniget.DefUseChains() self.chains.visit(module_node) self.users = set() # users of local definitions self.captured = set() # identifiers that don't belong to local users def visit_FunctionDef(self, node): # initialize the set of node using a local variable for def_ in self.chains.locals[node]: self.users.update(use.node for use in def_.users()) self.generic_visit(node) def visit_Name(self, node): # register load of identifiers not locally definied if isinstance(node.ctx, ast.Load): if node not in self.users: self.captured.add(node.id) Expecting nothing ok Trying: code = 'def foo(x):\n def bar(): return x\n return bar' Expecting nothing ok Trying: module = ast.parse(code) Expecting nothing ok Trying: inner_function = module.body[0].body[0] Expecting nothing ok Trying: capture = Capture(module) Expecting nothing ok Trying: capture.visit(inner_function) Expecting nothing ok Trying: list(capture.captured) Expecting: ['x'] ok Trying: import gast as ast Expecting nothing ok Trying: import beniget Expecting nothing ok Trying: class CaptureX(ast.NodeVisitor): def __init__(self, module_node, fun): self.fun = fun # initialize use-def chains du = beniget.DefUseChains() du.visit(module_node) self.chains = beniget.UseDefChains(du) self.ancestors = beniget.Ancestors() self.ancestors.visit(module_node) self.external = list() self.visited_external = set() def visit_Name(self, node): # register load of identifiers not locally defined if isinstance(node.ctx, ast.Load): uses = self.chains.chains[node] for use in uses: try: parents = self.ancestors.parents(use.node) except KeyError: return # a builtin if self.fun not in parents: parent = self.ancestors.parentStmt(use.node) if parent not in self.visited_external: self.visited_external.add(parent) self.external.append(parent) self.rec(parent) def rec(self, node): "walk definitions to find their operands's def" if isinstance(node, ast.Assign): self.visit(node.value) # TODO: implement this for AugAssign etc Expecting nothing ok Trying: code = 'a = 1; b = [a, a]; c = len(b)\ndef foo():\n return c' Expecting nothing ok Trying: module = ast.parse(code) Expecting nothing ok Trying: function = module.body[3] Expecting nothing ok Trying: capturex = CaptureX(module, function) Expecting nothing ok Trying: capturex.visit(function) Expecting nothing ok Trying: list(map(type, capturex.external)) Expecting: [, , ] ok 1 items passed all tests: 42 tests in README.rst 42 tests in 1 items. 42 passed and 0 failed. Test passed. test_no_attribute (tests.attributes.TestAttributes.test_no_attribute) ... ok test_non_standard_self (tests.attributes.TestAttributes.test_non_standard_self) ... ok test_self_redefinition (tests.attributes.TestAttributes.test_self_redefinition) ... ok test_self_redefinition_in_args (tests.attributes.TestAttributes.test_self_redefinition_in_args) ... ok test_self_redefinition_in_both_branch (tests.attributes.TestAttributes.test_self_redefinition_in_both_branch) ... ok test_self_redefinition_in_branch_false (tests.attributes.TestAttributes.test_self_redefinition_in_branch_false) ... ok test_self_redefinition_in_branch_true (tests.attributes.TestAttributes.test_self_redefinition_in_branch_true) ... ok test_simple_attribute (tests.attributes.TestAttributes.test_simple_attribute) ... ok test_no_capture (tests.capture.TestCapture.test_no_capture) ... ok test_simple_capture (tests.capture.TestCapture.test_simple_capture) ... ok test_assign_in_loop (tests.chains.TestDefUseChains.test_assign_in_loop) ... ok test_assign_in_loop_in_conditional (tests.chains.TestDefUseChains.test_assign_in_loop_in_conditional) ... ok test_assign_in_while_in_conditional (tests.chains.TestDefUseChains.test_assign_in_while_in_conditional) ... ok test_attr (tests.chains.TestDefUseChains.test_attr) ... ok test_augassign (tests.chains.TestDefUseChains.test_augassign) ... ok test_augassign_in_loop (tests.chains.TestDefUseChains.test_augassign_in_loop) ... ok test_break_in_loop (tests.chains.TestDefUseChains.test_break_in_loop) ... ok test_class_annotation (tests.chains.TestDefUseChains.test_class_annotation) ... ok test_class_decorator (tests.chains.TestDefUseChains.test_class_decorator) ... ok test_complex_for_orelse (tests.chains.TestDefUseChains.test_complex_for_orelse) ... ok test_complex_while_orelse (tests.chains.TestDefUseChains.test_complex_while_orelse) ... ok test_continue_in_loop (tests.chains.TestDefUseChains.test_continue_in_loop) ... ok test_expanded_augassign (tests.chains.TestDefUseChains.test_expanded_augassign) ... ok test_expression_chain (tests.chains.TestDefUseChains.test_expression_chain) ... ok test_for_break (tests.chains.TestDefUseChains.test_for_break) ... ok test_for_pass (tests.chains.TestDefUseChains.test_for_pass) ... ok test_functiondef_returns (tests.chains.TestDefUseChains.test_functiondef_returns) ... ok test_if_both_branch (tests.chains.TestDefUseChains.test_if_both_branch) ... ok test_if_false_branch (tests.chains.TestDefUseChains.test_if_false_branch) ... ok test_if_in_loop (tests.chains.TestDefUseChains.test_if_in_loop) ... ok test_if_true_branch (tests.chains.TestDefUseChains.test_if_true_branch) ... ok test_ifexp_chain (tests.chains.TestDefUseChains.test_ifexp_chain) ... ok test_import_from (tests.chains.TestDefUseChains.test_import_from) ... ok test_import_from_as (tests.chains.TestDefUseChains.test_import_from_as) ... ok test_method_function_conflict (tests.chains.TestDefUseChains.test_method_function_conflict) ... ok test_multiple_import_as (tests.chains.TestDefUseChains.test_multiple_import_as) ... ok test_multiple_import_from_as (tests.chains.TestDefUseChains.test_multiple_import_from_as) ... ok test_named_expr_complex (tests.chains.TestDefUseChains.test_named_expr_complex) ... ok test_named_expr_simple (tests.chains.TestDefUseChains.test_named_expr_simple) ... ok test_named_expr_with_rename (tests.chains.TestDefUseChains.test_named_expr_with_rename) ... ok test_nested_if (tests.chains.TestDefUseChains.test_nested_if) ... ok test_nested_if_else (tests.chains.TestDefUseChains.test_nested_if_else) ... ok test_nested_while (tests.chains.TestDefUseChains.test_nested_while) ... ok test_reassign_in_loop (tests.chains.TestDefUseChains.test_reassign_in_loop) ... ok test_redef_try_except (tests.chains.TestDefUseChains.test_redef_try_except) ... ok test_simple_except (tests.chains.TestDefUseChains.test_simple_except) ... ok test_simple_expression (tests.chains.TestDefUseChains.test_simple_expression) ... ok test_simple_for (tests.chains.TestDefUseChains.test_simple_for) ... ok test_simple_for_orelse (tests.chains.TestDefUseChains.test_simple_for_orelse) ... ok test_simple_import (tests.chains.TestDefUseChains.test_simple_import) ... ok test_simple_import_as (tests.chains.TestDefUseChains.test_simple_import_as) ... ok test_simple_print (tests.chains.TestDefUseChains.test_simple_print) ... ok test_simple_redefinition (tests.chains.TestDefUseChains.test_simple_redefinition) ... ok test_simple_try (tests.chains.TestDefUseChains.test_simple_try) ... ok test_simple_try_except (tests.chains.TestDefUseChains.test_simple_try_except) ... ok test_simple_while (tests.chains.TestDefUseChains.test_simple_while) ... ok test_star_import_with_conditional_redef (tests.chains.TestDefUseChains.test_star_import_with_conditional_redef) ... ok test_try_except (tests.chains.TestDefUseChains.test_try_except) ... ok test_type_destructuring_for (tests.chains.TestDefUseChains.test_type_destructuring_for) ... ok test_type_destructuring_list (tests.chains.TestDefUseChains.test_type_destructuring_list) ... ok test_type_destructuring_tuple (tests.chains.TestDefUseChains.test_type_destructuring_tuple) ... ok test_unbound_identifier_message_format (tests.chains.TestDefUseChains.test_unbound_identifier_message_format) ... ok test_while_break (tests.chains.TestDefUseChains.test_while_break) ... ok test_while_cond_break (tests.chains.TestDefUseChains.test_while_cond_break) ... ok test_while_cond_continue (tests.chains.TestDefUseChains.test_while_cond_continue) ... ok test_while_nested_break (tests.chains.TestDefUseChains.test_while_nested_break) ... ok test_while_orelse_break (tests.chains.TestDefUseChains.test_while_orelse_break) ... ok test_with_handler (tests.chains.TestDefUseChains.test_with_handler) ... ok test_call (tests.chains.TestUseDefChains.test_call) ... ok test_simple_expression (tests.chains.TestUseDefChains.test_simple_expression) ... ok test_class_method_assign (tests.definitions.TestClasses.test_class_method_assign) ... ok testAsyncFunctionDef (tests.definitions.TestGlobals.testAsyncFunctionDef) ... ok testClassDef (tests.definitions.TestGlobals.testClassDef) ... ok testClassMethodDef (tests.definitions.TestGlobals.testClassMethodDef) ... ok testClassRedefinition (tests.definitions.TestGlobals.testClassRedefinition) ... ok testDelClassDef (tests.definitions.TestGlobals.testDelClassDef) ... ok testDelClassDefReDef (tests.definitions.TestGlobals.testDelClassDefReDef) ... ok testFuntionNested (tests.definitions.TestGlobals.testFuntionNested) ... ok testFuntionRedefinion (tests.definitions.TestGlobals.testFuntionRedefinion) ... ok testGlobalAfterKeyword (tests.definitions.TestGlobals.testGlobalAfterKeyword) ... ok testGlobalAnnotatedDef (tests.definitions.TestGlobals.testGlobalAnnotatedDef) ... ok testGlobalAsyncFor (tests.definitions.TestGlobals.testGlobalAsyncFor) ... ok testGlobalAsyncWith (tests.definitions.TestGlobals.testGlobalAsyncWith) ... ok testGlobalAugAssign (tests.definitions.TestGlobals.testGlobalAugAssign) ... ok testGlobalBeforeKeyword (tests.definitions.TestGlobals.testGlobalBeforeKeyword) ... ok testGlobalDef (tests.definitions.TestGlobals.testGlobalDef) ... ok testGlobalDestructuring (tests.definitions.TestGlobals.testGlobalDestructuring) ... ok testGlobalDictComp (tests.definitions.TestGlobals.testGlobalDictComp) ... ok testGlobalFor (tests.definitions.TestGlobals.testGlobalFor) ... ok testGlobalForDestructuring (tests.definitions.TestGlobals.testGlobalForDestructuring) ... ok testGlobalGeneratorExpr (tests.definitions.TestGlobals.testGlobalGeneratorExpr) ... ok testGlobalImport (tests.definitions.TestGlobals.testGlobalImport) ... ok testGlobalImportAs (tests.definitions.TestGlobals.testGlobalImportAs) ... ok testGlobalImportFrom (tests.definitions.TestGlobals.testGlobalImportFrom) ... ok testGlobalImportFromAs (tests.definitions.TestGlobals.testGlobalImportFromAs) ... ok testGlobalImportFromStar (tests.definitions.TestGlobals.testGlobalImportFromStar) ... ok testGlobalImportFromStarRedefine (tests.definitions.TestGlobals.testGlobalImportFromStarRedefine) ... ok testGlobalImportSubModule (tests.definitions.TestGlobals.testGlobalImportSubModule) ... ok testGlobalImportSubModuleAs (tests.definitions.TestGlobals.testGlobalImportSubModuleAs) ... ok testGlobalImports (tests.definitions.TestGlobals.testGlobalImports) ... ok testGlobalImportsAs (tests.definitions.TestGlobals.testGlobalImportsAs) ... ok testGlobalImportsFrom (tests.definitions.TestGlobals.testGlobalImportsFrom) ... ok testGlobalImportsFromAs (tests.definitions.TestGlobals.testGlobalImportsFromAs) ... ok testGlobalInFor (tests.definitions.TestGlobals.testGlobalInFor) ... ok testGlobalInIfBothBranch (tests.definitions.TestGlobals.testGlobalInIfBothBranch) ... ok testGlobalInIfBothBranchDifferent (tests.definitions.TestGlobals.testGlobalInIfBothBranchDifferent) ... ok testGlobalInIfFalseBranch (tests.definitions.TestGlobals.testGlobalInIfFalseBranch) ... ok testGlobalInIfTrueBranch (tests.definitions.TestGlobals.testGlobalInIfTrueBranch) ... ok testGlobalInWhile (tests.definitions.TestGlobals.testGlobalInWhile) ... ok testGlobalLambda (tests.definitions.TestGlobals.testGlobalLambda) ... ok testGlobalListComp (tests.definitions.TestGlobals.testGlobalListComp) ... ok testGlobalNestedFor (tests.definitions.TestGlobals.testGlobalNestedFor) ... ok testGlobalSetComp (tests.definitions.TestGlobals.testGlobalSetComp) ... ok testGlobalThroughKeyword (tests.definitions.TestGlobals.testGlobalThroughKeyword) ... ok testGlobalThroughKeywords (tests.definitions.TestGlobals.testGlobalThroughKeywords) ... ok testGlobalThroughMultipleKeyword (tests.definitions.TestGlobals.testGlobalThroughMultipleKeyword) ... ok testGlobalTry (tests.definitions.TestGlobals.testGlobalTry) ... ok testGlobalTryExcept (tests.definitions.TestGlobals.testGlobalTryExcept) ... ok testGlobalTryExceptFinally (tests.definitions.TestGlobals.testGlobalTryExceptFinally) ... ok testGlobalWith (tests.definitions.TestGlobals.testGlobalWith) ... ok testGlobalsAfterKeyword (tests.definitions.TestGlobals.testGlobalsAfterKeyword) ... ok testGlobalsBeforeKeyword (tests.definitions.TestGlobals.testGlobalsBeforeKeyword) ... ok testMultipleClassDef (tests.definitions.TestGlobals.testMultipleClassDef) ... ok testMultipleGlobalDef (tests.definitions.TestGlobals.testMultipleGlobalDef) ... ok testNestedClassDef (tests.definitions.TestGlobals.testNestedClassDef) ... ok test_MultipleFunctionDef (tests.definitions.TestGlobals.test_MultipleFunctionDef) ... ok test_SingleFunctionDef (tests.definitions.TestGlobals.test_SingleFunctionDef) ... ok testLocalFunctionDef (tests.definitions.TestLocals.testLocalFunctionDef) ... ok testLocalFunctionDefArgsDefault (tests.definitions.TestLocals.testLocalFunctionDefArgsDefault) ... ok testLocalFunctionDefKwArgs (tests.definitions.TestLocals.testLocalFunctionDefKwArgs) ... ok testLocalFunctionDefKwOnly (tests.definitions.TestLocals.testLocalFunctionDefKwOnly) ... ok testLocalFunctionDefOneArg (tests.definitions.TestLocals.testLocalFunctionDefOneArg) ... ok testLocalFunctionDefOneArgDefault (tests.definitions.TestLocals.testLocalFunctionDefOneArgDefault) ... ok testLocalFunctionDefStarArgs (tests.definitions.TestLocals.testLocalFunctionDefStarArgs) ... ok test_AugAssignInLoop (tests.definitions.TestLocals.test_AugAssignInLoop) ... ok test_IfInWhile (tests.definitions.TestLocals.test_IfInWhile) ... ok test_ListCompInLoop (tests.definitions.TestLocals.test_ListCompInLoop) ... ok test_LocalAssign (tests.definitions.TestLocals.test_LocalAssign) ... ok test_LocalAssignRedef (tests.definitions.TestLocals.test_LocalAssignRedef) ... ok test_LocalGlobal (tests.definitions.TestLocals.test_LocalGlobal) ... ok test_LocalNestedFun (tests.definitions.TestLocals.test_LocalNestedFun) ... ok test_LocalNonLocalAfter (tests.definitions.TestLocals.test_LocalNonLocalAfter) ... ok test_LocalNonLocalBefore (tests.definitions.TestLocals.test_LocalNonLocalBefore) ... ok test_beniget_documentation (tests.doc.TestDoctest.test_beniget_documentation) ... ok test_beniget_readme (tests.doc.TestDoctest.test_beniget_readme) ... Trying: import gast as ast Expecting nothing ok Trying: code = 'def foo(x): return x + 1' Expecting nothing ok Trying: module = ast.parse(code) Expecting nothing ok Trying: from beniget import Ancestors Expecting nothing ok Trying: ancestors = Ancestors() Expecting nothing ok Trying: ancestors.visit(module) Expecting nothing ok Trying: binop = module.body[0].body[0].value Expecting nothing ok Trying: for n in ancestors.parents(binop): print(type(n)) Expecting: ok Trying: import gast as ast Expecting nothing ok Trying: module = ast.parse("from b import c, d; c()") Expecting nothing ok Trying: duc = DefUseChains() Expecting nothing ok Trying: duc.visit(module) Expecting nothing ok Trying: for head in duc.locals[module]: print("{}: {}".format(head.name(), len(head.users()))) Expecting: c: 1 d: 0 ok Trying: alias_def = duc.chains[module.body[0].names[0]] Expecting nothing ok Trying: print(alias_def) Expecting: c -> (c -> (Call -> ())) ok 94 items had no tests: beniget.beniget beniget.beniget.Ancestors.__init__ beniget.beniget.Ancestors.generic_visit beniget.beniget.Ancestors.parent beniget.beniget.Ancestors.parentFunction beniget.beniget.Ancestors.parentInstance beniget.beniget.Ancestors.parentStmt beniget.beniget.Ancestors.parents beniget.beniget.CollectGlobals beniget.beniget.CollectGlobals.__init__ beniget.beniget.CollectGlobals.visit_Global beniget.beniget.Def beniget.beniget.Def.__init__ beniget.beniget.Def.__repr__ beniget.beniget.Def.__str__ beniget.beniget.Def._repr beniget.beniget.Def._str beniget.beniget.Def.add_user beniget.beniget.Def.name beniget.beniget.Def.users beniget.beniget.DefUseChains.CompDefinitionContext beniget.beniget.DefUseChains.DefinitionContext beniget.beniget.DefUseChains.__init__ beniget.beniget.DefUseChains.add_to_definition beniget.beniget.DefUseChains.defs beniget.beniget.DefUseChains.dump_chains beniget.beniget.DefUseChains.dump_definitions beniget.beniget.DefUseChains.extend_definition beniget.beniget.DefUseChains.lookup_identifier beniget.beniget.DefUseChains.process_body beniget.beniget.DefUseChains.process_undefs beniget.beniget.DefUseChains.set_definition beniget.beniget.DefUseChains.unbound_identifier beniget.beniget.DefUseChains.visit_AnnAssign beniget.beniget.DefUseChains.visit_Assert beniget.beniget.DefUseChains.visit_Assign beniget.beniget.DefUseChains.visit_AugAssign beniget.beniget.DefUseChains.visit_Await beniget.beniget.DefUseChains.visit_BinOp beniget.beniget.DefUseChains.visit_BoolOp beniget.beniget.DefUseChains.visit_Break beniget.beniget.DefUseChains.visit_Call beniget.beniget.DefUseChains.visit_ClassDef beniget.beniget.DefUseChains.visit_Compare beniget.beniget.DefUseChains.visit_Constant beniget.beniget.DefUseChains.visit_Continue beniget.beniget.DefUseChains.visit_Delete beniget.beniget.DefUseChains.visit_Destructured beniget.beniget.DefUseChains.visit_Dict beniget.beniget.DefUseChains.visit_DictComp beniget.beniget.DefUseChains.visit_Exec beniget.beniget.DefUseChains.visit_Expr beniget.beniget.DefUseChains.visit_For beniget.beniget.DefUseChains.visit_FormattedValue beniget.beniget.DefUseChains.visit_FunctionDef beniget.beniget.DefUseChains.visit_Global beniget.beniget.DefUseChains.visit_If beniget.beniget.DefUseChains.visit_IfExp beniget.beniget.DefUseChains.visit_Import beniget.beniget.DefUseChains.visit_ImportFrom beniget.beniget.DefUseChains.visit_JoinedStr beniget.beniget.DefUseChains.visit_Lambda beniget.beniget.DefUseChains.visit_List beniget.beniget.DefUseChains.visit_ListComp beniget.beniget.DefUseChains.visit_Module beniget.beniget.DefUseChains.visit_Name beniget.beniget.DefUseChains.visit_NamedExpr beniget.beniget.DefUseChains.visit_Nonlocal beniget.beniget.DefUseChains.visit_Print beniget.beniget.DefUseChains.visit_Raise beniget.beniget.DefUseChains.visit_Return beniget.beniget.DefUseChains.visit_Set beniget.beniget.DefUseChains.visit_Slice beniget.beniget.DefUseChains.visit_Subscript beniget.beniget.DefUseChains.visit_Try beniget.beniget.DefUseChains.visit_UnaryOp beniget.beniget.DefUseChains.visit_While beniget.beniget.DefUseChains.visit_With beniget.beniget.DefUseChains.visit_Yield beniget.beniget.DefUseChains.visit_arguments beniget.beniget.DefUseChains.visit_comprehension beniget.beniget.DefUseChains.visit_excepthandler beniget.beniget.DefUseChains.visit_withitem beniget.beniget.UseDefChains beniget.beniget.UseDefChains.__init__ beniget.beniget.UseDefChains.__str__ beniget.beniget.ordered_set beniget.beniget.ordered_set.__add__ beniget.beniget.ordered_set.__contains__ beniget.beniget.ordered_set.__init__ beniget.beniget.ordered_set.__iter__ beniget.beniget.ordered_set.__len__ beniget.beniget.ordered_set.add beniget.beniget.ordered_set.update 2 items passed all tests: 8 tests in beniget.beniget.Ancestors 7 tests in beniget.beniget.DefUseChains 15 tests in 96 items. 15 passed. Test passed. Trying: import beniget, gast as ast Expecting nothing ok Trying: code = "from math import cos, sin; print(cos(3))" Expecting nothing ok Trying: module = ast.parse(code) Expecting nothing ok Trying: duc = beniget.DefUseChains() Expecting nothing ok Trying: duc.visit(module) Expecting nothing ok Trying: imported = module.body[0].names Expecting nothing ok Trying: for name in imported: ud = duc.chains[name] if not ud.users(): print("Unused import: {}".format(ud.name())) Expecting: Unused import: sin ok Trying: code = """ nice = lambda x: x @nice def aw(): pass def some(): pass""" Expecting nothing ok Trying: module = ast.parse(code) Expecting nothing ok Trying: duc = beniget.DefUseChains() Expecting nothing ok Trying: duc.visit(module) Expecting nothing ok Trying: ancestors = beniget.Ancestors() Expecting nothing ok Trying: ancestors.visit(module) Expecting nothing ok Trying: nice = [d for d in duc.locals[module] if d.name() == "nice"][0] Expecting nothing ok Trying: for use in nice.users(): # we're interested in the parent of the decorator parents = ancestors.parents(use.node) # direct parent of the decorator is the function fdef = parents[-1] print(fdef.name) Expecting: aw ok Trying: import gast as ast Expecting nothing ok Trying: import beniget Expecting nothing ok Trying: class Attributes(ast.NodeVisitor): def __init__(self, module_node): # compute the def-use of the module self.chains = beniget.DefUseChains() self.chains.visit(module_node) self.users = set() # all users of `self` self.attributes = set() # attributes of current class def visit_ClassDef(self, node): # walk methods and fill users of `self` for stmt in node.body: if isinstance(stmt, ast.FunctionDef): self_def = self.chains.chains[stmt.args.args[0]] self.users.update(use.node for use in self_def.users()) self.generic_visit(node) def visit_Attribute(self, node): # any attribute of `self` is registered if node.value in self.users: self.attributes.add(node.attr) Expecting nothing ok Trying: code = "class My(object):\n def __init__(self, x): self.x = x" Expecting nothing ok Trying: module = ast.parse(code) Expecting nothing ok Trying: classdef = module.body[0] Expecting nothing ok Trying: attr = Attributes(module) Expecting nothing ok Trying: attr.visit(classdef) Expecting nothing ok Trying: list(attr.attributes) Expecting: ['x'] ok Trying: import gast as ast Expecting nothing ok ok ---------------------------------------------------------------------- Ran 145 tests in 0.094s OK Trying: import beniget Expecting nothing ok Trying: class Capture(ast.NodeVisitor): def __init__(self, module_node): # initialize def-use chains self.chains = beniget.DefUseChains() self.chains.visit(module_node) self.users = set() # users of local definitions self.captured = set() # identifiers that don't belong to local users def visit_FunctionDef(self, node): # initialize the set of node using a local variable for def_ in self.chains.locals[node]: self.users.update(use.node for use in def_.users()) self.generic_visit(node) def visit_Name(self, node): # register load of identifiers not locally definied if isinstance(node.ctx, ast.Load): if node not in self.users: self.captured.add(node.id) Expecting nothing ok Trying: code = 'def foo(x):\n def bar(): return x\n return bar' Expecting nothing ok Trying: module = ast.parse(code) Expecting nothing ok Trying: inner_function = module.body[0].body[0] Expecting nothing ok Trying: capture = Capture(module) Expecting nothing ok Trying: capture.visit(inner_function) Expecting nothing ok Trying: list(capture.captured) Expecting: ['x'] ok Trying: import gast as ast Expecting nothing ok Trying: import beniget Expecting nothing ok Trying: class CaptureX(ast.NodeVisitor): def __init__(self, module_node, fun): self.fun = fun # initialize use-def chains du = beniget.DefUseChains() du.visit(module_node) self.chains = beniget.UseDefChains(du) self.ancestors = beniget.Ancestors() self.ancestors.visit(module_node) self.external = list() self.visited_external = set() def visit_Name(self, node): # register load of identifiers not locally defined if isinstance(node.ctx, ast.Load): uses = self.chains.chains[node] for use in uses: try: parents = self.ancestors.parents(use.node) except KeyError: return # a builtin if self.fun not in parents: parent = self.ancestors.parentStmt(use.node) if parent not in self.visited_external: self.visited_external.add(parent) self.external.append(parent) self.rec(parent) def rec(self, node): "walk definitions to find their operands's def" if isinstance(node, ast.Assign): self.visit(node.value) # TODO: implement this for AugAssign etc Expecting nothing ok Trying: code = 'a = 1; b = [a, a]; c = len(b)\ndef foo():\n return c' Expecting nothing ok Trying: module = ast.parse(code) Expecting nothing ok Trying: function = module.body[3] Expecting nothing ok Trying: capturex = CaptureX(module, function) Expecting nothing ok Trying: capturex.visit(function) Expecting nothing ok Trying: list(map(type, capturex.external)) Expecting: [, , ] ok 1 item passed all tests: 42 tests in README.rst 42 tests in 1 item. 42 passed. Test passed. make[1]: Leaving directory '/build/reproducible-path/python-beniget-0.4.1' create-stamp debian/debhelper-build-stamp dh_testroot -O--buildsystem=pybuild dh_prep -O--buildsystem=pybuild dh_auto_install --destdir=debian/python3-beniget/ -O--buildsystem=pybuild I: pybuild base:311: /usr/bin/python3.12 setup.py install --root /build/reproducible-path/python-beniget-0.4.1/debian/python3-beniget /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:270: UserWarning: Unknown distribution option: 'test_suite' warnings.warn(msg) running install /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:79: SetuptoolsDeprecationWarning: setup.py install is deprecated. !! ******************************************************************************** Please avoid running ``setup.py`` directly. Instead, use pypa/build, pypa/installer or other standards-based tools. See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html for details. ******************************************************************************** !! self.initialize_options() running build running build_py running install_lib creating /build/reproducible-path/python-beniget-0.4.1/debian/python3-beniget/usr/lib/python3.12/dist-packages creating /build/reproducible-path/python-beniget-0.4.1/debian/python3-beniget/usr/lib/python3.12/dist-packages/beniget copying /build/reproducible-path/python-beniget-0.4.1/.pybuild/cpython3_3.12_python-beniget/build/beniget/__init__.py -> /build/reproducible-path/python-beniget-0.4.1/debian/python3-beniget/usr/lib/python3.12/dist-packages/beniget copying /build/reproducible-path/python-beniget-0.4.1/.pybuild/cpython3_3.12_python-beniget/build/beniget/beniget.py -> /build/reproducible-path/python-beniget-0.4.1/debian/python3-beniget/usr/lib/python3.12/dist-packages/beniget byte-compiling /build/reproducible-path/python-beniget-0.4.1/debian/python3-beniget/usr/lib/python3.12/dist-packages/beniget/__init__.py to __init__.cpython-312.pyc byte-compiling /build/reproducible-path/python-beniget-0.4.1/debian/python3-beniget/usr/lib/python3.12/dist-packages/beniget/beniget.py to beniget.cpython-312.pyc running install_egg_info running egg_info creating beniget.egg-info writing beniget.egg-info/PKG-INFO writing dependency_links to beniget.egg-info/dependency_links.txt writing requirements to beniget.egg-info/requires.txt writing top-level names to beniget.egg-info/top_level.txt writing manifest file 'beniget.egg-info/SOURCES.txt' reading manifest file 'beniget.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' adding license file 'LICENSE' writing manifest file 'beniget.egg-info/SOURCES.txt' Copying beniget.egg-info to /build/reproducible-path/python-beniget-0.4.1/debian/python3-beniget/usr/lib/python3.12/dist-packages/beniget-0.4.1.egg-info Skipping SOURCES.txt running install_scripts I: pybuild base:311: /usr/bin/python3 setup.py install --root /build/reproducible-path/python-beniget-0.4.1/debian/python3-beniget /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:270: UserWarning: Unknown distribution option: 'test_suite' warnings.warn(msg) running install /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:79: SetuptoolsDeprecationWarning: setup.py install is deprecated. !! ******************************************************************************** Please avoid running ``setup.py`` directly. Instead, use pypa/build, pypa/installer or other standards-based tools. See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html for details. ******************************************************************************** !! self.initialize_options() running build running build_py running install_lib creating /build/reproducible-path/python-beniget-0.4.1/debian/python3-beniget/usr/lib/python3.13/dist-packages creating /build/reproducible-path/python-beniget-0.4.1/debian/python3-beniget/usr/lib/python3.13/dist-packages/beniget copying /build/reproducible-path/python-beniget-0.4.1/.pybuild/cpython3_3.13_python-beniget/build/beniget/__init__.py -> /build/reproducible-path/python-beniget-0.4.1/debian/python3-beniget/usr/lib/python3.13/dist-packages/beniget copying /build/reproducible-path/python-beniget-0.4.1/.pybuild/cpython3_3.13_python-beniget/build/beniget/beniget.py -> /build/reproducible-path/python-beniget-0.4.1/debian/python3-beniget/usr/lib/python3.13/dist-packages/beniget byte-compiling /build/reproducible-path/python-beniget-0.4.1/debian/python3-beniget/usr/lib/python3.13/dist-packages/beniget/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/python-beniget-0.4.1/debian/python3-beniget/usr/lib/python3.13/dist-packages/beniget/beniget.py to beniget.cpython-313.pyc running install_egg_info running egg_info writing beniget.egg-info/PKG-INFO writing dependency_links to beniget.egg-info/dependency_links.txt writing requirements to beniget.egg-info/requires.txt writing top-level names to beniget.egg-info/top_level.txt reading manifest file 'beniget.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' adding license file 'LICENSE' writing manifest file 'beniget.egg-info/SOURCES.txt' Copying beniget.egg-info to /build/reproducible-path/python-beniget-0.4.1/debian/python3-beniget/usr/lib/python3.13/dist-packages/beniget-0.4.1.egg-info Skipping SOURCES.txt running install_scripts dh_installdocs -O--buildsystem=pybuild dh_installchangelogs -O--buildsystem=pybuild dh_python3 -O--buildsystem=pybuild dh_installsystemduser -O--buildsystem=pybuild dh_perl -O--buildsystem=pybuild dh_link -O--buildsystem=pybuild dh_strip_nondeterminism -O--buildsystem=pybuild dh_compress -O--buildsystem=pybuild dh_fixperms -O--buildsystem=pybuild dh_missing -O--buildsystem=pybuild dh_installdeb -O--buildsystem=pybuild dh_gencontrol -O--buildsystem=pybuild dh_md5sums -O--buildsystem=pybuild dh_builddeb -O--buildsystem=pybuild dpkg-deb: building package 'python3-beniget' in '../python3-beniget_0.4.1-3_all.deb'. dpkg-genbuildinfo --build=binary -O../python-beniget_0.4.1-3_arm64.buildinfo dpkg-genchanges --build=binary -O../python-beniget_0.4.1-3_arm64.changes dpkg-genchanges: info: binary-only upload (no source code included) dpkg-source --after-build . dpkg-buildpackage: info: binary-only upload (no source included) dpkg-genchanges: info: not including original source code in upload I: copying local configuration I: user script /srv/workspace/pbuilder/1807438/tmp/hooks/B01_cleanup starting I: user script /srv/workspace/pbuilder/1807438/tmp/hooks/B01_cleanup finished I: unmounting dev/ptmx filesystem I: unmounting dev/pts filesystem I: unmounting dev/shm filesystem I: unmounting proc filesystem I: unmounting sys filesystem I: cleaning the build env I: removing directory /srv/workspace/pbuilder/1807438 and its subdirectories I: Current time: Sat Feb 22 22:47:34 +14 2025 I: pbuilder-time-stamp: 1740214054 + false + set +x Sat Feb 22 08:47:34 UTC 2025 I: Signing ./b2/python-beniget_0.4.1-3_arm64.buildinfo as python-beniget_0.4.1-3_arm64.buildinfo.asc Sat Feb 22 08:47:34 UTC 2025 I: Signed ./b2/python-beniget_0.4.1-3_arm64.buildinfo as ./b2/python-beniget_0.4.1-3_arm64.buildinfo.asc Sat Feb 22 08:47:34 UTC 2025 - build #2 for python-beniget/unstable/arm64 on codethink04-arm64 done. Starting cleanup. All cleanup done. Sat Feb 22 08:47:34 UTC 2025 - reproducible_build.sh stopped running as /tmp/jenkins-script-CjiVvr5C, removing. /srv/reproducible-results/rbuild-debian/r-b-build.SfomDQJQ: total 108 drwxr-xr-x 2 jenkins jenkins 4096 Feb 22 08:46 b1 drwxr-xr-x 2 jenkins jenkins 4096 Feb 22 08:47 b2 -rw-r--r-- 1 jenkins jenkins 1524 Dec 3 2022 python-beniget_0.4.1-3.dsc -rw------- 1 jenkins jenkins 93107 Feb 22 08:46 rbuildlog.fLc6Up3 /srv/reproducible-results/rbuild-debian/r-b-build.SfomDQJQ/b1: total 140 -rw-r--r-- 1 jenkins jenkins 90123 Feb 22 08:46 build.log -rw-r--r-- 1 jenkins jenkins 2688 Feb 22 08:46 python-beniget_0.4.1-3.debian.tar.xz -rw-r--r-- 1 jenkins jenkins 1524 Feb 22 08:46 python-beniget_0.4.1-3.dsc -rw-r--r-- 1 jenkins jenkins 5904 Feb 22 08:46 python-beniget_0.4.1-3_arm64.buildinfo -rw-r--r-- 1 jenkins jenkins 6786 Feb 22 08:46 python-beniget_0.4.1-3_arm64.buildinfo.asc -rw-r--r-- 1 jenkins jenkins 1172 Feb 22 08:46 python-beniget_0.4.1-3_arm64.changes -rw-r--r-- 1 jenkins jenkins 1340 Feb 22 08:46 python-beniget_0.4.1-3_source.changes -rw-r--r-- 1 jenkins jenkins 9988 Feb 22 08:46 python3-beniget_0.4.1-3_all.deb /srv/reproducible-results/rbuild-debian/r-b-build.SfomDQJQ/b2: total 136 -rw-r--r-- 1 jenkins jenkins 92067 Feb 22 08:47 build.log -rw-r--r-- 1 jenkins jenkins 2688 Feb 22 08:47 python-beniget_0.4.1-3.debian.tar.xz -rw-r--r-- 1 jenkins jenkins 1524 Feb 22 08:47 python-beniget_0.4.1-3.dsc -rw-r--r-- 1 jenkins jenkins 5904 Feb 22 08:47 python-beniget_0.4.1-3_arm64.buildinfo -rw-r--r-- 1 jenkins jenkins 6786 Feb 22 08:47 python-beniget_0.4.1-3_arm64.buildinfo.asc -rw-r--r-- 1 jenkins jenkins 1172 Feb 22 08:47 python-beniget_0.4.1-3_arm64.changes -rw-r--r-- 1 jenkins jenkins 1340 Feb 22 08:47 python-beniget_0.4.1-3_source.changes -rw-r--r-- 1 jenkins jenkins 9988 Feb 22 08:47 python3-beniget_0.4.1-3_all.deb Sat Feb 22 08:47:35 UTC 2025 I: Deleting $TMPDIR on codethink04-arm64.debian.net. Sat Feb 22 08:47:36 UTC 2025 I: python-beniget_0.4.1-3_arm64.changes: Format: 1.8 Date: Sat, 03 Dec 2022 16:03:17 -0500 Source: python-beniget Binary: python3-beniget Architecture: all Version: 0.4.1-3 Distribution: unstable Urgency: medium Maintainer: Debian Python Team Changed-By: Louis-Philippe Véronneau Description: python3-beniget - collection of compile-time Python AST analyzers Changes: python-beniget (0.4.1-3) unstable; urgency=medium . * Team upload. * d/rules: force the testsuite to run via something else than the deprecated "python3 setup.py tests" command. Checksums-Sha1: aef9a9892301b4353cdc0f1140ab0e513dec73b2 5904 python-beniget_0.4.1-3_arm64.buildinfo d3f50117a5d252d8ac3ad2174bc80c26ec101937 9988 python3-beniget_0.4.1-3_all.deb Checksums-Sha256: 73e5863d71a623cdf40d286e560d02b842611784aabc51311cff69972a58ee16 5904 python-beniget_0.4.1-3_arm64.buildinfo 6cea2b69729c515ca0ef6678c8a4374e4aec8109de0a7b92ec98e1163a9d3297 9988 python3-beniget_0.4.1-3_all.deb Files: 3c9f8d32ca62628c6bc17b374523716c 5904 python optional python-beniget_0.4.1-3_arm64.buildinfo f8d5df4a504d4b1cb7999a8c0d7a4db2 9988 python optional python3-beniget_0.4.1-3_all.deb removed '/var/lib/jenkins/userContent/reproducible/debian/rbuild/unstable/arm64/python-beniget_0.4.1-3.rbuild.log' removed '/var/lib/jenkins/userContent/reproducible/debian/rbuild/unstable/arm64/python-beniget_0.4.1-3.rbuild.log.gz' removed '/var/lib/jenkins/userContent/reproducible/debian/logs/unstable/arm64/python-beniget_0.4.1-3.build1.log.gz' removed '/var/lib/jenkins/userContent/reproducible/debian/logs/unstable/arm64/python-beniget_0.4.1-3.build2.log.gz' removed '/var/lib/jenkins/userContent/reproducible/debian/buildinfo/unstable/arm64/python-beniget_0.4.1-3_arm64.buildinfo' removed '/var/lib/jenkins/userContent/reproducible/debian/logdiffs/unstable/arm64/python-beniget_0.4.1-3.diff.gz' Diff of the two buildlogs: -- --- b1/build.log 2025-02-22 08:46:51.992297835 +0000 +++ b2/build.log 2025-02-22 08:47:35.394341312 +0000 @@ -1,6 +1,6 @@ I: pbuilder: network access will be disabled during build -I: Current time: Fri Mar 27 03:09:13 -12 2026 -I: pbuilder-time-stamp: 1774624153 +I: Current time: Sat Feb 22 22:46:55 +14 2025 +I: pbuilder-time-stamp: 1740214015 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/unstable-reproducible-base.tgz] I: copying local configuration @@ -22,52 +22,84 @@ dpkg-source: info: unpacking python-beniget_0.4.1-3.debian.tar.xz I: Not using root during the build. I: Installing the build-deps -I: user script /srv/workspace/pbuilder/2439922/tmp/hooks/D02_print_environment starting +I: user script /srv/workspace/pbuilder/1807438/tmp/hooks/D01_modify_environment starting +debug: Running on codethink04-arm64. +I: Changing host+domainname to test build reproducibility +I: Adding a custom variable just for the fun of it... +I: Changing /bin/sh to bash +'/bin/sh' -> '/bin/bash' +lrwxrwxrwx 1 root root 9 Feb 22 08:47 /bin/sh -> /bin/bash +I: Setting pbuilder2's login shell to /bin/bash +I: Setting pbuilder2's GECOS to second user,second room,second work-phone,second home-phone,second other +I: user script /srv/workspace/pbuilder/1807438/tmp/hooks/D01_modify_environment finished +I: user script /srv/workspace/pbuilder/1807438/tmp/hooks/D02_print_environment starting I: set - BUILDDIR='/build/reproducible-path' - BUILDUSERGECOS='first user,first room,first work-phone,first home-phone,first other' - BUILDUSERNAME='pbuilder1' - BUILD_ARCH='arm64' - DEBIAN_FRONTEND='noninteractive' + BASH=/bin/sh + BASHOPTS=checkwinsize:cmdhist:complete_fullquote:extquote:force_fignore:globasciiranges:globskipdots:hostcomplete:interactive_comments:patsub_replacement:progcomp:promptvars:sourcepath + BASH_ALIASES=() + BASH_ARGC=() + BASH_ARGV=() + BASH_CMDS=() + BASH_LINENO=([0]="12" [1]="0") + BASH_LOADABLES_PATH=/usr/local/lib/bash:/usr/lib/bash:/opt/local/lib/bash:/usr/pkg/lib/bash:/opt/pkg/lib/bash:. + BASH_SOURCE=([0]="/tmp/hooks/D02_print_environment" [1]="/tmp/hooks/D02_print_environment") + BASH_VERSINFO=([0]="5" [1]="2" [2]="37" [3]="1" [4]="release" [5]="aarch64-unknown-linux-gnu") + BASH_VERSION='5.2.37(1)-release' + BUILDDIR=/build/reproducible-path + BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other' + BUILDUSERNAME=pbuilder2 + BUILD_ARCH=arm64 + DEBIAN_FRONTEND=noninteractive DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=12 ' - DISTRIBUTION='unstable' - HOME='/root' - HOST_ARCH='arm64' + DIRSTACK=() + DISTRIBUTION=unstable + EUID=0 + FUNCNAME=([0]="Echo" [1]="main") + GROUPS=() + HOME=/root + HOSTNAME=i-capture-the-hostname + HOSTTYPE=aarch64 + HOST_ARCH=arm64 IFS=' ' - INVOCATION_ID='dcdedd017b184c9dac818187c27893d5' - LANG='C' - LANGUAGE='en_US:en' - LC_ALL='C' - MAIL='/var/mail/root' - OPTIND='1' - PATH='/usr/sbin:/usr/bin:/sbin:/bin:/usr/games' - PBCURRENTCOMMANDLINEOPERATION='build' - PBUILDER_OPERATION='build' - PBUILDER_PKGDATADIR='/usr/share/pbuilder' - PBUILDER_PKGLIBDIR='/usr/lib/pbuilder' - PBUILDER_SYSCONFDIR='/etc' - PPID='2439922' - PS1='# ' - PS2='> ' + INVOCATION_ID=2d3430171e8f4e9abd04ce114f8ca732 + LANG=C + LANGUAGE=nl_BE:nl + LC_ALL=C + MACHTYPE=aarch64-unknown-linux-gnu + MAIL=/var/mail/root + OPTERR=1 + OPTIND=1 + OSTYPE=linux-gnu + PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path + PBCURRENTCOMMANDLINEOPERATION=build + PBUILDER_OPERATION=build + PBUILDER_PKGDATADIR=/usr/share/pbuilder + PBUILDER_PKGLIBDIR=/usr/lib/pbuilder + PBUILDER_SYSCONFDIR=/etc + PIPESTATUS=([0]="0") + POSIXLY_CORRECT=y + PPID=1807438 PS4='+ ' - PWD='/' - SHELL='/bin/bash' - SHLVL='2' - SUDO_COMMAND='/usr/bin/timeout -k 18.1h 18h /usr/bin/ionice -c 3 /usr/bin/nice /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.SfomDQJQ/pbuilderrc_OgtD --distribution unstable --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/unstable-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.SfomDQJQ/b1 --logfile b1/build.log python-beniget_0.4.1-3.dsc' - SUDO_GID='109' - SUDO_UID='104' - SUDO_USER='jenkins' - TERM='unknown' - TZ='/usr/share/zoneinfo/Etc/GMT+12' - USER='root' - _='/usr/bin/systemd-run' - http_proxy='http://192.168.101.4:3128' + PWD=/ + SHELL=/bin/bash + SHELLOPTS=braceexpand:errexit:hashall:interactive-comments:posix + SHLVL=3 + SUDO_COMMAND='/usr/bin/timeout -k 24.1h 24h /usr/bin/ionice -c 3 /usr/bin/nice -n 11 /usr/bin/unshare --uts -- /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.SfomDQJQ/pbuilderrc_KJdb --distribution unstable --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/unstable-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.SfomDQJQ/b2 --logfile b2/build.log python-beniget_0.4.1-3.dsc' + SUDO_GID=109 + SUDO_UID=104 + SUDO_USER=jenkins + TERM=unknown + TZ=/usr/share/zoneinfo/Etc/GMT-14 + UID=0 + USER=root + _='I: set' + http_proxy=http://192.168.101.4:3128 I: uname -a - Linux codethink03-arm64 6.1.0-31-cloud-arm64 #1 SMP Debian 6.1.128-1 (2025-02-07) aarch64 GNU/Linux + Linux i-capture-the-hostname 6.1.0-31-cloud-arm64 #1 SMP Debian 6.1.128-1 (2025-02-07) aarch64 GNU/Linux I: ls -l /bin - lrwxrwxrwx 1 root root 7 Nov 22 2024 /bin -> usr/bin -I: user script /srv/workspace/pbuilder/2439922/tmp/hooks/D02_print_environment finished + lrwxrwxrwx 1 root root 7 Nov 22 14:40 /bin -> usr/bin +I: user script /srv/workspace/pbuilder/1807438/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy @@ -182,7 +214,7 @@ Get: 69 http://deb.debian.org/debian unstable/main arm64 python3.12 arm64 3.12.9-1 [681 kB] Get: 70 http://deb.debian.org/debian unstable/main arm64 python3-all arm64 3.13.1-2 [1056 B] Get: 71 http://deb.debian.org/debian unstable/main arm64 python3-gast all 0.6.0-1 [18.7 kB] -Fetched 33.7 MB in 0s (76.8 MB/s) +Fetched 33.7 MB in 0s (162 MB/s) Preconfiguring packages ... Selecting previously unselected package libpython3.13-minimal:arm64. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 19889 files and directories currently installed.) @@ -430,8 +462,8 @@ Setting up tzdata (2025a-2) ... Current default time zone: 'Etc/UTC' -Local time is now: Fri Mar 27 15:09:31 UTC 2026. -Universal Time is now: Fri Mar 27 15:09:31 UTC 2026. +Local time is now: Sat Feb 22 08:47:12 UTC 2025. +Universal Time is now: Sat Feb 22 08:47:12 UTC 2025. Run 'dpkg-reconfigure tzdata' if you wish to change it. Setting up autotools-dev (20220109.1) ... @@ -495,7 +527,11 @@ Building tag database... -> Finished parsing the build-deps I: Building the package -I: Running cd /build/reproducible-path/python-beniget-0.4.1/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-genchanges -S > ../python-beniget_0.4.1-3_source.changes +I: user script /srv/workspace/pbuilder/1807438/tmp/hooks/A99_set_merged_usr starting +Not re-configuring usrmerge for unstable +I: user script /srv/workspace/pbuilder/1807438/tmp/hooks/A99_set_merged_usr finished +hostname: Name or service not known +I: Running cd /build/reproducible-path/python-beniget-0.4.1/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-genchanges -S > ../python-beniget_0.4.1-3_source.changes dpkg-buildpackage: info: source package python-beniget dpkg-buildpackage: info: source version 0.4.1-3 dpkg-buildpackage: info: source distribution unstable @@ -1004,7 +1040,7 @@ ok ---------------------------------------------------------------------- -Ran 145 tests in 0.144s +Ran 145 tests in 0.112s OK ok @@ -1586,7 +1622,7 @@ ok ---------------------------------------------------------------------- -Ran 145 tests in 0.228s +Ran 145 tests in 0.094s OK Trying: @@ -1823,12 +1859,14 @@ dpkg-buildpackage: info: binary-only upload (no source included) dpkg-genchanges: info: not including original source code in upload I: copying local configuration +I: user script /srv/workspace/pbuilder/1807438/tmp/hooks/B01_cleanup starting +I: user script /srv/workspace/pbuilder/1807438/tmp/hooks/B01_cleanup finished I: unmounting dev/ptmx filesystem I: unmounting dev/pts filesystem I: unmounting dev/shm filesystem I: unmounting proc filesystem I: unmounting sys filesystem I: cleaning the build env -I: removing directory /srv/workspace/pbuilder/2439922 and its subdirectories -I: Current time: Fri Mar 27 03:09:50 -12 2026 -I: pbuilder-time-stamp: 1774624190 +I: removing directory /srv/workspace/pbuilder/1807438 and its subdirectories +I: Current time: Sat Feb 22 22:47:34 +14 2025 +I: pbuilder-time-stamp: 1740214054 Compressing the 2nd log... /var/lib/jenkins/userContent/reproducible/debian/logdiffs/unstable/arm64/python-beniget_0.4.1-3.diff: 67.2% -- replaced with /var/lib/jenkins/userContent/reproducible/debian/logdiffs/unstable/arm64/python-beniget_0.4.1-3.diff.gz b2/build.log: 86.3% -- replaced with stdout Compressing the 1st log... b1/build.log: 86.7% -- replaced with stdout Sat Feb 22 08:47:37 UTC 2025 I: diffoscope 288 will be used to compare the two builds: ++ date -u +%s + DIFFOSCOPE_STAMP=/var/log/reproducible-builds/diffoscope_stamp_python-beniget_unstable_arm64_1740214057 + touch /var/log/reproducible-builds/diffoscope_stamp_python-beniget_unstable_arm64_1740214057 + RESULT=0 + systemd-run '--description=diffoscope on python-beniget/0.4.1-3 in unstable/arm64' --slice=rb-build-diffoscope.slice -u rb-diffoscope-arm64_6-80258 '--property=SuccessExitStatus=1 124' --user --send-sighup --pipe --wait -E TMPDIR timeout 155m nice schroot --directory /srv/reproducible-results/rbuild-debian/r-b-build.SfomDQJQ --run-session -c jenkins-reproducible-unstable-diffoscope-9d676384-1d79-4c78-9643-b2bb1c8260d8 -- sh -c 'export TMPDIR=/srv/reproducible-results/rbuild-debian/r-b-build.SfomDQJQ/dbd-tmp-QSNXR4i ; timeout 150m diffoscope --timeout 7200 --html /srv/reproducible-results/rbuild-debian/r-b-build.SfomDQJQ/python-beniget_0.4.1-3.diffoscope.html --text /srv/reproducible-results/rbuild-debian/r-b-build.SfomDQJQ/python-beniget_0.4.1-3.diffoscope.txt --json /srv/reproducible-results/rbuild-debian/r-b-build.SfomDQJQ/python-beniget_0.4.1-3.diffoscope.json --profile=- /srv/reproducible-results/rbuild-debian/r-b-build.SfomDQJQ/b1/python-beniget_0.4.1-3_arm64.changes /srv/reproducible-results/rbuild-debian/r-b-build.SfomDQJQ/b2/python-beniget_0.4.1-3_arm64.changes' + false + set +x Running as unit: rb-diffoscope-arm64_6-80258.service # Profiling output for: /usr/bin/diffoscope --timeout 7200 --html /srv/reproducible-results/rbuild-debian/r-b-build.SfomDQJQ/python-beniget_0.4.1-3.diffoscope.html --text /srv/reproducible-results/rbuild-debian/r-b-build.SfomDQJQ/python-beniget_0.4.1-3.diffoscope.txt --json /srv/reproducible-results/rbuild-debian/r-b-build.SfomDQJQ/python-beniget_0.4.1-3.diffoscope.json --profile=- /srv/reproducible-results/rbuild-debian/r-b-build.SfomDQJQ/b1/python-beniget_0.4.1-3_arm64.changes /srv/reproducible-results/rbuild-debian/r-b-build.SfomDQJQ/b2/python-beniget_0.4.1-3_arm64.changes ## command (total time: 0.000s) 0.000s 1 call cmp (internal) ## has_same_content_as (total time: 0.000s) 0.000s 1 call diffoscope.comparators.binary.FilesystemFile ## main (total time: 0.004s) 0.004s 2 calls outputs 0.000s 1 call cleanup Finished with result: success Main processes terminated with: code=exited/status=0 Service runtime: 304ms CPU time consumed: 301ms _ _ _ _ _ _ __ _ _| |_| |__ ___ _ __ | |__ ___ _ __ (_) __ _ ___| |_ | '_ \| | | | __| '_ \ / _ \| '_ \ _____| '_ \ / _ \ '_ \| |/ _` |/ _ \ __| | |_) | |_| | |_| | | | (_) | | | |_____| |_) | __/ | | | | (_| | __/ |_ | .__/ \__, |\__|_| |_|\___/|_| |_| |_.__/ \___|_| |_|_|\__, |\___|\__| |_| |___/ |___/ Sat Feb 22 08:47:38 UTC 2025 I: diffoscope 288 found no differences in the changes files, and a .buildinfo file also exists. Sat Feb 22 08:47:38 UTC 2025 I: python-beniget from unstable built successfully and reproducibly on arm64. INSERT 0 1 INSERT 0 1 DELETE 1 [2025-02-22 08:47:38] INFO: Starting at 2025-02-22 08:47:38.941662 [2025-02-22 08:47:39] INFO: Generating the pages of 1 package(s) [2025-02-22 08:47:39] CRITICAL: https://tests.reproducible-builds.org/debian/unstable/arm64/python-beniget didn't produce a buildlog, even though it has been built. [2025-02-22 08:47:39] INFO: Finished at 2025-02-22 08:47:39.346302, took: 0:00:00.404651 Sat Feb 22 08:47:39 UTC 2025 - successfully updated the database and updated https://tests.reproducible-builds.org/debian/rb-pkg/unstable/arm64/python-beniget.html Sat Feb 22 08:47:39 UTC 2025 I: Submitting .buildinfo files to external archives: Sat Feb 22 08:47:39 UTC 2025 I: Submitting 8.0K b1/python-beniget_0.4.1-3_arm64.buildinfo.asc https://buildinfo.debian.net/aef9a9892301b4353cdc0f1140ab0e513dec73b2/python-beniget_0.4.1-3_all Sat Feb 22 08:47:40 UTC 2025 I: Submitting 8.0K b2/python-beniget_0.4.1-3_arm64.buildinfo.asc https://buildinfo.debian.net/fbcccf6cf727bad153b5963ecc6d927f2629f2a6/python-beniget_0.4.1-3_all Sat Feb 22 08:47:40 UTC 2025 I: Done submitting .buildinfo files to http://buildinfo.debian.net/api/submit. Sat Feb 22 08:47:40 UTC 2025 I: Done submitting .buildinfo files. Sat Feb 22 08:47:40 UTC 2025 I: Removing signed python-beniget_0.4.1-3_arm64.buildinfo.asc files: removed './b1/python-beniget_0.4.1-3_arm64.buildinfo.asc' removed './b2/python-beniget_0.4.1-3_arm64.buildinfo.asc' 1740214060 arm64 unstable python-beniget Starting cleanup. /var/lib/jenkins/userContent/reproducible/debian/rbuild/unstable/arm64/python-beniget_0.4.1-3.rbuild.log: 85.2% -- replaced with /var/lib/jenkins/userContent/reproducible/debian/rbuild/unstable/arm64/python-beniget_0.4.1-3.rbuild.log.gz [2025-02-22 08:47:41] INFO: Starting at 2025-02-22 08:47:41.294511 [2025-02-22 08:47:41] INFO: Generating the pages of 1 package(s) [2025-02-22 08:47:41] INFO: Finished at 2025-02-22 08:47:41.566393, took: 0:00:00.271890 All cleanup done. Sat Feb 22 08:47:41 UTC 2025 - total duration: 0h 1m 36s. Sat Feb 22 08:47:41 UTC 2025 - reproducible_build.sh stopped running as /tmp/jenkins-script-c326QZhq, removing. Finished with result: success Main processes terminated with: code=exited/status=0 Service runtime: 1min 39.254s CPU time consumed: 7.379s