#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 #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 ); }}