Classify a truncated size report as a corrupt artifact

UnicodeDecodeError is a ValueError, so a non-UTF-8 esp_idf_size.json
read as an internal regression via the backstop; the size report is the
one input nothing upstream validates.
This commit is contained in:
J. Nick Koston
2026-08-23 15:58:25 -05:00
parent 7595baebd2
commit 7153c8b209
+2 -1
View File
@@ -107,7 +107,8 @@ def _print_summary(size_json: Path, partitions_csv: Path | None) -> None:
# FileNotFoundError lands in the OSError arm with the path in its text.
try:
data = json.loads(size_json.read_text(encoding="utf-8"))
except (OSError, json.JSONDecodeError) as e:
except (OSError, ValueError) as e:
# ValueError covers JSONDecodeError and a non-UTF-8 (truncated) file
_LOGGER.warning("Skipping size summary: %s", e)
return
if not isinstance(data, dict):