diff options
author | Marcus Tillmanns <marcus.tillmanns@qt.io> | 2022-04-04 14:31:22 +0200 |
---|---|---|
committer | Marcus Tillmanns <marcus.tillmanns@qt.io> | 2022-04-04 14:27:46 +0000 |
commit | c246caf7a96b1d689ee03d900f6bc503e00a4b02 (patch) | |
tree | 768b7d6cbdad9a0cdaad0e77d0a499ce8ab3b8b8 /src/tools/sdktool/rmkitoperation.cpp | |
parent | 055de08524fcaebbd2f5de9760d4ec9a06667544 (diff) |
sdktool: Change tests to use QTest
* Moved all sdktool code into a static library, allowing us to link against the actual functionality in unittests
* Convert all tests to proper unittests
Change-Id: I5c93be0faecbd8b68e0923655483c870a2f408b5
Reviewed-by: hjk <hjk@qt.io>
Diffstat (limited to 'src/tools/sdktool/rmkitoperation.cpp')
-rw-r--r-- | src/tools/sdktool/rmkitoperation.cpp | 105 |
1 files changed, 65 insertions, 40 deletions
diff --git a/src/tools/sdktool/rmkitoperation.cpp b/src/tools/sdktool/rmkitoperation.cpp index 8d04299032..ece4863daf 100644 --- a/src/tools/sdktool/rmkitoperation.cpp +++ b/src/tools/sdktool/rmkitoperation.cpp @@ -25,11 +25,11 @@ #include "rmkitoperation.h" -#include "addkeysoperation.h" -#include "addtoolchainoperation.h" #include "adddeviceoperation.h" -#include "addqtoperation.h" +#include "addkeysoperation.h" #include "addkitoperation.h" +#include "addqtoperation.h" +#include "addtoolchainoperation.h" #include "findkeyoperation.h" #include "findvalueoperation.h" #include "getoperation.h" @@ -39,6 +39,14 @@ #include <iostream> +#ifdef WITH_TESTS +#include <QTest> +#endif + +#include <QLoggingCategory> + +Q_LOGGING_CATEGORY(rmkitlog, "qtc.sdktool.operations.rmkit", QtWarningMsg) + // Qt version file stuff: const char PREFIX[] = "Profile."; const char COUNT[] = "Profile.Count"; @@ -75,7 +83,7 @@ bool RmKitOperation::setArguments(const QStringList &args) m_id = args.at(1); if (m_id.isEmpty()) - std::cerr << "No id given." << std::endl << std::endl; + qCCritical(rmkitlog) << "No id given."; return !m_id.isEmpty(); } @@ -95,15 +103,28 @@ int RmKitOperation::execute() const } #ifdef WITH_TESTS -bool RmKitOperation::test() const +void RmKitOperation::unittest() { QVariantMap tcMap = AddToolChainOperation::initializeToolChains(); - tcMap = AddToolChainData{"{tc-id}", "langId", "TC", "/usr/bin/gcc", - "x86-linux-generic-elf-32bit", "x86-linux-generic-elf-32bit", {}} - .addToolChain(tcMap); + AddToolChainData d; + d.m_id = "{tc-id}"; + d.m_languageId = "langId"; + d.m_displayName = "TC"; + d.m_path = "/usr/bin/gcc"; + d.m_targetAbi = "x86-linux-generic-elf-32bit"; + d.m_supportedAbis = "x86-linux-generic-elf-32bit"; + d.m_extra = {}; + + tcMap = d.addToolChain(tcMap); QVariantMap qtMap = AddQtData::initializeQtVersions(); - qtMap = AddQtData{"{qt-id}", "Qt", "desktop-qt", "/usr/bin/qmake", {}, {}}.addQt(qtMap); + AddQtData qtd; + qtd.m_id = "{qt-id}"; + qtd.m_displayName = "Qt"; + qtd.m_type = "desktop-qt"; + qtd.m_qmake = "/usr/bin/qmake"; + + qtMap = qtd.addQt(qtMap); QVariantMap devMap = AddDeviceOperation::initializeDevices(); AddDeviceData devData; @@ -134,52 +155,57 @@ bool RmKitOperation::test() const kitData.m_displayName = "Test Qt Version"; kitData.m_icon = "/tmp/icon.png"; kitData.m_debuggerEngine = 1; - kitData.m_debugger = "/usr/bin/gdb-test"; + kitData.m_debugger = "/usr/bin/gdb-test"; kitData.m_deviceType = "Desktop"; kitData.m_tcs = tcs; kitData.m_qt = "{qt-id}"; kitData.m_mkspec = "unsupported/mkspec"; - kitData.m_extra = {{"PE.Profile.Data/extraData", QVariant("extraValue")}}; + kitData.m_extra = {{"PE.Profile.Data/extraData", QVariant("extraValue")}}; QVariantMap map = kitData.addKit(AddKitData::initializeKits(), tcMap, qtMap, devMap, {}); - kitData.m_id = "testId2"; kitData.m_icon = "/tmp/icon2.png"; kitData.m_icon = "/usr/bin/gdb-test2"; kitData.m_mkspec = "unsupported/mkspec2"; - kitData.m_extra = {{"PE.Profile.Data/extraData", QVariant("extraValue2")}}; + kitData.m_extra = {{"PE.Profile.Data/extraData", QVariant("extraValue2")}}; map = kitData.addKit(map, tcMap, qtMap, devMap, {}); + QTest::ignoreMessage(QtCriticalMsg, "Error: Could not find the default kit."); QVariantMap result = rmKit(map, "testId"); - if (result.count() != 4 - || !result.contains("Profile.0") - || !result.contains(COUNT) || result.value(COUNT).toInt() != 1 - || !result.contains(DEFAULT) || result.value(DEFAULT).toInt() != 0 - || !result.contains(VERSION) || result.value(VERSION).toInt() != 1) - return false; - + QCOMPARE(result.count(), 4); + QVERIFY(result.contains("Profile.0")); + QVERIFY(result.contains(COUNT)); + QCOMPARE(result.value(COUNT).toInt(), 1); + QVERIFY(result.contains(DEFAULT)); + QCOMPARE(result.value(DEFAULT).toInt(), 0); + QVERIFY(result.contains(VERSION)); + QCOMPARE(result.value(VERSION).toInt(), 1); + + QTest::ignoreMessage(QtCriticalMsg, "Error: Id was not found."); result = rmKit(map, "unknown"); - if (result != map) - return false; + QCOMPARE(result, map); + QTest::ignoreMessage(QtCriticalMsg, "Error: Could not find the default kit."); result = rmKit(map, "testId2"); - if (result.count() != 4 - || !result.contains("Profile.0") - || !result.contains(COUNT) || result.value(COUNT).toInt() != 1 - || !result.contains(DEFAULT) || result.value(DEFAULT).toInt() != 0 - || !result.contains(VERSION) || result.value(VERSION).toInt() != 1) - return false; + QCOMPARE(result.count(), 4); + QVERIFY(result.contains("Profile.0")); + QVERIFY(result.contains(COUNT)); + QCOMPARE(result.value(COUNT).toInt(), 1); + QVERIFY(result.contains(DEFAULT)); + QCOMPARE(result.value(DEFAULT).toInt(), 0); + QVERIFY(result.contains(VERSION)); + QCOMPARE(result.value(VERSION).toInt(), 1); result = rmKit(result, QLatin1String("testId")); - if (result.count() != 3 - || !result.contains(COUNT) || result.value(COUNT).toInt() != 0 - || !result.contains(DEFAULT) || result.value(DEFAULT).toInt() != -1 - || !result.contains(VERSION) || result.value(VERSION).toInt() != 1) - return false; - - return true; + QCOMPARE(result.count(), 3); + QVERIFY(result.contains(COUNT)); + QCOMPARE(result.value(COUNT).toInt(), 0); + QVERIFY(result.contains(DEFAULT)); + QCOMPARE(result.value(DEFAULT).toInt(), -1); + QVERIFY(result.contains(VERSION)); + QCOMPARE(result.value(VERSION).toInt(), 1); } #endif @@ -191,7 +217,7 @@ QVariantMap RmKitOperation::rmKit(const QVariantMap &map, const QString &id) bool ok; int count = GetOperation::get(map, COUNT).toInt(&ok); if (!ok) { - std::cerr << "Error: The count found in map is not an integer." << std::endl; + qCCritical(rmkitlog) << "Error: The count found in map is not an integer."; return map; } @@ -206,13 +232,13 @@ QVariantMap RmKitOperation::rmKit(const QVariantMap &map, const QString &id) profileList << profile; } if (profileList.count() == map.count() - 3) { - std::cerr << "Error: Id was not found." << std::endl; + qCCritical(rmkitlog) << "Error: Id was not found."; return map; } int defaultKit = GetOperation::get(map, DEFAULT).toInt(&ok); if (!ok) { - std::cerr << "Error: Could not find the default kit." << std::endl; + qCCritical(rmkitlog) << "Error: Could not find the default kit."; defaultKit = -1; } @@ -228,8 +254,7 @@ QVariantMap RmKitOperation::rmKit(const QVariantMap &map, const QString &id) data << KeyValuePair(COUNT, QVariant(count - 1)); for (int i = 0; i < profileList.count(); ++i) - data << KeyValuePair(QString::fromLatin1(PREFIX) + QString::number(i), - profileList.at(i)); + data << KeyValuePair(QString::fromLatin1(PREFIX) + QString::number(i), profileList.at(i)); return AddKeysData{data}.addKeys(result); } |