| Index: third_party/protobuf/src/google/protobuf/compiler/cpp/cpp_unittest.cc
|
| diff --git a/third_party/protobuf/src/google/protobuf/compiler/cpp/cpp_unittest.cc b/third_party/protobuf/src/google/protobuf/compiler/cpp/cpp_unittest.cc
|
| index 5d82946d6145328900070004eec68f9da6c1757a..8eaddb87e4a3a9715d30312dd24f4f6ea1c6c67c 100644
|
| --- a/third_party/protobuf/src/google/protobuf/compiler/cpp/cpp_unittest.cc
|
| +++ b/third_party/protobuf/src/google/protobuf/compiler/cpp/cpp_unittest.cc
|
| @@ -67,6 +67,7 @@
|
| #include <google/protobuf/compiler/importer.h>
|
| #include <google/protobuf/io/coded_stream.h>
|
| #include <google/protobuf/io/zero_copy_stream_impl.h>
|
| +#include <google/protobuf/arena.h>
|
| #include <google/protobuf/descriptor.h>
|
| #include <google/protobuf/descriptor.pb.h>
|
| #include <google/protobuf/dynamic_message.h>
|
| @@ -129,12 +130,12 @@ TEST(GeneratedDescriptorTest, IdenticalDescriptors) {
|
|
|
| // Test that descriptors are generated correctly by converting them to
|
| // FileDescriptorProtos and comparing.
|
| - FileDescriptorProto generated_decsriptor_proto, parsed_descriptor_proto;
|
| - generated_descriptor->CopyTo(&generated_decsriptor_proto);
|
| + FileDescriptorProto generated_descriptor_proto, parsed_descriptor_proto;
|
| + generated_descriptor->CopyTo(&generated_descriptor_proto);
|
| parsed_descriptor->CopyTo(&parsed_descriptor_proto);
|
|
|
| EXPECT_EQ(parsed_descriptor_proto.DebugString(),
|
| - generated_decsriptor_proto.DebugString());
|
| + generated_descriptor_proto.DebugString());
|
| }
|
|
|
| #if !defined(GOOGLE_PROTOBUF_CMAKE_BUILD) && !defined(_MSC_VER)
|
| @@ -199,14 +200,14 @@ TEST(GeneratedMessageTest, FloatingPointDefaults) {
|
| EXPECT_EQ(-1.5f, extreme_default.negative_float());
|
| EXPECT_EQ(2.0e8f, extreme_default.large_float());
|
| EXPECT_EQ(-8e-28f, extreme_default.small_negative_float());
|
| - EXPECT_EQ(numeric_limits<double>::infinity(),
|
| + EXPECT_EQ(std::numeric_limits<double>::infinity(),
|
| extreme_default.inf_double());
|
| - EXPECT_EQ(-numeric_limits<double>::infinity(),
|
| + EXPECT_EQ(-std::numeric_limits<double>::infinity(),
|
| extreme_default.neg_inf_double());
|
| EXPECT_TRUE(extreme_default.nan_double() != extreme_default.nan_double());
|
| - EXPECT_EQ(numeric_limits<float>::infinity(),
|
| + EXPECT_EQ(std::numeric_limits<float>::infinity(),
|
| extreme_default.inf_float());
|
| - EXPECT_EQ(-numeric_limits<float>::infinity(),
|
| + EXPECT_EQ(-std::numeric_limits<float>::infinity(),
|
| extreme_default.neg_inf_float());
|
| EXPECT_TRUE(extreme_default.nan_float() != extreme_default.nan_float());
|
| }
|
| @@ -518,6 +519,26 @@ TEST(GeneratedMessageTest, CopyConstructor) {
|
| TestUtil::ExpectAllFieldsSet(message2);
|
| }
|
|
|
| +TEST(GeneratedMessageTest, CopyConstructorWithArenas) {
|
| + Arena arena;
|
| + unittest::TestAllTypes* message1 =
|
| + Arena::CreateMessage<unittest::TestAllTypes>(&arena);
|
| + TestUtil::SetAllFields(message1);
|
| +
|
| + unittest::TestAllTypes message2_stack(*message1);
|
| + TestUtil::ExpectAllFieldsSet(message2_stack);
|
| +
|
| + google::protobuf::scoped_ptr<unittest::TestAllTypes> message2_heap(
|
| + new unittest::TestAllTypes(*message1));
|
| + TestUtil::ExpectAllFieldsSet(*message2_heap);
|
| +
|
| + arena.Reset();
|
| +
|
| + // Verify that the copies are still intact.
|
| + TestUtil::ExpectAllFieldsSet(message2_stack);
|
| + TestUtil::ExpectAllFieldsSet(*message2_heap);
|
| +}
|
| +
|
| TEST(GeneratedMessageTest, CopyAssignmentOperator) {
|
| unittest::TestAllTypes message1;
|
| TestUtil::SetAllFields(&message1);
|
| @@ -600,14 +621,16 @@ TEST(GeneratedMessageTest, NonEmptyMergeFrom) {
|
| #if !defined(PROTOBUF_TEST_NO_DESCRIPTORS) || \
|
| !defined(GOOGLE_PROTOBUF_NO_RTTI)
|
| #ifdef PROTOBUF_HAS_DEATH_TEST
|
| +#ifndef NDEBUG
|
|
|
| TEST(GeneratedMessageTest, MergeFromSelf) {
|
| unittest::TestAllTypes message;
|
| - EXPECT_DEATH(message.MergeFrom(message), "Check failed:.*pb[.]cc");
|
| + EXPECT_DEATH(message.MergeFrom(message), "pb[.]cc.*Check failed:");
|
| EXPECT_DEATH(message.MergeFrom(implicit_cast<const Message&>(message)),
|
| - "Check failed:.*pb[.]cc");
|
| + "pb[.]cc.*Check failed:");
|
| }
|
|
|
| +#endif // NDEBUG
|
| #endif // PROTOBUF_HAS_DEATH_TEST
|
| #endif // !PROTOBUF_TEST_NO_DESCRIPTORS || !GOOGLE_PROTOBUF_NO_RTTI
|
|
|
| @@ -1252,7 +1275,7 @@ class GeneratedServiceTest : public testing::Test {
|
| foo_(descriptor_->FindMethodByName("Foo")),
|
| bar_(descriptor_->FindMethodByName("Bar")),
|
| stub_(&mock_channel_),
|
| - done_(::google::protobuf::internal::NewPermanentCallback(&DoNothing)) {}
|
| + done_(NewPermanentCallback(&DoNothing)) {}
|
|
|
| virtual void SetUp() {
|
| ASSERT_TRUE(foo_ != NULL);
|
|
|