Skip to main content

Crate smb_server_testsuite

Crate smb_server_testsuite 

Source
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-testrunner binary — automated, records results under test/data/.

Modules§

cases
The conformance case registry.
recorder
Result persistence: one JSON file per run plus append-only CSVs, and a rebuilt aggregate results.json that the static UI renders. Everything lives under test/data/ and is committed so history is versioned.

Structs§

CaseResult
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.
DriverResp
Response from one driver invocation.
Endpoint
The SMB server under test.
Opts
Per-call connection options (dialect pin, signing, encryption).
TestCase
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 Error status.

Type Aliases§

Metrics
Metrics a case may emit (e.g. throughput MB/s), keyed by name.