Module Name: src Committed By: rillig Date: Fri Aug 7 19:24:27 UTC 2020
Modified Files: src/distrib/sets/lists/tests: mi src/usr.bin/make/unit-tests: Makefile Added Files: src/usr.bin/make/unit-tests: export-variants.exp export-variants.mk Log Message: make(1): add test for exporting variables To generate a diff of this commit: cvs rdiff -u -r1.885 -r1.886 src/distrib/sets/lists/tests/mi cvs rdiff -u -r1.88 -r1.89 src/usr.bin/make/unit-tests/Makefile cvs rdiff -u -r0 -r1.1 src/usr.bin/make/unit-tests/export-variants.exp \ src/usr.bin/make/unit-tests/export-variants.mk Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/distrib/sets/lists/tests/mi diff -u src/distrib/sets/lists/tests/mi:1.885 src/distrib/sets/lists/tests/mi:1.886 --- src/distrib/sets/lists/tests/mi:1.885 Thu Aug 6 05:36:32 2020 +++ src/distrib/sets/lists/tests/mi Fri Aug 7 19:24:27 2020 @@ -1,4 +1,4 @@ -# $NetBSD: mi,v 1.885 2020/08/06 05:36:32 rillig Exp $ +# $NetBSD: mi,v 1.886 2020/08/07 19:24:27 rillig Exp $ # # Note: don't delete entries from here - mark them as "obsolete" instead. # @@ -4558,6 +4558,8 @@ ./usr/tests/usr.bin/make/unit-tests/export-all.mk tests-usr.bin-tests compattestfile,atf ./usr/tests/usr.bin/make/unit-tests/export-env.exp tests-usr.bin-tests compattestfile,atf ./usr/tests/usr.bin/make/unit-tests/export-env.mk tests-usr.bin-tests compattestfile,atf +./usr/tests/usr.bin/make/unit-tests/export-variants.exp tests-usr.bin-tests compattestfile,atf +./usr/tests/usr.bin/make/unit-tests/export-variants.mk tests-usr.bin-tests compattestfile,atf ./usr/tests/usr.bin/make/unit-tests/export.exp tests-usr.bin-tests compattestfile,atf ./usr/tests/usr.bin/make/unit-tests/export.mk tests-usr.bin-tests compattestfile,atf ./usr/tests/usr.bin/make/unit-tests/forloop.exp tests-usr.bin-tests compattestfile,atf Index: src/usr.bin/make/unit-tests/Makefile diff -u src/usr.bin/make/unit-tests/Makefile:1.88 src/usr.bin/make/unit-tests/Makefile:1.89 --- src/usr.bin/make/unit-tests/Makefile:1.88 Fri Aug 7 14:40:59 2020 +++ src/usr.bin/make/unit-tests/Makefile Fri Aug 7 19:24:27 2020 @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.88 2020/08/07 14:40:59 rillig Exp $ +# $NetBSD: Makefile,v 1.89 2020/08/07 19:24:27 rillig Exp $ # # Unit tests for make(1) # @@ -52,6 +52,7 @@ TESTS+= # escape # broken by reverting TESTS+= export TESTS+= export-all TESTS+= export-env +TESTS+= export-variants TESTS+= forloop TESTS+= forsubst TESTS+= hash @@ -90,6 +91,7 @@ TESTS+= varshell ENV.counter= -i ENV.envfirst= FROM_ENV=value-from-env ENV.export= -i PATH=${PATH:Q} +ENV.export-variants= -i PATH=${PATH:Q} ENV.lint= -i ENV.recursive= -i ENV.varmisc= FROM_ENV=env @@ -117,6 +119,10 @@ SED_CMDS.varshell+= -e '/command/s,No su POSTPROC.counter= ${TOOL_SED} -n -e '/:RELEVANT = yes/,/:RELEVANT = no/p' POSTPROC.vardebug= ${TOOL_SED} -n -e '/:RELEVANT = yes/,/:RELEVANT = no/p' +export-all.rawout: export.mk +unexport.rawout: export.mk +unexport-env.rawout: export.mk + # End of the configuration section. .MAIN: all Added files: Index: src/usr.bin/make/unit-tests/export-variants.exp diff -u /dev/null src/usr.bin/make/unit-tests/export-variants.exp:1.1 --- /dev/null Fri Aug 7 19:24:27 2020 +++ src/usr.bin/make/unit-tests/export-variants.exp Fri Aug 7 19:24:27 2020 @@ -0,0 +1 @@ +exit status 0 Index: src/usr.bin/make/unit-tests/export-variants.mk diff -u /dev/null src/usr.bin/make/unit-tests/export-variants.mk:1.1 --- /dev/null Fri Aug 7 19:24:27 2020 +++ src/usr.bin/make/unit-tests/export-variants.mk Fri Aug 7 19:24:27 2020 @@ -0,0 +1,40 @@ +# $NetBSD: export-variants.mk,v 1.1 2020/08/07 19:24:27 rillig Exp $ +# +# Test whether exported variables apply to each variant of running +# external commands: +# +# The != assignments. +# The :!cmd! modifier. +# The :sh modifier. + +SHVAR!= env | grep ^UT_ || true +.if ${SHVAR} != "" +.warning At this point, no variable should be exported. +.endif + +.if ${:!env | grep ^UT_ || true!} != "" +.warning At this point, no variable should be exported. +.endif + +.if ${env | grep ^UT_ || true:L:sh} != "" +.warning At this point, no variable should be exported. +.endif + +UT_VAR= value +.export UT_VAR + +SHVAR!= env | grep ^UT_ || true +.if ${SHVAR} != "UT_VAR=value" +.warning At this point, no variable should be exported. +.endif + +.if ${:!env | grep ^UT_ || true!} != "UT_VAR=value" +.warning At this point, some variables should be exported. +.endif + +.if ${env | grep ^UT_ || true:L:sh} != "UT_VAR=value" +.warning At this point, some variables should be exported. +.endif + +all: + @:;