Module Name: src
Committed By: sjg
Date: Tue Oct 19 15:59:26 UTC 2021
Modified Files:
src/usr.bin/make/unit-tests: Makefile varname-empty.exp
Log Message:
Replace ${.OBJDIR} with <curdir> for consistent results.
If we replace ${.OBJDIR} with <objdir> some tests produce
different results depending on the value of .OBJDIR
For similar reasons eliminate .OBJDIR and .PATH from output of
varname-empty
Reviewed by: rillig
To generate a diff of this commit:
cvs rdiff -u -r1.283 -r1.284 src/usr.bin/make/unit-tests/Makefile
cvs rdiff -u -r1.16 -r1.17 src/usr.bin/make/unit-tests/varname-empty.exp
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/Makefile
diff -u src/usr.bin/make/unit-tests/Makefile:1.283 src/usr.bin/make/unit-tests/Makefile:1.284
--- src/usr.bin/make/unit-tests/Makefile:1.283 Mon Aug 30 17:08:13 2021
+++ src/usr.bin/make/unit-tests/Makefile Tue Oct 19 15:59:26 2021
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.283 2021/08/30 17:08:13 rillig Exp $
+# $NetBSD: Makefile,v 1.284 2021/10/19 15:59:26 sjg Exp $
#
# Unit tests for make(1)
#
@@ -530,9 +530,7 @@ SED_CMDS.varname-dot-parsefile= -e '/in
SED_CMDS.varname-dot-shell= -e 's, = /[^ ]*, = (details omitted),g'
SED_CMDS.varname-dot-shell+= -e 's,"/[^" ]*","(details omitted)",g'
SED_CMDS.varname-dot-shell+= -e 's,\[/[^] ]*\],[(details omitted)],g'
-SED_CMDS.varname-empty= -e 's,${.CURDIR},<curdir>,g'
-SED_CMDS.varname-empty+= -e '/\.PARSEDIR/d'
-SED_CMDS.varname-empty+= -e '/\.SHELL/d'
+SED_CMDS.varname-empty= ${.OBJDIR .PARSEDIR .PATH .SHELL:L:@v@-e '/\\$v/d'@}
# Some tests need an additional round of postprocessing.
POSTPROC.deptgt-suffixes= awk '/^\#\*\*\* Suffixes/,/^never-stop/'
@@ -689,8 +687,14 @@ _SED_CMDS+= -e 's,^usage: ${TEST_MAKE:T:
# replace anything after 'stopped in' with unit-tests
_SED_CMDS+= -e '/stopped/s, /.*, unit-tests,'
_SED_CMDS+= -e 's,${TMPDIR},TMPDIR,g'
-# strip ${.CURDIR}/ from the output
-_SED_CMDS+= -e 's,${.CURDIR:S,.,\\.,g}/,,g'
+# canonicalize ${.OBJDIR} and ${.CURDIR}
+.if ${.OBJDIR} != ${.CURDIR}
+# yes this is inaccurate but none of the tests expect <objdir> anywhere
+# which we get depending on how MAKEOBJDIR is set.
+_SED_CMDS+= -e 's,${.OBJDIR},<curdir>,g'
+.endif
+_SED_CMDS+= -e 's,${.CURDIR},<curdir>,g'
+_SED_CMDS+= -e 's,<curdir>/,,g'
_SED_CMDS+= -e 's,${UNIT_TESTS:S,.,\\.,g}/,,g'
.rawout.out:
Index: src/usr.bin/make/unit-tests/varname-empty.exp
diff -u src/usr.bin/make/unit-tests/varname-empty.exp:1.16 src/usr.bin/make/unit-tests/varname-empty.exp:1.17
--- src/usr.bin/make/unit-tests/varname-empty.exp:1.16 Wed Apr 14 17:20:48 2021
+++ src/usr.bin/make/unit-tests/varname-empty.exp Tue Oct 19 15:59:26 2021
@@ -2,10 +2,6 @@ Var_SetExpand: variable name "${:U}" exp
Var_SetExpand: variable name "" expands to empty string, with value "cmdline-plain" - ignored
Global: .CURDIR = <curdir>
Var_Parse: ${MAKE_OBJDIR_CHECK_WRITABLE} (eval)
-Global: .OBJDIR = <curdir>
-Global:delete .PATH (not found)
-Global: .PATH = .
-Global: .PATH = . <curdir>
Global: .TARGETS =
Internal: MAKEFILE = varname-empty.mk
Global: .MAKE.MAKEFILES = varname-empty.mk