123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276 |
- #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
- *
- */
- #if defined(__unix__) || (defined(__APPLE__) && defined(__MACH__))
- #if !defined(_POSIX_C_SOURCE)
- #define _POSIX_C_SOURCE 1 // for fileno() from <stdio.h>
- #endif
- #endif
- /*
- * for arc4random_buf() from <stdlib.h>
- */
- #if defined(__NetBSD__)
- #define _NETBSD_SOURCE 1
- #elif defined(__OpenBSD__)
- #define _BSD_SOURCE 1
- #endif
- #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 Execute the test function.
- *
- * This is a wrapper function around the test function execution
- * to allow the setjmp() call used to catch any calls to the
- * parameter failure callback, to be used. Calls to setjmp()
- * can invalidate the state of any local auto variables.
- *
- * \param fp Function pointer to the test function
- * \param params Parameters to pass
- *
- */
- void execute_function_ptr(TestWrapper_t fp, void **params)
- {
- #if defined(MBEDTLS_CHECK_PARAMS)
- if ( setjmp( param_fail_jmp ) == 0 )
- {
- fp( params );
- }
- else
- {
- /* Unexpected parameter validation error */
- test_info.result = TEST_RESULT_FAILED;
- }
- memset( param_fail_jmp, 0, sizeof(jmp_buf) );
- #else
- fp( params );
- #endif
- #if defined(MBEDTLS_TEST_MUTEX_USAGE)
- mbedtls_test_mutex_usage_check( );
- #endif /* MBEDTLS_TEST_MUTEX_USAGE */
- }
- /**
- * \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( size_t 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 )
- execute_function_ptr(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( size_t 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 );
- }
|