Module: wine Branch: master Commit: 973821c775cbc6c2bf8d03a6261b82c4ea5ea7d4 URL: http://source.winehq.org/git/wine.git/?a=commit;h=973821c775cbc6c2bf8d03a626...
Author: Hans Leidekker hans@codeweavers.com Date: Thu Dec 9 10:28:15 2010 +0100
msi/tests: Avoid a test failure on 64-bit.
---
dlls/msi/tests/package.c | 45 +++++++++++++++++++++++++++------------------ 1 files changed, 27 insertions(+), 18 deletions(-)
diff --git a/dlls/msi/tests/package.c b/dlls/msi/tests/package.c index f026d95..7735d71 100644 --- a/dlls/msi/tests/package.c +++ b/dlls/msi/tests/package.c @@ -46,6 +46,7 @@ static LONG (WINAPI *pRegDeleteKeyExA)(HKEY, LPCSTR, REGSAM, DWORD); static LONG (WINAPI *pRegDeleteKeyExW)(HKEY, LPCWSTR, REGSAM, DWORD); static BOOL (WINAPI *pIsWow64Process)(HANDLE, PBOOL); static void (WINAPI *pGetSystemInfo)(LPSYSTEM_INFO); +static void (WINAPI *pGetNativeSystemInfo)(LPSYSTEM_INFO); static UINT (WINAPI *pGetSystemWow64DirectoryA)(LPSTR, UINT);
static BOOL (WINAPI *pSRRemoveRestorePoint)(DWORD); @@ -72,6 +73,7 @@ static void init_functionpointers(void) GET_PROC(hadvapi32, RegDeleteKeyExA) GET_PROC(hadvapi32, RegDeleteKeyExW) GET_PROC(hkernel32, IsWow64Process) + GET_PROC(hkernel32, GetNativeSystemInfo) GET_PROC(hkernel32, GetSystemInfo) GET_PROC(hkernel32, GetSystemWow64DirectoryA)
@@ -8283,6 +8285,7 @@ static void test_appsearch_reglocator(void) LPCSTR str; LONG res; UINT r, type = 0; + SYSTEM_INFO si;
version = TRUE; if (!create_file_with_version("test.dll", MAKELONG(2, 1), MAKELONG(4, 3))) @@ -8726,28 +8729,34 @@ static void test_appsearch_reglocator(void) ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!lstrcmpA(prop, "#-42"), "Expected "#-42", got "%s"\n", prop);
- size = ExpandEnvironmentStringsA("%PATH%", NULL, 0); - if (size == 0 && GetLastError() == ERROR_INVALID_PARAMETER) + memset(&si, 0, sizeof(si)); + if (pGetNativeSystemInfo) pGetNativeSystemInfo(&si); + + if (S(U(si)).wProcessorArchitecture == PROCESSOR_ARCHITECTURE_INTEL) { - /* Workaround for Win95 */ - CHAR tempbuf[1]; - size = ExpandEnvironmentStringsA("%PATH%", tempbuf, 0); - } - pathvar = HeapAlloc(GetProcessHeap(), 0, size); - ExpandEnvironmentStringsA("%PATH%", pathvar, size); + size = ExpandEnvironmentStringsA("%PATH%", NULL, 0); + if (size == 0 && GetLastError() == ERROR_INVALID_PARAMETER) + { + /* Workaround for Win95 */ + CHAR tempbuf[1]; + size = ExpandEnvironmentStringsA("%PATH%", tempbuf, 0); + } + pathvar = HeapAlloc(GetProcessHeap(), 0, size); + ExpandEnvironmentStringsA("%PATH%", pathvar, size);
- size = 0; - r = MsiGetPropertyA(hpkg, "SIGPROP4", NULL, &size); - ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); + size = 0; + r = MsiGetPropertyA(hpkg, "SIGPROP4", NULL, &size); + ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
- pathdata = HeapAlloc(GetProcessHeap(), 0, ++size); - r = MsiGetPropertyA(hpkg, "SIGPROP4", pathdata, &size); - ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - ok(!lstrcmpA(pathdata, pathvar), - "Expected "%s", got "%s"\n", pathvar, pathdata); + pathdata = HeapAlloc(GetProcessHeap(), 0, ++size); + r = MsiGetPropertyA(hpkg, "SIGPROP4", pathdata, &size); + ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); + ok(!lstrcmpA(pathdata, pathvar), + "Expected "%s", got "%s"\n", pathvar, pathdata);
- HeapFree(GetProcessHeap(), 0, pathvar); - HeapFree(GetProcessHeap(), 0, pathdata); + HeapFree(GetProcessHeap(), 0, pathvar); + HeapFree(GetProcessHeap(), 0, pathdata); + }
size = MAX_PATH; r = MsiGetPropertyA(hpkg, "SIGPROP5", prop, &size);