forked from qt-creator/qt-creator
McuSupport: Show toolchain packages in UI
For new implementation toolchain packages must be added to rest of traget's packages to be visible in UI. Change-Id: I6804a114e05caac1d864ceffb378f3f61481c433 Reviewed-by: Dawid Śliwa <dawid.sliwa@qt.io> Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
This commit is contained in:
@@ -82,12 +82,15 @@ QPair<Targets, Packages> McuTargetFactory::createTargets(const McuTargetDescript
|
|||||||
if (!toolchain || !toolchainFile)
|
if (!toolchain || !toolchainFile)
|
||||||
continue;
|
continue;
|
||||||
Packages targetPackages = createPackages(desc);
|
Packages targetPackages = createPackages(desc);
|
||||||
|
McuToolChainPackagePtr toolchainPtr{toolchain};
|
||||||
|
targetPackages.insert({toolchainPtr});
|
||||||
|
targetPackages.unite({toolchainFile});
|
||||||
packages.unite(targetPackages);
|
packages.unite(targetPackages);
|
||||||
mcuTargets.append(McuTargetPtr{new McuTarget{QVersionNumber::fromString(desc.qulVersion),
|
mcuTargets.append(McuTargetPtr{new McuTarget{QVersionNumber::fromString(desc.qulVersion),
|
||||||
platform,
|
platform,
|
||||||
deduceOperatingSystem(desc),
|
deduceOperatingSystem(desc),
|
||||||
targetPackages,
|
targetPackages,
|
||||||
McuToolChainPackagePtr{toolchain},
|
toolchainPtr,
|
||||||
toolchainFile,
|
toolchainFile,
|
||||||
colorDepth}});
|
colorDepth}});
|
||||||
}
|
}
|
||||||
|
@@ -233,6 +233,16 @@ void verifyBoardSdk(const McuPackagePtr &boardSdk,
|
|||||||
|
|
||||||
McuSupportTest::McuSupportTest()
|
McuSupportTest::McuSupportTest()
|
||||||
: targetFactory{settingsMockPtr}
|
: targetFactory{settingsMockPtr}
|
||||||
|
, compilerDescription{armGccLabel, armGccEnvVar, Constants::TOOLCHAIN_DIR_CMAKE_VARIABLE, armGccLabel, armGccDirectorySetting, {}, {}, {}, false}
|
||||||
|
, toochainFileDescription{armGccLabel, armGccEnvVar, Constants::TOOLCHAIN_FILE_CMAKE_VARIABLE, armGccLabel, armGccDirectorySetting, {}, {}, {}, false}
|
||||||
|
, targetDescription {
|
||||||
|
"2.0.1",
|
||||||
|
"2",
|
||||||
|
platformDescription,
|
||||||
|
Sdk::McuTargetDescription::Toolchain{armGcc, {}, compilerDescription, toochainFileDescription},
|
||||||
|
Sdk::PackageDescription{},
|
||||||
|
Sdk::McuTargetDescription::FreeRTOS{},
|
||||||
|
}
|
||||||
, toolchainPackagePtr{new McuToolChainPackage{
|
, toolchainPackagePtr{new McuToolChainPackage{
|
||||||
settingsMockPtr,
|
settingsMockPtr,
|
||||||
{}, // label
|
{}, // label
|
||||||
@@ -274,15 +284,6 @@ McuSupportTest::McuSupportTest()
|
|||||||
|
|
||||||
void McuSupportTest::initTestCase()
|
void McuSupportTest::initTestCase()
|
||||||
{
|
{
|
||||||
targetDescription = Sdk::McuTargetDescription{
|
|
||||||
"2.0.1",
|
|
||||||
"2",
|
|
||||||
platformDescription,
|
|
||||||
Sdk::McuTargetDescription::Toolchain{},
|
|
||||||
Sdk::PackageDescription{},
|
|
||||||
Sdk::McuTargetDescription::FreeRTOS{},
|
|
||||||
};
|
|
||||||
|
|
||||||
EXPECT_CALL(*freeRtosPackage, environmentVariableName())
|
EXPECT_CALL(*freeRtosPackage, environmentVariableName())
|
||||||
.WillRepeatedly(Return(QString{freeRtosEnvVar}));
|
.WillRepeatedly(Return(QString{freeRtosEnvVar}));
|
||||||
EXPECT_CALL(*freeRtosPackage, cmakeVariableName())
|
EXPECT_CALL(*freeRtosPackage, cmakeVariableName())
|
||||||
@@ -573,16 +574,41 @@ void McuSupportTest::test_createTargets()
|
|||||||
targetDescription.toolchain.id = armGcc;
|
targetDescription.toolchain.id = armGcc;
|
||||||
|
|
||||||
const auto [targets, packages]{targetFactory.createTargets(targetDescription, qtForMcuSdkPath)};
|
const auto [targets, packages]{targetFactory.createTargets(targetDescription, qtForMcuSdkPath)};
|
||||||
QVERIFY(!targets.empty());
|
QCOMPARE(targets.size(), 1);
|
||||||
const McuTargetPtr target{targets.at(0)};
|
const McuTargetPtr target{targets.at(0)};
|
||||||
QCOMPARE(target->colorDepth(), colorDepth);
|
|
||||||
const auto &tgtPackages{target->packages()};
|
|
||||||
QVERIFY(!tgtPackages.empty());
|
|
||||||
|
|
||||||
|
QCOMPARE(target->colorDepth(), colorDepth);
|
||||||
|
|
||||||
|
const auto &tgtPackages{target->packages()};
|
||||||
|
QCOMPARE(tgtPackages.size(), 4);
|
||||||
|
|
||||||
|
// target should contain freertos package
|
||||||
QVERIFY(anyOf(tgtPackages, [](const McuPackagePtr &pkg) {
|
QVERIFY(anyOf(tgtPackages, [](const McuPackagePtr &pkg) {
|
||||||
return (pkg->environmentVariableName() == nxp1064FreeRtosEnvVar
|
return (pkg->environmentVariableName() == nxp1064FreeRtosEnvVar
|
||||||
&& pkg->cmakeVariableName() == freeRtosCMakeVar && pkg->label() == id);
|
&& pkg->cmakeVariableName() == freeRtosCMakeVar && pkg->label() == id);
|
||||||
}));
|
}));
|
||||||
|
|
||||||
|
// all packages should contain target's tooclhain compiler package.
|
||||||
|
QVERIFY(anyOf(packages, [](const McuPackagePtr &pkg) {
|
||||||
|
return (pkg->cmakeVariableName() == Constants::TOOLCHAIN_DIR_CMAKE_VARIABLE);
|
||||||
|
}));
|
||||||
|
|
||||||
|
// target should contain tooclhain copmiler package.
|
||||||
|
QVERIFY(anyOf(tgtPackages, [](const McuPackagePtr &pkg) {
|
||||||
|
return (pkg->cmakeVariableName()
|
||||||
|
== Constants::TOOLCHAIN_DIR_CMAKE_VARIABLE /*and pkg->disconnect*/);
|
||||||
|
}));
|
||||||
|
|
||||||
|
// all packages should contain target's tooclhain file package.
|
||||||
|
QVERIFY(anyOf(packages, [](const McuPackagePtr &pkg) {
|
||||||
|
return (pkg->cmakeVariableName() == Constants::TOOLCHAIN_FILE_CMAKE_VARIABLE);
|
||||||
|
}));
|
||||||
|
|
||||||
|
// target should contain tooclhain file package.
|
||||||
|
QVERIFY(anyOf(tgtPackages, [](const McuPackagePtr &pkg) {
|
||||||
|
return (pkg->cmakeVariableName()
|
||||||
|
== Constants::TOOLCHAIN_FILE_CMAKE_VARIABLE /*and pkg->disconnect*/);
|
||||||
|
}));
|
||||||
}
|
}
|
||||||
|
|
||||||
void McuSupportTest::test_createPackages()
|
void McuSupportTest::test_createPackages()
|
||||||
|
@@ -102,6 +102,8 @@ private:
|
|||||||
|
|
||||||
QSharedPointer<SettingsHandlerMock> settingsMockPtr{new SettingsHandlerMock};
|
QSharedPointer<SettingsHandlerMock> settingsMockPtr{new SettingsHandlerMock};
|
||||||
McuTargetFactory targetFactory;
|
McuTargetFactory targetFactory;
|
||||||
|
Sdk::PackageDescription compilerDescription;
|
||||||
|
Sdk::PackageDescription toochainFileDescription;
|
||||||
Sdk::McuTargetDescription targetDescription;
|
Sdk::McuTargetDescription targetDescription;
|
||||||
McuToolChainPackagePtr toolchainPackagePtr;
|
McuToolChainPackagePtr toolchainPackagePtr;
|
||||||
McuToolChainPackagePtr armGccToolchainPackagePtr;
|
McuToolChainPackagePtr armGccToolchainPackagePtr;
|
||||||
|
Reference in New Issue
Block a user