10
10
from guidellm .benchmark import (
11
11
GenerativeBenchmarksReport ,
12
12
)
13
- from guidellm .benchmark .output import GenerativeBenchmarksConsole
13
+ from guidellm .benchmark .output import GenerativeBenchmarkerConsole , GenerativeBenchmarkerCSV
14
14
from tests .unit .mock_benchmark import mock_generative_benchmark
15
15
16
16
@@ -37,8 +37,8 @@ def test_generative_benchmark_marshalling():
37
37
deserialized = GenerativeBenchmarksReport .model_validate (serialized )
38
38
deserialized_benchmark = deserialized .benchmarks [0 ]
39
39
40
- for field in mock_benchmark . model_fields :
41
- assert getattr ( mock_benchmark , field ) == getattr ( deserialized_benchmark , field )
40
+ # model_dump as workaround for duplicate fields for computed fields.
41
+ assert mock_benchmark . model_dump ( ) == deserialized_benchmark . model_dump ( )
42
42
43
43
44
44
def test_file_json ():
@@ -55,8 +55,8 @@ def test_file_json():
55
55
loaded_report = GenerativeBenchmarksReport .load_file (mock_path )
56
56
loaded_benchmark = loaded_report .benchmarks [0 ]
57
57
58
- for field in mock_benchmark . model_fields :
59
- assert getattr ( mock_benchmark , field ) == getattr ( loaded_benchmark , field )
58
+ # model_dump as workaround for duplicate fields for computed fields.
59
+ assert mock_benchmark . model_dump ( ) == loaded_benchmark . model_dump ( )
60
60
61
61
mock_path .unlink ()
62
62
@@ -75,18 +75,20 @@ def test_file_yaml():
75
75
loaded_report = GenerativeBenchmarksReport .load_file (mock_path )
76
76
loaded_benchmark = loaded_report .benchmarks [0 ]
77
77
78
- for field in mock_benchmark . model_fields :
79
- assert getattr ( mock_benchmark , field ) == getattr ( loaded_benchmark , field )
78
+ # model_dump as workaround for duplicate fields for computed fields.
79
+ assert mock_benchmark . model_dump ( ) == loaded_benchmark . model_dump ( )
80
80
81
81
mock_path .unlink ()
82
82
83
-
84
- def test_file_csv ():
83
+ @pytest .mark .skip (reason = "CSV fix not merged yet" )
84
+ @pytest .mark .asyncio
85
+ async def test_file_csv ():
85
86
mock_benchmark = mock_generative_benchmark ()
86
87
report = GenerativeBenchmarksReport (benchmarks = [mock_benchmark ])
87
88
88
89
mock_path = Path ("mock_report.csv" )
89
- report .save_csv (mock_path )
90
+ csv_benchmarker = GenerativeBenchmarkerCSV (output_path = mock_path )
91
+ await csv_benchmarker .finalize (report )
90
92
91
93
with mock_path .open ("r" ) as file :
92
94
reader = csv .reader (file )
@@ -100,109 +102,72 @@ def test_file_csv():
100
102
101
103
102
104
def test_console_benchmarks_profile_str ():
103
- console = GenerativeBenchmarksConsole ( enabled = True )
105
+ console = GenerativeBenchmarkerConsole ( )
104
106
mock_benchmark = mock_generative_benchmark ()
105
- console .benchmarks = [mock_benchmark ]
106
107
assert (
107
- console .benchmarks_profile_str == "type=synchronous, strategies=['synchronous']"
108
- )
109
-
110
-
111
- def test_console_benchmarks_args_str ():
112
- console = GenerativeBenchmarksConsole (enabled = True )
113
- mock_benchmark = mock_generative_benchmark ()
114
- console .benchmarks = [mock_benchmark ]
115
- assert console .benchmarks_args_str == (
116
- "max_number=None, max_duration=10.0, warmup_number=None, "
117
- "warmup_duration=None, cooldown_number=None, cooldown_duration=None"
108
+ console ._get_profile_str (mock_benchmark ) == "type=synchronous, strategies=['synchronous']"
118
109
)
119
110
120
111
121
- def test_console_benchmarks_worker_desc_str ():
122
- console = GenerativeBenchmarksConsole (enabled = True )
123
- mock_benchmark = mock_generative_benchmark ()
124
- console .benchmarks = [mock_benchmark ]
125
- assert console .benchmarks_worker_desc_str == str (mock_benchmark .worker )
126
-
127
-
128
- def test_console_benchmarks_request_loader_desc_str ():
129
- console = GenerativeBenchmarksConsole (enabled = True )
130
- mock_benchmark = mock_generative_benchmark ()
131
- console .benchmarks = [mock_benchmark ]
132
- assert console .benchmarks_request_loader_desc_str == str (
133
- mock_benchmark .request_loader
134
- )
135
-
136
-
137
- def test_console_benchmarks_extras_str ():
138
- console = GenerativeBenchmarksConsole (enabled = True )
139
- mock_benchmark = mock_generative_benchmark ()
140
- console .benchmarks = [mock_benchmark ]
141
- assert console .benchmarks_extras_str == "None"
142
-
143
-
144
112
def test_console_print_section_header ():
145
- console = GenerativeBenchmarksConsole ( enabled = True )
113
+ console = GenerativeBenchmarkerConsole ( )
146
114
with patch .object (console .console , "print" ) as mock_print :
147
- console .print_section_header ("Test Header" )
115
+ console ._print_section_header ("Test Header" )
148
116
mock_print .assert_called_once ()
149
117
150
118
151
119
def test_console_print_labeled_line ():
152
- console = GenerativeBenchmarksConsole ( enabled = True )
120
+ console = GenerativeBenchmarkerConsole ( )
153
121
with patch .object (console .console , "print" ) as mock_print :
154
- console .print_labeled_line ("Label" , "Value" )
122
+ console ._print_labeled_line ("Label" , "Value" )
155
123
mock_print .assert_called_once ()
156
124
157
125
158
126
def test_console_print_line ():
159
- console = GenerativeBenchmarksConsole ( enabled = True )
127
+ console = GenerativeBenchmarkerConsole ( )
160
128
with patch .object (console .console , "print" ) as mock_print :
161
- console .print_line ("Test Line" )
129
+ console ._print_line ("Test Line" )
162
130
mock_print .assert_called_once ()
163
131
164
132
165
133
def test_console_print_table ():
166
- console = GenerativeBenchmarksConsole ( enabled = True )
134
+ console = GenerativeBenchmarkerConsole ( )
167
135
headers = ["Header1" , "Header2" ]
168
136
rows = [["Row1Col1" , "Row1Col2" ], ["Row2Col1" , "Row2Col2" ]]
169
137
with (
170
- patch .object (console , "print_section_header " ) as mock_header ,
171
- patch .object (console , "print_table_divider " ) as mock_divider ,
172
- patch .object (console , "print_table_row " ) as mock_row ,
138
+ patch .object (console , "_print_section_header " ) as mock_header ,
139
+ patch .object (console , "_print_table_divider " ) as mock_divider ,
140
+ patch .object (console , "_print_table_row " ) as mock_row ,
173
141
):
174
- console .print_table (headers , rows , "Test Table" )
142
+ console ._print_table (headers , rows , "Test Table" )
175
143
mock_header .assert_called_once ()
176
144
mock_divider .assert_called ()
177
145
mock_row .assert_called ()
178
146
179
147
180
148
def test_console_print_benchmarks_metadata ():
181
- console = GenerativeBenchmarksConsole ( enabled = True )
149
+ console = GenerativeBenchmarkerConsole ( )
182
150
mock_benchmark = mock_generative_benchmark ()
183
- console .benchmarks = [mock_benchmark ]
184
151
with (
185
- patch .object (console , "print_section_header " ) as mock_header ,
186
- patch .object (console , "print_labeled_line " ) as mock_labeled ,
152
+ patch .object (console , "_print_section_header " ) as mock_header ,
153
+ patch .object (console , "_print_labeled_line " ) as mock_labeled ,
187
154
):
188
- console .print_benchmarks_metadata ( )
155
+ console ._print_benchmarks_metadata ([ mock_benchmark ] )
189
156
mock_header .assert_called_once ()
190
157
mock_labeled .assert_called ()
191
158
192
159
193
160
def test_console_print_benchmarks_info ():
194
- console = GenerativeBenchmarksConsole ( enabled = True )
161
+ console = GenerativeBenchmarkerConsole ( )
195
162
mock_benchmark = mock_generative_benchmark ()
196
- console .benchmarks = [mock_benchmark ]
197
- with patch .object (console , "print_table" ) as mock_table :
198
- console .print_benchmarks_info ()
163
+ with patch .object (console , "_print_table" ) as mock_table :
164
+ console ._print_benchmarks_info ([mock_benchmark ])
199
165
mock_table .assert_called_once ()
200
166
201
167
202
168
def test_console_print_benchmarks_stats ():
203
- console = GenerativeBenchmarksConsole ( enabled = True )
169
+ console = GenerativeBenchmarkerConsole ( )
204
170
mock_benchmark = mock_generative_benchmark ()
205
- console .benchmarks = [mock_benchmark ]
206
- with patch .object (console , "print_table" ) as mock_table :
207
- console .print_benchmarks_stats ()
171
+ with patch .object (console , "_print_table" ) as mock_table :
172
+ console ._print_benchmarks_stats ([mock_benchmark ])
208
173
mock_table .assert_called_once ()
0 commit comments