diff options
author | Paul Smith <psmith@gnu.org> | 2012-03-03 22:56:20 +0000 |
---|---|---|
committer | Paul Smith <psmith@gnu.org> | 2012-03-03 22:56:20 +0000 |
commit | 405c89ba1e33e013f7e582e28f969fc3f39b9b2c (patch) | |
tree | 55f781c6c18edf75f75ac95f54f9fec2e631996b /tests | |
parent | a77c5c09100ef56940546b543dd1c515529ca4bb (diff) | |
download | gunmake-405c89ba1e33e013f7e582e28f969fc3f39b9b2c.tar.gz |
Ensure that .ONESHELL works with .SHELLFLAGS options containing whitespace.
See Savannah bug #35397.
Diffstat (limited to 'tests')
-rw-r--r-- | tests/ChangeLog | 6 | ||||
-rw-r--r-- | tests/scripts/targets/ONESHELL | 13 | ||||
-rw-r--r-- | tests/scripts/variables/SHELL | 8 |
3 files changed, 27 insertions, 0 deletions
diff --git a/tests/ChangeLog b/tests/ChangeLog index 2c2284f..7e7db50 100644 --- a/tests/ChangeLog +++ b/tests/ChangeLog @@ -1,5 +1,11 @@ 2012-03-03 Paul Smith <psmith@gnu.org> + * scripts/variables/SHELL: Ensure .SHELLFLAGS works with options + separated by whitespace. + + * scripts/targets/ONESHELL: Try .ONESHELL in combination with + whitespace-separated options in .SHELLFLAGS. See Savannah bug #35397. + * scripts/functions/filter-out: Add filter tests and test escape operations. See Savannah bug #35410. diff --git a/tests/scripts/targets/ONESHELL b/tests/scripts/targets/ONESHELL index 997423f..0660e92 100644 --- a/tests/scripts/targets/ONESHELL +++ b/tests/scripts/targets/ONESHELL @@ -17,6 +17,19 @@ all: [ 0"$a" -eq "$$" ] || echo fail '); +# Simple but use multi-word SHELLFLAGS + +run_make_test(q! +.ONESHELL: +.SHELLFLAGS = -e -c +all: + a=$$$$ + [ 0"$$a" -eq "$$$$" ] || echo fail +!, + '', 'a=$$ +[ 0"$a" -eq "$$" ] || echo fail +'); + # Again, but this time with inner prefix chars run_make_test(q! diff --git a/tests/scripts/variables/SHELL b/tests/scripts/variables/SHELL index 4416ce1..3d49349 100644 --- a/tests/scripts/variables/SHELL +++ b/tests/scripts/variables/SHELL @@ -70,6 +70,14 @@ all: ; \@$script !, '', $out); +# Do it again but add spaces to SHELLFLAGS +$flags = '-x -c'; +run_make_test(qq! +.SHELLFLAGS = $flags +all: ; \@$script +!, + '', $out); + # We can't just use "false" because on different systems it provides a # different exit code--once again Solaris: false exits with 255 not 1 $script = 'true; false; true'; |