~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/selftest/test_conflicts.py

[merge] robertc's integration, updated tests to check for retcode=3

Show diffs side-by-side

added added

removed removed

Lines of Context:
20
20
from bzrlib.selftest import TestCaseInTempDir
21
21
from bzrlib.branch import Branch
22
22
from bzrlib.commit import Commit
23
 
 
 
23
from bzrlib.conflicts import restore
 
24
from bzrlib.errors import NotConflicted
24
25
 
25
26
# TODO: Test commit with some added, and added-but-missing files
26
27
 
29
30
    def test_conflicts(self):
30
31
        """Conflicts are detected properly"""
31
32
        b = Branch.initialize('.')
32
 
        file('hello', 'w').write('hello world')
33
 
        file('hello.BASE', 'w').write('hello world')
 
33
        file('hello', 'w').write('hello world4')
 
34
        file('hello.THIS', 'w').write('hello world2')
 
35
        file('hello.BASE', 'w').write('hello world1')
 
36
        file('hello.OTHER', 'w').write('hello world3')
34
37
        file('hello.sploo.BASE', 'w').write('yellow world')
 
38
        file('hello.sploo.OTHER', 'w').write('yellow world2')
35
39
        tree = b.working_tree()
36
 
        self.assertEqual(len(list(tree.list_files())), 3)
 
40
        self.assertEqual(len(list(tree.list_files())), 6)
37
41
        conflicts = list(tree.iter_conflicts())
38
42
        self.assertEqual(len(conflicts), 2)
39
43
        self.assert_('hello' in conflicts)
40
44
        self.assert_('hello.sploo' in conflicts)
41
 
        os.unlink('hello.BASE')
42
 
        os.unlink('hello.sploo.BASE')
 
45
        restore('hello')
 
46
        restore('hello.sploo')
43
47
        self.assertEqual(len(list(tree.iter_conflicts())), 0)
44
 
 
 
48
        self.assertFileEqual('hello world2', 'hello')
 
49
        assert not os.path.lexists('hello.sploo')
 
50
        self.assertRaises(NotConflicted, restore, 'hello')
 
51
        self.assertRaises(NotConflicted, restore, 'hello.sploo')