junit: test detection optimization

IDEA-CR-41022
This commit is contained in:
Anna.Kozlova
2018-12-07 19:51:13 +01:00
parent 12bef395b6
commit 9eee56e6b1
2 changed files with 10 additions and 8 deletions
@@ -110,13 +110,15 @@ class TestDirectory extends TestPackage {
@Override
protected void searchTests5(Module module, TestClassFilter classFilter, Set<PsiClass> classes) throws CantRunException {
PsiDirectory directory = getDirectory(getConfiguration().getPersistentData());
PsiPackage aPackage = JavaRuntimeConfigurationProducerBase.checkPackage(directory);
if (aPackage != null && module != null) {
PsiDirectory[] directories =
aPackage.getDirectories(module.getModuleScope(true).intersectWith(GlobalSearchScopesCore.projectTestScope(getConfiguration().getProject())));
if (directories.length > 1) {//need to enumerate classes in one of multiple test source roots
collectClassesRecursively(directory, Condition.TRUE, classes);
if (module != null) {
PsiDirectory directory = getDirectory(getConfiguration().getPersistentData());
PsiPackage aPackage = JavaRuntimeConfigurationProducerBase.checkPackage(directory);
if (aPackage != null) {
PsiDirectory[] directories =
aPackage.getDirectories(module.getModuleScope(true).intersectWith(GlobalSearchScopesCore.projectTestScope(getConfiguration().getProject())));
if (directories.length > 1) {//need to enumerate classes in one of multiple test source roots
collectClassesRecursively(directory, Condition.TRUE, classes);
}
}
}
}
@@ -95,7 +95,7 @@ public class TestPackage extends TestObject {
try {
String packageName = getPackageName(data);
String filters = getFilters(myClasses, packageName);
if (JUnitStarter.JUNIT5_PARAMETER.equals(getRunner()) && filterOutputByDirectoryForJunit5(myClasses) && module != null) {
if (JUnitStarter.JUNIT5_PARAMETER.equals(getRunner()) && module != null && filterOutputByDirectoryForJunit5(myClasses)) {
JUnitStarter.printClassesList(composeDirectoryFilter(module), packageName, "", filters, myTempFile);
}
else {