mirror of https://github.com/status-im/go-waku.git
fix: flaky test (#211)
This commit is contained in:
parent
e7098efcff
commit
af6f36ec54
|
@ -285,6 +285,7 @@ func (d *DiscoveryV5) UpdateAddr(addr net.IP) error {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
func isWakuNode(node *enode.Node) bool {
|
func isWakuNode(node *enode.Node) bool {
|
||||||
enrField := new(utils.WakuEnrBitfield)
|
enrField := new(utils.WakuEnrBitfield)
|
||||||
if err := node.Record().Load(enr.WithEntry(utils.WakuENRField, &enrField)); err != nil {
|
if err := node.Record().Load(enr.WithEntry(utils.WakuENRField, &enrField)); err != nil {
|
||||||
|
@ -300,6 +301,7 @@ func isWakuNode(node *enode.Node) bool {
|
||||||
|
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
func hasTCPPort(node *enode.Node) bool {
|
func hasTCPPort(node *enode.Node) bool {
|
||||||
enrTCP := new(enr.TCP)
|
enrTCP := new(enr.TCP)
|
||||||
|
|
|
@ -1,8 +1,9 @@
|
||||||
package node
|
package node
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"bytes"
|
||||||
"context"
|
"context"
|
||||||
"fmt"
|
"math/big"
|
||||||
"net"
|
"net"
|
||||||
"sync"
|
"sync"
|
||||||
"testing"
|
"testing"
|
||||||
|
@ -36,7 +37,17 @@ func TestWakuNode2(t *testing.T) {
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
func Test1100(t *testing.T) {
|
func int2Bytes(i int) []byte {
|
||||||
|
if i > 0 {
|
||||||
|
return append(big.NewInt(int64(i)).Bytes(), byte(1))
|
||||||
|
}
|
||||||
|
return append(big.NewInt(int64(i)).Bytes(), byte(0))
|
||||||
|
}
|
||||||
|
|
||||||
|
func Test5000(t *testing.T) {
|
||||||
|
maxMsgs := 5000
|
||||||
|
maxMsgBytes := int2Bytes(maxMsgs)
|
||||||
|
|
||||||
ctx, cancel := context.WithTimeout(context.Background(), 20*time.Second)
|
ctx, cancel := context.WithTimeout(context.Background(), 20*time.Second)
|
||||||
defer cancel()
|
defer cancel()
|
||||||
|
|
||||||
|
@ -86,16 +97,12 @@ func Test1100(t *testing.T) {
|
||||||
ticker := time.NewTimer(20 * time.Second)
|
ticker := time.NewTimer(20 * time.Second)
|
||||||
defer ticker.Stop()
|
defer ticker.Stop()
|
||||||
|
|
||||||
msgCnt := 0
|
|
||||||
for {
|
for {
|
||||||
select {
|
select {
|
||||||
case <-ticker.C:
|
case <-ticker.C:
|
||||||
if msgCnt != 1100 {
|
require.Fail(t, "Timeout Sub1")
|
||||||
require.Fail(t, "Timeout Sub1")
|
case msg := <-sub1.C:
|
||||||
}
|
if bytes.Equal(msg.Message().Payload, maxMsgBytes) {
|
||||||
case <-sub1.C:
|
|
||||||
msgCnt++
|
|
||||||
if msgCnt == 1100 {
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -108,16 +115,12 @@ func Test1100(t *testing.T) {
|
||||||
ticker := time.NewTimer(20 * time.Second)
|
ticker := time.NewTimer(20 * time.Second)
|
||||||
defer ticker.Stop()
|
defer ticker.Stop()
|
||||||
|
|
||||||
msgCnt := 0
|
|
||||||
for {
|
for {
|
||||||
select {
|
select {
|
||||||
case <-ticker.C:
|
case <-ticker.C:
|
||||||
if msgCnt != 1100 {
|
require.Fail(t, "Timeout Sub2")
|
||||||
require.Fail(t, "Timeout Sub2")
|
case msg := <-sub2.C:
|
||||||
}
|
if bytes.Equal(msg.Message().Payload, maxMsgBytes) {
|
||||||
case <-sub2.C:
|
|
||||||
msgCnt++
|
|
||||||
if msgCnt == 1100 {
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -126,9 +129,9 @@ func Test1100(t *testing.T) {
|
||||||
|
|
||||||
go func() {
|
go func() {
|
||||||
defer wg.Done()
|
defer wg.Done()
|
||||||
for i := 1; i <= 1100; i++ {
|
for i := 1; i <= maxMsgs; i++ {
|
||||||
msg := createTestMsg(0)
|
msg := createTestMsg(0)
|
||||||
msg.Payload = []byte(fmt.Sprint(i))
|
msg.Payload = int2Bytes(i)
|
||||||
msg.Timestamp = int64(i)
|
msg.Timestamp = int64(i)
|
||||||
if err := wakuNode2.Publish(ctx, msg); err != nil {
|
if err := wakuNode2.Publish(ctx, msg); err != nil {
|
||||||
require.Fail(t, "Could not publish all messages")
|
require.Fail(t, "Could not publish all messages")
|
||||||
|
|
Loading…
Reference in New Issue