summaryrefslogtreecommitdiffstats
path: root/scripts/automation/regression/stateless_tests
diff options
context:
space:
mode:
authorYaroslav Brustinov <ybrustin@cisco.com>2016-05-23 15:30:21 +0300
committerYaroslav Brustinov <ybrustin@cisco.com>2016-05-23 15:30:21 +0300
commitd279c8c12f136ab15b5fefd496c296ef1585c628 (patch)
treebeca6adbe9152141453d015e041f49e8982202b9 /scripts/automation/regression/stateless_tests
parent131be7a0a855f2c027d28060ab6a42cbeddc69da (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')
-rwxr-xr-xscripts/automation/regression/stateless_tests/stl_examples_test.py27
-rw-r--r--scripts/automation/regression/stateless_tests/stl_general_test.py17
-rwxr-xr-xscripts/automation/regression/stateless_tests/trex_client_pkg_test.py26
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,