88 lines
3.4 KiB
Bash
Executable file
88 lines
3.4 KiB
Bash
Executable file
#!/bin/sh
|
|
set -e
|
|
|
|
TESTDIR="$(readlink -f "$(dirname "$0")")"
|
|
. "$TESTDIR/framework"
|
|
setupenvironment
|
|
configarchitecture 'amd64' 'i386'
|
|
|
|
buildcompizpkg() {
|
|
setupsimplenativepackage "compiz-core-$1" "$2" "$3" "$4"
|
|
BUILDDIR="incoming/compiz-core-$1-$3"
|
|
mkdir -p ${BUILDDIR}/debian/compiz-core/etc
|
|
echo 'foo=bar;' > ${BUILDDIR}/compiz.conf
|
|
echo 'compiz.conf /etc/compiz.conf' >> ${BUILDDIR}/debian/install
|
|
buildpackage "$BUILDDIR" "$4" 'main' "$2"
|
|
rm -rf "$BUILDDIR"
|
|
}
|
|
buildcompizpkg 'native' 'all' '1.0' 'stable'
|
|
buildcompizpkg 'all' 'native' '1.0' 'stable'
|
|
buildcompizpkg 'native' 'native' '2.0' 'unstable'
|
|
buildcompizpkg 'all' 'all' '2.0' 'unstable'
|
|
|
|
setupaptarchive
|
|
|
|
runtests() {
|
|
local PKG="$1"
|
|
local RELEASE="${2}"
|
|
shift 2
|
|
testdpkgnotinstalled compiz-core-${PKG}
|
|
testsuccess aptget install compiz-core-${PKG} -t "${RELEASE}" "$@"
|
|
testdpkginstalled compiz-core-${PKG}
|
|
|
|
testsuccess aptget remove compiz-core-${PKG} -y "$@" -o Debug::pkgDpkgPm=1
|
|
testfailure grep -- '--force-remove-essential' rootdir/tmp/testsuccess.output
|
|
testsuccess aptget remove compiz-core-${PKG} -y "$@"
|
|
testdpkgnotinstalled compiz-core-${PKG}
|
|
testdpkgstatus 'rc' '1' "compiz-core-${PKG}"
|
|
|
|
if [ -z "$1" ]; then
|
|
testsuccessequal "Reading package lists...
|
|
Building dependency tree...
|
|
Reading state information...
|
|
The following packages will be REMOVED:
|
|
compiz-core-${PKG}*
|
|
0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded.
|
|
Purg compiz-core-${PKG}" aptget purge compiz-core-${PKG} -s "$@"
|
|
else
|
|
# check that the rc-version isn't passed to the external resolver if its only in dpkg/status
|
|
export APT_EDSP_DUMP_FILENAME="${TMPWORKINGDIRECTORY}/dump-${PKG}.edsp"
|
|
testfailure aptget purge compiz-core-${PKG} -y "$@" -s --solver dump
|
|
testsuccessequal '2' grep -c "^Package: compiz-core-${PKG}\$" "$APT_EDSP_DUMP_FILENAME"
|
|
mv rootdir/etc/apt/sources.list.d/apt-test-stable-deb.list rootdir/etc/apt/sources.list.d/apt-test-stable-deb.disabled
|
|
testfailure aptget purge compiz-core-${PKG} -y "$@" -s --solver dump
|
|
testsuccessequal '1' grep -c "^Package: compiz-core-${PKG}\$" "$APT_EDSP_DUMP_FILENAME"
|
|
mv rootdir/etc/apt/sources.list.d/apt-test-stable-deb.disabled rootdir/etc/apt/sources.list.d/apt-test-stable-deb.list
|
|
|
|
testsuccessequal "Reading package lists...
|
|
Building dependency tree...
|
|
Reading state information...
|
|
Execute external solver...
|
|
The following packages will be REMOVED:
|
|
compiz-core-${PKG}*
|
|
0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded.
|
|
Purg compiz-core-${PKG}" aptget purge compiz-core-${PKG} -s "$@"
|
|
fi
|
|
testsuccess aptget purge compiz-core-${PKG} -y "$@" -o Debug::pkgDpkgPm=1
|
|
testfailure grep -- '--force-remove-essential' rootdir/tmp/testsuccess.output
|
|
testsuccess aptget purge compiz-core-${PKG} -y "$@"
|
|
echo -n '' > rootdir/var/lib/dpkg/available # dpkg -l < 1.16.2 reads the available file by default, where the package can be found
|
|
testequalor2 "dpkg-query: no packages found matching compiz-core-${PKG}" "No packages found matching compiz-core-${PKG}." dpkg -l compiz-core-${PKG}
|
|
}
|
|
runtestround() {
|
|
runtests 'native' 'unstable' "$@"
|
|
runtests 'all' 'unstable' "$@"
|
|
runtests 'native' 'stable' "$@"
|
|
runtests 'all' 'stable' "$@"
|
|
}
|
|
testround() {
|
|
msgmsg 'Test in multi arch environment' "$@"
|
|
configarchitecture 'amd64' 'i386'
|
|
runtestround "$@"
|
|
|
|
msgmsg 'Test in single arch environment' "$@"
|
|
configarchitecture 'amd64'
|
|
runtestround "$@"
|
|
}
|
|
testround
|
|
testround --solver apt
|