mirror of
				https://github.com/cuberite/polarssl.git
				synced 2025-11-03 20:22:59 -05:00 
			
		
		
		
	
		
			
				
	
	
		
			261 lines
		
	
	
		
			7.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			261 lines
		
	
	
		
			7.0 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
 | 
						|
 *
 | 
						|
 */
 | 
						|
 | 
						|
#if defined(__unix__) || (defined(__APPLE__) && defined(__MACH__))
 | 
						|
#if !defined(_POSIX_C_SOURCE)
 | 
						|
#define _POSIX_C_SOURCE 200112L // for fileno() from <stdio.h>
 | 
						|
#endif
 | 
						|
#endif
 | 
						|
 | 
						|
#include "mbedtls/build_info.h"
 | 
						|
 | 
						|
/* 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        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 )
 | 
						|
        {
 | 
						|
            #if defined(MBEDTLS_PSA_CRYPTO_EXTERNAL_RNG)
 | 
						|
                mbedtls_test_enable_insecure_external_rng( );
 | 
						|
            #endif
 | 
						|
 | 
						|
                fp( params );
 | 
						|
 | 
						|
            #if defined(MBEDTLS_TEST_MUTEX_USAGE)
 | 
						|
                mbedtls_test_mutex_usage_check( );
 | 
						|
            #endif /* MBEDTLS_TEST_MUTEX_USAGE */
 | 
						|
        }
 | 
						|
        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)
 | 
						|
    extern void (*mbedtls_test_hook_test_fail)( const char * test, int line, const char * file );
 | 
						|
    mbedtls_test_hook_test_fail = &mbedtls_test_fail;
 | 
						|
#if defined(MBEDTLS_ERROR_C)
 | 
						|
    mbedtls_test_hook_error_add = &mbedtls_test_err_add_check;
 | 
						|
#endif
 | 
						|
#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 );
 | 
						|
}
 |