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
|
TEMPLATE = app
|
||||||
|
|
||||||
TARGET = app
|
debug_and_release {
|
||||||
|
CONFIG(debug, debug|release) {
|
||||||
|
TARGET = ../debug/helper
|
||||||
|
} else {
|
||||||
|
TARGET = ../release/helper
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
TARGET = ../helper
|
||||||
|
}
|
||||||
|
|
||||||
QT = core
|
QT = core
|
||||||
|
|
||||||
DESTDIR = ./
|
DESTDIR = ./
|
||||||
|
@ -1,11 +1,21 @@
|
|||||||
CONFIG += testcase
|
CONFIG += testcase
|
||||||
CONFIG -= debug_and_release_target
|
|
||||||
qtConfig(c++11): CONFIG += c++11
|
qtConfig(c++11): CONFIG += c++11
|
||||||
qtConfig(c++14): CONFIG += c++14
|
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
|
TARGET = ../tst_qlogging
|
||||||
|
!winrt: TEST_HELPER_INSTALLS = ../helper
|
||||||
|
}
|
||||||
|
|
||||||
QT = core testlib
|
QT = core testlib
|
||||||
SOURCES = ../tst_qlogging.cpp
|
SOURCES = ../tst_qlogging.cpp
|
||||||
|
|
||||||
DEFINES += QT_MESSAGELOGCONTEXT
|
DEFINES += QT_MESSAGELOGCONTEXT
|
||||||
!winrt: TEST_HELPER_INSTALLS = ../app/app
|
|
||||||
DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0
|
DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0
|
||||||
|
@ -64,7 +64,6 @@ private slots:
|
|||||||
void formatLogMessage();
|
void formatLogMessage();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QString m_appDir;
|
|
||||||
QStringList m_baseEnvironment;
|
QStringList m_baseEnvironment;
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -101,10 +100,6 @@ tst_qmessagehandler::tst_qmessagehandler()
|
|||||||
void tst_qmessagehandler::initTestCase()
|
void tst_qmessagehandler::initTestCase()
|
||||||
{
|
{
|
||||||
#if QT_CONFIG(process)
|
#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();
|
m_baseEnvironment = QProcess::systemEnvironment();
|
||||||
for (int i = 0; i < m_baseEnvironment.count(); ++i) {
|
for (int i = 0; i < m_baseEnvironment.count(); ++i) {
|
||||||
if (m_baseEnvironment.at(i).startsWith("QT_MESSAGE_PATTERN=")) {
|
if (m_baseEnvironment.at(i).startsWith("QT_MESSAGE_PATTERN=")) {
|
||||||
@ -802,7 +797,7 @@ void tst_qmessagehandler::qMessagePattern_data()
|
|||||||
#ifndef QT_NO_DEBUG
|
#ifndef QT_NO_DEBUG
|
||||||
QTest::newRow("backtrace") << "[%{backtrace}] %{message}" << true << (QList<QByteArray>()
|
QTest::newRow("backtrace") << "[%{backtrace}] %{message}" << true << (QList<QByteArray>()
|
||||||
// MyClass::qt_static_metacall is explicitly marked as hidden in the Q_OBJECT macro
|
// 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
|
#endif
|
||||||
|
|
||||||
QTest::newRow("backtrace depth,separator") << "[%{backtrace depth=2 separator=\"\n\"}] %{message}" << true << (QList<QByteArray>()
|
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);
|
QFETCH(QList<QByteArray>, expected);
|
||||||
|
|
||||||
QProcess process;
|
QProcess process;
|
||||||
const QString appExe = m_appDir + "/app";
|
const QString appExe(QLatin1String("helper"));
|
||||||
|
|
||||||
//
|
//
|
||||||
// test QT_MESSAGE_PATTERN
|
// test QT_MESSAGE_PATTERN
|
||||||
@ -866,7 +861,7 @@ void tst_qmessagehandler::setMessagePattern()
|
|||||||
//
|
//
|
||||||
|
|
||||||
QProcess process;
|
QProcess process;
|
||||||
const QString appExe = m_appDir + "/app";
|
const QString appExe(QLatin1String("helper"));
|
||||||
|
|
||||||
// make sure there is no QT_MESSAGE_PATTERN in the environment
|
// make sure there is no QT_MESSAGE_PATTERN in the environment
|
||||||
QStringList environment = m_baseEnvironment;
|
QStringList environment = m_baseEnvironment;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user