diff --git a/src/tests/backtraceparsertest/CMakeLists.txt b/src/tests/backtraceparsertest/CMakeLists.txt index 01b1a0f9..29bb3a2b 100644 --- a/src/tests/backtraceparsertest/CMakeLists.txt +++ b/src/tests/backtraceparsertest/CMakeLists.txt @@ -1,19 +1,8 @@ ecm_add_test(fakebacktracegenerator.cpp backtraceparsertest.cpp TEST_NAME backtraceparsertest LINK_LIBRARIES Qt5::Test Qt5::Core KF5::KIOWidgets drkonqi_backtrace_parser ) add_executable(backtraceparsertest_manual fakebacktracegenerator.cpp backtraceparsertest_manual.cpp) target_link_libraries(backtraceparsertest_manual Qt5::Core KF5::I18n KF5::KIOWidgets drkonqi_backtrace_parser) ecm_mark_as_test(backtraceparsertest_manual) ecm_mark_nongui_executable(backtraceparsertest_manual) - -# create a link so that the data directory can be accessed from the build directory, where the test runs -if( NOT WIN32 ) - if ( NOT ${CMAKE_CURRENT_BINARY_DIR} EQUAL ${CMAKE_CURRENT_SOURCE_DIR} ) - add_custom_command(TARGET backtraceparsertest POST_BUILD - COMMAND ${CMAKE_COMMAND} -E create_symlink - ${CMAKE_CURRENT_SOURCE_DIR}/backtraceparsertest_data backtraceparsertest_data - WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} - ) - endif () -endif() diff --git a/src/tests/backtraceparsertest/backtraceparsertest.cpp b/src/tests/backtraceparsertest/backtraceparsertest.cpp index 7371b6ec..e599f77f 100644 --- a/src/tests/backtraceparsertest/backtraceparsertest.cpp +++ b/src/tests/backtraceparsertest/backtraceparsertest.cpp @@ -1,129 +1,128 @@ /* Copyright (C) 2009 George Kiagiadakis This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include "backtraceparsertest.h" #include #include #include #include #include #include -#define DATA_DIR "backtraceparsertest_data" -#define SETTINGS_FILE "data.ini" +#define DATA_DIR QFINDTESTDATA("backtraceparsertest_data") BacktraceParserTest::BacktraceParserTest(QObject *parent) : QObject(parent), - m_settings(QString::fromLatin1(DATA_DIR) + QLatin1Char('/') + QString::fromLatin1(SETTINGS_FILE), QSettings::IniFormat), + m_settings(DATA_DIR + QLatin1Char('/') + QStringLiteral("data.ini"), QSettings::IniFormat), m_generator(new FakeBacktraceGenerator(this)) { } void BacktraceParserTest::fetchData(const QString & group) { QTest::addColumn("filename"); QTest::addColumn("result"); QTest::addColumn("debugger"); m_settings.beginGroup(group); QStringList keys = m_settings.allKeys(); m_settings.endGroup(); foreach(const QString & key, keys) { QTest::newRow(qPrintable(key)) - << QString(QString::fromLatin1(DATA_DIR) + QLatin1Char('/') + key) + << QString(DATA_DIR + QLatin1Char('/') + key) << m_settings.value(group + QLatin1Char('/') + key).toString() << m_settings.value(QStringLiteral("debugger/") + key).toString(); } } void BacktraceParserTest::btParserUsefulnessTest_data() { fetchData(QStringLiteral("usefulness")); } void BacktraceParserTest::btParserUsefulnessTest() { QFETCH(QString, filename); QFETCH(QString, result); QFETCH(QString, debugger); //parse QSharedPointer parser(BacktraceParser::newParser(debugger)); parser->connectToGenerator(m_generator); m_generator->sendData(filename); //convert usefulness to string QMetaEnum metaUsefulness = BacktraceParser::staticMetaObject.enumerator( BacktraceParser::staticMetaObject.indexOfEnumerator("Usefulness")); QString btUsefulness = QString::fromLatin1(metaUsefulness.valueToKey(parser->backtraceUsefulness())); //compare QEXPECT_FAIL("test_e", "Working on it", Continue); QCOMPARE(btUsefulness, result); } void BacktraceParserTest::btParserFunctionsTest_data() { fetchData(QStringLiteral("firstValidFunctions")); } void BacktraceParserTest::btParserFunctionsTest() { QFETCH(QString, filename); QFETCH(QString, result); QFETCH(QString, debugger); //parse QSharedPointer parser(BacktraceParser::newParser(debugger)); parser->connectToGenerator(m_generator); m_generator->sendData(filename); //compare QString functions = parser->firstValidFunctions().join(QStringLiteral("|")); QCOMPARE(functions, result); } void BacktraceParserTest::btParserBenchmark_data() { QTest::addColumn("filename"); QTest::addColumn("debugger"); m_settings.beginGroup(QStringLiteral("debugger")); QStringList keys = m_settings.allKeys(); foreach(const QString & key, keys) { QTest::newRow(qPrintable(key)) - << QString(QString::fromLatin1(DATA_DIR) + QLatin1Char('/') + key) + << QString(DATA_DIR + QLatin1Char('/') + key) << m_settings.value(key).toString(); } m_settings.endGroup(); } void BacktraceParserTest::btParserBenchmark() { QFETCH(QString, filename); QFETCH(QString, debugger); QSharedPointer parser(BacktraceParser::newParser(debugger)); parser->connectToGenerator(m_generator); QBENCHMARK { m_generator->sendData(filename); } } QTEST_GUILESS_MAIN(BacktraceParserTest)