forked from qt-creator/qt-creator
PchManager: Ensure that the build dependency collector is cleared
Change-Id: I7c09117673e34a88f4711a99d8e89406683246f2 Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
This commit is contained in:
@@ -57,7 +57,11 @@ BuildDependency BuildDependencyCollector::create(const ProjectPartContainer &pro
|
||||
|
||||
collect();
|
||||
|
||||
return std::move(m_buildDependency);
|
||||
auto buildDependency = std::move(m_buildDependency);
|
||||
|
||||
clear();
|
||||
|
||||
return buildDependency;
|
||||
}
|
||||
|
||||
void BuildDependencyCollector::collect()
|
||||
|
@@ -667,4 +667,34 @@ TEST_F(BuildDependencyCollector, Create)
|
||||
id(TESTDATA_DIR
|
||||
"/builddependencycollector/system/indirect_system2.h"))))));
|
||||
}
|
||||
|
||||
TEST_F(BuildDependencyCollector, Clear)
|
||||
{
|
||||
using ClangBackEnd::IncludeSearchPathType;
|
||||
ClangBackEnd::BuildDependencyCollector collector{filePathCache};
|
||||
ClangBackEnd::ProjectPartContainer projectPart{
|
||||
"project1",
|
||||
{},
|
||||
{},
|
||||
{{TESTDATA_DIR "/builddependencycollector/system", 1, IncludeSearchPathType::System}},
|
||||
{
|
||||
{TESTDATA_DIR "/builddependencycollector/project", 1, IncludeSearchPathType::User},
|
||||
{TESTDATA_DIR "/builddependencycollector/external", 2, IncludeSearchPathType::User},
|
||||
},
|
||||
{
|
||||
id(TESTDATA_DIR "/builddependencycollector/project/header1.h"),
|
||||
id(TESTDATA_DIR "/builddependencycollector/project/header2.h"),
|
||||
id(TESTDATA_DIR "/builddependencycollector/project/missingfile.h"),
|
||||
id(TESTDATA_DIR "/builddependencycollector/project/macros.h"),
|
||||
},
|
||||
{},
|
||||
Utils::Language::Cxx,
|
||||
Utils::LanguageVersion::CXX11,
|
||||
Utils::LanguageExtension::None};
|
||||
collector.create(projectPart);
|
||||
|
||||
auto buildDependency = collector.create(projectPart);
|
||||
|
||||
ASSERT_THAT(buildDependency.includes, IsEmpty());
|
||||
}
|
||||
} // namespace
|
||||
|
Reference in New Issue
Block a user