test_oot_registration.py 998 Bytes
Newer Older
1
import os
2

3
import pytest
4

5
from vllm import LLM, SamplingParams
6

7
from ..utils import fork_new_process_for_each_test
8
9


10
@fork_new_process_for_each_test
11
12
13
14
15
def test_plugin(dummy_opt_path):
    os.environ["VLLM_PLUGINS"] = ""
    with pytest.raises(Exception) as excinfo:
        LLM(model=dummy_opt_path, load_format="dummy")
    assert "are not supported for now" in str(excinfo.value)
16
17


18
@fork_new_process_for_each_test
19
20
def test_oot_registration(dummy_opt_path):
    os.environ["VLLM_PLUGINS"] = "register_dummy_model"
21
22
    prompts = ["Hello, my name is", "The text does not matter"]
    sampling_params = SamplingParams(temperature=0)
23
    llm = LLM(model=dummy_opt_path, load_format="dummy")
24
25
26
27
28
29
30
31
    first_token = llm.get_tokenizer().decode(0)
    outputs = llm.generate(prompts, sampling_params)

    for output in outputs:
        generated_text = output.outputs[0].text
        # make sure only the first token is generated
        rest = generated_text.replace(first_token, "")
        assert rest == ""