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