#36378 test: Add SKIP_WRITE edge case to wallet_startup

ReviewabilityReviewsAgreementSize
#36378 aaron-leeb test: Add SKIP_WRITE edge case to wallet_startupReady1Strong0 + 5 tests
  • Verify that reloading an already-listed startup wallet skips dynamic settings writes without warnings
  • Close a test coverage gap for startup settings edge cases
  • Ready to review
  • Verified by testing locally that the test passes as expected under -nosettings (mercie-ux)
  • 0 lines added or modified outside tests
  • 5 lines added or modified in tests
  • 0 lines removed in total
  • 1 files, 1 commits
Wallet#89 of 92
P4 · test coverage
  • P4 because it only adds functional test coverage for a narrow edge case
  • It provides no direct bug fixes or functional node improvements
Reviewability: ReadyStalePaused
Agreement: StrongPositivePositive w/ caveatsNeutralMildDisputedBlockedCrickets
Reviews: current code-review ACKs, then (+stale ACKs) and -NACKs; greener = more ACKs.
Size: lines added or modified outside tests, then in tests; greener = smaller.

Goal

Adds a test case to wallet_startup.py verifying that reloading a wallet with load_on_startup=True when it is already present in the startup list skips writing dynamic settings. Under -nosettings, this ensures the call succeeds without emitting a warning. The test exercises the short-circuit logic introduced in PR #36176.

Problem: Functional test coverage lacked verification for an edge case introduced in PR #36176, where re-adding a wallet already in the startup list should evaluate to SKIP_WRITE before checking whether dynamic settings write paths are enabled.

Evidence of importance:

  • PR description notes the edge case was suggested by reviewer jeanpablojp in PR #36176 review comments (https://github.com/bitcoin/bitcoin/pull/36176#discussion_r3944837660)

Scope: A small test-only addition of 5 lines in test/functional/wallet_startup.py.

Risk of a mistake: low (tests). A flaw in this change would only cause false test failures in wallet_startup.py and cannot affect node behavior.

Changed since the previous assessment: None; the previous description was generated without a diff, and the diff matches the earlier summary.

Reviewability

Ready

Nothing known that would invalidate a review now.

Waiting on (from the thread read):

  • nothing

Agreement

Strong

substantive support, no open objection (mercie-ux)

Thread notes: Initial record. mercie-ux tested locally and ACKed the change. / Initial record. mercie-ux provided a tested ACK with no objections or suggestions raised.

Objections, suggestions, and questions: none recorded.

Support:

  • mercie-ux (contributor) (ACK, 2026-10-01) [tested]: Ran this locally, the test passes and behaves as expected under `-nosettings`.

Participants:

  • mercie-ux (contributor, support, 1 statements 2026-10-01 to 2026-10-01): ACKed after testing locally

Files

5 lines under test/bench/ci.

  • test/functional/wallet_startup.py +5/-0

Card

The short text the ranking pass compares across PRs.

Adds a test case to wallet_startup.py checking that reloading an already-registered wallet with load_on_startup=True skips writing settings and emits no warnings under -nosettings. This improves test coverage for the dynamic settings short-circuit logic merged in PR #36176. The edge case was suggested during the review of PR #36176.

Data

dossier JSON · extract JSON · model ledger, generated 2026-10-02T01:26, confidence high, input hash c675cfa34d68f500
thread read through 2026-10-01 (1 statements), head 774dd9b034
labels: Tests

Categories

Wallet

P4 · test coverage

Adds a 5-line test verifying an edge case where reloading a wallet already on the startup list skips writing dynamic settings under `-nosettings`. While a clean follow-up to PR #36176, it addresses a narrow edge case in test coverage with no direct functional or bug fix impact.

Membership: Changes `test/functional/wallet_startup.py` to test wallet startup settings behavior.

Factors: security/stability 0, bug 0, performance 0, user value 0, leverage 0