Loading src/test/test_config.c +38 −0 Original line number Diff line number Diff line Loading @@ -4949,6 +4949,41 @@ test_config_include_empty_file_folder(void *data) tor_free(dir); } #ifndef _WIN32 static void test_config_include_no_permission(void *data) { (void)data; config_line_t *result = NULL; char *folder_path = NULL; char *dir = tor_strdup(get_fname("test_include_forbidden_folder")); tt_ptr_op(dir, OP_NE, NULL); tt_int_op(mkdir(dir, 0700), OP_EQ, 0); tor_asprintf(&folder_path, "%s"PATH_SEPARATOR"forbidden_dir", dir); tt_int_op(mkdir(folder_path, 0100), OP_EQ, 0); char torrc_contents[1000]; tor_snprintf(torrc_contents, sizeof(torrc_contents), "%%include %s\n", folder_path); int include_used; tt_int_op(config_get_lines_include(torrc_contents, &result, 0,&include_used), OP_EQ, -1); tt_ptr_op(result, OP_EQ, NULL); done: config_free_lines(result); tor_free(folder_path); if (dir) chmod(dir, 0700); tor_free(dir); } #endif static void test_config_include_recursion_before_after(void *data) { Loading Loading @@ -5437,6 +5472,9 @@ struct testcase_t config_tests[] = { CONFIG_TEST(include_does_not_exist, 0), CONFIG_TEST(include_error_in_included_file, 0), CONFIG_TEST(include_empty_file_folder, 0), #ifndef _WIN32 CONFIG_TEST(include_no_permission, 0), #endif CONFIG_TEST(include_recursion_before_after, 0), CONFIG_TEST(include_recursion_after_only, 0), CONFIG_TEST(include_folder_order, 0), Loading Loading
src/test/test_config.c +38 −0 Original line number Diff line number Diff line Loading @@ -4949,6 +4949,41 @@ test_config_include_empty_file_folder(void *data) tor_free(dir); } #ifndef _WIN32 static void test_config_include_no_permission(void *data) { (void)data; config_line_t *result = NULL; char *folder_path = NULL; char *dir = tor_strdup(get_fname("test_include_forbidden_folder")); tt_ptr_op(dir, OP_NE, NULL); tt_int_op(mkdir(dir, 0700), OP_EQ, 0); tor_asprintf(&folder_path, "%s"PATH_SEPARATOR"forbidden_dir", dir); tt_int_op(mkdir(folder_path, 0100), OP_EQ, 0); char torrc_contents[1000]; tor_snprintf(torrc_contents, sizeof(torrc_contents), "%%include %s\n", folder_path); int include_used; tt_int_op(config_get_lines_include(torrc_contents, &result, 0,&include_used), OP_EQ, -1); tt_ptr_op(result, OP_EQ, NULL); done: config_free_lines(result); tor_free(folder_path); if (dir) chmod(dir, 0700); tor_free(dir); } #endif static void test_config_include_recursion_before_after(void *data) { Loading Loading @@ -5437,6 +5472,9 @@ struct testcase_t config_tests[] = { CONFIG_TEST(include_does_not_exist, 0), CONFIG_TEST(include_error_in_included_file, 0), CONFIG_TEST(include_empty_file_folder, 0), #ifndef _WIN32 CONFIG_TEST(include_no_permission, 0), #endif CONFIG_TEST(include_recursion_before_after, 0), CONFIG_TEST(include_recursion_after_only, 0), CONFIG_TEST(include_folder_order, 0), Loading