tests: Allow run_make_test() to avoid passing -f

We already use undef makefile strings to mean "re-use the previous
makefile", so if the string is empty we'll assume it means "don't
use a makefile at all" (don't add -f).

* tests/run_make_tests.pl (run_make_test): If the makefile string
is empty, don't create a makefile or add -f.
* tests/scripts/features/include: Change empty makefile to "\n".
* tests/scripts/misc/close_stdout: Ditto.
* tests/scripts/options/dash-r: Ditto.
This commit is contained in:
Paul Smith 2022-02-26 17:19:42 -05:00
parent 8cdaabbf8e
commit 1bc35a7ae7
4 changed files with 4 additions and 4 deletions

View file

@ -269,7 +269,7 @@ sub run_make_test
defined $old_makefile
or die "run_make_test(undef) invoked before run_make_test('...')\n";
$makefile = $old_makefile;
} else {
} elsif ($makestring) {
if (! defined($makefile)) {
$makefile = &get_tmpfile();
}

View file

@ -216,7 +216,7 @@ rmfiles('inc1', 'inc2', 'hellod/inc1', 'hellod/inc2');
rmdir('hellod');
# No target gets correct error
run_make_test('', '', '#MAKE#: *** No targets. Stop.', 512);
run_make_test("\n", '', '#MAKE#: *** No targets. Stop.', 512);
# No target in included file either, still gets correct error.
touch('inc1.mk');

View file

@ -4,6 +4,6 @@ $description = "Make sure make exits with an error if stdout is full.";
-e '/dev/full' or return -1;
run_make_test('', '-v > /dev/full', '/^#MAKE#: write error/', 256);
run_make_test("\n", '-v > /dev/full', '/^#MAKE#: write error/', 256);
1;

View file

@ -7,7 +7,7 @@ $details = "DETAILS";
touch('xxx.c');
# Simple check
run_make_test('', '-r COMPILE.c=echo xxx.o',
run_make_test("\n", '-r COMPILE.c=echo xxx.o',
"#MAKE#: *** No rule to make target 'xxx.o'. Stop.", 512);
# Make sure we can set it from within the makefile too