From 0e05124fa8b99e403da71f699481bf4096fa6997 Mon Sep 17 00:00:00 2001 From: Dmitry Vyukov Date: Tue, 16 Apr 2024 08:18:47 +0200 Subject: prog: include number of calls into exec encoding Prepend total number of calls to the exec encoding. This will allow pkg/ipc to better parse executor response without full parsing of the encoded program. --- prog/encodingexec_test.go | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'prog/encodingexec_test.go') diff --git a/prog/encodingexec_test.go b/prog/encodingexec_test.go index 726cbe49b..357cca18b 100644 --- a/prog/encodingexec_test.go +++ b/prog/encodingexec_test.go @@ -26,10 +26,15 @@ func TestSerializeForExecRandom(t *testing.T) { if err != nil { t.Fatalf("failed to serialize: %v", err) } - _, err = target.DeserializeExec(buf, sizes) + got, err := target.DeserializeExec(buf, sizes) if err != nil { t.Fatal(err) } + if n, err := ExecCallCount(buf); err != nil { + t.Fatal(err) + } else if n != len(got.Calls) { + t.Fatalf("mismatching number of calls: %v/%v", n, len(got.Calls)) + } totalSize += len(buf) execSizes.Add(float64(len(buf))) textSizes.Add(float64(len(p.Serialize()))) @@ -660,7 +665,7 @@ test$res1(r0) if err != nil { t.Fatalf("failed to serialize: %v", err) } - var want []byte + want := binary.AppendVarint(nil, int64(len(p.Calls))) for _, e := range test.serialized { switch elem := e.(type) { case uint64: -- cgit mrf-deployment