From 15c5f0b2b824e88ce76c508ebb6a18e08c98ff24 Mon Sep 17 00:00:00 2001 From: Sasha Koshka Date: Wed, 27 Aug 2025 22:22:00 -0400 Subject: [PATCH] generate: More fixes for TestGenerateRunDecodeWrongType --- generate/generate_test.go | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/generate/generate_test.go b/generate/generate_test.go index 591d8e7..a4d0706 100644 --- a/generate/generate_test.go +++ b/generate/generate_test.go @@ -312,8 +312,8 @@ func TestGenerateRunDecodeWrongType(test *testing.T) { reflectValue.Elem().Interface()) } } - if n != len(data) - 1 { - log.Fatalf("n not equal: %d != %d", n, len(data) - 1) + if n != len(data) { + log.Fatalf("n not equal: %d != %d", n, len(data)) } } log.Println("- MessageInt8") @@ -341,8 +341,20 @@ func TestGenerateRunDecodeWrongType(test *testing.T) { if reflectValue.Len() != 0 { log.Fatalf("len(destination) not zero: %v", reflectValue.Interface()) } - if n != len(data) - 1 { - log.Fatalf("n not equal: %d != %d", n, len(data) - 1) + if n != len(data) { + log.Fatalf("n not equal: %d != %d", n, len(data)) + } + } + anyCase := func(destination Message) { + n, err := destination.Decode(tape.NewDecoder(bytes.NewBuffer(data)),) + if err != nil { log.Fatalf("error: %v | n: %d", err, n) } + reflectDestination := reflect.ValueOf(destination) + reflectValue := reflectDestination.Elem() + if reflectValue == reflect.Zero(reflectValue.Type()) { + log.Fatalf("len(destination) not zero: %v", reflectValue.Interface()) + } + if n != len(data) { + log.Fatalf("n not equal: %d != %d", n, len(data)) } } // SBA/LBA types should only assign to other SBA/LBA types @@ -362,7 +374,7 @@ func TestGenerateRunDecodeWrongType(test *testing.T) { log.Println("- MessageTable") { var dest = make(MessageTable); arrayCase(&dest) } log.Println("- MessageTableDefined") - { var dest MessageTableDefined; arrayCase(&dest) } + { var dest MessageTableDefined; anyCase(&dest) } } } `)