From 6a212128003b3b902ebd9f91109bee1dd3ad9544 Mon Sep 17 00:00:00 2001 From: Protobuf Team Bot Date: Tue, 25 Aug 2026 20:10:00 -0700 Subject: [PATCH] Hopefully final batch of return value checks before UPB_NODISCARD enforcement PiperOrigin-RevId: 970967137 --- hpb/backend/upb/extension.cc | 2 +- upb/mem/arena_test.cc | 6 +- upb/mem/internal/arena.h | 30 ++- upb/message/compare_fuzz_test.cc | 43 +++- upb/message/convert_test.cc | 229 ++++++++++--------- upb/message/copy_test.cc | 4 +- upb/message/internal/accessors.h | 15 +- upb/message/internal/compare_unknown_test.cc | 40 ++-- upb/message/promote_test.cc | 12 +- upb/message/test.cc | 10 +- upb/wire/decode_test.cc | 8 +- upb/wire/encode_test.cc | 24 +- 12 files changed, 236 insertions(+), 187 deletions(-) diff --git a/hpb/backend/upb/extension.cc b/hpb/backend/upb/extension.cc index d50a10ba15..47fe4915d9 100644 --- a/hpb/backend/upb/extension.cc +++ b/hpb/backend/upb/extension.cc @@ -50,6 +50,6 @@ void SetAliasExtension(upb_Message* message, upb_Arena* message_arena, ABSL_CHECK(upb_Arena_IsFused(message_arena, extension_arena) || upb_Arena_HasRef(message_arena, extension_arena)); #endif - upb_Message_SetExtension(message, ext, &extension, message_arena); + ABSL_CHECK(upb_Message_SetExtension(message, ext, &extension, message_arena)); } } // namespace hpb::internal diff --git a/upb/mem/arena_test.cc b/upb/mem/arena_test.cc index 17e7e4c1ae..0e8c9f8cfa 100644 --- a/upb/mem/arena_test.cc +++ b/upb/mem/arena_test.cc @@ -114,7 +114,7 @@ TEST(ArenaTest, ShinkLastAfterReallocHwasanRegression) { }; upb_Arena* arena = upb_Arena_Init(nullptr, 1000, &upb_alloc_global); - (void)upb_Arena_Malloc(arena, 1); + EXPECT_NE(upb_Arena_Malloc(arena, 1), nullptr); // Will force a full-size block since the initial allocated block has tons of // free space and the max block size is tiny void* to_realloc = upb_Arena_Malloc(arena, 2000); @@ -225,7 +225,7 @@ class OverheadTest { } void Alloc(size_t size) { - upb_Arena_Malloc(arena_, size); + EXPECT_NE(upb_Arena_Malloc(arena_, size), nullptr); arena_alloced_ += size; arena_alloc_count_++; } @@ -532,7 +532,7 @@ TEST(ArenaTest, MaxBlockSize) { // Perform 600 1k allocations (600k total) and ensure that the amount of // memory allocated does not exceed 700k. for (int i = 0; i < 600; ++i) { - upb_Arena_Malloc(arena, 1024); + EXPECT_NE(upb_Arena_Malloc(arena, 1024), nullptr); } EXPECT_LE(upb_Arena_SpaceAllocated(arena, nullptr), 700 * 1024); upb_Arena_Free(arena); diff --git a/upb/mem/internal/arena.h b/upb/mem/internal/arena.h index 153ff333b9..1f2acadd30 100644 --- a/upb/mem/internal/arena.h +++ b/upb/mem/internal/arena.h @@ -52,27 +52,30 @@ void UPB_PRIVATE(_upb_Arena_SwapIn)(struct upb_Arena* des, void UPB_PRIVATE(_upb_Arena_SwapOut)(struct upb_Arena* des, const struct upb_Arena* src); -UPB_INLINE size_t UPB_PRIVATE(_upb_ArenaHas)(const struct upb_Arena* a) { +UPB_NODISCARD UPB_INLINE size_t +UPB_PRIVATE(_upb_ArenaHas)(const struct upb_Arena* a) { return (size_t)(a->UPB_ONLYBITS(end) - a->UPB_ONLYBITS(ptr)); } -UPB_INLINE size_t UPB_PRIVATE(_upb_Arena_AllocSpan)(size_t size) { +UPB_NODISCARD UPB_INLINE size_t UPB_PRIVATE(_upb_Arena_AllocSpan)(size_t size) { return UPB_ALIGN_MALLOC(size) + UPB_PRIVATE(kUpb_Asan_GuardSize); } -UPB_INLINE bool UPB_PRIVATE(_upb_Arena_WasLastAllocFromCurrentBlock)( - const struct upb_Arena* a, void* ptr, size_t size) { +UPB_NODISCARD UPB_INLINE bool UPB_PRIVATE( + _upb_Arena_WasLastAllocFromCurrentBlock)(const struct upb_Arena* a, + void* ptr, size_t size) { return UPB_PRIVATE(upb_Xsan_PtrEq)( (char*)ptr + UPB_PRIVATE(_upb_Arena_AllocSpan)(size), a->UPB_ONLYBITS(ptr)); } -UPB_INLINE bool UPB_PRIVATE(_upb_Arena_IsAligned)(const void* ptr) { +UPB_NODISCARD UPB_INLINE bool UPB_PRIVATE(_upb_Arena_IsAligned)( + const void* ptr) { return (uintptr_t)ptr % UPB_MALLOC_ALIGN == 0; } -UPB_API_INLINE void* _upb_Arena_Malloc_Unchecked(struct upb_Arena* a, - size_t size) { +UPB_NODISCARD UPB_API_INLINE void* _upb_Arena_Malloc_Unchecked( + struct upb_Arena* a, size_t size) { UPB_PRIVATE(upb_Xsan_AccessReadWrite)(UPB_XSAN(a)); size_t span = UPB_PRIVATE(_upb_Arena_AllocSpan)(size); @@ -91,7 +94,8 @@ UPB_API_INLINE void* _upb_Arena_Malloc_Unchecked(struct upb_Arena* a, return UPB_PRIVATE(upb_Xsan_NewUnpoisonedRegion)(UPB_XSAN(a), ret, size); } -UPB_API_INLINE void* upb_Arena_Malloc(struct upb_Arena* a, size_t size) { +UPB_NODISCARD UPB_API_INLINE void* upb_Arena_Malloc(struct upb_Arena* a, + size_t size) { if (!upb_AllocationCount_IncrementAndCheck()) { return NULL; } @@ -120,8 +124,9 @@ UPB_API_INLINE void upb_Arena_ShrinkLast(struct upb_Arena* a, void* ptr, } } -UPB_API_INLINE bool upb_Arena_TryExtend(struct upb_Arena* a, void* ptr, - size_t oldsize, size_t size) { +UPB_NODISCARD UPB_API_INLINE bool upb_Arena_TryExtend(struct upb_Arena* a, + void* ptr, size_t oldsize, + size_t size) { UPB_ASSERT(ptr); UPB_ASSERT(size > oldsize); @@ -138,8 +143,9 @@ UPB_API_INLINE bool upb_Arena_TryExtend(struct upb_Arena* a, void* ptr, return false; } -UPB_API_INLINE void* upb_Arena_Realloc(struct upb_Arena* a, void* ptr, - size_t oldsize, size_t size) { +UPB_NODISCARD UPB_API_INLINE void* upb_Arena_Realloc(struct upb_Arena* a, + void* ptr, size_t oldsize, + size_t size) { UPB_PRIVATE(upb_Xsan_AccessReadWrite)(UPB_XSAN(a)); void* ret; diff --git a/upb/message/compare_fuzz_test.cc b/upb/message/compare_fuzz_test.cc index b9f6872529..04fe692c73 100644 --- a/upb/message/compare_fuzz_test.cc +++ b/upb/message/compare_fuzz_test.cc @@ -2,6 +2,7 @@ #include #include "testing/fuzzing/fuzztest.h" +#include "absl/base/throw_delegate.h" #include "google/protobuf/util/message_differencer.h" #include "upb/mem/arena.h" #include "upb/message/compare.h" @@ -17,18 +18,36 @@ namespace { const upb_ExtensionRegistry* CreateTestExtensionRegistry(upb_Arena* arena) { upb_ExtensionRegistry* ext_registry = upb_ExtensionRegistry_New(arena); - upb_ExtensionRegistry_Add(ext_registry, - upb_test_ModelExtension1_model_ext_ext); - upb_ExtensionRegistry_Add(ext_registry, - upb_test_ModelExtension2_model_ext_ext); - upb_ExtensionRegistry_Add(ext_registry, - upb_test_ModelExtension2_model_ext_2_ext); - upb_ExtensionRegistry_Add(ext_registry, - upb_test_ModelExtension2_model_ext_3_ext); - upb_ExtensionRegistry_Add(ext_registry, - upb_test_ModelExtension2_model_ext_4_ext); - upb_ExtensionRegistry_Add(ext_registry, - upb_test_ModelExtension2_model_ext_5_ext); + if (upb_ExtensionRegistry_Add(ext_registry, + upb_test_ModelExtension1_model_ext_ext) != + kUpb_ExtensionRegistryStatus_Ok) { + absl::ThrowStdBadAlloc(); + } + if (upb_ExtensionRegistry_Add(ext_registry, + upb_test_ModelExtension2_model_ext_ext) != + kUpb_ExtensionRegistryStatus_Ok) { + absl::ThrowStdBadAlloc(); + } + if (upb_ExtensionRegistry_Add(ext_registry, + upb_test_ModelExtension2_model_ext_2_ext) != + kUpb_ExtensionRegistryStatus_Ok) { + absl::ThrowStdBadAlloc(); + } + if (upb_ExtensionRegistry_Add(ext_registry, + upb_test_ModelExtension2_model_ext_3_ext) != + kUpb_ExtensionRegistryStatus_Ok) { + absl::ThrowStdBadAlloc(); + } + if (upb_ExtensionRegistry_Add(ext_registry, + upb_test_ModelExtension2_model_ext_4_ext) != + kUpb_ExtensionRegistryStatus_Ok) { + absl::ThrowStdBadAlloc(); + } + if (upb_ExtensionRegistry_Add(ext_registry, + upb_test_ModelExtension2_model_ext_5_ext) != + kUpb_ExtensionRegistryStatus_Ok) { + absl::ThrowStdBadAlloc(); + } return ext_registry; } diff --git a/upb/message/convert_test.cc b/upb/message/convert_test.cc index f4ed1e65be..9d26ce088e 100644 --- a/upb/message/convert_test.cc +++ b/upb/message/convert_test.cc @@ -259,9 +259,9 @@ TEST(ConvertTest, ExtensionArrayShallowConversion) { upb_Array_Set(ext_arr, 0, elem_val); upb_MessageValue ext_val; ext_val.array_val = ext_arr; - upb_Message_SetExtension(UPB_UPCAST(msg), - upb_test_convert_ext_field_repeated_msg_ext, - &ext_val, arena.ptr()); + EXPECT_TRUE(upb_Message_SetExtension( + UPB_UPCAST(msg), upb_test_convert_ext_field_repeated_msg_ext, &ext_val, + arena.ptr())); const upb_MiniTable* src_mt = &upb__test__convert__MessageWithExtension_msg_init; @@ -302,9 +302,9 @@ TEST(ConvertTest, ExtensionArrayDeepConversion) { upb_Array_Set(ext_arr, 0, elem_val); upb_MessageValue ext_val; ext_val.array_val = ext_arr; - upb_Message_SetExtension(UPB_UPCAST(msg), - upb_test_convert_ext_field_repeated_msg_ext, - &ext_val, arena.ptr()); + EXPECT_TRUE(upb_Message_SetExtension( + UPB_UPCAST(msg), upb_test_convert_ext_field_repeated_msg_ext, &ext_val, + arena.ptr())); const upb_MiniTable* src_mt = &upb__test__convert__MessageWithExtension_msg_init; @@ -337,9 +337,9 @@ TEST(ConvertTest, MismatchedExtensionFails) { // Set extension field 1000 to an int32 upb_MessageValue ext_val; ext_val.int32_val = 12345; - upb_Message_SetExtension(UPB_UPCAST(msg), - upb_test_convert_ext_field_int32_ext, &ext_val, - arena.ptr()); + EXPECT_TRUE(upb_Message_SetExtension(UPB_UPCAST(msg), + upb_test_convert_ext_field_int32_ext, + &ext_val, arena.ptr())); const upb_MiniTable* src_mt = &upb__test__convert__MessageWithExtension_msg_init; @@ -565,9 +565,9 @@ TEST(ConvertTest, ConvertExtensions_ScalarMatch) { upb_MessageValue ext_val; ext_val.int32_val = 123; - upb_Message_SetExtension(UPB_UPCAST(msg), - upb_test_convert_ext_field_int32_ext, &ext_val, - arena.ptr()); + EXPECT_TRUE(upb_Message_SetExtension(UPB_UPCAST(msg), + upb_test_convert_ext_field_int32_ext, + &ext_val, arena.ptr())); const upb_MiniTable* src_mt = &upb__test__convert__MessageWithExtension_msg_init; @@ -594,8 +594,9 @@ TEST(ConvertTest, ConvertExtensions_SingularMessageShallow) { upb_MessageValue ext_val; ext_val.msg_val = UPB_UPCAST(sub); - upb_Message_SetExtension(UPB_UPCAST(msg), upb_test_convert_ext_field_msg_ext, - &ext_val, arena.ptr()); + EXPECT_TRUE(upb_Message_SetExtension(UPB_UPCAST(msg), + upb_test_convert_ext_field_msg_ext, + &ext_val, arena.ptr())); const upb_MiniTable* src_mt = &upb__test__convert__MessageWithExtension_msg_init; @@ -629,8 +630,9 @@ TEST(ConvertTest, ConvertExtensions_SingularMessageDeep) { upb_MessageValue ext_val; ext_val.msg_val = UPB_UPCAST(sub); - upb_Message_SetExtension(UPB_UPCAST(msg), upb_test_convert_ext_field_msg_ext, - &ext_val, arena.ptr()); + EXPECT_TRUE(upb_Message_SetExtension(UPB_UPCAST(msg), + upb_test_convert_ext_field_msg_ext, + &ext_val, arena.ptr())); const upb_MiniTable* src_mt = &upb__test__convert__MessageWithExtension_msg_init; @@ -659,9 +661,9 @@ TEST(ConvertTest, ConvertExtensions_RemainsExtension) { upb_MessageValue ext_val; ext_val.int32_val = 123; - upb_Message_SetExtension(UPB_UPCAST(msg), - upb_test_convert_ext_field_int32_ext, &ext_val, - arena.ptr()); + EXPECT_TRUE(upb_Message_SetExtension(UPB_UPCAST(msg), + upb_test_convert_ext_field_int32_ext, + &ext_val, arena.ptr())); const upb_MiniTable* mt = &upb__test__convert__MessageWithExtension_msg_init; @@ -688,9 +690,9 @@ TEST(ConvertTest, ConvertExtensions_LookupExtensionInRegistry) { upb_MessageValue ext_val; ext_val.int32_val = 123; - upb_Message_SetExtension(UPB_UPCAST(msg), - upb_test_convert_ext_field_int32_ext, &ext_val, - arena.ptr()); + EXPECT_TRUE(upb_Message_SetExtension(UPB_UPCAST(msg), + upb_test_convert_ext_field_int32_ext, + &ext_val, arena.ptr())); const upb_MiniTable* src_mt = &upb__test__convert__MessageWithExtension_msg_init; @@ -725,9 +727,9 @@ TEST(ConvertTest, ConvertExtensionToNonExtendable) { upb_MessageValue ext_val; ext_val.int32_val = 123; - upb_Message_SetExtension(UPB_UPCAST(msg), - upb_test_convert_ext_field_int32_ext, &ext_val, - arena.ptr()); + EXPECT_TRUE(upb_Message_SetExtension(UPB_UPCAST(msg), + upb_test_convert_ext_field_int32_ext, + &ext_val, arena.ptr())); const upb_MiniTable* src_mt = &upb__test__convert__MessageWithExtension_msg_init; @@ -756,9 +758,9 @@ TEST(ConvertTest, ConvertExtensionToExtendableButUnknown) { upb_MessageValue ext_val; ext_val.int32_val = 123; - upb_Message_SetExtension(UPB_UPCAST(msg), - upb_test_convert_ext_field_int32_ext, &ext_val, - arena.ptr()); + EXPECT_TRUE(upb_Message_SetExtension(UPB_UPCAST(msg), + upb_test_convert_ext_field_int32_ext, + &ext_val, arena.ptr())); const upb_MiniTable* src_mt = &upb__test__convert__MessageWithExtension_msg_init; @@ -792,9 +794,9 @@ TEST(ConvertTest, NonCanonicalToNonCanonical) { upb_MessageValue ext_val; ext_val.int32_val = 123; - upb_Message_SetExtension(UPB_UPCAST(msg), - upb_test_convert_ext_field_int32_ext, &ext_val, - arena.ptr()); + EXPECT_TRUE(upb_Message_SetExtension(UPB_UPCAST(msg), + upb_test_convert_ext_field_int32_ext, + &ext_val, arena.ptr())); const upb_MiniTable* src_mt = &upb__test__convert__MessageWithExtension_msg_init; @@ -829,9 +831,9 @@ TEST(ConvertTest, NonCanonicalToCanonical) { upb_MessageValue ext_val; ext_val.int32_val = 123; - upb_Message_SetExtension(UPB_UPCAST(msg), - upb_test_convert_ext_field_int32_ext, &ext_val, - arena.ptr()); + EXPECT_TRUE(upb_Message_SetExtension(UPB_UPCAST(msg), + upb_test_convert_ext_field_int32_ext, + &ext_val, arena.ptr())); const upb_MiniTable* src_mt = &upb__test__convert__MessageWithExtension_msg_init; @@ -846,8 +848,9 @@ TEST(ConvertTest, NonCanonicalToCanonical) { // Convert with registry. It should become a canonical extension. upb_ExtensionRegistry* extreg = upb_ExtensionRegistry_New(arena.ptr()); ASSERT_NE(extreg, nullptr); - upb_ExtensionRegistry_Add(extreg, - upb_test_convert_another_ext_field_int32_ext); + EXPECT_EQ(upb_ExtensionRegistry_Add( + extreg, upb_test_convert_another_ext_field_int32_ext), + kUpb_ExtensionRegistryStatus_Ok); const upb_Message* converted = upb_Message_Convert( non_canonical_src, dst_mt, dst_mt, extreg, 0, 0, arena.ptr()); @@ -873,9 +876,9 @@ TEST(ConvertTest, NonCanonicalToNormalField) { upb_MessageValue ext_val; ext_val.int32_val = 123; - upb_Message_SetExtension(UPB_UPCAST(msg), - upb_test_convert_ext_field_int32_ext, &ext_val, - arena.ptr()); + EXPECT_TRUE(upb_Message_SetExtension(UPB_UPCAST(msg), + upb_test_convert_ext_field_int32_ext, + &ext_val, arena.ptr())); const upb_MiniTable* src_mt = &upb__test__convert__MessageWithExtension_msg_init; @@ -911,9 +914,9 @@ TEST(ConvertTest, NonCanonicalToUnknownBytes) { upb_MessageValue ext_val; ext_val.int32_val = 123; - upb_Message_SetExtension(UPB_UPCAST(msg), - upb_test_convert_ext_field_int32_ext, &ext_val, - arena.ptr()); + EXPECT_TRUE(upb_Message_SetExtension(UPB_UPCAST(msg), + upb_test_convert_ext_field_int32_ext, + &ext_val, arena.ptr())); const upb_MiniTable* src_mt = &upb__test__convert__MessageWithExtension_msg_init; @@ -1532,8 +1535,8 @@ TEST(ConvertTest, OpenToClosedExtensionEnum) { upb_MessageValue ext_val; ext_val.int32_val = upb_test_convert_Proto2EnumMessage_BAR; - upb_Message_SetExtension(UPB_UPCAST(msg), upb_test_convert_ext_enum_ext, - &ext_val, arena.ptr()); + EXPECT_TRUE(upb_Message_SetExtension( + UPB_UPCAST(msg), upb_test_convert_ext_enum_ext, &ext_val, arena.ptr())); const upb_MiniTable* src_mt = &upb__test__convert__MessageWithExtension_msg_init; @@ -1558,8 +1561,8 @@ TEST(ConvertTest, OpenToClosedExtensionEnum_InvalidValue) { upb_MessageValue ext_val; ext_val.int32_val = 12345; // Invalid value. - upb_Message_SetExtension(UPB_UPCAST(msg), upb_test_convert_ext_enum_ext, - &ext_val, arena.ptr()); + EXPECT_TRUE(upb_Message_SetExtension( + UPB_UPCAST(msg), upb_test_convert_ext_enum_ext, &ext_val, arena.ptr())); const upb_MiniTable* src_mt = &upb__test__convert__MessageWithExtension_msg_init; @@ -1607,9 +1610,9 @@ TEST(ConvertTest, OpenToClosedExtensionRepeatedEnum) { upb_MessageValue ext_val; ext_val.array_val = ext_arr; - upb_Message_SetExtension(UPB_UPCAST(msg), - upb_test_convert_ext_repeated_enum_ext, &ext_val, - arena.ptr()); + EXPECT_TRUE(upb_Message_SetExtension(UPB_UPCAST(msg), + upb_test_convert_ext_repeated_enum_ext, + &ext_val, arena.ptr())); const upb_MiniTable* src_mt = &upb__test__convert__MessageWithExtension_msg_init; @@ -1644,9 +1647,9 @@ TEST(ConvertTest, OpenToClosedExtensionRepeatedEnum_InvalidValue) { upb_MessageValue ext_val; ext_val.array_val = ext_arr; - upb_Message_SetExtension(UPB_UPCAST(msg), - upb_test_convert_ext_repeated_enum_ext, &ext_val, - arena.ptr()); + EXPECT_TRUE(upb_Message_SetExtension(UPB_UPCAST(msg), + upb_test_convert_ext_repeated_enum_ext, + &ext_val, arena.ptr())); const upb_MiniTable* src_mt = &upb__test__convert__MessageWithExtension_msg_init; @@ -1691,9 +1694,9 @@ TEST(ConvertTest, ExtensionToMapMismatch) { upb_MessageValue ext_val; ext_val.int32_val = 123; - upb_Message_SetExtension(UPB_UPCAST(msg), - upb_test_convert_ext_field_int32_ext, &ext_val, - arena.ptr()); + EXPECT_TRUE(upb_Message_SetExtension(UPB_UPCAST(msg), + upb_test_convert_ext_field_int32_ext, + &ext_val, arena.ptr())); const upb_MiniTable* src_mt = &upb__test__convert__MessageWithExtension_msg_init; @@ -1748,8 +1751,9 @@ TEST(ConvertTest, NonCanonicalMessageToCanonical_SameSchema) { upb_MessageValue ext_val; ext_val.msg_val = UPB_UPCAST(sub); - upb_Message_SetExtension(UPB_UPCAST(msg), upb_test_convert_ext_field_msg_ext, - &ext_val, arena.ptr()); + EXPECT_TRUE(upb_Message_SetExtension(UPB_UPCAST(msg), + upb_test_convert_ext_field_msg_ext, + &ext_val, arena.ptr())); const upb_MiniTable* src_mt = &upb__test__convert__MessageWithExtension_msg_init; @@ -1763,7 +1767,9 @@ TEST(ConvertTest, NonCanonicalMessageToCanonical_SameSchema) { // Convert back to MessageWithExtension with registry. upb_ExtensionRegistry* extreg = upb_ExtensionRegistry_New(arena.ptr()); ASSERT_NE(extreg, nullptr); - upb_ExtensionRegistry_Add(extreg, upb_test_convert_ext_field_msg_ext); + EXPECT_EQ( + upb_ExtensionRegistry_Add(extreg, upb_test_convert_ext_field_msg_ext), + kUpb_ExtensionRegistryStatus_Ok); const upb_Message* converted = upb_Message_Convert( non_canonical_src, empty_mt, src_mt, extreg, 0, 0, arena.ptr()); @@ -1796,8 +1802,9 @@ TEST(ConvertTest, NonCanonicalMessageToCanonical_DiffSchema) { upb_MessageValue ext_val; ext_val.msg_val = UPB_UPCAST(sub); - upb_Message_SetExtension(UPB_UPCAST(msg), upb_test_convert_ext_field_msg_ext, - &ext_val, arena.ptr()); + EXPECT_TRUE(upb_Message_SetExtension(UPB_UPCAST(msg), + upb_test_convert_ext_field_msg_ext, + &ext_val, arena.ptr())); const upb_MiniTable* src_mt = &upb__test__convert__MessageWithExtension_msg_init; @@ -1815,7 +1822,9 @@ TEST(ConvertTest, NonCanonicalMessageToCanonical_DiffSchema) { upb_ExtensionRegistry* extreg = upb_ExtensionRegistry_New(arena.ptr()); ASSERT_NE(extreg, nullptr); - upb_ExtensionRegistry_Add(extreg, upb_test_convert_another_ext_field_msg_ext); + EXPECT_EQ(upb_ExtensionRegistry_Add( + extreg, upb_test_convert_another_ext_field_msg_ext), + kUpb_ExtensionRegistryStatus_Ok); const upb_Message* converted = upb_Message_Convert( non_canonical_src, empty_mt, dst_mt, extreg, 0, 0, arena.ptr()); @@ -1849,8 +1858,9 @@ TEST(ConvertTest, NonCanonicalMessageToNormalField_DiffSchema) { upb_MessageValue ext_val; ext_val.msg_val = UPB_UPCAST(sub); - upb_Message_SetExtension(UPB_UPCAST(msg), upb_test_convert_ext_field_msg_ext, - &ext_val, arena.ptr()); + EXPECT_TRUE(upb_Message_SetExtension(UPB_UPCAST(msg), + upb_test_convert_ext_field_msg_ext, + &ext_val, arena.ptr())); const upb_MiniTable* src_mt = &upb__test__convert__MessageWithExtension_msg_init; @@ -1893,8 +1903,9 @@ TEST(ConvertTest, NonCanonicalMessageToNonCanonical) { upb_MessageValue ext_val; ext_val.msg_val = UPB_UPCAST(sub); - upb_Message_SetExtension(UPB_UPCAST(msg), upb_test_convert_ext_field_msg_ext, - &ext_val, arena.ptr()); + EXPECT_TRUE(upb_Message_SetExtension(UPB_UPCAST(msg), + upb_test_convert_ext_field_msg_ext, + &ext_val, arena.ptr())); const upb_MiniTable* src_mt = &upb__test__convert__MessageWithExtension_msg_init; @@ -1934,14 +1945,14 @@ TEST(ConvertTest, NonCanonicalRepeatedInt32ToCanonical) { upb_MessageValue val1, val2; val1.int32_val = 123; val2.int32_val = 456; - upb_Array_Append(arr, val1, arena.ptr()); - upb_Array_Append(arr, val2, arena.ptr()); + ASSERT_TRUE(upb_Array_Append(arr, val1, arena.ptr())); + ASSERT_TRUE(upb_Array_Append(arr, val2, arena.ptr())); upb_MessageValue ext_val; ext_val.array_val = arr; - upb_Message_SetExtension(UPB_UPCAST(msg), - upb_test_convert_ext_repeated_int32_ext, &ext_val, - arena.ptr()); + EXPECT_TRUE(upb_Message_SetExtension(UPB_UPCAST(msg), + upb_test_convert_ext_repeated_int32_ext, + &ext_val, arena.ptr())); const upb_MiniTable* src_mt = &upb__test__convert__MessageWithExtension_msg_init; @@ -1953,7 +1964,9 @@ TEST(ConvertTest, NonCanonicalRepeatedInt32ToCanonical) { upb_ExtensionRegistry* extreg = upb_ExtensionRegistry_New(arena.ptr()); ASSERT_NE(extreg, nullptr); - upb_ExtensionRegistry_Add(extreg, upb_test_convert_ext_repeated_int32_ext); + EXPECT_EQ(upb_ExtensionRegistry_Add(extreg, + upb_test_convert_ext_repeated_int32_ext), + kUpb_ExtensionRegistryStatus_Ok); const upb_Message* converted = upb_Message_Convert( non_canonical_src, empty_mt, src_mt, extreg, 0, 0, arena.ptr()); @@ -1976,14 +1989,14 @@ TEST(ConvertTest, NonCanonicalRepeatedInt32ToNormalField) { upb_MessageValue val1, val2; val1.int32_val = 123; val2.int32_val = 456; - upb_Array_Append(arr, val1, arena.ptr()); - upb_Array_Append(arr, val2, arena.ptr()); + ASSERT_TRUE(upb_Array_Append(arr, val1, arena.ptr())); + ASSERT_TRUE(upb_Array_Append(arr, val2, arena.ptr())); upb_MessageValue ext_val; ext_val.array_val = arr; - upb_Message_SetExtension(UPB_UPCAST(msg), - upb_test_convert_ext_repeated_int32_ext, &ext_val, - arena.ptr()); + EXPECT_TRUE(upb_Message_SetExtension(UPB_UPCAST(msg), + upb_test_convert_ext_repeated_int32_ext, + &ext_val, arena.ptr())); const upb_MiniTable* src_mt = &upb__test__convert__MessageWithExtension_msg_init; @@ -2019,8 +2032,8 @@ TEST(ConvertTest, NonCanonicalStringToCanonical) { upb_StringView str = upb_StringView_FromString("hello"); upb_MessageValue ext_val; ext_val.str_val = str; - upb_Message_SetExtension(UPB_UPCAST(msg), upb_test_convert_ext_string_ext, - &ext_val, arena.ptr()); + EXPECT_TRUE(upb_Message_SetExtension( + UPB_UPCAST(msg), upb_test_convert_ext_string_ext, &ext_val, arena.ptr())); const upb_MiniTable* src_mt = &upb__test__convert__MessageWithExtension_msg_init; @@ -2032,7 +2045,8 @@ TEST(ConvertTest, NonCanonicalStringToCanonical) { upb_ExtensionRegistry* extreg = upb_ExtensionRegistry_New(arena.ptr()); ASSERT_NE(extreg, nullptr); - upb_ExtensionRegistry_Add(extreg, upb_test_convert_ext_string_ext); + EXPECT_EQ(upb_ExtensionRegistry_Add(extreg, upb_test_convert_ext_string_ext), + kUpb_ExtensionRegistryStatus_Ok); const upb_Message* converted = upb_Message_Convert( non_canonical_src, empty_mt, src_mt, extreg, 0, 0, arena.ptr()); @@ -2055,8 +2069,8 @@ TEST(ConvertTest, NonCanonicalStringToNormalField) { upb_StringView str = upb_StringView_FromString("hello"); upb_MessageValue ext_val; ext_val.str_val = str; - upb_Message_SetExtension(UPB_UPCAST(msg), upb_test_convert_ext_string_ext, - &ext_val, arena.ptr()); + EXPECT_TRUE(upb_Message_SetExtension( + UPB_UPCAST(msg), upb_test_convert_ext_string_ext, &ext_val, arena.ptr())); const upb_MiniTable* src_mt = &upb__test__convert__MessageWithExtension_msg_init; @@ -2088,8 +2102,8 @@ TEST(ConvertTest, NonCanonicalEnumToCanonical_Valid) { upb_MessageValue ext_val; ext_val.int32_val = 2; // BAZ - upb_Message_SetExtension(UPB_UPCAST(msg), upb_test_convert_ext_enum_ext, - &ext_val, arena.ptr()); + EXPECT_TRUE(upb_Message_SetExtension( + UPB_UPCAST(msg), upb_test_convert_ext_enum_ext, &ext_val, arena.ptr())); const upb_MiniTable* src_mt = &upb__test__convert__MessageWithExtension_msg_init; @@ -2101,7 +2115,8 @@ TEST(ConvertTest, NonCanonicalEnumToCanonical_Valid) { upb_ExtensionRegistry* extreg = upb_ExtensionRegistry_New(arena.ptr()); ASSERT_NE(extreg, nullptr); - upb_ExtensionRegistry_Add(extreg, upb_test_convert_ext_enum_ext); + EXPECT_EQ(upb_ExtensionRegistry_Add(extreg, upb_test_convert_ext_enum_ext), + kUpb_ExtensionRegistryStatus_Ok); const upb_Message* converted = upb_Message_Convert( non_canonical_src, empty_mt, src_mt, extreg, 0, 0, arena.ptr()); @@ -2122,8 +2137,8 @@ TEST(ConvertTest, NonCanonicalEnumToCanonical_InvalidClosed) { upb_MessageValue ext_val; ext_val.int32_val = 99; // Invalid for Proto2EnumMessage.NestedEnum - upb_Message_SetExtension(UPB_UPCAST(msg), upb_test_convert_ext_enum_ext, - &ext_val, arena.ptr()); + EXPECT_TRUE(upb_Message_SetExtension( + UPB_UPCAST(msg), upb_test_convert_ext_enum_ext, &ext_val, arena.ptr())); const upb_MiniTable* src_mt = &upb__test__convert__MessageWithExtension_msg_init; @@ -2135,7 +2150,8 @@ TEST(ConvertTest, NonCanonicalEnumToCanonical_InvalidClosed) { upb_ExtensionRegistry* extreg = upb_ExtensionRegistry_New(arena.ptr()); ASSERT_NE(extreg, nullptr); - upb_ExtensionRegistry_Add(extreg, upb_test_convert_ext_enum_ext); + EXPECT_EQ(upb_ExtensionRegistry_Add(extreg, upb_test_convert_ext_enum_ext), + kUpb_ExtensionRegistryStatus_Ok); const upb_Message* converted = upb_Message_Convert( non_canonical_src, empty_mt, src_mt, extreg, 0, 0, arena.ptr()); @@ -2162,15 +2178,15 @@ TEST(ConvertTest, NonCanonicalRepeatedEnumToCanonical_Mixed) { val1.int32_val = 1; // BAR val2.int32_val = 99; // Invalid val3.int32_val = 2; // BAZ - upb_Array_Append(arr, val1, arena.ptr()); - upb_Array_Append(arr, val2, arena.ptr()); - upb_Array_Append(arr, val3, arena.ptr()); + ASSERT_TRUE(upb_Array_Append(arr, val1, arena.ptr())); + ASSERT_TRUE(upb_Array_Append(arr, val2, arena.ptr())); + ASSERT_TRUE(upb_Array_Append(arr, val3, arena.ptr())); upb_MessageValue ext_val; ext_val.array_val = arr; - upb_Message_SetExtension(UPB_UPCAST(msg), - upb_test_convert_ext_repeated_enum_ext, &ext_val, - arena.ptr()); + EXPECT_TRUE(upb_Message_SetExtension(UPB_UPCAST(msg), + upb_test_convert_ext_repeated_enum_ext, + &ext_val, arena.ptr())); const upb_MiniTable* src_mt = &upb__test__convert__MessageWithExtension_msg_init; @@ -2182,7 +2198,9 @@ TEST(ConvertTest, NonCanonicalRepeatedEnumToCanonical_Mixed) { upb_ExtensionRegistry* extreg = upb_ExtensionRegistry_New(arena.ptr()); ASSERT_NE(extreg, nullptr); - upb_ExtensionRegistry_Add(extreg, upb_test_convert_ext_repeated_enum_ext); + EXPECT_EQ( + upb_ExtensionRegistry_Add(extreg, upb_test_convert_ext_repeated_enum_ext), + kUpb_ExtensionRegistryStatus_Ok); const upb_Message* converted = upb_Message_Convert( non_canonical_src, empty_mt, src_mt, extreg, 0, 0, arena.ptr()); @@ -2210,9 +2228,9 @@ TEST(ConvertTest, NonCanonicalInt32ToMap_Incompatible) { upb_MessageValue ext_val; ext_val.int32_val = 42; - upb_Message_SetExtension(UPB_UPCAST(msg), - upb_test_convert_ext_field_int32_ext, &ext_val, - arena.ptr()); + EXPECT_TRUE(upb_Message_SetExtension(UPB_UPCAST(msg), + upb_test_convert_ext_field_int32_ext, + &ext_val, arena.ptr())); const upb_MiniTable* src_mt = &upb__test__convert__MessageWithExtension_msg_init; @@ -2239,15 +2257,15 @@ TEST(ConvertTest, NonCanonicalMixedToCanonical) { // Set int32 extension (1000). upb_MessageValue val_int32; val_int32.int32_val = 42; - upb_Message_SetExtension(UPB_UPCAST(msg), - upb_test_convert_ext_field_int32_ext, &val_int32, - arena.ptr()); + EXPECT_TRUE(upb_Message_SetExtension(UPB_UPCAST(msg), + upb_test_convert_ext_field_int32_ext, + &val_int32, arena.ptr())); // Set string extension (1004). upb_MessageValue val_str; val_str.str_val = upb_StringView_FromDataAndSize("hello", 5); - upb_Message_SetExtension(UPB_UPCAST(msg), upb_test_convert_ext_string_ext, - &val_str, arena.ptr()); + EXPECT_TRUE(upb_Message_SetExtension( + UPB_UPCAST(msg), upb_test_convert_ext_string_ext, &val_str, arena.ptr())); const upb_MiniTable* src_mt = &upb__test__convert__MessageWithExtension_msg_init; @@ -2259,8 +2277,11 @@ TEST(ConvertTest, NonCanonicalMixedToCanonical) { upb_ExtensionRegistry* extreg = upb_ExtensionRegistry_New(arena.ptr()); ASSERT_NE(extreg, nullptr); - upb_ExtensionRegistry_Add(extreg, upb_test_convert_ext_field_int32_ext); - upb_ExtensionRegistry_Add(extreg, upb_test_convert_ext_string_ext); + EXPECT_EQ( + upb_ExtensionRegistry_Add(extreg, upb_test_convert_ext_field_int32_ext), + kUpb_ExtensionRegistryStatus_Ok); + EXPECT_EQ(upb_ExtensionRegistry_Add(extreg, upb_test_convert_ext_string_ext), + kUpb_ExtensionRegistryStatus_Ok); const upb_Message* converted = upb_Message_Convert( non_canonical_src, empty_mt, src_mt, extreg, 0, 0, arena.ptr()); diff --git a/upb/message/copy_test.cc b/upb/message/copy_test.cc index d1598ce387..6767c9a227 100644 --- a/upb/message/copy_test.cc +++ b/upb/message/copy_test.cc @@ -629,9 +629,9 @@ TEST(GeneratedCode, DeepCloneMessageNonCanonicalExtensions) { upb_StringView_FromString("LifecycleValue")); // Attach as non-canonical extension - UPB_PRIVATE(_upb_Message_SetNonCanonicalExtension)( + EXPECT_TRUE(UPB_PRIVATE(_upb_Message_SetNonCanonicalExtension)( UPB_UPCAST(msg), upb_test_ModelExtension1_model_ext_ext, &ext1, - source_arena); + source_arena)); // Deep clone msg to clone upb_Arena* arena = upb_Arena_New(); diff --git a/upb/message/internal/accessors.h b/upb/message/internal/accessors.h index 81c65aed58..32106730cb 100644 --- a/upb/message/internal/accessors.h +++ b/upb/message/internal/accessors.h @@ -330,9 +330,9 @@ UPB_API_INLINE void upb_Message_SetBaseField(struct upb_Message* msg, (f, UPB_PRIVATE(_upb_Message_MutableDataPtr)(msg, f), val); } -UPB_API_INLINE bool upb_Message_SetExtension(struct upb_Message* msg, - const upb_MiniTableExtension* e, - const void* val, upb_Arena* a) { +UPB_NODISCARD UPB_API_INLINE bool upb_Message_SetExtension( + struct upb_Message* msg, const upb_MiniTableExtension* e, const void* val, + upb_Arena* a) { UPB_ASSERT(!upb_Message_IsFrozen(msg)); UPB_ASSERT(a); upb_Extension* ext = @@ -343,9 +343,10 @@ UPB_API_INLINE bool upb_Message_SetExtension(struct upb_Message* msg, return true; } -UPB_API_INLINE bool UPB_PRIVATE(_upb_Message_SetNonCanonicalExtension)( - struct upb_Message* msg, const upb_MiniTableExtension* e, const void* val, - upb_Arena* a) { +UPB_NODISCARD UPB_API_INLINE bool UPB_PRIVATE( + _upb_Message_SetNonCanonicalExtension)(struct upb_Message* msg, + const upb_MiniTableExtension* e, + const void* val, upb_Arena* a) { UPB_ASSERT(!upb_Message_IsFrozen(msg)); UPB_ASSERT(a); upb_Extension* ext = @@ -372,7 +373,7 @@ UPB_INLINE bool UPB_PRIVATE(_upb_Message_SetField)(struct upb_Message* msg, } } -UPB_API_INLINE const upb_Array* upb_Message_GetArray( +UPB_NODISCARD UPB_API_INLINE const upb_Array* upb_Message_GetArray( const struct upb_Message* msg, const upb_MiniTableField* f) { UPB_PRIVATE(_upb_MiniTableField_CheckIsArray)(f); upb_Array* ret; diff --git a/upb/message/internal/compare_unknown_test.cc b/upb/message/internal/compare_unknown_test.cc index 11435f6c59..149608005b 100644 --- a/upb/message/internal/compare_unknown_test.cc +++ b/upb/message/internal/compare_unknown_test.cc @@ -162,12 +162,12 @@ TEST(CompareTest, MessageIsEqualWithIdenticalNonCanonicalExtensions) { upb_StringView_FromString("World")); // 3. Attach identical non-canonical extensions to both messages - UPB_PRIVATE(_upb_Message_SetNonCanonicalExtension)( + EXPECT_TRUE(UPB_PRIVATE(_upb_Message_SetNonCanonicalExtension)( UPB_UPCAST(msg1), upb_test_ModelExtension1_model_ext_ext, &extension1, - arena.ptr()); - UPB_PRIVATE(_upb_Message_SetNonCanonicalExtension)( + arena.ptr())); + EXPECT_TRUE(UPB_PRIVATE(_upb_Message_SetNonCanonicalExtension)( UPB_UPCAST(msg2), upb_test_ModelExtension1_model_ext_ext, &extension2, - arena.ptr()); + arena.ptr())); // 4. Verify upb_Message_IsEqual yields true bool is_equal = upb_Message_IsEqual(UPB_UPCAST(msg1), UPB_UPCAST(msg2), @@ -198,12 +198,12 @@ TEST(CompareTest, MessageIsEqualWithDifferentNonCanonicalExtensions) { upb_StringView_FromString("Hello")); // 4. Attach different non-canonical extensions to the two messages - UPB_PRIVATE(_upb_Message_SetNonCanonicalExtension)( + EXPECT_TRUE(UPB_PRIVATE(_upb_Message_SetNonCanonicalExtension)( UPB_UPCAST(msg1), upb_test_ModelExtension1_model_ext_ext, &extension1, - arena.ptr()); - UPB_PRIVATE(_upb_Message_SetNonCanonicalExtension)( + arena.ptr())); + EXPECT_TRUE(UPB_PRIVATE(_upb_Message_SetNonCanonicalExtension)( UPB_UPCAST(msg2), upb_test_ModelExtension1_model_ext_ext, &extension2, - arena.ptr()); + arena.ptr())); // Verify that NextUnknown2 successfully yields the non-canonical extension upb_MessageUnknown udata; @@ -234,9 +234,9 @@ TEST(CompareTest, MessageIsEqualWithOnlyOneHavingNonCanonicalExtension) { upb_StringView_FromString("World")); // 3. Attach only to msg1 - UPB_PRIVATE(_upb_Message_SetNonCanonicalExtension)( + EXPECT_TRUE(UPB_PRIVATE(_upb_Message_SetNonCanonicalExtension)( UPB_UPCAST(msg1), upb_test_ModelExtension1_model_ext_ext, &extension1, - arena.ptr()); + arena.ptr())); // 4. Verify upb_Message_IsEqual yields false with IncludeUnknownFields bool is_equal_with_unknowns = @@ -264,9 +264,9 @@ TEST(CompareTest, MessageIsEqualWithNonCanonicalExtensionMatchingRawUnknown) { // 2. Obtain encoded raw wire bytes of Extension A by serializing tmp_msg upb_test_ModelWithExtensions* tmp_msg = upb_test_ModelWithExtensions_new(arena.ptr()); - UPB_PRIVATE(_upb_Message_SetNonCanonicalExtension)( + EXPECT_TRUE(UPB_PRIVATE(_upb_Message_SetNonCanonicalExtension)( UPB_UPCAST(tmp_msg), upb_test_ModelExtension1_model_ext_ext, &extension1, - arena.ptr()); + arena.ptr())); char* buf; size_t size; @@ -279,9 +279,9 @@ TEST(CompareTest, MessageIsEqualWithNonCanonicalExtensionMatchingRawUnknown) { // 3. Create msg1 with non-canonical extension A upb_test_ModelWithExtensions* msg1 = upb_test_ModelWithExtensions_new(arena.ptr()); - UPB_PRIVATE(_upb_Message_SetNonCanonicalExtension)( + EXPECT_TRUE(UPB_PRIVATE(_upb_Message_SetNonCanonicalExtension)( UPB_UPCAST(msg1), upb_test_ModelExtension1_model_ext_ext, &extension1, - arena.ptr()); + arena.ptr())); // 4. Create msg2 with raw unknown bytes representing A upb_test_ModelWithExtensions* msg2 = @@ -306,9 +306,9 @@ TEST(CompareTest, MessageSetNonCanonicalExtMatchesUnknown) { // 2. Obtain encoded raw wire bytes of Extension A by serializing tmp_msg upb_test_TestMessageSet* tmp_msg = upb_test_TestMessageSet_new(arena.ptr()); - UPB_PRIVATE(_upb_Message_SetNonCanonicalExtension)( + EXPECT_TRUE(UPB_PRIVATE(_upb_Message_SetNonCanonicalExtension)( UPB_UPCAST(tmp_msg), upb_test_MessageSetMember_message_set_extension_ext, - &extension1, arena.ptr()); + &extension1, arena.ptr())); char* buf; size_t size; @@ -320,9 +320,9 @@ TEST(CompareTest, MessageSetNonCanonicalExtMatchesUnknown) { // 3. Create msg1 with non-canonical extension A upb_test_TestMessageSet* msg1 = upb_test_TestMessageSet_new(arena.ptr()); - UPB_PRIVATE(_upb_Message_SetNonCanonicalExtension)( + EXPECT_TRUE(UPB_PRIVATE(_upb_Message_SetNonCanonicalExtension)( UPB_UPCAST(msg1), upb_test_MessageSetMember_message_set_extension_ext, - &extension1, arena.ptr()); + &extension1, arena.ptr())); // 4. Create msg2 with raw unknown bytes representing A upb_test_TestMessageSet* msg2 = upb_test_TestMessageSet_new(arena.ptr()); @@ -355,9 +355,9 @@ TEST(CompareTest, MessageIsEqualWithCanonicalAndNonCanonicalExtensions) { upb_test_ModelExtension1_new(arena.ptr()); upb_test_ModelExtension1_set_str(ext_msg2, upb_StringView_FromString("World")); - UPB_PRIVATE(_upb_Message_SetNonCanonicalExtension)( + EXPECT_TRUE(UPB_PRIVATE(_upb_Message_SetNonCanonicalExtension)( UPB_UPCAST(msg2), upb_test_ModelExtension1_model_ext_ext, &ext_msg2, - arena.ptr()); + arena.ptr())); // 3. Verify upb_Message_IsEqual registers them as NOT equal bool is_equal = upb_Message_IsEqual(UPB_UPCAST(msg1), UPB_UPCAST(msg2), diff --git a/upb/message/promote_test.cc b/upb/message/promote_test.cc index f10d6d0b9b..e467ae56c2 100644 --- a/upb/message/promote_test.cc +++ b/upb/message/promote_test.cc @@ -540,8 +540,8 @@ TEST(GeneratedCode, PromoteNonCanonicalExtension) { // 4. Attach custom parsed submessage "World" to msg as a non-canonical // extension under the different custom mini-table layout. - UPB_PRIVATE(_upb_Message_SetNonCanonicalExtension)( - UPB_UPCAST(msg), &custom_ext, &extension1, arena.ptr()); + EXPECT_TRUE(UPB_PRIVATE(_upb_Message_SetNonCanonicalExtension)( + UPB_UPCAST(msg), &custom_ext, &extension1, arena.ptr())); // 5. Promote the extension using standard compiled mini-table ModelExtension1 upb_MessageValue val; @@ -593,9 +593,9 @@ TEST(GeneratedCode, PromoteNonCanonicalExtensionWithSameMinitable) { upb_test_ModelExtension1_set_str(extension1, upb_StringView_FromString("World")); - UPB_PRIVATE(_upb_Message_SetNonCanonicalExtension)( + EXPECT_TRUE(UPB_PRIVATE(_upb_Message_SetNonCanonicalExtension)( UPB_UPCAST(msg), upb_test_ModelExtension1_model_ext_ext, - (upb_Message**)&extension1, arena.ptr()); + (upb_Message**)&extension1, arena.ptr())); upb_MessageValue val; upb_GetExtension_Status promote_status = upb_Message_GetOrPromoteExtension( @@ -664,8 +664,8 @@ TEST(GeneratedCode, PromoteNonCanonicalExtensionWithDifferentMinitable) { EXPECT_TRUE(upb_Message_SetInt32(extension1, custom_f, 42, arena.ptr())); // 7. Attach it as a non-canonical extension to msg using field 1547 - UPB_PRIVATE(_upb_Message_SetNonCanonicalExtension)( - UPB_UPCAST(msg), &custom_ext, &extension1, arena.ptr()); + EXPECT_TRUE(UPB_PRIVATE(_upb_Message_SetNonCanonicalExtension)( + UPB_UPCAST(msg), &custom_ext, &extension1, arena.ptr())); // 8. Run extension promotion using targeting target_ext layout upb_MessageValue val; diff --git a/upb/message/test.cc b/upb/message/test.cc index 94b8e8d040..04e8bb441a 100644 --- a/upb/message/test.cc +++ b/upb/message/test.cc @@ -937,8 +937,9 @@ TEST(MessageTest, FreezeNonCanonicalExtensions) { ext_submsg, 456); // Attach as non-canonical extension - UPB_PRIVATE(_upb_Message_SetNonCanonicalExtension)( - UPB_UPCAST(msg), upb_test_optional_msg_ext_ext, &ext_submsg, arena.ptr()); + EXPECT_TRUE(UPB_PRIVATE(_upb_Message_SetNonCanonicalExtension)( + UPB_UPCAST(msg), upb_test_optional_msg_ext_ext, &ext_submsg, + arena.ptr())); EXPECT_FALSE(upb_Message_IsFrozen(UPB_UPCAST(msg))); EXPECT_FALSE(upb_Message_IsFrozen(UPB_UPCAST(ext_submsg))); @@ -960,8 +961,9 @@ TEST(MessageTest, DiscardUnknownsNonCanonicalExtensions) { protobuf_test_messages_proto3_TestAllTypesProto3_new(arena.ptr()); // Attach as non-canonical extension - UPB_PRIVATE(_upb_Message_SetNonCanonicalExtension)( - UPB_UPCAST(msg), upb_test_optional_msg_ext_ext, &ext_submsg, arena.ptr()); + EXPECT_TRUE(UPB_PRIVATE(_upb_Message_SetNonCanonicalExtension)( + UPB_UPCAST(msg), upb_test_optional_msg_ext_ext, &ext_submsg, + arena.ptr())); // Add a canonical extension upb_test_TestExtensions_set_optional_int32_ext(msg, 123, arena.ptr()); diff --git a/upb/wire/decode_test.cc b/upb/wire/decode_test.cc index b423b988f3..2a6cf49945 100644 --- a/upb/wire/decode_test.cc +++ b/upb/wire/decode_test.cc @@ -641,9 +641,9 @@ TEST(DecodeTest, DecodeNonCanonicalExtensionAsUnknown) { upb_StringView_FromString("World")); // 3. msg has a non-canonical extension A - UPB_PRIVATE(_upb_Message_SetNonCanonicalExtension)( + EXPECT_TRUE(UPB_PRIVATE(_upb_Message_SetNonCanonicalExtension)( UPB_UPCAST(msg), upb_test_ModelExtension1_model_ext_ext, &extension1, - arena.ptr()); + arena.ptr())); // Verify extension count is 0 before encoding/decoding. EXPECT_EQ((int)upb_Message_ExtensionCount(UPB_UPCAST(msg)), 0); @@ -704,9 +704,9 @@ TEST(DecodeTest, DecodeExtensionAsUnknownWithPreexistingUnknown) { // 3. Attach to tmp_msg as a non-canonical extension so we can serialize it to // get the bytes - UPB_PRIVATE(_upb_Message_SetNonCanonicalExtension)( + EXPECT_TRUE(UPB_PRIVATE(_upb_Message_SetNonCanonicalExtension)( UPB_UPCAST(tmp_msg), upb_test_ModelExtension1_model_ext_ext, &extension1, - arena.ptr()); + arena.ptr())); // 5. Obtain encoded extension A by serializing tmp_msg char* buf; diff --git a/upb/wire/encode_test.cc b/upb/wire/encode_test.cc index 9dfc294389..13c420cf7f 100644 --- a/upb/wire/encode_test.cc +++ b/upb/wire/encode_test.cc @@ -218,8 +218,8 @@ TEST(EncodeTest, EncodeNonCanonicalExtensionSuccess) { // Attach scalar extension as non-canonical int32_t val = 42; - UPB_PRIVATE(_upb_Message_SetNonCanonicalExtension)( - (upb_Message*)msg, upb_wire_test_ext_i32_ext, &val, arena); + EXPECT_TRUE(UPB_PRIVATE(_upb_Message_SetNonCanonicalExtension)( + (upb_Message*)msg, upb_wire_test_ext_i32_ext, &val, arena)); // Encode the message. char* buf; @@ -257,8 +257,8 @@ TEST(EncodeTest, SkipUnknownNonCanonicalExtensionSuccess) { // 2. Attach a non-canonical extension (ext_recursive, tag 101) to msg upb_wire_test_TestRecursive* sub_msg = upb_wire_test_TestRecursive_new(arena); - UPB_PRIVATE(_upb_Message_SetNonCanonicalExtension)( - (upb_Message*)msg, upb_wire_test_ext_recursive_ext, &sub_msg, arena); + EXPECT_TRUE(UPB_PRIVATE(_upb_Message_SetNonCanonicalExtension)( + (upb_Message*)msg, upb_wire_test_ext_recursive_ext, &sub_msg, arena)); // 3. Also add some standard raw unknown bytes (tag 150) char raw_unknown[] = "\x08\x96\x01"; // tag 1 = 150 @@ -312,13 +312,13 @@ TEST(EncodeTest, EncodeNonCanonicalExtensionDeterministicSuccess) { // 1. Attach scalar extension as non-canonical (tag 100) int32_t val = 42; - UPB_PRIVATE(_upb_Message_SetNonCanonicalExtension)( - (upb_Message*)msg, upb_wire_test_ext_i32_ext, &val, arena); + EXPECT_TRUE(UPB_PRIVATE(_upb_Message_SetNonCanonicalExtension)( + (upb_Message*)msg, upb_wire_test_ext_i32_ext, &val, arena)); // 2. Attach recursive extension as non-canonical (tag 101) upb_wire_test_TestRecursive* sub_msg = upb_wire_test_TestRecursive_new(arena); - UPB_PRIVATE(_upb_Message_SetNonCanonicalExtension)( - (upb_Message*)msg, upb_wire_test_ext_recursive_ext, &sub_msg, arena); + EXPECT_TRUE(UPB_PRIVATE(_upb_Message_SetNonCanonicalExtension)( + (upb_Message*)msg, upb_wire_test_ext_recursive_ext, &sub_msg, arena)); // Encode the message with deterministic option! char* buf; @@ -385,8 +385,8 @@ TEST(EncodeTest, SkipUnknownNonCanonicalExtensionDeterministicSuccess) { // 2. Attach a non-canonical extension (ext_recursive, tag 101) to msg upb_wire_test_TestRecursive* sub_msg = upb_wire_test_TestRecursive_new(arena); - UPB_PRIVATE(_upb_Message_SetNonCanonicalExtension)( - (upb_Message*)msg, upb_wire_test_ext_recursive_ext, &sub_msg, arena); + EXPECT_TRUE(UPB_PRIVATE(_upb_Message_SetNonCanonicalExtension)( + (upb_Message*)msg, upb_wire_test_ext_recursive_ext, &sub_msg, arena)); // 3. Also add some standard raw unknown bytes (tag 150) char raw_unknown[] = "\x08\x96\x01"; // tag 1 = 150 @@ -447,8 +447,8 @@ TEST(EncodeTest, MixedExtensionAndUnknownOrderSuccess) { // 2. Add Non-Canonical Extension 1 (Tag 100, ext_i32) int32_t val1 = 42; - UPB_PRIVATE(_upb_Message_SetNonCanonicalExtension)( - (upb_Message*)msg, upb_wire_test_ext_i32_ext, &val1, arena); + EXPECT_TRUE(UPB_PRIVATE(_upb_Message_SetNonCanonicalExtension)( + (upb_Message*)msg, upb_wire_test_ext_i32_ext, &val1, arena)); // 3. Add Unknown 2 (Tag 12, Varint) char unknown2[] = "\x60\x64";