forked from qt-creator/qt-creator
AutoTest: Copy parse results only if necessary
Copying of the results is quite costly, so reduce this to a minimum. Change-Id: I8db3bcd72c34ddd0bdc622ec3f2fd538c9679955 Reviewed-by: David Schulz <david.schulz@theqtcompany.com>
This commit is contained in:
@@ -482,7 +482,6 @@ static void handleGTest(QFutureInterface<TestParseResult> futureInterface, const
|
|||||||
if (ppList.size())
|
if (ppList.size())
|
||||||
proFile = ppList.at(0)->projectFile;
|
proFile = ppList.at(0)->projectFile;
|
||||||
|
|
||||||
QVector<TestParseResult> parseResults;
|
|
||||||
foreach (const GTestCaseSpec &testSpec, result.keys()) {
|
foreach (const GTestCaseSpec &testSpec, result.keys()) {
|
||||||
TestParseResult parseResult(TestTreeModel::GoogleTest);
|
TestParseResult parseResult(TestTreeModel::GoogleTest);
|
||||||
parseResult.fileName = filePath;
|
parseResult.fileName = filePath;
|
||||||
@@ -490,10 +489,8 @@ static void handleGTest(QFutureInterface<TestParseResult> futureInterface, const
|
|||||||
parseResult.parameterized = testSpec.parameterized;
|
parseResult.parameterized = testSpec.parameterized;
|
||||||
parseResult.referencingFile = proFile;
|
parseResult.referencingFile = proFile;
|
||||||
parseResult.dataTagsOrTestSets.insert(QString(), result.value(testSpec));
|
parseResult.dataTagsOrTestSets.insert(QString(), result.value(testSpec));
|
||||||
parseResults.append(parseResult);
|
futureInterface.reportResult(parseResult);
|
||||||
}
|
}
|
||||||
if (parseResults.size())
|
|
||||||
futureInterface.reportResults(parseResults);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void checkDocumentForTestCode(QFutureInterface<TestParseResult> futureInterface,
|
static void checkDocumentForTestCode(QFutureInterface<TestParseResult> futureInterface,
|
||||||
|
|||||||
@@ -742,7 +742,7 @@ static TestTreeItem *constructGTestTreeItem(const TestParseResult &result)
|
|||||||
return item;
|
return item;
|
||||||
}
|
}
|
||||||
|
|
||||||
void TestTreeModel::onParseResultReady(TestParseResult result)
|
void TestTreeModel::onParseResultReady(const TestParseResult &result)
|
||||||
{
|
{
|
||||||
switch (result.type) {
|
switch (result.type) {
|
||||||
case AutoTest:
|
case AutoTest:
|
||||||
|
|||||||
@@ -89,7 +89,7 @@ signals:
|
|||||||
public slots:
|
public slots:
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void onParseResultReady(TestParseResult result);
|
void onParseResultReady(const TestParseResult &result);
|
||||||
void handleParseResult(const TestParseResult &result);
|
void handleParseResult(const TestParseResult &result);
|
||||||
void handleUnnamedQuickParseResult(const TestParseResult &result);
|
void handleUnnamedQuickParseResult(const TestParseResult &result);
|
||||||
void handleGTestParseResult(const TestParseResult &result);
|
void handleGTestParseResult(const TestParseResult &result);
|
||||||
|
|||||||
Reference in New Issue
Block a user