Skip to content

Cleanup: remove SQLiteStorage(:memory:) from conformance tests, use InMemoryStorage instead #84

Description

@totalslacker

Background

SQLiteStorage(path: ":memory:") is currently tested in SQLiteStorageConformanceTests.inMemoryConformance(). With the writer+reader connection split introduced in issue #82, in-memory paths use a single-actor fallback (WAL concurrency doesn't apply to :memory: databases). The in-memory conformance test still passes but is exercising a code path that will never benefit from the split.

InMemoryStorage already exists at Sources/SwitchcraftCore/Storage/InMemoryStorage.swift and covers the same contract conformance. It is the canonical ephemeral backend.

What to do

  • Remove the inMemoryConformance() test from SQLiteStorageConformanceTests (or repoint it to InMemoryStorage).
  • Treat file-backed paths as the only supported mode for SQLiteStorage.
  • Document (or enforce via assertion) that SQLiteStorage(path: ":memory:") is unsupported / deprecated.

Why this is deferred from issue #82

This is a test-cleanup change that can land independently. Mixing it into the structural concurrency fix in #82 inflates the blast radius of that PR unnecessarily.

Priority

Low. Not blocking any other work.

Metadata

Metadata

Assignees

No one assigned

    Labels

    fabrik:yoloAuto-advance all stages and auto-merge the PR at Validate

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions