From 0faa98a0bbf05d63f9385de9d66d1707257ab437 Mon Sep 17 00:00:00 2001 From: Paul Smith Date: Thu, 1 May 2014 09:48:10 -0400 Subject: [SV 42249] Propagate correct rule status results. * remake.c (update_file, update_file_1, check_dep): Return an enum update_status value instead of an int, and keep the highest value we find as we walk the graph so that the ultimate status is correct. * tests/scripts/options/dash-q: Add a test for updating prerequisites. --- tests/scripts/options/dash-q | 44 ++++++++++++++++++++++++++++++++------------ 1 file changed, 32 insertions(+), 12 deletions(-) (limited to 'tests') diff --git a/tests/scripts/options/dash-q b/tests/scripts/options/dash-q index 56f04a1..194588d 100644 --- a/tests/scripts/options/dash-q +++ b/tests/scripts/options/dash-q @@ -5,21 +5,21 @@ $details = "Try various uses of -q and ensure they all give the correct results. # TEST 0 -run_make_test(' +run_make_test(qq! one: two: ; three: ; : -four: ; $(.XY) -five: ; \ - $(.XY) -six: ; \ - $(.XY) - $(.XY) -seven: ; \ - $(.XY) - : foo - $(.XY) -', +four: ; \$(.XY) +five: ; \\ + \$(.XY) +six: ; \\ + \$(.XY) +\t\$(.XY) +seven: ; \\ + \$(.XY) +\t: foo +\t\$(.XY) +!, '-q one', ''); # TEST 1 @@ -54,4 +54,24 @@ one:: ; @echo two ', '-q', '', 256); +# TEST 7 : Savannah bug # 42249 +# Make sure we exit with 1 even for prerequisite updates +run_make_test(' +build-stamp: ; echo $@ +build-arch: build-stamp +build-x: build-arch +build-y: build-x +', + '-q build-y', '', 256); + +# TEST 8 +# Make sure we exit with 2 on error even with -q +run_make_test(' +build-stamp: ; echo $@ +build-arch: build-stamp-2 +build-x: build-arch +build-y: build-x +', + '-q build-y', "#MAKE#: *** No rule to make target 'build-stamp-2', needed by 'build-arch'. Stop.\n", 512); + 1; -- cgit v1.2.3