diff options
author | Paul Smith <psmith@gnu.org> | 2010-07-06 06:37:42 +0000 |
---|---|---|
committer | Paul Smith <psmith@gnu.org> | 2010-07-06 06:37:42 +0000 |
commit | c7b469f0f337247acb83067d8f4aa4dc76b8a9a9 (patch) | |
tree | b3b657564a46ef50c7478480f2659064b7e0d12d /tests | |
parent | c78b7265bd1ee374a5e515d79448d0e3452b5ede (diff) | |
download | make-c7b469f0f337247acb83067d8f4aa4dc76b8a9a9.tar.gz |
- Enhance .POSIX to set -e when invoking shells, as demanded by a
backward-incompatible change in the 2008 POSIX specification.
- Add the .SHELLFLAGS variable so people can choose their own shell flags.
- Add tests for this.
- Add documentation for this.
Diffstat (limited to 'tests')
-rw-r--r-- | tests/ChangeLog | 7 | ||||
-rw-r--r-- | tests/scripts/targets/POSIX | 26 | ||||
-rw-r--r-- | tests/scripts/variables/SHELL | 14 |
3 files changed, 47 insertions, 0 deletions
diff --git a/tests/ChangeLog b/tests/ChangeLog index c8f3aab..a611422 100644 --- a/tests/ChangeLog +++ b/tests/ChangeLog @@ -1,3 +1,10 @@ +2010-07-06 Paul Smith <psmith@gnu.org> + + * scripts/variables/SHELL: Test the new .SHELLFLAGS variable. + + * scripts/targets/POSIX: New file. Test the .POSIX special target. + Verify that enabling .POSIX changes the shell flags to set -e. + 2010-07-01 Paul Smith <psmith@gnu.org> * scripts/features/recursion: Add a space to separate command-line diff --git a/tests/scripts/targets/POSIX b/tests/scripts/targets/POSIX new file mode 100644 index 0000000..662c16d --- /dev/null +++ b/tests/scripts/targets/POSIX @@ -0,0 +1,26 @@ +# -*-perl-*- + +$description = "Test the behaviour of the .PHONY target."; + +$details = ""; + + +# Ensure turning on .POSIX enables the -e flag for the shell + +run_make_test(q! +.POSIX: +all: ; @false; true +!, + '', "#MAKE#: *** [all] Error 1\n", 512); + +# User settings must override .POSIX + +run_make_test(q! +.SHELLFLAGS = -xc +.POSIX: +all: ; @false; true +!, + '', "+ false\n+ true\n"); + +# This tells the test driver that the perl test script executed properly. +1; diff --git a/tests/scripts/variables/SHELL b/tests/scripts/variables/SHELL index a303540..69871d2 100644 --- a/tests/scripts/variables/SHELL +++ b/tests/scripts/variables/SHELL @@ -56,4 +56,18 @@ two: export SHELL := /./$mshell\n".' one two:;@echo "$@: $(SHELL) $$SHELL" ', '', "two: /./$mshell /./$mshell\none: /././$mshell $mshell\n"); +# Test .SHELLFLAGS + +run_make_test(q! +.SHELLFLAGS = -xc +all: ; @true +!, + '', "+ true\n"); + +run_make_test(q! +.SHELLFLAGS = -xec +all: ; @true; false; true +!, + '', "+ true\n+ false\n#MAKE#: *** [all] Error 1\n", 512); + 1; |