ProjectExplorer: fix Xcodebuild parser test.

Change-Id: Ic33d771c00c5e3afe53d217316a1fe91387ac989
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
This commit is contained in:
David Schulz
2014-05-16 10:18:42 +02:00
committed by Christian Stenger
parent eebd4579c2
commit 90fe72ca9c
2 changed files with 13 additions and 1 deletions

View File

@@ -122,6 +122,11 @@ XcodebuildParserTester::XcodebuildParserTester(XcodebuildParser *p, QObject *par
parser(p) parser(p)
{ } { }
void XcodebuildParserTester::onAboutToDeleteParser()
{
QCOMPARE(parser->m_xcodeBuildParserState, expectedFinalState);
}
void ProjectExplorerPlugin::testXcodebuildParserParsing_data() void ProjectExplorerPlugin::testXcodebuildParserParsing_data()
{ {
QTest::addColumn<ProjectExplorer::XcodebuildParser::XcodebuildStatus>("initialStatus"); QTest::addColumn<ProjectExplorer::XcodebuildParser::XcodebuildStatus>("initialStatus");
@@ -243,6 +248,8 @@ void ProjectExplorerPlugin::testXcodebuildParserParsing()
XcodebuildParser *childParser = new XcodebuildParser; XcodebuildParser *childParser = new XcodebuildParser;
XcodebuildParserTester *tester = new XcodebuildParserTester(childParser); XcodebuildParserTester *tester = new XcodebuildParserTester(childParser);
connect(&testbench, SIGNAL(aboutToDeleteParser()), tester, SLOT(onAboutToDeleteParser()));
testbench.appendOutputParser(childParser); testbench.appendOutputParser(childParser);
QFETCH(ProjectExplorer::XcodebuildParser::XcodebuildStatus, initialStatus); QFETCH(ProjectExplorer::XcodebuildParser::XcodebuildStatus, initialStatus);
QFETCH(QString, input); QFETCH(QString, input);
@@ -253,11 +260,11 @@ void ProjectExplorerPlugin::testXcodebuildParserParsing()
QFETCH(QString, outputLines); QFETCH(QString, outputLines);
QFETCH(ProjectExplorer::XcodebuildParser::XcodebuildStatus, finalStatus); QFETCH(ProjectExplorer::XcodebuildParser::XcodebuildStatus, finalStatus);
tester->expectedFinalState = finalStatus;
childParser->m_xcodeBuildParserState = initialStatus; childParser->m_xcodeBuildParserState = initialStatus;
testbench.testParsing(input, inputChannel, testbench.testParsing(input, inputChannel,
tasks, childStdOutLines, childStdErrLines, tasks, childStdOutLines, childStdErrLines,
outputLines); outputLines);
QCOMPARE(childParser->m_xcodeBuildParserState, finalStatus);
delete tester; delete tester;
} }

View File

@@ -62,6 +62,7 @@ private:
QString m_lastTarget; QString m_lastTarget;
QString m_lastProject; QString m_lastProject;
#if defined WITH_TESTS #if defined WITH_TESTS
friend class XcodebuildParserTester;
friend class ProjectExplorerPlugin; friend class ProjectExplorerPlugin;
#endif #endif
}; };
@@ -74,6 +75,10 @@ public:
explicit XcodebuildParserTester(XcodebuildParser *parser, QObject *parent = 0); explicit XcodebuildParserTester(XcodebuildParser *parser, QObject *parent = 0);
XcodebuildParser *parser; XcodebuildParser *parser;
XcodebuildParser::XcodebuildStatus expectedFinalState;
public slots:
void onAboutToDeleteParser();
}; };
#endif #endif