Skip to content

[Test] Add vllm_ut test - #44

Open
pranavprakash-amd wants to merge 2 commits into
mainfrom
users/pranavprakash-amd/vllm_ut
Open

[Test] Add vllm_ut test#44
pranavprakash-amd wants to merge 2 commits into
mainfrom
users/pranavprakash-amd/vllm_ut

Conversation

@pranavprakash-amd

@pranavprakash-amd pranavprakash-amd commented Jul 15, 2026

Copy link
Copy Markdown

Motivation

The rocm-tests framework validates the full ROCm stack up through ML frameworks, but had no coverage for vLLM, a critical inference engine in the
ROCm ML ecosystem. Upstream vLLM ships its own pytest suite, but it exists as a standalone shell script (run_unit_tests) outside our framework —
meaning it can't participate in marker-based selection, scheduling, Allure reporting, or the remote-fleet/container executor infrastructure.

This PR ports that suite into rocm-tests as a first-class, marker-compliant e2e.stack test under a new tests/e2e/frameworks/vllm/ area, giving us
continuous vLLM-on-ROCm signal in nightly (focused) and weekly (full) CI gates.

Technical Details

New test area — tests/e2e/frameworks/{,vllm/} with package init.py files and a CATEGORY_PROFILE entry in framework/markers/taxonomy.py
supplying hw.gpu / layer.runtime / ci.weekly / e2e.stack / os.linux by default.

test_vllm_ut.py — two test functions driven by a ContainerExecutor:

  • test_vllm_ut — parametrized over 7 upstream sub-suites (core, test_regression.py, engine trio, tokenization, test_logits_processor.py,
    tool_use, AWQ-Triton kernel). Marked ci.weekly + runtime.soak (multi-hour, downloads gated HF models).
  • test_vllm_ut_int4_awq_triton — runs only the AWQ-Triton quantization kernel (source's --int4 fast path). Overrides the profile to ci.nightly +
    runtime.medium for a lighter daily signal.

Test Plan

Marker/collection validation (no GPU) — confirms profile injection & parametrization

pytest tests/e2e/frameworks/vllm/ --collect-only -q --no-gpu

Nightly focused case on a real GPU + vLLM container

HF_TOKEN= pytest tests/e2e/frameworks/vllm/
-m "hw.gpu and ci.nightly" --container-mode -v

Full weekly suite

HF_TOKEN= pytest tests/e2e/frameworks/vllm/
-m "hw.gpu and ci.weekly" --container-mode --alluredir=build/allure-results -v

Test Result

====================================================== ROCm Test Suite Summary ======================================================
Test Directory PASS FAIL SKIP ERROR Duration
─────────────────────────────────────────────────────────────
tests/frameworks/vllm 0 8 0 0 1726.2 s
─────────────────────────────────────────────────────────────
TOTAL 8 tests │ 0 passed │ 8 failed │ 0 skipped │ 0 error │ 1726.2 s

Note: The failures are part of the pytest tests that are triggered inside the vllm. Those failures are not because of the current test as its just invoking them inside the container.

Submission Checklist

Signed-off-by: Prakash <prapraka@amd.com>
@pranavprakash-amd
pranavprakash-amd requested a review from a team as a code owner July 15, 2026 12:49
@pranavprakash-amd pranavprakash-amd changed the title Users/pranavprakash amd/vllm ut [Test] Add vllm_ut test Jul 15, 2026

@y1k2chaitanya y1k2chaitanya left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Automated review — 1 blocker (required CI check failing):

  • pre-commit (black --check) is FAILINGblack would reformat both new files, so this required gate is red and blocks merge. Run black tests/frameworks/vllm/ and push. Specifics:
    • tests/frameworks/vllm/conftest.py:96 — needs a blank line after import logging, the any(...) generator collapsed to one line (~L102), and the final pytest.skip(...) collapsed (~L115).
    • tests/frameworks/vllm/test_vllm_ut.py:167 — collapse the split apt-get ... "curl libsodium23" string, and reformat the three commands.extend([...]) blocks (~L177-L208) and the tests-tree commands.extend([...]) (~L214) to black's style.

Non-blocking nits (no action required to approve): module docstrings reference the path tests/e2e/frameworks/vllm/ but the files live at tests/frameworks/vllm/.

All imports (framework.reporting.allure_reporter.report_metric), the container_executor fixture, probe()/run(), and the --no-gpu/--container-image options resolve, and the dotted markers match the registered taxonomy — so once black passes this is otherwise mergeable.

Comment thread tests/e2e/frameworks/vllm/__init__.py
Comment thread tests/e2e/frameworks/vllm/test_vllm_ut.py
@pranavprakash-amd

pranavprakash-amd commented Jul 16, 2026

Copy link
Copy Markdown
Author

Run result::

====================================================== ROCm Test Suite Summary ======================================================
Test Directory PASS FAIL SKIP ERROR Duration
─────────────────────────────────────────────────────────────
tests/frameworks/vllm 0 8 0 0 1726.2 s
─────────────────────────────────────────────────────────────
TOTAL 8 tests │ 0 passed │ 8 failed │ 0 skipped │ 0 error │ 1726.2 s

Failed tests:
• tests/frameworks/vllm/test_vllm_ut.py::test_vllm_ut[core]
• tests/frameworks/vllm/test_vllm_ut.py::test_vllm_ut[test_regression_py]
• tests/frameworks/vllm/test_vllm_ut.py::test_vllm_ut[engine_test_sequence_py_test_config_py_test_logger_py]
• tests/frameworks/vllm/test_vllm_ut.py::test_vllm_ut[tokenization]
• tests/frameworks/vllm/test_vllm_ut.py::test_vllm_ut[test_logits_processor_py]
• tests/frameworks/vllm/test_vllm_ut.py::test_vllm_ut[tool_use]
• tests/frameworks/vllm/test_vllm_ut.py::test_vllm_ut[kernels_quantization_test_awq_triton_py]
• tests/frameworks/vllm/test_vllm_ut.py::test_vllm_ut_int4_awq_triton

Note: The failures are part of the pytest tests that are triggered inside the vllm. Those failures are not because of the current test as its just invoking them inside the container.

@pranavprakash-amd
pranavprakash-amd force-pushed the users/pranavprakash-amd/vllm_ut branch from aa0415f to 8d6a56e Compare July 16, 2026 17:23
@pranavprakash-amd pranavprakash-amd added the Review PR ready for review label Jul 23, 2026
Signed-off-by: Prakash <prapraka@amd.com>
@pranavprakash-amd
pranavprakash-amd force-pushed the users/pranavprakash-amd/vllm_ut branch from 8d6a56e to dc7bd03 Compare July 23, 2026 08:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Review PR ready for review

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants