[gidl][golang] Generated go fidl tests with failure cases

Generated from:
https://fuchsia-review.googlesource.com/c/fuchsia/+/306037

FIDL-557 #comment

Test: these files build, ran conformance tests
Change-Id: I6db5d5424590048031a5688acb5d7882e22dccba
diff --git a/src/syscall/zx/fidl/conformance/impl.go b/src/syscall/zx/fidl/conformance/impl.go
index 69fe7ef..87454b8 100644
--- a/src/syscall/zx/fidl/conformance/impl.go
+++ b/src/syscall/zx/fidl/conformance/impl.go
@@ -242,47 +242,6 @@
 	return _mStructOfTableWithStringAndVector
 }
 
-type StructWithInt struct {
-	_ struct{} `fidl2:"s,4,4"`
-	X int32
-}
-
-var _mStructWithInt = _bindings.CreateLazyMarshaler(StructWithInt{})
-
-func (msg *StructWithInt) Marshaler() _bindings.Marshaler {
-	return _mStructWithInt
-}
-
-type StructWithArrays struct {
-	_         struct{} `fidl2:"s,72,8"`
-	ArrEmpty  [0]int32
-	ArrInt    [2]int32
-	ArrString [2]string
-	ArrStruct [2]StructWithInt
-	ArrArrInt [2][3]int32
-}
-
-var _mStructWithArrays = _bindings.CreateLazyMarshaler(StructWithArrays{})
-
-func (msg *StructWithArrays) Marshaler() _bindings.Marshaler {
-	return _mStructWithArrays
-}
-
-type StructWithVectors struct {
-	_         struct{} `fidl2:"s,80,8"`
-	VecEmpty  []int32
-	VecInt    []int32
-	VecString []string
-	VecStruct []StructWithInt
-	VecVecInt [][]int32
-}
-
-var _mStructWithVectors = _bindings.CreateLazyMarshaler(StructWithVectors{})
-
-func (msg *StructWithVectors) Marshaler() _bindings.Marshaler {
-	return _mStructWithVectors
-}
-
 type SimpleUnionTag uint32
 
 const (
diff --git a/src/syscall/zx/fidl/fidl_test/conformance_test.go b/src/syscall/zx/fidl/fidl_test/conformance_test.go
index 03b4620..b708559 100644
--- a/src/syscall/zx/fidl/fidl_test/conformance_test.go
+++ b/src/syscall/zx/fidl/fidl_test/conformance_test.go
@@ -10,12 +10,15 @@
 package fidl_test
 
 import (
+	"reflect"
 	"testing"
 
+	"syscall/zx/fidl"
 	"syscall/zx/fidl/conformance"
 )
 
 func TestAllSuccessCases(t *testing.T) {
+
 	{
 		var v1 conformance.EmptyStruct
 
@@ -512,110 +515,36 @@
 		}.check(t)
 	}
 
-	{
-		var v1 conformance.StructWithArrays
-		v2 := [0]int32{}
-		v1.ArrEmpty = v2
-		var v3 int32 = 1
-		var v4 int32 = 2
-		v5 := [2]int32{v3, v4}
-		v1.ArrInt = v5
-		v6 := "a"
-		v7 := "b"
-		v8 := [2]string{v6, v7}
-		v1.ArrString = v8
-		var v9 conformance.StructWithInt
-		var v10 int32 = 1
-		v9.X = v10
-		var v11 conformance.StructWithInt
-		var v12 int32 = 2
-		v11.X = v12
-		v13 := [2]conformance.StructWithInt{v9, v11}
-		v1.ArrStruct = v13
-		var v14 int32 = 1
-		var v15 int32 = 2
-		var v16 int32 = 3
-		v17 := [3]int32{v14, v15, v16}
-		var v18 int32 = 4
-		var v19 int32 = 5
-		var v20 int32 = 6
-		v21 := [3]int32{v18, v19, v20}
-		v22 := [2][3]int32{v17, v21}
-		v1.ArrArrInt = v22
+}
 
-		successCase{
-			name:  "Arrays",
+func TestAllEncodingFailureCases(t *testing.T) {
+
+	{
+		var v1 conformance.Length2StringWrapper
+		v2 := "abc"
+		v1.Length2String = v2
+
+		encodeFailureCase{
+			name:  "StringExceedsLimit",
 			input: &v1,
-			bytes: []byte{
-				0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
-				0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
-				0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
-				0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
-				0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
-				0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
-				0x05, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00,
-				0x61, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-				0x62, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-			},
+			code:  fidl.ErrStringTooLong,
 		}.check(t)
 	}
 
-	{
-		var v1 conformance.StructWithVectors
-		v2 := []int32{}
-		v1.VecEmpty = v2
-		var v3 int32 = 1
-		var v4 int32 = 2
-		v5 := []int32{v3, v4}
-		v1.VecInt = v5
-		v6 := "a"
-		v7 := "b"
-		v8 := []string{v6, v7}
-		v1.VecString = v8
-		var v9 conformance.StructWithInt
-		var v10 int32 = 1
-		v9.X = v10
-		v11 := []conformance.StructWithInt{v9}
-		v1.VecStruct = v11
-		var v12 int32 = 1
-		var v13 int32 = 2
-		v14 := []int32{v12, v13}
-		var v15 int32 = 3
-		v16 := []int32{v15}
-		v17 := [][]int32{v14, v16}
-		v1.VecVecInt = v17
+}
 
-		successCase{
-			name:  "Vectors",
-			input: &v1,
+func TestAllDecodingFailureCases(t *testing.T) {
+
+	{
+		decodeFailureCase{
+			name:   "NonEmptyStringWithNullPtrBody",
+			valTyp: reflect.TypeOf((*conformance.StringWrapper)(nil)),
 			bytes: []byte{
-				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
-				0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
-				0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
-				0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
-				0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
-				0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
-				0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
-				0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
-				0x61, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-				0x62, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-				0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-				0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
-				0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
-				0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
 				0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 			},
+			code: fidl.ErrUnexpectedNullRef,
 		}.check(t)
 	}
+
 }