test: add coverage for feebumper uncomputable cluster error path #35472

pull 151henry151 wants to merge 1 commits into bitcoin:master from 151henry151:test/feebumper-huge-cluster-coverage changing 1 files +126 −0
  1. 151henry151 commented at 5:23 AM on June 6, 2026: contributor

    Add functional test coverage for the error path in CheckFeeRate() when calculateCombinedBumpFee() returns nullopt because unconfirmed inputs span more than 500 mempool transactions (CTxMemPool::GatherClusters DoS limit).

    The crash on this path was fixed in #34870; this PR adds the missing test requested in #34902.

    The test builds eight independent 64-transaction clusters (512 total, above the 500 limit), keeps a wallet-owned RBF transaction that spends one output from each cluster out of the mempool, and asserts that bumpfee with an explicit fee_rate returns the expected wallet error instead of proceeding with an empty optional.

    Closes #34902.

    Testing

    • ./build/test/functional/wallet_bumpfee.py
    • Temporarily removed the early return in CheckFeeRate() and confirmed the test fails with bad optional_access instead of the expected error message
  2. DrahtBot added the label Tests on Jun 6, 2026
  3. DrahtBot commented at 5:23 AM on June 6, 2026: contributor

    <!--e57a25ab6845829454e8d69fc972939a-->

    The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.

    <!--006a51241073e994b41acfe9ec718e94-->

    Code Coverage & Benchmarks

    For details see: https://corecheck.dev/bitcoin/bitcoin/pulls/35472.

    <!--021abf342d371248e50ceaed478a90ca-->

    Reviews

    See the guideline for information on the review process. A summary of reviews will appear here.

    <!--174a7506f384e20aa4161008e828411d-->

    Conflicts

    Reviewers, this pull request conflicts with the following ones:

    • #35442 (test: remove usages of MAX_BIP125_RBF_SEQUENCE constant from functional tests by rkrux)
    • #35433 (wallet: deprecate replaceable argument from transaction (and psbt) creation (and modification) RPCs by rkrux)

    If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first.

    <!--5faf32d7da4f0f540f40219e4f7537a3-->

  4. 151henry151 commented at 5:24 AM on June 6, 2026: contributor

    @furszy Would you mind taking a look when you have a chance? This adds the functional test coverage for the error path you fixed in #34870.

    CheckFeeRate() only runs when the caller passes an explicit fee_rate; default bumpfee uses fee estimation and does not hit this branch, which is why the test passes {"fee_rate": NORMAL}.

  5. DrahtBot added the label CI failed on Jun 6, 2026
  6. DrahtBot commented at 5:39 AM on June 6, 2026: contributor

    <!--85328a0da195eb286784d51f73fa0af9-->

    🚧 At least one of the CI tasks failed. <sub>Task lint: https://github.com/bitcoin/bitcoin/actions/runs/27053679324/job/79853785327</sub> <sub>LLM reason (✨ experimental): CI failed because Python linting (py_lint/ruff) reported an error: comment contains an ambiguous × character (RUF003) in test/functional/wallet_bumpfee.py.</sub>

    <details><summary>Hints</summary>

    Try to run the tests locally, according to the documentation. However, a CI failure may still happen due to a number of reasons, for example:

    • Possibly due to a silent merge conflict (the changes in this pull request being incompatible with the current code in the target branch). If so, make sure to rebase on the latest commit of the target branch.

    • A sanitizer issue, which can only be found by compiling with the sanitizer and running the affected test.

    • An intermittent issue.

    Leave a comment here, if you need help tracking down a confusing failure.

    </details>

  7. test: add coverage for feebumper uncomputable cluster error path 22fabac8e1
  8. 151henry151 force-pushed on Jun 6, 2026
  9. DrahtBot removed the label CI failed on Jun 6, 2026

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-06-11 10:51 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me