Diff of the two buildlogs: -- --- b1/build.log 2024-11-24 08:27:01.344981921 +0000 +++ b2/build.log 2024-11-24 08:27:46.294949996 +0000 @@ -1,6 +1,6 @@ I: pbuilder: network access will be disabled during build -I: Current time: Sat Nov 23 20:23:45 -12 2024 -I: pbuilder-time-stamp: 1732436625 +I: Current time: Sun Dec 28 04:50:01 +14 2025 +I: pbuilder-time-stamp: 1766847001 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/unstable-reproducible-base.tgz] I: copying local configuration @@ -27,52 +27,84 @@ dpkg-source: info: applying autopkgtest-path.patch I: Not using root during the build. I: Installing the build-deps -I: user script /srv/workspace/pbuilder/2140188/tmp/hooks/D02_print_environment starting +I: user script /srv/workspace/pbuilder/1939380/tmp/hooks/D01_modify_environment starting +debug: Running on ionos15-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 27 14:50 /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/1939380/tmp/hooks/D01_modify_environment finished +I: user script /srv/workspace/pbuilder/1939380/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='5fcb722c1f064f58929d106b23b91b40' - 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='2140188' - PS1='# ' - PS2='> ' + INVOCATION_ID=7b8acc7d8a5846e7bbf67a5e264c61b7 + 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=1939380 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.NiyUdaBV/pbuilderrc_chgw --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.NiyUdaBV/b1 --logfile b1/build.log perlbrew_1.01-1.dsc' - SUDO_GID='111' - SUDO_UID='106' - 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.NiyUdaBV/pbuilderrc_dzx4 --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.NiyUdaBV/b2 --logfile b2/build.log perlbrew_1.01-1.dsc' + SUDO_GID=111 + SUDO_UID=106 + 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 ionos11-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 Nov 22 14:40 /bin -> usr/bin -I: user script /srv/workspace/pbuilder/2140188/tmp/hooks/D02_print_environment finished + lrwxrwxrwx 1 root root 7 Nov 22 2024 /bin -> usr/bin +I: user script /srv/workspace/pbuilder/1939380/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy @@ -202,7 +234,7 @@ Get: 66 http://deb.debian.org/debian unstable/main amd64 libtest2-plugin-nowarnings-perl all 0.10-1 [15.8 kB] Get: 67 http://deb.debian.org/debian unstable/main amd64 libtest2-suite-perl all 0.000163-1 [383 kB] Get: 68 http://deb.debian.org/debian unstable/main amd64 perl-doc all 5.40.0-8 [8263 kB] -Fetched 32.6 MB in 1s (35.4 MB/s) +Fetched 32.6 MB in 4s (8334 kB/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.) @@ -492,7 +524,11 @@ Building tag database... -> Finished parsing the build-deps I: Building the package -I: Running cd /build/reproducible-path/perlbrew-1.01/ && 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 > ../perlbrew_1.01-1_source.changes +I: user script /srv/workspace/pbuilder/1939380/tmp/hooks/A99_set_merged_usr starting +Not re-configuring usrmerge for unstable +I: user script /srv/workspace/pbuilder/1939380/tmp/hooks/A99_set_merged_usr finished +hostname: Name or service not known +I: Running cd /build/reproducible-path/perlbrew-1.01/ && 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 > ../perlbrew_1.01-1_source.changes dpkg-buildpackage: info: source package perlbrew dpkg-buildpackage: info: source version 1.01-1 dpkg-buildpackage: info: source distribution unstable @@ -511,60 +547,64 @@ Creating new 'Build' script for 'App-perlbrew' version '1.01' dh_auto_build /usr/bin/perl Build -cp lib/App/Perlbrew/Path/Root.pm blib/lib/App/Perlbrew/Path/Root.pm -cp lib/App/Perlbrew/Path/Installations.pm blib/lib/App/Perlbrew/Path/Installations.pm -cp lib/App/perlbrew.pm blib/lib/App/perlbrew.pm cp lib/App/Perlbrew/Path/Installation.pm blib/lib/App/Perlbrew/Path/Installation.pm cp lib/App/Perlbrew/HTTP.pm blib/lib/App/Perlbrew/HTTP.pm -cp lib/App/Perlbrew/Sys.pm blib/lib/App/Perlbrew/Sys.pm +cp lib/App/perlbrew.pm blib/lib/App/perlbrew.pm cp script/perlbrew blib/script/perlbrew +cp lib/App/Perlbrew/Path/Root.pm blib/lib/App/Perlbrew/Path/Root.pm cp lib/App/Perlbrew/Path.pm blib/lib/App/Perlbrew/Path.pm +cp lib/App/Perlbrew/Sys.pm blib/lib/App/Perlbrew/Sys.pm +cp lib/App/Perlbrew/Path/Installations.pm blib/lib/App/Perlbrew/Path/Installations.pm cp lib/App/Perlbrew/Util.pm blib/lib/App/Perlbrew/Util.pm dh_auto_test /usr/bin/perl Build test --verbose 1 t/00.load.t ............................... -# Seeded srand with seed '20241124' from local date. +# Seeded srand with seed '20251227' from local date. ok 1 - use App::perlbrew; 1..1 ok t/01.options.t ............................ -# Seeded srand with seed '20241124' from local date. +# Seeded srand with seed '20251227' from local date. # $VAR1 = bless( { +# 'reverse' => 0, +# 'thread' => '', +# 'debug' => '', +# 'multi' => '', +# 'A' => [ +# 'ccflags' +# ], +# 'noman' => '', +# 'D' => [ +# 'usethreads', +# 'DEBUGGING' +# ], +# 'destdir' => '', +# 'home' => bless( { +# 'path' => '/build/reproducible-path/perlbrew-1.01/debian/.debhelper/generated/_source/home/.perlbrew' +# }, 'App::Perlbrew::Path' ), +# 'clang' => '', +# 'ld' => '', +# 'force' => 0, +# 'sitecustomize' => '', # 'args' => [ # 'install', # 'perl-5.12.1' # ], -# 'force' => 0, +# '64all' => '', +# 'yes' => 0, # 'verbose' => 0, -# 'multi' => '', -# 'thread' => '', +# 'quiet' => 0, +# 'notest' => 1, # 'root' => bless( { # 'path' => '/build/reproducible-path/perlbrew-1.01/debian/.debhelper/generated/_source/home/perl5/perlbrew' # }, 'App::Perlbrew::Path::Root' ), -# 'sitecustomize' => '', -# 'D' => [ -# 'usethreads', -# 'DEBUGGING' -# ], -# 'reverse' => 0, -# 'append' => '', -# 'notest' => 1, -# 'noman' => '', -# 'debug' => '', -# '64int' => '', # 'U' => [ # 'usemymalloc' # ], -# 'clang' => '', -# 'variation' => '', -# 'quiet' => 0, -# 'home' => bless( { -# 'path' => '/build/reproducible-path/perlbrew-1.01/debian/.debhelper/generated/_source/home/.perlbrew' -# }, 'App::Perlbrew::Path' ), -# '64all' => '', +# 'append' => '', +# '64int' => '', # 'both' => [], -# 'yes' => 0, -# 'destdir' => '', +# 'variation' => '', # 'original_argv' => [ # 'install', # '-n', @@ -573,11 +613,7 @@ # '-DDEBUGGING', # '-Uusemymalloc', # '-Accflags' -# ], -# 'A' => [ -# 'ccflags' -# ], -# 'ld' => '' +# ] # }, 'App::perlbrew' ); ok 1 ok 2 - -D @@ -586,27 +622,10 @@ ok 5 - not quiet ok 6 - notest # $VAR1 = bless( { -# 'debug' => '', -# 'noman' => '', -# 'reverse' => 0, -# 'append' => '', -# 'root' => bless( { -# 'path' => '/build/reproducible-path/perlbrew-1.01/debian/.debhelper/generated/_source/home/perl5/perlbrew' -# }, 'App::Perlbrew::Path::Root' ), -# 'sitecustomize' => '', -# 'D' => [ -# 'usethreads', -# 'DEBUGGING' +# 'U' => [ +# 'usemymalloc' # ], -# 'force' => 0, -# 'verbose' => 0, -# 'multi' => '', -# 'args' => [ -# 'install', -# 'perl-5.12.1' -# ], -# 'thread' => '', -# 'destdir' => '', +# 'variation' => '', # 'original_argv' => [ # 'install', # '--quiet', @@ -619,22 +638,39 @@ # '-A', # 'ccflags' # ], -# 'yes' => 0, -# 'ld' => '', -# 'A' => [ -# 'ccflags' -# ], +# 'append' => '', +# '64int' => '', # 'both' => [], -# 'home' => bless( { -# 'path' => '/build/reproducible-path/perlbrew-1.01/debian/.debhelper/generated/_source/home/.perlbrew' -# }, 'App::Perlbrew::Path' ), # 'quiet' => 1, +# 'yes' => 0, +# 'verbose' => 0, +# 'root' => bless( { +# 'path' => '/build/reproducible-path/perlbrew-1.01/debian/.debhelper/generated/_source/home/perl5/perlbrew' +# }, 'App::Perlbrew::Path::Root' ), +# 'destdir' => '', +# 'sitecustomize' => '', +# 'args' => [ +# 'install', +# 'perl-5.12.1' +# ], # '64all' => '', -# 'variation' => '', -# '64int' => '', # 'clang' => '', -# 'U' => [ -# 'usemymalloc' +# 'home' => bless( { +# 'path' => '/build/reproducible-path/perlbrew-1.01/debian/.debhelper/generated/_source/home/.perlbrew' +# }, 'App::Perlbrew::Path' ), +# 'ld' => '', +# 'force' => 0, +# 'thread' => '', +# 'reverse' => 0, +# 'debug' => '', +# 'multi' => '', +# 'D' => [ +# 'usethreads', +# 'DEBUGGING' +# ], +# 'noman' => '', +# 'A' => [ +# 'ccflags' # ] # }, 'App::perlbrew' ); ok 7 @@ -646,7 +682,7 @@ 1..12 ok t/02.format_perl_version.t ................ -# Seeded srand with seed '20241124' from local date. +# Seeded srand with seed '20251227' from local date. 1..4 ok 1 - 5.008008 -> 5.8.8 ok 2 - 5.010001 -> 5.10.1 @@ -654,7 +690,7 @@ ok 4 - 5.008 -> 5.8.0 ok t/03.test_get_available_versions.t ........ -# Seeded srand with seed '20241124' from local date. +# Seeded srand with seed '20251227' from local date. 1..12 ok 1 - Correct number of releases found ok 2 - perl-5.28.0 found @@ -670,7 +706,7 @@ ok 12 - perl-5.8.9 found ok t/04.find_available_perls.t ............... -# Seeded srand with seed '20241124' from local date. +# Seeded srand with seed '20251227' from local date. 1..52 ok 1 - found 11 releases ok 2 - 5.13 branch @@ -726,11 +762,11 @@ ok 52 - age 14 years, 5 months found ok t/05.get_current_perl.t ................... -# Seeded srand with seed '20241124' from local date. -# (mock) installed perl-5.12.3 to /tmp/qsSK11qlnl/perls/perl-5.12.3 -# (mock) installed perl-5.12.4 to /tmp/qsSK11qlnl/perls/perl-5.12.4 -# (mock) installed perl-5.14.1 to /tmp/qsSK11qlnl/perls/perl-5.14.1 -# (mock) installed perl-5.14.2 to /tmp/qsSK11qlnl/perls/perl-5.14.2 +# Seeded srand with seed '20251227' from local date. +# (mock) installed perl-5.12.3 to /tmp/YLzUewpT1W/perls/perl-5.12.3 +# (mock) installed perl-5.12.4 to /tmp/YLzUewpT1W/perls/perl-5.12.4 +# (mock) installed perl-5.14.1 to /tmp/YLzUewpT1W/perls/perl-5.14.1 +# (mock) installed perl-5.14.2 to /tmp/YLzUewpT1W/perls/perl-5.14.2 ok 1 - perlbrew version { ok 1 - perlbrew version matches 1..1 @@ -753,7 +789,7 @@ ok t/06.installed_perls.t .................... skipped: No perl installation under PERLBREW_ROOT t/07.argv.t ............................... -# Seeded srand with seed '20241124' from local date. +# Seeded srand with seed '20251227' from local date. ok 1 ok 2 ok 3 @@ -763,38 +799,38 @@ ok t/08.error_available.t .................... # perl -# Seeded srand with seed '20241124' from local date. +# Seeded srand with seed '20251227' from local date. ok 1 - got Error from available ok 2 - got Error from available_perl_distributions 1..2 ok t/08.error_install.t ...................... -Fetching perl 5.12.3 as /tmp/qsSK11qlnl/dists/perl-5.12.3.tar.bz2 -Download https://cpan.metacpan.org/authors/id/R/RJ/RJBS/perl-5.12.3.tar.bz2 to /tmp/qsSK11qlnl/dists/perl-5.12.3.tar.bz2 -# Seeded srand with seed '20241124' from local date. +Fetching perl 5.12.3 as /tmp/YLzUewpT1W/dists/perl-5.12.3.tar.bz2 +Download https://cpan.metacpan.org/authors/id/R/RJ/RJBS/perl-5.12.3.tar.bz2 to /tmp/YLzUewpT1W/dists/perl-5.12.3.tar.bz2 +# Seeded srand with seed '20251227' from local date. ok 1 1..1 ok t/08.error_install_blead.t ................ -Fetching perl-blead as /tmp/qsSK11qlnl/dists/blead.tar.gz -# Seeded srand with seed '20241124' from local date. +Fetching perl-blead as /tmp/YLzUewpT1W/dists/blead.tar.gz +# Seeded srand with seed '20251227' from local date. ok 1 - install blead-perl failed -# Fetching perl-blead as /tmp/qsSK11qlnl/dists/blead.tar.gz +# Fetching perl-blead as /tmp/YLzUewpT1W/dists/blead.tar.gz ok 2 - install blead failed 1..2 ok t/08.error_install_cpanm.t ................ -# Seeded srand with seed '20241124' from local date. +# Seeded srand with seed '20251227' from local date. ok 1 1..1 ok t/08.error_install_cpm.t .................. -# Seeded srand with seed '20241124' from local date. +# Seeded srand with seed '20251227' from local date. ok 1 1..1 ok t/09.exit_status.t ........................ -# Seeded srand with seed '20241124' from local date. +# Seeded srand with seed '20251227' from local date. ok 1 - unknown-command error Unknown command: `unknown-command`. Typo? ok 2 - unknown-command command error @@ -803,13 +839,19 @@ 1..3 ok t/10.resolve.t ............................ -# Seeded srand with seed '20241124' from local date. -# (mock) installed perl-5.8.9 to /tmp/qlnlxSoDhL/perls/perl-5.8.9 -# (mock) installed perl-5.14.0 to /tmp/qlnlxSoDhL/perls/perl-5.14.0 -# (mock) installed 5.8.9 to /tmp/qlnlxSoDhL/perls/5.8.9 -# (mock) installed perl-shiny to /tmp/qlnlxSoDhL/perls/perl-shiny +# Seeded srand with seed '20251227' from local date. +# (mock) installed perl-5.8.9 to /tmp/pT1WpEMTcr/perls/perl-5.8.9 +# (mock) installed perl-5.14.0 to /tmp/pT1WpEMTcr/perls/perl-5.14.0 +# (mock) installed 5.8.9 to /tmp/pT1WpEMTcr/perls/5.8.9 +# (mock) installed perl-shiny to /tmp/pT1WpEMTcr/perls/perl-shiny ok 1 - App::perlbrew->resolve_installation_name { - ok 1 - with lib names { + ok 1 - returns the same value as the argument if there is an installation with exactly the same name { + ok 1 + ok 2 + ok 3 + 1..3 + } + ok 2 - with lib names { ok 1 - returns current perl version when only a libname is given { ok 1 ok 2 @@ -822,32 +864,26 @@ } 1..2 } - ok 2 - returns the same value as the argument if there is an installation with exactly the same name { - ok 1 - ok 2 - ok 3 - 1..3 - } ok 3 - takes exactly one argument, which means the `shortname` that needs to be resolved to a `longname` { ok 1 ok 2 1..2 } - ok 4 - returns `perl-$shortname` if that happens to be a proper installation name. { + ok 4 - returns undef if no proper installation can be found { ok 1 - ok 2 - 1..2 + 1..1 } - ok 5 - returns undef if no proper installation can be found { + ok 5 - returns `perl-$shortname` if that happens to be a proper installation name. { ok 1 - 1..1 + ok 2 + 1..2 } 1..5 } 1..1 ok t/11.editdist.t ........................... -# Seeded srand with seed '20241124' from local date. +# Seeded srand with seed '20251227' from local date. ok 1 ok 2 ok 3 @@ -857,49 +893,49 @@ 1..6 ok t/11.root_from_arg.t ...................... -# Seeded srand with seed '20241124' from local date. -ok 1 - App::perlbrew\#root method { - ok 1 - should return the instance property of 'root' if set { +# Seeded srand with seed '20251227' from local date. +ok 1 - App::perlbrew->new { + ok 1 - should accept --root args and treat it as the value of PERLBREW_ROOT for the instance { ok 1 - Return value comparison failed ok 2 - Global $PERLBREW_ROOT comparison failed ok 3 - App::Perlbrew::Path::Root=HASH->isa('App::Perlbrew::Path::Root') 1..3 } - ok 2 - should default to $ENV{PERLBREW_ROOT} if provided { + 1..1 +} +ok 2 - App::perlbrew\#root method { + ok 1 - should return the instance property of 'root' if set { ok 1 - Return value comparison failed ok 2 - Global $PERLBREW_ROOT comparison failed ok 3 - App::Perlbrew::Path::Root=HASH->isa('App::Perlbrew::Path::Root') 1..3 } - ok 3 - should return $App::perlbrew::PERLBREW_ROOT if provided { + ok 2 - should default to $ENV{PERLBREW_ROOT} if provided { ok 1 - Return value comparison failed ok 2 - Global $PERLBREW_ROOT comparison failed ok 3 - App::Perlbrew::Path::Root=HASH->isa('App::Perlbrew::Path::Root') 1..3 } - ok 4 - should default to $ENV{HOME} subpath { + ok 3 - should return $App::perlbrew::PERLBREW_ROOT if provided { ok 1 - Return value comparison failed ok 2 - Global $PERLBREW_ROOT comparison failed ok 3 - App::Perlbrew::Path::Root=HASH->isa('App::Perlbrew::Path::Root') 1..3 } - 1..4 -} -ok 2 - App::perlbrew->new { - ok 1 - should accept --root args and treat it as the value of PERLBREW_ROOT for the instance { + ok 4 - should default to $ENV{HOME} subpath { ok 1 - Return value comparison failed ok 2 - Global $PERLBREW_ROOT comparison failed ok 3 - App::Perlbrew::Path::Root=HASH->isa('App::Perlbrew::Path::Root') 1..3 } - 1..1 + 1..4 } 1..2 ok t/12.destdir.t ............................ -# Seeded srand with seed '20241124' from local date. -# PERLBREW_ROOT set to /tmp/qsSK11qlnl -# DESTDIR set to /tmp/72SBQlqCBx +# Seeded srand with seed '20251227' from local date. +# PERLBREW_ROOT set to /tmp/YLzUewpT1W +# DESTDIR set to /tmp/ZtT7idrO_N ok 1 - No perls yet installed { ok 1 - no perls installed 1..1 @@ -918,8 +954,8 @@ 1..3 ok t/12.sitecustomize.t ...................... -# Seeded srand with seed '20241124' from local date. -# PERLBREW_ROOT set to /tmp/qsSK11qlnl +# Seeded srand with seed '20251227' from local date. +# PERLBREW_ROOT set to /tmp/YLzUewpT1W ok 1 - No perls yet installed { ok 1 - no perls installed 1..1 @@ -940,7 +976,7 @@ ok # Workflow build 'when the given versionis not found is CPAN::Perl::Releases' is empty at t/13.perl_release.t around lines 27 -> 44. t/13.perl_release.t ....................... -# Seeded srand with seed '20241124' from local date. +# Seeded srand with seed '20251227' from local date. ok 1 - App::perlbrew\#perl_release method { ok 1 - given a valid perl version { ok 1 - returns the perl dist tarball file name, and its download url { @@ -966,7 +1002,7 @@ 1..1 ok t/14.perl_version_parsing.t ............... -# Seeded srand with seed '20241124' from local date. +# Seeded srand with seed '20251227' from local date. ok 1 - perl_version_to_integer { 1..103 ok 1 - 5.003_07 < 5.004 @@ -1289,11 +1325,11 @@ } 1..3 ok -# /tmp/qsSK11qlnl/build/test/test +# /tmp/YLzUewpT1W/build/test/test t/15.no-reuse-build-dir.t ................. -# Seeded srand with seed '20241124' from local date. +# Seeded srand with seed '20251227' from local date. 1..6 -# PERLBREW_ROOT set to /tmp/qsSK11qlnl +# PERLBREW_ROOT set to /tmp/YLzUewpT1W ok 1 - App::perlbrew object created ok 2 - Test file 3 created ok 3 - Test tarball extracted as expected @@ -1302,7 +1338,7 @@ ok 6 - Test file 2 exists ok t/16.release-detail.t ..................... -# Seeded srand with seed '20241124' from local date. +# Seeded srand with seed '20251227' from local date. ok 1 - parse "perl-5.18.2" { ok 1 ok 2 @@ -1324,7 +1360,7 @@ 1..2 ok t/18.release-detail-perl-local.t .......... -# Seeded srand with seed '20241124' from local date. +# Seeded srand with seed '20251227' from local date. ok 1 - no error ok 2 - tarball_url is defined ok 3 - tarball_url is defined @@ -1335,7 +1371,7 @@ t/18.release-detail-perl-remote.t ......... skipped: These tests send HTTP requests. Set env TEST_LIVE=1 to really run them. # alias, available, clean, clone-modules, compgen, display-bashrc, display-cshrc, display-installation-failure-message, display-pristine-manpath, display-pristine-path, display-system-perl-executable, display-system-perl-shebang, download, env, exec, help, info, init, init-in-bash, install, install-cpanm, install-cpm, install-multiple, install-patchperl, lib, lib-create, lib-delete, lib-list, list, list-modules, make-pp, make-shim, off, self-install, self-upgrade, switch, switch-off, symlink-executables, uninstall, upgrade-perl, use, version t/19.find_similar_commands.t .............. -# Seeded srand with seed '20241124' from local date. +# Seeded srand with seed '20251227' from local date. ok 1 - exact result { ok 1 ok 2 @@ -1355,28 +1391,19 @@ 1..3 ok t/app-perlbrew-path-installation.t ........ -# Seeded srand with seed '20241124' from local date. -ok 1 - App::Perlbrew::Path::Root { - ok 1 - perls() { - ok 1 - with one parameter { - ok 1 - should return Installation object { - ok 1 - 1..1 - } +# Seeded srand with seed '20251227' from local date. +ok 1 - App::Perlbrew::Path::Installation { + ok 1 - name() { + ok 1 - should provide path to version file { + ok 1 1..1 } - ok 2 - with multiple paramters { - ok 1 - should return Path object { - ok 1 - 1..1 - } + ok 2 - should provide path to perl { + ok 1 1..1 } - ok 3 - without parameters { - ok 1 - should return Instalations object { - ok 1 - 1..1 - } + ok 3 - should return installation name { + ok 1 1..1 } 1..3 @@ -1393,18 +1420,27 @@ } 1..1 } -ok 3 - App::Perlbrew::Path::Installation { - ok 1 - name() { - ok 1 - should provide path to version file { - ok 1 +ok 3 - App::Perlbrew::Path::Root { + ok 1 - perls() { + ok 1 - with one parameter { + ok 1 - should return Installation object { + ok 1 + 1..1 + } 1..1 } - ok 2 - should return installation name { - ok 1 + ok 2 - without parameters { + ok 1 - should return Instalations object { + ok 1 + 1..1 + } 1..1 } - ok 3 - should provide path to perl { - ok 1 + ok 3 - with multiple paramters { + ok 1 - should return Path object { + ok 1 + 1..1 + } 1..1 } 1..3 @@ -1414,50 +1450,50 @@ 1..3 ok t/app-perlbrew-path.t ..................... -# Seeded srand with seed '20241124' from local date. +# Seeded srand with seed '20251227' from local date. ok 1 - App::Perlbrew::Path { - ok 1 - readlink() { - ok 1 - when path doesn't exist { - ok 1 - should return undef { + ok 1 - mkpath() { + ok 1 - should return self { + ok 1 - looks like a perlbrew path object { ok 1 - 1..1 + ok 2 + ok 3 - App::Perlbrew::Path=HASH->isa('App::Perlbrew::Path') + 1..3 } 1..1 } - ok 2 - should return path object of link content { - ok 1 - should return link path { - ok 1 - looks like a perlbrew path object { - ok 1 - ok 2 - ok 3 - App::Perlbrew::Path=HASH->isa('App::Perlbrew::Path') - 1..3 - } - 1..1 - } + ok 2 - should not die when path already exists { + ok 1 1..1 } - ok 3 - when path isn't a symlink { - ok 1 - should return undef { - ok 1 - 1..1 - } + ok 3 - should create recursive path { + ok 1 1..1 } 1..3 } - ok 2 - basename() { - ok 1 - should trim provided suffix match { + ok 2 - rmpath() { + ok 1 - should remove path recursively { ok 1 1..1 } - ok 2 - should return basename { + ok 2 - should not die when path doesn't exist { ok 1 1..1 } - 1..2 + ok 3 - should return self { + ok 1 - looks like a perlbrew path object { + ok 1 + ok 2 + ok 3 - App::Perlbrew::Path=HASH->isa('App::Perlbrew::Path') + 1..3 + } + 1..1 + } + 1..3 } ok 3 - child() { - ok 1 - should return chainable object { + ok 1 - should accept multiple children { ok 1 - looks like a perlbrew path object { ok 1 ok 2 @@ -1466,7 +1502,7 @@ } 1..1 } - ok 2 - should create direct child { + ok 2 - should return chainable object { ok 1 - looks like a perlbrew path object { ok 1 ok 2 @@ -1475,7 +1511,7 @@ } 1..1 } - ok 3 - should accept multiple children { + ok 3 - should create direct child { ok 1 - looks like a perlbrew path object { ok 1 ok 2 @@ -1486,74 +1522,81 @@ } 1..3 } - ok 4 - unlink() { - ok 1 - should remove file { - ok 1 + ok 4 - readlink() { + ok 1 - when path isn't a symlink { + ok 1 - should return undef { + ok 1 + 1..1 + } 1..1 } - ok 2 - should not report failure if file doesn't exist { - ok 1 + ok 2 - should return path object of link content { + ok 1 - should return link path { + ok 1 - looks like a perlbrew path object { + ok 1 + ok 2 + ok 3 - App::Perlbrew::Path=HASH->isa('App::Perlbrew::Path') + 1..3 + } + 1..1 + } 1..1 } - 1..2 + ok 3 - when path doesn't exist { + ok 1 - should return undef { + ok 1 + 1..1 + } + 1..1 + } + 1..3 } ok 5 - stringify_with_tilde { - ok 1 - should expand leading homedir { + ok 1 - should not expand leading homedir prefix { ok 1 1..1 } - ok 2 - should not expand leading homedir prefix { + ok 2 - should expand leading homedir { ok 1 1..1 } 1..2 } - ok 6 - symlink() { - ok 1 - should replace existing file in force mode { + ok 6 - unlink() { + ok 1 - should remove file { ok 1 1..1 } - ok 2 - should create symlink { + ok 2 - should not report failure if file doesn't exist { ok 1 1..1 } 1..2 } - ok 7 - rmpath() { - ok 1 - should remove path recursively { + ok 7 - symlink() { + ok 1 - should replace existing file in force mode { ok 1 1..1 } - ok 2 - should return self { - ok 1 - looks like a perlbrew path object { - ok 1 - ok 2 - ok 3 - App::Perlbrew::Path=HASH->isa('App::Perlbrew::Path') - 1..3 - } - 1..1 - } - ok 3 - should not die when path doesn't exist { + ok 2 - should create symlink { ok 1 1..1 } - 1..3 + 1..2 } - ok 8 - new() { - ok 1 - should die with undefined element { - ok 1 - (?^:^Received an undefined entry as a parameter) + ok 8 - basename() { + ok 1 - should trim provided suffix match { + ok 1 1..1 } - ok 2 - should concatenate long (root) path { - ok 1 - looks like a perlbrew path object { - ok 1 - ok 2 - ok 3 - App::Perlbrew::Path=HASH->isa('App::Perlbrew::Path') - 1..3 - } + ok 2 - should return basename { + ok 1 1..1 } - ok 3 - should concatenate multiple parameters into single path { + 1..2 + } + ok 9 - new() { + ok 1 - should concatenate multiple parameters into single path { ok 1 - looks like a perlbrew path object { ok 1 ok 2 @@ -1562,7 +1605,7 @@ } 1..1 } - ok 4 - should accept one parameter { + ok 2 - should concatenate long (root) path { ok 1 - looks like a perlbrew path object { ok 1 ok 2 @@ -1571,14 +1614,7 @@ } 1..1 } - 1..4 - } - ok 9 - mkpath() { - ok 1 - should not die when path already exists { - ok 1 - 1..1 - } - ok 2 - should return self { + ok 3 - should accept one parameter { ok 1 - looks like a perlbrew path object { ok 1 ok 2 @@ -1587,11 +1623,11 @@ } 1..1 } - ok 3 - should create recursive path { - ok 1 + ok 4 - should die with undefined element { + ok 1 - (?^:^Received an undefined entry as a parameter) 1..1 } - 1..3 + 1..4 } ok 10 - children() { ok 1 - should return empty list on empty match { @@ -1626,52 +1662,52 @@ 1..1 ok t/bashrc_content.t ........................ -# Seeded srand with seed '20241124' from local date. +# Seeded srand with seed '20251227' from local date. ok 1 - App::perlbrew->BASHRC_CONTENT() { - ok 1 - should export custom PERLBREW_ROOT { - ok 1 - when env variable PERLBREW_ROOT is set { + ok 1 - should not export custom PERLBREW_ROOT { + ok 1 - when set only via global variable { ok 1 1..1 } - ok 2 - when provided via argument (favor over env) { + ok 2 - with default settings { ok 1 1..1 } - ok 3 - when provided via argument { + 1..2 + } + ok 2 - should export custom PERLBREW_ROOT { + ok 1 - when provided via argument { ok 1 1..1 } - 1..3 - } - ok 2 - should not export custom PERLBREW_ROOT { - ok 1 - when set only via global variable { + ok 2 - when env variable PERLBREW_ROOT is set { ok 1 1..1 } - ok 2 - with default settings { + ok 3 - when provided via argument (favor over env) { ok 1 1..1 } - 1..2 + 1..3 } 1..2 } 1..1 ok t/bashrc_executes.t ....................... -# Seeded srand with seed '20241124' from local date. -# PERLBREW_ROOT set to /tmp/qsSK11qlnl -/tmp/qsSK11qlnl/etc/bashrc +# Seeded srand with seed '20251227' from local date. +# PERLBREW_ROOT set to /tmp/YLzUewpT1W +/tmp/YLzUewpT1W/etc/bashrc ok 1 - Works without error output on bash where hashing is off { - # perlbrew is installed: /tmp/qsSK11qlnl/bin/perlbrew + # perlbrew is installed: /tmp/YLzUewpT1W/bin/perlbrew # - # perlbrew root (/tmp/qsSK11qlnl) is initialized. + # perlbrew root (/tmp/YLzUewpT1W) is initialized. # # Append the following piece of code to the end of your ~/.bash_profile and start a # new shell, perlbrew should be up and fully functional from there: # - # export PERLBREW_HOME=/tmp/xSoDhLKMjy - # source /tmp/qsSK11qlnl/etc/bashrc + # export PERLBREW_HOME=/tmp/pEMTcreMjZ + # source /tmp/YLzUewpT1W/etc/bashrc # # Simply run `perlbrew` for usage details. # @@ -1684,8 +1720,16 @@ 1..1 ok t/builddir.t .............................. -# Seeded srand with seed '20241124' from local date. -ok 1 - App::perlbrew\#builddir method { +# Seeded srand with seed '20251227' from local date. +ok 1 - App::perlbrew->new { + ok 1 - should accept --builddir args { + ok 1 - builddir is /perlbrew/buildroot + ok 2 - App::Perlbrew::Path=HASH->isa('App::Perlbrew::Path') + 1..2 + } + 1..1 +} +ok 2 - App::perlbrew\#builddir method { ok 1 - should return path in $App::perlbrew::PERLBREW_ROOT normally { ok 1 - builddir is /perlbrew/root/build ok 2 - App::Perlbrew::Path=HASH->isa('App::Perlbrew::Path') @@ -1698,19 +1742,11 @@ } 1..2 } -ok 2 - App::perlbrew->new { - ok 1 - should accept --builddir args { - ok 1 - builddir is /perlbrew/buildroot - ok 2 - App::Perlbrew::Path=HASH->isa('App::Perlbrew::Path') - 1..2 - } - 1..1 -} 1..2 ok t/command-alias.t ......................... -# Seeded srand with seed '20241124' from local date. -# (mock) installed perl-5.14.1 to /tmp/qlnlxSoDhL/perls/perl-5.14.1 +# Seeded srand with seed '20251227' from local date. +# (mock) installed perl-5.14.1 to /tmp/pT1WpEMTcr/perls/perl-5.14.1 ok 1 - alias command, { ok 1 - when invoked with unknown action name, { ok 1 - should display usage message { @@ -1724,7 +1760,7 @@ 1..1 ok t/command-available.t ..................... -# Seeded srand with seed '20241124' from local date. +# Seeded srand with seed '20251227' from local date. ok 1 - available command output, when something installed locally, { ok 1 - should display a list of perl versions, with markers on installed versions { ok 1 @@ -1742,9 +1778,9 @@ 1..2 ok t/command-clone-modules.t ................. -# Seeded srand with seed '20241124' from local date. -# (mock) installed perl-5.14.1 to /tmp/qlnlxSoDhL/perls/perl-5.14.1 -# (mock) installed perl-5.16.0 to /tmp/qlnlxSoDhL/perls/perl-5.16.0 +# Seeded srand with seed '20251227' from local date. +# (mock) installed perl-5.14.1 to /tmp/pT1WpEMTcr/perls/perl-5.14.1 +# (mock) installed perl-5.16.0 to /tmp/pT1WpEMTcr/perls/perl-5.16.0 ok 1 - clone-modules command, { ok 1 - when invoked with two arguments, A and B, with `--notest` { ok 1 - should display clone modules from A to B { @@ -1757,26 +1793,26 @@ } 1..1 } - ok 2 - when invoked with two arguments, A and B { - ok 1 - should display clone modules from A to B { + ok 2 - when invoked with one argument X, with `--notest` { + ok 1 - should display clone modules from current-perl to X { # - # Installing 1 modules from perl-5.14.1 to perl-5.16.0 ... + # Installing 1 modules from perl-5.16.0 to perl-5.14.1 ... ok 1 ok 2 ok 3 - 1..3 + ok 4 - current_env is called at least 1 time + 1..4 } 1..1 } - ok 3 - when invoked with one argument X, with `--notest` { - ok 1 - should display clone modules from current-perl to X { + ok 3 - when invoked with two arguments, A and B { + ok 1 - should display clone modules from A to B { # - # Installing 1 modules from perl-5.16.0 to perl-5.14.1 ... + # Installing 1 modules from perl-5.14.1 to perl-5.16.0 ... ok 1 ok 2 ok 3 - ok 4 - current_env is called at least 1 time - 1..4 + 1..3 } 1..1 } @@ -1797,11 +1833,11 @@ 1..1 ok t/command-compgen.t ....................... -# Seeded srand with seed '20241124' from local date. -# (mock) installed perl-5.12.3 to /tmp/qlnlxSoDhL/perls/perl-5.12.3 -# (mock) installed perl-5.12.4 to /tmp/qlnlxSoDhL/perls/perl-5.12.4 -# (mock) installed perl-5.14.1 to /tmp/qlnlxSoDhL/perls/perl-5.14.1 -# (mock) installed perl-5.14.2 to /tmp/qlnlxSoDhL/perls/perl-5.14.2 +# Seeded srand with seed '20251227' from local date. +# (mock) installed perl-5.12.3 to /tmp/pT1WpEMTcr/perls/perl-5.12.3 +# (mock) installed perl-5.12.4 to /tmp/pT1WpEMTcr/perls/perl-5.12.4 +# (mock) installed perl-5.14.1 to /tmp/pT1WpEMTcr/perls/perl-5.14.1 +# (mock) installed perl-5.14.2 to /tmp/pT1WpEMTcr/perls/perl-5.14.2 ok 1 - compgen command, { ok 1 - when there is a part of a subcommand { ok 1 - displays a list of l* { @@ -1814,30 +1850,30 @@ } 1..2 } - ok 2 - when there is no args { - ok 1 - displays a list of subcommands { + ok 2 - given 'switch' subcommand { + ok 1 - 'use 5.12 [tab]' suggests perls with /5\.12/ { ok 1 1..1 } - 1..1 - } - ok 3 - given 'switch' subcommand { - ok 1 - 'use [tab]' suggests a list of installed perls { + ok 2 - 'use [tab]' suggests a list of installed perls { ok 1 1..1 } - ok 2 - 'use 5.12 [tab]' suggests perls with /5\.12/ { + 1..2 + } + ok 3 - when there is no args { + ok 1 - displays a list of subcommands { ok 1 1..1 } - 1..2 + 1..1 } ok 4 - given 'use' subcommand { - ok 1 - 'use [tab]' suggests a list of installed perls { + ok 1 - 'use 5.12 [tab]' suggests perls with /5\.12/ { ok 1 1..1 } - ok 2 - 'use 5.12 [tab]' suggests perls with /5\.12/ { + ok 2 - 'use [tab]' suggests a list of installed perls { ok 1 1..1 } @@ -1848,13 +1884,13 @@ 1..1 ok t/command-display-rc.t .................... -# Seeded srand with seed '20241124' from local date. +# Seeded srand with seed '20251227' from local date. ok 1 - App::perlbrew { - ok 1 - should be able to run 'display-bashrc' command { + ok 1 - should be able to run 'display-cshrc' command { ok 1 1..1 } - ok 2 - should be able to run 'display-cshrc' command { + ok 2 - should be able to run 'display-bashrc' command { ok 1 1..1 } @@ -1863,8 +1899,8 @@ 1..1 ok t/command-env.t ........................... -# Seeded srand with seed '20241124' from local date. -# (mock) installed perl-5.14.1 to /tmp/qlnlxSoDhL/perls/perl-5.14.1 +# Seeded srand with seed '20251227' from local date. +# (mock) installed perl-5.14.1 to /tmp/pT1WpEMTcr/perls/perl-5.14.1 ok 1 - env command, { ok 1 - when invoked with a perl installation name with lib name and PERLBREW_LIB_PREFIX set, { ok 1 - displays PERL5LIB with PERLBREW_LIB_PREFIX value first. { @@ -1895,53 +1931,67 @@ ok sort (...) interpreted as function at t/command-exec.t line 386. sort (...) interpreted as function at t/command-exec.t line 410. - # Command [perl -E 'somesub 42'] terminated with exit code 7 ($? = 1792) under the following perl environment: - # format_info_output_value - # Command [perl -E 'say 42'] terminated with exit code 3 ($? = 768) under the following perl environment: # Command [perl -E 'say 42'] terminated with exit code 255 ($? = -1) under the following perl environment: # Command [perl -E 'say 42'] terminated with exit code 7 ($? = 1792) under the following perl environment: # Command [perl -E 'say 42'] terminated with exit code 3 ($? = 768) under the following perl environment: # Command [perl -E 'say 42'] terminated with exit code 3 ($? = 768) under the following perl environment: + # Command [perl -E 'say 42'] terminated with exit code 3 ($? = 768) under the following perl environment: + # Command [perl -E 'somesub 42'] terminated with exit code 7 ($? = 1792) under the following perl environment: + # format_info_output_value t/command-exec.t .......................... -# Seeded srand with seed '20241124' from local date. -# (mock) installed perl-5.12.3 to /tmp/qlnlxSoDhL/perls/perl-5.12.3 -# (mock) installed perl-5.12.4 to /tmp/qlnlxSoDhL/perls/perl-5.12.4 -# (mock) installed perl-5.14.1 to /tmp/qlnlxSoDhL/perls/perl-5.14.1 -# (mock) installed perl-5.14.2 to /tmp/qlnlxSoDhL/perls/perl-5.14.2 -ok 1 - exec exit code { - ok 1 - logging { - ok 1 - should be quiet if asked { - ok 1 - ok 2 - format_info_output should be called exactly 0 times - ok 3 - do_system_with_exit_code should be called exactly 1 times - ok 4 - do_exit_with_error_code should be called exactly 1 times - 1..4 - } - ok 2 - should format info output for right perl { - # Command terminated with non-zero status. - ok 1 - ok 2 - ok 3 - format_info_output should be called exactly 1 times - ok 4 - do_system_with_exit_code should be called exactly 1 times - ok 5 - do_exit_with_error_code should be called exactly 1 times - 1..5 - } - ok 3 - should work { - ok 1 - ok 2 - do_exit_with_error_code should be called exactly 1 times - ok 3 - format_info_output should be called exactly 1 times - ok 4 - do_system_with_exit_code should be called exactly 1 times - 1..4 - } - 1..3 +# Seeded srand with seed '20251227' from local date. +# (mock) installed perl-5.12.3 to /tmp/pT1WpEMTcr/perls/perl-5.12.3 +# (mock) installed perl-5.12.4 to /tmp/pT1WpEMTcr/perls/perl-5.12.4 +# (mock) installed perl-5.14.1 to /tmp/pT1WpEMTcr/perls/perl-5.14.1 +# (mock) installed perl-5.14.2 to /tmp/pT1WpEMTcr/perls/perl-5.14.2 +ok 1 - perlbrew exec --with perl-5.14.1,5.14.1 { + ok 1 - exec 5.14.1 twice, since that is what is specified { + # perl-5.14.1 + # ========== + # + # perl-5.14.1 + # ========== + # + ok 1 + ok 2 - do_system_with_exit_code should be called exactly 2 times + 1..2 } - ok 2 - halt-on-error { - ok 1 - should exit with success code { - ok 1 - do_exit_with_error_code should be called exactly 0 times - ok 2 - do_system_with_exit_code should be called exactly 1 times - 1..2 - } - ok 2 - should exit with error code { + 1..1 +} +ok 2 - minimal perl version { + ok 1 - only executes the needed version { + # perl-5.14.2 + # ========== + # + # perl-5.14.1 + # ========== + # + ok 1 + ok 2 - do_system_with_exit_code should be called exactly 2 times + 1..2 + } + 1..1 +} +ok 3 - perlbrew exec --with perl-5.14.1,perl-5.12.3,perl-5.14.2 perl -E "say 42" { + ok 1 - invokes each perl in the specified order { + # perl-5.14.1 + # ========== + # + # perl-5.12.3 + # ========== + # + # perl-5.14.2 + # ========== + # + ok 1 + ok 2 - do_system_with_exit_code should be called exactly 3 times + 1..2 + } + 1..1 +} +ok 4 - exec exit code { + ok 1 - halt-on-error { + ok 1 - should exit with code 255 if program terminated with signal or something { # Command terminated with non-zero status. ok 1 ok 2 @@ -1951,34 +2001,39 @@ ok 6 - do_exit_with_error_code should be called exactly 1 times 1..6 } - ok 3 - should exit with code 255 if program terminated with signal or something { + ok 2 - should exit with error code when several perls ran { + # perl-5.14.1 + # ========== + # + # perl-5.14.1 + # ========== # Command terminated with non-zero status. ok 1 ok 2 ok 3 ok 4 - format_info_output should be called exactly 1 times - ok 5 - do_system_with_exit_code should be called exactly 1 times + ok 5 - do_system_with_exit_code should be called exactly 2 times ok 6 - do_exit_with_error_code should be called exactly 1 times 1..6 } - ok 4 - should exit with error code when several perls ran { - # perl-5.14.1 - # ========== - # - # perl-5.14.1 - # ========== + ok 3 - should exit with error code { # Command terminated with non-zero status. ok 1 ok 2 ok 3 ok 4 - format_info_output should be called exactly 1 times - ok 5 - do_system_with_exit_code should be called exactly 2 times + ok 5 - do_system_with_exit_code should be called exactly 1 times ok 6 - do_exit_with_error_code should be called exactly 1 times 1..6 } + ok 4 - should exit with success code { + ok 1 - do_exit_with_error_code should be called exactly 0 times + ok 2 - do_system_with_exit_code should be called exactly 1 times + 1..2 + } 1..4 } - ok 3 - no halt-on-error { + ok 2 - no halt-on-error { ok 1 - should exit with error code { # Command terminated with non-zero status. ok 1 @@ -1989,7 +2044,18 @@ ok 6 - do_exit_with_error_code should be called exactly 1 times 1..6 } - ok 2 - should exit with error code when several perls ran { + ok 2 - should exit with success code when several perls ran { + # perl-5.14.1 + # ========== + # + # perl-5.14.1 + # ========== + # + ok 1 - do_system_with_exit_code should be called exactly 2 times + ok 2 - do_exit_with_error_code should be called exactly 0 times + 1..2 + } + ok 3 - should exit with error code when several perls ran { # perl-5.14.1 # ========== # Command terminated with non-zero status. @@ -2005,56 +2071,36 @@ ok 6 - do_exit_with_error_code should be called exactly 1 times 1..6 } - ok 3 - should exit with success code when several perls ran { - # perl-5.14.1 - # ========== - # - # perl-5.14.1 - # ========== - # - ok 1 - do_system_with_exit_code should be called exactly 2 times - ok 2 - do_exit_with_error_code should be called exactly 0 times - 1..2 + 1..3 + } + ok 3 - logging { + ok 1 - should format info output for right perl { + # Command terminated with non-zero status. + ok 1 + ok 2 + ok 3 - format_info_output should be called exactly 1 times + ok 4 - do_system_with_exit_code should be called exactly 1 times + ok 5 - do_exit_with_error_code should be called exactly 1 times + 1..5 + } + ok 2 - should work { + ok 1 + ok 2 - do_exit_with_error_code should be called exactly 1 times + ok 3 - format_info_output should be called exactly 1 times + ok 4 - do_system_with_exit_code should be called exactly 1 times + 1..4 + } + ok 3 - should be quiet if asked { + ok 1 + ok 2 - format_info_output should be called exactly 0 times + ok 3 - do_system_with_exit_code should be called exactly 1 times + ok 4 - do_exit_with_error_code should be called exactly 1 times + 1..4 } 1..3 } 1..3 } -ok 2 - perlbrew exec --with perl-5.12.3 perl -E "say 42" { - ok 1 - invokes perl-5.12.3/bin/perl { - ok 1 - ok 2 - ok 3 - ok 4 - do_system_with_exit_code is called at least 1 time - 1..4 - } - 1..1 -} -ok 3 - perlbrew exec --with perl-5.14.1,perl-5.12.3,perl-5.14.2 perl -E "say 42" { - ok 1 - invokes each perl in the specified order { - # perl-5.14.1 - # ========== - # - # perl-5.12.3 - # ========== - # - # perl-5.14.2 - # ========== - # - ok 1 - ok 2 - do_system_with_exit_code should be called exactly 3 times - 1..2 - } - 1..1 -} -ok 4 - perlbrew exec --with perl-5.14.1,perl-foobarbaz, { - ok 1 - ignore the unrecognized 'perl-foobarbaz' { - ok 1 - ok 2 - do_system_with_exit_code is called at least 1 time - 1..2 - } - 1..1 -} ok 5 - maximum perl version { ok 1 - only executes the needed version { # perl-5.12.4 @@ -2069,35 +2115,15 @@ } 1..1 } -ok 6 - perlbrew exec --with perl-5.14.1,5.14.1 { - ok 1 - exec 5.14.1 twice, since that is what is specified { - # perl-5.14.1 - # ========== - # - # perl-5.14.1 - # ========== - # - ok 1 - ok 2 - do_system_with_exit_code should be called exactly 2 times - 1..2 - } - 1..1 -} -ok 7 - minimal perl version { - ok 1 - only executes the needed version { - # perl-5.14.2 - # ========== - # - # perl-5.14.1 - # ========== - # +ok 6 - perlbrew exec --with perl-5.14.1,perl-foobarbaz, { + ok 1 - ignore the unrecognized 'perl-foobarbaz' { ok 1 - ok 2 - do_system_with_exit_code should be called exactly 2 times + ok 2 - do_system_with_exit_code is called at least 1 time 1..2 } 1..1 } -ok 8 - perlbrew exec perl -E "say 42" { +ok 7 - perlbrew exec perl -E "say 42" { ok 1 - invokes all perls { # perl-5.14.2 # ========== @@ -2128,10 +2154,20 @@ } 1..1 } +ok 8 - perlbrew exec --with perl-5.12.3 perl -E "say 42" { + ok 1 - invokes perl-5.12.3/bin/perl { + ok 1 + ok 2 + ok 3 + ok 4 - do_system_with_exit_code is called at least 1 time + 1..4 + } + 1..1 +} 1..8 ok t/command-help.t .......................... -# Seeded srand with seed '20241124' from local date. +# Seeded srand with seed '20251227' from local date. ok 1 - `perlbrew` should print some nice message and instruct user to read help for individual commands { ok 1 1..1 @@ -2159,21 +2195,21 @@ 1..5 ok t/command-info.t .......................... -# Seeded srand with seed '20241124' from local date. +# Seeded srand with seed '20251227' from local date. ok 1 - info command { - ok 1 - should display info if under system perl { + ok 1 - should display info for a module if the module is installed { ok 1 1..1 } - ok 2 - should display info if under perlbrew perl { + ok 2 - should display a message that the module can't be found if the module isn't installed { ok 1 1..1 } - ok 3 - should display a message that the module can't be found if the module isn't installed { + ok 3 - should display info if under perlbrew perl { ok 1 1..1 } - ok 4 - should display info for a module if the module is installed { + ok 4 - should display info if under system perl { ok 1 1..1 } @@ -2182,11 +2218,11 @@ 1..1 ok t/command-install-cpanm.t ................. -# Seeded srand with seed '20241124' from local date. +# Seeded srand with seed '20251227' from local date. ok 1 - App::perlbrew->install_cpanm { ok 1 - should produce 'cpanm' in the bin dir { ok 1 - GET cpanm url: https://raw.githubusercontent.com/miyagawa/cpanminus/master/cpanm - ok 2 - cpanm is produced. /tmp/qlnlxSoDhL/bin/cpanm + ok 2 - cpanm is produced. /tmp/pT1WpEMTcr/bin/cpanm ok 3 - cpanm should be an executable. 1..3 } @@ -2195,11 +2231,11 @@ 1..1 ok t/command-install-cpm.t ................... -# Seeded srand with seed '20241124' from local date. +# Seeded srand with seed '20251227' from local date. ok 1 - App::perlbrew->install_cpm { ok 1 - should produce 'cpm' in the bin dir { ok 1 - GET cpm url: https://raw.githubusercontent.com/skaji/cpm/main/cpm - ok 2 - cpm is produced. /tmp/qlnlxSoDhL/bin/cpm + ok 2 - cpm is produced. /tmp/pT1WpEMTcr/bin/cpm ok 3 - cpm should be an executable. 1..3 } @@ -2208,19 +2244,19 @@ 1..1 ok t/command-install-from-archive.t .......... -# Seeded srand with seed '20241124' from local date. +# Seeded srand with seed '20251227' from local date. ok 1 - command install { ok 1 - with perfixed perl source archive { - ok 1 - should dispatch via do_install_archive() { - ok 1 - method do_install_archive is called with expected arguments - ok 2 - do_install_archive is called at least 1 time - 1..2 - } - ok 2 - should dispatch via do_extract_tarball() { + ok 1 - should dispatch via do_extract_tarball() { ok 1 - method do_extract_tarball is called with expected arguments ok 2 - do_extract_tarball is called at least 1 time 1..2 } + ok 2 - should dispatch via do_install_archive() { + ok 1 - method do_install_archive is called with expected arguments + ok 2 - do_install_archive is called at least 1 time + 1..2 + } ok 3 - should dispatch via do_install_this() { ok 1 - method do_install_this is called with expected arguments ok 2 - do_install_this is called at least 1 time @@ -2228,35 +2264,35 @@ } 1..3 } - ok 2 - with perl source archive { - ok 1 - should dispatch via do_install_this() { + ok 2 - with prefixed cperl source archive { + ok 1 - should dispatch via do_extract_tarball() { + ok 1 - method do_extract_tarball is called with expected arguments + ok 2 - do_extract_tarball is called at least 1 time + 1..2 + } + ok 2 - should dispatch via do_install_this() { ok 1 - method do_install_this is called with expected arguments ok 2 - do_install_this is called at least 1 time 1..2 } - ok 2 - should dispatch via do_install_archive() { + ok 3 - should dispatch via do_install_archive() { ok 1 - method do_install_archive is called with expected arguments ok 2 - do_install_archive is called at least 1 time 1..2 } - ok 3 - should dispatch via do_extract_tarball() { - ok 1 - method do_extract_tarball is called with expected arguments - ok 2 - do_extract_tarball is called at least 1 time - 1..2 - } 1..3 } - ok 3 - with prefixed cperl source archive { - ok 1 - should dispatch via do_extract_tarball() { - ok 1 - method do_extract_tarball is called with expected arguments - ok 2 - do_extract_tarball is called at least 1 time - 1..2 - } - ok 2 - should dispatch via do_install_this() { + ok 3 - with perl source archive { + ok 1 - should dispatch via do_install_this() { ok 1 - method do_install_this is called with expected arguments ok 2 - do_install_this is called at least 1 time 1..2 } + ok 2 - should dispatch via do_extract_tarball() { + ok 1 - method do_extract_tarball is called with expected arguments + ok 2 - do_extract_tarball is called at least 1 time + 1..2 + } ok 3 - should dispatch via do_install_archive() { ok 1 - method do_install_archive is called with expected arguments ok 2 - do_install_archive is called at least 1 time @@ -2287,11 +2323,11 @@ 1..1 ok t/command-install-patchperl.t ............. -# Seeded srand with seed '20241124' from local date. +# Seeded srand with seed '20251227' from local date. ok 1 - App::perlbrew->install_patchperl { ok 1 - should produce 'patchperl' in the bin dir { ok 1 - GET patchperl url: https://raw.githubusercontent.com/gugod/patchperl-packing/master/patchperl - ok 2 - patchperl is produced. /tmp/qlnlxSoDhL/bin/patchperl + ok 2 - patchperl is produced. /tmp/pT1WpEMTcr/bin/patchperl ok 3 - patchperl should be an executable. 1..3 } @@ -2300,56 +2336,56 @@ 1..1 ok t/command-install.t ....................... -# Seeded srand with seed '20241124' from local date. +# Seeded srand with seed '20251227' from local date. ok 1 - command install { - ok 1 - should install stable version of perl { - # (mock) installed perl-5.14.2 to /tmp/qlnlxSoDhL/perls/perl-5.14.2 - ok 1 - available_perls is called at least 1 time - ok 2 - method do_install_release is called with expected arguments - ok 3 - do_install_release is called at least 1 time - 1..3 - } - ok 2 - should install exact cperl version { - # (mock) installed cperl-5.26.4 to /tmp/qlnlxSoDhL/perls/cperl-5.26.4 - ok 1 - method do_install_release is called with expected arguments - ok 2 - do_install_release is called at least 1 time - 1..2 - } - ok 3 - should install from uri { - ok 1 - method do_install_url is called with expected arguments - ok 2 - do_install_url is called at least 1 time - 1..2 - } - ok 4 - should install from archive { + ok 1 - should install from archive { ok 1 - method do_install_archive is called with expected arguments ok 2 - do_install_archive is called at least 1 time 1..2 } - ok 5 - should install exact perl version { - # (mock) installed perl-5.12.1 to /tmp/qlnlxSoDhL/perls/perl-5.12.1 + ok 2 - should install blead perl { + ok 1 - do_install_release should be called exactly 0 times + ok 2 - do_install_blead should be called exactly 1 times + 1..2 + } + ok 3 - should install exact cperl version { + # (mock) installed cperl-5.26.4 to /tmp/pT1WpEMTcr/perls/cperl-5.26.4 ok 1 - method do_install_release is called with expected arguments ok 2 - do_install_release is called at least 1 time 1..2 } - ok 6 - should install git checkout { + ok 4 - should install git checkout { ok 1 - method do_install_git is called with expected arguments ok 2 - do_install_git is called at least 1 time 1..2 } - ok 7 - should install blead perl { - ok 1 - do_install_release should be called exactly 0 times - ok 2 - do_install_blead should be called exactly 1 times + ok 5 - should install from uri { + ok 1 - method do_install_url is called with expected arguments + ok 2 - do_install_url is called at least 1 time 1..2 } + ok 6 - should install exact perl version { + # (mock) installed perl-5.12.1 to /tmp/pT1WpEMTcr/perls/perl-5.12.1 + ok 1 - method do_install_release is called with expected arguments + ok 2 - do_install_release is called at least 1 time + 1..2 + } + ok 7 - should install stable version of perl { + # (mock) installed perl-5.14.2 to /tmp/pT1WpEMTcr/perls/perl-5.14.2 + ok 1 - available_perls is called at least 1 time + ok 2 - method do_install_release is called with expected arguments + ok 3 - do_install_release is called at least 1 time + 1..3 + } 1..7 } 1..1 ok t/command-lib.t ........................... -# Seeded srand with seed '20241124' from local date. -# (mock) installed perl-5.14.1 to /tmp/qlnlxSoDhL/perls/perl-5.14.1 -# (mock) installed perl-5.14.2 to /tmp/qlnlxSoDhL/perls/perl-5.14.2 -# (mock) installed perl-5.14.3 to /tmp/qlnlxSoDhL/perls/perl-5.14.3 +# Seeded srand with seed '20251227' from local date. +# (mock) installed perl-5.14.1 to /tmp/pT1WpEMTcr/perls/perl-5.14.1 +# (mock) installed perl-5.14.2 to /tmp/pT1WpEMTcr/perls/perl-5.14.2 +# (mock) installed perl-5.14.3 to /tmp/pT1WpEMTcr/perls/perl-5.14.3 ok 1 - lib command, { ok 1 - when invoked with unknown action name, { ok 1 - should display error { @@ -2358,8 +2394,36 @@ } 1..1 } - ok 2 - `create` sub-command, { - ok 1 - with perl name and @ as part of lib name, { + ok 2 - without lib name { + ok 1 - delete errs gracefully showing usage { + ok 1 - lib delete + 1..1 + } + ok 2 - create errs gracefully showing usage { + ok 1 - lib create + 1..1 + } + 1..2 + } + ok 3 - `create` sub-command, { + ok 1 - with @ in the beginning of lib name, { + ok 1 - creates the lib folder for current perl { + ok 1 - libdir do not exist + ok 2 - stdout matches + ok 3 + 1..3 + } + 1..1 + } + ok 2 - with a bare lib name, { + ok 1 - creates the lib folder for current perl { + ok 1 - stdout matches + ok 2 - libdir exists + 1..2 + } + 1..1 + } + ok 3 - with perl name and @ as part of lib name, { ok 1 - creates the lib folder for the specified perl { ok 1 - stdout matches ok 2 @@ -2377,47 +2441,19 @@ } 1..3 } - ok 2 - with @ in the beginning of lib name, { - ok 1 - creates the lib folder for current perl { - ok 1 - libdir do not exist - ok 2 - stdout matches - ok 3 - 1..3 - } - 1..1 - } - ok 3 - with a bare lib name, { - ok 1 - creates the lib folder for current perl { - ok 1 - stdout matches - ok 2 - libdir exists - 1..2 - } - 1..1 - } 1..3 } - ok 3 - `delete` sub-command, { - ok 1 - deletes the local::lib folder { + ok 4 - `delete` sub-command, { + ok 1 - shows errors when the given lib does not exists { + ok 1 - dies with error message + 1..1 + } + ok 2 - deletes the local::lib folder { ok 1 - stdout matches ok 2 ok 3 1..3 } - ok 2 - shows errors when the given lib does not exists { - ok 1 - dies with error message - 1..1 - } - 1..2 - } - ok 4 - without lib name { - ok 1 - delete errs gracefully showing usage { - ok 1 - lib delete - 1..1 - } - ok 2 - create errs gracefully showing usage { - ok 1 - lib create - 1..1 - } 1..2 } 1..4 @@ -2426,36 +2462,36 @@ ok # Workflow build 'when `--no-decoration` is given' is empty at t/command-list.t around lines 90 -> 98. t/command-list.t .......................... -# Seeded srand with seed '20241124' from local date. -# (mock) installed perl-5.12.3 to /tmp/qlnlxSoDhL/perls/perl-5.12.3 -# (mock) installed perl-5.12.4 to /tmp/qlnlxSoDhL/perls/perl-5.12.4 -# (mock) installed perl-5.14.1 to /tmp/qlnlxSoDhL/perls/perl-5.14.1 -# (mock) installed perl-5.14.2 to /tmp/qlnlxSoDhL/perls/perl-5.14.2 +# Seeded srand with seed '20251227' from local date. +# (mock) installed perl-5.12.3 to /tmp/pT1WpEMTcr/perls/perl-5.12.3 +# (mock) installed perl-5.12.4 to /tmp/pT1WpEMTcr/perls/perl-5.12.4 +# (mock) installed perl-5.14.1 to /tmp/pT1WpEMTcr/perls/perl-5.14.1 +# (mock) installed perl-5.14.2 to /tmp/pT1WpEMTcr/perls/perl-5.14.2 ok 1 - list command, { - ok 1 - when there are lib under PERLBREW_HOME, { - ok 1 - displays lib names { - # lib 'perl-5.12.3@nobita' is created. - # lib 'perl-5.12.3@shizuka' is created. - ok 1 - Cannot find Perl with libraries in output + ok 1 - when `--no-decoration` is given { + ok 1 - No decoration mark in the output + 1..1 + } + ok 2 - when there are lib under PERLBREW_HOME, { + ok 1 - when `--no-decoration` is given { + ok 1 - does not mark anything { + # lib 'perl-5.12.3@nobita' is created. + # lib 'perl-5.12.3@shizuka' is created. + ok 1 - No decoration mark in the output + 1..1 + } 1..1 } ok 2 - marks currently activated lib { ok 1 - Cannot find Perl with libraries in output 1..1 } - ok 3 - when `--no-decoration` is given { - ok 1 - does not mark anything { - ok 1 - No decoration mark in the output - 1..1 - } + ok 3 - displays lib names { + ok 1 - Cannot find Perl with libraries in output 1..1 } 1..3 } - ok 2 - when `--no-decoration` is given { - ok 1 - No decoration mark in the output - 1..1 - } ok 3 - when there no libs under PERLBREW_HOME, { ok 1 - displays a list of perl installation names { ok 1 - Cannot find Perl in output @@ -2473,16 +2509,16 @@ # #!/bin/bash # export PERL5LIB="/build/reproducible-path/perlbrew-1.01/blib/arch:/build/reproducible-path/perlbrew-1.01/blib/lib" # unset PERLBREW_LIB - # export PERLBREW_MANPATH="/tmp/qlnlxSoDhL/perls/perl-5.36.1/man" - # export PERLBREW_PATH="/tmp/qlnlxSoDhL/bin:/tmp/qlnlxSoDhL/perls/perl-5.36.1/bin" + # export PERLBREW_MANPATH="/tmp/pT1WpEMTcr/perls/perl-5.36.1/man" + # export PERLBREW_PATH="/tmp/pT1WpEMTcr/bin:/tmp/pT1WpEMTcr/perls/perl-5.36.1/bin" # export PERLBREW_PERL="perl-5.36.1" - # export PERLBREW_ROOT="/tmp/qlnlxSoDhL" + # export PERLBREW_ROOT="/tmp/pT1WpEMTcr" # export PERLBREW_VERSION="1.01" # unset PERL_LOCAL_LIB_ROOT # - # export PATH="/tmp/qlnlxSoDhL/bin:/tmp/qlnlxSoDhL/perls/perl-5.36.1/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" + # export PATH="/tmp/pT1WpEMTcr/bin:/tmp/pT1WpEMTcr/perls/perl-5.36.1/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" # - # exec bar "$@" + # exec foo "$@" # # # ---- @@ -2492,40 +2528,32 @@ # #!/bin/bash # export PERL5LIB="/build/reproducible-path/perlbrew-1.01/blib/arch:/build/reproducible-path/perlbrew-1.01/blib/lib" # unset PERLBREW_LIB - # export PERLBREW_MANPATH="/tmp/qlnlxSoDhL/perls/perl-5.36.1/man" - # export PERLBREW_PATH="/tmp/qlnlxSoDhL/bin:/tmp/qlnlxSoDhL/perls/perl-5.36.1/bin" + # export PERLBREW_MANPATH="/tmp/pT1WpEMTcr/perls/perl-5.36.1/man" + # export PERLBREW_PATH="/tmp/pT1WpEMTcr/bin:/tmp/pT1WpEMTcr/perls/perl-5.36.1/bin" # export PERLBREW_PERL="perl-5.36.1" - # export PERLBREW_ROOT="/tmp/qlnlxSoDhL" + # export PERLBREW_ROOT="/tmp/pT1WpEMTcr" # export PERLBREW_VERSION="1.01" # unset PERL_LOCAL_LIB_ROOT # - # export PATH="/tmp/qlnlxSoDhL/bin:/tmp/qlnlxSoDhL/perls/perl-5.36.1/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" + # export PATH="/tmp/pT1WpEMTcr/bin:/tmp/pT1WpEMTcr/perls/perl-5.36.1/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" # - # exec foo "$@" + # exec bar "$@" # # # ---- t/command-make-shim.t ..................... -# Seeded srand with seed '20241124' from local date. -# (mock) installed perl-5.36.1 to /tmp/qlnlxSoDhL/perls/perl-5.36.1 -ok 1 - App::perlbrew->make_shim() { - ok 1 - should show usage { - ok 1 - `make-shim` should not trigger any exceptions - ok 2 - `help` command should be running. +# Seeded srand with seed '20251227' from local date. +# (mock) installed perl-5.36.1 to /tmp/pT1WpEMTcr/perls/perl-5.36.1 +ok 1 - App::perlbrew->make_shim('foo') { + ok 1 - should err when 'foo' already exists { + ok 1 - (?^:^ERROR:) + ok 2 - (?^:^ERROR:) 1..2 } - 1..1 -} -ok 2 - App::perlbrew->make_shim('foo') { - ok 1 - should produce 'foo' in the current dir { + ok 2 - should produce 'foo' in the current dir { ok 1 - foo is produced under current directory. 1..1 } - ok 2 - should err when 'foo' already exists { - ok 1 - (?^:^ERROR:) - ok 2 - (?^:^ERROR:) - 1..2 - } ok 3 - should err when perlbrew is off { ok 1 - (?^:^ERROR:) ok 2 - foo is not produced @@ -2537,23 +2565,24 @@ } 1..4 } +ok 2 - App::perlbrew->make_shim() { + ok 1 - should show usage { + ok 1 - `make-shim` should not trigger any exceptions + ok 2 - `help` command should be running. + 1..2 + } + 1..1 +} 1..2 ok t/current_perl.t .......................... -# Seeded srand with seed '20241124' from local date. -# (mock) installed perl-5.12.3 to /tmp/qlnlxSoDhL/perls/perl-5.12.3 -# (mock) installed perl-5.12.4 to /tmp/qlnlxSoDhL/perls/perl-5.12.4 -# (mock) installed perl-5.14.1 to /tmp/qlnlxSoDhL/perls/perl-5.14.1 -# (mock) installed perl-5.14.2 to /tmp/qlnlxSoDhL/perls/perl-5.14.2 +# Seeded srand with seed '20251227' from local date. +# (mock) installed perl-5.12.3 to /tmp/pT1WpEMTcr/perls/perl-5.12.3 +# (mock) installed perl-5.12.4 to /tmp/pT1WpEMTcr/perls/perl-5.12.4 +# (mock) installed perl-5.14.1 to /tmp/pT1WpEMTcr/perls/perl-5.14.1 +# (mock) installed perl-5.14.2 to /tmp/pT1WpEMTcr/perls/perl-5.14.2 ok 1 - current perl { - ok 1 - is decided from env var PERLBREW_PERL { - ok 1 - ok 2 - ok 3 - ok 4 - 1..4 - } - ok 2 - can be set with current_perl method. { + ok 1 - can be set with current_perl method. { ok 1 ok 2 ok 3 @@ -2564,6 +2593,13 @@ ok 8 1..8 } + ok 2 - is decided from env var PERLBREW_PERL { + ok 1 + ok 2 + ok 3 + ok 4 + 1..4 + } ok 3 - can be decided from object attribute, which overrides env var. { ok 1 ok 2 @@ -2576,7 +2612,7 @@ 1..1 ok t/current_shell.t ......................... -# Seeded srand with seed '20241124' from local date. +# Seeded srand with seed '20251227' from local date. 1..6 ok 1 - current_shell gives the expected shell based on $SHELL environment variable ok 2 - current_shell setups and returns anything passed as parameter @@ -2590,23 +2626,23 @@ ok 6 - current_shell_is_bashish() returns false ok t/do_system.t ............................. -# Seeded srand with seed '20241124' from local date. +# Seeded srand with seed '20251227' from local date. 1..2 ok 1 - passed all arguments to system() ok 2 - passed single string to system() ok t/error-http_download-exec-error.t ........ -# Seeded srand with seed '20241124' from local date. +# Seeded srand with seed '20251227' from local date. ok 1 - The exit status code of curl is -1 1..1 ok t/error-http_download-exit-nonzero.t ...... -# Seeded srand with seed '20241124' from local date. +# Seeded srand with seed '20251227' from local date. ok 1 - The exit status code of curl is 42 1..1 ok t/error-http_download-param-validation.t .. -# Seeded srand with seed '20241124' from local date. +# Seeded srand with seed '20251227' from local date. ok 1 - http_download: dies when when the download target already exists { ok 1 - dies with the expected error message 1..1 @@ -2614,12 +2650,12 @@ 1..1 ok t/error-install-before-init.t ............. -# Seeded srand with seed '20241124' from local date. +# Seeded srand with seed '20251227' from local date. ok 1 - installing a perl before initializing perlbrew fails 1..1 ok t/failure-command-install-cpanm.t ......... -# Seeded srand with seed '20241124' from local date. +# Seeded srand with seed '20251227' from local date. ok 1 - App::perlbrew->install_cpanm { ok 1 - should no produced 'cpanm' in the bin dir, if the downloaded content seems to be invalid. { ok 1 - GET cpanm url: https://raw.githubusercontent.com/miyagawa/cpanminus/master/cpanm @@ -2630,10 +2666,10 @@ # # ...and try again latter. # - # The previously downloaded file is saved at /tmp/cpanm.downloaded.2150764 for manual inspection. + # The previously downloaded file is saved at /tmp/cpanm.downloaded.1941150 for manual inspection. # # - ok 3 - cpanm is not produced. /tmp/qlnlxSoDhL/bin/cpanm + ok 3 - cpanm is not produced. /tmp/pT1WpEMTcr/bin/cpanm 1..3 } 1..1 @@ -2641,7 +2677,7 @@ 1..1 ok t/failure-command-install-cpm.t ........... -# Seeded srand with seed '20241124' from local date. +# Seeded srand with seed '20251227' from local date. ok 1 - App::perlbrew->install_cpm { ok 1 - should no produced 'cpm' in the bin dir, if the downloaded content seems to be invalid. { ok 1 - GET cpm url: https://raw.githubusercontent.com/skaji/cpm/main/cpm @@ -2652,10 +2688,10 @@ # # ...and try again latter. # - # The previously downloaded file is saved at /tmp/cpm.downloaded.2150826 for manual inspection. + # The previously downloaded file is saved at /tmp/cpm.downloaded.1941151 for manual inspection. # # - ok 3 - cpm is not produced. /tmp/qlnlxSoDhL/bin/cpm + ok 3 - cpm is not produced. /tmp/pT1WpEMTcr/bin/cpm 1..3 } 1..1 @@ -2663,7 +2699,7 @@ 1..1 ok t/failure-command-install-patchperl.t ..... -# Seeded srand with seed '20241124' from local date. +# Seeded srand with seed '20251227' from local date. ok 1 - App::perlbrew->install_patchperl { ok 1 - should not produce 'patchperl' in the bin dir, if the downloaded content does not seem to be valid. { ok 1 - GET patchperl url: https://raw.githubusercontent.com/gugod/patchperl-packing/master/patchperl @@ -2674,10 +2710,10 @@ # # ...and try again latter. # - # The previously downloaded file is saved at /tmp/patchperl.downloaded.2150903 for manual inspection. + # The previously downloaded file is saved at /tmp/patchperl.downloaded.1941152 for manual inspection. # # - ok 3 - patchperl is *not* installed: /tmp/qlnlxSoDhL/bin/patchperl + ok 3 - patchperl is *not* installed: /tmp/pT1WpEMTcr/bin/patchperl 1..3 } 1..1 @@ -2685,7 +2721,7 @@ 1..1 ok t/home.t .................................. -# Seeded srand with seed '20241124' from local date. +# Seeded srand with seed '20251227' from local date. ok 1 - App::perlbrew\#home method { ok 1 - it should return $App::perlbrew::PERLBREW_HOME if provided { ok 1 - App::Perlbrew::Path=HASH->isa('App::Perlbrew::Path') @@ -2716,7 +2752,7 @@ 1..1 ok t/http-program-control.t .................. -# Seeded srand with seed '20241124' from local date. +# Seeded srand with seed '20251227' from local date. ok 1 - UA should be curl, verbosity should be 0 { ok 1 - UA Program can be set to: curl ok 2 - verbosity matches: [curl --silent --location --fail -o - https\:\/\/perlbrew\.pl] @@ -2751,32 +2787,32 @@ } 1..7 ok -# PATH=/build/reproducible-path/perlbrew-1.01/t/fake-bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games +# PATH=/build/reproducible-path/perlbrew-1.01/t/fake-bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path # curl = /build/reproducible-path/perlbrew-1.01/t/fake-bin/curl t/http-ua-detect-non-curl.t ............... -# Seeded srand with seed '20241124' from local date. +# Seeded srand with seed '20251227' from local date. ok 1 ok 2 - UA: wget 1..2 ok t/http-ua-detect.t ........................ -# Seeded srand with seed '20241124' from local date. +# Seeded srand with seed '20251227' from local date. ok 1 - UA: curl 1..1 ok t/http.t .................................. skipped: (no reason given) t/installation-perlbrew.t ................. -# Seeded srand with seed '20241124' from local date. -# PERLBREW_ROOT set to /tmp/qsSK11qlnl +# Seeded srand with seed '20251227' from local date. +# PERLBREW_ROOT set to /tmp/YLzUewpT1W ok 1 - `perlbrew self-install` initialize the required dir structure under PERLBREW_ROOT { # - # perlbrew root (/tmp/qsSK11qlnl) is initialized. + # perlbrew root (/tmp/YLzUewpT1W) is initialized. # # Append the following piece of code to the end of your ~/.bash_profile and start a # new shell, perlbrew should be up and fully functional from there: # - # export PERLBREW_HOME=/tmp/xSoDhLKMjy - # source /tmp/qsSK11qlnl/etc/bashrc + # export PERLBREW_HOME=/tmp/pEMTcreMjZ + # source /tmp/YLzUewpT1W/etc/bashrc # # Simply run `perlbrew` for usage details. # @@ -2818,10 +2854,10 @@ 1..5 ok t/installation.t .......................... -# Seeded srand with seed '20241124' from local date. -# PERLBREW_ROOT set to /tmp/qsSK11qlnl +# Seeded srand with seed '20251227' from local date. +# PERLBREW_ROOT set to /tmp/YLzUewpT1W ok 1 -# (mock) installed perl-5.14.0 to /tmp/qsSK11qlnl/perls/perl-5.14.0 +# (mock) installed perl-5.14.0 to /tmp/YLzUewpT1W/perls/perl-5.14.0 ok 2 ok 3 ok 4 - should die when doing install with existing distribution name. @@ -2832,7 +2868,7 @@ 1..3 } ok 6 - do not clobber exitsing user-specified name. { - # (mock) installed the-dude to /tmp/qsSK11qlnl/perls/the-dude + # (mock) installed the-dude to /tmp/YLzUewpT1W/perls/the-dude ok 1 ok 2 ok 3 - should die when doing install with existing user-specified name. @@ -2841,12 +2877,12 @@ 1..6 ok t/installation2.t ......................... -# Seeded srand with seed '20241124' from local date. -# PERLBREW_ROOT set to /tmp/qlnlxSoDhL +# Seeded srand with seed '20251227' from local date. +# PERLBREW_ROOT set to /tmp/pT1WpEMTcr ok 1 - App::perlbrew { ok 1 - ->do_install_url method { ok 1 - it should accept an URL to perl tarball, and download the tarball. { - # Fetching perl-5.14.0 as /tmp/qlnlxSoDhL/dists/perl-5.14.0.tar.gz + # Fetching perl-5.14.0 as /tmp/pT1WpEMTcr/dists/perl-5.14.0.tar.gz ok 1 - http_download is called ok 2 - do_extract_tarball is called ok 3 - do_install_this is called @@ -2864,11 +2900,11 @@ } ok 3 - ->do_install_this method { ok 1 - it should log successful brews to the log_file. { - # Installing into /tmp/qlnlxSoDhL/perls/perl-5.12.3 + # Installing into /tmp/pT1WpEMTcr/perls/perl-5.12.3 # # This could take a while. You can run the following command on another shell to track the status: # - # tail -f /tmp/qlnlxSoDhL/build.perl-5.12.3.log + # tail -f /tmp/pT1WpEMTcr/build.perl-5.12.3.log # # perl-5.12.3 is successfully installed. ok 1 - Success message shows in log @@ -2876,11 +2912,11 @@ 1..2 } ok 2 - it should log brew failure to the log_file if system call fails. { - # Installing into /tmp/qlnlxSoDhL/perls/perl-5.12.3 + # Installing into /tmp/pT1WpEMTcr/perls/perl-5.12.3 # # This could take a while. You can run the following command on another shell to track the status: # - # tail -f /tmp/qlnlxSoDhL/build.perl-5.12.3.log + # tail -f /tmp/pT1WpEMTcr/build.perl-5.12.3.log # ok 1 ok 2 - Failure message shows in log @@ -2894,16 +2930,16 @@ 1..1 ok t/installation3.t ......................... -# Seeded srand with seed '20241124' from local date. +# Seeded srand with seed '20251227' from local date. 1..3 -# (mock) installed perl-5.16.2 to /tmp/qsSK11qlnl/perls/perl-5.16.2 +# (mock) installed perl-5.16.2 to /tmp/YLzUewpT1W/perls/perl-5.16.2 ok 1 - install perl-stable installs one perl ok 2 - install perl-stable installs correct perl ok 3 - install --switch automatically switches to the installed perl ok t/list_modules.t .......................... -# Seeded srand with seed '20241124' from local date. -# (mock) installed perl-5.14.1 to /tmp/qlnlxSoDhL/perls/perl-5.14.1 +# Seeded srand with seed '20251227' from local date. +# (mock) installed perl-5.14.1 to /tmp/pT1WpEMTcr/perls/perl-5.14.1 ok 1 - list_modules method, { ok 1 - when run successfully { ok 1 - should return an arryref of module names { @@ -2918,7 +2954,7 @@ 1..1 ok t/sys.t ................................... -# Seeded srand with seed '20241124' from local date. +# Seeded srand with seed '20251227' from local date. ok 1 - sys { ok 1 ok 2 @@ -2930,7 +2966,7 @@ 1..1 ok t/unit-files-are-the-same.t ............... -# Seeded srand with seed '20241124' from local date. +# Seeded srand with seed '20251227' from local date. # Comparing /build/reproducible-path/perlbrew-1.01/t/00.load.t with /build/reproducible-path/perlbrew-1.01/t/08.error_install.t ok 1 ok 2 @@ -2964,7 +3000,7 @@ 1..20 ok t/util-find-similar-tokens.t .............. -# Seeded srand with seed '20241124' from local date. +# Seeded srand with seed '20251227' from local date. 1..3 ok 1 - exact result { ok 1 @@ -2984,7 +3020,7 @@ } ok t/util-looks-like.t ....................... -# Seeded srand with seed '20241124' from local date. +# Seeded srand with seed '20251227' from local date. ok 1 - looks_like_url_of_skaji_relocatable_perl { ok 1 - positive case: https://github.com/skaji/relocatable-perl/releases/download/5.40.0.0/perl-darwin-amd64.tar.gz ok 2 - positive case: https://github.com/skaji/relocatable-perl/releases/download/5.40.0.0/perl-linux-amd64.tar.gz @@ -3004,7 +3040,7 @@ 1..2 ok All tests successful. -Files=72, Tests=241, 84 wallclock secs ( 0.35 usr 0.37 sys + 28.49 cusr 4.81 csys = 34.02 CPU) +Files=72, Tests=241, 15 wallclock secs ( 0.22 usr 0.12 sys + 12.13 cusr 2.09 csys = 14.56 CPU) Result: PASS create-stamp debian/debhelper-build-stamp dh_prep @@ -3014,12 +3050,12 @@ /usr/bin/perl Build install --destdir /build/reproducible-path/perlbrew-1.01/debian/perlbrew --create_packlist 0 Installing /build/reproducible-path/perlbrew-1.01/debian/perlbrew/usr/share/man/man1/perlbrew.1p Installing /build/reproducible-path/perlbrew-1.01/debian/perlbrew/usr/share/perl5/App/perlbrew.pm +Installing /build/reproducible-path/perlbrew-1.01/debian/perlbrew/usr/share/perl5/App/Perlbrew/Util.pm Installing /build/reproducible-path/perlbrew-1.01/debian/perlbrew/usr/share/perl5/App/Perlbrew/Path.pm Installing /build/reproducible-path/perlbrew-1.01/debian/perlbrew/usr/share/perl5/App/Perlbrew/Sys.pm Installing /build/reproducible-path/perlbrew-1.01/debian/perlbrew/usr/share/perl5/App/Perlbrew/HTTP.pm -Installing /build/reproducible-path/perlbrew-1.01/debian/perlbrew/usr/share/perl5/App/Perlbrew/Util.pm -Installing /build/reproducible-path/perlbrew-1.01/debian/perlbrew/usr/share/perl5/App/Perlbrew/Path/Root.pm Installing /build/reproducible-path/perlbrew-1.01/debian/perlbrew/usr/share/perl5/App/Perlbrew/Path/Installations.pm +Installing /build/reproducible-path/perlbrew-1.01/debian/perlbrew/usr/share/perl5/App/Perlbrew/Path/Root.pm Installing /build/reproducible-path/perlbrew-1.01/debian/perlbrew/usr/share/perl5/App/Perlbrew/Path/Installation.pm Installing /build/reproducible-path/perlbrew-1.01/debian/perlbrew/usr/share/man/man3/App::perlbrew.3pm Installing /build/reproducible-path/perlbrew-1.01/debian/perlbrew/usr/bin/perlbrew @@ -3047,12 +3083,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/1939380/tmp/hooks/B01_cleanup starting +I: user script /srv/workspace/pbuilder/1939380/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/2140188 and its subdirectories -I: Current time: Sat Nov 23 20:27:00 -12 2024 -I: pbuilder-time-stamp: 1732436820 +I: removing directory /srv/workspace/pbuilder/1939380 and its subdirectories +I: Current time: Sun Dec 28 04:50:43 +14 2025 +I: pbuilder-time-stamp: 1766847043