[MERGE] Convert missing & log blackbox tests to use internals where appropriate
Daniel Watkins
D.M.Watkins at warwick.ac.uk
Mon Sep 10 16:52:11 BST 2007
The subject line really says it all.
--
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.19)
# revision_id: d.m.watkins at warwick.ac.uk-20070808124816-\
# 5wvk839yjzmfiod6
# target_branch: file:///home/daniel/devel/bzr/bzr.dev/
# testament_sha1: bcd9b63c16003d915edcfa9eb8518a3b09aa5126
# timestamp: 2007-08-08 13:49:58 +0100
# base_revision_id: pqm at pqm.ubuntu.com-20070731122244-f1jemfecukeevugw
#
# 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-08-08 11:25:50 +0000
@@ -27,19 +27,21 @@
class TestLog(ExternalBase):
- def _prepare(self, format=None):
+ def _prepare(self, path='.', format=None):
if format:
- self.run_bzr(["init", "--format="+format])
+ tree = self.make_branch_and_tree(path, 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]
+ tree = self.make_branch_and_tree(path)
+ 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 +102,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 +123,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 +138,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 +161,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 +430,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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
FyQbkOpDtzv7DnLAT/xdyRThQkK3Q5Gc
-------------- 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/20070910/d49d267e/attachment.pgp
More information about the bazaar
mailing list