proto: check for required fields in encoding/decoding
Change-Id: I0555a92e0399782f075b1dcd248e880dd48c7d6d
Reviewed-on: https://go-review.googlesource.com/c/protobuf/+/170579
Reviewed-by: Herbie Ong <herbie@google.com>
diff --git a/encoding/jsonpb/decode_test.go b/encoding/jsonpb/decode_test.go
index 9d50ac1..941e416 100644
--- a/encoding/jsonpb/decode_test.go
+++ b/encoding/jsonpb/decode_test.go
@@ -2003,9 +2003,10 @@
m := &pb2.PartialRequired{
OptString: scalar.String("embedded inside Any"),
}
- b, err := proto.MarshalOptions{Deterministic: true}.Marshal(m)
- // TODO: Marshal may fail due to required field not set at some
- // point. Need to ignore required not set error here.
+ b, err := proto.MarshalOptions{
+ Deterministic: true,
+ AllowPartial: true,
+ }.Marshal(m)
if err != nil {
t.Fatalf("error in binary marshaling message for Any.value: %v", err)
}
@@ -2030,9 +2031,10 @@
m := &pb2.PartialRequired{
OptString: scalar.String("embedded inside Any"),
}
- b, err := proto.MarshalOptions{Deterministic: true}.Marshal(m)
- // TODO: Marshal may fail due to required field not set at some
- // point. Need to ignore required not set error here.
+ b, err := proto.MarshalOptions{
+ Deterministic: true,
+ AllowPartial: true,
+ }.Marshal(m)
if err != nil {
t.Fatalf("error in binary marshaling message for Any.value: %v", err)
}