Package org.junit.platform.launcher.core
Class EngineDiscoveryOrchestrator
- java.lang.Object
-
- org.junit.platform.launcher.core.EngineDiscoveryOrchestrator
-
@API(status=INTERNAL, since="1.7", consumers={"org.junit.platform.testkit","org.junit.platform.suite.engine"}) public class EngineDiscoveryOrchestrator extends java.lang.ObjectOrchestrates test discovery using the configured test engines.- Since:
- 1.7
-
-
Field Summary
Fields Modifier and Type Field Description private EngineDiscoveryResultValidatordiscoveryResultValidatorprivate ListenerRegistry<LauncherDiscoveryListener>launcherDiscoveryListenerRegistryprivate static org.junit.platform.commons.logging.Loggerloggerprivate java.util.Collection<PostDiscoveryFilter>postDiscoveryFiltersprivate java.lang.Iterable<TestEngine>testEngines
-
Constructor Summary
Constructors Constructor Description EngineDiscoveryOrchestrator(java.lang.Iterable<TestEngine> testEngines, java.util.Collection<PostDiscoveryFilter> postDiscoveryFilters)EngineDiscoveryOrchestrator(java.lang.Iterable<TestEngine> testEngines, java.util.Collection<PostDiscoveryFilter> postDiscoveryFilters, ListenerRegistry<LauncherDiscoveryListener> launcherDiscoveryListenerRegistry)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private voidacceptInAllTestEngines(java.util.Map<TestEngine,LauncherDiscoveryResult.EngineResultInfo> testEngineResults, TestDescriptor.Visitor visitor)private voidapplyPostDiscoveryFilters(java.util.Map<TestEngine,LauncherDiscoveryResult.EngineResultInfo> testEngineDescriptors, java.util.List<PostDiscoveryFilter> filters)LauncherDiscoveryResultdiscover(LauncherDiscoveryRequest request)Discovers tests for the supplied request using the configured test engines.private LauncherDiscoveryResultdiscover(LauncherDiscoveryRequest request, java.util.Optional<LauncherPhase> phase, java.util.function.Function<java.lang.String,UniqueId> uniqueIdCreator)LauncherDiscoveryResultdiscover(LauncherDiscoveryRequest request, UniqueId parentId)Discovers tests for the supplied request in the supplied phase using the configured test engines to be used by the suite engine.(package private) LauncherDiscoveryResultdiscover(LauncherDiscoveryRequest request, LauncherPhase phase)private LauncherDiscoveryResult.EngineResultInfodiscoverEngineRoot(TestEngine testEngine, LauncherDiscoveryRequest request, DiscoveryIssueCollector issueCollector, java.util.function.Function<java.lang.String,UniqueId> uniqueIdCreator)private java.util.Map<TestEngine,LauncherDiscoveryResult.EngineResultInfo>discoverSafely(LauncherDiscoveryRequest request, java.util.Optional<LauncherPhase> phase, DiscoveryIssueCollector issueCollector, java.util.function.Function<java.lang.String,UniqueId> uniqueIdCreator)(package private) LauncherDiscoveryListenergetLauncherDiscoveryListener(LauncherDiscoveryRequest discoveryRequest, DiscoveryIssueCollector issueCollector)private booleanisExcluded(TestDescriptor descriptor, FilterResult filterResult)private voidlogTestDescriptorExclusionReasons(java.util.Map<java.lang.String,java.util.List<TestDescriptor>> excludedTestDescriptorsByReason)private voidpopulateExclusionReasonInMap(java.util.Optional<java.lang.String> reason, TestDescriptor testDescriptor, java.util.Map<java.lang.String,java.util.List<TestDescriptor>> excludedTestDescriptorsByReason)private voidprune(java.util.Map<TestEngine,LauncherDiscoveryResult.EngineResultInfo> testEngineResults)Prune all branches in the tree ofTestDescriptorsthat do not have executable tests.private static voidreportDiscoveryIssues(LauncherDiscoveryResult discoveryResult)private static booleanshouldReportDiscoveryIssues(LauncherDiscoveryRequest request, java.util.Optional<LauncherPhase> phase)
-
-
-
Field Detail
-
logger
private static final org.junit.platform.commons.logging.Logger logger
-
discoveryResultValidator
private final EngineDiscoveryResultValidator discoveryResultValidator
-
testEngines
private final java.lang.Iterable<TestEngine> testEngines
-
postDiscoveryFilters
private final java.util.Collection<PostDiscoveryFilter> postDiscoveryFilters
-
launcherDiscoveryListenerRegistry
private final ListenerRegistry<LauncherDiscoveryListener> launcherDiscoveryListenerRegistry
-
-
Constructor Detail
-
EngineDiscoveryOrchestrator
public EngineDiscoveryOrchestrator(java.lang.Iterable<TestEngine> testEngines, java.util.Collection<PostDiscoveryFilter> postDiscoveryFilters)
-
EngineDiscoveryOrchestrator
EngineDiscoveryOrchestrator(java.lang.Iterable<TestEngine> testEngines, java.util.Collection<PostDiscoveryFilter> postDiscoveryFilters, ListenerRegistry<LauncherDiscoveryListener> launcherDiscoveryListenerRegistry)
-
-
Method Detail
-
discover
public LauncherDiscoveryResult discover(LauncherDiscoveryRequest request)
Discovers tests for the supplied request using the configured test engines.Applies engine filters and post-discovery filters and prunes the resulting test tree.
-
discover
LauncherDiscoveryResult discover(LauncherDiscoveryRequest request, LauncherPhase phase)
-
discover
public LauncherDiscoveryResult discover(LauncherDiscoveryRequest request, UniqueId parentId)
Discovers tests for the supplied request in the supplied phase using the configured test engines to be used by the suite engine.Applies engine filters and post-discovery filters and prunes the resulting test tree.
Note: The test descriptors in the discovery result can safely be used as non-root descriptors. Engine-test descriptor entries are pruned from the returned result. As such execution by
EngineExecutionOrchestratorwill not emit start or emit events for engines without tests.
-
discover
private LauncherDiscoveryResult discover(LauncherDiscoveryRequest request, java.util.Optional<LauncherPhase> phase, java.util.function.Function<java.lang.String,UniqueId> uniqueIdCreator)
-
shouldReportDiscoveryIssues
private static boolean shouldReportDiscoveryIssues(LauncherDiscoveryRequest request, java.util.Optional<LauncherPhase> phase)
-
reportDiscoveryIssues
private static void reportDiscoveryIssues(LauncherDiscoveryResult discoveryResult)
-
discoverSafely
private java.util.Map<TestEngine,LauncherDiscoveryResult.EngineResultInfo> discoverSafely(LauncherDiscoveryRequest request, java.util.Optional<LauncherPhase> phase, DiscoveryIssueCollector issueCollector, java.util.function.Function<java.lang.String,UniqueId> uniqueIdCreator)
-
discoverEngineRoot
private LauncherDiscoveryResult.EngineResultInfo discoverEngineRoot(TestEngine testEngine, LauncherDiscoveryRequest request, DiscoveryIssueCollector issueCollector, java.util.function.Function<java.lang.String,UniqueId> uniqueIdCreator)
-
getLauncherDiscoveryListener
LauncherDiscoveryListener getLauncherDiscoveryListener(LauncherDiscoveryRequest discoveryRequest, DiscoveryIssueCollector issueCollector)
-
applyPostDiscoveryFilters
private void applyPostDiscoveryFilters(java.util.Map<TestEngine,LauncherDiscoveryResult.EngineResultInfo> testEngineDescriptors, java.util.List<PostDiscoveryFilter> filters)
-
populateExclusionReasonInMap
private void populateExclusionReasonInMap(java.util.Optional<java.lang.String> reason, TestDescriptor testDescriptor, java.util.Map<java.lang.String,java.util.List<TestDescriptor>> excludedTestDescriptorsByReason)
-
logTestDescriptorExclusionReasons
private void logTestDescriptorExclusionReasons(java.util.Map<java.lang.String,java.util.List<TestDescriptor>> excludedTestDescriptorsByReason)
-
prune
private void prune(java.util.Map<TestEngine,LauncherDiscoveryResult.EngineResultInfo> testEngineResults)
Prune all branches in the tree ofTestDescriptorsthat do not have executable tests.If a
TestEngineends up with noTestDescriptorsafter pruning, it will not be removed.
-
isExcluded
private boolean isExcluded(TestDescriptor descriptor, FilterResult filterResult)
-
acceptInAllTestEngines
private void acceptInAllTestEngines(java.util.Map<TestEngine,LauncherDiscoveryResult.EngineResultInfo> testEngineResults, TestDescriptor.Visitor visitor)
-
-