@@ -2,6 +2,7 @@ package sigmod_test
2
2
3
3
import (
4
4
"os"
5
+ "runtime"
5
6
"syscall"
6
7
"testing"
7
8
@@ -12,23 +13,34 @@ import (
12
13
13
14
func TestListener (t * testing.T ) {
14
15
tests := []struct {
15
- name string
16
- signals []os.Signal
16
+ name string
17
+ signals []os.Signal
18
+ inputSig syscall.Signal
17
19
}{
18
20
{
19
- name : "Defaults" ,
20
- signals : []os.Signal {},
21
+ name : "Defaults" ,
22
+ signals : []os.Signal {},
23
+ inputSig : syscall .SIGINT ,
21
24
},
22
25
{
23
- name : "Interrupt" ,
24
- signals : []os.Signal {os .Interrupt },
26
+ name : "Interrupt" ,
27
+ signals : []os.Signal {os .Interrupt },
28
+ inputSig : syscall .SIGINT ,
29
+ },
30
+ {
31
+ name : "SIGTERM" ,
32
+ signals : []os.Signal {syscall .SIGTERM },
33
+ inputSig : syscall .SIGTERM ,
25
34
},
26
35
}
27
36
for _ , tt := range tests {
28
37
t .Run (tt .name , func (t * testing.T ) {
29
38
l := sigmod .New (tt .signals ... )
30
39
require .NoError (t , l .Init ())
31
- require .NoError (t , syscall .Kill (syscall .Getpid (), syscall .SIGINT ))
40
+ if tt .inputSig == syscall .SIGTERM && runtime .GOOS == "windows" {
41
+ t .Skip ("Windows doesn't support SIGTERM" )
42
+ }
43
+ require .NoError (t , syscall .Kill (syscall .Getpid (), tt .inputSig ))
32
44
require .NoError (t , l .Run ())
33
45
require .NoError (t , l .Stop ())
34
46
require .Equal (t , "sigmod" , l .ID ())
0 commit comments