Merged
fix: 清除watchdog超时定时器,防止僵尸定时器误杀后续用例 #1
fix: 清除watchdog超时定时器,防止僵尸定时器误杀后续用例 #1
Merged
haozhihangAdd on Jun 18
haozhihang
haozhihangCollaborators
Jun 18

fix: 清除watchdog超时定时器,防止僵尸定时器误杀后续用例
runTestCase 使用 Promise.race 让测试执行与超时定时器竞争,但测试
正常完成后未 clearTimeout,定时器继续在后台计时。当过期定时器触发
时会调用 stopApp() 杀死正在运行后续用例的应用进程,导致应用崩溃。

现象:stability-highfreq-callback-animation 用例正常完成后,其 300s
watchdog 定时器未清除,在后续 stability-surface-lifecycle-switch 执行
期间触发,误杀应用进程导致该用例失败。

修复:保存 setTimeout 返回值,在 Promise.race 完成后通过 .finally()
调用 clearTimeout 清除定时器。

likedislike
Pull Request has been successfully merged by gyange.
(Thank you for haozhihang's contribution.)
GgyangeCollaborators
Jun 22 Merged pull request, merge node SHA: 7e7a4293b610e123c2a9f37b274c151d9ba9ca57