mirror of
				https://github.com/yuzu-emu/mbedtls.git
				synced 2025-11-04 04:24:56 +00:00 
			
		
		
		
	Refactored test suite template code
Restructed test suite helper and main code to support tests suite helper functions, changed C++ comments to C-style, and made the generated source code more navigable.
This commit is contained in:
		
							parent
							
								
									152ea18037
								
							
						
					
					
						commit
						0269dad5e5
					
				| 
						 | 
				
			
			@ -131,7 +131,7 @@ print TEST_FILE << "END";
 | 
			
		|||
 | 
			
		||||
 | 
			
		||||
/*----------------------------------------------------------------------------*/
 | 
			
		||||
/* Common helper functions */
 | 
			
		||||
/* Common helper code */
 | 
			
		||||
 | 
			
		||||
$test_common_helpers
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,3 +1,6 @@
 | 
			
		|||
/*----------------------------------------------------------------------------*/
 | 
			
		||||
/* Headers */
 | 
			
		||||
 | 
			
		||||
#if defined(MBEDTLS_PLATFORM_C)
 | 
			
		||||
#include "mbedtls/platform.h"
 | 
			
		||||
#else
 | 
			
		||||
| 
						 | 
				
			
			@ -12,6 +15,10 @@
 | 
			
		|||
#define mbedtls_snprintf   snprintf
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#if defined(MBEDTLS_MEMORY_BUFFER_ALLOC_C)
 | 
			
		||||
#include "mbedtls/memory_buffer_alloc.h"
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#ifdef _MSC_VER
 | 
			
		||||
#include <basetsd.h>
 | 
			
		||||
typedef UINT32 uint32_t;
 | 
			
		||||
| 
						 | 
				
			
			@ -23,6 +30,25 @@ typedef UINT32 uint32_t;
 | 
			
		|||
#include <stdlib.h>
 | 
			
		||||
#include <string.h>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/*----------------------------------------------------------------------------*/
 | 
			
		||||
/* Global variables */
 | 
			
		||||
 | 
			
		||||
static int test_errors = 0;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/*----------------------------------------------------------------------------*/
 | 
			
		||||
/* Macros */
 | 
			
		||||
 | 
			
		||||
#define TEST_ASSERT( TEST )                         \
 | 
			
		||||
    do {                                            \
 | 
			
		||||
        if( ! (TEST) )                              \
 | 
			
		||||
        {                                           \
 | 
			
		||||
            test_fail( #TEST );                     \
 | 
			
		||||
            goto exit;                              \
 | 
			
		||||
        }                                           \
 | 
			
		||||
    } while( 0 )
 | 
			
		||||
 | 
			
		||||
#define assert(a) if( !( a ) )                                      \
 | 
			
		||||
{                                                                   \
 | 
			
		||||
    mbedtls_fprintf( stderr, "Assertion Failed at %s:%d - %s\n",   \
 | 
			
		||||
| 
						 | 
				
			
			@ -53,11 +79,15 @@ typedef UINT32 uint32_t;
 | 
			
		|||
}
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/*----------------------------------------------------------------------------*/
 | 
			
		||||
/* Helper Functions */
 | 
			
		||||
 | 
			
		||||
static int unhexify( unsigned char *obuf, const char *ibuf )
 | 
			
		||||
{
 | 
			
		||||
    unsigned char c, c2;
 | 
			
		||||
    int len = strlen( ibuf ) / 2;
 | 
			
		||||
    assert( strlen( ibuf ) % 2 == 0 ); // must be even number of bytes
 | 
			
		||||
    assert( strlen( ibuf ) % 2 == 0 ); /* must be even number of bytes */
 | 
			
		||||
 | 
			
		||||
    while( *ibuf != 0 )
 | 
			
		||||
    {
 | 
			
		||||
| 
						 | 
				
			
			@ -298,3 +328,12 @@ static int rnd_pseudo_rand( void *rng_state, unsigned char *output, size_t len )
 | 
			
		|||
 | 
			
		||||
    return( 0 );
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void test_fail( const char *test )
 | 
			
		||||
{
 | 
			
		||||
    test_errors++;
 | 
			
		||||
    if( test_errors == 1 )
 | 
			
		||||
        mbedtls_printf( "FAILED\n" );
 | 
			
		||||
    mbedtls_printf( "  %s\n", test );
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,44 +1,6 @@
 | 
			
		|||
#include <string.h>
 | 
			
		||||
 | 
			
		||||
#if defined(MBEDTLS_PLATFORM_C)
 | 
			
		||||
#include "mbedtls/platform.h"
 | 
			
		||||
#else
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#include <stdlib.h>
 | 
			
		||||
#define mbedtls_exit       exit
 | 
			
		||||
#define mbedtls_free       free
 | 
			
		||||
#define mbedtls_calloc     calloc
 | 
			
		||||
#define mbedtls_fprintf    fprintf
 | 
			
		||||
#define mbedtls_printf     printf
 | 
			
		||||
#define mbedtls_snprintf   snprintf
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#if defined(MBEDTLS_MEMORY_BUFFER_ALLOC_C)
 | 
			
		||||
#include "mbedtls/memory_buffer_alloc.h"
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
static int test_errors = 0;
 | 
			
		||||
 | 
			
		||||
SUITE_PRE_DEP
 | 
			
		||||
#define TEST_SUITE_ACTIVE
 | 
			
		||||
 | 
			
		||||
static void test_fail( const char *test )
 | 
			
		||||
{
 | 
			
		||||
    test_errors++;
 | 
			
		||||
    if( test_errors == 1 )
 | 
			
		||||
        mbedtls_printf( "FAILED\n" );
 | 
			
		||||
    mbedtls_printf( "  %s\n", test );
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#define TEST_ASSERT( TEST )                         \
 | 
			
		||||
    do {                                            \
 | 
			
		||||
        if( ! (TEST) )                              \
 | 
			
		||||
        {                                           \
 | 
			
		||||
            test_fail( #TEST );                     \
 | 
			
		||||
            goto exit;                              \
 | 
			
		||||
        }                                           \
 | 
			
		||||
    } while( 0 )
 | 
			
		||||
 | 
			
		||||
int verify_string( char **str )
 | 
			
		||||
{
 | 
			
		||||
    if( (*str)[0] != '"' ||
 | 
			
		||||
| 
						 | 
				
			
			@ -190,7 +152,7 @@ int parse_arguments( char *buf, size_t len, char *params[50] )
 | 
			
		|||
        p++;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    // Replace newlines, question marks and colons in strings
 | 
			
		||||
    /* Replace newlines, question marks and colons in strings */
 | 
			
		||||
    for( i = 0; i < cnt; i++ )
 | 
			
		||||
    {
 | 
			
		||||
        p = params[i];
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue