[MERGE] Convert missing & log blackbox tests to use internals where appropriate

Daniel Watkins D.M.Watkins at warwick.ac.uk
Sun Sep 16 03:31:26 BST 2007


On Thu, 2007-09-13 at 15:07 -0400, Aaron Bentley wrote:
> The "if format:" is not necessary.
Fixed in attached.

-- 
Daniel Watkins (Odd_Bloke) <D.M.Watkins at warwick.ac.uk>
University of Warwick Christian Focus President
University of Warwick Computing Society WUGLUG Liaison Officer
-------------- next part --------------
# Bazaar merge directive format 2 (Bazaar 0.90)
# revision_id: d.m.watkins at warwick.ac.uk-20070916022950-\
#   kv9l5nk16gq3zg53
# target_branch: file:///home/daniel/devel/bzr/bzr.dev/
# testament_sha1: ce4a6238ea85f04d2a93ad98958f6242637524a8
# timestamp: 2007-09-16 03:30:22 +0100
# base_revision_id: pqm at pqm.ubuntu.com-20070910105743-72rhm2629qiijbsj
# 
# Begin patch
=== modified file 'bzrlib/tests/blackbox/test_log.py'
--- bzrlib/tests/blackbox/test_log.py	2007-07-19 03:40:54 +0000
+++ bzrlib/tests/blackbox/test_log.py	2007-09-16 02:29:50 +0000
@@ -27,19 +27,18 @@
 
 class TestLog(ExternalBase):
 
-    def _prepare(self, format=None):
-        if format:
-            self.run_bzr(["init", "--format="+format])
-        else:
-            self.run_bzr("init")
-        self.build_tree(['hello.txt', 'goodbye.txt', 'meep.txt'])
-        self.run_bzr("add hello.txt")
-        self.run_bzr("commit -m message1 hello.txt")
-        self.run_bzr("add goodbye.txt")
-        self.run_bzr("commit -m message2 goodbye.txt")
-        self.run_bzr("add meep.txt")
-        self.run_bzr("commit -m message3 meep.txt")
-        self.full_log = self.run_bzr("log")[0]
+    def _prepare(self, path='.', format=None):
+        tree = self.make_branch_and_tree(path, format=format)
+        self.build_tree(
+            [path + '/hello.txt', path + '/goodbye.txt', path + '/meep.txt'])
+        tree.add('hello.txt')
+        tree.commit(message='message1')
+        tree.add('goodbye.txt')
+        tree.commit(message='message2')
+        tree.add('meep.txt')
+        tree.commit(message='message3')
+        self.full_log = self.run_bzr(["log", path])[0]
+        return tree
 
     def test_log_null_end_revspec(self):
         self._prepare()
@@ -100,14 +99,8 @@
                            ['log', '-r3..1'])
 
     def test_log_revno_n_path(self):
-        os.mkdir('branch1')
-        os.chdir('branch1')
-        self._prepare()
-        os.chdir('..')
-        os.mkdir('branch2')
-        os.chdir('branch2')
-        self._prepare()
-        os.chdir('..')
+        self._prepare(path='branch1')
+        self._prepare(path='branch2')
         log = self.run_bzr("log -r revno:2:branch1..revno:3:branch2",
                           retcode=3)[0]
         log = self.run_bzr("log -r revno:1:branch2..revno:3:branch2")[0]
@@ -127,10 +120,11 @@
             err, 'Path does not have any revision history: does-not-exist')
 
     def test_log_with_tags(self):
-        self._prepare(format='dirstate-tags')
-        self.run_bzr('tag -r1 tag1')
-        self.run_bzr('tag -r1 tag1.1')
-        self.run_bzr('tag tag3')
+        tree = self._prepare(format='dirstate-tags')
+        branch = tree.branch
+        branch.tags.set_tag('tag1', branch.get_rev_id(1))
+        branch.tags.set_tag('tag1.1', branch.get_rev_id(1))
+        branch.tags.set_tag('tag3', branch.last_revision()) 
         
         log = self.run_bzr("log -r-1")[0]
         self.assertTrue('tags: tag3' in log)
@@ -141,17 +135,14 @@
         self.assertContainsRe(log, r'tags: (tag1, tag1\.1|tag1\.1, tag1)')
 
     def test_merged_log_with_tags(self):
-        os.mkdir('branch1')
-        os.chdir('branch1')
-        self._prepare(format='dirstate-tags')
-        os.chdir('..')
-        self.run_bzr('branch branch1 branch2')
-        os.chdir('branch1')
-        self.run_bzr('commit -m foobar --unchanged')
-        self.run_bzr('tag tag1')
-        os.chdir('../branch2')
-        self.run_bzr('merge ../branch1')
-        self.run_bzr(['commit', '-m', 'merge branch 1'])
+        branch1_tree = self._prepare(path='branch1', format='dirstate-tags')
+        branch1 = branch1_tree.branch
+        branch2_tree = branch1_tree.bzrdir.sprout('branch2').open_workingtree()
+        branch1_tree.commit(message='foobar', allow_pointless=True)
+        branch1.tags.set_tag('tag1', branch1.last_revision())
+        os.chdir('branch2')
+        self.run_bzr('merge ../branch1') # tags don't propagate otherwise
+        branch2_tree.commit(message='merge branch 1')
         log = self.run_bzr("log -r-1")[0]
         self.assertContainsRe(log, r'    tags: tag1')
         log = self.run_bzr("log -r3.1.1")[0]
@@ -167,20 +158,18 @@
 class TestLogMerges(ExternalBase):
 
     def _prepare(self):
-        self.build_tree(['parent/'])
-        self.run_bzr('init parent')
-        self.run_bzr(['commit', '-m', 'first post', '--unchanged', 'parent'])
-        self.run_bzr('branch parent child')
-        self.run_bzr(['commit', '-m', 'branch 1', '--unchanged', 'child'])
-        self.run_bzr('branch child smallerchild')
-        self.run_bzr(['commit', '-m', 'branch 2', '--unchanged',
-                      'smallerchild'])
-        os.chdir('child')
-        self.run_bzr('merge ../smallerchild')
-        self.run_bzr(['commit', '-m', 'merge branch 2'])
-        os.chdir('../parent')
-        self.run_bzr('merge ../child')
-        self.run_bzr(['commit', '-m', 'merge branch 1'])
+        parent_tree = self.make_branch_and_tree('parent')
+        parent_tree.commit(message='first post', allow_pointless=True)
+        child_tree = parent_tree.bzrdir.sprout('child').open_workingtree()
+        child_tree.commit(message='branch 1', allow_pointless=True)
+        smaller_tree = \
+                child_tree.bzrdir.sprout('smallerchild').open_workingtree()
+        smaller_tree.commit(message='branch 2', allow_pointless=True)
+        child_tree.merge_from_branch(smaller_tree.branch)
+        child_tree.commit(message='merge branch 2')
+        parent_tree.merge_from_branch(child_tree.branch)
+        parent_tree.commit(message='merge branch 1')
+        os.chdir('parent')
 
     def test_merges_are_indented_by_level(self):
         self._prepare()
@@ -438,12 +427,12 @@
         tree.commit('add file2')
         tree.add('file3')
         tree.commit('add file3')
-        self.run_bzr('branch parent child')
-        print >> file('child/file2', 'wb'), 'hello'
-        self.run_bzr(['commit', '-m', 'branch 1', 'child'])
+        child_tree = tree.bzrdir.sprout('child').open_workingtree()
+        self.build_tree_contents([('child/file2', 'hello')])
+        child_tree.commit(message='branch 1')
+        tree.merge_from_branch(child_tree.branch)
+        tree.commit(message='merge child branch')
         os.chdir('parent')
-        self.run_bzr('merge ../child')
-        self.run_bzr(['commit', '-m', 'merge child branch'])
         log = self.run_bzr('log file1')[0]
         self.assertContainsRe(log, 'revno: 1\n')
         self.assertNotContainsRe(log, 'revno: 2\n')

=== modified file 'bzrlib/tests/blackbox/test_missing.py'
--- bzrlib/tests/blackbox/test_missing.py	2007-06-26 20:32:49 +0000
+++ bzrlib/tests/blackbox/test_missing.py	2007-08-08 12:48:16 +0000
@@ -29,35 +29,30 @@
 class TestMissing(TestCaseWithTransport):
 
     def test_missing(self):
-        def bzr(*args, **kwargs):
-            return self.run_bzr(*args, **kwargs)[0]
         missing = "You are missing 1 revision(s):"
 
         # create a source branch
-        os.mkdir('a')
-        os.chdir('a')
-        bzr('init')
-        open('a', 'wb').write('initial\n')
-        bzr('add a')
-        bzr('commit -m inital')
+        a_tree = self.make_branch_and_tree('a')
+        self.build_tree_contents([('a/a', 'initial\n')])
+        a_tree.add('a')
+        a_tree.commit(message='initial')
 
         # clone and add a differing revision
-        bzr('branch . ../b')
-        os.chdir('../b')
-        open('a', 'ab').write('more\n')
-        bzr('commit -m more')
+        b_tree = a_tree.bzrdir.sprout('b').open_workingtree()
+        self.build_tree_contents([('b/a', 'initial\nmore\n')])
+        b_tree.commit(message='more')
 
         # run missing in a against b
-        os.chdir('../a')
         # this should not require missing to take out a write lock on a 
         # or b. So we take a write lock on both to test that at the same
         # time. This may let the test pass while the default branch is an
         # os-locking branch, but it will trigger failures with lockdir based
         # branches.
-        branch_a = Branch.open('.')
-        branch_a.lock_write()
-        branch_b = Branch.open('../b')
-        branch_b.lock_write()
+        a_branch = a_tree.branch
+        a_branch.lock_write()
+        b_branch = b_tree.branch
+        b_branch.lock_write()
+        os.chdir('a')
         out,err = self.run_bzr('missing ../b', retcode=1)
         lines = out.splitlines()
         # we're missing the extra revision here
@@ -68,68 +63,67 @@
         # we do not expect any error output.
         self.assertEqual('', err)
         # unlock the branches for the rest of the test
-        branch_a.unlock()
-        branch_b.unlock()
+        a_branch.unlock()
+        b_branch.unlock()
 
         # get extra revision from b
-        bzr('merge ../b')
-        bzr('commit -m merge')
+        a_tree.merge_from_branch(b_branch)
+        a_tree.commit(message='merge')
 
         # compare again, but now we have the 'merge' commit extra
-        lines = bzr('missing ../b', retcode=1).splitlines()
+        lines = self.run_bzr('missing ../b', retcode=1)[0].splitlines()
         self.assertEqual("You have 1 extra revision(s):", lines[0])
         self.assertEqual(8, len(lines))
-        lines2 = bzr('missing ../b --mine-only', retcode=1)
+        lines2 = self.run_bzr('missing ../b --mine-only', retcode=1)[0]
         lines2 = lines2.splitlines()
         self.assertEqual(lines, lines2)
-        lines3 = bzr('missing ../b --theirs-only', retcode=1)
+        lines3 = self.run_bzr('missing ../b --theirs-only', retcode=1)[0]
         lines3 = lines3.splitlines()
         self.assertEqual(0, len(lines3))
 
         # relative to a, missing the 'merge' commit 
         os.chdir('../b')
-        lines = bzr('missing ../a', retcode=1).splitlines()
+        lines = self.run_bzr('missing ../a', retcode=1)[0].splitlines()
         self.assertEqual(missing, lines[0])
         self.assertEqual(8, len(lines))
-        lines2 = bzr('missing ../a --theirs-only', retcode=1)
+        lines2 = self.run_bzr('missing ../a --theirs-only', retcode=1)[0]
         lines2 = lines2.splitlines()
         self.assertEqual(lines, lines2)
-        lines3 = bzr('missing ../a --mine-only', retcode=1)
+        lines3 = self.run_bzr('missing ../a --mine-only', retcode=1)[0]
         lines3 = lines3.splitlines()
         self.assertEqual(0, len(lines3))
-        lines4 = bzr('missing ../a --short', retcode=1)
+        lines4 = self.run_bzr('missing ../a --short', retcode=1)[0]
         lines4 = lines4.splitlines()
         self.assertEqual(4, len(lines4))
-        lines5 = bzr('missing ../a --line', retcode=1)
+        lines5 = self.run_bzr('missing ../a --line', retcode=1)[0]
         lines5 = lines5.splitlines()
         self.assertEqual(2, len(lines5))
-        lines6 = bzr('missing ../a --reverse', retcode=1)
+        lines6 = self.run_bzr('missing ../a --reverse', retcode=1)[0]
         lines6 = lines6.splitlines()
         self.assertEqual(lines6, lines)
-        lines7 = bzr('missing ../a --show-ids', retcode=1)
+        lines7 = self.run_bzr('missing ../a --show-ids', retcode=1)[0]
         lines7 = lines7.splitlines()
         self.assertEqual(11, len(lines7))
-        lines8 = bzr('missing ../a --verbose', retcode=1)
+        lines8 = self.run_bzr('missing ../a --verbose', retcode=1)[0]
         lines8 = lines8.splitlines()
         self.assertEqual("modified:", lines8[-2])
         self.assertEqual("  a", lines8[-1])
 
         # after a pull we're back on track
-        bzr('pull')
-        self.assertEqual("Branches are up to date.\n", bzr('missing ../a'))
+        b_tree.pull(a_branch)
+        self.assertEqual("Branches are up to date.\n", self.run_bzr('missing ../a')[0])
 
     def test_missing_check_last_location(self):
         # check that last location shown as filepath not file URL
 
         # create a source branch
-        os.mkdir('a')
-        os.chdir('a')
-        wt = self.make_branch_and_tree('.')
+        wt = self.make_branch_and_tree('a')
         b = wt.branch
-        self.build_tree(['foo'])
+        self.build_tree(['a/foo'])
         wt.add('foo')
         wt.commit('initial')
 
+        os.chdir('a')
         location = osutils.getcwd() + '/'
 
         # clone

# Begin bundle
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
wuDzHQhcFah/4u5IpwoSE1rP2UA=
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
Url : https://lists.ubuntu.com/archives/bazaar/attachments/20070916/b176cf73/attachment-0001.pgp 


More information about the bazaar mailing list