socsvn commit: r256829 - soc2013/mattbw/backend/query
mattbw at FreeBSD.org
mattbw at FreeBSD.org
Mon Sep 2 09:17:58 UTC 2013
Author: mattbw
Date: Mon Sep 2 09:17:58 2013
New Revision: 256829
URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=256829
Log:
Missed out check_test previously.
This unit test batch now has a failing test added that might explain why
resolve is no longer picking up installed packages.
Modified:
soc2013/mattbw/backend/query/check_test.c
Modified: soc2013/mattbw/backend/query/check_test.c
==============================================================================
--- soc2013/mattbw/backend/query/check_test.c Mon Sep 2 09:14:03 2013 (r256828)
+++ soc2013/mattbw/backend/query/check_test.c Mon Sep 2 09:17:58 2013 (r256829)
@@ -24,31 +24,10 @@
#include "pkg.h" /* pkg... */
#include "check.h" /* query_check... */
+#include "../testutils.h" /* gen_pkg */
/* ATF/kyua tests for 'check.c'. */
-static struct pkg *gen_pkg(void);
-
-static struct pkg *
-gen_pkg(void)
-{
- struct pkg *pkg;
- int pkg_new_result;
-
- pkg = NULL;
- pkg_new_result = pkg_new(&pkg, PKG_FILE);
-
- ATF_REQUIRE_EQ(pkg_new_result, EPKG_OK);
-
- pkg_set(pkg,
- PKG_NAME, "pkg",
- PKG_VERSION, "1.1.4",
- PKG_ARCH, "freebsd:10:x86:32",
- PKG_REPONAME, "packagesite");
-
- return pkg;
-}
-
ATF_TC(package_match_name_only);
ATF_TC_HEAD(package_match_name_only, tc)
{
@@ -61,7 +40,7 @@
struct pkg *pkg;
struct query_id id;
- pkg = gen_pkg();
+ pkg = gen_pkg(PKG_REMOTE);
ATF_REQUIRE(pkg != NULL);
id.namever = strdup("pkg");
@@ -86,7 +65,7 @@
struct pkg *pkg;
struct query_id id;
- pkg = gen_pkg();
+ pkg = gen_pkg(PKG_REMOTE);
ATF_REQUIRE(pkg != NULL);
id.namever = strdup("pkg-1.1.4");
@@ -111,7 +90,7 @@
struct pkg *pkg;
struct query_id id;
- pkg = gen_pkg();
+ pkg = gen_pkg(PKG_REMOTE);
ATF_REQUIRE(pkg != NULL);
id.namever = strdup("pkg-1.1.4");
@@ -120,6 +99,14 @@
ATF_CHECK(query_check_package(pkg, &id));
+ /*
+ * This is a remote package, so setting the ID repo to 'installed'
+ * should cause the match to fail.
+ */
+ free(id.repo);
+ id.repo = strdup("installed");
+ ATF_CHECK(!query_check_package(pkg, &id));
+
pkg_free(pkg);
free(id.namever);
free(id.arch);
@@ -138,7 +125,7 @@
struct pkg *pkg;
struct query_id id;
- pkg = gen_pkg();
+ pkg = gen_pkg(PKG_REMOTE);
ATF_REQUIRE(pkg != NULL);
id.namever = strdup("wrong-1.1.4");
@@ -165,7 +152,7 @@
struct pkg *pkg;
struct query_id id;
- pkg = gen_pkg();
+ pkg = gen_pkg(PKG_REMOTE);
ATF_REQUIRE(pkg != NULL);
id.namever = strdup("pkg-1.1.4");
@@ -192,7 +179,7 @@
struct pkg *pkg;
struct query_id id;
- pkg = gen_pkg();
+ pkg = gen_pkg(PKG_REMOTE);
ATF_REQUIRE(pkg != NULL);
id.namever = strdup("pkg-1.1.4");
@@ -207,6 +194,37 @@
free(id.repo);
}
+ATF_TC(package_match_full_installed);
+ATF_TC_HEAD(package_match_full_installed, tc)
+{
+
+ atf_tc_set_md_var(tc, "descr",
+ "Ensure installed packages only match installed query IDs.");
+}
+ATF_TC_BODY(package_match_full_installed, tc)
+{
+ struct pkg *pkg;
+ struct query_id id;
+
+ pkg = gen_pkg(PKG_INSTALLED);
+ ATF_REQUIRE(pkg != NULL);
+
+ id.namever = strdup("pkg-1.1.4");
+ id.arch = strdup("freebsd:10:x86:32");
+ id.repo = strdup("packagesite");
+
+ ATF_CHECK(!query_check_package(pkg, &id));
+
+ free(id.repo);
+ id.repo = strdup("installed");
+ ATF_CHECK(query_check_package(pkg, &id));
+
+ pkg_free(pkg);
+ free(id.namever);
+ free(id.arch);
+ free(id.repo);
+}
+
/*
* This test condition is commented out because it triggers an assertion
* failure instead of failing normally.
@@ -223,7 +241,7 @@
struct pkg *pkg;
struct query_id id;
- pkg = gen_pkg();
+ pkg = gen_pkg(PKG_REMOTE);
ATF_REQUIRE(pkg != NULL);
id.namever = NULL;
@@ -250,6 +268,7 @@
ATF_TP_ADD_TC(tp, package_match_bad_namever);
ATF_TP_ADD_TC(tp, package_match_bad_arch);
ATF_TP_ADD_TC(tp, package_match_bad_repo);
+ ATF_TP_ADD_TC(tp, package_match_full_installed);
/*ATF_TP_ADD_TC(tp, package_match_no_namever);*/
return atf_no_error();
More information about the svn-soc-all
mailing list