In my application and its test suite I also run an external process to process some data in the database. When using the SQLite database engine I can't use the in-memory database that is: it's only visible inside the python process running the test...
For other database engines, one can use the TEST_DATABASE_NAME to choose the database to use for the tests, but no such override capability is possible with SQLite.
This patch corrects this "unfair" inbalance:
1. When no TEST_DATABASE_NAME is specified in the settings file, it defaults to ":memory:", ie current behavior
2. If a TEST_DATABASE_NAME setting is present and it's different from ":memory:" we try to delete the database file before running the tests. Similar as the other database engines, the user is prompted for confirmation.
3. When the tests have finished, the test database file is deleted.
Since this change is backwards-incompatible, a design decision is required on this ticket.