Since #4335 was merged, I've noticed that the definition of ServerRunner in the tests is the same as in the test for OpenAI API. I have moved the class to the test utilities to avoid code duplication. (Although it only has been repeated twice so far, I will add another similar test suite in #4200 which would duplicate the code a third time) Also, I have moved the test utilities file (test_utils.py) to under the test directory (tests/utils.py), since none of its code is actually used in the main package. Note that I have added __init__.py to each test subpackage and updated the ray.init() call in the test utilities file in order to relative import tests/utils.py.
43 lines
1.1 KiB
Python
43 lines
1.1 KiB
Python
import pytest
|
|
|
|
from vllm import LLM
|
|
from vllm.model_executor.utils import set_random_seed
|
|
|
|
from ....conftest import cleanup
|
|
|
|
|
|
@pytest.fixture
|
|
def baseline_llm_generator(common_llm_kwargs, per_test_common_llm_kwargs,
|
|
baseline_llm_kwargs, seed):
|
|
return create_llm_generator(common_llm_kwargs, per_test_common_llm_kwargs,
|
|
baseline_llm_kwargs, seed)
|
|
|
|
|
|
@pytest.fixture
|
|
def test_llm_generator(common_llm_kwargs, per_test_common_llm_kwargs,
|
|
test_llm_kwargs, seed):
|
|
return create_llm_generator(common_llm_kwargs, per_test_common_llm_kwargs,
|
|
test_llm_kwargs, seed)
|
|
|
|
|
|
def create_llm_generator(common_llm_kwargs, per_test_common_llm_kwargs,
|
|
distinct_llm_kwargs, seed):
|
|
kwargs = {
|
|
**common_llm_kwargs,
|
|
**per_test_common_llm_kwargs,
|
|
**distinct_llm_kwargs,
|
|
}
|
|
|
|
def generator_inner():
|
|
llm = LLM(**kwargs)
|
|
|
|
set_random_seed(seed)
|
|
|
|
yield llm
|
|
del llm
|
|
cleanup()
|
|
|
|
for llm in generator_inner():
|
|
yield llm
|
|
del llm
|