fix: 清除watchdog超时定时器,防止僵尸定时器误杀后续用例 runTestCase 使用 Promise.race 让测试执行与超时定时器竞争,但测试 正常完成后未 clearTimeout,定时器继续在后台计时。当过期定时器触发 时会调用 stopApp() 杀死正在运行后续用例的应用进程,导致应用崩溃。
现象:stability-highfreq-callback-animation 用例正常完成后,其 300s watchdog 定时器未清除,在后续 stability-surface-lifecycle-switch 执行 期间触发,误杀应用进程导致该用例失败。
修复:保存 setTimeout 返回值,在 Promise.race 完成后通过 .finally() 调用 clearTimeout 清除定时器。
fix: 清除watchdog超时定时器,防止僵尸定时器误杀后续用例
runTestCase 使用 Promise.race 让测试执行与超时定时器竞争,但测试
正常完成后未 clearTimeout,定时器继续在后台计时。当过期定时器触发
时会调用 stopApp() 杀死正在运行后续用例的应用进程,导致应用崩溃。
现象:stability-highfreq-callback-animation 用例正常完成后,其 300s
watchdog 定时器未清除,在后续 stability-surface-lifecycle-switch 执行
期间触发,误杀应用进程导致该用例失败。
修复:保存 setTimeout 返回值,在 Promise.race 完成后通过 .finally()
调用 clearTimeout 清除定时器。