test: separate non-hermetic release lanes
This commit is contained in:
parent
52015f5052
commit
8f490240d4
17 changed files with 131 additions and 114 deletions
|
|
@ -36,6 +36,7 @@ namespace AcDream.App.Tests.Rendering;
|
|||
/// those runs as Skipped so the counts show "ran" separately from "no-op'd".
|
||||
/// </para>
|
||||
/// </summary>
|
||||
[Trait("Lane", "InstalledDat")]
|
||||
public sealed class ChargenPreviewControllerTests
|
||||
{
|
||||
private readonly ITestOutputHelper _out;
|
||||
|
|
|
|||
|
|
@ -29,6 +29,7 @@ namespace AcDream.App.Tests.Rendering;
|
|||
/// the vanish; root/visibility instability across adjacent steps pins the
|
||||
/// flap.
|
||||
/// </summary>
|
||||
[Trait("Lane", "InstalledDat")]
|
||||
public class TowerAscentReplayTests
|
||||
{
|
||||
private readonly ITestOutputHelper _out;
|
||||
|
|
@ -96,10 +97,9 @@ public class TowerAscentReplayTests
|
|||
}
|
||||
}
|
||||
|
||||
private List<AscentStep>? RunAscent()
|
||||
private List<AscentStep> RunAscent()
|
||||
{
|
||||
var datDir = CornerFloodReplayTests.ResolveDatDir();
|
||||
if (datDir is null) { _out.WriteLine("SKIP: dats unavailable"); return null; }
|
||||
var datDir = RequireDatDir();
|
||||
|
||||
using var dats = new DatCollection(datDir, DatAccessType.Read);
|
||||
var cells = Issue120ReciprocalPingPongTests.LoadAllInteriorCells(dats, Landblock);
|
||||
|
|
@ -203,12 +203,11 @@ public class TowerAscentReplayTests
|
|||
/// through this band (curr_cell keep-curr above open-top cells), or can
|
||||
/// ConstructView(CBldPortal) seed with an in-plane eye?
|
||||
/// </summary>
|
||||
[Fact(Skip = "#119-residual: pins the roof-lip flood gap (steps 195-201) — un-skip with the fix; see the doc comment")]
|
||||
[Fact]
|
||||
[Trait("Status", "KnownFailure")]
|
||||
public void TowerAscent_StaircaseStaysConeVisible_EveryStep()
|
||||
{
|
||||
var steps = RunAscent();
|
||||
if (steps is null) return;
|
||||
|
||||
var failures = steps.FindAll(s => !s.StairsConeVisible);
|
||||
if (failures.Count > 0)
|
||||
{
|
||||
|
|
@ -229,8 +228,6 @@ public class TowerAscentReplayTests
|
|||
public void TowerAscent_RootDoesNotPingPong()
|
||||
{
|
||||
var steps = RunAscent();
|
||||
if (steps is null) return;
|
||||
|
||||
var flips = new List<int>();
|
||||
for (int i = 2; i < steps.Count; i++)
|
||||
{
|
||||
|
|
@ -265,8 +262,7 @@ public class TowerAscentReplayTests
|
|||
public void CapturedTopOfStairs_MainCellStaysInFlood(
|
||||
float ex, float ey, float ez, float fx, float fy, float fz)
|
||||
{
|
||||
var datDir = CornerFloodReplayTests.ResolveDatDir();
|
||||
if (datDir is null) { _out.WriteLine("SKIP: dats unavailable"); return; }
|
||||
var datDir = RequireDatDir();
|
||||
|
||||
using var dats = new DatCollection(datDir, DatAccessType.Read);
|
||||
var cells = Issue120ReciprocalPingPongTests.LoadAllInteriorCells(dats, Landblock);
|
||||
|
|
@ -336,10 +332,10 @@ public class TowerAscentReplayTests
|
|||
/// footprint containment).
|
||||
/// </summary>
|
||||
[Fact]
|
||||
[Trait("Purpose", "Diagnostic")]
|
||||
public void Diagnostic_TopOfStairs_GateByGate()
|
||||
{
|
||||
var datDir = CornerFloodReplayTests.ResolveDatDir();
|
||||
if (datDir is null) { _out.WriteLine("SKIP: dats unavailable"); return; }
|
||||
var datDir = RequireDatDir();
|
||||
|
||||
using var dats = new DatCollection(datDir, DatAccessType.Read);
|
||||
var cells = Issue120ReciprocalPingPongTests.LoadAllInteriorCells(dats, Landblock);
|
||||
|
|
@ -419,10 +415,15 @@ public class TowerAscentReplayTests
|
|||
|
||||
/// <summary>Full per-step table for the investigation record.</summary>
|
||||
[Fact]
|
||||
[Trait("Purpose", "Diagnostic")]
|
||||
public void Diagnostic_TowerAscent_PerStepTable()
|
||||
{
|
||||
var steps = RunAscent();
|
||||
if (steps is null) return;
|
||||
DumpSteps(steps);
|
||||
}
|
||||
|
||||
private static string RequireDatDir()
|
||||
=> CornerFloodReplayTests.ResolveDatDir()
|
||||
?? throw new InvalidOperationException(
|
||||
"Installed client_portal.dat is required for the tower-ascent lane.");
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue