From 0de8a89a54976a2b81d125f38acc1e71fcf67fa3 Mon Sep 17 00:00:00 2001 From: Quentin Mc Gaw Date: Wed, 15 Jan 2025 10:49:43 +0100 Subject: [PATCH] plugin/evm/testutils `WithMetrics` --- plugin/evm/testutils/metrics.go | 20 ++++++++++++++++++++ warp/handlers/signature_request_test.go | 18 +++--------------- warp/verifier_backend_test.go | 18 +++--------------- 3 files changed, 26 insertions(+), 30 deletions(-) create mode 100644 plugin/evm/testutils/metrics.go diff --git a/plugin/evm/testutils/metrics.go b/plugin/evm/testutils/metrics.go new file mode 100644 index 0000000000..aa2ee19037 --- /dev/null +++ b/plugin/evm/testutils/metrics.go @@ -0,0 +1,20 @@ +package testutils + +import ( + "testing" + + "github.com/ethereum/go-ethereum/metrics" +) + +// WithMetrics enables go-ethereum metrics globally for the test. +// If the [metrics.Enabled] is already true, nothing is done. +// Otherwise, it is set to true and is reverted to false when the test finishes. +func WithMetrics(t *testing.T) { + if metrics.Enabled { + return + } + metrics.Enabled = true + t.Cleanup(func() { + metrics.Enabled = false + }) +} diff --git a/warp/handlers/signature_request_test.go b/warp/handlers/signature_request_test.go index f4bdb7a763..b0032f19dd 100644 --- a/warp/handlers/signature_request_test.go +++ b/warp/handlers/signature_request_test.go @@ -14,21 +14,15 @@ import ( avalancheWarp "github.com/ava-labs/avalanchego/vms/platformvm/warp" "github.com/ava-labs/avalanchego/vms/platformvm/warp/payload" "github.com/ava-labs/coreth/plugin/evm/message" + "github.com/ava-labs/coreth/plugin/evm/testutils" "github.com/ava-labs/coreth/utils" "github.com/ava-labs/coreth/warp" "github.com/ava-labs/coreth/warp/warptest" - "github.com/ethereum/go-ethereum/metrics" "github.com/stretchr/testify/require" ) func TestMessageSignatureHandler(t *testing.T) { - metricsEnabled := metrics.Enabled - if !metricsEnabled { - metrics.Enabled = true - t.Cleanup(func() { - metrics.Enabled = false - }) - } + testutils.WithMetrics(t) database := memdb.New() snowCtx := utils.TestSnowContext() @@ -134,13 +128,7 @@ func TestMessageSignatureHandler(t *testing.T) { } func TestBlockSignatureHandler(t *testing.T) { - metricsEnabled := metrics.Enabled - if !metricsEnabled { - metrics.Enabled = true - t.Cleanup(func() { - metrics.Enabled = false - }) - } + testutils.WithMetrics(t) database := memdb.New() snowCtx := utils.TestSnowContext() diff --git a/warp/verifier_backend_test.go b/warp/verifier_backend_test.go index be4288100b..88518b08de 100644 --- a/warp/verifier_backend_test.go +++ b/warp/verifier_backend_test.go @@ -17,21 +17,15 @@ import ( "github.com/ava-labs/avalanchego/utils/crypto/bls" avalancheWarp "github.com/ava-labs/avalanchego/vms/platformvm/warp" "github.com/ava-labs/avalanchego/vms/platformvm/warp/payload" + "github.com/ava-labs/coreth/plugin/evm/testutils" "github.com/ava-labs/coreth/utils" "github.com/ava-labs/coreth/warp/warptest" - "github.com/ethereum/go-ethereum/metrics" "github.com/stretchr/testify/require" "google.golang.org/protobuf/proto" ) func TestAddressedCallSignatures(t *testing.T) { - metricsEnabled := metrics.Enabled - if !metricsEnabled { - metrics.Enabled = true - t.Cleanup(func() { - metrics.Enabled = false - }) - } + testutils.WithMetrics(t) database := memdb.New() snowCtx := utils.TestSnowContext() @@ -147,13 +141,7 @@ func TestAddressedCallSignatures(t *testing.T) { } func TestBlockSignatures(t *testing.T) { - metricsEnabled := metrics.Enabled - if !metricsEnabled { - metrics.Enabled = true - t.Cleanup(func() { - metrics.Enabled = false - }) - } + testutils.WithMetrics(t) database := memdb.New() snowCtx := utils.TestSnowContext()