mbedtls/tests/suites/main_test.function
2018-08-06 11:40:58 +01:00

228 lines
5.3 KiB
Text

#line 2 "suites/main_test.function"
/*
* *** THIS FILE HAS BEEN MACHINE GENERATED ***
*
* This file has been machine generated using the script:
* {generator_script}
*
* Test file : {test_file}
*
* The following files were used to create this file.
*
* Main code file : {test_main_file}
* Platform code file : {test_platform_file}
* Helper file : {test_common_helper_file}
* Test suite file : {test_case_file}
* Test suite data : {test_case_data_file}
*
*
* This file is part of mbed TLS (https://tls.mbed.org)
*/
#if !defined(MBEDTLS_CONFIG_FILE)
#include <mbedtls/config.h>
#else
#include MBEDTLS_CONFIG_FILE
#endif
/*----------------------------------------------------------------------------*/
/* Common helper code */
{test_common_helpers}
#line {line_no} "suites/main_test.function"
/*----------------------------------------------------------------------------*/
/* Test Suite Code */
#define TEST_SUITE_ACTIVE
{functions_code}
#line {line_no} "suites/main_test.function"
/*----------------------------------------------------------------------------*/
/* Test dispatch code */
/**
* \brief Evaluates an expression/macro into its literal integer value.
* For optimizing space for embedded targets each expression/macro
* is identified by a unique identifier instead of string literals.
* Identifiers and evaluation code is generated by script:
* {generator_script}
*
* \param exp_id Expression identifier.
* \param out_value Pointer to int to hold the integer.
*
* \return 0 if exp_id is found. 1 otherwise.
*/
int get_expression( int32_t exp_id, int32_t * out_value )
{{
int ret = KEY_VALUE_MAPPING_FOUND;
(void) exp_id;
(void) out_value;
switch( exp_id )
{{
{expression_code}
#line {line_no} "suites/main_test.function"
default:
{{
ret = KEY_VALUE_MAPPING_NOT_FOUND;
}}
break;
}}
return( ret );
}}
/**
* \brief Checks if the dependency i.e. the compile flag is set.
* For optimizing space for embedded targets each dependency
* is identified by a unique identifier instead of string literals.
* Identifiers and check code is generated by script:
* {generator_script}
*
* \param exp_id Dependency identifier.
*
* \return DEPENDENCY_SUPPORTED if set else DEPENDENCY_NOT_SUPPORTED
*/
int dep_check( int dep_id )
{{
int ret = DEPENDENCY_NOT_SUPPORTED;
(void) dep_id;
switch( dep_id )
{{
{dep_check_code}
#line {line_no} "suites/main_test.function"
default:
break;
}}
return( ret );
}}
/**
* \brief Function pointer type for test function wrappers.
*
*
* \param void ** Pointer to void pointers. Represents an array of test
* function parameters.
*
* \return void
*/
typedef void (*TestWrapper_t)( void ** );
/**
* \brief Table of test function wrappers. Used by dispatch_test().
* This table is populated by script:
* {generator_script}
*
*/
TestWrapper_t test_funcs[] =
{{
{dispatch_code}
#line {line_no} "suites/main_test.function"
}};
/**
* \brief Dispatches test functions based on function index.
*
* \param exp_id Test function index.
*
* \return DISPATCH_TEST_SUCCESS if found
* DISPATCH_TEST_FN_NOT_FOUND if not found
* DISPATCH_UNSUPPORTED_SUITE if not compile time enabled.
*/
int dispatch_test( int func_idx, void ** params )
{{
int ret = DISPATCH_TEST_SUCCESS;
TestWrapper_t fp = NULL;
if ( func_idx < (int)( sizeof(test_funcs)/sizeof( TestWrapper_t ) ) )
{{
fp = test_funcs[func_idx];
if ( fp )
fp( params );
else
ret = ( DISPATCH_UNSUPPORTED_SUITE );
}}
else
{{
ret = ( DISPATCH_TEST_FN_NOT_FOUND );
}}
return( ret );
}}
/**
* \brief Checks if test function is supported
*
* \param exp_id Test function index.
*
* \return DISPATCH_TEST_SUCCESS if found
* DISPATCH_TEST_FN_NOT_FOUND if not found
* DISPATCH_UNSUPPORTED_SUITE if not compile time enabled.
*/
int check_test( int func_idx )
{{
int ret = DISPATCH_TEST_SUCCESS;
TestWrapper_t fp = NULL;
if ( func_idx < (int)( sizeof(test_funcs)/sizeof( TestWrapper_t ) ) )
{{
fp = test_funcs[func_idx];
if ( fp == NULL )
ret = ( DISPATCH_UNSUPPORTED_SUITE );
}}
else
{{
ret = ( DISPATCH_TEST_FN_NOT_FOUND );
}}
return( ret );
}}
{platform_code}
#line {line_no} "suites/main_test.function"
/*----------------------------------------------------------------------------*/
/* Main Test code */
/**
* \brief Program main. Invokes platform specific execute_tests().
*
* \param argc Command line arguments count.
* \param argv Array of command line arguments.
*
* \return Exit code.
*/
int main( int argc, const char *argv[] )
{{
int ret = platform_setup();
if( ret != 0 )
{{
mbedtls_fprintf( stderr,
"FATAL: Failed to initialize platform - error %d\n",
ret );
return( -1 );
}}
ret = execute_tests( argc, argv );
platform_teardown();
return( ret );
}}