From: Mark Andrews Date: Wed, 25 Mar 2026 04:58:53 +0000 (+1100) Subject: Test walking apl list entries X-Git-Tag: v9.21.21~8^2~2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e435b0b7fb683ecf42ec53a4036bb8c6b9a168dc;p=thirdparty%2Fbind9.git Test walking apl list entries --- diff --git a/tests/dns/rdata_test.c b/tests/dns/rdata_test.c index 2f63a7ab479..b3beea790ac 100644 --- a/tests/dns/rdata_test.c +++ b/tests/dns/rdata_test.c @@ -294,6 +294,20 @@ check_struct_conversions(dns_rdata_t *rdata, size_t structsize, * https/svcb parameters. */ switch (type) { + case dns_rdatatype_apl: { + dns_rdata_in_apl_t *apl = rdata_struct; + + for (result = dns_rdata_apl_first(apl); result == ISC_R_SUCCESS; + result = dns_rdata_apl_next(apl)) + { + dns_rdata_apl_ent_t apl_ent; + dns_rdata_apl_current(apl, &apl_ent); + count++; + } + assert_int_equal(result, ISC_R_NOMORE); + assert_int_equal(count, loop); + break; + } case dns_rdatatype_hip: { dns_rdata_hip_t *hip = rdata_struct; @@ -879,23 +893,26 @@ key_required(void **state, dns_rdatatype_t type, size_t size) { ISC_RUN_TEST_IMPL(apl) { text_ok_t text_ok[] = { /* empty list */ - TEXT_VALID(""), + TEXT_VALID_LOOP(0, ""), /* min,max prefix IPv4 */ - TEXT_VALID("1:0.0.0.0/0"), TEXT_VALID("1:127.0.0.1/32"), + TEXT_VALID_LOOP(1, "1:0.0.0.0/0"), + TEXT_VALID_LOOP(1, "1:127.0.0.1/32"), /* min,max prefix IPv6 */ - TEXT_VALID("2:::/0"), TEXT_VALID("2:::1/128"), + TEXT_VALID_LOOP(1, "2:::/0"), TEXT_VALID_LOOP(1, "2:::1/128"), /* negated */ - TEXT_VALID("!1:0.0.0.0/0"), TEXT_VALID("!1:127.0.0.1/32"), - TEXT_VALID("!2:::/0"), TEXT_VALID("!2:::1/128"), + TEXT_VALID_LOOP(1, "!1:0.0.0.0/0"), + TEXT_VALID_LOOP(1, "!1:127.0.0.1/32"), + TEXT_VALID_LOOP(1, "!2:::/0"), TEXT_VALID_LOOP(1, "!2:::1/128"), /* bits set after prefix length - not disallowed */ - TEXT_VALID("1:127.0.0.0/0"), TEXT_VALID("2:8000::/0"), + TEXT_VALID_LOOP(1, "1:127.0.0.0/0"), + TEXT_VALID_LOOP(1, "2:8000::/0"), /* multiple */ - TEXT_VALID("1:0.0.0.0/0 1:127.0.0.1/32"), - TEXT_VALID("1:0.0.0.0/0 !1:127.0.0.1/32"), + TEXT_VALID_LOOP(2, "1:0.0.0.0/0 1:127.0.0.1/32"), + TEXT_VALID_LOOP(2, "1:0.0.0.0/0 !1:127.0.0.1/32"), /* family 0, prefix 0, positive */ - TEXT_VALID("\\# 4 00000000"), + TEXT_VALID_LOOP(1, "\\# 4 00000000"), /* family 0, prefix 0, negative */ - TEXT_VALID("\\# 4 00000080"), + TEXT_VALID_LOOP(1, "\\# 4 00000080"), /* prefix too long */ TEXT_INVALID("1:0.0.0.0/33"), TEXT_INVALID("2:::/129"), /*