Add comprehensive tests for ONNX models and server jobs
Some checks failed
Test / test (push) Failing after 46m18s

- Introduced tests for the Moge3 ONNX model, including input validation, inference, and caching mechanisms.
- Added tests for ONNX runtime configurations and session management.
- Implemented tests for image upscaling functionality using ONNX models, ensuring proper handling of alpha channels and memory management.
- Created tests for panorama generation, verifying depth and visibility metrics.
- Developed tests for prediction artifacts, ensuring correct depth and normal data handling.
- Added server job tests for background removal and depth plane geometry generation, validating input handling and output correctness.
- Included environment tests to ensure proper dependency management and CI configurations.
This commit is contained in:
2026-09-19 19:24:07 +08:00
parent 75f6692f28
commit 2b3c0194a6
28 changed files with 296 additions and 22 deletions

View File

@@ -0,0 +1,45 @@
## ADDED Requirements
### Requirement: Capability-oriented dependency groups
项目 SHALL 使用默认 `dev` 及 `blender`、`ai`、`models` 和 `docs` 依赖组分别表达通用开发、Blender 集成、AI 推理、模型资产生产和文档构建能力。非默认能力组 SHALL 仅包含其职责所需的增量依赖。
#### Scenario: Install Blender development environment
- **WHEN** 开发者或 CI 仅选择 `blender` 能力组
- **THEN** uv 自动加载默认 `dev` 及 Blender 验证所需依赖,不安装 AI 推理、模型资产生产或文档构建专用依赖
#### Scenario: Install AI development environment
- **WHEN** 开发者选择 `ai` 能力组
- **THEN** 环境包含本地 AI 推理及其测试所需依赖
#### Scenario: Install model production environment
- **WHEN** 开发者选择 `models` 能力组
- **THEN** 环境包含模型下载、转换和导出所需依赖,且该组不成为常规 CI 的前置条件
### Requirement: Test categories follow execution requirements
测试 SHALL 根据实际执行环境分目录。只有要求 AI 专用运行时或模型实现的测试 SHALL 位于 `tests/ai`;使用 mock 验证 AI 界面、任务协议、参数传递和失败处理的测试 SHALL 留在常规业务测试目录。
#### Scenario: Run CI test set
- **WHEN** 在只安装 `blender` 及其基础能力的环境执行常规测试目录
- **THEN** 测试收集和执行成功,且不要求 AI 或模型资产生产专用依赖
#### Scenario: Run local AI test set
- **WHEN** 开发者安装 `ai` 能力并执行 `tests/ai`
- **THEN** 只执行明确归类的 AI 模型运行与实现测试
#### Scenario: Protect mocked AI integration
- **WHEN** AI 相关测试不加载真实模型运行时且只验证产品集成契约
- **THEN** 该测试包含在常规 CI 集合中
### Requirement: Continuous integration excludes local-only capabilities
普通测试工作流和发布工作流 SHALL 使用默认 `dev`、显式选择 Blender 能力并直接运行常规测试目录,不得同步 `ai`、`models` 或 `docs` 能力组。项目命令 SHALL 不要求关闭默认依赖组。
#### Scenario: Pull request validation
- **WHEN** 测试工作流在 pull request 或主分支运行
- **THEN** 工作流完成非 AI 测试,且依赖同步不包含 AI、模型生产和文档专用包
#### Scenario: Release validation
- **WHEN** 发布工作流构建扩展包
- **THEN** 发布前运行与普通 CI 相同的非 AI 测试门禁,不运行本地 AI 测试

View File

@@ -0,0 +1,17 @@
## ADDED Requirements
### Requirement: Capability-specific test commands
项目 SHALL 提供明确的 uv 命令分别运行常规 CI 测试、本地 AI 测试和本地全量测试。命令 SHALL 使用默认 `dev` 并显式增加所需能力组,不要求传入 `--no-default-groups`。
#### Scenario: Run regular validation
- **WHEN** 开发者运行常规验证命令
- **THEN** 命令安装核心与 Blender 能力并执行所有非 AI 测试
#### Scenario: Run AI validation locally
- **WHEN** 开发者运行 AI 验证命令
- **THEN** 命令安装 AI 能力并仅执行 AI 测试
#### Scenario: Run full validation locally
- **WHEN** 开发者运行全量验证命令
- **THEN** 命令安装 Blender 与 AI 能力并执行全部测试