#!/usr/bin/env python3 # -*- coding: utf-8 -*- """遥测快照层(全周傅氏相量发布侧,meas)主机侧纯逻辑单元测试运行器(纯标准库)。 做什么: 用本机 MSVC 编译 test/host/meas/meas_test.c(它以 #include 纳入 **生产源文件** App/algo/meas.c + phasor.c + sample_ring.c),在 PC 上离线 跑 200 ms 遥测快照的:§4.5 布局钉死 / seq 只增 / 双区切换无撕裂 / 基波有效值与 phasor 使用区同拍同值 / 品质汇总(CLIPPED 位图)/ TEMP 透传 / 采样环回绕连续性,失败即非 0 退出。零硬件、零烧录、毫秒级。 工具链探测 / 编译运行全部委托 test/host/common/unit_test_harness.py。 为什么要主机侧单测(而不是只等台架): 遥测快照发布(docs/任务规划/数据可信.md)判据一半是并发与结构类——双区撕裂窗在 台架上不可观测,削顶品质要等两点标定才真实出现;读数与注入源比对类 判据仍归台架(实测采样类,本套件不覆盖)。 本层为纯算法:无寄存器、无 RTOS、无文件/外设依赖,**不需要任何桩目录**。 用法(仓库根目录): python test/host/meas/run_unit_test.py 退出码:0=PASS / 1=测试失败 / 2=环境错误。 设计依据:docs/任务规划/数据可信.md 遥测快照发布(道D,§4.5 快照布局); 创建日期:2026-10-25 """ import os import sys HERE = os.path.dirname(os.path.abspath(__file__)) ROOT = os.path.dirname(os.path.dirname(os.path.dirname(HERE))) sys.path.insert(0, os.path.join(ROOT, "test", "host", "common")) from unit_test_harness import TestBuild, run_host_unit_test # noqa: E402 # 无桩目录:meas.c / phasor.c / sample_ring.c 仅依赖 stdint/stddef/math 与 # App/algo 内的头(adc_input.h 为纯枚举 + 声明,可主机编译)。 BUILD = TestBuild( name="Meas Layer Tests", src=os.path.join(HERE, "meas_test.c"), include_dirs=[ os.path.join(ROOT, "App", "algo"), HERE, ], summary_marker="=== Meas Layer Tests:", ) if __name__ == "__main__": sys.exit(run_host_unit_test(BUILD))