123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302 |
- #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 200112L // for fileno() from <stdio.h>
- #endif
- #endif
- #if !defined(MBEDTLS_CONFIG_FILE)
- #include <mbedtls/config.h>
- #else
- #include MBEDTLS_CONFIG_FILE
- #endif
- #if defined(MBEDTLS_USE_PSA_CRYPTO)
- #include "psa/crypto.h"
- #endif /* MBEDTLS_USE_PSA_CRYPTO */
- #if defined(MBEDTLS_TEST_HOOKS)
- #include "mbedtls/error.h"
- #endif
- /* Test code may use deprecated identifiers only if the preprocessor symbol
- * MBEDTLS_TEST_DEPRECATED is defined. When building tests, set
- * MBEDTLS_TEST_DEPRECATED explicitly if MBEDTLS_DEPRECATED_WARNING is
- * enabled but the corresponding warnings are not treated as errors.
- */
- #if !defined(MBEDTLS_DEPRECATED_REMOVED) && !defined(MBEDTLS_DEPRECATED_WARNING)
- #define MBEDTLS_TEST_DEPRECATED
- #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 dep_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.
- *
- * A test function wrapper decodes the parameters and passes them to the
- * underlying test function. Both the wrapper and the underlying function
- * return void. Test wrappers assume that they are passed a suitable
- * parameter array and do not perform any error detection.
- *
- * \param param_array The array of parameters. Each element is a `void *`
- * which the wrapper casts to the correct type and
- * dereferences. Each wrapper function hard-codes the
- * number and types of the parameters.
- */
- typedef void (*TestWrapper_t)( void **param_array );
- /**
- * \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 to the #TestWrapper_t wrapper function.
- *
- */
- void execute_function_ptr(TestWrapper_t fp, void **params)
- {
- #if defined(MBEDTLS_PSA_CRYPTO_EXTERNAL_RNG)
- mbedtls_test_enable_insecure_external_rng( );
- #endif
- #if defined(MBEDTLS_CHECK_PARAMS)
- mbedtls_test_param_failed_location_record_t location_record;
- if ( setjmp( mbedtls_test_param_failed_get_state_buf( ) ) == 0 )
- {
- fp( params );
- }
- else
- {
- /* Unexpected parameter validation error */
- mbedtls_test_param_failed_get_location_record( &location_record );
- mbedtls_test_fail( location_record.failure_condition,
- location_record.line,
- location_record.file );
- }
- mbedtls_test_param_failed_reset_state( );
- #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 func_idx Test function index.
- * \param params The array of parameters to pass to the test function.
- * It will be decoded by the #TestWrapper_t wrapper function.
- *
- * \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 in this build-time
- * configuration.
- *
- * \param func_idx 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[] )
- {
- #if defined(MBEDTLS_TEST_HOOKS) && defined (MBEDTLS_ERROR_C)
- mbedtls_test_hook_error_add = &mbedtls_test_err_add_check;
- #endif
- int ret = mbedtls_test_platform_setup();
- if( ret != 0 )
- {
- mbedtls_fprintf( stderr,
- "FATAL: Failed to initialize platform - error %d\n",
- ret );
- return( -1 );
- }
- ret = execute_tests( argc, argv );
- mbedtls_test_platform_teardown();
- return( ret );
- }
|