From d8efe3dc71d881ccf99bde5d803778286b71dbf6 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Sat, 22 Dec 2012 16:28:26 +0100 Subject: libtests/malloctest: Add test case --- testsuites/libtests/malloctest/init.c | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'testsuites') diff --git a/testsuites/libtests/malloctest/init.c b/testsuites/libtests/malloctest/init.c index f7839246c3..008377ca5e 100644 --- a/testsuites/libtests/malloctest/init.c +++ b/testsuites/libtests/malloctest/init.c @@ -1147,6 +1147,29 @@ static void test_posix_memalign(void) } +static void test_greedy_allocate(void) +{ + Heap_Control *heap = &TestHeap; + uintptr_t block_size = 1; + void *p; + + _Heap_Initialize( heap, &TestHeapMemory[0], sizeof(TestHeapMemory), 0 ); + + _Heap_Greedy_allocate( heap, &block_size, 1 ); + + p = _Heap_Allocate( heap, 1 ); + rtems_test_assert( p != NULL ); + + p = _Heap_Allocate( heap, 1 ); + rtems_test_assert( p == NULL ); + + /* The internal allocation fails */ + _Heap_Greedy_allocate( heap, &block_size, 1 ); + + p = _Heap_Allocate( heap, 1 ); + rtems_test_assert( p == NULL ); +} + rtems_task Init( rtems_task_argument argument ) @@ -1194,6 +1217,7 @@ rtems_task Init( test_heap_info(); test_protected_heap_info(); test_rtems_heap_allocate_aligned_with_boundary(); + test_greedy_allocate(); test_posix_memalign(); -- cgit v1.2.3