Stefan Leichter : rasapi32: Added some tests for RasEnumDevicesA ( based on a patch by Austin English),
Alexandre Julliard
julliard at winehq.org
Wed Jul 9 06:10:31 CDT 2008
Module: wine
Branch: master
Commit: b8c6d8e59833c408010c7cdbfefabc4550460a62
URL: http://source.winehq.org/git/wine.git/?a=commit;h=b8c6d8e59833c408010c7cdbfefabc4550460a62
Author: Stefan Leichter <Stefan.Leichter at camline.com>
Date: Sun Jul 6 13:47:34 2008 +0200
rasapi32: Added some tests for RasEnumDevicesA (based on a patch by Austin English),
---
.gitignore | 1 +
Makefile.in | 2 +
configure | 3 ++
configure.ac | 1 +
dlls/Makefile.in | 1 +
dlls/rasapi32/rasapi.c | 3 ++
dlls/rasapi32/tests/Makefile.in | 13 +++++++
dlls/rasapi32/tests/rasapi.c | 71 +++++++++++++++++++++++++++++++++++++++
programs/winetest/Makefile.in | 3 ++
programs/winetest/winetest.rc | 1 +
10 files changed, 99 insertions(+), 0 deletions(-)
diff --git a/.gitignore b/.gitignore
index 766d4d5..05ffba6 100644
--- a/.gitignore
+++ b/.gitignore
@@ -311,6 +311,7 @@ programs/winetest/psapi_test.exe
programs/winetest/qedit_test.exe
programs/winetest/qmgr_test.exe
programs/winetest/quartz_test.exe
+programs/winetest/rasapi32_test.exe
programs/winetest/riched20_test.exe
programs/winetest/riched32_test.exe
programs/winetest/rpcrt4_test.exe
diff --git a/Makefile.in b/Makefile.in
index 7ad6faa..1b35079 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -407,6 +407,7 @@ ALL_MAKEFILES = \
dlls/quartz/tests/Makefile \
dlls/query/Makefile \
dlls/rasapi32/Makefile \
+ dlls/rasapi32/tests/Makefile \
dlls/resutils/Makefile \
dlls/riched20/Makefile \
dlls/riched20/tests/Makefile \
@@ -835,6 +836,7 @@ dlls/quartz/Makefile: dlls/quartz/Makefile.in dlls/Makedll.rules
dlls/quartz/tests/Makefile: dlls/quartz/tests/Makefile.in dlls/Maketest.rules
dlls/query/Makefile: dlls/query/Makefile.in dlls/Makedll.rules
dlls/rasapi32/Makefile: dlls/rasapi32/Makefile.in dlls/Makedll.rules
+dlls/rasapi32/tests/Makefile: dlls/rasapi32/tests/Makefile.in dlls/Maketest.rules
dlls/resutils/Makefile: dlls/resutils/Makefile.in dlls/Makedll.rules
dlls/riched20/Makefile: dlls/riched20/Makefile.in dlls/Makedll.rules
dlls/riched20/tests/Makefile: dlls/riched20/tests/Makefile.in dlls/Maketest.rules
diff --git a/configure b/configure
index 039597b..257dfeb 100755
--- a/configure
+++ b/configure
@@ -22183,6 +22183,8 @@ ac_config_files="$ac_config_files dlls/query/Makefile"
ac_config_files="$ac_config_files dlls/rasapi32/Makefile"
+ac_config_files="$ac_config_files dlls/rasapi32/tests/Makefile"
+
ac_config_files="$ac_config_files dlls/resutils/Makefile"
ac_config_files="$ac_config_files dlls/riched20/Makefile"
@@ -23334,6 +23336,7 @@ do
"dlls/quartz/tests/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/quartz/tests/Makefile" ;;
"dlls/query/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/query/Makefile" ;;
"dlls/rasapi32/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/rasapi32/Makefile" ;;
+ "dlls/rasapi32/tests/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/rasapi32/tests/Makefile" ;;
"dlls/resutils/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/resutils/Makefile" ;;
"dlls/riched20/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/riched20/Makefile" ;;
"dlls/riched20/tests/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/riched20/tests/Makefile" ;;
diff --git a/configure.ac b/configure.ac
index bd764a3..fa925b1 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1947,6 +1947,7 @@ AC_CONFIG_FILES([dlls/quartz/Makefile])
AC_CONFIG_FILES([dlls/quartz/tests/Makefile])
AC_CONFIG_FILES([dlls/query/Makefile])
AC_CONFIG_FILES([dlls/rasapi32/Makefile])
+AC_CONFIG_FILES([dlls/rasapi32/tests/Makefile])
AC_CONFIG_FILES([dlls/resutils/Makefile])
AC_CONFIG_FILES([dlls/riched20/Makefile])
AC_CONFIG_FILES([dlls/riched20/tests/Makefile])
diff --git a/dlls/Makefile.in b/dlls/Makefile.in
index 92919fa..d130f35 100644
--- a/dlls/Makefile.in
+++ b/dlls/Makefile.in
@@ -342,6 +342,7 @@ TESTSUBDIRS = \
qedit/tests \
qmgr/tests \
quartz/tests \
+ rasapi32/tests \
riched20/tests \
riched32/tests \
rpcrt4/tests \
diff --git a/dlls/rasapi32/rasapi.c b/dlls/rasapi32/rasapi.c
index 0977ffe..2ba62e9 100644
--- a/dlls/rasapi32/rasapi.c
+++ b/dlls/rasapi32/rasapi.c
@@ -245,6 +245,9 @@ DWORD WINAPI RasEnumAutodialAddressesW(LPWSTR *a, LPDWORD b, LPDWORD c)
*/
DWORD WINAPI RasEnumDevicesA(LPRASDEVINFOA lpRasDevinfo, LPDWORD lpcb, LPDWORD lpcDevices)
{
+ if (!lpcb || !lpcDevices)
+ return ERROR_INVALID_PARAMETER;
+
FIXME("(%p,%p,%p),stub!\n",lpRasDevinfo,lpcb,lpcDevices);
if (*lpcb < sizeof(RASDEVINFOA)) {
*lpcb = sizeof(RASDEVINFOA);
diff --git a/dlls/rasapi32/tests/Makefile.in b/dlls/rasapi32/tests/Makefile.in
new file mode 100644
index 0000000..c6f079a
--- /dev/null
+++ b/dlls/rasapi32/tests/Makefile.in
@@ -0,0 +1,13 @@
+TOPSRCDIR = @top_srcdir@
+TOPOBJDIR = ../../..
+SRCDIR = @srcdir@
+VPATH = @srcdir@
+TESTDLL = rasapi32.dll
+IMPORTS = kernel32
+
+CTESTS = \
+ rasapi.c
+
+ at MAKE_TEST_RULES@
+
+ at DEPENDENCIES@ # everything below this line is overwritten by make depend
diff --git a/dlls/rasapi32/tests/rasapi.c b/dlls/rasapi32/tests/rasapi.c
new file mode 100644
index 0000000..a435180
--- /dev/null
+++ b/dlls/rasapi32/tests/rasapi.c
@@ -0,0 +1,71 @@
+/*
+* Unit test suite for rasapi32 functions
+*
+* Copyright 2008 Austin English
+*
+* 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+*/
+
+#include <stdarg.h>
+#include <stdio.h>
+#include <wine/test.h>
+#include <windef.h>
+#include <winbase.h>
+#include "ras.h"
+
+static HMODULE hmodule;
+static DWORD (WINAPI *pRasEnumDevicesA)(LPRASDEVINFOA, LPDWORD, LPDWORD);
+
+#define RASAPI32_GET_PROC(func) \
+ p ## func = (void*)GetProcAddress(hmodule, #func); \
+ if(!p ## func) \
+ trace("GetProcAddress(%s) failed\n", #func);
+
+static void InitFunctionPtrs(void)
+{
+ hmodule = LoadLibraryA("rasapi32.dll");
+
+ RASAPI32_GET_PROC(RasEnumDevicesA)
+}
+
+static void test_rasenum(void)
+{
+ DWORD result;
+ DWORD cDevices = 0;
+ DWORD cb = 0;
+ RASDEVINFOA rasDevInfo;
+ rasDevInfo.dwSize = sizeof(rasDevInfo);
+
+ if(!pRasEnumDevicesA) {
+ win_skip("Skipping RasEnumDevicesA tests, function not present\n");
+ return;
+ }
+
+ result = pRasEnumDevicesA(NULL, &cb, &cDevices);
+ trace("RasEnumDevicesA: buffersize %d\n", cb);
+ ok(result == ERROR_BUFFER_TOO_SMALL,
+ "Expected ERROR_BUFFER_TOO_SMALL, got %08d\n", result);
+
+ result = pRasEnumDevicesA(&rasDevInfo, NULL, &cDevices);
+ ok(result == ERROR_INVALID_PARAMETER,
+ "Expected ERROR_INVALID_PARAMETER, got %08d\n", result);
+}
+
+START_TEST(rasapi)
+{
+ InitFunctionPtrs();
+
+ test_rasenum();
+}
diff --git a/programs/winetest/Makefile.in b/programs/winetest/Makefile.in
index 89e0f5d..9431466 100644
--- a/programs/winetest/Makefile.in
+++ b/programs/winetest/Makefile.in
@@ -81,6 +81,7 @@ TESTBINS = \
qedit_test.exe \
qmgr_test.exe \
quartz_test.exe \
+ rasapi32_test.exe \
riched20_test.exe \
riched32_test.exe \
rpcrt4_test.exe \
@@ -220,6 +221,8 @@ qmgr_test.exe: $(DLLDIR)/qmgr/tests/qmgr_test.exe$(DLLEXT)
cp $(DLLDIR)/qmgr/tests/qmgr_test.exe$(DLLEXT) $@ && $(STRIP) $@
quartz_test.exe: $(DLLDIR)/quartz/tests/quartz_test.exe$(DLLEXT)
cp $(DLLDIR)/quartz/tests/quartz_test.exe$(DLLEXT) $@ && $(STRIP) $@
+rasapi32_test.exe: $(DLLDIR)/rasapi32/tests/rasapi32_test.exe$(DLLEXT)
+ cp $(DLLDIR)/rasapi32/tests/rasapi32_test.exe$(DLLEXT) $@ && $(STRIP) $@
riched20_test.exe: $(DLLDIR)/riched20/tests/riched20_test.exe$(DLLEXT)
cp $(DLLDIR)/riched20/tests/riched20_test.exe$(DLLEXT) $@ && $(STRIP) $@
riched32_test.exe: $(DLLDIR)/riched32/tests/riched32_test.exe$(DLLEXT)
diff --git a/programs/winetest/winetest.rc b/programs/winetest/winetest.rc
index 5c78c8f..8a293a8 100644
--- a/programs/winetest/winetest.rc
+++ b/programs/winetest/winetest.rc
@@ -142,6 +142,7 @@ psapi_test.exe TESTRES "psapi_test.exe"
qedit_test.exe TESTRES "qedit_test.exe"
qmgr_test.exe TESTRES "qmgr_test.exe"
quartz_test.exe TESTRES "quartz_test.exe"
+rasapi32_test.exe TESTRES "rasapi32_test.exe"
riched20_test.exe TESTRES "riched20_test.exe"
riched32_test.exe TESTRES "riched32_test.exe"
rpcrt4_test.exe TESTRES "rpcrt4_test.exe"
More information about the wine-cvs
mailing list