Date: Thu, 20 Jun 2013 23:13:11 GMT From: mattbw@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r253306 - soc2013/mattbw Message-ID: <201306202313.r5KNDBHQ088767@socsvn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: mattbw Date: Thu Jun 20 23:13:11 2013 New Revision: 253306 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=253306 Log: belatedly add testing code I wrote for get-updates, for posterity Added: soc2013/mattbw/querytest.c soc2013/mattbw/searchtest.c Modified: soc2013/mattbw/test.c Added: soc2013/mattbw/querytest.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ soc2013/mattbw/querytest.c Thu Jun 20 23:13:11 2013 (r253306) @@ -0,0 +1,85 @@ +#include <stdio.h> +#include <stdlib.h> +#include "pkg.h" + +void handle_it(struct pkgdb_it *it); + +int +getdb(struct pkgdb **db) +{ + int err; + + /* err = pkgdb_access(PKGDB_MODE_READ, PKGDB_DB_REPO); + + if (err == EPKG_ENOACCESS) + fprintf(stderr, "check your privilege\n", err); + else if (err != EPKG_OK) + fprintf(stderr, "access error: %i\n", err); + else */{ + err = pkgdb_open(db, PKGDB_REMOTE); + if (err != EPKG_OK) + fprintf(stderr, "open error: %i\n", err); + } + return err; +} + +int +main(int argc, char **argv) +{ + struct pkgdb *db; + int err; + + db = NULL; + + err = pkg_init(NULL); + if (err == EPKG_OK) + err = getdb(&db); + else + fprintf(stderr, "could not parse config file\n"); + + if (err == EPKG_OK) { + struct pkgdb_it *it; + + it = pkgdb_query(db, "pkg", MATCH_EXACT); + if (it == NULL) + printf("no local matches!\n"); + else handle_it(it); + + it = pkgdb_rquery(db, "pkg", MATCH_EXACT, NULL); + if (it == NULL) + printf("no remote matches!\n"); + else handle_it(it); + + printf("shutting down\n"); + pkgdb_it_free(it); + pkgdb_close(db); + pkg_shutdown(); + printf("shutdown\n"); + } +} + + +void +handle_it(struct pkgdb_it *it) +{ + int err; + struct pkg *match; + + match = NULL; + do { + err = pkgdb_it_next(it, &match, PKG_LOAD_BASIC); + if (err == EPKG_OK) { + const char *name; + const char *repo; + const char *desc; + const char *origin; + + pkg_get(match, PKG_NAME, &name, PKG_DESC, &desc, PKG_REPONAME, &repo, PKG_ORIGIN, &origin); + + printf("name: %s\nrepo: %s\ndesc: %s\n", name, repo, desc); + } + + } while (err == EPKG_OK); + + pkg_free(match); +} Added: soc2013/mattbw/searchtest.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ soc2013/mattbw/searchtest.c Thu Jun 20 23:13:11 2013 (r253306) @@ -0,0 +1,82 @@ +#include <stdio.h> +#include <stdlib.h> +#include "pkg.h" + +int +getdb(struct pkgdb **db) +{ + int err; + + /* err = pkgdb_access(PKGDB_MODE_READ, PKGDB_DB_REPO); + + if (err == EPKG_ENOACCESS) + fprintf(stderr, "check your privilege\n", err); + else if (err != EPKG_OK) + fprintf(stderr, "access error: %i\n", err); + else */{ + err = pkgdb_open(db, PKGDB_REMOTE); + if (err != EPKG_OK) + fprintf(stderr, "open error: %i\n", err); + } + return err; +} + +int +main(int argc, char **argv) +{ + struct pkgdb *db; + int err; + + db = NULL; + + err = pkg_init(NULL); + if (err == EPKG_OK) + err = getdb(&db); + else + fprintf(stderr, "could not parse config file\n"); + + if (err == EPKG_OK) { + struct pkgdb_it *it; + + it = pkgdb_search(db, + "pkg", + MATCH_EXACT, + FIELD_NAME, + NULL); + if (it == NULL) + printf("no matches!\n"); + else { + int err; + struct pkg *match; + + match = NULL; + do { + err = pkgdb_it_next(it, &match, PKG_LOAD_BASIC); + if (err == EPKG_OK) { + const char *name; + const char *repo; + const char *desc; + const char *origin; + + pkg_get(match, PKG_NAME, &name, PKG_DESC, &desc, PKG_REPONAME, &repo, PKG_ORIGIN, &origin); + + printf("name: %s\nrepo: %s\ndesc: %s\n", name, repo, desc); + + if (pkg_is_installed(db, origin) == EPKG_OK) + printf("installed\n"); + else + printf("not installed\n"); + } + + } while (err == EPKG_OK); + + pkg_free(match); + } + + printf("shutting down\n"); + pkgdb_it_free(it); + pkgdb_close(db); + pkg_shutdown(); + printf("shutdown\n"); + } +} Modified: soc2013/mattbw/test.c ============================================================================== --- soc2013/mattbw/test.c Thu Jun 20 22:50:08 2013 (r253305) +++ soc2013/mattbw/test.c Thu Jun 20 23:13:11 2013 (r253306) @@ -28,6 +28,7 @@ printf("pkgng version: %s\n", PKGVERSION); printf("packagekit version: %i.%i.%i\n", PK_MAJOR_VERSION, PK_MINOR_VERSION, PK_MICRO_VERSION); + printf("network: %s\n", ((g_network_monitor_get_network_available(nmon) == TRUE) ? "up" : "down")); for(;;) ;
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201306202313.r5KNDBHQ088767>