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.Object
Orchestrates test discovery using the configured test engines.- Since:
- 1.7
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
EngineDiscoveryOrchestrator.Phase
-
Field Summary
Fields Modifier and Type Field Description private EngineDiscoveryResultValidator
discoveryResultValidator
private ListenerRegistry<LauncherDiscoveryListener>
launcherDiscoveryListenerRegistry
private static org.junit.platform.commons.logging.Logger
logger
private java.util.Collection<PostDiscoveryFilter>
postDiscoveryFilters
private 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 void
acceptInAllTestEngines(java.util.Map<TestEngine,TestDescriptor> testEngineDescriptors, TestDescriptor.Visitor visitor)
private void
applyPostDiscoveryFilters(java.util.Map<TestEngine,TestDescriptor> testEngineDescriptors, java.util.List<PostDiscoveryFilter> filters)
LauncherDiscoveryResult
discover(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)
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.private TestDescriptor
discoverEngineRoot(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) LauncherDiscoveryListener
getLauncherDiscoveryListener(LauncherDiscoveryRequest discoveryRequest)
private boolean
isExcluded(TestDescriptor descriptor, FilterResult filterResult)
private void
logTestDescriptorExclusionReasons(java.util.Map<java.lang.String,java.util.List<TestDescriptor>> excludedTestDescriptorsByReason)
private void
populateExclusionReasonInMap(java.util.Optional<java.lang.String> reason, TestDescriptor testDescriptor, java.util.Map<java.lang.String,java.util.List<TestDescriptor>> excludedTestDescriptorsByReason)
private void
prune(java.util.Map<TestEngine,TestDescriptor> testEngineDescriptors)
Prune all branches in the tree ofTestDescriptors
that 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 ofTestDescriptors
that do not have executable tests.If a
TestEngine
ends up with noTestDescriptors
after 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)
-
-