Move get_foo_options() test helpers into a new test module.

Some of these helpers will be needed in multiple places in the unit
tests, so we should move them now.
This commit is contained in:
Nick Mathewson 2019-12-19 09:18:03 -05:00
parent 7d5e360c3b
commit bc0f1076d5
4 changed files with 63 additions and 16 deletions

View file

@ -107,6 +107,7 @@ src_test_test_SOURCES += \
src/test/fakecircs.c \
src/test/log_test_helpers.c \
src/test/hs_test_helpers.c \
src/test/opts_test_helpers.c \
src/test/rend_test_helpers.c \
src/test/resolve_test_helpers.c \
src/test/rng_test_helpers.c \
@ -351,6 +352,7 @@ noinst_HEADERS+= \
src/test/fakecircs.h \
src/test/hs_test_helpers.h \
src/test/log_test_helpers.h \
src/test/opts_test_helpers.h \
src/test/rend_test_helpers.h \
src/test/resolve_test_helpers.h \
src/test/rng_test_helpers.h \

View file

@ -0,0 +1,38 @@
/* Copyright (c) 2001 Matej Pfajfar.
* Copyright (c) 2001-2004, Roger Dingledine.
* Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson.
* Copyright (c) 2007-2019, The Tor Project, Inc. */
/* See LICENSE for licensing information */
/**
* @file opts_testing_helpers.c
* @brief Helper functions to access module-specific config options.
**/
#include "orconfig.h"
#include "test/opts_test_helpers.h"
#define CONFIG_PRIVATE
#include "core/or/or.h"
#include "lib/confmgt/confmgt.h"
#include "app/main/subsysmgr.h"
#include "app/config/config.h"
#include "lib/crypt_ops/crypto_sys.h"
#include "feature/dirauth/dirauth_sys.h"
struct dirauth_options_t *
get_dirauth_options(struct or_options_t *opt)
{
int idx = subsystems_get_options_idx(&sys_dirauth);
tor_assert(idx >= 0);
return config_mgr_get_obj_mutable(get_options_mgr(), opt, idx);
}
struct crypto_options_t *
get_crypto_options(struct or_options_t *opt)
{
int idx = subsystems_get_options_idx(&sys_crypto);
tor_assert(idx >= 0);
return config_mgr_get_obj_mutable(get_options_mgr(), opt, idx);
}

View file

@ -0,0 +1,22 @@
/* Copyright (c) 2001 Matej Pfajfar.
* Copyright (c) 2001-2004, Roger Dingledine.
* Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson.
* Copyright (c) 2007-2019, The Tor Project, Inc. */
/* See LICENSE for licensing information */
/**
* @file opts_testing_helpers.h
* @brief Header for test/opts_test_helpers.c
**/
#ifndef TOR_TEST_OPTS_TESTING_HELPERS_H
#define TOR_TEST_OPTS_TESTING_HELPERS_H
struct crypto_options_t;
struct dirauth_options_t;
struct or_options_t;
struct crypto_options_t *get_crypto_options(struct or_options_t *opt);
struct dirauth_options_t *get_dirauth_options(struct or_options_t *opt);
#endif /* !defined(TOR_TEST_OPTS_TESTING_HELPERS_H) */

View file

@ -31,6 +31,7 @@
#include "lib/encoding/confline.h"
#include "core/or/policies.h"
#include "test/test_helpers.h"
#include "test/opts_test_helpers.h"
#include "lib/net/resolve.h"
#ifdef HAVE_SYS_PARAM_H
@ -754,14 +755,6 @@ test_options_validate__logs(void *ignored)
/* return config_line; */
/* } */
static dirauth_options_t *
get_dirauth_options(or_options_t *opt)
{
int idx = subsystems_get_options_idx(&sys_dirauth);
tor_assert(idx >= 0);
return config_mgr_get_obj_mutable(get_options_mgr(), opt, idx);
}
static void
test_options_validate__authdir(void *ignored)
{
@ -4005,14 +3998,6 @@ test_options_validate__testing_options(void *ignored)
tor_free(msg);
}
static crypto_options_t *
get_crypto_options(or_options_t *opt)
{
int idx = subsystems_get_options_idx(&sys_crypto);
tor_assert(idx >= 0);
return config_mgr_get_obj_mutable(get_options_mgr(), opt, idx);
}
static void
test_options_validate__accel(void *ignored)
{