diff --git a/DeployDevice/resource/RK3568_tool/upgrade_tool b/DeployDevice/resource/RK3568_tool/upgrade_tool new file mode 100755 index 0000000000000000000000000000000000000000..59bacc9756f9b8fa3a216594e0e4e29d41a88f8e Binary files /dev/null and b/DeployDevice/resource/RK3568_tool/upgrade_tool differ diff --git a/DeployDevice/src/core/run.py b/DeployDevice/src/core/run.py index 7986abdb1909c64c59aea3dbc932d32dbe4e4140..6e3eca2a479981049bcbf6943b75bc8de658187d 100644 --- a/DeployDevice/src/core/run.py +++ b/DeployDevice/src/core/run.py @@ -12,6 +12,7 @@ import sys import threading import time import os +import platform from util.time_info import get_now_time_str_info, get_now_time_info, Timeout, timeout from aw.Param.UpgradeParam import getAllParam @@ -39,7 +40,8 @@ def start(param): CONSTANT.ENVERRMESSAGE = "no runstage" return -1 step_list = runstage.split(",") - param["step_list"] = step_list + param["step_list"] = step_list + system_type = platform.system() for step in step_list: app_name = step app_pyFile = 'func.' + app_name[0: app_name.find('_')] + '.' + app_name @@ -56,7 +58,10 @@ def start(param): errorcode = app._excuteApp('upgrade') time.sleep(5) scriptpath =os.path.dirname(os.path.dirname(os.path.abspath(os.path.dirname(__file__)))) - loader_tool_path = os.path.join(scriptpath, "resource", "RK3568_tool", "upgrade_tool.exe") + if system_type == "Windows": + loader_tool_path = os.path.join(scriptpath, "resource", "RK3568_tool", "upgrade_tool.exe") + else: + loader_tool_path = os.path.join(scriptpath, "resource", "RK3568_tool", "upgrade_tool") logger.info(loader_tool_path) # mycmd = "%s LD" % loader_tool_path # try: diff --git a/DeployDevice/src/func/liteOsUpgrade/liteOsUpgrade_RK3568_app.py b/DeployDevice/src/func/liteOsUpgrade/liteOsUpgrade_RK3568_app.py index a024f15f6edbf6774dda47ce76beb371fcee013b..be8d741e8ca9ff817a6c5e29059609cb11d1196f 100644 --- a/DeployDevice/src/func/liteOsUpgrade/liteOsUpgrade_RK3568_app.py +++ b/DeployDevice/src/func/liteOsUpgrade/liteOsUpgrade_RK3568_app.py @@ -7,6 +7,7 @@ import time import re import shutil import random +import platform from core.base import BaseApp, dec_stepmsg from util.file_locker import FileLock @@ -89,7 +90,9 @@ class liteOsUpgrade_RK3568(BaseApp): # @return: True or Flase #=================================================================================== ''' - global local_image_path, loader_tool_path, sn, LocationID ,test_num + global local_image_path, loader_tool_path, sn, LocationID ,test_num, system_type + system_type = platform.system() + logger.printLog("******系统为:%s ******" % system_type) version_savepath = self.params_dict.get("img_path") upgrade_test_type = self.params_dict.get("UpgradeTestType") sn = self.params_dict.get("sn") @@ -98,14 +101,20 @@ class liteOsUpgrade_RK3568(BaseApp): pr_url = self.params_dict.get("pr_url") logFilePath = self.logFilePath logger.info(logFilePath) - r = logFilePath.rfind("\\") + if system_type == "Windows": + r = logFilePath.rfind("\\") + else: + r = logFilePath.rfind("/") report_path = logFilePath[:r] logger.info(report_path) scriptpath = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(os.path.dirname(__file__))))) logger.info(scriptpath) local_image_path = os.path.join(version_savepath) logger.info(local_image_path) - loader_tool_path = os.path.join(scriptpath, "resource", "RK3568_tool", "upgrade_tool.exe") + if system_type == "Windows": + loader_tool_path = os.path.join(scriptpath, "resource", "RK3568_tool", "upgrade_tool.exe") + else: + loader_tool_path = os.path.join(scriptpath, "resource", "RK3568_tool", "upgrade_tool") logger.info(loader_tool_path) mini_path = os.path.join(local_image_path, "mini_system_test", "L2_mini_system_test.py") archive_path = os.path.join(version_savepath) @@ -485,7 +494,13 @@ def cmd_test(screenshot_path, py_path, new_report_path, resource_path, sn, test_ @timeout(900) def outCmd(cmd, save_screenshot_path, base_screenshot_path, resource_path): logger.info("cmd is: %s" % cmd) - p = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, encoding="gbk") + if system_type == "Windows": + shell = False + encoding = "gbk" + else: + shell = True + encoding = "utf-8" + p = subprocess.Popen(cmd, shell=shell, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, encoding=encoding) curline = p.stdout.readline() list_png_name = [] try: diff --git a/DeployDevice/src/util/time_info.py b/DeployDevice/src/util/time_info.py index e3ce932710dcab4cdb35e2f8f643eb81128908e6..0dadae0fdadc75944978b0b1a471f0a3ca47cdf0 100644 --- a/DeployDevice/src/util/time_info.py +++ b/DeployDevice/src/util/time_info.py @@ -14,6 +14,7 @@ import datetime import sys import threading import time +import platform from util.log_info import logger thead = [] @@ -97,7 +98,11 @@ def timeout(seconds = 300): thd.setDaemon(True) thd.start() thd.join(seconds) - alive = thd.isAlive() + system_type = platform.system() + if system_type == "Windows": + alive = thd.isAlive() + else: + alive = thd.is_alive() thd.kill() if alive: raise Timeout(u"function run too long, timeout %d seconds." % seconds)