[test] Include failing code within failed test result output

Signed-off-by: Michael Brown <mcb30@ipxe.org>
pull/17/head
Michael Brown 2013-11-27 03:03:16 +00:00
parent 017e6c56af
commit 1312c467ee
2 changed files with 9 additions and 6 deletions

View File

@ -31,15 +31,16 @@ struct self_test {
/** Declare a self-test */ /** Declare a self-test */
#define __self_test __table_entry ( SELF_TESTS, 01 ) #define __self_test __table_entry ( SELF_TESTS, 01 )
extern void test_ok ( int success, const char *file, unsigned int line ); extern void test_ok ( int success, const char *file, unsigned int line,
const char *test );
/** /**
* Report test result * Report test result
* *
* @v success Test succeeded * @v success Test succeeded
*/ */
#define ok( success ) do { \ #define ok( success ) do { \
test_ok ( (success), __FILE__, __LINE__ ); \ test_ok ( (success), __FILE__, __LINE__, #success ); \
} while ( 0 ) } while ( 0 )
#endif /* _IPXE_TEST_H */ #endif /* _IPXE_TEST_H */

View File

@ -45,8 +45,10 @@ static struct self_test *current_tests;
* @v success Test succeeded * @v success Test succeeded
* @v file Test code file * @v file Test code file
* @v line Test code line * @v line Test code line
* @v test Test code
*/ */
void test_ok ( int success, const char *file, unsigned int line ) { void test_ok ( int success, const char *file, unsigned int line,
const char *test ) {
/* Sanity check */ /* Sanity check */
assert ( current_tests != NULL ); assert ( current_tests != NULL );
@ -57,8 +59,8 @@ void test_ok ( int success, const char *file, unsigned int line ) {
/* Report failure if applicable */ /* Report failure if applicable */
if ( ! success ) { if ( ! success ) {
current_tests->failures++; current_tests->failures++;
printf ( "FAILURE: \"%s\" test failed at %s line %d\n", printf ( "FAILURE: \"%s\" test failed at %s line %d: ( %s )\n",
current_tests->name, file, line ); current_tests->name, file, line, test );
} }
} }