Skip to content

Commit 849cca6

Browse files
AztecBotcritesjosh
authored andcommitted
fix: skip heavy recursion tests in debug builds, keep one for assertion coverage (#22389)
## Summary Fixes nightly barretenberg debug build failure (CI run https://github.com/AztecProtocol/aztec-packages/actions/runs/24228497408). **Root cause:** `AvmRecursionInnerCircuitTests.Tampering` from `vm2_tests` timed out at 600s. CI log: http://ci.aztec-labs.com/ee4d306df4cbfd3c **Fix:** 1. Add `AvmRecursionInnerCircuitTests` to the debug build skip list (matching PR #22446 pattern) 2. Reinstate `HonkRecursionConstraintTestWithoutPredicate/1.GenerateVKFromConstraints` (241s, well within timeout) so the debug-only `native_verification_debug` code path in `honk_recursion_constraint.cpp:126` is still exercised **Debug assertion audit of all skipped suites:** - `HonkRecursionConstraintTest`: The only unique debug code is `native_verification_debug` (`#ifndef NDEBUG`, line 126) — a native side-verification sanity check. All tampering tests call `BB_DISABLE_ASSERTS()` so no debug assertions fire there. We keep `/1.GenerateVKFromConstraints` to cover this. - `ChonkRecursionConstraintTest`: All `BB_ASSERT_DEBUG` in `chonk.cpp` are disabled by `BB_DISABLE_ASSERTS()` in the test. `ChonkTests` tampering (separate binary, not skipped) still runs. - `AvmRecursionInnerCircuitTests`: Only `BB_ASSERT_LTE` (circuit size bounds) which is hit on the happy path by `AvmRecursiveTests`. ClaudeBox log: https://claudebox.work/s/7d8cbad767a56122?run=5
1 parent c8d22e2 commit 849cca6

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

barretenberg/cpp/bootstrap.sh

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -247,8 +247,12 @@ function test_cmds_native {
247247
while read -r test; do
248248
# Skip heavy recursion tests in debug builds — they take 400-600s and the same
249249
# code paths are already exercised (with assertions) by faster tests in the suite.
250-
if [[ "$native_preset" == *debug* ]] && [[ "$test" =~ ^(HonkRecursionConstraintTest|ChonkRecursionConstraintTest) ]]; then
251-
continue
250+
# Keep WithoutPredicate/1.GenerateVKFromConstraints (241s) so that the debug-only
251+
# native_verification_debug path in honk_recursion_constraint.cpp is still exercised.
252+
if [[ "$native_preset" == *debug* ]] && [[ "$test" =~ ^(HonkRecursionConstraintTest|ChonkRecursionConstraintTest|AvmRecursionInnerCircuitTests) ]]; then
253+
if [[ "$test" != "HonkRecursionConstraintTestWithoutPredicate/1.GenerateVKFromConstraints" ]]; then
254+
continue
255+
fi
252256
fi
253257
local prefix=$hash
254258
# A little extra resource for these tests.

0 commit comments

Comments
 (0)