aboutsummaryrefslogtreecommitdiff
path: root/git/test/db/py/test_loose.py
diff options
context:
space:
mode:
authorSebastian Thiel <byronimo@gmail.com>2011-06-07 21:36:42 +0200
committerSebastian Thiel <byronimo@gmail.com>2011-06-07 21:36:42 +0200
commit58a930a632c867b65b9a3802e2f4190cf32e33ee (patch)
tree95b1311a3a4bfcdf4c2dba66f360e6985184013e /git/test/db/py/test_loose.py
parenta98e0af511b728030c12bf8633b077866bb74e47 (diff)
parentf6897c78be5a5530129df50742cb6cabfb8609c9 (diff)
downloadGitPython-58a930a632c867b65b9a3802e2f4190cf32e33ee.tar.gz
GitPython-58a930a632c867b65b9a3802e2f4190cf32e33ee.zip
Merge branch 'gitdbmerger'
Diffstat (limited to 'git/test/db/py/test_loose.py')
-rw-r--r--git/test/db/py/test_loose.py36
1 files changed, 36 insertions, 0 deletions
diff --git a/git/test/db/py/test_loose.py b/git/test/db/py/test_loose.py
new file mode 100644
index 00000000..0c9b4831
--- /dev/null
+++ b/git/test/db/py/test_loose.py
@@ -0,0 +1,36 @@
+# Copyright (C) 2010, 2011 Sebastian Thiel (byronimo@gmail.com) and contributors
+#
+# This module is part of GitDB and is released under
+# the New BSD License: http://www.opensource.org/licenses/bsd-license.php
+from git.test.db.lib import TestDBBase, with_rw_directory
+from git.db.py.loose import PureLooseObjectODB
+from git.exc import BadObject
+from git.util import bin_to_hex
+
+class TestLooseDB(TestDBBase):
+
+ needs_ro_repo = False
+
+ @with_rw_directory
+ def test_basics(self, path):
+ ldb = PureLooseObjectODB(path)
+
+ # write data
+ self._assert_object_writing(ldb)
+ self._assert_object_writing_async(ldb)
+
+ # verify sha iteration and size
+ shas = list(ldb.sha_iter())
+ assert shas and len(shas[0]) == 20
+
+ assert len(shas) == ldb.size()
+
+ # verify find short object
+ long_sha = bin_to_hex(shas[-1])
+ for short_sha in (long_sha[:20], long_sha[:5]):
+ assert bin_to_hex(ldb.partial_to_complete_sha_hex(short_sha)) == long_sha
+ # END for each sha
+
+ self.failUnlessRaises(BadObject, ldb.partial_to_complete_sha_hex, '0000')
+ # raises if no object could be foudn
+