SuperAPI AI 工具集

build-and-test

测试与质量

查看项目

更新于 10-15 21:12

技能介绍

用途:指导在本地构建并测试 dotnet/runtime 仓库,覆盖必需的基础(基线)构建、按组件构建与测试命令、Windows 对应命令、环境变量配置以及故障排查。

Shell 约定:示例以 bash 为主,Windows 使用 .cmd 入口与 PowerShell 等价形式,如 ./build.sh <args> 对应 .\build.cmd <args>,src/tests/build.sh 对应 src\tests\build.cmd,export FOO=<value> 对应 $env:FOO = '<value>'。部分参数大小写不同,如 bash 的 -priority1 在 Windows 为 -Priority 1。

基线构建:成功的基线构建是增量构建与测试的前提;缺失会出现 testhost、共享框架等错误。在 CCA 模式下修改指定产品代码前必须先做基线构建,跳过即视为任务失败;交互式 CLI 下仅在需要时做,可先检查组件 sentinel。

主要命令示例:CoreCLR 用 ./build.sh clr+libs+host,Mono 用 ./build.sh mono+libs,Libraries 用 ./build.sh clr+libs -rc release,WASM/WASI Libraries 用 ./build.sh mono+libs -os browser,Host 用 ./build.sh clr+libs+host -rc release -lc release,Tools 用 ./build.sh clr+libs -rc release,Build Tasks 用 ./build.sh tasks,Runtime Tests 用 ./build.sh clr+libs -lc release -rc checked。System.Private.CoreLib 改动建议用 -rc checked。

环境配置:export PATH="$(pwd)/.dotnet:$PATH",并用 dotnet --version 核对与 global.json 中 sdk.version 一致。

新增回归测试须先验证无修复时失败、有修复时通过,两项确认后才能标记完成。

限制与排查:基线构建最长约 40 分钟,5 分钟无输出才可中止;建议重定向日志并轮询查看 artifacts/build.status 与 artifacts/build.log,详细 binlog 在 artifacts/log/。遇到 shared framework、testhost 缺失、Target does not exist、0 test projects 等问题按对应方案处理。