build/pymake/tests/override-propagate.mk

changeset 0
6474c204b198
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/build/pymake/tests/override-propagate.mk	Wed Dec 31 06:09:35 2014 +0100
     1.3 @@ -0,0 +1,37 @@
     1.4 +#T commandline: ['-w', 'OVAR=oval']
     1.5 +
     1.6 +OVAR=mval
     1.7 +
     1.8 +all: vartest run-override
     1.9 +	$(MAKE) -f $(TESTPATH)/override-propagate.mk vartest
    1.10 +	@echo TEST-PASS
    1.11 +
    1.12 +CLINE := OVAR=oval TESTPATH=$(TESTPATH) NATIVE_TESTPATH=$(NATIVE_TESTPATH)
    1.13 +ifdef __WIN32__
    1.14 +CLINE += __WIN32__=1
    1.15 +endif
    1.16 +
    1.17 +SORTED_CLINE := $(subst \,\\,$(sort $(CLINE)))
    1.18 +
    1.19 +vartest:
    1.20 +	@echo MAKELEVEL: '$(MAKELEVEL)'
    1.21 +	test '$(value MAKEFLAGS)' = 'w -- $$(MAKEOVERRIDES)'
    1.22 +	test '$(origin MAKEFLAGS)' = 'file'
    1.23 +	test '$(value MAKEOVERRIDES)' = '$${-*-command-variables-*-}'
    1.24 +	test "$(sort $(MAKEOVERRIDES))" = "$(SORTED_CLINE)"
    1.25 +	test '$(origin MAKEOVERRIDES)' = 'environment'
    1.26 +	test '$(origin -*-command-variables-*-)' = 'automatic'
    1.27 +	test "$(origin OVAR)" = "command line"
    1.28 +	test "$(OVAR)" = "oval"
    1.29 +
    1.30 +run-override: MAKEOVERRIDES=
    1.31 +run-override:
    1.32 +	test "$(OVAR)" = "oval"
    1.33 +	$(MAKE) -f $(TESTPATH)/override-propagate.mk otest
    1.34 +
    1.35 +otest:
    1.36 +	test '$(value MAKEFLAGS)' = 'w'
    1.37 +	test '$(value MAKEOVERRIDES)' = '$${-*-command-variables-*-}'
    1.38 +	test '$(MAKEOVERRIDES)' = ''
    1.39 +	test '$(origin -*-command-variables-*-)' = 'undefined'
    1.40 +	test "$(OVAR)" = "mval"

mercurial