Browse Source

use apt-mark instead of hand-mangling with the extended_states file

tags/debian/0.8.11.2
David Kalnischkies 10 years ago
parent
commit
ec7f904e7e
5 changed files with 34 additions and 45 deletions
  1. +14
    -0
      test/integration/framework
  2. +2
    -6
      test/integration/test-apt-get-autoremove
  3. +3
    -3
      test/integration/test-bug-604222-new-and-autoremove
  4. +13
    -34
      test/integration/test-bug-611729-mark-as-manual
  5. +2
    -2
      test/integration/test-disappearing-packages

+ 14
- 0
test/integration/framework View File

@@ -79,6 +79,7 @@ aptcache() { runapt apt-cache $*; }
aptget() { runapt apt-get $*; }
aptftparchive() { runapt apt-ftparchive $*; }
aptkey() { runapt apt-key $*; }
aptmark() { runapt apt-mark $*; }
dpkg() {
$(which dpkg) --root=${TMPWORKINGDIRECTORY}/rootdir --force-not-root --force-bad-path --log=${TMPWORKINGDIRECTORY}/rootdir/var/log/dpkg.log $*
}
@@ -647,3 +648,16 @@ testdpkgnotinstalled() {
fi
msgpass
}

testmarkedauto() {
local COMPAREFILE=$(mktemp)
addtrap "rm $COMPAREFILE;"
if [ -n "$1" ]; then
msgtest 'Test for correctly marked as auto-installed' "$*"
while [ -n "$1" ]; do echo "$1"; shift; done | sort > $COMPAREFILE
else
msgtest 'Test for correctly marked as auto-installed' 'no package'
echo > $COMPAREFILE
fi
aptmark showauto 2>&1 | checkdiff $COMPAREFILE - && msgpass || msgfail
}

+ 2
- 6
test/integration/test-apt-get-autoremove View File

@@ -14,10 +14,7 @@ setupaptarchive
aptget install unrelated debhelper -qq 2>&1 > /dev/null
testdpkginstalled 'unrelated' 'debhelper' 'po-debconf'

testfileequal 'rootdir/var/lib/apt/extended_states' 'Package: po-debconf
Architecture: i386
Auto-Installed: 1
'
testmarkedauto 'po-debconf'
aptget remove debhelper -y -qq 2>&1 > /dev/null
testdpkgnotinstalled 'debhelper'
testdpkginstalled 'po-debconf' 'unrelated'
@@ -43,8 +40,7 @@ testdpkginstalled "po-debconf"
rm rootdir/etc/apt/apt.conf.d/00autoremove
aptget autoremove -y -qq 2>&1 > /dev/null
testdpkgnotinstalled 'po-debconf'

testfileequal 'rootdir/var/lib/apt/extended_states' ''
testmarkedauto

sed -i rootdir/var/log/apt/history.log -e '/^Commandline: / d' -e '/^Start-Date: / d' -e '/^End-Date: / d'
testfileequal 'rootdir/var/log/apt/history.log' '


+ 3
- 3
test/integration/test-bug-604222-new-and-autoremove View File

@@ -7,9 +7,9 @@ setupenvironment
configarchitecture "i386"
setupaptarchive

echo 'Package: libvtk5.4
Auto-Installed: 1
Architecture: i386' > rootdir/var/lib/apt/extended_states
touch rootdir/var/lib/apt/extended_states
aptmark markauto 'libvtk5.4'
testmarkedauto 'libvtk5.4'

testequal "Reading package lists...
Building dependency tree...


+ 13
- 34
test/integration/test-bug-611729-mark-as-manual View File

@@ -17,59 +17,41 @@ setupaptarchive
# dpkg freaks out if the last package is removed so keep one around
aptget install peace-dpkg -y -qq 2>&1 > /dev/null
testdpkginstalled peace-dpkg
testfileequal 'rootdir/var/lib/apt/extended_states' ''
testmarkedauto

aptget install a -y -qq 2>&1 > /dev/null
testdpkginstalled a b
testdpkgnotinstalled c
testfileequal 'rootdir/var/lib/apt/extended_states' 'Package: b
Architecture: i386
Auto-Installed: 1
'
testmarkedauto 'b'

aptget remove a -y -qq 2>&1 > /dev/null
testdpkgnotinstalled a c
testdpkginstalled b
testfileequal 'rootdir/var/lib/apt/extended_states' 'Package: b
Architecture: i386
Auto-Installed: 1
'
testmarkedauto 'b'

aptget install c -y -qq 2>&1 > /dev/null
testdpkgnotinstalled a
testdpkginstalled b c
testfileequal 'rootdir/var/lib/apt/extended_states' 'Package: b
Architecture: i386
Auto-Installed: 1
'
testmarkedauto 'b'

testequal 'Reading package lists...
Building dependency tree...
Reading state information...
b is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.' aptget install b --only-upgrade
testfileequal 'rootdir/var/lib/apt/extended_states' 'Package: b
Architecture: i386
Auto-Installed: 1
'
testmarkedauto 'b'

testequal 'Reading package lists...
Building dependency tree...
Reading state information...
b is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.' aptget install b -d
testfileequal 'rootdir/var/lib/apt/extended_states' 'Package: b
Architecture: i386
Auto-Installed: 1
'
testmarkedauto 'b'

aptget install b --reinstall -y -qq 2>&1 > /dev/null
testdpkgnotinstalled a
testdpkginstalled b c
testfileequal 'rootdir/var/lib/apt/extended_states' 'Package: b
Architecture: i386
Auto-Installed: 1
'
testmarkedauto 'b'

testequal 'Reading package lists...
Building dependency tree...
@@ -77,29 +59,26 @@ Reading state information...
b is already the newest version.
b set to manually installed.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.' aptget install b
testfileequal 'rootdir/var/lib/apt/extended_states' 'Package: b
Architecture: i386
Auto-Installed: 0
'
testmarkedauto

aptget remove b -y -qq 2>&1 > /dev/null
testdpkgnotinstalled a b c
testfileequal 'rootdir/var/lib/apt/extended_states' ''
testmarkedauto

aptget install a b -y -qq 2>&1 > /dev/null
testdpkginstalled a b
testdpkgnotinstalled c
testfileequal 'rootdir/var/lib/apt/extended_states' ''
testmarkedauto

aptget purge a b -y -qq 2>&1 > /dev/null
testdpkgnotinstalled a b c
testfileequal 'rootdir/var/lib/apt/extended_states' ''
testmarkedauto

aptget install b c -y -qq 2>&1 > /dev/null
testdpkgnotinstalled a
testdpkginstalled b c
testfileequal 'rootdir/var/lib/apt/extended_states' ''
testmarkedauto

aptget install a -y -qq 2>&1 > /dev/null
testdpkginstalled a b c
testfileequal 'rootdir/var/lib/apt/extended_states' ''
testmarkedauto

+ 2
- 2
test/integration/test-disappearing-packages View File

@@ -31,7 +31,7 @@ setupaptarchive

aptget install old-pkg=1.0 --trivial-only -qq 2>&1 > /dev/null

testfileequal "rootdir/var/lib/apt/extended_states" "" # old-pkg is manual installed
testmarkedauto # old-pkg is manual installed

local CMD="aptget dist-upgrade -y -q=0"
msgtest "Test for equality of" "$CMD"
@@ -51,4 +51,4 @@ Install: new-pkg:i386 (2.0, automatic)
Upgrade: old-pkg:i386 (1.0, 2.0)
Disappeared: old-pkg (1.0)"

testfileequal "rootdir/var/lib/apt/extended_states" "" # new-pkg should have get the manual flag from old-pkg
testmarkedauto # new-pkg should have get the manual flag from old-pkg

Loading…
Cancel
Save