diff options
author | jonmv <venstad@gmail.com> | 2022-06-13 22:59:41 +0200 |
---|---|---|
committer | jonmv <venstad@gmail.com> | 2022-06-13 22:59:41 +0200 |
commit | 59451bfb037dd766df1564121ac35c7f728f95b5 (patch) | |
tree | 0c701edc7926914a070a21b6dc317c95b83ddad3 /vespa-osgi-testrunner/src | |
parent | 9ed4500b380ce77c1dc9f303006c02ba8096ee42 (diff) |
Set context class loader for JUnit
Diffstat (limited to 'vespa-osgi-testrunner/src')
-rw-r--r-- | vespa-osgi-testrunner/src/main/java/com/yahoo/vespa/testrunner/JunitRunner.java | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/vespa-osgi-testrunner/src/main/java/com/yahoo/vespa/testrunner/JunitRunner.java b/vespa-osgi-testrunner/src/main/java/com/yahoo/vespa/testrunner/JunitRunner.java index 54f0941208d..75873e7b997 100644 --- a/vespa-osgi-testrunner/src/main/java/com/yahoo/vespa/testrunner/JunitRunner.java +++ b/vespa-osgi-testrunner/src/main/java/com/yahoo/vespa/testrunner/JunitRunner.java @@ -103,7 +103,7 @@ public class JunitRunner extends AbstractComponent implements TestRunner { private TestReport launchJunit(Suite suite, byte[] testConfig) { List<Class<?>> testClasses = classLoader.apply(suite); - if (testClasses == null) + if (testClasses == null || testClasses.isEmpty()) return null; testRuntimeProvider.initialize(testConfig); @@ -117,7 +117,14 @@ public class JunitRunner extends AbstractComponent implements TestRunner { .map(DiscoverySelectors::selectClass) .collect(toList())) .build(); - testExecutor.accept(discoveryRequest, new TestExecutionListener[] { testReportListener }); + ClassLoader old = Thread.currentThread().getContextClassLoader(); + try { + Thread.currentThread().setContextClassLoader(testClasses.get(0).getClassLoader()); + testExecutor.accept(discoveryRequest, new TestExecutionListener[] { testReportListener }); + } + finally { + Thread.currentThread().setContextClassLoader(old); + } return testReportListener.report(); } |