Files
vllm-omni/tests/diffusion/test_input_batch_txt_seq_lens.py
T

31 lines
1.0 KiB
Python
Raw Normal View History

import pytest
import torch
from vllm_omni.diffusion.worker.input_batch import _prepare_request_prompt_field
from vllm_omni.diffusion.worker.utils import StepRequestState
from vllm_omni.inputs.data import OmniDiffusionSamplingParams
pytestmark = [pytest.mark.core_model, pytest.mark.diffusion, pytest.mark.cpu]
def test_prepare_request_prompt_field_refreshes_txt_seq_lens_after_padding():
state = StepRequestState(
request_id="req-0",
sampling=OmniDiffusionSamplingParams(),
prompt_embeds=torch.randn(1, 10, 4),
prompt_embeds_mask=torch.ones(1, 10, dtype=torch.bool),
txt_seq_lens=[10],
)
embeds, mask = _prepare_request_prompt_field(
state,
embeds_attr="prompt_embeds",
mask_attr="prompt_embeds_mask",
seq_lens_attr="txt_seq_lens",
target_seq_len=32,
)
assert embeds.shape == (1, 32, 4)
assert mask is not None and mask.shape == (1, 32)
assert state.txt_seq_lens == [32]
assert mask.sum(dim=1).tolist() == [10]