[Box Backup-dev] COMMIT r593 - box/chris/general/lib/common

boxbackup-dev at fluffy.co.uk boxbackup-dev at fluffy.co.uk
Sat May 27 10:52:43 BST 2006


Author: chris
Date: 2006-05-27 09:52:32 +0000 (Sat, 27 May 2006)
New Revision: 593

Modified:
   box/chris/general/lib/common/Test.h
Log:
* Test.h
- Record the file and line where first failure occurred, helps with
  debugging


Modified: box/chris/general/lib/common/Test.h
===================================================================
--- box/chris/general/lib/common/Test.h	2006-05-27 09:51:58 UTC (rev 592)
+++ box/chris/general/lib/common/Test.h	2006-05-27 09:52:32 UTC (rev 593)
@@ -22,14 +22,26 @@
 #include <stdio.h>
  
 extern int failures;
+extern int first_fail_line;
+extern std::string first_fail_file;
 
-#define TEST_FAIL_WITH_MESSAGE(msg) {failures++; printf("FAILURE: " msg " at " __FILE__ "(%d)\n", __LINE__);}
-#define TEST_ABORT_WITH_MESSAGE(msg) {failures++; printf("FAILURE: " msg " at " __FILE__ "(%d)\n", __LINE__); return 1;}
+#define TEST_FAIL_WITH_MESSAGE(msg) \
+{ \
+	if (failures == 0) \
+	{ \
+		first_fail_file = __FILE__; \
+		first_fail_line = __LINE__; \
+	} \
+	failures++; \
+	printf("FAILURE: " msg " at " __FILE__ "(%d)\n", __LINE__); \
+}
 
+#define TEST_ABORT_WITH_MESSAGE(msg) {TEST_FAIL_WITH_MESSAGE(msg); return 1;}
+
 #define TEST_THAT(condition) {if(!(condition)) TEST_FAIL_WITH_MESSAGE("Condition [" #condition "] failed")}
 #define TEST_THAT_ABORTONFAIL(condition) {if(!(condition)) TEST_ABORT_WITH_MESSAGE("Condition [" #condition "] failed")}
 
-// NOTE: The 0- bit it to allow this to work with stuff which has negative constants for flags (eg ConnectionException)
+// NOTE: The 0- bit is to allow this to work with stuff which has negative constants for flags (eg ConnectionException)
 #define TEST_CHECK_THROWS(statement, excepttype, subtype)									\
 	{																						\
 		bool didthrow = false;																\




More information about the Boxbackup-dev mailing list