These two variables are not properly reset when a run completes
private void checkSampleTimeout() {
long previousSampleCount = 0;
long previousSampleTime = 0;
while noResultsReturned = 0; is reset in the endOfRun method.
This means that once the first run completes and noResultsReturned is reset to 0 this if condition is never true
if (previousSampleCount < noResultsReturned) {
previousSampleCount = noResultsReturned;
previousSampleTime = System.currentTimeMillis();
} else {
if (previousSampleTime < (System.currentTimeMillis() - jlbhOptions.timeout)) {
printStream.println("Sample timed out. Aborting test...");
abort();
break;
}
}
Meaning the previousSampleCount and previousSampleTime are never updated and unless the jlbhOptions.timeout value is larger than the total runtime of all remaining runs in the test it will eventually trigger a timeout when it should not.
To fix this previousSampleCount and previousSampleTime should be reset alongside the reset that already happens to noResultsReturned in the endOfRun method.
These two variables are not properly reset when a run completes
while
noResultsReturned = 0;is reset in theendOfRunmethod.This means that once the first run completes and
noResultsReturnedis reset to 0 this if condition is never trueMeaning the
previousSampleCountandpreviousSampleTimeare never updated and unless thejlbhOptions.timeoutvalue is larger than the total runtime of all remaining runs in the test it will eventually trigger a timeout when it should not.To fix this
previousSampleCountandpreviousSampleTimeshould be reset alongside the reset that already happens tonoResultsReturnedin theendOfRunmethod.