Skip to content

[测试] 增加统一测试入口并隔离 Flux/CUDA 集成脚本 #26

Description

@shsaihdsaiudh

现象

在当前主分支 commit fcb16fe 从仓库根目录直接运行 python -m pytest -q,测试会在收集阶段被 src/code/issue4/Test Scripts/Flux/test_gemm_rs.py 阻断:

  • Windows Python 3.13:ModuleNotFoundError: No module named 'torch'
  • WSL2(PyTorch 2.13.0+cu130、CUDA 可用、NCCL 2.29.7):ModuleNotFoundError: No module named 'flux'

仓库根目录目前没有 pyproject.toml / pytest.ini、依赖清单或 CI 工作流来区分:

  1. 可在普通 CPU 环境执行的单元测试;
  2. 需要 PyTorch/CUDA 的 GPU 测试;
  3. 需要 Flux、多 GPU 或多机环境的集成/性能测试。

因此新提交即使带有纯 Python 单元测试,也无法通过统一命令获得稳定、可比较的结果;当前代码扫描成功也不能替代功能测试。

建议方案

  1. 增加统一测试配置,只自动收集明确的单元测试目录,避免把示例/基准脚本误当作默认测试;
  2. 给 GPU、Flux、多卡、多机测试增加 marker(如 gpufluxmulti_gpumulti_node)和依赖缺失时的明确 skip;
  3. 提供最小开发/测试依赖清单及 README 命令,例如:
    • 默认 CPU 单测;
    • 单卡 CUDA 冒烟测试;
    • 多卡/多机验收命令;
  4. 增加基础 CI,至少执行语法检查和不依赖专用硬件的单元测试。

验收标准

  • 全新环境按文档安装最小依赖后,可从仓库根目录一条命令完成 CPU 单测;
  • 未安装 Flux 或没有 GPU 时,默认测试不会在收集阶段报错;
  • 专用硬件测试可被显式选择,并清楚报告 skipped / passed / failed;
  • PR 页面能看到至少一项自动化功能测试结果,而不只有代码扫描。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions