diff --git a/tools/harness-thci/OpenThread.py b/tools/harness-thci/OpenThread.py index 43f6c2fba..0721c2ac3 100644 --- a/tools/harness-thci/OpenThread.py +++ b/tools/harness-thci/OpenThread.py @@ -263,7 +263,7 @@ class OpenThreadTHCI(object): def log(self, fmt, *args): try: msg = fmt % args - logging.info('%s - %s', self, msg) + print('%s - %s - %s' % (self.port, time.strftime('%b %d %H:%M:%S'), msg)) except Exception: pass @@ -1272,6 +1272,8 @@ class OpenThreadTHCI(object): self.__sendCommand('factoryreset', expectEcho=False) self.sleep(0.5) + self._onReset() + @API def removeRouter(self, xRouterId): """kickoff router with a given router id from the Thread Network @@ -3045,6 +3047,9 @@ class OpenThread(OpenThreadTHCI, IThci): self.__handle.close() self.__handle = None + def _onReset(self): + pass + def __socRead(self, size=512): if self._is_net: return self.__handle.recv(size) diff --git a/tools/harness-thci/OpenThread_BR.py b/tools/harness-thci/OpenThread_BR.py index 54d7ebe87..4a7a6f452 100644 --- a/tools/harness-thci/OpenThread_BR.py +++ b/tools/harness-thci/OpenThread_BR.py @@ -61,6 +61,7 @@ class SSHHandle(object): def __init__(self, ip, port, username, password): import paramiko + self.port = '%s:%d' % (ip, port) self.__handle = paramiko.SSHClient() self.__handle.set_missing_host_key_policy(paramiko.AutoAddPolicy()) self.__handle.connect(ip, port=int(port), username=username, password=password) @@ -118,13 +119,6 @@ def SerialHandle(object): self.bash('stty cols 256') - def log(self, fmt, *args): - try: - msg = fmt % args - logging.info('%s - %s', self.port, msg) - except Exception: - pass - def close(self): self.__handle.close() @@ -266,7 +260,10 @@ class OpenThread_BR(OpenThreadTHCI, IThci): self.__handle.close() self.__handle = None - @watched + def _onReset(self): + self.__dumpSyslog() + self.__truncateSyslog() + def bash(self, cmd, timeout=DEFAULT_COMMAND_TIMEOUT): return self.__handle.bash(cmd, timeout=timeout) @@ -322,3 +319,8 @@ class OpenThread_BR(OpenThreadTHCI, IThci): def __truncateSyslog(self): self.bash('sudo truncate -s 0 /var/log/syslog') + + def __dumpSyslog(self): + output = self.bash('sudo grep "otbr-agent" /var/log/syslog') + for line in output: + self.log('%s', line)