ChangeSet ID: 21214 CVSROOT: /opt/cvs-commit Module name: wine Changes by: julliard@winehq.org 2005/11/10 05:37:03
Modified files: dlls/advpack/tests: advpack.c
Log message: Saulius Krasuckas saulius.krasuckas@ieee.org WinME fixes: - don't fail on WriteFile(), - add valid error codes, - empty buffer to avoid printing garbage, - remove bogus inf-file which TranslateInfString() creates here.
Patch: http://cvs.winehq.org/patch.py?id=21214
Old revision New revision Changes Path 1.6 1.7 +17 -5 wine/dlls/advpack/tests/advpack.c
Index: wine/dlls/advpack/tests/advpack.c diff -u -p wine/dlls/advpack/tests/advpack.c:1.6 wine/dlls/advpack/tests/advpack.c:1.7 --- wine/dlls/advpack/tests/advpack.c:1.6 10 Nov 2005 11:37: 3 -0000 +++ wine/dlls/advpack/tests/advpack.c 10 Nov 2005 11:37: 3 -0000 @@ -129,6 +129,7 @@ static void create_inf_file() { char data[1024]; char *ptr = data; + DWORD dwNumberOfBytesWritten; HANDLE hf = CreateFile("c:\test.inf", GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
@@ -150,7 +151,7 @@ static void create_inf_file() append_str(&ptr, "DefaultAppPath="Application Name"\n"); append_str(&ptr, "LProgramF="Program Files"\n");
- WriteFile(hf, data, ptr - data, NULL, NULL); + WriteFile(hf, data, ptr - data, &dwNumberOfBytesWritten, NULL); CloseHandle(hf); }
@@ -169,36 +170,46 @@ static void translateinfstring_test() /* try to open an inf file that doesn't exist */ hr = pTranslateInfString("c:\a.inf", "Options.NTx86", "Options.NTx86", "InstallDir", buffer, MAX_PATH, &dwSize, NULL); - ok(hr == 0x80070002, "Expected 0x80070002, got 0x%08x\n", (UINT)hr); + ok(hr == HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND) || hr == E_INVALIDARG, + "Expected 0x80070002 or E_INVALIDARG, got 0x%08x\n", (UINT)hr);
/* try a nonexistent section */ + buffer[0] = 0; hr = pTranslateInfString("c:\test.inf", "idontexist", "Options.NTx86", "InstallDir", buffer, MAX_PATH, &dwSize, NULL); ok(hr == S_OK, "Expected S_OK, got 0x%08x\n", (UINT)hr); ok(!strcmp(buffer, TEST_STRING2), "Expected %s, got %s\n", TEST_STRING2, buffer); ok(dwSize == 25, "Expected size 25, got %ld\n", dwSize);
+ buffer[0] = 0; /* try other nonexistent section */ hr = pTranslateInfString("c:\test.inf", "Options.NTx86", "idontexist", "InstallDir", buffer, MAX_PATH, &dwSize, NULL); - ok(hr == SPAPI_E_LINE_NOT_FOUND, "Expected SPAPI_E_LINE_NOT_FOUND, got 0x%08x\n", (UINT)hr); + ok(hr == SPAPI_E_LINE_NOT_FOUND || hr == E_INVALIDARG, + "Expected SPAPI_E_LINE_NOT_FOUND or E_INVALIDARG, got 0x%08x\n", (UINT)hr);
+ buffer[0] = 0; /* try nonexistent key */ hr = pTranslateInfString("c:\test.inf", "Options.NTx86", "Options.NTx86", "notvalid", buffer, MAX_PATH, &dwSize, NULL); - ok(hr == SPAPI_E_LINE_NOT_FOUND, "Expected SPAPI_E_LINE_NOT_FOUND, got 0x%08x\n", (UINT)hr); + ok(hr == SPAPI_E_LINE_NOT_FOUND || hr == E_INVALIDARG, + "Expected SPAPI_E_LINE_NOT_FOUND or E_INVALIDARG, got 0x%08x\n", (UINT)hr);
+ buffer[0] = 0; /* test the behavior of pszInstallSection */ hr = pTranslateInfString("c:\test.inf", "section", "Options.NTx86", "InstallDir", buffer, MAX_PATH, &dwSize, NULL); - ok(hr == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got 0x%08x\n", (UINT)hr); + ok(hr == ERROR_SUCCESS || hr == E_FAIL, + "Expected ERROR_SUCCESS or E_FAIL, got 0x%08x\n", (UINT)hr);
+ if(hr == ERROR_SUCCESS) todo_wine { ok(!strcmp(buffer, TEST_STRING1), "Expected %s, got %s\n", TEST_STRING1, buffer); ok(dwSize == 34, "Expected size 34, got %ld\n", dwSize); }
+ buffer[0] = 0; /* try without a pszInstallSection */ hr = pTranslateInfString("c:\test.inf", NULL, "Options.NTx86", "InstallDir", buffer, MAX_PATH, &dwSize, NULL); @@ -206,6 +217,7 @@ static void translateinfstring_test() ok(!strcmp(buffer, TEST_STRING2), "Expected %s, got %s\n", TEST_STRING2, buffer); ok(dwSize == 25, "Expected size 25, got %ld\n", dwSize);
+ DeleteFile("c:\a.inf"); DeleteFile("c:\test.inf"); }