tests: Set ZSH explicitly make sure PATH is exported
'env -i' clears the complete environment, including PATH. In that
case, on most platforms, when excuting commands without PATH being
set, /usr/bin and /bin are searched, e.g. on Linux:
$ strace env -i asdf |& grep asdf
execve("/usr/bin/env", ["env", "-i", "asdf"], 0x7ffc3e3c0890 /* 27 vars */) = 0
execve("/bin/asdf", ["asdf"], 0x55be2da090d0 /* 0 vars */) = -1 ENOENT (No such file or directory)
execve("/usr/bin/asdf", ["asdf"], 0x55be2da090d0 /* 0 vars */) = -1 ENOENT (No such file or directory)
write(2, "\342\200\230asdf\342\200\231", 10‘asdf’) = 10
Howver, this does not hold on every platform. E.g. on Cygwin, so
such fallback paths are searched:
$ strace env -i asdf |& grep asdf
37 25736 [main] env 3516 build_argv: argv[2] = 'asdf'
643 30373 [main] env 3516 find_exec: find_exec (asdf)
35 30408 [main] env 3516 find_exec: (null) = find_exec (asdf)
36 30444 [main] env 3516 spawnve: spawnve (, asdf, 0x10040B000)
‘asdf’ 199 53601 [main] env 3516 write: 10 = write(2, 0x10040B040, 10)
$ env -i zsh
env: ‘zsh’: No such file or directory
Therefore, we need to make sure that the default PATH is exported
from tests/test-highlighting.zsh.