-#!/usr/bin/env python
-# Note: this script is python2 and python3 compatible.
+#!/usr/bin/env python3
#
# steadystate_tests.py
#
-# Test option parsing and functonality for fio's steady state detection feature.
+# Test option parsing and functionality for fio's steady state detection feature.
#
# steadystate_tests.py --read file-for-read-testing --write file-for-write-testing ./fio
#
for job in reads:
tf = "steadystate_job{0}.json".format(jobnum)
- parameters = [ "--name=job{0}".format(jobnum) ]
+ parameters = [ "--max-jobs=16", "--name=job{0}".format(jobnum) ]
parameters.extend([ "--thread",
"--output-format=json",
"--output={0}".format(tf),
# check runtime, confirm criterion calculation, and confirm that criterion was not met
expected = job['timeout'] * 1000
actual = jsonjob['read']['runtime']
- if abs(expected - actual) > 10:
+ if abs(expected - actual) > 50:
line = 'FAILED ' + line + ' ss not attained, expected runtime {0} != actual runtime {1}'.format(expected, actual)
else:
line = line + ' ss not attained, runtime {0} != ss_dur {1} + ss_ramp {2},'.format(actual, job['ss_dur'], job['ss_ramp'])
else:
expected = job['timeout'] * 1000
actual = jsonjob['read']['runtime']
- if abs(expected - actual) < 10:
- result = 'PASSED '
- passed = passed + 1
- else:
+ if abs(expected - actual) > 50:
result = 'FAILED '
failed = failed + 1
+ else:
+ result = 'PASSED '
+ passed = passed + 1
line = result + line + ' no ss, expected runtime {0} ~= actual runtime {1}'.format(expected, actual)
print(line)
if 'steadystate' in jsonjob: