]> git.saurik.com Git - apt.git/blobdiff - test/integration/framework
tests: disable EIPP logging in test-compressed-indexes
[apt.git] / test / integration / framework
index cd8597f80f2f6db7c0634537361f3e33cb75ba4a..fe6f82ac9779f5effeb27e0ed739c435a1ed7eaa 100644 (file)
@@ -191,7 +191,7 @@ aptitude() { runapt aptitude "$@"; }
 aptextracttemplates() { runapt apt-extracttemplates "$@"; }
 aptinternalsolver() { runapt "${APTINTERNALSOLVER}" "$@"; }
 aptdumpsolver() { runapt "${APTDUMPSOLVER}" "$@"; }
-aptinternalplaner() { runapt "${APTINTERNALPLANER}" "$@"; }
+aptinternalplanner() { runapt "${APTINTERNALPLANNER}" "$@"; }
 
 dpkg() {
        "${TMPWORKINGDIRECTORY}/rootdir/usr/bin/dpkg" "$@"
@@ -219,10 +219,10 @@ gdb() {
        runapt command gdb --quiet -ex run "$CMD" --args "$CMD" "$@"
 }
 lastmodification() {
-       date -u -d "@$(stat -c '%Y' "${TMPWORKINGDIRECTORY}/$1")" '+%a, %d %b %Y %H:%M:%S GMT'
+       date -u -d "@$(stat -c '%Y' "${TMPWORKINGDIRECTORY}/$1")" -R
 }
 releasefiledate() {
-       grep "^${2:-Date}:" "$1" | cut -d' ' -f 2- | sed -e 's#UTC#GMT#'
+       grep "^${2:-Date}:" "$1" | cut -d' ' -f 2-
 }
 
 exitwithstatus() {
@@ -290,7 +290,7 @@ setupenvironment() {
         APTWEBSERVERBINDIR="${APT_INTEGRATION_TESTS_WEBSERVER_BIN_DIR:-"${BUILDDIRECTORY}"}"
         APTINTERNALSOLVER="${APT_INTEGRATION_TESTS_INTERNAL_SOLVER:-"${BUILDDIRECTORY}/apt-internal-solver"}"
        APTDUMPSOLVER="${APT_INTEGRATION_TESTS_DUMP_SOLVER:-"${BUILDDIRECTORY}/apt-dump-solver"}"
-       APTINTERNALPLANER="${APT_INTEGRATION_TESTS_INTERNAL_PLANER:-"${BUILDDIRECTORY}/apt-internal-planer"}"
+       APTINTERNALPLANNER="${APT_INTEGRATION_TESTS_INTERNAL_PLANNER:-"${BUILDDIRECTORY}/apt-internal-planner"}"
        test -x "${BUILDDIRECTORY}/apt-get" || msgdie "You need to build tree first"
         # -----
 
@@ -304,13 +304,13 @@ setupenvironment() {
        mkdir -p usr/lib/apt
        ln -s "${METHODSDIR}" usr/lib/apt/methods
        if [ "$BUILDDIRECTORY" = "$LIBRARYPATH" ]; then
-               mkdir -p usr/lib/apt/solvers usr/lib/apt/planers
+               mkdir -p usr/lib/apt/solvers usr/lib/apt/planners
                ln -s "${BUILDDIRECTORY}/apt-dump-solver" usr/lib/apt/solvers/dump
-               ln -s "${BUILDDIRECTORY}/apt-dump-solver" usr/lib/apt/planers/dump
+               ln -s "${BUILDDIRECTORY}/apt-dump-solver" usr/lib/apt/planners/dump
                ln -s "${BUILDDIRECTORY}/apt-internal-solver" usr/lib/apt/solvers/apt
-               ln -s "${BUILDDIRECTORY}/apt-internal-planer" usr/lib/apt/planers/apt
+               ln -s "${BUILDDIRECTORY}/apt-internal-planner" usr/lib/apt/planners/apt
                echo "Dir::Bin::Solvers \"${TMPWORKINGDIRECTORY}/rootdir/usr/lib/apt/solvers\";" >> ../aptconfig.conf
-               echo "Dir::Bin::Planers \"${TMPWORKINGDIRECTORY}/rootdir/usr/lib/apt/planers\";" >> ../aptconfig.conf
+               echo "Dir::Bin::Planners \"${TMPWORKINGDIRECTORY}/rootdir/usr/lib/apt/planners\";" >> ../aptconfig.conf
        fi
         # use the autoremove from the BUILDDIRECTORY if its there, otherwise
         # system
@@ -347,6 +347,7 @@ setupenvironment() {
                echo 'Binary::gpgv::APT::Sandbox::User "root";' >> aptconfig.conf
                # same for the solver executables
                echo 'APT::Solver::RunAsUser "root";' >> aptconfig.conf
+               echo 'APT::Planner::RunAsUser "root";' >> aptconfig.conf
        fi
 
        cat > "${TMPWORKINGDIRECTORY}/rootdir/usr/bin/dpkg" <<EOF
@@ -402,6 +403,7 @@ EOF
        fi
        echo "Acquire::https::CaInfo \"${TMPWORKINGDIRECTORY}/rootdir/etc/webserver.pem\";" > rootdir/etc/apt/apt.conf.d/99https
        echo "Apt::Cmd::Disable-Script-Warning \"1\";" > rootdir/etc/apt/apt.conf.d/apt-binary
+       export APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=no
        echo 'Acquire::Connect::AddrConfig "false";' > rootdir/etc/apt/apt.conf.d/connect-addrconfig
 
        configcompression '.' 'gz' #'bz2' 'lzma' 'xz'
@@ -431,6 +433,10 @@ EOF
        # most tests just need one signed Release file, not both
        export APT_DONT_SIGN='Release.gpg'
 
+       if [ -r "${TESTDIRECTORY}/extra-environment" ]; then
+               . "${TESTDIRECTORY}/extra-environment"
+       fi
+
        msgdone "info"
 }
 
@@ -593,7 +599,7 @@ Dir::Bin::uncompressed \"/does/not/exist\";" > "$CONFFILE"
        done
 }
 
-setupsimplenativepackage() {
+_setupsimplenativepackage() {
        local NAME="$1"
        local ARCH="$2"
        local VERSION="$3"
@@ -602,62 +608,6 @@ setupsimplenativepackage() {
        local DESCRIPTION="${6:-"an autogenerated dummy ${NAME}=${VERSION}/${RELEASE}
  If you find such a package installed on your system,
  something went horribly wrong! They are autogenerated
- und used only by testcases and serve no other purposeā€¦"}"
-
-       local SECTION="${7:-others}"
-       local DISTSECTION
-       if [ "$SECTION" = "${SECTION#*/}" ]; then
-               DISTSECTION="main"
-       else
-               DISTSECTION="${SECTION%/*}"
-       fi
-       local BUILDDIR=incoming/${NAME}-${VERSION}
-       mkdir -p ${BUILDDIR}/debian/source
-       cd ${BUILDDIR}
-       echo "* most suckless software product ever" > FEATURES
-       test -e debian/copyright || echo "Copyleft by Joe Sixpack $(date -u +%Y)" > debian/copyright
-       test -e debian/changelog || echo "$NAME ($VERSION) $RELEASE; urgency=low
-
-  * Initial release
-
- -- Joe Sixpack <joe@example.org>  $(date -u -R)" > debian/changelog
-       test -e debian/control || echo "Source: $NAME
-Section: $SECTION
-Priority: optional
-Maintainer: Joe Sixpack <joe@example.org>
-Build-Depends: debhelper (>= 7)
-Standards-Version: 3.9.1
-
-Package: $NAME" > debian/control
-       if [ "$ARCH" = 'all' ]; then
-               echo "Architecture: all" >> debian/control
-       else
-               echo "Architecture: any" >> debian/control
-       fi
-       test -z "$DEPENDENCIES" || echo "$DEPENDENCIES" >> debian/control
-       echo "Description: $DESCRIPTION" >> debian/control
-
-       test -e debian/compat || echo "7" > debian/compat
-       test -e debian/source/format || echo "3.0 (native)" > debian/source/format
-       test -e debian/rules || cp /usr/share/doc/debhelper/examples/rules.tiny debian/rules
-       cd - > /dev/null
-}
-
-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}"
-       local DEPENDENCIES="$5"
-       local DESCRIPTION="${6:-"an autogenerated dummy ${NAME}=${VERSION}/${RELEASE}
- If you find such a package installed on your system,
- something went horribly wrong! They are autogenerated
  und used only by testcases and serve no other purposeā€¦"}"
 
        local SECTION="${7:-others}"
@@ -672,7 +622,6 @@ buildsimplenativepackage() {
        fi
        local BUILDDIR="${TMPWORKINGDIRECTORY}/incoming/${NAME}-${VERSION}"
 
-       msgtest "Build source package in version ${VERSION} for ${RELEASE} in ${DISTSECTION}" "$NAME"
        mkdir -p "$BUILDDIR/debian/source"
        echo "* most suckless software product ever" > "${BUILDDIR}/FEATURES"
        echo "#!/bin/sh
@@ -708,6 +657,37 @@ Package: $NAME"
        } > "${BUILDDIR}/debian/control"
 
        echo '3.0 (native)' > "${BUILDDIR}/debian/source/format"
+}
+
+setupsimplenativepackage() {
+       _setupsimplenativepackage "$@"
+       local NAME="$1"
+       local VERSION="$3"
+       local BUILDDIR="${TMPWORKINGDIRECTORY}/incoming/${NAME}-${VERSION}"
+       test -e "${BUILDDIR}/debian/compat" || echo '7' > "${BUILDDIR}/debian/compat"
+       test -e  "${BUILDDIR}/debian/rules" || cp /usr/share/doc/debhelper/examples/rules.tiny "${BUILDDIR}/debian/rules"
+}
+
+buildsimplenativepackage() {
+       local NAME="$1"
+       local ARCH="$2"
+       local VERSION="$3"
+       local RELEASE="${4:-unstable}"
+       local DEPENDENCIES="$5"
+       local DESCRIPTION="$6"
+       local SECTION="${7:-others}"
+       local PRIORITY="${8:-optional}"
+       local FILE_TREE="$9"
+       local COMPRESS_TYPE="${10:-gzip}"
+       local DISTSECTION
+       if [ "$SECTION" = "${SECTION#*/}" ]; then
+               DISTSECTION="main"
+       else
+               DISTSECTION="${SECTION%/*}"
+       fi
+       local BUILDDIR="${TMPWORKINGDIRECTORY}/incoming/${NAME}-${VERSION}"
+       msgtest "Build source package in version ${VERSION} for ${RELEASE} in ${DISTSECTION}" "$NAME"
+       _setupsimplenativepackage "$@"
        cd "${BUILDDIR}/.."
        testsuccess --nomsg dpkg-source -b ${NAME}-${VERSION}
        cd - >/dev/null
@@ -741,6 +721,12 @@ Package: $NAME"
                echo "pool/${NAME}_${VERSION}_${arch}.deb" >> "${BUILDDIR}/../${RELEASE}.${DISTSECTION}.pkglist"
        done
 
+       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 CHANGEPATH="${BUILDDIR}/../${DISTSECTION}/${NM}/${NAME}/${NAME}_${VERSION}"
        mkdir -p "$CHANGEPATH"
        cp "${BUILDDIR}/debian/changelog" "$CHANGEPATH"
@@ -1034,13 +1020,13 @@ NotAutomatic: yes' "$dir/Release"
        fi
        if [ -n "$DATE" -a "$DATE" != "now" ]; then
                for release in $(find ./aptarchive -name 'Release'); do
-                       sed -i "s/^Date: .*$/Date: $(date -u -d "$DATE" '+%a, %d %b %Y %H:%M:%S %Z')/" "$release"
+                       sed -i "s/^Date: .*$/Date: $(date -u -d "$DATE" -R)/" "$release"
                        touch -d "$DATE" "$release"
                done
        fi
        if [ -n "$VALIDUNTIL" ]; then
                sed -i "/^Date: / a\
-Valid-Until: $(date -u -d "$VALIDUNTIL" '+%a, %d %b %Y %H:%M:%S %Z')" $(find ./aptarchive -name 'Release')
+Valid-Until: $(date -u -d "$VALIDUNTIL" -R)" $(find ./aptarchive -name 'Release')
        fi
        msgdone "info"
 }
@@ -1172,7 +1158,7 @@ signreleasefiles() {
 }
 
 redatereleasefiles() {
-       local DATE="$(date -u -d "$1" '+%a, %d %b %Y %H:%M:%S %Z')"
+       local DATE="$(date -u -d "$1" -R)"
        for release in $(find aptarchive/ -name 'Release'); do
                sed -i "s/^Date: .*$/Date: ${DATE}/" "$release"
                touch -d "$DATE" "$release"