aboutsummaryrefslogtreecommitdiffstats
path: root/resources
diff options
context:
space:
mode:
authorDave Wallace <dwallacelf@gmail.com>2020-01-08 21:14:25 +0000
committerDave Wallace <dwallacelf@gmail.com>2020-01-29 13:59:03 +0000
commit074ae9732d06f962a65d91147b55abf86b42b6d9 (patch)
treee66c8119d4c9af581b2200c5ef166e12efb24ab2 /resources
parent3bc72c6e268474a6bed725e5371d66f0e369ab16 (diff)
perf: QUIC transport hoststack test suite
Change-Id: I73f4be7ea315c7a5dcce46e1bd3034bcb0a97ee2 Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Diffstat (limited to 'resources')
-rw-r--r--resources/libraries/python/HoststackUtil.py20
-rw-r--r--resources/libraries/python/autogen/Regenerator.py14
-rw-r--r--resources/libraries/robot/hoststack/hoststack.robot23
3 files changed, 43 insertions, 14 deletions
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}