Add unit test
This commit is contained in:
parent
5aca592f16
commit
5c774de630
46
src/internal/events/events_signal_unix_test.go
Normal file
46
src/internal/events/events_signal_unix_test.go
Normal file
@ -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)
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user