sphlib

utest.h

Go to the documentation of this file.
00001 /* $Id: utest.h 192 2010-05-25 22:33:34Z tp $ */
00034 #ifndef UTEST_H__
00035 #define UTEST_H__
00036 
00037 #include <stddef.h>
00038 
00046 void utest_setname(char *name);
00047 
00054 void fail(char *fmt, ...);
00055 
00064 #define ASSERT(expr)   do { \
00065                 if (!(expr)) \
00066                         fail("assertion failed (%s:%ld): %s", \
00067                                 __FILE__, (unsigned long)__LINE__, #expr); \
00068         } while (0)
00069 
00083 size_t utest_strtobin(void *dst, char *src);
00084 
00094 int utest_byteequal(void *d1, void *d2, size_t len);
00095 
00103 void utest_printarray(void *src, size_t len);
00104 
00109 void utest_success(void);
00110 
00120 #define UTEST_MAIN(name, tfun) \
00121 int main(void) \
00122 { \
00123         utest_setname(name); \
00124         tfun(); \
00125         utest_success(); \
00126         return 0; \
00127 }
00128 
00137 const void *utest_nist_data(unsigned blen);
00138 
00139 #endif