diff options
author | jonmv <venstad@gmail.com> | 2022-05-11 13:28:40 +0200 |
---|---|---|
committer | jonmv <venstad@gmail.com> | 2022-05-11 13:28:40 +0200 |
commit | 64eb204764af59d2e3253c093351a51ec4680e8a (patch) | |
tree | 6173c991c4c1d886932af00ec9d36a6407b139af /vespa-osgi-testrunner | |
parent | a63453fdb073b22ab234edf133761a52386724d6 (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.java | 16 |
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; } |