Scenarios
Generated Markdown for references/concept_scenarios.md.
Open book page Back to the skill graph
# Scenarios
_Scripted, multi-stage tests over a declared vmlab lab — for convergence the three-run protocol can't express._
Some convergence can't be expressed by the [three-run protocol](../references/concept_three_run_protocol.md):
a Windows DC promotion needs **apply → reboot → apply again**, and a member server
needs a **reachable DC** (a second networked VM). For these, a package declares a
`scenario` — a **declared vmlab lab** plus a wscript **driver script** that brings
the lab's VMs up by name, applies config-weave, reboots, and asserts.
```wcl
scenario "ad_matrix" {
description = "Forest, additional DC and a member join over real reboots"
lab = "tests/ad-lab" // dir holding a vmlab.wcl (vmlab only)
script = "tests/ad_matrix.wscript"
}
```
The driver exports `fn run(lab: Lab) -> bool` (or `Result[bool, string]`) and runs **host-side** against the live lab, using the [testlab host module](../references/entity_testlab_module.md). Scenarios run **sequentially** after the parallel test groups. **Windows guests must be Server 2019 / Windows 10 or newer.**
## Related
- [Testlab](../references/concept_testlab.md)
- [Three-run protocol](../references/concept_three_run_protocol.md)
- [vmlab backend](../references/entity_vmlab_backend.md)
- [testlab](../references/entity_testlab_module.md)
[← Back to SKILL.md](../SKILL.md)