summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/plugins/projectexplorer/xcodebuildparser.cpp9
-rw-r--r--src/plugins/projectexplorer/xcodebuildparser.h5
2 files changed, 13 insertions, 1 deletions
diff --git a/src/plugins/projectexplorer/xcodebuildparser.cpp b/src/plugins/projectexplorer/xcodebuildparser.cpp
index 4d6e280a95..36040aa5b0 100644
--- a/src/plugins/projectexplorer/xcodebuildparser.cpp
+++ b/src/plugins/projectexplorer/xcodebuildparser.cpp
@@ -122,6 +122,11 @@ XcodebuildParserTester::XcodebuildParserTester(XcodebuildParser *p, QObject *par
parser(p)
{ }
+void XcodebuildParserTester::onAboutToDeleteParser()
+{
+ QCOMPARE(parser->m_xcodeBuildParserState, expectedFinalState);
+}
+
void ProjectExplorerPlugin::testXcodebuildParserParsing_data()
{
QTest::addColumn<ProjectExplorer::XcodebuildParser::XcodebuildStatus>("initialStatus");
@@ -243,6 +248,8 @@ void ProjectExplorerPlugin::testXcodebuildParserParsing()
XcodebuildParser *childParser = new XcodebuildParser;
XcodebuildParserTester *tester = new XcodebuildParserTester(childParser);
+ connect(&testbench, SIGNAL(aboutToDeleteParser()), tester, SLOT(onAboutToDeleteParser()));
+
testbench.appendOutputParser(childParser);
QFETCH(ProjectExplorer::XcodebuildParser::XcodebuildStatus, initialStatus);
QFETCH(QString, input);
@@ -253,11 +260,11 @@ void ProjectExplorerPlugin::testXcodebuildParserParsing()
QFETCH(QString, outputLines);
QFETCH(ProjectExplorer::XcodebuildParser::XcodebuildStatus, finalStatus);
+ tester->expectedFinalState = finalStatus;
childParser->m_xcodeBuildParserState = initialStatus;
testbench.testParsing(input, inputChannel,
tasks, childStdOutLines, childStdErrLines,
outputLines);
- QCOMPARE(childParser->m_xcodeBuildParserState, finalStatus);
delete tester;
}
diff --git a/src/plugins/projectexplorer/xcodebuildparser.h b/src/plugins/projectexplorer/xcodebuildparser.h
index 53da4736e7..ce23020068 100644
--- a/src/plugins/projectexplorer/xcodebuildparser.h
+++ b/src/plugins/projectexplorer/xcodebuildparser.h
@@ -62,6 +62,7 @@ private:
QString m_lastTarget;
QString m_lastProject;
#if defined WITH_TESTS
+ friend class XcodebuildParserTester;
friend class ProjectExplorerPlugin;
#endif
};
@@ -74,6 +75,10 @@ public:
explicit XcodebuildParserTester(XcodebuildParser *parser, QObject *parent = 0);
XcodebuildParser *parser;
+ XcodebuildParser::XcodebuildStatus expectedFinalState;
+
+public slots:
+ void onAboutToDeleteParser();
};
#endif