From 16e8bfc3651820e69abf5019946cde9ddf6072d8 Mon Sep 17 00:00:00 2001 From: Alessio Treglia Date: Mon, 3 Dec 2018 10:49:44 +0000 Subject: [PATCH] Merge PR #2974: Cleanup home dirs when cli testcases exit with success * Cleanup dirs when testcases exit with success Also remove unnecessary tests.WaitForNextNBlocksTM() calls which slow down tests execution. * Don't wait for 2 blocks --- cmd/gaia/cli_test/cli_test.go | 61 +++++++++++++++++++++-------------- 1 file changed, 36 insertions(+), 25 deletions(-) diff --git a/cmd/gaia/cli_test/cli_test.go b/cmd/gaia/cli_test/cli_test.go index 3d5e9baaa3..2bc4b70989 100644 --- a/cmd/gaia/cli_test/cli_test.go +++ b/cmd/gaia/cli_test/cli_test.go @@ -42,7 +42,7 @@ func TestGaiaCLIMinimumFees(t *testing.T) { defer proc.Stop(false) tests.WaitForTMStart(port) - tests.WaitForNextNBlocksTM(2, port) + tests.WaitForNextNBlocksTM(1, port) fooAddr, _ := executeGetAddrPK(t, fmt.Sprintf("gaiacli keys show foo --output=json --home=%s", gaiacliHome)) barAddr, _ := executeGetAddrPK(t, fmt.Sprintf("gaiacli keys show bar --output=json --home=%s", gaiacliHome)) @@ -53,8 +53,7 @@ func TestGaiaCLIMinimumFees(t *testing.T) { success := executeWrite(t, fmt.Sprintf( "gaiacli tx send %v --amount=10%s --to=%s --from=foo", flags, stakeTypes.DefaultBondDenom, barAddr), app.DefaultKeyPass) require.False(t, success) - tests.WaitForNextNBlocksTM(2, port) - + cleanupDirs(gaiadHome, gaiacliHome) } func TestGaiaCLIFeesDeduction(t *testing.T) { @@ -67,7 +66,7 @@ func TestGaiaCLIFeesDeduction(t *testing.T) { defer proc.Stop(false) tests.WaitForTMStart(port) - tests.WaitForNextNBlocksTM(2, port) + tests.WaitForNextNBlocksTM(1, port) fooAddr, _ := executeGetAddrPK(t, fmt.Sprintf("gaiacli keys show foo --output=json --home=%s", gaiacliHome)) barAddr, _ := executeGetAddrPK(t, fmt.Sprintf("gaiacli keys show bar --output=json --home=%s", gaiacliHome)) @@ -79,7 +78,7 @@ func TestGaiaCLIFeesDeduction(t *testing.T) { success := executeWrite(t, fmt.Sprintf( "gaiacli tx send %v --amount=1000fooToken --to=%s --from=foo --fee=1fooToken --dry-run", flags, barAddr), app.DefaultKeyPass) require.True(t, success) - tests.WaitForNextNBlocksTM(2, port) + tests.WaitForNextNBlocksTM(1, port) // ensure state didn't change fooAcc = executeGetAccount(t, fmt.Sprintf("gaiacli query account %s %v", fooAddr, flags)) require.Equal(t, int64(1000), fooAcc.GetCoins().AmountOf("fooToken").Int64()) @@ -88,7 +87,7 @@ func TestGaiaCLIFeesDeduction(t *testing.T) { success = executeWrite(t, fmt.Sprintf( "gaiacli tx send %v --amount=1000fooToken --to=%s --from=foo --fee=1fooToken", flags, barAddr), app.DefaultKeyPass) require.False(t, success) - tests.WaitForNextNBlocksTM(2, port) + tests.WaitForNextNBlocksTM(1, port) // ensure state didn't change fooAcc = executeGetAccount(t, fmt.Sprintf("gaiacli query account %s %v", fooAddr, flags)) require.Equal(t, int64(1000), fooAcc.GetCoins().AmountOf("fooToken").Int64()) @@ -97,7 +96,7 @@ func TestGaiaCLIFeesDeduction(t *testing.T) { success = executeWrite(t, fmt.Sprintf( "gaiacli tx send %v --fee=300fooToken --amount=500fooToken --to=%s --from=foo", flags, barAddr), app.DefaultKeyPass) require.True(t, success) - tests.WaitForNextNBlocksTM(2, port) + cleanupDirs(gaiadHome, gaiacliHome) } func TestGaiaCLISend(t *testing.T) { @@ -110,7 +109,7 @@ func TestGaiaCLISend(t *testing.T) { defer proc.Stop(false) tests.WaitForTMStart(port) - tests.WaitForNextNBlocksTM(2, port) + tests.WaitForNextNBlocksTM(1, port) fooAddr, _ := executeGetAddrPK(t, fmt.Sprintf("gaiacli keys show foo --output=json --home=%s", gaiacliHome)) barAddr, _ := executeGetAddrPK(t, fmt.Sprintf("gaiacli keys show bar --output=json --home=%s", gaiacliHome)) @@ -119,7 +118,7 @@ func TestGaiaCLISend(t *testing.T) { require.Equal(t, int64(50), fooAcc.GetCoins().AmountOf(stakeTypes.DefaultBondDenom).Int64()) executeWrite(t, fmt.Sprintf("gaiacli tx send %v --amount=10%s --to=%s --from=foo", flags, stakeTypes.DefaultBondDenom, barAddr), app.DefaultKeyPass) - tests.WaitForNextNBlocksTM(2, port) + tests.WaitForNextNBlocksTM(1, port) barAcc := executeGetAccount(t, fmt.Sprintf("gaiacli query account %s %v", barAddr, flags)) require.Equal(t, int64(10), barAcc.GetCoins().AmountOf(stakeTypes.DefaultBondDenom).Int64()) @@ -135,7 +134,7 @@ func TestGaiaCLISend(t *testing.T) { // test autosequencing executeWrite(t, fmt.Sprintf("gaiacli tx send %v --amount=10%s --to=%s --from=foo", flags, stakeTypes.DefaultBondDenom, barAddr), app.DefaultKeyPass) - tests.WaitForNextNBlocksTM(2, port) + tests.WaitForNextNBlocksTM(1, port) barAcc = executeGetAccount(t, fmt.Sprintf("gaiacli query account %s %v", barAddr, flags)) require.Equal(t, int64(20), barAcc.GetCoins().AmountOf(stakeTypes.DefaultBondDenom).Int64()) @@ -144,12 +143,13 @@ func TestGaiaCLISend(t *testing.T) { // test memo executeWrite(t, fmt.Sprintf("gaiacli tx send %v --amount=10%s --to=%s --from=foo --memo 'testmemo'", flags, stakeTypes.DefaultBondDenom, barAddr), app.DefaultKeyPass) - tests.WaitForNextNBlocksTM(2, port) + tests.WaitForNextNBlocksTM(1, port) barAcc = executeGetAccount(t, fmt.Sprintf("gaiacli query account %s %v", barAddr, flags)) require.Equal(t, int64(30), barAcc.GetCoins().AmountOf(stakeTypes.DefaultBondDenom).Int64()) fooAcc = executeGetAccount(t, fmt.Sprintf("gaiacli query account %s %v", fooAddr, flags)) require.Equal(t, int64(20), fooAcc.GetCoins().AmountOf(stakeTypes.DefaultBondDenom).Int64()) + cleanupDirs(gaiadHome, gaiacliHome) } func TestGaiaCLIGasAuto(t *testing.T) { @@ -162,7 +162,7 @@ func TestGaiaCLIGasAuto(t *testing.T) { defer proc.Stop(false) tests.WaitForTMStart(port) - tests.WaitForNextNBlocksTM(2, port) + tests.WaitForNextNBlocksTM(1, port) fooAddr, _ := executeGetAddrPK(t, fmt.Sprintf("gaiacli keys show foo --output=json --home=%s", gaiacliHome)) barAddr, _ := executeGetAddrPK(t, fmt.Sprintf("gaiacli keys show bar --output=json --home=%s", gaiacliHome)) @@ -173,7 +173,7 @@ func TestGaiaCLIGasAuto(t *testing.T) { // Test failure with auto gas disabled and very little gas set by hand success := executeWrite(t, fmt.Sprintf("gaiacli tx send %v --gas=10 --amount=10%s --to=%s --from=foo", flags, stakeTypes.DefaultBondDenom, barAddr), app.DefaultKeyPass) require.False(t, success) - tests.WaitForNextNBlocksTM(2, port) + tests.WaitForNextNBlocksTM(1, port) // Check state didn't change fooAcc = executeGetAccount(t, fmt.Sprintf("gaiacli query account %s %v", fooAddr, flags)) require.Equal(t, int64(50), fooAcc.GetCoins().AmountOf(stakeTypes.DefaultBondDenom).Int64()) @@ -198,10 +198,11 @@ func TestGaiaCLIGasAuto(t *testing.T) { }{} require.Nil(t, cdc.UnmarshalJSON([]byte(stdout), &jsonOutput)) require.Equal(t, jsonOutput.Response.GasWanted, jsonOutput.Response.GasUsed) - tests.WaitForNextNBlocksTM(2, port) + tests.WaitForNextNBlocksTM(1, port) // Check state has changed accordingly fooAcc = executeGetAccount(t, fmt.Sprintf("gaiacli query account %s %v", fooAddr, flags)) require.Equal(t, int64(40), fooAcc.GetCoins().AmountOf(stakeTypes.DefaultBondDenom).Int64()) + cleanupDirs(gaiadHome, gaiacliHome) } func TestGaiaCLICreateValidator(t *testing.T) { @@ -214,14 +215,14 @@ func TestGaiaCLICreateValidator(t *testing.T) { defer proc.Stop(false) tests.WaitForTMStart(port) - tests.WaitForNextNBlocksTM(2, port) + tests.WaitForNextNBlocksTM(1, port) fooAddr, _ := executeGetAddrPK(t, fmt.Sprintf("gaiacli keys show foo --output=json --home=%s", gaiacliHome)) barAddr, _ := executeGetAddrPK(t, fmt.Sprintf("gaiacli keys show bar --output=json --home=%s", gaiacliHome)) consPubKey := sdk.MustBech32ifyConsPub(ed25519.GenPrivKey().PubKey()) executeWrite(t, fmt.Sprintf("gaiacli tx send %v --amount=10%s --to=%s --from=foo", flags, stakeTypes.DefaultBondDenom, barAddr), app.DefaultKeyPass) - tests.WaitForNextNBlocksTM(2, port) + tests.WaitForNextNBlocksTM(1, port) barAcc := executeGetAccount(t, fmt.Sprintf("gaiacli query account %s %v", barAddr, flags)) require.Equal(t, int64(10), barAcc.GetCoins().AmountOf(stakeTypes.DefaultBondDenom).Int64()) @@ -259,7 +260,7 @@ func TestGaiaCLICreateValidator(t *testing.T) { require.True(t, success) executeWrite(t, cvStr, app.DefaultKeyPass) - tests.WaitForNextNBlocksTM(2, port) + tests.WaitForNextNBlocksTM(1, port) barAcc = executeGetAccount(t, fmt.Sprintf("gaiacli query account %s %v", barAddr, flags)) require.Equal(t, int64(8), barAcc.GetCoins().AmountOf(stakeTypes.DefaultBondDenom).Int64(), "%v", barAcc) @@ -280,7 +281,7 @@ func TestGaiaCLICreateValidator(t *testing.T) { success = executeWrite(t, unbondStr, app.DefaultKeyPass) require.True(t, success) - tests.WaitForNextNBlocksTM(2, port) + tests.WaitForNextNBlocksTM(1, port) /* // this won't be what we expect because we've only started unbonding, haven't completed barAcc = executeGetAccount(t, fmt.Sprintf("gaiacli query account %v %v", barCech, flags)) @@ -300,6 +301,7 @@ func TestGaiaCLICreateValidator(t *testing.T) { pool := executeGetPool(t, fmt.Sprintf("gaiacli query stake pool --output=json %v", flags)) require.Equal(t, initialPool.BondedTokens, pool.BondedTokens) + cleanupDirs(gaiadHome, gaiacliHome) } func TestGaiaCLISubmitProposal(t *testing.T) { @@ -312,7 +314,7 @@ func TestGaiaCLISubmitProposal(t *testing.T) { defer proc.Stop(false) tests.WaitForTMStart(port) - tests.WaitForNextNBlocksTM(2, port) + tests.WaitForNextNBlocksTM(1, port) executeGetDepositParam(t, fmt.Sprintf("gaiacli query gov param deposit %v", flags)) executeGetVotingParam(t, fmt.Sprintf("gaiacli query gov param voting %v", flags)) @@ -349,7 +351,7 @@ func TestGaiaCLISubmitProposal(t *testing.T) { require.True(t, success) executeWrite(t, spStr, app.DefaultKeyPass) - tests.WaitForNextNBlocksTM(2, port) + tests.WaitForNextNBlocksTM(1, port) txs := executeGetTxs(t, fmt.Sprintf("gaiacli query txs --tags='action:submit_proposal&proposer:%s' %v", fooAddr, flags)) require.Len(t, txs, 1) @@ -385,7 +387,7 @@ func TestGaiaCLISubmitProposal(t *testing.T) { require.Equal(t, 0, len(msg.GetSignatures())) executeWrite(t, depositStr, app.DefaultKeyPass) - tests.WaitForNextNBlocksTM(2, port) + tests.WaitForNextNBlocksTM(1, port) // test query deposit deposits := executeGetDeposits(t, @@ -424,7 +426,7 @@ func TestGaiaCLISubmitProposal(t *testing.T) { require.Equal(t, 0, len(msg.GetSignatures())) executeWrite(t, voteStr, app.DefaultKeyPass) - tests.WaitForNextNBlocksTM(2, port) + tests.WaitForNextNBlocksTM(1, port) vote := executeGetVote(t, fmt.Sprintf("gaiacli query gov vote --proposal-id=1 --voter=%s --output=json %v", fooAddr, flags)) require.Equal(t, uint64(1), vote.ProposalID) @@ -453,10 +455,11 @@ func TestGaiaCLISubmitProposal(t *testing.T) { spStr += fmt.Sprintf(" --description=%s", "test") executeWrite(t, spStr, app.DefaultKeyPass) - tests.WaitForNextNBlocksTM(2, port) + tests.WaitForNextNBlocksTM(1, port) proposalsQuery, _ = tests.ExecuteT(t, fmt.Sprintf("gaiacli query gov proposals --limit=1 %v", flags), "") require.Equal(t, " 2 - Apples", proposalsQuery) + cleanupDirs(gaiadHome, gaiacliHome) } func TestGaiaCLISendGenerateSignAndBroadcast(t *testing.T) { @@ -470,7 +473,7 @@ func TestGaiaCLISendGenerateSignAndBroadcast(t *testing.T) { defer proc.Stop(false) tests.WaitForTMStart(port) - tests.WaitForNextNBlocksTM(2, port) + tests.WaitForNextNBlocksTM(1, port) fooAddr, _ := executeGetAddrPK(t, fmt.Sprintf("gaiacli keys show foo --output=json --home=%s", gaiacliHome)) barAddr, _ := executeGetAddrPK(t, fmt.Sprintf("gaiacli keys show bar --output=json --home=%s", gaiacliHome)) @@ -552,13 +555,14 @@ func TestGaiaCLISendGenerateSignAndBroadcast(t *testing.T) { require.Nil(t, app.MakeCodec().UnmarshalJSON([]byte(stdout), &result)) require.Equal(t, msg.Fee.Gas, uint64(result.Response.GasUsed)) require.Equal(t, msg.Fee.Gas, uint64(result.Response.GasWanted)) - tests.WaitForNextNBlocksTM(2, port) + tests.WaitForNextNBlocksTM(1, port) barAcc := executeGetAccount(t, fmt.Sprintf("gaiacli query account %s %v", barAddr, flags)) require.Equal(t, int64(10), barAcc.GetCoins().AmountOf(stakeTypes.DefaultBondDenom).Int64()) fooAcc = executeGetAccount(t, fmt.Sprintf("gaiacli query account %s %v", fooAddr, flags)) require.Equal(t, int64(40), fooAcc.GetCoins().AmountOf(stakeTypes.DefaultBondDenom).Int64()) + cleanupDirs(gaiadHome, gaiacliHome) } func TestGaiaCLIConfig(t *testing.T) { @@ -598,6 +602,7 @@ trust_node = true config, err = ioutil.ReadFile(path.Join(gaiacliHome, "config", "config.toml")) require.NoError(t, err) require.Equal(t, expectedConfig, string(config)) + cleanupDirs(gaiadHome, gaiacliHome) } //___________________________________________________________________________________ @@ -886,3 +891,9 @@ func executeGetDeposits(t *testing.T, cmdStr string) []gov.Deposit { require.NoError(t, err, "out %v\n, err %v", out, err) return deposits } + +func cleanupDirs(dirs ...string) { + for _, d := range dirs { + os.RemoveAll(d) + } +}