summaryrefslogtreecommitdiff
path: root/test/integration
diff options
context:
space:
mode:
authorDavid Kalnischkies <david@kalnischkies.de>2016-07-20 18:09:46 +0200
committerDavid Kalnischkies <david@kalnischkies.de>2016-07-22 16:05:09 +0200
commite5c3f3ccd98e926b91693d961db4d338fd144301 (patch)
treee68be4bf581fff4d1ae55d319df51625a5f78c3c /test/integration
parentc1e202d225eea6838acd65ea81266996ee6bb9a2 (diff)
clean up default-stanzas from extended_states on write
The existing cleanup was happening only for packages which had a status change (install -> uninstalled) which is the most frequent but no the only case – you can e.g. set autobits explicitly with apt-mark. This would leave stanzas in the states file declaring a package to be manually installed – which is the default value for a package not listed at all, so we can just as well drop it from the file.
Diffstat (limited to 'test/integration')
-rw-r--r--test/integration/framework8
1 files changed, 8 insertions, 0 deletions
diff --git a/test/integration/framework b/test/integration/framework
index 792ba79d9..17de023aa 100644
--- a/test/integration/framework
+++ b/test/integration/framework
@@ -2001,3 +2001,11 @@ aptautotest_aptget_purge() { testaptautotestnodpkgwarning "$@"; }
aptautotest_apt_install() { testaptautotestnodpkgwarning "$@"; }
aptautotest_apt_remove() { testaptautotestnodpkgwarning "$@"; }
aptautotest_apt_purge() { testaptautotestnodpkgwarning "$@"; }
+
+testaptmarknodefaultsections() {
+ testfailure grep '^Auto-Installed: 0$' "${TMPWORKINGDIRECTORY}/rootdir/var/lib/apt/extended_states"
+}
+aptautotest_aptmark_auto() { testaptmarknodefaultsections "$@"; }
+aptautotest_aptmark_manual() { testaptmarknodefaultsections "$@"; }
+aptautotest_aptget_markauto() { testaptmarknodefaultsections "$@"; }
+aptautotest_aptget_markmanual() { testaptmarknodefaultsections "$@"; }