192 lines
3.6 KiB
C
192 lines
3.6 KiB
C
/***** includes *****/
|
|
#include "internal.h"
|
|
|
|
|
|
|
|
|
|
|
|
/****************************************************************************/
|
|
void internal_display_test_name( char *format_string, ... )
|
|
{
|
|
va_list
|
|
va;
|
|
|
|
assert( format_string != NULL );
|
|
|
|
va_start( va, format_string );
|
|
|
|
vprintf( format_string, va );
|
|
|
|
printf( "..." );
|
|
|
|
va_end( va );
|
|
|
|
fflush( stdout );
|
|
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/****************************************************************************/
|
|
void internal_display_test_result( lfds700_pal_uint_t number_name_dvs_pairs, ... )
|
|
{
|
|
char
|
|
*name;
|
|
|
|
enum flag
|
|
passed_flag = RAISED;
|
|
|
|
enum lfds700_misc_validity
|
|
dvs;
|
|
|
|
lfds700_pal_uint_t
|
|
loop;
|
|
|
|
va_list
|
|
va;
|
|
|
|
// TRD : number_name_dvs_pairs can be any value in its range
|
|
|
|
va_start( va, number_name_dvs_pairs );
|
|
|
|
for( loop = 0 ; loop < number_name_dvs_pairs ; loop++ )
|
|
{
|
|
name = va_arg( va, char * );
|
|
dvs = va_arg( va, enum lfds700_misc_validity );
|
|
|
|
if( dvs != LFDS700_MISC_VALIDITY_VALID )
|
|
{
|
|
passed_flag = LOWERED;
|
|
break;
|
|
}
|
|
}
|
|
|
|
va_end( va );
|
|
|
|
if( passed_flag == RAISED )
|
|
puts( "passed" );
|
|
|
|
if( passed_flag == LOWERED )
|
|
{
|
|
printf( "failed (" );
|
|
|
|
va_start( va, number_name_dvs_pairs );
|
|
|
|
for( loop = 0 ; loop < number_name_dvs_pairs ; loop++ )
|
|
{
|
|
name = va_arg( va, char * );
|
|
dvs = va_arg( va, enum lfds700_misc_validity );
|
|
|
|
printf( "%s ", name );
|
|
internal_display_data_structure_validity( dvs );
|
|
|
|
if( loop+1 < number_name_dvs_pairs )
|
|
printf( ", " );
|
|
}
|
|
|
|
va_end( va );
|
|
|
|
printf( ")\n" );
|
|
|
|
/* TRD : quick hack
|
|
the whole test programme needs rewriting
|
|
and for now I just want to make it so we
|
|
exit with failure upon any test failing
|
|
*/
|
|
|
|
exit( EXIT_FAILURE );
|
|
}
|
|
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/****************************************************************************/
|
|
void internal_display_data_structure_validity( enum lfds700_misc_validity dvs )
|
|
{
|
|
char
|
|
*string = NULL;
|
|
|
|
switch( dvs )
|
|
{
|
|
case LFDS700_MISC_VALIDITY_VALID:
|
|
string = "valid";
|
|
break;
|
|
|
|
case LFDS700_MISC_VALIDITY_INVALID_LOOP:
|
|
string = "invalid - loop detected";
|
|
break;
|
|
|
|
case LFDS700_MISC_VALIDITY_INVALID_ORDER:
|
|
string = "invalid - invalid order detected";
|
|
break;
|
|
|
|
case LFDS700_MISC_VALIDITY_INVALID_MISSING_ELEMENTS:
|
|
string = "invalid - missing elements";
|
|
break;
|
|
|
|
case LFDS700_MISC_VALIDITY_INVALID_ADDITIONAL_ELEMENTS:
|
|
string = "invalid - additional elements";
|
|
break;
|
|
|
|
case LFDS700_MISC_VALIDITY_INVALID_TEST_DATA:
|
|
string = "invalid - invalid test data";
|
|
break;
|
|
}
|
|
|
|
printf( "%s", string );
|
|
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/****************************************************************************/
|
|
void internal_show_version()
|
|
{
|
|
char const
|
|
*version_and_build_string;
|
|
|
|
printf( "test %s (%s, %s) (" __DATE__ " " __TIME__ ")\n", LFDS700_TEST_VERSION_STRING, BUILD_TYPE_STRING, MODE_TYPE_STRING );
|
|
|
|
lfds700_misc_query( LFDS700_MISC_QUERY_GET_BUILD_AND_VERSION_STRING, NULL, (void **) &version_and_build_string );
|
|
|
|
printf( "%s\n", version_and_build_string );
|
|
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/****************************************************************************/
|
|
#pragma warning( disable : 4100 )
|
|
|
|
void internal_logical_core_id_element_cleanup_callback( struct lfds700_list_asu_state *lasus, struct lfds700_list_asu_element *lasue )
|
|
{
|
|
struct test_pal_logical_processor
|
|
*lp;
|
|
|
|
assert( lasus != NULL );
|
|
assert( lasue != NULL );
|
|
|
|
lp = LFDS700_LIST_ASU_GET_VALUE_FROM_ELEMENT( *lasue );
|
|
|
|
util_aligned_free( lp );
|
|
|
|
return;
|
|
}
|
|
|
|
#pragma warning( default : 4100 )
|
|
|
|
|