diff options
author | Sebastian Thiel <byronimo@gmail.com> | 2015-12-14 19:29:29 +0100 |
---|---|---|
committer | Sebastian Thiel <byronimo@gmail.com> | 2015-12-14 19:29:29 +0100 |
commit | b295c13140f48e6a7125b4e4baf0a0ca03e1e393 (patch) | |
tree | 4a7749c849aaba2afff0be47061e301e7a779441 /git/test/test_tree.py | |
parent | 4f1110bd9b00cb8c1ea07c3aafe9cde89b3dbf9b (diff) | |
download | gitpython-b295c13140f48e6a7125b4e4baf0a0ca03e1e393.tar.gz |
fix(tree): remove Tree.cache - use IndexFile.write_tree() instead
For more information, see CHANGES.rst
Fixes #369
Diffstat (limited to 'git/test/test_tree.py')
-rw-r--r-- | git/test/test_tree.py | 85 |
1 files changed, 0 insertions, 85 deletions
diff --git a/git/test/test_tree.py b/git/test/test_tree.py index a7cdd9c6..f9282411 100644 --- a/git/test/test_tree.py +++ b/git/test/test_tree.py @@ -39,96 +39,11 @@ class TestTree(TestBase): testtree._deserialize(stream) assert testtree._cache == orig_cache - # TEST CACHE MUTATOR - mod = testtree.cache - self.failUnlessRaises(ValueError, mod.add, "invalid sha", 0, "name") - self.failUnlessRaises(ValueError, mod.add, Tree.NULL_HEX_SHA, 0, "invalid mode") - self.failUnlessRaises(ValueError, mod.add, Tree.NULL_HEX_SHA, tree.mode, "invalid/name") - - # add new item - name = "fake_dir" - mod.add(testtree.NULL_HEX_SHA, tree.mode, name) - assert name in testtree - - # its available in the tree immediately - assert isinstance(testtree[name], Tree) - - # adding it again will not cause multiple of them to be presents - cur_count = len(testtree) - mod.add(testtree.NULL_HEX_SHA, tree.mode, name) - assert len(testtree) == cur_count - - # fails with a different sha - name exists - hexsha = "1" * 40 - self.failUnlessRaises(ValueError, mod.add, hexsha, tree.mode, name) - - # force it - replace existing one - mod.add(hexsha, tree.mode, name, force=True) - assert testtree[name].hexsha == hexsha - assert len(testtree) == cur_count - - # unchecked addition always works, even with invalid items - invalid_name = "hi/there" - mod.add_unchecked(hexsha, 0, invalid_name) - assert len(testtree) == cur_count + 1 - - del(mod[invalid_name]) - assert len(testtree) == cur_count - # del again, its fine - del(mod[invalid_name]) - - # have added one item, we are done - mod.set_done() - mod.set_done() # multiple times are okay - - # serialize, its different now - stream = BytesIO() - testtree._serialize(stream) - stream.seek(0) - assert stream.getvalue() != orig_data - # replaces cache, but we make sure of it del(testtree._cache) testtree._deserialize(stream) - assert name in testtree - assert invalid_name not in testtree # END for each item in tree - def test_tree_modifier_ordering(self): - hexsha = '6c1faef799095f3990e9970bc2cb10aa0221cf9c' - roottree = self.rorepo.tree(hexsha) - blob_mode = Tree.blob_id << 12 - tree_mode = Tree.tree_id << 12 - - files_in_desired_order = [ - (blob_mode, '_.htaccess'), - (tree_mode, 'fileadmin'), - (blob_mode, 'index.php'), - (tree_mode, 'typo3'), - (tree_mode, 'typo3_src-6.2.12'), - (tree_mode, 'typo3_src'), - (blob_mode, 'typo3cms'), - (tree_mode, 'typo3conf'), - (tree_mode, 'uploads'), - ] - mod = roottree.cache - for (file_mode, file_name) in files_in_desired_order: - mod.add(hexsha, file_mode, file_name) - # end for each file - - def file_names_in_order(): - return [t[1] for t in files_in_desired_order] - - def names_in_mod_cache(): - a = [t[2] for t in mod._cache] - here = file_names_in_order() - return [e for e in a if e in here] - - assert names_in_mod_cache() == file_names_in_order(), 'add() keeps order' - - mod.set_done() - assert names_in_mod_cache() == file_names_in_order(), 'set_done() performs git-sorting' - def test_traverse(self): root = self.rorepo.tree('0.1.6') num_recursive = 0 |