mirror of
https://git.savannah.gnu.org/git/make.git
synced 2024-12-28 15:57:48 +00:00
89e18c12eb
* job.h (struct child): New bit to mark recursive command lines. * job.c (start_job_command): Set the recursive command line bit. (reap_children): If the child is a recursive command and it exits with 1 during question mode, don't print an error and exit with 1. * tests/scripts/options/dash-q: Add a regression test.
86 lines
1.5 KiB
Perl
86 lines
1.5 KiB
Perl
# -*-perl-*-
|
|
$description = "Test the -q option.\n";
|
|
|
|
$details = "Try various uses of -q and ensure they all give the correct results.\n";
|
|
|
|
# TEST 0
|
|
|
|
run_make_test(qq!
|
|
one:
|
|
two: ;
|
|
three: ; :
|
|
four: ; \$(.XY)
|
|
five: ; \\
|
|
\$(.XY)
|
|
six: ; \\
|
|
\$(.XY)
|
|
\t\$(.XY)
|
|
seven: ; \\
|
|
\$(.XY)
|
|
\t: foo
|
|
\t\$(.XY)
|
|
!,
|
|
'-q one', '');
|
|
|
|
# TEST 1
|
|
|
|
run_make_test(undef, '-q two', '');
|
|
|
|
# TEST 2
|
|
|
|
run_make_test(undef, '-q three', '', 256);
|
|
|
|
# TEST 3
|
|
|
|
run_make_test(undef, '-q four', '');
|
|
|
|
# TEST 4
|
|
|
|
run_make_test(undef, '-q five', '');
|
|
|
|
# TEST 5
|
|
|
|
run_make_test(undef, '-q six', '');
|
|
|
|
# TEST 6
|
|
|
|
run_make_test(undef, '-q seven', '', 256);
|
|
|
|
# TEST 7 : Savannah bug # 7144
|
|
|
|
run_make_test('
|
|
one:: ; @echo one
|
|
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);
|
|
|
|
# TEST 9 : Savannah bug # 47151
|
|
# Make sure we exit with 1 when invoking a recursive make
|
|
run_make_test('
|
|
foo: bar ; echo foo
|
|
bar: ; @$(MAKE) -f #MAKEFILE# baz
|
|
baz: ; echo baz
|
|
',
|
|
'-q foo', '', 256);
|
|
|
|
1;
|