From 05929eaa660d689fe1bbdf4c01664f5d598aa799 Mon Sep 17 00:00:00 2001 From: jongmyeongko Date: Mon, 8 Aug 2016 22:50:00 +0900 Subject: [PATCH] modify smoke-test setup for consideration of user-db change. Change-Id: I4d5d92ecdfc93b079dd7ce6f1a2b16c5b316f343 Signed-off-by: jongmyeongko --- packaging/tpk-backend.spec | 3 +++ src/unit_tests/smoke_test.cc | 21 ++++++++++++++++++++- 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/packaging/tpk-backend.spec b/packaging/tpk-backend.spec index 62f2389..0025c94 100644 --- a/packaging/tpk-backend.spec +++ b/packaging/tpk-backend.spec @@ -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 diff --git a/src/unit_tests/smoke_test.cc b/src/unit_tests/smoke_test.cc index 79454b5..6a25027 100644 --- a/src/unit_tests/smoke_test.cc +++ b/src/unit_tests/smoke_test.cc @@ -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: -- 2.7.4