/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_status.py

  • Committer: John Arbash Meinel
  • Date: 2009-02-23 15:29:35 UTC
  • mfrom: (3943.7.7 bzr.code_style_cleanup)
  • mto: This revision was merged to the branch mainline in revision 4033.
  • Revision ID: john@arbash-meinel.com-20090223152935-oel9m92mwcc6nb4h
Merge the removal of all trailing whitespace, and resolve conflicts.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# Copyright (C) 2005-2010 Canonical Ltd
 
1
# Copyright (C) 2005, 2006 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
 
15
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
16
16
 
17
17
"""Tests of status command.
18
18
 
296
296
        wt.commit('Create five empty files.')
297
297
        open('FILE_B', 'w').write('Modification to file FILE_B.')
298
298
        open('FILE_C', 'w').write('Modification to file FILE_C.')
299
 
        unlink('FILE_E')  # FILE_E will be versioned but missing
 
299
        unlink('FILE_E')  # FILE_E will be versioned but missing 
300
300
        open('FILE_Q', 'w').write('FILE_Q is added but not committed.')
301
301
        wt.add('FILE_Q')  # FILE_Q will be added but not committed
302
302
        open('UNVERSIONED_BUT_EXISTING', 'w')
347
347
        self.assertContainsRe(err,
348
348
                              r'.*ERROR: Path\(s\) do not exist: '
349
349
                              'NONEXISTENT.*')
350
 
 
 
350
        
351
351
    def test_status_nonexistent_file_with_others(self):
352
352
        # bzr st [--short] NONEXISTENT ...others..
353
353
        wt = self._prepare_nonexistent()
380
380
        self.assertContainsRe(err,
381
381
                              r'.*ERROR: Path\(s\) do not exist: '
382
382
                              'NONEXISTENT.*')
383
 
 
 
383
        
384
384
    def test_status_multiple_nonexistent_files(self):
385
385
        # bzr st [--short] NONEXISTENT ... ANOTHER_NONEXISTENT ...
386
386
        wt = self._prepare_nonexistent()
415
415
        self.assertContainsRe(err,
416
416
                              r'.*ERROR: Path\(s\) do not exist: '
417
417
                              'ANOTHER_NONEXISTENT NONEXISTENT.*')
418
 
 
 
418
        
419
419
    def test_status_nonexistent_file_with_unversioned(self):
420
420
        # bzr st [--short] NONEXISTENT A B UNVERSIONED_BUT_EXISTING C D E Q
421
421
        wt = self._prepare_nonexistent()
472
472
        self.assertEqual("working tree is out of date, run 'bzr update'\n",
473
473
                         err)
474
474
 
475
 
    def test_status_on_ignored(self):
476
 
        """Tests branch status on an unversioned file which is considered ignored.
477
 
 
478
 
        See https://bugs.launchpad.net/bzr/+bug/40103
479
 
        """
480
 
        tree = self.make_branch_and_tree('.')
481
 
 
482
 
        self.build_tree(['test1.c', 'test1.c~', 'test2.c~'])
483
 
        result = self.run_bzr('status')[0]
484
 
        self.assertContainsRe(result, "unknown:\n  test1.c\n")
485
 
        short_result = self.run_bzr('status --short')[0]
486
 
        self.assertContainsRe(short_result, "\?   test1.c\n")
487
 
 
488
 
        result = self.run_bzr('status test1.c')[0]
489
 
        self.assertContainsRe(result, "unknown:\n  test1.c\n")
490
 
        short_result = self.run_bzr('status --short test1.c')[0]
491
 
        self.assertContainsRe(short_result, "\?   test1.c\n")
492
 
 
493
 
        result = self.run_bzr('status test1.c~')[0]
494
 
        self.assertContainsRe(result, "ignored:\n  test1.c~\n")
495
 
        short_result = self.run_bzr('status --short test1.c~')[0]
496
 
        self.assertContainsRe(short_result, "I   test1.c~\n")
497
 
 
498
 
        result = self.run_bzr('status test1.c~ test2.c~')[0]
499
 
        self.assertContainsRe(result, "ignored:\n  test1.c~\n  test2.c~\n")
500
 
        short_result = self.run_bzr('status --short test1.c~ test2.c~')[0]
501
 
        self.assertContainsRe(short_result, "I   test1.c~\nI   test2.c~\n")
502
 
 
503
 
        result = self.run_bzr('status test1.c test1.c~ test2.c~')[0]
504
 
        self.assertContainsRe(result, "unknown:\n  test1.c\nignored:\n  test1.c~\n  test2.c~\n")
505
 
        short_result = self.run_bzr('status --short test1.c test1.c~ test2.c~')[0]
506
 
        self.assertContainsRe(short_result, "\?   test1.c\nI   test1.c~\nI   test2.c~\n")
507
 
 
508
475
    def test_status_write_lock(self):
509
476
        """Test that status works without fetching history and
510
477
        having a write lock.
531
498
    def make_branch_and_tree(self, relpath):
532
499
        source = self.make_branch(pathjoin('..', relpath))
533
500
        checkout = bzrdir.BzrDirMetaFormat1().initialize(relpath)
534
 
        bzrlib.branch.BranchReferenceFormat().initialize(checkout,
535
 
            target_branch=source)
 
501
        bzrlib.branch.BranchReferenceFormat().initialize(checkout, source)
536
502
        return checkout.create_workingtree()
537
503
 
538
504
 
629
595
        result2 = self.run_bzr("status -SV -r 0..")[0]
630
596
        self.assertEquals(result2, result)
631
597
 
632
 
    def assertStatusContains(self, pattern, short=False):
 
598
    def assertStatusContains(self, pattern):
633
599
        """Run status, and assert it contains the given pattern"""
634
 
        if short:
635
 
            result = self.run_bzr("status --short")[0]
636
 
        else:
637
 
            result = self.run_bzr("status")[0]
 
600
        result = self.run_bzr("status --short")[0]
638
601
        self.assertContainsRe(result, pattern)
639
602
 
640
 
    def test_kind_change_plain(self):
641
 
        tree = self.make_branch_and_tree('.')
642
 
        self.build_tree(['file'])
643
 
        tree.add('file')
644
 
        tree.commit('added file')
645
 
        unlink('file')
646
 
        self.build_tree(['file/'])
647
 
        self.assertStatusContains('kind changed:\n  file \(file => directory\)')
648
 
        tree.rename_one('file', 'directory')
649
 
        self.assertStatusContains('renamed:\n  file/ => directory/\n' \
650
 
                                  'modified:\n  directory/\n')
651
 
        rmdir('directory')
652
 
        self.assertStatusContains('removed:\n  file\n')
653
 
 
654
603
    def test_kind_change_short(self):
655
604
        tree = self.make_branch_and_tree('.')
656
605
        self.build_tree(['file'])
658
607
        tree.commit('added file')
659
608
        unlink('file')
660
609
        self.build_tree(['file/'])
661
 
        self.assertStatusContains('K  file => file/',
662
 
                                   short=True)
 
610
        self.assertStatusContains('K  file => file/')
663
611
        tree.rename_one('file', 'directory')
664
 
        self.assertStatusContains('RK  file => directory/',
665
 
                                   short=True)
 
612
        self.assertStatusContains('RK  file => directory/')
666
613
        rmdir('directory')
667
 
        self.assertStatusContains('RD  file => directory',
668
 
                                   short=True)
 
614
        self.assertStatusContains('RD  file => directory')
669
615
 
670
616
    def test_status_illegal_revision_specifiers(self):
671
617
        out, err = self.run_bzr('status -r 1..23..123', retcode=3)
710
656
        self.stdout = sys.stdout
711
657
 
712
658
    def tearDown(self):
713
 
        osutils._cached_user_encoding = self.user_encoding
 
659
        bzrlib.user_encoding = self.user_encoding
714
660
        sys.stdout = self.stdout
715
661
        TestCaseWithTransport.tearDown(self)
716
662