test: classify prerequisite lanes and own Avalonia sessions

This commit is contained in:
Erik 2026-08-18 11:30:47 +02:00
parent c1a905004a
commit 3684e7b5e7
113 changed files with 273 additions and 22 deletions

View file

@ -23,6 +23,7 @@ namespace AcDream.Content.Tests;
/// of the 3,605 "sphere-only, no cylinder" Setups the reachability sweep
/// already counted fall into exactly that trap.
/// </summary>
[Trait("Lane", "InstalledDat")]
public sealed class Ap155StaticSpherePopulationMeasurementTests
{
[Fact]

View file

@ -22,6 +22,7 @@ namespace AcDream.Content.Tests.CharGen;
/// <c>ChargenAppearanceCatalogInstalledDatTests</c>): returns green with a
/// console SKIP note when no installed dat directory is configured.</para>
/// </summary>
[Trait("Lane", "InstalledDat")]
public sealed class ChargenAppearanceCatalogColorTests
{
private readonly ITestOutputHelper _out;

View file

@ -28,6 +28,7 @@ namespace AcDream.Content.Tests.CharGen;
/// consistent with the rest of the suite rather than introducing a new
/// convention.</para>
/// </summary>
[Trait("Lane", "InstalledDat")]
public sealed class ChargenAppearanceCatalogInstalledDatTests
{
private readonly ITestOutputHelper _out;

View file

@ -14,6 +14,7 @@ namespace AcDream.Content.Tests.CharGen;
/// cleanly (with a console note) when no DAT directory is configured,
/// matching e.g. <c>PakEquivalenceTests</c> / <c>RetailDatLoaderTests</c>.
/// </summary>
[Trait("Lane", "InstalledDat")]
public sealed class ChargenTableReaderInstalledDatTests
{
// ACE ACE.Entity.Enum.HeritageGroup — the four heritages CC1's spec

View file

@ -4,6 +4,7 @@ using DatReaderWriter.Options;
namespace AcDream.Content.Tests;
[Trait("Lane", "PreparedPackage")]
public sealed class InstalledPreparedCollisionCatalogTests
{
[Fact]

View file

@ -33,6 +33,7 @@ namespace AcDream.Content.Tests;
/// predicate used here.
/// </para>
/// </summary>
[Trait("Lane", "InstalledDat")]
public sealed class InstalledSetupBspPrimitiveDispatchTests
{
// EXTERNAL constants. The four bucket controls are the ones already

View file

@ -12,6 +12,7 @@ namespace AcDream.Content.Tests;
/// asserts no such Setup exists, so the deletion cannot remove collision from
/// any real object.
/// </summary>
[Trait("Lane", "InstalledDat")]
public sealed class InstalledSetupCollisionReachabilityTests
{
// Positive controls. These are EXTERNAL constants, measured on 2026-08-06

View file

@ -42,6 +42,7 @@ namespace AcDream.Content.Tests;
/// columns 0..4 on both axes.
/// </para>
/// </summary>
[Trait("Lane", "InstalledDat")]
public sealed class Issue334NeftetFormationCellMembershipTests
{
private const uint NeftetLandblock = 0x87640000u;

View file

@ -20,6 +20,7 @@ namespace AcDream.Content.Tests;
/// Skips cleanly when the real dats are absent (CI), matching
/// DatConcurrencyStressTests' convention.
/// </summary>
[Trait("Lane", "InstalledDat")]
public sealed class PakEquivalenceTests {
// Known-tricky GfxObj ids reused from existing conformance fixtures:
// 0x010002B4 / 0x010008A8 — #119 "[up-null] upload returned null" dump

View file

@ -17,6 +17,7 @@ namespace AcDream.Content.Tests;
/// construct (its ctor builds a RetailPhysicsScriptLoader from dats.Portal).
/// Skips cleanly when dats are absent, matching ContentConformanceDats convention.
/// </summary>
[Trait("Lane", "InstalledDat")]
public sealed class SolidColorTextureCacheTests {
[Fact]
public void GetOrCreateSolidColorTexture_SameColor_ReturnsSameSharedArray() {

View file

@ -73,6 +73,7 @@ public sealed class RetailSpellMetadataProjectorTests
}
[Fact]
[Trait("Lane", "InstalledDat")]
public void Load_EndOfRetailDat_ResolvesEveryLateLearnedSpellMissingFromCsv()
{
string? datDir = ResolveDatDir();
@ -101,6 +102,7 @@ public sealed class RetailSpellMetadataProjectorTests
}
[Fact]
[Trait("Lane", "InstalledDat")]
public void Load_EndOfRetailDat_UsesRetailFormulaTargetsInsteadOfLegacyExportMasks()
{
string? datDir = ResolveDatDir();

View file

@ -432,6 +432,7 @@ public sealed class RetailDatLoaderTests
}
[Fact]
[Trait("Lane", "InstalledDat")]
public void InstalledBlockingScripts_ParseThroughRetailShape_WhenDatsAvailable()
{
string? datDir = ResolveDatDirectory();