From 025b52d950e54a18be30f91e0f4e364505f46ef0 Mon Sep 17 00:00:00 2001 From: Andriy Palamarchuk Date: Wed, 11 Sep 2002 00:48:47 +0000 Subject: [PATCH] A few more conformance tests for heap memory allocation. --- dlls/kernel/tests/alloc.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/dlls/kernel/tests/alloc.c b/dlls/kernel/tests/alloc.c index 8d10c38d2bc..ff7b0ed2849 100644 --- a/dlls/kernel/tests/alloc.c +++ b/dlls/kernel/tests/alloc.c @@ -54,6 +54,7 @@ static void test_Heap(void) LPVOID mem1,mem1a,mem3; UCHAR *mem2,*mem2a; UINT error,i; + DWORD dwSize; /* Retreive the page size for this system */ sysInfo.dwPageSize=0; @@ -147,6 +148,26 @@ static void test_Heap(void) ok(HeapFree(heap,(DWORD)NULL,mem2),"HeapFree failed"); } + /* take just freed pointer */ + if (mem1a) + mem1 = mem1a; + + /* try to free it one more time */ + HeapFree(heap, 0, mem1); + + dwSize = HeapSize(heap, 0, mem1); + ok(dwSize == 0xFFFFFFFF, "The size"); + + /* 0-length buffer */ + mem1 = HeapAlloc(heap, 0, 0); + ok(mem1 != NULL, "Reserved memory"); + + dwSize = HeapSize(heap, 0, mem1); + /* should work with 0-length buffer */ + ok((dwSize >= 0) && (dwSize < 0xFFFFFFFF), + "The size of the 0-length buffer"); + ok(HeapFree(heap, 0, mem1), "Freed the 0-length buffer"); + /* Check that HeapDestry works */ ok(HeapDestroy(heap),"HeapDestroy failed"); }