#include <sm_api.h>
#include <sm_commons.h>
#include <tests_common.h>
+#include <dpl/test/safe_cleanup.h>
using namespace SecurityManagerTest;
-ScopedAppLauncher::ScopedAppLauncher(const AppInstallHelper& app)
+ScopedAppLauncher::ScopedAppLauncher(const AppInstallHelper& app) :
+ m_uid(app.getUID()),
+ m_appId(app.getAppId())
{
- SynchronizationPipe syncPipe;
-
m_pid = fork();
RUNNER_ASSERT_ERRNO_MSG(m_pid >= 0, "Fork failed");
if (m_pid != 0) {
ScopedAppLauncher::~ScopedAppLauncher()
{
- m_syncPipe.post();
- waitPid(m_pid);
+ SafeCleanup::run([this]{
+ m_syncPipe.post();
+ waitPid(m_pid);
+ Api::cleanupApp(m_appId, m_uid, m_pid);
+ });
}