socsvn commit: r255100 - in soc2013/mattbw/tests: . get-details-output search-files-output
mattbw at FreeBSD.org
mattbw at FreeBSD.org
Wed Jul 24 09:35:45 UTC 2013
Author: mattbw
Date: Wed Jul 24 09:35:44 2013
New Revision: 255100
URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=255100
Log:
add basic test for SearchFile
Added:
soc2013/mattbw/tests/search-files-output/
soc2013/mattbw/tests/search-files-output/test-file.sh (contents, props changed)
soc2013/mattbw/tests/strip_messages.awk
- copied unchanged from r254741, soc2013/mattbw/tests/get-details-output/strip_messages.awk
soc2013/mattbw/tests/test-diff.sh (contents, props changed)
Deleted:
soc2013/mattbw/tests/get-details-output/strip_messages.awk
Modified:
soc2013/mattbw/tests/get-details-output/test-pkg.sh
Modified: soc2013/mattbw/tests/get-details-output/test-pkg.sh
==============================================================================
--- soc2013/mattbw/tests/get-details-output/test-pkg.sh Wed Jul 24 09:12:46 2013 (r255099)
+++ soc2013/mattbw/tests/get-details-output/test-pkg.sh Wed Jul 24 09:35:44 2013 (r255100)
@@ -134,20 +134,7 @@
eval ${PKGCMD} \""${FMT}"\" > "${PKG_FILE}"
${CMD_PKCON} get-details "${PK_ID}" |
- awk -f "strip_messages.awk" > "${PKCON_FILE}"
+ awk -f "../strip_messages.awk" > "${PKCON_FILE}"
-################################################################################
-# Diff the results.
-
-DIFF="`diff -rupN \"${PACKAGE}-pkg\" \"${PACKAGE}-pkcon\"`"
-if [ -n "${DIFF}" ]
-then
- echo "test failed with diff:"
- echo "${DIFF}"
- RETURN=1
-else
- echo "test succeeded"
- RETURN=0
-fi
-
-return $RETURN
+../test-diff.sh "${PACKAGE}-pkg" "${PACKAGE}-pkcon"
+return $?
Added: soc2013/mattbw/tests/search-files-output/test-file.sh
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ soc2013/mattbw/tests/search-files-output/test-file.sh Wed Jul 24 09:35:44 2013 (r255100)
@@ -0,0 +1,22 @@
+#!/bin/sh
+
+################################################################################
+# Test the output of `pkcon search file` to see if it agrees with `pkg which.`
+# Expects one argument, the file which shall be passed to both.
+
+# Output files
+PKG_OUT=out.pkg
+PKCON_OUT=out.pkcon
+
+# Get the expected ABI through some invasive inspection of the pkg config dump
+ARCH="`pkg -vv | grep ABI | sed 's/ *ABI: *//'`"
+
+echo "Looking for provider of $1..."
+pkg which -q "$1" |
+ sed "s/^/Installed /; s/$/.${ARCH}/" > ${PKG_OUT}
+
+pkcon search file "$1" |
+ awk -f "../strip_messages.awk" > ${PKCON_OUT}
+
+../test-diff.sh ${PKG_OUT} ${PKCON_OUT}
+return $?
Copied: soc2013/mattbw/tests/strip_messages.awk (from r254741, soc2013/mattbw/tests/get-details-output/strip_messages.awk)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ soc2013/mattbw/tests/strip_messages.awk Wed Jul 24 09:35:44 2013 (r255100, copy of r254741, soc2013/mattbw/tests/get-details-output/strip_messages.awk)
@@ -0,0 +1,4 @@
+# Strips in-band auxiliary messages from a `pkcon` run, leaving only the results
+BEGIN { in_description=0 }
+!/Message:.*/ && in_description { print }
+/Results:/ { in_description=1 }
Added: soc2013/mattbw/tests/test-diff.sh
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ soc2013/mattbw/tests/test-diff.sh Wed Jul 24 09:35:44 2013 (r255100)
@@ -0,0 +1,21 @@
+#!/bin/sh
+#
+# Performs a diff between two files that represent the PkgNG and PackageKit
+# outputs after performing analogous commands, modified to follow the format
+# of one or the other. The two files should be identical for the test to
+# succeed; if it fails then usually the PackageKit backend is reporting
+# incorrect data.
+#
+# Usage: test-diff.sh pkg-file pkcon-file
+
+DIFF="`diff -rupN \"$1\" \"$2\"`"
+if [ -n "${DIFF}" ]
+then
+ echo "test failed with diff:"
+ echo "${DIFF}"
+ RETURN=1
+else
+ echo "test succeeded"
+ RETURN=0
+fi
+
More information about the svn-soc-all
mailing list