mirror of
https://github.com/yuzu-emu/mbedtls.git
synced 2024-11-30 02:44:20 +01:00
selftest: allow running a subset of the tests
If given command line arguments, interpret them as test names and only run those tests.
This commit is contained in:
parent
6d51b63316
commit
edede44d97
@ -14,6 +14,8 @@ Security
|
|||||||
|
|
||||||
Features
|
Features
|
||||||
* Allow comments in test data files.
|
* Allow comments in test data files.
|
||||||
|
* The selftest program can execute a subset of the tests based on command
|
||||||
|
line arguments.
|
||||||
|
|
||||||
Bugfix
|
Bugfix
|
||||||
* Fix ssl_parse_record_header() to silently discard invalid DTLS records
|
* Fix ssl_parse_record_header() to silently discard invalid DTLS records
|
||||||
|
@ -208,9 +208,10 @@ int main( int argc, char *argv[] )
|
|||||||
#if defined(MBEDTLS_SELF_TEST)
|
#if defined(MBEDTLS_SELF_TEST)
|
||||||
const selftest_t *test;
|
const selftest_t *test;
|
||||||
#endif /* MBEDTLS_SELF_TEST */
|
#endif /* MBEDTLS_SELF_TEST */
|
||||||
|
char **argp = argc >= 1 ? argv + 1 : argv;
|
||||||
int v;
|
int v;
|
||||||
int suites_tested = 0, suites_failed = 0;
|
int suites_tested = 0, suites_failed = 0;
|
||||||
#if defined(MBEDTLS_MEMORY_BUFFER_ALLOC_C)
|
#if defined(MBEDTLS_MEMORY_BUFFER_ALLOC_C) && defined(MBEDTLS_SELF_TEST)
|
||||||
unsigned char buf[1000000];
|
unsigned char buf[1000000];
|
||||||
#endif
|
#endif
|
||||||
void *pointer;
|
void *pointer;
|
||||||
@ -236,8 +237,13 @@ int main( int argc, char *argv[] )
|
|||||||
return( EXIT_FAILURE );
|
return( EXIT_FAILURE );
|
||||||
}
|
}
|
||||||
|
|
||||||
if( argc == 2 && strcmp( argv[1], "-quiet" ) == 0 )
|
if( argc >= 2 && ( strcmp( argv[1], "--quiet" ) == 0 ||
|
||||||
|
strcmp( argv[1], "-quiet" ) == 0 ||
|
||||||
|
strcmp( argv[1], "-q" ) == 0 ) )
|
||||||
|
{
|
||||||
v = 0;
|
v = 0;
|
||||||
|
++argp;
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
v = 1;
|
v = 1;
|
||||||
@ -250,6 +256,33 @@ int main( int argc, char *argv[] )
|
|||||||
mbedtls_memory_buffer_alloc_init( buf, sizeof(buf) );
|
mbedtls_memory_buffer_alloc_init( buf, sizeof(buf) );
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
if( *argp != NULL )
|
||||||
|
{
|
||||||
|
/* Run the specified tests */
|
||||||
|
for( ; *argp != NULL; argp++ )
|
||||||
|
{
|
||||||
|
for( test = selftests; test->name != NULL; test++ )
|
||||||
|
{
|
||||||
|
if( !strcmp( *argp, test->name ) )
|
||||||
|
{
|
||||||
|
if( test->function( v ) != 0 )
|
||||||
|
{
|
||||||
|
suites_failed++;
|
||||||
|
}
|
||||||
|
suites_tested++;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if( test->name == NULL )
|
||||||
|
{
|
||||||
|
mbedtls_printf( " Test suite %s not available -> failed\n\n", *argp );
|
||||||
|
suites_failed++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
/* Run all the tests */
|
||||||
for( test = selftests; test->name != NULL; test++ )
|
for( test = selftests; test->name != NULL; test++ )
|
||||||
{
|
{
|
||||||
if( test->function( v ) != 0 )
|
if( test->function( v ) != 0 )
|
||||||
@ -258,6 +291,7 @@ int main( int argc, char *argv[] )
|
|||||||
}
|
}
|
||||||
suites_tested++;
|
suites_tested++;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#else
|
#else
|
||||||
mbedtls_printf( " MBEDTLS_SELF_TEST not defined.\n" );
|
mbedtls_printf( " MBEDTLS_SELF_TEST not defined.\n" );
|
||||||
|
Loading…
Reference in New Issue
Block a user