ModernUO/Projects
Kamron Batman 8613f7d480 test(uocontent): skip tile-data-dependent tests when client files absent
Now that CI actually runs the test projects (previous commits), it exposed
that the UOContent.Tests bootstrap force-loaded UO client tile data
(tiledata.mul) unconditionally in the collection-fixture constructor. On
CI the copyrighted client files are absent, so TileData.Load() threw and
xUnit failed every test in the collection with the same
FileNotFoundException - 337 failures, most of them collateral (packet,
scheduler, spawner tests that don't need tile data at all).

Mirror the graceful pattern Server.Tests already uses:

- TestServerInitializer now probes for tiledata.mul (Core.FindDataFile +
  File.Exists) and only force-loads tile data / runs the tile-dependent
  configure steps (MultiData.Configure, VerifyTrammelTileDataLoaded) when
  present. It exposes TileDataLoaded so the fixture constructor no longer
  throws when the files are missing.
- Add a shared TileDataRequirement.SkipIfMissing() guard and apply it to
  exactly the 31 pathfinding/multi/AI tests that genuinely require real
  tile/multi data, converting them to [SkippableFact]/[SkippableTheory].

Result: with client data absent (CI) the suite is 0 failed / 32 skipped /
469 passed; with data present (dev) it is 0 failed / 0 skipped / 501
passed. The 306 collateral failures are gone because the fixture no longer
throws.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-02 22:32:25 -07:00
..
Application feat(build-tool): add application icon and refresh MUO.ico (#2487) 2026-06-14 11:59:54 -07:00
BuildTool fix: Bumps dependencies. Adds Server 2012/2016 support. (#2509) 2026-07-02 19:29:34 -07:00
Logger fix: Fixes publishing with build tool (#2398) 2026-04-04 00:35:39 -07:00
Server feat(opl): OplTextBlock multi-line tooltip builder + AddChunked (#2507) 2026-07-02 19:41:36 -07:00
Server.Tests feat(opl): OplTextBlock multi-line tooltip builder + AddChunked (#2507) 2026-07-02 19:41:36 -07:00
UOContent fix(ci): run test projects on CI and drop impossible LowerStatReq tests 2026-07-02 22:14:03 -07:00
UOContent.Tests test(uocontent): skip tile-data-dependent tests when client files absent 2026-07-02 22:32:25 -07:00