Keep each test database when the pool replaces its connection (closes #209) #210

Merged
clawbot merged 1 commits from issue-209-test-databases into next 2026-10-27 12:26:49 +01:00
1 Commits
Author SHA1 Message Date
clawbot 773759739d Keep each test database when the pool replaces its connection (closes #209)
check / check (push) Waiting to run
SQLite deletes a shared in-memory database when its last connection
closes. A query cancelled while it runs makes the pool close its
connection, so a test could lose all its tables and rows at random.

The new package internal/dbtest has NewURL. It returns the URL of a
new in-memory database with a random name and holds one connection to
it open until the test ends. The db, handlers, ircserver, server and
service tests take their database URL from it. The test-support lint
rule keeps the package out of the server binary.

A new test cancels a query on such a database, checks with a TEMP
table that the connection was replaced, and checks that a row is
still there.

Model: opus-5-5
2026-10-27 11:12:25 +00:00