From 40a49f244da5b417af8bede84ac221cee2318d88 Mon Sep 17 00:00:00 2001 From: Paul Smith Date: Mon, 22 Jul 2013 02:19:13 -0400 Subject: [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. --- tests/ChangeLog | 5 +++++ tests/scripts/features/rule_glob | 37 +++++++++++++++++++++++++++++++++++++ 2 files changed, 42 insertions(+) create mode 100644 tests/scripts/features/rule_glob (limited to 'tests') 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 + + * scripts/features/rule_glob: Add tests for wildcards in rules. + Test for Savannah bug #39310. + 2013-07-09 Paul Smith * 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; -- cgit v1.2.3