X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/87d6947d51717e8b0e975d913986161598a7259a..cb9ac09bd6a36e73c2dce1d529acde6e4d15e32d:/test/integration/test-apt-get-install-deb diff --git a/test/integration/test-apt-get-install-deb b/test/integration/test-apt-get-install-deb index 21cd86e9d..3aacc301d 100755 --- a/test/integration/test-apt-get-install-deb +++ b/test/integration/test-apt-get-install-deb @@ -1,8 +1,8 @@ #!/bin/sh set -e -TESTDIR=$(readlink -f $(dirname $0)) -. $TESTDIR/framework +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" setupenvironment configarchitecture 'amd64' 'i386' @@ -40,9 +40,16 @@ The following packages have unmet dependencies: foo : Conflicts: foo:i386 but 1.0 is to be installed E: Unable to correct problems, you have held broken packages." aptget install ./incoming/foo_1.0_i386.deb ./incoming/foo_1.0_amd64.deb -s -testdpkgnotinstalled 'foo' +testdpkgnotinstalled 'foo' 'foo:i386' testsuccess aptget install ./incoming/foo_1.0_i386.deb -o Debug::pkgCacheGen=1 testdpkginstalled 'foo:i386' +testfailure aptget install incoming/foo_1.0_i386.deb -o Debug::pkgCacheGen=1 +cd downloaded +testsuccess aptget install "$(readlink -f ../incoming/foo_1.0_i386.deb)" -o Debug::pkgCacheGen=1 -y --reinstall +testfailure grep 'is already the newest version' ../rootdir/tmp/testsuccess.output +testsuccess aptget install ../incoming/foo_1.0_i386.deb -o Debug::pkgCacheGen=1 -y --reinstall +testfailure grep 'is already the newest version' ../rootdir/tmp/testsuccess.output +cd .. testsuccessequal "Reading package lists... Building dependency tree... @@ -86,6 +93,7 @@ Version: 0 Priority: extra Maintainer: No Body Architecture: all +Depends: foo:i386 Description: test package" >> ./incoming/$PKG/DEBIAN/control if [ -n "$3" ]; then echo -n "$3" >> ./incoming/$PKG/DEBIAN/control @@ -104,13 +112,24 @@ testsuccess aptget install ./incoming/pkg-as-it-should-be_0_all.deb testsuccess aptget install ./incoming/pkg-leading-newline_0_all.deb testsuccess aptget install ./incoming/pkg-trailing-newline_0_all.deb -# see if permission dropping is checked before usage +testempty apt clean if [ "$(id -u)" = '0' ]; then - apt clean + # see if permission dropping is checked before usage chmod 711 ./incoming - testsuccess aptget install -y --allow-downgrades ./incoming/pkg-as-it-should-be_0_all.deb + testsuccess aptget install -y ./incoming/pkg-as-it-should-be_0_all.deb --reinstall + testfailure grep 'is already the newest version' rootdir/tmp/testsuccess.output chmod 710 ./incoming - testsuccesswithnotice aptget install -y --allow-downgrades ./incoming/pkg-as-it-should-be_0_all.deb + testsuccesswithnotice aptget install -y ./incoming/pkg-as-it-should-be_0_all.deb --reinstall + testfailure grep 'is already the newest version' rootdir/tmp/testsuccesswithnotice.output chmod 700 ./incoming - testsuccesswithnotice aptget install -y --allow-downgrades ./incoming/pkg-as-it-should-be_0_all.deb + testsuccesswithnotice aptget install -y ./incoming/pkg-as-it-should-be_0_all.deb --reinstall + testfailure grep 'is already the newest version' rootdir/tmp/testsuccesswithnotice.output + chmod 711 ./incoming +else + testsuccess aptget install -y ./incoming/pkg-as-it-should-be_0_all.deb --reinstall + testfailure grep 'is already the newest version' rootdir/tmp/testsuccess.output fi + +sed -i -e '/^Depends: foo/ d' rootdir/var/lib/dpkg/status +testsuccess aptget install -y ./incoming/pkg-as-it-should-be_0_all.deb +testfailure grep 'is already the newest version' rootdir/tmp/testsuccess.output