1
0
mirror of https://github.com/Mbed-TLS/mbedtls.git synced 2025-07-29 11:41:15 +03:00

Ensure failed test_suite output is sent to stdout

The change modifies the template code in tests/suites/helpers.function
and tests/suites/main.function so that error messages are printed to
stdout instead of being discarded. This makes errors visible regardless
of the --verbose flag being passed or not to the test suite programs.
This commit is contained in:
Andres Amaya Garcia
2017-10-01 16:42:29 +01:00
committed by Simon Butcher
parent 67d8da522f
commit 3f50f511de
2 changed files with 32 additions and 11 deletions

View File

@ -339,6 +339,9 @@ int main(int argc, const char *argv[])
testfile_count = 1;
}
/* Initialize the struct that holds information about the last test */
memset( &test_info, 0, sizeof( test_info ) );
/* Now begin to execute the tests in the testfiles */
for ( testfile_index = 0;
testfile_index < testfile_count;
@ -369,7 +372,7 @@ int main(int argc, const char *argv[])
if( ( ret = get_line( file, buf, sizeof(buf) ) ) != 0 )
break;
mbedtls_fprintf( stdout, "%s%.66s", test_errors ? "\n" : "", buf );
mbedtls_fprintf( stdout, "%s%.66s", test_info.failed ? "\n" : "", buf );
mbedtls_fprintf( stdout, " " );
for( i = strlen( buf ) + 1; i < 67; i++ )
mbedtls_fprintf( stdout, "." );
@ -409,11 +412,11 @@ int main(int argc, const char *argv[])
break;
cnt = parse_arguments( buf, strlen(buf), params );
}
// If there are no unmet dependencies execute the test
if( unmet_dep_count == 0 )
{
test_errors = 0;
test_info.failed = 0;
#if defined(__unix__) || (defined(__APPLE__) && defined(__MACH__))
/* Suppress all output from the library unless we're verbose
@ -467,9 +470,20 @@ int main(int argc, const char *argv[])
unmet_dep_count = 0;
}
else if( ret == DISPATCH_TEST_SUCCESS && test_errors == 0 )
else if( ret == DISPATCH_TEST_SUCCESS )
{
mbedtls_fprintf( stdout, "PASS\n" );
if( test_info.failed == 0 )
{
mbedtls_fprintf( stdout, "PASS\n" );
}
else
{
total_errors++;
mbedtls_fprintf( stdout, "FAILED\n" );
mbedtls_fprintf( stdout, " %s\n at line %d, %s\n",
test_info.test, test_info.line_no,
test_info.filename );
}
fflush( stdout );
}
else if( ret == DISPATCH_INVALID_TEST_DATA )