Date: Sun, 8 Sep 2013 10:57:27 GMT From: mattbw@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r257111 - in soc2013/mattbw: . backend backend/query Message-ID: <201309081057.r88AvRin080043@socsvn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: mattbw Date: Sun Sep 8 10:57:27 2013 New Revision: 257111 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=257111 Log: Add job test to Makefile; update README. Also did a tiny bit of indent. Modified: soc2013/mattbw/README soc2013/mattbw/backend/Makefile soc2013/mattbw/backend/query/check.c Modified: soc2013/mattbw/README ============================================================================== --- soc2013/mattbw/README Sun Sep 8 09:46:22 2013 (r257110) +++ soc2013/mattbw/README Sun Sep 8 10:57:27 2013 (r257111) @@ -35,6 +35,7 @@ this involves clang33 being installed.) - Run `make install` as root to install the backend into PackageKit's backends directory. + - If you have ATF/kyua installed, run `make tests` to create the tests. - Edit /usr/local/PackageKit/PackageKit.conf such that "DefaultBackend=pkgng" (or manually invoke packagekitd with backend=pkgng). @@ -45,24 +46,28 @@ TESTING -Currently, testing facilities are very limited. Testing will likely occur in -full after the basic featureset has been roughly implemented. - -There is currently one test, in the tests/get-details-output directory; this -checks the GetDetails output from pkcon against a mockup built from `pkg query` -to make sure it outputs sane data. At the time of writing, it is not finished, -but to run it cd to that directory, run `make`, ensure `pkcon` is set up to use -pkgng as its backend, then run `./test.sh`. +The backend has ATF unit tests. To run these: + - Install ATF or kyua (should be in FreeBSD ports); + - Run `make tests` in the backend directory; + - Run `atf-run | atf-report` in the backend, backend/query and backend/jobs + directories. + +There are also some functional tests, in the form of shell scripts, scattered +in the tests/ directory. Generally these will require you to use the test +repo (at timeof writing, http://www-student.cs.york.ac.uk/~mbw500/testrepo/). +Make sure PackageKit is using pkgng as its backend. -------------------------------------------------------------------------------- KNOWN BUGS -- InstallPackages is not yet fully implemented. - Behaviour when a repository has multiple versions of a package is currently ill-defined (the first one in the iterator will be emitted). This requires further work. - Minor cosmetic issues (progress bars not updating properly, etc.) may exist. +- Some options to actions (recursion in GetDetails, repo signing requirements, + etc) are not yet implemented. +- Cancel is not implemented. -------------------------------------------------------------------------------- Modified: soc2013/mattbw/backend/Makefile ============================================================================== --- soc2013/mattbw/backend/Makefile Sun Sep 8 09:46:22 2013 (r257110) +++ soc2013/mattbw/backend/Makefile Sun Sep 8 10:57:27 2013 (r257111) @@ -75,6 +75,7 @@ namever_test \ pkgutils_test \ repo_test \ + jobs/check_test \ query/id_test \ query/check_test \ @@ -103,6 +104,12 @@ tests: ${TESTPROGS} # TODO: Find a more BSD way of doing this +jobs/check_test: jobs/check_test.o jobs/check.o namever.o testutils.o query/check.o query/id.o pkgutils.o repo.o + ${CC} ${LDFLAGS} ${TESTLDFLAGS} -o ${.TARGET} ${.ALLSRC} ${LIBS} ${TESTLIBS} + +jobs/check_test.o: jobs/check_test.c + ${CC} ${CFLAGS} ${TESTCFLAGS} -o ${.TARGET} -c ${.ALLSRC} + query/id_test: query/id_test.o query/id.o namever.o testutils.o ${CC} ${LDFLAGS} ${TESTLDFLAGS} -o ${.TARGET} ${.ALLSRC} ${LIBS} ${TESTLIBS} Modified: soc2013/mattbw/backend/query/check.c ============================================================================== --- soc2013/mattbw/backend/query/check.c Sun Sep 8 09:46:22 2013 (r257110) +++ soc2013/mattbw/backend/query/check.c Sun Sep 8 10:57:27 2013 (r257111) @@ -34,14 +34,14 @@ /* Attempts to match a set of QueryIDs into packages. */ -static bool string_match(const char *left, const char *right); +static bool string_match(const char *left, const char *right); /* Returns true if the given package matches the given query ID. */ bool query_check_package(struct pkg *package, struct query_id *query_id) { bool matches; - char *namever; + char *namever; const char *arch; const char *name; const char *repo; @@ -66,8 +66,8 @@ /* * Allow raw names to match the Query ID namever, as well as - * the full package namevers. - * This allows Resolve to work properly. + * the full package namevers. This allows Resolve to work + * properly. */ namever_matches_name = string_match(query_id->namever, name); namever_matches_namever = string_match(query_id->namever,
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201309081057.r88AvRin080043>