From 4bdb0505635e66e07aa7edd9d1f842f860aa581c Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Mon, 23 Feb 2026 13:23:23 +0200 Subject: tests: cover durationToPrev gap semantics --- internal/event/pair_test.go | 56 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 internal/event/pair_test.go (limited to 'internal') diff --git a/internal/event/pair_test.go b/internal/event/pair_test.go new file mode 100644 index 0000000..a1cb8ab --- /dev/null +++ b/internal/event/pair_test.go @@ -0,0 +1,56 @@ +package event + +import ( + "ior/internal/types" + "testing" +) + +func TestPairCalculateDurationsFirstEvent(t *testing.T) { + enter := &types.OpenEvent{ + Time: 1000, + Pid: 1, + Tid: 2, + } + exit := &types.RetEvent{ + Time: 1100, + Pid: 1, + Tid: 2, + Ret: 0, + } + + pair := NewPair(enter) + pair.ExitEv = exit + pair.CalculateDurations(0) + + if pair.Duration != 100 { + t.Fatalf("Duration = %d, want 100", pair.Duration) + } + if pair.DurationToPrev != 0 { + t.Fatalf("DurationToPrev = %d, want 0 for first event", pair.DurationToPrev) + } +} + +func TestPairCalculateDurationsWithPreviousExit(t *testing.T) { + enter := &types.OpenEvent{ + Time: 2000, + Pid: 1, + Tid: 2, + } + exit := &types.RetEvent{ + Time: 2100, + Pid: 1, + Tid: 2, + Ret: 0, + } + + pair := NewPair(enter) + pair.ExitEv = exit + pair.CalculateDurations(1500) + + if pair.Duration != 100 { + t.Fatalf("Duration = %d, want 100", pair.Duration) + } + if pair.DurationToPrev != 500 { + t.Fatalf("DurationToPrev = %d, want 500", pair.DurationToPrev) + } +} -- cgit v1.2.3