[PATCH 1/4] kernelbase/tests: Move VirtualAllocFromApp() tests.

Nikolay Sivov wine at gitlab.winehq.org
Fri Jun 3 09:09:00 CDT 2022


From: Nikolay Sivov <nsivov at codeweavers.com>

Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
---
 dlls/kernel32/tests/virtual.c   | 36 ----------------------
 dlls/kernelbase/tests/process.c | 54 +++++++++++++++++++++++++++------
 2 files changed, 45 insertions(+), 45 deletions(-)

diff --git a/dlls/kernel32/tests/virtual.c b/dlls/kernel32/tests/virtual.c
index 6d4d34e2e81..9b3c8228a3f 100644
--- a/dlls/kernel32/tests/virtual.c
+++ b/dlls/kernel32/tests/virtual.c
@@ -50,7 +50,6 @@ static ULONG  (WINAPI *pRtlRemoveVectoredExceptionHandler)(PVOID);
 static BOOL   (WINAPI *pGetProcessDEPPolicy)(HANDLE, LPDWORD, PBOOL);
 static BOOL   (WINAPI *pIsWow64Process)(HANDLE, PBOOL);
 static NTSTATUS (WINAPI *pNtProtectVirtualMemory)(HANDLE, PVOID *, SIZE_T *, ULONG, ULONG *);
-static PVOID (WINAPI *pVirtualAllocFromApp)(PVOID, SIZE_T, DWORD, DWORD);
 
 /* ############################### */
 
@@ -454,39 +453,6 @@ static void test_VirtualAlloc(void)
     ok(VirtualFree(addr1, 0, MEM_RELEASE), "VirtualFree failed\n");
 }
 
-static void test_VirtualAllocFromApp(void)
-{
-    void *p;
-    BOOL ret;
-    if (!pVirtualAllocFromApp)
-    {
-        win_skip("VirtualAllocFromApp is not available.\n");
-        return;
-    }
-
-    p = GetProcAddress(hkernel32, "VirtualAllocFromApp");
-    ok(!p, "Found VirtualAllocFromApp in kernel32.dll.\n");
-
-    SetLastError(0xdeadbeef);
-    p = pVirtualAllocFromApp(NULL, 0x1000, MEM_RESERVE, PAGE_READWRITE);
-    ok(p && GetLastError() == 0xdeadbeef, "Got unexpected mem %p, GetLastError() %lu.\n", p, GetLastError());
-    ret = VirtualFree(p, 0, MEM_RELEASE);
-    ok(ret, "Got unexpected ret %#x, GetLastError() %lu.\n", ret, GetLastError());
-
-    SetLastError(0xdeadbeef);
-    p = pVirtualAllocFromApp(NULL, 0x1000, MEM_RESERVE, PAGE_EXECUTE);
-    ok(!p && GetLastError() == ERROR_INVALID_PARAMETER, "Got unexpected mem %p, GetLastError() %lu.\n",
-            p, GetLastError());
-    SetLastError(0xdeadbeef);
-    p = pVirtualAllocFromApp(NULL, 0x1000, MEM_RESERVE, PAGE_EXECUTE_READ);
-    ok(!p && GetLastError() == ERROR_INVALID_PARAMETER, "Got unexpected mem %p, GetLastError() %lu.\n",
-            p, GetLastError());
-    SetLastError(0xdeadbeef);
-    p = pVirtualAllocFromApp(NULL, 0x1000, MEM_RESERVE, PAGE_EXECUTE_READWRITE);
-    ok(!p && GetLastError() == ERROR_INVALID_PARAMETER, "Got unexpected mem %p, GetLastError() %lu.\n",
-            p, GetLastError());
-}
-
 static void test_MapViewOfFile(void)
 {
     static const char testfile[] = "testfile.xxx";
@@ -4304,7 +4270,6 @@ START_TEST(virtual)
     pRtlAddVectoredExceptionHandler = (void *)GetProcAddress( hntdll, "RtlAddVectoredExceptionHandler" );
     pRtlRemoveVectoredExceptionHandler = (void *)GetProcAddress( hntdll, "RtlRemoveVectoredExceptionHandler" );
     pNtProtectVirtualMemory = (void *)GetProcAddress( hntdll, "NtProtectVirtualMemory" );
-    pVirtualAllocFromApp = (void *)GetProcAddress( hkernelbase, "VirtualAllocFromApp" );
 
     GetSystemInfo(&si);
     trace("system page size %#lx\n", si.dwPageSize);
@@ -4319,7 +4284,6 @@ START_TEST(virtual)
     test_VirtualProtect();
     test_VirtualAllocEx();
     test_VirtualAlloc();
-    test_VirtualAllocFromApp();
     test_MapViewOfFile();
     test_NtAreMappedFilesTheSame();
     test_CreateFileMapping();
diff --git a/dlls/kernelbase/tests/process.c b/dlls/kernelbase/tests/process.c
index b83a25015b2..90c4c4c26e1 100644
--- a/dlls/kernelbase/tests/process.c
+++ b/dlls/kernelbase/tests/process.c
@@ -34,6 +34,7 @@ static BOOL (WINAPI *pCompareObjectHandles)(HANDLE, HANDLE);
 static LPVOID (WINAPI *pMapViewOfFile3)(HANDLE, HANDLE, PVOID, ULONG64 offset, SIZE_T size,
         ULONG, ULONG, MEM_EXTENDED_PARAMETER *, ULONG);
 static LPVOID (WINAPI *pVirtualAlloc2)(HANDLE, void *, SIZE_T, DWORD, DWORD, MEM_EXTENDED_PARAMETER *, ULONG);
+static PVOID (WINAPI *pVirtualAllocFromApp)(PVOID, SIZE_T, DWORD, DWORD);
 
 static void test_CompareObjectHandles(void)
 {
@@ -194,20 +195,55 @@ static void test_VirtualAlloc2(void)
     VirtualFree(placeholder2, 0, MEM_RELEASE);
 }
 
-START_TEST(process)
+static void test_VirtualAllocFromApp(void)
 {
-    HMODULE hmod;
+    BOOL ret;
+    void *p;
 
-    hmod = GetModuleHandleA("kernel32.dll");
-    pCompareObjectHandles = (void *)GetProcAddress(hmod, "CompareObjectHandles");
-    ok(!pCompareObjectHandles, "expected CompareObjectHandles only in kernelbase.dll\n");
+    if (!pVirtualAllocFromApp)
+    {
+        win_skip("VirtualAllocFromApp is not available.\n");
+        return;
+    }
 
-    hmod = GetModuleHandleA("kernelbase.dll");
-    pCompareObjectHandles = (void *)GetProcAddress(hmod, "CompareObjectHandles");
-    pMapViewOfFile3 = (void *)GetProcAddress(hmod, "MapViewOfFile3");
-    pVirtualAlloc2 = (void *)GetProcAddress(hmod, "VirtualAlloc2");
+    SetLastError(0xdeadbeef);
+    p = pVirtualAllocFromApp(NULL, 0x1000, MEM_RESERVE, PAGE_READWRITE);
+    ok(p && GetLastError() == 0xdeadbeef, "Got unexpected mem %p, GetLastError() %lu.\n", p, GetLastError());
+    ret = VirtualFree(p, 0, MEM_RELEASE);
+    ok(ret, "Got unexpected ret %#x, GetLastError() %lu.\n", ret, GetLastError());
+
+    SetLastError(0xdeadbeef);
+    p = pVirtualAllocFromApp(NULL, 0x1000, MEM_RESERVE, PAGE_EXECUTE);
+    ok(!p && GetLastError() == ERROR_INVALID_PARAMETER, "Got unexpected mem %p, GetLastError() %lu.\n",
+            p, GetLastError());
+    SetLastError(0xdeadbeef);
+    p = pVirtualAllocFromApp(NULL, 0x1000, MEM_RESERVE, PAGE_EXECUTE_READ);
+    ok(!p && GetLastError() == ERROR_INVALID_PARAMETER, "Got unexpected mem %p, GetLastError() %lu.\n",
+            p, GetLastError());
+    SetLastError(0xdeadbeef);
+    p = pVirtualAllocFromApp(NULL, 0x1000, MEM_RESERVE, PAGE_EXECUTE_READWRITE);
+    ok(!p && GetLastError() == ERROR_INVALID_PARAMETER, "Got unexpected mem %p, GetLastError() %lu.\n",
+            p, GetLastError());
+}
+
+static void init_funcs(void)
+{
+    HMODULE hmod = GetModuleHandleA("kernelbase.dll");
+
+#define X(f) { p##f = (void*)GetProcAddress(hmod, #f); }
+    X(CompareObjectHandles);
+    X(MapViewOfFile3);
+    X(VirtualAlloc2);
+    X(VirtualAllocFromApp);
+#undef X
+}
+
+START_TEST(process)
+{
+    init_funcs();
 
     test_CompareObjectHandles();
     test_MapViewOfFile3();
     test_VirtualAlloc2();
+    test_VirtualAllocFromApp();
 }
-- 
GitLab


https://gitlab.winehq.org/wine/wine/-/merge_requests/183



More information about the wine-devel mailing list