| name | wox-test-ensurance |
| description | Use when the user invokes Wox test assurance or asks to run Wox tests; direct invocation is explicit permission to execute the current core, Go UI unit, and native smoke suites and fix failures until they pass. |
Wox Test Ensurance
Overview
Drive Wox test assurance from the repository root until the core tests, headless Go UI tests, and native Go UI smoke tests pass. Treat failing output as evidence, fix the real cause first, and only change tests when the implementation is demonstrably correct and the test is stale, over-specified, or invalid.
Invocation Contract
If this skill is explicitly invoked, the user has already authorized the complete Wox test assurance workflow: make test, make test-go-ui-unit, and make smoke. Do not stop after summarizing a plan or ask for extra confirmation.
If the user asks for one exact command, such as make test, run only that requested command and fix its failures. Do not silently expand an exact command request into native UI smoke testing.
Use the active Wox checkout containing the root Makefile and wox.core directory. Do not assume a fixed drive or checkout path.
Preflight
Before running the suite, ensure no local Wox instance or VS Code-launched Wox debug process from the active checkout is still running. Force-stop matching processes; stale processes can hold ports or keep old state alive, and native smoke tests must own the Wox process they exercise.
Use a Windows PowerShell check like this from the repository root:
$repo = (Resolve-Path ".").Path
$woxProcesses = Get-CimInstance Win32_Process | Where-Object {
$name = $_.Name
$cmd = $_.CommandLine
$exe = $_.ExecutablePath
$isWoxBinary = $name -in @("Wox.exe", "wox.exe", "wox.core.exe", "__debug_bin.exe")
$isWoxDebug = $name -in @("dlv.exe", "__debug_bin.exe") -and $cmd -like "*$repo*"
$isRepoRuntime = ($exe -like "$repo*") -and ($name -like "*wox*")
$isWoxBinary -or $isWoxDebug -or $isRepoRuntime
}
$woxProcesses | ForEach-Object { Stop-Process -Id $_.ProcessId -Force }