X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=test%2Fvpp_object.py;h=8fe549e74ff3b63e3dbf3c0ff97d8eb95801a94a;hb=00671cf9cfbcd9ed25d79712bf01d29cb8787bf2;hp=a1cf42fce35385e74cb8a028ad9a1cd39af2d148;hpb=1b686409307d4c7b29ee3b065c4d010a275a0fd1;p=vpp.git diff --git a/test/vpp_object.py b/test/vpp_object.py index a1cf42fce35..8fe549e74ff 100644 --- a/test/vpp_object.py +++ b/test/vpp_object.py @@ -2,6 +2,8 @@ from abc import ABCMeta, abstractmethod +import six + class VppObject(object): """ Abstract vpp object """ @@ -66,22 +68,21 @@ class VppObjectRegistry(object): return logger.info("REG: Removing VPP configuration for registered objects") # remove the config in reverse order as there might be dependencies + failed = [] for obj in reversed(self._object_registry): if obj.query_vpp_config(): logger.info("REG: Removing configuration for %s" % obj) obj.remove_vpp_config() + if obj.query_vpp_config(): + failed.append(obj) else: logger.info( "REG: Skipping removal for %s, configuration not present" % obj) - failed = [] - for obj in self._object_registry: - if obj.query_vpp_config(): - failed.append(obj) self.unregister_all(logger) if failed: logger.error("REG: Couldn't remove configuration for object(s):") for obj in failed: - logger.error(repr(obj)) + logger.error(six.reprlib(obj)) raise Exception("Couldn't remove configuration for object(s): %s" % (", ".join(str(x) for x in failed)))