1
1
# Copyright (C) 2006 Canonical Ltd
2
# Copyright (C) 2008 Aaron Bentley <aaron@aaronbentley.com>
3
4
# This program is free software; you can redistribute it and/or modify
4
5
# it under the terms of the GNU General Public License as published by
14
15
# along with this program; if not, write to the Free Software
15
16
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17
from bzrlib.errors import BinaryFile
18
from bzrlib.patch import diff3
19
from bzrlib.tests import TestCaseInTempDir
18
from breezy.errors import BinaryFile
19
from breezy.patch import diff3, PatchInvokeError, run_patch
20
from breezy.tests import TestCaseInTempDir
22
23
class TestPatch(TestCaseInTempDir):
24
25
def test_diff3_binaries(self):
25
file('this', 'wb').write('a')
26
file('other', 'wb').write('a')
27
file('base', 'wb').write('\x00')
26
with open('this', 'wb') as f:
28
with open('other', 'wb') as f:
30
with open('base', 'wb') as f:
28
32
self.assertRaises(BinaryFile, diff3, 'unused', 'this', 'other', 'base')
35
class TestPatch(TestCaseInTempDir):
37
def test_missing_patch(self):
38
self.assertRaises(PatchInvokeError, run_patch, '.', [],
39
_patch_cmd='/unlikely/to/exist')