From d91164af4fddefb6d0a9d416278f77d546698e05 Mon Sep 17 00:00:00 2001 From: m0viefreak Date: Sun, 9 Aug 2020 21:55:43 +0200 Subject: [PATCH] tests: Set ZSH explicitly make sure PATH is exported MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit '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. --- Makefile | 2 +- tests/test-highlighting.zsh | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index bbc1d43..b2e666a 100644 --- a/Makefile +++ b/Makefile @@ -4,7 +4,7 @@ INSTALL?=install -c PREFIX?=/usr/local SHARE_DIR?=$(DESTDIR)$(PREFIX)/share/$(NAME) DOC_DIR?=$(DESTDIR)$(PREFIX)/share/doc/$(NAME) -ZSH?=zsh # zsh binary to run tests with +ZSH?="`which zsh`" # zsh binary to run tests with all: cd docs && \ diff --git a/tests/test-highlighting.zsh b/tests/test-highlighting.zsh index 8b564a8..d45cfae 100755 --- a/tests/test-highlighting.zsh +++ b/tests/test-highlighting.zsh @@ -29,6 +29,7 @@ # ------------------------------------------------------------------------------------------------- +export PATH setopt NO_UNSET WARN_CREATE_GLOBAL # Required for add-zle-hook-widget.