I: pbuilder: network access will be disabled during build I: Current time: Thu Jan 8 20:39:49 +14 2026 I: pbuilder-time-stamp: 1767854389 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/unstable-reproducible-base.tgz] I: copying local configuration W: --override-config is not set; not updating apt.conf Read the manpage for details. I: mounting /proc filesystem I: mounting /sys filesystem I: creating /{dev,run}/shm I: mounting /dev/pts filesystem I: redirecting /dev/ptmx to /dev/pts/ptmx I: policy-rc.d already exists I: Copying source file I: copying [zsh-syntax-highlighting_0.8.0-1.dsc] I: copying [./zsh-syntax-highlighting_0.8.0.orig.tar.xz] I: copying [./zsh-syntax-highlighting_0.8.0-1.debian.tar.xz] I: Extracting source gpgv: Signature made Thu Nov 21 16:07:27 2024 gpgv: using RSA key 6EB60B637CE5ACBF2449A2DADB27E997429AF20C gpgv: Can't check signature: No public key dpkg-source: warning: cannot verify inline signature for ./zsh-syntax-highlighting_0.8.0-1.dsc: no acceptable signature found dpkg-source: info: extracting zsh-syntax-highlighting in zsh-syntax-highlighting-0.8.0 dpkg-source: info: unpacking zsh-syntax-highlighting_0.8.0.orig.tar.xz dpkg-source: info: unpacking zsh-syntax-highlighting_0.8.0-1.debian.tar.xz dpkg-source: info: using patch list from debian/patches/series dpkg-source: info: applying set-version.patch dpkg-source: info: applying fix-test-failures-due-to-ps.patch dpkg-source: info: applying noop-use-slash-nonexistent.patch I: Not using root during the build. I: Installing the build-deps I: user script /srv/workspace/pbuilder/324365/tmp/hooks/D01_modify_environment starting debug: Running on infom02-amd64. I: Changing host+domainname to test build reproducibility I: Adding a custom variable just for the fun of it... I: Changing /bin/sh to bash '/bin/sh' -> '/bin/bash' lrwxrwxrwx 1 root root 9 Jan 8 06:40 /bin/sh -> /bin/bash I: Setting pbuilder2's login shell to /bin/bash I: Setting pbuilder2's GECOS to second user,second room,second work-phone,second home-phone,second other I: user script /srv/workspace/pbuilder/324365/tmp/hooks/D01_modify_environment finished I: user script /srv/workspace/pbuilder/324365/tmp/hooks/D02_print_environment starting I: set BASH=/bin/sh BASHOPTS=checkwinsize:cmdhist:complete_fullquote:extquote:force_fignore:globasciiranges:globskipdots:hostcomplete:interactive_comments:patsub_replacement:progcomp:promptvars:sourcepath BASH_ALIASES=() BASH_ARGC=() BASH_ARGV=() BASH_CMDS=() BASH_LINENO=([0]="12" [1]="0") BASH_LOADABLES_PATH=/usr/local/lib/bash:/usr/lib/bash:/opt/local/lib/bash:/usr/pkg/lib/bash:/opt/pkg/lib/bash:. BASH_SOURCE=([0]="/tmp/hooks/D02_print_environment" [1]="/tmp/hooks/D02_print_environment") BASH_VERSINFO=([0]="5" [1]="2" [2]="37" [3]="1" [4]="release" [5]="x86_64-pc-linux-gnu") BASH_VERSION='5.2.37(1)-release' BUILDDIR=/build/reproducible-path BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other' BUILDUSERNAME=pbuilder2 BUILD_ARCH=amd64 DEBIAN_FRONTEND=noninteractive DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=12 ' DIRSTACK=() DISTRIBUTION=unstable EUID=0 FUNCNAME=([0]="Echo" [1]="main") GROUPS=() HOME=/root HOSTNAME=i-capture-the-hostname HOSTTYPE=x86_64 HOST_ARCH=amd64 IFS=' ' INVOCATION_ID=ca5f2ec7db7545128598e5707c5ddfa6 LANG=C LANGUAGE=et_EE:et LC_ALL=C MACHTYPE=x86_64-pc-linux-gnu MAIL=/var/mail/root OPTERR=1 OPTIND=1 OSTYPE=linux-gnu PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path PBCURRENTCOMMANDLINEOPERATION=build PBUILDER_OPERATION=build PBUILDER_PKGDATADIR=/usr/share/pbuilder PBUILDER_PKGLIBDIR=/usr/lib/pbuilder PBUILDER_SYSCONFDIR=/etc PIPESTATUS=([0]="0") POSIXLY_CORRECT=y PPID=324365 PS4='+ ' PWD=/ SHELL=/bin/bash SHELLOPTS=braceexpand:errexit:hashall:interactive-comments:posix SHLVL=3 SUDO_COMMAND='/usr/bin/timeout -k 24.1h 24h /usr/bin/ionice -c 3 /usr/bin/nice -n 11 /usr/bin/unshare --uts -- /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.TaZ6LRIW/pbuilderrc_6yYc --distribution unstable --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/unstable-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.TaZ6LRIW/b2 --logfile b2/build.log zsh-syntax-highlighting_0.8.0-1.dsc' SUDO_GID=109 SUDO_UID=104 SUDO_USER=jenkins TERM=unknown TZ=/usr/share/zoneinfo/Etc/GMT-14 UID=0 USER=root _='I: set' I: uname -a Linux i-capture-the-hostname 6.11.5+bpo-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.11.5-1~bpo12+1 (2024-11-11) x86_64 GNU/Linux I: ls -l /bin lrwxrwxrwx 1 root root 7 Nov 22 2024 /bin -> usr/bin I: user script /srv/workspace/pbuilder/324365/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy Version: 0.invalid.0 Architecture: amd64 Maintainer: Debian Pbuilder Team Description: Dummy package to satisfy dependencies with aptitude - created by pbuilder This package was created automatically by pbuilder to satisfy the build-dependencies of the package being currently built. Depends: debhelper-compat (= 13), zsh dpkg-deb: building package 'pbuilder-satisfydepends-dummy' in '/tmp/satisfydepends-aptitude/pbuilder-satisfydepends-dummy.deb'. Selecting previously unselected package pbuilder-satisfydepends-dummy. (Reading database ... 19968 files and directories currently installed.) Preparing to unpack .../pbuilder-satisfydepends-dummy.deb ... Unpacking pbuilder-satisfydepends-dummy (0.invalid.0) ... dpkg: pbuilder-satisfydepends-dummy: dependency problems, but configuring anyway as you requested: pbuilder-satisfydepends-dummy depends on debhelper-compat (= 13); however: Package debhelper-compat is not installed. pbuilder-satisfydepends-dummy depends on zsh; however: Package zsh is not installed. Setting up pbuilder-satisfydepends-dummy (0.invalid.0) ... Reading package lists... Building dependency tree... Reading state information... Initializing package states... Writing extended state information... Building tag database... pbuilder-satisfydepends-dummy is already installed at the requested version (0.invalid.0) pbuilder-satisfydepends-dummy is already installed at the requested version (0.invalid.0) The following NEW packages will be installed: autoconf{a} automake{a} autopoint{a} autotools-dev{a} bsdextrautils{a} debhelper{a} dh-autoreconf{a} dh-strip-nondeterminism{a} dwz{a} file{a} gettext{a} gettext-base{a} groff-base{a} intltool-debian{a} libarchive-zip-perl{a} libdebhelper-perl{a} libelf1t64{a} libfile-stripnondeterminism-perl{a} libicu72{a} libmagic-mgc{a} libmagic1t64{a} libpipeline1{a} libtool{a} libuchardet0{a} libxml2{a} m4{a} man-db{a} po-debconf{a} sensible-utils{a} zsh{a} zsh-common{a} The following packages are RECOMMENDED but will NOT be installed: curl libarchive-cpio-perl libltdl-dev libmail-sendmail-perl lynx wget 0 packages upgraded, 31 newly installed, 0 to remove and 0 not upgraded. Need to get 24.9 MB of archives. After unpacking 94.9 MB will be used. Writing extended state information... Get: 1 http://deb.debian.org/debian unstable/main amd64 sensible-utils all 0.0.24 [24.8 kB] Get: 2 http://deb.debian.org/debian unstable/main amd64 libmagic-mgc amd64 1:5.45-3+b1 [314 kB] Get: 3 http://deb.debian.org/debian unstable/main amd64 libmagic1t64 amd64 1:5.45-3+b1 [108 kB] Get: 4 http://deb.debian.org/debian unstable/main amd64 file amd64 1:5.45-3+b1 [43.3 kB] Get: 5 http://deb.debian.org/debian unstable/main amd64 gettext-base amd64 0.22.5-2 [200 kB] Get: 6 http://deb.debian.org/debian unstable/main amd64 libuchardet0 amd64 0.0.8-1+b2 [68.9 kB] Get: 7 http://deb.debian.org/debian unstable/main amd64 groff-base amd64 1.23.0-6 [1184 kB] Get: 8 http://deb.debian.org/debian unstable/main amd64 bsdextrautils amd64 2.40.2-11 [91.5 kB] Get: 9 http://deb.debian.org/debian unstable/main amd64 libpipeline1 amd64 1.5.8-1 [42.0 kB] Get: 10 http://deb.debian.org/debian unstable/main amd64 man-db amd64 2.13.0-1 [1420 kB] Get: 11 http://deb.debian.org/debian unstable/main amd64 m4 amd64 1.4.19-4 [287 kB] Get: 12 http://deb.debian.org/debian unstable/main amd64 autoconf all 2.72-3 [493 kB] Get: 13 http://deb.debian.org/debian unstable/main amd64 autotools-dev all 20220109.1 [51.6 kB] Get: 14 http://deb.debian.org/debian unstable/main amd64 automake all 1:1.16.5-1.3 [823 kB] Get: 15 http://deb.debian.org/debian unstable/main amd64 autopoint all 0.22.5-2 [723 kB] Get: 16 http://deb.debian.org/debian unstable/main amd64 libdebhelper-perl all 13.20 [89.7 kB] Get: 17 http://deb.debian.org/debian unstable/main amd64 libtool all 2.4.7-8 [517 kB] Get: 18 http://deb.debian.org/debian unstable/main amd64 dh-autoreconf all 20 [17.1 kB] Get: 19 http://deb.debian.org/debian unstable/main amd64 libarchive-zip-perl all 1.68-1 [104 kB] Get: 20 http://deb.debian.org/debian unstable/main amd64 libfile-stripnondeterminism-perl all 1.14.0-1 [19.5 kB] Get: 21 http://deb.debian.org/debian unstable/main amd64 dh-strip-nondeterminism all 1.14.0-1 [8448 B] Get: 22 http://deb.debian.org/debian unstable/main amd64 libelf1t64 amd64 0.192-4 [189 kB] Get: 23 http://deb.debian.org/debian unstable/main amd64 dwz amd64 0.15-1+b1 [110 kB] Get: 24 http://deb.debian.org/debian unstable/main amd64 libicu72 amd64 72.1-5+b1 [9423 kB] Get: 25 http://deb.debian.org/debian unstable/main amd64 libxml2 amd64 2.12.7+dfsg+really2.9.14-0.2+b1 [699 kB] Get: 26 http://deb.debian.org/debian unstable/main amd64 gettext amd64 0.22.5-2 [1601 kB] Get: 27 http://deb.debian.org/debian unstable/main amd64 intltool-debian all 0.35.0+20060710.6 [22.9 kB] Get: 28 http://deb.debian.org/debian unstable/main amd64 po-debconf all 1.0.21+nmu1 [248 kB] Get: 29 http://deb.debian.org/debian unstable/main amd64 debhelper all 13.20 [915 kB] Get: 30 http://deb.debian.org/debian unstable/main amd64 zsh-common all 5.9-8 [4146 kB] Get: 31 http://deb.debian.org/debian unstable/main amd64 zsh amd64 5.9-8+b2 [915 kB] Fetched 24.9 MB in 1s (27.5 MB/s) debconf: delaying package configuration, since apt-utils is not installed Selecting previously unselected package sensible-utils. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 19968 files and directories currently installed.) Preparing to unpack .../00-sensible-utils_0.0.24_all.deb ... Unpacking sensible-utils (0.0.24) ... Selecting previously unselected package libmagic-mgc. Preparing to unpack .../01-libmagic-mgc_1%3a5.45-3+b1_amd64.deb ... Unpacking libmagic-mgc (1:5.45-3+b1) ... Selecting previously unselected package libmagic1t64:amd64. Preparing to unpack .../02-libmagic1t64_1%3a5.45-3+b1_amd64.deb ... Unpacking libmagic1t64:amd64 (1:5.45-3+b1) ... Selecting previously unselected package file. Preparing to unpack .../03-file_1%3a5.45-3+b1_amd64.deb ... Unpacking file (1:5.45-3+b1) ... Selecting previously unselected package gettext-base. Preparing to unpack .../04-gettext-base_0.22.5-2_amd64.deb ... Unpacking gettext-base (0.22.5-2) ... Selecting previously unselected package libuchardet0:amd64. Preparing to unpack .../05-libuchardet0_0.0.8-1+b2_amd64.deb ... Unpacking libuchardet0:amd64 (0.0.8-1+b2) ... Selecting previously unselected package groff-base. Preparing to unpack .../06-groff-base_1.23.0-6_amd64.deb ... Unpacking groff-base (1.23.0-6) ... Selecting previously unselected package bsdextrautils. Preparing to unpack .../07-bsdextrautils_2.40.2-11_amd64.deb ... Unpacking bsdextrautils (2.40.2-11) ... Selecting previously unselected package libpipeline1:amd64. Preparing to unpack .../08-libpipeline1_1.5.8-1_amd64.deb ... Unpacking libpipeline1:amd64 (1.5.8-1) ... Selecting previously unselected package man-db. Preparing to unpack .../09-man-db_2.13.0-1_amd64.deb ... Unpacking man-db (2.13.0-1) ... Selecting previously unselected package m4. Preparing to unpack .../10-m4_1.4.19-4_amd64.deb ... Unpacking m4 (1.4.19-4) ... Selecting previously unselected package autoconf. Preparing to unpack .../11-autoconf_2.72-3_all.deb ... Unpacking autoconf (2.72-3) ... Selecting previously unselected package autotools-dev. Preparing to unpack .../12-autotools-dev_20220109.1_all.deb ... Unpacking autotools-dev (20220109.1) ... Selecting previously unselected package automake. Preparing to unpack .../13-automake_1%3a1.16.5-1.3_all.deb ... Unpacking automake (1:1.16.5-1.3) ... Selecting previously unselected package autopoint. Preparing to unpack .../14-autopoint_0.22.5-2_all.deb ... Unpacking autopoint (0.22.5-2) ... Selecting previously unselected package libdebhelper-perl. Preparing to unpack .../15-libdebhelper-perl_13.20_all.deb ... Unpacking libdebhelper-perl (13.20) ... Selecting previously unselected package libtool. Preparing to unpack .../16-libtool_2.4.7-8_all.deb ... Unpacking libtool (2.4.7-8) ... Selecting previously unselected package dh-autoreconf. Preparing to unpack .../17-dh-autoreconf_20_all.deb ... Unpacking dh-autoreconf (20) ... Selecting previously unselected package libarchive-zip-perl. Preparing to unpack .../18-libarchive-zip-perl_1.68-1_all.deb ... Unpacking libarchive-zip-perl (1.68-1) ... Selecting previously unselected package libfile-stripnondeterminism-perl. Preparing to unpack .../19-libfile-stripnondeterminism-perl_1.14.0-1_all.deb ... Unpacking libfile-stripnondeterminism-perl (1.14.0-1) ... Selecting previously unselected package dh-strip-nondeterminism. Preparing to unpack .../20-dh-strip-nondeterminism_1.14.0-1_all.deb ... Unpacking dh-strip-nondeterminism (1.14.0-1) ... Selecting previously unselected package libelf1t64:amd64. Preparing to unpack .../21-libelf1t64_0.192-4_amd64.deb ... Unpacking libelf1t64:amd64 (0.192-4) ... Selecting previously unselected package dwz. Preparing to unpack .../22-dwz_0.15-1+b1_amd64.deb ... Unpacking dwz (0.15-1+b1) ... Selecting previously unselected package libicu72:amd64. Preparing to unpack .../23-libicu72_72.1-5+b1_amd64.deb ... Unpacking libicu72:amd64 (72.1-5+b1) ... Selecting previously unselected package libxml2:amd64. Preparing to unpack .../24-libxml2_2.12.7+dfsg+really2.9.14-0.2+b1_amd64.deb ... Unpacking libxml2:amd64 (2.12.7+dfsg+really2.9.14-0.2+b1) ... Selecting previously unselected package gettext. Preparing to unpack .../25-gettext_0.22.5-2_amd64.deb ... Unpacking gettext (0.22.5-2) ... Selecting previously unselected package intltool-debian. Preparing to unpack .../26-intltool-debian_0.35.0+20060710.6_all.deb ... Unpacking intltool-debian (0.35.0+20060710.6) ... Selecting previously unselected package po-debconf. Preparing to unpack .../27-po-debconf_1.0.21+nmu1_all.deb ... Unpacking po-debconf (1.0.21+nmu1) ... Selecting previously unselected package debhelper. Preparing to unpack .../28-debhelper_13.20_all.deb ... Unpacking debhelper (13.20) ... Selecting previously unselected package zsh-common. Preparing to unpack .../29-zsh-common_5.9-8_all.deb ... Unpacking zsh-common (5.9-8) ... Selecting previously unselected package zsh. Preparing to unpack .../30-zsh_5.9-8+b2_amd64.deb ... Unpacking zsh (5.9-8+b2) ... Setting up libpipeline1:amd64 (1.5.8-1) ... Setting up libicu72:amd64 (72.1-5+b1) ... Setting up bsdextrautils (2.40.2-11) ... Setting up libmagic-mgc (1:5.45-3+b1) ... Setting up zsh-common (5.9-8) ... Setting up libarchive-zip-perl (1.68-1) ... Setting up libdebhelper-perl (13.20) ... Setting up libmagic1t64:amd64 (1:5.45-3+b1) ... Setting up gettext-base (0.22.5-2) ... Setting up m4 (1.4.19-4) ... Setting up file (1:5.45-3+b1) ... Setting up libelf1t64:amd64 (0.192-4) ... Setting up autotools-dev (20220109.1) ... Setting up autopoint (0.22.5-2) ... Setting up autoconf (2.72-3) ... Setting up dwz (0.15-1+b1) ... Setting up sensible-utils (0.0.24) ... Setting up libuchardet0:amd64 (0.0.8-1+b2) ... Setting up zsh (5.9-8+b2) ... Setting up libxml2:amd64 (2.12.7+dfsg+really2.9.14-0.2+b1) ... Setting up automake (1:1.16.5-1.3) ... update-alternatives: using /usr/bin/automake-1.16 to provide /usr/bin/automake (automake) in auto mode Setting up libfile-stripnondeterminism-perl (1.14.0-1) ... Setting up gettext (0.22.5-2) ... Setting up libtool (2.4.7-8) ... Setting up intltool-debian (0.35.0+20060710.6) ... Setting up dh-autoreconf (20) ... Setting up dh-strip-nondeterminism (1.14.0-1) ... Setting up groff-base (1.23.0-6) ... Setting up po-debconf (1.0.21+nmu1) ... Setting up man-db (2.13.0-1) ... Not building database; man-db/auto-update is not 'true'. Setting up debhelper (13.20) ... Processing triggers for libc-bin (2.40-4) ... Processing triggers for debianutils (5.21) ... Reading package lists... Building dependency tree... Reading state information... Reading extended state information... Initializing package states... Writing extended state information... Building tag database... -> Finished parsing the build-deps I: Building the package I: user script /srv/workspace/pbuilder/324365/tmp/hooks/A99_set_merged_usr starting Not re-configuring usrmerge for unstable I: user script /srv/workspace/pbuilder/324365/tmp/hooks/A99_set_merged_usr finished hostname: Name or service not known I: Running cd /build/reproducible-path/zsh-syntax-highlighting-0.8.0/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-genchanges -S > ../zsh-syntax-highlighting_0.8.0-1_source.changes dpkg-buildpackage: info: source package zsh-syntax-highlighting dpkg-buildpackage: info: source version 0.8.0-1 dpkg-buildpackage: info: source distribution unstable dpkg-buildpackage: info: source changed by Daniel Shahaf dpkg-source --before-build . dpkg-buildpackage: info: host architecture amd64 dpkg-source: info: using options from zsh-syntax-highlighting-0.8.0/debian/source/options: --extend-diff-ignore=(^|/)(\.revision-hash)$ debian/rules clean dh clean dh_auto_clean make -j12 clean make[1]: Entering directory '/build/reproducible-path/zsh-syntax-highlighting-0.8.0' rm -f docs/all.md make[1]: Leaving directory '/build/reproducible-path/zsh-syntax-highlighting-0.8.0' dh_clean debian/rules binary dh binary dh_update_autotools_config dh_autoreconf dh_auto_configure dh_auto_build make -j12 "INSTALL=install --strip-program=true" make[1]: Entering directory '/build/reproducible-path/zsh-syntax-highlighting-0.8.0' cd docs && \ cp highlighters.md all.md && \ printf '\n\nIndividual highlighters documentation\n=====================================' >> all.md && \ for doc in highlighters/*.md; do printf '\n\n'; cat "$doc"; done >> all.md make[1]: Leaving directory '/build/reproducible-path/zsh-syntax-highlighting-0.8.0' dh_auto_test make -j12 test make[1]: Entering directory '/build/reproducible-path/zsh-syntax-highlighting-0.8.0' ZSH_PATCHLEVEL=debian/5.9-8+b2 Running test brackets # global (driver) tests 1..1 ok 1 # 'alias -- +foo=bar' is preserved 1..1 ## cursor-matchingbracket-line-finish # BUFFER=$': $foo[bar]' ok 1 - cardinality check 1..8 ## cursor-matchingbracket # BUFFER=$': ((( )))' ok 1 - [3,3] «(» ok 2 - [4,4] «(» ok 3 - [5,5] «(» ok 4 - [7,7] «)» ok 5 - [8,8] «)» ok 6 - [9,9] «)» ok 7 - [9,9] «)» ok 8 - cardinality check 1..1 ## empty-styles # BUFFER=$': (x)' ok 1 - cardinality check 1..15 ## loop-styles # BUFFER=$': ({[({[(x)]})]})' ok 1 - [3,3] «(» ok 2 - [4,4] «{» ok 3 - [5,5] «[» ok 4 - [6,6] «(» ok 5 - [7,7] «{» ok 6 - [8,8] «[» ok 7 - [9,9] «(» ok 8 - [11,11] «)» ok 9 - [12,12] «]» ok 10 - [13,13] «}» ok 11 - [14,14] «)» ok 12 - [15,15] «]» ok 13 - [16,16] «}» ok 14 - [17,17] «)» ok 15 - cardinality check 1..5 ## mismatch-patentheses # BUFFER=$'echo ({x}]' ok 1 - [6,6] «(» ok 2 - [7,7] «{» ok 3 - [9,9] «}» ok 4 - [10,10] «]» ok 5 - cardinality check 1..5 ## near-quotes # BUFFER=$': {"{x}"}' ok 1 - [3,3] «{» ok 2 - [5,5] «{» ok 3 - [7,7] «}» ok 4 - [9,9] «}» ok 5 - cardinality check 1..7 ## nested-parentheses # BUFFER=$'echo $(echo ${(z)array})' ok 1 - [7,7] «(» ok 2 - [14,14] «{» ok 3 - [15,15] «(» ok 4 - [17,17] «)» ok 5 - [23,23] «}» ok 6 - [24,24] «)» ok 7 - cardinality check 1..2 ## only-error # BUFFER=$': x)' ok 1 - [4,4] «)» ok 2 - cardinality check 1..2 ## quoted-patentheses # BUFFER=$'echo "foo ( bar"' ok 1 - [11,11] «(» ok 2 - cardinality check 1..5 ## simple-parentheses # BUFFER=$'echo ({x})' ok 1 - [6,6] «(» ok 2 - [7,7] «{» ok 3 - [9,9] «}» ok 4 - [10,10] «)» ok 5 - cardinality check 1..4 ## unclosed-patentheses # BUFFER=$'echo ({x}' ok 1 - [6,6] «(» ok 2 - [7,7] «{» ok 3 - [9,9] «}» ok 4 - cardinality check 1..4 ## unclosed-patentheses2 # BUFFER=$'echo {x})' ok 1 - [6,6] «{» ok 2 - [8,8] «}» ok 3 - [9,9] «)» ok 4 - cardinality check Running test main # global (driver) tests 1..1 ok 1 # 'alias -- +foo=bar' is preserved 1..2 ## abspath-in-command-position1 # BUFFER=$'/' ok 1 - [1,1] «/» ok 2 - cardinality check 1..2 ## abspath-in-command-position1b # BUFFER=$'/' ok 1 - [1,1] «/» ok 2 - cardinality check 1..2 ## abspath-in-command-position2 # BUFFER=$'/bi' ok 1 - [1,3] «/bi» ok 2 - cardinality check 1..4 ## abspath-in-command-position3 # BUFFER=$'/bin; /bin' ok 1 - [1,4] «/bin» ok 2 - [5,5] «;» ok 3 - [7,10] «/bin» ok 4 - cardinality check 1..4 ## abspath-in-command-position3b # BUFFER=$'/bin; /bin' ok 1 - [1,4] «/bin» ok 2 - [5,5] «;» ok 3 - [7,10] «/bin» ok 4 - cardinality check 1..2 ## abspath-in-command-position4 # BUFFER=$'/bin/s' ok 1 - [1,6] «/bin/s» ok 2 - cardinality check 1..2 ## abspath-in-command-position5 # BUFFER=$'/bin/sh' ok 1 - [1,7] «/bin/sh» ok 2 - cardinality check 1..3 ## alias-assignment1 # BUFFER=$'x=y ls' ok 1 - [1,3] «x=y» ok 2 - [5,6] «ls» ok 3 - cardinality check 1..2 ## alias-basic # BUFFER=$'foo' ok 1 - [1,3] «foo» ok 2 - cardinality check 1..3 ## alias-brackets # BUFFER=$'] /' ok 1 - [1,1] «]» ok 2 - [3,3] «/» ok 3 - cardinality check 1..2 ## alias-command-substitution # BUFFER=$'foobar' ok 1 - [1,6] «foobar» ok 2 - cardinality check 1..2 ## alias-comment1 # BUFFER=$'x' ok 1 - [1,1] «x» ok 2 - cardinality check 1..2 ## alias-comment2 # BUFFER=$'x' ok 1 - [1,1] «x» ok 2 - cardinality check 1..4 ## alias-complex # BUFFER=$'x file echo' ok 1 - [1,1] «x» ok 2 - [3,6] «file» ok 3 - [8,11] «echo» ok 4 - cardinality check 1..4 ## alias-empty # BUFFER=$'x echo foo' ok 1 - [1,1] «x» ok 2 - [3,6] «echo» ok 3 - [8,10] «foo» ok 4 - cardinality check 1..2 ## alias-eponymous1 # BUFFER=$'ls' ok 1 - [1,2] «ls» ok 2 - cardinality check 1..2 ## alias-eponymous2 # BUFFER=$'ls' ok 1 - [1,2] «ls» ok 2 - cardinality check 1..8 ## alias-in-cmdsubst # BUFFER=$'s=$(p foo)' ok 1 - [1,10] «s=$(p foo)» ok 2 - [3,10] «$(p foo)» ok 3 - [3,10] «$(p foo)» ok 4 - [3,4] «$(» ok 5 - [5,5] «p» ok 6 - [7,9] «foo» ok 7 - [10,10] «)» ok 8 - cardinality check 1..5 ## alias-loop # BUFFER=$'a foo; :' ok 1 - [1,1] «a» ok 2 - [3,5] «foo» ok 3 - [6,6] «;» ok 4 - [8,8] «:» ok 5 - cardinality check 1..2 ## alias-loop2 # BUFFER=$'ls' ok 1 - [1,2] «ls» ok 2 - cardinality check 1..7 ## alias-nested-precommand # BUFFER=$'a -u phy1729 echo; :' ok 1 - [1,1] «a» ok 2 - [3,4] «-u» ok 3 - [6,12] «phy1729» ok 4 - [14,17] «echo» ok 5 - [18,18] «;» ok 6 - [20,20] «:» ok 7 - cardinality check 1..5 ## alias-nested # BUFFER=$'a foo; :' ok 1 - [1,1] «a» ok 2 - [3,5] «foo» ok 3 - [6,6] «;» ok 4 - [8,8] «:» ok 5 - cardinality check 1..2 ## alias-parameter # BUFFER=$'$foo' ok 1 - [1,4] «$foo» ok 2 - cardinality check 1..5 ## alias-precommand-option-argument1 # BUFFER=$'sudo_u phy1729 echo foo' ok 1 - [1,6] «sudo_u» ok 2 - [8,14] «phy1729» not ok 3 - [16,19] «echo» - expected (17 19 "command"), observed (16 19 "builtin"). # TODO "issue #540" ok 4 - [21,23] «foo» ok 5 - cardinality check # SKIP cardinality check disabled whilst regular test points are expected to fail 1..5 ## alias-precommand-option-argument2 # BUFFER=$'sudo_b_u phy1729 echo foo' ok 1 - [1,8] «sudo_b_u» ok 2 - [10,16] «phy1729» not ok 3 - [18,21] «echo» - expected (18 21 "command"), observed (18 21 "builtin"). # TODO "issue #540" ok 4 - [23,25] «foo» ok 5 - cardinality check # SKIP cardinality check disabled whilst regular test points are expected to fail 1..5 ## alias-precommand-option-argument3 # BUFFER=$'sudo_u phy1729 ls foo' ok 1 - [1,6] «sudo_u» ok 2 - [8,14] «phy1729» ok 3 - [16,17] «ls» ok 4 - [19,21] «foo» ok 5 - cardinality check 1..5 ## alias-precommand-option-argument4 # BUFFER=$'sudo_b_u phy1729 ls foo' ok 1 - [1,8] «sudo_b_u» ok 2 - [10,16] «phy1729» ok 3 - [18,19] «ls» ok 4 - [21,23] «foo» ok 5 - cardinality check 1..5 ## alias-quoted # BUFFER=$'"a" foo; \\ls' ok 1 - [1,3] «"a"» ok 2 - [5,7] «foo» ok 3 - [8,8] «;» ok 4 - [10,12] «\ls» ok 5 - cardinality check 1..5 ## alias-redirect # BUFFER=$'x foo echo bar' ok 1 - [1,1] «x» ok 2 - [3,5] «foo» ok 3 - [7,10] «echo» ok 4 - [12,14] «bar» ok 5 - cardinality check 1..4 ## alias-reuse1 # BUFFER=$'b | b' ok 1 - [1,1] «b» ok 2 - [3,3] «|» ok 3 - [5,5] «b» ok 4 - cardinality check 1..4 ## alias-reuse2 # BUFFER=$'b && b' ok 1 - [1,1] «b» ok 2 - [3,4] «&&» ok 3 - [6,6] «b» ok 4 - cardinality check 1..4 ## alias-reuse3 # BUFFER=$'b; b' ok 1 - [1,1] «b» ok 2 - [2,2] «;» ok 3 - [4,4] «b» ok 4 - cardinality check 1..7 ## alias-reuse4 # BUFFER=$'b $(b)' ok 1 - [1,1] «b» ok 2 - [3,6] «$(b)» ok 3 - [3,6] «$(b)» ok 4 - [3,4] «$(» ok 5 - [5,5] «b» ok 6 - [6,6] «)» ok 7 - cardinality check 1..8 ## alias-reuse5 # BUFFER=$'b < <(b)' ok 1 - [1,1] «b» ok 2 - [3,3] «<» ok 3 - [5,8] «<(b)» ok 4 - [5,8] «<(b)» ok 5 - [5,6] «<(» ok 6 - [7,7] «b» ok 7 - [8,8] «)» ok 8 - cardinality check 1..3 ## alias-self # BUFFER=$'echo bar' ok 1 - [1,4] «echo» ok 2 - [6,8] «bar» ok 3 - cardinality check 1..2 ## alias-self2 # BUFFER=$'cat' ok 1 - [1,3] «cat» ok 2 - cardinality check 1..2 ## alias-to-dir # BUFFER=$'x' ok 1 - [1,1] «x» ok 2 - cardinality check 1..2 ## alias-to-dir1b # BUFFER=$'x' ok 1 - [1,1] «x» ok 2 - cardinality check 1..2 ## alias-unknown-token1 # BUFFER=$'a ' ok 1 - [1,1] «a» ok 2 - cardinality check 1..2 ## alias-unknown-token2 # BUFFER=$'a ' ok 1 - [1,1] «a» ok 2 - cardinality check 1..6 ## alias # BUFFER=$'x.alias2; alias1; alias2' ok 1 - [1,8] «x.alias2» ok 2 - [9,9] «;» ok 3 - [11,16] «alias1» ok 4 - [17,17] «;» ok 5 - [19,24] «alias2» ok 6 - cardinality check 1..8 ## always1 # BUFFER=$'{ ls } always { pwd }' ok 1 - [1,1] «{» ok 2 - [3,4] «ls» ok 3 - [6,6] «}» ok 4 - [8,13] «always» ok 5 - [15,15] «{» ok 6 - [17,19] «pwd» ok 7 - [21,21] «}» ok 8 - cardinality check 1..10 ## always2 # BUFFER=$'{\nls\n} always { pwd }' ok 1 - [1,1] «{» ok 2 - [2,2] «↵» ok 3 - [3,4] «ls» ok 4 - [5,5] «↵» ok 5 - [6,6] «}» ok 6 - [8,13] «always» ok 7 - [15,15] «{» ok 8 - [17,19] «pwd» ok 9 - [21,21] «}» ok 10 - cardinality check 1..9 ## always3 # BUFFER=$'echo { foo } always { bar }' ok 1 - [1,4] «echo» ok 2 - [6,6] «{» ok 3 - [8,10] «foo» ok 4 - [12,12] «}» ok 5 - [14,19] «always» ok 6 - [21,21] «{» ok 7 - [23,25] «bar» ok 8 - [27,27] «}» ok 9 - cardinality check 1..12 ## anonymous-function # BUFFER=$'() echo hello; () { echo world } "argument"' ok 1 - [1,2] «()» ok 2 - [4,7] «echo» ok 3 - [9,13] «hello» ok 4 - [14,14] «;» ok 5 - [16,17] «()» ok 6 - [19,19] «{» ok 7 - [21,24] «echo» ok 8 - [26,30] «world» ok 9 - [32,32] «}» ok 10 - [34,43] «"argument"» ok 11 - [34,43] «"argument"» ok 12 - cardinality check 1..2 ## arg0-colon # BUFFER=$'\'x: /' ok 1 - [1,5] «'x: /» ok 2 - cardinality check 1..13 ## arith-cmdsubst-mess # BUFFER=$': $((ls); (ls))' ok 1 - [1,1] «:» ok 2 - [3,15] «$((ls); (ls))» ok 3 - [3,15] «$((ls); (ls))» ok 4 - [3,4] «$(» ok 5 - [5,5] «(» ok 6 - [6,7] «ls» ok 7 - [8,8] «)» ok 8 - [9,9] «;» ok 9 - [11,11] «(» ok 10 - [12,13] «ls» ok 11 - [14,14] «)» ok 12 - [15,15] «)» ok 13 - cardinality check 1..4 ## arith1 # BUFFER=$': $(( 6 * 9 ))' ok 1 - [1,1] «:» ok 2 - [3,14] «$(( 6 * 9 ))» ok 3 - [3,14] «$(( 6 * 9 ))» ok 4 - cardinality check 1..5 ## arith2 # BUFFER=$': "$(( 6 * 9 ))"' ok 1 - [1,1] «:» ok 2 - [3,16] «"$(( 6 * 9 ))"» ok 3 - [3,16] «"$(( 6 * 9 ))"» ok 4 - [4,15] «$(( 6 * 9 ))» ok 5 - cardinality check 1..9 ## arithmetic-command-substitution # BUFFER=$': $(( $(echo 2) + 2 ))' ok 1 - [1,1] «:» ok 2 - [3,22] «$(( $(echo 2) + 2 ))» ok 3 - [3,22] «$(( $(echo 2) + 2 ))» ok 4 - [7,15] «$(echo 2)» ok 5 - [7,8] «$(» ok 6 - [9,12] «echo» ok 7 - [14,14] «2» ok 8 - [15,15] «)» ok 9 - cardinality check 1..4 ## arithmetic-doubled-parens # BUFFER=$': $(( ((42)) ))' ok 1 - [1,1] «:» ok 2 - [3,15] «$(( ((42)) ))» ok 3 - [3,15] «$(( ((42)) ))» ok 4 - cardinality check 1..6 ## arithmetic-empty # BUFFER=$': "foo"$(())"bar"' ok 1 - [1,1] «:» ok 2 - [3,17] «"foo"$(())"bar"» ok 3 - [3,7] «"foo"» ok 4 - [8,12] «$(())» ok 5 - [13,17] «"bar"» ok 6 - cardinality check 1..3 ## arithmetic-evaluation # BUFFER=$'(( x == 42 ))' ok 1 - [1,2] «((» ok 2 - [12,13] «))» ok 3 - cardinality check 1..5 ## arithmetic-hist-expn # BUFFER=$': $(( \!\! ))' ok 1 - [1,1] «:» ok 2 - [3,11] «$(( !! ))» ok 3 - [3,11] «$(( !! ))» not ok 4 - [7,7] «!» - expected (7 8 "history-expansion"), observed (7 7 "history-expansion"). # TODO "issue #713" ok 5 - cardinality check # SKIP cardinality check disabled whilst regular test points are expected to fail 1..6 ## arithmetic-invalid-chars # BUFFER=$': $(( 0 * 1\'\'000 ))' ok 1 - [1,1] «:» ok 2 - [3,19] «$(( 0 * 1''000 ))» ok 3 - [3,19] «$(( 0 * 1''000 ))» ok 4 - [12,12] «'» ok 5 - [13,13] «'» ok 6 - cardinality check 1..6 ## arithmetic-multiplication # BUFFER=$': foo*$(( 42 * 1729 ))*bar' ok 1 - [1,1] «:» ok 2 - [3,26] «foo*$(( 42 * 1729 ))*bar» ok 3 - [6,6] «*» ok 4 - [7,22] «$(( 42 * 1729 ))» ok 5 - [23,23] «*» ok 6 - cardinality check 1..5 ## arithmetic-nested # BUFFER=$': $(( $(( 1 + 2 )) * 3 ))' ok 1 - [1,1] «:» ok 2 - [3,25] «$(( $(( 1 + 2 )) * 3 ))» ok 3 - [3,25] «$(( $(( 1 + 2 )) * 3 ))» ok 4 - [7,18] «$(( 1 + 2 ))» ok 5 - cardinality check 1..5 ## arithmetic-quoted # BUFFER=$': "$(( 1 + 1 ))"' ok 1 - [1,1] «:» ok 2 - [3,16] «"$(( 1 + 1 ))"» ok 3 - [3,16] «"$(( 1 + 1 ))"» ok 4 - [4,15] «$(( 1 + 1 ))» ok 5 - cardinality check 1..4 ## arithmetic-unclosed # BUFFER=$': $(( 1' ok 1 - [1,1] «:» ok 2 - [3,7] «$(( 1» ok 3 - [3,7] «$(( 1» ok 4 - cardinality check 1..4 ## arithmetic-unfinished # BUFFER=$': $(( 1729 )' ok 1 - [1,1] «:» ok 2 - [3,12] «$(( 1729 )» ok 3 - [3,12] «$(( 1729 )» ok 4 - cardinality check 1..7 ## array-cmdsep1 # BUFFER=$'a=( foo | bar )' ok 1 - [1,3] «a=(» ok 2 - [3,3] «(» ok 3 - [5,7] «foo» ok 4 - [9,9] «|» ok 5 - [11,13] «bar» ok 6 - [15,15] «)» ok 7 - cardinality check 1..8 ## array-cmdsep2 # BUFFER=$'a=( foo ; bar )' ok 1 - [1,3] «a=(» ok 2 - [3,3] «(» ok 3 - [5,7] «foo» ok 4 - [9,9] «;» ok 5 - [11,13] «bar» ok 6 - [15,15] «)» ok 7 - [15,15] «)» ok 8 - cardinality check 1..8 ## array-cmdsep3 # BUFFER=$'a=( foo \n bar )' ok 1 - [1,3] «a=(» ok 2 - [3,3] «(» ok 3 - [5,7] «foo» ok 4 - [9,9] «↵» ok 5 - [11,13] «bar» ok 6 - [15,15] «)» ok 7 - [15,15] «)» ok 8 - cardinality check 1..7 ## assign-append # BUFFER=$'a+=(lorem ipsum)' ok 1 - [1,4] «a+=(» ok 2 - [4,4] «(» ok 3 - [5,9] «lorem» ok 4 - [11,15] «ipsum» ok 5 - [16,16] «)» ok 6 - [16,16] «)» ok 7 - cardinality check 1..5 ## assign-argv # BUFFER=$'42=foo 43+=bar' ok 1 - [1,6] «42=foo» ok 2 - [4,6] «foo» ok 3 - [8,14] «43+=bar» ok 4 - [12,14] «bar» ok 5 - cardinality check 1..9 ## assign-array # BUFFER=$'(A=(hello world))' ok 1 - [1,1] «(» ok 2 - [2,4] «A=(» ok 3 - [4,4] «(» ok 4 - [5,9] «hello» ok 5 - [11,15] «world» ok 6 - [16,16] «)» ok 7 - [16,16] «)» ok 8 - [17,17] «)» ok 9 - cardinality check 1..8 ## assign-array2 # BUFFER=$'A=(hello world) ls' ok 1 - [1,3] «A=(» ok 2 - [3,3] «(» ok 3 - [4,8] «hello» ok 4 - [10,14] «world» ok 5 - [15,15] «)» ok 6 - [15,15] «)» ok 7 - [17,18] «ls» ok 8 - cardinality check 1..9 ## assign-array3 # BUFFER=$'A=(hello world) b=42' ok 1 - [1,3] «A=(» ok 2 - [3,3] «(» ok 3 - [4,8] «hello» ok 4 - [10,14] «world» ok 5 - [15,15] «)» ok 6 - [15,15] «)» ok 7 - [17,20] «b=42» ok 8 - [19,20] «42» ok 9 - cardinality check 1..4 ## assign-invalid-command # BUFFER=$'x=y nosuchcommand' ok 1 - [1,3] «x=y» ok 2 - [3,3] «y» ok 3 - [5,17] «nosuchcommand» ok 4 - cardinality check 1..4 ## assign-not-array # BUFFER=$'a=foo( bar ) :' ok 1 - [1,12] «a=foo( bar )» ok 2 - [3,12] «foo( bar )» ok 3 - [14,14] «:» ok 4 - cardinality check 1..4 ## assign-not-array2 # BUFFER=$'a=foo\\( :' ok 1 - [1,7] «a=foo\(» ok 2 - [3,7] «foo\(» ok 3 - [9,9] «:» ok 4 - cardinality check 1..12 ## assign-quoted-cmdsubst # BUFFER=$'x="$(ls x y z)"' ok 1 - [1,15] «x="$(ls x y z)"» ok 2 - [3,15] «"$(ls x y z)"» ok 3 - [3,3] «"» ok 4 - [15,15] «"» ok 5 - [4,14] «$(ls x y z)» ok 6 - [4,5] «$(» ok 7 - [6,7] «ls» ok 8 - [9,9] «x» ok 9 - [11,11] «y» ok 10 - [13,13] «z» ok 11 - [14,14] «)» ok 12 - cardinality check 1..7 ## assign-semicolon # BUFFER=$'A=1; echo hello world' ok 1 - [1,3] «A=1» ok 2 - [3,3] «1» ok 3 - [4,4] «;» ok 4 - [6,9] «echo» ok 5 - [11,15] «hello» ok 6 - [17,21] «world» ok 7 - cardinality check 1..5 ## assign-subshell # BUFFER=$'(A=1)' ok 1 - [1,1] «(» ok 2 - [2,4] «A=1» ok 3 - [4,4] «1» ok 4 - [5,5] «)» ok 5 - cardinality check 1..4 ## assign-value-quote1 # BUFFER=$'s="foo\'bar"' ok 1 - [1,11] «s="foo'bar"» ok 2 - [3,11] «"foo'bar"» ok 3 - [3,11] «"foo'bar"» ok 4 - cardinality check 1..4 ## assign-value-quote2 # BUFFER=$'s="foo \'\' bar"' ok 1 - [1,14] «s="foo '' bar"» ok 2 - [3,14] «"foo '' bar"» ok 3 - [3,14] «"foo '' bar"» ok 4 - cardinality check 1..10 ## assign # BUFFER=$'A=1 b=("foo" bar)' ok 1 - [1,3] «A=1» ok 2 - [3,3] «1» ok 3 - [5,7] «b=(» ok 4 - [7,7] «(» ok 5 - [8,12] «"foo"» ok 6 - [8,12] «"foo"» ok 7 - [14,16] «bar» ok 8 - [17,17] «)» ok 9 - [17,17] «)» ok 10 - cardinality check 1..7 ## assignment-before-resword1 # BUFFER=$'foo=bar { :; }' ok 1 - [1,7] «foo=bar» ok 2 - [5,7] «bar» ok 3 - [9,9] «{» ok 4 - [11,11] «:» ok 5 - [12,12] «;» ok 6 - [14,14] «}» ok 7 - cardinality check 1..7 ## assignment-before-resword2 # BUFFER=$'foo=bar ( :; )' ok 1 - [1,7] «foo=bar» ok 2 - [5,7] «bar» ok 3 - [9,9] «(» ok 4 - [11,11] «:» ok 5 - [12,12] «;» ok 6 - [14,14] «)» ok 7 - cardinality check 1..4 ## assignment-before-resword3 # BUFFER=$'foo=bar (( foo ))' ok 1 - [1,7] «foo=bar» ok 2 - [5,7] «bar» ok 3 - [9,17] «(( foo ))» ok 4 - cardinality check 1..7 ## assignment-before-resword4 # BUFFER=$'foo=bar [[ -n foo ]]' ok 1 - [1,7] «foo=bar» ok 2 - [5,7] «bar» ok 3 - [9,10] «[[» ok 4 - [12,13] «-n» ok 5 - [15,17] «foo» ok 6 - [19,20] «]]» ok 7 - cardinality check 1..5 ## assignment-before-resword5 # BUFFER=$'foo=bar \! :' ok 1 - [1,7] «foo=bar» ok 2 - [5,7] «bar» ok 3 - [9,9] «!» ok 4 - [11,11] «:» ok 5 - cardinality check 1..4 ## assignment-quoted # BUFFER=$'1="foo"' ok 1 - [1,7] «1="foo"» ok 2 - [3,7] «"foo"» ok 3 - [3,7] «"foo"» ok 4 - cardinality check 1..26 ## back-quoted-argument # BUFFER=$'echo `echo \\`42\\`` "is `echo equal` to" `echo 6 times 9' ok 1 - [1,4] «echo» ok 2 - [6,18] «`echo \`42\``» ok 3 - [6,18] «`echo \`42\``» ok 4 - [6,6] «`» ok 5 - [7,10] «echo» ok 6 - [12,17] «\`42\`» ok 7 - [12,17] «\`42\`» ok 8 - [12,13] «\`» ok 9 - [14,15] «42» ok 10 - [16,17] «\`» ok 11 - [18,18] «`» ok 12 - [20,39] «"is `echo equal` to"» ok 13 - [20,39] «"is `echo equal` to"» ok 14 - [24,35] «`echo equal`» ok 15 - [24,24] «`» ok 16 - [25,28] «echo» ok 17 - [30,34] «equal» ok 18 - [35,35] «`» ok 19 - [41,55] «`echo 6 times 9» ok 20 - [41,55] «`echo 6 times 9» ok 21 - [41,41] «`» ok 22 - [42,45] «echo» ok 23 - [47,47] «6» ok 24 - [49,53] «times» ok 25 - [55,55] «9» ok 26 - cardinality check 1..7 ## back-quoted-open # BUFFER=$': `ls fo' ok 1 - [1,1] «:» ok 2 - [3,8] «`ls fo» ok 3 - [3,8] «`ls fo» ok 4 - [3,3] «`» ok 5 - [4,5] «ls» ok 6 - [7,8] «fo» ok 7 - cardinality check 1..2 ## backslash-continuation # PREBUFFER=$'echo \\\n' # BUFFER=$'noglob' ok 1 - [1,6] «noglob» ok 2 - cardinality check 1..4 ## backslash-continuation2 # BUFFER=$'echo foo\\\nbar"baz"' ok 1 - [1,4] «echo» not ok 2 - [6,16] «foo\↵bar"ba» - expected (6 18 "default"), observed (6 16 "default"). # TODO "issue #705" not ok 3 - [12,16] «ar"ba» - expected (14 18 "double-quoted-argument"), observed (12 16 "double-quoted-argument"). # TODO "issue #705" ok 4 - cardinality check # SKIP cardinality check disabled whilst regular test points are expected to fail 1..6 ## backslash-space # BUFFER=$'echo \\ \'foo\' ; ls' ok 1 - [1,4] «echo» ok 2 - [6,12] «\ 'foo'» ok 3 - [8,12] «'foo'» ok 4 - [14,14] «;» ok 5 - [16,17] «ls» ok 6 - cardinality check 1..2 ## backslash # BUFFER=$'\\' ok 1 - [1,1] «\» ok 2 - cardinality check 1..9 ## bang-assign-array # BUFFER=$'foo=(bar abaz) \! ls' ok 1 - [1,5] «foo=(» ok 2 - [5,5] «(» ok 3 - [6,8] «bar» ok 4 - [10,13] «abaz» ok 5 - [14,14] «)» ok 6 - [14,14] «)» ok 7 - [16,16] «!» ok 8 - [18,19] «ls» ok 9 - cardinality check 1..5 ## bang-assign-scalar # BUFFER=$'foo=bar \! ls' ok 1 - [1,7] «foo=bar» ok 2 - [5,7] «bar» ok 3 - [9,9] «!» ok 4 - [11,12] «ls» ok 5 - cardinality check 1..6 ## bang-pipeline # BUFFER=$'\! ls | \! ls' ok 1 - [1,1] «!» ok 2 - [3,4] «ls» ok 3 - [6,6] «|» ok 4 - [8,8] «!» ok 5 - [10,11] «ls» ok 6 - cardinality check 1..5 ## block-assignment-no-command # BUFFER=$'{ a=42 }' ok 1 - [1,1] «{» ok 2 - [3,6] «a=42» ok 3 - [5,6] «42» not ok 4 - [8,8] «}» - expected (8 8 "reserved"), observed (8 8 "unknown-token"). # TODO word ok 5 - cardinality check # SKIP cardinality check disabled whilst regular test points are expected to fail 1..7 ## braces1 # BUFFER=$'() { echo }\n}' ok 1 - [1,2] «()» ok 2 - [4,4] «{» ok 3 - [6,9] «echo» ok 4 - [11,11] «}» ok 5 - [12,12] «↵» ok 6 - [13,13] «}» ok 7 - cardinality check 1..7 ## braces2 # BUFFER=$'() { echo }\n}' ok 1 - [1,2] «()» ok 2 - [4,4] «{» ok 3 - [6,9] «echo» ok 4 - [11,11] «}» ok 5 - [12,12] «↵» ok 6 - [13,13] «}» ok 7 - cardinality check 1..5 ## brackets-matching1 # BUFFER=$'[[ -n foo ]]' ok 1 - [1,2] «[[» ok 2 - [4,5] «-n» ok 3 - [7,9] «foo» ok 4 - [11,12] «]]» ok 5 - cardinality check 1..5 ## brackets-matching2 # BUFFER=$'[ -n foo ]' ok 1 - [1,1] «[» ok 2 - [3,4] «-n» ok 3 - [6,8] «foo» ok 4 - [10,10] «]» ok 5 - cardinality check 1..6 ## brackets-mismatch1 # BUFFER=$'() { echo foo )' ok 1 - [1,2] «()» ok 2 - [4,4] «{» ok 3 - [6,9] «echo» ok 4 - [11,13] «foo» ok 5 - [15,15] «)» ok 6 - cardinality check 1..9 ## brackets-mismatch10-if-negative # BUFFER=$'elif true; then echo two; fi' ok 1 - [1,4] «elif» ok 2 - [6,9] «true» ok 3 - [10,10] «;» ok 4 - [12,15] «then» ok 5 - [17,20] «echo» ok 6 - [22,24] «two» ok 7 - [25,25] «;» ok 8 - [27,28] «fi» ok 9 - cardinality check 1..6 ## brackets-mismatch2 # BUFFER=$'() ( echo foo }' ok 1 - [1,2] «()» ok 2 - [4,4] «(» ok 3 - [6,9] «echo» ok 4 - [11,13] «foo» ok 5 - [15,15] «}» ok 6 - cardinality check 1..3 ## brackets-mismatch3 # BUFFER=$'echo )' ok 1 - [1,4] «echo» ok 2 - [6,6] «)» ok 3 - cardinality check 1..3 ## brackets-mismatch4 # BUFFER=$'echo }' ok 1 - [1,4] «echo» ok 2 - [6,6] «}» ok 3 - cardinality check 1..4 ## brackets-mismatch5 # BUFFER=$'echo { }' ok 1 - [1,4] «echo» ok 2 - [6,6] «{» ok 3 - [8,8] «}» ok 4 - cardinality check 1..7 ## brackets-mismatch6 # BUFFER=$'(repeat 1; do)' ok 1 - [1,1] «(» ok 2 - [2,7] «repeat» ok 3 - [9,9] «1» ok 4 - [10,10] «;» ok 5 - [12,13] «do» ok 6 - [14,14] «)» ok 7 - cardinality check 1..12 ## brackets-mismatch7 # BUFFER=$'for n in *; do echo $n; end' ok 1 - [1,3] «for» ok 2 - [5,5] «n» ok 3 - [7,8] «in» ok 4 - [10,10] «*» ok 5 - [10,10] «*» ok 6 - [11,11] «;» ok 7 - [13,14] «do» ok 8 - [16,19] «echo» ok 9 - [21,22] «$n» ok 10 - [23,23] «;» ok 11 - [25,27] «end» ok 12 - cardinality check 1..20 ## brackets-mismatch8-if-positive # BUFFER=$'if false; then echo one; elif true; then echo two; else echo three; fi' ok 1 - [1,2] «if» ok 2 - [4,8] «false» ok 3 - [9,9] «;» ok 4 - [11,14] «then» ok 5 - [16,19] «echo» ok 6 - [21,23] «one» ok 7 - [24,24] «;» ok 8 - [26,29] «elif» ok 9 - [31,34] «true» ok 10 - [35,35] «;» ok 11 - [37,40] «then» ok 12 - [42,45] «echo» ok 13 - [47,49] «two» ok 14 - [50,50] «;» ok 15 - [52,55] «else» ok 16 - [57,60] «echo» ok 17 - [62,66] «three» ok 18 - [67,67] «;» ok 19 - [69,70] «fi» ok 20 - cardinality check 1..5 ## brackets-mismatch8 # BUFFER=$'(ls&)' ok 1 - [1,1] «(» ok 2 - [2,3] «ls» ok 3 - [4,4] «&» ok 4 - [5,5] «)» ok 5 - cardinality check 1..9 ## brackets-mismatch9-if-positive # BUFFER=$'if false; then echo one; fi' ok 1 - [1,2] «if» ok 2 - [4,8] «false» ok 3 - [9,9] «;» ok 4 - [11,14] «then» ok 5 - [16,19] «echo» ok 6 - [21,23] «one» ok 7 - [24,24] «;» ok 8 - [26,27] «fi» ok 9 - cardinality check 1..7 ## brackets-premature-termination # BUFFER=$'[[ -n foo; echo ]]' ok 1 - [1,2] «[[» ok 2 - [4,5] «-n» ok 3 - [7,9] «foo» ok 4 - [10,10] «;» ok 5 - [12,15] «echo» ok 6 - [17,18] «]]» ok 7 - cardinality check 1..2 ## cdpath-abspath # BUFFER=$'/foo' ok 1 - [1,4] «/foo» ok 2 - cardinality check 1..5 ## cmdpos-elision-partial # BUFFER=$'$x -u phy1729 ls' ok 1 - [1,2] «$x» ok 2 - [4,5] «-u» ok 3 - [7,13] «phy1729» ok 4 - [15,16] «ls» ok 5 - cardinality check 1..12 ## command-substitution-adjacent # BUFFER=$'echo "$(echo)$(echo)' ok 1 - [1,4] «echo» ok 2 - [6,20] «"$(echo)$(echo)» ok 3 - [6,6] «"» ok 4 - [7,13] «$(echo)» ok 5 - [7,8] «$(» ok 6 - [9,12] «echo» ok 7 - [13,13] «)» ok 8 - [14,20] «$(echo)» ok 9 - [14,15] «$(» ok 10 - [16,19] «echo» ok 11 - [20,20] «)» ok 12 - cardinality check 1..9 ## command-substitution-in-assignment # BUFFER=$'foo=$(echo bar) :' ok 1 - [1,15] «foo=$(echo bar)» ok 2 - [5,15] «$(echo bar)» ok 3 - [5,15] «$(echo bar)» ok 4 - [5,6] «$(» ok 5 - [7,10] «echo» ok 6 - [12,14] «bar» ok 7 - [15,15] «)» ok 8 - [17,17] «:» ok 9 - cardinality check 1..7 ## command-substitution-unclosed # BUFFER=$': foo$(echo bar' ok 1 - [1,1] «:» ok 2 - [3,15] «foo$(echo bar» ok 3 - [6,15] «$(echo bar» ok 4 - [6,7] «$(» ok 5 - [8,11] «echo» ok 6 - [13,15] «bar» ok 7 - cardinality check 1..6 ## commandseparator # BUFFER=$':; pwd &\! ls' ok 1 - [1,1] «:» ok 2 - [2,2] «;» ok 3 - [4,6] «pwd» ok 4 - [8,9] «&!» ok 5 - [11,12] «ls» ok 6 - cardinality check 1..4 ## comment-followed # BUFFER=$'# foo\ntrue' ok 1 - [1,5] «♯ foo» ok 2 - [6,6] «↵» ok 3 - [7,10] «true» ok 4 - cardinality check 1..2 ## comment-leading # BUFFER=$'# echo foo' ok 1 - [1,10] «♯ echo foo» ok 2 - cardinality check 1..4 ## comment-off # BUFFER=$'# echo foo' ok 1 - [1,1] «♯» ok 2 - [3,6] «echo» ok 3 - [8,10] «foo» ok 4 - cardinality check 1..5 ## comments # BUFFER=$'echo "foo #bar" #baz # quux' ok 1 - [1,4] «echo» ok 2 - [6,15] «"foo ♯bar"» ok 3 - [6,15] «"foo ♯bar"» ok 4 - [17,27] «♯baz ♯ quux» ok 5 - cardinality check 1..8 ## commmand-parameter # BUFFER=$'$x "argument"; $y; $z' ok 1 - [1,2] «$x» ok 2 - [4,13] «"argument"» ok 3 - [4,13] «"argument"» ok 4 - [14,14] «;» ok 5 - [16,17] «$y» ok 6 - [18,18] «;» ok 7 - [20,21] «$z» ok 8 - cardinality check 1..25 ## control-flow # BUFFER=$'while if echo Hello; then ls /; else ls; fi; do stat "x"; done; repeat 10 ls' ok 1 - [1,5] «while» ok 2 - [7,8] «if» ok 3 - [10,13] «echo» ok 4 - [15,19] «Hello» ok 5 - [20,20] «;» ok 6 - [22,25] «then» ok 7 - [27,28] «ls» ok 8 - [30,30] «/» ok 9 - [31,31] «;» ok 10 - [33,36] «else» ok 11 - [38,39] «ls» ok 12 - [40,40] «;» ok 13 - [42,43] «fi» ok 14 - [44,44] «;» ok 15 - [46,47] «do» ok 16 - [49,52] «stat» ok 17 - [54,56] «"x"» ok 18 - [54,56] «"x"» ok 19 - [57,57] «;» ok 20 - [59,62] «done» ok 21 - [63,63] «;» ok 22 - [65,70] «repeat» ok 23 - [72,73] «10» ok 24 - [75,76] «ls» ok 25 - cardinality check 1..8 ## control-flow2 # BUFFER=$'repeat 42; do ls; done' ok 1 - [1,6] «repeat» ok 2 - [8,9] «42» ok 3 - [10,10] «;» ok 4 - [12,13] «do» ok 5 - [15,16] «ls» ok 6 - [17,17] «;» ok 7 - [19,22] «done» ok 8 - cardinality check 1..7 ## control-flow3 # BUFFER=$'repeat 42; ls; pwd' ok 1 - [1,6] «repeat» ok 2 - [8,9] «42» ok 3 - [10,10] «;» ok 4 - [12,13] «ls» ok 5 - [14,14] «;» ok 6 - [16,18] «pwd» ok 7 - cardinality check 1..35 ## cthulhu # BUFFER=$'echo Ph\\\'ng`echo lui "mg"\\`echo lw\\\'nafh \\\\\\`echo Cthu"lhu\\\\\\` R\\\\\'ly$(echo eh wag\\\\\\`echo h\\\'nag\\\\\\`\'l\' fht)agn`' ok 1 - [1,4] «echo» ok 2 - [6,113] «Ph\'ng`echo lui "mg"\`echo lw\'nafh \\\`echo Cthu"lhu\\\` R\\'ly$(echo eh wag\\\`echo h\'nag\\\`'l' fht)agn`» ok 3 - [12,113] «`echo lui "mg"\`echo lw\'nafh \\\`echo Cthu"lhu\\\` R\\'ly$(echo eh wag\\\`echo h\'nag\\\`'l' fht)agn`» ok 4 - [12,12] «`» ok 5 - [13,16] «echo» ok 6 - [18,20] «lui» ok 7 - [22,112] «"mg"\`echo lw\'nafh \\\`echo Cthu"lhu\\\` R\\'ly$(echo eh wag\\\`echo h\'nag\\\`'l' fht)agn» ok 8 - [22,25] «"mg"» ok 9 - [26,112] «\`echo lw\'nafh \\\`echo Cthu"lhu\\\` R\\'ly$(echo eh wag\\\`echo h\'nag\\\`'l' fht)agn» ok 10 - [26,27] «\`» ok 11 - [28,31] «echo» ok 12 - [33,40] «lw\'nafh» ok 13 - [42,62] «\\\`echo Cthu"lhu\\\`» ok 14 - [42,62] «\\\`echo Cthu"lhu\\\`» ok 15 - [42,45] «\\\`» ok 16 - [46,49] «echo» ok 17 - [51,58] «Cthu"lhu» ok 18 - [55,58] «"lhu» ok 19 - [59,62] «\\\`» ok 20 - [64,112] «R\\'ly$(echo eh wag\\\`echo h\'nag\\\`'l' fht)agn» ok 21 - [70,109] «$(echo eh wag\\\`echo h\'nag\\\`'l' fht)» ok 22 - [70,71] «$(» ok 23 - [72,75] «echo» ok 24 - [77,78] «eh» ok 25 - [80,104] «wag\\\`echo h\'nag\\\`'l'» ok 26 - [83,101] «\\\`echo h\'nag\\\`» ok 27 - [83,86] «\\\`» ok 28 - [87,90] «echo» ok 29 - [92,97] «h\'nag» ok 30 - [98,101] «\\\`» ok 31 - [102,104] «'l'» ok 32 - [106,108] «fht» ok 33 - [109,109] «)» ok 34 - [113,113] «`» ok 35 - cardinality check 1..8 ## dinbrack1 # BUFFER=$'[[ foo && bar || baz ]]' ok 1 - [1,2] «[[» ok 2 - [4,6] «foo» ok 3 - [8,9] «&&» ok 4 - [11,13] «bar» ok 5 - [15,16] «||» ok 6 - [18,20] «baz» ok 7 - [22,23] «]]» ok 8 - cardinality check 1..5 ## dirs_blacklist # BUFFER=$': foo/bar /tmp/tmp.rqLoARC3HB/foo foo/b' ok 1 - [1,1] «:» ok 2 - [3,9] «foo/bar» ok 3 - [11,33] «/tmp/tmp.rqLoARC3HB/foo» ok 4 - [35,39] «foo/b» ok 5 - cardinality check 1..6 ## dollar-dollar # BUFFER=$': "$$ $$foo"' ok 1 - [1,1] «:» ok 2 - [3,12] «"$$ $$foo"» ok 3 - [3,12] «"$$ $$foo"» ok 4 - [4,5] «$$» ok 5 - [7,8] «$$» ok 6 - cardinality check 1..9 ## dollar-noise # BUFFER=$': "$- $# $* $@ $?"' ok 1 - [1,1] «:» ok 2 - [3,18] «"$- $♯ $* $@ $?"» ok 3 - [3,18] «"$- $♯ $* $@ $?"» ok 4 - [4,5] «$-» ok 5 - [7,8] «$♯» ok 6 - [10,11] «$*» ok 7 - [13,14] «$@» ok 8 - [16,17] «$?» ok 9 - cardinality check 1..16 ## dollar-paren # BUFFER=$': "$(:)" "foo$(:)bar' ok 1 - [1,1] «:» ok 2 - [3,8] «"$(:)"» ok 3 - [3,3] «"» ok 4 - [8,8] «"» ok 5 - [4,7] «$(:)» ok 6 - [4,5] «$(» ok 7 - [6,6] «:» ok 8 - [7,7] «)» ok 9 - [10,20] «"foo$(:)bar» ok 10 - [10,13] «"foo» ok 11 - [18,20] «bar» ok 12 - [14,17] «$(:)» ok 13 - [14,15] «$(» ok 14 - [16,16] «:» ok 15 - [17,17] «)» ok 16 - cardinality check 1..6 ## dollar-quoted # BUFFER=$': $\'*\' \'foo\'' ok 1 - [1,1] «:» ok 2 - [3,6] «$'*'» ok 3 - [3,6] «$'*'» ok 4 - [8,12] «'foo'» ok 5 - [8,12] «'foo'» ok 6 - cardinality check 1..7 ## dollar-quoted2 # BUFFER=$': $\'foo\\xbar\\udeadbeef\\uzzzz\'' ok 1 - [1,1] «:» ok 2 - [3,29] «$'foo\xbar\udeadbeef\uzzzz'» ok 3 - [3,29] «$'foo\xbar\udeadbeef\uzzzz'» ok 4 - [8,11] «\xba» ok 5 - [13,18] «\udead» ok 6 - [23,24] «\u» ok 7 - cardinality check 1..5 ## dollar-quoted3 # BUFFER=$': $\'\\xa1' ok 1 - [1,1] «:» ok 2 - [3,8] «$'\xa1» ok 3 - [3,8] «$'\xa1» ok 4 - [5,8] «\xa1» ok 5 - cardinality check 1..3 ## double-hyphen-option # BUFFER=$'hello --world' ok 1 - [1,5] «hello» ok 2 - [7,13] «--world» ok 3 - cardinality check 1..9 ## double-quoted # BUFFER=$': "foo$bar:\\`:\\":\\$:\\\\:"' ok 1 - [1,1] «:» ok 2 - [3,24] «"foo$bar:\`:\":\$:\\:"» ok 3 - [3,24] «"foo$bar:\`:\":\$:\\:"» ok 4 - [7,10] «$bar» ok 5 - [12,13] «\`» ok 6 - [15,16] «\"» ok 7 - [18,19] «\$» ok 8 - [21,22] «\\» ok 9 - cardinality check 1..5 ## double-quoted2 # BUFFER=$': "foo$bar' ok 1 - [1,1] «:» ok 2 - [3,10] «"foo$bar» ok 3 - [3,10] «"foo$bar» ok 4 - [7,10] «$bar» ok 5 - cardinality check 1..9 ## double-quoted3 # BUFFER=$': "$" "$42foo" "\\\'\\x"' ok 1 - [1,1] «:» ok 2 - [3,5] «"$"» ok 3 - [3,5] «"$"» ok 4 - [7,14] «"$42foo"» ok 5 - [7,14] «"$42foo"» ok 6 - [8,10] «$42» ok 7 - [16,21] «"\'\x"» ok 8 - [16,21] «"\'\x"» ok 9 - cardinality check 1..5 ## double-quoted4 # BUFFER=$': "${foo}bar"' ok 1 - [1,1] «:» ok 2 - [3,13] «"${foo}bar"» ok 3 - [3,13] «"${foo}bar"» ok 4 - [4,9] «${foo}» ok 5 - cardinality check 1..5 ## empty-command-newline # BUFFER=$':;\n:' ok 1 - [1,1] «:» ok 2 - [2,2] «;» ok 3 - [3,3] «↵» ok 4 - [4,4] «:» ok 5 - cardinality check 1..4 ## empty-command # BUFFER=$'echo; ;' ok 1 - [1,4] «echo» ok 2 - [5,5] «;» ok 3 - [7,7] «;» ok 4 - cardinality check 1..4 ## empty-command2 # BUFFER=$'echo; ;' ok 1 - [1,4] «echo» ok 2 - [5,5] «;» ok 3 - [7,7] «;» ok 4 - cardinality check 1..3 ## empty-line # BUFFER=$'\\\n; ls' ok 1 - [3,3] «;» ok 2 - [5,6] «ls» ok 3 - cardinality check 1..3 ## equals1 # BUFFER=$': =ls' ok 1 - [1,1] «:» ok 2 - [3,5] «=ls» ok 3 - cardinality check 1..3 ## equals2 # BUFFER=$': =nosuchcommand' ok 1 - [1,1] «:» ok 2 - [3,16] «=nosuchcommand» ok 3 - cardinality check 1..3 ## equals3 # BUFFER=$': =nosuchcommand' ok 1 - [1,1] «:» ok 2 - [3,16] «=nosuchcommand» ok 3 - cardinality check 1..3 ## equals4 # BUFFER=$': =' ok 1 - [1,1] «:» ok 2 - [3,3] «=» ok 3 - cardinality check 1..5 ## escaped-single-quote # BUFFER=$': \'foo\'\\\'\'bar\'' ok 1 - [1,1] «:» ok 2 - [3,14] «'foo'\''bar'» ok 3 - [3,7] «'foo'» ok 4 - [10,14] «'bar'» ok 5 - cardinality check 1..6 ## exec-redirection1 # BUFFER=$'exec {foo}>&/tmp ls' ok 1 - [1,4] «exec» ok 2 - [6,10] «{foo}» ok 3 - [11,12] «>&» ok 4 - [13,16] «/tmp» ok 5 - [18,19] «ls» ok 6 - cardinality check 1..5 ## fd-target-not-filename # BUFFER=$'echo foo>&2' ok 1 - [1,4] «echo» ok 2 - [6,8] «foo» ok 3 - [9,10] «>&» ok 4 - [11,11] «2» ok 5 - cardinality check 1..11 ## function-altsyntax # BUFFER=$'function f { pwd }; function { pwd }' ok 1 - [1,8] «function» ok 2 - [10,10] «f» not ok 3 - [12,12] «{» - expected (12 12 "reserved-word"), observed (12 12 "default"). # TODO "issue #237" not ok 4 - [14,16] «pwd» - expected (14 16 "command"), observed (14 16 "default"). # TODO "issue #237" not ok 5 - [18,18] «}» - expected (18 18 "reserved-word"), observed (18 18 "unknown-token"). # TODO "issue #237" ok 6 - [19,19] «;» ok 7 - [21,28] «function» not ok 8 - [30,30] «{» - expected (30 30 "reserved-word"), observed (30 30 "default"). # TODO "issue #237" not ok 9 - [32,34] «pwd» - expected (32 34 "command"), observed (32 34 "default"). # TODO "issue #237" not ok 10 - [36,36] «}» - expected (36 36 "reserved-word"), observed (36 36 "unknown-token"). # TODO "issue #237" ok 11 - cardinality check # SKIP cardinality check disabled whilst regular test points are expected to fail 1..11 ## function-named1 # BUFFER=$'f() pwd; f() { balanced braces }' not ok 1 - [1,1] «f» - expected (1 1 "TBD"), observed (1 1 "unknown-token"). # TODO "issue #223" ok 2 - [2,3] «()» ok 3 - [5,7] «pwd» ok 4 - [8,8] «;» not ok 5 - [10,10] «f» - expected (10 10 "TBD"), observed (10 10 "unknown-token"). # TODO "issue #223" ok 6 - [11,12] «()» ok 7 - [14,14] «{» ok 8 - [16,23] «balanced» ok 9 - [25,30] «braces» ok 10 - [32,32] «}» ok 11 - cardinality check # SKIP cardinality check disabled whilst regular test points are expected to fail 1..6 ## function-named2 # BUFFER=$'f g h () pwd' not ok 1 - [1,1] «f» - expected (1 1 "TBD"), observed (1 1 "unknown-token"). # TODO "issue #223" not ok 2 - [3,3] «g» - expected (3 3 "TBD"), observed (3 3 "default"). # TODO "issue #223" not ok 3 - [5,5] «h» - expected (5 5 "TBD"), observed (5 5 "default"). # TODO "issue #223" ok 4 - [7,8] «()» ok 5 - [10,12] «pwd» ok 6 - cardinality check # SKIP cardinality check disabled whilst regular test points are expected to fail 1..4 ## function # BUFFER=$'cd;ls' ok 1 - [1,2] «cd» ok 2 - [3,3] «;» ok 3 - [4,5] «ls» ok 4 - cardinality check 1..9 ## glob # BUFFER=$': foo* bar? *baz qux\\?' ok 1 - [1,1] «:» ok 2 - [3,6] «foo*» ok 3 - [6,6] «*» ok 4 - [8,11] «bar?» ok 5 - [11,11] «?» ok 6 - [13,16] «*baz» ok 7 - [13,13] «*» ok 8 - [18,22] «qux\?» ok 9 - cardinality check 1..3 ## global-alias1 # BUFFER=$'foo foo' ok 1 - [1,3] «foo» ok 2 - [5,7] «foo» ok 3 - cardinality check 1..10 ## globs-with-quoting # BUFFER=$': "foo"*\'bar\'?"baz?"<17-29>"qu*ux"' ok 1 - [1,1] «:» ok 2 - [3,34] «"foo"*'bar'?"baz?"<17-29>"qu*ux"» ok 3 - [3,7] «"foo"» ok 4 - [8,8] «*» ok 5 - [9,13] «'bar'» ok 6 - [14,14] «?» ok 7 - [15,20] «"baz?"» ok 8 - [21,27] «<17-29>» ok 9 - [28,34] «"qu*ux"» ok 10 - cardinality check 1..2 ## hashed-command # BUFFER=$'zsh_syntax_highlighting_hash' not ok 1 - [1,28] «zsh_syntax_highlighting_hash» - expected (1 28 "hashed-command"), observed (1 28 "command"). # TODO 'zsh/parameter cannot distinguish between hashed and command' ok 2 - cardinality check # SKIP cardinality check disabled whilst regular test points are expected to fail 1..5 ## history-double-quoted-escaped # BUFFER=$'echo "Hello\\\!"' ok 1 - [1,4] «echo» ok 2 - [6,14] «"Hello\!"» ok 3 - [6,14] «"Hello\!"» ok 4 - [12,13] «\!» ok 5 - cardinality check 1..6 ## history-double-quoted-followed # BUFFER=$': \!\!= "\!\!="' ok 1 - [1,1] «:» not ok 2 - [3,5] «!!=» - expected (3 4 "history-expansion"), observed (3 5 "history-expansion"). # TODO "issue #713" ok 3 - [7,11] «"!!="» ok 4 - [7,11] «"!!="» not ok 5 - [8,8] «!» - expected (8 9 "history-expansion"), observed (8 8 "history-expansion"). # TODO "issue #713 ok 6 - cardinality check # SKIP cardinality check disabled whilst regular test points are expected to fail 1..4 ## history-double-quoted-no # BUFFER=$'echo "foo \!= bar \!{baz}"' ok 1 - [1,4] «echo» ok 2 - [6,24] «"foo != bar !{baz}"» ok 3 - [6,24] «"foo != bar !{baz}"» ok 4 - cardinality check 1..5 ## history-double-quoted-unescaped # BUFFER=$'echo "Hello\!"' ok 1 - [1,4] «echo» ok 2 - [6,13] «"Hello!"» ok 3 - [6,13] «"Hello!"» ok 4 - [12,12] «!» ok 5 - cardinality check 1..5 ## history-double-quoted-yes # BUFFER=$'echo "foo \!bar"' ok 1 - [1,4] «echo» ok 2 - [6,15] «"foo !bar"» ok 3 - [6,15] «"foo !bar"» ok 4 - [11,11] «!» ok 5 - cardinality check 1..7 ## history-expansion # BUFFER=$'\!foo bar \!baz \! ; \!' ok 1 - [1,4] «!foo» ok 2 - [6,8] «bar» ok 3 - [10,13] «!baz» ok 4 - [15,15] «!» ok 5 - [17,17] «;» ok 6 - [19,19] «!» ok 7 - cardinality check 1..2 ## history-expansion2 # BUFFER=$'^foo^bar' ok 1 - [1,8] «^foo^bar» ok 2 - cardinality check 1..2 ## inheritance # BUFFER=$'type' ok 1 - [1,4] «type» ok 2 - cardinality check 1..4 ## jobsubst-isnt-glob # BUFFER=$': %? %?foo' ok 1 - [1,1] «:» ok 2 - [3,4] «%?» ok 3 - [6,10] «%?foo» ok 4 - cardinality check 1..4 ## jobsubst-isnt-glob2 # BUFFER=$': foo%?bar' ok 1 - [1,1] «:» ok 2 - [3,10] «foo%?bar» ok 3 - [7,7] «?» ok 4 - cardinality check 1..7 ## loop-newline # BUFFER=$'for i in \\\n; do done' ok 1 - [1,3] «for» ok 2 - [5,5] «i» ok 3 - [7,8] «in» ok 4 - [12,12] «;» ok 5 - [14,15] «do» ok 6 - [17,20] «done» ok 7 - cardinality check 1..16 ## meta-no-eval1 # BUFFER=$': $(kill -9 $$) ${:-$(kill -9 $$)}' ok 1 - [1,1] «:» ok 2 - [3,15] «$(kill -9 $$)» ok 3 - [3,15] «$(kill -9 $$)» ok 4 - [3,4] «$(» ok 5 - [5,8] «kill» ok 6 - [10,11] «-9» ok 7 - [13,14] «$$» ok 8 - [15,15] «)» ok 9 - [17,34] «${:-$(kill -9 $$)}» ok 10 - [21,33] «$(kill -9 $$)» ok 11 - [21,22] «$(» ok 12 - [23,26] «kill» ok 13 - [28,29] «-9» ok 14 - [31,32] «$$» ok 15 - [33,33] «)» ok 16 - cardinality check 1..5 ## meta-no-eval2 # BUFFER=$': /(e*exit 42*)' ok 1 - [1,1] «:» ok 2 - [3,15] «/(e*exit 42*)» ok 3 - [6,6] «*» ok 4 - [14,14] «*» ok 5 - cardinality check 1..8 ## multiline-array-assignment1 # BUFFER=$'foo=(\nbar) env' ok 1 - [1,5] «foo=(» ok 2 - [5,5] «(» ok 3 - [6,6] «↵» ok 4 - [7,9] «bar» ok 5 - [10,10] «)» ok 6 - [10,10] «)» ok 7 - [12,14] «env» ok 8 - cardinality check 1..4 ## multiline-string # PREBUFFER=$'echo "foo1\n' # BUFFER=$'foo2" ./' ok 1 - [1,5] «foo2"» ok 2 - [1,5] «foo2"» ok 3 - [7,8] «./» ok 4 - cardinality check 1..4 ## multiline-string2 # BUFFER=$'echo \'foo1\n' ok 1 - [1,4] «echo» ok 2 - [6,11] «'foo1↵» ok 3 - [6,11] «'foo1↵» ok 4 - cardinality check 1..4 ## multios-negates-globbing # BUFFER=$'cat < *' ok 1 - [1,3] «cat» ok 2 - [5,5] «<» ok 3 - [7,7] «*» ok 4 - cardinality check 1..5 ## multios-negates-globbing2 # BUFFER=$'cat < *' ok 1 - [1,3] «cat» ok 2 - [5,5] «<» ok 3 - [7,7] «*» ok 4 - [7,7] «*» ok 5 - cardinality check 1..10 ## multiple-quotes # BUFFER=$': \'foo\'bar"baz$quux/foo\\\\bar"baz$\'quux\\nfoo\\001bar\'baz' ok 1 - [1,1] «:» ok 2 - [3,54] «'foo'bar"baz$quux/foo\\bar"baz$'quux\nfoo\001bar'baz» ok 3 - [3,7] «'foo'» ok 4 - [11,29] «"baz$quux/foo\\bar"» ok 5 - [15,19] «$quux» ok 6 - [24,25] «\\» ok 7 - [33,51] «$'quux\nfoo\001bar'» ok 8 - [39,40] «\n» ok 9 - [44,47] «\001» ok 10 - cardinality check 1..14 ## multiple-redirections # BUFFER=$'ls aux | grep java | sort | uniq | tail | head' ok 1 - [1,2] «ls» ok 2 - [4,6] «aux» ok 3 - [8,8] «|» ok 4 - [10,13] «grep» ok 5 - [15,18] «java» ok 6 - [20,20] «|» ok 7 - [22,25] «sort» ok 8 - [27,27] «|» ok 9 - [29,32] «uniq» ok 10 - [34,34] «|» ok 11 - [36,39] «tail» ok 12 - [41,41] «|» ok 13 - [43,46] «head» ok 14 - cardinality check 1..3 ## noglob-alias # BUFFER=$'x ls' ok 1 - [1,1] «x» ok 2 - [3,4] «ls» ok 3 - cardinality check 1..12 ## noglob-always # BUFFER=$'{ noglob echo * } always { echo * }' ok 1 - [1,1] «{» ok 2 - [3,8] «noglob» ok 3 - [10,13] «echo» ok 4 - [15,15] «*» ok 5 - [17,17] «}» ok 6 - [19,24] «always» ok 7 - [26,26] «{» ok 8 - [28,31] «echo» ok 9 - [33,33] «*» ok 10 - [33,33] «*» ok 11 - [35,35] «}» ok 12 - cardinality check 1..6 ## noglob1 # BUFFER=$':; noglob echo *' ok 1 - [1,1] «:» ok 2 - [2,2] «;» ok 3 - [4,9] «noglob» ok 4 - [11,14] «echo» ok 5 - [16,16] «*» ok 6 - cardinality check 1..8 ## noglob2 # BUFFER=$'noglob echo *; echo *' ok 1 - [1,6] «noglob» ok 2 - [8,11] «echo» ok 3 - [13,13] «*» ok 4 - [14,14] «;» ok 5 - [16,19] «echo» ok 6 - [21,21] «*» ok 7 - [21,21] «*» ok 8 - cardinality check 1..4 ## noglob3 # BUFFER=$'noglob echo *' ok 1 - [1,6] «noglob» ok 2 - [8,11] «echo» ok 3 - [13,13] «*» ok 4 - cardinality check 1..12 ## noglob4 # BUFFER=$'noglob cat <(print -r -- *)' ok 1 - [1,6] «noglob» ok 2 - [8,10] «cat» ok 3 - [12,27] «<(print -r -- *)» ok 4 - [12,27] «<(print -r -- *)» ok 5 - [12,13] «<(» ok 6 - [14,18] «print» ok 7 - [20,21] «-r» ok 8 - [23,24] «--» ok 9 - [26,26] «*» ok 10 - [26,26] «*» ok 11 - [27,27] «)» ok 12 - cardinality check 1..5 ## null-exec # BUFFER=$'exec >/dev/null;' ok 1 - [1,4] «exec» ok 2 - [6,6] «>» ok 3 - [7,15] «/dev/null» ok 4 - [16,16] «;» ok 5 - cardinality check 1..5 ## null-exec2-printenv # BUFFER=$'env | grep $needle' ok 1 - [1,3] «env» ok 2 - [5,5] «|» ok 3 - [7,10] «grep» ok 4 - [12,18] «$needle» ok 5 - cardinality check 1..9 ## number_range-glob # BUFFER=$'print <-> x<->y ' ok 1 - [1,5] «print» ok 2 - [7,9] «<->» ok 3 - [7,9] «<->» ok 4 - [11,15] «x<->y» ok 5 - [12,14] «<->» ok 6 - [17,17] «<» ok 7 - [18,23] «foo2-3» ok 8 - [24,24] «>» ok 9 - cardinality check 1..5 ## off-by-one # BUFFER=$'a;f;' ok 1 - [1,1] «a» ok 2 - [2,2] «;» ok 3 - [3,3] «f» ok 4 - [4,4] «;» ok 5 - cardinality check 1..2 ## opt-shwordsplit1 # BUFFER=$'$EDITOR' ok 1 - [1,7] «$EDITOR» ok 2 - cardinality check 1..8 ## optimized-cmdsubst-input # BUFFER=$': $(<*)' ok 1 - [1,1] «:» ok 2 - [3,7] «$(<*)» ok 3 - [3,7] «$(<*)» ok 4 - [3,4] «$(» ok 5 - [5,5] «<» ok 6 - [6,6] «*» ok 7 - [7,7] «)» ok 8 - cardinality check 1..4 ## option-dollar-quote-isnt-filename # BUFFER=$': -$\'n\'' ok 1 - [1,1] «:» ok 2 - [3,7] «-$'n'» ok 3 - [4,7] «$'n'» ok 4 - cardinality check 1..2 ## option-path_dirs # BUFFER=$'bar/testing-issue-228' ok 1 - [1,21] «bar/testing-issue-228» ok 2 - cardinality check 1..4 ## option-with-quotes # BUFFER=$': --user="phy1729"' ok 1 - [1,1] «:» ok 2 - [3,18] «--user="phy1729"» ok 3 - [10,18] «"phy1729"» ok 4 - cardinality check 1..4 ## order-path-after-dollar # BUFFER=$': $foo \\$foo' ok 1 - [1,1] «:» ok 2 - [3,6] «$foo» ok 3 - [8,12] «\$foo» ok 4 - cardinality check 1..5 ## order-path-before-globbing # BUFFER=$': * \\*' ok 1 - [1,1] «:» ok 2 - [3,3] «*» ok 3 - [3,3] «*» ok 4 - [5,6] «\*» ok 5 - cardinality check 1..4 ## param-positional-in-array-append # BUFFER=$'l+=( $1' ok 1 - [1,4] «l+=(» ok 2 - [4,4] «(» ok 3 - [6,7] «$1» ok 4 - cardinality check 1..5 ## param-precommand-option-argument1 # BUFFER=$'$sudo_u phy1729 echo foo' ok 1 - [1,7] «$sudo_u» ok 2 - [9,15] «phy1729» not ok 3 - [17,20] «echo» - expected (18 20 "command"), observed (17 20 "builtin"). # TODO "issue #540" ok 4 - [22,24] «foo» ok 5 - cardinality check # SKIP cardinality check disabled whilst regular test points are expected to fail 1..5 ## param-precommand-option-argument3 # BUFFER=$'$sudo_u phy1729 ls foo' ok 1 - [1,7] «$sudo_u» ok 2 - [9,15] «phy1729» ok 3 - [17,18] «ls» ok 4 - [20,22] «foo» ok 5 - cardinality check 1..3 ## parameter-elision-command-word # BUFFER=$'$x ls' ok 1 - [1,2] «$x» ok 2 - [4,5] «ls» ok 3 - cardinality check 1..2 ## parameter-expansion-shwordsplit # BUFFER=$'$foo' ok 1 - [1,4] «$foo» ok 2 - cardinality check 1..3 ## parameter-expansion-untokenized1 # BUFFER=$'$x ls' ok 1 - [1,2] «$x» ok 2 - [4,5] «ls» ok 3 - cardinality check 1..3 ## parameter-expansion-untokenized2 # BUFFER=$'$x ls' ok 1 - [1,2] «$x» ok 2 - [4,5] «ls» ok 3 - cardinality check 1..6 ## parameter-star # BUFFER=$'() { : $* }' ok 1 - [1,2] «()» ok 2 - [4,4] «{» ok 3 - [6,6] «:» ok 4 - [8,9] «$*» ok 5 - [11,11] «}» ok 6 - cardinality check 1..2 ## parameter-to-global-alias # BUFFER=$'$s' ok 1 - [1,2] «$s» ok 2 - cardinality check 1..2 ## parameter-value-contains-command-position1 # BUFFER=$'$foobar' ok 1 - [1,7] «$foobar» ok 2 - cardinality check 1..2 ## parameter-value-contains-command-position2 # BUFFER=$'$y' ok 1 - [1,2] «$y» ok 2 - cardinality check 1..5 ## pasted-quotes # BUFFER=$': \'foo\'bar"baz"' ok 1 - [1,1] «:» ok 2 - [3,15] «'foo'bar"baz"» ok 3 - [3,7] «'foo'» ok 4 - [11,15] «"baz"» ok 5 - cardinality check 1..3 ## path-broken-symlink # BUFFER=$': broken-symlink' ok 1 - [1,1] «:» ok 2 - [3,16] «broken-symlink» ok 3 - cardinality check 1..4 ## path-dollared-word # BUFFER=$'$PWD.exe; ${PWD}.exe' ok 1 - [1,8] «$PWD.exe» ok 2 - [9,9] «;» ok 3 - [11,20] «${PWD}.exe» ok 4 - cardinality check 1..3 ## path-dollared-word2 # BUFFER=$': \\$lambda' ok 1 - [1,1] «:» ok 2 - [3,10] «\$lambda» ok 3 - cardinality check 1..4 ## path-dollared-word3 # BUFFER=$'$PWD; ${PWD}' ok 1 - [1,4] «$PWD» ok 2 - [5,5] «;» ok 3 - [7,12] «${PWD}» ok 4 - cardinality check 1..4 ## path-dollared-word3b # BUFFER=$'$PWD; ${PWD}' ok 1 - [1,4] «$PWD» ok 2 - [5,5] «;» ok 3 - [7,12] «${PWD}» ok 4 - cardinality check 1..2 ## path-dollared-word4 # BUFFER=$'${' ok 1 - [1,2] «${» ok 2 - cardinality check 1..4 ## path-mixed-quoting # BUFFER=$': \'f\'oo' ok 1 - [1,1] «:» ok 2 - [3,7] «'f'oo» ok 3 - [3,5] «'f'» ok 4 - cardinality check 1..11 ## path-separators # BUFFER=$'ls /bin/ / A/mu A/m' ok 1 - [1,2] «ls» ok 2 - [4,8] «/bin/» ok 3 - [4,4] «/» ok 4 - [8,8] «/» ok 5 - [10,10] «/» ok 6 - [10,10] «/» ok 7 - [12,15] «A/mu» ok 8 - [13,13] «/» ok 9 - [17,19] «A/m» ok 10 - [18,18] «/» ok 11 - cardinality check 1..3 ## path-separators2 # BUFFER=$'ls /bin/' ok 1 - [1,2] «ls» ok 2 - [4,8] «/bin/» ok 3 - cardinality check 1..3 ## path-space # BUFFER=$'ls A/mu\\ with\\ spaces' ok 1 - [1,2] «ls» ok 2 - [4,21] «A/mu\ with\ spaces» ok 3 - cardinality check 1..3 ## path-tilde-home # BUFFER=$'ls ~' ok 1 - [1,2] «ls» ok 2 - [4,4] «~» ok 3 - cardinality check 1..3 ## path-tilde-home2 # BUFFER=$'ls ~' ok 1 - [1,2] «ls» ok 2 - [4,4] «~» ok 3 - cardinality check 1..3 ## path-tilde-home3 # BUFFER=$'ls \\~' ok 1 - [1,2] «ls» ok 2 - [4,5] «\~» ok 3 - cardinality check 1..3 ## path-tilde-named # BUFFER=$'ls ~D/path-tilde-named.test' ok 1 - [1,2] «ls» ok 2 - [4,27] «~D/path-tilde-named.test» ok 3 - cardinality check 1..3 ## path # BUFFER=$'ls A/mu' ok 1 - [1,2] «ls» ok 2 - [4,7] «A/mu» ok 3 - cardinality check 1..3 ## path_prefix # BUFFER=$'ls /bin/s' ok 1 - [1,2] «ls» ok 2 - [4,9] «/bin/s» ok 3 - cardinality check 1..3 ## path_prefix2 # BUFFER=$'ls /bin/s' ok 1 - [1,2] «ls» ok 2 - [4,9] «/bin/s» ok 3 - cardinality check 1..2 ## path_prefix3 # PREBUFFER=$'ls \\\n' # BUFFER=$'/bin/s' ok 1 - [1,6] «/bin/s» ok 2 - cardinality check 1..4 ## plain-file-in-command-position # BUFFER=$'./foo; ./foo' ok 1 - [1,5] «./foo» ok 2 - [6,6] «;» ok 3 - [8,12] «./foo» ok 4 - cardinality check 1..4 ## precommand-killing1 # BUFFER=$'sudo -e ./foo' ok 1 - [1,4] «sudo» ok 2 - [6,7] «-e» ok 3 - [9,13] «./foo» ok 4 - cardinality check 1..4 ## precommand-killing2 # BUFFER=$'sudo -e /does/not/exist' ok 1 - [1,4] «sudo» ok 2 - [6,7] «-e» ok 3 - [9,23] «/does/not/exist» ok 4 - cardinality check 1..4 ## precommand-then-assignment # BUFFER=$'nice x=y ls' ok 1 - [1,4] «nice» not ok 2 - [6,8] «x=y» - expected (6 8 "unknown-token"), observed (6 8 "assign"). # TODO "issue #641.5" not ok 3 - [8,8] «y» - expected (10 11 "default"), observed (8 8 "default"). # TODO "issue #641.5 (fallout)" ok 4 - cardinality check # SKIP cardinality check disabled whilst regular test points are expected to fail 1..12 ## precommand-type1 # BUFFER=$'test ; builtin test ; builtin command test ; nice test ' ok 1 - [1,4] «test» ok 2 - [7,7] «;» ok 3 - [9,15] «builtin» ok 4 - [17,20] «test» ok 5 - [23,23] «;» ok 6 - [25,31] «builtin» ok 7 - [33,39] «command» not ok 8 - [41,44] «test» - expected (41 44 "command"), observed (41 44 "builtin"). # TODO "issue #608" ok 9 - [47,47] «;» ok 10 - [49,52] «nice» not ok 11 - [54,57] «test» - expected (54 57 "command"), observed (54 57 "builtin"). # TODO "issue #608" ok 12 - cardinality check # SKIP cardinality check disabled whilst regular test points are expected to fail 1..12 ## precommand-type2 # BUFFER=$'zstyle; builtin zstyle; builtin command zstyle; nice zstyle' ok 1 - [1,6] «zstyle» ok 2 - [7,7] «;» ok 3 - [9,15] «builtin» ok 4 - [17,22] «zstyle» ok 5 - [23,23] «;» ok 6 - [25,31] «builtin» ok 7 - [33,39] «command» not ok 8 - [41,46] «zstyle» - expected (41 46 "unknown-token"), observed (41 46 "builtin"). # TODO "issue #608" ok 9 - [47,47] «;» ok 10 - [49,52] «nice» not ok 11 - [54,59] «zstyle» - expected (54 59 "unknown-token"), observed (54 59 "builtin"). # TODO "issue #608" ok 12 - cardinality check # SKIP cardinality check disabled whilst regular test points are expected to fail 1..12 ## precommand-type3 # BUFFER=$'ls ; builtin ls ; builtin command ls ; nice ls ' ok 1 - [1,2] «ls» ok 2 - [7,7] «;» ok 3 - [9,15] «builtin» not ok 4 - [17,18] «ls» - expected (17 18 "unknown-token"), observed (17 18 "command"). # TODO "issue #608" ok 5 - [23,23] «;» ok 6 - [25,31] «builtin» ok 7 - [33,39] «command» ok 8 - [41,42] «ls» ok 9 - [47,47] «;» ok 10 - [49,52] «nice» ok 11 - [54,55] «ls» ok 12 - cardinality check # SKIP cardinality check disabled whilst regular test points are expected to fail 1..3 ## precommand-uninstalled # BUFFER=$'sudo ls' ok 1 - [1,4] «sudo» ok 2 - [6,7] «ls» ok 3 - cardinality check 1..8 ## precommand-unknown-option # BUFFER=$'sudo -ux ls; sudo -x ls' ok 1 - [1,4] «sudo» ok 2 - [6,8] «-ux» ok 3 - [10,11] «ls» ok 4 - [12,12] «;» ok 5 - [14,17] «sudo» ok 6 - [19,20] «-x» ok 7 - [22,23] «ls» ok 8 - cardinality check 1..4 ## precommand # BUFFER=$': command zzzzzz' ok 1 - [1,1] «:» ok 2 - [3,9] «command» ok 3 - [11,16] «zzzzzz» ok 4 - cardinality check 1..4 ## precommand2 # BUFFER=$'command -v ls' ok 1 - [1,7] «command» ok 2 - [9,10] «-v» ok 3 - [12,13] «ls» ok 4 - cardinality check 1..9 ## precommand3 # BUFFER=$'nice -n10 ls; nice -n 10 ls' ok 1 - [1,4] «nice» ok 2 - [6,9] «-n10» ok 3 - [11,12] «ls» ok 4 - [13,13] «;» ok 5 - [15,18] «nice» ok 6 - [20,21] «-n» ok 7 - [23,24] «10» ok 8 - [26,27] «ls» ok 9 - cardinality check 1..5 ## precommand4 # BUFFER=$'doas -nu phy1729 ls' ok 1 - [1,4] «doas» ok 2 - [6,8] «-nu» ok 3 - [10,16] «phy1729» ok 4 - [18,19] «ls» ok 5 - cardinality check 1..10 ## prefix-redirection # BUFFER=$'>/tmp >/tmp command echo >/tmp foo' ok 1 - [1,1] «>» ok 2 - [2,5] «/tmp» ok 3 - [7,7] «>» ok 4 - [8,11] «/tmp» ok 5 - [13,19] «command» ok 6 - [21,24] «echo» ok 7 - [26,26] «>» ok 8 - [27,30] «/tmp» ok 9 - [32,34] «foo» ok 10 - cardinality check 1..13 ## process-substitution-after-redirection # BUFFER=$'< <(pwd) > >(nl)' ok 1 - [1,1] «<» ok 2 - [3,8] «<(pwd)» ok 3 - [3,8] «<(pwd)» ok 4 - [3,4] «<(» ok 5 - [5,7] «pwd» ok 6 - [8,8] «)» ok 7 - [10,10] «>» ok 8 - [12,16] «>(nl)» ok 9 - [12,16] «>(nl)» ok 10 - [12,13] «>(» ok 11 - [14,15] «nl» ok 12 - [16,16] «)» ok 13 - cardinality check 1..8 ## process-substitution-redirection-isnt-globbing # BUFFER=$': =(" foo ls' ok 1 - [1,3] «">"» ok 2 - [5,7] «foo» ok 3 - [9,10] «ls» ok 4 - cardinality check 1..5 ## rc-quotes # BUFFER=$': \'foo\'\'bar\'baz' ok 1 - [1,1] «:» ok 2 - [3,15] «'foo''bar'baz» ok 3 - [3,12] «'foo''bar'» ok 4 - [7,8] «''» ok 5 - cardinality check 1..4 ## redirection-comment # BUFFER=$': <<#foo' ok 1 - [1,1] «:» ok 2 - [3,4] «<<» ok 3 - [5,8] «♯foo» ok 4 - cardinality check 1..4 ## redirection-from-param # BUFFER=$'<$fn cat' ok 1 - [1,1] «<» ok 2 - [2,4] «$fn» ok 3 - [6,8] «cat» ok 4 - cardinality check 1..8 ## redirection-in-cmdsubst # BUFFER=$': $( -x >> --yy' ok 1 - [1,1] «:» ok 2 - [3,3] «>» ok 3 - [5,6] «-x» ok 4 - [8,9] «>>» ok 5 - [11,14] «--yy» ok 6 - cardinality check 1..9 ## redirection-special-cases # BUFFER=$'cat <&p; exec {myfd}>&-' ok 1 - [1,3] «cat» ok 2 - [5,6] «<&» ok 3 - [7,7] «p» ok 4 - [8,8] «;» ok 5 - [10,13] «exec» ok 6 - [15,20] «{myfd}» ok 7 - [21,22] «>&» ok 8 - [23,23] «-» ok 9 - cardinality check 1..6 ## redirection # BUFFER=$'<<>&\!bar' ok 1 - [1,3] «<<<» ok 2 - [4,6] «foo» ok 3 - [8,11] «echo» ok 4 - [13,16] «>>&!» ok 5 - [17,19] «bar» ok 6 - cardinality check 1..9 ## redirection2 # BUFFER=$'ls >(wc) | nl' ok 1 - [1,2] «ls» ok 2 - [4,8] «>(wc)» ok 3 - [4,8] «>(wc)» ok 4 - [4,5] «>(» ok 5 - [6,7] «wc» ok 6 - [8,8] «)» ok 7 - [10,10] «|» ok 8 - [12,13] «nl» ok 9 - cardinality check 1..10 ## redirection3 # BUFFER=$': >>>; : <>\\<<<>» ok 3 - [5,5] «>» ok 4 - [6,6] «;» ok 5 - [8,8] «:» ok 6 - [10,11] «<>» ok 7 - [12,13] «\<» ok 8 - [14,16] «<<<» ok 9 - [17,19] «EOF» ok 10 - cardinality check 1..6 ## reserved-word # BUFFER=$'repeat "1" do done' ok 1 - [1,6] «repeat» ok 2 - [8,10] «"1"» ok 3 - [8,10] «"1"» ok 4 - [12,13] «do» ok 5 - [15,18] «done» ok 6 - cardinality check 1..2 ## simple-command # BUFFER=$'ls' ok 1 - [1,2] «ls» ok 2 - cardinality check 1..6 ## simple-redirection # BUFFER=$'ls aux | grep java' ok 1 - [1,2] «ls» ok 2 - [4,6] «aux» ok 3 - [8,8] «|» ok 4 - [10,13] «grep» ok 5 - [15,18] «java» ok 6 - cardinality check 1..19 ## subshell # BUFFER=$'tar cf - * | (cd /target; tar xfp -) | { cat }' ok 1 - [1,3] «tar» ok 2 - [5,6] «cf» ok 3 - [8,8] «-» ok 4 - [10,10] «*» ok 5 - [10,10] «*» ok 6 - [12,12] «|» ok 7 - [14,14] «(» ok 8 - [15,16] «cd» ok 9 - [18,24] «/target» ok 10 - [25,25] «;» ok 11 - [27,29] «tar» ok 12 - [31,33] «xfp» ok 13 - [35,35] «-» ok 14 - [36,36] «)» ok 15 - [38,38] «|» ok 16 - [40,40] «{» ok 17 - [42,44] «cat» ok 18 - [46,46] «}» ok 19 - cardinality check 1..16 ## sudo-command # BUFFER=$'sudo -C3 -u otheruser -i ls /; sudo ; sudo -u ; sudo notacommand' ok 1 - [1,4] «sudo» ok 2 - [6,8] «-C3» ok 3 - [10,11] «-u» ok 4 - [13,21] «otheruser» ok 5 - [23,24] «-i» ok 6 - [26,27] «ls» ok 7 - [29,29] «/» ok 8 - [30,30] «;» ok 9 - [32,35] «sudo» ok 10 - [37,37] «;» ok 11 - [39,42] «sudo» ok 12 - [44,45] «-u» ok 13 - [47,47] «;» ok 14 - [49,52] «sudo» ok 15 - [54,64] «notacommand» ok 16 - cardinality check 1..4 ## sudo-comment # BUFFER=$'sudo -u # comment' ok 1 - [1,4] «sudo» ok 2 - [6,7] «-u» ok 3 - [9,17] «♯ comment» ok 4 - cardinality check 1..4 ## sudo-longopt # BUFFER=$'sudo --askpass ls' ok 1 - [1,4] «sudo» ok 2 - [6,14] «--askpass» ok 3 - [16,17] «ls» ok 4 - cardinality check 1..14 ## sudo-redirection # BUFFER=$'sudo -u >/tmp otheruser ls; sudo ls; sudo -i ls' ok 1 - [1,4] «sudo» ok 2 - [6,7] «-u» ok 3 - [9,9] «>» ok 4 - [10,13] «/tmp» ok 5 - [15,23] «otheruser» ok 6 - [25,26] «ls» ok 7 - [27,27] «;» ok 8 - [29,32] «sudo» ok 9 - [34,35] «ls» ok 10 - [36,36] «;» ok 11 - [38,41] «sudo» ok 12 - [43,44] «-i» ok 13 - [46,47] «ls» ok 14 - cardinality check 1..7 ## sudo-redirection2 # BUFFER=$'sudo >/tmp -u otheruser ls' ok 1 - [1,4] «sudo» ok 2 - [6,6] «>» ok 3 - [7,10] «/tmp» ok 4 - [12,13] «-u» ok 5 - [15,23] «otheruser» ok 6 - [25,26] «ls» ok 7 - cardinality check 1..7 ## sudo-redirection3 # BUFFER=$'sudo 2>./. -u otheruser ls' ok 1 - [1,4] «sudo» ok 2 - [6,7] «2>» ok 3 - [8,10] «./.» ok 4 - [12,13] «-u» ok 5 - [15,23] «otheruser» ok 6 - [25,26] «ls» ok 7 - cardinality check 1..3 ## tilde-command-word # BUFFER=$'~D/env foo' ok 1 - [1,6] «~D/env» ok 2 - [8,10] «foo» ok 3 - cardinality check 1..6 ## time-and-nocorrect1 # BUFFER=$'time ls; nocorrect ls' ok 1 - [1,4] «time» ok 2 - [6,7] «ls» ok 3 - [8,8] «;» ok 4 - [10,18] «nocorrect» ok 5 - [20,21] «ls» ok 6 - cardinality check 1..6 ## time-and-nocorrect2 # BUFFER=$'time ls; nocorrect ls' ok 1 - [1,4] «time» ok 2 - [6,7] «ls» ok 3 - [8,8] «;» ok 4 - [10,18] «nocorrect» ok 5 - [20,21] «ls» ok 6 - cardinality check 1..2 ## unbackslash # BUFFER=$'\\sh' ok 1 - [1,3] «\sh» ok 2 - cardinality check 1..2 ## unknown-command # BUFFER=$'azertyuiop' ok 1 - [1,10] «azertyuiop» ok 2 - cardinality check 1..6 ## vanilla-newline # PREBUFFER=$'echo foo; echo bar\n\n\n' # BUFFER=$' echo baz; echo qux' ok 1 - [2,5] «echo» ok 2 - [7,9] «baz» ok 3 - [10,10] «;» ok 4 - [12,15] «echo» ok 5 - [17,19] «qux» ok 6 - cardinality check 1..7 ## vi-linewise-mode # BUFFER=$'foo foo\nbar bar' ok 1 - [1,3] «foo» ok 2 - [5,7] «foo» ok 3 - [8,8] «↵» ok 4 - [9,11] «bar» ok 5 - [13,15] «bar» ok 6 - [1,15] «foo foo↵bar bar» ok 7 - cardinality check Running test pattern # global (driver) tests 1..1 ok 1 # 'alias -- +foo=bar' is preserved 1..2 ## rm-rf # BUFFER=$'rm -rf /' ok 1 - [1,8] «rm -rf /» ok 2 - cardinality check Running test regexp # global (driver) tests 1..1 ok 1 # 'alias -- +foo=bar' is preserved 1..3 ## complex # BUFFER=$'echo 1+9-3 7+2' ok 1 - [6,10] «1+9-3» ok 2 - [12,14] «7+2» ok 3 - cardinality check 1..2 ## subexpression # BUFFER=$'ls foo' ok 1 - [1,3] «ls » ok 2 - cardinality check 1..2 ## word-boundary # BUFFER=$'sudo ls' ok 1 - [1,4] «sudo» ok 2 - cardinality check make[1]: Leaving directory '/build/reproducible-path/zsh-syntax-highlighting-0.8.0' create-stamp debian/debhelper-build-stamp dh_prep debian/rules override_dh_auto_install make[1]: Entering directory '/build/reproducible-path/zsh-syntax-highlighting-0.8.0' dh_auto_install -- PREFIX=/usr make -j12 install DESTDIR=/build/reproducible-path/zsh-syntax-highlighting-0.8.0/debian/zsh-syntax-highlighting AM_UPDATE_INFO_DIR=no "INSTALL=install --strip-program=true" PREFIX=/usr make[2]: Entering directory '/build/reproducible-path/zsh-syntax-highlighting-0.8.0' cd docs && \ cp highlighters.md all.md && \ printf '\n\nIndividual highlighters documentation\n=====================================' >> all.md && \ for doc in highlighters/*.md; do printf '\n\n'; cat "$doc"; done >> all.md install --strip-program=true -d /build/reproducible-path/zsh-syntax-highlighting-0.8.0/debian/zsh-syntax-highlighting/usr/share/zsh-syntax-highlighting install: WARNING: ignoring --strip-program option as -s option was not specified install --strip-program=true -d /build/reproducible-path/zsh-syntax-highlighting-0.8.0/debian/zsh-syntax-highlighting/usr/share/doc/zsh-syntax-highlighting install: WARNING: ignoring --strip-program option as -s option was not specified cp .version zsh-syntax-highlighting.zsh /build/reproducible-path/zsh-syntax-highlighting-0.8.0/debian/zsh-syntax-highlighting/usr/share/zsh-syntax-highlighting cp COPYING.md README.md changelog.md /build/reproducible-path/zsh-syntax-highlighting-0.8.0/debian/zsh-syntax-highlighting/usr/share/doc/zsh-syntax-highlighting sed -e '1s/ .*//' -e '/^\[build-status-[a-z]*\]: /d' < README.md > /build/reproducible-path/zsh-syntax-highlighting-0.8.0/debian/zsh-syntax-highlighting/usr/share/doc/zsh-syntax-highlighting/README.md printf "%s_%s%s\n" "0.8.0-1" "debian" """" \ > /build/reproducible-path/zsh-syntax-highlighting-0.8.0/debian/zsh-syntax-highlighting/usr/share/zsh-syntax-highlighting/.version printf "%s/%s\n" "debian" "0.8.0-1" \ > /build/reproducible-path/zsh-syntax-highlighting-0.8.0/debian/zsh-syntax-highlighting/usr/share/zsh-syntax-highlighting/.revision-hash : for dirname in highlighters highlighters/*/ ; do \ install --strip-program=true -d /build/reproducible-path/zsh-syntax-highlighting-0.8.0/debian/zsh-syntax-highlighting/usr/share/zsh-syntax-highlighting/"$dirname"; \ for fname in "$dirname"/*.zsh ; do [ -e "$fname" ] && cp "$fname" /build/reproducible-path/zsh-syntax-highlighting-0.8.0/debian/zsh-syntax-highlighting/usr/share/zsh-syntax-highlighting"/$dirname"; done; \ done install: WARNING: ignoring --strip-program option as -s option was not specified install: WARNING: ignoring --strip-program option as -s option was not specified install: WARNING: ignoring --strip-program option as -s option was not specified install: WARNING: ignoring --strip-program option as -s option was not specified install: WARNING: ignoring --strip-program option as -s option was not specified install: WARNING: ignoring --strip-program option as -s option was not specified install: WARNING: ignoring --strip-program option as -s option was not specified install: WARNING: ignoring --strip-program option as -s option was not specified cp -R docs/* /build/reproducible-path/zsh-syntax-highlighting-0.8.0/debian/zsh-syntax-highlighting/usr/share/doc/zsh-syntax-highlighting make[2]: Leaving directory '/build/reproducible-path/zsh-syntax-highlighting-0.8.0' rm debian/zsh-syntax-highlighting/usr/share/doc/zsh-syntax-highlighting/COPYING.md make[1]: Leaving directory '/build/reproducible-path/zsh-syntax-highlighting-0.8.0' dh_installdocs dh_installchangelogs dh_perl dh_link dh_strip_nondeterminism dh_compress dh_fixperms dh_missing dh_installdeb dh_gencontrol dh_md5sums dh_builddeb dpkg-deb: building package 'zsh-syntax-highlighting' in '../zsh-syntax-highlighting_0.8.0-1_all.deb'. dpkg-genbuildinfo --build=binary -O../zsh-syntax-highlighting_0.8.0-1_amd64.buildinfo dpkg-genchanges --build=binary -O../zsh-syntax-highlighting_0.8.0-1_amd64.changes dpkg-genchanges: info: binary-only upload (no source code included) dpkg-source --after-build . dpkg-source: info: using options from zsh-syntax-highlighting-0.8.0/debian/source/options: --extend-diff-ignore=(^|/)(\.revision-hash)$ dpkg-buildpackage: info: binary-only upload (no source included) dpkg-genchanges: info: including full source code in upload I: copying local configuration I: user script /srv/workspace/pbuilder/324365/tmp/hooks/B01_cleanup starting I: user script /srv/workspace/pbuilder/324365/tmp/hooks/B01_cleanup finished I: unmounting dev/ptmx filesystem I: unmounting dev/pts filesystem I: unmounting dev/shm filesystem I: unmounting proc filesystem I: unmounting sys filesystem I: cleaning the build env I: removing directory /srv/workspace/pbuilder/324365 and its subdirectories I: Current time: Thu Jan 8 20:41:10 +14 2026 I: pbuilder-time-stamp: 1767854470