| 修复测试框架跨平台稳定性并新增自包含 HTML 报告,优化终端失败摘要与紧凑输出,内嵌 UT 失败修复指南及一键复制提示词,统一 license 为 CANN-2.0
Co-authored-by: yanhf<yanhaifeng5@huawei.com>
# message auto-generated for no-merge-commit merge:
!282 merge master into master
修复测试框架跨平台稳定性并新增自包含 HTML 报告,优化终端失败摘要与紧凑输出,内嵌 UT 失败修复指南及一键复制提示词,统一 license 为 CANN-2.0
Created-by: yanhf
Commit-by: yanhf
Merged-by: cann-robot
Description: ## 描述
修复测试框架跨平台稳定性并新增自包含 HTML 报告,优化终端失败摘要与紧凑输出,内嵌 UT 失败修复指南及一键复制提示词,统一 license 为 CANN-2.0
#### 问题修复 Bug Fix
- **修复跨平台稳定性问题**
- run-tests.sh:默认超时从 300s 提高到 600s,避免 behavior init test 在 CI 上因超时而失败。
- run-tests.sh:合并 --incremental 的重复 case,使该参数正确触发增量测试模式(同时兼容 eval-results 的增量)。
- test-helpers.sh:compute_file_hash() 增加 shasum -a 256 fallback,解决 macOS 上 sha256sum 不存在的问题。
- test-line-endings.sh:当 file 命令不可用时(如 Alpine 精简容器),降级为按扩展名后缀白名单判断文件类型,避免 CRLF 检查漏检。
- test-version.sh:增加 git base ref 存在性校验。当本地缺少 origin/master 等 base ref 时,给出明确警告并优雅跳过版本检查(exit 0),不再阻塞开发者本地调试。
#### 新特性 New Features
- **HTML 测试报告(本地调试)**
- run-tests.sh 新增 --output html 选项,生成**自包含的单文件 HTML 报告**,默认写入 tests/test-ut-report.html。
- 支持 --output-path 自定义报告路径。
- 报告特性:Dashboard 统计面板、失败优先排序、可折叠测试卡片、实时搜索、状态筛选(全部/仅失败/仅通过/仅跳过)、ANSI 颜色码转 HTML 保留终端颜色、响应式暗色主题。
- 每次测试运行后**自动**生成 HTML 报告,并在有桌面环境时尝试用浏览器自动打开。
- **终端输出优化**
- test-helpers.sh 新增 print_compact_result(),在终端打印紧凑的通过/失败/跳过/警告统计,内联提取失败详情,避免开发者在大段输出中翻找根因。
- run-tests.sh 测试结束后新增 **Failed Tests Recap**,汇总所有失败项并展示关键 FAIL/ERROR 行。
- **UT 失败修复指南(HTML 报告内嵌)**
- 当测试存在失败时,HTML 报告自动展示可折叠的「UT Test 失败修复指南」面板。
- 包含:执行流程(收集失败→定位源文件→最小化修复→重跑验证)、允许/禁止事项对比、分析框架。
- 提供「复制提示词」按钮,一键复制给 AI 助手的修复提示词(支持 HTTPS 剪贴板 API + execCommand fallback)。
#### 配置变更
- **License 字段统一**
- 将 4 个 infra/ 下 SKILL.md 和 7 个 plugin.json 中的 license 字段统一更新为 CANN-2.0。
## 关联的Issue
<!-- 无特定 Issue,属于测试框架持续优化 -->
## 测试
- 本地执行 ./run-tests.sh --fast 全部 10 项测试通过(约 430s)。
- ./run-tests.sh --fast --output html 成功生成 103KB 自包含 HTML 报告,10 个测试卡片 + 10 个日志块完整。
- ANSI 颜色转换验证通过(1209 处颜色标记正确)。
- 失败场景验证:手动构造失败测试,确认失败项置顶、badge 中文标签、红色高亮均正常。
- 混合排序算法验证(fail → skip → pass)通过。
- XSS 转义安全检查通过。
## 文档更新
- run-tests.sh --help 已更新,新增 --output html 和 --output-path 用法示例。
## 类型标签
- [x] 🌟 新特性
- [x] ✨ 特性增强
- [x] 🐛 Bug 修复
- [x] 🔧 配置变更
See merge request: cann/cannbot-skills!282 | 4 天前 |