From 074ae9732d06f962a65d91147b55abf86b42b6d9 Mon Sep 17 00:00:00 2001 From: Dave Wallace Date: Wed, 8 Jan 2020 21:14:25 +0000 Subject: perf: QUIC transport hoststack test suite Change-Id: I73f4be7ea315c7a5dcce46e1bd3034bcb0a97ee2 Signed-off-by: Dave Wallace --- resources/libraries/python/HoststackUtil.py | 20 +++++++++++++++---- resources/libraries/python/autogen/Regenerator.py | 14 ++++++------- .../libraries/robot/hoststack/hoststack.robot | 23 +++++++++++++++++++--- 3 files changed, 43 insertions(+), 14 deletions(-) (limited to 'resources') diff --git a/resources/libraries/python/HoststackUtil.py b/resources/libraries/python/HoststackUtil.py index f95a6a6636..dde5cf60d0 100644 --- a/resources/libraries/python/HoststackUtil.py +++ b/resources/libraries/python/HoststackUtil.py @@ -44,6 +44,8 @@ class HoststackUtil(): f"socket-name {vpp_echo_attributes[u'vpp_api_socket']} " \ f"{vpp_echo_attributes[u'json_output']} " \ f"uri {proto}://{addr}/{port} " \ + f"nthreads {vpp_echo_attributes[u'nthreads']} " \ + f"mq-size {vpp_echo_attributes[u'mq_size']} " \ f"nclients {vpp_echo_attributes[u'nclients']} " \ f"quic-streams {vpp_echo_attributes[u'quic_streams']} " \ f"time {vpp_echo_attributes[u'time']} " \ @@ -299,10 +301,20 @@ class HoststackUtil(): raise RuntimeError(test_results) if program_stdout: bad_test_results = False - if program == u"vpp_echo" and u"JSON stats" not in program_stdout: - test_results += u"Invalid test data output!\n" - bad_test_results = True - test_results += program_stdout + if program[u"name"] == u"vpp_echo": + if u"JSON stats" in program_stdout: + test_results += program_stdout + # TODO: Decode vpp_echo output when JSON format is correct. + # json_start = program_stdout.find(u"{") + # vpp_echo_results = json.loads(program_stdout[json_start:]) + if u'"has_failed": "0"' not in program_stdout: + bad_test_results = True + else: + test_results += u"Invalid test data output!\n" + \ + program_stdout + bad_test_results = True + else: + test_results += program_stdout if bad_test_results: raise RuntimeError(test_results) else: diff --git a/resources/libraries/python/autogen/Regenerator.py b/resources/libraries/python/autogen/Regenerator.py index 5b112f5a73..f065887da0 100644 --- a/resources/libraries/python/autogen/Regenerator.py +++ b/resources/libraries/python/autogen/Regenerator.py @@ -476,13 +476,13 @@ class Regenerator: u"streams": 10, u"bytes_str": u"1G"}, ] hoststack_quic_kwargs_list = [ - {u"frame_size": 0, u"phy_cores": 1, u"clients": 1, - u"streams": 1, u"bytes_str": u"100M"}, - {u"frame_size": 0, u"phy_cores": 1, u"clients": 1, - u"streams": 10, u"bytes_str": u"100M"}, - {u"frame_size": 0, u"phy_cores": 1, u"clients": 10, - u"streams": 1, u"bytes_str": u"100M"}, - {u"frame_size": 0, u"phy_cores": 1, u"clients": 10, + {u"phy_cores": 1, u"frame_size": 0, u"clients": 1, + u"streams": 1, u"bytes_str": u"10G"}, + {u"phy_cores": 1, u"frame_size": 0, u"clients": 1, + u"streams": 10, u"bytes_str": u"1G"}, + {u"phy_cores": 1, u"frame_size": 0, u"clients": 10, + u"streams": 1, u"bytes_str": u"1G"}, + {u"phy_cores": 1, u"frame_size": 0, u"clients": 10, u"streams": 10, u"bytes_str": u"100M"}, ] diff --git a/resources/libraries/robot/hoststack/hoststack.robot b/resources/libraries/robot/hoststack/hoststack.robot index ed1e7b7cb6..e765169e32 100644 --- a/resources/libraries/robot/hoststack/hoststack.robot +++ b/resources/libraries/robot/hoststack/hoststack.robot @@ -35,8 +35,8 @@ | ... | api_seg_api_size=1G | ... | tcp_cc_algo=cubic | ... | sess_evt_q_seg_size=64M -| ... | sess_evt_q_length=2048 -| ... | sess_prealloc_sess=128 +| ... | sess_evt_q_length=16384 +| ... | sess_prealloc_sess=1024 | ... | sess_v4_tbl_buckets=20000 | ... | sess_v4_tbl_mem=64M | ... | sess_v4_hopen_buckets=20000 @@ -53,6 +53,8 @@ | ... | uri_protocol=quic | ... | uri_ip4_addr=${EMPTY} | ... | uri_port=1234 +| ... | nthreads=1 +| ... | mq_size=${vpp_hoststack_attr}[sess_evt_q_length] | ... | nclients=1 | ... | quic_streams=1 | ... | time=sconnect:lastbyte @@ -71,6 +73,8 @@ | ... | uri_protocol=quic | ... | uri_ip4_addr=${EMPTY} | ... | uri_port=1234 +| ... | nthreads=1 +| ... | mq_size=${vpp_hoststack_attr}[sess_evt_q_length] | ... | nclients=1 | ... | quic_streams=1 | ... | time=sconnect:lastbyte @@ -197,6 +201,8 @@ | | ... | *Arguments:* | | ... | - ${cfg_vpp_feature} - VPP Feature requiring config Type: string | | ... | - ${namespace} - Namespace Type: string +| | ... | - ${nthreads} - Number of threads Type: string +| | ... | - ${mq_size} - Number of threads Type: string | | ... | - ${nclients} - Number of clients Type: string | | ... | - ${quic_streams} - Number of quic streams Type: string | | ... | - ${fifo_size} - Session Fifo Size Type: integer @@ -214,6 +220,8 @@ | | [Arguments] | | ... | ${cfg_vpp_feature}=${vpp_echo_server_attr}[cfg_vpp_feature] | | ... | ${namespace}=${vpp_echo_server_attr}[namespace] +| | ... | ${nthreads}=${vpp_echo_server_attr}[nthreads] +| | ... | ${mq_size}=${vpp_echo_server_attr}[mq_size] | | ... | ${nclients}=${vpp_echo_server_attr}[nclients] | | ... | ${quic_streams}=${vpp_echo_server_attr}[quic_streams] | | ... | ${time}=${vpp_echo_server_attr}[time] @@ -226,6 +234,8 @@ | | Set To Dictionary | ${vpp_echo_server_attr} | cfg_vpp_feature | | ... | ${cfg_vpp_feature} | | Set To Dictionary | ${vpp_echo_server_attr} | namespace | ${namespace} +| | Set To Dictionary | ${vpp_echo_server_attr} | nthreads | ${nthreads} +| | Set To Dictionary | ${vpp_echo_server_attr} | mq_size | ${mq_size} | | Set To Dictionary | ${vpp_echo_server_attr} | nclients | ${nclients} | | Set To Dictionary | ${vpp_echo_server_attr} | quic_streams | ${quic_streams} | | Set To Dictionary | ${vpp_echo_server_attr} | time | ${time} @@ -245,7 +255,10 @@ | | ... | *Arguments:* | | ... | - ${cfg_vpp_feature} - VPP Feature requiring config Type: string | | ... | - ${namespace} - Namespace Type: string +| | ... | - ${nthreads} - Number of threads Type: string +| | ... | - ${mq_size} - Number of threads Type: string | | ... | - ${nclients} - Number of clients Type: string +| | ... | - ${quic_streams} - Number of quic streams Type: string | | ... | - ${fifo_size} - Session Fifo Size Type: integer | | ... | - ${time} - Timing events (start:end) Type: string | | ... | - ${rx_bytes} - Number of Bytes to receive Type: string @@ -261,8 +274,10 @@ | | [Arguments] | | ... | ${cfg_vpp_feature}=${vpp_echo_client_attr}[cfg_vpp_feature] | | ... | ${namespace}=${vpp_echo_client_attr}[namespace] +| | ... | ${nthreads}=${vpp_echo_client_attr}[nthreads] +| | ... | ${mq_size}=${vpp_echo_client_attr}[mq_size] | | ... | ${nclients}=${vpp_echo_client_attr}[nclients] -| | ... | ${quic_streams}=${vpp_echo_server_attr}[quic_streams] +| | ... | ${quic_streams}=${vpp_echo_client_attr}[quic_streams] | | ... | ${time}=${vpp_echo_client_attr}[time] | | ... | ${fifo_size}=${vpp_echo_client_attr}[fifo_size] | | ... | ${rx_bytes}=${vpp_echo_client_attr}[rx_bytes] @@ -273,6 +288,8 @@ | | Set To Dictionary | ${vpp_echo_client_attr} | cfg_vpp_feature | | ... | ${cfg_vpp_feature} | | Set To Dictionary | ${vpp_echo_client_attr} | namespace | ${namespace} +| | Set To Dictionary | ${vpp_echo_client_attr} | nthreads | ${nthreads} +| | Set To Dictionary | ${vpp_echo_client_attr} | mq_size | ${mq_size} | | Set To Dictionary | ${vpp_echo_client_attr} | nclients | ${nclients} | | Set To Dictionary | ${vpp_echo_client_attr} | quic_streams | ${quic_streams} | | Set To Dictionary | ${vpp_echo_client_attr} | time | ${time} -- cgit 1.2.3-korg