From 85d62357bbef6e3d8d9cfcbe2964a9e850de98a7 Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Thu, 13 Jan 2000 19:26:38 +0000 Subject: Changed error checking macros for POSIX. --- c/src/tests/support/include/tmacros.h | 60 +++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) (limited to 'c/src/tests/support/include') diff --git a/c/src/tests/support/include/tmacros.h b/c/src/tests/support/include/tmacros.h index 2e7925f809..6009ef473e 100644 --- a/c/src/tests/support/include/tmacros.h +++ b/c/src/tests/support/include/tmacros.h @@ -24,6 +24,7 @@ extern "C" { #include #include +#include #include #include @@ -47,6 +48,10 @@ extern "C" { } \ } while ( 0 ) +/* + * These macros properly report errors within the Classic API + */ + #define directive_failed( _dirstat, _failmsg ) \ fatal_directive_status( _dirstat, RTEMS_SUCCESSFUL, _failmsg ) @@ -68,6 +73,61 @@ extern "C" { } \ } while ( 0 ) +/* + * These macros properly report errors from the POSIX API + */ + +#define posix_service_failed( _dirstat, _failmsg ) \ + fatal_posix_service_status( _dirstat, RTEMS_SUCCESSFUL, _failmsg ) + +#define posix_service_failed_with_level( _dirstat, _failmsg, _level ) \ + fatal_posix_service_status_with_level( \ + _dirstat, RTEMS_SUCCESSFUL, _failmsg, _level ) + +#define fatal_posix_service_status( _stat, _desired, _msg ) \ + fatal_posix_service_status_with_level( _stat, _desired, _msg, 0 ) + +#define fatal_posix_service_status_with_level( _stat, _desired, _msg, _level ) \ + do { \ + check_dispatch_disable_level( _level ); \ + if ( (_stat) != (_desired) ) { \ + printf( "\n%s FAILED -- expected (%s) got (%s)\n", \ + (_msg), strerror(_desired), strerror(_stat) ); \ + fflush(stdout); \ + exit( _stat ); \ + } \ + } while ( 0 ) + +/* + * Generic integer version of the error reporting + */ + +#define int_service_failed( _dirstat, _failmsg ) \ + fatal_int_service_status( _dirstat, RTEMS_SUCCESSFUL, _failmsg ) + +#define int_service_failed_with_level( _dirstat, _failmsg, _level ) \ + fatal_int_service_status_with_level( \ + _dirstat, RTEMS_SUCCESSFUL, _failmsg, _level ) + +#define fatal_int_service_status( _stat, _desired, _msg ) \ + fatal_int_service_status_with_level( _stat, _desired, _msg, 0 ) + +#define fatal_int_service_status_with_level( _stat, _desired, _msg, _level ) \ + do { \ + check_dispatch_disable_level( _level ); \ + if ( (_stat) != (_desired) ) { \ + printf( "\n%s FAILED -- expected (%d) got (%d)\n", \ + (_msg), (_desired), (_stat) ); \ + fflush(stdout); \ + exit( _stat ); \ + } \ + } while ( 0 ) + + +/* + * Print the time + */ + #define sprint_time(_str, _s1, _tb, _s2) \ do { \ sprintf( (str), "%s%02d:%02d:%02d %02d/%02d/%04d%s", \ -- cgit v1.2.3