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

Add locking in the test_commit_kind_changes test.

Show diffs side-by-side

added added

removed removed

Lines of Context:
554
554
        timestamp_1ms = round(timestamp, 3)
555
555
        self.assertEqual(timestamp_1ms, timestamp)
556
556
 
 
557
    def assertBasisTreeKind(self, kind, tree, file_id):
 
558
        basis = tree.basis_tree()
 
559
        basis.lock_read()
 
560
        try:
 
561
            self.assertEqual(kind, basis.kind(file_id))
 
562
        finally:
 
563
            basis.unlock()
 
564
 
557
565
    def test_commit_kind_changes(self):
558
566
        if not osutils.has_symlinks():
559
567
            raise tests.TestSkipped('Test requires symlink support')
561
569
        os.symlink('target', 'name')
562
570
        tree.add('name', 'a-file-id')
563
571
        tree.commit('Added a symlink')
564
 
        self.assertEqual('symlink', tree.basis_tree().kind('a-file-id'))
 
572
        self.assertBasisTreeKind('symlink', tree, 'a-file-id')
565
573
 
566
574
        os.unlink('name')
567
575
        self.build_tree(['name'])
568
576
        tree.commit('Changed symlink to file')
569
 
        self.assertEqual('file', tree.basis_tree().kind('a-file-id'))
 
577
        self.assertBasisTreeKind('file', tree, 'a-file-id')
570
578
 
571
579
        os.unlink('name')
572
580
        os.symlink('target', 'name')
573
581
        tree.commit('file to symlink')
574
 
        self.assertEqual('symlink', tree.basis_tree().kind('a-file-id'))
 
582
        self.assertBasisTreeKind('symlink', tree, 'a-file-id')
575
583
 
576
584
        os.unlink('name')
577
585
        os.mkdir('name')
578
586
        tree.commit('symlink to directory')
579
 
        self.assertEqual('directory', tree.basis_tree().kind('a-file-id'))
 
587
        self.assertBasisTreeKind('directory', tree, 'a-file-id')
580
588
 
581
589
        os.rmdir('name')
582
590
        os.symlink('target', 'name')
583
591
        tree.commit('directory to symlink')
584
 
        self.assertEqual('symlink', tree.basis_tree().kind('a-file-id'))
 
592
        self.assertBasisTreeKind('symlink', tree, 'a-file-id')
585
593
 
586
594
        # prepare for directory <-> file tests
587
595
        os.unlink('name')
588
596
        os.mkdir('name')
589
597
        tree.commit('symlink to directory')
590
 
        self.assertEqual('directory', tree.basis_tree().kind('a-file-id'))
 
598
        self.assertBasisTreeKind('directory', tree, 'a-file-id')
591
599
 
592
600
        os.rmdir('name')
593
601
        self.build_tree(['name'])
594
602
        tree.commit('Changed directory to file')
595
 
        self.assertEqual('file', tree.basis_tree().kind('a-file-id'))
 
603
        self.assertBasisTreeKind('file', tree, 'a-file-id')
596
604
 
597
605
        os.unlink('name')
598
606
        os.mkdir('name')
599
607
        tree.commit('file to directory')
600
 
        self.assertEqual('directory', tree.basis_tree().kind('a-file-id'))
 
608
        self.assertBasisTreeKind('directory', tree, 'a-file-id')
601
609
 
602
610
    def test_commit_unversioned_specified(self):
603
611
        """Commit should raise if specified files isn't in basis or worktree"""