diff --git a/junit-platform-engine/src/main/java/org/junit/platform/engine/support/hierarchical/HierarchicalTestExecutorService.java b/junit-platform-engine/src/main/java/org/junit/platform/engine/support/hierarchical/HierarchicalTestExecutorService.java index 1fed0663e519..23be08c4ed82 100644 --- a/junit-platform-engine/src/main/java/org/junit/platform/engine/support/hierarchical/HierarchicalTestExecutorService.java +++ b/junit-platform-engine/src/main/java/org/junit/platform/engine/support/hierarchical/HierarchicalTestExecutorService.java @@ -10,6 +10,7 @@ package org.junit.platform.engine.support.hierarchical; +import static org.apiguardian.api.API.Status.EXPERIMENTAL; import static org.apiguardian.api.API.Status.STABLE; import java.util.List; @@ -18,6 +19,7 @@ import org.apiguardian.api.API; import org.jspecify.annotations.Nullable; import org.junit.platform.engine.ExecutionRequest; +import org.junit.platform.engine.TestDescriptor; import org.junit.platform.engine.support.hierarchical.Node.ExecutionMode; /** @@ -95,6 +97,17 @@ interface TestTask { */ ResourceLock getResourceLock(); + /** + * Get the {@linkplain TestDescriptor test descriptor} of this task. + * + * @throws UnsupportedOperationException if not supported for this TestTask implementation + * @since 6.0 + */ + @API(status = EXPERIMENTAL, since = "6.0") + default TestDescriptor getTestDescriptor() { + throw new UnsupportedOperationException(); + } + /** * Execute this task. */ diff --git a/junit-platform-engine/src/main/java/org/junit/platform/engine/support/hierarchical/NodeTestTask.java b/junit-platform-engine/src/main/java/org/junit/platform/engine/support/hierarchical/NodeTestTask.java index 5249236fd729..6fb309dbab65 100644 --- a/junit-platform-engine/src/main/java/org/junit/platform/engine/support/hierarchical/NodeTestTask.java +++ b/junit-platform-engine/src/main/java/org/junit/platform/engine/support/hierarchical/NodeTestTask.java @@ -86,6 +86,11 @@ public ExecutionMode getExecutionMode() { .orElseGet(node::getExecutionMode); } + @Override + public TestDescriptor getTestDescriptor() { + return testDescriptor; + } + @Override public String toString() { return "NodeTestTask [" + testDescriptor + "]";