Unattended runs use tools/run-tests.ps1. It sets TITANIUM_SKIP_ROOT_STORE_UI=1 and TITANIUM_NO_ELEVATE=1, blames hangs at 5 minutes, and with -Verify fails if a certificate dialog, a non-loopback listen, or a machine-state change shows up. A developer test host refuses a QUIC listen and marks that test inconclusive unless TITANIUM_ALLOW_WILDCARD_BIND_TESTS=1, because MsQuic reports a loopback listen as a wildcard UDP socket. Leave that opt-in unset on this PC. If a firewall dialog still appears, click Cancel. tools/test-hygiene/Remove-TwpCertificates.ps1 and Remove-TestFirewallRules.ps1 are dry-run unless -Apply is passed. Firewall removal needs an elevated window. Do not click Yes on a certificate install prompt on a developer PC.
CLI and CLI Plus command-tree / control-plane process E2E runs in CI on Windows, Linux, and macOS (cli-e2e job, TestCategory=E2E). You do not need CliQaProbe for day-to-day command coverage.
# Same filter as CI cli-e2e (after Release build of CLI + Plus)
dotnet build src/Titanium.Cli -c Release
dotnet build src/Titanium.Plus -c Release
dotnet test tests/Titanium.E2E.Tests -c Release --filter "TestCategory=E2E"
# Inspector / UI categories (PR CI ui-portable + Windows build E2E-UI)
dotnet test tests/Titanium.E2E.Tests -c Release --filter "TestCategory=E2E-UI|TestCategory=E2E-UI-Headless"
# Optional: maintainer probe (apphost checklist; overlaps CI E2E)
dotnet run --project tools/CliQaProbe -- all
dotnet run --project tools/CliQaProbe -- all --elevated
# Inspector System proxy / CA / browser / loopback UX (desktop dialogs; not CI)
dotnet run --project tools/InspectorDesktopProbe -- all| Probe | Purpose |
|---|---|
| CliQaProbe | Optional manual spawn of titanium apphost; CI cli-e2e is the source of truth |
| InspectorDesktopProbe | In-process Avalonia; full UI chrome + System proxy, root CA, browsers, Store loopback |
Results: tools/CliQaProbe/results/last-run.json, tools/InspectorDesktopProbe/results/last-run.json.
- CliQaProbe never mutates the default service name
titanium; elevated runs usetitanium-qa-probeand uninstall infinally. E2E service tests use uniquetitanium-e2e-*names. - Live production update.titaniumproxy.com and real Redis/Consul/K8s clusters are not required — E2E uses
TITANIUM_UPDATE_FEEDfakes and loopback stubs. http3-deps installis covered in E2E (Windows fail / already-supported / Unix package when Quic is false).