github.com/bingoohuang/gg@v0.0.0-20240325092523-45da7dee9335/pkg/sigx/signal_test.go (about)

     1  package sigx
     2  
     3  import (
     4  	"os"
     5  	"testing"
     6  	"time"
     7  
     8  	"github.com/stretchr/testify/assert"
     9  )
    10  
    11  func TestRegisterSignals(t *testing.T) {
    12  	c, _ := RegisterSignals(nil)
    13  	proc, _ := os.FindProcess(os.Getpid())
    14  	if err := proc.Signal(os.Interrupt); err != nil {
    15  		t.Failed()
    16  	}
    17  
    18  	done := false
    19  	select {
    20  	case <-c.Done():
    21  		done = true
    22  	case <-time.After(1 * time.Millisecond):
    23  	}
    24  
    25  	assert.True(t, done)
    26  }