~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

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

  • Committer: Martin Pool
  • Date: 2005-09-12 09:50:44 UTC
  • Revision ID: mbp@sourcefrog.net-20050912095044-6acfdb5611729987
- no tests in bzrlib.fetch anymore

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# Copyright (C) 2006 by Canonical Ltd
2
 
# -*- coding: utf-8 -*-
3
 
 
4
 
# This program is free software; you can redistribute it and/or modify
5
 
# it under the terms of the GNU General Public License as published by
6
 
# the Free Software Foundation; either version 2 of the License, or
7
 
# (at your option) any later version.
8
 
 
9
 
# This program is distributed in the hope that it will be useful,
10
 
# but WITHOUT ANY WARRANTY; without even the implied warranty of
11
 
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12
 
# GNU General Public License for more details.
13
 
 
14
 
# You should have received a copy of the GNU General Public License
15
 
# along with this program; if not, write to the Free Software
16
 
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
17
 
 
18
 
 
19
 
"""Tests for the info command of bzr."""
20
 
 
21
 
 
22
 
from bzrlib.osutils import format_date
23
 
from bzrlib.tests import TestSkipped
24
 
from bzrlib.tests.blackbox import ExternalBase
25
 
 
26
 
 
27
 
class TestInfo(ExternalBase):
28
 
 
29
 
    def test_info_standalone_trivial(self):
30
 
        self.runbzr("init")
31
 
        out, err = self.runbzr('info')
32
 
        self.assertEqualDiff(
33
 
"""branch format: Bazaar-NG branch, format 6
34
 
 
35
 
in the working tree:
36
 
         0 unchanged
37
 
         0 modified
38
 
         0 added
39
 
         0 removed
40
 
         0 renamed
41
 
         0 unknown
42
 
         0 ignored
43
 
         0 versioned subdirectories
44
 
 
45
 
branch history:
46
 
         0 revisions
47
 
         0 committers
48
 
 
49
 
revision store:
50
 
         0 revisions
51
 
         0 kB
52
 
""",
53
 
        out)
54
 
        self.assertEqual('', err)
55
 
 
56
 
    def test_info_up_to_date_checkout(self):
57
 
        a_branch = self.make_branch_and_tree('branch')
58
 
        self.runbzr('checkout branch checkout')
59
 
        out, err = self.runbzr('info checkout')
60
 
        self.assertEqualDiff(
61
 
"""branch format: Bazaar-NG Metadir branch format 5
62
 
bound to branch: %s
63
 
 
64
 
in the working tree:
65
 
         0 unchanged
66
 
         0 modified
67
 
         0 added
68
 
         0 removed
69
 
         0 renamed
70
 
         0 unknown
71
 
         0 ignored
72
 
         0 versioned subdirectories
73
 
 
74
 
branch history:
75
 
         0 revisions
76
 
         0 committers
77
 
 
78
 
revision store:
79
 
         0 revisions
80
 
         0 kB
81
 
""" % a_branch.bzrdir.root_transport.base,
82
 
        out)
83
 
        self.assertEqual('', err)
84
 
 
85
 
    def test_info_up_to_date_light_checkout(self):
86
 
        a_branch = self.make_branch_and_tree('branch')
87
 
        self.runbzr('checkout --lightweight branch checkout')
88
 
        out, err = self.runbzr('info checkout')
89
 
        self.assertEqualDiff(
90
 
"""working tree format: Bazaar-NG Working Tree format 3
91
 
branch location: %s
92
 
branch format: Bazaar-NG branch, format 6
93
 
 
94
 
in the working tree:
95
 
         0 unchanged
96
 
         0 modified
97
 
         0 added
98
 
         0 removed
99
 
         0 renamed
100
 
         0 unknown
101
 
         0 ignored
102
 
         0 versioned subdirectories
103
 
 
104
 
branch history:
105
 
         0 revisions
106
 
         0 committers
107
 
 
108
 
revision store:
109
 
         0 revisions
110
 
         0 kB
111
 
""" % a_branch.bzrdir.root_transport.base,
112
 
        out)
113
 
        self.assertEqual('', err)
114
 
 
115
 
    def test_info_out_of_date_standalone_tree(self):
116
 
        # FIXME the default format has to change for this to pass
117
 
        # because it currently uses the branch last-revision marker.
118
 
        raise TestSkipped('default format too old')
119
 
        self.make_branch_and_tree('branch')
120
 
        # make a checkout
121
 
        self.runbzr('checkout branch checkout')
122
 
        self.build_tree(['checkout/file'])
123
 
        self.runbzr('add checkout/file')
124
 
        self.runbzr('commit -m add-file checkout')
125
 
        # now branch should be out of date
126
 
        out,err = self.runbzr('update branch')
127
 
        self.assertEqualDiff(
128
 
"""branch format: Bazaar-NG branch, format 6
129
 
 
130
 
Working tree is out of date: missing 1 revision.
131
 
in the working tree:
132
 
         0 unchanged
133
 
         0 modified
134
 
         0 added
135
 
         0 removed
136
 
         0 renamed
137
 
         0 unknown
138
 
         0 ignored
139
 
         0 versioned subdirectories
140
 
 
141
 
branch history:
142
 
         0 revisions
143
 
         0 committers
144
 
 
145
 
revision store:
146
 
         0 revisions
147
 
         0 kB
148
 
""" % a_branch.bzrdir.root_transport.base,
149
 
        out)
150
 
        self.assertEqual('', err)
151
 
 
152
 
    def test_info_out_of_date_checkout(self):
153
 
        # note this deliberately uses a checkout at 'None' to 
154
 
        # test the out of date message with a revision notin the 
155
 
        # revision history.
156
 
        a_branch = self.make_branch('branch')
157
 
        # make two checkouts
158
 
        self.runbzr('checkout branch checkout')
159
 
        self.runbzr('checkout branch checkout2')
160
 
        self.build_tree(['checkout/file'])
161
 
        self.runbzr('add checkout/file')
162
 
        self.runbzr('commit -m add-file checkout')
163
 
        # now checkout2 should be out of date
164
 
        out,err = self.runbzr('info checkout2')
165
 
        rev = a_branch.repository.get_revision(a_branch.revision_history()[0])
166
 
        datestring = format_date(rev.timestamp, rev.timezone)
167
 
        self.assertEqualDiff(
168
 
"""branch format: Bazaar-NG Metadir branch format 5
169
 
bound to branch: %s
170
 
 
171
 
Branch is out of date: missing 1 revision.
172
 
in the working tree:
173
 
         0 unchanged
174
 
         0 modified
175
 
         0 added
176
 
         0 removed
177
 
         0 renamed
178
 
         0 unknown
179
 
         0 ignored
180
 
         0 versioned subdirectories
181
 
 
182
 
branch history:
183
 
         0 revisions
184
 
         0 committers
185
 
 
186
 
revision store:
187
 
         0 revisions
188
 
         0 kB
189
 
""" % (a_branch.bzrdir.root_transport.base,
190
 
       ),
191
 
            out)
192
 
        self.assertEqual('', err)
193
 
 
194
 
    def test_info_out_of_date_light_checkout(self):
195
 
        # note this deliberately uses a checkout at 'None' to 
196
 
        # test the out of date message with a revision notin the 
197
 
        # revision history.
198
 
        a_branch = self.make_branch('branch')
199
 
        # make two checkouts
200
 
        self.runbzr('checkout --lightweight branch checkout')
201
 
        self.runbzr('checkout --lightweight branch checkout2')
202
 
        self.build_tree(['checkout/file'])
203
 
        self.runbzr('add checkout/file')
204
 
        self.runbzr('commit -m add-file checkout')
205
 
        # now checkout2 should be out of date
206
 
        out,err = self.runbzr('info checkout2')
207
 
        rev = a_branch.repository.get_revision(a_branch.revision_history()[0])
208
 
        datestring = format_date(rev.timestamp, rev.timezone)
209
 
        self.assertEqualDiff(
210
 
"""working tree format: Bazaar-NG Working Tree format 3
211
 
branch location: %s
212
 
branch format: Bazaar-NG branch, format 6
213
 
 
214
 
Working tree is out of date: missing 1 revision.
215
 
in the working tree:
216
 
         0 unchanged
217
 
         0 modified
218
 
         0 added
219
 
         0 removed
220
 
         0 renamed
221
 
         0 unknown
222
 
         0 ignored
223
 
         0 versioned subdirectories
224
 
 
225
 
branch history:
226
 
         1 revision
227
 
         1 committer
228
 
         0 days old
229
 
   first revision: %s
230
 
  latest revision: %s
231
 
 
232
 
revision store:
233
 
         1 revision
234
 
         0 kB
235
 
""" % (a_branch.bzrdir.root_transport.base,
236
 
       datestring,
237
 
       datestring,
238
 
       ),
239
 
            out)
240
 
        self.assertEqual('', err)
241
 
 
242
 
    def test_info_parent(self):
243
 
        b = self.make_branch('.')
244
 
        url = 'http://bazaar-vcs.org/bzr/bzr.dev/'
245
 
        b.set_parent(url)
246
 
        out,err = self.runbzr('info')
247
 
        self.assertEqualDiff(
248
 
"""branch format: Bazaar-NG branch, format 6
249
 
 
250
 
in the working tree:
251
 
         0 unchanged
252
 
         0 modified
253
 
         0 added
254
 
         0 removed
255
 
         0 renamed
256
 
         0 unknown
257
 
         0 ignored
258
 
         0 versioned subdirectories
259
 
 
260
 
branch history:
261
 
         0 revisions
262
 
         0 committers
263
 
 
264
 
revision store:
265
 
         0 revisions
266
 
         0 kB
267
 
 
268
 
parent location:
269
 
  http://bazaar-vcs.org/bzr/bzr.dev/
270
 
""", out)
271
 
        self.assertEqual('', err)
272