Skip to content

Commit

Permalink
Apply test profiles on super-tests, for native image
Browse files Browse the repository at this point in the history
  • Loading branch information
FroMage committed Feb 17, 2021
1 parent ced0519 commit d1ca807
Showing 1 changed file with 12 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -93,11 +93,7 @@ private ExtensionState ensureStarted(ExtensionContext extensionContext) {
ExtensionContext root = extensionContext.getRoot();
ExtensionContext.Store store = root.getStore(ExtensionContext.Namespace.GLOBAL);
ExtensionState state = store.get(ExtensionState.class.getName(), ExtensionState.class);
TestProfile annotation = testClass.getAnnotation(TestProfile.class);
Class<? extends QuarkusTestProfile> selectedProfile = null;
if (annotation != null) {
selectedProfile = annotation.value();
}
Class<? extends QuarkusTestProfile> selectedProfile = findProfile(testClass);
boolean wrongProfile = !Objects.equals(selectedProfile, quarkusTestProfile);
// we reload the test resources if we changed test class and if we had or will have per-test test resources
boolean reloadTestResources = !Objects.equals(extensionContext.getRequiredTestClass(), currentJUnitTestClass)
Expand Down Expand Up @@ -125,6 +121,17 @@ private ExtensionState ensureStarted(ExtensionContext extensionContext) {
return state;
}

private Class<? extends QuarkusTestProfile> findProfile(Class<?> testClass) {
while (testClass != Object.class) {
TestProfile annotation = testClass.getAnnotation(TestProfile.class);
if (annotation != null) {
return annotation.value();
}
testClass = testClass.getSuperclass();
}
return null;
}

private ExtensionState doNativeStart(ExtensionContext context, Class<? extends QuarkusTestProfile> profile)
throws Throwable {
quarkusTestProfile = profile;
Expand Down

0 comments on commit d1ca807

Please sign in to comment.