From b75662dde8a6d3e808c9c8d440a67df4e0899495 Mon Sep 17 00:00:00 2001 From: Stef Walter Date: Sat, 6 Dec 2008 15:12:34 +0000 Subject: Change how the tests are logged and failed. --- src/check.c | 106 ++++++++++++++++++++++++++++++++++++------------------------ 1 file changed, 63 insertions(+), 43 deletions(-) (limited to 'src/check.c') diff --git a/src/check.c b/src/check.c index d76f0e9..9609779 100644 --- a/src/check.c +++ b/src/check.c @@ -9,27 +9,47 @@ p11t_check_fail(const char *message, ...) { va_list va; va_start(va, message); - p11t_msg_va(message, va); + p11t_msg_code("FAIL", message, va); va_end(va); - return 0; + return STOP; } int -p11t_check_returns(const char *message, CK_RV have, CK_RV want) +p11t_check_info(const char *message, ...) +{ + va_list va; + va_start(va, message); + p11t_msg_code("INFO", message, va); + va_end(va); + return CONTINUE; +} + +int +p11t_check_warn(const char *message, ...) +{ + va_list va; + va_start(va, message); + p11t_msg_code("WARN", message, va); + va_end(va); + return CONTINUE; +} + +int +_p11t_check_rv(const char *what, CK_RV have, CK_RV want) { if(have != want) { - p11t_msg_print("%s: expected %s but got %s", message, - p11t_msg_rv(want), p11t_msg_rv(have)); - return 0; + p11t_check_fail("%s: expected %s but got %s", what, + p11t_msg_rv(want), p11t_msg_rv(have)); + return STOP; } - return 1; + return CONTINUE; } int -p11t_check_padded_len(const char *message, const CK_UTF8CHAR_PTR padded, - CK_ULONG length) +_p11t_check_padded(const char *what, const CK_UTF8CHAR_PTR padded, + CK_ULONG length) { CK_ULONG i; @@ -37,48 +57,48 @@ p11t_check_padded_len(const char *message, const CK_UTF8CHAR_PTR padded, { if(!isprint(padded[i])) { - p11t_msg_print("%s: non printable character: %d", message, padded[i]); - return 0; + p11t_check_fail("%s: non printable character: %d", what, padded[i]); + return STOP; } if(!padded[i]) { - p11t_msg_print("%s: not blank padded", message); - return 0; + p11t_check_fail("%s: not blank padded", what); + return STOP; } } - return 1; + return CONTINUE; } int -p11t_check_ulong(const char *message, CK_ULONG have, CK_ULONG want) +_p11t_check_ulong(const char *what, CK_ULONG have, CK_ULONG want) { if(have != want) { - p11t_msg_print("%s: expected 0x%08x but have 0x%08x", message, - want, have); - return 0; + p11t_check_fail("%s: expected 0x%08x but have 0x%08x", what, + want, have); + return STOP; } - return 1; + return CONTINUE; } int -p11t_check_bool(const char *message, CK_BBOOL value) +_p11t_check_bool(const char *what, CK_BBOOL value) { if(value != CK_FALSE && value != CK_TRUE) { - p11t_msg_print("%s: expected CK_TRUE or CK_FALSE but got 0x%02x", - message, (int)value); - return 0; + p11t_check_fail("%s: expected CK_TRUE or CK_FALSE but got 0x%02x", + what, (int)value); + return STOP; } - return 1; + return CONTINUE; } int -p11t_check_string(const char *message, CK_UTF8CHAR_PTR value, CK_ULONG length) +_p11t_check_string(const char *what, CK_UTF8CHAR_PTR value, CK_ULONG length) { CK_ULONG i; @@ -86,49 +106,49 @@ p11t_check_string(const char *message, CK_UTF8CHAR_PTR value, CK_ULONG length) { if(!value[i]) { - p11t_msg_print("%s: is null terminated", message); - return 0; + p11t_check_fail("%s: is null terminated", what); + return STOP; } } - return 1; + return CONTINUE; } int -p11t_check_mask(const char *message, CK_ULONG flags, CK_ULONG mask) +_p11t_check_mask(const char *what, CK_ULONG flags, CK_ULONG mask) { if((flags & ~mask) != 0) { - p11t_msg_print("%s: extra flags outside of mask: 0x%08x", - message, (flags & ~mask)); - return 0; + p11t_check_fail("%s: extra flags outside of mask: 0x%08x", + what, (flags & ~mask)); + return STOP; } - return 1; + return CONTINUE; } int -p11t_check_flag(const char *message, CK_ULONG flags, CK_ULONG flag) +_p11t_check_flag(const char *what, CK_ULONG flags, CK_ULONG flag) { if((flags & flag) != flag) { - p11t_msg_print("%s: flag 0x%08x should be set in: 0x%08x", - message, flag, flags); - return 0; + p11t_check_fail("%s: flag 0x%08x should be set in: 0x%08x", + what, flag, flags); + return STOP; } - return 1; + return CONTINUE; } int -p11t_check_nflag(const char *message, CK_ULONG flags, CK_ULONG nflag) +_p11t_check_nflag(const char *what, CK_ULONG flags, CK_ULONG nflag) { if((flags & nflag) != 0) { - p11t_msg_print("%s: flag 0x%08x should not be set in: 0x%08x", - message, nflag, flags); - return 0; + p11t_check_fail("%s: flag 0x%08x should not be set in: 0x%08x", + what, nflag, flags); + return STOP; } - return 1; + return CONTINUE; } -- cgit v1.2.3