]> git.saurik.com Git - apt.git/blobdiff - test/integration/framework
show item ID in Hit, Ign and Err lines as well
[apt.git] / test / integration / framework
index 56c4a12161611fa5f98f603a76fb615050e67d58..1b99929e2f19d78b5cd95843b6272d0e5191acd6 100644 (file)
@@ -137,7 +137,14 @@ dpkgcheckbuilddeps() {
        command dpkg-checkbuilddeps --admindir=${TMPWORKINGDIRECTORY}/rootdir/var/lib/dpkg "$@"
 }
 gdb() {
-       local CMD="$1"
+       local CMD
+       case "$1" in
+       aptget) CMD="apt-get";;
+       aptcache) CMD="apt-cache";;
+       aptmark) CMD="apt-mark";;
+       apthelper) CMD="apt-helper";;
+       *) CMD="$1";;
+       esac
        shift
        runapt command gdb --quiet -ex run "${BUILDDIRECTORY}/$CMD" --args "${BUILDDIRECTORY}/$CMD" "$@"
 }
@@ -513,6 +520,12 @@ Package: $NAME" > debian/control
 
 buildsimplenativepackage() {
        local NAME="$1"
+       local NM
+       if [ "$(echo "$NAME" | cut -c 1-3)" = 'lib' ]; then
+               NM="$(echo "$NAME" | cut -c 1-4)"
+       else
+               NM="$(echo "$NAME" | cut -c 1)"
+       fi
        local ARCH="$2"
        local VERSION="$3"
        local RELEASE="${4:-unstable}"
@@ -593,15 +606,15 @@ Package: $NAME" >> ${BUILDDIR}/debian/control
                (cd ${BUILDDIR}; dpkg-gencontrol -DArchitecture=$arch)
                (cd ${BUILDDIR}/debian/tmp; md5sum $(find usr/ -type f) > DEBIAN/md5sums)
                local LOG="${BUILDDIR}/../${NAME}_${VERSION}_${arch}.dpkg-deb.log"
-               # ensure the right permissions as dpkg-deb ensists
+               # ensure the right permissions as dpkg-deb insists
                chmod 755 ${BUILDDIR}/debian/tmp/DEBIAN
                testsuccess --nomsg dpkg-deb -Z${COMPRESS_TYPE} --build ${BUILDDIR}/debian/tmp ${BUILDDIR}/..
                echo "pool/${NAME}_${VERSION}_${arch}.deb" >> ${BUILDDIR}/../${RELEASE}.${DISTSECTION}.pkglist
        done
 
-       mkdir -p ${BUILDDIR}/../${NAME}_${VERSION}
-       cp ${BUILDDIR}/debian/changelog ${BUILDDIR}/../${NAME}_${VERSION}/
-       cp ${BUILDDIR}/debian/changelog ${BUILDDIR}/../${NAME}_${VERSION}.changelog
+       local CHANGEPATH="${BUILDDIR}/../${DISTSECTION}/${NM}/${NAME}/${NAME}_${VERSION}"
+       mkdir -p $CHANGEPATH
+       cp ${BUILDDIR}/debian/changelog $CHANGEPATH
        rm -rf "${BUILDDIR}"
        msgdone "info"
 }
@@ -869,6 +882,7 @@ getcodenamefromsuite() {
 }
 getreleaseversionfromsuite() { true; }
 getlabelfromsuite() { true; }
+getoriginfromsuite() { true; }
 
 generatereleasefiles() {
        # $1 is the Date header and $2 is the ValidUntil header to be set
@@ -880,16 +894,21 @@ generatereleasefiles() {
                        local CODENAME="$(getcodenamefromsuite $SUITE)"
                        local VERSION="$(getreleaseversionfromsuite $SUITE)"
                        local LABEL="$(getlabelfromsuite $SUITE)"
+                       local ORIGIN="$(getoriginfromsuite $SUITE)"
                        if [ -n "$VERSION" ]; then
                                VERSION="-o APT::FTPArchive::Release::Version=${VERSION}"
                        fi
                        if [ -n "$LABEL" ]; then
                                LABEL="-o APT::FTPArchive::Release::Label=${LABEL}"
                        fi
+                       if [ -n "$ORIGIN" ]; then
+                               ORIGIN="-o APT::FTPArchive::Release::Origin=${ORIGIN}"
+                       fi
                        aptftparchive -qq release $dir \
                                -o APT::FTPArchive::Release::Suite="${SUITE}" \
                                -o APT::FTPArchive::Release::Codename="${CODENAME}" \
                                ${LABEL} \
+                               ${ORIGIN} \
                                ${VERSION} \
                                        | sed -e '/0 Release$/ d' > $dir/Release # remove the self reference
                        if [ "$SUITE" = "experimental" -o "$SUITE" = "experimental2" ]; then
@@ -1443,9 +1462,9 @@ testfilestats() {
                msgpass
        else
                echo >&2
-               ls -ld >&2 "$1"
+               ls -ld >&2 "$1" || true
                echo -n >&2 "stat(1) reports for $2: "
-               stat --format "$2" "$1"
+               stat --format "$2" "$1" || true
                msgfail
        fi
 }
@@ -1531,6 +1550,11 @@ aptautotest() {
 }
 
 aptautotest_aptget_update() {
+       local TESTCALL="$1"
+       while [ -n "$2" ]; do
+               if [ "$2" = '--print-uris' ]; then return; fi # simulation mode
+               shift
+       done
        if ! test -d "${TMPWORKINGDIRECTORY}/rootdir/var/lib/apt/lists"; then return; fi
        testfilestats "${TMPWORKINGDIRECTORY}/rootdir/var/lib/apt" '%U:%G:%a' '=' "${TEST_DEFAULT_USER}:${TEST_DEFAULT_GROUP}:755"
        testfilestats "${TMPWORKINGDIRECTORY}/rootdir/var/lib/apt/lists" '%U:%G:%a' '=' "${TEST_DEFAULT_USER}:${TEST_DEFAULT_GROUP}:755"
@@ -1538,7 +1562,7 @@ aptautotest_aptget_update() {
        for file in $(find "${TMPWORKINGDIRECTORY}/rootdir/var/lib/apt/lists" -type f ! -name 'lock'); do
                testfilestats "$file" '%U:%G:%a' '=' "${TEST_DEFAULT_USER}:${TEST_DEFAULT_GROUP}:644"
        done
-       if [ "$1" = 'testsuccess' ]; then
+       if [ "$TESTCALL" = 'testsuccess' ]; then
                # failure cases can retain partial files and such
                testempty find "${TMPWORKINGDIRECTORY}/rootdir/var/lib/apt/lists/partial" -mindepth 1 ! \( -name 'lock' -o -name '*.FAILED' \)
        fi