Fix Rw2RoUpgrader 89/267089/1
authorSangyoon Jang <jeremy.jang@samsung.com>
Thu, 25 Nov 2021 07:44:37 +0000 (16:44 +0900)
committerSangyoon Jang <jeremy.jang@samsung.com>
Thu, 25 Nov 2021 07:44:37 +0000 (16:44 +0900)
In case of RO-updated rw -> preload ro, ro package does not need to be
installed again(uninstalling RO-updated rw package installs preload ro package
again automatically), but In case of preload rw -> preload ro, ro package
should be installed by ManifestDirectInstall mode.

Change-Id: I1fcc5c4559d9c0cd7eb2da4fac92b3fb59447b54
Signed-off-by: Sangyoon Jang <jeremy.jang@samsung.com>
src/pkg_upgrade/src/rw2ro_upgrader.cc
tests/unit_tests/pkg_upgrade/src/test_pkg_upgrader.cc

index 59f1b84..3cd9911 100644 (file)
@@ -48,6 +48,11 @@ bool Rw2RoUpgrader::Upgrade() {
     return false;
   }
 
+  if (!new_pkg_->Upgrade()) {
+    LOG(ERROR) << "Upgrade operation of new RO package failed";
+    return false;
+  }
+
   return true;
 }
 
index 66248ea..941899f 100644 (file)
@@ -332,18 +332,20 @@ TEST_F(PkgUpgraderTest, Upgrader_RW2RO_HIGH_VERSION) {
 
   ASSERT_TRUE(upgrader.Process(&finder_));
 
-  EXPECT_EQ(cmds.size(), 6);
+  EXPECT_EQ(cmds.size(), 7);
   EXPECT_EQ(cmds[0], "/usr/bin/tpk-backend -d org.tizen.alarm "
       "--keep-rwdata");
-  EXPECT_EQ(cmds[1], "/usr/bin/unzip -oXqq /usr/system/RestoreDir/opt.zip "
-      "opt/share/packages/org.tizen.new_rw.xml -d /");
+  EXPECT_EQ(cmds[1], "/usr/bin/tpk-backend --preload "
+      "-y org.tizen.alarm --partial-rw --skip-check-reference");
   EXPECT_EQ(cmds[2], "/usr/bin/unzip -oXqq /usr/system/RestoreDir/opt.zip "
-      "opt/usr/globalapps/org.tizen.new_rw/* -d /");
+      "opt/share/packages/org.tizen.new_rw.xml -d /");
   EXPECT_EQ(cmds[3], "/usr/bin/unzip -oXqq /usr/system/RestoreDir/opt.zip "
+      "opt/usr/globalapps/org.tizen.new_rw/* -d /");
+  EXPECT_EQ(cmds[4], "/usr/bin/unzip -oXqq /usr/system/RestoreDir/opt.zip "
       "opt/etc/skel/apps_rw/org.tizen.new_rw/* -d /");
-  EXPECT_EQ(cmds[4], "/usr/bin/tpk-backend -y org.tizen.new_rw --preload-rw "
+  EXPECT_EQ(cmds[5], "/usr/bin/tpk-backend -y org.tizen.new_rw --preload-rw "
       "--skip-check-reference");
-  EXPECT_EQ(cmds[5], "/usr/bin/tpk-backend --preload -d org.tizen.test "
+  EXPECT_EQ(cmds[6], "/usr/bin/tpk-backend --preload -d org.tizen.test "
       "--force-remove --partial-rw");
 }
 
@@ -398,18 +400,20 @@ TEST_F(PkgUpgraderTest, Upgrader_RW2RO_SAME_VERSION) {
 
   ASSERT_TRUE(upgrader.Process(&finder_));
 
-  EXPECT_EQ(cmds.size(), 6);
+  EXPECT_EQ(cmds.size(), 7);
   EXPECT_EQ(cmds[0], "/usr/bin/tpk-backend -d org.tizen.alarm "
       "--keep-rwdata");
-  EXPECT_EQ(cmds[1], "/usr/bin/unzip -oXqq /usr/system/RestoreDir/opt.zip "
-      "opt/share/packages/org.tizen.new_rw.xml -d /");
+  EXPECT_EQ(cmds[1], "/usr/bin/tpk-backend --preload "
+      "-y org.tizen.alarm --partial-rw --skip-check-reference");
   EXPECT_EQ(cmds[2], "/usr/bin/unzip -oXqq /usr/system/RestoreDir/opt.zip "
-      "opt/usr/globalapps/org.tizen.new_rw/* -d /");
+      "opt/share/packages/org.tizen.new_rw.xml -d /");
   EXPECT_EQ(cmds[3], "/usr/bin/unzip -oXqq /usr/system/RestoreDir/opt.zip "
+      "opt/usr/globalapps/org.tizen.new_rw/* -d /");
+  EXPECT_EQ(cmds[4], "/usr/bin/unzip -oXqq /usr/system/RestoreDir/opt.zip "
       "opt/etc/skel/apps_rw/org.tizen.new_rw/* -d /");
-  EXPECT_EQ(cmds[4], "/usr/bin/tpk-backend -y org.tizen.new_rw --preload-rw "
+  EXPECT_EQ(cmds[5], "/usr/bin/tpk-backend -y org.tizen.new_rw --preload-rw "
       "--skip-check-reference");
-  EXPECT_EQ(cmds[5], "/usr/bin/tpk-backend --preload -d org.tizen.test "
+  EXPECT_EQ(cmds[6], "/usr/bin/tpk-backend --preload -d org.tizen.test "
       "--force-remove --partial-rw");
 }
 
@@ -432,18 +436,20 @@ TEST_F(PkgUpgraderTest, Upgrader_RO2RW_HIGH_VERSION) {
 
   ASSERT_TRUE(upgrader.Process(&finder_));
 
-  EXPECT_EQ(cmds.size(), 6);
+  EXPECT_EQ(cmds.size(), 7);
   EXPECT_EQ(cmds[0], "/usr/bin/tpk-backend -d org.tizen.alarm "
       "--keep-rwdata");
-  EXPECT_EQ(cmds[1], "/usr/bin/tpk-backend --preload -d org.tizen.new_rw "
+  EXPECT_EQ(cmds[1], "/usr/bin/tpk-backend --preload "
+      "-y org.tizen.alarm --partial-rw --skip-check-reference");
+  EXPECT_EQ(cmds[2], "/usr/bin/tpk-backend --preload -d org.tizen.new_rw "
       "--force-remove --keep-rwdata");
-  EXPECT_EQ(cmds[2], "/usr/bin/unzip -oXqq /usr/system/RestoreDir/opt.zip "
-      "opt/share/packages/org.tizen.new_rw.xml -d /");
   EXPECT_EQ(cmds[3], "/usr/bin/unzip -oXqq /usr/system/RestoreDir/opt.zip "
-      "opt/usr/globalapps/org.tizen.new_rw/* -d /");
+      "opt/share/packages/org.tizen.new_rw.xml -d /");
   EXPECT_EQ(cmds[4], "/usr/bin/unzip -oXqq /usr/system/RestoreDir/opt.zip "
+      "opt/usr/globalapps/org.tizen.new_rw/* -d /");
+  EXPECT_EQ(cmds[5], "/usr/bin/unzip -oXqq /usr/system/RestoreDir/opt.zip "
       "opt/etc/skel/apps_rw/org.tizen.new_rw/* -d /");
-  EXPECT_EQ(cmds[5], "/usr/bin/tpk-backend -y org.tizen.new_rw --preload-rw "
+  EXPECT_EQ(cmds[6], "/usr/bin/tpk-backend -y org.tizen.new_rw --preload-rw "
       "--skip-check-reference");
 }
 
@@ -466,18 +472,20 @@ TEST_F(PkgUpgraderTest, Upgrader_RO2RW_LOW_VERSION) {
 
   ASSERT_TRUE(upgrader.Process(&finder_));
 
-  EXPECT_EQ(cmds.size(), 6);
+  EXPECT_EQ(cmds.size(), 7);
   EXPECT_EQ(cmds[0], "/usr/bin/tpk-backend -d org.tizen.alarm "
       "--keep-rwdata");
-  EXPECT_EQ(cmds[1], "/usr/bin/tpk-backend --preload -d org.tizen.new_rw "
+  EXPECT_EQ(cmds[1], "/usr/bin/tpk-backend --preload "
+      "-y org.tizen.alarm --partial-rw --skip-check-reference");
+  EXPECT_EQ(cmds[2], "/usr/bin/tpk-backend --preload -d org.tizen.new_rw "
       "--force-remove --keep-rwdata");
-  EXPECT_EQ(cmds[2], "/usr/bin/unzip -oXqq /usr/system/RestoreDir/opt.zip "
-      "opt/share/packages/org.tizen.new_rw.xml -d /");
   EXPECT_EQ(cmds[3], "/usr/bin/unzip -oXqq /usr/system/RestoreDir/opt.zip "
-      "opt/usr/globalapps/org.tizen.new_rw/* -d /");
+      "opt/share/packages/org.tizen.new_rw.xml -d /");
   EXPECT_EQ(cmds[4], "/usr/bin/unzip -oXqq /usr/system/RestoreDir/opt.zip "
+      "opt/usr/globalapps/org.tizen.new_rw/* -d /");
+  EXPECT_EQ(cmds[5], "/usr/bin/unzip -oXqq /usr/system/RestoreDir/opt.zip "
       "opt/etc/skel/apps_rw/org.tizen.new_rw/* -d /");
-  EXPECT_EQ(cmds[5], "/usr/bin/tpk-backend -y org.tizen.new_rw --preload-rw "
+  EXPECT_EQ(cmds[6], "/usr/bin/tpk-backend -y org.tizen.new_rw --preload-rw "
       "--skip-check-reference");
 }
 
@@ -500,17 +508,19 @@ TEST_F(PkgUpgraderTest, Upgrader_RO2RW_SAME_VERSION) {
 
   ASSERT_TRUE(upgrader.Process(&finder_));
 
-  EXPECT_EQ(cmds.size(), 6);
+  EXPECT_EQ(cmds.size(), 7);
   EXPECT_EQ(cmds[0], "/usr/bin/tpk-backend -d org.tizen.alarm --keep-rwdata");
-  EXPECT_EQ(cmds[1], "/usr/bin/tpk-backend --preload -d org.tizen.new_rw "
+  EXPECT_EQ(cmds[1], "/usr/bin/tpk-backend --preload "
+      "-y org.tizen.alarm --partial-rw --skip-check-reference");
+  EXPECT_EQ(cmds[2], "/usr/bin/tpk-backend --preload -d org.tizen.new_rw "
       "--force-remove --keep-rwdata");
-  EXPECT_EQ(cmds[2], "/usr/bin/unzip -oXqq /usr/system/RestoreDir/opt.zip "
-      "opt/share/packages/org.tizen.new_rw.xml -d /");
   EXPECT_EQ(cmds[3], "/usr/bin/unzip -oXqq /usr/system/RestoreDir/opt.zip "
-      "opt/usr/globalapps/org.tizen.new_rw/* -d /");
+      "opt/share/packages/org.tizen.new_rw.xml -d /");
   EXPECT_EQ(cmds[4], "/usr/bin/unzip -oXqq /usr/system/RestoreDir/opt.zip "
+      "opt/usr/globalapps/org.tizen.new_rw/* -d /");
+  EXPECT_EQ(cmds[5], "/usr/bin/unzip -oXqq /usr/system/RestoreDir/opt.zip "
       "opt/etc/skel/apps_rw/org.tizen.new_rw/* -d /");
-  EXPECT_EQ(cmds[5], "/usr/bin/tpk-backend -y org.tizen.new_rw --preload-rw "
+  EXPECT_EQ(cmds[6], "/usr/bin/tpk-backend -y org.tizen.new_rw --preload-rw "
       "--skip-check-reference");
 }