2828import org .junit .jupiter .api .MethodOrderer ;
2929import org .junit .jupiter .api .TestInstance ;
3030import org .junit .jupiter .api .extension .ExecutionCondition ;
31+ import org .junit .jupiter .api .extension .Extension ;
3132import org .junit .jupiter .api .extension .ExtensionContext ;
33+ import org .junit .jupiter .api .extension .TestInstantiationAwareExtension ;
3234import org .junit .jupiter .api .io .CleanupMode ;
3335import org .junit .jupiter .api .io .TempDirFactory ;
3436import org .junit .jupiter .api .parallel .ExecutionMode ;
4648import org .junit .platform .engine .ExecutionRequest ;
4749import org .junit .platform .engine .TestDescriptor ;
4850import org .junit .platform .engine .UniqueId ;
51+ import org .junit .platform .engine .reporting .OutputDirectoryProvider ;
4952import org .junit .platform .engine .support .hierarchical .EngineExecutionContext ;
5053import org .junit .platform .engine .support .hierarchical .HierarchicalTestEngine ;
5154import org .junit .platform .engine .support .hierarchical .ThrowableCollector ;
@@ -60,7 +63,7 @@ public String getId() {
6063 @ Override
6164 public TestDescriptor discover (EngineDiscoveryRequest discoveryRequest , UniqueId uniqueId ) {
6265 JupiterConfiguration configuration = new CachingJupiterConfiguration (
63- new DefaultJupiterConfiguration ( discoveryRequest .getConfigurationParameters () ) );
66+ new DefaultJupiterConfiguration ( discoveryRequest .getConfigurationParameters (), discoveryRequest . getOutputDirectoryProvider () ) );
6467 JupiterEngineDescriptor engineDescriptor = new BytecodeEnhancedEngineDescriptor ( uniqueId , configuration );
6568 new DiscoverySelectorResolver ().resolveSelectors ( discoveryRequest , engineDescriptor );
6669
@@ -126,6 +129,7 @@ private void addEnhancementCheck(boolean enhance, String[] testEnhancedClasses,
126129 descriptor .getTestClass ().getName ()
127130 ),
128131 descriptor .getTestClass (),
132+ descriptor ::getEnclosingTestClasses ,
129133 jc ,
130134 enhance ,
131135 testEnhancedClasses
@@ -161,6 +165,7 @@ private void replaceWithEnhanced(Class<?> enhanced, ClassBasedTestDescriptor des
161165 convertUniqueId ( child .getUniqueId (), enhancementContextId ),
162166 updated .getTestClass (),
163167 findMethodReplacement ( updated , testMethod ),
168+ updated ::getEnclosingTestClasses ,
164169 configuration
165170 )
166171 );
@@ -172,6 +177,7 @@ private void replaceWithEnhanced(Class<?> enhanced, ClassBasedTestDescriptor des
172177 convertUniqueId ( child .getUniqueId (), enhancementContextId ),
173178 updated .getTestClass (),
174179 findMethodReplacement ( updated , testMethod ),
180+ updated ::getEnclosingTestClasses ,
175181 configuration
176182 ) );
177183 }
@@ -249,6 +255,11 @@ private DelegatingJupiterConfiguration(JupiterConfiguration configuration, Objec
249255 );
250256 }
251257
258+ @ Override
259+ public Predicate <Class <? extends Extension >> getFilterForAutoDetectedExtensions () {
260+ return configuration .getFilterForAutoDetectedExtensions ();
261+ }
262+
252263 @ Override
253264 public Optional <String > getRawConfigurationParameter (String s ) {
254265 return configuration .getRawConfigurationParameter ( s );
@@ -269,6 +280,11 @@ public boolean isExtensionAutoDetectionEnabled() {
269280 return configuration .isExtensionAutoDetectionEnabled ();
270281 }
271282
283+ @ Override
284+ public boolean isThreadDumpOnTimeoutEnabled () {
285+ return configuration .isThreadDumpOnTimeoutEnabled ();
286+ }
287+
272288 @ Override
273289 public ExecutionMode getDefaultExecutionMode () {
274290 return configuration .getDefaultExecutionMode ();
@@ -313,6 +329,16 @@ public CleanupMode getDefaultTempDirCleanupMode() {
313329 public Supplier <TempDirFactory > getDefaultTempDirFactorySupplier () {
314330 return configuration .getDefaultTempDirFactorySupplier ();
315331 }
332+
333+ @ Override
334+ public TestInstantiationAwareExtension .ExtensionContextScope getDefaultTestInstantiationExtensionContextScope () {
335+ return configuration .getDefaultTestInstantiationExtensionContextScope ();
336+ }
337+
338+ @ Override
339+ public OutputDirectoryProvider getOutputDirectoryProvider () {
340+ return configuration .getOutputDirectoryProvider ();
341+ }
316342 }
317343
318344 private static class DelegatingDisplayNameGenerator implements DisplayNameGenerator {
@@ -335,13 +361,13 @@ private String prefix() {
335361 }
336362
337363 @ Override
338- public String generateDisplayNameForNestedClass (Class <?> aClass ) {
339- return prefix () + delegate .generateDisplayNameForNestedClass ( aClass );
364+ public String generateDisplayNameForNestedClass (List < Class <?>> enclosingInstanceTypes , Class <?> nestedClass ) {
365+ return prefix () + delegate .generateDisplayNameForNestedClass ( enclosingInstanceTypes , nestedClass );
340366 }
341367
342368 @ Override
343- public String generateDisplayNameForMethod (Class <?> aClass , Method method ) {
344- return prefix () + delegate .generateDisplayNameForMethod ( aClass , method );
369+ public String generateDisplayNameForMethod (List < Class <?>> enclosingInstanceTypes , Class <?> testClass , Method testMethod ) {
370+ return prefix () + delegate .generateDisplayNameForMethod ( enclosingInstanceTypes , testClass , testMethod );
345371 }
346372 }
347373
@@ -350,12 +376,11 @@ private static class EnhancementWorkedCheckMethodTestDescriptor extends TestMeth
350376 private final boolean enhanced ;
351377 private final String [] classes ;
352378
353- public EnhancementWorkedCheckMethodTestDescriptor (UniqueId uniqueId , Class <?> testClass ,
354- JupiterConfiguration configuration ,
355- boolean enhanced , String [] classes ) {
379+ public EnhancementWorkedCheckMethodTestDescriptor (UniqueId uniqueId , Class <?> testClass , Supplier <List <Class <?>>> enclosingInstanceTypes , JupiterConfiguration configuration , boolean enhanced , String [] classes ) {
356380 super (
357381 prepareId ( uniqueId , testMethod ( enhanced ) ),
358382 testClass , testMethod ( enhanced ),
383+ enclosingInstanceTypes ,
359384 configuration
360385 );
361386 this .enhanced = enhanced ;
0 commit comments