unitmsgparse.c File Reference
#include "config.h"
#include <sys/time.h>
#include "util/log.h"
#include "testcode/unitmain.h"
#include "util/data/msgparse.h"
#include "util/data/msgreply.h"
#include "util/data/msgencode.h"
#include "util/data/dname.h"
#include "util/alloc.h"
#include "util/regional.h"
#include "util/net_help.h"
#include "testcode/readhex.h"
#include "testcode/testpkts.h"
#include "sldns/sbuffer.h"
#include "sldns/str2wire.h"
#include "sldns/wire2str.h"


#define xstr(s)   str(s)
#define str(s)   #s
#define SRCDIRSTR   xstr(SRCDIR)


static int test_buffers (sldns_buffer *pkt, sldns_buffer *out)
 see if buffers contain the same packet
static void checkformerr (sldns_buffer *pkt)
 check if unbound formerr equals ldns formerr
static void perf_encode (struct query_info *qi, struct reply_info *rep, uint16_t id, uint16_t flags, sldns_buffer *out, time_t timenow, struct edns_data *edns)
 performance test message encoding
static void perftestpkt (sldns_buffer *pkt, struct alloc_cache *alloc, sldns_buffer *out, const char *hex)
 perf test a packet
static void print_rrset (struct ub_packed_rrset_key *rrset)
 print packed rrset
static void print_packet_rrsets (struct query_info *qinfo, struct reply_info *rep)
 debug print a packet that failed
static int no_data_for_rrsig (struct reply_info *rep, struct ub_packed_rrset_key *rrsig)
 check that there is no data element that matches the RRSIG
static void check_the_rrsigs (struct query_info *qinfo, struct reply_info *rep)
 check RRSIGs in packet
static void testpkt (sldns_buffer *pkt, struct alloc_cache *alloc, sldns_buffer *out, const char *hex)
 test a packet
static void simpletest (sldns_buffer *pkt, struct alloc_cache *alloc, sldns_buffer *out)
 simple test of parsing
static void testfromfile (sldns_buffer *pkt, struct alloc_cache *alloc, sldns_buffer *out, const char *fname)
 simple test of parsing, pcat file
static void testfromdrillfile (sldns_buffer *pkt, struct alloc_cache *alloc, sldns_buffer *out, const char *fname)
 simple test of parsing, drill file
void msgparse_test (void)
 unit test for msgreply and msgparse


static int vbmp = 0
 verbose message parse unit test
static int check_formerr_gone = 0
 do not accept formerr
static int matches_nolocation = 0
 if matching within a section should disregard the order of RRs.
static int check_rrsigs = 0
 see if RRSIGs are properly matched to RRsets.
static int check_nosameness = 0
 do not check buffer sameness

Detailed Description

Calls msg parse unit tests. Exits with code 1 on a failure.