File tree 1 file changed +24
-3
lines changed
1 file changed +24
-3
lines changed Original file line number Diff line number Diff line change @@ -22,14 +22,35 @@ func TestWorkerPool(t *testing.T) {
22
22
atomic .AddInt32 (& cnt , - 1 )
23
23
}
24
24
25
- go vwp .AddTask (task )
26
- go vwp .AddTask (task )
27
- go vwp .AddTask (task )
25
+ vwp .AddTask (task )
26
+ vwp .AddTask (task )
28
27
29
28
time .Sleep (600 * time .Millisecond )
30
29
as .Equal (int32 (1 ), atomic .LoadInt32 (& cnt ))
30
+ vwp .AddTask (task )
31
31
vwp .Stop ()
32
32
as .Equal (int32 (0 ), atomic .LoadInt32 (& cnt ))
33
+ }
34
+
35
+ func TestWorkerPoolMaxWorkers (t * testing.T ) {
36
+ as := assert .New (t )
37
+
38
+ vwp := workerpool .NewWorkerPool (2 )
39
+ vwp .Run ()
40
+ var cnt int32 = 3
41
+
42
+ task := func () {
43
+ time .Sleep (500 * time .Millisecond )
44
+ atomic .AddInt32 (& cnt , - 1 )
45
+ }
46
+
47
+ time1 := time .Now ()
48
+ vwp .AddTask (task )
49
+ vwp .AddTask (task )
50
+ vwp .AddTask (task )
51
+ vwp .Stop ()
52
+ time2 := time .Now ()
53
+ as .Greater (time2 .Sub (time1 ), time .Second * 1 )
33
54
34
55
}
35
56
You can’t perform that action at this time.
0 commit comments