Android: fix tst_qlogging

The "app" subfolder was already excluded in the .pro-file but Android
supports QProcess, so lets include it in the build. Unfortunately it
currently has trouble and crashes (the child process or both processes).
So we skip those tests.

Task-number: QTBUG-68596
Change-Id: I2e6d0869c408bf08b22c02145db8ce522c64c617
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
This commit is contained in:
Mårten Nordheim 2018-06-05 15:54:07 +02:00
parent 568ee7da5a
commit d420987d54
2 changed files with 19 additions and 1 deletions

View File

@ -1,6 +1,6 @@
TEMPLATE = subdirs
!android:!winrt {
!winrt {
test.depends = app
SUBDIRS += app
}

View File

@ -101,7 +101,11 @@ tst_qmessagehandler::tst_qmessagehandler()
void tst_qmessagehandler::initTestCase()
{
#if QT_CONFIG(process)
# ifdef Q_OS_ANDROID
m_appDir = QCoreApplication::applicationDirPath();
# else // !android
m_appDir = QFINDTESTDATA("app");
# endif
QVERIFY2(!m_appDir.isEmpty(), qPrintable(
QString::fromLatin1("Couldn't find helper app dir starting from %1.").arg(QDir::currentPath())));
@ -818,12 +822,19 @@ void tst_qmessagehandler::qMessagePattern()
#if !QT_CONFIG(process)
QSKIP("This test requires QProcess support");
#else
#ifdef Q_OS_ANDROID
QSKIP("This test crashes on Android");
#endif
QFETCH(QString, pattern);
QFETCH(bool, valid);
QFETCH(QList<QByteArray>, expected);
QProcess process;
#ifdef Q_OS_ANDROID
const QString appExe = m_appDir + "/libapp.so";
#else // !android
const QString appExe = m_appDir + "/app";
#endif
//
// test QT_MESSAGE_PATTERN
@ -860,13 +871,20 @@ void tst_qmessagehandler::setMessagePattern()
#if !QT_CONFIG(process)
QSKIP("This test requires QProcess support");
#else
#ifdef Q_OS_ANDROID
QSKIP("This test crashes on Android");
#endif
//
// test qSetMessagePattern
//
QProcess process;
#ifdef Q_OS_ANDROID
const QString appExe = m_appDir + "/libapp.so";
#else // !android
const QString appExe = m_appDir + "/app";
#endif
// make sure there is no QT_MESSAGE_PATTERN in the environment
QStringList environment = m_baseEnvironment;