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 <frederik.gladhorn@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
This commit is contained in:
parent
465098088e
commit
00d9ade6e6
@ -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 = ./
|
||||
|
@ -1,11 +1,21 @@
|
||||
CONFIG += testcase
|
||||
CONFIG -= debug_and_release_target
|
||||
qtConfig(c++11): CONFIG += c++11
|
||||
qtConfig(c++14): CONFIG += c++14
|
||||
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
|
||||
|
@ -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<QByteArray>()
|
||||
// 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<QByteArray>()
|
||||
@ -823,7 +818,7 @@ void tst_qmessagehandler::qMessagePattern()
|
||||
QFETCH(QList<QByteArray>, 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;
|
||||
|
Loading…
Reference in New Issue
Block a user