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_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); }
/* assert on installed-upgraded-erased-obsoleted numbers */ static void assert_iueo(HyGoal goal, int i, int u, int e, int o) { ck_assert_int_eq(size_and_free(hy_goal_list_installs(goal, NULL)), i); ck_assert_int_eq(size_and_free(hy_goal_list_upgrades(goal, NULL)), u); ck_assert_int_eq(size_and_free(hy_goal_list_erasures(goal, NULL)), e); ck_assert_int_eq(size_and_free(hy_goal_list_obsoleted(goal, NULL)), o); }
/** * hif_goal_get_packages: */ GPtrArray * hif_goal_get_packages (HyGoal goal, ...) { GPtrArray *array; HyPackage pkg; gint info_tmp; guint i; guint j; va_list args; /* process the valist */ va_start (args, goal); array = g_ptr_array_new_with_free_func ((GDestroyNotify) hy_package_free); for (j = 0;; j++) { HyPackageList pkglist = NULL; info_tmp = va_arg (args, gint); if (info_tmp == -1) break; switch (info_tmp) { case HIF_PACKAGE_INFO_REMOVE: pkglist = hy_goal_list_erasures (goal); FOR_PACKAGELIST(pkg, pkglist, i) { hif_package_set_action (pkg, HIF_STATE_ACTION_REMOVE); g_ptr_array_add (array, hy_package_link (pkg)); } break; case HIF_PACKAGE_INFO_INSTALL: pkglist = hy_goal_list_installs (goal); FOR_PACKAGELIST(pkg, pkglist, i) { hif_package_set_action (pkg, HIF_STATE_ACTION_INSTALL); g_ptr_array_add (array, hy_package_link (pkg)); } break; case HIF_PACKAGE_INFO_OBSOLETE: pkglist = hy_goal_list_obsoleted (goal); FOR_PACKAGELIST(pkg, pkglist, i) { hif_package_set_action (pkg, HIF_STATE_ACTION_OBSOLETE); g_ptr_array_add (array, hy_package_link (pkg)); }