Running as unit: rb-build-amd64_25-22736.service ==================================================================================== Fri Nov 22 15:04:35 UTC 2024 - running /srv/jenkins/bin/reproducible_build.sh (for job reproducible_builder_amd64_25) on jenkins, called using "ionos1-amd64 ionos5-amd64" as arguments. Fri Nov 22 15:04:35 UTC 2024 - actually running "reproducible_build.sh" (md5sum 68e686e434c9ab7bc3ec047d8b309cbc) as "/tmp/jenkins-script-NrHqPOla" $ git clone https://salsa.debian.org/qa/jenkins.debian.net.git ; more CONTRIBUTING Fri Nov 22 15:04:35 UTC 2024 - checking /var/lib/jenkins/offline_nodes if ionos1-amd64.debian.net is marked as down. Fri Nov 22 15:04:35 UTC 2024 - checking via ssh if ionos1-amd64.debian.net is up. removed '/tmp/read-only-fs-test-9RQLaO' Fri Nov 22 15:04:36 UTC 2024 - checking /var/lib/jenkins/offline_nodes if ionos5-amd64.debian.net is marked as down. Fri Nov 22 15:04:36 UTC 2024 - checking via ssh if ionos5-amd64.debian.net is up. removed '/tmp/read-only-fs-test-W6bmlS' ok, let's check if libtest-mockfile-perl is building anywhere yet… ok, libtest-mockfile-perl is not building anywhere… UPDATE 1 ============================================================================= Initialising reproducibly build of libtest-mockfile-perl in unstable on amd64 on jenkins now. 1st build will be done on ionos1-amd64.debian.net. 2nd build will be done on ionos5-amd64.debian.net. ============================================================================= Fri Nov 22 15:04:56 UTC 2024 I: starting to build libtest-mockfile-perl/unstable/amd64 on jenkins on '2024-11-22 15:04' Fri Nov 22 15:04:56 UTC 2024 I: The jenkins build log is/was available at https://jenkins.debian.net/userContent/reproducible/debian/build_service/amd64_25/22736/console.log 1732287896 amd64 unstable libtest-mockfile-perl Fri Nov 22 15:04:56 UTC 2024 I: Downloading source for unstable/libtest-mockfile-perl=0.036-1 --2024-11-22 15:04:56-- http://deb.debian.org/debian/pool/main/libt/libtest-mockfile-perl/libtest-mockfile-perl_0.036-1.dsc Connecting to 46.16.76.132:3128... connected. Proxy request sent, awaiting response... 200 OK Length: 2718 (2.7K) [text/prs.lines.tag] Saving to: ‘libtest-mockfile-perl_0.036-1.dsc’ 0K .. 100% 238M=0s 2024-11-22 15:04:56 (238 MB/s) - ‘libtest-mockfile-perl_0.036-1.dsc’ saved [2718/2718] --2024-11-22 15:04:56-- http://deb.debian.org/debian/pool/main/libt/libtest-mockfile-perl/libtest-mockfile-perl_0.036-1.dsc Connecting to 46.16.76.132:3128... connected. Proxy request sent, awaiting response... 200 OK Length: 2718 (2.7K) [text/prs.lines.tag] Saving to: ‘libtest-mockfile-perl_0.036-1.dsc’ 0K .. 100% 238M=0s 2024-11-22 15:04:56 (238 MB/s) - ‘libtest-mockfile-perl_0.036-1.dsc’ saved [2718/2718] Fri Nov 22 15:04:56 UTC 2024 I: libtest-mockfile-perl_0.036-1.dsc -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 Format: 3.0 (quilt) Source: libtest-mockfile-perl Binary: libtest-mockfile-perl Architecture: all Version: 0.036-1 Maintainer: Debian Perl Group Uploaders: Mason James Homepage: https://metacpan.org/release/Test-MockFile Standards-Version: 4.6.2 Vcs-Browser: https://salsa.debian.org/perl-team/modules/packages/libtest-mockfile-perl Vcs-Git: https://salsa.debian.org/perl-team/modules/packages/libtest-mockfile-perl.git Testsuite: autopkgtest-pkg-perl Build-Depends: debhelper-compat (= 13) Build-Depends-Indep: libfile-slurper-perl , liboverload-filecheck-perl , libtest-mockmodule-perl , libtest-simple-perl , libtest2-harness-perl , libtest2-plugin-nowarnings-perl , libtest2-suite-perl , libtest2-tools-explain-perl , libtext-glob-perl , perl Package-List: libtest-mockfile-perl deb perl optional arch=all Checksums-Sha1: d3c322533cd24d9d9150be7a73a45165984e8b42 59444 libtest-mockfile-perl_0.036.orig.tar.gz 34e5b1f2ec4144bb2d79cd4d44cce4234e32153d 2092 libtest-mockfile-perl_0.036-1.debian.tar.xz Checksums-Sha256: 04308fcfd633fabf75a929f36ee090821d63a3711b7d0f8709c6bd049fea1f38 59444 libtest-mockfile-perl_0.036.orig.tar.gz d7150a16d8c7aa687cabe601748134fcd802868840a700243e36803a835f4692 2092 libtest-mockfile-perl_0.036-1.debian.tar.xz Files: b3afc33309585f1925dc97bacb0c32c6 59444 libtest-mockfile-perl_0.036.orig.tar.gz 04eaf56ebc9eb92391353ee1b206a229 2092 libtest-mockfile-perl_0.036-1.debian.tar.xz Dgit: 2107d65a3f99b0ca43d393e311385db93bb685e7 debian archive/debian/0.036-1 https://git.dgit.debian.org/libtest-mockfile-perl -----BEGIN PGP SIGNATURE----- iQKTBAEBCgB9FiEE0eExbpOnYKgQTYX6uzpoAYZJqgYFAmTS7RxfFIAAAAAALgAo aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldEQx RTEzMTZFOTNBNzYwQTgxMDREODVGQUJCM0E2ODAxODY0OUFBMDYACgkQuzpoAYZJ qgY/wBAAwPu3Q/7MeXQx62v+8raMFk2SE0cAVpsSshBN1OMMV/x1+Kg9EFAxLY/I SFXp7HLz7Q+SOws8u8KIHt8OYgqCtTT0l88nMuS0D1kIQeNj3rWp1ghBOYar9XUj hUMOXCJvgdlXRL4jdFyITc482eY5qk3oeGU0Ri8ep+NRAcC/Zvk8Wccc7PByMw1v O4gxgeGwnQ1EwjLgafKFNM2Ft0p/qJSa8McWZJostrVOl/N8J7c4rZy0G/G3TdJT iM0bziqdfo+wW+Q2yr73QvUYImNzLN/XWS/yj4EiseNVxXMIk6Q3oUZhjUsi+6es y2/maCKbx2NW2TZmql800/qPq6wVBI8fRUtWPLhRQPw1OZ4LIp3bmMGGlpzE+4Md Kbz9huumkSyWjaioW2l7OcbqOKSw31Ut04gxCI5c3lwFS7ju+htHWvilA3cCPwye QQ9KKCwogGkYY7tOp1az15GOV2XxvaTS0UWvPOQiHEEPFlqKuOafkkMuo518YKa8 fJiQ0xiQiCre4VXDcl7/RlaOjoW3rNBGMAWClNIr9CMUtfrf5E/lBKNxWjuLeu8k SS5dAFV9DjYeIApOZFpeSCTRubHTxhwtoLpe5Qj3LsoNLcUg4pbNlqz7czdA2hoB 3bu4Tkk8TOepLnUZc0/S9dYKg+FhODvDpH7MWO3VzNolC62UuE0= =htuJ -----END PGP SIGNATURE----- Fri Nov 22 15:04:56 UTC 2024 I: Checking whether the package is not for us Fri Nov 22 15:04:56 UTC 2024 I: Starting 1st build on remote node ionos1-amd64.debian.net. Fri Nov 22 15:04:56 UTC 2024 I: Preparing to do remote build '1' on ionos1-amd64.debian.net. Fri Nov 22 15:04:56 UTC 2024 - checking /var/lib/jenkins/offline_nodes if ionos1-amd64.debian.net is marked as down. Fri Nov 22 15:04:56 UTC 2024 - checking via ssh if ionos1-amd64.debian.net is up. removed '/tmp/read-only-fs-test-eFT6zk' ==================================================================================== Fri Nov 22 15:04:57 UTC 2024 - running /srv/jenkins/bin/reproducible_build.sh (for job /srv/jenkins/bin/reproducible_build.sh) on ionos1-amd64, called using "1 libtest-mockfile-perl unstable /srv/reproducible-results/rbuild-debian/r-b-build.bqwwQIRH 0.036-1" as arguments. Fri Nov 22 15:04:57 UTC 2024 - actually running "reproducible_build.sh" (md5sum 68e686e434c9ab7bc3ec047d8b309cbc) as "/tmp/jenkins-script-OGUi6tTg" $ git clone https://salsa.debian.org/qa/jenkins.debian.net.git ; more CONTRIBUTING Fri Nov 22 15:04:57 UTC 2024 I: Downloading source for unstable/libtest-mockfile-perl=0.036-1 Reading package lists... NOTICE: 'libtest-mockfile-perl' packaging is maintained in the 'Git' version control system at: https://salsa.debian.org/perl-team/modules/packages/libtest-mockfile-perl.git Please use: git clone https://salsa.debian.org/perl-team/modules/packages/libtest-mockfile-perl.git to retrieve the latest (possibly unreleased) updates to the package. Need to get 64.3 kB of source archives. Get:1 http://deb.debian.org/debian unstable/main libtest-mockfile-perl 0.036-1 (dsc) [2718 B] Get:2 http://deb.debian.org/debian unstable/main libtest-mockfile-perl 0.036-1 (tar) [59.4 kB] Get:3 http://deb.debian.org/debian unstable/main libtest-mockfile-perl 0.036-1 (diff) [2092 B] Fetched 64.3 kB in 0s (1648 kB/s) Download complete and in download only mode Reading package lists... NOTICE: 'libtest-mockfile-perl' packaging is maintained in the 'Git' version control system at: https://salsa.debian.org/perl-team/modules/packages/libtest-mockfile-perl.git Please use: git clone https://salsa.debian.org/perl-team/modules/packages/libtest-mockfile-perl.git to retrieve the latest (possibly unreleased) updates to the package. Need to get 64.3 kB of source archives. Get:1 http://deb.debian.org/debian unstable/main libtest-mockfile-perl 0.036-1 (dsc) [2718 B] Get:2 http://deb.debian.org/debian unstable/main libtest-mockfile-perl 0.036-1 (tar) [59.4 kB] Get:3 http://deb.debian.org/debian unstable/main libtest-mockfile-perl 0.036-1 (diff) [2092 B] Fetched 64.3 kB in 0s (1648 kB/s) Download complete and in download only mode ============================================================================= Building libtest-mockfile-perl in unstable on amd64 on ionos1-amd64 now. Date: Fri Nov 22 15:04:57 UTC 2024 Date UTC: Fri Nov 22 15:04:57 UTC 2024 ============================================================================= 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 Nov 22 03:04:58 -12 2024 I: pbuilder-time-stamp: 1732287898 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 [libtest-mockfile-perl_0.036-1.dsc] I: copying [./libtest-mockfile-perl_0.036.orig.tar.gz] I: copying [./libtest-mockfile-perl_0.036-1.debian.tar.xz] I: Extracting source gpgv: Signature made Wed Aug 9 01:34:20 2023 gpgv: using RSA key D1E1316E93A760A8104D85FABB3A68018649AA06 gpgv: Can't check signature: No public key dpkg-source: warning: cannot verify inline signature for ./libtest-mockfile-perl_0.036-1.dsc: no acceptable signature found dpkg-source: info: extracting libtest-mockfile-perl in libtest-mockfile-perl-0.036 dpkg-source: info: unpacking libtest-mockfile-perl_0.036.orig.tar.gz dpkg-source: info: unpacking libtest-mockfile-perl_0.036-1.debian.tar.xz I: Not using root during the build. I: Installing the build-deps I: user script /srv/workspace/pbuilder/1560202/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='amd64' DEBIAN_FRONTEND='noninteractive' DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=20 ' DISTRIBUTION='unstable' HOME='/root' HOST_ARCH='amd64' IFS=' ' INVOCATION_ID='f396157115534a9ca402bee37e12e7cb' 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='1560202' 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.bqwwQIRH/pbuilderrc_n7BX --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.bqwwQIRH/b1 --logfile b1/build.log libtest-mockfile-perl_0.036-1.dsc' SUDO_GID='110' SUDO_UID='105' SUDO_USER='jenkins' TERM='unknown' TZ='/usr/share/zoneinfo/Etc/GMT+12' USER='root' _='/usr/bin/systemd-run' http_proxy='http://46.16.76.132:3128' I: uname -a Linux ionos1-amd64 6.1.0-27-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.115-1 (2024-11-01) x86_64 GNU/Linux I: ls -l /bin lrwxrwxrwx 1 root root 7 Aug 4 21:30 /bin -> usr/bin I: user script /srv/workspace/pbuilder/1560202/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: amd64 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), libfile-slurper-perl, liboverload-filecheck-perl, libtest-mockmodule-perl, libtest-simple-perl, libtest2-harness-perl, libtest2-plugin-nowarnings-perl, libtest2-suite-perl, libtest2-tools-explain-perl, libtext-glob-perl, perl dpkg-deb: building package 'pbuilder-satisfydepends-dummy' in '/tmp/satisfydepends-aptitude/pbuilder-satisfydepends-dummy.deb'. Selecting previously unselected package pbuilder-satisfydepends-dummy. (Reading database ... 19966 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 libfile-slurper-perl; however: Package libfile-slurper-perl is not installed. pbuilder-satisfydepends-dummy depends on liboverload-filecheck-perl; however: Package liboverload-filecheck-perl is not installed. pbuilder-satisfydepends-dummy depends on libtest-mockmodule-perl; however: Package libtest-mockmodule-perl is not installed. pbuilder-satisfydepends-dummy depends on libtest2-harness-perl; however: Package libtest2-harness-perl is not installed. pbuilder-satisfydepends-dummy depends on libtest2-plugin-nowarnings-perl; however: Package libtest2-plugin-nowarnings-perl is not installed. pbuilder-satisfydepends-dummy depends on libtest2-suite-perl; however: Package libtest2-suite-perl is not installed. pbuilder-satisfydepends-dummy depends on libtest2-tools-explain-perl; however: Package libtest2-tools-explain-perl is not installed. pbuilder-satisfydepends-dummy depends on libtext-glob-perl; however: Package libtext-glob-perl 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-strip-nondeterminism{a} dwz{a} file{a} gettext{a} gettext-base{a} groff-base{a} intltool-debian{a} libarchive-zip-perl{a} libdata-uuid-perl{a} libdebhelper-perl{a} libelf1t64{a} libfile-slurper-perl{a} libfile-stripnondeterminism-perl{a} libfilter-perl{a} libgoto-file-perl{a} libicu72{a} libimporter-perl{a} liblong-jump-perl{a} libmagic-mgc{a} libmagic1t64{a} liboverload-filecheck-perl{a} libpipeline1{a} libscope-guard-perl{a} libsub-identify-perl{a} libsuper-perl{a} libtest-mockmodule-perl{a} libtest2-harness-perl{a} libtest2-plugin-memusage-perl{a} libtest2-plugin-nowarnings-perl{a} libtest2-plugin-uuid-perl{a} libtest2-suite-perl{a} libtest2-tools-explain-perl{a} libtext-glob-perl{a} libtool{a} libuchardet0{a} libuuid-perl{a} libxml2{a} libyaml-tiny-perl{a} m4{a} man-db{a} po-debconf{a} sensible-utils{a} The following packages are RECOMMENDED but will NOT be installed: curl libarchive-cpio-perl libltdl-dev libmail-sendmail-perl libmodule-pluggable-perl libperlio-utf8-strict-perl lynx wget 0 packages upgraded, 49 newly installed, 0 to remove and 0 not upgraded. Need to get 21.1 MB of archives. After unpacking 79.3 MB will be used. Writing extended state information... Get: 1 http://deb.debian.org/debian unstable/main amd64 sensible-utils all 0.0.24 [24.8 kB] Get: 2 http://deb.debian.org/debian unstable/main amd64 libmagic-mgc amd64 1:5.45-3+b1 [314 kB] Get: 3 http://deb.debian.org/debian unstable/main amd64 libmagic1t64 amd64 1:5.45-3+b1 [108 kB] Get: 4 http://deb.debian.org/debian unstable/main amd64 file amd64 1:5.45-3+b1 [43.3 kB] Get: 5 http://deb.debian.org/debian unstable/main amd64 gettext-base amd64 0.22.5-2 [200 kB] Get: 6 http://deb.debian.org/debian unstable/main amd64 libuchardet0 amd64 0.0.8-1+b2 [68.9 kB] Get: 7 http://deb.debian.org/debian unstable/main amd64 groff-base amd64 1.23.0-5 [1181 kB] Get: 8 http://deb.debian.org/debian unstable/main amd64 bsdextrautils amd64 2.40.2-11 [91.5 kB] Get: 9 http://deb.debian.org/debian unstable/main amd64 libpipeline1 amd64 1.5.8-1 [42.0 kB] Get: 10 http://deb.debian.org/debian unstable/main amd64 man-db amd64 2.13.0-1 [1420 kB] Get: 11 http://deb.debian.org/debian unstable/main amd64 m4 amd64 1.4.19-4 [287 kB] Get: 12 http://deb.debian.org/debian unstable/main amd64 autoconf all 2.72-3 [493 kB] Get: 13 http://deb.debian.org/debian unstable/main amd64 autotools-dev all 20220109.1 [51.6 kB] Get: 14 http://deb.debian.org/debian unstable/main amd64 automake all 1:1.16.5-1.3 [823 kB] Get: 15 http://deb.debian.org/debian unstable/main amd64 autopoint all 0.22.5-2 [723 kB] Get: 16 http://deb.debian.org/debian unstable/main amd64 libdebhelper-perl all 13.20 [89.7 kB] Get: 17 http://deb.debian.org/debian unstable/main amd64 libtool all 2.4.7-8 [517 kB] Get: 18 http://deb.debian.org/debian unstable/main amd64 dh-autoreconf all 20 [17.1 kB] Get: 19 http://deb.debian.org/debian unstable/main amd64 libarchive-zip-perl all 1.68-1 [104 kB] Get: 20 http://deb.debian.org/debian unstable/main amd64 libfile-stripnondeterminism-perl all 1.14.0-1 [19.5 kB] Get: 21 http://deb.debian.org/debian unstable/main amd64 dh-strip-nondeterminism all 1.14.0-1 [8448 B] Get: 22 http://deb.debian.org/debian unstable/main amd64 libelf1t64 amd64 0.192-4 [189 kB] Get: 23 http://deb.debian.org/debian unstable/main amd64 dwz amd64 0.15-1+b1 [110 kB] Get: 24 http://deb.debian.org/debian unstable/main amd64 libicu72 amd64 72.1-5+b1 [9423 kB] Get: 25 http://deb.debian.org/debian unstable/main amd64 libxml2 amd64 2.12.7+dfsg+really2.9.14-0.2+b1 [699 kB] Get: 26 http://deb.debian.org/debian unstable/main amd64 gettext amd64 0.22.5-2 [1601 kB] Get: 27 http://deb.debian.org/debian unstable/main amd64 intltool-debian all 0.35.0+20060710.6 [22.9 kB] Get: 28 http://deb.debian.org/debian unstable/main amd64 po-debconf all 1.0.21+nmu1 [248 kB] Get: 29 http://deb.debian.org/debian unstable/main amd64 debhelper all 13.20 [915 kB] Get: 30 http://deb.debian.org/debian unstable/main amd64 libdata-uuid-perl amd64 1.227-1+b1 [18.7 kB] Get: 31 http://deb.debian.org/debian unstable/main amd64 libfile-slurper-perl all 0.014-1 [8560 B] Get: 32 http://deb.debian.org/debian unstable/main amd64 libfilter-perl amd64 1.64-2 [64.0 kB] Get: 33 http://deb.debian.org/debian unstable/main amd64 libgoto-file-perl all 0.005-2 [6880 B] Get: 34 http://deb.debian.org/debian unstable/main amd64 libimporter-perl all 0.026-2 [25.0 kB] Get: 35 http://deb.debian.org/debian unstable/main amd64 liblong-jump-perl all 0.000001-2 [6328 B] Get: 36 http://deb.debian.org/debian unstable/main amd64 liboverload-filecheck-perl amd64 0.013-2+b3 [31.4 kB] Get: 37 http://deb.debian.org/debian unstable/main amd64 libscope-guard-perl all 0.21-2 [8212 B] Get: 38 http://deb.debian.org/debian unstable/main amd64 libsub-identify-perl amd64 0.14-3+b3 [11.3 kB] Get: 39 http://deb.debian.org/debian unstable/main amd64 libsuper-perl all 1.20190531-1 [11.5 kB] Get: 40 http://deb.debian.org/debian unstable/main amd64 libtest-mockmodule-perl all 0.178.0-1 [15.0 kB] Get: 41 http://deb.debian.org/debian unstable/main amd64 libtest2-plugin-memusage-perl all 0.002003-2 [5272 B] Get: 42 http://deb.debian.org/debian unstable/main amd64 libuuid-perl amd64 0.36-1+b1 [46.2 kB] Get: 43 http://deb.debian.org/debian unstable/main amd64 libtest2-plugin-uuid-perl all 0.002009-2 [11.3 kB] Get: 44 http://deb.debian.org/debian unstable/main amd64 libtest2-suite-perl all 0.000163-1 [383 kB] Get: 45 http://deb.debian.org/debian unstable/main amd64 libyaml-tiny-perl all 1.74-1 [30.7 kB] Get: 46 http://deb.debian.org/debian unstable/main amd64 libtest2-harness-perl all 1.000155-2 [542 kB] Get: 47 http://deb.debian.org/debian unstable/main amd64 libtest2-plugin-nowarnings-perl all 0.10-1 [15.8 kB] Get: 48 http://deb.debian.org/debian unstable/main amd64 libtest2-tools-explain-perl all 0.02-2 [9684 B] Get: 49 http://deb.debian.org/debian unstable/main amd64 libtext-glob-perl all 0.11-3 [7676 B] Fetched 21.1 MB in 1s (29.9 MB/s) debconf: delaying package configuration, since apt-utils is not installed Selecting previously unselected package sensible-utils. (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 ... 19966 files and directories currently installed.) Preparing to unpack .../00-sensible-utils_0.0.24_all.deb ... Unpacking sensible-utils (0.0.24) ... Selecting previously unselected package libmagic-mgc. Preparing to unpack .../01-libmagic-mgc_1%3a5.45-3+b1_amd64.deb ... Unpacking libmagic-mgc (1:5.45-3+b1) ... Selecting previously unselected package libmagic1t64:amd64. Preparing to unpack .../02-libmagic1t64_1%3a5.45-3+b1_amd64.deb ... Unpacking libmagic1t64:amd64 (1:5.45-3+b1) ... Selecting previously unselected package file. Preparing to unpack .../03-file_1%3a5.45-3+b1_amd64.deb ... Unpacking file (1:5.45-3+b1) ... Selecting previously unselected package gettext-base. Preparing to unpack .../04-gettext-base_0.22.5-2_amd64.deb ... Unpacking gettext-base (0.22.5-2) ... Selecting previously unselected package libuchardet0:amd64. Preparing to unpack .../05-libuchardet0_0.0.8-1+b2_amd64.deb ... Unpacking libuchardet0:amd64 (0.0.8-1+b2) ... Selecting previously unselected package groff-base. Preparing to unpack .../06-groff-base_1.23.0-5_amd64.deb ... Unpacking groff-base (1.23.0-5) ... Selecting previously unselected package bsdextrautils. Preparing to unpack .../07-bsdextrautils_2.40.2-11_amd64.deb ... Unpacking bsdextrautils (2.40.2-11) ... Selecting previously unselected package libpipeline1:amd64. Preparing to unpack .../08-libpipeline1_1.5.8-1_amd64.deb ... Unpacking libpipeline1:amd64 (1.5.8-1) ... Selecting previously unselected package man-db. Preparing to unpack .../09-man-db_2.13.0-1_amd64.deb ... Unpacking man-db (2.13.0-1) ... Selecting previously unselected package m4. Preparing to unpack .../10-m4_1.4.19-4_amd64.deb ... Unpacking m4 (1.4.19-4) ... Selecting previously unselected package autoconf. Preparing to unpack .../11-autoconf_2.72-3_all.deb ... Unpacking autoconf (2.72-3) ... Selecting previously unselected package autotools-dev. Preparing to unpack .../12-autotools-dev_20220109.1_all.deb ... Unpacking autotools-dev (20220109.1) ... Selecting previously unselected package automake. Preparing to unpack .../13-automake_1%3a1.16.5-1.3_all.deb ... Unpacking automake (1:1.16.5-1.3) ... Selecting previously unselected package autopoint. Preparing to unpack .../14-autopoint_0.22.5-2_all.deb ... Unpacking autopoint (0.22.5-2) ... Selecting previously unselected package libdebhelper-perl. Preparing to unpack .../15-libdebhelper-perl_13.20_all.deb ... Unpacking libdebhelper-perl (13.20) ... Selecting previously unselected package libtool. Preparing to unpack .../16-libtool_2.4.7-8_all.deb ... Unpacking libtool (2.4.7-8) ... Selecting previously unselected package dh-autoreconf. Preparing to unpack .../17-dh-autoreconf_20_all.deb ... Unpacking dh-autoreconf (20) ... Selecting previously unselected package libarchive-zip-perl. Preparing to unpack .../18-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 .../19-libfile-stripnondeterminism-perl_1.14.0-1_all.deb ... Unpacking libfile-stripnondeterminism-perl (1.14.0-1) ... Selecting previously unselected package dh-strip-nondeterminism. Preparing to unpack .../20-dh-strip-nondeterminism_1.14.0-1_all.deb ... Unpacking dh-strip-nondeterminism (1.14.0-1) ... Selecting previously unselected package libelf1t64:amd64. Preparing to unpack .../21-libelf1t64_0.192-4_amd64.deb ... Unpacking libelf1t64:amd64 (0.192-4) ... Selecting previously unselected package dwz. Preparing to unpack .../22-dwz_0.15-1+b1_amd64.deb ... Unpacking dwz (0.15-1+b1) ... Selecting previously unselected package libicu72:amd64. Preparing to unpack .../23-libicu72_72.1-5+b1_amd64.deb ... Unpacking libicu72:amd64 (72.1-5+b1) ... Selecting previously unselected package libxml2:amd64. Preparing to unpack .../24-libxml2_2.12.7+dfsg+really2.9.14-0.2+b1_amd64.deb ... Unpacking libxml2:amd64 (2.12.7+dfsg+really2.9.14-0.2+b1) ... Selecting previously unselected package gettext. Preparing to unpack .../25-gettext_0.22.5-2_amd64.deb ... Unpacking gettext (0.22.5-2) ... Selecting previously unselected package intltool-debian. Preparing to unpack .../26-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 .../27-po-debconf_1.0.21+nmu1_all.deb ... Unpacking po-debconf (1.0.21+nmu1) ... Selecting previously unselected package debhelper. Preparing to unpack .../28-debhelper_13.20_all.deb ... Unpacking debhelper (13.20) ... Selecting previously unselected package libdata-uuid-perl. Preparing to unpack .../29-libdata-uuid-perl_1.227-1+b1_amd64.deb ... Unpacking libdata-uuid-perl (1.227-1+b1) ... Selecting previously unselected package libfile-slurper-perl. Preparing to unpack .../30-libfile-slurper-perl_0.014-1_all.deb ... Unpacking libfile-slurper-perl (0.014-1) ... Selecting previously unselected package libfilter-perl. Preparing to unpack .../31-libfilter-perl_1.64-2_amd64.deb ... Unpacking libfilter-perl (1.64-2) ... Selecting previously unselected package libgoto-file-perl. Preparing to unpack .../32-libgoto-file-perl_0.005-2_all.deb ... Unpacking libgoto-file-perl (0.005-2) ... Selecting previously unselected package libimporter-perl. Preparing to unpack .../33-libimporter-perl_0.026-2_all.deb ... Unpacking libimporter-perl (0.026-2) ... Selecting previously unselected package liblong-jump-perl. Preparing to unpack .../34-liblong-jump-perl_0.000001-2_all.deb ... Unpacking liblong-jump-perl (0.000001-2) ... Selecting previously unselected package liboverload-filecheck-perl. Preparing to unpack .../35-liboverload-filecheck-perl_0.013-2+b3_amd64.deb ... Unpacking liboverload-filecheck-perl (0.013-2+b3) ... Selecting previously unselected package libscope-guard-perl. Preparing to unpack .../36-libscope-guard-perl_0.21-2_all.deb ... Unpacking libscope-guard-perl (0.21-2) ... Selecting previously unselected package libsub-identify-perl. Preparing to unpack .../37-libsub-identify-perl_0.14-3+b3_amd64.deb ... Unpacking libsub-identify-perl (0.14-3+b3) ... Selecting previously unselected package libsuper-perl. Preparing to unpack .../38-libsuper-perl_1.20190531-1_all.deb ... Unpacking libsuper-perl (1.20190531-1) ... Selecting previously unselected package libtest-mockmodule-perl. Preparing to unpack .../39-libtest-mockmodule-perl_0.178.0-1_all.deb ... Unpacking libtest-mockmodule-perl (0.178.0-1) ... Selecting previously unselected package libtest2-plugin-memusage-perl. Preparing to unpack .../40-libtest2-plugin-memusage-perl_0.002003-2_all.deb ... Unpacking libtest2-plugin-memusage-perl (0.002003-2) ... Selecting previously unselected package libuuid-perl. Preparing to unpack .../41-libuuid-perl_0.36-1+b1_amd64.deb ... Unpacking libuuid-perl (0.36-1+b1) ... Selecting previously unselected package libtest2-plugin-uuid-perl. Preparing to unpack .../42-libtest2-plugin-uuid-perl_0.002009-2_all.deb ... Unpacking libtest2-plugin-uuid-perl (0.002009-2) ... Selecting previously unselected package libtest2-suite-perl. Preparing to unpack .../43-libtest2-suite-perl_0.000163-1_all.deb ... Unpacking libtest2-suite-perl (0.000163-1) ... Selecting previously unselected package libyaml-tiny-perl. Preparing to unpack .../44-libyaml-tiny-perl_1.74-1_all.deb ... Unpacking libyaml-tiny-perl (1.74-1) ... Selecting previously unselected package libtest2-harness-perl. Preparing to unpack .../45-libtest2-harness-perl_1.000155-2_all.deb ... Unpacking libtest2-harness-perl (1.000155-2) ... Selecting previously unselected package libtest2-plugin-nowarnings-perl. Preparing to unpack .../46-libtest2-plugin-nowarnings-perl_0.10-1_all.deb ... Unpacking libtest2-plugin-nowarnings-perl (0.10-1) ... Selecting previously unselected package libtest2-tools-explain-perl. Preparing to unpack .../47-libtest2-tools-explain-perl_0.02-2_all.deb ... Unpacking libtest2-tools-explain-perl (0.02-2) ... Selecting previously unselected package libtext-glob-perl. Preparing to unpack .../48-libtext-glob-perl_0.11-3_all.deb ... Unpacking libtext-glob-perl (0.11-3) ... Setting up libpipeline1:amd64 (1.5.8-1) ... Setting up libfile-slurper-perl (0.014-1) ... Setting up libicu72:amd64 (72.1-5+b1) ... Setting up libuuid-perl (0.36-1+b1) ... Setting up bsdextrautils (2.40.2-11) ... Setting up libtext-glob-perl (0.11-3) ... Setting up libmagic-mgc (1:5.45-3+b1) ... Setting up libtest2-plugin-nowarnings-perl (0.10-1) ... Setting up libarchive-zip-perl (1.68-1) ... Setting up libsub-identify-perl (0.14-3+b3) ... Setting up libdebhelper-perl (13.20) ... Setting up libmagic1t64:amd64 (1:5.45-3+b1) ... Setting up gettext-base (0.22.5-2) ... Setting up m4 (1.4.19-4) ... Setting up file (1:5.45-3+b1) ... Setting up libyaml-tiny-perl (1.74-1) ... Setting up libelf1t64:amd64 (0.192-4) ... Setting up libtest2-suite-perl (0.000163-1) ... Setting up libscope-guard-perl (0.21-2) ... Setting up autotools-dev (20220109.1) ... Setting up libdata-uuid-perl (1.227-1+b1) ... Setting up libimporter-perl (0.026-2) ... Setting up autopoint (0.22.5-2) ... Setting up autoconf (2.72-3) ... Setting up dwz (0.15-1+b1) ... Setting up sensible-utils (0.0.24) ... Setting up libuchardet0:amd64 (0.0.8-1+b2) ... Setting up libfilter-perl (1.64-2) ... Setting up libtest2-plugin-memusage-perl (0.002003-2) ... Setting up libxml2:amd64 (2.12.7+dfsg+really2.9.14-0.2+b1) ... Setting up liboverload-filecheck-perl (0.013-2+b3) ... Setting up automake (1:1.16.5-1.3) ... update-alternatives: using /usr/bin/automake-1.16 to provide /usr/bin/automake (automake) in auto mode Setting up libfile-stripnondeterminism-perl (1.14.0-1) ... Setting up libtest2-plugin-uuid-perl (0.002009-2) ... Setting up liblong-jump-perl (0.000001-2) ... Setting up libsuper-perl (1.20190531-1) ... Setting up gettext (0.22.5-2) ... Setting up libtest-mockmodule-perl (0.178.0-1) ... Setting up libgoto-file-perl (0.005-2) ... Setting up libtool (2.4.7-8) ... Setting up libtest2-tools-explain-perl (0.02-2) ... Setting up intltool-debian (0.35.0+20060710.6) ... Setting up dh-autoreconf (20) ... Setting up dh-strip-nondeterminism (1.14.0-1) ... Setting up groff-base (1.23.0-5) ... Setting up libtest2-harness-perl (1.000155-2) ... Setting up po-debconf (1.0.21+nmu1) ... Setting up man-db (2.13.0-1) ... Not building database; man-db/auto-update is not 'true'. Setting up debhelper (13.20) ... Processing triggers for libc-bin (2.40-3) ... 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/libtest-mockfile-perl-0.036/ && 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 > ../libtest-mockfile-perl_0.036-1_source.changes dpkg-buildpackage: info: source package libtest-mockfile-perl dpkg-buildpackage: info: source version 0.036-1 dpkg-buildpackage: info: source distribution unstable dpkg-buildpackage: info: source changed by gregor herrmann dpkg-source --before-build . dpkg-buildpackage: info: host architecture amd64 debian/rules clean dh clean dh_clean debian/rules binary dh binary dh_update_autotools_config dh_autoreconf dh_auto_configure /usr/bin/perl Makefile.PL INSTALLDIRS=vendor "OPTIMIZE=-g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/libtest-mockfile-perl-0.036=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2" "LD=x86_64-linux-gnu-gcc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/libtest-mockfile-perl-0.036=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wl,-z,relro" Checking if your kit is complete... Looks good Generating a Unix-style Makefile Writing Makefile for Test::MockFile Writing MYMETA.yml and MYMETA.json dh_auto_build make -j20 make[1]: Entering directory '/build/reproducible-path/libtest-mockfile-perl-0.036' cp lib/Test/MockFile/DirHandle.pm blib/lib/Test/MockFile/DirHandle.pm cp lib/Test/MockFile.pm blib/lib/Test/MockFile.pm cp lib/Test/MockFile/Plugin.pm blib/lib/Test/MockFile/Plugin.pm cp lib/Test/MockFile/Plugin/FileTemp.pm blib/lib/Test/MockFile/Plugin/FileTemp.pm cp lib/Test/MockFile/FileHandle.pm blib/lib/Test/MockFile/FileHandle.pm cp lib/Test/MockFile/Plugins.pm blib/lib/Test/MockFile/Plugins.pm Manifying 6 pod documents make[1]: Leaving directory '/build/reproducible-path/libtest-mockfile-perl-0.036' dh_auto_test make -j20 test TEST_VERBOSE=1 make[1]: Entering directory '/build/reproducible-path/libtest-mockfile-perl-0.036' PERL_DL_NONLAZY=1 "/usr/bin/perl" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(1, 'blib/lib', 'blib/arch')" t/*.t # Testing Test::MockFile 0.036 with Overload::FileCheck 0.013 and File::Temp 0.2311 # Perl 5.040000, /usr/bin/perl t/00-load.t ......................... ok 1 - use Test::MockFile; ok 2 - use Overload::FileCheck; ok 3 - use File::Temp; 1..3 ok t/chmod-filetemp.t .................. # Seeded srand with seed '20241122' from local date. ok 1 1..1 ok t/chmod.t ........................... # Seeded srand with seed '20241122' from local date. ok 1 - Defaults { ok 1 - Directory /foo exists ok 2 - File /foo/bar exists ok 3 - Directory /foo is set to 0755 ok 4 - File /foo/bar is set to 0644 (umask: 0022, perms before: 0666, perms after 1: 0644, perms after 2: 100644) 1..4 } ok 2 - Changing mode (real vs. mocked) { ok 1 - Successfully created real directory ok 2 - Successfully chmod'ed real directory ok 3 - CORE::chmod() set the perms correctly ok 4 - Successfully deleted real directory ok 5 - Directory /foo exists ok 6 - File /foo/bar exists ok 7 - Directory /foo is now set to 0600 ok 8 - File /foo/bar is now set to 0600 ok 9 - Directory /foo is now set to 0600 ok 10 - File /foo/bar is now set to 0600 1..10 } ok 3 - Changing mode filehandle { # -------------- REAL MODE -------------- ok 1 - chmod on file ok 2 - chmod on filehandle # -------------- MOCK MODE -------------- ok 3 - chmod on file ok 4 - chmod on filehandle 1..4 } ok 4 - Providing a string as mode mask { ok 1 - Successfully created real directory ok 2 - CORE::chmod() threw a warning when trying to numify ok 3 - Successfully chmod'ed real directory ok 4 - No observed error ok 5 - CORE::chmod() set the perms correctly ok 6 - Successfully deleted real directory ok 7 - Directory /foo does not exist ok 8 - Successfully created mocked directory ok 9 - Directory /foo now exists ok 10 - chmod() threw a warning when trying to numify ok 11 - Successfully chmod'ed real directory ok 12 - No observed error ok 13 - chmod() set the perms correctly ok 14 - Successfully deleted real directory ok 15 - Directory /foo no longer exist 1..15 } 1..4 ok t/chown-chmod-nostrict.t ............ # Seeded srand with seed '20241122' from local date. ok 1 - Unmocked files and mixing unmocked and mocked files { ok 1 - Even without strict mode, you cannot mix mocked and unmocked files (chown) ok 2 - Even without strict mode, you cannot mix mocked and unmocked files (chmod) 1..2 } 1..1 ok t/chown.t ........................... # Seeded srand with seed '20241122' from local date. ok 1 - Default ownership { ok 1 - Directory /foo exists ok 2 - File /foo/bar exists ok 3 - /foo set UID correctly to 1111 ok 4 - /foo set GID correctly to 1111 ok 5 - /foo/bar set UID correctly to 1111 ok 6 - /foo/bar set GID correctly to 1111 1..6 } ok 2 - Change ownership of file to someone else { # $>: 1111, $): 1111 1111 ok 1 - chown file to some high, probably unavailable, UID/GID ok 2 - chown failed (EPERM): $>:1111, $):1111 1111 ok 3 - chown file to some high, probably unavailable, GID ok 4 - chown failed (EPERM): $>:1111, $):1111 1111 ok 5 - chown file to some high, probably unavailable, UID ok 6 - chown failed (EPERM): $>:1111, $):1111 1111 ok 7 - chown file to root ok 8 - chown failed (EPERM): $>:1111, $):1111 1111 ok 9 - chown file to root GID ok 10 - chown failed (EPERM): $>:1111, $):1111 1111 ok 11 - chown file to root UID ok 12 - chown failed (EPERM): $>:1111, $):1111 1111 1..12 } ok 3 - chown with bareword (nonexistent file) { ok 1 - $! starts clean ok 2 - Using bareword treats it as string ok 3 - Correct ENOENT error 1..3 } ok 4 - chown only user, only group, both { ok 1 - $! starts clean ok 2 - chown'ing file to only UID ok 3 - $! still clean ok 4 - chown'ing file to only GID ok 5 - $! still clean ok 6 - chown'ing file to both UID and GID ok 7 - $! still clean 1..7 } ok 5 - chown to different group of same user { 1..0 # SKIP This user only has one group } ok 6 - chown on typeglob / filehandle { ok 1 - $! starts clean ok 2 - Non-root chown on a file handle works ok 3 - $! stays clean ok 4 - Owner of the file is now there ok 5 - Group of the file is now there 1..5 } ok 7 - chown does not reset $! { ok 1 - $! is set to 3 for our test ok 2 - Successfully run chown ok 3 - $! is still 3 (not reset by chown) 1..3 } 1..7 ok t/detect-common-mistakes.t .......... # Seeded srand with seed '20241122' from local date. ok 1 - Removing trailing forward slash for directories { ok 1 - Create /foo/ ok 2 - Test::MockFile=HASH->isa('Test::MockFile') ok 3 - Trailing / is removed 1..3 } ok 2 - Checking for multiple forward slash in paths { ok 1 - dir() successful ok 2 - Double trailing forward slash ok 3 - dir() succesful ok 4 - Multiple trailing forward slash ok 5 - dir() succesful ok 6 - Double leading forward slash for dir ok 7 - dir() succesful ok 8 - Double leading forward slash for file ok 9 - dir() succesful ok 10 - Double forward slash in the middle for dir ok 11 - dir() succesful ok 12 - Double forward slash in the middle for file 1..12 } ok 3 - Relative paths { ok 1 - Success with ./ for dir ok 2 - Success with ./ for file ok 3 - Failure with ../ for dir ok 4 - Failure with ../ for file ok 5 - Failure with /../ for dir ok 6 - Success with /. for file ok 7 - Failure with /.. for file ok 8 - Failure with /../ for file ok 9 - Success with /./ for dir ok 10 - Success with /./ for file ok 11 - No problem with current directory paths (file with trailing forward slash) ok 12 - No problem with current directory paths (dir with trailing forward slash) ok 13 - No problem with current directory paths (dir with no trailing forward slash) 1..13 } 1..3 ok t/dir_interface.t ................... # Seeded srand with seed '20241122' from local date. ok 1 - ->dir() checks { ok 1 - Cannot do TMF->dir( "/etc", [@content], { 1 => 2 } ) ok 2 - Cannot do TMF->dir( "/etc", [@content] ) 1..2 } ok 2 - Scenario 1: ->dir() does not create dir, keywords do { ok 1 - Directory /foo1 does not exist yet ok 2 - Directory /foo1 got created ok 3 - Directory /foo1 now exists ok 4 - Correct contents of directory through ->contents() ok 5 - opendir() /foo1 successful ok 6 - readdir() on /foo1 successful ok 7 - Correct directory content through Perl core keywords ok 8 - closedir() on /foo1 successful 1..8 } ok 3 - Scenario 2: ->dir() on an already existing dir fails made with ->dir() { ok 1 - -d /foo2 succeeds, dir exists ok 2 - mkdir /foo2 fails, dir already exists ok 3 - opendir() /foo2 successful ok 4 - readdir() on /foo2 successful ok 5 - Correct directory content through Perl core keywords ok 6 - closedir() on /foo2 successful 1..6 } ok 4 - Scneario 3: Undef files with ->file() do not create dirs, adding content changes dir { ok 1 - -d /foo3 fails, does not exist yet ok 2 - -d /foo3 still fails after mocking file with no content ok 3 - mkdir /foo3 works ok 4 - -d /foo3 now succeeds ok 5 - Correct contents to /foo3 ok 6 - opendir() /foo3 successful ok 7 - readdir() on /foo3 successful ok 8 - Correct directory content through Perl core keywords ok 9 - closedir() on /foo3 successful ok 10 - /foo3/foo does not exist, even if /foo3 does ok 11 - After file->contents(), /foo3/foo exists ok 12 - Correct updated contents to /foo3 ok 13 - opendir() /foo3 successful ok 14 - readdir() on /foo3 successful ok 15 - Correct directory content through Perl core keywords ok 16 - closedir() on /foo3 successful 1..16 } ok 5 - Scenario 4: Creating ->file() with content creates dir { ok 1 - /foo4 does not exist yet ok 2 - /foo4 now exists, after creating file with content ok 3 - mkdir /foo4 fails, since dir already exists ok 4 - Correct contents to /foo4 ok 5 - opendir() /foo4 successful ok 6 - readdir() on /foo4 successful ok 7 - Correct directory content through Perl core keywords ok 8 - closedir() on /foo4 successful 1..8 } 1..5 ok t/file_access_hooks.t ............... # Seeded srand with seed '20241122' from local date. # -------------- REAL MODE -------------- ok 1 - Using open on an unmocked file throws a croak ok 2 - Using a 2 arg open on an unmocked file throws a croak ok 3 - Using sysopen on an unmocked file throws a croak ok 4 - Using opendir on an unmocked directory throws a croak ok 5 - -e on an unmocked file throws a croak ok 6 - -e on an unmocked empty file name throws a croak ok 7 - -d on an unmocked dir throws a croak ok 8 - -l on an unmocked dir throws a croak # -------------- MOCK MODE -------------- ok 9 - -s t/data/example_email.csv ok 10 - Testing from a different source scope (DynaLoader) ok 11 - -d is allowed in certain packages without a die (DynaLoader) ok 12 - open STDIN isn't an error ok 13 - Stat on a file handle which didn't get filtered through MockFile works without a die 1..13 ok t/file_from_disk.t .................. ok 1 - open fake file for read ok 2 - Read line 1. ok 3 - Read line 2. ok 4 - open fake file for write ok 5 - file is written to ok 6 - The original file was unmodified 1..6 ok t/fileno.t .......................... # Seeded srand with seed '20241122' from local date. ok 1 - Opened file ok 2 - Refuse to support fileno ok 3 - Opened file 1..3 ok t/globbing.t ........................ # Seeded srand with seed '20241122' from local date. ok 1 - glob(/*.txt) ok 2 - ok 3 - glob(/*.txt) ok 4 - ok 5 - glob(/*.{txt,jp{g}}) ok 6 - ok 7 - ok 8 - glob(/*.txt /*.jpg) ok 9 - ok 10 - Directory now exists ok 11 - Directory does not exist ok 12 - Created directory successfully ok 13 - Directory now exists ok 14 - 1..14 ok t/goto_is_available.t ............... # Seeded srand with seed '20241122' from local date. ok 1 - goto isn't available on 5.006002 ok 2 - goto isn't available on 5.008008 ok 3 - goto was first available on 5.016000 ok 4 - goto was available on 5.018000 ok 5 - goto was available on 5.020000 ok 6 - goto was broken on 5.022001 (7bdb4ff0943cf93297712faf504cdd425426e57f) ok 7 - goto was broken on 5.024000 (7bdb4ff0943cf93297712faf504cdd425426e57f) ok 8 - goto was broken on 5.026000 (7bdb4ff0943cf93297712faf504cdd425426e57f) ok 9 - goto works again for 5.028000 ok 10 - goto works on 5.030000 1..10 ok t/handle-corruption.t ............... # Seeded srand with seed '20241122' from local date. ok 1 - IO::Handle=GLOB->isa('IO::Handle') ok 2 - Succesfully opened file ok 3 - No error (string) ok 4 - No error (code) ok 5 - IO::File=GLOB->isa('IO::File') ok 6 - Successfully closed handle ok 7 - No error (string) ok 8 - No error (code) 1..8 ok t/import.t .......................... # Seeded srand with seed '20241122' from local date. # Happy Imports ok 1 - default mode is STRICT_MODE_DEFAULT { ok 1 - Exit Value Check 1..1 } ok 2 - import enable STRICT_MODE_ENABLED { ok 1 - Exit Value Check 1..1 } ok 3 - use Test::MockFile qw< strict > { ok 1 - Exit Value Check 1..1 } ok 4 - use Test::MockFile qw< nostrict > { ok 1 - Exit Value Check 1..1 } ok 5 - multiple - use Test::MockFile qw< strict > { ok 1 - Exit Value Check 1..1 } # Failed Imports ok 6 - use Test::MockFile qw< strict > + qw< nostrict > { ok 1 - Exit Value Check 1..1 } ok 7 - use Test::MockFile + qw< nostrict > { ok 1 - Exit Value Check 1..1 } 1..7 ok t/manifest.t ........................ skipped: Test::CheckManifest is broken - https://github.com/reneeb/Test-CheckManifest/issues/20 t/mkdir.t ........................... # Seeded srand with seed '20241122' from local date. ok 1 - basic mkdir { ok 1 - REAL mkdir when dir is missing. ok 2 - - $! is unset. ok 3 - REAL rmdir when dir is there ok 4 - MOCK mkdir when dir is missing. ok 5 - - $! is unset. ok 6 - Perms are 0755 ok 7 - -d ok 8 - - $! is unset. ok 9 - MOCK rmdir when dir is there ok 10 - - $! is unset. ok 11 - Directory is not there with -d ok 12 - Directory is not there with -e 1..12 } ok 2 - undef dir name { ok 1 - REAL mkdir when undef is passed as the file name. ok 2 - - $! is ENOENT. ok 3 - - Returns 0 ok 4 - MOCK mkdir when undef is passed as the file name. ok 5 - - $! is ENOENT. ok 6 - - Returns 0 1..6 } ok 3 - REAL mkdir { ok 1 - put the real tempdir back ok 2 - A real mkdir through the shim ok 3 - - $! is unset. ok 4 - A real mkdir through the shim when it exists already ok 5 - - $! is EEXIST. 1..5 } ok 4 - mkdir when file exists { ok 1 - A real mkdir when the dir is already a file. ok 2 - - $! is EEXIST. ok 3 - A mock mkdir when the dir is already a file. ok 4 - - $! is EEXIST. ok 5 - A mock mkdir when the path is a mocked file but not on disk becomes a directory mock. ok 6 - $mock is now a directory 1..6 } ok 5 - mkdir when symlink exists { ok 1 - A real mkdir when the dir is already a symlink. ok 2 - - $! is EEXIST. ok 3 - A mock mkdir when the dir is already a symlink. ok 4 - - $! is EEXIST. ok 5 - A mock mkdir when the path is a mocked symlink but not on disk turns the mock object into a dir. ok 6 - $mock is now a directory 1..6 } ok 6 - mkdir with file perms { ok 1 - A real mkdir with 0770 perms. ok 2 - - $! is unset. ok 3 - permissions are the real file's permissions ok 4 - A mock mkdir with 0700 perms. ok 5 - - $! is unset. ok 6 - Permissions are the mock permissions of 0700 ok 7 - Remove the fake dir ok 8 - A mock mkdir with 0700 perms. ok 9 - - $! is unset. ok 10 - Permissions get umask applied. 1..10 } 1..6 ok t/mock_stat.t ....................... # Seeded srand with seed '20241122' from local date. # _abs_path_to_file ok 1 - no / prefix makes prepends path on it ok 2 - undef is undef ok 3 - _abs_path_to_file( '/lib' ) = '/lib' ok 4 - _abs_path_to_file( '/lib/' ) = '/lib' ok 5 - _abs_path_to_file( '/abc/.' ) = '/abc' ok 6 - _abs_path_to_file( '/abc/./' ) = '/abc' ok 7 - _abs_path_to_file( '/abc/./././.' ) = '/abc' ok 8 - _abs_path_to_file( '/from/here/or-not/..' ) = '/from/here' ok 9 - _abs_path_to_file( '/../../..' ) = '/' ok 10 - _abs_path_to_file( '/one/two/three/four/../../..' ) = '/one' ok 11 - _abs_path_to_file( '/a.b.c.d' ) = '/a.b.c.d' # _fh_to_file ok 12 - _fh_to_file() ok 13 - _fh_to_file(0) ok 14 - _fh_to_file('') ok 15 - _fh_to_file(' ') ok 16 - _fh_to_file('/etc/passwd') ok 17 - _fh_to_file($fh) ok 18 - _fh_to_file($fh2) ok 19 - _fh_to_file($fh) when closed. # _find_file_or_fh ok 20 - _find_file_or_fh('/abc') ok 21 - _find_file_or_fh('/abc', 1) - follow ok 22 - _find_file_or_fh('/broken_link', 1) is undef when /broken_link is mocked. ok 23 - _find_file_or_fh('/aaaa', 1) - with circular links ok 24 - $! is ELOOP # _mock_stat ok 25 - An unmocked file will return FALLBACK_TO_REAL_OP() to tell XS to handle it ok 26 - no args fails cause we should have gotten a stat type. ok 27 - An unknown stat type fails cause this should never happen. ok 28 - empty string passes to XS ok 29 - A space string passes to XS ok 30 - /foo/bar mock stat ok 31 - /aaa mock stat when looped. ok 32 - Throws an ELOOP error ok 33 - /foo/baz mock stat when missing. ok 34 - lstat on /broken_link returns the stat on the symlink itself. ok 35 - stat on /broken_link is an empty array since what it points to doesn't exist. ok 36 - mocked file is executable ok 37 - default uid is current UID # GID 1111 ok 38 - default fid is current GID ok 39 - Directory /quux exists ok 40 - Directory /quux/ also exists 1..40 ok t/new_dir_interface.t ............... # Seeded srand with seed '20241122' from local date. ok 1 - ->dir() checks when going through ->new_dir() { ok 1 - Cannot do TMF->dir( "/etc", { 1 => 2 } ) ok 2 - Cannot do TMF->dir( "/etc", [@content], { 1 => 2 } ) ok 3 - Cannot do TMF->dir( "/etc", [@content] ) 1..3 } ok 2 - Scenario 1: ->new_dir() can create dir { ok 1 - Directory /foo1 exists ok 2 - Correct contents of directory through ->contents() ok 3 - opendir() /foo1 successful ok 4 - readdir() on /foo1 successful ok 5 - Correct directory content through Perl core keywords ok 6 - closedir() on /foo1 successful 1..6 } ok 3 - Scenario 2: ->new_dir() with mode sets the mode { ok 1 - /foo2 exists ok 2 - /foo2 exists ok 3 - We picked perms (0300) that are not the default (0777) ok 4 - Mode was set correctly ok 5 - Correct contents to /foo2 ok 6 - opendir() /foo2 successful ok 7 - readdir() on /foo2 successful ok 8 - Correct directory content through Perl core keywords ok 9 - closedir() on /foo2 successful 1..9 } ok 4 - Scenario 3: ->new_dir() after mkdir() has an error { ok 1 - /foo3 exists ok 2 - mkdir /foo3 fails, since dir already exists ok 3 - $! is set to an error: 17 (File exists) ok 4 - Correct contents to /foo3 ok 5 - opendir() /foo3 successful ok 6 - readdir() on /foo3 successful ok 7 - Correct directory content through Perl core keywords ok 8 - closedir() on /foo3 successful 1..8 } 1..4 ok t/open-noclose.t .................... # Seeded srand with seed '20241122' from local date. ok 1 - missing file argument ok 2 - missing file # empty file ok 3 - empty file ok 4 - file is not empty ok 5 ok 6 - /tmp/somewhere file should not be empty (on second read) 1..6 ok t/open.t ............................ # -------------- REAL MODE -------------- ok 1 - Open a real file bypassing PERLIO ok 2 - ... line 1 ok 3 - ... line 2 ok 4 - ... EOF # -------------- MOCK MODE -------------- ok 5 - Open a mocked file bypassing PERLIO ok 6 - ... line 1 ok 7 - ... line 2 ok 8 - ... EOF ok 9 - Real file is there ok 10 - Real file is not there # Following symlinks for open ok 11 - Open a mocked file via its symlink ok 12 - ... line 1 ok 13 - ... line 2 ok 14 - ... EOF ok 15 - Open a mocked file via its symlink when the file is missing fails. ok 16 - $! is ENOENT # Subtest: open modes ok 1 - Two-arg > open works ok 2 - No error ok 3 - Successfully closed open handle ok 4 - No error ok 5 - Two-arg >> open works ok 6 - No error ok 7 - Successfully closed open handle ok 8 - No error ok 9 - Two-arg < open works ok 10 - arg not changed ok 11 - No error ok 12 - Successfully closed open handle ok 13 - No error ok 14 - Two-arg open works ok 15 - arg not changed ok 16 - No error ok 17 - Successfully closed open handle ok 18 - No error ok 19 - Two-arg +< open fails ok 20 - No error ok 21 - Three-arg +< open fails ok 22 - No error ok 23 - Two-arg +> open fails ok 24 - No error ok 25 - Three-arg +> open fails ok 26 - No error ok 27 - Succesful three-arg pipe open write ok 28 - Successfully closed pipe ok 29 - No error ok 30 - Succesful two-arg pipe open write ok 31 - Successfully closed pipe ok 32 - No error ok 33 - Succesful three-arg pipe open read ok 34 - Succesfully read from pipe with three-arg ok 35 - Successfully closed pipe ok 36 - Succesful two-arg pipe open read ok 37 - Succesfully read from pipe with two-arg ok 38 - Successfully closed pipe ok 39 - No error 1..39 ok 17 - open modes 1..17 ok t/open_strict.t ..................... # Seeded srand with seed '20241122' from local date. ok 1 - open() to read a filehandle fails ok 2 - open() to dup a file descriptor works ok 3 - open() to re-perlify a file descriptor works 1..3 ok t/opendir.t ......................... # Seeded srand with seed '20241122' from local date. # -------------- REAL MODE -------------- ok 1 - Temp is created on disk. ok 2 - /tmp/5IM5AIDu3t can be read ok 3 - We read 3 entries in some order. Not predictable, but sort fixes that! ok 4 - undef when nothing left from readdir. ok 5 - close the fake dir handle ok 6 - warn on readdir when file handle is closed. ok 7 - opendir on a bad path returns false ok 8 - $! numeric is right. ok 9 - opendir on a file returns false ok 10 - $! numeric is right. ok 11 - We only warn if the file handle or glob is invalid. # -------------- MOCK MODE -------------- ok 12 - Mocked temp dir opens and returns true ok 13 - Read . from fake readdir ok 14 - Read .. from fake readdir ok 15 - tell dir in the middle of fake readdir is right. ok 16 - Read abc from fake readdir ok 17 - Read def from fake readdir ok 18 - tell dir at the end of fake readdir is right. ok 19 - Read from fake readdir but no more in the list. ok 20 - Read from fake readdir but no more in the list. ok 21 - Read from fake readdir but no more in the list. ok 22 - Read from fake readdir but no more in the list. ok 23 - rewinddir returns true. ok 24 - telldir afer rewinddir is right. ok 25 - Read the whole dir from fake readdir after rewinddir ok 26 - tell dir at the end of fake readdir is right. ok 27 - seekdir returns where it sought. ok 28 - Read the whole dir from fake readdir after seekdir ok 29 - opendir on a mocked file returns false ok 30 - $! numeric is right. ok 31 - Symlink and directories appears in directory content ok 32 - Did not get confused by internal files 1..32 ok t/path.t ............................ # Seeded srand with seed '20241122' from local date. ok 1 - /some/nonexistant/path is set when the file isn't there. ok 2 - /some/nonexistant/path is set when the file is there. 1..2 ok t/plugin-filetemp.t ................. # Seeded srand with seed '20241122' from local date. ok 1 - File::Temp is not loaded before Test::MockFile ok 2 - File::Temp is loaded ok 3 - we can open a tempfile ok 4 - Can open directory from tempdir ok 5 - we can open a tempfile under a tempdir ok 6 - print to a tempfile - scalar context ok 7 - opendir - newdir ok 8 - open a file created under newdir ok 9 - tempfile in scalar context 1..9 ok t/plugin.t .......................... # Seeded srand with seed '20241122' from local date. ok 1 - Cannot find a Test::MockFile plugin for Unknown { ok 1 - Exit Value Check ok 2 - Cannot find a Test::MockFile plugin for Unknown 1..2 } ok 2 - create Test/MockFile/Plugin dir for testing ok 3 - Loading a plugin from default namespace { ok 1 - Exit Value Check ok 2 - load and register plugin 1..2 } ok 4 - use Test::MockFile ( plugin => [ 'MyPlugin' ] ) { ok 1 - Exit Value Check ok 2 - load and register plugin 1..2 } # Testing a custom namespace ok 5 - create Test/MockFile/Plugin dir for testing ok 6 - Loading a plugin from default namespace { ok 1 - Exit Value Check ok 2 - load and register plugin from a custom namespace 1..2 } 1..6 ok t/pod-coverage.t .................... skipped: Author tests not required for installation t/pod.t ............................. skipped: Author tests not required for installation t/readline.t ........................ # Seeded srand with seed '20241122' from local date. # -------------- REAL MODE -------------- ok 1 - Temp file is on disk and right size ok 2 - Open a real file written by File::Temp ok 3 - $fh2 stringifies to a GLOB ok 4 - ... line 1 ok 5 - ... line 2 ok 6 - Fails to write to a read handle in mock mode. ok 7 - $! when the file is written to and it's a read file handle. ok 8 - Warns about writing to a read file handle # -------------- MOCK MODE -------------- ok 9 - Mocked temp file opens and returns true ok 10 - $fh is a IO::File ok 11 - $fh stringifies to a IO::File GLOB ok 12 - 1st read on $fh is "abc\n" ok 13 - 2nd read on $fh is "def\n" ok 14 - 3rd read on $fh via readline is "ghi\n" ok 15 - 4th read on $fh undef at EOF ok 16 - 5th read on $fh undef at EOF ok 17 - 6th read on $fh undef at EOF ok 18 - $foo->contents ok 19 - 7th read on $fh is "mno\n" ok 20 - 7th read on $fh is "pqr" ok 21 - 8th read on $fh undef at EOF ok 22 - 9th read on $fh undef at EOF ok 23 - Fails to write to a read handle in mock mode. ok 24 - $! when the file is written to and it's a read file handle. ok 25 - Warns about writing to a read file handle ok 26 - file handle clears from files_being_mocked hash when it goes out of scope. ok 27 - files_being_mocked empties when $bar is cleared # -------------- REAL MODE -------------- ok 28 - Once the mock file object is cleared, the next open reverts to the file on disk. ok 29 - $fh2 stringifies to a GLOB ok 30 - ... line 1 ok 31 - ... line 1 ok 32 - Can't open a missing file "/tmp/n4L92Qw9Dg" ok 33 - What $! looks like when failing to open the missing file. # -------------- MOCK MODE -------------- ok 34 - Can't open a missing file "/tmp/n4L92Qw9Dg" ok 35 - What $! looks like when failing to open the missing file. # --------------------------------------- ok 36 - REAL multiline do slurp works ok 37 - MOCK multiline do slurp works # readline array. ok 38 - readline reads in an array of stuff. 1..38 ok t/readlink.t ........................ # Seeded srand with seed '20241122' from local date. # -------------- REAL MODE -------------- ok 1 - readlink on missing file ok 2 - $! is ENOENT for a missing file readlink. ok 3 - readlink on a working symlink works. ok 4 - $! is 0 for a missing file readlink. ok 5 - readlink on a broken symlink still works. ok 6 - $! is 0 for a missing file readlink. ok 7 - readlink on a file is undef. ok 8 - $! is EINVAL for a readlink on a file. ok 9 - readlink on a dir is undef. ok 10 - $! is EINVAL for a readlink on a dir. ok 11 - Got expected warning for passing no value to readlink ok 12 - readlink without args is undef. ok 13 - $! is ENOENT for a readlink(undef) ok 14 - Got expected warning for passing no value to readlink ok 15 - readlink without args is undef. ok 16 - $! is ENOENT for a readlink(undef) # Cleaning up... # -------------- MOCK MODE -------------- ok 17 - readlink on missing file ok 18 - $! is ENOENT for a missing file readlink. ok 19 - readlink on a working symlink works. ok 20 - $! is 0 for a missing file readlink. ok 21 - readlink on a broken symlink still works. ok 22 - $! is 0 for a missing file readlink. ok 23 - readlink on a file is undef. ok 24 - $! is EINVAL for a readlink on a file. ok 25 - readlink on a dir is undef. ok 26 - $! is EINVAL for a readlink on a dir. ok 27 - Got expected warning for passing no value to readlink ok 28 - readlink without args is undef. ok 29 - $! is ENOENT for a readlink(undef) not ok 30 - Got expected warning for passing no value to readlink # TODO Something's wrong with readlink's prototype and the warning is incorrect no matter what we do in the code. # Failed test (with amnesty) 'Got expected warning for passing no value to readlink' # at t/readlink.t line 119. # +---------------------------------+----+---------------------------------+ # | GOT | OP | CHECK | # +---------------------------------+----+---------------------------------+ # | Use of uninitialized value in r | =~ | (?^:^Use of uninitialized value | # | eadlink at t/readlink.t line 11 | | \$_ in readlink at ) | # | 9.\n | | | # +---------------------------------+----+---------------------------------+ ok 31 - readlink without args is undef. ok 32 - $! is ENOENT for a readlink(undef) 1..32 ok t/rmdir.t ........................... # Seeded srand with seed '20241122' from local date. ok 1 - basic rmdir { ok 1 - REAL mkdir when dir is missing. ok 2 - - $! is unset. ok 3 - REAL rmdir when dir is there ok 4 - MOCK mkdir when dir is missing. ok 5 - - $! is unset. ok 6 - Perms are 0755 ok 7 - -d ok 8 - - $! is unset. ok 9 - MOCK rmdir when dir is there ok 10 - - $! is unset. ok 11 - Directory is not there with -d ok 12 - Directory is not there with -e 1..12 } ok 2 - undef rmdir { ok 1 - REAL mkdir when nothing is passed as the directory. ok 2 - - returns 0 ok 3 - REAL mkdir when undef is passed as the directory. ok 4 - - returns 0 ok 5 - REAL mkdir when undef is passed as the directory. ok 6 - - returns 0 1..6 } ok 3 - rmdir existing file { ok 1 - real rmdir on existing file. ok 2 - - $! is ENOTDIR. ok 3 - mock rmdir on existing file. ok 4 - - $! is ENOTDIR. 1..4 } ok 4 - rmdir existing symlink { ok 1 - real rmdir on existing file. ok 2 - - $! is ENOTDIR. ok 3 - mock rmdir on existing file. ok 4 - - $! is ENOTDIR. 1..4 } ok 5 - rmdir when nothing is there. { ok 1 - real rmdir on existing file. ok 2 - - $! is ENOENT. ok 3 - mock rmdir on existing file. ok 4 - - $! is ENOENT. 1..4 } ok 6 - rmdir non-empty directory fails { ok 1 - File exists ok 2 - Directory exists ok 3 - No errors yet ok 4 - rmdir failed because directory has files ok 5 - $! is set to correct perror (39) 1..5 } 1..6 ok t/runtime-bareword-filehandles.t .... # Seeded srand with seed '20241122' from local date. ok 1 - Successfully handled bareword filehandles during runtime ok 2 - No observed error 1..2 ok t/stat-x.t .......................... # Seeded srand with seed '20241122' from local date. ok 1 - -x after unlink { ok 1 - File should exist ok 2 - File should be executable ok 3 - File should not exist ok 4 - File should not be executable 1..4 } ok 2 - -x with multiple files { ok 1 - First filename should not be executable ok 2 - Second filename should not be executable ok 3 - First filename should now exist ok 4 - First filename should now be executable ok 5 - Second filename should still not exist ok 6 - Second filename should still not be executable 1..6 } ok 3 - rmdir works for mocked directories { ok 1 - Created directory successfully ok 2 - Directory now exists ok 3 - No errors yet ok 4 - Successfully rmdir directory ok 5 - Still no errors ok 6 - Directory no longer exists 1..6 } 1..3 ok t/strict-rules.t .................... # Seeded srand with seed '20241122' from local date. ok 1 - Cannot open an unmocked file in strict mode # add_strict_rule_for_filename ok 2 - can open a file with a custom rule ok 3 - cannot open a file under the directory ok 4 - open /cherry with multiple rules ok 5 - open /another with multiple rules ok 6 - clear_strict_rules removes all previous rules ok 7 - can open a file with a custom rule - regexp ok 8 - can open a file with a custom rule - regexp ok 9 - add_strict_rule_for_filename multiple rules ok 10 - add_strict_rule_for_filename multiple rules # add_strict_rule_for_command ok 11 - opendir fails without add_strict_rule_for_command ok 12 - add_strict_rule_for_command ok 13 - add_strict_rule_for_command - regexp ok 14 - add_strict_rule_for_command - list # add_strict_rule_generic ok 15 - no rules setup ok 16 - add_strict_rule_generic ok 17 - context set for open ok 18 - add_strict_rule_generic ok 19 - context uses normalized path ok 20 - add_strict_rule_generic - no exception ok 21 - add_strict_rule_generic - exception 1..21 ok t/strict-rules_file-temp-example.t .. # Seeded srand with seed '20241122' from local date. ok 1 - Cannot open an unmocked file in strict mode ok 2 - Cannot open directory from tempdir ok 3 - _setup_strict_rules_for_file_temp ok 4 - we can open a tempfile ok 5 - Can open directory from tempdir 1..5 ok t/strict-rules_scalar.t ............. # Seeded srand with seed '20241122' from local date. ok 1 - -e "/no/mocked" ok 2 - -l "/no/mocked" # add_strict_rule_for_command for stat / lstat ok 3 - command not supported ok 4 - -e "/no/mocked" ok 5 - -l "/no/mocked" ok 6 - -l "/this/path" mocked ok 7 - -l "/another/mocked" ok 8 - -e "/no/mocked" ok 9 - -l "/no/mocked" ok 10 - -l "/this/path" mocked ok 11 - -l "/another/path" mocked 1..11 ok t/symlink.t ......................... # Seeded srand with seed '20241122' from local date. ok 1 - Directory does not exist yet ok 2 - Directory now exists ok 3 - Directory with symlink content are correct ok 4 - Directory no longer has symlink 1..4 ok t/sysopen.t ......................... # Seeded srand with seed '20241122' from local date. # -------------- REAL MODE -------------- ok 1 - Sysopen for write ok 2 - 2 arg syswrite ok 3 - 3 arg syswrite ok 4 - 4 arg syswrite ok 5 - sysclose $fh ok 6 - file contents match what was written # -------------- MOCK MODE -------------- ok 7 - Sysopen for write ok 8 - 2 arg syswrite ok 9 - 3 arg syswrite ok 10 - 4 arg syswrite ok 11 - sysclose $fh ok 12 - Fake file contents match what was written ok 13 - mocked /tmp/7rJwb0gqgX is not present after mock file goes offline ok 14 - No mock files are in cache # -------------- REAL MODE -------------- ok 15 - Sysopen for read ok 16 - Read 2 into buf at EOL ok 17 - Confirm 2 line read ok 18 - Read into buf at pos 0 truncates the buffer. ok 19 - Confirm 2 line read ok 20 - Read 0 into buf at pos 0 truncates the buffer completely. ok 21 - Buffer is clear ok 22 - Read 2 into buf at pos 5 truncates after the buffer. ok 23 - Line is as expected. ok 24 - Read 3 into buf after EOL for the buffer fills in zeroes. ok 25 - Buffer has null bytes in the middle of it. ok 26 - Seek to near EOF ok 27 - Read 2 into buf since we're at EOF ok 28 - Buffer is clear ok 29 - 0 ok 30 - sysseek to start of file returns '0 but true' to make it so. ok 31 - sysseek to start of file returns true when checked with ok() # -------------- MOCK MODE -------------- ok 32 - Sysopen for read ok 33 - $fh stringifies to a IO::File GLOB ok 34 - Read 2 into buf at EOL ok 35 - Confirm 2 line read ok 36 - Read into buf at pos 0 truncates the buffer. ok 37 - Confirm 2 line read ok 38 - Read 0 into buf at pos 0 truncates the buffer completely. ok 39 - Buffer is clear ok 40 - Read 2 into buf at pos 5 truncates after the buffer. ok 41 - Line is as expected. ok 42 - Read 3 into buf after EOL for the buffer fills in zeroes. ok 43 - Buffer has null bytes in the middle of it. ok 44 - Seek to near EOF ok 45 - Read 2 into buf since we're at EOF ok 46 - Buffer is clear ok 47 - 0 ok 48 - sysseek to start of file returns '0 but true' to make it so. ok 49 - sysseek to start of file returns true when checked with ok() # -------------- REAL MODE -------------- ok 50 - Sysopen for read ok 51 - Read 2 into buf when buf is undef. ok 52 - Confirm 2 char is read # -------------- MOCK MODE -------------- ok 53 - Sysopen for read ok 54 - Read 2 into buf when buf is undef. ok 55 - Confirm 2 char is read ok 56 - No mock files are in cache 1..56 ok t/sysopen_strict.t .................. # Seeded srand with seed '20241122' from local date. ok 1 - sysopen() to read a filehandle fails 1..1 ok t/Test-MockFile_file.t .............. # Seeded srand with seed '20241122' from local date. ok 1 - Todo 1..1 ok t/touch.t ........................... # Seeded srand with seed '20241122' from local date. # -------------- REAL MODE -------------- ok 1 - /tmp/7rJwb0gqgX is there ok 2 - unlink on a dir fails ok 3 - unlink /dir is non-zero (21) # -------------- MOCK MODE -------------- ok 4 - Directory does not exist yet ok 5 - Successfully created /dir ok 6 - Directory now exists ok 7 - unlink /link works. ok 8 - /link is now gone ok 9 - unlink /dir doesn't work. ok 10 - ... and throws a $! ok 11 - touch /dir doesn't work. ok 12 - touch /link doesn't work. ok 13 - Set mtime to 1970 ok 14 - Set ctime to 1970 ok 15 - Set atime to 1970 ok 16 - Touch a missing file. ok 17 - mtime is set. ok 18 - ctime is set. ok 19 - atime is set. ok 20 - /file exists with -e ok 21 - /file is removed via unlink method ok 22 - /file is missing via contents check ok 23 - /file is missing via size method ok 24 - /file is removed via -e check ok 25 - Set file to have stuff in it. ok 26 - Touch an existing file. ok 27 - mtime is set to 1234. ok 28 - ctime is set to 1234. ok 29 - atime is set to 1234. 1..29 ok t/unlink.t .......................... # Seeded srand with seed '20241122' from local date. ok 1 - unlink on a missing file { ok 1 - REAL CORE::unlink returns 0 files deleted. ok 2 - $! is set to ENOENT ok 3 - MOCKED unlink returns 0 files deleted. ok 4 - $! is set to ENOENT 1..4 } ok 2 - unlink on an existing directory { ok 1 - REAL CORE::unlink returns 0 files deleted. ok 2 - Directory does not exist yet ok 3 - Created directory successfully ok 4 - Directory now exists ok 5 - MOCKED unlink returns 0 files deleted. ok 6 - $! is set to EISDIR 1..6 } ok 3 - unlink on an existing file { ok 1 - REAL CORE::unlink returns 1 files deleted. ok 2 - $! remains 0 ok 3 - MOCKED unlink returns 1 files deleted. ok 4 - $! remains 0 1..4 } ok 4 - unlink on an unmocked file { ok 1 - MOCKED unlink returns 1 files deleted. ok 2 - $! remains 0 ok 3 - CORE::open fails since the file is removed from disk ok 4 - $! becomes ENOENT 1..4 } 1..4 ok t/writeline.t ....................... # Seeded srand with seed '20241122' from local date. # -------------- REAL MODE -------------- ok 1 - tempfile originally writes out 16 bytes ok 2 - Open file for overwrite ok 3 - $real_fh stringifies to a GLOB ok 4 - Close $real_fh ok 5 - $! hasn't been cleared ok 6 - Temp file is on disk and right size assuming a re-write happened. # -------------- MOCK MODE -------------- ok 7 - Mocked temp file opens for write and returns true ok 8 - $fh is a IO::File ok 9 - $fh stringifies to a IO::File GLOB ok 10 - overwrite the contents ok 11 - $foo->contents reflects an overwrite ok 12 - Close $fh ok 13 - $! hasn't been cleared ok 14 - Re-open $fh for append ok 15 - Append line ok 16 - Append line with a printf ok 17 - $foo->contents reflects an append ok 18 - Printing undef returns 0 and is not a warning. ok 19 - Close $fh ok 20 - $! hasn't been cleared # -------------- REAL MODE -------------- ok 21 - Temp file on disk is unaltered once $bar is clear. 1..21 ok All tests successful. Files=42, Tests=444, 11 wallclock secs ( 0.21 usr 0.09 sys + 9.72 cusr 2.76 csys = 12.78 CPU) Result: PASS make[1]: Leaving directory '/build/reproducible-path/libtest-mockfile-perl-0.036' create-stamp debian/debhelper-build-stamp dh_prep dh_auto_install --destdir=debian/libtest-mockfile-perl/ make -j20 install DESTDIR=/build/reproducible-path/libtest-mockfile-perl-0.036/debian/libtest-mockfile-perl AM_UPDATE_INFO_DIR=no PREFIX=/usr make[1]: Entering directory '/build/reproducible-path/libtest-mockfile-perl-0.036' Manifying 6 pod documents Installing /build/reproducible-path/libtest-mockfile-perl-0.036/debian/libtest-mockfile-perl/usr/share/perl5/Test/MockFile.pm Installing /build/reproducible-path/libtest-mockfile-perl-0.036/debian/libtest-mockfile-perl/usr/share/perl5/Test/MockFile/Plugins.pm Installing /build/reproducible-path/libtest-mockfile-perl-0.036/debian/libtest-mockfile-perl/usr/share/perl5/Test/MockFile/DirHandle.pm Installing /build/reproducible-path/libtest-mockfile-perl-0.036/debian/libtest-mockfile-perl/usr/share/perl5/Test/MockFile/FileHandle.pm Installing /build/reproducible-path/libtest-mockfile-perl-0.036/debian/libtest-mockfile-perl/usr/share/perl5/Test/MockFile/Plugin.pm Installing /build/reproducible-path/libtest-mockfile-perl-0.036/debian/libtest-mockfile-perl/usr/share/perl5/Test/MockFile/Plugin/FileTemp.pm Installing /build/reproducible-path/libtest-mockfile-perl-0.036/debian/libtest-mockfile-perl/usr/share/man/man3/Test::MockFile::Plugin::FileTemp.3pm Installing /build/reproducible-path/libtest-mockfile-perl-0.036/debian/libtest-mockfile-perl/usr/share/man/man3/Test::MockFile::Plugins.3pm Installing /build/reproducible-path/libtest-mockfile-perl-0.036/debian/libtest-mockfile-perl/usr/share/man/man3/Test::MockFile::DirHandle.3pm Installing /build/reproducible-path/libtest-mockfile-perl-0.036/debian/libtest-mockfile-perl/usr/share/man/man3/Test::MockFile::FileHandle.3pm Installing /build/reproducible-path/libtest-mockfile-perl-0.036/debian/libtest-mockfile-perl/usr/share/man/man3/Test::MockFile::Plugin.3pm Installing /build/reproducible-path/libtest-mockfile-perl-0.036/debian/libtest-mockfile-perl/usr/share/man/man3/Test::MockFile.3pm make[1]: Leaving directory '/build/reproducible-path/libtest-mockfile-perl-0.036' dh_installdocs dh_installchangelogs debian/rules override_dh_installexamples make[1]: Entering directory '/build/reproducible-path/libtest-mockfile-perl-0.036' dh_installexamples sed -i '1s|^#!perl|#!/usr/bin/perl|' /build/reproducible-path/libtest-mockfile-perl-0.036/debian/libtest-mockfile-perl/usr/share/doc/libtest-mockfile-perl/examples/* make[1]: Leaving directory '/build/reproducible-path/libtest-mockfile-perl-0.036' dh_installman dh_perl dh_link dh_strip_nondeterminism dh_compress dh_fixperms dh_missing dh_installdeb dh_gencontrol dh_md5sums dh_builddeb dpkg-deb: building package 'libtest-mockfile-perl' in '../libtest-mockfile-perl_0.036-1_all.deb'. dpkg-genbuildinfo --build=binary -O../libtest-mockfile-perl_0.036-1_amd64.buildinfo dpkg-genchanges --build=binary -O../libtest-mockfile-perl_0.036-1_amd64.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: including full 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/1560202 and its subdirectories I: Current time: Fri Nov 22 03:06:17 -12 2024 I: pbuilder-time-stamp: 1732287977 Fri Nov 22 15:06:17 UTC 2024 I: Signing ./b1/libtest-mockfile-perl_0.036-1_amd64.buildinfo as libtest-mockfile-perl_0.036-1_amd64.buildinfo.asc Fri Nov 22 15:06:17 UTC 2024 I: Signed ./b1/libtest-mockfile-perl_0.036-1_amd64.buildinfo as ./b1/libtest-mockfile-perl_0.036-1_amd64.buildinfo.asc Fri Nov 22 15:06:17 UTC 2024 - build #1 for libtest-mockfile-perl/unstable/amd64 on ionos1-amd64 done. Starting cleanup. All cleanup done. Fri Nov 22 15:06:17 UTC 2024 - reproducible_build.sh stopped running as /tmp/jenkins-script-OGUi6tTg, removing. /srv/reproducible-results/rbuild-debian/r-b-build.bqwwQIRH: total 16 drwxr-xr-x 2 jenkins jenkins 4096 Nov 22 15:06 b1 drwxr-xr-x 2 jenkins jenkins 4096 Nov 22 15:04 b2 -rw-r--r-- 1 jenkins jenkins 2718 Aug 9 2023 libtest-mockfile-perl_0.036-1.dsc -rw------- 1 jenkins jenkins 3919 Nov 22 15:04 rbuildlog.kOGugBN /srv/reproducible-results/rbuild-debian/r-b-build.bqwwQIRH/b1: total 208 -rw-r--r-- 1 jenkins jenkins 68134 Nov 22 15:06 build.log -rw-r--r-- 1 jenkins jenkins 2092 Nov 22 15:06 libtest-mockfile-perl_0.036-1.debian.tar.xz -rw-r--r-- 1 jenkins jenkins 2718 Nov 22 15:06 libtest-mockfile-perl_0.036-1.dsc -rw-r--r-- 1 jenkins jenkins 46136 Nov 22 15:06 libtest-mockfile-perl_0.036-1_all.deb -rw-r--r-- 1 jenkins jenkins 5464 Nov 22 15:06 libtest-mockfile-perl_0.036-1_amd64.buildinfo -rw-r--r-- 1 jenkins jenkins 6346 Nov 22 15:06 libtest-mockfile-perl_0.036-1_amd64.buildinfo.asc -rw-r--r-- 1 jenkins jenkins 1175 Nov 22 15:06 libtest-mockfile-perl_0.036-1_amd64.changes -rw-r--r-- 1 jenkins jenkins 1626 Nov 22 15:06 libtest-mockfile-perl_0.036-1_source.changes -rw-r--r-- 1 jenkins jenkins 59444 Nov 22 15:06 libtest-mockfile-perl_0.036.orig.tar.gz /srv/reproducible-results/rbuild-debian/r-b-build.bqwwQIRH/b2: total 0 Fri Nov 22 15:06:17 UTC 2024 I: Deleting $TMPDIR on ionos1-amd64.debian.net. I: pbuilder: network access will be disabled during build I: Current time: Fri Nov 22 03:04:58 -12 2024 I: pbuilder-time-stamp: 1732287898 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 [libtest-mockfile-perl_0.036-1.dsc] I: copying [./libtest-mockfile-perl_0.036.orig.tar.gz] I: copying [./libtest-mockfile-perl_0.036-1.debian.tar.xz] I: Extracting source gpgv: Signature made Wed Aug 9 01:34:20 2023 gpgv: using RSA key D1E1316E93A760A8104D85FABB3A68018649AA06 gpgv: Can't check signature: No public key dpkg-source: warning: cannot verify inline signature for ./libtest-mockfile-perl_0.036-1.dsc: no acceptable signature found dpkg-source: info: extracting libtest-mockfile-perl in libtest-mockfile-perl-0.036 dpkg-source: info: unpacking libtest-mockfile-perl_0.036.orig.tar.gz dpkg-source: info: unpacking libtest-mockfile-perl_0.036-1.debian.tar.xz I: Not using root during the build. I: Installing the build-deps I: user script /srv/workspace/pbuilder/1560202/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='amd64' DEBIAN_FRONTEND='noninteractive' DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=20 ' DISTRIBUTION='unstable' HOME='/root' HOST_ARCH='amd64' IFS=' ' INVOCATION_ID='f396157115534a9ca402bee37e12e7cb' 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='1560202' 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.bqwwQIRH/pbuilderrc_n7BX --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.bqwwQIRH/b1 --logfile b1/build.log libtest-mockfile-perl_0.036-1.dsc' SUDO_GID='110' SUDO_UID='105' SUDO_USER='jenkins' TERM='unknown' TZ='/usr/share/zoneinfo/Etc/GMT+12' USER='root' _='/usr/bin/systemd-run' http_proxy='http://46.16.76.132:3128' I: uname -a Linux ionos1-amd64 6.1.0-27-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.115-1 (2024-11-01) x86_64 GNU/Linux I: ls -l /bin lrwxrwxrwx 1 root root 7 Aug 4 21:30 /bin -> usr/bin I: user script /srv/workspace/pbuilder/1560202/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: amd64 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), libfile-slurper-perl, liboverload-filecheck-perl, libtest-mockmodule-perl, libtest-simple-perl, libtest2-harness-perl, libtest2-plugin-nowarnings-perl, libtest2-suite-perl, libtest2-tools-explain-perl, libtext-glob-perl, perl dpkg-deb: building package 'pbuilder-satisfydepends-dummy' in '/tmp/satisfydepends-aptitude/pbuilder-satisfydepends-dummy.deb'. Selecting previously unselected package pbuilder-satisfydepends-dummy. (Reading database ... 19966 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 libfile-slurper-perl; however: Package libfile-slurper-perl is not installed. pbuilder-satisfydepends-dummy depends on liboverload-filecheck-perl; however: Package liboverload-filecheck-perl is not installed. pbuilder-satisfydepends-dummy depends on libtest-mockmodule-perl; however: Package libtest-mockmodule-perl is not installed. pbuilder-satisfydepends-dummy depends on libtest2-harness-perl; however: Package libtest2-harness-perl is not installed. pbuilder-satisfydepends-dummy depends on libtest2-plugin-nowarnings-perl; however: Package libtest2-plugin-nowarnings-perl is not installed. pbuilder-satisfydepends-dummy depends on libtest2-suite-perl; however: Package libtest2-suite-perl is not installed. pbuilder-satisfydepends-dummy depends on libtest2-tools-explain-perl; however: Package libtest2-tools-explain-perl is not installed. pbuilder-satisfydepends-dummy depends on libtext-glob-perl; however: Package libtext-glob-perl 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-strip-nondeterminism{a} dwz{a} file{a} gettext{a} gettext-base{a} groff-base{a} intltool-debian{a} libarchive-zip-perl{a} libdata-uuid-perl{a} libdebhelper-perl{a} libelf1t64{a} libfile-slurper-perl{a} libfile-stripnondeterminism-perl{a} libfilter-perl{a} libgoto-file-perl{a} libicu72{a} libimporter-perl{a} liblong-jump-perl{a} libmagic-mgc{a} libmagic1t64{a} liboverload-filecheck-perl{a} libpipeline1{a} libscope-guard-perl{a} libsub-identify-perl{a} libsuper-perl{a} libtest-mockmodule-perl{a} libtest2-harness-perl{a} libtest2-plugin-memusage-perl{a} libtest2-plugin-nowarnings-perl{a} libtest2-plugin-uuid-perl{a} libtest2-suite-perl{a} libtest2-tools-explain-perl{a} libtext-glob-perl{a} libtool{a} libuchardet0{a} libuuid-perl{a} libxml2{a} libyaml-tiny-perl{a} m4{a} man-db{a} po-debconf{a} sensible-utils{a} The following packages are RECOMMENDED but will NOT be installed: curl libarchive-cpio-perl libltdl-dev libmail-sendmail-perl libmodule-pluggable-perl libperlio-utf8-strict-perl lynx wget 0 packages upgraded, 49 newly installed, 0 to remove and 0 not upgraded. Need to get 21.1 MB of archives. After unpacking 79.3 MB will be used. Writing extended state information... Get: 1 http://deb.debian.org/debian unstable/main amd64 sensible-utils all 0.0.24 [24.8 kB] Get: 2 http://deb.debian.org/debian unstable/main amd64 libmagic-mgc amd64 1:5.45-3+b1 [314 kB] Get: 3 http://deb.debian.org/debian unstable/main amd64 libmagic1t64 amd64 1:5.45-3+b1 [108 kB] Get: 4 http://deb.debian.org/debian unstable/main amd64 file amd64 1:5.45-3+b1 [43.3 kB] Get: 5 http://deb.debian.org/debian unstable/main amd64 gettext-base amd64 0.22.5-2 [200 kB] Get: 6 http://deb.debian.org/debian unstable/main amd64 libuchardet0 amd64 0.0.8-1+b2 [68.9 kB] Get: 7 http://deb.debian.org/debian unstable/main amd64 groff-base amd64 1.23.0-5 [1181 kB] Get: 8 http://deb.debian.org/debian unstable/main amd64 bsdextrautils amd64 2.40.2-11 [91.5 kB] Get: 9 http://deb.debian.org/debian unstable/main amd64 libpipeline1 amd64 1.5.8-1 [42.0 kB] Get: 10 http://deb.debian.org/debian unstable/main amd64 man-db amd64 2.13.0-1 [1420 kB] Get: 11 http://deb.debian.org/debian unstable/main amd64 m4 amd64 1.4.19-4 [287 kB] Get: 12 http://deb.debian.org/debian unstable/main amd64 autoconf all 2.72-3 [493 kB] Get: 13 http://deb.debian.org/debian unstable/main amd64 autotools-dev all 20220109.1 [51.6 kB] Get: 14 http://deb.debian.org/debian unstable/main amd64 automake all 1:1.16.5-1.3 [823 kB] Get: 15 http://deb.debian.org/debian unstable/main amd64 autopoint all 0.22.5-2 [723 kB] Get: 16 http://deb.debian.org/debian unstable/main amd64 libdebhelper-perl all 13.20 [89.7 kB] Get: 17 http://deb.debian.org/debian unstable/main amd64 libtool all 2.4.7-8 [517 kB] Get: 18 http://deb.debian.org/debian unstable/main amd64 dh-autoreconf all 20 [17.1 kB] Get: 19 http://deb.debian.org/debian unstable/main amd64 libarchive-zip-perl all 1.68-1 [104 kB] Get: 20 http://deb.debian.org/debian unstable/main amd64 libfile-stripnondeterminism-perl all 1.14.0-1 [19.5 kB] Get: 21 http://deb.debian.org/debian unstable/main amd64 dh-strip-nondeterminism all 1.14.0-1 [8448 B] Get: 22 http://deb.debian.org/debian unstable/main amd64 libelf1t64 amd64 0.192-4 [189 kB] Get: 23 http://deb.debian.org/debian unstable/main amd64 dwz amd64 0.15-1+b1 [110 kB] Get: 24 http://deb.debian.org/debian unstable/main amd64 libicu72 amd64 72.1-5+b1 [9423 kB] Get: 25 http://deb.debian.org/debian unstable/main amd64 libxml2 amd64 2.12.7+dfsg+really2.9.14-0.2+b1 [699 kB] Get: 26 http://deb.debian.org/debian unstable/main amd64 gettext amd64 0.22.5-2 [1601 kB] Get: 27 http://deb.debian.org/debian unstable/main amd64 intltool-debian all 0.35.0+20060710.6 [22.9 kB] Get: 28 http://deb.debian.org/debian unstable/main amd64 po-debconf all 1.0.21+nmu1 [248 kB] Get: 29 http://deb.debian.org/debian unstable/main amd64 debhelper all 13.20 [915 kB] Get: 30 http://deb.debian.org/debian unstable/main amd64 libdata-uuid-perl amd64 1.227-1+b1 [18.7 kB] Get: 31 http://deb.debian.org/debian unstable/main amd64 libfile-slurper-perl all 0.014-1 [8560 B] Get: 32 http://deb.debian.org/debian unstable/main amd64 libfilter-perl amd64 1.64-2 [64.0 kB] Get: 33 http://deb.debian.org/debian unstable/main amd64 libgoto-file-perl all 0.005-2 [6880 B] Get: 34 http://deb.debian.org/debian unstable/main amd64 libimporter-perl all 0.026-2 [25.0 kB] Get: 35 http://deb.debian.org/debian unstable/main amd64 liblong-jump-perl all 0.000001-2 [6328 B] Get: 36 http://deb.debian.org/debian unstable/main amd64 liboverload-filecheck-perl amd64 0.013-2+b3 [31.4 kB] Get: 37 http://deb.debian.org/debian unstable/main amd64 libscope-guard-perl all 0.21-2 [8212 B] Get: 38 http://deb.debian.org/debian unstable/main amd64 libsub-identify-perl amd64 0.14-3+b3 [11.3 kB] Get: 39 http://deb.debian.org/debian unstable/main amd64 libsuper-perl all 1.20190531-1 [11.5 kB] Get: 40 http://deb.debian.org/debian unstable/main amd64 libtest-mockmodule-perl all 0.178.0-1 [15.0 kB] Get: 41 http://deb.debian.org/debian unstable/main amd64 libtest2-plugin-memusage-perl all 0.002003-2 [5272 B] Get: 42 http://deb.debian.org/debian unstable/main amd64 libuuid-perl amd64 0.36-1+b1 [46.2 kB] Get: 43 http://deb.debian.org/debian unstable/main amd64 libtest2-plugin-uuid-perl all 0.002009-2 [11.3 kB] Get: 44 http://deb.debian.org/debian unstable/main amd64 libtest2-suite-perl all 0.000163-1 [383 kB] Get: 45 http://deb.debian.org/debian unstable/main amd64 libyaml-tiny-perl all 1.74-1 [30.7 kB] Get: 46 http://deb.debian.org/debian unstable/main amd64 libtest2-harness-perl all 1.000155-2 [542 kB] Get: 47 http://deb.debian.org/debian unstable/main amd64 libtest2-plugin-nowarnings-perl all 0.10-1 [15.8 kB] Get: 48 http://deb.debian.org/debian unstable/main amd64 libtest2-tools-explain-perl all 0.02-2 [9684 B] Get: 49 http://deb.debian.org/debian unstable/main amd64 libtext-glob-perl all 0.11-3 [7676 B] Fetched 21.1 MB in 1s (29.9 MB/s) debconf: delaying package configuration, since apt-utils is not installed Selecting previously unselected package sensible-utils. (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 ... 19966 files and directories currently installed.) Preparing to unpack .../00-sensible-utils_0.0.24_all.deb ... Unpacking sensible-utils (0.0.24) ... Selecting previously unselected package libmagic-mgc. Preparing to unpack .../01-libmagic-mgc_1%3a5.45-3+b1_amd64.deb ... Unpacking libmagic-mgc (1:5.45-3+b1) ... Selecting previously unselected package libmagic1t64:amd64. Preparing to unpack .../02-libmagic1t64_1%3a5.45-3+b1_amd64.deb ... Unpacking libmagic1t64:amd64 (1:5.45-3+b1) ... Selecting previously unselected package file. Preparing to unpack .../03-file_1%3a5.45-3+b1_amd64.deb ... Unpacking file (1:5.45-3+b1) ... Selecting previously unselected package gettext-base. Preparing to unpack .../04-gettext-base_0.22.5-2_amd64.deb ... Unpacking gettext-base (0.22.5-2) ... Selecting previously unselected package libuchardet0:amd64. Preparing to unpack .../05-libuchardet0_0.0.8-1+b2_amd64.deb ... Unpacking libuchardet0:amd64 (0.0.8-1+b2) ... Selecting previously unselected package groff-base. Preparing to unpack .../06-groff-base_1.23.0-5_amd64.deb ... Unpacking groff-base (1.23.0-5) ... Selecting previously unselected package bsdextrautils. Preparing to unpack .../07-bsdextrautils_2.40.2-11_amd64.deb ... Unpacking bsdextrautils (2.40.2-11) ... Selecting previously unselected package libpipeline1:amd64. Preparing to unpack .../08-libpipeline1_1.5.8-1_amd64.deb ... Unpacking libpipeline1:amd64 (1.5.8-1) ... Selecting previously unselected package man-db. Preparing to unpack .../09-man-db_2.13.0-1_amd64.deb ... Unpacking man-db (2.13.0-1) ... Selecting previously unselected package m4. Preparing to unpack .../10-m4_1.4.19-4_amd64.deb ... Unpacking m4 (1.4.19-4) ... Selecting previously unselected package autoconf. Preparing to unpack .../11-autoconf_2.72-3_all.deb ... Unpacking autoconf (2.72-3) ... Selecting previously unselected package autotools-dev. Preparing to unpack .../12-autotools-dev_20220109.1_all.deb ... Unpacking autotools-dev (20220109.1) ... Selecting previously unselected package automake. Preparing to unpack .../13-automake_1%3a1.16.5-1.3_all.deb ... Unpacking automake (1:1.16.5-1.3) ... Selecting previously unselected package autopoint. Preparing to unpack .../14-autopoint_0.22.5-2_all.deb ... Unpacking autopoint (0.22.5-2) ... Selecting previously unselected package libdebhelper-perl. Preparing to unpack .../15-libdebhelper-perl_13.20_all.deb ... Unpacking libdebhelper-perl (13.20) ... Selecting previously unselected package libtool. Preparing to unpack .../16-libtool_2.4.7-8_all.deb ... Unpacking libtool (2.4.7-8) ... Selecting previously unselected package dh-autoreconf. Preparing to unpack .../17-dh-autoreconf_20_all.deb ... Unpacking dh-autoreconf (20) ... Selecting previously unselected package libarchive-zip-perl. Preparing to unpack .../18-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 .../19-libfile-stripnondeterminism-perl_1.14.0-1_all.deb ... Unpacking libfile-stripnondeterminism-perl (1.14.0-1) ... Selecting previously unselected package dh-strip-nondeterminism. Preparing to unpack .../20-dh-strip-nondeterminism_1.14.0-1_all.deb ... Unpacking dh-strip-nondeterminism (1.14.0-1) ... Selecting previously unselected package libelf1t64:amd64. Preparing to unpack .../21-libelf1t64_0.192-4_amd64.deb ... Unpacking libelf1t64:amd64 (0.192-4) ... Selecting previously unselected package dwz. Preparing to unpack .../22-dwz_0.15-1+b1_amd64.deb ... Unpacking dwz (0.15-1+b1) ... Selecting previously unselected package libicu72:amd64. Preparing to unpack .../23-libicu72_72.1-5+b1_amd64.deb ... Unpacking libicu72:amd64 (72.1-5+b1) ... Selecting previously unselected package libxml2:amd64. Preparing to unpack .../24-libxml2_2.12.7+dfsg+really2.9.14-0.2+b1_amd64.deb ... Unpacking libxml2:amd64 (2.12.7+dfsg+really2.9.14-0.2+b1) ... Selecting previously unselected package gettext. Preparing to unpack .../25-gettext_0.22.5-2_amd64.deb ... Unpacking gettext (0.22.5-2) ... Selecting previously unselected package intltool-debian. Preparing to unpack .../26-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 .../27-po-debconf_1.0.21+nmu1_all.deb ... Unpacking po-debconf (1.0.21+nmu1) ... Selecting previously unselected package debhelper. Preparing to unpack .../28-debhelper_13.20_all.deb ... Unpacking debhelper (13.20) ... Selecting previously unselected package libdata-uuid-perl. Preparing to unpack .../29-libdata-uuid-perl_1.227-1+b1_amd64.deb ... Unpacking libdata-uuid-perl (1.227-1+b1) ... Selecting previously unselected package libfile-slurper-perl. Preparing to unpack .../30-libfile-slurper-perl_0.014-1_all.deb ... Unpacking libfile-slurper-perl (0.014-1) ... Selecting previously unselected package libfilter-perl. Preparing to unpack .../31-libfilter-perl_1.64-2_amd64.deb ... Unpacking libfilter-perl (1.64-2) ... Selecting previously unselected package libgoto-file-perl. Preparing to unpack .../32-libgoto-file-perl_0.005-2_all.deb ... Unpacking libgoto-file-perl (0.005-2) ... Selecting previously unselected package libimporter-perl. Preparing to unpack .../33-libimporter-perl_0.026-2_all.deb ... Unpacking libimporter-perl (0.026-2) ... Selecting previously unselected package liblong-jump-perl. Preparing to unpack .../34-liblong-jump-perl_0.000001-2_all.deb ... Unpacking liblong-jump-perl (0.000001-2) ... Selecting previously unselected package liboverload-filecheck-perl. Preparing to unpack .../35-liboverload-filecheck-perl_0.013-2+b3_amd64.deb ... Unpacking liboverload-filecheck-perl (0.013-2+b3) ... Selecting previously unselected package libscope-guard-perl. Preparing to unpack .../36-libscope-guard-perl_0.21-2_all.deb ... Unpacking libscope-guard-perl (0.21-2) ... Selecting previously unselected package libsub-identify-perl. Preparing to unpack .../37-libsub-identify-perl_0.14-3+b3_amd64.deb ... Unpacking libsub-identify-perl (0.14-3+b3) ... Selecting previously unselected package libsuper-perl. Preparing to unpack .../38-libsuper-perl_1.20190531-1_all.deb ... Unpacking libsuper-perl (1.20190531-1) ... Selecting previously unselected package libtest-mockmodule-perl. Preparing to unpack .../39-libtest-mockmodule-perl_0.178.0-1_all.deb ... Unpacking libtest-mockmodule-perl (0.178.0-1) ... Selecting previously unselected package libtest2-plugin-memusage-perl. Preparing to unpack .../40-libtest2-plugin-memusage-perl_0.002003-2_all.deb ... Unpacking libtest2-plugin-memusage-perl (0.002003-2) ... Selecting previously unselected package libuuid-perl. Preparing to unpack .../41-libuuid-perl_0.36-1+b1_amd64.deb ... Unpacking libuuid-perl (0.36-1+b1) ... Selecting previously unselected package libtest2-plugin-uuid-perl. Preparing to unpack .../42-libtest2-plugin-uuid-perl_0.002009-2_all.deb ... Unpacking libtest2-plugin-uuid-perl (0.002009-2) ... Selecting previously unselected package libtest2-suite-perl. Preparing to unpack .../43-libtest2-suite-perl_0.000163-1_all.deb ... Unpacking libtest2-suite-perl (0.000163-1) ... Selecting previously unselected package libyaml-tiny-perl. Preparing to unpack .../44-libyaml-tiny-perl_1.74-1_all.deb ... Unpacking libyaml-tiny-perl (1.74-1) ... Selecting previously unselected package libtest2-harness-perl. Preparing to unpack .../45-libtest2-harness-perl_1.000155-2_all.deb ... Unpacking libtest2-harness-perl (1.000155-2) ... Selecting previously unselected package libtest2-plugin-nowarnings-perl. Preparing to unpack .../46-libtest2-plugin-nowarnings-perl_0.10-1_all.deb ... Unpacking libtest2-plugin-nowarnings-perl (0.10-1) ... Selecting previously unselected package libtest2-tools-explain-perl. Preparing to unpack .../47-libtest2-tools-explain-perl_0.02-2_all.deb ... Unpacking libtest2-tools-explain-perl (0.02-2) ... Selecting previously unselected package libtext-glob-perl. Preparing to unpack .../48-libtext-glob-perl_0.11-3_all.deb ... Unpacking libtext-glob-perl (0.11-3) ... Setting up libpipeline1:amd64 (1.5.8-1) ... Setting up libfile-slurper-perl (0.014-1) ... Setting up libicu72:amd64 (72.1-5+b1) ... Setting up libuuid-perl (0.36-1+b1) ... Setting up bsdextrautils (2.40.2-11) ... Setting up libtext-glob-perl (0.11-3) ... Setting up libmagic-mgc (1:5.45-3+b1) ... Setting up libtest2-plugin-nowarnings-perl (0.10-1) ... Setting up libarchive-zip-perl (1.68-1) ... Setting up libsub-identify-perl (0.14-3+b3) ... Setting up libdebhelper-perl (13.20) ... Setting up libmagic1t64:amd64 (1:5.45-3+b1) ... Setting up gettext-base (0.22.5-2) ... Setting up m4 (1.4.19-4) ... Setting up file (1:5.45-3+b1) ... Setting up libyaml-tiny-perl (1.74-1) ... Setting up libelf1t64:amd64 (0.192-4) ... Setting up libtest2-suite-perl (0.000163-1) ... Setting up libscope-guard-perl (0.21-2) ... Setting up autotools-dev (20220109.1) ... Setting up libdata-uuid-perl (1.227-1+b1) ... Setting up libimporter-perl (0.026-2) ... Setting up autopoint (0.22.5-2) ... Setting up autoconf (2.72-3) ... Setting up dwz (0.15-1+b1) ... Setting up sensible-utils (0.0.24) ... Setting up libuchardet0:amd64 (0.0.8-1+b2) ... Setting up libfilter-perl (1.64-2) ... Setting up libtest2-plugin-memusage-perl (0.002003-2) ... Setting up libxml2:amd64 (2.12.7+dfsg+really2.9.14-0.2+b1) ... Setting up liboverload-filecheck-perl (0.013-2+b3) ... Setting up automake (1:1.16.5-1.3) ... update-alternatives: using /usr/bin/automake-1.16 to provide /usr/bin/automake (automake) in auto mode Setting up libfile-stripnondeterminism-perl (1.14.0-1) ... Setting up libtest2-plugin-uuid-perl (0.002009-2) ... Setting up liblong-jump-perl (0.000001-2) ... Setting up libsuper-perl (1.20190531-1) ... Setting up gettext (0.22.5-2) ... Setting up libtest-mockmodule-perl (0.178.0-1) ... Setting up libgoto-file-perl (0.005-2) ... Setting up libtool (2.4.7-8) ... Setting up libtest2-tools-explain-perl (0.02-2) ... Setting up intltool-debian (0.35.0+20060710.6) ... Setting up dh-autoreconf (20) ... Setting up dh-strip-nondeterminism (1.14.0-1) ... Setting up groff-base (1.23.0-5) ... Setting up libtest2-harness-perl (1.000155-2) ... Setting up po-debconf (1.0.21+nmu1) ... Setting up man-db (2.13.0-1) ... Not building database; man-db/auto-update is not 'true'. Setting up debhelper (13.20) ... Processing triggers for libc-bin (2.40-3) ... 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/libtest-mockfile-perl-0.036/ && 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 > ../libtest-mockfile-perl_0.036-1_source.changes dpkg-buildpackage: info: source package libtest-mockfile-perl dpkg-buildpackage: info: source version 0.036-1 dpkg-buildpackage: info: source distribution unstable dpkg-buildpackage: info: source changed by gregor herrmann dpkg-source --before-build . dpkg-buildpackage: info: host architecture amd64 debian/rules clean dh clean dh_clean debian/rules binary dh binary dh_update_autotools_config dh_autoreconf dh_auto_configure /usr/bin/perl Makefile.PL INSTALLDIRS=vendor "OPTIMIZE=-g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/libtest-mockfile-perl-0.036=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2" "LD=x86_64-linux-gnu-gcc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/libtest-mockfile-perl-0.036=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wl,-z,relro" Checking if your kit is complete... Looks good Generating a Unix-style Makefile Writing Makefile for Test::MockFile Writing MYMETA.yml and MYMETA.json dh_auto_build make -j20 make[1]: Entering directory '/build/reproducible-path/libtest-mockfile-perl-0.036' cp lib/Test/MockFile/DirHandle.pm blib/lib/Test/MockFile/DirHandle.pm cp lib/Test/MockFile.pm blib/lib/Test/MockFile.pm cp lib/Test/MockFile/Plugin.pm blib/lib/Test/MockFile/Plugin.pm cp lib/Test/MockFile/Plugin/FileTemp.pm blib/lib/Test/MockFile/Plugin/FileTemp.pm cp lib/Test/MockFile/FileHandle.pm blib/lib/Test/MockFile/FileHandle.pm cp lib/Test/MockFile/Plugins.pm blib/lib/Test/MockFile/Plugins.pm Manifying 6 pod documents make[1]: Leaving directory '/build/reproducible-path/libtest-mockfile-perl-0.036' dh_auto_test make -j20 test TEST_VERBOSE=1 make[1]: Entering directory '/build/reproducible-path/libtest-mockfile-perl-0.036' PERL_DL_NONLAZY=1 "/usr/bin/perl" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(1, 'blib/lib', 'blib/arch')" t/*.t # Testing Test::MockFile 0.036 with Overload::FileCheck 0.013 and File::Temp 0.2311 # Perl 5.040000, /usr/bin/perl t/00-load.t ......................... ok 1 - use Test::MockFile; ok 2 - use Overload::FileCheck; ok 3 - use File::Temp; 1..3 ok t/chmod-filetemp.t .................. # Seeded srand with seed '20241122' from local date. ok 1 1..1 ok t/chmod.t ........................... # Seeded srand with seed '20241122' from local date. ok 1 - Defaults { ok 1 - Directory /foo exists ok 2 - File /foo/bar exists ok 3 - Directory /foo is set to 0755 ok 4 - File /foo/bar is set to 0644 (umask: 0022, perms before: 0666, perms after 1: 0644, perms after 2: 100644) 1..4 } ok 2 - Changing mode (real vs. mocked) { ok 1 - Successfully created real directory ok 2 - Successfully chmod'ed real directory ok 3 - CORE::chmod() set the perms correctly ok 4 - Successfully deleted real directory ok 5 - Directory /foo exists ok 6 - File /foo/bar exists ok 7 - Directory /foo is now set to 0600 ok 8 - File /foo/bar is now set to 0600 ok 9 - Directory /foo is now set to 0600 ok 10 - File /foo/bar is now set to 0600 1..10 } ok 3 - Changing mode filehandle { # -------------- REAL MODE -------------- ok 1 - chmod on file ok 2 - chmod on filehandle # -------------- MOCK MODE -------------- ok 3 - chmod on file ok 4 - chmod on filehandle 1..4 } ok 4 - Providing a string as mode mask { ok 1 - Successfully created real directory ok 2 - CORE::chmod() threw a warning when trying to numify ok 3 - Successfully chmod'ed real directory ok 4 - No observed error ok 5 - CORE::chmod() set the perms correctly ok 6 - Successfully deleted real directory ok 7 - Directory /foo does not exist ok 8 - Successfully created mocked directory ok 9 - Directory /foo now exists ok 10 - chmod() threw a warning when trying to numify ok 11 - Successfully chmod'ed real directory ok 12 - No observed error ok 13 - chmod() set the perms correctly ok 14 - Successfully deleted real directory ok 15 - Directory /foo no longer exist 1..15 } 1..4 ok t/chown-chmod-nostrict.t ............ # Seeded srand with seed '20241122' from local date. ok 1 - Unmocked files and mixing unmocked and mocked files { ok 1 - Even without strict mode, you cannot mix mocked and unmocked files (chown) ok 2 - Even without strict mode, you cannot mix mocked and unmocked files (chmod) 1..2 } 1..1 ok t/chown.t ........................... # Seeded srand with seed '20241122' from local date. ok 1 - Default ownership { ok 1 - Directory /foo exists ok 2 - File /foo/bar exists ok 3 - /foo set UID correctly to 1111 ok 4 - /foo set GID correctly to 1111 ok 5 - /foo/bar set UID correctly to 1111 ok 6 - /foo/bar set GID correctly to 1111 1..6 } ok 2 - Change ownership of file to someone else { # $>: 1111, $): 1111 1111 ok 1 - chown file to some high, probably unavailable, UID/GID ok 2 - chown failed (EPERM): $>:1111, $):1111 1111 ok 3 - chown file to some high, probably unavailable, GID ok 4 - chown failed (EPERM): $>:1111, $):1111 1111 ok 5 - chown file to some high, probably unavailable, UID ok 6 - chown failed (EPERM): $>:1111, $):1111 1111 ok 7 - chown file to root ok 8 - chown failed (EPERM): $>:1111, $):1111 1111 ok 9 - chown file to root GID ok 10 - chown failed (EPERM): $>:1111, $):1111 1111 ok 11 - chown file to root UID ok 12 - chown failed (EPERM): $>:1111, $):1111 1111 1..12 } ok 3 - chown with bareword (nonexistent file) { ok 1 - $! starts clean ok 2 - Using bareword treats it as string ok 3 - Correct ENOENT error 1..3 } ok 4 - chown only user, only group, both { ok 1 - $! starts clean ok 2 - chown'ing file to only UID ok 3 - $! still clean ok 4 - chown'ing file to only GID ok 5 - $! still clean ok 6 - chown'ing file to both UID and GID ok 7 - $! still clean 1..7 } ok 5 - chown to different group of same user { 1..0 # SKIP This user only has one group } ok 6 - chown on typeglob / filehandle { ok 1 - $! starts clean ok 2 - Non-root chown on a file handle works ok 3 - $! stays clean ok 4 - Owner of the file is now there ok 5 - Group of the file is now there 1..5 } ok 7 - chown does not reset $! { ok 1 - $! is set to 3 for our test ok 2 - Successfully run chown ok 3 - $! is still 3 (not reset by chown) 1..3 } 1..7 ok t/detect-common-mistakes.t .......... # Seeded srand with seed '20241122' from local date. ok 1 - Removing trailing forward slash for directories { ok 1 - Create /foo/ ok 2 - Test::MockFile=HASH->isa('Test::MockFile') ok 3 - Trailing / is removed 1..3 } ok 2 - Checking for multiple forward slash in paths { ok 1 - dir() successful ok 2 - Double trailing forward slash ok 3 - dir() succesful ok 4 - Multiple trailing forward slash ok 5 - dir() succesful ok 6 - Double leading forward slash for dir ok 7 - dir() succesful ok 8 - Double leading forward slash for file ok 9 - dir() succesful ok 10 - Double forward slash in the middle for dir ok 11 - dir() succesful ok 12 - Double forward slash in the middle for file 1..12 } ok 3 - Relative paths { ok 1 - Success with ./ for dir ok 2 - Success with ./ for file ok 3 - Failure with ../ for dir ok 4 - Failure with ../ for file ok 5 - Failure with /../ for dir ok 6 - Success with /. for file ok 7 - Failure with /.. for file ok 8 - Failure with /../ for file ok 9 - Success with /./ for dir ok 10 - Success with /./ for file ok 11 - No problem with current directory paths (file with trailing forward slash) ok 12 - No problem with current directory paths (dir with trailing forward slash) ok 13 - No problem with current directory paths (dir with no trailing forward slash) 1..13 } 1..3 ok t/dir_interface.t ................... # Seeded srand with seed '20241122' from local date. ok 1 - ->dir() checks { ok 1 - Cannot do TMF->dir( "/etc", [@content], { 1 => 2 } ) ok 2 - Cannot do TMF->dir( "/etc", [@content] ) 1..2 } ok 2 - Scenario 1: ->dir() does not create dir, keywords do { ok 1 - Directory /foo1 does not exist yet ok 2 - Directory /foo1 got created ok 3 - Directory /foo1 now exists ok 4 - Correct contents of directory through ->contents() ok 5 - opendir() /foo1 successful ok 6 - readdir() on /foo1 successful ok 7 - Correct directory content through Perl core keywords ok 8 - closedir() on /foo1 successful 1..8 } ok 3 - Scenario 2: ->dir() on an already existing dir fails made with ->dir() { ok 1 - -d /foo2 succeeds, dir exists ok 2 - mkdir /foo2 fails, dir already exists ok 3 - opendir() /foo2 successful ok 4 - readdir() on /foo2 successful ok 5 - Correct directory content through Perl core keywords ok 6 - closedir() on /foo2 successful 1..6 } ok 4 - Scneario 3: Undef files with ->file() do not create dirs, adding content changes dir { ok 1 - -d /foo3 fails, does not exist yet ok 2 - -d /foo3 still fails after mocking file with no content ok 3 - mkdir /foo3 works ok 4 - -d /foo3 now succeeds ok 5 - Correct contents to /foo3 ok 6 - opendir() /foo3 successful ok 7 - readdir() on /foo3 successful ok 8 - Correct directory content through Perl core keywords ok 9 - closedir() on /foo3 successful ok 10 - /foo3/foo does not exist, even if /foo3 does ok 11 - After file->contents(), /foo3/foo exists ok 12 - Correct updated contents to /foo3 ok 13 - opendir() /foo3 successful ok 14 - readdir() on /foo3 successful ok 15 - Correct directory content through Perl core keywords ok 16 - closedir() on /foo3 successful 1..16 } ok 5 - Scenario 4: Creating ->file() with content creates dir { ok 1 - /foo4 does not exist yet ok 2 - /foo4 now exists, after creating file with content ok 3 - mkdir /foo4 fails, since dir already exists ok 4 - Correct contents to /foo4 ok 5 - opendir() /foo4 successful ok 6 - readdir() on /foo4 successful ok 7 - Correct directory content through Perl core keywords ok 8 - closedir() on /foo4 successful 1..8 } 1..5 ok t/file_access_hooks.t ............... # Seeded srand with seed '20241122' from local date. # -------------- REAL MODE -------------- ok 1 - Using open on an unmocked file throws a croak ok 2 - Using a 2 arg open on an unmocked file throws a croak ok 3 - Using sysopen on an unmocked file throws a croak ok 4 - Using opendir on an unmocked directory throws a croak ok 5 - -e on an unmocked file throws a croak ok 6 - -e on an unmocked empty file name throws a croak ok 7 - -d on an unmocked dir throws a croak ok 8 - -l on an unmocked dir throws a croak # -------------- MOCK MODE -------------- ok 9 - -s t/data/example_email.csv ok 10 - Testing from a different source scope (DynaLoader) ok 11 - -d is allowed in certain packages without a die (DynaLoader) ok 12 - open STDIN isn't an error ok 13 - Stat on a file handle which didn't get filtered through MockFile works without a die 1..13 ok t/file_from_disk.t .................. ok 1 - open fake file for read ok 2 - Read line 1. ok 3 - Read line 2. ok 4 - open fake file for write ok 5 - file is written to ok 6 - The original file was unmodified 1..6 ok t/fileno.t .......................... # Seeded srand with seed '20241122' from local date. ok 1 - Opened file ok 2 - Refuse to support fileno ok 3 - Opened file 1..3 ok t/globbing.t ........................ # Seeded srand with seed '20241122' from local date. ok 1 - glob(/*.txt) ok 2 - ok 3 - glob(/*.txt) ok 4 - ok 5 - glob(/*.{txt,jp{g}}) ok 6 - ok 7 - ok 8 - glob(/*.txt /*.jpg) ok 9 - ok 10 - Directory now exists ok 11 - Directory does not exist ok 12 - Created directory successfully ok 13 - Directory now exists ok 14 - 1..14 ok t/goto_is_available.t ............... # Seeded srand with seed '20241122' from local date. ok 1 - goto isn't available on 5.006002 ok 2 - goto isn't available on 5.008008 ok 3 - goto was first available on 5.016000 ok 4 - goto was available on 5.018000 ok 5 - goto was available on 5.020000 ok 6 - goto was broken on 5.022001 (7bdb4ff0943cf93297712faf504cdd425426e57f) ok 7 - goto was broken on 5.024000 (7bdb4ff0943cf93297712faf504cdd425426e57f) ok 8 - goto was broken on 5.026000 (7bdb4ff0943cf93297712faf504cdd425426e57f) ok 9 - goto works again for 5.028000 ok 10 - goto works on 5.030000 1..10 ok t/handle-corruption.t ............... # Seeded srand with seed '20241122' from local date. ok 1 - IO::Handle=GLOB->isa('IO::Handle') ok 2 - Succesfully opened file ok 3 - No error (string) ok 4 - No error (code) ok 5 - IO::File=GLOB->isa('IO::File') ok 6 - Successfully closed handle ok 7 - No error (string) ok 8 - No error (code) 1..8 ok t/import.t .......................... # Seeded srand with seed '20241122' from local date. # Happy Imports ok 1 - default mode is STRICT_MODE_DEFAULT { ok 1 - Exit Value Check 1..1 } ok 2 - import enable STRICT_MODE_ENABLED { ok 1 - Exit Value Check 1..1 } ok 3 - use Test::MockFile qw< strict > { ok 1 - Exit Value Check 1..1 } ok 4 - use Test::MockFile qw< nostrict > { ok 1 - Exit Value Check 1..1 } ok 5 - multiple - use Test::MockFile qw< strict > { ok 1 - Exit Value Check 1..1 } # Failed Imports ok 6 - use Test::MockFile qw< strict > + qw< nostrict > { ok 1 - Exit Value Check 1..1 } ok 7 - use Test::MockFile + qw< nostrict > { ok 1 - Exit Value Check 1..1 } 1..7 ok t/manifest.t ........................ skipped: Test::CheckManifest is broken - https://github.com/reneeb/Test-CheckManifest/issues/20 t/mkdir.t ........................... # Seeded srand with seed '20241122' from local date. ok 1 - basic mkdir { ok 1 - REAL mkdir when dir is missing. ok 2 - - $! is unset. ok 3 - REAL rmdir when dir is there ok 4 - MOCK mkdir when dir is missing. ok 5 - - $! is unset. ok 6 - Perms are 0755 ok 7 - -d ok 8 - - $! is unset. ok 9 - MOCK rmdir when dir is there ok 10 - - $! is unset. ok 11 - Directory is not there with -d ok 12 - Directory is not there with -e 1..12 } ok 2 - undef dir name { ok 1 - REAL mkdir when undef is passed as the file name. ok 2 - - $! is ENOENT. ok 3 - - Returns 0 ok 4 - MOCK mkdir when undef is passed as the file name. ok 5 - - $! is ENOENT. ok 6 - - Returns 0 1..6 } ok 3 - REAL mkdir { ok 1 - put the real tempdir back ok 2 - A real mkdir through the shim ok 3 - - $! is unset. ok 4 - A real mkdir through the shim when it exists already ok 5 - - $! is EEXIST. 1..5 } ok 4 - mkdir when file exists { ok 1 - A real mkdir when the dir is already a file. ok 2 - - $! is EEXIST. ok 3 - A mock mkdir when the dir is already a file. ok 4 - - $! is EEXIST. ok 5 - A mock mkdir when the path is a mocked file but not on disk becomes a directory mock. ok 6 - $mock is now a directory 1..6 } ok 5 - mkdir when symlink exists { ok 1 - A real mkdir when the dir is already a symlink. ok 2 - - $! is EEXIST. ok 3 - A mock mkdir when the dir is already a symlink. ok 4 - - $! is EEXIST. ok 5 - A mock mkdir when the path is a mocked symlink but not on disk turns the mock object into a dir. ok 6 - $mock is now a directory 1..6 } ok 6 - mkdir with file perms { ok 1 - A real mkdir with 0770 perms. ok 2 - - $! is unset. ok 3 - permissions are the real file's permissions ok 4 - A mock mkdir with 0700 perms. ok 5 - - $! is unset. ok 6 - Permissions are the mock permissions of 0700 ok 7 - Remove the fake dir ok 8 - A mock mkdir with 0700 perms. ok 9 - - $! is unset. ok 10 - Permissions get umask applied. 1..10 } 1..6 ok t/mock_stat.t ....................... # Seeded srand with seed '20241122' from local date. # _abs_path_to_file ok 1 - no / prefix makes prepends path on it ok 2 - undef is undef ok 3 - _abs_path_to_file( '/lib' ) = '/lib' ok 4 - _abs_path_to_file( '/lib/' ) = '/lib' ok 5 - _abs_path_to_file( '/abc/.' ) = '/abc' ok 6 - _abs_path_to_file( '/abc/./' ) = '/abc' ok 7 - _abs_path_to_file( '/abc/./././.' ) = '/abc' ok 8 - _abs_path_to_file( '/from/here/or-not/..' ) = '/from/here' ok 9 - _abs_path_to_file( '/../../..' ) = '/' ok 10 - _abs_path_to_file( '/one/two/three/four/../../..' ) = '/one' ok 11 - _abs_path_to_file( '/a.b.c.d' ) = '/a.b.c.d' # _fh_to_file ok 12 - _fh_to_file() ok 13 - _fh_to_file(0) ok 14 - _fh_to_file('') ok 15 - _fh_to_file(' ') ok 16 - _fh_to_file('/etc/passwd') ok 17 - _fh_to_file($fh) ok 18 - _fh_to_file($fh2) ok 19 - _fh_to_file($fh) when closed. # _find_file_or_fh ok 20 - _find_file_or_fh('/abc') ok 21 - _find_file_or_fh('/abc', 1) - follow ok 22 - _find_file_or_fh('/broken_link', 1) is undef when /broken_link is mocked. ok 23 - _find_file_or_fh('/aaaa', 1) - with circular links ok 24 - $! is ELOOP # _mock_stat ok 25 - An unmocked file will return FALLBACK_TO_REAL_OP() to tell XS to handle it ok 26 - no args fails cause we should have gotten a stat type. ok 27 - An unknown stat type fails cause this should never happen. ok 28 - empty string passes to XS ok 29 - A space string passes to XS ok 30 - /foo/bar mock stat ok 31 - /aaa mock stat when looped. ok 32 - Throws an ELOOP error ok 33 - /foo/baz mock stat when missing. ok 34 - lstat on /broken_link returns the stat on the symlink itself. ok 35 - stat on /broken_link is an empty array since what it points to doesn't exist. ok 36 - mocked file is executable ok 37 - default uid is current UID # GID 1111 ok 38 - default fid is current GID ok 39 - Directory /quux exists ok 40 - Directory /quux/ also exists 1..40 ok t/new_dir_interface.t ............... # Seeded srand with seed '20241122' from local date. ok 1 - ->dir() checks when going through ->new_dir() { ok 1 - Cannot do TMF->dir( "/etc", { 1 => 2 } ) ok 2 - Cannot do TMF->dir( "/etc", [@content], { 1 => 2 } ) ok 3 - Cannot do TMF->dir( "/etc", [@content] ) 1..3 } ok 2 - Scenario 1: ->new_dir() can create dir { ok 1 - Directory /foo1 exists ok 2 - Correct contents of directory through ->contents() ok 3 - opendir() /foo1 successful ok 4 - readdir() on /foo1 successful ok 5 - Correct directory content through Perl core keywords ok 6 - closedir() on /foo1 successful 1..6 } ok 3 - Scenario 2: ->new_dir() with mode sets the mode { ok 1 - /foo2 exists ok 2 - /foo2 exists ok 3 - We picked perms (0300) that are not the default (0777) ok 4 - Mode was set correctly ok 5 - Correct contents to /foo2 ok 6 - opendir() /foo2 successful ok 7 - readdir() on /foo2 successful ok 8 - Correct directory content through Perl core keywords ok 9 - closedir() on /foo2 successful 1..9 } ok 4 - Scenario 3: ->new_dir() after mkdir() has an error { ok 1 - /foo3 exists ok 2 - mkdir /foo3 fails, since dir already exists ok 3 - $! is set to an error: 17 (File exists) ok 4 - Correct contents to /foo3 ok 5 - opendir() /foo3 successful ok 6 - readdir() on /foo3 successful ok 7 - Correct directory content through Perl core keywords ok 8 - closedir() on /foo3 successful 1..8 } 1..4 ok t/open-noclose.t .................... # Seeded srand with seed '20241122' from local date. ok 1 - missing file argument ok 2 - missing file # empty file ok 3 - empty file ok 4 - file is not empty ok 5 ok 6 - /tmp/somewhere file should not be empty (on second read) 1..6 ok t/open.t ............................ # -------------- REAL MODE -------------- ok 1 - Open a real file bypassing PERLIO ok 2 - ... line 1 ok 3 - ... line 2 ok 4 - ... EOF # -------------- MOCK MODE -------------- ok 5 - Open a mocked file bypassing PERLIO ok 6 - ... line 1 ok 7 - ... line 2 ok 8 - ... EOF ok 9 - Real file is there ok 10 - Real file is not there # Following symlinks for open ok 11 - Open a mocked file via its symlink ok 12 - ... line 1 ok 13 - ... line 2 ok 14 - ... EOF ok 15 - Open a mocked file via its symlink when the file is missing fails. ok 16 - $! is ENOENT # Subtest: open modes ok 1 - Two-arg > open works ok 2 - No error ok 3 - Successfully closed open handle ok 4 - No error ok 5 - Two-arg >> open works ok 6 - No error ok 7 - Successfully closed open handle ok 8 - No error ok 9 - Two-arg < open works ok 10 - arg not changed ok 11 - No error ok 12 - Successfully closed open handle ok 13 - No error ok 14 - Two-arg open works ok 15 - arg not changed ok 16 - No error ok 17 - Successfully closed open handle ok 18 - No error ok 19 - Two-arg +< open fails ok 20 - No error ok 21 - Three-arg +< open fails ok 22 - No error ok 23 - Two-arg +> open fails ok 24 - No error ok 25 - Three-arg +> open fails ok 26 - No error ok 27 - Succesful three-arg pipe open write ok 28 - Successfully closed pipe ok 29 - No error ok 30 - Succesful two-arg pipe open write ok 31 - Successfully closed pipe ok 32 - No error ok 33 - Succesful three-arg pipe open read ok 34 - Succesfully read from pipe with three-arg ok 35 - Successfully closed pipe ok 36 - Succesful two-arg pipe open read ok 37 - Succesfully read from pipe with two-arg ok 38 - Successfully closed pipe ok 39 - No error 1..39 ok 17 - open modes 1..17 ok t/open_strict.t ..................... # Seeded srand with seed '20241122' from local date. ok 1 - open() to read a filehandle fails ok 2 - open() to dup a file descriptor works ok 3 - open() to re-perlify a file descriptor works 1..3 ok t/opendir.t ......................... # Seeded srand with seed '20241122' from local date. # -------------- REAL MODE -------------- ok 1 - Temp is created on disk. ok 2 - /tmp/5IM5AIDu3t can be read ok 3 - We read 3 entries in some order. Not predictable, but sort fixes that! ok 4 - undef when nothing left from readdir. ok 5 - close the fake dir handle ok 6 - warn on readdir when file handle is closed. ok 7 - opendir on a bad path returns false ok 8 - $! numeric is right. ok 9 - opendir on a file returns false ok 10 - $! numeric is right. ok 11 - We only warn if the file handle or glob is invalid. # -------------- MOCK MODE -------------- ok 12 - Mocked temp dir opens and returns true ok 13 - Read . from fake readdir ok 14 - Read .. from fake readdir ok 15 - tell dir in the middle of fake readdir is right. ok 16 - Read abc from fake readdir ok 17 - Read def from fake readdir ok 18 - tell dir at the end of fake readdir is right. ok 19 - Read from fake readdir but no more in the list. ok 20 - Read from fake readdir but no more in the list. ok 21 - Read from fake readdir but no more in the list. ok 22 - Read from fake readdir but no more in the list. ok 23 - rewinddir returns true. ok 24 - telldir afer rewinddir is right. ok 25 - Read the whole dir from fake readdir after rewinddir ok 26 - tell dir at the end of fake readdir is right. ok 27 - seekdir returns where it sought. ok 28 - Read the whole dir from fake readdir after seekdir ok 29 - opendir on a mocked file returns false ok 30 - $! numeric is right. ok 31 - Symlink and directories appears in directory content ok 32 - Did not get confused by internal files 1..32 ok t/path.t ............................ # Seeded srand with seed '20241122' from local date. ok 1 - /some/nonexistant/path is set when the file isn't there. ok 2 - /some/nonexistant/path is set when the file is there. 1..2 ok t/plugin-filetemp.t ................. # Seeded srand with seed '20241122' from local date. ok 1 - File::Temp is not loaded before Test::MockFile ok 2 - File::Temp is loaded ok 3 - we can open a tempfile ok 4 - Can open directory from tempdir ok 5 - we can open a tempfile under a tempdir ok 6 - print to a tempfile - scalar context ok 7 - opendir - newdir ok 8 - open a file created under newdir ok 9 - tempfile in scalar context 1..9 ok t/plugin.t .......................... # Seeded srand with seed '20241122' from local date. ok 1 - Cannot find a Test::MockFile plugin for Unknown { ok 1 - Exit Value Check ok 2 - Cannot find a Test::MockFile plugin for Unknown 1..2 } ok 2 - create Test/MockFile/Plugin dir for testing ok 3 - Loading a plugin from default namespace { ok 1 - Exit Value Check ok 2 - load and register plugin 1..2 } ok 4 - use Test::MockFile ( plugin => [ 'MyPlugin' ] ) { ok 1 - Exit Value Check ok 2 - load and register plugin 1..2 } # Testing a custom namespace ok 5 - create Test/MockFile/Plugin dir for testing ok 6 - Loading a plugin from default namespace { ok 1 - Exit Value Check ok 2 - load and register plugin from a custom namespace 1..2 } 1..6 ok t/pod-coverage.t .................... skipped: Author tests not required for installation t/pod.t ............................. skipped: Author tests not required for installation t/readline.t ........................ # Seeded srand with seed '20241122' from local date. # -------------- REAL MODE -------------- ok 1 - Temp file is on disk and right size ok 2 - Open a real file written by File::Temp ok 3 - $fh2 stringifies to a GLOB ok 4 - ... line 1 ok 5 - ... line 2 ok 6 - Fails to write to a read handle in mock mode. ok 7 - $! when the file is written to and it's a read file handle. ok 8 - Warns about writing to a read file handle # -------------- MOCK MODE -------------- ok 9 - Mocked temp file opens and returns true ok 10 - $fh is a IO::File ok 11 - $fh stringifies to a IO::File GLOB ok 12 - 1st read on $fh is "abc\n" ok 13 - 2nd read on $fh is "def\n" ok 14 - 3rd read on $fh via readline is "ghi\n" ok 15 - 4th read on $fh undef at EOF ok 16 - 5th read on $fh undef at EOF ok 17 - 6th read on $fh undef at EOF ok 18 - $foo->contents ok 19 - 7th read on $fh is "mno\n" ok 20 - 7th read on $fh is "pqr" ok 21 - 8th read on $fh undef at EOF ok 22 - 9th read on $fh undef at EOF ok 23 - Fails to write to a read handle in mock mode. ok 24 - $! when the file is written to and it's a read file handle. ok 25 - Warns about writing to a read file handle ok 26 - file handle clears from files_being_mocked hash when it goes out of scope. ok 27 - files_being_mocked empties when $bar is cleared # -------------- REAL MODE -------------- ok 28 - Once the mock file object is cleared, the next open reverts to the file on disk. ok 29 - $fh2 stringifies to a GLOB ok 30 - ... line 1 ok 31 - ... line 1 ok 32 - Can't open a missing file "/tmp/n4L92Qw9Dg" ok 33 - What $! looks like when failing to open the missing file. # -------------- MOCK MODE -------------- ok 34 - Can't open a missing file "/tmp/n4L92Qw9Dg" ok 35 - What $! looks like when failing to open the missing file. # --------------------------------------- ok 36 - REAL multiline do slurp works ok 37 - MOCK multiline do slurp works # readline array. ok 38 - readline reads in an array of stuff. 1..38 ok t/readlink.t ........................ # Seeded srand with seed '20241122' from local date. # -------------- REAL MODE -------------- ok 1 - readlink on missing file ok 2 - $! is ENOENT for a missing file readlink. ok 3 - readlink on a working symlink works. ok 4 - $! is 0 for a missing file readlink. ok 5 - readlink on a broken symlink still works. ok 6 - $! is 0 for a missing file readlink. ok 7 - readlink on a file is undef. ok 8 - $! is EINVAL for a readlink on a file. ok 9 - readlink on a dir is undef. ok 10 - $! is EINVAL for a readlink on a dir. ok 11 - Got expected warning for passing no value to readlink ok 12 - readlink without args is undef. ok 13 - $! is ENOENT for a readlink(undef) ok 14 - Got expected warning for passing no value to readlink ok 15 - readlink without args is undef. ok 16 - $! is ENOENT for a readlink(undef) # Cleaning up... # -------------- MOCK MODE -------------- ok 17 - readlink on missing file ok 18 - $! is ENOENT for a missing file readlink. ok 19 - readlink on a working symlink works. ok 20 - $! is 0 for a missing file readlink. ok 21 - readlink on a broken symlink still works. ok 22 - $! is 0 for a missing file readlink. ok 23 - readlink on a file is undef. ok 24 - $! is EINVAL for a readlink on a file. ok 25 - readlink on a dir is undef. ok 26 - $! is EINVAL for a readlink on a dir. ok 27 - Got expected warning for passing no value to readlink ok 28 - readlink without args is undef. ok 29 - $! is ENOENT for a readlink(undef) not ok 30 - Got expected warning for passing no value to readlink # TODO Something's wrong with readlink's prototype and the warning is incorrect no matter what we do in the code. # Failed test (with amnesty) 'Got expected warning for passing no value to readlink' # at t/readlink.t line 119. # +---------------------------------+----+---------------------------------+ # | GOT | OP | CHECK | # +---------------------------------+----+---------------------------------+ # | Use of uninitialized value in r | =~ | (?^:^Use of uninitialized value | # | eadlink at t/readlink.t line 11 | | \$_ in readlink at ) | # | 9.\n | | | # +---------------------------------+----+---------------------------------+ ok 31 - readlink without args is undef. ok 32 - $! is ENOENT for a readlink(undef) 1..32 ok t/rmdir.t ........................... # Seeded srand with seed '20241122' from local date. ok 1 - basic rmdir { ok 1 - REAL mkdir when dir is missing. ok 2 - - $! is unset. ok 3 - REAL rmdir when dir is there ok 4 - MOCK mkdir when dir is missing. ok 5 - - $! is unset. ok 6 - Perms are 0755 ok 7 - -d ok 8 - - $! is unset. ok 9 - MOCK rmdir when dir is there ok 10 - - $! is unset. ok 11 - Directory is not there with -d ok 12 - Directory is not there with -e 1..12 } ok 2 - undef rmdir { ok 1 - REAL mkdir when nothing is passed as the directory. ok 2 - - returns 0 ok 3 - REAL mkdir when undef is passed as the directory. ok 4 - - returns 0 ok 5 - REAL mkdir when undef is passed as the directory. ok 6 - - returns 0 1..6 } ok 3 - rmdir existing file { ok 1 - real rmdir on existing file. ok 2 - - $! is ENOTDIR. ok 3 - mock rmdir on existing file. ok 4 - - $! is ENOTDIR. 1..4 } ok 4 - rmdir existing symlink { ok 1 - real rmdir on existing file. ok 2 - - $! is ENOTDIR. ok 3 - mock rmdir on existing file. ok 4 - - $! is ENOTDIR. 1..4 } ok 5 - rmdir when nothing is there. { ok 1 - real rmdir on existing file. ok 2 - - $! is ENOENT. ok 3 - mock rmdir on existing file. ok 4 - - $! is ENOENT. 1..4 } ok 6 - rmdir non-empty directory fails { ok 1 - File exists ok 2 - Directory exists ok 3 - No errors yet ok 4 - rmdir failed because directory has files ok 5 - $! is set to correct perror (39) 1..5 } 1..6 ok t/runtime-bareword-filehandles.t .... # Seeded srand with seed '20241122' from local date. ok 1 - Successfully handled bareword filehandles during runtime ok 2 - No observed error 1..2 ok t/stat-x.t .......................... # Seeded srand with seed '20241122' from local date. ok 1 - -x after unlink { ok 1 - File should exist ok 2 - File should be executable ok 3 - File should not exist ok 4 - File should not be executable 1..4 } ok 2 - -x with multiple files { ok 1 - First filename should not be executable ok 2 - Second filename should not be executable ok 3 - First filename should now exist ok 4 - First filename should now be executable ok 5 - Second filename should still not exist ok 6 - Second filename should still not be executable 1..6 } ok 3 - rmdir works for mocked directories { ok 1 - Created directory successfully ok 2 - Directory now exists ok 3 - No errors yet ok 4 - Successfully rmdir directory ok 5 - Still no errors ok 6 - Directory no longer exists 1..6 } 1..3 ok t/strict-rules.t .................... # Seeded srand with seed '20241122' from local date. ok 1 - Cannot open an unmocked file in strict mode # add_strict_rule_for_filename ok 2 - can open a file with a custom rule ok 3 - cannot open a file under the directory ok 4 - open /cherry with multiple rules ok 5 - open /another with multiple rules ok 6 - clear_strict_rules removes all previous rules ok 7 - can open a file with a custom rule - regexp ok 8 - can open a file with a custom rule - regexp ok 9 - add_strict_rule_for_filename multiple rules ok 10 - add_strict_rule_for_filename multiple rules # add_strict_rule_for_command ok 11 - opendir fails without add_strict_rule_for_command ok 12 - add_strict_rule_for_command ok 13 - add_strict_rule_for_command - regexp ok 14 - add_strict_rule_for_command - list # add_strict_rule_generic ok 15 - no rules setup ok 16 - add_strict_rule_generic ok 17 - context set for open ok 18 - add_strict_rule_generic ok 19 - context uses normalized path ok 20 - add_strict_rule_generic - no exception ok 21 - add_strict_rule_generic - exception 1..21 ok t/strict-rules_file-temp-example.t .. # Seeded srand with seed '20241122' from local date. ok 1 - Cannot open an unmocked file in strict mode ok 2 - Cannot open directory from tempdir ok 3 - _setup_strict_rules_for_file_temp ok 4 - we can open a tempfile ok 5 - Can open directory from tempdir 1..5 ok t/strict-rules_scalar.t ............. # Seeded srand with seed '20241122' from local date. ok 1 - -e "/no/mocked" ok 2 - -l "/no/mocked" # add_strict_rule_for_command for stat / lstat ok 3 - command not supported ok 4 - -e "/no/mocked" ok 5 - -l "/no/mocked" ok 6 - -l "/this/path" mocked ok 7 - -l "/another/mocked" ok 8 - -e "/no/mocked" ok 9 - -l "/no/mocked" ok 10 - -l "/this/path" mocked ok 11 - -l "/another/path" mocked 1..11 ok t/symlink.t ......................... # Seeded srand with seed '20241122' from local date. ok 1 - Directory does not exist yet ok 2 - Directory now exists ok 3 - Directory with symlink content are correct ok 4 - Directory no longer has symlink 1..4 ok t/sysopen.t ......................... # Seeded srand with seed '20241122' from local date. # -------------- REAL MODE -------------- ok 1 - Sysopen for write ok 2 - 2 arg syswrite ok 3 - 3 arg syswrite ok 4 - 4 arg syswrite ok 5 - sysclose $fh ok 6 - file contents match what was written # -------------- MOCK MODE -------------- ok 7 - Sysopen for write ok 8 - 2 arg syswrite ok 9 - 3 arg syswrite ok 10 - 4 arg syswrite ok 11 - sysclose $fh ok 12 - Fake file contents match what was written ok 13 - mocked /tmp/7rJwb0gqgX is not present after mock file goes offline ok 14 - No mock files are in cache # -------------- REAL MODE -------------- ok 15 - Sysopen for read ok 16 - Read 2 into buf at EOL ok 17 - Confirm 2 line read ok 18 - Read into buf at pos 0 truncates the buffer. ok 19 - Confirm 2 line read ok 20 - Read 0 into buf at pos 0 truncates the buffer completely. ok 21 - Buffer is clear ok 22 - Read 2 into buf at pos 5 truncates after the buffer. ok 23 - Line is as expected. ok 24 - Read 3 into buf after EOL for the buffer fills in zeroes. ok 25 - Buffer has null bytes in the middle of it. ok 26 - Seek to near EOF ok 27 - Read 2 into buf since we're at EOF ok 28 - Buffer is clear ok 29 - 0 ok 30 - sysseek to start of file returns '0 but true' to make it so. ok 31 - sysseek to start of file returns true when checked with ok() # -------------- MOCK MODE -------------- ok 32 - Sysopen for read ok 33 - $fh stringifies to a IO::File GLOB ok 34 - Read 2 into buf at EOL ok 35 - Confirm 2 line read ok 36 - Read into buf at pos 0 truncates the buffer. ok 37 - Confirm 2 line read ok 38 - Read 0 into buf at pos 0 truncates the buffer completely. ok 39 - Buffer is clear ok 40 - Read 2 into buf at pos 5 truncates after the buffer. ok 41 - Line is as expected. ok 42 - Read 3 into buf after EOL for the buffer fills in zeroes. ok 43 - Buffer has null bytes in the middle of it. ok 44 - Seek to near EOF ok 45 - Read 2 into buf since we're at EOF ok 46 - Buffer is clear ok 47 - 0 ok 48 - sysseek to start of file returns '0 but true' to make it so. ok 49 - sysseek to start of file returns true when checked with ok() # -------------- REAL MODE -------------- ok 50 - Sysopen for read ok 51 - Read 2 into buf when buf is undef. ok 52 - Confirm 2 char is read # -------------- MOCK MODE -------------- ok 53 - Sysopen for read ok 54 - Read 2 into buf when buf is undef. ok 55 - Confirm 2 char is read ok 56 - No mock files are in cache 1..56 ok t/sysopen_strict.t .................. # Seeded srand with seed '20241122' from local date. ok 1 - sysopen() to read a filehandle fails 1..1 ok t/Test-MockFile_file.t .............. # Seeded srand with seed '20241122' from local date. ok 1 - Todo 1..1 ok t/touch.t ........................... # Seeded srand with seed '20241122' from local date. # -------------- REAL MODE -------------- ok 1 - /tmp/7rJwb0gqgX is there ok 2 - unlink on a dir fails ok 3 - unlink /dir is non-zero (21) # -------------- MOCK MODE -------------- ok 4 - Directory does not exist yet ok 5 - Successfully created /dir ok 6 - Directory now exists ok 7 - unlink /link works. ok 8 - /link is now gone ok 9 - unlink /dir doesn't work. ok 10 - ... and throws a $! ok 11 - touch /dir doesn't work. ok 12 - touch /link doesn't work. ok 13 - Set mtime to 1970 ok 14 - Set ctime to 1970 ok 15 - Set atime to 1970 ok 16 - Touch a missing file. ok 17 - mtime is set. ok 18 - ctime is set. ok 19 - atime is set. ok 20 - /file exists with -e ok 21 - /file is removed via unlink method ok 22 - /file is missing via contents check ok 23 - /file is missing via size method ok 24 - /file is removed via -e check ok 25 - Set file to have stuff in it. ok 26 - Touch an existing file. ok 27 - mtime is set to 1234. ok 28 - ctime is set to 1234. ok 29 - atime is set to 1234. 1..29 ok t/unlink.t .......................... # Seeded srand with seed '20241122' from local date. ok 1 - unlink on a missing file { ok 1 - REAL CORE::unlink returns 0 files deleted. ok 2 - $! is set to ENOENT ok 3 - MOCKED unlink returns 0 files deleted. ok 4 - $! is set to ENOENT 1..4 } ok 2 - unlink on an existing directory { ok 1 - REAL CORE::unlink returns 0 files deleted. ok 2 - Directory does not exist yet ok 3 - Created directory successfully ok 4 - Directory now exists ok 5 - MOCKED unlink returns 0 files deleted. ok 6 - $! is set to EISDIR 1..6 } ok 3 - unlink on an existing file { ok 1 - REAL CORE::unlink returns 1 files deleted. ok 2 - $! remains 0 ok 3 - MOCKED unlink returns 1 files deleted. ok 4 - $! remains 0 1..4 } ok 4 - unlink on an unmocked file { ok 1 - MOCKED unlink returns 1 files deleted. ok 2 - $! remains 0 ok 3 - CORE::open fails since the file is removed from disk ok 4 - $! becomes ENOENT 1..4 } 1..4 ok t/writeline.t ....................... # Seeded srand with seed '20241122' from local date. # -------------- REAL MODE -------------- ok 1 - tempfile originally writes out 16 bytes ok 2 - Open file for overwrite ok 3 - $real_fh stringifies to a GLOB ok 4 - Close $real_fh ok 5 - $! hasn't been cleared ok 6 - Temp file is on disk and right size assuming a re-write happened. # -------------- MOCK MODE -------------- ok 7 - Mocked temp file opens for write and returns true ok 8 - $fh is a IO::File ok 9 - $fh stringifies to a IO::File GLOB ok 10 - overwrite the contents ok 11 - $foo->contents reflects an overwrite ok 12 - Close $fh ok 13 - $! hasn't been cleared ok 14 - Re-open $fh for append ok 15 - Append line ok 16 - Append line with a printf ok 17 - $foo->contents reflects an append ok 18 - Printing undef returns 0 and is not a warning. ok 19 - Close $fh ok 20 - $! hasn't been cleared # -------------- REAL MODE -------------- ok 21 - Temp file on disk is unaltered once $bar is clear. 1..21 ok All tests successful. Files=42, Tests=444, 11 wallclock secs ( 0.21 usr 0.09 sys + 9.72 cusr 2.76 csys = 12.78 CPU) Result: PASS make[1]: Leaving directory '/build/reproducible-path/libtest-mockfile-perl-0.036' create-stamp debian/debhelper-build-stamp dh_prep dh_auto_install --destdir=debian/libtest-mockfile-perl/ make -j20 install DESTDIR=/build/reproducible-path/libtest-mockfile-perl-0.036/debian/libtest-mockfile-perl AM_UPDATE_INFO_DIR=no PREFIX=/usr make[1]: Entering directory '/build/reproducible-path/libtest-mockfile-perl-0.036' Manifying 6 pod documents Installing /build/reproducible-path/libtest-mockfile-perl-0.036/debian/libtest-mockfile-perl/usr/share/perl5/Test/MockFile.pm Installing /build/reproducible-path/libtest-mockfile-perl-0.036/debian/libtest-mockfile-perl/usr/share/perl5/Test/MockFile/Plugins.pm Installing /build/reproducible-path/libtest-mockfile-perl-0.036/debian/libtest-mockfile-perl/usr/share/perl5/Test/MockFile/DirHandle.pm Installing /build/reproducible-path/libtest-mockfile-perl-0.036/debian/libtest-mockfile-perl/usr/share/perl5/Test/MockFile/FileHandle.pm Installing /build/reproducible-path/libtest-mockfile-perl-0.036/debian/libtest-mockfile-perl/usr/share/perl5/Test/MockFile/Plugin.pm Installing /build/reproducible-path/libtest-mockfile-perl-0.036/debian/libtest-mockfile-perl/usr/share/perl5/Test/MockFile/Plugin/FileTemp.pm Installing /build/reproducible-path/libtest-mockfile-perl-0.036/debian/libtest-mockfile-perl/usr/share/man/man3/Test::MockFile::Plugin::FileTemp.3pm Installing /build/reproducible-path/libtest-mockfile-perl-0.036/debian/libtest-mockfile-perl/usr/share/man/man3/Test::MockFile::Plugins.3pm Installing /build/reproducible-path/libtest-mockfile-perl-0.036/debian/libtest-mockfile-perl/usr/share/man/man3/Test::MockFile::DirHandle.3pm Installing /build/reproducible-path/libtest-mockfile-perl-0.036/debian/libtest-mockfile-perl/usr/share/man/man3/Test::MockFile::FileHandle.3pm Installing /build/reproducible-path/libtest-mockfile-perl-0.036/debian/libtest-mockfile-perl/usr/share/man/man3/Test::MockFile::Plugin.3pm Installing /build/reproducible-path/libtest-mockfile-perl-0.036/debian/libtest-mockfile-perl/usr/share/man/man3/Test::MockFile.3pm make[1]: Leaving directory '/build/reproducible-path/libtest-mockfile-perl-0.036' dh_installdocs dh_installchangelogs debian/rules override_dh_installexamples make[1]: Entering directory '/build/reproducible-path/libtest-mockfile-perl-0.036' dh_installexamples sed -i '1s|^#!perl|#!/usr/bin/perl|' /build/reproducible-path/libtest-mockfile-perl-0.036/debian/libtest-mockfile-perl/usr/share/doc/libtest-mockfile-perl/examples/* make[1]: Leaving directory '/build/reproducible-path/libtest-mockfile-perl-0.036' dh_installman dh_perl dh_link dh_strip_nondeterminism dh_compress dh_fixperms dh_missing dh_installdeb dh_gencontrol dh_md5sums dh_builddeb dpkg-deb: building package 'libtest-mockfile-perl' in '../libtest-mockfile-perl_0.036-1_all.deb'. dpkg-genbuildinfo --build=binary -O../libtest-mockfile-perl_0.036-1_amd64.buildinfo dpkg-genchanges --build=binary -O../libtest-mockfile-perl_0.036-1_amd64.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: including full 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/1560202 and its subdirectories I: Current time: Fri Nov 22 03:06:17 -12 2024 I: pbuilder-time-stamp: 1732287977 Fri Nov 22 15:06:18 UTC 2024 I: 1st build successful. Starting 2nd build on remote node ionos5-amd64.debian.net. Fri Nov 22 15:06:18 UTC 2024 I: Preparing to do remote build '2' on ionos5-amd64.debian.net. Fri Nov 22 15:06:18 UTC 2024 - checking /var/lib/jenkins/offline_nodes if ionos5-amd64.debian.net is marked as down. Fri Nov 22 15:06:18 UTC 2024 - checking via ssh if ionos5-amd64.debian.net is up. removed '/tmp/read-only-fs-test-Vs9ugG' ==================================================================================== Thu Dec 25 21:29:19 UTC 2025 - running /srv/jenkins/bin/reproducible_build.sh (for job /srv/jenkins/bin/reproducible_build.sh) on ionos5-amd64, called using "2 libtest-mockfile-perl unstable /srv/reproducible-results/rbuild-debian/r-b-build.bqwwQIRH 0.036-1" as arguments. Thu Dec 25 21:29:19 UTC 2025 - actually running "reproducible_build.sh" (md5sum 68e686e434c9ab7bc3ec047d8b309cbc) as "/tmp/jenkins-script-kbAgTVof" $ git clone https://salsa.debian.org/qa/jenkins.debian.net.git ; more CONTRIBUTING Thu Dec 25 21:29:19 UTC 2025 I: Downloading source for unstable/libtest-mockfile-perl=0.036-1 Reading package lists... NOTICE: 'libtest-mockfile-perl' packaging is maintained in the 'Git' version control system at: https://salsa.debian.org/perl-team/modules/packages/libtest-mockfile-perl.git Please use: git clone https://salsa.debian.org/perl-team/modules/packages/libtest-mockfile-perl.git to retrieve the latest (possibly unreleased) updates to the package. Need to get 64.3 kB of source archives. Get:1 http://deb.debian.org/debian unstable/main libtest-mockfile-perl 0.036-1 (dsc) [2718 B] Get:2 http://deb.debian.org/debian unstable/main libtest-mockfile-perl 0.036-1 (tar) [59.4 kB] Get:3 http://deb.debian.org/debian unstable/main libtest-mockfile-perl 0.036-1 (diff) [2092 B] Fetched 64.3 kB in 0s (2125 kB/s) Download complete and in download only mode Reading package lists... NOTICE: 'libtest-mockfile-perl' packaging is maintained in the 'Git' version control system at: https://salsa.debian.org/perl-team/modules/packages/libtest-mockfile-perl.git Please use: git clone https://salsa.debian.org/perl-team/modules/packages/libtest-mockfile-perl.git to retrieve the latest (possibly unreleased) updates to the package. Need to get 64.3 kB of source archives. Get:1 http://deb.debian.org/debian unstable/main libtest-mockfile-perl 0.036-1 (dsc) [2718 B] Get:2 http://deb.debian.org/debian unstable/main libtest-mockfile-perl 0.036-1 (tar) [59.4 kB] Get:3 http://deb.debian.org/debian unstable/main libtest-mockfile-perl 0.036-1 (diff) [2092 B] Fetched 64.3 kB in 0s (2125 kB/s) Download complete and in download only mode ============================================================================= Re-Building libtest-mockfile-perl in unstable on amd64 on ionos5-amd64 now. Date: Thu Dec 25 21:29:20 UTC 2025 Date UTC: Thu Dec 25 21:29:20 UTC 2025 ============================================================================= ++ mktemp -t pbuilderrc_XXXX --tmpdir=/srv/reproducible-results/rbuild-debian/r-b-build.bqwwQIRH + local TMPCFG=/srv/reproducible-results/rbuild-debian/r-b-build.bqwwQIRH/pbuilderrc_clO9 + case ${ARCH} in + case $ARCH in + locale=et_EE + language=et + case "${SUITE}" in + reproducible_buildflags=+all + extra_deb_build_options= + case "${SRCPACKAGE}" in + cat + echo BUILDDIR=/build/reproducible-path + '[' libtest-mockfile-perl = debian-installer -o libtest-mockfile-perl = debian-installer-netboot-images ']' + pbuilder_options=() + local pbuilder_options + DEBBUILDOPTS=-b + BINARYTARGET= + '[' libtest-mockfile-perl = 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.bqwwQIRH/pbuilderrc_clO9 --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.bqwwQIRH/b2 --logfile b2/build.log libtest-mockfile-perl_0.036-1.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: Fri Dec 26 11:29:20 +14 2025 I: pbuilder-time-stamp: 1766698160 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 [libtest-mockfile-perl_0.036-1.dsc] I: copying [./libtest-mockfile-perl_0.036.orig.tar.gz] I: copying [./libtest-mockfile-perl_0.036-1.debian.tar.xz] I: Extracting source gpgv: Signature made Wed Aug 9 01:34:20 2023 gpgv: using RSA key D1E1316E93A760A8104D85FABB3A68018649AA06 gpgv: Can't check signature: No public key dpkg-source: warning: cannot verify inline signature for ./libtest-mockfile-perl_0.036-1.dsc: no acceptable signature found dpkg-source: info: extracting libtest-mockfile-perl in libtest-mockfile-perl-0.036 dpkg-source: info: unpacking libtest-mockfile-perl_0.036.orig.tar.gz dpkg-source: info: unpacking libtest-mockfile-perl_0.036-1.debian.tar.xz I: Not using root during the build. I: Installing the build-deps I: user script /srv/workspace/pbuilder/1774686/tmp/hooks/D01_modify_environment starting debug: Running on ionos5-amd64. 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 Dec 25 21:29 /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/1774686/tmp/hooks/D01_modify_environment finished I: user script /srv/workspace/pbuilder/1774686/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]="32" [3]="1" [4]="release" [5]="x86_64-pc-linux-gnu") BASH_VERSION='5.2.32(1)-release' BUILDDIR=/build/reproducible-path BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other' BUILDUSERNAME=pbuilder2 BUILD_ARCH=amd64 DEBIAN_FRONTEND=noninteractive DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=42 ' DIRSTACK=() DISTRIBUTION=unstable EUID=0 FUNCNAME=([0]="Echo" [1]="main") GROUPS=() HOME=/root HOSTNAME=i-capture-the-hostname HOSTTYPE=x86_64 HOST_ARCH=amd64 IFS=' ' INVOCATION_ID=a806d381f8974345a6910e376d4f608a LANG=C LANGUAGE=et_EE:et LC_ALL=C MACHTYPE=x86_64-pc-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=1774686 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.bqwwQIRH/pbuilderrc_clO9 --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.bqwwQIRH/b2 --logfile b2/build.log libtest-mockfile-perl_0.036-1.dsc' SUDO_GID=110 SUDO_UID=105 SUDO_USER=jenkins TERM=unknown TZ=/usr/share/zoneinfo/Etc/GMT-14 UID=0 USER=root _='I: set' http_proxy=http://213.165.73.152:3128 I: uname -a Linux i-capture-the-hostname 6.11.5+bpo-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.11.5-1~bpo12+1 (2024-11-11) x86_64 GNU/Linux I: ls -l /bin lrwxrwxrwx 1 root root 7 Aug 4 2024 /bin -> usr/bin I: user script /srv/workspace/pbuilder/1774686/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: amd64 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), libfile-slurper-perl, liboverload-filecheck-perl, libtest-mockmodule-perl, libtest-simple-perl, libtest2-harness-perl, libtest2-plugin-nowarnings-perl, libtest2-suite-perl, libtest2-tools-explain-perl, libtext-glob-perl, perl dpkg-deb: building package 'pbuilder-satisfydepends-dummy' in '/tmp/satisfydepends-aptitude/pbuilder-satisfydepends-dummy.deb'. Selecting previously unselected package pbuilder-satisfydepends-dummy. (Reading database ... 19966 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 libfile-slurper-perl; however: Package libfile-slurper-perl is not installed. pbuilder-satisfydepends-dummy depends on liboverload-filecheck-perl; however: Package liboverload-filecheck-perl is not installed. pbuilder-satisfydepends-dummy depends on libtest-mockmodule-perl; however: Package libtest-mockmodule-perl is not installed. pbuilder-satisfydepends-dummy depends on libtest2-harness-perl; however: Package libtest2-harness-perl is not installed. pbuilder-satisfydepends-dummy depends on libtest2-plugin-nowarnings-perl; however: Package libtest2-plugin-nowarnings-perl is not installed. pbuilder-satisfydepends-dummy depends on libtest2-suite-perl; however: Package libtest2-suite-perl is not installed. pbuilder-satisfydepends-dummy depends on libtest2-tools-explain-perl; however: Package libtest2-tools-explain-perl is not installed. pbuilder-satisfydepends-dummy depends on libtext-glob-perl; however: Package libtext-glob-perl 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-strip-nondeterminism{a} dwz{a} file{a} gettext{a} gettext-base{a} groff-base{a} intltool-debian{a} libarchive-zip-perl{a} libdata-uuid-perl{a} libdebhelper-perl{a} libelf1t64{a} libfile-slurper-perl{a} libfile-stripnondeterminism-perl{a} libfilter-perl{a} libgoto-file-perl{a} libicu72{a} libimporter-perl{a} liblong-jump-perl{a} libmagic-mgc{a} libmagic1t64{a} liboverload-filecheck-perl{a} libpipeline1{a} libscope-guard-perl{a} libsub-identify-perl{a} libsuper-perl{a} libtest-mockmodule-perl{a} libtest2-harness-perl{a} libtest2-plugin-memusage-perl{a} libtest2-plugin-nowarnings-perl{a} libtest2-plugin-uuid-perl{a} libtest2-suite-perl{a} libtest2-tools-explain-perl{a} libtext-glob-perl{a} libtool{a} libuchardet0{a} libuuid-perl{a} libxml2{a} libyaml-tiny-perl{a} m4{a} man-db{a} po-debconf{a} sensible-utils{a} The following packages are RECOMMENDED but will NOT be installed: curl libarchive-cpio-perl libltdl-dev libmail-sendmail-perl libmodule-pluggable-perl libperlio-utf8-strict-perl lynx wget 0 packages upgraded, 49 newly installed, 0 to remove and 0 not upgraded. Need to get 21.1 MB of archives. After unpacking 79.3 MB will be used. Writing extended state information... Get: 1 http://deb.debian.org/debian unstable/main amd64 sensible-utils all 0.0.24 [24.8 kB] Get: 2 http://deb.debian.org/debian unstable/main amd64 libmagic-mgc amd64 1:5.45-3+b1 [314 kB] Get: 3 http://deb.debian.org/debian unstable/main amd64 libmagic1t64 amd64 1:5.45-3+b1 [108 kB] Get: 4 http://deb.debian.org/debian unstable/main amd64 file amd64 1:5.45-3+b1 [43.3 kB] Get: 5 http://deb.debian.org/debian unstable/main amd64 gettext-base amd64 0.22.5-2 [200 kB] Get: 6 http://deb.debian.org/debian unstable/main amd64 libuchardet0 amd64 0.0.8-1+b2 [68.9 kB] Get: 7 http://deb.debian.org/debian unstable/main amd64 groff-base amd64 1.23.0-5 [1181 kB] Get: 8 http://deb.debian.org/debian unstable/main amd64 bsdextrautils amd64 2.40.2-11 [91.5 kB] Get: 9 http://deb.debian.org/debian unstable/main amd64 libpipeline1 amd64 1.5.8-1 [42.0 kB] Get: 10 http://deb.debian.org/debian unstable/main amd64 man-db amd64 2.13.0-1 [1420 kB] Get: 11 http://deb.debian.org/debian unstable/main amd64 m4 amd64 1.4.19-4 [287 kB] Get: 12 http://deb.debian.org/debian unstable/main amd64 autoconf all 2.72-3 [493 kB] Get: 13 http://deb.debian.org/debian unstable/main amd64 autotools-dev all 20220109.1 [51.6 kB] Get: 14 http://deb.debian.org/debian unstable/main amd64 automake all 1:1.16.5-1.3 [823 kB] Get: 15 http://deb.debian.org/debian unstable/main amd64 autopoint all 0.22.5-2 [723 kB] Get: 16 http://deb.debian.org/debian unstable/main amd64 libdebhelper-perl all 13.20 [89.7 kB] Get: 17 http://deb.debian.org/debian unstable/main amd64 libtool all 2.4.7-8 [517 kB] Get: 18 http://deb.debian.org/debian unstable/main amd64 dh-autoreconf all 20 [17.1 kB] Get: 19 http://deb.debian.org/debian unstable/main amd64 libarchive-zip-perl all 1.68-1 [104 kB] Get: 20 http://deb.debian.org/debian unstable/main amd64 libfile-stripnondeterminism-perl all 1.14.0-1 [19.5 kB] Get: 21 http://deb.debian.org/debian unstable/main amd64 dh-strip-nondeterminism all 1.14.0-1 [8448 B] Get: 22 http://deb.debian.org/debian unstable/main amd64 libelf1t64 amd64 0.192-4 [189 kB] Get: 23 http://deb.debian.org/debian unstable/main amd64 dwz amd64 0.15-1+b1 [110 kB] Get: 24 http://deb.debian.org/debian unstable/main amd64 libicu72 amd64 72.1-5+b1 [9423 kB] Get: 25 http://deb.debian.org/debian unstable/main amd64 libxml2 amd64 2.12.7+dfsg+really2.9.14-0.2+b1 [699 kB] Get: 26 http://deb.debian.org/debian unstable/main amd64 gettext amd64 0.22.5-2 [1601 kB] Get: 27 http://deb.debian.org/debian unstable/main amd64 intltool-debian all 0.35.0+20060710.6 [22.9 kB] Get: 28 http://deb.debian.org/debian unstable/main amd64 po-debconf all 1.0.21+nmu1 [248 kB] Get: 29 http://deb.debian.org/debian unstable/main amd64 debhelper all 13.20 [915 kB] Get: 30 http://deb.debian.org/debian unstable/main amd64 libdata-uuid-perl amd64 1.227-1+b1 [18.7 kB] Get: 31 http://deb.debian.org/debian unstable/main amd64 libfile-slurper-perl all 0.014-1 [8560 B] Get: 32 http://deb.debian.org/debian unstable/main amd64 libfilter-perl amd64 1.64-2 [64.0 kB] Get: 33 http://deb.debian.org/debian unstable/main amd64 libgoto-file-perl all 0.005-2 [6880 B] Get: 34 http://deb.debian.org/debian unstable/main amd64 libimporter-perl all 0.026-2 [25.0 kB] Get: 35 http://deb.debian.org/debian unstable/main amd64 liblong-jump-perl all 0.000001-2 [6328 B] Get: 36 http://deb.debian.org/debian unstable/main amd64 liboverload-filecheck-perl amd64 0.013-2+b3 [31.4 kB] Get: 37 http://deb.debian.org/debian unstable/main amd64 libscope-guard-perl all 0.21-2 [8212 B] Get: 38 http://deb.debian.org/debian unstable/main amd64 libsub-identify-perl amd64 0.14-3+b3 [11.3 kB] Get: 39 http://deb.debian.org/debian unstable/main amd64 libsuper-perl all 1.20190531-1 [11.5 kB] Get: 40 http://deb.debian.org/debian unstable/main amd64 libtest-mockmodule-perl all 0.178.0-1 [15.0 kB] Get: 41 http://deb.debian.org/debian unstable/main amd64 libtest2-plugin-memusage-perl all 0.002003-2 [5272 B] Get: 42 http://deb.debian.org/debian unstable/main amd64 libuuid-perl amd64 0.36-1+b1 [46.2 kB] Get: 43 http://deb.debian.org/debian unstable/main amd64 libtest2-plugin-uuid-perl all 0.002009-2 [11.3 kB] Get: 44 http://deb.debian.org/debian unstable/main amd64 libtest2-suite-perl all 0.000163-1 [383 kB] Get: 45 http://deb.debian.org/debian unstable/main amd64 libyaml-tiny-perl all 1.74-1 [30.7 kB] Get: 46 http://deb.debian.org/debian unstable/main amd64 libtest2-harness-perl all 1.000155-2 [542 kB] Get: 47 http://deb.debian.org/debian unstable/main amd64 libtest2-plugin-nowarnings-perl all 0.10-1 [15.8 kB] Get: 48 http://deb.debian.org/debian unstable/main amd64 libtest2-tools-explain-perl all 0.02-2 [9684 B] Get: 49 http://deb.debian.org/debian unstable/main amd64 libtext-glob-perl all 0.11-3 [7676 B] Fetched 21.1 MB in 0s (69.5 MB/s) debconf: delaying package configuration, since apt-utils is not installed Selecting previously unselected package sensible-utils. (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 ... 19966 files and directories currently installed.) Preparing to unpack .../00-sensible-utils_0.0.24_all.deb ... Unpacking sensible-utils (0.0.24) ... Selecting previously unselected package libmagic-mgc. Preparing to unpack .../01-libmagic-mgc_1%3a5.45-3+b1_amd64.deb ... Unpacking libmagic-mgc (1:5.45-3+b1) ... Selecting previously unselected package libmagic1t64:amd64. Preparing to unpack .../02-libmagic1t64_1%3a5.45-3+b1_amd64.deb ... Unpacking libmagic1t64:amd64 (1:5.45-3+b1) ... Selecting previously unselected package file. Preparing to unpack .../03-file_1%3a5.45-3+b1_amd64.deb ... Unpacking file (1:5.45-3+b1) ... Selecting previously unselected package gettext-base. Preparing to unpack .../04-gettext-base_0.22.5-2_amd64.deb ... Unpacking gettext-base (0.22.5-2) ... Selecting previously unselected package libuchardet0:amd64. Preparing to unpack .../05-libuchardet0_0.0.8-1+b2_amd64.deb ... Unpacking libuchardet0:amd64 (0.0.8-1+b2) ... Selecting previously unselected package groff-base. Preparing to unpack .../06-groff-base_1.23.0-5_amd64.deb ... Unpacking groff-base (1.23.0-5) ... Selecting previously unselected package bsdextrautils. Preparing to unpack .../07-bsdextrautils_2.40.2-11_amd64.deb ... Unpacking bsdextrautils (2.40.2-11) ... Selecting previously unselected package libpipeline1:amd64. Preparing to unpack .../08-libpipeline1_1.5.8-1_amd64.deb ... Unpacking libpipeline1:amd64 (1.5.8-1) ... Selecting previously unselected package man-db. Preparing to unpack .../09-man-db_2.13.0-1_amd64.deb ... Unpacking man-db (2.13.0-1) ... Selecting previously unselected package m4. Preparing to unpack .../10-m4_1.4.19-4_amd64.deb ... Unpacking m4 (1.4.19-4) ... Selecting previously unselected package autoconf. Preparing to unpack .../11-autoconf_2.72-3_all.deb ... Unpacking autoconf (2.72-3) ... Selecting previously unselected package autotools-dev. Preparing to unpack .../12-autotools-dev_20220109.1_all.deb ... Unpacking autotools-dev (20220109.1) ... Selecting previously unselected package automake. Preparing to unpack .../13-automake_1%3a1.16.5-1.3_all.deb ... Unpacking automake (1:1.16.5-1.3) ... Selecting previously unselected package autopoint. Preparing to unpack .../14-autopoint_0.22.5-2_all.deb ... Unpacking autopoint (0.22.5-2) ... Selecting previously unselected package libdebhelper-perl. Preparing to unpack .../15-libdebhelper-perl_13.20_all.deb ... Unpacking libdebhelper-perl (13.20) ... Selecting previously unselected package libtool. Preparing to unpack .../16-libtool_2.4.7-8_all.deb ... Unpacking libtool (2.4.7-8) ... Selecting previously unselected package dh-autoreconf. Preparing to unpack .../17-dh-autoreconf_20_all.deb ... Unpacking dh-autoreconf (20) ... Selecting previously unselected package libarchive-zip-perl. Preparing to unpack .../18-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 .../19-libfile-stripnondeterminism-perl_1.14.0-1_all.deb ... Unpacking libfile-stripnondeterminism-perl (1.14.0-1) ... Selecting previously unselected package dh-strip-nondeterminism. Preparing to unpack .../20-dh-strip-nondeterminism_1.14.0-1_all.deb ... Unpacking dh-strip-nondeterminism (1.14.0-1) ... Selecting previously unselected package libelf1t64:amd64. Preparing to unpack .../21-libelf1t64_0.192-4_amd64.deb ... Unpacking libelf1t64:amd64 (0.192-4) ... Selecting previously unselected package dwz. Preparing to unpack .../22-dwz_0.15-1+b1_amd64.deb ... Unpacking dwz (0.15-1+b1) ... Selecting previously unselected package libicu72:amd64. Preparing to unpack .../23-libicu72_72.1-5+b1_amd64.deb ... Unpacking libicu72:amd64 (72.1-5+b1) ... Selecting previously unselected package libxml2:amd64. Preparing to unpack .../24-libxml2_2.12.7+dfsg+really2.9.14-0.2+b1_amd64.deb ... Unpacking libxml2:amd64 (2.12.7+dfsg+really2.9.14-0.2+b1) ... Selecting previously unselected package gettext. Preparing to unpack .../25-gettext_0.22.5-2_amd64.deb ... Unpacking gettext (0.22.5-2) ... Selecting previously unselected package intltool-debian. Preparing to unpack .../26-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 .../27-po-debconf_1.0.21+nmu1_all.deb ... Unpacking po-debconf (1.0.21+nmu1) ... Selecting previously unselected package debhelper. Preparing to unpack .../28-debhelper_13.20_all.deb ... Unpacking debhelper (13.20) ... Selecting previously unselected package libdata-uuid-perl. Preparing to unpack .../29-libdata-uuid-perl_1.227-1+b1_amd64.deb ... Unpacking libdata-uuid-perl (1.227-1+b1) ... Selecting previously unselected package libfile-slurper-perl. Preparing to unpack .../30-libfile-slurper-perl_0.014-1_all.deb ... Unpacking libfile-slurper-perl (0.014-1) ... Selecting previously unselected package libfilter-perl. Preparing to unpack .../31-libfilter-perl_1.64-2_amd64.deb ... Unpacking libfilter-perl (1.64-2) ... Selecting previously unselected package libgoto-file-perl. Preparing to unpack .../32-libgoto-file-perl_0.005-2_all.deb ... Unpacking libgoto-file-perl (0.005-2) ... Selecting previously unselected package libimporter-perl. Preparing to unpack .../33-libimporter-perl_0.026-2_all.deb ... Unpacking libimporter-perl (0.026-2) ... Selecting previously unselected package liblong-jump-perl. Preparing to unpack .../34-liblong-jump-perl_0.000001-2_all.deb ... Unpacking liblong-jump-perl (0.000001-2) ... Selecting previously unselected package liboverload-filecheck-perl. Preparing to unpack .../35-liboverload-filecheck-perl_0.013-2+b3_amd64.deb ... Unpacking liboverload-filecheck-perl (0.013-2+b3) ... Selecting previously unselected package libscope-guard-perl. Preparing to unpack .../36-libscope-guard-perl_0.21-2_all.deb ... Unpacking libscope-guard-perl (0.21-2) ... Selecting previously unselected package libsub-identify-perl. Preparing to unpack .../37-libsub-identify-perl_0.14-3+b3_amd64.deb ... Unpacking libsub-identify-perl (0.14-3+b3) ... Selecting previously unselected package libsuper-perl. Preparing to unpack .../38-libsuper-perl_1.20190531-1_all.deb ... Unpacking libsuper-perl (1.20190531-1) ... Selecting previously unselected package libtest-mockmodule-perl. Preparing to unpack .../39-libtest-mockmodule-perl_0.178.0-1_all.deb ... Unpacking libtest-mockmodule-perl (0.178.0-1) ... Selecting previously unselected package libtest2-plugin-memusage-perl. Preparing to unpack .../40-libtest2-plugin-memusage-perl_0.002003-2_all.deb ... Unpacking libtest2-plugin-memusage-perl (0.002003-2) ... Selecting previously unselected package libuuid-perl. Preparing to unpack .../41-libuuid-perl_0.36-1+b1_amd64.deb ... Unpacking libuuid-perl (0.36-1+b1) ... Selecting previously unselected package libtest2-plugin-uuid-perl. Preparing to unpack .../42-libtest2-plugin-uuid-perl_0.002009-2_all.deb ... Unpacking libtest2-plugin-uuid-perl (0.002009-2) ... Selecting previously unselected package libtest2-suite-perl. Preparing to unpack .../43-libtest2-suite-perl_0.000163-1_all.deb ... Unpacking libtest2-suite-perl (0.000163-1) ... Selecting previously unselected package libyaml-tiny-perl. Preparing to unpack .../44-libyaml-tiny-perl_1.74-1_all.deb ... Unpacking libyaml-tiny-perl (1.74-1) ... Selecting previously unselected package libtest2-harness-perl. Preparing to unpack .../45-libtest2-harness-perl_1.000155-2_all.deb ... Unpacking libtest2-harness-perl (1.000155-2) ... Selecting previously unselected package libtest2-plugin-nowarnings-perl. Preparing to unpack .../46-libtest2-plugin-nowarnings-perl_0.10-1_all.deb ... Unpacking libtest2-plugin-nowarnings-perl (0.10-1) ... Selecting previously unselected package libtest2-tools-explain-perl. Preparing to unpack .../47-libtest2-tools-explain-perl_0.02-2_all.deb ... Unpacking libtest2-tools-explain-perl (0.02-2) ... Selecting previously unselected package libtext-glob-perl. Preparing to unpack .../48-libtext-glob-perl_0.11-3_all.deb ... Unpacking libtext-glob-perl (0.11-3) ... Setting up libpipeline1:amd64 (1.5.8-1) ... Setting up libfile-slurper-perl (0.014-1) ... Setting up libicu72:amd64 (72.1-5+b1) ... Setting up libuuid-perl (0.36-1+b1) ... Setting up bsdextrautils (2.40.2-11) ... Setting up libtext-glob-perl (0.11-3) ... Setting up libmagic-mgc (1:5.45-3+b1) ... Setting up libtest2-plugin-nowarnings-perl (0.10-1) ... Setting up libarchive-zip-perl (1.68-1) ... Setting up libsub-identify-perl (0.14-3+b3) ... Setting up libdebhelper-perl (13.20) ... Setting up libmagic1t64:amd64 (1:5.45-3+b1) ... Setting up gettext-base (0.22.5-2) ... Setting up m4 (1.4.19-4) ... Setting up file (1:5.45-3+b1) ... Setting up libyaml-tiny-perl (1.74-1) ... Setting up libelf1t64:amd64 (0.192-4) ... Setting up libtest2-suite-perl (0.000163-1) ... Setting up libscope-guard-perl (0.21-2) ... Setting up autotools-dev (20220109.1) ... Setting up libdata-uuid-perl (1.227-1+b1) ... Setting up libimporter-perl (0.026-2) ... Setting up autopoint (0.22.5-2) ... Setting up autoconf (2.72-3) ... Setting up dwz (0.15-1+b1) ... Setting up sensible-utils (0.0.24) ... Setting up libuchardet0:amd64 (0.0.8-1+b2) ... Setting up libfilter-perl (1.64-2) ... Setting up libtest2-plugin-memusage-perl (0.002003-2) ... Setting up libxml2:amd64 (2.12.7+dfsg+really2.9.14-0.2+b1) ... Setting up liboverload-filecheck-perl (0.013-2+b3) ... Setting up automake (1:1.16.5-1.3) ... update-alternatives: using /usr/bin/automake-1.16 to provide /usr/bin/automake (automake) in auto mode Setting up libfile-stripnondeterminism-perl (1.14.0-1) ... Setting up libtest2-plugin-uuid-perl (0.002009-2) ... Setting up liblong-jump-perl (0.000001-2) ... Setting up libsuper-perl (1.20190531-1) ... Setting up gettext (0.22.5-2) ... Setting up libtest-mockmodule-perl (0.178.0-1) ... Setting up libgoto-file-perl (0.005-2) ... Setting up libtool (2.4.7-8) ... Setting up libtest2-tools-explain-perl (0.02-2) ... Setting up intltool-debian (0.35.0+20060710.6) ... Setting up dh-autoreconf (20) ... Setting up dh-strip-nondeterminism (1.14.0-1) ... Setting up groff-base (1.23.0-5) ... Setting up libtest2-harness-perl (1.000155-2) ... Setting up po-debconf (1.0.21+nmu1) ... Setting up man-db (2.13.0-1) ... Not building database; man-db/auto-update is not 'true'. Setting up debhelper (13.20) ... Processing triggers for libc-bin (2.40-3) ... 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/1774686/tmp/hooks/A99_set_merged_usr starting Not re-configuring usrmerge for unstable I: user script /srv/workspace/pbuilder/1774686/tmp/hooks/A99_set_merged_usr finished hostname: Name or service not known I: Running cd /build/reproducible-path/libtest-mockfile-perl-0.036/ && 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 > ../libtest-mockfile-perl_0.036-1_source.changes dpkg-buildpackage: info: source package libtest-mockfile-perl dpkg-buildpackage: info: source version 0.036-1 dpkg-buildpackage: info: source distribution unstable dpkg-buildpackage: info: source changed by gregor herrmann dpkg-source --before-build . dpkg-buildpackage: info: host architecture amd64 debian/rules clean dh clean dh_clean debian/rules binary dh binary dh_update_autotools_config dh_autoreconf dh_auto_configure /usr/bin/perl Makefile.PL INSTALLDIRS=vendor "OPTIMIZE=-g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/libtest-mockfile-perl-0.036=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2" "LD=x86_64-linux-gnu-gcc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/libtest-mockfile-perl-0.036=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wl,-z,relro" Checking if your kit is complete... Looks good Generating a Unix-style Makefile Writing Makefile for Test::MockFile Writing MYMETA.yml and MYMETA.json dh_auto_build make -j42 make[1]: Entering directory '/build/reproducible-path/libtest-mockfile-perl-0.036' cp lib/Test/MockFile/Plugin/FileTemp.pm blib/lib/Test/MockFile/Plugin/FileTemp.pm cp lib/Test/MockFile/Plugin.pm blib/lib/Test/MockFile/Plugin.pm cp lib/Test/MockFile/Plugins.pm blib/lib/Test/MockFile/Plugins.pm cp lib/Test/MockFile/FileHandle.pm blib/lib/Test/MockFile/FileHandle.pm cp lib/Test/MockFile/DirHandle.pm blib/lib/Test/MockFile/DirHandle.pm cp lib/Test/MockFile.pm blib/lib/Test/MockFile.pm Manifying 6 pod documents make[1]: Leaving directory '/build/reproducible-path/libtest-mockfile-perl-0.036' dh_auto_test make -j42 test TEST_VERBOSE=1 make[1]: Entering directory '/build/reproducible-path/libtest-mockfile-perl-0.036' PERL_DL_NONLAZY=1 "/usr/bin/perl" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(1, 'blib/lib', 'blib/arch')" t/*.t # Testing Test::MockFile 0.036 with Overload::FileCheck 0.013 and File::Temp 0.2311 # Perl 5.040000, /usr/bin/perl t/00-load.t ......................... ok 1 - use Test::MockFile; ok 2 - use Overload::FileCheck; ok 3 - use File::Temp; 1..3 ok t/chmod-filetemp.t .................. # Seeded srand with seed '20251225' from local date. ok 1 1..1 ok t/chmod.t ........................... # Seeded srand with seed '20251225' from local date. ok 1 - Defaults { ok 1 - Directory /foo exists ok 2 - File /foo/bar exists ok 3 - Directory /foo is set to 0755 ok 4 - File /foo/bar is set to 0644 (umask: 0022, perms before: 0666, perms after 1: 0644, perms after 2: 100644) 1..4 } ok 2 - Changing mode (real vs. mocked) { ok 1 - Successfully created real directory ok 2 - Successfully chmod'ed real directory ok 3 - CORE::chmod() set the perms correctly ok 4 - Successfully deleted real directory ok 5 - Directory /foo exists ok 6 - File /foo/bar exists ok 7 - Directory /foo is now set to 0600 ok 8 - File /foo/bar is now set to 0600 ok 9 - Directory /foo is now set to 0600 ok 10 - File /foo/bar is now set to 0600 1..10 } ok 3 - Changing mode filehandle { # -------------- REAL MODE -------------- ok 1 - chmod on file ok 2 - chmod on filehandle # -------------- MOCK MODE -------------- ok 3 - chmod on file ok 4 - chmod on filehandle 1..4 } ok 4 - Providing a string as mode mask { ok 1 - Successfully created real directory ok 2 - CORE::chmod() threw a warning when trying to numify ok 3 - Successfully chmod'ed real directory ok 4 - No observed error ok 5 - CORE::chmod() set the perms correctly ok 6 - Successfully deleted real directory ok 7 - Directory /foo does not exist ok 8 - Successfully created mocked directory ok 9 - Directory /foo now exists ok 10 - chmod() threw a warning when trying to numify ok 11 - Successfully chmod'ed real directory ok 12 - No observed error ok 13 - chmod() set the perms correctly ok 14 - Successfully deleted real directory ok 15 - Directory /foo no longer exist 1..15 } 1..4 ok t/chown-chmod-nostrict.t ............ # Seeded srand with seed '20251225' from local date. ok 1 - Unmocked files and mixing unmocked and mocked files { ok 1 - Even without strict mode, you cannot mix mocked and unmocked files (chown) ok 2 - Even without strict mode, you cannot mix mocked and unmocked files (chmod) 1..2 } 1..1 ok t/chown.t ........................... # Seeded srand with seed '20251225' from local date. ok 1 - Default ownership { ok 1 - Directory /foo exists ok 2 - File /foo/bar exists ok 3 - /foo set UID correctly to 2222 ok 4 - /foo set GID correctly to 2222 ok 5 - /foo/bar set UID correctly to 2222 ok 6 - /foo/bar set GID correctly to 2222 1..6 } ok 2 - Change ownership of file to someone else { # $>: 2222, $): 2222 2222 ok 1 - chown file to some high, probably unavailable, UID/GID ok 2 - chown failed (EPERM): $>:2222, $):2222 2222 ok 3 - chown file to some high, probably unavailable, GID ok 4 - chown failed (EPERM): $>:2222, $):2222 2222 ok 5 - chown file to some high, probably unavailable, UID ok 6 - chown failed (EPERM): $>:2222, $):2222 2222 ok 7 - chown file to root ok 8 - chown failed (EPERM): $>:2222, $):2222 2222 ok 9 - chown file to root GID ok 10 - chown failed (EPERM): $>:2222, $):2222 2222 ok 11 - chown file to root UID ok 12 - chown failed (EPERM): $>:2222, $):2222 2222 1..12 } ok 3 - chown with bareword (nonexistent file) { ok 1 - $! starts clean ok 2 - Using bareword treats it as string ok 3 - Correct ENOENT error 1..3 } ok 4 - chown only user, only group, both { ok 1 - $! starts clean ok 2 - chown'ing file to only UID ok 3 - $! still clean ok 4 - chown'ing file to only GID ok 5 - $! still clean ok 6 - chown'ing file to both UID and GID ok 7 - $! still clean 1..7 } ok 5 - chown to different group of same user { 1..0 # SKIP This user only has one group } ok 6 - chown on typeglob / filehandle { ok 1 - $! starts clean ok 2 - Non-root chown on a file handle works ok 3 - $! stays clean ok 4 - Owner of the file is now there ok 5 - Group of the file is now there 1..5 } ok 7 - chown does not reset $! { ok 1 - $! is set to 3 for our test ok 2 - Successfully run chown ok 3 - $! is still 3 (not reset by chown) 1..3 } 1..7 ok t/detect-common-mistakes.t .......... # Seeded srand with seed '20251225' from local date. ok 1 - Removing trailing forward slash for directories { ok 1 - Create /foo/ ok 2 - Test::MockFile=HASH->isa('Test::MockFile') ok 3 - Trailing / is removed 1..3 } ok 2 - Checking for multiple forward slash in paths { ok 1 - dir() successful ok 2 - Double trailing forward slash ok 3 - dir() succesful ok 4 - Multiple trailing forward slash ok 5 - dir() succesful ok 6 - Double leading forward slash for dir ok 7 - dir() succesful ok 8 - Double leading forward slash for file ok 9 - dir() succesful ok 10 - Double forward slash in the middle for dir ok 11 - dir() succesful ok 12 - Double forward slash in the middle for file 1..12 } ok 3 - Relative paths { ok 1 - Success with ./ for dir ok 2 - Success with ./ for file ok 3 - Failure with ../ for dir ok 4 - Failure with ../ for file ok 5 - Failure with /../ for dir ok 6 - Success with /. for file ok 7 - Failure with /.. for file ok 8 - Failure with /../ for file ok 9 - Success with /./ for dir ok 10 - Success with /./ for file ok 11 - No problem with current directory paths (file with trailing forward slash) ok 12 - No problem with current directory paths (dir with trailing forward slash) ok 13 - No problem with current directory paths (dir with no trailing forward slash) 1..13 } 1..3 ok t/dir_interface.t ................... # Seeded srand with seed '20251225' from local date. ok 1 - ->dir() checks { ok 1 - Cannot do TMF->dir( "/etc", [@content], { 1 => 2 } ) ok 2 - Cannot do TMF->dir( "/etc", [@content] ) 1..2 } ok 2 - Scenario 1: ->dir() does not create dir, keywords do { ok 1 - Directory /foo1 does not exist yet ok 2 - Directory /foo1 got created ok 3 - Directory /foo1 now exists ok 4 - Correct contents of directory through ->contents() ok 5 - opendir() /foo1 successful ok 6 - readdir() on /foo1 successful ok 7 - Correct directory content through Perl core keywords ok 8 - closedir() on /foo1 successful 1..8 } ok 3 - Scenario 2: ->dir() on an already existing dir fails made with ->dir() { ok 1 - -d /foo2 succeeds, dir exists ok 2 - mkdir /foo2 fails, dir already exists ok 3 - opendir() /foo2 successful ok 4 - readdir() on /foo2 successful ok 5 - Correct directory content through Perl core keywords ok 6 - closedir() on /foo2 successful 1..6 } ok 4 - Scneario 3: Undef files with ->file() do not create dirs, adding content changes dir { ok 1 - -d /foo3 fails, does not exist yet ok 2 - -d /foo3 still fails after mocking file with no content ok 3 - mkdir /foo3 works ok 4 - -d /foo3 now succeeds ok 5 - Correct contents to /foo3 ok 6 - opendir() /foo3 successful ok 7 - readdir() on /foo3 successful ok 8 - Correct directory content through Perl core keywords ok 9 - closedir() on /foo3 successful ok 10 - /foo3/foo does not exist, even if /foo3 does ok 11 - After file->contents(), /foo3/foo exists ok 12 - Correct updated contents to /foo3 ok 13 - opendir() /foo3 successful ok 14 - readdir() on /foo3 successful ok 15 - Correct directory content through Perl core keywords ok 16 - closedir() on /foo3 successful 1..16 } ok 5 - Scenario 4: Creating ->file() with content creates dir { ok 1 - /foo4 does not exist yet ok 2 - /foo4 now exists, after creating file with content ok 3 - mkdir /foo4 fails, since dir already exists ok 4 - Correct contents to /foo4 ok 5 - opendir() /foo4 successful ok 6 - readdir() on /foo4 successful ok 7 - Correct directory content through Perl core keywords ok 8 - closedir() on /foo4 successful 1..8 } 1..5 ok t/file_access_hooks.t ............... # Seeded srand with seed '20251225' from local date. # -------------- REAL MODE -------------- ok 1 - Using open on an unmocked file throws a croak ok 2 - Using a 2 arg open on an unmocked file throws a croak ok 3 - Using sysopen on an unmocked file throws a croak ok 4 - Using opendir on an unmocked directory throws a croak ok 5 - -e on an unmocked file throws a croak ok 6 - -e on an unmocked empty file name throws a croak ok 7 - -d on an unmocked dir throws a croak ok 8 - -l on an unmocked dir throws a croak # -------------- MOCK MODE -------------- ok 9 - -s t/data/example_email.csv ok 10 - Testing from a different source scope (DynaLoader) ok 11 - -d is allowed in certain packages without a die (DynaLoader) ok 12 - open STDIN isn't an error ok 13 - Stat on a file handle which didn't get filtered through MockFile works without a die 1..13 ok t/file_from_disk.t .................. ok 1 - open fake file for read ok 2 - Read line 1. ok 3 - Read line 2. ok 4 - open fake file for write ok 5 - file is written to ok 6 - The original file was unmodified 1..6 ok t/fileno.t .......................... # Seeded srand with seed '20251225' from local date. ok 1 - Opened file ok 2 - Refuse to support fileno ok 3 - Opened file 1..3 ok t/globbing.t ........................ # Seeded srand with seed '20251225' from local date. ok 1 - glob(/*.txt) ok 2 - ok 3 - glob(/*.txt) ok 4 - ok 5 - glob(/*.{txt,jp{g}}) ok 6 - ok 7 - ok 8 - glob(/*.txt /*.jpg) ok 9 - ok 10 - Directory now exists ok 11 - Directory does not exist ok 12 - Created directory successfully ok 13 - Directory now exists ok 14 - 1..14 ok t/goto_is_available.t ............... # Seeded srand with seed '20251225' from local date. ok 1 - goto isn't available on 5.006002 ok 2 - goto isn't available on 5.008008 ok 3 - goto was first available on 5.016000 ok 4 - goto was available on 5.018000 ok 5 - goto was available on 5.020000 ok 6 - goto was broken on 5.022001 (7bdb4ff0943cf93297712faf504cdd425426e57f) ok 7 - goto was broken on 5.024000 (7bdb4ff0943cf93297712faf504cdd425426e57f) ok 8 - goto was broken on 5.026000 (7bdb4ff0943cf93297712faf504cdd425426e57f) ok 9 - goto works again for 5.028000 ok 10 - goto works on 5.030000 1..10 ok t/handle-corruption.t ............... # Seeded srand with seed '20251225' from local date. ok 1 - IO::Handle=GLOB->isa('IO::Handle') ok 2 - Succesfully opened file ok 3 - No error (string) ok 4 - No error (code) ok 5 - IO::File=GLOB->isa('IO::File') ok 6 - Successfully closed handle ok 7 - No error (string) ok 8 - No error (code) 1..8 ok t/import.t .......................... # Seeded srand with seed '20251225' from local date. # Happy Imports ok 1 - default mode is STRICT_MODE_DEFAULT { ok 1 - Exit Value Check 1..1 } ok 2 - import enable STRICT_MODE_ENABLED { ok 1 - Exit Value Check 1..1 } ok 3 - use Test::MockFile qw< strict > { ok 1 - Exit Value Check 1..1 } ok 4 - use Test::MockFile qw< nostrict > { ok 1 - Exit Value Check 1..1 } ok 5 - multiple - use Test::MockFile qw< strict > { ok 1 - Exit Value Check 1..1 } # Failed Imports ok 6 - use Test::MockFile qw< strict > + qw< nostrict > { ok 1 - Exit Value Check 1..1 } ok 7 - use Test::MockFile + qw< nostrict > { ok 1 - Exit Value Check 1..1 } 1..7 ok t/manifest.t ........................ skipped: Test::CheckManifest is broken - https://github.com/reneeb/Test-CheckManifest/issues/20 t/mkdir.t ........................... # Seeded srand with seed '20251225' from local date. ok 1 - basic mkdir { ok 1 - REAL mkdir when dir is missing. ok 2 - - $! is unset. ok 3 - REAL rmdir when dir is there ok 4 - MOCK mkdir when dir is missing. ok 5 - - $! is unset. ok 6 - Perms are 0755 ok 7 - -d ok 8 - - $! is unset. ok 9 - MOCK rmdir when dir is there ok 10 - - $! is unset. ok 11 - Directory is not there with -d ok 12 - Directory is not there with -e 1..12 } ok 2 - undef dir name { ok 1 - REAL mkdir when undef is passed as the file name. ok 2 - - $! is ENOENT. ok 3 - - Returns 0 ok 4 - MOCK mkdir when undef is passed as the file name. ok 5 - - $! is ENOENT. ok 6 - - Returns 0 1..6 } ok 3 - REAL mkdir { ok 1 - put the real tempdir back ok 2 - A real mkdir through the shim ok 3 - - $! is unset. ok 4 - A real mkdir through the shim when it exists already ok 5 - - $! is EEXIST. 1..5 } ok 4 - mkdir when file exists { ok 1 - A real mkdir when the dir is already a file. ok 2 - - $! is EEXIST. ok 3 - A mock mkdir when the dir is already a file. ok 4 - - $! is EEXIST. ok 5 - A mock mkdir when the path is a mocked file but not on disk becomes a directory mock. ok 6 - $mock is now a directory 1..6 } ok 5 - mkdir when symlink exists { ok 1 - A real mkdir when the dir is already a symlink. ok 2 - - $! is EEXIST. ok 3 - A mock mkdir when the dir is already a symlink. ok 4 - - $! is EEXIST. ok 5 - A mock mkdir when the path is a mocked symlink but not on disk turns the mock object into a dir. ok 6 - $mock is now a directory 1..6 } ok 6 - mkdir with file perms { ok 1 - A real mkdir with 0770 perms. ok 2 - - $! is unset. ok 3 - permissions are the real file's permissions ok 4 - A mock mkdir with 0700 perms. ok 5 - - $! is unset. ok 6 - Permissions are the mock permissions of 0700 ok 7 - Remove the fake dir ok 8 - A mock mkdir with 0700 perms. ok 9 - - $! is unset. ok 10 - Permissions get umask applied. 1..10 } 1..6 ok t/mock_stat.t ....................... # Seeded srand with seed '20251225' from local date. # _abs_path_to_file ok 1 - no / prefix makes prepends path on it ok 2 - undef is undef ok 3 - _abs_path_to_file( '/lib' ) = '/lib' ok 4 - _abs_path_to_file( '/lib/' ) = '/lib' ok 5 - _abs_path_to_file( '/abc/.' ) = '/abc' ok 6 - _abs_path_to_file( '/abc/./' ) = '/abc' ok 7 - _abs_path_to_file( '/abc/./././.' ) = '/abc' ok 8 - _abs_path_to_file( '/from/here/or-not/..' ) = '/from/here' ok 9 - _abs_path_to_file( '/../../..' ) = '/' ok 10 - _abs_path_to_file( '/one/two/three/four/../../..' ) = '/one' ok 11 - _abs_path_to_file( '/a.b.c.d' ) = '/a.b.c.d' # _fh_to_file ok 12 - _fh_to_file() ok 13 - _fh_to_file(0) ok 14 - _fh_to_file('') ok 15 - _fh_to_file(' ') ok 16 - _fh_to_file('/etc/passwd') ok 17 - _fh_to_file($fh) ok 18 - _fh_to_file($fh2) ok 19 - _fh_to_file($fh) when closed. # _find_file_or_fh ok 20 - _find_file_or_fh('/abc') ok 21 - _find_file_or_fh('/abc', 1) - follow ok 22 - _find_file_or_fh('/broken_link', 1) is undef when /broken_link is mocked. ok 23 - _find_file_or_fh('/aaaa', 1) - with circular links ok 24 - $! is ELOOP # _mock_stat ok 25 - An unmocked file will return FALLBACK_TO_REAL_OP() to tell XS to handle it ok 26 - no args fails cause we should have gotten a stat type. ok 27 - An unknown stat type fails cause this should never happen. ok 28 - empty string passes to XS ok 29 - A space string passes to XS ok 30 - /foo/bar mock stat ok 31 - /aaa mock stat when looped. ok 32 - Throws an ELOOP error ok 33 - /foo/baz mock stat when missing. ok 34 - lstat on /broken_link returns the stat on the symlink itself. ok 35 - stat on /broken_link is an empty array since what it points to doesn't exist. ok 36 - mocked file is executable ok 37 - default uid is current UID # GID 2222 ok 38 - default fid is current GID ok 39 - Directory /quux exists ok 40 - Directory /quux/ also exists 1..40 ok t/new_dir_interface.t ............... # Seeded srand with seed '20251225' from local date. ok 1 - ->dir() checks when going through ->new_dir() { ok 1 - Cannot do TMF->dir( "/etc", { 1 => 2 } ) ok 2 - Cannot do TMF->dir( "/etc", [@content], { 1 => 2 } ) ok 3 - Cannot do TMF->dir( "/etc", [@content] ) 1..3 } ok 2 - Scenario 1: ->new_dir() can create dir { ok 1 - Directory /foo1 exists ok 2 - Correct contents of directory through ->contents() ok 3 - opendir() /foo1 successful ok 4 - readdir() on /foo1 successful ok 5 - Correct directory content through Perl core keywords ok 6 - closedir() on /foo1 successful 1..6 } ok 3 - Scenario 2: ->new_dir() with mode sets the mode { ok 1 - /foo2 exists ok 2 - /foo2 exists ok 3 - We picked perms (0300) that are not the default (0777) ok 4 - Mode was set correctly ok 5 - Correct contents to /foo2 ok 6 - opendir() /foo2 successful ok 7 - readdir() on /foo2 successful ok 8 - Correct directory content through Perl core keywords ok 9 - closedir() on /foo2 successful 1..9 } ok 4 - Scenario 3: ->new_dir() after mkdir() has an error { ok 1 - /foo3 exists ok 2 - mkdir /foo3 fails, since dir already exists ok 3 - $! is set to an error: 17 (File exists) ok 4 - Correct contents to /foo3 ok 5 - opendir() /foo3 successful ok 6 - readdir() on /foo3 successful ok 7 - Correct directory content through Perl core keywords ok 8 - closedir() on /foo3 successful 1..8 } 1..4 ok t/open-noclose.t .................... # Seeded srand with seed '20251225' from local date. ok 1 - missing file argument ok 2 - missing file # empty file ok 3 - empty file ok 4 - file is not empty ok 5 ok 6 - /tmp/somewhere file should not be empty (on second read) 1..6 ok t/open.t ............................ # -------------- REAL MODE -------------- ok 1 - Open a real file bypassing PERLIO ok 2 - ... line 1 ok 3 - ... line 2 ok 4 - ... EOF # -------------- MOCK MODE -------------- ok 5 - Open a mocked file bypassing PERLIO ok 6 - ... line 1 ok 7 - ... line 2 ok 8 - ... EOF ok 9 - Real file is there ok 10 - Real file is not there # Following symlinks for open ok 11 - Open a mocked file via its symlink ok 12 - ... line 1 ok 13 - ... line 2 ok 14 - ... EOF ok 15 - Open a mocked file via its symlink when the file is missing fails. ok 16 - $! is ENOENT # Subtest: open modes ok 1 - Two-arg > open works ok 2 - No error ok 3 - Successfully closed open handle ok 4 - No error ok 5 - Two-arg >> open works ok 6 - No error ok 7 - Successfully closed open handle ok 8 - No error ok 9 - Two-arg < open works ok 10 - arg not changed ok 11 - No error ok 12 - Successfully closed open handle ok 13 - No error ok 14 - Two-arg open works ok 15 - arg not changed ok 16 - No error ok 17 - Successfully closed open handle ok 18 - No error ok 19 - Two-arg +< open fails ok 20 - No error ok 21 - Three-arg +< open fails ok 22 - No error ok 23 - Two-arg +> open fails ok 24 - No error ok 25 - Three-arg +> open fails ok 26 - No error ok 27 - Succesful three-arg pipe open write ok 28 - Successfully closed pipe ok 29 - No error ok 30 - Succesful two-arg pipe open write ok 31 - Successfully closed pipe ok 32 - No error ok 33 - Succesful three-arg pipe open read ok 34 - Succesfully read from pipe with three-arg ok 35 - Successfully closed pipe ok 36 - Succesful two-arg pipe open read ok 37 - Succesfully read from pipe with two-arg ok 38 - Successfully closed pipe ok 39 - No error 1..39 ok 17 - open modes 1..17 ok t/open_strict.t ..................... # Seeded srand with seed '20251225' from local date. ok 1 - open() to read a filehandle fails ok 2 - open() to dup a file descriptor works ok 3 - open() to re-perlify a file descriptor works 1..3 ok t/opendir.t ......................... # Seeded srand with seed '20251225' from local date. # -------------- REAL MODE -------------- ok 1 - Temp is created on disk. ok 2 - /tmp/TkAXe1QTm7 can be read ok 3 - We read 3 entries in some order. Not predictable, but sort fixes that! ok 4 - undef when nothing left from readdir. ok 5 - close the fake dir handle ok 6 - warn on readdir when file handle is closed. ok 7 - opendir on a bad path returns false ok 8 - $! numeric is right. ok 9 - opendir on a file returns false ok 10 - $! numeric is right. ok 11 - We only warn if the file handle or glob is invalid. # -------------- MOCK MODE -------------- ok 12 - Mocked temp dir opens and returns true ok 13 - Read . from fake readdir ok 14 - Read .. from fake readdir ok 15 - tell dir in the middle of fake readdir is right. ok 16 - Read abc from fake readdir ok 17 - Read def from fake readdir ok 18 - tell dir at the end of fake readdir is right. ok 19 - Read from fake readdir but no more in the list. ok 20 - Read from fake readdir but no more in the list. ok 21 - Read from fake readdir but no more in the list. ok 22 - Read from fake readdir but no more in the list. ok 23 - rewinddir returns true. ok 24 - telldir afer rewinddir is right. ok 25 - Read the whole dir from fake readdir after rewinddir ok 26 - tell dir at the end of fake readdir is right. ok 27 - seekdir returns where it sought. ok 28 - Read the whole dir from fake readdir after seekdir ok 29 - opendir on a mocked file returns false ok 30 - $! numeric is right. ok 31 - Symlink and directories appears in directory content ok 32 - Did not get confused by internal files 1..32 ok t/path.t ............................ # Seeded srand with seed '20251225' from local date. ok 1 - /some/nonexistant/path is set when the file isn't there. ok 2 - /some/nonexistant/path is set when the file is there. 1..2 ok t/plugin-filetemp.t ................. # Seeded srand with seed '20251225' from local date. ok 1 - File::Temp is not loaded before Test::MockFile ok 2 - File::Temp is loaded ok 3 - we can open a tempfile ok 4 - Can open directory from tempdir ok 5 - we can open a tempfile under a tempdir ok 6 - print to a tempfile - scalar context ok 7 - opendir - newdir ok 8 - open a file created under newdir ok 9 - tempfile in scalar context 1..9 ok t/plugin.t .......................... # Seeded srand with seed '20251225' from local date. ok 1 - Cannot find a Test::MockFile plugin for Unknown { ok 1 - Exit Value Check ok 2 - Cannot find a Test::MockFile plugin for Unknown 1..2 } ok 2 - create Test/MockFile/Plugin dir for testing ok 3 - Loading a plugin from default namespace { ok 1 - Exit Value Check ok 2 - load and register plugin 1..2 } ok 4 - use Test::MockFile ( plugin => [ 'MyPlugin' ] ) { ok 1 - Exit Value Check ok 2 - load and register plugin 1..2 } # Testing a custom namespace ok 5 - create Test/MockFile/Plugin dir for testing ok 6 - Loading a plugin from default namespace { ok 1 - Exit Value Check ok 2 - load and register plugin from a custom namespace 1..2 } 1..6 ok t/pod-coverage.t .................... skipped: Author tests not required for installation t/pod.t ............................. skipped: Author tests not required for installation t/readline.t ........................ # Seeded srand with seed '20251225' from local date. # -------------- REAL MODE -------------- ok 1 - Temp file is on disk and right size ok 2 - Open a real file written by File::Temp ok 3 - $fh2 stringifies to a GLOB ok 4 - ... line 1 ok 5 - ... line 2 ok 6 - Fails to write to a read handle in mock mode. ok 7 - $! when the file is written to and it's a read file handle. ok 8 - Warns about writing to a read file handle # -------------- MOCK MODE -------------- ok 9 - Mocked temp file opens and returns true ok 10 - $fh is a IO::File ok 11 - $fh stringifies to a IO::File GLOB ok 12 - 1st read on $fh is "abc\n" ok 13 - 2nd read on $fh is "def\n" ok 14 - 3rd read on $fh via readline is "ghi\n" ok 15 - 4th read on $fh undef at EOF ok 16 - 5th read on $fh undef at EOF ok 17 - 6th read on $fh undef at EOF ok 18 - $foo->contents ok 19 - 7th read on $fh is "mno\n" ok 20 - 7th read on $fh is "pqr" ok 21 - 8th read on $fh undef at EOF ok 22 - 9th read on $fh undef at EOF ok 23 - Fails to write to a read handle in mock mode. ok 24 - $! when the file is written to and it's a read file handle. ok 25 - Warns about writing to a read file handle ok 26 - file handle clears from files_being_mocked hash when it goes out of scope. ok 27 - files_being_mocked empties when $bar is cleared # -------------- REAL MODE -------------- ok 28 - Once the mock file object is cleared, the next open reverts to the file on disk. ok 29 - $fh2 stringifies to a GLOB ok 30 - ... line 1 ok 31 - ... line 1 ok 32 - Can't open a missing file "/tmp/G2bhKTHP3r" ok 33 - What $! looks like when failing to open the missing file. # -------------- MOCK MODE -------------- ok 34 - Can't open a missing file "/tmp/G2bhKTHP3r" ok 35 - What $! looks like when failing to open the missing file. # --------------------------------------- ok 36 - REAL multiline do slurp works ok 37 - MOCK multiline do slurp works # readline array. ok 38 - readline reads in an array of stuff. 1..38 ok t/readlink.t ........................ # Seeded srand with seed '20251225' from local date. # -------------- REAL MODE -------------- ok 1 - readlink on missing file ok 2 - $! is ENOENT for a missing file readlink. ok 3 - readlink on a working symlink works. ok 4 - $! is 0 for a missing file readlink. ok 5 - readlink on a broken symlink still works. ok 6 - $! is 0 for a missing file readlink. ok 7 - readlink on a file is undef. ok 8 - $! is EINVAL for a readlink on a file. ok 9 - readlink on a dir is undef. ok 10 - $! is EINVAL for a readlink on a dir. ok 11 - Got expected warning for passing no value to readlink ok 12 - readlink without args is undef. ok 13 - $! is ENOENT for a readlink(undef) ok 14 - Got expected warning for passing no value to readlink ok 15 - readlink without args is undef. ok 16 - $! is ENOENT for a readlink(undef) # Cleaning up... # -------------- MOCK MODE -------------- ok 17 - readlink on missing file ok 18 - $! is ENOENT for a missing file readlink. ok 19 - readlink on a working symlink works. ok 20 - $! is 0 for a missing file readlink. ok 21 - readlink on a broken symlink still works. ok 22 - $! is 0 for a missing file readlink. ok 23 - readlink on a file is undef. ok 24 - $! is EINVAL for a readlink on a file. ok 25 - readlink on a dir is undef. ok 26 - $! is EINVAL for a readlink on a dir. ok 27 - Got expected warning for passing no value to readlink ok 28 - readlink without args is undef. ok 29 - $! is ENOENT for a readlink(undef) not ok 30 - Got expected warning for passing no value to readlink # TODO Something's wrong with readlink's prototype and the warning is incorrect no matter what we do in the code. # Failed test (with amnesty) 'Got expected warning for passing no value to readlink' # at t/readlink.t line 119. # +---------------------------------+----+---------------------------------+ # | GOT | OP | CHECK | # +---------------------------------+----+---------------------------------+ # | Use of uninitialized value in r | =~ | (?^:^Use of uninitialized value | # | eadlink at t/readlink.t line 11 | | \$_ in readlink at ) | # | 9.\n | | | # +---------------------------------+----+---------------------------------+ ok 31 - readlink without args is undef. ok 32 - $! is ENOENT for a readlink(undef) 1..32 ok t/rmdir.t ........................... # Seeded srand with seed '20251225' from local date. ok 1 - basic rmdir { ok 1 - REAL mkdir when dir is missing. ok 2 - - $! is unset. ok 3 - REAL rmdir when dir is there ok 4 - MOCK mkdir when dir is missing. ok 5 - - $! is unset. ok 6 - Perms are 0755 ok 7 - -d ok 8 - - $! is unset. ok 9 - MOCK rmdir when dir is there ok 10 - - $! is unset. ok 11 - Directory is not there with -d ok 12 - Directory is not there with -e 1..12 } ok 2 - undef rmdir { ok 1 - REAL mkdir when nothing is passed as the directory. ok 2 - - returns 0 ok 3 - REAL mkdir when undef is passed as the directory. ok 4 - - returns 0 ok 5 - REAL mkdir when undef is passed as the directory. ok 6 - - returns 0 1..6 } ok 3 - rmdir existing file { ok 1 - real rmdir on existing file. ok 2 - - $! is ENOTDIR. ok 3 - mock rmdir on existing file. ok 4 - - $! is ENOTDIR. 1..4 } ok 4 - rmdir existing symlink { ok 1 - real rmdir on existing file. ok 2 - - $! is ENOTDIR. ok 3 - mock rmdir on existing file. ok 4 - - $! is ENOTDIR. 1..4 } ok 5 - rmdir when nothing is there. { ok 1 - real rmdir on existing file. ok 2 - - $! is ENOENT. ok 3 - mock rmdir on existing file. ok 4 - - $! is ENOENT. 1..4 } ok 6 - rmdir non-empty directory fails { ok 1 - File exists ok 2 - Directory exists ok 3 - No errors yet ok 4 - rmdir failed because directory has files ok 5 - $! is set to correct perror (39) 1..5 } 1..6 ok t/runtime-bareword-filehandles.t .... # Seeded srand with seed '20251225' from local date. ok 1 - Successfully handled bareword filehandles during runtime ok 2 - No observed error 1..2 ok t/stat-x.t .......................... # Seeded srand with seed '20251225' from local date. ok 1 - -x after unlink { ok 1 - File should exist ok 2 - File should be executable ok 3 - File should not exist ok 4 - File should not be executable 1..4 } ok 2 - -x with multiple files { ok 1 - First filename should not be executable ok 2 - Second filename should not be executable ok 3 - First filename should now exist ok 4 - First filename should now be executable ok 5 - Second filename should still not exist ok 6 - Second filename should still not be executable 1..6 } ok 3 - rmdir works for mocked directories { ok 1 - Created directory successfully ok 2 - Directory now exists ok 3 - No errors yet ok 4 - Successfully rmdir directory ok 5 - Still no errors ok 6 - Directory no longer exists 1..6 } 1..3 ok t/strict-rules.t .................... # Seeded srand with seed '20251225' from local date. ok 1 - Cannot open an unmocked file in strict mode # add_strict_rule_for_filename ok 2 - can open a file with a custom rule ok 3 - cannot open a file under the directory ok 4 - open /cherry with multiple rules ok 5 - open /another with multiple rules ok 6 - clear_strict_rules removes all previous rules ok 7 - can open a file with a custom rule - regexp ok 8 - can open a file with a custom rule - regexp ok 9 - add_strict_rule_for_filename multiple rules ok 10 - add_strict_rule_for_filename multiple rules # add_strict_rule_for_command ok 11 - opendir fails without add_strict_rule_for_command ok 12 - add_strict_rule_for_command ok 13 - add_strict_rule_for_command - regexp ok 14 - add_strict_rule_for_command - list # add_strict_rule_generic ok 15 - no rules setup ok 16 - add_strict_rule_generic ok 17 - context set for open ok 18 - add_strict_rule_generic ok 19 - context uses normalized path ok 20 - add_strict_rule_generic - no exception ok 21 - add_strict_rule_generic - exception 1..21 ok t/strict-rules_file-temp-example.t .. # Seeded srand with seed '20251225' from local date. ok 1 - Cannot open an unmocked file in strict mode ok 2 - Cannot open directory from tempdir ok 3 - _setup_strict_rules_for_file_temp ok 4 - we can open a tempfile ok 5 - Can open directory from tempdir 1..5 ok t/strict-rules_scalar.t ............. # Seeded srand with seed '20251225' from local date. ok 1 - -e "/no/mocked" ok 2 - -l "/no/mocked" # add_strict_rule_for_command for stat / lstat ok 3 - command not supported ok 4 - -e "/no/mocked" ok 5 - -l "/no/mocked" ok 6 - -l "/this/path" mocked ok 7 - -l "/another/mocked" ok 8 - -e "/no/mocked" ok 9 - -l "/no/mocked" ok 10 - -l "/this/path" mocked ok 11 - -l "/another/path" mocked 1..11 ok t/symlink.t ......................... # Seeded srand with seed '20251225' from local date. ok 1 - Directory does not exist yet ok 2 - Directory now exists ok 3 - Directory with symlink content are correct ok 4 - Directory no longer has symlink 1..4 ok t/sysopen.t ......................... # Seeded srand with seed '20251225' from local date. # -------------- REAL MODE -------------- ok 1 - Sysopen for write ok 2 - 2 arg syswrite ok 3 - 3 arg syswrite ok 4 - 4 arg syswrite ok 5 - sysclose $fh ok 6 - file contents match what was written # -------------- MOCK MODE -------------- ok 7 - Sysopen for write ok 8 - 2 arg syswrite ok 9 - 3 arg syswrite ok 10 - 4 arg syswrite ok 11 - sysclose $fh ok 12 - Fake file contents match what was written ok 13 - mocked /tmp/Uemkp0502Y is not present after mock file goes offline ok 14 - No mock files are in cache # -------------- REAL MODE -------------- ok 15 - Sysopen for read ok 16 - Read 2 into buf at EOL ok 17 - Confirm 2 line read ok 18 - Read into buf at pos 0 truncates the buffer. ok 19 - Confirm 2 line read ok 20 - Read 0 into buf at pos 0 truncates the buffer completely. ok 21 - Buffer is clear ok 22 - Read 2 into buf at pos 5 truncates after the buffer. ok 23 - Line is as expected. ok 24 - Read 3 into buf after EOL for the buffer fills in zeroes. ok 25 - Buffer has null bytes in the middle of it. ok 26 - Seek to near EOF ok 27 - Read 2 into buf since we're at EOF ok 28 - Buffer is clear ok 29 - 0 ok 30 - sysseek to start of file returns '0 but true' to make it so. ok 31 - sysseek to start of file returns true when checked with ok() # -------------- MOCK MODE -------------- ok 32 - Sysopen for read ok 33 - $fh stringifies to a IO::File GLOB ok 34 - Read 2 into buf at EOL ok 35 - Confirm 2 line read ok 36 - Read into buf at pos 0 truncates the buffer. ok 37 - Confirm 2 line read ok 38 - Read 0 into buf at pos 0 truncates the buffer completely. ok 39 - Buffer is clear ok 40 - Read 2 into buf at pos 5 truncates after the buffer. ok 41 - Line is as expected. ok 42 - Read 3 into buf after EOL for the buffer fills in zeroes. ok 43 - Buffer has null bytes in the middle of it. ok 44 - Seek to near EOF ok 45 - Read 2 into buf since we're at EOF ok 46 - Buffer is clear ok 47 - 0 ok 48 - sysseek to start of file returns '0 but true' to make it so. ok 49 - sysseek to start of file returns true when checked with ok() # -------------- REAL MODE -------------- ok 50 - Sysopen for read ok 51 - Read 2 into buf when buf is undef. ok 52 - Confirm 2 char is read # -------------- MOCK MODE -------------- ok 53 - Sysopen for read ok 54 - Read 2 into buf when buf is undef. ok 55 - Confirm 2 char is read ok 56 - No mock files are in cache 1..56 ok t/sysopen_strict.t .................. # Seeded srand with seed '20251225' from local date. ok 1 - sysopen() to read a filehandle fails 1..1 ok t/Test-MockFile_file.t .............. # Seeded srand with seed '20251225' from local date. ok 1 - Todo 1..1 ok t/touch.t ........................... # Seeded srand with seed '20251225' from local date. # -------------- REAL MODE -------------- ok 1 - /tmp/Uemkp0502Y is there ok 2 - unlink on a dir fails ok 3 - unlink /dir is non-zero (21) # -------------- MOCK MODE -------------- ok 4 - Directory does not exist yet ok 5 - Successfully created /dir ok 6 - Directory now exists ok 7 - unlink /link works. ok 8 - /link is now gone ok 9 - unlink /dir doesn't work. ok 10 - ... and throws a $! ok 11 - touch /dir doesn't work. ok 12 - touch /link doesn't work. ok 13 - Set mtime to 1970 ok 14 - Set ctime to 1970 ok 15 - Set atime to 1970 ok 16 - Touch a missing file. ok 17 - mtime is set. ok 18 - ctime is set. ok 19 - atime is set. ok 20 - /file exists with -e ok 21 - /file is removed via unlink method ok 22 - /file is missing via contents check ok 23 - /file is missing via size method ok 24 - /file is removed via -e check ok 25 - Set file to have stuff in it. ok 26 - Touch an existing file. ok 27 - mtime is set to 1234. ok 28 - ctime is set to 1234. ok 29 - atime is set to 1234. 1..29 ok t/unlink.t .......................... # Seeded srand with seed '20251225' from local date. ok 1 - unlink on a missing file { ok 1 - REAL CORE::unlink returns 0 files deleted. ok 2 - $! is set to ENOENT ok 3 - MOCKED unlink returns 0 files deleted. ok 4 - $! is set to ENOENT 1..4 } ok 2 - unlink on an existing directory { ok 1 - REAL CORE::unlink returns 0 files deleted. ok 2 - Directory does not exist yet ok 3 - Created directory successfully ok 4 - Directory now exists ok 5 - MOCKED unlink returns 0 files deleted. ok 6 - $! is set to EISDIR 1..6 } ok 3 - unlink on an existing file { ok 1 - REAL CORE::unlink returns 1 files deleted. ok 2 - $! remains 0 ok 3 - MOCKED unlink returns 1 files deleted. ok 4 - $! remains 0 1..4 } ok 4 - unlink on an unmocked file { ok 1 - MOCKED unlink returns 1 files deleted. ok 2 - $! remains 0 ok 3 - CORE::open fails since the file is removed from disk ok 4 - $! becomes ENOENT 1..4 } 1..4 ok t/writeline.t ....................... # Seeded srand with seed '20251225' from local date. # -------------- REAL MODE -------------- ok 1 - tempfile originally writes out 16 bytes ok 2 - Open file for overwrite ok 3 - $real_fh stringifies to a GLOB ok 4 - Close $real_fh ok 5 - $! hasn't been cleared ok 6 - Temp file is on disk and right size assuming a re-write happened. # -------------- MOCK MODE -------------- ok 7 - Mocked temp file opens for write and returns true ok 8 - $fh is a IO::File ok 9 - $fh stringifies to a IO::File GLOB ok 10 - overwrite the contents ok 11 - $foo->contents reflects an overwrite ok 12 - Close $fh ok 13 - $! hasn't been cleared ok 14 - Re-open $fh for append ok 15 - Append line ok 16 - Append line with a printf ok 17 - $foo->contents reflects an append ok 18 - Printing undef returns 0 and is not a warning. ok 19 - Close $fh ok 20 - $! hasn't been cleared # -------------- REAL MODE -------------- ok 21 - Temp file on disk is unaltered once $bar is clear. 1..21 ok All tests successful. Files=42, Tests=444, 7 wallclock secs ( 0.15 usr 0.08 sys + 6.27 cusr 1.45 csys = 7.95 CPU) Result: PASS make[1]: Leaving directory '/build/reproducible-path/libtest-mockfile-perl-0.036' create-stamp debian/debhelper-build-stamp dh_prep dh_auto_install --destdir=debian/libtest-mockfile-perl/ make -j42 install DESTDIR=/build/reproducible-path/libtest-mockfile-perl-0.036/debian/libtest-mockfile-perl AM_UPDATE_INFO_DIR=no PREFIX=/usr make[1]: Entering directory '/build/reproducible-path/libtest-mockfile-perl-0.036' Manifying 6 pod documents Installing /build/reproducible-path/libtest-mockfile-perl-0.036/debian/libtest-mockfile-perl/usr/share/perl5/Test/MockFile.pm Installing /build/reproducible-path/libtest-mockfile-perl-0.036/debian/libtest-mockfile-perl/usr/share/perl5/Test/MockFile/FileHandle.pm Installing /build/reproducible-path/libtest-mockfile-perl-0.036/debian/libtest-mockfile-perl/usr/share/perl5/Test/MockFile/DirHandle.pm Installing /build/reproducible-path/libtest-mockfile-perl-0.036/debian/libtest-mockfile-perl/usr/share/perl5/Test/MockFile/Plugin.pm Installing /build/reproducible-path/libtest-mockfile-perl-0.036/debian/libtest-mockfile-perl/usr/share/perl5/Test/MockFile/Plugins.pm Installing /build/reproducible-path/libtest-mockfile-perl-0.036/debian/libtest-mockfile-perl/usr/share/perl5/Test/MockFile/Plugin/FileTemp.pm Installing /build/reproducible-path/libtest-mockfile-perl-0.036/debian/libtest-mockfile-perl/usr/share/man/man3/Test::MockFile::Plugin.3pm Installing /build/reproducible-path/libtest-mockfile-perl-0.036/debian/libtest-mockfile-perl/usr/share/man/man3/Test::MockFile.3pm Installing /build/reproducible-path/libtest-mockfile-perl-0.036/debian/libtest-mockfile-perl/usr/share/man/man3/Test::MockFile::FileHandle.3pm Installing /build/reproducible-path/libtest-mockfile-perl-0.036/debian/libtest-mockfile-perl/usr/share/man/man3/Test::MockFile::Plugin::FileTemp.3pm Installing /build/reproducible-path/libtest-mockfile-perl-0.036/debian/libtest-mockfile-perl/usr/share/man/man3/Test::MockFile::Plugins.3pm Installing /build/reproducible-path/libtest-mockfile-perl-0.036/debian/libtest-mockfile-perl/usr/share/man/man3/Test::MockFile::DirHandle.3pm make[1]: Leaving directory '/build/reproducible-path/libtest-mockfile-perl-0.036' dh_installdocs dh_installchangelogs debian/rules override_dh_installexamples make[1]: Entering directory '/build/reproducible-path/libtest-mockfile-perl-0.036' dh_installexamples sed -i '1s|^#!perl|#!/usr/bin/perl|' /build/reproducible-path/libtest-mockfile-perl-0.036/debian/libtest-mockfile-perl/usr/share/doc/libtest-mockfile-perl/examples/* make[1]: Leaving directory '/build/reproducible-path/libtest-mockfile-perl-0.036' dh_installman dh_perl dh_link dh_strip_nondeterminism dh_compress dh_fixperms dh_missing dh_installdeb dh_gencontrol dh_md5sums dh_builddeb dpkg-deb: building package 'libtest-mockfile-perl' in '../libtest-mockfile-perl_0.036-1_all.deb'. dpkg-genbuildinfo --build=binary -O../libtest-mockfile-perl_0.036-1_amd64.buildinfo dpkg-genchanges --build=binary -O../libtest-mockfile-perl_0.036-1_amd64.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: including full source code in upload I: copying local configuration I: user script /srv/workspace/pbuilder/1774686/tmp/hooks/B01_cleanup starting I: user script /srv/workspace/pbuilder/1774686/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/1774686 and its subdirectories I: Current time: Fri Dec 26 11:29:52 +14 2025 I: pbuilder-time-stamp: 1766698192 + false + set +x Thu Dec 25 21:29:52 UTC 2025 I: Signing ./b2/libtest-mockfile-perl_0.036-1_amd64.buildinfo as libtest-mockfile-perl_0.036-1_amd64.buildinfo.asc Thu Dec 25 21:29:52 UTC 2025 I: Signed ./b2/libtest-mockfile-perl_0.036-1_amd64.buildinfo as ./b2/libtest-mockfile-perl_0.036-1_amd64.buildinfo.asc Thu Dec 25 21:29:52 UTC 2025 - build #2 for libtest-mockfile-perl/unstable/amd64 on ionos5-amd64 done. Starting cleanup. All cleanup done. Thu Dec 25 21:29:52 UTC 2025 - reproducible_build.sh stopped running as /tmp/jenkins-script-kbAgTVof, removing. /srv/reproducible-results/rbuild-debian/r-b-build.bqwwQIRH: total 88 drwxr-xr-x 2 jenkins jenkins 4096 Nov 22 15:06 b1 drwxr-xr-x 2 jenkins jenkins 4096 Nov 22 15:06 b2 -rw-r--r-- 1 jenkins jenkins 2718 Aug 9 2023 libtest-mockfile-perl_0.036-1.dsc -rw------- 1 jenkins jenkins 72339 Nov 22 15:06 rbuildlog.kOGugBN /srv/reproducible-results/rbuild-debian/r-b-build.bqwwQIRH/b1: total 216 -rw-r--r-- 1 jenkins jenkins 68134 Nov 22 15:06 build.log -rw-r--r-- 1 jenkins jenkins 2092 Nov 22 15:06 libtest-mockfile-perl_0.036-1.debian.tar.xz -rw-r--r-- 1 jenkins jenkins 2718 Nov 22 15:06 libtest-mockfile-perl_0.036-1.dsc -rw-r--r-- 1 jenkins jenkins 46136 Nov 22 15:06 libtest-mockfile-perl_0.036-1_all.deb -rw-r--r-- 1 jenkins jenkins 5464 Nov 22 15:06 libtest-mockfile-perl_0.036-1_amd64.buildinfo -rw-r--r-- 1 jenkins jenkins 6346 Nov 22 15:06 libtest-mockfile-perl_0.036-1_amd64.buildinfo.asc -rw-r--r-- 1 jenkins jenkins 1175 Nov 22 15:06 libtest-mockfile-perl_0.036-1_amd64.changes -rw-r--r-- 1 jenkins jenkins 1626 Nov 22 15:06 libtest-mockfile-perl_0.036-1_source.changes -rw-r--r-- 1 jenkins jenkins 59444 Nov 22 15:06 libtest-mockfile-perl_0.036.orig.tar.gz /srv/reproducible-results/rbuild-debian/r-b-build.bqwwQIRH/b2: total 212 -rw-r--r-- 1 jenkins jenkins 70077 Nov 22 15:06 build.log -rw-r--r-- 1 jenkins jenkins 2092 Nov 22 15:06 libtest-mockfile-perl_0.036-1.debian.tar.xz -rw-r--r-- 1 jenkins jenkins 2718 Nov 22 15:06 libtest-mockfile-perl_0.036-1.dsc -rw-r--r-- 1 jenkins jenkins 46136 Nov 22 15:06 libtest-mockfile-perl_0.036-1_all.deb -rw-r--r-- 1 jenkins jenkins 5473 Nov 22 15:06 libtest-mockfile-perl_0.036-1_amd64.buildinfo -rw-r--r-- 1 jenkins jenkins 6355 Nov 22 15:06 libtest-mockfile-perl_0.036-1_amd64.buildinfo.asc -rw-r--r-- 1 jenkins jenkins 1175 Nov 22 15:06 libtest-mockfile-perl_0.036-1_amd64.changes -rw-r--r-- 1 jenkins jenkins 1626 Nov 22 15:06 libtest-mockfile-perl_0.036-1_source.changes -rw-r--r-- 1 jenkins jenkins 59444 Nov 22 15:06 libtest-mockfile-perl_0.036.orig.tar.gz Fri Nov 22 15:06:53 UTC 2024 I: Deleting $TMPDIR on ionos5-amd64.debian.net. Fri Nov 22 15:06:53 UTC 2024 I: libtest-mockfile-perl_0.036-1_amd64.changes: Format: 1.8 Date: Wed, 09 Aug 2023 03:32:19 +0200 Source: libtest-mockfile-perl Binary: libtest-mockfile-perl Architecture: all Version: 0.036-1 Distribution: unstable Urgency: medium Maintainer: Debian Perl Group Changed-By: gregor herrmann Description: libtest-mockfile-perl - Perl module that allows tests to validate code, without requiring Changes: libtest-mockfile-perl (0.036-1) unstable; urgency=medium . * Team upload. * Import upstream version 0.036. Checksums-Sha1: af02587e8df8d6fe06832d9bc4a297a024290047 46136 libtest-mockfile-perl_0.036-1_all.deb c72baee1d503b17cc4e553f6e8cdaa25b6901d88 5464 libtest-mockfile-perl_0.036-1_amd64.buildinfo Checksums-Sha256: 4756235b322fd987f8da8927bdc3b308d0e71e91bf77a16ced2f481eb98e489c 46136 libtest-mockfile-perl_0.036-1_all.deb b754e651a3a33dcca9f36a66bbec52a8b3552aeb8476129a2d6c881dfe7d1269 5464 libtest-mockfile-perl_0.036-1_amd64.buildinfo Files: 87d39aab8c9e0746824ac789dafd7985 46136 perl optional libtest-mockfile-perl_0.036-1_all.deb c3209a32a36fe1797e595cd790133d0a 5464 perl optional libtest-mockfile-perl_0.036-1_amd64.buildinfo removed '/var/lib/jenkins/userContent/reproducible/debian/rbuild/unstable/amd64/libtest-mockfile-perl_0.036-1.rbuild.log' removed '/var/lib/jenkins/userContent/reproducible/debian/rbuild/unstable/amd64/libtest-mockfile-perl_0.036-1.rbuild.log.gz' removed '/var/lib/jenkins/userContent/reproducible/debian/logs/unstable/amd64/libtest-mockfile-perl_0.036-1.build1.log.gz' removed '/var/lib/jenkins/userContent/reproducible/debian/logs/unstable/amd64/libtest-mockfile-perl_0.036-1.build2.log.gz' removed '/var/lib/jenkins/userContent/reproducible/debian/buildinfo/unstable/amd64/libtest-mockfile-perl_0.036-1_amd64.buildinfo' removed '/var/lib/jenkins/userContent/reproducible/debian/logdiffs/unstable/amd64/libtest-mockfile-perl_0.036-1.diff.gz' Diff of the two buildlogs: -- --- b1/build.log 2024-11-22 15:06:17.774300723 +0000 +++ b2/build.log 2024-11-22 15:06:53.212695932 +0000 @@ -1,6 +1,6 @@ I: pbuilder: network access will be disabled during build -I: Current time: Fri Nov 22 03:04:58 -12 2024 -I: pbuilder-time-stamp: 1732287898 +I: Current time: Fri Dec 26 11:29:20 +14 2025 +I: pbuilder-time-stamp: 1766698160 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/unstable-reproducible-base.tgz] I: copying local configuration @@ -25,52 +25,84 @@ dpkg-source: info: unpacking libtest-mockfile-perl_0.036-1.debian.tar.xz I: Not using root during the build. I: Installing the build-deps -I: user script /srv/workspace/pbuilder/1560202/tmp/hooks/D02_print_environment starting +I: user script /srv/workspace/pbuilder/1774686/tmp/hooks/D01_modify_environment starting +debug: Running on ionos5-amd64. +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 Dec 25 21:29 /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/1774686/tmp/hooks/D01_modify_environment finished +I: user script /srv/workspace/pbuilder/1774686/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='amd64' - DEBIAN_FRONTEND='noninteractive' - DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=20 ' - DISTRIBUTION='unstable' - HOME='/root' - HOST_ARCH='amd64' + 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]="32" [3]="1" [4]="release" [5]="x86_64-pc-linux-gnu") + BASH_VERSION='5.2.32(1)-release' + BUILDDIR=/build/reproducible-path + BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other' + BUILDUSERNAME=pbuilder2 + BUILD_ARCH=amd64 + DEBIAN_FRONTEND=noninteractive + DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=42 ' + DIRSTACK=() + DISTRIBUTION=unstable + EUID=0 + FUNCNAME=([0]="Echo" [1]="main") + GROUPS=() + HOME=/root + HOSTNAME=i-capture-the-hostname + HOSTTYPE=x86_64 + HOST_ARCH=amd64 IFS=' ' - INVOCATION_ID='f396157115534a9ca402bee37e12e7cb' - 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='1560202' - PS1='# ' - PS2='> ' + INVOCATION_ID=a806d381f8974345a6910e376d4f608a + LANG=C + LANGUAGE=et_EE:et + LC_ALL=C + MACHTYPE=x86_64-pc-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=1774686 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.bqwwQIRH/pbuilderrc_n7BX --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.bqwwQIRH/b1 --logfile b1/build.log libtest-mockfile-perl_0.036-1.dsc' - SUDO_GID='110' - SUDO_UID='105' - SUDO_USER='jenkins' - TERM='unknown' - TZ='/usr/share/zoneinfo/Etc/GMT+12' - USER='root' - _='/usr/bin/systemd-run' - http_proxy='http://46.16.76.132: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.bqwwQIRH/pbuilderrc_clO9 --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.bqwwQIRH/b2 --logfile b2/build.log libtest-mockfile-perl_0.036-1.dsc' + SUDO_GID=110 + SUDO_UID=105 + SUDO_USER=jenkins + TERM=unknown + TZ=/usr/share/zoneinfo/Etc/GMT-14 + UID=0 + USER=root + _='I: set' + http_proxy=http://213.165.73.152:3128 I: uname -a - Linux ionos1-amd64 6.1.0-27-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.115-1 (2024-11-01) x86_64 GNU/Linux + Linux i-capture-the-hostname 6.11.5+bpo-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.11.5-1~bpo12+1 (2024-11-11) x86_64 GNU/Linux I: ls -l /bin - lrwxrwxrwx 1 root root 7 Aug 4 21:30 /bin -> usr/bin -I: user script /srv/workspace/pbuilder/1560202/tmp/hooks/D02_print_environment finished + lrwxrwxrwx 1 root root 7 Aug 4 2024 /bin -> usr/bin +I: user script /srv/workspace/pbuilder/1774686/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy @@ -171,7 +203,7 @@ Get: 47 http://deb.debian.org/debian unstable/main amd64 libtest2-plugin-nowarnings-perl all 0.10-1 [15.8 kB] Get: 48 http://deb.debian.org/debian unstable/main amd64 libtest2-tools-explain-perl all 0.02-2 [9684 B] Get: 49 http://deb.debian.org/debian unstable/main amd64 libtext-glob-perl all 0.11-3 [7676 B] -Fetched 21.1 MB in 1s (29.9 MB/s) +Fetched 21.1 MB in 0s (69.5 MB/s) debconf: delaying package configuration, since apt-utils is not installed Selecting previously unselected package sensible-utils. (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 ... 19966 files and directories currently installed.) @@ -382,7 +414,11 @@ Building tag database... -> Finished parsing the build-deps I: Building the package -I: Running cd /build/reproducible-path/libtest-mockfile-perl-0.036/ && 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 > ../libtest-mockfile-perl_0.036-1_source.changes +I: user script /srv/workspace/pbuilder/1774686/tmp/hooks/A99_set_merged_usr starting +Not re-configuring usrmerge for unstable +I: user script /srv/workspace/pbuilder/1774686/tmp/hooks/A99_set_merged_usr finished +hostname: Name or service not known +I: Running cd /build/reproducible-path/libtest-mockfile-perl-0.036/ && 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 > ../libtest-mockfile-perl_0.036-1_source.changes dpkg-buildpackage: info: source package libtest-mockfile-perl dpkg-buildpackage: info: source version 0.036-1 dpkg-buildpackage: info: source distribution unstable @@ -404,18 +440,18 @@ Writing Makefile for Test::MockFile Writing MYMETA.yml and MYMETA.json dh_auto_build - make -j20 + make -j42 make[1]: Entering directory '/build/reproducible-path/libtest-mockfile-perl-0.036' -cp lib/Test/MockFile/DirHandle.pm blib/lib/Test/MockFile/DirHandle.pm -cp lib/Test/MockFile.pm blib/lib/Test/MockFile.pm -cp lib/Test/MockFile/Plugin.pm blib/lib/Test/MockFile/Plugin.pm cp lib/Test/MockFile/Plugin/FileTemp.pm blib/lib/Test/MockFile/Plugin/FileTemp.pm -cp lib/Test/MockFile/FileHandle.pm blib/lib/Test/MockFile/FileHandle.pm +cp lib/Test/MockFile/Plugin.pm blib/lib/Test/MockFile/Plugin.pm cp lib/Test/MockFile/Plugins.pm blib/lib/Test/MockFile/Plugins.pm +cp lib/Test/MockFile/FileHandle.pm blib/lib/Test/MockFile/FileHandle.pm +cp lib/Test/MockFile/DirHandle.pm blib/lib/Test/MockFile/DirHandle.pm +cp lib/Test/MockFile.pm blib/lib/Test/MockFile.pm Manifying 6 pod documents make[1]: Leaving directory '/build/reproducible-path/libtest-mockfile-perl-0.036' dh_auto_test - make -j20 test TEST_VERBOSE=1 + make -j42 test TEST_VERBOSE=1 make[1]: Entering directory '/build/reproducible-path/libtest-mockfile-perl-0.036' PERL_DL_NONLAZY=1 "/usr/bin/perl" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(1, 'blib/lib', 'blib/arch')" t/*.t # Testing Test::MockFile 0.036 with Overload::FileCheck 0.013 and File::Temp 0.2311 @@ -427,12 +463,12 @@ 1..3 ok t/chmod-filetemp.t .................. -# Seeded srand with seed '20241122' from local date. +# Seeded srand with seed '20251225' from local date. ok 1 1..1 ok t/chmod.t ........................... -# Seeded srand with seed '20241122' from local date. +# Seeded srand with seed '20251225' from local date. ok 1 - Defaults { ok 1 - Directory /foo exists ok 2 - File /foo/bar exists @@ -483,7 +519,7 @@ 1..4 ok t/chown-chmod-nostrict.t ............ -# Seeded srand with seed '20241122' from local date. +# Seeded srand with seed '20251225' from local date. ok 1 - Unmocked files and mixing unmocked and mocked files { ok 1 - Even without strict mode, you cannot mix mocked and unmocked files (chown) ok 2 - Even without strict mode, you cannot mix mocked and unmocked files (chmod) @@ -492,30 +528,30 @@ 1..1 ok t/chown.t ........................... -# Seeded srand with seed '20241122' from local date. +# Seeded srand with seed '20251225' from local date. ok 1 - Default ownership { ok 1 - Directory /foo exists ok 2 - File /foo/bar exists - ok 3 - /foo set UID correctly to 1111 - ok 4 - /foo set GID correctly to 1111 - ok 5 - /foo/bar set UID correctly to 1111 - ok 6 - /foo/bar set GID correctly to 1111 + ok 3 - /foo set UID correctly to 2222 + ok 4 - /foo set GID correctly to 2222 + ok 5 - /foo/bar set UID correctly to 2222 + ok 6 - /foo/bar set GID correctly to 2222 1..6 } ok 2 - Change ownership of file to someone else { - # $>: 1111, $): 1111 1111 + # $>: 2222, $): 2222 2222 ok 1 - chown file to some high, probably unavailable, UID/GID - ok 2 - chown failed (EPERM): $>:1111, $):1111 1111 + ok 2 - chown failed (EPERM): $>:2222, $):2222 2222 ok 3 - chown file to some high, probably unavailable, GID - ok 4 - chown failed (EPERM): $>:1111, $):1111 1111 + ok 4 - chown failed (EPERM): $>:2222, $):2222 2222 ok 5 - chown file to some high, probably unavailable, UID - ok 6 - chown failed (EPERM): $>:1111, $):1111 1111 + ok 6 - chown failed (EPERM): $>:2222, $):2222 2222 ok 7 - chown file to root - ok 8 - chown failed (EPERM): $>:1111, $):1111 1111 + ok 8 - chown failed (EPERM): $>:2222, $):2222 2222 ok 9 - chown file to root GID - ok 10 - chown failed (EPERM): $>:1111, $):1111 1111 + ok 10 - chown failed (EPERM): $>:2222, $):2222 2222 ok 11 - chown file to root UID - ok 12 - chown failed (EPERM): $>:1111, $):1111 1111 + ok 12 - chown failed (EPERM): $>:2222, $):2222 2222 1..12 } ok 3 - chown with bareword (nonexistent file) { @@ -554,7 +590,7 @@ 1..7 ok t/detect-common-mistakes.t .......... -# Seeded srand with seed '20241122' from local date. +# Seeded srand with seed '20251225' from local date. ok 1 - Removing trailing forward slash for directories { ok 1 - Create /foo/ ok 2 - Test::MockFile=HASH->isa('Test::MockFile') @@ -595,7 +631,7 @@ 1..3 ok t/dir_interface.t ................... -# Seeded srand with seed '20241122' from local date. +# Seeded srand with seed '20251225' from local date. ok 1 - ->dir() checks { ok 1 - Cannot do TMF->dir( "/etc", [@content], { 1 => 2 } ) ok 2 - Cannot do TMF->dir( "/etc", [@content] ) @@ -654,7 +690,7 @@ 1..5 ok t/file_access_hooks.t ............... -# Seeded srand with seed '20241122' from local date. +# Seeded srand with seed '20251225' from local date. # -------------- REAL MODE -------------- ok 1 - Using open on an unmocked file throws a croak ok 2 - Using a 2 arg open on an unmocked file throws a croak @@ -682,14 +718,14 @@ 1..6 ok t/fileno.t .......................... -# Seeded srand with seed '20241122' from local date. +# Seeded srand with seed '20251225' from local date. ok 1 - Opened file ok 2 - Refuse to support fileno ok 3 - Opened file 1..3 ok t/globbing.t ........................ -# Seeded srand with seed '20241122' from local date. +# Seeded srand with seed '20251225' from local date. ok 1 - glob(/*.txt) ok 2 - ok 3 - glob(/*.txt) @@ -707,7 +743,7 @@ 1..14 ok t/goto_is_available.t ............... -# Seeded srand with seed '20241122' from local date. +# Seeded srand with seed '20251225' from local date. ok 1 - goto isn't available on 5.006002 ok 2 - goto isn't available on 5.008008 ok 3 - goto was first available on 5.016000 @@ -721,7 +757,7 @@ 1..10 ok t/handle-corruption.t ............... -# Seeded srand with seed '20241122' from local date. +# Seeded srand with seed '20251225' from local date. ok 1 - IO::Handle=GLOB->isa('IO::Handle') ok 2 - Succesfully opened file ok 3 - No error (string) @@ -733,7 +769,7 @@ 1..8 ok t/import.t .......................... -# Seeded srand with seed '20241122' from local date. +# Seeded srand with seed '20251225' from local date. # Happy Imports ok 1 - default mode is STRICT_MODE_DEFAULT { ok 1 - Exit Value Check @@ -768,7 +804,7 @@ ok t/manifest.t ........................ skipped: Test::CheckManifest is broken - https://github.com/reneeb/Test-CheckManifest/issues/20 t/mkdir.t ........................... -# Seeded srand with seed '20241122' from local date. +# Seeded srand with seed '20251225' from local date. ok 1 - basic mkdir { ok 1 - REAL mkdir when dir is missing. ok 2 - - $! is unset. @@ -835,7 +871,7 @@ 1..6 ok t/mock_stat.t ....................... -# Seeded srand with seed '20241122' from local date. +# Seeded srand with seed '20251225' from local date. # _abs_path_to_file ok 1 - no / prefix makes prepends path on it ok 2 - undef is undef @@ -877,14 +913,14 @@ ok 35 - stat on /broken_link is an empty array since what it points to doesn't exist. ok 36 - mocked file is executable ok 37 - default uid is current UID -# GID 1111 +# GID 2222 ok 38 - default fid is current GID ok 39 - Directory /quux exists ok 40 - Directory /quux/ also exists 1..40 ok t/new_dir_interface.t ............... -# Seeded srand with seed '20241122' from local date. +# Seeded srand with seed '20251225' from local date. ok 1 - ->dir() checks when going through ->new_dir() { ok 1 - Cannot do TMF->dir( "/etc", { 1 => 2 } ) ok 2 - Cannot do TMF->dir( "/etc", [@content], { 1 => 2 } ) @@ -926,7 +962,7 @@ 1..4 ok t/open-noclose.t .................... -# Seeded srand with seed '20241122' from local date. +# Seeded srand with seed '20251225' from local date. ok 1 - missing file argument ok 2 - missing file # empty file @@ -1001,17 +1037,17 @@ 1..17 ok t/open_strict.t ..................... -# Seeded srand with seed '20241122' from local date. +# Seeded srand with seed '20251225' from local date. ok 1 - open() to read a filehandle fails ok 2 - open() to dup a file descriptor works ok 3 - open() to re-perlify a file descriptor works 1..3 ok t/opendir.t ......................... -# Seeded srand with seed '20241122' from local date. +# Seeded srand with seed '20251225' from local date. # -------------- REAL MODE -------------- ok 1 - Temp is created on disk. -ok 2 - /tmp/5IM5AIDu3t can be read +ok 2 - /tmp/TkAXe1QTm7 can be read ok 3 - We read 3 entries in some order. Not predictable, but sort fixes that! ok 4 - undef when nothing left from readdir. ok 5 - close the fake dir handle @@ -1046,13 +1082,13 @@ 1..32 ok t/path.t ............................ -# Seeded srand with seed '20241122' from local date. +# Seeded srand with seed '20251225' from local date. ok 1 - /some/nonexistant/path is set when the file isn't there. ok 2 - /some/nonexistant/path is set when the file is there. 1..2 ok t/plugin-filetemp.t ................. -# Seeded srand with seed '20241122' from local date. +# Seeded srand with seed '20251225' from local date. ok 1 - File::Temp is not loaded before Test::MockFile ok 2 - File::Temp is loaded ok 3 - we can open a tempfile @@ -1065,7 +1101,7 @@ 1..9 ok t/plugin.t .......................... -# Seeded srand with seed '20241122' from local date. +# Seeded srand with seed '20251225' from local date. ok 1 - Cannot find a Test::MockFile plugin for Unknown { ok 1 - Exit Value Check ok 2 - Cannot find a Test::MockFile plugin for Unknown @@ -1094,7 +1130,7 @@ t/pod-coverage.t .................... skipped: Author tests not required for installation t/pod.t ............................. skipped: Author tests not required for installation t/readline.t ........................ -# Seeded srand with seed '20241122' from local date. +# Seeded srand with seed '20251225' from local date. # -------------- REAL MODE -------------- ok 1 - Temp file is on disk and right size ok 2 - Open a real file written by File::Temp @@ -1129,10 +1165,10 @@ ok 29 - $fh2 stringifies to a GLOB ok 30 - ... line 1 ok 31 - ... line 1 -ok 32 - Can't open a missing file "/tmp/n4L92Qw9Dg" +ok 32 - Can't open a missing file "/tmp/G2bhKTHP3r" ok 33 - What $! looks like when failing to open the missing file. # -------------- MOCK MODE -------------- -ok 34 - Can't open a missing file "/tmp/n4L92Qw9Dg" +ok 34 - Can't open a missing file "/tmp/G2bhKTHP3r" ok 35 - What $! looks like when failing to open the missing file. # --------------------------------------- ok 36 - REAL multiline do slurp works @@ -1142,7 +1178,7 @@ 1..38 ok t/readlink.t ........................ -# Seeded srand with seed '20241122' from local date. +# Seeded srand with seed '20251225' from local date. # -------------- REAL MODE -------------- ok 1 - readlink on missing file ok 2 - $! is ENOENT for a missing file readlink. @@ -1190,7 +1226,7 @@ 1..32 ok t/rmdir.t ........................... -# Seeded srand with seed '20241122' from local date. +# Seeded srand with seed '20251225' from local date. ok 1 - basic rmdir { ok 1 - REAL mkdir when dir is missing. ok 2 - - $! is unset. @@ -1247,13 +1283,13 @@ 1..6 ok t/runtime-bareword-filehandles.t .... -# Seeded srand with seed '20241122' from local date. +# Seeded srand with seed '20251225' from local date. ok 1 - Successfully handled bareword filehandles during runtime ok 2 - No observed error 1..2 ok t/stat-x.t .......................... -# Seeded srand with seed '20241122' from local date. +# Seeded srand with seed '20251225' from local date. ok 1 - -x after unlink { ok 1 - File should exist ok 2 - File should be executable @@ -1282,7 +1318,7 @@ 1..3 ok t/strict-rules.t .................... -# Seeded srand with seed '20241122' from local date. +# Seeded srand with seed '20251225' from local date. ok 1 - Cannot open an unmocked file in strict mode # add_strict_rule_for_filename ok 2 - can open a file with a custom rule @@ -1310,7 +1346,7 @@ 1..21 ok t/strict-rules_file-temp-example.t .. -# Seeded srand with seed '20241122' from local date. +# Seeded srand with seed '20251225' from local date. ok 1 - Cannot open an unmocked file in strict mode ok 2 - Cannot open directory from tempdir ok 3 - _setup_strict_rules_for_file_temp @@ -1319,7 +1355,7 @@ 1..5 ok t/strict-rules_scalar.t ............. -# Seeded srand with seed '20241122' from local date. +# Seeded srand with seed '20251225' from local date. ok 1 - -e "/no/mocked" ok 2 - -l "/no/mocked" # add_strict_rule_for_command for stat / lstat @@ -1335,7 +1371,7 @@ 1..11 ok t/symlink.t ......................... -# Seeded srand with seed '20241122' from local date. +# Seeded srand with seed '20251225' from local date. ok 1 - Directory does not exist yet ok 2 - Directory now exists ok 3 - Directory with symlink content are correct @@ -1343,7 +1379,7 @@ 1..4 ok t/sysopen.t ......................... -# Seeded srand with seed '20241122' from local date. +# Seeded srand with seed '20251225' from local date. # -------------- REAL MODE -------------- ok 1 - Sysopen for write ok 2 - 2 arg syswrite @@ -1358,7 +1394,7 @@ ok 10 - 4 arg syswrite ok 11 - sysclose $fh ok 12 - Fake file contents match what was written -ok 13 - mocked /tmp/7rJwb0gqgX is not present after mock file goes offline +ok 13 - mocked /tmp/Uemkp0502Y is not present after mock file goes offline ok 14 - No mock files are in cache # -------------- REAL MODE -------------- ok 15 - Sysopen for read @@ -1409,19 +1445,19 @@ 1..56 ok t/sysopen_strict.t .................. -# Seeded srand with seed '20241122' from local date. +# Seeded srand with seed '20251225' from local date. ok 1 - sysopen() to read a filehandle fails 1..1 ok t/Test-MockFile_file.t .............. -# Seeded srand with seed '20241122' from local date. +# Seeded srand with seed '20251225' from local date. ok 1 - Todo 1..1 ok t/touch.t ........................... -# Seeded srand with seed '20241122' from local date. +# Seeded srand with seed '20251225' from local date. # -------------- REAL MODE -------------- -ok 1 - /tmp/7rJwb0gqgX is there +ok 1 - /tmp/Uemkp0502Y is there ok 2 - unlink on a dir fails ok 3 - unlink /dir is non-zero (21) # -------------- MOCK MODE -------------- @@ -1454,7 +1490,7 @@ 1..29 ok t/unlink.t .......................... -# Seeded srand with seed '20241122' from local date. +# Seeded srand with seed '20251225' from local date. ok 1 - unlink on a missing file { ok 1 - REAL CORE::unlink returns 0 files deleted. ok 2 - $! is set to ENOENT @@ -1488,7 +1524,7 @@ 1..4 ok t/writeline.t ....................... -# Seeded srand with seed '20241122' from local date. +# Seeded srand with seed '20251225' from local date. # -------------- REAL MODE -------------- ok 1 - tempfile originally writes out 16 bytes ok 2 - Open file for overwrite @@ -1516,27 +1552,27 @@ 1..21 ok All tests successful. -Files=42, Tests=444, 11 wallclock secs ( 0.21 usr 0.09 sys + 9.72 cusr 2.76 csys = 12.78 CPU) +Files=42, Tests=444, 7 wallclock secs ( 0.15 usr 0.08 sys + 6.27 cusr 1.45 csys = 7.95 CPU) Result: PASS make[1]: Leaving directory '/build/reproducible-path/libtest-mockfile-perl-0.036' create-stamp debian/debhelper-build-stamp dh_prep dh_auto_install --destdir=debian/libtest-mockfile-perl/ - make -j20 install DESTDIR=/build/reproducible-path/libtest-mockfile-perl-0.036/debian/libtest-mockfile-perl AM_UPDATE_INFO_DIR=no PREFIX=/usr + make -j42 install DESTDIR=/build/reproducible-path/libtest-mockfile-perl-0.036/debian/libtest-mockfile-perl AM_UPDATE_INFO_DIR=no PREFIX=/usr make[1]: Entering directory '/build/reproducible-path/libtest-mockfile-perl-0.036' Manifying 6 pod documents Installing /build/reproducible-path/libtest-mockfile-perl-0.036/debian/libtest-mockfile-perl/usr/share/perl5/Test/MockFile.pm -Installing /build/reproducible-path/libtest-mockfile-perl-0.036/debian/libtest-mockfile-perl/usr/share/perl5/Test/MockFile/Plugins.pm -Installing /build/reproducible-path/libtest-mockfile-perl-0.036/debian/libtest-mockfile-perl/usr/share/perl5/Test/MockFile/DirHandle.pm Installing /build/reproducible-path/libtest-mockfile-perl-0.036/debian/libtest-mockfile-perl/usr/share/perl5/Test/MockFile/FileHandle.pm +Installing /build/reproducible-path/libtest-mockfile-perl-0.036/debian/libtest-mockfile-perl/usr/share/perl5/Test/MockFile/DirHandle.pm Installing /build/reproducible-path/libtest-mockfile-perl-0.036/debian/libtest-mockfile-perl/usr/share/perl5/Test/MockFile/Plugin.pm +Installing /build/reproducible-path/libtest-mockfile-perl-0.036/debian/libtest-mockfile-perl/usr/share/perl5/Test/MockFile/Plugins.pm Installing /build/reproducible-path/libtest-mockfile-perl-0.036/debian/libtest-mockfile-perl/usr/share/perl5/Test/MockFile/Plugin/FileTemp.pm +Installing /build/reproducible-path/libtest-mockfile-perl-0.036/debian/libtest-mockfile-perl/usr/share/man/man3/Test::MockFile::Plugin.3pm +Installing /build/reproducible-path/libtest-mockfile-perl-0.036/debian/libtest-mockfile-perl/usr/share/man/man3/Test::MockFile.3pm +Installing /build/reproducible-path/libtest-mockfile-perl-0.036/debian/libtest-mockfile-perl/usr/share/man/man3/Test::MockFile::FileHandle.3pm Installing /build/reproducible-path/libtest-mockfile-perl-0.036/debian/libtest-mockfile-perl/usr/share/man/man3/Test::MockFile::Plugin::FileTemp.3pm Installing /build/reproducible-path/libtest-mockfile-perl-0.036/debian/libtest-mockfile-perl/usr/share/man/man3/Test::MockFile::Plugins.3pm Installing /build/reproducible-path/libtest-mockfile-perl-0.036/debian/libtest-mockfile-perl/usr/share/man/man3/Test::MockFile::DirHandle.3pm -Installing /build/reproducible-path/libtest-mockfile-perl-0.036/debian/libtest-mockfile-perl/usr/share/man/man3/Test::MockFile::FileHandle.3pm -Installing /build/reproducible-path/libtest-mockfile-perl-0.036/debian/libtest-mockfile-perl/usr/share/man/man3/Test::MockFile::Plugin.3pm -Installing /build/reproducible-path/libtest-mockfile-perl-0.036/debian/libtest-mockfile-perl/usr/share/man/man3/Test::MockFile.3pm make[1]: Leaving directory '/build/reproducible-path/libtest-mockfile-perl-0.036' dh_installdocs dh_installchangelogs @@ -1564,12 +1600,14 @@ dpkg-buildpackage: info: binary-only upload (no source included) dpkg-genchanges: info: including full source code in upload I: copying local configuration +I: user script /srv/workspace/pbuilder/1774686/tmp/hooks/B01_cleanup starting +I: user script /srv/workspace/pbuilder/1774686/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/1560202 and its subdirectories -I: Current time: Fri Nov 22 03:06:17 -12 2024 -I: pbuilder-time-stamp: 1732287977 +I: removing directory /srv/workspace/pbuilder/1774686 and its subdirectories +I: Current time: Fri Dec 26 11:29:52 +14 2025 +I: pbuilder-time-stamp: 1766698192 Compressing the 2nd log... /var/lib/jenkins/userContent/reproducible/debian/logdiffs/unstable/amd64/libtest-mockfile-perl_0.036-1.diff: 75.6% -- replaced with /var/lib/jenkins/userContent/reproducible/debian/logdiffs/unstable/amd64/libtest-mockfile-perl_0.036-1.diff.gz b2/build.log: 77.4% -- replaced with stdout Compressing the 1st log... b1/build.log: 77.8% -- replaced with stdout Fri Nov 22 15:06:55 UTC 2024 I: diffoscope 283 will be used to compare the two builds: ++ date -u +%s + DIFFOSCOPE_STAMP=/var/log/reproducible-builds/diffoscope_stamp_libtest-mockfile-perl_unstable_amd64_1732288015 + touch /var/log/reproducible-builds/diffoscope_stamp_libtest-mockfile-perl_unstable_amd64_1732288015 + RESULT=0 + systemd-run '--description=diffoscope on libtest-mockfile-perl/0.036-1 in unstable/amd64' --slice=rb-build-diffoscope.slice -u rb-diffoscope-amd64_25-22736 '--property=SuccessExitStatus=1 124' --user --send-sighup --pipe --wait -E TMPDIR timeout 155m nice schroot --directory /srv/reproducible-results/rbuild-debian/r-b-build.bqwwQIRH --run-session -c jenkins-reproducible-unstable-diffoscope-9e467c88-d96d-4fba-8182-957788ede414 -- sh -c 'export TMPDIR=/srv/reproducible-results/rbuild-debian/r-b-build.bqwwQIRH/dbd-tmp-YGixf0g ; timeout 150m diffoscope --timeout 7200 --html /srv/reproducible-results/rbuild-debian/r-b-build.bqwwQIRH/libtest-mockfile-perl_0.036-1.diffoscope.html --text /srv/reproducible-results/rbuild-debian/r-b-build.bqwwQIRH/libtest-mockfile-perl_0.036-1.diffoscope.txt --json /srv/reproducible-results/rbuild-debian/r-b-build.bqwwQIRH/libtest-mockfile-perl_0.036-1.diffoscope.json --profile=- /srv/reproducible-results/rbuild-debian/r-b-build.bqwwQIRH/b1/libtest-mockfile-perl_0.036-1_amd64.changes /srv/reproducible-results/rbuild-debian/r-b-build.bqwwQIRH/b2/libtest-mockfile-perl_0.036-1_amd64.changes' + false + set +x Running as unit: rb-diffoscope-amd64_25-22736.service # Profiling output for: /usr/bin/diffoscope --timeout 7200 --html /srv/reproducible-results/rbuild-debian/r-b-build.bqwwQIRH/libtest-mockfile-perl_0.036-1.diffoscope.html --text /srv/reproducible-results/rbuild-debian/r-b-build.bqwwQIRH/libtest-mockfile-perl_0.036-1.diffoscope.txt --json /srv/reproducible-results/rbuild-debian/r-b-build.bqwwQIRH/libtest-mockfile-perl_0.036-1.diffoscope.json --profile=- /srv/reproducible-results/rbuild-debian/r-b-build.bqwwQIRH/b1/libtest-mockfile-perl_0.036-1_amd64.changes /srv/reproducible-results/rbuild-debian/r-b-build.bqwwQIRH/b2/libtest-mockfile-perl_0.036-1_amd64.changes ## command (total time: 0.000s) 0.000s 1 call cmp (internal) ## has_same_content_as (total time: 0.000s) 0.000s 1 call abc.DotChangesFile ## main (total time: 0.348s) 0.348s 2 calls outputs 0.000s 1 call cleanup ## recognizes (total time: 0.015s) 0.015s 12 calls diffoscope.comparators.binary.FilesystemFile ## specialize (total time: 0.000s) 0.000s 1 call specialize Finished with result: success Main processes terminated with: code=exited/status=0 Service runtime: 651ms CPU time consumed: 651ms _ _ _ _ _ _ __ _ _ | (_) |__ | |_ ___ ___| |_ _ __ ___ ___ ___| | __/ _(_) | ___ | | | '_ \| __/ _ \/ __| __|____| '_ ` _ \ / _ \ / __| |/ / |_| | |/ _ \_____ | | | |_) | || __/\__ \ ||_____| | | | | | (_) | (__| <| _| | | __/_____| |_|_|_.__/ \__\___||___/\__| |_| |_| |_|\___/ \___|_|\_\_| |_|_|\___| _ _ __ ___ _ __| | | '_ \ / _ \ '__| | | |_) | __/ | | | | .__/ \___|_| |_| |_| Fri Nov 22 15:06:56 UTC 2024 I: diffoscope 283 found no differences in the changes files, and a .buildinfo file also exists. Fri Nov 22 15:06:56 UTC 2024 I: libtest-mockfile-perl from unstable built successfully and reproducibly on amd64. INSERT 0 1 INSERT 0 1 DELETE 1 [2024-11-22 15:06:57] INFO: Starting at 2024-11-22 15:06:57.294658 [2024-11-22 15:06:57] INFO: Generating the pages of 1 package(s) [2024-11-22 15:06:57] CRITICAL: https://tests.reproducible-builds.org/debian/unstable/amd64/libtest-mockfile-perl didn't produce a buildlog, even though it has been built. [2024-11-22 15:06:57] INFO: Finished at 2024-11-22 15:06:57.445185, took: 0:00:00.150532 Fri Nov 22 15:06:57 UTC 2024 - successfully updated the database and updated https://tests.reproducible-builds.org/debian/rb-pkg/unstable/amd64/libtest-mockfile-perl.html Fri Nov 22 15:06:57 UTC 2024 I: Submitting .buildinfo files to external archives: Fri Nov 22 15:06:57 UTC 2024 I: Submitting 8.0K b1/libtest-mockfile-perl_0.036-1_amd64.buildinfo.asc https://buildinfo.debian.net/c72baee1d503b17cc4e553f6e8cdaa25b6901d88/libtest-mockfile-perl_0.036-1_all Fri Nov 22 15:06:58 UTC 2024 I: Submitting 8.0K b2/libtest-mockfile-perl_0.036-1_amd64.buildinfo.asc https://buildinfo.debian.net/05cff1d0c2e6282654cbf072890c661aa3bc9c35/libtest-mockfile-perl_0.036-1_all Fri Nov 22 15:06:59 UTC 2024 I: Done submitting .buildinfo files to http://buildinfo.debian.net/api/submit. Fri Nov 22 15:06:59 UTC 2024 I: Done submitting .buildinfo files. Fri Nov 22 15:06:59 UTC 2024 I: Removing signed libtest-mockfile-perl_0.036-1_amd64.buildinfo.asc files: removed './b1/libtest-mockfile-perl_0.036-1_amd64.buildinfo.asc' removed './b2/libtest-mockfile-perl_0.036-1_amd64.buildinfo.asc' 1732288019 amd64 unstable libtest-mockfile-perl Starting cleanup. /var/lib/jenkins/userContent/reproducible/debian/rbuild/unstable/amd64/libtest-mockfile-perl_0.036-1.rbuild.log: 76.1% -- replaced with /var/lib/jenkins/userContent/reproducible/debian/rbuild/unstable/amd64/libtest-mockfile-perl_0.036-1.rbuild.log.gz [2024-11-22 15:06:59] INFO: Starting at 2024-11-22 15:06:59.459548 [2024-11-22 15:06:59] INFO: Generating the pages of 1 package(s) [2024-11-22 15:06:59] INFO: Finished at 2024-11-22 15:06:59.687857, took: 0:00:00.228316 All cleanup done. Fri Nov 22 15:06:59 UTC 2024 - total duration: 0h 2m 21s. Fri Nov 22 15:06:59 UTC 2024 - reproducible_build.sh stopped running as /tmp/jenkins-script-NrHqPOla, removing. Finished with result: success Main processes terminated with: code=exited/status=0 Service runtime: 2min 24.042s CPU time consumed: 6.786s