#!/bin/sh set -e TESTDIR=$(readlink -f $(dirname $0)) . $TESTDIR/framework setupenvironment configarchitecture "i386" setupaptarchive test ! -e rootdir/etc/apt/apt.conf || mv rootdir/etc/apt/apt.conf rootdir/etc/apt/apt.conf.d/000move-away-apt.conf msgtest "Directory instead of a file as apt.conf ignored" mkdir -p rootdir/etc/apt/apt.conf aptconfig dump > /dev/null && msgpass || msgfail rmdir rootdir/etc/apt/apt.conf msgtest "Good link instead of a file as apt.conf ignored" echo 'Test::APT::Link "good";' > rootdir/etc/apt/good-link.conf ln -s rootdir/etc/apt/good-link.conf rootdir/etc/apt/apt.conf test -n "$(aptconfig shell TestLink 'Test::APT::Link')" && msgfail || msgpass rm rootdir/etc/apt/apt.conf msgtest "Broken link instead of a file as apt.conf ignored" ln -s /tmp/doesnt-exist rootdir/etc/apt/apt.conf aptconfig dump > /dev/null && msgpass || msgfail rm rootdir/etc/apt/apt.conf test ! -e rootdir/etc/apt/sources.list || mv rootdir/etc/apt/sources.list rootdir/etc/apt/sources.list.d/000move-away-sources.list msgtest "Directory instead of a file as sources.list ignored" mkdir -p rootdir/etc/apt/sources.list aptget update --print-uris 2> /dev/null && msgpass || msgfail rmdir rootdir/etc/apt/sources.list msgtest "Good link instead of a file as sources.list ignored" echo 'deb file:///tmp/debian sid main' > rootdir/etc/apt/good-link.list ln -s rootdir/etc/apt/good-link.list rootdir/etc/apt/sources.list test -n "$(aptget update --print-uris)" && msgfail || msgpass rm rootdir/etc/apt/sources.list msgtest "Broken link instead of a file as sources.list ignored" ln -s /tmp/doesnt-exist rootdir/etc/apt/sources.list test -n "$(aptget update --print-uris)" && msgfail || msgpass rm rootdir/etc/apt/sources.list test ! -e rootdir/etc/apt/preferences || mv rootdir/etc/apt/preferences rootdir/etc/apt/preferences.d/000move-away-preferences msgtest "Directory instead of a file as preferences ignored" mkdir -p rootdir/etc/apt/preferences aptcache policy > /dev/null 2> /dev/null && msgpass || msgfail rmdir rootdir/etc/apt/preferences msgtest "Good link instead of a file as preferences ignored" echo 'Package: apt Pin: release a=now Pin-Value: 1000' > rootdir/etc/apt/good-link.pref ln -s rootdir/etc/apt/good-link.pref rootdir/etc/apt/preferences test -n "$(aptcache policy | grep 1000)" && msgfail || msgpass rm rootdir/etc/apt/preferences msgtest "Broken link instead of a file as preferences ignored" ln -s /tmp/doesnt-exist rootdir/etc/apt/preferences aptcache policy > /dev/null 2> /dev/null && msgpass || msgfail rm rootdir/etc/apt/preferences