From 5c774de630e928deac45b2b67f4f0215f0c57578 Mon Sep 17 00:00:00 2001 From: Abhishek Pandey Date: Wed, 5 Apr 2023 20:56:09 -0700 Subject: [PATCH] Add unit test --- .../events/events_signal_unix_test.go | 46 +++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 src/internal/events/events_signal_unix_test.go diff --git a/src/internal/events/events_signal_unix_test.go b/src/internal/events/events_signal_unix_test.go new file mode 100644 index 000000000..ff5679f4d --- /dev/null +++ b/src/internal/events/events_signal_unix_test.go @@ -0,0 +1,46 @@ +package events + +import ( + "os" + "os/signal" + "testing" + "time" + + "github.com/alcionai/corso/src/internal/tester" + "github.com/armon/go-metrics" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/suite" +) + +type EventsSignalUnitSuite struct { + tester.Suite +} + +func TestEventsSignalUnitSuite(t *testing.T) { + suite.Run(t, &EventsSignalUnitSuite{Suite: tester.NewUnitSuite(t)}) +} + +func (suite *EventsSignalUnitSuite) TestSignalDump() { + ctx, flush := tester.NewContext() + defer flush() + var ( + t = suite.T() + ) + + sigCh := make(chan os.Signal, 1) + signal.Notify(sigCh, metrics.DefaultSignal) + + go func() { + signalDump(ctx) + }() + + select { + case sig := <-sigCh: + assert.Equal(t, metrics.DefaultSignal, sig, "received wrong signal") + + case <-time.After(1 * time.Second): + assert.Fail(t, "timeout waiting for signal") + } + + signal.Stop(sigCh) +}