summaryrefslogtreecommitdiffstats
path: root/scripts/automation/regression
diff options
context:
space:
mode:
authorYaroslav Brustinov <ybrustin@cisco.com>2016-12-22 17:54:38 +0200
committerYaroslav Brustinov <ybrustin@cisco.com>2016-12-22 17:54:38 +0200
commit48cb48c6cdb840085c922602b2b227b656efbd10 (patch)
tree62822bc045398e9a3d5aee2477a99bee38b360ed /scripts/automation/regression
parent3983da29396535cb5a6a17efba62e0d0bb8edfd9 (diff)
Less strict check on end of warmup state in Stateful API (96% of expected)
Regression: (stateful) check that the BW is less than expected + 5%. Change-Id: Ie181a970d81fbca30a17d17ee98d0228603db11c Signed-off-by: Yaroslav Brustinov <ybrustin@cisco.com>
Diffstat (limited to 'scripts/automation/regression')
-rwxr-xr-xscripts/automation/regression/stateful_tests/trex_general_test.py18
1 files changed, 15 insertions, 3 deletions
diff --git a/scripts/automation/regression/stateful_tests/trex_general_test.py b/scripts/automation/regression/stateful_tests/trex_general_test.py
index fe38ed34..088bd97d 100755
--- a/scripts/automation/regression/stateful_tests/trex_general_test.py
+++ b/scripts/automation/regression/stateful_tests/trex_general_test.py
@@ -214,13 +214,25 @@ class CTRexGeneral_Test(unittest.TestCase):
def check_general_scenario_results (self, trex_res, check_latency = True):
try:
+ # check history size is enough
+ if len(trex_res._history) < 5:
+ self.fail('TRex results list is too short. Increase the test duration or check unexpected stopping.')
+
# check if test is valid
if not trex_res.is_done_warmup():
self.fail('TRex did not reach warm-up situtaion. Results are not valid.')
- # check history size is enough
- if len(trex_res._history) < 5:
- self.fail('TRex results list is too short. Increase the test duration or check unexpected stopping.')
+ # check that BW is not much more than expected
+ trex_exp_bps = int(trex_res.get_expected_tx_rate().get('m_tx_expected_bps') / 1e6)
+ trex_cur_bps = int(max(trex_res.get_value_list('trex-global.data.m_tx_bps')) / 1e6)
+
+ if trex_exp_bps is None:
+ self.fail('Expected rate is None!')
+ if trex_cur_bps is None:
+ self.fail('Current rate is None!')
+
+ if trex_exp_bps * 1.05 < trex_cur_bps:
+ self.fail('Got BW (%sMbps) that is %s%% more than expected (%sMbps)!' % (trex_cur_bps, round(100.0 * trex_cur_bps / trex_exp_bps - 100, 2), trex_exp_bps))
# check TRex number of drops
trex_tx_pckt = trex_res.get_last_value("trex-global.data.m_total_tx_pkts")