Change version check behavior 50/269450/2
authorJunghyun Yeon <jungh.yeon@samsung.com>
Fri, 14 Jan 2022 08:29:00 +0000 (17:29 +0900)
committerJunghyun Yeon <jungh.yeon@samsung.com>
Fri, 14 Jan 2022 08:32:49 +0000 (17:32 +0900)
Now installer compares only 3 digits.

Change-Id: I79745eba335df2311a787947e29fe03e8ca2b11f
Signed-off-by: Junghyun Yeon <jungh.yeon@samsung.com>
src/manifest_parser/utils/version_number.cc
src/unit_tests/version_number_unittest.cc

index 580c86a0ec8934329a70dd8ec780e5d56e6ee1fb..1aca1dd2286f09733a73a8064f2c4d91b887b49f 100644 (file)
 
 #include "manifest_parser/utils/logging.h"
 
+namespace {
+
+constexpr int TIZEN_VERSION_DIGIT = 3;
+
+}  // namespace
+
 namespace ba = boost::algorithm;
 
 namespace utils {
@@ -46,10 +52,8 @@ bool VersionNumber::IsValid() const {
 int VersionNumber::Compare(const VersionNumber& other) const {
   std::vector<int> lhs_version = parts_;
   std::vector<int> rhs_version = other.parts_;
-  int size = (lhs_version.size() > rhs_version.size()) ?
-      lhs_version.size() : rhs_version.size();
-  lhs_version.resize(size);
-  rhs_version.resize(size);
+  lhs_version.resize(TIZEN_VERSION_DIGIT);
+  rhs_version.resize(TIZEN_VERSION_DIGIT);
   size_t i = 0;
 
   while (true) {
index 432f60e966d2bb28974473273b7473b873564dfd..4f8eb8a634b9d0e5999ee146ba72469f9827bc77 100644 (file)
@@ -102,6 +102,7 @@ TEST(VersionNumber_IsValidTizenPackageVersion, Basic) {
   ASSERT_TRUE(VersionNumber("1").IsValidTizenPackageVersion());
   ASSERT_TRUE(VersionNumber("1.2").IsValidTizenPackageVersion());
   ASSERT_TRUE(VersionNumber("1.2.3").IsValidTizenPackageVersion());
+  ASSERT_FALSE(VersionNumber("1.2.3.4").IsValidTizenPackageVersion());
   ASSERT_FALSE(VersionNumber("256.1").IsValidTizenPackageVersion());
   ASSERT_FALSE(VersionNumber("32.256.1").IsValidTizenPackageVersion());
   ASSERT_FALSE(VersionNumber("2.1.100000").IsValidTizenPackageVersion());