step 4
This commit is contained in:
@@ -53,6 +53,29 @@ void TestRuntimeEventTryRecord()
|
||||
Expect(metrics.queue.oldestEventAgeMilliseconds == 0.0, "queue age is clamped to non-negative values");
|
||||
Expect(metrics.dispatch.lastDispatchDurationMilliseconds == 0.0, "dispatch duration is clamped to non-negative values");
|
||||
}
|
||||
|
||||
void TestPersistenceWriteHealth()
|
||||
{
|
||||
HealthTelemetry telemetry;
|
||||
telemetry.RecordPersistenceWriteResult(false, "runtime-state", "runtime/runtime_state.json", "UpdateLayerParameter",
|
||||
"disk full", true);
|
||||
|
||||
HealthTelemetry::PersistenceSnapshot persistence = telemetry.GetPersistenceSnapshot();
|
||||
Expect(persistence.writeFailureCount == 1, "persistence health counts write failures");
|
||||
Expect(!persistence.lastWriteSucceeded, "persistence health records failed write state");
|
||||
Expect(persistence.unsavedChanges, "persistence health reports unsaved changes after failure");
|
||||
Expect(persistence.newerRequestPending, "persistence health records pending newer request");
|
||||
Expect(persistence.lastTargetKind == "runtime-state", "persistence health records target kind");
|
||||
Expect(persistence.lastReason == "UpdateLayerParameter", "persistence health records reason");
|
||||
Expect(persistence.lastErrorMessage == "disk full", "persistence health records error message");
|
||||
|
||||
Expect(telemetry.TryRecordPersistenceWriteResult(true, "runtime-state", "runtime/runtime_state.json", "flush", "", false),
|
||||
"try persistence health succeeds when uncontended");
|
||||
persistence = telemetry.GetPersistenceSnapshot();
|
||||
Expect(persistence.writeSuccessCount == 1, "persistence health counts write successes");
|
||||
Expect(persistence.lastWriteSucceeded, "persistence health records successful write state");
|
||||
Expect(!persistence.unsavedChanges, "persistence health clears unsaved changes after latest successful write with no pending request");
|
||||
}
|
||||
}
|
||||
|
||||
int main()
|
||||
@@ -60,6 +83,7 @@ int main()
|
||||
TestRuntimeEventQueueMetrics();
|
||||
TestRuntimeEventDispatchStats();
|
||||
TestRuntimeEventTryRecord();
|
||||
TestPersistenceWriteHealth();
|
||||
|
||||
if (gFailures != 0)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user