Skip to content

Commit 96b0c2f

Browse files
committed
Do not throw NPE in AfterAll interceptor if application didn't start
This is to solve an issue that we can see from time to time in the CI: java.lang.NullPointerException: Cannot invoke "io.quarkus.bootstrap.app.RunningQuarkusApplication.getClassLoader()" because "io.quarkus.test.junit.QuarkusTestExtension.runningQuarkusApplication" is null at io.quarkus.test.junit.QuarkusTestExtension.runExtensionMethod(QuarkusTestExtension.java:909) at io.quarkus.test.junit.QuarkusTestExtension.runExtensionMethod(QuarkusTestExtension.java:901) at io.quarkus.test.junit.QuarkusTestExtension.interceptAfterAllMethod(QuarkusTestExtension.java:895) at java.base/java.util.ArrayList.forEach(ArrayList.java:1596) at java.base/java.util.Collections$UnmodifiableCollection.forEach(Collections.java:1116) at java.base/java.util.ArrayList.forEach(ArrayList.java:1596) Suppressed: org.opentest4j.TestAbortedException: Boot failed For instance here: #43448 (comment) in the io.quarkus.it.mongodb.BookResourceTest failure.
1 parent 123ea8e commit 96b0c2f

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

test-framework/junit5/src/main/java/io/quarkus/test/junit/QuarkusTestExtension.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -888,7 +888,7 @@ public void interceptAfterEachMethod(Invocation<Void> invocation, ReflectiveInvo
888888
@Override
889889
public void interceptAfterAllMethod(Invocation<Void> invocation, ReflectiveInvocationContext<Method> invocationContext,
890890
ExtensionContext extensionContext) throws Throwable {
891-
if (isNativeOrIntegrationTest(extensionContext.getRequiredTestClass())) {
891+
if (runningQuarkusApplication == null || isNativeOrIntegrationTest(extensionContext.getRequiredTestClass())) {
892892
invocation.proceed();
893893
return;
894894
}

0 commit comments

Comments
 (0)