|
@@ -21,8 +21,8 @@ import (
|
|
"github.com/lf-edge/ekuiper/internal/testx"
|
|
"github.com/lf-edge/ekuiper/internal/testx"
|
|
"github.com/lf-edge/ekuiper/pkg/api"
|
|
"github.com/lf-edge/ekuiper/pkg/api"
|
|
"reflect"
|
|
"reflect"
|
|
|
|
+ "sync"
|
|
"testing"
|
|
"testing"
|
|
- "time"
|
|
|
|
)
|
|
)
|
|
|
|
|
|
var defaultOption = &api.RuleOption{
|
|
var defaultOption = &api.RuleOption{
|
|
@@ -210,22 +210,26 @@ func TestMultipleAccess(t *testing.T) {
|
|
t.Error(err)
|
|
t.Error(err)
|
|
return
|
|
return
|
|
}
|
|
}
|
|
|
|
+ var wg sync.WaitGroup
|
|
|
|
+ wg.Add(10)
|
|
for i := 0; i < 10; i++ {
|
|
for i := 0; i < 10; i++ {
|
|
if i%3 == 0 {
|
|
if i%3 == 0 {
|
|
go func(i int) {
|
|
go func(i int) {
|
|
rs.Stop()
|
|
rs.Stop()
|
|
fmt.Printf("%d:%d\n", i, rs.triggered)
|
|
fmt.Printf("%d:%d\n", i, rs.triggered)
|
|
|
|
+ wg.Done()
|
|
}(i)
|
|
}(i)
|
|
} else {
|
|
} else {
|
|
go func(i int) {
|
|
go func(i int) {
|
|
rs.Start()
|
|
rs.Start()
|
|
fmt.Printf("%d:%d\n", i, rs.triggered)
|
|
fmt.Printf("%d:%d\n", i, rs.triggered)
|
|
|
|
+ wg.Done()
|
|
}(i)
|
|
}(i)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- time.Sleep(1 * time.Millisecond)
|
|
|
|
|
|
+ wg.Wait()
|
|
rs.Start()
|
|
rs.Start()
|
|
- time.Sleep(10 * time.Millisecond)
|
|
|
|
|
|
+ fmt.Printf("%d:%d\n", 10, rs.triggered)
|
|
if rs.triggered != 1 {
|
|
if rs.triggered != 1 {
|
|
t.Errorf("triggered mismatch:\n\nexp=%#v\n\ngot=%#v\n\n", 1, rs.triggered)
|
|
t.Errorf("triggered mismatch:\n\nexp=%#v\n\ngot=%#v\n\n", 1, rs.triggered)
|
|
}
|
|
}
|