lwres_test.c revision 70e5a7403f0e0a3bd292b8287c5fed5772c15270
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt * Copyright (C) 2004, 2005, 2007 Internet Systems Consortium, Inc. ("ISC")
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt * Copyright (C) 2000, 2001 Internet Software Consortium.
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt * Permission to use, copy, modify, and/or distribute this software for any
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt * purpose with or without fee is hereby granted, provided that the above
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt * copyright notice and this permission notice appear in all copies.
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt * AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt * PERFORMANCE OF THIS SOFTWARE.
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt/* $Id: lwres_test.c,v 1.31 2007/06/19 23:46:59 tbox Exp $ */
ef421f66f47224a42073deaf087378c5d0c9952eEvan Huntstatic inline void
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt if (val != 0) {
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt unsigned char *p;
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt unsigned int cnt;
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt printf("*** %s (%lu bytes @ %p)\n", msg, (unsigned long)len, base);
ef421f66f47224a42073deaf087378c5d0c9952eEvan Huntstatic const char *TESTSTRING = "This is a test. This is only a test. !!!";
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt lwres_noopresponse_t noopresponse, *noopresponse2;
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt /* XXXDCL maybe "nooprequest.data" should be const. */
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt ret = lwres_nooprequest_render(ctx, &nooprequest, &pkt, &b);
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt * Now, parse it into a new structure.
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt ret = lwres_nooprequest_parse(ctx, &b, &pkt2, &nooprequest2);
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt assert(nooprequest.datalength == nooprequest2->datalength);
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt assert(memcmp(nooprequest.data, nooprequest2->data,
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt /* XXXDCL maybe "noopresponse.data" should be const. */
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt ret = lwres_noopresponse_render(ctx, &noopresponse, &pkt, &b);
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt hexdump("rendered noop response", b.base, b.used);
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt * Now, parse it into a new structure.
4a53e3c2b83c476a93148eaee0272649beb221caMark Andrews ret = lwres_noopresponse_parse(ctx, &b, &pkt2, &noopresponse2);
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt assert(noopresponse.datalength == noopresponse2->datalength);
4a53e3c2b83c476a93148eaee0272649beb221caMark Andrews assert(memcmp(noopresponse.data, noopresponse2->data,
4a53e3c2b83c476a93148eaee0272649beb221caMark Andrews unsigned int i;
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt if (ret != 0) {
4a53e3c2b83c476a93148eaee0272649beb221caMark Andrews printf("\t(%u, %s)\n", res->aliaslen[i], res->aliases[i]);
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt unsigned int i;
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt unsigned int len;
#ifdef USE_ISC_MEM
int ret;
#ifdef USE_ISC_MEM
(void)argc;
(void)argv;
#ifdef USE_ISC_MEM
#ifdef USE_ISC_MEM
test_noop();
* nominum.com isc.org flame.org
#ifdef USE_ISC_MEM