I: pbuilder: network access will be disabled during build
I: Current time: Wed Feb 11 03:20:01 +14 2026
I: pbuilder-time-stamp: 1770729601
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-2.dsc]
I: copying [./zsh-syntax-highlighting_0.8.0.orig.tar.xz]
I: copying [./zsh-syntax-highlighting_0.8.0-2.debian.tar.xz]
I: Extracting source
dpkg-source: warning: cannot verify inline signature for ./zsh-syntax-highlighting_0.8.0-2.dsc: unsupported subcommand
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-2.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/3534041/tmp/hooks/D01_modify_environment starting
debug: Running on codethink01-arm64.
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 Feb 10 13:20 /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/3534041/tmp/hooks/D01_modify_environment finished
I: user script /srv/workspace/pbuilder/3534041/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]="aarch64-unknown-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=arm64
  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=aarch64
  HOST_ARCH=arm64
  IFS=' 	
  '
  INVOCATION_ID=9d41d76db8d9460b9150373fe2b8bae2
  LANG=C
  LANGUAGE=nl_BE:nl
  LC_ALL=C
  MACHTYPE=aarch64-unknown-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=3534041
  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.AwJNYfgn/pbuilderrc_11Ob --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.AwJNYfgn/b2 --logfile b2/build.log zsh-syntax-highlighting_0.8.0-2.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'
  http_proxy=http://192.168.101.4:3128
I: uname -a
  Linux i-capture-the-hostname 6.1.0-28-cloud-arm64 #1 SMP Debian 6.1.119-1 (2024-11-22) aarch64 GNU/Linux
I: ls -l /bin
  lrwxrwxrwx 1 root root 7 Nov 22  2024 /bin -> usr/bin
I: user script /srv/workspace/pbuilder/3534041/tmp/hooks/D02_print_environment finished
 -> Attempting to satisfy build-dependencies
 -> Creating pbuilder-satisfydepends-dummy package
Package: pbuilder-satisfydepends-dummy
Version: 0.invalid.0
Architecture: arm64
Maintainer: Debian Pbuilder Team <pbuilder-maint@lists.alioth.debian.org>
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 ... 19966 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} libunistring5{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, 32 newly installed, 0 to remove and 0 not upgraded.
Need to get 24.9 MB of archives. After unpacking 101 MB will be used.
Writing extended state information...
Get: 1 http://deb.debian.org/debian unstable/main arm64 sensible-utils all 0.0.24 [24.8 kB]
Get: 2 http://deb.debian.org/debian unstable/main arm64 libmagic-mgc arm64 1:5.45-3+b1 [314 kB]
Get: 3 http://deb.debian.org/debian unstable/main arm64 libmagic1t64 arm64 1:5.45-3+b1 [102 kB]
Get: 4 http://deb.debian.org/debian unstable/main arm64 file arm64 1:5.45-3+b1 [43.4 kB]
Get: 5 http://deb.debian.org/debian unstable/main arm64 gettext-base arm64 0.22.5-4 [198 kB]
Get: 6 http://deb.debian.org/debian unstable/main arm64 libuchardet0 arm64 0.0.8-1+b2 [69.2 kB]
Get: 7 http://deb.debian.org/debian unstable/main arm64 groff-base arm64 1.23.0-7 [1129 kB]
Get: 8 http://deb.debian.org/debian unstable/main arm64 bsdextrautils arm64 2.40.2-14 [91.5 kB]
Get: 9 http://deb.debian.org/debian unstable/main arm64 libpipeline1 arm64 1.5.8-1 [40.2 kB]
Get: 10 http://deb.debian.org/debian unstable/main arm64 man-db arm64 2.13.0-1 [1404 kB]
Get: 11 http://deb.debian.org/debian unstable/main arm64 m4 arm64 1.4.19-5 [284 kB]
Get: 12 http://deb.debian.org/debian unstable/main arm64 autoconf all 2.72-3 [493 kB]
Get: 13 http://deb.debian.org/debian unstable/main arm64 autotools-dev all 20220109.1 [51.6 kB]
Get: 14 http://deb.debian.org/debian unstable/main arm64 automake all 1:1.16.5-1.3 [823 kB]
Get: 15 http://deb.debian.org/debian unstable/main arm64 autopoint all 0.22.5-4 [723 kB]
Get: 16 http://deb.debian.org/debian unstable/main arm64 libdebhelper-perl all 13.23 [90.6 kB]
Get: 17 http://deb.debian.org/debian unstable/main arm64 libtool all 2.5.4-2 [539 kB]
Get: 18 http://deb.debian.org/debian unstable/main arm64 dh-autoreconf all 20 [17.1 kB]
Get: 19 http://deb.debian.org/debian unstable/main arm64 libarchive-zip-perl all 1.68-1 [104 kB]
Get: 20 http://deb.debian.org/debian unstable/main arm64 libfile-stripnondeterminism-perl all 1.14.0-1 [19.5 kB]
Get: 21 http://deb.debian.org/debian unstable/main arm64 dh-strip-nondeterminism all 1.14.0-1 [8448 B]
Get: 22 http://deb.debian.org/debian unstable/main arm64 libelf1t64 arm64 0.192-4 [189 kB]
Get: 23 http://deb.debian.org/debian unstable/main arm64 dwz arm64 0.15-1+b1 [102 kB]
Get: 24 http://deb.debian.org/debian unstable/main arm64 libunistring5 arm64 1.3-1 [449 kB]
Get: 25 http://deb.debian.org/debian unstable/main arm64 libicu72 arm64 72.1-5+b1 [9239 kB]
Get: 26 http://deb.debian.org/debian unstable/main arm64 libxml2 arm64 2.12.7+dfsg+really2.9.14-0.2+b1 [630 kB]
Get: 27 http://deb.debian.org/debian unstable/main arm64 gettext arm64 0.22.5-4 [1532 kB]
Get: 28 http://deb.debian.org/debian unstable/main arm64 intltool-debian all 0.35.0+20060710.6 [22.9 kB]
Get: 29 http://deb.debian.org/debian unstable/main arm64 po-debconf all 1.0.21+nmu1 [248 kB]
Get: 30 http://deb.debian.org/debian unstable/main arm64 debhelper all 13.23 [919 kB]
Get: 31 http://deb.debian.org/debian unstable/main arm64 zsh-common all 5.9-8 [4146 kB]
Get: 32 http://deb.debian.org/debian unstable/main arm64 zsh arm64 5.9-8+b3 [844 kB]
Fetched 24.9 MB in 0s (135 MB/s)
Preconfiguring packages ...
Selecting previously unselected package sensible-utils.
(Reading database ... 
(Reading database ... 5%
(Reading database ... 10%
(Reading database ... 15%
(Reading database ... 20%
(Reading database ... 25%
(Reading database ... 30%
(Reading database ... 35%
(Reading database ... 40%
(Reading database ... 45%
(Reading database ... 50%
(Reading database ... 55%
(Reading database ... 60%
(Reading database ... 65%
(Reading database ... 70%
(Reading database ... 75%
(Reading database ... 80%
(Reading database ... 85%
(Reading database ... 90%
(Reading database ... 95%
(Reading database ... 100%
(Reading database ... 19966 files and directories currently installed.)
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_arm64.deb ...
Unpacking libmagic-mgc (1:5.45-3+b1) ...
Selecting previously unselected package libmagic1t64:arm64.
Preparing to unpack .../02-libmagic1t64_1%3a5.45-3+b1_arm64.deb ...
Unpacking libmagic1t64:arm64 (1:5.45-3+b1) ...
Selecting previously unselected package file.
Preparing to unpack .../03-file_1%3a5.45-3+b1_arm64.deb ...
Unpacking file (1:5.45-3+b1) ...
Selecting previously unselected package gettext-base.
Preparing to unpack .../04-gettext-base_0.22.5-4_arm64.deb ...
Unpacking gettext-base (0.22.5-4) ...
Selecting previously unselected package libuchardet0:arm64.
Preparing to unpack .../05-libuchardet0_0.0.8-1+b2_arm64.deb ...
Unpacking libuchardet0:arm64 (0.0.8-1+b2) ...
Selecting previously unselected package groff-base.
Preparing to unpack .../06-groff-base_1.23.0-7_arm64.deb ...
Unpacking groff-base (1.23.0-7) ...
Selecting previously unselected package bsdextrautils.
Preparing to unpack .../07-bsdextrautils_2.40.2-14_arm64.deb ...
Unpacking bsdextrautils (2.40.2-14) ...
Selecting previously unselected package libpipeline1:arm64.
Preparing to unpack .../08-libpipeline1_1.5.8-1_arm64.deb ...
Unpacking libpipeline1:arm64 (1.5.8-1) ...
Selecting previously unselected package man-db.
Preparing to unpack .../09-man-db_2.13.0-1_arm64.deb ...
Unpacking man-db (2.13.0-1) ...
Selecting previously unselected package m4.
Preparing to unpack .../10-m4_1.4.19-5_arm64.deb ...
Unpacking m4 (1.4.19-5) ...
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-4_all.deb ...
Unpacking autopoint (0.22.5-4) ...
Selecting previously unselected package libdebhelper-perl.
Preparing to unpack .../15-libdebhelper-perl_13.23_all.deb ...
Unpacking libdebhelper-perl (13.23) ...
Selecting previously unselected package libtool.
Preparing to unpack .../16-libtool_2.5.4-2_all.deb ...
Unpacking libtool (2.5.4-2) ...
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:arm64.
Preparing to unpack .../21-libelf1t64_0.192-4_arm64.deb ...
Unpacking libelf1t64:arm64 (0.192-4) ...
Selecting previously unselected package dwz.
Preparing to unpack .../22-dwz_0.15-1+b1_arm64.deb ...
Unpacking dwz (0.15-1+b1) ...
Selecting previously unselected package libunistring5:arm64.
Preparing to unpack .../23-libunistring5_1.3-1_arm64.deb ...
Unpacking libunistring5:arm64 (1.3-1) ...
Selecting previously unselected package libicu72:arm64.
Preparing to unpack .../24-libicu72_72.1-5+b1_arm64.deb ...
Unpacking libicu72:arm64 (72.1-5+b1) ...
Selecting previously unselected package libxml2:arm64.
Preparing to unpack .../25-libxml2_2.12.7+dfsg+really2.9.14-0.2+b1_arm64.deb ...
Unpacking libxml2:arm64 (2.12.7+dfsg+really2.9.14-0.2+b1) ...
Selecting previously unselected package gettext.
Preparing to unpack .../26-gettext_0.22.5-4_arm64.deb ...
Unpacking gettext (0.22.5-4) ...
Selecting previously unselected package intltool-debian.
Preparing to unpack .../27-intltool-debian_0.35.0+20060710.6_all.deb ...
Unpacking intltool-debian (0.35.0+20060710.6) ...
Selecting previously unselected package po-debconf.
Preparing to unpack .../28-po-debconf_1.0.21+nmu1_all.deb ...
Unpacking po-debconf (1.0.21+nmu1) ...
Selecting previously unselected package debhelper.
Preparing to unpack .../29-debhelper_13.23_all.deb ...
Unpacking debhelper (13.23) ...
Selecting previously unselected package zsh-common.
Preparing to unpack .../30-zsh-common_5.9-8_all.deb ...
Unpacking zsh-common (5.9-8) ...
Selecting previously unselected package zsh.
Preparing to unpack .../31-zsh_5.9-8+b3_arm64.deb ...
Unpacking zsh (5.9-8+b3) ...
Setting up libpipeline1:arm64 (1.5.8-1) ...
Setting up libicu72:arm64 (72.1-5+b1) ...
Setting up bsdextrautils (2.40.2-14) ...
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.23) ...
Setting up libmagic1t64:arm64 (1:5.45-3+b1) ...
Setting up gettext-base (0.22.5-4) ...
Setting up m4 (1.4.19-5) ...
Setting up file (1:5.45-3+b1) ...
Setting up libelf1t64:arm64 (0.192-4) ...
Setting up autotools-dev (20220109.1) ...
Setting up libunistring5:arm64 (1.3-1) ...
Setting up autopoint (0.22.5-4) ...
Setting up autoconf (2.72-3) ...
Setting up dwz (0.15-1+b1) ...
Setting up sensible-utils (0.0.24) ...
Setting up libuchardet0:arm64 (0.0.8-1+b2) ...
Setting up zsh (5.9-8+b3) ...
Setting up libxml2:arm64 (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-4) ...
Setting up libtool (2.5.4-2) ...
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-7) ...
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.23) ...
Processing triggers for libc-bin (2.40-5) ...
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/3534041/tmp/hooks/A99_set_merged_usr starting
Not re-configuring usrmerge for unstable
I: user script /srv/workspace/pbuilder/3534041/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-2_source.changes
dpkg-buildpackage: info: source package zsh-syntax-highlighting
dpkg-buildpackage: info: source version 0.8.0-2
dpkg-buildpackage: info: source distribution unstable
dpkg-buildpackage: info: source changed by Daniel Shahaf <danielsh@apache.org>
 dpkg-source --before-build .
dpkg-buildpackage: info: host architecture arm64
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+b3
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.RTVp2YNccV/foo foo/b'
ok 1 - [1,1] «:»
ok 2 - [3,9] «foo/bar»
ok 3 - [11,33] «/tmp/tmp.RTVp2YNccV/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 <foo2-3>'
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)'
ok 1 - [1,1] «:»
ok 2 - [3,9] «=(<foo)»
ok 3 - [3,9] «=(<foo)»
ok 4 - [3,4] «=(»
ok 5 - [5,5] «<»
ok 6 - [6,8] «foo»
ok 7 - [9,9] «)»
ok 8 - cardinality check
1..10
## process-substitution
# BUFFER=$': --foo=<(echo bar) "<(:)"'
ok 1 - [1,1] «:»
ok 2 - [3,19] «--foo=<(echo bar)»
ok 3 - [9,19] «<(echo bar)»
ok 4 - [9,10] «<(»
ok 5 - [11,14] «echo»
ok 6 - [16,18] «bar»
ok 7 - [19,19] «)»
ok 8 - [21,26] «"<(:)"»
ok 9 - [21,26] «"<(:)"»
ok 10 - cardinality check
1..13
## process-substitution2
# BUFFER=$'echo =(:) a=(:) =(echo foo'
ok 1 - [1,4] «echo»
ok 2 - [6,9] «=(:)»
ok 3 - [6,9] «=(:)»
ok 4 - [6,7] «=(»
ok 5 - [8,8] «:»
ok 6 - [9,9] «)»
ok 7 - [11,15] «a=(:)»
ok 8 - [17,26] «=(echo foo»
ok 9 - [17,26] «=(echo foo»
ok 10 - [17,18] «=(»
ok 11 - [19,22] «echo»
ok 12 - [24,26] «foo»
ok 13 - cardinality check
1..6
## quoted-command-substitution-empty
# BUFFER=$'echo "foo$( '
ok 1 - [1,4] «echo»
ok 2 - [6,12] «"foo$( »
ok 3 - [6,9] «"foo»
ok 4 - [10,12] «$( »
ok 5 - [10,11] «$(»
ok 6 - cardinality check
1..4
## quoted-redirection-in-command-word
# 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=$': $(<foo)'
ok 1 - [1,1] «:»
ok 2 - [3,9] «$(<foo)»
ok 3 - [3,9] «$(<foo)»
ok 4 - [3,4] «$(»
ok 5 - [5,5] «<»
ok 6 - [6,8] «foo»
ok 7 - [9,9] «)»
ok 8 - cardinality check
1..5
## redirection-inhibits-elision
# BUFFER=$'<$foo cat cat'
ok 1 - [1,1] «<»
ok 2 - [2,5] «$foo»
ok 3 - [7,9] «cat»
ok 4 - [11,13] «cat»
ok 5 - cardinality check
1..6
## redirection-is-not-option
# 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=$'<<<foo echo >>&\!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=$': >>>; : <>\\<<<<EOF'
ok 1 - [1,1] «:»
ok 2 - [3,4] «>>»
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-2" "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-2" \
	> /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-2_all.deb'.
 dpkg-genbuildinfo --build=binary -O../zsh-syntax-highlighting_0.8.0-2_arm64.buildinfo
 dpkg-genchanges --build=binary -O../zsh-syntax-highlighting_0.8.0-2_arm64.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: not including original source code in upload
I: copying local configuration
I: user script /srv/workspace/pbuilder/3534041/tmp/hooks/B01_cleanup starting
I: user script /srv/workspace/pbuilder/3534041/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/3534041 and its subdirectories
I: Current time: Wed Feb 11 03:20:42 +14 2026
I: pbuilder-time-stamp: 1770729642