diff --git a/libs/FirmwareKit/include/FirmwareKit.h b/libs/FirmwareKit/include/FirmwareKit.h index 9b59b2e178..e1f3032308 100644 --- a/libs/FirmwareKit/include/FirmwareKit.h +++ b/libs/FirmwareKit/include/FirmwareKit.h @@ -15,6 +15,8 @@ namespace leka { class FirmwareKit : public interface::FirmwareUpdate { + static constexpr auto os_version_path = "/fs/sys/os-version"; + public: explicit FirmwareKit(interface::FlashMemory &flash, const char *format = "/fs/usr/os/LekaOS-%i.%i.%i.bin") : _flash(flash), _path_format(format) @@ -23,12 +25,12 @@ class FirmwareKit : public interface::FirmwareUpdate } auto getCurrentVersion() -> leka::FirmwareVersion final; - auto getCurrentVersionFromFile(const std::filesystem::path &os_version_path = std::filesystem::path { - "/fs/sys/os-version"}) -> leka::FirmwareVersion; auto loadUpdate(const leka::FirmwareVersion &version) -> bool final; private: + auto getCurrentVersionFromFile() -> leka::FirmwareVersion; + auto loadUpdate(const char *path) -> bool; interface::FlashMemory &_flash; diff --git a/libs/FirmwareKit/source/FirmwareKit.cpp b/libs/FirmwareKit/source/FirmwareKit.cpp index f7bf8f2096..31ffdc266e 100644 --- a/libs/FirmwareKit/source/FirmwareKit.cpp +++ b/libs/FirmwareKit/source/FirmwareKit.cpp @@ -13,7 +13,7 @@ auto FirmwareKit::getCurrentVersion() -> FirmwareVersion return getCurrentVersionFromFile(); } -auto FirmwareKit::getCurrentVersionFromFile(const std::filesystem::path &os_version_path) -> FirmwareVersion +auto FirmwareKit::getCurrentVersionFromFile() -> FirmwareVersion { auto file_content = std::array {}; diff --git a/libs/FirmwareKit/tests/FirmwareKit_test.cpp b/libs/FirmwareKit/tests/FirmwareKit_test.cpp index d1c5918a99..0cd3ec3ee7 100644 --- a/libs/FirmwareKit/tests/FirmwareKit_test.cpp +++ b/libs/FirmwareKit/tests/FirmwareKit_test.cpp @@ -27,19 +27,11 @@ class FirmwareKitTest : public ::testing::Test update.write(content.data(), std::size(content)); update.close(); } - void TearDown() override - { - std::remove(os_version_path.c_str()); - std::remove("/tmp/update-v1.2.3"); - } + void TearDown() override { std::remove("/tmp/update-v1.2.3"); } mock::FlashMemory mock_flash; FirmwareKit firmwarekit; - FirmwareVersion default_current_version = FirmwareVersion {1, 0, 0}; - - std::filesystem::path os_version_path {"/tmp/os-version"}; - std::array content = {0x61, 0x62, 0x63, 0x64, 0x65, 0x66}; // "abcdef" }; @@ -59,48 +51,6 @@ TEST_F(FirmwareKitTest, instantiation) ASSERT_NE(&firmwarekit, nullptr); } -TEST_F(FirmwareKitTest, getCurrentVersionFromFile) -{ - auto expected_version = FirmwareVersion { - .major = 1, - .minor = 23, - .revision = 255, - }; - std::string os_version_content = "1.23.255\n"; - - std::ofstream os_version {os_version_path.c_str()}; - os_version.write(os_version_content.data(), std::size(os_version_content)); - os_version.close(); - - auto actual_version = firmwarekit.getCurrentVersionFromFile(os_version_path); - - EXPECT_EQ(actual_version.major, expected_version.major); - EXPECT_EQ(actual_version.minor, expected_version.minor); - EXPECT_EQ(actual_version.revision, expected_version.revision); -} - -TEST_F(FirmwareKitTest, getCurrentVersionFromFileDefaultPath) -{ - // This test will output default firmware version since it uses default path in /fs and this cannot be opened in UT - - auto actual_version = firmwarekit.getCurrentVersionFromFile(); - - EXPECT_EQ(actual_version.major, default_current_version.major); - EXPECT_EQ(actual_version.minor, default_current_version.minor); - EXPECT_EQ(actual_version.revision, default_current_version.revision); -} - -TEST_F(FirmwareKitTest, getCurrentVersionDefault) -{ - // This test will output default firmware version since it uses getCurrentVersionFromFile with default path - - auto actual_version = firmwarekit.getCurrentVersion(); - - EXPECT_EQ(actual_version.major, default_current_version.major); - EXPECT_EQ(actual_version.minor, default_current_version.minor); - EXPECT_EQ(actual_version.revision, default_current_version.revision); -} - TEST_F(FirmwareKitTest, loadUpdate) { auto version = FirmwareVersion {.major = 1, .minor = 2, .revision = 3};