Sebastian Lackner : kernel32/tests: Add tests for GetPhysicallyInstalledSystemMemory.

Alexandre Julliard julliard at wine.codeweavers.com
Mon Oct 19 11:34:20 CDT 2015


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

Author: Sebastian Lackner <sebastian at fds-team.de>
Date:   Mon Oct 19 12:41:36 2015 +0200

kernel32/tests: Add tests for GetPhysicallyInstalledSystemMemory.

Signed-off-by: Sebastian Lackner <sebastian at fds-team.de>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/kernel32/tests/heap.c | 35 +++++++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)

diff --git a/dlls/kernel32/tests/heap.c b/dlls/kernel32/tests/heap.c
index d8768da..136d618 100644
--- a/dlls/kernel32/tests/heap.c
+++ b/dlls/kernel32/tests/heap.c
@@ -39,6 +39,7 @@
 #define HEAP_VALIDATE_PARAMS  0x40000000
 
 static BOOL (WINAPI *pHeapQueryInformation)(HANDLE, HEAP_INFORMATION_CLASS, PVOID, SIZE_T, PSIZE_T);
+static BOOL (WINAPI *pGetPhysicallyInstalledSystemMemory)(ULONGLONG *);
 static ULONG (WINAPI *pRtlGetNtGlobalFlags)(void);
 
 struct heap_layout
@@ -1145,6 +1146,38 @@ static void test_child_heap( const char *arg )
     test_heap_checks( expect_heap );
 }
 
+static void test_GetPhysicallyInstalledSystemMemory(void)
+{
+    HMODULE kernel32 = GetModuleHandleA("kernel32.dll");
+    MEMORYSTATUSEX memstatus;
+    ULONGLONG total_memory;
+    BOOL ret;
+
+    pGetPhysicallyInstalledSystemMemory = (void *)GetProcAddress(kernel32, "GetPhysicallyInstalledSystemMemory");
+    if (!pGetPhysicallyInstalledSystemMemory)
+    {
+        skip("GetPhysicallyInstalledSystemMemory is not available\n");
+        return;
+    }
+
+    SetLastError(0xdeadbeef);
+    ret = pGetPhysicallyInstalledSystemMemory(NULL);
+    ok(!ret, "GetPhysicallyInstalledSystemMemory should fail\n");
+    ok(GetLastError() == ERROR_INVALID_PARAMETER,
+       "expected ERROR_INVALID_PARAMETER, got %u\n", GetLastError());
+
+    total_memory = 0;
+    ret = pGetPhysicallyInstalledSystemMemory(&total_memory);
+    ok(ret, "GetPhysicallyInstalledSystemMemory unexpectedly failed\n");
+    ok(total_memory != 0, "expected total_memory != 0\n");
+
+    memstatus.dwLength = sizeof(memstatus);
+    ret = GlobalMemoryStatusEx(&memstatus);
+    ok(ret, "GlobalMemoryStatusEx unexpectedly failed\n");
+    ok(total_memory >= memstatus.ullTotalPhys / 1024,
+       "expected total_memory >= memstatus.ullTotalPhys / 1024\n");
+}
+
 START_TEST(heap)
 {
     int argc;
@@ -1172,7 +1205,9 @@ START_TEST(heap)
     test_sized_HeapReAlloc(1, (1 << 20));
     test_sized_HeapReAlloc((1 << 20), (2 << 20));
     test_sized_HeapReAlloc((1 << 20), 1);
+
     test_HeapQueryInformation();
+    test_GetPhysicallyInstalledSystemMemory();
 
     if (pRtlGetNtGlobalFlags)
     {




More information about the wine-cvs mailing list