summaryrefslogtreecommitdiff
path: root/test/git/test_commit.py
diff options
context:
space:
mode:
authorSebastian Thiel <byronimo@gmail.com>2009-10-14 17:24:15 +0200
committerSebastian Thiel <byronimo@gmail.com>2009-10-14 17:24:15 +0200
commit6eeae8b24135b4de05f6d725b009c287577f053d (patch)
tree017dd833346aa96c4cb4177a4352e3de5ff176bc /test/git/test_commit.py
parentead94f267065bb55303f79a0a6df477810b3c68d (diff)
downloadgitpython-6eeae8b24135b4de05f6d725b009c287577f053d.tar.gz
test: Added time-consuming test which could also be a benchmark in fact - currently it cause hundreds of command invocations which is slow
Fixed issue with trees not properly initialized with their default mode _set_cache_: some objects checked whether the attribute was within their __slots__ although it should have been accessed through its class
Diffstat (limited to 'test/git/test_commit.py')
-rw-r--r--test/git/test_commit.py15
1 files changed, 15 insertions, 0 deletions
diff --git a/test/git/test_commit.py b/test/git/test_commit.py
index 00af6b52..fd8fc51e 100644
--- a/test/git/test_commit.py
+++ b/test/git/test_commit.py
@@ -229,3 +229,18 @@ class TestCommit(object):
commit3 = Commit(self.repo, id='zyx')
assert_equal(commit1, commit2)
assert_not_equal(commit2, commit3)
+
+ def test_iteration(self):
+ root = self.repo.tree()
+ head = self.repo.active_branch
+ num_objs = 0
+
+ # find the first commit containing the given path - always do a full
+ # iteration ( restricted to the path in question ), but in fact it should
+ # return quite a lot of commits, we just take one and hence abort the operation
+ for obj in root.traverse():
+ num_objs += 1
+ commit = Commit.iter_items( self.repo, head, obj.path ).next()
+ assert obj in commit.tree.traverse()
+ # END for each object
+