#!/bin/sh
set -e

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

setupenvironment
configarchitecture "i386"

if [ ! -x ${BUILDDIRECTORY}/apt ]; then
    msgmsg "No ${BUILDDIRECTORY}/apt"
    msgskip 
    exit 0
fi

insertpackage 'unstable' 'foo' 'all' '1.0'
insertinstalledpackage 'bar' 'i386' '1.0'

insertinstalledpackage 'foobar' 'i386' '1.0'
insertpackage 'unstable' 'foobar' 'i386' '2.0'

setupaptarchive

APTARCHIVE=$(readlink -f ./aptarchive)

testequal "Listing...
bar/now 1.0 i386 [installed,local]
foo/unstable 1.0 all
foobar/unstable 2.0 i386 [upgradable from: 1.0]" apt list

testequal "Listing...
foo/unstable 1.0 all
foobar/unstable 2.0 i386 [upgradable from: 1.0]" apt list "foo*"

testequal "Listing...
foobar/unstable 2.0 i386 [upgradable from: 1.0]" apt list --upgradable

# FIXME: hm, hm - does it make sense to have this different? shouldn't
#        we use "installed,upgradable" consitently?
testequal "Listing...
bar/now 1.0 i386 [installed,local]
foobar/now 1.0 i386 [installed,upgradable to: 2.0]" apt list --installed

testequal "Listing...
foobar/unstable 2.0 i386 [upgradable from: 1.0]
foobar/now 1.0 i386 [installed,upgradable to: 2.0]
" apt list foobar --all-versions

testequal "Listing...
bar/now 1.0 i386 [installed,local]
  an autogenerated dummy bar=1.0/installed
" apt list bar --verbose