Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
b27df37
refactor conftest
yenuo26 Apr 9, 2026
651c636
Enhance error handling and logging in assertion and media helper func…
yenuo26 Apr 9, 2026
bbfdd8a
Merge branch 'main' into conftest
yenuo26 Apr 9, 2026
b44ee2d
Adapt to the latest version of the code.
yenuo26 Apr 9, 2026
a80d9e3
Refactor media helper functions to support caching of synthetic audio…
yenuo26 Apr 10, 2026
15399bd
Refactor GPU memory management in test environment helpers. Delay imp…
yenuo26 Apr 13, 2026
c10d549
Merge remote-tracking branch 'upstream/main' into conftest
yenuo26 Apr 13, 2026
3859a96
Refactor test imports to use helpers for consistency and clarity. Upd…
yenuo26 Apr 13, 2026
b873bfb
Merge branch 'main' into conftest
yenuo26 Apr 14, 2026
4b94ee3
Merge remote-tracking branch 'upstream/main' into conftest
yenuo26 Apr 15, 2026
926542b
Implement context manager to serialize Whisper small model downloads …
yenuo26 Apr 15, 2026
34e4315
Merge remote-tracking branch 'upstream/main' into conftest
yenuo26 Apr 15, 2026
bd6508d
Enhance assert_video_valid function to accommodate codec-aligned fram…
yenuo26 Apr 15, 2026
edf922b
Refactor test imports in Qwen image edit and VoxCPM test files to use…
yenuo26 Apr 15, 2026
a05663b
Refactor and enhance image similarity assertion functions by moving t…
yenuo26 Apr 15, 2026
4a6c4e2
Refactor timeout argument handling in omni_server fixture to ensure c…
yenuo26 Apr 15, 2026
64e6f7f
Add pytest_terminal_summary hook to conftest.py for Buildkite log fol…
yenuo26 Apr 16, 2026
e6a2c19
Merge remote-tracking branch 'upstream/main' into conftest
yenuo26 Apr 16, 2026
8528717
Add conftest.py for DFX benchmarks with configuration loading and par…
yenuo26 Apr 16, 2026
52be8a1
Refactor tests and configuration files for improved clarity and perfo…
yenuo26 Apr 16, 2026
04c6a7e
Merge branch 'main' into conftest
yenuo26 Apr 17, 2026
15bd4aa
Refactor import statement in e2e test for Flux2 Klein inpaint expansion
yenuo26 Apr 17, 2026
cc7d706
Fix import path in conftest.py for stability tests
yenuo26 Apr 17, 2026
f9aecb2
Merge branch 'main' into conftest
yenuo26 Apr 17, 2026
2bacffc
Update pytest command in nightly test configuration to use marker for…
yenuo26 Apr 17, 2026
27b9403
Merge branch 'conftest' of https://github.com/yenuo26/vllm-omni into …
yenuo26 Apr 17, 2026
5aa1b4b
Merge remote-tracking branch 'upstream/main' into conftest
yenuo26 Apr 20, 2026
e6e649a
Refactor stage config exports and update test imports
yenuo26 Apr 20, 2026
d62b67a
Refactor test imports and update helper module paths
yenuo26 Apr 20, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .buildkite/test-nightly.yml
Original file line number Diff line number Diff line change
Expand Up @@ -552,7 +552,7 @@ steps:
- label: ":full_moon: Diffusion X2V · Accuracy Test"
timeout_in_minutes: 180
commands:
- pytest -s -v tests/e2e/accuracy/wan22_i2v/test_wan22_i2v_video_similarity.py --run-level advanced_model
- pytest -s -v tests/e2e/accuracy/wan22_i2v/test_wan22_i2v_video_similarity.py -m advanced_model --run-level advanced_model
agents:
queue: "mithril-h100-pool"
plugins:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ Currently all the features are available in online serving mode. Hence, only nee
- Test marks: always add `advanced_model` and `diffusion`. Add GPU-related marks if needed. Ref: [Markers for Tests](https://docs.vllm.ai/projects/vllm-omni/en/latest/contributing/ci/tests_markers/).
- To maximize code reuse, you may refer to
- `tests/conftest.py` for `omni_server` (running server in subprocess) and `openai_client` fixtures (sending requests and validating output), `generate_synthetic_image` and `assert_XXX_valid` helper.
- `tests/utils.py` for `@hardware_test(...)` and `hardware_marks`.
- `tests/helpers/mark.py` for `@hardware_test(...)` and `hardware_marks`.
- [Parametrizing tests (pytest doc)](https://docs.pytest.org/en/stable/example/parametrize.html) to reuse test function implementation for different cases.
- Doc: add a concise docstring for each test function.
- Reference L4 test implementation: [tests/e2e/online_serving/test_qwen_image_edit_expansion.py](https://github.com/vllm-project/vllm-omni/blob/main/tests/e2e/online_serving/test_qwen_image_edit_expansion.py).
12 changes: 6 additions & 6 deletions docs/contributing/ci/tests_markers.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ Defined in `pyproject.toml`:
### Example usage for markers

```python
from tests.utils import hardware_test
from tests.helpers.mark import hardware_test

@pytest.mark.core_model
@pytest.mark.omni
Expand All @@ -53,7 +53,7 @@ def test_video_to_audio()

### Decorator: `@hardware_test`

This decorator is intended to make hardware-aware, cross-platform test authoring easier and more robust for CI/CD environments. The `hardware_test` decorator in `vllm-omni/tests/utils.py` performs the following actions:
This decorator is intended to make hardware-aware, cross-platform test authoring easier and more robust for CI/CD environments. The `hardware_test` decorator in `vllm-omni/tests/helpers/mark.py` performs the following actions:

1. **Applies platform and resource markers**
Adds the appropriate pytest markers for each specified hardware platform (e.g., `cuda`, `rocm`, `xpu`, `npu`) and resource type (e.g., `L4`, `H100`, `MI325`, `B60`, `A2`, `A3`).
Expand Down Expand Up @@ -105,7 +105,7 @@ This decorator is intended to make hardware-aware, cross-platform test authoring
`hardware_marks` returns a list of pytest mark objects with the same signature as `@hardware_test`. Use it when you need more flexibility, such as attaching hardware marks to individual `pytest.param` entries rather than an entire test function.

```python
from tests.utils import hardware_marks
from tests.helpers.mark import hardware_marks

MULTI_CARD_MARKS = hardware_marks(
res={"cuda": "H100", "rocm": "MI325", "npu": "A2"}, num_cards=2
Expand Down Expand Up @@ -133,9 +133,9 @@ If you want to add support for a new platform (e.g., "tpu" for a new accelerator
"distributed_tpu: Tests that require multiple TPU devices",
]
```
2. **Implement a marker construction function for your platform** in `vllm-omni/tests/utils.py`:
2. **Implement a marker construction function for your platform** in `vllm-omni/tests/helpers/mark.py`:
```python
# In vllm-omni/tests/utils.py
# In vllm-omni/tests/helpers/mark.py

def tpu_marks(*, res: str, num_cards: int):
test_platform = pytest.mark.tpu
Expand Down Expand Up @@ -175,4 +175,4 @@ If you want to add support for a new platform (e.g., "tpu" for a new accelerator
- Plug into `hardware_marks`
- You're done: tests using `@hardware_test` or `hardware_marks` with your platform now automatically get the correct markers, distribution, and isolation!

See code in `vllm-omni/tests/utils.py` for existing examples (`cuda_marks`, `rocm_marks`, `npu_marks`).
See code in `vllm-omni/tests/helpers/mark.py` for existing examples (`cuda_marks`, `rocm_marks`, `npu_marks`).
14 changes: 6 additions & 8 deletions docs/contributing/ci/tests_style.md
Original file line number Diff line number Diff line change
Expand Up @@ -221,15 +221,13 @@ from pathlib import Path
import openai
import pytest

from tests.conftest import (
OmniServer,
convert_audio_to_text,
from tests.helpers.media import (
convert_audio_bytes_to_text,
cosine_similarity_text,
dummy_messages_from_mix_data,
generate_synthetic_video,
merge_base64_and_convert_to_text,
)
from tests.utils import get_deploy_config_path
from tests.helpers.runtime import OmniServer, dummy_messages_from_mix_data
from tests.helpers.stage_config import get_deploy_config_path, modify_stage_config
from vllm_omni.platforms import current_omni_platform

# Edit: model name and stage config path
Expand Down Expand Up @@ -406,7 +404,7 @@ def test_mix_to_text_audio_001(client: openai.OpenAI, omni_server, request) -> N
# PURPOSE: Verify text and audio outputs convey the same information
# CUSTOMIZATION: Adjust similarity threshold (0.9) based on accuracy requirements
assert audio_data is not None, "No audio output is generated"
audio_content = merge_base64_and_convert_to_text(audio_data)
audio_content = convert_audio_bytes_to_text(audio_data)
print(f"text content is: {text_content}")
print(f"audio content is: {audio_content}")
similarity = cosine_similarity_text(audio_content.lower(), text_content.lower())
Expand All @@ -429,7 +427,7 @@ from pathlib import Path
import pytest
from vllm.assets.video import VideoAsset

from tests.utils import hardware_test
from tests.helpers.mark import hardware_test
from ..multi_stages.conftest import OmniRunner

# Optional: set process start method for workers
Expand Down
Loading
Loading