| Filename | Latest commit message | Latest commit date |
|---|---|---|
A cacheless write that re-enters its own store's hold now consults Cache first, so a journal's WriteDocument or WriteRecord gets the same refusal during an attach as after it (the attached text); the re-entry text no longer names an attach's pull. InStoreHold takes the store instead of its gate. CacheBackingStore.GateTakes (internal, thread-static) counts the gates Gate takes; OneStoreCallTakesAtMostThreeGatesUnderFailingAttachChurn asserts at most three per call under failing-attach churn, which pins the stale-guess loop (M4b). The contract and AddBackingStore say what holds: other threads may guess the tentative cache, but none runs a body against it. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> |
||
| .. | ||
| Fixtures | ||
| AssemblyInfo.cs | ||
| BackingStoreTests.cs | ||
| C2aGateWriter.cs | ||
| CachelessSingleFileTests.cs | ||
| CompatibleSchemaIdTests.cs | ||
| ConditionalCommitTests.cs | ||
| CultAssetGuidKeyTests.cs | ||
| CultCacheClockTests.cs | ||
| CultCacheJournalTests.cs | ||
| CultCacheObserverTests.cs | ||
| CultCacheProjectionTests.cs | ||
| CultDocumentRegistryTests.cs | ||
| CultDocumentSelectionSurfaceTests.cs | ||
| CultInspectorModelTests.cs | ||
| CultMathExprSerializationTests.cs | ||
| CultMathExprVariantTests.cs | ||
| CultMathJsonTests.cs | ||
| CultMathSerializationTests.cs | ||
| DirectoryStoreDurabilityTests.cs | ||
| DocumentShapeTests.cs | ||
| ElementIdEngineTests.cs | ||
| ElementIdTests.cs | ||
| EmittedDocumentTypes.cs | ||
| ForeignRecordTests.cs | ||
| GameCult.Caching.Tests.csproj | ||
| NumericLeafVectorTests.cs | ||
| PayloadDepthTests.cs | ||
| PreCut2FixtureDocuments.cs | ||
| PreCut2StoreFormatTests.cs | ||
| PythonWrittenStoreTests.cs | ||
| README.md | ||
| RefListDriftTests.cs | ||
| SerializationOptionsTests.cs | ||
| SlotNilVectorTests.cs | ||
| StoreReadabilityTests.cs | ||
| StoreRoutingTests.cs | ||
| StoreSlices.cs | ||
| UnionArmGuardTests.cs | ||
| UnionParityVectorTests.cs | ||
| VariantTests.cs | ||
| WriteSetTests.cs | ||
GameCult.Caching.Tests
GameCult.Caching.Tests contains NUnit tests for the caching library and its
MessagePack persistence stores.
Scope
The tests currently cover:
SingleFileMessagePackBackingStoreround-trips, external pulls, and the dirty-pull guardDirectoryMessagePackBackingStorewith thecultcache.store.v4.directory-content-addressed-pagesmanifest: page writes, clean flushes, concurrent writers under the commit lease, external deltas, unflushed local keys, orphaned pages, and observers running after the lease is releasedCultCacheMessagePack.OpenAsync, persisted globals, dirty state, and flush on dispose- cache lookups (
Get,GetAll, runtime-type upserts) CultCache.Commitbatches on a directory store: visibility after the store commits, abandoned stages, sealed batches, observers committing again- Cult document payloads, registry shape rejections, canonical schema fixtures, and schema drift reports
- hand-written MessagePack snapshot and record serialization
StoreRoutingTests: the store-composition contract (routing, attachment is hydration, read-only stores, global singletons, assignable lookups, batches, all-or-nothing loads)ConditionalCommitTests:Expect,ExpectUnchanged,TryCommit, the single-file lock, strictly increasingstoredAt, and the same conditions on a directory storeDirectoryStoreDurabilityTests: failed manifest replace, content-addressed pages, the commit lease, orphan pages and tampered pages, with faults from real file locksPreCut2StoreFormatTests: stores written before Cut 2 still open
Selective hydration, the directory store's stage probes, pre-v4 directory
formats, and the SoA table are no longer in the tree; the SoA table is parked
at parked/cultcache-soa (docs/parked-features.md).
Run
dotnet test tests\GameCult.Caching.Tests\GameCult.Caching.Tests.csproj