forked from Imagelibrary/rtems
libtests/malloc04: Fixes for RTEMS_DEBUG
This commit is contained in:
@@ -40,7 +40,7 @@ void *rtems_heap_null_extend(
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
char Malloc_Heap[ 256 ] CPU_STRUCTURE_ALIGNMENT;
|
char Malloc_Heap[ 512 ] CPU_STRUCTURE_ALIGNMENT;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Use volatile to prevent compiler optimizations due to the malloc() builtin.
|
* Use volatile to prevent compiler optimizations due to the malloc() builtin.
|
||||||
@@ -88,23 +88,23 @@ rtems_task Init(
|
|||||||
puts( "No sbrk() amount" );
|
puts( "No sbrk() amount" );
|
||||||
|
|
||||||
sbrk_count = 0;
|
sbrk_count = 0;
|
||||||
offset = 64;
|
offset = 128;
|
||||||
area.begin = &Malloc_Heap [0];
|
area.begin = &Malloc_Heap [0];
|
||||||
area.size = offset;
|
area.size = offset;
|
||||||
RTEMS_Malloc_Initialize( &area, 1, NULL );
|
RTEMS_Malloc_Initialize( &area, 1, NULL );
|
||||||
|
|
||||||
errno = 0;
|
errno = 0;
|
||||||
p = malloc(64);
|
p = malloc( 128 );
|
||||||
rtems_test_assert( p == NULL );
|
rtems_test_assert( p == NULL );
|
||||||
rtems_test_assert( errno == ENOMEM );
|
rtems_test_assert( errno == ENOMEM );
|
||||||
rtems_test_assert( sbrk_count == 0 );
|
rtems_test_assert( sbrk_count == 0 );
|
||||||
|
|
||||||
rtems_heap_set_sbrk_amount( 64 );
|
rtems_heap_set_sbrk_amount( 128 );
|
||||||
|
|
||||||
puts( "Misaligned extend" );
|
puts( "Misaligned extend" );
|
||||||
|
|
||||||
sbrk_count = 0;
|
sbrk_count = 0;
|
||||||
offset = 64;
|
offset = 128;
|
||||||
area.begin = &Malloc_Heap [0];
|
area.begin = &Malloc_Heap [0];
|
||||||
area.size = offset;
|
area.size = offset;
|
||||||
RTEMS_Malloc_Initialize( &area, 1, NULL );
|
RTEMS_Malloc_Initialize( &area, 1, NULL );
|
||||||
@@ -113,14 +113,14 @@ rtems_task Init(
|
|||||||
rtems_test_assert( p != NULL );
|
rtems_test_assert( p != NULL );
|
||||||
rtems_test_assert( sbrk_count == 0 );
|
rtems_test_assert( sbrk_count == 0 );
|
||||||
|
|
||||||
p = malloc(65);
|
p = malloc(129);
|
||||||
rtems_test_assert( p != NULL );
|
rtems_test_assert( p != NULL );
|
||||||
rtems_test_assert( sbrk_count == 1 );
|
rtems_test_assert( sbrk_count == 1 );
|
||||||
|
|
||||||
puts( "Not enough sbrk() space" );
|
puts( "Not enough sbrk() space" );
|
||||||
|
|
||||||
sbrk_count = 0;
|
sbrk_count = 0;
|
||||||
offset = 64;
|
offset = 128;
|
||||||
area.begin = &Malloc_Heap [0];
|
area.begin = &Malloc_Heap [0];
|
||||||
area.size = offset;
|
area.size = offset;
|
||||||
RTEMS_Malloc_Initialize( &area, 1, NULL );
|
RTEMS_Malloc_Initialize( &area, 1, NULL );
|
||||||
@@ -134,29 +134,29 @@ rtems_task Init(
|
|||||||
puts( "Valid heap extend" );
|
puts( "Valid heap extend" );
|
||||||
|
|
||||||
sbrk_count = 0;
|
sbrk_count = 0;
|
||||||
offset = 64;
|
offset = 128;
|
||||||
area.begin = &Malloc_Heap [0];
|
area.begin = &Malloc_Heap [0];
|
||||||
area.size = offset;
|
area.size = offset;
|
||||||
RTEMS_Malloc_Initialize( &area, 1, NULL );
|
RTEMS_Malloc_Initialize( &area, 1, NULL );
|
||||||
|
|
||||||
p = malloc(32);
|
p = malloc( 64 );
|
||||||
rtems_test_assert( p != NULL );
|
rtems_test_assert( p != NULL );
|
||||||
rtems_test_assert( sbrk_count == 0 );
|
rtems_test_assert( sbrk_count == 0 );
|
||||||
|
|
||||||
p = malloc(32);
|
p = malloc( 64 );
|
||||||
rtems_test_assert( p != NULL );
|
rtems_test_assert( p != NULL );
|
||||||
rtems_test_assert( sbrk_count == 1 );
|
rtems_test_assert( sbrk_count == 1 );
|
||||||
|
|
||||||
puts( "Invalid heap extend" );
|
puts( "Invalid heap extend" );
|
||||||
|
|
||||||
sbrk_count = -1;
|
sbrk_count = -1;
|
||||||
offset = 64;
|
offset = 128;
|
||||||
area.begin = &Malloc_Heap [0];
|
area.begin = &Malloc_Heap [0];
|
||||||
area.size = offset;
|
area.size = offset;
|
||||||
RTEMS_Malloc_Initialize( &area, 1, NULL );
|
RTEMS_Malloc_Initialize( &area, 1, NULL );
|
||||||
|
|
||||||
errno = 0;
|
errno = 0;
|
||||||
p = malloc( 64 );
|
p = malloc( 128 );
|
||||||
rtems_test_assert( p == NULL );
|
rtems_test_assert( p == NULL );
|
||||||
rtems_test_assert( errno == ENOMEM );
|
rtems_test_assert( errno == ENOMEM );
|
||||||
rtems_test_assert( sbrk_count == 2 );
|
rtems_test_assert( sbrk_count == 2 );
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
*** TEST MALLOC 04 ***
|
*** TEST MALLOC 04 ***
|
||||||
No sbrk() amount
|
No sbrk() amount
|
||||||
Misaligned extend
|
Misaligned extend
|
||||||
sbrk(128)
|
|
||||||
Not enough sbrk() space
|
|
||||||
sbrk(256)
|
sbrk(256)
|
||||||
|
Not enough sbrk() space
|
||||||
|
sbrk(512)
|
||||||
Valid heap extend
|
Valid heap extend
|
||||||
sbrk(64)
|
sbrk(128)
|
||||||
Invalid heap extend
|
Invalid heap extend
|
||||||
sbrk(64)
|
sbrk(128)
|
||||||
sbrk(-64)
|
sbrk(-128)
|
||||||
*** END OF TEST MALLOC 04 ***
|
*** END OF TEST MALLOC 04 ***
|
||||||
|
|||||||
Reference in New Issue
Block a user