From 435a1ec6eec0324782133eafa0d92b9f085a9239 Mon Sep 17 00:00:00 2001 From: Nhu Viet Nguyen Date: Thu, 25 Aug 2022 12:03:30 +0200 Subject: [PATCH] feat: remove redundant code. rework block response. remove ctx redundancy checker --- testkit/appkit/app.go | 23 +++++++++++++---------- testkit/sync.go | 1 - tests/app-sync/run_seeds.go | 9 +-------- tests/app-sync/run_validators.go | 3 --- tests/node-sync/run_bridge.go | 25 +++++++++++++++++++++++++ tests/node-sync/run_full.go | 26 +------------------------- tests/node-sync/run_light.go | 27 +-------------------------- 7 files changed, 41 insertions(+), 73 deletions(-) diff --git a/testkit/appkit/app.go b/testkit/appkit/app.go index 3c0a3901..542c2dca 100644 --- a/testkit/appkit/app.go +++ b/testkit/appkit/app.go @@ -106,33 +106,33 @@ func (ak *AppKit) PayForData(accAdr string, msg int, krbackend, chainId, home st ak.Cmd.SetArgs([]string{ "tx", "payment", "payForData", fmt.Sprint(msg), "--from", accAdr, "-b", "block", "-y", "--gas", "1000000000", - "--fees", "100000000000utia", //15 + "--fees", "100000000000utia", "--keyring-backend", krbackend, "--chain-id", chainId, "--home", home, "--keyring-dir", home, }) return svrcmd.Execute(ak.Cmd, appcmd.EnvPrefix, app.DefaultNodeHome) } -func getResultBlockResponse(uri string) (coretypes.ResultBlock, error) { +func getResultBlockResponse(uri string) (*coretypes.ResultBlock, error) { resp, err := http.Get(uri) if err != nil { - return coretypes.ResultBlock{}, err + return nil, err } defer resp.Body.Close() body, err := ioutil.ReadAll(resp.Body) if err != nil { - return coretypes.ResultBlock{}, err + return nil, err } var rpcResponse types.RPCResponse if err := rpcResponse.UnmarshalJSON(body); err != nil { - return coretypes.ResultBlock{}, err + return nil, err } - var resBlock coretypes.ResultBlock + var resBlock *coretypes.ResultBlock if err := tmjson.Unmarshal(rpcResponse.Result, &resBlock); err != nil { - return coretypes.ResultBlock{}, err + return nil, err } return resBlock, nil @@ -182,9 +182,12 @@ func updateConfig(path, key string, value interface{}) error { } func AddSeedPeers(path string, peers []string) error { - var peersStr bytes.Buffer - var port int = 26656 - var separator string = "," + var ( + peersStr bytes.Buffer + port int = 26656 + separator string = "," + ) + for k, peer := range peers { if k == (len(peers) - 1) { separator = "" diff --git a/testkit/sync.go b/testkit/sync.go index 602fa1a9..73af8c46 100644 --- a/testkit/sync.go +++ b/testkit/sync.go @@ -43,5 +43,4 @@ var ( AppStartedState = sync.State("app-started") BridgeStartedState = sync.State("bridge-started") FinishState = sync.State("test-finished") - FinalGenesisState = sync.State("final-genesis") ) diff --git a/tests/app-sync/run_seeds.go b/tests/app-sync/run_seeds.go index dfea9e35..2d322f02 100644 --- a/tests/app-sync/run_seeds.go +++ b/tests/app-sync/run_seeds.go @@ -31,7 +31,6 @@ func RunSeed(runenv *runtime.RunEnv, initCtx *run.InitContext) error { Network: "default", Enable: true, Default: network.LinkShape{ - // Latency: 100 * time.Millisecond, Bandwidth: 4 << 26, // 256Mib }, CallbackState: "network-configured", @@ -61,11 +60,6 @@ func RunSeed(runenv *runtime.RunEnv, initCtx *run.InitContext) error { return err } - err = <-syncclient.MustBarrier(ctx, testkit.FinalGenesisState, 1).C - if err != nil { - return err - } - initGenCh := make(chan string) sub, err := syncclient.Subscribe(ctx, testkit.InitialGenenesisTopic, initGenCh) if err != nil { @@ -104,10 +98,9 @@ func RunSeed(runenv *runtime.RunEnv, initCtx *run.InitContext) error { go cmd.StartNode(home, "info") // // wait for a new block to be produced - time.Sleep(10 * time.Minute) + time.Sleep(1 * time.Minute) runenv.RecordSuccess() - // } return nil } diff --git a/tests/app-sync/run_validators.go b/tests/app-sync/run_validators.go index 1063a6d7..785be601 100644 --- a/tests/app-sync/run_validators.go +++ b/tests/app-sync/run_validators.go @@ -31,10 +31,7 @@ func RunValidator(runenv *runtime.RunEnv, initCtx *run.InitContext) error { Network: "default", Enable: true, Default: network.LinkShape{ - // Latency: 100 * time.Millisecond, - // Bandwidth: 4 << 26, // 256Mib Bandwidth: 5 << 26, // 320Mib - // Bandwidth: 4 << 27, // 512Mib }, CallbackState: "network-configured", RoutingPolicy: network.AllowAll, diff --git a/tests/node-sync/run_bridge.go b/tests/node-sync/run_bridge.go index f57bdc34..f3cbc6c4 100644 --- a/tests/node-sync/run_bridge.go +++ b/tests/node-sync/run_bridge.go @@ -14,6 +14,7 @@ import ( "github.com/testground/sdk-go/network" "github.com/testground/sdk-go/run" "github.com/testground/sdk-go/runtime" + "github.com/testground/sdk-go/sync" ) func RunBridgeNode(runenv *runtime.RunEnv, initCtx *run.InitContext) error { @@ -156,3 +157,27 @@ func RunBridgeNode(runenv *runtime.RunEnv, initCtx *run.InitContext) error { return nil } + +func GetBridgeNode(ctx context.Context, syncclient sync.Client, id int64, amountOfBridges int) (*testkit.BridgeNodeInfo, error) { + bridgeCh := make(chan *testkit.BridgeNodeInfo, amountOfBridges) + sub, err := syncclient.Subscribe(ctx, testkit.BridgeNodeTopic, bridgeCh) + if err != nil { + return nil, err + } + + for { + select { + case err = <-sub.Done(): + if err != nil { + return nil, + fmt.Errorf("no bridge address has been sent to this light node to connect to") + } + case bridge := <-bridgeCh: + fmt.Printf("Received Bridge ID = %d", bridge.ID) + if (int(id) % amountOfBridges) == (bridge.ID % amountOfBridges) { + return bridge, nil + } + } + } + +} diff --git a/tests/node-sync/run_full.go b/tests/node-sync/run_full.go index b5757348..6c7a20e4 100644 --- a/tests/node-sync/run_full.go +++ b/tests/node-sync/run_full.go @@ -51,31 +51,7 @@ func RunFullNode(runenv *runtime.RunEnv, initCtx *run.InitContext) error { return err } - bridgeCh := make(chan *testkit.BridgeNodeInfo, runenv.IntParam("bridge")) - sub, err := syncclient.Subscribe(ctx, testkit.BridgeNodeTopic, bridgeCh) - if err != nil { - return err - } - - bridgeNode, err := func(total int) (*testkit.BridgeNodeInfo, error) { - for { - select { - case err = <-sub.Done(): - if err != nil { - return nil, err - } - case <-ctx.Done(): - return nil, - fmt.Errorf("no bridge address has been sent to this light node to connect to") - case bridge := <-bridgeCh: - runenv.RecordMessage("Received Bridge ID = %d", bridge.ID) - if (int(initCtx.GlobalSeq) % total) == (bridge.ID % total) { - return bridge, nil - } - } - } - }(runenv.IntParam("bridge")) - + bridgeNode, err := GetBridgeNode(ctx, syncclient, initCtx.GlobalSeq, runenv.IntParam("bridge")) if err != nil { return err } diff --git a/tests/node-sync/run_light.go b/tests/node-sync/run_light.go index b39cd583..ec4b4180 100644 --- a/tests/node-sync/run_light.go +++ b/tests/node-sync/run_light.go @@ -51,31 +51,7 @@ func RunLightNode(runenv *runtime.RunEnv, initCtx *run.InitContext) error { return err } - bridgeCh := make(chan *testkit.BridgeNodeInfo, runenv.IntParam("bridge")) //4 - sub, err := syncclient.Subscribe(ctx, testkit.BridgeNodeTopic, bridgeCh) - if err != nil { - return err - } - - bridgeNode, err := func(total int) (*testkit.BridgeNodeInfo, error) { - for { - select { - case err = <-sub.Done(): - if err != nil { - return nil, err - } - case <-ctx.Done(): - return nil, - fmt.Errorf("no bridge address has been sent to this light node to connect to") - case bridge := <-bridgeCh: - runenv.RecordMessage("Received Bridge ID = %d", bridge.ID) - if (int(initCtx.GlobalSeq) % total) == (bridge.ID % total) { - return bridge, nil - } - } - } - }(runenv.IntParam("bridge")) - + bridgeNode, err := GetBridgeNode(ctx, syncclient, initCtx.GlobalSeq, runenv.IntParam("bridge")) if err != nil { return err } @@ -109,7 +85,6 @@ func RunLightNode(runenv *runtime.RunEnv, initCtx *run.InitContext) error { } runenv.RecordMessage("Reached Block#6 contains Hash: %s", eh.Commit.BlockID.Hash.String()) - runenv.RecordSuccess() err = nd.Stop(ctx) if err != nil {