]> granicus.if.org Git - libevent/commitdiff
test/dns: regression for empty hostname
authorAzat Khuzhin <a3at.mail@gmail.com>
Thu, 24 Mar 2016 21:21:06 +0000 (00:21 +0300)
committerAzat Khuzhin <a3at.mail@gmail.com>
Thu, 24 Mar 2016 21:33:43 +0000 (00:33 +0300)
Refs: #332

test/regress_dns.c

index 1873636245237677ba082a4cd8fcdc93564ccf64..11c015c502b0b78d16a08b21ae21501574c5dc98 100644 (file)
@@ -593,6 +593,26 @@ end:
        regress_clean_dnsserver();
 }
 static void
+dns_search_empty_test(void *arg)
+{
+       struct basic_test_data *data = arg;
+       struct event_base *base = data->base;
+       struct evdns_base *dns = NULL;
+
+       dns = evdns_base_new(base, 0);
+
+       evdns_base_search_add(dns, "whatever.example.com");
+
+       n_replies_left = 1;
+       exit_base = base;
+
+       tt_ptr_op(evdns_base_resolve_ipv4(dns, "", 0, generic_dns_callback, NULL), ==, NULL);
+
+end:
+       if (dns)
+               evdns_base_free(dns, 0);
+}
+static void
 dns_search_test(void *arg)
 {
        return dns_search_test_impl(arg, 0);
@@ -2104,6 +2124,7 @@ struct testcase_t dns_testcases[] = {
        DNS_LEGACY(gethostbyname6, TT_FORK|TT_NEED_BASE|TT_NEED_DNS|TT_OFF_BY_DEFAULT),
        DNS_LEGACY(gethostbyaddr, TT_FORK|TT_NEED_BASE|TT_NEED_DNS|TT_OFF_BY_DEFAULT),
        { "resolve_reverse", dns_resolve_reverse, TT_FORK|TT_OFF_BY_DEFAULT, NULL, NULL },
+       { "search_empty", dns_search_empty_test, TT_FORK|TT_NEED_BASE, &basic_setup, NULL },
        { "search", dns_search_test, TT_FORK|TT_NEED_BASE, &basic_setup, NULL },
        { "search_lower", dns_search_lower_test, TT_FORK|TT_NEED_BASE, &basic_setup, NULL },
        { "search_cancel", dns_search_cancel_test,