add a small script to automate the task of creating Packages and status
authorDavid Kalnischkies <kalnischkies@gmail.com>
Fri, 13 Aug 2010 22:25:57 +0000 (00:25 +0200)
committerDavid Kalnischkies <kalnischkies@gmail.com>
Fri, 13 Aug 2010 22:25:57 +0000 (00:25 +0200)
files for tests with "real" problems

test/integration/create-test-data [new file with mode: 0755]
test/integration/framework

diff --git a/test/integration/create-test-data b/test/integration/create-test-data
new file mode 100755 (executable)
index 0000000..ff94055
--- /dev/null
@@ -0,0 +1,33 @@
+#!/bin/sh
+set +e # its okay to fail in these script, most of the time the apt* stuff will generate errors
+
+local TESTDIR=$(readlink -f $(dirname $0))
+. $TESTDIR/framework
+BUILDDIRECTORY="${TESTDIR}/../../build/bin"
+
+GENERATE=$1
+CODENAME=$2
+shift 2
+
+WORKDIR=$(mktemp -d)
+trap "rm -rf $WORKDIR" 0 HUP INT QUIT ILL ABRT FPE SEGV PIPE TERM
+touch $WORKDIR/status
+TMPGEN=$WORKDIR/Packages
+export LANG=C
+
+LISTOFPKGS=$(aptget install $* -t $CODENAME -so Dir::state::status=$WORKDIR/status -o Dir::Cache::archives=$WORKDIR -o pkgCacheGen::Essential=none -o APT::Immediate-Configure=0 2> /dev/null | awk '/^Inst/ {print $2}' | sed -e "s#\$#/$CODENAME#")
+aptcache show $LISTOFPKGS --no-all-versions 2> /dev/null > $TMPGEN
+sed -i $TMPGEN \
+       -e '/^ / d' \
+       -e '/^SHA1: / d' -e '/^SHA256: / d' \
+       -e '/^Homepage: / d' -e '/^Tag: / d' \
+       -e '/^Xul-Appid: / d' \
+       -e '/^Status: / d'
+
+if echo "$GENERATE" | grep '^status-' > /dev/null; then
+       sed -i $TMPGEN -e '/^Package: / a\
+Status: install ok installed' \
+               -e '/^Filename: / d' -e '/^Size: / d' -e '/^MD5sum: / d'
+fi
+
+apt-sortpkgs $TMPGEN > $GENERATE
index b4e9302..f01bb98 100644 (file)
@@ -36,7 +36,11 @@ msgdone() { if [ "$1" = "debug" -o "$1" = "info" ]; then true; else echo "${CDON
 
 runapt() {
        msgdebug "Executing: ${CCMD}$*${CDEBUG} "
-       APT_CONFIG=aptconfig.conf LD_LIBRARY_PATH=${BUILDDIRECTORY} ${BUILDDIRECTORY}/$*
+       if [ -f ./aptconfig.conf ]; then
+               APT_CONFIG=aptconfig.conf LD_LIBRARY_PATH=${BUILDDIRECTORY} ${BUILDDIRECTORY}/$*
+       else
+               LD_LIBRARY_PATH=${BUILDDIRECTORY} ${BUILDDIRECTORY}/$*
+       fi
 }
 aptconfig() { runapt apt-config $*; }
 aptcache() { runapt apt-cache $*; }