basic: remove rm_rf_and_free, add rm_rf_physical_and_free, use rm_rf_physical_and_freep in tests (#3292)
Some distros don't mount /tmp as tmpfs. For example: https://lists.ubuntu.com/archives/ubuntu-cloud/2016-January/001009.html Some tests: * print 'Attempted to remove disk file system, and we can't allow that.' * don't really cleanup /tmp
This commit is contained in:
committed by
Lennart Poettering
parent
188d308203
commit
f942504e4f
+3
-3
@@ -32,10 +32,10 @@ int rm_rf_children(int fd, RemoveFlags flags, struct stat *root_dev);
|
||||
int rm_rf(const char *path, RemoveFlags flags);
|
||||
|
||||
/* Useful for usage with _cleanup_(), destroys a directory and frees the pointer */
|
||||
static inline void rm_rf_and_free(char *p) {
|
||||
static inline void rm_rf_physical_and_free(char *p) {
|
||||
if (!p)
|
||||
return;
|
||||
(void) rm_rf(p, REMOVE_ROOT);
|
||||
(void) rm_rf(p, REMOVE_ROOT|REMOVE_PHYSICAL);
|
||||
free(p);
|
||||
}
|
||||
DEFINE_TRIVIAL_CLEANUP_FUNC(char*, rm_rf_and_free);
|
||||
DEFINE_TRIVIAL_CLEANUP_FUNC(char*, rm_rf_physical_and_free);
|
||||
|
||||
@@ -109,7 +109,7 @@ static int test_cgroup_mask(void) {
|
||||
}
|
||||
|
||||
int main(int argc, char* argv[]) {
|
||||
_cleanup_(rm_rf_and_freep) char *runtime_dir = NULL;
|
||||
_cleanup_(rm_rf_physical_and_freep) char *runtime_dir = NULL;
|
||||
int rc = 0;
|
||||
|
||||
assert_se(runtime_dir = setup_fake_runtime_dir());
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
#include "tests.h"
|
||||
|
||||
int main(int argc, char *argv[]) {
|
||||
_cleanup_(rm_rf_and_freep) char *runtime_dir = NULL;
|
||||
_cleanup_(rm_rf_physical_and_freep) char *runtime_dir = NULL;
|
||||
_cleanup_(sd_bus_error_free) sd_bus_error err = SD_BUS_ERROR_NULL;
|
||||
Manager *m = NULL;
|
||||
Unit *a = NULL, *b = NULL, *c = NULL, *d = NULL, *e = NULL, *g = NULL, *h = NULL;
|
||||
|
||||
@@ -255,7 +255,7 @@ int main(int argc, char *argv[]) {
|
||||
NULL,
|
||||
};
|
||||
|
||||
_cleanup_(rm_rf_and_freep) char *runtime_dir = NULL;
|
||||
_cleanup_(rm_rf_physical_and_freep) char *runtime_dir = NULL;
|
||||
const test_function_t *test = NULL;
|
||||
Manager *m = NULL;
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
#include "tests.h"
|
||||
|
||||
int main(int argc, char *argv[]) {
|
||||
_cleanup_(rm_rf_and_freep) char *runtime_dir = NULL;
|
||||
_cleanup_(rm_rf_physical_and_freep) char *runtime_dir = NULL;
|
||||
Manager *m = NULL;
|
||||
Unit *idle_ok, *idle_bad, *rr_ok, *rr_bad, *rr_sched;
|
||||
Service *ser;
|
||||
|
||||
@@ -842,7 +842,7 @@ static void test_config_parse_pass_environ(void) {
|
||||
}
|
||||
|
||||
int main(int argc, char *argv[]) {
|
||||
_cleanup_(rm_rf_and_freep) char *runtime_dir = NULL;
|
||||
_cleanup_(rm_rf_physical_and_freep) char *runtime_dir = NULL;
|
||||
int r;
|
||||
|
||||
log_parse_environment();
|
||||
|
||||
Reference in New Issue
Block a user