Module Name:    src
Committed By:   rillig
Date:           Mon Jul 27 19:45:56 UTC 2020

Modified Files:
        src/usr.bin/make/unit-tests: Makefile export-all.mk export.exp
            export.mk unexport-env.mk unexport.mk

Log Message:
make(1): prepare test for .export to show all exported variables

Currently the unit tests don't cover exporting of local variables like
.TARGET or @.  To see the effects, all exported variables must be listed
by the tests.


To generate a diff of this commit:
cvs rdiff -u -r1.68 -r1.69 src/usr.bin/make/unit-tests/Makefile
cvs rdiff -u -r1.2 -r1.3 src/usr.bin/make/unit-tests/export-all.mk
cvs rdiff -u -r1.1 -r1.2 src/usr.bin/make/unit-tests/export.exp \
    src/usr.bin/make/unit-tests/export.mk \
    src/usr.bin/make/unit-tests/unexport-env.mk \
    src/usr.bin/make/unit-tests/unexport.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/Makefile
diff -u src/usr.bin/make/unit-tests/Makefile:1.68 src/usr.bin/make/unit-tests/Makefile:1.69
--- src/usr.bin/make/unit-tests/Makefile:1.68	Mon Jul 27 19:23:12 2020
+++ src/usr.bin/make/unit-tests/Makefile	Mon Jul 27 19:45:56 2020
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.68 2020/07/27 19:23:12 rillig Exp $
+# $NetBSD: Makefile,v 1.69 2020/07/27 19:45:56 rillig Exp $
 #
 # Unit tests for make(1)
 #
@@ -79,6 +79,7 @@ TESTS+=		varshell
 
 # Override environment variables for some of the tests.
 ENV.envfirst=		FROM_ENV=value-from-env
+ENV.export=		-i PATH=${PATH:Q}
 ENV.varmisc=		FROM_ENV=env
 ENV.varmisc+=		FROM_ENV_BEFORE=env
 ENV.varmisc+=		FROM_ENV_AFTER=env
@@ -133,7 +134,7 @@ LANG=		C
 	@echo testing ${.IMPSRC}
 	@set -eu; \
 	cd ${.OBJDIR}; \
-	${ENV.${.TARGET:R}} ${TEST_MAKE} \
+	env ${ENV.${.TARGET:R}} ${TEST_MAKE} \
 	  ${FLAGS.${.TARGET:R}:U-k} -f ${.IMPSRC} \
 	  > ${.TARGET}.tmp 2>&1 \
 	&& status=$$? || status=$$?; \

Index: src/usr.bin/make/unit-tests/export-all.mk
diff -u src/usr.bin/make/unit-tests/export-all.mk:1.2 src/usr.bin/make/unit-tests/export-all.mk:1.3
--- src/usr.bin/make/unit-tests/export-all.mk:1.2	Fri Apr 10 20:41:59 2015
+++ src/usr.bin/make/unit-tests/export-all.mk	Mon Jul 27 19:45:56 2020
@@ -1,4 +1,4 @@
-# $Id: export-all.mk,v 1.2 2015/04/10 20:41:59 sjg Exp $
+# $Id: export-all.mk,v 1.3 2020/07/27 19:45:56 rillig Exp $
 
 UT_OK=good
 UT_F=fine
@@ -17,6 +17,7 @@ UT_OKDIR = ${${here}/../${here:T}:L:${M_
 
 .export
 
+FILTER_CMD=	grep ^UT_
 .include "export.mk"
 
 UT_TEST=export-all

Index: src/usr.bin/make/unit-tests/export.exp
diff -u src/usr.bin/make/unit-tests/export.exp:1.1 src/usr.bin/make/unit-tests/export.exp:1.2
--- src/usr.bin/make/unit-tests/export.exp:1.1	Thu Aug 21 13:44:51 2014
+++ src/usr.bin/make/unit-tests/export.exp	Mon Jul 27 19:45:56 2020
@@ -1,3 +1,5 @@
+.MAKE.LEVEL.ENV=MAKELEVEL
+MAKELEVEL=1
 UT_DOLLAR=This is $UT_FU
 UT_FOO=foobar is fubar
 UT_FU=fubar
Index: src/usr.bin/make/unit-tests/export.mk
diff -u src/usr.bin/make/unit-tests/export.mk:1.1 src/usr.bin/make/unit-tests/export.mk:1.2
--- src/usr.bin/make/unit-tests/export.mk:1.1	Thu Aug 21 13:44:51 2014
+++ src/usr.bin/make/unit-tests/export.mk	Mon Jul 27 19:45:56 2020
@@ -1,4 +1,4 @@
-# $Id: export.mk,v 1.1 2014/08/21 13:44:51 apb Exp $
+# $Id: export.mk,v 1.2 2020/07/27 19:45:56 rillig Exp $
 
 UT_TEST=export
 UT_FOO=foo${BAR}
@@ -17,6 +17,7 @@ BAR=bar is ${UT_FU}
 
 .MAKE.EXPORTED+= UT_ZOO UT_TEST
 
-all:
-	@env | grep '^UT_' | sort
+FILTER_CMD?=	grep -v -E '^(MAKEFLAGS|PATH|PWD)='
 
+all:
+	@env | ${FILTER_CMD} | sort
Index: src/usr.bin/make/unit-tests/unexport-env.mk
diff -u src/usr.bin/make/unit-tests/unexport-env.mk:1.1 src/usr.bin/make/unit-tests/unexport-env.mk:1.2
--- src/usr.bin/make/unit-tests/unexport-env.mk:1.1	Thu Aug 21 13:44:52 2014
+++ src/usr.bin/make/unit-tests/unexport-env.mk	Mon Jul 27 19:45:56 2020
@@ -1,6 +1,7 @@
-# $Id: unexport-env.mk,v 1.1 2014/08/21 13:44:52 apb Exp $
+# $Id: unexport-env.mk,v 1.2 2020/07/27 19:45:56 rillig Exp $
 
 # pick up a bunch of exported vars
+FILTER_CMD=	grep ^UT_
 .include "export.mk"
 
 # an example of setting up a minimal environment.
Index: src/usr.bin/make/unit-tests/unexport.mk
diff -u src/usr.bin/make/unit-tests/unexport.mk:1.1 src/usr.bin/make/unit-tests/unexport.mk:1.2
--- src/usr.bin/make/unit-tests/unexport.mk:1.1	Thu Aug 21 13:44:52 2014
+++ src/usr.bin/make/unit-tests/unexport.mk	Mon Jul 27 19:45:56 2020
@@ -1,6 +1,7 @@
-# $Id: unexport.mk,v 1.1 2014/08/21 13:44:52 apb Exp $
+# $Id: unexport.mk,v 1.2 2020/07/27 19:45:56 rillig Exp $
 
 # pick up a bunch of exported vars
+FILTER_CMD=	grep ^UT_
 .include "export.mk"
 
 .unexport UT_ZOO UT_FOO

Reply via email to