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

  • Committer: Vincent Ladeuil
  • Date: 2009-04-16 14:13:57 UTC
  • mto: (4331.1.1 integration)
  • mto: This revision was merged to the branch mainline in revision 4332.
  • Revision ID: v.ladeuil+lp@free.fr-20090416141357-dowo6huqi1232fgm
Far too many modifications for a single commit, need to restart.

* bzrlib/tests/workingtree_implementations/test_parents.py:
(TestSetParents.test_unicode_symlink): Add more checks for
involved trees.

* bzrlib/tests/tree_implementations/test_get_symlink_target.py:
(TestGetSymlinkTarget.test_get_unicode_symlink_target): Bah, no
need to test unicode file-ids here.

* bzrlib/tests/test_transform.py:
(TestBuildTree.test_case_insensitive_build_tree_inventory): Fix
the test condition for good.

* bzrlib/tests/test_shelf.py:
Fix imports.
(TestPrepareShelf._test_shelve_symlink_target_change): Factored
out.
(TestPrepareShelf.test_shelve_symlink_target_change)
(TestPrepareShelf.test_shelve_unicode_symlink_target_change): Also
test unicode symlinks.

* bzrlib/tests/test_bundle.py:
(BundleTester._test_symlink_bundle): Factored out.
(BundleTester.test_symlink_bundle,
BundleTester.test_unicode_symlink_bundle): Also test unicode
symlinks.

* bzrlib/tests/test__dirstate_helpers.py:
Fix some imports.
(load_tests): Start parametrizing against DirReaders.

* bzrlib/merge_directive.py:
(MergeDirectiveFormatRegistry): Add Aaron explanation for the
double registration.

* bzrlib/hashcache.py:
(HashCache.get_sha1): Instrumented for pronto.

* bzrlib/revisiontree.py:
(RevisionTree.get_symlink_target): Add comment.

* bzrlib/osutils.py:
(_walkdirs_utf8, UnicodeDirReader.read_dir): Intrumented for pronto.

* bzrlib/dirstate.py:
(DirState._read_link): Intrumented for pronto.

* bzrlib/tests/per_repository/test_commit_builder.py:
(TestCommitBuilder._add_commit_change_check_changed): Add a
file_id optional parameter.
(TestCommitBuilder._test_last_mod_rev_after_content_link_changes_ric):
Factored out.
(TestCommitBuilder.test_last_modified_rev_after_content_link_changes_ric,
TestCommitBuilder.test_last_modified_rev_after_content_unicode_link_changes_ric):
Also test unicode symlinks.

* bzrlib/tests/branch_implementations/test_sprout.py:
(TestSprout.test_sprout_with_unicode_symlink): Use an unicode name
for the link too. Add more checks for involved trees.

Show diffs side-by-side

added added

removed removed

Lines of Context:
525
525
        resolve_conflicts(replace)
526
526
        replace.apply()
527
527
 
 
528
    # unicode symlinks ?
528
529
    def test_symlinks(self):
529
530
        self.requireFeature(SymlinkFeature)
530
 
        transform,root = self.get_transform()
 
531
        transform, root = self.get_transform()
531
532
        oz_id = transform.new_directory('oz', root, 'oz-id')
532
533
        wizard = transform.new_symlink('wizard', oz_id, 'wizard-target',
533
534
                                       'wizard-id')
1841
1842
        self.assertTrue(source.is_executable('file1-id'))
1842
1843
 
1843
1844
    def test_case_insensitive_build_tree_inventory(self):
1844
 
        if (not tests.CaseInsensitiveFilesystemFeature.available()
1845
 
            or not tests.CaseInsCasePresFilenameFeature.available()):
 
1845
        if (tests.CaseInsensitiveFilesystemFeature.available()
 
1846
            or tests.CaseInsCasePresFilenameFeature.available()):
1846
1847
            raise tests.UnavailableFeature('Fully case sensitive filesystem')
1847
1848
        source = self.make_branch_and_tree('source')
1848
1849
        self.build_tree(['source/file', 'source/FILE'])
2688
2689
        self.assertSerializesTo(self.symlink_creation_records(), tt)
2689
2690
 
2690
2691
    def test_deserialize_symlink_creation(self):
 
2692
        self.requireFeature(tests.SymlinkFeature)
2691
2693
        tt = self.get_preview()
2692
2694
        tt.deserialize(iter(self.symlink_creation_records()))
2693
 
        # XXX readlink should be returning unicode, not utf-8
2694
 
        foo_content = os.readlink(tt._limbo_name('new-1')).decode('utf-8')
 
2695
        abspath = tt._limbo_name('new-1')
 
2696
        # FIXME: should use a safe readlink impl.
 
2697
        foo_content = os.readlink(abspath).decode(osutils._fs_enc)
2695
2698
        self.assertEqual(u'bar\u1234', foo_content)
2696
2699
 
2697
2700
    def make_destruction_preview(self):