/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 breezy/tests/test_workingtree_4.py

  • Committer: Jelmer Vernooij
  • Date: 2018-02-18 15:21:06 UTC
  • mto: This revision was merged to the branch mainline in revision 6928.
  • Revision ID: jelmer@jelmer.uk-20180218152106-m8bmfurzlspweyu4
Yet more bees.

Show diffs side-by-side

added added

removed removed

Lines of Context:
501
501
    def test_id2path(self):
502
502
        tree = self.make_workingtree('tree')
503
503
        self.build_tree(['tree/a', 'tree/b'])
504
 
        tree.add(['a'], ['a-id'])
505
 
        self.assertEqual(u'a', tree.id2path('a-id'))
 
504
        tree.add(['a'], [b'a-id'])
 
505
        self.assertEqual(u'a', tree.id2path(b'a-id'))
506
506
        self.assertRaises(errors.NoSuchId, tree.id2path, 'a')
507
507
        tree.commit('a')
508
 
        tree.add(['b'], ['b-id'])
 
508
        tree.add(['b'], [b'b-id'])
509
509
 
510
510
        try:
511
511
            new_path = u'b\u03bcrry'
514
514
            # support running the test on non-unicode platforms
515
515
            new_path = 'c'
516
516
            tree.rename_one('a', new_path)
517
 
        self.assertEqual(new_path, tree.id2path('a-id'))
 
517
        self.assertEqual(new_path, tree.id2path(b'a-id'))
518
518
        tree.commit(u'b\xb5rry')
519
519
        tree.unversion([new_path])
520
 
        self.assertRaises(errors.NoSuchId, tree.id2path, 'a-id')
521
 
        self.assertEqual('b', tree.id2path('b-id'))
522
 
        self.assertRaises(errors.NoSuchId, tree.id2path, 'c-id')
 
520
        self.assertRaises(errors.NoSuchId, tree.id2path, b'a-id')
 
521
        self.assertEqual('b', tree.id2path(b'b-id'))
 
522
        self.assertRaises(errors.NoSuchId, tree.id2path, b'c-id')
523
523
 
524
524
    def test_unique_root_id_per_tree(self):
525
525
        # each time you initialize a new tree, it gets a different root id
545
545
            finally:
546
546
                wt.unlock()
547
547
        wt = self.make_workingtree('tree')
548
 
        wt.set_root_id('TREE-ROOTID')
 
548
        wt.set_root_id(b'TREE-ROOTID')
549
549
        validate()
550
550
        wt.commit('somenthing')
551
551
        validate()
552
552
        # now switch and commit again
553
 
        wt.set_root_id('tree-rootid')
 
553
        wt.set_root_id(b'tree-rootid')
554
554
        validate()
555
555
        wt.commit('again')
556
556
        validate()
570
570
        self.assertFalse(tree.supports_tree_reference())
571
571
        self.build_tree(['dir/'])
572
572
        # for testing easily.
573
 
        tree.set_root_id('root')
574
 
        tree.add(['dir'], ['dir-id'])
 
573
        tree.set_root_id(b'root')
 
574
        tree.add(['dir'], [b'dir-id'])
575
575
        subtree = self.make_branch_and_tree('dir')
576
576
        # the most primitive operation: kind
577
577
        self.assertEqual('directory', tree.kind('dir'))
637
637
                         'versioned2/unversioned/b/',
638
638
                        ])
639
639
        tree.add(['versioned', 'versioned2', 'versioned2/a'])
640
 
        tree.commit('one', rev_id='rev-1')
 
640
        tree.commit('one', rev_id=b'rev-1')
641
641
        # Trap osutils._walkdirs_utf8 to spy on what dirs have been accessed.
642
642
        returned = []
643
643
        def walkdirs_spy(*args, **kwargs):
668
668
            paths list contains all unversioned entries only.
669
669
        """
670
670
        tree = self.make_branch_and_tree('tree')
671
 
        self.build_tree_contents([('tree/bar', '')])
672
 
        tree.add(['bar'], ['bar-id'])
 
671
        self.build_tree_contents([('tree/bar', b'')])
 
672
        tree.add(['bar'], [b'bar-id'])
673
673
        tree.lock_read()
674
674
        self.addCleanup(tree.unlock)
675
675
        tree_iter_changes = lambda files: [
684
684
        """Unversioned non-ascii paths should be reported as unicode"""
685
685
        self.requireFeature(features.UnicodeFilenameFeature)
686
686
        tree = self.make_branch_and_tree('.')
687
 
        self.build_tree_contents([('f', '')])
688
 
        tree.add(['f'], ['f-id'])
 
687
        self.build_tree_contents([('f', b'')])
 
688
        tree.add(['f'], [b'f-id'])
689
689
        def tree_iter_changes(tree, files):
690
690
            return list(tree.iter_changes(tree.basis_tree(),
691
691
                specific_files=files, require_versioned=True))
699
699
        tree = self.make_branch_and_tree('.')
700
700
        tree.lock_write()
701
701
        self.addCleanup(tree.unlock)
702
 
        self.build_tree_contents([('foo', 'a bit of content for foo\n')])
703
 
        tree.add(['foo'], ['foo-id'])
 
702
        self.build_tree_contents([('foo', b'a bit of content for foo\n')])
 
703
        tree.add(['foo'], [b'foo-id'])
704
704
        tree.current_dirstate()._cutoff_time = time.time() + 60
705
705
        return tree
706
706
 
735
735
    def test_observed_sha1_new_file(self):
736
736
        tree = self.make_branch_and_tree('.')
737
737
        self.build_tree(['foo'])
738
 
        tree.add(['foo'], ['foo-id'])
 
738
        tree.add(['foo'], [b'foo-id'])
739
739
        tree.lock_read()
740
740
        try:
741
741
            current_sha1 = tree._get_entry(path="foo")[1][0][1]
815
815
        tree = self.create_wt4()
816
816
        tree.lock_write()
817
817
        self.addCleanup(tree.unlock)
818
 
        tree.add(['dir', 'dir/file'], ['dir-id', 'file-id'])
 
818
        tree.add(['dir', 'dir/file'], [b'dir-id', b'file-id'])
819
819
        first_revision_id = tree.commit('init')
820
820
 
821
821
        root_id = tree.path2id('')
823
823
        state._read_dirblocks_if_needed()
824
824
        self.assertEqual([
825
825
            ('', [(('', '', root_id), ['d', 'd'])]),
826
 
            ('', [(('', 'dir', 'dir-id'), ['d', 'd'])]),
827
 
            ('dir', [(('dir', 'file', 'file-id'), ['f', 'f'])]),
 
826
            ('', [(('', 'dir', b'dir-id'), ['d', 'd'])]),
 
827
            ('dir', [(('dir', 'file', b'file-id'), ['f', 'f'])]),
828
828
        ],  self.get_simple_dirblocks(state))
829
829
 
830
830
        tree.remove(['dir/file'])
831
831
        self.assertEqual([
832
832
            ('', [(('', '', root_id), ['d', 'd'])]),
833
 
            ('', [(('', 'dir', 'dir-id'), ['d', 'd'])]),
834
 
            ('dir', [(('dir', 'file', 'file-id'), ['a', 'f'])]),
 
833
            ('', [(('', 'dir', b'dir-id'), ['d', 'd'])]),
 
834
            ('dir', [(('dir', 'file', b'file-id'), ['a', 'f'])]),
835
835
        ],  self.get_simple_dirblocks(state))
836
836
        # Make sure the removal is written to disk
837
837
        tree.flush()
838
838
 
839
839
        # self.assertRaises(Exception, tree.update_basis_by_delta,
840
 
        new_dir = inventory.InventoryDirectory('dir-id', 'new-dir', root_id)
841
 
        new_dir.revision = 'new-revision-id'
842
 
        new_file = inventory.InventoryFile('file-id', 'new-file', root_id)
843
 
        new_file.revision = 'new-revision-id'
 
840
        new_dir = inventory.InventoryDirectory(b'dir-id', 'new-dir', root_id)
 
841
        new_dir.revision = b'new-revision-id'
 
842
        new_file = inventory.InventoryFile(b'file-id', 'new-file', root_id)
 
843
        new_file.revision = b'new-revision-id'
844
844
        self.assertRaises(errors.InconsistentDelta,
845
 
            tree.update_basis_by_delta, 'new-revision-id',
846
 
            [('dir', 'new-dir', 'dir-id', new_dir),
847
 
             ('dir/file', 'new-dir/new-file', 'file-id', new_file),
 
845
            tree.update_basis_by_delta, b'new-revision-id',
 
846
            [('dir', 'new-dir', b'dir-id', new_dir),
 
847
             ('dir/file', 'new-dir/new-file', b'file-id', new_file),
848
848
            ])
849
849
        del state
850
850
 
856
856
        state._read_dirblocks_if_needed()
857
857
        self.assertEqual([
858
858
            ('', [(('', '', root_id), ['d', 'd'])]),
859
 
            ('', [(('', 'dir', 'dir-id'), ['d', 'd'])]),
860
 
            ('dir', [(('dir', 'file', 'file-id'), ['a', 'f'])]),
 
859
            ('', [(('', 'dir', b'dir-id'), ['d', 'd'])]),
 
860
            ('dir', [(('dir', 'file', b'file-id'), ['a', 'f'])]),
861
861
        ],  self.get_simple_dirblocks(state))
862
862
 
863
863
 
867
867
        """Unversioning the root of a subtree unversions the entire subtree."""
868
868
        tree = self.make_branch_and_tree('.')
869
869
        self.build_tree(['a/', 'a/b', 'c/'])
870
 
        tree.add(['a', 'a/b', 'c'], ['a-id', 'b-id', 'c-id'])
 
870
        tree.add(['a', 'a/b', 'c'], [b'a-id', b'b-id', b'c-id'])
871
871
        # within a lock unversion should take effect
872
872
        tree.lock_write()
873
873
        self.addCleanup(tree.unlock)