0s autopkgtest [22:27:38]: starting date: 2024-03-10 0s autopkgtest [22:27:38]: git checkout: d9c0295 adt_testbed.py: supress warnings from apt using a shell pipeline 0s autopkgtest [22:27:38]: host juju-7f2275-prod-proposed-migration-environment-3; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.xy9ws7tm/out --timeout-copy=6000 --setup-commands /home/ubuntu/autopkgtest-cloud/worker-config-production/setup-canonical.sh --setup-commands /home/ubuntu/autopkgtest/setup-commands/setup-testbed --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-3@bos03-arm64-2.secgroup --name adt-noble-arm64-libtemplate-alloy-perl-20240310-222737-juju-7f2275-prod-proposed-migration-environment-3 --image adt/ubuntu-noble-arm64-server --keyname testbed-juju-7f2275-prod-proposed-migration-environment-3 --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/ 61s autopkgtest [22:28:39]: @@@@@@@@@@@@@@@@@@@@ test bed setup 61s Get:1 http://ftpmaster.internal/ubuntu noble-proposed InRelease [117 kB] 62s Get:2 http://ftpmaster.internal/ubuntu noble-proposed/main Sources [433 kB] 62s Get:3 http://ftpmaster.internal/ubuntu noble-proposed/restricted Sources [3976 B] 62s Get:4 http://ftpmaster.internal/ubuntu noble-proposed/multiverse Sources [37.3 kB] 62s Get:5 http://ftpmaster.internal/ubuntu noble-proposed/universe Sources [2645 kB] 62s Get:6 http://ftpmaster.internal/ubuntu noble-proposed/main arm64 Packages [580 kB] 62s Get:7 http://ftpmaster.internal/ubuntu noble-proposed/main arm64 c-n-f Metadata [3144 B] 62s Get:8 http://ftpmaster.internal/ubuntu noble-proposed/restricted arm64 Packages [20.3 kB] 62s Get:9 http://ftpmaster.internal/ubuntu noble-proposed/restricted arm64 c-n-f Metadata [116 B] 62s Get:10 http://ftpmaster.internal/ubuntu noble-proposed/universe arm64 Packages [2967 kB] 62s Get:11 http://ftpmaster.internal/ubuntu noble-proposed/universe arm64 c-n-f Metadata [8528 B] 62s Get:12 http://ftpmaster.internal/ubuntu noble-proposed/multiverse arm64 Packages [39.6 kB] 62s Get:13 http://ftpmaster.internal/ubuntu noble-proposed/multiverse arm64 c-n-f Metadata [116 B] 64s Fetched 6855 kB in 2s (4548 kB/s) 64s Reading package lists... 66s Reading package lists... 67s Building dependency tree... 67s Reading state information... 67s Calculating upgrade... 67s The following packages were automatically installed and are no longer required: 67s libgdbm-compat4t64 libperl5.38 lto-disabled-list make perl-modules-5.38 67s ubuntu-advantage-tools 67s Use 'sudo apt autoremove' to remove them. 67s The following packages will be REMOVED: 67s dpkg-dev libdpkg-perl libgdbm-compat4 libgdbm6 perl 67s The following NEW packages will be installed: 67s libgdbm-compat4t64 libgdbm6t64 libnuma1 libsensors-config libsensors5 67s numactl sysstat 67s The following packages have been kept back: 67s libperl5.38 67s The following packages will be upgraded: 67s efibootmgr perl-base perl-modules-5.38 python3-attr ubuntu-minimal 68s ubuntu-standard 68s 6 upgraded, 7 newly installed, 5 to remove and 1 not upgraded. 68s Need to get 5605 kB of archives. 68s After this operation, 1944 kB disk space will be freed. 68s Get:1 http://ftpmaster.internal/ubuntu noble-proposed/main arm64 perl-base arm64 5.38.2-3.2 [1777 kB] 68s Get:2 http://ftpmaster.internal/ubuntu noble-proposed/main arm64 libgdbm6t64 arm64 1.23-5.1 [34.3 kB] 68s Get:3 http://ftpmaster.internal/ubuntu noble-proposed/main arm64 libgdbm-compat4t64 arm64 1.23-5.1 [6576 B] 68s Get:4 http://ftpmaster.internal/ubuntu noble-proposed/main arm64 perl-modules-5.38 all 5.38.2-3.2 [3110 kB] 68s Get:5 http://ftpmaster.internal/ubuntu noble/main arm64 ubuntu-minimal arm64 1.535 [10.5 kB] 68s Get:6 http://ftpmaster.internal/ubuntu noble/main arm64 libnuma1 arm64 2.0.18-1 [23.5 kB] 68s Get:7 http://ftpmaster.internal/ubuntu noble/main arm64 ubuntu-standard arm64 1.535 [10.5 kB] 68s Get:8 http://ftpmaster.internal/ubuntu noble/main arm64 efibootmgr arm64 18-1build1 [31.5 kB] 68s Get:9 http://ftpmaster.internal/ubuntu noble/main arm64 libsensors-config all 1:3.6.0-9 [5458 B] 68s Get:10 http://ftpmaster.internal/ubuntu noble/main arm64 libsensors5 arm64 1:3.6.0-9 [26.9 kB] 68s Get:11 http://ftpmaster.internal/ubuntu noble/main arm64 numactl arm64 2.0.18-1 [39.5 kB] 68s Get:12 http://ftpmaster.internal/ubuntu noble/main arm64 python3-attr all 23.2.0-2 [48.6 kB] 68s Get:13 http://ftpmaster.internal/ubuntu noble/main arm64 sysstat arm64 12.6.1-1ubuntu1 [480 kB] 69s Preconfiguring packages ... 69s Fetched 5605 kB in 1s (7076 kB/s) 69s (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 ... 74662 files and directories currently installed.) 69s Removing dpkg-dev (1.22.4ubuntu5) ... 69s Removing libdpkg-perl (1.22.4ubuntu5) ... 69s Removing perl (5.38.2-3) ... 69s (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 ... 74081 files and directories currently installed.) 69s Preparing to unpack .../perl-base_5.38.2-3.2_arm64.deb ... 69s Unpacking perl-base (5.38.2-3.2) over (5.38.2-3) ... 69s Setting up perl-base (5.38.2-3.2) ... 69s dpkg: libgdbm6:arm64: dependency problems, but removing anyway as you requested: 69s python3-gdbm:arm64 depends on libgdbm6 (>= 1.16). 69s man-db depends on libgdbm6 (>= 1.16). 69s libperl5.38:arm64 depends on libgdbm6 (>= 1.21). 69s libgdbm-compat4:arm64 depends on libgdbm6 (>= 1.16). 69s 69s (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 ... 74081 files and directories currently installed.) 69s Removing libgdbm6:arm64 (1.23-5) ... 69s Selecting previously unselected package libgdbm6t64:arm64. 69s (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 ... 74076 files and directories currently installed.) 69s Preparing to unpack .../libgdbm6t64_1.23-5.1_arm64.deb ... 69s Unpacking libgdbm6t64:arm64 (1.23-5.1) ... 69s dpkg: libgdbm-compat4:arm64: dependency problems, but removing anyway as you requested: 69s libperl5.38:arm64 depends on libgdbm-compat4 (>= 1.18-3). 69s 69s (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 ... 74082 files and directories currently installed.) 69s Removing libgdbm-compat4:arm64 (1.23-5) ... 69s Selecting previously unselected package libgdbm-compat4t64:arm64. 69s (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 ... 74077 files and directories currently installed.) 69s Preparing to unpack .../00-libgdbm-compat4t64_1.23-5.1_arm64.deb ... 69s Unpacking libgdbm-compat4t64:arm64 (1.23-5.1) ... 70s Preparing to unpack .../01-perl-modules-5.38_5.38.2-3.2_all.deb ... 70s Unpacking perl-modules-5.38 (5.38.2-3.2) over (5.38.2-3) ... 70s Preparing to unpack .../02-ubuntu-minimal_1.535_arm64.deb ... 70s Unpacking ubuntu-minimal (1.535) over (1.534) ... 70s Selecting previously unselected package libnuma1:arm64. 70s Preparing to unpack .../03-libnuma1_2.0.18-1_arm64.deb ... 70s Unpacking libnuma1:arm64 (2.0.18-1) ... 70s Preparing to unpack .../04-ubuntu-standard_1.535_arm64.deb ... 70s Unpacking ubuntu-standard (1.535) over (1.534) ... 70s Preparing to unpack .../05-efibootmgr_18-1build1_arm64.deb ... 70s Unpacking efibootmgr (18-1build1) over (18-1) ... 70s Selecting previously unselected package libsensors-config. 70s Preparing to unpack .../06-libsensors-config_1%3a3.6.0-9_all.deb ... 70s Unpacking libsensors-config (1:3.6.0-9) ... 70s Selecting previously unselected package libsensors5:arm64. 70s Preparing to unpack .../07-libsensors5_1%3a3.6.0-9_arm64.deb ... 70s Unpacking libsensors5:arm64 (1:3.6.0-9) ... 70s Selecting previously unselected package numactl. 70s Preparing to unpack .../08-numactl_2.0.18-1_arm64.deb ... 70s Unpacking numactl (2.0.18-1) ... 70s Preparing to unpack .../09-python3-attr_23.2.0-2_all.deb ... 70s Unpacking python3-attr (23.2.0-2) over (23.2.0-1) ... 70s Selecting previously unselected package sysstat. 70s Preparing to unpack .../10-sysstat_12.6.1-1ubuntu1_arm64.deb ... 70s Unpacking sysstat (12.6.1-1ubuntu1) ... 70s Setting up python3-attr (23.2.0-2) ... 70s Setting up efibootmgr (18-1build1) ... 70s Setting up libgdbm6t64:arm64 (1.23-5.1) ... 70s Setting up ubuntu-minimal (1.535) ... 70s Setting up libgdbm-compat4t64:arm64 (1.23-5.1) ... 70s Setting up libsensors-config (1:3.6.0-9) ... 70s Setting up ubuntu-standard (1.535) ... 70s Setting up perl-modules-5.38 (5.38.2-3.2) ... 70s Setting up libsensors5:arm64 (1:3.6.0-9) ... 70s Setting up libnuma1:arm64 (2.0.18-1) ... 70s Setting up sysstat (12.6.1-1ubuntu1) ... 71s 71s Creating config file /etc/default/sysstat with new version 71s update-alternatives: using /usr/bin/sar.sysstat to provide /usr/bin/sar (sar) in auto mode 71s Created symlink /etc/systemd/system/sysstat.service.wants/sysstat-collect.timer → /usr/lib/systemd/system/sysstat-collect.timer. 71s Created symlink /etc/systemd/system/sysstat.service.wants/sysstat-summary.timer → /usr/lib/systemd/system/sysstat-summary.timer. 71s Created symlink /etc/systemd/system/multi-user.target.wants/sysstat.service → /usr/lib/systemd/system/sysstat.service. 73s Setting up numactl (2.0.18-1) ... 73s Processing triggers for man-db (2.12.0-3) ... 74s Processing triggers for libc-bin (2.39-0ubuntu2) ... 74s Reading package lists... 75s Building dependency tree... 75s Reading state information... 75s The following packages will be REMOVED: 75s libgdbm-compat4t64* libperl5.38* lto-disabled-list* make* perl-modules-5.38* 75s ubuntu-advantage-tools* 75s 0 upgraded, 0 newly installed, 6 to remove and 0 not upgraded. 75s After this operation, 52.0 MB disk space will be freed. 75s (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 ... 74176 files and directories currently installed.) 75s Removing libperl5.38:arm64 (5.38.2-3) ... 75s Removing libgdbm-compat4t64:arm64 (1.23-5.1) ... 75s Removing lto-disabled-list (47) ... 75s Removing make (4.3-4.1build1) ... 75s Removing perl-modules-5.38 (5.38.2-3.2) ... 76s Removing ubuntu-advantage-tools (31.1) ... 76s Processing triggers for man-db (2.12.0-3) ... 76s Processing triggers for libc-bin (2.39-0ubuntu2) ... 76s (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 ... 72199 files and directories currently installed.) 76s Purging configuration files for ubuntu-advantage-tools (31.1) ... 77s sh: Attempting to set up Debian/Ubuntu apt sources automatically 77s sh: Distribution appears to be Ubuntu 78s Reading package lists... 79s Building dependency tree... 79s Reading state information... 79s eatmydata is already the newest version (131-1). 79s dbus is already the newest version (1.14.10-4ubuntu1). 79s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 79s Reading package lists... 79s Building dependency tree... 79s Reading state information... 80s rng-tools-debian is already the newest version (2.4). 80s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 80s Reading package lists... 80s Building dependency tree... 80s Reading state information... 81s haveged is already the newest version (1.9.14-1ubuntu1). 81s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 81s Reading package lists... 81s Building dependency tree... 81s Reading state information... 81s The following additional packages will be installed: 81s libdb5.3t64 libdpkg-perl libgdbm-compat4t64 libperl5.38t64 lto-disabled-list 81s make perl perl-modules-5.38 81s Suggested packages: 81s debian-keyring gcc | c-compiler git bzr make-doc perl-doc 81s libterm-readline-gnu-perl | libterm-readline-perl-perl 81s libtap-harness-archive-perl 81s Recommended packages: 81s build-essential gcc | c-compiler fakeroot libalgorithm-merge-perl 81s libfile-fcntllock-perl 81s The following packages will be REMOVED: 81s libdb5.3 81s The following NEW packages will be installed: 81s dpkg-dev libdb5.3t64 libdpkg-perl libgdbm-compat4t64 libperl5.38t64 81s lto-disabled-list make perl perl-modules-5.38 82s 0 upgraded, 9 newly installed, 1 to remove and 0 not upgraded. 82s Need to get 7257 kB/10.4 MB of archives. 82s After this operation, 56.1 MB of additional disk space will be used. 82s Get:1 http://ftpmaster.internal/ubuntu noble-proposed/main arm64 libdb5.3t64 arm64 5.3.28+dfsg2-5 [719 kB] 82s Get:2 http://ftpmaster.internal/ubuntu noble-proposed/main arm64 libperl5.38t64 arm64 5.38.2-3.2 [4771 kB] 82s Get:3 http://ftpmaster.internal/ubuntu noble-proposed/main arm64 perl arm64 5.38.2-3.2 [231 kB] 82s Get:4 http://ftpmaster.internal/ubuntu noble/main arm64 libdpkg-perl all 1.22.4ubuntu5 [268 kB] 82s Get:5 http://ftpmaster.internal/ubuntu noble/main arm64 make arm64 4.3-4.1build1 [177 kB] 82s Get:6 http://ftpmaster.internal/ubuntu noble/main arm64 lto-disabled-list all 47 [12.4 kB] 82s Get:7 http://ftpmaster.internal/ubuntu noble/main arm64 dpkg-dev all 1.22.4ubuntu5 [1078 kB] 83s Fetched 7257 kB in 1s (8339 kB/s) 83s dpkg: libdb5.3:arm64: dependency problems, but removing anyway as you requested: 83s libsasl2-modules-db:arm64 depends on libdb5.3. 83s libpython3.12-stdlib:arm64 depends on libdb5.3. 83s libpam-modules:arm64 depends on libdb5.3. 83s iproute2 depends on libdb5.3. 83s apt-utils depends on libdb5.3. 83s 83s (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 ... 72198 files and directories currently installed.) 83s Removing libdb5.3:arm64 (5.3.28+dfsg2-4) ... 83s Selecting previously unselected package libdb5.3t64:arm64. 83s (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 ... 72192 files and directories currently installed.) 83s Preparing to unpack .../libdb5.3t64_5.3.28+dfsg2-5_arm64.deb ... 83s Unpacking libdb5.3t64:arm64 (5.3.28+dfsg2-5) ... 83s Setting up libdb5.3t64:arm64 (5.3.28+dfsg2-5) ... 83s Selecting previously unselected package perl-modules-5.38. 83s (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 ... 72198 files and directories currently installed.) 83s Preparing to unpack .../0-perl-modules-5.38_5.38.2-3.2_all.deb ... 83s Unpacking perl-modules-5.38 (5.38.2-3.2) ... 83s Selecting previously unselected package libgdbm-compat4t64:arm64. 83s Preparing to unpack .../1-libgdbm-compat4t64_1.23-5.1_arm64.deb ... 84s Unpacking libgdbm-compat4t64:arm64 (1.23-5.1) ... 84s Selecting previously unselected package libperl5.38t64:arm64. 84s Preparing to unpack .../2-libperl5.38t64_5.38.2-3.2_arm64.deb ... 84s Unpacking libperl5.38t64:arm64 (5.38.2-3.2) ... 84s Selecting previously unselected package perl. 84s Preparing to unpack .../3-perl_5.38.2-3.2_arm64.deb ... 84s Unpacking perl (5.38.2-3.2) ... 84s Selecting previously unselected package libdpkg-perl. 84s Preparing to unpack .../4-libdpkg-perl_1.22.4ubuntu5_all.deb ... 84s Unpacking libdpkg-perl (1.22.4ubuntu5) ... 84s Selecting previously unselected package make. 84s Preparing to unpack .../5-make_4.3-4.1build1_arm64.deb ... 84s Unpacking make (4.3-4.1build1) ... 84s Selecting previously unselected package lto-disabled-list. 84s Preparing to unpack .../6-lto-disabled-list_47_all.deb ... 84s Unpacking lto-disabled-list (47) ... 84s Selecting previously unselected package dpkg-dev. 84s Preparing to unpack .../7-dpkg-dev_1.22.4ubuntu5_all.deb ... 84s Unpacking dpkg-dev (1.22.4ubuntu5) ... 84s Setting up lto-disabled-list (47) ... 84s Setting up libgdbm-compat4t64:arm64 (1.23-5.1) ... 84s Setting up make (4.3-4.1build1) ... 84s Setting up perl-modules-5.38 (5.38.2-3.2) ... 84s Setting up libperl5.38t64:arm64 (5.38.2-3.2) ... 84s Setting up perl (5.38.2-3.2) ... 84s Setting up libdpkg-perl (1.22.4ubuntu5) ... 84s Setting up dpkg-dev (1.22.4ubuntu5) ... 84s Processing triggers for man-db (2.12.0-3) ... 85s Processing triggers for libc-bin (2.39-0ubuntu2) ... 85s Reading package lists... 86s Building dependency tree... 86s Reading state information... 86s The following packages will be REMOVED: 86s cloud-init* python3-configobj* python3-debconf* 87s 0 upgraded, 0 newly installed, 3 to remove and 0 not upgraded. 87s After this operation, 3248 kB disk space will be freed. 87s (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 ... 74750 files and directories currently installed.) 87s Removing cloud-init (24.1-0ubuntu1) ... 87s Removing python3-configobj (5.0.8-3) ... 87s Removing python3-debconf (1.5.86) ... 88s Processing triggers for man-db (2.12.0-3) ... 88s (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 ... 74361 files and directories currently installed.) 88s Purging configuration files for cloud-init (24.1-0ubuntu1) ... 89s dpkg: warning: while removing cloud-init, directory '/etc/cloud/cloud.cfg.d' not empty so not removed 89s Processing triggers for rsyslog (8.2312.0-3ubuntu3) ... 89s Reading package lists... 89s Building dependency tree... 89s Reading state information... 90s linux-generic is already the newest version (6.8.0-11.11+1). 90s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 90s Hit:1 http://ftpmaster.internal/ubuntu noble InRelease 90s Hit:2 http://ftpmaster.internal/ubuntu noble-updates InRelease 91s Hit:3 http://ftpmaster.internal/ubuntu noble-security InRelease 91s Hit:4 http://ftpmaster.internal/ubuntu noble-proposed InRelease 92s Reading package lists... 92s Reading package lists... 92s Building dependency tree... 92s Reading state information... 92s Calculating upgrade... 93s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 93s Reading package lists... 93s Building dependency tree... 93s Reading state information... 94s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 94s autopkgtest [22:29:12]: rebooting testbed after setup commands that affected boot 119s autopkgtest [22:29:37]: testbed running kernel: Linux 6.8.0-11-generic #11-Ubuntu SMP PREEMPT_DYNAMIC Wed Feb 14 02:53:31 UTC 2024 120s autopkgtest [22:29:38]: testbed dpkg architecture: arm64 121s autopkgtest [22:29:39]: @@@@@@@@@@@@@@@@@@@@ apt-source libtemplate-alloy-perl 123s Get:1 http://ftpmaster.internal/ubuntu noble/universe libtemplate-alloy-perl 1.022-2 (dsc) [2160 B] 123s Get:2 http://ftpmaster.internal/ubuntu noble/universe libtemplate-alloy-perl 1.022-2 (tar) [196 kB] 123s Get:3 http://ftpmaster.internal/ubuntu noble/universe libtemplate-alloy-perl 1.022-2 (diff) [4736 B] 124s gpgv: Signature made Sun Oct 16 22:02:07 2022 UTC 124s gpgv: using RSA key B23862C415D6565A4E86CBD7579C160D4C9E23E8 124s gpgv: Can't check signature: No public key 124s dpkg-source: warning: cannot verify inline signature for ./libtemplate-alloy-perl_1.022-2.dsc: no acceptable signature found 124s autopkgtest [22:29:42]: testing package libtemplate-alloy-perl version 1.022-2 124s autopkgtest [22:29:42]: build not needed 124s autopkgtest [22:29:42]: test autodep8-perl-build-deps: preparing testbed 126s Reading package lists... 126s Building dependency tree... 126s Reading state information... 127s Correcting dependencies...Starting pkgProblemResolver with broken count: 0 127s Starting 2 pkgProblemResolver with broken count: 0 127s Done 127s Done 127s Starting pkgProblemResolver with broken count: 0 127s Starting 2 pkgProblemResolver with broken count: 0 127s Done 128s The following additional packages will be installed: 128s autoconf autodep8 automake autopoint autotools-dev build-essential cpp 128s cpp-13 cpp-13-aarch64-linux-gnu cpp-aarch64-linux-gnu dctrl-tools debhelper 128s debugedit dh-autoreconf dh-strip-nondeterminism dwz g++ g++-13 128s g++-13-aarch64-linux-gnu g++-aarch64-linux-gnu gcc gcc-13 128s gcc-13-aarch64-linux-gnu gcc-aarch64-linux-gnu gettext intltool-debian 128s libarchive-zip-perl libasan8 libatomic1 libc-dev-bin libc6-dev libcc1-0 128s libcrypt-dev libdebhelper-perl libdw1 libfile-stripnondeterminism-perl 128s libgcc-13-dev libgomp1 libhwasan0 libisl23 libitm1 liblsan0 libmpc3 128s libnsl-dev libstdc++-13-dev libsub-override-perl libtemplate-alloy-perl 128s libtirpc-dev libtool libtsan2 libubsan1 linux-libc-dev m4 128s pkg-perl-autopkgtest po-debconf rpcsvc-proto 128s Suggested packages: 128s autoconf-archive gnu-standards autoconf-doc cpp-doc gcc-13-locales 128s cpp-13-doc debtags dh-make gcc-13-doc gcc-multilib manpages-dev flex bison 128s gdb gcc-doc gdb-aarch64-linux-gnu gettext-doc libasprintf-dev 128s libgettextpo-dev glibc-doc libstdc++-13-doc libtool-doc gfortran 128s | fortran95-compiler gcj-jdk m4-doc libmail-box-perl 128s Recommended packages: 128s manpages manpages-dev libc-devtools libarchive-cpio-perl libltdl-dev 128s libmail-sendmail-perl 128s The following NEW packages will be installed: 128s autoconf autodep8 automake autopoint autotools-dev build-essential cpp 128s cpp-13 cpp-13-aarch64-linux-gnu cpp-aarch64-linux-gnu dctrl-tools debhelper 128s debugedit dh-autoreconf dh-strip-nondeterminism dwz g++ g++-13 128s g++-13-aarch64-linux-gnu g++-aarch64-linux-gnu gcc gcc-13 128s gcc-13-aarch64-linux-gnu gcc-aarch64-linux-gnu gettext intltool-debian 128s libarchive-zip-perl libasan8 libatomic1 libc-dev-bin libc6-dev libcc1-0 128s libcrypt-dev libdebhelper-perl libdw1 libfile-stripnondeterminism-perl 128s libgcc-13-dev libgomp1 libhwasan0 libisl23 libitm1 liblsan0 libmpc3 128s libnsl-dev libstdc++-13-dev libsub-override-perl libtemplate-alloy-perl 128s libtirpc-dev libtool libtsan2 libubsan1 linux-libc-dev m4 128s pkg-perl-autopkgtest po-debconf rpcsvc-proto 128s 0 upgraded, 56 newly installed, 0 to remove and 0 not upgraded. 128s 1 not fully installed or removed. 128s Need to get 66.4 MB of archives. 128s After this operation, 236 MB of additional disk space will be used. 128s Get:1 http://ftpmaster.internal/ubuntu noble/universe arm64 libtemplate-alloy-perl all 1.022-2 [181 kB] 128s Get:2 http://ftpmaster.internal/ubuntu noble/main arm64 autotools-dev all 20220109.1 [44.9 kB] 128s Get:3 http://ftpmaster.internal/ubuntu noble/main arm64 m4 arm64 1.4.19-4 [240 kB] 128s Get:4 http://ftpmaster.internal/ubuntu noble/main arm64 autoconf all 2.71-3 [339 kB] 129s Get:5 http://ftpmaster.internal/ubuntu noble/main arm64 automake all 1:1.16.5-1.3ubuntu1 [558 kB] 129s Get:6 http://ftpmaster.internal/ubuntu noble/main arm64 autopoint all 0.21-14ubuntu1 [422 kB] 129s Get:7 http://ftpmaster.internal/ubuntu noble/main arm64 libdebhelper-perl all 13.14.1ubuntu1 [89.5 kB] 129s Get:8 http://ftpmaster.internal/ubuntu noble/main arm64 libisl23 arm64 0.26-3 [713 kB] 129s Get:9 http://ftpmaster.internal/ubuntu noble/main arm64 libmpc3 arm64 1.3.1-1 [55.3 kB] 129s Get:10 http://ftpmaster.internal/ubuntu noble/main arm64 cpp-13-aarch64-linux-gnu arm64 13.2.0-17ubuntu2 [10.3 MB] 129s Get:11 http://ftpmaster.internal/ubuntu noble/main arm64 cpp-13 arm64 13.2.0-17ubuntu2 [1028 B] 129s Get:12 http://ftpmaster.internal/ubuntu noble/main arm64 cpp-aarch64-linux-gnu arm64 4:13.2.0-7ubuntu1 [5316 B] 129s Get:13 http://ftpmaster.internal/ubuntu noble/main arm64 cpp arm64 4:13.2.0-7ubuntu1 [22.4 kB] 129s Get:14 http://ftpmaster.internal/ubuntu noble/main arm64 libcc1-0 arm64 14-20240303-1ubuntu1 [44.7 kB] 129s Get:15 http://ftpmaster.internal/ubuntu noble/main arm64 libgomp1 arm64 14-20240303-1ubuntu1 [144 kB] 129s Get:16 http://ftpmaster.internal/ubuntu noble/main arm64 libitm1 arm64 14-20240303-1ubuntu1 [27.7 kB] 129s Get:17 http://ftpmaster.internal/ubuntu noble/main arm64 libatomic1 arm64 14-20240303-1ubuntu1 [11.4 kB] 129s Get:18 http://ftpmaster.internal/ubuntu noble/main arm64 libasan8 arm64 14-20240303-1ubuntu1 [2919 kB] 129s Get:19 http://ftpmaster.internal/ubuntu noble/main arm64 liblsan0 arm64 14-20240303-1ubuntu1 [1282 kB] 129s Get:20 http://ftpmaster.internal/ubuntu noble/main arm64 libtsan2 arm64 14-20240303-1ubuntu1 [2687 kB] 129s Get:21 http://ftpmaster.internal/ubuntu noble/main arm64 libubsan1 arm64 14-20240303-1ubuntu1 [1151 kB] 129s Get:22 http://ftpmaster.internal/ubuntu noble/main arm64 libhwasan0 arm64 14-20240303-1ubuntu1 [1597 kB] 129s Get:23 http://ftpmaster.internal/ubuntu noble/main arm64 libgcc-13-dev arm64 13.2.0-17ubuntu2 [2464 kB] 129s Get:24 http://ftpmaster.internal/ubuntu noble/main arm64 gcc-13-aarch64-linux-gnu arm64 13.2.0-17ubuntu2 [20.1 MB] 130s Get:25 http://ftpmaster.internal/ubuntu noble/main arm64 gcc-13 arm64 13.2.0-17ubuntu2 [467 kB] 130s Get:26 http://ftpmaster.internal/ubuntu noble/main arm64 gcc-aarch64-linux-gnu arm64 4:13.2.0-7ubuntu1 [1198 B] 130s Get:27 http://ftpmaster.internal/ubuntu noble/main arm64 gcc arm64 4:13.2.0-7ubuntu1 [5018 B] 130s Get:28 http://ftpmaster.internal/ubuntu noble/main arm64 libc-dev-bin arm64 2.39-0ubuntu2 [19.7 kB] 130s Get:29 http://ftpmaster.internal/ubuntu noble/main arm64 linux-libc-dev arm64 6.8.0-11.11 [1569 kB] 130s Get:30 http://ftpmaster.internal/ubuntu noble/main arm64 libcrypt-dev arm64 1:4.4.36-4 [136 kB] 130s Get:31 http://ftpmaster.internal/ubuntu noble/main arm64 libtirpc-dev arm64 1.3.4+ds-1build1 [232 kB] 130s Get:32 http://ftpmaster.internal/ubuntu noble/main arm64 libnsl-dev arm64 1.3.0-3 [71.9 kB] 130s Get:33 http://ftpmaster.internal/ubuntu noble/main arm64 rpcsvc-proto arm64 1.4.2-0ubuntu6 [65.4 kB] 130s Get:34 http://ftpmaster.internal/ubuntu noble/main arm64 libc6-dev arm64 2.39-0ubuntu2 [1596 kB] 130s Get:35 http://ftpmaster.internal/ubuntu noble/main arm64 libtool all 2.4.7-7 [166 kB] 130s Get:36 http://ftpmaster.internal/ubuntu noble/main arm64 dh-autoreconf all 20 [16.1 kB] 130s Get:37 http://ftpmaster.internal/ubuntu noble/main arm64 libarchive-zip-perl all 1.68-1 [90.2 kB] 130s Get:38 http://ftpmaster.internal/ubuntu noble/main arm64 libsub-override-perl all 0.10-1 [10.0 kB] 130s Get:39 http://ftpmaster.internal/ubuntu noble/main arm64 libfile-stripnondeterminism-perl all 1.13.1-1 [18.1 kB] 130s Get:40 http://ftpmaster.internal/ubuntu noble/main arm64 dh-strip-nondeterminism all 1.13.1-1 [5362 B] 130s Get:41 http://ftpmaster.internal/ubuntu noble/main arm64 libdw1 arm64 0.190-1 [254 kB] 130s Get:42 http://ftpmaster.internal/ubuntu noble/main arm64 debugedit arm64 1:5.0-5 [45.9 kB] 130s Get:43 http://ftpmaster.internal/ubuntu noble/main arm64 dwz arm64 0.15-1 [110 kB] 130s Get:44 http://ftpmaster.internal/ubuntu noble/main arm64 gettext arm64 0.21-14ubuntu1 [846 kB] 130s Get:45 http://ftpmaster.internal/ubuntu noble/main arm64 intltool-debian all 0.35.0+20060710.6 [23.2 kB] 130s Get:46 http://ftpmaster.internal/ubuntu noble/main arm64 po-debconf all 1.0.21+nmu1 [233 kB] 130s Get:47 http://ftpmaster.internal/ubuntu noble/main arm64 debhelper all 13.14.1ubuntu1 [869 kB] 130s Get:48 http://ftpmaster.internal/ubuntu noble/main arm64 libstdc++-13-dev arm64 13.2.0-17ubuntu2 [2322 kB] 130s Get:49 http://ftpmaster.internal/ubuntu noble/main arm64 g++-13-aarch64-linux-gnu arm64 13.2.0-17ubuntu2 [11.7 MB] 130s Get:50 http://ftpmaster.internal/ubuntu noble/main arm64 g++-13 arm64 13.2.0-17ubuntu2 [14.4 kB] 130s Get:51 http://ftpmaster.internal/ubuntu noble/main arm64 g++-aarch64-linux-gnu arm64 4:13.2.0-7ubuntu1 [962 B] 130s Get:52 http://ftpmaster.internal/ubuntu noble/main arm64 g++ arm64 4:13.2.0-7ubuntu1 [1082 B] 130s Get:53 http://ftpmaster.internal/ubuntu noble/main arm64 build-essential arm64 12.10ubuntu1 [4932 B] 130s Get:54 http://ftpmaster.internal/ubuntu noble/main arm64 dctrl-tools arm64 2.24-3build2 [65.2 kB] 130s Get:55 http://ftpmaster.internal/ubuntu noble/main arm64 autodep8 all 0.28 [13.2 kB] 130s Get:56 http://ftpmaster.internal/ubuntu noble/universe arm64 pkg-perl-autopkgtest all 0.77 [18.0 kB] 131s Fetched 66.4 MB in 2s (30.9 MB/s) 131s Selecting previously unselected package libtemplate-alloy-perl. 131s (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 ... 74306 files and directories currently installed.) 131s Preparing to unpack .../00-libtemplate-alloy-perl_1.022-2_all.deb ... 131s Unpacking libtemplate-alloy-perl (1.022-2) ... 131s Selecting previously unselected package autotools-dev. 131s Preparing to unpack .../01-autotools-dev_20220109.1_all.deb ... 131s Unpacking autotools-dev (20220109.1) ... 131s Selecting previously unselected package m4. 131s Preparing to unpack .../02-m4_1.4.19-4_arm64.deb ... 131s Unpacking m4 (1.4.19-4) ... 131s Selecting previously unselected package autoconf. 131s Preparing to unpack .../03-autoconf_2.71-3_all.deb ... 131s Unpacking autoconf (2.71-3) ... 131s Selecting previously unselected package automake. 131s Preparing to unpack .../04-automake_1%3a1.16.5-1.3ubuntu1_all.deb ... 131s Unpacking automake (1:1.16.5-1.3ubuntu1) ... 131s Selecting previously unselected package autopoint. 131s Preparing to unpack .../05-autopoint_0.21-14ubuntu1_all.deb ... 131s Unpacking autopoint (0.21-14ubuntu1) ... 131s Selecting previously unselected package libdebhelper-perl. 131s Preparing to unpack .../06-libdebhelper-perl_13.14.1ubuntu1_all.deb ... 131s Unpacking libdebhelper-perl (13.14.1ubuntu1) ... 131s Selecting previously unselected package libisl23:arm64. 131s Preparing to unpack .../07-libisl23_0.26-3_arm64.deb ... 131s Unpacking libisl23:arm64 (0.26-3) ... 131s Selecting previously unselected package libmpc3:arm64. 131s Preparing to unpack .../08-libmpc3_1.3.1-1_arm64.deb ... 131s Unpacking libmpc3:arm64 (1.3.1-1) ... 131s Selecting previously unselected package cpp-13-aarch64-linux-gnu. 131s Preparing to unpack .../09-cpp-13-aarch64-linux-gnu_13.2.0-17ubuntu2_arm64.deb ... 131s Unpacking cpp-13-aarch64-linux-gnu (13.2.0-17ubuntu2) ... 131s Selecting previously unselected package cpp-13. 131s Preparing to unpack .../10-cpp-13_13.2.0-17ubuntu2_arm64.deb ... 131s Unpacking cpp-13 (13.2.0-17ubuntu2) ... 131s Selecting previously unselected package cpp-aarch64-linux-gnu. 131s Preparing to unpack .../11-cpp-aarch64-linux-gnu_4%3a13.2.0-7ubuntu1_arm64.deb ... 131s Unpacking cpp-aarch64-linux-gnu (4:13.2.0-7ubuntu1) ... 131s Selecting previously unselected package cpp. 131s Preparing to unpack .../12-cpp_4%3a13.2.0-7ubuntu1_arm64.deb ... 131s Unpacking cpp (4:13.2.0-7ubuntu1) ... 131s Selecting previously unselected package libcc1-0:arm64. 131s Preparing to unpack .../13-libcc1-0_14-20240303-1ubuntu1_arm64.deb ... 131s Unpacking libcc1-0:arm64 (14-20240303-1ubuntu1) ... 131s Selecting previously unselected package libgomp1:arm64. 131s Preparing to unpack .../14-libgomp1_14-20240303-1ubuntu1_arm64.deb ... 131s Unpacking libgomp1:arm64 (14-20240303-1ubuntu1) ... 131s Selecting previously unselected package libitm1:arm64. 131s Preparing to unpack .../15-libitm1_14-20240303-1ubuntu1_arm64.deb ... 131s Unpacking libitm1:arm64 (14-20240303-1ubuntu1) ... 131s Selecting previously unselected package libatomic1:arm64. 131s Preparing to unpack .../16-libatomic1_14-20240303-1ubuntu1_arm64.deb ... 131s Unpacking libatomic1:arm64 (14-20240303-1ubuntu1) ... 131s Selecting previously unselected package libasan8:arm64. 131s Preparing to unpack .../17-libasan8_14-20240303-1ubuntu1_arm64.deb ... 131s Unpacking libasan8:arm64 (14-20240303-1ubuntu1) ... 132s Selecting previously unselected package liblsan0:arm64. 132s Preparing to unpack .../18-liblsan0_14-20240303-1ubuntu1_arm64.deb ... 132s Unpacking liblsan0:arm64 (14-20240303-1ubuntu1) ... 132s Selecting previously unselected package libtsan2:arm64. 132s Preparing to unpack .../19-libtsan2_14-20240303-1ubuntu1_arm64.deb ... 132s Unpacking libtsan2:arm64 (14-20240303-1ubuntu1) ... 132s Selecting previously unselected package libubsan1:arm64. 132s Preparing to unpack .../20-libubsan1_14-20240303-1ubuntu1_arm64.deb ... 132s Unpacking libubsan1:arm64 (14-20240303-1ubuntu1) ... 132s Selecting previously unselected package libhwasan0:arm64. 132s Preparing to unpack .../21-libhwasan0_14-20240303-1ubuntu1_arm64.deb ... 132s Unpacking libhwasan0:arm64 (14-20240303-1ubuntu1) ... 132s Selecting previously unselected package libgcc-13-dev:arm64. 132s Preparing to unpack .../22-libgcc-13-dev_13.2.0-17ubuntu2_arm64.deb ... 132s Unpacking libgcc-13-dev:arm64 (13.2.0-17ubuntu2) ... 132s Selecting previously unselected package gcc-13-aarch64-linux-gnu. 132s Preparing to unpack .../23-gcc-13-aarch64-linux-gnu_13.2.0-17ubuntu2_arm64.deb ... 132s Unpacking gcc-13-aarch64-linux-gnu (13.2.0-17ubuntu2) ... 132s Selecting previously unselected package gcc-13. 132s Preparing to unpack .../24-gcc-13_13.2.0-17ubuntu2_arm64.deb ... 132s Unpacking gcc-13 (13.2.0-17ubuntu2) ... 132s Selecting previously unselected package gcc-aarch64-linux-gnu. 132s Preparing to unpack .../25-gcc-aarch64-linux-gnu_4%3a13.2.0-7ubuntu1_arm64.deb ... 132s Unpacking gcc-aarch64-linux-gnu (4:13.2.0-7ubuntu1) ... 132s Selecting previously unselected package gcc. 132s Preparing to unpack .../26-gcc_4%3a13.2.0-7ubuntu1_arm64.deb ... 132s Unpacking gcc (4:13.2.0-7ubuntu1) ... 132s Selecting previously unselected package libc-dev-bin. 132s Preparing to unpack .../27-libc-dev-bin_2.39-0ubuntu2_arm64.deb ... 132s Unpacking libc-dev-bin (2.39-0ubuntu2) ... 132s Selecting previously unselected package linux-libc-dev:arm64. 132s Preparing to unpack .../28-linux-libc-dev_6.8.0-11.11_arm64.deb ... 132s Unpacking linux-libc-dev:arm64 (6.8.0-11.11) ... 133s Selecting previously unselected package libcrypt-dev:arm64. 133s Preparing to unpack .../29-libcrypt-dev_1%3a4.4.36-4_arm64.deb ... 133s Unpacking libcrypt-dev:arm64 (1:4.4.36-4) ... 133s Selecting previously unselected package libtirpc-dev:arm64. 133s Preparing to unpack .../30-libtirpc-dev_1.3.4+ds-1build1_arm64.deb ... 133s Unpacking libtirpc-dev:arm64 (1.3.4+ds-1build1) ... 133s Selecting previously unselected package libnsl-dev:arm64. 133s Preparing to unpack .../31-libnsl-dev_1.3.0-3_arm64.deb ... 133s Unpacking libnsl-dev:arm64 (1.3.0-3) ... 133s Selecting previously unselected package rpcsvc-proto. 133s Preparing to unpack .../32-rpcsvc-proto_1.4.2-0ubuntu6_arm64.deb ... 133s Unpacking rpcsvc-proto (1.4.2-0ubuntu6) ... 133s Selecting previously unselected package libc6-dev:arm64. 133s Preparing to unpack .../33-libc6-dev_2.39-0ubuntu2_arm64.deb ... 133s Unpacking libc6-dev:arm64 (2.39-0ubuntu2) ... 133s Selecting previously unselected package libtool. 133s Preparing to unpack .../34-libtool_2.4.7-7_all.deb ... 133s Unpacking libtool (2.4.7-7) ... 133s Selecting previously unselected package dh-autoreconf. 133s Preparing to unpack .../35-dh-autoreconf_20_all.deb ... 133s Unpacking dh-autoreconf (20) ... 133s Selecting previously unselected package libarchive-zip-perl. 133s Preparing to unpack .../36-libarchive-zip-perl_1.68-1_all.deb ... 133s Unpacking libarchive-zip-perl (1.68-1) ... 133s Selecting previously unselected package libsub-override-perl. 133s Preparing to unpack .../37-libsub-override-perl_0.10-1_all.deb ... 133s Unpacking libsub-override-perl (0.10-1) ... 133s Selecting previously unselected package libfile-stripnondeterminism-perl. 133s Preparing to unpack .../38-libfile-stripnondeterminism-perl_1.13.1-1_all.deb ... 133s Unpacking libfile-stripnondeterminism-perl (1.13.1-1) ... 133s Selecting previously unselected package dh-strip-nondeterminism. 133s Preparing to unpack .../39-dh-strip-nondeterminism_1.13.1-1_all.deb ... 133s Unpacking dh-strip-nondeterminism (1.13.1-1) ... 133s Selecting previously unselected package libdw1:arm64. 133s Preparing to unpack .../40-libdw1_0.190-1_arm64.deb ... 133s Unpacking libdw1:arm64 (0.190-1) ... 133s Selecting previously unselected package debugedit. 133s Preparing to unpack .../41-debugedit_1%3a5.0-5_arm64.deb ... 133s Unpacking debugedit (1:5.0-5) ... 133s Selecting previously unselected package dwz. 133s Preparing to unpack .../42-dwz_0.15-1_arm64.deb ... 133s Unpacking dwz (0.15-1) ... 133s Selecting previously unselected package gettext. 133s Preparing to unpack .../43-gettext_0.21-14ubuntu1_arm64.deb ... 133s Unpacking gettext (0.21-14ubuntu1) ... 133s Selecting previously unselected package intltool-debian. 133s Preparing to unpack .../44-intltool-debian_0.35.0+20060710.6_all.deb ... 133s Unpacking intltool-debian (0.35.0+20060710.6) ... 133s Selecting previously unselected package po-debconf. 133s Preparing to unpack .../45-po-debconf_1.0.21+nmu1_all.deb ... 133s Unpacking po-debconf (1.0.21+nmu1) ... 133s Selecting previously unselected package debhelper. 133s Preparing to unpack .../46-debhelper_13.14.1ubuntu1_all.deb ... 133s Unpacking debhelper (13.14.1ubuntu1) ... 133s Selecting previously unselected package libstdc++-13-dev:arm64. 133s Preparing to unpack .../47-libstdc++-13-dev_13.2.0-17ubuntu2_arm64.deb ... 133s Unpacking libstdc++-13-dev:arm64 (13.2.0-17ubuntu2) ... 133s Selecting previously unselected package g++-13-aarch64-linux-gnu. 133s Preparing to unpack .../48-g++-13-aarch64-linux-gnu_13.2.0-17ubuntu2_arm64.deb ... 133s Unpacking g++-13-aarch64-linux-gnu (13.2.0-17ubuntu2) ... 134s Selecting previously unselected package g++-13. 134s Preparing to unpack .../49-g++-13_13.2.0-17ubuntu2_arm64.deb ... 134s Unpacking g++-13 (13.2.0-17ubuntu2) ... 134s Selecting previously unselected package g++-aarch64-linux-gnu. 134s Preparing to unpack .../50-g++-aarch64-linux-gnu_4%3a13.2.0-7ubuntu1_arm64.deb ... 134s Unpacking g++-aarch64-linux-gnu (4:13.2.0-7ubuntu1) ... 134s Selecting previously unselected package g++. 134s Preparing to unpack .../51-g++_4%3a13.2.0-7ubuntu1_arm64.deb ... 134s Unpacking g++ (4:13.2.0-7ubuntu1) ... 134s Selecting previously unselected package build-essential. 134s Preparing to unpack .../52-build-essential_12.10ubuntu1_arm64.deb ... 134s Unpacking build-essential (12.10ubuntu1) ... 134s Selecting previously unselected package dctrl-tools. 134s Preparing to unpack .../53-dctrl-tools_2.24-3build2_arm64.deb ... 134s Unpacking dctrl-tools (2.24-3build2) ... 134s Selecting previously unselected package autodep8. 134s Preparing to unpack .../54-autodep8_0.28_all.deb ... 134s Unpacking autodep8 (0.28) ... 134s Selecting previously unselected package pkg-perl-autopkgtest. 134s Preparing to unpack .../55-pkg-perl-autopkgtest_0.77_all.deb ... 134s Unpacking pkg-perl-autopkgtest (0.77) ... 134s Setting up libdw1:arm64 (0.190-1) ... 134s Setting up libtemplate-alloy-perl (1.022-2) ... 134s Setting up libarchive-zip-perl (1.68-1) ... 134s Setting up libdebhelper-perl (13.14.1ubuntu1) ... 134s Setting up linux-libc-dev:arm64 (6.8.0-11.11) ... 134s Setting up m4 (1.4.19-4) ... 134s Setting up libgomp1:arm64 (14-20240303-1ubuntu1) ... 134s Setting up autotools-dev (20220109.1) ... 134s Setting up libtirpc-dev:arm64 (1.3.4+ds-1build1) ... 134s Setting up rpcsvc-proto (1.4.2-0ubuntu6) ... 134s Setting up libmpc3:arm64 (1.3.1-1) ... 134s Setting up libatomic1:arm64 (14-20240303-1ubuntu1) ... 134s Setting up autopoint (0.21-14ubuntu1) ... 134s Setting up autoconf (2.71-3) ... 134s Setting up libubsan1:arm64 (14-20240303-1ubuntu1) ... 134s Setting up dwz (0.15-1) ... 134s Setting up libnsl-dev:arm64 (1.3.0-3) ... 134s Setting up libhwasan0:arm64 (14-20240303-1ubuntu1) ... 134s Setting up libcrypt-dev:arm64 (1:4.4.36-4) ... 134s Setting up libasan8:arm64 (14-20240303-1ubuntu1) ... 134s Setting up debugedit (1:5.0-5) ... 134s Setting up libsub-override-perl (0.10-1) ... 134s Setting up libtsan2:arm64 (14-20240303-1ubuntu1) ... 134s Setting up libisl23:arm64 (0.26-3) ... 134s Setting up libc-dev-bin (2.39-0ubuntu2) ... 134s Setting up libcc1-0:arm64 (14-20240303-1ubuntu1) ... 134s Setting up liblsan0:arm64 (14-20240303-1ubuntu1) ... 134s Setting up dctrl-tools (2.24-3build2) ... 134s Setting up libitm1:arm64 (14-20240303-1ubuntu1) ... 134s Setting up autodep8 (0.28) ... 134s Setting up automake (1:1.16.5-1.3ubuntu1) ... 134s update-alternatives: using /usr/bin/automake-1.16 to provide /usr/bin/automake (automake) in auto mode 134s Setting up libfile-stripnondeterminism-perl (1.13.1-1) ... 134s Setting up gettext (0.21-14ubuntu1) ... 134s Setting up cpp-13-aarch64-linux-gnu (13.2.0-17ubuntu2) ... 134s Setting up intltool-debian (0.35.0+20060710.6) ... 134s Setting up cpp-aarch64-linux-gnu (4:13.2.0-7ubuntu1) ... 134s Setting up pkg-perl-autopkgtest (0.77) ... 134s Setting up dh-strip-nondeterminism (1.13.1-1) ... 134s Setting up libgcc-13-dev:arm64 (13.2.0-17ubuntu2) ... 134s Setting up libc6-dev:arm64 (2.39-0ubuntu2) ... 134s Setting up libstdc++-13-dev:arm64 (13.2.0-17ubuntu2) ... 134s Setting up cpp-13 (13.2.0-17ubuntu2) ... 134s Setting up po-debconf (1.0.21+nmu1) ... 134s Setting up gcc-13-aarch64-linux-gnu (13.2.0-17ubuntu2) ... 134s Setting up gcc-13 (13.2.0-17ubuntu2) ... 134s Setting up cpp (4:13.2.0-7ubuntu1) ... 134s Setting up g++-13-aarch64-linux-gnu (13.2.0-17ubuntu2) ... 134s Setting up gcc-aarch64-linux-gnu (4:13.2.0-7ubuntu1) ... 134s Setting up g++-13 (13.2.0-17ubuntu2) ... 134s Setting up libtool (2.4.7-7) ... 134s Setting up gcc (4:13.2.0-7ubuntu1) ... 134s Setting up dh-autoreconf (20) ... 134s Setting up g++-aarch64-linux-gnu (4:13.2.0-7ubuntu1) ... 134s Setting up debhelper (13.14.1ubuntu1) ... 134s Setting up g++ (4:13.2.0-7ubuntu1) ... 134s update-alternatives: using /usr/bin/g++ to provide /usr/bin/c++ (c++) in auto mode 134s Setting up build-essential (12.10ubuntu1) ... 134s Setting up autopkgtest-satdep (0) ... 134s Processing triggers for man-db (2.12.0-3) ... 135s Processing triggers for install-info (7.1-3) ... 136s Processing triggers for libc-bin (2.39-0ubuntu2) ... 138s (Reading database ... 78367 files and directories currently installed.) 138s Removing autopkgtest-satdep (0) ... 139s autopkgtest [22:29:57]: test autodep8-perl-build-deps: /usr/share/pkg-perl-autopkgtest/runner build-deps 139s autopkgtest [22:29:57]: test autodep8-perl-build-deps: [----------------------- 140s t/00_use.t .............. 140s 1..43 140s ok 1 - use Template::Alloy; 140s ok 2 - Parse role isn't loaded yet 140s ok 3 - But it can parse anyway 140s ok 4 - Parse role is now loaded 140s ok 5 - Can't import invalid method 140s ok 6 - Play role isn't loaded yet 140s ok 7 - It can be imported () 140s ok 8 - Play role is now loaded 140s ok 9 - Compile role isn't loaded yet 140s ok 10 - It can be imported () 140s ok 11 - Compile role is now loaded 140s ok 12 - It can be imported twice () 140s ok 13 - Velocity role isn't loaded yet 140s ok 14 - It can be imported () 140s ok 15 - Velocity role is now loaded 140s ok 16 - Tmpl role isn't loaded yet 140s ok 17 - It can be imported () 140s ok 18 - Tmpl role is now loaded 140s ok 19 - Text::Tmpl isn't loaded 140s ok 20 - It can be imported () 140s ok 21 - Text::Tmpl is now loaded 140s ok 22 - Text::Tmpl is a Template::Alloy 140s ok 23 - It can be imported twice 140s ok 24 - HTML::Template isn't loaded 140s ok 25 - It can't be imported because another non-Alloy package already is using it 140s ok 26 - HTML::Template is not a Template::Alloy 140s ok 27 - HTML::Template::Expr isn't loaded 140s ok 28 - It can be imported () 140s ok 29 - HTML::Template::Expr is now loaded 140s ok 30 - HTML::Template::Expr is a Template::Alloy 140s ok 31 - It can be imported twice 140s ok 32 - TT role isn't loaded yet 140s ok 33 - It can be imported via all () 140s ok 34 - TT role is now loaded 140s ok 35 - It can be imported twice () 140s ok 36 - Template isn't loaded 140s ok 37 - It can be imported () 140s ok 38 - Template is now loaded 140s ok 39 - Template is a Template::Alloy 140s ok 40 - It can be imported twice 140s ok 41 - Got an error on invalid methods (Can't locate object method "flabbergast" via package at t/00_use.t line 82. 140s # ) 140s ok 42 - Got an error on invalid methods (autoload error - Invalid method Template::Alloy::) 140s ok 43 - Got an error on invalid methods (autoload error - Invalid method Template::Alloy::foo&bar) 140s ok 140s t/01_coverage.t ......... 140s 1..31 140s ok 1 - use Template::Alloy; 140s ok 2 - Initialize with hashref and get hashref based object 140s ok 3 - Initialize with hash and get hashref based object 140s ok 4 - Got an error for process_simple 140s ok 5 - Got an error for process_simple 140s ok 6 - Got an error for process_simple 140s ok 7 - Ran process_simple without error 140s ok 8 - Ran process_simple and threw error 140s ok 9 - And got error 140s ok 10 - Got right output 140s ok 11 - Ran process_simple and stopped 140s ok 12 - And got no error 140s ok 13 - Got right output 140s ok 14 - Ran _process 140s ok 15 - And got error 140s ok 16 - Got right output 140s ok 17 - Ran _process and got error 140s ok 18 - Ran _process 140s ok 19 - And got error 140s ok 20 - Got right output 140s ok 21 - Ran _process (file error - foobar: not found) 140s ok 22 - Ran _process (process error - No _perl and no _tree found) 140s ok 23 - Ran _process 140s ok 24 - Can't load_template without a file 140s ok 25 - load_template assumes we know what we are doing if we pass a hash 140s ok 26 - Can load a string block 140s ok 27 - Can load a code block 140s ok 28 - Can load a previously loaded template 140s ok 29 - Can't load a poorly formed block 140s ok 30 - Can't load a string block with parse errors 140s ok 31 - Can't load a ref block 140s ok 140s t/02_cache.t ............ 140s 1..205 140s ok 1 - use Template::Alloy; 140s ok 2 - Got a test dir up and running 140s ok 3 - Got a test dir up and running 140s ok 4 - Line 137: Found bar.tt in t/02_cache.t.test_dir 140s ok 5 - Line 138: Didn't find bar.tt in t/02_cache.t.test_dir2 140s ok 6 - Line 139: Didn't find bar.tt.sto in t/02_cache.t.test_dir 140s ok 7 - Line 140: Didn't find t/02_cache.t.test_dir/bar.tt.sto in t/02_cache.t.test_dir2 140s ok 8 - Line 141: Didn't find bar.tt.pl in t/02_cache.t.test_dir 140s ok 9 - Line 142: Didn't find t/02_cache.t.test_dir/bar.tt.pl in t/02_cache.t.test_dir2 140s ok 10 - Not in GLOBAL_CACHE 140s ### COMPILE_PERL => 0 ################################################ 140s ok 11 - Line 152 "bar.tt" => "BlueBAR" 140s ok 12 - Line 154: Found bar.tt in t/02_cache.t.test_dir 140s ok 13 - Line 155: Didn't find bar.tt in t/02_cache.t.test_dir2 140s ok 14 - Line 156: Didn't find bar.tt.sto in t/02_cache.t.test_dir 140s ok 15 - Line 157: Didn't find t/02_cache.t.test_dir/bar.tt.sto in t/02_cache.t.test_dir2 140s ok 16 - Line 158: Didn't find bar.tt.pl in t/02_cache.t.test_dir 140s ok 17 - Line 159: Didn't find t/02_cache.t.test_dir/bar.tt.pl in t/02_cache.t.test_dir2 140s ok 18 - Not in GLOBAL_CACHE 140s ok 19 - Line 167 "bar.tt" => "BlueBAR" 140s ok 20 - Line 169: Found bar.tt in t/02_cache.t.test_dir 140s ok 21 - Line 170: Didn't find bar.tt in t/02_cache.t.test_dir2 140s ok 22 - Line 171: Didn't find bar.tt.sto in t/02_cache.t.test_dir 140s ok 23 - Line 172: Didn't find t/02_cache.t.test_dir/bar.tt.sto in t/02_cache.t.test_dir2 140s ok 24 - Line 173: Didn't find bar.tt.pl in t/02_cache.t.test_dir 140s ok 25 - Line 174: Didn't find t/02_cache.t.test_dir/bar.tt.pl in t/02_cache.t.test_dir2 140s ok 26 - Is in GLOBAL_CACHE 140s ok 27 - Line 183 "bar.tt" => "BlueBAR" 140s ok 28 - Is in CACHE 140s ok 29 - Line 190 "bar.tt" => "BlueBAR" 140s ok 30 - Line 192: Found bar.tt in t/02_cache.t.test_dir 140s ok 31 - Line 193: Didn't find bar.tt in t/02_cache.t.test_dir2 140s ok 32 - Line 194: Found bar.tt.ttc.sto in t/02_cache.t.test_dir 140s ok 33 - Line 195: Didn't find t/02_cache.t.test_dir/bar.tt.ttc.sto in t/02_cache.t.test_dir2 140s ok 34 - Line 196: Didn't find bar.tt.ttc.pl in t/02_cache.t.test_dir 140s ok 35 - Line 197: Didn't find t/02_cache.t.test_dir/bar.tt.ttc.pl in t/02_cache.t.test_dir2 140s ok 36 - Line 204 "bar.tt" => "BlueBAR" 140s ok 37 - Line 206: Found bar.tt in t/02_cache.t.test_dir 140s ok 38 - Line 207: Didn't find bar.tt in t/02_cache.t.test_dir2 140s ok 39 - Line 208: Didn't find bar.tt.sto in t/02_cache.t.test_dir 140s ok 40 - Line 209: Found t/02_cache.t.test_dir/bar.tt.sto in t/02_cache.t.test_dir2 140s ok 41 - Line 210: Didn't find bar.tt.pl in t/02_cache.t.test_dir 140s ok 42 - Line 211: Didn't find t/02_cache.t.test_dir/bar.tt.pl in t/02_cache.t.test_dir2 140s ok 43 - Line 218 "bar.tt" => "BlueBAR" 140s ok 44 - Line 220: Found bar.tt in t/02_cache.t.test_dir 140s ok 45 - Line 221: Didn't find bar.tt in t/02_cache.t.test_dir2 140s ok 46 - Line 222: Didn't find bar.tt.ttc.sto in t/02_cache.t.test_dir 140s ok 47 - Line 223: Found t/02_cache.t.test_dir/bar.tt.ttc.sto in t/02_cache.t.test_dir2 140s ok 48 - Line 224: Didn't find bar.tt.ttc.pl in t/02_cache.t.test_dir 140s ok 49 - Line 225: Didn't find t/02_cache.t.test_dir/bar.tt.ttc.pl in t/02_cache.t.test_dir2 140s ok 50 - Is in GLOBAL_CACHE 140s ok 51 - Line 233 "bar.tt" => "BlueBAR" 140s ok 52 - Line 235: Found bar.tt in t/02_cache.t.test_dir 140s ok 53 - Line 236: Didn't find bar.tt in t/02_cache.t.test_dir2 140s ok 54 - Line 237: Didn't find bar.tt.ttc.sto in t/02_cache.t.test_dir 140s ok 55 - Line 238: Found t/02_cache.t.test_dir/bar.tt.ttc.sto in t/02_cache.t.test_dir2 140s ok 56 - Line 239: Didn't find bar.tt.ttc.pl in t/02_cache.t.test_dir 140s ok 57 - Line 240: Didn't find t/02_cache.t.test_dir/bar.tt.ttc.pl in t/02_cache.t.test_dir2 140s ok 58 - Is in GLOBAL_CACHE 140s ok 59 - Doesn't Have perl 140s ok 60 - Line 256 "bar.tt" => "füBAR ¥" 140s ok 61 - Line 258: Found bar.tt in t/02_cache.t.test_dir 140s ok 62 - Line 259: Didn't find bar.tt in t/02_cache.t.test_dir2 140s ok 63 - Line 260: Found bar.tt.ttc.sto in t/02_cache.t.test_dir 140s ok 64 - Line 261: Didn't find bar.tt.ttc.pl in t/02_cache.t.test_dir 140s ok 65 - Line 264 "bar.tt" => "füBAR ¥" 140s ok 66 - lives ok 140s ### COMPILE_PERL => 1 ################################################ 140s ok 67 - Line 279 "bar.tt" => "BlueBAR" 140s ok 68 - Line 281: Found bar.tt in t/02_cache.t.test_dir 140s ok 69 - Line 282: Didn't find bar.tt in t/02_cache.t.test_dir2 140s ok 70 - Line 283: Didn't find bar.tt.sto in t/02_cache.t.test_dir 140s ok 71 - Line 284: Didn't find t/02_cache.t.test_dir/bar.tt.sto in t/02_cache.t.test_dir2 140s ok 72 - Line 285: Didn't find bar.tt.pl in t/02_cache.t.test_dir 140s ok 73 - Line 286: Didn't find t/02_cache.t.test_dir/bar.tt.pl in t/02_cache.t.test_dir2 140s ok 74 - Not in GLOBAL_CACHE 140s ok 75 - Line 294 "bar.tt" => "BlueBAR" 140s ok 76 - Line 296: Found bar.tt in t/02_cache.t.test_dir 140s ok 77 - Line 297: Didn't find bar.tt in t/02_cache.t.test_dir2 140s ok 78 - Line 298: Didn't find bar.tt.sto in t/02_cache.t.test_dir 140s ok 79 - Line 299: Didn't find t/02_cache.t.test_dir/bar.tt.sto in t/02_cache.t.test_dir2 140s ok 80 - Line 300: Didn't find bar.tt.pl in t/02_cache.t.test_dir 140s ok 81 - Line 301: Didn't find t/02_cache.t.test_dir/bar.tt.pl in t/02_cache.t.test_dir2 140s ok 82 - Is in GLOBAL_CACHE 140s ok 83 - Line 309 "bar.tt" => "BlueBAR" 140s ok 84 - Line 311: Found bar.tt in t/02_cache.t.test_dir 140s ok 85 - Line 312: Didn't find bar.tt in t/02_cache.t.test_dir2 140s ok 86 - Line 313: Found bar.tt.ttc.sto in t/02_cache.t.test_dir 140s ok 87 - Line 314: Didn't find t/02_cache.t.test_dir/bar.tt.ttc.sto in t/02_cache.t.test_dir2 140s ok 88 - Line 315: Found bar.tt.ttc.pl in t/02_cache.t.test_dir 140s ok 89 - Line 316: Didn't find t/02_cache.t.test_dir/bar.tt.ttc.pl in t/02_cache.t.test_dir2 140s ok 90 - Line 323 "bar.tt" => "BlueBAR" 140s ok 91 - Line 325: Found bar.tt in t/02_cache.t.test_dir 140s ok 92 - Line 326: Didn't find bar.tt in t/02_cache.t.test_dir2 140s ok 93 - Line 327: Didn't find bar.tt.sto in t/02_cache.t.test_dir 140s ok 94 - Line 328: Found t/02_cache.t.test_dir/bar.tt.sto in t/02_cache.t.test_dir2 140s ok 95 - Line 329: Didn't find bar.tt.pl in t/02_cache.t.test_dir 140s ok 96 - Line 330: Found t/02_cache.t.test_dir/bar.tt.pl in t/02_cache.t.test_dir2 140s ok 97 - Line 337 "bar.tt" => "BlueBAR" 140s ok 98 - Line 339: Found bar.tt in t/02_cache.t.test_dir 140s ok 99 - Line 340: Didn't find bar.tt in t/02_cache.t.test_dir2 140s ok 100 - Line 341: Didn't find bar.tt.ttc.sto in t/02_cache.t.test_dir 140s ok 101 - Line 342: Found t/02_cache.t.test_dir/bar.tt.ttc.sto in t/02_cache.t.test_dir2 140s ok 102 - Line 343: Didn't find bar.tt.ttc.pl in t/02_cache.t.test_dir 140s ok 103 - Line 344: Found t/02_cache.t.test_dir/bar.tt.ttc.pl in t/02_cache.t.test_dir2 140s ok 104 - Is in GLOBAL_CACHE 140s ok 105 - Line 352 "bar.tt" => "BlueBAR" 140s ok 106 - Line 354: Found bar.tt in t/02_cache.t.test_dir 140s ok 107 - Line 355: Didn't find bar.tt in t/02_cache.t.test_dir2 140s ok 108 - Line 356: Didn't find bar.tt.ttc.sto in t/02_cache.t.test_dir 140s ok 109 - Line 357: Found t/02_cache.t.test_dir/bar.tt.ttc.sto in t/02_cache.t.test_dir2 140s ok 110 - Line 358: Didn't find bar.tt.ttc.pl in t/02_cache.t.test_dir 140s ok 111 - Line 359: Found t/02_cache.t.test_dir/bar.tt.ttc.pl in t/02_cache.t.test_dir2 140s ok 112 - Is in GLOBAL_CACHE 140s ok 113 - Has perl 140s ok 114 - Line 375 "bar.tt" => "füBAR ¥" 140s ok 115 - Line 377: Found bar.tt in t/02_cache.t.test_dir 140s ok 116 - Line 378: Didn't find bar.tt in t/02_cache.t.test_dir2 140s ok 117 - Line 379: Found bar.tt.ttc.sto in t/02_cache.t.test_dir 140s ok 118 - Line 380: Found bar.tt.ttc.pl in t/02_cache.t.test_dir 140s ok 119 - Line 383 "bar.tt" => "füBAR ¥" 140s ### COMPILE_PERL => 2 ################################################ 140s ok 120 - Line 391 "bar.tt" => "BlueBAR" 140s ok 121 - Line 393: Found bar.tt in t/02_cache.t.test_dir 140s ok 122 - Line 394: Didn't find bar.tt in t/02_cache.t.test_dir2 140s ok 123 - Line 395: Found bar.tt.ttc.sto in t/02_cache.t.test_dir 140s ok 124 - Line 396: Didn't find bar.tt.ttc.pl in t/02_cache.t.test_dir 140s ok 125 - Is in GLOBAL_CACHE 140s ok 126 - Doesn't Have perl 140s ok 127 - Line 401 "bar.tt" => "BlueBAR" 140s ok 128 - Line 403: Found bar.tt in t/02_cache.t.test_dir 140s ok 129 - Line 404: Didn't find bar.tt in t/02_cache.t.test_dir2 140s ok 130 - Line 405: Found bar.tt.ttc.sto in t/02_cache.t.test_dir 140s ok 131 - Line 406: Found bar.tt.ttc.pl in t/02_cache.t.test_dir 140s ok 132 - Is in GLOBAL_CACHE 140s ok 133 - Has perl 140s ### STRING_REF ####################################################### 140s ok 134 - Line 419 "[% blue %]BAR" => "BlueBAR" 140s ok 135 - Line 421: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758 in t/02_cache.t.test_dir 140s ok 136 - Line 422: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758 in t/02_cache.t.test_dir2 140s ok 137 - Line 423: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758.sto in t/02_cache.t.test_dir 140s ok 138 - Line 424: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758.pl in t/02_cache.t.test_dir 140s ok 139 - Not in GLOBAL_CACHE 140s ok 140 - Line 432 "[% blue %]BAR" => "BlueBAR" 140s ok 141 - Line 434: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758 in t/02_cache.t.test_dir 140s ok 142 - Line 435: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758 in t/02_cache.t.test_dir2 140s ok 143 - Line 436: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758.sto in t/02_cache.t.test_dir 140s ok 144 - Line 437: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758.pl in t/02_cache.t.test_dir 140s ok 145 - Is in GLOBAL_CACHE 140s ok 146 - Doesn't Have perl 140s ok 147 - Line 446 "[% blue %]BAR" => "BlueBAR" 140s ok 148 - Line 448: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758 in t/02_cache.t.test_dir 140s ok 149 - Line 449: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758 in t/02_cache.t.test_dir2 140s ok 150 - Line 450: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758.sto in t/02_cache.t.test_dir 140s ok 151 - Line 451: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758.pl in t/02_cache.t.test_dir 140s ok 152 - Not in GLOBAL_CACHE 140s ok 153 - Line 459 "[% blue %]BAR" => "BlueBAR" 140s ok 154 - Line 461: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758 in t/02_cache.t.test_dir 140s ok 155 - Line 462: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758 in t/02_cache.t.test_dir2 140s ok 156 - Line 463: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758.sto in t/02_cache.t.test_dir 140s ok 157 - Line 464: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758.pl in t/02_cache.t.test_dir 140s ok 158 - Not in GLOBAL_CACHE 140s ok 159 - Line 472 "[% blue %]BAR" => "BlueBAR" 140s ok 160 - Line 474: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758 in t/02_cache.t.test_dir 140s ok 161 - Line 475: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758 in t/02_cache.t.test_dir2 140s ok 162 - Line 476: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758.sto in t/02_cache.t.test_dir 140s ok 163 - Line 477: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758.pl in t/02_cache.t.test_dir 140s ok 164 - Not in GLOBAL_CACHE 140s ok 165 - Line 485 "[% blue %]BAR" => "BlueBAR" 140s ok 166 - Line 487: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758 in t/02_cache.t.test_dir 140s ok 167 - Line 488: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758 in t/02_cache.t.test_dir2 140s ok 168 - Line 489: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758.sto in t/02_cache.t.test_dir 140s ok 169 - Line 490: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758.pl in t/02_cache.t.test_dir 140s ok 170 - Is in GLOBAL_CACHE 140s ok 171 - Has perl 140s ok 172 - Line 499 "[% blue %]BAR" => "BlueBAR" 140s ok 173 - Line 501: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758 in t/02_cache.t.test_dir 140s ok 174 - Line 502: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758 in t/02_cache.t.test_dir2 140s ok 175 - Line 503: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758.sto in t/02_cache.t.test_dir 140s ok 176 - Line 504: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758.pl in t/02_cache.t.test_dir 140s ok 177 - Is in GLOBAL_CACHE 140s ok 178 - Doesn't Have perl 140s ok 179 - Line 509 "[% blue %]BAR" => "BlueBAR" 140s ok 180 - Line 511: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758 in t/02_cache.t.test_dir 140s ok 181 - Line 512: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758 in t/02_cache.t.test_dir2 140s ok 182 - Line 513: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758.sto in t/02_cache.t.test_dir 140s ok 183 - Line 514: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758.pl in t/02_cache.t.test_dir 140s ok 184 - Is in GLOBAL_CACHE 140s ok 185 - Now has perl 140s ok 186 - Line 523 "[% blue %]BAR" => "BlueBAR" 140s ok 187 - Line 525: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758 in t/02_cache.t.test_dir 140s ok 188 - Line 526: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758 in t/02_cache.t.test_dir2 140s ok 189 - Line 527: Found Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758.sto in t/02_cache.t.test_dir2 140s ok 190 - Line 528: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758.pl in t/02_cache.t.test_dir2 140s ok 191 - Line 535 "[% blue %]BAR" => "BlueBAR" 140s ok 192 - Line 537: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758 in t/02_cache.t.test_dir 140s ok 193 - Line 538: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758 in t/02_cache.t.test_dir2 140s ok 194 - Line 539: Found Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758.ttc.sto in t/02_cache.t.test_dir 140s ok 195 - Line 540: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758.ttc.pl in t/02_cache.t.test_dir 140s ok 196 - Line 547 "[% blue %]BAR" => "BlueBAR" 140s ok 197 - Line 549: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758 in t/02_cache.t.test_dir 140s ok 198 - Line 550: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758 in t/02_cache.t.test_dir2 140s ok 199 - Line 551: Found Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758.sto in t/02_cache.t.test_dir2 140s ok 200 - Line 552: Found Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758.pl in t/02_cache.t.test_dir2 140s ok 201 - Line 559 "[% blue %]BAR" => "BlueBAR" 140s ok 202 - Line 561: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758 in t/02_cache.t.test_dir 140s ok 203 - Line 562: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758 in t/02_cache.t.test_dir2 140s ok 204 - Line 563: Found Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758.ttc.sto in t/02_cache.t.test_dir 140s ok 205 - Line 564: Found Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758.ttc.pl in t/02_cache.t.test_dir 140s ### DONE ############################################################# 140s ok 142s t/05_tt_base.t .......... 142s 1..3257 142s ok 1 - use Template::Alloy; 142s ok 2 - Got a test dir up and running 142s ### GET ############################################# engine_option (normal) 142s ok 3 - Line 159 "[% foo %]" => "" 142s ok 4 - Line 160 "[% foo %]" => "7" 142s ok 5 - Line 161 "[% foo %]" => "7" 142s ok 6 - Line 162 "[% foo %]" => "7" 142s ok 7 - Line 163 "[% foo %]" => "Stash" 142s ok 8 - Line 164 "[% foo %]" => "V" 142s ok 9 - Line 165 "[% bar %]" => "" 142s ok 10 - Line 166 "[% foo %]" => "Stash" 142s ok 11 - Line 167 "[% bar %]" => "" 142s ok 12 - Line 168 "[% foo %]" => "Stash" 142s ok 13 - Line 169 "[% foo %]" => "Stash" 142s ok 14 - Line 170 "[% foo %][% foo %][% foo %]" => "777" 142s ok 15 - Line 171 "[% foo() %]" => "7" 142s ok 16 - Line 172 "[% foo.bar %]" => "" 142s ok 17 - Line 173 "[% foo.bar %]" => "" 142s ok 18 - Line 174 "[% foo.bar %]" => "7" 142s ok 19 - Line 175 "[% foo().bar %]" => "7" 142s ok 20 - Line 176 "[% foo.0 %]" => "7" 142s ok 21 - Line 177 "[% foo.10 %]" => "" 142s ok 22 - Line 178 "[% foo %]" => "7" 142s ok 23 - Line 179 "[% foo(7) %]" => "7" 142s ok 24 - Line 180 "[% foo.length %]" => "1" 142s ok 25 - Line 181 "[% foo.0 %]" => "7" 142s ok 26 - Line 182 "[% foo(bar) %]" => "7" 142s ok 27 - Line 183 "[% foo(bar.baz) %]" => "7" 142s ok 28 - Line 184 "[% foo.seven %]" => "7" 142s ok 29 - Line 185 "[% foo.seven() %]" => "7" 142s ok 30 - Line 186 "[% foo.seven.length %]" => "1" 142s ok 31 - Line 187 "[% foo.echo(7) %]" => "7" 142s ok 32 - Line 188 "[% foo.many.0 %]" => "1" 142s ok 33 - Line 189 "[% foo.many.10 %]" => "" 142s ok 34 - Line 190 "[% foo.nomethod %]" => "" 142s ok 35 - Line 191 "[% foo.nomethod.0 %]" => "" 142s ok 36 - Line 193 "[% GET foo %]" => "" 142s ok 37 - Line 194 "[% GET foo %]" => "7" 142s ok 38 - Line 195 "[% GET foo.bar %]" => "" 142s ok 39 - Line 196 "[% GET foo.bar %]" => "" 142s ok 40 - Line 197 "[% GET foo.bar %]" => "7" 142s ok 41 - Line 198 "[% GET foo.0 %]" => "7" 142s ok 42 - Line 199 "[% GET foo %]" => "7" 142s ok 43 - Line 200 "[% GET foo(7) %]" => "7" 142s ok 44 - Line 202 "[% $name %]" => "" 142s ok 45 - Line 203 "[% $name %]" => "7" 142s ok 46 - Line 204 "[% $name.bar %]" => "" 142s ok 47 - Line 205 "[% $name.bar %]" => "" 142s ok 48 - Line 206 "[% $name.bar %]" => "7" 142s ok 49 - Line 207 "[% $name().bar %]" => "7" 142s ok 50 - Line 208 "[% $name.0 %]" => "7" 142s ok 51 - Line 209 "[% $name %]" => "7" 142s ok 52 - Line 210 "[% $name(7) %]" => "7" 142s ok 53 - Line 212 "[% GET $name %]" => "" 142s ok 54 - Line 213 "[% GET $name %]" => "7" 142s ok 55 - Line 214 "[% GET $name.bar %]" => "" 142s ok 56 - Line 215 "[% GET $name.bar %]" => "" 142s ok 57 - Line 216 "[% GET $name.bar %]" => "7" 142s ok 58 - Line 217 "[% GET $name.0 %]" => "7" 142s ok 59 - Line 218 "[% GET $name %]" => "7" 142s ok 60 - Line 219 "[% GET $name(7) %]" => "7" 142s ok 61 - Line 221 "[% $name %]" => "" 142s ok 62 - Line 222 "[% GET $name %]" => "" 142s ok 63 - Line 224 "[% ${name} %]" => "" 142s ok 64 - Line 225 "[% ${name} %]" => "7" 142s ok 65 - Line 226 "[% ${name}.bar %]" => "" 142s ok 66 - Line 227 "[% ${name}.bar %]" => "" 142s ok 67 - Line 228 "[% ${name}.bar %]" => "7" 142s ok 68 - Line 229 "[% ${name}().bar %]" => "7" 142s ok 69 - Line 230 "[% ${name}.0 %]" => "7" 142s ok 70 - Line 231 "[% ${name} %]" => "7" 142s ok 71 - Line 232 "[% ${name}(7) %]" => "7" 142s ok 72 - Line 234 "[% GET ${name} %]" => "" 142s ok 73 - Line 235 "[% GET ${name} %]" => "7" 142s ok 74 - Line 236 "[% GET ${name}.bar %]" => "" 142s ok 75 - Line 237 "[% GET ${name}.bar %]" => "" 142s ok 76 - Line 238 "[% GET ${name}.bar %]" => "7" 142s ok 77 - Line 239 "[% GET ${name}.0 %]" => "7" 142s ok 78 - Line 240 "[% GET ${name} %]" => "7" 142s ok 79 - Line 241 "[% GET ${name}(7) %]" => "7" 142s ok 80 - Line 243 "[% ${name} %]" => "" 142s ok 81 - Line 244 "[% GET ${name} %]" => "" 142s ok 82 - Line 245 "[% GET ${'foo'} %]" => "bar" 142s ok 83 - Line 247 "[% foo.$name %]" => "" 142s ok 84 - Line 248 "[% foo.$name %]" => "7" 142s ok 85 - Line 249 "[% foo.$name.baz %]" => "" 142s ok 86 - Line 251 "[% "hi" %]" => "hi" 142s ok 87 - Line 252 "[% "hi %]" => "" 142s ok 88 - Line 253 "[% 'hi' %]" => "hi" 142s ok 89 - Line 254 "[% 'hi %]" => "" 142s ok 90 - Line 255 "[% "$foo" %]" => "7" 142s ok 91 - Line 256 "[% "hi $foo" %]" => "hi 7" 142s ok 92 - Line 257 "[% "hi ${foo}" %]" => "hi 7" 142s ok 93 - Line 258 "[% 'hi $foo' %]" => "hi $foo" 142s ok 94 - Line 259 "[% 'hi ${foo}' %]" => "hi ${foo}" 142s ok 95 - Line 260 "[% 7 %]" => "7" 142s ok 96 - Line 261 "[% -7 %]" => "-7" 142s ok 97 - Line 263 "[% "hi ${foo.seven}" %]" => "hi 7" 142s ok 98 - Line 264 "[% "hi ${foo.echo(7)}" %]" => "hi 7" 142s ok 99 - Line 266 "[% _foo %]2" => "2" 142s ok 100 - Line 267 "[% $bar %]2" => "2" 142s ok 101 - Line 268 "[% __foo %]2" => "2" 142s ok 102 - Line 270 "[% qw/Foo Bar Baz/.0 %]" => "Foo" 142s ok 103 - Line 271 "[% [0..10].-1 %]" => "10" 142s ok 104 - Line 272 "[% [0..10].${ 2.3 } %]" => "2" 142s ok 105 - Line 274 "[% (1 + 2)() %]" => "" 142s ok 106 - Line 275 "[% (1 + 2) %]" => "3" 142s ok 107 - Line 276 "[% (a) %]" => "2" 142s ok 108 - Line 277 "[% ('foo') %]" => "foo" 142s ok 109 - Line 278 "[% (a(2)) %]" => "2" 142s ok 110 - Line 281 "[% JS 3 %]" => "3" 142s ok 111 - Line 282 "[% JS 3 %]" => "43" 142s ok 112 - Line 283 "[% JS; 3; END %]" => "" 142s ### SET ############################################# engine_option (normal) 142s ok 113 - Line 288 "[% SET foo bar %][% foo %]" => "" 142s ok 114 - Line 289 "[% SET foo = 1 %][% foo %]" => "1" 142s ok 115 - Line 290 "[% SET foo = 1 bar = 2 %][% foo %][% bar %]" => "12" 142s ok 116 - Line 291 "[% SET foo bar = 1 %][% foo %]" => "" 142s ok 117 - Line 292 "[% SET foo = 1 ; bar = 1 %][% foo %]" => "1" 142s ok 118 - Line 293 "[% SET foo = 1 %][% SET foo %][% foo %]" => "" 142s ok 119 - Line 295 "[% SET foo = [] %][% foo.0 %]" => "" 142s ok 120 - Line 296 "[% SET foo = [1, 2, 3] %][% foo.1 %]" => "2" 142s ok 121 - Line 297 "[% SET foo = {} %][% foo.0 %]" => "" 142s ok 122 - Line 298 "[% SET foo = {1 => 2} %][% foo.1 %]" => "2" 142s ok 123 - Line 299 "[% SET foo = {'1' => 2} %][% foo.1 %]" => "2" 142s ok 124 - Line 301 "[% SET name = 1 %][% SET foo = name %][% foo %]" => "1" 142s ok 125 - Line 302 "[% SET name = 1 %][% SET foo = $name %][% foo %]" => "" 142s ok 126 - Line 303 "[% SET name = 1 %][% SET foo = ${name} %][% foo %]" => "" 142s ok 127 - Line 304 "[% SET name = 1 %][% SET foo = "$name" %][% foo %]" => "1" 142s ok 128 - Line 305 "[% SET name = 1 foo = name %][% foo %]" => "1" 142s ok 129 - Line 306 "[% SET name = 1 %][% SET foo = {$name => 2} %][% foo.1 %]" => "2" 142s ok 130 - Line 307 "[% SET name = 1 %][% SET foo = {"$name" => 2} %][% foo.1 %]" => "2" 142s ok 131 - Line 308 "[% SET name = 1 %][% SET foo = {${name} => 2} %][% foo.1 %]" => "2" 142s ok 132 - Line 310 "[% SET name = 7 %][% SET foo = {'2' => name} %][% foo.2 %]" => "7" 142s ok 133 - Line 311 "[% SET name = 7 %][% SET foo = {'2' => "$name"} %][% foo.2 %]" => "7" 142s ok 134 - Line 313 "[% SET name = 7 %][% SET foo = [1, name, 3] %][% foo.1 %]" => "7" 142s ok 135 - Line 314 "[% SET name = 7 %][% SET foo = [1, "$name", 3] %][% foo.1 %]" => "7" 142s ok 136 - Line 316 "[% SET foo = { bar => { baz => [0, 7, 2] } } %][% foo.bar.baz.1 %]" => "7" 142s ok 137 - Line 318 "[% SET foo.bar = 1 %][% foo.bar %]" => "1" 142s ok 138 - Line 319 "[% SET foo.bar.baz.bing = 1 %][% foo.bar.baz.bing %]" => "1" 142s ok 139 - Line 320 "[% SET foo.bar.2 = 1 %][% foo.bar.2 %] [% foo.bar.size %]" => "1 1" 142s ok 140 - Line 321 "[% SET foo.bar = [] %][% SET foo.bar.2 = 1 %][% foo.bar.2 %] [% foo.bar.size %]" => "1 3" 142s ok 141 - Line 323 "[% SET name = 'two' %][% SET $name = 3 %][% two %]" => "3" 142s ok 142 - Line 324 "[% SET name = 'two' %][% SET ${name} = 3 %][% two %]" => "3" 142s ok 143 - Line 325 "[% SET name = 2 %][% SET foo.$name = 3 %][% foo.2 %]" => "3" 142s ok 144 - Line 326 "[% SET name = 2 %][% SET foo.$name = 3 %][% foo.$name %]" => "3" 142s ok 145 - Line 327 "[% SET name = 2 %][% SET foo.${name} = 3 %][% foo.2 %]" => "3" 142s ok 146 - Line 328 "[% SET name = 2 %][% SET foo.${name} = 3 %][% foo.2 %]" => "3" 142s ok 147 - Line 329 "[% SET name = 'two' %][% SET $name.foo = 3 %][% two.foo %]" => "3" 142s ok 148 - Line 330 "[% SET name = 'two' %][% SET ${name}.foo = 3 %][% two.foo %]" => "3" 142s ok 149 - Line 331 "[% SET name = 'two' %][% SET foo.$name.foo = 3 %][% foo.two.foo %]" => "3" 142s ok 150 - Line 332 "[% SET name = 'two' %][% SET foo.${name}.foo = 3 %][% foo.two.foo %]" => "3" 142s ok 151 - Line 334 "[% SET foo = [1..10] %][% foo.6 %]" => "7" 142s ok 152 - Line 335 "[% SET foo = [10..1] %][% foo.6 %]" => "" 142s ok 153 - Line 336 "[% SET foo = [-10..-1] %][% foo.6 %]" => "-4" 142s ok 154 - Line 337 "[% SET foo = [1..10, 21..30] %][% foo.12 %]" => "23" 142s ok 155 - Line 338 "[% SET foo = [..100] bar = 7 %][% bar %][% foo.0 %]" => "" 142s ok 156 - Line 339 "[% SET foo = [100..] bar = 7 %][% bar %][% foo.0 %]" => "" 142s ok 157 - Line 340 "[% SET foo = ['a'..'z'] %][% foo.6 %]" => "g" 142s ok 158 - Line 341 "[% SET foo = ['z'..'a'] %][% foo.6 %]" => "" 142s ok 159 - Line 342 "[% SET foo = ['a'..'z'].reverse %][% foo.6 %]" => "t" 142s ok 160 - Line 344 "[% foo = 1 %][% foo %]" => "1" 142s ok 161 - Line 345 "[% foo = 1 ; bar = 2 %][% foo %][% bar %]" => "12" 142s ok 162 - Line 346 "[% foo.bar = 2 %][% foo.bar %]" => "2" 142s ok 163 - Line 348 "[% a = "a" %]|[% (b = a) %]|[% a %]|[% b %]" => "|a|a|a" 142s ok 164 - Line 349 "[% a = "a" %][% (c = (b = a)) %][% a %][% b %][% c %]" => "aaaa" 142s ok 165 - Line 351 "[% a = qw{Foo Bar Baz} ; a.2 %]" => "Baz" 142s ok 166 - Line 353 "[% _foo = 1 %][% _foo %]2" => "2" 142s ok 167 - Line 354 "[% foo._bar %]2" => "2" 142s ### multiple statements in same tag ################# engine_option (normal) 142s ok 168 - Line 359 "[% foo; %]" => "1" 142s ok 169 - Line 360 "[% GET foo; %]" => "1" 142s ok 170 - Line 361 "[% GET foo; GET foo %]" => "11" 142s ok 171 - Line 362 "[% GET foo GET foo %]" => "11" 142s ok 172 - Line 363 "[% GET foo GET foo %]" => "" 142s ok 173 - Line 365 "[% foo = 1 bar = 2 %][% foo %][% bar %]" => "12" 142s ok 174 - Line 366 "[% foo = 1 bar = 2 %][% foo = 3 bar %][% foo %][% bar %]" => "232" 142s ok 175 - Line 367 "[% a = 1 a = a + 2 a %]" => "3" 142s ok 176 - Line 369 "[% foo = 1 bar = 2 %][% foo %][% bar %]" => "" 142s ok 177 - Line 370 "[% foo = 1 bar = 2 %][% foo = 3 bar %][% foo %][% bar %]" => "" 142s ok 178 - Line 371 "[% a = 1 a = a + 2 a %]" => "" 142s ### CALL / DEFAULT ################################## engine_option (normal) 142s ok 179 - Line 377 "[% DEFAULT foo = 7 %][% foo %]" => "7" 142s ok 180 - Line 378 "[% SET foo = 5 %][% DEFAULT foo = 7 %][% foo %]" => "5" 142s ok 181 - Line 379 "[% DEFAULT foo.bar.baz.bing = 6 %][% foo.bar.baz.bing %]" => "6" 142s ok 182 - Line 382 "[% foo %]" => "hi" 142s ok 183 - Line 383 "[% GET foo %]" => "hi" 142s ok 184 - Line 384 "[% CALL foo %]" => "" 142s ok 185 - CALL method actually called var 142s ### scalar vmethods ################################# engine_option (normal) 142s ok 186 - Line 391 "[% n.0 %]" => "7" 142s ok 187 - Line 392 "[% n.abs %]" => "7" 142s ok 188 - Line 393 "[% n.abs %]" => "7" 142s ok 189 - Line 394 "[% n.atan2.substr(0, 6) %]" => "1.5707" 142s ok 190 - Line 395 "[% (4 * n.atan2(1)).substr(0, 7) %]" => "3.14159" 142s ok 191 - Line 396 "[% n.chunk(3).join %]" => "abc def g" 142s ok 192 - Line 397 "[% n.chunk(-3).join %]" => "a bcd efg" 142s ok 193 - Line 398 "[% n|collapse %]" => "a b" 142s ok 194 - Line 399 "[% n.cos.substr(0,5) %]" => "1" 142s ok 195 - Line 400 "[% n.cos.substr(0,5) %]" => "0.707" 142s ok 196 - Line 401 "[% n.defined %]" => "1" 142s ok 197 - Line 402 "[% n.defined %]" => "" 142s ok 198 - Line 403 "[% n.defined %]" => "1" 142s ok 199 - Line 404 "[% n.dquote %]" => "(\n|\\|\")" 142s ok 200 - Line 405 "[% n.exp.substr(0,5) %]" => "2.718" 142s ok 201 - Line 406 "[% n.exp.log.substr(0,5) %]" => "8" 142s ok 202 - Line 407 "[% n.fmt %]" => "7" 142s ok 203 - Line 408 "[% n.fmt('%02d') %]" => "07" 142s ok 204 - Line 409 "[% n.fmt('%0*d', 3) %]" => "007" 142s ok 205 - Line 410 "[% n.fmt('(%s)') %]" => "(a 142s # b)" 142s ok 206 - Line 411 "[% n|format('%02d') %]" => "07" 142s ok 207 - Line 412 "[% n|format('%0*d', 3) %]" => "007" 142s ok 208 - Line 413 "[% n|format('(%s)') %]" => "(a) 142s # (b)" 142s ok 209 - Line 414 "[% n.hash.items.1 %]" => "b" 142s ok 210 - Line 415 "[% n.hex %]" => "255" 142s ok 211 - Line 416 "[% n|html %]" => "&<>"'" 142s ok 212 - Line 418 "[% n|xml %]" => "&<>"'" 142s ok 213 - Line 419 "[% n|indent %]" => " a 142s # b" 142s ok 214 - Line 420 "[% n|indent(2) %]" => " a 142s # b" 142s ok 215 - Line 421 "[% n|indent('wow ') %]" => "wow a 142s # wow b" 142s ok 216 - Line 422 "[% n.int %]" => "123" 142s ok 217 - Line 423 "[% n.int %]" => "123" 142s ok 218 - Line 424 "[% n.int %]" => "0" 142s ok 219 - Line 425 "[% n.item %]" => "7" 142s ok 220 - Line 426 "[% n.lc %]" => "abc" 142s ok 221 - Line 427 "[% n|lcfirst %]" => "fOO" 142s ok 222 - Line 428 "[% n.length %]" => "3" 142s ok 223 - Line 429 "[% n.list.0 %]" => "abc" 142s ok 224 - Line 430 "[% n.log.substr(0,5) %]" => "4.605" 142s ok 225 - Line 431 "[% n|lower %]" => "abc" 142s ok 226 - Line 432 "[% n.match('foo').join %]" => "" 142s ok 227 - Line 433 "[% n.match('foo').join %]" => "1" 142s ok 228 - Line 434 "[% n.match('foo',1).join %]" => "foo" 142s ok 229 - Line 435 "[% n.match('(foo)').join %]" => "foo" 142s ok 230 - Line 436 "[% n.match('(foo)').join %]" => "foo" 142s ok 231 - Line 437 "[% n.match('(foo)',1).join %]" => "foo foo" 142s ok 232 - Line 438 "[% n.null %]" => "" 142s ok 233 - Line 439 "[% n.oct %]" => "255" 142s ok 234 - Line 440 "[% n.rand %]" => "1.97488826667723" 142s ok 235 - Line 441 "[% n.rand %]" => "0.538553512745665" 142s ok 236 - Line 442 "[% n.remove('bc') %]" => "a" 142s ok 237 - Line 443 "[% n.remove('bc') %]" => "aa" 142s ok 238 - Line 444 "[% n.repeat %]" => "1" 142s ok 239 - Line 445 "[% n.repeat(0) %]" => "" 142s ok 240 - Line 446 "[% n.repeat(1) %]" => "1" 142s ok 241 - Line 447 "[% n.repeat(2) %]" => "11" 142s ok 242 - Line 448 "[% n.repeat(2,'|') %]" => "1|1" 142s ok 243 - Line 449 "[% n.replace('foo', 'bar') %]" => "barbar" 142s ok 244 - Line 450 "[% n.replace('(foo)', 'bar$1') %]" => "barfoobarfoo" 142s ok 245 - Line 451 "[% n.replace('foo', 'bar', 0) %]" => "barfoo" 142s ok 246 - Line 452 "[% n.search('foo') %]" => "" 142s ok 247 - Line 453 "[% n.search('foo') %]" => "1" 142s ok 248 - Line 454 "[% n.sin.substr(0,5) %]" => "0" 142s ok 249 - Line 455 "[% n.sin.substr(0,5) %]" => "1" 142s ok 250 - Line 456 "[% n.size %]" => "1" 142s ok 251 - Line 457 "[% n.split.join('|') %]" => "abc" 142s ok 252 - Line 458 "[% n.split.join('|') %]" => "a|b|c" 142s ok 253 - Line 459 "[% n.split.join('|') %]" => "a|b|c" 142s ok 254 - Line 460 "[% n.split(u,2).join('|') %]" => "a|b c" 142s ok 255 - Line 462 "[% n.split('/').join('|') %]" => "a|b|c" 142s ok 256 - Line 463 "[% n.split('/', 2).join('|') %]" => "a|b/c" 142s ok 257 - Line 464 "[% n.sprintf(7) %]" => "7" 142s ok 258 - Line 465 "[% n.sprintf(3, 7, 12) %]" => "007 12" 142s ok 259 - Line 466 "[% n.sqrt %]" => "3" 142s ok 260 - Line 467 "[% n.squote %]" => "( 142s # |\\|\')" 142s ok 261 - Line 468 "[% n.srand; 12 %]" => "12" 142s ok 262 - Line 474 "[% n|trim %]" => "a b" 142s ok 263 - Line 475 "[% n.uc %]" => "FOO" 142s ok 264 - Line 476 "[% n|ucfirst %]" => "Foo" 142s ok 265 - Line 477 "[% n|upper %]" => "FOO" 142s ok 266 - Line 478 "[% n|uri %]" => "a%20b" 142s ok 267 - Line 480 "[% n.fmt('%c') %]" => "B" 142s ok 268 - Line 481 "[% n.fmt('%3X') %]" => " C" 142s ok 269 - Line 482 "[% n.fmt('%-3X') %]" => "C " 142s ok 270 - Line 483 "[% n.fmt('%03X') %]" => "00C" 142s ok 271 - Line 484 "[% n.fmt('%03X') %]" => "00C" 142s ok 272 - Line 485 "[% n.fmt('%\#03X') %]" => "0XC" 142s ok 273 - Line 486 "[% n.fmt('%\#07X') %]" => "0X0000C" 142s ok 274 - Line 488 "[% n.fmt('%o') %]" => "10" 142s ok 275 - Line 489 "[% n.fmt('%\#o') %]" => "010" 142s ok 276 - Line 490 "[% n.fmt('%\#o') %]" => "0" 142s ok 277 - Line 492 "[% n.fmt('%02d') %]" => "07" 142s ok 278 - Line 493 "[% n.fmt('%04.2d') %]" => " 07" 142s ok 279 - Line 494 "[% n.fmt('%+04.2d') %]" => " +07" 142s ok 280 - Line 495 "[% n.fmt('% 04.2d') %]" => " 07" 142s ok 281 - Line 496 "[% n.fmt('% +04.2d') %]" => " +07" 142s ok 282 - Line 497 "[% n.fmt('%02f') %]" => "7.000000" 142s ok 283 - Line 498 "[% n.fmt('%04.2f') %]" => "7.00" 142s ok 284 - Line 499 "[% n.fmt('%05.2f') %]" => "07.00" 142s ok 285 - Line 500 "[% n.fmt('% 5.2f') %]" => " 7.00" 142s ok 286 - Line 501 "[% n.fmt('%+04.2f') %]" => "+7.00" 142s ok 287 - Line 502 "[% n.fmt('% 04.2f') %]" => " 7.00" 142s ok 288 - Line 503 "[% n.fmt('% +6.2f') %]" => " +7.00" 142s ok 289 - Line 504 "[% n.fmt('%0+6.2f') %]" => "+07.00" 142s ok 290 - Line 505 "[% n.fmt('%.5g') %]" => "12345" 142s ok 291 - Line 506 "[% n.fmt('%.5g') %]" => "1.2346e+06" 142s ### list vmethods ################################### engine_option (normal) 142s ok 292 - Line 511 "[% a.defined %]" => "1" 142s ok 293 - Line 512 "[% a.defined(1) %]" => "1" 142s ok 294 - Line 513 "[% a.defined(3) %]" => "" 142s ok 295 - Line 514 "[% a.first %]" => "2" 142s ok 296 - Line 515 "[% a.first(3).join %]" => "2 3 4" 142s ok 297 - Line 516 "[% a.fmt %]" => "2 3" 142s ok 298 - Line 517 "[% a.fmt('%02d') %]" => "02 03" 142s ok 299 - Line 518 "[% a.fmt('%02d',' ') %]" => "02 03" 142s ok 300 - Line 519 "[% a.fmt('%02d','|') %]" => "02|03" 142s ok 301 - Line 520 "[% a.fmt('%0*d','|', 3) %]" => "002|003" 142s ok 302 - Line 521 "[% a.grep.join %]" => "2 3" 142s ok 303 - Line 522 "[% a.grep(2).join %]" => "2" 142s ok 304 - Line 523 "[% a.grep(->(n){n % 2}).join %]" => "3 5 7" 142s ok 305 - Line 524 "[% a.hash.items.join %]" => "2 3" 142s ok 306 - Line 525 "[% a.hash(5).items.sort.join %]" => "2 3 5 6" 142s ok 307 - Line 526 "[% a.import(5) %]|[% a.join %]" => "|2 3" 142s ok 308 - Line 528 "[% a.import([5]) %]|[% a.join %]" => "|2 3 5" 142s ok 309 - Line 530 "[% a.item %]" => "2" 142s ok 310 - Line 531 "[% a.item(1) %]" => "3" 142s ok 311 - Line 532 "[% a.join %]" => "2 3" 142s ok 312 - Line 533 "[% a.join('|') %]" => "2|3" 142s ok 313 - Line 534 "[% a.last %]" => "10" 142s ok 314 - Line 535 "[% a.last(3).join %]" => "8 9 10" 142s ok 315 - Line 536 "[% a.list.join %]" => "2 3" 142s ok 316 - Line 537 "[% a.map(->(n){ n.repeat(3) }).join %]" => "222 333" 142s ok 317 - Line 538 "[% a.max %]" => "1" 142s ok 318 - Line 539 "[% a.merge(5).join %]" => "2 3" 142s ok 319 - Line 540 "[% a.merge([5]).join %]" => "2 3 5" 142s ok 320 - Line 541 "[% a.merge([5]).null %][% a.join %]" => "2 3" 142s ok 321 - Line 542 "[% a.nsort.join %]" => "1 2 3" 142s ok 322 - Line 543 "[% a.nsort('b').0.b %]" => "7" 142s ok 323 - Line 544 "[% a.pop %][% a.join %]" => "32" 142s ok 324 - Line 545 "[% a.push(3) %][% a.join %]" => "2 3 3" 142s ok 325 - Line 546 "[% a.pick %]" => "2" 142s ok 326 - Line 547 "[% a.pick(5).join('') %]" => "23223" 142s ok 327 - Line 548 "[% a.reverse.join %]" => "3 2" 142s ok 328 - Line 549 "[% a.shift %][% a.join %]" => "23" 142s ok 329 - Line 550 "[% a.size %]" => "2" 142s ok 330 - Line 551 "[% a.slice.join %]" => "2 3 4 5" 142s ok 331 - Line 552 "[% a.slice(2).join %]" => "4 5" 142s ok 332 - Line 553 "[% a.slice(0,2).join %]" => "2 3 4" 142s ok 333 - Line 554 "[% a.sort.join %]" => "1 2 3" 142s ok 334 - Line 555 "[% a.sort('b').0.b %]" => "wee" 142s ok 335 - Line 556 "[% c.sort(->(a,b){ a.k cmp b.k }).map(->{this.k}).join %]" => "a wee wow" 142s ok 336 - Line 557 "[% a.splice.join %]|[% a.join %]" => "2 3 4 5|" 142s ok 337 - Line 558 "[% a.splice(2).join %]|[% a.join %]" => "4 5|2 3" 142s ok 338 - Line 559 "[% a.splice(0,2).join %]|[% a.join %]" => "2 3|4 5" 142s ok 339 - Line 560 "[% a.splice(0,2,'hrm').join %]|[% a.join %]" => "2 3|hrm 4 5" 142s ok 340 - Line 561 "[% a.unique.join %]" => "2 3" 142s ok 341 - Line 562 "[% a.unshift(3) %][% a.join %]" => "3 2 3" 142s ### hash vmethods ################################### engine_option (normal) 142s ok 342 - Line 567 "[% h.defined %]" => "1" 142s ok 343 - Line 568 "[% h.defined('a') %]" => "1" 142s ok 344 - Line 569 "[% h.defined('b') %]" => "" 142s ok 345 - Line 570 "[% h.defined('a') %]" => "" 142s ok 346 - Line 571 "[% h.delete('a') %]|[% h.keys.0 %]" => "|b" 142s ok 347 - Line 572 "[% h.delete('a', 'b').join %]|[% h.keys.0 %]" => "|" 142s ok 348 - Line 573 "[% h.delete('a', 'c').join %]|[% h.keys.0 %]" => "|b" 142s ok 349 - Line 574 "[% h.each.sort.join %]" => "1 2 a b" 142s ok 350 - Line 575 "[% h.exists('a') %]" => "1" 142s ok 351 - Line 576 "[% h.exists('b') %]" => "" 142s ok 352 - Line 577 "[% h.exists('a') %]" => "1" 142s ok 353 - Line 578 "[% h.fmt %]" => "b B 142s # c C" 142s ok 354 - Line 579 "[% h.fmt('%s => %s') %]" => "b => B 142s # c => C" 142s ok 355 - Line 580 "[% h.fmt('%s => %s', '|') %]" => "b => B|c => C" 142s ok 356 - Line 581 "[% h.fmt('%*s=>%s', '|', 3) %]" => " b=>B| c=>C" 142s ok 357 - Line 582 "[% h.fmt('%*s=>%*s', '|', 3, 4) %]" => " b=> B| c=> C" 142s ok 358 - Line 583 "[% h.hash.fmt %]" => "b B 142s # c C" 142s ok 359 - Line 584 "[% h.import('a') %]|[% h.items.sort.join %]" => "|b B c C" 142s ok 360 - Line 585 "[% h.import({'b' => 'boo'}) %]|[% h.items.sort.join %]" => "|b boo c C" 142s ok 361 - Line 586 "[% h.item('a') %]" => "A" 142s ok 362 - Line 587 "[% h.item('_a') %]" => "" 142s ok 363 - Line 588 "[% h.items.sort.join %]" => "1 2 a b" 142s ok 364 - Line 589 "[% h.keys.sort.join %]" => "a b" 142s ok 365 - Line 590 "[% h.list('each').sort.join %]" => "1 2 a b" 142s ok 366 - Line 591 "[% h.list('keys').sort.join %]" => "a b" 142s ok 367 - Line 592 "[% h.list('pairs').0.items.sort.join %]" => "1 a key value" 142s ok 368 - Line 593 "[% h.list('values').sort.join %]" => "1 2" 142s ok 369 - Line 594 "[% h.null %]" => "" 142s ok 370 - Line 595 "[% h.nsort.join %]" => "b a" 142s ok 371 - Line 596 "[% h.pairs.0.items.sort.join %]" => "1 a key value" 142s ok 372 - Line 597 "[% h.size %]" => "2" 142s ok 373 - Line 598 "[% h.sort.join %]" => "b a" 142s ok 374 - Line 599 "[% h.values.sort.join %]" => "1 2" 142s ### vmethods as functions ########################### engine_option (normal) 142s ok 375 - Line 604 "[% sprintf('%d %d', 7, 8) %] d" => "7 8 d" 142s ok 376 - Line 605 "[% sprintf('%d %d', 7, 8) %] d" => "7 8 d" 142s ok 377 - Line 606 "[% sprintf('%d %d', 7, 8) %] d" => " d" 142s ok 378 - Line 607 "[% int(2.234) %]" => "2" 142s ok 379 - Line 609 "[% int(2.234) ; int = 44; int(2.234) ; SET int; int(2.234) %]" => "2442" 142s ### more virtual methods / filters ################## engine_option (normal) 142s ok 380 - Line 614 "[% [0 .. 10].reverse.1 %]" => "9" 142s ok 381 - Line 615 "[% {a => 'A'}.a %]" => "A" 142s ok 382 - Line 616 "[% 'This is a string'.length %]" => "16" 142s ok 383 - Line 617 "[% 123.length %]" => "3" 142s ok 384 - Line 618 "[% 123.2.length %]" => "5" 142s ok 385 - Line 619 "[% -123.2.length %]" => "-5" 142s ok 386 - Line 620 "[% (-123.2).length %]" => "6" 142s ok 387 - Line 621 "[% a = 23; a.0 %]" => "23" 142s ok 388 - Line 622 "[% 1.rand %]" => "0.15075242533052" 142s ok 389 - Line 624 "[% n.size %]" => "SIZE" 142s ok 390 - Line 625 "[% n|size %]" => "2" 142s ok 391 - Line 627 "[% "1" | indent(2) %]" => " 1" 142s ok 392 - Line 629 "[% n FILTER size %]" => "1" 142s ok 393 - Line 631 "[% n FILTER repeat %]" => "1" 142s ok 394 - Line 632 "[% n FILTER repeat(0) %]" => "" 142s ok 395 - Line 633 "[% n FILTER repeat(1) %]" => "1" 142s ok 396 - Line 634 "[% n FILTER repeat(2) %]" => "11" 142s ok 397 - Line 635 "[% n FILTER repeat(2,'|') %]" => "1|1" 142s ok 398 - Line 637 "[% n FILTER echo = repeat(2) %][% n FILTER echo %]" => "1111" 142s ok 399 - Line 638 "[% n FILTER echo = repeat(2) %][% n | echo %]" => "1111" 142s ok 400 - Line 639 "[% n FILTER echo = repeat(2) %][% n|echo.length %]" => "112" 142s ok 401 - Line 640 "[% n FILTER echo = repeat(2) %][% n FILTER $foo %]" => "1111" 142s ok 402 - Line 641 "[% n FILTER echo = repeat(2) %][% n | $foo %]" => "1111" 142s ok 403 - Line 642 "[% n FILTER echo = repeat(2) %][% n|$foo.length %]" => "112" 142s ok 404 - Line 644 "[% "hi" FILTER $foo %]" => "hihi" 142s ok 405 - Line 645 "[% FILTER $foo %]hi[% END %]" => "hihi" 142s ok 406 - Line 646 "[% "hi" FILTER foo %]" => "hihi" 142s ok 407 - Line 647 "[% "hi" FILTER foo %]" => "hihi" 142s ok 408 - Line 648 "[% "hi" FILTER foo(2) %]" => "hihi" 142s ok 409 - Line 650 "[% ["0".."9"].pick %]" => "9" 142s ok 410 - Line 652 "[% ' ' | uri %]" => "%20" 142s ok 411 - Line 654 "[% "one".fmt %]" => "one" 142s ok 412 - Line 655 "[% 2.fmt("%02d") %]" => "02" 142s ok 413 - Line 657 "[% [1..3].fmt %]" => "1 2 3" 142s ok 414 - Line 658 "[% [1..3].fmt("%02d") %]" => "01 02 03" 142s ok 415 - Line 659 "[% [1..3].fmt("%s", ", ") %]" => "1, 2, 3" 142s ok 416 - Line 661 "[% {a => "B", c => "D"}.fmt %]" => "a B 142s # c D" 142s ok 417 - Line 662 "[% {a => "B", c => "D"}.fmt("%s:%s") %]" => "a:B 142s # c:D" 142s ok 418 - Line 663 "[% {a => "B", c => "D"}.fmt("%s:%s", "; ") %]" => "a:B; c:D" 142s ok 419 - Line 665 "[% 1|format("%s") %]" => "1" 142s ok 420 - Line 666 "[% 1|format("%*s", 6) %]" => " 1" 142s ok 421 - Line 667 "[% 1|format("%-*s", 6) %]" => "1 " 142s ok 422 - Line 669 "[% 1.fmt("%-*s", 6) %]" => "1 " 142s ok 423 - Line 670 "[% [1,2].fmt("%-*s", "|", 6) %]" => "1 |2 " 142s ok 424 - Line 671 "[% {1=>2,3=>4}.fmt("%*s:%*s", "|", 3, 3) %]" => " 1: 2| 3: 4" 142s ok 425 - Line 673 "[% foo %]" => "&" 142s ok 426 - Line 674 "[% "&" %]" => "&" 142s ok 427 - Line 675 "[% foo | none %]" => "&" 142s ok 428 - Line 676 "[% foo.bar %]" => "&" 142s ok 429 - Line 677 "[% foo.bar | none %]" => "&" 142s ok 430 - Line 678 "[% GET foo %]" => "&" 142s ok 431 - Line 679 "[% GET "&" %]" => "&" 142s ok 432 - Line 680 "[% GET foo | none %]" => "&" 142s ok 433 - Line 681 "[% Text.length(foo) %]" => "1" 142s ### virtual objects ################################# engine_option (normal) 142s ok 434 - Line 686 "[% a = "foobar" %][% Text.length(a) %]" => "6" 142s ok 435 - Line 687 "[% a = [1 .. 10] %][% List.size(a) %]" => "10" 142s ok 436 - Line 688 "[% a = {a=>"A", b=>"B"} ; Hash.size(a) %]" => "2" 142s ok 437 - Line 690 "[% a = Text.new("This is a string") %][% a.length %]" => "16" 142s ok 438 - Line 691 "[% a = List.new("one", "two", "three") %][% a.size %]" => "3" 142s ok 439 - Line 692 "[% a = Hash.new("one", "ONE") %][% a.one %]" => "ONE" 142s ok 440 - Line 693 "[% a = Hash.new(one = "ONE") %][% a.one %]" => "ONE" 142s ok 441 - Line 694 "[% a = Hash.new(one => "ONE") %][% a.one %]" => "ONE" 142s ok 442 - Line 696 "[% {a => 1, b => 2} | Hash.keys | List.sort | List.join(", ") %]" => "a, b" 142s ### chomping ######################################## engine_option (normal) 142s ok 443 - Line 701 " [% foo %]" => " " 142s ok 444 - Line 702 " [%- foo %]" => "" 142s ok 445 - Line 703 " 142s # [%- foo %]" => "" 142s ok 446 - Line 704 " 142s # [%- foo %]" => "" 142s ok 447 - Line 705 " 142s # 142s # [%- foo %]" => " 142s # " 142s ok 448 - Line 706 " 142s # 142s # [%- foo %]" => " 142s # " 142s ok 449 - Line 707 " 142s # [%- foo %]" => " " 142s ok 450 - Line 708 " 142s # 142s # [%- foo %]" => " 142s # " 142s ok 451 - Line 710 "[% 7 %] " => "7 " 142s ok 452 - Line 711 "[% 7 -%] " => "7 " 142s ok 453 - Line 712 "[% 7 -%] 142s # " => "7" 142s ok 454 - Line 713 "[% 7 -%] 142s # " => "7" 142s ok 455 - Line 714 "[% 7 -%] 142s # " => "7 " 142s ok 456 - Line 715 "[% 7 -%] 142s # 142s # 142s # " => "7 142s # 142s # " 142s ok 457 - Line 716 "[% 7 -%] 142s # " => "7 " 142s ### string operators ################################ engine_option (normal) 142s ok 458 - Line 721 "[% a = "foo"; a _ "bar" %]" => "foobar" 142s ok 459 - Line 722 "[% a = "foo"; a ~ "bar" %]" => "foobar" 142s ok 460 - Line 723 "[% a = "foo"; a ~= "bar"; a %]" => "foobar" 142s ok 461 - Line 724 "[% "b" gt "c" %]<<<" => "<<<" 142s ok 462 - Line 725 "[% "b" gt "a" %]<<<" => "1<<<" 142s ok 463 - Line 726 "[% "b" ge "c" %]<<<" => "<<<" 142s ok 464 - Line 727 "[% "b" ge "b" %]<<<" => "1<<<" 142s ok 465 - Line 728 "[% "b" lt "c" %]<<<" => "1<<<" 142s ok 466 - Line 729 "[% "b" lt "a" %]<<<" => "<<<" 142s ok 467 - Line 730 "[% "b" le "a" %]<<<" => "<<<" 142s ok 468 - Line 731 "[% "b" le "b" %]<<<" => "1<<<" 142s ok 469 - Line 732 "[% "a" cmp "b" %]<<<" => "-1<<<" 142s ok 470 - Line 733 "[% "b" cmp "b" %]<<<" => "0<<<" 142s ok 471 - Line 734 "[% "c" cmp "b" %]<<<" => "1<<<" 142s ### math operators ################################## engine_option (normal) 142s ok 472 - Line 739 "[% 1 + 2 %]" => "3" 142s ok 473 - Line 740 "[% 1 + 2 + 3 %]" => "6" 142s ok 474 - Line 741 "[% (1 + 2) %]" => "3" 142s ok 475 - Line 742 "[% 2 - 1 %]" => "1" 142s ok 476 - Line 743 "[% -1 + 2 %]" => "1" 142s ok 477 - Line 744 "[% -1+2 %]" => "1" 142s ok 478 - Line 745 "[% 2 - 1 %]" => "1" 142s ok 479 - Line 746 "[% 2-1 %]" => "1" 142s ok 480 - Line 747 "[% 2 - -1 %]" => "3" 142s ok 481 - Line 748 "[% 4 * 2 %]" => "8" 142s ok 482 - Line 749 "[% 4 / 2 %]" => "2" 142s ok 483 - Line 750 "[% 10 / 3 %]" => "3.33333333333333" 142s ok 484 - Line 751 "[% 10 div 3 %]" => "3" 142s ok 485 - Line 752 "[% 2 ** 3 %]" => "8" 142s ok 486 - Line 753 "[% 1 + 2 * 3 %]" => "7" 142s ok 487 - Line 754 "[% 3 * 2 + 1 %]" => "7" 142s ok 488 - Line 755 "[% (1 + 2) * 3 %]" => "9" 142s ok 489 - Line 756 "[% 3 * (1 + 2) %]" => "9" 142s ok 490 - Line 757 "[% 1 + 2 ** 3 %]" => "9" 142s ok 491 - Line 758 "[% 2 * 2 ** 3 %]" => "16" 142s ok 492 - Line 759 "[% SET foo = 1 %][% foo + 2 %]" => "3" 142s ok 493 - Line 760 "[% SET foo = 1 %][% (foo + 2) %]" => "3" 142s ok 494 - Line 762 "[% a = 1; (a += 2) %]" => "3" 142s ok 495 - Line 763 "[% a = 1; (a -= 2) %]" => "-1" 142s ok 496 - Line 764 "[% a = 4; (a /= 2) %]" => "2" 142s ok 497 - Line 765 "[% a = 1; (a *= 2) %]" => "2" 142s ok 498 - Line 766 "[% a = 3; (a **= 2) %]" => "9" 142s ok 499 - Line 767 "[% a = 1; (a %= 2) %]" => "1" 142s ok 500 - Line 768 "[% a = 1; (a += 2 + 3) %]" => "6" 142s ok 501 - Line 769 "[% a = 1; b = 2; (a += b += 3) %]|[% a %]|[% b %]" => "6|6|5" 142s ok 502 - Line 770 "[% a = 1; b = 2; (a += (b += 3)) %]|[% a %]|[% b %]" => "6|6|5" 142s ok 503 - Line 772 "[% a += 1 %]-[% a %]-[% a += 1 %]-[% a %]" => "-1--2" 142s ok 504 - Line 773 "[% (a += 1) %]-[% (a += 1) %]" => "1-2" 142s ok 505 - Line 775 "[% a = 2; a -= 3; a %]" => "-1" 142s ok 506 - Line 776 "[% a = 2; a *= 3; a %]" => "6" 142s ok 507 - Line 777 "[% a = 2; a /= .5; a %]" => "4" 142s ok 508 - Line 778 "[% a = 8; a %= 3; a %]" => "2" 142s ok 509 - Line 779 "[% a = 2; a **= 3; a %]" => "8" 142s ok 510 - Line 781 "[% a = 1 %][% ++a %][% a %]" => "22" 142s ok 511 - Line 782 "[% a = 1 %][% a++ %][% a %]" => "12" 142s ok 512 - Line 783 "[% a = 1 %][% --a %][% a %]" => "00" 142s ok 513 - Line 784 "[% a = 1 %][% a-- %][% a %]" => "10" 142s ok 514 - Line 785 "[% a++ FOR [1..3] %]" => "012" 142s ok 515 - Line 786 "[% --a FOR [1..3] %]" => "-1-2-3" 142s ok 516 - Line 788 "[% 2 > 3 %]<<<" => "<<<" 142s ok 517 - Line 789 "[% 2 > 1 %]<<<" => "1<<<" 142s ok 518 - Line 790 "[% 2 >= 3 %]<<<" => "<<<" 142s ok 519 - Line 791 "[% 2 >= 2 %]<<<" => "1<<<" 142s ok 520 - Line 792 "[% 2 < 3 %]<<<" => "1<<<" 142s ok 521 - Line 793 "[% 2 < 1 %]<<<" => "<<<" 142s ok 522 - Line 794 "[% 2 <= 1 %]<<<" => "<<<" 142s ok 523 - Line 795 "[% 2 <= 2 %]<<<" => "1<<<" 142s ok 524 - Line 796 "[% 1 <=> 2 %]<<<" => "-1<<<" 142s ok 525 - Line 797 "[% 2 <=> 2 %]<<<" => "0<<<" 142s ok 526 - Line 798 "[% 3 <=> 2 %]<<<" => "1<<<" 142s ### boolean operators ############################### engine_option (normal) 142s ok 527 - Line 803 "[% 5 && 6 %]" => "6" 142s ok 528 - Line 804 "[% 5 || 6 %]" => "5" 142s ok 529 - Line 805 "[% 0 || 6 %]" => "6" 142s ok 530 - Line 806 "[% 0 && 6 %]" => "0" 142s ok 531 - Line 807 "[% 0 && 0 %]" => "0" 142s ok 532 - Line 808 "[% 5 && 6 && 7%]" => "7" 142s ok 533 - Line 809 "[% 0 || 1 || 2 %]" => "1" 142s ok 534 - Line 811 "[% 5 + (0 || 5) %]" => "10" 142s ok 535 - Line 814 "[% 1 ? 2 : 3 %]" => "2" 142s ok 536 - Line 815 "[% 0 ? 2 : 3 %]" => "3" 142s ok 537 - Line 816 "[% 0 ? (1 ? 2 : 3) : 4 %]" => "4" 142s ok 538 - Line 817 "[% 0 ? 1 ? 2 : 3 : 4 %]" => "4" 142s ok 539 - Line 819 "[% t = 1 || 0 ? 3 : 4 %][% t %]" => "3" 142s ok 540 - Line 820 "[% t = 0 or 1 ? 3 : 4 %][% t %]" => "3" 142s ok 541 - Line 821 "[% t = 1 or 0 ? 3 : 4 %][% t %]" => "1" 142s ok 542 - Line 823 "[% 0 ? 2 : 3 %]" => "3" 142s ok 543 - Line 824 "[% 1 ? 2 : 3 %]" => "2" 142s ok 544 - Line 825 "[% 0 ? 1 ? 2 : 3 : 4 %]" => "4" 142s ok 545 - Line 826 "[% t = 0 ? 1 ? [1..4] : [2..4] : [3..4] %][% t.0 %]" => "3" 142s ok 546 - Line 827 "[% t = 1 || 0 ? 0 : 1 || 2 ? 2 : 3 %][% t %]" => "0" 142s ok 547 - Line 828 "[% t = 0 or 0 ? 0 : 1 or 2 ? 2 : 3 %][% t %]" => "1" 142s ok 548 - Line 829 "[% t = 0 or 0 ? 0 : 0 or 2 ? 2 : 3 %][% t %]" => "2" 142s ok 549 - Line 831 "[% 0 ? 1 ? 1 + 2 * 3 : 1 + 2 * 4 : 1 + 2 * 5 %]" => "11" 142s ok 550 - Line 833 "[% foo //= 2 ; foo %]" => "2" 142s ok 551 - Line 834 "[% foo = 3; foo //= 2; foo %]" => "3" 142s ok 552 - Line 835 "[% foo = 3; SET foo; foo //= 2; foo %]" => "2" 142s ok 553 - Line 837 "[% 5 // 6 %]" => "5" 142s ok 554 - Line 838 "[% foo // 6 %]" => "6" 142s ok 555 - Line 839 "[% foo // 6 %]" => "6" 142s ok 556 - Line 840 "[% foo // 6 %]" => "" 142s ok 557 - Line 841 "[% foo // 6 %]" => "bar" 142s ok 558 - Line 843 "[% foo err 6 %]" => "6" 142s ok 559 - Line 844 "[% foo ERR 6 %]" => "6" 142s ### regex ########################################### engine_option (normal) 142s ok 560 - Line 850 "[% 'foo'.match(/foo/) ? 1 : 0 %]" => "1" 142s ok 561 - Line 851 "[% 'foo'.match(/foo) ? 1 : 0 %]" => "" 142s ok 562 - Line 852 "[% 'foo'.match(/fo o/x) ? 1 : 0 %]" => "1" 142s ok 563 - Line 853 "[% 'foo'.match(/Foo/i) ? 1 : 0 %]" => "1" 142s ok 564 - Line 854 "[% 'f 142s # o'.match(/f.o/s) ? 1 : 0 %]" => "1" 142s ok 565 - Line 855 "[% ' 142s # foo'.match(/^foo/m) ? 1 : 0 %]" => "1" 142s ok 566 - Line 856 "[% 'foo'.match(/foo/e) ? 1 : 0 %]" => "" 142s ok 567 - Line 857 "[% 'foo'.match(/foo/g) ? 1 : 0 %]" => "" 142s ok 568 - Line 858 "[% 'foo'.match(/foo) ? 1 : 0 %]" => "" 142s ok 569 - Line 859 "[% 'foo'.match(/foo**/) ? 1 : 0 %]" => "" 142s ok 570 - Line 860 "[% 'fo/o'.match(/fo\/o/) ? 1 : 0 %]" => "1" 142s ok 571 - Line 861 "[% 'foobar'.match(/(f\w\w)/).0 %]" => "foo" 142s ### BLOCK / PROCESS / INCLUDE / WRAPPER ############# engine_option (normal) 142s ok 572 - Line 867 "[% PROCESS foo %]one" => "" 142s ok 573 - Line 868 "[% BLOCK foo %]one" => "" 142s ok 574 - Line 869 "[% BLOCK foo %][% END %]one" => "one" 142s ok 575 - Line 870 "[% BLOCK %][% END %]one" => "one" 142s ok 576 - Line 871 "[% BLOCK foo %]hi there[% END %]one" => "one" 142s ok 577 - Line 872 "[% BLOCK foo %][% BLOCK foo %][% END %][% END %]" => "" 142s ok 578 - Line 873 "[% BLOCK foo %]hi there[% END %][% PROCESS foo %]" => "hi there" 142s ok 579 - Line 874 "[% PROCESS foo %][% BLOCK foo %]hi there[% END %]" => "hi there" 142s ok 580 - Line 875 "[% BLOCK foo %]hi there[% END %][% PROCESS foo foo %]" => "hi therehi there" 142s ok 581 - Line 876 "[% BLOCK foo %]hi there[% END %][% PROCESS foo, foo %]" => "hi therehi there" 142s ok 582 - Line 877 "[% BLOCK foo %]hi there[% END %][% PROCESS foo + foo %]" => "hi therehi there" 142s ok 583 - Line 878 "[% BLOCK foo %]hi [% one %] there[% END %][% PROCESS foo %]" => "hi ONE there" 142s ok 584 - Line 879 "[% BLOCK foo %]hi [% IF 1 %]Yes[% END %] there[% END %]<<[% PROCESS foo %]>>" => "<>" 142s ok 585 - Line 880 "[% BLOCK foo %]hi [% one %] there[% END %][% PROCESS foo one = 'two' %]" => "hi two there" 142s ok 586 - Line 881 "[% BLOCK foo %]hi [% one.two %] there[% END %][% PROCESS foo one.two = 'two' %]" => "hi two there" 142s ok 587 - Line 882 "[% BLOCK foo %]hi [% one.two %] there[% END %][% PROCESS foo + foo one.two = 'two' %]" => "hi two therehi two there" 142s ok 588 - Line 883 "[% BLOCK foo %][% BLOCK bar %]hi [% one %] there[% END %][% END %][% PROCESS foo/bar one => 'two' %]" => "hi two there" 142s ok 589 - Line 885 "[% BLOCK b %]Ta-Da[% END %][% self = {a => 'b'} %][% PROCESS $self.a self = 'blah' %]" => "Ta-Da" 142s ok 590 - Line 886 "[% BLOCK b %]Ta-Da[% END %][% self = {a => 'b'} %][% INCLUDE $self.a self = 'blah' %]" => "Ta-Da" 142s ok 591 - Line 887 "[% BLOCK b %]Ta-Da[% END %][% self = 'b' %][% PROCESS $self self = 'blah'; self %]" => "Ta-Dablah" 142s ok 592 - Line 888 "[% BLOCK b %]Ta-Da[% END %][% self = 'b' %][% INCLUDE $self self = 'blah'; self %]" => "Ta-Dab" 142s ok 593 - Line 890 "[% BLOCK foo %]hi [% one %] there[% END %][% PROCESS foo one = 'two' %][% one %]" => "hi two theretwo" 142s ok 594 - Line 891 "[% BLOCK foo %]hi [% one %] there[% END %][% INCLUDE foo one = 'two' %][% one %]" => "hi two there" 142s ok 595 - Line 893 "[% BLOCK foo %]FOO[% IF ! a ; a = 1; PROCESS bar; END %][% END %][% BLOCK bar %]BAR[% PROCESS foo %][% END %][% PROCESS foo %]" => "" 142s ok 596 - Line 895 "[% BLOCK foo %]FOO[% IF ! a ; a = 1; PROCESS bar; END %][% END %][% BLOCK bar %]BAR[% PROCESS foo %][% END %][% PROCESS foo %]" => "FOOBARFOO" 142s ok 597 - Line 897 "[% BLOCK foo %]([% content %])[% END %][% WRAPPER foo %]hi there[% END %]" => "(hi there)" 142s ok 598 - Line 898 "[% BLOCK foo %]([% one = 1; content %])[% END %][% WRAPPER foo %]hi there[% END %][% one %]" => "(hi there)won" 142s ok 599 - Line 900 "[% a = 23; PROCESS $foo %]" => "bar 23 baz" 142s ### IF / UNLESS / ELSIF / ELSE ###################### engine_option (normal) 142s ok 600 - Line 905 "[% IF 1 %]Yes[% END %]" => "Yes" 142s ok 601 - Line 906 "[% IF 0 %]Yes[% END %]" => "" 142s ok 602 - Line 907 "[% IF 0 %]Yes[% ELSE %]No[% END %]" => "No" 142s ok 603 - Line 908 "[% IF 0 %]Yes[% ELSIF 1 %]No[% END %]" => "No" 142s ok 604 - Line 909 "[% IF 0 %]Yes[% ELSIF 0 %]No[% END %]" => "" 142s ok 605 - Line 910 "[% IF 0 %]Yes[% ELSIF 0 %]No[% ELSE %]hmm[% END %]" => "hmm" 142s ok 606 - Line 912 "[% UNLESS 1 %]Yes[% END %]" => "" 142s ok 607 - Line 913 "[% UNLESS 0 %]Yes[% END %]" => "Yes" 142s ok 608 - Line 914 "[% UNLESS 0 %]Yes[% ELSE %]No[% END %]" => "Yes" 142s ok 609 - Line 915 "[% UNLESS 1 %]Yes[% ELSIF 1 %]No[% END %]" => "No" 142s ok 610 - Line 916 "[% UNLESS 1 %]Yes[% ELSIF 0 %]No[% END %]" => "" 142s ok 611 - Line 917 "[% UNLESS 1 %]Yes[% ELSIF 0 %]No[% ELSE %]hmm[% END %]" => "hmm" 142s ### comments ######################################## engine_option (normal) 142s ok 612 - Line 922 "[%\# one %]f" => "f" 142s ok 613 - Line 923 "[%\# 142s # one %]f" => "f" 142s ok 614 - Line 924 "[%-\# 142s # one %]f" => "f" 142s ok 615 - Line 925 "[% \# 142s # one %]f" => "ONEf" 142s ok 616 - Line 926 "[% \# one %] 142s # one %]f" => " 142s # one %]f" 142s ok 617 - Line 928 "[%\# BLOCK one %]" => "" 142s ok 618 - Line 929 "[%\# BLOCK one %]two" => "two" 142s ok 619 - Line 930 "[%\# BLOCK one %]two[% END %]" => "" 142s ok 620 - Line 931 "[%\# BLOCK one %]two[% END %]three" => "" 142s ok 621 - Line 932 "[% %]" => "" 142s ok 622 - Line 933 "[% 142s # # Some comment 142s # CALL 1 -%] 142s # foo" => "foo" 142s ### FOREACH / NEXT / LAST ########################### engine_option (normal) 142s ok 623 - Line 941 "[% FOREACH foo %]" => "" 142s ok 624 - Line 942 "[% FOREACH foo %][% END %]" => "" 142s ok 625 - Line 943 "[% FOREACH foo %]bar[% END %]" => "" 142s ok 626 - Line 944 "[% FOREACH foo %]bar[% END %]" => "bar" 142s ok 627 - Line 945 "[% FOREACH f IN foo %]bar[% f %][% END %]" => "bar1bar2" 142s ok 628 - Line 946 "[% FOREACH f = foo %]bar[% f %][% END %]" => "bar1bar2" 142s ok 629 - Line 947 "[% FOREACH f = [1,2] %]bar[% f %][% END %]" => "bar1bar2" 142s ok 630 - Line 948 "[% FOREACH f = [1..3] %]bar[% f %][% END %]" => "bar1bar2bar3" 142s ok 631 - Line 949 "[% FOREACH f = [{a=>'A'},{a=>'B'}] %]bar[% f.a %][% END %]" => "barAbarB" 142s ok 632 - Line 950 "[% FOREACH [{a=>'A'},{a=>'B'}] %]bar[% a %][% END %]" => "barAbarB" 142s ok 633 - Line 951 "[% FOREACH [{a=>'A'},{a=>'B'}] %]bar[% a %][% END %][% a %]" => "barAbarB" 142s ok 634 - Line 952 "[% FOREACH f = [1..3] %][% loop.count %]/[% loop.size %] [% END %]" => "1/3 2/3 3/3 " 142s ok 635 - Line 953 "[% FOREACH f = [1..3] %][% IF loop.first %][% f %][% END %][% END %]" => "1" 142s ok 636 - Line 954 "[% FOREACH f = [1..3] %][% IF loop.last %][% f %][% END %][% END %]" => "3" 142s ok 637 - Line 955 "[% FOREACH f = [1..3] %][% IF loop.first %][% NEXT %][% END %][% f %][% END %]" => "23" 142s ok 638 - Line 956 "[% FOREACH f = [1..3] %][% IF loop.first %][% LAST %][% END %][% f %][% END %]" => "" 142s ok 639 - Line 957 "[% FOREACH f = [1..3] %][% f %][% IF loop.first %][% NEXT %][% END %][% END %]" => "123" 142s ok 640 - Line 958 "[% FOREACH f = [1..3] %][% f %][% IF loop.first %][% LAST %][% END %][% END %]" => "1" 142s ok 641 - Line 959 "[% loop.odd FOREACH [1..5] %]" => "10101" 142s ok 642 - Line 960 "[% loop.even FOREACH [1..5] %]" => "01010" 142s ok 643 - Line 961 "[% loop.parity FOREACH [1..5] %]" => "oddevenoddevenodd" 142s ok 644 - Line 963 "[% a = ["Red", "Blue"] ; FOR [0..3] ; a.${ loop.index % a.size } ; END %]" => "RedBlueRedBlue" 142s ok 645 - Line 968 "[% foo = 1 %][% FOREACH [1..10] %][% foo %][% foo = 2 %][% END %]" => "1222222222" 142s ok 646 - Line 969 "[% f = 1 %][% FOREACH i = [1..10] %][% i %][% f = 2 %][% END %][% f %]" => "123456789102" 142s ok 647 - Line 970 "[% f = 1 %][% FOREACH [1..10] %][% f = 2 %][% END %][% f %]" => "1" 142s ok 648 - Line 971 "[% f = 1 %][% FOREACH f = [1..10] %][% f %][% END %][% f %]" => "1234567891010" 142s ok 649 - Line 972 "[% FOREACH [1] %][% SET a = 1 %][% END %][% a %]" => "" 142s ok 650 - Line 973 "[% a %][% FOREACH [1] %][% SET a = 1 %][% END %][% a %]" => "" 142s ok 651 - Line 974 "[% a = 2 %][% FOREACH [1] %][% SET a = 1 %][% END %][% a %]" => "2" 142s ok 652 - Line 975 "[% a = 2 %][% FOREACH [1] %][% a = 1 %][% END %][% a %]" => "2" 142s ok 653 - Line 976 "[% a = 2 %][% FOREACH i = [1] %][% a = 1 %][% END %][% a %]" => "1" 142s ok 654 - Line 977 "[% FOREACH i = [1] %][% SET a = 1 %][% END %][% a %]" => "1" 142s ok 655 - Line 978 "[% f.b = 1 %][% FOREACH f.b = [1..10] %][% f.b %][% END %][% f.b %]" => "1234567891010" 142s ok 656 - Line 979 "[% a = 1 %][% FOREACH [{a=>'A'},{a=>'B'}] %]bar[% a %][% END %][% a %]" => "barAbarB1" 142s ok 657 - Line 980 "[% FOREACH [1..3] %][% loop.size %][% END %][% loop.size %]" => "333" 142s ok 658 - Line 981 "[% FOREACH i = [1..3] %][% loop.size %][% END %][% loop.size %]" => "333" 142s ok 659 - Line 984 "[% FOREACH f = [1..3]; 1; END %]" => "111" 142s ok 660 - Line 985 "[% FOREACH f = [1..3]; f; END %]" => "123" 142s ok 661 - Line 986 "[% FOREACH f = [1..3]; "$f"; END %]" => "123" 142s ok 662 - Line 987 "[% FOREACH f = [1..3]; f + 1; END %]" => "234" 142s 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, " 142s ok 664 - Line 999 "[% FOREACH i IN foo; i.n; END %]" => "123" 142s ok 665 - Line 1000 "[% FOREACH i IN foo; i.n; END %]" => "1" 142s ok 666 - Line 1001 "[% FOREACH i IN foo; i.n; END %]" => "123" 142s ok 667 - Line 1002 "[% FOREACH i IN foo; i.n; END %]" => "1" 142s ok 668 - Line 1004 "[% FOREACH i IN foo; i.n; END %]" => "123" 142s ok 669 - Line 1005 "[% FOREACH i IN foo; i.n; END %]" => "1" 142s ok 670 - Line 1006 "[% FOREACH i IN foo; i.n; END %]" => "123" 142s ok 671 - Line 1007 "[% FOREACH i IN foo; i.n; END %]" => "1" 142s ### LOOP ############################################ engine_option (normal) 142s ok 672 - Line 1012 "[% var = [{key => 'a'}, {key => 'b'}] -%] 142s # [% LOOP var -%] 142s # ([% key %]) 142s # [% END %]" => " (a) 142s # (b) 142s # " 142s ok 673 - Line 1021 "[% var = [{key => 'a'}, {key => 'b'}, {key => 'c'}] -%] 142s # [% LOOP var -%] 142s # ([% key; '|'; __first__; '|'; __last__; '|'; __inner__; '|'; __odd__ %]) 142s # [% END -%]" => "(a|1|0|0|1) 142s # (b|0|0|1|0) 142s # (c|0|1|0|1) 142s # " 142s ### WHILE ########################################### engine_option (normal) 142s ok 674 - Line 1033 "[% WHILE foo %]" => "" 142s ok 675 - Line 1034 "[% WHILE foo %][% END %]" => "" 142s ok 676 - Line 1035 "[% WHILE (foo = foo - 1) %][% END %]" => "" 142s ok 677 - Line 1036 "[% WHILE (foo = foo - 1) %][% foo %][% END %]" => "21" 142s ok 678 - Line 1037 "[% WHILE foo %][% foo %][% foo = foo - 1 %][% END %]" => "321" 142s ok 679 - Line 1039 "[% WHILE 1 %][% foo %][% foo = foo - 1 %][% LAST IF foo == 1 %][% END %]" => "32" 142s ok 680 - Line 1040 "[% f = 10; WHILE f; f = f - 1 ; f ; END %]" => "9876543210" 142s ok 681 - Line 1041 "[% f = 10; WHILE f; f = f - 1 ; f ; END ; f %]" => "98765432100" 142s ok 682 - Line 1042 "[% f = 10; a = 2; WHILE f; f = f - 1 ; f ; a=3; END ; a%]" => "98765432103" 142s ok 683 - Line 1044 "[% f = 10; WHILE (g=f); f = f - 1 ; f ; END %]" => "9876543210" 142s ok 684 - Line 1045 "[% f = 10; WHILE (g=f); f = f - 1 ; f ; END ; f %]" => "98765432100" 142s ok 685 - Line 1046 "[% f = 10; a = 2; WHILE (g=f); f = f - 1 ; f ; a=3; END ; a%]" => "98765432103" 142s ok 686 - Line 1047 "[% f = 10; a = 2; WHILE (a=f); f = f - 1 ; f ; a=3; END ; a%]" => "98765432100" 142s ### STOP / RETURN / CLEAR ########################### engine_option (normal) 142s ok 687 - Line 1052 "[% STOP %]" => "" 142s ok 688 - Line 1053 "One[% STOP %]Two" => "One" 142s ok 689 - Line 1054 "[% BLOCK foo %]One[% STOP %]Two[% END %]First[% PROCESS foo %]Last" => "FirstOne" 142s ok 690 - Line 1055 "[% FOREACH f = [1..3] %][% f %][% IF loop.first %][% STOP %][% END %][% END %]" => "1" 142s ok 691 - Line 1056 "[% FOREACH f = [1..3] %][% IF loop.first %][% STOP %][% END %][% f %][% END %]" => "" 142s ok 692 - Line 1058 "[% RETURN %]" => "" 142s ok 693 - Line 1059 "One[% RETURN %]Two" => "One" 142s ok 694 - Line 1060 "[% BLOCK foo %]One[% RETURN %]Two[% END %]First[% PROCESS foo %]Last" => "FirstOneLast" 142s ok 695 - Line 1061 "[% FOREACH f = [1..3] %][% f %][% IF loop.first %][% RETURN %][% END %][% END %]" => "1" 142s ok 696 - Line 1062 "[% FOREACH f = [1..3] %][% IF loop.first %][% RETURN %][% END %][% f %][% END %]" => "" 142s ok 697 - Line 1064 "[% CLEAR %]" => "" 142s ok 698 - Line 1065 "One[% CLEAR %]Two" => "Two" 142s ok 699 - Line 1066 "[% BLOCK foo %]One[% CLEAR %]Two[% END %]First[% PROCESS foo %]Last" => "FirstTwoLast" 142s ok 700 - Line 1067 "[% FOREACH f = [1..3] %][% f %][% IF loop.first %][% CLEAR %][% END %][% END %]" => "23" 142s ok 701 - Line 1068 "[% FOREACH f = [1..3] %][% IF loop.first %][% CLEAR %][% END %][% f %][% END %]" => "123" 142s ok 702 - Line 1069 "[% FOREACH f = [1..3] %][% f %][% IF loop.last %][% CLEAR %][% END %][% END %]" => "" 142s ok 703 - Line 1070 "[% FOREACH f = [1..3] %][% IF loop.last %][% CLEAR %][% END %][% f %][% END %]" => "3" 142s ### post opererative directives ##################### engine_option (normal) 142s ok 704 - Line 1075 "[% GET foo IF 1 %]" => "1" 142s ok 705 - Line 1076 "[% f FOREACH f = [1..3] %]" => "123" 142s ok 706 - Line 1078 "2[% GET foo IF 1 IF 2 %]" => "21" 142s ok 707 - Line 1079 "2[% GET foo IF 1 IF 0 %]" => "2" 142s ok 708 - Line 1080 "[% f FOREACH f = [1..3] IF 1 %]" => "123" 142s ok 709 - Line 1081 "[% f FOREACH f = [1..3] IF 0 %]" => "" 142s ok 710 - Line 1082 "[% f FOREACH f = g FOREACH g = [1..3] %]" => "123" 142s ok 711 - Line 1083 "[% f FOREACH f = g.a FOREACH g = [{a=>1}, {a=>2}, {a=>3}] %]" => "123" 142s ok 712 - Line 1084 "[% f FOREACH f = a FOREACH [{a=>1}, {a=>2}, {a=>3}] %]" => "123" 142s ok 713 - Line 1086 "[% FOREACH f = [1..3] IF 1 %]([% f %])[% END %]" => "(1)(2)(3)" 142s ok 714 - Line 1087 "[% FOREACH f = [1..3] IF 0 %]([% f %])[% END %]" => "" 142s ok 715 - Line 1089 "[% BLOCK bar %][% foo %][% foo = foo - 1 %][% END %][% PROCESS bar WHILE foo %]" => "321" 142s ### capturing ####################################### engine_option (normal) 142s ok 716 - Line 1094 "[% foo = BLOCK %]Hi[% END %][% foo %][% foo %]" => "HiHi" 142s ok 717 - Line 1095 "[% BLOCK foo %]Hi[% END %][% bar = PROCESS foo %]-[% bar %]" => "-Hi" 142s ok 718 - Line 1096 "[% foo = IF 1 %]Hi[% END %][% foo %]" => "Hi" 142s ok 719 - Line 1097 "[% BLOCK foo %]([% i %])[% END %][% wow = PROCESS foo i='bar' %][% wow %]" => "(bar)" 142s ok 720 - Line 1098 "[% BLOCK foo %]([% i %])[% END %][% SET wow = PROCESS foo i='bar' %][% wow %]" => "(bar)" 142s ### TAGS ############################################ engine_option (normal) 142s ok 721 - Line 1103 "[% TAGS asp %]<% 1 + 2 %>" => "3" 142s ok 722 - Line 1104 "[% TAGS default %][% 1 + 2 %]" => "3" 142s ok 723 - Line 1105 "[% TAGS html %]" => "3" 142s ok 724 - Line 1106 "[% TAGS mason %]<% 1 + 2 >" => "3" 142s ok 725 - Line 1107 "[% TAGS metatext %]%% 1 + 2 %%" => "3" 142s ok 726 - Line 1108 "[% TAGS php %]" => "3" 142s ok 727 - Line 1109 "[% TAGS star %][* 1 + 2 *]" => "3" 142s ok 728 - Line 1110 "[% TAGS template %][% 1 + 2 %]" => "3" 142s ok 729 - Line 1111 "[% TAGS template1 %][% 1 + 2 %]" => "3" 142s ok 730 - Line 1112 "[% TAGS template1 %]%% 1 + 2 %%" => "3" 142s ok 731 - Line 1113 "[% TAGS tt2 %][% 1 + 2 %]" => "3" 142s ok 732 - Line 1115 "[% TAGS html %] " => "3" 142s ok 733 - Line 1116 "[% TAGS html %]" => "3" 142s ok 734 - Line 1117 "[% TAGS html %] 142s # " => "3" 142s ok 735 - Line 1118 "[% BLOCK foo %][% TAGS html %] " => "3 3" 142s ok 736 - Line 1119 "[% BLOCK foo %][% TAGS html %][% END %][% PROCESS foo %] [% 1 + 2 %]" => "" 142s ok 737 - Line 1121 "[% TAGS %]" => "3" 142s ok 738 - Line 1123 "[% TAGS [<] [>] %][<] 1 + 2 [>]" => "3" 142s ok 739 - Line 1124 "[% TAGS '[<]' '[>]' %][<] 1 + 2 [>]" => "3" 142s ok 740 - Line 1125 "[% TAGS /[<]/ /[>]/ %]< 1 + 2 >" => "3" 142s ok 741 - Line 1126 "[% TAGS ** ** %]** 1 + 2 **" => "3" 142s ok 742 - Line 1127 "[% TAGS '**' '**' %]** 1 + 2 **" => "3" 142s ok 743 - Line 1128 "[% TAGS /**/ /**/ %]** 1 + 2 **" => "" 142s ok 744 - Line 1130 "[% TAGS html -->" => "3" 142s ok 745 - Line 1131 "[% TAGS html ; 7 -->" => "73" 142s ok 746 - Line 1132 "[% TAGS html ; 7 %]" => "" 142s ### SWITCH / CASE ################################### engine_option (normal) 142s ok 747 - Line 1137 "[% SWITCH 1 %][% END %]hi" => "hi" 142s ok 748 - Line 1138 "[% SWITCH 1 %][% CASE %]bar[% END %]hi" => "barhi" 142s ok 749 - Line 1139 "[% SWITCH 1 %]Pre[% CASE %]bar[% END %]hi" => "barhi" 142s ok 750 - Line 1140 "[% SWITCH 1 %][% CASE DEFAULT %]bar[% END %]hi" => "barhi" 142s ok 751 - Line 1141 "[% SWITCH 1 %][% CASE 0 %]bar[% END %]hi" => "hi" 142s ok 752 - Line 1142 "[% SWITCH 1 %][% CASE 1 %]bar[% END %]hi" => "barhi" 142s ok 753 - Line 1143 "[% SWITCH 1 %][% CASE foo %][% CASE 1 %]bar[% END %]hi" => "barhi" 142s ok 754 - Line 1144 "[% SWITCH 1 %][% CASE [1..10] %]bar[% END %]hi" => "barhi" 142s ok 755 - Line 1145 "[% SWITCH 11 %][% CASE [1..10] %]bar[% END %]hi" => "hi" 142s ok 756 - Line 1147 "[% SWITCH 1.0 %][% CASE [1..10] %]bar[% END %]hi" => "barhi" 142s ### TRY / THROW / CATCH / FINAL ##################### engine_option (normal) 142s ok 757 - Line 1152 "[% TRY %][% END %]hi" => "hi" 142s ok 758 - Line 1153 "[% TRY %]Foo[% END %]hi" => "Foohi" 142s ok 759 - Line 1154 "[% TRY %]Foo[% THROW foo 'for fun' %]bar[% END %]hi" => "" 142s ok 760 - Line 1155 "[% TRY %]Foo[% THROW foo 'for fun' %]bar[% CATCH %][% END %]hi" => "Foohi" 142s ok 761 - Line 1156 "[% TRY %]Foo[% THROW foo 'for fun' %]bar[% CATCH %]there[% END %]hi" => "Footherehi" 142s ok 762 - Line 1157 "[% TRY %]Foo[% THROW foo 'for fun' %]bar[% CATCH foo %]there[% END %]hi" => "Footherehi" 142s ok 763 - Line 1158 "[% TRY %]Foo[% TRY %]Foo[% THROW foo 'for fun' %][% CATCH bar %]one[% END %][% CATCH %]two[% END %]hi" => "FooFootwohi" 142s ok 764 - Line 1159 "[% TRY %]Foo[% TRY %]Foo[% THROW foo 'for fun' %][% CATCH bar %]one[% END %][% CATCH s %]two[% END %]hi" => "" 142s ok 765 - Line 1160 "[% TRY %]Foo[% THROW foo.bar 'for fun' %][% CATCH foo %]one[% CATCH foo.bar %]two[% END %]hi" => "Footwohi" 142s ok 766 - Line 1162 "[% TRY %]Foo[% FINAL %]Bar[% END %]hi" => "FooBarhi" 142s ok 767 - Line 1163 "[% TRY %]Foo[% THROW foo %][% FINAL %]Bar[% CATCH %]one[% END %]hi" => "" 142s ok 768 - Line 1164 "[% TRY %]Foo[% THROW foo %][% CATCH %]one[% FINAL %]Bar[% END %]hi" => "FoooneBarhi" 142s ok 769 - Line 1165 "[% TRY %]Foo[% THROW foo %][% CATCH bar %]one[% FINAL %]Bar[% END %]hi" => "" 142s ok 770 - Line 1167 "[% TRY %][% THROW foo 'bar' %][% CATCH %][% error %][% END %]" => "foo error - bar" 142s ok 771 - Line 1168 "[% TRY %][% THROW foo 'bar' %][% CATCH %][% error.type %][% END %]" => "foo" 142s ok 772 - Line 1169 "[% TRY %][% THROW foo 'bar' %][% CATCH %][% error.info %][% END %]" => "bar" 142s ok 773 - Line 1170 "[% TRY %][% THROW foo %][% CATCH %][% error.type %][% END %]" => "undef" 142s ok 774 - Line 1171 "[% TRY %][% THROW foo %][% CATCH %][% error.info %][% END %]" => "foo" 142s ### named args ###################################### engine_option (normal) 142s ok 775 - Line 1177 "[% foo(bar = 'one', baz = 'two') %]" => "baronebaztwo" 142s ok 776 - Line 1179 "[%bar='ONE'%][% foo($bar = 'one') %]" => "ONEone" 142s ### USE ############################################# engine_option (normal) 142s ok 777 - Line 1185 "[% USE son_of_gun_that_does_not_exist %]one" => "" 142s ok 778 - Line 1186 "[% USE Iterator([3..6]) %]hey[% CALL Iterator.get_first; Iterator.size %]" => "hey4" 142s ok 779 - Line 1187 "[% USE FooTest %]one" => "one" 142s ok 780 - Line 1188 "[% USE FooTest2 %]one" => "one" 142s ok 781 - Line 1189 "[% USE FooTest(bar = 'baz') %]one[% FooTest.bar %]" => "onebarbaz" 142s ok 782 - Line 1190 "[% USE FooTest2(bar = 'baz') %]one[% FooTest2.bar %]" => "onebarbaz" 142s ok 783 - Line 1191 "[% USE FooTest(bar = 'baz') %]one[% FooTest.bar %]" => "onebarbaz" 142s ok 784 - Line 1192 "[% USE d = FooTest(bar = 'baz') %]one[% d.bar %]" => "onebarbaz" 142s ok 785 - Line 1193 "[% USE d.d = FooTest(bar = 'baz') %]one[% d.d.bar %]" => "" 142s ok 786 - Line 1194 "[% USE FooTest(somerand = 8) %]one[% FooTest.somerand %]" => "one8" 142s ok 787 - Line 1196 "[% USE a(bar = 'baz') %]one[% a.seven %]" => "" 142s ok 788 - Line 1197 "[% USE a(bar = 'baz') %]one[% a.seven %]" => "one7" 142s ok 789 - Line 1200 "[% USE FooTest %]three" => "three" 142s ### MACRO ########################################### engine_option (normal) 142s ok 790 - Line 1205 "[% MACRO foo PROCESS bar %][% BLOCK bar %]Hi[% END %][% foo %]" => "Hi" 142s ok 791 - Line 1206 "[% MACRO foo BLOCK %]Hi[% END %][% foo %]" => "Hi" 142s ok 792 - Line 1207 "[% MACRO foo BLOCK %]Hi[% END %][% foo %]" => "Hi" 142s ok 793 - Line 1208 "[% MACRO foo(n) BLOCK %]Hi[% n %][% END %][% foo(2) %]" => "Hi2" 142s ok 794 - Line 1209 "[%n=1%][% MACRO foo(n) BLOCK %]Hi[% n %][% END %][% foo(2) %][%n%]" => "Hi21" 142s ok 795 - Line 1210 "[%n=1%][% MACRO foo BLOCK %]Hi[% n = 2%][% END %][% foo %][%n%]" => "Hi1" 142s ok 796 - Line 1211 "[% MACRO foo(n) FOREACH i=[1..n] %][% i %][% END %][% foo(3) %]" => "123" 142s ok 797 - Line 1213 "[% MACRO f BLOCK %]>[% TRY; f ; CATCH ; "caught" ; END %][% END %][% f %]" => ">>>caught" 142s ok 798 - Line 1216 "[% foo = ->{ 'Hi' } %][% foo %]" => "Hi" 142s ok 799 - Line 1217 "[% foo = ->{ 'Hi'; this } %][% foo(2) %]" => "Hi2" 142s ok 800 - Line 1218 "[% foo = ->(n){ 'Hi'; n } %][% foo(2) %]" => "Hi2" 142s ok 801 - Line 1219 "[%n=1%][% foo = ->(n) { 'Hi' ; n } %][% foo(2) %][%n%]" => "Hi21" 142s ok 802 - Line 1220 "[% foo = ->(n) { FOREACH i=[1..n]; i ; END } %][% foo(3) %]" => "123" 142s ### DEBUG ########################################### engine_option (normal) 142s ok 803 - Line 1226 " 142s # 142s # [% one %]" => " 142s # 142s # 142s # ## input text line 3 : [% one %] ## 142s # ONE" 142s ok 804 - Line 1227 "[% one %]" => " 142s # ## input text line 1 : [% one %] ## 142s # ONE" 142s ok 805 - Line 1228 "[% one %] 142s # 142s # " => "(1)ONE 142s # 142s # " 142s ok 806 - Line 1229 "1 142s # 2 142s # 3[% one %]" => "1 142s # 2 142s # 3(3)ONE" 142s ok 807 - Line 1230 "[% one; 142s # one %]" => "(1)ONE(2)ONE" 142s ok 808 - Line 1232 "[% DEBUG format '($line)' %][% one %]" => " 142s # ## input text line 1 : [% DEBUG format '($line)' %] ## 142s # (1)ONE" 142s ok 809 - Line 1234 "[% TRY %][% abc %][% CATCH %][% error %][% END %]" => "undef error - abc is undefined 142s # " 142s ok 810 - Line 1236 "[% TRY %][% abc.def %][% CATCH %][% error %][% END %]" => "undef error - abc.def is undefined 142s # " 142s ### constants ####################################### engine_option (normal) 142s ok 811 - Line 1255 "[% constants.harry %]" => "do_this_once" 142s ok 812 - Line 1256 "[% constants.harry.length %]" => "12" 142s ok 813 - Line 1257 "[% SET constants.something = 1 %][% constants.something %]one" => "1one" 142s ok 814 - Line 1258 "[% SET constants.harry = 1 %][% constants.harry %]one" => "do_this_onceone" 142s ok 815 - Line 1259 "[% constants.foo.${constants.bang} %]" => "57" 142s ok 816 - Line 1260 "[% constants.foo.$bam.${constants.bing} %]" => "42" 142s ok 817 - Line 1261 "[% bam = 'somethingelse' %][% constants.foo.$bam.${constants.bing} %]" => "42" 142s ok 818 - Line 1263 "[% constants.${"harry"} %]" => "do_this_once" 142s ok 819 - Line 1264 "[% ${"constants"}.harry %]" => "foo" 142s ok 820 - Line 1266 "[% ${"con${"s"}tants"}.harry %]" => "foo" 142s ### CONTEXT ######################################### engine_option (normal) 142s ok 821 - Line 1272 "[% CALL cctx.call_me %][% cctx.last_context %]" => "list" 142s ok 822 - Line 1273 "[% cctx.array %]" => "ARRAY(0xb5b9631eec08)" 142s ok 823 - Line 1274 "[% cctx.array2 %]" => "4" 142s ok 824 - Line 1275 "[% cctx.list %]" => "ARRAY(0xb5b963230260)" 142s ok 825 - Line 1276 "[% cctx.scalar %]" => "8" 142s ok 826 - Line 1277 "[% cctx.bang %]" => "bing" 142s ok 827 - Line 1281 "[% CALL cctx.call_me %][% cctx.last_context %]" => "list" 142s ok 828 - Line 1282 "[% CALL @(cctx.call_me) %][% cctx.last_context %]" => "list" 142s ok 829 - Line 1283 "[% CALL $(cctx.call_me) %][% cctx.last_context %]" => "scalar" 142s ok 830 - Line 1284 "[% CALL call_cctx %][% cctx.last_context %]" => "list" 142s ok 831 - Line 1285 "[% CALL @(call_cctx) %][% cctx.last_context %]" => "list" 142s ok 832 - Line 1286 "[% CALL $(call_cctx) %][% cctx.last_context %]" => "scalar" 142s ok 833 - Line 1287 "[% CALL cctx.call_me %][% cctx.last_context %]" => "list" 142s ok 834 - Line 1288 "[% CALL cctx.call_me %][% cctx.last_context.0 %]" => "list" 142s ok 835 - Line 1289 "[% CALL cctx.call_me %][% cctx.last_context %]" => "scalar" 142s ok 836 - Line 1290 "[% cctx.array %]" => "ARRAY(0xb5b963230488)" 142s ok 837 - Line 1291 "[% @(cctx.array) %]" => "ARRAY(0xb5b963230608)" 142s ok 838 - Line 1292 "[% $(cctx.array) %]" => "3" 142s ok 839 - Line 1293 "[% cctx.array2 %]" => "4" 142s ok 840 - Line 1294 "[% @(cctx.array2) %]" => "ARRAY(0xb5b963210070)" 142s ok 841 - Line 1295 "[% $(cctx.array2) %]" => "1" 142s ok 842 - Line 1296 "[% cctx.list %]" => "ARRAY(0xb5b963230518)" 142s ok 843 - Line 1297 "[% @(cctx.list) %]" => "ARRAY(0xb5b9632309e0)" 142s ok 844 - Line 1298 "[% $(cctx.list) %]" => "7" 142s ok 845 - Line 1299 "[% cctx.scalar %]" => "8" 142s ok 846 - Line 1300 "[% @(cctx.scalar) %]" => "ARRAY(0xb5b963230500)" 142s ok 847 - Line 1301 "[% $(cctx.scalar) %]" => "8" 142s ok 848 - Line 1302 "[% cctx.bang %] ~" => "bing ~" 142s ok 849 - Line 1303 "[% @(cctx.bang) %] ~" => "bing ~" 142s ok 850 - Line 1304 "[% $(cctx.bang) %] ~" => "bing ~" 142s ok 851 - Line 1306 "[% CONFIG CALL_CONTEXT => "list"; CALL cctx.call_me; CONFIG CALL_CONTEXT => "smart" %][% cctx.last_context %]" => "list" 142s ok 852 - Line 1308 "[% CONFIG CALL_CONTEXT => "item"; CALL cctx.call_me %][% cctx.last_context %]" => "scalar" 142s ok 853 - Line 1310 "[% cctx.dataref.0.foo = 7; cctx.dataref.0.foo %]" => "7" 142s ok 854 - Line 1312 "[% @(cctx.dataref).0.foo = 7; cctx.dataref.foo %]" => "7" 142s ok 855 - Line 1314 "[% $(cctx.dataref).0.foo = 7; cctx.dataref.0.foo %]" => "7" 142s ok 856 - Line 1316 "[% CONFIG CALL_CONTEXT => "list"; cctx.dataref.0.foo = 7; CONFIG CALL_CONTEXT => "item"; cctx.dataref.foo %]" => "7" 142s ok 857 - Line 1321 "[% cctxo.bang = 1 %] ~" => " ~" 142s ok 858 - Line 1322 "[% cctxo.dataref.foo = 7; cctxo.dataref.foo %]" => "7" 142s ok 859 - Line 1324 "[% CALL cctxo.call_me %][% cctxo.last_context %]" => "list" 142s ok 860 - Line 1325 "[% CALL @(cctxo.call_me) %][% cctxo.last_context %]" => "list" 142s ok 861 - Line 1326 "[% CALL $(cctxo.call_me) %][% cctxo.last_context %]" => "scalar" 142s ok 862 - Line 1327 "[% CALL call_cctxo %][% cctxo.last_context %]" => "list" 142s ok 863 - Line 1328 "[% CALL @(call_cctxo) %][% cctxo.last_context %]" => "list" 142s ok 864 - Line 1329 "[% CALL $(call_cctxo) %][% cctxo.last_context %]" => "scalar" 142s ok 865 - Line 1330 "[% CALL cctxo.call_me %][% cctxo.last_context %]" => "list" 142s ok 866 - Line 1331 "[% CALL cctxo.call_me %][% cctxo.last_context.0 %]" => "list" 142s ok 867 - Line 1332 "[% CALL cctxo.call_me %][% cctxo.last_context %]" => "scalar" 142s ok 868 - Line 1333 "[% cctxo.array %]" => "ARRAY(0xb5b9632182d0)" 142s ok 869 - Line 1334 "[% @(cctxo.array) %]" => "ARRAY(0xb5b963221858)" 142s ok 870 - Line 1335 "[% $(cctxo.array) %]" => "3" 142s ok 871 - Line 1336 "[% cctxo.array2 %]" => "4" 142s ok 872 - Line 1337 "[% @(cctxo.array2) %]" => "ARRAY(0xb5b963220348)" 142s ok 873 - Line 1338 "[% $(cctxo.array2) %]" => "1" 142s ok 874 - Line 1339 "[% cctxo.list %]" => "ARRAY(0xb5b963221768)" 142s ok 875 - Line 1340 "[% @(cctxo.list) %]" => "ARRAY(0xb5b96320f380)" 142s ok 876 - Line 1341 "[% $(cctxo.list) %]" => "7" 142s ok 877 - Line 1342 "[% cctxo.scalar %]" => "8" 142s ok 878 - Line 1343 "[% @(cctxo.scalar) %]" => "ARRAY(0xb5b9632204b0)" 142s ok 879 - Line 1344 "[% $(cctxo.scalar) %]" => "8" 142s ok 880 - Line 1345 "[% cctxo.bang %] ~" => "bing ~" 142s ok 881 - Line 1348 "[% SET cctxo.call_me = 2 %][% cctxo.last_context %]" => "list2" 142s ok 882 - Line 1350 "[% CALL @(cctxo.call_me = 3) %][% cctxo.last_context %]" => "list3" 142s ok 883 - Line 1352 "[% CALL $(cctxo.call_me = 4) %][% cctxo.last_context %]" => "scalar4" 142s ### INTERPOLATE ##################################### engine_option (normal) 142s ok 884 - Line 1358 "Foo $one Bar" => "Foo ONE Bar" 142s ok 885 - Line 1359 "[% PERL %] my $n=7; print $n [% END %]" => "7" 142s ok 886 - Line 1360 "[% TRY ; PERL %] my $n=7; print $n [% END ; END %]" => "7" 142s ok 887 - Line 1364 "Foo \ Bar" => "Foo \ Bar" 142s ok 888 - Line 1365 "Foo \\ Bar" => "Foo \\ Bar" 142s ok 889 - Line 1366 "Foo \n Bar" => "Foo \n Bar" 142s ok 890 - Line 1367 "Foo \$a Bar" => "Foo $a Bar" 142s ok 891 - Line 1368 "Foo \\$a Bar" => "Foo \\7 Bar" 142s ok 892 - Line 1369 "Foo \\\$a Bar" => "Foo \\$a Bar" 142s ok 893 - Line 1370 "Foo $a.B Bar" => "Foo 7 Bar" 142s ok 894 - Line 1371 "Foo ${ a.B } Bar" => "Foo 7 Bar" 142s ok 895 - Line 1372 "Foo $a.b.c("hi") Bar" => "Foo Bar" 142s ok 896 - Line 1374 "Foo ${a.b.c("hi")} Bar" => "Foo Bar" 142s ok 897 - Line 1375 "Foo $a Bar $!a Baz" => "Foo 7 Bar 7 Baz" 142s ok 898 - Line 1376 "Foo $a Bar $!{a} Baz" => "Foo 7 Bar 7 Baz" 142s ok 899 - Line 1377 "Foo $a Bar $!a Baz" => "Foo 7 Bar 7 Baz" 142s ok 900 - Line 1378 "Foo $a Bar $!{a} Baz" => "Foo 7 Bar 7 Baz" 142s ok 901 - Line 1379 "Foo $a Bar $!a Baz" => "Foo $a Bar Baz" 142s ok 902 - Line 1380 "Foo ${a} Bar $!{a} Baz" => "Foo ${a} Bar Baz" 142s ### ANYCASE / TRIM ################################## engine_option (normal) 142s ok 903 - Line 1385 "[% GET %]" => "" 142s ok 904 - Line 1386 "[% GET GET %]" => "ONE" 142s ok 905 - Line 1387 "[% get one %]" => "ONE" 142s ok 906 - Line 1388 "[% get %]" => "" 142s ok 907 - Line 1389 "[% get get %]" => "ONE" 142s ok 908 - Line 1391 "[% BLOCK foo %] 142s # hi 142s # [% END %][% PROCESS foo %]" => " 142s # hi 142s # " 142s ok 909 - Line 1392 "[% BLOCK foo %] 142s # hi[% END %][% PROCESS foo %]" => "hi" 142s ok 910 - Line 1393 "[% BLOCK foo %]hi 142s # [% END %][% PROCESS foo %]" => "hi" 142s ok 911 - Line 1394 "[% BLOCK foo %]hi[% nl %][% END %][% PROCESS foo %]" => "hi" 142s ok 912 - Line 1395 "[% BLOCK foo %][% nl %]hi[% END %][% PROCESS foo %]" => "hi" 142s ok 913 - Line 1396 "A[% TRY %] 142s # hi 142s # [% END %]" => "A 142s # hi" 142s ok 914 - Line 1398 "[% FOO %]" => "foo" 142s ### V1DOLLAR ######################################## engine_option (normal) 142s ok 915 - Line 1403 "[% a %]|[% $a %]|[% ${ a } %]|[% ${ "a" } %]" => "A|bar|bar|A" 142s ok 916 - Line 1404 "[% a %]|[% $a %]|[% ${ a } %]|[% ${ "a" } %]" => "A|A|bar|A" 142s ok 917 - Line 1407 "[% a.b.c %]|[% $a.b.c %]|[% a.$b.c %]|[% ${ a.b.c } %]" => "Cb||CB|bar" 142s ok 918 - Line 1408 "[% a.b.c %]|[% $a.b.c %]|[% a.$b.c %]|[% ${ a.b.c } %]" => "Cb|Cb|Cb|bar" 142s ok 919 - Line 1410 "[% "$a" %]/$a/[% "${a}" %]/${a}" => "A/$a/A/${a}" 142s ok 920 - Line 1411 "[% "$a" %]/$a/[% "${a}" %]/${a}" => "A/$a/A/${a}" 142s ok 921 - Line 1412 "[% "$a" %]/$a/[% "${a}" %]/${a}" => "A/A/A/A" 142s ok 922 - Line 1413 "[% "$a" %]/$a/[% "${a}" %]/${a}" => "A/A/A/A" 142s ok 923 - Line 1415 "[% constants.a %]|[% $constants.a %]|[% constants.$a %]" => "A|A|A" 142s ### V2PIPE / V2EQUALS ############################### engine_option (normal) 142s ok 924 - Line 1420 "[%- BLOCK a %]b is [% b %] 142s # [% END %] 142s # [%- PROCESS a b => 237 | repeat(2) %]" => "b is 237 142s # b is 237 142s # " 142s ok 925 - Line 1425 "[%- BLOCK a %]b is [% b %] 142s # [% END %] 142s # [%- PROCESS a b => 237 | repeat(2) %]" => "b is 237237 142s # " 142s ok 926 - Line 1429 "[% ('a' == 'b') || 0 %]" => "0" 142s ok 927 - Line 1430 "[% ('a' != 'b') || 0 %]" => "1" 142s ok 928 - Line 1431 "[% ('a' == 'b') || 0 %]" => "0" 142s ok 929 - Line 1432 "[% ('a' != 'b') || 0 %]" => "1" 142s ok 930 - Line 1433 "[% ('a' == 'b') || 0 %]" => "1" 142s ok 931 - Line 1434 "[% ('a' != 'b') || 0 %]" => "0" 142s ok 932 - Line 1435 "[% ('7' == '7.0') || 0 %]" => "0" 142s ok 933 - Line 1436 "[% ('7' == '7.0') || 0 %]" => "1" 142s ok 934 - Line 1437 "[% (7 == 7.0) || 0 %]" => "1" 142s ok 935 - Line 1438 "[% (7 == 7.0) || 0 %]" => "1" 142s ### configuration ################################### engine_option (normal) 142s ok 936 - Line 1443 "[% a = 7 %]$a" => "7" 142s ok 937 - Line 1444 "[% a = 7 %]$a" => "7" 142s ### PERL ############################################ engine_option (normal) 142s ok 938 - Line 1449 "[% TRY %][% PERL %][% END %][% CATCH ; error; END %]" => "perl error - EVAL_PERL not set" 142s ok 939 - Line 1450 "[% PERL %] print "[% one %]" [% END %]" => "ONE" 142s ok 940 - Line 1451 "[% PERL %] print $stash->get('one') [% END %]" => "ONE" 142s ok 941 - Line 1452 "[% PERL %] print $stash->set('a.b.c', 7) [% END %][% a.b.c %]" => "77" 142s ok 942 - Line 1453 "[% RAWPERL %]$output .= 'interesting'[% END %]" => "interesting" 142s ### recursion prevention ############################ engine_option (normal) 142s ok 943 - Line 1458 "[% BLOCK foo %][% PROCESS bar %][% END %][% BLOCK bar %][% PROCESS foo %][% END %][% PROCESS foo %]" => "" 142s ### META ############################################ engine_option (normal) 142s ok 944 - Line 1463 "[% template.name %]" => "input text" 142s ok 945 - Line 1464 "[% META foo = 'bar' %][% template.foo %]" => "bar" 142s ok 946 - Line 1465 "[% META name = 'bar' %][% template.name %]" => "bar" 142s ok 947 - Line 1466 "[% META foo = 'bar' %][% component.foo %]" => "bar" 142s ok 948 - Line 1467 "[% META foo = 'bar' %][% component = '' %][% component.foo %]|foo" => "|foo" 142s ok 949 - Line 1468 "[% META foo = 'bar' %][% template = '' %][% template.foo %]|foo" => "|foo" 142s ### references ###################################### engine_option (normal) 142s ok 950 - Line 1473 "[% a=3; b=\a; b; a %]" => "33" 142s ok 951 - Line 1474 "[% a=3; b=\a; a=7; b; a %]" => "77" 142s ok 952 - Line 1476 "[% a={}; a.1=7; b=\a.1; b; a.1 %]" => "77" 142s ok 953 - Line 1477 "[% a={}; a.1=7; b=\a.20; a.20=7; b; a.20 %]" => "77" 142s ok 954 - Line 1479 "[% a=[]; a.1=7; b=\a.1; b; a.1 %]" => "77" 142s ok 955 - Line 1480 "[% a=[]; a.1=7; b=\a.20; a.20=7; b; a.20 %]" => "77" 142s ok 956 - Line 1482 "[% \a %]" => "CODE(0xb5b9632335a0)" 142s ok 957 - Line 1483 "[% b=\a; b %]" => "a sub []" 142s ok 958 - Line 1484 "[% b=\a(1); b %]" => "a sub [1]" 142s ok 959 - Line 1485 "[% b=\a; b(2) %]" => "a sub [2]" 142s ok 960 - Line 1486 "[% b=\a(1); b(2) %]" => "a sub [1 2]" 142s ok 961 - Line 1487 "[% f=\j.k; j.k=7; f %]" => "7" 142s ok 962 - Line 1489 "[% a = "a" ; f = {a=>"A",b=>"B"} ; foo = \f.$a ; foo %]" => "A" 142s ok 963 - Line 1490 "[% a = "a" ; f = {a=>"A",b=>"B"} ; foo = \f.$a ; a = "b" ; foo %]" => "A" 142s ok 964 - Line 1491 "[% a = "ab" ; f = "abcd"; foo = \f.replace(a, "-AB-") ; a = "cd"; foo %]" => "-AB-cd" 142s ok 965 - Line 1492 "[% a = "ab" ; f = "abcd"; foo = \f.replace(a, "-AB-").replace("-AB-", "*") ; a = "cd"; foo %]" => "*cd" 142s ok 966 - Line 1494 "[% a = "ab" ; f = "abcd"; foo = \f.replace(a, "-AB-") ; f = "ab"; foo %]" => "-AB-cd" 142s ok 967 - Line 1495 "[% a = "ab" ; f = "abcd"; foo = \f.replace(a, "-AB-").replace("-AB-", "*") ; f = "ab"; foo %]" => "*cd" 142s ### reserved words ################################## engine_option (normal) 142s ok 968 - Line 1506 "[% GET %]" => "" 142s ok 969 - Line 1507 "[% GET GET %]" => "named_get" 142s ok 970 - Line 1508 "[% GET get %]" => "lower_named_get" 142s ok 971 - Line 1509 "[% GET ${'GET'} %]" => "bar" 142s ok 972 - Line 1511 "[% GET = 1 %][% GET GET %]" => "" 142s ok 973 - Line 1512 "[% SET GET = 1 %][% GET GET %]" => "1" 142s ok 974 - Line 1514 "[% GET $hold_get %]" => "named_get" 142s ok 975 - Line 1515 "[% GET $GET %]" => "value of named_get" 142s ok 976 - Line 1516 "[% BLOCK GET %]hi[% END %][% PROCESS GET %]" => "hi" 142s ok 977 - Line 1517 "[% BLOCK foo %]hi[% END %][% PROCESS foo a = GET %]" => "hi" 142s ok 978 - Line 1518 "[% BLOCK foo %]hi[% END %][% PROCESS foo GET = 1 %]" => "" 142s ok 979 - Line 1519 "[% BLOCK foo %]hi[% END %][% PROCESS foo IF GET %]" => "hi" 142s ### embedded items ################################## engine_option (normal) 142s ok 980 - Line 1524 "[% " \" " %]" => " " " 142s ok 981 - Line 1525 "[% " \$foo " %]" => " $foo " 142s ok 982 - Line 1526 "[% " \${foo} " %]" => " ${foo} " 142s ok 983 - Line 1527 "[% " \n " %]" => " 142s # " 142s ok 984 - Line 1528 "[% " \t " %]" => " " 142s ok 985 - Line 1529 "[% " \r " %]" => " " 142s ok 986 - Line 1531 "[% 'foo\'bar' %]" => "foo'bar" 142s ok 987 - Line 1532 "[% "foo\"bar" %]" => "foo"bar" 142s ok 988 - Line 1533 "[% qw(foo \)).1 %]" => ")" 142s ok 989 - Line 1534 "[% qw|foo \||.1 %]" => "|" 142s ok 990 - Line 1536 "[% ' \' ' %]" => " ' " 142s ok 991 - Line 1537 "[% ' \r ' %]" => " \r " 142s ok 992 - Line 1538 "[% ' \n ' %]" => " \n " 142s ok 993 - Line 1539 "[% ' \t ' %]" => " \t " 142s ok 994 - Line 1540 "[% ' $foo ' %]" => " $foo " 142s ok 995 - Line 1542 "[% A = "bar" ; ${ "A" } %]" => "bar" 142s ok 996 - Line 1543 "[% A = "bar" ; "(${ A })" %]" => "(bar)" 142s ok 997 - Line 1544 "[% A = "bar" ; ${ {a => "A"}.a } %]" => "bar" 142s ok 998 - Line 1545 "[% A = "bar" ; "(${ {a => "A"}.a })" %]" => "(A)" 142s ok 999 - Line 1546 "[% A = "bar" ; "(${ ${ {a => "A"}.a } })" %]" => "(bar)" 142s ok 1000 - Line 1547 "[% A = "bar" %](${ {a => "A"}.a })" => "(A)" 142s ok 1001 - Line 1548 "[% A = "bar" %](${ ${ {a => "A"}.a } })" => "(bar)" 142s ok 1002 - Line 1550 "[% "[%" %]" => "[%" 142s ok 1003 - Line 1551 "[% "%]" %]" => "%]" 142s ok 1004 - Line 1552 "[% a = "[% %]" %][% a %]" => "[% %]" 142s ok 1005 - Line 1553 "[% qw([% 1 + 2 %]).join %]" => "[% 1 + 2 %]" 142s ### STRICT ########################################## engine_option (normal) 142s ok 1006 - Line 1557 "[% TRY; foo; CATCH; error; END %]" => "var.undef error - undefined variable: foo in input text" 142s ok 1007 - Line 1558 "[% TRY; foo.bar(1); CATCH; error; END %]" => "var.undef error - undefined variable: foo.bar(1) in input text" 142s ok 1008 - Line 1559 "[% TRY; 1 IF foo.bar.baz; CATCH; error; END %]" => "var.undef error - undefined variable: foo.bar.baz in input text" 142s ok 1009 - Line 1561 "[% foo.bar() %]ok" => "ok" 142s ok 1010 - Line 1562 "[% foo.baz() %]ok" => "" 142s ### EVALUATE ######################################## engine_option (normal) 142s ok 1011 - Line 1568 "[% foo | eval %]" => "baz" 142s ok 1012 - Line 1570 "[% "[% 1 + 2 %]" | eval %]" => "3" 142s ok 1013 - Line 1571 "[% qw([% 1 + 2 %]).join.eval %]" => "3" 142s ok 1014 - Line 1573 "[% f = ">[% TRY; f.eval ; CATCH; 'caught' ; END %]"; f.eval %]" => ">>>>>caught" 142s ok 1015 - Line 1574 "[% f = ">[% TRY; f.eval ; CATCH; 'caught' ; END %]"; f.eval; f.eval %]" => ">>>>>caught>>>>>caught" 142s ok 1016 - Line 1575 "[% f = ">[% TRY; f.eval ; CATCH; 'foo' ; END %]"; f.eval;f.eval %]" => ">>foo>>foo" 142s ok 1017 - Line 1576 "[% '\#set($foo = 12)'|eval(syntax => 'velocity') %]|[% foo %]" => "|12" 142s ok 1018 - Line 1578 "[% f = ">[% TRY; f.eval ; CATCH; 'caught' ; END %]"; EVALUATE f %]" => ">>>>>caught" 142s ok 1019 - Line 1579 "[% f = ">[% TRY; f.eval ; CATCH; 'foo' ; END %]"; EVALUATE f; EVALUATE f %]" => ">>foo>>foo" 142s ok 1020 - Line 1580 "[% EVALUATE '\#set($foo = 12)' syntax => 'velocity' %]|[% foo %]" => "|12" 142s ok 1021 - Line 1582 "[% TRY; '[% bar %]'.eval(STRICT => 1); CATCH; error; END %]" => "var.undef error - undefined variable: bar in input text" 142s 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" 142s ok 1023 - Line 1584 "[% TRY; '[% bar %]'.eval(STRICT => 1); CATCH; error.type; END; bing %] - ok" => "var.undef - ok" 142s ### DUMP ############################################ engine_option (normal) 142s ok 1024 - Line 1592 "[% DUMP a %]" => "DUMP: File "input text" line 1 142s # a = undef; 142s # " 142s ok 1025 - Line 1593 "[% p = DUMP a; p.collapse %]" => "DUMP: File "input text" line 1 a = undef;" 142s ok 1026 - Line 1594 "[% p = DUMP a; p.collapse %]" => "DUMP: File "input text" line 1 a = 's';" 142s ok 1027 - Line 1595 "[% 142s # p = DUMP a; p.collapse %]" => "DUMP: File "input text" line 2 a = 's';" 142s ok 1028 - Line 1596 "[% p = DUMP a, b; p.collapse %]" => "DUMP: File "input text" line 1 a, b = [ 's', undef ];" 142s ok 1029 - Line 1597 "[% p = DUMP a Useqq => 'b'; p.collapse %]" => "DUMP: File "input text" line 1 a Useqq => 'b' = [ 's', { 'Useqq' => 'b' } ];" 142s ok 1030 - Line 1598 "[% p = DUMP a; p.collapse %]" => "DUMP: File "input text" line 1 a = "s";" 142s ok 1031 - Line 1599 "[% p = DUMP a; p.collapse %]|foo" => "|foo" 142s ok 1032 - Line 1600 "[% p = DUMP _a, b; p.collapse %]" => "DUMP: File "input text" line 1 _a, b = [ undef, 'c' ];" 142s ok 1033 - Line 1601 "[% p = DUMP {a => 'b'}; p.collapse %]" => "DUMP: File "input text" line 1 {a => 'b'} = { 'a' => 'b' };" 142s ok 1034 - Line 1602 "[% p = DUMP _a; p.collapse %]" => "DUMP: File "input text" line 1 _a = undef;" 142s ok 1035 - Line 1603 "[% p = DUMP a; p.collapse %]" => "DUMP: File "input text" line 1 a = { 'b' => 'c' };" 142s ok 1036 - Line 1604 "[% p = DUMP a; p.collapse %]" => "DUMP: File "input text" line 1 a = {};" 142s ok 1037 - Line 1605 "[% p = DUMP a; p.collapse %]" => "DUMP: File "input text" line 1 a = {};" 142s ok 1038 - Line 1606 "[% p = DUMP a; p.collapse %]" => "DUMP: File "input text" line 1 Dump(7)" 142s ok 1039 - Line 1607 "[% p = DUMP a; p.collapse %]" => "a = 's';" 142s ok 1040 - Line 1608 "[% p = DUMP a; p.collapse %]" => "
a = 's'; 
" 142s ok 1041 - Line 1610 "[% p = DUMP a; p.collapse %]" => "
a = 's'; 
" 142s ok 1042 - Line 1611 "[% p = DUMP a; p.collapse %]" => "a = 's';" 142s ok 1043 - Line 1613 "[% SET global; p = DUMP; p.collapse %]" => "DUMP: File "input text" line 1 EntireStash = { 'a' => 'b', 'global' => undef };" 142s ok 1044 - Line 1614 "[% SET global; p = DUMP; p.collapse %]" => "DUMP: File "input text" line 1 EntireStash = { 'a' => 'b', 'global' => undef };" 142s ok 1045 - Line 1615 "[% SET global; p = DUMP; p.collapse %]" => "DUMP: File "input text" line 1" 142s ### SYNTAX ########################################## engine_option (normal) 142s ok 1046 - Line 1622 "[%- BLOCK a %]b is [% b %][% END %][% PROCESS a b => 237 | repeat(2) %]" => "" 142s ok 1047 - Line 1623 "[%- BLOCK a %]b is [% b %][% END %][% PROCESS a b => 237 | repeat(2) %]" => "b is 237237" 142s ok 1048 - Line 1624 "[%- BLOCK a %]b is [% b %][% END %][% PROCESS a b => 237 | repeat(2) %]" => "b is 237237" 142s ok 1049 - Line 1625 "[%- BLOCK a %]b is [% b %][% END %][% PROCESS a b => 237 | repeat(2) %]" => "b is 237237" 142s ok 1050 - Line 1626 "[%- BLOCK a %]b is [% b %][% END %][% PROCESS a b => 237 | repeat(2) %]" => "b is 237b is 237" 142s ok 1051 - Line 1627 "[%- BLOCK a %]b is [% b %][% END %][% PROCESS a b => 237 | repeat(2) %]" => "b is 237b is 237" 142s ok 1052 - Line 1628 "[%- BLOCK a %]b is [% b %][% END %][% PROCESS a b => 237 | repeat(2) %]" => "b is 237b is 237" 142s ok 1053 - Line 1631 "[% a %]|[% $a %]|[% ${ a } %]|[% ${ "a" } %]" => "A|bar|bar|A" 142s ok 1054 - Line 1632 "[% a %]|[% $a %]|[% ${ a } %]|[% ${ "a" } %]" => "A|bar|bar|A" 142s ok 1055 - Line 1633 "[% a %]|[% $a %]|[% ${ a } %]|[% ${ "a" } %]" => "A|A|bar|A" 142s ok 1056 - Line 1635 "" => "FOO" 142s ok 1057 - Line 1636 "" => "7 8" 142s ok 1058 - Line 1637 "" => "1" 142s ok 1059 - Line 1638 "" => "1" 142s ok 1060 - Line 1639 "d" => "" 142s ok 1061 - Line 1641 "[% ""|eval(syntax => 'hte') %] = [% 6 %]" => "6 = 6" 142s ok 1062 - Line 1642 "[% ""|eval(syntax => 'ht') %] = [% 6 %]" => "" 142s ok 1063 - Line 1643 "[% ""|eval(syntax => 'ht') %] = [% 12 %]" => "12 = 12" 142s ### CONFIG ########################################## engine_option (normal) 142s ok 1064 - Line 1651 "[% CONFIG ANYCASE => 1 %][% get 234 %]" => "234" 142s ok 1065 - Line 1652 "[% CONFIG anycase => 1 %][% get 234 %]" => "234" 142s ok 1066 - Line 1653 "[% CONFIG PRE_CHOMP => '-' %] 142s # [% 234 %]" => "234" 142s ok 1067 - Line 1654 "[% CONFIG POST_CHOMP => '-' %][% 234 %] 142s # " => "234" 142s ok 1068 - Line 1655 "[% CONFIG INTERPOLATE => 1 %]${ 234 }" => "234" 142s ok 1069 - Line 1656 "[% CONFIG V1DOLLAR => 1 %][% a = 234 %][% $a %]" => "234" 142s ok 1070 - Line 1657 "[% CONFIG V2PIPE => 1 %][% BLOCK a %]b is [% b %][% END %][% PROCESS a b => 234 | repeat(2) %]" => "b is 234b is 234" 142s ok 1071 - Line 1658 "[% CONFIG V2EQUALS => 1 %][% ('7' == '7.0') || 0 %]" => "0" 142s ok 1072 - Line 1659 "[% CONFIG V2EQUALS => 0 %][% ('7' == '7.0') || 0 %]" => "1" 142s ok 1073 - Line 1661 "[% CONFIG BOGUS => 2 %]bar" => "" 142s ok 1074 - Line 1663 "[% CONFIG ANYCASE %]|[% CONFIG ANYCASE => 1 %][% CONFIG ANYCASE %]" => "CONFIG ANYCASE = undef|CONFIG ANYCASE = 1" 142s ok 1075 - Line 1664 "[% CONFIG ANYCASE %]|[% CONFIG ANYCASE => 1 %][% CONFIG ANYCASE %]" => "CONFIG ANYCASE = undef|CONFIG ANYCASE = 1" 142s ok 1076 - Line 1666 "[% "[% GET 1+2+3 %]" | eval %] = [% get 6 %]" => "" 142s ok 1077 - Line 1667 "[% CONFIG ANYCASE => 1 %][% get 6 %]" => "6" 142s ok 1078 - Line 1668 "[% CONFIG ANYCASE => 1 %][% "[% get 1+2+3 %]" | eval %] = [% get 6 %]" => "6 = 6" 142s ok 1079 - Line 1669 "[% "[% CONFIG ANYCASE => 1 %][% get 1+2+3 %]" | eval %] = [% get 6 %]" => "" 142s ok 1080 - Line 1670 "[% "[% CONFIG ANYCASE => 1 %][% get 1+2+3 %]" | eval %] = [% GET 6 %]" => "6 = 6" 142s ok 1081 - Line 1671 "[% CONFIG SYNTAX => 'hte' %][% ""|eval %] = [% 6 %]" => "6 = 6" 142s ok 1082 - Line 1672 "[% "[% get 1+2+3 %]" | eval(ANYCASE => 1) %] = [% GET 6 %]" => "6 = 6" 142s ok 1083 - Line 1674 "[% CONFIG DUMP %]|[% CONFIG DUMP => 0 %][% DUMP %]bar" => "CONFIG DUMP = undef|bar" 142s ok 1084 - Line 1675 "[% CONFIG DUMP => {Useqq=>1, header=>0, html=>0} %][% DUMP 'foo' %]" => "'foo' = "foo"; 142s # " 142s ok 1085 - Line 1676 "[% CONFIG VMETHOD_FUNCTIONS => 0 %][% sprintf('%d %d', 7, 8) %] d" => " d" 142s ok 1086 - Line 1677 "[% TRY; foo; CONFIG STRICT => 1; bar; CATCH; error; END %]" => "var.undef error - undefined variable: bar in input text" 142s 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" 142s 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" 142s ok 1089 - Line 1681 "[% CONFIG AUTO_FILTER => "html"; foo %]" => "&" 142s ### DONE ############################################ engine_option (normal) 142s ### GET ############################################# engine_option (compile_perl) 142s ok 1090 - Line 159 "[% foo %]" => "" 142s ok 1091 - Line 160 "[% foo %]" => "7" 142s ok 1092 - Line 161 "[% foo %]" => "7" 142s ok 1093 - Line 162 "[% foo %]" => "7" 142s ok 1094 - Line 163 "[% foo %]" => "Stash" 142s ok 1095 - Line 164 "[% foo %]" => "V" 142s ok 1096 - Line 165 "[% bar %]" => "" 142s ok 1097 - Line 166 "[% foo %]" => "Stash" 142s ok 1098 - Line 167 "[% bar %]" => "" 142s ok 1099 - Line 168 "[% foo %]" => "Stash" 142s ok 1100 - Line 169 "[% foo %]" => "Stash" 142s ok 1101 - Line 170 "[% foo %][% foo %][% foo %]" => "777" 142s ok 1102 - Line 171 "[% foo() %]" => "7" 142s ok 1103 - Line 172 "[% foo.bar %]" => "" 142s ok 1104 - Line 173 "[% foo.bar %]" => "" 142s ok 1105 - Line 174 "[% foo.bar %]" => "7" 142s ok 1106 - Line 175 "[% foo().bar %]" => "7" 142s ok 1107 - Line 176 "[% foo.0 %]" => "7" 142s ok 1108 - Line 177 "[% foo.10 %]" => "" 142s ok 1109 - Line 178 "[% foo %]" => "7" 142s ok 1110 - Line 179 "[% foo(7) %]" => "7" 142s ok 1111 - Line 180 "[% foo.length %]" => "1" 142s ok 1112 - Line 181 "[% foo.0 %]" => "7" 142s ok 1113 - Line 182 "[% foo(bar) %]" => "7" 142s ok 1114 - Line 183 "[% foo(bar.baz) %]" => "7" 142s ok 1115 - Line 184 "[% foo.seven %]" => "7" 142s ok 1116 - Line 185 "[% foo.seven() %]" => "7" 142s ok 1117 - Line 186 "[% foo.seven.length %]" => "1" 142s ok 1118 - Line 187 "[% foo.echo(7) %]" => "7" 142s ok 1119 - Line 188 "[% foo.many.0 %]" => "1" 142s ok 1120 - Line 189 "[% foo.many.10 %]" => "" 142s ok 1121 - Line 190 "[% foo.nomethod %]" => "" 142s ok 1122 - Line 191 "[% foo.nomethod.0 %]" => "" 142s ok 1123 - Line 193 "[% GET foo %]" => "" 142s ok 1124 - Line 194 "[% GET foo %]" => "7" 142s ok 1125 - Line 195 "[% GET foo.bar %]" => "" 142s ok 1126 - Line 196 "[% GET foo.bar %]" => "" 142s ok 1127 - Line 197 "[% GET foo.bar %]" => "7" 142s ok 1128 - Line 198 "[% GET foo.0 %]" => "7" 142s ok 1129 - Line 199 "[% GET foo %]" => "7" 142s ok 1130 - Line 200 "[% GET foo(7) %]" => "7" 142s ok 1131 - Line 202 "[% $name %]" => "" 142s ok 1132 - Line 203 "[% $name %]" => "7" 142s ok 1133 - Line 204 "[% $name.bar %]" => "" 142s ok 1134 - Line 205 "[% $name.bar %]" => "" 142s ok 1135 - Line 206 "[% $name.bar %]" => "7" 142s ok 1136 - Line 207 "[% $name().bar %]" => "7" 142s ok 1137 - Line 208 "[% $name.0 %]" => "7" 142s ok 1138 - Line 209 "[% $name %]" => "7" 142s ok 1139 - Line 210 "[% $name(7) %]" => "7" 142s ok 1140 - Line 212 "[% GET $name %]" => "" 142s ok 1141 - Line 213 "[% GET $name %]" => "7" 142s ok 1142 - Line 214 "[% GET $name.bar %]" => "" 142s ok 1143 - Line 215 "[% GET $name.bar %]" => "" 142s ok 1144 - Line 216 "[% GET $name.bar %]" => "7" 142s ok 1145 - Line 217 "[% GET $name.0 %]" => "7" 142s ok 1146 - Line 218 "[% GET $name %]" => "7" 142s ok 1147 - Line 219 "[% GET $name(7) %]" => "7" 142s ok 1148 - Line 221 "[% $name %]" => "" 142s ok 1149 - Line 222 "[% GET $name %]" => "" 142s ok 1150 - Line 224 "[% ${name} %]" => "" 142s ok 1151 - Line 225 "[% ${name} %]" => "7" 142s ok 1152 - Line 226 "[% ${name}.bar %]" => "" 142s ok 1153 - Line 227 "[% ${name}.bar %]" => "" 142s ok 1154 - Line 228 "[% ${name}.bar %]" => "7" 142s ok 1155 - Line 229 "[% ${name}().bar %]" => "7" 142s ok 1156 - Line 230 "[% ${name}.0 %]" => "7" 142s ok 1157 - Line 231 "[% ${name} %]" => "7" 142s ok 1158 - Line 232 "[% ${name}(7) %]" => "7" 142s ok 1159 - Line 234 "[% GET ${name} %]" => "" 142s ok 1160 - Line 235 "[% GET ${name} %]" => "7" 142s ok 1161 - Line 236 "[% GET ${name}.bar %]" => "" 142s ok 1162 - Line 237 "[% GET ${name}.bar %]" => "" 142s ok 1163 - Line 238 "[% GET ${name}.bar %]" => "7" 142s ok 1164 - Line 239 "[% GET ${name}.0 %]" => "7" 142s ok 1165 - Line 240 "[% GET ${name} %]" => "7" 142s ok 1166 - Line 241 "[% GET ${name}(7) %]" => "7" 142s ok 1167 - Line 243 "[% ${name} %]" => "" 142s ok 1168 - Line 244 "[% GET ${name} %]" => "" 142s ok 1169 - Line 245 "[% GET ${'foo'} %]" => "bar" 142s ok 1170 - Line 247 "[% foo.$name %]" => "" 142s ok 1171 - Line 248 "[% foo.$name %]" => "7" 142s ok 1172 - Line 249 "[% foo.$name.baz %]" => "" 142s ok 1173 - Line 251 "[% "hi" %]" => "hi" 142s ok 1174 - Line 252 "[% "hi %]" => "" 142s ok 1175 - Line 253 "[% 'hi' %]" => "hi" 142s ok 1176 - Line 254 "[% 'hi %]" => "" 142s ok 1177 - Line 255 "[% "$foo" %]" => "7" 142s ok 1178 - Line 256 "[% "hi $foo" %]" => "hi 7" 142s ok 1179 - Line 257 "[% "hi ${foo}" %]" => "hi 7" 142s ok 1180 - Line 258 "[% 'hi $foo' %]" => "hi $foo" 142s ok 1181 - Line 259 "[% 'hi ${foo}' %]" => "hi ${foo}" 142s ok 1182 - Line 260 "[% 7 %]" => "7" 142s ok 1183 - Line 261 "[% -7 %]" => "-7" 142s ok 1184 - Line 263 "[% "hi ${foo.seven}" %]" => "hi 7" 142s ok 1185 - Line 264 "[% "hi ${foo.echo(7)}" %]" => "hi 7" 142s ok 1186 - Line 266 "[% _foo %]2" => "2" 142s ok 1187 - Line 267 "[% $bar %]2" => "2" 142s ok 1188 - Line 268 "[% __foo %]2" => "2" 142s ok 1189 - Line 270 "[% qw/Foo Bar Baz/.0 %]" => "Foo" 142s ok 1190 - Line 271 "[% [0..10].-1 %]" => "10" 142s ok 1191 - Line 272 "[% [0..10].${ 2.3 } %]" => "2" 142s ok 1192 - Line 274 "[% (1 + 2)() %]" => "" 142s ok 1193 - Line 275 "[% (1 + 2) %]" => "3" 142s ok 1194 - Line 276 "[% (a) %]" => "2" 142s ok 1195 - Line 277 "[% ('foo') %]" => "foo" 142s ok 1196 - Line 278 "[% (a(2)) %]" => "2" 142s ok 1197 - Line 281 "[% JS 3 %]" => "3" 142s ok 1198 - Line 282 "[% JS 3 %]" => "43" 142s ok 1199 - Line 283 "[% JS; 3; END %]" => "" 142s ### SET ############################################# engine_option (compile_perl) 142s ok 1200 - Line 288 "[% SET foo bar %][% foo %]" => "" 142s ok 1201 - Line 289 "[% SET foo = 1 %][% foo %]" => "1" 142s ok 1202 - Line 290 "[% SET foo = 1 bar = 2 %][% foo %][% bar %]" => "12" 142s ok 1203 - Line 291 "[% SET foo bar = 1 %][% foo %]" => "" 142s ok 1204 - Line 292 "[% SET foo = 1 ; bar = 1 %][% foo %]" => "1" 142s ok 1205 - Line 293 "[% SET foo = 1 %][% SET foo %][% foo %]" => "" 142s ok 1206 - Line 295 "[% SET foo = [] %][% foo.0 %]" => "" 142s ok 1207 - Line 296 "[% SET foo = [1, 2, 3] %][% foo.1 %]" => "2" 142s ok 1208 - Line 297 "[% SET foo = {} %][% foo.0 %]" => "" 142s ok 1209 - Line 298 "[% SET foo = {1 => 2} %][% foo.1 %]" => "2" 142s ok 1210 - Line 299 "[% SET foo = {'1' => 2} %][% foo.1 %]" => "2" 142s ok 1211 - Line 301 "[% SET name = 1 %][% SET foo = name %][% foo %]" => "1" 142s ok 1212 - Line 302 "[% SET name = 1 %][% SET foo = $name %][% foo %]" => "" 142s ok 1213 - Line 303 "[% SET name = 1 %][% SET foo = ${name} %][% foo %]" => "" 142s ok 1214 - Line 304 "[% SET name = 1 %][% SET foo = "$name" %][% foo %]" => "1" 142s ok 1215 - Line 305 "[% SET name = 1 foo = name %][% foo %]" => "1" 142s ok 1216 - Line 306 "[% SET name = 1 %][% SET foo = {$name => 2} %][% foo.1 %]" => "2" 142s ok 1217 - Line 307 "[% SET name = 1 %][% SET foo = {"$name" => 2} %][% foo.1 %]" => "2" 142s ok 1218 - Line 308 "[% SET name = 1 %][% SET foo = {${name} => 2} %][% foo.1 %]" => "2" 142s ok 1219 - Line 310 "[% SET name = 7 %][% SET foo = {'2' => name} %][% foo.2 %]" => "7" 142s ok 1220 - Line 311 "[% SET name = 7 %][% SET foo = {'2' => "$name"} %][% foo.2 %]" => "7" 142s ok 1221 - Line 313 "[% SET name = 7 %][% SET foo = [1, name, 3] %][% foo.1 %]" => "7" 142s ok 1222 - Line 314 "[% SET name = 7 %][% SET foo = [1, "$name", 3] %][% foo.1 %]" => "7" 142s ok 1223 - Line 316 "[% SET foo = { bar => { baz => [0, 7, 2] } } %][% foo.bar.baz.1 %]" => "7" 142s ok 1224 - Line 318 "[% SET foo.bar = 1 %][% foo.bar %]" => "1" 142s ok 1225 - Line 319 "[% SET foo.bar.baz.bing = 1 %][% foo.bar.baz.bing %]" => "1" 142s ok 1226 - Line 320 "[% SET foo.bar.2 = 1 %][% foo.bar.2 %] [% foo.bar.size %]" => "1 1" 142s ok 1227 - Line 321 "[% SET foo.bar = [] %][% SET foo.bar.2 = 1 %][% foo.bar.2 %] [% foo.bar.size %]" => "1 3" 142s ok 1228 - Line 323 "[% SET name = 'two' %][% SET $name = 3 %][% two %]" => "3" 142s ok 1229 - Line 324 "[% SET name = 'two' %][% SET ${name} = 3 %][% two %]" => "3" 142s ok 1230 - Line 325 "[% SET name = 2 %][% SET foo.$name = 3 %][% foo.2 %]" => "3" 142s ok 1231 - Line 326 "[% SET name = 2 %][% SET foo.$name = 3 %][% foo.$name %]" => "3" 142s ok 1232 - Line 327 "[% SET name = 2 %][% SET foo.${name} = 3 %][% foo.2 %]" => "3" 142s ok 1233 - Line 328 "[% SET name = 2 %][% SET foo.${name} = 3 %][% foo.2 %]" => "3" 142s ok 1234 - Line 329 "[% SET name = 'two' %][% SET $name.foo = 3 %][% two.foo %]" => "3" 142s ok 1235 - Line 330 "[% SET name = 'two' %][% SET ${name}.foo = 3 %][% two.foo %]" => "3" 142s ok 1236 - Line 331 "[% SET name = 'two' %][% SET foo.$name.foo = 3 %][% foo.two.foo %]" => "3" 142s ok 1237 - Line 332 "[% SET name = 'two' %][% SET foo.${name}.foo = 3 %][% foo.two.foo %]" => "3" 142s ok 1238 - Line 334 "[% SET foo = [1..10] %][% foo.6 %]" => "7" 142s ok 1239 - Line 335 "[% SET foo = [10..1] %][% foo.6 %]" => "" 142s ok 1240 - Line 336 "[% SET foo = [-10..-1] %][% foo.6 %]" => "-4" 142s ok 1241 - Line 337 "[% SET foo = [1..10, 21..30] %][% foo.12 %]" => "23" 142s ok 1242 - Line 338 "[% SET foo = [..100] bar = 7 %][% bar %][% foo.0 %]" => "" 142s ok 1243 - Line 339 "[% SET foo = [100..] bar = 7 %][% bar %][% foo.0 %]" => "" 142s ok 1244 - Line 340 "[% SET foo = ['a'..'z'] %][% foo.6 %]" => "g" 142s ok 1245 - Line 341 "[% SET foo = ['z'..'a'] %][% foo.6 %]" => "" 142s ok 1246 - Line 342 "[% SET foo = ['a'..'z'].reverse %][% foo.6 %]" => "t" 142s ok 1247 - Line 344 "[% foo = 1 %][% foo %]" => "1" 142s ok 1248 - Line 345 "[% foo = 1 ; bar = 2 %][% foo %][% bar %]" => "12" 142s ok 1249 - Line 346 "[% foo.bar = 2 %][% foo.bar %]" => "2" 142s ok 1250 - Line 348 "[% a = "a" %]|[% (b = a) %]|[% a %]|[% b %]" => "|a|a|a" 142s ok 1251 - Line 349 "[% a = "a" %][% (c = (b = a)) %][% a %][% b %][% c %]" => "aaaa" 142s ok 1252 - Line 351 "[% a = qw{Foo Bar Baz} ; a.2 %]" => "Baz" 142s ok 1253 - Line 353 "[% _foo = 1 %][% _foo %]2" => "2" 142s ok 1254 - Line 354 "[% foo._bar %]2" => "2" 142s ### multiple statements in same tag ################# engine_option (compile_perl) 142s ok 1255 - Line 359 "[% foo; %]" => "1" 142s ok 1256 - Line 360 "[% GET foo; %]" => "1" 142s ok 1257 - Line 361 "[% GET foo; GET foo %]" => "11" 142s ok 1258 - Line 362 "[% GET foo GET foo %]" => "11" 142s ok 1259 - Line 363 "[% GET foo GET foo %]" => "" 142s ok 1260 - Line 365 "[% foo = 1 bar = 2 %][% foo %][% bar %]" => "12" 142s ok 1261 - Line 366 "[% foo = 1 bar = 2 %][% foo = 3 bar %][% foo %][% bar %]" => "232" 142s ok 1262 - Line 367 "[% a = 1 a = a + 2 a %]" => "3" 142s ok 1263 - Line 369 "[% foo = 1 bar = 2 %][% foo %][% bar %]" => "" 142s ok 1264 - Line 370 "[% foo = 1 bar = 2 %][% foo = 3 bar %][% foo %][% bar %]" => "" 142s ok 1265 - Line 371 "[% a = 1 a = a + 2 a %]" => "" 142s ### CALL / DEFAULT ################################## engine_option (compile_perl) 142s ok 1266 - Line 377 "[% DEFAULT foo = 7 %][% foo %]" => "7" 142s ok 1267 - Line 378 "[% SET foo = 5 %][% DEFAULT foo = 7 %][% foo %]" => "5" 142s ok 1268 - Line 379 "[% DEFAULT foo.bar.baz.bing = 6 %][% foo.bar.baz.bing %]" => "6" 142s ok 1269 - Line 382 "[% foo %]" => "hi" 142s ok 1270 - Line 383 "[% GET foo %]" => "hi" 142s ok 1271 - Line 384 "[% CALL foo %]" => "" 142s ok 1272 - CALL method actually called var 142s ### scalar vmethods ################################# engine_option (compile_perl) 142s ok 1273 - Line 391 "[% n.0 %]" => "7" 142s ok 1274 - Line 392 "[% n.abs %]" => "7" 142s ok 1275 - Line 393 "[% n.abs %]" => "7" 142s ok 1276 - Line 394 "[% n.atan2.substr(0, 6) %]" => "1.5707" 142s ok 1277 - Line 395 "[% (4 * n.atan2(1)).substr(0, 7) %]" => "3.14159" 142s ok 1278 - Line 396 "[% n.chunk(3).join %]" => "abc def g" 142s ok 1279 - Line 397 "[% n.chunk(-3).join %]" => "a bcd efg" 142s ok 1280 - Line 398 "[% n|collapse %]" => "a b" 142s ok 1281 - Line 399 "[% n.cos.substr(0,5) %]" => "1" 142s ok 1282 - Line 400 "[% n.cos.substr(0,5) %]" => "0.707" 142s ok 1283 - Line 401 "[% n.defined %]" => "1" 142s ok 1284 - Line 402 "[% n.defined %]" => "" 142s ok 1285 - Line 403 "[% n.defined %]" => "1" 142s ok 1286 - Line 404 "[% n.dquote %]" => "(\n|\\|\")" 142s ok 1287 - Line 405 "[% n.exp.substr(0,5) %]" => "2.718" 142s ok 1288 - Line 406 "[% n.exp.log.substr(0,5) %]" => "8" 142s ok 1289 - Line 407 "[% n.fmt %]" => "7" 142s ok 1290 - Line 408 "[% n.fmt('%02d') %]" => "07" 142s ok 1291 - Line 409 "[% n.fmt('%0*d', 3) %]" => "007" 142s ok 1292 - Line 410 "[% n.fmt('(%s)') %]" => "(a 142s # b)" 142s ok 1293 - Line 411 "[% n|format('%02d') %]" => "07" 142s ok 1294 - Line 412 "[% n|format('%0*d', 3) %]" => "007" 142s ok 1295 - Line 413 "[% n|format('(%s)') %]" => "(a) 142s # (b)" 142s ok 1296 - Line 414 "[% n.hash.items.1 %]" => "b" 142s ok 1297 - Line 415 "[% n.hex %]" => "255" 142s ok 1298 - Line 416 "[% n|html %]" => "&<>"'" 142s ok 1299 - Line 418 "[% n|xml %]" => "&<>"'" 142s ok 1300 - Line 419 "[% n|indent %]" => " a 142s # b" 142s ok 1301 - Line 420 "[% n|indent(2) %]" => " a 142s # b" 142s ok 1302 - Line 421 "[% n|indent('wow ') %]" => "wow a 142s # wow b" 142s ok 1303 - Line 422 "[% n.int %]" => "123" 142s ok 1304 - Line 423 "[% n.int %]" => "123" 142s ok 1305 - Line 424 "[% n.int %]" => "0" 142s ok 1306 - Line 425 "[% n.item %]" => "7" 142s ok 1307 - Line 426 "[% n.lc %]" => "abc" 142s ok 1308 - Line 427 "[% n|lcfirst %]" => "fOO" 142s ok 1309 - Line 428 "[% n.length %]" => "3" 142s ok 1310 - Line 429 "[% n.list.0 %]" => "abc" 142s ok 1311 - Line 430 "[% n.log.substr(0,5) %]" => "4.605" 142s ok 1312 - Line 431 "[% n|lower %]" => "abc" 142s ok 1313 - Line 432 "[% n.match('foo').join %]" => "" 142s ok 1314 - Line 433 "[% n.match('foo').join %]" => "1" 142s ok 1315 - Line 434 "[% n.match('foo',1).join %]" => "foo" 142s ok 1316 - Line 435 "[% n.match('(foo)').join %]" => "foo" 142s ok 1317 - Line 436 "[% n.match('(foo)').join %]" => "foo" 142s ok 1318 - Line 437 "[% n.match('(foo)',1).join %]" => "foo foo" 142s ok 1319 - Line 438 "[% n.null %]" => "" 142s ok 1320 - Line 439 "[% n.oct %]" => "255" 142s ok 1321 - Line 440 "[% n.rand %]" => "1.5264831683424" 142s ok 1322 - Line 441 "[% n.rand %]" => "0.335701955774084" 142s ok 1323 - Line 442 "[% n.remove('bc') %]" => "a" 142s ok 1324 - Line 443 "[% n.remove('bc') %]" => "aa" 142s ok 1325 - Line 444 "[% n.repeat %]" => "1" 142s ok 1326 - Line 445 "[% n.repeat(0) %]" => "" 142s ok 1327 - Line 446 "[% n.repeat(1) %]" => "1" 142s ok 1328 - Line 447 "[% n.repeat(2) %]" => "11" 142s ok 1329 - Line 448 "[% n.repeat(2,'|') %]" => "1|1" 142s ok 1330 - Line 449 "[% n.replace('foo', 'bar') %]" => "barbar" 142s ok 1331 - Line 450 "[% n.replace('(foo)', 'bar$1') %]" => "barfoobarfoo" 142s ok 1332 - Line 451 "[% n.replace('foo', 'bar', 0) %]" => "barfoo" 142s ok 1333 - Line 452 "[% n.search('foo') %]" => "" 142s ok 1334 - Line 453 "[% n.search('foo') %]" => "1" 142s ok 1335 - Line 454 "[% n.sin.substr(0,5) %]" => "0" 142s ok 1336 - Line 455 "[% n.sin.substr(0,5) %]" => "1" 142s ok 1337 - Line 456 "[% n.size %]" => "1" 142s ok 1338 - Line 457 "[% n.split.join('|') %]" => "abc" 142s ok 1339 - Line 458 "[% n.split.join('|') %]" => "a|b|c" 142s ok 1340 - Line 459 "[% n.split.join('|') %]" => "a|b|c" 142s ok 1341 - Line 460 "[% n.split(u,2).join('|') %]" => "a|b c" 142s ok 1342 - Line 462 "[% n.split('/').join('|') %]" => "a|b|c" 142s ok 1343 - Line 463 "[% n.split('/', 2).join('|') %]" => "a|b/c" 142s ok 1344 - Line 464 "[% n.sprintf(7) %]" => "7" 142s ok 1345 - Line 465 "[% n.sprintf(3, 7, 12) %]" => "007 12" 142s ok 1346 - Line 466 "[% n.sqrt %]" => "3" 142s ok 1347 - Line 467 "[% n.squote %]" => "( 142s # |\\|\')" 142s ok 1348 - Line 468 "[% n.srand; 12 %]" => "12" 142s ok 1349 - Line 474 "[% n|trim %]" => "a b" 142s ok 1350 - Line 475 "[% n.uc %]" => "FOO" 142s ok 1351 - Line 476 "[% n|ucfirst %]" => "Foo" 142s ok 1352 - Line 477 "[% n|upper %]" => "FOO" 142s ok 1353 - Line 478 "[% n|uri %]" => "a%20b" 142s ok 1354 - Line 480 "[% n.fmt('%c') %]" => "B" 142s ok 1355 - Line 481 "[% n.fmt('%3X') %]" => " C" 142s ok 1356 - Line 482 "[% n.fmt('%-3X') %]" => "C " 142s ok 1357 - Line 483 "[% n.fmt('%03X') %]" => "00C" 142s ok 1358 - Line 484 "[% n.fmt('%03X') %]" => "00C" 142s ok 1359 - Line 485 "[% n.fmt('%\#03X') %]" => "0XC" 142s ok 1360 - Line 486 "[% n.fmt('%\#07X') %]" => "0X0000C" 142s ok 1361 - Line 488 "[% n.fmt('%o') %]" => "10" 142s ok 1362 - Line 489 "[% n.fmt('%\#o') %]" => "010" 142s ok 1363 - Line 490 "[% n.fmt('%\#o') %]" => "0" 142s ok 1364 - Line 492 "[% n.fmt('%02d') %]" => "07" 142s ok 1365 - Line 493 "[% n.fmt('%04.2d') %]" => " 07" 142s ok 1366 - Line 494 "[% n.fmt('%+04.2d') %]" => " +07" 142s ok 1367 - Line 495 "[% n.fmt('% 04.2d') %]" => " 07" 142s ok 1368 - Line 496 "[% n.fmt('% +04.2d') %]" => " +07" 142s ok 1369 - Line 497 "[% n.fmt('%02f') %]" => "7.000000" 142s ok 1370 - Line 498 "[% n.fmt('%04.2f') %]" => "7.00" 142s ok 1371 - Line 499 "[% n.fmt('%05.2f') %]" => "07.00" 142s ok 1372 - Line 500 "[% n.fmt('% 5.2f') %]" => " 7.00" 142s ok 1373 - Line 501 "[% n.fmt('%+04.2f') %]" => "+7.00" 142s ok 1374 - Line 502 "[% n.fmt('% 04.2f') %]" => " 7.00" 142s ok 1375 - Line 503 "[% n.fmt('% +6.2f') %]" => " +7.00" 142s ok 1376 - Line 504 "[% n.fmt('%0+6.2f') %]" => "+07.00" 142s ok 1377 - Line 505 "[% n.fmt('%.5g') %]" => "12345" 142s ok 1378 - Line 506 "[% n.fmt('%.5g') %]" => "1.2346e+06" 142s ### list vmethods ################################### engine_option (compile_perl) 142s ok 1379 - Line 511 "[% a.defined %]" => "1" 142s ok 1380 - Line 512 "[% a.defined(1) %]" => "1" 142s ok 1381 - Line 513 "[% a.defined(3) %]" => "" 142s ok 1382 - Line 514 "[% a.first %]" => "2" 142s ok 1383 - Line 515 "[% a.first(3).join %]" => "2 3 4" 142s ok 1384 - Line 516 "[% a.fmt %]" => "2 3" 142s ok 1385 - Line 517 "[% a.fmt('%02d') %]" => "02 03" 142s ok 1386 - Line 518 "[% a.fmt('%02d',' ') %]" => "02 03" 142s ok 1387 - Line 519 "[% a.fmt('%02d','|') %]" => "02|03" 142s ok 1388 - Line 520 "[% a.fmt('%0*d','|', 3) %]" => "002|003" 142s ok 1389 - Line 521 "[% a.grep.join %]" => "2 3" 142s ok 1390 - Line 522 "[% a.grep(2).join %]" => "2" 142s ok 1391 - Line 523 "[% a.grep(->(n){n % 2}).join %]" => "3 5 7" 142s ok 1392 - Line 524 "[% a.hash.items.join %]" => "2 3" 142s ok 1393 - Line 525 "[% a.hash(5).items.sort.join %]" => "2 3 5 6" 142s ok 1394 - Line 526 "[% a.import(5) %]|[% a.join %]" => "|2 3" 142s ok 1395 - Line 528 "[% a.import([5]) %]|[% a.join %]" => "|2 3 5" 142s ok 1396 - Line 530 "[% a.item %]" => "2" 142s ok 1397 - Line 531 "[% a.item(1) %]" => "3" 142s ok 1398 - Line 532 "[% a.join %]" => "2 3" 142s ok 1399 - Line 533 "[% a.join('|') %]" => "2|3" 142s ok 1400 - Line 534 "[% a.last %]" => "10" 142s ok 1401 - Line 535 "[% a.last(3).join %]" => "8 9 10" 142s ok 1402 - Line 536 "[% a.list.join %]" => "2 3" 142s ok 1403 - Line 537 "[% a.map(->(n){ n.repeat(3) }).join %]" => "222 333" 142s ok 1404 - Line 538 "[% a.max %]" => "1" 142s ok 1405 - Line 539 "[% a.merge(5).join %]" => "2 3" 142s ok 1406 - Line 540 "[% a.merge([5]).join %]" => "2 3 5" 142s ok 1407 - Line 541 "[% a.merge([5]).null %][% a.join %]" => "2 3" 142s ok 1408 - Line 542 "[% a.nsort.join %]" => "1 2 3" 142s ok 1409 - Line 543 "[% a.nsort('b').0.b %]" => "7" 142s ok 1410 - Line 544 "[% a.pop %][% a.join %]" => "32" 142s ok 1411 - Line 545 "[% a.push(3) %][% a.join %]" => "2 3 3" 142s ok 1412 - Line 546 "[% a.pick %]" => "2" 142s ok 1413 - Line 547 "[% a.pick(5).join('') %]" => "23223" 142s ok 1414 - Line 548 "[% a.reverse.join %]" => "3 2" 142s ok 1415 - Line 549 "[% a.shift %][% a.join %]" => "23" 142s ok 1416 - Line 550 "[% a.size %]" => "2" 142s ok 1417 - Line 551 "[% a.slice.join %]" => "2 3 4 5" 142s ok 1418 - Line 552 "[% a.slice(2).join %]" => "4 5" 142s ok 1419 - Line 553 "[% a.slice(0,2).join %]" => "2 3 4" 142s ok 1420 - Line 554 "[% a.sort.join %]" => "1 2 3" 142s ok 1421 - Line 555 "[% a.sort('b').0.b %]" => "wee" 142s ok 1422 - Line 556 "[% c.sort(->(a,b){ a.k cmp b.k }).map(->{this.k}).join %]" => "a wee wow" 142s ok 1423 - Line 557 "[% a.splice.join %]|[% a.join %]" => "2 3 4 5|" 142s ok 1424 - Line 558 "[% a.splice(2).join %]|[% a.join %]" => "4 5|2 3" 142s ok 1425 - Line 559 "[% a.splice(0,2).join %]|[% a.join %]" => "2 3|4 5" 142s ok 1426 - Line 560 "[% a.splice(0,2,'hrm').join %]|[% a.join %]" => "2 3|hrm 4 5" 142s ok 1427 - Line 561 "[% a.unique.join %]" => "2 3" 142s ok 1428 - Line 562 "[% a.unshift(3) %][% a.join %]" => "3 2 3" 142s ### hash vmethods ################################### engine_option (compile_perl) 142s ok 1429 - Line 567 "[% h.defined %]" => "1" 142s ok 1430 - Line 568 "[% h.defined('a') %]" => "1" 142s ok 1431 - Line 569 "[% h.defined('b') %]" => "" 142s ok 1432 - Line 570 "[% h.defined('a') %]" => "" 142s ok 1433 - Line 571 "[% h.delete('a') %]|[% h.keys.0 %]" => "|b" 142s ok 1434 - Line 572 "[% h.delete('a', 'b').join %]|[% h.keys.0 %]" => "|" 142s ok 1435 - Line 573 "[% h.delete('a', 'c').join %]|[% h.keys.0 %]" => "|b" 142s ok 1436 - Line 574 "[% h.each.sort.join %]" => "1 2 a b" 142s ok 1437 - Line 575 "[% h.exists('a') %]" => "1" 142s ok 1438 - Line 576 "[% h.exists('b') %]" => "" 142s ok 1439 - Line 577 "[% h.exists('a') %]" => "1" 142s ok 1440 - Line 578 "[% h.fmt %]" => "b B 142s # c C" 142s ok 1441 - Line 579 "[% h.fmt('%s => %s') %]" => "b => B 142s # c => C" 142s ok 1442 - Line 580 "[% h.fmt('%s => %s', '|') %]" => "b => B|c => C" 142s ok 1443 - Line 581 "[% h.fmt('%*s=>%s', '|', 3) %]" => " b=>B| c=>C" 142s ok 1444 - Line 582 "[% h.fmt('%*s=>%*s', '|', 3, 4) %]" => " b=> B| c=> C" 142s ok 1445 - Line 583 "[% h.hash.fmt %]" => "b B 142s # c C" 142s ok 1446 - Line 584 "[% h.import('a') %]|[% h.items.sort.join %]" => "|b B c C" 142s ok 1447 - Line 585 "[% h.import({'b' => 'boo'}) %]|[% h.items.sort.join %]" => "|b boo c C" 142s ok 1448 - Line 586 "[% h.item('a') %]" => "A" 142s ok 1449 - Line 587 "[% h.item('_a') %]" => "" 142s ok 1450 - Line 588 "[% h.items.sort.join %]" => "1 2 a b" 142s ok 1451 - Line 589 "[% h.keys.sort.join %]" => "a b" 142s ok 1452 - Line 590 "[% h.list('each').sort.join %]" => "1 2 a b" 142s ok 1453 - Line 591 "[% h.list('keys').sort.join %]" => "a b" 142s ok 1454 - Line 592 "[% h.list('pairs').0.items.sort.join %]" => "1 a key value" 142s ok 1455 - Line 593 "[% h.list('values').sort.join %]" => "1 2" 142s ok 1456 - Line 594 "[% h.null %]" => "" 142s ok 1457 - Line 595 "[% h.nsort.join %]" => "b a" 142s ok 1458 - Line 596 "[% h.pairs.0.items.sort.join %]" => "1 a key value" 142s ok 1459 - Line 597 "[% h.size %]" => "2" 142s ok 1460 - Line 598 "[% h.sort.join %]" => "b a" 142s ok 1461 - Line 599 "[% h.values.sort.join %]" => "1 2" 142s ### vmethods as functions ########################### engine_option (compile_perl) 142s ok 1462 - Line 604 "[% sprintf('%d %d', 7, 8) %] d" => "7 8 d" 142s ok 1463 - Line 605 "[% sprintf('%d %d', 7, 8) %] d" => "7 8 d" 142s ok 1464 - Line 606 "[% sprintf('%d %d', 7, 8) %] d" => " d" 142s ok 1465 - Line 607 "[% int(2.234) %]" => "2" 142s ok 1466 - Line 609 "[% int(2.234) ; int = 44; int(2.234) ; SET int; int(2.234) %]" => "2442" 142s ### more virtual methods / filters ################## engine_option (compile_perl) 142s ok 1467 - Line 614 "[% [0 .. 10].reverse.1 %]" => "9" 142s ok 1468 - Line 615 "[% {a => 'A'}.a %]" => "A" 142s ok 1469 - Line 616 "[% 'This is a string'.length %]" => "16" 142s ok 1470 - Line 617 "[% 123.length %]" => "3" 142s ok 1471 - Line 618 "[% 123.2.length %]" => "5" 142s ok 1472 - Line 619 "[% -123.2.length %]" => "-5" 142s ok 1473 - Line 620 "[% (-123.2).length %]" => "6" 142s ok 1474 - Line 621 "[% a = 23; a.0 %]" => "23" 142s ok 1475 - Line 622 "[% 1.rand %]" => "0.15075242533052" 142s ok 1476 - Line 624 "[% n.size %]" => "SIZE" 142s ok 1477 - Line 625 "[% n|size %]" => "2" 142s ok 1478 - Line 627 "[% "1" | indent(2) %]" => " 1" 142s ok 1479 - Line 629 "[% n FILTER size %]" => "1" 142s ok 1480 - Line 631 "[% n FILTER repeat %]" => "1" 142s ok 1481 - Line 632 "[% n FILTER repeat(0) %]" => "" 142s ok 1482 - Line 633 "[% n FILTER repeat(1) %]" => "1" 142s ok 1483 - Line 634 "[% n FILTER repeat(2) %]" => "11" 142s ok 1484 - Line 635 "[% n FILTER repeat(2,'|') %]" => "1|1" 142s ok 1485 - Line 637 "[% n FILTER echo = repeat(2) %][% n FILTER echo %]" => "1111" 142s ok 1486 - Line 638 "[% n FILTER echo = repeat(2) %][% n | echo %]" => "1111" 142s ok 1487 - Line 639 "[% n FILTER echo = repeat(2) %][% n|echo.length %]" => "112" 142s ok 1488 - Line 640 "[% n FILTER echo = repeat(2) %][% n FILTER $foo %]" => "1111" 142s ok 1489 - Line 641 "[% n FILTER echo = repeat(2) %][% n | $foo %]" => "1111" 142s ok 1490 - Line 642 "[% n FILTER echo = repeat(2) %][% n|$foo.length %]" => "112" 142s ok 1491 - Line 644 "[% "hi" FILTER $foo %]" => "hihi" 142s ok 1492 - Line 645 "[% FILTER $foo %]hi[% END %]" => "hihi" 142s ok 1493 - Line 646 "[% "hi" FILTER foo %]" => "hihi" 142s ok 1494 - Line 647 "[% "hi" FILTER foo %]" => "hihi" 142s ok 1495 - Line 648 "[% "hi" FILTER foo(2) %]" => "hihi" 142s ok 1496 - Line 650 "[% ["0".."9"].pick %]" => "9" 142s ok 1497 - Line 652 "[% ' ' | uri %]" => "%20" 142s ok 1498 - Line 654 "[% "one".fmt %]" => "one" 142s ok 1499 - Line 655 "[% 2.fmt("%02d") %]" => "02" 142s ok 1500 - Line 657 "[% [1..3].fmt %]" => "1 2 3" 142s ok 1501 - Line 658 "[% [1..3].fmt("%02d") %]" => "01 02 03" 142s ok 1502 - Line 659 "[% [1..3].fmt("%s", ", ") %]" => "1, 2, 3" 142s ok 1503 - Line 661 "[% {a => "B", c => "D"}.fmt %]" => "a B 142s # c D" 142s ok 1504 - Line 662 "[% {a => "B", c => "D"}.fmt("%s:%s") %]" => "a:B 142s # c:D" 142s ok 1505 - Line 663 "[% {a => "B", c => "D"}.fmt("%s:%s", "; ") %]" => "a:B; c:D" 142s ok 1506 - Line 665 "[% 1|format("%s") %]" => "1" 142s ok 1507 - Line 666 "[% 1|format("%*s", 6) %]" => " 1" 142s ok 1508 - Line 667 "[% 1|format("%-*s", 6) %]" => "1 " 142s ok 1509 - Line 669 "[% 1.fmt("%-*s", 6) %]" => "1 " 142s ok 1510 - Line 670 "[% [1,2].fmt("%-*s", "|", 6) %]" => "1 |2 " 142s ok 1511 - Line 671 "[% {1=>2,3=>4}.fmt("%*s:%*s", "|", 3, 3) %]" => " 1: 2| 3: 4" 142s ok 1512 - Line 673 "[% foo %]" => "&" 142s ok 1513 - Line 674 "[% "&" %]" => "&" 142s ok 1514 - Line 675 "[% foo | none %]" => "&" 142s ok 1515 - Line 676 "[% foo.bar %]" => "&" 142s ok 1516 - Line 677 "[% foo.bar | none %]" => "&" 142s ok 1517 - Line 678 "[% GET foo %]" => "&" 142s ok 1518 - Line 679 "[% GET "&" %]" => "&" 142s ok 1519 - Line 680 "[% GET foo | none %]" => "&" 142s ok 1520 - Line 681 "[% Text.length(foo) %]" => "1" 142s ### virtual objects ################################# engine_option (compile_perl) 142s ok 1521 - Line 686 "[% a = "foobar" %][% Text.length(a) %]" => "6" 142s ok 1522 - Line 687 "[% a = [1 .. 10] %][% List.size(a) %]" => "10" 142s ok 1523 - Line 688 "[% a = {a=>"A", b=>"B"} ; Hash.size(a) %]" => "2" 142s ok 1524 - Line 690 "[% a = Text.new("This is a string") %][% a.length %]" => "16" 142s ok 1525 - Line 691 "[% a = List.new("one", "two", "three") %][% a.size %]" => "3" 142s ok 1526 - Line 692 "[% a = Hash.new("one", "ONE") %][% a.one %]" => "ONE" 142s ok 1527 - Line 693 "[% a = Hash.new(one = "ONE") %][% a.one %]" => "ONE" 142s ok 1528 - Line 694 "[% a = Hash.new(one => "ONE") %][% a.one %]" => "ONE" 142s ok 1529 - Line 696 "[% {a => 1, b => 2} | Hash.keys | List.sort | List.join(", ") %]" => "a, b" 142s ### chomping ######################################## engine_option (compile_perl) 142s ok 1530 - Line 701 " [% foo %]" => " " 142s ok 1531 - Line 702 " [%- foo %]" => "" 142s ok 1532 - Line 703 " 142s # [%- foo %]" => "" 142s ok 1533 - Line 704 " 142s # [%- foo %]" => "" 142s ok 1534 - Line 705 " 142s # 142s # [%- foo %]" => " 142s # " 142s ok 1535 - Line 706 " 142s # 142s # [%- foo %]" => " 142s # " 142s ok 1536 - Line 707 " 142s # [%- foo %]" => " " 142s ok 1537 - Line 708 " 142s # 142s # [%- foo %]" => " 142s # " 142s ok 1538 - Line 710 "[% 7 %] " => "7 " 142s ok 1539 - Line 711 "[% 7 -%] " => "7 " 142s ok 1540 - Line 712 "[% 7 -%] 142s # " => "7" 142s ok 1541 - Line 713 "[% 7 -%] 142s # " => "7" 142s ok 1542 - Line 714 "[% 7 -%] 142s # " => "7 " 142s ok 1543 - Line 715 "[% 7 -%] 142s # 142s # 142s # " => "7 142s # 142s # " 142s ok 1544 - Line 716 "[% 7 -%] 142s # " => "7 " 142s ### string operators ################################ engine_option (compile_perl) 142s ok 1545 - Line 721 "[% a = "foo"; a _ "bar" %]" => "foobar" 142s ok 1546 - Line 722 "[% a = "foo"; a ~ "bar" %]" => "foobar" 142s ok 1547 - Line 723 "[% a = "foo"; a ~= "bar"; a %]" => "foobar" 142s ok 1548 - Line 724 "[% "b" gt "c" %]<<<" => "<<<" 142s ok 1549 - Line 725 "[% "b" gt "a" %]<<<" => "1<<<" 142s ok 1550 - Line 726 "[% "b" ge "c" %]<<<" => "<<<" 142s ok 1551 - Line 727 "[% "b" ge "b" %]<<<" => "1<<<" 142s ok 1552 - Line 728 "[% "b" lt "c" %]<<<" => "1<<<" 142s ok 1553 - Line 729 "[% "b" lt "a" %]<<<" => "<<<" 142s ok 1554 - Line 730 "[% "b" le "a" %]<<<" => "<<<" 142s ok 1555 - Line 731 "[% "b" le "b" %]<<<" => "1<<<" 142s ok 1556 - Line 732 "[% "a" cmp "b" %]<<<" => "-1<<<" 142s ok 1557 - Line 733 "[% "b" cmp "b" %]<<<" => "0<<<" 142s ok 1558 - Line 734 "[% "c" cmp "b" %]<<<" => "1<<<" 142s ### math operators ################################## engine_option (compile_perl) 142s ok 1559 - Line 739 "[% 1 + 2 %]" => "3" 142s ok 1560 - Line 740 "[% 1 + 2 + 3 %]" => "6" 142s ok 1561 - Line 741 "[% (1 + 2) %]" => "3" 142s ok 1562 - Line 742 "[% 2 - 1 %]" => "1" 142s ok 1563 - Line 743 "[% -1 + 2 %]" => "1" 142s ok 1564 - Line 744 "[% -1+2 %]" => "1" 142s ok 1565 - Line 745 "[% 2 - 1 %]" => "1" 142s ok 1566 - Line 746 "[% 2-1 %]" => "1" 142s ok 1567 - Line 747 "[% 2 - -1 %]" => "3" 142s ok 1568 - Line 748 "[% 4 * 2 %]" => "8" 142s ok 1569 - Line 749 "[% 4 / 2 %]" => "2" 142s ok 1570 - Line 750 "[% 10 / 3 %]" => "3.33333333333333" 142s ok 1571 - Line 751 "[% 10 div 3 %]" => "3" 142s ok 1572 - Line 752 "[% 2 ** 3 %]" => "8" 142s ok 1573 - Line 753 "[% 1 + 2 * 3 %]" => "7" 142s ok 1574 - Line 754 "[% 3 * 2 + 1 %]" => "7" 142s ok 1575 - Line 755 "[% (1 + 2) * 3 %]" => "9" 142s ok 1576 - Line 756 "[% 3 * (1 + 2) %]" => "9" 142s ok 1577 - Line 757 "[% 1 + 2 ** 3 %]" => "9" 142s ok 1578 - Line 758 "[% 2 * 2 ** 3 %]" => "16" 142s ok 1579 - Line 759 "[% SET foo = 1 %][% foo + 2 %]" => "3" 142s ok 1580 - Line 760 "[% SET foo = 1 %][% (foo + 2) %]" => "3" 142s ok 1581 - Line 762 "[% a = 1; (a += 2) %]" => "3" 142s ok 1582 - Line 763 "[% a = 1; (a -= 2) %]" => "-1" 142s ok 1583 - Line 764 "[% a = 4; (a /= 2) %]" => "2" 142s ok 1584 - Line 765 "[% a = 1; (a *= 2) %]" => "2" 142s ok 1585 - Line 766 "[% a = 3; (a **= 2) %]" => "9" 142s ok 1586 - Line 767 "[% a = 1; (a %= 2) %]" => "1" 142s ok 1587 - Line 768 "[% a = 1; (a += 2 + 3) %]" => "6" 142s ok 1588 - Line 769 "[% a = 1; b = 2; (a += b += 3) %]|[% a %]|[% b %]" => "6|6|5" 142s ok 1589 - Line 770 "[% a = 1; b = 2; (a += (b += 3)) %]|[% a %]|[% b %]" => "6|6|5" 142s ok 1590 - Line 772 "[% a += 1 %]-[% a %]-[% a += 1 %]-[% a %]" => "-1--2" 142s ok 1591 - Line 773 "[% (a += 1) %]-[% (a += 1) %]" => "1-2" 142s ok 1592 - Line 775 "[% a = 2; a -= 3; a %]" => "-1" 142s ok 1593 - Line 776 "[% a = 2; a *= 3; a %]" => "6" 142s ok 1594 - Line 777 "[% a = 2; a /= .5; a %]" => "4" 142s ok 1595 - Line 778 "[% a = 8; a %= 3; a %]" => "2" 142s ok 1596 - Line 779 "[% a = 2; a **= 3; a %]" => "8" 142s ok 1597 - Line 781 "[% a = 1 %][% ++a %][% a %]" => "22" 142s ok 1598 - Line 782 "[% a = 1 %][% a++ %][% a %]" => "12" 142s ok 1599 - Line 783 "[% a = 1 %][% --a %][% a %]" => "00" 142s ok 1600 - Line 784 "[% a = 1 %][% a-- %][% a %]" => "10" 142s ok 1601 - Line 785 "[% a++ FOR [1..3] %]" => "012" 142s ok 1602 - Line 786 "[% --a FOR [1..3] %]" => "-1-2-3" 142s ok 1603 - Line 788 "[% 2 > 3 %]<<<" => "<<<" 142s ok 1604 - Line 789 "[% 2 > 1 %]<<<" => "1<<<" 142s ok 1605 - Line 790 "[% 2 >= 3 %]<<<" => "<<<" 142s ok 1606 - Line 791 "[% 2 >= 2 %]<<<" => "1<<<" 142s ok 1607 - Line 792 "[% 2 < 3 %]<<<" => "1<<<" 142s ok 1608 - Line 793 "[% 2 < 1 %]<<<" => "<<<" 142s ok 1609 - Line 794 "[% 2 <= 1 %]<<<" => "<<<" 142s ok 1610 - Line 795 "[% 2 <= 2 %]<<<" => "1<<<" 142s ok 1611 - Line 796 "[% 1 <=> 2 %]<<<" => "-1<<<" 142s ok 1612 - Line 797 "[% 2 <=> 2 %]<<<" => "0<<<" 142s ok 1613 - Line 798 "[% 3 <=> 2 %]<<<" => "1<<<" 142s ### boolean operators ############################### engine_option (compile_perl) 142s ok 1614 - Line 803 "[% 5 && 6 %]" => "6" 142s ok 1615 - Line 804 "[% 5 || 6 %]" => "5" 142s ok 1616 - Line 805 "[% 0 || 6 %]" => "6" 142s ok 1617 - Line 806 "[% 0 && 6 %]" => "0" 142s ok 1618 - Line 807 "[% 0 && 0 %]" => "0" 142s ok 1619 - Line 808 "[% 5 && 6 && 7%]" => "7" 142s ok 1620 - Line 809 "[% 0 || 1 || 2 %]" => "1" 142s ok 1621 - Line 811 "[% 5 + (0 || 5) %]" => "10" 142s ok 1622 - Line 814 "[% 1 ? 2 : 3 %]" => "2" 142s ok 1623 - Line 815 "[% 0 ? 2 : 3 %]" => "3" 142s ok 1624 - Line 816 "[% 0 ? (1 ? 2 : 3) : 4 %]" => "4" 142s ok 1625 - Line 817 "[% 0 ? 1 ? 2 : 3 : 4 %]" => "4" 142s ok 1626 - Line 819 "[% t = 1 || 0 ? 3 : 4 %][% t %]" => "3" 142s ok 1627 - Line 820 "[% t = 0 or 1 ? 3 : 4 %][% t %]" => "3" 142s ok 1628 - Line 821 "[% t = 1 or 0 ? 3 : 4 %][% t %]" => "1" 142s ok 1629 - Line 823 "[% 0 ? 2 : 3 %]" => "3" 142s ok 1630 - Line 824 "[% 1 ? 2 : 3 %]" => "2" 142s ok 1631 - Line 825 "[% 0 ? 1 ? 2 : 3 : 4 %]" => "4" 142s ok 1632 - Line 826 "[% t = 0 ? 1 ? [1..4] : [2..4] : [3..4] %][% t.0 %]" => "3" 142s ok 1633 - Line 827 "[% t = 1 || 0 ? 0 : 1 || 2 ? 2 : 3 %][% t %]" => "0" 142s ok 1634 - Line 828 "[% t = 0 or 0 ? 0 : 1 or 2 ? 2 : 3 %][% t %]" => "1" 142s ok 1635 - Line 829 "[% t = 0 or 0 ? 0 : 0 or 2 ? 2 : 3 %][% t %]" => "2" 142s ok 1636 - Line 831 "[% 0 ? 1 ? 1 + 2 * 3 : 1 + 2 * 4 : 1 + 2 * 5 %]" => "11" 142s ok 1637 - Line 833 "[% foo //= 2 ; foo %]" => "2" 142s ok 1638 - Line 834 "[% foo = 3; foo //= 2; foo %]" => "3" 142s ok 1639 - Line 835 "[% foo = 3; SET foo; foo //= 2; foo %]" => "2" 142s ok 1640 - Line 837 "[% 5 // 6 %]" => "5" 142s ok 1641 - Line 838 "[% foo // 6 %]" => "6" 142s ok 1642 - Line 839 "[% foo // 6 %]" => "6" 142s ok 1643 - Line 840 "[% foo // 6 %]" => "" 142s ok 1644 - Line 841 "[% foo // 6 %]" => "bar" 142s ok 1645 - Line 843 "[% foo err 6 %]" => "6" 142s ok 1646 - Line 844 "[% foo ERR 6 %]" => "6" 142s ### regex ########################################### engine_option (compile_perl) 142s ok 1647 - Line 850 "[% 'foo'.match(/foo/) ? 1 : 0 %]" => "1" 142s ok 1648 - Line 851 "[% 'foo'.match(/foo) ? 1 : 0 %]" => "" 142s ok 1649 - Line 852 "[% 'foo'.match(/fo o/x) ? 1 : 0 %]" => "1" 142s ok 1650 - Line 853 "[% 'foo'.match(/Foo/i) ? 1 : 0 %]" => "1" 142s ok 1651 - Line 854 "[% 'f 142s # o'.match(/f.o/s) ? 1 : 0 %]" => "1" 142s ok 1652 - Line 855 "[% ' 142s # foo'.match(/^foo/m) ? 1 : 0 %]" => "1" 142s ok 1653 - Line 856 "[% 'foo'.match(/foo/e) ? 1 : 0 %]" => "" 142s ok 1654 - Line 857 "[% 'foo'.match(/foo/g) ? 1 : 0 %]" => "" 142s ok 1655 - Line 858 "[% 'foo'.match(/foo) ? 1 : 0 %]" => "" 142s ok 1656 - Line 859 "[% 'foo'.match(/foo**/) ? 1 : 0 %]" => "" 142s ok 1657 - Line 860 "[% 'fo/o'.match(/fo\/o/) ? 1 : 0 %]" => "1" 142s ok 1658 - Line 861 "[% 'foobar'.match(/(f\w\w)/).0 %]" => "foo" 142s ### BLOCK / PROCESS / INCLUDE / WRAPPER ############# engine_option (compile_perl) 142s ok 1659 - Line 867 "[% PROCESS foo %]one" => "" 142s ok 1660 - Line 868 "[% BLOCK foo %]one" => "" 142s ok 1661 - Line 869 "[% BLOCK foo %][% END %]one" => "one" 142s ok 1662 - Line 870 "[% BLOCK %][% END %]one" => "one" 142s ok 1663 - Line 871 "[% BLOCK foo %]hi there[% END %]one" => "one" 142s ok 1664 - Line 872 "[% BLOCK foo %][% BLOCK foo %][% END %][% END %]" => "" 142s ok 1665 - Line 873 "[% BLOCK foo %]hi there[% END %][% PROCESS foo %]" => "hi there" 142s ok 1666 - Line 874 "[% PROCESS foo %][% BLOCK foo %]hi there[% END %]" => "hi there" 142s ok 1667 - Line 875 "[% BLOCK foo %]hi there[% END %][% PROCESS foo foo %]" => "hi therehi there" 142s ok 1668 - Line 876 "[% BLOCK foo %]hi there[% END %][% PROCESS foo, foo %]" => "hi therehi there" 142s ok 1669 - Line 877 "[% BLOCK foo %]hi there[% END %][% PROCESS foo + foo %]" => "hi therehi there" 142s ok 1670 - Line 878 "[% BLOCK foo %]hi [% one %] there[% END %][% PROCESS foo %]" => "hi ONE there" 142s ok 1671 - Line 879 "[% BLOCK foo %]hi [% IF 1 %]Yes[% END %] there[% END %]<<[% PROCESS foo %]>>" => "<>" 142s ok 1672 - Line 880 "[% BLOCK foo %]hi [% one %] there[% END %][% PROCESS foo one = 'two' %]" => "hi two there" 142s ok 1673 - Line 881 "[% BLOCK foo %]hi [% one.two %] there[% END %][% PROCESS foo one.two = 'two' %]" => "hi two there" 142s ok 1674 - Line 882 "[% BLOCK foo %]hi [% one.two %] there[% END %][% PROCESS foo + foo one.two = 'two' %]" => "hi two therehi two there" 142s ok 1675 - Line 883 "[% BLOCK foo %][% BLOCK bar %]hi [% one %] there[% END %][% END %][% PROCESS foo/bar one => 'two' %]" => "hi two there" 142s ok 1676 - Line 885 "[% BLOCK b %]Ta-Da[% END %][% self = {a => 'b'} %][% PROCESS $self.a self = 'blah' %]" => "Ta-Da" 142s ok 1677 - Line 886 "[% BLOCK b %]Ta-Da[% END %][% self = {a => 'b'} %][% INCLUDE $self.a self = 'blah' %]" => "Ta-Da" 142s ok 1678 - Line 887 "[% BLOCK b %]Ta-Da[% END %][% self = 'b' %][% PROCESS $self self = 'blah'; self %]" => "Ta-Dablah" 142s ok 1679 - Line 888 "[% BLOCK b %]Ta-Da[% END %][% self = 'b' %][% INCLUDE $self self = 'blah'; self %]" => "Ta-Dab" 142s ok 1680 - Line 890 "[% BLOCK foo %]hi [% one %] there[% END %][% PROCESS foo one = 'two' %][% one %]" => "hi two theretwo" 142s ok 1681 - Line 891 "[% BLOCK foo %]hi [% one %] there[% END %][% INCLUDE foo one = 'two' %][% one %]" => "hi two there" 142s ok 1682 - Line 893 "[% BLOCK foo %]FOO[% IF ! a ; a = 1; PROCESS bar; END %][% END %][% BLOCK bar %]BAR[% PROCESS foo %][% END %][% PROCESS foo %]" => "" 142s ok 1683 - Line 895 "[% BLOCK foo %]FOO[% IF ! a ; a = 1; PROCESS bar; END %][% END %][% BLOCK bar %]BAR[% PROCESS foo %][% END %][% PROCESS foo %]" => "FOOBARFOO" 142s ok 1684 - Line 897 "[% BLOCK foo %]([% content %])[% END %][% WRAPPER foo %]hi there[% END %]" => "(hi there)" 142s ok 1685 - Line 898 "[% BLOCK foo %]([% one = 1; content %])[% END %][% WRAPPER foo %]hi there[% END %][% one %]" => "(hi there)won" 142s ok 1686 - Line 900 "[% a = 23; PROCESS $foo %]" => "bar 23 baz" 142s ### IF / UNLESS / ELSIF / ELSE ###################### engine_option (compile_perl) 142s ok 1687 - Line 905 "[% IF 1 %]Yes[% END %]" => "Yes" 142s ok 1688 - Line 906 "[% IF 0 %]Yes[% END %]" => "" 142s ok 1689 - Line 907 "[% IF 0 %]Yes[% ELSE %]No[% END %]" => "No" 142s ok 1690 - Line 908 "[% IF 0 %]Yes[% ELSIF 1 %]No[% END %]" => "No" 142s ok 1691 - Line 909 "[% IF 0 %]Yes[% ELSIF 0 %]No[% END %]" => "" 142s ok 1692 - Line 910 "[% IF 0 %]Yes[% ELSIF 0 %]No[% ELSE %]hmm[% END %]" => "hmm" 142s ok 1693 - Line 912 "[% UNLESS 1 %]Yes[% END %]" => "" 142s ok 1694 - Line 913 "[% UNLESS 0 %]Yes[% END %]" => "Yes" 142s ok 1695 - Line 914 "[% UNLESS 0 %]Yes[% ELSE %]No[% END %]" => "Yes" 142s ok 1696 - Line 915 "[% UNLESS 1 %]Yes[% ELSIF 1 %]No[% END %]" => "No" 142s ok 1697 - Line 916 "[% UNLESS 1 %]Yes[% ELSIF 0 %]No[% END %]" => "" 142s ok 1698 - Line 917 "[% UNLESS 1 %]Yes[% ELSIF 0 %]No[% ELSE %]hmm[% END %]" => "hmm" 142s ### comments ######################################## engine_option (compile_perl) 142s ok 1699 - Line 922 "[%\# one %]f" => "f" 142s ok 1700 - Line 923 "[%\# 142s # one %]f" => "f" 142s ok 1701 - Line 924 "[%-\# 142s # one %]f" => "f" 142s ok 1702 - Line 925 "[% \# 142s # one %]f" => "ONEf" 142s ok 1703 - Line 926 "[% \# one %] 142s # one %]f" => " 142s # one %]f" 142s ok 1704 - Line 928 "[%\# BLOCK one %]" => "" 142s ok 1705 - Line 929 "[%\# BLOCK one %]two" => "two" 142s ok 1706 - Line 930 "[%\# BLOCK one %]two[% END %]" => "" 142s ok 1707 - Line 931 "[%\# BLOCK one %]two[% END %]three" => "" 142s ok 1708 - Line 932 "[% %]" => "" 142s ok 1709 - Line 933 "[% 142s # # Some comment 142s # CALL 1 -%] 142s # foo" => "foo" 142s ### FOREACH / NEXT / LAST ########################### engine_option (compile_perl) 142s ok 1710 - Line 941 "[% FOREACH foo %]" => "" 142s ok 1711 - Line 942 "[% FOREACH foo %][% END %]" => "" 142s ok 1712 - Line 943 "[% FOREACH foo %]bar[% END %]" => "" 142s ok 1713 - Line 944 "[% FOREACH foo %]bar[% END %]" => "bar" 142s ok 1714 - Line 945 "[% FOREACH f IN foo %]bar[% f %][% END %]" => "bar1bar2" 142s ok 1715 - Line 946 "[% FOREACH f = foo %]bar[% f %][% END %]" => "bar1bar2" 142s ok 1716 - Line 947 "[% FOREACH f = [1,2] %]bar[% f %][% END %]" => "bar1bar2" 142s ok 1717 - Line 948 "[% FOREACH f = [1..3] %]bar[% f %][% END %]" => "bar1bar2bar3" 142s ok 1718 - Line 949 "[% FOREACH f = [{a=>'A'},{a=>'B'}] %]bar[% f.a %][% END %]" => "barAbarB" 142s ok 1719 - Line 950 "[% FOREACH [{a=>'A'},{a=>'B'}] %]bar[% a %][% END %]" => "barAbarB" 142s ok 1720 - Line 951 "[% FOREACH [{a=>'A'},{a=>'B'}] %]bar[% a %][% END %][% a %]" => "barAbarB" 142s ok 1721 - Line 952 "[% FOREACH f = [1..3] %][% loop.count %]/[% loop.size %] [% END %]" => "1/3 2/3 3/3 " 142s ok 1722 - Line 953 "[% FOREACH f = [1..3] %][% IF loop.first %][% f %][% END %][% END %]" => "1" 142s ok 1723 - Line 954 "[% FOREACH f = [1..3] %][% IF loop.last %][% f %][% END %][% END %]" => "3" 142s ok 1724 - Line 955 "[% FOREACH f = [1..3] %][% IF loop.first %][% NEXT %][% END %][% f %][% END %]" => "23" 142s ok 1725 - Line 956 "[% FOREACH f = [1..3] %][% IF loop.first %][% LAST %][% END %][% f %][% END %]" => "" 142s ok 1726 - Line 957 "[% FOREACH f = [1..3] %][% f %][% IF loop.first %][% NEXT %][% END %][% END %]" => "123" 142s ok 1727 - Line 958 "[% FOREACH f = [1..3] %][% f %][% IF loop.first %][% LAST %][% END %][% END %]" => "1" 142s ok 1728 - Line 959 "[% loop.odd FOREACH [1..5] %]" => "10101" 142s ok 1729 - Line 960 "[% loop.even FOREACH [1..5] %]" => "01010" 142s ok 1730 - Line 961 "[% loop.parity FOREACH [1..5] %]" => "oddevenoddevenodd" 142s ok 1731 - Line 963 "[% a = ["Red", "Blue"] ; FOR [0..3] ; a.${ loop.index % a.size } ; END %]" => "RedBlueRedBlue" 142s ok 1732 - Line 968 "[% foo = 1 %][% FOREACH [1..10] %][% foo %][% foo = 2 %][% END %]" => "1222222222" 142s ok 1733 - Line 969 "[% f = 1 %][% FOREACH i = [1..10] %][% i %][% f = 2 %][% END %][% f %]" => "123456789102" 142s ok 1734 - Line 970 "[% f = 1 %][% FOREACH [1..10] %][% f = 2 %][% END %][% f %]" => "1" 142s ok 1735 - Line 971 "[% f = 1 %][% FOREACH f = [1..10] %][% f %][% END %][% f %]" => "1234567891010" 142s ok 1736 - Line 972 "[% FOREACH [1] %][% SET a = 1 %][% END %][% a %]" => "" 142s ok 1737 - Line 973 "[% a %][% FOREACH [1] %][% SET a = 1 %][% END %][% a %]" => "" 142s ok 1738 - Line 974 "[% a = 2 %][% FOREACH [1] %][% SET a = 1 %][% END %][% a %]" => "2" 142s ok 1739 - Line 975 "[% a = 2 %][% FOREACH [1] %][% a = 1 %][% END %][% a %]" => "2" 142s ok 1740 - Line 976 "[% a = 2 %][% FOREACH i = [1] %][% a = 1 %][% END %][% a %]" => "1" 142s ok 1741 - Line 977 "[% FOREACH i = [1] %][% SET a = 1 %][% END %][% a %]" => "1" 142s ok 1742 - Line 978 "[% f.b = 1 %][% FOREACH f.b = [1..10] %][% f.b %][% END %][% f.b %]" => "1234567891010" 142s ok 1743 - Line 979 "[% a = 1 %][% FOREACH [{a=>'A'},{a=>'B'}] %]bar[% a %][% END %][% a %]" => "barAbarB1" 142s ok 1744 - Line 980 "[% FOREACH [1..3] %][% loop.size %][% END %][% loop.size %]" => "333" 142s ok 1745 - Line 981 "[% FOREACH i = [1..3] %][% loop.size %][% END %][% loop.size %]" => "333" 142s ok 1746 - Line 984 "[% FOREACH f = [1..3]; 1; END %]" => "111" 142s ok 1747 - Line 985 "[% FOREACH f = [1..3]; f; END %]" => "123" 142s ok 1748 - Line 986 "[% FOREACH f = [1..3]; "$f"; END %]" => "123" 142s ok 1749 - Line 987 "[% FOREACH f = [1..3]; f + 1; END %]" => "234" 142s 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, " 142s ok 1751 - Line 999 "[% FOREACH i IN foo; i.n; END %]" => "123" 142s ok 1752 - Line 1000 "[% FOREACH i IN foo; i.n; END %]" => "1" 142s ok 1753 - Line 1001 "[% FOREACH i IN foo; i.n; END %]" => "123" 142s ok 1754 - Line 1002 "[% FOREACH i IN foo; i.n; END %]" => "1" 142s ok 1755 - Line 1004 "[% FOREACH i IN foo; i.n; END %]" => "123" 142s ok 1756 - Line 1005 "[% FOREACH i IN foo; i.n; END %]" => "1" 142s ok 1757 - Line 1006 "[% FOREACH i IN foo; i.n; END %]" => "123" 142s ok 1758 - Line 1007 "[% FOREACH i IN foo; i.n; END %]" => "1" 142s ### LOOP ############################################ engine_option (compile_perl) 142s ok 1759 - Line 1012 "[% var = [{key => 'a'}, {key => 'b'}] -%] 142s # [% LOOP var -%] 142s # ([% key %]) 142s # [% END %]" => " (a) 142s # (b) 142s # " 142s ok 1760 - Line 1021 "[% var = [{key => 'a'}, {key => 'b'}, {key => 'c'}] -%] 142s # [% LOOP var -%] 142s # ([% key; '|'; __first__; '|'; __last__; '|'; __inner__; '|'; __odd__ %]) 142s # [% END -%]" => "(a|1|0|0|1) 142s # (b|0|0|1|0) 142s # (c|0|1|0|1) 142s # " 142s ### WHILE ########################################### engine_option (compile_perl) 142s ok 1761 - Line 1033 "[% WHILE foo %]" => "" 142s ok 1762 - Line 1034 "[% WHILE foo %][% END %]" => "" 142s ok 1763 - Line 1035 "[% WHILE (foo = foo - 1) %][% END %]" => "" 142s ok 1764 - Line 1036 "[% WHILE (foo = foo - 1) %][% foo %][% END %]" => "21" 142s ok 1765 - Line 1037 "[% WHILE foo %][% foo %][% foo = foo - 1 %][% END %]" => "321" 142s ok 1766 - Line 1039 "[% WHILE 1 %][% foo %][% foo = foo - 1 %][% LAST IF foo == 1 %][% END %]" => "32" 142s ok 1767 - Line 1040 "[% f = 10; WHILE f; f = f - 1 ; f ; END %]" => "9876543210" 142s ok 1768 - Line 1041 "[% f = 10; WHILE f; f = f - 1 ; f ; END ; f %]" => "98765432100" 142s ok 1769 - Line 1042 "[% f = 10; a = 2; WHILE f; f = f - 1 ; f ; a=3; END ; a%]" => "98765432103" 142s ok 1770 - Line 1044 "[% f = 10; WHILE (g=f); f = f - 1 ; f ; END %]" => "9876543210" 142s ok 1771 - Line 1045 "[% f = 10; WHILE (g=f); f = f - 1 ; f ; END ; f %]" => "98765432100" 142s ok 1772 - Line 1046 "[% f = 10; a = 2; WHILE (g=f); f = f - 1 ; f ; a=3; END ; a%]" => "98765432103" 142s ok 1773 - Line 1047 "[% f = 10; a = 2; WHILE (a=f); f = f - 1 ; f ; a=3; END ; a%]" => "98765432100" 142s ### STOP / RETURN / CLEAR ########################### engine_option (compile_perl) 142s ok 1774 - Line 1052 "[% STOP %]" => "" 142s ok 1775 - Line 1053 "One[% STOP %]Two" => "One" 142s ok 1776 - Line 1054 "[% BLOCK foo %]One[% STOP %]Two[% END %]First[% PROCESS foo %]Last" => "FirstOne" 142s ok 1777 - Line 1055 "[% FOREACH f = [1..3] %][% f %][% IF loop.first %][% STOP %][% END %][% END %]" => "1" 142s ok 1778 - Line 1056 "[% FOREACH f = [1..3] %][% IF loop.first %][% STOP %][% END %][% f %][% END %]" => "" 142s ok 1779 - Line 1058 "[% RETURN %]" => "" 142s ok 1780 - Line 1059 "One[% RETURN %]Two" => "One" 142s ok 1781 - Line 1060 "[% BLOCK foo %]One[% RETURN %]Two[% END %]First[% PROCESS foo %]Last" => "FirstOneLast" 142s ok 1782 - Line 1061 "[% FOREACH f = [1..3] %][% f %][% IF loop.first %][% RETURN %][% END %][% END %]" => "1" 142s ok 1783 - Line 1062 "[% FOREACH f = [1..3] %][% IF loop.first %][% RETURN %][% END %][% f %][% END %]" => "" 142s ok 1784 - Line 1064 "[% CLEAR %]" => "" 142s ok 1785 - Line 1065 "One[% CLEAR %]Two" => "Two" 142s ok 1786 - Line 1066 "[% BLOCK foo %]One[% CLEAR %]Two[% END %]First[% PROCESS foo %]Last" => "FirstTwoLast" 142s ok 1787 - Line 1067 "[% FOREACH f = [1..3] %][% f %][% IF loop.first %][% CLEAR %][% END %][% END %]" => "23" 142s ok 1788 - Line 1068 "[% FOREACH f = [1..3] %][% IF loop.first %][% CLEAR %][% END %][% f %][% END %]" => "123" 142s ok 1789 - Line 1069 "[% FOREACH f = [1..3] %][% f %][% IF loop.last %][% CLEAR %][% END %][% END %]" => "" 142s ok 1790 - Line 1070 "[% FOREACH f = [1..3] %][% IF loop.last %][% CLEAR %][% END %][% f %][% END %]" => "3" 142s ### post opererative directives ##################### engine_option (compile_perl) 142s ok 1791 - Line 1075 "[% GET foo IF 1 %]" => "1" 142s ok 1792 - Line 1076 "[% f FOREACH f = [1..3] %]" => "123" 142s ok 1793 - Line 1078 "2[% GET foo IF 1 IF 2 %]" => "21" 142s ok 1794 - Line 1079 "2[% GET foo IF 1 IF 0 %]" => "2" 142s ok 1795 - Line 1080 "[% f FOREACH f = [1..3] IF 1 %]" => "123" 142s ok 1796 - Line 1081 "[% f FOREACH f = [1..3] IF 0 %]" => "" 142s ok 1797 - Line 1082 "[% f FOREACH f = g FOREACH g = [1..3] %]" => "123" 142s ok 1798 - Line 1083 "[% f FOREACH f = g.a FOREACH g = [{a=>1}, {a=>2}, {a=>3}] %]" => "123" 142s ok 1799 - Line 1084 "[% f FOREACH f = a FOREACH [{a=>1}, {a=>2}, {a=>3}] %]" => "123" 142s ok 1800 - Line 1086 "[% FOREACH f = [1..3] IF 1 %]([% f %])[% END %]" => "(1)(2)(3)" 142s ok 1801 - Line 1087 "[% FOREACH f = [1..3] IF 0 %]([% f %])[% END %]" => "" 142s ok 1802 - Line 1089 "[% BLOCK bar %][% foo %][% foo = foo - 1 %][% END %][% PROCESS bar WHILE foo %]" => "321" 142s ### capturing ####################################### engine_option (compile_perl) 142s ok 1803 - Line 1094 "[% foo = BLOCK %]Hi[% END %][% foo %][% foo %]" => "HiHi" 142s ok 1804 - Line 1095 "[% BLOCK foo %]Hi[% END %][% bar = PROCESS foo %]-[% bar %]" => "-Hi" 142s ok 1805 - Line 1096 "[% foo = IF 1 %]Hi[% END %][% foo %]" => "Hi" 142s ok 1806 - Line 1097 "[% BLOCK foo %]([% i %])[% END %][% wow = PROCESS foo i='bar' %][% wow %]" => "(bar)" 142s ok 1807 - Line 1098 "[% BLOCK foo %]([% i %])[% END %][% SET wow = PROCESS foo i='bar' %][% wow %]" => "(bar)" 142s ### TAGS ############################################ engine_option (compile_perl) 142s ok 1808 - Line 1103 "[% TAGS asp %]<% 1 + 2 %>" => "3" 142s ok 1809 - Line 1104 "[% TAGS default %][% 1 + 2 %]" => "3" 142s ok 1810 - Line 1105 "[% TAGS html %]" => "3" 142s ok 1811 - Line 1106 "[% TAGS mason %]<% 1 + 2 >" => "3" 142s ok 1812 - Line 1107 "[% TAGS metatext %]%% 1 + 2 %%" => "3" 142s ok 1813 - Line 1108 "[% TAGS php %]" => "3" 142s ok 1814 - Line 1109 "[% TAGS star %][* 1 + 2 *]" => "3" 142s ok 1815 - Line 1110 "[% TAGS template %][% 1 + 2 %]" => "3" 142s ok 1816 - Line 1111 "[% TAGS template1 %][% 1 + 2 %]" => "3" 142s ok 1817 - Line 1112 "[% TAGS template1 %]%% 1 + 2 %%" => "3" 142s ok 1818 - Line 1113 "[% TAGS tt2 %][% 1 + 2 %]" => "3" 142s ok 1819 - Line 1115 "[% TAGS html %] " => "3" 142s ok 1820 - Line 1116 "[% TAGS html %]" => "3" 142s ok 1821 - Line 1117 "[% TAGS html %] 142s # " => "3" 142s ok 1822 - Line 1118 "[% BLOCK foo %][% TAGS html %] " => "3 3" 142s ok 1823 - Line 1119 "[% BLOCK foo %][% TAGS html %][% END %][% PROCESS foo %] [% 1 + 2 %]" => "" 142s ok 1824 - Line 1121 "[% TAGS %]" => "3" 142s ok 1825 - Line 1123 "[% TAGS [<] [>] %][<] 1 + 2 [>]" => "3" 142s ok 1826 - Line 1124 "[% TAGS '[<]' '[>]' %][<] 1 + 2 [>]" => "3" 142s ok 1827 - Line 1125 "[% TAGS /[<]/ /[>]/ %]< 1 + 2 >" => "3" 142s ok 1828 - Line 1126 "[% TAGS ** ** %]** 1 + 2 **" => "3" 142s ok 1829 - Line 1127 "[% TAGS '**' '**' %]** 1 + 2 **" => "3" 142s ok 1830 - Line 1128 "[% TAGS /**/ /**/ %]** 1 + 2 **" => "" 142s ok 1831 - Line 1130 "[% TAGS html -->" => "3" 142s ok 1832 - Line 1131 "[% TAGS html ; 7 -->" => "73" 142s ok 1833 - Line 1132 "[% TAGS html ; 7 %]" => "" 142s ### SWITCH / CASE ################################### engine_option (compile_perl) 142s ok 1834 - Line 1137 "[% SWITCH 1 %][% END %]hi" => "hi" 142s ok 1835 - Line 1138 "[% SWITCH 1 %][% CASE %]bar[% END %]hi" => "barhi" 142s ok 1836 - Line 1139 "[% SWITCH 1 %]Pre[% CASE %]bar[% END %]hi" => "barhi" 142s ok 1837 - Line 1140 "[% SWITCH 1 %][% CASE DEFAULT %]bar[% END %]hi" => "barhi" 142s ok 1838 - Line 1141 "[% SWITCH 1 %][% CASE 0 %]bar[% END %]hi" => "hi" 142s ok 1839 - Line 1142 "[% SWITCH 1 %][% CASE 1 %]bar[% END %]hi" => "barhi" 142s ok 1840 - Line 1143 "[% SWITCH 1 %][% CASE foo %][% CASE 1 %]bar[% END %]hi" => "barhi" 142s ok 1841 - Line 1144 "[% SWITCH 1 %][% CASE [1..10] %]bar[% END %]hi" => "barhi" 142s ok 1842 - Line 1145 "[% SWITCH 11 %][% CASE [1..10] %]bar[% END %]hi" => "hi" 142s ok 1843 - Line 1147 "[% SWITCH 1.0 %][% CASE [1..10] %]bar[% END %]hi" => "barhi" 142s ### TRY / THROW / CATCH / FINAL ##################### engine_option (compile_perl) 142s ok 1844 - Line 1152 "[% TRY %][% END %]hi" => "hi" 142s ok 1845 - Line 1153 "[% TRY %]Foo[% END %]hi" => "Foohi" 142s ok 1846 - Line 1154 "[% TRY %]Foo[% THROW foo 'for fun' %]bar[% END %]hi" => "" 142s ok 1847 - Line 1155 "[% TRY %]Foo[% THROW foo 'for fun' %]bar[% CATCH %][% END %]hi" => "Foohi" 142s ok 1848 - Line 1156 "[% TRY %]Foo[% THROW foo 'for fun' %]bar[% CATCH %]there[% END %]hi" => "Footherehi" 142s ok 1849 - Line 1157 "[% TRY %]Foo[% THROW foo 'for fun' %]bar[% CATCH foo %]there[% END %]hi" => "Footherehi" 142s ok 1850 - Line 1158 "[% TRY %]Foo[% TRY %]Foo[% THROW foo 'for fun' %][% CATCH bar %]one[% END %][% CATCH %]two[% END %]hi" => "FooFootwohi" 142s ok 1851 - Line 1159 "[% TRY %]Foo[% TRY %]Foo[% THROW foo 'for fun' %][% CATCH bar %]one[% END %][% CATCH s %]two[% END %]hi" => "" 142s ok 1852 - Line 1160 "[% TRY %]Foo[% THROW foo.bar 'for fun' %][% CATCH foo %]one[% CATCH foo.bar %]two[% END %]hi" => "Footwohi" 142s ok 1853 - Line 1162 "[% TRY %]Foo[% FINAL %]Bar[% END %]hi" => "FooBarhi" 142s ok 1854 - Line 1163 "[% TRY %]Foo[% THROW foo %][% FINAL %]Bar[% CATCH %]one[% END %]hi" => "" 142s ok 1855 - Line 1164 "[% TRY %]Foo[% THROW foo %][% CATCH %]one[% FINAL %]Bar[% END %]hi" => "FoooneBarhi" 142s ok 1856 - Line 1165 "[% TRY %]Foo[% THROW foo %][% CATCH bar %]one[% FINAL %]Bar[% END %]hi" => "" 142s ok 1857 - Line 1167 "[% TRY %][% THROW foo 'bar' %][% CATCH %][% error %][% END %]" => "foo error - bar" 142s ok 1858 - Line 1168 "[% TRY %][% THROW foo 'bar' %][% CATCH %][% error.type %][% END %]" => "foo" 142s ok 1859 - Line 1169 "[% TRY %][% THROW foo 'bar' %][% CATCH %][% error.info %][% END %]" => "bar" 142s ok 1860 - Line 1170 "[% TRY %][% THROW foo %][% CATCH %][% error.type %][% END %]" => "undef" 142s ok 1861 - Line 1171 "[% TRY %][% THROW foo %][% CATCH %][% error.info %][% END %]" => "foo" 142s ### named args ###################################### engine_option (compile_perl) 142s ok 1862 - Line 1177 "[% foo(bar = 'one', baz = 'two') %]" => "baronebaztwo" 142s ok 1863 - Line 1179 "[%bar='ONE'%][% foo($bar = 'one') %]" => "ONEone" 142s ### USE ############################################# engine_option (compile_perl) 142s ok 1864 - Line 1185 "[% USE son_of_gun_that_does_not_exist %]one" => "" 142s ok 1865 - Line 1186 "[% USE Iterator([3..6]) %]hey[% CALL Iterator.get_first; Iterator.size %]" => "hey4" 142s ok 1866 - Line 1187 "[% USE FooTest %]one" => "one" 142s ok 1867 - Line 1188 "[% USE FooTest2 %]one" => "one" 142s ok 1868 - Line 1189 "[% USE FooTest(bar = 'baz') %]one[% FooTest.bar %]" => "onebarbaz" 142s ok 1869 - Line 1190 "[% USE FooTest2(bar = 'baz') %]one[% FooTest2.bar %]" => "onebarbaz" 142s ok 1870 - Line 1191 "[% USE FooTest(bar = 'baz') %]one[% FooTest.bar %]" => "onebarbaz" 142s ok 1871 - Line 1192 "[% USE d = FooTest(bar = 'baz') %]one[% d.bar %]" => "onebarbaz" 142s ok 1872 - Line 1193 "[% USE d.d = FooTest(bar = 'baz') %]one[% d.d.bar %]" => "" 142s ok 1873 - Line 1194 "[% USE FooTest(somerand = 8) %]one[% FooTest.somerand %]" => "one8" 142s ok 1874 - Line 1196 "[% USE a(bar = 'baz') %]one[% a.seven %]" => "" 142s ok 1875 - Line 1197 "[% USE a(bar = 'baz') %]one[% a.seven %]" => "one7" 142s ok 1876 - Line 1200 "[% USE FooTest %]three" => "three" 142s ### MACRO ########################################### engine_option (compile_perl) 142s ok 1877 - Line 1205 "[% MACRO foo PROCESS bar %][% BLOCK bar %]Hi[% END %][% foo %]" => "Hi" 142s ok 1878 - Line 1206 "[% MACRO foo BLOCK %]Hi[% END %][% foo %]" => "Hi" 142s ok 1879 - Line 1207 "[% MACRO foo BLOCK %]Hi[% END %][% foo %]" => "Hi" 142s ok 1880 - Line 1208 "[% MACRO foo(n) BLOCK %]Hi[% n %][% END %][% foo(2) %]" => "Hi2" 142s ok 1881 - Line 1209 "[%n=1%][% MACRO foo(n) BLOCK %]Hi[% n %][% END %][% foo(2) %][%n%]" => "Hi21" 142s ok 1882 - Line 1210 "[%n=1%][% MACRO foo BLOCK %]Hi[% n = 2%][% END %][% foo %][%n%]" => "Hi1" 142s ok 1883 - Line 1211 "[% MACRO foo(n) FOREACH i=[1..n] %][% i %][% END %][% foo(3) %]" => "123" 142s ok 1884 - Line 1213 "[% MACRO f BLOCK %]>[% TRY; f ; CATCH ; "caught" ; END %][% END %][% f %]" => ">>>caught" 142s ok 1885 - Line 1216 "[% foo = ->{ 'Hi' } %][% foo %]" => "Hi" 142s ok 1886 - Line 1217 "[% foo = ->{ 'Hi'; this } %][% foo(2) %]" => "Hi2" 142s ok 1887 - Line 1218 "[% foo = ->(n){ 'Hi'; n } %][% foo(2) %]" => "Hi2" 142s ok 1888 - Line 1219 "[%n=1%][% foo = ->(n) { 'Hi' ; n } %][% foo(2) %][%n%]" => "Hi21" 142s ok 1889 - Line 1220 "[% foo = ->(n) { FOREACH i=[1..n]; i ; END } %][% foo(3) %]" => "123" 142s ### DEBUG ########################################### engine_option (compile_perl) 142s ok 1890 - Line 1226 " 142s # 142s # [% one %]" => " 142s # 142s # 142s # ## input text line 3 : [% one %] ## 142s # ONE" 142s ok 1891 - Line 1227 "[% one %]" => " 142s # ## input text line 1 : [% one %] ## 142s # ONE" 142s ok 1892 - Line 1228 "[% one %] 142s # 142s # " => "(1)ONE 142s # 142s # " 142s ok 1893 - Line 1229 "1 142s # 2 142s # 3[% one %]" => "1 142s # 2 142s # 3(3)ONE" 142s ok 1894 - Line 1230 "[% one; 142s # one %]" => "(1)ONE(2)ONE" 142s ok 1895 - Line 1232 "[% DEBUG format '($line)' %][% one %]" => " 142s # ## input text line 1 : [% DEBUG format '($line)' %] ## 142s # (1)ONE" 142s ok 1896 - Line 1234 "[% TRY %][% abc %][% CATCH %][% error %][% END %]" => "undef error - abc is undefined 142s # " 142s ok 1897 - Line 1236 "[% TRY %][% abc.def %][% CATCH %][% error %][% END %]" => "undef error - abc.def is undefined 142s # " 142s ### constants ####################################### engine_option (compile_perl) 142s ok 1898 - Line 1255 "[% constants.harry %]" => "do_this_once" 142s ok 1899 - Line 1256 "[% constants.harry.length %]" => "12" 142s ok 1900 - Line 1257 "[% SET constants.something = 1 %][% constants.something %]one" => "1one" 142s ok 1901 - Line 1258 "[% SET constants.harry = 1 %][% constants.harry %]one" => "do_this_onceone" 142s ok 1902 - Line 1259 "[% constants.foo.${constants.bang} %]" => "57" 142s ok 1903 - Line 1260 "[% constants.foo.$bam.${constants.bing} %]" => "42" 142s ok 1904 - Line 1261 "[% bam = 'somethingelse' %][% constants.foo.$bam.${constants.bing} %]" => "42" 142s ok 1905 - Line 1263 "[% constants.${"harry"} %]" => "do_this_once" 142s ok 1906 - Line 1264 "[% ${"constants"}.harry %]" => "foo" 142s ok 1907 - Line 1266 "[% ${"con${"s"}tants"}.harry %]" => "foo" 142s ### CONTEXT ######################################### engine_option (compile_perl) 142s ok 1908 - Line 1272 "[% CALL cctx.call_me %][% cctx.last_context %]" => "list" 142s ok 1909 - Line 1273 "[% cctx.array %]" => "ARRAY(0xb5b9633fb5b0)" 142s ok 1910 - Line 1274 "[% cctx.array2 %]" => "4" 142s ok 1911 - Line 1275 "[% cctx.list %]" => "ARRAY(0xb5b963424d10)" 142s ok 1912 - Line 1276 "[% cctx.scalar %]" => "8" 142s ok 1913 - Line 1277 "[% cctx.bang %]" => "bing" 142s ok 1914 - Line 1281 "[% CALL cctx.call_me %][% cctx.last_context %]" => "list" 142s ok 1915 - Line 1282 "[% CALL @(cctx.call_me) %][% cctx.last_context %]" => "list" 142s ok 1916 - Line 1283 "[% CALL $(cctx.call_me) %][% cctx.last_context %]" => "scalar" 142s ok 1917 - Line 1284 "[% CALL call_cctx %][% cctx.last_context %]" => "list" 142s ok 1918 - Line 1285 "[% CALL @(call_cctx) %][% cctx.last_context %]" => "list" 142s ok 1919 - Line 1286 "[% CALL $(call_cctx) %][% cctx.last_context %]" => "scalar" 142s ok 1920 - Line 1287 "[% CALL cctx.call_me %][% cctx.last_context %]" => "list" 142s ok 1921 - Line 1288 "[% CALL cctx.call_me %][% cctx.last_context.0 %]" => "list" 142s ok 1922 - Line 1289 "[% CALL cctx.call_me %][% cctx.last_context %]" => "scalar" 142s ok 1923 - Line 1290 "[% cctx.array %]" => "ARRAY(0xb5b963415350)" 142s ok 1924 - Line 1291 "[% @(cctx.array) %]" => "ARRAY(0xb5b963425838)" 142s ok 1925 - Line 1292 "[% $(cctx.array) %]" => "3" 142s ok 1926 - Line 1293 "[% cctx.array2 %]" => "4" 142s ok 1927 - Line 1294 "[% @(cctx.array2) %]" => "ARRAY(0xb5b9633e6b50)" 142s ok 1928 - Line 1295 "[% $(cctx.array2) %]" => "1" 142s ok 1929 - Line 1296 "[% cctx.list %]" => "ARRAY(0xb5b963425e50)" 142s ok 1930 - Line 1297 "[% @(cctx.list) %]" => "ARRAY(0xb5b96342b650)" 142s ok 1931 - Line 1298 "[% $(cctx.list) %]" => "7" 142s ok 1932 - Line 1299 "[% cctx.scalar %]" => "8" 142s ok 1933 - Line 1300 "[% @(cctx.scalar) %]" => "ARRAY(0xb5b96342b890)" 142s ok 1934 - Line 1301 "[% $(cctx.scalar) %]" => "8" 142s ok 1935 - Line 1302 "[% cctx.bang %] ~" => "bing ~" 142s ok 1936 - Line 1303 "[% @(cctx.bang) %] ~" => "bing ~" 142s ok 1937 - Line 1304 "[% $(cctx.bang) %] ~" => "bing ~" 142s ok 1938 - Line 1306 "[% CONFIG CALL_CONTEXT => "list"; CALL cctx.call_me; CONFIG CALL_CONTEXT => "smart" %][% cctx.last_context %]" => "list" 142s ok 1939 - Line 1308 "[% CONFIG CALL_CONTEXT => "item"; CALL cctx.call_me %][% cctx.last_context %]" => "scalar" 142s ok 1940 - Line 1310 "[% cctx.dataref.0.foo = 7; cctx.dataref.0.foo %]" => "7" 142s ok 1941 - Line 1312 "[% @(cctx.dataref).0.foo = 7; cctx.dataref.foo %]" => "7" 142s ok 1942 - Line 1314 "[% $(cctx.dataref).0.foo = 7; cctx.dataref.0.foo %]" => "7" 142s ok 1943 - Line 1316 "[% CONFIG CALL_CONTEXT => "list"; cctx.dataref.0.foo = 7; CONFIG CALL_CONTEXT => "item"; cctx.dataref.foo %]" => "7" 142s ok 1944 - Line 1321 "[% cctxo.bang = 1 %] ~" => " ~" 142s ok 1945 - Line 1322 "[% cctxo.dataref.foo = 7; cctxo.dataref.foo %]" => "7" 142s ok 1946 - Line 1324 "[% CALL cctxo.call_me %][% cctxo.last_context %]" => "list" 142s ok 1947 - Line 1325 "[% CALL @(cctxo.call_me) %][% cctxo.last_context %]" => "list" 142s ok 1948 - Line 1326 "[% CALL $(cctxo.call_me) %][% cctxo.last_context %]" => "scalar" 142s ok 1949 - Line 1327 "[% CALL call_cctxo %][% cctxo.last_context %]" => "list" 142s ok 1950 - Line 1328 "[% CALL @(call_cctxo) %][% cctxo.last_context %]" => "list" 142s ok 1951 - Line 1329 "[% CALL $(call_cctxo) %][% cctxo.last_context %]" => "scalar" 142s ok 1952 - Line 1330 "[% CALL cctxo.call_me %][% cctxo.last_context %]" => "list" 142s ok 1953 - Line 1331 "[% CALL cctxo.call_me %][% cctxo.last_context.0 %]" => "list" 142s ok 1954 - Line 1332 "[% CALL cctxo.call_me %][% cctxo.last_context %]" => "scalar" 142s ok 1955 - Line 1333 "[% cctxo.array %]" => "ARRAY(0xb5b963415428)" 142s ok 1956 - Line 1334 "[% @(cctxo.array) %]" => "ARRAY(0xb5b963421f28)" 142s ok 1957 - Line 1335 "[% $(cctxo.array) %]" => "3" 142s ok 1958 - Line 1336 "[% cctxo.array2 %]" => "4" 142s ok 1959 - Line 1337 "[% @(cctxo.array2) %]" => "ARRAY(0xb5b9634220a8)" 142s ok 1960 - Line 1338 "[% $(cctxo.array2) %]" => "1" 142s ok 1961 - Line 1339 "[% cctxo.list %]" => "ARRAY(0xb5b963421e98)" 142s ok 1962 - Line 1340 "[% @(cctxo.list) %]" => "ARRAY(0xb5b963421b98)" 142s ok 1963 - Line 1341 "[% $(cctxo.list) %]" => "7" 142s ok 1964 - Line 1342 "[% cctxo.scalar %]" => "8" 142s ok 1965 - Line 1343 "[% @(cctxo.scalar) %]" => "ARRAY(0xb5b96342aff0)" 142s ok 1966 - Line 1344 "[% $(cctxo.scalar) %]" => "8" 142s ok 1967 - Line 1345 "[% cctxo.bang %] ~" => "bing ~" 142s ok 1968 - Line 1348 "[% SET cctxo.call_me = 2 %][% cctxo.last_context %]" => "list2" 142s ok 1969 - Line 1350 "[% CALL @(cctxo.call_me = 3) %][% cctxo.last_context %]" => "list3" 142s ok 1970 - Line 1352 "[% CALL $(cctxo.call_me = 4) %][% cctxo.last_context %]" => "scalar4" 142s ### INTERPOLATE ##################################### engine_option (compile_perl) 142s ok 1971 - Line 1358 "Foo $one Bar" => "Foo ONE Bar" 142s ok 1972 - Line 1359 "[% PERL %] my $n=7; print $n [% END %]" => "7" 142s ok 1973 - Line 1360 "[% TRY ; PERL %] my $n=7; print $n [% END ; END %]" => "7" 142s ok 1974 - Line 1364 "Foo \ Bar" => "Foo \ Bar" 142s ok 1975 - Line 1365 "Foo \\ Bar" => "Foo \\ Bar" 142s ok 1976 - Line 1366 "Foo \n Bar" => "Foo \n Bar" 142s ok 1977 - Line 1367 "Foo \$a Bar" => "Foo $a Bar" 142s ok 1978 - Line 1368 "Foo \\$a Bar" => "Foo \\7 Bar" 142s ok 1979 - Line 1369 "Foo \\\$a Bar" => "Foo \\$a Bar" 142s ok 1980 - Line 1370 "Foo $a.B Bar" => "Foo 7 Bar" 142s ok 1981 - Line 1371 "Foo ${ a.B } Bar" => "Foo 7 Bar" 142s ok 1982 - Line 1372 "Foo $a.b.c("hi") Bar" => "Foo Bar" 142s ok 1983 - Line 1374 "Foo ${a.b.c("hi")} Bar" => "Foo Bar" 142s ok 1984 - Line 1375 "Foo $a Bar $!a Baz" => "Foo 7 Bar 7 Baz" 142s ok 1985 - Line 1376 "Foo $a Bar $!{a} Baz" => "Foo 7 Bar 7 Baz" 142s ok 1986 - Line 1377 "Foo $a Bar $!a Baz" => "Foo 7 Bar 7 Baz" 142s ok 1987 - Line 1378 "Foo $a Bar $!{a} Baz" => "Foo 7 Bar 7 Baz" 142s ok 1988 - Line 1379 "Foo $a Bar $!a Baz" => "Foo $a Bar Baz" 142s ok 1989 - Line 1380 "Foo ${a} Bar $!{a} Baz" => "Foo ${a} Bar Baz" 142s ### ANYCASE / TRIM ################################## engine_option (compile_perl) 142s ok 1990 - Line 1385 "[% GET %]" => "" 142s ok 1991 - Line 1386 "[% GET GET %]" => "ONE" 142s ok 1992 - Line 1387 "[% get one %]" => "ONE" 142s ok 1993 - Line 1388 "[% get %]" => "" 142s ok 1994 - Line 1389 "[% get get %]" => "ONE" 142s ok 1995 - Line 1391 "[% BLOCK foo %] 142s # hi 142s # [% END %][% PROCESS foo %]" => " 142s # hi 142s # " 142s ok 1996 - Line 1392 "[% BLOCK foo %] 142s # hi[% END %][% PROCESS foo %]" => "hi" 142s ok 1997 - Line 1393 "[% BLOCK foo %]hi 142s # [% END %][% PROCESS foo %]" => "hi" 142s ok 1998 - Line 1394 "[% BLOCK foo %]hi[% nl %][% END %][% PROCESS foo %]" => "hi" 142s ok 1999 - Line 1395 "[% BLOCK foo %][% nl %]hi[% END %][% PROCESS foo %]" => "hi" 142s ok 2000 - Line 1396 "A[% TRY %] 142s # hi 142s # [% END %]" => "A 142s # hi" 142s ok 2001 - Line 1398 "[% FOO %]" => "foo" 142s ### V1DOLLAR ######################################## engine_option (compile_perl) 142s ok 2002 - Line 1403 "[% a %]|[% $a %]|[% ${ a } %]|[% ${ "a" } %]" => "A|bar|bar|A" 142s ok 2003 - Line 1404 "[% a %]|[% $a %]|[% ${ a } %]|[% ${ "a" } %]" => "A|A|bar|A" 142s ok 2004 - Line 1407 "[% a.b.c %]|[% $a.b.c %]|[% a.$b.c %]|[% ${ a.b.c } %]" => "Cb||CB|bar" 142s ok 2005 - Line 1408 "[% a.b.c %]|[% $a.b.c %]|[% a.$b.c %]|[% ${ a.b.c } %]" => "Cb|Cb|Cb|bar" 142s ok 2006 - Line 1410 "[% "$a" %]/$a/[% "${a}" %]/${a}" => "A/$a/A/${a}" 142s ok 2007 - Line 1411 "[% "$a" %]/$a/[% "${a}" %]/${a}" => "A/$a/A/${a}" 142s ok 2008 - Line 1412 "[% "$a" %]/$a/[% "${a}" %]/${a}" => "A/A/A/A" 142s ok 2009 - Line 1413 "[% "$a" %]/$a/[% "${a}" %]/${a}" => "A/A/A/A" 142s ok 2010 - Line 1415 "[% constants.a %]|[% $constants.a %]|[% constants.$a %]" => "A|A|A" 142s ### V2PIPE / V2EQUALS ############################### engine_option (compile_perl) 142s ok 2011 - Line 1420 "[%- BLOCK a %]b is [% b %] 142s # [% END %] 142s # [%- PROCESS a b => 237 | repeat(2) %]" => "b is 237 142s # b is 237 142s # " 142s ok 2012 - Line 1425 "[%- BLOCK a %]b is [% b %] 142s # [% END %] 142s # [%- PROCESS a b => 237 | repeat(2) %]" => "b is 237237 142s # " 142s ok 2013 - Line 1429 "[% ('a' == 'b') || 0 %]" => "0" 142s ok 2014 - Line 1430 "[% ('a' != 'b') || 0 %]" => "1" 142s ok 2015 - Line 1431 "[% ('a' == 'b') || 0 %]" => "0" 142s ok 2016 - Line 1432 "[% ('a' != 'b') || 0 %]" => "1" 142s ok 2017 - Line 1433 "[% ('a' == 'b') || 0 %]" => "1" 142s ok 2018 - Line 1434 "[% ('a' != 'b') || 0 %]" => "0" 142s ok 2019 - Line 1435 "[% ('7' == '7.0') || 0 %]" => "0" 142s ok 2020 - Line 1436 "[% ('7' == '7.0') || 0 %]" => "1" 142s ok 2021 - Line 1437 "[% (7 == 7.0) || 0 %]" => "1" 142s ok 2022 - Line 1438 "[% (7 == 7.0) || 0 %]" => "1" 142s ### configuration ################################### engine_option (compile_perl) 142s ok 2023 - Line 1443 "[% a = 7 %]$a" => "7" 142s ok 2024 - Line 1444 "[% a = 7 %]$a" => "7" 142s ### PERL ############################################ engine_option (compile_perl) 142s ok 2025 - Line 1449 "[% TRY %][% PERL %][% END %][% CATCH ; error; END %]" => "perl error - EVAL_PERL not set" 142s ok 2026 - Line 1450 "[% PERL %] print "[% one %]" [% END %]" => "ONE" 142s ok 2027 - Line 1451 "[% PERL %] print $stash->get('one') [% END %]" => "ONE" 142s ok 2028 - Line 1452 "[% PERL %] print $stash->set('a.b.c', 7) [% END %][% a.b.c %]" => "77" 142s ok 2029 - Line 1453 "[% RAWPERL %]$output .= 'interesting'[% END %]" => "interesting" 142s ### recursion prevention ############################ engine_option (compile_perl) 142s ok 2030 - Line 1458 "[% BLOCK foo %][% PROCESS bar %][% END %][% BLOCK bar %][% PROCESS foo %][% END %][% PROCESS foo %]" => "" 142s ### META ############################################ engine_option (compile_perl) 142s ok 2031 - Line 1463 "[% template.name %]" => "input text" 142s ok 2032 - Line 1464 "[% META foo = 'bar' %][% template.foo %]" => "bar" 142s ok 2033 - Line 1465 "[% META name = 'bar' %][% template.name %]" => "bar" 142s ok 2034 - Line 1466 "[% META foo = 'bar' %][% component.foo %]" => "bar" 142s ok 2035 - Line 1467 "[% META foo = 'bar' %][% component = '' %][% component.foo %]|foo" => "|foo" 142s ok 2036 - Line 1468 "[% META foo = 'bar' %][% template = '' %][% template.foo %]|foo" => "|foo" 142s ### references ###################################### engine_option (compile_perl) 142s ok 2037 - Line 1473 "[% a=3; b=\a; b; a %]" => "33" 142s ok 2038 - Line 1474 "[% a=3; b=\a; a=7; b; a %]" => "77" 142s ok 2039 - Line 1476 "[% a={}; a.1=7; b=\a.1; b; a.1 %]" => "77" 142s ok 2040 - Line 1477 "[% a={}; a.1=7; b=\a.20; a.20=7; b; a.20 %]" => "77" 142s ok 2041 - Line 1479 "[% a=[]; a.1=7; b=\a.1; b; a.1 %]" => "77" 142s ok 2042 - Line 1480 "[% a=[]; a.1=7; b=\a.20; a.20=7; b; a.20 %]" => "77" 142s ok 2043 - Line 1482 "[% \a %]" => "CODE(0xb5b96343db80)" 142s ok 2044 - Line 1483 "[% b=\a; b %]" => "a sub []" 142s ok 2045 - Line 1484 "[% b=\a(1); b %]" => "a sub [1]" 142s ok 2046 - Line 1485 "[% b=\a; b(2) %]" => "a sub [2]" 142s ok 2047 - Line 1486 "[% b=\a(1); b(2) %]" => "a sub [1 2]" 142s ok 2048 - Line 1487 "[% f=\j.k; j.k=7; f %]" => "7" 142s ok 2049 - Line 1489 "[% a = "a" ; f = {a=>"A",b=>"B"} ; foo = \f.$a ; foo %]" => "A" 142s ok 2050 - Line 1490 "[% a = "a" ; f = {a=>"A",b=>"B"} ; foo = \f.$a ; a = "b" ; foo %]" => "A" 142s ok 2051 - Line 1491 "[% a = "ab" ; f = "abcd"; foo = \f.replace(a, "-AB-") ; a = "cd"; foo %]" => "-AB-cd" 142s ok 2052 - Line 1492 "[% a = "ab" ; f = "abcd"; foo = \f.replace(a, "-AB-").replace("-AB-", "*") ; a = "cd"; foo %]" => "*cd" 142s ok 2053 - Line 1494 "[% a = "ab" ; f = "abcd"; foo = \f.replace(a, "-AB-") ; f = "ab"; foo %]" => "-AB-cd" 142s ok 2054 - Line 1495 "[% a = "ab" ; f = "abcd"; foo = \f.replace(a, "-AB-").replace("-AB-", "*") ; f = "ab"; foo %]" => "*cd" 142s ### reserved words ################################## engine_option (compile_perl) 142s ok 2055 - Line 1506 "[% GET %]" => "" 142s ok 2056 - Line 1507 "[% GET GET %]" => "named_get" 142s ok 2057 - Line 1508 "[% GET get %]" => "lower_named_get" 142s ok 2058 - Line 1509 "[% GET ${'GET'} %]" => "bar" 142s ok 2059 - Line 1511 "[% GET = 1 %][% GET GET %]" => "" 142s ok 2060 - Line 1512 "[% SET GET = 1 %][% GET GET %]" => "1" 142s ok 2061 - Line 1514 "[% GET $hold_get %]" => "named_get" 142s ok 2062 - Line 1515 "[% GET $GET %]" => "value of named_get" 142s ok 2063 - Line 1516 "[% BLOCK GET %]hi[% END %][% PROCESS GET %]" => "hi" 142s ok 2064 - Line 1517 "[% BLOCK foo %]hi[% END %][% PROCESS foo a = GET %]" => "hi" 142s ok 2065 - Line 1518 "[% BLOCK foo %]hi[% END %][% PROCESS foo GET = 1 %]" => "" 142s ok 2066 - Line 1519 "[% BLOCK foo %]hi[% END %][% PROCESS foo IF GET %]" => "hi" 142s ### embedded items ################################## engine_option (compile_perl) 142s ok 2067 - Line 1524 "[% " \" " %]" => " " " 142s ok 2068 - Line 1525 "[% " \$foo " %]" => " $foo " 142s ok 2069 - Line 1526 "[% " \${foo} " %]" => " ${foo} " 142s ok 2070 - Line 1527 "[% " \n " %]" => " 142s # " 142s ok 2071 - Line 1528 "[% " \t " %]" => " " 142s ok 2072 - Line 1529 "[% " \r " %]" => " " 142s ok 2073 - Line 1531 "[% 'foo\'bar' %]" => "foo'bar" 142s ok 2074 - Line 1532 "[% "foo\"bar" %]" => "foo"bar" 142s ok 2075 - Line 1533 "[% qw(foo \)).1 %]" => ")" 142s ok 2076 - Line 1534 "[% qw|foo \||.1 %]" => "|" 142s ok 2077 - Line 1536 "[% ' \' ' %]" => " ' " 142s ok 2078 - Line 1537 "[% ' \r ' %]" => " \r " 142s ok 2079 - Line 1538 "[% ' \n ' %]" => " \n " 142s ok 2080 - Line 1539 "[% ' \t ' %]" => " \t " 142s ok 2081 - Line 1540 "[% ' $foo ' %]" => " $foo " 142s ok 2082 - Line 1542 "[% A = "bar" ; ${ "A" } %]" => "bar" 142s ok 2083 - Line 1543 "[% A = "bar" ; "(${ A })" %]" => "(bar)" 142s ok 2084 - Line 1544 "[% A = "bar" ; ${ {a => "A"}.a } %]" => "bar" 142s ok 2085 - Line 1545 "[% A = "bar" ; "(${ {a => "A"}.a })" %]" => "(A)" 142s ok 2086 - Line 1546 "[% A = "bar" ; "(${ ${ {a => "A"}.a } })" %]" => "(bar)" 142s ok 2087 - Line 1547 "[% A = "bar" %](${ {a => "A"}.a })" => "(A)" 142s ok 2088 - Line 1548 "[% A = "bar" %](${ ${ {a => "A"}.a } })" => "(bar)" 142s ok 2089 - Line 1550 "[% "[%" %]" => "[%" 142s ok 2090 - Line 1551 "[% "%]" %]" => "%]" 142s ok 2091 - Line 1552 "[% a = "[% %]" %][% a %]" => "[% %]" 142s ok 2092 - Line 1553 "[% qw([% 1 + 2 %]).join %]" => "[% 1 + 2 %]" 142s ### STRICT ########################################## engine_option (compile_perl) 142s ok 2093 - Line 1557 "[% TRY; foo; CATCH; error; END %]" => "var.undef error - undefined variable: foo in input text" 142s ok 2094 - Line 1558 "[% TRY; foo.bar(1); CATCH; error; END %]" => "var.undef error - undefined variable: foo.bar(1) in input text" 142s ok 2095 - Line 1559 "[% TRY; 1 IF foo.bar.baz; CATCH; error; END %]" => "var.undef error - undefined variable: foo.bar.baz in input text" 142s ok 2096 - Line 1561 "[% foo.bar() %]ok" => "ok" 142s ok 2097 - Line 1562 "[% foo.baz() %]ok" => "" 142s ### EVALUATE ######################################## engine_option (compile_perl) 142s ok 2098 - Line 1568 "[% foo | eval %]" => "baz" 142s ok 2099 - Line 1570 "[% "[% 1 + 2 %]" | eval %]" => "3" 142s ok 2100 - Line 1571 "[% qw([% 1 + 2 %]).join.eval %]" => "3" 142s ok 2101 - Line 1573 "[% f = ">[% TRY; f.eval ; CATCH; 'caught' ; END %]"; f.eval %]" => ">>>>>caught" 142s ok 2102 - Line 1574 "[% f = ">[% TRY; f.eval ; CATCH; 'caught' ; END %]"; f.eval; f.eval %]" => ">>>>>caught>>>>>caught" 142s ok 2103 - Line 1575 "[% f = ">[% TRY; f.eval ; CATCH; 'foo' ; END %]"; f.eval;f.eval %]" => ">>foo>>foo" 142s ok 2104 - Line 1576 "[% '\#set($foo = 12)'|eval(syntax => 'velocity') %]|[% foo %]" => "|12" 142s ok 2105 - Line 1578 "[% f = ">[% TRY; f.eval ; CATCH; 'caught' ; END %]"; EVALUATE f %]" => ">>>>>caught" 142s ok 2106 - Line 1579 "[% f = ">[% TRY; f.eval ; CATCH; 'foo' ; END %]"; EVALUATE f; EVALUATE f %]" => ">>foo>>foo" 142s ok 2107 - Line 1580 "[% EVALUATE '\#set($foo = 12)' syntax => 'velocity' %]|[% foo %]" => "|12" 142s ok 2108 - Line 1582 "[% TRY; '[% bar %]'.eval(STRICT => 1); CATCH; error; END %]" => "var.undef error - undefined variable: bar in input text" 142s 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" 142s ok 2110 - Line 1584 "[% TRY; '[% bar %]'.eval(STRICT => 1); CATCH; error.type; END; bing %] - ok" => "var.undef - ok" 142s ### DUMP ############################################ engine_option (compile_perl) 142s ok 2111 - Line 1592 "[% DUMP a %]" => "DUMP: File "input text" line 1 142s # a = undef; 142s # " 142s ok 2112 - Line 1593 "[% p = DUMP a; p.collapse %]" => "DUMP: File "input text" line 1 a = undef;" 142s ok 2113 - Line 1594 "[% p = DUMP a; p.collapse %]" => "DUMP: File "input text" line 1 a = 's';" 142s ok 2114 - Line 1595 "[% 142s # p = DUMP a; p.collapse %]" => "DUMP: File "input text" line 2 a = 's';" 142s ok 2115 - Line 1596 "[% p = DUMP a, b; p.collapse %]" => "DUMP: File "input text" line 1 a, b = [ 's', undef ];" 142s ok 2116 - Line 1597 "[% p = DUMP a Useqq => 'b'; p.collapse %]" => "DUMP: File "input text" line 1 a Useqq => 'b' = [ 's', { 'Useqq' => 'b' } ];" 142s ok 2117 - Line 1598 "[% p = DUMP a; p.collapse %]" => "DUMP: File "input text" line 1 a = "s";" 142s ok 2118 - Line 1599 "[% p = DUMP a; p.collapse %]|foo" => "|foo" 142s ok 2119 - Line 1600 "[% p = DUMP _a, b; p.collapse %]" => "DUMP: File "input text" line 1 _a, b = [ undef, 'c' ];" 142s ok 2120 - Line 1601 "[% p = DUMP {a => 'b'}; p.collapse %]" => "DUMP: File "input text" line 1 {a => 'b'} = { 'a' => 'b' };" 142s ok 2121 - Line 1602 "[% p = DUMP _a; p.collapse %]" => "DUMP: File "input text" line 1 _a = undef;" 142s ok 2122 - Line 1603 "[% p = DUMP a; p.collapse %]" => "DUMP: File "input text" line 1 a = { 'b' => 'c' };" 142s ok 2123 - Line 1604 "[% p = DUMP a; p.collapse %]" => "DUMP: File "input text" line 1 a = {};" 142s ok 2124 - Line 1605 "[% p = DUMP a; p.collapse %]" => "DUMP: File "input text" line 1 a = {};" 142s ok 2125 - Line 1606 "[% p = DUMP a; p.collapse %]" => "DUMP: File "input text" line 1 Dump(7)" 142s ok 2126 - Line 1607 "[% p = DUMP a; p.collapse %]" => "a = 's';" 142s ok 2127 - Line 1608 "[% p = DUMP a; p.collapse %]" => "
a = 's'; 
" 142s ok 2128 - Line 1610 "[% p = DUMP a; p.collapse %]" => "
a = 's'; 
" 142s ok 2129 - Line 1611 "[% p = DUMP a; p.collapse %]" => "a = 's';" 142s ok 2130 - Line 1613 "[% SET global; p = DUMP; p.collapse %]" => "DUMP: File "input text" line 1 EntireStash = { 'a' => 'b', 'global' => undef };" 142s ok 2131 - Line 1614 "[% SET global; p = DUMP; p.collapse %]" => "DUMP: File "input text" line 1 EntireStash = { 'a' => 'b', 'global' => undef };" 142s ok 2132 - Line 1615 "[% SET global; p = DUMP; p.collapse %]" => "DUMP: File "input text" line 1" 142s ### SYNTAX ########################################## engine_option (compile_perl) 142s ok 2133 - Line 1622 "[%- BLOCK a %]b is [% b %][% END %][% PROCESS a b => 237 | repeat(2) %]" => "" 142s ok 2134 - Line 1623 "[%- BLOCK a %]b is [% b %][% END %][% PROCESS a b => 237 | repeat(2) %]" => "b is 237237" 142s ok 2135 - Line 1624 "[%- BLOCK a %]b is [% b %][% END %][% PROCESS a b => 237 | repeat(2) %]" => "b is 237237" 142s ok 2136 - Line 1625 "[%- BLOCK a %]b is [% b %][% END %][% PROCESS a b => 237 | repeat(2) %]" => "b is 237237" 142s ok 2137 - Line 1626 "[%- BLOCK a %]b is [% b %][% END %][% PROCESS a b => 237 | repeat(2) %]" => "b is 237b is 237" 142s ok 2138 - Line 1627 "[%- BLOCK a %]b is [% b %][% END %][% PROCESS a b => 237 | repeat(2) %]" => "b is 237b is 237" 142s ok 2139 - Line 1628 "[%- BLOCK a %]b is [% b %][% END %][% PROCESS a b => 237 | repeat(2) %]" => "b is 237b is 237" 142s ok 2140 - Line 1631 "[% a %]|[% $a %]|[% ${ a } %]|[% ${ "a" } %]" => "A|bar|bar|A" 142s ok 2141 - Line 1632 "[% a %]|[% $a %]|[% ${ a } %]|[% ${ "a" } %]" => "A|bar|bar|A" 142s ok 2142 - Line 1633 "[% a %]|[% $a %]|[% ${ a } %]|[% ${ "a" } %]" => "A|A|bar|A" 142s ok 2143 - Line 1635 "" => "FOO" 142s ok 2144 - Line 1636 "" => "7 8" 142s ok 2145 - Line 1637 "" => "1" 142s ok 2146 - Line 1638 "" => "1" 142s ok 2147 - Line 1639 "d" => "" 142s ok 2148 - Line 1641 "[% ""|eval(syntax => 'hte') %] = [% 6 %]" => "6 = 6" 142s ok 2149 - Line 1642 "[% ""|eval(syntax => 'ht') %] = [% 6 %]" => "" 142s ok 2150 - Line 1643 "[% ""|eval(syntax => 'ht') %] = [% 12 %]" => "12 = 12" 142s ### CONFIG ########################################## engine_option (compile_perl) 142s ok 2151 - Line 1651 "[% CONFIG ANYCASE => 1 %][% get 234 %]" => "234" 142s ok 2152 - Line 1652 "[% CONFIG anycase => 1 %][% get 234 %]" => "234" 142s ok 2153 - Line 1653 "[% CONFIG PRE_CHOMP => '-' %] 142s # [% 234 %]" => "234" 142s ok 2154 - Line 1654 "[% CONFIG POST_CHOMP => '-' %][% 234 %] 142s # " => "234" 142s ok 2155 - Line 1655 "[% CONFIG INTERPOLATE => 1 %]${ 234 }" => "234" 142s ok 2156 - Line 1656 "[% CONFIG V1DOLLAR => 1 %][% a = 234 %][% $a %]" => "234" 142s ok 2157 - Line 1657 "[% CONFIG V2PIPE => 1 %][% BLOCK a %]b is [% b %][% END %][% PROCESS a b => 234 | repeat(2) %]" => "b is 234b is 234" 142s ok 2158 - Line 1658 "[% CONFIG V2EQUALS => 1 %][% ('7' == '7.0') || 0 %]" => "0" 142s ok 2159 - Line 1659 "[% CONFIG V2EQUALS => 0 %][% ('7' == '7.0') || 0 %]" => "1" 142s ok 2160 - Line 1661 "[% CONFIG BOGUS => 2 %]bar" => "" 142s ok 2161 - Line 1663 "[% CONFIG ANYCASE %]|[% CONFIG ANYCASE => 1 %][% CONFIG ANYCASE %]" => "CONFIG ANYCASE = undef|CONFIG ANYCASE = 1" 142s ok 2162 - Line 1664 "[% CONFIG ANYCASE %]|[% CONFIG ANYCASE => 1 %][% CONFIG ANYCASE %]" => "CONFIG ANYCASE = undef|CONFIG ANYCASE = 1" 142s ok 2163 - Line 1666 "[% "[% GET 1+2+3 %]" | eval %] = [% get 6 %]" => "" 142s ok 2164 - Line 1667 "[% CONFIG ANYCASE => 1 %][% get 6 %]" => "6" 142s ok 2165 - Line 1668 "[% CONFIG ANYCASE => 1 %][% "[% get 1+2+3 %]" | eval %] = [% get 6 %]" => "6 = 6" 142s ok 2166 - Line 1669 "[% "[% CONFIG ANYCASE => 1 %][% get 1+2+3 %]" | eval %] = [% get 6 %]" => "" 142s ok 2167 - Line 1670 "[% "[% CONFIG ANYCASE => 1 %][% get 1+2+3 %]" | eval %] = [% GET 6 %]" => "6 = 6" 142s ok 2168 - Line 1671 "[% CONFIG SYNTAX => 'hte' %][% ""|eval %] = [% 6 %]" => "6 = 6" 142s ok 2169 - Line 1672 "[% "[% get 1+2+3 %]" | eval(ANYCASE => 1) %] = [% GET 6 %]" => "6 = 6" 142s ok 2170 - Line 1674 "[% CONFIG DUMP %]|[% CONFIG DUMP => 0 %][% DUMP %]bar" => "CONFIG DUMP = undef|bar" 142s ok 2171 - Line 1675 "[% CONFIG DUMP => {Useqq=>1, header=>0, html=>0} %][% DUMP 'foo' %]" => "'foo' = "foo"; 142s # " 142s ok 2172 - Line 1676 "[% CONFIG VMETHOD_FUNCTIONS => 0 %][% sprintf('%d %d', 7, 8) %] d" => " d" 142s ok 2173 - Line 1677 "[% TRY; foo; CONFIG STRICT => 1; bar; CATCH; error; END %]" => "var.undef error - undefined variable: bar in input text" 142s 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" 142s 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" 142s ok 2176 - Line 1681 "[% CONFIG AUTO_FILTER => "html"; foo %]" => "&" 142s ### DONE ############################################ engine_option (compile_perl) 142s ### GET ############################################# engine_option (stream) 142s ok 2177 - Line 159 "[% foo %]" => "" 142s ok 2178 - Line 160 "[% foo %]" => "7" 142s ok 2179 - Line 161 "[% foo %]" => "7" 142s ok 2180 - Line 162 "[% foo %]" => "7" 142s ok 2181 - Line 163 "[% foo %]" => "Stash" 142s ok 2182 - Line 164 "[% foo %]" => "V" 142s ok 2183 - Line 165 "[% bar %]" => "" 142s ok 2184 - Line 166 "[% foo %]" => "Stash" 142s ok 2185 - Line 167 "[% bar %]" => "" 142s ok 2186 - Line 168 "[% foo %]" => "Stash" 142s ok 2187 - Line 169 "[% foo %]" => "Stash" 142s ok 2188 - Line 170 "[% foo %][% foo %][% foo %]" => "777" 142s ok 2189 - Line 171 "[% foo() %]" => "7" 142s ok 2190 - Line 172 "[% foo.bar %]" => "" 142s ok 2191 - Line 173 "[% foo.bar %]" => "" 142s ok 2192 - Line 174 "[% foo.bar %]" => "7" 142s ok 2193 - Line 175 "[% foo().bar %]" => "7" 142s ok 2194 - Line 176 "[% foo.0 %]" => "7" 142s ok 2195 - Line 177 "[% foo.10 %]" => "" 142s ok 2196 - Line 178 "[% foo %]" => "7" 142s ok 2197 - Line 179 "[% foo(7) %]" => "7" 142s ok 2198 - Line 180 "[% foo.length %]" => "1" 142s ok 2199 - Line 181 "[% foo.0 %]" => "7" 142s ok 2200 - Line 182 "[% foo(bar) %]" => "7" 142s ok 2201 - Line 183 "[% foo(bar.baz) %]" => "7" 142s ok 2202 - Line 184 "[% foo.seven %]" => "7" 142s ok 2203 - Line 185 "[% foo.seven() %]" => "7" 142s ok 2204 - Line 186 "[% foo.seven.length %]" => "1" 142s ok 2205 - Line 187 "[% foo.echo(7) %]" => "7" 142s ok 2206 - Line 188 "[% foo.many.0 %]" => "1" 142s ok 2207 - Line 189 "[% foo.many.10 %]" => "" 142s ok 2208 - Line 190 "[% foo.nomethod %]" => "" 142s ok 2209 - Line 191 "[% foo.nomethod.0 %]" => "" 142s ok 2210 - Line 193 "[% GET foo %]" => "" 142s ok 2211 - Line 194 "[% GET foo %]" => "7" 142s ok 2212 - Line 195 "[% GET foo.bar %]" => "" 142s ok 2213 - Line 196 "[% GET foo.bar %]" => "" 142s ok 2214 - Line 197 "[% GET foo.bar %]" => "7" 142s ok 2215 - Line 198 "[% GET foo.0 %]" => "7" 142s ok 2216 - Line 199 "[% GET foo %]" => "7" 142s ok 2217 - Line 200 "[% GET foo(7) %]" => "7" 142s ok 2218 - Line 202 "[% $name %]" => "" 142s ok 2219 - Line 203 "[% $name %]" => "7" 142s ok 2220 - Line 204 "[% $name.bar %]" => "" 142s ok 2221 - Line 205 "[% $name.bar %]" => "" 142s ok 2222 - Line 206 "[% $name.bar %]" => "7" 142s ok 2223 - Line 207 "[% $name().bar %]" => "7" 142s ok 2224 - Line 208 "[% $name.0 %]" => "7" 142s ok 2225 - Line 209 "[% $name %]" => "7" 142s ok 2226 - Line 210 "[% $name(7) %]" => "7" 142s ok 2227 - Line 212 "[% GET $name %]" => "" 142s ok 2228 - Line 213 "[% GET $name %]" => "7" 142s ok 2229 - Line 214 "[% GET $name.bar %]" => "" 142s ok 2230 - Line 215 "[% GET $name.bar %]" => "" 142s ok 2231 - Line 216 "[% GET $name.bar %]" => "7" 142s ok 2232 - Line 217 "[% GET $name.0 %]" => "7" 142s ok 2233 - Line 218 "[% GET $name %]" => "7" 142s ok 2234 - Line 219 "[% GET $name(7) %]" => "7" 142s ok 2235 - Line 221 "[% $name %]" => "" 142s ok 2236 - Line 222 "[% GET $name %]" => "" 142s ok 2237 - Line 224 "[% ${name} %]" => "" 142s ok 2238 - Line 225 "[% ${name} %]" => "7" 142s ok 2239 - Line 226 "[% ${name}.bar %]" => "" 142s ok 2240 - Line 227 "[% ${name}.bar %]" => "" 142s ok 2241 - Line 228 "[% ${name}.bar %]" => "7" 142s ok 2242 - Line 229 "[% ${name}().bar %]" => "7" 142s ok 2243 - Line 230 "[% ${name}.0 %]" => "7" 142s ok 2244 - Line 231 "[% ${name} %]" => "7" 142s ok 2245 - Line 232 "[% ${name}(7) %]" => "7" 142s ok 2246 - Line 234 "[% GET ${name} %]" => "" 142s ok 2247 - Line 235 "[% GET ${name} %]" => "7" 142s ok 2248 - Line 236 "[% GET ${name}.bar %]" => "" 142s ok 2249 - Line 237 "[% GET ${name}.bar %]" => "" 142s ok 2250 - Line 238 "[% GET ${name}.bar %]" => "7" 142s ok 2251 - Line 239 "[% GET ${name}.0 %]" => "7" 142s ok 2252 - Line 240 "[% GET ${name} %]" => "7" 142s ok 2253 - Line 241 "[% GET ${name}(7) %]" => "7" 142s ok 2254 - Line 243 "[% ${name} %]" => "" 142s ok 2255 - Line 244 "[% GET ${name} %]" => "" 142s ok 2256 - Line 245 "[% GET ${'foo'} %]" => "bar" 142s ok 2257 - Line 247 "[% foo.$name %]" => "" 142s ok 2258 - Line 248 "[% foo.$name %]" => "7" 142s ok 2259 - Line 249 "[% foo.$name.baz %]" => "" 142s ok 2260 - Line 251 "[% "hi" %]" => "hi" 142s ok 2261 - Line 252 "[% "hi %]" => "" 142s ok 2262 - Line 253 "[% 'hi' %]" => "hi" 142s ok 2263 - Line 254 "[% 'hi %]" => "" 142s ok 2264 - Line 255 "[% "$foo" %]" => "7" 142s ok 2265 - Line 256 "[% "hi $foo" %]" => "hi 7" 142s ok 2266 - Line 257 "[% "hi ${foo}" %]" => "hi 7" 142s ok 2267 - Line 258 "[% 'hi $foo' %]" => "hi $foo" 142s ok 2268 - Line 259 "[% 'hi ${foo}' %]" => "hi ${foo}" 142s ok 2269 - Line 260 "[% 7 %]" => "7" 142s ok 2270 - Line 261 "[% -7 %]" => "-7" 142s ok 2271 - Line 263 "[% "hi ${foo.seven}" %]" => "hi 7" 142s ok 2272 - Line 264 "[% "hi ${foo.echo(7)}" %]" => "hi 7" 142s ok 2273 - Line 266 "[% _foo %]2" => "2" 142s ok 2274 - Line 267 "[% $bar %]2" => "2" 142s ok 2275 - Line 268 "[% __foo %]2" => "2" 142s ok 2276 - Line 270 "[% qw/Foo Bar Baz/.0 %]" => "Foo" 142s ok 2277 - Line 271 "[% [0..10].-1 %]" => "10" 142s ok 2278 - Line 272 "[% [0..10].${ 2.3 } %]" => "2" 142s ok 2279 - Line 274 "[% (1 + 2)() %]" => "" 142s ok 2280 - Line 275 "[% (1 + 2) %]" => "3" 142s ok 2281 - Line 276 "[% (a) %]" => "2" 142s ok 2282 - Line 277 "[% ('foo') %]" => "foo" 142s ok 2283 - Line 278 "[% (a(2)) %]" => "2" 142s ok 2284 - Line 281 "[% JS 3 %]" => "3" 142s ok 2285 - Line 282 "[% JS 3 %]" => "43" 142s ok 2286 - Line 283 "[% JS; 3; END %]" => "" 142s ### SET ############################################# engine_option (stream) 142s ok 2287 - Line 288 "[% SET foo bar %][% foo %]" => "" 142s ok 2288 - Line 289 "[% SET foo = 1 %][% foo %]" => "1" 142s ok 2289 - Line 290 "[% SET foo = 1 bar = 2 %][% foo %][% bar %]" => "12" 142s ok 2290 - Line 291 "[% SET foo bar = 1 %][% foo %]" => "" 142s ok 2291 - Line 292 "[% SET foo = 1 ; bar = 1 %][% foo %]" => "1" 142s ok 2292 - Line 293 "[% SET foo = 1 %][% SET foo %][% foo %]" => "" 142s ok 2293 - Line 295 "[% SET foo = [] %][% foo.0 %]" => "" 142s ok 2294 - Line 296 "[% SET foo = [1, 2, 3] %][% foo.1 %]" => "2" 142s ok 2295 - Line 297 "[% SET foo = {} %][% foo.0 %]" => "" 142s ok 2296 - Line 298 "[% SET foo = {1 => 2} %][% foo.1 %]" => "2" 142s ok 2297 - Line 299 "[% SET foo = {'1' => 2} %][% foo.1 %]" => "2" 142s ok 2298 - Line 301 "[% SET name = 1 %][% SET foo = name %][% foo %]" => "1" 142s ok 2299 - Line 302 "[% SET name = 1 %][% SET foo = $name %][% foo %]" => "" 142s ok 2300 - Line 303 "[% SET name = 1 %][% SET foo = ${name} %][% foo %]" => "" 142s ok 2301 - Line 304 "[% SET name = 1 %][% SET foo = "$name" %][% foo %]" => "1" 142s ok 2302 - Line 305 "[% SET name = 1 foo = name %][% foo %]" => "1" 142s ok 2303 - Line 306 "[% SET name = 1 %][% SET foo = {$name => 2} %][% foo.1 %]" => "2" 142s ok 2304 - Line 307 "[% SET name = 1 %][% SET foo = {"$name" => 2} %][% foo.1 %]" => "2" 142s ok 2305 - Line 308 "[% SET name = 1 %][% SET foo = {${name} => 2} %][% foo.1 %]" => "2" 142s ok 2306 - Line 310 "[% SET name = 7 %][% SET foo = {'2' => name} %][% foo.2 %]" => "7" 142s ok 2307 - Line 311 "[% SET name = 7 %][% SET foo = {'2' => "$name"} %][% foo.2 %]" => "7" 142s ok 2308 - Line 313 "[% SET name = 7 %][% SET foo = [1, name, 3] %][% foo.1 %]" => "7" 142s ok 2309 - Line 314 "[% SET name = 7 %][% SET foo = [1, "$name", 3] %][% foo.1 %]" => "7" 142s ok 2310 - Line 316 "[% SET foo = { bar => { baz => [0, 7, 2] } } %][% foo.bar.baz.1 %]" => "7" 142s ok 2311 - Line 318 "[% SET foo.bar = 1 %][% foo.bar %]" => "1" 142s ok 2312 - Line 319 "[% SET foo.bar.baz.bing = 1 %][% foo.bar.baz.bing %]" => "1" 142s ok 2313 - Line 320 "[% SET foo.bar.2 = 1 %][% foo.bar.2 %] [% foo.bar.size %]" => "1 1" 142s ok 2314 - Line 321 "[% SET foo.bar = [] %][% SET foo.bar.2 = 1 %][% foo.bar.2 %] [% foo.bar.size %]" => "1 3" 142s ok 2315 - Line 323 "[% SET name = 'two' %][% SET $name = 3 %][% two %]" => "3" 142s ok 2316 - Line 324 "[% SET name = 'two' %][% SET ${name} = 3 %][% two %]" => "3" 142s ok 2317 - Line 325 "[% SET name = 2 %][% SET foo.$name = 3 %][% foo.2 %]" => "3" 142s ok 2318 - Line 326 "[% SET name = 2 %][% SET foo.$name = 3 %][% foo.$name %]" => "3" 142s ok 2319 - Line 327 "[% SET name = 2 %][% SET foo.${name} = 3 %][% foo.2 %]" => "3" 142s ok 2320 - Line 328 "[% SET name = 2 %][% SET foo.${name} = 3 %][% foo.2 %]" => "3" 142s ok 2321 - Line 329 "[% SET name = 'two' %][% SET $name.foo = 3 %][% two.foo %]" => "3" 142s ok 2322 - Line 330 "[% SET name = 'two' %][% SET ${name}.foo = 3 %][% two.foo %]" => "3" 142s ok 2323 - Line 331 "[% SET name = 'two' %][% SET foo.$name.foo = 3 %][% foo.two.foo %]" => "3" 142s ok 2324 - Line 332 "[% SET name = 'two' %][% SET foo.${name}.foo = 3 %][% foo.two.foo %]" => "3" 142s ok 2325 - Line 334 "[% SET foo = [1..10] %][% foo.6 %]" => "7" 142s ok 2326 - Line 335 "[% SET foo = [10..1] %][% foo.6 %]" => "" 142s ok 2327 - Line 336 "[% SET foo = [-10..-1] %][% foo.6 %]" => "-4" 142s ok 2328 - Line 337 "[% SET foo = [1..10, 21..30] %][% foo.12 %]" => "23" 142s ok 2329 - Line 338 "[% SET foo = [..100] bar = 7 %][% bar %][% foo.0 %]" => "" 142s ok 2330 - Line 339 "[% SET foo = [100..] bar = 7 %][% bar %][% foo.0 %]" => "" 142s ok 2331 - Line 340 "[% SET foo = ['a'..'z'] %][% foo.6 %]" => "g" 142s ok 2332 - Line 341 "[% SET foo = ['z'..'a'] %][% foo.6 %]" => "" 142s ok 2333 - Line 342 "[% SET foo = ['a'..'z'].reverse %][% foo.6 %]" => "t" 142s ok 2334 - Line 344 "[% foo = 1 %][% foo %]" => "1" 142s ok 2335 - Line 345 "[% foo = 1 ; bar = 2 %][% foo %][% bar %]" => "12" 142s ok 2336 - Line 346 "[% foo.bar = 2 %][% foo.bar %]" => "2" 142s ok 2337 - Line 348 "[% a = "a" %]|[% (b = a) %]|[% a %]|[% b %]" => "|a|a|a" 142s ok 2338 - Line 349 "[% a = "a" %][% (c = (b = a)) %][% a %][% b %][% c %]" => "aaaa" 142s ok 2339 - Line 351 "[% a = qw{Foo Bar Baz} ; a.2 %]" => "Baz" 142s ok 2340 - Line 353 "[% _foo = 1 %][% _foo %]2" => "2" 142s ok 2341 - Line 354 "[% foo._bar %]2" => "2" 142s ### multiple statements in same tag ################# engine_option (stream) 142s ok 2342 - Line 359 "[% foo; %]" => "1" 142s ok 2343 - Line 360 "[% GET foo; %]" => "1" 142s ok 2344 - Line 361 "[% GET foo; GET foo %]" => "11" 142s ok 2345 - Line 362 "[% GET foo GET foo %]" => "11" 142s ok 2346 - Line 363 "[% GET foo GET foo %]" => "" 142s ok 2347 - Line 365 "[% foo = 1 bar = 2 %][% foo %][% bar %]" => "12" 142s ok 2348 - Line 366 "[% foo = 1 bar = 2 %][% foo = 3 bar %][% foo %][% bar %]" => "232" 142s ok 2349 - Line 367 "[% a = 1 a = a + 2 a %]" => "3" 142s ok 2350 - Line 369 "[% foo = 1 bar = 2 %][% foo %][% bar %]" => "" 142s ok 2351 - Line 370 "[% foo = 1 bar = 2 %][% foo = 3 bar %][% foo %][% bar %]" => "" 142s ok 2352 - Line 371 "[% a = 1 a = a + 2 a %]" => "" 142s ### CALL / DEFAULT ################################## engine_option (stream) 142s ok 2353 - Line 377 "[% DEFAULT foo = 7 %][% foo %]" => "7" 142s ok 2354 - Line 378 "[% SET foo = 5 %][% DEFAULT foo = 7 %][% foo %]" => "5" 142s ok 2355 - Line 379 "[% DEFAULT foo.bar.baz.bing = 6 %][% foo.bar.baz.bing %]" => "6" 142s ok 2356 - Line 382 "[% foo %]" => "hi" 142s ok 2357 - Line 383 "[% GET foo %]" => "hi" 142s ok 2358 - Line 384 "[% CALL foo %]" => "" 142s ok 2359 - CALL method actually called var 142s ### scalar vmethods ################################# engine_option (stream) 142s ok 2360 - Line 391 "[% n.0 %]" => "7" 142s ok 2361 - Line 392 "[% n.abs %]" => "7" 142s ok 2362 - Line 393 "[% n.abs %]" => "7" 142s ok 2363 - Line 394 "[% n.atan2.substr(0, 6) %]" => "1.5707" 142s ok 2364 - Line 395 "[% (4 * n.atan2(1)).substr(0, 7) %]" => "3.14159" 142s ok 2365 - Line 396 "[% n.chunk(3).join %]" => "abc def g" 142s ok 2366 - Line 397 "[% n.chunk(-3).join %]" => "a bcd efg" 142s ok 2367 - Line 398 "[% n|collapse %]" => "a b" 142s ok 2368 - Line 399 "[% n.cos.substr(0,5) %]" => "1" 142s ok 2369 - Line 400 "[% n.cos.substr(0,5) %]" => "0.707" 142s ok 2370 - Line 401 "[% n.defined %]" => "1" 142s ok 2371 - Line 402 "[% n.defined %]" => "" 142s ok 2372 - Line 403 "[% n.defined %]" => "1" 142s ok 2373 - Line 404 "[% n.dquote %]" => "(\n|\\|\")" 142s ok 2374 - Line 405 "[% n.exp.substr(0,5) %]" => "2.718" 142s ok 2375 - Line 406 "[% n.exp.log.substr(0,5) %]" => "8" 142s ok 2376 - Line 407 "[% n.fmt %]" => "7" 142s ok 2377 - Line 408 "[% n.fmt('%02d') %]" => "07" 142s ok 2378 - Line 409 "[% n.fmt('%0*d', 3) %]" => "007" 142s ok 2379 - Line 410 "[% n.fmt('(%s)') %]" => "(a 142s # b)" 142s ok 2380 - Line 411 "[% n|format('%02d') %]" => "07" 142s ok 2381 - Line 412 "[% n|format('%0*d', 3) %]" => "007" 142s ok 2382 - Line 413 "[% n|format('(%s)') %]" => "(a) 142s # (b)" 142s ok 2383 - Line 414 "[% n.hash.items.1 %]" => "b" 142s ok 2384 - Line 415 "[% n.hex %]" => "255" 142s ok 2385 - Line 416 "[% n|html %]" => "&<>"'" 142s ok 2386 - Line 418 "[% n|xml %]" => "&<>"'" 142s ok 2387 - Line 419 "[% n|indent %]" => " a 142s # b" 142s ok 2388 - Line 420 "[% n|indent(2) %]" => " a 142s # b" 142s ok 2389 - Line 421 "[% n|indent('wow ') %]" => "wow a 142s # wow b" 142s ok 2390 - Line 422 "[% n.int %]" => "123" 142s ok 2391 - Line 423 "[% n.int %]" => "123" 142s ok 2392 - Line 424 "[% n.int %]" => "0" 142s ok 2393 - Line 425 "[% n.item %]" => "7" 142s ok 2394 - Line 426 "[% n.lc %]" => "abc" 142s ok 2395 - Line 427 "[% n|lcfirst %]" => "fOO" 142s ok 2396 - Line 428 "[% n.length %]" => "3" 142s ok 2397 - Line 429 "[% n.list.0 %]" => "abc" 142s ok 2398 - Line 430 "[% n.log.substr(0,5) %]" => "4.605" 142s ok 2399 - Line 431 "[% n|lower %]" => "abc" 142s ok 2400 - Line 432 "[% n.match('foo').join %]" => "" 142s ok 2401 - Line 433 "[% n.match('foo').join %]" => "1" 142s ok 2402 - Line 434 "[% n.match('foo',1).join %]" => "foo" 142s ok 2403 - Line 435 "[% n.match('(foo)').join %]" => "foo" 142s ok 2404 - Line 436 "[% n.match('(foo)').join %]" => "foo" 142s ok 2405 - Line 437 "[% n.match('(foo)',1).join %]" => "foo foo" 142s ok 2406 - Line 438 "[% n.null %]" => "" 142s ok 2407 - Line 439 "[% n.oct %]" => "255" 142s ok 2408 - Line 440 "[% n.rand %]" => "1.5264831683424" 142s ok 2409 - Line 441 "[% n.rand %]" => "0.335701955774084" 142s ok 2410 - Line 442 "[% n.remove('bc') %]" => "a" 142s ok 2411 - Line 443 "[% n.remove('bc') %]" => "aa" 142s ok 2412 - Line 444 "[% n.repeat %]" => "1" 142s ok 2413 - Line 445 "[% n.repeat(0) %]" => "" 142s ok 2414 - Line 446 "[% n.repeat(1) %]" => "1" 142s ok 2415 - Line 447 "[% n.repeat(2) %]" => "11" 142s ok 2416 - Line 448 "[% n.repeat(2,'|') %]" => "1|1" 142s ok 2417 - Line 449 "[% n.replace('foo', 'bar') %]" => "barbar" 142s ok 2418 - Line 450 "[% n.replace('(foo)', 'bar$1') %]" => "barfoobarfoo" 142s ok 2419 - Line 451 "[% n.replace('foo', 'bar', 0) %]" => "barfoo" 142s ok 2420 - Line 452 "[% n.search('foo') %]" => "" 142s ok 2421 - Line 453 "[% n.search('foo') %]" => "1" 142s ok 2422 - Line 454 "[% n.sin.substr(0,5) %]" => "0" 142s ok 2423 - Line 455 "[% n.sin.substr(0,5) %]" => "1" 142s ok 2424 - Line 456 "[% n.size %]" => "1" 142s ok 2425 - Line 457 "[% n.split.join('|') %]" => "abc" 142s ok 2426 - Line 458 "[% n.split.join('|') %]" => "a|b|c" 142s ok 2427 - Line 459 "[% n.split.join('|') %]" => "a|b|c" 142s ok 2428 - Line 460 "[% n.split(u,2).join('|') %]" => "a|b c" 142s ok 2429 - Line 462 "[% n.split('/').join('|') %]" => "a|b|c" 142s ok 2430 - Line 463 "[% n.split('/', 2).join('|') %]" => "a|b/c" 142s ok 2431 - Line 464 "[% n.sprintf(7) %]" => "7" 142s ok 2432 - Line 465 "[% n.sprintf(3, 7, 12) %]" => "007 12" 142s ok 2433 - Line 466 "[% n.sqrt %]" => "3" 142s ok 2434 - Line 467 "[% n.squote %]" => "( 142s # |\\|\')" 142s ok 2435 - Line 468 "[% n.srand; 12 %]" => "12" 142s ok 2436 - Line 474 "[% n|trim %]" => "a b" 142s ok 2437 - Line 475 "[% n.uc %]" => "FOO" 142s ok 2438 - Line 476 "[% n|ucfirst %]" => "Foo" 142s ok 2439 - Line 477 "[% n|upper %]" => "FOO" 142s ok 2440 - Line 478 "[% n|uri %]" => "a%20b" 142s ok 2441 - Line 480 "[% n.fmt('%c') %]" => "B" 142s ok 2442 - Line 481 "[% n.fmt('%3X') %]" => " C" 142s ok 2443 - Line 482 "[% n.fmt('%-3X') %]" => "C " 142s ok 2444 - Line 483 "[% n.fmt('%03X') %]" => "00C" 142s ok 2445 - Line 484 "[% n.fmt('%03X') %]" => "00C" 142s ok 2446 - Line 485 "[% n.fmt('%\#03X') %]" => "0XC" 142s ok 2447 - Line 486 "[% n.fmt('%\#07X') %]" => "0X0000C" 142s ok 2448 - Line 488 "[% n.fmt('%o') %]" => "10" 142s ok 2449 - Line 489 "[% n.fmt('%\#o') %]" => "010" 142s ok 2450 - Line 490 "[% n.fmt('%\#o') %]" => "0" 142s ok 2451 - Line 492 "[% n.fmt('%02d') %]" => "07" 142s ok 2452 - Line 493 "[% n.fmt('%04.2d') %]" => " 07" 142s ok 2453 - Line 494 "[% n.fmt('%+04.2d') %]" => " +07" 142s ok 2454 - Line 495 "[% n.fmt('% 04.2d') %]" => " 07" 142s ok 2455 - Line 496 "[% n.fmt('% +04.2d') %]" => " +07" 142s ok 2456 - Line 497 "[% n.fmt('%02f') %]" => "7.000000" 142s ok 2457 - Line 498 "[% n.fmt('%04.2f') %]" => "7.00" 142s ok 2458 - Line 499 "[% n.fmt('%05.2f') %]" => "07.00" 142s ok 2459 - Line 500 "[% n.fmt('% 5.2f') %]" => " 7.00" 142s ok 2460 - Line 501 "[% n.fmt('%+04.2f') %]" => "+7.00" 142s ok 2461 - Line 502 "[% n.fmt('% 04.2f') %]" => " 7.00" 142s ok 2462 - Line 503 "[% n.fmt('% +6.2f') %]" => " +7.00" 142s ok 2463 - Line 504 "[% n.fmt('%0+6.2f') %]" => "+07.00" 142s ok 2464 - Line 505 "[% n.fmt('%.5g') %]" => "12345" 142s ok 2465 - Line 506 "[% n.fmt('%.5g') %]" => "1.2346e+06" 142s ### list vmethods ################################### engine_option (stream) 142s ok 2466 - Line 511 "[% a.defined %]" => "1" 142s ok 2467 - Line 512 "[% a.defined(1) %]" => "1" 142s ok 2468 - Line 513 "[% a.defined(3) %]" => "" 142s ok 2469 - Line 514 "[% a.first %]" => "2" 142s ok 2470 - Line 515 "[% a.first(3).join %]" => "2 3 4" 142s ok 2471 - Line 516 "[% a.fmt %]" => "2 3" 142s ok 2472 - Line 517 "[% a.fmt('%02d') %]" => "02 03" 142s ok 2473 - Line 518 "[% a.fmt('%02d',' ') %]" => "02 03" 142s ok 2474 - Line 519 "[% a.fmt('%02d','|') %]" => "02|03" 142s ok 2475 - Line 520 "[% a.fmt('%0*d','|', 3) %]" => "002|003" 142s ok 2476 - Line 521 "[% a.grep.join %]" => "2 3" 142s ok 2477 - Line 522 "[% a.grep(2).join %]" => "2" 142s ok 2478 - Line 523 "[% a.grep(->(n){n % 2}).join %]" => "3 5 7" 142s ok 2479 - Line 524 "[% a.hash.items.join %]" => "2 3" 142s ok 2480 - Line 525 "[% a.hash(5).items.sort.join %]" => "2 3 5 6" 142s ok 2481 - Line 526 "[% a.import(5) %]|[% a.join %]" => "|2 3" 142s ok 2482 - Line 528 "[% a.import([5]) %]|[% a.join %]" => "|2 3 5" 142s ok 2483 - Line 530 "[% a.item %]" => "2" 142s ok 2484 - Line 531 "[% a.item(1) %]" => "3" 142s ok 2485 - Line 532 "[% a.join %]" => "2 3" 142s ok 2486 - Line 533 "[% a.join('|') %]" => "2|3" 142s ok 2487 - Line 534 "[% a.last %]" => "10" 142s ok 2488 - Line 535 "[% a.last(3).join %]" => "8 9 10" 142s ok 2489 - Line 536 "[% a.list.join %]" => "2 3" 142s ok 2490 - Line 537 "[% a.map(->(n){ n.repeat(3) }).join %]" => "222 333" 142s ok 2491 - Line 538 "[% a.max %]" => "1" 142s ok 2492 - Line 539 "[% a.merge(5).join %]" => "2 3" 142s ok 2493 - Line 540 "[% a.merge([5]).join %]" => "2 3 5" 142s ok 2494 - Line 541 "[% a.merge([5]).null %][% a.join %]" => "2 3" 142s ok 2495 - Line 542 "[% a.nsort.join %]" => "1 2 3" 142s ok 2496 - Line 543 "[% a.nsort('b').0.b %]" => "7" 142s ok 2497 - Line 544 "[% a.pop %][% a.join %]" => "32" 142s ok 2498 - Line 545 "[% a.push(3) %][% a.join %]" => "2 3 3" 142s ok 2499 - Line 546 "[% a.pick %]" => "2" 142s ok 2500 - Line 547 "[% a.pick(5).join('') %]" => "23223" 142s ok 2501 - Line 548 "[% a.reverse.join %]" => "3 2" 142s ok 2502 - Line 549 "[% a.shift %][% a.join %]" => "23" 142s ok 2503 - Line 550 "[% a.size %]" => "2" 142s ok 2504 - Line 551 "[% a.slice.join %]" => "2 3 4 5" 142s ok 2505 - Line 552 "[% a.slice(2).join %]" => "4 5" 142s ok 2506 - Line 553 "[% a.slice(0,2).join %]" => "2 3 4" 142s ok 2507 - Line 554 "[% a.sort.join %]" => "1 2 3" 142s ok 2508 - Line 555 "[% a.sort('b').0.b %]" => "wee" 142s ok 2509 - Line 556 "[% c.sort(->(a,b){ a.k cmp b.k }).map(->{this.k}).join %]" => "a wee wow" 142s ok 2510 - Line 557 "[% a.splice.join %]|[% a.join %]" => "2 3 4 5|" 142s ok 2511 - Line 558 "[% a.splice(2).join %]|[% a.join %]" => "4 5|2 3" 142s ok 2512 - Line 559 "[% a.splice(0,2).join %]|[% a.join %]" => "2 3|4 5" 142s ok 2513 - Line 560 "[% a.splice(0,2,'hrm').join %]|[% a.join %]" => "2 3|hrm 4 5" 142s ok 2514 - Line 561 "[% a.unique.join %]" => "2 3" 142s ok 2515 - Line 562 "[% a.unshift(3) %][% a.join %]" => "3 2 3" 142s ### hash vmethods ################################### engine_option (stream) 142s ok 2516 - Line 567 "[% h.defined %]" => "1" 142s ok 2517 - Line 568 "[% h.defined('a') %]" => "1" 142s ok 2518 - Line 569 "[% h.defined('b') %]" => "" 142s ok 2519 - Line 570 "[% h.defined('a') %]" => "" 142s ok 2520 - Line 571 "[% h.delete('a') %]|[% h.keys.0 %]" => "|b" 142s ok 2521 - Line 572 "[% h.delete('a', 'b').join %]|[% h.keys.0 %]" => "|" 142s ok 2522 - Line 573 "[% h.delete('a', 'c').join %]|[% h.keys.0 %]" => "|b" 142s ok 2523 - Line 574 "[% h.each.sort.join %]" => "1 2 a b" 142s ok 2524 - Line 575 "[% h.exists('a') %]" => "1" 142s ok 2525 - Line 576 "[% h.exists('b') %]" => "" 142s ok 2526 - Line 577 "[% h.exists('a') %]" => "1" 142s ok 2527 - Line 578 "[% h.fmt %]" => "b B 142s # c C" 142s ok 2528 - Line 579 "[% h.fmt('%s => %s') %]" => "b => B 142s # c => C" 142s ok 2529 - Line 580 "[% h.fmt('%s => %s', '|') %]" => "b => B|c => C" 142s ok 2530 - Line 581 "[% h.fmt('%*s=>%s', '|', 3) %]" => " b=>B| c=>C" 142s ok 2531 - Line 582 "[% h.fmt('%*s=>%*s', '|', 3, 4) %]" => " b=> B| c=> C" 142s ok 2532 - Line 583 "[% h.hash.fmt %]" => "b B 142s # c C" 142s ok 2533 - Line 584 "[% h.import('a') %]|[% h.items.sort.join %]" => "|b B c C" 142s ok 2534 - Line 585 "[% h.import({'b' => 'boo'}) %]|[% h.items.sort.join %]" => "|b boo c C" 142s ok 2535 - Line 586 "[% h.item('a') %]" => "A" 142s ok 2536 - Line 587 "[% h.item('_a') %]" => "" 142s ok 2537 - Line 588 "[% h.items.sort.join %]" => "1 2 a b" 142s ok 2538 - Line 589 "[% h.keys.sort.join %]" => "a b" 142s ok 2539 - Line 590 "[% h.list('each').sort.join %]" => "1 2 a b" 142s ok 2540 - Line 591 "[% h.list('keys').sort.join %]" => "a b" 142s ok 2541 - Line 592 "[% h.list('pairs').0.items.sort.join %]" => "1 a key value" 142s ok 2542 - Line 593 "[% h.list('values').sort.join %]" => "1 2" 142s ok 2543 - Line 594 "[% h.null %]" => "" 142s ok 2544 - Line 595 "[% h.nsort.join %]" => "b a" 142s ok 2545 - Line 596 "[% h.pairs.0.items.sort.join %]" => "1 a key value" 142s ok 2546 - Line 597 "[% h.size %]" => "2" 142s ok 2547 - Line 598 "[% h.sort.join %]" => "b a" 142s ok 2548 - Line 599 "[% h.values.sort.join %]" => "1 2" 142s ### vmethods as functions ########################### engine_option (stream) 142s ok 2549 - Line 604 "[% sprintf('%d %d', 7, 8) %] d" => "7 8 d" 142s ok 2550 - Line 605 "[% sprintf('%d %d', 7, 8) %] d" => "7 8 d" 142s ok 2551 - Line 606 "[% sprintf('%d %d', 7, 8) %] d" => " d" 142s ok 2552 - Line 607 "[% int(2.234) %]" => "2" 142s ok 2553 - Line 609 "[% int(2.234) ; int = 44; int(2.234) ; SET int; int(2.234) %]" => "2442" 142s ### more virtual methods / filters ################## engine_option (stream) 142s ok 2554 - Line 614 "[% [0 .. 10].reverse.1 %]" => "9" 142s ok 2555 - Line 615 "[% {a => 'A'}.a %]" => "A" 142s ok 2556 - Line 616 "[% 'This is a string'.length %]" => "16" 142s ok 2557 - Line 617 "[% 123.length %]" => "3" 142s ok 2558 - Line 618 "[% 123.2.length %]" => "5" 142s ok 2559 - Line 619 "[% -123.2.length %]" => "-5" 142s ok 2560 - Line 620 "[% (-123.2).length %]" => "6" 142s ok 2561 - Line 621 "[% a = 23; a.0 %]" => "23" 142s ok 2562 - Line 622 "[% 1.rand %]" => "0.15075242533052" 142s ok 2563 - Line 624 "[% n.size %]" => "SIZE" 142s ok 2564 - Line 625 "[% n|size %]" => "2" 142s ok 2565 - Line 627 "[% "1" | indent(2) %]" => " 1" 142s ok 2566 - Line 629 "[% n FILTER size %]" => "1" 142s ok 2567 - Line 631 "[% n FILTER repeat %]" => "1" 142s ok 2568 - Line 632 "[% n FILTER repeat(0) %]" => "" 142s ok 2569 - Line 633 "[% n FILTER repeat(1) %]" => "1" 142s ok 2570 - Line 634 "[% n FILTER repeat(2) %]" => "11" 142s ok 2571 - Line 635 "[% n FILTER repeat(2,'|') %]" => "1|1" 142s ok 2572 - Line 637 "[% n FILTER echo = repeat(2) %][% n FILTER echo %]" => "1111" 142s ok 2573 - Line 638 "[% n FILTER echo = repeat(2) %][% n | echo %]" => "1111" 142s ok 2574 - Line 639 "[% n FILTER echo = repeat(2) %][% n|echo.length %]" => "112" 142s ok 2575 - Line 640 "[% n FILTER echo = repeat(2) %][% n FILTER $foo %]" => "1111" 142s ok 2576 - Line 641 "[% n FILTER echo = repeat(2) %][% n | $foo %]" => "1111" 142s ok 2577 - Line 642 "[% n FILTER echo = repeat(2) %][% n|$foo.length %]" => "112" 142s ok 2578 - Line 644 "[% "hi" FILTER $foo %]" => "hihi" 142s ok 2579 - Line 645 "[% FILTER $foo %]hi[% END %]" => "hihi" 142s ok 2580 - Line 646 "[% "hi" FILTER foo %]" => "hihi" 142s ok 2581 - Line 647 "[% "hi" FILTER foo %]" => "hihi" 142s ok 2582 - Line 648 "[% "hi" FILTER foo(2) %]" => "hihi" 142s ok 2583 - Line 650 "[% ["0".."9"].pick %]" => "9" 142s ok 2584 - Line 652 "[% ' ' | uri %]" => "%20" 142s ok 2585 - Line 654 "[% "one".fmt %]" => "one" 142s ok 2586 - Line 655 "[% 2.fmt("%02d") %]" => "02" 142s ok 2587 - Line 657 "[% [1..3].fmt %]" => "1 2 3" 142s ok 2588 - Line 658 "[% [1..3].fmt("%02d") %]" => "01 02 03" 142s ok 2589 - Line 659 "[% [1..3].fmt("%s", ", ") %]" => "1, 2, 3" 142s ok 2590 - Line 661 "[% {a => "B", c => "D"}.fmt %]" => "a B 142s # c D" 142s ok 2591 - Line 662 "[% {a => "B", c => "D"}.fmt("%s:%s") %]" => "a:B 142s # c:D" 142s ok 2592 - Line 663 "[% {a => "B", c => "D"}.fmt("%s:%s", "; ") %]" => "a:B; c:D" 142s ok 2593 - Line 665 "[% 1|format("%s") %]" => "1" 142s ok 2594 - Line 666 "[% 1|format("%*s", 6) %]" => " 1" 142s ok 2595 - Line 667 "[% 1|format("%-*s", 6) %]" => "1 " 142s ok 2596 - Line 669 "[% 1.fmt("%-*s", 6) %]" => "1 " 142s ok 2597 - Line 670 "[% [1,2].fmt("%-*s", "|", 6) %]" => "1 |2 " 142s ok 2598 - Line 671 "[% {1=>2,3=>4}.fmt("%*s:%*s", "|", 3, 3) %]" => " 1: 2| 3: 4" 142s ok 2599 - Line 673 "[% foo %]" => "&" 142s ok 2600 - Line 674 "[% "&" %]" => "&" 142s ok 2601 - Line 675 "[% foo | none %]" => "&" 142s ok 2602 - Line 676 "[% foo.bar %]" => "&" 142s ok 2603 - Line 677 "[% foo.bar | none %]" => "&" 142s ok 2604 - Line 678 "[% GET foo %]" => "&" 142s ok 2605 - Line 679 "[% GET "&" %]" => "&" 142s ok 2606 - Line 680 "[% GET foo | none %]" => "&" 142s ok 2607 - Line 681 "[% Text.length(foo) %]" => "1" 142s ### virtual objects ################################# engine_option (stream) 142s ok 2608 - Line 686 "[% a = "foobar" %][% Text.length(a) %]" => "6" 142s ok 2609 - Line 687 "[% a = [1 .. 10] %][% List.size(a) %]" => "10" 142s ok 2610 - Line 688 "[% a = {a=>"A", b=>"B"} ; Hash.size(a) %]" => "2" 142s ok 2611 - Line 690 "[% a = Text.new("This is a string") %][% a.length %]" => "16" 142s ok 2612 - Line 691 "[% a = List.new("one", "two", "three") %][% a.size %]" => "3" 142s ok 2613 - Line 692 "[% a = Hash.new("one", "ONE") %][% a.one %]" => "ONE" 142s ok 2614 - Line 693 "[% a = Hash.new(one = "ONE") %][% a.one %]" => "ONE" 142s ok 2615 - Line 694 "[% a = Hash.new(one => "ONE") %][% a.one %]" => "ONE" 142s ok 2616 - Line 696 "[% {a => 1, b => 2} | Hash.keys | List.sort | List.join(", ") %]" => "a, b" 142s ### chomping ######################################## engine_option (stream) 142s ok 2617 - Line 701 " [% foo %]" => " " 142s ok 2618 - Line 702 " [%- foo %]" => "" 142s ok 2619 - Line 703 " 142s # [%- foo %]" => "" 142s ok 2620 - Line 704 " 142s # [%- foo %]" => "" 142s ok 2621 - Line 705 " 142s # 142s # [%- foo %]" => " 142s # " 142s ok 2622 - Line 706 " 142s # 142s # [%- foo %]" => " 142s # " 142s ok 2623 - Line 707 " 142s # [%- foo %]" => " " 142s ok 2624 - Line 708 " 142s # 142s # [%- foo %]" => " 142s # " 142s ok 2625 - Line 710 "[% 7 %] " => "7 " 142s ok 2626 - Line 711 "[% 7 -%] " => "7 " 142s ok 2627 - Line 712 "[% 7 -%] 142s # " => "7" 142s ok 2628 - Line 713 "[% 7 -%] 142s # " => "7" 142s ok 2629 - Line 714 "[% 7 -%] 142s # " => "7 " 142s ok 2630 - Line 715 "[% 7 -%] 142s # 142s # 142s # " => "7 142s # 142s # " 142s ok 2631 - Line 716 "[% 7 -%] 142s # " => "7 " 142s ### string operators ################################ engine_option (stream) 142s ok 2632 - Line 721 "[% a = "foo"; a _ "bar" %]" => "foobar" 142s ok 2633 - Line 722 "[% a = "foo"; a ~ "bar" %]" => "foobar" 142s ok 2634 - Line 723 "[% a = "foo"; a ~= "bar"; a %]" => "foobar" 142s ok 2635 - Line 724 "[% "b" gt "c" %]<<<" => "<<<" 142s ok 2636 - Line 725 "[% "b" gt "a" %]<<<" => "1<<<" 142s ok 2637 - Line 726 "[% "b" ge "c" %]<<<" => "<<<" 142s ok 2638 - Line 727 "[% "b" ge "b" %]<<<" => "1<<<" 142s ok 2639 - Line 728 "[% "b" lt "c" %]<<<" => "1<<<" 142s ok 2640 - Line 729 "[% "b" lt "a" %]<<<" => "<<<" 142s ok 2641 - Line 730 "[% "b" le "a" %]<<<" => "<<<" 142s ok 2642 - Line 731 "[% "b" le "b" %]<<<" => "1<<<" 142s ok 2643 - Line 732 "[% "a" cmp "b" %]<<<" => "-1<<<" 142s ok 2644 - Line 733 "[% "b" cmp "b" %]<<<" => "0<<<" 142s ok 2645 - Line 734 "[% "c" cmp "b" %]<<<" => "1<<<" 142s ### math operators ################################## engine_option (stream) 142s ok 2646 - Line 739 "[% 1 + 2 %]" => "3" 142s ok 2647 - Line 740 "[% 1 + 2 + 3 %]" => "6" 142s ok 2648 - Line 741 "[% (1 + 2) %]" => "3" 142s ok 2649 - Line 742 "[% 2 - 1 %]" => "1" 142s ok 2650 - Line 743 "[% -1 + 2 %]" => "1" 142s ok 2651 - Line 744 "[% -1+2 %]" => "1" 142s ok 2652 - Line 745 "[% 2 - 1 %]" => "1" 142s ok 2653 - Line 746 "[% 2-1 %]" => "1" 142s ok 2654 - Line 747 "[% 2 - -1 %]" => "3" 142s ok 2655 - Line 748 "[% 4 * 2 %]" => "8" 142s ok 2656 - Line 749 "[% 4 / 2 %]" => "2" 142s ok 2657 - Line 750 "[% 10 / 3 %]" => "3.33333333333333" 142s ok 2658 - Line 751 "[% 10 div 3 %]" => "3" 142s ok 2659 - Line 752 "[% 2 ** 3 %]" => "8" 142s ok 2660 - Line 753 "[% 1 + 2 * 3 %]" => "7" 142s ok 2661 - Line 754 "[% 3 * 2 + 1 %]" => "7" 142s ok 2662 - Line 755 "[% (1 + 2) * 3 %]" => "9" 142s ok 2663 - Line 756 "[% 3 * (1 + 2) %]" => "9" 142s ok 2664 - Line 757 "[% 1 + 2 ** 3 %]" => "9" 142s ok 2665 - Line 758 "[% 2 * 2 ** 3 %]" => "16" 142s ok 2666 - Line 759 "[% SET foo = 1 %][% foo + 2 %]" => "3" 142s ok 2667 - Line 760 "[% SET foo = 1 %][% (foo + 2) %]" => "3" 142s ok 2668 - Line 762 "[% a = 1; (a += 2) %]" => "3" 142s ok 2669 - Line 763 "[% a = 1; (a -= 2) %]" => "-1" 142s ok 2670 - Line 764 "[% a = 4; (a /= 2) %]" => "2" 142s ok 2671 - Line 765 "[% a = 1; (a *= 2) %]" => "2" 142s ok 2672 - Line 766 "[% a = 3; (a **= 2) %]" => "9" 142s ok 2673 - Line 767 "[% a = 1; (a %= 2) %]" => "1" 142s ok 2674 - Line 768 "[% a = 1; (a += 2 + 3) %]" => "6" 142s ok 2675 - Line 769 "[% a = 1; b = 2; (a += b += 3) %]|[% a %]|[% b %]" => "6|6|5" 142s ok 2676 - Line 770 "[% a = 1; b = 2; (a += (b += 3)) %]|[% a %]|[% b %]" => "6|6|5" 142s ok 2677 - Line 772 "[% a += 1 %]-[% a %]-[% a += 1 %]-[% a %]" => "-1--2" 142s ok 2678 - Line 773 "[% (a += 1) %]-[% (a += 1) %]" => "1-2" 142s ok 2679 - Line 775 "[% a = 2; a -= 3; a %]" => "-1" 142s ok 2680 - Line 776 "[% a = 2; a *= 3; a %]" => "6" 142s ok 2681 - Line 777 "[% a = 2; a /= .5; a %]" => "4" 142s ok 2682 - Line 778 "[% a = 8; a %= 3; a %]" => "2" 142s ok 2683 - Line 779 "[% a = 2; a **= 3; a %]" => "8" 142s ok 2684 - Line 781 "[% a = 1 %][% ++a %][% a %]" => "22" 142s ok 2685 - Line 782 "[% a = 1 %][% a++ %][% a %]" => "12" 142s ok 2686 - Line 783 "[% a = 1 %][% --a %][% a %]" => "00" 142s ok 2687 - Line 784 "[% a = 1 %][% a-- %][% a %]" => "10" 142s ok 2688 - Line 785 "[% a++ FOR [1..3] %]" => "012" 142s ok 2689 - Line 786 "[% --a FOR [1..3] %]" => "-1-2-3" 142s ok 2690 - Line 788 "[% 2 > 3 %]<<<" => "<<<" 142s ok 2691 - Line 789 "[% 2 > 1 %]<<<" => "1<<<" 142s ok 2692 - Line 790 "[% 2 >= 3 %]<<<" => "<<<" 142s ok 2693 - Line 791 "[% 2 >= 2 %]<<<" => "1<<<" 142s ok 2694 - Line 792 "[% 2 < 3 %]<<<" => "1<<<" 142s ok 2695 - Line 793 "[% 2 < 1 %]<<<" => "<<<" 142s ok 2696 - Line 794 "[% 2 <= 1 %]<<<" => "<<<" 142s ok 2697 - Line 795 "[% 2 <= 2 %]<<<" => "1<<<" 142s ok 2698 - Line 796 "[% 1 <=> 2 %]<<<" => "-1<<<" 142s ok 2699 - Line 797 "[% 2 <=> 2 %]<<<" => "0<<<" 142s ok 2700 - Line 798 "[% 3 <=> 2 %]<<<" => "1<<<" 142s ### boolean operators ############################### engine_option (stream) 142s ok 2701 - Line 803 "[% 5 && 6 %]" => "6" 142s ok 2702 - Line 804 "[% 5 || 6 %]" => "5" 142s ok 2703 - Line 805 "[% 0 || 6 %]" => "6" 142s ok 2704 - Line 806 "[% 0 && 6 %]" => "0" 142s ok 2705 - Line 807 "[% 0 && 0 %]" => "0" 142s ok 2706 - Line 808 "[% 5 && 6 && 7%]" => "7" 142s ok 2707 - Line 809 "[% 0 || 1 || 2 %]" => "1" 142s ok 2708 - Line 811 "[% 5 + (0 || 5) %]" => "10" 142s ok 2709 - Line 814 "[% 1 ? 2 : 3 %]" => "2" 142s ok 2710 - Line 815 "[% 0 ? 2 : 3 %]" => "3" 142s ok 2711 - Line 816 "[% 0 ? (1 ? 2 : 3) : 4 %]" => "4" 142s ok 2712 - Line 817 "[% 0 ? 1 ? 2 : 3 : 4 %]" => "4" 142s ok 2713 - Line 819 "[% t = 1 || 0 ? 3 : 4 %][% t %]" => "3" 142s ok 2714 - Line 820 "[% t = 0 or 1 ? 3 : 4 %][% t %]" => "3" 142s ok 2715 - Line 821 "[% t = 1 or 0 ? 3 : 4 %][% t %]" => "1" 142s ok 2716 - Line 823 "[% 0 ? 2 : 3 %]" => "3" 142s ok 2717 - Line 824 "[% 1 ? 2 : 3 %]" => "2" 142s ok 2718 - Line 825 "[% 0 ? 1 ? 2 : 3 : 4 %]" => "4" 142s ok 2719 - Line 826 "[% t = 0 ? 1 ? [1..4] : [2..4] : [3..4] %][% t.0 %]" => "3" 142s ok 2720 - Line 827 "[% t = 1 || 0 ? 0 : 1 || 2 ? 2 : 3 %][% t %]" => "0" 142s ok 2721 - Line 828 "[% t = 0 or 0 ? 0 : 1 or 2 ? 2 : 3 %][% t %]" => "1" 142s ok 2722 - Line 829 "[% t = 0 or 0 ? 0 : 0 or 2 ? 2 : 3 %][% t %]" => "2" 142s ok 2723 - Line 831 "[% 0 ? 1 ? 1 + 2 * 3 : 1 + 2 * 4 : 1 + 2 * 5 %]" => "11" 142s ok 2724 - Line 833 "[% foo //= 2 ; foo %]" => "2" 142s ok 2725 - Line 834 "[% foo = 3; foo //= 2; foo %]" => "3" 142s ok 2726 - Line 835 "[% foo = 3; SET foo; foo //= 2; foo %]" => "2" 142s ok 2727 - Line 837 "[% 5 // 6 %]" => "5" 142s ok 2728 - Line 838 "[% foo // 6 %]" => "6" 142s ok 2729 - Line 839 "[% foo // 6 %]" => "6" 142s ok 2730 - Line 840 "[% foo // 6 %]" => "" 142s ok 2731 - Line 841 "[% foo // 6 %]" => "bar" 142s ok 2732 - Line 843 "[% foo err 6 %]" => "6" 142s ok 2733 - Line 844 "[% foo ERR 6 %]" => "6" 142s ### regex ########################################### engine_option (stream) 142s ok 2734 - Line 850 "[% 'foo'.match(/foo/) ? 1 : 0 %]" => "1" 142s ok 2735 - Line 851 "[% 'foo'.match(/foo) ? 1 : 0 %]" => "" 142s ok 2736 - Line 852 "[% 'foo'.match(/fo o/x) ? 1 : 0 %]" => "1" 142s ok 2737 - Line 853 "[% 'foo'.match(/Foo/i) ? 1 : 0 %]" => "1" 142s ok 2738 - Line 854 "[% 'f 142s # o'.match(/f.o/s) ? 1 : 0 %]" => "1" 142s ok 2739 - Line 855 "[% ' 142s # foo'.match(/^foo/m) ? 1 : 0 %]" => "1" 142s ok 2740 - Line 856 "[% 'foo'.match(/foo/e) ? 1 : 0 %]" => "" 142s ok 2741 - Line 857 "[% 'foo'.match(/foo/g) ? 1 : 0 %]" => "" 142s ok 2742 - Line 858 "[% 'foo'.match(/foo) ? 1 : 0 %]" => "" 142s ok 2743 - Line 859 "[% 'foo'.match(/foo**/) ? 1 : 0 %]" => "" 142s ok 2744 - Line 860 "[% 'fo/o'.match(/fo\/o/) ? 1 : 0 %]" => "1" 142s ok 2745 - Line 861 "[% 'foobar'.match(/(f\w\w)/).0 %]" => "foo" 142s ### BLOCK / PROCESS / INCLUDE / WRAPPER ############# engine_option (stream) 142s ok 2746 - Line 867 "[% PROCESS foo %]one" => "" 142s ok 2747 - Line 868 "[% BLOCK foo %]one" => "" 142s ok 2748 - Line 869 "[% BLOCK foo %][% END %]one" => "one" 142s ok 2749 - Line 870 "[% BLOCK %][% END %]one" => "one" 142s ok 2750 - Line 871 "[% BLOCK foo %]hi there[% END %]one" => "one" 142s ok 2751 - Line 872 "[% BLOCK foo %][% BLOCK foo %][% END %][% END %]" => "" 142s ok 2752 - Line 873 "[% BLOCK foo %]hi there[% END %][% PROCESS foo %]" => "hi there" 142s ok 2753 - Line 874 "[% PROCESS foo %][% BLOCK foo %]hi there[% END %]" => "hi there" 142s ok 2754 - Line 875 "[% BLOCK foo %]hi there[% END %][% PROCESS foo foo %]" => "hi therehi there" 142s ok 2755 - Line 876 "[% BLOCK foo %]hi there[% END %][% PROCESS foo, foo %]" => "hi therehi there" 142s ok 2756 - Line 877 "[% BLOCK foo %]hi there[% END %][% PROCESS foo + foo %]" => "hi therehi there" 142s ok 2757 - Line 878 "[% BLOCK foo %]hi [% one %] there[% END %][% PROCESS foo %]" => "hi ONE there" 142s ok 2758 - Line 879 "[% BLOCK foo %]hi [% IF 1 %]Yes[% END %] there[% END %]<<[% PROCESS foo %]>>" => "<>" 142s ok 2759 - Line 880 "[% BLOCK foo %]hi [% one %] there[% END %][% PROCESS foo one = 'two' %]" => "hi two there" 142s ok 2760 - Line 881 "[% BLOCK foo %]hi [% one.two %] there[% END %][% PROCESS foo one.two = 'two' %]" => "hi two there" 142s ok 2761 - Line 882 "[% BLOCK foo %]hi [% one.two %] there[% END %][% PROCESS foo + foo one.two = 'two' %]" => "hi two therehi two there" 142s ok 2762 - Line 883 "[% BLOCK foo %][% BLOCK bar %]hi [% one %] there[% END %][% END %][% PROCESS foo/bar one => 'two' %]" => "hi two there" 142s ok 2763 - Line 885 "[% BLOCK b %]Ta-Da[% END %][% self = {a => 'b'} %][% PROCESS $self.a self = 'blah' %]" => "Ta-Da" 142s ok 2764 - Line 886 "[% BLOCK b %]Ta-Da[% END %][% self = {a => 'b'} %][% INCLUDE $self.a self = 'blah' %]" => "Ta-Da" 142s ok 2765 - Line 887 "[% BLOCK b %]Ta-Da[% END %][% self = 'b' %][% PROCESS $self self = 'blah'; self %]" => "Ta-Dablah" 142s ok 2766 - Line 888 "[% BLOCK b %]Ta-Da[% END %][% self = 'b' %][% INCLUDE $self self = 'blah'; self %]" => "Ta-Dab" 142s ok 2767 - Line 890 "[% BLOCK foo %]hi [% one %] there[% END %][% PROCESS foo one = 'two' %][% one %]" => "hi two theretwo" 142s ok 2768 - Line 891 "[% BLOCK foo %]hi [% one %] there[% END %][% INCLUDE foo one = 'two' %][% one %]" => "hi two there" 142s 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" 142s ok 2770 - Line 895 "[% BLOCK foo %]FOO[% IF ! a ; a = 1; PROCESS bar; END %][% END %][% BLOCK bar %]BAR[% PROCESS foo %][% END %][% PROCESS foo %]" => "FOOBARFOO" 142s ok 2771 - Line 897 "[% BLOCK foo %]([% content %])[% END %][% WRAPPER foo %]hi there[% END %]" => "(hi there)" 142s ok 2772 - Line 898 "[% BLOCK foo %]([% one = 1; content %])[% END %][% WRAPPER foo %]hi there[% END %][% one %]" => "(hi there)won" 142s ok 2773 - Line 900 "[% a = 23; PROCESS $foo %]" => "bar 23 baz" 142s ### IF / UNLESS / ELSIF / ELSE ###################### engine_option (stream) 142s ok 2774 - Line 905 "[% IF 1 %]Yes[% END %]" => "Yes" 142s ok 2775 - Line 906 "[% IF 0 %]Yes[% END %]" => "" 142s ok 2776 - Line 907 "[% IF 0 %]Yes[% ELSE %]No[% END %]" => "No" 142s ok 2777 - Line 908 "[% IF 0 %]Yes[% ELSIF 1 %]No[% END %]" => "No" 142s ok 2778 - Line 909 "[% IF 0 %]Yes[% ELSIF 0 %]No[% END %]" => "" 142s ok 2779 - Line 910 "[% IF 0 %]Yes[% ELSIF 0 %]No[% ELSE %]hmm[% END %]" => "hmm" 142s ok 2780 - Line 912 "[% UNLESS 1 %]Yes[% END %]" => "" 142s ok 2781 - Line 913 "[% UNLESS 0 %]Yes[% END %]" => "Yes" 142s ok 2782 - Line 914 "[% UNLESS 0 %]Yes[% ELSE %]No[% END %]" => "Yes" 142s ok 2783 - Line 915 "[% UNLESS 1 %]Yes[% ELSIF 1 %]No[% END %]" => "No" 142s ok 2784 - Line 916 "[% UNLESS 1 %]Yes[% ELSIF 0 %]No[% END %]" => "" 142s ok 2785 - Line 917 "[% UNLESS 1 %]Yes[% ELSIF 0 %]No[% ELSE %]hmm[% END %]" => "hmm" 142s ### comments ######################################## engine_option (stream) 142s ok 2786 - Line 922 "[%\# one %]f" => "f" 142s ok 2787 - Line 923 "[%\# 142s # one %]f" => "f" 142s ok 2788 - Line 924 "[%-\# 142s # one %]f" => "f" 142s ok 2789 - Line 925 "[% \# 142s # one %]f" => "ONEf" 142s ok 2790 - Line 926 "[% \# one %] 142s # one %]f" => " 142s # one %]f" 142s ok 2791 - Line 928 "[%\# BLOCK one %]" => "" 142s ok 2792 - Line 929 "[%\# BLOCK one %]two" => "two" 142s ok 2793 - Line 930 "[%\# BLOCK one %]two[% END %]" => "" 142s ok 2794 - Line 931 "[%\# BLOCK one %]two[% END %]three" => "" 142s ok 2795 - Line 932 "[% %]" => "" 142s ok 2796 - Line 933 "[% 142s # # Some comment 142s # CALL 1 -%] 142s # foo" => "foo" 142s ### FOREACH / NEXT / LAST ########################### engine_option (stream) 142s ok 2797 - Line 941 "[% FOREACH foo %]" => "" 142s ok 2798 - Line 942 "[% FOREACH foo %][% END %]" => "" 142s ok 2799 - Line 943 "[% FOREACH foo %]bar[% END %]" => "" 142s ok 2800 - Line 944 "[% FOREACH foo %]bar[% END %]" => "bar" 142s ok 2801 - Line 945 "[% FOREACH f IN foo %]bar[% f %][% END %]" => "bar1bar2" 142s ok 2802 - Line 946 "[% FOREACH f = foo %]bar[% f %][% END %]" => "bar1bar2" 142s ok 2803 - Line 947 "[% FOREACH f = [1,2] %]bar[% f %][% END %]" => "bar1bar2" 142s ok 2804 - Line 948 "[% FOREACH f = [1..3] %]bar[% f %][% END %]" => "bar1bar2bar3" 142s ok 2805 - Line 949 "[% FOREACH f = [{a=>'A'},{a=>'B'}] %]bar[% f.a %][% END %]" => "barAbarB" 142s ok 2806 - Line 950 "[% FOREACH [{a=>'A'},{a=>'B'}] %]bar[% a %][% END %]" => "barAbarB" 142s ok 2807 - Line 951 "[% FOREACH [{a=>'A'},{a=>'B'}] %]bar[% a %][% END %][% a %]" => "barAbarB" 142s ok 2808 - Line 952 "[% FOREACH f = [1..3] %][% loop.count %]/[% loop.size %] [% END %]" => "1/3 2/3 3/3 " 142s ok 2809 - Line 953 "[% FOREACH f = [1..3] %][% IF loop.first %][% f %][% END %][% END %]" => "1" 142s ok 2810 - Line 954 "[% FOREACH f = [1..3] %][% IF loop.last %][% f %][% END %][% END %]" => "3" 142s ok 2811 - Line 955 "[% FOREACH f = [1..3] %][% IF loop.first %][% NEXT %][% END %][% f %][% END %]" => "23" 142s ok 2812 - Line 956 "[% FOREACH f = [1..3] %][% IF loop.first %][% LAST %][% END %][% f %][% END %]" => "" 142s ok 2813 - Line 957 "[% FOREACH f = [1..3] %][% f %][% IF loop.first %][% NEXT %][% END %][% END %]" => "123" 142s ok 2814 - Line 958 "[% FOREACH f = [1..3] %][% f %][% IF loop.first %][% LAST %][% END %][% END %]" => "1" 142s ok 2815 - Line 959 "[% loop.odd FOREACH [1..5] %]" => "10101" 142s ok 2816 - Line 960 "[% loop.even FOREACH [1..5] %]" => "01010" 142s ok 2817 - Line 961 "[% loop.parity FOREACH [1..5] %]" => "oddevenoddevenodd" 142s ok 2818 - Line 963 "[% a = ["Red", "Blue"] ; FOR [0..3] ; a.${ loop.index % a.size } ; END %]" => "RedBlueRedBlue" 142s ok 2819 - Line 968 "[% foo = 1 %][% FOREACH [1..10] %][% foo %][% foo = 2 %][% END %]" => "1222222222" 142s ok 2820 - Line 969 "[% f = 1 %][% FOREACH i = [1..10] %][% i %][% f = 2 %][% END %][% f %]" => "123456789102" 142s ok 2821 - Line 970 "[% f = 1 %][% FOREACH [1..10] %][% f = 2 %][% END %][% f %]" => "1" 142s ok 2822 - Line 971 "[% f = 1 %][% FOREACH f = [1..10] %][% f %][% END %][% f %]" => "1234567891010" 142s ok 2823 - Line 972 "[% FOREACH [1] %][% SET a = 1 %][% END %][% a %]" => "" 142s ok 2824 - Line 973 "[% a %][% FOREACH [1] %][% SET a = 1 %][% END %][% a %]" => "" 142s ok 2825 - Line 974 "[% a = 2 %][% FOREACH [1] %][% SET a = 1 %][% END %][% a %]" => "2" 142s ok 2826 - Line 975 "[% a = 2 %][% FOREACH [1] %][% a = 1 %][% END %][% a %]" => "2" 142s ok 2827 - Line 976 "[% a = 2 %][% FOREACH i = [1] %][% a = 1 %][% END %][% a %]" => "1" 142s ok 2828 - Line 977 "[% FOREACH i = [1] %][% SET a = 1 %][% END %][% a %]" => "1" 142s ok 2829 - Line 978 "[% f.b = 1 %][% FOREACH f.b = [1..10] %][% f.b %][% END %][% f.b %]" => "1234567891010" 142s ok 2830 - Line 979 "[% a = 1 %][% FOREACH [{a=>'A'},{a=>'B'}] %]bar[% a %][% END %][% a %]" => "barAbarB1" 142s ok 2831 - Line 980 "[% FOREACH [1..3] %][% loop.size %][% END %][% loop.size %]" => "333" 142s ok 2832 - Line 981 "[% FOREACH i = [1..3] %][% loop.size %][% END %][% loop.size %]" => "333" 142s ok 2833 - Line 984 "[% FOREACH f = [1..3]; 1; END %]" => "111" 142s ok 2834 - Line 985 "[% FOREACH f = [1..3]; f; END %]" => "123" 142s ok 2835 - Line 986 "[% FOREACH f = [1..3]; "$f"; END %]" => "123" 142s ok 2836 - Line 987 "[% FOREACH f = [1..3]; f + 1; END %]" => "234" 142s 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, " 142s ok 2838 - Line 999 "[% FOREACH i IN foo; i.n; END %]" => "123" 142s ok 2839 - Line 1000 "[% FOREACH i IN foo; i.n; END %]" => "1" 142s ok 2840 - Line 1001 "[% FOREACH i IN foo; i.n; END %]" => "123" 142s ok 2841 - Line 1002 "[% FOREACH i IN foo; i.n; END %]" => "1" 142s ok 2842 - Line 1004 "[% FOREACH i IN foo; i.n; END %]" => "123" 142s ok 2843 - Line 1005 "[% FOREACH i IN foo; i.n; END %]" => "1" 142s ok 2844 - Line 1006 "[% FOREACH i IN foo; i.n; END %]" => "123" 142s ok 2845 - Line 1007 "[% FOREACH i IN foo; i.n; END %]" => "1" 142s ### LOOP ############################################ engine_option (stream) 142s ok 2846 - Line 1012 "[% var = [{key => 'a'}, {key => 'b'}] -%] 142s # [% LOOP var -%] 142s # ([% key %]) 142s # [% END %]" => " (a) 142s # (b) 142s # " 142s ok 2847 - Line 1021 "[% var = [{key => 'a'}, {key => 'b'}, {key => 'c'}] -%] 142s # [% LOOP var -%] 142s # ([% key; '|'; __first__; '|'; __last__; '|'; __inner__; '|'; __odd__ %]) 142s # [% END -%]" => "(a|1|0|0|1) 142s # (b|0|0|1|0) 142s # (c|0|1|0|1) 142s # " 142s ### WHILE ########################################### engine_option (stream) 142s ok 2848 - Line 1033 "[% WHILE foo %]" => "" 142s ok 2849 - Line 1034 "[% WHILE foo %][% END %]" => "" 142s ok 2850 - Line 1035 "[% WHILE (foo = foo - 1) %][% END %]" => "" 142s ok 2851 - Line 1036 "[% WHILE (foo = foo - 1) %][% foo %][% END %]" => "21" 142s ok 2852 - Line 1037 "[% WHILE foo %][% foo %][% foo = foo - 1 %][% END %]" => "321" 142s ok 2853 - Line 1039 "[% WHILE 1 %][% foo %][% foo = foo - 1 %][% LAST IF foo == 1 %][% END %]" => "32" 142s ok 2854 - Line 1040 "[% f = 10; WHILE f; f = f - 1 ; f ; END %]" => "9876543210" 142s ok 2855 - Line 1041 "[% f = 10; WHILE f; f = f - 1 ; f ; END ; f %]" => "98765432100" 142s ok 2856 - Line 1042 "[% f = 10; a = 2; WHILE f; f = f - 1 ; f ; a=3; END ; a%]" => "98765432103" 142s ok 2857 - Line 1044 "[% f = 10; WHILE (g=f); f = f - 1 ; f ; END %]" => "9876543210" 142s ok 2858 - Line 1045 "[% f = 10; WHILE (g=f); f = f - 1 ; f ; END ; f %]" => "98765432100" 142s ok 2859 - Line 1046 "[% f = 10; a = 2; WHILE (g=f); f = f - 1 ; f ; a=3; END ; a%]" => "98765432103" 142s ok 2860 - Line 1047 "[% f = 10; a = 2; WHILE (a=f); f = f - 1 ; f ; a=3; END ; a%]" => "98765432100" 142s ### STOP / RETURN / CLEAR ########################### engine_option (stream) 142s ok 2861 - Line 1052 "[% STOP %]" => "" 142s ok 2862 - Line 1053 "One[% STOP %]Two" => "One" 142s ok 2863 - Line 1054 "[% BLOCK foo %]One[% STOP %]Two[% END %]First[% PROCESS foo %]Last" => "FirstOne" 142s ok 2864 - Line 1055 "[% FOREACH f = [1..3] %][% f %][% IF loop.first %][% STOP %][% END %][% END %]" => "1" 142s ok 2865 - Line 1056 "[% FOREACH f = [1..3] %][% IF loop.first %][% STOP %][% END %][% f %][% END %]" => "" 142s ok 2866 - Line 1058 "[% RETURN %]" => "" 142s ok 2867 - Line 1059 "One[% RETURN %]Two" => "One" 142s ok 2868 - Line 1060 "[% BLOCK foo %]One[% RETURN %]Two[% END %]First[% PROCESS foo %]Last" => "FirstOneLast" 142s ok 2869 - Line 1061 "[% FOREACH f = [1..3] %][% f %][% IF loop.first %][% RETURN %][% END %][% END %]" => "1" 142s ok 2870 - Line 1062 "[% FOREACH f = [1..3] %][% IF loop.first %][% RETURN %][% END %][% f %][% END %]" => "" 142s ok 2871 - Line 1064 "[% CLEAR %]" => "" 142s ### post opererative directives ##################### engine_option (stream) 142s ok 2872 - Line 1075 "[% GET foo IF 1 %]" => "1" 142s ok 2873 - Line 1076 "[% f FOREACH f = [1..3] %]" => "123" 142s ok 2874 - Line 1078 "2[% GET foo IF 1 IF 2 %]" => "21" 142s ok 2875 - Line 1079 "2[% GET foo IF 1 IF 0 %]" => "2" 142s ok 2876 - Line 1080 "[% f FOREACH f = [1..3] IF 1 %]" => "123" 142s ok 2877 - Line 1081 "[% f FOREACH f = [1..3] IF 0 %]" => "" 142s ok 2878 - Line 1082 "[% f FOREACH f = g FOREACH g = [1..3] %]" => "123" 142s ok 2879 - Line 1083 "[% f FOREACH f = g.a FOREACH g = [{a=>1}, {a=>2}, {a=>3}] %]" => "123" 142s ok 2880 - Line 1084 "[% f FOREACH f = a FOREACH [{a=>1}, {a=>2}, {a=>3}] %]" => "123" 142s ok 2881 - Line 1086 "[% FOREACH f = [1..3] IF 1 %]([% f %])[% END %]" => "(1)(2)(3)" 142s ok 2882 - Line 1087 "[% FOREACH f = [1..3] IF 0 %]([% f %])[% END %]" => "" 142s ok 2883 - Line 1089 "[% BLOCK bar %][% foo %][% foo = foo - 1 %][% END %][% PROCESS bar WHILE foo %]" => "321" 142s ### capturing ####################################### engine_option (stream) 142s ok 2884 - Line 1094 "[% foo = BLOCK %]Hi[% END %][% foo %][% foo %]" => "HiHi" 142s ok 2885 - Line 1095 "[% BLOCK foo %]Hi[% END %][% bar = PROCESS foo %]-[% bar %]" => "-Hi" 142s ok 2886 - Line 1096 "[% foo = IF 1 %]Hi[% END %][% foo %]" => "Hi" 142s ok 2887 - Line 1097 "[% BLOCK foo %]([% i %])[% END %][% wow = PROCESS foo i='bar' %][% wow %]" => "(bar)" 142s ok 2888 - Line 1098 "[% BLOCK foo %]([% i %])[% END %][% SET wow = PROCESS foo i='bar' %][% wow %]" => "(bar)" 142s ### TAGS ############################################ engine_option (stream) 142s ok 2889 - Line 1103 "[% TAGS asp %]<% 1 + 2 %>" => "3" 142s ok 2890 - Line 1104 "[% TAGS default %][% 1 + 2 %]" => "3" 142s ok 2891 - Line 1105 "[% TAGS html %]" => "3" 142s ok 2892 - Line 1106 "[% TAGS mason %]<% 1 + 2 >" => "3" 142s ok 2893 - Line 1107 "[% TAGS metatext %]%% 1 + 2 %%" => "3" 142s ok 2894 - Line 1108 "[% TAGS php %]" => "3" 142s ok 2895 - Line 1109 "[% TAGS star %][* 1 + 2 *]" => "3" 142s ok 2896 - Line 1110 "[% TAGS template %][% 1 + 2 %]" => "3" 142s ok 2897 - Line 1111 "[% TAGS template1 %][% 1 + 2 %]" => "3" 142s ok 2898 - Line 1112 "[% TAGS template1 %]%% 1 + 2 %%" => "3" 142s ok 2899 - Line 1113 "[% TAGS tt2 %][% 1 + 2 %]" => "3" 142s ok 2900 - Line 1115 "[% TAGS html %] " => "3" 142s ok 2901 - Line 1116 "[% TAGS html %]" => "3" 142s ok 2902 - Line 1117 "[% TAGS html %] 142s # " => "3" 142s ok 2903 - Line 1118 "[% BLOCK foo %][% TAGS html %] " => "3 3" 142s ok 2904 - Line 1119 "[% BLOCK foo %][% TAGS html %][% END %][% PROCESS foo %] [% 1 + 2 %]" => "" 142s ok 2905 - Line 1121 "[% TAGS %]" => "3" 142s ok 2906 - Line 1123 "[% TAGS [<] [>] %][<] 1 + 2 [>]" => "3" 142s ok 2907 - Line 1124 "[% TAGS '[<]' '[>]' %][<] 1 + 2 [>]" => "3" 142s ok 2908 - Line 1125 "[% TAGS /[<]/ /[>]/ %]< 1 + 2 >" => "3" 142s ok 2909 - Line 1126 "[% TAGS ** ** %]** 1 + 2 **" => "3" 142s ok 2910 - Line 1127 "[% TAGS '**' '**' %]** 1 + 2 **" => "3" 142s ok 2911 - Line 1128 "[% TAGS /**/ /**/ %]** 1 + 2 **" => "" 142s ok 2912 - Line 1130 "[% TAGS html -->" => "3" 142s ok 2913 - Line 1131 "[% TAGS html ; 7 -->" => "73" 142s ok 2914 - Line 1132 "[% TAGS html ; 7 %]" => "" 142s ### SWITCH / CASE ################################### engine_option (stream) 142s ok 2915 - Line 1137 "[% SWITCH 1 %][% END %]hi" => "hi" 142s ok 2916 - Line 1138 "[% SWITCH 1 %][% CASE %]bar[% END %]hi" => "barhi" 142s ok 2917 - Line 1139 "[% SWITCH 1 %]Pre[% CASE %]bar[% END %]hi" => "barhi" 142s ok 2918 - Line 1140 "[% SWITCH 1 %][% CASE DEFAULT %]bar[% END %]hi" => "barhi" 142s ok 2919 - Line 1141 "[% SWITCH 1 %][% CASE 0 %]bar[% END %]hi" => "hi" 142s ok 2920 - Line 1142 "[% SWITCH 1 %][% CASE 1 %]bar[% END %]hi" => "barhi" 142s ok 2921 - Line 1143 "[% SWITCH 1 %][% CASE foo %][% CASE 1 %]bar[% END %]hi" => "barhi" 142s ok 2922 - Line 1144 "[% SWITCH 1 %][% CASE [1..10] %]bar[% END %]hi" => "barhi" 142s ok 2923 - Line 1145 "[% SWITCH 11 %][% CASE [1..10] %]bar[% END %]hi" => "hi" 142s ok 2924 - Line 1147 "[% SWITCH 1.0 %][% CASE [1..10] %]bar[% END %]hi" => "barhi" 142s ### TRY / THROW / CATCH / FINAL ##################### engine_option (stream) 142s ok 2925 - Line 1152 "[% TRY %][% END %]hi" => "hi" 142s ok 2926 - Line 1153 "[% TRY %]Foo[% END %]hi" => "Foohi" 142s ok 2927 - Line 1154 "[% TRY %]Foo[% THROW foo 'for fun' %]bar[% END %]hi" => "Foo" 142s ok 2928 - Line 1155 "[% TRY %]Foo[% THROW foo 'for fun' %]bar[% CATCH %][% END %]hi" => "Foohi" 142s ok 2929 - Line 1156 "[% TRY %]Foo[% THROW foo 'for fun' %]bar[% CATCH %]there[% END %]hi" => "Footherehi" 142s ok 2930 - Line 1157 "[% TRY %]Foo[% THROW foo 'for fun' %]bar[% CATCH foo %]there[% END %]hi" => "Footherehi" 142s ok 2931 - Line 1158 "[% TRY %]Foo[% TRY %]Foo[% THROW foo 'for fun' %][% CATCH bar %]one[% END %][% CATCH %]two[% END %]hi" => "FooFootwohi" 142s ok 2932 - Line 1159 "[% TRY %]Foo[% TRY %]Foo[% THROW foo 'for fun' %][% CATCH bar %]one[% END %][% CATCH s %]two[% END %]hi" => "FooFoo" 142s ok 2933 - Line 1160 "[% TRY %]Foo[% THROW foo.bar 'for fun' %][% CATCH foo %]one[% CATCH foo.bar %]two[% END %]hi" => "Footwohi" 142s ok 2934 - Line 1162 "[% TRY %]Foo[% FINAL %]Bar[% END %]hi" => "FooBarhi" 142s ok 2935 - Line 1163 "[% TRY %]Foo[% THROW foo %][% FINAL %]Bar[% CATCH %]one[% END %]hi" => "" 142s ok 2936 - Line 1164 "[% TRY %]Foo[% THROW foo %][% CATCH %]one[% FINAL %]Bar[% END %]hi" => "FoooneBarhi" 142s ok 2937 - Line 1165 "[% TRY %]Foo[% THROW foo %][% CATCH bar %]one[% FINAL %]Bar[% END %]hi" => "Foo" 142s ok 2938 - Line 1167 "[% TRY %][% THROW foo 'bar' %][% CATCH %][% error %][% END %]" => "foo error - bar" 142s ok 2939 - Line 1168 "[% TRY %][% THROW foo 'bar' %][% CATCH %][% error.type %][% END %]" => "foo" 142s ok 2940 - Line 1169 "[% TRY %][% THROW foo 'bar' %][% CATCH %][% error.info %][% END %]" => "bar" 142s ok 2941 - Line 1170 "[% TRY %][% THROW foo %][% CATCH %][% error.type %][% END %]" => "undef" 142s ok 2942 - Line 1171 "[% TRY %][% THROW foo %][% CATCH %][% error.info %][% END %]" => "foo" 142s ### named args ###################################### engine_option (stream) 142s ok 2943 - Line 1177 "[% foo(bar = 'one', baz = 'two') %]" => "baronebaztwo" 142s ok 2944 - Line 1179 "[%bar='ONE'%][% foo($bar = 'one') %]" => "ONEone" 142s ### USE ############################################# engine_option (stream) 142s ok 2945 - Line 1185 "[% USE son_of_gun_that_does_not_exist %]one" => "" 142s ok 2946 - Line 1186 "[% USE Iterator([3..6]) %]hey[% CALL Iterator.get_first; Iterator.size %]" => "hey4" 142s ok 2947 - Line 1187 "[% USE FooTest %]one" => "one" 142s ok 2948 - Line 1188 "[% USE FooTest2 %]one" => "one" 142s ok 2949 - Line 1189 "[% USE FooTest(bar = 'baz') %]one[% FooTest.bar %]" => "onebarbaz" 142s ok 2950 - Line 1190 "[% USE FooTest2(bar = 'baz') %]one[% FooTest2.bar %]" => "onebarbaz" 142s ok 2951 - Line 1191 "[% USE FooTest(bar = 'baz') %]one[% FooTest.bar %]" => "onebarbaz" 142s ok 2952 - Line 1192 "[% USE d = FooTest(bar = 'baz') %]one[% d.bar %]" => "onebarbaz" 142s ok 2953 - Line 1193 "[% USE d.d = FooTest(bar = 'baz') %]one[% d.d.bar %]" => "" 142s ok 2954 - Line 1194 "[% USE FooTest(somerand = 8) %]one[% FooTest.somerand %]" => "one8" 142s ok 2955 - Line 1196 "[% USE a(bar = 'baz') %]one[% a.seven %]" => "" 142s ok 2956 - Line 1197 "[% USE a(bar = 'baz') %]one[% a.seven %]" => "one7" 142s ok 2957 - Line 1200 "[% USE FooTest %]three" => "three" 142s ### MACRO ########################################### engine_option (stream) 142s ok 2958 - Line 1205 "[% MACRO foo PROCESS bar %][% BLOCK bar %]Hi[% END %][% foo %]" => "Hi" 142s ok 2959 - Line 1206 "[% MACRO foo BLOCK %]Hi[% END %][% foo %]" => "Hi" 142s ok 2960 - Line 1207 "[% MACRO foo BLOCK %]Hi[% END %][% foo %]" => "Hi" 142s ok 2961 - Line 1208 "[% MACRO foo(n) BLOCK %]Hi[% n %][% END %][% foo(2) %]" => "Hi2" 142s ok 2962 - Line 1209 "[%n=1%][% MACRO foo(n) BLOCK %]Hi[% n %][% END %][% foo(2) %][%n%]" => "Hi21" 142s ok 2963 - Line 1210 "[%n=1%][% MACRO foo BLOCK %]Hi[% n = 2%][% END %][% foo %][%n%]" => "Hi1" 142s ok 2964 - Line 1211 "[% MACRO foo(n) FOREACH i=[1..n] %][% i %][% END %][% foo(3) %]" => "123" 142s ok 2965 - Line 1213 "[% MACRO f BLOCK %]>[% TRY; f ; CATCH ; "caught" ; END %][% END %][% f %]" => ">>>caught" 142s ok 2966 - Line 1216 "[% foo = ->{ 'Hi' } %][% foo %]" => "Hi" 142s ok 2967 - Line 1217 "[% foo = ->{ 'Hi'; this } %][% foo(2) %]" => "Hi2" 142s ok 2968 - Line 1218 "[% foo = ->(n){ 'Hi'; n } %][% foo(2) %]" => "Hi2" 142s ok 2969 - Line 1219 "[%n=1%][% foo = ->(n) { 'Hi' ; n } %][% foo(2) %][%n%]" => "Hi21" 142s ok 2970 - Line 1220 "[% foo = ->(n) { FOREACH i=[1..n]; i ; END } %][% foo(3) %]" => "123" 142s ### DEBUG ########################################### engine_option (stream) 142s ok 2971 - Line 1226 " 142s # 142s # [% one %]" => " 142s # 142s # 142s # ## input text line 3 : [% one %] ## 142s # ONE" 142s ok 2972 - Line 1227 "[% one %]" => " 142s # ## input text line 1 : [% one %] ## 142s # ONE" 142s ok 2973 - Line 1228 "[% one %] 142s # 142s # " => "(1)ONE 142s # 142s # " 142s ok 2974 - Line 1229 "1 142s # 2 142s # 3[% one %]" => "1 142s # 2 142s # 3(3)ONE" 142s ok 2975 - Line 1230 "[% one; 142s # one %]" => "(1)ONE(2)ONE" 142s ok 2976 - Line 1232 "[% DEBUG format '($line)' %][% one %]" => " 142s # ## input text line 1 : [% DEBUG format '($line)' %] ## 142s # (1)ONE" 142s ok 2977 - Line 1234 "[% TRY %][% abc %][% CATCH %][% error %][% END %]" => "undef error - abc is undefined 142s # " 142s ok 2978 - Line 1236 "[% TRY %][% abc.def %][% CATCH %][% error %][% END %]" => "undef error - abc.def is undefined 142s # " 142s ### constants ####################################### engine_option (stream) 142s ok 2979 - Line 1255 "[% constants.harry %]" => "do_this_once" 142s ok 2980 - Line 1256 "[% constants.harry.length %]" => "12" 142s ok 2981 - Line 1257 "[% SET constants.something = 1 %][% constants.something %]one" => "1one" 142s ok 2982 - Line 1258 "[% SET constants.harry = 1 %][% constants.harry %]one" => "do_this_onceone" 142s ok 2983 - Line 1259 "[% constants.foo.${constants.bang} %]" => "57" 142s ok 2984 - Line 1260 "[% constants.foo.$bam.${constants.bing} %]" => "42" 142s ok 2985 - Line 1261 "[% bam = 'somethingelse' %][% constants.foo.$bam.${constants.bing} %]" => "42" 142s ok 2986 - Line 1263 "[% constants.${"harry"} %]" => "do_this_once" 142s ok 2987 - Line 1264 "[% ${"constants"}.harry %]" => "foo" 142s ok 2988 - Line 1266 "[% ${"con${"s"}tants"}.harry %]" => "foo" 142s ### CONTEXT ######################################### engine_option (stream) 142s ok 2989 - Line 1272 "[% CALL cctx.call_me %][% cctx.last_context %]" => "list" 142s ok 2990 - Line 1273 "[% cctx.array %]" => "ARRAY(0xb5b963467570)" 142s ok 2991 - Line 1274 "[% cctx.array2 %]" => "4" 142s ok 2992 - Line 1275 "[% cctx.list %]" => "ARRAY(0xb5b9634d7f88)" 142s ok 2993 - Line 1276 "[% cctx.scalar %]" => "8" 142s ok 2994 - Line 1277 "[% cctx.bang %]" => "bing" 142s ok 2995 - Line 1281 "[% CALL cctx.call_me %][% cctx.last_context %]" => "list" 142s ok 2996 - Line 1282 "[% CALL @(cctx.call_me) %][% cctx.last_context %]" => "list" 142s ok 2997 - Line 1283 "[% CALL $(cctx.call_me) %][% cctx.last_context %]" => "scalar" 142s ok 2998 - Line 1284 "[% CALL call_cctx %][% cctx.last_context %]" => "list" 142s ok 2999 - Line 1285 "[% CALL @(call_cctx) %][% cctx.last_context %]" => "list" 142s ok 3000 - Line 1286 "[% CALL $(call_cctx) %][% cctx.last_context %]" => "scalar" 142s ok 3001 - Line 1287 "[% CALL cctx.call_me %][% cctx.last_context %]" => "list" 142s ok 3002 - Line 1288 "[% CALL cctx.call_me %][% cctx.last_context.0 %]" => "list" 142s ok 3003 - Line 1289 "[% CALL cctx.call_me %][% cctx.last_context %]" => "scalar" 142s ok 3004 - Line 1290 "[% cctx.array %]" => "ARRAY(0xb5b9634d84f0)" 142s ok 3005 - Line 1291 "[% @(cctx.array) %]" => "ARRAY(0xb5b9634d7ce8)" 142s ok 3006 - Line 1292 "[% $(cctx.array) %]" => "3" 142s ok 3007 - Line 1293 "[% cctx.array2 %]" => "4" 142s ok 3008 - Line 1294 "[% @(cctx.array2) %]" => "ARRAY(0xb5b9634cba50)" 142s ok 3009 - Line 1295 "[% $(cctx.array2) %]" => "1" 142s ok 3010 - Line 1296 "[% cctx.list %]" => "ARRAY(0xb5b9634d81e0)" 142s ok 3011 - Line 1297 "[% @(cctx.list) %]" => "ARRAY(0xb5b9634d8198)" 142s ok 3012 - Line 1298 "[% $(cctx.list) %]" => "7" 142s ok 3013 - Line 1299 "[% cctx.scalar %]" => "8" 142s ok 3014 - Line 1300 "[% @(cctx.scalar) %]" => "ARRAY(0xb5b9634d8b20)" 142s ok 3015 - Line 1301 "[% $(cctx.scalar) %]" => "8" 142s ok 3016 - Line 1302 "[% cctx.bang %] ~" => "bing ~" 142s ok 3017 - Line 1303 "[% @(cctx.bang) %] ~" => "bing ~" 142s ok 3018 - Line 1304 "[% $(cctx.bang) %] ~" => "bing ~" 142s ok 3019 - Line 1306 "[% CONFIG CALL_CONTEXT => "list"; CALL cctx.call_me; CONFIG CALL_CONTEXT => "smart" %][% cctx.last_context %]" => "list" 142s ok 3020 - Line 1308 "[% CONFIG CALL_CONTEXT => "item"; CALL cctx.call_me %][% cctx.last_context %]" => "scalar" 142s ok 3021 - Line 1310 "[% cctx.dataref.0.foo = 7; cctx.dataref.0.foo %]" => "7" 142s ok 3022 - Line 1312 "[% @(cctx.dataref).0.foo = 7; cctx.dataref.foo %]" => "7" 142s ok 3023 - Line 1314 "[% $(cctx.dataref).0.foo = 7; cctx.dataref.0.foo %]" => "7" 142s ok 3024 - Line 1316 "[% CONFIG CALL_CONTEXT => "list"; cctx.dataref.0.foo = 7; CONFIG CALL_CONTEXT => "item"; cctx.dataref.foo %]" => "7" 142s ok 3025 - Line 1321 "[% cctxo.bang = 1 %] ~" => " ~" 142s ok 3026 - Line 1322 "[% cctxo.dataref.foo = 7; cctxo.dataref.foo %]" => "7" 142s ok 3027 - Line 1324 "[% CALL cctxo.call_me %][% cctxo.last_context %]" => "list" 142s ok 3028 - Line 1325 "[% CALL @(cctxo.call_me) %][% cctxo.last_context %]" => "list" 142s ok 3029 - Line 1326 "[% CALL $(cctxo.call_me) %][% cctxo.last_context %]" => "scalar" 142s ok 3030 - Line 1327 "[% CALL call_cctxo %][% cctxo.last_context %]" => "list" 142s ok 3031 - Line 1328 "[% CALL @(call_cctxo) %][% cctxo.last_context %]" => "list" 142s ok 3032 - Line 1329 "[% CALL $(call_cctxo) %][% cctxo.last_context %]" => "scalar" 142s ok 3033 - Line 1330 "[% CALL cctxo.call_me %][% cctxo.last_context %]" => "list" 142s ok 3034 - Line 1331 "[% CALL cctxo.call_me %][% cctxo.last_context.0 %]" => "list" 142s ok 3035 - Line 1332 "[% CALL cctxo.call_me %][% cctxo.last_context %]" => "scalar" 142s ok 3036 - Line 1333 "[% cctxo.array %]" => "ARRAY(0xb5b9634cb480)" 142s ok 3037 - Line 1334 "[% @(cctxo.array) %]" => "ARRAY(0xb5b9634d88b0)" 142s ok 3038 - Line 1335 "[% $(cctxo.array) %]" => "3" 142s ok 3039 - Line 1336 "[% cctxo.array2 %]" => "4" 142s ok 3040 - Line 1337 "[% @(cctxo.array2) %]" => "ARRAY(0xb5b9634d1a68)" 142s ok 3041 - Line 1338 "[% $(cctxo.array2) %]" => "1" 142s ok 3042 - Line 1339 "[% cctxo.list %]" => "ARRAY(0xb5b9634d1360)" 142s ok 3043 - Line 1340 "[% @(cctxo.list) %]" => "ARRAY(0xb5b9634d1c90)" 142s ok 3044 - Line 1341 "[% $(cctxo.list) %]" => "7" 142s ok 3045 - Line 1342 "[% cctxo.scalar %]" => "8" 142s ok 3046 - Line 1343 "[% @(cctxo.scalar) %]" => "ARRAY(0xb5b9634d1e88)" 142s ok 3047 - Line 1344 "[% $(cctxo.scalar) %]" => "8" 142s ok 3048 - Line 1345 "[% cctxo.bang %] ~" => "bing ~" 142s ok 3049 - Line 1348 "[% SET cctxo.call_me = 2 %][% cctxo.last_context %]" => "list2" 142s ok 3050 - Line 1350 "[% CALL @(cctxo.call_me = 3) %][% cctxo.last_context %]" => "list3" 142s ok 3051 - Line 1352 "[% CALL $(cctxo.call_me = 4) %][% cctxo.last_context %]" => "scalar4" 142s ### INTERPOLATE ##################################### engine_option (stream) 142s ok 3052 - Line 1358 "Foo $one Bar" => "Foo ONE Bar" 142s ok 3053 - Line 1359 "[% PERL %] my $n=7; print $n [% END %]" => "7" 142s ok 3054 - Line 1360 "[% TRY ; PERL %] my $n=7; print $n [% END ; END %]" => "7" 142s ok 3055 - Line 1364 "Foo \ Bar" => "Foo \ Bar" 142s ok 3056 - Line 1365 "Foo \\ Bar" => "Foo \\ Bar" 142s ok 3057 - Line 1366 "Foo \n Bar" => "Foo \n Bar" 142s ok 3058 - Line 1367 "Foo \$a Bar" => "Foo $a Bar" 142s ok 3059 - Line 1368 "Foo \\$a Bar" => "Foo \\7 Bar" 142s ok 3060 - Line 1369 "Foo \\\$a Bar" => "Foo \\$a Bar" 142s ok 3061 - Line 1370 "Foo $a.B Bar" => "Foo 7 Bar" 142s ok 3062 - Line 1371 "Foo ${ a.B } Bar" => "Foo 7 Bar" 142s ok 3063 - Line 1372 "Foo $a.b.c("hi") Bar" => "Foo Bar" 142s ok 3064 - Line 1374 "Foo ${a.b.c("hi")} Bar" => "Foo Bar" 142s ok 3065 - Line 1375 "Foo $a Bar $!a Baz" => "Foo 7 Bar 7 Baz" 142s ok 3066 - Line 1376 "Foo $a Bar $!{a} Baz" => "Foo 7 Bar 7 Baz" 142s ok 3067 - Line 1377 "Foo $a Bar $!a Baz" => "Foo 7 Bar 7 Baz" 142s ok 3068 - Line 1378 "Foo $a Bar $!{a} Baz" => "Foo 7 Bar 7 Baz" 142s ok 3069 - Line 1379 "Foo $a Bar $!a Baz" => "Foo $a Bar Baz" 142s ok 3070 - Line 1380 "Foo ${a} Bar $!{a} Baz" => "Foo ${a} Bar Baz" 142s ### ANYCASE / TRIM ################################## engine_option (stream) 142s ok 3071 - Line 1385 "[% GET %]" => "" 142s ok 3072 - Line 1386 "[% GET GET %]" => "ONE" 142s ok 3073 - Line 1387 "[% get one %]" => "ONE" 142s ok 3074 - Line 1388 "[% get %]" => "" 142s ok 3075 - Line 1389 "[% get get %]" => "ONE" 142s ok 3076 - Line 1391 "[% BLOCK foo %] 142s # hi 142s # [% END %][% PROCESS foo %]" => " 142s # hi 142s # " 142s ok 3077 - Line 1392 "[% BLOCK foo %] 142s # hi[% END %][% PROCESS foo %]" => " 142s # hi" 142s ok 3078 - Line 1393 "[% BLOCK foo %]hi 142s # [% END %][% PROCESS foo %]" => "hi 142s # " 142s ok 3079 - Line 1394 "[% BLOCK foo %]hi[% nl %][% END %][% PROCESS foo %]" => "hi 142s # " 142s ok 3080 - Line 1395 "[% BLOCK foo %][% nl %]hi[% END %][% PROCESS foo %]" => " 142s # hi" 142s ok 3081 - Line 1396 "A[% TRY %] 142s # hi 142s # [% END %]" => "A 142s # hi 142s # " 142s ok 3082 - Line 1398 "[% FOO %]" => "foo" 142s ### V1DOLLAR ######################################## engine_option (stream) 142s ok 3083 - Line 1403 "[% a %]|[% $a %]|[% ${ a } %]|[% ${ "a" } %]" => "A|bar|bar|A" 142s ok 3084 - Line 1404 "[% a %]|[% $a %]|[% ${ a } %]|[% ${ "a" } %]" => "A|A|bar|A" 142s ok 3085 - Line 1407 "[% a.b.c %]|[% $a.b.c %]|[% a.$b.c %]|[% ${ a.b.c } %]" => "Cb||CB|bar" 142s ok 3086 - Line 1408 "[% a.b.c %]|[% $a.b.c %]|[% a.$b.c %]|[% ${ a.b.c } %]" => "Cb|Cb|Cb|bar" 142s ok 3087 - Line 1410 "[% "$a" %]/$a/[% "${a}" %]/${a}" => "A/$a/A/${a}" 142s ok 3088 - Line 1411 "[% "$a" %]/$a/[% "${a}" %]/${a}" => "A/$a/A/${a}" 142s ok 3089 - Line 1412 "[% "$a" %]/$a/[% "${a}" %]/${a}" => "A/A/A/A" 142s ok 3090 - Line 1413 "[% "$a" %]/$a/[% "${a}" %]/${a}" => "A/A/A/A" 142s ok 3091 - Line 1415 "[% constants.a %]|[% $constants.a %]|[% constants.$a %]" => "A|A|A" 142s ### V2PIPE / V2EQUALS ############################### engine_option (stream) 142s ok 3092 - Line 1420 "[%- BLOCK a %]b is [% b %] 142s # [% END %] 142s # [%- PROCESS a b => 237 | repeat(2) %]" => "b is 237 142s # b is 237 142s # " 142s ok 3093 - Line 1425 "[%- BLOCK a %]b is [% b %] 142s # [% END %] 142s # [%- PROCESS a b => 237 | repeat(2) %]" => "b is 237237 142s # " 142s ok 3094 - Line 1429 "[% ('a' == 'b') || 0 %]" => "0" 142s ok 3095 - Line 1430 "[% ('a' != 'b') || 0 %]" => "1" 142s ok 3096 - Line 1431 "[% ('a' == 'b') || 0 %]" => "0" 142s ok 3097 - Line 1432 "[% ('a' != 'b') || 0 %]" => "1" 142s ok 3098 - Line 1433 "[% ('a' == 'b') || 0 %]" => "1" 142s ok 3099 - Line 1434 "[% ('a' != 'b') || 0 %]" => "0" 142s ok 3100 - Line 1435 "[% ('7' == '7.0') || 0 %]" => "0" 142s ok 3101 - Line 1436 "[% ('7' == '7.0') || 0 %]" => "1" 142s ok 3102 - Line 1437 "[% (7 == 7.0) || 0 %]" => "1" 142s ok 3103 - Line 1438 "[% (7 == 7.0) || 0 %]" => "1" 142s ### configuration ################################### engine_option (stream) 142s ok 3104 - Line 1443 "[% a = 7 %]$a" => "7" 142s ok 3105 - Line 1444 "[% a = 7 %]$a" => "7" 142s ### PERL ############################################ engine_option (stream) 142s ok 3106 - Line 1449 "[% TRY %][% PERL %][% END %][% CATCH ; error; END %]" => "perl error - EVAL_PERL not set" 142s ok 3107 - Line 1450 "[% PERL %] print "[% one %]" [% END %]" => "ONE" 142s ok 3108 - Line 1451 "[% PERL %] print $stash->get('one') [% END %]" => "ONE" 142s ok 3109 - Line 1452 "[% PERL %] print $stash->set('a.b.c', 7) [% END %][% a.b.c %]" => "77" 142s ok 3110 - Line 1453 "[% RAWPERL %]$output .= 'interesting'[% END %]" => "interesting" 142s ### recursion prevention ############################ engine_option (stream) 142s ok 3111 - Line 1458 "[% BLOCK foo %][% PROCESS bar %][% END %][% BLOCK bar %][% PROCESS foo %][% END %][% PROCESS foo %]" => "" 142s ### META ############################################ engine_option (stream) 142s ok 3112 - Line 1463 "[% template.name %]" => "input text" 142s ok 3113 - Line 1464 "[% META foo = 'bar' %][% template.foo %]" => "bar" 142s ok 3114 - Line 1465 "[% META name = 'bar' %][% template.name %]" => "bar" 142s ok 3115 - Line 1466 "[% META foo = 'bar' %][% component.foo %]" => "bar" 142s ok 3116 - Line 1467 "[% META foo = 'bar' %][% component = '' %][% component.foo %]|foo" => "|foo" 142s ok 3117 - Line 1468 "[% META foo = 'bar' %][% template = '' %][% template.foo %]|foo" => "|foo" 142s ### references ###################################### engine_option (stream) 142s ok 3118 - Line 1473 "[% a=3; b=\a; b; a %]" => "33" 142s ok 3119 - Line 1474 "[% a=3; b=\a; a=7; b; a %]" => "77" 142s ok 3120 - Line 1476 "[% a={}; a.1=7; b=\a.1; b; a.1 %]" => "77" 142s ok 3121 - Line 1477 "[% a={}; a.1=7; b=\a.20; a.20=7; b; a.20 %]" => "77" 142s ok 3122 - Line 1479 "[% a=[]; a.1=7; b=\a.1; b; a.1 %]" => "77" 142s ok 3123 - Line 1480 "[% a=[]; a.1=7; b=\a.20; a.20=7; b; a.20 %]" => "77" 142s ok 3124 - Line 1482 "[% \a %]" => "CODE(0xb5b9634e8b50)" 142s ok 3125 - Line 1483 "[% b=\a; b %]" => "a sub []" 142s ok 3126 - Line 1484 "[% b=\a(1); b %]" => "a sub [1]" 142s ok 3127 - Line 1485 "[% b=\a; b(2) %]" => "a sub [2]" 142s ok 3128 - Line 1486 "[% b=\a(1); b(2) %]" => "a sub [1 2]" 142s ok 3129 - Line 1487 "[% f=\j.k; j.k=7; f %]" => "7" 142s ok 3130 - Line 1489 "[% a = "a" ; f = {a=>"A",b=>"B"} ; foo = \f.$a ; foo %]" => "A" 142s ok 3131 - Line 1490 "[% a = "a" ; f = {a=>"A",b=>"B"} ; foo = \f.$a ; a = "b" ; foo %]" => "A" 142s ok 3132 - Line 1491 "[% a = "ab" ; f = "abcd"; foo = \f.replace(a, "-AB-") ; a = "cd"; foo %]" => "-AB-cd" 142s ok 3133 - Line 1492 "[% a = "ab" ; f = "abcd"; foo = \f.replace(a, "-AB-").replace("-AB-", "*") ; a = "cd"; foo %]" => "*cd" 142s ok 3134 - Line 1494 "[% a = "ab" ; f = "abcd"; foo = \f.replace(a, "-AB-") ; f = "ab"; foo %]" => "-AB-cd" 142s ok 3135 - Line 1495 "[% a = "ab" ; f = "abcd"; foo = \f.replace(a, "-AB-").replace("-AB-", "*") ; f = "ab"; foo %]" => "*cd" 142s ### reserved words ################################## engine_option (stream) 142s ok 3136 - Line 1506 "[% GET %]" => "" 142s ok 3137 - Line 1507 "[% GET GET %]" => "named_get" 142s ok 3138 - Line 1508 "[% GET get %]" => "lower_named_get" 142s ok 3139 - Line 1509 "[% GET ${'GET'} %]" => "bar" 142s ok 3140 - Line 1511 "[% GET = 1 %][% GET GET %]" => "" 142s ok 3141 - Line 1512 "[% SET GET = 1 %][% GET GET %]" => "1" 142s ok 3142 - Line 1514 "[% GET $hold_get %]" => "named_get" 142s ok 3143 - Line 1515 "[% GET $GET %]" => "value of named_get" 142s ok 3144 - Line 1516 "[% BLOCK GET %]hi[% END %][% PROCESS GET %]" => "hi" 142s ok 3145 - Line 1517 "[% BLOCK foo %]hi[% END %][% PROCESS foo a = GET %]" => "hi" 142s ok 3146 - Line 1518 "[% BLOCK foo %]hi[% END %][% PROCESS foo GET = 1 %]" => "" 142s ok 3147 - Line 1519 "[% BLOCK foo %]hi[% END %][% PROCESS foo IF GET %]" => "hi" 142s ### embedded items ################################## engine_option (stream) 142s ok 3148 - Line 1524 "[% " \" " %]" => " " " 142s ok 3149 - Line 1525 "[% " \$foo " %]" => " $foo " 142s ok 3150 - Line 1526 "[% " \${foo} " %]" => " ${foo} " 142s ok 3151 - Line 1527 "[% " \n " %]" => " 142s # " 142s ok 3152 - Line 1528 "[% " \t " %]" => " " 142s ok 3153 - Line 1529 "[% " \r " %]" => " " 142s ok 3154 - Line 1531 "[% 'foo\'bar' %]" => "foo'bar" 142s ok 3155 - Line 1532 "[% "foo\"bar" %]" => "foo"bar" 142s ok 3156 - Line 1533 "[% qw(foo \)).1 %]" => ")" 142s ok 3157 - Line 1534 "[% qw|foo \||.1 %]" => "|" 142s ok 3158 - Line 1536 "[% ' \' ' %]" => " ' " 142s ok 3159 - Line 1537 "[% ' \r ' %]" => " \r " 142s ok 3160 - Line 1538 "[% ' \n ' %]" => " \n " 142s ok 3161 - Line 1539 "[% ' \t ' %]" => " \t " 142s ok 3162 - Line 1540 "[% ' $foo ' %]" => " $foo " 142s ok 3163 - Line 1542 "[% A = "bar" ; ${ "A" } %]" => "bar" 142s ok 3164 - Line 1543 "[% A = "bar" ; "(${ A })" %]" => "(bar)" 142s ok 3165 - Line 1544 "[% A = "bar" ; ${ {a => "A"}.a } %]" => "bar" 142s ok 3166 - Line 1545 "[% A = "bar" ; "(${ {a => "A"}.a })" %]" => "(A)" 142s ok 3167 - Line 1546 "[% A = "bar" ; "(${ ${ {a => "A"}.a } })" %]" => "(bar)" 142s ok 3168 - Line 1547 "[% A = "bar" %](${ {a => "A"}.a })" => "(A)" 142s ok 3169 - Line 1548 "[% A = "bar" %](${ ${ {a => "A"}.a } })" => "(bar)" 142s ok 3170 - Line 1550 "[% "[%" %]" => "[%" 142s ok 3171 - Line 1551 "[% "%]" %]" => "%]" 142s ok 3172 - Line 1552 "[% a = "[% %]" %][% a %]" => "[% %]" 142s ok 3173 - Line 1553 "[% qw([% 1 + 2 %]).join %]" => "[% 1 + 2 %]" 142s ### STRICT ########################################## engine_option (stream) 142s ok 3174 - Line 1557 "[% TRY; foo; CATCH; error; END %]" => "var.undef error - undefined variable: foo in input text" 142s ok 3175 - Line 1558 "[% TRY; foo.bar(1); CATCH; error; END %]" => "var.undef error - undefined variable: foo.bar(1) in input text" 142s ok 3176 - Line 1559 "[% TRY; 1 IF foo.bar.baz; CATCH; error; END %]" => "var.undef error - undefined variable: foo.bar.baz in input text" 142s ok 3177 - Line 1561 "[% foo.bar() %]ok" => "ok" 142s ok 3178 - Line 1562 "[% foo.baz() %]ok" => "" 142s ### EVALUATE ######################################## engine_option (stream) 142s ok 3179 - Line 1568 "[% foo | eval %]" => "baz" 142s ok 3180 - Line 1570 "[% "[% 1 + 2 %]" | eval %]" => "3" 142s ok 3181 - Line 1571 "[% qw([% 1 + 2 %]).join.eval %]" => "3" 142s ok 3182 - Line 1573 "[% f = ">[% TRY; f.eval ; CATCH; 'caught' ; END %]"; f.eval %]" => ">>>>>caught" 142s ok 3183 - Line 1574 "[% f = ">[% TRY; f.eval ; CATCH; 'caught' ; END %]"; f.eval; f.eval %]" => ">>>>>caught>>>>>caught" 142s ok 3184 - Line 1575 "[% f = ">[% TRY; f.eval ; CATCH; 'foo' ; END %]"; f.eval;f.eval %]" => ">>foo>>foo" 142s ok 3185 - Line 1576 "[% '\#set($foo = 12)'|eval(syntax => 'velocity') %]|[% foo %]" => "|12" 142s ok 3186 - Line 1578 "[% f = ">[% TRY; f.eval ; CATCH; 'caught' ; END %]"; EVALUATE f %]" => ">>>>>caught" 142s ok 3187 - Line 1579 "[% f = ">[% TRY; f.eval ; CATCH; 'foo' ; END %]"; EVALUATE f; EVALUATE f %]" => ">>foo>>foo" 142s ok 3188 - Line 1580 "[% EVALUATE '\#set($foo = 12)' syntax => 'velocity' %]|[% foo %]" => "|12" 142s ok 3189 - Line 1582 "[% TRY; '[% bar %]'.eval(STRICT => 1); CATCH; error; END %]" => "var.undef error - undefined variable: bar in input text" 142s 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" 142s ok 3191 - Line 1584 "[% TRY; '[% bar %]'.eval(STRICT => 1); CATCH; error.type; END; bing %] - ok" => "var.undef - ok" 142s ### DUMP ############################################ engine_option (stream) 142s ok 3192 - Line 1592 "[% DUMP a %]" => "DUMP: File "input text" line 1 142s # a = undef; 142s # " 142s ok 3193 - Line 1593 "[% p = DUMP a; p.collapse %]" => "DUMP: File "input text" line 1 a = undef;" 142s ok 3194 - Line 1594 "[% p = DUMP a; p.collapse %]" => "DUMP: File "input text" line 1 a = 's';" 142s ok 3195 - Line 1595 "[% 142s # p = DUMP a; p.collapse %]" => "DUMP: File "input text" line 2 a = 's';" 142s ok 3196 - Line 1596 "[% p = DUMP a, b; p.collapse %]" => "DUMP: File "input text" line 1 a, b = [ 's', undef ];" 142s ok 3197 - Line 1597 "[% p = DUMP a Useqq => 'b'; p.collapse %]" => "DUMP: File "input text" line 1 a Useqq => 'b' = [ 's', { 'Useqq' => 'b' } ];" 142s ok 3198 - Line 1598 "[% p = DUMP a; p.collapse %]" => "DUMP: File "input text" line 1 a = "s";" 142s ok 3199 - Line 1599 "[% p = DUMP a; p.collapse %]|foo" => "|foo" 142s ok 3200 - Line 1600 "[% p = DUMP _a, b; p.collapse %]" => "DUMP: File "input text" line 1 _a, b = [ undef, 'c' ];" 142s ok 3201 - Line 1601 "[% p = DUMP {a => 'b'}; p.collapse %]" => "DUMP: File "input text" line 1 {a => 'b'} = { 'a' => 'b' };" 142s ok 3202 - Line 1602 "[% p = DUMP _a; p.collapse %]" => "DUMP: File "input text" line 1 _a = undef;" 142s ok 3203 - Line 1603 "[% p = DUMP a; p.collapse %]" => "DUMP: File "input text" line 1 a = { 'b' => 'c' };" 142s ok 3204 - Line 1604 "[% p = DUMP a; p.collapse %]" => "DUMP: File "input text" line 1 a = {};" 142s ok 3205 - Line 1605 "[% p = DUMP a; p.collapse %]" => "DUMP: File "input text" line 1 a = {};" 142s ok 3206 - Line 1606 "[% p = DUMP a; p.collapse %]" => "DUMP: File "input text" line 1 Dump(7)" 142s ok 3207 - Line 1607 "[% p = DUMP a; p.collapse %]" => "a = 's';" 142s ok 3208 - Line 1608 "[% p = DUMP a; p.collapse %]" => "
a = 's'; 
" 142s ok 3209 - Line 1610 "[% p = DUMP a; p.collapse %]" => "
a = 's'; 
" 142s ok 3210 - Line 1611 "[% p = DUMP a; p.collapse %]" => "a = 's';" 142s ok 3211 - Line 1613 "[% SET global; p = DUMP; p.collapse %]" => "DUMP: File "input text" line 1 EntireStash = { 'a' => 'b', 'global' => undef };" 142s ok 3212 - Line 1614 "[% SET global; p = DUMP; p.collapse %]" => "DUMP: File "input text" line 1 EntireStash = { 'a' => 'b', 'global' => undef };" 142s ok 3213 - Line 1615 "[% SET global; p = DUMP; p.collapse %]" => "DUMP: File "input text" line 1" 142s ### SYNTAX ########################################## engine_option (stream) 142s ok 3214 - Line 1622 "[%- BLOCK a %]b is [% b %][% END %][% PROCESS a b => 237 | repeat(2) %]" => "" 142s ok 3215 - Line 1623 "[%- BLOCK a %]b is [% b %][% END %][% PROCESS a b => 237 | repeat(2) %]" => "b is 237237" 142s ok 3216 - Line 1624 "[%- BLOCK a %]b is [% b %][% END %][% PROCESS a b => 237 | repeat(2) %]" => "b is 237237" 142s ok 3217 - Line 1625 "[%- BLOCK a %]b is [% b %][% END %][% PROCESS a b => 237 | repeat(2) %]" => "b is 237237" 142s ok 3218 - Line 1626 "[%- BLOCK a %]b is [% b %][% END %][% PROCESS a b => 237 | repeat(2) %]" => "b is 237b is 237" 142s ok 3219 - Line 1627 "[%- BLOCK a %]b is [% b %][% END %][% PROCESS a b => 237 | repeat(2) %]" => "b is 237b is 237" 142s ok 3220 - Line 1628 "[%- BLOCK a %]b is [% b %][% END %][% PROCESS a b => 237 | repeat(2) %]" => "b is 237b is 237" 142s ok 3221 - Line 1631 "[% a %]|[% $a %]|[% ${ a } %]|[% ${ "a" } %]" => "A|bar|bar|A" 142s ok 3222 - Line 1632 "[% a %]|[% $a %]|[% ${ a } %]|[% ${ "a" } %]" => "A|bar|bar|A" 142s ok 3223 - Line 1633 "[% a %]|[% $a %]|[% ${ a } %]|[% ${ "a" } %]" => "A|A|bar|A" 142s ok 3224 - Line 1635 "" => "FOO" 142s ok 3225 - Line 1636 "" => "7 8" 142s ok 3226 - Line 1637 "" => "1" 142s ok 3227 - Line 1638 "" => "1" 142s ok 3228 - Line 1639 "d" => "" 142s ok 3229 - Line 1641 "[% ""|eval(syntax => 'hte') %] = [% 6 %]" => "6 = 6" 142s ok 3230 - Line 1642 "[% ""|eval(syntax => 'ht') %] = [% 6 %]" => "" 142s ok 3231 - Line 1643 "[% ""|eval(syntax => 'ht') %] = [% 12 %]" => "12 = 12" 142s ### CONFIG ########################################## engine_option (stream) 142s ok 3232 - Line 1651 "[% CONFIG ANYCASE => 1 %][% get 234 %]" => "234" 142s ok 3233 - Line 1652 "[% CONFIG anycase => 1 %][% get 234 %]" => "234" 142s ok 3234 - Line 1653 "[% CONFIG PRE_CHOMP => '-' %] 142s # [% 234 %]" => "234" 142s ok 3235 - Line 1654 "[% CONFIG POST_CHOMP => '-' %][% 234 %] 142s # " => "234" 142s ok 3236 - Line 1655 "[% CONFIG INTERPOLATE => 1 %]${ 234 }" => "234" 142s ok 3237 - Line 1656 "[% CONFIG V1DOLLAR => 1 %][% a = 234 %][% $a %]" => "234" 142s ok 3238 - Line 1657 "[% CONFIG V2PIPE => 1 %][% BLOCK a %]b is [% b %][% END %][% PROCESS a b => 234 | repeat(2) %]" => "b is 234b is 234" 142s ok 3239 - Line 1658 "[% CONFIG V2EQUALS => 1 %][% ('7' == '7.0') || 0 %]" => "0" 142s ok 3240 - Line 1659 "[% CONFIG V2EQUALS => 0 %][% ('7' == '7.0') || 0 %]" => "1" 142s ok 3241 - Line 1661 "[% CONFIG BOGUS => 2 %]bar" => "" 142s ok 3242 - Line 1663 "[% CONFIG ANYCASE %]|[% CONFIG ANYCASE => 1 %][% CONFIG ANYCASE %]" => "CONFIG ANYCASE = undef|CONFIG ANYCASE = 1" 142s ok 3243 - Line 1664 "[% CONFIG ANYCASE %]|[% CONFIG ANYCASE => 1 %][% CONFIG ANYCASE %]" => "CONFIG ANYCASE = undef|CONFIG ANYCASE = 1" 142s ok 3244 - Line 1666 "[% "[% GET 1+2+3 %]" | eval %] = [% get 6 %]" => "" 142s ok 3245 - Line 1667 "[% CONFIG ANYCASE => 1 %][% get 6 %]" => "6" 142s ok 3246 - Line 1668 "[% CONFIG ANYCASE => 1 %][% "[% get 1+2+3 %]" | eval %] = [% get 6 %]" => "6 = 6" 142s ok 3247 - Line 1669 "[% "[% CONFIG ANYCASE => 1 %][% get 1+2+3 %]" | eval %] = [% get 6 %]" => "" 142s ok 3248 - Line 1670 "[% "[% CONFIG ANYCASE => 1 %][% get 1+2+3 %]" | eval %] = [% GET 6 %]" => "6 = 6" 142s ok 3249 - Line 1671 "[% CONFIG SYNTAX => 'hte' %][% ""|eval %] = [% 6 %]" => "6 = 6" 142s ok 3250 - Line 1672 "[% "[% get 1+2+3 %]" | eval(ANYCASE => 1) %] = [% GET 6 %]" => "6 = 6" 142s ok 3251 - Line 1674 "[% CONFIG DUMP %]|[% CONFIG DUMP => 0 %][% DUMP %]bar" => "CONFIG DUMP = undef|bar" 142s ok 3252 - Line 1675 "[% CONFIG DUMP => {Useqq=>1, header=>0, html=>0} %][% DUMP 'foo' %]" => "'foo' = "foo"; 142s # " 142s ok 3253 - Line 1676 "[% CONFIG VMETHOD_FUNCTIONS => 0 %][% sprintf('%d %d', 7, 8) %] d" => " d" 142s ok 3254 - Line 1677 "[% TRY; foo; CONFIG STRICT => 1; bar; CATCH; error; END %]" => "var.undef error - undefined variable: bar in input text" 142s 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" 142s 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" 142s ok 3257 - Line 1681 "[% CONFIG AUTO_FILTER => "html"; foo %]" => "&" 142s ### DONE ############################################ engine_option (stream) 142s ok 142s t/10_tt_includes.t ...... 142s 1..351 142s ok 1 - use Template::Alloy; 142s ok 2 - Got a test dir up and running 142s ok 3 - Got a nested test dir up and running 142s ### INSERT ########################################## engine_option (normal) 142s ok 4 - Line 127 "([% INSERT bar.tt %])" => "([% blue %]BAR)" 142s ok 5 - Line 128 "([% SET file = 'bar.tt' %][% INSERT $file %])" => "([% blue %]BAR)" 142s ok 6 - Line 129 "([% SET file = 'bar.tt' %][% INSERT ${file} %])" => "([% blue %]BAR)" 142s ok 7 - Line 130 "([% SET file = 'bar.tt' %][% INSERT "$file" %])" => "([% blue %]BAR)" 142s ok 8 - Line 131 "([% SET file = 'bar' %][% INSERT "${file}.tt" %])" => "([% blue %]BAR)" 142s ### INCLUDE ######################################### engine_option (normal) 142s ok 9 - Line 136 "([% INCLUDE bar.tt %])" => "(BAR)" 142s ok 10 - Line 137 "[% PROCESS foo.tt %]" => "(BAR)" 142s ok 11 - Line 138 "[% PROCESS meta.tt %]" => "Metafoo() Metabar(meta.tt)" 142s ok 12 - Line 139 "[% META foo = 'string'; PROCESS meta.tt %]" => "Metafoo() Metabar(meta.tt)" 142s ok 13 - Line 140 "[% PROCESS meta.tt %][% template.bar %]" => "Metafoo() Metabar(meta.tt)" 142s ok 14 - Line 141 "[% META foo = 'meta'; PROCESS foo.tt %]" => "(metaBAR)" 142s ok 15 - Line 142 "([% SET file = 'bar.tt' %][% INCLUDE $file %])" => "(BAR)" 142s ok 16 - Line 143 "([% SET file = 'bar.tt' %][% INCLUDE ${file} %])" => "(BAR)" 142s ok 17 - Line 144 "([% SET file = 'bar.tt' %][% INCLUDE "$file" %])" => "(BAR)" 142s ok 18 - Line 145 "([% SET file = 'bar' %][% INCLUDE "${file}.tt" %])" => "(BAR)" 142s ok 19 - Line 147 "([% INCLUDE baz.tt %])" => "(42)" 142s ok 20 - Line 148 "([% INCLUDE baz.tt %])[% baz %]" => "(42)" 142s ok 21 - Line 149 "[% SET baz = 21 %]([% INCLUDE baz.tt %])[% baz %]" => "(42)21" 142s ok 22 - Line 151 "([% META blam = 5; INCLUDE blocks.tt %])" => "()" 142s ok 23 - Line 152 "([% META blam = 5; INCLUDE blocks.tt %])([% PROCESS foo text => 'bar' %])" => "" 142s ok 24 - Line 153 "([% META blam = 5; INCLUDE blocks.tt %])([% foo_m('hey') %])" => "()()" 142s ok 25 - Line 154 "([% META blam = 5; INCLUDE blocks.tt/foo text => 'bar' %])" => "" 142s ok 26 - Line 155 "([% META blam = 5; INCLUDE blocks.tt/bar %])" => "(bar)" 142s ok 27 - Line 156 "([% META blam = 5; INCLUDE blocks.tt/foo text => 'bar' %])" => "" 142s ### PROCESS ######################################### engine_option (normal) 142s ok 28 - Line 161 "([% PROCESS bar.tt %])" => "(BAR)" 142s ok 29 - Line 162 "[% PROCESS foo.tt %]" => "(BAR)" 142s ok 30 - Line 163 "[% PROCESS meta.tt %]" => "Metafoo() Metabar(meta.tt)" 142s ok 31 - Line 164 "[% META foo = 'string'; PROCESS meta.tt %]" => "Metafoo() Metabar(meta.tt)" 142s ok 32 - Line 165 "[% PROCESS meta.tt %][% template.bar %]" => "Metafoo() Metabar(meta.tt)" 142s ok 33 - Line 166 "[% META foo = 'meta'; PROCESS foo.tt %]" => "(metaBAR)" 142s ok 34 - Line 167 "([% SET file = 'bar.tt' %][% PROCESS $file %])" => "(BAR)" 142s ok 35 - Line 168 "([% SET file = 'bar.tt' %][% PROCESS ${file} %])" => "(BAR)" 142s ok 36 - Line 169 "([% SET file = 'bar.tt' %][% PROCESS "$file" %])" => "(BAR)" 142s ok 37 - Line 170 "([% SET file = 'bar' %][% PROCESS "${file}.tt" %])" => "(BAR)" 142s ok 38 - Line 172 "([% PROCESS baz.tt %])" => "(42)" 142s ok 39 - Line 173 "([% PROCESS baz.tt %])[% baz %]" => "(42)42" 142s ok 40 - Line 174 "[% SET baz = 21 %]([% PROCESS baz.tt %])[% baz %]" => "(42)42" 142s ok 41 - Line 176 "[% PROCESS nested/foo.tt %]" => "(Nested foo BAR)" 142s ok 42 - Line 177 "[% PROCESS nested/foo.tt %]" => "(Nested foo Nested bar)" 142s ok 43 - Line 178 "[% PROCESS nested/foo.tt %]" => "(Nested foo BAR)" 142s ok 44 - Line 179 "[% CONFIG ADD_LOCAL_PATH => 1 ; PROCESS nested/foo.tt %]" => "(Nested foo Nested bar)" 142s ok 45 - Line 181 "[% PROCESS nested/foo2.tt %]" => "" 142s ok 46 - Line 182 "[% PROCESS nested/foo2.tt %]" => "(Nested foo Nested bar2)" 142s ok 47 - Line 183 "[% PROCESS nested/foo2.tt %]" => "(Nested foo Nested bar2)" 142s ok 48 - Line 184 "[% CONFIG ADD_LOCAL_PATH => 1 ; PROCESS nested/foo2.tt %]" => "(Nested foo Nested bar2)" 142s ok 49 - Line 186 "([% META blam = 5; PROCESS blocks.tt %])" => "()" 142s ok 50 - Line 187 "([% META blam = 5; PROCESS blocks.tt %])([% PROCESS foo text => 'bar' %])" => "()(I am bar - 5bar)" 142s ok 51 - Line 188 "([% META blam = 5; PROCESS blocks.tt %])([% foo_m('hey') %])" => "()(I am hey - 5)" 142s ok 52 - Line 189 "([% META blam = 5; PROCESS blocks.tt/foo text => 'bar' %])" => "" 142s ok 53 - Line 190 "([% META blam = 5; PROCESS blocks.tt/bar %])" => "(bar)" 142s ok 54 - Line 191 "([% META blam = 5; PROCESS blocks.tt/foo text => 'bar' %])" => "" 142s ### WRAPPER ######################################### engine_option (normal) 142s ok 55 - Line 196 "([% WRAPPER wrap.tt %])" => "" 142s ok 56 - Line 197 "([% WRAPPER wrap.tt %] one [% END %])" => "(Hi one there)" 142s ok 57 - Line 198 "([% WRAPPER wrap.tt %] ([% baz %]) [% END %])" => "(Hi () there)" 142s ok 58 - Line 199 "([% WRAPPER wrap.tt %] one [% END %])" => "(HiBAZ one there)" 142s ok 59 - Line 200 "([% WRAPPER wrap.tt %] ([% baz; baz='-local' %]) [% END %][% baz %])" => "(Hi-local () there-local)" 142s ok 60 - Line 201 "([% WRAPPER wrap.tt %][% META foo='BLAM' %] [% END %])" => "(HiBLAM there)" 142s ### CONFIG PRE_PROCESS ############################## engine_option (normal) 142s ok 61 - Line 206 "Foo" => "BARFoo" 142s ok 62 - Line 207 "Foo" => "BARFoo" 142s ok 63 - Line 208 "Foo" => "(BAR)BARFoo" 142s ok 64 - Line 209 "Foo" => "BlueBARFoo" 142s ok 65 - Line 210 "Foo[% blue='Blue' %]" => "BARFoo" 142s ok 66 - Line 211 "Foo[% META foo='meta' %]" => "(metaBAR)Foo" 142s ok 67 - Line 212 "([% WRAPPER wrap.tt %] one [% END %])" => "BAR(Hi one there)" 142s ok 68 - Line 214 "Foo" => "<>Foo" 142s ### CONFIG POST_PROCESS ############################# engine_option (normal) 142s ok 69 - Line 219 "Foo" => "FooBAR" 142s ok 70 - Line 220 "Foo" => "FooBAR" 142s ok 71 - Line 221 "Foo" => "Foo(BAR)BAR" 142s ok 72 - Line 222 "Foo" => "FooBlueBAR" 142s ok 73 - Line 223 "Foo[% blue='Blue' %]" => "FooBlueBAR" 142s ok 74 - Line 224 "Foo[% META foo='meta' %]" => "Foo(metaBAR)" 142s ok 75 - Line 225 "([% WRAPPER wrap.tt %] one [% END %])" => "(Hi one there)BAR" 142s ok 76 - Line 227 "Foo" => "Foo<>" 142s ### CONFIG PROCESS ################################## engine_option (normal) 142s ok 77 - Line 232 "Foo" => "BAR" 142s ok 78 - Line 233 "Foo" => "BAR" 142s ok 79 - Line 234 "Foo" => "(BAR)BAR" 142s ok 80 - Line 235 "Foo" => "BlueBAR" 142s ok 81 - Line 236 "Foo[% META foo='meta' %]" => "(metaBAR)" 142s ok 82 - Line 237 "Foo[% META foo='meta' %]" => "BAR(metaBAR)" 142s ok 83 - Line 238 "Foo[% META foo='meta' %]" => "(metaBAR)BAR" 142s ok 84 - Line 240 "Foo" => "<>" 142s ### CONFIG WRAPPER ################################## engine_option (normal) 142s ok 85 - Line 245 " one " => "Hi one there" 142s ok 86 - Line 246 " one " => "Hi one there" 142s ok 87 - Line 247 " one " => "HiwrapHi one therethere" 142s ok 88 - Line 248 " ([% baz %]) " => "Hi () there" 142s ok 89 - Line 249 " one " => "HiBAZ one there" 142s ok 90 - Line 250 " ([% baz; baz='-local' %]) " => "Hi-local () there" 142s ok 91 - Line 251 "[% META foo='BLAM' %] " => "HiBLAM there" 142s ok 92 - Line 253 " one " => "BARHi one there" 142s ok 93 - Line 254 " one " => "HiBARthere" 142s ok 94 - Line 255 " one " => "Hi one thereBAR" 142s ok 95 - Line 257 "Foo" => "<>" 142s ### CONFIG ERRORS ################################### engine_option (normal) 142s ok 96 - Line 262 "[% THROW foo 'bar' %]" => "Error (foo) - (bar)" 142s ok 97 - Line 263 "[% THROW foo 'bar' %]" => "Error (foo) - (bar)" 142s ok 98 - Line 264 "[% THROW foo 'bar' %]" => "Error (foo) - (bar)" 142s ok 99 - Line 265 "[% THROW foo 'bar' %]" => "Error (foo) - (bar)" 142s ok 100 - Line 266 "[% THROW foo 'bar' %]" => "Error2 (foo) - (bar)" 142s ok 101 - Line 267 "[% THROW foo.baz 'bar' %]" => "Error2 (foo.baz) - (bar)" 142s ok 102 - Line 268 "[% THROW foo.baz 'bar' %]" => "Error2 (foo.baz) - (bar)" 142s ok 103 - Line 269 "[% THROW foo 'bar' %]" => "Error (foo) - (bar)" 142s ok 104 - Line 270 "[% THROW foo.baz 'bar' %]" => "Error2 (foo.baz) - (bar)" 142s ok 105 - Line 272 "[% THROW foo 'bar' %]" => "BARError (foo) - (bar)" 142s ok 106 - Line 273 "[% THROW foo 'bar' %]" => "Error (bing) - (blang)" 142s ok 107 - Line 274 "[% THROW foo 'bar' %]" => "Error (bing) - (blang)" 142s ok 108 - Line 276 "[% THROW foo 'bar' %]" => "Error (foo) - (bar)BAR" 142s ok 109 - Line 277 "[% THROW foo 'bar' %]" => "HiError (foo) - (bar)there" 142s ok 110 - Line 279 "(outer)[% PROCESS 'die.tt' %]" => "Error (bing) - (blang)" 142s ok 111 - Line 281 "(outer)[% TRY %][% PROCESS 'die.tt' %][% CATCH %] [% END %]" => "(outer) " 142s ok 112 - Line 283 " one " => "" 142s ok 113 - Line 284 " one " => "" 142s ok 114 - Line 285 " one " => "" 142s ### CONFIG and DUMP ################################# engine_option (normal) 142s ok 115 - Line 290 "[% CONFIG DUMP => {html => 0}; DUMP foo; PROCESS config.tt; DUMP foo %]" => "DUMP: File "input text" line 1 142s # foo = 'FOO'; 142s # DUMP: File "config.tt" line 1
foo = 'FOO';
142s # 
DUMP: File "input text" line 1 142s # foo = 'FOO'; 142s # " 142s ok 116 - Line 297 "[% PROCESS 'config2.tt' %]" => "DUMP: File "config2.tt/nested" line 1 142s # foo = 'FOO'; 142s # " 142s ### NOT FOUND CACHE ################################# engine_option (normal) 142s ok 117 - Line 304 "[% BLOCK foo; TRY; PROCESS blurty.tt; CATCH %]([% error.type %])([% error.info %]) 142s # [% END; END; PROCESS foo; PROCESS foo %]" => "(file)(blurty.tt: not found) 142s # (file)(blurty.tt: not found (cached)) 142s # " 142s ok 118 - Line 305 "[% BLOCK foo; TRY; PROCESS blurty.tt; CATCH %]([% error.type %])([% error.info %]) 142s # [% END; END; PROCESS foo; PROCESS foo %]" => "(file)(blurty.tt: not found) 142s # (file)(blurty.tt: not found) 142s # " 142s ok 119 - Line 306 "[% BLOCK foo; TRY; PROCESS blurty.tt; CATCH %]([% error.type %])([% error.info %]) 142s # [% END; END; PROCESS foo; PROCESS foo %]" => "(file)(blurty.tt: not found) 142s # (file)(blurty.tt: not found) 142s # " 142s ### DONE ############################################ engine_option (normal) 142s ### INSERT ########################################## engine_option (compile_perl) 142s ok 120 - Line 127 "([% INSERT bar.tt %])" => "([% blue %]BAR)" 142s ok 121 - Line 128 "([% SET file = 'bar.tt' %][% INSERT $file %])" => "([% blue %]BAR)" 142s ok 122 - Line 129 "([% SET file = 'bar.tt' %][% INSERT ${file} %])" => "([% blue %]BAR)" 142s ok 123 - Line 130 "([% SET file = 'bar.tt' %][% INSERT "$file" %])" => "([% blue %]BAR)" 142s ok 124 - Line 131 "([% SET file = 'bar' %][% INSERT "${file}.tt" %])" => "([% blue %]BAR)" 142s ### INCLUDE ######################################### engine_option (compile_perl) 142s ok 125 - Line 136 "([% INCLUDE bar.tt %])" => "(BAR)" 142s ok 126 - Line 137 "[% PROCESS foo.tt %]" => "(BAR)" 142s ok 127 - Line 138 "[% PROCESS meta.tt %]" => "Metafoo() Metabar(meta.tt)" 142s ok 128 - Line 139 "[% META foo = 'string'; PROCESS meta.tt %]" => "Metafoo() Metabar(meta.tt)" 142s ok 129 - Line 140 "[% PROCESS meta.tt %][% template.bar %]" => "Metafoo() Metabar(meta.tt)" 142s ok 130 - Line 141 "[% META foo = 'meta'; PROCESS foo.tt %]" => "(metaBAR)" 142s ok 131 - Line 142 "([% SET file = 'bar.tt' %][% INCLUDE $file %])" => "(BAR)" 142s ok 132 - Line 143 "([% SET file = 'bar.tt' %][% INCLUDE ${file} %])" => "(BAR)" 142s ok 133 - Line 144 "([% SET file = 'bar.tt' %][% INCLUDE "$file" %])" => "(BAR)" 142s ok 134 - Line 145 "([% SET file = 'bar' %][% INCLUDE "${file}.tt" %])" => "(BAR)" 142s ok 135 - Line 147 "([% INCLUDE baz.tt %])" => "(42)" 142s ok 136 - Line 148 "([% INCLUDE baz.tt %])[% baz %]" => "(42)" 142s ok 137 - Line 149 "[% SET baz = 21 %]([% INCLUDE baz.tt %])[% baz %]" => "(42)21" 142s ok 138 - Line 151 "([% META blam = 5; INCLUDE blocks.tt %])" => "()" 142s ok 139 - Line 152 "([% META blam = 5; INCLUDE blocks.tt %])([% PROCESS foo text => 'bar' %])" => "" 142s ok 140 - Line 153 "([% META blam = 5; INCLUDE blocks.tt %])([% foo_m('hey') %])" => "()()" 142s ok 141 - Line 154 "([% META blam = 5; INCLUDE blocks.tt/foo text => 'bar' %])" => "" 142s ok 142 - Line 155 "([% META blam = 5; INCLUDE blocks.tt/bar %])" => "(bar)" 142s ok 143 - Line 156 "([% META blam = 5; INCLUDE blocks.tt/foo text => 'bar' %])" => "" 142s ### PROCESS ######################################### engine_option (compile_perl) 142s ok 144 - Line 161 "([% PROCESS bar.tt %])" => "(BAR)" 142s ok 145 - Line 162 "[% PROCESS foo.tt %]" => "(BAR)" 142s ok 146 - Line 163 "[% PROCESS meta.tt %]" => "Metafoo() Metabar(meta.tt)" 142s ok 147 - Line 164 "[% META foo = 'string'; PROCESS meta.tt %]" => "Metafoo() Metabar(meta.tt)" 142s ok 148 - Line 165 "[% PROCESS meta.tt %][% template.bar %]" => "Metafoo() Metabar(meta.tt)" 142s ok 149 - Line 166 "[% META foo = 'meta'; PROCESS foo.tt %]" => "(metaBAR)" 142s ok 150 - Line 167 "([% SET file = 'bar.tt' %][% PROCESS $file %])" => "(BAR)" 142s ok 151 - Line 168 "([% SET file = 'bar.tt' %][% PROCESS ${file} %])" => "(BAR)" 142s ok 152 - Line 169 "([% SET file = 'bar.tt' %][% PROCESS "$file" %])" => "(BAR)" 142s ok 153 - Line 170 "([% SET file = 'bar' %][% PROCESS "${file}.tt" %])" => "(BAR)" 142s ok 154 - Line 172 "([% PROCESS baz.tt %])" => "(42)" 142s ok 155 - Line 173 "([% PROCESS baz.tt %])[% baz %]" => "(42)42" 142s ok 156 - Line 174 "[% SET baz = 21 %]([% PROCESS baz.tt %])[% baz %]" => "(42)42" 142s ok 157 - Line 176 "[% PROCESS nested/foo.tt %]" => "(Nested foo BAR)" 142s ok 158 - Line 177 "[% PROCESS nested/foo.tt %]" => "(Nested foo Nested bar)" 142s ok 159 - Line 178 "[% PROCESS nested/foo.tt %]" => "(Nested foo BAR)" 142s ok 160 - Line 179 "[% CONFIG ADD_LOCAL_PATH => 1 ; PROCESS nested/foo.tt %]" => "(Nested foo Nested bar)" 142s ok 161 - Line 181 "[% PROCESS nested/foo2.tt %]" => "" 142s ok 162 - Line 182 "[% PROCESS nested/foo2.tt %]" => "(Nested foo Nested bar2)" 142s ok 163 - Line 183 "[% PROCESS nested/foo2.tt %]" => "(Nested foo Nested bar2)" 142s ok 164 - Line 184 "[% CONFIG ADD_LOCAL_PATH => 1 ; PROCESS nested/foo2.tt %]" => "(Nested foo Nested bar2)" 142s ok 165 - Line 186 "([% META blam = 5; PROCESS blocks.tt %])" => "()" 142s ok 166 - Line 187 "([% META blam = 5; PROCESS blocks.tt %])([% PROCESS foo text => 'bar' %])" => "()(I am bar - 5bar)" 142s ok 167 - Line 188 "([% META blam = 5; PROCESS blocks.tt %])([% foo_m('hey') %])" => "()(I am hey - 5)" 142s ok 168 - Line 189 "([% META blam = 5; PROCESS blocks.tt/foo text => 'bar' %])" => "" 142s ok 169 - Line 190 "([% META blam = 5; PROCESS blocks.tt/bar %])" => "(bar)" 142s ok 170 - Line 191 "([% META blam = 5; PROCESS blocks.tt/foo text => 'bar' %])" => "" 142s ### WRAPPER ######################################### engine_option (compile_perl) 142s ok 171 - Line 196 "([% WRAPPER wrap.tt %])" => "" 142s ok 172 - Line 197 "([% WRAPPER wrap.tt %] one [% END %])" => "(Hi one there)" 142s ok 173 - Line 198 "([% WRAPPER wrap.tt %] ([% baz %]) [% END %])" => "(Hi () there)" 142s ok 174 - Line 199 "([% WRAPPER wrap.tt %] one [% END %])" => "(HiBAZ one there)" 142s ok 175 - Line 200 "([% WRAPPER wrap.tt %] ([% baz; baz='-local' %]) [% END %][% baz %])" => "(Hi-local () there-local)" 142s ok 176 - Line 201 "([% WRAPPER wrap.tt %][% META foo='BLAM' %] [% END %])" => "(HiBLAM there)" 142s ### CONFIG PRE_PROCESS ############################## engine_option (compile_perl) 142s ok 177 - Line 206 "Foo" => "BARFoo" 142s ok 178 - Line 207 "Foo" => "BARFoo" 142s ok 179 - Line 208 "Foo" => "(BAR)BARFoo" 142s ok 180 - Line 209 "Foo" => "BlueBARFoo" 142s ok 181 - Line 210 "Foo[% blue='Blue' %]" => "BARFoo" 142s ok 182 - Line 211 "Foo[% META foo='meta' %]" => "(metaBAR)Foo" 142s ok 183 - Line 212 "([% WRAPPER wrap.tt %] one [% END %])" => "BAR(Hi one there)" 142s ok 184 - Line 214 "Foo" => "<>Foo" 142s ### CONFIG POST_PROCESS ############################# engine_option (compile_perl) 142s ok 185 - Line 219 "Foo" => "FooBAR" 142s ok 186 - Line 220 "Foo" => "FooBAR" 142s ok 187 - Line 221 "Foo" => "Foo(BAR)BAR" 142s ok 188 - Line 222 "Foo" => "FooBlueBAR" 142s ok 189 - Line 223 "Foo[% blue='Blue' %]" => "FooBlueBAR" 142s ok 190 - Line 224 "Foo[% META foo='meta' %]" => "Foo(metaBAR)" 142s ok 191 - Line 225 "([% WRAPPER wrap.tt %] one [% END %])" => "(Hi one there)BAR" 142s ok 192 - Line 227 "Foo" => "Foo<>" 142s ### CONFIG PROCESS ################################## engine_option (compile_perl) 142s ok 193 - Line 232 "Foo" => "BAR" 142s ok 194 - Line 233 "Foo" => "BAR" 142s ok 195 - Line 234 "Foo" => "(BAR)BAR" 142s ok 196 - Line 235 "Foo" => "BlueBAR" 142s ok 197 - Line 236 "Foo[% META foo='meta' %]" => "(metaBAR)" 142s ok 198 - Line 237 "Foo[% META foo='meta' %]" => "BAR(metaBAR)" 142s ok 199 - Line 238 "Foo[% META foo='meta' %]" => "(metaBAR)BAR" 142s ok 200 - Line 240 "Foo" => "<>" 142s ### CONFIG WRAPPER ################################## engine_option (compile_perl) 142s ok 201 - Line 245 " one " => "Hi one there" 142s ok 202 - Line 246 " one " => "Hi one there" 142s ok 203 - Line 247 " one " => "HiwrapHi one therethere" 142s ok 204 - Line 248 " ([% baz %]) " => "Hi () there" 142s ok 205 - Line 249 " one " => "HiBAZ one there" 142s ok 206 - Line 250 " ([% baz; baz='-local' %]) " => "Hi-local () there" 142s ok 207 - Line 251 "[% META foo='BLAM' %] " => "HiBLAM there" 142s ok 208 - Line 253 " one " => "BARHi one there" 142s ok 209 - Line 254 " one " => "HiBARthere" 142s ok 210 - Line 255 " one " => "Hi one thereBAR" 142s ok 211 - Line 257 "Foo" => "<>" 142s ### CONFIG ERRORS ################################### engine_option (compile_perl) 142s ok 212 - Line 262 "[% THROW foo 'bar' %]" => "Error (foo) - (bar)" 142s ok 213 - Line 263 "[% THROW foo 'bar' %]" => "Error (foo) - (bar)" 142s ok 214 - Line 264 "[% THROW foo 'bar' %]" => "Error (foo) - (bar)" 142s ok 215 - Line 265 "[% THROW foo 'bar' %]" => "Error (foo) - (bar)" 142s ok 216 - Line 266 "[% THROW foo 'bar' %]" => "Error2 (foo) - (bar)" 142s ok 217 - Line 267 "[% THROW foo.baz 'bar' %]" => "Error2 (foo.baz) - (bar)" 142s ok 218 - Line 268 "[% THROW foo.baz 'bar' %]" => "Error2 (foo.baz) - (bar)" 142s ok 219 - Line 269 "[% THROW foo 'bar' %]" => "Error (foo) - (bar)" 142s ok 220 - Line 270 "[% THROW foo.baz 'bar' %]" => "Error2 (foo.baz) - (bar)" 142s ok 221 - Line 272 "[% THROW foo 'bar' %]" => "BARError (foo) - (bar)" 142s ok 222 - Line 273 "[% THROW foo 'bar' %]" => "Error (bing) - (blang)" 142s ok 223 - Line 274 "[% THROW foo 'bar' %]" => "Error (bing) - (blang)" 142s ok 224 - Line 276 "[% THROW foo 'bar' %]" => "Error (foo) - (bar)BAR" 142s ok 225 - Line 277 "[% THROW foo 'bar' %]" => "HiError (foo) - (bar)there" 142s ok 226 - Line 279 "(outer)[% PROCESS 'die.tt' %]" => "Error (bing) - (blang)" 142s ok 227 - Line 281 "(outer)[% TRY %][% PROCESS 'die.tt' %][% CATCH %] [% END %]" => "(outer) " 142s ok 228 - Line 283 " one " => "" 142s ok 229 - Line 284 " one " => "" 142s ok 230 - Line 285 " one " => "" 142s ### CONFIG and DUMP ################################# engine_option (compile_perl) 142s ok 231 - Line 290 "[% CONFIG DUMP => {html => 0}; DUMP foo; PROCESS config.tt; DUMP foo %]" => "DUMP: File "input text" line 1 142s # foo = 'FOO'; 142s # DUMP: File "config.tt" line 1
foo = 'FOO';
142s # 
DUMP: File "input text" line 1 142s # foo = 'FOO'; 142s # " 142s ok 232 - Line 297 "[% PROCESS 'config2.tt' %]" => "DUMP: File "config2.tt/nested" line 1 142s # foo = 'FOO'; 142s # " 142s ### NOT FOUND CACHE ################################# engine_option (compile_perl) 142s ok 233 - Line 304 "[% BLOCK foo; TRY; PROCESS blurty.tt; CATCH %]([% error.type %])([% error.info %]) 142s # [% END; END; PROCESS foo; PROCESS foo %]" => "(file)(blurty.tt: not found) 142s # (file)(blurty.tt: not found (cached)) 142s # " 142s ok 234 - Line 305 "[% BLOCK foo; TRY; PROCESS blurty.tt; CATCH %]([% error.type %])([% error.info %]) 142s # [% END; END; PROCESS foo; PROCESS foo %]" => "(file)(blurty.tt: not found) 142s # (file)(blurty.tt: not found) 142s # " 142s ok 235 - Line 306 "[% BLOCK foo; TRY; PROCESS blurty.tt; CATCH %]([% error.type %])([% error.info %]) 142s # [% END; END; PROCESS foo; PROCESS foo %]" => "(file)(blurty.tt: not found) 142s # (file)(blurty.tt: not found) 142s # " 142s ### DONE ############################################ engine_option (compile_perl) 142s ### INSERT ########################################## engine_option (stream) 142s ok 236 - Line 127 "([% INSERT bar.tt %])" => "([% blue %]BAR)" 142s ok 237 - Line 128 "([% SET file = 'bar.tt' %][% INSERT $file %])" => "([% blue %]BAR)" 142s ok 238 - Line 129 "([% SET file = 'bar.tt' %][% INSERT ${file} %])" => "([% blue %]BAR)" 142s ok 239 - Line 130 "([% SET file = 'bar.tt' %][% INSERT "$file" %])" => "([% blue %]BAR)" 142s ok 240 - Line 131 "([% SET file = 'bar' %][% INSERT "${file}.tt" %])" => "([% blue %]BAR)" 142s ### INCLUDE ######################################### engine_option (stream) 142s ok 241 - Line 136 "([% INCLUDE bar.tt %])" => "(BAR)" 142s ok 242 - Line 137 "[% PROCESS foo.tt %]" => "(BAR)" 142s ok 243 - Line 138 "[% PROCESS meta.tt %]" => "Metafoo() Metabar(meta.tt)" 142s ok 244 - Line 139 "[% META foo = 'string'; PROCESS meta.tt %]" => "Metafoo() Metabar(meta.tt)" 142s ok 245 - Line 140 "[% PROCESS meta.tt %][% template.bar %]" => "Metafoo() Metabar(meta.tt)" 142s ok 246 - Line 141 "[% META foo = 'meta'; PROCESS foo.tt %]" => "(metaBAR)" 142s ok 247 - Line 142 "([% SET file = 'bar.tt' %][% INCLUDE $file %])" => "(BAR)" 142s ok 248 - Line 143 "([% SET file = 'bar.tt' %][% INCLUDE ${file} %])" => "(BAR)" 142s ok 249 - Line 144 "([% SET file = 'bar.tt' %][% INCLUDE "$file" %])" => "(BAR)" 142s ok 250 - Line 145 "([% SET file = 'bar' %][% INCLUDE "${file}.tt" %])" => "(BAR)" 142s ok 251 - Line 147 "([% INCLUDE baz.tt %])" => "(42)" 142s ok 252 - Line 148 "([% INCLUDE baz.tt %])[% baz %]" => "(42)" 142s ok 253 - Line 149 "[% SET baz = 21 %]([% INCLUDE baz.tt %])[% baz %]" => "(42)21" 142s ok 254 - Line 151 "([% META blam = 5; INCLUDE blocks.tt %])" => "()" 142s ok 255 - Line 152 "([% META blam = 5; INCLUDE blocks.tt %])([% PROCESS foo text => 'bar' %])" => "()(" 142s ok 256 - Line 153 "([% META blam = 5; INCLUDE blocks.tt %])([% foo_m('hey') %])" => "()()" 142s ok 257 - Line 154 "([% META blam = 5; INCLUDE blocks.tt/foo text => 'bar' %])" => "(" 142s ok 258 - Line 155 "([% META blam = 5; INCLUDE blocks.tt/bar %])" => "(bar)" 142s ok 259 - Line 156 "([% META blam = 5; INCLUDE blocks.tt/foo text => 'bar' %])" => "(I am bar - 5" 142s ### PROCESS ######################################### engine_option (stream) 142s ok 260 - Line 161 "([% PROCESS bar.tt %])" => "(BAR)" 142s ok 261 - Line 162 "[% PROCESS foo.tt %]" => "(BAR)" 142s ok 262 - Line 163 "[% PROCESS meta.tt %]" => "Metafoo() Metabar(meta.tt)" 142s ok 263 - Line 164 "[% META foo = 'string'; PROCESS meta.tt %]" => "Metafoo() Metabar(meta.tt)" 142s ok 264 - Line 165 "[% PROCESS meta.tt %][% template.bar %]" => "Metafoo() Metabar(meta.tt)" 142s ok 265 - Line 166 "[% META foo = 'meta'; PROCESS foo.tt %]" => "(metaBAR)" 142s ok 266 - Line 167 "([% SET file = 'bar.tt' %][% PROCESS $file %])" => "(BAR)" 142s ok 267 - Line 168 "([% SET file = 'bar.tt' %][% PROCESS ${file} %])" => "(BAR)" 142s ok 268 - Line 169 "([% SET file = 'bar.tt' %][% PROCESS "$file" %])" => "(BAR)" 142s ok 269 - Line 170 "([% SET file = 'bar' %][% PROCESS "${file}.tt" %])" => "(BAR)" 142s ok 270 - Line 172 "([% PROCESS baz.tt %])" => "(42)" 142s ok 271 - Line 173 "([% PROCESS baz.tt %])[% baz %]" => "(42)42" 142s ok 272 - Line 174 "[% SET baz = 21 %]([% PROCESS baz.tt %])[% baz %]" => "(42)42" 142s ok 273 - Line 176 "[% PROCESS nested/foo.tt %]" => "(Nested foo BAR)" 142s ok 274 - Line 177 "[% PROCESS nested/foo.tt %]" => "(Nested foo Nested bar)" 142s ok 275 - Line 178 "[% PROCESS nested/foo.tt %]" => "(Nested foo BAR)" 142s ok 276 - Line 179 "[% CONFIG ADD_LOCAL_PATH => 1 ; PROCESS nested/foo.tt %]" => "(Nested foo Nested bar)" 142s ok 277 - Line 181 "[% PROCESS nested/foo2.tt %]" => "(Nested foo " 142s ok 278 - Line 182 "[% PROCESS nested/foo2.tt %]" => "(Nested foo Nested bar2)" 142s ok 279 - Line 183 "[% PROCESS nested/foo2.tt %]" => "(Nested foo Nested bar2)" 142s ok 280 - Line 184 "[% CONFIG ADD_LOCAL_PATH => 1 ; PROCESS nested/foo2.tt %]" => "(Nested foo Nested bar2)" 142s ok 281 - Line 186 "([% META blam = 5; PROCESS blocks.tt %])" => "()" 142s ok 282 - Line 187 "([% META blam = 5; PROCESS blocks.tt %])([% PROCESS foo text => 'bar' %])" => "()(I am bar - 5bar)" 142s ok 283 - Line 188 "([% META blam = 5; PROCESS blocks.tt %])([% foo_m('hey') %])" => "()(I am hey - 5)" 142s ok 284 - Line 189 "([% META blam = 5; PROCESS blocks.tt/foo text => 'bar' %])" => "(" 142s ok 285 - Line 190 "([% META blam = 5; PROCESS blocks.tt/bar %])" => "(bar)" 142s ok 286 - Line 191 "([% META blam = 5; PROCESS blocks.tt/foo text => 'bar' %])" => "(I am bar - 5" 142s ### WRAPPER ######################################### engine_option (stream) 142s ok 287 - Line 196 "([% WRAPPER wrap.tt %])" => "" 142s ok 288 - Line 197 "([% WRAPPER wrap.tt %] one [% END %])" => "(Hi one there)" 142s ok 289 - Line 198 "([% WRAPPER wrap.tt %] ([% baz %]) [% END %])" => "(Hi () there)" 142s ok 290 - Line 199 "([% WRAPPER wrap.tt %] one [% END %])" => "(HiBAZ one there)" 142s ok 291 - Line 200 "([% WRAPPER wrap.tt %] ([% baz; baz='-local' %]) [% END %][% baz %])" => "(Hi-local () there-local)" 142s ok 292 - Line 201 "([% WRAPPER wrap.tt %][% META foo='BLAM' %] [% END %])" => "(HiBLAM there)" 142s ### CONFIG PRE_PROCESS ############################## engine_option (stream) 142s ok 293 - Line 206 "Foo" => "BARFoo" 142s ok 294 - Line 207 "Foo" => "BARFoo" 142s ok 295 - Line 208 "Foo" => "(BAR)BARFoo" 142s ok 296 - Line 209 "Foo" => "BlueBARFoo" 142s ok 297 - Line 210 "Foo[% blue='Blue' %]" => "BARFoo" 142s ok 298 - Line 211 "Foo[% META foo='meta' %]" => "(metaBAR)Foo" 142s ok 299 - Line 212 "([% WRAPPER wrap.tt %] one [% END %])" => "BAR(Hi one there)" 142s ok 300 - Line 214 "Foo" => "<>Foo" 142s ### CONFIG POST_PROCESS ############################# engine_option (stream) 142s ok 301 - Line 219 "Foo" => "FooBAR" 142s ok 302 - Line 220 "Foo" => "FooBAR" 142s ok 303 - Line 221 "Foo" => "Foo(BAR)BAR" 142s ok 304 - Line 222 "Foo" => "FooBlueBAR" 142s ok 305 - Line 223 "Foo[% blue='Blue' %]" => "FooBlueBAR" 142s ok 306 - Line 224 "Foo[% META foo='meta' %]" => "Foo(metaBAR)" 142s ok 307 - Line 225 "([% WRAPPER wrap.tt %] one [% END %])" => "(Hi one there)BAR" 142s ok 308 - Line 227 "Foo" => "Foo<>" 142s ### CONFIG PROCESS ################################## engine_option (stream) 142s ok 309 - Line 232 "Foo" => "BAR" 142s ok 310 - Line 233 "Foo" => "BAR" 142s ok 311 - Line 234 "Foo" => "(BAR)BAR" 142s ok 312 - Line 235 "Foo" => "BlueBAR" 142s ok 313 - Line 236 "Foo[% META foo='meta' %]" => "(metaBAR)" 142s ok 314 - Line 237 "Foo[% META foo='meta' %]" => "BAR(metaBAR)" 142s ok 315 - Line 238 "Foo[% META foo='meta' %]" => "(metaBAR)BAR" 142s ok 316 - Line 240 "Foo" => "<>" 142s ### CONFIG WRAPPER ################################## engine_option (stream) 142s ok 317 - Line 245 " one " => "Hi one there" 142s ok 318 - Line 246 " one " => "Hi one there" 142s ok 319 - Line 247 " one " => "HiwrapHi one therethere" 142s ok 320 - Line 248 " ([% baz %]) " => "Hi () there" 142s ok 321 - Line 249 " one " => "HiBAZ one there" 142s ok 322 - Line 250 " ([% baz; baz='-local' %]) " => "Hi-local () there" 142s ok 323 - Line 251 "[% META foo='BLAM' %] " => "HiBLAM there" 142s ok 324 - Line 253 " one " => "BARHi one there" 142s ok 325 - Line 254 " one " => "HiBARthere" 142s ok 326 - Line 255 " one " => "Hi one thereBAR" 142s ok 327 - Line 257 "Foo" => "<>" 142s ### CONFIG ERRORS ################################### engine_option (stream) 142s ok 328 - Line 262 "[% THROW foo 'bar' %]" => "Error (foo) - (bar)" 142s ok 329 - Line 263 "[% THROW foo 'bar' %]" => "Error (foo) - (bar)" 142s ok 330 - Line 264 "[% THROW foo 'bar' %]" => "Error (foo) - (bar)" 142s ok 331 - Line 265 "[% THROW foo 'bar' %]" => "Error (foo) - (bar)" 142s ok 332 - Line 266 "[% THROW foo 'bar' %]" => "Error2 (foo) - (bar)" 142s ok 333 - Line 267 "[% THROW foo.baz 'bar' %]" => "Error2 (foo.baz) - (bar)" 142s ok 334 - Line 268 "[% THROW foo.baz 'bar' %]" => "Error2 (foo.baz) - (bar)" 142s ok 335 - Line 269 "[% THROW foo 'bar' %]" => "Error (foo) - (bar)" 142s ok 336 - Line 270 "[% THROW foo.baz 'bar' %]" => "Error2 (foo.baz) - (bar)" 142s ok 337 - Line 272 "[% THROW foo 'bar' %]" => "BARError (foo) - (bar)" 142s ok 338 - Line 273 "[% THROW foo 'bar' %]" => "Error (bing) - (blang)" 142s ok 339 - Line 275 "[% THROW foo 'bar' %]" => "BARError (bing) - (blang)" 142s ok 340 - Line 276 "[% THROW foo 'bar' %]" => "Error (foo) - (bar)BAR" 142s ok 341 - Line 277 "[% THROW foo 'bar' %]" => "HiError (foo) - (bar)there" 142s ok 342 - Line 280 "(outer)[% PROCESS 'die.tt' %]" => "(outer)Error (bing) - (blang)" 142s ok 343 - Line 281 "(outer)[% TRY %][% PROCESS 'die.tt' %][% CATCH %] [% END %]" => "(outer) " 142s ok 344 - Line 283 " one " => "" 142s ok 345 - Line 284 " one " => " one " 142s ok 346 - Line 285 " one " => "" 142s ### CONFIG and DUMP ################################# engine_option (stream) 142s ok 347 - Line 290 "[% CONFIG DUMP => {html => 0}; DUMP foo; PROCESS config.tt; DUMP foo %]" => "DUMP: File "input text" line 1 142s # foo = 'FOO'; 142s # DUMP: File "config.tt" line 1
foo = 'FOO';
142s # 
DUMP: File "input text" line 1 142s # foo = 'FOO'; 142s # " 142s ok 348 - Line 297 "[% PROCESS 'config2.tt' %]" => "DUMP: File "config2.tt/nested" line 1 142s # foo = 'FOO'; 142s # " 142s ### NOT FOUND CACHE ################################# engine_option (stream) 142s ok 349 - Line 304 "[% BLOCK foo; TRY; PROCESS blurty.tt; CATCH %]([% error.type %])([% error.info %]) 142s # [% END; END; PROCESS foo; PROCESS foo %]" => "(file)(blurty.tt: not found) 142s # (file)(blurty.tt: not found (cached)) 142s # " 142s ok 350 - Line 305 "[% BLOCK foo; TRY; PROCESS blurty.tt; CATCH %]([% error.type %])([% error.info %]) 142s # [% END; END; PROCESS foo; PROCESS foo %]" => "(file)(blurty.tt: not found) 142s # (file)(blurty.tt: not found) 142s # " 142s ok 351 - Line 306 "[% BLOCK foo; TRY; PROCESS blurty.tt; CATCH %]([% error.type %])([% error.info %]) 142s # [% END; END; PROCESS foo; PROCESS foo %]" => "(file)(blurty.tt: not found) 142s # (file)(blurty.tt: not found) 142s # " 142s ### DONE ############################################ engine_option (stream) 142s ok 142s t/11_tt_input_output.t .. 142s 1..21 142s ok 1 - use Template::Alloy; 142s ok 2 - Got a test dir up and running 142s ### INPUT ########################################### 142s ok 3 - process(\$in, {}, \$out) 142s ok 4 - process($filename, {}, \$out) 142s ok 5 - process(\&code, {}, \$out) 142s ok 6 - process($obj->load_template($filename), {}, \$out) 142s ok 7 - process(\*FH, {}, \$out) 142s ok 8 - process($fh, {}, \$out) 142s ### OUTPUT ########################################## 142s ok 9 - new(OUTPUT=>\$out)->process(\$str) 142s ok 10 - process(\$str, {}, \&code) 142s ok 11 - process(\$str, {}, $obj) - where $obj->can("print") 142s ok 12 - process(\$str, {}, \$out) 142s ok 13 - process(\$str, {}, \@out) 142s ok 14 - process(\$str, {}, \*FH) 142s ok 15 - process(\$str, {}, $fh) 142s ok 16 - Skip ABSOLUTE/RELATIVE output tests 142s ok 17 - Skip ABSOLUTE/RELATIVE output tests 142s ok 18 - Skip ABSOLUTE/RELATIVE output tests 142s ok 19 - process(\$str, {}, $filename) - with OUTPUT_PATH 142s ok 20 - process(\$str, {}, $filename) - with binmode 142s ok 21 - process(\$str) 142s ### DONE ############################################ 142s ok 142s t/15_tt_view.t .......... 142s 1..105 142s ok 1 - use Template::Alloy; 142s ok 2 # skip Template::View is not installed - skipping Template::View integration tests 142s ok 3 # skip Template::View is not installed - skipping Template::View integration tests 142s ok 4 # skip Template::View is not installed - skipping Template::View integration tests 142s ok 5 # skip Template::View is not installed - skipping Template::View integration tests 142s ok 6 # skip Template::View is not installed - skipping Template::View integration tests 142s ok 7 # skip Template::View is not installed - skipping Template::View integration tests 142s ok 8 # skip Template::View is not installed - skipping Template::View integration tests 142s ok 9 # skip Template::View is not installed - skipping Template::View integration tests 142s ok 10 # skip Template::View is not installed - skipping Template::View integration tests 142s ok 11 # skip Template::View is not installed - skipping Template::View integration tests 142s ok 12 # skip Template::View is not installed - skipping Template::View integration tests 142s ok 13 # skip Template::View is not installed - skipping Template::View integration tests 142s ok 14 # skip Template::View is not installed - skipping Template::View integration tests 142s ok 15 # skip Template::View is not installed - skipping Template::View integration tests 142s ok 16 # skip Template::View is not installed - skipping Template::View integration tests 142s ok 17 # skip Template::View is not installed - skipping Template::View integration tests 142s ok 18 # skip Template::View is not installed - skipping Template::View integration tests 142s ok 19 # skip Template::View is not installed - skipping Template::View integration tests 142s ok 20 # skip Template::View is not installed - skipping Template::View integration tests 142s ok 21 # skip Template::View is not installed - skipping Template::View integration tests 142s ok 22 # skip Template::View is not installed - skipping Template::View integration tests 142s ok 23 # skip Template::View is not installed - skipping Template::View integration tests 142s ok 24 # skip Template::View is not installed - skipping Template::View integration tests 142s ok 25 # skip Template::View is not installed - skipping Template::View integration tests 142s ok 26 # skip Template::View is not installed - skipping Template::View integration tests 142s ok 27 # skip Template::View is not installed - skipping Template::View integration tests 142s ok 28 # skip Template::View is not installed - skipping Template::View integration tests 142s ok 29 # skip Template::View is not installed - skipping Template::View integration tests 142s ok 30 # skip Template::View is not installed - skipping Template::View integration tests 142s ok 31 # skip Template::View is not installed - skipping Template::View integration tests 142s ok 32 # skip Template::View is not installed - skipping Template::View integration tests 142s ok 33 # skip Template::View is not installed - skipping Template::View integration tests 142s ok 34 # skip Template::View is not installed - skipping Template::View integration tests 142s ok 35 # skip Template::View is not installed - skipping Template::View integration tests 142s ok 36 # skip Template::View is not installed - skipping Template::View integration tests 142s ok 37 # skip Template::View is not installed - skipping Template::View integration tests 142s ok 38 # skip Template::View is not installed - skipping Template::View integration tests 142s ok 39 # skip Template::View is not installed - skipping Template::View integration tests 142s ok 40 # skip Template::View is not installed - skipping Template::View integration tests 142s ok 41 # skip Template::View is not installed - skipping Template::View integration tests 142s ok 42 # skip Template::View is not installed - skipping Template::View integration tests 142s ok 43 # skip Template::View is not installed - skipping Template::View integration tests 142s ok 44 # skip Template::View is not installed - skipping Template::View integration tests 142s ok 45 # skip Template::View is not installed - skipping Template::View integration tests 142s ok 46 # skip Template::View is not installed - skipping Template::View integration tests 142s ok 47 # skip Template::View is not installed - skipping Template::View integration tests 142s ok 48 # skip Template::View is not installed - skipping Template::View integration tests 142s ok 49 # skip Template::View is not installed - skipping Template::View integration tests 142s ok 50 # skip Template::View is not installed - skipping Template::View integration tests 142s ok 51 # skip Template::View is not installed - skipping Template::View integration tests 142s ok 52 # skip Template::View is not installed - skipping Template::View integration tests 142s ok 53 # skip Template::View is not installed - skipping Template::View integration tests 142s ok 54 # skip Template::View is not installed - skipping Template::View integration tests 142s ok 55 # skip Template::View is not installed - skipping Template::View integration tests 142s ok 56 # skip Template::View is not installed - skipping Template::View integration tests 142s ok 57 # skip Template::View is not installed - skipping Template::View integration tests 142s ok 58 # skip Template::View is not installed - skipping Template::View integration tests 142s ok 59 # skip Template::View is not installed - skipping Template::View integration tests 142s ok 60 # skip Template::View is not installed - skipping Template::View integration tests 142s ok 61 # skip Template::View is not installed - skipping Template::View integration tests 142s ok 62 # skip Template::View is not installed - skipping Template::View integration tests 142s ok 63 # skip Template::View is not installed - skipping Template::View integration tests 142s ok 64 # skip Template::View is not installed - skipping Template::View integration tests 142s ok 65 # skip Template::View is not installed - skipping Template::View integration tests 142s ok 66 # skip Template::View is not installed - skipping Template::View integration tests 142s ok 67 # skip Template::View is not installed - skipping Template::View integration tests 142s ok 68 # skip Template::View is not installed - skipping Template::View integration tests 142s ok 69 # skip Template::View is not installed - skipping Template::View integration tests 142s ok 70 # skip Template::View is not installed - skipping Template::View integration tests 142s ok 71 # skip Template::View is not installed - skipping Template::View integration tests 142s ok 72 # skip Template::View is not installed - skipping Template::View integration tests 142s ok 73 # skip Template::View is not installed - skipping Template::View integration tests 142s ok 74 # skip Template::View is not installed - skipping Template::View integration tests 142s ok 75 # skip Template::View is not installed - skipping Template::View integration tests 142s ok 76 # skip Template::View is not installed - skipping Template::View integration tests 142s ok 77 # skip Template::View is not installed - skipping Template::View integration tests 142s ok 78 # skip Template::View is not installed - skipping Template::View integration tests 142s ok 79 # skip Template::View is not installed - skipping Template::View integration tests 142s ok 80 # skip Template::View is not installed - skipping Template::View integration tests 142s ok 81 # skip Template::View is not installed - skipping Template::View integration tests 142s ok 82 # skip Template::View is not installed - skipping Template::View integration tests 142s ok 83 # skip Template::View is not installed - skipping Template::View integration tests 142s ok 84 # skip Template::View is not installed - skipping Template::View integration tests 142s ok 85 # skip Template::View is not installed - skipping Template::View integration tests 142s ok 86 # skip Template::View is not installed - skipping Template::View integration tests 142s ok 87 # skip Template::View is not installed - skipping Template::View integration tests 142s ok 88 # skip Template::View is not installed - skipping Template::View integration tests 142s ok 89 # skip Template::View is not installed - skipping Template::View integration tests 142s ok 90 # skip Template::View is not installed - skipping Template::View integration tests 142s ok 91 # skip Template::View is not installed - skipping Template::View integration tests 142s ok 92 # skip Template::View is not installed - skipping Template::View integration tests 142s ok 93 # skip Template::View is not installed - skipping Template::View integration tests 142s ok 94 # skip Template::View is not installed - skipping Template::View integration tests 142s ok 95 # skip Template::View is not installed - skipping Template::View integration tests 142s ok 96 # skip Template::View is not installed - skipping Template::View integration tests 142s ok 97 # skip Template::View is not installed - skipping Template::View integration tests 142s ok 98 # skip Template::View is not installed - skipping Template::View integration tests 142s ok 99 # skip Template::View is not installed - skipping Template::View integration tests 142s ok 100 # skip Template::View is not installed - skipping Template::View integration tests 142s ok 101 # skip Template::View is not installed - skipping Template::View integration tests 142s ok 102 # skip Template::View is not installed - skipping Template::View integration tests 142s ok 103 # skip Template::View is not installed - skipping Template::View integration tests 142s ok 104 # skip Template::View is not installed - skipping Template::View integration tests 142s ok 105 # skip Template::View is not installed - skipping Template::View integration tests 142s ok 142s t/20_html_template.t .... 142s 1..250 142s ok 1 - use Template::Alloy; 142s ok 2 - Got a test dir up and running 142s ### VAR ############################################# compile perl (0) 142s ok 3 - Line 94 "Foo" => "Foo" 142s ok 4 - Line 96 "" => "FOO" 142s ok 5 - Line 97 "" => "FOO" 142s ok 6 - Line 98 "" => "FOO" 142s ok 7 - Line 99 "" => "FOO" 142s ok 8 - Line 100 "" => "FOO" 142s ok 9 - Line 101 "" => "FOO" 142s ok 10 - Line 102 "" => "FOO" 142s ok 11 - Line 103 "" => "FOO" 142s ok 12 - Line 104 "" => "FOO" 142s ok 13 - Line 105 "" => "FOO" 142s ok 14 - Line 106 "" => "FOO" 142s ok 15 - Line 107 "" => "FOO" 142s ok 16 - Line 108 "" => "FOO" 142s ok 17 - Line 110 "" => "<>" 142s ok 18 - Line 111 "" => "<>" 142s ok 19 - Line 112 "" => "<>" 142s ok 20 - Line 113 "" => "<>" 142s ok 21 - Line 114 "" => "<>" 142s ok 22 - Line 115 "" => "<>" 142s ok 23 - Line 116 "" => "<>" 142s ok 24 - Line 117 "" => "<>" 142s ok 25 - Line 118 "" => "<>" 142s ok 26 - Line 119 "" => "%3C%3E" 142s ok 27 - Line 120 "" => "<>\n\r \"\'" 142s ok 28 - Line 122 "" => "<>" 142s ok 29 - Line 123 "" => "<>" 142s ok 30 - Line 124 "" => "<>" 142s ok 31 - Line 125 "" => "<>" 142s ok 32 - Line 127 "" => "FOO" 142s ok 33 - Line 128 "" => "FOO" 142s ok 34 - Line 129 "" => "FOO" 142s ok 35 - Line 130 "d" => "bard" 142s ok 36 - Line 131 "d" => "bard" 142s ok 37 - Line 132 "d" => "bard" 142s ok 38 - Line 134 "" => "FOO" 142s ok 39 - Line 135 "" => "FOO" 142s ok 40 - Line 137 "" => "&" 142s ### IF / ELSE / UNLESS ############################## compile perl (0) 142s ok 41 - Line 142 "bar" => "" 142s ok 42 - Line 143 "bar" => "bar" 142s ok 43 - Line 144 "barbing" => "bing" 142s ok 44 - Line 145 "barbing" => "bar" 142s ok 45 - Line 146 "barbing" => "bar" 142s ok 46 - Line 147 "barbing" => "bar" 142s ok 47 - Line 148 "barbing" => "bar" 142s ok 48 - Line 149 "barbing" => "bar" 142s ok 49 - Line 150 "barbing" => "bar" 142s ok 50 - Line 151 "barbing" => "bing" 142s ok 51 - Line 152 "barbing" => "bar" 142s ok 52 - Line 153 " "" 142s ok 53 - Line 154 "barbing" => "bar" 142s ok 54 - Line 155 "barbaz" => "baz" 142s ok 55 - Line 156 "bar" => "bar" 142s ok 56 - Line 157 "bar" => "" 142s ok 57 - Line 158 "barbaz" => "barbaz" 142s ok 58 - Line 159 "barbing" => "bing" 142s ok 59 - Line 160 "barbing" => "bar" 142s ok 60 - Line 162 "barbaz" => "" 142s ok 61 - Line 163 "barbaz" => "" 142s ### INCLUDE ######################################### compile perl (0) 142s ok 62 - Line 168 "bar" => "" 142s ok 63 - Line 169 "" => "Good Day!" 142s ok 64 - Line 170 "" => "Good Day!" 142s ok 65 - Line 171 "" => "Good Day!" 142s ok 66 - Line 172 "" => "Good Day!" 142s ok 67 - Line 173 "" => "Good Day!" 142s ok 68 - Line 174 "" => "Good Day!" 142s ok 69 - Line 175 "" => "" 142s ok 70 - Line 177 "" => "" 142s ok 71 - Line 178 "" => "" 142s ok 72 - Line 180 "" => "Good Day!" 142s ok 73 - Line 181 "" => "Good Day!" 142s ok 74 - Line 182 "" => "Good Day!" 142s ok 75 - Line 184 "" => "()" 142s ok 76 - Line 185 "" => "(hi)" 142s ### EXPR ############################################ compile perl (0) 142s ok 77 - Line 190 "" => "777" 142s ok 78 - Line 191 "" => "777" 142s ok 79 - Line 192 "" => "777" 142s ok 80 - Line 193 "" => "777" 142s ok 81 - Line 194 "" => "777" 142s ok 82 - Line 195 "" => "<>" 142s ok 83 - Line 196 "" => "" 142s ok 84 - Line 197 "" => "" 142s ok 85 - Line 199 "" => "FOO" 142s ok 86 - Line 201 "" => "&" 142s ok 87 - Line 202 "" => "&" 142s ### LOOP ############################################ compile perl (0) 142s ok 88 - Line 207 "foo" => "foo" 142s ok 89 - Line 208 "Hifoo" => "foo" 142s ok 90 - Line 209 "Hifoo" => "Hifoo" 142s ok 91 - Line 210 "Hifoo" => "HiHifoo" 142s ok 92 - Line 211 "()foo" => "(1)(2)(3)foo" 142s ok 93 - Line 212 "()foo" => "(1)(2)(3)foo" 142s ok 94 - Line 213 "()foo" => "(1)(2)(3)foo" 142s ok 95 - Line 215 "()()foo" => "(1)(B)(2)(B)(3)(B)foo" 142s ok 96 - Line 217 "()()foo" => "(1)()(2)()(3)()foo" 142s ok 97 - Line 218 "()()foo" => "(1)(B)(2)(B)(3)(B)foo" 142s ok 98 - Line 220 "()foo" => "(1)()(3)foo" 142s ok 99 - Line 222 " 142s # (||||)foo" => " 142s # (||||) 142s # (||||) 142s # (||||)foo" 142s ok 100 - Line 232 " 142s # (||||)foo" => " 142s # (1|0|1|0|1) 142s # (0|0|0|1|2) 142s # (0|1|1|0|3)foo" 142s ### TT3 DIRECTIVES ################################## compile perl (0) 142s ok 101 - Line 241 "" => "FOO" 142s ok 102 - Line 242 "" => "" 142s ok 103 - Line 243 "" => "" 142s ok 104 - Line 244 "" => "10" 142s ok 105 - Line 246 "barweebing" => "bar" 142s ok 106 - Line 248 "()" => "(foo)" 142s ok 107 - Line 249 "()" => "(foo)" 142s ok 108 - Line 250 "()" => "(1)(2)(3)" 142s ok 109 - Line 252 "()" => "(bar)" 142s ok 110 - Line 253 "()" => "(bar)" 142s ok 111 - Line 255 "" => "bar" 142s ok 112 - Line 257 "You said " => "You said hello" 142s ok 113 - Line 259 "" => "&" 142s ok 114 - Line 260 "" => "&" 142s ### TT3 CHOMPING #################################### compile perl (0) 142s ok 115 - Line 265 " 142s # " => " 142s # FOO" 142s ok 116 - Line 266 " 142s # " => "FOO" 142s ok 117 - Line 267 " 142s # <-TMPL_GET foo>" => "FOO" 142s ### TT3 INTERPOLATE ################################# compile perl (0) 142s ok 118 - Line 272 "$foo ${ 1 + 2 }" => "$foo FOO ${ 1 + 2 }" 142s ok 119 - Line 273 "$foo ${ 1 + 2 }" => "FOO FOO 3" 142s ok 120 - Line 274 " 1>$foo ${ 1 + 2 }" => "FOO FOO 3" 142s ok 121 - Line 276 "Foo $a Bar $!a Baz" => "Foo 7 Bar 7 Baz" 142s ok 122 - Line 277 "Foo $a Bar $!{a} Baz" => "Foo 7 Bar 7 Baz" 142s ok 123 - Line 278 "Foo $a Bar $!a Baz" => "Foo 7 Bar 7 Baz" 142s ok 124 - Line 279 "Foo $a Bar $!{a} Baz" => "Foo 7 Bar 7 Baz" 142s ok 125 - Line 280 "Foo $a Bar $!a Baz" => "Foo $a Bar Baz" 142s ok 126 - Line 281 "Foo ${a} Bar $!{a} Baz" => "Foo ${a} Bar Baz" 142s ### DONE ############################################ compile perl (0) 142s ### VAR ############################################# compile perl (1) 142s ok 127 - Line 94 "Foo" => "Foo" 142s ok 128 - Line 96 "" => "FOO" 142s ok 129 - Line 97 "" => "FOO" 142s ok 130 - Line 98 "" => "FOO" 142s ok 131 - Line 99 "" => "FOO" 142s ok 132 - Line 100 "" => "FOO" 142s ok 133 - Line 101 "" => "FOO" 142s ok 134 - Line 102 "" => "FOO" 142s ok 135 - Line 103 "" => "FOO" 142s ok 136 - Line 104 "" => "FOO" 142s ok 137 - Line 105 "" => "FOO" 142s ok 138 - Line 106 "" => "FOO" 142s ok 139 - Line 107 "" => "FOO" 142s ok 140 - Line 108 "" => "FOO" 142s ok 141 - Line 110 "" => "<>" 142s ok 142 - Line 111 "" => "<>" 142s ok 143 - Line 112 "" => "<>" 142s ok 144 - Line 113 "" => "<>" 142s ok 145 - Line 114 "" => "<>" 142s ok 146 - Line 115 "" => "<>" 142s ok 147 - Line 116 "" => "<>" 142s ok 148 - Line 117 "" => "<>" 142s ok 149 - Line 118 "" => "<>" 142s ok 150 - Line 119 "" => "%3C%3E" 142s ok 151 - Line 120 "" => "<>\n\r \"\'" 142s ok 152 - Line 122 "" => "<>" 142s ok 153 - Line 123 "" => "<>" 142s ok 154 - Line 124 "" => "<>" 142s ok 155 - Line 125 "" => "<>" 142s ok 156 - Line 127 "" => "FOO" 142s ok 157 - Line 128 "" => "FOO" 142s ok 158 - Line 129 "" => "FOO" 142s ok 159 - Line 130 "d" => "bard" 142s ok 160 - Line 131 "d" => "bard" 142s ok 161 - Line 132 "d" => "bard" 142s ok 162 - Line 134 "" => "FOO" 142s ok 163 - Line 135 "" => "FOO" 142s ok 164 - Line 137 "" => "&" 142s ### IF / ELSE / UNLESS ############################## compile perl (1) 142s ok 165 - Line 142 "bar" => "" 142s ok 166 - Line 143 "bar" => "bar" 142s ok 167 - Line 144 "barbing" => "bing" 142s ok 168 - Line 145 "barbing" => "bar" 142s ok 169 - Line 146 "barbing" => "bar" 142s ok 170 - Line 147 "barbing" => "bar" 142s ok 171 - Line 148 "barbing" => "bar" 142s ok 172 - Line 149 "barbing" => "bar" 142s ok 173 - Line 150 "barbing" => "bar" 142s ok 174 - Line 151 "barbing" => "bing" 142s ok 175 - Line 152 "barbing" => "bar" 142s ok 176 - Line 153 " "" 142s ok 177 - Line 154 "barbing" => "bar" 142s ok 178 - Line 155 "barbaz" => "baz" 142s ok 179 - Line 156 "bar" => "bar" 142s ok 180 - Line 157 "bar" => "" 142s ok 181 - Line 158 "barbaz" => "barbaz" 142s ok 182 - Line 159 "barbing" => "bing" 142s ok 183 - Line 160 "barbing" => "bar" 142s ok 184 - Line 162 "barbaz" => "" 142s ok 185 - Line 163 "barbaz" => "" 142s ### INCLUDE ######################################### compile perl (1) 142s ok 186 - Line 168 "bar" => "" 142s ok 187 - Line 169 "" => "Good Day!" 142s ok 188 - Line 170 "" => "Good Day!" 142s ok 189 - Line 171 "" => "Good Day!" 142s ok 190 - Line 172 "" => "Good Day!" 142s ok 191 - Line 173 "" => "Good Day!" 142s ok 192 - Line 174 "" => "Good Day!" 142s ok 193 - Line 175 "" => "" 142s ok 194 - Line 177 "" => "" 142s ok 195 - Line 178 "" => "" 142s ok 196 - Line 180 "" => "Good Day!" 142s ok 197 - Line 181 "" => "Good Day!" 142s ok 198 - Line 182 "" => "Good Day!" 142s ok 199 - Line 184 "" => "()" 142s ok 200 - Line 185 "" => "(hi)" 142s ### EXPR ############################################ compile perl (1) 142s ok 201 - Line 190 "" => "777" 142s ok 202 - Line 191 "" => "777" 142s ok 203 - Line 192 "" => "777" 142s ok 204 - Line 193 "" => "777" 142s ok 205 - Line 194 "" => "777" 142s ok 206 - Line 195 "" => "<>" 142s ok 207 - Line 196 "" => "" 142s ok 208 - Line 197 "" => "" 142s ok 209 - Line 199 "" => "FOO" 142s ok 210 - Line 201 "" => "&" 142s ok 211 - Line 202 "" => "&" 142s ### LOOP ############################################ compile perl (1) 142s ok 212 - Line 207 "foo" => "foo" 142s ok 213 - Line 208 "Hifoo" => "foo" 142s ok 214 - Line 209 "Hifoo" => "Hifoo" 142s ok 215 - Line 210 "Hifoo" => "HiHifoo" 142s ok 216 - Line 211 "()foo" => "(1)(2)(3)foo" 142s ok 217 - Line 212 "()foo" => "(1)(2)(3)foo" 142s ok 218 - Line 213 "()foo" => "(1)(2)(3)foo" 142s ok 219 - Line 215 "()()foo" => "(1)(B)(2)(B)(3)(B)foo" 142s ok 220 - Line 217 "()()foo" => "(1)()(2)()(3)()foo" 142s ok 221 - Line 218 "()()foo" => "(1)(B)(2)(B)(3)(B)foo" 142s ok 222 - Line 220 "()foo" => "(1)()(3)foo" 142s ok 223 - Line 222 " 142s # (||||)foo" => " 142s # (||||) 142s # (||||) 142s # (||||)foo" 142s ok 224 - Line 232 " 142s # (||||)foo" => " 142s # (1|0|1|0|1) 142s # (0|0|0|1|2) 142s # (0|1|1|0|3)foo" 142s ### TT3 DIRECTIVES ################################## compile perl (1) 142s ok 225 - Line 241 "" => "FOO" 142s ok 226 - Line 242 "" => "" 142s ok 227 - Line 243 "" => "" 142s ok 228 - Line 244 "" => "10" 142s ok 229 - Line 246 "barweebing" => "bar" 142s ok 230 - Line 248 "()" => "(foo)" 142s ok 231 - Line 249 "()" => "(foo)" 142s ok 232 - Line 250 "()" => "(1)(2)(3)" 142s ok 233 - Line 252 "()" => "(bar)" 142s ok 234 - Line 253 "()" => "(bar)" 142s ok 235 - Line 255 "" => "bar" 142s ok 236 - Line 257 "You said " => "You said hello" 142s ok 237 - Line 259 "" => "&" 142s ok 238 - Line 260 "" => "&" 142s ### TT3 CHOMPING #################################### compile perl (1) 142s ok 239 - Line 265 " 142s # " => " 142s # FOO" 142s ok 240 - Line 266 " 142s # " => "FOO" 142s ok 241 - Line 267 " 142s # <-TMPL_GET foo>" => "FOO" 142s ### TT3 INTERPOLATE ################################# compile perl (1) 142s ok 242 - Line 272 "$foo ${ 1 + 2 }" => "$foo FOO ${ 1 + 2 }" 142s ok 243 - Line 273 "$foo ${ 1 + 2 }" => "FOO FOO 3" 142s ok 244 - Line 274 " 1>$foo ${ 1 + 2 }" => "FOO FOO 3" 142s ok 245 - Line 276 "Foo $a Bar $!a Baz" => "Foo 7 Bar 7 Baz" 142s ok 246 - Line 277 "Foo $a Bar $!{a} Baz" => "Foo 7 Bar 7 Baz" 142s ok 247 - Line 278 "Foo $a Bar $!a Baz" => "Foo 7 Bar 7 Baz" 142s ok 248 - Line 279 "Foo $a Bar $!{a} Baz" => "Foo 7 Bar 7 Baz" 142s ok 249 - Line 280 "Foo $a Bar $!a Baz" => "Foo $a Bar Baz" 142s ok 250 - Line 281 "Foo ${a} Bar $!{a} Baz" => "Foo ${a} Bar Baz" 142s ### DONE ############################################ compile perl (1) 142s ok 142s t/25_text_tmp.t ......... 142s 1..100 142s ok 1 - use Template::Alloy; 142s ok 2 - Got a test dir up and running 142s ### ECHO ############################################ compile perl (0) 142s ok 3 - Line 99 "Foo" => "Foo" 142s ok 4 - Line 101 "\#[echo $foo]\#bar" => "bar" 142s ok 5 - Line 102 "\#[echo $foo]\#" => "FOO" 142s ok 6 - Line 103 "\#[echo $foo $foo]\#" => "FOOFOO" 142s ok 7 - Line 104 "\#[echo $foo "bar" $foo]\#" => "FOObarFOO" 142s ok 8 - Line 105 "\#[echo "hi"]\#" => "hi" 142s ok 9 - Line 106 "\#[echo 'hi']\#" => "hi" 142s ok 10 - Line 107 "\#[echo foo]\#" => "FOO" 142s ### COMMENT ######################################### compile perl (0) 142s ok 11 - Line 112 "\#[comment]\# Hi there \#[endcomment]\#bar" => "bar" 142s ok 12 - Line 113 "\#[comment]\# Hi there \#[end]\#bar" => "bar" 142s ### IF / ELSIF / ELSE / IFN ######################### compile perl (0) 142s ok 13 - Line 118 "\#[if $foo]\#bar\#[endif]\#bar" => "bar" 142s ok 14 - Line 119 "\#[if "1"]\#bar\#[endif]\#" => "bar" 142s ok 15 - Line 120 "\#[if $foo]\#bar\#[endif]\#" => "" 142s ok 16 - Line 121 "\#[if $foo]\#bar\#[endif]\#" => "bar" 142s ok 17 - Line 122 "\#[ifn $foo]\#bar\#[endifn]\#" => "bar" 142s ok 18 - Line 123 "\#[ifn $foo]\#bar\#[endifn]\#" => "" 142s ok 19 - Line 124 "\#[if foo]\#bar\#[endif]\#" => "" 142s ok 20 - Line 125 "\#[if foo]\#bar\#[endif]\#" => "bar" 142s ok 21 - Line 126 "\#[if $foo]\#bar\#[else]\#bing\#[endif]\#" => "bing" 142s ok 22 - Line 127 "\#[if $foo]\#bar\#[else]\#bing\#[endif]\#" => "bar" 142s ok 23 - Line 128 "\#[if $foo]\#bar\#[elsif wow]\#wee\#[else]\#bing\#[endif]\#" => "bar" 142s ok 24 - Line 129 "\#[if $foo]\#bar\#[elsif wow]\#wee\#[else]\#bing\#[endif]\#" => "wee" 142s ok 25 - Line 130 "\#[if $foo]\#bar\#[elsif wow]\#wee\#[else]\#bing\#[endif]\#" => "bing" 142s ### INCLUDE ######################################### compile perl (0) 142s ok 26 - Line 136 "\#[include "foo.tmpl"]\#" => "Good Day!" 142s ok 27 - Line 137 "\#[include "t/25_text_tmp.t.test_dir/foo.tmpl"]\#" => "Good Day!" 142s ok 28 - Line 139 "\#[include "bar.tmpl"]\#" => "()" 142s ok 29 - Line 140 "\#[include "bar.tmpl"]\#" => "(hi)" 142s ### LOOP ############################################ compile perl (0) 142s ok 30 - Line 145 "\#[loop "loop1"]\#Hi\#[endloop]\#foo" => "foo" 142s ok 31 - Line 146 "\#[loop "loop1"]\#Hi\#[endloop]\#foo" => "Hifoo" 142s ok 32 - Line 147 "\#[loop "loop1"]\#\#[echo $bar]\#\#[endloop]\#foo" => "bingfoo" 142s ok 33 - Line 148 "\#[loop "loop1"]\#\#[echo $bar]\#\#[endloop]\#foo" => "bingfoo" 142s ok 34 - Line 149 "\#[loop "loop1"]\#\#[echo $bar]\#\#[endloop]\#foo" => "bingbangfoo" 142s ok 35 - Line 150 "\#[loop "loop1"]\#\#[echo $boop]\#\#[endloop]\#foo" => "bopfoo" 142s ### TT3 DIRECTIVES ################################## compile perl (0) 142s ok 36 - Line 155 "\#[GET foo]\#" => "FOO" 142s ok 37 - Line 156 "\#[GET 1+2+3+4]\#" => "10" 142s ok 38 - Line 158 "\#[IF foo]\#bar\#[ELSIF wow]\#wee\#[ELSE]\#bing\#[ENDIF]\#" => "bar" 142s ok 39 - Line 160 "\#[SET i = "foo"]\#(\#[VAR i]\#)" => "(foo)" 142s ok 40 - Line 161 "\#[SET i = "foo"]\#(\#[GET i]\#)" => "(foo)" 142s ok 41 - Line 162 "\#[FOR i IN [1..3]]\#(\#[VAR i]\#)\#[END]\#" => "(1)(2)(3)" 142s ok 42 - Line 164 "\#[BLOCK foo]\#(\#[VAR i]\#)\#[END]\#\#[PROCESS foo i="bar"]\#" => "(bar)" 142s ok 43 - Line 165 "\#[BLOCK foo]\#(\#[VAR i]\#)\#[END]\#\#[SET wow = PROCESS foo i="bar"]\#\#[VAR wow]\#" => "(bar)" 142s ok 44 - Line 167 "\#[GET template.foo]\#\#[META foo = "bar"]\#" => "bar" 142s ok 45 - Line 169 "\#[MACRO bar(n) BLOCK]\#You said \#[VAR n]\#\#[END]\#\#[GET bar("hello")]\#" => "You said hello" 142s ### TT3 CHOMPING #################################### compile perl (0) 142s ok 46 - Line 174 " 142s # #[GET foo]#" => " 142s # FOO" 142s ok 47 - Line 175 "\#[GET foo-]\# 142s # " => "FOO" 142s ok 48 - Line 176 " 142s # #[-GET foo]#" => "FOO" 142s ### TT3 INTERPOLATE ################################# compile perl (0) 142s ok 49 - Line 181 "$foo \#[GET foo]\# ${ 1 + 2 }" => "$foo FOO ${ 1 + 2 }" 142s ok 50 - Line 182 "$foo \#[GET foo]\# ${ 1 + 2 }" => "FOO FOO 3" 142s ok 51 - Line 183 "\#[CONFIG INTERPOLATE => 1]\#$foo \#[GET foo]\# ${ 1 + 2 }" => "FOO FOO 3" 142s ### DONE ############################################ compile perl (0) 142s ### ECHO ############################################ compile perl (1) 142s ok 52 - Line 99 "Foo" => "Foo" 142s ok 53 - Line 101 "\#[echo $foo]\#bar" => "bar" 142s ok 54 - Line 102 "\#[echo $foo]\#" => "FOO" 142s ok 55 - Line 103 "\#[echo $foo $foo]\#" => "FOOFOO" 142s ok 56 - Line 104 "\#[echo $foo "bar" $foo]\#" => "FOObarFOO" 142s ok 57 - Line 105 "\#[echo "hi"]\#" => "hi" 142s ok 58 - Line 106 "\#[echo 'hi']\#" => "hi" 142s ok 59 - Line 107 "\#[echo foo]\#" => "FOO" 142s ### COMMENT ######################################### compile perl (1) 142s ok 60 - Line 112 "\#[comment]\# Hi there \#[endcomment]\#bar" => "bar" 142s ok 61 - Line 113 "\#[comment]\# Hi there \#[end]\#bar" => "bar" 142s ### IF / ELSIF / ELSE / IFN ######################### compile perl (1) 142s ok 62 - Line 118 "\#[if $foo]\#bar\#[endif]\#bar" => "bar" 142s ok 63 - Line 119 "\#[if "1"]\#bar\#[endif]\#" => "bar" 142s ok 64 - Line 120 "\#[if $foo]\#bar\#[endif]\#" => "" 142s ok 65 - Line 121 "\#[if $foo]\#bar\#[endif]\#" => "bar" 142s ok 66 - Line 122 "\#[ifn $foo]\#bar\#[endifn]\#" => "bar" 142s ok 67 - Line 123 "\#[ifn $foo]\#bar\#[endifn]\#" => "" 142s ok 68 - Line 124 "\#[if foo]\#bar\#[endif]\#" => "" 142s ok 69 - Line 125 "\#[if foo]\#bar\#[endif]\#" => "bar" 142s ok 70 - Line 126 "\#[if $foo]\#bar\#[else]\#bing\#[endif]\#" => "bing" 142s ok 71 - Line 127 "\#[if $foo]\#bar\#[else]\#bing\#[endif]\#" => "bar" 142s ok 72 - Line 128 "\#[if $foo]\#bar\#[elsif wow]\#wee\#[else]\#bing\#[endif]\#" => "bar" 142s ok 73 - Line 129 "\#[if $foo]\#bar\#[elsif wow]\#wee\#[else]\#bing\#[endif]\#" => "wee" 142s ok 74 - Line 130 "\#[if $foo]\#bar\#[elsif wow]\#wee\#[else]\#bing\#[endif]\#" => "bing" 142s ### INCLUDE ######################################### compile perl (1) 142s ok 75 - Line 136 "\#[include "foo.tmpl"]\#" => "Good Day!" 142s ok 76 - Line 137 "\#[include "t/25_text_tmp.t.test_dir/foo.tmpl"]\#" => "Good Day!" 142s ok 77 - Line 139 "\#[include "bar.tmpl"]\#" => "()" 142s ok 78 - Line 140 "\#[include "bar.tmpl"]\#" => "(hi)" 142s ### LOOP ############################################ compile perl (1) 142s ok 79 - Line 145 "\#[loop "loop1"]\#Hi\#[endloop]\#foo" => "foo" 142s ok 80 - Line 146 "\#[loop "loop1"]\#Hi\#[endloop]\#foo" => "Hifoo" 142s ok 81 - Line 147 "\#[loop "loop1"]\#\#[echo $bar]\#\#[endloop]\#foo" => "bingfoo" 142s ok 82 - Line 148 "\#[loop "loop1"]\#\#[echo $bar]\#\#[endloop]\#foo" => "bingfoo" 142s ok 83 - Line 149 "\#[loop "loop1"]\#\#[echo $bar]\#\#[endloop]\#foo" => "bingbangfoo" 142s ok 84 - Line 150 "\#[loop "loop1"]\#\#[echo $boop]\#\#[endloop]\#foo" => "bopfoo" 142s ### TT3 DIRECTIVES ################################## compile perl (1) 142s ok 85 - Line 155 "\#[GET foo]\#" => "FOO" 142s ok 86 - Line 156 "\#[GET 1+2+3+4]\#" => "10" 142s ok 87 - Line 158 "\#[IF foo]\#bar\#[ELSIF wow]\#wee\#[ELSE]\#bing\#[ENDIF]\#" => "bar" 142s ok 88 - Line 160 "\#[SET i = "foo"]\#(\#[VAR i]\#)" => "(foo)" 142s ok 89 - Line 161 "\#[SET i = "foo"]\#(\#[GET i]\#)" => "(foo)" 142s ok 90 - Line 162 "\#[FOR i IN [1..3]]\#(\#[VAR i]\#)\#[END]\#" => "(1)(2)(3)" 142s ok 91 - Line 164 "\#[BLOCK foo]\#(\#[VAR i]\#)\#[END]\#\#[PROCESS foo i="bar"]\#" => "(bar)" 142s ok 92 - Line 165 "\#[BLOCK foo]\#(\#[VAR i]\#)\#[END]\#\#[SET wow = PROCESS foo i="bar"]\#\#[VAR wow]\#" => "(bar)" 142s ok 93 - Line 167 "\#[GET template.foo]\#\#[META foo = "bar"]\#" => "bar" 142s ok 94 - Line 169 "\#[MACRO bar(n) BLOCK]\#You said \#[VAR n]\#\#[END]\#\#[GET bar("hello")]\#" => "You said hello" 142s ### TT3 CHOMPING #################################### compile perl (1) 142s ok 95 - Line 174 " 142s # #[GET foo]#" => " 142s # FOO" 142s ok 96 - Line 175 "\#[GET foo-]\# 142s # " => "FOO" 142s ok 97 - Line 176 " 142s # #[-GET foo]#" => "FOO" 142s ### TT3 INTERPOLATE ################################# compile perl (1) 142s ok 98 - Line 181 "$foo \#[GET foo]\# ${ 1 + 2 }" => "$foo FOO ${ 1 + 2 }" 142s ok 99 - Line 182 "$foo \#[GET foo]\# ${ 1 + 2 }" => "FOO FOO 3" 142s ok 100 - Line 183 "\#[CONFIG INTERPOLATE => 1]\#$foo \#[GET foo]\# ${ 1 + 2 }" => "FOO FOO 3" 142s ### DONE ############################################ compile perl (1) 142s ok 143s t/30_velocity.t ......... 143s 1..202 143s ok 1 - use Template::Alloy; 143s ok 2 - Got a test dir up and running 143s ### VARIABLES ####################################### compile perl (0) 143s ok 3 - Line 78 "Foo" => "Foo" 143s ok 4 - Line 79 "$mud_Slinger_9" => "bar" 143s ok 5 - Line 80 "$!mud_Slinger_9" => "bar" 143s ok 6 - Line 81 "${mud_Slinger_9}" => "bar" 143s ok 7 - Line 82 "$!{mud_Slinger_9}" => "bar" 143s ok 8 - Line 83 "$mud_Slinger_9<<" => "$mud_Slinger_9<<" 143s ok 9 - Line 84 "$!mud_Slinger_9<<" => "<<" 143s ok 10 - Line 85 "${mud_Slinger_9}<<" => "${mud_Slinger_9}<<" 143s ok 11 - Line 86 "$!{mud_Slinger_9}<<" => "<<" 143s ### SET ############################################# compile perl (0) 143s ok 12 - Line 91 "\#set($foo = "bar")$foo" => "bar" 143s ok 13 - Line 93 "\#set($monkey = $bill)$monkey" => "Bill" 143s ok 14 - Line 94 "\#set($monkey.Friend = 'monica')$monkey.Friend" => "monica" 143s ok 15 - Line 95 "\#set($monkey.Blame = $whitehouse.Leak)$monkey.Blame" => "from_velocity_ref_guide" 143s ok 16 - Line 96 "\#set($monkey.Plan = $spindoctor.weave($web))$monkey.Plan" => "(spider)" 143s ok 17 - Line 97 "\#set($monkey.Number = 123)$monkey.Number" => "123" 143s ok 18 - Line 98 "\#set($monkey.Numbers = [1..3])$monkey.Numbers.2" => "3" 143s ok 19 - Line 99 "\#set($monkey.Map = {"banana" : "good"})$monkey.Map.banana" => "good" 143s ok 20 - Line 101 "\#set($value = $foo + 1)$value" => "9" 143s ok 21 - Line 102 "\#set($value = $bar - 1)$value" => "3" 143s ok 22 - Line 103 "\#set($value = $foo * $bar)$value" => "32" 143s ok 23 - Line 104 "\#set($value = $foo / $bar)$value" => "2" 143s ok 24 - Line 105 "\#set($value = $foo % $bar)$value" => "0" 143s ok 25 - Line 107 "\#set($!value = $foo + 1)$value" => "" 143s ### QUOTED STRINGS ################################## compile perl (0) 143s ok 26 - Line 112 "\#set($value = "($foo)")$value" => "(bar)" 143s ok 27 - Line 113 "\#set($value = "(\#get($foo))")$value" => "(bar)" 143s ok 28 - Line 114 "\#set($value = "($foo)")$value" => "(bar)" 143s ok 29 - Line 115 "\#set($value = "(\#get($foo))")$value" => "(\#get(bar))" 143s ok 30 - Line 116 "\#set($value = '($foo)')$value" => "($foo)" 143s ok 31 - Line 117 "\#set($value = '(\#get($foo))')$value" => "(\#get($foo))" 143s ok 32 - Line 119 "\#set($value = "($foo)")$value" => "($foo)" 143s ok 33 - Line 120 "\#set($value = "(\#get($foo))")$value" => "()" 143s ok 34 - Line 121 "\#set($value = "($foo)")$value" => "($foo)" 143s ok 35 - Line 122 "\#set($value = "(\#get($foo))")$value" => "(\#get($foo))" 143s ok 36 - Line 124 "\#set($value = "($!foo)")$value" => "()" 143s ok 37 - Line 125 "\#set($value = "(\#get($!foo))")$value" => "" 143s ok 38 - Line 126 "\#set($value = "($!foo)")$value" => "()" 143s ok 39 - Line 127 "\#set($value = "(\#get($!foo))")$value" => "(\#get())" 143s ### COMMENTS ######################################## compile perl (0) 143s ok 40 - Line 132 "Foo\#\#interesting 143s # Bar" => "FooBar" 143s ok 41 - Line 133 "Foo\#\#interesting 143s # 143s # Bar" => "Foo 143s # Bar" 143s ok 42 - Line 134 "Foo\#\#interesting" => "Foo" 143s ok 43 - Line 135 "Foo\#*interesting 143s # " => "" 143s ok 44 - Line 136 "Foo\#*interesting 143s # 143s # 143s # *#" => "Foo" 143s ok 45 - Line 137 "Foo\#*interesting 143s # 143s # 143s # *#Bar" => "FooBar" 143s ### ESCAPING ######################################## compile perl (0) 143s ok 46 - Line 142 "$email" => "foo" 143s ok 47 - Line 143 "\$email" => "$email" 143s ok 48 - Line 144 "\\$email" => "\foo" 143s ok 49 - Line 145 "\\\$email" => "\$email" 143s ok 50 - Line 147 "$email" => "$email" 143s ok 51 - Line 148 "\$email" => "$email" 143s ok 52 - Line 149 "\\$email" => "\$email" 143s ok 53 - Line 150 "\\\$email" => "\$email" 143s ### IF / ELSEIF / ELSE ############################## compile perl (0) 143s ok 54 - Line 155 "\#if($foo)bar\#{end}bar" => "bar" 143s ok 55 - Line 156 "\#if("1")bar\#end" => "bar" 143s ok 56 - Line 157 "\#if($foo)bar\#end" => "" 143s ok 57 - Line 158 "\#if($foo)bar\#end" => "bar" 143s ok 58 - Line 159 "\#if($foo)bar\#{else}baz\#end" => "bar" 143s ok 59 - Line 160 "\#if($foo)bar\#{else}baz\#end" => "baz" 143s ok 60 - Line 161 "\#if($foo)bar\#elseif($bing)bang\#{else}baz\#end" => "baz" 143s ok 61 - Line 162 "\#if($foo)bar\#elseif($bing)bang\#{else}baz\#end" => "bang" 143s ### FOREACH ######################################## compile perl (0) 143s ok 62 - Line 167 "\#foreach( foo )bar\#{end}" => "bar" 143s ok 63 - Line 168 "\#foreach( f IN foo )bar$f\#{end}" => "bar1bar2" 143s ok 64 - Line 169 "\#foreach( f = foo )bar$f\#{end}" => "bar1bar2" 143s ok 65 - Line 170 "\#foreach( f = [1,2] )bar$f\#{end}" => "bar1bar2" 143s ok 66 - Line 171 "\#foreach( f = [1..3] )bar$f\#{end}" => "bar1bar2bar3" 143s ok 67 - Line 172 "\#foreach( f = [{a=>'A'},{a=>'B'}] )bar$f.a\#{end}" => "barAbarB" 143s ok 68 - Line 173 "\#foreach( [{a=>'A'},{a=>'B'}] )bar$a\#{end}" => "barAbarB" 143s ok 69 - Line 174 "\#foreach( [{a=>'A'},{a=>'B'}] )bar$a\#{end}$!a" => "barAbarB" 143s ok 70 - Line 175 "\#foreach( f = [1..3] )$loop.count/$loop.size \#{end}" => "1/3 2/3 3/3 " 143s ### INCLUDE ######################################### compile perl (0) 143s ok 71 - Line 181 "\#include("foo.vel")" => "Good Day!" 143s ok 72 - Line 182 "\#parse($foo)" => "Good Day!" 143s ok 73 - Line 183 "\#include("bar.vel")" => "($bar)" 143s ok 74 - Line 184 "\#include("bar.vel")" => "($bar)" 143s ### PARSE ############################################ compile perl (0) 143s ok 75 - Line 189 "\#parse("foo.vel")" => "Good Day!" 143s ok 76 - Line 190 "\#parse($foo)" => "Good Day!" 143s ok 77 - Line 191 "\#parse("bar.vel")" => "($bar)" 143s ok 78 - Line 192 "\#parse("bar.vel")" => "(foo)" 143s ### STOP ############################################ compile perl (0) 143s ok 79 - Line 197 "\#stop" => "" 143s ok 80 - Line 198 "One\#{stop}Two" => "One" 143s ok 81 - Line 199 "\#block('foo')One\#{stop}Two\#{end}First\#process('foo')Last" => "FirstOne" 143s ok 82 - Line 200 "\#foreach( $f = [1..3] )$f\#if(loop.first)\#end$f\#end" => "112233" 143s ok 83 - Line 201 "\#foreach( $f = [1..3] )$f\#if(loop.first)\#stop\#end\#end" => "1" 143s ok 84 - Line 202 "\#foreach( $f = [1..3] )\#if(loop.first)\#stop\#end$f\#end" => "" 143s ### EVALUATE ######################################## compile perl (0) 143s ok 85 - Line 207 "\#set($f = '>\#try\#evaluate($f)\#{catch}caught\#end')\#evaluate($f)" => ">>>>>caught" 143s ok 86 - Line 208 "\#set($f = '>\#try\#eval($f)\#{catch}foo\#end')\#eval($f)\#EVALUATE($f)" => ">>foo>>foo" 143s ### MACRO ########################################### compile perl (0) 143s ok 87 - Line 213 "\#macro(foo PROCESS bar )\#block(bar)Hi\#end$foo" => "Hi" 143s ok 88 - Line 214 "\#macro(foo BLOCK)Hi\#end$foo" => "Hi" 143s ok 89 - Line 215 "\#macro(foo $n BLOCK)Hi$n\#end$foo" => "Hi$n" 143s ok 90 - Line 216 "\#macro(foo $n BLOCK)Hi$n\#end$foo(2)" => "Hi2" 143s ok 91 - Line 217 "\#macro(foo(n) BLOCK)Hi$n\#end$foo" => "Hi$n" 143s ok 92 - Line 218 "\#macro(foo(n) BLOCK)Hi$n\#end$foo(2)" => "Hi2" 143s ok 93 - Line 219 "\#macro(foo $n)Hi$n\#end$foo" => "Hi$n" 143s ok 94 - Line 220 "\#macro(foo $n)Hi$n\#end$foo(2)" => "Hi2" 143s ok 95 - Line 221 "\#macro(foo $n)Hi$n\#end\#foo(2)" => "Hi2" 143s ok 96 - Line 222 "\#macro(foo $n $m)Hi($n)($m)\#end\#foo(2 3)" => "Hi(2)(3)" 143s ok 97 - Line 224 "\#macro( inner $foo ) 143s # inner : $foo 143s # #end 143s # 143s # #macro( outer $foo ) 143s # #set($bar = "outerlala") 143s # outer : $foo 143s # #end 143s # 143s # #set($bar = "calltimelala") 143s # #outer( "#inner($bar)" )" => " outer : inner : calltimelala" 143s ok 98 - Line 236 "\#macro( inner $foo ) 143s # inner : $foo 143s # #end 143s # 143s # #macro( outer $foo ) 143s # #set($bar = "outerlala") 143s # outer : $foo|eval 143s # #end 143s # 143s # #set($bar = "calltimelala") 143s # #outer( "#inner('$bar')" )" => " outer : inner : outerlala" 143s ### TT3 CHOMPING #################################### compile perl (0) 143s ok 99 - Line 251 " 143s # #get( $foo )" => " 143s # FOO" 143s ok 100 - Line 252 "\#get( $foo -) 143s # " => "FOO" 143s ok 101 - Line 253 " 143s # #get(- $foo)" => "FOO" 143s ok 102 - Line 254 " 143s # #get( -$foo)" => " 143s # -7" 143s ### DONE ############################################ compile perl (0) 143s ### VARIABLES ####################################### compile perl (1) 143s ok 103 - Line 78 "Foo" => "Foo" 143s ok 104 - Line 79 "$mud_Slinger_9" => "bar" 143s ok 105 - Line 80 "$!mud_Slinger_9" => "bar" 143s ok 106 - Line 81 "${mud_Slinger_9}" => "bar" 143s ok 107 - Line 82 "$!{mud_Slinger_9}" => "bar" 143s ok 108 - Line 83 "$mud_Slinger_9<<" => "$mud_Slinger_9<<" 143s ok 109 - Line 84 "$!mud_Slinger_9<<" => "<<" 143s ok 110 - Line 85 "${mud_Slinger_9}<<" => "${mud_Slinger_9}<<" 143s ok 111 - Line 86 "$!{mud_Slinger_9}<<" => "<<" 143s ### SET ############################################# compile perl (1) 143s ok 112 - Line 91 "\#set($foo = "bar")$foo" => "bar" 143s ok 113 - Line 93 "\#set($monkey = $bill)$monkey" => "Bill" 143s ok 114 - Line 94 "\#set($monkey.Friend = 'monica')$monkey.Friend" => "monica" 143s ok 115 - Line 95 "\#set($monkey.Blame = $whitehouse.Leak)$monkey.Blame" => "from_velocity_ref_guide" 143s ok 116 - Line 96 "\#set($monkey.Plan = $spindoctor.weave($web))$monkey.Plan" => "(spider)" 143s ok 117 - Line 97 "\#set($monkey.Number = 123)$monkey.Number" => "123" 143s ok 118 - Line 98 "\#set($monkey.Numbers = [1..3])$monkey.Numbers.2" => "3" 143s ok 119 - Line 99 "\#set($monkey.Map = {"banana" : "good"})$monkey.Map.banana" => "good" 143s ok 120 - Line 101 "\#set($value = $foo + 1)$value" => "9" 143s ok 121 - Line 102 "\#set($value = $bar - 1)$value" => "3" 143s ok 122 - Line 103 "\#set($value = $foo * $bar)$value" => "32" 143s ok 123 - Line 104 "\#set($value = $foo / $bar)$value" => "2" 143s ok 124 - Line 105 "\#set($value = $foo % $bar)$value" => "0" 143s ok 125 - Line 107 "\#set($!value = $foo + 1)$value" => "" 143s ### QUOTED STRINGS ################################## compile perl (1) 143s ok 126 - Line 112 "\#set($value = "($foo)")$value" => "(bar)" 143s ok 127 - Line 113 "\#set($value = "(\#get($foo))")$value" => "(bar)" 143s ok 128 - Line 114 "\#set($value = "($foo)")$value" => "(bar)" 143s ok 129 - Line 115 "\#set($value = "(\#get($foo))")$value" => "(\#get(bar))" 143s ok 130 - Line 116 "\#set($value = '($foo)')$value" => "($foo)" 143s ok 131 - Line 117 "\#set($value = '(\#get($foo))')$value" => "(\#get($foo))" 143s ok 132 - Line 119 "\#set($value = "($foo)")$value" => "($foo)" 143s ok 133 - Line 120 "\#set($value = "(\#get($foo))")$value" => "()" 143s ok 134 - Line 121 "\#set($value = "($foo)")$value" => "($foo)" 143s ok 135 - Line 122 "\#set($value = "(\#get($foo))")$value" => "(\#get($foo))" 143s ok 136 - Line 124 "\#set($value = "($!foo)")$value" => "()" 143s ok 137 - Line 125 "\#set($value = "(\#get($!foo))")$value" => "" 143s ok 138 - Line 126 "\#set($value = "($!foo)")$value" => "()" 143s ok 139 - Line 127 "\#set($value = "(\#get($!foo))")$value" => "(\#get())" 143s ### COMMENTS ######################################## compile perl (1) 143s ok 140 - Line 132 "Foo\#\#interesting 143s # Bar" => "FooBar" 143s ok 141 - Line 133 "Foo\#\#interesting 143s # 143s # Bar" => "Foo 143s # Bar" 143s ok 142 - Line 134 "Foo\#\#interesting" => "Foo" 143s ok 143 - Line 135 "Foo\#*interesting 143s # " => "" 143s ok 144 - Line 136 "Foo\#*interesting 143s # 143s # 143s # *#" => "Foo" 143s ok 145 - Line 137 "Foo\#*interesting 143s # 143s # 143s # *#Bar" => "FooBar" 143s ### ESCAPING ######################################## compile perl (1) 143s ok 146 - Line 142 "$email" => "foo" 143s ok 147 - Line 143 "\$email" => "$email" 143s ok 148 - Line 144 "\\$email" => "\foo" 143s ok 149 - Line 145 "\\\$email" => "\$email" 143s ok 150 - Line 147 "$email" => "$email" 143s ok 151 - Line 148 "\$email" => "$email" 143s ok 152 - Line 149 "\\$email" => "\$email" 143s ok 153 - Line 150 "\\\$email" => "\$email" 143s ### IF / ELSEIF / ELSE ############################## compile perl (1) 143s ok 154 - Line 155 "\#if($foo)bar\#{end}bar" => "bar" 143s ok 155 - Line 156 "\#if("1")bar\#end" => "bar" 143s ok 156 - Line 157 "\#if($foo)bar\#end" => "" 143s ok 157 - Line 158 "\#if($foo)bar\#end" => "bar" 143s ok 158 - Line 159 "\#if($foo)bar\#{else}baz\#end" => "bar" 143s ok 159 - Line 160 "\#if($foo)bar\#{else}baz\#end" => "baz" 143s ok 160 - Line 161 "\#if($foo)bar\#elseif($bing)bang\#{else}baz\#end" => "baz" 143s ok 161 - Line 162 "\#if($foo)bar\#elseif($bing)bang\#{else}baz\#end" => "bang" 143s ### FOREACH ######################################## compile perl (1) 143s ok 162 - Line 167 "\#foreach( foo )bar\#{end}" => "bar" 143s ok 163 - Line 168 "\#foreach( f IN foo )bar$f\#{end}" => "bar1bar2" 143s ok 164 - Line 169 "\#foreach( f = foo )bar$f\#{end}" => "bar1bar2" 143s ok 165 - Line 170 "\#foreach( f = [1,2] )bar$f\#{end}" => "bar1bar2" 143s ok 166 - Line 171 "\#foreach( f = [1..3] )bar$f\#{end}" => "bar1bar2bar3" 143s ok 167 - Line 172 "\#foreach( f = [{a=>'A'},{a=>'B'}] )bar$f.a\#{end}" => "barAbarB" 143s ok 168 - Line 173 "\#foreach( [{a=>'A'},{a=>'B'}] )bar$a\#{end}" => "barAbarB" 143s ok 169 - Line 174 "\#foreach( [{a=>'A'},{a=>'B'}] )bar$a\#{end}$!a" => "barAbarB" 143s ok 170 - Line 175 "\#foreach( f = [1..3] )$loop.count/$loop.size \#{end}" => "1/3 2/3 3/3 " 143s ### INCLUDE ######################################### compile perl (1) 143s ok 171 - Line 181 "\#include("foo.vel")" => "Good Day!" 143s ok 172 - Line 182 "\#parse($foo)" => "Good Day!" 143s ok 173 - Line 183 "\#include("bar.vel")" => "($bar)" 143s ok 174 - Line 184 "\#include("bar.vel")" => "($bar)" 143s ### PARSE ############################################ compile perl (1) 143s ok 175 - Line 189 "\#parse("foo.vel")" => "Good Day!" 143s ok 176 - Line 190 "\#parse($foo)" => "Good Day!" 143s ok 177 - Line 191 "\#parse("bar.vel")" => "($bar)" 143s ok 178 - Line 192 "\#parse("bar.vel")" => "(foo)" 143s ### STOP ############################################ compile perl (1) 143s ok 179 - Line 197 "\#stop" => "" 143s ok 180 - Line 198 "One\#{stop}Two" => "One" 143s ok 181 - Line 199 "\#block('foo')One\#{stop}Two\#{end}First\#process('foo')Last" => "FirstOne" 143s ok 182 - Line 200 "\#foreach( $f = [1..3] )$f\#if(loop.first)\#end$f\#end" => "112233" 143s ok 183 - Line 201 "\#foreach( $f = [1..3] )$f\#if(loop.first)\#stop\#end\#end" => "1" 143s ok 184 - Line 202 "\#foreach( $f = [1..3] )\#if(loop.first)\#stop\#end$f\#end" => "" 143s ### EVALUATE ######################################## compile perl (1) 143s ok 185 - Line 207 "\#set($f = '>\#try\#evaluate($f)\#{catch}caught\#end')\#evaluate($f)" => ">>>>>caught" 143s ok 186 - Line 208 "\#set($f = '>\#try\#eval($f)\#{catch}foo\#end')\#eval($f)\#EVALUATE($f)" => ">>foo>>foo" 143s ### MACRO ########################################### compile perl (1) 143s ok 187 - Line 213 "\#macro(foo PROCESS bar )\#block(bar)Hi\#end$foo" => "Hi" 143s ok 188 - Line 214 "\#macro(foo BLOCK)Hi\#end$foo" => "Hi" 143s ok 189 - Line 215 "\#macro(foo $n BLOCK)Hi$n\#end$foo" => "Hi$n" 143s ok 190 - Line 216 "\#macro(foo $n BLOCK)Hi$n\#end$foo(2)" => "Hi2" 143s ok 191 - Line 217 "\#macro(foo(n) BLOCK)Hi$n\#end$foo" => "Hi$n" 143s ok 192 - Line 218 "\#macro(foo(n) BLOCK)Hi$n\#end$foo(2)" => "Hi2" 143s ok 193 - Line 219 "\#macro(foo $n)Hi$n\#end$foo" => "Hi$n" 143s ok 194 - Line 220 "\#macro(foo $n)Hi$n\#end$foo(2)" => "Hi2" 143s ok 195 - Line 221 "\#macro(foo $n)Hi$n\#end\#foo(2)" => "Hi2" 143s ok 196 - Line 222 "\#macro(foo $n $m)Hi($n)($m)\#end\#foo(2 3)" => "Hi(2)(3)" 143s ok 197 - Line 224 "\#macro( inner $foo ) 143s # inner : $foo 143s # #end 143s # 143s # #macro( outer $foo ) 143s # #set($bar = "outerlala") 143s # outer : $foo 143s # #end 143s # 143s # #set($bar = "calltimelala") 143s # #outer( "#inner($bar)" )" => " outer : inner : calltimelala" 143s ok 198 - Line 236 "\#macro( inner $foo ) 143s # inner : $foo 143s # #end 143s # 143s # #macro( outer $foo ) 143s # #set($bar = "outerlala") 143s # outer : $foo|eval 143s # #end 143s # 143s # #set($bar = "calltimelala") 143s # #outer( "#inner('$bar')" )" => " outer : inner : outerlala" 143s ### TT3 CHOMPING #################################### compile perl (1) 143s ok 199 - Line 251 " 143s # #get( $foo )" => " 143s # FOO" 143s ok 200 - Line 252 "\#get( $foo -) 143s # " => "FOO" 143s ok 201 - Line 253 " 143s # #get(- $foo)" => "FOO" 143s ok 202 - Line 254 " 143s # #get( -$foo)" => " 143s # -7" 143s ### DONE ############################################ compile perl (1) 143s ok 143s All tests successful. 143s Files=10, Tests=4565, 3 wallclock secs ( 0.28 usr 0.03 sys + 2.35 cusr 0.36 csys = 3.02 CPU) 143s Result: PASS 143s autopkgtest [22:30:01]: test autodep8-perl-build-deps: -----------------------] 143s autopkgtest [22:30:01]: test autodep8-perl-build-deps: - - - - - - - - - - results - - - - - - - - - - 143s autodep8-perl-build-deps PASS 144s autopkgtest [22:30:02]: test autodep8-perl: preparing testbed 255s autopkgtest [22:31:53]: @@@@@@@@@@@@@@@@@@@@ test bed setup 255s Get:1 http://ftpmaster.internal/ubuntu noble-proposed InRelease [117 kB] 255s Get:2 http://ftpmaster.internal/ubuntu noble-proposed/universe Sources [2645 kB] 256s Get:3 http://ftpmaster.internal/ubuntu noble-proposed/multiverse Sources [37.3 kB] 256s Get:4 http://ftpmaster.internal/ubuntu noble-proposed/restricted Sources [3976 B] 256s Get:5 http://ftpmaster.internal/ubuntu noble-proposed/main Sources [433 kB] 256s Get:6 http://ftpmaster.internal/ubuntu noble-proposed/main arm64 Packages [580 kB] 256s Get:7 http://ftpmaster.internal/ubuntu noble-proposed/main arm64 c-n-f Metadata [3144 B] 256s Get:8 http://ftpmaster.internal/ubuntu noble-proposed/restricted arm64 Packages [20.3 kB] 256s Get:9 http://ftpmaster.internal/ubuntu noble-proposed/restricted arm64 c-n-f Metadata [116 B] 256s Get:10 http://ftpmaster.internal/ubuntu noble-proposed/universe arm64 Packages [2967 kB] 256s Get:11 http://ftpmaster.internal/ubuntu noble-proposed/universe arm64 c-n-f Metadata [8528 B] 256s Get:12 http://ftpmaster.internal/ubuntu noble-proposed/multiverse arm64 Packages [39.6 kB] 256s Get:13 http://ftpmaster.internal/ubuntu noble-proposed/multiverse arm64 c-n-f Metadata [116 B] 257s Fetched 6855 kB in 1s (5041 kB/s) 257s Reading package lists... 259s Reading package lists... 260s Building dependency tree... 260s Reading state information... 260s Calculating upgrade... 260s The following packages were automatically installed and are no longer required: 260s libgdbm-compat4t64 libperl5.38 lto-disabled-list make perl-modules-5.38 260s ubuntu-advantage-tools 260s Use 'sudo apt autoremove' to remove them. 260s The following packages will be REMOVED: 260s dpkg-dev libdpkg-perl libgdbm-compat4 libgdbm6 perl 260s The following NEW packages will be installed: 260s libgdbm-compat4t64 libgdbm6t64 libnuma1 libsensors-config libsensors5 260s numactl sysstat 260s The following packages have been kept back: 260s libperl5.38 260s The following packages will be upgraded: 260s efibootmgr perl-base perl-modules-5.38 python3-attr ubuntu-minimal 260s ubuntu-standard 261s 6 upgraded, 7 newly installed, 5 to remove and 1 not upgraded. 261s Need to get 5605 kB of archives. 261s After this operation, 1944 kB disk space will be freed. 261s Get:1 http://ftpmaster.internal/ubuntu noble-proposed/main arm64 perl-base arm64 5.38.2-3.2 [1777 kB] 261s Get:2 http://ftpmaster.internal/ubuntu noble-proposed/main arm64 libgdbm6t64 arm64 1.23-5.1 [34.3 kB] 261s Get:3 http://ftpmaster.internal/ubuntu noble-proposed/main arm64 libgdbm-compat4t64 arm64 1.23-5.1 [6576 B] 261s Get:4 http://ftpmaster.internal/ubuntu noble-proposed/main arm64 perl-modules-5.38 all 5.38.2-3.2 [3110 kB] 261s Get:5 http://ftpmaster.internal/ubuntu noble/main arm64 ubuntu-minimal arm64 1.535 [10.5 kB] 261s Get:6 http://ftpmaster.internal/ubuntu noble/main arm64 libnuma1 arm64 2.0.18-1 [23.5 kB] 261s Get:7 http://ftpmaster.internal/ubuntu noble/main arm64 ubuntu-standard arm64 1.535 [10.5 kB] 261s Get:8 http://ftpmaster.internal/ubuntu noble/main arm64 efibootmgr arm64 18-1build1 [31.5 kB] 261s Get:9 http://ftpmaster.internal/ubuntu noble/main arm64 libsensors-config all 1:3.6.0-9 [5458 B] 261s Get:10 http://ftpmaster.internal/ubuntu noble/main arm64 libsensors5 arm64 1:3.6.0-9 [26.9 kB] 261s Get:11 http://ftpmaster.internal/ubuntu noble/main arm64 numactl arm64 2.0.18-1 [39.5 kB] 261s Get:12 http://ftpmaster.internal/ubuntu noble/main arm64 python3-attr all 23.2.0-2 [48.6 kB] 261s Get:13 http://ftpmaster.internal/ubuntu noble/main arm64 sysstat arm64 12.6.1-1ubuntu1 [480 kB] 262s Preconfiguring packages ... 262s Fetched 5605 kB in 1s (6748 kB/s) 262s (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 ... 74662 files and directories currently installed.) 262s Removing dpkg-dev (1.22.4ubuntu5) ... 262s Removing libdpkg-perl (1.22.4ubuntu5) ... 262s Removing perl (5.38.2-3) ... 262s (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 ... 74081 files and directories currently installed.) 262s Preparing to unpack .../perl-base_5.38.2-3.2_arm64.deb ... 262s Unpacking perl-base (5.38.2-3.2) over (5.38.2-3) ... 262s Setting up perl-base (5.38.2-3.2) ... 262s dpkg: libgdbm6:arm64: dependency problems, but removing anyway as you requested: 262s python3-gdbm:arm64 depends on libgdbm6 (>= 1.16). 262s man-db depends on libgdbm6 (>= 1.16). 262s libperl5.38:arm64 depends on libgdbm6 (>= 1.21). 262s libgdbm-compat4:arm64 depends on libgdbm6 (>= 1.16). 262s 263s (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 ... 74081 files and directories currently installed.) 263s Removing libgdbm6:arm64 (1.23-5) ... 263s Selecting previously unselected package libgdbm6t64:arm64. 263s (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 ... 74076 files and directories currently installed.) 263s Preparing to unpack .../libgdbm6t64_1.23-5.1_arm64.deb ... 263s Unpacking libgdbm6t64:arm64 (1.23-5.1) ... 263s dpkg: libgdbm-compat4:arm64: dependency problems, but removing anyway as you requested: 263s libperl5.38:arm64 depends on libgdbm-compat4 (>= 1.18-3). 263s 263s (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 ... 74082 files and directories currently installed.) 263s Removing libgdbm-compat4:arm64 (1.23-5) ... 263s Selecting previously unselected package libgdbm-compat4t64:arm64. 263s (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 ... 74077 files and directories currently installed.) 263s Preparing to unpack .../00-libgdbm-compat4t64_1.23-5.1_arm64.deb ... 263s Unpacking libgdbm-compat4t64:arm64 (1.23-5.1) ... 263s Preparing to unpack .../01-perl-modules-5.38_5.38.2-3.2_all.deb ... 263s Unpacking perl-modules-5.38 (5.38.2-3.2) over (5.38.2-3) ... 263s Preparing to unpack .../02-ubuntu-minimal_1.535_arm64.deb ... 263s Unpacking ubuntu-minimal (1.535) over (1.534) ... 263s Selecting previously unselected package libnuma1:arm64. 263s Preparing to unpack .../03-libnuma1_2.0.18-1_arm64.deb ... 263s Unpacking libnuma1:arm64 (2.0.18-1) ... 263s Preparing to unpack .../04-ubuntu-standard_1.535_arm64.deb ... 263s Unpacking ubuntu-standard (1.535) over (1.534) ... 263s Preparing to unpack .../05-efibootmgr_18-1build1_arm64.deb ... 263s Unpacking efibootmgr (18-1build1) over (18-1) ... 263s Selecting previously unselected package libsensors-config. 263s Preparing to unpack .../06-libsensors-config_1%3a3.6.0-9_all.deb ... 263s Unpacking libsensors-config (1:3.6.0-9) ... 263s Selecting previously unselected package libsensors5:arm64. 263s Preparing to unpack .../07-libsensors5_1%3a3.6.0-9_arm64.deb ... 263s Unpacking libsensors5:arm64 (1:3.6.0-9) ... 264s Selecting previously unselected package numactl. 264s Preparing to unpack .../08-numactl_2.0.18-1_arm64.deb ... 264s Unpacking numactl (2.0.18-1) ... 264s Preparing to unpack .../09-python3-attr_23.2.0-2_all.deb ... 264s Unpacking python3-attr (23.2.0-2) over (23.2.0-1) ... 264s Selecting previously unselected package sysstat. 264s Preparing to unpack .../10-sysstat_12.6.1-1ubuntu1_arm64.deb ... 264s Unpacking sysstat (12.6.1-1ubuntu1) ... 264s Setting up python3-attr (23.2.0-2) ... 264s Setting up efibootmgr (18-1build1) ... 264s Setting up libgdbm6t64:arm64 (1.23-5.1) ... 264s Setting up ubuntu-minimal (1.535) ... 264s Setting up libgdbm-compat4t64:arm64 (1.23-5.1) ... 264s Setting up libsensors-config (1:3.6.0-9) ... 264s Setting up ubuntu-standard (1.535) ... 264s Setting up perl-modules-5.38 (5.38.2-3.2) ... 264s Setting up libsensors5:arm64 (1:3.6.0-9) ... 264s Setting up libnuma1:arm64 (2.0.18-1) ... 264s Setting up sysstat (12.6.1-1ubuntu1) ... 264s 264s Creating config file /etc/default/sysstat with new version 264s update-alternatives: using /usr/bin/sar.sysstat to provide /usr/bin/sar (sar) in auto mode 264s Created symlink /etc/systemd/system/sysstat.service.wants/sysstat-collect.timer → /usr/lib/systemd/system/sysstat-collect.timer. 264s Created symlink /etc/systemd/system/sysstat.service.wants/sysstat-summary.timer → /usr/lib/systemd/system/sysstat-summary.timer. 265s Created symlink /etc/systemd/system/multi-user.target.wants/sysstat.service → /usr/lib/systemd/system/sysstat.service. 266s Setting up numactl (2.0.18-1) ... 266s Processing triggers for man-db (2.12.0-3) ... 267s Processing triggers for libc-bin (2.39-0ubuntu2) ... 267s Reading package lists... 268s Building dependency tree... 268s Reading state information... 268s The following packages will be REMOVED: 268s libgdbm-compat4t64* libperl5.38* lto-disabled-list* make* perl-modules-5.38* 268s ubuntu-advantage-tools* 268s 0 upgraded, 0 newly installed, 6 to remove and 0 not upgraded. 268s After this operation, 52.0 MB disk space will be freed. 268s (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 ... 74176 files and directories currently installed.) 268s Removing libperl5.38:arm64 (5.38.2-3) ... 268s Removing libgdbm-compat4t64:arm64 (1.23-5.1) ... 268s Removing lto-disabled-list (47) ... 268s Removing make (4.3-4.1build1) ... 268s Removing perl-modules-5.38 (5.38.2-3.2) ... 268s Removing ubuntu-advantage-tools (31.1) ... 268s Processing triggers for man-db (2.12.0-3) ... 269s Processing triggers for libc-bin (2.39-0ubuntu2) ... 269s (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 ... 72199 files and directories currently installed.) 269s Purging configuration files for ubuntu-advantage-tools (31.1) ... 270s sh: Attempting to set up Debian/Ubuntu apt sources automatically 270s sh: Distribution appears to be Ubuntu 271s Reading package lists... 271s Building dependency tree... 271s Reading state information... 271s eatmydata is already the newest version (131-1). 271s dbus is already the newest version (1.14.10-4ubuntu1). 271s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 271s Reading package lists... 272s Building dependency tree... 272s Reading state information... 272s rng-tools-debian is already the newest version (2.4). 272s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 272s Reading package lists... 272s Building dependency tree... 272s Reading state information... 273s haveged is already the newest version (1.9.14-1ubuntu1). 273s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 273s Reading package lists... 273s Building dependency tree... 273s Reading state information... 273s The following additional packages will be installed: 273s libdb5.3t64 libdpkg-perl libgdbm-compat4t64 libperl5.38t64 lto-disabled-list 273s make perl perl-modules-5.38 273s Suggested packages: 273s debian-keyring gcc | c-compiler git bzr make-doc perl-doc 273s libterm-readline-gnu-perl | libterm-readline-perl-perl 273s libtap-harness-archive-perl 273s Recommended packages: 273s build-essential gcc | c-compiler fakeroot libalgorithm-merge-perl 273s libfile-fcntllock-perl 273s The following packages will be REMOVED: 273s libdb5.3 273s The following NEW packages will be installed: 273s dpkg-dev libdb5.3t64 libdpkg-perl libgdbm-compat4t64 libperl5.38t64 273s lto-disabled-list make perl perl-modules-5.38 274s 0 upgraded, 9 newly installed, 1 to remove and 0 not upgraded. 274s Need to get 7257 kB/10.4 MB of archives. 274s After this operation, 56.1 MB of additional disk space will be used. 274s Get:1 http://ftpmaster.internal/ubuntu noble-proposed/main arm64 libdb5.3t64 arm64 5.3.28+dfsg2-5 [719 kB] 274s Get:2 http://ftpmaster.internal/ubuntu noble-proposed/main arm64 libperl5.38t64 arm64 5.38.2-3.2 [4771 kB] 274s Get:3 http://ftpmaster.internal/ubuntu noble-proposed/main arm64 perl arm64 5.38.2-3.2 [231 kB] 274s Get:4 http://ftpmaster.internal/ubuntu noble/main arm64 libdpkg-perl all 1.22.4ubuntu5 [268 kB] 274s Get:5 http://ftpmaster.internal/ubuntu noble/main arm64 make arm64 4.3-4.1build1 [177 kB] 274s Get:6 http://ftpmaster.internal/ubuntu noble/main arm64 lto-disabled-list all 47 [12.4 kB] 274s Get:7 http://ftpmaster.internal/ubuntu noble/main arm64 dpkg-dev all 1.22.4ubuntu5 [1078 kB] 275s Fetched 7257 kB in 1s (9735 kB/s) 275s dpkg: libdb5.3:arm64: dependency problems, but removing anyway as you requested: 275s libsasl2-modules-db:arm64 depends on libdb5.3. 275s libpython3.12-stdlib:arm64 depends on libdb5.3. 275s libpam-modules:arm64 depends on libdb5.3. 275s iproute2 depends on libdb5.3. 275s apt-utils depends on libdb5.3. 275s 275s (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 ... 72198 files and directories currently installed.) 275s Removing libdb5.3:arm64 (5.3.28+dfsg2-4) ... 275s Selecting previously unselected package libdb5.3t64:arm64. 275s (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 ... 72192 files and directories currently installed.) 275s Preparing to unpack .../libdb5.3t64_5.3.28+dfsg2-5_arm64.deb ... 275s Unpacking libdb5.3t64:arm64 (5.3.28+dfsg2-5) ... 275s Setting up libdb5.3t64:arm64 (5.3.28+dfsg2-5) ... 275s Selecting previously unselected package perl-modules-5.38. 275s (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 ... 72198 files and directories currently installed.) 275s Preparing to unpack .../0-perl-modules-5.38_5.38.2-3.2_all.deb ... 275s Unpacking perl-modules-5.38 (5.38.2-3.2) ... 276s Selecting previously unselected package libgdbm-compat4t64:arm64. 276s Preparing to unpack .../1-libgdbm-compat4t64_1.23-5.1_arm64.deb ... 276s Unpacking libgdbm-compat4t64:arm64 (1.23-5.1) ... 276s Selecting previously unselected package libperl5.38t64:arm64. 276s Preparing to unpack .../2-libperl5.38t64_5.38.2-3.2_arm64.deb ... 276s Unpacking libperl5.38t64:arm64 (5.38.2-3.2) ... 276s Selecting previously unselected package perl. 276s Preparing to unpack .../3-perl_5.38.2-3.2_arm64.deb ... 276s Unpacking perl (5.38.2-3.2) ... 276s Selecting previously unselected package libdpkg-perl. 276s Preparing to unpack .../4-libdpkg-perl_1.22.4ubuntu5_all.deb ... 276s Unpacking libdpkg-perl (1.22.4ubuntu5) ... 276s Selecting previously unselected package make. 276s Preparing to unpack .../5-make_4.3-4.1build1_arm64.deb ... 276s Unpacking make (4.3-4.1build1) ... 276s Selecting previously unselected package lto-disabled-list. 276s Preparing to unpack .../6-lto-disabled-list_47_all.deb ... 276s Unpacking lto-disabled-list (47) ... 276s Selecting previously unselected package dpkg-dev. 276s Preparing to unpack .../7-dpkg-dev_1.22.4ubuntu5_all.deb ... 276s Unpacking dpkg-dev (1.22.4ubuntu5) ... 276s Setting up lto-disabled-list (47) ... 276s Setting up libgdbm-compat4t64:arm64 (1.23-5.1) ... 276s Setting up make (4.3-4.1build1) ... 276s Setting up perl-modules-5.38 (5.38.2-3.2) ... 276s Setting up libperl5.38t64:arm64 (5.38.2-3.2) ... 276s Setting up perl (5.38.2-3.2) ... 276s Setting up libdpkg-perl (1.22.4ubuntu5) ... 276s Setting up dpkg-dev (1.22.4ubuntu5) ... 277s Processing triggers for man-db (2.12.0-3) ... 277s Processing triggers for libc-bin (2.39-0ubuntu2) ... 278s Reading package lists... 278s Building dependency tree... 278s Reading state information... 278s The following packages will be REMOVED: 278s cloud-init* python3-configobj* python3-debconf* 279s 0 upgraded, 0 newly installed, 3 to remove and 0 not upgraded. 279s After this operation, 3248 kB disk space will be freed. 279s (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 ... 74750 files and directories currently installed.) 279s Removing cloud-init (24.1-0ubuntu1) ... 279s Removing python3-configobj (5.0.8-3) ... 279s Removing python3-debconf (1.5.86) ... 279s Processing triggers for man-db (2.12.0-3) ... 280s (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 ... 74361 files and directories currently installed.) 280s Purging configuration files for cloud-init (24.1-0ubuntu1) ... 280s dpkg: warning: while removing cloud-init, directory '/etc/cloud/cloud.cfg.d' not empty so not removed 280s Processing triggers for rsyslog (8.2312.0-3ubuntu3) ... 281s Reading package lists... 281s Building dependency tree... 281s Reading state information... 281s linux-generic is already the newest version (6.8.0-11.11+1). 281s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 282s Hit:1 http://ftpmaster.internal/ubuntu noble InRelease 282s Hit:2 http://ftpmaster.internal/ubuntu noble-updates InRelease 282s Hit:3 http://ftpmaster.internal/ubuntu noble-security InRelease 282s Hit:4 http://ftpmaster.internal/ubuntu noble-proposed InRelease 283s Reading package lists... 283s Reading package lists... 283s Building dependency tree... 283s Reading state information... 283s Calculating upgrade... 283s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 284s Reading package lists... 284s Building dependency tree... 284s Reading state information... 284s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 284s autopkgtest [22:32:22]: rebooting testbed after setup commands that affected boot 310s autopkgtest [22:32:48]: testbed dpkg architecture: arm64 317s Reading package lists... 318s Building dependency tree... 318s Reading state information... 318s Correcting dependencies...Starting pkgProblemResolver with broken count: 0 318s Starting 2 pkgProblemResolver with broken count: 0 318s Done 318s Done 319s Starting pkgProblemResolver with broken count: 0 319s Starting 2 pkgProblemResolver with broken count: 0 319s Done 319s The following additional packages will be installed: 319s autodep8 dctrl-tools libtemplate-alloy-perl pkg-perl-autopkgtest 319s Suggested packages: 319s debtags 320s The following NEW packages will be installed: 320s autodep8 dctrl-tools libtemplate-alloy-perl pkg-perl-autopkgtest 320s 0 upgraded, 4 newly installed, 0 to remove and 0 not upgraded. 320s 1 not fully installed or removed. 320s Need to get 278 kB of archives. 320s After this operation, 986 kB of additional disk space will be used. 320s Get:1 http://ftpmaster.internal/ubuntu noble/universe arm64 libtemplate-alloy-perl all 1.022-2 [181 kB] 320s Get:2 http://ftpmaster.internal/ubuntu noble/main arm64 dctrl-tools arm64 2.24-3build2 [65.2 kB] 320s Get:3 http://ftpmaster.internal/ubuntu noble/main arm64 autodep8 all 0.28 [13.2 kB] 320s Get:4 http://ftpmaster.internal/ubuntu noble/universe arm64 pkg-perl-autopkgtest all 0.77 [18.0 kB] 321s Fetched 278 kB in 0s (574 kB/s) 321s Selecting previously unselected package libtemplate-alloy-perl. 321s (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 ... 74306 files and directories currently installed.) 321s Preparing to unpack .../libtemplate-alloy-perl_1.022-2_all.deb ... 321s Unpacking libtemplate-alloy-perl (1.022-2) ... 321s Selecting previously unselected package dctrl-tools. 321s Preparing to unpack .../dctrl-tools_2.24-3build2_arm64.deb ... 321s Unpacking dctrl-tools (2.24-3build2) ... 321s Selecting previously unselected package autodep8. 321s Preparing to unpack .../archives/autodep8_0.28_all.deb ... 321s Unpacking autodep8 (0.28) ... 321s Selecting previously unselected package pkg-perl-autopkgtest. 321s Preparing to unpack .../pkg-perl-autopkgtest_0.77_all.deb ... 321s Unpacking pkg-perl-autopkgtest (0.77) ... 321s Setting up libtemplate-alloy-perl (1.022-2) ... 321s Setting up dctrl-tools (2.24-3build2) ... 321s Setting up autodep8 (0.28) ... 321s Setting up pkg-perl-autopkgtest (0.77) ... 321s Setting up autopkgtest-satdep (0) ... 321s Processing triggers for man-db (2.12.0-3) ... 325s (Reading database ... 74430 files and directories currently installed.) 325s Removing autopkgtest-satdep (0) ... 327s autopkgtest [22:33:05]: test autodep8-perl: /usr/share/pkg-perl-autopkgtest/runner runtime-deps 327s autopkgtest [22:33:05]: test autodep8-perl: [----------------------- 328s /usr/share/pkg-perl-autopkgtest/runtime-deps.d/use.t .. 328s 1..4 328s ok 1 - /usr/bin/perl -w -M"Template::Alloy" -e 1 2>&1 exited successfully 328s ok 2 - /usr/bin/perl -w -M"Template::Alloy" -e 1 2>&1 produced no (non-whitelisted) output 328s ok 3 - env PERL_DL_NONLAZY=1 /usr/bin/perl -w -M"Template::Alloy" -e 1 2>&1 exited successfully 328s ok 4 - env PERL_DL_NONLAZY=1 /usr/bin/perl -w -M"Template::Alloy" -e 1 2>&1 produced no (non-whitelisted) output 328s ok 328s All tests successful. 328s Files=1, Tests=4, 0 wallclock secs ( 0.02 usr 0.01 sys + 0.17 cusr 0.04 csys = 0.24 CPU) 328s Result: PASS 328s autopkgtest [22:33:06]: test autodep8-perl: -----------------------] 328s autopkgtest [22:33:06]: test autodep8-perl: - - - - - - - - - - results - - - - - - - - - - 328s autodep8-perl PASS (superficial) 329s autopkgtest [22:33:07]: test autodep8-perl-recommends: preparing testbed 404s autopkgtest [22:34:22]: @@@@@@@@@@@@@@@@@@@@ test bed setup 404s Get:1 http://ftpmaster.internal/ubuntu noble-proposed InRelease [117 kB] 404s Get:2 http://ftpmaster.internal/ubuntu noble-proposed/multiverse Sources [37.3 kB] 404s Get:3 http://ftpmaster.internal/ubuntu noble-proposed/universe Sources [2645 kB] 405s Get:4 http://ftpmaster.internal/ubuntu noble-proposed/restricted Sources [3976 B] 405s Get:5 http://ftpmaster.internal/ubuntu noble-proposed/main Sources [433 kB] 405s Get:6 http://ftpmaster.internal/ubuntu noble-proposed/main arm64 Packages [580 kB] 405s Get:7 http://ftpmaster.internal/ubuntu noble-proposed/main arm64 c-n-f Metadata [3144 B] 405s Get:8 http://ftpmaster.internal/ubuntu noble-proposed/restricted arm64 Packages [20.3 kB] 405s Get:9 http://ftpmaster.internal/ubuntu noble-proposed/restricted arm64 c-n-f Metadata [116 B] 405s Get:10 http://ftpmaster.internal/ubuntu noble-proposed/universe arm64 Packages [2967 kB] 405s Get:11 http://ftpmaster.internal/ubuntu noble-proposed/universe arm64 c-n-f Metadata [8528 B] 405s Get:12 http://ftpmaster.internal/ubuntu noble-proposed/multiverse arm64 Packages [39.6 kB] 405s Get:13 http://ftpmaster.internal/ubuntu noble-proposed/multiverse arm64 c-n-f Metadata [116 B] 407s Fetched 6855 kB in 2s (4222 kB/s) 407s Reading package lists... 409s Reading package lists... 410s Building dependency tree... 410s Reading state information... 410s Calculating upgrade... 412s The following packages were automatically installed and are no longer required: 412s libgdbm-compat4t64 libperl5.38 lto-disabled-list make perl-modules-5.38 412s ubuntu-advantage-tools 412s Use 'sudo apt autoremove' to remove them. 412s The following packages will be REMOVED: 412s dpkg-dev libdpkg-perl libgdbm-compat4 libgdbm6 perl 412s The following NEW packages will be installed: 412s libgdbm-compat4t64 libgdbm6t64 libnuma1 libsensors-config libsensors5 412s numactl sysstat 412s The following packages have been kept back: 412s libperl5.38 412s The following packages will be upgraded: 412s efibootmgr perl-base perl-modules-5.38 python3-attr ubuntu-minimal 412s ubuntu-standard 412s 6 upgraded, 7 newly installed, 5 to remove and 1 not upgraded. 412s Need to get 5605 kB of archives. 412s After this operation, 1944 kB disk space will be freed. 412s Get:1 http://ftpmaster.internal/ubuntu noble-proposed/main arm64 perl-base arm64 5.38.2-3.2 [1777 kB] 412s Get:2 http://ftpmaster.internal/ubuntu noble-proposed/main arm64 libgdbm6t64 arm64 1.23-5.1 [34.3 kB] 412s Get:3 http://ftpmaster.internal/ubuntu noble-proposed/main arm64 libgdbm-compat4t64 arm64 1.23-5.1 [6576 B] 412s Get:4 http://ftpmaster.internal/ubuntu noble-proposed/main arm64 perl-modules-5.38 all 5.38.2-3.2 [3110 kB] 412s Get:5 http://ftpmaster.internal/ubuntu noble/main arm64 ubuntu-minimal arm64 1.535 [10.5 kB] 412s Get:6 http://ftpmaster.internal/ubuntu noble/main arm64 libnuma1 arm64 2.0.18-1 [23.5 kB] 412s Get:7 http://ftpmaster.internal/ubuntu noble/main arm64 ubuntu-standard arm64 1.535 [10.5 kB] 412s Get:8 http://ftpmaster.internal/ubuntu noble/main arm64 efibootmgr arm64 18-1build1 [31.5 kB] 412s Get:9 http://ftpmaster.internal/ubuntu noble/main arm64 libsensors-config all 1:3.6.0-9 [5458 B] 412s Get:10 http://ftpmaster.internal/ubuntu noble/main arm64 libsensors5 arm64 1:3.6.0-9 [26.9 kB] 412s Get:11 http://ftpmaster.internal/ubuntu noble/main arm64 numactl arm64 2.0.18-1 [39.5 kB] 412s Get:12 http://ftpmaster.internal/ubuntu noble/main arm64 python3-attr all 23.2.0-2 [48.6 kB] 412s Get:13 http://ftpmaster.internal/ubuntu noble/main arm64 sysstat arm64 12.6.1-1ubuntu1 [480 kB] 413s Preconfiguring packages ... 413s Fetched 5605 kB in 1s (6026 kB/s) 413s (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 ... 74662 files and directories currently installed.) 413s Removing dpkg-dev (1.22.4ubuntu5) ... 413s Removing libdpkg-perl (1.22.4ubuntu5) ... 413s Removing perl (5.38.2-3) ... 413s (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 ... 74081 files and directories currently installed.) 413s Preparing to unpack .../perl-base_5.38.2-3.2_arm64.deb ... 413s Unpacking perl-base (5.38.2-3.2) over (5.38.2-3) ... 414s Setting up perl-base (5.38.2-3.2) ... 414s dpkg: libgdbm6:arm64: dependency problems, but removing anyway as you requested: 414s python3-gdbm:arm64 depends on libgdbm6 (>= 1.16). 414s man-db depends on libgdbm6 (>= 1.16). 414s libperl5.38:arm64 depends on libgdbm6 (>= 1.21). 414s libgdbm-compat4:arm64 depends on libgdbm6 (>= 1.16). 414s 414s (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 ... 74081 files and directories currently installed.) 414s Removing libgdbm6:arm64 (1.23-5) ... 414s Selecting previously unselected package libgdbm6t64:arm64. 414s (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 ... 74076 files and directories currently installed.) 414s Preparing to unpack .../libgdbm6t64_1.23-5.1_arm64.deb ... 414s Unpacking libgdbm6t64:arm64 (1.23-5.1) ... 414s dpkg: libgdbm-compat4:arm64: dependency problems, but removing anyway as you requested: 414s libperl5.38:arm64 depends on libgdbm-compat4 (>= 1.18-3). 414s 414s (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 ... 74082 files and directories currently installed.) 414s Removing libgdbm-compat4:arm64 (1.23-5) ... 414s Selecting previously unselected package libgdbm-compat4t64:arm64. 414s (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 ... 74077 files and directories currently installed.) 414s Preparing to unpack .../00-libgdbm-compat4t64_1.23-5.1_arm64.deb ... 414s Unpacking libgdbm-compat4t64:arm64 (1.23-5.1) ... 414s Preparing to unpack .../01-perl-modules-5.38_5.38.2-3.2_all.deb ... 414s Unpacking perl-modules-5.38 (5.38.2-3.2) over (5.38.2-3) ... 415s Preparing to unpack .../02-ubuntu-minimal_1.535_arm64.deb ... 415s Unpacking ubuntu-minimal (1.535) over (1.534) ... 415s Selecting previously unselected package libnuma1:arm64. 415s Preparing to unpack .../03-libnuma1_2.0.18-1_arm64.deb ... 415s Unpacking libnuma1:arm64 (2.0.18-1) ... 415s Preparing to unpack .../04-ubuntu-standard_1.535_arm64.deb ... 415s Unpacking ubuntu-standard (1.535) over (1.534) ... 415s Preparing to unpack .../05-efibootmgr_18-1build1_arm64.deb ... 415s Unpacking efibootmgr (18-1build1) over (18-1) ... 415s Selecting previously unselected package libsensors-config. 415s Preparing to unpack .../06-libsensors-config_1%3a3.6.0-9_all.deb ... 415s Unpacking libsensors-config (1:3.6.0-9) ... 415s Selecting previously unselected package libsensors5:arm64. 415s Preparing to unpack .../07-libsensors5_1%3a3.6.0-9_arm64.deb ... 415s Unpacking libsensors5:arm64 (1:3.6.0-9) ... 415s Selecting previously unselected package numactl. 415s Preparing to unpack .../08-numactl_2.0.18-1_arm64.deb ... 415s Unpacking numactl (2.0.18-1) ... 415s Preparing to unpack .../09-python3-attr_23.2.0-2_all.deb ... 415s Unpacking python3-attr (23.2.0-2) over (23.2.0-1) ... 416s Selecting previously unselected package sysstat. 416s Preparing to unpack .../10-sysstat_12.6.1-1ubuntu1_arm64.deb ... 416s Unpacking sysstat (12.6.1-1ubuntu1) ... 416s Setting up python3-attr (23.2.0-2) ... 416s Setting up efibootmgr (18-1build1) ... 416s Setting up libgdbm6t64:arm64 (1.23-5.1) ... 416s Setting up ubuntu-minimal (1.535) ... 416s Setting up libgdbm-compat4t64:arm64 (1.23-5.1) ... 416s Setting up libsensors-config (1:3.6.0-9) ... 416s Setting up ubuntu-standard (1.535) ... 416s Setting up perl-modules-5.38 (5.38.2-3.2) ... 416s Setting up libsensors5:arm64 (1:3.6.0-9) ... 416s Setting up libnuma1:arm64 (2.0.18-1) ... 416s Setting up sysstat (12.6.1-1ubuntu1) ... 416s 416s Creating config file /etc/default/sysstat with new version 416s update-alternatives: using /usr/bin/sar.sysstat to provide /usr/bin/sar (sar) in auto mode 417s Created symlink /etc/systemd/system/sysstat.service.wants/sysstat-collect.timer → /usr/lib/systemd/system/sysstat-collect.timer. 417s Created symlink /etc/systemd/system/sysstat.service.wants/sysstat-summary.timer → /usr/lib/systemd/system/sysstat-summary.timer. 417s Created symlink /etc/systemd/system/multi-user.target.wants/sysstat.service → /usr/lib/systemd/system/sysstat.service. 418s Setting up numactl (2.0.18-1) ... 418s Processing triggers for man-db (2.12.0-3) ... 420s Processing triggers for libc-bin (2.39-0ubuntu2) ... 420s Reading package lists... 420s Building dependency tree... 420s Reading state information... 421s The following packages will be REMOVED: 421s libgdbm-compat4t64* libperl5.38* lto-disabled-list* make* perl-modules-5.38* 421s ubuntu-advantage-tools* 422s 0 upgraded, 0 newly installed, 6 to remove and 0 not upgraded. 422s After this operation, 52.0 MB disk space will be freed. 422s (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 ... 74176 files and directories currently installed.) 422s Removing libperl5.38:arm64 (5.38.2-3) ... 422s Removing libgdbm-compat4t64:arm64 (1.23-5.1) ... 422s Removing lto-disabled-list (47) ... 422s Removing make (4.3-4.1build1) ... 422s Removing perl-modules-5.38 (5.38.2-3.2) ... 422s Removing ubuntu-advantage-tools (31.1) ... 422s Processing triggers for man-db (2.12.0-3) ... 422s Processing triggers for libc-bin (2.39-0ubuntu2) ... 422s (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 ... 72199 files and directories currently installed.) 422s Purging configuration files for ubuntu-advantage-tools (31.1) ... 423s sh: Attempting to set up Debian/Ubuntu apt sources automatically 423s sh: Distribution appears to be Ubuntu 424s Reading package lists... 424s Building dependency tree... 424s Reading state information... 425s eatmydata is already the newest version (131-1). 425s dbus is already the newest version (1.14.10-4ubuntu1). 425s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 425s Reading package lists... 425s Building dependency tree... 425s Reading state information... 425s rng-tools-debian is already the newest version (2.4). 425s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 425s Reading package lists... 426s Building dependency tree... 426s Reading state information... 426s haveged is already the newest version (1.9.14-1ubuntu1). 426s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 426s Reading package lists... 426s Building dependency tree... 426s Reading state information... 427s The following additional packages will be installed: 427s libdb5.3t64 libdpkg-perl libgdbm-compat4t64 libperl5.38t64 lto-disabled-list 427s make perl perl-modules-5.38 427s Suggested packages: 427s debian-keyring gcc | c-compiler git bzr make-doc perl-doc 427s libterm-readline-gnu-perl | libterm-readline-perl-perl 427s libtap-harness-archive-perl 427s Recommended packages: 427s build-essential gcc | c-compiler fakeroot libalgorithm-merge-perl 427s libfile-fcntllock-perl 427s The following packages will be REMOVED: 427s libdb5.3 427s The following NEW packages will be installed: 427s dpkg-dev libdb5.3t64 libdpkg-perl libgdbm-compat4t64 libperl5.38t64 427s lto-disabled-list make perl perl-modules-5.38 427s 0 upgraded, 9 newly installed, 1 to remove and 0 not upgraded. 427s Need to get 7257 kB/10.4 MB of archives. 427s After this operation, 56.1 MB of additional disk space will be used. 427s Get:1 http://ftpmaster.internal/ubuntu noble-proposed/main arm64 libdb5.3t64 arm64 5.3.28+dfsg2-5 [719 kB] 427s Get:2 http://ftpmaster.internal/ubuntu noble-proposed/main arm64 libperl5.38t64 arm64 5.38.2-3.2 [4771 kB] 428s Get:3 http://ftpmaster.internal/ubuntu noble-proposed/main arm64 perl arm64 5.38.2-3.2 [231 kB] 428s Get:4 http://ftpmaster.internal/ubuntu noble/main arm64 libdpkg-perl all 1.22.4ubuntu5 [268 kB] 428s Get:5 http://ftpmaster.internal/ubuntu noble/main arm64 make arm64 4.3-4.1build1 [177 kB] 428s Get:6 http://ftpmaster.internal/ubuntu noble/main arm64 lto-disabled-list all 47 [12.4 kB] 428s Get:7 http://ftpmaster.internal/ubuntu noble/main arm64 dpkg-dev all 1.22.4ubuntu5 [1078 kB] 428s Fetched 7257 kB in 1s (8127 kB/s) 428s dpkg: libdb5.3:arm64: dependency problems, but removing anyway as you requested: 428s libsasl2-modules-db:arm64 depends on libdb5.3. 428s libpython3.12-stdlib:arm64 depends on libdb5.3. 428s libpam-modules:arm64 depends on libdb5.3. 428s iproute2 depends on libdb5.3. 428s apt-utils depends on libdb5.3. 428s 428s (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 ... 72198 files and directories currently installed.) 428s Removing libdb5.3:arm64 (5.3.28+dfsg2-4) ... 428s Selecting previously unselected package libdb5.3t64:arm64. 428s (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 ... 72192 files and directories currently installed.) 428s Preparing to unpack .../libdb5.3t64_5.3.28+dfsg2-5_arm64.deb ... 428s Unpacking libdb5.3t64:arm64 (5.3.28+dfsg2-5) ... 428s Setting up libdb5.3t64:arm64 (5.3.28+dfsg2-5) ... 428s Selecting previously unselected package perl-modules-5.38. 428s (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 ... 72198 files and directories currently installed.) 428s Preparing to unpack .../0-perl-modules-5.38_5.38.2-3.2_all.deb ... 428s Unpacking perl-modules-5.38 (5.38.2-3.2) ... 429s Selecting previously unselected package libgdbm-compat4t64:arm64. 429s Preparing to unpack .../1-libgdbm-compat4t64_1.23-5.1_arm64.deb ... 429s Unpacking libgdbm-compat4t64:arm64 (1.23-5.1) ... 429s Selecting previously unselected package libperl5.38t64:arm64. 429s Preparing to unpack .../2-libperl5.38t64_5.38.2-3.2_arm64.deb ... 429s Unpacking libperl5.38t64:arm64 (5.38.2-3.2) ... 429s Selecting previously unselected package perl. 429s Preparing to unpack .../3-perl_5.38.2-3.2_arm64.deb ... 429s Unpacking perl (5.38.2-3.2) ... 429s Selecting previously unselected package libdpkg-perl. 429s Preparing to unpack .../4-libdpkg-perl_1.22.4ubuntu5_all.deb ... 429s Unpacking libdpkg-perl (1.22.4ubuntu5) ... 429s Selecting previously unselected package make. 429s Preparing to unpack .../5-make_4.3-4.1build1_arm64.deb ... 429s Unpacking make (4.3-4.1build1) ... 429s Selecting previously unselected package lto-disabled-list. 429s Preparing to unpack .../6-lto-disabled-list_47_all.deb ... 429s Unpacking lto-disabled-list (47) ... 429s Selecting previously unselected package dpkg-dev. 429s Preparing to unpack .../7-dpkg-dev_1.22.4ubuntu5_all.deb ... 429s Unpacking dpkg-dev (1.22.4ubuntu5) ... 429s Setting up lto-disabled-list (47) ... 429s Setting up libgdbm-compat4t64:arm64 (1.23-5.1) ... 429s Setting up make (4.3-4.1build1) ... 429s Setting up perl-modules-5.38 (5.38.2-3.2) ... 429s Setting up libperl5.38t64:arm64 (5.38.2-3.2) ... 429s Setting up perl (5.38.2-3.2) ... 430s Setting up libdpkg-perl (1.22.4ubuntu5) ... 430s Setting up dpkg-dev (1.22.4ubuntu5) ... 430s Processing triggers for man-db (2.12.0-3) ... 430s Processing triggers for libc-bin (2.39-0ubuntu2) ... 430s Reading package lists... 431s Building dependency tree... 431s Reading state information... 431s The following packages will be REMOVED: 431s cloud-init* python3-configobj* python3-debconf* 431s 0 upgraded, 0 newly installed, 3 to remove and 0 not upgraded. 431s After this operation, 3248 kB disk space will be freed. 431s (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 ... 74750 files and directories currently installed.) 431s Removing cloud-init (24.1-0ubuntu1) ... 432s Removing python3-configobj (5.0.8-3) ... 432s Removing python3-debconf (1.5.86) ... 432s Processing triggers for man-db (2.12.0-3) ... 432s (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 ... 74361 files and directories currently installed.) 432s Purging configuration files for cloud-init (24.1-0ubuntu1) ... 433s dpkg: warning: while removing cloud-init, directory '/etc/cloud/cloud.cfg.d' not empty so not removed 433s Processing triggers for rsyslog (8.2312.0-3ubuntu3) ... 433s Reading package lists... 433s Building dependency tree... 433s Reading state information... 434s linux-generic is already the newest version (6.8.0-11.11+1). 434s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 434s Hit:1 http://ftpmaster.internal/ubuntu noble InRelease 434s Hit:2 http://ftpmaster.internal/ubuntu noble-updates InRelease 434s Hit:3 http://ftpmaster.internal/ubuntu noble-security InRelease 434s Hit:4 http://ftpmaster.internal/ubuntu noble-proposed InRelease 435s Reading package lists... 435s Reading package lists... 436s Building dependency tree... 436s Reading state information... 436s Calculating upgrade... 436s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 436s Reading package lists... 436s Building dependency tree... 436s Reading state information... 437s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 437s autopkgtest [22:34:55]: rebooting testbed after setup commands that affected boot 463s autopkgtest [22:35:21]: testbed dpkg architecture: arm64 468s Reading package lists... 468s Building dependency tree... 468s Reading state information... 468s Correcting dependencies...Starting pkgProblemResolver with broken count: 0 468s Starting 2 pkgProblemResolver with broken count: 0 468s Done 468s Done 469s Starting pkgProblemResolver with broken count: 0 469s Starting 2 pkgProblemResolver with broken count: 0 469s Done 469s The following additional packages will be installed: 469s autodep8 dctrl-tools libtemplate-alloy-perl pkg-perl-autopkgtest 469s Suggested packages: 469s debtags 469s The following NEW packages will be installed: 469s autodep8 dctrl-tools libtemplate-alloy-perl pkg-perl-autopkgtest 470s 0 upgraded, 4 newly installed, 0 to remove and 0 not upgraded. 470s 1 not fully installed or removed. 470s Need to get 278 kB of archives. 470s After this operation, 986 kB of additional disk space will be used. 470s Get:1 http://ftpmaster.internal/ubuntu noble/universe arm64 libtemplate-alloy-perl all 1.022-2 [181 kB] 470s Get:2 http://ftpmaster.internal/ubuntu noble/main arm64 dctrl-tools arm64 2.24-3build2 [65.2 kB] 470s Get:3 http://ftpmaster.internal/ubuntu noble/main arm64 autodep8 all 0.28 [13.2 kB] 470s Get:4 http://ftpmaster.internal/ubuntu noble/universe arm64 pkg-perl-autopkgtest all 0.77 [18.0 kB] 471s Fetched 278 kB in 1s (422 kB/s) 471s Selecting previously unselected package libtemplate-alloy-perl. 471s (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 ... 74306 files and directories currently installed.) 471s Preparing to unpack .../libtemplate-alloy-perl_1.022-2_all.deb ... 471s Unpacking libtemplate-alloy-perl (1.022-2) ... 471s Selecting previously unselected package dctrl-tools. 471s Preparing to unpack .../dctrl-tools_2.24-3build2_arm64.deb ... 471s Unpacking dctrl-tools (2.24-3build2) ... 471s Selecting previously unselected package autodep8. 471s Preparing to unpack .../archives/autodep8_0.28_all.deb ... 471s Unpacking autodep8 (0.28) ... 471s Selecting previously unselected package pkg-perl-autopkgtest. 471s Preparing to unpack .../pkg-perl-autopkgtest_0.77_all.deb ... 471s Unpacking pkg-perl-autopkgtest (0.77) ... 471s Setting up libtemplate-alloy-perl (1.022-2) ... 471s Setting up dctrl-tools (2.24-3build2) ... 471s Setting up autodep8 (0.28) ... 471s Setting up pkg-perl-autopkgtest (0.77) ... 471s Setting up autopkgtest-satdep (0) ... 471s Processing triggers for man-db (2.12.0-3) ... 476s (Reading database ... 74430 files and directories currently installed.) 476s Removing autopkgtest-satdep (0) ... 478s autopkgtest [22:35:36]: test autodep8-perl-recommends: /usr/share/pkg-perl-autopkgtest/runner runtime-deps-and-recommends 478s autopkgtest [22:35:36]: test autodep8-perl-recommends: [----------------------- 479s /usr/share/pkg-perl-autopkgtest/runtime-deps-and-recommends.d/syntax.t .. 479s 1..4 479s ok 1 - Package libtemplate-alloy-perl is known to dpkg 479s ok 2 - Got status information for package libtemplate-alloy-perl 479s ok 3 - Got file list for package libtemplate-alloy-perl 479s # Subtest: all modules in libtemplate-alloy-perl pass the syntax check 479s 1..14 479s # Name "Template::Alloy::Play::DIRECTIVES" used only once: possible typo at /usr/share/perl5/Template/Alloy/Compile.pm line 213. 479s # Name "Template::Alloy::OP_DISPATCH" used only once: possible typo at /usr/share/perl5/Template/Alloy/Compile.pm line 633. 479s ok 1 - /usr/bin/perl -wc /usr/share/perl5/Template/Alloy/Compile.pm exited successfully 479s ok 2 - /usr/bin/perl -wc /usr/share/perl5/Template/Alloy/Context.pm exited successfully 479s ok 3 - /usr/bin/perl -wc /usr/share/perl5/Template/Alloy/Exception.pm exited successfully 479s # Name "Template::Alloy::Parse::ALIASES" used only once: possible typo at /usr/share/perl5/Template/Alloy/HTE.pm line 51. 479s # Name "Template::Alloy::Parse::DIRECTIVES" used only once: possible typo at /usr/share/perl5/Template/Alloy/HTE.pm line 50. 479s ok 4 - /usr/bin/perl -wc /usr/share/perl5/Template/Alloy/HTE.pm exited successfully 479s ok 5 - /usr/bin/perl -wc /usr/share/perl5/Template/Alloy/Iterator.pm exited successfully 479s # Subroutine new redefined at /usr/share/perl5/Template/Alloy/Operator.pm line 19. 479s # Subroutine _op_qr redefined at /usr/share/perl5/Template/Alloy/Operator.pm line 81. 479s # Subroutine _build_ops redefined at /usr/share/perl5/Template/Alloy/Operator.pm line 91. 479s # Subroutine play_operator redefined at /usr/share/perl5/Template/Alloy/Operator.pm line 105. 479s # Subroutine define_operator redefined at /usr/share/perl5/Template/Alloy/Operator.pm line 200. 479s ok 6 - /usr/bin/perl -wc /usr/share/perl5/Template/Alloy/Operator.pm exited successfully 479s ok 7 - /usr/bin/perl -wc /usr/share/perl5/Template/Alloy/Parse.pm exited successfully 479s # Name "Template::View::ERROR" used only once: possible typo at /usr/share/perl5/Template/Alloy/Play.pm line 919. 479s # Name "Template::Plugins::PLUGIN_BASE" used only once: possible typo at /usr/share/perl5/Template/Alloy/Play.pm line 841. 479s ok 8 - /usr/bin/perl -wc /usr/share/perl5/Template/Alloy/Play.pm exited successfully 479s ok 9 - /usr/bin/perl -wc /usr/share/perl5/Template/Alloy/Stream.pm exited successfully 479s # Name "Template::Alloy::Parse::QR_DIRECTIVE" used only once: possible typo at /usr/share/perl5/Template/Alloy/TT.pm line 145. 479s # Name "Template::Alloy::Parse::DIRECTIVES" used only once: possible typo at /usr/share/perl5/Template/Alloy/TT.pm line 36. 479s # Name "Template::Alloy::Parse::ALIASES" used only once: possible typo at /usr/share/perl5/Template/Alloy/TT.pm line 37. 479s ok 10 - /usr/bin/perl -wc /usr/share/perl5/Template/Alloy/TT.pm exited successfully 479s # Name "Template::Alloy::Parse::ALIASES" used only once: possible typo at /usr/share/perl5/Template/Alloy/Tmpl.pm line 23. 479s ok 11 - /usr/bin/perl -wc /usr/share/perl5/Template/Alloy/Tmpl.pm exited successfully 479s # Subroutine new redefined at /usr/share/perl5/Template/Alloy/VMethod.pm line 21. 479s # Subroutine json redefined at /usr/share/perl5/Template/Alloy/VMethod.pm line 26. 479s # Subroutine jsonp redefined at /usr/share/perl5/Template/Alloy/VMethod.pm line 27. 479s # Subroutine define_vmethod redefined at /usr/share/perl5/Template/Alloy/VMethod.pm line 169. 479s # Subroutine vmethod_fmt_scalar redefined at /usr/share/perl5/Template/Alloy/VMethod.pm line 179. 479s # Subroutine vmethod_fmt_list redefined at /usr/share/perl5/Template/Alloy/VMethod.pm line 187. 479s # Subroutine vmethod_fmt_hash redefined at /usr/share/perl5/Template/Alloy/VMethod.pm line 196. 479s # Subroutine vmethod_chunk redefined at /usr/share/perl5/Template/Alloy/VMethod.pm line 206. 479s # Subroutine vmethod_indent redefined at /usr/share/perl5/Template/Alloy/VMethod.pm line 220. 479s # Subroutine vmethod_format redefined at /usr/share/perl5/Template/Alloy/VMethod.pm line 228. 479s # Subroutine vmethod_list_hash redefined at /usr/share/perl5/Template/Alloy/VMethod.pm line 238. 479s # Subroutine vmethod_match redefined at /usr/share/perl5/Template/Alloy/VMethod.pm line 245. 479s # Subroutine vmethod_nsort redefined at /usr/share/perl5/Template/Alloy/VMethod.pm line 252. 479s # Subroutine vmethod_pick redefined at /usr/share/perl5/Template/Alloy/VMethod.pm line 261. 479s # Subroutine vmethod_repeat redefined at /usr/share/perl5/Template/Alloy/VMethod.pm line 270. 479s # Subroutine vmethod_replace redefined at /usr/share/perl5/Template/Alloy/VMethod.pm line 280. 479s # Subroutine vmethod_return redefined at /usr/share/perl5/Template/Alloy/VMethod.pm line 303. 479s # Subroutine vmethod_sort redefined at /usr/share/perl5/Template/Alloy/VMethod.pm line 308. 479s # Subroutine vmethod_splice redefined at /usr/share/perl5/Template/Alloy/VMethod.pm line 321. 479s # Subroutine vmethod_split redefined at /usr/share/perl5/Template/Alloy/VMethod.pm line 333. 479s # Subroutine vmethod_substr redefined at /usr/share/perl5/Template/Alloy/VMethod.pm line 340. 479s # Subroutine vmethod_uri redefined at /usr/share/perl5/Template/Alloy/VMethod.pm line 350. 479s # Subroutine vmethod_url redefined at /usr/share/perl5/Template/Alloy/VMethod.pm line 358. 479s # Subroutine item_method_redirect redefined at /usr/share/perl5/Template/Alloy/VMethod.pm line 366. 479s ok 12 - /usr/bin/perl -wc /usr/share/perl5/Template/Alloy/VMethod.pm exited successfully 479s # Name "Template::Alloy::Parse::DIRECTIVES" used only once: possible typo at /usr/share/perl5/Template/Alloy/Velocity.pm line 39. 479s ok 13 - /usr/bin/perl -wc /usr/share/perl5/Template/Alloy/Velocity.pm exited successfully 479s # Subroutine AUTOLOAD redefined at /usr/share/perl5/Template/Alloy.pm line 49. 479s # Subroutine can redefined at /usr/share/perl5/Template/Alloy.pm line 59. 479s # Subroutine DESTROY redefined at /usr/share/perl5/Template/Alloy.pm line 65. 479s # Subroutine import redefined at /usr/share/perl5/Template/Alloy.pm line 67. 479s # Subroutine new redefined at /usr/share/perl5/Template/Alloy.pm line 101. 479s # Subroutine run redefined at /usr/share/perl5/Template/Alloy.pm line 115. 479s # Subroutine process_simple redefined at /usr/share/perl5/Template/Alloy.pm line 117. 479s # Subroutine _process redefined at /usr/share/perl5/Template/Alloy.pm line 142. 479s # Subroutine load_template redefined at /usr/share/perl5/Template/Alloy.pm line 198. 479s # Subroutine string_id redefined at /usr/share/perl5/Template/Alloy.pm line 342. 479s # Subroutine load_tree redefined at /usr/share/perl5/Template/Alloy.pm line 355. 479s # Subroutine play_expr redefined at /usr/share/perl5/Template/Alloy.pm line 411. 479s # Subroutine set_variable redefined at /usr/share/perl5/Template/Alloy.pm line 620. 479s # Subroutine _vars redefined at /usr/share/perl5/Template/Alloy.pm line 770. 479s # Subroutine include_filename redefined at /usr/share/perl5/Template/Alloy.pm line 776. 479s # Subroutine include_paths redefined at /usr/share/perl5/Template/Alloy.pm line 801. 479s # Subroutine split_paths redefined at /usr/share/perl5/Template/Alloy.pm line 812. 479s # Subroutine slurp redefined at /usr/share/perl5/Template/Alloy.pm line 820. 479s # Subroutine error redefined at /usr/share/perl5/Template/Alloy.pm line 837. 479s # Subroutine exception redefined at /usr/share/perl5/Template/Alloy.pm line 839. 479s # Subroutine throw redefined at /usr/share/perl5/Template/Alloy.pm line 861. 479s # Subroutine context redefined at /usr/share/perl5/Template/Alloy.pm line 863. 479s # Subroutine iterator redefined at /usr/share/perl5/Template/Alloy.pm line 869. 479s # Subroutine undefined_get redefined at /usr/share/perl5/Template/Alloy.pm line 875. 479s # Subroutine undefined_any redefined at /usr/share/perl5/Template/Alloy.pm line 881. 479s # Subroutine strict_throw redefined at /usr/share/perl5/Template/Alloy.pm line 887. 479s # Subroutine list_filters redefined at /usr/share/perl5/Template/Alloy.pm line 897. 479s # Subroutine debug_node redefined at /usr/share/perl5/Template/Alloy.pm line 899. 479s # Subroutine node_info redefined at /usr/share/perl5/Template/Alloy.pm line 907. 479s # Subroutine get_line_number_by_index redefined at /usr/share/perl5/Template/Alloy.pm line 928. 479s # Subroutine ast_string redefined at /usr/share/perl5/Template/Alloy.pm line 961. 479s # Subroutine tt_var_string redefined at /usr/share/perl5/Template/Alloy.pm line 972. 479s # Subroutine item_method_eval redefined at /usr/share/perl5/Template/Alloy.pm line 988. 479s ok 14 - /usr/bin/perl -wc /usr/share/perl5/Template/Alloy.pm exited successfully 479s ok 4 - all modules in libtemplate-alloy-perl pass the syntax check 479s ok 479s All tests successful. 479s Files=1, Tests=4, 0 wallclock secs ( 0.03 usr 0.01 sys + 0.35 cusr 0.12 csys = 0.51 CPU) 479s Result: PASS 480s autopkgtest [22:35:38]: test autodep8-perl-recommends: -----------------------] 480s autodep8-perl-recommends PASS (superficial) 480s autopkgtest [22:35:38]: test autodep8-perl-recommends: - - - - - - - - - - results - - - - - - - - - - 481s autopkgtest [22:35:39]: @@@@@@@@@@@@@@@@@@@@ summary 481s autodep8-perl-build-deps PASS 481s autodep8-perl PASS (superficial) 481s autodep8-perl-recommends PASS (superficial) 492s Creating nova instance adt-noble-arm64-libtemplate-alloy-perl-20240310-222737-juju-7f2275-prod-proposed-migration-environment-3 from image adt/ubuntu-noble-arm64-server-20240308.img (UUID ddbc0ee7-bb97-4aa3-b5e1-9386758c2ba2)... 492s Creating nova instance adt-noble-arm64-libtemplate-alloy-perl-20240310-222737-juju-7f2275-prod-proposed-migration-environment-3 from image adt/ubuntu-noble-arm64-server-20240308.img (UUID ddbc0ee7-bb97-4aa3-b5e1-9386758c2ba2)... 492s Creating nova instance adt-noble-arm64-libtemplate-alloy-perl-20240310-222737-juju-7f2275-prod-proposed-migration-environment-3 from image adt/ubuntu-noble-arm64-server-20240308.img (UUID ddbc0ee7-bb97-4aa3-b5e1-9386758c2ba2)...