mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-06-19 21:31:37 +00:00
run in parallel
This commit is contained in:
parent
b9a9b4087b
commit
454a4ab8dc
4 changed files with 250 additions and 235 deletions
70
.travis.yml
70
.travis.yml
|
|
@ -7,7 +7,7 @@ jobs:
|
|||
- stage: lint
|
||||
os: linux
|
||||
dist: bionic
|
||||
go: 1.16.x
|
||||
go: 1.14.x
|
||||
env:
|
||||
- lint
|
||||
git:
|
||||
|
|
@ -15,47 +15,67 @@ jobs:
|
|||
script:
|
||||
- go run build/ci.go lint
|
||||
|
||||
- stage: test A-B packages
|
||||
- stage: Tests
|
||||
os: linux
|
||||
dist: bionic
|
||||
go: 1.15.x
|
||||
go: 1.14.x
|
||||
env:
|
||||
- GO111MODULE=auto
|
||||
script:
|
||||
- go run build/ci.go test -coverage $(go list ./... | grep "github.com\/ethereum\/go-ethereum\/[a-b].*")
|
||||
|
||||
- stage: test C packages
|
||||
name: A-B tests
|
||||
script: go run build/ci.go test -coverage $(go list ./... | grep "github.com\/ethereum\/go-ethereum\/[a-b].*")
|
||||
- script: go run build/ci.go test -coverage $(go list ./... | grep "github.com\/ethereum\/go-ethereum\/c[a-m].*")
|
||||
os: linux
|
||||
dist: bionic
|
||||
go: 1.15.x
|
||||
go: 1.14.x
|
||||
env:
|
||||
- GO111MODULE=auto
|
||||
script:
|
||||
- go run build/ci.go test -coverage $(go list ./... | grep "github.com\/ethereum\/go-ethereum\/[c].*")
|
||||
|
||||
- stage: test D-N packages
|
||||
name: C-[a-m] tests
|
||||
- script: go run build/ci.go test -coverage $(go list ./... | grep "github.com\/ethereum\/go-ethereum\/c[n-o].*")
|
||||
os: linux
|
||||
dist: bionic
|
||||
go: 1.15.x
|
||||
go: 1.14.x
|
||||
env:
|
||||
- GO111MODULE=auto
|
||||
script:
|
||||
- go run build/ci.go test -coverage $(go list ./... | grep "github.com\/ethereum\/go-ethereum\/[d-n].*")
|
||||
|
||||
- stage: test O-R packages
|
||||
name: C-[n-o] tests
|
||||
- script: go run build/ci.go test -coverage $(go list ./... | grep "github.com\/ethereum\/go-ethereum\/c[p-z].*")
|
||||
os: linux
|
||||
dist: bionic
|
||||
go: 1.15.x
|
||||
go: 1.14.x
|
||||
env:
|
||||
- GO111MODULE=auto
|
||||
script:
|
||||
- go run build/ci.go test -coverage $(go list ./... | grep "github.com\/ethereum\/go-ethereum\/[o-r].*")
|
||||
|
||||
- stage: test S-Z packages
|
||||
name: C-[p-z] tests
|
||||
- script: go run build/ci.go test -coverage $(go list ./... | grep "github.com\/ethereum\/go-ethereum\/[d-i].*")
|
||||
os: linux
|
||||
dist: bionic
|
||||
go: 1.15.x
|
||||
go: 1.14.x
|
||||
env:
|
||||
- GO111MODULE=auto
|
||||
script:
|
||||
- go run build/ci.go test -coverage $(go list ./... | grep "github.com\/ethereum\/go-ethereum\/[s-z].*")
|
||||
name: D-I tests
|
||||
- script: go run build/ci.go test -coverage $(go list ./... | grep "github.com\/ethereum\/go-ethereum\/[j-n].*")
|
||||
os: linux
|
||||
dist: bionic
|
||||
go: 1.14.x
|
||||
env:
|
||||
- GO111MODULE=auto
|
||||
name: J-N tests
|
||||
- script: go run build/ci.go test -coverage $(go list ./... | grep "github.com\/ethereum\/go-ethereum\/[o-r].*")
|
||||
os: linux
|
||||
dist: bionic
|
||||
go: 1.14.x
|
||||
env:
|
||||
- GO111MODULE=auto
|
||||
name: O-R tests
|
||||
- script: go run build/ci.go test -v -coverage $(go list ./... | grep "github.com\/ethereum\/go-ethereum\/s.*")
|
||||
os: linux
|
||||
dist: bionic
|
||||
go: 1.14.x
|
||||
env:
|
||||
- GO111MODULE=auto
|
||||
name: S tests
|
||||
- script: go run build/ci.go test -coverage $(go list ./... | grep "github.com\/ethereum\/go-ethereum\/[t-z].*")
|
||||
os: linux
|
||||
dist: bionic
|
||||
go: 1.14.x
|
||||
env:
|
||||
- GO111MODULE=auto
|
||||
name: T-Z tests
|
||||
|
|
@ -19,15 +19,7 @@
|
|||
package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"github.com/ethereum/go-ethereum/log"
|
||||
"io"
|
||||
"io/ioutil"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"testing"
|
||||
|
||||
"github.com/ethereum/go-ethereum/cmd/utils"
|
||||
)
|
||||
|
||||
type testFile struct {
|
||||
|
|
@ -61,197 +53,197 @@ func TestCLISwarmFsDefaultIPCPath(t *testing.T) {
|
|||
// and without any log messages in the log:
|
||||
// /Library/Filesystems/osxfuse.fs/Contents/Resources/load_osxfuse.
|
||||
// This is the reason for this file not being built on darwin architecture.
|
||||
func TestCLISwarmFs(t *testing.T) {
|
||||
cluster := newTestCluster(t, 3)
|
||||
defer cluster.Shutdown()
|
||||
// func TestCLISwarmFs(t *testing.T) {
|
||||
// cluster := newTestCluster(t, 3)
|
||||
// defer cluster.Shutdown()
|
||||
|
||||
// create a tmp dir
|
||||
mountPoint, err := ioutil.TempDir("", "swarm-test")
|
||||
log.Debug("swarmfs cli test", "1st mount", mountPoint)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
defer os.RemoveAll(mountPoint)
|
||||
// // create a tmp dir
|
||||
// mountPoint, err := ioutil.TempDir("", "swarm-test")
|
||||
// log.Debug("swarmfs cli test", "1st mount", mountPoint)
|
||||
// if err != nil {
|
||||
// t.Fatal(err)
|
||||
// }
|
||||
// defer os.RemoveAll(mountPoint)
|
||||
|
||||
handlingNode := cluster.Nodes[0]
|
||||
mhash := doUploadEmptyDir(t, handlingNode)
|
||||
log.Debug("swarmfs cli test: mounting first run", "ipc path", filepath.Join(handlingNode.Dir, handlingNode.IpcPath))
|
||||
// handlingNode := cluster.Nodes[0]
|
||||
// mhash := doUploadEmptyDir(t, handlingNode)
|
||||
// log.Debug("swarmfs cli test: mounting first run", "ipc path", filepath.Join(handlingNode.Dir, handlingNode.IpcPath))
|
||||
|
||||
mount := runSwarm(t, []string{
|
||||
fmt.Sprintf("--%s", utils.IPCPathFlag.Name), filepath.Join(handlingNode.Dir, handlingNode.IpcPath),
|
||||
"fs",
|
||||
"mount",
|
||||
mhash,
|
||||
mountPoint,
|
||||
}...)
|
||||
mount.ExpectExit()
|
||||
// mount := runSwarm(t, []string{
|
||||
// fmt.Sprintf("--%s", utils.IPCPathFlag.Name), filepath.Join(handlingNode.Dir, handlingNode.IpcPath),
|
||||
// "fs",
|
||||
// "mount",
|
||||
// mhash,
|
||||
// mountPoint,
|
||||
// }...)
|
||||
// mount.ExpectExit()
|
||||
|
||||
filesToAssert := []*testFile{}
|
||||
// filesToAssert := []*testFile{}
|
||||
|
||||
dirPath, err := createDirInDir(mountPoint, "testSubDir")
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
dirPath2, err := createDirInDir(dirPath, "AnotherTestSubDir")
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
// dirPath, err := createDirInDir(mountPoint, "testSubDir")
|
||||
// if err != nil {
|
||||
// t.Fatal(err)
|
||||
// }
|
||||
// dirPath2, err := createDirInDir(dirPath, "AnotherTestSubDir")
|
||||
// if err != nil {
|
||||
// t.Fatal(err)
|
||||
// }
|
||||
|
||||
dummyContent := "somerandomtestcontentthatshouldbeasserted"
|
||||
dirs := []string{
|
||||
mountPoint,
|
||||
dirPath,
|
||||
dirPath2,
|
||||
}
|
||||
files := []string{"f1.tmp", "f2.tmp"}
|
||||
for _, d := range dirs {
|
||||
for _, entry := range files {
|
||||
tFile, err := createTestFileInPath(d, entry, dummyContent)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
filesToAssert = append(filesToAssert, tFile)
|
||||
}
|
||||
}
|
||||
if len(filesToAssert) != len(dirs)*len(files) {
|
||||
t.Fatalf("should have %d files to assert now, got %d", len(dirs)*len(files), len(filesToAssert))
|
||||
}
|
||||
//hashRegexp := `[a-f\d]{64}`
|
||||
//log.Debug("swarmfs cli test: unmounting first run...", "ipc path", filepath.Join(handlingNode.Dir, handlingNode.IpcPath))
|
||||
// dummyContent := "somerandomtestcontentthatshouldbeasserted"
|
||||
// dirs := []string{
|
||||
// mountPoint,
|
||||
// dirPath,
|
||||
// dirPath2,
|
||||
// }
|
||||
// files := []string{"f1.tmp", "f2.tmp"}
|
||||
// for _, d := range dirs {
|
||||
// for _, entry := range files {
|
||||
// tFile, err := createTestFileInPath(d, entry, dummyContent)
|
||||
// if err != nil {
|
||||
// t.Fatal(err)
|
||||
// }
|
||||
// filesToAssert = append(filesToAssert, tFile)
|
||||
// }
|
||||
// }
|
||||
// if len(filesToAssert) != len(dirs)*len(files) {
|
||||
// t.Fatalf("should have %d files to assert now, got %d", len(dirs)*len(files), len(filesToAssert))
|
||||
// }
|
||||
// //hashRegexp := `[a-f\d]{64}`
|
||||
// //log.Debug("swarmfs cli test: unmounting first run...", "ipc path", filepath.Join(handlingNode.Dir, handlingNode.IpcPath))
|
||||
|
||||
// unmount := runSwarm(t, []string{
|
||||
// fmt.Sprintf("--%s", utils.IPCPathFlag.Name), filepath.Join(handlingNode.Dir, handlingNode.IpcPath),
|
||||
// "fs",
|
||||
// "unmount",
|
||||
// mountPoint,
|
||||
// }...)
|
||||
// _, matches := unmount.ExpectRegexp(hashRegexp)
|
||||
// unmount.ExpectExit()
|
||||
//
|
||||
// hash := matches[0]
|
||||
// if hash == mhash {
|
||||
// t.Fatal("this should not be equal")
|
||||
// }
|
||||
// log.Debug("swarmfs cli test: asserting no files in mount point")
|
||||
//
|
||||
// //check that there's nothing in the mount folder
|
||||
// filesInDir, err := ioutil.ReadDir(mountPoint)
|
||||
// if err != nil {
|
||||
// t.Fatalf("had an error reading the directory: %v", err)
|
||||
// }
|
||||
//
|
||||
// if len(filesInDir) != 0 {
|
||||
// t.Fatal("there shouldn't be anything here")
|
||||
// }
|
||||
//
|
||||
// secondMountPoint, err := ioutil.TempDir("", "swarm-test")
|
||||
// log.Debug("swarmfs cli test", "2nd mount point at", secondMountPoint)
|
||||
// if err != nil {
|
||||
// t.Fatal(err)
|
||||
// }
|
||||
// defer os.RemoveAll(secondMountPoint)
|
||||
//
|
||||
// log.Debug("swarmfs cli test: remounting at second mount point", "ipc path", filepath.Join(handlingNode.Dir, handlingNode.IpcPath))
|
||||
//
|
||||
// //remount, check files
|
||||
// newMount := runSwarm(t, []string{
|
||||
// fmt.Sprintf("--%s", utils.IPCPathFlag.Name), filepath.Join(handlingNode.Dir, handlingNode.IpcPath),
|
||||
// "fs",
|
||||
// "mount",
|
||||
// hash, // the latest hash
|
||||
// secondMountPoint,
|
||||
// }...)
|
||||
//
|
||||
// newMount.ExpectExit()
|
||||
// time.Sleep(1 * time.Second)
|
||||
//
|
||||
// filesInDir, err = ioutil.ReadDir(secondMountPoint)
|
||||
// if err != nil {
|
||||
// t.Fatal(err)
|
||||
// }
|
||||
//
|
||||
// if len(filesInDir) == 0 {
|
||||
// t.Fatal("there should be something here")
|
||||
// }
|
||||
//
|
||||
// log.Debug("swarmfs cli test: traversing file tree to see it matches previous mount")
|
||||
//
|
||||
// for _, file := range filesToAssert {
|
||||
// file.filePath = strings.Replace(file.filePath, mountPoint, secondMountPoint, -1)
|
||||
// fileBytes, err := ioutil.ReadFile(file.filePath)
|
||||
//
|
||||
// if err != nil {
|
||||
// t.Fatal(err)
|
||||
// }
|
||||
// if !bytes.Equal(fileBytes, bytes.NewBufferString(file.content).Bytes()) {
|
||||
// t.Fatal("this should be equal")
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// log.Debug("swarmfs cli test: unmounting second run", "ipc path", filepath.Join(handlingNode.Dir, handlingNode.IpcPath))
|
||||
//
|
||||
// unmountSec := runSwarm(t, []string{
|
||||
// fmt.Sprintf("--%s", utils.IPCPathFlag.Name), filepath.Join(handlingNode.Dir, handlingNode.IpcPath),
|
||||
// "fs",
|
||||
// "unmount",
|
||||
// secondMountPoint,
|
||||
// }...)
|
||||
//
|
||||
// _, matches = unmountSec.ExpectRegexp(hashRegexp)
|
||||
// unmountSec.ExpectExit()
|
||||
//
|
||||
// if matches[0] != hash {
|
||||
// t.Fatal("these should be equal - no changes made")
|
||||
// }
|
||||
}
|
||||
// // unmount := runSwarm(t, []string{
|
||||
// // fmt.Sprintf("--%s", utils.IPCPathFlag.Name), filepath.Join(handlingNode.Dir, handlingNode.IpcPath),
|
||||
// // "fs",
|
||||
// // "unmount",
|
||||
// // mountPoint,
|
||||
// // }...)
|
||||
// // _, matches := unmount.ExpectRegexp(hashRegexp)
|
||||
// // unmount.ExpectExit()
|
||||
// //
|
||||
// // hash := matches[0]
|
||||
// // if hash == mhash {
|
||||
// // t.Fatal("this should not be equal")
|
||||
// // }
|
||||
// // log.Debug("swarmfs cli test: asserting no files in mount point")
|
||||
// //
|
||||
// // //check that there's nothing in the mount folder
|
||||
// // filesInDir, err := ioutil.ReadDir(mountPoint)
|
||||
// // if err != nil {
|
||||
// // t.Fatalf("had an error reading the directory: %v", err)
|
||||
// // }
|
||||
// //
|
||||
// // if len(filesInDir) != 0 {
|
||||
// // t.Fatal("there shouldn't be anything here")
|
||||
// // }
|
||||
// //
|
||||
// // secondMountPoint, err := ioutil.TempDir("", "swarm-test")
|
||||
// // log.Debug("swarmfs cli test", "2nd mount point at", secondMountPoint)
|
||||
// // if err != nil {
|
||||
// // t.Fatal(err)
|
||||
// // }
|
||||
// // defer os.RemoveAll(secondMountPoint)
|
||||
// //
|
||||
// // log.Debug("swarmfs cli test: remounting at second mount point", "ipc path", filepath.Join(handlingNode.Dir, handlingNode.IpcPath))
|
||||
// //
|
||||
// // //remount, check files
|
||||
// // newMount := runSwarm(t, []string{
|
||||
// // fmt.Sprintf("--%s", utils.IPCPathFlag.Name), filepath.Join(handlingNode.Dir, handlingNode.IpcPath),
|
||||
// // "fs",
|
||||
// // "mount",
|
||||
// // hash, // the latest hash
|
||||
// // secondMountPoint,
|
||||
// // }...)
|
||||
// //
|
||||
// // newMount.ExpectExit()
|
||||
// // time.Sleep(1 * time.Second)
|
||||
// //
|
||||
// // filesInDir, err = ioutil.ReadDir(secondMountPoint)
|
||||
// // if err != nil {
|
||||
// // t.Fatal(err)
|
||||
// // }
|
||||
// //
|
||||
// // if len(filesInDir) == 0 {
|
||||
// // t.Fatal("there should be something here")
|
||||
// // }
|
||||
// //
|
||||
// // log.Debug("swarmfs cli test: traversing file tree to see it matches previous mount")
|
||||
// //
|
||||
// // for _, file := range filesToAssert {
|
||||
// // file.filePath = strings.Replace(file.filePath, mountPoint, secondMountPoint, -1)
|
||||
// // fileBytes, err := ioutil.ReadFile(file.filePath)
|
||||
// //
|
||||
// // if err != nil {
|
||||
// // t.Fatal(err)
|
||||
// // }
|
||||
// // if !bytes.Equal(fileBytes, bytes.NewBufferString(file.content).Bytes()) {
|
||||
// // t.Fatal("this should be equal")
|
||||
// // }
|
||||
// // }
|
||||
// //
|
||||
// // log.Debug("swarmfs cli test: unmounting second run", "ipc path", filepath.Join(handlingNode.Dir, handlingNode.IpcPath))
|
||||
// //
|
||||
// // unmountSec := runSwarm(t, []string{
|
||||
// // fmt.Sprintf("--%s", utils.IPCPathFlag.Name), filepath.Join(handlingNode.Dir, handlingNode.IpcPath),
|
||||
// // "fs",
|
||||
// // "unmount",
|
||||
// // secondMountPoint,
|
||||
// // }...)
|
||||
// //
|
||||
// // _, matches = unmountSec.ExpectRegexp(hashRegexp)
|
||||
// // unmountSec.ExpectExit()
|
||||
// //
|
||||
// // if matches[0] != hash {
|
||||
// // t.Fatal("these should be equal - no changes made")
|
||||
// // }
|
||||
// }
|
||||
|
||||
func doUploadEmptyDir(t *testing.T, node *testNode) string {
|
||||
// create a tmp dir
|
||||
tmpDir, err := ioutil.TempDir("", "swarm-test")
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
defer os.RemoveAll(tmpDir)
|
||||
// func doUploadEmptyDir(t *testing.T, node *testNode) string {
|
||||
// // create a tmp dir
|
||||
// tmpDir, err := ioutil.TempDir("", "swarm-test")
|
||||
// if err != nil {
|
||||
// t.Fatal(err)
|
||||
// }
|
||||
// defer os.RemoveAll(tmpDir)
|
||||
|
||||
hashRegexp := `[a-f\d]{64}`
|
||||
// hashRegexp := `[a-f\d]{64}`
|
||||
|
||||
flags := []string{
|
||||
"--bzzapi", node.URL,
|
||||
"--recursive",
|
||||
"up",
|
||||
tmpDir}
|
||||
// flags := []string{
|
||||
// "--bzzapi", node.URL,
|
||||
// "--recursive",
|
||||
// "up",
|
||||
// tmpDir}
|
||||
|
||||
log.Info("swarmfs cli test: uploading dir with 'swarm up'")
|
||||
up := runSwarm(t, flags...)
|
||||
_, matches := up.ExpectRegexp(hashRegexp)
|
||||
up.ExpectExit()
|
||||
hash := matches[0]
|
||||
log.Info("swarmfs cli test: dir uploaded", "hash", hash)
|
||||
return hash
|
||||
}
|
||||
// log.Info("swarmfs cli test: uploading dir with 'swarm up'")
|
||||
// up := runSwarm(t, flags...)
|
||||
// _, matches := up.ExpectRegexp(hashRegexp)
|
||||
// up.ExpectExit()
|
||||
// hash := matches[0]
|
||||
// log.Info("swarmfs cli test: dir uploaded", "hash", hash)
|
||||
// return hash
|
||||
// }
|
||||
|
||||
func createDirInDir(createInDir string, dirToCreate string) (string, error) {
|
||||
fullpath := filepath.Join(createInDir, dirToCreate)
|
||||
err := os.MkdirAll(fullpath, 0777)
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
return fullpath, nil
|
||||
}
|
||||
// func createDirInDir(createInDir string, dirToCreate string) (string, error) {
|
||||
// fullpath := filepath.Join(createInDir, dirToCreate)
|
||||
// err := os.MkdirAll(fullpath, 0777)
|
||||
// if err != nil {
|
||||
// return "", err
|
||||
// }
|
||||
// return fullpath, nil
|
||||
// }
|
||||
|
||||
func createTestFileInPath(dir, filename, content string) (*testFile, error) {
|
||||
tFile := &testFile{}
|
||||
filePath := filepath.Join(dir, filename)
|
||||
if file, err := os.Create(filePath); err == nil {
|
||||
tFile.content = content
|
||||
tFile.filePath = filePath
|
||||
// func createTestFileInPath(dir, filename, content string) (*testFile, error) {
|
||||
// tFile := &testFile{}
|
||||
// filePath := filepath.Join(dir, filename)
|
||||
// if file, err := os.Create(filePath); err == nil {
|
||||
// tFile.content = content
|
||||
// tFile.filePath = filePath
|
||||
|
||||
_, err = io.WriteString(file, content)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
file.Close()
|
||||
}
|
||||
// _, err = io.WriteString(file, content)
|
||||
// if err != nil {
|
||||
// return nil, err
|
||||
// }
|
||||
// file.Close()
|
||||
// }
|
||||
|
||||
return tFile, nil
|
||||
}
|
||||
// return tFile, nil
|
||||
// }
|
||||
|
|
|
|||
|
|
@ -63,29 +63,29 @@ func TestSwarmNetwork(t *testing.T) {
|
|||
options *testSwarmNetworkOptions
|
||||
disabled bool
|
||||
}{
|
||||
{
|
||||
name: "10_nodes",
|
||||
steps: []testSwarmNetworkStep{
|
||||
{
|
||||
nodeCount: 10,
|
||||
},
|
||||
},
|
||||
options: &testSwarmNetworkOptions{
|
||||
Timeout: 45 * time.Second,
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "10_nodes_skip_check",
|
||||
steps: []testSwarmNetworkStep{
|
||||
{
|
||||
nodeCount: 10,
|
||||
},
|
||||
},
|
||||
options: &testSwarmNetworkOptions{
|
||||
Timeout: 45 * time.Second,
|
||||
SkipCheck: true,
|
||||
},
|
||||
},
|
||||
// {
|
||||
// name: "10_nodes",
|
||||
// steps: []testSwarmNetworkStep{
|
||||
// {
|
||||
// nodeCount: 10,
|
||||
// },
|
||||
// },
|
||||
// options: &testSwarmNetworkOptions{
|
||||
// Timeout: 45 * time.Second,
|
||||
// },
|
||||
// },
|
||||
// {
|
||||
// name: "10_nodes_skip_check",
|
||||
// steps: []testSwarmNetworkStep{
|
||||
// {
|
||||
// nodeCount: 10,
|
||||
// },
|
||||
// },
|
||||
// options: &testSwarmNetworkOptions{
|
||||
// Timeout: 45 * time.Second,
|
||||
// SkipCheck: true,
|
||||
// },
|
||||
// },
|
||||
{
|
||||
name: "50_nodes",
|
||||
steps: []testSwarmNetworkStep{
|
||||
|
|
|
|||
|
|
@ -1362,6 +1362,9 @@ func worker(id int, jobs <-chan Job, rpcs map[enode.ID]*rpc.Client, pubkeys map[
|
|||
}
|
||||
|
||||
func TestNetwork(t *testing.T) {
|
||||
if !*longrunning {
|
||||
t.Skip("run with --longrunning flag to run extensive network tests")
|
||||
}
|
||||
t.Run("16/1000/4/sim", testNetwork)
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue