Files
alkblobs/tests/conformance/main.rs
T
glm-5.3-flash 3f8e8158a7 feat(tests): the conformance suite's sqlite column — the durable-schedule SQL-backed column green (wave 3)
- The first SQL-backed column: the default-build production shape
  (kv = sqlite + large = local, feature sqlite default-on) runs the
  form-independent reference rows verbatim (INV-1, INV-6, the
  NoLivenessSources/ProtectFailed abort shapes, the kv-only rejection
  row against kv-only(sqlite)) and grows the durable-schedule sweep
  rows — exact counts asserted relative to the staged schedule
  (ADR-012 §6.7): two-sweep counts over the full protection set, the
  race across the window delay (a re-put landing during the window
  survives the executing sweep), the holder-stages-only lease shape,
  INV-5 through durable-schedule outcomes, and the schedule-relative
  INV-2/INV-3 readings
- Dispatch rows mirror the local column's family with the placement
  oracle adapted by medium: the sqlite file's pool/window rows vs the
  root's committed files; virgin-store reads as no-ops on a fresh file
  (the no-tables-yet tolerance engine-instrumented, this row its
  facade form)
- Factories: dual-tier sqlite+local and kv-only(sqlite), instance-
  tracked temp sites (fresh sqlite file + private root per open;
  idempotent panicking-row-safe teardown), the column-tuned threshold
  and the test window-delay tuning (Duration::ZERO — execute-on-next-
  sweep); the module is cfg(feature = "sqlite"), default-on — the
  column runs in every default cargo test, server-less, never skips
- Shared fixtures moved to rows.rs (committed_file_count,
  staging_file_count, slice_digest, LatchProtect pub(crate)) so the
  columns share them without the mem gate
- README: the schedule-relative reading for SQL-backed columns
  recorded (citing ADR-012 §6.7), the sqlite rows table inventory,
  Current state (three columns)

Verification: cargo test (default) green — 69 lib + 19 conformance +
3 git-interop; cargo test --features mem green (124 lib + 54
conformance); cargo check --all-features --tests green; cargo clippy
--all-targets -- -D warnings green; cargo fmt --check green.
2026-10-12 05:14:58 +00:00

62 lines
2.5 KiB
Rust

//! `main.rs` — the conformance test target's root.
//!
//! The suite is in-crate by decided point (docs/plans/implementation.md):
//! engines are features of one crate, so the harness is factory-
//! parameterized over engine constructors rather than a sibling suite
//! crate. This target carries the skeleton (factory trait shape, the
//! stamp convention, the invariant backlog registry — see
//! [`README`](./README.md)) plus the **wave-2 factory binding**: the
//! `Store` facade type landed as the concrete `alkblobs::Store`
//! (engine-blind; src/store.rs holds the engine-representation design
//! point), and the skeleton's `Store` associated type collapsed into
//! it — `open` vends the concrete facade type directly, recorded in
//! `factory.rs` and the README. The wave-1 mock probe retired with it;
//! the binding demonstrator ([`binding`], mem-gated — mem is the
//! skip-free reference shape) proves the contract implementable
//! against the real type.
//!
//! The reference rows landed with wave 2's mem column: [`rows`] holds
//! the reference row set (INV-1…6 plus the two constructor-mode rows,
//! ADR-stamped, traced to [`backlog`]); the columns' records live in
//! their module docs ([`README`](./README.md) §The reference row set
//! is the recorded inventory other columns mirror).
//!
//! The columns: [`mem_column`] — the contract-reference column;
//! [`local_column`] — the suite's first dual-tier column (the
//! `kv = mem` + `large = local` dispatch-coverage shape ADR-012 §6.3
//! names), which mirrors the reference set and grows the
//! dispatch-coverage and local-specific rows; [`sqlite_column`] — the
//! suite's first SQL-backed column (the default-build production
//! shape, `kv = sqlite` + `large = local`), which mirrors the
//! form-independent reference rows and grows the durable-schedule
//! sweep rows (README §The schedule-relative reading for SQL-backed
//! columns).
//!
//! Items beyond the tests below are the later columns' surface, hence
//! the scoped `#![allow(dead_code)]` — it shrinks as columns land.
#![allow(dead_code)]
mod backlog;
#[cfg(feature = "mem")]
mod binding;
mod factory;
#[cfg(feature = "mem")]
mod local_column;
#[cfg(feature = "mem")]
mod mem_column;
mod rows;
#[cfg(feature = "sqlite")]
mod sqlite_column;
mod stamp;
#[test]
fn stamp_marker_matches_convention() {
assert_eq!(stamp::STAMP_MARKER, "Contract stamp:");
}
#[test]
fn backlog_registers_the_seven_invariants() {
backlog::assert_traceable();
}