summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/ChangeLog6
-rw-r--r--tests/scripts/functions/call16
2 files changed, 19 insertions, 3 deletions
diff --git a/tests/ChangeLog b/tests/ChangeLog
index 5a6ba71..e613d8d 100644
--- a/tests/ChangeLog
+++ b/tests/ChangeLog
@@ -1,3 +1,9 @@
+2000-01-11 Paul D. Smith <psmith@gnu.org>
+
+ * scripts/functions/call: Add a test for PR/1517 and PR/1527: make
+ sure $(call ...) doesn't eval its arguments and that you can
+ invoke foreach from it without infinitely looping.
+
1999-12-15 Paul D. Smith <psmith@gnu.org>
* scripts/targets/INTERMEDIATE: Add a test for PR/1423: make sure
diff --git a/tests/scripts/functions/call b/tests/scripts/functions/call
index 3303d5b..8b6aa36 100644
--- a/tests/scripts/functions/call
+++ b/tests/scripts/functions/call
@@ -9,7 +9,7 @@ open(MAKEFILE, "> $makefile");
# The Contents of the MAKEFILE ...
print MAKEFILE <<'EOMAKE';
-# Simple, just reverse something
+# Simple, just reverse two things
#
reverse = $2 $1
@@ -21,9 +21,19 @@ map = $(foreach a,$2,$(call $1,$a))
#
my-notdir = $(call notdir,$(1))
+# Test using non-expanded builtins
+#
+my-foreach = $(foreach $(1),$(2),$(3))
+my-if = $(if $(1),$(2),$(3))
+
all: ; @echo '$(call reverse,bar,foo)'; \
echo '$(call map,origin,MAKE reverse map)'; \
- echo '$(call my-notdir,a/b c/d e/f)'
+ echo '$(call my-notdir,a/b c/d e/f)'; \
+ echo '$(call my-foreach)'; \
+ echo '$(call my-foreach,a,,,)'; \
+ echo '$(call my-foreach,a,x y z,$(a)$(a))'; \
+ echo '$(call my-if,a,b,c)'; \
+ echo '$(call my-if,,$(warning don't print this),ok)'
EOMAKE
@@ -32,7 +42,7 @@ EOMAKE
close(MAKEFILE);
&run_make_with_options($makefile, "", &get_logfile);
-$answer = "foo bar\ndefault file file\nb d f\n";
+$answer = "foo bar\ndefault file file\nb d f\n\n\nxx yy zz\nb\nok\n";
&compare_output($answer, &get_logfile(1));
1;