junit 5: skip empty classpath roots (IDEA-209506)

GitOrigin-RevId: de79119a40854a75605d416573f1db4b36670984
This commit is contained in:
Marcel Schnelle
2019-06-11 18:03:53 +03:00
committed by intellij-monorepo-bot
parent db442bde43
commit 1f46d9eeff
@@ -18,6 +18,7 @@ package com.intellij.junit5;
import org.junit.platform.commons.util.AnnotationUtils;
import org.junit.platform.engine.DiscoverySelector;
import org.junit.platform.engine.discovery.ClassNameFilter;
import org.junit.platform.engine.discovery.ClasspathRootSelector;
import org.junit.platform.engine.discovery.DiscoverySelectors;
import org.junit.platform.launcher.LauncherDiscoveryRequest;
import org.junit.platform.launcher.TagFilter;
@@ -79,7 +80,10 @@ public class JUnit5TestRunnerUtil {
List<DiscoverySelector> selectors = new ArrayList<>();
while ((line = reader.readLine()) != null) {
selectors.add(createSelector(line));
DiscoverySelector selector = createSelector(line);
if (selector != null) {
selectors.add(selector);
}
}
packageNameRef[0] = packageName.length() == 0 ? "<default package>" : packageName;
if (selectors.isEmpty()) {
@@ -112,7 +116,9 @@ public class JUnit5TestRunnerUtil {
builder = builder.configurationParameter("junit.jupiter.conditions.deactivate", disableDisabledCondition);
}
return builder.selectors(createSelector(suiteClassNames[0])).build();
DiscoverySelector selector = createSelector(suiteClassNames[0]);
assert selector != null : "selector by class name is never null";
return builder.selectors(selector).build();
}
return null;
@@ -199,7 +205,12 @@ public class JUnit5TestRunnerUtil {
}
else if (line.startsWith("\u002B")) {
String directory = line.substring("\u002B".length());
return DiscoverySelectors.selectClasspathRoots(Collections.singleton(Paths.get(directory))).iterator().next();
List<ClasspathRootSelector> selectors = DiscoverySelectors.selectClasspathRoots(Collections.singleton(Paths.get(directory)));
if (selectors.isEmpty()) {
return null;
} else {
return selectors.iterator().next();
}
}
else if (line.contains(",")) {
return DiscoverySelectors.selectMethod(line.replaceFirst(",", "#"));