From ffd3f544938eefd13c84ac4743c3afe1442d0aa7 Mon Sep 17 00:00:00 2001 From: Lou Berger Date: Wed, 11 Jul 2018 11:17:48 -0400 Subject: [PATCH] lib: more logging to aid in failure debugging Signed-off-by: Lou Berger --- tests/topotests/lib/bgprib.py | 25 +++++++++++++------------ tests/topotests/lib/lutil.py | 10 +++++++--- 2 files changed, 20 insertions(+), 15 deletions(-) diff --git a/tests/topotests/lib/bgprib.py b/tests/topotests/lib/bgprib.py index 0a00b5e5a6..8ec1511e10 100644 --- a/tests/topotests/lib/bgprib.py +++ b/tests/topotests/lib/bgprib.py @@ -71,15 +71,16 @@ class BgpRib: def RequireVpnRoutes(self, target, title, wantroutes, debug=0): import json + logstr = "RequireVpnRoutes " + str(wantroutes) #non json form for humans luCommand(target,'vtysh -c "show bgp ipv4 vpn"','.','None','Get VPN RIB (non-json)') ret = luCommand(target,'vtysh -c "show bgp ipv4 vpn json"','.*','None','Get VPN RIB (json)') if re.search(r'^\s*$', ret): # degenerate case: empty json means no routes if len(wantroutes) > 0: - luResult(target, False, title) + luResult(target, False, title, logstr) return - luResult(target, True, title) + luResult(target, True, title, logstr) rib = json.loads(ret) rds = rib['routes']['routeDistinguishers'] for want in wantroutes: @@ -96,12 +97,12 @@ class BgpRib: found = 1 break if not found: - luResult(target, False, title) + luResult(target, False, title, logstr) return - luResult(target, True, title) + luResult(target, True, title, logstr) def RequireUnicastRoutes(self,target,afi,vrf,title,wantroutes,debug=0): - + logstr = "RequireVpnRoutes " + str(wantroutes) vrfstr = '' if vrf != '': vrfstr = 'vrf %s' % (vrf) @@ -109,25 +110,25 @@ class BgpRib: if (afi != 'ipv4') and (afi != 'ipv6'): print "ERROR invalid afi"; - str = 'show bgp %s %s unicast' % (vrfstr, afi) + cmdstr = 'show bgp %s %s unicast' % (vrfstr, afi) #non json form for humans - cmd = 'vtysh -c "%s"' % str + cmd = 'vtysh -c "%s"' % cmdstr luCommand(target,cmd,'.','None','Get %s %s RIB (non-json)' % (vrfstr, afi)) - cmd = 'vtysh -c "%s json"' % str + cmd = 'vtysh -c "%s json"' % cmdstr ret = luCommand(target,cmd,'.*','None','Get %s %s RIB (json)' % (vrfstr, afi)) if re.search(r'^\s*$', ret): # degenerate case: empty json means no routes if len(wantroutes) > 0: - luResult(target, False, title) + luResult(target, False, title, logstr) return - luResult(target, True, title) + luResult(target, True, title, logstr) rib = json.loads(ret) table = rib['routes'] for want in wantroutes: if not self.routes_include_wanted(table,want,debug): - luResult(target, False, title) + luResult(target, False, title, logstr) return - luResult(target, True, title) + luResult(target, True, title, logstr) BgpRib=BgpRib() diff --git a/tests/topotests/lib/lutil.py b/tests/topotests/lib/lutil.py index 9be6505eeb..3ae18018bf 100755 --- a/tests/topotests/lib/lutil.py +++ b/tests/topotests/lib/lutil.py @@ -72,16 +72,20 @@ Test Target Summary Pass Fail\n ******************************************************************************\n') self.fsum.write(str+'\n') - def result(self, target, success, str): + def result(self, target, success, str, logstr=None): if success: p = 1 f = 0 self.l_pass += 1 + sstr = "PASS" else: f = 1 p = 0 self.l_fail += 1 + sstr = "FAIL" self.l_total += 1 + if logstr != None: + self.log("R:%d %s: %s" % (self.l_total, sstr, logstr)) res = "%-4d %-6s %-56s %-4d %d" % (self.l_total, target, str, p, f) self.log ('R:'+res) self.summary(res) @@ -320,8 +324,8 @@ def luNumFail(): def luNumPass(): return LUtil.l_pass -def luResult(target, success, str): - return LUtil.result(target, success, str) +def luResult(target, success, str, logstr=None): + return LUtil.result(target, success, str, logstr) def luShowFail(): printed = 0 -- 2.39.5