From 0aa35b88373acdca2bb08ad790f1087732e53296 Mon Sep 17 00:00:00 2001 From: Haojian Wu Date: Tue, 15 Jan 2019 19:51:39 +0000 Subject: [Tooling] Fix broken compliation databse tests. I forgot to update the unittest in r351222. --- .../unittests/Tooling/CompilationDatabaseTest.cpp | 52 ++++++++-------------- 1 file changed, 18 insertions(+), 34 deletions(-) diff --git a/clang/unittests/Tooling/CompilationDatabaseTest.cpp b/clang/unittests/Tooling/CompilationDatabaseTest.cpp index 125ba4896ef..949d6a3b739 100644 --- a/clang/unittests/Tooling/CompilationDatabaseTest.cpp +++ b/clang/unittests/Tooling/CompilationDatabaseTest.cpp @@ -14,11 +14,15 @@ #include "clang/Tooling/JSONCompilationDatabase.h" #include "clang/Tooling/Tooling.h" #include "llvm/Support/Path.h" +#include "gmock/gmock.h" #include "gtest/gtest.h" namespace clang { namespace tooling { +using testing::ElementsAre; +using testing::EndsWith; + static void expectFailure(StringRef JSONDatabase, StringRef Explanation) { std::string ErrorMessage; EXPECT_EQ(nullptr, @@ -467,21 +471,15 @@ TEST(unescapeJsonCommandLine, ParsesSingleQuotedString) { } TEST(FixedCompilationDatabase, ReturnsFixedCommandLine) { - std::vector CommandLine; - CommandLine.push_back("one"); - CommandLine.push_back("two"); - FixedCompilationDatabase Database(".", CommandLine); + FixedCompilationDatabase Database(".", /*CommandLine*/ {"one", "two"}); StringRef FileName("source"); std::vector Result = Database.getCompileCommands(FileName); ASSERT_EQ(1ul, Result.size()); - std::vector ExpectedCommandLine(1, "clang-tool"); - ExpectedCommandLine.insert(ExpectedCommandLine.end(), - CommandLine.begin(), CommandLine.end()); - ExpectedCommandLine.push_back("source"); EXPECT_EQ(".", Result[0].Directory); EXPECT_EQ(FileName, Result[0].Filename); - EXPECT_EQ(ExpectedCommandLine, Result[0].CommandLine); + EXPECT_THAT(Result[0].CommandLine, + ElementsAre(EndsWith("clang-tool"), "one", "two", "source")); } TEST(FixedCompilationDatabase, GetAllFiles) { @@ -537,12 +535,8 @@ TEST(ParseFixedCompilationDatabase, ReturnsArgumentsAfterDoubleDash) { Database->getCompileCommands("source"); ASSERT_EQ(1ul, Result.size()); ASSERT_EQ(".", Result[0].Directory); - std::vector CommandLine; - CommandLine.push_back("clang-tool"); - CommandLine.push_back("-DDEF3"); - CommandLine.push_back("-DDEF4"); - CommandLine.push_back("source"); - ASSERT_EQ(CommandLine, Result[0].CommandLine); + ASSERT_THAT(Result[0].CommandLine, ElementsAre(EndsWith("clang-tool"), + "-DDEF3", "-DDEF4", "source")); EXPECT_EQ(2, Argc); } @@ -558,10 +552,8 @@ TEST(ParseFixedCompilationDatabase, ReturnsEmptyCommandLine) { Database->getCompileCommands("source"); ASSERT_EQ(1ul, Result.size()); ASSERT_EQ(".", Result[0].Directory); - std::vector CommandLine; - CommandLine.push_back("clang-tool"); - CommandLine.push_back("source"); - ASSERT_EQ(CommandLine, Result[0].CommandLine); + ASSERT_THAT(Result[0].CommandLine, + ElementsAre(EndsWith("clang-tool"), "source")); EXPECT_EQ(2, Argc); } @@ -577,12 +569,8 @@ TEST(ParseFixedCompilationDatabase, HandlesPositionalArgs) { Database->getCompileCommands("source"); ASSERT_EQ(1ul, Result.size()); ASSERT_EQ(".", Result[0].Directory); - std::vector Expected; - Expected.push_back("clang-tool"); - Expected.push_back("-c"); - Expected.push_back("-DDEF3"); - Expected.push_back("source"); - ASSERT_EQ(Expected, Result[0].CommandLine); + ASSERT_THAT(Result[0].CommandLine, + ElementsAre(EndsWith("clang-tool"), "-c", "-DDEF3", "source")); EXPECT_EQ(2, Argc); } @@ -599,12 +587,9 @@ TEST(ParseFixedCompilationDatabase, HandlesPositionalArgsSyntaxOnly) { std::vector Result = Database->getCompileCommands("source"); ASSERT_EQ(1ul, Result.size()); ASSERT_EQ(".", Result[0].Directory); - std::vector Expected; - Expected.push_back("clang-tool"); - Expected.push_back("-fsyntax-only"); - Expected.push_back("-DDEF3"); - Expected.push_back("source"); - ASSERT_EQ(Expected, Result[0].CommandLine); + ASSERT_THAT( + Result[0].CommandLine, + ElementsAre(EndsWith("clang-tool"), "-fsyntax-only", "-DDEF3", "source")); } TEST(ParseFixedCompilationDatabase, HandlesArgv0) { @@ -620,9 +605,8 @@ TEST(ParseFixedCompilationDatabase, HandlesArgv0) { ASSERT_EQ(1ul, Result.size()); ASSERT_EQ(".", Result[0].Directory); std::vector Expected; - Expected.push_back("clang-tool"); - Expected.push_back("source"); - ASSERT_EQ(Expected, Result[0].CommandLine); + ASSERT_THAT(Result[0].CommandLine, + ElementsAre(EndsWith("clang-tool"), "source")); EXPECT_EQ(2, Argc); } -- cgit v1.2.3