From 2bad2e8a63c934083eb922225bd365217bfb3b30 Mon Sep 17 00:00:00 2001 From: Christian Beikov Date: Wed, 9 Apr 2025 10:49:04 +0200 Subject: [PATCH 1/2] Make bytecode test engine backwards compatible with older JUnit versions --- .../extension/engine/BytecodeEnhancedTestEngine.java | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/hibernate-testing/src/main/java/org/hibernate/testing/bytecode/enhancement/extension/engine/BytecodeEnhancedTestEngine.java b/hibernate-testing/src/main/java/org/hibernate/testing/bytecode/enhancement/extension/engine/BytecodeEnhancedTestEngine.java index 0ec122aae6b2..5f285a9ee6f3 100644 --- a/hibernate-testing/src/main/java/org/hibernate/testing/bytecode/enhancement/extension/engine/BytecodeEnhancedTestEngine.java +++ b/hibernate-testing/src/main/java/org/hibernate/testing/bytecode/enhancement/extension/engine/BytecodeEnhancedTestEngine.java @@ -35,15 +35,13 @@ import org.junit.jupiter.api.io.CleanupMode; import org.junit.jupiter.api.io.TempDirFactory; import org.junit.jupiter.api.parallel.ExecutionMode; -import org.junit.jupiter.engine.config.CachingJupiterConfiguration; -import org.junit.jupiter.engine.config.DefaultJupiterConfiguration; +import org.junit.jupiter.engine.JupiterTestEngine; import org.junit.jupiter.engine.config.JupiterConfiguration; import org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor; import org.junit.jupiter.engine.descriptor.ClassTestDescriptor; import org.junit.jupiter.engine.descriptor.JupiterEngineDescriptor; import org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor; import org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor; -import org.junit.jupiter.engine.discovery.DiscoverySelectorResolver; import org.junit.jupiter.engine.execution.JupiterEngineExecutionContext; import org.junit.platform.engine.EngineDiscoveryRequest; import org.junit.platform.engine.ExecutionRequest; @@ -62,10 +60,7 @@ public String getId() { @Override public TestDescriptor discover(EngineDiscoveryRequest discoveryRequest, UniqueId uniqueId) { - JupiterConfiguration configuration = new CachingJupiterConfiguration( - new DefaultJupiterConfiguration( discoveryRequest.getConfigurationParameters() ) ); - JupiterEngineDescriptor engineDescriptor = new BytecodeEnhancedEngineDescriptor( uniqueId, configuration ); - new DiscoverySelectorResolver().resolveSelectors( discoveryRequest, engineDescriptor ); + final JupiterEngineDescriptor engineDescriptor = (JupiterEngineDescriptor) new JupiterTestEngine().discover(discoveryRequest, uniqueId); for ( TestDescriptor testDescriptor : new HashSet<>( engineDescriptor.getChildren() ) ) { if ( testDescriptor instanceof ClassBasedTestDescriptor ) { From 4897ff21ab06ec93f1328786fe9a5942e0f8db82 Mon Sep 17 00:00:00 2001 From: Christian Beikov Date: Wed, 9 Apr 2025 14:35:07 +0200 Subject: [PATCH 2/2] Make bytecode test engine backwards compatible with older JUnit versions --- .../engine/BytecodeEnhancedEngineDescriptor.java | 8 ++++++++ .../extension/engine/BytecodeEnhancedTestEngine.java | 4 +++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/hibernate-testing/src/main/java/org/hibernate/testing/bytecode/enhancement/extension/engine/BytecodeEnhancedEngineDescriptor.java b/hibernate-testing/src/main/java/org/hibernate/testing/bytecode/enhancement/extension/engine/BytecodeEnhancedEngineDescriptor.java index e8e279614cdf..dabdb9d7417f 100644 --- a/hibernate-testing/src/main/java/org/hibernate/testing/bytecode/enhancement/extension/engine/BytecodeEnhancedEngineDescriptor.java +++ b/hibernate-testing/src/main/java/org/hibernate/testing/bytecode/enhancement/extension/engine/BytecodeEnhancedEngineDescriptor.java @@ -8,10 +8,18 @@ import org.junit.jupiter.engine.config.JupiterConfiguration; import org.junit.jupiter.engine.descriptor.JupiterEngineDescriptor; +import org.junit.platform.engine.TestDescriptor; import org.junit.platform.engine.UniqueId; public class BytecodeEnhancedEngineDescriptor extends JupiterEngineDescriptor { public BytecodeEnhancedEngineDescriptor(UniqueId uniqueId, JupiterConfiguration configuration) { super( uniqueId, configuration ); } + + public BytecodeEnhancedEngineDescriptor(JupiterEngineDescriptor engineDescriptor) { + super( engineDescriptor.getUniqueId(), engineDescriptor.getConfiguration() ); + for ( TestDescriptor child : engineDescriptor.getChildren() ) { + addChild( child ); + } + } } diff --git a/hibernate-testing/src/main/java/org/hibernate/testing/bytecode/enhancement/extension/engine/BytecodeEnhancedTestEngine.java b/hibernate-testing/src/main/java/org/hibernate/testing/bytecode/enhancement/extension/engine/BytecodeEnhancedTestEngine.java index 5f285a9ee6f3..bcc9d49f227f 100644 --- a/hibernate-testing/src/main/java/org/hibernate/testing/bytecode/enhancement/extension/engine/BytecodeEnhancedTestEngine.java +++ b/hibernate-testing/src/main/java/org/hibernate/testing/bytecode/enhancement/extension/engine/BytecodeEnhancedTestEngine.java @@ -60,7 +60,9 @@ public String getId() { @Override public TestDescriptor discover(EngineDiscoveryRequest discoveryRequest, UniqueId uniqueId) { - final JupiterEngineDescriptor engineDescriptor = (JupiterEngineDescriptor) new JupiterTestEngine().discover(discoveryRequest, uniqueId); + final BytecodeEnhancedEngineDescriptor engineDescriptor = new BytecodeEnhancedEngineDescriptor( + (JupiterEngineDescriptor) new JupiterTestEngine().discover( discoveryRequest, uniqueId ) + ); for ( TestDescriptor testDescriptor : new HashSet<>( engineDescriptor.getChildren() ) ) { if ( testDescriptor instanceof ClassBasedTestDescriptor ) {