Skip to content

Commit ee8be3c

Browse files
Copilotmballance
andcommitted
Fix recursive flattening and improve test assertions
Co-authored-by: mballance <1340805+mballance@users.noreply.github.com>
1 parent 3cebe8a commit ee8be3c

File tree

2 files changed

+17
-12
lines changed

2 files changed

+17
-12
lines changed

src/vsc/coverage.py

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -905,17 +905,21 @@ def __init__(self,
905905
name=None,
906906
iff=None,
907907
ignore_bins=None):
908-
# Flatten nested crosses by extracting their coverpoints
909-
flattened_targets = []
910-
for t in target_l:
911-
if isinstance(t, cross):
912-
# Recursively flatten cross objects
913-
flattened_targets.extend(t.target_l)
914-
elif isinstance(t, coverpoint):
915-
flattened_targets.append(t)
916-
else:
917-
raise Exception("Cross target \"" + str(t) + "\" is not a coverpoint or cross")
918-
self.target_l = flattened_targets
908+
# Recursively flatten nested crosses by extracting their coverpoints
909+
def flatten_targets(targets):
910+
"""Recursively flatten a list of coverpoints and crosses."""
911+
flattened = []
912+
for t in targets:
913+
if isinstance(t, cross):
914+
# Recursively flatten cross objects
915+
flattened.extend(flatten_targets(t.target_l))
916+
elif isinstance(t, coverpoint):
917+
flattened.append(t)
918+
else:
919+
raise Exception("Cross target \"" + str(t) + "\" is not a coverpoint or cross")
920+
return flattened
921+
922+
self.target_l = flatten_targets(target_l)
919923
self.bins = bins
920924
self.options = Options()
921925

ve/unit/test_coverage_cross.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -193,6 +193,7 @@ def __init__(self):
193193

194194
# Verify structure
195195
self.assertEqual(len(cg.cross_abc.target_l), 3)
196-
# Verify options were set
196+
# Verify options were set correctly
197197
self.assertIsNotNone(cg.cross_abc.options)
198+
self.assertEqual(cg.cross_abc.options.at_least, 2)
198199

0 commit comments

Comments
 (0)