[Pkg-bazaar-commits] r118 ./bzr-builddeb/people/jdw/merge_upstream: Some more test refactoring to remove some common code.
James Westby
jw+debian at jameswestby.net
Fri Jun 22 17:53:51 UTC 2007
------------------------------------------------------------
revno: 118
committer: James Westby <jw+debian at jameswestby.net>
branch nick: merge-upstream.siretart
timestamp: Fri 2007-06-22 18:53:51 +0100
message:
Some more test refactoring to remove some common code.
modified:
tests/test_merge_upstream.py
-------------- next part --------------
=== modified file 'tests/test_merge_upstream.py'
--- a/tests/test_merge_upstream.py 2007-06-22 17:05:26 +0000
+++ b/tests/test_merge_upstream.py 2007-06-22 17:53:51 +0000
@@ -73,6 +73,18 @@
tar.close()
shutil.rmtree('package-0.2')
+ def make_new_upstream_tarball_with_debian(self):
+ self.build_tree(['package-0.2/', 'package-0.2/README-NEW',
+ 'package-0.2/CHANGELOG', 'package-0.2/debian/',
+ 'package-0.2/debian/changelog'])
+ write_to_file('package-0.2/CHANGELOG', 'version 2\n')
+ tar = tarfile.open(self.upstream_tarball, 'w:gz')
+ try:
+ tar.add('package-0.2')
+ finally:
+ tar.close()
+ shutil.rmtree('package-0.2')
+
def perform_upstream_merge(self):
"""Perform a simple upstream merge.
@@ -176,47 +188,18 @@
self.assertEqual(len(wt.get_parent_ids()), 1)
self.assertEqual(wt.get_parent_ids()[0], rh[1])
-
-class TestConflictMergeUpstreamNormal(TestCaseWithTransport):
- """Test merge upstream with conflicts in the new version."""
-
- def perform_upstream_merge(self):
- """Perform an upstream merge that causes conflicts.
-
- :returns: the working tree after the merge.
- :rtype: WorkingTree
- """
- wt = self.make_branch_and_tree('.')
- # create the original upstream import
- self.build_tree(['README', 'CHANGELOG'])
- wt.add(['README', 'CHANGELOG'], ['README-id', 'CHANGELOG-id'])
- wt.commit('upstream version 1', rev_id='upstream-1')
- old_upstream_revision = wt.branch.last_revision()
- # create the debian branch on top
- self.build_tree(['debian/', 'debian/changelog'])
- wt.add(['debian/', 'debian/changelog'],
- ['debian-id', 'debian-changelog-id'])
+ def perform_conflicted_merge(self):
+ self.make_first_upstream_commit()
+ revspec = make_revspec(self.wt.branch.last_revision())
write_to_file('CHANGELOG', 'debian version\n')
- wt.commit('debian version 1-1', rev_id='debian-1-1')
- # create the new upstream release to import
- self.build_tree(['package-0.2/', 'package-0.2/README-NEW',
- 'package-0.2/CHANGELOG', 'package-0.2/debian/',
- 'package-0.2/debian/changelog'])
- write_to_file('package-0.2/CHANGELOG', 'version 2\n')
- tar = tarfile.open('package-0.2.tar.gz', 'w:gz')
- try:
- tar.add('package-0.2')
- finally:
- tar.close()
- shutil.rmtree('package-0.2')
- merge_upstream(wt, 'package-0.2.tar.gz',
- make_revspec(old_upstream_revision))
- os.unlink('package-0.2.tar.gz')
- return wt
+ self.make_first_debian_commit()
+ self.make_new_upstream_tarball_with_debian()
+ merge_upstream(self.wt, self.upstream_tarball, revspec)
+ return self.wt
- def test_merge_upstream_gives_correct_tree(self):
- """Check that a merge leaves the tree as expected."""
- wt = self.perform_upstream_merge()
+ def test_merge_upstream_gives_correct_tree_on_conficts(self):
+ """Check that a merge leaves the tree as expected with conflicts."""
+ wt = self.perform_conflicted_merge()
self.failUnlessExists('CHANGELOG')
self.failUnlessExists('README-NEW')
self.failIfExists('README')
@@ -230,7 +213,7 @@
f.close()
def test_merge_upstream_gives_correct_status(self):
- wt = self.perform_upstream_merge()
+ wt = self.perform_conflicted_merge()
basis = wt.basis_tree()
changes = wt.changes_from(basis, want_unchanged=True,
want_unversioned=True)
@@ -259,13 +242,13 @@
('CHANGELOG.THIS', None, 'file')])
def test_merge_upstream_gives_correct_parents(self):
- wt = self.perform_upstream_merge()
+ wt = self.perform_conflicted_merge()
parents = wt.get_parent_ids()
self.assertEqual(len(parents), 2)
self.assertEqual(parents[1], 'debian-1-1')
def test_merge_upstream_gives_correct_conflicts(self):
- wt = self.perform_upstream_merge()
+ wt = self.perform_conflicted_merge()
conflicts = wt.conflicts()
self.assertEqual(len(conflicts), 2)
self.assertEqual(conflicts[0].path, 'CHANGELOG')
@@ -277,7 +260,7 @@
self.assertEqual(conflicts[1].typestring, 'duplicate')
def test_merge_upstream_gives_correct_history(self):
- wt = self.perform_upstream_merge()
+ wt = self.perform_conflicted_merge()
rh = wt.branch.revision_history()
self.assertEqual(len(rh), 2)
self.assertEqual(rh[0], 'upstream-1')
More information about the Pkg-bazaar-commits
mailing list