diff options
-rw-r--r-- | src/test/test_util.c | 30 |
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); |