summaryrefslogtreecommitdiffstats
path: root/vespa-osgi-testrunner
diff options
context:
space:
mode:
authorjonmv <venstad@gmail.com>2022-05-11 13:28:40 +0200
committerjonmv <venstad@gmail.com>2022-05-11 13:28:40 +0200
commit64eb204764af59d2e3253c093351a51ec4680e8a (patch)
tree6173c991c4c1d886932af00ec9d36a6407b139af /vespa-osgi-testrunner
parenta63453fdb073b22ab234edf133761a52386724d6 (diff)
Synchronize when reading logs and reports as well, for future proofness
Diffstat (limited to 'vespa-osgi-testrunner')
-rw-r--r--vespa-osgi-testrunner/src/main/java/com/yahoo/vespa/testrunner/AggregateTestRunner.java16
1 files changed, 9 insertions, 7 deletions
diff --git a/vespa-osgi-testrunner/src/main/java/com/yahoo/vespa/testrunner/AggregateTestRunner.java b/vespa-osgi-testrunner/src/main/java/com/yahoo/vespa/testrunner/AggregateTestRunner.java
index 5c54349335b..15aeef18013 100644
--- a/vespa-osgi-testrunner/src/main/java/com/yahoo/vespa/testrunner/AggregateTestRunner.java
+++ b/vespa-osgi-testrunner/src/main/java/com/yahoo/vespa/testrunner/AggregateTestRunner.java
@@ -13,7 +13,7 @@ import java.util.logging.LogRecord;
public class AggregateTestRunner implements TestRunner {
private final List<TestRunner> wrapped;
- private volatile int current = -1;
+ private int current = -1;
private final Object monitor = new Object();
private AggregateTestRunner(List<TestRunner> testRunners) {
@@ -27,9 +27,10 @@ public class AggregateTestRunner implements TestRunner {
@Override
public Collection<LogRecord> getLog(long after) {
ArrayList<LogRecord> records = new ArrayList<>();
- for (int i = 0; i <= current && i < wrapped.size(); i++)
- records.addAll(wrapped.get(i).getLog(after));
-
+ synchronized (monitor) {
+ for (int i = 0; i <= current && i < wrapped.size(); i++)
+ records.addAll(wrapped.get(i).getLog(after));
+ }
return records;
}
@@ -79,9 +80,10 @@ public class AggregateTestRunner implements TestRunner {
@Override
public TestReport getReport() {
TestReport report = null;
- for (int i = 0; i < current && i < wrapped.size(); i++)
- report = merge(report, wrapped.get(i).getReport());
-
+ synchronized (monitor) {
+ for (int i = 0; i < current && i < wrapped.size(); i++)
+ report = merge(report, wrapped.get(i).getReport());
+ }
return report;
}