Skip to content

Feature verification

Beyond the automated suite, the repo ships a set of short, self-contained manual verification procedures (FEATURE-TESTS.md) — each states its expectation and runs in well under a minute. They’re grouped by area; this page summarizes how to drive the common ones.

  • Determinism — generate twice with the same --seed into different directories and diff -r them; expect no differences. See Determinism & seeds.
  • Distribution — generate with a known --distribution and confirm the size_bucket column counts in the manifest match the weights.
  • Greeting & prompt — connect and confirm the <hostname> line 0 is now available greeting and the > prompt.
  • Prefix matchingsh ver resolves to show version; en returns % Ambiguous command; end exits. See the Cisco IOS driver.
  • Enable modeenable + correct password moves the prompt to #; a wrong password prints % Access denied.
  • TL1 login gate — against a Ciena device, a RTRV-* before ACT-USER returns DENY; after a valid ACT-USER it returns COMPLD. See the Ciena TL1 driver.
  • Endpointcurl /metrics shows the full rcfgsim_* series at zero on a fresh start.
  • Counters move — run a few sessions and confirm rcfgsim_sessions_total and rcfgsim_bytes_sent_total increase.
  • Cardinality — type garbage commands and confirm they all roll up under CmdUnknown rather than creating new label values. See Metrics overview.
  • Each type fires — enable one fault at --fault-rate 1.0 and confirm the matching rcfgsim_faults_injected_total{type=...} increments and the behaviour matches the fault-types reference.
  • Zero-rate guard — with --fault-rate 0.0, no faults fire regardless of --fault-types.

Start a long show running-config against a large device, then systemctl restart (or send SIGTERM); the in-flight session should complete within the drain window before the instance restarts. See graceful drain.

Terminal window
make test # unit, incl. determinism + cardinality
make integration # real SSH over loopback
make bench # hot-path benchmarks