Fix the checkdir/perms test when umask==077

Fixes 14215; bugfix on 0.2.6.2-alpha.  Reported by "cypherpunks".
This commit is contained in:
Nick Mathewson 2015-01-15 10:24:27 -05:00
parent 354ddf8712
commit 88e36eaf0e
2 changed files with 9 additions and 1 deletions

5
changes/bug14215 Normal file
View File

@ -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.

View File

@ -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
};