diff options
author | 2016-05-23 15:30:21 +0300 | |
---|---|---|
committer | 2016-05-23 15:30:21 +0300 | |
commit | d279c8c12f136ab15b5fefd496c296ef1585c628 (patch) | |
tree | beca6adbe9152141453d015e041f49e8982202b9 /scripts/automation/regression/stateless_tests | |
parent | 131be7a0a855f2c027d28060ab6a42cbeddc69da (diff) |
replace t-rex to TRex
regression: instead of checking map and reconnecting for eact STL test, do in only for those with disconnect
(+revert of commit 0f8e6065f467703b1461e87c3912f8d4bd616807)
Diffstat (limited to 'scripts/automation/regression/stateless_tests')
3 files changed, 41 insertions, 29 deletions
diff --git a/scripts/automation/regression/stateless_tests/stl_examples_test.py b/scripts/automation/regression/stateless_tests/stl_examples_test.py index 283635a7..d8b85dfc 100755 --- a/scripts/automation/regression/stateless_tests/stl_examples_test.py +++ b/scripts/automation/regression/stateless_tests/stl_examples_test.py @@ -2,23 +2,22 @@ from .stl_general_test import CStlGeneral_Test, CTRexScenario import os, sys from misc_methods import run_command -from time import sleep -def setUpModule(self): - # examples connect by their own - if CTRexScenario.stl_trex.is_connected(): - CTRexScenario.stl_trex.disconnect() - sleep(3) - -def tearDownModule(): - # connect back at end of tests - if not CTRexScenario.stl_trex.is_connected(): - CTRexScenario.stl_trex.connect() +class STLExamples_Test(CStlGeneral_Test): + """This class defines the IMIX testcase of the TRex traffic generator""" + def explicitSetUp(self): + # examples connect by their own + if self.is_connected(): + self.recover_after_trex_210_issue() + CTRexScenario.stl_trex.disconnect() -class STLExamples_Test(CStlGeneral_Test): - """This class defines the IMIX testcase of the T-Rex traffic generator""" + def explicitTearDown(self): + # connect back at end of tests + if not self.is_connected(): + self.stl_trex.connect() + self.recover_after_trex_210_issue() def test_stl_examples(self): examples_dir = '../trex_control_plane/stl/examples' @@ -27,6 +26,8 @@ class STLExamples_Test(CStlGeneral_Test): ] for example in examples_to_test: + self.explicitSetUp() return_code, stdout, stderr = run_command("sh -c 'cd %s; %s %s -s %s'" % (examples_dir, sys.executable, example, CTRexScenario.configuration.trex['trex_name'])) + self.explicitTearDown() assert return_code == 0, 'example %s failed.\nstdout: %s\nstderr: %s' % (return_code, stdout, stderr) diff --git a/scripts/automation/regression/stateless_tests/stl_general_test.py b/scripts/automation/regression/stateless_tests/stl_general_test.py index ee0f8050..09b84222 100644 --- a/scripts/automation/regression/stateless_tests/stl_general_test.py +++ b/scripts/automation/regression/stateless_tests/stl_general_test.py @@ -6,6 +6,9 @@ from trex_stl_lib.api import * import time from nose.tools import nottest +def setUpModule(): + if CTRexScenario.stl_trex.is_connected(): + CStlGeneral_Test.recover_after_trex_210_issue() class CStlGeneral_Test(CTRexGeneral_Test): """This class defines the general stateless testcase of the T-Rex traffic generator""" @@ -16,14 +19,20 @@ class CStlGeneral_Test(CTRexGeneral_Test): # check basic requirements, should be verified at test_connectivity, here only skip test if CTRexScenario.stl_init_error: self.skip(CTRexScenario.stl_init_error) - for i in range(20): # workaround of http://trex-tgn.cisco.com/youtrack/issue/trex-210 + + # workaround of http://trex-tgn.cisco.com/youtrack/issue/trex-210 + @staticmethod + def recover_after_trex_210_issue(): + for i in range(20): try: - self.map_ports() + stl_map_ports(CTRexScenario.stl_trex) break except: - self.stl_trex.disconnect() + CTRexScenario.stl_trex.disconnect() time.sleep(0.5) - self.stl_trex.connect() + CTRexScenario.stl_trex.connect() + # verify problem is solved + stl_map_ports(CTRexScenario.stl_trex) def connect(self, timeout = 100): # need delay and check only because TRex process might be still starting diff --git a/scripts/automation/regression/stateless_tests/trex_client_pkg_test.py b/scripts/automation/regression/stateless_tests/trex_client_pkg_test.py index e94468e2..905882fe 100755 --- a/scripts/automation/regression/stateless_tests/trex_client_pkg_test.py +++ b/scripts/automation/regression/stateless_tests/trex_client_pkg_test.py @@ -2,26 +2,28 @@ from .stl_general_test import CStlGeneral_Test, CTRexScenario from misc_methods import run_command from nose.plugins.attrib import attr -from time import sleep - def setUpModule(): - # examples connect by their own CStlGeneral_Test.unzip_client_package() - if CTRexScenario.stl_trex.is_connected(): - CTRexScenario.stl_trex.disconnect() - sleep(3) - -def tearDownModule(): - # connect back at end of tests - if not CTRexScenario.stl_trex.is_connected(): - CTRexScenario.stl_trex.connect() - @attr('client_package') class CTRexClientPKG_Test(CStlGeneral_Test): """This class tests TRex client package""" + def setUp(self): + CStlGeneral_Test.setUp(self) + # examples connect by their own + if CTRexScenario.stl_trex.is_connected(): + self.recover_after_trex_210_issue() + CTRexScenario.stl_trex.disconnect() + + def tearDown(self): + # connect back at end of tests + if not CTRexScenario.stl_trex.is_connected(): + CTRexScenario.stl_trex.connect() + self.recover_after_trex_210_issue() + CStlGeneral_Test.tearDown(self) + def run_client_package_stl_example(self, python_version): commands = [ 'cd %s' % CTRexScenario.scripts_path, |