1 /* $NetBSD: db_test.c,v 1.1.1.4 2015/07/08 15:38:04 christos Exp $ */ 2 3 /* 4 * Copyright (C) 2013, 2015 Internet Systems Consortium, Inc. ("ISC") 5 * 6 * Permission to use, copy, modify, and/or distribute this software for any 7 * purpose with or without fee is hereby granted, provided that the above 8 * copyright notice and this permission notice appear in all copies. 9 * 10 * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH 11 * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY 12 * AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT, 13 * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM 14 * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE 15 * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 16 * PERFORMANCE OF THIS SOFTWARE. 17 */ 18 19 /* Id */ 20 21 /*! \file */ 22 23 #include <config.h> 24 25 #include <atf-c.h> 26 27 #include <unistd.h> 28 #include <stdlib.h> 29 30 #include <dns/db.h> 31 #include <dns/dbiterator.h> 32 #include <dns/name.h> 33 #include <dns/journal.h> 34 35 #include "dnstest.h" 36 37 /* 38 * Helper functions 39 */ 40 41 #define BUFLEN 255 42 #define BIGBUFLEN (64 * 1024) 43 #define TEST_ORIGIN "test" 44 45 /* 46 * Individual unit tests 47 */ 48 49 ATF_TC(getoriginnode); 50 ATF_TC_HEAD(getoriginnode, tc) { 51 atf_tc_set_md_var(tc, "descr", 52 "test multiple calls to dns_db_getoriginnode"); 53 } 54 ATF_TC_BODY(getoriginnode, tc) { 55 dns_db_t *db = NULL; 56 dns_dbnode_t *node = NULL; 57 isc_mem_t *mymctx = NULL; 58 isc_result_t result; 59 60 result = isc_mem_create(0, 0, &mymctx); 61 ATF_REQUIRE_EQ(result, ISC_R_SUCCESS); 62 63 result = isc_hash_create(mymctx, NULL, 256); 64 ATF_REQUIRE_EQ(result, ISC_R_SUCCESS); 65 66 result = dns_db_create(mymctx, "rbt", dns_rootname, dns_dbtype_zone, 67 dns_rdataclass_in, 0, NULL, &db); 68 ATF_REQUIRE_EQ(result, ISC_R_SUCCESS); 69 70 result = dns_db_getoriginnode(db, &node); 71 ATF_REQUIRE_EQ(result, ISC_R_SUCCESS); 72 dns_db_detachnode(db, &node); 73 74 result = dns_db_getoriginnode(db, &node); 75 ATF_REQUIRE_EQ(result, ISC_R_SUCCESS); 76 dns_db_detachnode(db, &node); 77 78 dns_db_detach(&db); 79 isc_mem_detach(&mymctx); 80 } 81 82 /* 83 * Main 84 */ 85 ATF_TP_ADD_TCS(tp) { 86 ATF_TP_ADD_TC(tp, getoriginnode); 87 return (atf_no_error()); 88 } 89