20 lines
1.5 KiB
Markdown
20 lines
1.5 KiB
Markdown
# Windows 隔离测试失败证据摘要
|
||
|
||
以下调用和错误类型来自本轮实际测试日志;省略本机绝对路径及无关依赖安装日志,完整结果计数见验收结果 JSON。
|
||
|
||
## 首轮
|
||
|
||
测试:`tests/test_animations.py::test_default_animation_delete_and_last_frame_delete_fall_back`。
|
||
|
||
第二个用户动图添加帧时,`app/animations/store.py::_write_at` 调用 `app/persistence.py::atomic_write_many_bytes`,`os.replace(temporaries[target], target)` 返回 `PermissionError: [WinError 5]`。API 返回错误响应后,测试访问 `second["id"]` 产生 `KeyError: 'id'`。独立定向运行和下一轮全量运行未复现该项;没有确认其系统根因。
|
||
|
||
同轮另有内核依赖完整性测试失败,原因是隔离副本没有复制该测试要求的内核载荷和源码归档;补齐项目内登记的原材料后该项通过。
|
||
|
||
## 补齐材料后的全量运行
|
||
|
||
测试:`tests/test_ota_checkpoints.py::test_power_loss_between_data_renames_recovers_original`。
|
||
|
||
测试中的 `c.DATA.rename(backup)` 经 `pathlib.Path.rename` 调用 `os.rename`,返回 `PermissionError: [WinError 5]`,尚未进入恢复断言。该轮为 505 通过、10 跳过、1 失败;使用独立测试目录定向重测该项,结果 `1 passed in 0.06s`。没有修改 OTA、动画、文件写入保护或测试断言来掩盖失败。
|
||
|
||
上述现象仍保留为本机间歇性文件访问边界,不能仅凭重测通过推断具体原因。板端 Linux 原子部署验证为 509 通过、7 跳过,生产保存接口和数据保留验证通过。
|