- rows.rs: the reference row set (INV-1…6 + two constructor-mode rows), factory-generic and engine-uniform, every row ADR-stamped and traced to the backlog: round-trips over the content matrix on both put paths, dedup (same/cross-path), stage hygiene (both paths, both injectable failure modes, kv-degenerate residue via sweep outcomes), sweep safety (full-protection-set happy shape, all three GcAbortCause abort shapes incl. the single-flight SweeperLock lease, the sweep-vs-pinned-put race), list correctness through exact sweep outcomes only, stat discipline, mem-only posture, and kv-only put-time rejection (threshold discovered by free probes; immediate/ mid-stream rejections and at-threshold-lands legs) - mem_column.rs: the column's factories — mem-only (reference host) and kv-only(mem) at a declared threshold — fresh isolated opens, no-op idempotent teardown; structural factory-contract tests cover isolation and teardown against a panicking row - README: the reference row set recorded (INV-7's basis — what other columns mirror), the row-lifecycle convention, column plan and current state updated - task suite-column-mem: status completed, notes and summary filled Verification: cargo test --features mem (97 lib + 18 conformance + 4 git-interop), cargo test (default), cargo test --all-features, clippy --all-features --all-targets -D warnings, fmt --check, and cargo doc --no-deps — all green
47 lines
1.8 KiB
Rust
47 lines
1.8 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 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`]) and [`mem_column`] is the
|
|
//! contract-reference column ([`README`](./README.md) §The reference
|
|
//! row set is the recorded inventory other columns mirror).
|
|
//!
|
|
//! 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 mem_column;
|
|
mod rows;
|
|
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();
|
|
}
|