1 #include <gtest/gtest.h>
5 static boost::filesystem::path test_sysroot;
7 TEST(version, bad_versions) {
15 TEST(version, good_versions) {
25 TEST(helpers, lite_client_finalize) {
29 config.storage.path = cfg_dir.Path();
30 config.pacman.type = PackageManager::kOstree;
31 config.pacman.sysroot = test_sysroot;
32 std::shared_ptr<INvStorage> storage = INvStorage::newStorage(config.storage);
34 Json::Value target_json;
35 target_json[
"hashes"][
"sha256"] =
"deadbeef";
36 target_json[
"custom"][
"targetFormat"] =
"OSTREE";
37 target_json[
"length"] = 0;
40 setenv(
"OSTREE_HASH",
"deadbeef", 1);
41 storage->savePrimaryInstalledVersion(target, InstalledVersionUpdateMode::kPending);
42 ASSERT_TRUE(target.MatchHash(
LiteClient(config).primary->getCurrent().hashes()[0]));
45 config.storage.path = cfg_dir.Path();
46 config.pacman.type = PackageManager::kOstree;
47 config.pacman.sysroot = test_sysroot;
49 setenv(
"OSTREE_HASH",
"abcd", 1);
50 storage->savePrimaryInstalledVersion(target, InstalledVersionUpdateMode::kPending);
51 ASSERT_FALSE(target.MatchHash(
LiteClient(config).primary->getCurrent().hashes()[0]));
55 int main(
int argc,
char **argv) {
56 ::testing::InitGoogleTest(&argc, argv);
59 std::cerr <<
"Error: " << argv[0] <<
" requires the path to an OSTree sysroot.\n";
65 int r = system((std::string(
"cp -r ") + argv[1] + std::string(
" ") + temp_dir.PathString()).c_str());
69 test_sysroot = (temp_dir.Path() /
"ostree_repo").
string();
71 return RUN_ALL_TESTS();