test(integration): port x/bank tests to server/v2 app (#21912)

This commit is contained in:
Matt Kocubinski
2024-11-06 18:53:30 +00:00
committed by GitHub
parent 2d4000daa8
commit b5993d6b03
13 changed files with 1882 additions and 17 deletions
+32 -2
View File
@@ -6,13 +6,15 @@ import (
"fmt"
"testing"
"github.com/cosmos/gogoproto/proto"
gogoprotoany "github.com/cosmos/gogoproto/types/any"
"github.com/cosmos/gogoproto/types/any/test"
"github.com/cosmos/gogoproto/proto"
"github.com/stretchr/testify/require"
"google.golang.org/grpc"
"gotest.tools/v3/assert"
"cosmossdk.io/core/gas"
"github.com/cosmos/cosmos-sdk/codec/types"
sdk "github.com/cosmos/cosmos-sdk/types"
)
@@ -85,6 +87,7 @@ func DeterministicIterations[request, response proto.Message](
if gasOverwrite { // to handle regressions, i.e. check that gas consumption didn't change
gasConsumed = ctx.GasMeter().GasConsumed() - before
}
t.Logf("gas consumed: %d", gasConsumed)
for i := 0; i < iterCount; i++ {
before := ctx.GasMeter().GasConsumed()
@@ -94,3 +97,30 @@ func DeterministicIterations[request, response proto.Message](
assert.DeepEqual(t, res, prevRes)
}
}
func DeterministicIterationsV2[request, response proto.Message](
t *testing.T,
req request,
meterFn func() gas.Meter,
queryFn func(request) (response, error),
assertGas func(*testing.T, gas.Gas),
assertResponse func(*testing.T, response),
) {
t.Helper()
prevRes, err := queryFn(req)
gasMeter := meterFn()
gasConsumed := gasMeter.Consumed()
require.NoError(t, err)
assertGas(t, gasConsumed)
for i := 0; i < iterCount; i++ {
res, err := queryFn(req)
require.NoError(t, err)
sameGas := gasMeter.Consumed()
require.Equal(t, gasConsumed, sameGas)
require.Equal(t, res, prevRes)
if assertResponse != nil {
assertResponse(t, res)
}
}
}