#!/bin/sh set -e TESTDIR="$(readlink -f "$(dirname "$0")")" . "$TESTDIR/framework" setupenvironment configarchitecture 'amd64' insertpackage 'unstable' 'module-init-tools' 'amd64' '1.0' 'Depends: libkmod2 (= 21-1)' insertpackage 'unstable' 'libkmod2' 'amd64' '0.22-1' insertinstalledpackage 'module-init-tools' 'amd64' '0.1' setupaptarchive # this test only works if the python-apt is build against the same # ABI version as the apt we are testing here PYAPT_LIB_VER=$(runpython3 -c 'import apt_pkg;print(apt_pkg.LIB_VERSION)' 2>/dev/null || true) if [ ! -f $LIBRARYPATH/libapt-pkg.so.$PYAPT_LIB_VER ]; then msgskip "python-apt build with the wrong library version: $PYAPT_LIB_VER" exit 0 fi # we can not test this using our normal sh tests cat > test.py <<EOF #!/usr/bin/python3 import sys import apt def in_valid_state(pkg): return (pkg.marked_keep or pkg.marked_install or pkg.marked_upgrade or pkg.marked_delete or pkg.marked_downgrade or pkg.marked_reinstall) # main cache=apt.Cache() pkgname="module-init-tools" if not in_valid_state(cache[pkgname]): print("the test is broken, %s should be in a valid state" % pkgname) sys.exit(99) cache.upgrade(True) if not in_valid_state(cache[pkgname]): print("package %s is in a heisen-state" % pkgname) sys.exit(2) EOF testsuccess runpython3 test.py