summaryrefslogtreecommitdiffstats
path: root/testsuites
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2012-12-22 16:28:26 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2012-12-22 16:28:26 +0100
commitd8efe3dc71d881ccf99bde5d803778286b71dbf6 (patch)
tree41276da06918f6c334a5e8999fb2980d725f8863 /testsuites
parentIMFS: Documentation (diff)
downloadrtems-d8efe3dc71d881ccf99bde5d803778286b71dbf6.tar.bz2
libtests/malloctest: Add test case
Diffstat (limited to 'testsuites')
-rw-r--r--testsuites/libtests/malloctest/init.c24
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();