Fix a test failing on Windows. Reported by Katerina Nizhnik.

This commit is contained in:
Juan Lang 2005-09-03 09:37:15 +00:00 committed by Alexandre Julliard
parent 160b9149a1
commit 9cbe48f80c

View File

@ -827,13 +827,13 @@ static void testNonExistentPath(void)
modifiedPath[len++] = '\0'; modifiedPath[len++] = '\0';
if (winetest_interactive) if (winetest_interactive)
printf("Changing CSIDL_FAVORITES to %s\n", modifiedPath); printf("Changing CSIDL_FAVORITES to %s\n", modifiedPath);
if (!RegSetValueExA(key, "Favorites", 0, type, (LPBYTE) modifiedPath, len)) if (!RegSetValueExA(key, "Favorites", 0, type, (LPBYTE)modifiedPath, len))
{ {
char buffer[MAX_PATH]; char buffer[MAX_PATH];
STARTUPINFOA startup; STARTUPINFOA startup;
PROCESS_INFORMATION info; PROCESS_INFORMATION info;
HRESULT hr; HRESULT hr;
BOOL ret; SHFILEOPSTRUCTA shFileOp;
wnsprintfA(buffer, sizeof(buffer), "%s tests/shellpath.c 1", wnsprintfA(buffer, sizeof(buffer), "%s tests/shellpath.c 1",
selfname); selfname);
@ -869,8 +869,16 @@ static void testNonExistentPath(void)
ok(WaitForSingleObject(info.hProcess, 30000) == WAIT_OBJECT_0, ok(WaitForSingleObject(info.hProcess, 30000) == WAIT_OBJECT_0,
"child process termination\n"); "child process termination\n");
ret = RemoveDirectoryA(modifiedPath); /* Remove the directory. In some Windows versions, it
ok( ret, "RemoveDirectoryA failed: %ld\n", GetLastError()); * contains the system file desktop.ini, so use SHFileOperation
* to remove it and its contents.
*/
shFileOp.hwnd = NULL;
shFileOp.wFunc = FO_DELETE;
shFileOp.pFrom = modifiedPath;
shFileOp.fFlags = FOF_NOCONFIRMATION | FOF_NOERRORUI |
FOF_SILENT;
SHFileOperationA(&shFileOp);
} }
} }
else if (winetest_interactive) else if (winetest_interactive)