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

Reply via email to