1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-25 04:02:41 +01:00

Revert "[gtest] Fix printing of StringRef and SmallString in assert messages."

This reverts commit 4becb2ab4e9f52ce98272d1f5930d6942af5172b.

llvm-svn: 369525
This commit is contained in:
Sam McCall 2019-08-21 13:31:44 +00:00
parent ad4cf627a9
commit 19ee72937d
3 changed files with 1 additions and 44 deletions

View File

@ -169,7 +169,7 @@ TEST_F(SmallStringTest, Realloc) {
EXPECT_EQ("abcdyyy", theString.slice(0, 7));
}
TEST_F(SmallStringTest, Comparisons) {
TEST(StringRefTest, Comparisons) {
EXPECT_EQ(-1, SmallString<10>("aab").compare("aad"));
EXPECT_EQ( 0, SmallString<10>("aab").compare("aab"));
EXPECT_EQ( 1, SmallString<10>("aab").compare("aaa"));
@ -203,12 +203,4 @@ TEST_F(SmallStringTest, Comparisons) {
EXPECT_EQ( 1, SmallString<10>("V8_q0").compare_numeric("V1_q0"));
}
// Check gtest prints SmallString as a string instead of a container of chars.
// The code is in utils/unittest/googletest/internal/custom/gtest-printers.h
TEST_F(SmallStringTest, GTestPrinter) {
EXPECT_EQ(R"("foo")", ::testing::PrintToString(SmallString<1>("foo")));
const SmallVectorImpl<char> &ErasedSmallString = SmallString<1>("foo");
EXPECT_EQ(R"("foo")", ::testing::PrintToString(ErasedSmallString));
}
} // namespace

View File

@ -1055,12 +1055,6 @@ TEST(StringRefTest, StringLiteral) {
EXPECT_EQ(StringRef("Bar"), Strings[1]);
}
// Check gtest prints StringRef as a string instead of a container of chars.
// The code is in utils/unittest/googletest/internal/custom/gtest-printers.h
TEST(StringRefTest, GTestPrinter) {
EXPECT_EQ(R"("foo")", ::testing::PrintToString(StringRef("foo")));
}
static_assert(is_trivially_copyable<StringRef>::value, "trivially copyable");
} // end anonymous namespace

View File

@ -39,33 +39,4 @@
#ifndef GTEST_INCLUDE_GTEST_INTERNAL_CUSTOM_GTEST_PRINTERS_H_
#define GTEST_INCLUDE_GTEST_INTERNAL_CUSTOM_GTEST_PRINTERS_H_
#include "llvm/ADT/SmallString.h"
#include "llvm/ADT/StringRef.h"
#include <ostream>
namespace llvm {
// Printing of llvm String types.
// gtest sees these as containers of char (they have nested iterator types),
// so their operator<< is never considered unless we provide PrintTo().
// PrintStringTo provides quotes and escaping, at the cost of a copy.
inline void PrintTo(llvm::StringRef S, std::ostream *OS) {
*OS << ::testing::PrintToString(S.str());
}
// We need both SmallString<N> and SmallVectorImpl<char> overloads:
// - the SmallString<N> template is needed as overload resolution will
// instantiate generic PrintTo<T> rather than do derived-to-base conversion
// - but SmallVectorImpl<char> is sometimes the actual static type, in code
// that erases the small size
template <unsigned N>
inline void PrintTo(const SmallString<N> &S, std::ostream *OS) {
*OS << ::testing::PrintToString(std::string(S.data(), S.size()));
}
inline void PrintTo(const SmallVectorImpl<char> &S, std::ostream *OS) {
*OS << ::testing::PrintToString(std::string(S.data(), S.size()));
}
} // namespace llvm
#endif // GTEST_INCLUDE_GTEST_INTERNAL_CUSTOM_GTEST_PRINTERS_H_