testbound.c File Reference
#include "config.h"
#include <ctype.h>
#include "testcode/testpkts.h"
#include "testcode/replay.h"
#include "testcode/fake_event.h"
#include "daemon/remote.h"
#include "libunbound/worker.h"
#include "util/config_file.h"
#include "sldns/keyraw.h"
#include "daemon/unbound.c"


#define unbound_testbound   1
 signal that this is a testbound compile
#define main   daemon_main
 include the main program from the unbound daemon. More...
#define MAX_LINE_LEN   1024
 maximum line length for lines in the replay file.
#define MAXARG   100
 Max number of arguments to pass to unbound.


int daemon_main (int argc, char *argv[])
 renamed main routine
static void testbound_usage (void)
 give commandline usage for testbound.
static void add_opts (const char *args, int *pass_argc, char *pass_argv[])
 Add options from string to passed argc. More...
static void echo_cmdline (int argc, char *argv[])
 pretty print commandline for unbound in this test
static void spool_temp_file_name (int *lineno, FILE *cfg, char *id)
 spool temp file name
static void spool_temp_file (FILE *in, int *lineno, char *id)
 spool temp file
static void spool_auto_file (FILE *in, int *lineno, FILE *cfg, char *id)
 spool autotrust file
static void setup_config (FILE *in, int *lineno, int *pass_argc, char *pass_argv[])
 process config elements
static struct replay_scenariosetup_playback (const char *filename, int *pass_argc, char *pass_argv[])
 read playback file
static void remove_configfile (void)
 remove config file at exit
int main (int argc, char *argv[])
 Main fake event test program. More...
struct listen_portdaemon_remote_open_ports (struct config_file *ATTR_UNUSED(cfg))
struct daemon_remotedaemon_remote_create (struct config_file *ATTR_UNUSED(cfg))
void daemon_remote_delete (struct daemon_remote *rc)
 remote control state to delete. More...
void daemon_remote_clear (struct daemon_remote *ATTR_UNUSED(rc))
int daemon_remote_open_accept (struct daemon_remote *ATTR_UNUSED(rc), struct listen_port *ATTR_UNUSED(ports), struct worker *ATTR_UNUSED(worker))
int remote_accept_callback (struct comm_point *ATTR_UNUSED(c), void *ATTR_UNUSED(arg), int ATTR_UNUSED(error), struct comm_reply *ATTR_UNUSED(repinfo))
int remote_control_callback (struct comm_point *ATTR_UNUSED(c), void *ATTR_UNUSED(arg), int ATTR_UNUSED(error), struct comm_reply *ATTR_UNUSED(repinfo))
void remote_get_opt_ssl (char *ATTR_UNUSED(str), void *ATTR_UNUSED(arg))
int tcp_connect_errno_needs_log (struct sockaddr *ATTR_UNUSED(addr), socklen_t ATTR_UNUSED(addrlen))
int squelch_err_ssl_handshake (unsigned long ATTR_UNUSED(err))
void listen_setup_locks (void)
 setup the locks for the listen ports
void listen_desetup_locks (void)
 desetup the locks for the listen ports


static struct config_strlistcfgfiles = NULL
 config files (removed at exit)

Detailed Description

Exits with code 1 on a failure. 0 if all unit tests are successful.

Macro Definition Documentation

◆ main

#define main   daemon_main

include the main program from the unbound daemon.

rename main to daemon_main to call it

Function Documentation

◆ add_opts()

static void add_opts ( const char *  args,
int *  pass_argc,
char *  pass_argv[] 

Add options from string to passed argc.

splits on whitespace.

argsthe option argument, "-v -p 12345" or so.
pass_argcptr to the argc for unbound. Modified.
pass_argvthe argv to pass to unbound. Modified.

References MAXARG.

Referenced by main(), and setup_config().

◆ main()

int main ( int  argc,
char *  argv[] 

Main fake event test program.

Setup, teardown and report errors.

argcarg count.
argvarray of commandline arguments.
program failure if test fails.

References add_opts(), log_get_lock(), log_info(), log_init(), MAXARG, optarg, optind, remove_configfile(), testbound_selftest(), and testbound_usage().

◆ daemon_remote_delete()

void daemon_remote_delete ( struct daemon_remote rc)

remote control state to delete.

rcstate to delete.

References daemon_remote_clear(), and rc_state::rc.