diff --git a/tests/auto/tools/macdeployqt/tst_macdeployqt.cpp b/tests/auto/tools/macdeployqt/tst_macdeployqt.cpp index fbf09fbe89..b7deb8f2c4 100644 --- a/tests/auto/tools/macdeployqt/tst_macdeployqt.cpp +++ b/tests/auto/tools/macdeployqt/tst_macdeployqt.cpp @@ -4,6 +4,8 @@ #include #include +Q_LOGGING_CATEGORY(lcTests, "qt.tools.tests") + bool g_testDirectoryBuild = false; // toggle to keep build output for debugging. QTemporaryDir *g_temporaryDirectory; QString g_macdeployqtBinary; @@ -34,6 +36,24 @@ static bool runProcess(const QString &binary, process.setProcessEnvironment(env); if (!workingDir.isEmpty()) process.setWorkingDirectory(workingDir); + + const auto outputReader = qScopeGuard([&] { + QByteArray standardOutput = process.readAllStandardOutput(); + if (!standardOutput.trimmed().isEmpty()) + qCDebug(lcTests).nospace() << "Standard output:\n" << qUtf8Printable(standardOutput.trimmed()); + if (stdOut) + *stdOut = standardOutput; + QByteArray standardError = process.readAllStandardError(); + if (!standardError.trimmed().isEmpty()) + qCDebug(lcTests).nospace() << "Standard error:\n" << qUtf8Printable(standardError.trimmed()); + if (stdErr) + *stdErr = standardError; + }); + + qCDebug(lcTests).noquote() << "Running" << binary + << "with arguments" << arguments + << "in" << workingDir; + process.start(binary, arguments, QIODevice::ReadOnly); if (!process.waitForStarted()) { *errorMessage = msgProcessError(process, "Failed to start"); @@ -46,10 +66,7 @@ static bool runProcess(const QString &binary, process.kill(); return false; } - if (stdOut) - *stdOut = process.readAllStandardOutput(); - if (stdErr) - *stdErr= process.readAllStandardError(); + if (process.exitStatus() != QProcess::NormalExit) { *errorMessage = msgProcessError(process, "Crashed"); return false; @@ -148,26 +165,11 @@ bool deploy(const QString &name, const QStringList &options, QString *errorMessa QString bundle = name + ".app"; QString path = buildPath(name); QStringList args = QStringList() << bundle << options; + if (lcTests().isDebugEnabled()) + args << "-verbose=3"; return runProcess(g_macdeployqtBinary, args, errorMessage, path); } -bool debugDeploy(const QString &name, const QStringList &options, QString *errorMessage) -{ - QString bundle = name + ".app"; - QString path = buildPath(name); - QStringList args = QStringList() << bundle << options << "-verbose=3"; - QByteArray stdOut; - QByteArray stdErr; - bool exitOK = runProcess(g_macdeployqtBinary, args, errorMessage, path, QProcessEnvironment(), - 10000, &stdOut, &stdErr); - - qDebug() << "macdeployqt exit OK" << exitOK; - qDebug() << qPrintable(stdOut); - qDebug() << qPrintable(stdErr); - - return exitOK; -} - bool run(const QString &name, QString *errorMessage) { QString path = buildPath(name);