Merge pull request #346 from ethersphere/enable_pss_tests

enable PSS tests
This commit is contained in:
Anton Evangelatov 2018-04-04 11:38:25 +02:00 committed by GitHub
commit 74f6037ca5
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -12,6 +12,7 @@ import (
"io/ioutil" "io/ioutil"
"math/rand" "math/rand"
"os" "os"
"runtime"
"strconv" "strconv"
"strings" "strings"
"sync" "sync"
@ -57,13 +58,11 @@ var (
useHandshake bool useHandshake bool
) )
var services = newServices()
func init() { func init() {
flag.Parse() flag.Parse()
rand.Seed(time.Now().Unix()) rand.Seed(time.Now().Unix())
adapters.RegisterServices(services) adapters.RegisterServices(newServices())
initTest() initTest()
} }
@ -635,13 +634,22 @@ func worker(id int, jobs <-chan Job, rpcs map[discover.NodeID]*rpc.Client, pubke
// params in run name: // params in run name:
// nodes/msgs/addrbytes/adaptertype // nodes/msgs/addrbytes/adaptertype
// if adaptertype is exec uses execadapter, simadapter otherwise // if adaptertype is exec uses execadapter, simadapter otherwise
func XTestNetwork(t *testing.T) { func TestNetwork(t *testing.T) {
if runtime.GOOS == "darwin" {
t.Skip("Travis macOS build seems to be very slow, and these tests are flaky on it. Skipping until we find a solution.")
}
t.Run("3/2000/4/sock", testNetwork) t.Run("3/2000/4/sock", testNetwork)
t.Run("4/2000/4/sock", testNetwork) t.Run("4/2000/4/sock", testNetwork)
t.Run("8/2000/4/sock", testNetwork) t.Run("8/2000/4/sock", testNetwork)
t.Run("16/2000/4/sock", testNetwork) t.Run("16/2000/4/sock", testNetwork)
t.Run("32/2000/4/sock", testNetwork) t.Run("32/2000/4/sock", testNetwork)
t.Run("64/2000/4/sim", testNetwork)
t.Run("3/2000/4/sim", testNetwork)
t.Run("4/2000/4/sim", testNetwork)
t.Run("8/2000/4/sim", testNetwork)
t.Run("16/2000/4/sim", testNetwork)
t.Run("32/2000/4/sim", testNetwork)
} }
func testNetwork(t *testing.T) { func testNetwork(t *testing.T) {
@ -677,11 +685,11 @@ func testNetwork(t *testing.T) {
} }
a = adapters.NewExecAdapter(dirname) a = adapters.NewExecAdapter(dirname)
} else if adapter == "sock" { } else if adapter == "sock" {
a = adapters.NewSocketAdapter(services) a = adapters.NewSocketAdapter(newServices())
} else if adapter == "tcp" { } else if adapter == "tcp" {
a = adapters.NewTCPAdapter(services) a = adapters.NewTCPAdapter(newServices())
} else if adapter == "sim" { } else if adapter == "sim" {
a = adapters.NewSimAdapter(services) a = adapters.NewSimAdapter(newServices())
} }
net := simulations.NewNetwork(a, &simulations.NetworkConfig{ net := simulations.NewNetwork(a, &simulations.NetworkConfig{
ID: "0", ID: "0",
@ -706,6 +714,8 @@ func testNetwork(t *testing.T) {
t.Fatal(err) t.Fatal(err)
} }
time.Sleep(1 * time.Second)
triggerChecks := func(trigger chan discover.NodeID, id discover.NodeID, rpcclient *rpc.Client, topic string) error { triggerChecks := func(trigger chan discover.NodeID, id discover.NodeID, rpcclient *rpc.Client, topic string) error {
msgC := make(chan APIMsg) msgC := make(chan APIMsg)
ctx, cancel := context.WithTimeout(context.Background(), time.Second) ctx, cancel := context.WithTimeout(context.Background(), time.Second)
@ -764,12 +774,16 @@ func testNetwork(t *testing.T) {
} }
} }
time.Sleep(1 * time.Second)
// setup workers // setup workers
jobs := make(chan Job, 10) jobs := make(chan Job, 10)
for w := 1; w <= 10; w++ { for w := 1; w <= 10; w++ {
go worker(w, jobs, rpcs, pubkeys, topic) go worker(w, jobs, rpcs, pubkeys, topic)
} }
time.Sleep(1 * time.Second)
for i := 0; i < int(msgcount); i++ { for i := 0; i < int(msgcount); i++ {
sendnodeidx := rand.Intn(int(nodecount)) sendnodeidx := rand.Intn(int(nodecount))
recvnodeidx := rand.Intn(int(nodecount - 1)) recvnodeidx := rand.Intn(int(nodecount - 1))
@ -1076,7 +1090,7 @@ func setupNetwork(numnodes int) (clients []*rpc.Client, err error) {
if numnodes < 2 { if numnodes < 2 {
return nil, fmt.Errorf("Minimum two nodes in network") return nil, fmt.Errorf("Minimum two nodes in network")
} }
adapter := adapters.NewSimAdapter(services) adapter := adapters.NewSimAdapter(newServices())
net := simulations.NewNetwork(adapter, &simulations.NetworkConfig{ net := simulations.NewNetwork(adapter, &simulations.NetworkConfig{
ID: "0", ID: "0",
DefaultService: "bzz", DefaultService: "bzz",