提交 cb699103 编写于 作者: Q Qingtang Zhou 提交者: Lucas Meneghel Rodrigues

qemu.tests.nfs_perf: Update the regex for dd output

The original regex string for dd output goes wrong when
the dd speed is slow:
"""
2012-09-12 01:03:45: dd if=/dev/zero of=test_0zSfi bs=4k oflag=direct count=10000
2012-09-12 01:05:09: 10000+0 records in
2012-09-12 01:05:09: 10000+0 records out
2012-09-12 01:05:09: 40960000 bytes (41 MB) copied, 84.0859 s, 487 kB/s
"""

This patch update the regex string, making it can recognize more
speed format.

Changes from V3:
 * Fix incorrect placement of speed result convert line.
Changes from V2:
 * Update this patch against latest nfs_perf test script.
 * Use new utils_misc.standard_value api to convert result data.
Changelog from V1:
 * Convert all results in kB/s to MB/s.

CC: Wenli Quan <wquan@redhat.com>
CC: Xiaomei Gao <xigao@redhat.com>
CC: Yiqiao Pu <ypu@redhat.com>
Signed-off-by: NQingtang Zhou <qzhou@redhat.com>
Acked-by: NWenli Quan <wquan@redhat.com>
上级 8114ce8f
......@@ -154,12 +154,12 @@ def run_nfs_perf(test, params, env):
# Record mount command in result file.
try:
result_file.write("# %s\n" % mnt_cmd)
except IOError, e:
except (IOError, ValueError), e:
logging.error("Failed to write to result file,"
" error message:\n%s", e)
result_list = ["%s|%016s|%016s|" % ("blk_size", "Write", "Read")]
speed_pattern = "(\d+ bytes).*?([\d\.]+ s).*?([\d\.]+ MB/s)"
speed_pattern = r"(\d+ bytes).*?([\d\.]+ s).*?([\d\.]+ [KkMmGgTt])B/s"
try:
prefix = "nfs"
for blk_size in blk_size_list:
......@@ -174,6 +174,7 @@ def run_nfs_perf(test, params, env):
raise error.TestError("Could not get correct write result."
" dd cmd output:\n%s" % out)
_, _, speed = tmp_list[0]
speed = utils_misc.normalize_data_size(speed)
result += "%016s|" % speed
test.write_perf_keyval({ "%s--%s" % (prefix, "write"): speed })
......@@ -185,6 +186,7 @@ def run_nfs_perf(test, params, env):
raise error.TestError("Could not get correct read result."
" dd cmd output:\n%s" % out)
_, _, speed = tmp_list[0]
speed = utils_misc.normalize_data_size(speed)
result += "%016s|" % speed
test.write_perf_keyval({ "%s--%s" % (prefix, "read"): speed })
# Append result into result list.
......@@ -192,7 +194,7 @@ def run_nfs_perf(test, params, env):
finally:
try:
result_file.write("\n".join(result_list))
except IOError, e:
except (IOError, ValueError), e:
logging.error("Failed to write to result file,"
" error message:\n%s", e)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册