脚本进行解析,以执 行升级脚本中的指令,完成移动终端的升级。
[0057] 解析程序中的异常掉电检测接口用于识别升级脚本中的异常掉电测试指令。且解 析程序中的异常掉电检测接口与升级脚本中的异常掉电测试指令相关联。
[0058]举例来说,解析程序中异常掉电检测接口可定义如下: Value^ RebootTestFn(const char^ names State^ stale, int arge, Expr^ argv[]) { if(argc !:=: 0) {
[0059] return ErrorAbort(sUilc, M%s() cxpccls no args, goi %d", name, arge); } rprinlf(((UpdatcrInr〇^)(slatc->cookic))->cmd_pipc5 "rebooMeshn"); returii SiringValuc(strdup(,V)); >
[0060] 进一步地,解析程序中异常掉电检测接口与异常掉电测试功能函数可通过以下方 式相关联。
[0061 ] RegisterFunction("reboot_test",RebootTestFn);
[0062]在本发明的实施例中,升级脚本中可包括多个异常掉电测试指令,多个异常掉电 测试指令分别设置在多个预设位置。其中,在升级脚本中设置的多个异常掉电测试指令用 于模拟标记移动终端升级时现异常掉电的地方。举例来说,异常掉电测试指令可以定义为: script .AppendExtra( 'reboot_test( );'),其中reboot_test()是升级脚本的异常掉电测 试关键字,由于解析程序中异常掉电检测接口RebootTestFn与升级脚本中的异常掉电测试 功能函数reboot_test()相关联,因此,当解析程序解析到升级脚本中的reboot_test()时, 可通过RebootTestFn进行异常掉电的解析处理。
[0063]处理模块20用于通过解析程序对升级脚本进行解析,以对移动终端进行升级,并 在解析到异常掉电测试指令时,通过异常掉电检测接口向恢复recovery进程发送指令,以 使恢复recovery进程进行异常掉电处理。
[0064]在本发明的实施例中,处理模块20通过解析程序对升级脚本进行解析以完成移动 终端的升级操作。当解析程序在解析到升级脚本中的异常掉电指令时,解析程序发送异常 掉电指令至恢复recovery进程,恢复recovery进程接收解析程序发送的异常掉电指令。恢 复recovery进程可根据接收到的异常掉电指令自身进行处理,进一步地,恢复recovery进 程还可以通过try_updat e_b inary函数接口调用解析程序中的异常掉电处理子进程。
[0065]在本发明的一个实施例中,如图4所示,处理模块20还包括:第一子判断模块21、第 二判断子模块22以及控制子模块23。
[0066] 其中,第一判断子模块21用于判断解析程序发送的指令是否为异常掉电测试指 令。由于解析程序用于解析升级脚本,而升级脚本中包括升级指令和异常掉电指令,因此, 在接收到解析程序发送的指令时,需要判断该指令是否为异常掉电测试指令。
[0067] 第二判断子模块22用于在第一判断子模块21判断解析程序发送的指令是异常掉 电测试指令时,进一步判断是否存在异常掉电测试文件。在本发明实施例中,当恢复 recovery进程判断出是异常掉电测试指令,可进一步判断是否存在异常掉电测试文件。举 例来说,异常掉电测试文件可以是cache/recovery/reboot_test。通过判断异常掉电测试 文件是否存在,恢复recovery进程能够根据判断的结果进行相应的操作,例如当判断出存 在异常掉电测试文件时,恢复recovery进程可通过自身的处理进程进行处理,也可通过 try_Update_binary函数接口调用解析程序中的异常掉电处理子进程进行处理,不需要控 制移动终端进行重启或关机的操作,更有效地使移动终端在升级过程中尽可能的一次性完 成升级操作。
[0068] 控制子模块23用于在第一判断子模块21判断不存在异常掉电测试文件时,创建异 常掉电测试文件,并控制移动终端重启。
[0069] 在本发明的实施例中,当恢复recovery进程判断出不存在异常掉电测试指令时, 恢复recovery进程会根据出现的异常掉电问题自动创建异常掉电测试文件,并控制移动终 端进行重启或者关机的动作。通过恢复recovery进程创建异常掉电测试文件,可有效避免 移动终端在升级过程中出现异常掉电时进行无限循环的操作,从而使移动终端更好地完成 升级异常掉电的模拟测试。
[0070] 由于升级脚本中在多个不同的预设位置设置有异常掉电指令,通过恢复recovery 进程进行异常掉电指令处理,从而可在升级过程中的不同阶段的模拟异常掉电问题。例如, 可在升级进度为20 %和60 %处设置异常掉电指令,从而当手机升级进度达到20 %和60 % 时,可控制手机重启。从而可根据重启后的升级情况对设置的异常掉电处理效果进行测试。 由此,通过在升级脚本中不同位置的异常掉电进行处理操作,模拟不同升级阶段的异常掉 电请求,便于对异常掉电处理进行测试,为测试提供了便捷条件。
[0071] 综上,本发明实施例还可以通过图5进行整体的描述,如图5所示,是根据本发明实 施例的一个移动终端升级过程异常掉电的模拟测试装置的结构示意图。
[0072]需要说明的是,本发明实施例的装置的具体实现方式与方法部分的具体实现方式 类似,为了减少冗余,此处不做赘述。
[0073]根据本发明实施例的移动终端升级异常掉电的模拟测试装置,可在移动终端升级 过程中,通过解析程序中的移动掉电检测接口检测升级脚本中的异常掉电测试指令,并进 行异常掉电处理,能够模拟移动终端升级过程中的不同阶段的异常掉电情况,便于对异常 掉电处理进行测试,能够为测试提供了便捷条件,提高测试效率。
[0074]为达上述目的,本发明实施例的第三方面提出了一种设备,包括上述移动终端升 级过程异常掉电的模拟测试装置。
[0075] 根据本发明实施例的设备,可在移动终端升级过程中,通过解析程序中的移动掉 电检测接口检测升级脚本中的异常掉电测试指令,并进行异常掉电处理,能够模拟移动终 端升级过程中的不同阶段的异常掉电情况,便于对异常掉电处理进行测试,能够为测试提 供了便捷条件,提高测试效率。
[0076] 流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括 一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部 分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺 序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明 的实施例所属技术领域的技术人员所理解。
[0077] 在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用 于实现逻辑功能的可执行指令的定序列表,