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
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classEngineDiscoveryOrchestrator.Phase
-
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 Instance Methods Concrete Methods Modifier and Type Method Description private voidacceptInAllTestEngines(java.util.Map<TestEngine,TestDescriptor> testEngineDescriptors, TestDescriptor.Visitor visitor)private voidapplyPostDiscoveryFilters(java.util.Map<TestEngine,TestDescriptor> testEngineDescriptors, java.util.List<PostDiscoveryFilter> filters)LauncherDiscoveryResultdiscover(LauncherDiscoveryRequest request, EngineDiscoveryOrchestrator.Phase phase)Discovers tests for the supplied request in the supplied phase using the configured test engines.private java.util.Map<TestEngine,TestDescriptor>discover(LauncherDiscoveryRequest request, EngineDiscoveryOrchestrator.Phase phase, java.util.function.Function<java.lang.String,UniqueId> uniqueIdCreator)LauncherDiscoveryResultdiscover(LauncherDiscoveryRequest request, EngineDiscoveryOrchestrator.Phase phase, UniqueId parentId)Discovers tests for the supplied request in the supplied phase using the configured test engines to be used by the suite engine.private TestDescriptordiscoverEngineRoot(TestEngine testEngine, LauncherDiscoveryRequest request, LauncherDiscoveryListener listener, java.util.function.Function<java.lang.String,UniqueId> uniqueIdCreator)private java.util.Map<TestEngine,TestDescriptor>discoverSafely(LauncherDiscoveryRequest request, EngineDiscoveryOrchestrator.Phase phase, LauncherDiscoveryListener listener, java.util.function.Function<java.lang.String,UniqueId> uniqueIdCreator)(package private) LauncherDiscoveryListenergetLauncherDiscoveryListener(LauncherDiscoveryRequest discoveryRequest)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,TestDescriptor> testEngineDescriptors)Prune all branches in the tree ofTestDescriptorsthat do not have executable tests.
-
-
-
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, EngineDiscoveryOrchestrator.Phase phase)
Discovers tests for the supplied request in the supplied phase using the configured test engines.Applies engine filters and post-discovery filters and prunes the resulting test tree.
-
discover
public LauncherDiscoveryResult discover(LauncherDiscoveryRequest request, EngineDiscoveryOrchestrator.Phase phase, 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
EngineExecutionOrchestrator.execute(LauncherDiscoveryResult, EngineExecutionListener)will not emit start or emit events for engines without tests.
-
discover
private java.util.Map<TestEngine,TestDescriptor> discover(LauncherDiscoveryRequest request, EngineDiscoveryOrchestrator.Phase phase, java.util.function.Function<java.lang.String,UniqueId> uniqueIdCreator)
-
discoverSafely
private java.util.Map<TestEngine,TestDescriptor> discoverSafely(LauncherDiscoveryRequest request, EngineDiscoveryOrchestrator.Phase phase, LauncherDiscoveryListener listener, java.util.function.Function<java.lang.String,UniqueId> uniqueIdCreator)
-
discoverEngineRoot
private TestDescriptor discoverEngineRoot(TestEngine testEngine, LauncherDiscoveryRequest request, LauncherDiscoveryListener listener, java.util.function.Function<java.lang.String,UniqueId> uniqueIdCreator)
-
getLauncherDiscoveryListener
LauncherDiscoveryListener getLauncherDiscoveryListener(LauncherDiscoveryRequest discoveryRequest)
-
applyPostDiscoveryFilters
private void applyPostDiscoveryFilters(java.util.Map<TestEngine,TestDescriptor> 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,TestDescriptor> testEngineDescriptors)
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,TestDescriptor> testEngineDescriptors, TestDescriptor.Visitor visitor)
-
-