From 8b3aacbd3647da48dd05e80843b130918dab97c2 Mon Sep 17 00:00:00 2001 From: jiyong_sd Date: Tue, 22 Feb 2022 10:33:18 +0800 Subject: [PATCH] modified drivers.py Signed-off-by: jiyong_sd Change-Id: Id6362b8fd20a5a3428f156e7402d0248b31d43c4 --- .../src/xdevice_extension/_core/driver/drivers.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/extension/src/xdevice_extension/_core/driver/drivers.py b/extension/src/xdevice_extension/_core/driver/drivers.py index 053ad5f..2a6dfde 100644 --- a/extension/src/xdevice_extension/_core/driver/drivers.py +++ b/extension/src/xdevice_extension/_core/driver/drivers.py @@ -1641,12 +1641,18 @@ class JSUnitTestDriver(IDriver): def read_device_log(self, device_log_file, timeout=60): LOG.info("The timeout is {} seconds".format(timeout)) + result_message = "" while time.time() - self.start_time <= timeout: - result_message = "" + with open(device_log_file, "r", encoding='utf-8', errors='ignore') as file_read_pipe: - lines = file_read_pipe.readlines() - for line in lines: + while True: + try: + line = file_read_pipe.readline() + except (UnicodeDecodeError, UnicodeError) as error: + LOG.warning("While read log file: %s" % error) + if not line : + break if line.find("JSApp:") != -1: result_message += line if "[end] run suites end" in line: @@ -1659,7 +1665,6 @@ class JSUnitTestDriver(IDriver): else: LOG.error("Hjsunit run timeout {}s reached".format(timeout)) raise RuntimeError("Hjsunit run timeout!") - return result_message def _run_jsunit(self, config_file, request): try: -- GitLab