1
+ import pytest
2
+ from pathlib import Path
3
+ from unittest .mock import patch , MagicMock
4
+ from transformers import PreTrainedTokenizerBase
5
+
6
+ from guidellm .utils .hf_transformers import check_load_processor
7
+
8
+ class DummyTokenizer (PreTrainedTokenizerBase ):
9
+ def __init__ (self ):
10
+ pass
11
+
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 )
17
+
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 )
22
+
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 )
27
+
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" )
31
+
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" )
0 commit comments