Improve Testing with BucketListDB
Currently, many of the TransactionFrame and LedgerTxn tests are not compatible with BucketListDB. These tests commit directly to the SQL database, circumventing much of the ledgerClose logic, meaning that entries are not committed to the BucketList. As we deprecate SQL and move towards BucketListDB support only, we should refactor these tests so that they're compatible.
Given that is kind of an involved task, should we scope this issue more? In the short-term, what we can do is:
- [x] fix end-to-end simulations tests, they def need BL DB support - target v22.0.0
- [ ] do an audit of the test suite, identify any other tests where coverage is missing (there are more, e.g. upgrades)
- [ ] leave tests that don’t need buckets but need in-memory ledger txn as-is, explicitly enable SQL on them such that in tests.cpp we can still enable BL DB.
do an audit of the test suite, identify any other tests where coverage is missing
Just FYI, I'm working on https://github.com/stellar/stellar-core/issues/4451, IDK if it falls into the 'test suite audit' bucket, but it seems like a necessary step for disable SQL support completely.
Remaining two items tracked here, https://github.com/stellar/stellar-core/issues/4433