~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/tests/blackbox/test_missing.py

(jameinel) Allow 'bzr serve' to interpret SIGHUP as a graceful shutdown.
 (bug #795025) (John A Meinel)

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# Copyright (C) 2005, 2008 Canonical Ltd
 
1
# Copyright (C) 2005-2010 Canonical Ltd
2
2
#
3
3
# This program is free software; you can redistribute it and/or modify
4
4
# it under the terms of the GNU General Public License as published by
12
12
#
13
13
# You should have received a copy of the GNU General Public License
14
14
# along with this program; if not, write to the Free Software
15
 
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 
15
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
16
16
 
17
17
"""Black-box tests for bzr missing."""
18
18
 
49
49
        self.assertEqual('', err)
50
50
 
51
51
    def test_missing(self):
52
 
        missing = "You are missing 1 revision(s):"
 
52
        missing = "You are missing 1 revision:"
53
53
 
54
54
        # create a source branch
55
55
        a_tree = self.make_branch_and_tree('a')
63
63
        b_tree.commit(message='more')
64
64
 
65
65
        # run missing in a against b
66
 
        # this should not require missing to take out a write lock on a 
 
66
        # this should not require missing to take out a write lock on a
67
67
        # or b. So we take a write lock on both to test that at the same
68
68
        # time. This may let the test pass while the default branch is an
69
69
        # os-locking branch, but it will trigger failures with lockdir based
92
92
 
93
93
        # compare again, but now we have the 'merge' commit extra
94
94
        lines = self.run_bzr('missing ../b', retcode=1)[0].splitlines()
95
 
        self.assertEqual("You have 1 extra revision(s):", lines[0])
 
95
        self.assertEqual("You have 1 extra revision:", lines[0])
96
96
        self.assertEqual(8, len(lines))
97
97
        lines2 = self.run_bzr('missing ../b --mine-only', retcode=1)[0]
98
98
        lines2 = lines2.splitlines()
99
99
        self.assertEqual(lines, lines2)
100
100
        lines3 = self.run_bzr('missing ../b --theirs-only', retcode=0)[0]
101
 
        self.assertEqualDiff('Other branch is up to date.\n', lines3)
 
101
        self.assertEqualDiff('Other branch has no new revisions.\n', lines3)
102
102
 
103
 
        # relative to a, missing the 'merge' commit 
 
103
        # relative to a, missing the 'merge' commit
104
104
        os.chdir('../b')
105
105
        lines = self.run_bzr('missing ../a', retcode=1)[0].splitlines()
106
106
        self.assertEqual(missing, lines[0])
109
109
        lines2 = lines2.splitlines()
110
110
        self.assertEqual(lines, lines2)
111
111
        lines3 = self.run_bzr('missing ../a --mine-only', retcode=0)[0]
112
 
        self.assertEqualDiff('This branch is up to date.\n', lines3)
 
112
        self.assertEqualDiff('This branch has no new revisions.\n', lines3)
113
113
        lines4 = self.run_bzr('missing ../a --short', retcode=1)[0]
114
114
        lines4 = lines4.splitlines()
115
115
        self.assertEqual(4, len(lines4))
 
116
        lines4a = self.run_bzr('missing ../a -S', retcode=1)[0]
 
117
        lines4a = lines4a.splitlines()
 
118
        self.assertEqual(lines4, lines4a)
116
119
        lines5 = self.run_bzr('missing ../a --line', retcode=1)[0]
117
120
        lines5 = lines5.splitlines()
118
121
        self.assertEqual(2, len(lines5))
128
131
        self.assertEqual("  a", lines8[-1])
129
132
 
130
133
        os.chdir('../a')
131
 
        self.assertEqualDiff('Other branch is up to date.\n',
 
134
        self.assertEqualDiff('Other branch has no new revisions.\n',
132
135
                             self.run_bzr('missing ../b --theirs-only')[0])
133
136
 
134
137
        # after a pull we're back on track
139
142
        self.assertEqualDiff('Branches are up to date.\n',
140
143
                             self.run_bzr('missing ../a')[0])
141
144
        # If you supply mine or theirs you only know one side is up to date
142
 
        self.assertEqualDiff('This branch is up to date.\n',
 
145
        self.assertEqualDiff('This branch has no new revisions.\n',
143
146
                             self.run_bzr('missing ../a --mine-only')[0])
144
 
        self.assertEqualDiff('Other branch is up to date.\n',
 
147
        self.assertEqualDiff('Other branch has no new revisions.\n',
145
148
                             self.run_bzr('missing ../a --theirs-only')[0])
146
149
 
147
150
    def test_missing_filtered(self):
200
203
                          'Branches are up to date.\n' % location,
201
204
                          lines)
202
205
        self.assertEquals('', err)
 
206
 
 
207
    def test_missing_directory(self):
 
208
        """Test --directory option"""
 
209
 
 
210
        # create a source branch
 
211
        a_tree = self.make_branch_and_tree('a')
 
212
        self.build_tree_contents([('a/a', 'initial\n')])
 
213
        a_tree.add('a')
 
214
        a_tree.commit(message='initial')
 
215
 
 
216
        # clone and add a differing revision
 
217
        b_tree = a_tree.bzrdir.sprout('b').open_workingtree()
 
218
        self.build_tree_contents([('b/a', 'initial\nmore\n')])
 
219
        b_tree.commit(message='more')
 
220
 
 
221
        out2, err2 = self.run_bzr('missing --directory a b', retcode=1)
 
222
        os.chdir('a')
 
223
        out1, err1 = self.run_bzr('missing ../b', retcode=1)
 
224
        self.assertEqualDiff(out1, out2)
 
225
        self.assertEqualDiff(err1, err2)