Add documentation and minor style changes

Add doxygen style documentation to `mbedtls_test_fail`, `mbedtls_test_skip`,
`mbedtls_test_set_step` and `mbedtls_test_info_reset`. This should make it
easier to understand how the test infrastructure is used.

Also make some minor style changes to meet the coding standards and make it
more obvious that `mbedtls_test_info.step` was being incremented.

Signed-off-by: Chris Jones <christopher.jones@arm.com>
This commit is contained in:
Chris Jones 2021-02-03 12:07:01 +00:00
parent a5ab765832
commit 567e0ad8f1
4 changed files with 33 additions and 8 deletions

View File

@ -70,19 +70,42 @@ extern mbedtls_test_info_t mbedtls_test_info;
int mbedtls_test_platform_setup( void ); int mbedtls_test_platform_setup( void );
void mbedtls_test_platform_teardown( void ); void mbedtls_test_platform_teardown( void );
/**
* \brief Record the given, usually current, test as a failure.
*
* \param test Name of the test to fail.
* \param line_no Line number where the failure originated.
* \param filename Filename where the failure originated.
*/
void mbedtls_test_fail( const char *test, int line_no, const char* filename ); void mbedtls_test_fail( const char *test, int line_no, const char* filename );
/**
* \brief Record the given, usually current, test as skipped.
*
* \param test Name of the test to skip.
* \param line_no Line number where the test skipped.
* \param filename Filename where the test skipped.
*/
void mbedtls_test_skip( 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. /**
* \brief Set the test step number for failure reports.
* *
* Call this function to display "step NNN" in addition to the line number * \note Call this function to display "step NNN" in addition to the
* and file name if a test fails. Typically the "step number" is the index * line number and file name if a test fails. Typically the "step
* of a for loop but it can be whatever you want. * number" is the index of a for loop but it can be whatever you
* want.
* *
* \param step The step number to report. * \param step The step number to report.
*/ */
void mbedtls_test_set_step( unsigned long step ); void mbedtls_test_set_step( unsigned long step );
/**
* \brief Reset mbedtls_test_info to a ready/starting state.
*
* \note Clears the test, line_no, filename, step and result from any
* previously stored values and initialises them ready to be used.
*/
void mbedtls_test_info_reset( void ); void mbedtls_test_info_reset( void );
/** /**

View File

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

View File

@ -384,7 +384,7 @@ int execute_tests( int args, const char ** argv )
while ( 1 ) while ( 1 )
{ {
ret = 0; ret = 0;
mbedtls_test_info_reset(); mbedtls_test_info_reset( );
data_len = 0; data_len = 0;
data = receive_data( &data_len ); data = receive_data( &data_len );

View File

@ -594,6 +594,7 @@ void get_sequence_of( const data_t *input, int tag,
unsigned char *p = input->x; unsigned char *p = input->x;
const char *rest = description; const char *rest = description;
unsigned long n; unsigned long n;
unsigned int step = 0;
TEST_EQUAL( mbedtls_asn1_get_sequence_of( &p, input->x + input->len, TEST_EQUAL( mbedtls_asn1_get_sequence_of( &p, input->x + input->len,
&head, tag ), &head, tag ),
@ -614,7 +615,7 @@ void get_sequence_of( const data_t *input, int tag,
cur = &head; cur = &head;
while( *rest ) while( *rest )
{ {
mbedtls_test_set_step( mbedtls_test_info.step + 1 ); mbedtls_test_set_step( step );
TEST_ASSERT( cur != NULL ); TEST_ASSERT( cur != NULL );
TEST_EQUAL( cur->buf.tag, tag ); TEST_EQUAL( cur->buf.tag, tag );
n = strtoul( rest, (char **) &rest, 0 ); n = strtoul( rest, (char **) &rest, 0 );
@ -625,6 +626,7 @@ void get_sequence_of( const data_t *input, int tag,
if( *rest ) if( *rest )
++rest; ++rest;
cur = cur->next; cur = cur->next;
++step;
} }
TEST_ASSERT( cur == NULL ); TEST_ASSERT( cur == NULL );
} }