Module Name: src
Committed By: rillig
Date: Sat Jul 20 13:59:31 UTC 2024
Modified Files:
src/usr.bin/make/unit-tests: cmd-errors-jobs.exp cmd-errors-jobs.mk
Log Message:
tests/make: demonstrate failing dependency in parallel mode
In parallel mode, when generating the commands for a target, parse or
evaluation errors still continue generating and executing the commands.
And if the commands succeed, the targets that depend on this target are
still made.
To generate a diff of this commit:
cvs rdiff -u -r1.9 -r1.10 src/usr.bin/make/unit-tests/cmd-errors-jobs.exp
cvs rdiff -u -r1.8 -r1.9 src/usr.bin/make/unit-tests/cmd-errors-jobs.mk
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/usr.bin/make/unit-tests/cmd-errors-jobs.exp
diff -u src/usr.bin/make/unit-tests/cmd-errors-jobs.exp:1.9 src/usr.bin/make/unit-tests/cmd-errors-jobs.exp:1.10
--- src/usr.bin/make/unit-tests/cmd-errors-jobs.exp:1.9 Tue Jul 9 19:43:01 2024
+++ src/usr.bin/make/unit-tests/cmd-errors-jobs.exp Sat Jul 20 13:59:31 2024
@@ -5,5 +5,9 @@ make: in target "unclosed-modifier": whi
: unclosed-modifier-
make: in target "unknown-modifier": while evaluating variable "UNKNOWN" with value "": Unknown modifier "Z"
: unknown-modifier--eol
+make: in target "depend-source": while evaluating variable "UNCLOSED" with value "": Unclosed expression, expecting '}'
+: depend-source-
: end-eol
+: Making depend-target
+: .END-eol
exit status 2
Index: src/usr.bin/make/unit-tests/cmd-errors-jobs.mk
diff -u src/usr.bin/make/unit-tests/cmd-errors-jobs.mk:1.8 src/usr.bin/make/unit-tests/cmd-errors-jobs.mk:1.9
--- src/usr.bin/make/unit-tests/cmd-errors-jobs.mk:1.8 Tue Jul 9 19:43:01 2024
+++ src/usr.bin/make/unit-tests/cmd-errors-jobs.mk Sat Jul 20 13:59:31 2024
@@ -1,11 +1,13 @@
-# $NetBSD: cmd-errors-jobs.mk,v 1.8 2024/07/09 19:43:01 rillig Exp $
+# $NetBSD: cmd-errors-jobs.mk,v 1.9 2024/07/20 13:59:31 rillig Exp $
#
# Demonstrate how errors in expressions affect whether the commands
# are actually executed in jobs mode.
.MAKEFLAGS: -j1
-all: undefined unclosed-expression unclosed-modifier unknown-modifier end
+all: undefined unclosed-expression unclosed-modifier unknown-modifier
+all: depend-target
+all: end
# Undefined variables in expressions are not an error. They expand to empty
# strings.
@@ -31,8 +33,22 @@ unknown-modifier:
# expect: : unknown-modifier--eol
: $@-${UNKNOWN:Z}-eol
+depend-target: depend-source
+# TODO: don't make the target, as its source failed to generate the commands.
+# expect: : Making depend-target
+# expect-reset
+ : Making $@
+
+depend-source:
+# expect: make: in target "depend-source": while evaluating variable "UNCLOSED" with value "": Unclosed expression, expecting '}'
+ : $@-${UNCLOSED:
+
# expect: : end-eol
end:
: $@-eol
+# expect: : .END-eol
+.END:
+ : $@-eol
+
# expect: exit status 2