From 539661280d2f265f9b63613d82db602e676961a4 Mon Sep 17 00:00:00 2001 From: Yaron Keren Date: Tue, 11 Aug 2015 17:35:49 +0000 Subject: [PATCH] Add SmallString test trying to exercise the realloc() code path by allocating a small size (will go through malloc) and then large size. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@244637 91177308-0d34-0410-b5e6-96231b3b80d8 --- unittests/ADT/SmallStringTest.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/unittests/ADT/SmallStringTest.cpp b/unittests/ADT/SmallStringTest.cpp index 9398e99c911..995ef8e8127 100644 --- a/unittests/ADT/SmallStringTest.cpp +++ b/unittests/ADT/SmallStringTest.cpp @@ -159,6 +159,17 @@ TEST_F(SmallStringTest, Count) { EXPECT_EQ(0U, theString.count("zz")); } +TEST_F(SmallStringTest, Realloc) { + theString = "abcd"; + theString.reserve(100); + EXPECT_EQ("abcd", theString); + unsigned const N = 100000; + theString.reserve(N); + for (unsigned i = 0; i < N - 4; ++i) + theString.push_back('y'); + EXPECT_EQ("abcdyyy", theString.slice(0, 7)); +} + TEST(StringRefTest, Comparisons) { EXPECT_EQ(-1, SmallString<10>("aab").compare("aad")); EXPECT_EQ( 0, SmallString<10>("aab").compare("aab")); -- 2.34.1