diff options
Diffstat (limited to 'vespa-osgi-testrunner')
-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(); } |