git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH 1/2] test: fix build for zsh

From
Felipe Contreras <felipe.contreras@gmail.com>
Date
Apr 1, 2023, 01:56 UTC
Message-ID
<20230401015632.103581-2-felipe.contreras@gmail.com>
In-Reply-To
<20230401015632.103581-1-felipe.contreras@gmail.com>

zsh has the ability to emulate Bourne shell, which is closer to what our testing suite expect.

Using the POSIX_ARGZERO option makes $0 behave as POSIX seems to define: show the name of the command launched, as opposed to the zsh default: the path of the script.

This enables many tests, but not all.

We can run the tests with `zsh --emulate sh` which has more more compatibility, but doing `emulate sh` inside the script allows us to just use `zsh`, although it's not as compatible.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
---
 t/test-lib.sh | 5 +++++
 1 file changed, 5 insertions(+)
diff --git a/t/test-lib.sh b/t/test-lib.sh
index 62136caee5..d5a9168484 100644
--- a/t/test-lib.sh
+++ b/t/test-lib.sh
@@ -15,6 +15,11 @@
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see http://www.gnu.org/licenses/ .
 
+if test -n "${ZSH_VERSION-}"
+then
+	emulate sh -o POSIX_ARGZERO
+fi
+
 # Test the binaries we have just built.  The tests are kept in
 # t/ subdirectory and are run in 'trash directory' subdirectory.
 if test -z "$TEST_DIRECTORY"
-- 
2.40.0
Previous: Felipe ContrerasNext: Eric Sunshine
Message 2 of 4 in “test: add support for zsh and zsh completion”
  1. 0/2 test: add support for zsh and zsh completionFelipe Contreras, Apr 1, 2023
  2. 1/2 test: fix build for zshFelipe Contreras, Apr 1, 2023
  3. Eric SunshineApr 1, 2023
  4. 2/2 test: completion: add zsh testsFelipe Contreras, Apr 1, 2023

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.