Remove direct writing to test_info from *.function

Add a new function `mbedtls_test_info_reset()` to remove direct writes to
`mbedtls_test_info`. This change still allows values to be read directly
however all writes are now done inside of `helpers.c`.

Also slightly reordered code to make it easier to read.

Signed-off-by: Chris Jones <christopher.jones@arm.com>
This commit is contained in:
Chris Jones 2021-02-02 16:20:45 +00:00
parent e60e2aeb74
commit a5ab765832
5 changed files with 20 additions and 12 deletions

View file

@ -71,6 +71,7 @@ int mbedtls_test_platform_setup( void );
void mbedtls_test_platform_teardown( void );
void mbedtls_test_fail( const char *test, int line_no, const char* filename );
void mbedtls_test_skip( const char *test, int line_no, const char* filename );
/** Set the test step number for failure reports.
*
@ -82,7 +83,7 @@ void mbedtls_test_fail( const char *test, int line_no, const char* filename );
*/
void mbedtls_test_set_step( unsigned long step );
void mbedtls_test_skip( const char *test, int line_no, const char* filename );
void mbedtls_test_info_reset( void );
/**
* \brief This function decodes the hexadecimal representation of

View file

@ -93,11 +93,6 @@ void mbedtls_test_fail( const char *test, int line_no, const char* filename )
mbedtls_test_info.filename = filename;
}
void mbedtls_test_set_step( unsigned long step )
{
mbedtls_test_info.step = step;
}
void mbedtls_test_skip( const char *test, int line_no, const char* filename )
{
mbedtls_test_info.result = MBEDTLS_TEST_RESULT_SKIPPED;
@ -106,6 +101,20 @@ void mbedtls_test_skip( const char *test, int line_no, const char* filename )
mbedtls_test_info.filename = filename;
}
void mbedtls_test_set_step( unsigned long step )
{
mbedtls_test_info.step = step;
}
void mbedtls_test_info_reset( void )
{
mbedtls_test_info.result = MBEDTLS_TEST_RESULT_SUCCESS;
mbedtls_test_info.step = (unsigned long)( -1 );
mbedtls_test_info.test = 0;
mbedtls_test_info.line_no = 0;
mbedtls_test_info.filename = 0;
}
int mbedtls_test_unhexify( unsigned char *obuf,
size_t obufmax,
const char *ibuf,

View file

@ -601,7 +601,7 @@ int execute_tests( int argc , const char ** argv )
}
/* Initialize the struct that holds information about the last test */
memset( &mbedtls_test_info, 0, sizeof( mbedtls_test_info ) );
mbedtls_test_info_reset();
/* Now begin to execute the tests in the testfiles */
for ( testfile_index = 0;
@ -683,8 +683,7 @@ int execute_tests( int argc , const char ** argv )
// If there are no unmet dependencies execute the test
if( unmet_dep_count == 0 )
{
mbedtls_test_info.result = MBEDTLS_TEST_RESULT_SUCCESS;
mbedtls_test_info.step = (unsigned long)( -1 );
mbedtls_test_info_reset();
#if defined(__unix__) || (defined(__APPLE__) && defined(__MACH__))
/* Suppress all output from the library unless we're verbose

View file

@ -384,8 +384,7 @@ int execute_tests( int args, const char ** argv )
while ( 1 )
{
ret = 0;
mbedtls_test_info.result = MBEDTLS_TEST_RESULT_SUCCESS;
mbedtls_test_info.step = (unsigned long)( -1 );
mbedtls_test_info_reset();
data_len = 0;
data = receive_data( &data_len );

View file

@ -614,7 +614,7 @@ void get_sequence_of( const data_t *input, int tag,
cur = &head;
while( *rest )
{
++mbedtls_test_info.step;
mbedtls_test_set_step( mbedtls_test_info.step + 1 );
TEST_ASSERT( cur != NULL );
TEST_EQUAL( cur->buf.tag, tag );
n = strtoul( rest, (char **) &rest, 0 );