Result file was not copied from remote machine to localhost when checking if all threads work, this patch fixed it. And add one more client session for controlling.
Signed-off-by: Amos Kong <[email protected]> --- tests/netperf.py | 21 ++++++++++++--------- 1 files changed, 12 insertions(+), 9 deletions(-) diff --git a/tests/netperf.py b/tests/netperf.py index 68090fc..d91fa0f 100644 --- a/tests/netperf.py +++ b/tests/netperf.py @@ -166,7 +166,7 @@ def run_netperf(test, params, env): sessions_str = params.get('sessions') + " " + params.get("sessions_rr") for i in sessions_str.split(): clients_n = max(clients_n, int(i.strip())) - for i in range(clients_n): + for i in range(clients_n + 1): if client in params.get("vms"): vm_client = utils_test.get_living_vm(env, client) tmp = vm_client.wait_for_login(timeout=login_timeout) @@ -498,13 +498,16 @@ def launch_client(sessions, server, server_ctl, host, clients, l, nf_args, niteration = nresult / sessions result = 0.0 for this in lines[-sessions * niteration:]: - result += float(re.findall("Interim result: *(\S+)", this)[0]) + if "Interim" in this: + result += float(re.findall("Interim result: *(\S+)", this)[0]) result = result / niteration logging.debug("niteration: %s" % niteration) return result pid = str(os.getpid()) + fname = "/tmp/netperf.%s.nf" % pid + ssh_cmd(clients[-1], "rm -f %s" % fname) threads = [] numa_enable = params.get("netperf_with_numa", "yes") == "yes" for i in range(int(sessions)): @@ -515,13 +518,11 @@ def launch_client(sessions, server, server_ctl, host, clients, l, nf_args, t.start() ret = {} ret['pid'] = pid - fname = "/tmp/netperf.%s.nf" % pid + while True: try: - fd = open(fname) - content = "".join(fd.readlines()) - fd.close() - except IOError: + content = ssh_cmd(clients[-1], "cat %s" % fname) + except: content = "" if int(sessions) == len(re.findall("MIGRATE", content)): logging.debug("All netperf clients start to work.") @@ -531,7 +532,7 @@ def launch_client(sessions, server, server_ctl, host, clients, l, nf_args, if get_status_flag: start_state = get_state() ret['mpstat'] = ssh_cmd(host, "mpstat 1 %d |tail -n 1" % (l - 1)) - shutil.copy(fname, "/tmp/finished_result") + finished_result = ssh_cmd(clients[-1], "cat %s" % fname) # real & effective test ends if get_status_flag: @@ -550,6 +551,8 @@ def launch_client(sessions, server, server_ctl, host, clients, l, nf_args, t.join() # recover result file to remove the noise from end - shutil.copy("/tmp/finished_result", fname) + f = open(fname, "w") + f.write(finished_result) + f.close() ret['thu'] = parse_demo_result(fname, int(sessions)) return ret -- 1.7.1 _______________________________________________ Autotest-kernel mailing list [email protected] https://www.redhat.com/mailman/listinfo/autotest-kernel
