socsvn commit: r253306 - soc2013/mattbw
mattbw at FreeBSD.org
mattbw at FreeBSD.org
Thu Jun 20 23:13:11 UTC 2013
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(;;)
;
More information about the svn-soc-all
mailing list