summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--test/framework.py2
-rw-r--r--test/vpp_object.py9
2 files changed, 9 insertions, 2 deletions
diff --git a/test/framework.py b/test/framework.py
index b9a09de277e..b7e6b4a06e7 100644
--- a/test/framework.py
+++ b/test/framework.py
@@ -352,6 +352,8 @@ class VppTestCase(unittest.TestCase):
os.rename(tmp_api_trace, vpp_api_trace_log)
self.logger.info(self.vapi.ppcli("api trace dump %s" %
vpp_api_trace_log))
+ else:
+ self.registry.unregister_all(self.logger)
def setUp(self):
""" Clear trace before running each test"""
diff --git a/test/vpp_object.py b/test/vpp_object.py
index 61a96ec2993..a1cf42fce35 100644
--- a/test/vpp_object.py
+++ b/test/vpp_object.py
@@ -50,6 +50,12 @@ class VppObjectRegistry(object):
else:
logger.debug("REG: duplicate add, ignoring (%s)" % obj)
+ def unregister_all(self, logger):
+ """ Remove all object registrations from registry. """
+ logger.debug("REG: removing all object registrations")
+ self._object_registry = []
+ self._object_dict = dict()
+
def remove_vpp_config(self, logger):
"""
Remove configuration (if present) from vpp and then remove all objects
@@ -72,8 +78,7 @@ class VppObjectRegistry(object):
for obj in self._object_registry:
if obj.query_vpp_config():
failed.append(obj)
- self._object_registry = []
- self._object_dict = dict()
+ self.unregister_all(logger)
if failed:
logger.error("REG: Couldn't remove configuration for object(s):")
for obj in failed: