@@ -39,6 +39,7 @@ class TestResult:
3939 skipped : bool = False
4040 config : Optional [Dict [str , Any ]] = None
4141 duration : float = 0.0
42+ error_msg : Optional [str ] = None
4243
4344 def to_dict (self ) -> Dict [str , Any ]:
4445 """Convert to lightweight dictionary format for Dispatcher aggregation."""
@@ -50,6 +51,7 @@ def to_dict(self) -> Dict[str, Any]:
5051 "skipped" : self .skipped ,
5152 "config" : self .config ,
5253 "duration" : self .duration ,
54+ "error_msg" : self .error_msg ,
5355 }
5456
5557
@@ -156,6 +158,7 @@ def execute(self) -> TestResult:
156158 result_file = None ,
157159 config = config ,
158160 duration = 0.0 ,
161+ error_msg = None ,
159162 )
160163
161164 response = {}
@@ -215,6 +218,9 @@ def _handle_error(
215218 test_result .duration = duration
216219 error_msg = str (error )
217220
221+ # Set error message
222+ test_result .error_msg = error_msg
223+
218224 # Determine error type and result code
219225 if isinstance (error , subprocess .TimeoutExpired ):
220226 test_result .result_code = ErrorCode .TIMEOUT
@@ -317,6 +323,20 @@ def _extract_device_info(self, config: Dict[str, Any]) -> Dict[str, Any]:
317323 "device_used" : device_used ,
318324 }
319325
326+ def _collect_static_hw (self , accel_type = "" , device_ids = None ):
327+ """
328+ Collect static hardware information.
329+ """
330+ return {
331+ "cpu_model" : "Unknown" ,
332+ "memory_gb" : 0 ,
333+ "gpu_model" : "Unknown" ,
334+ "gpu_memory_gb" : 0 ,
335+ "driver_version" : "Unknown" ,
336+ "cuda_version" : "Unknown" ,
337+ "accelerator_type" : accel_type or "generic" ,
338+ }
339+
320340 def _build_environment (self , response : Dict [str , Any ]) -> Dict [str , Any ]:
321341 """
322342 Build a unified environment block
0 commit comments