From 2021c1b4973c3201b1e4580d00b7351c23a831c4 Mon Sep 17 00:00:00 2001 From: Michael Vogt Date: Mon, 30 Jan 2012 15:25:37 +0100 Subject: RED: policy should support verfile --- tests/test_policy.py | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 tests/test_policy.py (limited to 'tests') diff --git a/tests/test_policy.py b/tests/test_policy.py new file mode 100644 index 00000000..2d261f5f --- /dev/null +++ b/tests/test_policy.py @@ -0,0 +1,31 @@ +#!/usr/bin/python +# +# Copyright (C) 2012 Michael Vogt +# +# Copying and distribution of this file, with or without modification, +# are permitted in any medium without royalty provided the copyright +# notice and this notice are preserved. + +import apt +import unittest + +class TestAptPolicy(unittest.TestCase): + + def test_apt_policy(self): + # get a policy + cache = apt.Cache() + policy = cache._depcache.policy + self.assertNotEqual(policy, None) + # basic tests + pkg = cache["apt"] + self.assertEqual(policy.get_priority(pkg._pkg), 0) + # get verfile + ver = pkg.candidate._cand + verfile_list = ver.file_list + for verfile in verfile_list: + print verfile + self.assertEqual(policy.get_priority(verfile), 500) + + +if __name__ == "__main__": + unittest.main() -- cgit v1.2.3 From 00ce4d227aef4ccde15f8cfa5b1a5582195eb639 Mon Sep 17 00:00:00 2001 From: Michael Vogt Date: Mon, 30 Jan 2012 15:33:24 +0100 Subject: GREEN: policy should suppors PkgVerFile now --- po/python-apt.pot | 2 +- python/policy.cc | 3 +++ tests/test_policy.py | 13 +++++++------ 3 files changed, 11 insertions(+), 7 deletions(-) (limited to 'tests') diff --git a/po/python-apt.pot b/po/python-apt.pot index a7cf0a8d..b99c36e1 100644 --- a/po/python-apt.pot +++ b/po/python-apt.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-01-30 15:16+0100\n" +"POT-Creation-Date: 2012-01-30 15:32+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/python/policy.cc b/python/policy.cc index b11e4dde..b7e648b5 100644 --- a/python/policy.cc +++ b/python/policy.cc @@ -46,6 +46,9 @@ PyObject *policy_get_priority(PyObject *self, PyObject *arg) { if (PyObject_TypeCheck(arg, &PyPackage_Type)) { pkgCache::PkgIterator pkg = GetCpp(arg); return MkPyNumber(policy->GetPriority(pkg)); + } else if (PyObject_TypeCheck(arg, &PyPackageFile_Type)) { + pkgCache::PkgFileIterator pkgfile = GetCpp(arg); + return MkPyNumber(policy->GetPriority(pkgfile)); } else { PyErr_SetString(PyExc_TypeError,"Argument must be of Package()."); return 0; diff --git a/tests/test_policy.py b/tests/test_policy.py index 2d261f5f..2aab6722 100644 --- a/tests/test_policy.py +++ b/tests/test_policy.py @@ -19,12 +19,13 @@ class TestAptPolicy(unittest.TestCase): # basic tests pkg = cache["apt"] self.assertEqual(policy.get_priority(pkg._pkg), 0) - # get verfile - ver = pkg.candidate._cand - verfile_list = ver.file_list - for verfile in verfile_list: - print verfile - self.assertEqual(policy.get_priority(verfile), 500) + # get priority for all pkgfiles + for ver in pkg.versions: + lowlevel_ver = ver._cand + for pkgfile, i in lowlevel_ver.file_list: + #print verfile, i, policy.get_priority(pkgfile) + self.assertTrue(policy.get_priority(pkgfile) > 1) + self.assertTrue(policy.get_priority(pkgfile) < 1001) if __name__ == "__main__": -- cgit v1.2.3 From 055dc32f4025f081293cee32cde935100532c651 Mon Sep 17 00:00:00 2001 From: Michael Vogt Date: Mon, 30 Jan 2012 15:40:50 +0100 Subject: RED: apt.Version should have "policy_priority" property --- debian/changelog | 1 + po/python-apt.pot | 2 +- tests/test_policy.py | 10 ++++++++-- 3 files changed, 10 insertions(+), 3 deletions(-) (limited to 'tests') diff --git a/debian/changelog b/debian/changelog index 7f582bff..1e400dfb 100644 --- a/debian/changelog +++ b/debian/changelog @@ -2,6 +2,7 @@ python-apt (0.8.4) UNRELEASED; urgency=low * doc/examples/build-deps.py: - update the build-deps.py example to use the apt API more + * add support for apt_pkg.Policy.get_priority(PkgFileIterator) -- Michael Vogt Wed, 04 Jan 2012 12:07:48 +0100 diff --git a/po/python-apt.pot b/po/python-apt.pot index b99c36e1..58877b55 100644 --- a/po/python-apt.pot +++ b/po/python-apt.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-01-30 15:32+0100\n" +"POT-Creation-Date: 2012-01-30 15:40+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/tests/test_policy.py b/tests/test_policy.py index 2aab6722..449c3961 100644 --- a/tests/test_policy.py +++ b/tests/test_policy.py @@ -11,7 +11,7 @@ import unittest class TestAptPolicy(unittest.TestCase): - def test_apt_policy(self): + def test_apt_policy_lowlevel(self): # get a policy cache = apt.Cache() policy = cache._depcache.policy @@ -23,10 +23,16 @@ class TestAptPolicy(unittest.TestCase): for ver in pkg.versions: lowlevel_ver = ver._cand for pkgfile, i in lowlevel_ver.file_list: - #print verfile, i, policy.get_priority(pkgfile) + print pkgfile, i, policy.get_priority(pkgfile) self.assertTrue(policy.get_priority(pkgfile) > 1) self.assertTrue(policy.get_priority(pkgfile) < 1001) + def test_apt_policy_highlevel(self): + cache = apt.Cache() + pkg = cache["apt"] + self.assertTrue(pkg.candidate.policy_priority > 1 and + pkg.candidate.policy_priority < 1001) + if __name__ == "__main__": unittest.main() -- cgit v1.2.3