10 from vstf.agent.unittest.perf import model
11 from vstf.agent.perf import netperf
12 from vstf.agent.perf.utils import get_pid_by_name
15 class TestNetperf(model.Model):
17 please make sure 'Tn' network on 'Target Host' is created.
20 super(TestNetperf, self).setUp()
21 subprocess.call("killall netperf", shell = True)
22 subprocess.call("killall netserver",shell = True)
23 for ns, dev, ip_setting in zip(self.ns_list, self.device_list, self.ip_setting_list):
27 'ip_setting':ip_setting
29 self.mgr.config_dev(netdev)
42 super(TestNetperf, self).tearDown()
44 def test_netperf_start_success(self):
45 perf = netperf.Netperf()
46 ret = perf.receive_start(namespace='receive')
47 exp = (0, 'start netserver success')
48 self.assertEqual(ret, exp, "receive_start failed %s" % str(ret))
50 ret = perf.send_start(**self.send_cfg)
51 exp = (0,"start netperf send success")
52 self.assertEqual(ret, exp, "failed to start netperf")
56 ret = perf.send_stop()
57 exp = [(0, "process is stopped by killed")]
58 self.assertEqual(ret, exp, "send_stop failed, ret = %s" % str(ret))
60 ret = perf.receive_stop()
61 exp = (0, "stop netserver success")
62 self.assertEqual(ret, exp, "receive_stop failedf, ret = %s" % str(ret))
64 def test_netperf_start_success_mutil_threads(self):
65 perf = netperf.Netperf()
66 ret = perf.receive_start(namespace='receive')
67 exp = (0, 'start netserver success')
68 self.assertEqual(ret, exp, "receive_start failed %s" % str(ret))
70 self.send_cfg.update({"threads":3})
71 exp = (0,"start netperf send success")
72 ret = perf.send_start(**self.send_cfg)
73 self.assertEqual(ret, exp, "failed to start netperf")
77 rets = perf.send_stop()
78 exp = [(0, 'process is stopped by killed'), (0, 'process is stopped by killed'), (0, 'process is stopped by killed')]
79 self.assertEqual(rets, exp, "send_stop failed, rets = %s" % str(rets))
81 rets = perf.receive_stop()
82 self.assertEqual(rets, (0, "stop netserver success"), "receive_stop failedf, rets = %s" % str(rets))
85 perf = netperf.Netperf()
86 ret = perf.receive_start(namespace='receive')
87 exp = (0, 'start netserver success')
88 self.assertEqual(ret, exp, "receive_start failed %s" % str(ret))
90 self.send_cfg.update({"threads":3})
91 exp = (0,"start netperf send success")
92 ret = perf.send_start(**self.send_cfg)
93 self.assertEqual(ret, exp, "failed to start netperf")
95 ret = get_pid_by_name('netperf')
96 self.assertEqual(ret, [], "failed to clean netperf")
97 ret = get_pid_by_name('netserver')
98 self.assertEqual(ret, [], "failed to clean netserver")
100 if __name__ == "__main__":
102 logging.getLogger(__name__)
103 logging.basicConfig(level = logging.DEBUG)
104 #import sys;sys.argv = ['', 'Test.testName']