TEST_F(SmokeTest, RecoveryMode_ForUpdate) {
bf::path path_old = kSmokePackagesDirectory / "RecoveryMode_ForUpdate.wgt";
bf::path path_new = kSmokePackagesDirectory / "RecoveryMode_ForUpdate_2.wgt";
+ std::string pkgid = "smokewgt10";
+ std::string appid = "smokewgt10.RecoveryModeForUpdate";
RemoveAllRecoveryFiles("/wgt-recovery", params.test_user.uid);
ASSERT_EQ(backend.InstallWithSubprocess(path_old),
BackendInterface::SubProcessResult::SUCCESS);
- std::string pkgid = "smokewgt10";
- std::string appid = "smokewgt10.RecoveryModeForUpdate";
+ std::vector<bf::path> added_files;
+ AddDataFiles(pkgid, params.test_user.uid, &added_files);
+ FileInfoCollector expected_file_status_old(pkgid, params);
+ ASSERT_TRUE(expected_file_status_old.Init());
+ ASSERT_EQ(backend.InstallWithSubprocess(path_new),
+ BackendInterface::SubProcessResult::SUCCESS);
+ FileInfoCollector expected_file_status_new(pkgid, params);
+ ASSERT_TRUE(expected_file_status_new.Init());
+ ASSERT_EQ(backend.UninstallWithSubprocess(pkgid),
+ BackendInterface::SubProcessResult::SUCCESS);
+ ASSERT_EQ(backend.InstallWithSubprocess(path_old),
+ BackendInterface::SubProcessResult::SUCCESS);
AddDataFiles(pkgid, params.test_user.uid);
std::string test_user_str = std::to_string(params.test_user.uid);
EXTENDED_ASSERT_TRUE(ValidateFileContentInPackage(pkgid,
"res/wgt/VERSION", version, params));
EXTENDED_ASSERT_TRUE(ValidateDataFiles(pkgid, params.test_user.uid));
+ FileInfoCollector new_file_status(pkgid, params);
+ EXTENDED_ASSERT_TRUE(new_file_status.Init());
if (recovery_info->cleanup()) {
+ EXTENDED_ASSERT_TRUE(
+ expected_file_status_new.IsEqual(new_file_status, &added_files));
EXTENDED_ASSERT_EQ(backend.UninstallWithSubprocess(pkgid),
BackendInterface::SubProcessResult::SUCCESS);
EXTENDED_ASSERT_EQ(backend.InstallWithSubprocess(path_old),
BackendInterface::SubProcessResult::SUCCESS);
AddDataFiles(pkgid, params.test_user.uid);
+ } else {
+ EXTENDED_ASSERT_TRUE(
+ expected_file_status_old.IsEqual(new_file_status, &added_files));
}
}
return true;
RemoveAllRecoveryFiles("/wgt-recovery", params.test_user.uid);
ASSERT_EQ(BackendInterface::SubProcessResult::SUCCESS,
backend.InstallWithSubprocess(path_old));
+ std::vector<bf::path> added_files;
+ AddDataFiles(pkgid, params.test_user.uid, &added_files);
+ FileInfoCollector expected_file_status_old(pkgid, params);
+ ASSERT_TRUE(expected_file_status_old.Init());
+ ASSERT_EQ(backend.InstallWithSubprocess(path_new),
+ BackendInterface::SubProcessResult::SUCCESS);
+ FileInfoCollector expected_file_status_new(pkgid, params);
+ ASSERT_TRUE(expected_file_status_new.Init());
+ ASSERT_EQ(backend.UninstallWithSubprocess(pkgid),
+ BackendInterface::SubProcessResult::SUCCESS);
+ ASSERT_EQ(backend.InstallWithSubprocess(path_old),
+ BackendInterface::SubProcessResult::SUCCESS);
AddDataFiles(pkgid, params.test_user.uid);
std::string test_user_str = std::to_string(params.test_user.uid);
std::vector<std::string> args =
EXTENDED_ASSERT_TRUE(ValidateFileContentInPackage(pkgid,
"res/wgt/VERSION", contents, params));
EXTENDED_ASSERT_TRUE(ValidateDataFiles(pkgid, params.test_user.uid));
+ FileInfoCollector new_file_status(pkgid, params);
+ EXTENDED_ASSERT_TRUE(new_file_status.Init());
if (recovery_info->cleanup()) {
+ EXTENDED_ASSERT_TRUE(
+ expected_file_status_new.IsEqual(new_file_status, &added_files));
EXTENDED_ASSERT_EQ(backend.UninstallWithSubprocess(pkgid),
BackendInterface::SubProcessResult::SUCCESS);
EXTENDED_ASSERT_EQ(backend.InstallWithSubprocess(path_old),
BackendInterface::SubProcessResult::SUCCESS);
AddDataFiles(pkgid, params.test_user.uid);
+ } else {
+ EXTENDED_ASSERT_TRUE(
+ expected_file_status_old.IsEqual(new_file_status, &added_files));
}
}
return true;
RemoveAllRecoveryFiles("/wgt-recovery", params.test_user.uid);
ASSERT_EQ(backend.MountInstallWithSubprocess(path_old),
BackendInterface::SubProcessResult::SUCCESS);
+ std::vector<bf::path> added_files;
+ AddDataFiles(pkgid, params.test_user.uid, &added_files);
+ FileInfoCollector expected_file_status_old(pkgid, params);
+ ASSERT_TRUE(expected_file_status_old.Init());
+ ASSERT_EQ(backend.MountInstallWithSubprocess(path_new),
+ BackendInterface::SubProcessResult::SUCCESS);
+ FileInfoCollector expected_file_status_new(pkgid, params);
+ ASSERT_TRUE(expected_file_status_new.Init());
+ ASSERT_EQ(backend.UninstallWithSubprocess(pkgid),
+ BackendInterface::SubProcessResult::SUCCESS);
+ ASSERT_EQ(backend.MountInstallWithSubprocess(path_old),
+ BackendInterface::SubProcessResult::SUCCESS);
AddDataFiles(pkgid, params.test_user.uid);
std::string test_user_str = std::to_string(params.test_user.uid);
std::vector<std::string> args =
EXTENDED_ASSERT_TRUE(ValidateFileContentInPackage(
pkgid, "res/wgt/VERSION", version, params));
EXTENDED_ASSERT_TRUE(ValidateDataFiles(pkgid, params.test_user.uid));
+ interface.Release();
+ FileInfoCollector new_file_status(pkgid, params);
+ EXTENDED_ASSERT_TRUE(new_file_status.Init());
if (recovery_info->cleanup()) {
- interface.Release();
+ EXTENDED_ASSERT_TRUE(
+ expected_file_status_new.IsEqual(new_file_status, &added_files));
EXTENDED_ASSERT_EQ(backend.UninstallWithSubprocess(pkgid),
BackendInterface::SubProcessResult::SUCCESS);
EXTENDED_ASSERT_EQ(backend.MountInstallWithSubprocess(path_old),
BackendInterface::SubProcessResult::SUCCESS);
AddDataFiles(pkgid, params.test_user.uid);
+ } else {
+ EXTENDED_ASSERT_TRUE(
+ expected_file_status_old.IsEqual(new_file_status, &added_files));
}
}
return true;
std::string appid = "smokewgt07.UpdateModeRollback";
ASSERT_EQ(backend.InstallWithSubprocess(path_old),
BackendInterface::SubProcessResult::SUCCESS);
- AddDataFiles(pkgid, params.test_user.uid);
+ std::vector<bf::path> added_files;
+ AddDataFiles(pkgid, params.test_user.uid, &added_files);
+ FileInfoCollector expected_file_status(pkgid, params);
+ ASSERT_TRUE(expected_file_status.Init());
std::string test_user_str = std::to_string(params.test_user.uid);
const char* argv[] =
{"", "-i", path_new.c_str(), "-u", test_user_str.c_str()};
backend.TestRollbackAfterEachStep(SIZEOFARRAY(argv), argv, [&]() -> bool {
+ FileInfoCollector new_file_status(pkgid, params);
+ EXTENDED_ASSERT_TRUE(new_file_status.Init());
+ EXTENDED_ASSERT_TRUE(
+ expected_file_status.IsEqual(new_file_status, &added_files));
EXTENDED_ASSERT_TRUE(ValidatePackage(pkgid, {appid}, params));
EXTENDED_ASSERT_TRUE(ValidateFileContentInPackage(pkgid,
std::string appid = "smokewgt01.DeltaMode";
ASSERT_EQ(backend.InstallWithSubprocess(path),
BackendInterface::SubProcessResult::SUCCESS);
- AddDataFiles(pkgid, params.test_user.uid);
+ std::vector<bf::path> added_files;
+ AddDataFiles(pkgid, params.test_user.uid, &added_files);
+ FileInfoCollector expected_file_status(pkgid, params);
+ ASSERT_TRUE(expected_file_status.Init());
std::string test_user_str = std::to_string(params.test_user.uid);
const char* argv[] =
{"", "-i", delta_package.c_str(), "-u", test_user_str.c_str()};
backend.TestRollbackAfterEachStep(SIZEOFARRAY(argv), argv, [&]() -> bool {
+ FileInfoCollector new_file_status(pkgid, params);
+ EXTENDED_ASSERT_TRUE(new_file_status.Init());
+ EXTENDED_ASSERT_TRUE(
+ expected_file_status.IsEqual(new_file_status, &added_files));
EXTENDED_ASSERT_TRUE(ValidatePackage(pkgid, {appid}, params));
EXTENDED_ASSERT_TRUE(ValidateFileContentInPackage(pkgid, "res/wgt/MODIFIED",
"version 1\n", params));
std::string appid1 = "smokehyb08.web";
ASSERT_EQ(backend.InstallWithSubprocess(path_old),
BackendInterface::SubProcessResult::SUCCESS);
- AddDataFiles(pkgid, params.test_user.uid);
+ std::vector<bf::path> added_files;
+ AddDataFiles(pkgid, params.test_user.uid, &added_files);
+ FileInfoCollector expected_file_status(pkgid, params);
+ ASSERT_TRUE(expected_file_status.Init());
std::string test_user_str = std::to_string(params.test_user.uid);
const char* argv[] =
{"", "-i", path_new.c_str(), "-u", test_user_str.c_str()};
backend.TestRollbackAfterEachStep(SIZEOFARRAY(argv), argv, [&]() -> bool {
+ FileInfoCollector new_file_status(pkgid, params);
+ EXTENDED_ASSERT_TRUE(new_file_status.Init());
+ EXTENDED_ASSERT_TRUE(
+ expected_file_status.IsEqual(new_file_status, &added_files));
EXTENDED_ASSERT_TRUE(ValidatePackage(pkgid, {appid1}, params));
EXTENDED_ASSERT_TRUE(ValidateFileContentInPackage(pkgid,
std::string appid1 = "smokehyb11.web";
ASSERT_EQ(backend.InstallWithSubprocess(path),
BackendInterface::SubProcessResult::SUCCESS);
- AddDataFiles(pkgid, params.test_user.uid);
+ std::vector<bf::path> added_files;
+ AddDataFiles(pkgid, params.test_user.uid, &added_files);
+ FileInfoCollector expected_file_status(pkgid, params);
+ ASSERT_TRUE(expected_file_status.Init());
std::string test_user_str = std::to_string(params.test_user.uid);
const char* argv[] = {"", "-i", path.c_str(), "-u", test_user_str.c_str()};
backend.TestRollbackAfterEachStep(SIZEOFARRAY(argv), argv, [&]() -> bool {
+ FileInfoCollector new_file_status(pkgid, params);
+ EXTENDED_ASSERT_TRUE(new_file_status.Init());
+ EXTENDED_ASSERT_TRUE(
+ expected_file_status.IsEqual(new_file_status, &added_files));
EXTENDED_ASSERT_TRUE(ValidatePackage(pkgid, {appid1}, params));
// Check delta modifications
bf::path root_path = GetPackageRoot(pkgid, params.test_user.uid);
std::string appid1 = "smokehyb10.web";
ASSERT_EQ(backend.MountInstallWithSubprocess(path_old),
BackendInterface::SubProcessResult::SUCCESS);
- AddDataFiles(pkgid, params.test_user.uid);
+ std::vector<bf::path> added_files;
+ AddDataFiles(pkgid, params.test_user.uid, &added_files);
+ FileInfoCollector expected_file_status(pkgid, params);
+ ASSERT_TRUE(expected_file_status.Init());
std::string test_user_str = std::to_string(params.test_user.uid);
const char* argv[] =
{"", "-w", path_new.c_str(), "-u", test_user_str.c_str()};
backend.TestRollbackAfterEachStep(SIZEOFARRAY(argv), argv, [&]() -> bool {
+ FileInfoCollector new_file_status(pkgid, params);
+ EXTENDED_ASSERT_TRUE(new_file_status.Init());
+ EXTENDED_ASSERT_TRUE(
+ expected_file_status.IsEqual(new_file_status, &added_files));
ScopedTzipInterface interface(pkgid, params.test_user.uid);
EXTENDED_ASSERT_TRUE(ValidatePackage(pkgid, {appid1}, params));
std::string appid = "smokewgt34.web";
ASSERT_EQ(backend.MountInstallWithSubprocess(path_old),
BackendInterface::SubProcessResult::SUCCESS);
- AddDataFiles(pkgid, params.test_user.uid);
+ std::vector<bf::path> added_files;
+ AddDataFiles(pkgid, params.test_user.uid, &added_files);
+ FileInfoCollector expected_file_status(pkgid, params);
+ ASSERT_TRUE(expected_file_status.Init());
std::string test_user_str = std::to_string(params.test_user.uid);
const char* argv[] =
{"", "-w", path_new.c_str(), "-u", test_user_str.c_str()};
backend.TestRollbackAfterEachStep(SIZEOFARRAY(argv), argv, [&]() -> bool {
+ FileInfoCollector new_file_status(pkgid, params);
+ EXTENDED_ASSERT_TRUE(new_file_status.Init());
+ EXTENDED_ASSERT_TRUE(
+ expected_file_status.IsEqual(new_file_status, &added_files));
ScopedTzipInterface interface(pkgid, params.test_user.uid);
EXTENDED_ASSERT_TRUE(ValidatePackage(pkgid, {appid}, params));
"RecoveryMode_ForReadonlyUpdateInstall.wgt";
bf::path path_new = kSmokePackagesDirectory /
"RecoveryMode_ForReadonlyUpdateInstall_2.wgt";
+ std::string pkgid = "smokewgt51";
+ std::string appid = "smokewgt51.RecoveryModeForReadonlyUpdateInstall";
RemoveAllRecoveryFiles("/wgt-recovery", params.test_user.uid);
ASSERT_EQ(backend.InstallPreloadWithSubprocess(path_old),
BackendInterface::SubProcessResult::SUCCESS);
- std::string pkgid = "smokewgt51";
- std::string appid = "smokewgt51.RecoveryModeForReadonlyUpdateInstall";
+ std::vector<bf::path> added_files;
+ AddDataFiles(pkgid, params.test_user.uid, &added_files);
+ FileInfoCollector expected_file_status_old(pkgid, params);
+ ASSERT_TRUE(expected_file_status_old.Init());
+ ASSERT_EQ(backend.InstallWithSubprocess(path_new),
+ BackendInterface::SubProcessResult::SUCCESS);
+ params.is_readonly = false;
+ FileInfoCollector expected_file_status_new(pkgid, params);
+ ASSERT_TRUE(expected_file_status_new.Init());
+ params.is_readonly = true;
+ ASSERT_EQ(backend.UninstallWithSubprocess(pkgid),
+ BackendInterface::SubProcessResult::SUCCESS);
AddDataFiles(pkgid, params.test_user.uid);
std::string test_uid_str = std::to_string(params.test_user.uid);
std::vector<std::string> args =
EXTENDED_ASSERT_TRUE(ValidateFileContentInPackage(pkgid,
"res/wgt/VERSION", version, params));
EXTENDED_ASSERT_TRUE(ValidateDataFiles(pkgid, params.test_user.uid));
+ FileInfoCollector new_file_status(pkgid, params);
+ EXTENDED_ASSERT_TRUE(new_file_status.Init());
if (recovery_info->cleanup()) {
+ EXTENDED_ASSERT_TRUE(
+ expected_file_status_new.IsEqual(new_file_status, &added_files));
EXTENDED_ASSERT_EQ(backend.UninstallWithSubprocess(pkgid),
BackendInterface::SubProcessResult::SUCCESS);
AddDataFiles(pkgid, params.test_user.uid);
+ } else {
+ EXTENDED_ASSERT_TRUE(
+ expected_file_status_old.IsEqual(new_file_status, &added_files));
}
}
return true;