/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar

« back to all changes in this revision

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

  • Committer: Jelmer Vernooij
  • Date: 2011-11-25 17:54:52 UTC
  • mfrom: (6303 +trunk)
  • mto: This revision was merged to the branch mainline in revision 6321.
  • Revision ID: jelmer@samba.org-20111125175452-v0uwwxqcp97tzuzv
Merge bzr.dev.

Show diffs side-by-side

added added

removed removed

Lines of Context:
17
17
 
18
18
"""Tests for the info command of bzr."""
19
19
 
 
20
import shutil
20
21
import sys
21
22
 
22
23
from bzrlib import (
23
24
    branch,
24
25
    bzrdir,
 
26
    controldir,
25
27
    errors,
26
28
    info,
27
29
    osutils,
45
47
        self.assertEqual(out, '')
46
48
        self.assertEqual(err, 'bzr: ERROR: Not a branch: "%s".\n' % location)
47
49
 
 
50
    def test_info_empty_controldir(self):
 
51
        self.make_bzrdir('ctrl')
 
52
        out, err = self.run_bzr('info ctrl')
 
53
        self.assertEquals(out,
 
54
            'Empty control directory (format: 1.14 or 1.14-rich-root or 2a or pack-0.92)\n'
 
55
            'Location:\n'
 
56
            '  control directory: ctrl\n')
 
57
        self.assertEquals(err, '')
 
58
 
 
59
    def test_info_dangling_branch_reference(self):
 
60
        br = self.make_branch('target')
 
61
        br.create_checkout('from', lightweight=True)
 
62
        shutil.rmtree('target')
 
63
        out, err = self.run_bzr('info from')
 
64
        self.assertEquals(out,
 
65
            'Dangling branch reference (format: 1.14 or 1.14-rich-root or 2a or pack-0.92)\n'
 
66
            'Location:\n'
 
67
            '   control directory: from\n'
 
68
            '  checkout of branch: target\n')
 
69
        self.assertEquals(err, '')
 
70
 
48
71
    def test_info_standalone(self):
49
72
        transport = self.get_transport()
50
73
 
187
210
        branch1.bzrdir.sprout('bound')
188
211
        knit1_format = bzrdir.format_registry.make_bzrdir('knit')
189
212
        upgrade.upgrade('bound', knit1_format)
190
 
        branch3 = bzrdir.BzrDir.open('bound').open_branch()
 
213
        branch3 = controldir.ControlDir.open('bound').open_branch()
191
214
        branch3.bind(branch1)
192
215
        bound_tree = branch3.bzrdir.open_workingtree()
193
216
        out, err = self.run_bzr('info -v bound')
232
255
        self.assertEqual('', err)
233
256
 
234
257
        # Checkout standalone (same as above, but does not have parent set)
235
 
        branch4 = bzrdir.BzrDir.create_branch_convenience('checkout',
 
258
        branch4 = controldir.ControlDir.create_branch_convenience('checkout',
236
259
            format=knit1_format)
237
260
        branch4.bind(branch1)
238
261
        branch4.bzrdir.open_workingtree().update()
529
552
 
530
553
        # Create branch inside shared repository
531
554
        repo.bzrdir.root_transport.mkdir('branch')
532
 
        branch1 = repo.bzrdir.create_branch_convenience('repo/branch',
533
 
            format=format)
 
555
        branch1 = controldir.ControlDir.create_branch_convenience(
 
556
            'repo/branch', format=format)
534
557
        out, err = self.run_bzr('info -v repo/branch')
535
558
        self.assertEqualDiff(
536
559
"""Repository branch (format: dirstate or knit)
803
826
 
804
827
        # Create two branches
805
828
        repo.bzrdir.root_transport.mkdir('branch1')
806
 
        branch1 = repo.bzrdir.create_branch_convenience('repo/branch1',
 
829
        branch1 = controldir.ControlDir.create_branch_convenience('repo/branch1',
807
830
            format=format)
808
831
        branch2 = branch1.bzrdir.sprout('repo/branch2').open_branch()
809
832
 
1221
1244
                                    format=bzrdir.BzrDirMetaFormat1())
1222
1245
        repo.set_make_working_trees(False)
1223
1246
        repo.bzrdir.root_transport.mkdir('branch')
1224
 
        repo_branch = repo.bzrdir.create_branch_convenience('repo/branch',
1225
 
                                    format=bzrdir.BzrDirMetaFormat1())
 
1247
        repo_branch = controldir.ControlDir.create_branch_convenience(
 
1248
            'repo/branch', format=bzrdir.BzrDirMetaFormat1())
1226
1249
        # Do a heavy checkout
1227
1250
        transport.mkdir('tree')
1228
1251
        transport.mkdir('tree/checkout')
1229
 
        co_branch = bzrdir.BzrDir.create_branch_convenience('tree/checkout',
1230
 
            format=bzrdir.BzrDirMetaFormat1())
 
1252
        co_branch = controldir.ControlDir.create_branch_convenience(
 
1253
            'tree/checkout', format=bzrdir.BzrDirMetaFormat1())
1231
1254
        co_branch.bind(repo_branch)
1232
1255
        # Do a light checkout of the heavy one
1233
1256
        transport.mkdir('tree/lightcheckout')
1375
1398
         0 versioned subdirectories
1376
1399
""", out)
1377
1400
        self.assertEqual("", err)
 
1401
 
 
1402
    def test_info_shows_colocated_branches(self):
 
1403
        bzrdir = self.make_branch('.', format='development-colo').bzrdir
 
1404
        bzrdir.create_branch(name="colo1")
 
1405
        bzrdir.create_branch(name="colo2")
 
1406
        bzrdir.create_branch(name="colo3")
 
1407
        out, err = self.run_bzr('info -v .')
 
1408
        self.assertEqualDiff(
 
1409
"""Standalone branch (format: development-colo)
 
1410
Location:
 
1411
  branch root: .
 
1412
 
 
1413
Format:
 
1414
       control: Meta directory format 1 with support for colocated branches
 
1415
        branch: Branch format 7
 
1416
    repository: Repository format 2a - rich roots, group compression and chk inventories
 
1417
 
 
1418
Control directory:
 
1419
         4 branches
 
1420
 
 
1421
Branch history:
 
1422
         0 revisions
 
1423
 
 
1424
Repository:
 
1425
         0 revisions
 
1426
""", out)
 
1427
        self.assertEqual("", err)
 
1428
 
 
1429
 
 
1430
class TestSmartServerInfo(tests.TestCaseWithTransport):
 
1431
 
 
1432
    def test_simple_branch_info(self):
 
1433
        self.setup_smart_server_with_call_log()
 
1434
        t = self.make_branch_and_tree('branch')
 
1435
        self.build_tree_contents([('branch/foo', 'thecontents')])
 
1436
        t.add("foo")
 
1437
        t.commit("message")
 
1438
        self.reset_smart_call_log()
 
1439
        out, err = self.run_bzr(['info', self.get_url('branch')])
 
1440
        # This figure represent the amount of work to perform this use case. It
 
1441
        # is entirely ok to reduce this number if a test fails due to rpc_count
 
1442
        # being too low. If rpc_count increases, more network roundtrips have
 
1443
        # become necessary for this use case. Please do not adjust this number
 
1444
        # upwards without agreement from bzr's network support maintainers.
 
1445
        self.assertLength(12, self.hpss_calls)
 
1446
 
 
1447
    def test_verbose_branch_info(self):
 
1448
        self.setup_smart_server_with_call_log()
 
1449
        t = self.make_branch_and_tree('branch')
 
1450
        self.build_tree_contents([('branch/foo', 'thecontents')])
 
1451
        t.add("foo")
 
1452
        t.commit("message")
 
1453
        self.reset_smart_call_log()
 
1454
        out, err = self.run_bzr(['info', '-v', self.get_url('branch')])
 
1455
        # This figure represent the amount of work to perform this use case. It
 
1456
        # is entirely ok to reduce this number if a test fails due to rpc_count
 
1457
        # being too low. If rpc_count increases, more network roundtrips have
 
1458
        # become necessary for this use case. Please do not adjust this number
 
1459
        # upwards without agreement from bzr's network support maintainers.
 
1460
        self.assertLength(16, self.hpss_calls)