From 5b89f7731465fa2c4eaf99ddb704e4faee0d5d2a Mon Sep 17 00:00:00 2001 From: sjg Date: Fri, 22 Mar 2013 16:36:46 +0000 Subject: Add unit-test for export-env and gmake export --- usr.bin/make/unit-tests/Makefile | 3 ++- usr.bin/make/unit-tests/export-env | 24 ++++++++++++++++++++++++ usr.bin/make/unit-tests/test.exp | 8 ++++++++ 3 files changed, 34 insertions(+), 1 deletion(-) create mode 100644 usr.bin/make/unit-tests/export-env (limited to 'usr.bin/make') diff --git a/usr.bin/make/unit-tests/Makefile b/usr.bin/make/unit-tests/Makefile index d48a0625726..eede31e7557 100644 --- a/usr.bin/make/unit-tests/Makefile +++ b/usr.bin/make/unit-tests/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.35 2012/11/09 19:08:28 sjg Exp $ +# $NetBSD: Makefile,v 1.36 2013/03/22 16:36:46 sjg Exp $ # # Unit tests for make(1) # The main targets are: @@ -24,6 +24,7 @@ SUBFILES= \ error \ export \ export-all \ + export-env \ doterror \ dotwait \ forloop \ diff --git a/usr.bin/make/unit-tests/export-env b/usr.bin/make/unit-tests/export-env new file mode 100644 index 00000000000..a6cada7e449 --- /dev/null +++ b/usr.bin/make/unit-tests/export-env @@ -0,0 +1,24 @@ +# $Id: export-env,v 1.1 2013/03/22 16:36:46 sjg Exp $ + +# our normal .export, subsequent changes affect the environment +UT_TEST=this +.export UT_TEST +UT_TEST:= ${.PARSEFILE} + +# not so with .export-env +UT_ENV=exported +.export-env UT_ENV +UT_ENV=not-exported + +# gmake style export goes further; affects nothing but the environment +UT_EXP=before-export +export UT_EXP=exported +UT_EXP=not-exported + +all: + @echo make:; ${UT_TEST UT_ENV UT_EXP:L:@v@echo $v=${$v};@} + @echo env:; ${UT_TEST UT_ENV UT_EXP:L:@v@echo $v=$${$v};@} + + + + diff --git a/usr.bin/make/unit-tests/test.exp b/usr.bin/make/unit-tests/test.exp index 368dc3156db..b6fad78d21b 100644 --- a/usr.bin/make/unit-tests/test.exp +++ b/usr.bin/make/unit-tests/test.exp @@ -43,6 +43,14 @@ UT_OK=good UT_OKDIR=unit-tests UT_TEST=export-all UT_ZOO=hoopie +make: +UT_TEST=export-env +UT_ENV=not-exported +UT_EXP=not-exported +env: +UT_TEST=export-env +UT_ENV=exported +UT_EXP=exported At first, I am happy and now: sad -- cgit