Bug 420258: flush System.err more aggressively, e.g. for bug 502410
diff --git a/bundles/org.eclipse.test/src/org/eclipse/test/EclipseTestRunner.java b/bundles/org.eclipse.test/src/org/eclipse/test/EclipseTestRunner.java
index 342669e..042ca09 100644
--- a/bundles/org.eclipse.test/src/org/eclipse/test/EclipseTestRunner.java
+++ b/bundles/org.eclipse.test/src/org/eclipse/test/EclipseTestRunner.java
@@ -412,7 +412,6 @@
// Time elapsed time to do each dump, so we'll
// know if/when we get too close to the 2
// minutes we allow
- // Get current time
long start = System.currentTimeMillis();
// Dump all stacks:
@@ -423,6 +422,7 @@
+ Runtime.getRuntime().totalMemory());
System.err.println("freeMemory (before GC): "
+ Runtime.getRuntime().freeMemory());
+ System.err.flush(); // bug 420258: flush aggressively, we could be low on memory
System.gc();
System.err.println("freeMemory (after GC): "
+ Runtime.getRuntime().freeMemory());
@@ -431,6 +431,7 @@
.format(new Date());
System.err.println("Thread dump " + num
+ " at " + time + ":");
+ System.err.flush();
Map<Thread, StackTraceElement[]> stackTraces = Thread
.getAllStackTraces();
for (Entry<Thread, StackTraceElement[]> entry : stackTraces
@@ -442,7 +443,7 @@
exception.setStackTrace(stack);
exception.printStackTrace();
}
- System.err.flush(); // for bug 420258
+ System.err.flush();
if (!dumpSwtDisplay(num)) {
String screenshotFile= getScreenshotFile(num);