From bb8c08a065e3512fdd8d42d18571352359b87e74 Mon Sep 17 00:00:00 2001 From: Peter Collingbourne Date: Sun, 2 Mar 2014 23:37:26 +0000 Subject: Disable all dependency output options when using the Tooling library. It isn't appropriate for a tool to be stomping over the dependency files, especially if the actual build uses a compiler other than Clang or the tool cannot find all the headers for some reason (which would cause the existing dependency file to be deleted). If a tool actually needs to care about dependency files we can think about adding a mechanism for getting to this information. Differential Revision: http://llvm-reviews.chandlerc.com/D2912 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@202669 91177308-0d34-0410-b5e6-96231b3b80d8 --- unittests/Tooling/ToolingTest.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'unittests/Tooling') diff --git a/unittests/Tooling/ToolingTest.cpp b/unittests/Tooling/ToolingTest.cpp index a75710e86c..f34fab0fc7 100644 --- a/unittests/Tooling/ToolingTest.cpp +++ b/unittests/Tooling/ToolingTest.cpp @@ -236,6 +236,17 @@ TEST(runToolOnCode, TestSkipFunctionBody) { "int skipMeNot() { an_error_here }")); } +TEST(runToolOnCodeWithArgs, TestNoDepFile) { + llvm::SmallString<32> DepFilePath; + ASSERT_FALSE( + llvm::sys::fs::createTemporaryFile("depfile", "d", DepFilePath)); + EXPECT_TRUE(runToolOnCodeWithArgs( + new SkipBodyAction, "", + { "-MMD", "-MT", DepFilePath.str(), "-MF", DepFilePath.str() })); + EXPECT_FALSE(llvm::sys::fs::exists(DepFilePath.str())); + EXPECT_FALSE(llvm::sys::fs::remove(DepFilePath.str())); +} + struct CheckSyntaxOnlyAdjuster: public ArgumentsAdjuster { bool &Found; bool &Ran; -- cgit v1.2.3