docs: verify STEP-097 A1 diagnostic GTest on Mac
Some checks failed
validate-scripts / validate-scripts (push) Has been cancelled
Some checks failed
validate-scripts / validate-scripts (push) Has been cancelled
This commit is contained in:
@@ -28,7 +28,7 @@
|
||||
| 16 F07/C05 | `render_orchestrator.hpp:156` 每段前缀 distance | 全局 ordinal 与 Z 顺序不变 | orchestrator;重排/正反遍历 | WAITING_RDC_BUILD_AND_RUNTIME / 待提交 / Core |
|
||||
| 17 C06/B05/B10 | 相同时间/mix-only 物化全网格 | owner-thread 世代发布 | runtime/source;重复时间/边界 | WAITING_RDC_BUILD_AND_RUNTIME / 待提交 / Core、桥接 |
|
||||
| 18 C07 | drawable/tweaker tick 重建、端点复制 | 不保留 stale GPU 引用 | Particle renderer;tick/resize | DEFERRED_DESIGN / 无 / GL、Metal |
|
||||
| 19 F09/O01 | `runtime_state.hpp:230` 新 topology;旧 cache 析构按 index 计数 | 总量与当前 topology 分离 | runtime/cache 按 revision 过滤;新增 `OldCacheReleaseCannotChargeReplacementAtSameIndex` GTest | CODE_IMPLEMENTED_STATIC_CHECKED / `e67e4961b` / Core 测试 NOT RUN |
|
||||
| 19 F09/O01 | `runtime_state.hpp:230` 新 topology;旧 cache 析构按 index 计数 | 总量与当前 topology 分离 | runtime/cache 按 revision 过滤;新增 `OldCacheReleaseCannotChargeReplacementAtSameIndex` GTest | CODE_IMPLEMENTED_STATIC_CHECKED / `e67e4961b` / 2026-09-26 Core GTest 1/1 PASS,诊断组 5/5 PASS;GPU 资源验收仍待测 |
|
||||
| 20 F05/E01 | Host package `.10`、Native plugin `.13` | 精确同版,勿动发布产物 | Host package/lock;默认 install/typecheck | WAITING_RDC_BUILD_AND_RUNTIME / 待提交 / RN、Android |
|
||||
| 21 F06 | `renderer_impl.cpp` multi-C 走 full CPU | 保留安全 fallback | 后续 A/B 设计 | DEFERRED_DESIGN / 无 / GL、Metal |
|
||||
| 22 F08 | source/tile 等全局失效 | 无依赖图前不缩窄 | 后续依赖设计 | DEFERRED_DESIGN / 无 / Core |
|
||||
@@ -41,3 +41,7 @@
|
||||
- A2:预期 PLAY 每 map/source 唯一时钟一次 tick;endpoint 内容识别随被提交场的数据量变化,mix-only 应为零次 GPU endpoint 上传。尚未实施。
|
||||
- B:预期 JSON 校验 O(输入长度),事务校验 O(有效 cell 数),attach 重复次数不再增加 listener 数。尚未实施。
|
||||
- C:预期 full diagnostics 深复制从每 render 次降到每外部 pull 次;ordinal 前缀从每段 O(G) 降到 topology 更新 O(G);同时间物化从 O(cell) 降为 O(1)。尚未实施。
|
||||
|
||||
## 2026-09-26 第 19 项实测更新
|
||||
|
||||
- RDC 使用 `0d13552be` 重编译并执行 GTest,第 19 项 1/1 PASS、RenderSegmentDiagnostics 全组 5/5 PASS;详见 `docs/报告/STEP-097_A1_第19项GTest运行验证报告_v1.md`。其他问题状态不因此变化,A1 仍为 PARTIAL。
|
||||
|
||||
@@ -19,3 +19,9 @@
|
||||
- 经 `adb -s 192.168.200.139:5555` 在 Panasonic FZG1-2 覆盖安装 `Success`;设备内安装 APK SHA-256 与产物一致。保存原包备份、20 张截图/UI XML、ADB 操作日志与实时 Logcat;设备实际验证见 `docs/报告/STEP-097_A1_FZG1测试APK与实机验证报告_v1.md`。
|
||||
- R-C-R、R-C、C-R、C-only、single continuous、缓存 OFF/ON、Camera、缺失 START/END 后恢复、TOP_REORDER、跨连续区与 fail-closed 均已做**既有场景冒烟**,未发现本次测试窗口内 FATAL/SIGSEGV/SIGABRT。
|
||||
- B/D 场景 top 不可见而诊断仍 topPresent=true 的现象已记录为待复核,不凭此断言确定像素错误;01 同 tile fixture、02 Metal、03 render exception 注入、19 GTest 仍未完成。因此 **A1 保持阻塞/PARTIAL,A2/B/C 未开始**。此补记更新了之前 Codex 报告中“全部测试 NOT RUN”的后续事实,不追溯修改旧报告。
|
||||
|
||||
## 2026-09-26 RDC 第 19 项 GTest 实跑补记
|
||||
|
||||
- Mac 同一 `particle/main` HEAD `0d13552bed84f427dd43cae9856391bd26622179` 将 `build-step088-opengl/mbgl-test-runner` 增量编译/链接完成:95/95 steps,exit 0,261.74 秒;构建警告记录于原始日志,不影响测试退出状态。
|
||||
- 定向 `RenderSegmentDiagnostics.OldCacheReleaseCannotChargeReplacementAtSameIndex`:**1/1 PASS、exit 0**;相关 `RenderSegmentDiagnostics.*`:**5/5 PASS、exit 0**。测试证明旧 revision 释放不污染新 topology 相同 index 的当前段计数。详细报告:`docs/报告/STEP-097_A1_第19项GTest运行验证报告_v1.md`。
|
||||
- 19 的**已存在 GTest 实测门槛通过**,但不等于 GPU 内存无泄漏或整项资源实机验收;01/02/03 专用测试入口仍缺,A1 依然 PARTIAL,不进入 A2/B/C。本补记覆盖此前 Codex 与 FZG1 报告中的历史 `GTest NOT RUN` 记录,不改写旧报告。
|
||||
|
||||
@@ -49,3 +49,8 @@ npm run typecheck
|
||||
- 标准构建脚本已由 Mac RDC 实际执行;HEAD `91c2491b0`,x86_64 OpenGL Debug APK `BUILD SUCCESSFUL`,SHA-256 `8677197c5f83a22747cb51f0c261edffc5db4678fc25b3f366474f6ecb94dc99`。冻结于 `artifacts/maplibre-particle/step097-fzg1/`。
|
||||
- ADB `192.168.200.139:5555` 对 FZG1-2 实际执行覆盖安装、20 组截图/UI XML、既有 STEP-093 topology、CACHE OFF/ON、相机、非法范围恢复与 mutation/fail-closed,日志见 `docs/报告/STEP-097_A1_FZG1测试APK与实机验证报告_v1.md`。
|
||||
- 此处只是设备冒烟;A1 的同 tile stencil fixture、Metal 附件验证、真正 LayerGroup exception 注入与 `OldCacheReleaseCannotChargeReplacementAtSameIndex` GTest **仍 NOT RUN/缺专用入口**;A2/B/C 和软件发布亦未执行。
|
||||
|
||||
## 2026-09-26 第 19 项原生 GTest 已执行
|
||||
|
||||
- RDC 使用当前源码 HEAD `0d13552bed84f427dd43cae9856391bd26622179` 增量重编译 `mbgl-test-runner`:95/95 steps,exit 0;第 19 项 `OldCacheReleaseCannotChargeReplacementAtSameIndex` **1/1 PASS**;`RenderSegmentDiagnostics.*` **5/5 PASS**,两次退出码均为 0。原始日志和分析见 `docs/报告/STEP-097_A1_第19项GTest运行验证报告_v1.md`。
|
||||
- 上方第 19 项“NOT RUN”是 2026-09-25 FZG1 冒烟时点的历史事实,现已由本条更新。01 同 tile、02 Metal、03 render exception 测试仍未闭合;A1 不得整体标 PASS。
|
||||
|
||||
48
docs/报告/STEP-097_A1_第19项GTest运行验证报告_v1.md
Normal file
48
docs/报告/STEP-097_A1_第19项GTest运行验证报告_v1.md
Normal file
@@ -0,0 +1,48 @@
|
||||
# STEP-097 A1 第 19 项 GTest 运行验证报告 v1
|
||||
|
||||
## 1. 执行结论
|
||||
|
||||
**第 19 项 F09/O01 的现有原生单元测试:PASS。** 专项 `RenderSegmentDiagnostics.OldCacheReleaseCannotChargeReplacementAtSameIndex` 实测 **1/1 通过、退出码 0**;相关 `RenderSegmentDiagnostics.*` **5/5 通过、退出码 0**。这是 Core 诊断计数验证,并非 GPU 内存泄漏测试或 A1 整体验收。
|
||||
|
||||
- 执行机器:`Mac-mini-tei.lan`,日期 2026-09-26(日本时间);仓库 `/Users/tei/dev/MapLibreParticleLab`;分支 `particle/main`。
|
||||
- 实测源码 HEAD:`0d13552bed84f427dd43cae9856391bd26622179`;其中第 19 项生产/测试源码提交 `e67e4961b5b1a1ff8fa7c1e3263799d63f89cadc`;开始时工作树 clean。
|
||||
- Integration `main` 已由 RDC 同步核实至 `318f8ccf911ac3136c3086a1d14e61f83e2d4bce`。本次无公共契约或生产源码修改。
|
||||
|
||||
## 2. 构建和运行
|
||||
|
||||
在已有、可追踪源码的 `build-step088-opengl` CMake/Ninja 配置中,针对 `mbgl-test-runner` 增量重编译:
|
||||
|
||||
```sh
|
||||
cmake --build build-step088-opengl --target mbgl-test-runner --parallel 3
|
||||
build-step088-opengl/mbgl-test-runner --gtest_filter=RenderSegmentDiagnostics.OldCacheReleaseCannotChargeReplacementAtSameIndex --gtest_color=no
|
||||
build-step088-opengl/mbgl-test-runner '--gtest_filter=RenderSegmentDiagnostics.*' --gtest_color=no
|
||||
```
|
||||
|
||||
- 构建:**exit 0**,95/95 Ninja steps,实际耗时 **261.74 秒**;测试程序确实重新链接且新增测试列在 `--gtest_list_tests` 输出中,未复用旧二进制代替新测试。
|
||||
- 编译有 Boost header 未使用形参与 vendor 静态库 macOS deployment target 链接警告;无构建失败,本次未更改工具链/警告规则。
|
||||
- 产物:`build-step088-opengl/mbgl-test-runner`;SHA-256 `9fbbc08c44d8445114040ef3a127f5efdad29d0e6d0d1437617421c8a392de52`。
|
||||
## 3. 测试和断言证据
|
||||
|
||||
专项用例源码:`test/renderer/retained_underlay_cache.test.cpp`,`RenderSegmentDiagnostics.OldCacheReleaseCannotChargeReplacementAtSameIndex`。
|
||||
|
||||
测试先配置旧 Segment 拓扑并取得 `oldRevision`,再将 Continuous 边界由 `weather` 改为 `land`,要求 `newRevision != oldRevision`。对相同 index=0 分别发送两种资源释放:
|
||||
|
||||
1. `recordSegmentResourceRelease(0, oldRevision)`:新 topology 第 0 段的 `resourceRelease` 必须仍为 **0**。
|
||||
2. `recordSegmentResourceRelease(0, newRevision)`:同一当前段的 `resourceRelease` 必须变为 **1**。
|
||||
|
||||
本轮真实输出:
|
||||
|
||||
```text
|
||||
[ RUN ] RenderSegmentDiagnostics.OldCacheReleaseCannotChargeReplacementAtSameIndex
|
||||
[ OK ] RenderSegmentDiagnostics.OldCacheReleaseCannotChargeReplacementAtSameIndex (0 ms)
|
||||
[==========] 1 test from 1 test suite ran.
|
||||
[ PASSED ] 1 test.
|
||||
```
|
||||
|
||||
相邻诊断组的 5 个用例亦全部通过:可见性元数据、旧缓存释放、缓存关闭保持拓扑、非法计划的 Style 顺序、快照序列化。全部无失败和跳过。
|
||||
|
||||
## 4. 事实边界、证据与后续
|
||||
|
||||
- 该测试仅验证**当前 topology 的按段释放计数不被旧 revision 污染**;不证明底层 GPU 纹理的实际释放、总分配平衡、没有显存泄漏或 FZG1/iOS 运行态表现。Aggregate release 仍由源码语义保证,本用例未单独断言 aggregate 数值。
|
||||
- 第 19 项的**已有 GTest 执行检查点可标为 PASS**;STEP-097 A1 **仍 PARTIAL**:01 同 vector source/same tiles stencil、02 Metal 附件、03 真正 LayerGroup 绘制异常注入均没有被此测试覆盖。
|
||||
- 保存日志:忽略目录 `artifacts/maplibre-particle/step097-gtest19/build.log`、`gtest19.log`、`diagnostics-suite.log`、`build-metadata.txt`。本轮没有执行 Jest、APK 构建/重装、性能或新版本发布。
|
||||
@@ -954,3 +954,8 @@ Android V3-08 单次综合验收已完成并关闭。Native `13.4.1-particle.2`
|
||||
- Mac clean 基线 `91c2491b0` 以标准 Pipeline 构建 OpenGL x86_64 APK,Gradle `BUILD SUCCESSFUL in 15m 59s`;60,295,184 bytes、SHA-256 `8677197c5f83a22747cb51f0c261edffc5db4678fc25b3f366474f6ecb94dc99`。
|
||||
- `adb -s 192.168.200.139:5555` 在 FZG1-2 覆盖安装成功,设备内文件 hash 相同;既有 STEP-093 场景、缓存/相机/非法范围恢复等 20 张截图与日志完成。报告:`docs/报告/STEP-097_A1_FZG1测试APK与实机验证报告_v1.md`;本地证据保存在忽略目录 `artifacts/maplibre-particle/step097-fzg1/`。
|
||||
- A1 的 stencil 同 tile、Metal、render exception 以及 19 定向 GTest 未闭合;B/D topPresent 诊断异常待复核,A1 仍 PARTIAL,A2/B/C 未进入,未发布下一软件版本。
|
||||
|
||||
### 2026-09-26 STEP-097 A1 GTest 实测
|
||||
|
||||
- RDC 重新编译 mbgl-test-runner 成功,第 19 项 1/1 PASS,RenderSegmentDiagnostics 组 5/5 PASS,全部退出码为 0。
|
||||
- 详见 docs/报告/STEP-097_A1_第19项GTest运行验证报告_v1.md。A1 仍因 01/02/03 专项测试缺失保持 PARTIAL,未进入 A2/B/C。
|
||||
|
||||
Reference in New Issue
Block a user