From 0a2ec21bd96baa969a8f2aae4024e9fa20f286c1 Mon Sep 17 00:00:00 2001 From: James Coglan Date: Wed, 29 May 2024 09:20:08 +0100 Subject: [PATCH] resolved: test for DNS_RESOURCE_RECORD_RDATA() --- src/resolve/meson.build | 3 +++ src/resolve/test-dns-rr.c | 35 +++++++++++++++++++++++++++++++++++ 2 files changed, 38 insertions(+) create mode 100644 src/resolve/test-dns-rr.c diff --git a/src/resolve/meson.build b/src/resolve/meson.build index b1fcb990af2..20caecee0f9 100644 --- a/src/resolve/meson.build +++ b/src/resolve/meson.build @@ -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', diff --git a/src/resolve/test-dns-rr.c b/src/resolve/test-dns-rr.c new file mode 100644 index 00000000000..d08ec4a5c79 --- /dev/null +++ b/src/resolve/test-dns-rr.c @@ -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); -- 2.47.3