diff options
Diffstat (limited to 'tests/auto/qml/debugger/shared/debugutil.cpp')
-rw-r--r-- | tests/auto/qml/debugger/shared/debugutil.cpp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/tests/auto/qml/debugger/shared/debugutil.cpp b/tests/auto/qml/debugger/shared/debugutil.cpp index ab27337d41..99647cda11 100644 --- a/tests/auto/qml/debugger/shared/debugutil.cpp +++ b/tests/auto/qml/debugger/shared/debugutil.cpp @@ -43,6 +43,8 @@ #include <QEventLoop> #include <QTimer> +#include <QFileInfo> +#include <QDir> bool QQmlDebugTest::waitForSignal(QObject *receiver, const char *member, int timeout) { QEventLoop loop; @@ -123,6 +125,17 @@ QString QQmlDebugProcess::state() void QQmlDebugProcess::start(const QStringList &arguments) { +#ifdef Q_OS_MAC + // make sure m_executable points to the actual binary even if it's inside an app bundle + QFileInfo binFile(m_executable); + if (!binFile.isExecutable()) { + QDir bundleDir(m_executable + ".app"); + if (bundleDir.exists()) { + m_executable = bundleDir.absoluteFilePath("Contents/MacOS/" + binFile.baseName()); + //qDebug() << Q_FUNC_INFO << "found bundled binary" << m_executable; + } + } +#endif m_mutex.lock(); m_port = 0; m_process.setEnvironment(m_environment); @@ -220,6 +233,9 @@ void QQmlDebugProcess::processAppOutput() m_eventLoop.quit(); continue; } + } else if (line.startsWith("qml:")) { + // ### Can't enable quiet mode because that also suppresses application output + continue; //We don't use these, but they aren't output from the app either } else { // set to true if there is output not coming from the debugger outputFromAppItself = true; |