[Test] Add vllm_ut test - #44
Conversation
Signed-off-by: Prakash <prapraka@amd.com>
y1k2chaitanya
left a comment
There was a problem hiding this comment.
Automated review — 1 blocker (required CI check failing):
pre-commit(black --check) is FAILING →blackwould reformat both new files, so this required gate is red and blocks merge. Runblack tests/frameworks/vllm/and push. Specifics:tests/frameworks/vllm/conftest.py:96— needs a blank line afterimport logging, theany(...)generator collapsed to one line (~L102), and the finalpytest.skip(...)collapsed (~L115).tests/frameworks/vllm/test_vllm_ut.py:167— collapse the splitapt-get ... "curl libsodium23"string, and reformat the threecommands.extend([...])blocks (~L177-L208) and the tests-treecommands.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.
|
Run result:: ====================================================== ROCm Test Suite Summary ====================================================== Failed tests: 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. |
aa0415f to
8d6a56e
Compare
Signed-off-by: Prakash <prapraka@amd.com>
8d6a56e to
dc7bd03
Compare
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:
tool_use, AWQ-Triton kernel). Marked ci.weekly + runtime.soak (multi-hour, downloads gated HF models).
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