feat(firmware): add OTA updater library skeleton with version comparison
Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
44
firmware/test/test_ota/test_version.cpp
Normal file
44
firmware/test/test_ota/test_version.cpp
Normal file
@@ -0,0 +1,44 @@
|
||||
// firmware/test/test_ota/test_version.cpp
|
||||
#include <unity.h>
|
||||
|
||||
// Pull in the function under test — include .cpp directly for native builds
|
||||
// so we don't need a separate compilation unit per test.
|
||||
#define NATIVE_TEST
|
||||
#include "../../lib/ota_updater/ota_updater.cpp"
|
||||
|
||||
void setUp() {}
|
||||
void tearDown() {}
|
||||
|
||||
void test_remote_newer_patch() {
|
||||
TEST_ASSERT_TRUE(ota_version_newer("1.0.0", "1.0.1"));
|
||||
}
|
||||
void test_remote_newer_minor() {
|
||||
TEST_ASSERT_TRUE(ota_version_newer("1.0.9", "1.1.0"));
|
||||
}
|
||||
void test_remote_newer_major() {
|
||||
TEST_ASSERT_TRUE(ota_version_newer("0.9.9", "1.0.0"));
|
||||
}
|
||||
void test_same_version() {
|
||||
TEST_ASSERT_FALSE(ota_version_newer("1.2.3", "1.2.3"));
|
||||
}
|
||||
void test_remote_older() {
|
||||
TEST_ASSERT_FALSE(ota_version_newer("1.2.3", "1.2.2"));
|
||||
}
|
||||
void test_malformed_current() {
|
||||
TEST_ASSERT_FALSE(ota_version_newer("bad", "1.0.0"));
|
||||
}
|
||||
void test_malformed_remote() {
|
||||
TEST_ASSERT_FALSE(ota_version_newer("1.0.0", "bad"));
|
||||
}
|
||||
|
||||
int main() {
|
||||
UNITY_BEGIN();
|
||||
RUN_TEST(test_remote_newer_patch);
|
||||
RUN_TEST(test_remote_newer_minor);
|
||||
RUN_TEST(test_remote_newer_major);
|
||||
RUN_TEST(test_same_version);
|
||||
RUN_TEST(test_remote_older);
|
||||
RUN_TEST(test_malformed_current);
|
||||
RUN_TEST(test_malformed_remote);
|
||||
return UNITY_END();
|
||||
}
|
||||
Reference in New Issue
Block a user