Hans Leidekker : msi/tests: Avoid a test failure on 64-bit.

Alexandre Julliard julliard at winehq.org
Thu Dec 9 12:26:24 CST 2010


Module: wine
Branch: master
Commit: 973821c775cbc6c2bf8d03a6261b82c4ea5ea7d4
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=973821c775cbc6c2bf8d03a6261b82c4ea5ea7d4

Author: Hans Leidekker <hans at 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);




More information about the wine-cvs mailing list