Add smoke util function for multi install 59/235159/5
authorIlho Kim <ilho159.kim@samsung.com>
Tue, 2 Jun 2020 08:13:05 +0000 (17:13 +0900)
committerIlho Kim <ilho159.kim@samsung.com>
Thu, 18 Jun 2020 07:24:13 +0000 (16:24 +0900)
Change-Id: Idbe2867e50f61aae2d26074845245cb2c6d24309
Signed-off-by: Ilho Kim <ilho159.kim@samsung.com>
src/unit_tests/common/smoke_utils.cc
src/unit_tests/common/smoke_utils.h

index bfe90bf9a7711aa9dd3b1ca75170f3f1e006eb0f..31ff71a50f4df6a3f6257e6d71c848835b050458 100644 (file)
@@ -1072,6 +1072,75 @@ SmokeTestHelperRunner::Result
   return RunSubprocessAndKill(args, delay);
 }
 
+SmokeTestHelperRunner::Result SmokeTestHelperRunner::InstallPkgsWithSubprocess(
+    const std::vector<bf::path>& paths, uid_t uid) const {
+  std::vector<std::string> 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<bf::path>& paths, uid_t uid) const {
+  std::vector<std::string> 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<bf::path>& paths, uid_t uid) const {
+  std::vector<std::string> 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<std::string>& pkgids, uid_t uid) const {
+  std::vector<std::string> 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<bf::path>& paths, uid_t uid, useconds_t delay) const {
+  std::vector<std::string> 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<bf::path>& paths, uid_t uid, useconds_t delay) const {
+  std::vector<std::string> 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)) {
index 0d34501c4c5469183a5f9796305f53c4779a4609..d9469efbc09131dd2ba9e9ccab8090a47debd0c5 100644 (file)
@@ -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<bf::path>& paths, uid_t uid) const;
+  Result MountInstallPkgsWithSubprocess(
+      const std::vector<bf::path>& paths, uid_t uid) const;
+  Result RecoveryPkgsWithSubprocess(
+      const std::vector<bf::path>& paths, uid_t uid) const;
+  Result UninstallPkgsWithSubprocess(
+      const std::vector<std::string>& pkgids, uid_t uid) const;
+  Result InstallPkgsWithSubprocessAndKill(
+      const std::vector<bf::path>& paths, uid_t uid, useconds_t delay) const;
+  Result MountInstallPkgsWithSubprocessAndKill(
+      const std::vector<bf::path>& paths, uid_t uid, useconds_t delay) const;
 
  private:
   Result RunSubprocess(std::vector<std::string> args) const;