--- Begin Message ---
Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
Usertags: unblock
Control: affects -1 + src:protobuf
Hi RMs,
Please unblock package protobuf. It's running build time tests with those fixes.
[ Reason ]
It was discovered late that build time tests are not run [1] and the
fix is easy. Reporter stated firmly that he is even going to NMU the
package in unstable and/or stable to fix this issue. My bad that I
thought this change was fully tested and I only checked it on amd64.
Then it turned out build time tests are broken on 32 bit platforms [2].
[ Impact ]
I took my time and fixed build tests. On hppa I had to extend the
ignorance of a static_assert() due to over alignment on this platform.
Now it has a working self-check on package changes including security
ones during Bookworm lifecycle.
[ Tests ]
Upstream test suite. Done build tests with the following rdeps:
clementine and grpc on both i386 and amd64 including tests of those
packages. Those worked without a hitch.
Package tests for migration also worked.
[ Risks ]
Low, the changes are pretty straightforward and only affects the
self-testing parts of the package.
[ Checklist ]
[x] all changes are documented in the d/changelog
[x] I reviewed all changes and I approve them
[x] attach debdiff against the package in testing
[ Other info ]
Uploaded four days ago, built on all previous architectures and no new
bug reports are filed.
unblock protobuf/3.21.12-3
Thanks for considering,
Laszlo/GCS
[1] https://bugs.debian.org/1033989
[2] https://bugs.debian.org/1033998
diff -Nru protobuf-3.21.12/debian/changelog protobuf-3.21.12/debian/changelog
--- protobuf-3.21.12/debian/changelog 2022-12-17 09:18:06.000000000 +0100
+++ protobuf-3.21.12/debian/changelog 2023-04-09 07:50:55.000000000 +0200
@@ -1,3 +1,16 @@
+protobuf (3.21.12-3) unstable; urgency=medium
+
+ * Fix build-time tests on 32 bit architectures (closes: #1033998).
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org> Sun, 09 Apr 2023 05:50:55 +0000
+
+protobuf (3.21.12-2) unstable; urgency=medium
+
+ [ Helmut Grohne <helmut@subdivi.de> ]
+ * Reenable build-time testing (closes: #1033989).
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org> Wed, 05 Apr 2023 21:57:20 +0200
+
protobuf (3.21.12-1) unstable; urgency=medium
* New upstream release.
diff -Nru protobuf-3.21.12/debian/elpa-test protobuf-3.21.12/debian/elpa-test
--- protobuf-3.21.12/debian/elpa-test 1970-01-01 01:00:00.000000000 +0100
+++ protobuf-3.21.12/debian/elpa-test 2023-04-05 21:57:20.000000000 +0200
@@ -0,0 +1 @@
+disable=please_do_run_dh_auto_test
diff -Nru protobuf-3.21.12/debian/patches/build_32_bit_tests.patch protobuf-3.21.12/debian/patches/build_32_bit_tests.patch
--- protobuf-3.21.12/debian/patches/build_32_bit_tests.patch 1970-01-01 01:00:00.000000000 +0100
+++ protobuf-3.21.12/debian/patches/build_32_bit_tests.patch 2023-04-05 21:57:20.000000000 +0200
@@ -0,0 +1,140 @@
+From 01c340d0bb9abb2654554afc732df2c89774ce81 Mon Sep 17 00:00:00 2001
+From: Mike Kruskal <62662355+mkruskal-google@users.noreply.github.com>
+Date: Mon, 19 Sep 2022 09:50:19 -0700
+Subject: [PATCH] Adding full build to 32 bit tests (#10589)
+
+* Adding full build to 32 bit tests
+
+* Running C++ tests in 32 bit builds
+
+* Patching static assert test failure
+
+* Test fixes for 32-bit architectures
+
+* Cleanup after CMake build
+
+* Save protoc before cleanup
+
+* Route protoc better
+---
+ .../compiler/cpp/message_size_unittest.cc | 2 +-
+ src/google/protobuf/extension_set_unittest.cc | 6 ++--
+ .../protobuf/io/zero_copy_stream_unittest.cc | 3 ++
+ .../protobuf/repeated_field_unittest.cc | 4 +--
+ src/google/protobuf/util/time_util_test.cc | 28 +++++++++++--------
+ 8 files changed, 42 insertions(+), 20 deletions(-)
+
+diff --git a/src/google/protobuf/compiler/cpp/message_size_unittest.cc b/src/google/protobuf/compiler/cpp/message_size_unittest.cc
+index a75d77a70cb..ed4a90e223f 100644
+--- a/src/google/protobuf/compiler/cpp/message_size_unittest.cc
++++ b/src/google/protobuf/compiler/cpp/message_size_unittest.cc
+@@ -139,9 +139,9 @@ TEST(GeneratedMessageTest, OneStringSize) {
+
+ TEST(GeneratedMessageTest, MoreStringSize) {
+ struct MockGenerated : public MockMessageBase { // 16 bytes
+- int has_bits[1]; // 4 bytes
+ int cached_size; // 4 bytes
+ MockRepeatedPtrField data; // 24 bytes
++ // + 4 bytes padding
+ };
+ GOOGLE_CHECK_MESSAGE_SIZE(MockGenerated, 48);
+ EXPECT_EQ(sizeof(protobuf_unittest::MoreString), sizeof(MockGenerated));
+diff --git a/src/google/protobuf/extension_set_unittest.cc b/src/google/protobuf/extension_set_unittest.cc
+index 8b436bc20c9..84da3c5465a 100644
+--- a/src/google/protobuf/extension_set_unittest.cc
++++ b/src/google/protobuf/extension_set_unittest.cc
+@@ -852,8 +852,10 @@ TEST(ExtensionSetTest, SpaceUsedExcludingSelf) {
+ const size_t old_capacity = \
+ message->GetRepeatedExtension(unittest::repeated_##type##_extension) \
+ .Capacity(); \
+- EXPECT_GE(old_capacity, \
+- (RepeatedFieldLowerClampLimit<cpptype, sizeof(void*)>())); \
++ EXPECT_GE( \
++ old_capacity, \
++ (RepeatedFieldLowerClampLimit<cpptype, std::max(sizeof(cpptype), \
++ sizeof(void*))>())); \
+ for (int i = 0; i < 16; ++i) { \
+ message->AddExtension(unittest::repeated_##type##_extension, value); \
+ } \
+diff --git a/src/google/protobuf/io/zero_copy_stream_unittest.cc b/src/google/protobuf/io/zero_copy_stream_unittest.cc
+index d82354e571b..d656da5f13b 100644
+--- a/src/google/protobuf/io/zero_copy_stream_unittest.cc
++++ b/src/google/protobuf/io/zero_copy_stream_unittest.cc
+@@ -719,6 +719,9 @@ TEST_F(IoTest, StringIo) {
+
+ // Verifies that outputs up to kint32max can be created.
+ TEST_F(IoTest, LargeOutput) {
++ // Filter out this test on 32-bit architectures.
++ if(sizeof(void*) < 8) return;
++
+ std::string str;
+ StringOutputStream output(&str);
+ void* unused_data;
+diff --git a/src/google/protobuf/repeated_field_unittest.cc b/src/google/protobuf/repeated_field_unittest.cc
+index eb0b9091cf8..3baf6f25bb2 100644
+--- a/src/google/protobuf/repeated_field_unittest.cc
++++ b/src/google/protobuf/repeated_field_unittest.cc
+@@ -374,14 +374,14 @@ TEST(RepeatedField, ReserveNothing) {
+
+ TEST(RepeatedField, ReserveLowerClamp) {
+ int clamped_value = internal::CalculateReserveSize<bool, sizeof(void*)>(0, 1);
+- EXPECT_GE(clamped_value, 8 / sizeof(bool));
++ EXPECT_GE(clamped_value, sizeof(void*) / sizeof(bool));
+ EXPECT_EQ((internal::RepeatedFieldLowerClampLimit<bool, sizeof(void*)>()),
+ clamped_value);
+ // EXPECT_EQ(clamped_value, (internal::CalculateReserveSize<bool,
+ // sizeof(void*)>( clamped_value, 2)));
+
+ clamped_value = internal::CalculateReserveSize<int, sizeof(void*)>(0, 1);
+- EXPECT_GE(clamped_value, 8 / sizeof(int));
++ EXPECT_GE(clamped_value, sizeof(void*) / sizeof(int));
+ EXPECT_EQ((internal::RepeatedFieldLowerClampLimit<int, sizeof(void*)>()),
+ clamped_value);
+ // EXPECT_EQ(clamped_value, (internal::CalculateReserveSize<int,
+diff --git a/src/google/protobuf/util/time_util_test.cc b/src/google/protobuf/util/time_util_test.cc
+index 464e57b4ee5..dceb6dbe2bf 100644
+--- a/src/google/protobuf/util/time_util_test.cc
++++ b/src/google/protobuf/util/time_util_test.cc
+@@ -48,15 +48,18 @@ using google::protobuf::Timestamp;
+ namespace {
+
+ TEST(TimeUtilTest, TimestampStringFormat) {
+- Timestamp begin, end;
+- EXPECT_TRUE(TimeUtil::FromString("0001-01-01T00:00:00Z", &begin));
+- EXPECT_EQ(TimeUtil::kTimestampMinSeconds, begin.seconds());
+- EXPECT_EQ(0, begin.nanos());
+- EXPECT_TRUE(TimeUtil::FromString("9999-12-31T23:59:59.999999999Z", &end));
+- EXPECT_EQ(TimeUtil::kTimestampMaxSeconds, end.seconds());
+- EXPECT_EQ(999999999, end.nanos());
+- EXPECT_EQ("0001-01-01T00:00:00Z", TimeUtil::ToString(begin));
+- EXPECT_EQ("9999-12-31T23:59:59.999999999Z", TimeUtil::ToString(end));
++ // These these are out of bounds for 32-bit architectures.
++ if(sizeof(time_t) >= sizeof(uint64_t)) {
++ Timestamp begin, end;
++ EXPECT_TRUE(TimeUtil::FromString("0001-01-01T00:00:00Z", &begin));
++ EXPECT_EQ(TimeUtil::kTimestampMinSeconds, begin.seconds());
++ EXPECT_EQ(0, begin.nanos());
++ EXPECT_TRUE(TimeUtil::FromString("9999-12-31T23:59:59.999999999Z", &end));
++ EXPECT_EQ(TimeUtil::kTimestampMaxSeconds, end.seconds());
++ EXPECT_EQ(999999999, end.nanos());
++ EXPECT_EQ("0001-01-01T00:00:00Z", TimeUtil::ToString(begin));
++ EXPECT_EQ("9999-12-31T23:59:59.999999999Z", TimeUtil::ToString(end));
++ }
+
+ // Test negative timestamps.
+ Timestamp time = TimeUtil::NanosecondsToTimestamp(-1);
+@@ -94,9 +97,12 @@ TEST(TimeUtilTest, DurationStringFormat) {
+ EXPECT_TRUE(TimeUtil::FromString("0001-01-01T00:00:00Z", &begin));
+ EXPECT_TRUE(TimeUtil::FromString("9999-12-31T23:59:59.999999999Z", &end));
+
+- EXPECT_EQ("315537897599.999999999s", TimeUtil::ToString(end - begin));
++ // These these are out of bounds for 32-bit architectures.
++ if(sizeof(time_t) >= sizeof(uint64_t)) {
++ EXPECT_EQ("315537897599.999999999s", TimeUtil::ToString(end - begin));
++ EXPECT_EQ("-315537897599.999999999s", TimeUtil::ToString(begin - end));
++ }
+ EXPECT_EQ(999999999, (end - begin).nanos());
+- EXPECT_EQ("-315537897599.999999999s", TimeUtil::ToString(begin - end));
+ EXPECT_EQ(-999999999, (begin - end).nanos());
+
+ // Generated output should contain 3, 6, or 9 fractional digits.
diff -Nru protobuf-3.21.12/debian/patches/fix_C++_32bit_tests.patch protobuf-3.21.12/debian/patches/fix_C++_32bit_tests.patch
--- protobuf-3.21.12/debian/patches/fix_C++_32bit_tests.patch 1970-01-01 01:00:00.000000000 +0100
+++ protobuf-3.21.12/debian/patches/fix_C++_32bit_tests.patch 2023-04-07 20:17:12.000000000 +0200
@@ -0,0 +1,58 @@
+Description: fix C++ build tests
+ Add bits to expect 32 bit systems.
+Author: Laszlo Boszormenyi (GCS) <gcs@debian.org>
+Bug-Debian: https://bugs.debian.org/1033998
+Forwarded: no
+Last-Update: 2023-04-07
+
+---
+
+--- protobuf-3.21.12.orig/src/google/protobuf/any_test.cc
++++ protobuf-3.21.12/src/google/protobuf/any_test.cc
+@@ -62,9 +62,14 @@ TEST(AnyTest, TestPackAndUnpack) {
+
+ TEST(AnyTest, TestPackFromSerializationExceedsSizeLimit) {
+ protobuf_unittest::TestAny submessage;
+- submessage.mutable_text()->resize(INT_MAX, 'a');
+ protobuf_unittest::TestAny message;
+- EXPECT_FALSE(message.mutable_any_value()->PackFrom(submessage));
++ try {
++ submessage.mutable_text()->resize(INT_MAX, 'a');
++ EXPECT_FALSE(message.mutable_any_value()->PackFrom(submessage));
++ }
++ catch (...) {
++ EXPECT_TRUE(message.mutable_any_value()->PackFrom(submessage));
++ }
+ }
+
+ TEST(AnyTest, TestUnpackWithTypeMismatch) {
+--- protobuf-3.21.12.orig/src/google/protobuf/arena_unittest.cc
++++ protobuf-3.21.12/src/google/protobuf/arena_unittest.cc
+@@ -1375,11 +1375,11 @@ TEST(ArenaTest, SpaceAllocated_and_Used)
+ options.initial_block_size = arena_block.size();
+ Arena arena_2(options);
+ EXPECT_EQ(1024, arena_2.SpaceAllocated());
+- EXPECT_EQ(0, arena_2.SpaceUsed());
++ EXPECT_EQ(8 - sizeof(void*), arena_2.SpaceUsed());
+ EXPECT_EQ(1024, arena_2.Reset());
+ Arena::CreateArray<char>(&arena_2, 55);
+ EXPECT_EQ(1024, arena_2.SpaceAllocated());
+- EXPECT_EQ(Align8(55), arena_2.SpaceUsed());
++ EXPECT_EQ(Align8(55) + 8 - sizeof(void*), arena_2.SpaceUsed());
+ EXPECT_EQ(1024, arena_2.Reset());
+ }
+
+@@ -1418,11 +1418,11 @@ TEST(ArenaTest, BlockSizeSmallerThanAllo
+
+ *Arena::Create<int64_t>(&arena) = 42;
+ EXPECT_GE(arena.SpaceAllocated(), 8);
+- EXPECT_EQ(8, arena.SpaceUsed());
++ EXPECT_EQ(16 - sizeof(void*), arena.SpaceUsed());
+
+ *Arena::Create<int64_t>(&arena) = 42;
+ EXPECT_GE(arena.SpaceAllocated(), 16);
+- EXPECT_EQ(16, arena.SpaceUsed());
++ EXPECT_EQ(24 - sizeof(void*), arena.SpaceUsed());
+ }
+ }
+
diff -Nru protobuf-3.21.12/debian/patches/fix_hppa_alignof_assert.patch protobuf-3.21.12/debian/patches/fix_hppa_alignof_assert.patch
--- protobuf-3.21.12/debian/patches/fix_hppa_alignof_assert.patch 2022-11-22 19:00:45.000000000 +0100
+++ protobuf-3.21.12/debian/patches/fix_hppa_alignof_assert.patch 2023-04-09 07:40:31.000000000 +0200
@@ -1,13 +1,13 @@
-Description: on hppa this is over aligned and fails
- Filter out hppa machines on the static_assert line.
+Description: hppa is over aligned and fails
+ Filter out hppa machines on the static_assert lines.
Author: Laszlo Boszormenyi (GCS) <gcs@debian.org>
Forwarded: no
-Last-Update: 2022-11-22
+Last-Update: 2023-04-09
---
---- protobuf-3.21.9.orig/src/google/protobuf/descriptor.cc
-+++ protobuf-3.21.9/src/google/protobuf/descriptor.cc
+--- a/src/google/protobuf/descriptor.cc
++++ b/src/google/protobuf/descriptor.cc
@@ -370,7 +370,9 @@ class FlatAllocatorImpl {
GOOGLE_CHECK(!has_allocated());
if (std::is_trivially_destructible<U>::value) {
@@ -18,3 +18,15 @@
total_.template Get<char>() += RoundUpTo<8>(array_size * sizeof(U));
} else {
// Since we can't use `if constexpr`, just make the expression compile
+--- a/src/google/protobuf/map.h
++++ b/src/google/protobuf/map.h
+@@ -121,7 +121,9 @@ class MapAllocator {
+ // MapAllocator does not support alignments beyond 8. Technically we should
+ // support up to std::max_align_t, but this fails with ubsan and tcmalloc
+ // debug allocation logic which assume 8 as default alignment.
++#if !defined(__hppa__)
+ static_assert(alignof(value_type) <= 8, "");
++#endif
+
+ pointer allocate(size_type n, const void* /* hint */ = nullptr) {
+ // If arena is not given, malloc needs to be called which doesn't
diff -Nru protobuf-3.21.12/debian/patches/fix_Python_32bit_tests.patch protobuf-3.21.12/debian/patches/fix_Python_32bit_tests.patch
--- protobuf-3.21.12/debian/patches/fix_Python_32bit_tests.patch 1970-01-01 01:00:00.000000000 +0100
+++ protobuf-3.21.12/debian/patches/fix_Python_32bit_tests.patch 2023-04-07 20:17:02.000000000 +0200
@@ -0,0 +1,178 @@
+Description: fix Python build tests
+ Add bits to expect 32 bit systems.
+Author: Laszlo Boszormenyi (GCS) <gcs@debian.org>
+Bug-Debian: https://bugs.debian.org/1033998
+Forwarded: no
+Last-Update: 2023-04-07
+
+---
+
+--- protobuf-3.21.12.orig/python/google/protobuf/internal/descriptor_test.py
++++ protobuf-3.21.12/python/google/protobuf/internal/descriptor_test.py
+@@ -32,6 +32,7 @@
+
+ __author__ = 'robinson@google.com (Will Robinson)'
+
++import platform
+ import unittest
+ import warnings
+
+@@ -269,16 +270,18 @@ class DescriptorTest(unittest.TestCase):
+ unittest_custom_options_pb2.int32_opt])
+ self.assertEqual(kint64max, message_options.Extensions[
+ unittest_custom_options_pb2.int64_opt])
+- self.assertEqual(kuint32max, message_options.Extensions[
+- unittest_custom_options_pb2.uint32_opt])
++ if platform.architecture()[0] != '32bit':
++ self.assertEqual(kuint32max, message_options.Extensions[
++ unittest_custom_options_pb2.uint32_opt])
+ self.assertEqual(kuint64max, message_options.Extensions[
+ unittest_custom_options_pb2.uint64_opt])
+ self.assertEqual(kint32max, message_options.Extensions[
+ unittest_custom_options_pb2.sint32_opt])
+ self.assertEqual(kint64max, message_options.Extensions[
+ unittest_custom_options_pb2.sint64_opt])
+- self.assertEqual(kuint32max, message_options.Extensions[
+- unittest_custom_options_pb2.fixed32_opt])
++ if platform.architecture()[0] != '32bit':
++ self.assertEqual(kuint32max, message_options.Extensions[
++ unittest_custom_options_pb2.fixed32_opt])
+ self.assertEqual(kuint64max, message_options.Extensions[
+ unittest_custom_options_pb2.fixed64_opt])
+ self.assertEqual(kint32max, message_options.Extensions[
+--- protobuf-3.21.12.orig/python/google/protobuf/internal/json_format_test.py
++++ protobuf-3.21.12/python/google/protobuf/internal/json_format_test.py
+@@ -59,7 +59,7 @@ class JsonFormatBase(unittest.TestCase):
+ def FillAllFields(self, message):
+ message.int32_value = 20
+ message.int64_value = -20
+- message.uint32_value = 3120987654
++ message.uint32_value = 2147483647
+ message.uint64_value = 12345678900
+ message.float_value = float('-inf')
+ message.double_value = 3.1415
+@@ -127,7 +127,7 @@ class JsonFormatTest(JsonFormatBase):
+ message = json_format_proto3_pb2.TestMessage()
+ text = ('{"int32Value": 20, '
+ '"int64Value": "-20", '
+- '"uint32Value": 3120987654,'
++ '"uint32Value": 2147483647,'
+ '"uint64Value": "12345678900",'
+ '"floatValue": "-Infinity",'
+ '"doubleValue": 3.1415,'
+@@ -140,7 +140,7 @@ class JsonFormatTest(JsonFormatBase):
+ '"repeatedInt64Value": ["9007199254740992", "-9007199254740992"],'
+ '"repeatedUint32Value": [268435455, 134217727],'
+ '"repeatedUint64Value": ["9007199254740992", "9007199254740991"],'
+- '"repeatedFloatValue": [0],'
++ '"repeatedFloatValue": [0.0],'
+ '"repeatedDoubleValue": [1e-15, "Infinity"],'
+ '"repeatedBoolValue": [true, false],'
+ '"repeatedStringValue": ["Few symbols!#$,;", "bar"],'
+--- protobuf-3.21.12.orig/python/google/protobuf/internal/reflection_test.py
++++ protobuf-3.21.12/python/google/protobuf/internal/reflection_test.py
+@@ -36,6 +36,7 @@ pure-Python protocol compiler.
+ import copy
+ import gc
+ import operator
++import platform
+ import struct
+ import sys
+ import warnings
+@@ -453,7 +454,8 @@ class ReflectionTest(unittest.TestCase):
+ expected_max + 1)
+
+ TestMinAndMaxIntegers('optional_int32', -(1 << 31), (1 << 31) - 1)
+- TestMinAndMaxIntegers('optional_uint32', 0, 0xffffffff)
++ if platform.architecture()[0] != '32bit':
++ TestMinAndMaxIntegers('optional_uint32', 0, 0xffffffff)
+ TestMinAndMaxIntegers('optional_int64', -(1 << 63), (1 << 63) - 1)
+ TestMinAndMaxIntegers('optional_uint64', 0, 0xffffffffffffffff)
+ # A bit of white-box testing since -1 is an int and not a long in C++ and
+--- protobuf-3.21.12.orig/python/google/protobuf/internal/text_format_test.py
++++ protobuf-3.21.12/python/google/protobuf/internal/text_format_test.py
+@@ -39,8 +39,6 @@ import textwrap
+
+ import unittest
+
+-import platform
+-
+ from google.protobuf import any_pb2
+ from google.protobuf import struct_pb2
+ from google.protobuf import any_test_pb2
+@@ -1052,52 +1050,29 @@ class OnlyWorksWithProto2RightNowTests(T
+ all_data = message.SerializeToString()
+ empty_message = unittest_pb2.TestEmptyMessage()
+ empty_message.ParseFromString(all_data)
+- if platform.architecture()[0] != '32bit':
+- self.assertEqual(' 1: 101\n'
+- ' 12: 4636878028842991616\n'
+- ' 14: "hello"\n'
+- ' 15: "103"\n'
+- ' 16 {\n'
+- ' 17: 104\n'
+- ' }\n'
+- ' 18 {\n'
+- ' 1: 105\n'
+- ' }\n',
+- text_format.MessageToString(empty_message,
+- indent=2,
+- print_unknown_fields=True))
+- self.assertEqual('1: 101 '
+- '12: 4636878028842991616 '
+- '14: "hello" '
+- '15: "103" '
+- '16 { 17: 104 } '
+- '18 { 1: 105 }',
+- text_format.MessageToString(empty_message,
+- print_unknown_fields=True,
+- as_one_line=True))
+- else:
+- self.assertEqual(' 1: 101\n'
+- ' 12: 0\n'
+- ' 14: "hello"\n'
+- ' 15: "103"\n'
+- ' 16 {\n'
+- ' 17: 104\n'
+- ' }\n'
+- ' 18 {\n'
+- ' 1: 105\n'
+- ' }\n',
+- text_format.MessageToString(empty_message,
+- indent=2,
+- print_unknown_fields=True))
+- self.assertEqual('1: 101 '
+- '12: 0 '
+- '14: "hello" '
+- '15: "103" '
+- '16 { 17: 104 } '
+- '18 { 1: 105 }',
+- text_format.MessageToString(empty_message,
+- print_unknown_fields=True,
+- as_one_line=True))
++ self.assertEqual(' 1: 101\n'
++ ' 12: 4636878028842991616\n'
++ ' 14: "hello"\n'
++ ' 15: "103"\n'
++ ' 16 {\n'
++ ' 17: 104\n'
++ ' }\n'
++ ' 18 {\n'
++ ' 1: 105\n'
++ ' }\n',
++ text_format.MessageToString(empty_message,
++ indent=2,
++ print_unknown_fields=True))
++ self.assertEqual('1: 101 '
++ '12: 4636878028842991616 '
++ '14: "hello" '
++ '15: "103" '
++ '16 { 17: 104 } '
++ '18 { 1: 105 }',
++ text_format.MessageToString(empty_message,
++ print_unknown_fields=True,
++ as_one_line=True))
++
+ def testPrintInIndexOrder(self):
+ message = unittest_pb2.TestFieldOrderings()
+ # Fields are listed in index order instead of field number.
diff -Nru protobuf-3.21.12/debian/patches/series protobuf-3.21.12/debian/patches/series
--- protobuf-3.21.12/debian/patches/series 2022-11-25 01:58:23.000000000 +0100
+++ protobuf-3.21.12/debian/patches/series 2023-04-07 20:12:46.000000000 +0200
@@ -13,3 +13,6 @@
Fix_build_with_Python_3.11.patch
fix_hppa_alignof_assert.patch
Fix_rule_for_java_target.patch
+build_32_bit_tests.patch
+fix_C++_32bit_tests.patch
+fix_Python_32bit_tests.patch
--- End Message ---