[Misc] Simplify test_argsort_mm_positions (#25690)

Signed-off-by: DarkLight1337 <tlleungac@connect.ust.hk>
Signed-off-by: yewentao256 <zhyanwentao@126.com>
This commit is contained in:
Cyrus Leung
2025-09-26 02:23:01 +08:00
committed by yewentao256
parent 80385959af
commit b0e9f04bbd

View File

@ -5,7 +5,6 @@ import base64
import mimetypes
import os
from tempfile import NamedTemporaryFile, TemporaryDirectory
from typing import TYPE_CHECKING, NamedTuple
import numpy as np
import pytest
@ -15,9 +14,6 @@ from vllm.multimodal.image import convert_image_mode
from vllm.multimodal.inputs import PlaceholderRange
from vllm.multimodal.utils import MediaConnector, argsort_mm_positions
if TYPE_CHECKING:
from vllm.multimodal.inputs import MultiModalPlaceholderDict
# Test different image extensions (JPG/PNG) and formats (gray/RGB/RGBA)
TEST_IMAGE_ASSETS = [
"2560px-Gfp-wisconsin-madison-the-nature-boardwalk.jpg", # "https://upload.wikimedia.org/wikipedia/commons/thumb/d/dd/Gfp-wisconsin-madison-the-nature-boardwalk.jpg/2560px-Gfp-wisconsin-madison-the-nature-boardwalk.jpg"
@ -218,18 +214,13 @@ async def test_fetch_video_http_with_dynamic_loader(
assert metadata_sync["video_backend"] == "opencv_dynamic"
# Used for `test_argsort_mm_positions`.
class TestCase(NamedTuple):
mm_positions: "MultiModalPlaceholderDict"
expected_modality_idxs: list[tuple[str, int]]
def test_argsort_mm_positions():
test_cases = [
# yapf: disable
@pytest.mark.parametrize(
"case",
[
# Single modality
## Internally sorted
TestCase(
dict(
mm_positions={
"image": [
PlaceholderRange(offset=0, length=2),
@ -242,7 +233,7 @@ def test_argsort_mm_positions():
],
),
## Internally unsorted
TestCase(
dict(
mm_positions={
"image": [
PlaceholderRange(offset=3, length=2),
@ -257,7 +248,7 @@ def test_argsort_mm_positions():
# Two modalities
## Internally sorted
TestCase(
dict(
mm_positions={
"image": [
PlaceholderRange(offset=7, length=4),
@ -276,7 +267,7 @@ def test_argsort_mm_positions():
],
),
## Interleaved, internally sorted
TestCase(
dict(
mm_positions={
"image": [
PlaceholderRange(offset=0, length=4),
@ -295,7 +286,7 @@ def test_argsort_mm_positions():
],
),
## Interleaved, internally unsorted
TestCase(
dict(
mm_positions={
"image": [
PlaceholderRange(offset=8, length=2),
@ -316,7 +307,7 @@ def test_argsort_mm_positions():
# Three modalities
## Internally sorted
TestCase(
dict(
mm_positions={
"image": [
PlaceholderRange(offset=15, length=7),
@ -341,7 +332,7 @@ def test_argsort_mm_positions():
],
),
## Interleaved, internally sorted
TestCase(
dict(
mm_positions={
"image": [
PlaceholderRange(offset=0, length=2),
@ -363,8 +354,8 @@ def test_argsort_mm_positions():
("image", 2),
],
),
## Interleaved, internally sunorted
TestCase(
## Interleaved, internally unsorted
dict(
mm_positions={
"image": [
PlaceholderRange(offset=0, length=2),
@ -386,9 +377,13 @@ def test_argsort_mm_positions():
("image", 1),
],
),
]
],
)
# yapf: enable
def test_argsort_mm_positions(case):
mm_positions = case["mm_positions"]
expected_modality_idxs = case["expected_modality_idxs"]
for mm_positions, expected_modality_idxs in test_cases:
modality_idxs = argsort_mm_positions(mm_positions)
modality_idxs = argsort_mm_positions(mm_positions)
assert modality_idxs == expected_modality_idxs
assert modality_idxs == expected_modality_idxs