diff options
-rw-r--r-- | test/framework.py | 2 | ||||
-rw-r--r-- | test/vpp_object.py | 9 |
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: |