From cb699103363443ab38bcd5350ad292714a59ca99 Mon Sep 17 00:00:00 2001 From: Qingtang Zhou Date: Wed, 22 May 2013 11:13:13 +0800 Subject: [PATCH] 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 CC: Xiaomei Gao CC: Yiqiao Pu Signed-off-by: Qingtang Zhou Acked-by: Wenli Quan --- qemu/tests/nfs_perf.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/qemu/tests/nfs_perf.py b/qemu/tests/nfs_perf.py index 1b92a365..cadd287e 100644 --- a/qemu/tests/nfs_perf.py +++ b/qemu/tests/nfs_perf.py @@ -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) -- GitLab