test(streaming): enforce slice E physical evidence
Record route-lifetime streaming overruns and maximum operation costs, require canonical reveal/resource convergence at every connected checkpoint, and keep recenter semantics independent of the production wall-clock budget. Co-authored-by: Erik Nilsson <erikn@users.noreply.github.com>
This commit is contained in:
parent
2ff8f844b0
commit
621f70eab6
6 changed files with 215 additions and 4 deletions
|
|
@ -241,6 +241,9 @@ public sealed class StreamingWorkBudgetTests
|
|||
Assert.Equal(1, snapshot.OverrunCount);
|
||||
Assert.Equal(1, snapshot.FailureCount);
|
||||
Assert.Equal(0, snapshot.CompletedOperations);
|
||||
Assert.Equal(3, snapshot.MaximumOperationMilliseconds);
|
||||
Assert.Equal("slow", snapshot.MaximumOperationStage);
|
||||
Assert.Equal("slow", snapshot.LastStage);
|
||||
Assert.Equal(StreamingWorkLimit.Time, snapshot.LastLimit);
|
||||
}
|
||||
|
||||
|
|
@ -465,6 +468,29 @@ public sealed class StreamingWorkBudgetTests
|
|||
Assert.Equal(4, second.LastFrame.CompletedOperations);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ControllerPublishesLifetimeOversizeAndMaximumOperationEvidence()
|
||||
{
|
||||
uint center = StreamingRegion.EncodeLandblockIdForTest(32, 32);
|
||||
var source = new QueueCompletionSource(Loaded(center));
|
||||
StreamingController controller = Controller(
|
||||
source,
|
||||
static () => { },
|
||||
WorkOptions(
|
||||
admissions: 4,
|
||||
cpuBytes: 1_000,
|
||||
gpuBytes: 1));
|
||||
|
||||
controller.Tick(32, 32);
|
||||
|
||||
StreamingWorkDiagnostics diagnostics = controller.WorkDiagnostics;
|
||||
Assert.True(diagnostics.LifetimeOversizedProgressCount >= 1);
|
||||
Assert.True(diagnostics.MaximumOperationMilliseconds >= 0);
|
||||
Assert.NotNull(diagnostics.MaximumOperationStage);
|
||||
Assert.True(diagnostics.MaximumFrameMilliseconds >=
|
||||
diagnostics.MaximumOperationMilliseconds);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ControllerBoundsProductionAdmissionByCountBeforeAdoption()
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue