#ifndef TOR_LIB_CONF_CONFTESTING_H
#define TOR_LIB_CONF_CONFTESTING_H
#include "lib/cc/torint.h"
#ifndef COCCI
#ifdef TOR_UNIT_TESTS
#define USE_CONF_TESTING
typedef union {
char **STRING;
char **FILENAME;
int *POSINT;
uint64_t *UINT64;
int *INT;
int *INTERVAL;
int *MSEC_INTERVAL;
uint64_t *MEMUNIT;
double *DOUBLE;
int *BOOL;
int *AUTOBOOL;
time_t *ISOTIME;
struct smartlist_t **CSV;
int *CSV_INTERVAL;
struct config_line_t **LINELIST;
struct config_line_t **LINELIST_S;
struct config_line_t **LINELIST_V;
struct routerset_t **ROUTERSET;
} confparse_dummy_values_t;
#define CONF_CHECK_VAR_TYPE(tp, conftype, member) \
{ . conftype = &tp ## _dummy . member }
#define CONF_TEST_MEMBERS(tp, conftype, member) \
, .var_ptr_dummy=CONF_CHECK_VAR_TYPE(tp, conftype, member)
#define DUMMY_CONF_TEST_MEMBERS , .var_ptr_dummy={ .INT=NULL }
#define DUMMY_TYPECHECK_INSTANCE(tp) \
static tp tp ## _dummy
#endif
#endif
#ifndef USE_CONF_TESTING
#define CONF_TEST_MEMBERS(tp, conftype, member)
#define DUMMY_TYPECHECK_INSTANCE(tp) \
struct tor_semicolon_eater
#define DUMMY_CONF_TEST_MEMBERS
#endif
#endif