Skip to content

Latest commit

 

History

History

README.md

XISOSharpTester

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.

Features

  • 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): TreeView with 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 (.iso or .cso images)
  • Side-by-side comparison with the original extract-xiso tool (bundled extract-xiso.exe on Windows; extensionless extract-xiso also accepted)

Building

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.

License

MIT