END_TEST START_TEST(test_filter_reponames) { HyQuery q; const char *repolist[] = {"main", "updates", NULL}; const char *repolist2[] = {"main", NULL}; const char *repolist3[] = {"foo", "bar", NULL}; q = hy_query_create(test_globals.sack); hy_query_filter_in(q, HY_PKG_REPONAME, HY_EQ, repolist); fail_unless(query_count_results(q) == TEST_EXPECT_MAIN_NSOLVABLES \ + TEST_EXPECT_UPDATES_NSOLVABLES); hy_query_free(q); q = hy_query_create(test_globals.sack); hy_query_filter_in(q, HY_PKG_REPONAME, HY_EQ, repolist2); fail_unless(query_count_results(q) == TEST_EXPECT_MAIN_NSOLVABLES); hy_query_free(q); q = hy_query_create(test_globals.sack); hy_query_filter_in(q, HY_PKG_REPONAME, HY_EQ, repolist3); fail_unless(query_count_results(q) == 0); hy_query_free(q); }
END_TEST START_TEST(test_query_evr) { HyQuery q = hy_query_create(test_globals.sack); hy_query_filter(q, HY_PKG_EVR, HY_EQ, "6.0-0"); fail_unless(query_count_results(q) == 1); hy_query_free(q); q = hy_query_create(test_globals.sack); hy_query_filter(q, HY_PKG_EVR, HY_GT, "5.9-0"); fail_unless(query_count_results(q) == 2); hy_query_free(q); q = hy_query_create(test_globals.sack); hy_query_filter(q, HY_PKG_EVR, HY_GT|HY_EQ, "5.0-0"); fail_unless(query_count_results(q) == 3); hy_query_free(q); const char *evrs[] = {"6.0-0", "2-9", "5.0-0", "0-100", NULL}; q = hy_query_create(test_globals.sack); hy_query_filter_in(q, HY_PKG_EVR, HY_EQ, evrs); fail_unless(query_count_results(q) == 3); hy_query_free(q); }
static void obsoletes(HifSack *sack) { HyQuery q = hy_query_create(sack); hy_query_filter(q, HY_PKG_REPONAME, HY_EQ, HY_SYSTEM_REPO_NAME); HifPackageSet *installed_pkgs = hy_query_run_set(q); hy_query_free(q); q = hy_query_create(sack); hy_query_filter_package_in(q, HY_PKG_OBSOLETES, HY_EQ, installed_pkgs); g_object_unref(installed_pkgs); execute_print(sack, q, 1); hy_query_free(q); }
END_TEST START_TEST(test_query_case) { HyQuery q = hy_query_create(test_globals.sack); hy_query_filter(q, HY_PKG_NAME, HY_EQ, "Penny-lib"); fail_unless(query_count_results(q) == 0); hy_query_free(q); q = hy_query_create(test_globals.sack); hy_query_filter(q, HY_PKG_NAME, HY_EQ|HY_ICASE, "Penny-lib"); fail_unless(query_count_results(q) == 1); hy_query_free(q); }
END_TEST START_TEST(test_query_evr) { HyQuery q = hy_query_create(test_globals.sack); hy_query_filter(q, HY_PKG_EVR, HY_EQ, "5.1-0"); fail_unless(query_count_results(q) == 0); hy_query_free(q); q = hy_query_create(test_globals.sack); hy_query_filter(q, HY_PKG_EVR, HY_EQ, "5.0-0"); fail_unless(query_count_results(q) == 1); hy_query_free(q); }
END_TEST START_TEST(test_query_provides_str) { HyQuery q = hy_query_create(test_globals.sack); hy_query_filter(q, HY_PKG_PROVIDES, HY_EQ, "pilchard"); ck_assert_int_eq(query_count_results(q), 2); hy_query_free(q); q = hy_query_create(test_globals.sack); hy_query_filter(q, HY_PKG_PROVIDES, HY_EQ, "fool = 1-2"); ck_assert_int_eq(query_count_results(q), 2); hy_query_free(q); }
END_TEST START_TEST(test_query_name) { HyQuery q; q = hy_query_create(test_globals.sack); hy_query_filter(q, HY_PKG_NAME, HY_SUBSTR, "penny"); fail_unless(query_count_results(q) == 2); hy_query_free(q); q = hy_query_create(test_globals.sack); hy_query_filter(q, HY_PKG_NAME, HY_EQ, "lane"); fail_if(query_count_results(q)); hy_query_free(q); }
static GPtrArray * query_all_packages_in_sack (RpmOstreeRefSack *rsack) { HyQuery hquery = NULL; g_autoptr(GPtrArray) pkglist = NULL; GPtrArray *result; int i, c; hquery = hy_query_create (rsack->sack); hy_query_filter (hquery, HY_PKG_REPONAME, HY_EQ, HY_SYSTEM_REPO_NAME); pkglist = hy_query_run (hquery); result = g_ptr_array_new_with_free_func (g_object_unref); c = pkglist->len; for (i = 0; i < c; i++) { DnfPackage *pkg = pkglist->pdata[i]; g_ptr_array_add (result, _rpm_ostree_package_new (rsack, pkg)); } if (hquery) hy_query_free (hquery); return g_steal_pointer (&result); }
END_TEST START_TEST(test_query_apply) { HySack sack = test_globals.sack; HyQuery q; HyPackageList plist; q = hy_query_create(sack); hy_query_filter(q, HY_PKG_NAME, HY_NOT | HY_GLOB, "j*"); struct _HyQuery _q = *q; fail_unless(_q.result == NULL); ck_assert_int_gt(_q.nfilters, 0); ck_assert_int_eq(_q.applied, 0); hy_query_apply(q); _q = *q; fail_unless(_q.result != NULL); ck_assert_int_eq(_q.nfilters, 0); ck_assert_int_eq(_q.applied, 1); hy_query_filter(q, HY_PKG_NAME, HY_NOT | HY_GLOB, "p*"); _q = *q; fail_unless(_q.result != NULL); ck_assert_int_gt(_q.nfilters, 0); ck_assert_int_eq(_q.applied, 0); plist = hy_query_run(q); ck_assert_int_eq(hy_packagelist_count(plist), 6); hy_packagelist_free(plist); hy_query_free(q); }
static void search_filter_files(HifSack *sack, const char *name) { HyQuery q = hy_query_create(sack); hy_query_filter(q, HY_PKG_FILE, HY_EQ, name); execute_print(sack, q, 0); hy_query_free(q); }
static void search_filter_repos(HifSack *sack, const char *name) { HyQuery q = hy_query_create(sack); hy_query_filter(q, HY_PKG_NAME, HY_EQ, name); hy_query_filter(q, HY_PKG_REPONAME, HY_NEQ, HY_SYSTEM_REPO_NAME); execute_print(sack, q, 0); hy_query_free(q); }
END_TEST START_TEST(test_query_fileprovides) { HyQuery q = hy_query_create(test_globals.sack); hy_query_filter(q, HY_PKG_FILE, HY_EQ, "/no/answers"); fail_unless(query_count_results(q) == 1); hy_query_free(q); }
END_TEST START_TEST(test_filter_description) { HyQuery q = hy_query_create(test_globals.sack); fail_if(hy_query_filter(q, HY_PKG_DESCRIPTION, HY_SUBSTR, "Magical development files for mystery.")); fail_unless(size_and_free(q) == 1); }
END_TEST START_TEST(test_downgradable) { HyQuery q = hy_query_create(test_globals.sack); hy_query_filter_downgradable(q, 1); ck_assert_int_eq(query_count_results(q), 2); hy_query_free(q); }
END_TEST START_TEST(test_query_glob) { HyQuery q = hy_query_create(test_globals.sack); hy_query_filter(q, HY_PKG_NAME, HY_GLOB, "pen*"); fail_unless(query_count_results(q) == 2); hy_query_free(q); }
END_TEST START_TEST(test_filter_sourcerpm) { HyQuery q = hy_query_create(test_globals.sack); fail_unless(hy_query_filter(q, HY_PKG_SOURCERPM, HY_GT, "tour-4-6.src.rpm")); fail_if(hy_query_filter(q, HY_PKG_SOURCERPM, HY_EQ, "tour-4-6.src.rpm")); fail_unless(size_and_free(q) == 1); q = hy_query_create(test_globals.sack); hy_query_filter(q, HY_PKG_SOURCERPM, HY_EQ, "mystery-19.67-1.src.rpm"); fail_unless(size_and_free(q) == 1); q = hy_query_create(test_globals.sack); hy_query_filter(q, HY_PKG_SOURCERPM, HY_EQ, "mystery-devel-19.67-1.noarch.rpm"); fail_unless(size_and_free(q) == 0); }
static void search_provides(HifSack *sack, const char *name, const char *version) { HyQuery q = hy_query_create(sack); hy_query_filter_provides(q, HY_GT, name, version); execute_print(sack, q, 0); hy_query_free(q); }
END_TEST START_TEST(test_query_empty) { HyQuery q = hy_query_create(test_globals.sack); fail_if(hy_query_filter_empty(q)); fail_unless(query_count_results(q) == 0); hy_query_free(q); }
END_TEST START_TEST(test_query_epoch) { HyQuery q = hy_query_create(test_globals.sack); fail_unless(hy_query_filter(q, HY_PKG_EPOCH, HY_GT|HY_EQ, "1")); fail_if(hy_query_filter_num(q, HY_PKG_EPOCH, HY_GT|HY_EQ, 1)); fail_unless(query_count_results(q) == 1); hy_query_free(q); }
static void search_anded(HifSack *sack, const char *name_substr, const char *summary_substr) { HyQuery q = hy_query_create(sack); hy_query_filter(q, HY_PKG_NAME, HY_SUBSTR, name_substr); hy_query_filter(q, HY_PKG_SUMMARY, HY_SUBSTR, summary_substr); execute_print(sack, q, 0); hy_query_free(q); }
END_TEST START_TEST(test_query_provides) { HySack sack = test_globals.sack; HyQuery q; q = hy_query_create(sack); hy_query_filter_provides(q, HY_LT, "fool", "2.0"); fail_unless(size_and_free(q) == 1); q = hy_query_create(sack); hy_query_filter_provides(q, HY_GT, "fool", "2.0"); fail_unless(size_and_free(q) == 0); q = hy_query_create(sack); hy_query_filter_provides(q, HY_EQ, "P", "3-3"); fail_unless(size_and_free(q) == 1); }
END_TEST START_TEST(test_query_version) { HyQuery q = hy_query_create(test_globals.sack); hy_query_filter(q, HY_PKG_VERSION, HY_EQ, "5.0"); fail_unless(query_count_results(q) == 2); hy_query_free(q); q = hy_query_create(test_globals.sack); hy_query_filter(q, HY_PKG_VERSION, HY_GT, "5.2.1"); fail_unless(query_count_results(q) == 1); hy_query_free(q); q = hy_query_create(test_globals.sack); hy_query_filter(q, HY_PKG_VERSION, HY_GT|HY_EQ, "5."); fail_unless(query_count_results(q) == 3); hy_query_free(q); }
END_TEST START_TEST(test_query_release) { HyQuery q = hy_query_create(test_globals.sack); hy_query_filter(q, HY_PKG_RELEASE, HY_EQ, "11"); fail_unless(query_count_results(q) == 1); hy_query_free(q); q = hy_query_create(test_globals.sack); hy_query_filter(q, HY_PKG_RELEASE, HY_GT, "9"); fail_unless(query_count_results(q) == 1); hy_query_free(q); q = hy_query_create(test_globals.sack); hy_query_filter(q, HY_PKG_RELEASE, HY_GT|HY_EQ, "9"); fail_unless(query_count_results(q) == 2); hy_query_free(q); }
END_TEST START_TEST(test_query_repo) { HyQuery q; q = hy_query_create(test_globals.sack); hy_query_filter(q, HY_PKG_REPONAME, HY_EQ, HY_SYSTEM_REPO_NAME); fail_unless(query_count_results(q) == TEST_EXPECT_SYSTEM_NSOLVABLES); hy_query_free(q); q = hy_query_create(test_globals.sack); hy_query_filter(q, HY_PKG_REPONAME, HY_NEQ, HY_SYSTEM_REPO_NAME); fail_if(query_count_results(q)); hy_query_free(q); }
END_TEST START_TEST(test_query_neq) { HyQuery q; q = hy_query_create(test_globals.sack); hy_query_filter(q, HY_PKG_NAME, HY_NEQ, "penny-lib"); fail_unless(query_count_results(q) == TEST_EXPECT_SYSTEM_PKGS - 1); hy_query_free(q); }
END_TEST START_TEST(test_filter_files) { HyQuery q = hy_query_create(test_globals.sack); hy_query_filter(q, HY_PKG_FILE, HY_EQ, "/etc/takeyouaway"); HyPackageList plist = hy_query_run(q); fail_unless(hy_packagelist_count(plist) == 1); HyPackage pkg = hy_packagelist_get(plist, 0); fail_if(strcmp(hy_package_get_name(pkg), "tour")); hy_packagelist_free(plist); hy_query_free(q); q = hy_query_create(test_globals.sack); hy_query_filter(q, HY_PKG_FILE, HY_GLOB, "/usr/*"); plist = hy_query_run(q); fail_unless(hy_packagelist_count(plist) == 2); hy_packagelist_free(plist); hy_query_free(q); }
static void updatables_query_name(HifSack *sack, const char *name) { HyQuery q = hy_query_create(sack); hy_query_filter(q, HY_PKG_NAME, HY_EQ, name); #if 0 // must stil work if enabled hy_query_filter(q, HY_PKG_REPONAME, HY_NEQ, HY_SYSTEM_REPO_NAME); #endif hy_query_filter_upgrades(q, 1); execute_print(sack, q, 0); hy_query_free(q); }
END_TEST START_TEST(test_query_in) { HyQuery q; const char *namelist[] = {"penny", "fool", NULL}; q = hy_query_create(test_globals.sack); hy_query_filter_in(q, HY_PKG_NAME, HY_EQ, namelist); fail_unless(query_count_results(q) == 2); hy_query_free(q); }
END_TEST START_TEST(test_upgrades) { const char *installonly[] = {"fool", NULL}; hy_sack_set_installonly(test_globals.sack, installonly); HyQuery q = hy_query_create(test_globals.sack); hy_query_filter_upgrades(q, 1); fail_unless(query_count_results(q) == TEST_EXPECT_UPDATES_NSOLVABLES - 2); hy_query_free(q); }
END_TEST START_TEST(test_filter_latest_archs) { HyQuery q = hy_query_create(test_globals.sack); hy_query_filter(q, HY_PKG_NAME, HY_EQ, "penny-lib"); hy_query_filter_latest_per_arch(q, 1); HyPackageList plist = hy_query_run(q); fail_unless(hy_packagelist_count(plist) == 2); /* both architectures */ hy_query_free(q); hy_packagelist_free(plist); }