2 * PROJECT: ReactOS api tests
3 * LICENSE: GPLv2+ - See COPYING in the top level directory
4 * PURPOSE: Test for DnsQuery_A
5 * PROGRAMMER: Victor Martinez Calvo <victor.martinez@reactos.org>
15 void TestHostName(void)
18 DNS_STATUS dns_status
= NO_ERROR
;
20 PDNS_RECORD dp
= NULL
;
21 WCHAR host_nameW
[255];
23 gethostname(host_name
, sizeof(host_name
));
24 mbstowcs(host_nameW
, host_name
, 255);
29 dns_status
= DnsQuery_A(NULL
, DNS_TYPE_A
, DNS_QUERY_STANDARD
, 0, &dp
, 0);
30 ok(dns_status
== ERROR_INVALID_PARAMETER
, "DnsQuery_A failed with error %lu\n", dns_status
);
31 ok(dp
== InvalidPointer
, "dp = %p\n", dp
);
34 dns_status
= DnsQuery_A(host_name
, DNS_TYPE_A
, DNS_QUERY_STANDARD
, 0, &dp
, 0);
35 ok(dns_status
== NO_ERROR
, "DnsQuery_A failed with error %lu\n", dns_status
);
36 DnsRecordListFree(dp
, DnsFreeRecordList
);
39 dns_status
= DnsQuery_A("127.0.0.1", DNS_TYPE_A
, DNS_QUERY_STANDARD
, 0, &dp
, 0);
40 ok(dns_status
== NO_ERROR
, "DnsQuery_A failed with error %lu\n", dns_status
);
41 DnsRecordListFree(dp
, DnsFreeRecordList
);
44 dns_status
= DnsQuery_A("LocalHost", DNS_TYPE_A
, DNS_QUERY_STANDARD
, 0, &dp
, 0);
45 ok(dns_status
== NO_ERROR
, "DnsQuery_A failed with error %lu\n", dns_status
);
46 DnsRecordListFree(dp
, DnsFreeRecordList
);
48 dns_status
= DnsQuery_A("Localhost", DNS_TYPE_A
, DNS_QUERY_STANDARD
, 0, &dp
, 0);
49 ok(dns_status
== NO_ERROR
, "DnsQuery_A failed with error %lu\n", dns_status
);
50 DnsRecordListFree(dp
, DnsFreeRecordList
);
52 dns_status
= DnsQuery_A("localhost", DNS_TYPE_A
, DNS_QUERY_STANDARD
, 0, &dp
, 0);
53 ok(dns_status
== NO_ERROR
, "DnsQuery_A failed with error %lu\n", dns_status
);
54 DnsRecordListFree(dp
, DnsFreeRecordList
);
59 dns_status
= DnsQuery_W(NULL
, DNS_TYPE_A
, DNS_QUERY_STANDARD
, 0, &dp
, 0);
60 if (dns_status
== NO_ERROR
)
63 ok(dns_status
== NO_ERROR
, "DnsQuery_W failed with error %lu\n", dns_status
);
64 ok(dp
!= NULL
&& dp
!= InvalidPointer
, "dp = %p\n", dp
);
69 ok(dns_status
== ERROR_INVALID_PARAMETER
, "DnsQuery_W failed with error %lu\n", dns_status
);
70 ok(dp
== InvalidPointer
, "dp = %p\n", dp
);
72 if (dp
!= InvalidPointer
) DnsRecordListFree(dp
, DnsFreeRecordList
);
75 dns_status
= DnsQuery_W(host_nameW
, DNS_TYPE_A
, DNS_QUERY_STANDARD
, 0, &dp
, 0);
76 ok(dns_status
== NO_ERROR
, "DnsQuery_W failed with error %lu\n", dns_status
);
77 DnsRecordListFree(dp
, DnsFreeRecordList
);
80 dns_status
= DnsQuery_W(L
"127.0.0.1", DNS_TYPE_A
, DNS_QUERY_STANDARD
, 0, &dp
, 0);
81 ok(dns_status
== NO_ERROR
, "DnsQuery_W failed with error %lu\n", dns_status
);
82 DnsRecordListFree(dp
, DnsFreeRecordList
);
85 dns_status
= DnsQuery_W(L
"LocalHost", DNS_TYPE_A
, DNS_QUERY_STANDARD
, 0, &dp
, 0);
86 ok(dns_status
== NO_ERROR
, "DnsQuery_W failed with error %lu\n", dns_status
);
87 DnsRecordListFree(dp
, DnsFreeRecordList
);
89 dns_status
= DnsQuery_W(L
"Localhost", DNS_TYPE_A
, DNS_QUERY_STANDARD
, 0, &dp
, 0);
90 ok(dns_status
== NO_ERROR
, "DnsQuery_W failed with error %lu\n", dns_status
);
91 DnsRecordListFree(dp
, DnsFreeRecordList
);
93 dns_status
= DnsQuery_W(L
"localhost", DNS_TYPE_A
, DNS_QUERY_STANDARD
, 0, &dp
, 0);
94 ok(dns_status
== NO_ERROR
, "DnsQuery_W failed with error %lu\n", dns_status
);
95 DnsRecordListFree(dp
, DnsFreeRecordList
);
103 // Initialize Winsock
104 iResult
= WSAStartup(MAKEWORD(2, 2), &wsaData
);
105 ok(iResult
== 0, "WSAStartup failed: %d\n", iResult
);
106 if (iResult
!= 0) return;