]> git.ipfire.org Git - thirdparty/ipxe.git/commitdiff
[test] Include failing code within failed test result output
authorMichael Brown <mcb30@ipxe.org>
Wed, 27 Nov 2013 03:03:16 +0000 (03:03 +0000)
committerMichael Brown <mcb30@ipxe.org>
Wed, 27 Nov 2013 11:27:45 +0000 (11:27 +0000)
Signed-off-by: Michael Brown <mcb30@ipxe.org>
src/include/ipxe/test.h
src/tests/test.c

index 8c361d284469d3d80789783a0e5042c045c5bed1..6b74ff007e776e33c74f1e454bceb84573d6c805 100644 (file)
@@ -31,15 +31,16 @@ struct self_test {
 /** Declare a self-test */
 #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
  *
  * @v success          Test succeeded
  */
-#define ok( success ) do {                             \
-       test_ok ( (success), __FILE__, __LINE__ );      \
+#define ok( success ) do {                                     \
+       test_ok ( (success), __FILE__, __LINE__, #success );    \
        } while ( 0 )
 
 #endif /* _IPXE_TEST_H */
index 62f7c97d99b948c089ac200fce5cbe89a30a8aa7..9b65e35146e1a2d2401d33aba6ac8acf206cd221 100644 (file)
@@ -45,8 +45,10 @@ static struct self_test *current_tests;
  * @v success          Test succeeded
  * @v file             Test code file
  * @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 */
        assert ( current_tests != NULL );
@@ -57,8 +59,8 @@ void test_ok ( int success, const char *file, unsigned int line ) {
        /* Report failure if applicable */
        if ( ! success ) {
                current_tests->failures++;
-               printf ( "FAILURE: \"%s\" test failed at %s line %d\n",
-                        current_tests->name, file, line );
+               printf ( "FAILURE: \"%s\" test failed at %s line %d: ( %s )\n",
+                        current_tests->name, file, line, test );
        }
 }