McuSupport: Fix tests and non legacy code for desktop kits

Post merge updates for the "Add toolchain information for desktop kits"
task.

Task-number: QTCREATORBUG-26750
Change-Id: Idd230589650f88d921f5f97c2bbecabac4784584
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Piotr Mućko <piotr.mucko@qt.io>
Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
Yasser Grimes
2022-07-27 17:29:22 +03:00
committed by Piotr Mućko
parent fee3a1dc78
commit a8e1ab9c56
6 changed files with 121 additions and 12 deletions

View File

@@ -30,6 +30,7 @@
#include "armgcc_stm32f769i_freertos_json.h"
#include "armgcc_stm32h750b_metal_json.h"
#include "gcc_desktop_json.h"
#include "msvc_desktop_json.h"
#include "ghs_rh850_d1m1a_baremetal_json.h"
#include "iar_nxp_1064_json.h"
#include "iar_stm32f469i_metal_json.h"
@@ -81,6 +82,7 @@ const char armGccSuffix[]{"bin/arm-none-eabi-g++"};
const char armGccToolchainFilePath[]{"/opt/qtformcu/2.2/lib/cmake/Qul/toolchain/armgcc.cmake"};
const char armGccVersion[]{"9.3.1"};
const char armGccNewVersion[]{"10.3.1"};
const char msvcVersion[] {"14.29"};
const QStringList boardSdkVersions{{"2.11.0"}};
const char cmakeToolchainLabel[]{"CMake Toolchain File"};
const char fallbackDir[]{"/abc/def/fallback"};
@@ -203,9 +205,20 @@ void verifyGccToolchain(const McuToolChainPackagePtr &gccPackage, const QStringL
QCOMPARE(gccPackage->cmakeVariableName(), "");
QCOMPARE(gccPackage->environmentVariableName(), "");
QCOMPARE(gccPackage->isDesktopToolchain(), true);
QCOMPARE(gccPackage->toolChainName(), unsupported);
QCOMPARE(gccPackage->toolChainName(), "gcc");
QCOMPARE(gccPackage->toolchainType(), McuToolChainPackage::ToolChainType::GCC);
QCOMPARE(gccPackage->versions(), versions);
QVERIFY(allOf(versions, [&](const QString &v){ return gccPackage->versions().contains(v);}));
}
void verifyMsvcToolchain(const McuToolChainPackagePtr &msvcPackage, const QStringList &versions)
{
QVERIFY(msvcPackage != nullptr);
QCOMPARE(msvcPackage->cmakeVariableName(), "");
QCOMPARE(msvcPackage->environmentVariableName(), "");
QCOMPARE(msvcPackage->toolchainType(), McuToolChainPackage::ToolChainType::MSVC);
QCOMPARE(msvcPackage->isDesktopToolchain(), true);
QCOMPARE(msvcPackage->toolChainName(), "msvc");
QVERIFY(allOf(versions, [&](const QString &v){ return msvcPackage->versions().contains(v);}));
}
void verifyTargetToolchains(const Targets &targets,
@@ -441,6 +454,20 @@ void McuSupportTest::test_createDesktopGccToolchain()
verifyGccToolchain(gccPackage, {});
}
void McuSupportTest::test_legacy_createDesktopMsvcToolchain()
{
McuToolChainPackagePtr msvcPackage = Legacy::createMsvcToolChainPackage(settingsMockPtr,
{msvcVersion});
verifyMsvcToolchain(msvcPackage, {msvcVersion});
}
void McuSupportTest::test_createDesktopMsvcToolchain()
{
const auto description = parseDescriptionJson(msvc_desktop_json);
McuToolChainPackagePtr msvcPackage{targetFactory.createToolchain(description.toolchain)};
verifyMsvcToolchain(msvcPackage, {});
}
void McuSupportTest::test_verifyManuallyCreatedArmGccToolchain()
{
verifyArmGccToolchain(armGccToolchainPackagePtr, {armGccVersion});