From 405c89ba1e33e013f7e582e28f969fc3f39b9b2c Mon Sep 17 00:00:00 2001 From: Paul Smith Date: Sat, 3 Mar 2012 22:56:20 +0000 Subject: Ensure that .ONESHELL works with .SHELLFLAGS options containing whitespace. See Savannah bug #35397. --- tests/ChangeLog | 6 ++++++ tests/scripts/targets/ONESHELL | 13 +++++++++++++ tests/scripts/variables/SHELL | 8 ++++++++ 3 files changed, 27 insertions(+) (limited to 'tests') 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 + * 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 @@ -64,6 +64,14 @@ my $script = 'true; true'; my $flags = '-xc'; my $out = `/bin/sh $flags '$script' 2>&1`; +run_make_test(qq! +.SHELLFLAGS = $flags +all: ; \@$script +!, + '', $out); + +# Do it again but add spaces to SHELLFLAGS +$flags = '-x -c'; run_make_test(qq! .SHELLFLAGS = $flags all: ; \@$script -- cgit v1.2.3