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:
Evgeny Vereshchagin
2016-05-20 15:08:24 +02:00
committed by Lennart Poettering
parent 188d308203
commit f942504e4f
6 changed files with 8 additions and 8 deletions
+3 -3
View File
@@ -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);
+1 -1
View File
@@ -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());
+1 -1
View File
@@ -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;
+1 -1
View File
@@ -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;
+1 -1
View File
@@ -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;
+1 -1
View File
@@ -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();