From owner-svn-soc-all@FreeBSD.ORG Thu Jun 20 23:13:11 2013 Return-Path: Delivered-To: svn-soc-all@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id D45D3AB1 for ; Thu, 20 Jun 2013 23:13:11 +0000 (UTC) (envelope-from mattbw@FreeBSD.org) Received: from socsvn.freebsd.org (socsvn.freebsd.org [IPv6:2001:1900:2254:206a::16:124]) by mx1.freebsd.org (Postfix) with ESMTP id B689A1C11 for ; Thu, 20 Jun 2013 23:13:11 +0000 (UTC) Received: from socsvn.freebsd.org ([127.0.1.124]) by socsvn.freebsd.org (8.14.7/8.14.7) with ESMTP id r5KNDBeS088771 for ; Thu, 20 Jun 2013 23:13:11 GMT (envelope-from mattbw@FreeBSD.org) Received: (from www@localhost) by socsvn.freebsd.org (8.14.7/8.14.6/Submit) id r5KNDBHQ088767 for svn-soc-all@FreeBSD.org; Thu, 20 Jun 2013 23:13:11 GMT (envelope-from mattbw@FreeBSD.org) Date: Thu, 20 Jun 2013 23:13:11 GMT Message-Id: <201306202313.r5KNDBHQ088767@socsvn.freebsd.org> X-Authentication-Warning: socsvn.freebsd.org: www set sender to mattbw@FreeBSD.org using -f From: mattbw@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r253306 - soc2013/mattbw MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Jun 2013 23:13:11 -0000 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 +#include +#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 +#include +#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(;;) ;