Change in ...osmo-python-tests[master]: vty.py: Fix endl removed when pkt buffer content ends exactly on a ne...

laforge gerrit-no-reply at lists.osmocom.org
Mon Aug 26 18:52:27 UTC 2019


laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/python/osmo-python-tests/+/15274 )

Change subject: vty.py: Fix endl removed when pkt buffer content ends exactly on a newline char
......................................................................

vty.py: Fix endl removed when pkt buffer content ends exactly on a newline char

As a result, osmo_interact_vty.py was printing incorrect output:
"""
-        <param name='shutdown' doc='Remove the APN from administrative shut-down' />
-      </params>
+        <param name='shutdown' doc='Remove the APN from administrative shut-down' />      </params
"""

Change-Id: Ib1dbf39db1b27331ea4c39051e550a87780d9f76
---
M osmopy/osmo_interact/vty.py
1 file changed, 10 insertions(+), 3 deletions(-)

Approvals:
  Jenkins Builder: Verified
  osmith: Looks good to me, but someone else must approve
  laforge: Looks good to me, approved



diff --git a/osmopy/osmo_interact/vty.py b/osmopy/osmo_interact/vty.py
index e66ed22..f4b9aff 100755
--- a/osmopy/osmo_interact/vty.py
+++ b/osmopy/osmo_interact/vty.py
@@ -116,9 +116,16 @@
                 # 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]
+                last_line = last_line.replace('\r', '')
+                lines = last_line.splitlines()
+                if last_line.endswith('\n'):
+                    received_lines.extend(lines)
+                    last_line = ""
+                else:
+                    # if pkt buffer ends in the middle of a line, we need to keep
+                    # last non-finished line:
+                    received_lines.extend(lines[:-1])
+                    last_line = lines[-1]
 
             match = self.re_prompt.match(last_line)
             if not match:

-- 
To view, visit https://gerrit.osmocom.org/c/python/osmo-python-tests/+/15274
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings

Gerrit-Project: python/osmo-python-tests
Gerrit-Branch: master
Gerrit-Change-Id: Ib1dbf39db1b27331ea4c39051e550a87780d9f76
Gerrit-Change-Number: 15274
Gerrit-PatchSet: 2
Gerrit-Owner: pespin <pespin at sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge at gnumonks.org>
Gerrit-Reviewer: osmith <osmith at sysmocom.de>
Gerrit-MessageType: merged
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20190826/df9f3379/attachment.html>


More information about the gerrit-log mailing list