Skip to content

Commit 95d78d8

Browse files
jinyejinye
authored andcommitted
add ut for hf_transformers
1 parent c11b9b0 commit 95d78d8

File tree

1 file changed

+23
-24
lines changed

1 file changed

+23
-24
lines changed
Lines changed: 23 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,33 @@
11
import pytest
2-
from pathlib import Path
3-
from unittest.mock import patch, MagicMock
2+
import transformers
3+
from transformers import AutoTokenizer
44
from transformers import PreTrainedTokenizerBase
55

66
from guidellm.utils.hf_transformers import check_load_processor
77

8-
class DummyTokenizer(PreTrainedTokenizerBase):
9-
def __init__(self):
10-
pass
8+
class dummyTokenizer(PreTrainedTokenizerBase):
9+
pass
1110

12-
@patch("guidellm.utils.hf_transformers.AutoTokenizer.from_pretrained", return_value=DummyTokenizer())
13-
def test_check_load_processor_with_tokenizer_instance(mock_from_pretrained):
14-
tokenizer = DummyTokenizer()
15-
result = check_load_processor(tokenizer, None, "test")
16-
assert isinstance(result, PreTrainedTokenizerBase)
11+
def test_processor_is_none():
12+
with pytest.raises(ValueError, match="Processor/Tokenizer is required for test."):
13+
check_load_processor(None, None, "test")
1714

18-
@patch("guidellm.utils.hf_transformers.AutoTokenizer.from_pretrained", return_value=DummyTokenizer())
19-
def test_check_load_processor_with_tokenizer_name(mock_from_pretrained):
20-
result = check_load_processor("bert-base-uncased", None, "test")
21-
assert isinstance(result, PreTrainedTokenizerBase)
2215

23-
@patch("guidellm.utils.hf_transformers.AutoTokenizer.from_pretrained", return_value=DummyTokenizer())
24-
def test_check_load_processor_with_tokenizer_path(mock_from_pretrained, tmp_path):
25-
result = check_load_processor(tmp_path, None, "test")
26-
assert isinstance(result, PreTrainedTokenizerBase)
16+
def test_processor_not_isinstance():
17+
with pytest.raises(ValueError, match="Invalid processor/Tokenizer for test."):
18+
check_load_processor(123, None, "test")
2719

28-
def test_check_load_processor_none_raises():
29-
with pytest.raises(ValueError, match="Processor/Tokenizer is required"):
30-
check_load_processor(None, None, "test")
20+
def test_processor_load_by_path(monkeypatch):
21+
monkeypatch.setattr(transformers.AutoTokenizer, "from_pretrained", lambda *args, **kwargs: dummyTokenizer())
22+
tokenizer = check_load_processor("/tmp", None, "test")
23+
assert isinstance(tokenizer, PreTrainedTokenizerBase)
3124

32-
def test_check_load_processor_invalid_type_raises():
33-
with pytest.raises(ValueError, match="Invalid processor/Tokenizer"):
34-
check_load_processor(123, None, "test")
25+
def test_processor_load_error(monkeypatch):
26+
def raise_error(*args, **kwargs):
27+
raise RuntimeError("test error")
28+
monkeypatch.setattr(
29+
"transformers.AutoTokenizer.from_pretrained",
30+
raise_error
31+
)
32+
with pytest.raises(ValueError, match="Failed to load processor/Tokenizer for test."):
33+
check_load_processor("gpt2", None, "test")

0 commit comments

Comments
 (0)