diff options
| author | 2026-10-14 16:11:35 +0330 | |
|---|---|---|
| committer | 2026-10-14 16:11:35 +0330 | |
| commit | 72664ccc9429a5438f4592dbb170ed1596523504 (patch) | |
| tree | b6ec8f9f1c6ffe8ae28888710acfde7d9e8a58cf /tests/test.sh | |
| parent | merge bounds checking (diff) | |
test: a constant loop bound drops the fixed-array bounds check (bounds_proof)
Diffstat (limited to 'tests/test.sh')
| -rwxr-xr-x | tests/test.sh | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/tests/test.sh b/tests/test.sh index 7a80c3c..1625680 100755 --- a/tests/test.sh +++ b/tests/test.sh @@ -227,6 +227,7 @@ ABC" "$l o3 lifts byte loads and stores" chk "$($vm < tests/programs/boundsrules.zc 2>&1 | head -3)" $'5\n7\nzy: index 5 out of range (length 4)' "$l unbounded as prefix, block and statement, o3 implies it; checked code reports" chk "$($vm < tests/programs/bounds_fixed.zc 2>&1 | head -3)" $'55\n29\nzy: index 6 out of range (length 6)' "$l a fixed array with a variable index is checked against its length" chk "$($vm < tests/programs/bounds_heap.zc 2>&1 | head -4)" $'3\n0\nx\nzy: index 11 out of range (length 11)' "$l a pointer to a heap block is checked against its payload" + chk "$($vm < tests/programs/bounds_proof.zc)" $'0\n1\n1' "$l a loop test against a constant drops the fixed-array check; a variable bound keeps it" chk "$($vm < tests/programs/zc0unbounded.zc)" "42" "$l unbounded in the unit, a prefix and a statement" local r; r=$(bash tests/runerr.sh "$vm" tests/errors | tail -1) chk "$r" "rejected: $(ls tests/errors/*.zc | wc -l | tr -d ' ') passed, 0 failed" "$l analyzer rejects every bad program" |
