From 3510040dc99a8266963c5e8ce10c2bd0edaaaf76 Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Thu, 3 Sep 2015 13:40:09 +0200 Subject: xmlpatterns test: Improve process handling. Introduce a message when starting fails or timeouts occur and flip the order to check for timeouts first and then check the exit code. Change-Id: I293aa55888186f66c12cd86bcb8010802f521032 Reviewed-by: Mitch Curtis --- tests/auto/xmlpatterns/tst_xmlpatterns.cpp | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/tests/auto/xmlpatterns/tst_xmlpatterns.cpp b/tests/auto/xmlpatterns/tst_xmlpatterns.cpp index 85dc50a..90bfbe3 100644 --- a/tests/auto/xmlpatterns/tst_xmlpatterns.cpp +++ b/tests/auto/xmlpatterns/tst_xmlpatterns.cpp @@ -119,6 +119,17 @@ void tst_XmlPatterns::initTestCase() #endif // QT_NO_PROCESS } +#ifndef QT_NO_PROCESS +static QByteArray msgProcessError(const char *what, const QProcess &process) +{ + QString result = QLatin1String(what) + QLatin1Char(' ') + + QDir::toNativeSeparators(process.program()) + + QLatin1Char(' ') + process.arguments().join(QLatin1Char(' ')) + + QLatin1String(": ") + process.errorString(); + return result.toLocal8Bit(); +} +#endif // !QT_NO_PROCESS + void tst_XmlPatterns::xquerySupport() { if (QTest::currentDataTag() == QByteArray("Load query via FTP") @@ -145,9 +156,10 @@ void tst_XmlPatterns::xquerySupport() process.setWorkingDirectory(inputFile(cwd)); process.start(m_command, arguments); + QVERIFY2(process.waitForStarted(), msgProcessError("Failed to start", process).constData()); + QVERIFY2(process.waitForFinished(), msgProcessError("Timeout running", process).constData()); QCOMPARE(process.exitStatus(), QProcess::NormalExit); - QVERIFY(process.waitForFinished()); if(process.exitCode() != expectedExitCode) QTextStream(stderr) << "stderr:" << process.readAllStandardError(); -- cgit v1.2.1