Sun May 12 13:01:20 UTC 2024 I: starting to build libtest-mockfile-perl/trixie/arm64 on jenkins on '2024-05-12 13:01' Sun May 12 13:01:20 UTC 2024 I: The jenkins build log is/was available at https://jenkins.debian.net/userContent/reproducible/debian/build_service/arm64_5/41568/console.log Sun May 12 13:01:20 UTC 2024 I: Downloading source for trixie/libtest-mockfile-perl=0.036-1 --2024-05-12 13:01:20-- 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% 353M=0s 2024-05-12 13:01:20 (353 MB/s) - ‘libtest-mockfile-perl_0.036-1.dsc’ saved [2718/2718] Sun May 12 13:01:20 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----- Sun May 12 13:01:20 UTC 2024 I: Checking whether the package is not for us Sun May 12 13:01:20 UTC 2024 I: Starting 1st build on remote node codethink03-arm64.debian.net. Sun May 12 13:01:20 UTC 2024 I: Preparing to do remote build '1' on codethink03-arm64.debian.net. Sun May 12 13:01:54 UTC 2024 I: Deleting $TMPDIR on codethink03-arm64.debian.net. I: pbuilder: network access will be disabled during build I: Current time: Sat Jun 14 07:24:22 -12 2025 I: pbuilder-time-stamp: 1749929062 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/trixie-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/486649/tmp/hooks/D02_print_environment starting I: set BUILDDIR='/build/reproducible-path' BUILDUSERGECOS='first user,first room,first work-phone,first home-phone,first other' BUILDUSERNAME='pbuilder1' BUILD_ARCH='arm64' DEBIAN_FRONTEND='noninteractive' DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=12 ' DISTRIBUTION='trixie' HOME='/root' HOST_ARCH='arm64' IFS=' ' INVOCATION_ID='85118dad067449b6a79f3abfe104bef3' 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='486649' 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.HbWIGZWA/pbuilderrc_xa68 --distribution trixie --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/trixie-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.HbWIGZWA/b1 --logfile b1/build.log libtest-mockfile-perl_0.036-1.dsc' SUDO_GID='109' SUDO_UID='104' SUDO_USER='jenkins' TERM='unknown' TZ='/usr/share/zoneinfo/Etc/GMT+12' USER='root' _='/usr/bin/systemd-run' http_proxy='http://192.168.101.4:3128' I: uname -a Linux codethink03-arm64 6.1.0-21-cloud-arm64 #1 SMP Debian 6.1.90-1 (2024-05-03) aarch64 GNU/Linux I: ls -l /bin lrwxrwxrwx 1 root root 7 Jun 12 17:48 /bin -> usr/bin I: user script /srv/workspace/pbuilder/486649/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy Version: 0.invalid.0 Architecture: arm64 Maintainer: Debian Pbuilder Team Description: Dummy package to satisfy dependencies with aptitude - created by pbuilder This package was created automatically by pbuilder to satisfy the build-dependencies of the package being currently built. Depends: debhelper-compat (= 13), 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 ... 19745 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} libsub-override-perl{a} libsuper-perl{a} libterm-table-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} 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 libunicode-linebreak-perl lynx wget 0 packages upgraded, 50 newly installed, 0 to remove and 0 not upgraded. Need to get 19.9 MB of archives. After unpacking 80.1 MB will be used. Writing extended state information... Get: 1 http://deb.debian.org/debian trixie/main arm64 sensible-utils all 0.0.22 [22.4 kB] Get: 2 http://deb.debian.org/debian trixie/main arm64 libmagic-mgc arm64 1:5.45-3 [314 kB] Get: 3 http://deb.debian.org/debian trixie/main arm64 libmagic1t64 arm64 1:5.45-3 [100 kB] Get: 4 http://deb.debian.org/debian trixie/main arm64 file arm64 1:5.45-3 [43.0 kB] Get: 5 http://deb.debian.org/debian trixie/main arm64 gettext-base arm64 0.21-14+b1 [160 kB] Get: 6 http://deb.debian.org/debian trixie/main arm64 libuchardet0 arm64 0.0.8-1+b1 [69.0 kB] Get: 7 http://deb.debian.org/debian trixie/main arm64 groff-base arm64 1.23.0-4 [1130 kB] Get: 8 http://deb.debian.org/debian trixie/main arm64 bsdextrautils arm64 2.40-8 [93.0 kB] Get: 9 http://deb.debian.org/debian trixie/main arm64 libpipeline1 arm64 1.5.7-2 [36.5 kB] Get: 10 http://deb.debian.org/debian trixie/main arm64 man-db arm64 2.12.1-1 [1394 kB] Get: 11 http://deb.debian.org/debian trixie/main arm64 m4 arm64 1.4.19-4 [277 kB] Get: 12 http://deb.debian.org/debian trixie/main arm64 autoconf all 2.71-3 [332 kB] Get: 13 http://deb.debian.org/debian trixie/main arm64 autotools-dev all 20220109.1 [51.6 kB] Get: 14 http://deb.debian.org/debian trixie/main arm64 automake all 1:1.16.5-1.3 [823 kB] Get: 15 http://deb.debian.org/debian trixie/main arm64 autopoint all 0.21-14 [496 kB] Get: 16 http://deb.debian.org/debian trixie/main arm64 libdebhelper-perl all 13.15.3 [88.0 kB] Get: 17 http://deb.debian.org/debian trixie/main arm64 libtool all 2.4.7-7 [517 kB] Get: 18 http://deb.debian.org/debian trixie/main arm64 dh-autoreconf all 20 [17.1 kB] Get: 19 http://deb.debian.org/debian trixie/main arm64 libarchive-zip-perl all 1.68-1 [104 kB] Get: 20 http://deb.debian.org/debian trixie/main arm64 libsub-override-perl all 0.10-1 [10.6 kB] Get: 21 http://deb.debian.org/debian trixie/main arm64 libfile-stripnondeterminism-perl all 1.13.1-1 [19.4 kB] Get: 22 http://deb.debian.org/debian trixie/main arm64 dh-strip-nondeterminism all 1.13.1-1 [8620 B] Get: 23 http://deb.debian.org/debian trixie/main arm64 libelf1t64 arm64 0.191-1+b1 [187 kB] Get: 24 http://deb.debian.org/debian trixie/main arm64 dwz arm64 0.15-1+b1 [102 kB] Get: 25 http://deb.debian.org/debian trixie/main arm64 libicu72 arm64 72.1-4+b1 [9224 kB] Get: 26 http://deb.debian.org/debian trixie/main arm64 libxml2 arm64 2.9.14+dfsg-1.3+b3 [624 kB] Get: 27 http://deb.debian.org/debian trixie/main arm64 gettext arm64 0.21-14+b1 [1249 kB] Get: 28 http://deb.debian.org/debian trixie/main arm64 intltool-debian all 0.35.0+20060710.6 [22.9 kB] Get: 29 http://deb.debian.org/debian trixie/main arm64 po-debconf all 1.0.21+nmu1 [248 kB] Get: 30 http://deb.debian.org/debian trixie/main arm64 debhelper all 13.15.3 [901 kB] Get: 31 http://deb.debian.org/debian trixie/main arm64 libdata-uuid-perl arm64 1.227-1 [18.2 kB] Get: 32 http://deb.debian.org/debian trixie/main arm64 libfile-slurper-perl all 0.014-1 [8560 B] Get: 33 http://deb.debian.org/debian trixie/main arm64 libfilter-perl arm64 1.64-1+b3 [63.7 kB] Get: 34 http://deb.debian.org/debian trixie/main arm64 libgoto-file-perl all 0.005-2 [6880 B] Get: 35 http://deb.debian.org/debian trixie/main arm64 libimporter-perl all 0.026-2 [25.0 kB] Get: 36 http://deb.debian.org/debian trixie/main arm64 liblong-jump-perl all 0.000001-2 [6328 B] Get: 37 http://deb.debian.org/debian trixie/main arm64 liboverload-filecheck-perl arm64 0.013-2+b2 [31.0 kB] Get: 38 http://deb.debian.org/debian trixie/main arm64 libscope-guard-perl all 0.21-2 [8212 B] Get: 39 http://deb.debian.org/debian trixie/main arm64 libsub-identify-perl arm64 0.14-3+b2 [11.2 kB] Get: 40 http://deb.debian.org/debian trixie/main arm64 libsuper-perl all 1.20190531-1 [11.5 kB] Get: 41 http://deb.debian.org/debian trixie/main arm64 libterm-table-perl all 0.018-1 [29.0 kB] Get: 42 http://deb.debian.org/debian trixie/main arm64 libtest-mockmodule-perl all 0.177.0-1 [17.1 kB] Get: 43 http://deb.debian.org/debian trixie/main arm64 libtest2-plugin-memusage-perl all 0.002003-2 [5272 B] Get: 44 http://deb.debian.org/debian trixie/main arm64 libtest2-plugin-uuid-perl all 0.002002-1 [4688 B] Get: 45 http://deb.debian.org/debian trixie/main arm64 libtest2-suite-perl all 0.000159-1 [402 kB] Get: 46 http://deb.debian.org/debian trixie/main arm64 libyaml-tiny-perl all 1.74-1 [30.7 kB] Get: 47 http://deb.debian.org/debian trixie/main arm64 libtest2-harness-perl all 1.000155-2 [542 kB] Get: 48 http://deb.debian.org/debian trixie/main arm64 libtest2-plugin-nowarnings-perl all 0.10-1 [15.8 kB] Get: 49 http://deb.debian.org/debian trixie/main arm64 libtest2-tools-explain-perl all 0.02-2 [9684 B] Get: 50 http://deb.debian.org/debian trixie/main arm64 libtext-glob-perl all 0.11-3 [7676 B] Fetched 19.9 MB in 0s (51.1 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 ... 19745 files and directories currently installed.) Preparing to unpack .../00-sensible-utils_0.0.22_all.deb ... Unpacking sensible-utils (0.0.22) ... Selecting previously unselected package libmagic-mgc. Preparing to unpack .../01-libmagic-mgc_1%3a5.45-3_arm64.deb ... Unpacking libmagic-mgc (1:5.45-3) ... Selecting previously unselected package libmagic1t64:arm64. Preparing to unpack .../02-libmagic1t64_1%3a5.45-3_arm64.deb ... Unpacking libmagic1t64:arm64 (1:5.45-3) ... Selecting previously unselected package file. Preparing to unpack .../03-file_1%3a5.45-3_arm64.deb ... Unpacking file (1:5.45-3) ... Selecting previously unselected package gettext-base. Preparing to unpack .../04-gettext-base_0.21-14+b1_arm64.deb ... Unpacking gettext-base (0.21-14+b1) ... Selecting previously unselected package libuchardet0:arm64. Preparing to unpack .../05-libuchardet0_0.0.8-1+b1_arm64.deb ... Unpacking libuchardet0:arm64 (0.0.8-1+b1) ... Selecting previously unselected package groff-base. Preparing to unpack .../06-groff-base_1.23.0-4_arm64.deb ... Unpacking groff-base (1.23.0-4) ... Selecting previously unselected package bsdextrautils. Preparing to unpack .../07-bsdextrautils_2.40-8_arm64.deb ... Unpacking bsdextrautils (2.40-8) ... Selecting previously unselected package libpipeline1:arm64. Preparing to unpack .../08-libpipeline1_1.5.7-2_arm64.deb ... Unpacking libpipeline1:arm64 (1.5.7-2) ... Selecting previously unselected package man-db. Preparing to unpack .../09-man-db_2.12.1-1_arm64.deb ... Unpacking man-db (2.12.1-1) ... Selecting previously unselected package m4. Preparing to unpack .../10-m4_1.4.19-4_arm64.deb ... Unpacking m4 (1.4.19-4) ... Selecting previously unselected package autoconf. Preparing to unpack .../11-autoconf_2.71-3_all.deb ... Unpacking autoconf (2.71-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.21-14_all.deb ... Unpacking autopoint (0.21-14) ... Selecting previously unselected package libdebhelper-perl. Preparing to unpack .../15-libdebhelper-perl_13.15.3_all.deb ... Unpacking libdebhelper-perl (13.15.3) ... Selecting previously unselected package libtool. Preparing to unpack .../16-libtool_2.4.7-7_all.deb ... Unpacking libtool (2.4.7-7) ... 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 libsub-override-perl. Preparing to unpack .../19-libsub-override-perl_0.10-1_all.deb ... Unpacking libsub-override-perl (0.10-1) ... Selecting previously unselected package libfile-stripnondeterminism-perl. Preparing to unpack .../20-libfile-stripnondeterminism-perl_1.13.1-1_all.deb ... Unpacking libfile-stripnondeterminism-perl (1.13.1-1) ... Selecting previously unselected package dh-strip-nondeterminism. Preparing to unpack .../21-dh-strip-nondeterminism_1.13.1-1_all.deb ... Unpacking dh-strip-nondeterminism (1.13.1-1) ... Selecting previously unselected package libelf1t64:arm64. Preparing to unpack .../22-libelf1t64_0.191-1+b1_arm64.deb ... Unpacking libelf1t64:arm64 (0.191-1+b1) ... Selecting previously unselected package dwz. Preparing to unpack .../23-dwz_0.15-1+b1_arm64.deb ... Unpacking dwz (0.15-1+b1) ... Selecting previously unselected package libicu72:arm64. Preparing to unpack .../24-libicu72_72.1-4+b1_arm64.deb ... Unpacking libicu72:arm64 (72.1-4+b1) ... Selecting previously unselected package libxml2:arm64. Preparing to unpack .../25-libxml2_2.9.14+dfsg-1.3+b3_arm64.deb ... Unpacking libxml2:arm64 (2.9.14+dfsg-1.3+b3) ... Selecting previously unselected package gettext. Preparing to unpack .../26-gettext_0.21-14+b1_arm64.deb ... Unpacking gettext (0.21-14+b1) ... Selecting previously unselected package intltool-debian. Preparing to unpack .../27-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 .../28-po-debconf_1.0.21+nmu1_all.deb ... Unpacking po-debconf (1.0.21+nmu1) ... Selecting previously unselected package debhelper. Preparing to unpack .../29-debhelper_13.15.3_all.deb ... Unpacking debhelper (13.15.3) ... Selecting previously unselected package libdata-uuid-perl. Preparing to unpack .../30-libdata-uuid-perl_1.227-1_arm64.deb ... Unpacking libdata-uuid-perl (1.227-1) ... Selecting previously unselected package libfile-slurper-perl. Preparing to unpack .../31-libfile-slurper-perl_0.014-1_all.deb ... Unpacking libfile-slurper-perl (0.014-1) ... Selecting previously unselected package libfilter-perl. Preparing to unpack .../32-libfilter-perl_1.64-1+b3_arm64.deb ... Unpacking libfilter-perl (1.64-1+b3) ... Selecting previously unselected package libgoto-file-perl. Preparing to unpack .../33-libgoto-file-perl_0.005-2_all.deb ... Unpacking libgoto-file-perl (0.005-2) ... Selecting previously unselected package libimporter-perl. Preparing to unpack .../34-libimporter-perl_0.026-2_all.deb ... Unpacking libimporter-perl (0.026-2) ... Selecting previously unselected package liblong-jump-perl. Preparing to unpack .../35-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 .../36-liboverload-filecheck-perl_0.013-2+b2_arm64.deb ... Unpacking liboverload-filecheck-perl (0.013-2+b2) ... Selecting previously unselected package libscope-guard-perl. Preparing to unpack .../37-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 .../38-libsub-identify-perl_0.14-3+b2_arm64.deb ... Unpacking libsub-identify-perl (0.14-3+b2) ... Selecting previously unselected package libsuper-perl. Preparing to unpack .../39-libsuper-perl_1.20190531-1_all.deb ... Unpacking libsuper-perl (1.20190531-1) ... Selecting previously unselected package libterm-table-perl. Preparing to unpack .../40-libterm-table-perl_0.018-1_all.deb ... Unpacking libterm-table-perl (0.018-1) ... Selecting previously unselected package libtest-mockmodule-perl. Preparing to unpack .../41-libtest-mockmodule-perl_0.177.0-1_all.deb ... Unpacking libtest-mockmodule-perl (0.177.0-1) ... Selecting previously unselected package libtest2-plugin-memusage-perl. Preparing to unpack .../42-libtest2-plugin-memusage-perl_0.002003-2_all.deb ... Unpacking libtest2-plugin-memusage-perl (0.002003-2) ... Selecting previously unselected package libtest2-plugin-uuid-perl. Preparing to unpack .../43-libtest2-plugin-uuid-perl_0.002002-1_all.deb ... Unpacking libtest2-plugin-uuid-perl (0.002002-1) ... Selecting previously unselected package libtest2-suite-perl. Preparing to unpack .../44-libtest2-suite-perl_0.000159-1_all.deb ... Unpacking libtest2-suite-perl (0.000159-1) ... Selecting previously unselected package libyaml-tiny-perl. Preparing to unpack .../45-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 .../46-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 .../47-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 .../48-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 .../49-libtext-glob-perl_0.11-3_all.deb ... Unpacking libtext-glob-perl (0.11-3) ... Setting up libpipeline1:arm64 (1.5.7-2) ... Setting up libfile-slurper-perl (0.014-1) ... Setting up libicu72:arm64 (72.1-4+b1) ... Setting up libterm-table-perl (0.018-1) ... Setting up bsdextrautils (2.40-8) ... Setting up libtext-glob-perl (0.11-3) ... Setting up libmagic-mgc (1:5.45-3) ... 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+b2) ... Setting up libdebhelper-perl (13.15.3) ... Setting up libmagic1t64:arm64 (1:5.45-3) ... Setting up gettext-base (0.21-14+b1) ... Setting up m4 (1.4.19-4) ... Setting up file (1:5.45-3) ... Setting up libyaml-tiny-perl (1.74-1) ... Setting up libelf1t64:arm64 (0.191-1+b1) ... Setting up libtest2-suite-perl (0.000159-1) ... Setting up libscope-guard-perl (0.21-2) ... Setting up autotools-dev (20220109.1) ... Setting up libdata-uuid-perl (1.227-1) ... Setting up libimporter-perl (0.026-2) ... Setting up autopoint (0.21-14) ... Setting up autoconf (2.71-3) ... Setting up dwz (0.15-1+b1) ... Setting up sensible-utils (0.0.22) ... Setting up libuchardet0:arm64 (0.0.8-1+b1) ... Setting up libsub-override-perl (0.10-1) ... Setting up libfilter-perl (1.64-1+b3) ... Setting up libtest2-plugin-memusage-perl (0.002003-2) ... Setting up libxml2:arm64 (2.9.14+dfsg-1.3+b3) ... Setting up liboverload-filecheck-perl (0.013-2+b2) ... 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.13.1-1) ... Setting up libtest2-plugin-uuid-perl (0.002002-1) ... Setting up liblong-jump-perl (0.000001-2) ... Setting up libsuper-perl (1.20190531-1) ... Setting up gettext (0.21-14+b1) ... Setting up libtest-mockmodule-perl (0.177.0-1) ... Setting up libgoto-file-perl (0.005-2) ... Setting up libtool (2.4.7-7) ... 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.13.1-1) ... Setting up groff-base (1.23.0-4) ... Setting up libtest2-harness-perl (1.000155-2) ... Setting up po-debconf (1.0.21+nmu1) ... Setting up man-db (2.12.1-1) ... Not building database; man-db/auto-update is not 'true'. Setting up debhelper (13.15.3) ... Processing triggers for libc-bin (2.38-10) ... 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 arm64 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 -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2" "LD=aarch64-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 -mbranch-protection=standard -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 -j12 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/Plugins.pm blib/lib/Test/MockFile/Plugins.pm cp lib/Test/MockFile.pm blib/lib/Test/MockFile.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/Plugin/FileTemp.pm blib/lib/Test/MockFile/Plugin/FileTemp.pm Manifying 6 pod documents make[1]: Leaving directory '/build/reproducible-path/libtest-mockfile-perl-0.036' dh_auto_test make -j12 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.038002, /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 '20250614' from local date. ok 1 1..1 ok t/chmod.t ........................... # Seeded srand with seed '20250614' 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 '20250614' 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 '20250614' 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 '20250614' 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 '20250614' 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 '20250614' 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 '20250614' 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 '20250614' 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 '20250614' 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 '20250614' 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 '20250614' 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 '20250614' 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 '20250614' 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 '20250614' 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 '20250614' 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 '20250614' 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 '20250614' from local date. # -------------- REAL MODE -------------- ok 1 - Temp is created on disk. ok 2 - /tmp/RQT95ZitrX 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 '20250614' 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 '20250614' 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 '20250614' 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 '20250614' 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/NXyNKHzuaQ" ok 33 - What $! looks like when failing to open the missing file. # -------------- MOCK MODE -------------- ok 34 - Can't open a missing file "/tmp/NXyNKHzuaQ" 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 '20250614' 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 '20250614' 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 '20250614' 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 '20250614' 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 '20250614' 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 '20250614' 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 '20250614' 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 '20250614' 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 '20250614' 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/UGbutjbaYe 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 '20250614' from local date. ok 1 - sysopen() to read a filehandle fails 1..1 ok t/Test-MockFile_file.t .............. # Seeded srand with seed '20250614' from local date. ok 1 - Todo 1..1 ok t/touch.t ........................... # Seeded srand with seed '20250614' from local date. # -------------- REAL MODE -------------- ok 1 - /tmp/UGbutjbaYe 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 '20250614' 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 '20250614' 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, 8 wallclock secs ( 0.19 usr 0.08 sys + 7.35 cusr 2.16 csys = 9.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 -j12 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/Plugin.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/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/Plugin/FileTemp.pm 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::Plugin::FileTemp.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::FileHandle.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.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_arm64.buildinfo dpkg-genchanges --build=binary -O../libtest-mockfile-perl_0.036-1_arm64.changes dpkg-genchanges: info: binary-only upload (no source code included) dpkg-source --after-build . dpkg-buildpackage: info: binary-only upload (no source included) dpkg-genchanges: info: 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/486649 and its subdirectories I: Current time: Sat Jun 14 07:24:51 -12 2025 I: pbuilder-time-stamp: 1749929091 Sun May 12 13:01:56 UTC 2024 I: 1st build successful. Starting 2nd build on remote node codethink01-arm64.debian.net. Sun May 12 13:01:56 UTC 2024 I: Preparing to do remote build '2' on codethink01-arm64.debian.net. Sun May 12 13:02:32 UTC 2024 I: Deleting $TMPDIR on codethink01-arm64.debian.net. Sun May 12 13:02:33 UTC 2024 I: libtest-mockfile-perl_0.036-1_arm64.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: 06524b2850a46ccb20bad6892b1956ace325f226 46140 libtest-mockfile-perl_0.036-1_all.deb 6561270d94ccdc1680aa2b90084bd4be92efce58 5612 libtest-mockfile-perl_0.036-1_arm64.buildinfo Checksums-Sha256: 9bc22e93623c98fccb5f5fe2bd66465427af34c4e040a1070d7601408b9b52b8 46140 libtest-mockfile-perl_0.036-1_all.deb 512e85bf1175b8973a8031d2a96a7e3a1ae8471da4bac93150c3118807dfb7e6 5612 libtest-mockfile-perl_0.036-1_arm64.buildinfo Files: cb44199ba1a9794e2b50e4f74ab82784 46140 perl optional libtest-mockfile-perl_0.036-1_all.deb df513093c9ac07495afd93ff018ecbcd 5612 perl optional libtest-mockfile-perl_0.036-1_arm64.buildinfo Sun May 12 13:02:34 UTC 2024 I: diffoscope 266 will be used to compare the two builds: Running as unit: rb-diffoscope-arm64_5-41568.service # Profiling output for: /usr/bin/diffoscope --timeout 7200 --html /srv/reproducible-results/rbuild-debian/r-b-build.HbWIGZWA/libtest-mockfile-perl_0.036-1.diffoscope.html --text /srv/reproducible-results/rbuild-debian/r-b-build.HbWIGZWA/libtest-mockfile-perl_0.036-1.diffoscope.txt --json /srv/reproducible-results/rbuild-debian/r-b-build.HbWIGZWA/libtest-mockfile-perl_0.036-1.diffoscope.json --profile=- /srv/reproducible-results/rbuild-debian/r-b-build.HbWIGZWA/b1/libtest-mockfile-perl_0.036-1_arm64.changes /srv/reproducible-results/rbuild-debian/r-b-build.HbWIGZWA/b2/libtest-mockfile-perl_0.036-1_arm64.changes ## command (total time: 0.000s) 0.000s 1 call cmp (internal) ## has_same_content_as (total time: 0.000s) 0.000s 1 call abc.DotChangesFile ## main (total time: 0.406s) 0.406s 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: 804ms CPU time consumed: 785ms Sun May 12 13:17:16 UTC 2024 I: diffoscope 266 found no differences in the changes files, and a .buildinfo file also exists. Sun May 12 13:17:16 UTC 2024 I: libtest-mockfile-perl from trixie built successfully and reproducibly on arm64. Sun May 12 13:17:19 UTC 2024 I: Submitting .buildinfo files to external archives: Sun May 12 13:17:19 UTC 2024 I: Submitting 8.0K b1/libtest-mockfile-perl_0.036-1_arm64.buildinfo.asc Sun May 12 13:17:21 UTC 2024 I: Submitting 8.0K b2/libtest-mockfile-perl_0.036-1_arm64.buildinfo.asc Sun May 12 13:17:35 UTC 2024 I: Done submitting .buildinfo files to http://buildinfo.debian.net/api/submit. Sun May 12 13:17:35 UTC 2024 I: Done submitting .buildinfo files. Sun May 12 13:17:35 UTC 2024 I: Removing signed libtest-mockfile-perl_0.036-1_arm64.buildinfo.asc files: removed './b1/libtest-mockfile-perl_0.036-1_arm64.buildinfo.asc' removed './b2/libtest-mockfile-perl_0.036-1_arm64.buildinfo.asc'