make/tests/scripts/functions/if

31 lines
828 B
Perl

# -*-perl-*-
$description = "Test the if function.\n";
$details = "Try various uses of if and ensure they all give the correct
results.\n";
open(MAKEFILE, "> $makefile");
print MAKEFILE <<EOMAKE;
NEQ = \$(subst \$1,,\$2)
all:
\t\@echo \$(if ,true,false)
\t\@echo \$(if ,true,)
\t\@echo \$(if ,true)
\t\@echo \$(if z,true,false)
\t\@echo \$(if z,true,\$(shell echo hi))
\t\@echo \$(if ,\$(shell echo hi),false)
\t\@echo \$(if \$(call NEQ,a,b),true,false)
\t\@echo \$(if \$(call NEQ,a,a),true,false)
\t\@echo \$(if z,true,fal,se)
\t\@echo \$(if ,true,fal,se)
EOMAKE
close(MAKEFILE);
&run_make_with_options($makefile, "", &get_logfile);
$answer = "false\n\n\ntrue\ntrue\nfalse\ntrue\nfalse\ntrue\nfal,se\n";
&compare_output($answer, &get_logfile(1));
1;