diff options
Diffstat (limited to 'unit-tests/varmod-exclam-shell.mk')
-rw-r--r-- | unit-tests/varmod-exclam-shell.mk | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/unit-tests/varmod-exclam-shell.mk b/unit-tests/varmod-exclam-shell.mk new file mode 100644 index 0000000000000..2e811ddb4f5c8 --- /dev/null +++ b/unit-tests/varmod-exclam-shell.mk @@ -0,0 +1,28 @@ +# $NetBSD: varmod-exclam-shell.mk,v 1.2 2020/08/16 12:48:55 rillig Exp $ +# +# Tests for the :!cmd! variable modifier. + +.if ${:!echo hello | tr 'l' 'l'!} != "hello" +.warning unexpected +.endif + +# The output is truncated at the first null byte. +# Cmd_Exec returns only a string pointer without length information. +.if ${:!echo hello | tr 'l' '\0'!} != "he" +.warning unexpected +.endif + +.if ${:!echo!} != "" +.warning A newline at the end of the output must be stripped. +.endif + +.if ${:!echo;echo!} != " " +.warning Only a single newline at the end of the output is stripped. +.endif + +.if ${:!echo;echo;echo;echo!} != " " +.warning Other newlines in the output are converted to spaces. +.endif + +all: + @:; |