resolved: test for DNS_RESOURCE_RECORD_RDATA()

This commit is contained in:
James Coglan
2024-07-23 12:44:34 +01:00
committed by Luca Boccassi
parent 99f1646540
commit 0a2ec21bd9
2 changed files with 38 additions and 0 deletions
+3
View File
@@ -171,6 +171,9 @@ executables += [
resolve_test_template + {
'sources' : files('test-dns-packet-extract.c'),
},
resolve_test_template + {
'sources' : files('test-dns-rr.c'),
},
resolve_test_template + {
'sources' : files(
'test-resolved-etc-hosts.c',
+35
View File
@@ -0,0 +1,35 @@
/* SPDX-License-Identifier: LGPL-2.1-or-later */
#include "dns-type.h"
#include "resolved-dns-rr.h"
#include "log.h"
#include "tests.h"
/* ================================================================
* DNS_RESOURCE_RECORD_RDATA()
* ================================================================ */
TEST(dns_resource_record_rdata) {
DnsResourceRecord rr = (DnsResourceRecord) {
.wire_format = (void *)"abcdefghi",
.wire_format_size = 9,
.wire_format_rdata_offset = 3
};
const void *ptr = DNS_RESOURCE_RECORD_RDATA(&rr);
ASSERT_STREQ(ptr, "defghi");
size_t size = DNS_RESOURCE_RECORD_RDATA_SIZE(&rr);
ASSERT_EQ(size, 6u);
rr.wire_format = NULL;
ptr = DNS_RESOURCE_RECORD_RDATA(&rr);
ASSERT_NULL(ptr);
size = DNS_RESOURCE_RECORD_RDATA_SIZE(&rr);
ASSERT_EQ(size, 0u);
}
DEFINE_TEST_MAIN(LOG_DEBUG);