From 747c05d728d3ab15c84ff22e077c7943d924d695 Mon Sep 17 00:00:00 2001 From: Guido Günther Date: Wed, 28 Dec 2011 10:30:07 +0100 Subject: dch: Honor epoch when guessing new upstream version Closes: #652366 Thanks: a lot to Daniel Dehennin for the testcase --- tests/03_test_dch_guess_version.py | 50 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 tests/03_test_dch_guess_version.py (limited to 'tests') diff --git a/tests/03_test_dch_guess_version.py b/tests/03_test_dch_guess_version.py new file mode 100644 index 00000000..10343074 --- /dev/null +++ b/tests/03_test_dch_guess_version.py @@ -0,0 +1,50 @@ +import unittest + +from gbp.scripts import dch +from gbp.errors import GbpError +from gbp.deb.changelog import ChangeLog +from gbp.deb.git import DebianGitRepository + +class MockGitRepository(object): + def __init__(self, upstream_tag): + self.upstream_tag = upstream_tag + + def find_tag(self, branch, pattern): + return self.upstream_tag + + def tag_to_version(self, tag, format): + return DebianGitRepository.tag_to_version(tag, format) + + +class MockedChangeLog(ChangeLog): + contents = """foo (%s) experimental; urgency=low + + * a important change + + -- Debian Maintainer Sat, 01 Jan 2012 00:00:00 +0100""" + + def __init__(self, version): + ChangeLog.__init__(self, contents=self.contents % version) + + +class TestGuessVersionFromUpstream(unittest.TestCase): + """Dest guess_version_from_upstream""" + def test_guess_no_epoch(self): + """Guess the new version from the upstream tag""" + repo = MockGitRepository(upstream_tag='upstream/1.1') + cp = MockedChangeLog('1.0-1') + guessed = dch.guess_version_from_upstream(repo, + 'upstream/%(version)s', + cp) + self.assertEqual('1.1-1', guessed) + + def test_guess_epoch(self): + """Check if we picked up the epoch correctly (#652366)""" + repo = MockGitRepository(upstream_tag='upstream/1.1') + cp = MockedChangeLog('1:1.0-1') + guessed = dch.guess_version_from_upstream(repo, + 'upstream/%(version)s', + cp) + self.assertEqual('1:1.1-1', guessed) + + -- cgit v1.2.3