aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKlement Sekera <ksekera@cisco.com>2017-03-02 11:29:19 +0100
committerDamjan Marion <dmarion.lists@gmail.com>2017-03-06 16:17:21 +0000
commit1b686409307d4c7b29ee3b065c4d010a275a0fd1 (patch)
tree04aefe1b97a95d1c7389d18a077e9360798996ba
parent80a7f0a81cf6bc58cd7567c7b5e1c75813b5fc0c (diff)
make test: reset object registry if vpp dies
Change-Id: If0e30837e07a21f3912676f5147cb242d3d2b235 Signed-off-by: Klement Sekera <ksekera@cisco.com>
-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: