diff options
Diffstat (limited to 'roms/ipxe/src/include/ipxe/test.h')
-rw-r--r-- | roms/ipxe/src/include/ipxe/test.h | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/roms/ipxe/src/include/ipxe/test.h b/roms/ipxe/src/include/ipxe/test.h new file mode 100644 index 00000000..028ee29f --- /dev/null +++ b/roms/ipxe/src/include/ipxe/test.h @@ -0,0 +1,49 @@ +#ifndef _IPXE_TEST_H +#define _IPXE_TEST_H + +FILE_LICENCE ( GPL2_OR_LATER ); + +/** @file + * + * Self-test infrastructure + * + */ + +#include <ipxe/tables.h> + +/** A self-test set */ +struct self_test { + /** Test set name */ + const char *name; + /** Run self-tests */ + void ( * exec ) ( void ); + /** Number of tests run */ + unsigned int total; + /** Number of test failures */ + unsigned int failures; + /** Number of assertion failures */ + unsigned int assertion_failures; +}; + +/** Self-test table */ +#define SELF_TESTS __table ( struct self_test, "self_tests" ) + +/** Declare a self-test */ +#define __self_test __table_entry ( SELF_TESTS, 01 ) + +extern void test_ok ( int success, const char *file, unsigned int line, + const char *test ); + +/** + * Report test result + * + * @v success Test succeeded + * @v file File name + * @v line Line number + */ +#define okx( success, file, line ) \ + test_ok ( success, file, line, #success ) +#define ok( success ) \ + okx ( success, __FILE__, __LINE__ ) + +#endif /* _IPXE_TEST_H */ |