diff --git a/platform/testRunner/src/com/intellij/execution/testframework/CompositePrintable.java b/platform/testRunner/src/com/intellij/execution/testframework/CompositePrintable.java index 1792a74f40bf..d15c6d6f41aa 100644 --- a/platform/testRunner/src/com/intellij/execution/testframework/CompositePrintable.java +++ b/platform/testRunner/src/com/intellij/execution/testframework/CompositePrintable.java @@ -38,11 +38,7 @@ public class CompositePrintable implements Printable, Disposable { public void flush() { if (myWrapper == null) { - try { - myWrapper = new PrintablesWrapper(FileUtil.createTempFile("frst", "scd")); - } - catch (IOException ignored) { - } + myWrapper = new PrintablesWrapper(); } if (myWrapper != null) { synchronized (myNestedPrintables) { @@ -103,13 +99,19 @@ public class CompositePrintable implements Printable, Disposable { @NonNls private static final String HYPERLINK = "hyperlink"; private DataInputStream myReader; private ConsoleViewContentType myLastSelected; - private final File myFile; - PrintablesWrapper(File file) { - myFile = file; - } + private File myFile; public void flash(List printables) { + if (printables.isEmpty()) return; + if (myFile == null) { + try { + myFile = FileUtil.createTempFile("frst", "scd"); + } + catch (IOException e) { + return; + } + } final DataOutputStream fileWriter; try { fileWriter = new DataOutputStream(new BufferedOutputStream(new FileOutputStream(myFile, true))); @@ -172,6 +174,7 @@ public class CompositePrintable implements Printable, Disposable { } public void printOn(Printer console) { + if (myFile == null || !myFile.exists()) return; try { myReader = new DataInputStream(new BufferedInputStream(new FileInputStream(myFile))); int lineNum = 0; @@ -219,7 +222,7 @@ public class CompositePrintable implements Printable, Disposable { } public void dispose() { - FileUtil.delete(myFile); + if (myFile != null) FileUtil.delete(myFile); } } }