VTL: Allow running simple unittest.TestCases.
It came to my attention that Ole added a simple test in: https://gerrit.fd.io/r/#/c/16381/ and the framework forced him to launch an instance of VPP to test the formatting of a mac address. This change allows the test framework to run standard unittest.TestCases without the need to spawn a VPP instance. Change-Id: I56651ab27c4c6bf920081a526f168a743d643201 Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
This commit is contained in:
parent
262e064bb6
commit
dd3c5d250f
@ -272,14 +272,6 @@ class VppTestCase(unittest.TestCase):
|
||||
|
||||
return random.choice(tuple(min_usage_set))
|
||||
|
||||
@classmethod
|
||||
def print_header(cls):
|
||||
if not hasattr(cls, '_header_printed'):
|
||||
print(double_line_delim)
|
||||
print(colorize(getdoc(cls).splitlines()[0], GREEN))
|
||||
print(double_line_delim)
|
||||
cls._header_printed = True
|
||||
|
||||
@classmethod
|
||||
def setUpConstants(cls):
|
||||
""" Set-up the test case class based on environment variables """
|
||||
@ -401,7 +393,6 @@ class VppTestCase(unittest.TestCase):
|
||||
"""
|
||||
gc.collect() # run garbage collection first
|
||||
random.seed()
|
||||
cls.print_header()
|
||||
cls.logger = get_logger(cls.__name__)
|
||||
if hasattr(cls, 'parallel_handler'):
|
||||
cls.logger.addHandler(cls.parallel_handler)
|
||||
@ -1051,7 +1042,7 @@ class VppTestResult(unittest.TestResult):
|
||||
test case descriptions.
|
||||
:param verbosity Integer variable to store required verbosity level.
|
||||
"""
|
||||
unittest.TestResult.__init__(self, stream, descriptions, verbosity)
|
||||
super(VppTestResult, self).__init__(stream, descriptions, verbosity)
|
||||
self.stream = stream
|
||||
self.descriptions = descriptions
|
||||
self.verbosity = verbosity
|
||||
@ -1209,7 +1200,15 @@ class VppTestResult(unittest.TestResult):
|
||||
:param test:
|
||||
|
||||
"""
|
||||
test.print_header()
|
||||
|
||||
def print_header(test):
|
||||
if not hasattr(test.__class__, '_header_printed'):
|
||||
print(double_line_delim)
|
||||
print(colorize(getdoc(test).splitlines()[0], GREEN))
|
||||
print(double_line_delim)
|
||||
test.__class__._header_printed = True
|
||||
|
||||
print_header(test)
|
||||
|
||||
unittest.TestResult.startTest(self, test)
|
||||
if self.verbosity > 0:
|
||||
@ -1345,3 +1344,6 @@ class Worker(Thread):
|
||||
self.logger.info(err)
|
||||
self.logger.info(single_line_delim)
|
||||
self.result = self.process.returncode
|
||||
|
||||
if __name__ == '__main__':
|
||||
pass
|
||||
|
@ -1,5 +1,6 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
import unittest
|
||||
from framework import VppTestCase, VppTestRunner
|
||||
from util import ppp
|
||||
from scapy.packet import Raw
|
||||
|
@ -1,12 +1,12 @@
|
||||
#!/usr/bin/env python
|
||||
"""Test framework utilitty functions tests"""
|
||||
"""Test framework utility functions tests"""
|
||||
|
||||
import unittest
|
||||
from framework import VppTestCase, VppTestRunner
|
||||
from framework import VppTestRunner
|
||||
from vpp_papi import mac_pton, mac_ntop
|
||||
|
||||
|
||||
class TestUtil (VppTestCase):
|
||||
class TestUtil (unittest.TestCase):
|
||||
""" MAC to binary and back """
|
||||
def test_mac_to_binary(self):
|
||||
mac = 'aa:bb:cc:dd:ee:ff'
|
||||
@ -15,5 +15,6 @@ class TestUtil (VppTestCase):
|
||||
self.assertEqual(type(mac), type(mac2))
|
||||
self.assertEqual(mac2, mac)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main(testRunner=VppTestRunner)
|
||||
|
Loading…
x
Reference in New Issue
Block a user