From 87b8cb4124c06caf9e4edb7f87f670b5818de204 Mon Sep 17 00:00:00 2001 From: Linwei-Ying Date: Thu, 19 Dec 2024 20:27:27 +0800 Subject: [PATCH] highlight inner improve --- .../msprobe/core/compare/highlight.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/debug/accuracy_tools/msprobe/core/compare/highlight.py b/debug/accuracy_tools/msprobe/core/compare/highlight.py index 4925efe9bc..e556aa2fc1 100644 --- a/debug/accuracy_tools/msprobe/core/compare/highlight.py +++ b/debug/accuracy_tools/msprobe/core/compare/highlight.py @@ -245,6 +245,12 @@ def find_compare_result_error_rows(result_df, highlight_dict, dump_mode): dump_mode) +def sanitize_value(value): + if isinstance(value, (float, int)) and not isinstance(value, bool): + return f'{str(value)}\t' if str(value) in ('inf', '-inf', 'nan') else value + return str(value) + + def highlight_rows_xlsx(result_df, highlight_dict, file_path): """Write and highlight results in Excel""" @@ -262,12 +268,11 @@ def highlight_rows_xlsx(result_df, highlight_dict, file_path): for i, row in enumerate(result_df.iterrows(), start=2): for j, value in enumerate(row[1], start=1): - if not isinstance(value, (float, int)) or isinstance(value, bool): - value = f'{str(value)}\t' if str(value) in ('inf', '-inf', 'nan') else str(value) - if not table_value_is_valid(value): + sanitized_value = sanitize_value(value) + if not table_value_is_valid(sanitized_value): raise RuntimeError(f"Malicious value [{value}] is not allowed to be written into the xlsx: " f"{file_path}.") - ws.cell(row=i, column=j, value=f'{str(value)}\t' if str(value) in ('inf', '-inf', 'nan') else value) + ws.cell(row=i, column=j, value=sanitized_value) # 对可疑数据标色 logger.info('Coloring Excel in progress.') -- Gitee