* try to import mbedtls and build it * add stubs socket class * some boilterplate, read and write function implemented * more boilterplate / current error in handshake because no CA cert is setup * add something so skip ca verification, can ws curl https://google.com ! * cleanup / close implemented * tweak CMakefiles * typo in include * update readme * disable unittests
		
			
				
	
	
		
			262 lines
		
	
	
		
			6.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			262 lines
		
	
	
		
			6.2 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
 | 
						|
 | 
						|
#if defined(MBEDTLS_USE_PSA_CRYPTO)
 | 
						|
#include "psa/crypto.h"
 | 
						|
#endif /* MBEDTLS_USE_PSA_CRYPTO */
 | 
						|
 | 
						|
/*----------------------------------------------------------------------------*/
 | 
						|
/* 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.failed = 1;
 | 
						|
    }
 | 
						|
 | 
						|
    memset( param_fail_jmp, 0, sizeof(jmp_buf) );
 | 
						|
#else
 | 
						|
    fp( params );
 | 
						|
#endif
 | 
						|
}
 | 
						|
 | 
						|
/**
 | 
						|
 * \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 )
 | 
						|
            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( 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 );
 | 
						|
}
 |