Expand description
Conformance/interoperability test harness for the smb-server-rs server.
The test plan mirrors Microsoft’s WindowsProtocolTestSuites FileServer
family (MS-SMB2, MS-FSCC, MS-FSA, MS-DFSC, MS-SWN) at the category level.
Assertions live here in Rust; the actual SMB traffic is generated by a
small Python smbprotocol driver (test/driver/smb_driver.py) invoked per
call. This keeps the tests in idiomatic Rust while reusing a mature client.
Two entry points share one case registry:
cargo test -p smb-server-testsuite— interactive, via [tests/conformance.rs].smb-testrunnerbinary — automated, records results undertest/data/.
Modules§
- cases
- The conformance case registry.
- recorder
- Result persistence: one JSON file per run plus append-only CSVs, and a
rebuilt aggregate
results.jsonthat the static UI renders. Everything lives undertest/data/and is committed so history is versioned.
Structs§
- Case
Result - Recorded result for one case in one run.
- Ctx
- Context handed to every case: the endpoint plus a way to run SMB ops.
- Driver
- Locates the Python interpreter and driver script.
- Driver
Resp - Response from one driver invocation.
- Endpoint
- The SMB server under test.
- Opts
- Per-call connection options (dialect pin, signing, encryption).
- Test
Case - One conformance test case.
Enums§
- Status
- Outcome status for a single case.
Constants§
- DEFAULT_
PORT - Default SMB TCP port used when neither env nor CLI supplies one.
Functions§
- run_
case - Execute one case, timing it and converting panics into an
Errorstatus.
Type Aliases§
- Metrics
- Metrics a case may emit (e.g. throughput MB/s), keyed by name.