X-Git-Url: https://git.librecmc.org/?p=oweals%2Fopkg-lede.git;a=blobdiff_plain;f=tests%2Flibopkg_test.c;h=31a22b0b51df2d7a16617be4d2b5a164e7ccbdf4;hp=42ef9003fe44beadb8cc789df907e29e4552eeab;hb=0d9f9342d4b6071c158351d4c30370ddf36dc7ec;hpb=2fdb3fc0b67757afd6fe7a244b6e14d2a546af0e diff --git a/tests/libopkg_test.c b/tests/libopkg_test.c index 42ef900..31a22b0 100644 --- a/tests/libopkg_test.c +++ b/tests/libopkg_test.c @@ -1,22 +1,12 @@ -#include -#include #include +#include #include +#include -opkg_package_t *find_pkg = NULL; +#include -char *errors[10] = { - "No Error", - "Unknown Eror", - "Download failed", - "Dependancies failed", - "Package already installed", - "Package not available", - "Package not found", - "Package not installed", - "Signature check failed", - "MD5 sum failed" -}; +int opkg_state_changed; +pkg_t *find_pkg = NULL; #define TEST_PACKAGE "aspell" @@ -24,17 +14,31 @@ char *errors[10] = { void progress_callback (const opkg_progress_data_t *progress, void *data) { - printf ("\r%s %3d%%", (char*) data, progress->percentage); + printf ("\r%s %3d%%\n", (char*) data, progress->percentage); fflush (stdout); } +static void list_pkg(pkg_t *pkg) +{ + char *v = pkg_version_str_alloc(pkg); + printf ("%s - %s\n", pkg->name, v); + free(v); +} + void -package_list_callback (opkg_package_t *pkg, void *data) +package_list_installed_callback (pkg_t *pkg, void *data) { - static install_count = 0; - static total_count = 0; + if (pkg->state_status == SS_INSTALLED) + list_pkg(pkg); +} + +void +package_list_callback (pkg_t *pkg, void *data) +{ + static int install_count = 0; + static int total_count = 0; - if (pkg->installed) + if (pkg->state_status == SS_INSTALLED) install_count++; total_count++; @@ -47,20 +51,18 @@ package_list_callback (opkg_package_t *pkg, void *data) /* store the first package to print out later */ find_pkg = pkg; } - else - opkg_package_free (pkg); } void -package_list_upgradable_callback (opkg_package_t *pkg, void *data) +package_list_upgradable_callback (pkg_t *pkg, void *data) { - printf ("%s - %s\n", pkg->name, pkg->version); - opkg_package_free (pkg); + list_pkg(pkg); } void -print_package (opkg_package_t *pkg) +print_package (pkg_t *pkg) { + char *v = pkg_version_str_alloc(pkg); printf ( "Name: %s\n" "Version: %s\n" @@ -68,17 +70,17 @@ print_package (opkg_package_t *pkg) "Architecture: %s\n" "Description: %s\n" "Tags: %s\n" - "Size: %d\n" - "Installed: %s\n", + "Size: %ld\n" + "Status: %d\n", pkg->name, - pkg->version, - pkg->repository, + v, + pkg->src->name, pkg->architecture, pkg->description, - pkg->tags, + pkg->tags? pkg->tags : "", pkg->size, - (pkg->installed ? "True" : "False") - ); + pkg->state_status); + free(v); } @@ -86,10 +88,10 @@ void opkg_test (void) { int err; - opkg_package_t *pkg; + pkg_t *pkg; err = opkg_update_package_lists (progress_callback, "Updating..."); - printf ("\nopkg_update_package_lists returned %d (%s)\n", err, errors[err]); + printf ("\nopkg_update_package_lists returned %d\n", err); opkg_list_packages (package_list_callback, NULL); printf ("\n"); @@ -97,40 +99,38 @@ opkg_test (void) if (find_pkg) { printf ("Finding package \"%s\"\n", find_pkg->name); - pkg = opkg_find_package (find_pkg->name, find_pkg->version, find_pkg->architecture, find_pkg->repository); + pkg = opkg_find_package (find_pkg->name, find_pkg->version, find_pkg->architecture, find_pkg->src->name); if (pkg) { print_package (pkg); - opkg_package_free (pkg); } else printf ("Package \"%s\" not found!\n", find_pkg->name); - opkg_package_free (find_pkg); } else printf ("No package available to test find_package.\n"); err = opkg_install_package (TEST_PACKAGE, progress_callback, "Installing..."); - printf ("\nopkg_install_package returned %d (%s)\n", err, errors[err]); + printf ("\nopkg_install_package returned %d\n", err); err = opkg_upgrade_package (TEST_PACKAGE, progress_callback, "Upgrading..."); - printf ("\nopkg_upgrade_package returned %d (%s)\n", err, errors[err]); + printf ("\nopkg_upgrade_package returned %d\n", err); err = opkg_remove_package (TEST_PACKAGE, progress_callback, "Removing..."); - printf ("\nopkg_remove_package returned %d (%s)\n", err, errors[err]); + printf ("\nopkg_remove_package returned %d\n", err); printf ("Listing upgradable packages...\n"); opkg_list_upgradable_packages (package_list_upgradable_callback, NULL); err = opkg_upgrade_all (progress_callback, "Upgrading all..."); - printf ("\nopkg_upgrade_all returned %d (%s)\n", err, errors[err]); + printf ("\nopkg_upgrade_all returned %d\n", err); } int main (int argc, char **argv) { - opkg_package_t *pkg; + pkg_t *pkg; int err; if (argc < 2) @@ -150,12 +150,14 @@ main (int argc, char **argv) , basename (argv[0])); exit (0); } - - opkg_new (); - opkg_set_option ("offline_root", "/tmp/"); + setenv("OFFLINE_ROOT", "/tmp", 0); - opkg_re_read_config_files (); + if (opkg_new ()) { + printf("opkg_new() failed. This sucks.\n"); + print_error_list(); + return 1; + } switch (argv[1][0]) { @@ -164,24 +166,20 @@ main (int argc, char **argv) if (pkg) { print_package (pkg); - opkg_package_free (pkg); } else printf ("Package \"%s\" not found!\n", find_pkg->name); - opkg_package_free (pkg); break; case 'i': - err = opkg_install_package (argv[1], progress_callback, "Installing..."); - printf ("\nopkg_install_package returned %d (%s)\n", err, errors[err]); + err = opkg_install_package (argv[2], progress_callback, "Installing..."); + printf ("\nopkg_install_package returned %d\n", err); break; case 'u': - if (strlen (argv[1]) < 4) - printf (""); - if (argv[1][3] == 'd') + if (argv[1][2] == 'd') { err = opkg_update_package_lists (progress_callback, "Updating..."); - printf ("\nopkg_update_package_lists returned %d (%s)\n", err, errors[err]); + printf ("\nopkg_update_package_lists returned %d\n", err); break; } else @@ -189,12 +187,12 @@ main (int argc, char **argv) if (argc < 3) { err = opkg_upgrade_all (progress_callback, "Upgrading all..."); - printf ("\nopkg_upgrade_all returned %d (%s)\n", err, errors[err]); + printf ("\nopkg_upgrade_all returned %d\n", err); } else { err = opkg_upgrade_package (argv[2], progress_callback, "Upgrading..."); - printf ("\nopkg_upgrade_package returned %d (%s)\n", err, errors[err]); + printf ("\nopkg_upgrade_package returned %d\n", err); } } break; @@ -219,18 +217,19 @@ main (int argc, char **argv) break; case 'i': printf ("Listing installed packages...\n"); + opkg_list_packages (package_list_installed_callback, NULL); break; default: - printf ("Unknown list option \"%s\"", argv[2]); + printf ("Unknown list option \"%s\"\n", argv[2]); } } break; - + case 'r': if (argv[1][1] == 'e') { err = opkg_remove_package (argv[2], progress_callback, "Removing..."); - printf ("\nopkg_remove_package returned %d (%s)\n", err, errors[err]); + printf ("\nopkg_remove_package returned %d\n", err); break; }else if (argv[1][1] == 'p') {