From 13d2c3ec8deb759308a8f0a28374470ca9bb1e9d Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Wed, 20 May 2026 14:13:21 +0300 Subject: fix(task-17): prevent aggregate double-count and flush on shutdown --- internal/syscall_aggregate_consumer_test.go | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'internal/syscall_aggregate_consumer_test.go') diff --git a/internal/syscall_aggregate_consumer_test.go b/internal/syscall_aggregate_consumer_test.go index 1f6e856..362dfba 100644 --- a/internal/syscall_aggregate_consumer_test.go +++ b/internal/syscall_aggregate_consumer_test.go @@ -23,6 +23,24 @@ func TestBuildSyscallSamplingRatesFamilyAndSyscallOverride(t *testing.T) { } } +func TestBuildAggregateOnlyTraceIDs(t *testing.T) { + cfg := flags.NewFlags() + cfg.SyscallFamilySamplingRates[types.FamilyTime] = 10 + cfg.SyscallSamplingRates["futex"] = 0 + cfg.SyscallSamplingRates["clock_gettime"] = 0 + + ids := buildAggregateOnlyTraceIDs(cfg) + if _, ok := ids[types.SYS_ENTER_FUTEX]; !ok { + t.Fatal("expected futex in aggregate-only set") + } + if _, ok := ids[types.SYS_ENTER_CLOCK_GETTIME]; !ok { + t.Fatal("expected clock_gettime in aggregate-only set") + } + if _, ok := ids[types.SYS_ENTER_NANOSLEEP]; ok { + t.Fatal("did not expect nanosleep in aggregate-only set") + } +} + func TestDecodeRawSyscallAggregate(t *testing.T) { want := rawSyscallAggregate{ Count: 7, -- cgit v1.2.3