From 8abb4370a99eefdb05de3d0e0c75116ea0354d4b Mon Sep 17 00:00:00 2001 From: ncteisen Date: Fri, 5 Oct 2018 14:22:22 -0700 Subject: [PATCH] Add pop_back test --- src/core/lib/channel/channelz_registry.cc | 2 +- test/core/gprpp/inlined_vector_test.cc | 26 +++++++++++++++++++++++ 2 files changed, 27 insertions(+), 1 deletion(-) diff --git a/src/core/lib/channel/channelz_registry.cc b/src/core/lib/channel/channelz_registry.cc index 4deb8c29aa6..007ede25807 100644 --- a/src/core/lib/channel/channelz_registry.cc +++ b/src/core/lib/channel/channelz_registry.cc @@ -92,7 +92,7 @@ int ChannelzRegistry::FindByUuidLocked(intptr_t target_uuid) { } intptr_t uuid = entities_[first_non_null]->uuid(); if (uuid == target_uuid) { - return first_non_null; + return int(first_non_null); } if (uuid < target_uuid) { left = first_non_null + 1; diff --git a/test/core/gprpp/inlined_vector_test.cc b/test/core/gprpp/inlined_vector_test.cc index e9d1eb2c763..73e0773b31d 100644 --- a/test/core/gprpp/inlined_vector_test.cc +++ b/test/core/gprpp/inlined_vector_test.cc @@ -264,6 +264,32 @@ TEST(InlinedVectorTest, MoveAssignmentAllocatedAllocated) { EXPECT_EQ(move_assigned.data(), old_data); } +TEST(InlinedVectorTest, PopBackInlined) { + InlinedVector, 2> v; + // Add two elements, pop one out + v.push_back(MakeUnique(3)); + EXPECT_EQ(1UL, v.size()); + EXPECT_EQ(3, *v[0]); + v.push_back(MakeUnique(5)); + EXPECT_EQ(2UL, v.size()); + EXPECT_EQ(5, *v[1]); + v.pop_back(); + EXPECT_EQ(1UL, v.size()); +} + +TEST(InlinedVectorTest, PopBackAllocated) { + const int kInlinedSize = 2; + InlinedVector, kInlinedSize> v; + // Add elements to ensure allocated backing. + for (size_t i = 0; i < kInlinedSize + 1; ++i) { + v.push_back(MakeUnique(3)); + EXPECT_EQ(i + 1, v.size()); + } + size_t sz = v.size(); + v.pop_back(); + EXPECT_EQ(sz - 1, v.size()); +} + } // namespace testing } // namespace grpc_core