summaryrefslogtreecommitdiff
path: root/tests/scripts/features/se_explicit
diff options
context:
space:
mode:
authorPaul Smith <psmith@gnu.org>2009-09-24 02:41:44 +0000
committerPaul Smith <psmith@gnu.org>2009-09-24 02:41:44 +0000
commit0afbbf8595b6035a5a930399d20320d2e2852d72 (patch)
tree6c74d485e4d57b2bf41bb5d6afaac1b4569dd554 /tests/scripts/features/se_explicit
parent3cc351decdd7d53fea0c730fd919163f20706762 (diff)
downloadgunmake-0afbbf8595b6035a5a930399d20320d2e2852d72.tar.gz
- Rework secondary expansion so we only defer it if there's a possibility
it might be needed: for most situations we parse prereqs immediately as we used to. Reduces memory usage. - Fixes Savannah bug #18622.
Diffstat (limited to 'tests/scripts/features/se_explicit')
-rw-r--r--tests/scripts/features/se_explicit28
1 files changed, 14 insertions, 14 deletions
diff --git a/tests/scripts/features/se_explicit b/tests/scripts/features/se_explicit
index 454d494..adf6b33 100644
--- a/tests/scripts/features/se_explicit
+++ b/tests/scripts/features/se_explicit
@@ -24,9 +24,9 @@ run_make_test(undef, 'SE=1', "three\nfour\nbariz\nfoo\$bar : baraz bariz");
# TEST #1: automatic variables.
#
-run_make_test('
+run_make_test(q!
.SECONDEXPANSION:
-.DEFAULT: ; @echo $@
+.DEFAULT: ; @echo '$@'
foo: bar baz
@@ -39,7 +39,7 @@ foo: $$@.1 \
$$|.5 \
$$*.6
-',
+!,
'',
'bar
baz
@@ -60,17 +60,16 @@ buz.5
# Test #2: target/pattern -specific variables.
#
-run_make_test('
+run_make_test(q!
.SECONDEXPANSION:
-.DEFAULT: ; @echo $@
+.DEFAULT: ; @echo '$@'
foo.x: $$a $$b
foo.x: a := bar
%.x: b := baz
-
-',
+!,
'',
'bar
baz
@@ -79,9 +78,9 @@ baz
# Test #3: order of prerequisites.
#
-run_make_test('
+run_make_test(q!
.SECONDEXPANSION:
-.DEFAULT: ; @echo $@
+.DEFAULT: ; @echo '$@'
all: foo bar baz
@@ -99,7 +98,7 @@ bar: bar.3
baz: baz.1
baz: baz.2
baz: ; @:
-',
+!,
'',
'foo.1
foo.2
@@ -112,22 +111,23 @@ baz.2
');
# TEST #4: eval in a context where there is no reading_file
-run_make_test('
+run_make_test(q!
.SECONDEXPANSION:
all : $$(eval $$(info test))
-', '', "test\n#MAKE#: Nothing to be done for `all'.\n");
+!,
+ '', "test\n#MAKE#: Nothing to be done for `all'.\n");
# TEST #5: (NEGATIVE) catch eval in a prereq list trying to create new
# target/prereq relationships.
-run_make_test('
+run_make_test(q!
.SECONDEXPANSION:
proj1.exe : proj1.o $$(eval $$(test))
define test
proj1.o : proj1.c
proj1.c: proj1.h
endef
-',
+!,
'', "#MAKE#: *** prerequisites cannot be defined in recipes. Stop.\n", 512);
# This tells the test driver that the perl test script executed properly.