From 7133a01ccf50844b39414e804d18a10b6c890a90 Mon Sep 17 00:00:00 2001 From: Evgenii Stratonikov Date: Wed, 26 Jul 2023 18:13:05 +0300 Subject: [PATCH] [#49] message/test: Add test for zero-alloc StableSize() Signed-off-by: Evgenii Stratonikov --- rpc/message/test/message.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/rpc/message/test/message.go b/rpc/message/test/message.go index df769d2..435f20a 100644 --- a/rpc/message/test/message.go +++ b/rpc/message/test/message.go @@ -17,6 +17,7 @@ type jsonMessage interface { type binaryMessage interface { StableMarshal([]byte) []byte + StableSize() int Unmarshal([]byte) error } @@ -53,6 +54,11 @@ func TestRPCMessage(t *testing.T, msgGens ...func(empty bool) message.Message) { } if bm, ok := msg.(binaryMessage); ok { + t.Run(fmt.Sprintf("%T.StableSize() does no allocations", bm), func(t *testing.T) { + require.Zero(t, testing.AllocsPerRun(1000, func() { + _ = bm.StableSize() + })) + }) t.Run(fmt.Sprintf("Binary_%T", msg), func(t *testing.T) { data := bm.StableMarshal(nil)