osmo_interact/vty.py: fix parsing of vty logging
Because the VTY logging target currently prints '\n\r' instead of '\r\n', the python splitlines() separates those as interleaving empty lines. Ignore '\r' to allow verifying VTY logging output as well. Change-Id: I8de9cebaa9aad275f65c3672985b7cbca343b5a6
This commit is contained in:
parent
4c8a0bdc39
commit
b0621451e3
|
@ -110,7 +110,13 @@ class InteractVty(Interact):
|
|||
last_line = "%s%s" % (last_line, new_data)
|
||||
|
||||
if last_line:
|
||||
lines = last_line.splitlines()
|
||||
# Separate the received response into lines.
|
||||
# But note: the VTY logging currently separates with '\n\r', not '\r\n',
|
||||
# see _vty_output() in libosmocore logging_vty.c.
|
||||
# So we need to jump through hoops to not separate 'abc\n\rdef' as
|
||||
# [ 'abc', '', 'def' ]; but also not to convert '\r\n\r\n' to '\r\n\n' ('\r{\r\n}\n')
|
||||
# Simplest is to just drop all the '\r' and only care about the '\n'.
|
||||
lines = last_line.replace('\r', '').splitlines()
|
||||
received_lines.extend(lines[:-1])
|
||||
last_line = lines[-1]
|
||||
|
||||
|
|
Loading…
Reference in New Issue