mirror of
https://github.com/reactos/reactos.git
synced 2025-08-03 19:55:41 +00:00
[DNSAPI_APITEST]
- Add a test for DnsQuery. Patch by Víctor Martínez Calvo, with additional tests and fixes by me. ROSTESTS-226 #resolve svn path=/trunk/; revision=71709
This commit is contained in:
parent
e82d66cfa5
commit
2d22483bef
4 changed files with 133 additions and 0 deletions
|
@ -8,6 +8,7 @@ add_subdirectory(browseui)
|
||||||
add_subdirectory(com)
|
add_subdirectory(com)
|
||||||
add_subdirectory(crt)
|
add_subdirectory(crt)
|
||||||
add_subdirectory(dciman32)
|
add_subdirectory(dciman32)
|
||||||
|
add_subdirectory(dnsapi)
|
||||||
add_subdirectory(gdi32)
|
add_subdirectory(gdi32)
|
||||||
add_subdirectory(gditools)
|
add_subdirectory(gditools)
|
||||||
add_subdirectory(iphlpapi)
|
add_subdirectory(iphlpapi)
|
||||||
|
|
10
rostests/apitests/dnsapi/CMakeLists.txt
Normal file
10
rostests/apitests/dnsapi/CMakeLists.txt
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
|
||||||
|
list(APPEND SOURCE
|
||||||
|
DnsQuery.c
|
||||||
|
testlist.c)
|
||||||
|
|
||||||
|
add_executable(dnsapi_apitest ${SOURCE})
|
||||||
|
target_link_libraries(dnsapi_apitest wine)
|
||||||
|
set_module_type(dnsapi_apitest win32cui)
|
||||||
|
add_importlibs(dnsapi_apitest ws2_32 dnsapi msvcrt kernel32 ntdll)
|
||||||
|
add_cd_file(TARGET dnsapi_apitest DESTINATION reactos/bin FOR all)
|
112
rostests/apitests/dnsapi/DnsQuery.c
Normal file
112
rostests/apitests/dnsapi/DnsQuery.c
Normal file
|
@ -0,0 +1,112 @@
|
||||||
|
/*
|
||||||
|
* PROJECT: ReactOS api tests
|
||||||
|
* LICENSE: GPLv2+ - See COPYING in the top level directory
|
||||||
|
* PURPOSE: Test for DnsQuery_A
|
||||||
|
* PROGRAMMER: Victor Martinez Calvo <victor.martinez@reactos.org>
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <winsock2.h>
|
||||||
|
#include <ws2tcpip.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <WinDNS.h>
|
||||||
|
#include <apitest.h>
|
||||||
|
|
||||||
|
|
||||||
|
void TestHostName(void)
|
||||||
|
{
|
||||||
|
|
||||||
|
DNS_STATUS dns_status = NO_ERROR;
|
||||||
|
char host_name[255];
|
||||||
|
PDNS_RECORD dp = NULL;
|
||||||
|
WCHAR host_nameW[255];
|
||||||
|
|
||||||
|
gethostname(host_name, sizeof(host_name));
|
||||||
|
mbstowcs(host_nameW, host_name, 255);
|
||||||
|
|
||||||
|
//DnsQuery_A:
|
||||||
|
//NULL
|
||||||
|
dp = InvalidPointer;
|
||||||
|
dns_status = DnsQuery_A(NULL, DNS_TYPE_A, DNS_QUERY_STANDARD, 0, &dp, 0);
|
||||||
|
ok(dns_status == ERROR_INVALID_PARAMETER, "DnsQuery_A failed with error %lu\n", dns_status);
|
||||||
|
ok(dp == InvalidPointer, "dp = %p\n", dp);
|
||||||
|
|
||||||
|
//Testing HostName
|
||||||
|
dns_status = DnsQuery_A(host_name, DNS_TYPE_A, DNS_QUERY_STANDARD, 0, &dp, 0);
|
||||||
|
ok(dns_status == NO_ERROR, "DnsQuery_A failed with error %lu\n", dns_status);
|
||||||
|
DnsRecordListFree(dp, DnsFreeRecordList);
|
||||||
|
|
||||||
|
//127.0.0.1
|
||||||
|
dns_status = DnsQuery_A("127.0.0.1", DNS_TYPE_A, DNS_QUERY_STANDARD, 0, &dp, 0);
|
||||||
|
ok(dns_status == NO_ERROR, "DnsQuery_A failed with error %lu\n", dns_status);
|
||||||
|
DnsRecordListFree(dp, DnsFreeRecordList);
|
||||||
|
|
||||||
|
//Localhost strings
|
||||||
|
dns_status = DnsQuery_A("LocalHost", DNS_TYPE_A, DNS_QUERY_STANDARD, 0, &dp, 0);
|
||||||
|
ok(dns_status == NO_ERROR, "DnsQuery_A failed with error %lu\n", dns_status);
|
||||||
|
DnsRecordListFree(dp, DnsFreeRecordList);
|
||||||
|
|
||||||
|
dns_status = DnsQuery_A("Localhost", DNS_TYPE_A, DNS_QUERY_STANDARD, 0, &dp, 0);
|
||||||
|
ok(dns_status == NO_ERROR, "DnsQuery_A failed with error %lu\n", dns_status);
|
||||||
|
DnsRecordListFree(dp, DnsFreeRecordList);
|
||||||
|
|
||||||
|
dns_status = DnsQuery_A("localhost", DNS_TYPE_A, DNS_QUERY_STANDARD, 0, &dp, 0);
|
||||||
|
ok(dns_status == NO_ERROR, "DnsQuery_A failed with error %lu\n", dns_status);
|
||||||
|
DnsRecordListFree(dp, DnsFreeRecordList);
|
||||||
|
|
||||||
|
//DnsQuery_W:
|
||||||
|
//NULL
|
||||||
|
dp = InvalidPointer;
|
||||||
|
dns_status = DnsQuery_W(NULL, DNS_TYPE_A, DNS_QUERY_STANDARD, 0, &dp, 0);
|
||||||
|
if (dns_status == NO_ERROR)
|
||||||
|
{
|
||||||
|
/* Win2003 */
|
||||||
|
ok(dns_status == NO_ERROR, "DnsQuery_W failed with error %lu\n", dns_status);
|
||||||
|
ok(dp != NULL && dp != InvalidPointer, "dp = %p\n", dp);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
/* Win7 */
|
||||||
|
ok(dns_status == ERROR_INVALID_PARAMETER, "DnsQuery_W failed with error %lu\n", dns_status);
|
||||||
|
ok(dp == InvalidPointer, "dp = %p\n", dp);
|
||||||
|
}
|
||||||
|
if (dp != InvalidPointer) DnsRecordListFree(dp, DnsFreeRecordList);
|
||||||
|
|
||||||
|
//Testing HostName
|
||||||
|
dns_status = DnsQuery_W(host_nameW, DNS_TYPE_A, DNS_QUERY_STANDARD, 0, &dp, 0);
|
||||||
|
ok(dns_status == NO_ERROR, "DnsQuery_W failed with error %lu\n", dns_status);
|
||||||
|
DnsRecordListFree(dp, DnsFreeRecordList);
|
||||||
|
|
||||||
|
//127.0.0.1
|
||||||
|
dns_status = DnsQuery_W(L"127.0.0.1", DNS_TYPE_A, DNS_QUERY_STANDARD, 0, &dp, 0);
|
||||||
|
ok(dns_status == NO_ERROR, "DnsQuery_W failed with error %lu\n", dns_status);
|
||||||
|
DnsRecordListFree(dp, DnsFreeRecordList);
|
||||||
|
|
||||||
|
//Localhost strings
|
||||||
|
dns_status = DnsQuery_W(L"LocalHost", DNS_TYPE_A, DNS_QUERY_STANDARD, 0, &dp, 0);
|
||||||
|
ok(dns_status == NO_ERROR, "DnsQuery_W failed with error %lu\n", dns_status);
|
||||||
|
DnsRecordListFree(dp, DnsFreeRecordList);
|
||||||
|
|
||||||
|
dns_status = DnsQuery_W(L"Localhost", DNS_TYPE_A, DNS_QUERY_STANDARD, 0, &dp, 0);
|
||||||
|
ok(dns_status == NO_ERROR, "DnsQuery_W failed with error %lu\n", dns_status);
|
||||||
|
DnsRecordListFree(dp, DnsFreeRecordList);
|
||||||
|
|
||||||
|
dns_status = DnsQuery_W(L"localhost", DNS_TYPE_A, DNS_QUERY_STANDARD, 0, &dp, 0);
|
||||||
|
ok(dns_status == NO_ERROR, "DnsQuery_W failed with error %lu\n", dns_status);
|
||||||
|
DnsRecordListFree(dp, DnsFreeRecordList);
|
||||||
|
}
|
||||||
|
|
||||||
|
START_TEST(DnsQuery)
|
||||||
|
{
|
||||||
|
WSADATA wsaData;
|
||||||
|
int iResult;
|
||||||
|
|
||||||
|
// Initialize Winsock
|
||||||
|
iResult = WSAStartup(MAKEWORD(2, 2), &wsaData);
|
||||||
|
ok(iResult == 0, "WSAStartup failed: %d\n", iResult);
|
||||||
|
if (iResult != 0) return;
|
||||||
|
|
||||||
|
// Tests
|
||||||
|
TestHostName();
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
10
rostests/apitests/dnsapi/testlist.c
Normal file
10
rostests/apitests/dnsapi/testlist.c
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
#define STANDALONE
|
||||||
|
#include <apitest.h>
|
||||||
|
|
||||||
|
extern void func_DnsQuery(void);
|
||||||
|
|
||||||
|
const struct test winetest_testlist[] =
|
||||||
|
{
|
||||||
|
{ "DnsQuery", func_DnsQuery },
|
||||||
|
{ 0, 0 }
|
||||||
|
};
|
Loading…
Add table
Add a link
Reference in a new issue