From 691550822a82d189df91156b23bb6ce2f349b294 Mon Sep 17 00:00:00 2001 From: Sergey Ignatov Date: Wed, 3 Jan 2018 23:47:13 +0300 Subject: [PATCH] unify util classes --- .../core/src/com/intellij/TestCaseLoader.java | 11 ++++--- ...stUtilBase.java => TestFrameworkUtil.java} | 26 ++++++++++++++++- .../testFramework/TestRunnerUtilBase.java | 29 ------------------- .../src/com/intellij/TestAll.java | 8 ++--- .../openapi/application/ex/PathManagerEx.java | 4 +-- .../testFramework/UsefulTestCase.java | 6 ++-- .../fixtures/BareTestFixtureTestCase.java | 8 ++--- 7 files changed, 43 insertions(+), 49 deletions(-) rename platform/testFramework/core/src/com/intellij/testFramework/{PlatformTestUtilBase.java => TestFrameworkUtil.java} (61%) delete mode 100644 platform/testFramework/core/src/com/intellij/testFramework/TestRunnerUtilBase.java diff --git a/platform/testFramework/core/src/com/intellij/TestCaseLoader.java b/platform/testFramework/core/src/com/intellij/TestCaseLoader.java index 4be4a43d7237..1363c1cce70d 100644 --- a/platform/testFramework/core/src/com/intellij/TestCaseLoader.java +++ b/platform/testFramework/core/src/com/intellij/TestCaseLoader.java @@ -20,9 +20,8 @@ import com.intellij.idea.Bombed; import com.intellij.openapi.util.io.FileUtil; import com.intellij.openapi.util.text.StringUtil; import com.intellij.testFramework.JITSensitive; -import com.intellij.testFramework.PlatformTestUtilBase; import com.intellij.testFramework.TeamCityLogger; -import com.intellij.testFramework.TestRunnerUtilBase; +import com.intellij.testFramework.TestFrameworkUtil; import com.intellij.util.containers.MultiMap; import junit.framework.Test; import junit.framework.TestCase; @@ -126,7 +125,7 @@ public class TestCaseLoader { void addClassIfTestCase(Class testCaseClass, String moduleName) { if (shouldAddTestCase(testCaseClass, moduleName, true) && testCaseClass != myFirstTestClass && testCaseClass != myLastTestClass && - PlatformTestUtilBase.canRunTest(testCaseClass)) { + TestFrameworkUtil.canRunTest(testCaseClass)) { myClassList.add(testCaseClass); } } @@ -158,7 +157,7 @@ public class TestCaseLoader { } catch (NoSuchMethodException ignored) { } - return TestRunnerUtilBase.isJUnit4TestClass(testCaseClass); + return TestFrameworkUtil.isJUnit4TestClass(testCaseClass); } private boolean shouldExcludeTestClass(String moduleName, Class testCaseClass) { @@ -171,7 +170,7 @@ public class TestCaseLoader { public static boolean isBombed(final AnnotatedElement element) { final Bombed bombedAnnotation = element.getAnnotation(Bombed.class); if (bombedAnnotation == null) return false; - return !PlatformTestUtilBase.bombExplodes(bombedAnnotation); + return !TestFrameworkUtil.bombExplodes(bombedAnnotation); } public void loadTestCases(final String moduleName, final Collection classNamesIterator) { @@ -263,7 +262,7 @@ public class TestCaseLoader { } static boolean isPerformanceTest(String methodName, Class aClass) { - return TestRunnerUtilBase.isPerformanceTest(methodName, aClass.getSimpleName()); + return TestFrameworkUtil.isPerformanceTest(methodName, aClass.getSimpleName()); } public void fillTestCases(String rootPackage, List classesRoots) { diff --git a/platform/testFramework/core/src/com/intellij/testFramework/PlatformTestUtilBase.java b/platform/testFramework/core/src/com/intellij/testFramework/TestFrameworkUtil.java similarity index 61% rename from platform/testFramework/core/src/com/intellij/testFramework/PlatformTestUtilBase.java rename to platform/testFramework/core/src/com/intellij/testFramework/TestFrameworkUtil.java index 18e6016d8c5f..c7859a377d7e 100644 --- a/platform/testFramework/core/src/com/intellij/testFramework/PlatformTestUtilBase.java +++ b/platform/testFramework/core/src/com/intellij/testFramework/TestFrameworkUtil.java @@ -1,14 +1,21 @@ package com.intellij.testFramework; import com.intellij.idea.Bombed; +import com.intellij.openapi.util.text.StringUtil; import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; +import org.jetbrains.annotations.TestOnly; +import org.junit.Test; +import org.junit.runner.RunWith; import java.awt.*; +import java.lang.reflect.Method; +import java.lang.reflect.Modifier; import java.util.Calendar; import java.util.Date; @SuppressWarnings("UseOfSystemOutOrSystemErr") -public class PlatformTestUtilBase { +public class TestFrameworkUtil { public static final boolean SKIP_HEADLESS = GraphicsEnvironment.isHeadless(); public static final boolean SKIP_SLOW = Boolean.getBoolean("skip.slow.tests.locally"); @@ -46,4 +53,21 @@ public class PlatformTestUtilBase { return true; } + + @TestOnly + public static boolean isJUnit4TestClass(final Class aClass) { + final int modifiers = aClass.getModifiers(); + if ((modifiers & Modifier.ABSTRACT) != 0) return false; + if ((modifiers & Modifier.PUBLIC) == 0) return false; + if (aClass.getAnnotation(RunWith.class) != null) return true; + for (Method method : aClass.getMethods()) { + if (method.getAnnotation(Test.class) != null) return true; + } + return false; + } + + public static boolean isPerformanceTest(@Nullable String testName, @Nullable String className) { + return testName != null && StringUtil.containsIgnoreCase(testName, "performance") || + className != null && StringUtil.containsIgnoreCase(className, "performance"); + } } diff --git a/platform/testFramework/core/src/com/intellij/testFramework/TestRunnerUtilBase.java b/platform/testFramework/core/src/com/intellij/testFramework/TestRunnerUtilBase.java deleted file mode 100644 index 3205436ee2bc..000000000000 --- a/platform/testFramework/core/src/com/intellij/testFramework/TestRunnerUtilBase.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.intellij.testFramework; - -import com.intellij.openapi.util.text.StringUtil; -import org.jetbrains.annotations.Nullable; -import org.jetbrains.annotations.TestOnly; -import org.junit.Test; -import org.junit.runner.RunWith; - -import java.lang.reflect.Method; -import java.lang.reflect.Modifier; - -public class TestRunnerUtilBase { - @TestOnly - public static boolean isJUnit4TestClass(final Class aClass) { - final int modifiers = aClass.getModifiers(); - if ((modifiers & Modifier.ABSTRACT) != 0) return false; - if ((modifiers & Modifier.PUBLIC) == 0) return false; - if (aClass.getAnnotation(RunWith.class) != null) return true; - for (Method method : aClass.getMethods()) { - if (method.getAnnotation(Test.class) != null) return true; - } - return false; - } - - public static boolean isPerformanceTest(@Nullable String testName, @Nullable String className) { - return testName != null && StringUtil.containsIgnoreCase(testName, "performance") || - className != null && StringUtil.containsIgnoreCase(className, "performance"); - } -} diff --git a/platform/testFramework/src/com/intellij/TestAll.java b/platform/testFramework/src/com/intellij/TestAll.java index d714c9809dde..dbea638e2267 100644 --- a/platform/testFramework/src/com/intellij/TestAll.java +++ b/platform/testFramework/src/com/intellij/TestAll.java @@ -57,7 +57,7 @@ public class TestAll implements Test { public boolean shouldRun(Description description) { String className = description.getClassName(); String methodName = description.getMethodName(); - return TestRunnerUtilBase.isPerformanceTest(methodName, className); + return TestFrameworkUtil.isPerformanceTest(methodName, className); } @Override @@ -394,7 +394,7 @@ public class TestAll implements Test { return null; } Bombed classBomb = testCaseClass.getAnnotation(Bombed.class); - if (classBomb != null && PlatformTestUtilBase.bombExplodes(classBomb)) { + if (classBomb != null && TestFrameworkUtil.bombExplodes(classBomb)) { return new ExplodedBomb(testCaseClass.getName(), classBomb); } @@ -403,7 +403,7 @@ public class TestAll implements Test { return (Test)suiteMethod.invoke(null, ArrayUtil.EMPTY_OBJECT_ARRAY); } - if (TestRunnerUtilBase.isJUnit4TestClass(testCaseClass)) { + if (TestFrameworkUtil.isJUnit4TestClass(testCaseClass)) { boolean isPerformanceTest = isPerformanceTest(null, testCaseClass); boolean runEverything = isIncludingPerformanceTestsRun() || isPerformanceTest && isPerformanceTestsRun(); if (runEverything) return new JUnit4TestAdapter(testCaseClass); @@ -450,7 +450,7 @@ public class TestAll implements Test { if (methodBomb == null) { doAddTest(test); } - else if (PlatformTestUtilBase.bombExplodes(methodBomb)) { + else if (TestFrameworkUtil.bombExplodes(methodBomb)) { doAddTest(new ExplodedBomb(method.getDeclaringClass().getName() + "." + method.getName(), methodBomb)); } } diff --git a/platform/testFramework/src/com/intellij/openapi/application/ex/PathManagerEx.java b/platform/testFramework/src/com/intellij/openapi/application/ex/PathManagerEx.java index 784367b620ab..73e02861f353 100644 --- a/platform/testFramework/src/com/intellij/openapi/application/ex/PathManagerEx.java +++ b/platform/testFramework/src/com/intellij/openapi/application/ex/PathManagerEx.java @@ -11,7 +11,7 @@ import com.intellij.openapi.project.Project; import com.intellij.openapi.util.JDOMUtil; import com.intellij.openapi.util.text.StringUtil; import com.intellij.testFramework.Parameterized; -import com.intellij.testFramework.TestRunnerUtilBase; +import com.intellij.testFramework.TestFrameworkUtil; import com.intellij.util.containers.ContainerUtil; import gnu.trove.THashSet; import junit.framework.TestCase; @@ -319,7 +319,7 @@ public class PathManagerEx { @SuppressWarnings("TestOnlyProblems") private static boolean isJUnitClass(Class clazz) { - return TestCase.class.isAssignableFrom(clazz) || TestRunnerUtilBase.isJUnit4TestClass(clazz) || Parameterized.class.isAssignableFrom(clazz); + return TestCase.class.isAssignableFrom(clazz) || TestFrameworkUtil.isJUnit4TestClass(clazz) || Parameterized.class.isAssignableFrom(clazz); } @Nullable diff --git a/platform/testFramework/src/com/intellij/testFramework/UsefulTestCase.java b/platform/testFramework/src/com/intellij/testFramework/UsefulTestCase.java index 6127132c8edb..7fe425cfe3fb 100644 --- a/platform/testFramework/src/com/intellij/testFramework/UsefulTestCase.java +++ b/platform/testFramework/src/com/intellij/testFramework/UsefulTestCase.java @@ -354,7 +354,7 @@ public abstract class UsefulTestCase extends TestCase { } protected boolean shouldRunTest() { - return PlatformTestUtilBase.canRunTest(getClass()); + return TestFrameworkUtil.canRunTest(getClass()); } protected void invokeTestRunnable(@NotNull Runnable runnable) throws Exception { @@ -850,7 +850,7 @@ public abstract class UsefulTestCase extends TestCase { public boolean isPerformanceTest() { String testName = getName(); String className = getClass().getName(); - return TestRunnerUtilBase.isPerformanceTest(testName, className); + return TestFrameworkUtil.isPerformanceTest(testName, className); } /** @@ -864,7 +864,7 @@ public abstract class UsefulTestCase extends TestCase { } private static boolean isStressTest(String testName, String className) { - return TestRunnerUtilBase.isPerformanceTest(testName, className) || + return TestFrameworkUtil.isPerformanceTest(testName, className) || containsStressWords(testName) || containsStressWords(className); } diff --git a/platform/testFramework/src/com/intellij/testFramework/fixtures/BareTestFixtureTestCase.java b/platform/testFramework/src/com/intellij/testFramework/fixtures/BareTestFixtureTestCase.java index 48a1c4f737d6..5171202e0273 100644 --- a/platform/testFramework/src/com/intellij/testFramework/fixtures/BareTestFixtureTestCase.java +++ b/platform/testFramework/src/com/intellij/testFramework/fixtures/BareTestFixtureTestCase.java @@ -10,15 +10,15 @@ import com.intellij.openapi.util.Disposer; import com.intellij.testFramework.PlatformTestUtil; import com.intellij.testFramework.SkipInHeadlessEnvironment; import com.intellij.testFramework.SkipSlowTestLocally; -import com.intellij.testFramework.TestRunnerUtilBase; +import com.intellij.testFramework.TestFrameworkUtil; import org.jetbrains.annotations.NotNull; import org.junit.After; import org.junit.Before; import org.junit.Rule; import org.junit.rules.TestName; -import static com.intellij.testFramework.PlatformTestUtilBase.SKIP_HEADLESS; -import static com.intellij.testFramework.PlatformTestUtilBase.SKIP_SLOW; +import static com.intellij.testFramework.TestFrameworkUtil.SKIP_HEADLESS; +import static com.intellij.testFramework.TestFrameworkUtil.SKIP_SLOW; import static org.junit.Assume.assumeFalse; public abstract class BareTestFixtureTestCase { @@ -29,7 +29,7 @@ public abstract class BareTestFixtureTestCase { @Before public final void setupFixture() throws Exception { - ApplicationInfoImpl.setInStressTest(TestRunnerUtilBase.isPerformanceTest(null, getClass().getName())); + ApplicationInfoImpl.setInStressTest(TestFrameworkUtil.isPerformanceTest(null, getClass().getName())); boolean headless = SKIP_HEADLESS && getClass().getAnnotation(SkipInHeadlessEnvironment.class) != null; assumeFalse("Class '" + getClass().getName() + "' is skipped because it requires working UI environment", headless);