From 957baa4fc3e59dc480f879bbe2eb732acd88a4ef Mon Sep 17 00:00:00 2001 From: Felipe Contreras Date: Tue, 5 Mar 2024 23:27:50 -0600 Subject: [PATCH] Fix zsh default srcdir support It turns that by adding zsh support in 00cb93e (Add initial support for zsh, 2023-03-10) we disabled the feature enabled in 0bc8705 (Set proper location of TEST_SRCDIR, 2022-09-07) for zsh. In order for SHARNESS_TEST_SRCDIR to have a proper default in zsh, we need to restore the previous semantics of $0. Let's do that by storing the value of $0 before POSIX_ARGZERO is turned on. Helps issue #124. Signed-off-by: Felipe Contreras --- sharness.sh | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/sharness.sh b/sharness.sh index b6f2f08c7..722479152 100644 --- a/sharness.sh +++ b/sharness.sh @@ -20,7 +20,10 @@ if test -n "${ZSH_VERSION-}" then + SHARNESS_SOURCE=$0 emulate sh -o POSIX_ARGZERO +else + SHARNESS_SOURCE=${BASH_SOURCE-$0} fi # Public: Current version of Sharness. @@ -40,7 +43,7 @@ SHARNESS_TEST_DIRECTORY=$(cd "$SHARNESS_TEST_DIRECTORY" && pwd) || exit 1 export SHARNESS_TEST_DIRECTORY # shellcheck disable=SC3028 -: "${SHARNESS_TEST_SRCDIR:=$(cd "$(dirname "${BASH_SOURCE-$0}")" && pwd)}" +: "${SHARNESS_TEST_SRCDIR:=$(cd "$(dirname "$SHARNESS_SOURCE")" && pwd)}" # Public: Source directory of test code and sharness library. # This directory may be different from the directory in which tests are # being run.