fs-util,test: add helper to remove tempfiles

This simplifies the use of tempfiles in tests and fixes "leaked"
temporary files in test-fileio, test-catalog, test-conf-parser.

Not the whole tree is converted.
This commit is contained in:
Zbigniew Jędrzejewski-Szmek
2018-05-18 20:11:31 +02:00
committed by Lennart Poettering
parent c55b280158
commit 627d2bac24
7 changed files with 54 additions and 77 deletions
+9
View File
@@ -1066,6 +1066,15 @@ int access_fd(int fd, int mode) {
return r;
}
void unlink_tempfilep(char (*p)[]) {
/* If the file is created with mkstemp(), it will (almost always)
* change the suffix. Treat this as a sign that the file was
* successfully created. We ignore both the rare case where the
* original suffix is used and unlink failures. */
if (!endswith(*p, ".XXXXXX"))
(void) unlink(*p);
}
int unlinkat_deallocate(int fd, const char *name, int flags) {
_cleanup_close_ int truncate_fd = -1;
struct stat st;
+1
View File
@@ -104,6 +104,7 @@ DEFINE_TRIVIAL_CLEANUP_FUNC(char*, unlink_and_free);
int access_fd(int fd, int mode);
void unlink_tempfilep(char (*p)[]);
int unlinkat_deallocate(int fd, const char *name, int flags);
int fsync_directory_of_file(int fd);