Make sure TCCL is correct for outer test class

We still need to create an instance of the original test,
make sure the TCCL is correct to avoid problems
This commit is contained in:
Stuart Douglas
2020-01-29 10:29:34 +11:00
parent 6705a0d5a8
commit d881a31a92
2 changed files with 27 additions and 1 deletions

View File

@@ -0,0 +1,19 @@
package io.quarkus.it.jsonb;
import javax.json.bind.spi.JsonbProvider;
import org.junit.jupiter.api.Test;
import io.quarkus.test.junit.QuarkusTest;
@QuarkusTest
class JsonInStaticBlockTestCase {
static {
JsonbProvider.provider().create();
}
@Test
void get() {
}
}

View File

@@ -252,7 +252,14 @@ public class QuarkusTestExtension
if (isNativeTest(extensionContext)) {
return invocation.proceed();
}
T result = invocation.proceed();
T result;
ClassLoader old = Thread.currentThread().getContextClassLoader();
try {
Thread.currentThread().setContextClassLoader(extensionContext.getRequiredTestClass().getClassLoader());
result = invocation.proceed();
} finally {
Thread.currentThread().setContextClassLoader(old);
}
ExtensionState state = ensureStarted(extensionContext);
initTestState(extensionContext, state);
return result;