Files
openairinterface5g/openair2/UTIL/LFDS/liblfds6.1.1/test/src/main.c
T
Lionel Gauthier 059a0a3fdc astyle --recursive --indent=spaces=2 --style=kr --indent-col1-comments --break-blocks --convert-tabs --max-code-length=200
This is done for better merging branch/LG_PRE_RELEASE_0.3 into trunk (same process is applied on this branch)

git-svn-id: http://svn.eurecom.fr/openair4G/trunk@7073 818b1a75-f10b-46b9-bf7c-635c3b92a50f
2015-04-09 09:29:12 +00:00

84 lines
1.9 KiB
C

#include "internal.h"
/****************************************************************************/
int main( int argc, char **argv )
{
enum lfds611_test_operation
operation = UNKNOWN;
unsigned int
loop,
iterations = 1;
assert( argc >= 1 );
assert( argv != NULL );
if( argc == 1 or argc >= 4 )
operation = HELP;
if( operation == UNKNOWN ) {
if( 0 == strcmp(*(argv+1), "test") ) {
operation = TEST;
// TRD : sscanf() may fail, but iterations is initialised to 1, so it's okay
if( argc == 3 )
sscanf( *(argv+2), "%u", &iterations );
}
if( 0 == strcmp(*(argv+1), "benchmark") ) {
operation = BENCHMARK;
// TRD : sscanf() may fail, but iterations is initialised to 1, so it's okay
if( argc == 3 )
sscanf( *(argv+2), "%u", &iterations );
}
}
switch( operation ) {
case UNKNOWN:
case HELP:
printf( "test [test|benchmark] [iterations]\n"
" test : run the test suite\n"
" benchmark : run the benchmark suite\n"
" iterations : optional, default is 1\n" );
break;
case TEST:
for( loop = 1 ; loop < iterations+1 ; loop++ ) {
printf( "\n"
"Test Iteration %02u\n"
"=================\n", loop );
test_lfds611_abstraction();
test_lfds611_freelist();
test_lfds611_queue();
test_lfds611_ringbuffer();
test_lfds611_slist();
test_lfds611_stack();
}
break;
case BENCHMARK:
for( loop = 1 ; loop < iterations+1 ; loop++ ) {
printf( "\n"
"Benchmark Iteration %02u\n"
"========================\n", loop );
benchmark_lfds611_freelist();
benchmark_lfds611_queue();
benchmark_lfds611_ringbuffer();
benchmark_lfds611_stack();
}
break;
}
return( EXIT_SUCCESS );
}