From dea647aff391e21b5e847d8ed91b11bcbe22f10b Mon Sep 17 00:00:00 2001 From: peter Date: Tue, 19 Jan 2016 17:13:10 +0100 Subject: [PATCH] PlatformTestCase: create only one memory snapshot after too many projects have been leaked --- .../src/com/intellij/testFramework/PlatformTestCase.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/platform/testFramework/src/com/intellij/testFramework/PlatformTestCase.java b/platform/testFramework/src/com/intellij/testFramework/PlatformTestCase.java index bd1177e2a7a7..069d7fea3ee4 100644 --- a/platform/testFramework/src/com/intellij/testFramework/PlatformTestCase.java +++ b/platform/testFramework/src/com/intellij/testFramework/PlatformTestCase.java @@ -97,6 +97,7 @@ import java.util.Set; */ public abstract class PlatformTestCase extends UsefulTestCase implements DataProvider { private static IdeaTestApplication ourApplication; + private static boolean ourReportedLeakedProjects; protected ProjectManagerEx myProjectManager; protected Project myProject; protected Module myModule; @@ -261,6 +262,12 @@ public abstract class PlatformTestCase extends UsefulTestCase implements DataPro return project; } catch (TooManyProjectLeakedException e) { + if (ourReportedLeakedProjects) { + fail("Too many projects leaked, again."); + return null; + } + ourReportedLeakedProjects = true; + StringBuilder leakers = new StringBuilder(); leakers.append("Too many projects leaked: \n"); for (Project project : e.getLeakedProjects()) {