hpb: update test_generated and message_lock_test to use hpb::Parse<T> -> hpb::StatusOr<T>

PiperOrigin-RevId: 815820145
This commit is contained in:
Hong Shin 2025-10-06 11:44:18 -07:00 committed by Copybara-Service
parent 195da19b96
commit ecf96a8a0e
3 changed files with 15 additions and 7 deletions

View file

@ -84,6 +84,7 @@ cc_test(
"//hpb",
"//hpb:arena",
"//hpb:extension",
"//hpb:options",
"//hpb_generator/tests:test_model_hpb_proto",
"//upb/mem",
"//upb/mini_table",

View file

@ -8,7 +8,6 @@
#include "hpb/internal/message_lock.h"
#include <atomic>
#include <mutex>
#include <string>
#include <thread>
@ -23,7 +22,7 @@
#include "hpb/arena.h"
#include "hpb/extension.h"
#include "hpb/hpb.h"
#include "upb/mem/arena.hpp"
#include "hpb/options.h"
#ifndef ASSERT_OK
#define ASSERT_OK(x) ASSERT_TRUE(x.ok())
@ -68,11 +67,13 @@ void unlock_func(const void* msg)
return &unlock_func;
}
void TestConcurrentExtensionAccess(::hpb::ExtensionRegistry registry) {
void TestConcurrentExtensionAccess(const ::hpb::ExtensionRegistry& registry) {
::hpb::internal::upb_extension_locker_global.store(&lock_func,
std::memory_order_release);
const std::string payload = GenerateTestData();
TestModel parsed_model = ::hpb::Parse<TestModel>(payload, registry).value();
TestModel parsed_model =
::hpb::Parse<TestModel>(payload, {.extension_registry = registry})
.value();
const auto test_main = [&] { EXPECT_EQ("str", parsed_model.str1()); };
const auto test_theme = [&] {
ASSERT_TRUE(::hpb::HasExtension(&parsed_model, theme));

View file

@ -437,7 +437,9 @@ TEST(CppGeneratedCode, SerializeUsingArena) {
hpb::Arena arena;
absl::StatusOr<absl::string_view> bytes = ::hpb::Serialize(&model, arena);
EXPECT_EQ(true, bytes.ok());
TestModel parsed_model = ::hpb::Parse<TestModel>(bytes.value()).value();
TestModel parsed_model =
::hpb::Parse<TestModel>(bytes.value(), hpb::ParseOptionsDefault())
.value();
EXPECT_EQ("Hello World", parsed_model.str1());
}
@ -449,7 +451,9 @@ TEST(CppGeneratedCode, SerializeProxyUsingArena) {
absl::StatusOr<absl::string_view> bytes =
::hpb::Serialize(&model_proxy, arena);
EXPECT_EQ(true, bytes.ok());
TestModel parsed_model = ::hpb::Parse<TestModel>(bytes.value()).value();
TestModel parsed_model =
::hpb::Parse<TestModel>(bytes.value(), hpb::ParseOptionsDefault())
.value();
EXPECT_EQ("Hello World", parsed_model.str1());
}
@ -460,7 +464,9 @@ TEST(CppGeneratedCode, SerializeNestedMessageUsingArena) {
hpb::Ptr<const TestModel> child = model.recursive_child();
absl::StatusOr<absl::string_view> bytes = ::hpb::Serialize(child, arena);
EXPECT_EQ(true, bytes.ok());
TestModel parsed_model = ::hpb::Parse<TestModel>(bytes.value()).value();
TestModel parsed_model =
::hpb::Parse<TestModel>(bytes.value(), hpb::ParseOptionsDefault())
.value();
EXPECT_EQ("Hello World", parsed_model.str1());
}