普通单元测试

SkillDev tools

Configure and build regular vlink-test, the C API, and Python bindings following the repository's test pipeline on Linux, macOS, or Windows; run the full CTest suite, binding tests, or a specific suite/case, and summarize failures. Use when the user asks to "run test", "execute unit tests", "test c_

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the 普通单元测试 skill

What this skill tells your AI

The instructions your AI receives, as published by thun-res/vlink in .agents/skills/test/SKILL.md and read by ahel’s review.

本 skill 执行不含 ASan 和覆盖率插桩的普通单元测试。内存检测使用 /asan,覆盖率报告使用 /coverage。只在用户显式调用本 skill 时执行 构建和测试。

编译并行度必须严格等于 max(真实物理核心数 - 1, 1),并按 CONFIGURE-AND-BUILD.md 显式传给 cmake --build ... --parallel "$BUILD_JOBS";无法可靠获取物理核心数时 固定单核。禁止使用逻辑 CPU 数、裸 --parallel/-j 或固定高并行度。

1. 选择执行路径

只加载当前任务需要的分册:

功能必读分册
配置或重新构建普通测试CONFIGURE-AND-BUILD.md
运行完整 CTestFULL-TEST.md
运行 C/Python 绑定测试BINDINGS-TEST.md
列举、运行或排除指定 suite/caseTARGETED-TEST.md
排查配置、构建、Proxy 或测试失败FAILURE-DIAGNOSIS.md

已有兼容且最新的构建产物时,可以只加载运行分册。未指定范围时运行完整 CTest 及 C/Python 绑定测试;用户指定 suite/case 或绑定层时只运行该 范围,不得擅自扩大为全量测试。

2. 通用流程

  1. 从任意子目录解析仓库根目录,确认当前平台和用户要求的测试范围。
  2. 使用仓库根 build-ai/skill_test 配置普通测试,明确关闭 ASan 和覆盖率。
  3. 构建 vlink-testvlink-proxyvlink-c-test_vlink_nanobind
  4. 全量测试先复用平台 CI runner,再运行 C/Python 绑定测试;定向测试按 对应功能分册执行。
  5. 汇总实际执行范围、通过数、失败数、跳过项和首个有效错误。
  • 配置或构建失败时原样报告首个错误,不得继续使用可能陈旧的二进制宣称 测试通过。
  • 不得复用、删除或重置维护者、IDE、CI 的构建目录。既有 build-ai/skill_test 的生成器或开关不兼容时,使用描述具体任务的 build-ai/skill_test_<task_name>。传给平台 runner 的 BUILD_DIR 必须是对应的 仓库根相对路径。
  • 测试失败时列出失败的 CTest suite 或绑定测试脚本、首个有效错误和 对应日志位置;不要只返回总退出码。
  • 完成后报告平台、构建目录、关键开关和测试范围。后端因外部服务不可用 而跳过时不得写成已覆盖。
  • 定向测试只能得出指定范围的结论,不得写成“单元测试全部通过”。

Signals

GitHub stars
115
Forks
10
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
test-thun-res
Source
github.com/thun-res/vlink