summaryrefslogtreecommitdiff
path: root/internal/statsengine/engine_reset_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/statsengine/engine_reset_test.go')
-rw-r--r--internal/statsengine/engine_reset_test.go27
1 files changed, 27 insertions, 0 deletions
diff --git a/internal/statsengine/engine_reset_test.go b/internal/statsengine/engine_reset_test.go
new file mode 100644
index 0000000..7a86c86
--- /dev/null
+++ b/internal/statsengine/engine_reset_test.go
@@ -0,0 +1,27 @@
+package statsengine
+
+import (
+ "testing"
+ "time"
+
+ "ior/internal/types"
+)
+
+func TestEngineResetClearsAccumulatedStats(t *testing.T) {
+ e := NewEngine(8)
+ e.Ingest(newEnginePair(types.SYS_ENTER_READ, 7, types.READ_CLASSIFIED, "test", 1, "/tmp/a", 7, 1000, 50))
+ before := e.Snapshot()
+ if before.TotalSyscalls == 0 {
+ t.Fatalf("expected non-zero totals before reset")
+ }
+
+ time.Sleep(1 * time.Millisecond)
+ e.Reset()
+ after := e.Snapshot()
+ if after.TotalSyscalls != 0 || after.TotalBytes != 0 || after.TotalErrors != 0 {
+ t.Fatalf("expected totals cleared after reset, got %+v", after)
+ }
+ if after.Elapsed > 2*time.Second {
+ t.Fatalf("expected elapsed to restart near zero, got %s", after.Elapsed)
+ }
+}