test: make prerequisite lanes fail honestly

This commit is contained in:
Erik 2026-08-18 12:09:41 +02:00
parent dfc841b779
commit 6faeb4a103
113 changed files with 424 additions and 336 deletions

View file

@ -33,7 +33,7 @@ public sealed class Ap155StaticSpherePopulationMeasurementTests
if (datDir is null)
{
Console.WriteLine("SKIP: installed retail DAT directory is unavailable.");
return;
Assert.Fail("Lane=InstalledDat requires an installed retail DAT directory; see docs/release-gate.md.");
}
using var dats = new DatCollection(datDir, DatAccessType.Read);

View file

@ -66,7 +66,7 @@ public sealed class ChargenAppearanceCatalogColorTests
if (datDir is null)
{
_out.WriteLine("SKIP: installed retail DAT directory is unavailable.");
return;
Assert.Fail("Lane=InstalledDat requires an installed retail DAT directory; see docs/release-gate.md.");
}
using var dats = new DatCollection(datDir, DatAccessType.Read);
@ -94,7 +94,7 @@ public sealed class ChargenAppearanceCatalogColorTests
if (datDir is null)
{
_out.WriteLine("SKIP: installed retail DAT directory is unavailable.");
return;
Assert.Fail("Lane=InstalledDat requires an installed retail DAT directory; see docs/release-gate.md.");
}
using var dats = new DatCollection(datDir, DatAccessType.Read);
@ -120,7 +120,7 @@ public sealed class ChargenAppearanceCatalogColorTests
if (datDir is null)
{
_out.WriteLine("SKIP: installed retail DAT directory is unavailable.");
return;
Assert.Fail("Lane=InstalledDat requires an installed retail DAT directory; see docs/release-gate.md.");
}
using var dats = new DatCollection(datDir, DatAccessType.Read);
@ -149,7 +149,7 @@ public sealed class ChargenAppearanceCatalogColorTests
if (datDir is null)
{
_out.WriteLine("SKIP: installed retail DAT directory is unavailable.");
return;
Assert.Fail("Lane=InstalledDat requires an installed retail DAT directory; see docs/release-gate.md.");
}
using var dats = new DatCollection(datDir, DatAccessType.Read);
@ -183,7 +183,7 @@ public sealed class ChargenAppearanceCatalogColorTests
if (datDir is null)
{
_out.WriteLine("SKIP: installed retail DAT directory is unavailable.");
return;
Assert.Fail("Lane=InstalledDat requires an installed retail DAT directory; see docs/release-gate.md.");
}
using var dats = new DatCollection(datDir, DatAccessType.Read);
@ -216,7 +216,7 @@ public sealed class ChargenAppearanceCatalogColorTests
if (datDir is null)
{
_out.WriteLine("SKIP: installed retail DAT directory is unavailable.");
return;
Assert.Fail("Lane=InstalledDat requires an installed retail DAT directory; see docs/release-gate.md.");
}
using var dats = new DatCollection(datDir, DatAccessType.Read);

View file

@ -78,7 +78,7 @@ public sealed class ChargenAppearanceCatalogInstalledDatTests
if (datDir is null)
{
_out.WriteLine("SKIP: installed retail DAT directory is unavailable.");
return;
Assert.Fail("Lane=InstalledDat requires an installed retail DAT directory; see docs/release-gate.md.");
}
using var dats = new DatCollection(datDir, DatAccessType.Read);
@ -177,7 +177,7 @@ public sealed class ChargenAppearanceCatalogInstalledDatTests
if (datDir is null)
{
_out.WriteLine("SKIP: installed retail DAT directory is unavailable.");
return;
Assert.Fail("Lane=InstalledDat requires an installed retail DAT directory; see docs/release-gate.md.");
}
using var dats = new DatCollection(datDir, DatAccessType.Read);

View file

@ -33,7 +33,7 @@ public sealed class ChargenTableReaderInstalledDatTests
if (datDir is null)
{
Console.WriteLine("SKIP: installed retail DAT directory is unavailable.");
return;
Assert.Fail("Lane=InstalledDat requires an installed retail DAT directory; see docs/release-gate.md.");
}
using var dats = new DatCollection(datDir, DatAccessType.Read);
@ -53,7 +53,7 @@ public sealed class ChargenTableReaderInstalledDatTests
if (datDir is null)
{
Console.WriteLine("SKIP: installed retail DAT directory is unavailable.");
return;
Assert.Fail("Lane=InstalledDat requires an installed retail DAT directory; see docs/release-gate.md.");
}
using var dats = new DatCollection(datDir, DatAccessType.Read);
@ -85,7 +85,7 @@ public sealed class ChargenTableReaderInstalledDatTests
if (datDir is null)
{
Console.WriteLine("SKIP: installed retail DAT directory is unavailable.");
return;
Assert.Fail("Lane=InstalledDat requires an installed retail DAT directory; see docs/release-gate.md.");
}
using var dats = new DatCollection(datDir, DatAccessType.Read);
@ -125,7 +125,7 @@ public sealed class ChargenTableReaderInstalledDatTests
if (datDir is null)
{
Console.WriteLine("SKIP: installed retail DAT directory is unavailable.");
return;
Assert.Fail("Lane=InstalledDat requires an installed retail DAT directory; see docs/release-gate.md.");
}
using var dats = new DatCollection(datDir, DatAccessType.Read);
@ -165,7 +165,7 @@ public sealed class ChargenTableReaderInstalledDatTests
if (datDir is null)
{
Console.WriteLine("SKIP: installed retail DAT directory is unavailable.");
return;
Assert.Fail("Lane=InstalledDat requires an installed retail DAT directory; see docs/release-gate.md.");
}
using var dats = new DatCollection(datDir, DatAccessType.Read);
@ -195,7 +195,7 @@ public sealed class ChargenTableReaderInstalledDatTests
if (datDir is null)
{
Console.WriteLine("SKIP: installed retail DAT directory is unavailable.");
return;
Assert.Fail("Lane=InstalledDat requires an installed retail DAT directory; see docs/release-gate.md.");
}
using var dats = new DatCollection(datDir, DatAccessType.Read);
@ -238,7 +238,7 @@ public sealed class ChargenTableReaderInstalledDatTests
if (datDir is null)
{
Console.WriteLine("SKIP: installed retail DAT directory is unavailable.");
return;
Assert.Fail("Lane=InstalledDat requires an installed retail DAT directory; see docs/release-gate.md.");
}
using var dats = new DatCollection(datDir, DatAccessType.Read);
@ -298,7 +298,7 @@ public sealed class ChargenTableReaderInstalledDatTests
if (datDir is null)
{
Console.WriteLine("SKIP: installed retail DAT directory is unavailable.");
return;
Assert.Fail("Lane=InstalledDat requires an installed retail DAT directory; see docs/release-gate.md.");
}
using var dats = new DatCollection(datDir, DatAccessType.Read);
@ -352,7 +352,7 @@ public sealed class ChargenTableReaderInstalledDatTests
if (datDir is null)
{
Console.WriteLine("SKIP: installed retail DAT directory is unavailable.");
return;
Assert.Fail("Lane=InstalledDat requires an installed retail DAT directory; see docs/release-gate.md.");
}
using var dats = new DatCollection(datDir, DatAccessType.Read);

View file

@ -12,11 +12,11 @@ public sealed class InstalledPreparedCollisionCatalogTests
{
string? datDir = ResolveDatDir();
if (datDir is null)
return;
Assert.Fail("Lane=PreparedPackage requires installed retail DATs and a validated acdream.pak; see docs/release-gate.md.");
string packagePath = Path.Combine(datDir, "acdream.pak");
if (!File.Exists(packagePath))
return;
Assert.Fail("Lane=PreparedPackage requires installed retail DATs and a validated acdream.pak; see docs/release-gate.md.");
using var dats = new DatCollection(datDir, DatAccessType.Read);
using var adapter = new DatCollectionAdapter(dats);

View file

@ -61,7 +61,7 @@ public sealed class InstalledSetupBspPrimitiveDispatchTests
{
string? datDir = ContentConformanceDats.ResolveDatDir();
if (datDir is null)
return;
Assert.Fail("Lane=InstalledDat requires an installed retail DAT directory; see docs/release-gate.md.");
using var dats = new DatCollection(datDir, DatAccessType.Read);
@ -240,7 +240,7 @@ public sealed class InstalledSetupBspPrimitiveDispatchTests
{
string? datDir = ContentConformanceDats.ResolveDatDir();
if (datDir is null)
return;
Assert.Fail("Lane=InstalledDat requires an installed retail DAT directory; see docs/release-gate.md.");
using var dats = new DatCollection(datDir, DatAccessType.Read);

View file

@ -35,7 +35,7 @@ public sealed class InstalledSetupCollisionReachabilityTests
{
string? datDir = ContentConformanceDats.ResolveDatDir();
if (datDir is null)
return;
Assert.Fail("Lane=InstalledDat requires an installed retail DAT directory; see docs/release-gate.md.");
using var dats = new DatCollection(datDir, DatAccessType.Read);

View file

@ -60,7 +60,7 @@ public sealed class Issue334NeftetFormationCellMembershipTests
{
string? datDir = ContentConformanceDats.ResolveDatDir();
if (datDir is null)
return;
Assert.Fail("Lane=InstalledDat requires an installed retail DAT directory; see docs/release-gate.md.");
using var dats = new DatCollection(datDir, DatAccessType.Read);
Assert.True(

View file

@ -40,7 +40,7 @@ public sealed class PakEquivalenceTests {
[Fact]
public void LiveExtraction_MatchesPakRoundTrip_OnFixtureIdSet() {
var datDir = ContentConformanceDats.ResolveDatDir();
if (datDir is null) return; // dats absent (CI) — skip, matching suite convention
if (datDir is null) Assert.Fail("Lane=InstalledDat requires an installed retail DAT directory; see docs/release-gate.md."); // dats absent (CI) — skip, matching suite convention
using var dats = new DatCollection(datDir, DatAccessType.Read);
// The unified AcDream.Content.DatCollectionAdapter — same class the

View file

@ -22,7 +22,7 @@ public sealed class SolidColorTextureCacheTests {
[Fact]
public void GetOrCreateSolidColorTexture_SameColor_ReturnsSameSharedArray() {
var datDir = ContentConformanceDats.ResolveDatDir();
if (datDir is null) return; // dats absent (CI) — skip, matching suite convention
if (datDir is null) Assert.Fail("Lane=InstalledDat requires an installed retail DAT directory; see docs/release-gate.md."); // dats absent (CI) — skip, matching suite convention
using var dats = new DatCollection(datDir, DatAccessType.Read);
using var adapter = new DatCollectionAdapter(dats);
@ -46,7 +46,7 @@ public sealed class SolidColorTextureCacheTests {
[Fact]
public void GetOrCreateSolidColorTexture_DifferentColors_ReturnDistinctArrays() {
var datDir = ContentConformanceDats.ResolveDatDir();
if (datDir is null) return; // dats absent (CI) — skip, matching suite convention
if (datDir is null) Assert.Fail("Lane=InstalledDat requires an installed retail DAT directory; see docs/release-gate.md."); // dats absent (CI) — skip, matching suite convention
using var dats = new DatCollection(datDir, DatAccessType.Read);
using var adapter = new DatCollectionAdapter(dats);

View file

@ -78,7 +78,7 @@ public sealed class RetailSpellMetadataProjectorTests
{
string? datDir = ResolveDatDir();
string? csvPath = ResolveRepoFile("docs", "research", "data", "spells.csv");
if (datDir is null || csvPath is null) return;
if (datDir is null || csvPath is null) Assert.Fail("Lane=InstalledDat requires an installed retail DAT directory; see docs/release-gate.md.");
using var rawDats = new DatCollection(datDir, DatAccessType.Read);
using var dats = new DatCollectionAdapter(rawDats);
@ -107,7 +107,7 @@ public sealed class RetailSpellMetadataProjectorTests
{
string? datDir = ResolveDatDir();
string? csvPath = ResolveRepoFile("docs", "research", "data", "spells.csv");
if (datDir is null || csvPath is null) return;
if (datDir is null || csvPath is null) Assert.Fail("Lane=InstalledDat requires an installed retail DAT directory; see docs/release-gate.md.");
using var rawDats = new DatCollection(datDir, DatAccessType.Read);
using var dats = new DatCollectionAdapter(rawDats);

View file

@ -437,7 +437,7 @@ public sealed class RetailDatLoaderTests
{
string? datDir = ResolveDatDirectory();
if (datDir is null)
return;
Assert.Fail("Lane=InstalledDat requires an installed retail DAT directory; see docs/release-gate.md.");
using var dats = new DatCollection(datDir, DatAccessType.Read);
using var boundedDats = new DatCollectionAdapter(dats);