From 2827b3f4a37bcd0715d948ee8d3c9e1e1d08da8a Mon Sep 17 00:00:00 2001 From: Chauncey Date: Fri, 26 Sep 2025 20:46:17 +0800 Subject: [PATCH] [CI] Fix test_shared_storage_connector_hashes (#25748) Signed-off-by: chaunceyjiang --- .../kv_connector/unit/test_nixl_connector.py | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/tests/v1/kv_connector/unit/test_nixl_connector.py b/tests/v1/kv_connector/unit/test_nixl_connector.py index 24cc83c28614b..6b4bd29f18a56 100644 --- a/tests/v1/kv_connector/unit/test_nixl_connector.py +++ b/tests/v1/kv_connector/unit/test_nixl_connector.py @@ -26,6 +26,8 @@ from vllm.distributed.kv_transfer.kv_connector.v1.multi_connector import ( from vllm.distributed.kv_transfer.kv_connector.v1.nixl_connector import ( KVConnectorRole, NixlAgentMetadata, NixlConnector, NixlConnectorMetadata, NixlConnectorWorker, NixlKVConnectorStats) +from vllm.distributed.kv_transfer.kv_transfer_state import ( + ensure_kv_transfer_shutdown, has_kv_transfer_group) from vllm.forward_context import ForwardContext from vllm.platforms.interface import Platform from vllm.sampling_params import SamplingParams @@ -35,6 +37,26 @@ from vllm.v1.outputs import KVConnectorOutput, ModelRunnerOutput from .utils import create_request, create_scheduler, create_vllm_config +@pytest.fixture(scope="module", autouse=True) +def clear_kv_transfer(): + """ + The test cases in this file use `VLLM_ENABLE_V1_MULTIPROCESSING=0`, + causing the global variable `_KV_CONNECTOR_AGENT` + to be assigned but never deleted. + + Since the current pytest process does not terminate and instead + continues running tests from other files, + this global variable remains in memory and interferes + with test cases in other modules. + + So we use this fixture to ensure that the global variable + `_KV_CONNECTOR_AGENT` is properly cleaned up after each test. + """ + yield + if has_kv_transfer_group(): + ensure_kv_transfer_shutdown() + + class FakeNixlWrapper: """Mock implementation of NixlWrapper for testing.