XFE Git
XFE Studio Git
Git 首页 全局搜索
XFE 主站 文档 NuGet

XFEToolBox

【WPF】XFE工具箱

公开
关注 0 Fork 0 Star 0
README.md

NetworkDoctor validation

Windows / .NET 10 WPF regression harness. Links actual tool sources from %LOCALAPPDATA%\XFEToolBox\CrossVersion\EditorWorkspaces\NetworkDoctor; override ToolWorkspace via MSBuild if needed. Uses the real host theme, package validator, and compiler.

dotnet run --project tests/NetworkDoctor.Validation/NetworkDoctor.Validation.csproj -- --live
dotnet run --project tests/NetworkDoctor.Validation/NetworkDoctor.Validation.csproj -- --check-package --register
  • Normal run: classification/repair guard tests, simulated mutation runner, loopback DNS (UDP and truncated-response TCP fallback), HTTP and TCP fixtures, real read-only child processes, output encoding/size/cancellation/timeout tests, PowerShell AST parsing of production scripts (no repair execution), WPF binding and responsive layout screenshots, host compilation.
  • --live: runs the production ViewModel scan on the current machine, checks UI dispatcher responsiveness, streamed results and opt-in repair choices. A guard rejects any command marked Mutates. No actual network configuration is modified.
  • --check-package: validates and extracts Packages/xfestudio.network-doctor-1.0.0.xfetool, byte-compares every file with the workspace, compiles the extracted package using the production host.
  • --register: adds the engineering directory to the tool editor's recent project list.

Artifacts are under bin/Debug/net10.0-windows10.0.17763.0/test-artifacts: results.json, three WPF screenshots, simulated repair journals, and optionally live-report.txt (contains private network configuration; do not commit).

Tests create child PowerShell processes that only print text, exit, parse strings, or sleep. Timeout/cancellation stops only those children. Repairs use a fake executor; no flush, renew, adapter restart, registry change or Winsock/WinHTTP reset is executed. WPF windows used for off-screen rendering do not appear in the taskbar.

Live administrator/UAC interactions and real disruptive repairs on a disposable network are not automated by this harness. Command success is not asserted as proof of restored connectivity.