Module Name: src Committed By: rillig Date: Sat Dec 19 20:35:39 UTC 2020
Modified Files: src/usr.bin/make/unit-tests: directive-undef.mk Log Message: make(1): add tests for undefining variables with exotic names To generate a diff of this commit: cvs rdiff -u -r1.6 -r1.7 src/usr.bin/make/unit-tests/directive-undef.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/directive-undef.mk diff -u src/usr.bin/make/unit-tests/directive-undef.mk:1.6 src/usr.bin/make/unit-tests/directive-undef.mk:1.7 --- src/usr.bin/make/unit-tests/directive-undef.mk:1.6 Sun Dec 13 01:07:54 2020 +++ src/usr.bin/make/unit-tests/directive-undef.mk Sat Dec 19 20:35:39 2020 @@ -1,4 +1,4 @@ -# $NetBSD: directive-undef.mk,v 1.6 2020/12/13 01:07:54 rillig Exp $ +# $NetBSD: directive-undef.mk,v 1.7 2020/12/19 20:35:39 rillig Exp $ # # Tests for the .undef directive. # @@ -16,7 +16,34 @@ . warning $1$2$3 .endif +# Without any arguments, .undef tries to delete the variable with the empty +# name, which never exists; see varname-empty.mk. .undef # oops: missing argument + +# It must be possible to undefine variables whose name includes spaces. +SPACE= ${:U } +${SPACE}= space +.if !defined(${SPACE}) +. error +.endif +.undef ${SPACE} +.if defined(${SPACE}) +. error +.endif + + +# It must be possible to undefine variables whose name includes dollars. +DOLLAR= $$ +${DOLLAR}= dollar +.if !defined(${DOLLAR}) +. error +.endif +.undef ${DOLLAR} +.if defined(${DOLLAR}) +. error +.endif + + all: @:;