summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/test/test_util.c30
1 files changed, 20 insertions, 10 deletions
diff --git a/src/test/test_util.c b/src/test/test_util.c
index 3ce7103ade..1c555e4d06 100644
--- a/src/test/test_util.c
+++ b/src/test/test_util.c
@@ -4476,11 +4476,11 @@ test_util_glob(void *ptr)
tor_asprintf(&forbidden_forbidden,
"%s"PATH_SEPARATOR"forbidden"PATH_SEPARATOR"forbidden",dirname);
#ifndef _WIN32
- chmod(forbidden, 0700);
+ tt_int_op(0, OP_EQ, chmod(forbidden, 0700));
#endif
tt_int_op(0, OP_EQ, create_test_directory_structure(forbidden));
#ifndef _WIN32
- chmod(forbidden, 0);
+ tt_int_op(0, OP_EQ, chmod(forbidden, 0));
#endif
#define TEST(input) \
@@ -4639,10 +4639,10 @@ test_util_glob(void *ptr)
done:
#ifndef _WIN32
- chmod(forbidden, 0700);
- chmod(dir1_forbidden, 0700);
- chmod(dir2_forbidden, 0700);
- chmod(forbidden_forbidden, 0700);
+ (void) chmod(forbidden, 0700);
+ (void) chmod(dir1_forbidden, 0700);
+ (void) chmod(dir2_forbidden, 0700);
+ (void) chmod(forbidden_forbidden, 0700);
#endif
tor_free(dir1);
tor_free(dir2);
@@ -4832,10 +4832,20 @@ test_util_get_glob_opened_files(void *ptr)
done:
#ifndef _WIN32
- chmod(forbidden, 0700);
- chmod(dir1_forbidden, 0700);
- chmod(dir2_forbidden, 0700);
- chmod(forbidden_forbidden, 0700);
+ {
+ int chmod_failed = 0;
+ if (forbidden)
+ chmod_failed |= chmod(forbidden, 0700);
+ if (dir1_forbidden)
+ chmod_failed |= chmod(dir1_forbidden, 0700);
+ if (dir2_forbidden)
+ chmod_failed |= chmod(dir2_forbidden, 0700);
+ if (forbidden_forbidden)
+ chmod_failed |= chmod(forbidden_forbidden, 0700);
+ if (chmod_failed) {
+ TT_FAIL(("unable to chmod a file on cleanup: %s", strerror(errno)));
+ }
+ }
#endif
tor_free(dir1);
tor_free(dir2);