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:
SimonB 2016-02-17 23:34:30 +00:00 committed by Simon Butcher
parent 16177a4033
commit 32ff13ae3d
3 changed files with 42 additions and 41 deletions

View file

@ -131,7 +131,7 @@ print TEST_FILE << "END";
/*----------------------------------------------------------------------------*/ /*----------------------------------------------------------------------------*/
/* Common helper functions */ /* Common helper code */
$test_common_helpers $test_common_helpers

View file

@ -1,3 +1,6 @@
/*----------------------------------------------------------------------------*/
/* Headers */
#if defined(MBEDTLS_PLATFORM_C) #if defined(MBEDTLS_PLATFORM_C)
#include "mbedtls/platform.h" #include "mbedtls/platform.h"
#else #else
@ -12,6 +15,10 @@
#define mbedtls_snprintf snprintf #define mbedtls_snprintf snprintf
#endif #endif
#if defined(MBEDTLS_MEMORY_BUFFER_ALLOC_C)
#include "mbedtls/memory_buffer_alloc.h"
#endif
#ifdef _MSC_VER #ifdef _MSC_VER
#include <basetsd.h> #include <basetsd.h>
typedef UINT32 uint32_t; typedef UINT32 uint32_t;
@ -23,6 +30,25 @@ typedef UINT32 uint32_t;
#include <stdlib.h> #include <stdlib.h>
#include <string.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 ) ) \ #define assert(a) if( !( a ) ) \
{ \ { \
mbedtls_fprintf( stderr, "Assertion Failed at %s:%d - %s\n", \ mbedtls_fprintf( stderr, "Assertion Failed at %s:%d - %s\n", \
@ -53,11 +79,15 @@ typedef UINT32 uint32_t;
} }
#endif #endif
/*----------------------------------------------------------------------------*/
/* Helper Functions */
static int unhexify( unsigned char *obuf, const char *ibuf ) static int unhexify( unsigned char *obuf, const char *ibuf )
{ {
unsigned char c, c2; unsigned char c, c2;
int len = strlen( ibuf ) / 2; 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 ) while( *ibuf != 0 )
{ {
@ -298,3 +328,12 @@ static int rnd_pseudo_rand( void *rng_state, unsigned char *output, size_t len )
return( 0 ); return( 0 );
} }
static void test_fail( const char *test )
{
test_errors++;
if( test_errors == 1 )
mbedtls_printf( "FAILED\n" );
mbedtls_printf( " %s\n", test );
}

View file

@ -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 SUITE_PRE_DEP
#define TEST_SUITE_ACTIVE #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 ) int verify_string( char **str )
{ {
if( (*str)[0] != '"' || if( (*str)[0] != '"' ||
@ -190,7 +152,7 @@ int parse_arguments( char *buf, size_t len, char *params[50] )
p++; p++;
} }
// Replace newlines, question marks and colons in strings /* Replace newlines, question marks and colons in strings */
for( i = 0; i < cnt; i++ ) for( i = 0; i < cnt; i++ )
{ {
p = params[i]; p = params[i];