From 00d9ade6e62b81294d6a306632edae791e7b5fec Mon Sep 17 00:00:00 2001 From: Oliver Wolff Date: Wed, 27 Jun 2018 07:30:39 +0200 Subject: tst_qlogging: Fix execution for WinRT Not putting executables into debug/release subdirectories leads to the WinRT AppxManifest being overwritten by the wrong configuration. When Qt is configured with -release for example, it was possible that the debug manifest (Manifest files are always created next to the target) is written last and thus contains debug VCLibs as a dependency. Additionally the test was changed in that way, that the resulting file system structure (having helper and test application in a "top level" debug and release folder) is the same structure as in tst_qobject. Change-Id: I034752b4e5d22b98f6def95fb53c2b1947dded03 Reviewed-by: Frederik Gladhorn Reviewed-by: Oswald Buddenhagen --- tests/auto/corelib/global/qlogging/app/app.pro | 11 ++++++++++- tests/auto/corelib/global/qlogging/test/test.pro | 16 +++++++++++++--- tests/auto/corelib/global/qlogging/tst_qlogging.cpp | 11 +++-------- 3 files changed, 26 insertions(+), 12 deletions(-) (limited to 'tests/auto/corelib/global/qlogging') diff --git a/tests/auto/corelib/global/qlogging/app/app.pro b/tests/auto/corelib/global/qlogging/app/app.pro index 30751d89ec..b90b685749 100644 --- a/tests/auto/corelib/global/qlogging/app/app.pro +++ b/tests/auto/corelib/global/qlogging/app/app.pro @@ -1,6 +1,15 @@ TEMPLATE = app -TARGET = app +debug_and_release { + CONFIG(debug, debug|release) { + TARGET = ../debug/helper + } else { + TARGET = ../release/helper + } +} else { + TARGET = ../helper +} + QT = core DESTDIR = ./ diff --git a/tests/auto/corelib/global/qlogging/test/test.pro b/tests/auto/corelib/global/qlogging/test/test.pro index 7c46ae9d16..8dafc4509c 100644 --- a/tests/auto/corelib/global/qlogging/test/test.pro +++ b/tests/auto/corelib/global/qlogging/test/test.pro @@ -1,11 +1,21 @@ CONFIG += testcase -CONFIG -= debug_and_release_target qtConfig(c++11): CONFIG += c++11 qtConfig(c++14): CONFIG += c++14 -TARGET = ../tst_qlogging +debug_and_release { + CONFIG(debug, debug|release) { + TARGET = ../../debug/tst_qlogging + !winrt: TEST_HELPER_INSTALLS = ../debug/helper + } else { + TARGET = ../../release/tst_qlogging + !winrt: TEST_HELPER_INSTALLS = ../release/helper + } +} else { + TARGET = ../tst_qlogging + !winrt: TEST_HELPER_INSTALLS = ../helper +} + QT = core testlib SOURCES = ../tst_qlogging.cpp DEFINES += QT_MESSAGELOGCONTEXT -!winrt: TEST_HELPER_INSTALLS = ../app/app DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0 diff --git a/tests/auto/corelib/global/qlogging/tst_qlogging.cpp b/tests/auto/corelib/global/qlogging/tst_qlogging.cpp index 3465385ba7..863582f498 100644 --- a/tests/auto/corelib/global/qlogging/tst_qlogging.cpp +++ b/tests/auto/corelib/global/qlogging/tst_qlogging.cpp @@ -64,7 +64,6 @@ private slots: void formatLogMessage(); private: - QString m_appDir; QStringList m_baseEnvironment; }; @@ -101,10 +100,6 @@ tst_qmessagehandler::tst_qmessagehandler() void tst_qmessagehandler::initTestCase() { #if QT_CONFIG(process) - m_appDir = QFINDTESTDATA("app"); - QVERIFY2(!m_appDir.isEmpty(), qPrintable( - QString::fromLatin1("Couldn't find helper app dir starting from %1.").arg(QDir::currentPath()))); - m_baseEnvironment = QProcess::systemEnvironment(); for (int i = 0; i < m_baseEnvironment.count(); ++i) { if (m_baseEnvironment.at(i).startsWith("QT_MESSAGE_PATTERN=")) { @@ -802,7 +797,7 @@ void tst_qmessagehandler::qMessagePattern_data() #ifndef QT_NO_DEBUG QTest::newRow("backtrace") << "[%{backtrace}] %{message}" << true << (QList() // MyClass::qt_static_metacall is explicitly marked as hidden in the Q_OBJECT macro - << "[MyClass::myFunction|MyClass::mySlot1|?app?|" QT_NAMESPACE_STR "QMetaMethod::invoke|" QT_NAMESPACE_STR "QMetaObject::invokeMethod] from_a_function 34"); + << "[MyClass::myFunction|MyClass::mySlot1|?helper?|" QT_NAMESPACE_STR "QMetaMethod::invoke|" QT_NAMESPACE_STR "QMetaObject::invokeMethod] from_a_function 34"); #endif QTest::newRow("backtrace depth,separator") << "[%{backtrace depth=2 separator=\"\n\"}] %{message}" << true << (QList() @@ -823,7 +818,7 @@ void tst_qmessagehandler::qMessagePattern() QFETCH(QList, expected); QProcess process; - const QString appExe = m_appDir + "/app"; + const QString appExe(QLatin1String("helper")); // // test QT_MESSAGE_PATTERN @@ -866,7 +861,7 @@ void tst_qmessagehandler::setMessagePattern() // QProcess process; - const QString appExe = m_appDir + "/app"; + const QString appExe(QLatin1String("helper")); // make sure there is no QT_MESSAGE_PATTERN in the environment QStringList environment = m_baseEnvironment; -- cgit v1.2.3