Skip to content

✅ test(coverage): 补充组件生产分支覆盖 - #382

Merged
JunLang-7 merged 5 commits into
1024XEngineer:mainfrom
JunLang-7:dev/378-coverage-production-tests
Aug 27, 2026
Merged

✅ test(coverage): 补充组件生产分支覆盖#382
JunLang-7 merged 5 commits into
1024XEngineer:mainfrom
JunLang-7:dev/378-coverage-production-tests

Conversation

@JunLang-7

@JunLang-7 JunLang-7 commented Aug 27, 2026

Copy link
Copy Markdown
Collaborator

变更

补充 Issue #378 中低覆盖率生产源码的主机测试:

  • voicelife_contracts/src/im:覆盖字段类型、枚举、可选字段、状态一致性、时间窗口与结果计数等分支。
  • voicelife_mcp/src/mcp_json_writer.cc:覆盖结构化输出类型、嵌套对象、Schema 约束和分页游标。
  • voicelife_mcp/src/tools/schedule_mcp_tools.ccschedule_rule_mcp_tools.cc:保留并运行现有成功、失败、恢复和规则边界测试。
  • voicelife_mcp/src:覆盖未知输入/输出类型的安全回退。
  • voicelife_storage_sqlite/src:显式验证操作记录与日程查询/计数 SQL 构造。
  • voicelife_runtime/src/usb_serial_frame_router.cclinx_mcp_bridge.cc:覆盖主机不可用路径和 JSON-RPC 参数边界。

TDD / 验证

  • 先根据 gcovr 未覆盖行补充失败场景,再实现测试断言。
  • 完整主机测试:95/95 通过(最近提交后相关定向测试通过)。
  • git diff --check:通过。
  • python3 scripts/check_commit_message.py --range upstream/main..HEAD:通过。

风险

仅新增测试,不改变生产逻辑、协议或持久化格式。完整覆盖率与 Codecov 结果以 PR CI 为准。

Closes #378

补充 IM snooze 缺少 minutes、MCP 未知类型回退、SQLite 查询 SQL 构造以及 Runtime 主机不可用入口的可观察测试。\n\n新增测试覆盖 contracts/im、mcp、storage_sqlite 与 runtime 的低覆盖分支,不改变生产行为。相关定向主机测试 5/5 通过。\n\nRefs 1024XEngineer#378
@codecov

codecov Bot commented Aug 27, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

@@            Coverage Diff             @@
##             main     #382      +/-   ##
==========================================
+ Coverage   90.27%   90.42%   +0.14%     
==========================================
  Files         213      213              
  Lines       25697    25707      +10     
  Branches     6728     6734       +6     
==========================================
+ Hits        23199    23246      +47     
+ Misses       1151     1128      -23     
+ Partials     1347     1333      -14     
Flag Coverage Δ
cpp 90.42% <100.00%> (+0.14%) ⬆️
typescript 92.07% <100.00%> (+0.10%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
...celife_storage_sqlite/test/sqlite_database_test.cc 100.00% <100.00%> (ø)

... and 8 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@fennoai fennoai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

审阅了本 PR 新增的五个主机覆盖测试单元:SQLite 查询 SQL、IM snooze 参数校验、MCP JSON writer 回退、MCP server Schema 回退,以及主机环境 USB 串口路由不可用分支。新增断言与对应生产代码契约一致,未发现由本 PR 引入的可操作正确性、可靠性或兼容性问题。

验证:五个受影响测试目标均成功构建并通过(sqlite_database_testim_contract_parser_testmcp_json_writer_coverage_testmcp_server_coverage_testusb_serial_frame_router_test)。完整主机构建仍受仓库其他显示/音频 ESP 头文件中的既有 [[maybe_unused]]-Werror 警告阻塞。

@JunLang-7
JunLang-7 merged commit 40a3e8e into 1024XEngineer:main Aug 27, 2026
15 checks passed
@JunLang-7
JunLang-7 deleted the dev/378-coverage-production-tests branch August 27, 2026 07:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Test] 将 Codecov 总覆盖率提升至 90% 以上

2 participants