(+)#35000 ismaelsadeeq test: Add block validation unit tests- Add fast unit test coverage for block validation consensus rules
- Catch consensus regressions earlier during validation modularization refactors
| P2 · test coverage- P3 because unit tests on high-risk consensus paths provide faster test feedback than functional tests
- Provides reusable test utilities for constructing mutated blocks and checking outcomes
| Author silent 103 days- Author has been inactive for over three months
- CI is passing and earlier review threads have been addressed
| 0 (+1) | Strong- Strong support for adding structured block validity unit tests
- Approach approval because the comprehensive test cases are valuable (sedited)
- Full approval after earlier nits and helper assertions were addressed (w0xlt)
- Suggested removing the redundant fuzz target to keep the focus on unit tests (marcofleon)
| 0 + 1,384 tests- 0 lines added or modified outside tests
- 1,384 lines added or modified in tests
- 0 lines removed in total
- 8 files, 3 commits
|
(+)#35774 willcl-ark ci: test cross-built macos arm64 binaries- Run unit tests on native macOS arm64 hardware using release-like cross-built binaries
- Catch platform-specific regressions and silent toolchain breakages before release
| P3 · test coverage- P3 because it expands coverage by running unit tests on native macOS hardware
- CI test orchestration provides lower leverage than core test framework improvements
| Ready- Ready for review
- Branch is rebased, CI is passing, and previous questions have been addressed
| 0 | Strong- Strong concept support citing the need to test cross-built binaries natively (fanquake)
- Nonblocking inquiry about caching strategy was resolved (maflcko)
| 127- 127 lines added or modified outside tests
- 0 lines added or modified in tests
- 6 lines removed in total
- 3 files, 3 commits
|
(+)#32554 l0rinc bench: replace embedded raw block with configurable block generator- Make block benchmarks representative of modern traffic using configurable runtime block generation
- Avoids repository bloat from committing large raw block fixtures into the source tree
| P3 · test coverage- P2 because benchmarks test 2016 data and fail to capture modern SegWit and Taproot execution costs
- Provides an extensible framework for modern benchmarks without checking in large raw block fixtures
| Needs rebase- Needs rebase due to merge conflicts with master
| 0 | Strong- Broad support for replacing outdated pre-SegWit test fixtures and avoiding repo bloat
- Strong support because modern workloads are needed and generator avoids repo bloat (hodlinator, 0xB10C)
- Concept approval without stated reasons (laanwj, yuvicc, Raimo33)
- Suggested also generating block undo data for future undo benchmarks (0xB10C)
| 0 + 460 tests- 0 lines added or modified outside tests
- 460 lines added or modified in tests
- 45 lines removed in total
- 10 files, 3 commits
|
(+)#36098 HowHsu fuzz: add corpus reachability checks- Detect when fuzz targets running against static corpora silently lose coverage of critical paths
- Enable fuzz runs to fail explicitly if registered reachability goals are never triggered
| P3 · test coverage- P3 because it detects silent loss of coverage on critical paths like mempool acceptance or P2P handshakes
- Helps maintainers ensure static corpora remain effective across harness changes
| Ready- Ready for review, core infrastructure is in place and passing CI
| 0 | Mild- Strong support for adding reachability checks to fuzz testing
- Approved, noting it provides value while wondering about higher-level formulations (maflcko)
- Believes what is in the PR already provides value (dergoegge)
- Concept approval after testing application to coinselection fuzzing (brunoerg)
- Concept approval without stated reasons (nervana21)
| 0 + 274 tests- 0 lines added or modified outside tests
- 274 lines added or modified in tests
- 18 lines removed in total
- 14 files, 13 commits
|
(+)#35713 rustaceanrob Remove boost as a unit test runner- Eliminate Boost.Test to improve failure diagnostics and reduce build maintenance overhead for developers
- Unblock future test runner concurrency and tailored testing tools for the project
| P3 · cleanup- P2 because it fixes chronic developer pain with test assertion macros and diagnostics
- It unblocks future test infrastructure enhancements including harness parallelization
| Ready- Ready to review
- CI is passing and recent pushes have resolved prior review comments
| 0 | Strong- Strong sentiment favoring the removal of Boost.Test for maintainability
- Strong support citing customizability and future concurrent test execution needs (josibake)
- Concept approval with extensive testing of runner flags, signals, and seed reproduction (jeanpablojp)
- Feedback on stringification fallbacks and static assertions incorporated cleanly (maflcko)
| 3 + 1,693 tests- 3 lines added or modified outside tests
- 1,693 lines added or modified in tests
- 264 lines removed in total
- 163 files, 12 commits
|
(+)#36129 HowHsu fuzz: reset chainman after external block imports- Prevent fuzz state contamination across iterations in external block file loading
- Eliminate order-dependent coverage and non-reproducible fuzz crashes
| P3 · bug fix- P3 because it fixes state leakage across fuzz iterations for a single fuzz harness
- Improves determinism and crash reproducibility without affecting production code
- Ranking pass: Moved up: order-dependent, non-reproducible fuzz state is a signal/trust problem, which this category ranks ahead of new coverage.
| Ready- Ready to review now, cleanly merges and passes CI
| 0- No review verdicts recorded
| Positive- Collaborative discussion with no objections raised
- Inquired whether a dirty-guard optimization would improve speed (maflcko)
- Author explained unconditional resets are necessary to catch all internal mutations
| 0 + 23 tests- 0 lines added or modified outside tests
- 23 lines added or modified in tests
- 2 lines removed in total
- 1 files, 1 commits
|
(+)#36254 0xB10C bench: add and use undo-data for BlockToJsonVerbosity3 bench- Make the block-to-JSON verbosity 3 benchmark test its intended code path
- Provide accurate performance measurements for serializing block fee and prevout data
| P3 · test coverage- P3 because it fixes a misleading benchmark that failed to exercise its target code path
- Provides an accurate performance baseline for profiling high-verbosity block RPC logic
- Ranking pass: Moved up: a benchmark that silently measures the wrong code path is a misleading test, ranked ahead of added coverage here.
| Ready- Ready for review with passing CI and a small code diff
| 1 | Strong- Strong support with no open objections
- Verified by reproducing benchmark numbers and validating raw undo data (ismaelsadeeq)
| 0 + 21 tests- 0 lines added or modified outside tests
- 21 lines added or modified in tests
- 0 lines removed in total
- 3 files, 1 commits
|
(+)#36091 rustaceanrob test: Add debug output to common tested types- Print mismatched values in unit test failure messages instead of only reporting boolean failures
- Speed up debugging for developers investigating test regressions
| P3 · test coverage- P3 because it improves failure diagnostics across unit test suites
- Provides formatting infrastructure required by follow-up test work
- Does not fix test flakiness or expand coverage into high-risk code
- Ranking pass: Moved up: supplies the printer/diagnostic infrastructure the #35713 runner overhaul builds on, so it inherits some of that work's leverage.
| Ready- Ready for review
- Clean CI, no merge conflicts, and review feedback has been addressed
| 0 (+2) | Strong- Strong consensus across multiple reviewers
- Support for the overall approach and test utility cleanup (maflcko)
- Verified by testing failure output and crash guards (jeanpablojp)
- Code approval after suggested callsite and formatting fixes were applied (ismaelsadeeq)
- Concept approval without detailed remarks (sedited, brunoerg)
| 0 + 394 tests- 0 lines added or modified outside tests
- 394 lines added or modified in tests
- 166 lines removed in total
- 18 files, 2 commits
|
(+)#31349 vasild ci: detect outbound internet traffic generated while running tests- Detect unexpected outbound network traffic and DNS lookups generated while running tests in CI
- Prevent tests from violating test isolation and leaking developer IP addresses
| P3 · test coverage- P3 because it verifies that test suites remain strictly hermetic without contacting external servers
- Protects developer privacy during test runs, though it does not resolve test framework blockers
- Ranking pass: Slightly lower than its own score placed it: hermeticity/privacy check is valuable but no in-tree test is known to be leaking today.
| Author silent- Author has been silent for over 90 days with an unanswered technical comment
| 0 (+3) | Mild- Broad concept agreement on catching unexpected network traffic in CI (laanwj, jonatack, sipa, Sjors)
- Approvals on earlier revisions (ryanofsky, 0xB10C, fjahr)
- Unaddressed technical comment: tcpdump direction flag is a no-op when reading capture files (fjahr)
- Concern about false positives and failures when running CI scripts locally under Podman (fanquake, maflcko)
| 0 + 77 tests- 0 lines added or modified outside tests
- 77 lines added or modified in tests
- 2 lines removed in total
- 6 files, 1 commits
|
(+)#36068 brunoerg fuzz: reuse one fuzzed wallet across inputs- Speed up wallet fuzz testing by reusing a single wallet instance across inputs
- Avoid repeated overhead from descriptor imports, BIP32 derivations, and database setups
| P3 · speedup- P3 because a 4x to 6x speedup meaningfully increases fuzz testing throughput
- Accelerates test coverage rate for wallet transaction creation
- Ranking pass: Placed after the signal fixes; throughput gains rank below trust-in-CI fixes in this category.
| Ready- Ready to review
- Clean patch, passing CI, and initial review questions answered
| 0 | Strong- Approach approval confirming a roughly 4x fuzz execution speedup (jeanpablojp)
- Concerns about index drift and container clearing order were addressed (jeanpablojp)
| 19 + 127 tests- 19 lines added or modified outside tests
- 127 lines added or modified in tests
- 17 lines removed in total
- 4 files, 2 commits
|
(+)#34969 brunoerg fuzz: several improvements to scriptpubkeyman harness- Speed up fuzz testing for scriptpubkeyman so automated testing can find bugs faster
- Fix a harness bug that prematurely aborted test iterations when descriptor updates failed
| P3 · speedup- P3 because it speeds up a single fuzz harness up to threefold under sanitizers
- Deeper fuzz exploration benefits overall fuzzing coverage for wallet descriptors
| Ready- Ready to review
- CI is passing and the author addressed all inline reviewer comments
| 0 | Strong- Strong support for the performance gains and harness bug fix
- Concept approval citing the bug fix and hot-path optimizations (pablomartin4btc)
- Verified by benchmarking substantial fuzzing speedup under sanitizers (andrewtoth)
- Verified test corpus behavior and execution counts (ekzyis)
- Concerns about weakened verification assertions were resolved in updates (maflcko)
| 0 + 71 tests- 0 lines added or modified outside tests
- 71 lines added or modified in tests
- 86 lines removed in total
- 3 files, 7 commits
|
(+)#33954 mzumsande test: add functional test for outbound connection management- Make autonomous outbound peer connections straightforward to test in the functional framework
- Help test writers cover peer discovery and connection logic without bespoke proxy hacks
| P3 · test coverage- P3 because it adds reusable framework infrastructure to simplify future peer discovery tests
- Eliminates duplicate connection redirection code across existing functional test suites
- Ranking pass: Lowered a few places: real framework capability, but author states it is not ready and test intermittency is unresolved, so benefit is less certain than the speed/signal items above.
| Author reworking- Wait because the author is currently reworking the branch to address feedback
- CI is currently failing
| 0 (+2) | Strong- Strong concept and approach support across reviewers
- Concept approval with constructive interface suggestions (vasild)
- Verified by testing locally on Ubuntu (Bortlesboat)
| +398/-102 |
(+)#35139 maflcko test: Add thread-safe fast-failing test macros- Provide thread-safe test assertion macros that stop on first failure and can be shared with fuzz tests
- Prevent silent signedness comparison bugs and reduce log noise that hides root causes in CI
| P3 · cleanup- P3 because it fixes test edge cases like TSAN false positives and silent signedness comparison bugs
- Enables sharing assertion macros with fuzz tests while existing Boost checks remain functional
| Ready | 0 | Positive- Concept approval after author showed how post-failure log spam truncates CI output (sedited)
- Minor cleanups resolved (mercie-ux)
| 0 + 337 tests- 0 lines added or modified outside tests
- 337 lines added or modified in tests
- 162 lines removed in total
- 4 files, 4 commits
|
(+)#32993 brunoerg fuzz: wallet: add target for tx scanning- Catch crashes and edge cases in wallet transaction scanning using fuzzed block inputs
- Protect wallet rescan logic against complex state transitions missed by deterministic tests
| P3 · test coverage- P3 because it expands fuzz coverage to discover crashes in wallet rescanning
- It provides automated regression defense without resolving an active vulnerability
- Ranking pass: Lowered: new wallet-rescan fuzz coverage, but paused in draft pending a harness rewrite, making it less certain than the framework/speed items above.
| Author reworking- Author moved the PR to draft to refactor for execution speed and has been inactive
- Hold review until the author pushes the updated harness and takes it out of draft
| 0 (+1) | Positive- General positive reception with no architectural objections
- Verified the harness runs without crashing (Chand-ra)
- Fixed a cleanup memory leak found during review (ekzyis)
- Fixed an integer overflow in the mock time helper (fanquake)
| 0 + 111 tests- 0 lines added or modified outside tests
- 111 lines added or modified in tests
- 0 lines removed in total
- 2 files, 1 commits
|
(+)#36135 frankomosh fuzz: test HTTPRequest state machine in http_request- Catch HTTP parsing and request framing divergence bugs across fragmented network inputs
- Ensure incoming HTTP requests parse identically whether bytes arrive all at once or in arbitrary chunks
| P3 · test coverage- P3 because it exercises previously unreachable resumable parsing logic in the HTTP server
- Protects against request framing desynchronization bugs by verifying segmented network inputs
- Ranking pass: Grouped with the other remote-input fuzz coverage; reviewers mutation-verified it, so it leads that group.
| Ready- Ready to review
- Small patch with passing CI and all previous reviewer feedback addressed
| 2 | Strong- Strong support for verifying segmented input parsing and client coverage (hodlinator)
- Verified with ASan and UBSan fuzzing and artificial parser mutation testing (jeanpablojp)
| 0 + 171 tests- 0 lines added or modified outside tests
- 171 lines added or modified in tests
- 27 lines removed in total
- 1 files, 4 commits
|
(+)#35964 laxmanacharya8 fuzz: add coverage for GetQueryParameterFromUri- Fuzz test untrusted query string parsing on the REST interface
- Catches edge-case parser bugs with duplicate keys and fragment delimiters
| P3 · test coverage- P3 because it expands fuzz coverage for remote input parsing on REST endpoints
- Exercises parser boundaries and URL-encoding invariants without architectural changes
| Ready- Ready for review
- Small patch with prior reviewer feedback already incorporated
| 1 | Strong- Strong support after author addressed suggested edge cases (nervana21)
- Verified by testing (nervana21)
| 0 + 27 tests- 0 lines added or modified outside tests
- 27 lines added or modified in tests
- 0 lines removed in total
- 1 files, 1 commits
|
(+)#36128 ViniciusCestarii test: add script_tests cases covering more interpreter mutants- Pin consensus script interpreter edge cases uncovered by mutation testing
- Prevents undetected regressions in Tapscript and P2WSH execution
| P3 · test coverage- P3 because it hardens consensus-critical script interpreter code against regressions
- Pins three surviving mutants, though routine and deferrable
| Ready- Ready to review
- Small and self-contained test addition with passing CI
| 1 | Positive- Smooth review with no objections raised
- Approval with no concerns noted (sedited)
| 0 + 34 tests- 0 lines added or modified outside tests
- 34 lines added or modified in tests
- 0 lines removed in total
- 2 files, 3 commits
|
(+)#35835 jeanpablojp test: add CONST_SCRIPTCODE failure-path vectors to script_tests.json- Verify script interpreter failure paths for the CONST_SCRIPTCODE flag
- Add test vectors for previously unexercised error codes in script_tests.json
| P3 · test coverage- P3 because it improves coverage of consensus script evaluation edge cases
- Directly exercises error codes that had no tests or only functional mempool checks
| Ready- Ready to review
- Small self-contained test changes with passing CI
| 0 | Positive- Concept approval without objections (darosior)
- Clarified related edge case will be addressed in a separate PR (darosior)
| 0 + 11 tests- 0 lines added or modified outside tests
- 11 lines added or modified in tests
- 0 lines removed in total
- 1 files, 1 commits
|
(+)#35957 hebasto ci: Enable Boost.MultiIndex invariant-checking mode- Catch subtle corruptions and container inconsistencies early during CI test runs
- Helps developers detect indexing and memory pool bugs before changes merge
| P3 · test coverage- P3 because it turns hidden container inconsistencies into explicit CI test failures
- Improves regression detection for core data structures while remaining deferrable
| Ready- Ready to review
- Clean small change with all reviewer questions addressed
| 0 | Strong- Positive feedback with earlier CI timeout concerns resolved
- Excluding the slow fuzz job resolved runtime timeout concerns (fanquake)
- Approach approval after independently reproducing job execution times (jeanpablojp)
| 0 + 5 tests- 0 lines added or modified outside tests
- 5 lines added or modified in tests
- 2 lines removed in total
- 3 files, 1 commits
|
(+)#36121 maflcko fuzz: Corpus sharding in parallel runs- Parallelize individual fuzz targets across workers by splitting their corpora
- Prevent single long-running fuzz targets from bottlenecking multi-core test runs
| P3 · speedup- P3 because it speeds up fuzz test runs by eliminating the bottleneck from the slowest target
- Breaks aggregated libFuzzer coverage metrics and adds target setup overhead
| Ready- Ready for review, CI passing and author addressed initial feedback
| 0 | Strong- Concept approval and verified speedups on MSan and Windows (jeanpablojp)
- Concern that sharding fragments libFuzzer output so coverage cannot be compared across runs (jeanpablojp)
- Concern about storage thrashing and target instantiation overhead on slower disks (jeanpablojp)
| 0 + 70 tests- 0 lines added or modified outside tests
- 70 lines added or modified in tests
- 29 lines removed in total
- 2 files, 2 commits
|
(+)#35827 arejula27 bench: add index benchmarks- Measure realistic block index sync and query performance without requiring a full initial block download
- Add benchmarks for indexes using blocks with multi-input and multi-output transactions
| P3 · test coverage- P3 because index benchmarks only test coinbase-only blocks and fail to show scaling behavior
- Adds shared benchmark coverage for realistic transaction loads
| Ready- Ready for review
- All review feedback addressed and CI is clean
| 0 | Strong- Concept approval of the overall structure (l0rinc)
- All inline reviewer questions and feedback resolved by the author
| 38 + 414 tests- 38 lines added or modified outside tests
- 414 lines added or modified in tests
- 0 lines removed in total
- 7 files, 3 commits
|
(+)#33973 billymcbip test: Improve STRICTENC/DERSIG unit tests in script_tests.json- Verify consensus-enforced signature encoding rules independently from standardness policy rules
- Add negative test cases and clearer documentation for script verification test vectors
| P3 · test coverage- P3 because testing consensus rules independently from policy rules improves verification granularity
- Adds useful edge-case coverage to test vectors without fixing an active bug or unblocking broader work
- Ranking pass: Grouped with the other script_tests.json vector additions of equal consequence.
| Author silent- Stale because the author has been silent for months with the pull request left in draft status
| 0 | Strong- Concept and approach approval to test consensus rules separately from standardness policy (darosior)
- Retained existing policy tests to preserve coverage per review feedback (darosior)
| +48/-9 |
(+)#32229 Christewart tests: Add unix timestamp tests for OP_CLTV and max mediantimepast tests- Ensure consensus locktime rules are validated against median-time-past during block connection
- Add functional test coverage for boundary conditions near maximum timestamp values
| P3 · test coverage- P3 because it adds functional regression coverage for existing consensus rules without fixing a bug
- Unit tests already cover script verification so the safety gain is modest
| Ready- Ready for review with passing tests
| 0 | Positive- Concept approval for adding the test coverage (sedited)
- Helped clarify the scope of existing unit tests versus functional tests (mabu44)
- Suggested expanding edge-case coverage and questioned minor parameter edits (sedited)
| 0 + 107 tests- 0 lines added or modified outside tests
- 107 lines added or modified in tests
- 7 lines removed in total
- 2 files, 1 commits
|
(+)#36073 nervana21 fuzz: Add musig harness- Add fuzz testing for MuSig2 cryptographic APIs to exercise error handling and corner cases
- Protects against regressions in routines that currently lack dedicated unit tests
| P3 · test coverage- P3 because it adds fuzz coverage for MuSig2 routines that currently lack unit tests
- MuSig2 is not yet on critical consensus or peer-to-peer hot paths
| Ready- Ready for review
- Clean CI and author addressed initial review feedback
| 0 | Strong- Strong concept support because it covers MuSig2 signing routines that have no unit tests (jeanpablojp)
- Technical suggestions to improve reachability were adopted by the author
| 0 + 211 tests- 0 lines added or modified outside tests
- 211 lines added or modified in tests
- 0 lines removed in total
- 2 files, 1 commits
|
(+)#35762 willcl-ark test: optionally run functional tests via CTest- Allow developers to run functional tests alongside unit tests using standard CTest commands
- Enables test filtering, rerun flags, and native IDE integration for functional test workflows
| P3 · new feature- P3 because it improves test runner convenience rather than adding critical test coverage
- Enhances test execution workflows locally without addressing test suite reliability
- Ranking pass: Lowered: workflow ergonomics only, and reviewers dispute whether the added runner logic is warranted.
| Ready- Ready to review: CI is passing and the branch is up to date with feedback
| 0- No review verdicts recorded
| Mild- No approvals yet with reservations about the added complexity (maflcko)
- Questioned whether adding CMake orchestration is justified over a Python alternative (maflcko)
- Drawback: CTest execution does not support win64 cross-testing workflows (maflcko)
| 18 + 431 tests- 18 lines added or modified outside tests
- 431 lines added or modified in tests
- 45 lines removed in total
- 9 files, 6 commits
|
(+)#34360 w0xlt bench: add WalletBalanceManySpent for high-history wallet scenario- Benchmark wallet balance calculation performance on wallets with heavy spent output histories
- Help developers profile and measure optimizations for high-activity wallets like Lightning nodes
| P3 · test coverage- P3 because it adds dedicated benchmark coverage to profile balance calculation under heavy output load
- Helps quantify performance improvements for high-activity wallet use cases without touching production code
- Ranking pass: Lowered substantially: a single wallet benchmark serving one candidate optimization (#27865) is narrower than the other P3 work here.
| Needs rebase- Review is blocked by merge conflicts and failing CI
| 0 (+1) | Strong- Strong support with no open objections after review suggestions were addressed
- Formal approval after collaborative refactoring of benchmark utilities (l0rinc)
- Noted as relevant to evaluating wallet balance improvements in #27865 (fanquake)
| +237/-64 |
(+)#35177 AgusR7 test: use MiniWallet for getblockstats test data generation- Allow regenerating getblockstats test data on builds configured without wallet support
- Fixes test data generation failure when the wallet is disabled
| P3 · bug fix- P3 because it repairs a test maintenance script rather than normal test execution
- Unblocks developers regenerating test fixtures when compiling without the wallet
- Ranking pass: Lowered: real fix (#31838) but only affects the --gen-test-data maintenance path on no-wallet builds, not normal test runs.
| Ready- Ready to review
- Cleanly applies with passing CI and all reviewer questions answered
| 1 (+1) | Strong- Verified by testing fixture generation on wallet-disabled builds (theStack)
- Question about segwit format in the regenerated data addressed by author (sedited)
| 0 + 188 tests- 0 lines added or modified outside tests
- 188 lines added or modified in tests
- 179 lines removed in total
- 2 files, 1 commits
|
(+)#35417 willcl-ark ci: isolate container test networks- Allow developers to run multiple local CI container jobs simultaneously without network address collisions
| P3 · test coverage- P3 because functional bind tests no longer rely on hardcoded static host IP addresses
- Enables test execution across non-default network environments without adding new test cases
| CI failing- CI is failing and the author has been inactive for months
| 0 | Strong- Strong overall approval across concept and code
- Concept approval without detailed technical justification (fanquake)
- Approved after nits on subnet command and environment variables were addressed (maflcko)
| 0 + 37 tests- 0 lines added or modified outside tests
- 37 lines added or modified in tests
- 8 lines removed in total
- 3 files, 2 commits
|
(+)#33959 yuvicc test: deduplicate reorg test code- Deduplicate reorg test helpers across functional tests into a shared utility
- Exercise realistic competing-chain reorg code paths instead of artificial block invalidations
| P3 · cleanup- P3 because it consolidates test utilities and cleans up reorg mechanics without fixing active bugs
- Makes reorg testing more realistic across several functional test suites
| Ready- Ready to review
- Previous reviewer feedback has been addressed and CI is passing cleanly
| 0- No review verdicts recorded
| Neutral- Advised dropping the separate generator abstraction to keep only the helper (instagibbs)
- Author simplified the PR accordingly and is awaiting re-review (instagibbs)
| +104/-90 |
(+)#36109 l0rinc test: harden arbitrary-parent block creation- Ensure test utilities safely construct valid blocks when building on arbitrary parent blocks
- Prevent future fork tests from silently generating invalid blocks at low heights or across halvings
| P3 · cleanup- P3 because it is internal hardening for test utilities rather than a fix for broken tests
- Benefit is preventative leverage for developers writing new fork-block test scenarios
- Existing test callers already worked around these edge cases locally
| Waiting on author- Reviewable now to weigh in on open design questions while waiting on an author reply
| 0 | Positive- Overall positive sentiment with testing and improvement suggestions
- Concept approval after testing each commit locally against master (jeanpablojp)
- Suggested disabling mempool on template calls to avoid dropping transaction fees (jeanpablojp)
- Provided test fixtures to cover target recalculation and coinbase padding (jeanpablojp)
| 0 + 32 tests- 0 lines added or modified outside tests
- 32 lines added or modified in tests
- 15 lines removed in total
- 3 files, 4 commits
|
(+)#36024 hebasto ci: Make `test_bitcoin-qt.exe` output visible- Make Qt unit test output and failure messages visible in Windows CI runs
- Helps developers diagnose GUI test failures that are currently suppressed by the runner
| P3 · test coverage- P3 because it makes unit test execution and error reporting observable in CI
- Impact is limited to test observability on Windows runners without adding new coverage
| Ready- Ready for review
- Small patch with passing CI
| 0- No review verdicts recorded
| Crickets- No reviews or feedback yet
| 2- 2 lines added or modified outside tests
- 0 lines added or modified in tests
- 0 lines removed in total
- 2 files, 1 commits
|
(+)#36087 maflcko util: Add and use AssertUnreachable- Provide a dedicated unreachable assertion to resolve assertion ambiguity and silence compiler warnings
- Prevent undefined behavior across the codebase from future std::unreachable usage
| P4 · test coverage- P4 because the added linters only enforce the new macro and block std::unreachable
- Minor internal test checks with no broader testing leverage
| Needs rebase- Needs rebase and CI is failing
- Author is reworking to fix consensus library decoupling before taking out of draft
| 0- No review verdicts recorded
| Mild- No reviewers have formally approved the concept yet
- Unaddressed objection: breaks standalone consensus library build (jeanpablojp)
- Author agreed to fix the consensus library dependency before readying the PR (maflcko)
| 368 + 422 tests- 368 lines added or modified outside tests
- 422 lines added or modified in tests
- 546 lines removed in total
- 312 files, 7 commits
|
(+)#35686 Sjors lint: have git-subtree-check check for backportability- Check that subtree updates stack cleanly on previous subtree merges
- Let maintainers backport subtree fixes verbatim without redundant reviews
| P4 · cleanup- P4 because it is a narrow workflow enhancement for subtree updates
- Affects only maintainers updating external subtrees rather than general CI runs
- Ranking pass: Top of P4: the linter prevents a concrete recurring maintainer cost on subtree backports, unlike the purely cosmetic items below.
| Ready- Ready to review
- CI is passing and earlier review comments are addressed
| 2 | Strong- Strong support with earlier questions about backport necessity resolved
- Approved because documenting and enforcing this saves reviewer effort (ryanofsky)
- Verified by testing passing and failing test cases (BrandonOdiwuor)
| 9 + 66 tests- 9 lines added or modified outside tests
- 66 lines added or modified in tests
- 20 lines removed in total
- 4 files, 2 commits
|
(+)#35619 rkrux test: ExtendedPrivateKey follow-ups- Make functional tests more consistent and easier to maintain by unifying test setup patterns
- Replace manual key derivations in descriptor tests with a shared test helper
| P4 · cleanup- P4 because it is a routine cleanup that does not fix flaky tests or improve CI signal
- Standardizing boilerplate and reusing existing test helpers provides minor maintenance benefit
| Ready- Ready for review
- Small change with passing CI and addressed feedback
| 1 | Strong- Strong support with previous feedback addressed
- Supported standardizing the pattern for suppressing default wallet creation (maflcko)
- Approved after review comments were addressed (davidgumberg)
| 0 + 18 tests- 0 lines added or modified outside tests
- 18 lines added or modified in tests
- 24 lines removed in total
- 4 files, 2 commits
|
(+)#36185 fametrano test: add BIP32 vectors 3 and 4 to the extendedkey self-test- Verify BIP32 extended key derivation with leading zeros in functional test helpers
- Ensure test framework code handles derivation corner cases properly
| P4 · test coverage- P4 because it adds standard BIP32 test vectors to an internal test helper
- Adds marginal coverage for edge cases without fixing an active bug or enabling new work
| Ready- Ready for review
- Small self-contained test addition with passing checks
| 0- No review verdicts recorded
| Crickets- No reviews or comments yet
- Awaiting initial review
| 0 + 15 tests- 0 lines added or modified outside tests
- 15 lines added or modified in tests
- 0 lines removed in total
- 1 files, 1 commits
|
(+)#36224 nebula-21 test: Add test coverage for `PartiallySignedTransaction::Merge()`- Pins down edge-case PSBT merging behavior with unit tests to prevent silent regressions
| P4 · test coverage- P4 because adding coverage for PSBT merging logic does not touch consensus, mempool, or network relay
- Protects an isolated data structure against mutants without addressing high-risk failure modes
| Ready- Ready for review: the change is small, self-contained, and passes CI cleanly
| 0- No review verdicts recorded
| Crickets- No reviews or comments have been posted yet
- Author raised an open question on whether conflicting fallback locktimes should fail explicitly
| 0 + 86 tests- 0 lines added or modified outside tests
- 86 lines added or modified in tests
- 0 lines removed in total
- 1 files, 3 commits
|
(+)#35342 kevkevinpal test: fuzz wallet_rpc target- Fuzz wallet RPC commands with randomized arguments to catch crashes and assertions from malformed input
- Adds automated fuzz testing where wallet RPC methods currently have zero coverage on OSS-Fuzz
| P4 · test coverage- P4 after comparing with the other PRs here (assessed alone as P3): Lowered to P4: reviewers state fuzzing wallet RPCs without chain state or UTXOs has very low efficacy, so the coverage claim is weakly supported compared with the P3 fuzz harnesses here.
- P3 because fuzzing RPCs without simulated chain state or UTXOs yields limited meaningful coverage
- Adds automated fuzz coverage for wallet RPCs but provides marginal depth without context
| Author silent- Reviewing now is unlikely to be worthwhile while the author is silent following approach objections
| 0 -1 | Blocked- Approach NACK because stateless fuzzing without context yields minimal test value (brunoerg)
- Concerns that chaining RPCs harms performance and creates an intractable search space (maflcko, brunoerg)
- Author has been silent after asking about alternative approaches
| 0 + 530 tests- 0 lines added or modified outside tests
- 530 lines added or modified in tests
- 176 lines removed in total
- 6 files, 2 commits
|
(+)#36257 hodlinator qa: assert_equals -> assert_true/assert_false- Make boolean checks in functional tests clearer and more readable for developers
| P4 · cleanup- P4 because it is a cosmetic cleanup with no change to test coverage or behavior
- Provides only a minor readability gain when reading test assertions
- Does not fix flakes or improve test execution speed
| Ready- Ready to review; changes are clean and CI is passing
| 0- No review verdicts recorded
| Neutral- Neutral overall with no explicit approvals
- Resolved a correctness issue around strict boolean checking (l0rinc)
- Unconvinced the motivation warrants the change, but has no objection (maflcko)
| 0 + 637 tests- 0 lines added or modified outside tests
- 637 lines added or modified in tests
- 511 lines removed in total
- 93 files, 5 commits
|
(+)#35994 purpleKarrot Primitives: Combine assignments- Help developers replace procedural member mutation with declarative constructors across tests and tools
- Paves the way toward making core transaction primitives immutable
| P4 · cleanup- P4 because cleanup across test files is speculative and introduced bugs like dropped witness data
- Author prefers doing manual test rewrites rather than relying on this automated cleanup
| Needs rebase- Needs rebase, CI is failing, and author expressed preference to abandon rather than merge
| 0 | Mild- General support for declarative setup in principle, but implementation has bugs and unwanted annotations
- Concept approval without stated reasons, noting unclear naming (l0rinc)
- Concerned intrusive macro annotations pollute core headers (maflcko)
- Automated rewrite erroneously dropped witness data in test helpers (alexanderwiederin)
- Author leans toward manual rewrites instead of merging this PR (purpleKarrot)
| 22 + 372 tests- 22 lines added or modified outside tests
- 372 lines added or modified in tests
- 366 lines removed in total
- 42 files, 8 commits
|
(+)#35395 hebasto doc: Improve test suite dependencies documentation- Consolidate functional test dependency instructions into a central reference to fix discrepancies across OS docs
- Helps contributors set up test suite dependencies reliably across different platforms
| P4 · cleanup- P4 because it only updates test prerequisite documentation
- Does not modify test execution, harnesses, or test framework scripts
| Ready- Ready to review: merges cleanly, CI passes, and previous feedback has been addressed
| 0 (+1) | Mild- General support for unifying optional test dependency instructions
- Resolved objection about lost package names by adding a cross-platform package table (fanquake, maflcko)
- Concept approval without stated reasons (l0rinc)
| 10 + 30 tests- 10 lines added or modified outside tests
- 30 lines added or modified in tests
- 67 lines removed in total
- 7 files, 3 commits
|
(+)#35997 yancyribbens refactor: bench: make_hard_case to find a solution- Make the coin selection exhaustion benchmark use realistic target and UTXO amounts
- Ensure the benchmark verifies a valid solution is found when reaching the search limit
| P4 · cleanup- P4 because it only adjusts parameters and assertions in an isolated microbenchmark
- Does not fix test flakiness or improve shared test framework infrastructure
| Ready- Ready to review
- Small, self-contained change with passing CI
| 0 | Positive- Verified that benchmark reaches evaluation limits with proper assertions (Dontbyshai)
- Minor follow-up adjustment to parameter realism has no objections
| 0 + 11 tests- 0 lines added or modified outside tests
- 11 lines added or modified in tests
- 6 lines removed in total
- 1 files, 1 commits
|
(+)#36074 maflcko scripted-diff: [test] Add util/check.h includes for assertions- Clarify assertion header usage across test and fuzz harnesses to prevent ambiguity around disabled checks
- Make automated header analysis tooling easier to run across tests
| P4 · cleanup- P4 because this is a mechanical header cleanup across test files with no change to logic or coverage
- Benefits maintainers running automated header analysis tools like Include What You Use
| Needs rebase- Needs rebase across many conflicting PRs, and author noted merge friction may prevent landing
| 0- No review verdicts recorded
| Positive- General support for systematically cleaning up assertion headers in test files (l0rinc)
- Assisted with scripted-diff regex matching and test runner paths (jeanpablojp)
| 12 + 329 tests- 12 lines added or modified outside tests
- 329 lines added or modified in tests
- 225 lines removed in total
- 155 files, 3 commits
|
(+)#36184 fametrano test: fix TaprootSignatureMsg default codeseparator_pos- Stop a taproot test helper from raising an exception when callers omit optional arguments
- Prevents errors for developers writing new functional tests that rely on helper defaults
| P4 · bug fix- P4 because it fixes a broken default argument in a test helper that has no in-tree callers
- Only affects future test authors writing new script-path test cases
| Ready | 0- No review verdicts recorded
| Mild- Questioned whether enforcing explicit parameters with an exception or None is preferable (maflcko)
- Suggests using None or closing the PR (maflcko)
- Author has not yet responded to the latest objection
| 0 + 1 tests- 0 lines added or modified outside tests
- 1 lines added or modified in tests
- 1 lines removed in total
- 1 files, 1 commits
|
(+)#35442 rkrux test: remove usages of MAX_BIP125_RBF_SEQUENCE constant from functional tests- Align test framework helpers with current mempool policies as opt-in RBF signaling is phased out
- Cleans up outdated BIP 125 sequence constants across functional tests for test maintainers
| P4 · cleanup- P4 because this is a minor test cleanup removing an unused test framework constant
- Does not fix test flakiness or expand test coverage
- Ranking pass: Lowered: only two of thirteen commits belong to it, it depends on unmerged base PRs, and reviewers question whether it should exist separately.
| Needs rebase- Review #35405 and #35433 first
- Needs rebase due to merge conflicts and author has been inactive for over 90 days
| 0- No review verdicts recorded
| Crickets- No reviews or approvals yet
- Suggested folding this small test fixup directly into the parent pull request (maflcko)
| 73 + 327 tests- 73 lines added or modified outside tests
- 327 lines added or modified in tests
- 310 lines removed in total
- 18 files, 13 commits
|
(+)#32409 hebasto test: Introduce `SUPPRESS_ABORT_MESSAGE` environment variable- Prevent MSVC debug test runs from hanging on assertion popup dialogs in automated setups
- Helps developers and external automation running unattended Windows debug builds
| P4 · test coverage- P4 because the suppression variable is never enabled within the repository
- Offers no benefit to in-tree test runs unless external environments set the variable
- Ranking pass: Placed last: the variable is set nowhere in-tree, MSVC debug builds are not used in CI, and the change is NACKed as unused code.
| Author silent- Author has been silent for months with questions unanswered on whether the change is obsolete
| 0 -1 | Blocked- Objection because the environment variable is undocumented and unused in the repository (fanquake)
- Suggested suppressing aborts unconditionally rather than adding an unused variable (hodlinator, sedited)
- Questioned if runtime transitions already made this obsolete, with no author reply (fanquake)
| 0 + 17 tests- 0 lines added or modified outside tests
- 17 lines added or modified in tests
- 0 lines removed in total
- 1 files, 1 commits
|