test: improve evaluation of t0020.fio and t0021.fio
We previously used an arbirtrary test based on a count of consecutive
offsets to decide whether the offsets from t0020.fio and t0021.fio were
random or not. Replace this with a Wald-Wolfowitz runs test. This new
test calculates a statistic based on whether each offset is in the first
or second half of the LBA space. So it is not particularly powerful
although it has a more sound statistical justification than what we
originally had.
Recent changes to fio's default random number seeds produced false
positives with t0020.fio and prompted this change.
Consider calculating the test statistic directly instead of relying on
the statsmodel import in order to reduce the dependencies required.
References:
https://www.statology.org/runs-test-python/
https://www.geeksforgeeks.org/runs-test-of-randomness-in-python/
https://www.investopedia.com/terms/r/runs_test.asp
https://www.statsmodels.org/stable/generated/statsmodels.sandbox.stats.runs.runstest_1samp.html
Signed-off-by: Vincent Fu <vincent.fu@samsung.com>