From: Francois Gouget fgouget@codeweavers.com
Also repeat the test to increase the chance of a failure. --- dlls/kernel32/tests/heap.c | 32 +++++++++++++++++++++++++------- 1 file changed, 25 insertions(+), 7 deletions(-)
diff --git a/dlls/kernel32/tests/heap.c b/dlls/kernel32/tests/heap.c index a81cb1b7a15..1c291b9a2a7 100644 --- a/dlls/kernel32/tests/heap.c +++ b/dlls/kernel32/tests/heap.c @@ -3549,6 +3549,7 @@ static void test_GlobalMemoryStatus(void) VM_COUNTERS_EX vmc; NTSTATUS status; BOOL ret; + static BOOL first = 1;
SetLastError( 0xdeadbeef ); ret = GlobalMemoryStatusEx( &memex ); @@ -3590,13 +3591,21 @@ static void test_GlobalMemoryStatus(void) /* allow some variability, info sources are not always in sync */ #define IS_WITHIN_RANGE(a, b) (((a) - (b) + (256 * basic_info.PageSize)) <= (512 * basic_info.PageSize))
+ if (first) + printf("PageSize = %ld -> %ld - %ld\n", basic_info.PageSize, 256 * basic_info.PageSize, 512 * basic_info.PageSize); + printf("memex-expect: Phys: %#I64d - %#I64d = %#I64d / %#I64d - %#I64d = %#I64d PageFile %#I64d - %#I64d = %#I64d / %#I64d - %#I64d = %#I64d\n", + memex.ullAvailPhys, expect.ullAvailPhys, memex.ullAvailPhys - expect.ullAvailPhys, + memex.ullTotalPhys, expect.ullTotalPhys, memex.ullTotalPhys - expect.ullTotalPhys, + memex.ullAvailPageFile, expect.ullAvailPageFile, memex.ullAvailPageFile - expect.ullAvailPageFile, + memex.ullTotalPageFile, expect.ullTotalPageFile, memex.ullTotalPageFile - expect.ullTotalPageFile ); + ok( memex.dwMemoryLoad == expect.dwMemoryLoad, "got dwMemoryLoad %lu\n", memex.dwMemoryLoad ); - ok( memex.ullTotalPhys == expect.ullTotalPhys, "got ullTotalPhys %#I64x\n", memex.ullTotalPhys ); - ok( IS_WITHIN_RANGE( memex.ullAvailPhys, expect.ullAvailPhys ), "got ullAvailPhys %#I64x\n", memex.ullAvailPhys ); - ok( memex.ullTotalPageFile == expect.ullTotalPageFile, "got ullTotalPageFile %#I64x\n", memex.ullTotalPageFile ); - ok( IS_WITHIN_RANGE( memex.ullAvailPageFile, expect.ullAvailPageFile ), "got ullAvailPageFile %#I64x\n", memex.ullAvailPageFile ); - ok( memex.ullTotalVirtual == expect.ullTotalVirtual, "got ullTotalVirtual %#I64x\n", memex.ullTotalVirtual ); - ok( memex.ullAvailVirtual <= expect.ullAvailVirtual, "got ullAvailVirtual %#I64x\n", memex.ullAvailVirtual ); + ok( memex.ullTotalPhys == expect.ullTotalPhys, "got ullTotalPhys %#I64x, expected %#I64x\n", memex.ullTotalPhys, expect.ullTotalPhys ); + ok( IS_WITHIN_RANGE( memex.ullAvailPhys, expect.ullAvailPhys ), "got ullAvailPhys %#I64x, expected %#I64x\n", memex.ullAvailPhys, expect.ullAvailPhys ); + ok( memex.ullTotalPageFile == expect.ullTotalPageFile, "got ullTotalPageFile %#I64x, expected %#I64x\n", memex.ullTotalPageFile, expect.ullTotalPageFile ); + ok( IS_WITHIN_RANGE( memex.ullAvailPageFile, expect.ullAvailPageFile ), "got ullAvailPageFile %#I64x, expected %#I64x\n", memex.ullAvailPageFile, expect.ullAvailPageFile ); + ok( memex.ullTotalVirtual == expect.ullTotalVirtual, "got ullTotalVirtual %#I64x, expected %#I64x\n", memex.ullTotalVirtual, expect.ullTotalVirtual ); + ok( memex.ullAvailVirtual <= expect.ullAvailVirtual, "got ullAvailVirtual %#I64x, expected %#I64x\n", memex.ullAvailVirtual, expect.ullAvailVirtual ); ok( memex.ullAvailExtendedVirtual == 0, "got ullAvailExtendedVirtual %#I64x\n", memex.ullAvailExtendedVirtual );
ok( mem.dwMemoryLoad == memex.dwMemoryLoad, "got dwMemoryLoad %lu\n", mem.dwMemoryLoad ); @@ -3621,6 +3630,7 @@ START_TEST(heap) { int argc; char **argv; + int i;
load_functions();
@@ -3631,13 +3641,20 @@ START_TEST(heap) return; }
+ if (0) { test_HeapCreate(); test_GlobalAlloc(); test_LocalAlloc();
test_GetPhysicallyInstalledSystemMemory(); - test_GlobalMemoryStatus(); + } + for (i = 0; i < 20; i++) + { + test_GlobalMemoryStatus(); + Sleep(1000); + }
+ if (0) { if (pRtlGetNtGlobalFlags) { test_debug_heap( argv[0], 0 ); @@ -3653,4 +3670,5 @@ START_TEST(heap) test_debug_heap( argv[0], 0xdeadbeef ); } else win_skip( "RtlGetNtGlobalFlags not found, skipping heap debug tests\n" ); + } }
From: Francois Gouget fgouget@codeweavers.com
--- programs/winetest/main.c | 3 +++ 1 file changed, 3 insertions(+)
diff --git a/programs/winetest/main.c b/programs/winetest/main.c index 18fa25db101..43696de7f16 100644 --- a/programs/winetest/main.c +++ b/programs/winetest/main.c @@ -1452,6 +1452,9 @@ int __cdecl main( int argc, char *argv[] ) exit (2); } } + if (!nb_filters) + add_filter( "kernel32:heap" ); + if (submit) { if (tag) report (R_WARNING, "ignoring tag for submission");
Hi,
It looks like your patch introduced the new failures shown below. Please investigate and fix them before resubmitting your patch. If they are not new, fixing them anyway would help a lot. Otherwise please ask for the known failures list to be updated.
The full results can be found at: https://testbot.winehq.org/JobDetails.pl?Key=129453
Your paranoid android.
=== debian11 (32 bit ar:MA report) ===
kernel32: heap.c:3604: Test failed: got ullAvailPhys 0x14c50e000, expected 0x14c94a000 heap.c:3606: Test failed: got ullAvailPageFile 0x17d3f6000, expected 0x17d832000
=== debian11 (32 bit de report) ===
kernel32: heap.c:3604: Test failed: got ullAvailPhys 0x14bf0e000, expected 0x14c218000 heap.c:3606: Test failed: got ullAvailPageFile 0x17cdf6000, expected 0x17d100000
=== debian11 (32 bit fr report) ===
kernel32: heap.c:3604: Test failed: got ullAvailPhys 0x14ccb1000, expected 0x14d026000 heap.c:3606: Test failed: got ullAvailPageFile 0x17db99000, expected 0x17df0e000 heap.c:3604: Test failed: got ullAvailPhys 0x14d026000, expected 0x14d2c0000 heap.c:3606: Test failed: got ullAvailPageFile 0x17df0e000, expected 0x17e1a8000 heap.c:3604: Test failed: got ullAvailPhys 0x14d2eb000, expected 0x14ec9b000 heap.c:3606: Test failed: got ullAvailPageFile 0x17e1d3000, expected 0x17fb83000 heap.c:3604: Test failed: got ullAvailPhys 0x14ebde000, expected 0x14eedf000 heap.c:3606: Test failed: got ullAvailPageFile 0x17fac6000, expected 0x17fdc7000
=== debian11 (32 bit he:IL report) ===
kernel32: heap.c:3604: Test failed: got ullAvailPhys 0x14d061000, expected 0x14d288000 heap.c:3606: Test failed: got ullAvailPageFile 0x17df49000, expected 0x17e170000 heap.c:3604: Test failed: got ullAvailPhys 0x14d292000, expected 0x14d591000 heap.c:3606: Test failed: got ullAvailPageFile 0x17e17a000, expected 0x17e479000
=== debian11 (32 bit hi:IN report) ===
kernel32: heap.c:3604: Test failed: got ullAvailPhys 0x14c650000, expected 0x14c92d000 heap.c:3606: Test failed: got ullAvailPageFile 0x17d538000, expected 0x17d815000 heap.c:3604: Test failed: got ullAvailPhys 0x14c9c1000, expected 0x14ccf5000 heap.c:3606: Test failed: got ullAvailPageFile 0x17d8a9000, expected 0x17dbdd000
=== debian11 (32 bit zh:CN report) ===
kernel32: heap.c:3604: Test failed: got ullAvailPhys 0x14c465000, expected 0x14c973000 heap.c:3606: Test failed: got ullAvailPageFile 0x17d50d000, expected 0x17da1b000
=== debian11b (64 bit WoW report) ===
kernel32: heap.c:3604: Test failed: got ullAvailPhys 0x14b406000, expected 0x14b6a5000 heap.c:3606: Test failed: got ullAvailPageFile 0x17a690000, expected 0x17a92f000