summaryrefslogtreecommitdiff
path: root/test/integration/framework
diff options
context:
space:
mode:
authorMichael Vogt <michael.vogt@ubuntu.com>2010-07-29 14:29:26 +0200
committerMichael Vogt <michael.vogt@ubuntu.com>2010-07-29 14:29:26 +0200
commit5d577b6f6d288ed2a29084f4d433d076f4395a84 (patch)
tree1f31b167f8d9a8614b07cd12cc47fd2162f69722 /test/integration/framework
parent1b8ba3ba050f01db27f1ddc0e5b280b2fccd9fb9 (diff)
parent685625bd308f62a382aaf61f1621a18b9441edfd (diff)
* apt-pkg/orderlist.cc:
- try to install another or-group member in DepRemove before breaking the or group (Closes: #590438) - configure also the replacement before remove by adding Immediate flag
Diffstat (limited to 'test/integration/framework')
-rw-r--r--test/integration/framework32
1 files changed, 30 insertions, 2 deletions
diff --git a/test/integration/framework b/test/integration/framework
index 97dce1e19..7b323fdb5 100644
--- a/test/integration/framework
+++ b/test/integration/framework
@@ -45,8 +45,9 @@ aptftparchive() { runapt apt-ftparchive $*; }
setupenvironment() {
local TMPWORKINGDIRECTORY=$(mktemp -d)
+ local TESTDIR=$(readlink -f $(dirname $0))
msgninfo "Preparing environment for ${CCMD}$0${CINFO} in ${TMPWORKINGDIRECTORY}… "
- BUILDDIRECTORY=$(readlink -f $(dirname $0)/../../build/bin)
+ BUILDDIRECTORY="${TESTDIR}/../../build/bin"
test -x "${BUILDDIRECTORY}/apt-get" || msgdie "You need to build tree first"
local OLDWORKINGDIRECTORY=$(pwd)
trap "cd /; rm -rf $TMPWORKINGDIRECTORY; cd $OLDWORKINGDIRECTORY" 0 HUP INT QUIT ILL ABRT FPE SEGV PIPE TERM
@@ -55,10 +56,21 @@ setupenvironment() {
cd rootdir
mkdir -p etc/apt/apt.conf.d etc/apt/sources.list.d etc/apt/trusted.gpg.d etc/apt/preferences.d var/cache var/lib/dpkg
mkdir -p var/cache/apt/archives/partial var/lib/apt/lists/partial
- touch var/lib/dpkg/status
+ local STATUSFILE=$(echo "$(basename $0)" | sed 's/^test-/status-/')
+ if [ -f "${TESTDIR}/${STATUSFILE}" ]; then
+ cp "${TESTDIR}/${STATUSFILE}" var/lib/dpkg/status
+ else
+ touch var/lib/dpkg/status
+ fi
mkdir -p usr/lib/apt
ln -s ${BUILDDIRECTORY}/methods usr/lib/apt/methods
cd ..
+ local PACKAGESFILE=$(echo "$(basename $0)" | sed 's/^test-/Packages-/')
+ if [ -f "${TESTDIR}/${PACKAGESFILE}" ]; then
+ cp "${TESTDIR}/${PACKAGESFILE}" aptarchive/Packages
+ else
+ touch var/lib/dpkg/status
+ fi
echo "RootDir \"${TMPWORKINGDIRECTORY}/rootdir\";" > aptconfig.conf
echo "Debug::NoLocking \"true\";" >> aptconfig.conf
echo "APT::Get::Show-User-Simulation-Note \"false\";" >> aptconfig.conf
@@ -137,6 +149,22 @@ testequal() {
$* 2>&1 | diff $COMPAREFILE - && msgpass || msgfail
}
+testequalor2() {
+ local COMPAREFILE1=$(mktemp)
+ local COMPAREFILE2=$(mktemp)
+ local COMPAREAGAINST=$(mktemp)
+ echo "$1" > $COMPAREFILE1
+ echo "$2" > $COMPAREFILE2
+ shift 2
+ msgtest "Test for equality OR of" "$*"
+ $* 2>&1 1> $COMPAREAGAINST
+ (diff $COMPAREFILE1 $COMPAREAGAINST 1> /dev/null ||
+ diff $COMPAREFILE2 $COMPAREAGAINST 1> /dev/null) && msgpass ||
+ ( echo "\n${CINFO}Diff against OR 1${CNORMAL}" "$(diff $COMPAREFILE1 $COMPAREAGAINST)" \
+ "\n${CINFO}Diff against OR 2${CNORMAL}" "$(diff $COMPAREFILE2 $COMPAREAGAINST)" &&
+ msgfail )
+}
+
testshowvirtual() {
local VIRTUAL="E: Can't select versions from package '$1' as it purely virtual"
local PACKAGE="$1"