#include <config.h>#include <atf-c.h>#include <isc/mem.h>#include <isc/random.h>#include <isc/string.h>#include <fcntl.h>#include <unistd.h>#include <sys/mman.h>#include <dns/rbt.h>#include <dns/fixedname.h>#include <dns/result.h>#include <dns/compress.h>#include "dnstest.h"#include <isc/app.h>#include <isc/buffer.h>#include <isc/entropy.h>#include <isc/file.h>#include <isc/hash.h>#include <isc/os.h>#include <isc/socket.h>#include <isc/stdio.h>#include <isc/task.h>#include <isc/timer.h>#include <isc/util.h>#include <dns/log.h>#include <dns/name.h>#include <dst/dst.h>Go to the source code of this file.
Data Structures | |
| struct | data_holder |
| struct | rbt_testdata |
Defines | |
| #define | MAP_FILE 0 |
| #define | DATA_ITEM(name) { (name), sizeof(name) - 1, { sizeof(name), (name) } } |
Typedefs | |
| typedef struct data_holder | data_holder_t |
| typedef struct rbt_testdata | rbt_testdata_t |
Functions | |
| static void | delete_data (void *data, void *arg) |
| static isc_result_t | write_data (FILE *file, unsigned char *datap, void *arg, isc_uint64_t *crc) |
| static isc_result_t | fix_data (dns_rbtnode_t *p, void *base, size_t max, void *arg, isc_uint64_t *crc) |
| static void | add_test_data (isc_mem_t *mymctx, dns_rbt_t *rbt) |
| static void | check_test_data (dns_rbt_t *rbt) |
| static void | data_printer (FILE *out, void *datap) |
| ATF_TC (serialize) | |
| ATF_TC_HEAD (serialize, tc) | |
| ATF_TC_BODY (serialize, tc) | |
| ATF_TC (deserialize_corrupt) | |
| ATF_TC_HEAD (deserialize_corrupt, tc) | |
| ATF_TC_BODY (deserialize_corrupt, tc) | |
| ATF_TC (serialize_align) | |
| ATF_TC_HEAD (serialize_align, tc) | |
| ATF_TC_BODY (serialize_align, tc) | |
| ATF_TP_ADD_TCS (tp) | |
Variables | |
| rbt_testdata_t | testdata [] |
| #define MAP_FILE 0 |
Definition at line 61 of file rbt_serialize_test.c.
Referenced by ATF_TC_BODY(), and deserialize32().
Definition at line 75 of file rbt_serialize_test.c.
| typedef struct data_holder data_holder_t |
| typedef struct rbt_testdata rbt_testdata_t |
| static void delete_data | ( | void * | data, | |
| void * | arg | |||
| ) | [static] |
Definition at line 104 of file rbt_serialize_test.c.
References UNUSED.
Referenced by ATF_TC_BODY(), and test_context_setup().
| static isc_result_t write_data | ( | FILE * | file, | |
| unsigned char * | datap, | |||
| void * | arg, | |||
| isc_uint64_t * | crc | |||
| ) | [static] |
Definition at line 110 of file rbt_serialize_test.c.
References data_holder::data, isc_crc64_update(), ISC_R_FAILURE, ISC_R_SUCCESS, isc_stdio_tell(), data_holder::len, REQUIRE, and UNUSED.
Referenced by ATF_TC_BODY().
| static isc_result_t fix_data | ( | dns_rbtnode_t * | p, | |
| void * | base, | |||
| size_t | max, | |||
| void * | arg, | |||
| isc_uint64_t * | crc | |||
| ) | [static] |
Definition at line 149 of file rbt_serialize_test.c.
References data_holder::data, dns_rbtnode::data, isc_crc64_update(), ISC_R_INVALIDFILE, ISC_R_SUCCESS, data_holder::len, REQUIRE, and UNUSED.
Referenced by ATF_TC_BODY().
Definition at line 196 of file rbt_serialize_test.c.
References buffer, data_holder::data, rbt_testdata::data, dns_compress_init(), dns_compress_invalidate(), dns_fixedname_init, dns_fixedname_name, dns_name_fromtext(), dns_rbt_addname(), dns_result_totext(), dns_rootname, isc_buffer_add, isc_buffer_init, ISC_R_SUCCESS, rbt_testdata::name, name, and rbt_testdata::name_len.
Referenced by ATF_TC_BODY().
| static void check_test_data | ( | dns_rbt_t * | rbt | ) | [static] |
Definition at line 234 of file rbt_serialize_test.c.
References arg, buffer, data_holder::data, rbt_testdata::data, dns_fixedname_init, dns_fixedname_name, dns_name_fromtext(), dns_rbt_findname(), dns_result_totext(), dns_rootname, fixed, isc_buffer_add, isc_buffer_init, ISC_R_SUCCESS, rbt_testdata::name, name, and rbt_testdata::name_len.
Referenced by ATF_TC_BODY().
| static void data_printer | ( | FILE * | out, | |
| void * | datap | |||
| ) | [static] |
Definition at line 273 of file rbt_serialize_test.c.
References data_holder::data, and data_holder::len.
Referenced by ATF_TC_BODY(), dns_rbt_printtext(), and print_text_helper().
| ATF_TC | ( | serialize | ) |
| ATF_TC_HEAD | ( | serialize | , | |
| tc | ||||
| ) |
Definition at line 281 of file rbt_serialize_test.c.
| ATF_TC_BODY | ( | serialize | , | |
| tc | ||||
| ) |
Definition at line 284 of file rbt_serialize_test.c.
References add_test_data(), check_test_data(), data_printer(), delete_data(), dns_rbt_create(), dns_rbt_deserialize_tree(), dns_rbt_destroy(), dns_rbt_printtext(), dns_rbt_serialize_tree(), dns_result_totext(), dns_test_begin(), dns_test_end(), fix_data(), isc_file_getsizefd(), isc_mem_debugging, ISC_MEM_DEBUGRECORD, ISC_R_SUCCESS, ISC_TRUE, MAP_FILE, mctx, UNUSED, and write_data().
| ATF_TC | ( | deserialize_corrupt | ) |
| ATF_TC_HEAD | ( | deserialize_corrupt | , | |
| tc | ||||
| ) |
Definition at line 354 of file rbt_serialize_test.c.
| ATF_TC_BODY | ( | deserialize_corrupt | , | |
| tc | ||||
| ) |
Definition at line 357 of file rbt_serialize_test.c.
References add_test_data(), delete_data(), dns_rbt_create(), dns_rbt_deserialize_tree(), dns_rbt_destroy(), dns_rbt_serialize_tree(), dns_test_begin(), dns_test_end(), fix_data(), isc_file_getsizefd(), isc_mem_debugging, ISC_MEM_DEBUGRECORD, ISC_R_INVALIDFILE, ISC_R_SUCCESS, isc_random_get(), isc_result_totext(), ISC_TRUE, MAP_FILE, mctx, r, UNUSED, and write_data().
| ATF_TC | ( | serialize_align | ) |
| ATF_TC_HEAD | ( | serialize_align | , | |
| tc | ||||
| ) |
Definition at line 434 of file rbt_serialize_test.c.
| ATF_TC_BODY | ( | serialize_align | , | |
| tc | ||||
| ) |
Definition at line 438 of file rbt_serialize_test.c.
References dns_rbt_serialize_align(), and UNUSED.
| ATF_TP_ADD_TCS | ( | tp | ) |
Initial value:
{
DATA_ITEM("first.com."),
DATA_ITEM("one.net."),
DATA_ITEM("two.com."),
DATA_ITEM("three.org."),
DATA_ITEM("asdf.com."),
DATA_ITEM("ghjkl.com."),
DATA_ITEM("1.edu."),
DATA_ITEM("2.edu."),
DATA_ITEM("3.edu."),
DATA_ITEM("123.edu."),
DATA_ITEM("1236.com."),
DATA_ITEM("and_so_forth.com."),
DATA_ITEM("thisisalongname.com."),
DATA_ITEM("a.b."),
DATA_ITEM("test.net."),
DATA_ITEM("whoknows.org."),
DATA_ITEM("blargh.com."),
DATA_ITEM("www.joe.com."),
DATA_ITEM("test.com."),
DATA_ITEM("isc.org."),
DATA_ITEM("uiop.mil."),
DATA_ITEM("last.fm."),
{ NULL, 0, { 0, NULL } }
}
Definition at line 77 of file rbt_serialize_test.c.