in junit-platform-launcher/src/main/java/org/junit/platform/launcher/core/EngineDiscoveryOrchestrator.java [67:96]
public LauncherDiscoveryResult discover(LauncherDiscoveryRequest request, String phase) {
Map<TestEngine, TestDescriptor> testEngineDescriptors = new LinkedHashMap<>();
for (TestEngine testEngine : this.testEngines) {
boolean engineIsExcluded = request.getEngineFilters().stream() //
.map(engineFilter -> engineFilter.apply(testEngine)) //
.anyMatch(FilterResult::excluded);
if (engineIsExcluded) {
logger.debug(() -> String.format(
"Test discovery for engine '%s' was skipped due to an EngineFilter in phase '%s'.",
testEngine.getId(), phase));
continue;
}
logger.debug(() -> String.format("Discovering tests during Launcher %s phase in engine '%s'.", phase,
testEngine.getId()));
TestDescriptor rootDescriptor = discoverEngineRoot(testEngine, request);
testEngineDescriptors.put(testEngine, rootDescriptor);
}
List<PostDiscoveryFilter> filters = new LinkedList<>(postDiscoveryFilters);
filters.addAll(request.getPostDiscoveryFilters());
applyPostDiscoveryFilters(testEngineDescriptors, filters);
prune(testEngineDescriptors);
return new LauncherDiscoveryResult(testEngineDescriptors, request.getConfigurationParameters());
}