From: Rafael Zalamena Date: Tue, 11 Jul 2017 14:10:59 +0000 (-0300) Subject: topogen: add error functions X-Git-Tag: frr-7.1-dev~151^2~282 X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=393ca0fa16ae0586593c2e66032091bc4fc396e2;p=matthieu%2Ffrr.git topogen: add error functions Store errors and error code in topogen so other tests can look up for failures and skip tests. --- diff --git a/tests/topotests/lib/topogen.py b/tests/topotests/lib/topogen.py index cc139bc83c..87b8b6d035 100644 --- a/tests/topotests/lib/topogen.py +++ b/tests/topotests/lib/topogen.py @@ -96,6 +96,7 @@ class Topogen(object): self.routern = 1 self.switchn = 1 self.modname = modname + self.errors = {} self._init_topo(cls) logger.info('loading topology: {}'.format(self.modname)) @@ -293,6 +294,19 @@ class Topogen(object): for router in router_list: router.report_memory_leaks(self.modname) + def set_error(self, message, code=None): + "Sets an error message and signal other tests to skip." + logger.error(message) + + # If no code is defined use a sequential number + if code is None: + code = len(self.errors) + + self.errors[code] = message + + def has_errors(self): + "Returns whether errors exist or not." + return len(self.errors) > 0 # # Topology gears (equipment)