mirror of
https://github.com/yuzu-emu/mbedtls
synced 2024-11-24 19:48:20 +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
3 changed files with 42 additions and 41 deletions
|
@ -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