test(ncm): M10 宿主回归三套(44 断言)+ 构建脚本 + REPORT §42

- bench/retry_storm_sim.c(25 断言):真实 retry_ctl.c/meta_gate.c,100ms tick 断网
  120s→4 次/间隔 ≥30s;状态每 tick 抖动→2 次;时钟回退→不立即重试且间隔仍 ≥30s;
  worker 45s>间隔→不并发;META 空闲 3 帧/60s(旧 600)、播放 13 帧(≤1/5s)、
  状态抖动 ≤4 帧/秒、元数据变化/seek 立即报、超长标题截断不重报、回退不连发。
- bench/home_retry_sim.c(13 断言):真实 app/ui/home.c 的 home_tick 编进宿主
  (--gc-sections + 桩),断网 120s→4 次重试、单飞、全帧重绘 0 次;
  把真机形态的垃圾 64 位 now 喂给 home_tick 仍为 4 次/≥30s;回在线再断网不清基准。
- bench/meta_ipc_sim.c(6 断言):真实 ipc_media 线程 + 假 launcher AF_UNIX socket,
  空闲 2s 只收到 1 帧 META(旧 ~10 帧),状态翻转恰好多 1 帧,帧头合法。
- build_ncm.sh / build_ncm_host.sh:源列表加 retry_ctl.c、meta_gate.c(host 补
  mem_watch.c,否则 player_manager 链接失败);build_ncm_sims.sh 加三个 sim。
- REPORT §42:真机日志证据(时间戳低/高 32 位拆解、21016 帧 META)、根因三链、
  实现、验证(session_gate 88 / http_truncate 13 / core 139 全过)、真机验证建议。
This commit is contained in:
AskaEth committed 2026-11-05 13:00:32 +08:00
1 parent 7f4e18b0ed
commit 294ed6ffc7
7 files changed
+938 -5

No files matched your search

+25
View File
@@ -161,4 +161,29 @@ gcc -O2 -Wall -Wextra -DJSMN_HEADER -I. -Icore -Ivendor/mbedtls/include \
gcc -Wl,--gc-sections -o http_truncate_sim /tmp/t.o /tmp/t_http.o /tmp/t_common.o
run_sim http_truncate_sim
echo "==> build retry_storm_sim(M10 断网重试风暴 / META 洪泛 节奏闸:纯逻辑,0 网络 0 SDK)"
mkdir -p out/chk
gcc -O2 -Wall -Wextra -o out/chk/retry_storm_sim bench/retry_storm_sim.c \
app/logic/retry_ctl.c app/play/meta_gate.c -lpthread
run_sim out/chk/retry_storm_sim
echo "==> build home_retry_sim(M10 真实 ui/home.c 的 home_tick 离线重试回归;网络/UI 桩在测试内)"
HINC="-DMEOW_UI_HOST_TEST -DJSMN_HEADER -I. -I../sdk -I../sdk/include -I../meow_launcherd -Icore -Ivendor/jsmn"
for f in app/ui/home.c app/logic/retry_ctl.c bench/home_retry_sim.c; do
b=$(basename "$f" .c)
gcc -O2 -Wall -Wextra -ffunction-sections -fdata-sections $HINC -c "$f" -o "out/chk/m10_$b.o"
done
gcc -Wl,--gc-sections -o out/chk/home_retry_sim \
out/chk/m10_home.o out/chk/m10_retry_ctl.o out/chk/m10_home_retry_sim.o -lpthread
run_sim out/chk/home_retry_sim
echo "==> build meta_ipc_sim(M10 真实 play/ipc_media.c + 假 launcher socket 的 META 帧频回归)"
for f in app/play/ipc_media.c app/play/meta_gate.c bench/meta_ipc_sim.c; do
b=$(basename "$f" .c)
gcc -O2 -Wall -Wextra -ffunction-sections -fdata-sections $HINC -c "$f" -o "out/chk/m10_$b.o"
done
gcc -Wl,--gc-sections -o out/chk/meta_ipc_sim \
out/chk/m10_ipc_media.o out/chk/m10_meta_gate.o out/chk/m10_meta_ipc_sim.o -lpthread
run_sim out/chk/meta_ipc_sim
echo "===== all sims done ====="