serialui/tests: Add some tests for CommConfigDialog.
This commit is contained in:
parent
20a3298312
commit
5365ce15e4
|
@ -31,6 +31,8 @@
|
||||||
|
|
||||||
|
|
||||||
static HINSTANCE hdll;
|
static HINSTANCE hdll;
|
||||||
|
static DWORD (WINAPI *pCommConfigDialogA)(LPCSTR, HWND, LPCOMMCONFIG);
|
||||||
|
static DWORD (WINAPI *pCommConfigDialogW)(LPCWSTR, HWND, LPCOMMCONFIG);
|
||||||
static DWORD (WINAPI *pGetDefaultCommConfigA)(LPCSTR, LPCOMMCONFIG, LPDWORD);
|
static DWORD (WINAPI *pGetDefaultCommConfigA)(LPCSTR, LPCOMMCONFIG, LPDWORD);
|
||||||
static DWORD (WINAPI *pGetDefaultCommConfigW)(LPCWSTR, LPCOMMCONFIG, LPDWORD);
|
static DWORD (WINAPI *pGetDefaultCommConfigW)(LPCWSTR, LPCOMMCONFIG, LPDWORD);
|
||||||
|
|
||||||
|
@ -55,6 +57,14 @@ static LPCSTR load_functions(void)
|
||||||
hdll = LoadLibraryA(ptr);
|
hdll = LoadLibraryA(ptr);
|
||||||
if (!hdll) return ptr;
|
if (!hdll) return ptr;
|
||||||
|
|
||||||
|
ptr = "drvCommConfigDialogA";
|
||||||
|
pCommConfigDialogA = (VOID *) GetProcAddress(hdll, ptr);
|
||||||
|
if (!pCommConfigDialogA) return ptr;
|
||||||
|
|
||||||
|
ptr = "drvCommConfigDialogW";
|
||||||
|
pCommConfigDialogW = (VOID *) GetProcAddress(hdll, ptr);
|
||||||
|
if (!pCommConfigDialogW) return ptr;
|
||||||
|
|
||||||
ptr = "drvGetDefaultCommConfigA";
|
ptr = "drvGetDefaultCommConfigA";
|
||||||
pGetDefaultCommConfigA = (VOID *) GetProcAddress(hdll, ptr);
|
pGetDefaultCommConfigA = (VOID *) GetProcAddress(hdll, ptr);
|
||||||
if (!pGetDefaultCommConfigA) return ptr;
|
if (!pGetDefaultCommConfigA) return ptr;
|
||||||
|
@ -67,6 +77,155 @@ static LPCSTR load_functions(void)
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* ################# */
|
||||||
|
|
||||||
|
static void test_drvCommConfigDialogA(void)
|
||||||
|
{
|
||||||
|
COMMCONFIG pCC[3];
|
||||||
|
CHAR bufferA[16];
|
||||||
|
DWORD i;
|
||||||
|
DWORD res;
|
||||||
|
DWORD len;
|
||||||
|
|
||||||
|
|
||||||
|
/* test ports "com1" - "com4" */
|
||||||
|
for (i = 1; i < 5 ; i++) {
|
||||||
|
sprintf(bufferA, fmt_comA, i);
|
||||||
|
len = sizeof(pCC);
|
||||||
|
ZeroMemory(pCC, sizeof(pCC));
|
||||||
|
SetLastError(0xdeadbeef);
|
||||||
|
res = pGetDefaultCommConfigA(bufferA, pCC, &len);
|
||||||
|
if (res == ERROR_CALL_NOT_IMPLEMENTED) {
|
||||||
|
/* NT does not implement the ANSI API */
|
||||||
|
skip("*A not implemented\n");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (res == ERROR_SUCCESS) {
|
||||||
|
|
||||||
|
if (winetest_interactive) {
|
||||||
|
SetLastError(0xdeadbeef);
|
||||||
|
res = pCommConfigDialogA(bufferA, NULL, pCC);
|
||||||
|
/* OK: ERROR_SUCCESS, Cancel: ERROR_CANCELLED */
|
||||||
|
trace("returned %u with %u for '%s'\n", res, GetLastError(), bufferA);
|
||||||
|
}
|
||||||
|
|
||||||
|
ZeroMemory(pCC, sizeof(pCC));
|
||||||
|
SetLastError(0xdeadbeef);
|
||||||
|
res = pCommConfigDialogA(bufferA, NULL, pCC);
|
||||||
|
ok( res == ERROR_INSUFFICIENT_BUFFER,
|
||||||
|
"returned %u with %u for '%s' (expected ERROR_INSUFFICIENT_BUFFER)\n",
|
||||||
|
res, GetLastError(), bufferA);
|
||||||
|
|
||||||
|
|
||||||
|
SetLastError(0xdeadbeef);
|
||||||
|
res = pCommConfigDialogA(bufferA, NULL, NULL);
|
||||||
|
ok( res == ERROR_INVALID_PARAMETER,
|
||||||
|
"returned %u with %u for '%s' (expected ERROR_INVALID_PARAMETER)\n",
|
||||||
|
res, GetLastError(), bufferA);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
ZeroMemory(pCC, sizeof(pCC));
|
||||||
|
SetLastError(0xdeadbeef);
|
||||||
|
res = pCommConfigDialogA(emptyA, NULL, pCC);
|
||||||
|
ok( res == ERROR_INSUFFICIENT_BUFFER,
|
||||||
|
"returned %u with %u (expected ERROR_INSUFFICIENT_BUFFER)\n",
|
||||||
|
res, GetLastError());
|
||||||
|
|
||||||
|
|
||||||
|
ZeroMemory(pCC, sizeof(pCC));
|
||||||
|
pCC[0].dwSize = sizeof(COMMCONFIG);
|
||||||
|
SetLastError(0xdeadbeef);
|
||||||
|
res = pCommConfigDialogA(emptyA, NULL, pCC);
|
||||||
|
ok( res == ERROR_BADKEY, "returned %u with %u (expected ERROR_BADKEY)\n",
|
||||||
|
res, GetLastError());
|
||||||
|
|
||||||
|
|
||||||
|
ZeroMemory(pCC, sizeof(pCC));
|
||||||
|
SetLastError(0xdeadbeef);
|
||||||
|
res = pCommConfigDialogA(NULL, NULL, pCC);
|
||||||
|
ok( res == ERROR_INVALID_PARAMETER,
|
||||||
|
"returned %u with %u (expected ERROR_INVALID_PARAMETER)\n",
|
||||||
|
res, GetLastError());
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ################# */
|
||||||
|
|
||||||
|
static void test_drvCommConfigDialogW(void)
|
||||||
|
{
|
||||||
|
COMMCONFIG pCC[3];
|
||||||
|
CHAR bufferA[16];
|
||||||
|
WCHAR bufferW[16];
|
||||||
|
DWORD i;
|
||||||
|
DWORD res;
|
||||||
|
DWORD len;
|
||||||
|
|
||||||
|
|
||||||
|
/* test ports "com1" - "com4" */
|
||||||
|
for (i = 1; i < 5 ; i++) {
|
||||||
|
sprintf(bufferA, fmt_comA, i);
|
||||||
|
MultiByteToWideChar( CP_ACP, 0, bufferA, -1, bufferW, sizeof(bufferW)/sizeof(WCHAR) );
|
||||||
|
len = sizeof(pCC);
|
||||||
|
ZeroMemory(pCC, sizeof(pCC));
|
||||||
|
SetLastError(0xdeadbeef);
|
||||||
|
res = pGetDefaultCommConfigW(bufferW, pCC, &len);
|
||||||
|
if (res == ERROR_CALL_NOT_IMPLEMENTED) {
|
||||||
|
skip("*W not implemented\n");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (res == ERROR_SUCCESS) {
|
||||||
|
|
||||||
|
if (winetest_interactive) {
|
||||||
|
SetLastError(0xdeadbeef);
|
||||||
|
res = pCommConfigDialogW(bufferW, NULL, pCC);
|
||||||
|
/* OK: ERROR_SUCCESS, Cancel: ERROR_CANCELLED */
|
||||||
|
trace("returned %u with %u for '%s'\n", res, GetLastError(), bufferA);
|
||||||
|
}
|
||||||
|
|
||||||
|
ZeroMemory(pCC, sizeof(pCC));
|
||||||
|
SetLastError(0xdeadbeef);
|
||||||
|
res = pCommConfigDialogW(bufferW, NULL, pCC);
|
||||||
|
ok( res == ERROR_INSUFFICIENT_BUFFER,
|
||||||
|
"returned %u with %u for '%s' (expected ERROR_INSUFFICIENT_BUFFER)\n",
|
||||||
|
res, GetLastError(), bufferA);
|
||||||
|
|
||||||
|
SetLastError(0xdeadbeef);
|
||||||
|
res = pCommConfigDialogW(bufferW, NULL, NULL);
|
||||||
|
ok( res == ERROR_INVALID_PARAMETER,
|
||||||
|
"returned %u with %u for '%s' (expected ERROR_INVALID_PARAMETER)\n",
|
||||||
|
res, GetLastError(), bufferA);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
ZeroMemory(pCC, sizeof(pCC));
|
||||||
|
SetLastError(0xdeadbeef);
|
||||||
|
res = pCommConfigDialogW(emptyW, NULL, pCC);
|
||||||
|
ok( res == ERROR_INSUFFICIENT_BUFFER,
|
||||||
|
"returned %u with %u (expected ERROR_INSUFFICIENT_BUFFER)\n",
|
||||||
|
res, GetLastError());
|
||||||
|
|
||||||
|
|
||||||
|
ZeroMemory(pCC, sizeof(pCC));
|
||||||
|
pCC[0].dwSize = sizeof(COMMCONFIG);
|
||||||
|
SetLastError(0xdeadbeef);
|
||||||
|
res = pCommConfigDialogW(emptyW, NULL, pCC);
|
||||||
|
ok( res == ERROR_BADKEY, "returned %u with %u (expected ERROR_BADKEY)\n",
|
||||||
|
res, GetLastError());
|
||||||
|
|
||||||
|
|
||||||
|
ZeroMemory(pCC, sizeof(pCC));
|
||||||
|
SetLastError(0xdeadbeef);
|
||||||
|
res = pCommConfigDialogW(NULL, NULL, pCC);
|
||||||
|
ok( res == ERROR_INVALID_PARAMETER,
|
||||||
|
"returned %u with %u (expected ERROR_INVALID_PARAMETER)\n",
|
||||||
|
res, GetLastError());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/* ################# */
|
/* ################# */
|
||||||
|
|
||||||
static void test_drvGetDefaultCommConfigA(void)
|
static void test_drvGetDefaultCommConfigA(void)
|
||||||
|
@ -265,6 +424,8 @@ START_TEST(confdlg)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
test_drvCommConfigDialogA();
|
||||||
|
test_drvCommConfigDialogW();
|
||||||
test_drvGetDefaultCommConfigA();
|
test_drvGetDefaultCommConfigA();
|
||||||
test_drvGetDefaultCommConfigW();
|
test_drvGetDefaultCommConfigW();
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue