X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=test%2Fframework.py;h=2bfb4b2fcd9dab46cef26b893b4c72b1f3a4652b;hb=ecd1fc7dfa6a36d1774f71093380b3548a22346b;hp=4bc64a1331ba69a77560632b11140043a31db14f;hpb=063366eb23a81ea2d4079d291a2ff534acf75d2d;p=vpp.git diff --git a/test/framework.py b/test/framework.py index 4bc64a1331b..2bfb4b2fcd9 100644 --- a/test/framework.py +++ b/test/framework.py @@ -57,9 +57,28 @@ ERROR = 2 SKIP = 3 TEST_RUN = 4 -debug_framework = False -if os.getenv('TEST_DEBUG', "0") == "1": - debug_framework = True + +class BoolEnvironmentVariable(object): + + def __init__(self, env_var_name, default='n', true_values=None): + self.name = env_var_name + self.default = default + self.true_values = true_values if true_values is not None else \ + ("y", "yes", "1") + + def __bool__(self): + return os.getenv(self.name, self.default).lower() in self.true_values + + if sys.version_info[0] == 2: + __nonzero__ = __bool__ + + def __repr__(self): + return 'BoolEnvironmentVariable(%r, default=%r, true_values=%r)' % \ + (self.name, self.default, self.true_values) + + +debug_framework = BoolEnvironmentVariable('TEST_DEBUG') +if debug_framework: import debug_internal """ @@ -95,8 +114,8 @@ class VppDiedError(Exception): msg = "VPP subprocess died %sunexpectedly with return code: %d%s." % ( in_msg, self.rv, - ' [%s]' % self.signal_name if - self.signal_name is not None else '') + ' [%s]' % (self.signal_name if + self.signal_name is not None else '')) super(VppDiedError, self).__init__(msg) @@ -174,7 +193,7 @@ def pump_output(testclass): def _is_skip_aarch64_set(): - return os.getenv('SKIP_AARCH64', 'n').lower() in ('yes', 'y', '1') + return BoolEnvironmentVariable('SKIP_AARCH64') is_skip_aarch64_set = _is_skip_aarch64_set() @@ -188,8 +207,7 @@ is_platform_aarch64 = _is_platform_aarch64() def _running_extended_tests(): - s = os.getenv("EXTENDED_TESTS", "n") - return True if s.lower() in ("y", "yes", "1") else False + return BoolEnvironmentVariable("EXTENDED_TESTS") running_extended_tests = _running_extended_tests() @@ -314,9 +332,9 @@ class VppTestCase(unittest.TestCase): @classmethod def setUpConstants(cls): """ Set-up the test case class based on environment variables """ - s = os.getenv("STEP", "n") - cls.step = True if s.lower() in ("y", "yes", "1") else False + cls.step = BoolEnvironmentVariable('STEP') d = os.getenv("DEBUG", None) + # inverted case to handle '' == True c = os.getenv("CACHE_OUTPUT", "1") cls.cache_vpp_output = False if c.lower() in ("n", "no", "0") else True cls.set_debug_flags(d) @@ -656,6 +674,7 @@ class VppTestCase(unittest.TestCase): self.logger.info(self.statistics.set_errors_str()) self.logger.info(self.vapi.ppcli("show run")) self.logger.info(self.vapi.ppcli("show log")) + self.logger.info(self.vapi.ppcli("show bihash")) self.logger.info("Logging testcase specific show commands.") self.show_commands_at_teardown() self.registry.remove_vpp_config(self.logger) @@ -743,7 +762,7 @@ class VppTestCase(unittest.TestCase): cls._captures = [] @classmethod - def create_pg_interfaces(cls, interfaces): + def create_pg_interfaces(cls, interfaces, gso=0, gso_size=0): """ Create packet-generator interfaces. @@ -753,7 +772,7 @@ class VppTestCase(unittest.TestCase): """ result = [] for i in interfaces: - intf = VppPGInterface(cls, i) + intf = VppPGInterface(cls, i, gso, gso_size) setattr(cls, intf.name, intf) result.append(intf) cls.pg_interfaces = result @@ -954,8 +973,6 @@ class VppTestCase(unittest.TestCase): def assert_packet_checksums_valid(self, packet, ignore_zero_udp_checksums=True): received = packet.__class__(scapy.compat.raw(packet)) - self.logger.debug( - ppp("Verifying packet checksums for packet:", received)) udp_layers = ['UDP', 'UDPerror'] checksum_fields = ['cksum', 'chksum'] checksums = []