mirror of
https://git.savannah.gnu.org/git/make.git
synced 2024-11-24 12:19:02 +00:00
[SV 66268] Include newlines in file removal error message
* src/file.c (remove_intermediates): Fix an error message about a failure to remove an intermediate file. * tests/scripts/features/patternrules: Add tests.
This commit is contained in:
parent
101bf5636f
commit
93704dd565
2 changed files with 25 additions and 1 deletions
|
@ -432,7 +432,10 @@ remove_intermediates (int sig)
|
|||
}
|
||||
if (status < 0)
|
||||
{
|
||||
perror_with_name ("\nunlink: ", f->name);
|
||||
if (doneany)
|
||||
fputs ("\n", stdout);
|
||||
fflush (stdout);
|
||||
perror_with_name ("unlink: ", f->name);
|
||||
/* Start printing over. */
|
||||
doneany = 0;
|
||||
}
|
||||
|
|
|
@ -672,5 +672,26 @@ $r%.x: $dollar\$(wordlist 1, 99, ${prefix}%${suffix}.1 ${prefix}%${suffix}.2); \
|
|||
}
|
||||
}
|
||||
|
||||
# SV 66268. An error message about a failure to remove an intermediate file.
|
||||
run_make_test(q!
|
||||
all: hello.x
|
||||
%.x: b/%.q; $(info $@ from $<)
|
||||
b/%.q:; @mkdir b; touch $@; chmod -w b
|
||||
!, '', "hello.x from b/hello.q\nrm b/hello.q\n#MAKE#: unlink: b/hello.q: $ERR_unreadable_file\n");
|
||||
|
||||
chmod(0754, 'b');
|
||||
unlink('b/hello.q');
|
||||
rmdir('b');
|
||||
|
||||
run_make_test(q!
|
||||
all: hello.x
|
||||
%.x: b/%.q; $(info $@ from $<)
|
||||
b/%.q:; @mkdir b; touch $@; chmod -w b
|
||||
!, '-s', "hello.x from b/hello.q\n#MAKE#: unlink: b/hello.q: $ERR_unreadable_file\n");
|
||||
|
||||
chmod(0754, 'b');
|
||||
unlink('b/hello.q');
|
||||
rmdir('b');
|
||||
|
||||
# This tells the test driver that the perl test script executed properly.
|
||||
1;
|
||||
|
|
Loading…
Reference in a new issue