#!/bin/sh
set -e
-TESTDIR=$(readlink -f $(dirname $0))
-. $TESTDIR/framework
+TESTDIR="$(readlink -f "$(dirname "$0")")"
+. "$TESTDIR/framework"
setupenvironment
configarchitecture 'i386' 'amd64'
setupaptarchive
-aptget install libc6:i386 -t stable -y -qq 2>&1 > /dev/null
+testsuccess aptget install libc6:i386 -t stable -y
testdpkginstalled libc6:i386
-testequal 'Reading package lists...
+testsuccessequal 'Reading package lists...
Building dependency tree...
Reading state information...
The following packages will be REMOVED:
Inst libc6:amd64 (1.0 stable [amd64])
Conf libc6:amd64 (1.0 stable [amd64])' aptget install libc6:amd64 -s -t stable
-testequal 'Reading package lists...
+testsuccessequal 'Reading package lists...
Building dependency tree...
Reading state information...
The following NEW packages will be installed:
Inst foobar (1.0 stable [i386])
Conf foobar (1.0 stable [i386])' aptget install foobar -st stable
-testequal 'Reading package lists...
+testsuccessequal 'Reading package lists...
Building dependency tree...
Reading state information...
-The following extra packages will be installed:
+The following additional packages will be installed:
libc6:amd64
The following packages will be REMOVED:
libc6
Conf libc6:amd64 (1.0 stable [amd64])
Conf foobar:amd64 (1.0 stable [amd64])' aptget install foobar:amd64 -st stable
-testequal 'Reading package lists...
+testsuccessequal "Reading package lists...
Building dependency tree...
Reading state information...
+Selected version '1.0' (stable [i386]) for 'foobar'
The following NEW packages will be installed:
foobar
The following packages will be upgraded:
Inst libc6 [1.0] (2.0 testing [all])
Inst foobar (1.0 stable [i386])
Conf libc6 (2.0 testing [all])
-Conf foobar (1.0 stable [i386])' aptget install foobar/stable libc6 -st testing
+Conf foobar (1.0 stable [i386])" aptget install foobar/stable libc6 -st testing
-testequal 'Reading package lists...
+testsuccessequal 'Reading package lists...
Building dependency tree...
Reading state information...
+Calculating upgrade...
The following packages will be upgraded:
libc6
1 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
# FIXME: on amd64 systems this test wouldn't run with a real upgrade
# as APT (here i386) disagree about the native architecture, so
# we fake it here:
-#aptget upgrade -y -qq 2>&1 > /dev/null
-aptget purge libc6 -y -qq 2>&1 >/dev/null
-aptget install libc6:i386 -y -qq 2>&1 >/dev/null
+#aptget upgrade -y -qq >/dev/null 2>&1
+testsuccess aptget purge libc6 -y
+testsuccess aptget install libc6:i386 -y
testdpkginstalled libc6:all
-testequal 'Reading package lists...
+testsuccessequal "Reading package lists...
Building dependency tree...
Reading state information...
+Selected version '1.0' (stable [i386]) for 'foobar'
The following NEW packages will be installed:
foobar
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Inst foobar (1.0 stable [i386])
-Conf foobar (1.0 stable [i386])' aptget install foobar/stable -st testing
+Conf foobar (1.0 stable [i386])" aptget install foobar/stable -st testing
-testequal 'Reading package lists...
+testsuccessequal "Reading package lists...
Building dependency tree...
Reading state information...
-The following extra packages will be installed:
+Selected version '1.0' (stable [amd64]) for 'foobar:amd64'
+The following additional packages will be installed:
libc6:amd64
The following packages will be REMOVED:
libc6
Inst libc6:amd64 (1.0 stable [amd64])
Inst foobar:amd64 (1.0 stable [amd64])
Conf libc6:amd64 (1.0 stable [amd64])
-Conf foobar:amd64 (1.0 stable [amd64])' aptget install foobar:amd64/stable -st testing
+Conf foobar:amd64 (1.0 stable [amd64])" aptget install foobar:amd64/stable -st testing
-testequal "Reading package lists...
+testsuccessequal "Reading package lists...
Building dependency tree...
Reading state information...
Selected version '1.0' (stable [i386]) for 'libc6'
libc6
0 upgraded, 0 newly installed, 1 downgraded, 0 to remove and 0 not upgraded.
Inst libc6 [2.0] (1.0 stable [i386])
-Conf libc6 (1.0 stable [i386])" aptget install libc6/stable -s -q=0
+Conf libc6 (1.0 stable [i386])" aptget install libc6/stable -s
buildsimplenativepackage 'libc6-same' 'i386' '1.0' 'stable' 'Multi-Arch: same'
setupaptarchive
-aptget install libc6-same:i386 -t stable -y -qq 2>&1 > /dev/null
+testsuccess aptget install libc6-same:i386 -t stable -y
testdpkginstalled libc6-same:i386
-testequal 'Reading package lists...
+testsuccessequal 'Reading package lists...
Building dependency tree...
Reading state information...
The following NEW packages will be installed:
Inst foobar-same (1.0 stable [i386])
Conf foobar-same (1.0 stable [i386])' aptget install foobar-same -st stable
-testequal 'Reading package lists...
+testsuccessequal 'Reading package lists...
Building dependency tree...
Reading state information...
-The following extra packages will be installed:
+The following additional packages will be installed:
libc6-same:amd64
The following NEW packages will be installed:
foobar-same:amd64 libc6-same:amd64
Conf libc6-same:amd64 (1.0 stable [amd64])
Conf foobar-same:amd64 (1.0 stable [amd64])' aptget install foobar-same:amd64 -st stable
-testequal 'Reading package lists...
+testsuccessequal 'Reading package lists...
Building dependency tree...
Reading state information...
The following NEW packages will be installed:
# FIXME: We should test installing libc6-same:amd64 here, but dpkg doesn't allow it currently
-testequal 'Reading package lists...
+testsuccessequal 'Reading package lists...
Building dependency tree...
Reading state information...
+Calculating upgrade...
The following packages will be upgraded:
libc6-same
1 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
# FIXME: on amd64 systems this test wouldn't run with a real upgrade
# as APT (here i386) disagree about the native architecture, so
# we fake it here:
-#aptget upgrade -y -qq 2>&1 > /dev/null
-aptget purge libc6-same -y -qq 2>&1 >/dev/null
-aptget install libc6-same:i386 -y -qq 2>&1 >/dev/null
+#aptget upgrade -y -qq >/dev/null 2>&1
+testsuccess aptget purge libc6-same -y
+testsuccess aptget install libc6-same:i386 -y
testdpkginstalled libc6-same:all
-testequal "Reading package lists...
+testsuccessequal "Reading package lists...
Building dependency tree...
Reading state information...
Selected version '1.0' (stable [i386]) for 'libc6-same'
libc6-same
0 upgraded, 0 newly installed, 1 downgraded, 0 to remove and 0 not upgraded.
Inst libc6-same [2.0] (1.0 stable [i386])
-Conf libc6-same (1.0 stable [i386])" aptget install libc6-same/stable -s -q=0
+Conf libc6-same (1.0 stable [i386])" aptget install libc6-same/stable -s
-testequal 'Reading package lists...
+testsuccessequal "Reading package lists...
Building dependency tree...
Reading state information...
+Selected version '1.0' (stable [i386]) for 'foobar-same'
The following NEW packages will be installed:
foobar-same
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Inst foobar-same (1.0 stable [i386])
-Conf foobar-same (1.0 stable [i386])' aptget install foobar-same/stable -st testing
+Conf foobar-same (1.0 stable [i386])" aptget install foobar-same/stable -st testing
-testequal 'Reading package lists...
+testsuccessequal "Reading package lists...
Building dependency tree...
Reading state information...
-The following extra packages will be installed:
+Selected version '1.0' (stable [amd64]) for 'foobar-same:amd64'
+The following additional packages will be installed:
libc6-same:amd64
The following packages will be REMOVED:
libc6-same
Inst libc6-same:amd64 (1.0 stable [amd64])
Inst foobar-same:amd64 (1.0 stable [amd64])
Conf libc6-same:amd64 (1.0 stable [amd64])
-Conf foobar-same:amd64 (1.0 stable [amd64])' aptget install foobar-same:amd64/stable -st testing
+Conf foobar-same:amd64 (1.0 stable [amd64])" aptget install foobar-same:amd64/stable -st testing