r200096 - unittests: explicit stringify StringRefs for conversion

Richard Smith richard at metafoo.co.uk
Sat Jan 25 12:38:15 PST 2014


On Sat, Jan 25, 2014 at 12:04 PM, Saleem Abdulrasool
<compnerd at compnerd.org>wrote:

> Author: compnerd
> Date: Sat Jan 25 14:04:44 2014
> New Revision: 200096
>
> URL: http://llvm.org/viewvc/llvm-project?rev=200096&view=rev
> Log:
> unittests: explicit stringify StringRefs for conversion
>
> When clang is built outside of the LLVM tree (against a corresponding
> version),
> there is no definition providing for operator<<(std::ostream &, StringRef)
> which
> is required for the assertion routines in google-test tests.


Hmm, why is this different for an in-tree vs an out-of-tree build?


> Avoid the
> compilation failure by explicitly stringifying the StringRef prior to use.
>
> Modified:
>     cfe/trunk/unittests/AST/DeclPrinterTest.cpp
>     cfe/trunk/unittests/AST/StmtPrinterTest.cpp
>     cfe/trunk/unittests/Tooling/CompilationDatabaseTest.cpp
>
> Modified: cfe/trunk/unittests/AST/DeclPrinterTest.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/unittests/AST/DeclPrinterTest.cpp?rev=200096&r1=200095&r2=200096&view=diff
>
> ==============================================================================
> --- cfe/trunk/unittests/AST/DeclPrinterTest.cpp (original)
> +++ cfe/trunk/unittests/AST/DeclPrinterTest.cpp Sat Jan 25 14:04:44 2014
> @@ -77,7 +77,8 @@ public:
>    OwningPtr<FrontendActionFactory>
> Factory(newFrontendActionFactory(&Finder));
>
>    if (!runToolOnCodeWithArgs(Factory->create(), Code, Args, FileName))
> -    return testing::AssertionFailure() << "Parsing error in \"" << Code
> << "\"";
> +    return testing::AssertionFailure()
> +      << "Parsing error in \"" << Code.str() << "\"";
>
>    if (Printer.getNumFoundDecls() == 0)
>      return testing::AssertionFailure()
> @@ -90,8 +91,8 @@ public:
>
>    if (Printer.getPrinted() != ExpectedPrinted)
>      return ::testing::AssertionFailure()
> -      << "Expected \"" << ExpectedPrinted << "\", "
> -         "got \"" << Printer.getPrinted() << "\"";
> +      << "Expected \"" << ExpectedPrinted.str() << "\", "
> +         "got \"" << Printer.getPrinted().str() << "\"";
>
>    return ::testing::AssertionSuccess();
>  }
>
> Modified: cfe/trunk/unittests/AST/StmtPrinterTest.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/unittests/AST/StmtPrinterTest.cpp?rev=200096&r1=200095&r2=200096&view=diff
>
> ==============================================================================
> --- cfe/trunk/unittests/AST/StmtPrinterTest.cpp (original)
> +++ cfe/trunk/unittests/AST/StmtPrinterTest.cpp Sat Jan 25 14:04:44 2014
> @@ -76,7 +76,8 @@ public:
>    OwningPtr<FrontendActionFactory>
> Factory(newFrontendActionFactory(&Finder));
>
>    if (!runToolOnCodeWithArgs(Factory->create(), Code, Args))
> -    return testing::AssertionFailure() << "Parsing error in \"" << Code
> << "\"";
> +    return testing::AssertionFailure()
> +      << "Parsing error in \"" << Code.str() << "\"";
>
>    if (Printer.getNumFoundStmts() == 0)
>      return testing::AssertionFailure()
> @@ -89,8 +90,8 @@ public:
>
>    if (Printer.getPrinted() != ExpectedPrinted)
>      return ::testing::AssertionFailure()
> -      << "Expected \"" << ExpectedPrinted << "\", "
> -         "got \"" << Printer.getPrinted() << "\"";
> +      << "Expected \"" << ExpectedPrinted.str() << "\", "
> +         "got \"" << Printer.getPrinted().str() << "\"";
>
>    return ::testing::AssertionSuccess();
>  }
>
> Modified: cfe/trunk/unittests/Tooling/CompilationDatabaseTest.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/unittests/Tooling/CompilationDatabaseTest.cpp?rev=200096&r1=200095&r2=200096&view=diff
>
> ==============================================================================
> --- cfe/trunk/unittests/Tooling/CompilationDatabaseTest.cpp (original)
> +++ cfe/trunk/unittests/Tooling/CompilationDatabaseTest.cpp Sat Jan 25
> 14:04:44 2014
> @@ -24,7 +24,7 @@ static void expectFailure(StringRef JSON
>    std::string ErrorMessage;
>    EXPECT_EQ(NULL, JSONCompilationDatabase::loadFromBuffer(JSONDatabase,
>                                                            ErrorMessage))
> -    << "Expected an error because of: " << Explanation;
> +    << "Expected an error because of: " << Explanation.str();
>  }
>
>  TEST(JSONCompilationDatabase, ErrsOnInvalidFormat) {
>
>
> _______________________________________________
> cfe-commits mailing list
> cfe-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20140125/7ef4773f/attachment.html>


More information about the cfe-commits mailing list