From 393ca0fa16ae0586593c2e66032091bc4fc396e2 Mon Sep 17 00:00:00 2001 From: Rafael Zalamena Date: Tue, 11 Jul 2017 11:10:59 -0300 Subject: [PATCH] topogen: add error functions Store errors and error code in topogen so other tests can look up for failures and skip tests. --- tests/topotests/lib/topogen.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) 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) -- 2.39.5