std::string exec = "basicdali";
ASSERT_EQ(backend.InstallWithSubprocess(path),
BackendInterface::SubProcessResult::SUCCESS);
+ FileInfoCollector expected_file_status(pkgid, params);
+ ASSERT_TRUE(expected_file_status.Init());
+
std::string test_uid_str = std::to_string(params.test_user.uid);
const char* argv[] =
{"", "-i", delta_package.c_str(), "-u", test_uid_str.c_str()};
"basicdali.png"));
EXTENDED_ASSERT_TRUE(ValidateFileContentInPackage(pkgid,
"res/MODIFIED", "version 1\n", params));
+ FileInfoCollector new_file_status(pkgid, params);
+ EXTENDED_ASSERT_TRUE(new_file_status.Init());
+ EXTENDED_ASSERT_TRUE(expected_file_status.IsEqual(new_file_status));
return true;
});
}
std::string appid = "smokeapp15.RecoveryModeTpkInstallation";
std::string exec = "native";
RemoveAllRecoveryFiles("/tpk-recovery", params.test_user.uid);
+ ASSERT_EQ(backend.InstallWithSubprocess(path),
+ BackendInterface::SubProcessResult::SUCCESS);
+ FileInfoCollector expected_file_status(pkgid, params);
+ ASSERT_TRUE(expected_file_status.Init());
+ ASSERT_EQ(backend.UninstallWithSubprocess(pkgid),
+ BackendInterface::SubProcessResult::SUCCESS);
std::string test_uid_str = std::to_string(params.test_user.uid);
std::vector<std::string> args =
EXTENDED_ASSERT_EQ(backend.RecoverWithSubprocess(recovery_file),
BackendInterface::SubProcessResult::SUCCESS);
if (recovery_info->cleanup()) {
+ FileInfoCollector new_file_status(pkgid, params);
+ EXTENDED_ASSERT_TRUE(new_file_status.Init());
+ EXTENDED_ASSERT_TRUE(expected_file_status.IsEqual(new_file_status));
EXTENDED_ASSERT_TRUE(ValidatePackage(pkgid, {appid, exec}, params));
EXTENDED_ASSERT_EQ(backend.UninstallWithSubprocess(pkgid),
BackendInterface::SubProcessResult::SUCCESS);
TEST_F(SmokeTest, RecoveryMode_Tpk_Update) {
bf::path path_old = kSmokePackagesDirectory / "RecoveryMode_Tpk_Update.tpk";
bf::path path_new = kSmokePackagesDirectory / "RecoveryMode_Tpk_Update_2.tpk";
+ std::string pkgid = "smokeapp16";
+ std::string appid = "smokeapp16.RecoveryModeTpkUpdate";
+ std::string exec = "native";
RemoveAllRecoveryFiles("/tpk-recovery", params.test_user.uid);
ASSERT_EQ(backend.InstallWithSubprocess(path_old),
BackendInterface::SubProcessResult::SUCCESS);
+ 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);
std::string test_uid_str = std::to_string(params.test_user.uid);
std::vector<std::string> args =
{"", "-i", path_new.string(), "-u", test_uid_str.c_str()};
backend.CrashAfterEachStep(&args, [&](int step) -> bool {
if (step >= 2) {
- std::string pkgid = "smokeapp16";
- std::string appid = "smokeapp16.RecoveryModeTpkUpdate";
- std::string exec = "native";
bf::path recovery_file = FindRecoveryFile("/tpk-recovery",
params.test_user.uid);
EXTENDED_ASSERT_FALSE(recovery_file.empty());
std::string version = recovery_info->cleanup() ? "2" : "1";
EXTENDED_ASSERT_TRUE(
ValidateFileContentInPackage(pkgid, "res/VERSION", version, params));
+ 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));
EXTENDED_ASSERT_EQ(
backend.UninstallWithSubprocess(pkgid),
BackendInterface::SubProcessResult::SUCCESS);
EXTENDED_ASSERT_EQ(
backend.InstallWithSubprocess(path_old),
BackendInterface::SubProcessResult::SUCCESS);
+ } else {
+ EXTENDED_ASSERT_TRUE(expected_file_status_old.IsEqual(new_file_status));
}
}
return true;
TEP_TEST_STARTING_BLOCK(5)
ASSERT_EQ(backend.InstallWithTEPWithSubprocess(path, tep1),
BackendInterface::SubProcessResult::SUCCESS);
+ FileInfoCollector expected_file_status(pkgid, params);
+ ASSERT_TRUE(expected_file_status.Init());
std::string test_uid_str = std::to_string(params.test_user.uid);
const char* argv[] = {"", "-i", path.c_str(), "-u", test_uid_str.c_str(),
"-e", tep1.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));
EXTENDED_ASSERT_TRUE(ValidatePackage(pkgid, {appid, exec}, params));
EXTENDED_ASSERT_TRUE(ValidateFileContentInPackage(pkgid,
"tep/tep1.tep", "tep1\n", params));
TEP_TEST_STARTING_BLOCK(6)
ASSERT_EQ(backend.InstallWithSubprocess(path),
BackendInterface::SubProcessResult::SUCCESS);
+ FileInfoCollector expected_file_status(pkgid, params);
+ ASSERT_TRUE(expected_file_status.Init());
std::string test_uid_str = std::to_string(params.test_user.uid);
const char* argv[] = {"", "-i", path.c_str(), "-u", test_uid_str.c_str(),
"-e", tep1.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));
EXTENDED_ASSERT_TRUE(ValidatePackage(pkgid, {appid, exec}, params));
bf::path root_path = ci::GetRootAppPath(params.is_readonly,
params.test_user.uid);
TEP_TEST_STARTING_BLOCK(7)
ASSERT_EQ(backend.InstallWithTEPWithSubprocess(path, tep1),
BackendInterface::SubProcessResult::SUCCESS);
+ FileInfoCollector expected_file_status(pkgid, params);
+ ASSERT_TRUE(expected_file_status.Init());
std::string test_uid_str = std::to_string(params.test_user.uid);
const char* argv[] = {"", "-i", path.c_str(), "-u", test_uid_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));
EXTENDED_ASSERT_TRUE(ValidatePackage(pkgid, {appid, exec}, params));
EXTENDED_ASSERT_TRUE(ValidateFileContentInPackage(pkgid,
"tep/tep1.tep", "tep1\n", params));
TEP_TEST_STARTING_BLOCK(12)
ASSERT_EQ(backend.MountInstallWithTEPWithSubprocess(path, tep1),
BackendInterface::SubProcessResult::SUCCESS);
+ FileInfoCollector expected_file_status(pkgid, params);
+ ASSERT_TRUE(expected_file_status.Init());
std::string test_uid_str = std::to_string(params.test_user.uid);
const char* argv[] = {"", "-w", path.c_str(), "-u", test_uid_str.c_str(),
"-e", tep2.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));
ScopedTzipInterface package_mount(pkgid, params.test_user.uid);
EXTENDED_ASSERT_TRUE(ValidatePackage(pkgid, {appid, exec}, params));
EXTENDED_ASSERT_TRUE(ValidateFileContentInPackage(pkgid,
TEP_TEST_STARTING_BLOCK(13)
ASSERT_EQ(backend.MountInstallWithSubprocess(path),
BackendInterface::SubProcessResult::SUCCESS);
+ FileInfoCollector expected_file_status(pkgid, params);
+ ASSERT_TRUE(expected_file_status.Init());
std::string test_uid_str = std::to_string(params.test_user.uid);
const char* argv[] = {"", "-w", path.c_str(), "-u", test_uid_str.c_str(),
"-e", tep1.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));
ScopedTzipInterface package_mount(pkgid, params.test_user.uid);
EXTENDED_ASSERT_TRUE(ValidatePackage(pkgid, {appid, exec}, params));
bf::path root_path = ci::GetRootAppPath(params.is_readonly,
TEP_TEST_STARTING_BLOCK(14)
ASSERT_EQ(backend.MountInstallWithTEPWithSubprocess(path, tep1),
BackendInterface::SubProcessResult::SUCCESS);
+ FileInfoCollector expected_file_status(pkgid, params);
+ ASSERT_TRUE(expected_file_status.Init());
std::string test_uid_str = std::to_string(params.test_user.uid);
const char* argv[] = {"", "-i", path.c_str(), "-u", test_uid_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));
ScopedTzipInterface package_mount(pkgid, params.test_user.uid);
EXTENDED_ASSERT_TRUE(ValidatePackage(pkgid, {appid, exec}, params));
EXTENDED_ASSERT_TRUE(ValidateFileContentInPackage(pkgid,
TEST_F(SmokeTest, RecoveryMode_ForDelta) {
bf::path path_old = kSmokePackagesDirectory / "RecoveryMode_ForDelta.tpk";
bf::path path_new = kSmokePackagesDirectory / "RecoveryMode_ForDelta.delta";
+ std::string pkgid = "smoketpk35";
+ std::string appid = "smoketpk35.RecoveryMode_ForDelta";
+ std::string exec = "smoketpk35";
RemoveAllRecoveryFiles("/tpk-recovery", params.test_user.uid);
ASSERT_EQ(BackendInterface::SubProcessResult::SUCCESS,
backend.InstallWithSubprocess(path_old));
+ FileInfoCollector expected_file_status_old(pkgid, params);
+ ASSERT_TRUE(expected_file_status_old.Init());
+ ASSERT_EQ(BackendInterface::SubProcessResult::SUCCESS,
+ backend.InstallWithSubprocess(path_new));
+ FileInfoCollector expected_file_status_new(pkgid, params);
+ ASSERT_TRUE(expected_file_status_new.Init());
+ ASSERT_EQ(BackendInterface::SubProcessResult::SUCCESS,
+ backend.UninstallWithSubprocess(pkgid));
+ ASSERT_EQ(BackendInterface::SubProcessResult::SUCCESS,
+ backend.InstallWithSubprocess(path_old));
std::string test_uid_str = std::to_string(params.test_user.uid);
std::vector<std::string> args =
{"", "-i", path_new.string(), "-u", test_uid_str.c_str()};
backend.CrashAfterEachStep(&args, [&](int step) -> bool {
if (step >= 2) {
- std::string pkgid = "smoketpk35";
- std::string appid = "smoketpk35.RecoveryMode_ForDelta";
- std::string exec = "smoketpk35";
bf::path recovery_file = FindRecoveryFile("/tpk-recovery",
params.test_user.uid);
EXTENDED_ASSERT_FALSE(recovery_file.empty());
params));
bf::path root_path = ci::GetRootAppPath(params.is_readonly,
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));
EXTENDED_ASSERT_FALSE(bf::exists(root_path / pkgid / "res/DELETED"));
EXTENDED_ASSERT_TRUE(bf::exists(root_path / pkgid / "res/ADDED"));
EXTENDED_ASSERT_EQ(backend.UninstallWithSubprocess(pkgid),
EXTENDED_ASSERT_EQ(backend.InstallWithSubprocess(path_old),
BackendInterface::SubProcessResult::SUCCESS);
} else {
+ EXTENDED_ASSERT_TRUE(expected_file_status_old.IsEqual(new_file_status));
EXTENDED_ASSERT_TRUE(bf::exists(root_path / pkgid / "res/DELETED"));
EXTENDED_ASSERT_FALSE(bf::exists(root_path / pkgid / "res/ADDED"));
}
std::string exec = "smoketpk36";
ASSERT_EQ(BackendInterface::SubProcessResult::SUCCESS,
backend.InstallWithSubprocess(old_path));
+ FileInfoCollector expected_file_status(pkgid, params);
+ ASSERT_TRUE(expected_file_status.Init());
std::string test_uid_str = std::to_string(params.test_user.uid);
const char* argv[] =
{"", "-i", new_path.c_str(), "-u", test_uid_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));
EXTENDED_ASSERT_TRUE(ValidatePackage(pkgid, {appid, exec}, params));
EXTENDED_ASSERT_TRUE(ValidateFileContentInPackage(pkgid,
"res/VERSION", "1", params));
kSmokePackagesDirectory / "RecoveryMode_ForMountUpdate.tpk";
bf::path path_new =
kSmokePackagesDirectory / "RecoveryMode_ForMountUpdate2.tpk";
+ std::string pkgid = "smoketpk38";
+ std::string appid = "smoketpk38.RecoveryMode_ForMountUpdate";
+ std::string exec = "smoketpk38";
RemoveAllRecoveryFiles("/tpk-recovery", params.test_user.uid);
ASSERT_EQ(BackendInterface::SubProcessResult::SUCCESS,
backend.MountInstallWithSubprocess(path_old));
+ FileInfoCollector expected_file_status_old(pkgid, params);
+ ASSERT_TRUE(expected_file_status_old.Init());
+ ASSERT_EQ(BackendInterface::SubProcessResult::SUCCESS,
+ backend.MountInstallWithSubprocess(path_new));
+ FileInfoCollector expected_file_status_new(pkgid, params);
+ ASSERT_TRUE(expected_file_status_new.Init());
+ ASSERT_EQ(BackendInterface::SubProcessResult::SUCCESS,
+ backend.UninstallWithSubprocess(pkgid));
+ ASSERT_EQ(BackendInterface::SubProcessResult::SUCCESS,
+ backend.MountInstallWithSubprocess(path_old));
std::string test_uid_str = std::to_string(params.test_user.uid);
std::vector<std::string> args =
{"", "-w", path_new.string(), "-u", test_uid_str.c_str()};
backend.CrashAfterEachStep(&args, [&](int step) -> bool {
if (step >= 2) {
- std::string pkgid = "smoketpk38";
- std::string appid = "smoketpk38.RecoveryMode_ForMountUpdate";
- std::string exec = "smoketpk38";
-
// Filesystem may be mounted after crash
ScopedTzipInterface poweroff_unmount_interface(pkgid,
params.test_user.uid);
EXTENDED_ASSERT_FALSE(recovery_file.empty());
std::unique_ptr<ci::recovery::RecoveryFile> recovery_info =
GetRecoverFileInfo(recovery_file);
+ std::cout << "recovery start" << std::endl;
EXTENDED_ASSERT_EQ(backend.RecoverWithSubprocess(recovery_file),
BackendInterface::SubProcessResult::SUCCESS);
+ std::cout << "recovery end" << std::endl;
ScopedTzipInterface interface(pkgid, params.test_user.uid);
EXTENDED_ASSERT_TRUE(ValidatePackage(pkgid, {appid, exec}, params));
std::string version = recovery_info->cleanup() ? "2" : "1";
EXTENDED_ASSERT_TRUE(ValidateFileContentInPackage(pkgid,
"res/VERSION", version, params));
+ 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));
EXTENDED_ASSERT_EQ(backend.UninstallWithSubprocess(pkgid),
BackendInterface::SubProcessResult::SUCCESS);
EXTENDED_ASSERT_EQ(backend.MountInstallWithSubprocess(path_old),
BackendInterface::SubProcessResult::SUCCESS);
+ } else {
+ EXTENDED_ASSERT_TRUE(expected_file_status_old.IsEqual(new_file_status));
}
}
return true;
std::string exec = "smoketpk40";
ASSERT_EQ(BackendInterface::SubProcessResult::SUCCESS,
backend.MountInstallWithSubprocess(old_path));
+ FileInfoCollector expected_file_status(pkgid, params);
+ ASSERT_TRUE(expected_file_status.Init());
std::string test_uid_str = std::to_string(params.test_user.uid);
const char* argv[] =
{"", "-w", new_path.c_str(), "-u", test_uid_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));
ScopedTzipInterface package_mount(pkgid, params.test_user.uid);
EXTENDED_ASSERT_TRUE(ValidatePackage(pkgid, {appid, exec}, params));
EXTENDED_ASSERT_TRUE(ValidateFileContentInPackage(pkgid,
"RecoveryMode_ForReadonlyUpdateInstall.tpk";
bf::path path_new = kSmokePackagesDirectory /
"RecoveryMode_ForReadonlyUpdateInstall_2.tpk";
+ std::string pkgid = "smoketpk46";
+ std::string appid = "smoketpk46.RecoveryMode_ForReadonlyUpdateInstall";
+ std::string exec = "smoketpk46";
RemoveAllRecoveryFiles("/tpk-recovery", params.test_user.uid);
ASSERT_EQ(backend.InstallPreloadWithSubprocess(path_old),
BackendInterface::SubProcessResult::SUCCESS);
+ 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);
std::string test_uid_str = std::to_string(params.test_user.uid);
std::vector<std::string> args =
{"", "-i", path_new.string(), "-u", test_uid_str.c_str()};
backend.CrashAfterEachStep(&args, [&](int step) -> bool {
if (step >= 2) {
- std::string pkgid = "smoketpk46";
- std::string appid = "smoketpk46.RecoveryMode_ForReadonlyUpdateInstall";
- std::string exec = "smoketpk46";
bf::path recovery_file = FindRecoveryFile("/tpk-recovery",
params.test_user.uid);
EXTENDED_ASSERT_FALSE(recovery_file.empty());
GetRecoverFileInfo(recovery_file);
EXTENDED_ASSERT_EQ(backend.RecoverWithSubprocess(recovery_file),
BackendInterface::SubProcessResult::SUCCESS);
- if (recovery_info->cleanup())
+ FileInfoCollector* expected = &expected_file_status_old;
+ if (recovery_info->cleanup()) {
+ expected = &expected_file_status_new;
params.is_readonly = false;
+ }
+ FileInfoCollector new_file_status(pkgid, params);
+ EXTENDED_ASSERT_TRUE(new_file_status.Init());
+ EXTENDED_ASSERT_TRUE(expected->IsEqual(new_file_status));
EXTENDED_ASSERT_TRUE(ValidatePackage(pkgid, {appid, exec}, params));
std::string version = recovery_info->cleanup() ? "2" : "1";
EXTENDED_ASSERT_TRUE(
/ "RecoveryMode_AddResControl.tpk";
bf::path path_new = kSmokePackagesDirectory
/ "RecoveryMode_AddResControl_2.tpk";
- RemoveAllRecoveryFiles("/tpk-recovery", params.test_user.uid);
- ASSERT_EQ(backend.InstallWithSubprocess(path_old),
- BackendInterface::SubProcessResult::SUCCESS);
-
std::string pkgid = "smoketpk50";
std::string appid = "smoketpk50.RecoveryMode_AddResControl";
std::string exec = "native";
bf::path root_path = ci::GetRootAppPath(params.is_readonly,
params.test_user.uid);
+ RemoveAllRecoveryFiles("/tpk-recovery", params.test_user.uid);
+ ASSERT_EQ(backend.InstallWithSubprocess(path_old),
+ BackendInterface::SubProcessResult::SUCCESS);
+ 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);
std::string test_uid_str = std::to_string(params.test_user.uid);
std::vector<std::string> args =
dir_exists);
EXTENDED_ASSERT_EQ(bf::exists(root_path / pkgid / "res/mount/global"),
dir_exists);
+ 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));
EXTENDED_ASSERT_EQ(backend.UninstallWithSubprocess(pkgid),
BackendInterface::SubProcessResult::SUCCESS);
EXTENDED_ASSERT_EQ(backend.InstallWithSubprocess(path_old),
BackendInterface::SubProcessResult::SUCCESS);
+ } else {
+ EXTENDED_ASSERT_TRUE(expected_file_status_old.IsEqual(new_file_status));
}
}
return true;
/ "RecoveryMode_RemoveResControl.tpk";
bf::path path_new = kSmokePackagesDirectory
/ "RecoveryMode_RemoveResControl_2.tpk";
- RemoveAllRecoveryFiles("/tpk-recovery", params.test_user.uid);
- ASSERT_EQ(backend.InstallWithSubprocess(path_old),
- BackendInterface::SubProcessResult::SUCCESS);
-
std::string pkgid = "smoketpk51";
std::string appid = "smoketpk51.RecoveryMode_RemoveResControl";
std::string exec = "native";
bf::path root_path = ci::GetRootAppPath(params.is_readonly,
params.test_user.uid);
+ RemoveAllRecoveryFiles("/tpk-recovery", params.test_user.uid);
+ ASSERT_EQ(backend.InstallWithSubprocess(path_old),
+ BackendInterface::SubProcessResult::SUCCESS);
+ 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);
std::string test_uid_str = std::to_string(params.test_user.uid);
std::vector<std::string> args =
dir_exists);
EXTENDED_ASSERT_EQ(bf::exists(root_path / pkgid / "res/mount/global"),
dir_exists);
+ 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));
EXTENDED_ASSERT_EQ(backend.UninstallWithSubprocess(pkgid),
BackendInterface::SubProcessResult::SUCCESS);
EXTENDED_ASSERT_EQ(backend.InstallWithSubprocess(path_old),
BackendInterface::SubProcessResult::SUCCESS);
+ } else {
+ EXTENDED_ASSERT_TRUE(expected_file_status_old.IsEqual(new_file_status));
}
}
return true;