vty tests: attempt to get at sporadic 'Broken Pipe' error
Add verbose logging as well as three retries around the place that often
fails on our build server with a 'Broken Pipe' error.
Change-Id: I8851b76b2d7b87dd500ae40f47e6bea716ef3fc4
diff --git a/openbsc/tests/vty_test_runner.py b/openbsc/tests/vty_test_runner.py
index 89b7a19..7b25d10 100644
--- a/openbsc/tests/vty_test_runner.py
+++ b/openbsc/tests/vty_test_runner.py
@@ -1257,7 +1257,21 @@
def ipa_handle_resp(x, tk, verbose = False):
s = data2str(x.recv(38))
if "0023fe040108010701020103010401050101010011" in s:
- x.send(IPA().id_resp(IPA().identity(name = tk.encode('utf-8'))))
+ retries = 3
+ while True:
+ print "\tsending IPA identity(%s) at %s" % (tk, time.strftime("%T"))
+ try:
+ x.send(IPA().id_resp(IPA().identity(name = tk.encode('utf-8'))))
+ print "\tdone sending IPA identity(%s) at %s" % (tk,
+ time.strftime("%T"))
+ break
+ except:
+ print "\tfailed sending IPA identity at", time.strftime("%T")
+ if retries < 1:
+ print "\tgiving up"
+ raise
+ print "\tretrying (%d attempts left)" % retries
+ retries -= 1
else:
if (verbose):
print "\tBSC <- NAT: ", s