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