const std::map<SmackPrivSetup, std::string> m_setupMap;
};
- static std::unique_ptr<SmackPrivSetupMgr> m_setupMgr;
+ static SmackPrivSetupMgr* m_setupMgr;
public:
void Init() override {
assert(!m_setupMgr);
- m_setupMgr.reset(new SmackPrivSetupMgr());
+ m_setupMgr = new SmackPrivSetupMgr();
}
static void Install(SmackPrivSetup setup)
void Finish() override {
assert(m_setupMgr);
- m_setupMgr.reset();
+ delete(m_setupMgr);
+ m_setupMgr = nullptr;
}
};
-std::unique_ptr<SmackPrivGroupEnv::SmackPrivSetupMgr> SmackPrivGroupEnv::m_setupMgr;
+SmackPrivGroupEnv::SmackPrivSetupMgr* SmackPrivGroupEnv::m_setupMgr = nullptr;
+
+template<SmackPrivSetup T>
+class TestSetup
+{
+public:
+ void init(const std::string &) {
+ SmackPrivGroupEnv::Install(T);
+ }
+ void finish() {}
+};
+
+typedef TestSetup<SmackPrivSetup::INTERNET_ONLY> InternetOnlySetup;
} // namespace anonymous
RUNNER_TEST_GROUP_INIT_ENV(SECURITY_MANAGER_SMACK_PRIVILEGES, SmackPrivGroupEnv)
-RUNNER_CHILD_TEST(smack_privileges_10_no_privileges)
+RUNNER_CHILD_TEST(smack_privileges_10_no_privileges, InternetOnlySetup)
{
- SmackPrivGroupEnv::Install(SmackPrivSetup::INTERNET_ONLY);
-
AppInstallHelperExt app("sm_test_sp_10_app");
{
ScopedInstaller appInstall(app);
app.checkAfterUninstall();
}
-RUNNER_CHILD_TEST(smack_privileges_20_internet_privilege)
+RUNNER_CHILD_TEST(smack_privileges_20_internet_privilege, InternetOnlySetup)
{
- SmackPrivGroupEnv::Install(SmackPrivSetup::INTERNET_ONLY);
-
AppInstallHelperExt app("sm_test_sp_20_app");
app.addPrivileges({PRIV_INTERNET});
{
app.checkSmackPrivileges({}, {PRIV_INTERNET});
}
-RUNNER_CHILD_TEST(smack_privileges_30_one_after_another)
+RUNNER_CHILD_TEST(smack_privileges_30_one_after_another, InternetOnlySetup)
{
- SmackPrivGroupEnv::Install(SmackPrivSetup::INTERNET_ONLY);
-
AppInstallHelperExt app("sm_test_sp_30_app");
app.addPrivileges({PRIV_INTERNET});
{
app.checkSmackPrivileges({}, {PRIV_INTERNET});
}
-RUNNER_CHILD_TEST(smack_privileges_40_different_users_one_after_another)
+RUNNER_CHILD_TEST(smack_privileges_40_different_users_one_after_another, InternetOnlySetup)
{
- SmackPrivGroupEnv::Install(SmackPrivSetup::INTERNET_ONLY);
-
TemporaryTestUser testUser("sm_test_40_user_name", GUM_USERTYPE_NORMAL, true);
testUser.create();
app.checkSmackPrivileges({}, {PRIV_INTERNET});
}
-RUNNER_CHILD_TEST(smack_privileges_50_same_user_simultaneously)
+RUNNER_CHILD_TEST(smack_privileges_50_same_user_simultaneously, InternetOnlySetup)
{
- SmackPrivGroupEnv::Install(SmackPrivSetup::INTERNET_ONLY);
-
AppInstallHelperExt app("sm_test_sp_50_app", OWNER_ID);
app.addPrivileges({PRIV_INTERNET});
{
app.checkSmackPrivileges({}, {PRIV_INTERNET});
}
-RUNNER_CHILD_TEST(smack_privileges_60_same_user_interchangeably)
+RUNNER_CHILD_TEST(smack_privileges_60_same_user_interchangeably, InternetOnlySetup)
{
- SmackPrivGroupEnv::Install(SmackPrivSetup::INTERNET_ONLY);
-
AppInstallHelperExt app("sm_test_sp_60_app", OWNER_ID);
app.addPrivileges({PRIV_INTERNET});
{
app.checkSmackPrivileges({}, {PRIV_INTERNET});
}
-RUNNER_CHILD_TEST(smack_privileges_70_different_users_simultaneously)
+RUNNER_CHILD_TEST(smack_privileges_70_different_users_simultaneously, InternetOnlySetup)
{
- SmackPrivGroupEnv::Install(SmackPrivSetup::INTERNET_ONLY);
-
TemporaryTestUser testUser("sm_test_70_user_name", GUM_USERTYPE_NORMAL, true);
testUser.create();
app.checkSmackPrivileges({}, {PRIV_INTERNET});
}
-RUNNER_CHILD_TEST(smack_privileges_80_uninstall_local_while_running)
+RUNNER_CHILD_TEST(smack_privileges_80_uninstall_local_while_running, InternetOnlySetup)
{
- SmackPrivGroupEnv::Install(SmackPrivSetup::INTERNET_ONLY);
-
AppInstallHelperExt app("sm_test_sp_80_app");
app.addPrivileges({PRIV_INTERNET});
{
app.checkSmackPrivileges({}, {PRIV_INTERNET});
}
-RUNNER_CHILD_TEST(smack_privileges_90_user_removal)
+RUNNER_CHILD_TEST(smack_privileges_90_user_removal, InternetOnlySetup)
{
- SmackPrivGroupEnv::Install(SmackPrivSetup::INTERNET_ONLY);
-
TemporaryTestUser testUser("sm_test_90_user_name", GUM_USERTYPE_NORMAL, true);
testUser.create();
}
}
-RUNNER_CHILD_TEST(smack_privileges_100_hybrid_app)
+RUNNER_CHILD_TEST(smack_privileges_100_hybrid_app, InternetOnlySetup)
{
- SmackPrivGroupEnv::Install(SmackPrivSetup::INTERNET_ONLY);
-
AppInstallHelperExt app("sm_test_sp_100_app");
app.addPrivileges({PRIV_INTERNET});
app.setHybrid();
app.checkSmackPrivileges({}, {PRIV_INTERNET});
}
-RUNNER_CHILD_TEST(smack_privileges_110_hybridity_change)
+RUNNER_CHILD_TEST(smack_privileges_110_hybridity_change, InternetOnlySetup)
{
- SmackPrivGroupEnv::Install(SmackPrivSetup::INTERNET_ONLY);
-
AppInstallHelperExt app("sm_test_sp_110_app");
app.addPrivileges({PRIV_INTERNET});
{
app.checkSmackPrivileges({}, {PRIV_INTERNET});
}
-RUNNER_CHILD_TEST(smack_privileges_120_policy_change_while_running)
+RUNNER_CHILD_TEST(smack_privileges_120_policy_change_while_running, InternetOnlySetup)
{
- SmackPrivGroupEnv::Install(SmackPrivSetup::INTERNET_ONLY);
-
TemporaryTestUser testUser("sm_test_120_user_name", GUM_USERTYPE_NORMAL, true);
testUser.create();
app.checkSmackPrivileges({}, {PRIV_INTERNET});
}
-RUNNER_CHILD_TEST(smack_privileges_130_different_users_and_policies)
+RUNNER_CHILD_TEST(smack_privileges_130_different_users_and_policies, InternetOnlySetup)
{
- SmackPrivGroupEnv::Install(SmackPrivSetup::INTERNET_ONLY);
-
TemporaryTestUser testUser("sm_test_130_user_name", GUM_USERTYPE_NORMAL, true);
testUser.create();
app.checkSmackPrivileges({}, {PRIV_INTERNET});
}
-RUNNER_CHILD_TEST(smack_privileges_140_two_users_sequence)
+RUNNER_CHILD_TEST(smack_privileges_140_two_users_sequence, InternetOnlySetup)
{
- SmackPrivGroupEnv::Install(SmackPrivSetup::INTERNET_ONLY);
-
TemporaryTestUser testUser("sm_test_140_user_name", GUM_USERTYPE_NORMAL, true);
testUser.create();
app.checkSmackPrivileges({}, {PRIV_INTERNET});
}
-RUNNER_CHILD_TEST(smack_privileges_150_independent_apps)
+RUNNER_CHILD_TEST(smack_privileges_150_independent_apps, InternetOnlySetup)
{
- SmackPrivGroupEnv::Install(SmackPrivSetup::INTERNET_ONLY);
-
TemporaryTestUser testUser("sm_test_150_user_name", GUM_USERTYPE_NORMAL, true);
testUser.create();
app2.checkSmackPrivileges({}, {PRIV_INTERNET});
}
-RUNNER_CHILD_TEST(smack_privileges_160_nonhybrid_package)
+RUNNER_CHILD_TEST(smack_privileges_160_nonhybrid_package, InternetOnlySetup)
{
- SmackPrivGroupEnv::Install(SmackPrivSetup::INTERNET_ONLY);
-
TemporaryTestUser testUser("sm_test_160_user_name", GUM_USERTYPE_NORMAL, true);
testUser.create();
}
-RUNNER_CHILD_TEST(smack_privileges_170_hybrid_package)
+RUNNER_CHILD_TEST(smack_privileges_170_hybrid_package, InternetOnlySetup)
{
- SmackPrivGroupEnv::Install(SmackPrivSetup::INTERNET_ONLY);
-
TemporaryTestUser testUser("sm_test_170_user_name", GUM_USERTYPE_NORMAL, true);
testUser.create();
app2.checkSmackPrivileges({}, {PRIV_INTERNET});
}
-RUNNER_CHILD_TEST(smack_privileges_180_hybrid_package_both_apps_privileged)
+RUNNER_CHILD_TEST(smack_privileges_180_hybrid_package_both_apps_privileged, InternetOnlySetup)
{
- SmackPrivGroupEnv::Install(SmackPrivSetup::INTERNET_ONLY);
-
TemporaryTestUser testUser("sm_test_180_user_name", GUM_USERTYPE_NORMAL, true);
testUser.create();