feat: mcpp test capability batch — isolation, parallel, filter, list, timeout, JSON (0.0.104)#274
Merged
Merged
Conversation
… — nested mcpp no longer segfaults its tools
… checks the disk, not just scanned sources
…leading mid-run Finished banner
…tion, roadmap P1-P6
…ll time 29s -> 3.7s on 49 tests
…uration_ms in JSON
…N records for tooling
…st-effort untimed)
…s, naming exemption note (zh+en)
…lter, list, timeout, json, signal fix)
… with pre-existing scripts)
…antics, documented Windows limitation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
mcpp test 能力批次 — 0.0.104
mcpp test从「单次构建 + 顺序运行」升级为练习级/CI 级可用的测试运行器。两轮批次合并交付,设计评审与路线图见.agents/docs/2026-07-24-mcpp-test-design-review.md,实施计划见.agents/docs/2026-07-23-test-isolation-json-plan.md与2026-07-24-test-batch2-plan.md。新增
tests/00-a/0.cpp→00-a/0,子目录布局可用mcpp test <pattern>:按名字子串过滤(只作用于构建/运行,compile_commands 保持完整)mcpp test --list:枚举测试不构建;JSON 记录供工具消费mcpp test --timeout <secs>:每测试运行截止(POSIX)--message-format json:逐测试 NDJSON(status/exit_code/signal/duration_ms/timed_out/compile_output/run_output)+ 包级错误记录 + summary[build].flagsglob 覆盖测试 TU;死 glob 警告改为查磁盘BuildOptions::ninjaTargets/keepGoing:后端 goal 子集构建的通用接口修复
WIFSIGNALED → 128+WTERMSIG(此前 SIGTERM 死亡伪装成 exit 15)LD_LIBRARY_PATH段错误根治:merged_environ剥离私有 glibc loader 条目(下游 d2x/d2mcpp 的 unsetenv workaround 可删)Compiling → 结果 → 诊断连续块,删除误导性中场 Finished 横幅/的命名豁免验证