summaryrefslogtreecommitdiffstats
path: root/recipes-test/virt-test/files/qemu-tests-multi-nic-stress.patch
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-test/virt-test/files/qemu-tests-multi-nic-stress.patch')
-rw-r--r--recipes-test/virt-test/files/qemu-tests-multi-nic-stress.patch102
1 files changed, 102 insertions, 0 deletions
diff --git a/recipes-test/virt-test/files/qemu-tests-multi-nic-stress.patch b/recipes-test/virt-test/files/qemu-tests-multi-nic-stress.patch
new file mode 100644
index 0000000..9c916f5
--- /dev/null
+++ b/recipes-test/virt-test/files/qemu-tests-multi-nic-stress.patch
@@ -0,0 +1,102 @@
1commit df8666dfa327670b680ff05d5c43fff715c62ff9
2Author: Jonas Eriksson <jonas.eriksson@enea.com>
3Date: Tue Mar 18 16:11:50 2014 +0100
4
5 multi_nic_stress: Check if netperf is installed
6
7 To avoid an unnecessary download and build of netperf, check if the
8 application is present before building.
9
10 Signed-off-by: Jonas Eriksson <jonas.eriksson@enea.com>
11 Upstream-Status: Pending
12
13diff --git a/qemu/tests/cfg/multi_nic_stress.cfg b/qemu/tests/cfg/multi_nic_stress.cfg
14index 2ec6cb6..36a073e 100644
15--- a/qemu/tests/cfg/multi_nic_stress.cfg
16+++ b/qemu/tests/cfg/multi_nic_stress.cfg
17@@ -15,6 +15,9 @@
18 pkg_md5sum = 9654ffdfd4c4f2c93ce3733cd9ed9236
19 remote_dir = /var/tmp
20 setup_cmd = "cd ${remote_dir} && rm -rf netperf-2.6.0 && tar xvfj netperf-2.6.0.tar.bz2 && cd netperf-2.6.0 && ./configure --enable-burst --enable-demo=yes && make"
21+ app_check_cmd = "netperf -V"
22+ client_cmd = netperf
23+ server_cmd = netserver
24 l = 30
25 protocols = "TCP_STREAM TCP_MAERTS TCP_RR TCP_CRR"
26 sessions = "1"
27diff --git a/qemu/tests/multi_nic_stress.py b/qemu/tests/multi_nic_stress.py
28index 698bc99..aaf6d21 100644
29--- a/qemu/tests/multi_nic_stress.py
30+++ b/qemu/tests/multi_nic_stress.py
31@@ -41,20 +41,24 @@ def run(test, params, env):
32 """
33 error.context("Setup env for %s" % ip_addr)
34 ssh_cmd(session, "service iptables stop; true")
35- netperf_links = params["netperf_links"].split()
36- remote_dir = params.get("remote_dir", "/var/tmp")
37- for netperf_link in netperf_links:
38- if utils.is_url(netperf_link):
39- download_dir = data_dir.get_download_dir()
40- md5sum = params.get("pkg_md5sum")
41- netperf_dir = utils.unmap_url_cache(download_dir,
42- netperf_link, md5sum)
43- elif netperf_link:
44- netperf_dir = os.path.join(data_dir.get_root_dir(),
45- "shared/%s" % netperf_link)
46- remote.scp_to_remote(ip_addr, shell_port, username, password,
47- netperf_dir, remote_dir)
48- ssh_cmd(session, params.get("setup_cmd"))
49+ app_check_cmd = params.get("app_check_cmd", "")
50+
51+ # Install netperf in guest if not already available
52+ if not (app_check_cmd and session.cmd_status(app_check_cmd) == 0):
53+ netperf_links = params["netperf_links"].split()
54+ remote_dir = params.get("remote_dir", "/var/tmp")
55+ for netperf_link in netperf_links:
56+ if utils.is_url(netperf_link):
57+ download_dir = data_dir.get_download_dir()
58+ md5sum = params.get("pkg_md5sum")
59+ netperf_dir = utils.unmap_url_cache(download_dir,
60+ netperf_link, md5sum)
61+ elif netperf_link:
62+ netperf_dir = os.path.join(data_dir.get_root_dir(),
63+ "shared/%s" % netperf_link)
64+ remote.scp_to_remote(ip_addr, shell_port, username, password,
65+ netperf_dir, remote_dir)
66+ ssh_cmd(session, params.get("setup_cmd"))
67
68 vm = env.get_vm(params["main_vm"])
69 vm.verify_alive()
70@@ -202,8 +206,10 @@ def launch_client(sessions, servers, server_ctl, clients,
71 # Start netserver
72 error.context("Start Netserver on guest", logging.info)
73 remote_dir = params.get("remote_dir", "/var/tmp")
74- client_path = os.path.join(remote_dir, "netperf-2.6.0/src/netperf")
75- server_path = os.path.join(remote_dir, "netperf-2.6.0/src/netserver")
76+ client_path_default = os.path.join(remote_dir, "netperf-2.6.0/src/netperf")
77+ client_cmd = params.get("client_cmd", client_path_default)
78+ server_path_default = os.path.join(remote_dir, "netperf-2.6.0/src/netserver")
79+ server_cmd = params.get("server_cmd", server_path_default)
80
81 if params.get("os_type") == "windows":
82 winutils_vol = utils_misc.get_winutils_vol(server_ctl)
83@@ -219,8 +225,8 @@ def launch_client(sessions, servers, server_ctl, clients,
84 raise error.TestError(msg)
85
86 else:
87- logging.info("Netserver start cmd is '%s'" % server_path)
88- ssh_cmd(server_ctl, "pidof netserver || %s" % server_path)
89+ logging.info("Netserver start cmd is '%s'" % server_cmd)
90+ ssh_cmd(server_ctl, "pidof netserver || %s" % server_cmd)
91 logging.info("Netserver start successfully")
92
93 # start netperf
94@@ -230,7 +236,7 @@ def launch_client(sessions, servers, server_ctl, clients,
95 for client in clients:
96 test_timeout = len(clients) * l
97 server = servers[clients.index(client) % len(servers)]
98- netperf_cmd = "%s -H %s -l %s %s" % (client_path, server,
99+ netperf_cmd = "%s -H %s -l %s %s" % (client_cmd, server,
100 int(l), nf_args)
101 client_threads.append([ssh_cmd, (client, netperf_cmd, test_timeout)])
102