Browse Source

Fix the checkdir/perms test when umask==077

Fixes 14215; bugfix on 0.2.6.2-alpha.  Reported by "cypherpunks".
Nick Mathewson 9 years ago
parent
commit
88e36eaf0e
2 changed files with 9 additions and 1 deletions
  1. 5 0
      changes/bug14215
  2. 4 1
      src/test/test_checkdir.c

+ 5 - 0
changes/bug14215

@@ -0,0 +1,5 @@
+  o Minor bugfixes (tests):
+    - Make the checkdir/perms test complete successfully even if the
+      global umask is not 022. Fixes bug 14215; bugfix on 0.2.6.2-alpha.
+
+

+ 4 - 1
src/test/test_checkdir.c

@@ -11,6 +11,7 @@
 #ifdef _WIN32
 #define mkdir(a,b) mkdir(a)
 #define tt_int_op_nowin(a,op,b) do { (void)(a); (void)(b); } while (0)
+#define umask(mask) ((void)0)
 #else
 #define tt_int_op_nowin(a,op,b) tt_int_op((a),op,(b))
 #endif
@@ -28,6 +29,8 @@ test_checkdir_perms(void *testdata)
   cpd_check_t  unix_verify_optsmask;
   struct stat st;
 
+  umask(022);
+
   /* setup data directory before tests. */
   tor_free(options->DataDirectory);
   options->DataDirectory = tor_strdup(get_fname(subdir));
@@ -134,7 +137,7 @@ test_checkdir_perms(void *testdata)
   { #name, test_checkdir_##name, (flags), NULL, NULL }
 
 struct testcase_t checkdir_tests[] = {
-  CHECKDIR(perms, 0),
+  CHECKDIR(perms, TT_FORK),
   END_OF_TESTCASES
 };