aboutsummaryrefslogtreecommitdiff
path: root/contrib/bmake/unit-tests/varmod-assign-shell.mk
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/bmake/unit-tests/varmod-assign-shell.mk')
-rw-r--r--contrib/bmake/unit-tests/varmod-assign-shell.mk17
1 files changed, 6 insertions, 11 deletions
diff --git a/contrib/bmake/unit-tests/varmod-assign-shell.mk b/contrib/bmake/unit-tests/varmod-assign-shell.mk
index d03692942d5b..7bbea0ff9463 100644
--- a/contrib/bmake/unit-tests/varmod-assign-shell.mk
+++ b/contrib/bmake/unit-tests/varmod-assign-shell.mk
@@ -1,4 +1,4 @@
-# $NetBSD: varmod-assign-shell.mk,v 1.4 2022/01/10 20:32:29 rillig Exp $
+# $NetBSD: varmod-assign-shell.mk,v 1.11 2025/01/11 21:21:33 rillig Exp $
#
# Tests for the variable modifier '::!=', which assigns the output of a shell
# command to the variable, but only if the command exited successfully. This
@@ -15,20 +15,15 @@
# error message instead of the command that was executed. That's where the
# counterintuitive error message 'make: "previous" returned non-zero status'
# comes from.
-#
-# BUGS
-# Even though the variable modifier '::!=' produces an error message,
-# the exit status of make is still 0.
-#
-# Having an error message instead of a warning like for the variable
-# assignment operator '!=' is another unnecessary inconsistency.
DIRECT= previous
-DIRECT!= echo output; false
+# expect+1: warning: Command "echo output; (exit 13)" exited with status 13
+DIRECT!= echo output; (exit 13)
ASSIGNED= previous
-.MAKEFLAGS: -dv # to see the actual command
-_:= ${ASSIGNED::!=echo output; ${:Ufalse}}
+.MAKEFLAGS: -dv # to see the "Capturing" debug output
+# expect+1: warning: Command "echo output; (exit 13)" exited with status 13
+_:= ${ASSIGNED::!=echo output; ${:U(exit 13)}}
.MAKEFLAGS: -d0
all: