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

David Blaikie via llvm-commits llvm-commits at lists.llvm.org
Wed Sep 4 17:54:38 PDT 2019


Why was this reverted (handy to have the reason, and the svn revision
number, in the commit message)?

On Wed, Aug 21, 2019 at 6:30 AM Sam McCall via llvm-commits <
llvm-commits at lists.llvm.org> wrote:

> Author: sammccall
> Date: Wed Aug 21 06:31:44 2019
> New Revision: 369525
>
> URL: http://llvm.org/viewvc/llvm-project?rev=369525&view=rev
> Log:
> Revert "[gtest] Fix printing of StringRef and SmallString in assert
> messages."
>
> This reverts commit 4becb2ab4e9f52ce98272d1f5930d6942af5172b.
>
> Modified:
>     llvm/trunk/unittests/ADT/SmallStringTest.cpp
>     llvm/trunk/unittests/ADT/StringRefTest.cpp
>
> llvm/trunk/utils/unittest/googletest/include/gtest/internal/custom/gtest-printers.h
>
> Modified: llvm/trunk/unittests/ADT/SmallStringTest.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/unittests/ADT/SmallStringTest.cpp?rev=369525&r1=369524&r2=369525&view=diff
>
> ==============================================================================
> --- llvm/trunk/unittests/ADT/SmallStringTest.cpp (original)
> +++ llvm/trunk/unittests/ADT/SmallStringTest.cpp Wed Aug 21 06:31:44 2019
> @@ -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
>
> Modified: llvm/trunk/unittests/ADT/StringRefTest.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/unittests/ADT/StringRefTest.cpp?rev=369525&r1=369524&r2=369525&view=diff
>
> ==============================================================================
> --- llvm/trunk/unittests/ADT/StringRefTest.cpp (original)
> +++ llvm/trunk/unittests/ADT/StringRefTest.cpp Wed Aug 21 06:31:44 2019
> @@ -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
>
> Modified:
> llvm/trunk/utils/unittest/googletest/include/gtest/internal/custom/gtest-printers.h
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/unittest/googletest/include/gtest/internal/custom/gtest-printers.h?rev=369525&r1=369524&r2=369525&view=diff
>
> ==============================================================================
> ---
> llvm/trunk/utils/unittest/googletest/include/gtest/internal/custom/gtest-printers.h
> (original)
> +++
> llvm/trunk/utils/unittest/googletest/include/gtest/internal/custom/gtest-printers.h
> Wed Aug 21 06:31:44 2019
> @@ -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_
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at lists.llvm.org
> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190904/de2c6faa/attachment.html>


More information about the llvm-commits mailing list