fix: skip heavy recursion tests in debug builds#22446
Merged
ludamad merged 1 commit intomerge-train/barretenbergfrom Apr 9, 2026
Merged
fix: skip heavy recursion tests in debug builds#22446ludamad merged 1 commit intomerge-train/barretenbergfrom
ludamad merged 1 commit intomerge-train/barretenbergfrom
Conversation
…meouts HonkRecursionConstraintTest and ChonkRecursionConstraintTest take 400-600s in debug mode, hitting the 600s timeout. Rather than increasing the timeout, skip them entirely in debug builds — the same code paths are exercised by faster tests in the suite, and the debug build's purpose (catching UB/assertions) is well-served without these slow recursion tests.
ludamad
approved these changes
Apr 9, 2026
This was referenced Apr 9, 2026
federicobarbacovi
pushed a commit
that referenced
this pull request
Apr 10, 2026
…on 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
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Instead of bumping timeouts for slow tests in debug mode, skip them entirely.
HonkRecursionConstraintTestandChonkRecursionConstraintTesttake 400-600s in debug builds, hitting the 600s default timeout. These are heavy recursion constraint tests that build full recursive circuits — the same code paths are already exercised (with debug assertions) by faster tests in the suite.This replaces the timeout-bump approach from PR #22347 with Adam's suggestion to be selective about what runs in debug mode.
Supersedes #22427
ClaudeBox log: https://claudebox.work/s/c3fd56d2f55c879c?run=2