X-Git-Url: https://git.librecmc.org/?p=oweals%2Fopkg-lede.git;a=blobdiff_plain;f=tests%2Flibopkg_test.c;h=fe1cefd8839a59fb95c779d8db88e3c2c12730ba;hp=79e33ab9ffe750750da3b3fb06b7aa48b3947021;hb=871744d4c3437d0de1294343b0fe4202f2111def;hpb=d1f5423230ce4b81db9c4433399c71065506dd82 diff --git a/tests/libopkg_test.c b/tests/libopkg_test.c index 79e33ab..fe1cefd 100644 --- a/tests/libopkg_test.c +++ b/tests/libopkg_test.c @@ -9,6 +9,28 @@ progress_callback (opkg_t *opkg, int percent, void *data) fflush (stdout); } +void +package_list_callback (opkg_t *opkg, opkg_package_t *pkg, void *data) +{ + static install_count = 0; + static total_count = 0; + + if (pkg->installed) + install_count++; + + total_count++; + + printf ("\rPackage count: %d Installed, %d Total Available", install_count, total_count); + fflush (stdout); + + opkg_package_free (pkg); +} + +void +package_list_upgradable_callback (opkg_t *opkg, opkg_package_t *pkg, void *data) +{ + printf ("%s - %s\n", pkg->name, pkg->version); +} int main (int argc, char **argv) @@ -20,7 +42,7 @@ main (int argc, char **argv) opkg_set_option (opkg, "offline_root", "/tmp/"); - opkg_read_config_files (opkg); + opkg_re_read_config_files (opkg); err = opkg_update_package_lists (opkg, progress_callback, "Updating..."); printf ("\nopkg_update_package_lists returned %d\n", err); @@ -31,11 +53,17 @@ main (int argc, char **argv) err = opkg_upgrade_package (opkg, "aspell", progress_callback, "Upgrading..."); printf ("\nopkg_upgrade_package returned %d\n", err); - err = opkg_upgrade_all (opkg, progress_callback, "Upgrading all..."); - printf ("\nopkg_upgrade_package returned %d\n", err); - err = opkg_remove_package (opkg, "aspell", progress_callback, "Removing..."); printf ("\nopkg_remove_package returned %d\n", err); + printf ("Listing upgradable packages...\n"); + opkg_list_upgradable_packages (opkg, package_list_upgradable_callback, NULL); + + err = opkg_upgrade_all (opkg, progress_callback, "Upgrading all..."); + printf ("\nopkg_upgrade_all returned %d\n", err); + + opkg_list_packages (opkg, package_list_callback, NULL); + printf ("\n"); + opkg_free (opkg); }