along with systemd; If not, see <http://www.gnu.org/licenses/>.
***/
-#include "log.h"
+#include "macro.h"
#include "resolved-dns-domain.h"
static void test_dns_label_unescape_one(const char *what, const char *expect, size_t buffer_sz, int ret) {
int r;
r = dns_label_escape(what, l, &t);
- assert(r == ret);
+ assert_se(r == ret);
if (r < 0)
return;
assert_se(dns_name_single_label("xx.yy") == false);
}
+static void test_dns_name_reverse_one(const char *address, const char *name) {
+ _cleanup_free_ char *p = NULL;
+ union in_addr_union a, b;
+ int familya, familyb;
+
+ assert_se(in_addr_from_string_auto(address, &familya, &a) >= 0);
+ assert_se(dns_name_reverse(familya, &a, &p) >= 0);
+ assert_se(streq(p, name));
+ assert_se(dns_name_address(p, &familyb, &b) > 0);
+ assert_se(familya == familyb);
+ assert_se(in_addr_equal(familya, &a, &b));
+}
+
+static void test_dns_name_reverse(void) {
+ test_dns_name_reverse_one("47.11.8.15", "15.8.11.47.in-addr.arpa");
+ test_dns_name_reverse_one("fe80::47", "7.4.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.e.f.ip6.arpa");
+}
+
int main(int argc, char *argv[]) {
test_dns_label_unescape();
test_dns_name_endswith();
test_dns_name_root();
test_dns_name_single_label();
+ test_dns_name_reverse();
return 0;
}