Clang: Move createJobRequest into Jobs

This simplifies the high level client ClangCodeModelServer and removes
quite some duplication in tests.

Change-Id: I4c6ab8646c8728990ebaca2b920ae514e949c54a
Reviewed-by: David Schulz <david.schulz@qt.io>
This commit is contained in:
Nikolai Kosjar
2017-05-04 12:43:38 +02:00
parent b091b20685
commit ac59e2be40
13 changed files with 107 additions and 171 deletions

View File

@@ -54,8 +54,6 @@ protected:
void SetUp() override;
void TearDown() override;
ClangBackEnd::JobRequest createJobRequest(ClangBackEnd::JobRequest::Type type) const;
bool waitUntilAllJobsFinished(int timeOutInMs = 10000) const;
protected:
@@ -149,8 +147,7 @@ TEST_F(DocumentProcessors, ProcessEmpty)
TEST_F(DocumentProcessorsSlowTest, ProcessSingle)
{
DocumentProcessor documentProcessor = documentProcessors.create(document);
const JobRequest jobRequest = createJobRequest(JobRequest::Type::UpdateDocumentAnnotations);
documentProcessor.addJob(jobRequest);
documentProcessor.addJob(JobRequest::Type::UpdateDocumentAnnotations);
const JobRequests jobsStarted = documentProcessors.process();
@@ -172,20 +169,6 @@ void DocumentProcessors::TearDown()
ASSERT_TRUE(waitUntilAllJobsFinished()); // QFuture/QFutureWatcher is implemented with events
}
JobRequest DocumentProcessors::createJobRequest(JobRequest::Type type) const
{
JobRequest jobRequest;
jobRequest.type = type;
jobRequest.requirements = JobRequest::requirementsForType(type);
jobRequest.filePath = filePath;
jobRequest.projectPartId = projectPartId;
jobRequest.unsavedFilesChangeTimePoint = unsavedFiles.lastChangeTimePoint();
jobRequest.documentRevision = document.documentRevision();
jobRequest.projectChangeTimePoint = projects.project(projectPartId).lastChangeTimePoint();
return jobRequest;
}
bool DocumentProcessors::waitUntilAllJobsFinished(int timeOutInMs) const
{
const auto noJobsRunningAnymore = [this](){ return documentProcessors.runningJobs().isEmpty(); };