From 771b5a4091a9f523a2c9089733a72f9640db921c Mon Sep 17 00:00:00 2001 From: James Coglan Date: Fri, 31 May 2024 15:15:48 +0100 Subject: [PATCH] resolved: tests for dns_search_domain_find() --- src/resolve/test-dns-search-domain.c | 30 ++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/src/resolve/test-dns-search-domain.c b/src/resolve/test-dns-search-domain.c index b0d9a01fae..45adb9129c 100644 --- a/src/resolve/test-dns-search-domain.c +++ b/src/resolve/test-dns-search-domain.c @@ -259,4 +259,34 @@ TEST(dns_search_domain_unlink_all) { ASSERT_EQ(manager.n_search_domains, 0u); } +/* ================================================================ + * dns_search_domain_find() + * ================================================================ */ + +TEST(dns_search_domain_find) { + Manager manager = {}; + _cleanup_(dns_search_domain_unrefp) DnsSearchDomain *sd1 = NULL, *sd2 = NULL, *sd3 = NULL, *ret = NULL; + + dns_search_domain_new(&manager, &sd1, DNS_SEARCH_DOMAIN_SYSTEM, NULL, "local"); + ASSERT_NOT_NULL(sd1); + + dns_search_domain_new(&manager, &sd2, DNS_SEARCH_DOMAIN_SYSTEM, NULL, "vpn.example.com"); + ASSERT_NOT_NULL(sd2); + + dns_search_domain_new(&manager, &sd3, DNS_SEARCH_DOMAIN_SYSTEM, NULL, "org"); + ASSERT_NOT_NULL(sd3); + + ASSERT_TRUE(dns_search_domain_find(sd1, "local", &ret)); + ASSERT_TRUE(ret == sd1); + + ASSERT_TRUE(dns_search_domain_find(sd1, "org", &ret)); + ASSERT_TRUE(ret == sd3); + + ASSERT_TRUE(dns_search_domain_find(sd1, "vpn.example.com", &ret)); + ASSERT_TRUE(ret == sd2); + + ASSERT_FALSE(dns_search_domain_find(sd1, "co.uk", &ret)); + ASSERT_NULL(ret); +} + DEFINE_TEST_MAIN(LOG_DEBUG); -- 2.25.1