Skip to main content

conformance

Function conformance 

Source
pub async fn conformance<S, F, Fut>(make_store: F)
where S: EffectStore, F: Fn() -> Fut, Fut: Future<Output = S>,
Expand description

Runs the store conformance suite against stores built by make_store.

Every case gets a fresh store. A failing case panics. Some cases spawn tasks, so call this from inside a Tokio runtime, ideally a multi-threaded one so races are real.

ⓘ
#[tokio::test(flavor = "multi_thread")]
async fn conformance() {
    agent_effects_store::testkit::conformance(|| async { MyStore::open_temp().await }).await;
}