[PATCH] rasapi32: Add tests for RasGetErrorStringA
Vijay Kiran Kamuju
infyquest at gmail.com
Fri Nov 22 16:16:59 CST 2019
Signed-off-by: Vijay Kiran Kamuju <infyquest at gmail.com>
---
dlls/rasapi32/rasapi.c | 14 ++++++++++++--
dlls/rasapi32/tests/rasapi.c | 35 +++++++++++++++++++++++++++++++++++
2 files changed, 47 insertions(+), 2 deletions(-)
diff --git a/dlls/rasapi32/rasapi.c b/dlls/rasapi32/rasapi.c
index 791b0dab133e..6f0dfaa06b33 100644
--- a/dlls/rasapi32/rasapi.c
+++ b/dlls/rasapi32/rasapi.c
@@ -458,14 +458,24 @@ DWORD WINAPI RasGetEntryPropertiesW(LPCWSTR lpszPhonebook, LPCWSTR lpszEntry, LP
DWORD WINAPI RasGetErrorStringA(UINT uErrorValue, LPSTR lpszErrorString, DWORD cBufSize)
{
+ DWORD ret = 1;
+
FIXME("(0x%08x,%p,0x%08x), stub!\n", uErrorValue, lpszErrorString, cBufSize);
- return 1;
+ if (uErrorValue < RASBASE || uErrorValue > RASBASEEND || !lpszErrorString)
+ ret = ERROR_INVALID_PARAMETER;
+
+ return ret;
}
DWORD WINAPI RasGetErrorStringW(UINT uErrorValue, LPWSTR lpszErrorString, DWORD cBufSize)
{
+ DWORD ret = 1;
+
FIXME("(0x%08x,%p,0x%08x), stub!\n", uErrorValue, lpszErrorString, cBufSize);
- return 1;
+ if (uErrorValue < RASBASE || uErrorValue > RASBASEEND || !lpszErrorString)
+ ret = ERROR_INVALID_PARAMETER;
+
+ return ret;
}
DWORD WINAPI RasGetProjectionInfoA(HRASCONN hrasconn, RASPROJECTION rasprojection,
diff --git a/dlls/rasapi32/tests/rasapi.c b/dlls/rasapi32/tests/rasapi.c
index 5171bb2762ca..d0850b8055af 100644
--- a/dlls/rasapi32/tests/rasapi.c
+++ b/dlls/rasapi32/tests/rasapi.c
@@ -28,6 +28,7 @@
static HMODULE hmodule;
static DWORD (WINAPI *pRasEnumDevicesA)(LPRASDEVINFOA, LPDWORD, LPDWORD);
+static DWORD (WINAPI *pRasGetErrorStringA)(UINT, LPSTR, DWORD);
#define RASAPI32_GET_PROC(func) \
p ## func = (void*)GetProcAddress(hmodule, #func); \
@@ -39,6 +40,7 @@ static void InitFunctionPtrs(void)
hmodule = LoadLibraryA("rasapi32.dll");
RASAPI32_GET_PROC(RasEnumDevicesA)
+ RASAPI32_GET_PROC(RasGetErrorStringA)
}
static void test_rasenum(void)
@@ -176,11 +178,44 @@ static void test_rasenum(void)
HeapFree(GetProcessHeap(), 0, rasDevInfo);
}
+static void test_rasgeterrorstring(void)
+{
+ DWORD result;
+ UINT errcode;
+ CHAR buffer[512];
+
+ errcode = 87;
+ result = pRasGetErrorStringA(errcode, buffer, 256);
+ ok(result == ERROR_INVALID_PARAMETER,
+ "Expected ERROR_INVALID_PARAMETER, got %08d\n", result);
+
+ errcode = 600;
+ result = pRasGetErrorStringA(errcode, NULL, 256);
+ ok(result == ERROR_INVALID_PARAMETER,
+ "Expected ERROR_INVALID_PARAMETER, got %08d\n", result);
+
+ errcode = 600;
+ result = pRasGetErrorStringA(errcode, buffer, 10);
+ todo_wine ok(result == ERROR_INSUFFICIENT_BUFFER,
+ "Expected ERROR_INSUFFICIENT_BUFFER, got %08d\n", result);
+
+ errcode = 600;
+ result = pRasGetErrorStringA(errcode, buffer, 256);
+ todo_wine ok(result == ERROR_SUCCESS,
+ "Expected ERROR_SUCCESS, got %08d\n", result);
+
+ errcode = 999;
+ result = pRasGetErrorStringA(errcode, buffer, 256);
+ ok(result == ERROR_INVALID_PARAMETER,
+ "Expected ERROR_INVALID_PARAMETER, got %08d\n", result);
+}
+
START_TEST(rasapi)
{
InitFunctionPtrs();
test_rasenum();
+ test_rasgeterrorstring();
FreeLibrary(hmodule);
}
--
2.21.0
More information about the wine-devel
mailing list