mirror of
https://github.com/espressif/openthread.git
synced 2026-06-05 21:14:49 +00:00
[thci] fix for ncs thci issues (#9328)
After recent reference device release, two THCI issues have been found. This commit adds `"` around command arguments that have escapable characters (like `ot networkname aa\ bb`), and skips lines containing only ANSI escape codes in commissioning logs. Signed-off-by: Maciej Baczmanski <maciej.baczmanski@nordicsemi.no>
This commit is contained in:
committed by
GitHub
parent
29b87786cd
commit
dc97b87376
@@ -832,8 +832,15 @@ class OpenThreadTHCI(object):
|
||||
[str]: The modified string with escaped characters.
|
||||
"""
|
||||
escapable_chars = '\\ \t\r\n'
|
||||
escapable_chars_present = False
|
||||
|
||||
for char in escapable_chars:
|
||||
string = string.replace(char, '\\%s' % char)
|
||||
if char in string:
|
||||
string = string.replace(char, '\\%s' % char)
|
||||
escapable_chars_present = True
|
||||
|
||||
if self._cmdPrefix == ZEPHYR_PREFIX and escapable_chars_present:
|
||||
string = '"' + string + '"'
|
||||
return string
|
||||
|
||||
@API
|
||||
@@ -2338,15 +2345,16 @@ class OpenThreadTHCI(object):
|
||||
EncryptedPacket.TLVsLength = int(infoValue)
|
||||
payloadLineCount = (int(infoValue) + bytesInEachLine - 1) / bytesInEachLine
|
||||
while payloadLineCount > 0:
|
||||
payloadLineCount = payloadLineCount - 1
|
||||
payloadLine = rawLogs.get()
|
||||
payloadSplit = payloadLine.split('|')
|
||||
for block in range(1, 3):
|
||||
payloadBlock = payloadSplit[block]
|
||||
payloadValues = payloadBlock.split(' ')
|
||||
for num in range(1, 9):
|
||||
if '..' not in payloadValues[num]:
|
||||
payload.append(int(payloadValues[num], 16))
|
||||
if '|' in payloadLine:
|
||||
payloadLineCount = payloadLineCount - 1
|
||||
payloadSplit = payloadLine.split('|')
|
||||
for block in range(1, 3):
|
||||
payloadBlock = payloadSplit[block]
|
||||
payloadValues = payloadBlock.split(' ')
|
||||
for num in range(1, 9):
|
||||
if '..' not in payloadValues[num]:
|
||||
payload.append(int(payloadValues[num], 16))
|
||||
|
||||
EncryptedPacket.TLVs = (PlatformPackets.read(EncryptedPacket.Type, payload)
|
||||
if payload != [] else [])
|
||||
|
||||
Reference in New Issue
Block a user