summaryrefslogtreecommitdiff
path: root/git/test/db/pygit2
diff options
context:
space:
mode:
authorSebastian Thiel <byronimo@gmail.com>2011-07-08 10:28:17 +0200
committerSebastian Thiel <byronimo@gmail.com>2011-07-08 10:28:17 +0200
commit16a13276f26e2b4b0cad35c66a527bb8d128d587 (patch)
tree024ce184c93631698439623dc410c6701a1c971b /git/test/db/pygit2
parent023dc1244c02d415bb964eeb0b51b257523897df (diff)
downloadgitpython-16a13276f26e2b4b0cad35c66a527bb8d128d587.tar.gz
Added basic frame for pygit2 - it just needs some basic methods to be implemented now - depending on the performance, it might actually receive some more work
Diffstat (limited to 'git/test/db/pygit2')
-rw-r--r--git/test/db/pygit2/__init__.py4
-rw-r--r--git/test/db/pygit2/lib.py23
-rw-r--r--git/test/db/pygit2/test_base.py32
3 files changed, 59 insertions, 0 deletions
diff --git a/git/test/db/pygit2/__init__.py b/git/test/db/pygit2/__init__.py
new file mode 100644
index 00000000..8a681e42
--- /dev/null
+++ b/git/test/db/pygit2/__init__.py
@@ -0,0 +1,4 @@
+# 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
diff --git a/git/test/db/pygit2/lib.py b/git/test/db/pygit2/lib.py
new file mode 100644
index 00000000..356df9dc
--- /dev/null
+++ b/git/test/db/pygit2/lib.py
@@ -0,0 +1,23 @@
+"""pygit2 specific utilities, as well as all the default ones"""
+
+from git.test.lib import (
+ InheritedTestMethodsOverrideWrapperMetaClsAutoMixin,
+ needs_module_or_skip
+ )
+
+__all__ = ['needs_pygit2_or_skip', 'Pygit2RequiredMetaMixin']
+
+#{ Decoorators
+
+def needs_pygit2_or_skip(func):
+ """Skip this test if we have no pygit2 - print warning"""
+ return needs_module_or_skip('pygit2')(func)
+
+#}END decorators
+
+#{ MetaClasses
+
+class Pygit2RequiredMetaMixin(InheritedTestMethodsOverrideWrapperMetaClsAutoMixin):
+ decorator = [needs_pygit2_or_skip]
+
+#} END metaclasses
diff --git a/git/test/db/pygit2/test_base.py b/git/test/db/pygit2/test_base.py
new file mode 100644
index 00000000..246a1643
--- /dev/null
+++ b/git/test/db/pygit2/test_base.py
@@ -0,0 +1,32 @@
+# 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 lib import *
+from git.test.lib import TestBase, with_rw_repo
+from git.test.db.base import RepoBase
+
+
+
+try:
+ import pygit2
+except ImportError:
+ # om this case, all other pygit2 tests will be skipped
+ # Need to properly initialize the class though, otherwise it would fail
+ from git.db.complex import PureCompatibilityGitDB as Pygit2DB
+else:
+ # now we know pygit2 is available, to do futher imports
+ from git.db.pygit2.complex import Pygit2CompatibilityGitDB as Pygit2DB
+
+#END handle imports
+
+class TestPyGit2DBBase(RepoBase):
+ __metaclass__ = Pygit2RequiredMetaMixin
+ RepoCls = Pygit2DB
+
+ @needs_pygit2_or_skip
+ @with_rw_repo('HEAD', bare=False)
+ def test_basics(self, rw_repo):
+ db = Pygit2DB(rw_repo.working_tree_dir)
+
+