socsvn commit: r257116 - soc2013/mattbw/backend

mattbw at FreeBSD.org mattbw at FreeBSD.org
Sun Sep 8 11:20:45 UTC 2013


Author: mattbw
Date: Sun Sep  8 11:20:44 2013
New Revision: 257116
URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=257116

Log:
  Add some more pkgutils test cases.
  
  These test the package emission state enum deciding logic.
  

Modified:
  soc2013/mattbw/backend/Makefile
  soc2013/mattbw/backend/pkgutils_test.c

Modified: soc2013/mattbw/backend/Makefile
==============================================================================
--- soc2013/mattbw/backend/Makefile	Sun Sep  8 11:08:34 2013	(r257115)
+++ soc2013/mattbw/backend/Makefile	Sun Sep  8 11:20:44 2013	(r257116)
@@ -125,7 +125,7 @@
 pkgutils_test: pkgutils_test.o pkgutils.o namever.o testutils.o repo.o
 	${CC} ${LDFLAGS} ${TESTLDFLAGS} -o ${.TARGET} ${.ALLSRC} ${LIBS} ${TESTLIBS}
 
-pkgutils_test.o: pkgutils_test.c repo.o
+pkgutils_test.o: pkgutils_test.c
 	${CC} ${CFLAGS} ${TESTCFLAGS} -o ${.TARGET} -c ${.ALLSRC}
 
 namever_test: namever_test.o namever.o testutils.o

Modified: soc2013/mattbw/backend/pkgutils_test.c
==============================================================================
--- soc2013/mattbw/backend/pkgutils_test.c	Sun Sep  8 11:08:34 2013	(r257115)
+++ soc2013/mattbw/backend/pkgutils_test.c	Sun Sep  8 11:20:44 2013	(r257116)
@@ -93,6 +93,91 @@
 	g_free(package_id);
 }
 
+ATF_TC(pkg_install_state);
+ATF_TC_HEAD(pkg_install_state, tc)
+{
+
+	atf_tc_set_md_var(tc, "descr",
+	    "Test 'pkgutils_pkg_install_state'.");
+}
+ATF_TC_BODY(pkg_install_state, tc)
+{
+	struct pkg     *package;
+
+	package = gen_pkg(PKG_REMOTE);
+	ATF_REQUIRE(package != NULL);
+
+	/* Old version newer -> downgrading */
+	pkg_set(package, PKG_OLD_VERSION, "1.2.3");
+	ATF_CHECK_EQ(pkgutils_pkg_install_state(package),
+	    PK_INFO_ENUM_DOWNGRADING);
+
+	/* Old version the same -> reinstalling */
+	pkg_set(package, PKG_OLD_VERSION, "1.1.4");
+	ATF_CHECK_EQ(pkgutils_pkg_install_state(package),
+	    PK_INFO_ENUM_REINSTALLING);
+
+	/* Old version older -> updating */
+	pkg_set(package, PKG_OLD_VERSION, "1.0.0");
+	ATF_CHECK_EQ(pkgutils_pkg_install_state(package),
+	    PK_INFO_ENUM_UPDATING);
+
+	pkg_free(package);
+}
+
+ATF_TC(pkg_current_state_local);
+ATF_TC_HEAD(pkg_current_state_local, tc)
+{
+
+	atf_tc_set_md_var(tc, "descr",
+	    "Test 'pkgutils_pkg_current_state' for installed packages.");
+}
+ATF_TC_BODY(pkg_current_state_local, tc)
+{
+	struct pkg     *package;
+
+	package = gen_pkg(PKG_INSTALLED);
+	ATF_REQUIRE(package != NULL);
+
+	pkg_set(package, PKG_OLD_VERSION, "1.2.3");
+	ATF_CHECK_EQ(pkgutils_pkg_current_state(package),
+	    PK_INFO_ENUM_INSTALLED);
+
+	pkg_free(package);
+}
+
+ATF_TC(pkg_current_state_remote);
+ATF_TC_HEAD(pkg_current_state_remote, tc)
+{
+
+	atf_tc_set_md_var(tc, "descr",
+	    "Test 'pkgutils_pkg_current_state' for remote packages.");
+}
+ATF_TC_BODY(pkg_current_state_remote, tc)
+{
+	struct pkg     *package;
+
+	package = gen_pkg(PKG_REMOTE);
+	ATF_REQUIRE(package != NULL);
+
+	/* Old version newer -> available */
+	pkg_set(package, PKG_OLD_VERSION, "1.2.3");
+	ATF_CHECK_EQ(pkgutils_pkg_current_state(package),
+	    PK_INFO_ENUM_AVAILABLE);
+
+	/* Old version the same -> installed */
+	pkg_set(package, PKG_OLD_VERSION, "1.1.4");
+	ATF_CHECK_EQ(pkgutils_pkg_current_state(package),
+	    PK_INFO_ENUM_INSTALLED);
+
+	/* Old version older -> available */
+	pkg_set(package, PKG_OLD_VERSION, "1.0.0");
+	ATF_CHECK_EQ(pkgutils_pkg_current_state(package),
+	    PK_INFO_ENUM_AVAILABLE);
+
+	pkg_free(package);
+}
+
 /*
  * TEST PACK
  */
@@ -102,6 +187,9 @@
 	ATF_TP_ADD_TC(tp, pkg_to_id_valid_local);
 	ATF_TP_ADD_TC(tp, pkg_to_id_valid_installed);
 	ATF_TP_ADD_TC(tp, pkg_to_id_valid_remote);
+	ATF_TP_ADD_TC(tp, pkg_install_state);
+	ATF_TP_ADD_TC(tp, pkg_current_state_local);
+	ATF_TP_ADD_TC(tp, pkg_current_state_remote);
 
 	return atf_no_error();
 }


More information about the svn-soc-all mailing list