From f401d51a66bf655cd677ae0b232ae5588b683f11 Mon Sep 17 00:00:00 2001 From: Christian Stenger Date: Mon, 23 Oct 2023 10:24:34 +0200 Subject: [PATCH] McuSupport: Fix dependencies and tests There is nowadays a hard dependency on QmlJSTools as there is need to access its QmlJSModelManager. Beside this adapt the tests to reflect the Key / QString changes happened inside the settings to avoid crashing the tests. Change-Id: I71cd0457e5f567da28cc089b514655418bd60b7d Reviewed-by: Yasser Grimes Reviewed-by: Alessandro Portale --- src/plugins/mcusupport/CMakeLists.txt | 2 +- src/plugins/mcusupport/mcusupport.qbs | 1 + src/plugins/mcusupport/test/unittest.cpp | 67 ++++++++++++------------ 3 files changed, 36 insertions(+), 34 deletions(-) diff --git a/src/plugins/mcusupport/CMakeLists.txt b/src/plugins/mcusupport/CMakeLists.txt index f52c31b82ab..aa8b4f2bf1b 100644 --- a/src/plugins/mcusupport/CMakeLists.txt +++ b/src/plugins/mcusupport/CMakeLists.txt @@ -1,6 +1,6 @@ add_qtc_plugin(McuSupport DEPENDS Qt::Core QmlJS - PLUGIN_DEPENDS Core BareMetal ProjectExplorer Debugger CMakeProjectManager QtSupport + PLUGIN_DEPENDS Core BareMetal ProjectExplorer Debugger CMakeProjectManager QmlJSTools QtSupport SOURCES mcukitaspect.cpp mcukitaspect.h mcusupport.qrc diff --git a/src/plugins/mcusupport/mcusupport.qbs b/src/plugins/mcusupport/mcusupport.qbs index b14c6a90a23..e944ba5ce97 100644 --- a/src/plugins/mcusupport/mcusupport.qbs +++ b/src/plugins/mcusupport/mcusupport.qbs @@ -14,6 +14,7 @@ QtcPlugin { Depends { name: "Debugger" } Depends { name: "CMakeProjectManager" } Depends { name: "QmlJS" } + Depends { name: "QmlJSTools" } Depends { name: "QtSupport" } Depends { name: "qtc_gtest_gmock"; condition: qtc.withPluginTests; required: false } diff --git a/src/plugins/mcusupport/test/unittest.cpp b/src/plugins/mcusupport/test/unittest.cpp index 5692ceee751..13ed66f8035 100644 --- a/src/plugins/mcusupport/test/unittest.cpp +++ b/src/plugins/mcusupport/test/unittest.cpp @@ -954,34 +954,34 @@ void McuSupportTest::test_legacy_createTargetWithToolchainPackages_data() QTest::newRow("armgcc_mimxrt1050_evk_freertos_json") << armgcc_mimxrt1050_evk_freertos_json << armGccToolchainFilePath - << armGccToolchainFileUnexpandedPath << armGccDir << armGccDirectorySetting + << armGccToolchainFileUnexpandedPath << armGccDir << keyFromString(armGccDirectorySetting) << QStringList{armGccVersion}; QTest::newRow("armgcc_mimxrt1064_evk_freertos_json") << armgcc_mimxrt1064_evk_freertos_json << armGccToolchainFilePath - << armGccToolchainFileUnexpandedPath << armGccDir << armGccDirectorySetting + << armGccToolchainFileUnexpandedPath << armGccDir << keyFromString(armGccDirectorySetting) << QStringList{armGccVersion}; QTest::newRow("armgcc_mimxrt1170_evk_freertos_json") << armgcc_mimxrt1170_evk_freertos_json << armGccToolchainFilePath - << armGccToolchainFileUnexpandedPath << armGccDir << armGccDirectorySetting + << armGccToolchainFileUnexpandedPath << armGccDir << keyFromString(armGccDirectorySetting) << QStringList{armGccVersion}; QTest::newRow("armgcc_stm32h750b_discovery_baremetal_json") << armgcc_stm32h750b_discovery_baremetal_json << armGccToolchainFilePath - << armGccToolchainFileUnexpandedPath << armGccDir << armGccDirectorySetting + << armGccToolchainFileUnexpandedPath << armGccDir << keyFromString(armGccDirectorySetting) << QStringList{armGccVersion}; QTest::newRow("armgcc_stm32f769i_discovery_freertos_json") << armgcc_stm32f769i_discovery_freertos_json << armGccToolchainFilePath - << armGccToolchainFileUnexpandedPath << armGccDir << armGccDirectorySetting + << armGccToolchainFileUnexpandedPath << armGccDir << keyFromString(armGccDirectorySetting) << QStringList{armGccVersion}; QTest::newRow("iar_stm32f469i_discovery_baremetal_json") << iar_stm32f469i_discovery_baremetal_json << iarToolchainFilePath - << iarToolchainFileUnexpandedPath << iarDir << iarSetting << iarVersions; + << iarToolchainFileUnexpandedPath << iarDir << keyFromString(iarSetting) << iarVersions; QTest::newRow("iar_mimxrt1064_evk_freertos_json") << iar_mimxrt1064_evk_freertos_json << iarToolchainFilePath - << iarToolchainFileUnexpandedPath << iarDir << iarSetting << iarVersions; + << iarToolchainFileUnexpandedPath << iarDir << keyFromString(iarSetting) << iarVersions; QTest::newRow("ghs_rh850_d1m1a_baremetal_json") << ghs_rh850_d1m1a_baremetal_json << greenhillToolchainFilePath - << greenhillToolchainFileUnexpandedPath << greenhillCompilerDir << greenhillSetting - << greenhillVersions; + << greenhillToolchainFileUnexpandedPath << greenhillCompilerDir + << keyFromString(greenhillSetting) << greenhillVersions; } void McuSupportTest::test_legacy_createTargetWithToolchainPackages() @@ -1145,22 +1145,22 @@ void McuSupportTest::test_legacy_createFreeRtosPackage_data() QTest::newRow("armgcc_mimxrt1050_evk_freertos_json") << armgcc_mimxrt1050_evk_freertos_json << QStringList{boardSdkVersion} - << QString{Legacy::Constants::SETTINGS_KEY_FREERTOS_PREFIX}.append(nxp1050) + << keyFromString(QString{Legacy::Constants::SETTINGS_KEY_FREERTOS_PREFIX}.append(nxp1050)) << FilePath::fromUserInput(boardSdkDir) / freeRtosNxpPathSuffix << FilePath::fromUserInput(freeRtosDetectionPath); QTest::newRow("armgcc_mimxrt1064_evk_freertos_json") << armgcc_mimxrt1064_evk_freertos_json << QStringList{boardSdkVersion} - << QString{Legacy::Constants::SETTINGS_KEY_FREERTOS_PREFIX}.append(nxp1064) + << keyFromString(QString{Legacy::Constants::SETTINGS_KEY_FREERTOS_PREFIX}.append(nxp1064)) << FilePath::fromUserInput(boardSdkDir) / freeRtosNxpPathSuffix << FilePath::fromUserInput(freeRtosDetectionPath); QTest::newRow("iar_mimxrt1064_evk_freertos_json") << iar_mimxrt1064_evk_freertos_json << QStringList{boardSdkVersion} - << QString{Legacy::Constants::SETTINGS_KEY_FREERTOS_PREFIX}.append(nxp1064) + << keyFromString(QString{Legacy::Constants::SETTINGS_KEY_FREERTOS_PREFIX}.append(nxp1064)) << FilePath::fromUserInput(boardSdkDir) / freeRtosNxpPathSuffix << FilePath::fromUserInput(freeRtosDetectionPath); QTest::newRow("armgcc_stm32f769i_discovery_freertos_json") << armgcc_stm32f769i_discovery_freertos_json << QStringList{"1.16.0"} - << QString{Legacy::Constants::SETTINGS_KEY_FREERTOS_PREFIX}.append(stm32f7) + << keyFromString(QString{Legacy::Constants::SETTINGS_KEY_FREERTOS_PREFIX}.append(stm32f7)) << FilePath::fromUserInput(boardSdkDir) / freeRtosStmPathSuffix << FilePath::fromUserInput(freeRtosDetectionPath); } @@ -1495,7 +1495,7 @@ void McuSupportTest::test_legacy_createThirdPartyPackage_data() QTest::addColumn("json"); QTest::addColumn("path"); QTest::addColumn("defaultPath"); - QTest::addColumn("setting"); + QTest::addColumn("setting"); QTest::addColumn("cmakeVar"); QTest::addColumn("envVar"); QTest::addColumn("label"); @@ -1504,42 +1504,42 @@ void McuSupportTest::test_legacy_createThirdPartyPackage_data() QTest::newRow("armgcc_mimxrt1050_evk_freertos_json mcuXpresso") << PackageCreator{[this]() { return Legacy::createMcuXpressoIdePackage(settingsMockPtr); }} << armgcc_mimxrt1050_evk_freertos_json << xpressoIdePath << xpressoIdePath - << xpressoIdeSetting << xpressoIdeCmakeVar << xpressoIdeEnvVar << xpressoIdeLabel + << keyFromString(xpressoIdeSetting) << xpressoIdeCmakeVar << xpressoIdeEnvVar << xpressoIdeLabel << xpressoIdeDetectionPath; QTest::newRow("armgcc_mimxrt1064_evk_freertos_json mcuXpresso") << PackageCreator{[this]() { return Legacy::createMcuXpressoIdePackage(settingsMockPtr); }} << armgcc_mimxrt1064_evk_freertos_json << xpressoIdePath << xpressoIdePath - << xpressoIdeSetting << xpressoIdeCmakeVar << xpressoIdeEnvVar << xpressoIdeLabel - << xpressoIdeDetectionPath; + << keyFromString(xpressoIdeSetting) << xpressoIdeCmakeVar << xpressoIdeEnvVar + << xpressoIdeLabel << xpressoIdeDetectionPath; QTest::newRow("armgcc_mimxrt1170_evk_freertos_json mcuXpresso") << PackageCreator{[this]() { return Legacy::createMcuXpressoIdePackage(settingsMockPtr); }} << armgcc_mimxrt1170_evk_freertos_json << xpressoIdePath << xpressoIdePath - << xpressoIdeSetting << xpressoIdeCmakeVar << xpressoIdeEnvVar << xpressoIdeLabel - << xpressoIdeDetectionPath; + << keyFromString(xpressoIdeSetting) << xpressoIdeCmakeVar << xpressoIdeEnvVar + << xpressoIdeLabel << xpressoIdeDetectionPath; QTest::newRow("armgcc_stm32h750b_discovery_baremetal_json stmCubeProgrammer") << PackageCreator{[this]() { return Legacy::createStm32CubeProgrammerPackage(settingsMockPtr); }} << armgcc_stm32h750b_discovery_baremetal_json << stmCubeProgrammerPath - << stmCubeProgrammerPath << stmCubeProgrammerSetting << empty << empty + << stmCubeProgrammerPath << keyFromString(stmCubeProgrammerSetting) << empty << empty << stmCubeProgrammerLabel << stmCubeProgrammerDetectionPath; QTest::newRow("armgcc_stm32f769i_discovery_freertos_json stmCubeProgrammer") << PackageCreator{[this]() { return Legacy::createStm32CubeProgrammerPackage(settingsMockPtr); }} << armgcc_stm32f769i_discovery_freertos_json << stmCubeProgrammerPath - << stmCubeProgrammerPath << stmCubeProgrammerSetting << empty << empty + << stmCubeProgrammerPath << keyFromString(stmCubeProgrammerSetting) << empty << empty << stmCubeProgrammerLabel << stmCubeProgrammerDetectionPath; QTest::newRow("ghs_rh850_d1m1a_baremetal_json renesasProgrammer") << PackageCreator{[this]() { return Legacy::createRenesasProgrammerPackage(settingsMockPtr); }} - << ghs_rh850_d1m1a_baremetal_json << empty << empty << renesasProgrammerSetting - << renesasProgrammerCmakeVar << renesasProgrammerEnvVar << renesasProgrammerLabel - << renesasProgrammerDetectionPath; + << ghs_rh850_d1m1a_baremetal_json << empty << empty + << keyFromString(renesasProgrammerSetting) << renesasProgrammerCmakeVar + << renesasProgrammerEnvVar << renesasProgrammerLabel << renesasProgrammerDetectionPath; } void McuSupportTest::test_legacy_createThirdPartyPackage() @@ -1592,33 +1592,34 @@ void McuSupportTest::test_createThirdPartyPackage_data() QTest::newRow("armgcc_mimxrt1050_evk_freertos_json mcuXpresso") << armgcc_mimxrt1050_evk_freertos_json << xpressoIdePath << xpressoIdePath - << xpressoIdeSetting << xpressoIdeCmakeVar << xpressoIdeEnvVar << xpressoIdeLabel - << xpressoIdeDetectionPath; + << keyFromString(xpressoIdeSetting) << xpressoIdeCmakeVar << xpressoIdeEnvVar + << xpressoIdeLabel << xpressoIdeDetectionPath; QTest::newRow("armgcc_mimxrt1064_evk_freertos_json mcuXpresso") << armgcc_mimxrt1064_evk_freertos_json << xpressoIdePath << xpressoIdePath - << xpressoIdeSetting << xpressoIdeCmakeVar << xpressoIdeEnvVar << xpressoIdeLabel - << xpressoIdeDetectionPath; + << keyFromString(xpressoIdeSetting) << xpressoIdeCmakeVar << xpressoIdeEnvVar + << xpressoIdeLabel << xpressoIdeDetectionPath; QTest::newRow("armgcc_mimxrt1170_evk_freertos_json mcuXpresso") << armgcc_mimxrt1170_evk_freertos_json << xpressoIdePath << xpressoIdePath - << xpressoIdeSetting << xpressoIdeCmakeVar << xpressoIdeEnvVar << xpressoIdeLabel + << keyFromString(xpressoIdeSetting) << xpressoIdeCmakeVar << xpressoIdeEnvVar << xpressoIdeLabel << xpressoIdeDetectionPath; QTest::newRow("armgcc_stm32h750b_discovery_baremetal_json stmCubeProgrammer") << armgcc_stm32h750b_discovery_baremetal_json << stmCubeProgrammerPath - << stmCubeProgrammerPath << stmCubeProgrammerSetting << empty << empty + << stmCubeProgrammerPath << keyFromString(stmCubeProgrammerSetting) << empty << empty << stmCubeProgrammerLabel << stmCubeProgrammerDetectionPath; QTest::newRow("armgcc_stm32f769i_discovery_freertos_json stmCubeProgrammer") << armgcc_stm32f769i_discovery_freertos_json << stmCubeProgrammerPath - << stmCubeProgrammerPath << stmCubeProgrammerSetting << empty << empty + << stmCubeProgrammerPath << keyFromString(stmCubeProgrammerSetting) << empty << empty << stmCubeProgrammerLabel << stmCubeProgrammerDetectionPath; QTest::newRow("ghs_rh850_d1m1a_baremetal_json renesasProgrammer") << ghs_rh850_d1m1a_baremetal_json << renesasProgrammerDefaultPath << empty - << "FlashProgrammerPath" << renesasProgrammerCmakeVar << "RenesasFlashProgrammer_PATH" - << renesasProgrammerLabel << renesasProgrammerDetectionPath; + << keyFromString("FlashProgrammerPath") << renesasProgrammerCmakeVar + << "RenesasFlashProgrammer_PATH" << renesasProgrammerLabel + << renesasProgrammerDetectionPath; } void McuSupportTest::test_createThirdPartyPackage()