diff options
Diffstat (limited to 'externals/mbedtls/tests/suites/test_suite_memory_buffer_alloc.function')
| -rw-r--r-- | externals/mbedtls/tests/suites/test_suite_memory_buffer_alloc.function | 279 |
1 files changed, 0 insertions, 279 deletions
diff --git a/externals/mbedtls/tests/suites/test_suite_memory_buffer_alloc.function b/externals/mbedtls/tests/suites/test_suite_memory_buffer_alloc.function deleted file mode 100644 index cc884c28e5..0000000000 --- a/externals/mbedtls/tests/suites/test_suite_memory_buffer_alloc.function +++ /dev/null @@ -1,279 +0,0 @@ -/* BEGIN_HEADER */ -#include "mbedtls/memory_buffer_alloc.h" -#define TEST_SUITE_MEMORY_BUFFER_ALLOC - -/* END_HEADER */ - -/* BEGIN_DEPENDENCIES - * depends_on:MBEDTLS_MEMORY_BUFFER_ALLOC_C - * END_DEPENDENCIES - */ - -/* BEGIN_SUITE_HELPERS */ -static int check_pointer( void *p ) -{ - if( p == NULL ) - return( -1 ); - - if( (size_t) p % MBEDTLS_MEMORY_ALIGN_MULTIPLE != 0 ) - return( -1 ); - - return( 0 ); -} -/* END_SUITE_HELPERS */ - -/* BEGIN_CASE depends_on:MBEDTLS_SELF_TEST */ -void mbedtls_memory_buffer_alloc_self_test( ) -{ - TEST_ASSERT( mbedtls_memory_buffer_alloc_self_test( 1 ) == 0 ); -} -/* END_CASE */ - -/* BEGIN_CASE */ -void memory_buffer_alloc_free_alloc( int a_bytes, int b_bytes, int c_bytes, - int d_bytes, int free_a, int free_b, - int free_c, int free_d, int e_bytes, - int f_bytes ) -{ - unsigned char buf[1024]; - unsigned char *ptr_a = NULL, *ptr_b = NULL, *ptr_c = NULL, *ptr_d = NULL, - *ptr_e = NULL, *ptr_f = NULL; - -#if defined(MBEDTLS_MEMORY_DEBUG) - size_t reported_blocks; - size_t reported_bytes; -#endif - size_t allocated_bytes = 0; - - mbedtls_memory_buffer_alloc_init( buf, sizeof( buf ) ); - - mbedtls_memory_buffer_set_verify( MBEDTLS_MEMORY_VERIFY_ALWAYS ); - - if( a_bytes > 0 ) - { - ptr_a = mbedtls_calloc( a_bytes, sizeof(char) ); - TEST_ASSERT( check_pointer( ptr_a ) == 0 ); - - allocated_bytes += a_bytes * sizeof(char); - } - - if( b_bytes > 0 ) - { - ptr_b = mbedtls_calloc( b_bytes, sizeof(char) ); - TEST_ASSERT( check_pointer( ptr_b ) == 0 ); - - allocated_bytes += b_bytes * sizeof(char); - } - - if( c_bytes > 0 ) - { - ptr_c = mbedtls_calloc( c_bytes, sizeof(char) ); - TEST_ASSERT( check_pointer( ptr_c ) == 0 ); - - allocated_bytes += c_bytes * sizeof(char); - } - - if( d_bytes > 0 ) - { - ptr_d = mbedtls_calloc( d_bytes, sizeof(char) ); - TEST_ASSERT( check_pointer( ptr_d ) == 0 ); - - allocated_bytes += d_bytes * sizeof(char); - } - -#if defined(MBEDTLS_MEMORY_DEBUG) - mbedtls_memory_buffer_alloc_cur_get( &reported_bytes, &reported_blocks ); - TEST_ASSERT( reported_bytes == allocated_bytes ); -#endif - - if( free_a ) - { - mbedtls_free( ptr_a ); - ptr_a = NULL; - TEST_ASSERT( mbedtls_memory_buffer_alloc_verify() == 0 ); - - allocated_bytes -= a_bytes * sizeof(char); - } - - if( free_b ) - { - mbedtls_free( ptr_b ); - ptr_b = NULL; - TEST_ASSERT( mbedtls_memory_buffer_alloc_verify() == 0 ); - - allocated_bytes -= b_bytes * sizeof(char); - } - - if( free_c ) - { - mbedtls_free( ptr_c ); - ptr_c = NULL; - TEST_ASSERT( mbedtls_memory_buffer_alloc_verify() == 0 ); - - allocated_bytes -= c_bytes * sizeof(char); - } - - if( free_d ) - { - mbedtls_free( ptr_d ); - ptr_d = NULL; - TEST_ASSERT( mbedtls_memory_buffer_alloc_verify() == 0 ); - - allocated_bytes -= d_bytes * sizeof(char); - } - -#if defined(MBEDTLS_MEMORY_DEBUG) - mbedtls_memory_buffer_alloc_cur_get( &reported_bytes, &reported_blocks ); - TEST_ASSERT( reported_bytes == allocated_bytes ); -#endif - - if( e_bytes > 0 ) - { - ptr_e = mbedtls_calloc( e_bytes, sizeof(char) ); - TEST_ASSERT( check_pointer( ptr_e ) == 0 ); - } - - if( f_bytes > 0 ) - { - ptr_f = mbedtls_calloc( f_bytes, sizeof(char) ); - TEST_ASSERT( check_pointer( ptr_f ) == 0 ); - } - - /* Once blocks are reallocated, the block allocated to the memory request - * may be bigger than the request itself, which is indicated by the reported - * bytes, and makes it hard to know what the reported size will be, so - * we don't check the size after blocks have been reallocated. */ - - if( ptr_a != NULL ) - { - mbedtls_free( ptr_a ); - ptr_a = NULL; - TEST_ASSERT( mbedtls_memory_buffer_alloc_verify() == 0 ); - } - - if( ptr_b != NULL ) - { - mbedtls_free( ptr_b ); - ptr_b = NULL; - TEST_ASSERT( mbedtls_memory_buffer_alloc_verify() == 0 ); - } - - if( ptr_c != NULL ) - { - mbedtls_free( ptr_c ); - ptr_c = NULL; - TEST_ASSERT( mbedtls_memory_buffer_alloc_verify() == 0 ); - } - - if( ptr_d != NULL ) - { - mbedtls_free( ptr_d ); - ptr_d = NULL; - TEST_ASSERT( mbedtls_memory_buffer_alloc_verify() == 0 ); - } - - if( ptr_e != NULL ) - { - mbedtls_free( ptr_e ); - ptr_e = NULL; - TEST_ASSERT( mbedtls_memory_buffer_alloc_verify() == 0 ); - } - - if( ptr_f != NULL ) - { - mbedtls_free( ptr_f ); - ptr_f = NULL; - } - -#if defined(MBEDTLS_MEMORY_DEBUG) - mbedtls_memory_buffer_alloc_cur_get( &reported_bytes, &reported_blocks ); - TEST_ASSERT( reported_bytes == 0 ); -#endif - - TEST_ASSERT( mbedtls_memory_buffer_alloc_verify() == 0 ); - -exit: - mbedtls_memory_buffer_alloc_free( ); -} -/* END_CASE */ - -/* BEGIN_CASE */ -void memory_buffer_alloc_oom_test( ) -{ - unsigned char buf[1024]; - unsigned char *ptr_a = NULL, *ptr_b = NULL, *ptr_c = NULL; -#if defined(MBEDTLS_MEMORY_DEBUG) - size_t reported_blocks, reported_bytes; -#endif - - (void)ptr_c; - - mbedtls_memory_buffer_alloc_init( buf, sizeof( buf ) ); - - mbedtls_memory_buffer_set_verify( MBEDTLS_MEMORY_VERIFY_ALWAYS ); - - ptr_a = mbedtls_calloc( 432, sizeof(char) ); - TEST_ASSERT( check_pointer( ptr_a ) == 0 ); - - ptr_b = mbedtls_calloc( 432, sizeof(char) ); - TEST_ASSERT( check_pointer( ptr_b ) == 0 ); - - ptr_c = mbedtls_calloc( 431, sizeof(char) ); - TEST_ASSERT( ptr_c == NULL ); - -#if defined(MBEDTLS_MEMORY_DEBUG) - mbedtls_memory_buffer_alloc_cur_get( &reported_bytes, &reported_blocks ); - TEST_ASSERT( reported_bytes >= 864 && reported_bytes <= sizeof(buf) ); -#endif - - mbedtls_free( ptr_a ); - ptr_a = NULL; - TEST_ASSERT( mbedtls_memory_buffer_alloc_verify() == 0 ); - - mbedtls_free( ptr_b ); - ptr_b = NULL; - TEST_ASSERT( mbedtls_memory_buffer_alloc_verify() == 0 ); - -#if defined(MBEDTLS_MEMORY_DEBUG) - mbedtls_memory_buffer_alloc_cur_get( &reported_bytes, &reported_blocks ); - TEST_ASSERT( reported_bytes == 0 ); -#endif - - TEST_ASSERT( mbedtls_memory_buffer_alloc_verify() == 0 ); - -exit: - mbedtls_memory_buffer_alloc_free( ); -} -/* END_CASE */ - -/* BEGIN_CASE */ -void memory_buffer_heap_too_small( ) -{ - unsigned char buf[1]; - - mbedtls_memory_buffer_alloc_init( buf, sizeof( buf ) ); - /* With MBEDTLS_MEMORY_DEBUG enabled, this prints a message - * "FATAL: verification of first header failed". - */ - TEST_ASSERT( mbedtls_memory_buffer_alloc_verify() != 0 ); -} -/* END_CASE */ - -/* BEGIN_CASE */ -void memory_buffer_underalloc( ) -{ - unsigned char buf[100]; - size_t i; - - mbedtls_memory_buffer_alloc_init( buf, sizeof( buf ) ); - for( i = 1; i < MBEDTLS_MEMORY_ALIGN_MULTIPLE; i++ ) - { - TEST_ASSERT( mbedtls_calloc( 1, - (size_t)-( MBEDTLS_MEMORY_ALIGN_MULTIPLE - i ) ) == NULL ); - TEST_ASSERT( mbedtls_memory_buffer_alloc_verify() == 0 ); - } - -exit: - mbedtls_memory_buffer_alloc_free(); -} -/* END_CASE */ |
