1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- /* BEGIN_HEADER */
- /* This test module exercises the timing module. Since, depending on the
- * underlying operating system, the timing routines are not always reliable,
- * this suite only performs very basic sanity checks of the timing API.
- */
- #include <limits.h>
- #include "mbedtls/timing.h"
- /* END_HEADER */
- /* BEGIN_DEPENDENCIES
- * depends_on:MBEDTLS_TIMING_C
- * END_DEPENDENCIES
- */
- /* BEGIN_CASE */
- void timing_hardclock( )
- {
- (void) mbedtls_timing_hardclock();
- /* This goto is added to avoid warnings from the generated code. */
- goto exit;
- }
- /* END_CASE */
- /* BEGIN_CASE */
- void timing_get_timer( )
- {
- struct mbedtls_timing_hr_time time;
- (void) mbedtls_timing_get_timer( &time, 1 );
- (void) mbedtls_timing_get_timer( &time, 0 );
- /* This goto is added to avoid warnings from the generated code. */
- goto exit;
- }
- /* END_CASE */
- /* BEGIN_CASE */
- void timing_set_alarm( int seconds )
- {
- if( seconds == 0 )
- {
- mbedtls_set_alarm( seconds );
- TEST_ASSERT( mbedtls_timing_alarmed == 1 );
- }
- else
- {
- mbedtls_set_alarm( seconds );
- TEST_ASSERT( mbedtls_timing_alarmed == 0 ||
- mbedtls_timing_alarmed == 1 );
- }
- }
- /* END_CASE */
- /* BEGIN_CASE */
- void timing_delay( int fin_ms )
- {
- mbedtls_timing_delay_context ctx;
- int result;
- if( fin_ms == 0 )
- {
- mbedtls_timing_set_delay( &ctx, 0, 0 );
- result = mbedtls_timing_get_delay( &ctx );
- TEST_ASSERT( result == -1 );
- }
- else
- {
- mbedtls_timing_set_delay( &ctx, fin_ms / 2, fin_ms );
- result = mbedtls_timing_get_delay( &ctx );
- TEST_ASSERT( result >= 0 && result <= 2 );
- }
- }
- /* END_CASE */
|