diff options
author | Yiting.Li <liyiting@huawei.com> | 2015-12-22 17:11:12 -0800 |
---|---|---|
committer | Yiting.Li <liyiting@huawei.com> | 2015-12-22 17:11:12 -0800 |
commit | 8f1101df131a4d3e03b377738507d88b745831c0 (patch) | |
tree | 73f140474fcec2a77c85a453f6946957ca0742d1 /vstf/vstf/agent/unittest/perf/test_pktgen.py | |
parent | 1a24ebbda3f95600c0e7d5ed8661317a8ff7e265 (diff) |
Upload the contribution of vstf as bottleneck network framework.
End to End Performance test
JIRA:BOTTLENECK-29
Change-Id: Ib2c553c8b60d6cda9e7a7b52b737c9139f706ebd
Signed-off-by: Yiting.Li <liyiting@huawei.com>
Diffstat (limited to 'vstf/vstf/agent/unittest/perf/test_pktgen.py')
-rwxr-xr-x | vstf/vstf/agent/unittest/perf/test_pktgen.py | 90 |
1 files changed, 90 insertions, 0 deletions
diff --git a/vstf/vstf/agent/unittest/perf/test_pktgen.py b/vstf/vstf/agent/unittest/perf/test_pktgen.py new file mode 100755 index 00000000..5e6cdf76 --- /dev/null +++ b/vstf/vstf/agent/unittest/perf/test_pktgen.py @@ -0,0 +1,90 @@ +""" +Created on 2015-9-24 + +@author: y00228926 +""" +import unittest +import time + +from vstf.agent.unittest.perf import model +from vstf.agent.perf import pktgen + + +class TestPktgen(model.Model): + def setUp(self): + super(TestPktgen, self).setUp() + + def tearDown(self): + super(TestPktgen, self).tearDown() + + def test_single_thread(self): + perf = pktgen.Pktgen() + print perf.receive_start() + send = { + "src": [ + {"iface": self.device_list[0], "mac": self.mac_list[0]} + ], + "dst": [ + {"mac": self.mac_list[1]} + ], + "size": 64, + "threads": 1, + 'ratep': 0 + } + ret = perf.send_start(**send) + self.assertEqual((0, 'start pktgen send success'), ret, "send_start failed, ret=%s" % str(ret)) + time.sleep(5) + ret = perf.send_stop() + self.assertEqual([(0, '')], ret, "send_start failed, ret=%s" % ret) + ret = perf.receive_stop() + self.assertEqual((0, 'pktgen neednt receive stop'), ret, "send_stop failed, ret=%s" % str(ret)) + + def test_single_thread_bidirectional(self): + perf = pktgen.Pktgen() + print perf.receive_start() + send = { + "src": [ + {"iface": self.device_list[0], "mac": self.mac_list[0]}, + {"iface": self.device_list[1], "mac": self.mac_list[1]} + ], + "dst": [ + {"mac": self.mac_list[1]}, + {"mac": self.mac_list[0]} + ], + "size": 64, + "threads": 1, + 'ratep': 0 + } + ret = perf.send_start(**send) + self.assertEqual((0, 'start pktgen send success'), ret, "send_start failed, ret=%s" % str(ret)) + time.sleep(5) + ret = perf.send_stop() + self.assertEqual([(0, '')], ret, "send_start failed, ret=%s" % ret) + ret = perf.receive_stop() + self.assertEqual((0, 'pktgen neednt receive stop'), ret, "send_stop failed, ret=%s" % str(ret)) + + def test_clean(self): + perf = pktgen.Pktgen() + print perf.receive_start() + send = { + "src": [ + {"iface": self.device_list[0], "mac": self.mac_list[0]} + ], + "dst": [ + {"mac": self.mac_list[1]} + ], + "size": 64, + "threads": 1, + 'ratep': 0 + } + ret = perf.send_start(**send) + self.assertEqual((0, 'start pktgen send success'), ret, "send_start failed, ret=%s" % str(ret)) + perf.clean() + + +if __name__ == "__main__": + import logging + + logging.getLogger(__name__) + logging.basicConfig(level=logging.DEBUG) + unittest.main() |