From b81d9a56df8a52f1f6af32be669c7c1aa0659e73 Mon Sep 17 00:00:00 2001 From: Sandy Zhang Date: Mon, 25 Jul 2022 18:07:45 +0000 Subject: [PATCH 1/3] Sync from Piper @463129388 PROTOBUF_SYNC_PIPER --- .../java/message_serialization_unittest.proto | 56 +++++++++++++++++++ google/protobuf/unittest.proto | 17 ++++++ 2 files changed, 73 insertions(+) create mode 100644 google/protobuf/compiler/java/message_serialization_unittest.proto diff --git a/google/protobuf/compiler/java/message_serialization_unittest.proto b/google/protobuf/compiler/java/message_serialization_unittest.proto new file mode 100644 index 000000000000..9cfdf42b3253 --- /dev/null +++ b/google/protobuf/compiler/java/message_serialization_unittest.proto @@ -0,0 +1,56 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +syntax = "proto2"; + +package protobuf_unittest; + +option java_multiple_files = true; +option java_package = ""; + +// Each batch of extension ranges not separated by a non-extension field should +// be serialized using a single ExtensionWriter#writeUntil call. +message TestMessageWithManyExtensionRanges { + // First extension range: ends at field number 3 (exclusive) + extensions 1 to 2; + + optional int32 foo = 3; + optional int32 bar = 5; + + // Second extension range: ends at field number 13 (exclusive) + extensions 6; + extensions 8; + extensions 10 to 12; + + optional int32 baz = 23; + + // Third extension range: ends at field number 43 (exclusive) + extensions 42; +} diff --git a/google/protobuf/unittest.proto b/google/protobuf/unittest.proto index 2ac8f17f4a48..7176f0932502 100644 --- a/google/protobuf/unittest.proto +++ b/google/protobuf/unittest.proto @@ -1527,3 +1527,20 @@ message EnumParseTester { optional int32 other_field = 99; }; +// This message contains different kind of bool fields to exercise the different +// parsers in table-drived. +message BoolParseTester { + optional bool optional_bool_lowfield = 1; + optional bool optional_bool_midfield = 1001; + optional bool optional_bool_hifield = 1000001; + repeated bool repeated_bool_lowfield = 2; + repeated bool repeated_bool_midfield = 1002; + repeated bool repeated_bool_hifield = 1000002; + repeated bool packed_bool_lowfield = 3 [packed = true]; + repeated bool packed_bool_midfield = 1003 [packed = true]; + repeated bool packed_bool_hifield = 1000003 [packed = true]; + + // An arbitrary field we can append to to break the runs of repeated fields. + optional int32 other_field = 99; +}; + From 10c7e4eaa4cd92a2a5df129d65bfa060117d6a47 Mon Sep 17 00:00:00 2001 From: Sandy Zhang Date: Mon, 25 Jul 2022 19:43:54 +0000 Subject: [PATCH 2/3] Sync from Piper @review/462489109 PROTOBUF_SYNC_PIPER --- .../java/message_serialization_unittest.proto | 56 ------------------- 1 file changed, 56 deletions(-) delete mode 100644 google/protobuf/compiler/java/message_serialization_unittest.proto diff --git a/google/protobuf/compiler/java/message_serialization_unittest.proto b/google/protobuf/compiler/java/message_serialization_unittest.proto deleted file mode 100644 index 9cfdf42b3253..000000000000 --- a/google/protobuf/compiler/java/message_serialization_unittest.proto +++ /dev/null @@ -1,56 +0,0 @@ -// Protocol Buffers - Google's data interchange format -// Copyright 2008 Google Inc. All rights reserved. -// https://developers.google.com/protocol-buffers/ -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -syntax = "proto2"; - -package protobuf_unittest; - -option java_multiple_files = true; -option java_package = ""; - -// Each batch of extension ranges not separated by a non-extension field should -// be serialized using a single ExtensionWriter#writeUntil call. -message TestMessageWithManyExtensionRanges { - // First extension range: ends at field number 3 (exclusive) - extensions 1 to 2; - - optional int32 foo = 3; - optional int32 bar = 5; - - // Second extension range: ends at field number 13 (exclusive) - extensions 6; - extensions 8; - extensions 10 to 12; - - optional int32 baz = 23; - - // Third extension range: ends at field number 43 (exclusive) - extensions 42; -} From 272cabf859630b99972990ed798b210fd3832e68 Mon Sep 17 00:00:00 2001 From: Sandy Zhang Date: Wed, 27 Jul 2022 20:54:18 +0000 Subject: [PATCH 3/3] Sync from Piper @463670061 PROTOBUF_SYNC_PIPER --- .../java/message_serialization_unittest.proto | 56 +++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 google/protobuf/compiler/java/message_serialization_unittest.proto diff --git a/google/protobuf/compiler/java/message_serialization_unittest.proto b/google/protobuf/compiler/java/message_serialization_unittest.proto new file mode 100644 index 000000000000..9cfdf42b3253 --- /dev/null +++ b/google/protobuf/compiler/java/message_serialization_unittest.proto @@ -0,0 +1,56 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +syntax = "proto2"; + +package protobuf_unittest; + +option java_multiple_files = true; +option java_package = ""; + +// Each batch of extension ranges not separated by a non-extension field should +// be serialized using a single ExtensionWriter#writeUntil call. +message TestMessageWithManyExtensionRanges { + // First extension range: ends at field number 3 (exclusive) + extensions 1 to 2; + + optional int32 foo = 3; + optional int32 bar = 5; + + // Second extension range: ends at field number 13 (exclusive) + extensions 6; + extensions 8; + extensions 10 to 12; + + optional int32 baz = 23; + + // Third extension range: ends at field number 43 (exclusive) + extensions 42; +}