69
67
test_file_append.close()
70
68
self.tree.add(self.tree.relpath(os.path.join(os.getcwd(),
71
69
'test_file_append')))
72
self.tree.commit(message = "add test files")
70
self.tree.commit(message="add test files")
74
72
ControlDir.open(".").sprout("../temp-clone")
75
73
clone_bzrdir = ControlDir.open("../temp-clone")
81
79
test_file_append = open("../temp-clone/test_file_append", "a")
82
80
test_file_append.write(content + "\n")
83
81
test_file_append.close()
84
clone_tree.commit(message = "make branch test change")
82
clone_tree.commit(message="make branch test change")
85
83
saved_subtree_revid = clone_tree.branch.last_revision()
87
85
self.tree.merge_from_branch(clone_tree.branch)
91
89
test_file_append = open("test_file_append", "a")
92
90
test_file_append.write("two\n")
93
91
test_file_append.close()
94
self.tree.commit(message = "merge external branch")
92
self.tree.commit(message="merge external branch")
95
93
shutil.rmtree("../temp-clone")
97
95
self.subtree_rev = saved_subtree_revid
104
102
test_file_append = open("test_file_append", "a")
105
103
test_file_append.write(content + "\n")
106
104
test_file_append.close()
107
self.tree.commit(message = "make test change")
105
self.tree.commit(message="make test change")
110
108
class BisectHarnessTests(BisectTestCase):
119
117
test_content = top_file.read().strip()
121
119
top_revtree.unlock()
122
self.assertEqual(test_content, "five")
120
self.assertEqual(test_content, b"five")
124
122
def testSubtreeRev(self):
125
123
"""Test that the last revision in a subtree is correct."""
126
124
repo = self.tree.branch.repository
127
125
sub_revtree = repo.revision_tree(self.subtree_rev)
128
126
sub_revtree.lock_read()
129
sub_file = sub_revtree.get_file("test_file")
130
test_content = sub_file.read().strip()
127
with sub_revtree.get_file("test_file") as sub_file:
128
test_content = sub_file.read().strip()
132
129
sub_revtree.unlock()
133
self.assertEqual(test_content, "one dot three")
130
self.assertEqual(test_content, b"one dot three")
136
133
class BisectCurrentUnitTests(BisectTestCase):
188
185
def testLoad(self):
189
186
"""Test loading a log."""
190
preloaded_log = open(os.path.join('.bzr', bisect.BISECT_INFO_PATH), "w")
187
preloaded_log = open(os.path.join(
188
'.bzr', bisect.BISECT_INFO_PATH), "w")
191
189
preloaded_log.write("rev1 yes\nrev2 no\nrev3 yes\n")
192
190
preloaded_log.close()
194
192
bisect_log = bisect.BisectLog(self.tree.controldir)
195
193
self.assertEqual(len(bisect_log._items), 3)
196
self.assertEqual(bisect_log._items[0], ("rev1", "yes"))
197
self.assertEqual(bisect_log._items[1], ("rev2", "no"))
198
self.assertEqual(bisect_log._items[2], ("rev3", "yes"))
194
self.assertEqual(bisect_log._items[0], (b"rev1", "yes"))
195
self.assertEqual(bisect_log._items[1], (b"rev2", "no"))
196
self.assertEqual(bisect_log._items[2], (b"rev3", "yes"))
200
198
def testSave(self):
201
199
"""Test saving the log."""
202
200
bisect_log = bisect.BisectLog(self.tree.controldir)
203
bisect_log._items = [("rev1", "yes"), ("rev2", "no"), ("rev3", "yes")]
201
bisect_log._items = [
202
(b"rev1", "yes"), (b"rev2", "no"), (b"rev3", "yes")]
204
203
bisect_log.save()
206
with open(os.path.join('.bzr', bisect.BISECT_INFO_PATH)) as logfile:
207
self.assertEqual(logfile.read(), "rev1 yes\nrev2 no\nrev3 yes\n")
205
with open(os.path.join('.bzr', bisect.BISECT_INFO_PATH), 'rb') as logfile:
206
self.assertEqual(logfile.read(), b"rev1 yes\nrev2 no\nrev3 yes\n")