diff --git a/src/resolve/test-dns-synthesize.c b/src/resolve/test-dns-synthesize.c index 5b89e962d2..64523f4854 100644 --- a/src/resolve/test-dns-synthesize.c +++ b/src/resolve/test-dns-synthesize.c @@ -8,6 +8,26 @@ #include "resolved-manager.h" #include "tests.h" +/* ================================================================ + * dns_synthesize_family(), dns_synthesize_protocol() + * ================================================================ */ + +TEST(dns_synthesize_family_and_protocol) { + int flags; + + flags = SD_RESOLVED_FLAGS_MAKE(DNS_PROTOCOL_DNS, AF_INET, false, false); + ASSERT_EQ(dns_synthesize_family(flags), AF_UNSPEC); + ASSERT_EQ(dns_synthesize_protocol(flags), DNS_PROTOCOL_DNS); + + flags = SD_RESOLVED_FLAGS_MAKE(DNS_PROTOCOL_LLMNR, AF_INET6, false, false); + ASSERT_EQ(dns_synthesize_family(flags), AF_INET6); + ASSERT_EQ(dns_synthesize_protocol(flags), DNS_PROTOCOL_LLMNR); + + flags = SD_RESOLVED_FLAGS_MAKE(DNS_PROTOCOL_MDNS, AF_INET, false, false); + ASSERT_EQ(dns_synthesize_family(flags), AF_INET); + ASSERT_EQ(dns_synthesize_protocol(flags), DNS_PROTOCOL_MDNS); +} + /* ================================================================ * dns_synthesize_answer() * ================================================================ */