Port setInPerformanceTest -> setInStressTest
This commit is contained in:
committed by
Dmitry Jemerov
parent
e57b3651c2
commit
7da424d53f
+28
-6
@@ -38,6 +38,7 @@ import junit.framework.TestCase;
|
|||||||
import org.jetbrains.annotations.Contract;
|
import org.jetbrains.annotations.Contract;
|
||||||
import org.jetbrains.annotations.NonNls;
|
import org.jetbrains.annotations.NonNls;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
import org.jetbrains.annotations.Nullable;
|
||||||
import org.jetbrains.kotlin.utils.ExceptionUtilsKt;
|
import org.jetbrains.kotlin.utils.ExceptionUtilsKt;
|
||||||
import org.junit.Assert;
|
import org.junit.Assert;
|
||||||
|
|
||||||
@@ -95,10 +96,10 @@ public abstract class KtUsefulTestCase extends TestCase {
|
|||||||
testName = new File(testName).getName(); // in case the test name contains file separators
|
testName = new File(testName).getName(); // in case the test name contains file separators
|
||||||
myTempDir = new File(ORIGINAL_TEMP_DIR, TEMP_DIR_MARKER + testName).getPath();
|
myTempDir = new File(ORIGINAL_TEMP_DIR, TEMP_DIR_MARKER + testName).getPath();
|
||||||
FileUtil.resetCanonicalTempPathCache(myTempDir);
|
FileUtil.resetCanonicalTempPathCache(myTempDir);
|
||||||
boolean isPerformanceTest = isPerformanceTest();
|
boolean isStressTest = isStressTest();
|
||||||
ApplicationInfoImpl.setInPerformanceTest(isPerformanceTest);
|
ApplicationInfoImpl.setInStressTest(isStressTest);
|
||||||
// turn off Disposer debugging for performance tests
|
// turn off Disposer debugging for performance tests
|
||||||
oldDisposerDebug = Disposer.setDebugMode(Disposer.isDebugMode() && !isPerformanceTest);
|
oldDisposerDebug = Disposer.setDebugMode(Disposer.isDebugMode() && !isStressTest);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -458,8 +459,29 @@ public abstract class KtUsefulTestCase extends TestCase {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean isPerformanceTest() {
|
private static boolean isPerformanceTest(@Nullable String testName, @Nullable String className) {
|
||||||
String name = getName();
|
return testName != null && testName.contains("Performance") ||
|
||||||
return name != null && name.contains("Performance") || getClass().getName().contains("Performance");
|
className != null && className.contains("Performance");
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return true for a test which performs A LOT of computations.
|
||||||
|
* Such test should typically avoid performing expensive checks, e.g. data structure consistency complex validations.
|
||||||
|
* If you want your test to be treated as "Stress", please mention one of these words in its name: "Stress", "Slow".
|
||||||
|
* For example: {@code public void testStressPSIFromDifferentThreads()}
|
||||||
|
*/
|
||||||
|
|
||||||
|
private boolean isStressTest() {
|
||||||
|
return isStressTest(getName(), getClass().getName());
|
||||||
|
}
|
||||||
|
|
||||||
|
private static boolean isStressTest(String testName, String className) {
|
||||||
|
return isPerformanceTest(testName, className) ||
|
||||||
|
containsStressWords(testName) ||
|
||||||
|
containsStressWords(className);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static boolean containsStressWords(@Nullable String name) {
|
||||||
|
return name != null && (name.contains("Stress") || name.contains("Slow"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user