#ifndef _IPXE_TEST_H #define _IPXE_TEST_H FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL ); /** @file * * Self-test infrastructure * */ #include /** 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 */