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