From 9278bdcb4355bf03b45eb992ff85e808f1ec0ed4 Mon Sep 17 00:00:00 2001 From: Sasha Koshka Date: Wed, 20 Aug 2025 12:09:54 -0400 Subject: [PATCH] generate: Add decoder test function to testGenerateRun --- generate/misc_test.go | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/generate/misc_test.go b/generate/misc_test.go index 7919fd6..463d13f 100644 --- a/generate/misc_test.go +++ b/generate/misc_test.go @@ -34,6 +34,7 @@ func testGenerateRun(test *testing.T, protocol *Protocol, imports string, testCa imports = ` import "log" import "bytes" + import "reflect" import "git.tebibyte.media/sashakoshka/hopp/tape" import tu "git.tebibyte.media/sashakoshka/hopp/internal/testutil" ` + imports @@ -56,6 +57,20 @@ func testGenerateRun(test *testing.T, protocol *Protocol, imports string, testCa log.Fatalln("not equal at", n) } } + + func testDecode(data []byte, message Message, correct Message) { + decoder := tape.NewDecoder(bytes.NewBuffer(data)) + n, err := message.Decode(decoder) + if err != nil { log.Fatalf("at %d: %v\n", n, err) } + log.Println("got: ", message) + log.Println("correct:", correct) + if n != len(data) { + log.Fatalf("n incorrect: %d != %d\n", n, len(data)) + } + if !reflect.DeepEqual(message, correct) { + log.Fatalln("not equal") + } + } ` fmt.Fprintf( mainFile, "package main\n%s\nfunc main() {\n%s\n%s\n%s\n}\n%s",