[MERGE] Convert tests.blackbox.test_d* to use internals where appropriate
Daniel Watkins
D.M.Watkins at warwick.ac.uk
Tue Aug 21 16:11:18 BST 2007
On Tue, 2007-08-14 at 12:17 -0400, John Arbash Meinel wrote:
> From what I can tell, the tests are actually designed to run a similar
> "diff" test, but using different example branches (by overriding
> make_example_branch()).
>
> Which means that this change will breaks the point of the tests.
> (Instead of running the tests 2 times with slightly different data, you
> will run it 2 times with identical data).
This is entirely accurate. Attached is a fix which doesn't run
roughshod over the original intents of the tests. :p
--
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-20070821150858-\
# 5vmfntk0v0ydy85n
# target_branch: file:///home/daniel/devel/bzr/bzr.dev/
# testament_sha1: 40a33d8e046f5bad8a7672b6522d566f08f35d63
# timestamp: 2007-08-21 17:09:28 +0200
# base_revision_id: pqm at pqm.ubuntu.com-20070821044713-ttnupbvhlsbwh1he
#
# Begin patch
=== modified file 'bzrlib/tests/blackbox/test_diff.py'
--- bzrlib/tests/blackbox/test_diff.py 2007-08-20 13:07:12 +0000
+++ bzrlib/tests/blackbox/test_diff.py 2007-08-21 15:08:58 +0000
@@ -38,36 +38,37 @@
"""Base class with common setup method"""
def make_example_branch(self):
- # FIXME: copied from test_too_much -- share elsewhere?
tree = self.make_branch_and_tree('.')
- open('hello', 'wb').write('foo\n')
+ self.build_tree_contents([
+ ('hello', 'foo\n'),
+ ('goodbye', 'baz\n')])
tree.add(['hello'])
tree.commit('setup')
- open('goodbye', 'wb').write('baz\n')
tree.add(['goodbye'])
tree.commit('setup')
+ return tree
class TestDiff(DiffBase):
def test_diff(self):
- self.make_example_branch()
- file('hello', 'wt').write('hello world!')
- self.run_bzr('commit -m fixing hello')
+ tree = self.make_example_branch()
+ self.build_tree_contents([('hello', 'hello world!')])
+ tree.commit(message='fixing hello')
output = self.run_bzr('diff -r 2..3', retcode=1)[0]
self.assert_('\n+hello world!' in output)
output = self.run_bzr('diff -r last:3..last:1',
retcode=1)[0]
self.assert_('\n+baz' in output)
self.build_tree(['moo'])
- self.run_bzr('add moo')
+ tree.add('moo')
os.unlink('moo')
self.run_bzr('diff')
def test_diff_prefix(self):
"""diff --prefix appends to filenames in output"""
self.make_example_branch()
- file('hello', 'wb').write('hello world!\n')
+ self.build_tree_contents([('hello', 'hello world!\n')])
out, err = self.run_bzr('diff --prefix old/:new/', retcode=1)
self.assertEquals(err, '')
self.assertEqualDiff(subst_dates(out), '''\
@@ -89,7 +90,7 @@
def test_diff_p1(self):
"""diff -p1 produces lkml-style diffs"""
self.make_example_branch()
- file('hello', 'wb').write('hello world!\n')
+ self.build_tree_contents([('hello', 'hello world!\n')])
out, err = self.run_bzr('diff -p1', retcode=1)
self.assertEquals(err, '')
self.assertEqualDiff(subst_dates(out), '''\
@@ -105,7 +106,7 @@
def test_diff_p0(self):
"""diff -p0 produces diffs with no prefix"""
self.make_example_branch()
- file('hello', 'wb').write('hello world!\n')
+ self.build_tree_contents([('hello', 'hello world!\n')])
out, err = self.run_bzr('diff -p0', retcode=1)
self.assertEquals(err, '')
self.assertEqualDiff(subst_dates(out), '''\
@@ -140,13 +141,14 @@
# TODO: What should diff say for a file deleted in working tree?
def example_branches(self):
- self.build_tree(['branch1/', 'branch1/file'], line_endings='binary')
- self.run_bzr('init branch1')[0]
- self.run_bzr('add branch1/file')[0]
- self.run_bzr(['commit', '-m', 'add file', 'branch1'])
- self.run_bzr('branch branch1 branch2')[0]
+ branch1_tree = self.make_branch_and_tree('branch1')
+ self.build_tree(['branch1/file'], line_endings='binary')
+ branch1_tree.add('file')
+ branch1_tree.commit(message='add file')
+ branch2_tree = branch1_tree.bzrdir.sprout('branch2').open_workingtree()
self.build_tree_contents([('branch2/file', 'new content\n')])
- self.run_bzr(['commit', '-m', 'update file', 'branch2'])
+ branch2_tree.commit(message='update file')
+ return branch1_tree, branch2_tree
def test_diff_branches(self):
self.example_branches()
@@ -174,9 +176,9 @@
def test_diff_revno_branches(self):
self.example_branches()
- print >> open('branch2/file', 'wb'), 'even newer content'
- self.run_bzr(['commit', '-m',
- 'update file once more', 'branch2'])
+ branch2_tree = workingtree.WorkingTree.open_containing('branch2')[0]
+ self.build_tree_contents([('branch2/file', 'even newer content')])
+ branch2_tree.commit(message='update file once more')
out, err = self.run_bzr('diff -r revno:1:branch2..revno:1:branch1',
)
@@ -194,29 +196,25 @@
"\n", subst_dates(out))
def example_branch2(self):
- self.build_tree(['branch1/', 'branch1/file1'], line_endings='binary')
- self.run_bzr('init branch1')[0]
- self.run_bzr('add branch1/file1')[0]
- print >> open('branch1/file1', 'wb'), 'original line'
- self.run_bzr(['commit', '-m', 'first commit', 'branch1'])
-
- print >> open('branch1/file1', 'wb'), 'repo line'
- self.run_bzr(['commit', '-m', 'second commit', 'branch1'])
+ branch1_tree = self.make_branch_and_tree('branch1')
+ self.build_tree_contents([('branch1/file1', 'original line\n')])
+ branch1_tree.add('file1')
+ branch1_tree.commit(message='first commit')
+ self.build_tree_contents([('branch1/file1', 'repo line\n')])
+ branch1_tree.commit(message='second commit')
+ return branch1_tree
def test_diff_to_working_tree(self):
self.example_branch2()
-
- print >> open('branch1/file1', 'wb'), 'new line'
- output = self.run_bzr('diff -r 1.. branch1',
- retcode=1)
+ self.build_tree_contents([('branch1/file1', 'new line')])
+ output = self.run_bzr('diff -r 1.. branch1', retcode=1)
self.assertContainsRe(output[0], '\n\\-original line\n\\+new line\n')
def test_diff_across_rename(self):
"""The working tree path should always be considered for diffing"""
- self.make_example_branch()
+ tree = self.make_example_branch()
self.run_bzr('diff -r 0..1 hello', retcode=1)
- wt = workingtree.WorkingTree.open_containing('.')[0]
- wt.rename_one('hello', 'hello1')
+ tree.rename_one('hello', 'hello1')
self.run_bzr('diff hello1', retcode=1)
self.run_bzr('diff -r 0..1 hello1', retcode=1)
@@ -224,48 +222,51 @@
class TestCheckoutDiff(TestDiff):
def make_example_branch(self):
- super(TestCheckoutDiff, self).make_example_branch()
- self.run_bzr('checkout . checkout')
+ tree = super(TestCheckoutDiff, self).make_example_branch()
+ tree = tree.branch.create_checkout('checkout')
os.chdir('checkout')
+ return tree
def example_branch2(self):
- super(TestCheckoutDiff, self).example_branch2()
+ tree = super(TestCheckoutDiff, self).example_branch2()
os.mkdir('checkouts')
- self.run_bzr('checkout branch1 checkouts/branch1')
+ tree = tree.branch.create_checkout('checkouts/branch1')
os.chdir('checkouts')
+ return tree
def example_branches(self):
- super(TestCheckoutDiff, self).example_branches()
+ branch1_tree, branch2_tree = super(TestCheckoutDiff, self).example_branches()
os.mkdir('checkouts')
- self.run_bzr('checkout branch1 checkouts/branch1')
- self.run_bzr('checkout branch2 checkouts/branch2')
+ branch1_tree = branch1_tree.branch.create_checkout('checkouts/branch1')
+ branch2_tree = branch2_tree.branch.create_checkout('checkouts/branch2')
os.chdir('checkouts')
+ return branch1_tree, branch2_tree
class TestDiffLabels(DiffBase):
def test_diff_label_removed(self):
- super(TestDiffLabels, self).make_example_branch()
- self.run_bzr('remove hello')
+ tree = super(TestDiffLabels, self).make_example_branch()
+ tree.remove('hello', keep_files=False)
diff = self.run_bzr('diff', retcode=1)
self.assertTrue("=== removed file 'hello'" in diff[0])
def test_diff_label_added(self):
- super(TestDiffLabels, self).make_example_branch()
- file('barbar', 'wt').write('barbar')
- self.run_bzr('add barbar')
+ tree = super(TestDiffLabels, self).make_example_branch()
+ self.build_tree_contents([('barbar', 'barbar')])
+ tree.add('barbar')
diff = self.run_bzr('diff', retcode=1)
self.assertTrue("=== added file 'barbar'" in diff[0])
def test_diff_label_modified(self):
super(TestDiffLabels, self).make_example_branch()
- file('hello', 'wt').write('barbar')
+ self.build_tree_contents([('hello', 'barbar')])
diff = self.run_bzr('diff', retcode=1)
self.assertTrue("=== modified file 'hello'" in diff[0])
def test_diff_label_renamed(self):
- super(TestDiffLabels, self).make_example_branch()
- self.run_bzr('rename hello gruezi')
+ tree = super(TestDiffLabels, self).make_example_branch()
+ tree.rename_one('hello', 'gruezi')
diff = self.run_bzr('diff', retcode=1)
self.assertTrue("=== renamed file 'hello' => 'gruezi'" in diff[0])
@@ -308,6 +309,6 @@
def test_diff_output(self):
# check that output doesn't mangle line-endings
self.make_example_branch()
- file('hello', 'wb').write('hello world!\n')
+ self.build_tree_contents([('hello', 'hello world!\n')])
output = self.run_bzr_subprocess('diff', retcode=1)[0]
self.assert_('\n+hello world!\n' in output)
# Begin bundle
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
qMCdA5HjwPTMFgVn/i7kinChIKBhKbg=
-------------- 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/20070821/064a21c6/attachment-0001.pgp
More information about the bazaar
mailing list