McuSupport: Tests overhaul, mocks verification

Change-Id: I710a58b987c501dfff1102a6e3361981df4fdaee
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
This commit is contained in:
Piotr Mućko
2022-04-29 10:58:34 +02:00
parent 0114f3acd6
commit 4fde5f11ce
2 changed files with 19 additions and 18 deletions

View File

@@ -38,8 +38,8 @@
#include "mcukitmanager.h" #include "mcukitmanager.h"
#include "mculegacyconstants.h" #include "mculegacyconstants.h"
#include "mcusupportconstants.h" #include "mcusupportconstants.h"
#include "mcusupportsdk.h"
#include "mcusupportoptions.h" #include "mcusupportoptions.h"
#include "mcusupportsdk.h"
#include "mcutargetdescription.h" #include "mcutargetdescription.h"
#include "mcutargetfactorylegacy.h" #include "mcutargetfactorylegacy.h"
@@ -73,6 +73,7 @@ const char armGccLabel[]{"GNU Arm Embedded Toolchain"};
const char armGccToolchainFilePath[]{"/opt/qtformcu/2.2/lib/cmake/Qul/toolchain/armgcc.cmake"}; const char armGccToolchainFilePath[]{"/opt/qtformcu/2.2/lib/cmake/Qul/toolchain/armgcc.cmake"};
const char armGcc[]{"armgcc"}; const char armGcc[]{"armgcc"};
const char cmakeToolchainLabel[]{"CMake Toolchain File"}; const char cmakeToolchainLabel[]{"CMake Toolchain File"};
const char fallbackDir[]{"/abc/def/fallback"};
const char freeRtosCMakeVar[]{"FREERTOS_DIR"}; const char freeRtosCMakeVar[]{"FREERTOS_DIR"};
const char freeRtosDescription[]{"Freertos directory"}; const char freeRtosDescription[]{"Freertos directory"};
const char freeRtosEnvVar[]{"EVK_MIMXRT1170_FREERTOS_PATH"}; const char freeRtosEnvVar[]{"EVK_MIMXRT1170_FREERTOS_PATH"};
@@ -246,6 +247,7 @@ McuSupportTest::McuSupportTest()
armGccToolchainFilePackagePtr} armGccToolchainFilePackagePtr}
{ {
testing::Mock::AllowLeak(settingsMockPtr.get()); testing::Mock::AllowLeak(settingsMockPtr.get());
testing::FLAGS_gmock_verbose = "error";
} }
void McuSupportTest::initTestCase() void McuSupportTest::initTestCase()
@@ -291,6 +293,18 @@ void McuSupportTest::initTestCase()
}); });
} }
void McuSupportTest::init()
{
qDebug() << __func__;
}
void McuSupportTest::cleanup()
{
QVERIFY(testing::Mock::VerifyAndClearExpectations(settingsMockPtr.get()));
QVERIFY(testing::Mock::VerifyAndClearExpectations(freeRtosPackage));
QVERIFY(testing::Mock::VerifyAndClearExpectations(sdkPackage));
}
void McuSupportTest::test_parseBasicInfoFromJson() void McuSupportTest::test_parseBasicInfoFromJson()
{ {
const auto description = Sdk::parseDescriptionJson(iar_nxp_1064_json); const auto description = Sdk::parseDescriptionJson(iar_nxp_1064_json);
@@ -304,8 +318,8 @@ void McuSupportTest::test_parseCmakeEntries()
const auto description{Sdk::parseDescriptionJson(iar_nxp_1064_json)}; const auto description{Sdk::parseDescriptionJson(iar_nxp_1064_json)};
QVERIFY(!description.freeRTOS.packages.isEmpty()); QVERIFY(!description.freeRTOS.packages.isEmpty());
auto &freeRtosPackage = description.freeRTOS.packages[0]; auto &freeRtos = description.freeRTOS.packages[0];
QCOMPARE(freeRtosPackage.envVar, nxp1064FreeRtosEnvVar); QCOMPARE(freeRtos.envVar, nxp1064FreeRtosEnvVar);
} }
void McuSupportTest::test_parseToolchainFromJSON_data() void McuSupportTest::test_parseToolchainFromJSON_data()
@@ -356,20 +370,6 @@ void McuSupportTest::test_parseToolchainFromJSON()
QCOMPARE(toolchainFilePackage.defaultPath.cleanPath().toUserOutput(), toolchainFile); QCOMPARE(toolchainFilePackage.defaultPath.cleanPath().toUserOutput(), toolchainFile);
} }
void McuSupportTest::test_addFreeRtosCmakeVarToKit()
{
McuKitManager::upgradeKitInPlace(&kit, &mcuTarget, sdkPackagePtr);
QVERIFY(kit.hasValue(EnvironmentKitAspect::id()));
QVERIFY(kit.isValid());
QVERIFY(!kit.allKeys().empty());
const auto &cmakeConfig{CMakeConfigurationKitAspect::configuration(&kit)};
QVERIFY(cmakeConfig.size() > 0);
QCOMPARE(cmakeConfig.valueOf(freeRtosCMakeVar),
FilePath::fromString(freeRtosPath).toString().toLocal8Bit());
}
void McuSupportTest::test_legacy_createIarToolchain() void McuSupportTest::test_legacy_createIarToolchain()
{ {
McuToolChainPackagePtr iarToolchainPackage = Sdk::createIarToolChainPackage(settingsMockPtr); McuToolChainPackagePtr iarToolchainPackage = Sdk::createIarToolChainPackage(settingsMockPtr);

View File

@@ -47,6 +47,8 @@ public:
private slots: private slots:
void initTestCase(); void initTestCase();
void init();
void cleanup();
void test_addNewKit(); void test_addNewKit();
void test_parseBasicInfoFromJson(); void test_parseBasicInfoFromJson();
@@ -66,7 +68,6 @@ private slots:
void test_createFreeRtosPackageWithCorrectSetting(); void test_createFreeRtosPackageWithCorrectSetting();
void test_createTargets(); void test_createTargets();
void test_createPackages(); void test_createPackages();
void test_addFreeRtosCmakeVarToKit();
void test_legacy_createIarToolchain(); void test_legacy_createIarToolchain();
void test_createIarToolchain(); void test_createIarToolchain();
void test_legacy_createDesktopGccToolchain(); void test_legacy_createDesktopGccToolchain();