From 029df375f58a9f87150c5f4dcc3dad995cf17934 Mon Sep 17 00:00:00 2001 From: JunghwanNA <70629228+shaun0927@users.noreply.github.com> Date: Thu, 16 Apr 2026 12:27:10 +0900 Subject: [PATCH] fix(test): break on unknown signal in count_concat_bits When an unknown signal is encountered, total is set to -1 but the loop continues. Subsequent known signals add their widths to -1, producing incorrect totals (e.g. -1 + 16 = 15 instead of -1). This can mask genuine truncation bugs in status word packing. --- 9_Firmware/tests/cross_layer/contract_parser.py | 1 + 1 file changed, 1 insertion(+) diff --git a/9_Firmware/tests/cross_layer/contract_parser.py b/9_Firmware/tests/cross_layer/contract_parser.py index a0220ff..fa2b17f 100644 --- a/9_Firmware/tests/cross_layer/contract_parser.py +++ b/9_Firmware/tests/cross_layer/contract_parser.py @@ -497,6 +497,7 @@ def count_concat_bits(concat_expr: str, port_widths: dict[str, int]) -> ConcatWi # Unknown width — flag it fragments.append((part, -1)) total = -1 # Can't compute + break return ConcatWidth( total_bits=total,