summaryrefslogtreecommitdiffstats
path: root/vespa-osgi-testrunner
diff options
context:
space:
mode:
authorjonmv <venstad@gmail.com>2022-06-07 08:47:10 +0200
committerjonmv <venstad@gmail.com>2022-06-07 08:47:10 +0200
commit208dfbd3cd01a33276b56c4d5113a2402e9aee02 (patch)
treeab494d7c4669ae3c630bac2dd0a11051acbd088c /vespa-osgi-testrunner
parent5d84fef07d41c09f569c650fad30cb4157270c66 (diff)
Catch more errors during test initialisation
Diffstat (limited to 'vespa-osgi-testrunner')
-rw-r--r--vespa-osgi-testrunner/src/main/java/com/yahoo/vespa/testrunner/JunitRunner.java10
-rw-r--r--vespa-osgi-testrunner/src/main/java/com/yahoo/vespa/testrunner/TestReport.java5
2 files changed, 8 insertions, 7 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 089019111db..54f0941208d 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
@@ -90,8 +90,8 @@ public class JunitRunner extends AbstractComponent implements TestRunner {
try {
logRecords.clear();
execution = CompletableFuture.supplyAsync(() -> launchJunit(suite, testConfig));
- } catch (Exception e) {
- execution = CompletableFuture.completedFuture(TestReport.createFailed(clock, suite, e));
+ } catch (Throwable t) {
+ execution = CompletableFuture.completedFuture(TestReport.createFailed(clock, suite, t));
}
return execution;
}
@@ -158,11 +158,11 @@ public class JunitRunner extends AbstractComponent implements TestRunner {
if (execution.isDone()) {
try {
return execution.get();
- } catch (Exception e) {
- logger.log(Level.WARNING, "Error getting test report", e);
+ } catch (Throwable t) {
+ logger.log(Level.WARNING, "Error getting test report", t);
// Likely this is something wrong with the provided test bundle. Create a test report
// and present in the console to enable tenants to act on it.
- return TestReport.createFailed(clock, null, e);
+ return TestReport.createFailed(clock, null, t);
}
} else {
return null;
diff --git a/vespa-osgi-testrunner/src/main/java/com/yahoo/vespa/testrunner/TestReport.java b/vespa-osgi-testrunner/src/main/java/com/yahoo/vespa/testrunner/TestReport.java
index a4fa3e62c50..e28c0e0a141 100644
--- a/vespa-osgi-testrunner/src/main/java/com/yahoo/vespa/testrunner/TestReport.java
+++ b/vespa-osgi-testrunner/src/main/java/com/yahoo/vespa/testrunner/TestReport.java
@@ -48,10 +48,11 @@ public class TestReport {
this(clock, suite, new ContainerNode(null, toString(suite), clock.instant()));
}
- static TestReport createFailed(Clock clock, Suite suite, Exception exception) {
+ static TestReport createFailed(Clock clock, Suite suite, Throwable thrown) {
+ if (thrown instanceof OutOfMemoryError) throw (Error) thrown;
TestReport failed = new TestReport(clock, suite);
failed.complete();
- failed.root().children.add(new FailureNode(failed.root(), exception, suite));
+ failed.root().children.add(new FailureNode(failed.root(), thrown, suite));
return failed;
}