From: Ilho Kim Date: Tue, 2 Jun 2020 08:13:05 +0000 (+0900) Subject: Add smoke util function for multi install X-Git-Tag: submit/tizen/20200706.085806~5 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=3b6584b4f03b34851e008531b51f66f0f2bac31f;p=platform%2Fcore%2Fappfw%2Fapp-installers.git Add smoke util function for multi install Change-Id: Idbe2867e50f61aae2d26074845245cb2c6d24309 Signed-off-by: Ilho Kim --- diff --git a/src/unit_tests/common/smoke_utils.cc b/src/unit_tests/common/smoke_utils.cc index bfe90bf9..31ff71a5 100644 --- a/src/unit_tests/common/smoke_utils.cc +++ b/src/unit_tests/common/smoke_utils.cc @@ -1072,6 +1072,75 @@ SmokeTestHelperRunner::Result return RunSubprocessAndKill(args, delay); } +SmokeTestHelperRunner::Result SmokeTestHelperRunner::InstallPkgsWithSubprocess( + const std::vector& paths, uid_t uid) const { + std::vector args; + args.emplace_back("-i"); + for (const bf::path& p : paths) + args.emplace_back(p.string()); + args.emplace_back("-u"); + args.emplace_back(std::to_string(uid)); + return RunSubprocess(args); +} + +SmokeTestHelperRunner::Result + SmokeTestHelperRunner::MountInstallPkgsWithSubprocess( + const std::vector& paths, uid_t uid) const { + std::vector args; + args.emplace_back("-w"); + for (const bf::path& p : paths) + args.emplace_back(p.string()); + args.emplace_back("-u"); + args.emplace_back(std::to_string(uid)); + return RunSubprocess(args); +} + +SmokeTestHelperRunner::Result SmokeTestHelperRunner::RecoveryPkgsWithSubprocess( + const std::vector& paths, uid_t uid) const { + std::vector args; + args.emplace_back("-b"); + for (const bf::path& p : paths) + args.emplace_back(p.string()); + args.emplace_back("-u"); + args.emplace_back(std::to_string(uid)); + return RunSubprocess(args); +} + +SmokeTestHelperRunner::Result + SmokeTestHelperRunner::UninstallPkgsWithSubprocess( + const std::vector& pkgids, uid_t uid) const { + std::vector args; + args.emplace_back("-d"); + args.insert(args.end(), pkgids.begin(), pkgids.end()); + args.emplace_back("-u"); + args.emplace_back(std::to_string(uid)); + return RunSubprocess(args); +} + +SmokeTestHelperRunner::Result + SmokeTestHelperRunner::InstallPkgsWithSubprocessAndKill( + const std::vector& paths, uid_t uid, useconds_t delay) const { + std::vector args; + args.emplace_back("-i"); + for (const bf::path& p : paths) + args.emplace_back(p.string()); + args.emplace_back("-u"); + args.emplace_back(std::to_string(uid)); + return RunSubprocessAndKill(args, delay); +} + +SmokeTestHelperRunner::Result + SmokeTestHelperRunner::MountInstallPkgsWithSubprocessAndKill( + const std::vector& paths, uid_t uid, useconds_t delay) const { + std::vector args; + args.emplace_back("-w"); + for (const bf::path& p : paths) + args.emplace_back(p.string()); + args.emplace_back("-u"); + args.emplace_back(std::to_string(uid)); + return RunSubprocessAndKill(args, delay); +} + bool CopySmackAccess(const boost::filesystem::path& src, const boost::filesystem::path& dst) { if (!bf::exists(src) && !bf::is_symlink(src)) { diff --git a/src/unit_tests/common/smoke_utils.h b/src/unit_tests/common/smoke_utils.h index 0d34501c..d9469efb 100644 --- a/src/unit_tests/common/smoke_utils.h +++ b/src/unit_tests/common/smoke_utils.h @@ -322,6 +322,18 @@ class SmokeTestHelperRunner { const bf::path& path, uid_t uid, useconds_t delay) const; Result UninstallWithSubprocessAndKill( const std::string& pkgid, uid_t uid, useconds_t delay) const; + Result InstallPkgsWithSubprocess( + const std::vector& paths, uid_t uid) const; + Result MountInstallPkgsWithSubprocess( + const std::vector& paths, uid_t uid) const; + Result RecoveryPkgsWithSubprocess( + const std::vector& paths, uid_t uid) const; + Result UninstallPkgsWithSubprocess( + const std::vector& pkgids, uid_t uid) const; + Result InstallPkgsWithSubprocessAndKill( + const std::vector& paths, uid_t uid, useconds_t delay) const; + Result MountInstallPkgsWithSubprocessAndKill( + const std::vector& paths, uid_t uid, useconds_t delay) const; private: Result RunSubprocess(std::vector args) const;