If ASSERT_ALLOC_WEAK fails, mark the test as skipped, not passed

This was the intended behavior of ASSERT_ALLOC_WEAK all along, but
skipping was not implemented yet when ASSERT_ALLOC_WEAK was
introduced.
This commit is contained in:
Gilles Peskine 2020-01-21 16:20:04 +01:00
parent 42a1acfd0e
commit 292672eb12

View File

@ -158,11 +158,10 @@ typedef enum
} \
while( 0 )
/** Allocate memory dynamically. Exit the test if this fails, but do
* not mark the test as failed.
/** Allocate memory dynamically. If the allocation fails, skip the test case.
*
* This macro behaves like #ASSERT_ALLOC, except that if the allocation
* fails, it jumps to the \c exit label without calling test_fail().
* fails, it marks the test as skipped rather than failed.
*/
#define ASSERT_ALLOC_WEAK( pointer, length ) \
do \
@ -172,8 +171,7 @@ typedef enum
{ \
( pointer ) = mbedtls_calloc( sizeof( *( pointer ) ), \
( length ) ); \
if( ( pointer ) == NULL ) \
goto exit; \
TEST_ASSUME( ( pointer ) != NULL ); \
} \
} \
while( 0 )