summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/common/Test.h19
1 files changed, 17 insertions, 2 deletions
diff --git a/lib/common/Test.h b/lib/common/Test.h
index 6a517b1a..3b7b28e4 100644
--- a/lib/common/Test.h
+++ b/lib/common/Test.h
@@ -303,12 +303,21 @@ inline int LaunchServer(const char *pCommandLine, const char *pidFile)
return pid;
}
-inline void TestRemoteProcessMemLeaks(const char *filename)
+#define TestRemoteProcessMemLeaks(filename) \
+ TestRemoteProcessMemLeaksFunc(filename, __FILE__, __LINE__)
+
+inline void TestRemoteProcessMemLeaksFunc(const char *filename,
+ const char* file, int line)
{
#ifdef BOX_MEMORY_LEAK_TESTING
// Does the file exist?
if(!TestFileExists(filename))
{
+ if (failures == 0)
+ {
+ first_fail_file = file;
+ first_fail_line = line;
+ }
++failures;
printf("FAILURE: MemLeak report not available (file %s)\n", filename);
}
@@ -317,8 +326,14 @@ inline void TestRemoteProcessMemLeaks(const char *filename)
// Is it empty?
if(TestGetFileSize(filename) > 0)
{
+ if (failures == 0)
+ {
+ first_fail_file = file;
+ first_fail_line = line;
+ }
++failures;
- printf("FAILURE: Memory leaks found in other process (file %s)\n==========\n", filename);
+ printf("FAILURE: Memory leaks found in other process "
+ "(file %s)\n==========\n", filename);
FILE *f = fopen(filename, "r");
char line[512];
while(::fgets(line, sizeof(line), f) != 0)