0s autopkgtest [03:49:21]: starting date and time: 2024-03-19 03:49:21+0000 0s autopkgtest [03:49:21]: git checkout: b506e79c ssh-setup/nova: fix ARCH having two lines of data 0s autopkgtest [03:49:21]: host juju-7f2275-prod-proposed-migration-environment-2; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.fbhjpkk4/out --timeout-copy=6000 --setup-commands /home/ubuntu/autopkgtest-cloud/worker-config-production/setup-canonical.sh --apt-pocket=proposed=src:perl,src:db5.3,src:gdbm,src:mmdebstrap --apt-upgrade libtemplate-alloy-perl --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 '--env=ADT_TEST_TRIGGERS=perl/5.38.2-3.2 db5.3/5.3.28+dfsg2-5 gdbm/1.23-5.1 mmdebstrap/1.4.3-6' -- ssh -s /home/ubuntu/autopkgtest/ssh-setup/nova -- --flavor autopkgtest --security-groups autopkgtest-juju-7f2275-prod-proposed-migration-environment-2@bos02-s390x-10.secgroup --name adt-noble-s390x-libtemplate-alloy-perl-20240319-023540-juju-7f2275-prod-proposed-migration-environment-2 --image adt/ubuntu-noble-s390x-server --keyname testbed-juju-7f2275-prod-proposed-migration-environment-2 --net-id=net_prod-proposed-migration -e TERM=linux -e ''"'"'http_proxy=http://squid.internal:3128'"'"'' -e ''"'"'https_proxy=http://squid.internal:3128'"'"'' -e ''"'"'no_proxy=127.0.0.1,127.0.1.1,login.ubuntu.com,localhost,localdomain,novalocal,internal,archive.ubuntu.com,ports.ubuntu.com,security.ubuntu.com,ddebs.ubuntu.com,changelogs.ubuntu.com,launchpadlibrarian.net,launchpadcontent.net,launchpad.net,10.24.0.0/24,keystone.ps5.canonical.com,objectstorage.prodstack5.canonical.com'"'"'' --mirror=http://ftpmaster.internal/ubuntu/ 564s autopkgtest [03:58:45]: testbed dpkg architecture: s390x 565s autopkgtest [03:58:46]: testbed apt version: 2.7.12 565s autopkgtest [03:58:46]: @@@@@@@@@@@@@@@@@@@@ test bed setup 565s Get:1 http://ftpmaster.internal/ubuntu noble-proposed InRelease [117 kB] 565s Get:2 http://ftpmaster.internal/ubuntu noble-proposed/multiverse Sources [53.3 kB] 566s Get:3 http://ftpmaster.internal/ubuntu noble-proposed/restricted Sources [6540 B] 566s Get:4 http://ftpmaster.internal/ubuntu noble-proposed/universe Sources [3757 kB] 566s Get:5 http://ftpmaster.internal/ubuntu noble-proposed/main Sources [486 kB] 567s Get:6 http://ftpmaster.internal/ubuntu noble-proposed/main s390x Packages [641 kB] 567s Get:7 http://ftpmaster.internal/ubuntu noble-proposed/main s390x c-n-f Metadata [3032 B] 567s Get:8 http://ftpmaster.internal/ubuntu noble-proposed/restricted s390x Packages [1372 B] 567s Get:9 http://ftpmaster.internal/ubuntu noble-proposed/restricted s390x c-n-f Metadata [116 B] 567s Get:10 http://ftpmaster.internal/ubuntu noble-proposed/universe s390x Packages [3928 kB] 567s Get:11 http://ftpmaster.internal/ubuntu noble-proposed/universe s390x c-n-f Metadata [7292 B] 567s Get:12 http://ftpmaster.internal/ubuntu noble-proposed/multiverse s390x Packages [34.3 kB] 567s Get:13 http://ftpmaster.internal/ubuntu noble-proposed/multiverse s390x c-n-f Metadata [116 B] 569s Fetched 9035 kB in 3s (2792 kB/s) 569s Reading package lists... 570s Hit:1 http://ftpmaster.internal/ubuntu noble-proposed InRelease 570s Reading package lists... 576s Reading package lists... 576s Building dependency tree... 576s Reading state information... 576s Calculating upgrade... 576s The following packages were automatically installed and are no longer required: 576s fuse3 libfuse3-3 libgdbm-compat4t64 libperl5.38 lto-disabled-list make 576s perl-modules-5.38 s390-tools-data s390-tools-signed 576s Use 'sudo apt autoremove' to remove them. 576s The following packages will be REMOVED: 576s dpkg-dev libdpkg-perl libgdbm-compat4 libgdbm6 perl s390-tools 576s sysconfig-hardware 576s The following NEW packages will be installed: 576s libgdbm-compat4t64 libgdbm6t64 576s The following packages will be upgraded: 576s perl-base perl-modules-5.38 576s 2 upgraded, 2 newly installed, 7 to remove and 0 not upgraded. 576s Need to get 5114 kB of archives. 576s After this operation, 15.7 MB disk space will be freed. 576s Get:1 http://ftpmaster.internal/ubuntu noble-proposed/main s390x perl-base s390x 5.38.2-3.2 [1961 kB] 578s Get:2 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libgdbm6t64 s390x 1.23-5.1 [36.4 kB] 578s Get:3 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libgdbm-compat4t64 s390x 1.23-5.1 [6880 B] 578s Get:4 http://ftpmaster.internal/ubuntu noble-proposed/main s390x perl-modules-5.38 all 5.38.2-3.2 [3110 kB] 579s Fetched 5114 kB in 2s (2223 kB/s) 579s (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 ... 52187 files and directories currently installed.) 579s Removing sysconfig-hardware (0.0.14ubuntu2) ... 579s Removing s390-tools (2.31.0-0ubuntu1) ... 579s Removing dpkg-dev (1.22.4ubuntu5) ... 579s Removing libdpkg-perl (1.22.4ubuntu5) ... 579s Removing perl (5.38.2-3) ... 579s (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 ... 51348 files and directories currently installed.) 579s Preparing to unpack .../perl-base_5.38.2-3.2_s390x.deb ... 579s Unpacking perl-base (5.38.2-3.2) over (5.38.2-3) ... 580s Setting up perl-base (5.38.2-3.2) ... 580s dpkg: libgdbm6:s390x: dependency problems, but removing anyway as you requested: 580s python3-gdbm:s390x depends on libgdbm6 (>= 1.16). 580s man-db depends on libgdbm6 (>= 1.16). 580s libperl5.38:s390x depends on libgdbm6 (>= 1.21). 580s libgdbm-compat4:s390x depends on libgdbm6 (>= 1.16). 580s 580s (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 ... 51348 files and directories currently installed.) 580s Removing libgdbm6:s390x (1.23-5) ... 580s Selecting previously unselected package libgdbm6t64:s390x. 580s (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 ... 51343 files and directories currently installed.) 580s Preparing to unpack .../libgdbm6t64_1.23-5.1_s390x.deb ... 580s Unpacking libgdbm6t64:s390x (1.23-5.1) ... 580s dpkg: libgdbm-compat4:s390x: dependency problems, but removing anyway as you requested: 580s libperl5.38:s390x depends on libgdbm-compat4 (>= 1.18-3). 580s 580s (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 ... 51349 files and directories currently installed.) 580s Removing libgdbm-compat4:s390x (1.23-5) ... 580s Selecting previously unselected package libgdbm-compat4t64:s390x. 580s (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 ... 51344 files and directories currently installed.) 580s Preparing to unpack .../libgdbm-compat4t64_1.23-5.1_s390x.deb ... 580s Unpacking libgdbm-compat4t64:s390x (1.23-5.1) ... 580s Preparing to unpack .../perl-modules-5.38_5.38.2-3.2_all.deb ... 580s Unpacking perl-modules-5.38 (5.38.2-3.2) over (5.38.2-3) ... 580s Setting up libgdbm6t64:s390x (1.23-5.1) ... 580s Setting up libgdbm-compat4t64:s390x (1.23-5.1) ... 580s Setting up perl-modules-5.38 (5.38.2-3.2) ... 580s Processing triggers for libc-bin (2.39-0ubuntu2) ... 580s Processing triggers for man-db (2.12.0-3) ... 581s Processing triggers for initramfs-tools (0.142ubuntu20) ... 581s update-initramfs: Generating /boot/initrd.img-6.8.0-11-generic 581s W: No lz4 in /usr/bin:/sbin:/bin, using gzip 584s W: Target Packages (main/binary-s390x/Packages) is configured multiple times in /etc/apt/sources.list:1 and /etc/apt/sources.list.d/ubuntu.sources:1 584s W: Target Packages (main/binary-all/Packages) is configured multiple times in /etc/apt/sources.list:1 and /etc/apt/sources.list.d/ubuntu.sources:1 584s W: Target CNF (main/cnf/Commands-s390x) is configured multiple times in /etc/apt/sources.list:1 and /etc/apt/sources.list.d/ubuntu.sources:1 584s W: Target CNF (main/cnf/Commands-all) is configured multiple times in /etc/apt/sources.list:1 and /etc/apt/sources.list.d/ubuntu.sources:1 584s W: Target Packages (universe/binary-s390x/Packages) is configured multiple times in /etc/apt/sources.list:1 and /etc/apt/sources.list.d/ubuntu.sources:1 584s W: Target Packages (universe/binary-all/Packages) is configured multiple times in /etc/apt/sources.list:1 and /etc/apt/sources.list.d/ubuntu.sources:1 584s W: Target CNF (universe/cnf/Commands-s390x) is configured multiple times in /etc/apt/sources.list:1 and /etc/apt/sources.list.d/ubuntu.sources:1 584s W: Target CNF (universe/cnf/Commands-all) is configured multiple times in /etc/apt/sources.list:1 and /etc/apt/sources.list.d/ubuntu.sources:1 584s W: Target Packages (restricted/binary-s390x/Packages) is configured multiple times in /etc/apt/sources.list:1 and /etc/apt/sources.list.d/ubuntu.sources:1 584s W: Target Packages (restricted/binary-all/Packages) is configured multiple times in /etc/apt/sources.list:1 and /etc/apt/sources.list.d/ubuntu.sources:1 584s W: Target CNF (restricted/cnf/Commands-s390x) is configured multiple times in /etc/apt/sources.list:1 and /etc/apt/sources.list.d/ubuntu.sources:1 584s W: Target CNF (restricted/cnf/Commands-all) is configured multiple times in /etc/apt/sources.list:1 and /etc/apt/sources.list.d/ubuntu.sources:1 584s W: Target Packages (multiverse/binary-s390x/Packages) is configured multiple times in /etc/apt/sources.list:1 and /etc/apt/sources.list.d/ubuntu.sources:1 584s W: Target Packages (multiverse/binary-all/Packages) is configured multiple times in /etc/apt/sources.list:1 and /etc/apt/sources.list.d/ubuntu.sources:1 584s W: Target CNF (multiverse/cnf/Commands-s390x) is configured multiple times in /etc/apt/sources.list:1 and /etc/apt/sources.list.d/ubuntu.sources:1 584s W: Target CNF (multiverse/cnf/Commands-all) is configured multiple times in /etc/apt/sources.list:1 and /etc/apt/sources.list.d/ubuntu.sources:1 584s W: Target Packages (main/binary-s390x/Packages) is configured multiple times in /etc/apt/sources.list:2 and /etc/apt/sources.list.d/ubuntu.sources:1 584s W: Target Packages (main/binary-all/Packages) is configured multiple times in /etc/apt/sources.list:2 and /etc/apt/sources.list.d/ubuntu.sources:1 584s W: Target CNF (main/cnf/Commands-s390x) is configured multiple times in /etc/apt/sources.list:2 and /etc/apt/sources.list.d/ubuntu.sources:1 584s W: Target CNF (main/cnf/Commands-all) is configured multiple times in /etc/apt/sources.list:2 and /etc/apt/sources.list.d/ubuntu.sources:1 584s W: Target Packages (universe/binary-s390x/Packages) is configured multiple times in /etc/apt/sources.list:2 and /etc/apt/sources.list.d/ubuntu.sources:1 584s W: Target Packages (universe/binary-all/Packages) is configured multiple times in /etc/apt/sources.list:2 and /etc/apt/sources.list.d/ubuntu.sources:1 584s W: Target CNF (universe/cnf/Commands-s390x) is configured multiple times in /etc/apt/sources.list:2 and /etc/apt/sources.list.d/ubuntu.sources:1 584s W: Target CNF (universe/cnf/Commands-all) is configured multiple times in /etc/apt/sources.list:2 and /etc/apt/sources.list.d/ubuntu.sources:1 584s W: Target Packages (restricted/binary-s390x/Packages) is configured multiple times in /etc/apt/sources.list:2 and /etc/apt/sources.list.d/ubuntu.sources:1 584s W: Target Packages (restricted/binary-all/Packages) is configured multiple times in /etc/apt/sources.list:2 and /etc/apt/sources.list.d/ubuntu.sources:1 584s W: Target CNF (restricted/cnf/Commands-s390x) is configured multiple times in /etc/apt/sources.list:2 and /etc/apt/sources.list.d/ubuntu.sources:1 584s W: Target CNF (restricted/cnf/Commands-all) is configured multiple times in /etc/apt/sources.list:2 and /etc/apt/sources.list.d/ubuntu.sources:1 584s W: Target Packages (multiverse/binary-s390x/Packages) is configured multiple times in /etc/apt/sources.list:2 and /etc/apt/sources.list.d/ubuntu.sources:1 584s W: Target Packages (multiverse/binary-all/Packages) is configured multiple times in /etc/apt/sources.list:2 and /etc/apt/sources.list.d/ubuntu.sources:1 584s W: Target CNF (multiverse/cnf/Commands-s390x) is configured multiple times in /etc/apt/sources.list:2 and /etc/apt/sources.list.d/ubuntu.sources:1 584s W: Target CNF (multiverse/cnf/Commands-all) is configured multiple times in /etc/apt/sources.list:2 and /etc/apt/sources.list.d/ubuntu.sources:1 584s W: Target Packages (main/binary-s390x/Packages) is configured multiple times in /etc/apt/sources.list:3 and /etc/apt/sources.list.d/ubuntu.sources:2 584s W: Target Packages (main/binary-all/Packages) is configured multiple times in /etc/apt/sources.list:3 and /etc/apt/sources.list.d/ubuntu.sources:2 584s W: Target CNF (main/cnf/Commands-s390x) is configured multiple times in /etc/apt/sources.list:3 and /etc/apt/sources.list.d/ubuntu.sources:2 584s W: Target CNF (main/cnf/Commands-all) is configured multiple times in /etc/apt/sources.list:3 and /etc/apt/sources.list.d/ubuntu.sources:2 584s W: Target Packages (universe/binary-s390x/Packages) is configured multiple times in /etc/apt/sources.list:3 and /etc/apt/sources.list.d/ubuntu.sources:2 584s W: Target Packages (universe/binary-all/Packages) is configured multiple times in /etc/apt/sources.list:3 and /etc/apt/sources.list.d/ubuntu.sources:2 584s W: Target CNF (universe/cnf/Commands-s390x) is configured multiple times in /etc/apt/sources.list:3 and /etc/apt/sources.list.d/ubuntu.sources:2 584s W: Target CNF (universe/cnf/Commands-all) is configured multiple times in /etc/apt/sources.list:3 and /etc/apt/sources.list.d/ubuntu.sources:2 584s W: Target Packages (restricted/binary-s390x/Packages) is configured multiple times in /etc/apt/sources.list:3 and /etc/apt/sources.list.d/ubuntu.sources:2 584s W: Target Packages (restricted/binary-all/Packages) is configured multiple times in /etc/apt/sources.list:3 and /etc/apt/sources.list.d/ubuntu.sources:2 584s W: Target CNF (restricted/cnf/Commands-s390x) is configured multiple times in /etc/apt/sources.list:3 and /etc/apt/sources.list.d/ubuntu.sources:2 584s W: Target CNF (restricted/cnf/Commands-all) is configured multiple times in /etc/apt/sources.list:3 and /etc/apt/sources.list.d/ubuntu.sources:2 584s W: Target Packages (multiverse/binary-s390x/Packages) is configured multiple times in /etc/apt/sources.list:3 and /etc/apt/sources.list.d/ubuntu.sources:2 584s W: Target Packages (multiverse/binary-all/Packages) is configured multiple times in /etc/apt/sources.list:3 and /etc/apt/sources.list.d/ubuntu.sources:2 584s W: Target CNF (multiverse/cnf/Commands-s390x) is configured multiple times in /etc/apt/sources.list:3 and /etc/apt/sources.list.d/ubuntu.sources:2 584s W: Target CNF (multiverse/cnf/Commands-all) is configured multiple times in /etc/apt/sources.list:3 and /etc/apt/sources.list.d/ubuntu.sources:2 584s W: Target Packages (main/binary-s390x/Packages) is configured multiple times in /etc/apt/sources.list.d/proposed.list:1 and /etc/apt/sources.list.d/proposed.sources:1 584s W: Target Packages (main/binary-all/Packages) is configured multiple times in /etc/apt/sources.list.d/proposed.list:1 and /etc/apt/sources.list.d/proposed.sources:1 584s W: Target CNF (main/cnf/Commands-s390x) is configured multiple times in /etc/apt/sources.list.d/proposed.list:1 and /etc/apt/sources.list.d/proposed.sources:1 584s W: Target CNF (main/cnf/Commands-all) is configured multiple times in /etc/apt/sources.list.d/proposed.list:1 and /etc/apt/sources.list.d/proposed.sources:1 584s W: Target Packages (universe/binary-s390x/Packages) is configured multiple times in /etc/apt/sources.list.d/proposed.list:1 and /etc/apt/sources.list.d/proposed.sources:1 584s W: Target Packages (universe/binary-all/Packages) is configured multiple times in /etc/apt/sources.list.d/proposed.list:1 and /etc/apt/sources.list.d/proposed.sources:1 584s W: Target CNF (universe/cnf/Commands-s390x) is configured multiple times in /etc/apt/sources.list.d/proposed.list:1 and /etc/apt/sources.list.d/proposed.sources:1 584s W: Target CNF (universe/cnf/Commands-all) is configured multiple times in /etc/apt/sources.list.d/proposed.list:1 and /etc/apt/sources.list.d/proposed.sources:1 584s W: Target Packages (restricted/binary-s390x/Packages) is configured multiple times in /etc/apt/sources.list.d/proposed.list:1 and /etc/apt/sources.list.d/proposed.sources:1 584s W: Target Packages (restricted/binary-all/Packages) is configured multiple times in /etc/apt/sources.list.d/proposed.list:1 and /etc/apt/sources.list.d/proposed.sources:1 584s W: Target CNF (restricted/cnf/Commands-s390x) is configured multiple times in /etc/apt/sources.list.d/proposed.list:1 and /etc/apt/sources.list.d/proposed.sources:1 584s W: Target CNF (restricted/cnf/Commands-all) is configured multiple times in /etc/apt/sources.list.d/proposed.list:1 and /etc/apt/sources.list.d/proposed.sources:1 584s W: Target Packages (multiverse/binary-s390x/Packages) is configured multiple times in /etc/apt/sources.list.d/proposed.list:1 and /etc/apt/sources.list.d/proposed.sources:1 584s W: Target Packages (multiverse/binary-all/Packages) is configured multiple times in /etc/apt/sources.list.d/proposed.list:1 and /etc/apt/sources.list.d/proposed.sources:1 584s W: Target CNF (multiverse/cnf/Commands-s390x) is configured multiple times in /etc/apt/sources.list.d/proposed.list:1 and /etc/apt/sources.list.d/proposed.sources:1 584s W: Target CNF (multiverse/cnf/Commands-all) is configured multiple times in /etc/apt/sources.list.d/proposed.list:1 and /etc/apt/sources.list.d/proposed.sources:1 584s Reading package lists... 584s Building dependency tree... 584s Reading state information... 585s The following packages will be REMOVED: 585s fuse3* libfuse3-3* libgdbm-compat4t64* libperl5.38* lto-disabled-list* make* 585s perl-modules-5.38* s390-tools-data* s390-tools-signed* 585s 0 upgraded, 0 newly installed, 9 to remove and 0 not upgraded. 585s After this operation, 50.6 MB disk space will be freed. 585s (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 ... 51350 files and directories currently installed.) 585s Removing fuse3 (3.14.0-5) ... 585s update-initramfs: deferring update (trigger activated) 585s Removing libfuse3-3:s390x (3.14.0-5) ... 585s Removing libperl5.38:s390x (5.38.2-3) ... 585s Removing libgdbm-compat4t64:s390x (1.23-5.1) ... 585s Removing lto-disabled-list (47) ... 585s Removing make (4.3-4.1build1) ... 585s Removing perl-modules-5.38 (5.38.2-3.2) ... 585s Removing s390-tools-data (2.31.0-0ubuntu1) ... 585s Removing s390-tools-signed (2.31.0-0ubuntu1) ... 585s Processing triggers for libc-bin (2.39-0ubuntu2) ... 585s Processing triggers for man-db (2.12.0-3) ... 585s Processing triggers for initramfs-tools (0.142ubuntu20) ... 585s update-initramfs: Generating /boot/initrd.img-6.8.0-11-generic 585s W: No lz4 in /usr/bin:/sbin:/bin, using gzip 588s (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 ... 49353 files and directories currently installed.) 588s Purging configuration files for fuse3 (3.14.0-5) ... 589s Hit:1 http://ftpmaster.internal/ubuntu noble InRelease 589s Hit:2 http://ftpmaster.internal/ubuntu noble-updates InRelease 589s Hit:3 http://ftpmaster.internal/ubuntu noble-security InRelease 589s Hit:4 http://ftpmaster.internal/ubuntu noble-proposed InRelease 589s Hit:5 http://ftpmaster.internal/ubuntu noble-backports InRelease 593s Reading package lists... 593s W: Target Packages (main/binary-s390x/Packages) is configured multiple times in /etc/apt/sources.list:1 and /etc/apt/sources.list.d/ubuntu.sources:1 593s W: Target Packages (main/binary-all/Packages) is configured multiple times in /etc/apt/sources.list:1 and /etc/apt/sources.list.d/ubuntu.sources:1 593s W: Target CNF (main/cnf/Commands-s390x) is configured multiple times in /etc/apt/sources.list:1 and /etc/apt/sources.list.d/ubuntu.sources:1 593s W: Target CNF (main/cnf/Commands-all) is configured multiple times in /etc/apt/sources.list:1 and /etc/apt/sources.list.d/ubuntu.sources:1 593s W: Target Packages (universe/binary-s390x/Packages) is configured multiple times in /etc/apt/sources.list:1 and /etc/apt/sources.list.d/ubuntu.sources:1 593s W: Target Packages (universe/binary-all/Packages) is configured multiple times in /etc/apt/sources.list:1 and /etc/apt/sources.list.d/ubuntu.sources:1 593s W: Target CNF (universe/cnf/Commands-s390x) is configured multiple times in /etc/apt/sources.list:1 and /etc/apt/sources.list.d/ubuntu.sources:1 593s W: Target CNF (universe/cnf/Commands-all) is configured multiple times in /etc/apt/sources.list:1 and /etc/apt/sources.list.d/ubuntu.sources:1 593s W: Target Packages (restricted/binary-s390x/Packages) is configured multiple times in /etc/apt/sources.list:1 and /etc/apt/sources.list.d/ubuntu.sources:1 593s W: Target Packages (restricted/binary-all/Packages) is configured multiple times in /etc/apt/sources.list:1 and /etc/apt/sources.list.d/ubuntu.sources:1 593s W: Target CNF (restricted/cnf/Commands-s390x) is configured multiple times in /etc/apt/sources.list:1 and /etc/apt/sources.list.d/ubuntu.sources:1 593s W: Target CNF (restricted/cnf/Commands-all) is configured multiple times in /etc/apt/sources.list:1 and /etc/apt/sources.list.d/ubuntu.sources:1 593s W: Target Packages (multiverse/binary-s390x/Packages) is configured multiple times in /etc/apt/sources.list:1 and /etc/apt/sources.list.d/ubuntu.sources:1 593s W: Target Packages (multiverse/binary-all/Packages) is configured multiple times in /etc/apt/sources.list:1 and /etc/apt/sources.list.d/ubuntu.sources:1 593s W: Target CNF (multiverse/cnf/Commands-s390x) is configured multiple times in /etc/apt/sources.list:1 and /etc/apt/sources.list.d/ubuntu.sources:1 593s W: Target CNF (multiverse/cnf/Commands-all) is configured multiple times in /etc/apt/sources.list:1 and /etc/apt/sources.list.d/ubuntu.sources:1 593s W: Target Packages (main/binary-s390x/Packages) is configured multiple times in /etc/apt/sources.list:2 and /etc/apt/sources.list.d/ubuntu.sources:1 593s W: Target Packages (main/binary-all/Packages) is configured multiple times in /etc/apt/sources.list:2 and /etc/apt/sources.list.d/ubuntu.sources:1 593s W: Target CNF (main/cnf/Commands-s390x) is configured multiple times in /etc/apt/sources.list:2 and /etc/apt/sources.list.d/ubuntu.sources:1 593s W: Target CNF (main/cnf/Commands-all) is configured multiple times in /etc/apt/sources.list:2 and /etc/apt/sources.list.d/ubuntu.sources:1 593s W: Target Packages (universe/binary-s390x/Packages) is configured multiple times in /etc/apt/sources.list:2 and /etc/apt/sources.list.d/ubuntu.sources:1 593s W: Target Packages (universe/binary-all/Packages) is configured multiple times in /etc/apt/sources.list:2 and /etc/apt/sources.list.d/ubuntu.sources:1 593s W: Target CNF (universe/cnf/Commands-s390x) is configured multiple times in /etc/apt/sources.list:2 and /etc/apt/sources.list.d/ubuntu.sources:1 593s W: Target CNF (universe/cnf/Commands-all) is configured multiple times in /etc/apt/sources.list:2 and /etc/apt/sources.list.d/ubuntu.sources:1 593s W: Target Packages (restricted/binary-s390x/Packages) is configured multiple times in /etc/apt/sources.list:2 and /etc/apt/sources.list.d/ubuntu.sources:1 593s W: Target Packages (restricted/binary-all/Packages) is configured multiple times in /etc/apt/sources.list:2 and /etc/apt/sources.list.d/ubuntu.sources:1 593s W: Target CNF (restricted/cnf/Commands-s390x) is configured multiple times in /etc/apt/sources.list:2 and /etc/apt/sources.list.d/ubuntu.sources:1 593s W: Target CNF (restricted/cnf/Commands-all) is configured multiple times in /etc/apt/sources.list:2 and /etc/apt/sources.list.d/ubuntu.sources:1 593s W: Target Packages (multiverse/binary-s390x/Packages) is configured multiple times in /etc/apt/sources.list:2 and /etc/apt/sources.list.d/ubuntu.sources:1 593s W: Target Packages (multiverse/binary-all/Packages) is configured multiple times in /etc/apt/sources.list:2 and /etc/apt/sources.list.d/ubuntu.sources:1 593s W: Target CNF (multiverse/cnf/Commands-s390x) is configured multiple times in /etc/apt/sources.list:2 and /etc/apt/sources.list.d/ubuntu.sources:1 593s W: Target CNF (multiverse/cnf/Commands-all) is configured multiple times in /etc/apt/sources.list:2 and /etc/apt/sources.list.d/ubuntu.sources:1 593s W: Target Packages (main/binary-s390x/Packages) is configured multiple times in /etc/apt/sources.list:3 and /etc/apt/sources.list.d/ubuntu.sources:2 593s W: Target Packages (main/binary-all/Packages) is configured multiple times in /etc/apt/sources.list:3 and /etc/apt/sources.list.d/ubuntu.sources:2 593s W: Target CNF (main/cnf/Commands-s390x) is configured multiple times in /etc/apt/sources.list:3 and /etc/apt/sources.list.d/ubuntu.sources:2 593s W: Target CNF (main/cnf/Commands-all) is configured multiple times in /etc/apt/sources.list:3 and /etc/apt/sources.list.d/ubuntu.sources:2 593s W: Target Packages (universe/binary-s390x/Packages) is configured multiple times in /etc/apt/sources.list:3 and /etc/apt/sources.list.d/ubuntu.sources:2 593s W: Target Packages (universe/binary-all/Packages) is configured multiple times in /etc/apt/sources.list:3 and /etc/apt/sources.list.d/ubuntu.sources:2 593s W: Target CNF (universe/cnf/Commands-s390x) is configured multiple times in /etc/apt/sources.list:3 and /etc/apt/sources.list.d/ubuntu.sources:2 593s W: Target CNF (universe/cnf/Commands-all) is configured multiple times in /etc/apt/sources.list:3 and /etc/apt/sources.list.d/ubuntu.sources:2 593s W: Target Packages (restricted/binary-s390x/Packages) is configured multiple times in /etc/apt/sources.list:3 and /etc/apt/sources.list.d/ubuntu.sources:2 593s W: Target Packages (restricted/binary-all/Packages) is configured multiple times in /etc/apt/sources.list:3 and /etc/apt/sources.list.d/ubuntu.sources:2 593s W: Target CNF (restricted/cnf/Commands-s390x) is configured multiple times in /etc/apt/sources.list:3 and /etc/apt/sources.list.d/ubuntu.sources:2 593s W: Target CNF (restricted/cnf/Commands-all) is configured multiple times in /etc/apt/sources.list:3 and /etc/apt/sources.list.d/ubuntu.sources:2 593s W: Target Packages (multiverse/binary-s390x/Packages) is configured multiple times in /etc/apt/sources.list:3 and /etc/apt/sources.list.d/ubuntu.sources:2 593s W: Target Packages (multiverse/binary-all/Packages) is configured multiple times in /etc/apt/sources.list:3 and /etc/apt/sources.list.d/ubuntu.sources:2 593s W: Target CNF (multiverse/cnf/Commands-s390x) is configured multiple times in /etc/apt/sources.list:3 and /etc/apt/sources.list.d/ubuntu.sources:2 593s W: Target CNF (multiverse/cnf/Commands-all) is configured multiple times in /etc/apt/sources.list:3 and /etc/apt/sources.list.d/ubuntu.sources:2 593s W: Target Packages (main/binary-s390x/Packages) is configured multiple times in /etc/apt/sources.list.d/proposed.list:1 and /etc/apt/sources.list.d/proposed.sources:1 593s W: Target Packages (main/binary-all/Packages) is configured multiple times in /etc/apt/sources.list.d/proposed.list:1 and /etc/apt/sources.list.d/proposed.sources:1 593s W: Target CNF (main/cnf/Commands-s390x) is configured multiple times in /etc/apt/sources.list.d/proposed.list:1 and /etc/apt/sources.list.d/proposed.sources:1 593s W: Target CNF (main/cnf/Commands-all) is configured multiple times in /etc/apt/sources.list.d/proposed.list:1 and /etc/apt/sources.list.d/proposed.sources:1 593s W: Target Packages (universe/binary-s390x/Packages) is configured multiple times in /etc/apt/sources.list.d/proposed.list:1 and /etc/apt/sources.list.d/proposed.sources:1 593s W: Target Packages (universe/binary-all/Packages) is configured multiple times in /etc/apt/sources.list.d/proposed.list:1 and /etc/apt/sources.list.d/proposed.sources:1 593s W: Target CNF (universe/cnf/Commands-s390x) is configured multiple times in /etc/apt/sources.list.d/proposed.list:1 and /etc/apt/sources.list.d/proposed.sources:1 593s W: Target CNF (universe/cnf/Commands-all) is configured multiple times in /etc/apt/sources.list.d/proposed.list:1 and /etc/apt/sources.list.d/proposed.sources:1 593s W: Target Packages (restricted/binary-s390x/Packages) is configured multiple times in /etc/apt/sources.list.d/proposed.list:1 and /etc/apt/sources.list.d/proposed.sources:1 593s W: Target Packages (restricted/binary-all/Packages) is configured multiple times in /etc/apt/sources.list.d/proposed.list:1 and /etc/apt/sources.list.d/proposed.sources:1 593s W: Target CNF (restricted/cnf/Commands-s390x) is configured multiple times in /etc/apt/sources.list.d/proposed.list:1 and /etc/apt/sources.list.d/proposed.sources:1 593s W: Target CNF (restricted/cnf/Commands-all) is configured multiple times in /etc/apt/sources.list.d/proposed.list:1 and /etc/apt/sources.list.d/proposed.sources:1 593s W: Target Packages (multiverse/binary-s390x/Packages) is configured multiple times in /etc/apt/sources.list.d/proposed.list:1 and /etc/apt/sources.list.d/proposed.sources:1 593s W: Target Packages (multiverse/binary-all/Packages) is configured multiple times in /etc/apt/sources.list.d/proposed.list:1 and /etc/apt/sources.list.d/proposed.sources:1 593s W: Target CNF (multiverse/cnf/Commands-s390x) is configured multiple times in /etc/apt/sources.list.d/proposed.list:1 and /etc/apt/sources.list.d/proposed.sources:1 593s W: Target CNF (multiverse/cnf/Commands-all) is configured multiple times in /etc/apt/sources.list.d/proposed.list:1 and /etc/apt/sources.list.d/proposed.sources:1 593s W: Target Packages (main/binary-s390x/Packages) is configured multiple times in /etc/apt/sources.list:1 and /etc/apt/sources.list.d/ubuntu.sources:1 593s W: Target Packages (main/binary-all/Packages) is configured multiple times in /etc/apt/sources.list:1 and /etc/apt/sources.list.d/ubuntu.sources:1 593s W: Target CNF (main/cnf/Commands-s390x) is configured multiple times in /etc/apt/sources.list:1 and /etc/apt/sources.list.d/ubuntu.sources:1 593s W: Target CNF (main/cnf/Commands-all) is configured multiple times in /etc/apt/sources.list:1 and /etc/apt/sources.list.d/ubuntu.sources:1 593s W: Target Packages (universe/binary-s390x/Packages) is configured multiple times in /etc/apt/sources.list:1 and /etc/apt/sources.list.d/ubuntu.sources:1 593s W: Target Packages (universe/binary-all/Packages) is configured multiple times in /etc/apt/sources.list:1 and /etc/apt/sources.list.d/ubuntu.sources:1 593s W: Target CNF (universe/cnf/Commands-s390x) is configured multiple times in /etc/apt/sources.list:1 and /etc/apt/sources.list.d/ubuntu.sources:1 593s W: Target CNF (universe/cnf/Commands-all) is configured multiple times in /etc/apt/sources.list:1 and /etc/apt/sources.list.d/ubuntu.sources:1 593s W: Target Packages (restricted/binary-s390x/Packages) is configured multiple times in /etc/apt/sources.list:1 and /etc/apt/sources.list.d/ubuntu.sources:1 593s W: Target Packages (restricted/binary-all/Packages) is configured multiple times in /etc/apt/sources.list:1 and /etc/apt/sources.list.d/ubuntu.sources:1 593s W: Target CNF (restricted/cnf/Commands-s390x) is configured multiple times in /etc/apt/sources.list:1 and /etc/apt/sources.list.d/ubuntu.sources:1 593s W: Target CNF (restricted/cnf/Commands-all) is configured multiple times in /etc/apt/sources.list:1 and /etc/apt/sources.list.d/ubuntu.sources:1 593s W: Target Packages (multiverse/binary-s390x/Packages) is configured multiple times in /etc/apt/sources.list:1 and /etc/apt/sources.list.d/ubuntu.sources:1 593s W: Target Packages (multiverse/binary-all/Packages) is configured multiple times in /etc/apt/sources.list:1 and /etc/apt/sources.list.d/ubuntu.sources:1 593s W: Target CNF (multiverse/cnf/Commands-s390x) is configured multiple times in /etc/apt/sources.list:1 and /etc/apt/sources.list.d/ubuntu.sources:1 593s W: Target CNF (multiverse/cnf/Commands-all) is configured multiple times in /etc/apt/sources.list:1 and /etc/apt/sources.list.d/ubuntu.sources:1 593s W: Target Packages (main/binary-s390x/Packages) is configured multiple times in /etc/apt/sources.list:2 and /etc/apt/sources.list.d/ubuntu.sources:1 593s W: Target Packages (main/binary-all/Packages) is configured multiple times in /etc/apt/sources.list:2 and /etc/apt/sources.list.d/ubuntu.sources:1 593s W: Target CNF (main/cnf/Commands-s390x) is configured multiple times in /etc/apt/sources.list:2 and /etc/apt/sources.list.d/ubuntu.sources:1 593s W: Target CNF (main/cnf/Commands-all) is configured multiple times in /etc/apt/sources.list:2 and /etc/apt/sources.list.d/ubuntu.sources:1 593s W: Target Packages (universe/binary-s390x/Packages) is configured multiple times in /etc/apt/sources.list:2 and /etc/apt/sources.list.d/ubuntu.sources:1 593s W: Target Packages (universe/binary-all/Packages) is configured multiple times in /etc/apt/sources.list:2 and /etc/apt/sources.list.d/ubuntu.sources:1 593s W: Target CNF (universe/cnf/Commands-s390x) is configured multiple times in /etc/apt/sources.list:2 and /etc/apt/sources.list.d/ubuntu.sources:1 593s W: Target CNF (universe/cnf/Commands-all) is configured multiple times in /etc/apt/sources.list:2 and /etc/apt/sources.list.d/ubuntu.sources:1 593s W: Target Packages (restricted/binary-s390x/Packages) is configured multiple times in /etc/apt/sources.list:2 and /etc/apt/sources.list.d/ubuntu.sources:1 593s W: Target Packages (restricted/binary-all/Packages) is configured multiple times in /etc/apt/sources.list:2 and /etc/apt/sources.list.d/ubuntu.sources:1 593s W: Target CNF (restricted/cnf/Commands-s390x) is configured multiple times in /etc/apt/sources.list:2 and /etc/apt/sources.list.d/ubuntu.sources:1 593s W: Target CNF (restricted/cnf/Commands-all) is configured multiple times in /etc/apt/sources.list:2 and /etc/apt/sources.list.d/ubuntu.sources:1 593s W: Target Packages (multiverse/binary-s390x/Packages) is configured multiple times in /etc/apt/sources.list:2 and /etc/apt/sources.list.d/ubuntu.sources:1 593s W: Target Packages (multiverse/binary-all/Packages) is configured multiple times in /etc/apt/sources.list:2 and /etc/apt/sources.list.d/ubuntu.sources:1 593s W: Target CNF (multiverse/cnf/Commands-s390x) is configured multiple times in /etc/apt/sources.list:2 and /etc/apt/sources.list.d/ubuntu.sources:1 593s W: Target CNF (multiverse/cnf/Commands-all) is configured multiple times in /etc/apt/sources.list:2 and /etc/apt/sources.list.d/ubuntu.sources:1 593s W: Target Packages (main/binary-s390x/Packages) is configured multiple times in /etc/apt/sources.list:3 and /etc/apt/sources.list.d/ubuntu.sources:2 593s W: Target Packages (main/binary-all/Packages) is configured multiple times in /etc/apt/sources.list:3 and /etc/apt/sources.list.d/ubuntu.sources:2 593s W: Target CNF (main/cnf/Commands-s390x) is configured multiple times in /etc/apt/sources.list:3 and /etc/apt/sources.list.d/ubuntu.sources:2 593s W: Target CNF (main/cnf/Commands-all) is configured multiple times in /etc/apt/sources.list:3 and /etc/apt/sources.list.d/ubuntu.sources:2 593s W: Target Packages (universe/binary-s390x/Packages) is configured multiple times in /etc/apt/sources.list:3 and /etc/apt/sources.list.d/ubuntu.sources:2 593s W: Target Packages (universe/binary-all/Packages) is configured multiple times in /etc/apt/sources.list:3 and /etc/apt/sources.list.d/ubuntu.sources:2 593s W: Target CNF (universe/cnf/Commands-s390x) is configured multiple times in /etc/apt/sources.list:3 and /etc/apt/sources.list.d/ubuntu.sources:2 593s W: Target CNF (universe/cnf/Commands-all) is configured multiple times in /etc/apt/sources.list:3 and /etc/apt/sources.list.d/ubuntu.sources:2 593s W: Target Packages (restricted/binary-s390x/Packages) is configured multiple times in /etc/apt/sources.list:3 and /etc/apt/sources.list.d/ubuntu.sources:2 593s W: Target Packages (restricted/binary-all/Packages) is configured multiple times in /etc/apt/sources.list:3 and /etc/apt/sources.list.d/ubuntu.sources:2 593s W: Target CNF (restricted/cnf/Commands-s390x) is configured multiple times in /etc/apt/sources.list:3 and /etc/apt/sources.list.d/ubuntu.sources:2 593s W: Target CNF (restricted/cnf/Commands-all) is configured multiple times in /etc/apt/sources.list:3 and /etc/apt/sources.list.d/ubuntu.sources:2 593s W: Target Packages (multiverse/binary-s390x/Packages) is configured multiple times in /etc/apt/sources.list:3 and /etc/apt/sources.list.d/ubuntu.sources:2 593s W: Target Packages (multiverse/binary-all/Packages) is configured multiple times in /etc/apt/sources.list:3 and /etc/apt/sources.list.d/ubuntu.sources:2 593s W: Target CNF (multiverse/cnf/Commands-s390x) is configured multiple times in /etc/apt/sources.list:3 and /etc/apt/sources.list.d/ubuntu.sources:2 593s W: Target CNF (multiverse/cnf/Commands-all) is configured multiple times in /etc/apt/sources.list:3 and /etc/apt/sources.list.d/ubuntu.sources:2 593s W: Target Packages (main/binary-s390x/Packages) is configured multiple times in /etc/apt/sources.list.d/proposed.list:1 and /etc/apt/sources.list.d/proposed.sources:1 593s W: Target Packages (main/binary-all/Packages) is configured multiple times in /etc/apt/sources.list.d/proposed.list:1 and /etc/apt/sources.list.d/proposed.sources:1 593s W: Target CNF (main/cnf/Commands-s390x) is configured multiple times in /etc/apt/sources.list.d/proposed.list:1 and /etc/apt/sources.list.d/proposed.sources:1 593s W: Target CNF (main/cnf/Commands-all) is configured multiple times in /etc/apt/sources.list.d/proposed.list:1 and /etc/apt/sources.list.d/proposed.sources:1 593s W: Target Packages (universe/binary-s390x/Packages) is configured multiple times in /etc/apt/sources.list.d/proposed.list:1 and /etc/apt/sources.list.d/proposed.sources:1 593s W: Target Packages (universe/binary-all/Packages) is configured multiple times in /etc/apt/sources.list.d/proposed.list:1 and /etc/apt/sources.list.d/proposed.sources:1 593s W: Target CNF (universe/cnf/Commands-s390x) is configured multiple times in /etc/apt/sources.list.d/proposed.list:1 and /etc/apt/sources.list.d/proposed.sources:1 593s W: Target CNF (universe/cnf/Commands-all) is configured multiple times in /etc/apt/sources.list.d/proposed.list:1 and /etc/apt/sources.list.d/proposed.sources:1 593s W: Target Packages (restricted/binary-s390x/Packages) is configured multiple times in /etc/apt/sources.list.d/proposed.list:1 and /etc/apt/sources.list.d/proposed.sources:1 593s W: Target Packages (restricted/binary-all/Packages) is configured multiple times in /etc/apt/sources.list.d/proposed.list:1 and /etc/apt/sources.list.d/proposed.sources:1 593s W: Target CNF (restricted/cnf/Commands-s390x) is configured multiple times in /etc/apt/sources.list.d/proposed.list:1 and /etc/apt/sources.list.d/proposed.sources:1 593s W: Target CNF (restricted/cnf/Commands-all) is configured multiple times in /etc/apt/sources.list.d/proposed.list:1 and /etc/apt/sources.list.d/proposed.sources:1 593s W: Target Packages (multiverse/binary-s390x/Packages) is configured multiple times in /etc/apt/sources.list.d/proposed.list:1 and /etc/apt/sources.list.d/proposed.sources:1 593s W: Target Packages (multiverse/binary-all/Packages) is configured multiple times in /etc/apt/sources.list.d/proposed.list:1 and /etc/apt/sources.list.d/proposed.sources:1 593s W: Target CNF (multiverse/cnf/Commands-s390x) is configured multiple times in /etc/apt/sources.list.d/proposed.list:1 and /etc/apt/sources.list.d/proposed.sources:1 593s W: Target CNF (multiverse/cnf/Commands-all) is configured multiple times in /etc/apt/sources.list.d/proposed.list:1 and /etc/apt/sources.list.d/proposed.sources:1 593s Reading package lists... 593s Building dependency tree... 593s Reading state information... 594s Calculating upgrade... 594s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 594s Reading package lists... 594s Building dependency tree... 594s Reading state information... 594s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 594s autopkgtest [03:59:15]: rebooting testbed after setup commands that affected boot 624s autopkgtest [03:59:45]: testbed running kernel: Linux 6.8.0-11-generic #11-Ubuntu SMP Tue Feb 13 23:45:46 UTC 2024 627s autopkgtest [03:59:48]: @@@@@@@@@@@@@@@@@@@@ apt-source libtemplate-alloy-perl 631s Reading package lists... 631s Building dependency tree... 631s Reading state information... 631s Starting pkgProblemResolver with broken count: 0 631s Starting 2 pkgProblemResolver with broken count: 0 631s Done 631s The following additional packages will be installed: 631s dpkg-dev libdb5.3t64 libdpkg-perl libgdbm-compat4t64 libperl5.38t64 631s lto-disabled-list make perl perl-modules-5.38 631s Suggested packages: 631s debian-keyring gcc | c-compiler git bzr make-doc perl-doc 631s libterm-readline-gnu-perl | libterm-readline-perl-perl 631s libtap-harness-archive-perl 631s Recommended packages: 631s build-essential gcc | c-compiler fakeroot libalgorithm-merge-perl 631s libfile-fcntllock-perl 631s The following packages will be REMOVED: 631s libdb5.3 631s The following NEW packages will be installed: 631s autopkgtest-satdep dpkg-dev libdb5.3t64 libdpkg-perl libgdbm-compat4t64 632s libperl5.38t64 lto-disabled-list make perl perl-modules-5.38 632s 0 upgraded, 10 newly installed, 1 to remove and 0 not upgraded. 632s Need to get 7542 kB/10.7 MB of archives. 632s After this operation, 54.4 MB of additional disk space will be used. 632s Get:1 /tmp/autopkgtest.COAqMg/1-autopkgtest-satdep.deb autopkgtest-satdep s390x 0 [704 B] 632s Get:2 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libdb5.3t64 s390x 5.3.28+dfsg2-5build1 [763 kB] 632s Get:3 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libperl5.38t64 s390x 5.38.2-3.2 [5007 kB] 634s Get:4 http://ftpmaster.internal/ubuntu noble-proposed/main s390x perl s390x 5.38.2-3.2 [231 kB] 634s Get:5 http://ftpmaster.internal/ubuntu noble/main s390x libdpkg-perl all 1.22.4ubuntu5 [268 kB] 634s Get:6 http://ftpmaster.internal/ubuntu noble/main s390x make s390x 4.3-4.1build1 [182 kB] 634s Get:7 http://ftpmaster.internal/ubuntu noble/main s390x lto-disabled-list all 47 [12.4 kB] 634s Get:8 http://ftpmaster.internal/ubuntu noble/main s390x dpkg-dev all 1.22.4ubuntu5 [1078 kB] 635s Fetched 7542 kB in 3s (2467 kB/s) 635s dpkg: libdb5.3:s390x: dependency problems, but removing anyway as you requested: 635s libsasl2-modules-db:s390x depends on libdb5.3. 635s libpython3.12-stdlib:s390x depends on libdb5.3. 635s libpython3.11-stdlib:s390x depends on libdb5.3. 635s libpam-modules:s390x depends on libdb5.3. 635s iproute2 depends on libdb5.3. 635s apt-utils depends on libdb5.3. 635s 635s (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 ... 49352 files and directories currently installed.) 635s Removing libdb5.3:s390x (5.3.28+dfsg2-4) ... 635s Selecting previously unselected package libdb5.3t64:s390x. 635s (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 ... 49346 files and directories currently installed.) 635s Preparing to unpack .../libdb5.3t64_5.3.28+dfsg2-5build1_s390x.deb ... 635s Unpacking libdb5.3t64:s390x (5.3.28+dfsg2-5build1) ... 635s Setting up libdb5.3t64:s390x (5.3.28+dfsg2-5build1) ... 635s Selecting previously unselected package perl-modules-5.38. 635s (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 ... 49352 files and directories currently installed.) 635s Preparing to unpack .../0-perl-modules-5.38_5.38.2-3.2_all.deb ... 635s Unpacking perl-modules-5.38 (5.38.2-3.2) ... 635s Selecting previously unselected package libgdbm-compat4t64:s390x. 635s Preparing to unpack .../1-libgdbm-compat4t64_1.23-5.1_s390x.deb ... 635s Unpacking libgdbm-compat4t64:s390x (1.23-5.1) ... 635s Selecting previously unselected package libperl5.38t64:s390x. 635s Preparing to unpack .../2-libperl5.38t64_5.38.2-3.2_s390x.deb ... 635s Unpacking libperl5.38t64:s390x (5.38.2-3.2) ... 636s Selecting previously unselected package perl. 636s Preparing to unpack .../3-perl_5.38.2-3.2_s390x.deb ... 636s Unpacking perl (5.38.2-3.2) ... 636s Selecting previously unselected package libdpkg-perl. 636s Preparing to unpack .../4-libdpkg-perl_1.22.4ubuntu5_all.deb ... 636s Unpacking libdpkg-perl (1.22.4ubuntu5) ... 636s Selecting previously unselected package make. 636s Preparing to unpack .../5-make_4.3-4.1build1_s390x.deb ... 636s Unpacking make (4.3-4.1build1) ... 636s Selecting previously unselected package lto-disabled-list. 636s Preparing to unpack .../6-lto-disabled-list_47_all.deb ... 636s Unpacking lto-disabled-list (47) ... 636s Selecting previously unselected package dpkg-dev. 636s Preparing to unpack .../7-dpkg-dev_1.22.4ubuntu5_all.deb ... 636s Unpacking dpkg-dev (1.22.4ubuntu5) ... 636s Selecting previously unselected package autopkgtest-satdep. 636s Preparing to unpack .../8-1-autopkgtest-satdep.deb ... 636s Unpacking autopkgtest-satdep (0) ... 636s Setting up lto-disabled-list (47) ... 636s Setting up libgdbm-compat4t64:s390x (1.23-5.1) ... 636s Setting up make (4.3-4.1build1) ... 636s Setting up perl-modules-5.38 (5.38.2-3.2) ... 636s Setting up libperl5.38t64:s390x (5.38.2-3.2) ... 636s Setting up perl (5.38.2-3.2) ... 636s Setting up libdpkg-perl (1.22.4ubuntu5) ... 636s Setting up dpkg-dev (1.22.4ubuntu5) ... 636s Setting up autopkgtest-satdep (0) ... 636s Processing triggers for man-db (2.12.0-3) ... 636s Processing triggers for libc-bin (2.39-0ubuntu2) ... 638s (Reading database ... 51897 files and directories currently installed.) 638s Removing autopkgtest-satdep (0) ... 639s Get:1 http://ftpmaster.internal/ubuntu noble/universe libtemplate-alloy-perl 1.022-2 (dsc) [2160 B] 639s Get:2 http://ftpmaster.internal/ubuntu noble/universe libtemplate-alloy-perl 1.022-2 (tar) [196 kB] 639s Get:3 http://ftpmaster.internal/ubuntu noble/universe libtemplate-alloy-perl 1.022-2 (diff) [4736 B] 639s gpgv: Signature made Sun Oct 16 22:02:07 2022 UTC 639s gpgv: using RSA key B23862C415D6565A4E86CBD7579C160D4C9E23E8 639s gpgv: Can't check signature: No public key 639s dpkg-source: warning: cannot verify inline signature for ./libtemplate-alloy-perl_1.022-2.dsc: no acceptable signature found 639s autopkgtest [04:00:00]: testing package libtemplate-alloy-perl version 1.022-2 640s autopkgtest [04:00:01]: build not needed 642s autopkgtest [04:00:03]: test autodep8-perl-build-deps: preparing testbed 644s Reading package lists... 644s Building dependency tree... 644s Reading state information... 644s Starting pkgProblemResolver with broken count: 0 644s Starting 2 pkgProblemResolver with broken count: 0 644s Done 645s The following additional packages will be installed: 645s autoconf autodep8 automake autopoint autotools-dev build-essential cpp 645s cpp-13 cpp-13-s390x-linux-gnu cpp-s390x-linux-gnu dctrl-tools debhelper 645s debugedit dh-autoreconf dh-strip-nondeterminism dwz g++ g++-13 645s g++-13-s390x-linux-gnu g++-s390x-linux-gnu gcc gcc-13 gcc-13-s390x-linux-gnu 645s gcc-s390x-linux-gnu gettext intltool-debian libarchive-zip-perl libasan8 645s libatomic1 libc-dev-bin libc6-dev libcc1-0 libcrypt-dev libdebhelper-perl 645s libdw1 libfile-stripnondeterminism-perl libgcc-13-dev libgomp1 libisl23 645s libitm1 libmpc3 libnsl-dev libstdc++-13-dev libsub-override-perl 645s libtemplate-alloy-perl libtirpc-dev libtool libubsan1 linux-libc-dev m4 645s pkg-perl-autopkgtest po-debconf rpcsvc-proto 645s Suggested packages: 645s autoconf-archive gnu-standards autoconf-doc cpp-doc gcc-13-locales 645s cpp-13-doc debtags dh-make g++-multilib g++-13-multilib gcc-13-doc 645s gcc-multilib manpages-dev flex bison gdb gcc-doc gcc-13-multilib 645s gdb-s390x-linux-gnu gettext-doc libasprintf-dev libgettextpo-dev glibc-doc 645s libstdc++-13-doc libtool-doc gfortran | fortran95-compiler gcj-jdk m4-doc 645s libmail-box-perl 645s Recommended packages: 645s manpages manpages-dev libc-devtools libarchive-cpio-perl libltdl-dev 645s libmail-sendmail-perl 645s The following NEW packages will be installed: 645s autoconf autodep8 automake autopkgtest-satdep autopoint autotools-dev 645s build-essential cpp cpp-13 cpp-13-s390x-linux-gnu cpp-s390x-linux-gnu 645s dctrl-tools debhelper debugedit dh-autoreconf dh-strip-nondeterminism dwz 645s g++ g++-13 g++-13-s390x-linux-gnu g++-s390x-linux-gnu gcc gcc-13 645s gcc-13-s390x-linux-gnu gcc-s390x-linux-gnu gettext intltool-debian 645s libarchive-zip-perl libasan8 libatomic1 libc-dev-bin libc6-dev libcc1-0 645s libcrypt-dev libdebhelper-perl libdw1 libfile-stripnondeterminism-perl 645s libgcc-13-dev libgomp1 libisl23 libitm1 libmpc3 libnsl-dev libstdc++-13-dev 645s libsub-override-perl libtemplate-alloy-perl libtirpc-dev libtool libubsan1 645s linux-libc-dev m4 pkg-perl-autopkgtest po-debconf rpcsvc-proto 645s 0 upgraded, 54 newly installed, 0 to remove and 0 not upgraded. 645s Need to get 58.0 MB/58.0 MB of archives. 645s After this operation, 193 MB of additional disk space will be used. 645s Get:1 /tmp/autopkgtest.COAqMg/2-autopkgtest-satdep.deb autopkgtest-satdep s390x 0 [764 B] 645s Get:2 http://ftpmaster.internal/ubuntu noble/main s390x m4 s390x 1.4.19-4 [255 kB] 645s Get:3 http://ftpmaster.internal/ubuntu noble/main s390x autoconf all 2.71-3 [339 kB] 646s Get:4 http://ftpmaster.internal/ubuntu noble/main s390x dctrl-tools s390x 2.24-3build2 [65.4 kB] 646s Get:5 http://ftpmaster.internal/ubuntu noble/main s390x autodep8 all 0.28 [13.2 kB] 646s Get:6 http://ftpmaster.internal/ubuntu noble/main s390x autotools-dev all 20220109.1 [44.9 kB] 646s Get:7 http://ftpmaster.internal/ubuntu noble/main s390x automake all 1:1.16.5-1.3ubuntu1 [558 kB] 646s Get:8 http://ftpmaster.internal/ubuntu noble/main s390x autopoint all 0.21-14ubuntu1 [422 kB] 647s Get:9 http://ftpmaster.internal/ubuntu noble/main s390x libc-dev-bin s390x 2.39-0ubuntu2 [20.2 kB] 647s Get:10 http://ftpmaster.internal/ubuntu noble/main s390x linux-libc-dev s390x 6.8.0-11.11 [1590 kB] 647s Get:11 http://ftpmaster.internal/ubuntu noble/main s390x libcrypt-dev s390x 1:4.4.36-4 [135 kB] 647s Get:12 http://ftpmaster.internal/ubuntu noble/main s390x libtirpc-dev s390x 1.3.4+ds-1build1 [225 kB] 647s Get:13 http://ftpmaster.internal/ubuntu noble/main s390x libnsl-dev s390x 1.3.0-3 [73.5 kB] 648s Get:14 http://ftpmaster.internal/ubuntu noble/main s390x rpcsvc-proto s390x 1.4.2-0ubuntu6 [64.7 kB] 648s Get:15 http://ftpmaster.internal/ubuntu noble/main s390x libc6-dev s390x 2.39-0ubuntu2 [1629 kB] 648s Get:16 http://ftpmaster.internal/ubuntu noble/main s390x libisl23 s390x 0.26-3 [722 kB] 648s Get:17 http://ftpmaster.internal/ubuntu noble/main s390x libmpc3 s390x 1.3.1-1 [54.9 kB] 648s Get:18 http://ftpmaster.internal/ubuntu noble/main s390x cpp-13-s390x-linux-gnu s390x 13.2.0-17ubuntu2 [9929 kB] 650s Get:19 http://ftpmaster.internal/ubuntu noble/main s390x cpp-13 s390x 13.2.0-17ubuntu2 [1026 B] 650s Get:20 http://ftpmaster.internal/ubuntu noble/main s390x cpp-s390x-linux-gnu s390x 4:13.2.0-7ubuntu1 [5308 B] 650s Get:21 http://ftpmaster.internal/ubuntu noble/main s390x cpp s390x 4:13.2.0-7ubuntu1 [22.4 kB] 650s Get:22 http://ftpmaster.internal/ubuntu noble/main s390x libcc1-0 s390x 14-20240303-1ubuntu1 [49.9 kB] 650s Get:23 http://ftpmaster.internal/ubuntu noble/main s390x libgomp1 s390x 14-20240303-1ubuntu1 [151 kB] 650s Get:24 http://ftpmaster.internal/ubuntu noble/main s390x libitm1 s390x 14-20240303-1ubuntu1 [31.1 kB] 650s Get:25 http://ftpmaster.internal/ubuntu noble/main s390x libatomic1 s390x 14-20240303-1ubuntu1 [9392 B] 650s Get:26 http://ftpmaster.internal/ubuntu noble/main s390x libasan8 s390x 14-20240303-1ubuntu1 [2998 kB] 652s Get:27 http://ftpmaster.internal/ubuntu noble/main s390x libubsan1 s390x 14-20240303-1ubuntu1 [1186 kB] 652s Get:28 http://ftpmaster.internal/ubuntu noble/main s390x libgcc-13-dev s390x 13.2.0-17ubuntu2 [1003 kB] 652s Get:29 http://ftpmaster.internal/ubuntu noble/main s390x gcc-13-s390x-linux-gnu s390x 13.2.0-17ubuntu2 [19.1 MB] 655s Get:30 http://ftpmaster.internal/ubuntu noble/main s390x gcc-13 s390x 13.2.0-17ubuntu2 [467 kB] 655s Get:31 http://ftpmaster.internal/ubuntu noble/main s390x gcc-s390x-linux-gnu s390x 4:13.2.0-7ubuntu1 [1208 B] 655s Get:32 http://ftpmaster.internal/ubuntu noble/main s390x gcc s390x 4:13.2.0-7ubuntu1 [5014 B] 655s Get:33 http://ftpmaster.internal/ubuntu noble/main s390x libstdc++-13-dev s390x 13.2.0-17ubuntu2 [2430 kB] 656s Get:34 http://ftpmaster.internal/ubuntu noble/main s390x g++-13-s390x-linux-gnu s390x 13.2.0-17ubuntu2 [11.3 MB] 658s Get:35 http://ftpmaster.internal/ubuntu noble/main s390x g++-13 s390x 13.2.0-17ubuntu2 [14.4 kB] 658s Get:36 http://ftpmaster.internal/ubuntu noble/main s390x g++-s390x-linux-gnu s390x 4:13.2.0-7ubuntu1 [956 B] 658s Get:37 http://ftpmaster.internal/ubuntu noble/main s390x g++ s390x 4:13.2.0-7ubuntu1 [1096 B] 658s Get:38 http://ftpmaster.internal/ubuntu noble/main s390x build-essential s390x 12.10ubuntu1 [4930 B] 658s Get:39 http://ftpmaster.internal/ubuntu noble/main s390x libdebhelper-perl all 13.14.1ubuntu1 [89.5 kB] 658s Get:40 http://ftpmaster.internal/ubuntu noble/main s390x libtool all 2.4.7-7 [166 kB] 658s Get:41 http://ftpmaster.internal/ubuntu noble/main s390x dh-autoreconf all 20 [16.1 kB] 658s Get:42 http://ftpmaster.internal/ubuntu noble/main s390x libarchive-zip-perl all 1.68-1 [90.2 kB] 658s Get:43 http://ftpmaster.internal/ubuntu noble/main s390x libsub-override-perl all 0.10-1 [10.0 kB] 658s Get:44 http://ftpmaster.internal/ubuntu noble/main s390x libfile-stripnondeterminism-perl all 1.13.1-1 [18.1 kB] 658s Get:45 http://ftpmaster.internal/ubuntu noble/main s390x dh-strip-nondeterminism all 1.13.1-1 [5362 B] 658s Get:46 http://ftpmaster.internal/ubuntu noble/main s390x libdw1 s390x 0.190-1 [282 kB] 658s Get:47 http://ftpmaster.internal/ubuntu noble/main s390x debugedit s390x 1:5.0-5 [47.5 kB] 658s Get:48 http://ftpmaster.internal/ubuntu noble/main s390x dwz s390x 0.15-1 [108 kB] 658s Get:49 http://ftpmaster.internal/ubuntu noble/main s390x gettext s390x 0.21-14ubuntu1 [917 kB] 658s Get:50 http://ftpmaster.internal/ubuntu noble/main s390x intltool-debian all 0.35.0+20060710.6 [23.2 kB] 658s Get:51 http://ftpmaster.internal/ubuntu noble/main s390x po-debconf all 1.0.21+nmu1 [233 kB] 658s Get:52 http://ftpmaster.internal/ubuntu noble/main s390x debhelper all 13.14.1ubuntu1 [869 kB] 659s Get:53 http://ftpmaster.internal/ubuntu noble/universe s390x libtemplate-alloy-perl all 1.022-2 [181 kB] 659s Get:54 http://ftpmaster.internal/ubuntu noble/universe s390x pkg-perl-autopkgtest all 0.77 [18.0 kB] 659s Fetched 58.0 MB in 14s (4107 kB/s) 659s Selecting previously unselected package m4. 659s (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 ... 51897 files and directories currently installed.) 659s Preparing to unpack .../00-m4_1.4.19-4_s390x.deb ... 659s Unpacking m4 (1.4.19-4) ... 659s Selecting previously unselected package autoconf. 659s Preparing to unpack .../01-autoconf_2.71-3_all.deb ... 659s Unpacking autoconf (2.71-3) ... 659s Selecting previously unselected package dctrl-tools. 659s Preparing to unpack .../02-dctrl-tools_2.24-3build2_s390x.deb ... 659s Unpacking dctrl-tools (2.24-3build2) ... 659s Selecting previously unselected package autodep8. 659s Preparing to unpack .../03-autodep8_0.28_all.deb ... 659s Unpacking autodep8 (0.28) ... 659s Selecting previously unselected package autotools-dev. 659s Preparing to unpack .../04-autotools-dev_20220109.1_all.deb ... 659s Unpacking autotools-dev (20220109.1) ... 659s Selecting previously unselected package automake. 659s Preparing to unpack .../05-automake_1%3a1.16.5-1.3ubuntu1_all.deb ... 659s Unpacking automake (1:1.16.5-1.3ubuntu1) ... 659s Selecting previously unselected package autopoint. 659s Preparing to unpack .../06-autopoint_0.21-14ubuntu1_all.deb ... 659s Unpacking autopoint (0.21-14ubuntu1) ... 659s Selecting previously unselected package libc-dev-bin. 659s Preparing to unpack .../07-libc-dev-bin_2.39-0ubuntu2_s390x.deb ... 659s Unpacking libc-dev-bin (2.39-0ubuntu2) ... 659s Selecting previously unselected package linux-libc-dev:s390x. 659s Preparing to unpack .../08-linux-libc-dev_6.8.0-11.11_s390x.deb ... 659s Unpacking linux-libc-dev:s390x (6.8.0-11.11) ... 659s Selecting previously unselected package libcrypt-dev:s390x. 659s Preparing to unpack .../09-libcrypt-dev_1%3a4.4.36-4_s390x.deb ... 659s Unpacking libcrypt-dev:s390x (1:4.4.36-4) ... 660s Selecting previously unselected package libtirpc-dev:s390x. 660s Preparing to unpack .../10-libtirpc-dev_1.3.4+ds-1build1_s390x.deb ... 660s Unpacking libtirpc-dev:s390x (1.3.4+ds-1build1) ... 660s Selecting previously unselected package libnsl-dev:s390x. 660s Preparing to unpack .../11-libnsl-dev_1.3.0-3_s390x.deb ... 660s Unpacking libnsl-dev:s390x (1.3.0-3) ... 660s Selecting previously unselected package rpcsvc-proto. 660s Preparing to unpack .../12-rpcsvc-proto_1.4.2-0ubuntu6_s390x.deb ... 660s Unpacking rpcsvc-proto (1.4.2-0ubuntu6) ... 660s Selecting previously unselected package libc6-dev:s390x. 660s Preparing to unpack .../13-libc6-dev_2.39-0ubuntu2_s390x.deb ... 660s Unpacking libc6-dev:s390x (2.39-0ubuntu2) ... 660s Selecting previously unselected package libisl23:s390x. 660s Preparing to unpack .../14-libisl23_0.26-3_s390x.deb ... 660s Unpacking libisl23:s390x (0.26-3) ... 660s Selecting previously unselected package libmpc3:s390x. 660s Preparing to unpack .../15-libmpc3_1.3.1-1_s390x.deb ... 660s Unpacking libmpc3:s390x (1.3.1-1) ... 660s Selecting previously unselected package cpp-13-s390x-linux-gnu. 660s Preparing to unpack .../16-cpp-13-s390x-linux-gnu_13.2.0-17ubuntu2_s390x.deb ... 660s Unpacking cpp-13-s390x-linux-gnu (13.2.0-17ubuntu2) ... 660s Selecting previously unselected package cpp-13. 660s Preparing to unpack .../17-cpp-13_13.2.0-17ubuntu2_s390x.deb ... 660s Unpacking cpp-13 (13.2.0-17ubuntu2) ... 660s Selecting previously unselected package cpp-s390x-linux-gnu. 660s Preparing to unpack .../18-cpp-s390x-linux-gnu_4%3a13.2.0-7ubuntu1_s390x.deb ... 660s Unpacking cpp-s390x-linux-gnu (4:13.2.0-7ubuntu1) ... 660s Selecting previously unselected package cpp. 660s Preparing to unpack .../19-cpp_4%3a13.2.0-7ubuntu1_s390x.deb ... 660s Unpacking cpp (4:13.2.0-7ubuntu1) ... 660s Selecting previously unselected package libcc1-0:s390x. 660s Preparing to unpack .../20-libcc1-0_14-20240303-1ubuntu1_s390x.deb ... 660s Unpacking libcc1-0:s390x (14-20240303-1ubuntu1) ... 660s Selecting previously unselected package libgomp1:s390x. 660s Preparing to unpack .../21-libgomp1_14-20240303-1ubuntu1_s390x.deb ... 660s Unpacking libgomp1:s390x (14-20240303-1ubuntu1) ... 660s Selecting previously unselected package libitm1:s390x. 660s Preparing to unpack .../22-libitm1_14-20240303-1ubuntu1_s390x.deb ... 660s Unpacking libitm1:s390x (14-20240303-1ubuntu1) ... 660s Selecting previously unselected package libatomic1:s390x. 660s Preparing to unpack .../23-libatomic1_14-20240303-1ubuntu1_s390x.deb ... 660s Unpacking libatomic1:s390x (14-20240303-1ubuntu1) ... 660s Selecting previously unselected package libasan8:s390x. 660s Preparing to unpack .../24-libasan8_14-20240303-1ubuntu1_s390x.deb ... 660s Unpacking libasan8:s390x (14-20240303-1ubuntu1) ... 660s Selecting previously unselected package libubsan1:s390x. 660s Preparing to unpack .../25-libubsan1_14-20240303-1ubuntu1_s390x.deb ... 660s Unpacking libubsan1:s390x (14-20240303-1ubuntu1) ... 660s Selecting previously unselected package libgcc-13-dev:s390x. 660s Preparing to unpack .../26-libgcc-13-dev_13.2.0-17ubuntu2_s390x.deb ... 660s Unpacking libgcc-13-dev:s390x (13.2.0-17ubuntu2) ... 660s Selecting previously unselected package gcc-13-s390x-linux-gnu. 660s Preparing to unpack .../27-gcc-13-s390x-linux-gnu_13.2.0-17ubuntu2_s390x.deb ... 660s Unpacking gcc-13-s390x-linux-gnu (13.2.0-17ubuntu2) ... 661s Selecting previously unselected package gcc-13. 661s Preparing to unpack .../28-gcc-13_13.2.0-17ubuntu2_s390x.deb ... 661s Unpacking gcc-13 (13.2.0-17ubuntu2) ... 661s Selecting previously unselected package gcc-s390x-linux-gnu. 661s Preparing to unpack .../29-gcc-s390x-linux-gnu_4%3a13.2.0-7ubuntu1_s390x.deb ... 661s Unpacking gcc-s390x-linux-gnu (4:13.2.0-7ubuntu1) ... 661s Selecting previously unselected package gcc. 661s Preparing to unpack .../30-gcc_4%3a13.2.0-7ubuntu1_s390x.deb ... 661s Unpacking gcc (4:13.2.0-7ubuntu1) ... 661s Selecting previously unselected package libstdc++-13-dev:s390x. 661s Preparing to unpack .../31-libstdc++-13-dev_13.2.0-17ubuntu2_s390x.deb ... 661s Unpacking libstdc++-13-dev:s390x (13.2.0-17ubuntu2) ... 661s Selecting previously unselected package g++-13-s390x-linux-gnu. 661s Preparing to unpack .../32-g++-13-s390x-linux-gnu_13.2.0-17ubuntu2_s390x.deb ... 661s Unpacking g++-13-s390x-linux-gnu (13.2.0-17ubuntu2) ... 661s Selecting previously unselected package g++-13. 661s Preparing to unpack .../33-g++-13_13.2.0-17ubuntu2_s390x.deb ... 661s Unpacking g++-13 (13.2.0-17ubuntu2) ... 661s Selecting previously unselected package g++-s390x-linux-gnu. 661s Preparing to unpack .../34-g++-s390x-linux-gnu_4%3a13.2.0-7ubuntu1_s390x.deb ... 661s Unpacking g++-s390x-linux-gnu (4:13.2.0-7ubuntu1) ... 661s Selecting previously unselected package g++. 661s Preparing to unpack .../35-g++_4%3a13.2.0-7ubuntu1_s390x.deb ... 661s Unpacking g++ (4:13.2.0-7ubuntu1) ... 661s Selecting previously unselected package build-essential. 661s Preparing to unpack .../36-build-essential_12.10ubuntu1_s390x.deb ... 661s Unpacking build-essential (12.10ubuntu1) ... 661s Selecting previously unselected package libdebhelper-perl. 661s Preparing to unpack .../37-libdebhelper-perl_13.14.1ubuntu1_all.deb ... 661s Unpacking libdebhelper-perl (13.14.1ubuntu1) ... 661s Selecting previously unselected package libtool. 661s Preparing to unpack .../38-libtool_2.4.7-7_all.deb ... 661s Unpacking libtool (2.4.7-7) ... 661s Selecting previously unselected package dh-autoreconf. 661s Preparing to unpack .../39-dh-autoreconf_20_all.deb ... 661s Unpacking dh-autoreconf (20) ... 661s Selecting previously unselected package libarchive-zip-perl. 661s Preparing to unpack .../40-libarchive-zip-perl_1.68-1_all.deb ... 661s Unpacking libarchive-zip-perl (1.68-1) ... 661s Selecting previously unselected package libsub-override-perl. 661s Preparing to unpack .../41-libsub-override-perl_0.10-1_all.deb ... 661s Unpacking libsub-override-perl (0.10-1) ... 661s Selecting previously unselected package libfile-stripnondeterminism-perl. 661s Preparing to unpack .../42-libfile-stripnondeterminism-perl_1.13.1-1_all.deb ... 661s Unpacking libfile-stripnondeterminism-perl (1.13.1-1) ... 661s Selecting previously unselected package dh-strip-nondeterminism. 661s Preparing to unpack .../43-dh-strip-nondeterminism_1.13.1-1_all.deb ... 661s Unpacking dh-strip-nondeterminism (1.13.1-1) ... 661s Selecting previously unselected package libdw1:s390x. 661s Preparing to unpack .../44-libdw1_0.190-1_s390x.deb ... 661s Unpacking libdw1:s390x (0.190-1) ... 661s Selecting previously unselected package debugedit. 661s Preparing to unpack .../45-debugedit_1%3a5.0-5_s390x.deb ... 661s Unpacking debugedit (1:5.0-5) ... 661s Selecting previously unselected package dwz. 661s Preparing to unpack .../46-dwz_0.15-1_s390x.deb ... 661s Unpacking dwz (0.15-1) ... 661s Selecting previously unselected package gettext. 661s Preparing to unpack .../47-gettext_0.21-14ubuntu1_s390x.deb ... 661s Unpacking gettext (0.21-14ubuntu1) ... 661s Selecting previously unselected package intltool-debian. 661s Preparing to unpack .../48-intltool-debian_0.35.0+20060710.6_all.deb ... 661s Unpacking intltool-debian (0.35.0+20060710.6) ... 661s Selecting previously unselected package po-debconf. 661s Preparing to unpack .../49-po-debconf_1.0.21+nmu1_all.deb ... 661s Unpacking po-debconf (1.0.21+nmu1) ... 661s Selecting previously unselected package debhelper. 661s Preparing to unpack .../50-debhelper_13.14.1ubuntu1_all.deb ... 661s Unpacking debhelper (13.14.1ubuntu1) ... 661s Selecting previously unselected package libtemplate-alloy-perl. 661s Preparing to unpack .../51-libtemplate-alloy-perl_1.022-2_all.deb ... 661s Unpacking libtemplate-alloy-perl (1.022-2) ... 661s Selecting previously unselected package pkg-perl-autopkgtest. 662s Preparing to unpack .../52-pkg-perl-autopkgtest_0.77_all.deb ... 662s Unpacking pkg-perl-autopkgtest (0.77) ... 662s Selecting previously unselected package autopkgtest-satdep. 662s Preparing to unpack .../53-2-autopkgtest-satdep.deb ... 662s Unpacking autopkgtest-satdep (0) ... 662s Setting up libdw1:s390x (0.190-1) ... 662s Setting up libtemplate-alloy-perl (1.022-2) ... 662s Setting up libarchive-zip-perl (1.68-1) ... 662s Setting up libdebhelper-perl (13.14.1ubuntu1) ... 662s Setting up linux-libc-dev:s390x (6.8.0-11.11) ... 662s Setting up m4 (1.4.19-4) ... 662s Setting up libgomp1:s390x (14-20240303-1ubuntu1) ... 662s Setting up autotools-dev (20220109.1) ... 662s Setting up libtirpc-dev:s390x (1.3.4+ds-1build1) ... 662s Setting up rpcsvc-proto (1.4.2-0ubuntu6) ... 662s Setting up libmpc3:s390x (1.3.1-1) ... 662s Setting up libatomic1:s390x (14-20240303-1ubuntu1) ... 662s Setting up autopoint (0.21-14ubuntu1) ... 662s Setting up autoconf (2.71-3) ... 662s Setting up libubsan1:s390x (14-20240303-1ubuntu1) ... 662s Setting up dwz (0.15-1) ... 662s Setting up libnsl-dev:s390x (1.3.0-3) ... 662s Setting up libcrypt-dev:s390x (1:4.4.36-4) ... 662s Setting up libasan8:s390x (14-20240303-1ubuntu1) ... 662s Setting up debugedit (1:5.0-5) ... 662s Setting up libsub-override-perl (0.10-1) ... 662s Setting up libisl23:s390x (0.26-3) ... 662s Setting up libc-dev-bin (2.39-0ubuntu2) ... 662s Setting up libcc1-0:s390x (14-20240303-1ubuntu1) ... 662s Setting up dctrl-tools (2.24-3build2) ... 662s Setting up libitm1:s390x (14-20240303-1ubuntu1) ... 662s Setting up autodep8 (0.28) ... 662s Setting up automake (1:1.16.5-1.3ubuntu1) ... 662s update-alternatives: using /usr/bin/automake-1.16 to provide /usr/bin/automake (automake) in auto mode 662s Setting up libfile-stripnondeterminism-perl (1.13.1-1) ... 662s Setting up gettext (0.21-14ubuntu1) ... 662s Setting up intltool-debian (0.35.0+20060710.6) ... 662s Setting up cpp-13-s390x-linux-gnu (13.2.0-17ubuntu2) ... 662s Setting up pkg-perl-autopkgtest (0.77) ... 662s Setting up dh-strip-nondeterminism (1.13.1-1) ... 662s Setting up libgcc-13-dev:s390x (13.2.0-17ubuntu2) ... 662s Setting up libc6-dev:s390x (2.39-0ubuntu2) ... 662s Setting up libstdc++-13-dev:s390x (13.2.0-17ubuntu2) ... 662s Setting up cpp-13 (13.2.0-17ubuntu2) ... 662s Setting up cpp-s390x-linux-gnu (4:13.2.0-7ubuntu1) ... 662s Setting up po-debconf (1.0.21+nmu1) ... 662s Setting up gcc-13-s390x-linux-gnu (13.2.0-17ubuntu2) ... 662s Setting up gcc-s390x-linux-gnu (4:13.2.0-7ubuntu1) ... 662s Setting up g++-13-s390x-linux-gnu (13.2.0-17ubuntu2) ... 662s Setting up gcc-13 (13.2.0-17ubuntu2) ... 662s Setting up cpp (4:13.2.0-7ubuntu1) ... 662s Setting up g++-13 (13.2.0-17ubuntu2) ... 662s Setting up libtool (2.4.7-7) ... 662s Setting up g++-s390x-linux-gnu (4:13.2.0-7ubuntu1) ... 662s Setting up gcc (4:13.2.0-7ubuntu1) ... 662s Setting up dh-autoreconf (20) ... 662s Setting up g++ (4:13.2.0-7ubuntu1) ... 662s update-alternatives: using /usr/bin/g++ to provide /usr/bin/c++ (c++) in auto mode 662s Setting up build-essential (12.10ubuntu1) ... 662s Setting up debhelper (13.14.1ubuntu1) ... 662s Setting up autopkgtest-satdep (0) ... 662s Processing triggers for man-db (2.12.0-3) ... 662s Processing triggers for install-info (7.1-3) ... 663s Processing triggers for libc-bin (2.39-0ubuntu2) ... 665s (Reading database ... 55954 files and directories currently installed.) 665s Removing autopkgtest-satdep (0) ... 666s autopkgtest [04:00:27]: test autodep8-perl-build-deps: /usr/share/pkg-perl-autopkgtest/runner build-deps 666s autopkgtest [04:00:27]: test autodep8-perl-build-deps: [----------------------- 666s t/00_use.t .............. 666s 1..43 666s ok 1 - use Template::Alloy; 666s ok 2 - Parse role isn't loaded yet 666s ok 3 - But it can parse anyway 666s ok 4 - Parse role is now loaded 666s ok 5 - Can't import invalid method 666s ok 6 - Play role isn't loaded yet 666s ok 7 - It can be imported () 666s ok 8 - Play role is now loaded 666s ok 9 - Compile role isn't loaded yet 666s ok 10 - It can be imported () 666s ok 11 - Compile role is now loaded 666s ok 12 - It can be imported twice () 666s ok 13 - Velocity role isn't loaded yet 666s ok 14 - It can be imported () 666s ok 15 - Velocity role is now loaded 666s ok 16 - Tmpl role isn't loaded yet 666s ok 17 - It can be imported () 666s ok 18 - Tmpl role is now loaded 666s ok 19 - Text::Tmpl isn't loaded 666s ok 20 - It can be imported () 666s ok 21 - Text::Tmpl is now loaded 666s ok 22 - Text::Tmpl is a Template::Alloy 666s ok 23 - It can be imported twice 666s ok 24 - HTML::Template isn't loaded 666s ok 25 - It can't be imported because another non-Alloy package already is using it 666s ok 26 - HTML::Template is not a Template::Alloy 666s ok 27 - HTML::Template::Expr isn't loaded 666s ok 28 - It can be imported () 666s ok 29 - HTML::Template::Expr is now loaded 666s ok 30 - HTML::Template::Expr is a Template::Alloy 666s ok 31 - It can be imported twice 666s ok 32 - TT role isn't loaded yet 666s ok 33 - It can be imported via all () 666s ok 34 - TT role is now loaded 666s ok 35 - It can be imported twice () 666s ok 36 - Template isn't loaded 666s ok 37 - It can be imported () 666s ok 38 - Template is now loaded 666s ok 39 - Template is a Template::Alloy 666s ok 40 - It can be imported twice 666s ok 41 - Got an error on invalid methods (Can't locate object method "flabbergast" via package at t/00_use.t line 82. 666s # ) 666s ok 42 - Got an error on invalid methods (autoload error - Invalid method Template::Alloy::) 666s ok 43 - Got an error on invalid methods (autoload error - Invalid method Template::Alloy::foo&bar) 666s ok 666s t/01_coverage.t ......... 666s 1..31 666s ok 1 - use Template::Alloy; 666s ok 2 - Initialize with hashref and get hashref based object 666s ok 3 - Initialize with hash and get hashref based object 666s ok 4 - Got an error for process_simple 666s ok 5 - Got an error for process_simple 666s ok 6 - Got an error for process_simple 666s ok 7 - Ran process_simple without error 666s ok 8 - Ran process_simple and threw error 666s ok 9 - And got error 666s ok 10 - Got right output 666s ok 11 - Ran process_simple and stopped 666s ok 12 - And got no error 666s ok 13 - Got right output 666s ok 14 - Ran _process 666s ok 15 - And got error 666s ok 16 - Got right output 666s ok 17 - Ran _process and got error 666s ok 18 - Ran _process 666s ok 19 - And got error 666s ok 20 - Got right output 666s ok 21 - Ran _process (file error - foobar: not found) 666s ok 22 - Ran _process (process error - No _perl and no _tree found) 666s ok 23 - Ran _process 666s ok 24 - Can't load_template without a file 666s ok 25 - load_template assumes we know what we are doing if we pass a hash 666s ok 26 - Can load a string block 666s ok 27 - Can load a code block 666s ok 28 - Can load a previously loaded template 666s ok 29 - Can't load a poorly formed block 666s ok 30 - Can't load a string block with parse errors 666s ok 31 - Can't load a ref block 666s ok 666s t/02_cache.t ............ 666s 1..205 666s ok 1 - use Template::Alloy; 666s ok 2 - Got a test dir up and running 666s ok 3 - Got a test dir up and running 666s ok 4 - Line 137: Found bar.tt in t/02_cache.t.test_dir 666s ok 5 - Line 138: Didn't find bar.tt in t/02_cache.t.test_dir2 666s ok 6 - Line 139: Didn't find bar.tt.sto in t/02_cache.t.test_dir 666s ok 7 - Line 140: Didn't find t/02_cache.t.test_dir/bar.tt.sto in t/02_cache.t.test_dir2 666s ok 8 - Line 141: Didn't find bar.tt.pl in t/02_cache.t.test_dir 666s ok 9 - Line 142: Didn't find t/02_cache.t.test_dir/bar.tt.pl in t/02_cache.t.test_dir2 666s ok 10 - Not in GLOBAL_CACHE 666s ### COMPILE_PERL => 0 ################################################ 666s ok 11 - Line 152 "bar.tt" => "BlueBAR" 666s ok 12 - Line 154: Found bar.tt in t/02_cache.t.test_dir 666s ok 13 - Line 155: Didn't find bar.tt in t/02_cache.t.test_dir2 666s ok 14 - Line 156: Didn't find bar.tt.sto in t/02_cache.t.test_dir 666s ok 15 - Line 157: Didn't find t/02_cache.t.test_dir/bar.tt.sto in t/02_cache.t.test_dir2 666s ok 16 - Line 158: Didn't find bar.tt.pl in t/02_cache.t.test_dir 666s ok 17 - Line 159: Didn't find t/02_cache.t.test_dir/bar.tt.pl in t/02_cache.t.test_dir2 666s ok 18 - Not in GLOBAL_CACHE 666s ok 19 - Line 167 "bar.tt" => "BlueBAR" 666s ok 20 - Line 169: Found bar.tt in t/02_cache.t.test_dir 666s ok 21 - Line 170: Didn't find bar.tt in t/02_cache.t.test_dir2 666s ok 22 - Line 171: Didn't find bar.tt.sto in t/02_cache.t.test_dir 666s ok 23 - Line 172: Didn't find t/02_cache.t.test_dir/bar.tt.sto in t/02_cache.t.test_dir2 666s ok 24 - Line 173: Didn't find bar.tt.pl in t/02_cache.t.test_dir 666s ok 25 - Line 174: Didn't find t/02_cache.t.test_dir/bar.tt.pl in t/02_cache.t.test_dir2 666s ok 26 - Is in GLOBAL_CACHE 666s ok 27 - Line 183 "bar.tt" => "BlueBAR" 666s ok 28 - Is in CACHE 666s ok 29 - Line 190 "bar.tt" => "BlueBAR" 666s ok 30 - Line 192: Found bar.tt in t/02_cache.t.test_dir 666s ok 31 - Line 193: Didn't find bar.tt in t/02_cache.t.test_dir2 666s ok 32 - Line 194: Found bar.tt.ttc.sto in t/02_cache.t.test_dir 666s ok 33 - Line 195: Didn't find t/02_cache.t.test_dir/bar.tt.ttc.sto in t/02_cache.t.test_dir2 666s ok 34 - Line 196: Didn't find bar.tt.ttc.pl in t/02_cache.t.test_dir 666s ok 35 - Line 197: Didn't find t/02_cache.t.test_dir/bar.tt.ttc.pl in t/02_cache.t.test_dir2 666s ok 36 - Line 204 "bar.tt" => "BlueBAR" 666s ok 37 - Line 206: Found bar.tt in t/02_cache.t.test_dir 666s ok 38 - Line 207: Didn't find bar.tt in t/02_cache.t.test_dir2 666s ok 39 - Line 208: Didn't find bar.tt.sto in t/02_cache.t.test_dir 666s ok 40 - Line 209: Found t/02_cache.t.test_dir/bar.tt.sto in t/02_cache.t.test_dir2 666s ok 41 - Line 210: Didn't find bar.tt.pl in t/02_cache.t.test_dir 666s ok 42 - Line 211: Didn't find t/02_cache.t.test_dir/bar.tt.pl in t/02_cache.t.test_dir2 666s ok 43 - Line 218 "bar.tt" => "BlueBAR" 666s ok 44 - Line 220: Found bar.tt in t/02_cache.t.test_dir 666s ok 45 - Line 221: Didn't find bar.tt in t/02_cache.t.test_dir2 666s ok 46 - Line 222: Didn't find bar.tt.ttc.sto in t/02_cache.t.test_dir 666s ok 47 - Line 223: Found t/02_cache.t.test_dir/bar.tt.ttc.sto in t/02_cache.t.test_dir2 666s ok 48 - Line 224: Didn't find bar.tt.ttc.pl in t/02_cache.t.test_dir 666s ok 49 - Line 225: Didn't find t/02_cache.t.test_dir/bar.tt.ttc.pl in t/02_cache.t.test_dir2 666s ok 50 - Is in GLOBAL_CACHE 666s ok 51 - Line 233 "bar.tt" => "BlueBAR" 666s ok 52 - Line 235: Found bar.tt in t/02_cache.t.test_dir 666s ok 53 - Line 236: Didn't find bar.tt in t/02_cache.t.test_dir2 666s ok 54 - Line 237: Didn't find bar.tt.ttc.sto in t/02_cache.t.test_dir 666s ok 55 - Line 238: Found t/02_cache.t.test_dir/bar.tt.ttc.sto in t/02_cache.t.test_dir2 666s ok 56 - Line 239: Didn't find bar.tt.ttc.pl in t/02_cache.t.test_dir 666s ok 57 - Line 240: Didn't find t/02_cache.t.test_dir/bar.tt.ttc.pl in t/02_cache.t.test_dir2 666s ok 58 - Is in GLOBAL_CACHE 666s ok 59 - Doesn't Have perl 666s ok 60 - Line 256 "bar.tt" => "füBAR ¥" 666s ok 61 - Line 258: Found bar.tt in t/02_cache.t.test_dir 666s ok 62 - Line 259: Didn't find bar.tt in t/02_cache.t.test_dir2 666s ok 63 - Line 260: Found bar.tt.ttc.sto in t/02_cache.t.test_dir 666s ok 64 - Line 261: Didn't find bar.tt.ttc.pl in t/02_cache.t.test_dir 666s ok 65 - Line 264 "bar.tt" => "füBAR ¥" 666s ok 66 - lives ok 666s ### COMPILE_PERL => 1 ################################################ 666s ok 67 - Line 279 "bar.tt" => "BlueBAR" 666s ok 68 - Line 281: Found bar.tt in t/02_cache.t.test_dir 666s ok 69 - Line 282: Didn't find bar.tt in t/02_cache.t.test_dir2 666s ok 70 - Line 283: Didn't find bar.tt.sto in t/02_cache.t.test_dir 666s ok 71 - Line 284: Didn't find t/02_cache.t.test_dir/bar.tt.sto in t/02_cache.t.test_dir2 666s ok 72 - Line 285: Didn't find bar.tt.pl in t/02_cache.t.test_dir 666s ok 73 - Line 286: Didn't find t/02_cache.t.test_dir/bar.tt.pl in t/02_cache.t.test_dir2 666s ok 74 - Not in GLOBAL_CACHE 666s ok 75 - Line 294 "bar.tt" => "BlueBAR" 666s ok 76 - Line 296: Found bar.tt in t/02_cache.t.test_dir 666s ok 77 - Line 297: Didn't find bar.tt in t/02_cache.t.test_dir2 666s ok 78 - Line 298: Didn't find bar.tt.sto in t/02_cache.t.test_dir 666s ok 79 - Line 299: Didn't find t/02_cache.t.test_dir/bar.tt.sto in t/02_cache.t.test_dir2 666s ok 80 - Line 300: Didn't find bar.tt.pl in t/02_cache.t.test_dir 666s ok 81 - Line 301: Didn't find t/02_cache.t.test_dir/bar.tt.pl in t/02_cache.t.test_dir2 666s ok 82 - Is in GLOBAL_CACHE 666s ok 83 - Line 309 "bar.tt" => "BlueBAR" 666s ok 84 - Line 311: Found bar.tt in t/02_cache.t.test_dir 666s ok 85 - Line 312: Didn't find bar.tt in t/02_cache.t.test_dir2 666s ok 86 - Line 313: Found bar.tt.ttc.sto in t/02_cache.t.test_dir 666s ok 87 - Line 314: Didn't find t/02_cache.t.test_dir/bar.tt.ttc.sto in t/02_cache.t.test_dir2 666s ok 88 - Line 315: Found bar.tt.ttc.pl in t/02_cache.t.test_dir 666s ok 89 - Line 316: Didn't find t/02_cache.t.test_dir/bar.tt.ttc.pl in t/02_cache.t.test_dir2 666s ok 90 - Line 323 "bar.tt" => "BlueBAR" 666s ok 91 - Line 325: Found bar.tt in t/02_cache.t.test_dir 666s ok 92 - Line 326: Didn't find bar.tt in t/02_cache.t.test_dir2 666s ok 93 - Line 327: Didn't find bar.tt.sto in t/02_cache.t.test_dir 666s ok 94 - Line 328: Found t/02_cache.t.test_dir/bar.tt.sto in t/02_cache.t.test_dir2 666s ok 95 - Line 329: Didn't find bar.tt.pl in t/02_cache.t.test_dir 666s ok 96 - Line 330: Found t/02_cache.t.test_dir/bar.tt.pl in t/02_cache.t.test_dir2 666s ok 97 - Line 337 "bar.tt" => "BlueBAR" 666s ok 98 - Line 339: Found bar.tt in t/02_cache.t.test_dir 666s ok 99 - Line 340: Didn't find bar.tt in t/02_cache.t.test_dir2 666s ok 100 - Line 341: Didn't find bar.tt.ttc.sto in t/02_cache.t.test_dir 666s ok 101 - Line 342: Found t/02_cache.t.test_dir/bar.tt.ttc.sto in t/02_cache.t.test_dir2 666s ok 102 - Line 343: Didn't find bar.tt.ttc.pl in t/02_cache.t.test_dir 666s ok 103 - Line 344: Found t/02_cache.t.test_dir/bar.tt.ttc.pl in t/02_cache.t.test_dir2 666s ok 104 - Is in GLOBAL_CACHE 666s ok 105 - Line 352 "bar.tt" => "BlueBAR" 666s ok 106 - Line 354: Found bar.tt in t/02_cache.t.test_dir 666s ok 107 - Line 355: Didn't find bar.tt in t/02_cache.t.test_dir2 666s ok 108 - Line 356: Didn't find bar.tt.ttc.sto in t/02_cache.t.test_dir 666s ok 109 - Line 357: Found t/02_cache.t.test_dir/bar.tt.ttc.sto in t/02_cache.t.test_dir2 666s ok 110 - Line 358: Didn't find bar.tt.ttc.pl in t/02_cache.t.test_dir 666s ok 111 - Line 359: Found t/02_cache.t.test_dir/bar.tt.ttc.pl in t/02_cache.t.test_dir2 666s ok 112 - Is in GLOBAL_CACHE 666s ok 113 - Has perl 666s ok 114 - Line 375 "bar.tt" => "füBAR ¥" 666s ok 115 - Line 377: Found bar.tt in t/02_cache.t.test_dir 666s ok 116 - Line 378: Didn't find bar.tt in t/02_cache.t.test_dir2 666s ok 117 - Line 379: Found bar.tt.ttc.sto in t/02_cache.t.test_dir 666s ok 118 - Line 380: Found bar.tt.ttc.pl in t/02_cache.t.test_dir 666s ok 119 - Line 383 "bar.tt" => "füBAR ¥" 666s ### COMPILE_PERL => 2 ################################################ 666s ok 120 - Line 391 "bar.tt" => "BlueBAR" 666s ok 121 - Line 393: Found bar.tt in t/02_cache.t.test_dir 666s ok 122 - Line 394: Didn't find bar.tt in t/02_cache.t.test_dir2 666s ok 123 - Line 395: Found bar.tt.ttc.sto in t/02_cache.t.test_dir 666s ok 124 - Line 396: Didn't find bar.tt.ttc.pl in t/02_cache.t.test_dir 666s ok 125 - Is in GLOBAL_CACHE 666s ok 126 - Doesn't Have perl 666s ok 127 - Line 401 "bar.tt" => "BlueBAR" 666s ok 128 - Line 403: Found bar.tt in t/02_cache.t.test_dir 666s ok 129 - Line 404: Didn't find bar.tt in t/02_cache.t.test_dir2 666s ok 130 - Line 405: Found bar.tt.ttc.sto in t/02_cache.t.test_dir 666s ok 131 - Line 406: Found bar.tt.ttc.pl in t/02_cache.t.test_dir 666s ok 132 - Is in GLOBAL_CACHE 666s ok 133 - Has perl 666s ### STRING_REF ####################################################### 666s ok 134 - Line 419 "[% blue %]BAR" => "BlueBAR" 666s ok 135 - Line 421: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758 in t/02_cache.t.test_dir 666s ok 136 - Line 422: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758 in t/02_cache.t.test_dir2 666s ok 137 - Line 423: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758.sto in t/02_cache.t.test_dir 666s ok 138 - Line 424: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758.pl in t/02_cache.t.test_dir 666s ok 139 - Not in GLOBAL_CACHE 666s ok 140 - Line 432 "[% blue %]BAR" => "BlueBAR" 666s ok 141 - Line 434: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758 in t/02_cache.t.test_dir 666s ok 142 - Line 435: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758 in t/02_cache.t.test_dir2 666s ok 143 - Line 436: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758.sto in t/02_cache.t.test_dir 666s ok 144 - Line 437: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758.pl in t/02_cache.t.test_dir 666s ok 145 - Is in GLOBAL_CACHE 666s ok 146 - Doesn't Have perl 666s ok 147 - Line 446 "[% blue %]BAR" => "BlueBAR" 666s ok 148 - Line 448: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758 in t/02_cache.t.test_dir 666s ok 149 - Line 449: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758 in t/02_cache.t.test_dir2 666s ok 150 - Line 450: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758.sto in t/02_cache.t.test_dir 666s ok 151 - Line 451: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758.pl in t/02_cache.t.test_dir 666s ok 152 - Not in GLOBAL_CACHE 666s ok 153 - Line 459 "[% blue %]BAR" => "BlueBAR" 666s ok 154 - Line 461: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758 in t/02_cache.t.test_dir 666s ok 155 - Line 462: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758 in t/02_cache.t.test_dir2 666s ok 156 - Line 463: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758.sto in t/02_cache.t.test_dir 666s ok 157 - Line 464: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758.pl in t/02_cache.t.test_dir 666s ok 158 - Not in GLOBAL_CACHE 666s ok 159 - Line 472 "[% blue %]BAR" => "BlueBAR" 666s ok 160 - Line 474: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758 in t/02_cache.t.test_dir 666s ok 161 - Line 475: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758 in t/02_cache.t.test_dir2 666s ok 162 - Line 476: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758.sto in t/02_cache.t.test_dir 666s ok 163 - Line 477: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758.pl in t/02_cache.t.test_dir 666s ok 164 - Not in GLOBAL_CACHE 666s ok 165 - Line 485 "[% blue %]BAR" => "BlueBAR" 666s ok 166 - Line 487: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758 in t/02_cache.t.test_dir 666s ok 167 - Line 488: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758 in t/02_cache.t.test_dir2 666s ok 168 - Line 489: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758.sto in t/02_cache.t.test_dir 666s ok 169 - Line 490: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758.pl in t/02_cache.t.test_dir 666s ok 170 - Is in GLOBAL_CACHE 666s ok 171 - Has perl 666s ok 172 - Line 499 "[% blue %]BAR" => "BlueBAR" 666s ok 173 - Line 501: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758 in t/02_cache.t.test_dir 666s ok 174 - Line 502: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758 in t/02_cache.t.test_dir2 666s ok 175 - Line 503: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758.sto in t/02_cache.t.test_dir 666s ok 176 - Line 504: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758.pl in t/02_cache.t.test_dir 666s ok 177 - Is in GLOBAL_CACHE 666s ok 178 - Doesn't Have perl 666s ok 179 - Line 509 "[% blue %]BAR" => "BlueBAR" 666s ok 180 - Line 511: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758 in t/02_cache.t.test_dir 666s ok 181 - Line 512: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758 in t/02_cache.t.test_dir2 666s ok 182 - Line 513: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758.sto in t/02_cache.t.test_dir 666s ok 183 - Line 514: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758.pl in t/02_cache.t.test_dir 666s ok 184 - Is in GLOBAL_CACHE 666s ok 185 - Now has perl 666s ok 186 - Line 523 "[% blue %]BAR" => "BlueBAR" 666s ok 187 - Line 525: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758 in t/02_cache.t.test_dir 666s ok 188 - Line 526: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758 in t/02_cache.t.test_dir2 666s ok 189 - Line 527: Found Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758.sto in t/02_cache.t.test_dir2 666s ok 190 - Line 528: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758.pl in t/02_cache.t.test_dir2 666s ok 191 - Line 535 "[% blue %]BAR" => "BlueBAR" 666s ok 192 - Line 537: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758 in t/02_cache.t.test_dir 666s ok 193 - Line 538: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758 in t/02_cache.t.test_dir2 666s ok 194 - Line 539: Found Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758.ttc.sto in t/02_cache.t.test_dir 666s ok 195 - Line 540: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758.ttc.pl in t/02_cache.t.test_dir 666s ok 196 - Line 547 "[% blue %]BAR" => "BlueBAR" 666s ok 197 - Line 549: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758 in t/02_cache.t.test_dir 666s ok 198 - Line 550: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758 in t/02_cache.t.test_dir2 666s ok 199 - Line 551: Found Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758.sto in t/02_cache.t.test_dir2 666s ok 200 - Line 552: Found Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758.pl in t/02_cache.t.test_dir2 666s ok 201 - Line 559 "[% blue %]BAR" => "BlueBAR" 666s ok 202 - Line 561: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758 in t/02_cache.t.test_dir 666s ok 203 - Line 562: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758 in t/02_cache.t.test_dir2 666s ok 204 - Line 563: Found Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758.ttc.sto in t/02_cache.t.test_dir 666s ok 205 - Line 564: Found Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758.ttc.pl in t/02_cache.t.test_dir 666s ### DONE ############################################################# 666s ok 667s t/05_tt_base.t .......... 667s 1..3257 667s ok 1 - use Template::Alloy; 667s ok 2 - Got a test dir up and running 667s ### GET ############################################# engine_option (normal) 667s ok 3 - Line 159 "[% foo %]" => "" 667s ok 4 - Line 160 "[% foo %]" => "7" 667s ok 5 - Line 161 "[% foo %]" => "7" 667s ok 6 - Line 162 "[% foo %]" => "7" 667s ok 7 - Line 163 "[% foo %]" => "Stash" 667s ok 8 - Line 164 "[% foo %]" => "V" 667s ok 9 - Line 165 "[% bar %]" => "" 667s ok 10 - Line 166 "[% foo %]" => "Stash" 667s ok 11 - Line 167 "[% bar %]" => "" 667s ok 12 - Line 168 "[% foo %]" => "Stash" 667s ok 13 - Line 169 "[% foo %]" => "Stash" 667s ok 14 - Line 170 "[% foo %][% foo %][% foo %]" => "777" 667s ok 15 - Line 171 "[% foo() %]" => "7" 667s ok 16 - Line 172 "[% foo.bar %]" => "" 667s ok 17 - Line 173 "[% foo.bar %]" => "" 667s ok 18 - Line 174 "[% foo.bar %]" => "7" 667s ok 19 - Line 175 "[% foo().bar %]" => "7" 667s ok 20 - Line 176 "[% foo.0 %]" => "7" 667s ok 21 - Line 177 "[% foo.10 %]" => "" 667s ok 22 - Line 178 "[% foo %]" => "7" 667s ok 23 - Line 179 "[% foo(7) %]" => "7" 667s ok 24 - Line 180 "[% foo.length %]" => "1" 667s ok 25 - Line 181 "[% foo.0 %]" => "7" 667s ok 26 - Line 182 "[% foo(bar) %]" => "7" 667s ok 27 - Line 183 "[% foo(bar.baz) %]" => "7" 667s ok 28 - Line 184 "[% foo.seven %]" => "7" 667s ok 29 - Line 185 "[% foo.seven() %]" => "7" 667s ok 30 - Line 186 "[% foo.seven.length %]" => "1" 667s ok 31 - Line 187 "[% foo.echo(7) %]" => "7" 667s ok 32 - Line 188 "[% foo.many.0 %]" => "1" 667s ok 33 - Line 189 "[% foo.many.10 %]" => "" 667s ok 34 - Line 190 "[% foo.nomethod %]" => "" 667s ok 35 - Line 191 "[% foo.nomethod.0 %]" => "" 667s ok 36 - Line 193 "[% GET foo %]" => "" 667s ok 37 - Line 194 "[% GET foo %]" => "7" 667s ok 38 - Line 195 "[% GET foo.bar %]" => "" 667s ok 39 - Line 196 "[% GET foo.bar %]" => "" 667s ok 40 - Line 197 "[% GET foo.bar %]" => "7" 667s ok 41 - Line 198 "[% GET foo.0 %]" => "7" 667s ok 42 - Line 199 "[% GET foo %]" => "7" 667s ok 43 - Line 200 "[% GET foo(7) %]" => "7" 667s ok 44 - Line 202 "[% $name %]" => "" 667s ok 45 - Line 203 "[% $name %]" => "7" 667s ok 46 - Line 204 "[% $name.bar %]" => "" 667s ok 47 - Line 205 "[% $name.bar %]" => "" 667s ok 48 - Line 206 "[% $name.bar %]" => "7" 667s ok 49 - Line 207 "[% $name().bar %]" => "7" 667s ok 50 - Line 208 "[% $name.0 %]" => "7" 667s ok 51 - Line 209 "[% $name %]" => "7" 667s ok 52 - Line 210 "[% $name(7) %]" => "7" 667s ok 53 - Line 212 "[% GET $name %]" => "" 667s ok 54 - Line 213 "[% GET $name %]" => "7" 667s ok 55 - Line 214 "[% GET $name.bar %]" => "" 667s ok 56 - Line 215 "[% GET $name.bar %]" => "" 667s ok 57 - Line 216 "[% GET $name.bar %]" => "7" 667s ok 58 - Line 217 "[% GET $name.0 %]" => "7" 667s ok 59 - Line 218 "[% GET $name %]" => "7" 667s ok 60 - Line 219 "[% GET $name(7) %]" => "7" 667s ok 61 - Line 221 "[% $name %]" => "" 667s ok 62 - Line 222 "[% GET $name %]" => "" 667s ok 63 - Line 224 "[% ${name} %]" => "" 667s ok 64 - Line 225 "[% ${name} %]" => "7" 667s ok 65 - Line 226 "[% ${name}.bar %]" => "" 667s ok 66 - Line 227 "[% ${name}.bar %]" => "" 667s ok 67 - Line 228 "[% ${name}.bar %]" => "7" 667s ok 68 - Line 229 "[% ${name}().bar %]" => "7" 667s ok 69 - Line 230 "[% ${name}.0 %]" => "7" 667s ok 70 - Line 231 "[% ${name} %]" => "7" 667s ok 71 - Line 232 "[% ${name}(7) %]" => "7" 667s ok 72 - Line 234 "[% GET ${name} %]" => "" 667s ok 73 - Line 235 "[% GET ${name} %]" => "7" 667s ok 74 - Line 236 "[% GET ${name}.bar %]" => "" 667s ok 75 - Line 237 "[% GET ${name}.bar %]" => "" 667s ok 76 - Line 238 "[% GET ${name}.bar %]" => "7" 667s ok 77 - Line 239 "[% GET ${name}.0 %]" => "7" 667s ok 78 - Line 240 "[% GET ${name} %]" => "7" 667s ok 79 - Line 241 "[% GET ${name}(7) %]" => "7" 667s ok 80 - Line 243 "[% ${name} %]" => "" 667s ok 81 - Line 244 "[% GET ${name} %]" => "" 667s ok 82 - Line 245 "[% GET ${'foo'} %]" => "bar" 667s ok 83 - Line 247 "[% foo.$name %]" => "" 667s ok 84 - Line 248 "[% foo.$name %]" => "7" 667s ok 85 - Line 249 "[% foo.$name.baz %]" => "" 667s ok 86 - Line 251 "[% "hi" %]" => "hi" 667s ok 87 - Line 252 "[% "hi %]" => "" 667s ok 88 - Line 253 "[% 'hi' %]" => "hi" 667s ok 89 - Line 254 "[% 'hi %]" => "" 667s ok 90 - Line 255 "[% "$foo" %]" => "7" 667s ok 91 - Line 256 "[% "hi $foo" %]" => "hi 7" 667s ok 92 - Line 257 "[% "hi ${foo}" %]" => "hi 7" 667s ok 93 - Line 258 "[% 'hi $foo' %]" => "hi $foo" 667s ok 94 - Line 259 "[% 'hi ${foo}' %]" => "hi ${foo}" 667s ok 95 - Line 260 "[% 7 %]" => "7" 667s ok 96 - Line 261 "[% -7 %]" => "-7" 667s ok 97 - Line 263 "[% "hi ${foo.seven}" %]" => "hi 7" 667s ok 98 - Line 264 "[% "hi ${foo.echo(7)}" %]" => "hi 7" 667s ok 99 - Line 266 "[% _foo %]2" => "2" 667s ok 100 - Line 267 "[% $bar %]2" => "2" 667s ok 101 - Line 268 "[% __foo %]2" => "2" 667s ok 102 - Line 270 "[% qw/Foo Bar Baz/.0 %]" => "Foo" 667s ok 103 - Line 271 "[% [0..10].-1 %]" => "10" 667s ok 104 - Line 272 "[% [0..10].${ 2.3 } %]" => "2" 667s ok 105 - Line 274 "[% (1 + 2)() %]" => "" 667s ok 106 - Line 275 "[% (1 + 2) %]" => "3" 667s ok 107 - Line 276 "[% (a) %]" => "2" 667s ok 108 - Line 277 "[% ('foo') %]" => "foo" 667s ok 109 - Line 278 "[% (a(2)) %]" => "2" 667s ok 110 - Line 281 "[% JS 3 %]" => "3" 667s ok 111 - Line 282 "[% JS 3 %]" => "43" 667s ok 112 - Line 283 "[% JS; 3; END %]" => "" 667s ### SET ############################################# engine_option (normal) 667s ok 113 - Line 288 "[% SET foo bar %][% foo %]" => "" 667s ok 114 - Line 289 "[% SET foo = 1 %][% foo %]" => "1" 667s ok 115 - Line 290 "[% SET foo = 1 bar = 2 %][% foo %][% bar %]" => "12" 667s ok 116 - Line 291 "[% SET foo bar = 1 %][% foo %]" => "" 667s ok 117 - Line 292 "[% SET foo = 1 ; bar = 1 %][% foo %]" => "1" 667s ok 118 - Line 293 "[% SET foo = 1 %][% SET foo %][% foo %]" => "" 667s ok 119 - Line 295 "[% SET foo = [] %][% foo.0 %]" => "" 667s ok 120 - Line 296 "[% SET foo = [1, 2, 3] %][% foo.1 %]" => "2" 667s ok 121 - Line 297 "[% SET foo = {} %][% foo.0 %]" => "" 667s ok 122 - Line 298 "[% SET foo = {1 => 2} %][% foo.1 %]" => "2" 667s ok 123 - Line 299 "[% SET foo = {'1' => 2} %][% foo.1 %]" => "2" 667s ok 124 - Line 301 "[% SET name = 1 %][% SET foo = name %][% foo %]" => "1" 667s ok 125 - Line 302 "[% SET name = 1 %][% SET foo = $name %][% foo %]" => "" 667s ok 126 - Line 303 "[% SET name = 1 %][% SET foo = ${name} %][% foo %]" => "" 667s ok 127 - Line 304 "[% SET name = 1 %][% SET foo = "$name" %][% foo %]" => "1" 667s ok 128 - Line 305 "[% SET name = 1 foo = name %][% foo %]" => "1" 667s ok 129 - Line 306 "[% SET name = 1 %][% SET foo = {$name => 2} %][% foo.1 %]" => "2" 667s ok 130 - Line 307 "[% SET name = 1 %][% SET foo = {"$name" => 2} %][% foo.1 %]" => "2" 667s ok 131 - Line 308 "[% SET name = 1 %][% SET foo = {${name} => 2} %][% foo.1 %]" => "2" 667s ok 132 - Line 310 "[% SET name = 7 %][% SET foo = {'2' => name} %][% foo.2 %]" => "7" 667s ok 133 - Line 311 "[% SET name = 7 %][% SET foo = {'2' => "$name"} %][% foo.2 %]" => "7" 667s ok 134 - Line 313 "[% SET name = 7 %][% SET foo = [1, name, 3] %][% foo.1 %]" => "7" 667s ok 135 - Line 314 "[% SET name = 7 %][% SET foo = [1, "$name", 3] %][% foo.1 %]" => "7" 667s ok 136 - Line 316 "[% SET foo = { bar => { baz => [0, 7, 2] } } %][% foo.bar.baz.1 %]" => "7" 667s ok 137 - Line 318 "[% SET foo.bar = 1 %][% foo.bar %]" => "1" 667s ok 138 - Line 319 "[% SET foo.bar.baz.bing = 1 %][% foo.bar.baz.bing %]" => "1" 667s ok 139 - Line 320 "[% SET foo.bar.2 = 1 %][% foo.bar.2 %] [% foo.bar.size %]" => "1 1" 667s ok 140 - Line 321 "[% SET foo.bar = [] %][% SET foo.bar.2 = 1 %][% foo.bar.2 %] [% foo.bar.size %]" => "1 3" 667s ok 141 - Line 323 "[% SET name = 'two' %][% SET $name = 3 %][% two %]" => "3" 667s ok 142 - Line 324 "[% SET name = 'two' %][% SET ${name} = 3 %][% two %]" => "3" 667s ok 143 - Line 325 "[% SET name = 2 %][% SET foo.$name = 3 %][% foo.2 %]" => "3" 667s ok 144 - Line 326 "[% SET name = 2 %][% SET foo.$name = 3 %][% foo.$name %]" => "3" 667s ok 145 - Line 327 "[% SET name = 2 %][% SET foo.${name} = 3 %][% foo.2 %]" => "3" 667s ok 146 - Line 328 "[% SET name = 2 %][% SET foo.${name} = 3 %][% foo.2 %]" => "3" 667s ok 147 - Line 329 "[% SET name = 'two' %][% SET $name.foo = 3 %][% two.foo %]" => "3" 667s ok 148 - Line 330 "[% SET name = 'two' %][% SET ${name}.foo = 3 %][% two.foo %]" => "3" 667s ok 149 - Line 331 "[% SET name = 'two' %][% SET foo.$name.foo = 3 %][% foo.two.foo %]" => "3" 667s ok 150 - Line 332 "[% SET name = 'two' %][% SET foo.${name}.foo = 3 %][% foo.two.foo %]" => "3" 667s ok 151 - Line 334 "[% SET foo = [1..10] %][% foo.6 %]" => "7" 668s ok 152 - Line 335 "[% SET foo = [10..1] %][% foo.6 %]" => "" 668s ok 153 - Line 336 "[% SET foo = [-10..-1] %][% foo.6 %]" => "-4" 668s ok 154 - Line 337 "[% SET foo = [1..10, 21..30] %][% foo.12 %]" => "23" 668s ok 155 - Line 338 "[% SET foo = [..100] bar = 7 %][% bar %][% foo.0 %]" => "" 668s ok 156 - Line 339 "[% SET foo = [100..] bar = 7 %][% bar %][% foo.0 %]" => "" 668s ok 157 - Line 340 "[% SET foo = ['a'..'z'] %][% foo.6 %]" => "g" 668s ok 158 - Line 341 "[% SET foo = ['z'..'a'] %][% foo.6 %]" => "" 668s ok 159 - Line 342 "[% SET foo = ['a'..'z'].reverse %][% foo.6 %]" => "t" 668s ok 160 - Line 344 "[% foo = 1 %][% foo %]" => "1" 668s ok 161 - Line 345 "[% foo = 1 ; bar = 2 %][% foo %][% bar %]" => "12" 668s ok 162 - Line 346 "[% foo.bar = 2 %][% foo.bar %]" => "2" 668s ok 163 - Line 348 "[% a = "a" %]|[% (b = a) %]|[% a %]|[% b %]" => "|a|a|a" 668s ok 164 - Line 349 "[% a = "a" %][% (c = (b = a)) %][% a %][% b %][% c %]" => "aaaa" 668s ok 165 - Line 351 "[% a = qw{Foo Bar Baz} ; a.2 %]" => "Baz" 668s ok 166 - Line 353 "[% _foo = 1 %][% _foo %]2" => "2" 668s ok 167 - Line 354 "[% foo._bar %]2" => "2" 668s ### multiple statements in same tag ################# engine_option (normal) 668s ok 168 - Line 359 "[% foo; %]" => "1" 668s ok 169 - Line 360 "[% GET foo; %]" => "1" 668s ok 170 - Line 361 "[% GET foo; GET foo %]" => "11" 668s ok 171 - Line 362 "[% GET foo GET foo %]" => "11" 668s ok 172 - Line 363 "[% GET foo GET foo %]" => "" 668s ok 173 - Line 365 "[% foo = 1 bar = 2 %][% foo %][% bar %]" => "12" 668s ok 174 - Line 366 "[% foo = 1 bar = 2 %][% foo = 3 bar %][% foo %][% bar %]" => "232" 668s ok 175 - Line 367 "[% a = 1 a = a + 2 a %]" => "3" 668s ok 176 - Line 369 "[% foo = 1 bar = 2 %][% foo %][% bar %]" => "" 668s ok 177 - Line 370 "[% foo = 1 bar = 2 %][% foo = 3 bar %][% foo %][% bar %]" => "" 668s ok 178 - Line 371 "[% a = 1 a = a + 2 a %]" => "" 668s ### CALL / DEFAULT ################################## engine_option (normal) 668s ok 179 - Line 377 "[% DEFAULT foo = 7 %][% foo %]" => "7" 668s ok 180 - Line 378 "[% SET foo = 5 %][% DEFAULT foo = 7 %][% foo %]" => "5" 668s ok 181 - Line 379 "[% DEFAULT foo.bar.baz.bing = 6 %][% foo.bar.baz.bing %]" => "6" 668s ok 182 - Line 382 "[% foo %]" => "hi" 668s ok 183 - Line 383 "[% GET foo %]" => "hi" 668s ok 184 - Line 384 "[% CALL foo %]" => "" 668s ok 185 - CALL method actually called var 668s ### scalar vmethods ################################# engine_option (normal) 668s ok 186 - Line 391 "[% n.0 %]" => "7" 668s ok 187 - Line 392 "[% n.abs %]" => "7" 668s ok 188 - Line 393 "[% n.abs %]" => "7" 668s ok 189 - Line 394 "[% n.atan2.substr(0, 6) %]" => "1.5707" 668s ok 190 - Line 395 "[% (4 * n.atan2(1)).substr(0, 7) %]" => "3.14159" 668s ok 191 - Line 396 "[% n.chunk(3).join %]" => "abc def g" 668s ok 192 - Line 397 "[% n.chunk(-3).join %]" => "a bcd efg" 668s ok 193 - Line 398 "[% n|collapse %]" => "a b" 668s ok 194 - Line 399 "[% n.cos.substr(0,5) %]" => "1" 668s ok 195 - Line 400 "[% n.cos.substr(0,5) %]" => "0.707" 668s ok 196 - Line 401 "[% n.defined %]" => "1" 668s ok 197 - Line 402 "[% n.defined %]" => "" 668s ok 198 - Line 403 "[% n.defined %]" => "1" 668s ok 199 - Line 404 "[% n.dquote %]" => "(\n|\\|\")" 668s ok 200 - Line 405 "[% n.exp.substr(0,5) %]" => "2.718" 668s ok 201 - Line 406 "[% n.exp.log.substr(0,5) %]" => "8" 668s ok 202 - Line 407 "[% n.fmt %]" => "7" 668s ok 203 - Line 408 "[% n.fmt('%02d') %]" => "07" 668s ok 204 - Line 409 "[% n.fmt('%0*d', 3) %]" => "007" 668s ok 205 - Line 410 "[% n.fmt('(%s)') %]" => "(a 668s # b)" 668s ok 206 - Line 411 "[% n|format('%02d') %]" => "07" 668s ok 207 - Line 412 "[% n|format('%0*d', 3) %]" => "007" 668s ok 208 - Line 413 "[% n|format('(%s)') %]" => "(a) 668s # (b)" 668s ok 209 - Line 414 "[% n.hash.items.1 %]" => "b" 668s ok 210 - Line 415 "[% n.hex %]" => "255" 668s ok 211 - Line 416 "[% n|html %]" => "&<>"'" 668s ok 212 - Line 418 "[% n|xml %]" => "&<>"'" 668s ok 213 - Line 419 "[% n|indent %]" => " a 668s # b" 668s ok 214 - Line 420 "[% n|indent(2) %]" => " a 668s # b" 668s ok 215 - Line 421 "[% n|indent('wow ') %]" => "wow a 668s # wow b" 668s ok 216 - Line 422 "[% n.int %]" => "123" 668s ok 217 - Line 423 "[% n.int %]" => "123" 668s ok 218 - Line 424 "[% n.int %]" => "0" 668s ok 219 - Line 425 "[% n.item %]" => "7" 668s ok 220 - Line 426 "[% n.lc %]" => "abc" 668s ok 221 - Line 427 "[% n|lcfirst %]" => "fOO" 668s ok 222 - Line 428 "[% n.length %]" => "3" 668s ok 223 - Line 429 "[% n.list.0 %]" => "abc" 668s ok 224 - Line 430 "[% n.log.substr(0,5) %]" => "4.605" 668s ok 225 - Line 431 "[% n|lower %]" => "abc" 668s ok 226 - Line 432 "[% n.match('foo').join %]" => "" 668s ok 227 - Line 433 "[% n.match('foo').join %]" => "1" 668s ok 228 - Line 434 "[% n.match('foo',1).join %]" => "foo" 668s ok 229 - Line 435 "[% n.match('(foo)').join %]" => "foo" 668s ok 230 - Line 436 "[% n.match('(foo)').join %]" => "foo" 668s ok 231 - Line 437 "[% n.match('(foo)',1).join %]" => "foo foo" 668s ok 232 - Line 438 "[% n.null %]" => "" 668s ok 233 - Line 439 "[% n.oct %]" => "255" 668s ok 234 - Line 440 "[% n.rand %]" => "0.199194427726987" 668s ok 235 - Line 441 "[% n.rand %]" => "0.968883778291882" 668s ok 236 - Line 442 "[% n.remove('bc') %]" => "a" 668s ok 237 - Line 443 "[% n.remove('bc') %]" => "aa" 668s ok 238 - Line 444 "[% n.repeat %]" => "1" 668s ok 239 - Line 445 "[% n.repeat(0) %]" => "" 668s ok 240 - Line 446 "[% n.repeat(1) %]" => "1" 668s ok 241 - Line 447 "[% n.repeat(2) %]" => "11" 668s ok 242 - Line 448 "[% n.repeat(2,'|') %]" => "1|1" 668s ok 243 - Line 449 "[% n.replace('foo', 'bar') %]" => "barbar" 668s ok 244 - Line 450 "[% n.replace('(foo)', 'bar$1') %]" => "barfoobarfoo" 668s ok 245 - Line 451 "[% n.replace('foo', 'bar', 0) %]" => "barfoo" 668s ok 246 - Line 452 "[% n.search('foo') %]" => "" 668s ok 247 - Line 453 "[% n.search('foo') %]" => "1" 668s ok 248 - Line 454 "[% n.sin.substr(0,5) %]" => "0" 668s ok 249 - Line 455 "[% n.sin.substr(0,5) %]" => "1" 668s ok 250 - Line 456 "[% n.size %]" => "1" 668s ok 251 - Line 457 "[% n.split.join('|') %]" => "abc" 668s ok 252 - Line 458 "[% n.split.join('|') %]" => "a|b|c" 668s ok 253 - Line 459 "[% n.split.join('|') %]" => "a|b|c" 668s ok 254 - Line 460 "[% n.split(u,2).join('|') %]" => "a|b c" 668s ok 255 - Line 462 "[% n.split('/').join('|') %]" => "a|b|c" 668s ok 256 - Line 463 "[% n.split('/', 2).join('|') %]" => "a|b/c" 668s ok 257 - Line 464 "[% n.sprintf(7) %]" => "7" 668s ok 258 - Line 465 "[% n.sprintf(3, 7, 12) %]" => "007 12" 668s ok 259 - Line 466 "[% n.sqrt %]" => "3" 668s ok 260 - Line 467 "[% n.squote %]" => "( 668s # |\\|\')" 668s ok 261 - Line 468 "[% n.srand; 12 %]" => "12" 668s ok 262 - Line 474 "[% n|trim %]" => "a b" 668s ok 263 - Line 475 "[% n.uc %]" => "FOO" 668s ok 264 - Line 476 "[% n|ucfirst %]" => "Foo" 668s ok 265 - Line 477 "[% n|upper %]" => "FOO" 668s ok 266 - Line 478 "[% n|uri %]" => "a%20b" 668s ok 267 - Line 480 "[% n.fmt('%c') %]" => "B" 668s ok 268 - Line 481 "[% n.fmt('%3X') %]" => " C" 668s ok 269 - Line 482 "[% n.fmt('%-3X') %]" => "C " 668s ok 270 - Line 483 "[% n.fmt('%03X') %]" => "00C" 668s ok 271 - Line 484 "[% n.fmt('%03X') %]" => "00C" 668s ok 272 - Line 485 "[% n.fmt('%\#03X') %]" => "0XC" 668s ok 273 - Line 486 "[% n.fmt('%\#07X') %]" => "0X0000C" 668s ok 274 - Line 488 "[% n.fmt('%o') %]" => "10" 668s ok 275 - Line 489 "[% n.fmt('%\#o') %]" => "010" 668s ok 276 - Line 490 "[% n.fmt('%\#o') %]" => "0" 668s ok 277 - Line 492 "[% n.fmt('%02d') %]" => "07" 668s ok 278 - Line 493 "[% n.fmt('%04.2d') %]" => " 07" 668s ok 279 - Line 494 "[% n.fmt('%+04.2d') %]" => " +07" 668s ok 280 - Line 495 "[% n.fmt('% 04.2d') %]" => " 07" 668s ok 281 - Line 496 "[% n.fmt('% +04.2d') %]" => " +07" 668s ok 282 - Line 497 "[% n.fmt('%02f') %]" => "7.000000" 668s ok 283 - Line 498 "[% n.fmt('%04.2f') %]" => "7.00" 668s ok 284 - Line 499 "[% n.fmt('%05.2f') %]" => "07.00" 668s ok 285 - Line 500 "[% n.fmt('% 5.2f') %]" => " 7.00" 668s ok 286 - Line 501 "[% n.fmt('%+04.2f') %]" => "+7.00" 668s ok 287 - Line 502 "[% n.fmt('% 04.2f') %]" => " 7.00" 668s ok 288 - Line 503 "[% n.fmt('% +6.2f') %]" => " +7.00" 668s ok 289 - Line 504 "[% n.fmt('%0+6.2f') %]" => "+07.00" 668s ok 290 - Line 505 "[% n.fmt('%.5g') %]" => "12345" 668s ok 291 - Line 506 "[% n.fmt('%.5g') %]" => "1.2346e+06" 668s ### list vmethods ################################### engine_option (normal) 668s ok 292 - Line 511 "[% a.defined %]" => "1" 668s ok 293 - Line 512 "[% a.defined(1) %]" => "1" 668s ok 294 - Line 513 "[% a.defined(3) %]" => "" 668s ok 295 - Line 514 "[% a.first %]" => "2" 668s ok 296 - Line 515 "[% a.first(3).join %]" => "2 3 4" 668s ok 297 - Line 516 "[% a.fmt %]" => "2 3" 668s ok 298 - Line 517 "[% a.fmt('%02d') %]" => "02 03" 668s ok 299 - Line 518 "[% a.fmt('%02d',' ') %]" => "02 03" 668s ok 300 - Line 519 "[% a.fmt('%02d','|') %]" => "02|03" 668s ok 301 - Line 520 "[% a.fmt('%0*d','|', 3) %]" => "002|003" 668s ok 302 - Line 521 "[% a.grep.join %]" => "2 3" 668s ok 303 - Line 522 "[% a.grep(2).join %]" => "2" 668s ok 304 - Line 523 "[% a.grep(->(n){n % 2}).join %]" => "3 5 7" 668s ok 305 - Line 524 "[% a.hash.items.join %]" => "2 3" 668s ok 306 - Line 525 "[% a.hash(5).items.sort.join %]" => "2 3 5 6" 668s ok 307 - Line 526 "[% a.import(5) %]|[% a.join %]" => "|2 3" 668s ok 308 - Line 528 "[% a.import([5]) %]|[% a.join %]" => "|2 3 5" 668s ok 309 - Line 530 "[% a.item %]" => "2" 668s ok 310 - Line 531 "[% a.item(1) %]" => "3" 668s ok 311 - Line 532 "[% a.join %]" => "2 3" 668s ok 312 - Line 533 "[% a.join('|') %]" => "2|3" 668s ok 313 - Line 534 "[% a.last %]" => "10" 668s ok 314 - Line 535 "[% a.last(3).join %]" => "8 9 10" 668s ok 315 - Line 536 "[% a.list.join %]" => "2 3" 668s ok 316 - Line 537 "[% a.map(->(n){ n.repeat(3) }).join %]" => "222 333" 668s ok 317 - Line 538 "[% a.max %]" => "1" 668s ok 318 - Line 539 "[% a.merge(5).join %]" => "2 3" 668s ok 319 - Line 540 "[% a.merge([5]).join %]" => "2 3 5" 668s ok 320 - Line 541 "[% a.merge([5]).null %][% a.join %]" => "2 3" 668s ok 321 - Line 542 "[% a.nsort.join %]" => "1 2 3" 668s ok 322 - Line 543 "[% a.nsort('b').0.b %]" => "7" 668s ok 323 - Line 544 "[% a.pop %][% a.join %]" => "32" 668s ok 324 - Line 545 "[% a.push(3) %][% a.join %]" => "2 3 3" 668s ok 325 - Line 546 "[% a.pick %]" => "2" 668s ok 326 - Line 547 "[% a.pick(5).join('') %]" => "23223" 668s ok 327 - Line 548 "[% a.reverse.join %]" => "3 2" 668s ok 328 - Line 549 "[% a.shift %][% a.join %]" => "23" 668s ok 329 - Line 550 "[% a.size %]" => "2" 668s ok 330 - Line 551 "[% a.slice.join %]" => "2 3 4 5" 668s ok 331 - Line 552 "[% a.slice(2).join %]" => "4 5" 668s ok 332 - Line 553 "[% a.slice(0,2).join %]" => "2 3 4" 668s ok 333 - Line 554 "[% a.sort.join %]" => "1 2 3" 668s ok 334 - Line 555 "[% a.sort('b').0.b %]" => "wee" 668s ok 335 - Line 556 "[% c.sort(->(a,b){ a.k cmp b.k }).map(->{this.k}).join %]" => "a wee wow" 668s ok 336 - Line 557 "[% a.splice.join %]|[% a.join %]" => "2 3 4 5|" 668s ok 337 - Line 558 "[% a.splice(2).join %]|[% a.join %]" => "4 5|2 3" 668s ok 338 - Line 559 "[% a.splice(0,2).join %]|[% a.join %]" => "2 3|4 5" 668s ok 339 - Line 560 "[% a.splice(0,2,'hrm').join %]|[% a.join %]" => "2 3|hrm 4 5" 668s ok 340 - Line 561 "[% a.unique.join %]" => "2 3" 668s ok 341 - Line 562 "[% a.unshift(3) %][% a.join %]" => "3 2 3" 668s ### hash vmethods ################################### engine_option (normal) 668s ok 342 - Line 567 "[% h.defined %]" => "1" 668s ok 343 - Line 568 "[% h.defined('a') %]" => "1" 668s ok 344 - Line 569 "[% h.defined('b') %]" => "" 668s ok 345 - Line 570 "[% h.defined('a') %]" => "" 668s ok 346 - Line 571 "[% h.delete('a') %]|[% h.keys.0 %]" => "|b" 668s ok 347 - Line 572 "[% h.delete('a', 'b').join %]|[% h.keys.0 %]" => "|" 668s ok 348 - Line 573 "[% h.delete('a', 'c').join %]|[% h.keys.0 %]" => "|b" 668s ok 349 - Line 574 "[% h.each.sort.join %]" => "1 2 a b" 668s ok 350 - Line 575 "[% h.exists('a') %]" => "1" 668s ok 351 - Line 576 "[% h.exists('b') %]" => "" 668s ok 352 - Line 577 "[% h.exists('a') %]" => "1" 668s ok 353 - Line 578 "[% h.fmt %]" => "b B 668s # c C" 668s ok 354 - Line 579 "[% h.fmt('%s => %s') %]" => "b => B 668s # c => C" 668s ok 355 - Line 580 "[% h.fmt('%s => %s', '|') %]" => "b => B|c => C" 668s ok 356 - Line 581 "[% h.fmt('%*s=>%s', '|', 3) %]" => " b=>B| c=>C" 668s ok 357 - Line 582 "[% h.fmt('%*s=>%*s', '|', 3, 4) %]" => " b=> B| c=> C" 668s ok 358 - Line 583 "[% h.hash.fmt %]" => "b B 668s # c C" 668s ok 359 - Line 584 "[% h.import('a') %]|[% h.items.sort.join %]" => "|b B c C" 668s ok 360 - Line 585 "[% h.import({'b' => 'boo'}) %]|[% h.items.sort.join %]" => "|b boo c C" 668s ok 361 - Line 586 "[% h.item('a') %]" => "A" 668s ok 362 - Line 587 "[% h.item('_a') %]" => "" 668s ok 363 - Line 588 "[% h.items.sort.join %]" => "1 2 a b" 668s ok 364 - Line 589 "[% h.keys.sort.join %]" => "a b" 668s ok 365 - Line 590 "[% h.list('each').sort.join %]" => "1 2 a b" 668s ok 366 - Line 591 "[% h.list('keys').sort.join %]" => "a b" 668s ok 367 - Line 592 "[% h.list('pairs').0.items.sort.join %]" => "1 a key value" 668s ok 368 - Line 593 "[% h.list('values').sort.join %]" => "1 2" 668s ok 369 - Line 594 "[% h.null %]" => "" 668s ok 370 - Line 595 "[% h.nsort.join %]" => "b a" 668s ok 371 - Line 596 "[% h.pairs.0.items.sort.join %]" => "1 a key value" 668s ok 372 - Line 597 "[% h.size %]" => "2" 668s ok 373 - Line 598 "[% h.sort.join %]" => "b a" 668s ok 374 - Line 599 "[% h.values.sort.join %]" => "1 2" 668s ### vmethods as functions ########################### engine_option (normal) 668s ok 375 - Line 604 "[% sprintf('%d %d', 7, 8) %] d" => "7 8 d" 668s ok 376 - Line 605 "[% sprintf('%d %d', 7, 8) %] d" => "7 8 d" 668s ok 377 - Line 606 "[% sprintf('%d %d', 7, 8) %] d" => " d" 668s ok 378 - Line 607 "[% int(2.234) %]" => "2" 668s ok 379 - Line 609 "[% int(2.234) ; int = 44; int(2.234) ; SET int; int(2.234) %]" => "2442" 668s ### more virtual methods / filters ################## engine_option (normal) 668s ok 380 - Line 614 "[% [0 .. 10].reverse.1 %]" => "9" 668s ok 381 - Line 615 "[% {a => 'A'}.a %]" => "A" 668s ok 382 - Line 616 "[% 'This is a string'.length %]" => "16" 668s ok 383 - Line 617 "[% 123.length %]" => "3" 668s ok 384 - Line 618 "[% 123.2.length %]" => "5" 668s ok 385 - Line 619 "[% -123.2.length %]" => "-5" 668s ok 386 - Line 620 "[% (-123.2).length %]" => "6" 668s ok 387 - Line 621 "[% a = 23; a.0 %]" => "23" 668s ok 388 - Line 622 "[% 1.rand %]" => "0.15075242533052" 668s ok 389 - Line 624 "[% n.size %]" => "SIZE" 668s ok 390 - Line 625 "[% n|size %]" => "2" 668s ok 391 - Line 627 "[% "1" | indent(2) %]" => " 1" 668s ok 392 - Line 629 "[% n FILTER size %]" => "1" 668s ok 393 - Line 631 "[% n FILTER repeat %]" => "1" 668s ok 394 - Line 632 "[% n FILTER repeat(0) %]" => "" 668s ok 395 - Line 633 "[% n FILTER repeat(1) %]" => "1" 668s ok 396 - Line 634 "[% n FILTER repeat(2) %]" => "11" 668s ok 397 - Line 635 "[% n FILTER repeat(2,'|') %]" => "1|1" 668s ok 398 - Line 637 "[% n FILTER echo = repeat(2) %][% n FILTER echo %]" => "1111" 668s ok 399 - Line 638 "[% n FILTER echo = repeat(2) %][% n | echo %]" => "1111" 668s ok 400 - Line 639 "[% n FILTER echo = repeat(2) %][% n|echo.length %]" => "112" 668s ok 401 - Line 640 "[% n FILTER echo = repeat(2) %][% n FILTER $foo %]" => "1111" 668s ok 402 - Line 641 "[% n FILTER echo = repeat(2) %][% n | $foo %]" => "1111" 668s ok 403 - Line 642 "[% n FILTER echo = repeat(2) %][% n|$foo.length %]" => "112" 668s ok 404 - Line 644 "[% "hi" FILTER $foo %]" => "hihi" 668s ok 405 - Line 645 "[% FILTER $foo %]hi[% END %]" => "hihi" 668s ok 406 - Line 646 "[% "hi" FILTER foo %]" => "hihi" 668s ok 407 - Line 647 "[% "hi" FILTER foo %]" => "hihi" 668s ok 408 - Line 648 "[% "hi" FILTER foo(2) %]" => "hihi" 668s ok 409 - Line 650 "[% ["0".."9"].pick %]" => "9" 668s ok 410 - Line 652 "[% ' ' | uri %]" => "%20" 668s ok 411 - Line 654 "[% "one".fmt %]" => "one" 668s ok 412 - Line 655 "[% 2.fmt("%02d") %]" => "02" 668s ok 413 - Line 657 "[% [1..3].fmt %]" => "1 2 3" 668s ok 414 - Line 658 "[% [1..3].fmt("%02d") %]" => "01 02 03" 668s ok 415 - Line 659 "[% [1..3].fmt("%s", ", ") %]" => "1, 2, 3" 668s ok 416 - Line 661 "[% {a => "B", c => "D"}.fmt %]" => "a B 668s # c D" 668s ok 417 - Line 662 "[% {a => "B", c => "D"}.fmt("%s:%s") %]" => "a:B 668s # c:D" 668s ok 418 - Line 663 "[% {a => "B", c => "D"}.fmt("%s:%s", "; ") %]" => "a:B; c:D" 668s ok 419 - Line 665 "[% 1|format("%s") %]" => "1" 668s ok 420 - Line 666 "[% 1|format("%*s", 6) %]" => " 1" 668s ok 421 - Line 667 "[% 1|format("%-*s", 6) %]" => "1 " 668s ok 422 - Line 669 "[% 1.fmt("%-*s", 6) %]" => "1 " 668s ok 423 - Line 670 "[% [1,2].fmt("%-*s", "|", 6) %]" => "1 |2 " 668s ok 424 - Line 671 "[% {1=>2,3=>4}.fmt("%*s:%*s", "|", 3, 3) %]" => " 1: 2| 3: 4" 668s ok 425 - Line 673 "[% foo %]" => "&" 668s ok 426 - Line 674 "[% "&" %]" => "&" 668s ok 427 - Line 675 "[% foo | none %]" => "&" 668s ok 428 - Line 676 "[% foo.bar %]" => "&" 668s ok 429 - Line 677 "[% foo.bar | none %]" => "&" 668s ok 430 - Line 678 "[% GET foo %]" => "&" 668s ok 431 - Line 679 "[% GET "&" %]" => "&" 668s ok 432 - Line 680 "[% GET foo | none %]" => "&" 668s ok 433 - Line 681 "[% Text.length(foo) %]" => "1" 668s ### virtual objects ################################# engine_option (normal) 668s ok 434 - Line 686 "[% a = "foobar" %][% Text.length(a) %]" => "6" 668s ok 435 - Line 687 "[% a = [1 .. 10] %][% List.size(a) %]" => "10" 668s ok 436 - Line 688 "[% a = {a=>"A", b=>"B"} ; Hash.size(a) %]" => "2" 668s ok 437 - Line 690 "[% a = Text.new("This is a string") %][% a.length %]" => "16" 668s ok 438 - Line 691 "[% a = List.new("one", "two", "three") %][% a.size %]" => "3" 668s ok 439 - Line 692 "[% a = Hash.new("one", "ONE") %][% a.one %]" => "ONE" 668s ok 440 - Line 693 "[% a = Hash.new(one = "ONE") %][% a.one %]" => "ONE" 668s ok 441 - Line 694 "[% a = Hash.new(one => "ONE") %][% a.one %]" => "ONE" 668s ok 442 - Line 696 "[% {a => 1, b => 2} | Hash.keys | List.sort | List.join(", ") %]" => "a, b" 668s ### chomping ######################################## engine_option (normal) 668s ok 443 - Line 701 " [% foo %]" => " " 668s ok 444 - Line 702 " [%- foo %]" => "" 668s ok 445 - Line 703 " 668s # [%- foo %]" => "" 668s ok 446 - Line 704 " 668s # [%- foo %]" => "" 668s ok 447 - Line 705 " 668s # 668s # [%- foo %]" => " 668s # " 668s ok 448 - Line 706 " 668s # 668s # [%- foo %]" => " 668s # " 668s ok 449 - Line 707 " 668s # [%- foo %]" => " " 668s ok 450 - Line 708 " 668s # 668s # [%- foo %]" => " 668s # " 668s ok 451 - Line 710 "[% 7 %] " => "7 " 668s ok 452 - Line 711 "[% 7 -%] " => "7 " 668s ok 453 - Line 712 "[% 7 -%] 668s # " => "7" 668s ok 454 - Line 713 "[% 7 -%] 668s # " => "7" 668s ok 455 - Line 714 "[% 7 -%] 668s # " => "7 " 668s ok 456 - Line 715 "[% 7 -%] 668s # 668s # 668s # " => "7 668s # 668s # " 668s ok 457 - Line 716 "[% 7 -%] 668s # " => "7 " 668s ### string operators ################################ engine_option (normal) 668s ok 458 - Line 721 "[% a = "foo"; a _ "bar" %]" => "foobar" 668s ok 459 - Line 722 "[% a = "foo"; a ~ "bar" %]" => "foobar" 668s ok 460 - Line 723 "[% a = "foo"; a ~= "bar"; a %]" => "foobar" 668s ok 461 - Line 724 "[% "b" gt "c" %]<<<" => "<<<" 668s ok 462 - Line 725 "[% "b" gt "a" %]<<<" => "1<<<" 668s ok 463 - Line 726 "[% "b" ge "c" %]<<<" => "<<<" 668s ok 464 - Line 727 "[% "b" ge "b" %]<<<" => "1<<<" 668s ok 465 - Line 728 "[% "b" lt "c" %]<<<" => "1<<<" 668s ok 466 - Line 729 "[% "b" lt "a" %]<<<" => "<<<" 668s ok 467 - Line 730 "[% "b" le "a" %]<<<" => "<<<" 668s ok 468 - Line 731 "[% "b" le "b" %]<<<" => "1<<<" 668s ok 469 - Line 732 "[% "a" cmp "b" %]<<<" => "-1<<<" 668s ok 470 - Line 733 "[% "b" cmp "b" %]<<<" => "0<<<" 668s ok 471 - Line 734 "[% "c" cmp "b" %]<<<" => "1<<<" 668s ### math operators ################################## engine_option (normal) 668s ok 472 - Line 739 "[% 1 + 2 %]" => "3" 668s ok 473 - Line 740 "[% 1 + 2 + 3 %]" => "6" 668s ok 474 - Line 741 "[% (1 + 2) %]" => "3" 668s ok 475 - Line 742 "[% 2 - 1 %]" => "1" 668s ok 476 - Line 743 "[% -1 + 2 %]" => "1" 668s ok 477 - Line 744 "[% -1+2 %]" => "1" 668s ok 478 - Line 745 "[% 2 - 1 %]" => "1" 668s ok 479 - Line 746 "[% 2-1 %]" => "1" 668s ok 480 - Line 747 "[% 2 - -1 %]" => "3" 668s ok 481 - Line 748 "[% 4 * 2 %]" => "8" 668s ok 482 - Line 749 "[% 4 / 2 %]" => "2" 668s ok 483 - Line 750 "[% 10 / 3 %]" => "3.33333333333333" 668s ok 484 - Line 751 "[% 10 div 3 %]" => "3" 668s ok 485 - Line 752 "[% 2 ** 3 %]" => "8" 668s ok 486 - Line 753 "[% 1 + 2 * 3 %]" => "7" 668s ok 487 - Line 754 "[% 3 * 2 + 1 %]" => "7" 668s ok 488 - Line 755 "[% (1 + 2) * 3 %]" => "9" 668s ok 489 - Line 756 "[% 3 * (1 + 2) %]" => "9" 668s ok 490 - Line 757 "[% 1 + 2 ** 3 %]" => "9" 668s ok 491 - Line 758 "[% 2 * 2 ** 3 %]" => "16" 668s ok 492 - Line 759 "[% SET foo = 1 %][% foo + 2 %]" => "3" 668s ok 493 - Line 760 "[% SET foo = 1 %][% (foo + 2) %]" => "3" 668s ok 494 - Line 762 "[% a = 1; (a += 2) %]" => "3" 668s ok 495 - Line 763 "[% a = 1; (a -= 2) %]" => "-1" 668s ok 496 - Line 764 "[% a = 4; (a /= 2) %]" => "2" 668s ok 497 - Line 765 "[% a = 1; (a *= 2) %]" => "2" 668s ok 498 - Line 766 "[% a = 3; (a **= 2) %]" => "9" 668s ok 499 - Line 767 "[% a = 1; (a %= 2) %]" => "1" 668s ok 500 - Line 768 "[% a = 1; (a += 2 + 3) %]" => "6" 668s ok 501 - Line 769 "[% a = 1; b = 2; (a += b += 3) %]|[% a %]|[% b %]" => "6|6|5" 668s ok 502 - Line 770 "[% a = 1; b = 2; (a += (b += 3)) %]|[% a %]|[% b %]" => "6|6|5" 668s ok 503 - Line 772 "[% a += 1 %]-[% a %]-[% a += 1 %]-[% a %]" => "-1--2" 668s ok 504 - Line 773 "[% (a += 1) %]-[% (a += 1) %]" => "1-2" 668s ok 505 - Line 775 "[% a = 2; a -= 3; a %]" => "-1" 668s ok 506 - Line 776 "[% a = 2; a *= 3; a %]" => "6" 668s ok 507 - Line 777 "[% a = 2; a /= .5; a %]" => "4" 668s ok 508 - Line 778 "[% a = 8; a %= 3; a %]" => "2" 668s ok 509 - Line 779 "[% a = 2; a **= 3; a %]" => "8" 668s ok 510 - Line 781 "[% a = 1 %][% ++a %][% a %]" => "22" 668s ok 511 - Line 782 "[% a = 1 %][% a++ %][% a %]" => "12" 668s ok 512 - Line 783 "[% a = 1 %][% --a %][% a %]" => "00" 668s ok 513 - Line 784 "[% a = 1 %][% a-- %][% a %]" => "10" 668s ok 514 - Line 785 "[% a++ FOR [1..3] %]" => "012" 668s ok 515 - Line 786 "[% --a FOR [1..3] %]" => "-1-2-3" 668s ok 516 - Line 788 "[% 2 > 3 %]<<<" => "<<<" 668s ok 517 - Line 789 "[% 2 > 1 %]<<<" => "1<<<" 668s ok 518 - Line 790 "[% 2 >= 3 %]<<<" => "<<<" 668s ok 519 - Line 791 "[% 2 >= 2 %]<<<" => "1<<<" 668s ok 520 - Line 792 "[% 2 < 3 %]<<<" => "1<<<" 668s ok 521 - Line 793 "[% 2 < 1 %]<<<" => "<<<" 668s ok 522 - Line 794 "[% 2 <= 1 %]<<<" => "<<<" 668s ok 523 - Line 795 "[% 2 <= 2 %]<<<" => "1<<<" 668s ok 524 - Line 796 "[% 1 <=> 2 %]<<<" => "-1<<<" 668s ok 525 - Line 797 "[% 2 <=> 2 %]<<<" => "0<<<" 668s ok 526 - Line 798 "[% 3 <=> 2 %]<<<" => "1<<<" 668s ### boolean operators ############################### engine_option (normal) 668s ok 527 - Line 803 "[% 5 && 6 %]" => "6" 668s ok 528 - Line 804 "[% 5 || 6 %]" => "5" 668s ok 529 - Line 805 "[% 0 || 6 %]" => "6" 668s ok 530 - Line 806 "[% 0 && 6 %]" => "0" 668s ok 531 - Line 807 "[% 0 && 0 %]" => "0" 668s ok 532 - Line 808 "[% 5 && 6 && 7%]" => "7" 668s ok 533 - Line 809 "[% 0 || 1 || 2 %]" => "1" 668s ok 534 - Line 811 "[% 5 + (0 || 5) %]" => "10" 668s ok 535 - Line 814 "[% 1 ? 2 : 3 %]" => "2" 668s ok 536 - Line 815 "[% 0 ? 2 : 3 %]" => "3" 668s ok 537 - Line 816 "[% 0 ? (1 ? 2 : 3) : 4 %]" => "4" 668s ok 538 - Line 817 "[% 0 ? 1 ? 2 : 3 : 4 %]" => "4" 668s ok 539 - Line 819 "[% t = 1 || 0 ? 3 : 4 %][% t %]" => "3" 668s ok 540 - Line 820 "[% t = 0 or 1 ? 3 : 4 %][% t %]" => "3" 668s ok 541 - Line 821 "[% t = 1 or 0 ? 3 : 4 %][% t %]" => "1" 668s ok 542 - Line 823 "[% 0 ? 2 : 3 %]" => "3" 668s ok 543 - Line 824 "[% 1 ? 2 : 3 %]" => "2" 668s ok 544 - Line 825 "[% 0 ? 1 ? 2 : 3 : 4 %]" => "4" 668s ok 545 - Line 826 "[% t = 0 ? 1 ? [1..4] : [2..4] : [3..4] %][% t.0 %]" => "3" 668s ok 546 - Line 827 "[% t = 1 || 0 ? 0 : 1 || 2 ? 2 : 3 %][% t %]" => "0" 668s ok 547 - Line 828 "[% t = 0 or 0 ? 0 : 1 or 2 ? 2 : 3 %][% t %]" => "1" 668s ok 548 - Line 829 "[% t = 0 or 0 ? 0 : 0 or 2 ? 2 : 3 %][% t %]" => "2" 668s ok 549 - Line 831 "[% 0 ? 1 ? 1 + 2 * 3 : 1 + 2 * 4 : 1 + 2 * 5 %]" => "11" 668s ok 550 - Line 833 "[% foo //= 2 ; foo %]" => "2" 668s ok 551 - Line 834 "[% foo = 3; foo //= 2; foo %]" => "3" 668s ok 552 - Line 835 "[% foo = 3; SET foo; foo //= 2; foo %]" => "2" 668s ok 553 - Line 837 "[% 5 // 6 %]" => "5" 668s ok 554 - Line 838 "[% foo // 6 %]" => "6" 668s ok 555 - Line 839 "[% foo // 6 %]" => "6" 668s ok 556 - Line 840 "[% foo // 6 %]" => "" 668s ok 557 - Line 841 "[% foo // 6 %]" => "bar" 668s ok 558 - Line 843 "[% foo err 6 %]" => "6" 668s ok 559 - Line 844 "[% foo ERR 6 %]" => "6" 668s ### regex ########################################### engine_option (normal) 668s ok 560 - Line 850 "[% 'foo'.match(/foo/) ? 1 : 0 %]" => "1" 668s ok 561 - Line 851 "[% 'foo'.match(/foo) ? 1 : 0 %]" => "" 668s ok 562 - Line 852 "[% 'foo'.match(/fo o/x) ? 1 : 0 %]" => "1" 668s ok 563 - Line 853 "[% 'foo'.match(/Foo/i) ? 1 : 0 %]" => "1" 668s ok 564 - Line 854 "[% 'f 668s # o'.match(/f.o/s) ? 1 : 0 %]" => "1" 668s ok 565 - Line 855 "[% ' 668s # foo'.match(/^foo/m) ? 1 : 0 %]" => "1" 668s ok 566 - Line 856 "[% 'foo'.match(/foo/e) ? 1 : 0 %]" => "" 668s ok 567 - Line 857 "[% 'foo'.match(/foo/g) ? 1 : 0 %]" => "" 668s ok 568 - Line 858 "[% 'foo'.match(/foo) ? 1 : 0 %]" => "" 668s ok 569 - Line 859 "[% 'foo'.match(/foo**/) ? 1 : 0 %]" => "" 668s ok 570 - Line 860 "[% 'fo/o'.match(/fo\/o/) ? 1 : 0 %]" => "1" 668s ok 571 - Line 861 "[% 'foobar'.match(/(f\w\w)/).0 %]" => "foo" 668s ### BLOCK / PROCESS / INCLUDE / WRAPPER ############# engine_option (normal) 668s ok 572 - Line 867 "[% PROCESS foo %]one" => "" 668s ok 573 - Line 868 "[% BLOCK foo %]one" => "" 668s ok 574 - Line 869 "[% BLOCK foo %][% END %]one" => "one" 668s ok 575 - Line 870 "[% BLOCK %][% END %]one" => "one" 668s ok 576 - Line 871 "[% BLOCK foo %]hi there[% END %]one" => "one" 668s ok 577 - Line 872 "[% BLOCK foo %][% BLOCK foo %][% END %][% END %]" => "" 668s ok 578 - Line 873 "[% BLOCK foo %]hi there[% END %][% PROCESS foo %]" => "hi there" 668s ok 579 - Line 874 "[% PROCESS foo %][% BLOCK foo %]hi there[% END %]" => "hi there" 668s ok 580 - Line 875 "[% BLOCK foo %]hi there[% END %][% PROCESS foo foo %]" => "hi therehi there" 668s ok 581 - Line 876 "[% BLOCK foo %]hi there[% END %][% PROCESS foo, foo %]" => "hi therehi there" 668s ok 582 - Line 877 "[% BLOCK foo %]hi there[% END %][% PROCESS foo + foo %]" => "hi therehi there" 668s ok 583 - Line 878 "[% BLOCK foo %]hi [% one %] there[% END %][% PROCESS foo %]" => "hi ONE there" 668s ok 584 - Line 879 "[% BLOCK foo %]hi [% IF 1 %]Yes[% END %] there[% END %]<<[% PROCESS foo %]>>" => "<>" 668s ok 585 - Line 880 "[% BLOCK foo %]hi [% one %] there[% END %][% PROCESS foo one = 'two' %]" => "hi two there" 668s ok 586 - Line 881 "[% BLOCK foo %]hi [% one.two %] there[% END %][% PROCESS foo one.two = 'two' %]" => "hi two there" 668s ok 587 - Line 882 "[% BLOCK foo %]hi [% one.two %] there[% END %][% PROCESS foo + foo one.two = 'two' %]" => "hi two therehi two there" 668s ok 588 - Line 883 "[% BLOCK foo %][% BLOCK bar %]hi [% one %] there[% END %][% END %][% PROCESS foo/bar one => 'two' %]" => "hi two there" 668s ok 589 - Line 885 "[% BLOCK b %]Ta-Da[% END %][% self = {a => 'b'} %][% PROCESS $self.a self = 'blah' %]" => "Ta-Da" 668s ok 590 - Line 886 "[% BLOCK b %]Ta-Da[% END %][% self = {a => 'b'} %][% INCLUDE $self.a self = 'blah' %]" => "Ta-Da" 668s ok 591 - Line 887 "[% BLOCK b %]Ta-Da[% END %][% self = 'b' %][% PROCESS $self self = 'blah'; self %]" => "Ta-Dablah" 668s ok 592 - Line 888 "[% BLOCK b %]Ta-Da[% END %][% self = 'b' %][% INCLUDE $self self = 'blah'; self %]" => "Ta-Dab" 668s ok 593 - Line 890 "[% BLOCK foo %]hi [% one %] there[% END %][% PROCESS foo one = 'two' %][% one %]" => "hi two theretwo" 668s ok 594 - Line 891 "[% BLOCK foo %]hi [% one %] there[% END %][% INCLUDE foo one = 'two' %][% one %]" => "hi two there" 668s ok 595 - Line 893 "[% BLOCK foo %]FOO[% IF ! a ; a = 1; PROCESS bar; END %][% END %][% BLOCK bar %]BAR[% PROCESS foo %][% END %][% PROCESS foo %]" => "" 668s ok 596 - Line 895 "[% BLOCK foo %]FOO[% IF ! a ; a = 1; PROCESS bar; END %][% END %][% BLOCK bar %]BAR[% PROCESS foo %][% END %][% PROCESS foo %]" => "FOOBARFOO" 668s ok 597 - Line 897 "[% BLOCK foo %]([% content %])[% END %][% WRAPPER foo %]hi there[% END %]" => "(hi there)" 668s ok 598 - Line 898 "[% BLOCK foo %]([% one = 1; content %])[% END %][% WRAPPER foo %]hi there[% END %][% one %]" => "(hi there)won" 668s ok 599 - Line 900 "[% a = 23; PROCESS $foo %]" => "bar 23 baz" 668s ### IF / UNLESS / ELSIF / ELSE ###################### engine_option (normal) 668s ok 600 - Line 905 "[% IF 1 %]Yes[% END %]" => "Yes" 668s ok 601 - Line 906 "[% IF 0 %]Yes[% END %]" => "" 668s ok 602 - Line 907 "[% IF 0 %]Yes[% ELSE %]No[% END %]" => "No" 668s ok 603 - Line 908 "[% IF 0 %]Yes[% ELSIF 1 %]No[% END %]" => "No" 668s ok 604 - Line 909 "[% IF 0 %]Yes[% ELSIF 0 %]No[% END %]" => "" 668s ok 605 - Line 910 "[% IF 0 %]Yes[% ELSIF 0 %]No[% ELSE %]hmm[% END %]" => "hmm" 668s ok 606 - Line 912 "[% UNLESS 1 %]Yes[% END %]" => "" 668s ok 607 - Line 913 "[% UNLESS 0 %]Yes[% END %]" => "Yes" 668s ok 608 - Line 914 "[% UNLESS 0 %]Yes[% ELSE %]No[% END %]" => "Yes" 668s ok 609 - Line 915 "[% UNLESS 1 %]Yes[% ELSIF 1 %]No[% END %]" => "No" 668s ok 610 - Line 916 "[% UNLESS 1 %]Yes[% ELSIF 0 %]No[% END %]" => "" 668s ok 611 - Line 917 "[% UNLESS 1 %]Yes[% ELSIF 0 %]No[% ELSE %]hmm[% END %]" => "hmm" 668s ### comments ######################################## engine_option (normal) 668s ok 612 - Line 922 "[%\# one %]f" => "f" 668s ok 613 - Line 923 "[%\# 668s # one %]f" => "f" 668s ok 614 - Line 924 "[%-\# 668s # one %]f" => "f" 668s ok 615 - Line 925 "[% \# 668s # one %]f" => "ONEf" 668s ok 616 - Line 926 "[% \# one %] 668s # one %]f" => " 668s # one %]f" 668s ok 617 - Line 928 "[%\# BLOCK one %]" => "" 668s ok 618 - Line 929 "[%\# BLOCK one %]two" => "two" 668s ok 619 - Line 930 "[%\# BLOCK one %]two[% END %]" => "" 668s ok 620 - Line 931 "[%\# BLOCK one %]two[% END %]three" => "" 668s ok 621 - Line 932 "[% %]" => "" 668s ok 622 - Line 933 "[% 668s # # Some comment 668s # CALL 1 -%] 668s # foo" => "foo" 668s ### FOREACH / NEXT / LAST ########################### engine_option (normal) 668s ok 623 - Line 941 "[% FOREACH foo %]" => "" 668s ok 624 - Line 942 "[% FOREACH foo %][% END %]" => "" 668s ok 625 - Line 943 "[% FOREACH foo %]bar[% END %]" => "" 668s ok 626 - Line 944 "[% FOREACH foo %]bar[% END %]" => "bar" 668s ok 627 - Line 945 "[% FOREACH f IN foo %]bar[% f %][% END %]" => "bar1bar2" 668s ok 628 - Line 946 "[% FOREACH f = foo %]bar[% f %][% END %]" => "bar1bar2" 668s ok 629 - Line 947 "[% FOREACH f = [1,2] %]bar[% f %][% END %]" => "bar1bar2" 668s ok 630 - Line 948 "[% FOREACH f = [1..3] %]bar[% f %][% END %]" => "bar1bar2bar3" 668s ok 631 - Line 949 "[% FOREACH f = [{a=>'A'},{a=>'B'}] %]bar[% f.a %][% END %]" => "barAbarB" 668s ok 632 - Line 950 "[% FOREACH [{a=>'A'},{a=>'B'}] %]bar[% a %][% END %]" => "barAbarB" 668s ok 633 - Line 951 "[% FOREACH [{a=>'A'},{a=>'B'}] %]bar[% a %][% END %][% a %]" => "barAbarB" 668s ok 634 - Line 952 "[% FOREACH f = [1..3] %][% loop.count %]/[% loop.size %] [% END %]" => "1/3 2/3 3/3 " 668s ok 635 - Line 953 "[% FOREACH f = [1..3] %][% IF loop.first %][% f %][% END %][% END %]" => "1" 668s ok 636 - Line 954 "[% FOREACH f = [1..3] %][% IF loop.last %][% f %][% END %][% END %]" => "3" 668s ok 637 - Line 955 "[% FOREACH f = [1..3] %][% IF loop.first %][% NEXT %][% END %][% f %][% END %]" => "23" 668s ok 638 - Line 956 "[% FOREACH f = [1..3] %][% IF loop.first %][% LAST %][% END %][% f %][% END %]" => "" 668s ok 639 - Line 957 "[% FOREACH f = [1..3] %][% f %][% IF loop.first %][% NEXT %][% END %][% END %]" => "123" 668s ok 640 - Line 958 "[% FOREACH f = [1..3] %][% f %][% IF loop.first %][% LAST %][% END %][% END %]" => "1" 668s ok 641 - Line 959 "[% loop.odd FOREACH [1..5] %]" => "10101" 668s ok 642 - Line 960 "[% loop.even FOREACH [1..5] %]" => "01010" 668s ok 643 - Line 961 "[% loop.parity FOREACH [1..5] %]" => "oddevenoddevenodd" 668s ok 644 - Line 963 "[% a = ["Red", "Blue"] ; FOR [0..3] ; a.${ loop.index % a.size } ; END %]" => "RedBlueRedBlue" 668s ok 645 - Line 968 "[% foo = 1 %][% FOREACH [1..10] %][% foo %][% foo = 2 %][% END %]" => "1222222222" 668s ok 646 - Line 969 "[% f = 1 %][% FOREACH i = [1..10] %][% i %][% f = 2 %][% END %][% f %]" => "123456789102" 668s ok 647 - Line 970 "[% f = 1 %][% FOREACH [1..10] %][% f = 2 %][% END %][% f %]" => "1" 668s ok 648 - Line 971 "[% f = 1 %][% FOREACH f = [1..10] %][% f %][% END %][% f %]" => "1234567891010" 668s ok 649 - Line 972 "[% FOREACH [1] %][% SET a = 1 %][% END %][% a %]" => "" 668s ok 650 - Line 973 "[% a %][% FOREACH [1] %][% SET a = 1 %][% END %][% a %]" => "" 668s ok 651 - Line 974 "[% a = 2 %][% FOREACH [1] %][% SET a = 1 %][% END %][% a %]" => "2" 668s ok 652 - Line 975 "[% a = 2 %][% FOREACH [1] %][% a = 1 %][% END %][% a %]" => "2" 668s ok 653 - Line 976 "[% a = 2 %][% FOREACH i = [1] %][% a = 1 %][% END %][% a %]" => "1" 668s ok 654 - Line 977 "[% FOREACH i = [1] %][% SET a = 1 %][% END %][% a %]" => "1" 668s ok 655 - Line 978 "[% f.b = 1 %][% FOREACH f.b = [1..10] %][% f.b %][% END %][% f.b %]" => "1234567891010" 668s ok 656 - Line 979 "[% a = 1 %][% FOREACH [{a=>'A'},{a=>'B'}] %]bar[% a %][% END %][% a %]" => "barAbarB1" 668s ok 657 - Line 980 "[% FOREACH [1..3] %][% loop.size %][% END %][% loop.size %]" => "333" 668s ok 658 - Line 981 "[% FOREACH i = [1..3] %][% loop.size %][% END %][% loop.size %]" => "333" 668s ok 659 - Line 984 "[% FOREACH f = [1..3]; 1; END %]" => "111" 668s ok 660 - Line 985 "[% FOREACH f = [1..3]; f; END %]" => "123" 668s ok 661 - Line 986 "[% FOREACH f = [1..3]; "$f"; END %]" => "123" 668s ok 662 - Line 987 "[% FOREACH f = [1..3]; f + 1; END %]" => "234" 668s ok 663 - Line 988 "[% FOREACH f IN [2,3,4]; FOREACH g IN [6,7,8]; f;g;", "; END; END %]" => "26, 27, 28, 36, 37, 38, 46, 47, 48, " 668s ok 664 - Line 999 "[% FOREACH i IN foo; i.n; END %]" => "123" 668s ok 665 - Line 1000 "[% FOREACH i IN foo; i.n; END %]" => "1" 668s ok 666 - Line 1001 "[% FOREACH i IN foo; i.n; END %]" => "123" 668s ok 667 - Line 1002 "[% FOREACH i IN foo; i.n; END %]" => "1" 668s ok 668 - Line 1004 "[% FOREACH i IN foo; i.n; END %]" => "123" 668s ok 669 - Line 1005 "[% FOREACH i IN foo; i.n; END %]" => "1" 668s ok 670 - Line 1006 "[% FOREACH i IN foo; i.n; END %]" => "123" 668s ok 671 - Line 1007 "[% FOREACH i IN foo; i.n; END %]" => "1" 668s ### LOOP ############################################ engine_option (normal) 668s ok 672 - Line 1012 "[% var = [{key => 'a'}, {key => 'b'}] -%] 668s # [% LOOP var -%] 668s # ([% key %]) 668s # [% END %]" => " (a) 668s # (b) 668s # " 668s ok 673 - Line 1021 "[% var = [{key => 'a'}, {key => 'b'}, {key => 'c'}] -%] 668s # [% LOOP var -%] 668s # ([% key; '|'; __first__; '|'; __last__; '|'; __inner__; '|'; __odd__ %]) 668s # [% END -%]" => "(a|1|0|0|1) 668s # (b|0|0|1|0) 668s # (c|0|1|0|1) 668s # " 668s ### WHILE ########################################### engine_option (normal) 668s ok 674 - Line 1033 "[% WHILE foo %]" => "" 668s ok 675 - Line 1034 "[% WHILE foo %][% END %]" => "" 668s ok 676 - Line 1035 "[% WHILE (foo = foo - 1) %][% END %]" => "" 668s ok 677 - Line 1036 "[% WHILE (foo = foo - 1) %][% foo %][% END %]" => "21" 668s ok 678 - Line 1037 "[% WHILE foo %][% foo %][% foo = foo - 1 %][% END %]" => "321" 668s ok 679 - Line 1039 "[% WHILE 1 %][% foo %][% foo = foo - 1 %][% LAST IF foo == 1 %][% END %]" => "32" 668s ok 680 - Line 1040 "[% f = 10; WHILE f; f = f - 1 ; f ; END %]" => "9876543210" 668s ok 681 - Line 1041 "[% f = 10; WHILE f; f = f - 1 ; f ; END ; f %]" => "98765432100" 668s ok 682 - Line 1042 "[% f = 10; a = 2; WHILE f; f = f - 1 ; f ; a=3; END ; a%]" => "98765432103" 668s ok 683 - Line 1044 "[% f = 10; WHILE (g=f); f = f - 1 ; f ; END %]" => "9876543210" 668s ok 684 - Line 1045 "[% f = 10; WHILE (g=f); f = f - 1 ; f ; END ; f %]" => "98765432100" 668s ok 685 - Line 1046 "[% f = 10; a = 2; WHILE (g=f); f = f - 1 ; f ; a=3; END ; a%]" => "98765432103" 668s ok 686 - Line 1047 "[% f = 10; a = 2; WHILE (a=f); f = f - 1 ; f ; a=3; END ; a%]" => "98765432100" 668s ### STOP / RETURN / CLEAR ########################### engine_option (normal) 668s ok 687 - Line 1052 "[% STOP %]" => "" 668s ok 688 - Line 1053 "One[% STOP %]Two" => "One" 668s ok 689 - Line 1054 "[% BLOCK foo %]One[% STOP %]Two[% END %]First[% PROCESS foo %]Last" => "FirstOne" 668s ok 690 - Line 1055 "[% FOREACH f = [1..3] %][% f %][% IF loop.first %][% STOP %][% END %][% END %]" => "1" 668s ok 691 - Line 1056 "[% FOREACH f = [1..3] %][% IF loop.first %][% STOP %][% END %][% f %][% END %]" => "" 668s ok 692 - Line 1058 "[% RETURN %]" => "" 668s ok 693 - Line 1059 "One[% RETURN %]Two" => "One" 668s ok 694 - Line 1060 "[% BLOCK foo %]One[% RETURN %]Two[% END %]First[% PROCESS foo %]Last" => "FirstOneLast" 668s ok 695 - Line 1061 "[% FOREACH f = [1..3] %][% f %][% IF loop.first %][% RETURN %][% END %][% END %]" => "1" 668s ok 696 - Line 1062 "[% FOREACH f = [1..3] %][% IF loop.first %][% RETURN %][% END %][% f %][% END %]" => "" 668s ok 697 - Line 1064 "[% CLEAR %]" => "" 668s ok 698 - Line 1065 "One[% CLEAR %]Two" => "Two" 668s ok 699 - Line 1066 "[% BLOCK foo %]One[% CLEAR %]Two[% END %]First[% PROCESS foo %]Last" => "FirstTwoLast" 668s ok 700 - Line 1067 "[% FOREACH f = [1..3] %][% f %][% IF loop.first %][% CLEAR %][% END %][% END %]" => "23" 668s ok 701 - Line 1068 "[% FOREACH f = [1..3] %][% IF loop.first %][% CLEAR %][% END %][% f %][% END %]" => "123" 668s ok 702 - Line 1069 "[% FOREACH f = [1..3] %][% f %][% IF loop.last %][% CLEAR %][% END %][% END %]" => "" 668s ok 703 - Line 1070 "[% FOREACH f = [1..3] %][% IF loop.last %][% CLEAR %][% END %][% f %][% END %]" => "3" 668s ### post opererative directives ##################### engine_option (normal) 668s ok 704 - Line 1075 "[% GET foo IF 1 %]" => "1" 668s ok 705 - Line 1076 "[% f FOREACH f = [1..3] %]" => "123" 668s ok 706 - Line 1078 "2[% GET foo IF 1 IF 2 %]" => "21" 668s ok 707 - Line 1079 "2[% GET foo IF 1 IF 0 %]" => "2" 668s ok 708 - Line 1080 "[% f FOREACH f = [1..3] IF 1 %]" => "123" 668s ok 709 - Line 1081 "[% f FOREACH f = [1..3] IF 0 %]" => "" 668s ok 710 - Line 1082 "[% f FOREACH f = g FOREACH g = [1..3] %]" => "123" 668s ok 711 - Line 1083 "[% f FOREACH f = g.a FOREACH g = [{a=>1}, {a=>2}, {a=>3}] %]" => "123" 668s ok 712 - Line 1084 "[% f FOREACH f = a FOREACH [{a=>1}, {a=>2}, {a=>3}] %]" => "123" 668s ok 713 - Line 1086 "[% FOREACH f = [1..3] IF 1 %]([% f %])[% END %]" => "(1)(2)(3)" 668s ok 714 - Line 1087 "[% FOREACH f = [1..3] IF 0 %]([% f %])[% END %]" => "" 668s ok 715 - Line 1089 "[% BLOCK bar %][% foo %][% foo = foo - 1 %][% END %][% PROCESS bar WHILE foo %]" => "321" 668s ### capturing ####################################### engine_option (normal) 668s ok 716 - Line 1094 "[% foo = BLOCK %]Hi[% END %][% foo %][% foo %]" => "HiHi" 668s ok 717 - Line 1095 "[% BLOCK foo %]Hi[% END %][% bar = PROCESS foo %]-[% bar %]" => "-Hi" 668s ok 718 - Line 1096 "[% foo = IF 1 %]Hi[% END %][% foo %]" => "Hi" 668s ok 719 - Line 1097 "[% BLOCK foo %]([% i %])[% END %][% wow = PROCESS foo i='bar' %][% wow %]" => "(bar)" 668s ok 720 - Line 1098 "[% BLOCK foo %]([% i %])[% END %][% SET wow = PROCESS foo i='bar' %][% wow %]" => "(bar)" 668s ### TAGS ############################################ engine_option (normal) 668s ok 721 - Line 1103 "[% TAGS asp %]<% 1 + 2 %>" => "3" 668s ok 722 - Line 1104 "[% TAGS default %][% 1 + 2 %]" => "3" 668s ok 723 - Line 1105 "[% TAGS html %]" => "3" 668s ok 724 - Line 1106 "[% TAGS mason %]<% 1 + 2 >" => "3" 668s ok 725 - Line 1107 "[% TAGS metatext %]%% 1 + 2 %%" => "3" 668s ok 726 - Line 1108 "[% TAGS php %]" => "3" 668s ok 727 - Line 1109 "[% TAGS star %][* 1 + 2 *]" => "3" 668s ok 728 - Line 1110 "[% TAGS template %][% 1 + 2 %]" => "3" 668s ok 729 - Line 1111 "[% TAGS template1 %][% 1 + 2 %]" => "3" 668s ok 730 - Line 1112 "[% TAGS template1 %]%% 1 + 2 %%" => "3" 668s ok 731 - Line 1113 "[% TAGS tt2 %][% 1 + 2 %]" => "3" 668s ok 732 - Line 1115 "[% TAGS html %] " => "3" 668s ok 733 - Line 1116 "[% TAGS html %]" => "3" 668s ok 734 - Line 1117 "[% TAGS html %] 668s # " => "3" 668s ok 735 - Line 1118 "[% BLOCK foo %][% TAGS html %] " => "3 3" 668s ok 736 - Line 1119 "[% BLOCK foo %][% TAGS html %][% END %][% PROCESS foo %] [% 1 + 2 %]" => "" 668s ok 737 - Line 1121 "[% TAGS %]" => "3" 668s ok 738 - Line 1123 "[% TAGS [<] [>] %][<] 1 + 2 [>]" => "3" 668s ok 739 - Line 1124 "[% TAGS '[<]' '[>]' %][<] 1 + 2 [>]" => "3" 668s ok 740 - Line 1125 "[% TAGS /[<]/ /[>]/ %]< 1 + 2 >" => "3" 668s ok 741 - Line 1126 "[% TAGS ** ** %]** 1 + 2 **" => "3" 668s ok 742 - Line 1127 "[% TAGS '**' '**' %]** 1 + 2 **" => "3" 668s ok 743 - Line 1128 "[% TAGS /**/ /**/ %]** 1 + 2 **" => "" 668s ok 744 - Line 1130 "[% TAGS html -->" => "3" 668s ok 745 - Line 1131 "[% TAGS html ; 7 -->" => "73" 668s ok 746 - Line 1132 "[% TAGS html ; 7 %]" => "" 668s ### SWITCH / CASE ################################### engine_option (normal) 668s ok 747 - Line 1137 "[% SWITCH 1 %][% END %]hi" => "hi" 668s ok 748 - Line 1138 "[% SWITCH 1 %][% CASE %]bar[% END %]hi" => "barhi" 668s ok 749 - Line 1139 "[% SWITCH 1 %]Pre[% CASE %]bar[% END %]hi" => "barhi" 668s ok 750 - Line 1140 "[% SWITCH 1 %][% CASE DEFAULT %]bar[% END %]hi" => "barhi" 668s ok 751 - Line 1141 "[% SWITCH 1 %][% CASE 0 %]bar[% END %]hi" => "hi" 668s ok 752 - Line 1142 "[% SWITCH 1 %][% CASE 1 %]bar[% END %]hi" => "barhi" 668s ok 753 - Line 1143 "[% SWITCH 1 %][% CASE foo %][% CASE 1 %]bar[% END %]hi" => "barhi" 668s ok 754 - Line 1144 "[% SWITCH 1 %][% CASE [1..10] %]bar[% END %]hi" => "barhi" 668s ok 755 - Line 1145 "[% SWITCH 11 %][% CASE [1..10] %]bar[% END %]hi" => "hi" 668s ok 756 - Line 1147 "[% SWITCH 1.0 %][% CASE [1..10] %]bar[% END %]hi" => "barhi" 668s ### TRY / THROW / CATCH / FINAL ##################### engine_option (normal) 668s ok 757 - Line 1152 "[% TRY %][% END %]hi" => "hi" 668s ok 758 - Line 1153 "[% TRY %]Foo[% END %]hi" => "Foohi" 668s ok 759 - Line 1154 "[% TRY %]Foo[% THROW foo 'for fun' %]bar[% END %]hi" => "" 668s ok 760 - Line 1155 "[% TRY %]Foo[% THROW foo 'for fun' %]bar[% CATCH %][% END %]hi" => "Foohi" 668s ok 761 - Line 1156 "[% TRY %]Foo[% THROW foo 'for fun' %]bar[% CATCH %]there[% END %]hi" => "Footherehi" 668s ok 762 - Line 1157 "[% TRY %]Foo[% THROW foo 'for fun' %]bar[% CATCH foo %]there[% END %]hi" => "Footherehi" 668s ok 763 - Line 1158 "[% TRY %]Foo[% TRY %]Foo[% THROW foo 'for fun' %][% CATCH bar %]one[% END %][% CATCH %]two[% END %]hi" => "FooFootwohi" 668s ok 764 - Line 1159 "[% TRY %]Foo[% TRY %]Foo[% THROW foo 'for fun' %][% CATCH bar %]one[% END %][% CATCH s %]two[% END %]hi" => "" 668s ok 765 - Line 1160 "[% TRY %]Foo[% THROW foo.bar 'for fun' %][% CATCH foo %]one[% CATCH foo.bar %]two[% END %]hi" => "Footwohi" 668s ok 766 - Line 1162 "[% TRY %]Foo[% FINAL %]Bar[% END %]hi" => "FooBarhi" 668s ok 767 - Line 1163 "[% TRY %]Foo[% THROW foo %][% FINAL %]Bar[% CATCH %]one[% END %]hi" => "" 668s ok 768 - Line 1164 "[% TRY %]Foo[% THROW foo %][% CATCH %]one[% FINAL %]Bar[% END %]hi" => "FoooneBarhi" 668s ok 769 - Line 1165 "[% TRY %]Foo[% THROW foo %][% CATCH bar %]one[% FINAL %]Bar[% END %]hi" => "" 668s ok 770 - Line 1167 "[% TRY %][% THROW foo 'bar' %][% CATCH %][% error %][% END %]" => "foo error - bar" 668s ok 771 - Line 1168 "[% TRY %][% THROW foo 'bar' %][% CATCH %][% error.type %][% END %]" => "foo" 668s ok 772 - Line 1169 "[% TRY %][% THROW foo 'bar' %][% CATCH %][% error.info %][% END %]" => "bar" 668s ok 773 - Line 1170 "[% TRY %][% THROW foo %][% CATCH %][% error.type %][% END %]" => "undef" 668s ok 774 - Line 1171 "[% TRY %][% THROW foo %][% CATCH %][% error.info %][% END %]" => "foo" 668s ### named args ###################################### engine_option (normal) 668s ok 775 - Line 1177 "[% foo(bar = 'one', baz = 'two') %]" => "baronebaztwo" 668s ok 776 - Line 1179 "[%bar='ONE'%][% foo($bar = 'one') %]" => "ONEone" 668s ### USE ############################################# engine_option (normal) 668s ok 777 - Line 1185 "[% USE son_of_gun_that_does_not_exist %]one" => "" 668s ok 778 - Line 1186 "[% USE Iterator([3..6]) %]hey[% CALL Iterator.get_first; Iterator.size %]" => "hey4" 668s ok 779 - Line 1187 "[% USE FooTest %]one" => "one" 668s ok 780 - Line 1188 "[% USE FooTest2 %]one" => "one" 668s ok 781 - Line 1189 "[% USE FooTest(bar = 'baz') %]one[% FooTest.bar %]" => "onebarbaz" 668s ok 782 - Line 1190 "[% USE FooTest2(bar = 'baz') %]one[% FooTest2.bar %]" => "onebarbaz" 668s ok 783 - Line 1191 "[% USE FooTest(bar = 'baz') %]one[% FooTest.bar %]" => "onebarbaz" 668s ok 784 - Line 1192 "[% USE d = FooTest(bar = 'baz') %]one[% d.bar %]" => "onebarbaz" 668s ok 785 - Line 1193 "[% USE d.d = FooTest(bar = 'baz') %]one[% d.d.bar %]" => "" 668s ok 786 - Line 1194 "[% USE FooTest(somerand = 8) %]one[% FooTest.somerand %]" => "one8" 668s ok 787 - Line 1196 "[% USE a(bar = 'baz') %]one[% a.seven %]" => "" 668s ok 788 - Line 1197 "[% USE a(bar = 'baz') %]one[% a.seven %]" => "one7" 668s ok 789 - Line 1200 "[% USE FooTest %]three" => "three" 668s ### MACRO ########################################### engine_option (normal) 668s ok 790 - Line 1205 "[% MACRO foo PROCESS bar %][% BLOCK bar %]Hi[% END %][% foo %]" => "Hi" 668s ok 791 - Line 1206 "[% MACRO foo BLOCK %]Hi[% END %][% foo %]" => "Hi" 668s ok 792 - Line 1207 "[% MACRO foo BLOCK %]Hi[% END %][% foo %]" => "Hi" 668s ok 793 - Line 1208 "[% MACRO foo(n) BLOCK %]Hi[% n %][% END %][% foo(2) %]" => "Hi2" 668s ok 794 - Line 1209 "[%n=1%][% MACRO foo(n) BLOCK %]Hi[% n %][% END %][% foo(2) %][%n%]" => "Hi21" 668s ok 795 - Line 1210 "[%n=1%][% MACRO foo BLOCK %]Hi[% n = 2%][% END %][% foo %][%n%]" => "Hi1" 668s ok 796 - Line 1211 "[% MACRO foo(n) FOREACH i=[1..n] %][% i %][% END %][% foo(3) %]" => "123" 668s ok 797 - Line 1213 "[% MACRO f BLOCK %]>[% TRY; f ; CATCH ; "caught" ; END %][% END %][% f %]" => ">>>caught" 668s ok 798 - Line 1216 "[% foo = ->{ 'Hi' } %][% foo %]" => "Hi" 668s ok 799 - Line 1217 "[% foo = ->{ 'Hi'; this } %][% foo(2) %]" => "Hi2" 668s ok 800 - Line 1218 "[% foo = ->(n){ 'Hi'; n } %][% foo(2) %]" => "Hi2" 668s ok 801 - Line 1219 "[%n=1%][% foo = ->(n) { 'Hi' ; n } %][% foo(2) %][%n%]" => "Hi21" 668s ok 802 - Line 1220 "[% foo = ->(n) { FOREACH i=[1..n]; i ; END } %][% foo(3) %]" => "123" 668s ### DEBUG ########################################### engine_option (normal) 668s ok 803 - Line 1226 " 668s # 668s # [% one %]" => " 668s # 668s # 668s # ## input text line 3 : [% one %] ## 668s # ONE" 668s ok 804 - Line 1227 "[% one %]" => " 668s # ## input text line 1 : [% one %] ## 668s # ONE" 668s ok 805 - Line 1228 "[% one %] 668s # 668s # " => "(1)ONE 668s # 668s # " 668s ok 806 - Line 1229 "1 668s # 2 668s # 3[% one %]" => "1 668s # 2 668s # 3(3)ONE" 668s ok 807 - Line 1230 "[% one; 668s # one %]" => "(1)ONE(2)ONE" 668s ok 808 - Line 1232 "[% DEBUG format '($line)' %][% one %]" => " 668s # ## input text line 1 : [% DEBUG format '($line)' %] ## 668s # (1)ONE" 668s ok 809 - Line 1234 "[% TRY %][% abc %][% CATCH %][% error %][% END %]" => "undef error - abc is undefined 668s # " 668s ok 810 - Line 1236 "[% TRY %][% abc.def %][% CATCH %][% error %][% END %]" => "undef error - abc.def is undefined 668s # " 668s ### constants ####################################### engine_option (normal) 668s ok 811 - Line 1255 "[% constants.harry %]" => "do_this_once" 668s ok 812 - Line 1256 "[% constants.harry.length %]" => "12" 668s ok 813 - Line 1257 "[% SET constants.something = 1 %][% constants.something %]one" => "1one" 668s ok 814 - Line 1258 "[% SET constants.harry = 1 %][% constants.harry %]one" => "do_this_onceone" 668s ok 815 - Line 1259 "[% constants.foo.${constants.bang} %]" => "57" 668s ok 816 - Line 1260 "[% constants.foo.$bam.${constants.bing} %]" => "42" 668s ok 817 - Line 1261 "[% bam = 'somethingelse' %][% constants.foo.$bam.${constants.bing} %]" => "42" 668s ok 818 - Line 1263 "[% constants.${"harry"} %]" => "do_this_once" 668s ok 819 - Line 1264 "[% ${"constants"}.harry %]" => "foo" 668s ok 820 - Line 1266 "[% ${"con${"s"}tants"}.harry %]" => "foo" 668s ### CONTEXT ######################################### engine_option (normal) 668s ok 821 - Line 1272 "[% CALL cctx.call_me %][% cctx.last_context %]" => "list" 668s ok 822 - Line 1273 "[% cctx.array %]" => "ARRAY(0x2aa29baadc8)" 668s ok 823 - Line 1274 "[% cctx.array2 %]" => "4" 668s ok 824 - Line 1275 "[% cctx.list %]" => "ARRAY(0x2aa29bae040)" 668s ok 825 - Line 1276 "[% cctx.scalar %]" => "8" 668s ok 826 - Line 1277 "[% cctx.bang %]" => "bing" 668s ok 827 - Line 1281 "[% CALL cctx.call_me %][% cctx.last_context %]" => "list" 668s ok 828 - Line 1282 "[% CALL @(cctx.call_me) %][% cctx.last_context %]" => "list" 668s ok 829 - Line 1283 "[% CALL $(cctx.call_me) %][% cctx.last_context %]" => "scalar" 668s ok 830 - Line 1284 "[% CALL call_cctx %][% cctx.last_context %]" => "list" 668s ok 831 - Line 1285 "[% CALL @(call_cctx) %][% cctx.last_context %]" => "list" 668s ok 832 - Line 1286 "[% CALL $(call_cctx) %][% cctx.last_context %]" => "scalar" 668s ok 833 - Line 1287 "[% CALL cctx.call_me %][% cctx.last_context %]" => "list" 668s ok 834 - Line 1288 "[% CALL cctx.call_me %][% cctx.last_context.0 %]" => "list" 668s ok 835 - Line 1289 "[% CALL cctx.call_me %][% cctx.last_context %]" => "scalar" 668s ok 836 - Line 1290 "[% cctx.array %]" => "ARRAY(0x2aa29bdc8d8)" 668s ok 837 - Line 1291 "[% @(cctx.array) %]" => "ARRAY(0x2aa29bdcf68)" 668s ok 838 - Line 1292 "[% $(cctx.array) %]" => "3" 668s ok 839 - Line 1293 "[% cctx.array2 %]" => "4" 668s ok 840 - Line 1294 "[% @(cctx.array2) %]" => "ARRAY(0x2aa29badc50)" 668s ok 841 - Line 1295 "[% $(cctx.array2) %]" => "1" 668s ok 842 - Line 1296 "[% cctx.list %]" => "ARRAY(0x2aa29bdce00)" 668s ok 843 - Line 1297 "[% @(cctx.list) %]" => "ARRAY(0x2aa29be9c80)" 668s ok 844 - Line 1298 "[% $(cctx.list) %]" => "7" 668s ok 845 - Line 1299 "[% cctx.scalar %]" => "8" 668s ok 846 - Line 1300 "[% @(cctx.scalar) %]" => "ARRAY(0x2aa29bd82e0)" 668s ok 847 - Line 1301 "[% $(cctx.scalar) %]" => "8" 668s ok 848 - Line 1302 "[% cctx.bang %] ~" => "bing ~" 668s ok 849 - Line 1303 "[% @(cctx.bang) %] ~" => "bing ~" 668s ok 850 - Line 1304 "[% $(cctx.bang) %] ~" => "bing ~" 668s ok 851 - Line 1306 "[% CONFIG CALL_CONTEXT => "list"; CALL cctx.call_me; CONFIG CALL_CONTEXT => "smart" %][% cctx.last_context %]" => "list" 668s ok 852 - Line 1308 "[% CONFIG CALL_CONTEXT => "item"; CALL cctx.call_me %][% cctx.last_context %]" => "scalar" 668s ok 853 - Line 1310 "[% cctx.dataref.0.foo = 7; cctx.dataref.0.foo %]" => "7" 668s ok 854 - Line 1312 "[% @(cctx.dataref).0.foo = 7; cctx.dataref.foo %]" => "7" 668s ok 855 - Line 1314 "[% $(cctx.dataref).0.foo = 7; cctx.dataref.0.foo %]" => "7" 668s ok 856 - Line 1316 "[% CONFIG CALL_CONTEXT => "list"; cctx.dataref.0.foo = 7; CONFIG CALL_CONTEXT => "item"; cctx.dataref.foo %]" => "7" 668s ok 857 - Line 1321 "[% cctxo.bang = 1 %] ~" => " ~" 668s ok 858 - Line 1322 "[% cctxo.dataref.foo = 7; cctxo.dataref.foo %]" => "7" 668s ok 859 - Line 1324 "[% CALL cctxo.call_me %][% cctxo.last_context %]" => "list" 668s ok 860 - Line 1325 "[% CALL @(cctxo.call_me) %][% cctxo.last_context %]" => "list" 668s ok 861 - Line 1326 "[% CALL $(cctxo.call_me) %][% cctxo.last_context %]" => "scalar" 668s ok 862 - Line 1327 "[% CALL call_cctxo %][% cctxo.last_context %]" => "list" 668s ok 863 - Line 1328 "[% CALL @(call_cctxo) %][% cctxo.last_context %]" => "list" 668s ok 864 - Line 1329 "[% CALL $(call_cctxo) %][% cctxo.last_context %]" => "scalar" 668s ok 865 - Line 1330 "[% CALL cctxo.call_me %][% cctxo.last_context %]" => "list" 668s ok 866 - Line 1331 "[% CALL cctxo.call_me %][% cctxo.last_context.0 %]" => "list" 668s ok 867 - Line 1332 "[% CALL cctxo.call_me %][% cctxo.last_context %]" => "scalar" 668s ok 868 - Line 1333 "[% cctxo.array %]" => "ARRAY(0x2aa29bc9688)" 668s ok 869 - Line 1334 "[% @(cctxo.array) %]" => "ARRAY(0x2aa29bd8ec8)" 668s ok 870 - Line 1335 "[% $(cctxo.array) %]" => "3" 668s ok 871 - Line 1336 "[% cctxo.array2 %]" => "4" 668s ok 872 - Line 1337 "[% @(cctxo.array2) %]" => "ARRAY(0x2aa29bd91b0)" 668s ok 873 - Line 1338 "[% $(cctxo.array2) %]" => "1" 668s ok 874 - Line 1339 "[% cctxo.list %]" => "ARRAY(0x2aa29bb7e70)" 668s ok 875 - Line 1340 "[% @(cctxo.list) %]" => "ARRAY(0x2aa29bd8aa8)" 668s ok 876 - Line 1341 "[% $(cctxo.list) %]" => "7" 668s ok 877 - Line 1342 "[% cctxo.scalar %]" => "8" 668s ok 878 - Line 1343 "[% @(cctxo.scalar) %]" => "ARRAY(0x2aa29bc5318)" 668s ok 879 - Line 1344 "[% $(cctxo.scalar) %]" => "8" 668s ok 880 - Line 1345 "[% cctxo.bang %] ~" => "bing ~" 668s ok 881 - Line 1348 "[% SET cctxo.call_me = 2 %][% cctxo.last_context %]" => "list2" 668s ok 882 - Line 1350 "[% CALL @(cctxo.call_me = 3) %][% cctxo.last_context %]" => "list3" 668s ok 883 - Line 1352 "[% CALL $(cctxo.call_me = 4) %][% cctxo.last_context %]" => "scalar4" 668s ### INTERPOLATE ##################################### engine_option (normal) 668s ok 884 - Line 1358 "Foo $one Bar" => "Foo ONE Bar" 668s ok 885 - Line 1359 "[% PERL %] my $n=7; print $n [% END %]" => "7" 668s ok 886 - Line 1360 "[% TRY ; PERL %] my $n=7; print $n [% END ; END %]" => "7" 668s ok 887 - Line 1364 "Foo \ Bar" => "Foo \ Bar" 668s ok 888 - Line 1365 "Foo \\ Bar" => "Foo \\ Bar" 668s ok 889 - Line 1366 "Foo \n Bar" => "Foo \n Bar" 668s ok 890 - Line 1367 "Foo \$a Bar" => "Foo $a Bar" 668s ok 891 - Line 1368 "Foo \\$a Bar" => "Foo \\7 Bar" 668s ok 892 - Line 1369 "Foo \\\$a Bar" => "Foo \\$a Bar" 668s ok 893 - Line 1370 "Foo $a.B Bar" => "Foo 7 Bar" 668s ok 894 - Line 1371 "Foo ${ a.B } Bar" => "Foo 7 Bar" 668s ok 895 - Line 1372 "Foo $a.b.c("hi") Bar" => "Foo Bar" 668s ok 896 - Line 1374 "Foo ${a.b.c("hi")} Bar" => "Foo Bar" 668s ok 897 - Line 1375 "Foo $a Bar $!a Baz" => "Foo 7 Bar 7 Baz" 668s ok 898 - Line 1376 "Foo $a Bar $!{a} Baz" => "Foo 7 Bar 7 Baz" 668s ok 899 - Line 1377 "Foo $a Bar $!a Baz" => "Foo 7 Bar 7 Baz" 668s ok 900 - Line 1378 "Foo $a Bar $!{a} Baz" => "Foo 7 Bar 7 Baz" 668s ok 901 - Line 1379 "Foo $a Bar $!a Baz" => "Foo $a Bar Baz" 668s ok 902 - Line 1380 "Foo ${a} Bar $!{a} Baz" => "Foo ${a} Bar Baz" 668s ### ANYCASE / TRIM ################################## engine_option (normal) 668s ok 903 - Line 1385 "[% GET %]" => "" 668s ok 904 - Line 1386 "[% GET GET %]" => "ONE" 668s ok 905 - Line 1387 "[% get one %]" => "ONE" 668s ok 906 - Line 1388 "[% get %]" => "" 668s ok 907 - Line 1389 "[% get get %]" => "ONE" 668s ok 908 - Line 1391 "[% BLOCK foo %] 668s # hi 668s # [% END %][% PROCESS foo %]" => " 668s # hi 668s # " 668s ok 909 - Line 1392 "[% BLOCK foo %] 668s # hi[% END %][% PROCESS foo %]" => "hi" 668s ok 910 - Line 1393 "[% BLOCK foo %]hi 668s # [% END %][% PROCESS foo %]" => "hi" 668s ok 911 - Line 1394 "[% BLOCK foo %]hi[% nl %][% END %][% PROCESS foo %]" => "hi" 668s ok 912 - Line 1395 "[% BLOCK foo %][% nl %]hi[% END %][% PROCESS foo %]" => "hi" 668s ok 913 - Line 1396 "A[% TRY %] 668s # hi 668s # [% END %]" => "A 668s # hi" 668s ok 914 - Line 1398 "[% FOO %]" => "foo" 668s ### V1DOLLAR ######################################## engine_option (normal) 668s ok 915 - Line 1403 "[% a %]|[% $a %]|[% ${ a } %]|[% ${ "a" } %]" => "A|bar|bar|A" 668s ok 916 - Line 1404 "[% a %]|[% $a %]|[% ${ a } %]|[% ${ "a" } %]" => "A|A|bar|A" 668s ok 917 - Line 1407 "[% a.b.c %]|[% $a.b.c %]|[% a.$b.c %]|[% ${ a.b.c } %]" => "Cb||CB|bar" 668s ok 918 - Line 1408 "[% a.b.c %]|[% $a.b.c %]|[% a.$b.c %]|[% ${ a.b.c } %]" => "Cb|Cb|Cb|bar" 668s ok 919 - Line 1410 "[% "$a" %]/$a/[% "${a}" %]/${a}" => "A/$a/A/${a}" 668s ok 920 - Line 1411 "[% "$a" %]/$a/[% "${a}" %]/${a}" => "A/$a/A/${a}" 668s ok 921 - Line 1412 "[% "$a" %]/$a/[% "${a}" %]/${a}" => "A/A/A/A" 668s ok 922 - Line 1413 "[% "$a" %]/$a/[% "${a}" %]/${a}" => "A/A/A/A" 668s ok 923 - Line 1415 "[% constants.a %]|[% $constants.a %]|[% constants.$a %]" => "A|A|A" 668s ### V2PIPE / V2EQUALS ############################### engine_option (normal) 668s ok 924 - Line 1420 "[%- BLOCK a %]b is [% b %] 668s # [% END %] 668s # [%- PROCESS a b => 237 | repeat(2) %]" => "b is 237 668s # b is 237 668s # " 668s ok 925 - Line 1425 "[%- BLOCK a %]b is [% b %] 668s # [% END %] 668s # [%- PROCESS a b => 237 | repeat(2) %]" => "b is 237237 668s # " 668s ok 926 - Line 1429 "[% ('a' == 'b') || 0 %]" => "0" 668s ok 927 - Line 1430 "[% ('a' != 'b') || 0 %]" => "1" 668s ok 928 - Line 1431 "[% ('a' == 'b') || 0 %]" => "0" 668s ok 929 - Line 1432 "[% ('a' != 'b') || 0 %]" => "1" 668s ok 930 - Line 1433 "[% ('a' == 'b') || 0 %]" => "1" 668s ok 931 - Line 1434 "[% ('a' != 'b') || 0 %]" => "0" 668s ok 932 - Line 1435 "[% ('7' == '7.0') || 0 %]" => "0" 668s ok 933 - Line 1436 "[% ('7' == '7.0') || 0 %]" => "1" 668s ok 934 - Line 1437 "[% (7 == 7.0) || 0 %]" => "1" 668s ok 935 - Line 1438 "[% (7 == 7.0) || 0 %]" => "1" 668s ### configuration ################################### engine_option (normal) 668s ok 936 - Line 1443 "[% a = 7 %]$a" => "7" 668s ok 937 - Line 1444 "[% a = 7 %]$a" => "7" 668s ### PERL ############################################ engine_option (normal) 668s ok 938 - Line 1449 "[% TRY %][% PERL %][% END %][% CATCH ; error; END %]" => "perl error - EVAL_PERL not set" 668s ok 939 - Line 1450 "[% PERL %] print "[% one %]" [% END %]" => "ONE" 668s ok 940 - Line 1451 "[% PERL %] print $stash->get('one') [% END %]" => "ONE" 668s ok 941 - Line 1452 "[% PERL %] print $stash->set('a.b.c', 7) [% END %][% a.b.c %]" => "77" 668s ok 942 - Line 1453 "[% RAWPERL %]$output .= 'interesting'[% END %]" => "interesting" 668s ### recursion prevention ############################ engine_option (normal) 668s ok 943 - Line 1458 "[% BLOCK foo %][% PROCESS bar %][% END %][% BLOCK bar %][% PROCESS foo %][% END %][% PROCESS foo %]" => "" 668s ### META ############################################ engine_option (normal) 668s ok 944 - Line 1463 "[% template.name %]" => "input text" 668s ok 945 - Line 1464 "[% META foo = 'bar' %][% template.foo %]" => "bar" 668s ok 946 - Line 1465 "[% META name = 'bar' %][% template.name %]" => "bar" 668s ok 947 - Line 1466 "[% META foo = 'bar' %][% component.foo %]" => "bar" 668s ok 948 - Line 1467 "[% META foo = 'bar' %][% component = '' %][% component.foo %]|foo" => "|foo" 668s ok 949 - Line 1468 "[% META foo = 'bar' %][% template = '' %][% template.foo %]|foo" => "|foo" 668s ### references ###################################### engine_option (normal) 668s ok 950 - Line 1473 "[% a=3; b=\a; b; a %]" => "33" 668s ok 951 - Line 1474 "[% a=3; b=\a; a=7; b; a %]" => "77" 668s ok 952 - Line 1476 "[% a={}; a.1=7; b=\a.1; b; a.1 %]" => "77" 668s ok 953 - Line 1477 "[% a={}; a.1=7; b=\a.20; a.20=7; b; a.20 %]" => "77" 668s ok 954 - Line 1479 "[% a=[]; a.1=7; b=\a.1; b; a.1 %]" => "77" 668s ok 955 - Line 1480 "[% a=[]; a.1=7; b=\a.20; a.20=7; b; a.20 %]" => "77" 668s ok 956 - Line 1482 "[% \a %]" => "CODE(0x2aa29be1868)" 668s ok 957 - Line 1483 "[% b=\a; b %]" => "a sub []" 668s ok 958 - Line 1484 "[% b=\a(1); b %]" => "a sub [1]" 668s ok 959 - Line 1485 "[% b=\a; b(2) %]" => "a sub [2]" 668s ok 960 - Line 1486 "[% b=\a(1); b(2) %]" => "a sub [1 2]" 668s ok 961 - Line 1487 "[% f=\j.k; j.k=7; f %]" => "7" 668s ok 962 - Line 1489 "[% a = "a" ; f = {a=>"A",b=>"B"} ; foo = \f.$a ; foo %]" => "A" 668s ok 963 - Line 1490 "[% a = "a" ; f = {a=>"A",b=>"B"} ; foo = \f.$a ; a = "b" ; foo %]" => "A" 668s ok 964 - Line 1491 "[% a = "ab" ; f = "abcd"; foo = \f.replace(a, "-AB-") ; a = "cd"; foo %]" => "-AB-cd" 668s ok 965 - Line 1492 "[% a = "ab" ; f = "abcd"; foo = \f.replace(a, "-AB-").replace("-AB-", "*") ; a = "cd"; foo %]" => "*cd" 668s ok 966 - Line 1494 "[% a = "ab" ; f = "abcd"; foo = \f.replace(a, "-AB-") ; f = "ab"; foo %]" => "-AB-cd" 668s ok 967 - Line 1495 "[% a = "ab" ; f = "abcd"; foo = \f.replace(a, "-AB-").replace("-AB-", "*") ; f = "ab"; foo %]" => "*cd" 668s ### reserved words ################################## engine_option (normal) 668s ok 968 - Line 1506 "[% GET %]" => "" 668s ok 969 - Line 1507 "[% GET GET %]" => "named_get" 668s ok 970 - Line 1508 "[% GET get %]" => "lower_named_get" 668s ok 971 - Line 1509 "[% GET ${'GET'} %]" => "bar" 668s ok 972 - Line 1511 "[% GET = 1 %][% GET GET %]" => "" 668s ok 973 - Line 1512 "[% SET GET = 1 %][% GET GET %]" => "1" 668s ok 974 - Line 1514 "[% GET $hold_get %]" => "named_get" 668s ok 975 - Line 1515 "[% GET $GET %]" => "value of named_get" 668s ok 976 - Line 1516 "[% BLOCK GET %]hi[% END %][% PROCESS GET %]" => "hi" 668s ok 977 - Line 1517 "[% BLOCK foo %]hi[% END %][% PROCESS foo a = GET %]" => "hi" 668s ok 978 - Line 1518 "[% BLOCK foo %]hi[% END %][% PROCESS foo GET = 1 %]" => "" 668s ok 979 - Line 1519 "[% BLOCK foo %]hi[% END %][% PROCESS foo IF GET %]" => "hi" 668s ### embedded items ################################## engine_option (normal) 668s ok 980 - Line 1524 "[% " \" " %]" => " " " 668s ok 981 - Line 1525 "[% " \$foo " %]" => " $foo " 668s ok 982 - Line 1526 "[% " \${foo} " %]" => " ${foo} " 668s ok 983 - Line 1527 "[% " \n " %]" => " 668s # " 668s ok 984 - Line 1528 "[% " \t " %]" => " " 668s ok 985 - Line 1529 "[% " \r " %]" => " " 668s ok 986 - Line 1531 "[% 'foo\'bar' %]" => "foo'bar" 668s ok 987 - Line 1532 "[% "foo\"bar" %]" => "foo"bar" 668s ok 988 - Line 1533 "[% qw(foo \)).1 %]" => ")" 668s ok 989 - Line 1534 "[% qw|foo \||.1 %]" => "|" 668s ok 990 - Line 1536 "[% ' \' ' %]" => " ' " 668s ok 991 - Line 1537 "[% ' \r ' %]" => " \r " 668s ok 992 - Line 1538 "[% ' \n ' %]" => " \n " 668s ok 993 - Line 1539 "[% ' \t ' %]" => " \t " 668s ok 994 - Line 1540 "[% ' $foo ' %]" => " $foo " 668s ok 995 - Line 1542 "[% A = "bar" ; ${ "A" } %]" => "bar" 668s ok 996 - Line 1543 "[% A = "bar" ; "(${ A })" %]" => "(bar)" 668s ok 997 - Line 1544 "[% A = "bar" ; ${ {a => "A"}.a } %]" => "bar" 668s ok 998 - Line 1545 "[% A = "bar" ; "(${ {a => "A"}.a })" %]" => "(A)" 668s ok 999 - Line 1546 "[% A = "bar" ; "(${ ${ {a => "A"}.a } })" %]" => "(bar)" 668s ok 1000 - Line 1547 "[% A = "bar" %](${ {a => "A"}.a })" => "(A)" 668s ok 1001 - Line 1548 "[% A = "bar" %](${ ${ {a => "A"}.a } })" => "(bar)" 668s ok 1002 - Line 1550 "[% "[%" %]" => "[%" 668s ok 1003 - Line 1551 "[% "%]" %]" => "%]" 668s ok 1004 - Line 1552 "[% a = "[% %]" %][% a %]" => "[% %]" 668s ok 1005 - Line 1553 "[% qw([% 1 + 2 %]).join %]" => "[% 1 + 2 %]" 668s ### STRICT ########################################## engine_option (normal) 668s ok 1006 - Line 1557 "[% TRY; foo; CATCH; error; END %]" => "var.undef error - undefined variable: foo in input text" 668s ok 1007 - Line 1558 "[% TRY; foo.bar(1); CATCH; error; END %]" => "var.undef error - undefined variable: foo.bar(1) in input text" 668s ok 1008 - Line 1559 "[% TRY; 1 IF foo.bar.baz; CATCH; error; END %]" => "var.undef error - undefined variable: foo.bar.baz in input text" 668s ok 1009 - Line 1561 "[% foo.bar() %]ok" => "ok" 668s ok 1010 - Line 1562 "[% foo.baz() %]ok" => "" 668s ### EVALUATE ######################################## engine_option (normal) 668s ok 1011 - Line 1568 "[% foo | eval %]" => "baz" 668s ok 1012 - Line 1570 "[% "[% 1 + 2 %]" | eval %]" => "3" 668s ok 1013 - Line 1571 "[% qw([% 1 + 2 %]).join.eval %]" => "3" 668s ok 1014 - Line 1573 "[% f = ">[% TRY; f.eval ; CATCH; 'caught' ; END %]"; f.eval %]" => ">>>>>caught" 668s ok 1015 - Line 1574 "[% f = ">[% TRY; f.eval ; CATCH; 'caught' ; END %]"; f.eval; f.eval %]" => ">>>>>caught>>>>>caught" 668s ok 1016 - Line 1575 "[% f = ">[% TRY; f.eval ; CATCH; 'foo' ; END %]"; f.eval;f.eval %]" => ">>foo>>foo" 668s ok 1017 - Line 1576 "[% '\#set($foo = 12)'|eval(syntax => 'velocity') %]|[% foo %]" => "|12" 668s ok 1018 - Line 1578 "[% f = ">[% TRY; f.eval ; CATCH; 'caught' ; END %]"; EVALUATE f %]" => ">>>>>caught" 668s ok 1019 - Line 1579 "[% f = ">[% TRY; f.eval ; CATCH; 'foo' ; END %]"; EVALUATE f; EVALUATE f %]" => ">>foo>>foo" 668s ok 1020 - Line 1580 "[% EVALUATE '\#set($foo = 12)' syntax => 'velocity' %]|[% foo %]" => "|12" 668s ok 1021 - Line 1582 "[% TRY; '[% bar %]'.eval(STRICT => 1); CATCH; error; END %]" => "var.undef error - undefined variable: bar in input text" 668s ok 1022 - Line 1583 "[% TRY; CONFIG STRICT => 1; '[% bar %]'.eval(STRICT => 0); CATCH; error; END %]" => "eval_strict error - Cannot disable STRICT once it is enabled" 668s ok 1023 - Line 1584 "[% TRY; '[% bar %]'.eval(STRICT => 1); CATCH; error.type; END; bing %] - ok" => "var.undef - ok" 668s ### DUMP ############################################ engine_option (normal) 668s ok 1024 - Line 1592 "[% DUMP a %]" => "DUMP: File "input text" line 1 668s # a = undef; 668s # " 668s ok 1025 - Line 1593 "[% p = DUMP a; p.collapse %]" => "DUMP: File "input text" line 1 a = undef;" 668s ok 1026 - Line 1594 "[% p = DUMP a; p.collapse %]" => "DUMP: File "input text" line 1 a = 's';" 668s ok 1027 - Line 1595 "[% 668s # p = DUMP a; p.collapse %]" => "DUMP: File "input text" line 2 a = 's';" 668s ok 1028 - Line 1596 "[% p = DUMP a, b; p.collapse %]" => "DUMP: File "input text" line 1 a, b = [ 's', undef ];" 668s ok 1029 - Line 1597 "[% p = DUMP a Useqq => 'b'; p.collapse %]" => "DUMP: File "input text" line 1 a Useqq => 'b' = [ 's', { 'Useqq' => 'b' } ];" 668s ok 1030 - Line 1598 "[% p = DUMP a; p.collapse %]" => "DUMP: File "input text" line 1 a = "s";" 668s ok 1031 - Line 1599 "[% p = DUMP a; p.collapse %]|foo" => "|foo" 668s ok 1032 - Line 1600 "[% p = DUMP _a, b; p.collapse %]" => "DUMP: File "input text" line 1 _a, b = [ undef, 'c' ];" 668s ok 1033 - Line 1601 "[% p = DUMP {a => 'b'}; p.collapse %]" => "DUMP: File "input text" line 1 {a => 'b'} = { 'a' => 'b' };" 668s ok 1034 - Line 1602 "[% p = DUMP _a; p.collapse %]" => "DUMP: File "input text" line 1 _a = undef;" 668s ok 1035 - Line 1603 "[% p = DUMP a; p.collapse %]" => "DUMP: File "input text" line 1 a = { 'b' => 'c' };" 668s ok 1036 - Line 1604 "[% p = DUMP a; p.collapse %]" => "DUMP: File "input text" line 1 a = {};" 668s ok 1037 - Line 1605 "[% p = DUMP a; p.collapse %]" => "DUMP: File "input text" line 1 a = {};" 668s ok 1038 - Line 1606 "[% p = DUMP a; p.collapse %]" => "DUMP: File "input text" line 1 Dump(7)" 668s ok 1039 - Line 1607 "[% p = DUMP a; p.collapse %]" => "a = 's';" 668s ok 1040 - Line 1608 "[% p = DUMP a; p.collapse %]" => "
a = 's'; 
" 668s ok 1041 - Line 1610 "[% p = DUMP a; p.collapse %]" => "
a = 's'; 
" 668s ok 1042 - Line 1611 "[% p = DUMP a; p.collapse %]" => "a = 's';" 668s ok 1043 - Line 1613 "[% SET global; p = DUMP; p.collapse %]" => "DUMP: File "input text" line 1 EntireStash = { 'a' => 'b', 'global' => undef };" 668s ok 1044 - Line 1614 "[% SET global; p = DUMP; p.collapse %]" => "DUMP: File "input text" line 1 EntireStash = { 'a' => 'b', 'global' => undef };" 668s ok 1045 - Line 1615 "[% SET global; p = DUMP; p.collapse %]" => "DUMP: File "input text" line 1" 668s ### SYNTAX ########################################## engine_option (normal) 668s ok 1046 - Line 1622 "[%- BLOCK a %]b is [% b %][% END %][% PROCESS a b => 237 | repeat(2) %]" => "" 668s ok 1047 - Line 1623 "[%- BLOCK a %]b is [% b %][% END %][% PROCESS a b => 237 | repeat(2) %]" => "b is 237237" 668s ok 1048 - Line 1624 "[%- BLOCK a %]b is [% b %][% END %][% PROCESS a b => 237 | repeat(2) %]" => "b is 237237" 668s ok 1049 - Line 1625 "[%- BLOCK a %]b is [% b %][% END %][% PROCESS a b => 237 | repeat(2) %]" => "b is 237237" 668s ok 1050 - Line 1626 "[%- BLOCK a %]b is [% b %][% END %][% PROCESS a b => 237 | repeat(2) %]" => "b is 237b is 237" 668s ok 1051 - Line 1627 "[%- BLOCK a %]b is [% b %][% END %][% PROCESS a b => 237 | repeat(2) %]" => "b is 237b is 237" 668s ok 1052 - Line 1628 "[%- BLOCK a %]b is [% b %][% END %][% PROCESS a b => 237 | repeat(2) %]" => "b is 237b is 237" 668s ok 1053 - Line 1631 "[% a %]|[% $a %]|[% ${ a } %]|[% ${ "a" } %]" => "A|bar|bar|A" 668s ok 1054 - Line 1632 "[% a %]|[% $a %]|[% ${ a } %]|[% ${ "a" } %]" => "A|bar|bar|A" 668s ok 1055 - Line 1633 "[% a %]|[% $a %]|[% ${ a } %]|[% ${ "a" } %]" => "A|A|bar|A" 668s ok 1056 - Line 1635 "" => "FOO" 668s ok 1057 - Line 1636 "" => "7 8" 668s ok 1058 - Line 1637 "" => "1" 668s ok 1059 - Line 1638 "" => "1" 668s ok 1060 - Line 1639 "d" => "" 668s ok 1061 - Line 1641 "[% ""|eval(syntax => 'hte') %] = [% 6 %]" => "6 = 6" 668s ok 1062 - Line 1642 "[% ""|eval(syntax => 'ht') %] = [% 6 %]" => "" 668s ok 1063 - Line 1643 "[% ""|eval(syntax => 'ht') %] = [% 12 %]" => "12 = 12" 668s ### CONFIG ########################################## engine_option (normal) 668s ok 1064 - Line 1651 "[% CONFIG ANYCASE => 1 %][% get 234 %]" => "234" 668s ok 1065 - Line 1652 "[% CONFIG anycase => 1 %][% get 234 %]" => "234" 668s ok 1066 - Line 1653 "[% CONFIG PRE_CHOMP => '-' %] 668s # [% 234 %]" => "234" 668s ok 1067 - Line 1654 "[% CONFIG POST_CHOMP => '-' %][% 234 %] 668s # " => "234" 668s ok 1068 - Line 1655 "[% CONFIG INTERPOLATE => 1 %]${ 234 }" => "234" 668s ok 1069 - Line 1656 "[% CONFIG V1DOLLAR => 1 %][% a = 234 %][% $a %]" => "234" 668s ok 1070 - Line 1657 "[% CONFIG V2PIPE => 1 %][% BLOCK a %]b is [% b %][% END %][% PROCESS a b => 234 | repeat(2) %]" => "b is 234b is 234" 668s ok 1071 - Line 1658 "[% CONFIG V2EQUALS => 1 %][% ('7' == '7.0') || 0 %]" => "0" 668s ok 1072 - Line 1659 "[% CONFIG V2EQUALS => 0 %][% ('7' == '7.0') || 0 %]" => "1" 668s ok 1073 - Line 1661 "[% CONFIG BOGUS => 2 %]bar" => "" 668s ok 1074 - Line 1663 "[% CONFIG ANYCASE %]|[% CONFIG ANYCASE => 1 %][% CONFIG ANYCASE %]" => "CONFIG ANYCASE = undef|CONFIG ANYCASE = 1" 668s ok 1075 - Line 1664 "[% CONFIG ANYCASE %]|[% CONFIG ANYCASE => 1 %][% CONFIG ANYCASE %]" => "CONFIG ANYCASE = undef|CONFIG ANYCASE = 1" 668s ok 1076 - Line 1666 "[% "[% GET 1+2+3 %]" | eval %] = [% get 6 %]" => "" 668s ok 1077 - Line 1667 "[% CONFIG ANYCASE => 1 %][% get 6 %]" => "6" 668s ok 1078 - Line 1668 "[% CONFIG ANYCASE => 1 %][% "[% get 1+2+3 %]" | eval %] = [% get 6 %]" => "6 = 6" 668s ok 1079 - Line 1669 "[% "[% CONFIG ANYCASE => 1 %][% get 1+2+3 %]" | eval %] = [% get 6 %]" => "" 668s ok 1080 - Line 1670 "[% "[% CONFIG ANYCASE => 1 %][% get 1+2+3 %]" | eval %] = [% GET 6 %]" => "6 = 6" 668s ok 1081 - Line 1671 "[% CONFIG SYNTAX => 'hte' %][% ""|eval %] = [% 6 %]" => "6 = 6" 668s ok 1082 - Line 1672 "[% "[% get 1+2+3 %]" | eval(ANYCASE => 1) %] = [% GET 6 %]" => "6 = 6" 668s ok 1083 - Line 1674 "[% CONFIG DUMP %]|[% CONFIG DUMP => 0 %][% DUMP %]bar" => "CONFIG DUMP = undef|bar" 668s ok 1084 - Line 1675 "[% CONFIG DUMP => {Useqq=>1, header=>0, html=>0} %][% DUMP 'foo' %]" => "'foo' = "foo"; 668s # " 668s ok 1085 - Line 1676 "[% CONFIG VMETHOD_FUNCTIONS => 0 %][% sprintf('%d %d', 7, 8) %] d" => " d" 668s ok 1086 - Line 1677 "[% TRY; foo; CONFIG STRICT => 1; bar; CATCH; error; END %]" => "var.undef error - undefined variable: bar in input text" 668s ok 1087 - Line 1678 "[% TRY; foo; CONFIG STRICT => 1; CONFIG STRICT => 0; bar; CATCH; error; END %]" => "config.strict error - Cannot disable STRICT once it is enabled" 668s ok 1088 - Line 1679 "[% BLOCK foo; CONFIG STRICT => 1; baz; END; TRY; bam; PROCESS foo; bar; CATCH; error.type; END; bing %] - ok" => "var.undef - ok" 668s ok 1089 - Line 1681 "[% CONFIG AUTO_FILTER => "html"; foo %]" => "&" 668s ### DONE ############################################ engine_option (normal) 668s ### GET ############################################# engine_option (compile_perl) 668s ok 1090 - Line 159 "[% foo %]" => "" 668s ok 1091 - Line 160 "[% foo %]" => "7" 668s ok 1092 - Line 161 "[% foo %]" => "7" 668s ok 1093 - Line 162 "[% foo %]" => "7" 668s ok 1094 - Line 163 "[% foo %]" => "Stash" 668s ok 1095 - Line 164 "[% foo %]" => "V" 668s ok 1096 - Line 165 "[% bar %]" => "" 668s ok 1097 - Line 166 "[% foo %]" => "Stash" 668s ok 1098 - Line 167 "[% bar %]" => "" 668s ok 1099 - Line 168 "[% foo %]" => "Stash" 668s ok 1100 - Line 169 "[% foo %]" => "Stash" 668s ok 1101 - Line 170 "[% foo %][% foo %][% foo %]" => "777" 668s ok 1102 - Line 171 "[% foo() %]" => "7" 668s ok 1103 - Line 172 "[% foo.bar %]" => "" 668s ok 1104 - Line 173 "[% foo.bar %]" => "" 668s ok 1105 - Line 174 "[% foo.bar %]" => "7" 668s ok 1106 - Line 175 "[% foo().bar %]" => "7" 668s ok 1107 - Line 176 "[% foo.0 %]" => "7" 668s ok 1108 - Line 177 "[% foo.10 %]" => "" 668s ok 1109 - Line 178 "[% foo %]" => "7" 668s ok 1110 - Line 179 "[% foo(7) %]" => "7" 668s ok 1111 - Line 180 "[% foo.length %]" => "1" 668s ok 1112 - Line 181 "[% foo.0 %]" => "7" 668s ok 1113 - Line 182 "[% foo(bar) %]" => "7" 668s ok 1114 - Line 183 "[% foo(bar.baz) %]" => "7" 668s ok 1115 - Line 184 "[% foo.seven %]" => "7" 668s ok 1116 - Line 185 "[% foo.seven() %]" => "7" 668s ok 1117 - Line 186 "[% foo.seven.length %]" => "1" 668s ok 1118 - Line 187 "[% foo.echo(7) %]" => "7" 668s ok 1119 - Line 188 "[% foo.many.0 %]" => "1" 668s ok 1120 - Line 189 "[% foo.many.10 %]" => "" 668s ok 1121 - Line 190 "[% foo.nomethod %]" => "" 668s ok 1122 - Line 191 "[% foo.nomethod.0 %]" => "" 668s ok 1123 - Line 193 "[% GET foo %]" => "" 668s ok 1124 - Line 194 "[% GET foo %]" => "7" 668s ok 1125 - Line 195 "[% GET foo.bar %]" => "" 668s ok 1126 - Line 196 "[% GET foo.bar %]" => "" 668s ok 1127 - Line 197 "[% GET foo.bar %]" => "7" 668s ok 1128 - Line 198 "[% GET foo.0 %]" => "7" 668s ok 1129 - Line 199 "[% GET foo %]" => "7" 668s ok 1130 - Line 200 "[% GET foo(7) %]" => "7" 668s ok 1131 - Line 202 "[% $name %]" => "" 668s ok 1132 - Line 203 "[% $name %]" => "7" 668s ok 1133 - Line 204 "[% $name.bar %]" => "" 668s ok 1134 - Line 205 "[% $name.bar %]" => "" 668s ok 1135 - Line 206 "[% $name.bar %]" => "7" 668s ok 1136 - Line 207 "[% $name().bar %]" => "7" 668s ok 1137 - Line 208 "[% $name.0 %]" => "7" 668s ok 1138 - Line 209 "[% $name %]" => "7" 668s ok 1139 - Line 210 "[% $name(7) %]" => "7" 668s ok 1140 - Line 212 "[% GET $name %]" => "" 668s ok 1141 - Line 213 "[% GET $name %]" => "7" 668s ok 1142 - Line 214 "[% GET $name.bar %]" => "" 668s ok 1143 - Line 215 "[% GET $name.bar %]" => "" 668s ok 1144 - Line 216 "[% GET $name.bar %]" => "7" 668s ok 1145 - Line 217 "[% GET $name.0 %]" => "7" 668s ok 1146 - Line 218 "[% GET $name %]" => "7" 668s ok 1147 - Line 219 "[% GET $name(7) %]" => "7" 668s ok 1148 - Line 221 "[% $name %]" => "" 668s ok 1149 - Line 222 "[% GET $name %]" => "" 668s ok 1150 - Line 224 "[% ${name} %]" => "" 668s ok 1151 - Line 225 "[% ${name} %]" => "7" 668s ok 1152 - Line 226 "[% ${name}.bar %]" => "" 668s ok 1153 - Line 227 "[% ${name}.bar %]" => "" 668s ok 1154 - Line 228 "[% ${name}.bar %]" => "7" 668s ok 1155 - Line 229 "[% ${name}().bar %]" => "7" 668s ok 1156 - Line 230 "[% ${name}.0 %]" => "7" 668s ok 1157 - Line 231 "[% ${name} %]" => "7" 668s ok 1158 - Line 232 "[% ${name}(7) %]" => "7" 668s ok 1159 - Line 234 "[% GET ${name} %]" => "" 668s ok 1160 - Line 235 "[% GET ${name} %]" => "7" 668s ok 1161 - Line 236 "[% GET ${name}.bar %]" => "" 668s ok 1162 - Line 237 "[% GET ${name}.bar %]" => "" 668s ok 1163 - Line 238 "[% GET ${name}.bar %]" => "7" 668s ok 1164 - Line 239 "[% GET ${name}.0 %]" => "7" 668s ok 1165 - Line 240 "[% GET ${name} %]" => "7" 668s ok 1166 - Line 241 "[% GET ${name}(7) %]" => "7" 668s ok 1167 - Line 243 "[% ${name} %]" => "" 668s ok 1168 - Line 244 "[% GET ${name} %]" => "" 668s ok 1169 - Line 245 "[% GET ${'foo'} %]" => "bar" 668s ok 1170 - Line 247 "[% foo.$name %]" => "" 668s ok 1171 - Line 248 "[% foo.$name %]" => "7" 668s ok 1172 - Line 249 "[% foo.$name.baz %]" => "" 668s ok 1173 - Line 251 "[% "hi" %]" => "hi" 668s ok 1174 - Line 252 "[% "hi %]" => "" 668s ok 1175 - Line 253 "[% 'hi' %]" => "hi" 668s ok 1176 - Line 254 "[% 'hi %]" => "" 668s ok 1177 - Line 255 "[% "$foo" %]" => "7" 668s ok 1178 - Line 256 "[% "hi $foo" %]" => "hi 7" 668s ok 1179 - Line 257 "[% "hi ${foo}" %]" => "hi 7" 668s ok 1180 - Line 258 "[% 'hi $foo' %]" => "hi $foo" 668s ok 1181 - Line 259 "[% 'hi ${foo}' %]" => "hi ${foo}" 668s ok 1182 - Line 260 "[% 7 %]" => "7" 668s ok 1183 - Line 261 "[% -7 %]" => "-7" 668s ok 1184 - Line 263 "[% "hi ${foo.seven}" %]" => "hi 7" 668s ok 1185 - Line 264 "[% "hi ${foo.echo(7)}" %]" => "hi 7" 668s ok 1186 - Line 266 "[% _foo %]2" => "2" 668s ok 1187 - Line 267 "[% $bar %]2" => "2" 668s ok 1188 - Line 268 "[% __foo %]2" => "2" 668s ok 1189 - Line 270 "[% qw/Foo Bar Baz/.0 %]" => "Foo" 668s ok 1190 - Line 271 "[% [0..10].-1 %]" => "10" 668s ok 1191 - Line 272 "[% [0..10].${ 2.3 } %]" => "2" 668s ok 1192 - Line 274 "[% (1 + 2)() %]" => "" 668s ok 1193 - Line 275 "[% (1 + 2) %]" => "3" 668s ok 1194 - Line 276 "[% (a) %]" => "2" 668s ok 1195 - Line 277 "[% ('foo') %]" => "foo" 668s ok 1196 - Line 278 "[% (a(2)) %]" => "2" 668s ok 1197 - Line 281 "[% JS 3 %]" => "3" 668s ok 1198 - Line 282 "[% JS 3 %]" => "43" 668s ok 1199 - Line 283 "[% JS; 3; END %]" => "" 668s ### SET ############################################# engine_option (compile_perl) 668s ok 1200 - Line 288 "[% SET foo bar %][% foo %]" => "" 668s ok 1201 - Line 289 "[% SET foo = 1 %][% foo %]" => "1" 668s ok 1202 - Line 290 "[% SET foo = 1 bar = 2 %][% foo %][% bar %]" => "12" 668s ok 1203 - Line 291 "[% SET foo bar = 1 %][% foo %]" => "" 668s ok 1204 - Line 292 "[% SET foo = 1 ; bar = 1 %][% foo %]" => "1" 668s ok 1205 - Line 293 "[% SET foo = 1 %][% SET foo %][% foo %]" => "" 668s ok 1206 - Line 295 "[% SET foo = [] %][% foo.0 %]" => "" 668s ok 1207 - Line 296 "[% SET foo = [1, 2, 3] %][% foo.1 %]" => "2" 668s ok 1208 - Line 297 "[% SET foo = {} %][% foo.0 %]" => "" 668s ok 1209 - Line 298 "[% SET foo = {1 => 2} %][% foo.1 %]" => "2" 668s ok 1210 - Line 299 "[% SET foo = {'1' => 2} %][% foo.1 %]" => "2" 668s ok 1211 - Line 301 "[% SET name = 1 %][% SET foo = name %][% foo %]" => "1" 668s ok 1212 - Line 302 "[% SET name = 1 %][% SET foo = $name %][% foo %]" => "" 668s ok 1213 - Line 303 "[% SET name = 1 %][% SET foo = ${name} %][% foo %]" => "" 668s ok 1214 - Line 304 "[% SET name = 1 %][% SET foo = "$name" %][% foo %]" => "1" 668s ok 1215 - Line 305 "[% SET name = 1 foo = name %][% foo %]" => "1" 668s ok 1216 - Line 306 "[% SET name = 1 %][% SET foo = {$name => 2} %][% foo.1 %]" => "2" 668s ok 1217 - Line 307 "[% SET name = 1 %][% SET foo = {"$name" => 2} %][% foo.1 %]" => "2" 668s ok 1218 - Line 308 "[% SET name = 1 %][% SET foo = {${name} => 2} %][% foo.1 %]" => "2" 668s ok 1219 - Line 310 "[% SET name = 7 %][% SET foo = {'2' => name} %][% foo.2 %]" => "7" 668s ok 1220 - Line 311 "[% SET name = 7 %][% SET foo = {'2' => "$name"} %][% foo.2 %]" => "7" 668s ok 1221 - Line 313 "[% SET name = 7 %][% SET foo = [1, name, 3] %][% foo.1 %]" => "7" 668s ok 1222 - Line 314 "[% SET name = 7 %][% SET foo = [1, "$name", 3] %][% foo.1 %]" => "7" 668s ok 1223 - Line 316 "[% SET foo = { bar => { baz => [0, 7, 2] } } %][% foo.bar.baz.1 %]" => "7" 668s ok 1224 - Line 318 "[% SET foo.bar = 1 %][% foo.bar %]" => "1" 668s ok 1225 - Line 319 "[% SET foo.bar.baz.bing = 1 %][% foo.bar.baz.bing %]" => "1" 668s ok 1226 - Line 320 "[% SET foo.bar.2 = 1 %][% foo.bar.2 %] [% foo.bar.size %]" => "1 1" 668s ok 1227 - Line 321 "[% SET foo.bar = [] %][% SET foo.bar.2 = 1 %][% foo.bar.2 %] [% foo.bar.size %]" => "1 3" 668s ok 1228 - Line 323 "[% SET name = 'two' %][% SET $name = 3 %][% two %]" => "3" 668s ok 1229 - Line 324 "[% SET name = 'two' %][% SET ${name} = 3 %][% two %]" => "3" 668s ok 1230 - Line 325 "[% SET name = 2 %][% SET foo.$name = 3 %][% foo.2 %]" => "3" 668s ok 1231 - Line 326 "[% SET name = 2 %][% SET foo.$name = 3 %][% foo.$name %]" => "3" 668s ok 1232 - Line 327 "[% SET name = 2 %][% SET foo.${name} = 3 %][% foo.2 %]" => "3" 668s ok 1233 - Line 328 "[% SET name = 2 %][% SET foo.${name} = 3 %][% foo.2 %]" => "3" 668s ok 1234 - Line 329 "[% SET name = 'two' %][% SET $name.foo = 3 %][% two.foo %]" => "3" 668s ok 1235 - Line 330 "[% SET name = 'two' %][% SET ${name}.foo = 3 %][% two.foo %]" => "3" 668s ok 1236 - Line 331 "[% SET name = 'two' %][% SET foo.$name.foo = 3 %][% foo.two.foo %]" => "3" 668s ok 1237 - Line 332 "[% SET name = 'two' %][% SET foo.${name}.foo = 3 %][% foo.two.foo %]" => "3" 668s ok 1238 - Line 334 "[% SET foo = [1..10] %][% foo.6 %]" => "7" 668s ok 1239 - Line 335 "[% SET foo = [10..1] %][% foo.6 %]" => "" 668s ok 1240 - Line 336 "[% SET foo = [-10..-1] %][% foo.6 %]" => "-4" 668s ok 1241 - Line 337 "[% SET foo = [1..10, 21..30] %][% foo.12 %]" => "23" 668s ok 1242 - Line 338 "[% SET foo = [..100] bar = 7 %][% bar %][% foo.0 %]" => "" 668s ok 1243 - Line 339 "[% SET foo = [100..] bar = 7 %][% bar %][% foo.0 %]" => "" 668s ok 1244 - Line 340 "[% SET foo = ['a'..'z'] %][% foo.6 %]" => "g" 668s ok 1245 - Line 341 "[% SET foo = ['z'..'a'] %][% foo.6 %]" => "" 668s ok 1246 - Line 342 "[% SET foo = ['a'..'z'].reverse %][% foo.6 %]" => "t" 668s ok 1247 - Line 344 "[% foo = 1 %][% foo %]" => "1" 668s ok 1248 - Line 345 "[% foo = 1 ; bar = 2 %][% foo %][% bar %]" => "12" 668s ok 1249 - Line 346 "[% foo.bar = 2 %][% foo.bar %]" => "2" 668s ok 1250 - Line 348 "[% a = "a" %]|[% (b = a) %]|[% a %]|[% b %]" => "|a|a|a" 668s ok 1251 - Line 349 "[% a = "a" %][% (c = (b = a)) %][% a %][% b %][% c %]" => "aaaa" 668s ok 1252 - Line 351 "[% a = qw{Foo Bar Baz} ; a.2 %]" => "Baz" 668s ok 1253 - Line 353 "[% _foo = 1 %][% _foo %]2" => "2" 668s ok 1254 - Line 354 "[% foo._bar %]2" => "2" 668s ### multiple statements in same tag ################# engine_option (compile_perl) 668s ok 1255 - Line 359 "[% foo; %]" => "1" 668s ok 1256 - Line 360 "[% GET foo; %]" => "1" 668s ok 1257 - Line 361 "[% GET foo; GET foo %]" => "11" 668s ok 1258 - Line 362 "[% GET foo GET foo %]" => "11" 668s ok 1259 - Line 363 "[% GET foo GET foo %]" => "" 668s ok 1260 - Line 365 "[% foo = 1 bar = 2 %][% foo %][% bar %]" => "12" 668s ok 1261 - Line 366 "[% foo = 1 bar = 2 %][% foo = 3 bar %][% foo %][% bar %]" => "232" 668s ok 1262 - Line 367 "[% a = 1 a = a + 2 a %]" => "3" 668s ok 1263 - Line 369 "[% foo = 1 bar = 2 %][% foo %][% bar %]" => "" 668s ok 1264 - Line 370 "[% foo = 1 bar = 2 %][% foo = 3 bar %][% foo %][% bar %]" => "" 668s ok 1265 - Line 371 "[% a = 1 a = a + 2 a %]" => "" 668s ### CALL / DEFAULT ################################## engine_option (compile_perl) 668s ok 1266 - Line 377 "[% DEFAULT foo = 7 %][% foo %]" => "7" 668s ok 1267 - Line 378 "[% SET foo = 5 %][% DEFAULT foo = 7 %][% foo %]" => "5" 668s ok 1268 - Line 379 "[% DEFAULT foo.bar.baz.bing = 6 %][% foo.bar.baz.bing %]" => "6" 668s ok 1269 - Line 382 "[% foo %]" => "hi" 668s ok 1270 - Line 383 "[% GET foo %]" => "hi" 668s ok 1271 - Line 384 "[% CALL foo %]" => "" 668s ok 1272 - CALL method actually called var 668s ### scalar vmethods ################################# engine_option (compile_perl) 668s ok 1273 - Line 391 "[% n.0 %]" => "7" 668s ok 1274 - Line 392 "[% n.abs %]" => "7" 668s ok 1275 - Line 393 "[% n.abs %]" => "7" 668s ok 1276 - Line 394 "[% n.atan2.substr(0, 6) %]" => "1.5707" 668s ok 1277 - Line 395 "[% (4 * n.atan2(1)).substr(0, 7) %]" => "3.14159" 668s ok 1278 - Line 396 "[% n.chunk(3).join %]" => "abc def g" 668s ok 1279 - Line 397 "[% n.chunk(-3).join %]" => "a bcd efg" 668s ok 1280 - Line 398 "[% n|collapse %]" => "a b" 668s ok 1281 - Line 399 "[% n.cos.substr(0,5) %]" => "1" 668s ok 1282 - Line 400 "[% n.cos.substr(0,5) %]" => "0.707" 668s ok 1283 - Line 401 "[% n.defined %]" => "1" 668s ok 1284 - Line 402 "[% n.defined %]" => "" 668s ok 1285 - Line 403 "[% n.defined %]" => "1" 668s ok 1286 - Line 404 "[% n.dquote %]" => "(\n|\\|\")" 668s ok 1287 - Line 405 "[% n.exp.substr(0,5) %]" => "2.718" 668s ok 1288 - Line 406 "[% n.exp.log.substr(0,5) %]" => "8" 668s ok 1289 - Line 407 "[% n.fmt %]" => "7" 668s ok 1290 - Line 408 "[% n.fmt('%02d') %]" => "07" 668s ok 1291 - Line 409 "[% n.fmt('%0*d', 3) %]" => "007" 668s ok 1292 - Line 410 "[% n.fmt('(%s)') %]" => "(a 668s # b)" 668s ok 1293 - Line 411 "[% n|format('%02d') %]" => "07" 668s ok 1294 - Line 412 "[% n|format('%0*d', 3) %]" => "007" 668s ok 1295 - Line 413 "[% n|format('(%s)') %]" => "(a) 668s # (b)" 668s ok 1296 - Line 414 "[% n.hash.items.1 %]" => "b" 668s ok 1297 - Line 415 "[% n.hex %]" => "255" 668s ok 1298 - Line 416 "[% n|html %]" => "&<>"'" 668s ok 1299 - Line 418 "[% n|xml %]" => "&<>"'" 668s ok 1300 - Line 419 "[% n|indent %]" => " a 668s # b" 668s ok 1301 - Line 420 "[% n|indent(2) %]" => " a 668s # b" 668s ok 1302 - Line 421 "[% n|indent('wow ') %]" => "wow a 668s # wow b" 668s ok 1303 - Line 422 "[% n.int %]" => "123" 668s ok 1304 - Line 423 "[% n.int %]" => "123" 668s ok 1305 - Line 424 "[% n.int %]" => "0" 668s ok 1306 - Line 425 "[% n.item %]" => "7" 668s ok 1307 - Line 426 "[% n.lc %]" => "abc" 668s ok 1308 - Line 427 "[% n|lcfirst %]" => "fOO" 668s ok 1309 - Line 428 "[% n.length %]" => "3" 668s ok 1310 - Line 429 "[% n.list.0 %]" => "abc" 668s ok 1311 - Line 430 "[% n.log.substr(0,5) %]" => "4.605" 668s ok 1312 - Line 431 "[% n|lower %]" => "abc" 668s ok 1313 - Line 432 "[% n.match('foo').join %]" => "" 668s ok 1314 - Line 433 "[% n.match('foo').join %]" => "1" 668s ok 1315 - Line 434 "[% n.match('foo',1).join %]" => "foo" 668s ok 1316 - Line 435 "[% n.match('(foo)').join %]" => "foo" 668s ok 1317 - Line 436 "[% n.match('(foo)').join %]" => "foo" 668s ok 1318 - Line 437 "[% n.match('(foo)',1).join %]" => "foo foo" 668s ok 1319 - Line 438 "[% n.null %]" => "" 668s ok 1320 - Line 439 "[% n.oct %]" => "255" 668s ok 1321 - Line 440 "[% n.rand %]" => "1.5264831683424" 668s ok 1322 - Line 441 "[% n.rand %]" => "0.335701955774084" 668s ok 1323 - Line 442 "[% n.remove('bc') %]" => "a" 668s ok 1324 - Line 443 "[% n.remove('bc') %]" => "aa" 668s ok 1325 - Line 444 "[% n.repeat %]" => "1" 668s ok 1326 - Line 445 "[% n.repeat(0) %]" => "" 668s ok 1327 - Line 446 "[% n.repeat(1) %]" => "1" 668s ok 1328 - Line 447 "[% n.repeat(2) %]" => "11" 668s ok 1329 - Line 448 "[% n.repeat(2,'|') %]" => "1|1" 668s ok 1330 - Line 449 "[% n.replace('foo', 'bar') %]" => "barbar" 668s ok 1331 - Line 450 "[% n.replace('(foo)', 'bar$1') %]" => "barfoobarfoo" 668s ok 1332 - Line 451 "[% n.replace('foo', 'bar', 0) %]" => "barfoo" 668s ok 1333 - Line 452 "[% n.search('foo') %]" => "" 668s ok 1334 - Line 453 "[% n.search('foo') %]" => "1" 668s ok 1335 - Line 454 "[% n.sin.substr(0,5) %]" => "0" 668s ok 1336 - Line 455 "[% n.sin.substr(0,5) %]" => "1" 668s ok 1337 - Line 456 "[% n.size %]" => "1" 668s ok 1338 - Line 457 "[% n.split.join('|') %]" => "abc" 668s ok 1339 - Line 458 "[% n.split.join('|') %]" => "a|b|c" 668s ok 1340 - Line 459 "[% n.split.join('|') %]" => "a|b|c" 668s ok 1341 - Line 460 "[% n.split(u,2).join('|') %]" => "a|b c" 668s ok 1342 - Line 462 "[% n.split('/').join('|') %]" => "a|b|c" 668s ok 1343 - Line 463 "[% n.split('/', 2).join('|') %]" => "a|b/c" 668s ok 1344 - Line 464 "[% n.sprintf(7) %]" => "7" 668s ok 1345 - Line 465 "[% n.sprintf(3, 7, 12) %]" => "007 12" 668s ok 1346 - Line 466 "[% n.sqrt %]" => "3" 668s ok 1347 - Line 467 "[% n.squote %]" => "( 668s # |\\|\')" 668s ok 1348 - Line 468 "[% n.srand; 12 %]" => "12" 668s ok 1349 - Line 474 "[% n|trim %]" => "a b" 668s ok 1350 - Line 475 "[% n.uc %]" => "FOO" 668s ok 1351 - Line 476 "[% n|ucfirst %]" => "Foo" 668s ok 1352 - Line 477 "[% n|upper %]" => "FOO" 668s ok 1353 - Line 478 "[% n|uri %]" => "a%20b" 668s ok 1354 - Line 480 "[% n.fmt('%c') %]" => "B" 668s ok 1355 - Line 481 "[% n.fmt('%3X') %]" => " C" 668s ok 1356 - Line 482 "[% n.fmt('%-3X') %]" => "C " 668s ok 1357 - Line 483 "[% n.fmt('%03X') %]" => "00C" 668s ok 1358 - Line 484 "[% n.fmt('%03X') %]" => "00C" 668s ok 1359 - Line 485 "[% n.fmt('%\#03X') %]" => "0XC" 668s ok 1360 - Line 486 "[% n.fmt('%\#07X') %]" => "0X0000C" 668s ok 1361 - Line 488 "[% n.fmt('%o') %]" => "10" 668s ok 1362 - Line 489 "[% n.fmt('%\#o') %]" => "010" 668s ok 1363 - Line 490 "[% n.fmt('%\#o') %]" => "0" 668s ok 1364 - Line 492 "[% n.fmt('%02d') %]" => "07" 668s ok 1365 - Line 493 "[% n.fmt('%04.2d') %]" => " 07" 668s ok 1366 - Line 494 "[% n.fmt('%+04.2d') %]" => " +07" 668s ok 1367 - Line 495 "[% n.fmt('% 04.2d') %]" => " 07" 668s ok 1368 - Line 496 "[% n.fmt('% +04.2d') %]" => " +07" 668s ok 1369 - Line 497 "[% n.fmt('%02f') %]" => "7.000000" 668s ok 1370 - Line 498 "[% n.fmt('%04.2f') %]" => "7.00" 668s ok 1371 - Line 499 "[% n.fmt('%05.2f') %]" => "07.00" 668s ok 1372 - Line 500 "[% n.fmt('% 5.2f') %]" => " 7.00" 668s ok 1373 - Line 501 "[% n.fmt('%+04.2f') %]" => "+7.00" 668s ok 1374 - Line 502 "[% n.fmt('% 04.2f') %]" => " 7.00" 668s ok 1375 - Line 503 "[% n.fmt('% +6.2f') %]" => " +7.00" 668s ok 1376 - Line 504 "[% n.fmt('%0+6.2f') %]" => "+07.00" 668s ok 1377 - Line 505 "[% n.fmt('%.5g') %]" => "12345" 668s ok 1378 - Line 506 "[% n.fmt('%.5g') %]" => "1.2346e+06" 668s ### list vmethods ################################### engine_option (compile_perl) 668s ok 1379 - Line 511 "[% a.defined %]" => "1" 668s ok 1380 - Line 512 "[% a.defined(1) %]" => "1" 668s ok 1381 - Line 513 "[% a.defined(3) %]" => "" 668s ok 1382 - Line 514 "[% a.first %]" => "2" 668s ok 1383 - Line 515 "[% a.first(3).join %]" => "2 3 4" 668s ok 1384 - Line 516 "[% a.fmt %]" => "2 3" 668s ok 1385 - Line 517 "[% a.fmt('%02d') %]" => "02 03" 668s ok 1386 - Line 518 "[% a.fmt('%02d',' ') %]" => "02 03" 668s ok 1387 - Line 519 "[% a.fmt('%02d','|') %]" => "02|03" 668s ok 1388 - Line 520 "[% a.fmt('%0*d','|', 3) %]" => "002|003" 668s ok 1389 - Line 521 "[% a.grep.join %]" => "2 3" 668s ok 1390 - Line 522 "[% a.grep(2).join %]" => "2" 668s ok 1391 - Line 523 "[% a.grep(->(n){n % 2}).join %]" => "3 5 7" 668s ok 1392 - Line 524 "[% a.hash.items.join %]" => "2 3" 668s ok 1393 - Line 525 "[% a.hash(5).items.sort.join %]" => "2 3 5 6" 668s ok 1394 - Line 526 "[% a.import(5) %]|[% a.join %]" => "|2 3" 668s ok 1395 - Line 528 "[% a.import([5]) %]|[% a.join %]" => "|2 3 5" 668s ok 1396 - Line 530 "[% a.item %]" => "2" 668s ok 1397 - Line 531 "[% a.item(1) %]" => "3" 668s ok 1398 - Line 532 "[% a.join %]" => "2 3" 668s ok 1399 - Line 533 "[% a.join('|') %]" => "2|3" 668s ok 1400 - Line 534 "[% a.last %]" => "10" 668s ok 1401 - Line 535 "[% a.last(3).join %]" => "8 9 10" 668s ok 1402 - Line 536 "[% a.list.join %]" => "2 3" 668s ok 1403 - Line 537 "[% a.map(->(n){ n.repeat(3) }).join %]" => "222 333" 668s ok 1404 - Line 538 "[% a.max %]" => "1" 668s ok 1405 - Line 539 "[% a.merge(5).join %]" => "2 3" 668s ok 1406 - Line 540 "[% a.merge([5]).join %]" => "2 3 5" 668s ok 1407 - Line 541 "[% a.merge([5]).null %][% a.join %]" => "2 3" 668s ok 1408 - Line 542 "[% a.nsort.join %]" => "1 2 3" 668s ok 1409 - Line 543 "[% a.nsort('b').0.b %]" => "7" 668s ok 1410 - Line 544 "[% a.pop %][% a.join %]" => "32" 668s ok 1411 - Line 545 "[% a.push(3) %][% a.join %]" => "2 3 3" 668s ok 1412 - Line 546 "[% a.pick %]" => "2" 668s ok 1413 - Line 547 "[% a.pick(5).join('') %]" => "23223" 668s ok 1414 - Line 548 "[% a.reverse.join %]" => "3 2" 668s ok 1415 - Line 549 "[% a.shift %][% a.join %]" => "23" 668s ok 1416 - Line 550 "[% a.size %]" => "2" 668s ok 1417 - Line 551 "[% a.slice.join %]" => "2 3 4 5" 668s ok 1418 - Line 552 "[% a.slice(2).join %]" => "4 5" 668s ok 1419 - Line 553 "[% a.slice(0,2).join %]" => "2 3 4" 668s ok 1420 - Line 554 "[% a.sort.join %]" => "1 2 3" 668s ok 1421 - Line 555 "[% a.sort('b').0.b %]" => "wee" 668s ok 1422 - Line 556 "[% c.sort(->(a,b){ a.k cmp b.k }).map(->{this.k}).join %]" => "a wee wow" 668s ok 1423 - Line 557 "[% a.splice.join %]|[% a.join %]" => "2 3 4 5|" 668s ok 1424 - Line 558 "[% a.splice(2).join %]|[% a.join %]" => "4 5|2 3" 668s ok 1425 - Line 559 "[% a.splice(0,2).join %]|[% a.join %]" => "2 3|4 5" 668s ok 1426 - Line 560 "[% a.splice(0,2,'hrm').join %]|[% a.join %]" => "2 3|hrm 4 5" 668s ok 1427 - Line 561 "[% a.unique.join %]" => "2 3" 668s ok 1428 - Line 562 "[% a.unshift(3) %][% a.join %]" => "3 2 3" 668s ### hash vmethods ################################### engine_option (compile_perl) 668s ok 1429 - Line 567 "[% h.defined %]" => "1" 668s ok 1430 - Line 568 "[% h.defined('a') %]" => "1" 668s ok 1431 - Line 569 "[% h.defined('b') %]" => "" 668s ok 1432 - Line 570 "[% h.defined('a') %]" => "" 668s ok 1433 - Line 571 "[% h.delete('a') %]|[% h.keys.0 %]" => "|b" 668s ok 1434 - Line 572 "[% h.delete('a', 'b').join %]|[% h.keys.0 %]" => "|" 668s ok 1435 - Line 573 "[% h.delete('a', 'c').join %]|[% h.keys.0 %]" => "|b" 668s ok 1436 - Line 574 "[% h.each.sort.join %]" => "1 2 a b" 668s ok 1437 - Line 575 "[% h.exists('a') %]" => "1" 668s ok 1438 - Line 576 "[% h.exists('b') %]" => "" 668s ok 1439 - Line 577 "[% h.exists('a') %]" => "1" 668s ok 1440 - Line 578 "[% h.fmt %]" => "b B 668s # c C" 668s ok 1441 - Line 579 "[% h.fmt('%s => %s') %]" => "b => B 668s # c => C" 668s ok 1442 - Line 580 "[% h.fmt('%s => %s', '|') %]" => "b => B|c => C" 668s ok 1443 - Line 581 "[% h.fmt('%*s=>%s', '|', 3) %]" => " b=>B| c=>C" 668s ok 1444 - Line 582 "[% h.fmt('%*s=>%*s', '|', 3, 4) %]" => " b=> B| c=> C" 668s ok 1445 - Line 583 "[% h.hash.fmt %]" => "b B 668s # c C" 668s ok 1446 - Line 584 "[% h.import('a') %]|[% h.items.sort.join %]" => "|b B c C" 668s ok 1447 - Line 585 "[% h.import({'b' => 'boo'}) %]|[% h.items.sort.join %]" => "|b boo c C" 668s ok 1448 - Line 586 "[% h.item('a') %]" => "A" 668s ok 1449 - Line 587 "[% h.item('_a') %]" => "" 668s ok 1450 - Line 588 "[% h.items.sort.join %]" => "1 2 a b" 668s ok 1451 - Line 589 "[% h.keys.sort.join %]" => "a b" 668s ok 1452 - Line 590 "[% h.list('each').sort.join %]" => "1 2 a b" 668s ok 1453 - Line 591 "[% h.list('keys').sort.join %]" => "a b" 668s ok 1454 - Line 592 "[% h.list('pairs').0.items.sort.join %]" => "1 a key value" 668s ok 1455 - Line 593 "[% h.list('values').sort.join %]" => "1 2" 668s ok 1456 - Line 594 "[% h.null %]" => "" 668s ok 1457 - Line 595 "[% h.nsort.join %]" => "b a" 668s ok 1458 - Line 596 "[% h.pairs.0.items.sort.join %]" => "1 a key value" 668s ok 1459 - Line 597 "[% h.size %]" => "2" 668s ok 1460 - Line 598 "[% h.sort.join %]" => "b a" 668s ok 1461 - Line 599 "[% h.values.sort.join %]" => "1 2" 668s ### vmethods as functions ########################### engine_option (compile_perl) 668s ok 1462 - Line 604 "[% sprintf('%d %d', 7, 8) %] d" => "7 8 d" 668s ok 1463 - Line 605 "[% sprintf('%d %d', 7, 8) %] d" => "7 8 d" 668s ok 1464 - Line 606 "[% sprintf('%d %d', 7, 8) %] d" => " d" 668s ok 1465 - Line 607 "[% int(2.234) %]" => "2" 668s ok 1466 - Line 609 "[% int(2.234) ; int = 44; int(2.234) ; SET int; int(2.234) %]" => "2442" 668s ### more virtual methods / filters ################## engine_option (compile_perl) 668s ok 1467 - Line 614 "[% [0 .. 10].reverse.1 %]" => "9" 668s ok 1468 - Line 615 "[% {a => 'A'}.a %]" => "A" 668s ok 1469 - Line 616 "[% 'This is a string'.length %]" => "16" 668s ok 1470 - Line 617 "[% 123.length %]" => "3" 668s ok 1471 - Line 618 "[% 123.2.length %]" => "5" 668s ok 1472 - Line 619 "[% -123.2.length %]" => "-5" 668s ok 1473 - Line 620 "[% (-123.2).length %]" => "6" 668s ok 1474 - Line 621 "[% a = 23; a.0 %]" => "23" 668s ok 1475 - Line 622 "[% 1.rand %]" => "0.15075242533052" 668s ok 1476 - Line 624 "[% n.size %]" => "SIZE" 668s ok 1477 - Line 625 "[% n|size %]" => "2" 668s ok 1478 - Line 627 "[% "1" | indent(2) %]" => " 1" 668s ok 1479 - Line 629 "[% n FILTER size %]" => "1" 668s ok 1480 - Line 631 "[% n FILTER repeat %]" => "1" 668s ok 1481 - Line 632 "[% n FILTER repeat(0) %]" => "" 668s ok 1482 - Line 633 "[% n FILTER repeat(1) %]" => "1" 668s ok 1483 - Line 634 "[% n FILTER repeat(2) %]" => "11" 668s ok 1484 - Line 635 "[% n FILTER repeat(2,'|') %]" => "1|1" 668s ok 1485 - Line 637 "[% n FILTER echo = repeat(2) %][% n FILTER echo %]" => "1111" 668s ok 1486 - Line 638 "[% n FILTER echo = repeat(2) %][% n | echo %]" => "1111" 668s ok 1487 - Line 639 "[% n FILTER echo = repeat(2) %][% n|echo.length %]" => "112" 668s ok 1488 - Line 640 "[% n FILTER echo = repeat(2) %][% n FILTER $foo %]" => "1111" 668s ok 1489 - Line 641 "[% n FILTER echo = repeat(2) %][% n | $foo %]" => "1111" 668s ok 1490 - Line 642 "[% n FILTER echo = repeat(2) %][% n|$foo.length %]" => "112" 668s ok 1491 - Line 644 "[% "hi" FILTER $foo %]" => "hihi" 668s ok 1492 - Line 645 "[% FILTER $foo %]hi[% END %]" => "hihi" 668s ok 1493 - Line 646 "[% "hi" FILTER foo %]" => "hihi" 668s ok 1494 - Line 647 "[% "hi" FILTER foo %]" => "hihi" 668s ok 1495 - Line 648 "[% "hi" FILTER foo(2) %]" => "hihi" 668s ok 1496 - Line 650 "[% ["0".."9"].pick %]" => "9" 668s ok 1497 - Line 652 "[% ' ' | uri %]" => "%20" 668s ok 1498 - Line 654 "[% "one".fmt %]" => "one" 668s ok 1499 - Line 655 "[% 2.fmt("%02d") %]" => "02" 668s ok 1500 - Line 657 "[% [1..3].fmt %]" => "1 2 3" 668s ok 1501 - Line 658 "[% [1..3].fmt("%02d") %]" => "01 02 03" 668s ok 1502 - Line 659 "[% [1..3].fmt("%s", ", ") %]" => "1, 2, 3" 668s ok 1503 - Line 661 "[% {a => "B", c => "D"}.fmt %]" => "a B 668s # c D" 668s ok 1504 - Line 662 "[% {a => "B", c => "D"}.fmt("%s:%s") %]" => "a:B 668s # c:D" 668s ok 1505 - Line 663 "[% {a => "B", c => "D"}.fmt("%s:%s", "; ") %]" => "a:B; c:D" 668s ok 1506 - Line 665 "[% 1|format("%s") %]" => "1" 668s ok 1507 - Line 666 "[% 1|format("%*s", 6) %]" => " 1" 668s ok 1508 - Line 667 "[% 1|format("%-*s", 6) %]" => "1 " 668s ok 1509 - Line 669 "[% 1.fmt("%-*s", 6) %]" => "1 " 668s ok 1510 - Line 670 "[% [1,2].fmt("%-*s", "|", 6) %]" => "1 |2 " 668s ok 1511 - Line 671 "[% {1=>2,3=>4}.fmt("%*s:%*s", "|", 3, 3) %]" => " 1: 2| 3: 4" 668s ok 1512 - Line 673 "[% foo %]" => "&" 668s ok 1513 - Line 674 "[% "&" %]" => "&" 668s ok 1514 - Line 675 "[% foo | none %]" => "&" 668s ok 1515 - Line 676 "[% foo.bar %]" => "&" 668s ok 1516 - Line 677 "[% foo.bar | none %]" => "&" 668s ok 1517 - Line 678 "[% GET foo %]" => "&" 668s ok 1518 - Line 679 "[% GET "&" %]" => "&" 668s ok 1519 - Line 680 "[% GET foo | none %]" => "&" 668s ok 1520 - Line 681 "[% Text.length(foo) %]" => "1" 668s ### virtual objects ################################# engine_option (compile_perl) 668s ok 1521 - Line 686 "[% a = "foobar" %][% Text.length(a) %]" => "6" 668s ok 1522 - Line 687 "[% a = [1 .. 10] %][% List.size(a) %]" => "10" 668s ok 1523 - Line 688 "[% a = {a=>"A", b=>"B"} ; Hash.size(a) %]" => "2" 668s ok 1524 - Line 690 "[% a = Text.new("This is a string") %][% a.length %]" => "16" 668s ok 1525 - Line 691 "[% a = List.new("one", "two", "three") %][% a.size %]" => "3" 668s ok 1526 - Line 692 "[% a = Hash.new("one", "ONE") %][% a.one %]" => "ONE" 668s ok 1527 - Line 693 "[% a = Hash.new(one = "ONE") %][% a.one %]" => "ONE" 668s ok 1528 - Line 694 "[% a = Hash.new(one => "ONE") %][% a.one %]" => "ONE" 668s ok 1529 - Line 696 "[% {a => 1, b => 2} | Hash.keys | List.sort | List.join(", ") %]" => "a, b" 668s ### chomping ######################################## engine_option (compile_perl) 668s ok 1530 - Line 701 " [% foo %]" => " " 668s ok 1531 - Line 702 " [%- foo %]" => "" 668s ok 1532 - Line 703 " 668s # [%- foo %]" => "" 668s ok 1533 - Line 704 " 668s # [%- foo %]" => "" 668s ok 1534 - Line 705 " 668s # 668s # [%- foo %]" => " 668s # " 668s ok 1535 - Line 706 " 668s # 668s # [%- foo %]" => " 668s # " 668s ok 1536 - Line 707 " 668s # [%- foo %]" => " " 668s ok 1537 - Line 708 " 668s # 668s # [%- foo %]" => " 668s # " 668s ok 1538 - Line 710 "[% 7 %] " => "7 " 668s ok 1539 - Line 711 "[% 7 -%] " => "7 " 668s ok 1540 - Line 712 "[% 7 -%] 668s # " => "7" 668s ok 1541 - Line 713 "[% 7 -%] 668s # " => "7" 668s ok 1542 - Line 714 "[% 7 -%] 668s # " => "7 " 668s ok 1543 - Line 715 "[% 7 -%] 668s # 668s # 668s # " => "7 668s # 668s # " 668s ok 1544 - Line 716 "[% 7 -%] 668s # " => "7 " 668s ### string operators ################################ engine_option (compile_perl) 668s ok 1545 - Line 721 "[% a = "foo"; a _ "bar" %]" => "foobar" 668s ok 1546 - Line 722 "[% a = "foo"; a ~ "bar" %]" => "foobar" 668s ok 1547 - Line 723 "[% a = "foo"; a ~= "bar"; a %]" => "foobar" 668s ok 1548 - Line 724 "[% "b" gt "c" %]<<<" => "<<<" 668s ok 1549 - Line 725 "[% "b" gt "a" %]<<<" => "1<<<" 668s ok 1550 - Line 726 "[% "b" ge "c" %]<<<" => "<<<" 668s ok 1551 - Line 727 "[% "b" ge "b" %]<<<" => "1<<<" 668s ok 1552 - Line 728 "[% "b" lt "c" %]<<<" => "1<<<" 668s ok 1553 - Line 729 "[% "b" lt "a" %]<<<" => "<<<" 668s ok 1554 - Line 730 "[% "b" le "a" %]<<<" => "<<<" 668s ok 1555 - Line 731 "[% "b" le "b" %]<<<" => "1<<<" 668s ok 1556 - Line 732 "[% "a" cmp "b" %]<<<" => "-1<<<" 668s ok 1557 - Line 733 "[% "b" cmp "b" %]<<<" => "0<<<" 668s ok 1558 - Line 734 "[% "c" cmp "b" %]<<<" => "1<<<" 668s ### math operators ################################## engine_option (compile_perl) 668s ok 1559 - Line 739 "[% 1 + 2 %]" => "3" 668s ok 1560 - Line 740 "[% 1 + 2 + 3 %]" => "6" 668s ok 1561 - Line 741 "[% (1 + 2) %]" => "3" 668s ok 1562 - Line 742 "[% 2 - 1 %]" => "1" 668s ok 1563 - Line 743 "[% -1 + 2 %]" => "1" 668s ok 1564 - Line 744 "[% -1+2 %]" => "1" 668s ok 1565 - Line 745 "[% 2 - 1 %]" => "1" 668s ok 1566 - Line 746 "[% 2-1 %]" => "1" 668s ok 1567 - Line 747 "[% 2 - -1 %]" => "3" 668s ok 1568 - Line 748 "[% 4 * 2 %]" => "8" 668s ok 1569 - Line 749 "[% 4 / 2 %]" => "2" 668s ok 1570 - Line 750 "[% 10 / 3 %]" => "3.33333333333333" 668s ok 1571 - Line 751 "[% 10 div 3 %]" => "3" 668s ok 1572 - Line 752 "[% 2 ** 3 %]" => "8" 668s ok 1573 - Line 753 "[% 1 + 2 * 3 %]" => "7" 668s ok 1574 - Line 754 "[% 3 * 2 + 1 %]" => "7" 668s ok 1575 - Line 755 "[% (1 + 2) * 3 %]" => "9" 668s ok 1576 - Line 756 "[% 3 * (1 + 2) %]" => "9" 668s ok 1577 - Line 757 "[% 1 + 2 ** 3 %]" => "9" 668s ok 1578 - Line 758 "[% 2 * 2 ** 3 %]" => "16" 668s ok 1579 - Line 759 "[% SET foo = 1 %][% foo + 2 %]" => "3" 668s ok 1580 - Line 760 "[% SET foo = 1 %][% (foo + 2) %]" => "3" 668s ok 1581 - Line 762 "[% a = 1; (a += 2) %]" => "3" 668s ok 1582 - Line 763 "[% a = 1; (a -= 2) %]" => "-1" 668s ok 1583 - Line 764 "[% a = 4; (a /= 2) %]" => "2" 668s ok 1584 - Line 765 "[% a = 1; (a *= 2) %]" => "2" 668s ok 1585 - Line 766 "[% a = 3; (a **= 2) %]" => "9" 668s ok 1586 - Line 767 "[% a = 1; (a %= 2) %]" => "1" 668s ok 1587 - Line 768 "[% a = 1; (a += 2 + 3) %]" => "6" 668s ok 1588 - Line 769 "[% a = 1; b = 2; (a += b += 3) %]|[% a %]|[% b %]" => "6|6|5" 668s ok 1589 - Line 770 "[% a = 1; b = 2; (a += (b += 3)) %]|[% a %]|[% b %]" => "6|6|5" 668s ok 1590 - Line 772 "[% a += 1 %]-[% a %]-[% a += 1 %]-[% a %]" => "-1--2" 668s ok 1591 - Line 773 "[% (a += 1) %]-[% (a += 1) %]" => "1-2" 668s ok 1592 - Line 775 "[% a = 2; a -= 3; a %]" => "-1" 668s ok 1593 - Line 776 "[% a = 2; a *= 3; a %]" => "6" 668s ok 1594 - Line 777 "[% a = 2; a /= .5; a %]" => "4" 668s ok 1595 - Line 778 "[% a = 8; a %= 3; a %]" => "2" 668s ok 1596 - Line 779 "[% a = 2; a **= 3; a %]" => "8" 668s ok 1597 - Line 781 "[% a = 1 %][% ++a %][% a %]" => "22" 668s ok 1598 - Line 782 "[% a = 1 %][% a++ %][% a %]" => "12" 668s ok 1599 - Line 783 "[% a = 1 %][% --a %][% a %]" => "00" 668s ok 1600 - Line 784 "[% a = 1 %][% a-- %][% a %]" => "10" 668s ok 1601 - Line 785 "[% a++ FOR [1..3] %]" => "012" 668s ok 1602 - Line 786 "[% --a FOR [1..3] %]" => "-1-2-3" 668s ok 1603 - Line 788 "[% 2 > 3 %]<<<" => "<<<" 668s ok 1604 - Line 789 "[% 2 > 1 %]<<<" => "1<<<" 668s ok 1605 - Line 790 "[% 2 >= 3 %]<<<" => "<<<" 668s ok 1606 - Line 791 "[% 2 >= 2 %]<<<" => "1<<<" 668s ok 1607 - Line 792 "[% 2 < 3 %]<<<" => "1<<<" 668s ok 1608 - Line 793 "[% 2 < 1 %]<<<" => "<<<" 668s ok 1609 - Line 794 "[% 2 <= 1 %]<<<" => "<<<" 668s ok 1610 - Line 795 "[% 2 <= 2 %]<<<" => "1<<<" 668s ok 1611 - Line 796 "[% 1 <=> 2 %]<<<" => "-1<<<" 668s ok 1612 - Line 797 "[% 2 <=> 2 %]<<<" => "0<<<" 668s ok 1613 - Line 798 "[% 3 <=> 2 %]<<<" => "1<<<" 668s ### boolean operators ############################### engine_option (compile_perl) 668s ok 1614 - Line 803 "[% 5 && 6 %]" => "6" 668s ok 1615 - Line 804 "[% 5 || 6 %]" => "5" 668s ok 1616 - Line 805 "[% 0 || 6 %]" => "6" 668s ok 1617 - Line 806 "[% 0 && 6 %]" => "0" 668s ok 1618 - Line 807 "[% 0 && 0 %]" => "0" 668s ok 1619 - Line 808 "[% 5 && 6 && 7%]" => "7" 668s ok 1620 - Line 809 "[% 0 || 1 || 2 %]" => "1" 668s ok 1621 - Line 811 "[% 5 + (0 || 5) %]" => "10" 668s ok 1622 - Line 814 "[% 1 ? 2 : 3 %]" => "2" 668s ok 1623 - Line 815 "[% 0 ? 2 : 3 %]" => "3" 668s ok 1624 - Line 816 "[% 0 ? (1 ? 2 : 3) : 4 %]" => "4" 668s ok 1625 - Line 817 "[% 0 ? 1 ? 2 : 3 : 4 %]" => "4" 668s ok 1626 - Line 819 "[% t = 1 || 0 ? 3 : 4 %][% t %]" => "3" 668s ok 1627 - Line 820 "[% t = 0 or 1 ? 3 : 4 %][% t %]" => "3" 668s ok 1628 - Line 821 "[% t = 1 or 0 ? 3 : 4 %][% t %]" => "1" 668s ok 1629 - Line 823 "[% 0 ? 2 : 3 %]" => "3" 668s ok 1630 - Line 824 "[% 1 ? 2 : 3 %]" => "2" 668s ok 1631 - Line 825 "[% 0 ? 1 ? 2 : 3 : 4 %]" => "4" 668s ok 1632 - Line 826 "[% t = 0 ? 1 ? [1..4] : [2..4] : [3..4] %][% t.0 %]" => "3" 668s ok 1633 - Line 827 "[% t = 1 || 0 ? 0 : 1 || 2 ? 2 : 3 %][% t %]" => "0" 668s ok 1634 - Line 828 "[% t = 0 or 0 ? 0 : 1 or 2 ? 2 : 3 %][% t %]" => "1" 668s ok 1635 - Line 829 "[% t = 0 or 0 ? 0 : 0 or 2 ? 2 : 3 %][% t %]" => "2" 668s ok 1636 - Line 831 "[% 0 ? 1 ? 1 + 2 * 3 : 1 + 2 * 4 : 1 + 2 * 5 %]" => "11" 668s ok 1637 - Line 833 "[% foo //= 2 ; foo %]" => "2" 668s ok 1638 - Line 834 "[% foo = 3; foo //= 2; foo %]" => "3" 668s ok 1639 - Line 835 "[% foo = 3; SET foo; foo //= 2; foo %]" => "2" 668s ok 1640 - Line 837 "[% 5 // 6 %]" => "5" 668s ok 1641 - Line 838 "[% foo // 6 %]" => "6" 668s ok 1642 - Line 839 "[% foo // 6 %]" => "6" 668s ok 1643 - Line 840 "[% foo // 6 %]" => "" 668s ok 1644 - Line 841 "[% foo // 6 %]" => "bar" 668s ok 1645 - Line 843 "[% foo err 6 %]" => "6" 668s ok 1646 - Line 844 "[% foo ERR 6 %]" => "6" 668s ### regex ########################################### engine_option (compile_perl) 668s ok 1647 - Line 850 "[% 'foo'.match(/foo/) ? 1 : 0 %]" => "1" 668s ok 1648 - Line 851 "[% 'foo'.match(/foo) ? 1 : 0 %]" => "" 668s ok 1649 - Line 852 "[% 'foo'.match(/fo o/x) ? 1 : 0 %]" => "1" 668s ok 1650 - Line 853 "[% 'foo'.match(/Foo/i) ? 1 : 0 %]" => "1" 668s ok 1651 - Line 854 "[% 'f 668s # o'.match(/f.o/s) ? 1 : 0 %]" => "1" 668s ok 1652 - Line 855 "[% ' 668s # foo'.match(/^foo/m) ? 1 : 0 %]" => "1" 668s ok 1653 - Line 856 "[% 'foo'.match(/foo/e) ? 1 : 0 %]" => "" 668s ok 1654 - Line 857 "[% 'foo'.match(/foo/g) ? 1 : 0 %]" => "" 668s ok 1655 - Line 858 "[% 'foo'.match(/foo) ? 1 : 0 %]" => "" 668s ok 1656 - Line 859 "[% 'foo'.match(/foo**/) ? 1 : 0 %]" => "" 668s ok 1657 - Line 860 "[% 'fo/o'.match(/fo\/o/) ? 1 : 0 %]" => "1" 668s ok 1658 - Line 861 "[% 'foobar'.match(/(f\w\w)/).0 %]" => "foo" 668s ### BLOCK / PROCESS / INCLUDE / WRAPPER ############# engine_option (compile_perl) 668s ok 1659 - Line 867 "[% PROCESS foo %]one" => "" 668s ok 1660 - Line 868 "[% BLOCK foo %]one" => "" 668s ok 1661 - Line 869 "[% BLOCK foo %][% END %]one" => "one" 668s ok 1662 - Line 870 "[% BLOCK %][% END %]one" => "one" 668s ok 1663 - Line 871 "[% BLOCK foo %]hi there[% END %]one" => "one" 668s ok 1664 - Line 872 "[% BLOCK foo %][% BLOCK foo %][% END %][% END %]" => "" 668s ok 1665 - Line 873 "[% BLOCK foo %]hi there[% END %][% PROCESS foo %]" => "hi there" 668s ok 1666 - Line 874 "[% PROCESS foo %][% BLOCK foo %]hi there[% END %]" => "hi there" 668s ok 1667 - Line 875 "[% BLOCK foo %]hi there[% END %][% PROCESS foo foo %]" => "hi therehi there" 668s ok 1668 - Line 876 "[% BLOCK foo %]hi there[% END %][% PROCESS foo, foo %]" => "hi therehi there" 668s ok 1669 - Line 877 "[% BLOCK foo %]hi there[% END %][% PROCESS foo + foo %]" => "hi therehi there" 668s ok 1670 - Line 878 "[% BLOCK foo %]hi [% one %] there[% END %][% PROCESS foo %]" => "hi ONE there" 668s ok 1671 - Line 879 "[% BLOCK foo %]hi [% IF 1 %]Yes[% END %] there[% END %]<<[% PROCESS foo %]>>" => "<>" 668s ok 1672 - Line 880 "[% BLOCK foo %]hi [% one %] there[% END %][% PROCESS foo one = 'two' %]" => "hi two there" 668s ok 1673 - Line 881 "[% BLOCK foo %]hi [% one.two %] there[% END %][% PROCESS foo one.two = 'two' %]" => "hi two there" 668s ok 1674 - Line 882 "[% BLOCK foo %]hi [% one.two %] there[% END %][% PROCESS foo + foo one.two = 'two' %]" => "hi two therehi two there" 668s ok 1675 - Line 883 "[% BLOCK foo %][% BLOCK bar %]hi [% one %] there[% END %][% END %][% PROCESS foo/bar one => 'two' %]" => "hi two there" 668s ok 1676 - Line 885 "[% BLOCK b %]Ta-Da[% END %][% self = {a => 'b'} %][% PROCESS $self.a self = 'blah' %]" => "Ta-Da" 668s ok 1677 - Line 886 "[% BLOCK b %]Ta-Da[% END %][% self = {a => 'b'} %][% INCLUDE $self.a self = 'blah' %]" => "Ta-Da" 668s ok 1678 - Line 887 "[% BLOCK b %]Ta-Da[% END %][% self = 'b' %][% PROCESS $self self = 'blah'; self %]" => "Ta-Dablah" 668s ok 1679 - Line 888 "[% BLOCK b %]Ta-Da[% END %][% self = 'b' %][% INCLUDE $self self = 'blah'; self %]" => "Ta-Dab" 668s ok 1680 - Line 890 "[% BLOCK foo %]hi [% one %] there[% END %][% PROCESS foo one = 'two' %][% one %]" => "hi two theretwo" 668s ok 1681 - Line 891 "[% BLOCK foo %]hi [% one %] there[% END %][% INCLUDE foo one = 'two' %][% one %]" => "hi two there" 668s ok 1682 - Line 893 "[% BLOCK foo %]FOO[% IF ! a ; a = 1; PROCESS bar; END %][% END %][% BLOCK bar %]BAR[% PROCESS foo %][% END %][% PROCESS foo %]" => "" 668s ok 1683 - Line 895 "[% BLOCK foo %]FOO[% IF ! a ; a = 1; PROCESS bar; END %][% END %][% BLOCK bar %]BAR[% PROCESS foo %][% END %][% PROCESS foo %]" => "FOOBARFOO" 668s ok 1684 - Line 897 "[% BLOCK foo %]([% content %])[% END %][% WRAPPER foo %]hi there[% END %]" => "(hi there)" 668s ok 1685 - Line 898 "[% BLOCK foo %]([% one = 1; content %])[% END %][% WRAPPER foo %]hi there[% END %][% one %]" => "(hi there)won" 668s ok 1686 - Line 900 "[% a = 23; PROCESS $foo %]" => "bar 23 baz" 668s ### IF / UNLESS / ELSIF / ELSE ###################### engine_option (compile_perl) 668s ok 1687 - Line 905 "[% IF 1 %]Yes[% END %]" => "Yes" 668s ok 1688 - Line 906 "[% IF 0 %]Yes[% END %]" => "" 668s ok 1689 - Line 907 "[% IF 0 %]Yes[% ELSE %]No[% END %]" => "No" 668s ok 1690 - Line 908 "[% IF 0 %]Yes[% ELSIF 1 %]No[% END %]" => "No" 668s ok 1691 - Line 909 "[% IF 0 %]Yes[% ELSIF 0 %]No[% END %]" => "" 668s ok 1692 - Line 910 "[% IF 0 %]Yes[% ELSIF 0 %]No[% ELSE %]hmm[% END %]" => "hmm" 668s ok 1693 - Line 912 "[% UNLESS 1 %]Yes[% END %]" => "" 668s ok 1694 - Line 913 "[% UNLESS 0 %]Yes[% END %]" => "Yes" 668s ok 1695 - Line 914 "[% UNLESS 0 %]Yes[% ELSE %]No[% END %]" => "Yes" 668s ok 1696 - Line 915 "[% UNLESS 1 %]Yes[% ELSIF 1 %]No[% END %]" => "No" 668s ok 1697 - Line 916 "[% UNLESS 1 %]Yes[% ELSIF 0 %]No[% END %]" => "" 668s ok 1698 - Line 917 "[% UNLESS 1 %]Yes[% ELSIF 0 %]No[% ELSE %]hmm[% END %]" => "hmm" 668s ### comments ######################################## engine_option (compile_perl) 668s ok 1699 - Line 922 "[%\# one %]f" => "f" 668s ok 1700 - Line 923 "[%\# 668s # one %]f" => "f" 668s ok 1701 - Line 924 "[%-\# 668s # one %]f" => "f" 668s ok 1702 - Line 925 "[% \# 668s # one %]f" => "ONEf" 668s ok 1703 - Line 926 "[% \# one %] 668s # one %]f" => " 668s # one %]f" 668s ok 1704 - Line 928 "[%\# BLOCK one %]" => "" 668s ok 1705 - Line 929 "[%\# BLOCK one %]two" => "two" 668s ok 1706 - Line 930 "[%\# BLOCK one %]two[% END %]" => "" 668s ok 1707 - Line 931 "[%\# BLOCK one %]two[% END %]three" => "" 668s ok 1708 - Line 932 "[% %]" => "" 668s ok 1709 - Line 933 "[% 668s # # Some comment 668s # CALL 1 -%] 668s # foo" => "foo" 668s ### FOREACH / NEXT / LAST ########################### engine_option (compile_perl) 668s ok 1710 - Line 941 "[% FOREACH foo %]" => "" 668s ok 1711 - Line 942 "[% FOREACH foo %][% END %]" => "" 668s ok 1712 - Line 943 "[% FOREACH foo %]bar[% END %]" => "" 668s ok 1713 - Line 944 "[% FOREACH foo %]bar[% END %]" => "bar" 668s ok 1714 - Line 945 "[% FOREACH f IN foo %]bar[% f %][% END %]" => "bar1bar2" 668s ok 1715 - Line 946 "[% FOREACH f = foo %]bar[% f %][% END %]" => "bar1bar2" 668s ok 1716 - Line 947 "[% FOREACH f = [1,2] %]bar[% f %][% END %]" => "bar1bar2" 668s ok 1717 - Line 948 "[% FOREACH f = [1..3] %]bar[% f %][% END %]" => "bar1bar2bar3" 668s ok 1718 - Line 949 "[% FOREACH f = [{a=>'A'},{a=>'B'}] %]bar[% f.a %][% END %]" => "barAbarB" 668s ok 1719 - Line 950 "[% FOREACH [{a=>'A'},{a=>'B'}] %]bar[% a %][% END %]" => "barAbarB" 668s ok 1720 - Line 951 "[% FOREACH [{a=>'A'},{a=>'B'}] %]bar[% a %][% END %][% a %]" => "barAbarB" 668s ok 1721 - Line 952 "[% FOREACH f = [1..3] %][% loop.count %]/[% loop.size %] [% END %]" => "1/3 2/3 3/3 " 668s ok 1722 - Line 953 "[% FOREACH f = [1..3] %][% IF loop.first %][% f %][% END %][% END %]" => "1" 668s ok 1723 - Line 954 "[% FOREACH f = [1..3] %][% IF loop.last %][% f %][% END %][% END %]" => "3" 668s ok 1724 - Line 955 "[% FOREACH f = [1..3] %][% IF loop.first %][% NEXT %][% END %][% f %][% END %]" => "23" 668s ok 1725 - Line 956 "[% FOREACH f = [1..3] %][% IF loop.first %][% LAST %][% END %][% f %][% END %]" => "" 668s ok 1726 - Line 957 "[% FOREACH f = [1..3] %][% f %][% IF loop.first %][% NEXT %][% END %][% END %]" => "123" 668s ok 1727 - Line 958 "[% FOREACH f = [1..3] %][% f %][% IF loop.first %][% LAST %][% END %][% END %]" => "1" 668s ok 1728 - Line 959 "[% loop.odd FOREACH [1..5] %]" => "10101" 668s ok 1729 - Line 960 "[% loop.even FOREACH [1..5] %]" => "01010" 668s ok 1730 - Line 961 "[% loop.parity FOREACH [1..5] %]" => "oddevenoddevenodd" 668s ok 1731 - Line 963 "[% a = ["Red", "Blue"] ; FOR [0..3] ; a.${ loop.index % a.size } ; END %]" => "RedBlueRedBlue" 668s ok 1732 - Line 968 "[% foo = 1 %][% FOREACH [1..10] %][% foo %][% foo = 2 %][% END %]" => "1222222222" 668s ok 1733 - Line 969 "[% f = 1 %][% FOREACH i = [1..10] %][% i %][% f = 2 %][% END %][% f %]" => "123456789102" 668s ok 1734 - Line 970 "[% f = 1 %][% FOREACH [1..10] %][% f = 2 %][% END %][% f %]" => "1" 668s ok 1735 - Line 971 "[% f = 1 %][% FOREACH f = [1..10] %][% f %][% END %][% f %]" => "1234567891010" 668s ok 1736 - Line 972 "[% FOREACH [1] %][% SET a = 1 %][% END %][% a %]" => "" 668s ok 1737 - Line 973 "[% a %][% FOREACH [1] %][% SET a = 1 %][% END %][% a %]" => "" 668s ok 1738 - Line 974 "[% a = 2 %][% FOREACH [1] %][% SET a = 1 %][% END %][% a %]" => "2" 668s ok 1739 - Line 975 "[% a = 2 %][% FOREACH [1] %][% a = 1 %][% END %][% a %]" => "2" 668s ok 1740 - Line 976 "[% a = 2 %][% FOREACH i = [1] %][% a = 1 %][% END %][% a %]" => "1" 668s ok 1741 - Line 977 "[% FOREACH i = [1] %][% SET a = 1 %][% END %][% a %]" => "1" 668s ok 1742 - Line 978 "[% f.b = 1 %][% FOREACH f.b = [1..10] %][% f.b %][% END %][% f.b %]" => "1234567891010" 668s ok 1743 - Line 979 "[% a = 1 %][% FOREACH [{a=>'A'},{a=>'B'}] %]bar[% a %][% END %][% a %]" => "barAbarB1" 668s ok 1744 - Line 980 "[% FOREACH [1..3] %][% loop.size %][% END %][% loop.size %]" => "333" 668s ok 1745 - Line 981 "[% FOREACH i = [1..3] %][% loop.size %][% END %][% loop.size %]" => "333" 668s ok 1746 - Line 984 "[% FOREACH f = [1..3]; 1; END %]" => "111" 668s ok 1747 - Line 985 "[% FOREACH f = [1..3]; f; END %]" => "123" 668s ok 1748 - Line 986 "[% FOREACH f = [1..3]; "$f"; END %]" => "123" 668s ok 1749 - Line 987 "[% FOREACH f = [1..3]; f + 1; END %]" => "234" 668s ok 1750 - Line 988 "[% FOREACH f IN [2,3,4]; FOREACH g IN [6,7,8]; f;g;", "; END; END %]" => "26, 27, 28, 36, 37, 38, 46, 47, 48, " 668s ok 1751 - Line 999 "[% FOREACH i IN foo; i.n; END %]" => "123" 668s ok 1752 - Line 1000 "[% FOREACH i IN foo; i.n; END %]" => "1" 668s ok 1753 - Line 1001 "[% FOREACH i IN foo; i.n; END %]" => "123" 668s ok 1754 - Line 1002 "[% FOREACH i IN foo; i.n; END %]" => "1" 668s ok 1755 - Line 1004 "[% FOREACH i IN foo; i.n; END %]" => "123" 668s ok 1756 - Line 1005 "[% FOREACH i IN foo; i.n; END %]" => "1" 668s ok 1757 - Line 1006 "[% FOREACH i IN foo; i.n; END %]" => "123" 668s ok 1758 - Line 1007 "[% FOREACH i IN foo; i.n; END %]" => "1" 668s ### LOOP ############################################ engine_option (compile_perl) 668s ok 1759 - Line 1012 "[% var = [{key => 'a'}, {key => 'b'}] -%] 668s # [% LOOP var -%] 668s # ([% key %]) 668s # [% END %]" => " (a) 668s # (b) 668s # " 668s ok 1760 - Line 1021 "[% var = [{key => 'a'}, {key => 'b'}, {key => 'c'}] -%] 668s # [% LOOP var -%] 668s # ([% key; '|'; __first__; '|'; __last__; '|'; __inner__; '|'; __odd__ %]) 668s # [% END -%]" => "(a|1|0|0|1) 668s # (b|0|0|1|0) 668s # (c|0|1|0|1) 668s # " 668s ### WHILE ########################################### engine_option (compile_perl) 668s ok 1761 - Line 1033 "[% WHILE foo %]" => "" 668s ok 1762 - Line 1034 "[% WHILE foo %][% END %]" => "" 668s ok 1763 - Line 1035 "[% WHILE (foo = foo - 1) %][% END %]" => "" 668s ok 1764 - Line 1036 "[% WHILE (foo = foo - 1) %][% foo %][% END %]" => "21" 668s ok 1765 - Line 1037 "[% WHILE foo %][% foo %][% foo = foo - 1 %][% END %]" => "321" 668s ok 1766 - Line 1039 "[% WHILE 1 %][% foo %][% foo = foo - 1 %][% LAST IF foo == 1 %][% END %]" => "32" 668s ok 1767 - Line 1040 "[% f = 10; WHILE f; f = f - 1 ; f ; END %]" => "9876543210" 668s ok 1768 - Line 1041 "[% f = 10; WHILE f; f = f - 1 ; f ; END ; f %]" => "98765432100" 668s ok 1769 - Line 1042 "[% f = 10; a = 2; WHILE f; f = f - 1 ; f ; a=3; END ; a%]" => "98765432103" 668s ok 1770 - Line 1044 "[% f = 10; WHILE (g=f); f = f - 1 ; f ; END %]" => "9876543210" 668s ok 1771 - Line 1045 "[% f = 10; WHILE (g=f); f = f - 1 ; f ; END ; f %]" => "98765432100" 668s ok 1772 - Line 1046 "[% f = 10; a = 2; WHILE (g=f); f = f - 1 ; f ; a=3; END ; a%]" => "98765432103" 668s ok 1773 - Line 1047 "[% f = 10; a = 2; WHILE (a=f); f = f - 1 ; f ; a=3; END ; a%]" => "98765432100" 668s ### STOP / RETURN / CLEAR ########################### engine_option (compile_perl) 668s ok 1774 - Line 1052 "[% STOP %]" => "" 668s ok 1775 - Line 1053 "One[% STOP %]Two" => "One" 668s ok 1776 - Line 1054 "[% BLOCK foo %]One[% STOP %]Two[% END %]First[% PROCESS foo %]Last" => "FirstOne" 668s ok 1777 - Line 1055 "[% FOREACH f = [1..3] %][% f %][% IF loop.first %][% STOP %][% END %][% END %]" => "1" 668s ok 1778 - Line 1056 "[% FOREACH f = [1..3] %][% IF loop.first %][% STOP %][% END %][% f %][% END %]" => "" 668s ok 1779 - Line 1058 "[% RETURN %]" => "" 668s ok 1780 - Line 1059 "One[% RETURN %]Two" => "One" 668s ok 1781 - Line 1060 "[% BLOCK foo %]One[% RETURN %]Two[% END %]First[% PROCESS foo %]Last" => "FirstOneLast" 668s ok 1782 - Line 1061 "[% FOREACH f = [1..3] %][% f %][% IF loop.first %][% RETURN %][% END %][% END %]" => "1" 668s ok 1783 - Line 1062 "[% FOREACH f = [1..3] %][% IF loop.first %][% RETURN %][% END %][% f %][% END %]" => "" 668s ok 1784 - Line 1064 "[% CLEAR %]" => "" 668s ok 1785 - Line 1065 "One[% CLEAR %]Two" => "Two" 668s ok 1786 - Line 1066 "[% BLOCK foo %]One[% CLEAR %]Two[% END %]First[% PROCESS foo %]Last" => "FirstTwoLast" 668s ok 1787 - Line 1067 "[% FOREACH f = [1..3] %][% f %][% IF loop.first %][% CLEAR %][% END %][% END %]" => "23" 668s ok 1788 - Line 1068 "[% FOREACH f = [1..3] %][% IF loop.first %][% CLEAR %][% END %][% f %][% END %]" => "123" 668s ok 1789 - Line 1069 "[% FOREACH f = [1..3] %][% f %][% IF loop.last %][% CLEAR %][% END %][% END %]" => "" 668s ok 1790 - Line 1070 "[% FOREACH f = [1..3] %][% IF loop.last %][% CLEAR %][% END %][% f %][% END %]" => "3" 668s ### post opererative directives ##################### engine_option (compile_perl) 668s ok 1791 - Line 1075 "[% GET foo IF 1 %]" => "1" 668s ok 1792 - Line 1076 "[% f FOREACH f = [1..3] %]" => "123" 668s ok 1793 - Line 1078 "2[% GET foo IF 1 IF 2 %]" => "21" 668s ok 1794 - Line 1079 "2[% GET foo IF 1 IF 0 %]" => "2" 668s ok 1795 - Line 1080 "[% f FOREACH f = [1..3] IF 1 %]" => "123" 668s ok 1796 - Line 1081 "[% f FOREACH f = [1..3] IF 0 %]" => "" 668s ok 1797 - Line 1082 "[% f FOREACH f = g FOREACH g = [1..3] %]" => "123" 668s ok 1798 - Line 1083 "[% f FOREACH f = g.a FOREACH g = [{a=>1}, {a=>2}, {a=>3}] %]" => "123" 668s ok 1799 - Line 1084 "[% f FOREACH f = a FOREACH [{a=>1}, {a=>2}, {a=>3}] %]" => "123" 668s ok 1800 - Line 1086 "[% FOREACH f = [1..3] IF 1 %]([% f %])[% END %]" => "(1)(2)(3)" 668s ok 1801 - Line 1087 "[% FOREACH f = [1..3] IF 0 %]([% f %])[% END %]" => "" 668s ok 1802 - Line 1089 "[% BLOCK bar %][% foo %][% foo = foo - 1 %][% END %][% PROCESS bar WHILE foo %]" => "321" 668s ### capturing ####################################### engine_option (compile_perl) 668s ok 1803 - Line 1094 "[% foo = BLOCK %]Hi[% END %][% foo %][% foo %]" => "HiHi" 668s ok 1804 - Line 1095 "[% BLOCK foo %]Hi[% END %][% bar = PROCESS foo %]-[% bar %]" => "-Hi" 668s ok 1805 - Line 1096 "[% foo = IF 1 %]Hi[% END %][% foo %]" => "Hi" 668s ok 1806 - Line 1097 "[% BLOCK foo %]([% i %])[% END %][% wow = PROCESS foo i='bar' %][% wow %]" => "(bar)" 668s ok 1807 - Line 1098 "[% BLOCK foo %]([% i %])[% END %][% SET wow = PROCESS foo i='bar' %][% wow %]" => "(bar)" 668s ### TAGS ############################################ engine_option (compile_perl) 668s ok 1808 - Line 1103 "[% TAGS asp %]<% 1 + 2 %>" => "3" 668s ok 1809 - Line 1104 "[% TAGS default %][% 1 + 2 %]" => "3" 668s ok 1810 - Line 1105 "[% TAGS html %]" => "3" 668s ok 1811 - Line 1106 "[% TAGS mason %]<% 1 + 2 >" => "3" 668s ok 1812 - Line 1107 "[% TAGS metatext %]%% 1 + 2 %%" => "3" 668s ok 1813 - Line 1108 "[% TAGS php %]" => "3" 668s ok 1814 - Line 1109 "[% TAGS star %][* 1 + 2 *]" => "3" 668s ok 1815 - Line 1110 "[% TAGS template %][% 1 + 2 %]" => "3" 668s ok 1816 - Line 1111 "[% TAGS template1 %][% 1 + 2 %]" => "3" 668s ok 1817 - Line 1112 "[% TAGS template1 %]%% 1 + 2 %%" => "3" 668s ok 1818 - Line 1113 "[% TAGS tt2 %][% 1 + 2 %]" => "3" 668s ok 1819 - Line 1115 "[% TAGS html %] " => "3" 668s ok 1820 - Line 1116 "[% TAGS html %]" => "3" 668s ok 1821 - Line 1117 "[% TAGS html %] 668s # " => "3" 668s ok 1822 - Line 1118 "[% BLOCK foo %][% TAGS html %] " => "3 3" 668s ok 1823 - Line 1119 "[% BLOCK foo %][% TAGS html %][% END %][% PROCESS foo %] [% 1 + 2 %]" => "" 668s ok 1824 - Line 1121 "[% TAGS %]" => "3" 668s ok 1825 - Line 1123 "[% TAGS [<] [>] %][<] 1 + 2 [>]" => "3" 668s ok 1826 - Line 1124 "[% TAGS '[<]' '[>]' %][<] 1 + 2 [>]" => "3" 668s ok 1827 - Line 1125 "[% TAGS /[<]/ /[>]/ %]< 1 + 2 >" => "3" 668s ok 1828 - Line 1126 "[% TAGS ** ** %]** 1 + 2 **" => "3" 668s ok 1829 - Line 1127 "[% TAGS '**' '**' %]** 1 + 2 **" => "3" 668s ok 1830 - Line 1128 "[% TAGS /**/ /**/ %]** 1 + 2 **" => "" 668s ok 1831 - Line 1130 "[% TAGS html -->" => "3" 668s ok 1832 - Line 1131 "[% TAGS html ; 7 -->" => "73" 668s ok 1833 - Line 1132 "[% TAGS html ; 7 %]" => "" 668s ### SWITCH / CASE ################################### engine_option (compile_perl) 668s ok 1834 - Line 1137 "[% SWITCH 1 %][% END %]hi" => "hi" 668s ok 1835 - Line 1138 "[% SWITCH 1 %][% CASE %]bar[% END %]hi" => "barhi" 668s ok 1836 - Line 1139 "[% SWITCH 1 %]Pre[% CASE %]bar[% END %]hi" => "barhi" 668s ok 1837 - Line 1140 "[% SWITCH 1 %][% CASE DEFAULT %]bar[% END %]hi" => "barhi" 668s ok 1838 - Line 1141 "[% SWITCH 1 %][% CASE 0 %]bar[% END %]hi" => "hi" 668s ok 1839 - Line 1142 "[% SWITCH 1 %][% CASE 1 %]bar[% END %]hi" => "barhi" 668s ok 1840 - Line 1143 "[% SWITCH 1 %][% CASE foo %][% CASE 1 %]bar[% END %]hi" => "barhi" 668s ok 1841 - Line 1144 "[% SWITCH 1 %][% CASE [1..10] %]bar[% END %]hi" => "barhi" 668s ok 1842 - Line 1145 "[% SWITCH 11 %][% CASE [1..10] %]bar[% END %]hi" => "hi" 668s ok 1843 - Line 1147 "[% SWITCH 1.0 %][% CASE [1..10] %]bar[% END %]hi" => "barhi" 668s ### TRY / THROW / CATCH / FINAL ##################### engine_option (compile_perl) 668s ok 1844 - Line 1152 "[% TRY %][% END %]hi" => "hi" 668s ok 1845 - Line 1153 "[% TRY %]Foo[% END %]hi" => "Foohi" 668s ok 1846 - Line 1154 "[% TRY %]Foo[% THROW foo 'for fun' %]bar[% END %]hi" => "" 668s ok 1847 - Line 1155 "[% TRY %]Foo[% THROW foo 'for fun' %]bar[% CATCH %][% END %]hi" => "Foohi" 668s ok 1848 - Line 1156 "[% TRY %]Foo[% THROW foo 'for fun' %]bar[% CATCH %]there[% END %]hi" => "Footherehi" 668s ok 1849 - Line 1157 "[% TRY %]Foo[% THROW foo 'for fun' %]bar[% CATCH foo %]there[% END %]hi" => "Footherehi" 668s ok 1850 - Line 1158 "[% TRY %]Foo[% TRY %]Foo[% THROW foo 'for fun' %][% CATCH bar %]one[% END %][% CATCH %]two[% END %]hi" => "FooFootwohi" 668s ok 1851 - Line 1159 "[% TRY %]Foo[% TRY %]Foo[% THROW foo 'for fun' %][% CATCH bar %]one[% END %][% CATCH s %]two[% END %]hi" => "" 668s ok 1852 - Line 1160 "[% TRY %]Foo[% THROW foo.bar 'for fun' %][% CATCH foo %]one[% CATCH foo.bar %]two[% END %]hi" => "Footwohi" 668s ok 1853 - Line 1162 "[% TRY %]Foo[% FINAL %]Bar[% END %]hi" => "FooBarhi" 668s ok 1854 - Line 1163 "[% TRY %]Foo[% THROW foo %][% FINAL %]Bar[% CATCH %]one[% END %]hi" => "" 668s ok 1855 - Line 1164 "[% TRY %]Foo[% THROW foo %][% CATCH %]one[% FINAL %]Bar[% END %]hi" => "FoooneBarhi" 668s ok 1856 - Line 1165 "[% TRY %]Foo[% THROW foo %][% CATCH bar %]one[% FINAL %]Bar[% END %]hi" => "" 668s ok 1857 - Line 1167 "[% TRY %][% THROW foo 'bar' %][% CATCH %][% error %][% END %]" => "foo error - bar" 668s ok 1858 - Line 1168 "[% TRY %][% THROW foo 'bar' %][% CATCH %][% error.type %][% END %]" => "foo" 668s ok 1859 - Line 1169 "[% TRY %][% THROW foo 'bar' %][% CATCH %][% error.info %][% END %]" => "bar" 668s ok 1860 - Line 1170 "[% TRY %][% THROW foo %][% CATCH %][% error.type %][% END %]" => "undef" 668s ok 1861 - Line 1171 "[% TRY %][% THROW foo %][% CATCH %][% error.info %][% END %]" => "foo" 668s ### named args ###################################### engine_option (compile_perl) 668s ok 1862 - Line 1177 "[% foo(bar = 'one', baz = 'two') %]" => "baronebaztwo" 668s ok 1863 - Line 1179 "[%bar='ONE'%][% foo($bar = 'one') %]" => "ONEone" 668s ### USE ############################################# engine_option (compile_perl) 668s ok 1864 - Line 1185 "[% USE son_of_gun_that_does_not_exist %]one" => "" 668s ok 1865 - Line 1186 "[% USE Iterator([3..6]) %]hey[% CALL Iterator.get_first; Iterator.size %]" => "hey4" 668s ok 1866 - Line 1187 "[% USE FooTest %]one" => "one" 668s ok 1867 - Line 1188 "[% USE FooTest2 %]one" => "one" 668s ok 1868 - Line 1189 "[% USE FooTest(bar = 'baz') %]one[% FooTest.bar %]" => "onebarbaz" 668s ok 1869 - Line 1190 "[% USE FooTest2(bar = 'baz') %]one[% FooTest2.bar %]" => "onebarbaz" 668s ok 1870 - Line 1191 "[% USE FooTest(bar = 'baz') %]one[% FooTest.bar %]" => "onebarbaz" 668s ok 1871 - Line 1192 "[% USE d = FooTest(bar = 'baz') %]one[% d.bar %]" => "onebarbaz" 668s ok 1872 - Line 1193 "[% USE d.d = FooTest(bar = 'baz') %]one[% d.d.bar %]" => "" 668s ok 1873 - Line 1194 "[% USE FooTest(somerand = 8) %]one[% FooTest.somerand %]" => "one8" 668s ok 1874 - Line 1196 "[% USE a(bar = 'baz') %]one[% a.seven %]" => "" 668s ok 1875 - Line 1197 "[% USE a(bar = 'baz') %]one[% a.seven %]" => "one7" 668s ok 1876 - Line 1200 "[% USE FooTest %]three" => "three" 668s ### MACRO ########################################### engine_option (compile_perl) 668s ok 1877 - Line 1205 "[% MACRO foo PROCESS bar %][% BLOCK bar %]Hi[% END %][% foo %]" => "Hi" 668s ok 1878 - Line 1206 "[% MACRO foo BLOCK %]Hi[% END %][% foo %]" => "Hi" 668s ok 1879 - Line 1207 "[% MACRO foo BLOCK %]Hi[% END %][% foo %]" => "Hi" 668s ok 1880 - Line 1208 "[% MACRO foo(n) BLOCK %]Hi[% n %][% END %][% foo(2) %]" => "Hi2" 668s ok 1881 - Line 1209 "[%n=1%][% MACRO foo(n) BLOCK %]Hi[% n %][% END %][% foo(2) %][%n%]" => "Hi21" 668s ok 1882 - Line 1210 "[%n=1%][% MACRO foo BLOCK %]Hi[% n = 2%][% END %][% foo %][%n%]" => "Hi1" 668s ok 1883 - Line 1211 "[% MACRO foo(n) FOREACH i=[1..n] %][% i %][% END %][% foo(3) %]" => "123" 668s ok 1884 - Line 1213 "[% MACRO f BLOCK %]>[% TRY; f ; CATCH ; "caught" ; END %][% END %][% f %]" => ">>>caught" 668s ok 1885 - Line 1216 "[% foo = ->{ 'Hi' } %][% foo %]" => "Hi" 668s ok 1886 - Line 1217 "[% foo = ->{ 'Hi'; this } %][% foo(2) %]" => "Hi2" 668s ok 1887 - Line 1218 "[% foo = ->(n){ 'Hi'; n } %][% foo(2) %]" => "Hi2" 668s ok 1888 - Line 1219 "[%n=1%][% foo = ->(n) { 'Hi' ; n } %][% foo(2) %][%n%]" => "Hi21" 668s ok 1889 - Line 1220 "[% foo = ->(n) { FOREACH i=[1..n]; i ; END } %][% foo(3) %]" => "123" 668s ### DEBUG ########################################### engine_option (compile_perl) 668s ok 1890 - Line 1226 " 668s # 668s # [% one %]" => " 668s # 668s # 668s # ## input text line 3 : [% one %] ## 668s # ONE" 668s ok 1891 - Line 1227 "[% one %]" => " 668s # ## input text line 1 : [% one %] ## 668s # ONE" 668s ok 1892 - Line 1228 "[% one %] 668s # 668s # " => "(1)ONE 668s # 668s # " 668s ok 1893 - Line 1229 "1 668s # 2 668s # 3[% one %]" => "1 668s # 2 668s # 3(3)ONE" 668s ok 1894 - Line 1230 "[% one; 668s # one %]" => "(1)ONE(2)ONE" 668s ok 1895 - Line 1232 "[% DEBUG format '($line)' %][% one %]" => " 668s # ## input text line 1 : [% DEBUG format '($line)' %] ## 668s # (1)ONE" 668s ok 1896 - Line 1234 "[% TRY %][% abc %][% CATCH %][% error %][% END %]" => "undef error - abc is undefined 668s # " 668s ok 1897 - Line 1236 "[% TRY %][% abc.def %][% CATCH %][% error %][% END %]" => "undef error - abc.def is undefined 668s # " 668s ### constants ####################################### engine_option (compile_perl) 668s ok 1898 - Line 1255 "[% constants.harry %]" => "do_this_once" 668s ok 1899 - Line 1256 "[% constants.harry.length %]" => "12" 668s ok 1900 - Line 1257 "[% SET constants.something = 1 %][% constants.something %]one" => "1one" 668s ok 1901 - Line 1258 "[% SET constants.harry = 1 %][% constants.harry %]one" => "do_this_onceone" 668s ok 1902 - Line 1259 "[% constants.foo.${constants.bang} %]" => "57" 668s ok 1903 - Line 1260 "[% constants.foo.$bam.${constants.bing} %]" => "42" 668s ok 1904 - Line 1261 "[% bam = 'somethingelse' %][% constants.foo.$bam.${constants.bing} %]" => "42" 668s ok 1905 - Line 1263 "[% constants.${"harry"} %]" => "do_this_once" 668s ok 1906 - Line 1264 "[% ${"constants"}.harry %]" => "foo" 668s ok 1907 - Line 1266 "[% ${"con${"s"}tants"}.harry %]" => "foo" 668s ### CONTEXT ######################################### engine_option (compile_perl) 668s ok 1908 - Line 1272 "[% CALL cctx.call_me %][% cctx.last_context %]" => "list" 668s ok 1909 - Line 1273 "[% cctx.array %]" => "ARRAY(0x2aa29daa348)" 668s ok 1910 - Line 1274 "[% cctx.array2 %]" => "4" 668s ok 1911 - Line 1275 "[% cctx.list %]" => "ARRAY(0x2aa29dcaa38)" 668s ok 1912 - Line 1276 "[% cctx.scalar %]" => "8" 668s ok 1913 - Line 1277 "[% cctx.bang %]" => "bing" 668s ok 1914 - Line 1281 "[% CALL cctx.call_me %][% cctx.last_context %]" => "list" 668s ok 1915 - Line 1282 "[% CALL @(cctx.call_me) %][% cctx.last_context %]" => "list" 668s ok 1916 - Line 1283 "[% CALL $(cctx.call_me) %][% cctx.last_context %]" => "scalar" 668s ok 1917 - Line 1284 "[% CALL call_cctx %][% cctx.last_context %]" => "list" 668s ok 1918 - Line 1285 "[% CALL @(call_cctx) %][% cctx.last_context %]" => "list" 668s ok 1919 - Line 1286 "[% CALL $(call_cctx) %][% cctx.last_context %]" => "scalar" 668s ok 1920 - Line 1287 "[% CALL cctx.call_me %][% cctx.last_context %]" => "list" 668s ok 1921 - Line 1288 "[% CALL cctx.call_me %][% cctx.last_context.0 %]" => "list" 668s ok 1922 - Line 1289 "[% CALL cctx.call_me %][% cctx.last_context %]" => "scalar" 668s ok 1923 - Line 1290 "[% cctx.array %]" => "ARRAY(0x2aa29de5780)" 668s ok 1924 - Line 1291 "[% @(cctx.array) %]" => "ARRAY(0x2aa29dcab58)" 668s ok 1925 - Line 1292 "[% $(cctx.array) %]" => "3" 668s ok 1926 - Line 1293 "[% cctx.array2 %]" => "4" 668s ok 1927 - Line 1294 "[% @(cctx.array2) %]" => "ARRAY(0x2aa29de5ea0)" 668s ok 1928 - Line 1295 "[% $(cctx.array2) %]" => "1" 668s ok 1929 - Line 1296 "[% cctx.list %]" => "ARRAY(0x2aa29dcffa8)" 668s ok 1930 - Line 1297 "[% @(cctx.list) %]" => "ARRAY(0x2aa29de5f90)" 668s ok 1931 - Line 1298 "[% $(cctx.list) %]" => "7" 668s ok 1932 - Line 1299 "[% cctx.scalar %]" => "8" 668s ok 1933 - Line 1300 "[% @(cctx.scalar) %]" => "ARRAY(0x2aa29dcce60)" 668s ok 1934 - Line 1301 "[% $(cctx.scalar) %]" => "8" 668s ok 1935 - Line 1302 "[% cctx.bang %] ~" => "bing ~" 668s ok 1936 - Line 1303 "[% @(cctx.bang) %] ~" => "bing ~" 668s ok 1937 - Line 1304 "[% $(cctx.bang) %] ~" => "bing ~" 668s ok 1938 - Line 1306 "[% CONFIG CALL_CONTEXT => "list"; CALL cctx.call_me; CONFIG CALL_CONTEXT => "smart" %][% cctx.last_context %]" => "list" 668s ok 1939 - Line 1308 "[% CONFIG CALL_CONTEXT => "item"; CALL cctx.call_me %][% cctx.last_context %]" => "scalar" 668s ok 1940 - Line 1310 "[% cctx.dataref.0.foo = 7; cctx.dataref.0.foo %]" => "7" 668s ok 1941 - Line 1312 "[% @(cctx.dataref).0.foo = 7; cctx.dataref.foo %]" => "7" 668s ok 1942 - Line 1314 "[% $(cctx.dataref).0.foo = 7; cctx.dataref.0.foo %]" => "7" 668s ok 1943 - Line 1316 "[% CONFIG CALL_CONTEXT => "list"; cctx.dataref.0.foo = 7; CONFIG CALL_CONTEXT => "item"; cctx.dataref.foo %]" => "7" 668s ok 1944 - Line 1321 "[% cctxo.bang = 1 %] ~" => " ~" 668s ok 1945 - Line 1322 "[% cctxo.dataref.foo = 7; cctxo.dataref.foo %]" => "7" 668s ok 1946 - Line 1324 "[% CALL cctxo.call_me %][% cctxo.last_context %]" => "list" 668s ok 1947 - Line 1325 "[% CALL @(cctxo.call_me) %][% cctxo.last_context %]" => "list" 668s ok 1948 - Line 1326 "[% CALL $(cctxo.call_me) %][% cctxo.last_context %]" => "scalar" 668s ok 1949 - Line 1327 "[% CALL call_cctxo %][% cctxo.last_context %]" => "list" 668s ok 1950 - Line 1328 "[% CALL @(call_cctxo) %][% cctxo.last_context %]" => "list" 668s ok 1951 - Line 1329 "[% CALL $(call_cctxo) %][% cctxo.last_context %]" => "scalar" 668s ok 1952 - Line 1330 "[% CALL cctxo.call_me %][% cctxo.last_context %]" => "list" 668s ok 1953 - Line 1331 "[% CALL cctxo.call_me %][% cctxo.last_context.0 %]" => "list" 668s ok 1954 - Line 1332 "[% CALL cctxo.call_me %][% cctxo.last_context %]" => "scalar" 668s ok 1955 - Line 1333 "[% cctxo.array %]" => "ARRAY(0x2aa29dccc38)" 668s ok 1956 - Line 1334 "[% @(cctxo.array) %]" => "ARRAY(0x2aa29de3078)" 668s ok 1957 - Line 1335 "[% $(cctxo.array) %]" => "3" 668s ok 1958 - Line 1336 "[% cctxo.array2 %]" => "4" 668s ok 1959 - Line 1337 "[% @(cctxo.array2) %]" => "ARRAY(0x2aa29dca3a8)" 668s ok 1960 - Line 1338 "[% $(cctxo.array2) %]" => "1" 668s ok 1961 - Line 1339 "[% cctxo.list %]" => "ARRAY(0x2aa29de2fa0)" 668s ok 1962 - Line 1340 "[% @(cctxo.list) %]" => "ARRAY(0x2aa29de5e28)" 668s ok 1963 - Line 1341 "[% $(cctxo.list) %]" => "7" 668s ok 1964 - Line 1342 "[% cctxo.scalar %]" => "8" 668s ok 1965 - Line 1343 "[% @(cctxo.scalar) %]" => "ARRAY(0x2aa29dcc878)" 668s ok 1966 - Line 1344 "[% $(cctxo.scalar) %]" => "8" 668s ok 1967 - Line 1345 "[% cctxo.bang %] ~" => "bing ~" 668s ok 1968 - Line 1348 "[% SET cctxo.call_me = 2 %][% cctxo.last_context %]" => "list2" 668s ok 1969 - Line 1350 "[% CALL @(cctxo.call_me = 3) %][% cctxo.last_context %]" => "list3" 668s ok 1970 - Line 1352 "[% CALL $(cctxo.call_me = 4) %][% cctxo.last_context %]" => "scalar4" 668s ### INTERPOLATE ##################################### engine_option (compile_perl) 668s ok 1971 - Line 1358 "Foo $one Bar" => "Foo ONE Bar" 668s ok 1972 - Line 1359 "[% PERL %] my $n=7; print $n [% END %]" => "7" 668s ok 1973 - Line 1360 "[% TRY ; PERL %] my $n=7; print $n [% END ; END %]" => "7" 668s ok 1974 - Line 1364 "Foo \ Bar" => "Foo \ Bar" 668s ok 1975 - Line 1365 "Foo \\ Bar" => "Foo \\ Bar" 668s ok 1976 - Line 1366 "Foo \n Bar" => "Foo \n Bar" 668s ok 1977 - Line 1367 "Foo \$a Bar" => "Foo $a Bar" 668s ok 1978 - Line 1368 "Foo \\$a Bar" => "Foo \\7 Bar" 668s ok 1979 - Line 1369 "Foo \\\$a Bar" => "Foo \\$a Bar" 668s ok 1980 - Line 1370 "Foo $a.B Bar" => "Foo 7 Bar" 668s ok 1981 - Line 1371 "Foo ${ a.B } Bar" => "Foo 7 Bar" 668s ok 1982 - Line 1372 "Foo $a.b.c("hi") Bar" => "Foo Bar" 668s ok 1983 - Line 1374 "Foo ${a.b.c("hi")} Bar" => "Foo Bar" 668s ok 1984 - Line 1375 "Foo $a Bar $!a Baz" => "Foo 7 Bar 7 Baz" 668s ok 1985 - Line 1376 "Foo $a Bar $!{a} Baz" => "Foo 7 Bar 7 Baz" 668s ok 1986 - Line 1377 "Foo $a Bar $!a Baz" => "Foo 7 Bar 7 Baz" 668s ok 1987 - Line 1378 "Foo $a Bar $!{a} Baz" => "Foo 7 Bar 7 Baz" 668s ok 1988 - Line 1379 "Foo $a Bar $!a Baz" => "Foo $a Bar Baz" 668s ok 1989 - Line 1380 "Foo ${a} Bar $!{a} Baz" => "Foo ${a} Bar Baz" 668s ### ANYCASE / TRIM ################################## engine_option (compile_perl) 668s ok 1990 - Line 1385 "[% GET %]" => "" 668s ok 1991 - Line 1386 "[% GET GET %]" => "ONE" 668s ok 1992 - Line 1387 "[% get one %]" => "ONE" 668s ok 1993 - Line 1388 "[% get %]" => "" 668s ok 1994 - Line 1389 "[% get get %]" => "ONE" 668s ok 1995 - Line 1391 "[% BLOCK foo %] 668s # hi 668s # [% END %][% PROCESS foo %]" => " 668s # hi 668s # " 668s ok 1996 - Line 1392 "[% BLOCK foo %] 668s # hi[% END %][% PROCESS foo %]" => "hi" 668s ok 1997 - Line 1393 "[% BLOCK foo %]hi 668s # [% END %][% PROCESS foo %]" => "hi" 668s ok 1998 - Line 1394 "[% BLOCK foo %]hi[% nl %][% END %][% PROCESS foo %]" => "hi" 668s ok 1999 - Line 1395 "[% BLOCK foo %][% nl %]hi[% END %][% PROCESS foo %]" => "hi" 668s ok 2000 - Line 1396 "A[% TRY %] 668s # hi 668s # [% END %]" => "A 668s # hi" 668s ok 2001 - Line 1398 "[% FOO %]" => "foo" 668s ### V1DOLLAR ######################################## engine_option (compile_perl) 668s ok 2002 - Line 1403 "[% a %]|[% $a %]|[% ${ a } %]|[% ${ "a" } %]" => "A|bar|bar|A" 668s ok 2003 - Line 1404 "[% a %]|[% $a %]|[% ${ a } %]|[% ${ "a" } %]" => "A|A|bar|A" 668s ok 2004 - Line 1407 "[% a.b.c %]|[% $a.b.c %]|[% a.$b.c %]|[% ${ a.b.c } %]" => "Cb||CB|bar" 668s ok 2005 - Line 1408 "[% a.b.c %]|[% $a.b.c %]|[% a.$b.c %]|[% ${ a.b.c } %]" => "Cb|Cb|Cb|bar" 668s ok 2006 - Line 1410 "[% "$a" %]/$a/[% "${a}" %]/${a}" => "A/$a/A/${a}" 668s ok 2007 - Line 1411 "[% "$a" %]/$a/[% "${a}" %]/${a}" => "A/$a/A/${a}" 668s ok 2008 - Line 1412 "[% "$a" %]/$a/[% "${a}" %]/${a}" => "A/A/A/A" 668s ok 2009 - Line 1413 "[% "$a" %]/$a/[% "${a}" %]/${a}" => "A/A/A/A" 668s ok 2010 - Line 1415 "[% constants.a %]|[% $constants.a %]|[% constants.$a %]" => "A|A|A" 668s ### V2PIPE / V2EQUALS ############################### engine_option (compile_perl) 668s ok 2011 - Line 1420 "[%- BLOCK a %]b is [% b %] 668s # [% END %] 668s # [%- PROCESS a b => 237 | repeat(2) %]" => "b is 237 668s # b is 237 668s # " 668s ok 2012 - Line 1425 "[%- BLOCK a %]b is [% b %] 668s # [% END %] 668s # [%- PROCESS a b => 237 | repeat(2) %]" => "b is 237237 668s # " 668s ok 2013 - Line 1429 "[% ('a' == 'b') || 0 %]" => "0" 668s ok 2014 - Line 1430 "[% ('a' != 'b') || 0 %]" => "1" 668s ok 2015 - Line 1431 "[% ('a' == 'b') || 0 %]" => "0" 668s ok 2016 - Line 1432 "[% ('a' != 'b') || 0 %]" => "1" 668s ok 2017 - Line 1433 "[% ('a' == 'b') || 0 %]" => "1" 668s ok 2018 - Line 1434 "[% ('a' != 'b') || 0 %]" => "0" 668s ok 2019 - Line 1435 "[% ('7' == '7.0') || 0 %]" => "0" 668s ok 2020 - Line 1436 "[% ('7' == '7.0') || 0 %]" => "1" 668s ok 2021 - Line 1437 "[% (7 == 7.0) || 0 %]" => "1" 668s ok 2022 - Line 1438 "[% (7 == 7.0) || 0 %]" => "1" 668s ### configuration ################################### engine_option (compile_perl) 668s ok 2023 - Line 1443 "[% a = 7 %]$a" => "7" 668s ok 2024 - Line 1444 "[% a = 7 %]$a" => "7" 668s ### PERL ############################################ engine_option (compile_perl) 668s ok 2025 - Line 1449 "[% TRY %][% PERL %][% END %][% CATCH ; error; END %]" => "perl error - EVAL_PERL not set" 668s ok 2026 - Line 1450 "[% PERL %] print "[% one %]" [% END %]" => "ONE" 668s ok 2027 - Line 1451 "[% PERL %] print $stash->get('one') [% END %]" => "ONE" 668s ok 2028 - Line 1452 "[% PERL %] print $stash->set('a.b.c', 7) [% END %][% a.b.c %]" => "77" 668s ok 2029 - Line 1453 "[% RAWPERL %]$output .= 'interesting'[% END %]" => "interesting" 668s ### recursion prevention ############################ engine_option (compile_perl) 668s ok 2030 - Line 1458 "[% BLOCK foo %][% PROCESS bar %][% END %][% BLOCK bar %][% PROCESS foo %][% END %][% PROCESS foo %]" => "" 668s ### META ############################################ engine_option (compile_perl) 668s ok 2031 - Line 1463 "[% template.name %]" => "input text" 668s ok 2032 - Line 1464 "[% META foo = 'bar' %][% template.foo %]" => "bar" 668s ok 2033 - Line 1465 "[% META name = 'bar' %][% template.name %]" => "bar" 668s ok 2034 - Line 1466 "[% META foo = 'bar' %][% component.foo %]" => "bar" 668s ok 2035 - Line 1467 "[% META foo = 'bar' %][% component = '' %][% component.foo %]|foo" => "|foo" 668s ok 2036 - Line 1468 "[% META foo = 'bar' %][% template = '' %][% template.foo %]|foo" => "|foo" 668s ### references ###################################### engine_option (compile_perl) 668s ok 2037 - Line 1473 "[% a=3; b=\a; b; a %]" => "33" 668s ok 2038 - Line 1474 "[% a=3; b=\a; a=7; b; a %]" => "77" 668s ok 2039 - Line 1476 "[% a={}; a.1=7; b=\a.1; b; a.1 %]" => "77" 668s ok 2040 - Line 1477 "[% a={}; a.1=7; b=\a.20; a.20=7; b; a.20 %]" => "77" 668s ok 2041 - Line 1479 "[% a=[]; a.1=7; b=\a.1; b; a.1 %]" => "77" 668s ok 2042 - Line 1480 "[% a=[]; a.1=7; b=\a.20; a.20=7; b; a.20 %]" => "77" 668s ok 2043 - Line 1482 "[% \a %]" => "CODE(0x2aa29de5e70)" 668s ok 2044 - Line 1483 "[% b=\a; b %]" => "a sub []" 668s ok 2045 - Line 1484 "[% b=\a(1); b %]" => "a sub [1]" 668s ok 2046 - Line 1485 "[% b=\a; b(2) %]" => "a sub [2]" 668s ok 2047 - Line 1486 "[% b=\a(1); b(2) %]" => "a sub [1 2]" 668s ok 2048 - Line 1487 "[% f=\j.k; j.k=7; f %]" => "7" 668s ok 2049 - Line 1489 "[% a = "a" ; f = {a=>"A",b=>"B"} ; foo = \f.$a ; foo %]" => "A" 668s ok 2050 - Line 1490 "[% a = "a" ; f = {a=>"A",b=>"B"} ; foo = \f.$a ; a = "b" ; foo %]" => "A" 668s ok 2051 - Line 1491 "[% a = "ab" ; f = "abcd"; foo = \f.replace(a, "-AB-") ; a = "cd"; foo %]" => "-AB-cd" 668s ok 2052 - Line 1492 "[% a = "ab" ; f = "abcd"; foo = \f.replace(a, "-AB-").replace("-AB-", "*") ; a = "cd"; foo %]" => "*cd" 668s ok 2053 - Line 1494 "[% a = "ab" ; f = "abcd"; foo = \f.replace(a, "-AB-") ; f = "ab"; foo %]" => "-AB-cd" 668s ok 2054 - Line 1495 "[% a = "ab" ; f = "abcd"; foo = \f.replace(a, "-AB-").replace("-AB-", "*") ; f = "ab"; foo %]" => "*cd" 668s ### reserved words ################################## engine_option (compile_perl) 668s ok 2055 - Line 1506 "[% GET %]" => "" 668s ok 2056 - Line 1507 "[% GET GET %]" => "named_get" 668s ok 2057 - Line 1508 "[% GET get %]" => "lower_named_get" 668s ok 2058 - Line 1509 "[% GET ${'GET'} %]" => "bar" 668s ok 2059 - Line 1511 "[% GET = 1 %][% GET GET %]" => "" 668s ok 2060 - Line 1512 "[% SET GET = 1 %][% GET GET %]" => "1" 668s ok 2061 - Line 1514 "[% GET $hold_get %]" => "named_get" 668s ok 2062 - Line 1515 "[% GET $GET %]" => "value of named_get" 668s ok 2063 - Line 1516 "[% BLOCK GET %]hi[% END %][% PROCESS GET %]" => "hi" 668s ok 2064 - Line 1517 "[% BLOCK foo %]hi[% END %][% PROCESS foo a = GET %]" => "hi" 668s ok 2065 - Line 1518 "[% BLOCK foo %]hi[% END %][% PROCESS foo GET = 1 %]" => "" 668s ok 2066 - Line 1519 "[% BLOCK foo %]hi[% END %][% PROCESS foo IF GET %]" => "hi" 668s ### embedded items ################################## engine_option (compile_perl) 668s ok 2067 - Line 1524 "[% " \" " %]" => " " " 668s ok 2068 - Line 1525 "[% " \$foo " %]" => " $foo " 668s ok 2069 - Line 1526 "[% " \${foo} " %]" => " ${foo} " 668s ok 2070 - Line 1527 "[% " \n " %]" => " 668s # " 668s ok 2071 - Line 1528 "[% " \t " %]" => " " 668s ok 2072 - Line 1529 "[% " \r " %]" => " " 668s ok 2073 - Line 1531 "[% 'foo\'bar' %]" => "foo'bar" 668s ok 2074 - Line 1532 "[% "foo\"bar" %]" => "foo"bar" 668s ok 2075 - Line 1533 "[% qw(foo \)).1 %]" => ")" 668s ok 2076 - Line 1534 "[% qw|foo \||.1 %]" => "|" 668s ok 2077 - Line 1536 "[% ' \' ' %]" => " ' " 668s ok 2078 - Line 1537 "[% ' \r ' %]" => " \r " 668s ok 2079 - Line 1538 "[% ' \n ' %]" => " \n " 668s ok 2080 - Line 1539 "[% ' \t ' %]" => " \t " 668s ok 2081 - Line 1540 "[% ' $foo ' %]" => " $foo " 668s ok 2082 - Line 1542 "[% A = "bar" ; ${ "A" } %]" => "bar" 668s ok 2083 - Line 1543 "[% A = "bar" ; "(${ A })" %]" => "(bar)" 668s ok 2084 - Line 1544 "[% A = "bar" ; ${ {a => "A"}.a } %]" => "bar" 668s ok 2085 - Line 1545 "[% A = "bar" ; "(${ {a => "A"}.a })" %]" => "(A)" 668s ok 2086 - Line 1546 "[% A = "bar" ; "(${ ${ {a => "A"}.a } })" %]" => "(bar)" 668s ok 2087 - Line 1547 "[% A = "bar" %](${ {a => "A"}.a })" => "(A)" 668s ok 2088 - Line 1548 "[% A = "bar" %](${ ${ {a => "A"}.a } })" => "(bar)" 668s ok 2089 - Line 1550 "[% "[%" %]" => "[%" 668s ok 2090 - Line 1551 "[% "%]" %]" => "%]" 668s ok 2091 - Line 1552 "[% a = "[% %]" %][% a %]" => "[% %]" 668s ok 2092 - Line 1553 "[% qw([% 1 + 2 %]).join %]" => "[% 1 + 2 %]" 668s ### STRICT ########################################## engine_option (compile_perl) 668s ok 2093 - Line 1557 "[% TRY; foo; CATCH; error; END %]" => "var.undef error - undefined variable: foo in input text" 668s ok 2094 - Line 1558 "[% TRY; foo.bar(1); CATCH; error; END %]" => "var.undef error - undefined variable: foo.bar(1) in input text" 668s ok 2095 - Line 1559 "[% TRY; 1 IF foo.bar.baz; CATCH; error; END %]" => "var.undef error - undefined variable: foo.bar.baz in input text" 668s ok 2096 - Line 1561 "[% foo.bar() %]ok" => "ok" 668s ok 2097 - Line 1562 "[% foo.baz() %]ok" => "" 668s ### EVALUATE ######################################## engine_option (compile_perl) 668s ok 2098 - Line 1568 "[% foo | eval %]" => "baz" 668s ok 2099 - Line 1570 "[% "[% 1 + 2 %]" | eval %]" => "3" 668s ok 2100 - Line 1571 "[% qw([% 1 + 2 %]).join.eval %]" => "3" 668s ok 2101 - Line 1573 "[% f = ">[% TRY; f.eval ; CATCH; 'caught' ; END %]"; f.eval %]" => ">>>>>caught" 668s ok 2102 - Line 1574 "[% f = ">[% TRY; f.eval ; CATCH; 'caught' ; END %]"; f.eval; f.eval %]" => ">>>>>caught>>>>>caught" 668s ok 2103 - Line 1575 "[% f = ">[% TRY; f.eval ; CATCH; 'foo' ; END %]"; f.eval;f.eval %]" => ">>foo>>foo" 668s ok 2104 - Line 1576 "[% '\#set($foo = 12)'|eval(syntax => 'velocity') %]|[% foo %]" => "|12" 668s ok 2105 - Line 1578 "[% f = ">[% TRY; f.eval ; CATCH; 'caught' ; END %]"; EVALUATE f %]" => ">>>>>caught" 668s ok 2106 - Line 1579 "[% f = ">[% TRY; f.eval ; CATCH; 'foo' ; END %]"; EVALUATE f; EVALUATE f %]" => ">>foo>>foo" 668s ok 2107 - Line 1580 "[% EVALUATE '\#set($foo = 12)' syntax => 'velocity' %]|[% foo %]" => "|12" 668s ok 2108 - Line 1582 "[% TRY; '[% bar %]'.eval(STRICT => 1); CATCH; error; END %]" => "var.undef error - undefined variable: bar in input text" 668s ok 2109 - Line 1583 "[% TRY; CONFIG STRICT => 1; '[% bar %]'.eval(STRICT => 0); CATCH; error; END %]" => "eval_strict error - Cannot disable STRICT once it is enabled" 668s ok 2110 - Line 1584 "[% TRY; '[% bar %]'.eval(STRICT => 1); CATCH; error.type; END; bing %] - ok" => "var.undef - ok" 668s ### DUMP ############################################ engine_option (compile_perl) 668s ok 2111 - Line 1592 "[% DUMP a %]" => "DUMP: File "input text" line 1 668s # a = undef; 668s # " 668s ok 2112 - Line 1593 "[% p = DUMP a; p.collapse %]" => "DUMP: File "input text" line 1 a = undef;" 668s ok 2113 - Line 1594 "[% p = DUMP a; p.collapse %]" => "DUMP: File "input text" line 1 a = 's';" 668s ok 2114 - Line 1595 "[% 668s # p = DUMP a; p.collapse %]" => "DUMP: File "input text" line 2 a = 's';" 668s ok 2115 - Line 1596 "[% p = DUMP a, b; p.collapse %]" => "DUMP: File "input text" line 1 a, b = [ 's', undef ];" 668s ok 2116 - Line 1597 "[% p = DUMP a Useqq => 'b'; p.collapse %]" => "DUMP: File "input text" line 1 a Useqq => 'b' = [ 's', { 'Useqq' => 'b' } ];" 668s ok 2117 - Line 1598 "[% p = DUMP a; p.collapse %]" => "DUMP: File "input text" line 1 a = "s";" 668s ok 2118 - Line 1599 "[% p = DUMP a; p.collapse %]|foo" => "|foo" 668s ok 2119 - Line 1600 "[% p = DUMP _a, b; p.collapse %]" => "DUMP: File "input text" line 1 _a, b = [ undef, 'c' ];" 668s ok 2120 - Line 1601 "[% p = DUMP {a => 'b'}; p.collapse %]" => "DUMP: File "input text" line 1 {a => 'b'} = { 'a' => 'b' };" 668s ok 2121 - Line 1602 "[% p = DUMP _a; p.collapse %]" => "DUMP: File "input text" line 1 _a = undef;" 668s ok 2122 - Line 1603 "[% p = DUMP a; p.collapse %]" => "DUMP: File "input text" line 1 a = { 'b' => 'c' };" 668s ok 2123 - Line 1604 "[% p = DUMP a; p.collapse %]" => "DUMP: File "input text" line 1 a = {};" 668s ok 2124 - Line 1605 "[% p = DUMP a; p.collapse %]" => "DUMP: File "input text" line 1 a = {};" 668s ok 2125 - Line 1606 "[% p = DUMP a; p.collapse %]" => "DUMP: File "input text" line 1 Dump(7)" 668s ok 2126 - Line 1607 "[% p = DUMP a; p.collapse %]" => "a = 's';" 668s ok 2127 - Line 1608 "[% p = DUMP a; p.collapse %]" => "
a = 's'; 
" 668s ok 2128 - Line 1610 "[% p = DUMP a; p.collapse %]" => "
a = 's'; 
" 668s ok 2129 - Line 1611 "[% p = DUMP a; p.collapse %]" => "a = 's';" 668s ok 2130 - Line 1613 "[% SET global; p = DUMP; p.collapse %]" => "DUMP: File "input text" line 1 EntireStash = { 'a' => 'b', 'global' => undef };" 668s ok 2131 - Line 1614 "[% SET global; p = DUMP; p.collapse %]" => "DUMP: File "input text" line 1 EntireStash = { 'a' => 'b', 'global' => undef };" 668s ok 2132 - Line 1615 "[% SET global; p = DUMP; p.collapse %]" => "DUMP: File "input text" line 1" 668s ### SYNTAX ########################################## engine_option (compile_perl) 668s ok 2133 - Line 1622 "[%- BLOCK a %]b is [% b %][% END %][% PROCESS a b => 237 | repeat(2) %]" => "" 668s ok 2134 - Line 1623 "[%- BLOCK a %]b is [% b %][% END %][% PROCESS a b => 237 | repeat(2) %]" => "b is 237237" 668s ok 2135 - Line 1624 "[%- BLOCK a %]b is [% b %][% END %][% PROCESS a b => 237 | repeat(2) %]" => "b is 237237" 668s ok 2136 - Line 1625 "[%- BLOCK a %]b is [% b %][% END %][% PROCESS a b => 237 | repeat(2) %]" => "b is 237237" 668s ok 2137 - Line 1626 "[%- BLOCK a %]b is [% b %][% END %][% PROCESS a b => 237 | repeat(2) %]" => "b is 237b is 237" 668s ok 2138 - Line 1627 "[%- BLOCK a %]b is [% b %][% END %][% PROCESS a b => 237 | repeat(2) %]" => "b is 237b is 237" 668s ok 2139 - Line 1628 "[%- BLOCK a %]b is [% b %][% END %][% PROCESS a b => 237 | repeat(2) %]" => "b is 237b is 237" 668s ok 2140 - Line 1631 "[% a %]|[% $a %]|[% ${ a } %]|[% ${ "a" } %]" => "A|bar|bar|A" 668s ok 2141 - Line 1632 "[% a %]|[% $a %]|[% ${ a } %]|[% ${ "a" } %]" => "A|bar|bar|A" 668s ok 2142 - Line 1633 "[% a %]|[% $a %]|[% ${ a } %]|[% ${ "a" } %]" => "A|A|bar|A" 668s ok 2143 - Line 1635 "" => "FOO" 668s ok 2144 - Line 1636 "" => "7 8" 668s ok 2145 - Line 1637 "" => "1" 668s ok 2146 - Line 1638 "" => "1" 668s ok 2147 - Line 1639 "d" => "" 668s ok 2148 - Line 1641 "[% ""|eval(syntax => 'hte') %] = [% 6 %]" => "6 = 6" 668s ok 2149 - Line 1642 "[% ""|eval(syntax => 'ht') %] = [% 6 %]" => "" 668s ok 2150 - Line 1643 "[% ""|eval(syntax => 'ht') %] = [% 12 %]" => "12 = 12" 668s ### CONFIG ########################################## engine_option (compile_perl) 668s ok 2151 - Line 1651 "[% CONFIG ANYCASE => 1 %][% get 234 %]" => "234" 668s ok 2152 - Line 1652 "[% CONFIG anycase => 1 %][% get 234 %]" => "234" 668s ok 2153 - Line 1653 "[% CONFIG PRE_CHOMP => '-' %] 668s # [% 234 %]" => "234" 668s ok 2154 - Line 1654 "[% CONFIG POST_CHOMP => '-' %][% 234 %] 668s # " => "234" 668s ok 2155 - Line 1655 "[% CONFIG INTERPOLATE => 1 %]${ 234 }" => "234" 668s ok 2156 - Line 1656 "[% CONFIG V1DOLLAR => 1 %][% a = 234 %][% $a %]" => "234" 668s ok 2157 - Line 1657 "[% CONFIG V2PIPE => 1 %][% BLOCK a %]b is [% b %][% END %][% PROCESS a b => 234 | repeat(2) %]" => "b is 234b is 234" 668s ok 2158 - Line 1658 "[% CONFIG V2EQUALS => 1 %][% ('7' == '7.0') || 0 %]" => "0" 668s ok 2159 - Line 1659 "[% CONFIG V2EQUALS => 0 %][% ('7' == '7.0') || 0 %]" => "1" 668s ok 2160 - Line 1661 "[% CONFIG BOGUS => 2 %]bar" => "" 668s ok 2161 - Line 1663 "[% CONFIG ANYCASE %]|[% CONFIG ANYCASE => 1 %][% CONFIG ANYCASE %]" => "CONFIG ANYCASE = undef|CONFIG ANYCASE = 1" 668s ok 2162 - Line 1664 "[% CONFIG ANYCASE %]|[% CONFIG ANYCASE => 1 %][% CONFIG ANYCASE %]" => "CONFIG ANYCASE = undef|CONFIG ANYCASE = 1" 668s ok 2163 - Line 1666 "[% "[% GET 1+2+3 %]" | eval %] = [% get 6 %]" => "" 668s ok 2164 - Line 1667 "[% CONFIG ANYCASE => 1 %][% get 6 %]" => "6" 668s ok 2165 - Line 1668 "[% CONFIG ANYCASE => 1 %][% "[% get 1+2+3 %]" | eval %] = [% get 6 %]" => "6 = 6" 668s ok 2166 - Line 1669 "[% "[% CONFIG ANYCASE => 1 %][% get 1+2+3 %]" | eval %] = [% get 6 %]" => "" 668s ok 2167 - Line 1670 "[% "[% CONFIG ANYCASE => 1 %][% get 1+2+3 %]" | eval %] = [% GET 6 %]" => "6 = 6" 668s ok 2168 - Line 1671 "[% CONFIG SYNTAX => 'hte' %][% ""|eval %] = [% 6 %]" => "6 = 6" 668s ok 2169 - Line 1672 "[% "[% get 1+2+3 %]" | eval(ANYCASE => 1) %] = [% GET 6 %]" => "6 = 6" 668s ok 2170 - Line 1674 "[% CONFIG DUMP %]|[% CONFIG DUMP => 0 %][% DUMP %]bar" => "CONFIG DUMP = undef|bar" 668s ok 2171 - Line 1675 "[% CONFIG DUMP => {Useqq=>1, header=>0, html=>0} %][% DUMP 'foo' %]" => "'foo' = "foo"; 668s # " 668s ok 2172 - Line 1676 "[% CONFIG VMETHOD_FUNCTIONS => 0 %][% sprintf('%d %d', 7, 8) %] d" => " d" 668s ok 2173 - Line 1677 "[% TRY; foo; CONFIG STRICT => 1; bar; CATCH; error; END %]" => "var.undef error - undefined variable: bar in input text" 668s ok 2174 - Line 1678 "[% TRY; foo; CONFIG STRICT => 1; CONFIG STRICT => 0; bar; CATCH; error; END %]" => "config.strict error - Cannot disable STRICT once it is enabled" 668s ok 2175 - Line 1679 "[% BLOCK foo; CONFIG STRICT => 1; baz; END; TRY; bam; PROCESS foo; bar; CATCH; error.type; END; bing %] - ok" => "var.undef - ok" 668s ok 2176 - Line 1681 "[% CONFIG AUTO_FILTER => "html"; foo %]" => "&" 668s ### DONE ############################################ engine_option (compile_perl) 668s ### GET ############################################# engine_option (stream) 668s ok 2177 - Line 159 "[% foo %]" => "" 668s ok 2178 - Line 160 "[% foo %]" => "7" 668s ok 2179 - Line 161 "[% foo %]" => "7" 668s ok 2180 - Line 162 "[% foo %]" => "7" 668s ok 2181 - Line 163 "[% foo %]" => "Stash" 668s ok 2182 - Line 164 "[% foo %]" => "V" 668s ok 2183 - Line 165 "[% bar %]" => "" 668s ok 2184 - Line 166 "[% foo %]" => "Stash" 668s ok 2185 - Line 167 "[% bar %]" => "" 668s ok 2186 - Line 168 "[% foo %]" => "Stash" 668s ok 2187 - Line 169 "[% foo %]" => "Stash" 668s ok 2188 - Line 170 "[% foo %][% foo %][% foo %]" => "777" 668s ok 2189 - Line 171 "[% foo() %]" => "7" 668s ok 2190 - Line 172 "[% foo.bar %]" => "" 668s ok 2191 - Line 173 "[% foo.bar %]" => "" 668s ok 2192 - Line 174 "[% foo.bar %]" => "7" 668s ok 2193 - Line 175 "[% foo().bar %]" => "7" 668s ok 2194 - Line 176 "[% foo.0 %]" => "7" 668s ok 2195 - Line 177 "[% foo.10 %]" => "" 668s ok 2196 - Line 178 "[% foo %]" => "7" 668s ok 2197 - Line 179 "[% foo(7) %]" => "7" 668s ok 2198 - Line 180 "[% foo.length %]" => "1" 668s ok 2199 - Line 181 "[% foo.0 %]" => "7" 668s ok 2200 - Line 182 "[% foo(bar) %]" => "7" 668s ok 2201 - Line 183 "[% foo(bar.baz) %]" => "7" 668s ok 2202 - Line 184 "[% foo.seven %]" => "7" 668s ok 2203 - Line 185 "[% foo.seven() %]" => "7" 668s ok 2204 - Line 186 "[% foo.seven.length %]" => "1" 668s ok 2205 - Line 187 "[% foo.echo(7) %]" => "7" 668s ok 2206 - Line 188 "[% foo.many.0 %]" => "1" 668s ok 2207 - Line 189 "[% foo.many.10 %]" => "" 668s ok 2208 - Line 190 "[% foo.nomethod %]" => "" 668s ok 2209 - Line 191 "[% foo.nomethod.0 %]" => "" 668s ok 2210 - Line 193 "[% GET foo %]" => "" 668s ok 2211 - Line 194 "[% GET foo %]" => "7" 668s ok 2212 - Line 195 "[% GET foo.bar %]" => "" 668s ok 2213 - Line 196 "[% GET foo.bar %]" => "" 668s ok 2214 - Line 197 "[% GET foo.bar %]" => "7" 668s ok 2215 - Line 198 "[% GET foo.0 %]" => "7" 668s ok 2216 - Line 199 "[% GET foo %]" => "7" 668s ok 2217 - Line 200 "[% GET foo(7) %]" => "7" 668s ok 2218 - Line 202 "[% $name %]" => "" 668s ok 2219 - Line 203 "[% $name %]" => "7" 668s ok 2220 - Line 204 "[% $name.bar %]" => "" 668s ok 2221 - Line 205 "[% $name.bar %]" => "" 668s ok 2222 - Line 206 "[% $name.bar %]" => "7" 668s ok 2223 - Line 207 "[% $name().bar %]" => "7" 668s ok 2224 - Line 208 "[% $name.0 %]" => "7" 668s ok 2225 - Line 209 "[% $name %]" => "7" 668s ok 2226 - Line 210 "[% $name(7) %]" => "7" 668s ok 2227 - Line 212 "[% GET $name %]" => "" 668s ok 2228 - Line 213 "[% GET $name %]" => "7" 668s ok 2229 - Line 214 "[% GET $name.bar %]" => "" 668s ok 2230 - Line 215 "[% GET $name.bar %]" => "" 668s ok 2231 - Line 216 "[% GET $name.bar %]" => "7" 668s ok 2232 - Line 217 "[% GET $name.0 %]" => "7" 668s ok 2233 - Line 218 "[% GET $name %]" => "7" 668s ok 2234 - Line 219 "[% GET $name(7) %]" => "7" 668s ok 2235 - Line 221 "[% $name %]" => "" 668s ok 2236 - Line 222 "[% GET $name %]" => "" 668s ok 2237 - Line 224 "[% ${name} %]" => "" 668s ok 2238 - Line 225 "[% ${name} %]" => "7" 668s ok 2239 - Line 226 "[% ${name}.bar %]" => "" 668s ok 2240 - Line 227 "[% ${name}.bar %]" => "" 668s ok 2241 - Line 228 "[% ${name}.bar %]" => "7" 668s ok 2242 - Line 229 "[% ${name}().bar %]" => "7" 668s ok 2243 - Line 230 "[% ${name}.0 %]" => "7" 668s ok 2244 - Line 231 "[% ${name} %]" => "7" 668s ok 2245 - Line 232 "[% ${name}(7) %]" => "7" 668s ok 2246 - Line 234 "[% GET ${name} %]" => "" 668s ok 2247 - Line 235 "[% GET ${name} %]" => "7" 668s ok 2248 - Line 236 "[% GET ${name}.bar %]" => "" 668s ok 2249 - Line 237 "[% GET ${name}.bar %]" => "" 668s ok 2250 - Line 238 "[% GET ${name}.bar %]" => "7" 668s ok 2251 - Line 239 "[% GET ${name}.0 %]" => "7" 668s ok 2252 - Line 240 "[% GET ${name} %]" => "7" 668s ok 2253 - Line 241 "[% GET ${name}(7) %]" => "7" 668s ok 2254 - Line 243 "[% ${name} %]" => "" 668s ok 2255 - Line 244 "[% GET ${name} %]" => "" 668s ok 2256 - Line 245 "[% GET ${'foo'} %]" => "bar" 668s ok 2257 - Line 247 "[% foo.$name %]" => "" 668s ok 2258 - Line 248 "[% foo.$name %]" => "7" 668s ok 2259 - Line 249 "[% foo.$name.baz %]" => "" 668s ok 2260 - Line 251 "[% "hi" %]" => "hi" 668s ok 2261 - Line 252 "[% "hi %]" => "" 668s ok 2262 - Line 253 "[% 'hi' %]" => "hi" 668s ok 2263 - Line 254 "[% 'hi %]" => "" 668s ok 2264 - Line 255 "[% "$foo" %]" => "7" 668s ok 2265 - Line 256 "[% "hi $foo" %]" => "hi 7" 668s ok 2266 - Line 257 "[% "hi ${foo}" %]" => "hi 7" 668s ok 2267 - Line 258 "[% 'hi $foo' %]" => "hi $foo" 668s ok 2268 - Line 259 "[% 'hi ${foo}' %]" => "hi ${foo}" 668s ok 2269 - Line 260 "[% 7 %]" => "7" 668s ok 2270 - Line 261 "[% -7 %]" => "-7" 668s ok 2271 - Line 263 "[% "hi ${foo.seven}" %]" => "hi 7" 668s ok 2272 - Line 264 "[% "hi ${foo.echo(7)}" %]" => "hi 7" 668s ok 2273 - Line 266 "[% _foo %]2" => "2" 668s ok 2274 - Line 267 "[% $bar %]2" => "2" 668s ok 2275 - Line 268 "[% __foo %]2" => "2" 668s ok 2276 - Line 270 "[% qw/Foo Bar Baz/.0 %]" => "Foo" 668s ok 2277 - Line 271 "[% [0..10].-1 %]" => "10" 668s ok 2278 - Line 272 "[% [0..10].${ 2.3 } %]" => "2" 668s ok 2279 - Line 274 "[% (1 + 2)() %]" => "" 668s ok 2280 - Line 275 "[% (1 + 2) %]" => "3" 668s ok 2281 - Line 276 "[% (a) %]" => "2" 668s ok 2282 - Line 277 "[% ('foo') %]" => "foo" 668s ok 2283 - Line 278 "[% (a(2)) %]" => "2" 668s ok 2284 - Line 281 "[% JS 3 %]" => "3" 668s ok 2285 - Line 282 "[% JS 3 %]" => "43" 668s ok 2286 - Line 283 "[% JS; 3; END %]" => "" 668s ### SET ############################################# engine_option (stream) 668s ok 2287 - Line 288 "[% SET foo bar %][% foo %]" => "" 668s ok 2288 - Line 289 "[% SET foo = 1 %][% foo %]" => "1" 668s ok 2289 - Line 290 "[% SET foo = 1 bar = 2 %][% foo %][% bar %]" => "12" 668s ok 2290 - Line 291 "[% SET foo bar = 1 %][% foo %]" => "" 668s ok 2291 - Line 292 "[% SET foo = 1 ; bar = 1 %][% foo %]" => "1" 668s ok 2292 - Line 293 "[% SET foo = 1 %][% SET foo %][% foo %]" => "" 668s ok 2293 - Line 295 "[% SET foo = [] %][% foo.0 %]" => "" 668s ok 2294 - Line 296 "[% SET foo = [1, 2, 3] %][% foo.1 %]" => "2" 668s ok 2295 - Line 297 "[% SET foo = {} %][% foo.0 %]" => "" 668s ok 2296 - Line 298 "[% SET foo = {1 => 2} %][% foo.1 %]" => "2" 668s ok 2297 - Line 299 "[% SET foo = {'1' => 2} %][% foo.1 %]" => "2" 668s ok 2298 - Line 301 "[% SET name = 1 %][% SET foo = name %][% foo %]" => "1" 668s ok 2299 - Line 302 "[% SET name = 1 %][% SET foo = $name %][% foo %]" => "" 668s ok 2300 - Line 303 "[% SET name = 1 %][% SET foo = ${name} %][% foo %]" => "" 668s ok 2301 - Line 304 "[% SET name = 1 %][% SET foo = "$name" %][% foo %]" => "1" 668s ok 2302 - Line 305 "[% SET name = 1 foo = name %][% foo %]" => "1" 668s ok 2303 - Line 306 "[% SET name = 1 %][% SET foo = {$name => 2} %][% foo.1 %]" => "2" 668s ok 2304 - Line 307 "[% SET name = 1 %][% SET foo = {"$name" => 2} %][% foo.1 %]" => "2" 668s ok 2305 - Line 308 "[% SET name = 1 %][% SET foo = {${name} => 2} %][% foo.1 %]" => "2" 668s ok 2306 - Line 310 "[% SET name = 7 %][% SET foo = {'2' => name} %][% foo.2 %]" => "7" 668s ok 2307 - Line 311 "[% SET name = 7 %][% SET foo = {'2' => "$name"} %][% foo.2 %]" => "7" 668s ok 2308 - Line 313 "[% SET name = 7 %][% SET foo = [1, name, 3] %][% foo.1 %]" => "7" 668s ok 2309 - Line 314 "[% SET name = 7 %][% SET foo = [1, "$name", 3] %][% foo.1 %]" => "7" 668s ok 2310 - Line 316 "[% SET foo = { bar => { baz => [0, 7, 2] } } %][% foo.bar.baz.1 %]" => "7" 668s ok 2311 - Line 318 "[% SET foo.bar = 1 %][% foo.bar %]" => "1" 668s ok 2312 - Line 319 "[% SET foo.bar.baz.bing = 1 %][% foo.bar.baz.bing %]" => "1" 668s ok 2313 - Line 320 "[% SET foo.bar.2 = 1 %][% foo.bar.2 %] [% foo.bar.size %]" => "1 1" 668s ok 2314 - Line 321 "[% SET foo.bar = [] %][% SET foo.bar.2 = 1 %][% foo.bar.2 %] [% foo.bar.size %]" => "1 3" 668s ok 2315 - Line 323 "[% SET name = 'two' %][% SET $name = 3 %][% two %]" => "3" 668s ok 2316 - Line 324 "[% SET name = 'two' %][% SET ${name} = 3 %][% two %]" => "3" 668s ok 2317 - Line 325 "[% SET name = 2 %][% SET foo.$name = 3 %][% foo.2 %]" => "3" 668s ok 2318 - Line 326 "[% SET name = 2 %][% SET foo.$name = 3 %][% foo.$name %]" => "3" 668s ok 2319 - Line 327 "[% SET name = 2 %][% SET foo.${name} = 3 %][% foo.2 %]" => "3" 668s ok 2320 - Line 328 "[% SET name = 2 %][% SET foo.${name} = 3 %][% foo.2 %]" => "3" 668s ok 2321 - Line 329 "[% SET name = 'two' %][% SET $name.foo = 3 %][% two.foo %]" => "3" 668s ok 2322 - Line 330 "[% SET name = 'two' %][% SET ${name}.foo = 3 %][% two.foo %]" => "3" 668s ok 2323 - Line 331 "[% SET name = 'two' %][% SET foo.$name.foo = 3 %][% foo.two.foo %]" => "3" 668s ok 2324 - Line 332 "[% SET name = 'two' %][% SET foo.${name}.foo = 3 %][% foo.two.foo %]" => "3" 668s ok 2325 - Line 334 "[% SET foo = [1..10] %][% foo.6 %]" => "7" 668s ok 2326 - Line 335 "[% SET foo = [10..1] %][% foo.6 %]" => "" 668s ok 2327 - Line 336 "[% SET foo = [-10..-1] %][% foo.6 %]" => "-4" 668s ok 2328 - Line 337 "[% SET foo = [1..10, 21..30] %][% foo.12 %]" => "23" 668s ok 2329 - Line 338 "[% SET foo = [..100] bar = 7 %][% bar %][% foo.0 %]" => "" 668s ok 2330 - Line 339 "[% SET foo = [100..] bar = 7 %][% bar %][% foo.0 %]" => "" 668s ok 2331 - Line 340 "[% SET foo = ['a'..'z'] %][% foo.6 %]" => "g" 668s ok 2332 - Line 341 "[% SET foo = ['z'..'a'] %][% foo.6 %]" => "" 668s ok 2333 - Line 342 "[% SET foo = ['a'..'z'].reverse %][% foo.6 %]" => "t" 668s ok 2334 - Line 344 "[% foo = 1 %][% foo %]" => "1" 668s ok 2335 - Line 345 "[% foo = 1 ; bar = 2 %][% foo %][% bar %]" => "12" 668s ok 2336 - Line 346 "[% foo.bar = 2 %][% foo.bar %]" => "2" 668s ok 2337 - Line 348 "[% a = "a" %]|[% (b = a) %]|[% a %]|[% b %]" => "|a|a|a" 668s ok 2338 - Line 349 "[% a = "a" %][% (c = (b = a)) %][% a %][% b %][% c %]" => "aaaa" 668s ok 2339 - Line 351 "[% a = qw{Foo Bar Baz} ; a.2 %]" => "Baz" 668s ok 2340 - Line 353 "[% _foo = 1 %][% _foo %]2" => "2" 668s ok 2341 - Line 354 "[% foo._bar %]2" => "2" 668s ### multiple statements in same tag ################# engine_option (stream) 668s ok 2342 - Line 359 "[% foo; %]" => "1" 668s ok 2343 - Line 360 "[% GET foo; %]" => "1" 668s ok 2344 - Line 361 "[% GET foo; GET foo %]" => "11" 668s ok 2345 - Line 362 "[% GET foo GET foo %]" => "11" 668s ok 2346 - Line 363 "[% GET foo GET foo %]" => "" 668s ok 2347 - Line 365 "[% foo = 1 bar = 2 %][% foo %][% bar %]" => "12" 668s ok 2348 - Line 366 "[% foo = 1 bar = 2 %][% foo = 3 bar %][% foo %][% bar %]" => "232" 668s ok 2349 - Line 367 "[% a = 1 a = a + 2 a %]" => "3" 668s ok 2350 - Line 369 "[% foo = 1 bar = 2 %][% foo %][% bar %]" => "" 668s ok 2351 - Line 370 "[% foo = 1 bar = 2 %][% foo = 3 bar %][% foo %][% bar %]" => "" 668s ok 2352 - Line 371 "[% a = 1 a = a + 2 a %]" => "" 668s ### CALL / DEFAULT ################################## engine_option (stream) 668s ok 2353 - Line 377 "[% DEFAULT foo = 7 %][% foo %]" => "7" 668s ok 2354 - Line 378 "[% SET foo = 5 %][% DEFAULT foo = 7 %][% foo %]" => "5" 668s ok 2355 - Line 379 "[% DEFAULT foo.bar.baz.bing = 6 %][% foo.bar.baz.bing %]" => "6" 668s ok 2356 - Line 382 "[% foo %]" => "hi" 668s ok 2357 - Line 383 "[% GET foo %]" => "hi" 668s ok 2358 - Line 384 "[% CALL foo %]" => "" 668s ok 2359 - CALL method actually called var 668s ### scalar vmethods ################################# engine_option (stream) 668s ok 2360 - Line 391 "[% n.0 %]" => "7" 668s ok 2361 - Line 392 "[% n.abs %]" => "7" 668s ok 2362 - Line 393 "[% n.abs %]" => "7" 668s ok 2363 - Line 394 "[% n.atan2.substr(0, 6) %]" => "1.5707" 668s ok 2364 - Line 395 "[% (4 * n.atan2(1)).substr(0, 7) %]" => "3.14159" 668s ok 2365 - Line 396 "[% n.chunk(3).join %]" => "abc def g" 668s ok 2366 - Line 397 "[% n.chunk(-3).join %]" => "a bcd efg" 668s ok 2367 - Line 398 "[% n|collapse %]" => "a b" 668s ok 2368 - Line 399 "[% n.cos.substr(0,5) %]" => "1" 668s ok 2369 - Line 400 "[% n.cos.substr(0,5) %]" => "0.707" 668s ok 2370 - Line 401 "[% n.defined %]" => "1" 668s ok 2371 - Line 402 "[% n.defined %]" => "" 668s ok 2372 - Line 403 "[% n.defined %]" => "1" 668s ok 2373 - Line 404 "[% n.dquote %]" => "(\n|\\|\")" 668s ok 2374 - Line 405 "[% n.exp.substr(0,5) %]" => "2.718" 668s ok 2375 - Line 406 "[% n.exp.log.substr(0,5) %]" => "8" 668s ok 2376 - Line 407 "[% n.fmt %]" => "7" 668s ok 2377 - Line 408 "[% n.fmt('%02d') %]" => "07" 668s ok 2378 - Line 409 "[% n.fmt('%0*d', 3) %]" => "007" 668s ok 2379 - Line 410 "[% n.fmt('(%s)') %]" => "(a 668s # b)" 668s ok 2380 - Line 411 "[% n|format('%02d') %]" => "07" 668s ok 2381 - Line 412 "[% n|format('%0*d', 3) %]" => "007" 668s ok 2382 - Line 413 "[% n|format('(%s)') %]" => "(a) 668s # (b)" 668s ok 2383 - Line 414 "[% n.hash.items.1 %]" => "b" 668s ok 2384 - Line 415 "[% n.hex %]" => "255" 668s ok 2385 - Line 416 "[% n|html %]" => "&<>"'" 668s ok 2386 - Line 418 "[% n|xml %]" => "&<>"'" 668s ok 2387 - Line 419 "[% n|indent %]" => " a 668s # b" 668s ok 2388 - Line 420 "[% n|indent(2) %]" => " a 668s # b" 668s ok 2389 - Line 421 "[% n|indent('wow ') %]" => "wow a 668s # wow b" 668s ok 2390 - Line 422 "[% n.int %]" => "123" 668s ok 2391 - Line 423 "[% n.int %]" => "123" 668s ok 2392 - Line 424 "[% n.int %]" => "0" 668s ok 2393 - Line 425 "[% n.item %]" => "7" 668s ok 2394 - Line 426 "[% n.lc %]" => "abc" 668s ok 2395 - Line 427 "[% n|lcfirst %]" => "fOO" 668s ok 2396 - Line 428 "[% n.length %]" => "3" 668s ok 2397 - Line 429 "[% n.list.0 %]" => "abc" 668s ok 2398 - Line 430 "[% n.log.substr(0,5) %]" => "4.605" 668s ok 2399 - Line 431 "[% n|lower %]" => "abc" 668s ok 2400 - Line 432 "[% n.match('foo').join %]" => "" 668s ok 2401 - Line 433 "[% n.match('foo').join %]" => "1" 668s ok 2402 - Line 434 "[% n.match('foo',1).join %]" => "foo" 668s ok 2403 - Line 435 "[% n.match('(foo)').join %]" => "foo" 668s ok 2404 - Line 436 "[% n.match('(foo)').join %]" => "foo" 668s ok 2405 - Line 437 "[% n.match('(foo)',1).join %]" => "foo foo" 668s ok 2406 - Line 438 "[% n.null %]" => "" 668s ok 2407 - Line 439 "[% n.oct %]" => "255" 668s ok 2408 - Line 440 "[% n.rand %]" => "1.5264831683424" 668s ok 2409 - Line 441 "[% n.rand %]" => "0.335701955774084" 668s ok 2410 - Line 442 "[% n.remove('bc') %]" => "a" 668s ok 2411 - Line 443 "[% n.remove('bc') %]" => "aa" 668s ok 2412 - Line 444 "[% n.repeat %]" => "1" 668s ok 2413 - Line 445 "[% n.repeat(0) %]" => "" 668s ok 2414 - Line 446 "[% n.repeat(1) %]" => "1" 668s ok 2415 - Line 447 "[% n.repeat(2) %]" => "11" 668s ok 2416 - Line 448 "[% n.repeat(2,'|') %]" => "1|1" 668s ok 2417 - Line 449 "[% n.replace('foo', 'bar') %]" => "barbar" 668s ok 2418 - Line 450 "[% n.replace('(foo)', 'bar$1') %]" => "barfoobarfoo" 668s ok 2419 - Line 451 "[% n.replace('foo', 'bar', 0) %]" => "barfoo" 668s ok 2420 - Line 452 "[% n.search('foo') %]" => "" 668s ok 2421 - Line 453 "[% n.search('foo') %]" => "1" 668s ok 2422 - Line 454 "[% n.sin.substr(0,5) %]" => "0" 668s ok 2423 - Line 455 "[% n.sin.substr(0,5) %]" => "1" 668s ok 2424 - Line 456 "[% n.size %]" => "1" 668s ok 2425 - Line 457 "[% n.split.join('|') %]" => "abc" 668s ok 2426 - Line 458 "[% n.split.join('|') %]" => "a|b|c" 668s ok 2427 - Line 459 "[% n.split.join('|') %]" => "a|b|c" 668s ok 2428 - Line 460 "[% n.split(u,2).join('|') %]" => "a|b c" 668s ok 2429 - Line 462 "[% n.split('/').join('|') %]" => "a|b|c" 668s ok 2430 - Line 463 "[% n.split('/', 2).join('|') %]" => "a|b/c" 668s ok 2431 - Line 464 "[% n.sprintf(7) %]" => "7" 668s ok 2432 - Line 465 "[% n.sprintf(3, 7, 12) %]" => "007 12" 668s ok 2433 - Line 466 "[% n.sqrt %]" => "3" 668s ok 2434 - Line 467 "[% n.squote %]" => "( 668s # |\\|\')" 668s ok 2435 - Line 468 "[% n.srand; 12 %]" => "12" 668s ok 2436 - Line 474 "[% n|trim %]" => "a b" 668s ok 2437 - Line 475 "[% n.uc %]" => "FOO" 668s ok 2438 - Line 476 "[% n|ucfirst %]" => "Foo" 668s ok 2439 - Line 477 "[% n|upper %]" => "FOO" 668s ok 2440 - Line 478 "[% n|uri %]" => "a%20b" 668s ok 2441 - Line 480 "[% n.fmt('%c') %]" => "B" 668s ok 2442 - Line 481 "[% n.fmt('%3X') %]" => " C" 668s ok 2443 - Line 482 "[% n.fmt('%-3X') %]" => "C " 668s ok 2444 - Line 483 "[% n.fmt('%03X') %]" => "00C" 668s ok 2445 - Line 484 "[% n.fmt('%03X') %]" => "00C" 668s ok 2446 - Line 485 "[% n.fmt('%\#03X') %]" => "0XC" 668s ok 2447 - Line 486 "[% n.fmt('%\#07X') %]" => "0X0000C" 668s ok 2448 - Line 488 "[% n.fmt('%o') %]" => "10" 668s ok 2449 - Line 489 "[% n.fmt('%\#o') %]" => "010" 668s ok 2450 - Line 490 "[% n.fmt('%\#o') %]" => "0" 668s ok 2451 - Line 492 "[% n.fmt('%02d') %]" => "07" 668s ok 2452 - Line 493 "[% n.fmt('%04.2d') %]" => " 07" 668s ok 2453 - Line 494 "[% n.fmt('%+04.2d') %]" => " +07" 668s ok 2454 - Line 495 "[% n.fmt('% 04.2d') %]" => " 07" 668s ok 2455 - Line 496 "[% n.fmt('% +04.2d') %]" => " +07" 668s ok 2456 - Line 497 "[% n.fmt('%02f') %]" => "7.000000" 668s ok 2457 - Line 498 "[% n.fmt('%04.2f') %]" => "7.00" 668s ok 2458 - Line 499 "[% n.fmt('%05.2f') %]" => "07.00" 668s ok 2459 - Line 500 "[% n.fmt('% 5.2f') %]" => " 7.00" 668s ok 2460 - Line 501 "[% n.fmt('%+04.2f') %]" => "+7.00" 668s ok 2461 - Line 502 "[% n.fmt('% 04.2f') %]" => " 7.00" 668s ok 2462 - Line 503 "[% n.fmt('% +6.2f') %]" => " +7.00" 668s ok 2463 - Line 504 "[% n.fmt('%0+6.2f') %]" => "+07.00" 668s ok 2464 - Line 505 "[% n.fmt('%.5g') %]" => "12345" 668s ok 2465 - Line 506 "[% n.fmt('%.5g') %]" => "1.2346e+06" 668s ### list vmethods ################################### engine_option (stream) 668s ok 2466 - Line 511 "[% a.defined %]" => "1" 668s ok 2467 - Line 512 "[% a.defined(1) %]" => "1" 668s ok 2468 - Line 513 "[% a.defined(3) %]" => "" 668s ok 2469 - Line 514 "[% a.first %]" => "2" 668s ok 2470 - Line 515 "[% a.first(3).join %]" => "2 3 4" 668s ok 2471 - Line 516 "[% a.fmt %]" => "2 3" 668s ok 2472 - Line 517 "[% a.fmt('%02d') %]" => "02 03" 668s ok 2473 - Line 518 "[% a.fmt('%02d',' ') %]" => "02 03" 668s ok 2474 - Line 519 "[% a.fmt('%02d','|') %]" => "02|03" 668s ok 2475 - Line 520 "[% a.fmt('%0*d','|', 3) %]" => "002|003" 668s ok 2476 - Line 521 "[% a.grep.join %]" => "2 3" 668s ok 2477 - Line 522 "[% a.grep(2).join %]" => "2" 668s ok 2478 - Line 523 "[% a.grep(->(n){n % 2}).join %]" => "3 5 7" 668s ok 2479 - Line 524 "[% a.hash.items.join %]" => "2 3" 668s ok 2480 - Line 525 "[% a.hash(5).items.sort.join %]" => "2 3 5 6" 668s ok 2481 - Line 526 "[% a.import(5) %]|[% a.join %]" => "|2 3" 668s ok 2482 - Line 528 "[% a.import([5]) %]|[% a.join %]" => "|2 3 5" 668s ok 2483 - Line 530 "[% a.item %]" => "2" 668s ok 2484 - Line 531 "[% a.item(1) %]" => "3" 668s ok 2485 - Line 532 "[% a.join %]" => "2 3" 668s ok 2486 - Line 533 "[% a.join('|') %]" => "2|3" 668s ok 2487 - Line 534 "[% a.last %]" => "10" 668s ok 2488 - Line 535 "[% a.last(3).join %]" => "8 9 10" 668s ok 2489 - Line 536 "[% a.list.join %]" => "2 3" 668s ok 2490 - Line 537 "[% a.map(->(n){ n.repeat(3) }).join %]" => "222 333" 668s ok 2491 - Line 538 "[% a.max %]" => "1" 668s ok 2492 - Line 539 "[% a.merge(5).join %]" => "2 3" 668s ok 2493 - Line 540 "[% a.merge([5]).join %]" => "2 3 5" 668s ok 2494 - Line 541 "[% a.merge([5]).null %][% a.join %]" => "2 3" 668s ok 2495 - Line 542 "[% a.nsort.join %]" => "1 2 3" 668s ok 2496 - Line 543 "[% a.nsort('b').0.b %]" => "7" 668s ok 2497 - Line 544 "[% a.pop %][% a.join %]" => "32" 668s ok 2498 - Line 545 "[% a.push(3) %][% a.join %]" => "2 3 3" 668s ok 2499 - Line 546 "[% a.pick %]" => "2" 668s ok 2500 - Line 547 "[% a.pick(5).join('') %]" => "23223" 668s ok 2501 - Line 548 "[% a.reverse.join %]" => "3 2" 668s ok 2502 - Line 549 "[% a.shift %][% a.join %]" => "23" 668s ok 2503 - Line 550 "[% a.size %]" => "2" 668s ok 2504 - Line 551 "[% a.slice.join %]" => "2 3 4 5" 668s ok 2505 - Line 552 "[% a.slice(2).join %]" => "4 5" 668s ok 2506 - Line 553 "[% a.slice(0,2).join %]" => "2 3 4" 668s ok 2507 - Line 554 "[% a.sort.join %]" => "1 2 3" 668s ok 2508 - Line 555 "[% a.sort('b').0.b %]" => "wee" 668s ok 2509 - Line 556 "[% c.sort(->(a,b){ a.k cmp b.k }).map(->{this.k}).join %]" => "a wee wow" 668s ok 2510 - Line 557 "[% a.splice.join %]|[% a.join %]" => "2 3 4 5|" 668s ok 2511 - Line 558 "[% a.splice(2).join %]|[% a.join %]" => "4 5|2 3" 668s ok 2512 - Line 559 "[% a.splice(0,2).join %]|[% a.join %]" => "2 3|4 5" 668s ok 2513 - Line 560 "[% a.splice(0,2,'hrm').join %]|[% a.join %]" => "2 3|hrm 4 5" 668s ok 2514 - Line 561 "[% a.unique.join %]" => "2 3" 668s ok 2515 - Line 562 "[% a.unshift(3) %][% a.join %]" => "3 2 3" 668s ### hash vmethods ################################### engine_option (stream) 668s ok 2516 - Line 567 "[% h.defined %]" => "1" 668s ok 2517 - Line 568 "[% h.defined('a') %]" => "1" 668s ok 2518 - Line 569 "[% h.defined('b') %]" => "" 668s ok 2519 - Line 570 "[% h.defined('a') %]" => "" 668s ok 2520 - Line 571 "[% h.delete('a') %]|[% h.keys.0 %]" => "|b" 668s ok 2521 - Line 572 "[% h.delete('a', 'b').join %]|[% h.keys.0 %]" => "|" 668s ok 2522 - Line 573 "[% h.delete('a', 'c').join %]|[% h.keys.0 %]" => "|b" 668s ok 2523 - Line 574 "[% h.each.sort.join %]" => "1 2 a b" 668s ok 2524 - Line 575 "[% h.exists('a') %]" => "1" 668s ok 2525 - Line 576 "[% h.exists('b') %]" => "" 668s ok 2526 - Line 577 "[% h.exists('a') %]" => "1" 668s ok 2527 - Line 578 "[% h.fmt %]" => "b B 668s # c C" 668s ok 2528 - Line 579 "[% h.fmt('%s => %s') %]" => "b => B 668s # c => C" 668s ok 2529 - Line 580 "[% h.fmt('%s => %s', '|') %]" => "b => B|c => C" 668s ok 2530 - Line 581 "[% h.fmt('%*s=>%s', '|', 3) %]" => " b=>B| c=>C" 668s ok 2531 - Line 582 "[% h.fmt('%*s=>%*s', '|', 3, 4) %]" => " b=> B| c=> C" 668s ok 2532 - Line 583 "[% h.hash.fmt %]" => "b B 668s # c C" 668s ok 2533 - Line 584 "[% h.import('a') %]|[% h.items.sort.join %]" => "|b B c C" 668s ok 2534 - Line 585 "[% h.import({'b' => 'boo'}) %]|[% h.items.sort.join %]" => "|b boo c C" 668s ok 2535 - Line 586 "[% h.item('a') %]" => "A" 668s ok 2536 - Line 587 "[% h.item('_a') %]" => "" 668s ok 2537 - Line 588 "[% h.items.sort.join %]" => "1 2 a b" 668s ok 2538 - Line 589 "[% h.keys.sort.join %]" => "a b" 668s ok 2539 - Line 590 "[% h.list('each').sort.join %]" => "1 2 a b" 668s ok 2540 - Line 591 "[% h.list('keys').sort.join %]" => "a b" 668s ok 2541 - Line 592 "[% h.list('pairs').0.items.sort.join %]" => "1 a key value" 668s ok 2542 - Line 593 "[% h.list('values').sort.join %]" => "1 2" 668s ok 2543 - Line 594 "[% h.null %]" => "" 668s ok 2544 - Line 595 "[% h.nsort.join %]" => "b a" 668s ok 2545 - Line 596 "[% h.pairs.0.items.sort.join %]" => "1 a key value" 668s ok 2546 - Line 597 "[% h.size %]" => "2" 668s ok 2547 - Line 598 "[% h.sort.join %]" => "b a" 668s ok 2548 - Line 599 "[% h.values.sort.join %]" => "1 2" 668s ### vmethods as functions ########################### engine_option (stream) 668s ok 2549 - Line 604 "[% sprintf('%d %d', 7, 8) %] d" => "7 8 d" 668s ok 2550 - Line 605 "[% sprintf('%d %d', 7, 8) %] d" => "7 8 d" 668s ok 2551 - Line 606 "[% sprintf('%d %d', 7, 8) %] d" => " d" 668s ok 2552 - Line 607 "[% int(2.234) %]" => "2" 668s ok 2553 - Line 609 "[% int(2.234) ; int = 44; int(2.234) ; SET int; int(2.234) %]" => "2442" 668s ### more virtual methods / filters ################## engine_option (stream) 668s ok 2554 - Line 614 "[% [0 .. 10].reverse.1 %]" => "9" 668s ok 2555 - Line 615 "[% {a => 'A'}.a %]" => "A" 668s ok 2556 - Line 616 "[% 'This is a string'.length %]" => "16" 668s ok 2557 - Line 617 "[% 123.length %]" => "3" 668s ok 2558 - Line 618 "[% 123.2.length %]" => "5" 668s ok 2559 - Line 619 "[% -123.2.length %]" => "-5" 668s ok 2560 - Line 620 "[% (-123.2).length %]" => "6" 668s ok 2561 - Line 621 "[% a = 23; a.0 %]" => "23" 668s ok 2562 - Line 622 "[% 1.rand %]" => "0.15075242533052" 668s ok 2563 - Line 624 "[% n.size %]" => "SIZE" 668s ok 2564 - Line 625 "[% n|size %]" => "2" 668s ok 2565 - Line 627 "[% "1" | indent(2) %]" => " 1" 668s ok 2566 - Line 629 "[% n FILTER size %]" => "1" 668s ok 2567 - Line 631 "[% n FILTER repeat %]" => "1" 668s ok 2568 - Line 632 "[% n FILTER repeat(0) %]" => "" 668s ok 2569 - Line 633 "[% n FILTER repeat(1) %]" => "1" 668s ok 2570 - Line 634 "[% n FILTER repeat(2) %]" => "11" 668s ok 2571 - Line 635 "[% n FILTER repeat(2,'|') %]" => "1|1" 668s ok 2572 - Line 637 "[% n FILTER echo = repeat(2) %][% n FILTER echo %]" => "1111" 668s ok 2573 - Line 638 "[% n FILTER echo = repeat(2) %][% n | echo %]" => "1111" 668s ok 2574 - Line 639 "[% n FILTER echo = repeat(2) %][% n|echo.length %]" => "112" 668s ok 2575 - Line 640 "[% n FILTER echo = repeat(2) %][% n FILTER $foo %]" => "1111" 668s ok 2576 - Line 641 "[% n FILTER echo = repeat(2) %][% n | $foo %]" => "1111" 668s ok 2577 - Line 642 "[% n FILTER echo = repeat(2) %][% n|$foo.length %]" => "112" 668s ok 2578 - Line 644 "[% "hi" FILTER $foo %]" => "hihi" 668s ok 2579 - Line 645 "[% FILTER $foo %]hi[% END %]" => "hihi" 668s ok 2580 - Line 646 "[% "hi" FILTER foo %]" => "hihi" 668s ok 2581 - Line 647 "[% "hi" FILTER foo %]" => "hihi" 668s ok 2582 - Line 648 "[% "hi" FILTER foo(2) %]" => "hihi" 668s ok 2583 - Line 650 "[% ["0".."9"].pick %]" => "9" 668s ok 2584 - Line 652 "[% ' ' | uri %]" => "%20" 668s ok 2585 - Line 654 "[% "one".fmt %]" => "one" 668s ok 2586 - Line 655 "[% 2.fmt("%02d") %]" => "02" 668s ok 2587 - Line 657 "[% [1..3].fmt %]" => "1 2 3" 668s ok 2588 - Line 658 "[% [1..3].fmt("%02d") %]" => "01 02 03" 668s ok 2589 - Line 659 "[% [1..3].fmt("%s", ", ") %]" => "1, 2, 3" 668s ok 2590 - Line 661 "[% {a => "B", c => "D"}.fmt %]" => "a B 668s # c D" 668s ok 2591 - Line 662 "[% {a => "B", c => "D"}.fmt("%s:%s") %]" => "a:B 668s # c:D" 668s ok 2592 - Line 663 "[% {a => "B", c => "D"}.fmt("%s:%s", "; ") %]" => "a:B; c:D" 668s ok 2593 - Line 665 "[% 1|format("%s") %]" => "1" 668s ok 2594 - Line 666 "[% 1|format("%*s", 6) %]" => " 1" 668s ok 2595 - Line 667 "[% 1|format("%-*s", 6) %]" => "1 " 668s ok 2596 - Line 669 "[% 1.fmt("%-*s", 6) %]" => "1 " 668s ok 2597 - Line 670 "[% [1,2].fmt("%-*s", "|", 6) %]" => "1 |2 " 668s ok 2598 - Line 671 "[% {1=>2,3=>4}.fmt("%*s:%*s", "|", 3, 3) %]" => " 1: 2| 3: 4" 668s ok 2599 - Line 673 "[% foo %]" => "&" 668s ok 2600 - Line 674 "[% "&" %]" => "&" 668s ok 2601 - Line 675 "[% foo | none %]" => "&" 668s ok 2602 - Line 676 "[% foo.bar %]" => "&" 668s ok 2603 - Line 677 "[% foo.bar | none %]" => "&" 668s ok 2604 - Line 678 "[% GET foo %]" => "&" 668s ok 2605 - Line 679 "[% GET "&" %]" => "&" 668s ok 2606 - Line 680 "[% GET foo | none %]" => "&" 668s ok 2607 - Line 681 "[% Text.length(foo) %]" => "1" 668s ### virtual objects ################################# engine_option (stream) 668s ok 2608 - Line 686 "[% a = "foobar" %][% Text.length(a) %]" => "6" 668s ok 2609 - Line 687 "[% a = [1 .. 10] %][% List.size(a) %]" => "10" 668s ok 2610 - Line 688 "[% a = {a=>"A", b=>"B"} ; Hash.size(a) %]" => "2" 668s ok 2611 - Line 690 "[% a = Text.new("This is a string") %][% a.length %]" => "16" 668s ok 2612 - Line 691 "[% a = List.new("one", "two", "three") %][% a.size %]" => "3" 668s ok 2613 - Line 692 "[% a = Hash.new("one", "ONE") %][% a.one %]" => "ONE" 668s ok 2614 - Line 693 "[% a = Hash.new(one = "ONE") %][% a.one %]" => "ONE" 668s ok 2615 - Line 694 "[% a = Hash.new(one => "ONE") %][% a.one %]" => "ONE" 668s ok 2616 - Line 696 "[% {a => 1, b => 2} | Hash.keys | List.sort | List.join(", ") %]" => "a, b" 668s ### chomping ######################################## engine_option (stream) 668s ok 2617 - Line 701 " [% foo %]" => " " 668s ok 2618 - Line 702 " [%- foo %]" => "" 668s ok 2619 - Line 703 " 668s # [%- foo %]" => "" 668s ok 2620 - Line 704 " 668s # [%- foo %]" => "" 668s ok 2621 - Line 705 " 668s # 668s # [%- foo %]" => " 668s # " 668s ok 2622 - Line 706 " 668s # 668s # [%- foo %]" => " 668s # " 668s ok 2623 - Line 707 " 668s # [%- foo %]" => " " 668s ok 2624 - Line 708 " 668s # 668s # [%- foo %]" => " 668s # " 668s ok 2625 - Line 710 "[% 7 %] " => "7 " 668s ok 2626 - Line 711 "[% 7 -%] " => "7 " 668s ok 2627 - Line 712 "[% 7 -%] 668s # " => "7" 668s ok 2628 - Line 713 "[% 7 -%] 668s # " => "7" 668s ok 2629 - Line 714 "[% 7 -%] 668s # " => "7 " 668s ok 2630 - Line 715 "[% 7 -%] 668s # 668s # 668s # " => "7 668s # 668s # " 668s ok 2631 - Line 716 "[% 7 -%] 668s # " => "7 " 668s ### string operators ################################ engine_option (stream) 668s ok 2632 - Line 721 "[% a = "foo"; a _ "bar" %]" => "foobar" 668s ok 2633 - Line 722 "[% a = "foo"; a ~ "bar" %]" => "foobar" 668s ok 2634 - Line 723 "[% a = "foo"; a ~= "bar"; a %]" => "foobar" 668s ok 2635 - Line 724 "[% "b" gt "c" %]<<<" => "<<<" 668s ok 2636 - Line 725 "[% "b" gt "a" %]<<<" => "1<<<" 668s ok 2637 - Line 726 "[% "b" ge "c" %]<<<" => "<<<" 668s ok 2638 - Line 727 "[% "b" ge "b" %]<<<" => "1<<<" 668s ok 2639 - Line 728 "[% "b" lt "c" %]<<<" => "1<<<" 668s ok 2640 - Line 729 "[% "b" lt "a" %]<<<" => "<<<" 668s ok 2641 - Line 730 "[% "b" le "a" %]<<<" => "<<<" 668s ok 2642 - Line 731 "[% "b" le "b" %]<<<" => "1<<<" 668s ok 2643 - Line 732 "[% "a" cmp "b" %]<<<" => "-1<<<" 668s ok 2644 - Line 733 "[% "b" cmp "b" %]<<<" => "0<<<" 668s ok 2645 - Line 734 "[% "c" cmp "b" %]<<<" => "1<<<" 668s ### math operators ################################## engine_option (stream) 668s ok 2646 - Line 739 "[% 1 + 2 %]" => "3" 668s ok 2647 - Line 740 "[% 1 + 2 + 3 %]" => "6" 668s ok 2648 - Line 741 "[% (1 + 2) %]" => "3" 668s ok 2649 - Line 742 "[% 2 - 1 %]" => "1" 668s ok 2650 - Line 743 "[% -1 + 2 %]" => "1" 668s ok 2651 - Line 744 "[% -1+2 %]" => "1" 668s ok 2652 - Line 745 "[% 2 - 1 %]" => "1" 668s ok 2653 - Line 746 "[% 2-1 %]" => "1" 668s ok 2654 - Line 747 "[% 2 - -1 %]" => "3" 668s ok 2655 - Line 748 "[% 4 * 2 %]" => "8" 668s ok 2656 - Line 749 "[% 4 / 2 %]" => "2" 668s ok 2657 - Line 750 "[% 10 / 3 %]" => "3.33333333333333" 668s ok 2658 - Line 751 "[% 10 div 3 %]" => "3" 668s ok 2659 - Line 752 "[% 2 ** 3 %]" => "8" 668s ok 2660 - Line 753 "[% 1 + 2 * 3 %]" => "7" 668s ok 2661 - Line 754 "[% 3 * 2 + 1 %]" => "7" 668s ok 2662 - Line 755 "[% (1 + 2) * 3 %]" => "9" 668s ok 2663 - Line 756 "[% 3 * (1 + 2) %]" => "9" 668s ok 2664 - Line 757 "[% 1 + 2 ** 3 %]" => "9" 668s ok 2665 - Line 758 "[% 2 * 2 ** 3 %]" => "16" 668s ok 2666 - Line 759 "[% SET foo = 1 %][% foo + 2 %]" => "3" 668s ok 2667 - Line 760 "[% SET foo = 1 %][% (foo + 2) %]" => "3" 668s ok 2668 - Line 762 "[% a = 1; (a += 2) %]" => "3" 668s ok 2669 - Line 763 "[% a = 1; (a -= 2) %]" => "-1" 668s ok 2670 - Line 764 "[% a = 4; (a /= 2) %]" => "2" 668s ok 2671 - Line 765 "[% a = 1; (a *= 2) %]" => "2" 668s ok 2672 - Line 766 "[% a = 3; (a **= 2) %]" => "9" 668s ok 2673 - Line 767 "[% a = 1; (a %= 2) %]" => "1" 668s ok 2674 - Line 768 "[% a = 1; (a += 2 + 3) %]" => "6" 668s ok 2675 - Line 769 "[% a = 1; b = 2; (a += b += 3) %]|[% a %]|[% b %]" => "6|6|5" 668s ok 2676 - Line 770 "[% a = 1; b = 2; (a += (b += 3)) %]|[% a %]|[% b %]" => "6|6|5" 668s ok 2677 - Line 772 "[% a += 1 %]-[% a %]-[% a += 1 %]-[% a %]" => "-1--2" 668s ok 2678 - Line 773 "[% (a += 1) %]-[% (a += 1) %]" => "1-2" 668s ok 2679 - Line 775 "[% a = 2; a -= 3; a %]" => "-1" 668s ok 2680 - Line 776 "[% a = 2; a *= 3; a %]" => "6" 668s ok 2681 - Line 777 "[% a = 2; a /= .5; a %]" => "4" 668s ok 2682 - Line 778 "[% a = 8; a %= 3; a %]" => "2" 668s ok 2683 - Line 779 "[% a = 2; a **= 3; a %]" => "8" 668s ok 2684 - Line 781 "[% a = 1 %][% ++a %][% a %]" => "22" 668s ok 2685 - Line 782 "[% a = 1 %][% a++ %][% a %]" => "12" 668s ok 2686 - Line 783 "[% a = 1 %][% --a %][% a %]" => "00" 668s ok 2687 - Line 784 "[% a = 1 %][% a-- %][% a %]" => "10" 668s ok 2688 - Line 785 "[% a++ FOR [1..3] %]" => "012" 668s ok 2689 - Line 786 "[% --a FOR [1..3] %]" => "-1-2-3" 668s ok 2690 - Line 788 "[% 2 > 3 %]<<<" => "<<<" 668s ok 2691 - Line 789 "[% 2 > 1 %]<<<" => "1<<<" 668s ok 2692 - Line 790 "[% 2 >= 3 %]<<<" => "<<<" 668s ok 2693 - Line 791 "[% 2 >= 2 %]<<<" => "1<<<" 668s ok 2694 - Line 792 "[% 2 < 3 %]<<<" => "1<<<" 668s ok 2695 - Line 793 "[% 2 < 1 %]<<<" => "<<<" 668s ok 2696 - Line 794 "[% 2 <= 1 %]<<<" => "<<<" 668s ok 2697 - Line 795 "[% 2 <= 2 %]<<<" => "1<<<" 668s ok 2698 - Line 796 "[% 1 <=> 2 %]<<<" => "-1<<<" 668s ok 2699 - Line 797 "[% 2 <=> 2 %]<<<" => "0<<<" 668s ok 2700 - Line 798 "[% 3 <=> 2 %]<<<" => "1<<<" 668s ### boolean operators ############################### engine_option (stream) 668s ok 2701 - Line 803 "[% 5 && 6 %]" => "6" 668s ok 2702 - Line 804 "[% 5 || 6 %]" => "5" 668s ok 2703 - Line 805 "[% 0 || 6 %]" => "6" 668s ok 2704 - Line 806 "[% 0 && 6 %]" => "0" 668s ok 2705 - Line 807 "[% 0 && 0 %]" => "0" 668s ok 2706 - Line 808 "[% 5 && 6 && 7%]" => "7" 668s ok 2707 - Line 809 "[% 0 || 1 || 2 %]" => "1" 668s ok 2708 - Line 811 "[% 5 + (0 || 5) %]" => "10" 668s ok 2709 - Line 814 "[% 1 ? 2 : 3 %]" => "2" 668s ok 2710 - Line 815 "[% 0 ? 2 : 3 %]" => "3" 668s ok 2711 - Line 816 "[% 0 ? (1 ? 2 : 3) : 4 %]" => "4" 668s ok 2712 - Line 817 "[% 0 ? 1 ? 2 : 3 : 4 %]" => "4" 668s ok 2713 - Line 819 "[% t = 1 || 0 ? 3 : 4 %][% t %]" => "3" 668s ok 2714 - Line 820 "[% t = 0 or 1 ? 3 : 4 %][% t %]" => "3" 668s ok 2715 - Line 821 "[% t = 1 or 0 ? 3 : 4 %][% t %]" => "1" 668s ok 2716 - Line 823 "[% 0 ? 2 : 3 %]" => "3" 668s ok 2717 - Line 824 "[% 1 ? 2 : 3 %]" => "2" 668s ok 2718 - Line 825 "[% 0 ? 1 ? 2 : 3 : 4 %]" => "4" 668s ok 2719 - Line 826 "[% t = 0 ? 1 ? [1..4] : [2..4] : [3..4] %][% t.0 %]" => "3" 668s ok 2720 - Line 827 "[% t = 1 || 0 ? 0 : 1 || 2 ? 2 : 3 %][% t %]" => "0" 668s ok 2721 - Line 828 "[% t = 0 or 0 ? 0 : 1 or 2 ? 2 : 3 %][% t %]" => "1" 668s ok 2722 - Line 829 "[% t = 0 or 0 ? 0 : 0 or 2 ? 2 : 3 %][% t %]" => "2" 668s ok 2723 - Line 831 "[% 0 ? 1 ? 1 + 2 * 3 : 1 + 2 * 4 : 1 + 2 * 5 %]" => "11" 668s ok 2724 - Line 833 "[% foo //= 2 ; foo %]" => "2" 668s ok 2725 - Line 834 "[% foo = 3; foo //= 2; foo %]" => "3" 668s ok 2726 - Line 835 "[% foo = 3; SET foo; foo //= 2; foo %]" => "2" 668s ok 2727 - Line 837 "[% 5 // 6 %]" => "5" 668s ok 2728 - Line 838 "[% foo // 6 %]" => "6" 668s ok 2729 - Line 839 "[% foo // 6 %]" => "6" 668s ok 2730 - Line 840 "[% foo // 6 %]" => "" 668s ok 2731 - Line 841 "[% foo // 6 %]" => "bar" 668s ok 2732 - Line 843 "[% foo err 6 %]" => "6" 668s ok 2733 - Line 844 "[% foo ERR 6 %]" => "6" 668s ### regex ########################################### engine_option (stream) 668s ok 2734 - Line 850 "[% 'foo'.match(/foo/) ? 1 : 0 %]" => "1" 668s ok 2735 - Line 851 "[% 'foo'.match(/foo) ? 1 : 0 %]" => "" 668s ok 2736 - Line 852 "[% 'foo'.match(/fo o/x) ? 1 : 0 %]" => "1" 668s ok 2737 - Line 853 "[% 'foo'.match(/Foo/i) ? 1 : 0 %]" => "1" 668s ok 2738 - Line 854 "[% 'f 668s # o'.match(/f.o/s) ? 1 : 0 %]" => "1" 668s ok 2739 - Line 855 "[% ' 668s # foo'.match(/^foo/m) ? 1 : 0 %]" => "1" 668s ok 2740 - Line 856 "[% 'foo'.match(/foo/e) ? 1 : 0 %]" => "" 668s ok 2741 - Line 857 "[% 'foo'.match(/foo/g) ? 1 : 0 %]" => "" 668s ok 2742 - Line 858 "[% 'foo'.match(/foo) ? 1 : 0 %]" => "" 668s ok 2743 - Line 859 "[% 'foo'.match(/foo**/) ? 1 : 0 %]" => "" 668s ok 2744 - Line 860 "[% 'fo/o'.match(/fo\/o/) ? 1 : 0 %]" => "1" 668s ok 2745 - Line 861 "[% 'foobar'.match(/(f\w\w)/).0 %]" => "foo" 668s ### BLOCK / PROCESS / INCLUDE / WRAPPER ############# engine_option (stream) 668s ok 2746 - Line 867 "[% PROCESS foo %]one" => "" 668s ok 2747 - Line 868 "[% BLOCK foo %]one" => "" 668s ok 2748 - Line 869 "[% BLOCK foo %][% END %]one" => "one" 668s ok 2749 - Line 870 "[% BLOCK %][% END %]one" => "one" 668s ok 2750 - Line 871 "[% BLOCK foo %]hi there[% END %]one" => "one" 668s ok 2751 - Line 872 "[% BLOCK foo %][% BLOCK foo %][% END %][% END %]" => "" 668s ok 2752 - Line 873 "[% BLOCK foo %]hi there[% END %][% PROCESS foo %]" => "hi there" 668s ok 2753 - Line 874 "[% PROCESS foo %][% BLOCK foo %]hi there[% END %]" => "hi there" 668s ok 2754 - Line 875 "[% BLOCK foo %]hi there[% END %][% PROCESS foo foo %]" => "hi therehi there" 668s ok 2755 - Line 876 "[% BLOCK foo %]hi there[% END %][% PROCESS foo, foo %]" => "hi therehi there" 668s ok 2756 - Line 877 "[% BLOCK foo %]hi there[% END %][% PROCESS foo + foo %]" => "hi therehi there" 668s ok 2757 - Line 878 "[% BLOCK foo %]hi [% one %] there[% END %][% PROCESS foo %]" => "hi ONE there" 668s ok 2758 - Line 879 "[% BLOCK foo %]hi [% IF 1 %]Yes[% END %] there[% END %]<<[% PROCESS foo %]>>" => "<>" 668s ok 2759 - Line 880 "[% BLOCK foo %]hi [% one %] there[% END %][% PROCESS foo one = 'two' %]" => "hi two there" 668s ok 2760 - Line 881 "[% BLOCK foo %]hi [% one.two %] there[% END %][% PROCESS foo one.two = 'two' %]" => "hi two there" 668s ok 2761 - Line 882 "[% BLOCK foo %]hi [% one.two %] there[% END %][% PROCESS foo + foo one.two = 'two' %]" => "hi two therehi two there" 668s ok 2762 - Line 883 "[% BLOCK foo %][% BLOCK bar %]hi [% one %] there[% END %][% END %][% PROCESS foo/bar one => 'two' %]" => "hi two there" 668s ok 2763 - Line 885 "[% BLOCK b %]Ta-Da[% END %][% self = {a => 'b'} %][% PROCESS $self.a self = 'blah' %]" => "Ta-Da" 668s ok 2764 - Line 886 "[% BLOCK b %]Ta-Da[% END %][% self = {a => 'b'} %][% INCLUDE $self.a self = 'blah' %]" => "Ta-Da" 668s ok 2765 - Line 887 "[% BLOCK b %]Ta-Da[% END %][% self = 'b' %][% PROCESS $self self = 'blah'; self %]" => "Ta-Dablah" 668s ok 2766 - Line 888 "[% BLOCK b %]Ta-Da[% END %][% self = 'b' %][% INCLUDE $self self = 'blah'; self %]" => "Ta-Dab" 668s ok 2767 - Line 890 "[% BLOCK foo %]hi [% one %] there[% END %][% PROCESS foo one = 'two' %][% one %]" => "hi two theretwo" 668s ok 2768 - Line 891 "[% BLOCK foo %]hi [% one %] there[% END %][% INCLUDE foo one = 'two' %][% one %]" => "hi two there" 668s ok 2769 - Line 894 "[% BLOCK foo %]FOO[% IF ! a ; a = 1; PROCESS bar; END %][% END %][% BLOCK bar %]BAR[% PROCESS foo %][% END %][% PROCESS foo %]d" => "FOOBAR" 668s ok 2770 - Line 895 "[% BLOCK foo %]FOO[% IF ! a ; a = 1; PROCESS bar; END %][% END %][% BLOCK bar %]BAR[% PROCESS foo %][% END %][% PROCESS foo %]" => "FOOBARFOO" 668s ok 2771 - Line 897 "[% BLOCK foo %]([% content %])[% END %][% WRAPPER foo %]hi there[% END %]" => "(hi there)" 668s ok 2772 - Line 898 "[% BLOCK foo %]([% one = 1; content %])[% END %][% WRAPPER foo %]hi there[% END %][% one %]" => "(hi there)won" 668s ok 2773 - Line 900 "[% a = 23; PROCESS $foo %]" => "bar 23 baz" 668s ### IF / UNLESS / ELSIF / ELSE ###################### engine_option (stream) 668s ok 2774 - Line 905 "[% IF 1 %]Yes[% END %]" => "Yes" 668s ok 2775 - Line 906 "[% IF 0 %]Yes[% END %]" => "" 668s ok 2776 - Line 907 "[% IF 0 %]Yes[% ELSE %]No[% END %]" => "No" 668s ok 2777 - Line 908 "[% IF 0 %]Yes[% ELSIF 1 %]No[% END %]" => "No" 668s ok 2778 - Line 909 "[% IF 0 %]Yes[% ELSIF 0 %]No[% END %]" => "" 668s ok 2779 - Line 910 "[% IF 0 %]Yes[% ELSIF 0 %]No[% ELSE %]hmm[% END %]" => "hmm" 668s ok 2780 - Line 912 "[% UNLESS 1 %]Yes[% END %]" => "" 668s ok 2781 - Line 913 "[% UNLESS 0 %]Yes[% END %]" => "Yes" 668s ok 2782 - Line 914 "[% UNLESS 0 %]Yes[% ELSE %]No[% END %]" => "Yes" 668s ok 2783 - Line 915 "[% UNLESS 1 %]Yes[% ELSIF 1 %]No[% END %]" => "No" 668s ok 2784 - Line 916 "[% UNLESS 1 %]Yes[% ELSIF 0 %]No[% END %]" => "" 668s ok 2785 - Line 917 "[% UNLESS 1 %]Yes[% ELSIF 0 %]No[% ELSE %]hmm[% END %]" => "hmm" 668s ### comments ######################################## engine_option (stream) 668s ok 2786 - Line 922 "[%\# one %]f" => "f" 668s ok 2787 - Line 923 "[%\# 668s # one %]f" => "f" 668s ok 2788 - Line 924 "[%-\# 668s # one %]f" => "f" 668s ok 2789 - Line 925 "[% \# 668s # one %]f" => "ONEf" 668s ok 2790 - Line 926 "[% \# one %] 668s # one %]f" => " 668s # one %]f" 668s ok 2791 - Line 928 "[%\# BLOCK one %]" => "" 668s ok 2792 - Line 929 "[%\# BLOCK one %]two" => "two" 668s ok 2793 - Line 930 "[%\# BLOCK one %]two[% END %]" => "" 668s ok 2794 - Line 931 "[%\# BLOCK one %]two[% END %]three" => "" 668s ok 2795 - Line 932 "[% %]" => "" 668s ok 2796 - Line 933 "[% 668s # # Some comment 668s # CALL 1 -%] 668s # foo" => "foo" 668s ### FOREACH / NEXT / LAST ########################### engine_option (stream) 668s ok 2797 - Line 941 "[% FOREACH foo %]" => "" 668s ok 2798 - Line 942 "[% FOREACH foo %][% END %]" => "" 668s ok 2799 - Line 943 "[% FOREACH foo %]bar[% END %]" => "" 668s ok 2800 - Line 944 "[% FOREACH foo %]bar[% END %]" => "bar" 668s ok 2801 - Line 945 "[% FOREACH f IN foo %]bar[% f %][% END %]" => "bar1bar2" 668s ok 2802 - Line 946 "[% FOREACH f = foo %]bar[% f %][% END %]" => "bar1bar2" 668s ok 2803 - Line 947 "[% FOREACH f = [1,2] %]bar[% f %][% END %]" => "bar1bar2" 668s ok 2804 - Line 948 "[% FOREACH f = [1..3] %]bar[% f %][% END %]" => "bar1bar2bar3" 668s ok 2805 - Line 949 "[% FOREACH f = [{a=>'A'},{a=>'B'}] %]bar[% f.a %][% END %]" => "barAbarB" 668s ok 2806 - Line 950 "[% FOREACH [{a=>'A'},{a=>'B'}] %]bar[% a %][% END %]" => "barAbarB" 668s ok 2807 - Line 951 "[% FOREACH [{a=>'A'},{a=>'B'}] %]bar[% a %][% END %][% a %]" => "barAbarB" 668s ok 2808 - Line 952 "[% FOREACH f = [1..3] %][% loop.count %]/[% loop.size %] [% END %]" => "1/3 2/3 3/3 " 668s ok 2809 - Line 953 "[% FOREACH f = [1..3] %][% IF loop.first %][% f %][% END %][% END %]" => "1" 668s ok 2810 - Line 954 "[% FOREACH f = [1..3] %][% IF loop.last %][% f %][% END %][% END %]" => "3" 668s ok 2811 - Line 955 "[% FOREACH f = [1..3] %][% IF loop.first %][% NEXT %][% END %][% f %][% END %]" => "23" 668s ok 2812 - Line 956 "[% FOREACH f = [1..3] %][% IF loop.first %][% LAST %][% END %][% f %][% END %]" => "" 668s ok 2813 - Line 957 "[% FOREACH f = [1..3] %][% f %][% IF loop.first %][% NEXT %][% END %][% END %]" => "123" 668s ok 2814 - Line 958 "[% FOREACH f = [1..3] %][% f %][% IF loop.first %][% LAST %][% END %][% END %]" => "1" 668s ok 2815 - Line 959 "[% loop.odd FOREACH [1..5] %]" => "10101" 668s ok 2816 - Line 960 "[% loop.even FOREACH [1..5] %]" => "01010" 668s ok 2817 - Line 961 "[% loop.parity FOREACH [1..5] %]" => "oddevenoddevenodd" 668s ok 2818 - Line 963 "[% a = ["Red", "Blue"] ; FOR [0..3] ; a.${ loop.index % a.size } ; END %]" => "RedBlueRedBlue" 668s ok 2819 - Line 968 "[% foo = 1 %][% FOREACH [1..10] %][% foo %][% foo = 2 %][% END %]" => "1222222222" 668s ok 2820 - Line 969 "[% f = 1 %][% FOREACH i = [1..10] %][% i %][% f = 2 %][% END %][% f %]" => "123456789102" 668s ok 2821 - Line 970 "[% f = 1 %][% FOREACH [1..10] %][% f = 2 %][% END %][% f %]" => "1" 668s ok 2822 - Line 971 "[% f = 1 %][% FOREACH f = [1..10] %][% f %][% END %][% f %]" => "1234567891010" 668s ok 2823 - Line 972 "[% FOREACH [1] %][% SET a = 1 %][% END %][% a %]" => "" 668s ok 2824 - Line 973 "[% a %][% FOREACH [1] %][% SET a = 1 %][% END %][% a %]" => "" 668s ok 2825 - Line 974 "[% a = 2 %][% FOREACH [1] %][% SET a = 1 %][% END %][% a %]" => "2" 668s ok 2826 - Line 975 "[% a = 2 %][% FOREACH [1] %][% a = 1 %][% END %][% a %]" => "2" 668s ok 2827 - Line 976 "[% a = 2 %][% FOREACH i = [1] %][% a = 1 %][% END %][% a %]" => "1" 668s ok 2828 - Line 977 "[% FOREACH i = [1] %][% SET a = 1 %][% END %][% a %]" => "1" 668s ok 2829 - Line 978 "[% f.b = 1 %][% FOREACH f.b = [1..10] %][% f.b %][% END %][% f.b %]" => "1234567891010" 668s ok 2830 - Line 979 "[% a = 1 %][% FOREACH [{a=>'A'},{a=>'B'}] %]bar[% a %][% END %][% a %]" => "barAbarB1" 668s ok 2831 - Line 980 "[% FOREACH [1..3] %][% loop.size %][% END %][% loop.size %]" => "333" 668s ok 2832 - Line 981 "[% FOREACH i = [1..3] %][% loop.size %][% END %][% loop.size %]" => "333" 668s ok 2833 - Line 984 "[% FOREACH f = [1..3]; 1; END %]" => "111" 668s ok 2834 - Line 985 "[% FOREACH f = [1..3]; f; END %]" => "123" 668s ok 2835 - Line 986 "[% FOREACH f = [1..3]; "$f"; END %]" => "123" 668s ok 2836 - Line 987 "[% FOREACH f = [1..3]; f + 1; END %]" => "234" 668s ok 2837 - Line 988 "[% FOREACH f IN [2,3,4]; FOREACH g IN [6,7,8]; f;g;", "; END; END %]" => "26, 27, 28, 36, 37, 38, 46, 47, 48, " 668s ok 2838 - Line 999 "[% FOREACH i IN foo; i.n; END %]" => "123" 668s ok 2839 - Line 1000 "[% FOREACH i IN foo; i.n; END %]" => "1" 668s ok 2840 - Line 1001 "[% FOREACH i IN foo; i.n; END %]" => "123" 668s ok 2841 - Line 1002 "[% FOREACH i IN foo; i.n; END %]" => "1" 668s ok 2842 - Line 1004 "[% FOREACH i IN foo; i.n; END %]" => "123" 668s ok 2843 - Line 1005 "[% FOREACH i IN foo; i.n; END %]" => "1" 668s ok 2844 - Line 1006 "[% FOREACH i IN foo; i.n; END %]" => "123" 668s ok 2845 - Line 1007 "[% FOREACH i IN foo; i.n; END %]" => "1" 668s ### LOOP ############################################ engine_option (stream) 668s ok 2846 - Line 1012 "[% var = [{key => 'a'}, {key => 'b'}] -%] 668s # [% LOOP var -%] 668s # ([% key %]) 668s # [% END %]" => " (a) 668s # (b) 668s # " 668s ok 2847 - Line 1021 "[% var = [{key => 'a'}, {key => 'b'}, {key => 'c'}] -%] 668s # [% LOOP var -%] 668s # ([% key; '|'; __first__; '|'; __last__; '|'; __inner__; '|'; __odd__ %]) 668s # [% END -%]" => "(a|1|0|0|1) 668s # (b|0|0|1|0) 668s # (c|0|1|0|1) 668s # " 668s ### WHILE ########################################### engine_option (stream) 668s ok 2848 - Line 1033 "[% WHILE foo %]" => "" 668s ok 2849 - Line 1034 "[% WHILE foo %][% END %]" => "" 668s ok 2850 - Line 1035 "[% WHILE (foo = foo - 1) %][% END %]" => "" 668s ok 2851 - Line 1036 "[% WHILE (foo = foo - 1) %][% foo %][% END %]" => "21" 668s ok 2852 - Line 1037 "[% WHILE foo %][% foo %][% foo = foo - 1 %][% END %]" => "321" 668s ok 2853 - Line 1039 "[% WHILE 1 %][% foo %][% foo = foo - 1 %][% LAST IF foo == 1 %][% END %]" => "32" 668s ok 2854 - Line 1040 "[% f = 10; WHILE f; f = f - 1 ; f ; END %]" => "9876543210" 668s ok 2855 - Line 1041 "[% f = 10; WHILE f; f = f - 1 ; f ; END ; f %]" => "98765432100" 668s ok 2856 - Line 1042 "[% f = 10; a = 2; WHILE f; f = f - 1 ; f ; a=3; END ; a%]" => "98765432103" 668s ok 2857 - Line 1044 "[% f = 10; WHILE (g=f); f = f - 1 ; f ; END %]" => "9876543210" 668s ok 2858 - Line 1045 "[% f = 10; WHILE (g=f); f = f - 1 ; f ; END ; f %]" => "98765432100" 668s ok 2859 - Line 1046 "[% f = 10; a = 2; WHILE (g=f); f = f - 1 ; f ; a=3; END ; a%]" => "98765432103" 668s ok 2860 - Line 1047 "[% f = 10; a = 2; WHILE (a=f); f = f - 1 ; f ; a=3; END ; a%]" => "98765432100" 668s ### STOP / RETURN / CLEAR ########################### engine_option (stream) 668s ok 2861 - Line 1052 "[% STOP %]" => "" 668s ok 2862 - Line 1053 "One[% STOP %]Two" => "One" 668s ok 2863 - Line 1054 "[% BLOCK foo %]One[% STOP %]Two[% END %]First[% PROCESS foo %]Last" => "FirstOne" 668s ok 2864 - Line 1055 "[% FOREACH f = [1..3] %][% f %][% IF loop.first %][% STOP %][% END %][% END %]" => "1" 668s ok 2865 - Line 1056 "[% FOREACH f = [1..3] %][% IF loop.first %][% STOP %][% END %][% f %][% END %]" => "" 668s ok 2866 - Line 1058 "[% RETURN %]" => "" 668s ok 2867 - Line 1059 "One[% RETURN %]Two" => "One" 668s ok 2868 - Line 1060 "[% BLOCK foo %]One[% RETURN %]Two[% END %]First[% PROCESS foo %]Last" => "FirstOneLast" 668s ok 2869 - Line 1061 "[% FOREACH f = [1..3] %][% f %][% IF loop.first %][% RETURN %][% END %][% END %]" => "1" 668s ok 2870 - Line 1062 "[% FOREACH f = [1..3] %][% IF loop.first %][% RETURN %][% END %][% f %][% END %]" => "" 668s ok 2871 - Line 1064 "[% CLEAR %]" => "" 668s ### post opererative directives ##################### engine_option (stream) 668s ok 2872 - Line 1075 "[% GET foo IF 1 %]" => "1" 668s ok 2873 - Line 1076 "[% f FOREACH f = [1..3] %]" => "123" 668s ok 2874 - Line 1078 "2[% GET foo IF 1 IF 2 %]" => "21" 668s ok 2875 - Line 1079 "2[% GET foo IF 1 IF 0 %]" => "2" 668s ok 2876 - Line 1080 "[% f FOREACH f = [1..3] IF 1 %]" => "123" 668s ok 2877 - Line 1081 "[% f FOREACH f = [1..3] IF 0 %]" => "" 668s ok 2878 - Line 1082 "[% f FOREACH f = g FOREACH g = [1..3] %]" => "123" 668s ok 2879 - Line 1083 "[% f FOREACH f = g.a FOREACH g = [{a=>1}, {a=>2}, {a=>3}] %]" => "123" 668s ok 2880 - Line 1084 "[% f FOREACH f = a FOREACH [{a=>1}, {a=>2}, {a=>3}] %]" => "123" 668s ok 2881 - Line 1086 "[% FOREACH f = [1..3] IF 1 %]([% f %])[% END %]" => "(1)(2)(3)" 668s ok 2882 - Line 1087 "[% FOREACH f = [1..3] IF 0 %]([% f %])[% END %]" => "" 668s ok 2883 - Line 1089 "[% BLOCK bar %][% foo %][% foo = foo - 1 %][% END %][% PROCESS bar WHILE foo %]" => "321" 668s ### capturing ####################################### engine_option (stream) 668s ok 2884 - Line 1094 "[% foo = BLOCK %]Hi[% END %][% foo %][% foo %]" => "HiHi" 668s ok 2885 - Line 1095 "[% BLOCK foo %]Hi[% END %][% bar = PROCESS foo %]-[% bar %]" => "-Hi" 668s ok 2886 - Line 1096 "[% foo = IF 1 %]Hi[% END %][% foo %]" => "Hi" 668s ok 2887 - Line 1097 "[% BLOCK foo %]([% i %])[% END %][% wow = PROCESS foo i='bar' %][% wow %]" => "(bar)" 668s ok 2888 - Line 1098 "[% BLOCK foo %]([% i %])[% END %][% SET wow = PROCESS foo i='bar' %][% wow %]" => "(bar)" 668s ### TAGS ############################################ engine_option (stream) 668s ok 2889 - Line 1103 "[% TAGS asp %]<% 1 + 2 %>" => "3" 668s ok 2890 - Line 1104 "[% TAGS default %][% 1 + 2 %]" => "3" 668s ok 2891 - Line 1105 "[% TAGS html %]" => "3" 668s ok 2892 - Line 1106 "[% TAGS mason %]<% 1 + 2 >" => "3" 668s ok 2893 - Line 1107 "[% TAGS metatext %]%% 1 + 2 %%" => "3" 668s ok 2894 - Line 1108 "[% TAGS php %]" => "3" 668s ok 2895 - Line 1109 "[% TAGS star %][* 1 + 2 *]" => "3" 668s ok 2896 - Line 1110 "[% TAGS template %][% 1 + 2 %]" => "3" 668s ok 2897 - Line 1111 "[% TAGS template1 %][% 1 + 2 %]" => "3" 668s ok 2898 - Line 1112 "[% TAGS template1 %]%% 1 + 2 %%" => "3" 668s ok 2899 - Line 1113 "[% TAGS tt2 %][% 1 + 2 %]" => "3" 668s ok 2900 - Line 1115 "[% TAGS html %] " => "3" 668s ok 2901 - Line 1116 "[% TAGS html %]" => "3" 668s ok 2902 - Line 1117 "[% TAGS html %] 668s # " => "3" 668s ok 2903 - Line 1118 "[% BLOCK foo %][% TAGS html %] " => "3 3" 668s ok 2904 - Line 1119 "[% BLOCK foo %][% TAGS html %][% END %][% PROCESS foo %] [% 1 + 2 %]" => "" 668s ok 2905 - Line 1121 "[% TAGS %]" => "3" 668s ok 2906 - Line 1123 "[% TAGS [<] [>] %][<] 1 + 2 [>]" => "3" 668s ok 2907 - Line 1124 "[% TAGS '[<]' '[>]' %][<] 1 + 2 [>]" => "3" 668s ok 2908 - Line 1125 "[% TAGS /[<]/ /[>]/ %]< 1 + 2 >" => "3" 668s ok 2909 - Line 1126 "[% TAGS ** ** %]** 1 + 2 **" => "3" 668s ok 2910 - Line 1127 "[% TAGS '**' '**' %]** 1 + 2 **" => "3" 668s ok 2911 - Line 1128 "[% TAGS /**/ /**/ %]** 1 + 2 **" => "" 668s ok 2912 - Line 1130 "[% TAGS html -->" => "3" 668s ok 2913 - Line 1131 "[% TAGS html ; 7 -->" => "73" 668s ok 2914 - Line 1132 "[% TAGS html ; 7 %]" => "" 668s ### SWITCH / CASE ################################### engine_option (stream) 668s ok 2915 - Line 1137 "[% SWITCH 1 %][% END %]hi" => "hi" 668s ok 2916 - Line 1138 "[% SWITCH 1 %][% CASE %]bar[% END %]hi" => "barhi" 668s ok 2917 - Line 1139 "[% SWITCH 1 %]Pre[% CASE %]bar[% END %]hi" => "barhi" 668s ok 2918 - Line 1140 "[% SWITCH 1 %][% CASE DEFAULT %]bar[% END %]hi" => "barhi" 668s ok 2919 - Line 1141 "[% SWITCH 1 %][% CASE 0 %]bar[% END %]hi" => "hi" 668s ok 2920 - Line 1142 "[% SWITCH 1 %][% CASE 1 %]bar[% END %]hi" => "barhi" 668s ok 2921 - Line 1143 "[% SWITCH 1 %][% CASE foo %][% CASE 1 %]bar[% END %]hi" => "barhi" 668s ok 2922 - Line 1144 "[% SWITCH 1 %][% CASE [1..10] %]bar[% END %]hi" => "barhi" 668s ok 2923 - Line 1145 "[% SWITCH 11 %][% CASE [1..10] %]bar[% END %]hi" => "hi" 668s ok 2924 - Line 1147 "[% SWITCH 1.0 %][% CASE [1..10] %]bar[% END %]hi" => "barhi" 668s ### TRY / THROW / CATCH / FINAL ##################### engine_option (stream) 668s ok 2925 - Line 1152 "[% TRY %][% END %]hi" => "hi" 668s ok 2926 - Line 1153 "[% TRY %]Foo[% END %]hi" => "Foohi" 668s ok 2927 - Line 1154 "[% TRY %]Foo[% THROW foo 'for fun' %]bar[% END %]hi" => "Foo" 668s ok 2928 - Line 1155 "[% TRY %]Foo[% THROW foo 'for fun' %]bar[% CATCH %][% END %]hi" => "Foohi" 668s ok 2929 - Line 1156 "[% TRY %]Foo[% THROW foo 'for fun' %]bar[% CATCH %]there[% END %]hi" => "Footherehi" 668s ok 2930 - Line 1157 "[% TRY %]Foo[% THROW foo 'for fun' %]bar[% CATCH foo %]there[% END %]hi" => "Footherehi" 668s ok 2931 - Line 1158 "[% TRY %]Foo[% TRY %]Foo[% THROW foo 'for fun' %][% CATCH bar %]one[% END %][% CATCH %]two[% END %]hi" => "FooFootwohi" 668s ok 2932 - Line 1159 "[% TRY %]Foo[% TRY %]Foo[% THROW foo 'for fun' %][% CATCH bar %]one[% END %][% CATCH s %]two[% END %]hi" => "FooFoo" 668s ok 2933 - Line 1160 "[% TRY %]Foo[% THROW foo.bar 'for fun' %][% CATCH foo %]one[% CATCH foo.bar %]two[% END %]hi" => "Footwohi" 668s ok 2934 - Line 1162 "[% TRY %]Foo[% FINAL %]Bar[% END %]hi" => "FooBarhi" 668s ok 2935 - Line 1163 "[% TRY %]Foo[% THROW foo %][% FINAL %]Bar[% CATCH %]one[% END %]hi" => "" 668s ok 2936 - Line 1164 "[% TRY %]Foo[% THROW foo %][% CATCH %]one[% FINAL %]Bar[% END %]hi" => "FoooneBarhi" 668s ok 2937 - Line 1165 "[% TRY %]Foo[% THROW foo %][% CATCH bar %]one[% FINAL %]Bar[% END %]hi" => "Foo" 668s ok 2938 - Line 1167 "[% TRY %][% THROW foo 'bar' %][% CATCH %][% error %][% END %]" => "foo error - bar" 668s ok 2939 - Line 1168 "[% TRY %][% THROW foo 'bar' %][% CATCH %][% error.type %][% END %]" => "foo" 668s ok 2940 - Line 1169 "[% TRY %][% THROW foo 'bar' %][% CATCH %][% error.info %][% END %]" => "bar" 668s ok 2941 - Line 1170 "[% TRY %][% THROW foo %][% CATCH %][% error.type %][% END %]" => "undef" 668s ok 2942 - Line 1171 "[% TRY %][% THROW foo %][% CATCH %][% error.info %][% END %]" => "foo" 668s ### named args ###################################### engine_option (stream) 668s ok 2943 - Line 1177 "[% foo(bar = 'one', baz = 'two') %]" => "baronebaztwo" 668s ok 2944 - Line 1179 "[%bar='ONE'%][% foo($bar = 'one') %]" => "ONEone" 668s ### USE ############################################# engine_option (stream) 668s ok 2945 - Line 1185 "[% USE son_of_gun_that_does_not_exist %]one" => "" 668s ok 2946 - Line 1186 "[% USE Iterator([3..6]) %]hey[% CALL Iterator.get_first; Iterator.size %]" => "hey4" 668s ok 2947 - Line 1187 "[% USE FooTest %]one" => "one" 668s ok 2948 - Line 1188 "[% USE FooTest2 %]one" => "one" 668s ok 2949 - Line 1189 "[% USE FooTest(bar = 'baz') %]one[% FooTest.bar %]" => "onebarbaz" 668s ok 2950 - Line 1190 "[% USE FooTest2(bar = 'baz') %]one[% FooTest2.bar %]" => "onebarbaz" 668s ok 2951 - Line 1191 "[% USE FooTest(bar = 'baz') %]one[% FooTest.bar %]" => "onebarbaz" 668s ok 2952 - Line 1192 "[% USE d = FooTest(bar = 'baz') %]one[% d.bar %]" => "onebarbaz" 668s ok 2953 - Line 1193 "[% USE d.d = FooTest(bar = 'baz') %]one[% d.d.bar %]" => "" 668s ok 2954 - Line 1194 "[% USE FooTest(somerand = 8) %]one[% FooTest.somerand %]" => "one8" 668s ok 2955 - Line 1196 "[% USE a(bar = 'baz') %]one[% a.seven %]" => "" 668s ok 2956 - Line 1197 "[% USE a(bar = 'baz') %]one[% a.seven %]" => "one7" 668s ok 2957 - Line 1200 "[% USE FooTest %]three" => "three" 668s ### MACRO ########################################### engine_option (stream) 668s ok 2958 - Line 1205 "[% MACRO foo PROCESS bar %][% BLOCK bar %]Hi[% END %][% foo %]" => "Hi" 668s ok 2959 - Line 1206 "[% MACRO foo BLOCK %]Hi[% END %][% foo %]" => "Hi" 668s ok 2960 - Line 1207 "[% MACRO foo BLOCK %]Hi[% END %][% foo %]" => "Hi" 668s ok 2961 - Line 1208 "[% MACRO foo(n) BLOCK %]Hi[% n %][% END %][% foo(2) %]" => "Hi2" 668s ok 2962 - Line 1209 "[%n=1%][% MACRO foo(n) BLOCK %]Hi[% n %][% END %][% foo(2) %][%n%]" => "Hi21" 668s ok 2963 - Line 1210 "[%n=1%][% MACRO foo BLOCK %]Hi[% n = 2%][% END %][% foo %][%n%]" => "Hi1" 668s ok 2964 - Line 1211 "[% MACRO foo(n) FOREACH i=[1..n] %][% i %][% END %][% foo(3) %]" => "123" 668s ok 2965 - Line 1213 "[% MACRO f BLOCK %]>[% TRY; f ; CATCH ; "caught" ; END %][% END %][% f %]" => ">>>caught" 668s ok 2966 - Line 1216 "[% foo = ->{ 'Hi' } %][% foo %]" => "Hi" 668s ok 2967 - Line 1217 "[% foo = ->{ 'Hi'; this } %][% foo(2) %]" => "Hi2" 668s ok 2968 - Line 1218 "[% foo = ->(n){ 'Hi'; n } %][% foo(2) %]" => "Hi2" 668s ok 2969 - Line 1219 "[%n=1%][% foo = ->(n) { 'Hi' ; n } %][% foo(2) %][%n%]" => "Hi21" 668s ok 2970 - Line 1220 "[% foo = ->(n) { FOREACH i=[1..n]; i ; END } %][% foo(3) %]" => "123" 668s ### DEBUG ########################################### engine_option (stream) 668s ok 2971 - Line 1226 " 668s # 668s # [% one %]" => " 668s # 668s # 668s # ## input text line 3 : [% one %] ## 668s # ONE" 668s ok 2972 - Line 1227 "[% one %]" => " 668s # ## input text line 1 : [% one %] ## 668s # ONE" 668s ok 2973 - Line 1228 "[% one %] 668s # 668s # " => "(1)ONE 668s # 668s # " 668s ok 2974 - Line 1229 "1 668s # 2 668s # 3[% one %]" => "1 668s # 2 668s # 3(3)ONE" 668s ok 2975 - Line 1230 "[% one; 668s # one %]" => "(1)ONE(2)ONE" 668s ok 2976 - Line 1232 "[% DEBUG format '($line)' %][% one %]" => " 668s # ## input text line 1 : [% DEBUG format '($line)' %] ## 668s # (1)ONE" 668s ok 2977 - Line 1234 "[% TRY %][% abc %][% CATCH %][% error %][% END %]" => "undef error - abc is undefined 668s # " 668s ok 2978 - Line 1236 "[% TRY %][% abc.def %][% CATCH %][% error %][% END %]" => "undef error - abc.def is undefined 668s # " 668s ### constants ####################################### engine_option (stream) 668s ok 2979 - Line 1255 "[% constants.harry %]" => "do_this_once" 668s ok 2980 - Line 1256 "[% constants.harry.length %]" => "12" 668s ok 2981 - Line 1257 "[% SET constants.something = 1 %][% constants.something %]one" => "1one" 668s ok 2982 - Line 1258 "[% SET constants.harry = 1 %][% constants.harry %]one" => "do_this_onceone" 668s ok 2983 - Line 1259 "[% constants.foo.${constants.bang} %]" => "57" 668s ok 2984 - Line 1260 "[% constants.foo.$bam.${constants.bing} %]" => "42" 668s ok 2985 - Line 1261 "[% bam = 'somethingelse' %][% constants.foo.$bam.${constants.bing} %]" => "42" 668s ok 2986 - Line 1263 "[% constants.${"harry"} %]" => "do_this_once" 668s ok 2987 - Line 1264 "[% ${"constants"}.harry %]" => "foo" 668s ok 2988 - Line 1266 "[% ${"con${"s"}tants"}.harry %]" => "foo" 668s ### CONTEXT ######################################### engine_option (stream) 668s ok 2989 - Line 1272 "[% CALL cctx.call_me %][% cctx.last_context %]" => "list" 668s ok 2990 - Line 1273 "[% cctx.array %]" => "ARRAY(0x2aa29e23608)" 668s ok 2991 - Line 1274 "[% cctx.array2 %]" => "4" 668s ok 2992 - Line 1275 "[% cctx.list %]" => "ARRAY(0x2aa29e8b660)" 668s ok 2993 - Line 1276 "[% cctx.scalar %]" => "8" 668s ok 2994 - Line 1277 "[% cctx.bang %]" => "bing" 668s ok 2995 - Line 1281 "[% CALL cctx.call_me %][% cctx.last_context %]" => "list" 668s ok 2996 - Line 1282 "[% CALL @(cctx.call_me) %][% cctx.last_context %]" => "list" 668s ok 2997 - Line 1283 "[% CALL $(cctx.call_me) %][% cctx.last_context %]" => "scalar" 668s ok 2998 - Line 1284 "[% CALL call_cctx %][% cctx.last_context %]" => "list" 668s ok 2999 - Line 1285 "[% CALL @(call_cctx) %][% cctx.last_context %]" => "list" 668s ok 3000 - Line 1286 "[% CALL $(call_cctx) %][% cctx.last_context %]" => "scalar" 668s ok 3001 - Line 1287 "[% CALL cctx.call_me %][% cctx.last_context %]" => "list" 668s ok 3002 - Line 1288 "[% CALL cctx.call_me %][% cctx.last_context.0 %]" => "list" 668s ok 3003 - Line 1289 "[% CALL cctx.call_me %][% cctx.last_context %]" => "scalar" 668s ok 3004 - Line 1290 "[% cctx.array %]" => "ARRAY(0x2aa29e805e8)" 668s ok 3005 - Line 1291 "[% @(cctx.array) %]" => "ARRAY(0x2aa29e8beb8)" 668s ok 3006 - Line 1292 "[% $(cctx.array) %]" => "3" 668s ok 3007 - Line 1293 "[% cctx.array2 %]" => "4" 668s ok 3008 - Line 1294 "[% @(cctx.array2) %]" => "ARRAY(0x2aa29e80600)" 668s ok 3009 - Line 1295 "[% $(cctx.array2) %]" => "1" 668s ok 3010 - Line 1296 "[% cctx.list %]" => "ARRAY(0x2aa29e8d938)" 668s ok 3011 - Line 1297 "[% @(cctx.list) %]" => "ARRAY(0x2aa29e80660)" 668s ok 3012 - Line 1298 "[% $(cctx.list) %]" => "7" 668s ok 3013 - Line 1299 "[% cctx.scalar %]" => "8" 668s ok 3014 - Line 1300 "[% @(cctx.scalar) %]" => "ARRAY(0x2aa29e802e8)" 668s ok 3015 - Line 1301 "[% $(cctx.scalar) %]" => "8" 668s ok 3016 - Line 1302 "[% cctx.bang %] ~" => "bing ~" 668s ok 3017 - Line 1303 "[% @(cctx.bang) %] ~" => "bing ~" 668s ok 3018 - Line 1304 "[% $(cctx.bang) %] ~" => "bing ~" 668s ok 3019 - Line 1306 "[% CONFIG CALL_CONTEXT => "list"; CALL cctx.call_me; CONFIG CALL_CONTEXT => "smart" %][% cctx.last_context %]" => "list" 668s ok 3020 - Line 1308 "[% CONFIG CALL_CONTEXT => "item"; CALL cctx.call_me %][% cctx.last_context %]" => "scalar" 668s ok 3021 - Line 1310 "[% cctx.dataref.0.foo = 7; cctx.dataref.0.foo %]" => "7" 668s ok 3022 - Line 1312 "[% @(cctx.dataref).0.foo = 7; cctx.dataref.foo %]" => "7" 668s ok 3023 - Line 1314 "[% $(cctx.dataref).0.foo = 7; cctx.dataref.0.foo %]" => "7" 668s ok 3024 - Line 1316 "[% CONFIG CALL_CONTEXT => "list"; cctx.dataref.0.foo = 7; CONFIG CALL_CONTEXT => "item"; cctx.dataref.foo %]" => "7" 668s ok 3025 - Line 1321 "[% cctxo.bang = 1 %] ~" => " ~" 668s ok 3026 - Line 1322 "[% cctxo.dataref.foo = 7; cctxo.dataref.foo %]" => "7" 668s ok 3027 - Line 1324 "[% CALL cctxo.call_me %][% cctxo.last_context %]" => "list" 668s ok 3028 - Line 1325 "[% CALL @(cctxo.call_me) %][% cctxo.last_context %]" => "list" 668s ok 3029 - Line 1326 "[% CALL $(cctxo.call_me) %][% cctxo.last_context %]" => "scalar" 668s ok 3030 - Line 1327 "[% CALL call_cctxo %][% cctxo.last_context %]" => "list" 668s ok 3031 - Line 1328 "[% CALL @(call_cctxo) %][% cctxo.last_context %]" => "list" 668s ok 3032 - Line 1329 "[% CALL $(call_cctxo) %][% cctxo.last_context %]" => "scalar" 668s ok 3033 - Line 1330 "[% CALL cctxo.call_me %][% cctxo.last_context %]" => "list" 668s ok 3034 - Line 1331 "[% CALL cctxo.call_me %][% cctxo.last_context.0 %]" => "list" 668s ok 3035 - Line 1332 "[% CALL cctxo.call_me %][% cctxo.last_context %]" => "scalar" 668s ok 3036 - Line 1333 "[% cctxo.array %]" => "ARRAY(0x2aa29e827a8)" 668s ok 3037 - Line 1334 "[% @(cctxo.array) %]" => "ARRAY(0x2aa29e9d3e8)" 668s ok 3038 - Line 1335 "[% $(cctxo.array) %]" => "3" 668s ok 3039 - Line 1336 "[% cctxo.array2 %]" => "4" 668s ok 3040 - Line 1337 "[% @(cctxo.array2) %]" => "ARRAY(0x2aa29e9d370)" 668s ok 3041 - Line 1338 "[% $(cctxo.array2) %]" => "1" 668s ok 3042 - Line 1339 "[% cctxo.list %]" => "ARRAY(0x2aa29e9ca58)" 668s ok 3043 - Line 1340 "[% @(cctxo.list) %]" => "ARRAY(0x2aa29e9d340)" 668s ok 3044 - Line 1341 "[% $(cctxo.list) %]" => "7" 668s ok 3045 - Line 1342 "[% cctxo.scalar %]" => "8" 668s ok 3046 - Line 1343 "[% @(cctxo.scalar) %]" => "ARRAY(0x2aa29e9d2c8)" 668s ok 3047 - Line 1344 "[% $(cctxo.scalar) %]" => "8" 668s ok 3048 - Line 1345 "[% cctxo.bang %] ~" => "bing ~" 668s ok 3049 - Line 1348 "[% SET cctxo.call_me = 2 %][% cctxo.last_context %]" => "list2" 668s ok 3050 - Line 1350 "[% CALL @(cctxo.call_me = 3) %][% cctxo.last_context %]" => "list3" 668s ok 3051 - Line 1352 "[% CALL $(cctxo.call_me = 4) %][% cctxo.last_context %]" => "scalar4" 668s ### INTERPOLATE ##################################### engine_option (stream) 668s ok 3052 - Line 1358 "Foo $one Bar" => "Foo ONE Bar" 668s ok 3053 - Line 1359 "[% PERL %] my $n=7; print $n [% END %]" => "7" 668s ok 3054 - Line 1360 "[% TRY ; PERL %] my $n=7; print $n [% END ; END %]" => "7" 668s ok 3055 - Line 1364 "Foo \ Bar" => "Foo \ Bar" 668s ok 3056 - Line 1365 "Foo \\ Bar" => "Foo \\ Bar" 668s ok 3057 - Line 1366 "Foo \n Bar" => "Foo \n Bar" 668s ok 3058 - Line 1367 "Foo \$a Bar" => "Foo $a Bar" 668s ok 3059 - Line 1368 "Foo \\$a Bar" => "Foo \\7 Bar" 668s ok 3060 - Line 1369 "Foo \\\$a Bar" => "Foo \\$a Bar" 668s ok 3061 - Line 1370 "Foo $a.B Bar" => "Foo 7 Bar" 668s ok 3062 - Line 1371 "Foo ${ a.B } Bar" => "Foo 7 Bar" 668s ok 3063 - Line 1372 "Foo $a.b.c("hi") Bar" => "Foo Bar" 668s ok 3064 - Line 1374 "Foo ${a.b.c("hi")} Bar" => "Foo Bar" 668s ok 3065 - Line 1375 "Foo $a Bar $!a Baz" => "Foo 7 Bar 7 Baz" 668s ok 3066 - Line 1376 "Foo $a Bar $!{a} Baz" => "Foo 7 Bar 7 Baz" 668s ok 3067 - Line 1377 "Foo $a Bar $!a Baz" => "Foo 7 Bar 7 Baz" 668s ok 3068 - Line 1378 "Foo $a Bar $!{a} Baz" => "Foo 7 Bar 7 Baz" 668s ok 3069 - Line 1379 "Foo $a Bar $!a Baz" => "Foo $a Bar Baz" 668s ok 3070 - Line 1380 "Foo ${a} Bar $!{a} Baz" => "Foo ${a} Bar Baz" 668s ### ANYCASE / TRIM ################################## engine_option (stream) 668s ok 3071 - Line 1385 "[% GET %]" => "" 668s ok 3072 - Line 1386 "[% GET GET %]" => "ONE" 668s ok 3073 - Line 1387 "[% get one %]" => "ONE" 668s ok 3074 - Line 1388 "[% get %]" => "" 668s ok 3075 - Line 1389 "[% get get %]" => "ONE" 668s ok 3076 - Line 1391 "[% BLOCK foo %] 668s # hi 668s # [% END %][% PROCESS foo %]" => " 668s # hi 668s # " 668s ok 3077 - Line 1392 "[% BLOCK foo %] 668s # hi[% END %][% PROCESS foo %]" => " 668s # hi" 668s ok 3078 - Line 1393 "[% BLOCK foo %]hi 668s # [% END %][% PROCESS foo %]" => "hi 668s # " 668s ok 3079 - Line 1394 "[% BLOCK foo %]hi[% nl %][% END %][% PROCESS foo %]" => "hi 668s # " 668s ok 3080 - Line 1395 "[% BLOCK foo %][% nl %]hi[% END %][% PROCESS foo %]" => " 668s # hi" 668s ok 3081 - Line 1396 "A[% TRY %] 668s # hi 668s # [% END %]" => "A 668s # hi 668s # " 668s ok 3082 - Line 1398 "[% FOO %]" => "foo" 668s ### V1DOLLAR ######################################## engine_option (stream) 668s ok 3083 - Line 1403 "[% a %]|[% $a %]|[% ${ a } %]|[% ${ "a" } %]" => "A|bar|bar|A" 668s ok 3084 - Line 1404 "[% a %]|[% $a %]|[% ${ a } %]|[% ${ "a" } %]" => "A|A|bar|A" 668s ok 3085 - Line 1407 "[% a.b.c %]|[% $a.b.c %]|[% a.$b.c %]|[% ${ a.b.c } %]" => "Cb||CB|bar" 668s ok 3086 - Line 1408 "[% a.b.c %]|[% $a.b.c %]|[% a.$b.c %]|[% ${ a.b.c } %]" => "Cb|Cb|Cb|bar" 668s ok 3087 - Line 1410 "[% "$a" %]/$a/[% "${a}" %]/${a}" => "A/$a/A/${a}" 668s ok 3088 - Line 1411 "[% "$a" %]/$a/[% "${a}" %]/${a}" => "A/$a/A/${a}" 668s ok 3089 - Line 1412 "[% "$a" %]/$a/[% "${a}" %]/${a}" => "A/A/A/A" 668s ok 3090 - Line 1413 "[% "$a" %]/$a/[% "${a}" %]/${a}" => "A/A/A/A" 668s ok 3091 - Line 1415 "[% constants.a %]|[% $constants.a %]|[% constants.$a %]" => "A|A|A" 668s ### V2PIPE / V2EQUALS ############################### engine_option (stream) 668s ok 3092 - Line 1420 "[%- BLOCK a %]b is [% b %] 668s # [% END %] 668s # [%- PROCESS a b => 237 | repeat(2) %]" => "b is 237 668s # b is 237 668s # " 668s ok 3093 - Line 1425 "[%- BLOCK a %]b is [% b %] 668s # [% END %] 668s # [%- PROCESS a b => 237 | repeat(2) %]" => "b is 237237 668s # " 668s ok 3094 - Line 1429 "[% ('a' == 'b') || 0 %]" => "0" 668s ok 3095 - Line 1430 "[% ('a' != 'b') || 0 %]" => "1" 668s ok 3096 - Line 1431 "[% ('a' == 'b') || 0 %]" => "0" 668s ok 3097 - Line 1432 "[% ('a' != 'b') || 0 %]" => "1" 668s ok 3098 - Line 1433 "[% ('a' == 'b') || 0 %]" => "1" 668s ok 3099 - Line 1434 "[% ('a' != 'b') || 0 %]" => "0" 668s ok 3100 - Line 1435 "[% ('7' == '7.0') || 0 %]" => "0" 668s ok 3101 - Line 1436 "[% ('7' == '7.0') || 0 %]" => "1" 668s ok 3102 - Line 1437 "[% (7 == 7.0) || 0 %]" => "1" 668s ok 3103 - Line 1438 "[% (7 == 7.0) || 0 %]" => "1" 668s ### configuration ################################### engine_option (stream) 668s ok 3104 - Line 1443 "[% a = 7 %]$a" => "7" 668s ok 3105 - Line 1444 "[% a = 7 %]$a" => "7" 668s ### PERL ############################################ engine_option (stream) 668s ok 3106 - Line 1449 "[% TRY %][% PERL %][% END %][% CATCH ; error; END %]" => "perl error - EVAL_PERL not set" 668s ok 3107 - Line 1450 "[% PERL %] print "[% one %]" [% END %]" => "ONE" 668s ok 3108 - Line 1451 "[% PERL %] print $stash->get('one') [% END %]" => "ONE" 668s ok 3109 - Line 1452 "[% PERL %] print $stash->set('a.b.c', 7) [% END %][% a.b.c %]" => "77" 668s ok 3110 - Line 1453 "[% RAWPERL %]$output .= 'interesting'[% END %]" => "interesting" 668s ### recursion prevention ############################ engine_option (stream) 668s ok 3111 - Line 1458 "[% BLOCK foo %][% PROCESS bar %][% END %][% BLOCK bar %][% PROCESS foo %][% END %][% PROCESS foo %]" => "" 668s ### META ############################################ engine_option (stream) 668s ok 3112 - Line 1463 "[% template.name %]" => "input text" 668s ok 3113 - Line 1464 "[% META foo = 'bar' %][% template.foo %]" => "bar" 668s ok 3114 - Line 1465 "[% META name = 'bar' %][% template.name %]" => "bar" 668s ok 3115 - Line 1466 "[% META foo = 'bar' %][% component.foo %]" => "bar" 668s ok 3116 - Line 1467 "[% META foo = 'bar' %][% component = '' %][% component.foo %]|foo" => "|foo" 668s ok 3117 - Line 1468 "[% META foo = 'bar' %][% template = '' %][% template.foo %]|foo" => "|foo" 668s ### references ###################################### engine_option (stream) 668s ok 3118 - Line 1473 "[% a=3; b=\a; b; a %]" => "33" 668s ok 3119 - Line 1474 "[% a=3; b=\a; a=7; b; a %]" => "77" 668s ok 3120 - Line 1476 "[% a={}; a.1=7; b=\a.1; b; a.1 %]" => "77" 668s ok 3121 - Line 1477 "[% a={}; a.1=7; b=\a.20; a.20=7; b; a.20 %]" => "77" 668s ok 3122 - Line 1479 "[% a=[]; a.1=7; b=\a.1; b; a.1 %]" => "77" 668s ok 3123 - Line 1480 "[% a=[]; a.1=7; b=\a.20; a.20=7; b; a.20 %]" => "77" 668s ok 3124 - Line 1482 "[% \a %]" => "CODE(0x2aa29eab570)" 668s ok 3125 - Line 1483 "[% b=\a; b %]" => "a sub []" 668s ok 3126 - Line 1484 "[% b=\a(1); b %]" => "a sub [1]" 668s ok 3127 - Line 1485 "[% b=\a; b(2) %]" => "a sub [2]" 668s ok 3128 - Line 1486 "[% b=\a(1); b(2) %]" => "a sub [1 2]" 668s ok 3129 - Line 1487 "[% f=\j.k; j.k=7; f %]" => "7" 668s ok 3130 - Line 1489 "[% a = "a" ; f = {a=>"A",b=>"B"} ; foo = \f.$a ; foo %]" => "A" 668s ok 3131 - Line 1490 "[% a = "a" ; f = {a=>"A",b=>"B"} ; foo = \f.$a ; a = "b" ; foo %]" => "A" 668s ok 3132 - Line 1491 "[% a = "ab" ; f = "abcd"; foo = \f.replace(a, "-AB-") ; a = "cd"; foo %]" => "-AB-cd" 668s ok 3133 - Line 1492 "[% a = "ab" ; f = "abcd"; foo = \f.replace(a, "-AB-").replace("-AB-", "*") ; a = "cd"; foo %]" => "*cd" 668s ok 3134 - Line 1494 "[% a = "ab" ; f = "abcd"; foo = \f.replace(a, "-AB-") ; f = "ab"; foo %]" => "-AB-cd" 668s ok 3135 - Line 1495 "[% a = "ab" ; f = "abcd"; foo = \f.replace(a, "-AB-").replace("-AB-", "*") ; f = "ab"; foo %]" => "*cd" 668s ### reserved words ################################## engine_option (stream) 668s ok 3136 - Line 1506 "[% GET %]" => "" 668s ok 3137 - Line 1507 "[% GET GET %]" => "named_get" 668s ok 3138 - Line 1508 "[% GET get %]" => "lower_named_get" 668s ok 3139 - Line 1509 "[% GET ${'GET'} %]" => "bar" 668s ok 3140 - Line 1511 "[% GET = 1 %][% GET GET %]" => "" 668s ok 3141 - Line 1512 "[% SET GET = 1 %][% GET GET %]" => "1" 668s ok 3142 - Line 1514 "[% GET $hold_get %]" => "named_get" 668s ok 3143 - Line 1515 "[% GET $GET %]" => "value of named_get" 668s ok 3144 - Line 1516 "[% BLOCK GET %]hi[% END %][% PROCESS GET %]" => "hi" 668s ok 3145 - Line 1517 "[% BLOCK foo %]hi[% END %][% PROCESS foo a = GET %]" => "hi" 668s ok 3146 - Line 1518 "[% BLOCK foo %]hi[% END %][% PROCESS foo GET = 1 %]" => "" 668s ok 3147 - Line 1519 "[% BLOCK foo %]hi[% END %][% PROCESS foo IF GET %]" => "hi" 668s ### embedded items ################################## engine_option (stream) 668s ok 3148 - Line 1524 "[% " \" " %]" => " " " 668s ok 3149 - Line 1525 "[% " \$foo " %]" => " $foo " 668s ok 3150 - Line 1526 "[% " \${foo} " %]" => " ${foo} " 668s ok 3151 - Line 1527 "[% " \n " %]" => " 668s # " 668s ok 3152 - Line 1528 "[% " \t " %]" => " " 668s ok 3153 - Line 1529 "[% " \r " %]" => " " 668s ok 3154 - Line 1531 "[% 'foo\'bar' %]" => "foo'bar" 668s ok 3155 - Line 1532 "[% "foo\"bar" %]" => "foo"bar" 668s ok 3156 - Line 1533 "[% qw(foo \)).1 %]" => ")" 668s ok 3157 - Line 1534 "[% qw|foo \||.1 %]" => "|" 668s ok 3158 - Line 1536 "[% ' \' ' %]" => " ' " 668s ok 3159 - Line 1537 "[% ' \r ' %]" => " \r " 668s ok 3160 - Line 1538 "[% ' \n ' %]" => " \n " 668s ok 3161 - Line 1539 "[% ' \t ' %]" => " \t " 668s ok 3162 - Line 1540 "[% ' $foo ' %]" => " $foo " 668s ok 3163 - Line 1542 "[% A = "bar" ; ${ "A" } %]" => "bar" 668s ok 3164 - Line 1543 "[% A = "bar" ; "(${ A })" %]" => "(bar)" 668s ok 3165 - Line 1544 "[% A = "bar" ; ${ {a => "A"}.a } %]" => "bar" 668s ok 3166 - Line 1545 "[% A = "bar" ; "(${ {a => "A"}.a })" %]" => "(A)" 668s ok 3167 - Line 1546 "[% A = "bar" ; "(${ ${ {a => "A"}.a } })" %]" => "(bar)" 668s ok 3168 - Line 1547 "[% A = "bar" %](${ {a => "A"}.a })" => "(A)" 668s ok 3169 - Line 1548 "[% A = "bar" %](${ ${ {a => "A"}.a } })" => "(bar)" 668s ok 3170 - Line 1550 "[% "[%" %]" => "[%" 668s ok 3171 - Line 1551 "[% "%]" %]" => "%]" 668s ok 3172 - Line 1552 "[% a = "[% %]" %][% a %]" => "[% %]" 668s ok 3173 - Line 1553 "[% qw([% 1 + 2 %]).join %]" => "[% 1 + 2 %]" 668s ### STRICT ########################################## engine_option (stream) 668s ok 3174 - Line 1557 "[% TRY; foo; CATCH; error; END %]" => "var.undef error - undefined variable: foo in input text" 668s ok 3175 - Line 1558 "[% TRY; foo.bar(1); CATCH; error; END %]" => "var.undef error - undefined variable: foo.bar(1) in input text" 668s ok 3176 - Line 1559 "[% TRY; 1 IF foo.bar.baz; CATCH; error; END %]" => "var.undef error - undefined variable: foo.bar.baz in input text" 668s ok 3177 - Line 1561 "[% foo.bar() %]ok" => "ok" 668s ok 3178 - Line 1562 "[% foo.baz() %]ok" => "" 668s ### EVALUATE ######################################## engine_option (stream) 668s ok 3179 - Line 1568 "[% foo | eval %]" => "baz" 668s ok 3180 - Line 1570 "[% "[% 1 + 2 %]" | eval %]" => "3" 668s ok 3181 - Line 1571 "[% qw([% 1 + 2 %]).join.eval %]" => "3" 668s ok 3182 - Line 1573 "[% f = ">[% TRY; f.eval ; CATCH; 'caught' ; END %]"; f.eval %]" => ">>>>>caught" 668s ok 3183 - Line 1574 "[% f = ">[% TRY; f.eval ; CATCH; 'caught' ; END %]"; f.eval; f.eval %]" => ">>>>>caught>>>>>caught" 668s ok 3184 - Line 1575 "[% f = ">[% TRY; f.eval ; CATCH; 'foo' ; END %]"; f.eval;f.eval %]" => ">>foo>>foo" 668s ok 3185 - Line 1576 "[% '\#set($foo = 12)'|eval(syntax => 'velocity') %]|[% foo %]" => "|12" 668s ok 3186 - Line 1578 "[% f = ">[% TRY; f.eval ; CATCH; 'caught' ; END %]"; EVALUATE f %]" => ">>>>>caught" 668s ok 3187 - Line 1579 "[% f = ">[% TRY; f.eval ; CATCH; 'foo' ; END %]"; EVALUATE f; EVALUATE f %]" => ">>foo>>foo" 668s ok 3188 - Line 1580 "[% EVALUATE '\#set($foo = 12)' syntax => 'velocity' %]|[% foo %]" => "|12" 668s ok 3189 - Line 1582 "[% TRY; '[% bar %]'.eval(STRICT => 1); CATCH; error; END %]" => "var.undef error - undefined variable: bar in input text" 668s ok 3190 - Line 1583 "[% TRY; CONFIG STRICT => 1; '[% bar %]'.eval(STRICT => 0); CATCH; error; END %]" => "eval_strict error - Cannot disable STRICT once it is enabled" 668s ok 3191 - Line 1584 "[% TRY; '[% bar %]'.eval(STRICT => 1); CATCH; error.type; END; bing %] - ok" => "var.undef - ok" 668s ### DUMP ############################################ engine_option (stream) 668s ok 3192 - Line 1592 "[% DUMP a %]" => "DUMP: File "input text" line 1 668s # a = undef; 668s # " 668s ok 3193 - Line 1593 "[% p = DUMP a; p.collapse %]" => "DUMP: File "input text" line 1 a = undef;" 668s ok 3194 - Line 1594 "[% p = DUMP a; p.collapse %]" => "DUMP: File "input text" line 1 a = 's';" 668s ok 3195 - Line 1595 "[% 668s # p = DUMP a; p.collapse %]" => "DUMP: File "input text" line 2 a = 's';" 668s ok 3196 - Line 1596 "[% p = DUMP a, b; p.collapse %]" => "DUMP: File "input text" line 1 a, b = [ 's', undef ];" 668s ok 3197 - Line 1597 "[% p = DUMP a Useqq => 'b'; p.collapse %]" => "DUMP: File "input text" line 1 a Useqq => 'b' = [ 's', { 'Useqq' => 'b' } ];" 668s ok 3198 - Line 1598 "[% p = DUMP a; p.collapse %]" => "DUMP: File "input text" line 1 a = "s";" 668s ok 3199 - Line 1599 "[% p = DUMP a; p.collapse %]|foo" => "|foo" 668s ok 3200 - Line 1600 "[% p = DUMP _a, b; p.collapse %]" => "DUMP: File "input text" line 1 _a, b = [ undef, 'c' ];" 668s ok 3201 - Line 1601 "[% p = DUMP {a => 'b'}; p.collapse %]" => "DUMP: File "input text" line 1 {a => 'b'} = { 'a' => 'b' };" 668s ok 3202 - Line 1602 "[% p = DUMP _a; p.collapse %]" => "DUMP: File "input text" line 1 _a = undef;" 668s ok 3203 - Line 1603 "[% p = DUMP a; p.collapse %]" => "DUMP: File "input text" line 1 a = { 'b' => 'c' };" 668s ok 3204 - Line 1604 "[% p = DUMP a; p.collapse %]" => "DUMP: File "input text" line 1 a = {};" 668s ok 3205 - Line 1605 "[% p = DUMP a; p.collapse %]" => "DUMP: File "input text" line 1 a = {};" 668s ok 3206 - Line 1606 "[% p = DUMP a; p.collapse %]" => "DUMP: File "input text" line 1 Dump(7)" 668s ok 3207 - Line 1607 "[% p = DUMP a; p.collapse %]" => "a = 's';" 668s ok 3208 - Line 1608 "[% p = DUMP a; p.collapse %]" => "
a = 's'; 
" 668s ok 3209 - Line 1610 "[% p = DUMP a; p.collapse %]" => "
a = 's'; 
" 668s ok 3210 - Line 1611 "[% p = DUMP a; p.collapse %]" => "a = 's';" 668s ok 3211 - Line 1613 "[% SET global; p = DUMP; p.collapse %]" => "DUMP: File "input text" line 1 EntireStash = { 'a' => 'b', 'global' => undef };" 668s ok 3212 - Line 1614 "[% SET global; p = DUMP; p.collapse %]" => "DUMP: File "input text" line 1 EntireStash = { 'a' => 'b', 'global' => undef };" 668s ok 3213 - Line 1615 "[% SET global; p = DUMP; p.collapse %]" => "DUMP: File "input text" line 1" 668s ### SYNTAX ########################################## engine_option (stream) 668s ok 3214 - Line 1622 "[%- BLOCK a %]b is [% b %][% END %][% PROCESS a b => 237 | repeat(2) %]" => "" 668s ok 3215 - Line 1623 "[%- BLOCK a %]b is [% b %][% END %][% PROCESS a b => 237 | repeat(2) %]" => "b is 237237" 668s ok 3216 - Line 1624 "[%- BLOCK a %]b is [% b %][% END %][% PROCESS a b => 237 | repeat(2) %]" => "b is 237237" 668s ok 3217 - Line 1625 "[%- BLOCK a %]b is [% b %][% END %][% PROCESS a b => 237 | repeat(2) %]" => "b is 237237" 668s ok 3218 - Line 1626 "[%- BLOCK a %]b is [% b %][% END %][% PROCESS a b => 237 | repeat(2) %]" => "b is 237b is 237" 668s ok 3219 - Line 1627 "[%- BLOCK a %]b is [% b %][% END %][% PROCESS a b => 237 | repeat(2) %]" => "b is 237b is 237" 668s ok 3220 - Line 1628 "[%- BLOCK a %]b is [% b %][% END %][% PROCESS a b => 237 | repeat(2) %]" => "b is 237b is 237" 668s ok 3221 - Line 1631 "[% a %]|[% $a %]|[% ${ a } %]|[% ${ "a" } %]" => "A|bar|bar|A" 668s ok 3222 - Line 1632 "[% a %]|[% $a %]|[% ${ a } %]|[% ${ "a" } %]" => "A|bar|bar|A" 668s ok 3223 - Line 1633 "[% a %]|[% $a %]|[% ${ a } %]|[% ${ "a" } %]" => "A|A|bar|A" 668s ok 3224 - Line 1635 "" => "FOO" 668s ok 3225 - Line 1636 "" => "7 8" 668s ok 3226 - Line 1637 "" => "1" 668s ok 3227 - Line 1638 "" => "1" 668s ok 3228 - Line 1639 "d" => "" 668s ok 3229 - Line 1641 "[% ""|eval(syntax => 'hte') %] = [% 6 %]" => "6 = 6" 668s ok 3230 - Line 1642 "[% ""|eval(syntax => 'ht') %] = [% 6 %]" => "" 668s ok 3231 - Line 1643 "[% ""|eval(syntax => 'ht') %] = [% 12 %]" => "12 = 12" 668s ### CONFIG ########################################## engine_option (stream) 668s ok 3232 - Line 1651 "[% CONFIG ANYCASE => 1 %][% get 234 %]" => "234" 668s ok 3233 - Line 1652 "[% CONFIG anycase => 1 %][% get 234 %]" => "234" 668s ok 3234 - Line 1653 "[% CONFIG PRE_CHOMP => '-' %] 668s # [% 234 %]" => "234" 668s ok 3235 - Line 1654 "[% CONFIG POST_CHOMP => '-' %][% 234 %] 668s # " => "234" 668s ok 3236 - Line 1655 "[% CONFIG INTERPOLATE => 1 %]${ 234 }" => "234" 668s ok 3237 - Line 1656 "[% CONFIG V1DOLLAR => 1 %][% a = 234 %][% $a %]" => "234" 668s ok 3238 - Line 1657 "[% CONFIG V2PIPE => 1 %][% BLOCK a %]b is [% b %][% END %][% PROCESS a b => 234 | repeat(2) %]" => "b is 234b is 234" 668s ok 3239 - Line 1658 "[% CONFIG V2EQUALS => 1 %][% ('7' == '7.0') || 0 %]" => "0" 668s ok 3240 - Line 1659 "[% CONFIG V2EQUALS => 0 %][% ('7' == '7.0') || 0 %]" => "1" 668s ok 3241 - Line 1661 "[% CONFIG BOGUS => 2 %]bar" => "" 668s ok 3242 - Line 1663 "[% CONFIG ANYCASE %]|[% CONFIG ANYCASE => 1 %][% CONFIG ANYCASE %]" => "CONFIG ANYCASE = undef|CONFIG ANYCASE = 1" 668s ok 3243 - Line 1664 "[% CONFIG ANYCASE %]|[% CONFIG ANYCASE => 1 %][% CONFIG ANYCASE %]" => "CONFIG ANYCASE = undef|CONFIG ANYCASE = 1" 668s ok 3244 - Line 1666 "[% "[% GET 1+2+3 %]" | eval %] = [% get 6 %]" => "" 668s ok 3245 - Line 1667 "[% CONFIG ANYCASE => 1 %][% get 6 %]" => "6" 668s ok 3246 - Line 1668 "[% CONFIG ANYCASE => 1 %][% "[% get 1+2+3 %]" | eval %] = [% get 6 %]" => "6 = 6" 668s ok 3247 - Line 1669 "[% "[% CONFIG ANYCASE => 1 %][% get 1+2+3 %]" | eval %] = [% get 6 %]" => "" 668s ok 3248 - Line 1670 "[% "[% CONFIG ANYCASE => 1 %][% get 1+2+3 %]" | eval %] = [% GET 6 %]" => "6 = 6" 668s ok 3249 - Line 1671 "[% CONFIG SYNTAX => 'hte' %][% ""|eval %] = [% 6 %]" => "6 = 6" 668s ok 3250 - Line 1672 "[% "[% get 1+2+3 %]" | eval(ANYCASE => 1) %] = [% GET 6 %]" => "6 = 6" 668s ok 3251 - Line 1674 "[% CONFIG DUMP %]|[% CONFIG DUMP => 0 %][% DUMP %]bar" => "CONFIG DUMP = undef|bar" 668s ok 3252 - Line 1675 "[% CONFIG DUMP => {Useqq=>1, header=>0, html=>0} %][% DUMP 'foo' %]" => "'foo' = "foo"; 668s # " 668s ok 3253 - Line 1676 "[% CONFIG VMETHOD_FUNCTIONS => 0 %][% sprintf('%d %d', 7, 8) %] d" => " d" 668s ok 3254 - Line 1677 "[% TRY; foo; CONFIG STRICT => 1; bar; CATCH; error; END %]" => "var.undef error - undefined variable: bar in input text" 668s ok 3255 - Line 1678 "[% TRY; foo; CONFIG STRICT => 1; CONFIG STRICT => 0; bar; CATCH; error; END %]" => "config.strict error - Cannot disable STRICT once it is enabled" 668s ok 3256 - Line 1679 "[% BLOCK foo; CONFIG STRICT => 1; baz; END; TRY; bam; PROCESS foo; bar; CATCH; error.type; END; bing %] - ok" => "var.undef - ok" 668s ok 3257 - Line 1681 "[% CONFIG AUTO_FILTER => "html"; foo %]" => "&" 668s ### DONE ############################################ engine_option (stream) 668s ok 668s t/10_tt_includes.t ...... 668s 1..351 668s ok 1 - use Template::Alloy; 668s ok 2 - Got a test dir up and running 668s ok 3 - Got a nested test dir up and running 668s ### INSERT ########################################## engine_option (normal) 668s ok 4 - Line 127 "([% INSERT bar.tt %])" => "([% blue %]BAR)" 668s ok 5 - Line 128 "([% SET file = 'bar.tt' %][% INSERT $file %])" => "([% blue %]BAR)" 668s ok 6 - Line 129 "([% SET file = 'bar.tt' %][% INSERT ${file} %])" => "([% blue %]BAR)" 668s ok 7 - Line 130 "([% SET file = 'bar.tt' %][% INSERT "$file" %])" => "([% blue %]BAR)" 668s ok 8 - Line 131 "([% SET file = 'bar' %][% INSERT "${file}.tt" %])" => "([% blue %]BAR)" 668s ### INCLUDE ######################################### engine_option (normal) 668s ok 9 - Line 136 "([% INCLUDE bar.tt %])" => "(BAR)" 668s ok 10 - Line 137 "[% PROCESS foo.tt %]" => "(BAR)" 668s ok 11 - Line 138 "[% PROCESS meta.tt %]" => "Metafoo() Metabar(meta.tt)" 668s ok 12 - Line 139 "[% META foo = 'string'; PROCESS meta.tt %]" => "Metafoo() Metabar(meta.tt)" 668s ok 13 - Line 140 "[% PROCESS meta.tt %][% template.bar %]" => "Metafoo() Metabar(meta.tt)" 668s ok 14 - Line 141 "[% META foo = 'meta'; PROCESS foo.tt %]" => "(metaBAR)" 668s ok 15 - Line 142 "([% SET file = 'bar.tt' %][% INCLUDE $file %])" => "(BAR)" 668s ok 16 - Line 143 "([% SET file = 'bar.tt' %][% INCLUDE ${file} %])" => "(BAR)" 668s ok 17 - Line 144 "([% SET file = 'bar.tt' %][% INCLUDE "$file" %])" => "(BAR)" 668s ok 18 - Line 145 "([% SET file = 'bar' %][% INCLUDE "${file}.tt" %])" => "(BAR)" 668s ok 19 - Line 147 "([% INCLUDE baz.tt %])" => "(42)" 668s ok 20 - Line 148 "([% INCLUDE baz.tt %])[% baz %]" => "(42)" 668s ok 21 - Line 149 "[% SET baz = 21 %]([% INCLUDE baz.tt %])[% baz %]" => "(42)21" 668s ok 22 - Line 151 "([% META blam = 5; INCLUDE blocks.tt %])" => "()" 668s ok 23 - Line 152 "([% META blam = 5; INCLUDE blocks.tt %])([% PROCESS foo text => 'bar' %])" => "" 668s ok 24 - Line 153 "([% META blam = 5; INCLUDE blocks.tt %])([% foo_m('hey') %])" => "()()" 668s ok 25 - Line 154 "([% META blam = 5; INCLUDE blocks.tt/foo text => 'bar' %])" => "" 668s ok 26 - Line 155 "([% META blam = 5; INCLUDE blocks.tt/bar %])" => "(bar)" 668s ok 27 - Line 156 "([% META blam = 5; INCLUDE blocks.tt/foo text => 'bar' %])" => "" 668s ### PROCESS ######################################### engine_option (normal) 668s ok 28 - Line 161 "([% PROCESS bar.tt %])" => "(BAR)" 668s ok 29 - Line 162 "[% PROCESS foo.tt %]" => "(BAR)" 668s ok 30 - Line 163 "[% PROCESS meta.tt %]" => "Metafoo() Metabar(meta.tt)" 668s ok 31 - Line 164 "[% META foo = 'string'; PROCESS meta.tt %]" => "Metafoo() Metabar(meta.tt)" 668s ok 32 - Line 165 "[% PROCESS meta.tt %][% template.bar %]" => "Metafoo() Metabar(meta.tt)" 668s ok 33 - Line 166 "[% META foo = 'meta'; PROCESS foo.tt %]" => "(metaBAR)" 668s ok 34 - Line 167 "([% SET file = 'bar.tt' %][% PROCESS $file %])" => "(BAR)" 668s ok 35 - Line 168 "([% SET file = 'bar.tt' %][% PROCESS ${file} %])" => "(BAR)" 668s ok 36 - Line 169 "([% SET file = 'bar.tt' %][% PROCESS "$file" %])" => "(BAR)" 668s ok 37 - Line 170 "([% SET file = 'bar' %][% PROCESS "${file}.tt" %])" => "(BAR)" 668s ok 38 - Line 172 "([% PROCESS baz.tt %])" => "(42)" 668s ok 39 - Line 173 "([% PROCESS baz.tt %])[% baz %]" => "(42)42" 668s ok 40 - Line 174 "[% SET baz = 21 %]([% PROCESS baz.tt %])[% baz %]" => "(42)42" 668s ok 41 - Line 176 "[% PROCESS nested/foo.tt %]" => "(Nested foo BAR)" 668s ok 42 - Line 177 "[% PROCESS nested/foo.tt %]" => "(Nested foo Nested bar)" 668s ok 43 - Line 178 "[% PROCESS nested/foo.tt %]" => "(Nested foo BAR)" 668s ok 44 - Line 179 "[% CONFIG ADD_LOCAL_PATH => 1 ; PROCESS nested/foo.tt %]" => "(Nested foo Nested bar)" 668s ok 45 - Line 181 "[% PROCESS nested/foo2.tt %]" => "" 668s ok 46 - Line 182 "[% PROCESS nested/foo2.tt %]" => "(Nested foo Nested bar2)" 668s ok 47 - Line 183 "[% PROCESS nested/foo2.tt %]" => "(Nested foo Nested bar2)" 668s ok 48 - Line 184 "[% CONFIG ADD_LOCAL_PATH => 1 ; PROCESS nested/foo2.tt %]" => "(Nested foo Nested bar2)" 668s ok 49 - Line 186 "([% META blam = 5; PROCESS blocks.tt %])" => "()" 668s ok 50 - Line 187 "([% META blam = 5; PROCESS blocks.tt %])([% PROCESS foo text => 'bar' %])" => "()(I am bar - 5bar)" 668s ok 51 - Line 188 "([% META blam = 5; PROCESS blocks.tt %])([% foo_m('hey') %])" => "()(I am hey - 5)" 668s ok 52 - Line 189 "([% META blam = 5; PROCESS blocks.tt/foo text => 'bar' %])" => "" 668s ok 53 - Line 190 "([% META blam = 5; PROCESS blocks.tt/bar %])" => "(bar)" 668s ok 54 - Line 191 "([% META blam = 5; PROCESS blocks.tt/foo text => 'bar' %])" => "" 668s ### WRAPPER ######################################### engine_option (normal) 668s ok 55 - Line 196 "([% WRAPPER wrap.tt %])" => "" 668s ok 56 - Line 197 "([% WRAPPER wrap.tt %] one [% END %])" => "(Hi one there)" 668s ok 57 - Line 198 "([% WRAPPER wrap.tt %] ([% baz %]) [% END %])" => "(Hi () there)" 668s ok 58 - Line 199 "([% WRAPPER wrap.tt %] one [% END %])" => "(HiBAZ one there)" 668s ok 59 - Line 200 "([% WRAPPER wrap.tt %] ([% baz; baz='-local' %]) [% END %][% baz %])" => "(Hi-local () there-local)" 668s ok 60 - Line 201 "([% WRAPPER wrap.tt %][% META foo='BLAM' %] [% END %])" => "(HiBLAM there)" 668s ### CONFIG PRE_PROCESS ############################## engine_option (normal) 668s ok 61 - Line 206 "Foo" => "BARFoo" 668s ok 62 - Line 207 "Foo" => "BARFoo" 668s ok 63 - Line 208 "Foo" => "(BAR)BARFoo" 668s ok 64 - Line 209 "Foo" => "BlueBARFoo" 668s ok 65 - Line 210 "Foo[% blue='Blue' %]" => "BARFoo" 668s ok 66 - Line 211 "Foo[% META foo='meta' %]" => "(metaBAR)Foo" 668s ok 67 - Line 212 "([% WRAPPER wrap.tt %] one [% END %])" => "BAR(Hi one there)" 668s ok 68 - Line 214 "Foo" => "<>Foo" 668s ### CONFIG POST_PROCESS ############################# engine_option (normal) 668s ok 69 - Line 219 "Foo" => "FooBAR" 668s ok 70 - Line 220 "Foo" => "FooBAR" 668s ok 71 - Line 221 "Foo" => "Foo(BAR)BAR" 668s ok 72 - Line 222 "Foo" => "FooBlueBAR" 668s ok 73 - Line 223 "Foo[% blue='Blue' %]" => "FooBlueBAR" 668s ok 74 - Line 224 "Foo[% META foo='meta' %]" => "Foo(metaBAR)" 668s ok 75 - Line 225 "([% WRAPPER wrap.tt %] one [% END %])" => "(Hi one there)BAR" 668s ok 76 - Line 227 "Foo" => "Foo<>" 668s ### CONFIG PROCESS ################################## engine_option (normal) 668s ok 77 - Line 232 "Foo" => "BAR" 668s ok 78 - Line 233 "Foo" => "BAR" 668s ok 79 - Line 234 "Foo" => "(BAR)BAR" 668s ok 80 - Line 235 "Foo" => "BlueBAR" 668s ok 81 - Line 236 "Foo[% META foo='meta' %]" => "(metaBAR)" 668s ok 82 - Line 237 "Foo[% META foo='meta' %]" => "BAR(metaBAR)" 668s ok 83 - Line 238 "Foo[% META foo='meta' %]" => "(metaBAR)BAR" 668s ok 84 - Line 240 "Foo" => "<>" 668s ### CONFIG WRAPPER ################################## engine_option (normal) 668s ok 85 - Line 245 " one " => "Hi one there" 668s ok 86 - Line 246 " one " => "Hi one there" 668s ok 87 - Line 247 " one " => "HiwrapHi one therethere" 668s ok 88 - Line 248 " ([% baz %]) " => "Hi () there" 668s ok 89 - Line 249 " one " => "HiBAZ one there" 668s ok 90 - Line 250 " ([% baz; baz='-local' %]) " => "Hi-local () there" 668s ok 91 - Line 251 "[% META foo='BLAM' %] " => "HiBLAM there" 668s ok 92 - Line 253 " one " => "BARHi one there" 668s ok 93 - Line 254 " one " => "HiBARthere" 668s ok 94 - Line 255 " one " => "Hi one thereBAR" 668s ok 95 - Line 257 "Foo" => "<>" 668s ### CONFIG ERRORS ################################### engine_option (normal) 668s ok 96 - Line 262 "[% THROW foo 'bar' %]" => "Error (foo) - (bar)" 668s ok 97 - Line 263 "[% THROW foo 'bar' %]" => "Error (foo) - (bar)" 668s ok 98 - Line 264 "[% THROW foo 'bar' %]" => "Error (foo) - (bar)" 668s ok 99 - Line 265 "[% THROW foo 'bar' %]" => "Error (foo) - (bar)" 668s ok 100 - Line 266 "[% THROW foo 'bar' %]" => "Error2 (foo) - (bar)" 668s ok 101 - Line 267 "[% THROW foo.baz 'bar' %]" => "Error2 (foo.baz) - (bar)" 668s ok 102 - Line 268 "[% THROW foo.baz 'bar' %]" => "Error2 (foo.baz) - (bar)" 668s ok 103 - Line 269 "[% THROW foo 'bar' %]" => "Error (foo) - (bar)" 668s ok 104 - Line 270 "[% THROW foo.baz 'bar' %]" => "Error2 (foo.baz) - (bar)" 668s ok 105 - Line 272 "[% THROW foo 'bar' %]" => "BARError (foo) - (bar)" 668s ok 106 - Line 273 "[% THROW foo 'bar' %]" => "Error (bing) - (blang)" 668s ok 107 - Line 274 "[% THROW foo 'bar' %]" => "Error (bing) - (blang)" 668s ok 108 - Line 276 "[% THROW foo 'bar' %]" => "Error (foo) - (bar)BAR" 668s ok 109 - Line 277 "[% THROW foo 'bar' %]" => "HiError (foo) - (bar)there" 668s ok 110 - Line 279 "(outer)[% PROCESS 'die.tt' %]" => "Error (bing) - (blang)" 668s ok 111 - Line 281 "(outer)[% TRY %][% PROCESS 'die.tt' %][% CATCH %] [% END %]" => "(outer) " 668s ok 112 - Line 283 " one " => "" 668s ok 113 - Line 284 " one " => "" 668s ok 114 - Line 285 " one " => "" 668s ### CONFIG and DUMP ################################# engine_option (normal) 668s ok 115 - Line 290 "[% CONFIG DUMP => {html => 0}; DUMP foo; PROCESS config.tt; DUMP foo %]" => "DUMP: File "input text" line 1 668s # foo = 'FOO'; 668s # DUMP: File "config.tt" line 1
foo = 'FOO';
668s # 
DUMP: File "input text" line 1 668s # foo = 'FOO'; 668s # " 668s ok 116 - Line 297 "[% PROCESS 'config2.tt' %]" => "DUMP: File "config2.tt/nested" line 1 668s # foo = 'FOO'; 668s # " 668s ### NOT FOUND CACHE ################################# engine_option (normal) 668s ok 117 - Line 304 "[% BLOCK foo; TRY; PROCESS blurty.tt; CATCH %]([% error.type %])([% error.info %]) 668s # [% END; END; PROCESS foo; PROCESS foo %]" => "(file)(blurty.tt: not found) 668s # (file)(blurty.tt: not found (cached)) 668s # " 668s ok 118 - Line 305 "[% BLOCK foo; TRY; PROCESS blurty.tt; CATCH %]([% error.type %])([% error.info %]) 668s # [% END; END; PROCESS foo; PROCESS foo %]" => "(file)(blurty.tt: not found) 668s # (file)(blurty.tt: not found) 668s # " 668s ok 119 - Line 306 "[% BLOCK foo; TRY; PROCESS blurty.tt; CATCH %]([% error.type %])([% error.info %]) 668s # [% END; END; PROCESS foo; PROCESS foo %]" => "(file)(blurty.tt: not found) 668s # (file)(blurty.tt: not found) 668s # " 668s ### DONE ############################################ engine_option (normal) 668s ### INSERT ########################################## engine_option (compile_perl) 668s ok 120 - Line 127 "([% INSERT bar.tt %])" => "([% blue %]BAR)" 668s ok 121 - Line 128 "([% SET file = 'bar.tt' %][% INSERT $file %])" => "([% blue %]BAR)" 668s ok 122 - Line 129 "([% SET file = 'bar.tt' %][% INSERT ${file} %])" => "([% blue %]BAR)" 668s ok 123 - Line 130 "([% SET file = 'bar.tt' %][% INSERT "$file" %])" => "([% blue %]BAR)" 668s ok 124 - Line 131 "([% SET file = 'bar' %][% INSERT "${file}.tt" %])" => "([% blue %]BAR)" 668s ### INCLUDE ######################################### engine_option (compile_perl) 668s ok 125 - Line 136 "([% INCLUDE bar.tt %])" => "(BAR)" 668s ok 126 - Line 137 "[% PROCESS foo.tt %]" => "(BAR)" 668s ok 127 - Line 138 "[% PROCESS meta.tt %]" => "Metafoo() Metabar(meta.tt)" 668s ok 128 - Line 139 "[% META foo = 'string'; PROCESS meta.tt %]" => "Metafoo() Metabar(meta.tt)" 668s ok 129 - Line 140 "[% PROCESS meta.tt %][% template.bar %]" => "Metafoo() Metabar(meta.tt)" 668s ok 130 - Line 141 "[% META foo = 'meta'; PROCESS foo.tt %]" => "(metaBAR)" 668s ok 131 - Line 142 "([% SET file = 'bar.tt' %][% INCLUDE $file %])" => "(BAR)" 668s ok 132 - Line 143 "([% SET file = 'bar.tt' %][% INCLUDE ${file} %])" => "(BAR)" 668s ok 133 - Line 144 "([% SET file = 'bar.tt' %][% INCLUDE "$file" %])" => "(BAR)" 668s ok 134 - Line 145 "([% SET file = 'bar' %][% INCLUDE "${file}.tt" %])" => "(BAR)" 668s ok 135 - Line 147 "([% INCLUDE baz.tt %])" => "(42)" 668s ok 136 - Line 148 "([% INCLUDE baz.tt %])[% baz %]" => "(42)" 668s ok 137 - Line 149 "[% SET baz = 21 %]([% INCLUDE baz.tt %])[% baz %]" => "(42)21" 668s ok 138 - Line 151 "([% META blam = 5; INCLUDE blocks.tt %])" => "()" 668s ok 139 - Line 152 "([% META blam = 5; INCLUDE blocks.tt %])([% PROCESS foo text => 'bar' %])" => "" 668s ok 140 - Line 153 "([% META blam = 5; INCLUDE blocks.tt %])([% foo_m('hey') %])" => "()()" 668s ok 141 - Line 154 "([% META blam = 5; INCLUDE blocks.tt/foo text => 'bar' %])" => "" 668s ok 142 - Line 155 "([% META blam = 5; INCLUDE blocks.tt/bar %])" => "(bar)" 668s ok 143 - Line 156 "([% META blam = 5; INCLUDE blocks.tt/foo text => 'bar' %])" => "" 668s ### PROCESS ######################################### engine_option (compile_perl) 668s ok 144 - Line 161 "([% PROCESS bar.tt %])" => "(BAR)" 668s ok 145 - Line 162 "[% PROCESS foo.tt %]" => "(BAR)" 668s ok 146 - Line 163 "[% PROCESS meta.tt %]" => "Metafoo() Metabar(meta.tt)" 668s ok 147 - Line 164 "[% META foo = 'string'; PROCESS meta.tt %]" => "Metafoo() Metabar(meta.tt)" 668s ok 148 - Line 165 "[% PROCESS meta.tt %][% template.bar %]" => "Metafoo() Metabar(meta.tt)" 668s ok 149 - Line 166 "[% META foo = 'meta'; PROCESS foo.tt %]" => "(metaBAR)" 668s ok 150 - Line 167 "([% SET file = 'bar.tt' %][% PROCESS $file %])" => "(BAR)" 668s ok 151 - Line 168 "([% SET file = 'bar.tt' %][% PROCESS ${file} %])" => "(BAR)" 668s ok 152 - Line 169 "([% SET file = 'bar.tt' %][% PROCESS "$file" %])" => "(BAR)" 668s ok 153 - Line 170 "([% SET file = 'bar' %][% PROCESS "${file}.tt" %])" => "(BAR)" 668s ok 154 - Line 172 "([% PROCESS baz.tt %])" => "(42)" 668s ok 155 - Line 173 "([% PROCESS baz.tt %])[% baz %]" => "(42)42" 668s ok 156 - Line 174 "[% SET baz = 21 %]([% PROCESS baz.tt %])[% baz %]" => "(42)42" 668s ok 157 - Line 176 "[% PROCESS nested/foo.tt %]" => "(Nested foo BAR)" 668s ok 158 - Line 177 "[% PROCESS nested/foo.tt %]" => "(Nested foo Nested bar)" 668s ok 159 - Line 178 "[% PROCESS nested/foo.tt %]" => "(Nested foo BAR)" 668s ok 160 - Line 179 "[% CONFIG ADD_LOCAL_PATH => 1 ; PROCESS nested/foo.tt %]" => "(Nested foo Nested bar)" 668s ok 161 - Line 181 "[% PROCESS nested/foo2.tt %]" => "" 668s ok 162 - Line 182 "[% PROCESS nested/foo2.tt %]" => "(Nested foo Nested bar2)" 668s ok 163 - Line 183 "[% PROCESS nested/foo2.tt %]" => "(Nested foo Nested bar2)" 668s ok 164 - Line 184 "[% CONFIG ADD_LOCAL_PATH => 1 ; PROCESS nested/foo2.tt %]" => "(Nested foo Nested bar2)" 668s ok 165 - Line 186 "([% META blam = 5; PROCESS blocks.tt %])" => "()" 668s ok 166 - Line 187 "([% META blam = 5; PROCESS blocks.tt %])([% PROCESS foo text => 'bar' %])" => "()(I am bar - 5bar)" 668s ok 167 - Line 188 "([% META blam = 5; PROCESS blocks.tt %])([% foo_m('hey') %])" => "()(I am hey - 5)" 668s ok 168 - Line 189 "([% META blam = 5; PROCESS blocks.tt/foo text => 'bar' %])" => "" 668s ok 169 - Line 190 "([% META blam = 5; PROCESS blocks.tt/bar %])" => "(bar)" 668s ok 170 - Line 191 "([% META blam = 5; PROCESS blocks.tt/foo text => 'bar' %])" => "" 668s ### WRAPPER ######################################### engine_option (compile_perl) 668s ok 171 - Line 196 "([% WRAPPER wrap.tt %])" => "" 668s ok 172 - Line 197 "([% WRAPPER wrap.tt %] one [% END %])" => "(Hi one there)" 668s ok 173 - Line 198 "([% WRAPPER wrap.tt %] ([% baz %]) [% END %])" => "(Hi () there)" 668s ok 174 - Line 199 "([% WRAPPER wrap.tt %] one [% END %])" => "(HiBAZ one there)" 668s ok 175 - Line 200 "([% WRAPPER wrap.tt %] ([% baz; baz='-local' %]) [% END %][% baz %])" => "(Hi-local () there-local)" 668s ok 176 - Line 201 "([% WRAPPER wrap.tt %][% META foo='BLAM' %] [% END %])" => "(HiBLAM there)" 668s ### CONFIG PRE_PROCESS ############################## engine_option (compile_perl) 668s ok 177 - Line 206 "Foo" => "BARFoo" 668s ok 178 - Line 207 "Foo" => "BARFoo" 668s ok 179 - Line 208 "Foo" => "(BAR)BARFoo" 668s ok 180 - Line 209 "Foo" => "BlueBARFoo" 668s ok 181 - Line 210 "Foo[% blue='Blue' %]" => "BARFoo" 668s ok 182 - Line 211 "Foo[% META foo='meta' %]" => "(metaBAR)Foo" 668s ok 183 - Line 212 "([% WRAPPER wrap.tt %] one [% END %])" => "BAR(Hi one there)" 668s ok 184 - Line 214 "Foo" => "<>Foo" 668s ### CONFIG POST_PROCESS ############################# engine_option (compile_perl) 668s ok 185 - Line 219 "Foo" => "FooBAR" 668s ok 186 - Line 220 "Foo" => "FooBAR" 668s ok 187 - Line 221 "Foo" => "Foo(BAR)BAR" 668s ok 188 - Line 222 "Foo" => "FooBlueBAR" 668s ok 189 - Line 223 "Foo[% blue='Blue' %]" => "FooBlueBAR" 668s ok 190 - Line 224 "Foo[% META foo='meta' %]" => "Foo(metaBAR)" 668s ok 191 - Line 225 "([% WRAPPER wrap.tt %] one [% END %])" => "(Hi one there)BAR" 668s ok 192 - Line 227 "Foo" => "Foo<>" 668s ### CONFIG PROCESS ################################## engine_option (compile_perl) 668s ok 193 - Line 232 "Foo" => "BAR" 668s ok 194 - Line 233 "Foo" => "BAR" 668s ok 195 - Line 234 "Foo" => "(BAR)BAR" 668s ok 196 - Line 235 "Foo" => "BlueBAR" 668s ok 197 - Line 236 "Foo[% META foo='meta' %]" => "(metaBAR)" 668s ok 198 - Line 237 "Foo[% META foo='meta' %]" => "BAR(metaBAR)" 668s ok 199 - Line 238 "Foo[% META foo='meta' %]" => "(metaBAR)BAR" 668s ok 200 - Line 240 "Foo" => "<>" 668s ### CONFIG WRAPPER ################################## engine_option (compile_perl) 668s ok 201 - Line 245 " one " => "Hi one there" 668s ok 202 - Line 246 " one " => "Hi one there" 668s ok 203 - Line 247 " one " => "HiwrapHi one therethere" 668s ok 204 - Line 248 " ([% baz %]) " => "Hi () there" 668s ok 205 - Line 249 " one " => "HiBAZ one there" 668s ok 206 - Line 250 " ([% baz; baz='-local' %]) " => "Hi-local () there" 668s ok 207 - Line 251 "[% META foo='BLAM' %] " => "HiBLAM there" 668s ok 208 - Line 253 " one " => "BARHi one there" 668s ok 209 - Line 254 " one " => "HiBARthere" 668s ok 210 - Line 255 " one " => "Hi one thereBAR" 668s ok 211 - Line 257 "Foo" => "<>" 668s ### CONFIG ERRORS ################################### engine_option (compile_perl) 668s ok 212 - Line 262 "[% THROW foo 'bar' %]" => "Error (foo) - (bar)" 668s ok 213 - Line 263 "[% THROW foo 'bar' %]" => "Error (foo) - (bar)" 668s ok 214 - Line 264 "[% THROW foo 'bar' %]" => "Error (foo) - (bar)" 668s ok 215 - Line 265 "[% THROW foo 'bar' %]" => "Error (foo) - (bar)" 668s ok 216 - Line 266 "[% THROW foo 'bar' %]" => "Error2 (foo) - (bar)" 668s ok 217 - Line 267 "[% THROW foo.baz 'bar' %]" => "Error2 (foo.baz) - (bar)" 668s ok 218 - Line 268 "[% THROW foo.baz 'bar' %]" => "Error2 (foo.baz) - (bar)" 668s ok 219 - Line 269 "[% THROW foo 'bar' %]" => "Error (foo) - (bar)" 668s ok 220 - Line 270 "[% THROW foo.baz 'bar' %]" => "Error2 (foo.baz) - (bar)" 668s ok 221 - Line 272 "[% THROW foo 'bar' %]" => "BARError (foo) - (bar)" 668s ok 222 - Line 273 "[% THROW foo 'bar' %]" => "Error (bing) - (blang)" 668s ok 223 - Line 274 "[% THROW foo 'bar' %]" => "Error (bing) - (blang)" 668s ok 224 - Line 276 "[% THROW foo 'bar' %]" => "Error (foo) - (bar)BAR" 668s ok 225 - Line 277 "[% THROW foo 'bar' %]" => "HiError (foo) - (bar)there" 668s ok 226 - Line 279 "(outer)[% PROCESS 'die.tt' %]" => "Error (bing) - (blang)" 668s ok 227 - Line 281 "(outer)[% TRY %][% PROCESS 'die.tt' %][% CATCH %] [% END %]" => "(outer) " 668s ok 228 - Line 283 " one " => "" 668s ok 229 - Line 284 " one " => "" 668s ok 230 - Line 285 " one " => "" 668s ### CONFIG and DUMP ################################# engine_option (compile_perl) 668s ok 231 - Line 290 "[% CONFIG DUMP => {html => 0}; DUMP foo; PROCESS config.tt; DUMP foo %]" => "DUMP: File "input text" line 1 668s # foo = 'FOO'; 668s # DUMP: File "config.tt" line 1
foo = 'FOO';
668s # 
DUMP: File "input text" line 1 668s # foo = 'FOO'; 668s # " 668s ok 232 - Line 297 "[% PROCESS 'config2.tt' %]" => "DUMP: File "config2.tt/nested" line 1 668s # foo = 'FOO'; 668s # " 668s ### NOT FOUND CACHE ################################# engine_option (compile_perl) 668s ok 233 - Line 304 "[% BLOCK foo; TRY; PROCESS blurty.tt; CATCH %]([% error.type %])([% error.info %]) 668s # [% END; END; PROCESS foo; PROCESS foo %]" => "(file)(blurty.tt: not found) 668s # (file)(blurty.tt: not found (cached)) 668s # " 668s ok 234 - Line 305 "[% BLOCK foo; TRY; PROCESS blurty.tt; CATCH %]([% error.type %])([% error.info %]) 668s # [% END; END; PROCESS foo; PROCESS foo %]" => "(file)(blurty.tt: not found) 668s # (file)(blurty.tt: not found) 668s # " 668s ok 235 - Line 306 "[% BLOCK foo; TRY; PROCESS blurty.tt; CATCH %]([% error.type %])([% error.info %]) 668s # [% END; END; PROCESS foo; PROCESS foo %]" => "(file)(blurty.tt: not found) 668s # (file)(blurty.tt: not found) 668s # " 668s ### DONE ############################################ engine_option (compile_perl) 668s ### INSERT ########################################## engine_option (stream) 668s ok 236 - Line 127 "([% INSERT bar.tt %])" => "([% blue %]BAR)" 668s ok 237 - Line 128 "([% SET file = 'bar.tt' %][% INSERT $file %])" => "([% blue %]BAR)" 668s ok 238 - Line 129 "([% SET file = 'bar.tt' %][% INSERT ${file} %])" => "([% blue %]BAR)" 668s ok 239 - Line 130 "([% SET file = 'bar.tt' %][% INSERT "$file" %])" => "([% blue %]BAR)" 668s ok 240 - Line 131 "([% SET file = 'bar' %][% INSERT "${file}.tt" %])" => "([% blue %]BAR)" 668s ### INCLUDE ######################################### engine_option (stream) 668s ok 241 - Line 136 "([% INCLUDE bar.tt %])" => "(BAR)" 668s ok 242 - Line 137 "[% PROCESS foo.tt %]" => "(BAR)" 668s ok 243 - Line 138 "[% PROCESS meta.tt %]" => "Metafoo() Metabar(meta.tt)" 668s ok 244 - Line 139 "[% META foo = 'string'; PROCESS meta.tt %]" => "Metafoo() Metabar(meta.tt)" 668s ok 245 - Line 140 "[% PROCESS meta.tt %][% template.bar %]" => "Metafoo() Metabar(meta.tt)" 668s ok 246 - Line 141 "[% META foo = 'meta'; PROCESS foo.tt %]" => "(metaBAR)" 668s ok 247 - Line 142 "([% SET file = 'bar.tt' %][% INCLUDE $file %])" => "(BAR)" 668s ok 248 - Line 143 "([% SET file = 'bar.tt' %][% INCLUDE ${file} %])" => "(BAR)" 668s ok 249 - Line 144 "([% SET file = 'bar.tt' %][% INCLUDE "$file" %])" => "(BAR)" 668s ok 250 - Line 145 "([% SET file = 'bar' %][% INCLUDE "${file}.tt" %])" => "(BAR)" 668s ok 251 - Line 147 "([% INCLUDE baz.tt %])" => "(42)" 668s ok 252 - Line 148 "([% INCLUDE baz.tt %])[% baz %]" => "(42)" 668s ok 253 - Line 149 "[% SET baz = 21 %]([% INCLUDE baz.tt %])[% baz %]" => "(42)21" 668s ok 254 - Line 151 "([% META blam = 5; INCLUDE blocks.tt %])" => "()" 668s ok 255 - Line 152 "([% META blam = 5; INCLUDE blocks.tt %])([% PROCESS foo text => 'bar' %])" => "()(" 668s ok 256 - Line 153 "([% META blam = 5; INCLUDE blocks.tt %])([% foo_m('hey') %])" => "()()" 668s ok 257 - Line 154 "([% META blam = 5; INCLUDE blocks.tt/foo text => 'bar' %])" => "(" 668s ok 258 - Line 155 "([% META blam = 5; INCLUDE blocks.tt/bar %])" => "(bar)" 668s ok 259 - Line 156 "([% META blam = 5; INCLUDE blocks.tt/foo text => 'bar' %])" => "(I am bar - 5" 668s ### PROCESS ######################################### engine_option (stream) 668s ok 260 - Line 161 "([% PROCESS bar.tt %])" => "(BAR)" 668s ok 261 - Line 162 "[% PROCESS foo.tt %]" => "(BAR)" 668s ok 262 - Line 163 "[% PROCESS meta.tt %]" => "Metafoo() Metabar(meta.tt)" 668s ok 263 - Line 164 "[% META foo = 'string'; PROCESS meta.tt %]" => "Metafoo() Metabar(meta.tt)" 668s ok 264 - Line 165 "[% PROCESS meta.tt %][% template.bar %]" => "Metafoo() Metabar(meta.tt)" 668s ok 265 - Line 166 "[% META foo = 'meta'; PROCESS foo.tt %]" => "(metaBAR)" 668s ok 266 - Line 167 "([% SET file = 'bar.tt' %][% PROCESS $file %])" => "(BAR)" 668s ok 267 - Line 168 "([% SET file = 'bar.tt' %][% PROCESS ${file} %])" => "(BAR)" 668s ok 268 - Line 169 "([% SET file = 'bar.tt' %][% PROCESS "$file" %])" => "(BAR)" 668s ok 269 - Line 170 "([% SET file = 'bar' %][% PROCESS "${file}.tt" %])" => "(BAR)" 668s ok 270 - Line 172 "([% PROCESS baz.tt %])" => "(42)" 668s ok 271 - Line 173 "([% PROCESS baz.tt %])[% baz %]" => "(42)42" 668s ok 272 - Line 174 "[% SET baz = 21 %]([% PROCESS baz.tt %])[% baz %]" => "(42)42" 668s ok 273 - Line 176 "[% PROCESS nested/foo.tt %]" => "(Nested foo BAR)" 668s ok 274 - Line 177 "[% PROCESS nested/foo.tt %]" => "(Nested foo Nested bar)" 668s ok 275 - Line 178 "[% PROCESS nested/foo.tt %]" => "(Nested foo BAR)" 668s ok 276 - Line 179 "[% CONFIG ADD_LOCAL_PATH => 1 ; PROCESS nested/foo.tt %]" => "(Nested foo Nested bar)" 668s ok 277 - Line 181 "[% PROCESS nested/foo2.tt %]" => "(Nested foo " 668s ok 278 - Line 182 "[% PROCESS nested/foo2.tt %]" => "(Nested foo Nested bar2)" 668s ok 279 - Line 183 "[% PROCESS nested/foo2.tt %]" => "(Nested foo Nested bar2)" 668s ok 280 - Line 184 "[% CONFIG ADD_LOCAL_PATH => 1 ; PROCESS nested/foo2.tt %]" => "(Nested foo Nested bar2)" 668s ok 281 - Line 186 "([% META blam = 5; PROCESS blocks.tt %])" => "()" 668s ok 282 - Line 187 "([% META blam = 5; PROCESS blocks.tt %])([% PROCESS foo text => 'bar' %])" => "()(I am bar - 5bar)" 668s ok 283 - Line 188 "([% META blam = 5; PROCESS blocks.tt %])([% foo_m('hey') %])" => "()(I am hey - 5)" 668s ok 284 - Line 189 "([% META blam = 5; PROCESS blocks.tt/foo text => 'bar' %])" => "(" 668s ok 285 - Line 190 "([% META blam = 5; PROCESS blocks.tt/bar %])" => "(bar)" 668s ok 286 - Line 191 "([% META blam = 5; PROCESS blocks.tt/foo text => 'bar' %])" => "(I am bar - 5" 668s ### WRAPPER ######################################### engine_option (stream) 668s ok 287 - Line 196 "([% WRAPPER wrap.tt %])" => "" 668s ok 288 - Line 197 "([% WRAPPER wrap.tt %] one [% END %])" => "(Hi one there)" 668s ok 289 - Line 198 "([% WRAPPER wrap.tt %] ([% baz %]) [% END %])" => "(Hi () there)" 668s ok 290 - Line 199 "([% WRAPPER wrap.tt %] one [% END %])" => "(HiBAZ one there)" 668s ok 291 - Line 200 "([% WRAPPER wrap.tt %] ([% baz; baz='-local' %]) [% END %][% baz %])" => "(Hi-local () there-local)" 668s ok 292 - Line 201 "([% WRAPPER wrap.tt %][% META foo='BLAM' %] [% END %])" => "(HiBLAM there)" 668s ### CONFIG PRE_PROCESS ############################## engine_option (stream) 668s ok 293 - Line 206 "Foo" => "BARFoo" 668s ok 294 - Line 207 "Foo" => "BARFoo" 668s ok 295 - Line 208 "Foo" => "(BAR)BARFoo" 668s ok 296 - Line 209 "Foo" => "BlueBARFoo" 668s ok 297 - Line 210 "Foo[% blue='Blue' %]" => "BARFoo" 668s ok 298 - Line 211 "Foo[% META foo='meta' %]" => "(metaBAR)Foo" 668s ok 299 - Line 212 "([% WRAPPER wrap.tt %] one [% END %])" => "BAR(Hi one there)" 668s ok 300 - Line 214 "Foo" => "<>Foo" 668s ### CONFIG POST_PROCESS ############################# engine_option (stream) 668s ok 301 - Line 219 "Foo" => "FooBAR" 668s ok 302 - Line 220 "Foo" => "FooBAR" 668s ok 303 - Line 221 "Foo" => "Foo(BAR)BAR" 668s ok 304 - Line 222 "Foo" => "FooBlueBAR" 668s ok 305 - Line 223 "Foo[% blue='Blue' %]" => "FooBlueBAR" 668s ok 306 - Line 224 "Foo[% META foo='meta' %]" => "Foo(metaBAR)" 668s ok 307 - Line 225 "([% WRAPPER wrap.tt %] one [% END %])" => "(Hi one there)BAR" 668s ok 308 - Line 227 "Foo" => "Foo<>" 668s ### CONFIG PROCESS ################################## engine_option (stream) 668s ok 309 - Line 232 "Foo" => "BAR" 668s ok 310 - Line 233 "Foo" => "BAR" 668s ok 311 - Line 234 "Foo" => "(BAR)BAR" 668s ok 312 - Line 235 "Foo" => "BlueBAR" 668s ok 313 - Line 236 "Foo[% META foo='meta' %]" => "(metaBAR)" 668s ok 314 - Line 237 "Foo[% META foo='meta' %]" => "BAR(metaBAR)" 668s ok 315 - Line 238 "Foo[% META foo='meta' %]" => "(metaBAR)BAR" 668s ok 316 - Line 240 "Foo" => "<>" 668s ### CONFIG WRAPPER ################################## engine_option (stream) 668s ok 317 - Line 245 " one " => "Hi one there" 668s ok 318 - Line 246 " one " => "Hi one there" 668s ok 319 - Line 247 " one " => "HiwrapHi one therethere" 668s ok 320 - Line 248 " ([% baz %]) " => "Hi () there" 668s ok 321 - Line 249 " one " => "HiBAZ one there" 668s ok 322 - Line 250 " ([% baz; baz='-local' %]) " => "Hi-local () there" 668s ok 323 - Line 251 "[% META foo='BLAM' %] " => "HiBLAM there" 668s ok 324 - Line 253 " one " => "BARHi one there" 668s ok 325 - Line 254 " one " => "HiBARthere" 668s ok 326 - Line 255 " one " => "Hi one thereBAR" 668s ok 327 - Line 257 "Foo" => "<>" 668s ### CONFIG ERRORS ################################### engine_option (stream) 668s ok 328 - Line 262 "[% THROW foo 'bar' %]" => "Error (foo) - (bar)" 668s ok 329 - Line 263 "[% THROW foo 'bar' %]" => "Error (foo) - (bar)" 668s ok 330 - Line 264 "[% THROW foo 'bar' %]" => "Error (foo) - (bar)" 668s ok 331 - Line 265 "[% THROW foo 'bar' %]" => "Error (foo) - (bar)" 668s ok 332 - Line 266 "[% THROW foo 'bar' %]" => "Error2 (foo) - (bar)" 668s ok 333 - Line 267 "[% THROW foo.baz 'bar' %]" => "Error2 (foo.baz) - (bar)" 668s ok 334 - Line 268 "[% THROW foo.baz 'bar' %]" => "Error2 (foo.baz) - (bar)" 668s ok 335 - Line 269 "[% THROW foo 'bar' %]" => "Error (foo) - (bar)" 668s ok 336 - Line 270 "[% THROW foo.baz 'bar' %]" => "Error2 (foo.baz) - (bar)" 668s ok 337 - Line 272 "[% THROW foo 'bar' %]" => "BARError (foo) - (bar)" 668s ok 338 - Line 273 "[% THROW foo 'bar' %]" => "Error (bing) - (blang)" 668s ok 339 - Line 275 "[% THROW foo 'bar' %]" => "BARError (bing) - (blang)" 668s ok 340 - Line 276 "[% THROW foo 'bar' %]" => "Error (foo) - (bar)BAR" 668s ok 341 - Line 277 "[% THROW foo 'bar' %]" => "HiError (foo) - (bar)there" 668s ok 342 - Line 280 "(outer)[% PROCESS 'die.tt' %]" => "(outer)Error (bing) - (blang)" 668s ok 343 - Line 281 "(outer)[% TRY %][% PROCESS 'die.tt' %][% CATCH %] [% END %]" => "(outer) " 668s ok 344 - Line 283 " one " => "" 668s ok 345 - Line 284 " one " => " one " 668s ok 346 - Line 285 " one " => "" 668s ### CONFIG and DUMP ################################# engine_option (stream) 668s ok 347 - Line 290 "[% CONFIG DUMP => {html => 0}; DUMP foo; PROCESS config.tt; DUMP foo %]" => "DUMP: File "input text" line 1 668s # foo = 'FOO'; 668s # DUMP: File "config.tt" line 1
foo = 'FOO';
668s # 
DUMP: File "input text" line 1 668s # foo = 'FOO'; 668s # " 668s ok 348 - Line 297 "[% PROCESS 'config2.tt' %]" => "DUMP: File "config2.tt/nested" line 1 668s # foo = 'FOO'; 668s # " 668s ### NOT FOUND CACHE ################################# engine_option (stream) 668s ok 349 - Line 304 "[% BLOCK foo; TRY; PROCESS blurty.tt; CATCH %]([% error.type %])([% error.info %]) 668s # [% END; END; PROCESS foo; PROCESS foo %]" => "(file)(blurty.tt: not found) 668s # (file)(blurty.tt: not found (cached)) 668s # " 668s ok 350 - Line 305 "[% BLOCK foo; TRY; PROCESS blurty.tt; CATCH %]([% error.type %])([% error.info %]) 668s # [% END; END; PROCESS foo; PROCESS foo %]" => "(file)(blurty.tt: not found) 668s # (file)(blurty.tt: not found) 668s # " 668s ok 351 - Line 306 "[% BLOCK foo; TRY; PROCESS blurty.tt; CATCH %]([% error.type %])([% error.info %]) 668s # [% END; END; PROCESS foo; PROCESS foo %]" => "(file)(blurty.tt: not found) 668s # (file)(blurty.tt: not found) 668s # " 668s ### DONE ############################################ engine_option (stream) 668s ok 668s t/11_tt_input_output.t .. 668s 1..21 668s ok 1 - use Template::Alloy; 668s ok 2 - Got a test dir up and running 668s ### INPUT ########################################### 668s ok 3 - process(\$in, {}, \$out) 668s ok 4 - process($filename, {}, \$out) 668s ok 5 - process(\&code, {}, \$out) 668s ok 6 - process($obj->load_template($filename), {}, \$out) 668s ok 7 - process(\*FH, {}, \$out) 668s ok 8 - process($fh, {}, \$out) 668s ### OUTPUT ########################################## 668s ok 9 - new(OUTPUT=>\$out)->process(\$str) 668s ok 10 - process(\$str, {}, \&code) 668s ok 11 - process(\$str, {}, $obj) - where $obj->can("print") 668s ok 12 - process(\$str, {}, \$out) 668s ok 13 - process(\$str, {}, \@out) 668s ok 14 - process(\$str, {}, \*FH) 668s ok 15 - process(\$str, {}, $fh) 668s ok 16 - Skip ABSOLUTE/RELATIVE output tests 668s ok 17 - Skip ABSOLUTE/RELATIVE output tests 668s ok 18 - Skip ABSOLUTE/RELATIVE output tests 668s ok 19 - process(\$str, {}, $filename) - with OUTPUT_PATH 668s ok 20 - process(\$str, {}, $filename) - with binmode 668s ok 21 - process(\$str) 668s ### DONE ############################################ 668s ok 668s t/15_tt_view.t .......... 668s 1..105 668s ok 1 - use Template::Alloy; 668s ok 2 # skip Template::View is not installed - skipping Template::View integration tests 668s ok 3 # skip Template::View is not installed - skipping Template::View integration tests 668s ok 4 # skip Template::View is not installed - skipping Template::View integration tests 668s ok 5 # skip Template::View is not installed - skipping Template::View integration tests 668s ok 6 # skip Template::View is not installed - skipping Template::View integration tests 668s ok 7 # skip Template::View is not installed - skipping Template::View integration tests 668s ok 8 # skip Template::View is not installed - skipping Template::View integration tests 668s ok 9 # skip Template::View is not installed - skipping Template::View integration tests 668s ok 10 # skip Template::View is not installed - skipping Template::View integration tests 668s ok 11 # skip Template::View is not installed - skipping Template::View integration tests 668s ok 12 # skip Template::View is not installed - skipping Template::View integration tests 668s ok 13 # skip Template::View is not installed - skipping Template::View integration tests 668s ok 14 # skip Template::View is not installed - skipping Template::View integration tests 668s ok 15 # skip Template::View is not installed - skipping Template::View integration tests 668s ok 16 # skip Template::View is not installed - skipping Template::View integration tests 668s ok 17 # skip Template::View is not installed - skipping Template::View integration tests 668s ok 18 # skip Template::View is not installed - skipping Template::View integration tests 668s ok 19 # skip Template::View is not installed - skipping Template::View integration tests 668s ok 20 # skip Template::View is not installed - skipping Template::View integration tests 668s ok 21 # skip Template::View is not installed - skipping Template::View integration tests 668s ok 22 # skip Template::View is not installed - skipping Template::View integration tests 668s ok 23 # skip Template::View is not installed - skipping Template::View integration tests 668s ok 24 # skip Template::View is not installed - skipping Template::View integration tests 668s ok 25 # skip Template::View is not installed - skipping Template::View integration tests 668s ok 26 # skip Template::View is not installed - skipping Template::View integration tests 668s ok 27 # skip Template::View is not installed - skipping Template::View integration tests 668s ok 28 # skip Template::View is not installed - skipping Template::View integration tests 668s ok 29 # skip Template::View is not installed - skipping Template::View integration tests 668s ok 30 # skip Template::View is not installed - skipping Template::View integration tests 668s ok 31 # skip Template::View is not installed - skipping Template::View integration tests 668s ok 32 # skip Template::View is not installed - skipping Template::View integration tests 668s ok 33 # skip Template::View is not installed - skipping Template::View integration tests 668s ok 34 # skip Template::View is not installed - skipping Template::View integration tests 668s ok 35 # skip Template::View is not installed - skipping Template::View integration tests 668s ok 36 # skip Template::View is not installed - skipping Template::View integration tests 668s ok 37 # skip Template::View is not installed - skipping Template::View integration tests 668s ok 38 # skip Template::View is not installed - skipping Template::View integration tests 668s ok 39 # skip Template::View is not installed - skipping Template::View integration tests 668s ok 40 # skip Template::View is not installed - skipping Template::View integration tests 668s ok 41 # skip Template::View is not installed - skipping Template::View integration tests 668s ok 42 # skip Template::View is not installed - skipping Template::View integration tests 668s ok 43 # skip Template::View is not installed - skipping Template::View integration tests 668s ok 44 # skip Template::View is not installed - skipping Template::View integration tests 668s ok 45 # skip Template::View is not installed - skipping Template::View integration tests 668s ok 46 # skip Template::View is not installed - skipping Template::View integration tests 668s ok 47 # skip Template::View is not installed - skipping Template::View integration tests 668s ok 48 # skip Template::View is not installed - skipping Template::View integration tests 668s ok 49 # skip Template::View is not installed - skipping Template::View integration tests 668s ok 50 # skip Template::View is not installed - skipping Template::View integration tests 668s ok 51 # skip Template::View is not installed - skipping Template::View integration tests 668s ok 52 # skip Template::View is not installed - skipping Template::View integration tests 668s ok 53 # skip Template::View is not installed - skipping Template::View integration tests 668s ok 54 # skip Template::View is not installed - skipping Template::View integration tests 668s ok 55 # skip Template::View is not installed - skipping Template::View integration tests 668s ok 56 # skip Template::View is not installed - skipping Template::View integration tests 668s ok 57 # skip Template::View is not installed - skipping Template::View integration tests 668s ok 58 # skip Template::View is not installed - skipping Template::View integration tests 668s ok 59 # skip Template::View is not installed - skipping Template::View integration tests 668s ok 60 # skip Template::View is not installed - skipping Template::View integration tests 668s ok 61 # skip Template::View is not installed - skipping Template::View integration tests 668s ok 62 # skip Template::View is not installed - skipping Template::View integration tests 668s ok 63 # skip Template::View is not installed - skipping Template::View integration tests 668s ok 64 # skip Template::View is not installed - skipping Template::View integration tests 668s ok 65 # skip Template::View is not installed - skipping Template::View integration tests 668s ok 66 # skip Template::View is not installed - skipping Template::View integration tests 668s ok 67 # skip Template::View is not installed - skipping Template::View integration tests 668s ok 68 # skip Template::View is not installed - skipping Template::View integration tests 668s ok 69 # skip Template::View is not installed - skipping Template::View integration tests 668s ok 70 # skip Template::View is not installed - skipping Template::View integration tests 668s ok 71 # skip Template::View is not installed - skipping Template::View integration tests 668s ok 72 # skip Template::View is not installed - skipping Template::View integration tests 668s ok 73 # skip Template::View is not installed - skipping Template::View integration tests 668s ok 74 # skip Template::View is not installed - skipping Template::View integration tests 668s ok 75 # skip Template::View is not installed - skipping Template::View integration tests 668s ok 76 # skip Template::View is not installed - skipping Template::View integration tests 668s ok 77 # skip Template::View is not installed - skipping Template::View integration tests 668s ok 78 # skip Template::View is not installed - skipping Template::View integration tests 668s ok 79 # skip Template::View is not installed - skipping Template::View integration tests 668s ok 80 # skip Template::View is not installed - skipping Template::View integration tests 668s ok 81 # skip Template::View is not installed - skipping Template::View integration tests 668s ok 82 # skip Template::View is not installed - skipping Template::View integration tests 668s ok 83 # skip Template::View is not installed - skipping Template::View integration tests 668s ok 84 # skip Template::View is not installed - skipping Template::View integration tests 668s ok 85 # skip Template::View is not installed - skipping Template::View integration tests 668s ok 86 # skip Template::View is not installed - skipping Template::View integration tests 668s ok 87 # skip Template::View is not installed - skipping Template::View integration tests 668s ok 88 # skip Template::View is not installed - skipping Template::View integration tests 668s ok 89 # skip Template::View is not installed - skipping Template::View integration tests 668s ok 90 # skip Template::View is not installed - skipping Template::View integration tests 668s ok 91 # skip Template::View is not installed - skipping Template::View integration tests 668s ok 92 # skip Template::View is not installed - skipping Template::View integration tests 668s ok 93 # skip Template::View is not installed - skipping Template::View integration tests 668s ok 94 # skip Template::View is not installed - skipping Template::View integration tests 668s ok 95 # skip Template::View is not installed - skipping Template::View integration tests 668s ok 96 # skip Template::View is not installed - skipping Template::View integration tests 668s ok 97 # skip Template::View is not installed - skipping Template::View integration tests 668s ok 98 # skip Template::View is not installed - skipping Template::View integration tests 668s ok 99 # skip Template::View is not installed - skipping Template::View integration tests 668s ok 100 # skip Template::View is not installed - skipping Template::View integration tests 668s ok 101 # skip Template::View is not installed - skipping Template::View integration tests 668s ok 102 # skip Template::View is not installed - skipping Template::View integration tests 668s ok 103 # skip Template::View is not installed - skipping Template::View integration tests 668s ok 104 # skip Template::View is not installed - skipping Template::View integration tests 668s ok 105 # skip Template::View is not installed - skipping Template::View integration tests 668s ok 668s t/20_html_template.t .... 668s 1..250 668s ok 1 - use Template::Alloy; 668s ok 2 - Got a test dir up and running 668s ### VAR ############################################# compile perl (0) 668s ok 3 - Line 94 "Foo" => "Foo" 668s ok 4 - Line 96 "" => "FOO" 668s ok 5 - Line 97 "" => "FOO" 668s ok 6 - Line 98 "" => "FOO" 668s ok 7 - Line 99 "" => "FOO" 668s ok 8 - Line 100 "" => "FOO" 668s ok 9 - Line 101 "" => "FOO" 668s ok 10 - Line 102 "" => "FOO" 668s ok 11 - Line 103 "" => "FOO" 668s ok 12 - Line 104 "" => "FOO" 668s ok 13 - Line 105 "" => "FOO" 668s ok 14 - Line 106 "" => "FOO" 668s ok 15 - Line 107 "" => "FOO" 668s ok 16 - Line 108 "" => "FOO" 668s ok 17 - Line 110 "" => "<>" 668s ok 18 - Line 111 "" => "<>" 668s ok 19 - Line 112 "" => "<>" 668s ok 20 - Line 113 "" => "<>" 668s ok 21 - Line 114 "" => "<>" 668s ok 22 - Line 115 "" => "<>" 668s ok 23 - Line 116 "" => "<>" 668s ok 24 - Line 117 "" => "<>" 668s ok 25 - Line 118 "" => "<>" 668s ok 26 - Line 119 "" => "%3C%3E" 668s ok 27 - Line 120 "" => "<>\n\r \"\'" 668s ok 28 - Line 122 "" => "<>" 668s ok 29 - Line 123 "" => "<>" 668s ok 30 - Line 124 "" => "<>" 668s ok 31 - Line 125 "" => "<>" 668s ok 32 - Line 127 "" => "FOO" 668s ok 33 - Line 128 "" => "FOO" 668s ok 34 - Line 129 "" => "FOO" 668s ok 35 - Line 130 "d" => "bard" 668s ok 36 - Line 131 "d" => "bard" 668s ok 37 - Line 132 "d" => "bard" 668s ok 38 - Line 134 "" => "FOO" 668s ok 39 - Line 135 "" => "FOO" 668s ok 40 - Line 137 "" => "&" 668s ### IF / ELSE / UNLESS ############################## compile perl (0) 668s ok 41 - Line 142 "bar" => "" 668s ok 42 - Line 143 "bar" => "bar" 668s ok 43 - Line 144 "barbing" => "bing" 668s ok 44 - Line 145 "barbing" => "bar" 668s ok 45 - Line 146 "barbing" => "bar" 668s ok 46 - Line 147 "barbing" => "bar" 668s ok 47 - Line 148 "barbing" => "bar" 668s ok 48 - Line 149 "barbing" => "bar" 668s ok 49 - Line 150 "barbing" => "bar" 668s ok 50 - Line 151 "barbing" => "bing" 668s ok 51 - Line 152 "barbing" => "bar" 668s ok 52 - Line 153 " "" 668s ok 53 - Line 154 "barbing" => "bar" 668s ok 54 - Line 155 "barbaz" => "baz" 668s ok 55 - Line 156 "bar" => "bar" 668s ok 56 - Line 157 "bar" => "" 668s ok 57 - Line 158 "barbaz" => "barbaz" 668s ok 58 - Line 159 "barbing" => "bing" 668s ok 59 - Line 160 "barbing" => "bar" 668s ok 60 - Line 162 "barbaz" => "" 668s ok 61 - Line 163 "barbaz" => "" 668s ### INCLUDE ######################################### compile perl (0) 668s ok 62 - Line 168 "bar" => "" 668s ok 63 - Line 169 "" => "Good Day!" 668s ok 64 - Line 170 "" => "Good Day!" 668s ok 65 - Line 171 "" => "Good Day!" 668s ok 66 - Line 172 "" => "Good Day!" 668s ok 67 - Line 173 "" => "Good Day!" 668s ok 68 - Line 174 "" => "Good Day!" 668s ok 69 - Line 175 "" => "" 668s ok 70 - Line 177 "" => "" 668s ok 71 - Line 178 "" => "" 668s ok 72 - Line 180 "" => "Good Day!" 668s ok 73 - Line 181 "" => "Good Day!" 668s ok 74 - Line 182 "" => "Good Day!" 668s ok 75 - Line 184 "" => "()" 668s ok 76 - Line 185 "" => "(hi)" 668s ### EXPR ############################################ compile perl (0) 668s ok 77 - Line 190 "" => "777" 668s ok 78 - Line 191 "" => "777" 668s ok 79 - Line 192 "" => "777" 668s ok 80 - Line 193 "" => "777" 668s ok 81 - Line 194 "" => "777" 668s ok 82 - Line 195 "" => "<>" 668s ok 83 - Line 196 "" => "" 668s ok 84 - Line 197 "" => "" 668s ok 85 - Line 199 "" => "FOO" 668s ok 86 - Line 201 "" => "&" 668s ok 87 - Line 202 "" => "&" 668s ### LOOP ############################################ compile perl (0) 668s ok 88 - Line 207 "foo" => "foo" 668s ok 89 - Line 208 "Hifoo" => "foo" 668s ok 90 - Line 209 "Hifoo" => "Hifoo" 668s ok 91 - Line 210 "Hifoo" => "HiHifoo" 668s ok 92 - Line 211 "()foo" => "(1)(2)(3)foo" 668s ok 93 - Line 212 "()foo" => "(1)(2)(3)foo" 668s ok 94 - Line 213 "()foo" => "(1)(2)(3)foo" 668s ok 95 - Line 215 "()()foo" => "(1)(B)(2)(B)(3)(B)foo" 668s ok 96 - Line 217 "()()foo" => "(1)()(2)()(3)()foo" 668s ok 97 - Line 218 "()()foo" => "(1)(B)(2)(B)(3)(B)foo" 668s ok 98 - Line 220 "()foo" => "(1)()(3)foo" 668s ok 99 - Line 222 " 668s # (||||)foo" => " 668s # (||||) 668s # (||||) 668s # (||||)foo" 668s ok 100 - Line 232 " 668s # (||||)foo" => " 668s # (1|0|1|0|1) 668s # (0|0|0|1|2) 668s # (0|1|1|0|3)foo" 668s ### TT3 DIRECTIVES ################################## compile perl (0) 668s ok 101 - Line 241 "" => "FOO" 668s ok 102 - Line 242 "" => "" 668s ok 103 - Line 243 "" => "" 668s ok 104 - Line 244 "" => "10" 668s ok 105 - Line 246 "barweebing" => "bar" 668s ok 106 - Line 248 "()" => "(foo)" 668s ok 107 - Line 249 "()" => "(foo)" 668s ok 108 - Line 250 "()" => "(1)(2)(3)" 668s ok 109 - Line 252 "()" => "(bar)" 668s ok 110 - Line 253 "()" => "(bar)" 668s ok 111 - Line 255 "" => "bar" 668s ok 112 - Line 257 "You said " => "You said hello" 668s ok 113 - Line 259 "" => "&" 668s ok 114 - Line 260 "" => "&" 668s ### TT3 CHOMPING #################################### compile perl (0) 668s ok 115 - Line 265 " 668s # " => " 668s # FOO" 668s ok 116 - Line 266 " 668s # " => "FOO" 668s ok 117 - Line 267 " 668s # <-TMPL_GET foo>" => "FOO" 668s ### TT3 INTERPOLATE ################################# compile perl (0) 668s ok 118 - Line 272 "$foo ${ 1 + 2 }" => "$foo FOO ${ 1 + 2 }" 668s ok 119 - Line 273 "$foo ${ 1 + 2 }" => "FOO FOO 3" 668s ok 120 - Line 274 " 1>$foo ${ 1 + 2 }" => "FOO FOO 3" 668s ok 121 - Line 276 "Foo $a Bar $!a Baz" => "Foo 7 Bar 7 Baz" 668s ok 122 - Line 277 "Foo $a Bar $!{a} Baz" => "Foo 7 Bar 7 Baz" 668s ok 123 - Line 278 "Foo $a Bar $!a Baz" => "Foo 7 Bar 7 Baz" 668s ok 124 - Line 279 "Foo $a Bar $!{a} Baz" => "Foo 7 Bar 7 Baz" 668s ok 125 - Line 280 "Foo $a Bar $!a Baz" => "Foo $a Bar Baz" 668s ok 126 - Line 281 "Foo ${a} Bar $!{a} Baz" => "Foo ${a} Bar Baz" 668s ### DONE ############################################ compile perl (0) 668s ### VAR ############################################# compile perl (1) 668s ok 127 - Line 94 "Foo" => "Foo" 668s ok 128 - Line 96 "" => "FOO" 668s ok 129 - Line 97 "" => "FOO" 668s ok 130 - Line 98 "" => "FOO" 668s ok 131 - Line 99 "" => "FOO" 668s ok 132 - Line 100 "" => "FOO" 668s ok 133 - Line 101 "" => "FOO" 668s ok 134 - Line 102 "" => "FOO" 668s ok 135 - Line 103 "" => "FOO" 668s ok 136 - Line 104 "" => "FOO" 668s ok 137 - Line 105 "" => "FOO" 668s ok 138 - Line 106 "" => "FOO" 668s ok 139 - Line 107 "" => "FOO" 668s ok 140 - Line 108 "" => "FOO" 668s ok 141 - Line 110 "" => "<>" 668s ok 142 - Line 111 "" => "<>" 668s ok 143 - Line 112 "" => "<>" 668s ok 144 - Line 113 "" => "<>" 668s ok 145 - Line 114 "" => "<>" 668s ok 146 - Line 115 "" => "<>" 668s ok 147 - Line 116 "" => "<>" 668s ok 148 - Line 117 "" => "<>" 668s ok 149 - Line 118 "" => "<>" 668s ok 150 - Line 119 "" => "%3C%3E" 668s ok 151 - Line 120 "" => "<>\n\r \"\'" 668s ok 152 - Line 122 "" => "<>" 668s ok 153 - Line 123 "" => "<>" 668s ok 154 - Line 124 "" => "<>" 668s ok 155 - Line 125 "" => "<>" 668s ok 156 - Line 127 "" => "FOO" 668s ok 157 - Line 128 "" => "FOO" 668s ok 158 - Line 129 "" => "FOO" 668s ok 159 - Line 130 "d" => "bard" 668s ok 160 - Line 131 "d" => "bard" 668s ok 161 - Line 132 "d" => "bard" 668s ok 162 - Line 134 "" => "FOO" 668s ok 163 - Line 135 "" => "FOO" 668s ok 164 - Line 137 "" => "&" 668s ### IF / ELSE / UNLESS ############################## compile perl (1) 668s ok 165 - Line 142 "bar" => "" 668s ok 166 - Line 143 "bar" => "bar" 668s ok 167 - Line 144 "barbing" => "bing" 668s ok 168 - Line 145 "barbing" => "bar" 668s ok 169 - Line 146 "barbing" => "bar" 668s ok 170 - Line 147 "barbing" => "bar" 668s ok 171 - Line 148 "barbing" => "bar" 668s ok 172 - Line 149 "barbing" => "bar" 668s ok 173 - Line 150 "barbing" => "bar" 668s ok 174 - Line 151 "barbing" => "bing" 668s ok 175 - Line 152 "barbing" => "bar" 668s ok 176 - Line 153 " "" 668s ok 177 - Line 154 "barbing" => "bar" 668s ok 178 - Line 155 "barbaz" => "baz" 668s ok 179 - Line 156 "bar" => "bar" 668s ok 180 - Line 157 "bar" => "" 668s ok 181 - Line 158 "barbaz" => "barbaz" 668s ok 182 - Line 159 "barbing" => "bing" 668s ok 183 - Line 160 "barbing" => "bar" 668s ok 184 - Line 162 "barbaz" => "" 668s ok 185 - Line 163 "barbaz" => "" 668s ### INCLUDE ######################################### compile perl (1) 668s ok 186 - Line 168 "bar" => "" 668s ok 187 - Line 169 "" => "Good Day!" 668s ok 188 - Line 170 "" => "Good Day!" 668s ok 189 - Line 171 "" => "Good Day!" 668s ok 190 - Line 172 "" => "Good Day!" 668s ok 191 - Line 173 "" => "Good Day!" 668s ok 192 - Line 174 "" => "Good Day!" 668s ok 193 - Line 175 "" => "" 668s ok 194 - Line 177 "" => "" 668s ok 195 - Line 178 "" => "" 668s ok 196 - Line 180 "" => "Good Day!" 668s ok 197 - Line 181 "" => "Good Day!" 668s ok 198 - Line 182 "" => "Good Day!" 668s ok 199 - Line 184 "" => "()" 668s ok 200 - Line 185 "" => "(hi)" 668s ### EXPR ############################################ compile perl (1) 668s ok 201 - Line 190 "" => "777" 668s ok 202 - Line 191 "" => "777" 668s ok 203 - Line 192 "" => "777" 668s ok 204 - Line 193 "" => "777" 668s ok 205 - Line 194 "" => "777" 668s ok 206 - Line 195 "" => "<>" 668s ok 207 - Line 196 "" => "" 668s ok 208 - Line 197 "" => "" 668s ok 209 - Line 199 "" => "FOO" 668s ok 210 - Line 201 "" => "&" 668s ok 211 - Line 202 "" => "&" 668s ### LOOP ############################################ compile perl (1) 668s ok 212 - Line 207 "foo" => "foo" 668s ok 213 - Line 208 "Hifoo" => "foo" 668s ok 214 - Line 209 "Hifoo" => "Hifoo" 668s ok 215 - Line 210 "Hifoo" => "HiHifoo" 668s ok 216 - Line 211 "()foo" => "(1)(2)(3)foo" 668s ok 217 - Line 212 "()foo" => "(1)(2)(3)foo" 668s ok 218 - Line 213 "()foo" => "(1)(2)(3)foo" 668s ok 219 - Line 215 "()()foo" => "(1)(B)(2)(B)(3)(B)foo" 668s ok 220 - Line 217 "()()foo" => "(1)()(2)()(3)()foo" 668s ok 221 - Line 218 "()()foo" => "(1)(B)(2)(B)(3)(B)foo" 668s ok 222 - Line 220 "()foo" => "(1)()(3)foo" 668s ok 223 - Line 222 " 668s # (||||)foo" => " 668s # (||||) 668s # (||||) 668s # (||||)foo" 668s ok 224 - Line 232 " 668s # (||||)foo" => " 668s # (1|0|1|0|1) 668s # (0|0|0|1|2) 668s # (0|1|1|0|3)foo" 668s ### TT3 DIRECTIVES ################################## compile perl (1) 668s ok 225 - Line 241 "" => "FOO" 668s ok 226 - Line 242 "" => "" 668s ok 227 - Line 243 "" => "" 668s ok 228 - Line 244 "" => "10" 668s ok 229 - Line 246 "barweebing" => "bar" 668s ok 230 - Line 248 "()" => "(foo)" 668s ok 231 - Line 249 "()" => "(foo)" 668s ok 232 - Line 250 "()" => "(1)(2)(3)" 668s ok 233 - Line 252 "()" => "(bar)" 668s ok 234 - Line 253 "()" => "(bar)" 668s ok 235 - Line 255 "" => "bar" 668s ok 236 - Line 257 "You said " => "You said hello" 668s ok 237 - Line 259 "" => "&" 668s ok 238 - Line 260 "" => "&" 668s ### TT3 CHOMPING #################################### compile perl (1) 668s ok 239 - Line 265 " 668s # " => " 668s # FOO" 668s ok 240 - Line 266 " 668s # " => "FOO" 668s ok 241 - Line 267 " 668s # <-TMPL_GET foo>" => "FOO" 668s ### TT3 INTERPOLATE ################################# compile perl (1) 668s ok 242 - Line 272 "$foo ${ 1 + 2 }" => "$foo FOO ${ 1 + 2 }" 668s ok 243 - Line 273 "$foo ${ 1 + 2 }" => "FOO FOO 3" 668s ok 244 - Line 274 " 1>$foo ${ 1 + 2 }" => "FOO FOO 3" 668s ok 245 - Line 276 "Foo $a Bar $!a Baz" => "Foo 7 Bar 7 Baz" 668s ok 246 - Line 277 "Foo $a Bar $!{a} Baz" => "Foo 7 Bar 7 Baz" 668s ok 247 - Line 278 "Foo $a Bar $!a Baz" => "Foo 7 Bar 7 Baz" 668s ok 248 - Line 279 "Foo $a Bar $!{a} Baz" => "Foo 7 Bar 7 Baz" 668s ok 249 - Line 280 "Foo $a Bar $!a Baz" => "Foo $a Bar Baz" 668s ok 250 - Line 281 "Foo ${a} Bar $!{a} Baz" => "Foo ${a} Bar Baz" 668s ### DONE ############################################ compile perl (1) 668s ok 668s t/25_text_tmp.t ......... 668s 1..100 668s ok 1 - use Template::Alloy; 668s ok 2 - Got a test dir up and running 668s ### ECHO ############################################ compile perl (0) 668s ok 3 - Line 99 "Foo" => "Foo" 668s ok 4 - Line 101 "\#[echo $foo]\#bar" => "bar" 668s ok 5 - Line 102 "\#[echo $foo]\#" => "FOO" 668s ok 6 - Line 103 "\#[echo $foo $foo]\#" => "FOOFOO" 668s ok 7 - Line 104 "\#[echo $foo "bar" $foo]\#" => "FOObarFOO" 668s ok 8 - Line 105 "\#[echo "hi"]\#" => "hi" 668s ok 9 - Line 106 "\#[echo 'hi']\#" => "hi" 668s ok 10 - Line 107 "\#[echo foo]\#" => "FOO" 668s ### COMMENT ######################################### compile perl (0) 668s ok 11 - Line 112 "\#[comment]\# Hi there \#[endcomment]\#bar" => "bar" 668s ok 12 - Line 113 "\#[comment]\# Hi there \#[end]\#bar" => "bar" 668s ### IF / ELSIF / ELSE / IFN ######################### compile perl (0) 668s ok 13 - Line 118 "\#[if $foo]\#bar\#[endif]\#bar" => "bar" 668s ok 14 - Line 119 "\#[if "1"]\#bar\#[endif]\#" => "bar" 668s ok 15 - Line 120 "\#[if $foo]\#bar\#[endif]\#" => "" 668s ok 16 - Line 121 "\#[if $foo]\#bar\#[endif]\#" => "bar" 668s ok 17 - Line 122 "\#[ifn $foo]\#bar\#[endifn]\#" => "bar" 668s ok 18 - Line 123 "\#[ifn $foo]\#bar\#[endifn]\#" => "" 668s ok 19 - Line 124 "\#[if foo]\#bar\#[endif]\#" => "" 668s ok 20 - Line 125 "\#[if foo]\#bar\#[endif]\#" => "bar" 668s ok 21 - Line 126 "\#[if $foo]\#bar\#[else]\#bing\#[endif]\#" => "bing" 668s ok 22 - Line 127 "\#[if $foo]\#bar\#[else]\#bing\#[endif]\#" => "bar" 668s ok 23 - Line 128 "\#[if $foo]\#bar\#[elsif wow]\#wee\#[else]\#bing\#[endif]\#" => "bar" 668s ok 24 - Line 129 "\#[if $foo]\#bar\#[elsif wow]\#wee\#[else]\#bing\#[endif]\#" => "wee" 668s ok 25 - Line 130 "\#[if $foo]\#bar\#[elsif wow]\#wee\#[else]\#bing\#[endif]\#" => "bing" 668s ### INCLUDE ######################################### compile perl (0) 668s ok 26 - Line 136 "\#[include "foo.tmpl"]\#" => "Good Day!" 668s ok 27 - Line 137 "\#[include "t/25_text_tmp.t.test_dir/foo.tmpl"]\#" => "Good Day!" 668s ok 28 - Line 139 "\#[include "bar.tmpl"]\#" => "()" 668s ok 29 - Line 140 "\#[include "bar.tmpl"]\#" => "(hi)" 668s ### LOOP ############################################ compile perl (0) 668s ok 30 - Line 145 "\#[loop "loop1"]\#Hi\#[endloop]\#foo" => "foo" 668s ok 31 - Line 146 "\#[loop "loop1"]\#Hi\#[endloop]\#foo" => "Hifoo" 668s ok 32 - Line 147 "\#[loop "loop1"]\#\#[echo $bar]\#\#[endloop]\#foo" => "bingfoo" 668s ok 33 - Line 148 "\#[loop "loop1"]\#\#[echo $bar]\#\#[endloop]\#foo" => "bingfoo" 668s ok 34 - Line 149 "\#[loop "loop1"]\#\#[echo $bar]\#\#[endloop]\#foo" => "bingbangfoo" 668s ok 35 - Line 150 "\#[loop "loop1"]\#\#[echo $boop]\#\#[endloop]\#foo" => "bopfoo" 668s ### TT3 DIRECTIVES ################################## compile perl (0) 668s ok 36 - Line 155 "\#[GET foo]\#" => "FOO" 668s ok 37 - Line 156 "\#[GET 1+2+3+4]\#" => "10" 668s ok 38 - Line 158 "\#[IF foo]\#bar\#[ELSIF wow]\#wee\#[ELSE]\#bing\#[ENDIF]\#" => "bar" 668s ok 39 - Line 160 "\#[SET i = "foo"]\#(\#[VAR i]\#)" => "(foo)" 668s ok 40 - Line 161 "\#[SET i = "foo"]\#(\#[GET i]\#)" => "(foo)" 668s ok 41 - Line 162 "\#[FOR i IN [1..3]]\#(\#[VAR i]\#)\#[END]\#" => "(1)(2)(3)" 668s ok 42 - Line 164 "\#[BLOCK foo]\#(\#[VAR i]\#)\#[END]\#\#[PROCESS foo i="bar"]\#" => "(bar)" 668s ok 43 - Line 165 "\#[BLOCK foo]\#(\#[VAR i]\#)\#[END]\#\#[SET wow = PROCESS foo i="bar"]\#\#[VAR wow]\#" => "(bar)" 668s ok 44 - Line 167 "\#[GET template.foo]\#\#[META foo = "bar"]\#" => "bar" 668s ok 45 - Line 169 "\#[MACRO bar(n) BLOCK]\#You said \#[VAR n]\#\#[END]\#\#[GET bar("hello")]\#" => "You said hello" 668s ### TT3 CHOMPING #################################### compile perl (0) 668s ok 46 - Line 174 " 668s # #[GET foo]#" => " 668s # FOO" 668s ok 47 - Line 175 "\#[GET foo-]\# 668s # " => "FOO" 668s ok 48 - Line 176 " 668s # #[-GET foo]#" => "FOO" 668s ### TT3 INTERPOLATE ################################# compile perl (0) 668s ok 49 - Line 181 "$foo \#[GET foo]\# ${ 1 + 2 }" => "$foo FOO ${ 1 + 2 }" 668s ok 50 - Line 182 "$foo \#[GET foo]\# ${ 1 + 2 }" => "FOO FOO 3" 668s ok 51 - Line 183 "\#[CONFIG INTERPOLATE => 1]\#$foo \#[GET foo]\# ${ 1 + 2 }" => "FOO FOO 3" 668s ### DONE ############################################ compile perl (0) 668s ### ECHO ############################################ compile perl (1) 668s ok 52 - Line 99 "Foo" => "Foo" 668s ok 53 - Line 101 "\#[echo $foo]\#bar" => "bar" 668s ok 54 - Line 102 "\#[echo $foo]\#" => "FOO" 668s ok 55 - Line 103 "\#[echo $foo $foo]\#" => "FOOFOO" 668s ok 56 - Line 104 "\#[echo $foo "bar" $foo]\#" => "FOObarFOO" 668s ok 57 - Line 105 "\#[echo "hi"]\#" => "hi" 668s ok 58 - Line 106 "\#[echo 'hi']\#" => "hi" 668s ok 59 - Line 107 "\#[echo foo]\#" => "FOO" 668s ### COMMENT ######################################### compile perl (1) 668s ok 60 - Line 112 "\#[comment]\# Hi there \#[endcomment]\#bar" => "bar" 668s ok 61 - Line 113 "\#[comment]\# Hi there \#[end]\#bar" => "bar" 668s ### IF / ELSIF / ELSE / IFN ######################### compile perl (1) 668s ok 62 - Line 118 "\#[if $foo]\#bar\#[endif]\#bar" => "bar" 668s ok 63 - Line 119 "\#[if "1"]\#bar\#[endif]\#" => "bar" 668s ok 64 - Line 120 "\#[if $foo]\#bar\#[endif]\#" => "" 668s ok 65 - Line 121 "\#[if $foo]\#bar\#[endif]\#" => "bar" 668s ok 66 - Line 122 "\#[ifn $foo]\#bar\#[endifn]\#" => "bar" 668s ok 67 - Line 123 "\#[ifn $foo]\#bar\#[endifn]\#" => "" 668s ok 68 - Line 124 "\#[if foo]\#bar\#[endif]\#" => "" 668s ok 69 - Line 125 "\#[if foo]\#bar\#[endif]\#" => "bar" 668s ok 70 - Line 126 "\#[if $foo]\#bar\#[else]\#bing\#[endif]\#" => "bing" 668s ok 71 - Line 127 "\#[if $foo]\#bar\#[else]\#bing\#[endif]\#" => "bar" 668s ok 72 - Line 128 "\#[if $foo]\#bar\#[elsif wow]\#wee\#[else]\#bing\#[endif]\#" => "bar" 668s ok 73 - Line 129 "\#[if $foo]\#bar\#[elsif wow]\#wee\#[else]\#bing\#[endif]\#" => "wee" 668s ok 74 - Line 130 "\#[if $foo]\#bar\#[elsif wow]\#wee\#[else]\#bing\#[endif]\#" => "bing" 668s ### INCLUDE ######################################### compile perl (1) 668s ok 75 - Line 136 "\#[include "foo.tmpl"]\#" => "Good Day!" 668s ok 76 - Line 137 "\#[include "t/25_text_tmp.t.test_dir/foo.tmpl"]\#" => "Good Day!" 668s ok 77 - Line 139 "\#[include "bar.tmpl"]\#" => "()" 668s ok 78 - Line 140 "\#[include "bar.tmpl"]\#" => "(hi)" 668s ### LOOP ############################################ compile perl (1) 668s ok 79 - Line 145 "\#[loop "loop1"]\#Hi\#[endloop]\#foo" => "foo" 668s ok 80 - Line 146 "\#[loop "loop1"]\#Hi\#[endloop]\#foo" => "Hifoo" 668s ok 81 - Line 147 "\#[loop "loop1"]\#\#[echo $bar]\#\#[endloop]\#foo" => "bingfoo" 668s ok 82 - Line 148 "\#[loop "loop1"]\#\#[echo $bar]\#\#[endloop]\#foo" => "bingfoo" 668s ok 83 - Line 149 "\#[loop "loop1"]\#\#[echo $bar]\#\#[endloop]\#foo" => "bingbangfoo" 668s ok 84 - Line 150 "\#[loop "loop1"]\#\#[echo $boop]\#\#[endloop]\#foo" => "bopfoo" 668s ### TT3 DIRECTIVES ################################## compile perl (1) 668s ok 85 - Line 155 "\#[GET foo]\#" => "FOO" 668s ok 86 - Line 156 "\#[GET 1+2+3+4]\#" => "10" 668s ok 87 - Line 158 "\#[IF foo]\#bar\#[ELSIF wow]\#wee\#[ELSE]\#bing\#[ENDIF]\#" => "bar" 668s ok 88 - Line 160 "\#[SET i = "foo"]\#(\#[VAR i]\#)" => "(foo)" 668s ok 89 - Line 161 "\#[SET i = "foo"]\#(\#[GET i]\#)" => "(foo)" 668s ok 90 - Line 162 "\#[FOR i IN [1..3]]\#(\#[VAR i]\#)\#[END]\#" => "(1)(2)(3)" 668s ok 91 - Line 164 "\#[BLOCK foo]\#(\#[VAR i]\#)\#[END]\#\#[PROCESS foo i="bar"]\#" => "(bar)" 668s ok 92 - Line 165 "\#[BLOCK foo]\#(\#[VAR i]\#)\#[END]\#\#[SET wow = PROCESS foo i="bar"]\#\#[VAR wow]\#" => "(bar)" 668s ok 93 - Line 167 "\#[GET template.foo]\#\#[META foo = "bar"]\#" => "bar" 668s ok 94 - Line 169 "\#[MACRO bar(n) BLOCK]\#You said \#[VAR n]\#\#[END]\#\#[GET bar("hello")]\#" => "You said hello" 668s ### TT3 CHOMPING #################################### compile perl (1) 668s ok 95 - Line 174 " 668s # #[GET foo]#" => " 668s # FOO" 668s ok 96 - Line 175 "\#[GET foo-]\# 668s # " => "FOO" 668s ok 97 - Line 176 " 668s # #[-GET foo]#" => "FOO" 668s ### TT3 INTERPOLATE ################################# compile perl (1) 668s ok 98 - Line 181 "$foo \#[GET foo]\# ${ 1 + 2 }" => "$foo FOO ${ 1 + 2 }" 668s ok 99 - Line 182 "$foo \#[GET foo]\# ${ 1 + 2 }" => "FOO FOO 3" 668s ok 100 - Line 183 "\#[CONFIG INTERPOLATE => 1]\#$foo \#[GET foo]\# ${ 1 + 2 }" => "FOO FOO 3" 668s ### DONE ############################################ compile perl (1) 668s ok 668s t/30_velocity.t ......... 668s 1..202 668s ok 1 - use Template::Alloy; 668s ok 2 - Got a test dir up and running 668s ### VARIABLES ####################################### compile perl (0) 668s ok 3 - Line 78 "Foo" => "Foo" 668s ok 4 - Line 79 "$mud_Slinger_9" => "bar" 668s ok 5 - Line 80 "$!mud_Slinger_9" => "bar" 668s ok 6 - Line 81 "${mud_Slinger_9}" => "bar" 668s ok 7 - Line 82 "$!{mud_Slinger_9}" => "bar" 668s ok 8 - Line 83 "$mud_Slinger_9<<" => "$mud_Slinger_9<<" 668s ok 9 - Line 84 "$!mud_Slinger_9<<" => "<<" 668s ok 10 - Line 85 "${mud_Slinger_9}<<" => "${mud_Slinger_9}<<" 668s ok 11 - Line 86 "$!{mud_Slinger_9}<<" => "<<" 668s ### SET ############################################# compile perl (0) 668s ok 12 - Line 91 "\#set($foo = "bar")$foo" => "bar" 668s ok 13 - Line 93 "\#set($monkey = $bill)$monkey" => "Bill" 668s ok 14 - Line 94 "\#set($monkey.Friend = 'monica')$monkey.Friend" => "monica" 668s ok 15 - Line 95 "\#set($monkey.Blame = $whitehouse.Leak)$monkey.Blame" => "from_velocity_ref_guide" 668s ok 16 - Line 96 "\#set($monkey.Plan = $spindoctor.weave($web))$monkey.Plan" => "(spider)" 668s ok 17 - Line 97 "\#set($monkey.Number = 123)$monkey.Number" => "123" 668s ok 18 - Line 98 "\#set($monkey.Numbers = [1..3])$monkey.Numbers.2" => "3" 668s ok 19 - Line 99 "\#set($monkey.Map = {"banana" : "good"})$monkey.Map.banana" => "good" 668s ok 20 - Line 101 "\#set($value = $foo + 1)$value" => "9" 668s ok 21 - Line 102 "\#set($value = $bar - 1)$value" => "3" 668s ok 22 - Line 103 "\#set($value = $foo * $bar)$value" => "32" 668s ok 23 - Line 104 "\#set($value = $foo / $bar)$value" => "2" 668s ok 24 - Line 105 "\#set($value = $foo % $bar)$value" => "0" 668s ok 25 - Line 107 "\#set($!value = $foo + 1)$value" => "" 668s ### QUOTED STRINGS ################################## compile perl (0) 668s ok 26 - Line 112 "\#set($value = "($foo)")$value" => "(bar)" 668s ok 27 - Line 113 "\#set($value = "(\#get($foo))")$value" => "(bar)" 668s ok 28 - Line 114 "\#set($value = "($foo)")$value" => "(bar)" 668s ok 29 - Line 115 "\#set($value = "(\#get($foo))")$value" => "(\#get(bar))" 668s ok 30 - Line 116 "\#set($value = '($foo)')$value" => "($foo)" 668s ok 31 - Line 117 "\#set($value = '(\#get($foo))')$value" => "(\#get($foo))" 668s ok 32 - Line 119 "\#set($value = "($foo)")$value" => "($foo)" 668s ok 33 - Line 120 "\#set($value = "(\#get($foo))")$value" => "()" 668s ok 34 - Line 121 "\#set($value = "($foo)")$value" => "($foo)" 668s ok 35 - Line 122 "\#set($value = "(\#get($foo))")$value" => "(\#get($foo))" 668s ok 36 - Line 124 "\#set($value = "($!foo)")$value" => "()" 668s ok 37 - Line 125 "\#set($value = "(\#get($!foo))")$value" => "" 668s ok 38 - Line 126 "\#set($value = "($!foo)")$value" => "()" 668s ok 39 - Line 127 "\#set($value = "(\#get($!foo))")$value" => "(\#get())" 668s ### COMMENTS ######################################## compile perl (0) 668s ok 40 - Line 132 "Foo\#\#interesting 668s # Bar" => "FooBar" 668s ok 41 - Line 133 "Foo\#\#interesting 668s # 668s # Bar" => "Foo 668s # Bar" 668s ok 42 - Line 134 "Foo\#\#interesting" => "Foo" 668s ok 43 - Line 135 "Foo\#*interesting 668s # " => "" 668s ok 44 - Line 136 "Foo\#*interesting 668s # 668s # 668s # *#" => "Foo" 668s ok 45 - Line 137 "Foo\#*interesting 668s # 668s # 668s # *#Bar" => "FooBar" 668s ### ESCAPING ######################################## compile perl (0) 668s ok 46 - Line 142 "$email" => "foo" 668s ok 47 - Line 143 "\$email" => "$email" 668s ok 48 - Line 144 "\\$email" => "\foo" 668s ok 49 - Line 145 "\\\$email" => "\$email" 668s ok 50 - Line 147 "$email" => "$email" 668s ok 51 - Line 148 "\$email" => "$email" 668s ok 52 - Line 149 "\\$email" => "\$email" 668s ok 53 - Line 150 "\\\$email" => "\$email" 668s ### IF / ELSEIF / ELSE ############################## compile perl (0) 668s ok 54 - Line 155 "\#if($foo)bar\#{end}bar" => "bar" 668s ok 55 - Line 156 "\#if("1")bar\#end" => "bar" 668s ok 56 - Line 157 "\#if($foo)bar\#end" => "" 668s ok 57 - Line 158 "\#if($foo)bar\#end" => "bar" 668s ok 58 - Line 159 "\#if($foo)bar\#{else}baz\#end" => "bar" 668s ok 59 - Line 160 "\#if($foo)bar\#{else}baz\#end" => "baz" 668s ok 60 - Line 161 "\#if($foo)bar\#elseif($bing)bang\#{else}baz\#end" => "baz" 668s ok 61 - Line 162 "\#if($foo)bar\#elseif($bing)bang\#{else}baz\#end" => "bang" 668s ### FOREACH ######################################## compile perl (0) 668s ok 62 - Line 167 "\#foreach( foo )bar\#{end}" => "bar" 668s ok 63 - Line 168 "\#foreach( f IN foo )bar$f\#{end}" => "bar1bar2" 668s ok 64 - Line 169 "\#foreach( f = foo )bar$f\#{end}" => "bar1bar2" 668s ok 65 - Line 170 "\#foreach( f = [1,2] )bar$f\#{end}" => "bar1bar2" 668s ok 66 - Line 171 "\#foreach( f = [1..3] )bar$f\#{end}" => "bar1bar2bar3" 668s ok 67 - Line 172 "\#foreach( f = [{a=>'A'},{a=>'B'}] )bar$f.a\#{end}" => "barAbarB" 668s ok 68 - Line 173 "\#foreach( [{a=>'A'},{a=>'B'}] )bar$a\#{end}" => "barAbarB" 668s ok 69 - Line 174 "\#foreach( [{a=>'A'},{a=>'B'}] )bar$a\#{end}$!a" => "barAbarB" 668s ok 70 - Line 175 "\#foreach( f = [1..3] )$loop.count/$loop.size \#{end}" => "1/3 2/3 3/3 " 668s ### INCLUDE ######################################### compile perl (0) 668s ok 71 - Line 181 "\#include("foo.vel")" => "Good Day!" 668s ok 72 - Line 182 "\#parse($foo)" => "Good Day!" 668s ok 73 - Line 183 "\#include("bar.vel")" => "($bar)" 668s ok 74 - Line 184 "\#include("bar.vel")" => "($bar)" 668s ### PARSE ############################################ compile perl (0) 668s ok 75 - Line 189 "\#parse("foo.vel")" => "Good Day!" 668s ok 76 - Line 190 "\#parse($foo)" => "Good Day!" 668s ok 77 - Line 191 "\#parse("bar.vel")" => "($bar)" 668s ok 78 - Line 192 "\#parse("bar.vel")" => "(foo)" 668s ### STOP ############################################ compile perl (0) 668s ok 79 - Line 197 "\#stop" => "" 668s ok 80 - Line 198 "One\#{stop}Two" => "One" 668s ok 81 - Line 199 "\#block('foo')One\#{stop}Two\#{end}First\#process('foo')Last" => "FirstOne" 668s ok 82 - Line 200 "\#foreach( $f = [1..3] )$f\#if(loop.first)\#end$f\#end" => "112233" 668s ok 83 - Line 201 "\#foreach( $f = [1..3] )$f\#if(loop.first)\#stop\#end\#end" => "1" 668s ok 84 - Line 202 "\#foreach( $f = [1..3] )\#if(loop.first)\#stop\#end$f\#end" => "" 668s ### EVALUATE ######################################## compile perl (0) 668s ok 85 - Line 207 "\#set($f = '>\#try\#evaluate($f)\#{catch}caught\#end')\#evaluate($f)" => ">>>>>caught" 668s ok 86 - Line 208 "\#set($f = '>\#try\#eval($f)\#{catch}foo\#end')\#eval($f)\#EVALUATE($f)" => ">>foo>>foo" 668s ### MACRO ########################################### compile perl (0) 668s ok 87 - Line 213 "\#macro(foo PROCESS bar )\#block(bar)Hi\#end$foo" => "Hi" 668s ok 88 - Line 214 "\#macro(foo BLOCK)Hi\#end$foo" => "Hi" 668s ok 89 - Line 215 "\#macro(foo $n BLOCK)Hi$n\#end$foo" => "Hi$n" 668s ok 90 - Line 216 "\#macro(foo $n BLOCK)Hi$n\#end$foo(2)" => "Hi2" 668s ok 91 - Line 217 "\#macro(foo(n) BLOCK)Hi$n\#end$foo" => "Hi$n" 668s ok 92 - Line 218 "\#macro(foo(n) BLOCK)Hi$n\#end$foo(2)" => "Hi2" 668s ok 93 - Line 219 "\#macro(foo $n)Hi$n\#end$foo" => "Hi$n" 668s ok 94 - Line 220 "\#macro(foo $n)Hi$n\#end$foo(2)" => "Hi2" 668s ok 95 - Line 221 "\#macro(foo $n)Hi$n\#end\#foo(2)" => "Hi2" 668s ok 96 - Line 222 "\#macro(foo $n $m)Hi($n)($m)\#end\#foo(2 3)" => "Hi(2)(3)" 668s ok 97 - Line 224 "\#macro( inner $foo ) 668s # inner : $foo 668s # #end 668s # 668s # #macro( outer $foo ) 668s # #set($bar = "outerlala") 668s # outer : $foo 668s # #end 668s # 668s # #set($bar = "calltimelala") 668s # #outer( "#inner($bar)" )" => " outer : inner : calltimelala" 668s ok 98 - Line 236 "\#macro( inner $foo ) 668s # inner : $foo 668s # #end 668s # 668s # #macro( outer $foo ) 668s # #set($bar = "outerlala") 668s # outer : $foo|eval 668s # #end 668s # 668s # #set($bar = "calltimelala") 668s # #outer( "#inner('$bar')" )" => " outer : inner : outerlala" 668s ### TT3 CHOMPING #################################### compile perl (0) 668s ok 99 - Line 251 " 668s # #get( $foo )" => " 668s # FOO" 668s ok 100 - Line 252 "\#get( $foo -) 668s # " => "FOO" 668s ok 101 - Line 253 " 668s # #get(- $foo)" => "FOO" 668s ok 102 - Line 254 " 668s # #get( -$foo)" => " 668s # -7" 668s ### DONE ############################################ compile perl (0) 668s ### VARIABLES ####################################### compile perl (1) 668s ok 103 - Line 78 "Foo" => "Foo" 668s ok 104 - Line 79 "$mud_Slinger_9" => "bar" 668s ok 105 - Line 80 "$!mud_Slinger_9" => "bar" 668s ok 106 - Line 81 "${mud_Slinger_9}" => "bar" 668s ok 107 - Line 82 "$!{mud_Slinger_9}" => "bar" 668s ok 108 - Line 83 "$mud_Slinger_9<<" => "$mud_Slinger_9<<" 668s ok 109 - Line 84 "$!mud_Slinger_9<<" => "<<" 668s ok 110 - Line 85 "${mud_Slinger_9}<<" => "${mud_Slinger_9}<<" 668s ok 111 - Line 86 "$!{mud_Slinger_9}<<" => "<<" 668s ### SET ############################################# compile perl (1) 668s ok 112 - Line 91 "\#set($foo = "bar")$foo" => "bar" 668s ok 113 - Line 93 "\#set($monkey = $bill)$monkey" => "Bill" 668s ok 114 - Line 94 "\#set($monkey.Friend = 'monica')$monkey.Friend" => "monica" 668s ok 115 - Line 95 "\#set($monkey.Blame = $whitehouse.Leak)$monkey.Blame" => "from_velocity_ref_guide" 668s ok 116 - Line 96 "\#set($monkey.Plan = $spindoctor.weave($web))$monkey.Plan" => "(spider)" 668s ok 117 - Line 97 "\#set($monkey.Number = 123)$monkey.Number" => "123" 668s ok 118 - Line 98 "\#set($monkey.Numbers = [1..3])$monkey.Numbers.2" => "3" 668s ok 119 - Line 99 "\#set($monkey.Map = {"banana" : "good"})$monkey.Map.banana" => "good" 668s ok 120 - Line 101 "\#set($value = $foo + 1)$value" => "9" 668s ok 121 - Line 102 "\#set($value = $bar - 1)$value" => "3" 668s ok 122 - Line 103 "\#set($value = $foo * $bar)$value" => "32" 668s ok 123 - Line 104 "\#set($value = $foo / $bar)$value" => "2" 668s ok 124 - Line 105 "\#set($value = $foo % $bar)$value" => "0" 668s ok 125 - Line 107 "\#set($!value = $foo + 1)$value" => "" 668s ### QUOTED STRINGS ################################## compile perl (1) 668s ok 126 - Line 112 "\#set($value = "($foo)")$value" => "(bar)" 668s ok 127 - Line 113 "\#set($value = "(\#get($foo))")$value" => "(bar)" 668s ok 128 - Line 114 "\#set($value = "($foo)")$value" => "(bar)" 668s ok 129 - Line 115 "\#set($value = "(\#get($foo))")$value" => "(\#get(bar))" 668s ok 130 - Line 116 "\#set($value = '($foo)')$value" => "($foo)" 668s ok 131 - Line 117 "\#set($value = '(\#get($foo))')$value" => "(\#get($foo))" 668s ok 132 - Line 119 "\#set($value = "($foo)")$value" => "($foo)" 668s ok 133 - Line 120 "\#set($value = "(\#get($foo))")$value" => "()" 668s ok 134 - Line 121 "\#set($value = "($foo)")$value" => "($foo)" 668s ok 135 - Line 122 "\#set($value = "(\#get($foo))")$value" => "(\#get($foo))" 668s ok 136 - Line 124 "\#set($value = "($!foo)")$value" => "()" 668s ok 137 - Line 125 "\#set($value = "(\#get($!foo))")$value" => "" 668s ok 138 - Line 126 "\#set($value = "($!foo)")$value" => "()" 668s ok 139 - Line 127 "\#set($value = "(\#get($!foo))")$value" => "(\#get())" 668s ### COMMENTS ######################################## compile perl (1) 668s ok 140 - Line 132 "Foo\#\#interesting 668s # Bar" => "FooBar" 668s ok 141 - Line 133 "Foo\#\#interesting 668s # 668s # Bar" => "Foo 668s # Bar" 668s ok 142 - Line 134 "Foo\#\#interesting" => "Foo" 668s ok 143 - Line 135 "Foo\#*interesting 668s # " => "" 668s ok 144 - Line 136 "Foo\#*interesting 668s # 668s # 668s # *#" => "Foo" 668s ok 145 - Line 137 "Foo\#*interesting 668s # 668s # 668s # *#Bar" => "FooBar" 668s ### ESCAPING ######################################## compile perl (1) 668s ok 146 - Line 142 "$email" => "foo" 668s ok 147 - Line 143 "\$email" => "$email" 668s ok 148 - Line 144 "\\$email" => "\foo" 668s ok 149 - Line 145 "\\\$email" => "\$email" 668s ok 150 - Line 147 "$email" => "$email" 668s ok 151 - Line 148 "\$email" => "$email" 668s ok 152 - Line 149 "\\$email" => "\$email" 668s ok 153 - Line 150 "\\\$email" => "\$email" 668s ### IF / ELSEIF / ELSE ############################## compile perl (1) 668s ok 154 - Line 155 "\#if($foo)bar\#{end}bar" => "bar" 668s ok 155 - Line 156 "\#if("1")bar\#end" => "bar" 668s ok 156 - Line 157 "\#if($foo)bar\#end" => "" 668s ok 157 - Line 158 "\#if($foo)bar\#end" => "bar" 668s ok 158 - Line 159 "\#if($foo)bar\#{else}baz\#end" => "bar" 668s ok 159 - Line 160 "\#if($foo)bar\#{else}baz\#end" => "baz" 668s ok 160 - Line 161 "\#if($foo)bar\#elseif($bing)bang\#{else}baz\#end" => "baz" 668s ok 161 - Line 162 "\#if($foo)bar\#elseif($bing)bang\#{else}baz\#end" => "bang" 668s ### FOREACH ######################################## compile perl (1) 668s ok 162 - Line 167 "\#foreach( foo )bar\#{end}" => "bar" 668s ok 163 - Line 168 "\#foreach( f IN foo )bar$f\#{end}" => "bar1bar2" 668s ok 164 - Line 169 "\#foreach( f = foo )bar$f\#{end}" => "bar1bar2" 668s ok 165 - Line 170 "\#foreach( f = [1,2] )bar$f\#{end}" => "bar1bar2" 668s ok 166 - Line 171 "\#foreach( f = [1..3] )bar$f\#{end}" => "bar1bar2bar3" 668s ok 167 - Line 172 "\#foreach( f = [{a=>'A'},{a=>'B'}] )bar$f.a\#{end}" => "barAbarB" 668s ok 168 - Line 173 "\#foreach( [{a=>'A'},{a=>'B'}] )bar$a\#{end}" => "barAbarB" 668s ok 169 - Line 174 "\#foreach( [{a=>'A'},{a=>'B'}] )bar$a\#{end}$!a" => "barAbarB" 668s ok 170 - Line 175 "\#foreach( f = [1..3] )$loop.count/$loop.size \#{end}" => "1/3 2/3 3/3 " 668s ### INCLUDE ######################################### compile perl (1) 668s ok 171 - Line 181 "\#include("foo.vel")" => "Good Day!" 668s ok 172 - Line 182 "\#parse($foo)" => "Good Day!" 668s ok 173 - Line 183 "\#include("bar.vel")" => "($bar)" 668s ok 174 - Line 184 "\#include("bar.vel")" => "($bar)" 668s ### PARSE ############################################ compile perl (1) 668s ok 175 - Line 189 "\#parse("foo.vel")" => "Good Day!" 668s ok 176 - Line 190 "\#parse($foo)" => "Good Day!" 668s ok 177 - Line 191 "\#parse("bar.vel")" => "($bar)" 668s ok 178 - Line 192 "\#parse("bar.vel")" => "(foo)" 668s ### STOP ############################################ compile perl (1) 668s ok 179 - Line 197 "\#stop" => "" 668s ok 180 - Line 198 "One\#{stop}Two" => "One" 668s ok 181 - Line 199 "\#block('foo')One\#{stop}Two\#{end}First\#process('foo')Last" => "FirstOne" 668s ok 182 - Line 200 "\#foreach( $f = [1..3] )$f\#if(loop.first)\#end$f\#end" => "112233" 668s ok 183 - Line 201 "\#foreach( $f = [1..3] )$f\#if(loop.first)\#stop\#end\#end" => "1" 668s ok 184 - Line 202 "\#foreach( $f = [1..3] )\#if(loop.first)\#stop\#end$f\#end" => "" 668s ### EVALUATE ######################################## compile perl (1) 668s ok 185 - Line 207 "\#set($f = '>\#try\#evaluate($f)\#{catch}caught\#end')\#evaluate($f)" => ">>>>>caught" 668s ok 186 - Line 208 "\#set($f = '>\#try\#eval($f)\#{catch}foo\#end')\#eval($f)\#EVALUATE($f)" => ">>foo>>foo" 668s ### MACRO ########################################### compile perl (1) 668s ok 187 - Line 213 "\#macro(foo PROCESS bar )\#block(bar)Hi\#end$foo" => "Hi" 668s ok 188 - Line 214 "\#macro(foo BLOCK)Hi\#end$foo" => "Hi" 668s ok 189 - Line 215 "\#macro(foo $n BLOCK)Hi$n\#end$foo" => "Hi$n" 668s ok 190 - Line 216 "\#macro(foo $n BLOCK)Hi$n\#end$foo(2)" => "Hi2" 668s ok 191 - Line 217 "\#macro(foo(n) BLOCK)Hi$n\#end$foo" => "Hi$n" 668s ok 192 - Line 218 "\#macro(foo(n) BLOCK)Hi$n\#end$foo(2)" => "Hi2" 668s ok 193 - Line 219 "\#macro(foo $n)Hi$n\#end$foo" => "Hi$n" 668s ok 194 - Line 220 "\#macro(foo $n)Hi$n\#end$foo(2)" => "Hi2" 668s ok 195 - Line 221 "\#macro(foo $n)Hi$n\#end\#foo(2)" => "Hi2" 668s ok 196 - Line 222 "\#macro(foo $n $m)Hi($n)($m)\#end\#foo(2 3)" => "Hi(2)(3)" 668s ok 197 - Line 224 "\#macro( inner $foo ) 668s # inner : $foo 668s # #end 668s # 668s # #macro( outer $foo ) 668s # #set($bar = "outerlala") 668s # outer : $foo 668s # #end 668s # 668s # #set($bar = "calltimelala") 668s # #outer( "#inner($bar)" )" => " outer : inner : calltimelala" 668s ok 198 - Line 236 "\#macro( inner $foo ) 668s # inner : $foo 668s # #end 668s # 668s # #macro( outer $foo ) 668s # #set($bar = "outerlala") 668s # outer : $foo|eval 668s # #end 668s # 668s # #set($bar = "calltimelala") 668s # #outer( "#inner('$bar')" )" => " outer : inner : outerlala" 668s ### TT3 CHOMPING #################################### compile perl (1) 668s ok 199 - Line 251 " 668s # #get( $foo )" => " 668s # FOO" 668s ok 200 - Line 252 "\#get( $foo -) 668s # " => "FOO" 668s ok 201 - Line 253 " 668s # #get(- $foo)" => "FOO" 668s ok 202 - Line 254 " 668s # #get( -$foo)" => " 668s # -7" 668s ### DONE ############################################ compile perl (1) 668s ok 668s All tests successful. 668s Files=10, Tests=4565, 2 wallclock secs ( 0.21 usr 0.02 sys + 1.79 cusr 0.19 csys = 2.21 CPU) 668s Result: PASS 669s autopkgtest [04:00:30]: test autodep8-perl-build-deps: -----------------------] 669s autodep8-perl-build-deps PASS 669s autopkgtest [04:00:30]: test autodep8-perl-build-deps: - - - - - - - - - - results - - - - - - - - - - 670s autopkgtest [04:00:31]: test autodep8-perl: preparing testbed 1155s autopkgtest [04:08:36]: testbed dpkg architecture: s390x 1155s autopkgtest [04:08:36]: testbed apt version: 2.7.12 1155s autopkgtest [04:08:36]: @@@@@@@@@@@@@@@@@@@@ test bed setup 1155s Get:1 http://ftpmaster.internal/ubuntu noble-proposed InRelease [117 kB] 1156s Get:2 http://ftpmaster.internal/ubuntu noble-proposed/multiverse Sources [53.3 kB] 1156s Get:3 http://ftpmaster.internal/ubuntu noble-proposed/main Sources [486 kB] 1156s Get:4 http://ftpmaster.internal/ubuntu noble-proposed/restricted Sources [6540 B] 1156s Get:5 http://ftpmaster.internal/ubuntu noble-proposed/universe Sources [3757 kB] 1157s Get:6 http://ftpmaster.internal/ubuntu noble-proposed/main s390x Packages [641 kB] 1157s Get:7 http://ftpmaster.internal/ubuntu noble-proposed/main s390x c-n-f Metadata [3032 B] 1157s Get:8 http://ftpmaster.internal/ubuntu noble-proposed/restricted s390x Packages [1372 B] 1157s Get:9 http://ftpmaster.internal/ubuntu noble-proposed/restricted s390x c-n-f Metadata [116 B] 1157s Get:10 http://ftpmaster.internal/ubuntu noble-proposed/universe s390x Packages [3928 kB] 1158s Get:11 http://ftpmaster.internal/ubuntu noble-proposed/universe s390x c-n-f Metadata [7292 B] 1158s Get:12 http://ftpmaster.internal/ubuntu noble-proposed/multiverse s390x Packages [34.3 kB] 1158s Get:13 http://ftpmaster.internal/ubuntu noble-proposed/multiverse s390x c-n-f Metadata [116 B] 1159s Fetched 9035 kB in 3s (2723 kB/s) 1159s Reading package lists... 1160s Hit:1 http://ftpmaster.internal/ubuntu noble-proposed InRelease 1161s Reading package lists... 1166s Reading package lists... 1167s Building dependency tree... 1167s Reading state information... 1167s Calculating upgrade... 1167s The following packages were automatically installed and are no longer required: 1167s fuse3 libfuse3-3 libgdbm-compat4t64 libperl5.38 lto-disabled-list make 1167s perl-modules-5.38 s390-tools-data s390-tools-signed 1167s Use 'sudo apt autoremove' to remove them. 1167s The following packages will be REMOVED: 1167s dpkg-dev libdpkg-perl libgdbm-compat4 libgdbm6 perl s390-tools 1167s sysconfig-hardware 1167s The following NEW packages will be installed: 1167s libgdbm-compat4t64 libgdbm6t64 1167s The following packages will be upgraded: 1167s perl-base perl-modules-5.38 1167s 2 upgraded, 2 newly installed, 7 to remove and 0 not upgraded. 1167s Need to get 5114 kB of archives. 1167s After this operation, 15.7 MB disk space will be freed. 1167s Get:1 http://ftpmaster.internal/ubuntu noble-proposed/main s390x perl-base s390x 5.38.2-3.2 [1961 kB] 1168s Get:2 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libgdbm6t64 s390x 1.23-5.1 [36.4 kB] 1168s Get:3 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libgdbm-compat4t64 s390x 1.23-5.1 [6880 B] 1168s Get:4 http://ftpmaster.internal/ubuntu noble-proposed/main s390x perl-modules-5.38 all 5.38.2-3.2 [3110 kB] 1170s Fetched 5114 kB in 2s (2093 kB/s) 1170s (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 ... 52187 files and directories currently installed.) 1170s Removing sysconfig-hardware (0.0.14ubuntu2) ... 1170s Removing s390-tools (2.31.0-0ubuntu1) ... 1170s Removing dpkg-dev (1.22.4ubuntu5) ... 1170s Removing libdpkg-perl (1.22.4ubuntu5) ... 1170s Removing perl (5.38.2-3) ... 1170s (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 ... 51348 files and directories currently installed.) 1170s Preparing to unpack .../perl-base_5.38.2-3.2_s390x.deb ... 1170s Unpacking perl-base (5.38.2-3.2) over (5.38.2-3) ... 1170s Setting up perl-base (5.38.2-3.2) ... 1170s dpkg: libgdbm6:s390x: dependency problems, but removing anyway as you requested: 1170s python3-gdbm:s390x depends on libgdbm6 (>= 1.16). 1170s man-db depends on libgdbm6 (>= 1.16). 1170s libperl5.38:s390x depends on libgdbm6 (>= 1.21). 1170s libgdbm-compat4:s390x depends on libgdbm6 (>= 1.16). 1170s 1171s (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 ... 51348 files and directories currently installed.) 1171s Removing libgdbm6:s390x (1.23-5) ... 1171s Selecting previously unselected package libgdbm6t64:s390x. 1171s (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 ... 51343 files and directories currently installed.) 1171s Preparing to unpack .../libgdbm6t64_1.23-5.1_s390x.deb ... 1171s Unpacking libgdbm6t64:s390x (1.23-5.1) ... 1171s dpkg: libgdbm-compat4:s390x: dependency problems, but removing anyway as you requested: 1171s libperl5.38:s390x depends on libgdbm-compat4 (>= 1.18-3). 1171s 1171s (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 ... 51349 files and directories currently installed.) 1171s Removing libgdbm-compat4:s390x (1.23-5) ... 1171s Selecting previously unselected package libgdbm-compat4t64:s390x. 1171s (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 ... 51344 files and directories currently installed.) 1171s Preparing to unpack .../libgdbm-compat4t64_1.23-5.1_s390x.deb ... 1171s Unpacking libgdbm-compat4t64:s390x (1.23-5.1) ... 1171s Preparing to unpack .../perl-modules-5.38_5.38.2-3.2_all.deb ... 1171s Unpacking perl-modules-5.38 (5.38.2-3.2) over (5.38.2-3) ... 1171s Setting up libgdbm6t64:s390x (1.23-5.1) ... 1171s Setting up libgdbm-compat4t64:s390x (1.23-5.1) ... 1171s Setting up perl-modules-5.38 (5.38.2-3.2) ... 1171s Processing triggers for libc-bin (2.39-0ubuntu2) ... 1171s Processing triggers for man-db (2.12.0-3) ... 1172s Processing triggers for initramfs-tools (0.142ubuntu20) ... 1172s update-initramfs: Generating /boot/initrd.img-6.8.0-11-generic 1172s W: No lz4 in /usr/bin:/sbin:/bin, using gzip 1175s W: Target Packages (main/binary-s390x/Packages) is configured multiple times in /etc/apt/sources.list:1 and /etc/apt/sources.list.d/ubuntu.sources:1 1175s W: Target Packages (main/binary-all/Packages) is configured multiple times in /etc/apt/sources.list:1 and /etc/apt/sources.list.d/ubuntu.sources:1 1175s W: Target CNF (main/cnf/Commands-s390x) is configured multiple times in /etc/apt/sources.list:1 and /etc/apt/sources.list.d/ubuntu.sources:1 1175s W: Target CNF (main/cnf/Commands-all) is configured multiple times in /etc/apt/sources.list:1 and /etc/apt/sources.list.d/ubuntu.sources:1 1175s W: Target Packages (universe/binary-s390x/Packages) is configured multiple times in /etc/apt/sources.list:1 and /etc/apt/sources.list.d/ubuntu.sources:1 1175s W: Target Packages (universe/binary-all/Packages) is configured multiple times in /etc/apt/sources.list:1 and /etc/apt/sources.list.d/ubuntu.sources:1 1175s W: Target CNF (universe/cnf/Commands-s390x) is configured multiple times in /etc/apt/sources.list:1 and /etc/apt/sources.list.d/ubuntu.sources:1 1175s W: Target CNF (universe/cnf/Commands-all) is configured multiple times in /etc/apt/sources.list:1 and /etc/apt/sources.list.d/ubuntu.sources:1 1175s W: Target Packages (restricted/binary-s390x/Packages) is configured multiple times in /etc/apt/sources.list:1 and /etc/apt/sources.list.d/ubuntu.sources:1 1175s W: Target Packages (restricted/binary-all/Packages) is configured multiple times in /etc/apt/sources.list:1 and /etc/apt/sources.list.d/ubuntu.sources:1 1175s W: Target CNF (restricted/cnf/Commands-s390x) is configured multiple times in /etc/apt/sources.list:1 and /etc/apt/sources.list.d/ubuntu.sources:1 1175s W: Target CNF (restricted/cnf/Commands-all) is configured multiple times in /etc/apt/sources.list:1 and /etc/apt/sources.list.d/ubuntu.sources:1 1175s W: Target Packages (multiverse/binary-s390x/Packages) is configured multiple times in /etc/apt/sources.list:1 and /etc/apt/sources.list.d/ubuntu.sources:1 1175s W: Target Packages (multiverse/binary-all/Packages) is configured multiple times in /etc/apt/sources.list:1 and /etc/apt/sources.list.d/ubuntu.sources:1 1175s W: Target CNF (multiverse/cnf/Commands-s390x) is configured multiple times in /etc/apt/sources.list:1 and /etc/apt/sources.list.d/ubuntu.sources:1 1175s W: Target CNF (multiverse/cnf/Commands-all) is configured multiple times in /etc/apt/sources.list:1 and /etc/apt/sources.list.d/ubuntu.sources:1 1175s W: Target Packages (main/binary-s390x/Packages) is configured multiple times in /etc/apt/sources.list:2 and /etc/apt/sources.list.d/ubuntu.sources:1 1175s W: Target Packages (main/binary-all/Packages) is configured multiple times in /etc/apt/sources.list:2 and /etc/apt/sources.list.d/ubuntu.sources:1 1175s W: Target CNF (main/cnf/Commands-s390x) is configured multiple times in /etc/apt/sources.list:2 and /etc/apt/sources.list.d/ubuntu.sources:1 1175s W: Target CNF (main/cnf/Commands-all) is configured multiple times in /etc/apt/sources.list:2 and /etc/apt/sources.list.d/ubuntu.sources:1 1175s W: Target Packages (universe/binary-s390x/Packages) is configured multiple times in /etc/apt/sources.list:2 and /etc/apt/sources.list.d/ubuntu.sources:1 1175s W: Target Packages (universe/binary-all/Packages) is configured multiple times in /etc/apt/sources.list:2 and /etc/apt/sources.list.d/ubuntu.sources:1 1175s W: Target CNF (universe/cnf/Commands-s390x) is configured multiple times in /etc/apt/sources.list:2 and /etc/apt/sources.list.d/ubuntu.sources:1 1175s W: Target CNF (universe/cnf/Commands-all) is configured multiple times in /etc/apt/sources.list:2 and /etc/apt/sources.list.d/ubuntu.sources:1 1175s W: Target Packages (restricted/binary-s390x/Packages) is configured multiple times in /etc/apt/sources.list:2 and /etc/apt/sources.list.d/ubuntu.sources:1 1175s W: Reading package lists...Target Packages (restricted/binary-all/Packages) is configured multiple times in /etc/apt/sources.list:2 and /etc/apt/sources.list.d/ubuntu.sources:1 1175s W: Target CNF (restricted/cnf/Commands-s390x) is configured multiple times in /etc/apt/sources.list:2 and /etc/apt/sources.list.d/ubuntu.sources:1 1175s W: Target CNF (restricted/cnf/Commands-all) is configured multiple times in /etc/apt/sources.list:2 and /etc/apt/sources.list.d/ubuntu.sources:1 1175s W: Target Packages (multiverse/binary-s390x/Packages) is configured multiple times in /etc/apt/sources.list:2 and /etc/apt/sources.list.d/ubuntu.sources:1 1175s W: Target Packages (multiverse/binary-all/Packages) is configured multiple times in /etc/apt/sources.list:2 and /etc/apt/sources.list.d/ubuntu.sources:1 1175s W: Target CNF (multiverse/cnf/Commands-s390x) is configured multiple times in /etc/apt/sources.list:2 and /etc/apt/sources.list.d/ubuntu.sources:1 1175s W: Target CNF (multiverse/cnf/Commands-all) is configured multiple times in /etc/apt/sources.list:2 and /etc/apt/sources.list.d/ubuntu.sources:1 1175s W: Target Packages (main/binary-s390x/Packages) is configured multiple times in /etc/apt/sources.list:3 and /etc/apt/sources.list.d/ubuntu.sources:2 1175s W: Target Packages (main/binary-all/Packages) is configured multiple times in /etc/apt/sources.list:3 and /etc/apt/sources.list.d/ubuntu.sources:2 1175s W: Target CNF (main/cnf/Commands-s390x) is configured multiple times in /etc/apt/sources.list:3 and /etc/apt/sources.list.d/ubuntu.sources:2 1175s W: Target CNF (main/cnf/Commands-all) is configured multiple times in /etc/apt/sources.list:3 and /etc/apt/sources.list.d/ubuntu.sources:2 1175s W: Target Packages (universe/binary-s390x/Packages) is configured multiple times in /etc/apt/sources.list:3 and /etc/apt/sources.list.d/ubuntu.sources:2 1175s W: Target Packages (universe/binary-all/Packages) is configured multiple times in /etc/apt/sources.list:3 and /etc/apt/sources.list.d/ubuntu.sources:2 1175s W: Target CNF (universe/cnf/Commands-s390x) is configured multiple times in /etc/apt/sources.list:3 and /etc/apt/sources.list.d/ubuntu.sources:2 1175s W: Target CNF (universe/cnf/Commands-all) is configured multiple times in /etc/apt/sources.list:3 and /etc/apt/sources.list.d/ubuntu.sources:2 1175s W: Target Packages (restricted/binary-s390x/Packages) is configured multiple times in /etc/apt/sources.list:3 and /etc/apt/sources.list.d/ubuntu.sources:2 1175s W: Target Packages (restricted/binary-all/Packages) is configured multiple times in /etc/apt/sources.list:3 and /etc/apt/sources.list.d/ubuntu.sources:2 1175s W: Target CNF (restricted/cnf/Commands-s390x) is configured multiple times in /etc/apt/sources.list:3 and /etc/apt/sources.list.d/ubuntu.sources:2 1175s W: Target CNF (restricted/cnf/Commands-all) is configured multiple times in /etc/apt/sources.list:3 and /etc/apt/sources.list.d/ubuntu.sources:2 1175s W: Target Packages (multiverse/binary-s390x/Packages) is configured multiple times in /etc/apt/sources.list:3 and /etc/apt/sources.list.d/ubuntu.sources:2 1175s W: Target Packages (multiverse/binary-all/Packages) is configured multiple times in /etc/apt/sources.list:3 and /etc/apt/sources.list.d/ubuntu.sources:2 1175s W: Target CNF (multiverse/cnf/Commands-s390x) is configured multiple times in /etc/apt/sources.list:3 and /etc/apt/sources.list.d/ubuntu.sources:2 1175s W: Target CNF (multiverse/cnf/Commands-all) is configured multiple times in /etc/apt/sources.list:3 and /etc/apt/sources.list.d/ubuntu.sources:2 1175s W: Target Packages (main/binary-s390x/Packages) is configured multiple times in /etc/apt/sources.list.d/proposed.list:1 and /etc/apt/sources.list.d/proposed.sources:1 1175s W: Target Packages (main/binary-all/Packages) is configured multiple times in /etc/apt/sources.list.d/proposed.list:1 and /etc/apt/sources.list.d/proposed.sources:1 1175s W: Target CNF (main/cnf/Commands-s390x) is configured multiple times in /etc/apt/sources.list.d/proposed.list:1 and /etc/apt/sources.list.d/proposed.sources:1 1175s W: Target CNF (main/cnf/Commands-all) is configured multiple times in /etc/apt/sources.list.d/proposed.list:1 and /etc/apt/sources.list.d/proposed.sources:1 1175s W: Target Packages (universe/binary-s390x/Packages) is configured multiple times in /etc/apt/sources.list.d/proposed.list:1 and /etc/apt/sources.list.d/proposed.sources:1 1175s W: Target Packages (universe/binary-all/Packages) is configured multiple times in /etc/apt/sources.list.d/proposed.list:1 and /etc/apt/sources.list.d/proposed.sources:1 1175s W: Target CNF (universe/cnf/Commands-s390x) is configured multiple times in /etc/apt/sources.list.d/proposed.list:1 and /etc/apt/sources.list.d/proposed.sources:1 1175s W: Target CNF (universe/cnf/Commands-all) is configured multiple times in /etc/apt/sources.list.d/proposed.list:1 and /etc/apt/sources.list.d/proposed.sources:1 1175s W: Target Packages (restricted/binary-s390x/Packages) is configured multiple times in /etc/apt/sources.list.d/proposed.list:1 and /etc/apt/sources.list.d/proposed.sources:1 1175s W: Target Packages (restricted/binary-all/Packages) is configured multiple times in /etc/apt/sources.list.d/proposed.list:1 and /etc/apt/sources.list.d/proposed.sources:1 1175s W: Target CNF (restricted/cnf/Commands-s390x) is configured multiple times in /etc/apt/sources.list.d/proposed.list:1 and /etc/apt/sources.list.d/proposed.sources:1 1175s W: Target CNF (restricted/cnf/Commands-all) is configured multiple times in /etc/apt/sources.list.d/proposed.list:1 and /etc/apt/sources.list.d/proposed.sources:1 1175s W: Target Packages (multiverse/binary-s390x/Packages) is configured multiple times in /etc/apt/sources.list.d/proposed.list:1 and /etc/apt/sources.list.d/proposed.sources:1 1175s W: Target Packages (multiverse/binary-all/Packages) is configured multiple times in /etc/apt/sources.list.d/proposed.list:1 and /etc/apt/sources.list.d/proposed.sources:1 1175s W: Target CNF (multiverse/cnf/Commands-s390x) is configured multiple times in /etc/apt/sources.list.d/proposed.list:1 and /etc/apt/sources.list.d/proposed.sources:1 1175s W: Target CNF (multiverse/cnf/Commands-all) is configured multiple times in /etc/apt/sources.list.d/proposed.list:1 and /etc/apt/sources.list.d/proposed.sources:1 1175s 1175s Building dependency tree... 1175s Reading state information... 1175s The following packages will be REMOVED: 1175s fuse3* libfuse3-3* libgdbm-compat4t64* libperl5.38* lto-disabled-list* make* 1175s perl-modules-5.38* s390-tools-data* s390-tools-signed* 1175s 0 upgraded, 0 newly installed, 9 to remove and 0 not upgraded. 1175s After this operation, 50.6 MB disk space will be freed. 1176s (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 ... 51350 files and directories currently installed.) 1176s Removing fuse3 (3.14.0-5) ... 1176s update-initramfs: deferring update (trigger activated) 1176s Removing libfuse3-3:s390x (3.14.0-5) ... 1176s Removing libperl5.38:s390x (5.38.2-3) ... 1176s Removing libgdbm-compat4t64:s390x (1.23-5.1) ... 1176s Removing lto-disabled-list (47) ... 1176s Removing make (4.3-4.1build1) ... 1176s Removing perl-modules-5.38 (5.38.2-3.2) ... 1176s Removing s390-tools-data (2.31.0-0ubuntu1) ... 1176s Removing s390-tools-signed (2.31.0-0ubuntu1) ... 1176s Processing triggers for libc-bin (2.39-0ubuntu2) ... 1176s Processing triggers for man-db (2.12.0-3) ... 1176s Processing triggers for initramfs-tools (0.142ubuntu20) ... 1176s update-initramfs: Generating /boot/initrd.img-6.8.0-11-generic 1176s W: No lz4 in /usr/bin:/sbin:/bin, using gzip 1179s (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 ... 49353 files and directories currently installed.) 1179s Purging configuration files for fuse3 (3.14.0-5) ... 1180s Hit:1 http://ftpmaster.internal/ubuntu noble InRelease 1180s Hit:2 http://ftpmaster.internal/ubuntu noble-updates InRelease 1180s Hit:3 http://ftpmaster.internal/ubuntu noble-security InRelease 1180s Hit:4 http://ftpmaster.internal/ubuntu noble-proposed InRelease 1180s Hit:5 http://ftpmaster.internal/ubuntu noble-backports InRelease 1184s Reading package lists... 1184s W: Target Packages (main/binary-s390x/Packages) is configured multiple times in /etc/apt/sources.list:1 and /etc/apt/sources.list.d/ubuntu.sources:1 1184s W: Target Packages (main/binary-all/Packages) is configured multiple times in /etc/apt/sources.list:1 and /etc/apt/sources.list.d/ubuntu.sources:1 1184s W: Target CNF (main/cnf/Commands-s390x) is configured multiple times in /etc/apt/sources.list:1 and /etc/apt/sources.list.d/ubuntu.sources:1 1184s W: Target CNF (main/cnf/Commands-all) is configured multiple times in /etc/apt/sources.list:1 and /etc/apt/sources.list.d/ubuntu.sources:1 1184s W: Target Packages (universe/binary-s390x/Packages) is configured multiple times in /etc/apt/sources.list:1 and /etc/apt/sources.list.d/ubuntu.sources:1 1184s W: Target Packages (universe/binary-all/Packages) is configured multiple times in /etc/apt/sources.list:1 and /etc/apt/sources.list.d/ubuntu.sources:1 1184s W: Target CNF (universe/cnf/Commands-s390x) is configured multiple times in /etc/apt/sources.list:1 and /etc/apt/sources.list.d/ubuntu.sources:1 1184s W: Target CNF (universe/cnf/Commands-all) is configured multiple times in /etc/apt/sources.list:1 and /etc/apt/sources.list.d/ubuntu.sources:1 1184s W: Target Packages (restricted/binary-s390x/Packages) is configured multiple times in /etc/apt/sources.list:1 and /etc/apt/sources.list.d/ubuntu.sources:1 1184s W: Target Packages (restricted/binary-all/Packages) is configured multiple times in /etc/apt/sources.list:1 and /etc/apt/sources.list.d/ubuntu.sources:1 1184s W: Target CNF (restricted/cnf/Commands-s390x) is configured multiple times in /etc/apt/sources.list:1 and /etc/apt/sources.list.d/ubuntu.sources:1 1184s W: Target CNF (restricted/cnf/Commands-all) is configured multiple times in /etc/apt/sources.list:1 and /etc/apt/sources.list.d/ubuntu.sources:1 1184s W: Target Packages (multiverse/binary-s390x/Packages) is configured multiple times in /etc/apt/sources.list:1 and /etc/apt/sources.list.d/ubuntu.sources:1 1184s W: Target Packages (multiverse/binary-all/Packages) is configured multiple times in /etc/apt/sources.list:1 and /etc/apt/sources.list.d/ubuntu.sources:1 1184s W: Target CNF (multiverse/cnf/Commands-s390x) is configured multiple times in /etc/apt/sources.list:1 and /etc/apt/sources.list.d/ubuntu.sources:1 1184s W: Target CNF (multiverse/cnf/Commands-all) is configured multiple times in /etc/apt/sources.list:1 and /etc/apt/sources.list.d/ubuntu.sources:1 1184s W: Target Packages (main/binary-s390x/Packages) is configured multiple times in /etc/apt/sources.list:2 and /etc/apt/sources.list.d/ubuntu.sources:1 1184s W: Target Packages (main/binary-all/Packages) is configured multiple times in /etc/apt/sources.list:2 and /etc/apt/sources.list.d/ubuntu.sources:1 1184s W: Target CNF (main/cnf/Commands-s390x) is configured multiple times in /etc/apt/sources.list:2 and /etc/apt/sources.list.d/ubuntu.sources:1 1184s W: Target CNF (main/cnf/Commands-all) is configured multiple times in /etc/apt/sources.list:2 and /etc/apt/sources.list.d/ubuntu.sources:1 1184s W: Target Packages (universe/binary-s390x/Packages) is configured multiple times in /etc/apt/sources.list:2 and /etc/apt/sources.list.d/ubuntu.sources:1 1184s W: Target Packages (universe/binary-all/Packages) is configured multiple times in /etc/apt/sources.list:2 and /etc/apt/sources.list.d/ubuntu.sources:1 1184s W: Target CNF (universe/cnf/Commands-s390x) is configured multiple times in /etc/apt/sources.list:2 and /etc/apt/sources.list.d/ubuntu.sources:1 1184s W: Target CNF (universe/cnf/Commands-all) is configured multiple times in /etc/apt/sources.list:2 and /etc/apt/sources.list.d/ubuntu.sources:1 1184s W: Target Packages (restricted/binary-s390x/Packages) is configured multiple times in /etc/apt/sources.list:2 and /etc/apt/sources.list.d/ubuntu.sources:1 1184s W: Target Packages (restricted/binary-all/Packages) is configured multiple times in /etc/apt/sources.list:2 and /etc/apt/sources.list.d/ubuntu.sources:1 1184s W: Target CNF (restricted/cnf/Commands-s390x) is configured multiple times in /etc/apt/sources.list:2 and /etc/apt/sources.list.d/ubuntu.sources:1 1184s W: Target CNF (restricted/cnf/Commands-all) is configured multiple times in /etc/apt/sources.list:2 and /etc/apt/sources.list.d/ubuntu.sources:1 1184s W: Target Packages (multiverse/binary-s390x/Packages) is configured multiple times in /etc/apt/sources.list:2 and /etc/apt/sources.list.d/ubuntu.sources:1 1184s W: Target Packages (multiverse/binary-all/Packages) is configured multiple times in /etc/apt/sources.list:2 and /etc/apt/sources.list.d/ubuntu.sources:1 1184s W: Target CNF (multiverse/cnf/Commands-s390x) is configured multiple times in /etc/apt/sources.list:2 and /etc/apt/sources.list.d/ubuntu.sources:1 1184s W: Target CNF (multiverse/cnf/Commands-all) is configured multiple times in /etc/apt/sources.list:2 and /etc/apt/sources.list.d/ubuntu.sources:1 1184s W: Target Packages (main/binary-s390x/Packages) is configured multiple times in /etc/apt/sources.list:3 and /etc/apt/sources.list.d/ubuntu.sources:2 1184s W: Target Packages (main/binary-all/Packages) is configured multiple times in /etc/apt/sources.list:3 and /etc/apt/sources.list.d/ubuntu.sources:2 1184s W: Target CNF (main/cnf/Commands-s390x) is configured multiple times in /etc/apt/sources.list:3 and /etc/apt/sources.list.d/ubuntu.sources:2 1184s W: Target CNF (main/cnf/Commands-all) is configured multiple times in /etc/apt/sources.list:3 and /etc/apt/sources.list.d/ubuntu.sources:2 1184s W: Target Packages (universe/binary-s390x/Packages) is configured multiple times in /etc/apt/sources.list:3 and /etc/apt/sources.list.d/ubuntu.sources:2 1184s W: Target Packages (universe/binary-all/Packages) is configured multiple times in /etc/apt/sources.list:3 and /etc/apt/sources.list.d/ubuntu.sources:2 1184s W: Target CNF (universe/cnf/Commands-s390x) is configured multiple times in /etc/apt/sources.list:3 and /etc/apt/sources.list.d/ubuntu.sources:2 1184s W: Target CNF (universe/cnf/Commands-all) is configured multiple times in /etc/apt/sources.list:3 and /etc/apt/sources.list.d/ubuntu.sources:2 1184s W: Target Packages (restricted/binary-s390x/Packages) is configured multiple times in /etc/apt/sources.list:3 and /etc/apt/sources.list.d/ubuntu.sources:2 1184s W: Target Packages (restricted/binary-all/Packages) is configured multiple times in /etc/apt/sources.list:3 and /etc/apt/sources.list.d/ubuntu.sources:2 1184s W: Target CNF (restricted/cnf/Commands-s390x) is configured multiple times in /etc/apt/sources.list:3 and /etc/apt/sources.list.d/ubuntu.sources:2 1184s W: Target CNF (restricted/cnf/Commands-all) is configured multiple times in /etc/apt/sources.list:3 and /etc/apt/sources.list.d/ubuntu.sources:2 1184s W: Target Packages (multiverse/binary-s390x/Packages) is configured multiple times in /etc/apt/sources.list:3 and /etc/apt/sources.list.d/ubuntu.sources:2 1184s W: Target Packages (multiverse/binary-all/Packages) is configured multiple times in /etc/apt/sources.list:3 and /etc/apt/sources.list.d/ubuntu.sources:2 1184s W: Target CNF (multiverse/cnf/Commands-s390x) is configured multiple times in /etc/apt/sources.list:3 and /etc/apt/sources.list.d/ubuntu.sources:2 1184s W: Target CNF (multiverse/cnf/Commands-all) is configured multiple times in /etc/apt/sources.list:3 and /etc/apt/sources.list.d/ubuntu.sources:2 1184s W: Target Packages (main/binary-s390x/Packages) is configured multiple times in /etc/apt/sources.list.d/proposed.list:1 and /etc/apt/sources.list.d/proposed.sources:1 1184s W: Target Packages (main/binary-all/Packages) is configured multiple times in /etc/apt/sources.list.d/proposed.list:1 and /etc/apt/sources.list.d/proposed.sources:1 1184s W: Target CNF (main/cnf/Commands-s390x) is configured multiple times in /etc/apt/sources.list.d/proposed.list:1 and /etc/apt/sources.list.d/proposed.sources:1 1184s W: Target CNF (main/cnf/Commands-all) is configured multiple times in /etc/apt/sources.list.d/proposed.list:1 and /etc/apt/sources.list.d/proposed.sources:1 1184s W: Target Packages (universe/binary-s390x/Packages) is configured multiple times in /etc/apt/sources.list.d/proposed.list:1 and /etc/apt/sources.list.d/proposed.sources:1 1184s W: Target Packages (universe/binary-all/Packages) is configured multiple times in /etc/apt/sources.list.d/proposed.list:1 and /etc/apt/sources.list.d/proposed.sources:1 1184s W: Target CNF (universe/cnf/Commands-s390x) is configured multiple times in /etc/apt/sources.list.d/proposed.list:1 and /etc/apt/sources.list.d/proposed.sources:1 1184s W: Target CNF (universe/cnf/Commands-all) is configured multiple times in /etc/apt/sources.list.d/proposed.list:1 and /etc/apt/sources.list.d/proposed.sources:1 1184s W: Target Packages (restricted/binary-s390x/Packages) is configured multiple times in /etc/apt/sources.list.d/proposed.list:1 and /etc/apt/sources.list.d/proposed.sources:1 1184s W: Target Packages (restricted/binary-all/Packages) is configured multiple times in /etc/apt/sources.list.d/proposed.list:1 and /etc/apt/sources.list.d/proposed.sources:1 1184s W: Target CNF (restricted/cnf/Commands-s390x) is configured multiple times in /etc/apt/sources.list.d/proposed.list:1 and /etc/apt/sources.list.d/proposed.sources:1 1184s W: Target CNF (restricted/cnf/Commands-all) is configured multiple times in /etc/apt/sources.list.d/proposed.list:1 and /etc/apt/sources.list.d/proposed.sources:1 1184s W: Target Packages (multiverse/binary-s390x/Packages) is configured multiple times in /etc/apt/sources.list.d/proposed.list:1 and /etc/apt/sources.list.d/proposed.sources:1 1184s W: Target Packages (multiverse/binary-all/Packages) is configured multiple times in /etc/apt/sources.list.d/proposed.list:1 and /etc/apt/sources.list.d/proposed.sources:1 1184s W: Target CNF (multiverse/cnf/Commands-s390x) is configured multiple times in /etc/apt/sources.list.d/proposed.list:1 and /etc/apt/sources.list.d/proposed.sources:1 1184s W: Target CNF (multiverse/cnf/Commands-all) is configured multiple times in /etc/apt/sources.list.d/proposed.list:1 and /etc/apt/sources.list.d/proposed.sources:1 1184s W: Target Packages (main/binary-s390x/Packages) is configured multiple times in /etc/apt/sources.list:1 and /etc/apt/sources.list.d/ubuntu.sources:1 1184s W: Target Packages (main/binary-all/Packages) is configured multiple times in /etc/apt/sources.list:1 and /etc/apt/sources.list.d/ubuntu.sources:1 1184s W: Target CNF (main/cnf/Commands-s390x) is configured multiple times in /etc/apt/sources.list:1 and /etc/apt/sources.list.d/ubuntu.sources:1 1184s W: Target CNF (main/cnf/Commands-all) is configured multiple times in /etc/apt/sources.list:1 and /etc/apt/sources.list.d/ubuntu.sources:1 1184s W: Target Packages (universe/binary-s390x/Packages) is configured multiple times in /etc/apt/sources.list:1 and /etc/apt/sources.list.d/ubuntu.sources:1 1184s W: Target Packages (universe/binary-all/Packages) is configured multiple times in /etc/apt/sources.list:1 and /etc/apt/sources.list.d/ubuntu.sources:1 1184s W: Target CNF (universe/cnf/Commands-s390x) is configured multiple times in /etc/apt/sources.list:1 and /etc/apt/sources.list.d/ubuntu.sources:1 1184s W: Target CNF (universe/cnf/Commands-all) is configured multiple times in /etc/apt/sources.list:1 and /etc/apt/sources.list.d/ubuntu.sources:1 1184s W: Target Packages (restricted/binary-s390x/Packages) is configured multiple times in /etc/apt/sources.list:1 and /etc/apt/sources.list.d/ubuntu.sources:1 1184s W: Target Packages (restricted/binary-all/Packages) is configured multiple times in /etc/apt/sources.list:1 and /etc/apt/sources.list.d/ubuntu.sources:1 1184s W: Target CNF (restricted/cnf/Commands-s390x) is configured multiple times in /etc/apt/sources.list:1 and /etc/apt/sources.list.d/ubuntu.sources:1 1184s W: Target CNF (restricted/cnf/Commands-all) is configured multiple times in /etc/apt/sources.list:1 and /etc/apt/sources.list.d/ubuntu.sources:1 1184s W: Target Packages (multiverse/binary-s390x/Packages) is configured multiple times in /etc/apt/sources.list:1 and /etc/apt/sources.list.d/ubuntu.sources:1 1184s W: Target Packages (multiverse/binary-all/Packages) is configured multiple times in /etc/apt/sources.list:1 and /etc/apt/sources.list.d/ubuntu.sources:1 1184s W: Target CNF (multiverse/cnf/Commands-s390x) is configured multiple times in /etc/apt/sources.list:1 and /etc/apt/sources.list.d/ubuntu.sources:1 1184s W: Target CNF (multiverse/cnf/Commands-all) is configured multiple times in /etc/apt/sources.list:1 and /etc/apt/sources.list.d/ubuntu.sources:1 1184s W: Target Packages (main/binary-s390x/Packages) is configured multiple times in /etc/apt/sources.list:2 and /etc/apt/sources.list.d/ubuntu.sources:1 1184s W: Target Packages (main/binary-all/Packages) is configured multiple times in /etc/apt/sources.list:2 and /etc/apt/sources.list.d/ubuntu.sources:1 1184s W: Target CNF (main/cnf/Commands-s390x) is configured multiple times in /etc/apt/sources.list:2 and /etc/apt/sources.list.d/ubuntu.sources:1 1184s W: Target CNF (main/cnf/Commands-all) is configured multiple times in /etc/apt/sources.list:2 and /etc/apt/sources.list.d/ubuntu.sources:1 1184s W: Target Packages (universe/binary-s390x/Packages) is configured multiple times in /etc/apt/sources.list:2 and /etc/apt/sources.list.d/ubuntu.sources:1 1184s W: Target Packages (universe/binary-all/Packages) is configured multiple times in /etc/apt/sources.list:2 and /etc/apt/sources.list.d/ubuntu.sources:1 1184s W: Target CNF (universe/cnf/Commands-s390x) is configured multiple times in /etc/apt/sources.list:2 and /etc/apt/sources.list.d/ubuntu.sources:1 1184s W: Target CNF (universe/cnf/Commands-all) is configured multiple times in /etc/apt/sources.list:2 and /etc/apt/sources.list.d/ubuntu.sources:1 1184s W: Target Packages (restricted/binary-s390x/Packages) is configured multiple times in /etc/apt/sources.list:2 and /etc/apt/sources.list.d/ubuntu.sources:1 1184s W: Target Packages (restricted/binary-all/Packages) is configured multiple times in /etc/apt/sources.list:2 and /etc/apt/sources.list.d/ubuntu.sources:1 1184s W: Target CNF (restricted/cnf/Commands-s390x) is configured multiple times in /etc/apt/sources.list:2 and /etc/apt/sources.list.d/ubuntu.sources:1 1184s W: Target CNF (restricted/cnf/Commands-all) is configured multiple times in /etc/apt/sources.list:2 and /etc/apt/sources.list.d/ubuntu.sources:1 1184s W: Target Packages (multiverse/binary-s390x/Packages) is configured multiple times in /etc/apt/sources.list:2 and /etc/apt/sources.list.d/ubuntu.sources:1 1184s W: Target Packages (multiverse/binary-all/Packages) is configured multiple times in /etc/apt/sources.list:2 and /etc/apt/sources.list.d/ubuntu.sources:1 1184s W: Target CNF (multiverse/cnf/Commands-s390x) is configured multiple times in /etc/apt/sources.list:2 and /etc/apt/sources.list.d/ubuntu.sources:1 1184s W: Target CNF (multiverse/cnf/Commands-all) is configured multiple times in /etc/apt/sources.list:2 and /etc/apt/sources.list.d/ubuntu.sources:1 1184s W: Target Packages (main/binary-s390x/Packages) is configured multiple times in /etc/apt/sources.list:3 and /etc/apt/sources.list.d/ubuntu.sources:2 1184s W: Target Packages (main/binary-all/Packages) is configured multiple times in /etc/apt/sources.list:3 and /etc/apt/sources.list.d/ubuntu.sources:2 1184s W: Target CNF (main/cnf/Commands-s390x) is configured multiple times in /etc/apt/sources.list:3 and /etc/apt/sources.list.d/ubuntu.sources:2 1184s W: Target CNF (main/cnf/Commands-all) is configured multiple times in /etc/apt/sources.list:3 and /etc/apt/sources.list.d/ubuntu.sources:2 1184s W: Target Packages (universe/binary-s390x/Packages) is configured multiple times in /etc/apt/sources.list:3 and /etc/apt/sources.list.d/ubuntu.sources:2 1184s W: Target Packages (universe/binary-all/Packages) is configured multiple times in /etc/apt/sources.list:3 and /etc/apt/sources.list.d/ubuntu.sources:2 1184s W: Target CNF (universe/cnf/Commands-s390x) is configured multiple times in /etc/apt/sources.list:3 and /etc/apt/sources.list.d/ubuntu.sources:2 1184s W: Target CNF (universe/cnf/Commands-all) is configured multiple times in /etc/apt/sources.list:3 and /etc/apt/sources.list.d/ubuntu.sources:2 1184s W: Target Packages (restricted/binary-s390x/Packages) is configured multiple times in /etc/apt/sources.list:3 and /etc/apt/sources.list.d/ubuntu.sources:2 1184s W: Target Packages (restricted/binary-all/Packages) is configured multiple times in /etc/apt/sources.list:3 and /etc/apt/sources.list.d/ubuntu.sources:2 1184s W: Target CNF (restricted/cnf/Commands-s390x) is configured multiple times in /etc/apt/sources.list:3 and /etc/apt/sources.list.d/ubuntu.sources:2 1184s W: Target CNF (restricted/cnf/Commands-all) is configured multiple times in /etc/apt/sources.list:3 and /etc/apt/sources.list.d/ubuntu.sources:2 1184s W: Target Packages (multiverse/binary-s390x/Packages) is configured multiple times in /etc/apt/sources.list:3 and /etc/apt/sources.list.d/ubuntu.sources:2 1184s W: Target Packages (multiverse/binary-all/Packages) is configured multiple times in /etc/apt/sources.list:3 and /etc/apt/sources.list.d/ubuntu.sources:2 1184s W: Target CNF (multiverse/cnf/Commands-s390x) is configured multiple times in /etc/apt/sources.list:3 and /etc/apt/sources.list.d/ubuntu.sources:2 1184s W: Target CNF (multiverse/cnf/Commands-all) is configured multiple times in /etc/apt/sources.list:3 and /etc/apt/sources.list.d/ubuntu.sources:2 1184s W: Target Packages (main/binary-s390x/Packages) is configured multiple times in /etc/apt/sources.list.d/proposed.list:1 and /etc/apt/sources.list.d/proposed.sources:1 1184s W: Target Packages (main/binary-all/Packages) is configured multiple times in /etc/apt/sources.list.d/proposed.list:1 and /etc/apt/sources.list.d/proposed.sources:1 1184s W: Target CNF (main/cnf/Commands-s390x) is configured multiple times in /etc/apt/sources.list.d/proposed.list:1 and /etc/apt/sources.list.d/proposed.sources:1 1184s W: Target CNF (main/cnf/Commands-all) is configured multiple times in /etc/apt/sources.list.d/proposed.list:1 and /etc/apt/sources.list.d/proposed.sources:1 1184s W: Target Packages (universe/binary-s390x/Packages) is configured multiple times in /etc/apt/sources.list.d/proposed.list:1 and /etc/apt/sources.list.d/proposed.sources:1 1184s W: Target Packages (universe/binary-all/Packages) is configured multiple times in /etc/apt/sources.list.d/proposed.list:1 and /etc/apt/sources.list.d/proposed.sources:1 1184s W: Target CNF (universe/cnf/Commands-s390x) is configured multiple times in /etc/apt/sources.list.d/proposed.list:1 and /etc/apt/sources.list.d/proposed.sources:1 1184s W: Target CNF (universe/cnf/Commands-all) is configured multiple times in /etc/apt/sources.list.d/proposed.list:1 and /etc/apt/sources.list.d/proposed.sources:1 1184s W: Target Packages (restricted/binary-s390x/Packages) is configured multiple times in /etc/apt/sources.list.d/proposed.list:1 and /etc/apt/sources.list.d/proposed.sources:1 1184s W: Target Packages (restricted/binary-all/Packages) is configured multiple times in /etc/apt/sources.list.d/proposed.list:1 and /etc/apt/sources.list.d/proposed.sources:1 1184s W: Target CNF (restricted/cnf/Commands-s390x) is configured multiple times in /etc/apt/sources.list.d/proposed.list:1 and /etc/apt/sources.list.d/proposed.sources:1 1184s W: Target CNF (restricted/cnf/Commands-all) is configured multiple times in /etc/apt/sources.list.d/proposed.list:1 and /etc/apt/sources.list.d/proposed.sources:1 1184s W: Target Packages (multiverse/binary-s390x/Packages) is configured multiple times in /etc/apt/sources.list.d/proposed.list:1 and /etc/apt/sources.list.d/proposed.sources:1 1184s W: Target Packages (multiverse/binary-all/Packages) is configured multiple times in /etc/apt/sources.list.d/proposed.list:1 and /etc/apt/sources.list.d/proposed.sources:1 1184s W: Target CNF (multiverse/cnf/Commands-s390x) is configured multiple times in /etc/apt/sources.list.d/proposed.list:1 and /etc/apt/sources.list.d/proposed.sources:1 1184s W: Target CNF (multiverse/cnf/Commands-all) is configured multiple times in /etc/apt/sources.list.d/proposed.list:1 and /etc/apt/sources.list.d/proposed.sources:1 1184s Reading package lists... 1184s Building dependency tree... 1184s Reading state information... 1184s Calculating upgrade... 1184s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 1184s Reading package lists... 1184s Building dependency tree... 1184s Reading state information... 1185s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 1185s autopkgtest [04:09:06]: rebooting testbed after setup commands that affected boot 1216s Reading package lists... 1216s Building dependency tree... 1216s Reading state information... 1217s Starting pkgProblemResolver with broken count: 0 1217s Starting 2 pkgProblemResolver with broken count: 0 1217s Done 1217s The following additional packages will be installed: 1217s autodep8 dctrl-tools libdb5.3t64 libgdbm-compat4t64 libperl5.38t64 1217s libtemplate-alloy-perl perl perl-modules-5.38 pkg-perl-autopkgtest 1217s Suggested packages: 1217s debtags perl-doc libterm-readline-gnu-perl | libterm-readline-perl-perl make 1217s libtap-harness-archive-perl 1217s The following packages will be REMOVED: 1217s libdb5.3 1217s The following NEW packages will be installed: 1217s autodep8 autopkgtest-satdep dctrl-tools libdb5.3t64 libgdbm-compat4t64 1217s libperl5.38t64 libtemplate-alloy-perl perl perl-modules-5.38 1217s pkg-perl-autopkgtest 1217s 0 upgraded, 10 newly installed, 1 to remove and 0 not upgraded. 1217s Need to get 6280 kB/9397 kB of archives. 1217s After this operation, 51.4 MB of additional disk space will be used. 1217s Get:1 /tmp/autopkgtest.COAqMg/3-autopkgtest-satdep.deb autopkgtest-satdep s390x 0 [720 B] 1217s Get:2 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libdb5.3t64 s390x 5.3.28+dfsg2-5build1 [763 kB] 1218s Get:3 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libperl5.38t64 s390x 5.38.2-3.2 [5007 kB] 1219s Get:4 http://ftpmaster.internal/ubuntu noble-proposed/main s390x perl s390x 5.38.2-3.2 [231 kB] 1219s Get:5 http://ftpmaster.internal/ubuntu noble/main s390x dctrl-tools s390x 2.24-3build2 [65.4 kB] 1219s Get:6 http://ftpmaster.internal/ubuntu noble/main s390x autodep8 all 0.28 [13.2 kB] 1219s Get:7 http://ftpmaster.internal/ubuntu noble/universe s390x libtemplate-alloy-perl all 1.022-2 [181 kB] 1219s Get:8 http://ftpmaster.internal/ubuntu noble/universe s390x pkg-perl-autopkgtest all 0.77 [18.0 kB] 1220s Fetched 6280 kB in 2s (2779 kB/s) 1220s dpkg: libdb5.3:s390x: dependency problems, but removing anyway as you requested: 1220s libsasl2-modules-db:s390x depends on libdb5.3. 1220s libpython3.12-stdlib:s390x depends on libdb5.3. 1220s libpython3.11-stdlib:s390x depends on libdb5.3. 1220s libpam-modules:s390x depends on libdb5.3. 1220s iproute2 depends on libdb5.3. 1220s apt-utils depends on libdb5.3. 1220s 1220s (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 ... 49352 files and directories currently installed.) 1220s Removing libdb5.3:s390x (5.3.28+dfsg2-4) ... 1220s Selecting previously unselected package libdb5.3t64:s390x. 1220s (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 ... 49346 files and directories currently installed.) 1220s Preparing to unpack .../libdb5.3t64_5.3.28+dfsg2-5build1_s390x.deb ... 1220s Unpacking libdb5.3t64:s390x (5.3.28+dfsg2-5build1) ... 1220s Setting up libdb5.3t64:s390x (5.3.28+dfsg2-5build1) ... 1220s Selecting previously unselected package perl-modules-5.38. 1220s (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 ... 49352 files and directories currently installed.) 1220s Preparing to unpack .../0-perl-modules-5.38_5.38.2-3.2_all.deb ... 1220s Unpacking perl-modules-5.38 (5.38.2-3.2) ... 1220s Selecting previously unselected package libgdbm-compat4t64:s390x. 1220s Preparing to unpack .../1-libgdbm-compat4t64_1.23-5.1_s390x.deb ... 1220s Unpacking libgdbm-compat4t64:s390x (1.23-5.1) ... 1220s Selecting previously unselected package libperl5.38t64:s390x. 1220s Preparing to unpack .../2-libperl5.38t64_5.38.2-3.2_s390x.deb ... 1220s Unpacking libperl5.38t64:s390x (5.38.2-3.2) ... 1220s Selecting previously unselected package perl. 1220s Preparing to unpack .../3-perl_5.38.2-3.2_s390x.deb ... 1220s Unpacking perl (5.38.2-3.2) ... 1220s Selecting previously unselected package dctrl-tools. 1220s Preparing to unpack .../4-dctrl-tools_2.24-3build2_s390x.deb ... 1220s Unpacking dctrl-tools (2.24-3build2) ... 1220s Selecting previously unselected package autodep8. 1220s Preparing to unpack .../5-autodep8_0.28_all.deb ... 1220s Unpacking autodep8 (0.28) ... 1220s Selecting previously unselected package libtemplate-alloy-perl. 1220s Preparing to unpack .../6-libtemplate-alloy-perl_1.022-2_all.deb ... 1220s Unpacking libtemplate-alloy-perl (1.022-2) ... 1220s Selecting previously unselected package pkg-perl-autopkgtest. 1220s Preparing to unpack .../7-pkg-perl-autopkgtest_0.77_all.deb ... 1220s Unpacking pkg-perl-autopkgtest (0.77) ... 1220s Selecting previously unselected package autopkgtest-satdep. 1220s Preparing to unpack .../8-3-autopkgtest-satdep.deb ... 1220s Unpacking autopkgtest-satdep (0) ... 1220s Setting up libgdbm-compat4t64:s390x (1.23-5.1) ... 1220s Setting up perl-modules-5.38 (5.38.2-3.2) ... 1220s Setting up libperl5.38t64:s390x (5.38.2-3.2) ... 1220s Setting up dctrl-tools (2.24-3build2) ... 1220s Setting up autodep8 (0.28) ... 1220s Setting up perl (5.38.2-3.2) ... 1220s Setting up pkg-perl-autopkgtest (0.77) ... 1220s Setting up libtemplate-alloy-perl (1.022-2) ... 1220s Setting up autopkgtest-satdep (0) ... 1220s Processing triggers for man-db (2.12.0-3) ... 1221s Processing triggers for libc-bin (2.39-0ubuntu2) ... 1223s (Reading database ... 51479 files and directories currently installed.) 1223s Removing autopkgtest-satdep (0) ... 1226s autopkgtest [04:09:47]: test autodep8-perl: /usr/share/pkg-perl-autopkgtest/runner runtime-deps 1226s autopkgtest [04:09:47]: test autodep8-perl: [----------------------- 1227s /usr/share/pkg-perl-autopkgtest/runtime-deps.d/use.t .. 1227s 1..4 1227s ok 1 - /usr/bin/perl -w -M"Template::Alloy" -e 1 2>&1 exited successfully 1227s ok 2 - /usr/bin/perl -w -M"Template::Alloy" -e 1 2>&1 produced no (non-whitelisted) output 1227s ok 3 - env PERL_DL_NONLAZY=1 /usr/bin/perl -w -M"Template::Alloy" -e 1 2>&1 exited successfully 1227s ok 4 - env PERL_DL_NONLAZY=1 /usr/bin/perl -w -M"Template::Alloy" -e 1 2>&1 produced no (non-whitelisted) output 1227s ok 1227s All tests successful. 1227s Files=1, Tests=4, 0 wallclock secs ( 0.03 usr 0.01 sys + 0.12 cusr 0.02 csys = 0.18 CPU) 1227s Result: PASS 1227s autopkgtest [04:09:48]: test autodep8-perl: -----------------------] 1227s autodep8-perl PASS (superficial) 1227s autopkgtest [04:09:48]: test autodep8-perl: - - - - - - - - - - results - - - - - - - - - - 1228s autopkgtest [04:09:49]: test autodep8-perl-recommends: preparing testbed 1229s Reading package lists... 1229s Building dependency tree... 1229s Reading state information... 1230s Starting pkgProblemResolver with broken count: 0 1230s Starting 2 pkgProblemResolver with broken count: 0 1230s Done 1230s The following NEW packages will be installed: 1230s autopkgtest-satdep 1230s 0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. 1230s Need to get 0 B/724 B of archives. 1230s After this operation, 0 B of additional disk space will be used. 1230s Get:1 /tmp/autopkgtest.COAqMg/4-autopkgtest-satdep.deb autopkgtest-satdep s390x 0 [724 B] 1230s Selecting previously unselected package autopkgtest-satdep. 1230s (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 ... 51479 files and directories currently installed.) 1230s Preparing to unpack .../4-autopkgtest-satdep.deb ... 1230s Unpacking autopkgtest-satdep (0) ... 1230s Setting up autopkgtest-satdep (0) ... 1232s (Reading database ... 51479 files and directories currently installed.) 1232s Removing autopkgtest-satdep (0) ... 1233s autopkgtest [04:09:54]: test autodep8-perl-recommends: /usr/share/pkg-perl-autopkgtest/runner runtime-deps-and-recommends 1233s autopkgtest [04:09:54]: test autodep8-perl-recommends: [----------------------- 1233s /usr/share/pkg-perl-autopkgtest/runtime-deps-and-recommends.d/syntax.t .. 1233s 1..4 1233s ok 1 - Package libtemplate-alloy-perl is known to dpkg 1233s ok 2 - Got status information for package libtemplate-alloy-perl 1233s ok 3 - Got file list for package libtemplate-alloy-perl 1233s # Subtest: all modules in libtemplate-alloy-perl pass the syntax check 1233s 1..14 1233s # Name "Template::Alloy::Play::DIRECTIVES" used only once: possible typo at /usr/share/perl5/Template/Alloy/Compile.pm line 213. 1233s # Name "Template::Alloy::OP_DISPATCH" used only once: possible typo at /usr/share/perl5/Template/Alloy/Compile.pm line 633. 1233s ok 1 - /usr/bin/perl -wc /usr/share/perl5/Template/Alloy/Compile.pm exited successfully 1233s ok 2 - /usr/bin/perl -wc /usr/share/perl5/Template/Alloy/Context.pm exited successfully 1233s ok 3 - /usr/bin/perl -wc /usr/share/perl5/Template/Alloy/Exception.pm exited successfully 1233s # Name "Template::Alloy::Parse::ALIASES" used only once: possible typo at /usr/share/perl5/Template/Alloy/HTE.pm line 51. 1233s # Name "Template::Alloy::Parse::DIRECTIVES" used only once: possible typo at /usr/share/perl5/Template/Alloy/HTE.pm line 50. 1233s ok 4 - /usr/bin/perl -wc /usr/share/perl5/Template/Alloy/HTE.pm exited successfully 1233s ok 5 - /usr/bin/perl -wc /usr/share/perl5/Template/Alloy/Iterator.pm exited successfully 1233s # Subroutine new redefined at /usr/share/perl5/Template/Alloy/Operator.pm line 19. 1233s # Subroutine _op_qr redefined at /usr/share/perl5/Template/Alloy/Operator.pm line 81. 1233s # Subroutine _build_ops redefined at /usr/share/perl5/Template/Alloy/Operator.pm line 91. 1233s # Subroutine play_operator redefined at /usr/share/perl5/Template/Alloy/Operator.pm line 105. 1233s # Subroutine define_operator redefined at /usr/share/perl5/Template/Alloy/Operator.pm line 200. 1233s ok 6 - /usr/bin/perl -wc /usr/share/perl5/Template/Alloy/Operator.pm exited successfully 1233s ok 7 - /usr/bin/perl -wc /usr/share/perl5/Template/Alloy/Parse.pm exited successfully 1233s # Name "Template::Plugins::PLUGIN_BASE" used only once: possible typo at /usr/share/perl5/Template/Alloy/Play.pm line 841. 1233s # Name "Template::View::ERROR" used only once: possible typo at /usr/share/perl5/Template/Alloy/Play.pm line 919. 1233s ok 8 - /usr/bin/perl -wc /usr/share/perl5/Template/Alloy/Play.pm exited successfully 1233s ok 9 - /usr/bin/perl -wc /usr/share/perl5/Template/Alloy/Stream.pm exited successfully 1233s # Name "Template::Alloy::Parse::DIRECTIVES" used only once: possible typo at /usr/share/perl5/Template/Alloy/TT.pm line 36. 1233s # Name "Template::Alloy::Parse::ALIASES" used only once: possible typo at /usr/share/perl5/Template/Alloy/TT.pm line 37. 1233s # Name "Template::Alloy::Parse::QR_DIRECTIVE" used only once: possible typo at /usr/share/perl5/Template/Alloy/TT.pm line 145. 1233s ok 10 - /usr/bin/perl -wc /usr/share/perl5/Template/Alloy/TT.pm exited successfully 1233s # Name "Template::Alloy::Parse::ALIASES" used only once: possible typo at /usr/share/perl5/Template/Alloy/Tmpl.pm line 23. 1233s ok 11 - /usr/bin/perl -wc /usr/share/perl5/Template/Alloy/Tmpl.pm exited successfully 1233s # Subroutine new redefined at /usr/share/perl5/Template/Alloy/VMethod.pm line 21. 1233s # Subroutine json redefined at /usr/share/perl5/Template/Alloy/VMethod.pm line 26. 1233s # Subroutine jsonp redefined at /usr/share/perl5/Template/Alloy/VMethod.pm line 27. 1233s # Subroutine define_vmethod redefined at /usr/share/perl5/Template/Alloy/VMethod.pm line 169. 1233s # Subroutine vmethod_fmt_scalar redefined at /usr/share/perl5/Template/Alloy/VMethod.pm line 179. 1233s # Subroutine vmethod_fmt_list redefined at /usr/share/perl5/Template/Alloy/VMethod.pm line 187. 1233s # Subroutine vmethod_fmt_hash redefined at /usr/share/perl5/Template/Alloy/VMethod.pm line 196. 1233s # Subroutine vmethod_chunk redefined at /usr/share/perl5/Template/Alloy/VMethod.pm line 206. 1233s # Subroutine vmethod_indent redefined at /usr/share/perl5/Template/Alloy/VMethod.pm line 220. 1233s # Subroutine vmethod_format redefined at /usr/share/perl5/Template/Alloy/VMethod.pm line 228. 1233s # Subroutine vmethod_list_hash redefined at /usr/share/perl5/Template/Alloy/VMethod.pm line 238. 1233s # Subroutine vmethod_match redefined at /usr/share/perl5/Template/Alloy/VMethod.pm line 245. 1233s # Subroutine vmethod_nsort redefined at /usr/share/perl5/Template/Alloy/VMethod.pm line 252. 1233s # Subroutine vmethod_pick redefined at /usr/share/perl5/Template/Alloy/VMethod.pm line 261. 1233s # Subroutine vmethod_repeat redefined at /usr/share/perl5/Template/Alloy/VMethod.pm line 270. 1233s # Subroutine vmethod_replace redefined at /usr/share/perl5/Template/Alloy/VMethod.pm line 280. 1233s # Subroutine vmethod_return redefined at /usr/share/perl5/Template/Alloy/VMethod.pm line 303. 1233s # Subroutine vmethod_sort redefined at /usr/share/perl5/Template/Alloy/VMethod.pm line 308. 1233s # Subroutine vmethod_splice redefined at /usr/share/perl5/Template/Alloy/VMethod.pm line 321. 1233s # Subroutine vmethod_split redefined at /usr/share/perl5/Template/Alloy/VMethod.pm line 333. 1233s # Subroutine vmethod_substr redefined at /usr/share/perl5/Template/Alloy/VMethod.pm line 340. 1233s # Subroutine vmethod_uri redefined at /usr/share/perl5/Template/Alloy/VMethod.pm line 350. 1233s # Subroutine vmethod_url redefined at /usr/share/perl5/Template/Alloy/VMethod.pm line 358. 1233s # Subroutine item_method_redirect redefined at /usr/share/perl5/Template/Alloy/VMethod.pm line 366. 1233s ok 12 - /usr/bin/perl -wc /usr/share/perl5/Template/Alloy/VMethod.pm exited successfully 1233s # Name "Template::Alloy::Parse::DIRECTIVES" used only once: possible typo at /usr/share/perl5/Template/Alloy/Velocity.pm line 39. 1233s ok 13 - /usr/bin/perl -wc /usr/share/perl5/Template/Alloy/Velocity.pm exited successfully 1233s # Subroutine AUTOLOAD redefined at /usr/share/perl5/Template/Alloy.pm line 49. 1233s # Subroutine can redefined at /usr/share/perl5/Template/Alloy.pm line 59. 1233s # Subroutine DESTROY redefined at /usr/share/perl5/Template/Alloy.pm line 65. 1233s # Subroutine import redefined at /usr/share/perl5/Template/Alloy.pm line 67. 1233s # Subroutine new redefined at /usr/share/perl5/Template/Alloy.pm line 101. 1233s # Subroutine run redefined at /usr/share/perl5/Template/Alloy.pm line 115. 1233s # Subroutine process_simple redefined at /usr/share/perl5/Template/Alloy.pm line 117. 1233s # Subroutine _process redefined at /usr/share/perl5/Template/Alloy.pm line 142. 1233s # Subroutine load_template redefined at /usr/share/perl5/Template/Alloy.pm line 198. 1233s # Subroutine string_id redefined at /usr/share/perl5/Template/Alloy.pm line 342. 1233s # Subroutine load_tree redefined at /usr/share/perl5/Template/Alloy.pm line 355. 1233s # Subroutine play_expr redefined at /usr/share/perl5/Template/Alloy.pm line 411. 1233s # Subroutine set_variable redefined at /usr/share/perl5/Template/Alloy.pm line 620. 1233s # Subroutine _vars redefined at /usr/share/perl5/Template/Alloy.pm line 770. 1233s # Subroutine include_filename redefined at /usr/share/perl5/Template/Alloy.pm line 776. 1233s # Subroutine include_paths redefined at /usr/share/perl5/Template/Alloy.pm line 801. 1233s # Subroutine split_paths redefined at /usr/share/perl5/Template/Alloy.pm line 812. 1233s # Subroutine slurp redefined at /usr/share/perl5/Template/Alloy.pm line 820. 1233s # Subroutine error redefined at /usr/share/perl5/Template/Alloy.pm line 837. 1233s # Subroutine exception redefined at /usr/share/perl5/Template/Alloy.pm line 839. 1233s # Subroutine throw redefined at /usr/share/perl5/Template/Alloy.pm line 861. 1233s # Subroutine context redefined at /usr/share/perl5/Template/Alloy.pm line 863. 1233s # Subroutine iterator redefined at /usr/share/perl5/Template/Alloy.pm line 869. 1233s # Subroutine undefined_get redefined at /usr/share/perl5/Template/Alloy.pm line 875. 1233s # Subroutine undefined_any redefined at /usr/share/perl5/Template/Alloy.pm line 881. 1233s # Subroutine strict_throw redefined at /usr/share/perl5/Template/Alloy.pm line 887. 1233s # Subroutine list_filters redefined at /usr/share/perl5/Template/Alloy.pm line 897. 1233s # Subroutine debug_node redefined at /usr/share/perl5/Template/Alloy.pm line 899. 1233s # Subroutine node_info redefined at /usr/share/perl5/Template/Alloy.pm line 907. 1233s # Subroutine get_line_number_by_index redefined at /usr/share/perl5/Template/Alloy.pm line 928. 1233s # Subroutine ast_string redefined at /usr/share/perl5/Template/Alloy.pm line 961. 1233s # Subroutine tt_var_string redefined at /usr/share/perl5/Template/Alloy.pm line 972. 1233s # Subroutine item_method_eval redefined at /usr/share/perl5/Template/Alloy.pm line 988. 1233s ok 14 - /usr/bin/perl -wc /usr/share/perl5/Template/Alloy.pm exited successfully 1233s ok 4 - all modules in libtemplate-alloy-perl pass the syntax check 1233s ok 1233s All tests successful. 1233s Files=1, Tests=4, 0 wallclock secs ( 0.02 usr 0.00 sys + 0.26 cusr 0.05 csys = 0.33 CPU) 1233s Result: PASS 1234s autopkgtest [04:09:55]: test autodep8-perl-recommends: -----------------------] 1234s autodep8-perl-recommends PASS (superficial) 1234s autopkgtest [04:09:55]: test autodep8-perl-recommends: - - - - - - - - - - results - - - - - - - - - - 1235s autopkgtest [04:09:56]: @@@@@@@@@@@@@@@@@@@@ summary 1235s autodep8-perl-build-deps PASS 1235s autodep8-perl PASS (superficial) 1235s autodep8-perl-recommends PASS (superficial) 1277s Creating nova instance adt-noble-s390x-libtemplate-alloy-perl-20240319-023540-juju-7f2275-prod-proposed-migration-environment-2 from image adt/ubuntu-noble-s390x-server-20240318.img (UUID 126c2eb3-57be-497a-ae93-1bb0d09cf1e0)... 1277s Creating nova instance adt-noble-s390x-libtemplate-alloy-perl-20240319-023540-juju-7f2275-prod-proposed-migration-environment-2 from image adt/ubuntu-noble-s390x-server-20240318.img (UUID 126c2eb3-57be-497a-ae93-1bb0d09cf1e0)...