Module Name: src Committed By: rillig Date: Tue Aug 27 05:01:03 UTC 2024
Modified Files: src/usr.bin/make/unit-tests: var-recursive.exp var-recursive.mk Log Message: tests/make: add stricter checks to test for recursive variables To generate a diff of this commit: cvs rdiff -u -r1.11 -r1.12 src/usr.bin/make/unit-tests/var-recursive.exp cvs rdiff -u -r1.8 -r1.9 src/usr.bin/make/unit-tests/var-recursive.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/var-recursive.exp diff -u src/usr.bin/make/unit-tests/var-recursive.exp:1.11 src/usr.bin/make/unit-tests/var-recursive.exp:1.12 --- src/usr.bin/make/unit-tests/var-recursive.exp:1.11 Tue Aug 27 04:52:14 2024 +++ src/usr.bin/make/unit-tests/var-recursive.exp Tue Aug 27 05:01:03 2024 @@ -14,7 +14,7 @@ make: "var-recursive.mk" line 43: <> make: Fatal errors encountered -- cannot continue make: stopped making "loadtime" in unit-tests sub-exit status 1 -: OK +: before-recursive make: in target "runtime": while evaluating variable "VAR" with value "${VAR}": Variable VAR is recursive. sub-exit status 2 exit status 0 Index: src/usr.bin/make/unit-tests/var-recursive.mk diff -u src/usr.bin/make/unit-tests/var-recursive.mk:1.8 src/usr.bin/make/unit-tests/var-recursive.mk:1.9 --- src/usr.bin/make/unit-tests/var-recursive.mk:1.8 Tue Aug 27 04:52:14 2024 +++ src/usr.bin/make/unit-tests/var-recursive.mk Tue Aug 27 05:01:03 2024 @@ -1,4 +1,4 @@ -# $NetBSD: var-recursive.mk,v 1.8 2024/08/27 04:52:14 rillig Exp $ +# $NetBSD: var-recursive.mk,v 1.9 2024/08/27 05:01:03 rillig Exp $ # # Tests for expressions that refer to themselves and thus cannot be # evaluated, as that would lead to an endless loop. @@ -44,16 +44,16 @@ V= $V .elif make(runtime) -# If a recursive variable is accessed in a command of a target, the makefiles -# have already been fully parsed, so there is no location information from the -# .include and .for directives. In such a case, use the location of the last -# command of the target to provide at least a hint to the location. VAR= ${VAR} runtime: - : OK +# expect: : before-recursive + : before-recursive # expect: make: in target "runtime": while evaluating variable "VAR" with value "${VAR}": Variable VAR is recursive. - : <${VAR}> - : OK +# expect-not: recursive-line-before +# expect-not: recursive-line-after + : recursive-line-before <${VAR}> recursive-line-after +# expect-not: after-recursive + : after-recursive .else