Fix ATVM watcher host parsing for wrapped duration rows

Handle Currents "Cloud Run Finished" table rows where the trailing
"s" in long duration values wraps onto its own continuation line.

Instead of appending that standalone continuation to the end of the
host row, drop the wrapped row and rely on the existing duration
parser to accept values without the trailing "s". This preserves all
host rows in parent summary parsing for completed non-categorized runs.

Also record the failure mode and recovery guidance in the ATVM run
learnings doc.
This commit is contained in:
2026-04-22 14:03:02 -04:00
parent dc8168dc7c
commit 86e7830d63
2 changed files with 15 additions and 1 deletions
+4 -1
View File
@@ -673,7 +673,10 @@ def summarize_host_detail_with_mochawesome(detail: str, testcase: str, message:
def extract_host_results_from_run_finished_segment(segment_text: str, inventory: Dict[str, str]) -> Dict[str, HostResult]:
host_results: Dict[str, HostResult] = {}
normalized = re.sub(r"\n\s*│\s*s\s*│", "s │", segment_text)
# Currents can wrap the trailing "s" in long duration cells onto its own table row.
# The duration parser already accepts values without the trailing "s", so drop the
# standalone continuation row instead of appending it to the end of the host row.
normalized = re.sub(r"\n\s*│\s*s\s*│\s*", "\n", segment_text)
for host_match in re.finditer(
r"(?m)^\s*│\s*([✔✖])\s+(atvm[^\s]+)\.ts\s+([0-9:hms. ]+?)\s+(\d+)\s+(\d+)\s+([-\d]+)\s+([-\d]+)\s+([-\d]+)\s*│\s*$",
normalized,