From d39f4aa532854059b118aba9485c915aac732b8c Mon Sep 17 00:00:00 2001 From: Dmitry Jemerov Date: Mon, 19 Apr 2010 19:06:02 +0400 Subject: [PATCH] correct fix to allow running tests without classpath of 'main' module --- .../idea/PlatformLangXmlApplicationInfo.xml | 26 +++++++++++++++++++ .../intellij/testFramework/IdeaTestCase.java | 2 -- .../src/META-INF/PlatformLangXmlPlugin.xml | 13 ++++++++++ .../testFramework/PlatformTestCase.java | 18 +++++++++++++ 4 files changed, 57 insertions(+), 2 deletions(-) create mode 100644 community-resources/src/idea/PlatformLangXmlApplicationInfo.xml create mode 100644 platform/platform-resources/src/META-INF/PlatformLangXmlPlugin.xml diff --git a/community-resources/src/idea/PlatformLangXmlApplicationInfo.xml b/community-resources/src/idea/PlatformLangXmlApplicationInfo.xml new file mode 100644 index 000000000000..1bcdca8d3b40 --- /dev/null +++ b/community-resources/src/idea/PlatformLangXmlApplicationInfo.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/java/testFramework/src/com/intellij/testFramework/IdeaTestCase.java b/java/testFramework/src/com/intellij/testFramework/IdeaTestCase.java index 340676caaaea..97ccc73bd71a 100644 --- a/java/testFramework/src/com/intellij/testFramework/IdeaTestCase.java +++ b/java/testFramework/src/com/intellij/testFramework/IdeaTestCase.java @@ -26,8 +26,6 @@ import org.jetbrains.annotations.NonNls; * @author mike */ @NonNls public abstract class IdeaTestCase extends PlatformTestCase { - private static boolean ourPlatformPrefixInitialized; - protected IdeaTestCase() { initPlatformPrefix(); } diff --git a/platform/platform-resources/src/META-INF/PlatformLangXmlPlugin.xml b/platform/platform-resources/src/META-INF/PlatformLangXmlPlugin.xml new file mode 100644 index 000000000000..b136fe4ca54a --- /dev/null +++ b/platform/platform-resources/src/META-INF/PlatformLangXmlPlugin.xml @@ -0,0 +1,13 @@ + + + + com.intellij.ultimate.UltimateVerifier + + + + + + + + + \ No newline at end of file diff --git a/platform/testFramework/src/com/intellij/testFramework/PlatformTestCase.java b/platform/testFramework/src/com/intellij/testFramework/PlatformTestCase.java index 768e7a041eec..a8802b0c4852 100644 --- a/platform/testFramework/src/com/intellij/testFramework/PlatformTestCase.java +++ b/platform/testFramework/src/com/intellij/testFramework/PlatformTestCase.java @@ -96,6 +96,8 @@ public abstract class PlatformTestCase extends UsefulTestCase implements DataPro private String myTempDirPath; private ThreadTracker myThreadTracker; + protected static boolean ourPlatformPrefixInitialized; + static { Logger.setFactory(TestLoggerFactory.getInstance()); } @@ -618,4 +620,20 @@ public abstract class PlatformTestCase extends UsefulTestCase implements DataPro } } } + + public static void initPlatformLangPrefix() { + if (!ourPlatformPrefixInitialized) { + ourPlatformPrefixInitialized = true; + boolean isUltimate = true; + try { + PlatformTestCase.class.getClassLoader().loadClass("com.intellij.openapi.project.impl.IdeaProjectManagerImpl"); + } + catch (ClassNotFoundException e) { + isUltimate = false; + } + if (!isUltimate) { + System.setProperty("idea.platform.prefix", "PlatformLangXml"); + } + } + } }