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