[Reportbug-commits] [reportbug] 02/02: if NEW has several versions of the given package, choose the bigger; thanks to Thorsten Glaser for the report; Closes: #704040
Sandro Tosi
morph at moszumanska.debian.org
Sun Jan 19 19:12:15 UTC 2014
This is an automated email from the git hooks/post-receive script.
morph pushed a commit to branch master
in repository reportbug.
commit c61eefb75e563ab1f26caa797cfd8106210c8d9f
Author: Sandro Tosi <morph at debian.org>
Date: Sun Jan 19 20:07:56 2014 +0100
if NEW has several versions of the given package, choose the bigger; thanks to Thorsten Glaser for the report; Closes: #704040
deb822.Deb822.iter_paragraph() expects an iterable object to parse correctly the
input, so we give it one, the paragraph split per line, so that it is able to
setup a correct dictionary with the mocked values
---
debian/changelog | 5 ++++-
reportbug/checkversions.py | 3 ++-
test/test_checkversions.py | 38 ++++++++++++++++++++++++++++++++++++++
3 files changed, 44 insertions(+), 2 deletions(-)
diff --git a/debian/changelog b/debian/changelog
index a1596bd..ce84a3e 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -14,8 +14,11 @@ reportbug (6.4.5) UNRELEASED; urgency=low
- improve the template provided to less-expert reporters to be clear the
questions should be answered by the reporter themselves; thanks to Tony
Houghton for the report; Closes: #690782
+ * reportbug/checkversions.py
+ - if NEW has several versions of the given package, choose the bigger;
+ thanks to Thorsten Glaser for the report; Closes: #704040
- -- Sandro Tosi <morph at debian.org> Sun, 19 Jan 2014 17:31:59 +0100
+ -- Sandro Tosi <morph at debian.org> Sun, 19 Jan 2014 20:03:17 +0100
reportbug (6.4.4) unstable; urgency=low
diff --git a/reportbug/checkversions.py b/reportbug/checkversions.py
index 5ce2802..750da1a 100644
--- a/reportbug/checkversions.py
+++ b/reportbug/checkversions.py
@@ -155,7 +155,8 @@ def get_newqueue_available(package, timeout, dists=None, http_proxy=None, arch='
for para in Deb822.iter_paragraphs(page):
if para['Source'] == package:
k = para['Distribution'] + ' (' + para['Queue'] + ')'
- versions[k] = para['Version']
+ # in case of multiple versions, choose the bigger
+ versions[k] = max(para['Version'].split())
return versions
diff --git a/test/test_checkversions.py b/test/test_checkversions.py
index 17a27d3..1577ee0 100644
--- a/test/test_checkversions.py
+++ b/test/test_checkversions.py
@@ -3,6 +3,8 @@ import unittest2
from reportbug import checkversions
from nose.plugins.attrib import attr
+import mock
+
class TestCheckversions(unittest2.TestCase):
def test_compare_versions(self):
@@ -31,6 +33,42 @@ class TestCheckversions(unittest2.TestCase):
self.assertEqual(checkversions.later_version('1.2.4', '1.2.3'), '1.2.4')
+class TestNewQueue(unittest2.TestCase):
+
+ def test_bts704040(self):
+
+ # return an iterable object, so that Deb822 (what parses the result)
+ # will work
+ pkg_in_new = """Source: procps
+Binary: libprocps1-dev, procps, libprocps1
+Version: 1:3.3.6-2 1:3.3.6-1 1:3.3.7-1 1:3.3.5-1
+Architectures: source, amd64
+Age: 4 months
+Last-Modified: 1353190660
+Queue: new
+Maintainer: Craig Small <csmall at debian.org>
+Changed-By: Craig Small <csmall at debian.org>
+Distribution: experimental
+Fingerprint: 5D2FB320B825D93904D205193938F96BDF50FEA5
+Closes: #682082, #682083, #682086, #698482, #699716
+Changes-File: procps_3.3.6-1_amd64.changes
+
+Source: aaa
+""".split('\n')
+
+ # save the original checkversions.open_url() method
+ save_open_url = checkversions.open_url
+
+ checkversions.open_url = mock.MagicMock(return_value = pkg_in_new)
+
+ res = checkversions.get_newqueue_available('procps', 60)
+
+ self.assertEqual(res.keys()[0], u'experimental (new)')
+ self.assertEqual(res[u'experimental (new)'], u'1:3.3.7-1')
+
+ # restore the original checkversions.open_url() method
+ checkversions.open_url = save_open_url
+
class TestVersionAvailable(unittest2.TestCase):
@attr('network') #marking the test as using network
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/reportbug/reportbug.git
More information about the Reportbug-commits
mailing list