#!/bin/sh
set -e

TESTDIR="$(readlink -f "$(dirname "$0")")"
. "$TESTDIR/framework"

setupenvironment
configarchitecture 'native'

# old conffile
setupsimplenativepackage 'compiz-core' 'native' '1.0' 'unstable'
BUILDDIR='incoming/compiz-core-1.0'
mkdir -p "${BUILDDIR}/debian/compiz-core/etc"
echo 'foo=bar;' > "${BUILDDIR}/compiz.conf"
echo 'compiz.conf	/etc/compiz.conf' >> "${BUILDDIR}/debian/install"
buildpackage "$BUILDDIR" 'unstable' 'main' 'native'
rm -rf "$BUILDDIR"

# new conffile
setupsimplenativepackage 'compiz-core' 'native' '2.0' 'unstable'
BUILDDIR='incoming/compiz-core-2.0'
mkdir -p "${BUILDDIR}/debian/compiz-core/etc"
echo 'foo2=bar2;' > "${BUILDDIR}/compiz.conf"
echo 'compiz.conf	/etc/compiz.conf' >> "${BUILDDIR}/debian/install"
buildpackage "$BUILDDIR" 'unstable' 'main' 'native'
rm -rf "$BUILDDIR"

setupaptarchive

testsuccess aptget install compiz-core=1.0

# fake conffile change
echo 'meep' >> rootdir/etc/compiz.conf/compiz.conf

# FIXME: Is there really no way to see if dpkg actually prompts?
msgtest 'Test for successful execution of' 'apt-get install compiz-core=2.0'
OUTPUT="$(mktemp)"
addtrap "rm \"$OUTPUT\";"
exec 3> apt-progress.log
testsuccess --nomsg aptget install compiz-core=2.0 -o APT::Status-Fd=3 -o Dpkg::Use-Pty=false -o dpkg::options::='--force-confold'

# and ensure there is a conffile message in the file
msgtest 'Test status fd for an included' 'pmconffile msg'
testsuccess --nomsg grep "pmconffile:/etc/compiz.conf/compiz.conf" apt-progress.log