namespace {
-testing::Environment *env = nullptr;
+smoke_test::SmokeEnvironment* env = nullptr;
void signalHandler(int signum) {
env->TearDown();
exit(signum);
}
-smoke_test::SmokeEnvironment *dcast(testing::Environment* _env) {
- return dynamic_cast<smoke_test::SmokeEnvironment *>(_env);
-}
-
} // namespace
namespace smoke_test {
class SmokeTest : public testing::Test {
public:
- SmokeTest() : backend(std::to_string(dcast(env)->test_user.uid)),
+ SmokeTest() : backend(std::to_string(env->test_user.uid)),
params{PackageType::WGT, false} {
- params.test_user.uid = dcast(env)->test_user.uid;
- params.test_user.gid = dcast(env)->test_user.gid;
+ params.test_user.uid = env->test_user.uid;
+ params.test_user.gid = env->test_user.gid;
}
protected:
WgtBackendInterface backend;
class RollbackSmokeTest : public testing::Test {
public:
- RollbackSmokeTest() : backend(std::to_string(dcast(env)->test_user.uid),
+ RollbackSmokeTest() : backend(std::to_string(env->test_user.uid),
RequestResult::FAIL), params{PackageType::WGT, false} {
- params.test_user.uid = dcast(env)->test_user.uid;
- params.test_user.gid = dcast(env)->test_user.gid;
+ params.test_user.uid = env->test_user.uid;
+ params.test_user.gid = env->test_user.gid;
}
protected:
WgtBackendInterface backend;
class HybridSmokeTest : public testing::Test {
public:
- HybridSmokeTest() : backend(std::to_string(dcast(env)->test_user.uid)),
+ HybridSmokeTest() : backend(std::to_string(env->test_user.uid)),
params{PackageType::HYBRID, false} {
- params.test_user.uid = dcast(env)->test_user.uid;
- params.test_user.gid = dcast(env)->test_user.gid;
+ params.test_user.uid = env->test_user.uid;
+ params.test_user.gid = env->test_user.gid;
}
protected:
HybridBackendInterface backend;
class RollbackHybridSmokeTest : public testing::Test {
public:
- RollbackHybridSmokeTest() : backend(std::to_string(dcast(env)->test_user.uid),
+ RollbackHybridSmokeTest() : backend(std::to_string(env->test_user.uid),
RequestResult::FAIL), params{PackageType::HYBRID, false} {
- params.test_user.uid = dcast(env)->test_user.uid;
- params.test_user.gid = dcast(env)->test_user.gid;
+ params.test_user.uid = env->test_user.uid;
+ params.test_user.gid = env->test_user.gid;
}
protected:
HybridBackendInterface backend;
class PreloadSmokeTest : public testing::Test {
public:
- PreloadSmokeTest() : backend(std::to_string(dcast(env)->test_user.uid)),
+ PreloadSmokeTest() : backend(std::to_string(env->test_user.uid)),
params{PackageType::WGT, true} {
- params.test_user.uid = dcast(env)->test_user.uid;
- params.test_user.gid = dcast(env)->test_user.gid;
+ params.test_user.uid = env->test_user.uid;
+ params.test_user.gid = env->test_user.gid;
}
protected:
WgtBackendInterface backend;
class HybridPreloadSmokeTest : public testing::Test {
public:
- HybridPreloadSmokeTest() : backend(std::to_string(dcast(env)->test_user.uid)),
+ HybridPreloadSmokeTest() : backend(std::to_string(env->test_user.uid)),
params{PackageType::HYBRID, true} {
- params.test_user.uid = dcast(env)->test_user.uid;
- params.test_user.gid = dcast(env)->test_user.gid;
+ params.test_user.uid = env->test_user.uid;
+ params.test_user.gid = env->test_user.gid;
}
protected:
HybridBackendInterface backend;
TEST_F(SmokeTest, DeinstallationMode) {
bf::path path = kSmokePackagesDirectory / "DeinstallationMode.wgt";
std::string pkgid = "smokewgt05";
- std::string appid = "smokewgt05.DeinstallationMode";
ASSERT_EQ(backend.Install(path), ci::AppInstaller::Result::OK);
ASSERT_EQ(backend.Uninstall(pkgid), ci::AppInstaller::Result::OK);
ASSERT_TRUE(CheckPackageNonExistance(pkgid, params));
ASSERT_NE(backend_crash.Wait(), 0);
std::string pkgid = "smokewgt09";
- std::string appid = "smokewgt09.RecoveryModeForInstallation";
bf::path recovery_file = FindRecoveryFile("/wgt-recovery",
params.test_user.uid);
ASSERT_FALSE(recovery_file.empty());
ASSERT_NE(backend_crash.Wait(), 0);
std::string pkgid = "smokewgt31";
- std::string appid = "smokewgt31.RecoveryModeForMountInstall";
bf::path recovery_file = FindRecoveryFile("/wgt-recovery",
params.test_user.uid);
ASSERT_FALSE(recovery_file.empty());
TEST_F(RollbackSmokeTest, InstallationMode) {
bf::path path = kSmokePackagesDirectory / "InstallationMode_Rollback.wgt";
std::string pkgid = "smokewgt06";
- std::string appid = "smokewgt06.InstallationModeRollback";
ASSERT_EQ(backend.Install(path), ci::AppInstaller::Result::ERROR);
ASSERT_TRUE(CheckPackageNonExistance(pkgid, params));
}
TEST_F(HybridSmokeTest, DeinstallationMode) {
bf::path path = kSmokePackagesDirectory / "DeinstallationMode_Hybrid.wgt";
std::string pkgid = "smokehyb03";
- std::string appid1 = "smokehyb03.Web";
ASSERT_EQ(backend.Install(path), ci::AppInstaller::Result::OK);
ASSERT_EQ(backend.Uninstall(pkgid), ci::AppInstaller::Result::OK);
ASSERT_TRUE(CheckPackageNonExistance(pkgid, params));
bf::path path = kSmokePackagesDirectory /
"InstallationMode_Rollback_Hybrid.wgt";
std::string pkgid = "smokehyb07";
- std::string appid1 = "smokehyb07.web";
ASSERT_EQ(backend.Install(path), ci::AppInstaller::Result::ERROR);
ASSERT_TRUE(CheckPackageNonExistance(pkgid, params));
}
bf::path path = kSmokePackagesDirectory /
"MountInstallationMode_Rollback_Hybrid.wgt";
std::string pkgid = "smokehyb09";
- std::string appid1 = "smokehyb09.web";
ASSERT_EQ(backend.MountInstall(path), ci::AppInstaller::Result::ERROR);
ScopedTzipInterface interface(pkgid, params.test_user.uid);
ASSERT_TRUE(CheckPackageNonExistance(pkgid, params));
bf::path path =
kSmokePackagesDirectory / "MountInstallationMode_Rollback.wgt";
std::string pkgid = "smokewgt33";
- std::string appid = "smokewgt33.web";
ASSERT_EQ(backend.MountInstall(path), ci::AppInstaller::Result::ERROR);
ScopedTzipInterface interface(pkgid, params.test_user.uid);
ASSERT_TRUE(CheckPackageNonExistance(pkgid, params));
ASSERT_EQ(getuid(), 0) << "Test cannot be run by normal user";
bf::path path = kSmokePackagesDirectory / "DeinstallationMode_Preload.wgt";
std::string pkgid = "smokewgt39";
- std::string appid = "smokewgt39.DeinstallationModePreload";
ASSERT_EQ(backend.InstallPreload(path), ci::AppInstaller::Result::OK);
ASSERT_EQ(backend.UninstallPreload(pkgid), ci::AppInstaller::Result::OK);
CheckPackageReadonlyNonExistance(pkgid, params);
::testing::GTEST_FLAG(filter) = "SmokeTest.*";
}
testing::InitGoogleTest(&argc, argv);
- ::env = testing::AddGlobalTestEnvironment(
- new smoke_test::SmokeEnvironment(request_mode));
+ ::env = static_cast<smoke_test::SmokeEnvironment*>(
+ testing::AddGlobalTestEnvironment(
+ new smoke_test::SmokeEnvironment(request_mode)));
signal(SIGINT, ::signalHandler);
signal(SIGSEGV, ::signalHandler);
return RUN_ALL_TESTS();