diff options
Diffstat (limited to 'tests/auto/corelib/global/qlogging')
-rw-r--r-- | tests/auto/corelib/global/qlogging/CMakeLists.txt | 25 | ||||
-rw-r--r-- | tests/auto/corelib/global/qlogging/test/test.pro | 1 | ||||
-rw-r--r-- | tests/auto/corelib/global/qlogging/tst_qlogging.cpp | 15 |
3 files changed, 37 insertions, 4 deletions
diff --git a/tests/auto/corelib/global/qlogging/CMakeLists.txt b/tests/auto/corelib/global/qlogging/CMakeLists.txt new file mode 100644 index 0000000000..bd0ab6aeca --- /dev/null +++ b/tests/auto/corelib/global/qlogging/CMakeLists.txt @@ -0,0 +1,25 @@ +if(NOT WINRT) + add_qt_executable(qlogging_helper + NO_INSTALL # special case + OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} # special case + SOURCES app/main.cpp + DEFINES QT_MESSAGELOGCONTEXT + LIBRARIES Qt::Core) + + #special case begin + # Fixes required for the backtrace stack to be correct + if (${CMAKE_CXX_COMPILER_ID} STREQUAL "GNU") + target_link_options(qlogging_helper PRIVATE -rdynamic) + endif() + set_target_properties(qlogging_helper PROPERTIES CXX_VISIBILITY_PRESET default) + # special case end +endif() + +add_qt_test(tst_qlogging SOURCES tst_qlogging.cpp + DEFINES + QT_MESSAGELOGCONTEXT + QT_DISABLE_DEPRECATED_BEFORE=0 + HELPER_BINARY="${CMAKE_CURRENT_BINARY_DIR}/qlogging_helper" # special case +) + +target_compile_definitions(tst_qlogging PRIVATE QT_CMAKE_BUILD) # special case # to fix the binary name diff --git a/tests/auto/corelib/global/qlogging/test/test.pro b/tests/auto/corelib/global/qlogging/test/test.pro index 91896d4494..81445247e0 100644 --- a/tests/auto/corelib/global/qlogging/test/test.pro +++ b/tests/auto/corelib/global/qlogging/test/test.pro @@ -19,3 +19,4 @@ SOURCES = ../tst_qlogging.cpp DEFINES += QT_MESSAGELOGCONTEXT DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0 +DEFINES += HELPER_BINARY=\\\"helper\\\" diff --git a/tests/auto/corelib/global/qlogging/tst_qlogging.cpp b/tests/auto/corelib/global/qlogging/tst_qlogging.cpp index 3af637d13a..6c6f3a2168 100644 --- a/tests/auto/corelib/global/qlogging/tst_qlogging.cpp +++ b/tests/auto/corelib/global/qlogging/tst_qlogging.cpp @@ -792,10 +792,17 @@ void tst_qmessagehandler::qMessagePattern_data() #define QT_NAMESPACE_STR "" #endif + +#ifdef QT_CMAKE_BUILD +#define BACKTRACE_HELPER_NAME "qlogging_helper" +#else +#define BACKTRACE_HELPER_NAME "helper" +#endif + #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|?helper?|" QT_NAMESPACE_STR "QMetaMethod::invoke|" QT_NAMESPACE_STR "QMetaObject::invokeMethod] from_a_function 34"); + << "[MyClass::myFunction|MyClass::mySlot1|?" BACKTRACE_HELPER_NAME "?|" 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>() @@ -820,9 +827,9 @@ void tst_qmessagehandler::qMessagePattern() QProcess process; #ifndef Q_OS_ANDROID - const QString appExe(QLatin1String("helper")); + const QString appExe(QLatin1String(HELPER_BINARY)); #else - const QString appExe(QCoreApplication::applicationDirPath() + QLatin1String("/libhelper.so")); + const QString appExe(QCoreApplication::applicationDirPath() + QLatin1String("/lib" BACKTRACE_HELPER_NAME ".so")); #endif // @@ -870,7 +877,7 @@ void tst_qmessagehandler::setMessagePattern() QProcess process; #ifndef Q_OS_ANDROID - const QString appExe(QLatin1String("helper")); + const QString appExe(QLatin1String(HELPER_BINARY)); #else const QString appExe(QCoreApplication::applicationDirPath() + QLatin1String("/libhelper.so")); #endif |