]> git.saurik.com Git - apt.git/blobdiff - test/integration/framework
* lp:~mvo/apt/add-glob-function:
[apt.git] / test / integration / framework
index 05878d0a4d08a2e6bb07cdc0a1c3e1b0218f385b..11f1c7be2e3259401b4f9767e99348f989d8cdd5 100644 (file)
@@ -91,6 +91,7 @@ runapt() {
 }
 aptconfig() { runapt apt-config $*; }
 aptcache() { runapt apt-cache $*; }
+aptcdrom() { runapt apt-cdrom $*; }
 aptget() { runapt apt-get $*; }
 aptftparchive() { runapt apt-ftparchive $*; }
 aptkey() { runapt apt-key $*; }
@@ -467,7 +468,7 @@ insertpackage() {
        local PRIORITY="${6:-optional}"
        local ARCHS=""
        for arch in $(echo "$ARCH" | sed -e 's#,#\n#g' | sed -e "s#^native\$#$(getarchitecture 'native')#"); do
-               if [ "$arch" = "all" ]; then
+               if [ "$arch" = 'all' -o "$arch" = 'none' ]; then
                        ARCHS="$(getarchitectures)"
                else
                        ARCHS="$arch"
@@ -481,9 +482,9 @@ insertpackage() {
 Priority: $PRIORITY
 Section: other
 Installed-Size: 42
-Maintainer: Joe Sixpack <joe@example.org>
-Architecture: $arch
-Version: $VERSION
+Maintainer: Joe Sixpack <joe@example.org>" >> $FILE
+                       test "$arch" = 'none' || echo "Architecture: $arch" >> $FILE
+                       echo "Version: $VERSION
 Filename: pool/main/${NAME}/${NAME}_${VERSION}_${arch}.deb" >> $FILE
                        test -z "$DEPENDENCIES" || echo "$DEPENDENCIES" >> $FILE
                        echo "Description: an autogenerated dummy ${NAME}=${VERSION}/${RELEASE}
@@ -533,8 +534,8 @@ Priority: $PRIORITY
 Section: other
 Installed-Size: 42
 Maintainer: Joe Sixpack <joe@example.org>
-Architecture: $arch
 Version: $VERSION" >> $FILE
+               test "$arch" = 'none' || echo "Architecture: $arch" >> $FILE
                test -z "$DEPENDENCIES" || echo "$DEPENDENCIES" >> $FILE
                echo "Description: an autogenerated dummy ${NAME}=${VERSION}/installed
  If you find such a package installed on your system,
@@ -689,20 +690,30 @@ signreleasefiles() {
 }
 
 changetowebserver() {
-       if which weborf > /dev/null; then
-               weborf -xb aptarchive/ 2>&1 > /dev/null &
+       if [ -n "$1" ] && ! test -x ${BUILDDIRECTORY}/aptwebserver; then
+               msgdie 'Need the aptwebserver when passing arguments'
+       fi
+
+       local LOG='/dev/null'
+       if test -x ${BUILDDIRECTORY}/aptwebserver; then
+               cd aptarchive
+               LD_LIBRARY_PATH=${BUILDDIRECTORY} ${BUILDDIRECTORY}/aptwebserver $@ 2> $LOG > $LOG &
+               addtrap "kill $!;"
+               cd - > /dev/null
+       elif which weborf > /dev/null; then
+               weborf -xb aptarchive/ 2> $LOG > $LOG &
                addtrap "kill $!;"
        elif which gatling > /dev/null; then
                cd aptarchive
-               gatling -p 8080 -F -S 2>&1 > /dev/null &
+               gatling -p 8080 -F -S 2> $LOG > $LOG &
                addtrap "kill $!;"
                cd - > /dev/null
        elif which lighttpd > /dev/null; then
                echo "server.document-root = \"$(readlink -f ./aptarchive)\"
 server.port = 8080
 server.stat-cache-engine = \"disable\"" > lighttpd.conf
-               lighttpd -t -f lighttpd.conf >/dev/null || msgdie 'Can not change to webserver: our lighttpd config is invalid'
-               lighttpd -D -f lighttpd.conf 2>/dev/null >/dev/null &
+               lighttpd -t -f lighttpd.conf 2> $LOG > $LOG || msgdie 'Can not change to webserver: our lighttpd config is invalid'
+               lighttpd -D -f lighttpd.conf 2> $LOG > $LOG &
                addtrap "kill $!;"
        else
                msgdie 'You have to install weborf or lighttpd first'
@@ -715,6 +726,21 @@ server.stat-cache-engine = \"disable\"" > lighttpd.conf
        return 0
 }
 
+changetocdrom() {
+       mkdir -p rootdir/media/cdrom/.disk
+       local CD="$(readlink -f rootdir/media/cdrom)"
+       echo "acquire::cdrom::mount \"${CD}\";" > rootdir/etc/apt/apt.conf.d/00cdrom
+       echo 'acquire::cdrom::autodetect 0;' >> rootdir/etc/apt/apt.conf.d/00cdrom
+       echo -n "$1" > ${CD}/.disk/info
+       if [ ! -d aptarchive/dists ]; then
+               msgdie 'Flat file archive cdroms can not be created currently'
+               return 1
+       fi
+       mv aptarchive/dists $CD
+       ln -s "$(readlink -f ./incoming)" $CD/pool
+       find rootdir/etc/apt/sources.list.d/ -name 'apt-test-*.list' -delete
+}
+
 checkdiff() {
        local DIFFTEXT="$($(which diff) -u $* | sed -e '/^---/ d' -e '/^+++/ d' -e '/^@@/ d')"
        if [ -n "$DIFFTEXT" ]; then
@@ -802,7 +828,7 @@ testnopackage() {
 
 testdpkginstalled() {
        msgtest "Test for correctly installed package(s) with" "dpkg -l $*"
-       local PKGS="$(dpkg -l $* | grep '^i' | wc -l)"
+       local PKGS="$(dpkg -l $* 2>/dev/null | grep '^i' | wc -l)"
        if [ "$PKGS" != $# ]; then
                echo $PKGS
                dpkg -l $* | grep '^[a-z]'