mirror of
https://gitlab.isc.org/isc-projects/bind9
synced 2025-08-22 10:10:06 +00:00
add a unit test with an empty node
the db_test unit test now looks up an empty nonterminal node to exercise the behavior of the step() function in qpzone.
This commit is contained in:
parent
7d98aba3ac
commit
ecde0ea2d7
@ -351,8 +351,40 @@ ISC_LOOP_TEST_IMPL(version) {
|
||||
result = dns_db_find(db, name, ver, dns_rdatatype_a, 0, 0, &node,
|
||||
foundname, &rdataset, NULL);
|
||||
assert_int_equal(result, ISC_R_SUCCESS);
|
||||
dns_rdataset_disassociate(&rdataset);
|
||||
dns_db_detachnode(db, &node);
|
||||
|
||||
/* Now we create a node with an empty parent */
|
||||
result = dns_db_newversion(db, &new);
|
||||
dns_test_namefromstring("long.ent.name.test.test.", &fname);
|
||||
result = dns_db_findnode(db, name, true, &node);
|
||||
assert_int_equal(result, ISC_R_SUCCESS);
|
||||
result = dns_db_addrdataset(db, node, new, 0, &rdataset, 0, NULL);
|
||||
assert_int_equal(result, ISC_R_SUCCESS);
|
||||
dns_rdataset_disassociate(&rdataset);
|
||||
dns_rdataset_init(&rdataset);
|
||||
|
||||
/* look up the ENT; it should be empty */
|
||||
dns_test_namefromstring("ent.name.test.test.", &fname);
|
||||
dns_db_detachnode(db, &node);
|
||||
result = dns_db_find(db, name, new, dns_rdatatype_a, 0, 0, &node,
|
||||
foundname, &rdataset, NULL);
|
||||
assert_int_equal(result, DNS_R_EMPTYNAME);
|
||||
|
||||
/* ... but then we roll it back... */
|
||||
dns_db_closeversion(db, &new, false);
|
||||
|
||||
/* ... and the ENT should be NXDOMAIN now */
|
||||
dns_test_namefromstring("ent.name.test.test.", &fname);
|
||||
result = dns_db_find(db, name, ver, dns_rdatatype_a, 0, 0, &node,
|
||||
foundname, &rdataset, NULL);
|
||||
assert_int_equal(result, DNS_R_NXDOMAIN);
|
||||
|
||||
if (dns_rdataset_isassociated(&rdataset)) {
|
||||
dns_rdataset_disassociate(&rdataset);
|
||||
}
|
||||
if (node != NULL) {
|
||||
dns_db_detachnode(db, &node);
|
||||
}
|
||||
dns_db_closeversion(db, &ver, false);
|
||||
|
||||
dns_db_detach(&db);
|
||||
|
Loading…
x
Reference in New Issue
Block a user