Clang: Reuse thread based pipeline for pch creation

The pch creation so far used signal and slots but there was no explicit
pipeline. This patch is introducing the same architecture like the
refactoring plugin. It is filtering out older project parts from the
pipeline.

Change-Id: Iaa6bd2ca1272231b97ebe1f5f7b2ce8e43bc590c
Task-number: QTCREATORBUG-21111
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
This commit is contained in:
Marco Bubke
2018-09-11 17:02:45 +02:00
parent a334650953
commit 4e6d09d8e1
74 changed files with 1502 additions and 1773 deletions

View File

@@ -88,16 +88,11 @@ TEST_F(ProjectParts, ProjectPartAdded)
ASSERT_THAT(projectParts.projectParts(), ElementsAre(projectPartContainer1));
}
TEST_F(ProjectParts, FilterDublicateProjectPartsForUpdating)
{
auto updatedProjectParts = projectParts.update({projectPartContainer1, projectPartContainer1});
ASSERT_THAT(updatedProjectParts, ElementsAre(projectPartContainer1));
}
TEST_F(ProjectParts, FilteredProjectPartAdded)
{
projectParts.update({projectPartContainer1, projectPartContainer1});
projectParts.update({projectPartContainer1});
projectParts.update({projectPartContainer1});
ASSERT_THAT(projectParts.projectParts(), ElementsAre(projectPartContainer1));
}
@@ -120,13 +115,6 @@ TEST_F(ProjectParts, NoDuplicateProjectPartAfterUpdatingWithNotNewProjectPart)
ASSERT_THAT(projectParts.projectParts(), ElementsAre(projectPartContainer1));
}
TEST_F(ProjectParts, FilterUniqueProjectParts)
{
auto updatedProjectParts = projectParts.uniqueProjectParts({projectPartContainer1, projectPartContainer2, projectPartContainer1});
ASSERT_THAT(updatedProjectParts, ElementsAre(projectPartContainer1, projectPartContainer2));
}
TEST_F(ProjectParts, MergeProjectParts)
{
projectParts.mergeProjectParts({projectPartContainer1, projectPartContainer2});