pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/32281 )
Change subject: osmo_vty: re.escape() the VTY prompt in connect() ......................................................................
osmo_vty: re.escape() the VTY prompt in connect()
The VTY prompt may contain regular expression metacharacters in it, so the self.re_prompt will not match as expected. One example is the modem app in osmocom-bb.git using promot 'OsmocomBB(modem)'.
Change-Id: Ibada798a214be97409b55556724f558b67da7365 Related: osmo-python-tests.git I47b1f1c1765acb1b935dcbcc54bbb5eb539db4f0 Related: OS#6001 --- M src/osmo_gsm_tester/obj/osmo_vty.py 1 file changed, 16 insertions(+), 1 deletion(-)
Approvals: pespin: Looks good to me, approved; Verified
diff --git a/src/osmo_gsm_tester/obj/osmo_vty.py b/src/osmo_gsm_tester/obj/osmo_vty.py index 6fee5dc..1b414c9 100644 --- a/src/osmo_gsm_tester/obj/osmo_vty.py +++ b/src/osmo_gsm_tester/obj/osmo_vty.py @@ -178,7 +178,7 @@ if not self.prompt: raise VtyInterfaceExn('Could not find application name; needed to decode prompts.' ' Initial data was: %r' % data) - self.re_prompt = re.compile('^%s(?:(([\w-]*)))?([#>]) (.*)$' % self.prompt) + self.re_prompt = re.compile('^%s(?:(([\w-]*)))?([#>]) (.*)$' % re.escape(self.prompt))
def disconnect(self): '''Disconnect.