proto: cleanup invalid extension exception

The invalidExtensions flag no longer seems necessary. Tests pass without it.

Change-Id: Ieb35e26912b047718ccbfcdc926625aec1cd8c87
Reviewed-on: https://go-review.googlesource.com/c/protobuf/+/185937
Reviewed-by: Damien Neil <dneil@google.com>
diff --git a/proto/decode_test.go b/proto/decode_test.go
index ecdd973..db7c8f9 100644
--- a/proto/decode_test.go
+++ b/proto/decode_test.go
@@ -23,11 +23,10 @@
 )
 
 type testProto struct {
-	desc              string
-	decodeTo          []proto.Message
-	wire              []byte
-	partial           bool
-	invalidExtensions bool
+	desc     string
+	decodeTo []proto.Message
+	wire     []byte
+	partial  bool
 }
 
 func TestDecode(t *testing.T) {
@@ -49,11 +48,6 @@
 				for i := range wire {
 					wire[i] = 0
 				}
-
-				if test.invalidExtensions {
-					// Equal doesn't work on messages containing invalid extension data.
-					return
-				}
 				if !proto.Equal(got, want) {
 					t.Errorf("Unmarshal returned unexpected result; got:\n%v\nwant:\n%v", marshalText(got), marshalText(want))
 				}
@@ -67,10 +61,6 @@
 		if !test.partial {
 			continue
 		}
-		if test.invalidExtensions {
-			// Missing required fields in extensions just end up in the unknown fields.
-			continue
-		}
 		for _, m := range test.decodeTo {
 			t.Run(fmt.Sprintf("%s (%T)", test.desc, m), func(t *testing.T) {
 				got := reflect.New(reflect.TypeOf(m).Elem()).Interface().(proto.Message)
@@ -1255,9 +1245,8 @@
 		})}.Marshal(),
 	},
 	{
-		desc:              "required field in extension message unset",
-		partial:           true,
-		invalidExtensions: true,
+		desc:    "required field in extension message unset",
+		partial: true,
 		decodeTo: []proto.Message{build(
 			&testpb.TestAllExtensions{},
 			extend(testpb.E_TestRequired_Single, &testpb.TestRequired{}),
@@ -1281,9 +1270,8 @@
 		}.Marshal(),
 	},
 	{
-		desc:              "required field in repeated extension message unset",
-		partial:           true,
-		invalidExtensions: true,
+		desc:    "required field in repeated extension message unset",
+		partial: true,
 		decodeTo: []proto.Message{build(
 			&testpb.TestAllExtensions{},
 			extend(testpb.E_TestRequired_Multi, []*testpb.TestRequired{
diff --git a/proto/encode_test.go b/proto/encode_test.go
index cd4a7ef..f90020a 100644
--- a/proto/encode_test.go
+++ b/proto/encode_test.go
@@ -40,11 +40,6 @@
 					t.Errorf("Unmarshal error: %v\nMessage:\n%v", err, marshalText(want))
 					return
 				}
-
-				if test.invalidExtensions {
-					// Equal doesn't work on messages containing invalid extension data.
-					return
-				}
 				if !proto.Equal(got, want) {
 					t.Errorf("Unmarshal returned unexpected result; got:\n%v\nwant:\n%v", marshalText(got), marshalText(want))
 				}
@@ -81,11 +76,6 @@
 					t.Errorf("Unmarshal error: %v\nMessage:\n%v", err, marshalText(want))
 					return
 				}
-
-				if test.invalidExtensions {
-					// Equal doesn't work on messages containing invalid extension data.
-					return
-				}
 				if !proto.Equal(got, want) {
 					t.Errorf("Unmarshal returned unexpected result; got:\n%v\nwant:\n%v", marshalText(got), marshalText(want))
 				}