Hans Leidekker : dnsapi: Add tests for DnsRecordCompare.
Alexandre Julliard
julliard at wine.codeweavers.com
Sun May 7 03:36:35 CDT 2006
Module: wine
Branch: refs/heads/master
Commit: 12ae5d4e4bf76bb417cbc2ad5a0ebafcb78fbcb5
URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=12ae5d4e4bf76bb417cbc2ad5a0ebafcb78fbcb5
Author: Hans Leidekker <hans at it.vu.nl>
Date: Mon May 1 16:29:05 2006 +0200
dnsapi: Add tests for DnsRecordCompare.
---
dlls/dnsapi/tests/.gitignore | 1
dlls/dnsapi/tests/Makefile.in | 3 +
dlls/dnsapi/tests/record.c | 91 +++++++++++++++++++++++++++++++++++++++++
3 files changed, 94 insertions(+), 1 deletions(-)
create mode 100644 dlls/dnsapi/tests/record.c
diff --git a/dlls/dnsapi/tests/.gitignore b/dlls/dnsapi/tests/.gitignore
index df9e5c3..3c27a53 100644
--- a/dlls/dnsapi/tests/.gitignore
+++ b/dlls/dnsapi/tests/.gitignore
@@ -1,3 +1,4 @@
Makefile
name.ok
+record.ok
testlist.c
diff --git a/dlls/dnsapi/tests/Makefile.in b/dlls/dnsapi/tests/Makefile.in
index f4e8b9a..0057a9c 100644
--- a/dlls/dnsapi/tests/Makefile.in
+++ b/dlls/dnsapi/tests/Makefile.in
@@ -6,7 +6,8 @@ TESTDLL = dnsapi.dll
IMPORTS = dnsapi kernel32
CTESTS = \
- name.c
+ name.c \
+ record.c
@MAKE_TEST_RULES@
diff --git a/dlls/dnsapi/tests/record.c b/dlls/dnsapi/tests/record.c
new file mode 100644
index 0000000..307ecaa
--- /dev/null
+++ b/dlls/dnsapi/tests/record.c
@@ -0,0 +1,91 @@
+/*
+ * Tests for record handling functions
+ *
+ * Copyright 2006 Hans Leidekker
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#include <stdarg.h>
+
+#include "windef.h"
+#include "winbase.h"
+#include "winnls.h"
+#include "windns.h"
+
+#include "wine/test.h"
+
+static HMODULE dnsapi;
+
+static BOOL (WINAPI *pDnsRecordCompare)(PDNS_RECORD,PDNS_RECORD);
+
+#define GETFUNCPTR(func) p##func = (void *)GetProcAddress( dnsapi, #func ); \
+ if (!p##func) return FALSE;
+
+static BOOL init_function_ptrs( void )
+{
+ GETFUNCPTR( DnsRecordCompare )
+ return TRUE;
+}
+
+static void test_DnsRecordCompare( void )
+{
+ char name1[] = "localhost";
+ char name2[] = "LOCALHOST";
+ static DNS_RECORDA r1, r2;
+
+ r1.pName = name1;
+ r1.wType = DNS_TYPE_A;
+ r1.wDataLength = sizeof(DNS_A_DATA);
+ r1.Data.A.IpAddress = 0xffffffff;
+
+ r2.pName = name1;
+ r2.wType = DNS_TYPE_A;
+ r2.wDataLength = sizeof(DNS_A_DATA);
+ r2.Data.A.IpAddress = 0xffffffff;
+
+ ok( pDnsRecordCompare( (PDNS_RECORD)&r1, (PDNS_RECORD)&r1 ) == TRUE, "failed unexpectedly\n" );
+
+ r2.pName = name2;
+ ok( pDnsRecordCompare( (PDNS_RECORD)&r1, (PDNS_RECORD)&r2 ) == TRUE, "failed unexpectedly\n" );
+
+ r2.Flags.S.CharSet = DnsCharSetUnicode;
+ ok( pDnsRecordCompare( (PDNS_RECORD)&r1, (PDNS_RECORD)&r2 ) == FALSE, "succeeded unexpectedly\n" );
+
+ r2.Flags.S.CharSet = DnsCharSetAnsi;
+ ok( pDnsRecordCompare( (PDNS_RECORD)&r1, (PDNS_RECORD)&r2 ) == FALSE, "succeeded unexpectedly\n" );
+
+ r1.Flags.S.CharSet = DnsCharSetAnsi;
+ ok( pDnsRecordCompare( (PDNS_RECORD)&r1, (PDNS_RECORD)&r2 ) == TRUE, "failed unexpectedly\n" );
+
+ r2.Data.A.IpAddress = 0;
+ ok( pDnsRecordCompare( (PDNS_RECORD)&r1, (PDNS_RECORD)&r2 ) == FALSE, "succeeded unexpectedly\n" );
+}
+
+START_TEST(record)
+{
+ dnsapi = LoadLibraryA( "dnsapi.dll" );
+ if (!dnsapi) return;
+
+ if (!init_function_ptrs())
+ {
+ FreeLibrary( dnsapi );
+ return;
+ }
+
+ test_DnsRecordCompare();
+
+ FreeLibrary( dnsapi );
+}
More information about the wine-cvs
mailing list