~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: 2009-07-10 06:46:10 UTC
  • mto: (4525.1.1 integration)
  • mto: This revision was merged to the branch mainline in revision 4526.
  • Revision ID: mbp@sourcefrog.net-20090710064610-sqviksbqp5i34sw2
Rename to per_interrepository

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# Copyright (C) 2006-2010 Canonical Ltd
 
1
# Copyright (C) 2006, 2007, 2008 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
25
25
    errors,
26
26
    info,
27
27
    osutils,
28
 
    tests,
29
28
    upgrade,
30
29
    urlutils,
31
30
    )
32
 
from bzrlib.transport import memory
33
 
 
34
 
 
35
 
class TestInfo(tests.TestCaseWithTransport):
36
 
 
37
 
    def setUp(self):
38
 
        super(TestInfo, self).setUp()
39
 
        self._repo_strings = "2a"
 
31
from bzrlib.osutils import format_date
 
32
from bzrlib.tests import TestSkipped
 
33
from bzrlib.tests.blackbox import ExternalBase
 
34
 
 
35
 
 
36
class TestInfo(ExternalBase):
40
37
 
41
38
    def test_info_non_existing(self):
42
 
        self.vfs_transport_factory = memory.MemoryServer
43
 
        location = self.get_url()
 
39
        if sys.platform == "win32":
 
40
            location = "C:/i/do/not/exist/"
 
41
        else:
 
42
            location = "/i/do/not/exist/"
44
43
        out, err = self.run_bzr('info '+location, retcode=3)
45
44
        self.assertEqual(out, '')
46
45
        self.assertEqual(err, 'bzr: ERROR: Not a branch: "%s".\n' % location)
126
125
        self.assertEqual('', err)
127
126
        tree1.commit('commit one')
128
127
        rev = branch1.repository.get_revision(branch1.revision_history()[0])
129
 
        datestring_first = osutils.format_date(rev.timestamp, rev.timezone)
 
128
        datestring_first = format_date(rev.timestamp, rev.timezone)
130
129
 
131
130
        # Branch standalone with push location
132
131
        branch2 = branch1.bzrdir.sprout('branch').open_branch()
212
211
         0 added
213
212
         0 removed
214
213
         0 renamed
215
 
         0 unknown
216
 
         1 ignored
 
214
         1 unknown
 
215
         0 ignored
217
216
         0 versioned subdirectories
218
217
 
219
218
Branch history:
277
276
        branch5 = tree5.branch
278
277
        out, err = self.run_bzr('info -v lightcheckout')
279
278
        self.assertEqualDiff(
280
 
"""Lightweight checkout (format: %s)
 
279
"""Lightweight checkout (format: 1.6 or 1.6.1-rich-root \
 
280
or 1.9 or 1.9-rich-root \
 
281
or dirstate or dirstate-tags or \
 
282
pack-0.92 or rich-root or rich-root-pack)
281
283
Location:
282
284
  light checkout root: lightcheckout
283
285
   checkout of branch: standalone
284
286
 
285
287
Format:
286
288
       control: Meta directory format 1
287
 
  working tree: Working tree format 6
 
289
  working tree: Working tree format 4
288
290
        branch: Branch format 4
289
291
    repository: Weave repository format 6
290
292
 
306
308
 
307
309
Repository:
308
310
         1 revision
309
 
""" % (self._repo_strings, datestring_first, datestring_first,), out)
 
311
""" % (datestring_first, datestring_first,), out)
310
312
        self.assertEqual('', err)
311
313
 
312
314
        # Update initial standalone branch
314
316
        tree1.add('b')
315
317
        tree1.commit('commit two')
316
318
        rev = branch1.repository.get_revision(branch1.revision_history()[-1])
317
 
        datestring_last = osutils.format_date(rev.timestamp, rev.timezone)
 
319
        datestring_last = format_date(rev.timestamp, rev.timezone)
318
320
 
319
321
        # Out of date branched standalone branch will not be detected
320
322
        out, err = self.run_bzr('info -v branch')
380
382
         0 added
381
383
         0 removed
382
384
         0 renamed
383
 
         0 unknown
384
 
         1 ignored
 
385
         1 unknown
 
386
         0 ignored
385
387
         0 versioned subdirectories
386
388
 
387
389
Branch history:
439
441
        # Out of date lightweight checkout
440
442
        out, err = self.run_bzr('info lightcheckout --verbose')
441
443
        self.assertEqualDiff(
442
 
"""Lightweight checkout (format: %s)
 
444
"""Lightweight checkout (format: 1.6 or 1.6.1-rich-root or \
 
445
1.9 or 1.9-rich-root or \
 
446
dirstate or dirstate-tags or \
 
447
pack-0.92 or rich-root or rich-root-pack)
443
448
Location:
444
449
  light checkout root: lightcheckout
445
450
   checkout of branch: standalone
446
451
 
447
452
Format:
448
453
       control: Meta directory format 1
449
 
  working tree: Working tree format 6
 
454
  working tree: Working tree format 4
450
455
        branch: Branch format 4
451
456
    repository: Weave repository format 6
452
457
 
470
475
 
471
476
Repository:
472
477
         2 revisions
473
 
""" % (self._repo_strings, datestring_first, datestring_last,), out)
 
478
""" % (datestring_first, datestring_last,), out)
474
479
        self.assertEqual('', err)
475
480
 
476
481
    def test_info_standalone_no_tree(self):
568
573
        tree2.add('a')
569
574
        tree2.commit('commit one')
570
575
        rev = repo.get_revision(branch2.revision_history()[0])
571
 
        datestring_first = osutils.format_date(rev.timestamp, rev.timezone)
 
576
        datestring_first = format_date(rev.timestamp, rev.timezone)
572
577
        out, err = self.run_bzr('info tree/lightcheckout --verbose')
573
578
        self.assertEqualDiff(
574
 
"""Lightweight checkout (format: %s)
 
579
"""Lightweight checkout (format: 1.6 or 1.6.1-rich-root or \
 
580
1.9 or 1.9-rich-root or \
 
581
dirstate or dirstate-tags or \
 
582
pack-0.92 or rich-root or rich-root-pack)
575
583
Location:
576
584
  light checkout root: tree/lightcheckout
577
585
   checkout of branch: repo/branch
579
587
 
580
588
Format:
581
589
       control: Meta directory format 1
582
 
  working tree: Working tree format 6
 
590
  working tree: Working tree format 4
583
591
        branch: %s
584
592
    repository: %s
585
593
 
601
609
 
602
610
Repository:
603
611
         1 revision
604
 
""" % (self._repo_strings, format.get_branch_format().get_format_description(),
 
612
""" % (format.get_branch_format().get_format_description(),
605
613
       format.repository_format.get_format_description(),
606
614
       datestring_first, datestring_first,
607
615
       ), out)
610
618
        # Out of date checkout
611
619
        out, err = self.run_bzr('info -v tree/checkout')
612
620
        self.assertEqualDiff(
613
 
"""Checkout (format: unnamed)
 
621
"""Checkout (format: dirstate)
614
622
Location:
615
623
       checkout root: tree/checkout
616
624
  checkout of branch: repo/branch
617
625
 
618
626
Format:
619
627
       control: Meta directory format 1
620
 
  working tree: Working tree format 6
 
628
  working tree: Working tree format 4
621
629
        branch: %s
622
630
    repository: %s
623
631
 
649
657
        tree3.add('b')
650
658
        out, err = self.run_bzr('info tree/checkout --verbose')
651
659
        self.assertEqualDiff(
652
 
"""Checkout (format: unnamed)
 
660
"""Checkout (format: dirstate)
653
661
Location:
654
662
       checkout root: tree/checkout
655
663
  checkout of branch: repo/branch
656
664
 
657
665
Format:
658
666
       control: Meta directory format 1
659
 
  working tree: Working tree format 6
 
667
  working tree: Working tree format 4
660
668
        branch: %s
661
669
    repository: %s
662
670
 
687
695
 
688
696
        # Out of date lightweight checkout
689
697
        rev = repo.get_revision(branch1.revision_history()[-1])
690
 
        datestring_last = osutils.format_date(rev.timestamp, rev.timezone)
 
698
        datestring_last = format_date(rev.timestamp, rev.timezone)
691
699
        out, err = self.run_bzr('info tree/lightcheckout --verbose')
692
700
        self.assertEqualDiff(
693
 
"""Lightweight checkout (format: %s)
 
701
"""Lightweight checkout (format: 1.6 or 1.6.1-rich-root or \
 
702
1.9 or 1.9-rich-root or \
 
703
dirstate or dirstate-tags or \
 
704
pack-0.92 or rich-root or rich-root-pack)
694
705
Location:
695
706
  light checkout root: tree/lightcheckout
696
707
   checkout of branch: repo/branch
698
709
 
699
710
Format:
700
711
       control: Meta directory format 1
701
 
  working tree: Working tree format 6
 
712
  working tree: Working tree format 4
702
713
        branch: %s
703
714
    repository: %s
704
715
 
722
733
 
723
734
Repository:
724
735
         2 revisions
725
 
""" % (self._repo_strings, format.get_branch_format().get_format_description(),
 
736
""" % (format.get_branch_format().get_format_description(),
726
737
       format.repository_format.get_format_description(),
727
738
       datestring_first, datestring_last,
728
739
       ), out)
843
854
        tree1.add('a')
844
855
        tree1.commit('commit one')
845
856
        rev = repo.get_revision(branch1.revision_history()[0])
846
 
        datestring_first = osutils.format_date(rev.timestamp, rev.timezone)
 
857
        datestring_first = format_date(rev.timestamp, rev.timezone)
847
858
        out, err = self.run_bzr('info -v repo/branch1')
848
859
        self.assertEqualDiff(
849
860
"""Repository tree (format: knit)
1123
1134
            (False, True): 'Lightweight checkout',
1124
1135
            (False, False): 'Checkout',
1125
1136
            }[(shared_repo is not None, light_checkout)]
1126
 
        format = {True: self._repo_strings,
1127
 
                  False: 'unnamed'}[light_checkout]
 
1137
        format = {True: '1.6 or 1.6.1-rich-root'
 
1138
                        ' or 1.9 or 1.9-rich-root'
 
1139
                        ' or dirstate or dirstate-tags or pack-0.92'
 
1140
                        ' or rich-root or rich-root-pack',
 
1141
                  False: 'dirstate'}[light_checkout]
1128
1142
        if repo_locked:
1129
1143
            repo_locked = lco_tree.branch.repository.get_physical_lock_status()
1130
1144
        if repo_locked or branch_locked or tree_locked:
1228
1242
        # Do a light checkout of the heavy one
1229
1243
        transport.mkdir('tree/lightcheckout')
1230
1244
        lco_dir = bzrdir.BzrDirMetaFormat1().initialize('tree/lightcheckout')
1231
 
        branch.BranchReferenceFormat().initialize(lco_dir,
1232
 
            target_branch=co_branch)
 
1245
        branch.BranchReferenceFormat().initialize(lco_dir, co_branch)
1233
1246
        lco_dir.create_workingtree()
1234
1247
        lco_tree = lco_dir.open_workingtree()
1235
1248
 
1325
1338
 
1326
1339
    def test_info_locking_oslocks(self):
1327
1340
        if sys.platform == "win32":
1328
 
            self.skip("don't use oslocks on win32 in unix manner")
1329
 
        # This test tests old (all-in-one, OS lock using) behaviour which
1330
 
        # simply cannot work on windows (and is indeed why we changed our
1331
 
        # design. As such, don't try to remove the thisFailsStrictLockCheck
1332
 
        # call here.
1333
 
        self.thisFailsStrictLockCheck()
 
1341
            raise TestSkipped("don't use oslocks on win32 in unix manner")
1334
1342
 
1335
1343
        tree = self.make_branch_and_tree('branch',
1336
1344
                                         format=bzrdir.BzrDirFormat6())