diff options
author | Paul Smith <psmith@gnu.org> | 2013-07-22 02:19:13 -0400 |
---|---|---|
committer | Paul Smith <psmith@gnu.org> | 2013-07-22 02:23:02 -0400 |
commit | 40a49f244da5b417af8bede84ac221cee2318d88 (patch) | |
tree | 375c8261aad11579344b11fabba4a74adef327ca /tests | |
parent | 87ac68fe79a2e3b0d149135d40d8cbc5500024af (diff) | |
download | gunmake-40a49f244da5b417af8bede84ac221cee2318d88.tar.gz |
[Bug #39310] Parse simple pattern prereqs for globbing.
We tried to get some efficiency by avoiding a parse_file_seq() for simple
pattern prerequisites, but this also means no wildcard expansion was
happening, so add it back. Add regression tests for wildcards in target and
prerequisite lists.
Diffstat (limited to 'tests')
-rw-r--r-- | tests/ChangeLog | 5 | ||||
-rw-r--r-- | tests/scripts/features/rule_glob | 37 |
2 files changed, 42 insertions, 0 deletions
diff --git a/tests/ChangeLog b/tests/ChangeLog index 978349a..587ff64 100644 --- a/tests/ChangeLog +++ b/tests/ChangeLog @@ -1,3 +1,8 @@ +2013-07-22 Paul Smith <psmith@gnu.org> + + * scripts/features/rule_glob: Add tests for wildcards in rules. + Test for Savannah bug #39310. + 2013-07-09 Paul Smith <psmith@gnu.org> * scripts/features/se_implicit: Add a test for SE rules depending diff --git a/tests/scripts/features/rule_glob b/tests/scripts/features/rule_glob new file mode 100644 index 0000000..2d377e7 --- /dev/null +++ b/tests/scripts/features/rule_glob @@ -0,0 +1,37 @@ +# -*-perl-*- + +$description = "Test globbing in targets and prerequisites."; + +$details = ""; + +touch(qw(a.one a.two a.three)); + +# Test wildcards in regular targets and prerequisites +run_make_test(q{ +.PHONY: all a.one a.two a.three +all: a.one* a.t[a-z0-9]o a.th[!q]ee +a.o[Nn][Ee] a.t*: ; @echo $@ +}, + '', "a.one\na.two\na.three"); + +# Test wildcards in pattern targets and prerequisites +run_make_test(q{ +.PHONY: all +all: a.four +%.four : %.t* ; @echo $@: $(sort $^) +}, + '', "a.four: a.three a.two"); + +# Test wildcards in second expansion targets and prerequisites +run_make_test(q{ +.PHONY: all +all: a.four +.SECONDEXPANSION: +%.four : $$(sort %.t*) ; @echo $@: $(sort $^) +}, + '', "a.four: a.three a.two"); + +unlink(qw(a.one a.two a.three)); + +# This tells the test driver that the perl test script executed properly. +1; |