summaryrefslogtreecommitdiff
path: root/test/integration
diff options
context:
space:
mode:
Diffstat (limited to 'test/integration')
-rw-r--r--test/integration/framework12
-rwxr-xr-xtest/integration/test-apt-get-install-deb45
2 files changed, 49 insertions, 8 deletions
diff --git a/test/integration/framework b/test/integration/framework
index 6ae5003f7..f3cc1eff9 100644
--- a/test/integration/framework
+++ b/test/integration/framework
@@ -99,10 +99,14 @@ msgdone() {
}
getaptconfig() {
if [ -f ./aptconfig.conf ]; then
- echo "./aptconfig.conf"
+ echo "$(readlink -f ./aptconfig.conf)"
elif [ -f ../aptconfig.conf ]; then
- echo "../aptconfig.conf"
- fi
+ echo "$(readlink -f ../aptconfig.conf)"
+ elif [ -f ../../aptconfig.conf ]; then
+ echo "$(readlink -f ../../aptconfig.conf)"
+ elif [ -f "${TMPWORKINGDIRECTORY}/aptconfig.conf" ]; then
+ echo "$(readlink -f "${TMPWORKINGDIRECTORY}/aptconfig.conf")"
+ fi
}
runapt() {
msgdebug "Executing: ${CCMD}$*${CDEBUG} "
@@ -141,6 +145,8 @@ gdb() {
case "$1" in
aptget) CMD="apt-get";;
aptcache) CMD="apt-cache";;
+ aptcdrom) CMD="apt-cdrom";;
+ aptconfig) CMD="apt-config";;
aptmark) CMD="apt-mark";;
apthelper) CMD="apt-helper";;
aptftparchive) CMD="apt-ftparchive";;
diff --git a/test/integration/test-apt-get-install-deb b/test/integration/test-apt-get-install-deb
index 0f34692fe..991185dea 100755
--- a/test/integration/test-apt-get-install-deb
+++ b/test/integration/test-apt-get-install-deb
@@ -5,15 +5,21 @@ TESTDIR=$(readlink -f $(dirname $0))
. $TESTDIR/framework
setupenvironment
-configarchitecture "i386"
+configarchitecture 'amd64' 'i386'
# regression test for #754904
testfailureequal 'E: Unable to locate package /dev/null' aptget install -qq /dev/null
-# and ensure we fail for invalid debs
-cat > foo.deb <<EOF
+# only consider .deb files
+cat > foo.rpm <<EOF
I'm not a deb, I'm a teapot.
EOF
+testfailureequal "E: Unable to locate package ./foo.rpm
+E: Couldn't find any package by glob './foo.rpm'
+E: Couldn't find any package by regex './foo.rpm'" aptget install -qq ./foo.rpm
+
+# and ensure we fail for invalid debs
+mv foo.rpm foo.deb
testfailure aptget install ./foo.deb
testsuccess grep '^E: Sub-process Popen returned an error code' rootdir/tmp/testfailure.output
testequal 'E: Encountered a section with no Package: header
@@ -21,7 +27,36 @@ E: Problem with MergeLister for ./foo.deb
E: The package lists or status file could not be parsed or opened.' tail -n 3 rootdir/tmp/testfailure.output
# fakeroot is currently not found, framwork needs updating
-buildsimplenativepackage 'foo' 'all' '1.0'
+buildsimplenativepackage 'foo' 'i386,amd64' '1.0'
+
+testfailureequal "Reading package lists...
+Building dependency tree...
+Note, selecting 'foo:i386' instead of './incoming/foo_1.0_i386.deb'
+Note, selecting 'foo' instead of './incoming/foo_1.0_amd64.deb'
+Some packages could not be installed. This may mean that you have
+requested an impossible situation or if you are using the unstable
+distribution that some required packages have not yet been created
+or been moved out of Incoming.
+The following information may help to resolve the situation:
+
+The following packages have unmet dependencies:
+ foo:i386 : Conflicts: foo but 1.0 is to be installed
+ 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 -q=0
+
testdpkgnotinstalled 'foo'
-testsuccess aptget install ./incoming/foo_1.0_all.deb
+testsuccess aptget install ./incoming/foo_1.0_i386.deb
testdpkginstalled 'foo'
+
+testsuccessequal "Reading package lists...
+Building dependency tree...
+Reading state information...
+Note, selecting 'foo' instead of './incoming/foo_1.0_amd64.deb'
+The following packages will be REMOVED:
+ foo:i386
+The following NEW packages will be installed:
+ foo
+0 upgraded, 1 newly installed, 1 to remove and 0 not upgraded.
+Remv foo:i386 [1.0]
+Inst foo (1.0 now [amd64])
+Conf foo (1.0 now [amd64])" aptget install ./incoming/foo_1.0_amd64.deb -s -q=0