13
13
14
14
class TestGGUFReaderWriter (unittest .TestCase ):
15
15
16
- def test_rw ( self ) -> None :
17
- # Example usage with a file
16
+ @ classmethod
17
+ def setUpClass ( cls ):
18
18
gguf_writer = GGUFWriter (model_file , "llama" )
19
19
20
20
# gguf_writer.add_architecture()
@@ -31,6 +31,7 @@ def test_rw(self) -> None:
31
31
gguf_writer .add_kv ("tokenizer.ggml.add_bos_token" , True )
32
32
gguf_writer .add_dict ("tokenizer_config" , {
33
33
"/tokenizer.ggml.bos_token_id:bos_token" : None , "/tokenizer.ggml.add_bos_token" : None })
34
+ gguf_writer .add_array ("oldArray" , [1 , 2 , 3 ])
34
35
gguf_writer .add_custom_alignment (64 )
35
36
36
37
tensor1 = np .ones ((32 ,), dtype = np .float32 ) * 100.0
@@ -47,6 +48,18 @@ def test_rw(self) -> None:
47
48
48
49
gguf_writer .close ()
49
50
51
+ def test_rw (self ) -> None :
52
+ # test compatibility
53
+ gguf_reader = GGUFReader (model_file )
54
+ self .assertEqual (gguf_reader .alignment , 64 )
55
+ v = gguf_reader .get_field ("oldArray" )
56
+ self .assertIsNotNone (v )
57
+ type , itype = v .getType ()
58
+ self .assertEqual (type , GGUFValueType .ARRAY )
59
+ self .assertEqual (itype , GGUFValueType .INT32 )
60
+ self .assertListEqual (v .get (), [1 ,2 ,3 ])
61
+
62
+ def test_rw_ex (self ) -> None :
50
63
gguf_reader = GGUFReader (model_file )
51
64
self .assertEqual (gguf_reader .alignment , 64 )
52
65
0 commit comments