From d4c582d2277933b3f22205fbd53fda5e97f46228 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Piotr=20Mu=C4=87ko?= Date: Fri, 29 Apr 2022 11:46:32 +0200 Subject: [PATCH] McuSupport: Test package fallback/default path Change-Id: I26107fc28fd4d82a550953a38649a19e43563b47 Reviewed-by: Alessandro Portale Reviewed-by: --- src/plugins/mcusupport/test/unittest.cpp | 43 ++++++++++++++++++++++++ src/plugins/mcusupport/test/unittest.h | 2 ++ 2 files changed, 45 insertions(+) diff --git a/src/plugins/mcusupport/test/unittest.cpp b/src/plugins/mcusupport/test/unittest.cpp index 3dd8a9bd86f..534abf3e18f 100644 --- a/src/plugins/mcusupport/test/unittest.cpp +++ b/src/plugins/mcusupport/test/unittest.cpp @@ -602,6 +602,49 @@ void McuSupportTest::test_twoDotOneUsesLegacyImplementation() QCOMPARE(McuSupportOptions::isLegacyVersion({2, 2, 0}), false); QCOMPARE(McuSupportOptions::isLegacyVersion({2, 2, 1}), false); } +void McuSupportTest::test_useFallbackPathForToolchainWhenPathFromSettingsIsNotAvailable() +{ + Sdk::PackageDescription compilerDescription{armGcc, + armGccEnvVar, + Constants::TOOLCHAIN_DIR_CMAKE_VARIABLE, + armGcc, + armGccDirectorySetting, + fallbackDir, + {}, + {}, + false}; + Sdk::McuTargetDescription::Toolchain toolchainDescription{armGcc, {}, compilerDescription, {}}; + + EXPECT_CALL(*settingsMockPtr, getPath(QString{armGccDirectorySetting}, _, FilePath{fallbackDir})) + .Times(2) + .WillRepeatedly(Return(FilePath{fallbackDir})); + + McuToolChainPackage *toolchain = targetFactory.createToolchain(toolchainDescription); + + QCOMPARE(toolchain->path().toString(), fallbackDir); +} + +void McuSupportTest::test_usePathFromSettingsForToolchainPath() +{ + Sdk::PackageDescription compilerDescription{{}, + armGccEnvVar, + Constants::TOOLCHAIN_DIR_CMAKE_VARIABLE, + armGcc, + armGccDirectorySetting, + empty, + {}, + {}, + false}; + Sdk::McuTargetDescription::Toolchain toolchainDescription{armGcc, {}, compilerDescription, {}}; + + EXPECT_CALL(*settingsMockPtr, getPath(QString{armGccDirectorySetting}, _, FilePath{empty})) + .Times(2) + .WillOnce(Return(FilePath{empty})) // system scope settings + .WillOnce(Return(FilePath{armGccDir})); // user scope settings + + McuToolChainPackage *toolchain = targetFactory.createToolchain(toolchainDescription); + QCOMPARE(toolchain->path().toString(), armGccDir); +} void McuSupportTest::test_addNewKit() { diff --git a/src/plugins/mcusupport/test/unittest.h b/src/plugins/mcusupport/test/unittest.h index f0af8ca1d85..a9310f87107 100644 --- a/src/plugins/mcusupport/test/unittest.h +++ b/src/plugins/mcusupport/test/unittest.h @@ -78,6 +78,8 @@ private slots: void test_createArmGccToolchain(); void test_removeRtosSuffixFromEnvironmentVariable_data(); void test_removeRtosSuffixFromEnvironmentVariable(); + void test_useFallbackPathForToolchainWhenPathFromSettingsIsNotAvailable(); + void test_usePathFromSettingsForToolchainPath(); void test_twoDotOneUsesLegacyImplementation(); void test_addToolchainFileInfoToKit();