Documentation
¶
Overview ¶
Package fsconformance provides a shared conformance test suite for the tool.Workspace interface. Adapters (osfs, memfs, ...) call Run with a factory that constructs a fresh workspace, and the suite exercises only the tool.Workspace interface.
Importing "testing" in a non-_test.go file is intentional here: this is a test-helper package whose sole purpose is to be imported by adapter tests, the conventional Go pattern for shared conformance suites (cf. testing/fstest).
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Run ¶
Run executes the shared Workspace conformance table against the workspace produced by newWS. newWS must return a fresh, isolated workspace each call.
func RunNamespace ¶ added in v0.15.0
RunNamespace executes the shared tool.WorkspaceNamespace conformance table against the workspace produced by newWS. newWS must return a fresh, isolated workspace each call, and the workspace it returns must implement tool.WorkspaceNamespace (memfs, osfs, redisstore — the POSIX-like namespace adapters); a workspace that does not (ACP, no-fs) pins its own contract directly rather than through this shared suite. Namespace operations are deliberately NOT part of RunNamespace's setup path (setFile stays content-only via CreateFile/ReplaceFile); every case here exercises ReadDir/Remove/Rename/ CopyFile end to end so adapters cannot silently diverge on error-wrapping or on the "directories are derived from file paths" contract.
Types ¶
This section is empty.