aboutsummaryrefslogtreecommitdiffstats
path: root/prog/encodingexec_test.go
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2024-04-16 08:18:47 +0200
committerDmitry Vyukov <dvyukov@google.com>2024-04-16 14:20:36 +0000
commit0e05124fa8b99e403da71f699481bf4096fa6997 (patch)
treea809ff7ad8be208dc5d4a2ce03103af644a9708d /prog/encodingexec_test.go
parentf8f619e676a9c568c10ac690b37f8b414cd0d52b (diff)
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.
Diffstat (limited to 'prog/encodingexec_test.go')
-rw-r--r--prog/encodingexec_test.go9
1 files changed, 7 insertions, 2 deletions
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: