From 13a1ef86000e235e7d5549c49ff32052cdf6a782 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20P=C3=A9gouri=C3=A9-Gonnard?= Date: Thu, 27 Mar 2014 20:12:44 +0100 Subject: [PATCH] Misc selftest adjustements --- include/polarssl/ecp.h | 4 +++- library/pkcs5.c | 6 +++++- programs/test/selftest.c | 22 ++++++++++++---------- 3 files changed, 20 insertions(+), 12 deletions(-) diff --git a/include/polarssl/ecp.h b/include/polarssl/ecp.h index 1cafc467b..3942891c6 100644 --- a/include/polarssl/ecp.h +++ b/include/polarssl/ecp.h @@ -621,12 +621,14 @@ int ecp_gen_keypair( ecp_group *grp, mpi *d, ecp_point *Q, int ecp_gen_key( ecp_group_id grp_id, ecp_keypair *key, int (*f_rng)(void *, unsigned char *, size_t), void *p_rng ); +#if defined(POLARSSL_SELF_TEST) /** * \brief Checkup routine * - * \return 0 if successful, or 1 if the test failed + * \return 0 if successful, or 1 if a test failed */ int ecp_self_test( int verbose ); +#endif #ifdef __cplusplus } diff --git a/library/pkcs5.c b/library/pkcs5.c index c4cdf0354..2845f6812 100644 --- a/library/pkcs5.c +++ b/library/pkcs5.c @@ -361,9 +361,13 @@ int pkcs5_self_test( int verbose ) if( ( ret = md_init_ctx( &sha1_ctx, info_sha1 ) ) != 0 ) return( 1 ); + if( verbose != 0 ) + polarssl_printf( " PBKDF2 warning: test #3 may be slow!\n" ); + for( i = 0; i < MAX_TESTS; i++ ) { - polarssl_printf( " PBKDF2 (SHA1) #%d: ", i ); + if( verbose != 0 ) + polarssl_printf( " PBKDF2 (SHA1) #%d: ", i ); ret = pkcs5_pbkdf2_hmac( &sha1_ctx, password[i], plen[i], salt[i], slen[i], it_cnt[i], key_len[i], key ); diff --git a/programs/test/selftest.c b/programs/test/selftest.c index 6f7360850..82477e507 100644 --- a/programs/test/selftest.c +++ b/programs/test/selftest.c @@ -173,16 +173,6 @@ int main( int argc, char *argv[] ) return( ret ); #endif -#if defined(POLARSSL_PBKDF2_C) - if( ( ret = pbkdf2_self_test( v ) ) != 0 ) - return( ret ); -#else -#if defined(POLARSSL_PKCS5_C) - if( ( ret = pkcs5_self_test( v ) ) != 0 ) - return( ret ); -#endif -#endif - #if defined(POLARSSL_ECP_C) if( ( ret = ecp_self_test( v ) ) != 0 ) return( ret ); @@ -193,6 +183,18 @@ int main( int argc, char *argv[] ) return( ret ); #endif +/* Slow tests last */ + +#if defined(POLARSSL_PBKDF2_C) + if( ( ret = pbkdf2_self_test( v ) ) != 0 ) + return( ret ); +#else +#if defined(POLARSSL_PKCS5_C) + if( ( ret = pkcs5_self_test( v ) ) != 0 ) + return( ret ); +#endif +#endif + #if defined(POLARSSL_TIMING_C) if( ( ret = timing_self_test( v ) ) != 0 ) return( ret );