# `offload_group_size` 单元测试实施方案

> 测试目录: `tests/model_executor/offloader/offload_group_size`

## 一、测试目标

验证 `offload_group_size` 对 decoder layer 分组粒度的影响，并确保默认值保持 Noop。

## 二、测试文件

```text
tests/model_executor/offloader/offload_group_size/test_param.py
```

## 三、测试矩阵

| 用例 | 输入 | 预期 |
|---|---|---|
| disabled | `group_size=0, num_in_group=1` | `layer_indices == ()` |
| every layer | `group_size=1, num_in_group=1` | 选择所有 layer |
| dense grouping | `group_size=2, num_in_group=1` | `(1, 3, 5, 7)` |
| sparse grouping | `group_size=4, num_in_group=1` | `(3, 7)` |
| default Noop | `create_ascend_weight_offloader(make_config(0, 1))` | `NoopOffloader` |
| enabled backend | `create_ascend_weight_offloader(make_config(4, 1))` | `AscendPrefetchOffloader` |

## 四、运行方式

```bash
PYTHONPATH=/data/vllm-ascend-dev/worktree \
  /data/vllm-ascend-smoke/venv/bin/python -m pytest \
  tests/model_executor/offloader/offload_group_size -q
```

## 五、测试原则

`offload_group_size` 的测试必须断言具体 layer tuple，不能只断言数量。否则无法发现分组方向或 offset 计算错误。
