mbedtls/tests/suites/main_test.function
Azim Khan 13c6bfbc2a Gaurd test suite headers with suite dependency
Test suite header code was not gaurded with test suite dependency.
But some test suites have additional code in the headers section.
Variables in that section become unused if suite functions are
gaurded. Hence gaurded the headers section.
But this changed cuased missing types in get_expression() function
that was originally accessing types defined through suite headers.
Hence had to gaurd expressions code as well.
Gaurding expressions does not allow parsing the parameters when
some types or hash defs are gaurded. Hence added function
check_test() to check if test is allowed or not before parsing the
parameters.
2018-08-06 11:40:57 +01:00

212 lines
5.1 KiB
Plaintext

#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 )
{{
{expression_code}
#line {line_no} "suites/main_test.function"
{{
return( KEY_VALUE_MAPPING_NOT_FOUND );
}}
return( KEY_VALUE_MAPPING_FOUND );
}}
/**
* \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 )
{{
{dep_check_code}
#line {line_no} "suites/main_test.function"
{{
return( DEPENDENCY_NOT_SUPPORTED );
}}
}}
/**
* \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 );
}}