diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/ChangeLog | 8 | ||||
-rw-r--r-- | tests/scripts/variables/LIBPATTERNS | 38 | ||||
-rw-r--r-- | tests/scripts/variables/automatic | 12 |
3 files changed, 58 insertions, 0 deletions
diff --git a/tests/ChangeLog b/tests/ChangeLog index 9e48022..062e619 100644 --- a/tests/ChangeLog +++ b/tests/ChangeLog @@ -1,3 +1,11 @@ +2009-06-07 Paul Smith <psmith@gnu.org> + + * scripts/variables/automatic: Check prereq ordering when the + target with the recipe has no prereqs. Savannah bug #21198. + + * scripts/variables/LIBPATTERNS: Add a new set of test for + $(.LIBPATTERNS) (previously untested!) + 2009-06-04 Paul Smith <psmith@gnu.org> * scripts/variables/SHELL: The export target-specific SHELL test diff --git a/tests/scripts/variables/LIBPATTERNS b/tests/scripts/variables/LIBPATTERNS new file mode 100644 index 0000000..826f2fa --- /dev/null +++ b/tests/scripts/variables/LIBPATTERNS @@ -0,0 +1,38 @@ +# -*-perl-*- + +$description = "Test .LIBPATTERNS special variable."; + +$details = ""; + +# TEST 0: basics + +touch('mtest_foo.a'); + +run_make_test(' +.LIBPATTERNS = mtest_%.a +all: -lfoo ; @echo "build $@ from $<" +', + '', "build all from mtest_foo.a\n"); + +# TEST 1: Handle elements that are not patterns. + +run_make_test(' +.LIBPATTERNS = mtest_foo.a mtest_%.a +all: -lfoo ; @echo "build $@ from $<" +', + '', "#MAKE#: .LIBPATTERNS element `mtest_foo.a' is not a pattern +build all from mtest_foo.a\n"); + +# TEST 2: target-specific override + +# Uncomment this when we add support, see Savannah bug #25703 +# run_make_test(' +# .LIBPATTERNS = mbad_%.a +# all: .LIBPATTERNS += mtest_%.a +# all: -lfoo ; @echo "build $@ from $<" +# ', +# '', "build all from mtest_foo.a\n"); + +unlink('mtest_foo.a'); + +1; diff --git a/tests/scripts/variables/automatic b/tests/scripts/variables/automatic index c0fdff8..33c482d 100644 --- a/tests/scripts/variables/automatic +++ b/tests/scripts/variables/automatic @@ -107,4 +107,16 @@ bar: ;', unlink('foo'); +# TEST #4: ensure prereq ordering is correct when the commmand target has none +# See Savannah bug #21198 + +run_make_test(' +all : A B +all : ; @echo $@ -- $^ -- $< +all : C D +all : E F +A B C D E F G H : ; @: +', + '', "all -- A B C D E F -- A\n"); + 1; |