Skip to content

Avoid Postgres test fixture deadlocks#1011

Open
SatsAndSports wants to merge 2 commits into
cashubtc:mainfrom
SatsAndSports:postgres.test.fixture.deadlocks
Open

Avoid Postgres test fixture deadlocks#1011
SatsAndSports wants to merge 2 commits into
cashubtc:mainfrom
SatsAndSports:postgres.test.fixture.deadlocks

Conversation

@SatsAndSports

@SatsAndSports SatsAndSports commented May 19, 2026

Copy link
Copy Markdown

While working on #1008 , I found that some existing tests would hang locally.

This is a test-only change.

This PR avoids deadlocks in the function-scoped ledger test fixture when running the suite against Postgres. The fixture previously called ledger.startup_ledger(), which starts background tasks such as the regular maintenance loop and invoice listeners. In Postgres-backed test runs, those long-lived tasks could keep transactions open while the next test tried to reset the database with DROP SCHEMA public CASCADE, causing the suite to hang. With this PR, instead only the minimum needed functionality - no background task loops - will be started.

===

With postgres running, I run this MINT_BACKEND_BOLT11_SAT=FakeWallet WALLET_NAME=test_wallet MINT_HOST=localhost MINT_PORT=3337 MINT_TEST_DATABASE=postgres://cashu:cashu@localhost:5432/cashu DEBUG_MINT_ONLY_DEPRECATED=false TOR=false poetry run pytest tests/mint/test_mint.py -vv -s

Without this fix, it always hangs - usually on tests/mint/test_mint.py::test_keysets. With this fix, it never hangs

@SatsAndSports

Copy link
Copy Markdown
Author

A small fix that helps me running tests on my laptop, might be relevant in CI too

( @a1denvalu3 )

@codecov

codecov Bot commented May 20, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 73.78%. Comparing base (8418533) to head (0457681).
⚠️ Report is 3 commits behind head on main.
✅ All tests successful. No failed tests found.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1011      +/-   ##
==========================================
- Coverage   74.99%   73.78%   -1.21%     
==========================================
  Files         111      111              
  Lines       12065    12069       +4     
==========================================
- Hits         9048     8905     -143     
- Misses       3017     3164     +147     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Backlog

Development

Successfully merging this pull request may close these issues.

2 participants