class PkgUpgraderFactory {
public:
std::list<std::unique_ptr<PkgUpgrader>> MakeList(PkgFinder* finder);
+ bool IsFailed();
private:
std::list<std::unique_ptr<PkgUpgrader>> Merge(
const std::list<PkgContext>& new_pkgs);
const PkgContext* FindPkgById(const std::list<PkgContext>& pkgs,
std::string id);
+
+ bool failed_ = false;
};
} // common_fota
list<unique_ptr<PkgUpgrader>> PkgUpgraderFactory::MakeList(PkgFinder* finder) {
if (finder->Find() != 0) {
LOG(ERROR) << "PkgFinder::Find() failed";
+ failed_ = true;
return {};
}
return Merge(finder->GetOldPkgs(), finder->GetNewPkgs());
}
+bool PkgUpgraderFactory::IsFailed() {
+ return failed_;
+}
+
list<unique_ptr<PkgUpgrader>> PkgUpgraderFactory::Merge(
const list<PkgContext>& old_pkgs, const list<PkgContext>& new_pkgs) {
list<unique_ptr<PkgUpgrader>> pkgs;
Upgrader upgrader;
upgrader.SetDbPath(db_path);
- EXPECT_TRUE(upgrader.Process(&finder_));
+ EXPECT_FALSE(upgrader.Process(&finder_));
std::string new_user_version = GetUserVersion(parser_db_path);
EXPECT_EQ(backup_user_version, new_user_version);
Upgrader upgrader;
upgrader.SetDbPath(db_path);
- EXPECT_TRUE(upgrader.Process(&finder_));
+ EXPECT_FALSE(upgrader.Process(&finder_));
std::string new_user_version = GetUserVersion(parser_db_path);
EXPECT_EQ(origin_user_version, new_user_version);
Upgrader upgrader;
upgrader.SetDbPath(db_path);
- EXPECT_TRUE(upgrader.Process(&finder_));
+ EXPECT_FALSE(upgrader.Process(&finder_));
std::string new_user_version = GetUserVersion(parser_db_path);
EXPECT_EQ(origin_user_version, new_user_version);