modify smoke-test setup for consideration of user-db change. 00/83000/1 accepted/tizen/common/20160809.183911 accepted/tizen/ivi/20160809.232605 accepted/tizen/mobile/20160809.232335 accepted/tizen/tv/20160809.232454 accepted/tizen/wearable/20160809.232700 submit/tizen/20160809.011327 submit/tizen/20160809.051427
authorjongmyeongko <jongmyeong.ko@samsung.com>
Mon, 8 Aug 2016 13:50:00 +0000 (22:50 +0900)
committerjongmyeongko <jongmyeong.ko@samsung.com>
Mon, 8 Aug 2016 13:50:00 +0000 (22:50 +0900)
Change-Id: I4d5d92ecdfc93b079dd7ce6f1a2b16c5b316f343
Signed-off-by: jongmyeongko <jongmyeong.ko@samsung.com>
packaging/tpk-backend.spec
src/unit_tests/smoke_test.cc

index 62f2389..0025c94 100644 (file)
@@ -54,6 +54,9 @@ mkdir -p %{buildroot}/etc/package-manager/backend
 ln -s %{_bindir}/tpk-backend %{buildroot}%{_sysconfdir}/package-manager/backend/tpk
 ln -s %{_bindir}/tpk-backend %{buildroot}%{_sysconfdir}/package-manager/backend/rpm
 
+%post tests
+/usr/sbin/setcap cap_dac_override=eip %{_bindir}/tpk-backend-ut/smoke-test
+
 %files
 %{_sysconfdir}/package-manager/backend/tpk
 %{_sysconfdir}/package-manager/backend/rpm
index 79454b5..6a25027 100644 (file)
@@ -45,6 +45,7 @@ const char kApplicationDir[] = ".applications";
 const char kApplicationDirBackup[] = ".applications.bck";
 const char KUserAppsDir[] = "apps_rw";
 const char KUserAppsDirBackup[] = "apps_rw.bck";
+const char kUserDataBaseDir[] = "/opt/dbspace/user";
 
 enum class RequestResult {
   NORMAL,
@@ -168,7 +169,7 @@ void ValidatePackageFS(const std::string& pkgid, const std::string& appid) {
   ASSERT_FALSE(bf::exists(manifest_backup));
 }
 
-void PackageCheckCleanup(const std::string& pkgid, const std::string& appid) {
+void PackageCheckCleanup(const std::string& pkgid, const std::string&) {
   bf::path root_path = ci::GetRootAppPath(false);
   bf::path package_path = root_path / pkgid;
   ASSERT_FALSE(bf::exists(package_path));
@@ -325,9 +326,13 @@ class SmokeEnvironment : public testing::Environment {
   explicit SmokeEnvironment(const bf::path& home) : home_(home) {
   }
   void SetUp() override {
+    bf::path UserDBDir = bf::path(kUserDataBaseDir) / std::to_string(getuid());
+    bf::path UserDBDirBackup = UserDBDir.string() + std::string(".bck");
+
     bs::error_code error;
     bf::remove_all(home_ / kApplicationDirBackup, error);
     bf::remove_all(home_ / KUserAppsDirBackup, error);
+    bf::remove_all(UserDBDirBackup, error);
     if (bf::exists(home_ / KUserAppsDir)) {
       bf::rename(home_ / KUserAppsDir, home_ / KUserAppsDirBackup, error);
       if (error)
@@ -344,15 +349,29 @@ class SmokeEnvironment : public testing::Environment {
                    << (home_ / kApplicationDirBackup) << " should not exist.";
       assert(!error);
     }
+    if (bf::exists(UserDBDir)) {
+      bf::rename(UserDBDir, UserDBDirBackup, error);
+      if (error)
+        LOG(ERROR) << "Failed to setup test environment. Does some previous"
+                   << " test crashed? Directory: "
+                   << UserDBDirBackup << " should not exist.";
+      assert(!error);
+    }
   }
   void TearDown() override {
+    bf::path UserDBDir = bf::path(kUserDataBaseDir) / std::to_string(getuid());
+    bf::path UserDBDirBackup = UserDBDir.string() + std::string(".bck");
+
     bs::error_code error;
     bf::remove_all(home_ / kApplicationDir, error);
     bf::remove_all(home_ / KUserAppsDir, error);
+    bf::remove_all(UserDBDir, error);
     if (bf::exists(home_ / KUserAppsDirBackup))
       bf::rename(home_ / KUserAppsDirBackup, home_ / KUserAppsDir, error);
     if (bf::exists(home_ / kApplicationDirBackup))
       bf::rename(home_ / kApplicationDirBackup, home_ / kApplicationDir, error);
+    if (bf::exists(UserDBDirBackup))
+      bf::rename(UserDBDirBackup, UserDBDir, error);
   }
 
  private: