diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2012-12-22 16:28:26 +0100 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2012-12-22 16:28:26 +0100 |
commit | d8efe3dc71d881ccf99bde5d803778286b71dbf6 (patch) | |
tree | 41276da06918f6c334a5e8999fb2980d725f8863 /testsuites/libtests/malloctest/init.c | |
parent | IMFS: Documentation (diff) | |
download | rtems-d8efe3dc71d881ccf99bde5d803778286b71dbf6.tar.bz2 |
libtests/malloctest: Add test case
Diffstat (limited to '')
-rw-r--r-- | testsuites/libtests/malloctest/init.c | 24 |
1 files changed, 24 insertions, 0 deletions
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(); |