unitmsgparse.c File Reference

Calls msg parse unit tests. More...

#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"

Macros

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

Functions

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
 

Variables

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.