2.3 KiB
2.3 KiB
STEP-071A V3-07 Linux 综合冻结:测试 Fixture 修正
基线
- 仓库:
/mnt/sda1/MapLibreParticleLab - 分支:
particle/main - 基线 HEAD:
fcc533dc9518395d0c25794131f53f0fae20d51c - 只允许修改:
test/style/source.test.cpp
已确认问题 1:Host duplicate 测试数据错误
HostFieldSubmissionRejectsInvalidWithoutChangingLastValidField 当前用同一份 uniform-east payload 提交 T0/T1。
Runtime 先按 GPU content identity 返回 Duplicate 是正确行为;测试预期 InitialWindowReady 已过时。
修正要求:
- T0 使用
uniform-east/field.f32。 - T1 使用兼容但内容不同的
uniform-north/field.f32。 - 后续 invalid/non-monotonic 检查使用不会与当前 lastValid 重复的 payload;尤其 non-monotonic 必须真正到达 non-monotonic 判定,而不是先命中 Duplicate。
- 不修改
sameFieldGpuContent、Duplicate 顺序或任何 Runtime 生产逻辑。
已确认问题 2:Timeline 测试时间重复
RasterArrayTimelineCandidatesReachReadyThroughFieldAdapter 使用 east/north/vortex 三份旧 fixture;三份 metadata 的 timeIndex 均为 0。
当前 OfflineFixtureParticleAdapter 保留 validTime = timeIndex + 1,因此旧测试会形成重复时间,Timeline 正确 fail-closed,而测试无限等待。
修正要求:
- 不改共享 fixture 文件。
- 仅在该测试内部把 north/vortex metadata 的
timeIndex调整为严格递增值,例如 east=0、north=1、vortex=2。 - 保持 grid/bounds/vector semantics/encoding 不变。
- 保持测试仍通过真实
OfflineFixtureParticleAdapter/ Source preload / Timeline 路径验证,不改成绕过适配器的伪测试。 - 若需要小型局部 helper,只能放在
test/style/source.test.cpp,不得扩散生产 API。
禁止事项
- 不修改
src/、include/、shader、JNI、Android、RN、WeatherV2、NavSea。 - 不修改 STEP-062 用户 dirty 文件。
- 不执行编译、测试、代码审计、搜索、Android Gradle、ADB、Jest。
- 不执行 git add/commit/push。
- 不创建额外完成报告;验证与 Git 收尾由 ChatGPT 在 tmux
rdc中直接完成。
完成输出
修改完成后只报告:
- 修改了
test/style/source.test.cpp哪两个测试; - 每处如何避免 Duplicate / 重复 validTime;
- 是否修改了任何生产代码(必须为“否”)。