Skip to content

Commit d035b3c

Browse files
Fix issue where tests with Timeout annotation would fail due to missing reflection configuration.
1 parent 839cd60 commit d035b3c

File tree

2 files changed

+20
-0
lines changed

2 files changed

+20
-0
lines changed

common/junit-platform-native/src/main/java/org/graalvm/junit/platform/config/jupiter/JupiterConfigProvider.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,13 @@ public void onTestClassRegistered(Class<?> testClass, NativeImageConfiguration r
9999
AnnotationUtils.registerClassesFromAnnotationForReflection(testClass, registry, MethodSource.class, JupiterConfigProvider::handleMethodSource);
100100
AnnotationUtils.registerClassesFromAnnotationForReflection(testClass, registry, EnabledIf.class, JupiterConfigProvider::handleEnabledIf);
101101
AnnotationUtils.registerClassesFromAnnotationForReflection(testClass, registry, DisabledIf.class, JupiterConfigProvider::handleDisabledIf);
102+
103+
try {
104+
Class <?> executor = Class.forName("org.junit.jupiter.engine.extension.TimeoutExtension$ExecutorResource");
105+
registry.registerAllClassMembersForReflection(executor);
106+
} catch (ClassNotFoundException e) {
107+
debug("Failed to register class for reflection. Reason: %s", e);
108+
}
102109
}
103110

104111
private static Class<?>[] handleMethodSource(MethodSource annotation) {
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
package org.graalvm.junit.jupiter;
2+
3+
import org.junit.jupiter.api.Assertions;
4+
import org.junit.jupiter.api.Test;
5+
import org.junit.jupiter.api.Timeout;
6+
7+
public class TimeoutTest {
8+
@Test
9+
@Timeout(100)
10+
public void timeoutTest() {
11+
Assertions.assertTrue(true, "Timeout test passing!");
12+
}
13+
}

0 commit comments

Comments
 (0)