Blame tests/scripts/variables/undefine

Packit 26a39e
#                                                                    -*-perl-*-
Packit 26a39e
Packit 26a39e
$description = "Test variable undefine.";
Packit 26a39e
Packit 26a39e
$details = "";
Packit 26a39e
Packit 26a39e
# TEST 0: basic undefine functionality
Packit 26a39e
Packit 26a39e
run_make_test('
Packit 26a39e
a = a
Packit 26a39e
b := b
Packit 26a39e
define c
Packit 26a39e
c
Packit 26a39e
endef
Packit 26a39e
Packit 26a39e
$(info $(flavor a) $(flavor b) $(flavor c))
Packit 26a39e
Packit 26a39e
n := b
Packit 26a39e
Packit 26a39e
undefine a
Packit 26a39e
undefine $n
Packit 26a39e
undefine c
Packit 26a39e
Packit 26a39e
$(info $(flavor a) $(flavor b) $(flavor c))
Packit 26a39e
Packit 26a39e
Packit 26a39e
all: ;@:
Packit 26a39e
',
Packit 26a39e
'', "recursive simple recursive\nundefined undefined undefined");
Packit 26a39e
Packit 26a39e
Packit 26a39e
# TEST 1: override
Packit 26a39e
Packit 26a39e
run_make_test('
Packit 26a39e
undefine a
Packit 26a39e
override undefine b
Packit 26a39e
Packit 26a39e
$(info $(flavor a) $(flavor b))
Packit 26a39e
Packit 26a39e
Packit 26a39e
all: ;@:
Packit 26a39e
',
Packit 26a39e
'a=a b=b', "recursive undefined");
Packit 26a39e
Packit 26a39e
1;
Packit 26a39e
Packit 26a39e
# TEST 2: undefine in eval (make sure we undefine from the global var set)
Packit 26a39e
Packit 26a39e
run_make_test('
Packit 26a39e
define undef
Packit 26a39e
$(eval undefine $$1)
Packit 26a39e
endef
Packit 26a39e
Packit 26a39e
a := a
Packit 26a39e
$(call undef,a)
Packit 26a39e
$(info $(flavor a))
Packit 26a39e
Packit 26a39e
Packit 26a39e
all: ;@:
Packit 26a39e
',
Packit 26a39e
'', "undefined");
Packit 26a39e
Packit 26a39e
Packit 26a39e
# TEST 3: Missing variable name
Packit 26a39e
Packit 26a39e
run_make_test('
Packit 26a39e
a =
Packit 26a39e
undefine $a
Packit 26a39e
all: ;@echo ouch
Packit 26a39e
',
Packit 26a39e
'', "#MAKEFILE#:3: *** empty variable name.  Stop.\n", 512);
Packit 26a39e
Packit 26a39e
1;