END_TEST START_TEST(test_goal_installonly_limit_with_modules) { // most complex installonly test case, includes the k-m packages const char *installonly[] = {"k", "k-m", NULL}; HySack sack = test_globals.sack; hy_sack_set_installonly(sack, installonly); hy_sack_set_installonly_limit(sack, 3); sack->running_kernel_fn = mock_running_kernel; HyGoal goal = hy_goal_create(sack); hy_goal_upgrade_all(goal); fail_if(hy_goal_run_flags(goal, 0)); assert_iueo(goal, 2, 0, 5, 0); HyPackageList erasures = hy_goal_list_erasures(goal); assert_nevra_eq(hy_packagelist_get(erasures, 0), "k-1-0.x86_64"); assert_nevra_eq(hy_packagelist_get(erasures, 1), "k-m-1-0.x86_64"); assert_nevra_eq(hy_packagelist_get(erasures, 2), "k-freak-1-0-1-0.x86_64"); assert_nevra_eq(hy_packagelist_get(erasures, 3), "k-2-0.x86_64"); assert_nevra_eq(hy_packagelist_get(erasures, 4), "k-m-2-0.x86_64"); hy_packagelist_free(erasures); hy_goal_free(goal); }
END_TEST START_TEST(test_goal_installonly_limit_with_modules) { // most complex installonly test case, includes the k-m packages const char *installonly[] = {"k", "k-m", NULL}; DnfSack *sack = test_globals.sack; dnf_sack_set_installonly(sack, installonly); dnf_sack_set_installonly_limit(sack, 3); dnf_sack_set_running_kernel_fn(sack, mock_running_kernel); HyGoal goal = hy_goal_create(sack); hy_goal_upgrade_all(goal); fail_if(hy_goal_run_flags(goal, 0)); assert_iueo(goal, 2, 0, 5, 0); GPtrArray *erasures = hy_goal_list_erasures(goal, NULL); assert_nevra_eq(g_ptr_array_index(erasures, 0), "k-1-0.x86_64"); assert_nevra_eq(g_ptr_array_index(erasures, 1), "k-m-1-0.x86_64"); assert_nevra_eq(g_ptr_array_index(erasures, 2), "k-freak-1-0-1-0.x86_64"); assert_nevra_eq(g_ptr_array_index(erasures, 3), "k-2-0.x86_64"); assert_nevra_eq(g_ptr_array_index(erasures, 4), "k-m-2-0.x86_64"); g_ptr_array_unref(erasures); hy_goal_free(goal); }
END_TEST START_TEST(test_goal_unneeded) { DnfSack *sack = test_globals.sack; HyGoal goal = hy_goal_create(sack); userinstalled(sack, goal, "baby"); userinstalled(sack, goal, "dog"); userinstalled(sack, goal, "fool"); userinstalled(sack, goal, "gun"); userinstalled(sack, goal, "jay"); userinstalled(sack, goal, "penny"); userinstalled(sack, goal, "pilchard"); hy_goal_run(goal); GPtrArray *plist = hy_goal_list_unneeded(goal, NULL); ck_assert_int_eq(plist->len, 4); DnfPackage *pkg = g_ptr_array_index(plist, 0); assert_nevra_eq(pkg, "flying-2-9.noarch"); pkg = g_ptr_array_index(plist, 1); assert_nevra_eq(pkg, "penny-lib-4-1.x86_64"); g_ptr_array_unref(plist); hy_goal_free(goal); }
END_TEST START_TEST(test_goal_unneeded) { HySack sack = test_globals.sack; HyGoal goal = hy_goal_create(sack); userinstalled(sack, goal, "baby"); userinstalled(sack, goal, "dog"); userinstalled(sack, goal, "fool"); userinstalled(sack, goal, "gun"); userinstalled(sack, goal, "jay"); userinstalled(sack, goal, "penny"); userinstalled(sack, goal, "pilchard"); hy_goal_run(goal); HyPackageList plist = hy_goal_list_unneeded(goal); ck_assert_int_eq(hy_packagelist_count(plist), 4); HyPackage pkg = hy_packagelist_get(plist, 0); assert_nevra_eq(pkg, "flying-2-9.noarch"); pkg = hy_packagelist_get(plist, 1); assert_nevra_eq(pkg, "penny-lib-4-1.x86_64"); hy_packagelist_free(plist); hy_goal_free(goal); }
END_TEST START_TEST(test_goal_selector_upgrade) { HySelector sltr = hy_selector_create(test_globals.sack); HyGoal goal = hy_goal_create(test_globals.sack); fail_if(hy_selector_set(sltr, HY_PKG_NAME, HY_EQ, "dog")); fail_if(hy_selector_set(sltr, HY_PKG_EVR, HY_EQ, "1-2")); fail_if(hy_goal_upgrade_to_selector(goal, sltr)); fail_if(hy_goal_run(goal)); HyPackageList plist = hy_goal_list_upgrades(goal); fail_unless(hy_packagelist_count(plist) == 1); assert_nevra_eq(hy_packagelist_get(plist, 0), "dog-1-2.x86_64"); hy_packagelist_free(plist); hy_goal_free(goal); hy_selector_free(sltr); sltr = hy_selector_create(test_globals.sack); goal = hy_goal_create(test_globals.sack); fail_if(hy_selector_set(sltr, HY_PKG_NAME, HY_EQ, "pilchard")); fail_if(hy_goal_upgrade_to_selector(goal, sltr)); fail_if(hy_goal_run(goal)); assert_iueo(goal, 0, 2, 0, 0); hy_goal_free(goal); hy_selector_free(sltr); }
END_TEST START_TEST(test_goal_selector_upgrade) { HySelector sltr = hy_selector_create(test_globals.sack); HyGoal goal = hy_goal_create(test_globals.sack); fail_if(hy_selector_set(sltr, HY_PKG_NAME, HY_EQ, "dog")); fail_if(hy_selector_set(sltr, HY_PKG_EVR, HY_EQ, "1-2")); fail_if(hy_goal_upgrade_to_selector(goal, sltr)); fail_if(hy_goal_run(goal)); GPtrArray *plist = hy_goal_list_upgrades(goal, NULL); fail_unless(plist->len == 1); assert_nevra_eq(g_ptr_array_index(plist, 0), "dog-1-2.x86_64"); g_ptr_array_unref(plist); hy_goal_free(goal); hy_selector_free(sltr); sltr = hy_selector_create(test_globals.sack); goal = hy_goal_create(test_globals.sack); fail_if(hy_selector_set(sltr, HY_PKG_NAME, HY_EQ, "pilchard")); fail_if(hy_goal_upgrade_to_selector(goal, sltr)); fail_if(hy_goal_run(goal)); assert_iueo(goal, 0, 2, 0, 0); hy_goal_free(goal); hy_selector_free(sltr); }
END_TEST START_TEST(test_goal_distupgrade_all_keep_arch) { HyGoal goal = hy_goal_create(test_globals.sack); fail_if(hy_goal_distupgrade_all(goal)); fail_if(hy_goal_run(goal)); assert_iueo(goal, 0, 5, 0, 1); HyPackageList plist = hy_goal_list_upgrades(goal); // gun pkg is not upgraded to latest version of different arch assert_nevra_eq(hy_packagelist_get(plist, 0), "dog-1-2.x86_64"); assert_nevra_eq(hy_packagelist_get(plist, 1), "pilchard-1.2.4-1.i686"); assert_nevra_eq(hy_packagelist_get(plist, 2), "pilchard-1.2.4-1.x86_64"); assert_nevra_eq(hy_packagelist_get(plist, 3), "flying-3.1-0.x86_64"); assert_nevra_eq(hy_packagelist_get(plist, 4), "fool-1-5.noarch"); hy_packagelist_free(plist); plist = hy_goal_list_obsoleted(goal); fail_unless(hy_packagelist_count(plist) == 1); assert_nevra_eq(hy_packagelist_get(plist, 0), "penny-4-1.noarch"); hy_packagelist_free(plist); plist = hy_goal_list_downgrades(goal); fail_unless(hy_packagelist_count(plist) == 1); assert_nevra_eq(hy_packagelist_get(plist, 0), "baby-6:4.9-3.x86_64"); hy_packagelist_free(plist); hy_goal_free(goal); }
END_TEST START_TEST(test_goal_distupgrade_all_keep_arch) { HyGoal goal = hy_goal_create(test_globals.sack); fail_if(hy_goal_distupgrade_all(goal)); fail_if(hy_goal_run(goal)); assert_iueo(goal, 0, 5, 0, 1); GPtrArray *plist = hy_goal_list_upgrades(goal, NULL); // gun pkg is not upgraded to latest version of different arch assert_nevra_eq(g_ptr_array_index(plist, 0), "dog-1-2.x86_64"); assert_nevra_eq(g_ptr_array_index(plist, 1), "pilchard-1.2.4-1.i686"); assert_nevra_eq(g_ptr_array_index(plist, 2), "pilchard-1.2.4-1.x86_64"); assert_nevra_eq(g_ptr_array_index(plist, 3), "flying-3.1-0.x86_64"); assert_nevra_eq(g_ptr_array_index(plist, 4), "fool-1-5.noarch"); g_ptr_array_unref(plist); plist = hy_goal_list_obsoleted(goal, NULL); fail_unless(plist->len == 1); assert_nevra_eq(g_ptr_array_index(plist, 0), "penny-4-1.noarch"); g_ptr_array_unref(plist); plist = hy_goal_list_downgrades(goal, NULL); fail_unless(plist->len == 1); assert_nevra_eq(g_ptr_array_index(plist, 0), "baby-6:4.9-3.x86_64"); g_ptr_array_unref(plist); hy_goal_free(goal); }
END_TEST START_TEST(test_goal_distupgrade_all) { HyGoal goal = hy_goal_create(test_globals.sack); fail_if(hy_goal_distupgrade_all(goal)); fail_if(hy_goal_run(goal)); assert_iueo(goal, 0, 1, 0, 0); GPtrArray *plist = hy_goal_list_upgrades(goal, NULL); assert_nevra_eq(g_ptr_array_index(plist, 0), "flying-3-0.noarch"); g_ptr_array_unref(plist); plist = hy_goal_list_downgrades(goal, NULL); fail_unless(plist->len == 1); assert_nevra_eq(g_ptr_array_index(plist, 0), "baby-6:4.9-3.x86_64"); g_ptr_array_unref(plist); hy_goal_free(goal); }
END_TEST START_TEST(test_goal_distupgrade_all) { HyGoal goal = hy_goal_create(test_globals.sack); fail_if(hy_goal_distupgrade_all(goal)); fail_if(hy_goal_run(goal)); assert_iueo(goal, 0, 1, 0, 0); HyPackageList plist = hy_goal_list_upgrades(goal); assert_nevra_eq(hy_packagelist_get(plist, 0), "flying-3-0.noarch"); hy_packagelist_free(plist); plist = hy_goal_list_downgrades(goal); fail_unless(hy_packagelist_count(plist) == 1); assert_nevra_eq(hy_packagelist_get(plist, 0), "baby-6:4.9-3.x86_64"); hy_packagelist_free(plist); hy_goal_free(goal); }
END_TEST START_TEST(test_goal_installonly_limit) { const char *installonly[] = {"k", NULL}; DnfSack *sack = test_globals.sack; dnf_sack_set_installonly(sack, installonly); dnf_sack_set_installonly_limit(sack, 3); dnf_sack_set_running_kernel_fn(sack, mock_running_kernel_no); HyGoal goal = hy_goal_create(sack); hy_goal_upgrade_all(goal); fail_if(hy_goal_run_flags(goal, 0)); assert_iueo(goal, 1, 1, 3, 0); // k-m is just upgraded GPtrArray *erasures = hy_goal_list_erasures(goal, NULL); assert_nevra_eq(g_ptr_array_index(erasures, 0), "k-1-0.x86_64"); assert_nevra_eq(g_ptr_array_index(erasures, 1), "k-freak-1-0-1-0.x86_64"); assert_nevra_eq(g_ptr_array_index(erasures, 2), "k-1-1.x86_64"); g_ptr_array_unref(erasures); hy_goal_free(goal); }
END_TEST START_TEST(test_goal_installonly_limit) { const char *installonly[] = {"k", NULL}; HySack sack = test_globals.sack; hy_sack_set_installonly(sack, installonly); hy_sack_set_installonly_limit(sack, 3); sack->running_kernel_fn = mock_running_kernel_no; HyGoal goal = hy_goal_create(sack); hy_goal_upgrade_all(goal); fail_if(hy_goal_run_flags(goal, 0)); assert_iueo(goal, 1, 1, 3, 0); // k-m is just upgraded HyPackageList erasures = hy_goal_list_erasures(goal); assert_nevra_eq(hy_packagelist_get(erasures, 0), "k-1-0.x86_64"); assert_nevra_eq(hy_packagelist_get(erasures, 1), "k-freak-1-0-1-0.x86_64"); assert_nevra_eq(hy_packagelist_get(erasures, 2), "k-1-1.x86_64"); hy_packagelist_free(erasures); hy_goal_free(goal); }
END_TEST START_TEST(test_goal_distupgrade_selector_upgrade) { HyGoal goal = hy_goal_create(test_globals.sack); HySelector sltr = hy_selector_create(test_globals.sack); hy_selector_set(sltr, HY_PKG_NAME, HY_EQ, "flying"); fail_if(hy_goal_distupgrade_selector(goal, sltr)); fail_if(hy_goal_run(goal)); assert_iueo(goal, 0, 1, 0, 0); HyPackageList plist = hy_goal_list_upgrades(goal); assert_nevra_eq(hy_packagelist_get(plist, 0), "flying-3-0.noarch"); hy_packagelist_free(plist); hy_goal_free(goal); hy_selector_free(sltr); }
END_TEST START_TEST(test_goal_distupgrade_selector_upgrade) { HyGoal goal = hy_goal_create(test_globals.sack); HySelector sltr = hy_selector_create(test_globals.sack); hy_selector_set(sltr, HY_PKG_NAME, HY_EQ, "flying"); fail_if(hy_goal_distupgrade_selector(goal, sltr)); fail_if(hy_goal_run(goal)); assert_iueo(goal, 0, 1, 0, 0); GPtrArray *plist = hy_goal_list_upgrades(goal, NULL); assert_nevra_eq(g_ptr_array_index(plist, 0), "flying-3-0.noarch"); g_ptr_array_unref(plist); hy_goal_free(goal); hy_selector_free(sltr); }
END_TEST START_TEST(test_goal_distupgrade_selector_downgrade) { HyGoal goal = hy_goal_create(test_globals.sack); HySelector sltr = hy_selector_create(test_globals.sack); hy_selector_set(sltr, HY_PKG_NAME, HY_EQ, "baby"); fail_if(hy_goal_distupgrade_selector(goal, sltr)); fail_if(hy_goal_run(goal)); assert_iueo(goal, 0, 0, 0, 0); GPtrArray *plist = hy_goal_list_downgrades(goal, NULL); fail_unless(plist->len == 1); assert_nevra_eq(g_ptr_array_index(plist, 0), "baby-6:4.9-3.x86_64"); g_ptr_array_unref(plist); hy_goal_free(goal); hy_selector_free(sltr); }
END_TEST START_TEST(test_goal_distupgrade_selector_downgrade) { HyGoal goal = hy_goal_create(test_globals.sack); HySelector sltr = hy_selector_create(test_globals.sack); hy_selector_set(sltr, HY_PKG_NAME, HY_EQ, "baby"); fail_if(hy_goal_distupgrade_selector(goal, sltr)); fail_if(hy_goal_run(goal)); assert_iueo(goal, 0, 0, 0, 0); HyPackageList plist = hy_goal_list_downgrades(goal); fail_unless(hy_packagelist_count(plist) == 1); assert_nevra_eq(hy_packagelist_get(plist, 0), "baby-6:4.9-3.x86_64"); hy_packagelist_free(plist); hy_goal_free(goal); hy_selector_free(sltr); }
END_TEST START_TEST(test_goal_distupgrade_all_excludes) { HyQuery q = hy_query_create_flags(test_globals.sack, HY_IGNORE_EXCLUDES); hy_query_filter_provides(q, HY_GT|HY_EQ, "flying", "0"); HyPackageSet pset = hy_query_run_set(q); hy_sack_add_excludes(test_globals.sack, pset); hy_packageset_free(pset); hy_query_free(q); HyGoal goal = hy_goal_create(test_globals.sack); fail_if(hy_goal_distupgrade_all(goal)); fail_if(hy_goal_run(goal)); assert_iueo(goal, 0, 0, 0, 0); HyPackageList plist = hy_goal_list_downgrades(goal); fail_unless(hy_packagelist_count(plist) == 1); assert_nevra_eq(hy_packagelist_get(plist, 0), "baby-6:4.9-3.x86_64"); hy_packagelist_free(plist); hy_goal_free(goal); }
END_TEST START_TEST(test_goal_distupgrade_all_excludes) { HyQuery q = hy_query_create_flags(test_globals.sack, HY_IGNORE_EXCLUDES); hy_query_filter_provides(q, HY_GT|HY_EQ, "flying", "0"); DnfPackageSet *pset = hy_query_run_set(q); dnf_sack_add_excludes(test_globals.sack, pset); g_object_unref(pset); hy_query_free(q); HyGoal goal = hy_goal_create(test_globals.sack); fail_if(hy_goal_distupgrade_all(goal)); fail_if(hy_goal_run(goal)); assert_iueo(goal, 0, 0, 0, 0); GPtrArray *plist = hy_goal_list_downgrades(goal, NULL); fail_unless(plist->len == 1); assert_nevra_eq(g_ptr_array_index(plist, 0), "baby-6:4.9-3.x86_64"); g_ptr_array_unref(plist); hy_goal_free(goal); }