A WPF desktop application for regression testing the XISOSharp C# implementation against the original C extract-xiso tool. Runs batch comparisons across multiple XISO images and reports pass/fail status with SHA-256 hash verification.
- Batch test multiple XISO files at once
- Verify — compares XISO header verification between C# and the C tool
- List — compares file listing output
- Extract — extracts files with both tools and compares SHA-256 hashes of every file
- Rewrite — rewrites with both tools and compares output ISO hashes
- Audit — deep integrity verification (header, tree, sector bounds, cycle detection)
- Round-trip — creates XISO from extracted files and verifies the output
- PDF export — exports detailed test results to PDF via QuestPDF
- Explore — browse an image's contents in-process (no extraction):
TreeViewwith lazy directory loading, volume summary, per-node details, per-node Copy out (files and directories), SHA-256 display, and an XEX2 info panel for executables (.isoor.csoimages) - Side-by-side comparison with the original
extract-xisotool (bundledextract-xiso.exeon Windows; extensionlessextract-xisoalso accepted)
Open CSharp_XISOSharp.sln in Visual Studio, or run:
dotnet build
The tester resolves extract-xiso via the shared XISOSharp.ToolLocator chain (explicit path, then a sibling of the app executable of either spelling, then PATH) with a -v probe over the single shared XISOSharp.ProcessRunner (async drains, timeout, tree-kill) — the same pair that backs the GUI (XISOSharp) and the battle harness, replacing per-app runners. A bundled Windows extract-xiso.exe is copied to the output when present, but absence falls back gracefully through the same chain. If no tool is found, comparison tests against the native tool are skipped and only standalone C# library tests run.
MIT