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