Module: wine Branch: master Commit: 16a97953c0a3961fd03d8c9f0dcafd2e7824abcd URL: http://source.winehq.org/git/wine.git/?a=commit;h=16a97953c0a3961fd03d8c9f0d...
Author: Sebastian Lackner sebastian@fds-team.de Date: Mon Oct 19 12:41:36 2015 +0200
kernel32/tests: Add tests for GetPhysicallyInstalledSystemMemory.
Signed-off-by: Sebastian Lackner sebastian@fds-team.de Signed-off-by: Alexandre Julliard julliard@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) {